> On 24-7-2014 19:27, Vlad Khorsun wrote:
>>> As far as I understand it, you can't have an IResultSet unless the
>>> result set is open, so setting the cursor name on an IResultSet is not
>>> very logical.
>>
>>      What about more than one simultaneously active result set produced by 
>> the same statement ?
> 
> As far as I know Firebird still doesn't support multiple result sets, 

    You are wrong, sorry.

> and most implementations I know with multiple result sets either require 
> or allow only one result set open at a time (and if they allow multiple 
> result sets open, that is usually achieved by fully reading and 
> detaching previous result sets).

    You are wrong again.

1. Firebird supports multiply active result sets within same connection since 
Interbase time
and this is one of its basic features. Note, it is implemented at the engine 
level and does not
use any kind of "full fetch and close" technique.

2. Statement (request) and cursor (resultset) is a different entities for the 
engine and there is 
no such restriction as one active cursor per statement. I.e. engine able to 
produce as many 
open cursors (by the same statement) as required. You could see it when 
recursive procedure 
is executed, for example. (I speak here about JrdStatement and jrd_req classes, 
btw)

3. I was a bit wrong in that that this feature is not exposed at DSQL level, it 
could be used by 
applications only using old BLR API (isc_start_request, isc_start_and_send)

4. What you speak about (as i understand) is ability to return few resultsets 
(of probably
different formats) by the single execution of some statement. This feature also 
exists in old 
BLR API and not implemented by DSQL.


    So, currently we really have no way to call IStatement::openCursor while 
previous resultset 
is alive, but technically it is very possible and we should not create 
artificial problems for it 
even if "holy standard" have no such feature. IMHO, of course.


Regards,
Vlad

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to