db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-822) Client driver: Pre-fetch data on executeQuery()
Date Tue, 27 Jun 2006 20:58:30 GMT
    [ http://issues.apache.org/jira/browse/DERBY-822?page=comments#action_12418123 ] 

Kathey Marsden commented on DERBY-822:
--------------------------------------

I think we probably need to check the "Existing application Impact" box on this issue and
provide a release note because I think this is one of those cases where we intentionally introduced
the following behaviour changes:
 
      1)  Queries may fail earlier.  Instead of failing on the  ResultSet next() call, they
may now fail on execute()/executeQuery(). Applications need to be prepared to handle this.
         2)   Prefetching may  impact locking behavior.  Locks may be acquired earlier or
may be acquired where they never were before, promoted to table locks etc.
         3) This introduces a new difference I think between embedded and network behavior


Does this sound right?  If so I can take a stab and a release note.  Is there a workaround
if prefetching causes users any trouble on upgrade?




> Client driver: Pre-fetch data on executeQuery()
> -----------------------------------------------
>
>          Key: DERBY-822
>          URL: http://issues.apache.org/jira/browse/DERBY-822
>      Project: Derby
>         Type: Improvement

>   Components: Network Server, Performance
>     Versions: 10.2.0.0
>     Reporter: Knut Anders Hatlen
>     Assignee: Knut Anders Hatlen
>     Priority: Minor
>      Fix For: 10.2.0.0
>  Attachments: DERBY-822-v1.diff, DERBY-822-v1.stat, DERBY-822-v2.diff, DERBY-822-v2.stat,
DERBY-822-v3.diff, DERBY-822-v3.stat
>
> Currently, the client driver does not pre-fetch data when
> executeQuery() is called, but it does on the first call to
> ResultSet.next(). Pre-fetching data on executeQuery() would reduce
> network traffic and improve performance.
> The DRDA protocol supports this. From the description of OPNQRY (open
> query):
>   The qryrowset parameter specifies whether a rowset of rows is to be
>   returned with the command.  This is only honored for non-dynamic
>   scrollable cursors (QRYATTSNS not equal to QRYSNSDYN) and for
>   non-scrollable cursors conforming to the limited block query
>   protocol.  The target server fetches no more than the requested
>   number of rows. It may fetch fewer rows if it is restricted by extra
>   query block limits, or if a fetch operation results in a negative
>   SQLSTATE or an SQLSTATE of 02000.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message