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 "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2010/01/22 16:29:21 UTC

[jira] Created: (DERBY-4521) Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX

Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX
-----------------------------------------------------------------------------------------

                 Key: DERBY-4521
                 URL: https://issues.apache.org/jira/browse/DERBY-4521
             Project: Derby
          Issue Type: Bug
          Components: JDBC
            Reporter: Dag H. Wanvik
            Priority: Minor


This was discovered investigating DERBY-4477 using the repro for DERBY-3646, which erroneously
tries to keep two streams passed out via REsultSet#getBinaryStream open at the same time. This is prohibited by JDBC [1],
but Derby allows it for non-materialized streams because the close call on the passed out stream (performed by EmbedResultSet#closeCurrentStream at the time of the next getXXX) is not heed by the underlying Derby stream. 

[1] http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getBinaryStream(int)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-4521) Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX

Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dag H. Wanvik updated DERBY-4521:
---------------------------------

    Issue & fix info: [Repro attached]

> Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX
> -----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4521
>                 URL: https://issues.apache.org/jira/browse/DERBY-4521
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Dag H. Wanvik
>            Priority: Minor
>         Attachments: repro.diff
>
>
> This was discovered investigating DERBY-4477 using the repro for DERBY-3646, which erroneously
> tries to keep two streams passed out via REsultSet#getBinaryStream open at the same time. This is prohibited by JDBC [1],
> but Derby allows it for non-materialized streams because the close call on the passed out stream (performed by EmbedResultSet#closeCurrentStream at the time of the next getXXX) is not heed by the underlying Derby stream. 
> [1] http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getBinaryStream(int)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-4521) Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX

Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dag H. Wanvik updated DERBY-4521:
---------------------------------

    Bug behavior facts: [Deviation from standard, Embedded/Client difference]  (was: [Deviation from standard])

> Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX
> -----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4521
>                 URL: https://issues.apache.org/jira/browse/DERBY-4521
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Dag H. Wanvik
>            Priority: Minor
>
> This was discovered investigating DERBY-4477 using the repro for DERBY-3646, which erroneously
> tries to keep two streams passed out via REsultSet#getBinaryStream open at the same time. This is prohibited by JDBC [1],
> but Derby allows it for non-materialized streams because the close call on the passed out stream (performed by EmbedResultSet#closeCurrentStream at the time of the next getXXX) is not heed by the underlying Derby stream. 
> [1] http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getBinaryStream(int)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-4521) Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX

Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-4521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dag H. Wanvik updated DERBY-4521:
---------------------------------

    Attachment: repro.diff

Uploading a repro, as a patch to ResultSetStreamTest which shows both that the embedded driver behaves incorrectly and that the client driver behaves correctly.


> Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX
> -----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4521
>                 URL: https://issues.apache.org/jira/browse/DERBY-4521
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Dag H. Wanvik
>            Priority: Minor
>         Attachments: repro.diff
>
>
> This was discovered investigating DERBY-4477 using the repro for DERBY-3646, which erroneously
> tries to keep two streams passed out via REsultSet#getBinaryStream open at the same time. This is prohibited by JDBC [1],
> but Derby allows it for non-materialized streams because the close call on the passed out stream (performed by EmbedResultSet#closeCurrentStream at the time of the next getXXX) is not heed by the underlying Derby stream. 
> [1] http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getBinaryStream(int)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-4521) Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX

Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-4521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12803772#action_12803772 ] 

Dag H. Wanvik commented on DERBY-4521:
--------------------------------------

The error is seen only with the embedded driver. The client driver behaves as expected.


> Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX
> -----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4521
>                 URL: https://issues.apache.org/jira/browse/DERBY-4521
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Dag H. Wanvik
>            Priority: Minor
>
> This was discovered investigating DERBY-4477 using the repro for DERBY-3646, which erroneously
> tries to keep two streams passed out via REsultSet#getBinaryStream open at the same time. This is prohibited by JDBC [1],
> but Derby allows it for non-materialized streams because the close call on the passed out stream (performed by EmbedResultSet#closeCurrentStream at the time of the next getXXX) is not heed by the underlying Derby stream. 
> [1] http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getBinaryStream(int)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.