From: | Martijn van Oosterhout <kleptog(at)svana(dot)org> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Returning multiple result sets |
Date: | 2005-11-20 21:30:48 |
Message-ID: | 20051120213046.GG32031@svana.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Nov 20, 2005 at 03:41:36PM -0500, Tom Lane wrote:
> Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> > Urk! I don't think anyone is suggesting that resultsets can be
> > interleaved.
>
> No? If not, why not? The main reason why this is being pushed, IIRC,
> is the claim that "you can do this easily in other databases". If you
> don't want to support interleaved retrieval of multiple datasets, you
> had better be prepared to prove that no other popular database can
> do it either.
I don't know if I can prove it. however, I do have a few datapoints:
1. In SQLJ when you call a stored procedure that returns multiple
datasets, you have to close a resultset before you can start on the
next one.
: Result sets are returned to the calling program in the same order
: that their cursors are opened in the stored procedure. When there are
: no more result sets to retrieve, getNextResultSet returns a null
: value.
2. ASP seems to have the same restriction
http://www.w3schools.com/ado/met_rs_nextrecordset.asp
Note, we should distinguish here between (a) being able to send a query
before you've retreived all the data of the current one and having the
results of those interleaved, and (b) having the results of a single
query return two results sets interleaved.
I beleive the first is supported by other DBs but not us (other than
explicit cursors). I don't think any support the latter, but I can't
claim to have checked them all. Your point is taken though, I'll see if
I can find any evidence one way or the other.
Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.
From | Date | Subject | |
---|---|---|---|
Next Message | Martijn van Oosterhout | 2005-11-20 21:41:42 | Re: Returning multiple result sets |
Previous Message | Magnus Hagander | 2005-11-20 21:01:24 | Re: Returning multiple result sets |