Author: arminw
Date: Thu Jan  4 19:13:13 2007
New Revision: 492888

URL: http://svn.apache.org/viewvc?view=rev&rev=492888
Log:
update notes

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/release-notes.txt

Modified: db/ojb/branches/OJB_1_0_RELEASE/release-notes.txt
URL: 
http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/release-notes.txt?view=diff&rev=492888&r1=492887&r2=492888
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/release-notes.txt (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/release-notes.txt Thu Jan  4 19:13:13 2007
@@ -20,22 +20,36 @@
 NEW FEATURES:
 * [OJB-105] - Pluggable "null" definition for persistent fields.
   Restriction: no consistency checking between PK-field and fields used for 
referring the PK.
-  FIXED: Auto-Detection for insert/update objects checks to avoid DB queries 
the PK fields of the object.
-  If at least one PK field is 'NULL' or if primitive field '0', OJB assume the 
object is new and
-  needs insert. Now this behavior is pluggable - see 'JDBC-types' docs section
+  FIXED: Auto-Detection for insert/update objects checks to avoid DB queries 
the PK fields of
+  the object. If at least one PK field is 'NULL' or if primitive field '0', 
OJB assume the
+  object is new and needs insert. Now this behavior is pluggable - see 
'JDBC-types' docs section
 * [OJB-73] - generate onDelete="cascade" for foreign-key element if 
auto-delete is set to true
   for collection descriptor
-* [OJB-107] - Support for Clob/Blob field types in persistence capable objects
-* [OJB-112] - Tool for forward engineering from repository.xml
+* [OJB-107] - Support for Clob/Blob field types in persistence capable 
objects. For more details
+  about handling LOB's with OJB, please see Howto "Using LOB Types" in docs.
+* [OJB-112] - Tool for forward engineering from repository.xml (creates .xml 
file compatible
+  with DDLUtils and Torque)
 * Better support for attributes containing expressions ie. sum(0.9 * price * 
stock).
   Restriction: All attributes contained in the expressions have to belong to 
the same table ! 
 * Add new CGLib based PersistentField implementation. It requires JavaBeans 
compliant
-  getter/setter. Under specific conditions (older JVM version) it could up to 
three times faster
-  than the direct field access via reflection.
-* New support for quoting table and column names
-  the ojb quoting character is '. this character is replaced with the platform
-  specific character when generating the sql. 
-  'myTable' will be converted to "myTable", [myTable] etc. depending on 
Platform#getQuotedName
+  getter/setter. Under specific conditions (older JVM version) it could up to 
three times
+  faster than the direct field access via reflection.
+* New support for quoting table and column names the ojb quoting character is 
'. This character
+  is replaced with the platform specific character when generating the sql. 
For example
+  'myTable' will be converted to "myTable", [myTable] etc. depending on 
Platform#getQuotedName.
+* Support for sequence manager shortcut names added. Instead of the full class 
name of the
+  sequence manager implementation now it's possible to use shortcut names for 
the shipped
+  implementations: "memory", "hilo", "seqhilo", "identity", "sequence", 
"procedure", "msguid"
+  More details see 'sequence-manager' documentation.
+* Support for per field-descriptor sequence generation added. Now it's 
possible to use a
+  specific sequence manager implemenation for each "autoincrement" 
field-descriptor:
+    <field-descriptor name="id" column="ID" jdbc-type="INTEGER"
+             primarykey="true" autoincrement="true"
+    >
+       <sequence-manager className="memory"/>
+    </field-descriptor>
+    Enable this mode by setting attribute seq.perField="true" in 
sequence-descriptor within the
+    jdbc-connection-descriptor. More details see 'sequence-manager' 
documentation.
 * Relationships based on non primarykey fields. These fields are defined in 
the new
   attribute "target-field-ref" of inverse-foreignkey and foreignkey in 
collection- and
   referenceDescriptor. If the target-field-ref is missing the primary key of 
the referenced
@@ -75,47 +89,41 @@
          <inverse-foreignkey field-ref="productGroupName" 
target-field-ref="groupName"/>
       </collection-descriptor>
    </class-descriptor>
-* Support for sequence manager shortcut names added. Instead of the full class 
name of the
-  sequence manager implementation now it's possible to use shortcut names for 
the shipped
-  implementations: "memory", "hilo", "seqhilo", "identity", "sequence", 
"procedure", "msguid"
-  More details see 'sequence-manager' documentation.
-* Support for per field-descriptor sequence generation added. Now it's 
possible to use a
-  specific sequence manager implemenation for each "autoincrement" 
field-descriptor:
-    <field-descriptor name="id" column="ID" jdbc-type="INTEGER"
-             primarykey="true" autoincrement="true"
-    >
-       <sequence-manager className="memory"/>
-    </field-descriptor>
-    Enable this mode by setting attribute seq.perField="true" in 
sequence-descriptor within the
-    jdbc-connection-descriptor. More details see 'sequence-manager' 
documentation.
+
 
 IMPROVEMENT:
 * [OJB-88] - Documentation: Adapt LOB's howto, add docs for CLOB
 * [OJB-100] - Allow the specification of names for database foreignkeys and 
indices
 * [OJB-101] - Add support CLOB support in PlatformOracle9iImpl for XAPool 
prepared statements.
 * [OJB-109] - Location of repository.xml
-* [OJB-111] - Add PersistenceBroker leak detection (details see documentation 
and OJB.properties file)
+* [OJB-111] - Add PersistenceBroker leak detection (details see PB-Guide and 
OJB.properties file)
 * [OJB-121] - Criteria add* methods should return "this"
 * [OJB-123] - MySQL support for SequenceManagerStoredProcedureImpl
 
 NOTES:
-* OJB.properties, repository.dtd files changed. Don't forget to replace older 
versions.
+* OJB.properties, repository.dtd files changed (also some default settings 
changed - see CHANGES).
+  Don't forget to replace older versions.
 * Documentation update and improvement: section about using RowReader and 
using a
   specific RowReader on class level, section "performance" reworked, LOB 
content
   howto reworked, FAQ improved, sequence manager section improved
+* Work on the OTM-api is discontinued.
 
 CHANGES:
-* PersistenceBroker interface: new method #serviceLobHelper() added
+* PersistenceBroker interface: add new method #serviceLobHelper()
 * RowReader interface: add new method
   #readValuesFrom(ResultSetAndStatement rs, Map row, FieldDescriptor[] fields)
   (to improve LOB field support)
-* JdbcAccess implementation constructor changed.
+* JdbcAccess implementation class constructor changed.
+* Platform implementation classes constructor changed.
 * ODMG-api implementation, internal used locking interface changed to improve 
performance.
 * Upgraded Torque to version 3.2
 * Rename sequence manager implemenation: SequenceManagerNativeImpl (now 
deprecated)
   to SequenceManagerIdentityImpl
-* Rename sequence manager attributes: 'autoNaming'-->'seq.autoNaming', 
'grabSize'-->'seq.grabSize'.
-  The old attributes still work but declared deprecated.
+* Rename sequence manager mapping attributes: 'autoNaming'-->'seq.autoNaming',
+  'grabSize'-->'seq.grabSize'. The old attributes still work but declared 
deprecated.
+* Some settings in OJB.properties and repository_database.xml are changed (use 
of CGLIB
+  for proxy creation, a in-memory sequence manager is used by default) to 
simplify usage
+  of OJB for new user.
 
 BUG FIXES:
 Please refer to our Bug tracking site 
(https://issues.apache.org/jira/browse/OJB)
@@ -158,10 +166,6 @@
   PBStateListener#beforeClose(PBStateEvent event) is made twice when
   a PB instance was closed in a JTA-tx (for the first time when PB.close() was 
called
   in bean on the PB handle, second time when the JTA-tx completes)
-* otm-api: The OTM API has a known caching issue and should not be considered 
for code used
-  in production environments. The future of the OTM layer will be subject for 
discussion on the
-  OJB developers list, if you are using it - please subscribe to ojb-dev and 
make your voice heard.
-* Oracle9i platform: when using statement batching, there is a 2k limit on 
BLOB + 4k limit on CLOB.
 
 
 
@@ -289,8 +293,8 @@
 
 CHANGES:
 - Refactoring DCollection implementations, remove DListImpl_2 classes (code 
moved to DListImpl)
-- Object2ByteArrFieldConversion: If source object on conversion javaToSQL is 
'null', no longer create an
-  byte array simply return 'null'
+- Object2ByteArrFieldConversion: If source object on conversion javaToSQL is 
'null', no longer
+  create an byte array simply return 'null'
 
 BUG FIXES:
 Please refer to our Bug tracking site 
(http://issues.apache.org/jira/secure/BrowseProject.jspa?id=10700)
@@ -298,10 +302,11 @@
 
 - odmg-api: OJB-7 - Fix critical property setting in OJB.properties file
 - odmg-api: OJB-8 - Fix bug when using cascading delete on empty 1:1 reference
-- odmg-api: Fix bug with named object. On 'unbind' of a named object, if the 
object is a persistence capable
-  object (object with metadata mapping), the object itself will not be 
deleted. All other (serializable)
-  named objects will be deleted on unbind.
-- odmg-api: Fix bug with named objects when using database based Identity 
columns (SequenceManagerNativeImpl)
+- odmg-api: Fix bug with named object. On 'unbind' of a named object, if the 
object is a persistence
+  capable object (object with metadata mapping), the object itself will not be 
deleted. All other
+  (serializable) named objects will be deleted on unbind.
+- odmg-api: Fix bug with named objects when using database based Identity 
columns
+  (SequenceManagerNativeImpl)
 - odmg-api: Fix bug when persisting DCollection instances when using database 
based
   Identity columns (SequenceManagerNativeImpl).
 
@@ -319,7 +324,8 @@
   of the base type class will be instantiated, e.g. a Company class has
   a 1:n reference 'employees' to a base class Employee and class Manager 
extends Employee,
   then 'employees' only contains objects of type Employee even if the real 
type was Manager.
-  See in OJB test suite 
...broker.InheritanceMultipleTableTest#testInheritancedObjectsInCollectionReferences
+  See in OJB test suite
+  
...broker.InheritanceMultipleTableTest#testInheritancedObjectsInCollectionReferences
   Same problem occur when query the base class, then OJB only returns objects 
of base type instead
   the real type.
 - Managed Environment: When run OJB in managed environment and using 
PBStateListener, the call of
@@ -340,28 +346,31 @@
   complete with pre-created Hsqldb databases (based on ojb-blank).
   These archives are also available in the binary download area.
 - Introduce first version of a two-level cache (transactional session cache 
with an application cache
-  handle with copies of cached objects). More detailed information see 'object 
cache' reference guide in docs.
+  handle with copies of cached objects). More detailed information see 'object 
cache' reference guide
+  in docs.
 - All Oracle platforms will now transparently handle java.lang.Character 
fields mapped to
   jdbc-types CHAR or VARCHAR, without any conversion class.
 - Oracle9i plaform now handles CLOB>4k and BLOB>2k when DBCP and/or P6Spy are 
used.
 - Oracle9i plaform can now be used with Oracle10g JDBC-driver. Escape 
processing statements are
   removed and OracleConnection unwrapping have been adjusted to be compatible 
with 10g JDBC.
 - XDoclet module:
-    * Important: generate-table-info now only prevents the generation of a 
table in the database schema,
-      the class-descriptor is unaffacted
-    * The new ojb.class#generate-repository-info attribute prevents the 
generation of field/reference/collection
-      descriptors in the repository as well as the table in the database schema
-      This attribute should be used when using inheritance with 
interfaces/abstract classes
+    * Important: generate-table-info now only prevents the generation of a 
table in the database
+      schema, the class-descriptor is unaffacted
+    * The new ojb.class#generate-repository-info attribute prevents the 
generation of
+      field/reference/collection descriptors in the repository as well as the 
table in the
+      database schema. This attribute should be used when using inheritance 
with interfaces/abstract
+      classes
     * Database foreignkeys are now generated for collections, as well
     * It is possible to prevent the generation of database foreignkeys for 
individual references
       or collections using the database-foreignkey attribute 
(ojb.collection/ojb.reference).
       However this attribute cannot be used to force generation of 
database-foreignkeys
-    * Inheritance with interfaces/abstract classes (i.e. classes without 
table) is now handled properly
-      for types that are referenced by references/collections even if the 
relevant foreignkey
+    * Inheritance with interfaces/abstract classes (i.e. classes without 
table) is now handled
+      properly for types that are referenced by references/collections even if 
the relevant foreignkey
       (reference/1:n collection) or primarykey (m:n collection) is not defined 
in the basetype itself
       but only in the subtypes. The XDoclet module will determine these fields 
and generate virtual
-      field descriptors in the class-descriptor of the basetype (even if 
generate-repository-info=false).
-      Additionally, database foreignkeys are generated if the subtypes map to 
the same table
+      field descriptors in the class-descriptor of the basetype (even if
+      generate-repository-info=false). Additionally, database foreignkeys are 
generated if the
+      subtypes map to the same table
     * Additional attributes for generating documentation in the database 
schema:
         - ojb.class#table-documentation
         - ojb.field#column-documentation
@@ -407,15 +416,16 @@
   to use dynamic proxies with MetadataManager in 'per thread changes' mode but
   without any metadata profile key loaded in the current thread. See note about
   fix in CollectionProxy under "BUG FIXES" below.
-- Minor changes in the repository.dtd. Add element object-cache to metadata 
interface and abstract class
-  declaration in class-descriptor. So replacement of old repository.dtd is 
needed.
+- Minor changes in the repository.dtd. Add element object-cache to metadata 
interface and abstract
+  class declaration in class-descriptor. So replacement of old repository.dtd 
is needed.
 - Remove object-cache declaration from OJB.properties file. Use the 
'object-cache' element in
   repository file (example see repository_database.xml file shipped with OJB) 
to specify the cache
   implementation. More detailed information see caching reference guide in 
docs.
-- Remove redundant ObjectCache implementations (ObjectCacheSoftImpl, 
ObjectCacheUnlimitiedImpl), same
-  behavior is possible with ObjectCacheDefaultImpl.
-- Remove undocumented 'ObjectCacheFilter' (used to filter out whole packages 
or classes from being cached).
-  Filter out packages or classes from being cached is still possible, please 
see 'object cache' reference guide.
+- Remove redundant ObjectCache implementations (ObjectCacheSoftImpl, 
ObjectCacheUnlimitiedImpl),
+  same behavior is possible with ObjectCacheDefaultImpl.
+- Remove undocumented 'ObjectCacheFilter' (used to filter out whole packages 
or classes from
+  being cached). Filter out packages or classes from being cached is still 
possible, please see
+  'object cache' reference guide.
 - !!!In managed enviroments the org.odmg.Transaction#abort() call no longer 
throws an
   TransactionAbortedExceptionOJB, instead OJB does internal cleanup and set 
used
   JTA-tx to setRollbackOnly if possible. Thus the client does no longer get an 
RemoteException.
@@ -425,16 +435,20 @@
   associated class were performed in RowReader instead invoking all fields of 
the table used by
   the mapped classes.
 - Introduce new locking-package in kernel api. Now top-level api like odmg-api 
can use a kernel
-  lock manager to provide locking. Adapt odmg-locking to the new lock 
management and declare old locking stuff
-  in org.apache.ojb.odmg.locking package as deprecated. Add support for 
apache's commons-transaction locking part.
+  lock manager to provide locking. Adapt odmg-locking to the new lock 
management and declare old
+  locking stuff in org.apache.ojb.odmg.locking package as deprecated. Add 
support for apache's
+  commons-transaction locking part.
 - Use of database identity column (SequenceManagerNativeImpl). Move assign of 
PK values from
-  PersistenceBrokerImpl to JdbcAccessImpl#executeInsert. Remove usage of 
SequenceManager#setReferenceFKs,
-  will be handled by OJB in same way as without usage of database identity 
column.
+  PersistenceBrokerImpl to JdbcAccessImpl#executeInsert. Remove usage of
+  SequenceManager#setReferenceFKs, will be handled by OJB in same way as 
without usage of
+  database identity column.
 - odmg-api: Introduced new object reordering implementation (replaces old 
algorithm
   in ObjectEnvelopeTable).
-- odmg-api: Change used 'OqlCollectionClass' in OJB.properties from a DList 
impl to ArrayList impl
-  to improve performance. If you need the additional features of odmg DList 
comment in the DList impl.
-- odmg-api: ** All relations (1:1, 1:n and m:n) need auto-update/delete 
setting 'none' to proper work.**
+- odmg-api: Change used 'OqlCollectionClass' in OJB.properties from a DList 
impl to ArrayList
+  impl to improve performance. If you need the additional features of odmg 
DList comment in
+  the DList impl.
+- odmg-api: ** All relations (1:1, 1:n and m:n) need auto-update/delete 
setting 'none' to
+  proper work.**
 - odmg-api: Cascade delete is now configurable via OJB.properties file and at 
runtime using
   TransactionExt#setCascadingDelete method (cast Transaction instance to 
TransactionExt)
 
@@ -475,25 +489,26 @@
   locked object (e.g. serialized through network) method tx.lock and 
tx.markDirty do not
   replace the already locked object instance by the new one. Now it will do so.
 - odmg-api: In managed environment odmg-api does clenup internal stuff (cache, 
locking) when
-  Synchronization#afterCompletion(int status) was called by the JTA-TxManager 
instead doing all this
-  stuff in #beforeCompletion()
-- odmg-api: Assign FK for 1:1 relations when persistent objects are written to 
DB, instead when objects
-  were locked.
-- odmg-api: Mixing of pessimistic and optimistic locking should be possible. 
Now all lock calls on objects
-  with optimistic locking enabled will be ignored.
-- odmg-api: Fixed: If a user exchange already existing objects in 1:n 
references without changing the size
-  of the collection, the main object will not become dirty and the FK values 
of the exchanged objects
-  will not be updated. This is fixed.
-- odmg-api: Fixed: Creation of m:n relation only works when objects created 
step by step (or use PB-api
-  as workaround), persist a whole object graph seems not to work proper. This 
is fixed.
+  Synchronization#afterCompletion(int status) was called by the JTA-TxManager 
instead doing
+  all this stuff in #beforeCompletion()
+- odmg-api: Assign FK for 1:1 relations when persistent objects are written to 
DB, instead
+  when objects were locked.
+- odmg-api: Mixing of pessimistic and optimistic locking should be possible. 
Now all lock calls
+  on objects with optimistic locking enabled will be ignored.
+- odmg-api: Fixed: If a user exchange already existing objects in 1:n 
references without changing
+  the size of the collection, the main object will not become dirty and the FK 
values of the
+  exchanged objects will not be updated. This is fixed.
+- odmg-api: Fixed: Creation of m:n relation only works when objects created 
step by step (or
+  use PB-api as workaround), persist a whole object graph seems not to work 
proper. This is fixed.
 - odmg-api: Fixed: Mapping classes on multiple joined tables was not supported 
in
-  ODMG-API implementation. This is fixed (!except the known issue when Query 
or refer to a base class).
+  ODMG-API implementation. This is fixed (!except the known issue when Query 
or refer to a
+  base class).
 
 KNOWN ISSUES:
 - Auto-Detection for insert/update objects checks to avoid DB queries the PK 
fields of the object.
   If at least one PK field is 'NULL' or if primitive field '0', OJB assume the 
object is new and
-  needs insert. This will be configurable in next upcoming version. Workaround 
for PB-api: use method
-  PB#store(Object obj, ObjectModification mod) to state update or insert.
+  needs insert. This will be configurable in next upcoming version. Workaround 
for PB-api: use
+  method PB#store(Object obj, ObjectModification mod) to state update or 
insert.
 - Batch handling doesn't work proper with optimistic locking. This will be 
fixed
   in version 1.1
 - Subqueries are not extent aware. see QueryTest#testSubQueryAgainstExtents
@@ -501,7 +516,8 @@
   of the base type class will be instantiated, e.g. a Company class has
   a 1:n reference 'employees' to a base class Employee and class Manager 
extends Employee,
   then 'employees' only contains objects of type Employee even if the real 
type was Manager.
-  See in OJB test suite 
...broker.InheritanceMultipleTableTest#testInheritancedObjectsInCollectionReferences
+  See in OJB test suite
+  
...broker.InheritanceMultipleTableTest#testInheritancedObjectsInCollectionReferences
   Same problem occur when query the base class, then OJB only returns objects 
of base type instead
   the real type.
 - Managed Environment: When run OJB in managed environment and using 
PBStateListener, the call of
@@ -564,7 +580,8 @@
 - fixed issue with CollectionProxy and RemovalAwareCollection
 - RemovalAwareCollection is no longer the default collection-class for 
m:n-relationships
 - ManageableCollection#afterStore is only called if cascadeStoring is 
CASCADE_OBJECT
-- ojb no longer adds groupBy columns to the SELECT-clause, orderBy columns are 
still added because of sapdb
+- ojb no longer adds groupBy columns to the SELECT-clause, orderBy columns are 
still added
+  because of sapdb
 - orderBy columns of the original query are used as joinAttributes in 
count-query
 - ALIAS-prefix again works for report-queries (see 
QueryTest#testReportQueryAlias)
 - odmg-api: Fix problem with TransactionExt#flush() call, always check for
@@ -643,7 +660,8 @@
 - ReportQueries should not be used with columns referencing Classes with 
extents:
 
     ReportQueryByCriteria q = QueryFactory.newReportQuery(ProductGroup.class, 
crit);
-    q.setAttributes(new String[] { "groupName", 
"sum(allArticlesInGroup.stock)", "sum(allArticlesInGroup.price)" });
+    q.setAttributes(
+    new String[] { "groupName", "sum(allArticlesInGroup.stock)", 
"sum(allArticlesInGroup.price)" });
     q.addGroupBy("groupName");
 
     ProductGroup.allArticlesInGroup points to class Article having multiple 
extents.
@@ -712,7 +730,8 @@
 - the indirection handler (for reference proxies), and the list and set proxy 
classes
 can now be configured in the OJB.properties file
 
-- new CollectionProxy interface introduced to allow the ODMG api to make use 
of alternate collection proxy implementations.
+- new CollectionProxy interface introduced to allow the ODMG api to make use 
of alternate
+  collection proxy implementations.
 
 BUG FIXES:
 
@@ -735,7 +754,8 @@
 - ReportQueries should not be used with columns referencing Classes with 
extents:
 
     ReportQueryByCriteria q = QueryFactory.newReportQuery(ProductGroup.class, 
crit);
-    q.setAttributes(new String[] { "groupName", 
"sum(allArticlesInGroup.stock)", "sum(allArticlesInGroup.price)" });
+    q.setAttributes(
+    new String[] { "groupName", "sum(allArticlesInGroup.stock)", 
"sum(allArticlesInGroup.price)" });
     q.addGroupBy("groupName");
 
     ProductGroup.allArticlesInGroup points to class Article having multiple 
extents.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to