Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 332891

Summary: [DB] Error in FeatureMapTest.testFeatureMaps
Product: [Modeling] EMF Reporter: Stefan Winkler <stefan>
Component: cdo.dbAssignee: Stefan Winkler <stefan>
Status: CLOSED FIXED QA Contact: Eike Stepper <stepper>
Severity: normal    
Priority: P3 Flags: stepper: review+
Version: 4.0   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Patch-v1 none

Description Stefan Winkler CLA 2010-12-18 14:03:37 EST
failing testcase for branching featuremaps. see below.

-- Error Log from JUnit --
Class: org.eclipse.emf.cdo.tests.db.DISABLE_FeatureMapTest
Method: testFeatureMaps
Actual: null
Expected: null
Stack Trace:
org.eclipse.emf.cdo.tests.config.impl.ConfigTestException: Error in FeatureMapTest.testFeatureMaps [Combined, DBStore: H2 (branching, range-based, copyOnBranch), JVM, Native]
	at org.eclipse.emf.cdo.tests.config.impl.ConfigTest.runBare(ConfigTest.java:474)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at org.eclipse.net4j.util.tests.AbstractOMTest.run(AbstractOMTest.java:196)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at org.eclipse.emf.cdo.tests.config.impl.ConfigTestSuite$TestWrapper.runTest(ConfigTestSuite.java:126)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.eclipse.emf.cdo.util.CommitException: org.eclipse.net4j.signal.RemoteException: org.eclipse.net4j.db.DBException: org.h2.jdbc.JdbcSQLException: Feld CDO_VALUECDO_VALUE_TIMESTAMP nicht gefunden
Column CDO_VALUECDO_VALUE_TIMESTAMP not found; SQL statement:
INSERT INTO TestFeatureMap_people_list(cdo_id,cdo_branch,cdo_version_added,cdo_version_removed,cdo_idx,cdo_valuecdo_value_TIMESTAMP, cdo_value_CLOB, cdo_value_BIGINT, cdo_value_LONGVARCHAR, cdo_value_VARCHAR, cdo_value_INTEGER, cdo_value_SMALLINT, cdo_value_BLOB, cdo_value_FLOAT, cdo_value_BOOLEAN, cdo_value_TIME, cdo_value_DOUBLE, cdo_value_DATE, cdo_value_CHAR, cdo_idx, cdo_tag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [42122-117]
	at org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(CDOTransactionImpl.java:1055)
	at org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(CDOTransactionImpl.java:1066)
	at org.eclipse.emf.cdo.tests.FeatureMapTest.testFeatureMaps(FeatureMapTest.java:217)
	at org.eclipse.emf.cdo.tests.db.DISABLE_FeatureMapTest.testFeatureMaps(DISABLE_FeatureMapTest.java:25)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at junit.framework.TestCase.runTest(TestCase.java:168)
	at org.eclipse.net4j.util.tests.AbstractOMTest.runBare(AbstractOMTest.java:150)
	at org.eclipse.emf.cdo.tests.config.impl.ConfigTest.runBare(ConfigTest.java:465)
	... 18 more
Caused by: org.eclipse.net4j.signal.RemoteException: org.eclipse.net4j.db.DBException: org.h2.jdbc.JdbcSQLException: Feld CDO_VALUECDO_VALUE_TIMESTAMP nicht gefunden
Column CDO_VALUECDO_VALUE_TIMESTAMP not found; SQL statement:
INSERT INTO TestFeatureMap_people_list(cdo_id,cdo_branch,cdo_version_added,cdo_version_removed,cdo_idx,cdo_valuecdo_value_TIMESTAMP, cdo_value_CLOB, cdo_value_BIGINT, cdo_value_LONGVARCHAR, cdo_value_VARCHAR, cdo_value_INTEGER, cdo_value_SMALLINT, cdo_value_BLOB, cdo_value_FLOAT, cdo_value_BOOLEAN, cdo_value_TIME, cdo_value_DOUBLE, cdo_value_DATE, cdo_value_CHAR, cdo_idx, cdo_tag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [42122-117]
	at org.eclipse.net4j.signal.RequestWithConfirmation.setRemoteException(RequestWithConfirmation.java:128)
	at org.eclipse.net4j.signal.SignalProtocol.handleRemoteException(SignalProtocol.java:423)
	at org.eclipse.net4j.signal.RemoteExceptionIndication.indicating(RemoteExceptionIndication.java:63)
	at org.eclipse.net4j.signal.Indication.doExtendedInput(Indication.java:55)
	at org.eclipse.net4j.signal.Signal.doInput(Signal.java:316)
	at org.eclipse.net4j.signal.Indication.execute(Indication.java:49)
	at org.eclipse.net4j.signal.Signal.runSync(Signal.java:241)
	at org.eclipse.net4j.signal.Signal.run(Signal.java:147)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:636)
Caused by: org.eclipse.net4j.db.DBException: org.h2.jdbc.JdbcSQLException: Feld CDO_VALUECDO_VALUE_TIMESTAMP nicht gefunden
Column CDO_VALUECDO_VALUE_TIMESTAMP not found; SQL statement:
INSERT INTO TestFeatureMap_people_list(cdo_id,cdo_branch,cdo_version_added,cdo_version_removed,cdo_idx,cdo_valuecdo_value_TIMESTAMP, cdo_value_CLOB, cdo_value_BIGINT, cdo_value_LONGVARCHAR, cdo_value_VARCHAR, cdo_value_INTEGER, cdo_value_SMALLINT, cdo_value_BLOB, cdo_value_FLOAT, cdo_value_BOOLEAN, cdo_value_TIME, cdo_value_DOUBLE, cdo_value_DATE, cdo_value_CHAR, cdo_idx, cdo_tag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [42122-117]
	at org.eclipse.emf.cdo.server.internal.db.SmartPreparedStatementCache.createCachedPreparedStatement(SmartPreparedStatementCache.java:84)
	at org.eclipse.emf.cdo.server.internal.db.SmartPreparedStatementCache.getPreparedStatement(SmartPreparedStatementCache.java:43)
	at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.BranchingFeatureMapTableMappingWithRanges.addEntry(BranchingFeatureMapTableMappingWithRanges.java:1210)
	at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.BranchingFeatureMapTableMappingWithRanges.writeValue(BranchingFeatureMapTableMappingWithRanges.java:709)
	at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.BranchingFeatureMapTableMappingWithRanges.writeValues(BranchingFeatureMapTableMappingWithRanges.java:691)
	at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalClassMapping.writeLists(AbstractHorizontalClassMapping.java:464)
	at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.HorizontalBranchingClassMapping.writeRevision(HorizontalBranchingClassMapping.java:823)
	at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writeRevision(DBStoreAccessor.java:563)
	at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.writeRevisions(DBStoreAccessor.java:544)
	at org.eclipse.emf.cdo.spi.server.StoreAccessor.write(StoreAccessor.java:187)
	at org.eclipse.emf.cdo.internal.server.TransactionCommitContext.write(TransactionCommitContext.java:407)
	at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:40)
	at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:1)
	at org.eclipse.net4j.util.om.monitor.ProgressDistributor.run(ProgressDistributor.java:96)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:233)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:90)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndicationWithMonitoring.indicating(CDOServerIndicationWithMonitoring.java:109)
	at org.eclipse.net4j.signal.IndicationWithMonitoring.indicating(IndicationWithMonitoring.java:84)
	at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:90)
	at org.eclipse.net4j.signal.Signal.doInput(Signal.java:316)
	at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:63)
	at org.eclipse.net4j.signal.IndicationWithMonitoring.execute(IndicationWithMonitoring.java:63)
	... 5 more
Caused by: org.h2.jdbc.JdbcSQLException: Feld CDO_VALUECDO_VALUE_TIMESTAMP nicht gefunden
Column CDO_VALUECDO_VALUE_TIMESTAMP not found; SQL statement:
INSERT INTO TestFeatureMap_people_list(cdo_id,cdo_branch,cdo_version_added,cdo_version_removed,cdo_idx,cdo_valuecdo_value_TIMESTAMP, cdo_value_CLOB, cdo_value_BIGINT, cdo_value_LONGVARCHAR, cdo_value_VARCHAR, cdo_value_INTEGER, cdo_value_SMALLINT, cdo_value_BLOB, cdo_value_FLOAT, cdo_value_BOOLEAN, cdo_value_TIME, cdo_value_DOUBLE, cdo_value_DATE, cdo_value_CHAR, cdo_idx, cdo_tag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [42122-117]
	at org.h2.message.Message.getSQLException(Message.java:105)
	at org.h2.message.Message.getSQLException(Message.java:116)
	at org.h2.message.Message.getSQLException(Message.java:75)
	at org.h2.table.Table.getColumn(Table.java:523)
	at org.h2.command.Parser.parseColumnList(Parser.java:746)
	at org.h2.command.Parser.parseInsert(Parser.java:896)
	at org.h2.command.Parser.parsePrepared(Parser.java:368)
	at org.h2.command.Parser.parse(Parser.java:290)
	at org.h2.command.Parser.parse(Parser.java:262)
	at org.h2.command.Parser.prepareCommand(Parser.java:234)
	at org.h2.engine.Session.prepareLocal(Session.java:415)
	at org.h2.engine.Session.prepareCommand(Session.java:376)
	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1049)
	at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:74)
	at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:233)
	at org.eclipse.emf.cdo.server.internal.db.SmartPreparedStatementCache.createCachedPreparedStatement(SmartPreparedStatementCache.java:79)
	... 26 more
Comment 1 Stefan Winkler CLA 2010-12-18 14:08:09 EST
Created attachment 185481 [details]
Patch-v1

Obviously a leftover of bug 329025 -- I guess, this never worked properly, as the SQL produced is illegal. The attached patch corrects the problem and fixes the SQL statement.
Comment 2 Stefan Winkler CLA 2010-12-19 06:18:28 EST
*** Bug 332892 has been marked as a duplicate of this bug. ***
Comment 3 Stefan Winkler CLA 2010-12-19 06:27:15 EST
Committed to HEAD
Comment 4 Eike Stepper CLA 2011-06-23 03:41:09 EDT
Available in R20110608-1407