View Issue Details

IDProjectCategoryView StatusLast Update
0006697SymmetricDSBugpublic2025-02-05 18:25
Reporterrichard@deepred.co.za Assigned To 
Prioritylow 
Status feedbackResolutionopen 
Product Version3.15.11 
Summary0006697: "SELECT NULL" support on Derby
Description"SELECT NULL", as implemented in the data recapture process, fails on Derby due to syntax error.
Steps To ReproduceA slight modification to the query might be an appropriate fix: SELECT CAST(NULL AS VARCHAR(255)) FROM ...
Additional Information2025-01-10 08:00:30,778 ERROR (JGPAAKGB-job-19) [org.jumpmind.symmetric.service.impl.PurgeService] Failed to execute purge, so aborting,
org.jumpmind.db.sql.SqlException: Syntax error: Encountered "null" at line 1, column 8.
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:308) ~[symmetric-db-3.15.11.jar:3.15.11]
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:297) ~[symmetric-db-3.15.11.jar:3.15.11]
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:377) ~[symmetric-jdbc-3.15.11.jar:3.15.11]
    at org.jumpmind.db.sql.JdbcSqlTransaction.queryForObject(JdbcSqlTransaction.java:202) ~[symmetric-jdbc-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.service.impl.DataService.getCsvDataFor(DataService.java:2848) ~[symmetric-core-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.service.impl.DataService.reCaptureData(DataService.java:3641) ~[symmetric-core-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.service.impl.DataService.reCaptureData(DataService.java:3587) ~[symmetric-core-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.service.impl.PurgeService.purgeByMinMax(PurgeService.java:650) ~[symmetric-core-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.service.impl.PurgeService.purgeStranded(PurgeService.java:444) ~[symmetric-core-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.service.impl.PurgeService.purgeOutgoing(PurgeService.java:152) ~[symmetric-core-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.service.impl.PurgeService.purgeOutgoing(PurgeService.java:105) [symmetric-core-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.job.OutgoingPurgeJob.doJob(OutgoingPurgeJob.java:47) [symmetric-client-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.job.AbstractJob.invoke(AbstractJob.java:202) [symmetric-client-3.15.11.jar:3.15.11]
    at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:268) [symmetric-client-3.15.11.jar:3.15.11]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-6.1.14.jar:6.1.14]
    at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) [spring-context-6.1.14.jar:6.1.14]
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:?]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
    at java.base/java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "null" at line 1, column 8.
    at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:94) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:325) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.am.ClientStatement.executeQuery(ClientStatement.java:514) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:318) ~[commons-dbcp2-2.12.0.jar:2.12.0]
    at org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:318) ~[commons-dbcp2-2.12.0.jar:2.12.0]
    at org.jumpmind.db.sql.JdbcSqlTransaction$1.execute(JdbcSqlTransaction.java:221) ~[symmetric-jdbc-3.15.11.jar:3.15.11]
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:375) ~[symmetric-jdbc-3.15.11.jar:3.15.11]
    ... 19 more
Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered "null" at line 1, column 8.
    at org.apache.derby.client.am.ClientStatement.completeSqlca(ClientStatement.java:2116) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.net.NetStatementReply.parsePrepareError(NetStatementReply.java:579) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(NetStatementReply.java:145) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(NetStatementReply.java:54) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(StatementReply.java:41) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(NetStatement.java:156) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.am.ClientStatement.readPrepareDescribeOutput(ClientStatement.java:1702) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.am.ClientStatement.flowExecute(ClientStatement.java:2381) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.am.ClientStatement.executeQueryX(ClientStatement.java:520) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.derby.client.am.ClientStatement.executeQuery(ClientStatement.java:505) ~[derbyclient-10.16.1.1.jar:?]
    at org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:318) ~[commons-dbcp2-2.12.0.jar:2.12.0]
    at org.apache.commons.dbcp2.DelegatingStatement.executeQuery(DelegatingStatement.java:318) ~[commons-dbcp2-2.12.0.jar:2.12.0]
    at org.jumpmind.db.sql.JdbcSqlTransaction$1.execute(JdbcSqlTransaction.java:221) ~[symmetric-jdbc-3.15.11.jar:3.15.11]
    at org.jumpmind.db.sql.JdbcSqlTransaction.executeCallback(JdbcSqlTransaction.java:375) ~[symmetric-jdbc-3.15.11.jar:3.15.11]
    ... 19 more
Tagsdialect: Derby (Apache DB)

Activities

emiller

2025-01-29 18:39

developer   ~0002598

Instead of null, there is supposed to be a column name. Can you run the following SQL and reply with the result to get us some more information?

select distinct trigger_hist_id, source_table_name, pk_column_names, column_names from sym_trigger_hist where trigger_hist_id in (select trigger_hist_id from sym_data d where not exists (select 1 from sym_data_event e where e.data_id=d.data_id) and d.data_id < (select min(start_id) from sym_data_gap where is_expired=0));

richard@deepred.co.za

2025-01-31 06:28

reporter   ~0002603

Thanks. I have since rebuilt the node, so unfortunately I have no more information to provide. I build a lot of Derby nodes, so if it happens again I will revisit this.

Issue History

Date Modified Username Field Change
2025-01-10 07:26 richard@deepred.co.za New Issue
2025-01-29 18:39 emiller Status new => feedback
2025-01-29 18:39 emiller Note Added: 0002598
2025-01-29 18:45 emiller Tag Attached: dialect: derby
2025-01-29 20:16 admin Tag Renamed dialect: derby => dialect: Derby (Apache DB)
2025-01-31 06:28 richard@deepred.co.za Note Added: 0002603
2025-01-31 06:28 richard@deepred.co.za Status feedback => new
2025-02-05 18:24 cquamme Priority normal => low
2025-02-05 18:25 cquamme Status new => feedback