]> granicus.if.org Git - postgresql/commit
Fix some problems in check_new_partition_bound().
authorRobert Haas <rhaas@postgresql.org>
Thu, 19 Jan 2017 18:56:13 +0000 (13:56 -0500)
committerRobert Haas <rhaas@postgresql.org>
Thu, 19 Jan 2017 19:00:55 +0000 (14:00 -0500)
commit8a8afe2f54c27dbb47df3853803158c5205d41ce
treec52241ea70edcc0deb263f384b2647d79f6a5943
parent05bd889904e03479a7169b1c36e0e1db13fff7cb
Fix some problems in check_new_partition_bound().

Account for the fact that the highest bound less than or equal to the
upper bound might be either the lower or the upper bound of the
overlapping partition, depending on whether the proposed partition
completely contains the existing partition or merely overlaps it.

Also, we need not continue searching for even greater bound in
partition_bound_bsearch() once we find the first bound that is *equal*
to the probe, because we don't have duplicate datums.  That spends
cycles needlessly.

Amit Langote, per a report from Amul Sul.  Cosmetic changes by me.

Discussion: http://postgr.es/m/CAAJ_b94XgbqVoXMyxxs63CaqWoMS1o2gpHiU0F7yGnJBnvDc_A%40mail.gmail.com
src/backend/catalog/partition.c
src/test/regress/expected/create_table.out
src/test/regress/sql/create_table.sql