We are getting an SQLException when several prepared statement deletes are done upon an existing database. As far as we can tell this exception should never occur unless (evil) things like deleting the database or editing files occurs. This is using the embedded driver within a plug-in inside RAD 7.0 (and Eclipse 3.3).
I'm not sure what else to submit that might be helpful.
java.sql.SQLException: The conglomerate (-5) requested does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.surelogic.sierra.jdbc.LazyPreparedStatementConnection$LazyPreparedStatement.invoke(Unknown Source)
at $Proxy1.execute(Unknown Source)
at com.surelogic.sierra.jdbc.finding.FindingManager.delete(Unknown Source)
at com.surelogic.sierra.jdbc.finding.ClientFindingManager.updateLocalFindings(Unknown Source)
at com.surelogic.sierra.jdbc.project.ClientProjectManager.synchronizeProject(Unknown Source)
at com.surelogic.sierra.client.eclipse.jobs.SynchronizeJob.synchronize(Unknown Source)
at com.surelogic.sierra.client.eclipse.jobs.SynchronizeJob.run(Unknown Source)
at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
Caused by: ERROR XSAI2: The conglomerate (-5) requested does not exist.
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(Unknown Source)
at org.apache.derby.impl.store.access.RAMTransaction.openScan(Unknown Source)
at org.apache.derby.impl.sql.execute.TemporaryRowHolderResultSet.getNextRowCore(Unknown Source)
at org.apache.derby.impl.sql.execute.TemporaryRowHolderResultSet.getNextRow(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexChanger.finish(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.finish(Unknown Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.finish(Unknown Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
... 14 more
Description
We are getting an SQLException when several prepared statement deletes are done upon an existing database. As far as we can tell this exception should never occur unless (evil) things like deleting the database or editing files occurs. This is using the embedded driver within a plug-in inside RAD 7.0 (and Eclipse 3.3).
I'm not sure what else to submit that might be helpful.
java.sql.SQLException: The conglomerate (-5) requested does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.surelogic.sierra.jdbc.LazyPreparedStatementConnection$LazyPreparedStatement.invoke(Unknown Source)
at $Proxy1.execute(Unknown Source)
at com.surelogic.sierra.jdbc.finding.FindingManager.delete(Unknown Source)
at com.surelogic.sierra.jdbc.finding.ClientFindingManager.updateLocalFindings(Unknown Source)
at com.surelogic.sierra.jdbc.project.ClientProjectManager.synchronizeProject(Unknown Source)
at com.surelogic.sierra.client.eclipse.jobs.SynchronizeJob.synchronize(Unknown Source)
at com.surelogic.sierra.client.eclipse.jobs.SynchronizeJob.run(Unknown Source)
at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
Caused by: ERROR XSAI2: The conglomerate (-5) requested does not exist.
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(Unknown Source)
at org.apache.derby.impl.store.access.RAMTransaction.openScan(Unknown Source)
at org.apache.derby.impl.sql.execute.TemporaryRowHolderResultSet.getNextRowCore(Unknown Source)
at org.apache.derby.impl.sql.execute.TemporaryRowHolderResultSet.getNextRow(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexChanger.finish(Unknown Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.finish(Unknown Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.finish(Unknown Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
... 14 more
DERBY-3221: "java.sql.SQLException: The conglomerate (-5) requested does not exist." from Derby 10.3.1.4 embedded within Eclipse 3.3 and RAD 7.0
Patch file: DERBY-3221.v3.diff
DERBY-3343: Subsequent calls to PreparedStatement cause SQLIntegrityConstraintViolationException on column that is "Generated always"
Patch file: d3343.v3.diff
Modifies the logic in ResultColumn.getOrderableVariantType() so that it behaves
correctly even when a default column is explicitly mentioned in an insert statement.
DERBY-3221: "java.sql.SQLException: The conglomerate (-5) requested
does not exist." from Derby 10.3.1.4 embedded within Eclipse 3.3 and
RAD 7.0
Always set RowHolder.CID to 0, when RowHolder.conglomCreated is set to
false and the conglomerate is removed, because RowHolder's clients test for
CID==0 to find out if a temporary conglomerate exists.