pgsql: Check the relevant index element in ON CONFLICT unique index inf

Поиск
Список
Период
Сортировка
От Andres Freund
Тема pgsql: Check the relevant index element in ON CONFLICT unique index inf
Дата
Msg-id E1ZJOfl-0005Ut-J2@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Check the relevant index element in ON CONFLICT unique index inference.

ON CONFLICT unique index inference had a thinko that could affect cases
where the user-supplied inference clause required that an attribute
match a particular (user specified) collation and/or opclass.

infer_collation_opclass_match() has to check for opclass and/or
collation matches and that the attribute is in the list of attributes or
expressions known to be in the definition of the index under
consideration. The bug was that these two conditions weren't necessarily
evaluated for the same index attribute.

Author: Peter Geoghegan
Discussion: CAM3SWZR4uug=WvmGk7UgsqHn2MkEzy9YU-+8jKGO4JPhesyeWg@mail.gmail.com
Backpatch: 9.5, where ON CONFLICT was introduced

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/159cff58cf3b565be3c17901698a74238e9e23f8

Modified Files
--------------
src/backend/optimizer/util/plancat.c          |   46 ++++++++++++++++---------
src/test/regress/expected/insert_conflict.out |   18 ++++++++++
src/test/regress/sql/insert_conflict.sql      |   12 +++++++
3 files changed, 60 insertions(+), 16 deletions(-)


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

Предыдущее
От: Andres Freund
Дата:
Сообщение: pgsql: Check the relevant index element in ON CONFLICT unique index inf
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Make entirely-dummy appendrels get marked as such in set_append_