> 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