On 2014-06-20 17:29:33 -0400, Tom Lane wrote: > Andres Freund <and...@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.
Sounds sensible. If they aren't marking them as such hopefully isn't problematic... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers