Stephen Frost <sfrost@snowman.net> writes:
> Right... As I mentioned, the application can use cursors to
> *work-around* this foolishness in libpq but that doesn't really make it
> any less silly.
Before you define libpq's behavior as "foolishness", you really ought to
have a watertight semantics for what will happen in your proposal when a
SELECT fails partway through (ie, after delivering some but not all of
the tuples). In my mind the main reason for all-or-nothing PGresult
behavior is exactly to save applications from having to deal with that
case.
regards, tom lane