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.

Attachment: v2-0001-Require-exact-equivalence-for-additional-ON-CONFL.patch
Description: Binary data

Reply via email to