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-+8jkgo4jphesy...@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(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
