[ 
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)

Reply via email to