Re: RangeVarGetRelid() - Mailing list pgsql-hackers

From Robert Haas
Subject Re: RangeVarGetRelid()
Date
Msg-id CA+TgmoZbj3n0+GeutBh0WzvcJTwA3rvjmXki-Ad++t+oejjN6A@mail.gmail.com
Whole thread Raw
In response to Re: RangeVarGetRelid()  (Noah Misch <noah@leadboat.com>)
Responses Re: RangeVarGetRelid()  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
On Fri, Nov 18, 2011 at 8:37 AM, Noah Misch <noah@leadboat.com> wrote:
> I count 1/25 callers overriding nowait and 3/25 overriding missing_ok.  So, it's
> looking like a less-common override than the callback function will come to be.

Yeah, you're probably right.  However, I think there's another good
reason not to use that signature: in 9.1, the function had a signature
of (RangeVar *, bool).  If in 9.2 it ends up with a signature of
(RangeVar *, LOCKMODE), you won't get a compiler warning (at least not
on my system) if you invoke it as RangeVarGetRelid(rel, true).  You'll
just get silently (and subtly) different behavior: an error if the
relataion doesn't exist (instead of no error), and an AccessShareLock
if it does (instead of no lock).  I think we're best off making sure
that any old-style usage of RangeVarGetRelid() that may be out there
in third-party code fails to compile.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Thom Brown
Date:
Subject: Re: [GENERAL] VACUUM touching file but not updating relation
Next
From: Tom Lane
Date:
Subject: Re: Inlining comparators as a performance optimisation