Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipselink-dev] RE: SVN Pending commit: bug#220394 - improve insert performance, avoid change records for new wobjects

Committed.

 

 

-----Original Message-----
From: JAMES.SUTHERLAND@xxxxxxxxxx
Sent: Wednesday, August 13, 2008 4:21 PM
To: Eclipselink-Dev@Eclipse. Org (E-mail)
Subject: SVN Pending commit: bug#220394 - improve insert performance, avoid change records for new wobjects

 

https://bugs.eclipse.org/bugs/show_bug.cgi?id=220394

 

Main change was to have new objects not build change records (still create change set, but it is empty).  This improves performance of inserts.  Insert always used the object, so is unchanged, merge no uses the existing object merge, instead of merging with change sets.

If the descriptor uses cache synch of new objects, change records are still built and merged.  A backdoor to switch back to using changes sets is in ClassDescriptor.

 

Changes:

- Changed new objects to not build change records, merge new objects using object merge.

- Extended testing EmulatedDriver to work for adhoc SQL.

- Added support for comparing clone with database in ComplexUpdateTest, but disable by default because of some test failures (logged bug).

- Fixed bug in aggregate collection change detection to not always think that everything changed.

- Fixed bug in flush/resume for deferred change tracking to not use merge into backup clone for new objects, (re-build backup clone instead), (logged bug that updates still corrupt object identity in the backup clone).

- Optimized sequence check to use sequence mapping.

- Removed some dead code in ObjectBuilder.

- Some micro optimizations in uow and mappings.

- Use descriptor insert query on inserts, instead of new query that then has to find the descriptor query.

- Fixed some comments.

- Optimized some commit/merge cases to avoid writes/merges when no changes or not required.

- Avoid comparing if changed and raising change events when not in mergeClone merge.

- Fixed class-cast exception in DirectMapMapping when collection is replaced, (logged bug that deferred changes does not always work correctly).

- Changed sequencing to use long instead of BigDecimal.

- Some fixes to JPA performance tests.

- Use batch writing for cached performance tests.

 

Code Review: Gordon (pending)

 


Back to the top