[
https://issues.apache.org/jira/browse/DERBY-3221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557287#action_12557287
]
Knut Anders Hatlen commented on DERBY-3221:
-------------------------------------------
I think the fix looks good, but I'm not completely convinced that (holder.CID
== 0) is equivalent to (!holder.isConglomCreated()). In
TemporaryRowHolderImpl.truncate(), conglomCreated is set to false, but CID is
left untouched, so they may get out of sync. (But since truncate() first calls
close(), which will drop the conglomerate, I don't think that this code will
ever be executed. Perhaps it's better to remove it?) Similarly,
TemporaryRowHolderResultSet.reStartScan() sets CID and leaves conglomCreated
untouched. Do you think this can cause any problems?
> "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.