================================================================================ Xcalia Core and NAViLIS Xcalia Intermediation Software (c) Xcalia 2001-2008 ================================================================================ 71 rue Desnouettes 75015 Paris - France www.xcalia.com for more information about products : info@xcalia.com for licences, prices, contrats, orders : sales@xcalia.com for partnership with Xcalia : partner@xcalia.com to join Xcalia dev. team : job@xcalia.com to get professional support : support@xcalia.com to attend our expert trainings : training@xcalia.com ================================================================================ 4.4 build #1324 changes from 4.4 build #1323 - Added support for multiple mapping file prefixes 4.4 build #1323 changes from 4.4 build #1322 - SUP-1888: Fixed malformed SQL statement with CompoundIdentity and FilterFieldBahaviour. - SUP-1882: Avoided LiDOObjectNotFoundException when a beforeUpdate rule is executed on a object not yet commited in database. - SUP-1824: Fixed problem on XTE rules that were not executed on commit after a rollback on the same connection. 4.4 build #1322 changes from 4.4 build #1320 - Fixed eager fetching not registering field containing collections in second level cache. - Started support of timestamp mapper. - SUP-1819: Fixed synthetic version with Timestamp. - SUP-1855: Attempt to fix corrupted operations when in cache mode. - SUP-1879: Attempt to fix contention problem due to typing resolution. 4.4 build #1320 changes from 4.4 build #1318 - SUP-1857: Fixed bug in JCATrace message counter. - SUP-1865: Throw an LiDOUserException when the user attempt to read a detached PC stateManager. - SUP-1864: Improved the error message specifying the origin of the problem and the implied validation query text. - SUP-1873: Fixed ClassCastException in compoundIdentity with PC fields declared as persistent interface. - SUP-1880: Fixed alias table problem with inheritance by hierarchy on multiple joins's query. 4.4 build #1318 changes from 4.4 build #1314 - Added access to DataCacheContext from other context. - Fixed eager fetching not registering field containing collections in second level cache. - SUP-1839: Added supprot of double quote character in a String literals of a JDOQL filter. - SUP-1850: Fixed problem of overwriting constraint paramater value, in an optimistic update query. - SUP-1848: Fixed missing deleteByQuery execution when the cache of results is activated. - SUP-1849: Fixed optimisticException on updates constrained with QueryResult cache and no active fetchGroup. - SUP-1856: If no OID has been found for java class specified by the user throw LiDOFatalUserException. - SUP-1842: Fixed NPE that occurs when updating the data cache due to jdoPostLoad() call on a PC reference for data record. 4.4 build #1314 changes from 4.4 build #1310 - SUP-1827: ListenerProvider not initialized with PMF (too early initialized) - SUP-1828: The{unlimited} keyword is added to String mapper. If a String mapping is using this keyword, the column will be defined as a clob and no truncation will be done when inserting data - SUP-1829: Fixed NPE during query.getFetchPlan() with native SQL queries - SUP-1823/SUP-1831: null constraint field detection corrected in WriteOperation. - Added support for custom serialization for DCE. - DataCacheContext is now associated with access to DataRepository. - JTASynchronization raises a specific exception when an optimistic exception has been detected. - Added access to DataCacheContext with LiDOHelper. 4.4 build #1310 changes from 4.4 build #1308 - SUP-1812: Avoided NPE and raised JDOUserException when the user does makePersitent with an existing oid. - SUP-1818: Corrected error message when a class cannot be find in the classLoader. - LDO-1062: Ensured that Cache Entry is fully Serializable - SUP-1820: Avoided display of a wrong error message due to an unexpected exception. 4.4 build #1308 changes from 4.4 build #1304 - SUP-1809: Fixed wrong SQL statements generated on deletePersistent with an iterator on collections belonging to the same owner and mapped in reverse. - SUP-1798: Ensured that the column size defined in the customMapper is applied during the defineSchema When the java type is sizable. - SUP-1801: Fixed defineSchema problem due to unjustified ALTER TABLE. - SUP-1802: Fixed IndexOutofBoundException on the method iterator.remove() based on a directly mapped PC collection using ArrayList and manage IllegalStateException. - SUP-1805: Fixed regression in afterCompletion JTASynchronisation. - SUP-1803: Fixed wrong action type when deleting DatastoreID from LIDOIDTABLE. - SUP-1797: Avoided use of query result cache when the query target is an in-memory collection. - SUP-1765: Avoided random behavior of "double INSERT" testcase. - Added API to manage datacache entries cross-referencies to allow specific cleaning-up strategies. 4.4 build #1304 changes from 4.4 build #1302 - SUP-1789: Fixed defineSchema problem when a customMapper is applied on a PC field. - SUP-1787: Fixed defineSchema problem with FK constraint on multiple PK. - REH-204: DataRepository new API. - REH-201: Fixed all exceptions not trapped in before/after completion. - REH-205: Changed JDOException to RuntimeException in JTASynchronization. - REH-200 : * Added two new properties: - lido.sql.collection.joinTableDeleteBehavior - lido.sql.collection.reverseLinkDeleteBehavior * Possible values are: - default (currently alias for delete) - delete - nullify - none * These properties allows the user to define how XIC behaves when dealing with collection where the owner is deleted. - none -> nothing is done. - nullify -> the fk to the owner is set to null values. - delete -> the child is implicitly deleted in the transaction. * "nullify" and "none" has no meaning when the collection is mapped with "joinTable". * "sql-delete-behavior" has an higher priority that these properties, i.e. if sql-delete-behavior is specified somewhere the value will be used for the given underlying collections. 4.4 build #1302 changes from 4.4 build #1301 - Fixed close() on PoolableReadAction when actionCache is not explicitly set. (NPE) - SUP-1774: Avoid overwriting of the fetch group "all" when it has been redefined by the user. - SUP-1780: Fixed setting of parameters values when a field constant is reused in a sub query. - SUP-1783: Fixed problem in defineSchema when an object owner has a PC field of its sub-type. 4.4 build #1301 changes from 4.3 build #1300 - Added isCached() API on DataStoreCache interface. - SUP-1775 : ExceptionHelper with exception checking. - Refactored caching of actions and operations to manage concurrent use. - SUP-1777: Added sql-delete-behavior=none. - SUP-1776: Fixed problem of packaging. 4.4 build #1300 changes from 4.3 build #1233 - Order specification for commit sorter 4.3 build #1233 changes from 4.3 build #1229 - Force metadata loading in getClassFor to solve cases where PC classes are not yet loaded (SUP-1597) - Fixed problem when a collection is eagerly fetched and has no reverse java field (SUP-1580) - Added support for bound but unconstraint variable like an EXIST constraint - Added support for TOP operator in SQL query on SQL Server (SUP-1592) - Fixed wrong type conversion when using optimistic checking by update on a field with a custom mapper and whose the value is null (SUP-1590, SUP-1593) - Fixed duplicate behavior usage in HAVING clause (SUP-1585) - Fixed ClassCastException with eager fetched queries where anonymous collections are implied (SUP-1584) - Fixed potential MultiFieldMapperReader caching problem (SUP-1567) - Fixed support for CustomDatabaseTypes for CompositeDatabaseType subfields (SUP-1564) - Fixed double insertions when an entity reverse mapped is a link entity 4.3 build #1229 changes from 4.3 build #1228 - Fixed stack trace flushing in LiDODetachedFieldAccessException - Added exception when two simple fields with different types map the same attribute - Fixed eager fetching avoidance when using applying query operations "on-demand" - Improved concurrency control (SUP-1518ter) 4.3 build #1228 changes from 4.3 build #1225 - Fixed potential NPE hiding a SQL exception - Improved stored procedure metadata exception message - Improved error message when a non-managed field is included in a reversed-mapped collection (SUP-1517) - Fixed field access by parameterized name in service mapping behavior language - Fixed wrong range applied when collections are eagerly fetched (SUP-1554) - Fixed concurrent modification exception in DataCache in heavy load context (SUP-1571) - Fixed sorting of delete by query at commit time (SUP-1569) - Fixed potential wrong deletion event generated when an unordered collection doesn't hold the element to remove - Fixed result merging from both datastore and memory when using an aggregate function (SUP-1563) - Fixed default mapping strategy to apply also when no explicit class mapping is specified (SUP-1501) 4.3 build #1225 changes from 4.3 build #1224 - Fixed potential wrong deletion event when deleting an object that doesn't exist in a collection - Fixed metadata loading of already loaded classes (SUP-1488) 4.3 build #1224 changes from 4.3 build #1220 - Fixed problem to avoid including subclasses when executing a query with an extent that don't include subclasses (LDO-858) - Fixed objects not removed from transactional cache when transitioning to transient state (SUP-1553) - Fixed NPE when disabling indexes generation when constraints are also disabled (SUP-1500) - Fixed wrong update when mixing user-defined synthetic fields and reverse collections (SUP-1545bis) - Fixed exception thrown in XMLMappingAnalyzer if package name doesn't exist - Fixed Object ID cache as synchronized (SUP-1552) 4.3 build #1220 changes from 4.3 build #1217 - Fixed Wrong optimistic checking when database doesn't support SELECT FOR UPDATE (SUP-1536) - Fixed type mapping inheritance errors - Fixed in memory query management of booleans (SUP-1526) - Fixed problem with ordering clauses (SUP-1542) - Fixed inheritance of FieldBehavior APIs (SUP-1544) 4.3 build #1217 changes from 4.3 build #1215 - Fixed problem when using a variable multiple times in a query (SUP-1546) - Implements pm.lock in PMImpl - Added support for date and boolean on Derby (LDO-856, LDO-891) - Added new entry in default-dictionary.properties to use Derby's embedded driver - Fixed SELECT COUNT(*) on DB2 z/OS that doesn't support count(1) (SUP-1527) - Fixed wrong boolean evaluation in in memory queries (SUP-1526) - Improve checking queries' candidate class to ensure that they are assignable from PersistenceCapable (SUP-1528) - Ensure consistency of boundaries of setRange(...) (SUP-1530) - Support SQL delimiters when using a collection as parameter (SUP-1538) - Support of secondary entities in eager fetching (SUP-1533) - Fixed problems when using contains on a collection of String (SUP-1523) - Reactivate foreign keys creation (SUP-1541) - Fixed collection loading that includes non necessary tables in the projection which are not in join clauses 4.3 build #1215 changes from 4.3 build #1212 - Fixed error when comparing a variable with null in a JDOQL filter (SUP-1510) - Concised Logging output when using XiC with Log4j output handler (SUP-1503) - Fixed wrong SQL statements in highly multithreaded environments (SUP-1518) - Fixed potential metadata deadlock (SUP-1382) 4.3 build #1212 changes from 4.3 build #1211 - Fixed optimistic checking of collections to avoid calling equals or hashcode (SUP-1516) - Fixed OutOfMemory when enhancing a lot of classes (SUP-1512) - Fixed review FullRenamer to avoid duplicate table name and fixed DefineSchema to avoid creating foreign key constraint when no primary key exist in destination table (SUP-1497bis) - Fixed DB2 on ZOS that doesn't support queries with limit (SUP-1508) - Fixed missing join when queries in eager fetching imply a lot of unary joins (SUP-1506) 4.3 build #1211 changes from 4.3 build #1210 - Avoid infinite loop when mixing "dirty" optimistic checking method and dirty collections (SUP-1507) 4.3 build #1210 changes from 4.3 build #1208 - Avoid subselect when using setRange whithout ordering or grouping clause (SUP-1491) - Fixed mismatch between foreign key constraint and index when using constraint=true DefineSchema option (SUP-1498) - Fixed wrong SQL statement when mixing behavior and embedded field (SUP-1502) - Provided a workaround to avoid LocalTransaction not initialized due to caching in JOnAS (SUP-1446) - Fixed problems when passing null collection as query parameter (SUP-1492) - Avoid multiple insertion in an association entity if an element is added and removed several times (SUP-1463) - Fixed infinite loop in define schema when using contraints=true option with a lot of one-to-one references (SUP-1497) 4.3 build #1208 changes from 4.3 build #1205 - Fixed optimistic check bugs: . avoid cached instances (SUP-1486) . displays proper different failed objects when using optimistic updates (but some failed objects may not be the wrong ones when batching on a database that doesn't support batch counts) (SUP-1485) - Fixed batch success checks when executing multiple batches - Fixed wrong SQL statements when using multiple include entities or 1-1 reverse PC-field - Fixed per-class inheritance mapping to avoid joins to uppermost discriminating class when not necessary (SUP-1473) 4.3 build #1205 changes from 4.3 build #1204 EAP - Removed dependency to lido.properties in enhancement phase. - Fixed bug when replacing a collection field by another value - Fixed wrong DUMP trace when changing state to Non-Transactional to Dirty - Performance improvements. - Added ability to group per-hierarchy statements (REH-167) - Fixed problem when mixing compound identity and eager fetching (SUP-1475) 4.3 EAP build #1204 changes from 4.3 build #1203 - Added lido.sql.forceBatch to force using batched statements, even when update counts are not supported (false by default). Use this feature with caution, as if update count is not supported it may overlook optimistic exceptions. - Performance improvements. - Added synthetic field loading as part Active Fetch Group loading. - Fixed Default Fetch Group fields loading. - Fixed bug in eager fetching engine (SUP-1470) - Service mapping - engine performance improvement - Added execution plan caching (lido.service.solutionCacheSize=n) - better complexity management - trace improvements - bugfixes 4.3 EAP build #1203 changes from 4.3 build #1202 - Added lido.transaction.optimisticCheckMethod=select|update (select by default) - Performance improvements - Fixed isNull in CompoundIdentity which returns true if the field is null or has null value (SUP-1455) - Fixed CLOB persisting (SUP-1448) - Fixed wrong operations generated by eager fetching engine (LDO-592) - Fixed behaviors problem when link table is implied (SUP-1458) - Fixed NPE when mixing per-concrete-class and eager-fetching (SUP-1468, SUP-1441) - Fixed metadata files loading at several times when non-persistent classes are used (SUP-1434) - Fixed ordering preservation in on demand queries (SUP-1461) 4.3 EAP build #1202 changes from 4.2.x - Performance improvements