db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4373) different results with network server vs. embedded on select from a temporary table with resultset cursor hold over commit
Date Thu, 01 Oct 2009 12:39:23 GMT

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

Knut Anders Hatlen commented on DERBY-4373:
-------------------------------------------

If the prefetching was causing this, I'd expect the result to be the opposite (2 rows with
network server, 0 rows with embedded). The client driver has prefetched rows on executeQuery()
since DERBY-822, whereas embedded normally doesn't start fetching until ResultSet.next() is
called.

But if I understand the description correctly (the "with a new resultset" part in particular),
the result sets that give different results on network/embedded are created after commit,
so there is no way the prefetching could have happened before commit.

> different results with network server vs. embedded on select from a temporary table with
resultset cursor hold over commit
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4373
>                 URL: https://issues.apache.org/jira/browse/DERBY-4373
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.6.0.0
>            Reporter: Myrna van Lunteren
>         Attachments: repro_d4373.java
>
>
> Found this during review of conversion of declareGlobalTempTableJavaJDBC30 to junit (DERBY-2895)
- when I tried to run the test with network server:
> We define a statement like so:
>         Statement s1 = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY,
>                     ResultSet.HOLD_CURSORS_OVER_COMMIT );
> and global temp table like so:
>             s1.executeUpdate("declare global temporary table SESSION.t1(c11 int, c12
int) on commit delete rows not logged");
> Then, we insert 2 rows, open a result set that selects *, then do commit.
> With a new resultset, we do another select, which with network server gives 0 rows, but
with embedded, 2.

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


Mime
View raw message