Hello! > 2bc7e886fc1 and the commit that has triggered this thread both refer > to the same set of improvements regarding the interactions of rebuilt > indexes and ON CONFLICT, so my take is that if we finish by updating > the same area of the code we could just group both changes together, > but I agree that my line of thoughts may be thin. It seems to me that > we'd better look first at this secondary issue before drawing a > conclusion regarding if both issues should be handled together or > separately.
This is a "grouped" version. Also, it handles possible collation issues + provides a set of tests to pin the correct behaviour. I haven't reviewed the tests too deeply (AI-generated) but they pass on 18 (expect DO SELECT cases) and on the fixed version, failing on the pre-fix. Super-short version: * move IsIndexCompatibleAsArbiter to index.c with a slight signature change * handle `indimmediate` in it * use `equal` for lists instead of list_difference * use IsIndexCompatibleAsArbiter for both - partitioned and named constraint cases * simply infer_arbiter_indexes a bit (reverting part of 2bc7e886fc1b) Best regards, Mikhail.
v2-0001-Require-exact-equivalence-for-additional-ON-CONFL.patch
Description: Binary data
