Testing with the master branch as well as 14.x some of the Oracle online tests fail. I have not analyzed them all. Here is detail for one such failure. The OraclePrimaryKeyFinderOnlineTest fails when running the TestSequencePrimaryKey step. This fails at the command line, detail below is based on running this individual test in eclipse. A trace of the failure is: java.io.IOException: Error inserting features at org.geotools.jdbc.JDBCDataStore.insert(JDBCDataStore.java:1605) at org.geotools.jdbc.JDBCInsertFeatureWriter.flush(JDBCInsertFeatureWriter.java:125) at org.geotools.jdbc.JDBCInsertFeatureWriter.close(JDBCInsertFeatureWriter.java:152) at org.geotools.data.InProcessLockingManager$1.close(InProcessLockingManager.java:350) at org.geotools.data.store.ContentFeatureStore.addFeatures(ContentFeatureStore.java:263) at org.geotools.jdbc.JDBCPrimaryKeyFinderOnlineTest.addFeature(JDBCPrimaryKeyFinderOnlineTest.java:93) at org.geotools.jdbc.JDBCPrimaryKeyFinderOnlineTest.testSequencedPrimaryKey(JDBCPrimaryKeyFinderOnlineTest.java:55) 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:606) at junit.framework.TestCase.runTest(TestCase.java:176) at junit.framework.TestCase.runBare(TestCase.java:141) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult.java:142) at junit.framework.TestResult.run(TestResult.java:125) at junit.framework.TestCase.run(TestCase.java:129) at org.geotools.test.OnlineTestCase.run(OnlineTestCase.java:123) at junit.framework.TestSuite.runTest(TestSuite.java:255) at junit.framework.TestSuite.run(TestSuite.java:250) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Caused by: java.sql.BatchUpdateException: ORA-00957: duplicate column name at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:11190) at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:244) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297) at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297) at org.geotools.jdbc.JDBCDataStore.insertPS(JDBCDataStore.java:1670) at org.geotools.jdbc.JDBCDataStore.insert(JDBCDataStore.java:1591) ... 26 more Debugging the code I find the problem has to do with duplicate columns in the Insert statement. Stopping in eclipse in JDBCDataStore line 1621 I see this code: LOGGER.log(Level.FINE, "Inserting new features with ps: {0} ", sql); The sql at this point reads as follows: INSERT INTO SEQTABLE ( NAME,GEOM,NAME,GEOM,KEY ) VALUES ( ?,?,?,?,PKSEQUENCE.NEXTVAL) Notice that NAME appears twice in the list of values to insert. This is the root of the problem. I reproduce this one in eclipse with a right-click on OraclePrimaryKeyFinderOnlineTest.java and Run-As JUNIT. |