]> granicus.if.org Git - postgresql/commit
Add null test to partition constraint for default range partitions.
authorRobert Haas <rhaas@postgresql.org>
Tue, 28 Nov 2017 15:51:01 +0000 (10:51 -0500)
committerRobert Haas <rhaas@postgresql.org>
Tue, 28 Nov 2017 15:51:01 +0000 (10:51 -0500)
commit7b88d63a9122646ead60c1afffc248a31d4e457d
tree925f8ae742fb64802c270180189daa50c791dc5c
parent487a0c1518af2f3ae2d05b7fd23d636d687f28f3
Add null test to partition constraint for default range partitions.

Non-default range partitions have a constraint which include null
tests, and both default and non-default list partitions also have a
constraint which includes null tests, but for some reason this was
missed for default range partitions.  This could cause the partition
constraint to evaluate to false for rows that were (correctly) routed
to that partition by insert tuple routing, which could in turn
cause constraint exclusion to prune the default partition in cases
where it should not.

Amit Langote, reviewed by Kyotaro Horiguchi

Discussion: http://postgr.es/m/ba7aaeb1-4399-220e-70b4-62eade1522d0@lab.ntt.co.jp
src/backend/catalog/partition.c
src/test/regress/expected/inherit.out
src/test/regress/expected/update.out
src/test/regress/sql/inherit.sql