[COMMITTERS] pgsql: Clarify the contract of partition_rbound_cmp().

Поиск
Список
Период
Сортировка
От Dean Rasheed
Тема [COMMITTERS] pgsql: Clarify the contract of partition_rbound_cmp().
Дата
Msg-id E1dT5Hf-0002oT-FN@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Clarify the contract of partition_rbound_cmp().

partition_rbound_cmp() is intended to compare range partition bounds
in a way such that if all the bound values are equal but one is an
upper bound and one is a lower bound, the upper bound is treated as
smaller than the lower bound. This particular ordering is required by
RelationBuildPartitionDesc() when building the PartitionBoundInfoData,
so that it can consistently keep only the upper bounds when upper and
lower bounds coincide.

Update the function comment to make that clearer.

Also, fix a (currently unreachable) corner-case bug -- if the bound
values coincide and they contain unbounded values, fall through to the
lower-vs-upper comparison code, rather than immediately returning
0. Currently it is not possible to define coincident upper and lower
bounds containing unbounded columns, but that may change in the
future, so code defensively.

Discussion: https://postgr.es/m/CAAJ_b947mowpLdxL3jo3YLKngRjrq9+Ej4ymduQTfYR+8=YAYQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f1dae097f2945ffcb59a9f236843e0e0bbf0920d

Modified Files
--------------
src/backend/catalog/partition.c | 44 ++++++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 14 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Dean Rasheed
Дата:
Сообщение: [COMMITTERS] pgsql: Simplify the logic checking new range partition bounds.
Следующее
От: Teodor Sigaev
Дата:
Сообщение: [COMMITTERS] pgsql: Fix potential data corruption during freeze