[hibernate-dev] hibernate-mysql-testsuite Build Completed With Testsuite Errors
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-mysql-testsuite?log=log20070822050620 TESTS FAILEDAnt Error Message: /qa/services/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:147: The following error occurred while executing this line: /qa/services/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:89: The following error occurred while executing this line: /qa/services/cruisecontrol/work/scripts/build-common-targets.xml:11: Build Successful - Tests completed with errors or failures.Date of build: 08/22/2007 05:06:20Time to build: 19 minutes 0 secondsLast changed: 12/30/2005 15:59:42Last log entry: Fixed BMT idiom Unit Tests: (1075) Total Errors and Failures: (6)testDom4jorg.hibernate.test.entitymode.dom4j.basic.Dom4jTesttestMapIndexEmisionorg.hibernate.test.entitymode.dom4j.basic.Dom4jTesttestPaginationorg.hibernate.test.pagination.PaginationTesttestScalarStoredProcedureorg.hibernate.test.sql.hand.custom.mysql.MySQLCustomSQLTesttestParameterHandlingorg.hibernate.test.sql.hand.custom.mysql.MySQLCustomSQLTesttestEntityStoredProcedureorg.hibernate.test.sql.hand.custom.mysql.MySQLCustomSQLTest Modifications since last build: (first 50 of 364)13936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/engine/loading/LoadContexts.javaHHH-2795 : CollectionLoadContext processing for empty collections 13936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/engine/loading/CollectionLoadContext.javaHHH-2795 : CollectionLoadContext processing for empty collections 13932modified[EMAIL PROTECTED]//core/branches/Branch_3_2/test/org/hibernate/test/legacy/MasterDetailTest.javaskip org.hibernate.test.legacy.MasterDetailTest#testCachedCollectionRefresh when connection is enforcing (at least) serializable isolation13932modified[EMAIL PROTECTED]//core/branches/Branch_3_2/test/org/hibernate/junit/functional/FunctionalTestCase.javaskip org.hibernate.test.legacy.MasterDetailTest#testCachedCollectionRefresh when connection is enforcing (at least) serializable isolation12949modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.javaHHH-2503 : Throws JDBCExceptionHelper.convert() in AbstractEntityPersister.processGeneratedProperties()12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/OptionalJoinTest.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/JoinSuite.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/Thing.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/AllTests.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/Thing.hbm.xmlHHH-2320 : Update detached entity with null joined properties changed to non-null12941modified[EMAIL PROTECTED]//core/branches/Branch_3_2/src/org/hibernate/dialect/Oracle8iDialect.javaHHH-2788 : missing type mapping for DATE and TIME on Oracle8iDialect12936modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/Employee.javaHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/type/TypeFactory.javaHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/ComponentTest.javaHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/User.hbm.xmlHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/OptionalComponent.javaHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12890modified[EMAIL PROTECTED]//core/branches/Branch_3_2/src/org/hibernate/util/PropertiesHelper.javaHHH-2761 : null and empty string consistency in PropertiesHelper12865modified[EMAIL PROTECTED]//core/branches/Branch_3_2/changelog.txtprep 3.2.5 release12865modified[EMAIL PROTECTED]//core/branches/Branch_3_2/readme.txtprep 3.2.5 release12865mo
[hibernate-dev] hibernate-sybase-testsuite Build Completed With Testsuite Errors
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-sybase-testsuite?log=log20070822060125 TESTS FAILEDAnt Error Message: /qa/services/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:126: The following error occurred while executing this line: /qa/services/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:89: The following error occurred while executing this line: /qa/services/cruisecontrol/work/scripts/build-common-targets.xml:11: Build Successful - Tests completed with errors or failures.Date of build: 08/22/2007 06:01:25Time to build: 15 minutes 1 secondLast changed: 12/30/2005 15:59:42Last log entry: Fixed BMT idiom Unit Tests: (1075) Total Errors and Failures: (49)testOrphanDeleteOnDeleteorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestOrphanDeleteAfterPersistorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestOrphanDeleteAfterPersistAndFlushorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestOrphanDeleteAfterLockorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestOrphanDeleteOnSaveOrUpdateorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestOrphanDeleteOnSaveOrUpdateAfterSerializationorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestOrphanDeleteorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestOrphanDeleteOnMergeorg.hibernate.test.collection.backref.map.compkey.BackrefCompositeMapKeyTesttestComponentQueriesorg.hibernate.test.component.basic.ComponentTesttestSerializationFailsOnAfterStatementAggressiveReleaseWithOpenResourcesorg.hibernate.test.connections.AggressiveReleaseTesttestSerializationFailsOnAfterStatementAggressiveReleaseWithOpenResourcesorg.hibernate.test.connections.CurrentSessionConnectionTesttestSubselectorg.hibernate.test.criteria.CriteriaQueryTesttestDom4jorg.hibernate.test.entitymode.dom4j.basic.Dom4jTesttestMapIndexEmisionorg.hibernate.test.entitymode.dom4j.basic.Dom4jTesttestStrorg.hibernate.test.hql.ASTParserLoadingTesttestExtractorg.hibernate.test.hql.ASTParserLoadingTesttestEJBQLFunctionsorg.hibernate.test.hql.ASTParserLoadingTesttestInterfaceProxiesorg.hibernate.test.interfaceproxy.InterfaceProxyTesttestJpaStylePositionalParametersInNativeSqlorg.hibernate.test.jpa.ql.NativeQueryTesttestOnCascadeDeleteorg.hibernate.test.legacy.FooBarTesttestCollectionsInSelectorg.hibernate.test.legacy.FooBarTesttestCompositeKeyPathExpressionsorg.hibernate.test.legacy.FumTesttestUnionSubclassorg.hibernate.test.legacy.IJ2TesttestCollectionorg.hibernate.test.legacy.MultiTableTesttestProxyReuseorg.hibernate.test.legacy.ParentChildTesttestBlobCloborg.hibernate.test.legacy.SQLFunctionsTesttestBoundedMaterializedBlobAccessorg.hibernate.test.lob.BlobTesttestBoundedBlobLocatorAccessorg.hibernate.test.lob.BlobTesttestUnboundedBlobLocatorAccessorg.hibernate.test.lob.BlobTesttestBoundedMaterializedClobAccessorg.hibernate.test.lob.ClobTesttestBoundedClobLocatorAccessorg.hibernate.test.lob.ClobTesttestUnboundedClobLocatorAccessorg.hibernate.test.lob.ClobTesttestNewSerializableTypeorg.hibernate.test.lob.SerializableTypeTesttestManyToManyWithFormulaorg.hibernate.test.manytomany.ManyToManyTesttestMixedInheritanceorg.hibernate.test.mixed.MixedTesttestOneToOneOnSubclassorg.hibernate.test.onetoone.joined.JoinedSubclassOneToOneTesttestOneToOneOnSubclassorg.hibernate.test.onetoone.nopojo.DynamicMapOneToOneTesttestPaginationorg.hibernate.test.pagination.PaginationTesttestOneToOnePropertyReforg.hibernate.test.propertyref.inheritence.union.UnionSubclassPropertyRefTesttestScalarStoredProcedureorg.hibernate.test.sql.hand.custom.sybase.SybaseCustomSQLTesttestParameterHandlingorg.hibernate.test.sql.hand.custom.sybase.SybaseCustomSQLTesttestEntityStoredProcedureorg.hibernate.test.sql.hand.custom.sybase.SybaseCustomSQLTesttestMappedAliasStrategyorg.hibernate.test.sql.hand.query.NativeSQLQueriesTesttestAutoDetectAliasingorg.hibernate.test.sql.hand.query.NativeSQLQueriesTesttestQueryStatGatheringorg.hibernate.test.stats.StatsTesttestCurrentSessionWithScrollorg.hibernate.test.tm.CMTTesttestUnionSubclassFetchModeorg.hibernate.test.unionsubclass.UnionSubclassTesttestJoinedSubclassorg.hibernate.test.ondelete.OnDeleteTesttestQueryCacheInvalidationorg.hibernate.test.querycache.QueryCacheTest Modifications since last build: (first 50 of 364)13936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/engine/loading/LoadContexts.javaHHH-2795 : CollectionLoadContext processing for empty collections 13936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/engine/loading/CollectionLoadContext.javaHHH-2795 : CollectionLoadContext processing for empty collections 13932modified[EMAIL PROTECTED]//core/branches/Branch_3_2/test/org/hibernate/test/legacy/MasterDetailTest.javaskip
[hibernate-dev] hibernate-db2-8.2-testsuite Build Completed With Testsuite Errors
View results here -> http://cruisecontrol.jboss.com/cc/buildresults/hibernate-db2-8.2-testsuite?log=log20070822064026 TESTS FAILEDAnt Error Message: /qa/services/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:178: The following error occurred while executing this line: /qa/services/cruisecontrol/work/scripts/build-hibernate-db-matrix.xml:89: The following error occurred while executing this line: /qa/services/cruisecontrol/work/scripts/build-common-targets.xml:11: Build Successful - Tests completed with errors or failures.Date of build: 08/22/2007 06:40:26Time to build: 34 minutes 57 secondsLast changed: 08/19/2007 19:06:39Last log entry: HHH-2795 : CollectionLoadContext processing for empty collections Unit Tests: (1066) Total Errors and Failures: (12)testExpressionWithParamInFunctionorg.hibernate.test.hql.ASTParserLoadingTesttestDecimalLiteralsorg.hibernate.test.hql.ASTParserLoadingTesttestInsertWithGeneratedTimestampVersionorg.hibernate.test.hql.BulkManipulationTesttestScrollingJoinFetchesForwardorg.hibernate.test.hql.ScrollableCollectionFetchingTestunknownorg.hibernate.test.jpa.lock.JPALockTesttestCriteriaorg.hibernate.test.legacy.MultiTableTesttestBoundedClobLocatorAccessorg.hibernate.test.lob.ClobTesttestScalarStoredProcedureorg.hibernate.test.sql.hand.custom.db2.DB2CustomSQLTesttestParameterHandlingorg.hibernate.test.sql.hand.custom.db2.DB2CustomSQLTesttestEntityStoredProcedureorg.hibernate.test.sql.hand.custom.db2.DB2CustomSQLTestunknownorg.hibernate.test.tm.CMTTesttestBoundedBlobLocatorAccessorg.hibernate.test.lob.BlobTest Modifications since last build: (first 50 of 79)13936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/engine/loading/LoadContexts.javaHHH-2795 : CollectionLoadContext processing for empty collections 13936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/engine/loading/CollectionLoadContext.javaHHH-2795 : CollectionLoadContext processing for empty collections 13932modified[EMAIL PROTECTED]//core/branches/Branch_3_2/test/org/hibernate/test/legacy/MasterDetailTest.javaskip org.hibernate.test.legacy.MasterDetailTest#testCachedCollectionRefresh when connection is enforcing (at least) serializable isolation13932modified[EMAIL PROTECTED]//core/branches/Branch_3_2/test/org/hibernate/junit/functional/FunctionalTestCase.javaskip org.hibernate.test.legacy.MasterDetailTest#testCachedCollectionRefresh when connection is enforcing (at least) serializable isolation12949modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.javaHHH-2503 : Throws JDBCExceptionHelper.convert() in AbstractEntityPersister.processGeneratedProperties()12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/OptionalJoinTest.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEntityPersister.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/JoinSuite.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/Thing.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/AllTests.javaHHH-2320 : Update detached entity with null joined properties changed to non-null12945addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/join/Thing.hbm.xmlHHH-2320 : Update detached entity with null joined properties changed to non-null12941modified[EMAIL PROTECTED]//core/branches/Branch_3_2/src/org/hibernate/dialect/Oracle8iDialect.javaHHH-2788 : missing type mapping for DATE and TIME on Oracle8iDialect12936modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/Employee.javaHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936modifiedgbadner//core/branches/Branch_3_2/src/org/hibernate/type/TypeFactory.javaHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/ComponentTest.javaHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936modifiedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/User.hbm.xmlHHH-2542 : Merge non-null component in a child persisted with a null component and added test for optional components12936addedgbadner//core/branches/Branch_3_2/test/org/hibernate/test/component/basic/OptionalComponent.javaHHH-2542 : Merge non-null component in a child per
[hibernate-dev] Multiple-object batched inserts
I thought his question was a little too technical for the general list, so I thought I¹d ask it here. Is there a technical reason why Hibernate does not or cannot support the batching of multiple (different) object insertions within the same session? I have code that is semantically equivalent to: Session session = sessionFactory.getCurrentSession(); for (int i = 0; i < 1000; i++) { Foo foo = new Foo(); session.save(foo); Bar bar = new Bar(); session.save(bar); } session.flush(); If Foo or Bar is not in the equation, batching occurs as desired. However, if both Foo and Bar are inserted during the session in alternating fashion the result is that in the ActionQueue the 'insertion list' is interleaved with Foo's and Bar's. This is natural enough it seems. However, when ActionQueue.executeActions() is called the following occurs... 1) executeAction() iterates through the insertion list calling execute() on each Executable in the list 2) the Executable.execute() method calls insert() on the associated persister, in the case a SingleTableEntityPersister. It seems to realize that it CAN batch these inserts and so ... 3) insert() calls the BatchingBatcher.prepareBatchStatement(sql) which is actually a method on AbstractBatcher. This is where things go "awry"... The prepareBatchStatement(sql) does this thing where it compares the SQL statement that was provided with the _last SQL that it executed_ and if they match it re-uses the _last PreparedStatement_ which it also hung onto, otherwise it closes the existing PreparedStatement and creates a new one -- effectively ending the current "batch". In this case, because the objects are interleaved in the insertion list the result is that the prepareBatchStatement() is called with: insert into foo (a, b, c) values (?, ?, ?) insert into bar (x, y, z) values (?, ?, ?) insert into foo (a, b, c) values (?, ?, ?) insert into bar (x, y, z) values (?, ?, ?) insert into foo (a, b, c) values (?, ?, ?) insert into bar (x, y, z) values (?, ?, ?) ... The result being that each subsequent statement terminates the statement prepared before it, preventing batching from occuring. Well, it logs a debug message saying "Executing batch size: 1" for each statement. So my question is this ... is there any reason not to use a Map construct in the BatchingBatcher such that the appropriate PreparedStatement can be located and re-used based on the incoming SQL rather than only retaining the _last_ SQL statement which is guaranteed to "flap" in the case of alternating (or multiple) objects? If there is no technical reason why this shouldn't be done or wouldn't work, I will be happy to make the change and submit a patch. [Can you tell how bad I need batching in this scenario?] Thanks, Brett Wooldridge The ZipTie Project www.ziptie.org ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev
Re: [hibernate-dev] Multiple-object batched inserts
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1 /max I thought his question was a little too technical for the general list, so I thought I¹d ask it here. Is there a technical reason why Hibernate does not or cannot support the batching of multiple (different) object insertions within the same session? I have code that is semantically equivalent to: Session session = sessionFactory.getCurrentSession(); for (int i = 0; i < 1000; i++) { Foo foo = new Foo(); session.save(foo); Bar bar = new Bar(); session.save(bar); } session.flush(); If Foo or Bar is not in the equation, batching occurs as desired. However, if both Foo and Bar are inserted during the session in alternating fashion the result is that in the ActionQueue the 'insertion list' is interleaved with Foo's and Bar's. This is natural enough it seems. However, when ActionQueue.executeActions() is called the following occurs... 1) executeAction() iterates through the insertion list calling execute() on each Executable in the list 2) the Executable.execute() method calls insert() on the associated persister, in the case a SingleTableEntityPersister. It seems to realize that it CAN batch these inserts and so ... 3) insert() calls the BatchingBatcher.prepareBatchStatement(sql) which is actually a method on AbstractBatcher. This is where things go "awry"... The prepareBatchStatement(sql) does this thing where it compares the SQL statement that was provided with the _last SQL that it executed_ and if they match it re-uses the _last PreparedStatement_ which it also hung onto, otherwise it closes the existing PreparedStatement and creates a new one -- effectively ending the current "batch". In this case, because the objects are interleaved in the insertion list the result is that the prepareBatchStatement() is called with: insert into foo (a, b, c) values (?, ?, ?) insert into bar (x, y, z) values (?, ?, ?) insert into foo (a, b, c) values (?, ?, ?) insert into bar (x, y, z) values (?, ?, ?) insert into foo (a, b, c) values (?, ?, ?) insert into bar (x, y, z) values (?, ?, ?) ... The result being that each subsequent statement terminates the statement prepared before it, preventing batching from occuring. Well, it logs a debug message saying "Executing batch size: 1" for each statement. So my question is this ... is there any reason not to use a Map construct in the BatchingBatcher such that the appropriate PreparedStatement can be located and re-used based on the incoming SQL rather than only retaining the _last_ SQL statement which is guaranteed to "flap" in the case of alternating (or multiple) objects? If there is no technical reason why this shouldn't be done or wouldn't work, I will be happy to make the change and submit a patch. [Can you tell how bad I need batching in this scenario?] Thanks, Brett Wooldridge The ZipTie Project www.ziptie.org ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev ___ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev