Peter Eisentraut <peter.eisentr...@2ndquadrant.com> writes: > On 7/26/16 7:46 PM, Thomas Munro wrote: >> By the way, our documentation says that NOT NULL constraints are >> equivalent to CHECK (column_name IS NOT NULL). That is what the SQL >> standard says, but in fact our NOT NULL constraints are equivalent to >> CHECK (column_name IS DISTINCT FROM NULL). Should we update the >> documentation with something like the attached?
> Couldn't we just fix that instead? For NOT NULL constraints on > composite type columns, create a full CHECK (column_name IS NOT NULL) > constraint instead, foregoing the attnotnull optimization. Maybe. There's a patch floating around that expands attnotnull into CHECK constraints, which'd provide the infrastructure needed to consider changing this behavior. But that's not going to be back-patchable, and as I noted in <10682.1469566...@sss.pgh.pa.us>, we have a problem right now that the planner's constraint exclusion logic gets these semantics wrong. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers