You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Harshvardhan Gupta (JIRA)" <ji...@apache.org> on 2017/06/22 22:06:00 UTC
[jira] [Commented] (DERBY-3219) Group by query with many aggregate
columns and case statements fails with: ERROR XSDA7: Restore of a
serializable or SQLData object of class , attempted to read more data than
was originally stored
[ https://issues.apache.org/jira/browse/DERBY-3219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16060086#comment-16060086 ]
Harshvardhan Gupta commented on DERBY-3219:
-------------------------------------------
While examining the failed test cases as part of patch for DERBY-6940,I get this error because of exactly the same root cause. i.e value I am trying to store is a SQLVarChar whose value is "" (that is, a string of length 0).
]
To reproduce the error with the patch attached with DERBY-6940, run
ant -Dderby.junit.testclass=org.apache.derbyTesting.functionTests.tests.lang.OrderByAndSortAvoidance junit-single
Since I am trying to filter the min and max values from the database, a string of length 0 turns out to be min value for the test cases in OrderByAndSortAvoidance.
> Group by query with many aggregate columns and case statements fails with: ERROR XSDA7: Restore of a serializable or SQLData object of class , attempted to read more data than was originally stored
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3219
> URL: https://issues.apache.org/jira/browse/DERBY-3219
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.3.1.4
> Reporter: Stan Bradbury
> Assignee: Bryan Pendleton
> Fix For: 10.5.1.1
>
> Attachments: maxminPatch.diff, patchWithTest.diff, pivotView.zip, repro.java, sanityTest.diff, ten_four_patch.diff, testWithMemControls.diff
>
>
> using the attached database (v10.3) - " select * from pivotview " fails with the stack trace below. A view (pivotview_ok) created on a subset of the columns in pivotview executes fine. Adding one column back into pivotview_ok causes failures most of the time. See attached for view definitions.
> 2007-11-21 00:58:49.421 GMT Thread[main,5,main] (XID = 2734422), (SESSIONID = 0), (DATABASE = pivotview), (DRDAID = null), Failed Statement is: select * from pivotview
> ERROR XSDA7: Restore of a serializable or SQLData object of class , attempted to read more data than was originally stored
> at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> at org.apache.derby.impl.store.raw.data.StreamFileContainer.fetchNext(Unknown Source)
> at org.apache.derby.impl.store.raw.data.StreamFileContainerHandle.fetchNext(Unknown Source)
> at org.apache.derby.impl.store.access.sort.MergeScan.mergeARow(Unknown Source)
> at org.apache.derby.impl.store.access.sort.MergeScan.init(Unknown Source)
> at org.apache.derby.impl.store.access.sort.MergeSort.openSortScan(Unknown Source)
> at org.apache.derby.impl.store.access.RAMTransaction.openSortScan(Unknown Source)
> at org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.loadSorter(Unknown Source)
> at org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.openCore(Unknown Source)
> at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown Source)
> at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
> at org.apache.derby.tools.ij.main(Unknown Source)
> Caused by: java.io.EOFException
> at java.io.DataInputStream.readBoolean(DataInputStream.java:248)
> at org.apache.derby.impl.sql.execute.MaxMinAggregator.readExternal(Unknown Source)
> at org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(Unknown Source)
> at org.apache.derby.iapi.types.UserType.readExternal(Unknown Source)
> ... 22 more
> ============= begin nested exception, level (1) ===========
> java.io.EOFException
> at java.io.DataInputStream.readBoolean(DataInputStream.java:248)
> at org.apache.derby.impl.sql.execute.MaxMinAggregator.readExternal(Unknown Source)
> at org.apache.derby.iapi.services.io.FormatIdInputStream.readObject(Unknown Source)
> at org.apache.derby.iapi.types.UserType.readExternal(Unknown Source)
> at org.apache.derby.impl.store.raw.data.StreamFileContainer.fetchNext(Unknown Source)
> at org.apache.derby.impl.store.raw.data.StreamFileContainerHandle.fetchNext(Unknown Source)
> at org.apache.derby.impl.store.access.sort.MergeScan.mergeARow(Unknown Source)
> at org.apache.derby.impl.store.access.sort.MergeScan.init(Unknown Source)
> at org.apache.derby.impl.store.access.sort.MergeSort.openSortScan(Unknown Source)
> at org.apache.derby.impl.store.access.RAMTransaction.openSortScan(Unknown Source)
> at org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.loadSorter(Unknown Source)
> at org.apache.derby.impl.sql.execute.GroupedAggregateResultSet.openCore(Unknown Source)
> at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown Source)
> at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
> at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
> at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
> at org.apache.derby.tools.ij.main(Unknown Source)
> ============= end nested exception, level (1) ===========
> Cleanup action completed
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)