From: | Oliver Jowett <oliver(at)opencloud(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: SQL-Invoked Procedures for 8.1 |
Date: | 2004-09-23 20:40:43 |
Message-ID: | 415334CB.1090808@opencloud.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> regression=# create rule r1 as on insert to surprise do
> regression-# ( select 'hello' ; select 'how are you' );
> CREATE RULE
> The 'hello' result was in fact computed and sent by the backend, but it
> was discarded in libpq (see the documentation about PQexec: only the
> last resultset returned by a querystring is returned to the caller).
> psql could have printed both results, but it would need to use
> PQsendQuery/PQgetResult instead of PQexec.
Yikes. I thought this couldn't happen under the V3 extended query protocol.
The JDBC driver currently sends Describe/Execute and expects exactly one
of RowDescription/NoData followed by zero or more DataRows followed by
one of CommandComplete/EmptyQueryResponse/PortalSuspended. This seems
wrong if there could be multiple resultsets from a single Execute.
How can clients distinguish multiple resultsets if they're using the
extended query protocol?
-O
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2004-09-23 20:54:28 | Re: SQL-Invoked Procedures for 8.1 |
Previous Message | Tom Lane | 2004-09-23 20:37:52 | Re: doc patch for ssl in server |