On Tue, Apr 10, 2012 at 07:09:33PM -0400, Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > On Tue, Apr 10, 2012 at 06:16:31PM -0400, Robert Haas wrote:
> >> On Tue, Apr 10, 2012 at 5:43 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >>> The way the function is coded, it has no need to look into pg_tablespace
> >>> as such, which is why you don't get something like "no such tablespace".
>
> >> I think what Bruce might be getting at is that 0 is more likely than a
> >> randomly chosen value to be passed to this function; for example, one
> >> can imagine wanting to pass pg_class.reltablespace.
>
> > Yes, that was my point.
>
> Hm. I have no objection to special-casing zero here, but what behavior
> do you want? Should it return an empty string as we do for
> DEFAULTTABLESPACE_OID, or throw a different error?
I have no idea. The big problem is that we currently use '' for the
cluster default, while 0 means the database default. I can't think of a
good return result --- I think it has to be an error of some kind.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +