Tom Lane wrote:

> The idea I'm toying with right now is to additionally mark as not nullable
> any column referenced in a DECLARE_UNIQUE_INDEX command in
> catalog/indexing.h.  But I've not looked through that set carefully; it's
> conceivable that we actually have some indexed catalog columns that are
> allowed to be null.  A possibly better solution is to invent a new macro
> that has the same semantics as DECLARE_UNIQUE_INDEX, plus forcing the
> columns to be marked NOT NULL.

I think most, if not all, the unique indexes declared are part of a
syscache.  I don't think we allow those to be null, so in effect those
columns are already not nullable.  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));

Álvaro Herrera      
PostgreSQL Development, 24x7 Support, Training & Services

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to