View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005088 | SymmetricDS | Bug | public | 2021-09-21 22:18 | 2021-11-04 14:58 |
Reporter | elong | Assigned To | elong | ||
Priority | normal | ||||
Status | closed | Resolution | fixed | ||
Product Version | 3.0.0 | ||||
Target Version | 3.12.12 | Fixed in Version | 3.12.12 | ||
Summary | 0005088: Duplicate column name error | ||||
Description | If the same column name is used on the same table -- but with different cases -- the batch will fail with a duplicate column name error. The source table is used to send column names in the batch. Then the target table is used to find matching columns, but it uses a case insensitive match and uses the first column it finds. 2021-09-21 16:57:30,120 ERROR [client-1] [ManageIncomingBatchListener] [client-1-dataloader-14] Failed to load batch server-12 org.jumpmind.db.sql.SqlException: ORA-00957: duplicate column name at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:313) at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302) at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:466) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:1075) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:258) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:196) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:85) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:203) at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:212) at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:178) at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:124) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1091) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.sql.SQLSyntaxErrorException: ORA-00957: duplicate column name at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1052) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:537) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:253) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:86) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:928) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1136) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3640) at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1384) at oracle.jdbc.driver.OraclePreparedStatement.executeLargeUpdate(OraclePreparedStatement.java:3730) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3710) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1061) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136) at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136) at org.jumpmind.db.sql.JdbcSqlTransaction.executePreparedUpdate(JdbcSqlTransaction.java:485) at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:463) ... 16 more Caused by: Error : 957, Position : 37, Sql = insert into "HANES"."MODULES" ("ID", "MYDUPLICATE", "NAME", "MYDUPLICATE", "CREATE_TIME") values (:1 ,:2 ,:3 ,:4 ,:5 ), OriginalSql = insert into "HANES"."MODULES" ("ID", "MYDUPLICATE", "NAME", "MYDUPLICATE", "CREATE_TIME") values (?,?,?,?,?), Error Msg = ORA-00957: duplicate column name at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498) ... 34 more | ||||
Steps To Reproduce | create table "MODULES" ("ID" integer primary key, "MYDUPLICATE" varchar(10), "NAME" varchar(10), "myDuplicate" varchar(10), "CREATE_TIME" timestamp) | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2021-09-21 22:18 | elong | New Issue | |
2021-09-21 22:18 | elong | Status | new => assigned |
2021-09-21 22:18 | elong | Assigned To | => elong |
2021-10-11 17:18 | elong | Status | assigned => resolved |
2021-10-11 17:18 | elong | Resolution | open => fixed |
2021-10-11 17:18 | elong | Fixed in Version | => 3.12.12 |
2021-10-11 18:00 | admin | Changeset attached | => SymmetricDS 3.12 ac2e2187 |
2021-11-04 14:58 | admin | Status | resolved => closed |