Re: [PATCH] Provide rowcount for utility SELECTs
Boszormenyi Zoltan <zb@cybertec.at>
From: Boszormenyi Zoltan <zb@cybertec.at>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter_e@gmx.net>, Hans-Juergen Schoenig <hs@cybertec.at>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-02-11T20:00:56Z
Lists: pgsql-hackers
Alvaro Herrera írta:
> Boszormenyi Zoltan escribió:
>
>> Robert Haas írta:
>>
>>> ...
>>> OK, please change it.
>>>
>>>
>> New patch is attached with the discussed changes.
>>
>
> This looks all wrong. PORTAL_ONE_SELECT is now being passed through
> FillPortalStore,
Where do you read that? The code in my patch reads:
/*
* If we have not yet run the command,
do so, storing its
! * results in the portal's tuplestore.
Do this only for the
! * PORTAL_ONE_RETURNING and
PORTAL_UTIL_SELECT cases.
*/
! if ((portal->strategy !=
PORTAL_ONE_SELECT) && (!portal->holdStore))
FillPortalStore(portal, isTopLevel);
So, PORTAL_ONE_SELECT doesn't run through FillPortalStore().
> which runs it to completion, whereas it was previously
> passed via PortalRunSelect first, which has different semantics
> regarding the "count" arg.
>
> Also, even if that weren't wrong, FillPortalStore states at its header
> comment that it is only used for the other two cases (ONE_RETURNING and
> UTIL_SELECT), but now is being used for ONE_SELECT as well.
>
>
--
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/