[ https://issues.apache.org/jira/browse/DERBY-3221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557355#action_12557355 ]
Bryan Pendleton commented on DERBY-3221: ---------------------------------------- > I really loathe such "cooperating classes" where correct behavior depends > on a shared state that's manipulated by both I think you are right to criticize this implementation. Perhaps a reasonable approach is to first make and verify the small fix, then later, separately, re-design this interaction as you suggest, with an explicit API for tracking whether or not the temporary row holder overflowed to an explicit conglomerate or not. > "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 > ------------------------------------------------------------------------------------------------------------------------------------ > > Key: DERBY-3221 > URL: https://issues.apache.org/jira/browse/DERBY-3221 > Project: Derby > Issue Type: Bug > Components: JDBC > Affects Versions: 10.3.1.4, 10.3.2.1 > Environment: Windows Vista Ubuntu Linux on IBM's VM (RAD 7.0) > Reporter: Tim Halloran > Attachments: conlomerate.tar.gz, derby-3221.prelim.diff, > derby-3221.v1.diff, SubShape.properties > > > 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 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.