OSDN Git Service

Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 19 Jan 2000 23:55:03 +0000 (23:55 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 19 Jan 2000 23:55:03 +0000 (23:55 +0000)
commit6d1efd76fb9852b8bc242dcaf35916090d7c5899
treef827384a43f7dc18532337d555038e02498368b0
parent08fb7375e35863e0ba2b8bb6a6c75802ca13fe85
Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result
from a constraint condition does not violate the constraint (cf. discussion
on pghackers 12/9/99).  Implemented by adding a parameter to ExecQual,
specifying whether to return TRUE or FALSE when the qual result is
really NULL in three-valued boolean logic.  Currently, ExecRelCheck is
the only caller that asks for TRUE, but if we find any other places that
have the wrong response to NULL, it'll be easy to fix them.
20 files changed:
src/backend/access/gist/gist.c
src/backend/access/hash/hash.c
src/backend/access/nbtree/nbtree.c
src/backend/access/rtree/rtree.c
src/backend/catalog/index.c
src/backend/commands/copy.c
src/backend/executor/execMain.c
src/backend/executor/execQual.c
src/backend/executor/execScan.c
src/backend/executor/execUtils.c
src/backend/executor/nodeAgg.c
src/backend/executor/nodeHash.c
src/backend/executor/nodeHashjoin.c
src/backend/executor/nodeIndexscan.c
src/backend/executor/nodeMergejoin.c
src/backend/executor/nodeNestloop.c
src/backend/executor/nodeResult.c
src/include/executor/executor.h
src/test/regress/input/constraints.source
src/test/regress/output/constraints.source