Re: Shouldn't pg_(sh)seclabel.provider be marked NOT NULL? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Shouldn't pg_(sh)seclabel.provider be marked NOT NULL?
Date
Msg-id 13807.1403299773@sss.pgh.pa.us
Whole thread Raw
In response to Re: Shouldn't pg_(sh)seclabel.provider be marked NOT NULL?  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Shouldn't pg_(sh)seclabel.provider be marked NOT NULL?
List pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes:
> On 2014-06-20 16:50:15 -0400, Alvaro Herrera wrote:
>> Non-unique indexes in indexing.h
>> already bear a standard comment that they are not used for syscache.
>> The only exception was added recently in f01d1ae3a104019:
>> DECLARE_INDEX(pg_class_tblspc_relfilenode_index, 3455, on pg_class using btree(reltablespace oid_ops, relfilenode
oid_ops));

> There's no NULLs in here. It can have duplicates, but in that it's far
> from alone.

I think Alvaro was complaining that it's alone in lacking this comment:
/* This following index is not used for a cache and is not unique */

But TBH, I don't think those comments are worth much.  I'd rather get
rid of them all and instead add an Assert to the cache code enforcing
that any index underlying a catcache is unique.  It looks like the
easiest place to do that is InitCatCachePhase2 --- that's the only place
in catcache.c that actually opens the underlying index directly.

I'd like to also have an Assert in there that the index columns are
marked NOT NULL, but not sure if they actually all are marked that
way today.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Shouldn't pg_(sh)seclabel.provider be marked NOT NULL?
Next
From: Andres Freund
Date:
Subject: Re: Shouldn't pg_(sh)seclabel.provider be marked NOT NULL?