[ 
https://issues.apache.org/jira/browse/DERBY-6228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13811153#comment-13811153
 ] 

Dyre Tjeldvoll commented on DERBY-6228:
---------------------------------------

I think the getWarnings()-problem could have manifested itself in other 
situations as well, but I have not checked that. When auto-commit is on (which 
it often is, since that is the default), you will only detect it in rare cases, 
such as this one, where an extra commit is actually detectable (commit while 
navigating an RS with locators).

> 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: Dyre Tjeldvoll
>              Labels: derby_triage10_11
>         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.1#6144)

Reply via email to