[
https://issues.apache.org/jira/browse/DERBY-6228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14209137#comment-14209137
]
ASF subversion and git services commented on DERBY-6228:
--------------------------------------------------------
Commit 1639238 from [~mamtas] in branch 'code/branches/10.10'
[ https://svn.apache.org/r1639238 ]
DERBY-6228 (DisconnectException when executing an SELECT [LOB column] ORDER BY
[...] statement with TYPE_SCROLL_[IN]SENSITIVE and CONCUR_UPDATABLE)
Back porting the changes to 10.10. The only issue was that the original commit
to trunk(subsequent backport to 10.11) changed file
java/client/org/apache/derby/client/am/ClientResultSet.java which does not
exist in 10.10. The corresponding file in 10.10 is
java/client/org/apache/derby/client/am/ResultSet.java. I have hand done the
changes into ResultSet.java to copy the changes made in ClientResultSet.java.
junit and derbyall ran fine
> DisconnectException when executing an SELECT [LOB column] ORDER BY [...]
> statement with TYPE_SCROLL_[IN]SENSITIVE and CONCUR_UPDATABLE
> --------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-6228
> URL: https://issues.apache.org/jira/browse/DERBY-6228
> Project: Derby
> Issue Type: Bug
> Components: Network Client
> Affects Versions: 10.8.3.0, 10.10.1.1
> Reporter: Lukas Eder
> Assignee: Mamta A. Satoor
> Labels: derby_triage10_11
> Fix For: 10.11.1.1
>
> Attachments: Derby6228.java, derby-6228-a.diff
>
>
> Here's a minimal program to reproduce the issue:
> Connection c = DriverManager.getConnection(
> "jdbc:derby://localhost:1527/test;create=true", "TEST", "TEST");
> Statement s = c.createStatement();
> s.executeUpdate(
> "CREATE TABLE t(" +
> "id INT NOT NULL, " +
> "c CLOB" +
> ")");
> s.executeUpdate("INSERT INTO t VALUES (1, null)");
> s.executeUpdate("INSERT INTO t VALUES (2, null)");
> PreparedStatement stmt = c.prepareStatement(
> "SELECT * FROM t ORDER BY id",
> ResultSet.TYPE_SCROLL_INSENSITIVE,
> ResultSet.CONCUR_UPDATABLE);
> ResultSet rs = stmt.executeQuery();
> rs.next();
> The above leads to this exception:
> java.sql.SQLNonTransientConnectionException: Netzwerkprotokollausnahme:
> DSS-Länge ist beim Beenden des Parsing-Vorgangs der ID-Kette größer als 0.
> Die Verbindung wurde beendet.
> at
> org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown
> Source)
> at org.apache.derby.client.am.SqlException.getSQLException(Unknown
> Source)
> at org.apache.derby.client.am.ResultSet.next(Unknown Source)
> at
> org.jooq.test._.testcases.KeepResultSetTests.testKeepRSWithUpdateOnChangeLazy(KeepResultSetTests.java:330)
> at
> org.jooq.test.jOOQAbstractTest.testKeepRSWithUpdateOnChangeLazy(jOOQAbstractTest.java:2240)
> ...
> Caused by: org.apache.derby.client.am.DisconnectException:
> Netzwerkprotokollausnahme: DSS-Länge ist beim Beenden des Parsing-Vorgangs
> der ID-Kette größer als 0. Die Verbindung wurde beendet.
> at org.apache.derby.client.net.Reply.endOfSameIdChainData(Unknown
> Source)
> at
> org.apache.derby.client.net.NetResultSetReply.readPositioningFetch(Unknown
> Source)
> at
> org.apache.derby.client.net.ResultSetReply.readPositioningFetch(Unknown
> Source)
> at
> org.apache.derby.client.net.NetResultSet.readPositioningFetch_(Unknown Source)
> at org.apache.derby.client.am.ResultSet.getRowCount(Unknown Source)
> at org.apache.derby.client.am.ResultSet.resultSetContainsNoRows(Unknown
> Source)
> at org.apache.derby.client.am.ResultSet.getNextRowset(Unknown Source)
> at org.apache.derby.client.am.ResultSet.nextX(Unknown Source)
> ... 30 more
> To reproduce the above, all of the following things seem relevant:
> 1. There is at least one BLOB or CLOB column being selected
> 2. An ORDER BY clause is added
> 3. ResultSet.TYPE_SCROLL_SENSITIVE or ResultSet.TYPE_SCROLL_INSENSITIVE is set
> 4. ResultSet.CONCUR_UPDATABLE is set
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)