On 14.11.23 17:15, Tom Lane wrote:
I don't love the patch details though.  It seems entirely wrong to check
this before we check the opclass match.

Not sure why?  The order doesn't seem to matter?

Also, in at least some cases
the code presses on looking for another match if the current opclass
doesn't match; you've broken such cases.

I see.  That means we shouldn't raise an error on a mismatch but just do

    if (key->partcollation[i] != collationIds[j])
        continue;

and then let the existing error under if (!found) complain.

I suppose we could move that into the

    if (get_opclass_opfamily_and_input_type(...))

block.  I'm not sure I see the difference.



Reply via email to