db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Knut Anders Hatlen <Knut.Hat...@Sun.COM>
Subject Re: [jira] Commented: (DERBY-822) Client driver: Pre-fetch data on executeQuery()
Date Sun, 12 Feb 2006 10:32:58 GMT
Kathey Marsden <kmarsdenderby@sbcglobal.net> writes:

> Knut Anders Hatlen wrote:
>
>>Bryan Pendleton <bpendleton@amberpoint.com> writes:
>>
>>  
>>
>>>>I am not convinced that the comment about LMTBLKPRC is correct, I
>>>>think it is also allowed for FIXROWPRC. Will look more into that.
>>>>      
>>>>
>>>I think so, too, although there are a number of restrictions in the
>>>fixed row query protocol case. From page 126 of DRDA V.1:
>>>
>>>   For the fixed row query protocol, the qryrowset is a parameter on
>>>   the OPNQRY command that allows the requester to specify the return
>>>   of a rowset with the OPNQRYRM. This parameter applies only to
>>>   scrollable, non-sensitive dynamic, non-rowset cursors (QRYATTSCR
>>>   is TRUE, QRYATTSNS is not QRYSNSDYN, QRYATTSET is FALSE). For these
>>>   cursors, qryrowset specifies that a DRDA rowset is to be returned
>>>   with the OPNQRYRM (see Appendix B (on page 655) for more information
>>>   about DRDA rowsets). For all other cursors, the parameter is ignored
>>>   and no data is returned with the OPNQRYRM.
>>>
>>>Note that not only are there restrictions, but it also seems that
>>>the client has to request this rowset. We can't just send it
>>>automatically when the restrictions are met unless the client also
>>>sets qryrowset.
>>>    
>>>
>>
>>I think you are right, Bryan. The Query Data Transfer Protocol Rules
>>(DRDA Vol 1, p. 441) specify this in greater detail.
>>
>>One thing that puzzles me is that the network server has no code for
>>returning QRYDTA in OPNQRYRM when the protocol is FIXROWPRC. The way I
>>read the spec, the server is required to return QRYDTA in FIXROWPRC
>>when qryrowset is non-zero (and there are no LOBs, and the cursor
>>doesn't support multi-row fetch). Does anyone know why it never sends
>>QRYDTA with OPNQRYRM? 
>>
> Is there a case where client  sends a request with a non-zero qryrowset
> that would necessitate that the QRYDTA be sent with the OPNQRYRM?

I guess not, since we would have noticed that it failed... :)

> I am guessing at the time of implementation JCC was not sending
> qryrowset  at all and the support is not there, simply because no one
> has added it yet.  In general, there are many pieces of the  protocol
> that are missing because the existing clients don't need it and because
> the spec is biggish.  If we need it we should add it (with sensitivity
> to older clients of course).

We probably don't need it yet. I think I'll just add support for the
optional QRYDTA in the limited block protocol this time, and then
someone might add what's needed for the fixed row protocol later.

-- 
Knut Anders


Mime
View raw message