pgsql: Fix some problems in check_new_partition_bound().

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix some problems in check_new_partition_bound().
Date: 2017-01-19 19:01:16
Message-ID: E1cUHxU-00071u-IA@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/8a8afe2f54c27dbb47df3853803158c5205d41ce

Modified Files
--------------
src/backend/catalog/partition.c | 64 +++++++++++++++++++++++-------
src/test/regress/expected/create_table.out | 10 ++++-
src/test/regress/sql/create_table.sql | 4 ++
3 files changed, 62 insertions(+), 16 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2017-01-19 19:15:09 pgsql: Avoid some code duplication in map_partition_varattnos().
Previous Message Robert Haas 2017-01-19 18:23:16 pgsql: Fix RETURNING to work correctly with partition tuple routing.