On Wed, Jun 22, 2011 at 1:36 PM, Robert Haas <robertmh...@gmail.com> wrote: > On Wed, Jun 22, 2011 at 12:51 PM, Alvaro Herrera > <alvhe...@commandprompt.com> wrote: >> Excerpts from Robert Haas's message of mié jun 22 08:56:02 -0400 2011: >> >>> Another option might be to leave heap_openrv() and relation_openrv() >>> alone and add a missing_ok argument to try_heap_openrv() and >>> try_relation_openrv(). Passing true would give the same behavior as >>> presently; passing false would make them behave like the non-try >>> version. >> >> That would be pretty weird, having two functions, one of them sometimes >> doing the same thing as the other one. >> >> I understand Noah's concern but I think your original proposal was saner >> than both options presented so far. > > I agree with you. If we had a whole pile of options it might be worth > having heap_openrv() and heap_openrv_extended() so as not to > complicate the simple case, but since there's no forseeable need to > add anything other than missing_ok, my gut is to just add it and call > it good.
On further review, my gut is having second thoughts. This patch is an awful lot smaller and easier to verify correctness if I just mess with the "try" calls and not the regular ones; and it avoids both back-patching hazards for us and hoops for third-party loadable modules that are using the non-try versions of those functions to jump through. Third try attached... -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
there-is-no-try-v3.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers