pgsql: Fix bogus logic for reporting which hash partition conflicts.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix bogus logic for reporting which hash partition conflicts.
Дата
Msg-id E1lyIZN-0001T2-OK@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix bogus logic for reporting which hash partition conflicts.

Commit efbfb6424 added logic for reporting exactly which existing
partition conflicts when complaining that a new hash partition's
modulus isn't compatible with the existing ones.  However, it
misunderstood the partitioning data structure, and would select
the wrong partition in some cases, or crash outright due to fetching
a bogus table OID in other cases.

Per bug #17076 from Alexander Lakhin.  Fix by Amit Langote;
some further work on the code comments by me.

Discussion: https://postgr.es/m/17076-89a16ae835d329b9@postgresql.org

Branch
------
REL_14_STABLE

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

Modified Files
--------------
src/backend/partitioning/partbounds.c      | 26 ++++++++++++++++++--------
src/test/regress/expected/create_table.out | 10 ++++++++--
src/test/regress/sql/create_table.sql      |  3 +++
3 files changed, 29 insertions(+), 10 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Add a build-time check that libpq doesn't call exit() or abort()
Следующее
От: Alvaro Herrera
Дата:
Сообщение: pgsql: Add PQsendFlushRequest to libpq