View Issue Details

IDProjectCategoryView StatusLast Update
0003764SymmetricDSBugpublic2018-10-31 14:59
ReportermmichalekAssigned Tommichalek 
Prioritynormal 
Status closedResolutionfixed 
Product Version3.9.0 
Target Version3.9.15Fixed in Version3.9.15 
Summary0003764: Loading of Oracle Geography/Geometry Type fails when SRID is explicit on the source column
DescriptionHere is an example where table DRAWING column AREA is specified with SRID = 4326.

The fix is to mofidy the call SDO_GEOMETRY to pass both the CLOB and the SRID. E.g.
"SDO_GEOMETRY(?, 4326)
The value 4326 (or null) is now determined through a subselect within the DML itself.. E.g.:
select SRID from all_sdo_geom_metadata where owner = '%s' and table_name = '%s' and column_name = '%s'

This is the error that was reported:
2018-10-04 16:56:17,854 INFO [client-001] [DefaultDatabaseWriter] [client-001-dataloader-3] Failed to process insert event in batch server-35 on channel 'default'.
Failed sql was: insert into "TARGET"."DRAWING" ("ID", "AREA", "AREA_NAME", "BEARING_VALUE", "ELLIPSE_CONSTANT", "ELLIPSE_FOCUS1", "ELLIPSE_FOCUS2", "INNER_X_RADIOUS", "INNER_Y_RADIOUS", "POSITION", "SHAPE_TYPE", "BM_IS_DELETED", "EXECUTION_ID", "SCENARIO_ID", "BM_VERSION") values (?,SYM_WKT2GEOM(?),?,?,?,SYM_WKT2GEOM(?),SYM_WKT2GEOM(?),?,?,SYM_WKT2GEOM(?),?,?,?,?,?)
Failed sql parameters: ['test6', 'POLYGON ((29.9351664801829 40.6893696759561))', 'dfsdf', null, null, null, null, null, null, null, 1, 0, null, null, 183]
Failed sql parameters types: [VARCHAR, CLOB, VARCHAR, DECIMAL, DECIMAL, CLOB, CLOB, DECIMAL, DECIMAL, CLOB, DECIMAL, DECIMAL, VARCHAR, VARCHAR, DECIMAL]
Failed sql state and code: 99999 (29875)
Failed row data was: "test6","POLYGON ((29.9351664801829 40.6893696759561))","dfsdf",,,,,,,,"1","0",,,"183"
 StackTraceKey.init [SqlException:4248597322]
org.jumpmind.db.sql.SqlException: ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
ORA-13365: layer SRID does not match geometry SRID
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 930
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 435

    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:302)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:466)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:896)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:203)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:191)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:201)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$2.call(DataLoaderService.java:1039)
    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:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
ORA-13365: layer SRID does not match geometry SRID
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 930
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 435

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1037)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3665)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1064)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
    at org.jumpmind.db.sql.JdbcSqlTransaction.executePreparedUpdate(JdbcSqlTransaction.java:485)
    at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:463)
    ... 16 more

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.9 665e1fcd

2018-10-26 12:25:45

mmichalek

Details Diff
0003764: Loading of Oracle Geography/Geometry Type fails when SRID is explicit on the source column
0003764
mod - symmetric-client/src/main/java/org/jumpmind/symmetric/db/oracle/OracleSymmetricDialect.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDmlStatement.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/sql/DmlStatement.java Diff File

Issue History

Date Modified Username Field Change
2018-10-19 13:35 mmichalek New Issue
2018-10-19 13:35 mmichalek Status new => assigned
2018-10-19 13:35 mmichalek Assigned To => mmichalek
2018-10-26 12:26 mmichalek Status assigned => resolved
2018-10-26 12:26 mmichalek Resolution open => fixed
2018-10-26 12:26 mmichalek Fixed in Version => 3.9.15
2018-10-26 13:00 mmichalek Changeset attached => SymmetricDS 3.9 665e1fcd
2018-10-31 14:59 mmichalek Status resolved => closed