On Fri, Nov 8, 2024 at 7:10 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Alexander Korotkov <aekorotkov@gmail.com> writes:
> > So, yes, comparison using C-collation seems the most
> > reasonable option.
>
> WFM. But I'm concerned that you couldn't build a test case
> where the comparison fails. Seems like we need one, in view
> of this bug having escaped detection for so long.
AFAICS, the only use case of CheckIndexCompatible() is ALTER TYPE. In
that case we only serialize and deserialize opclass options without
any involvement of opclass or data type. So, with the current usage
scenario CompareOpclassOptions() is only a paranoid check, but
CheckIndexCompatible() has to do it due to its general semantic.
Thus, if we have to build a test case where CompareOpclassOptions()
fails, I guess we need to write a new module for src/test/modules,
which would call CheckIndexCompatible() under different circumstances.
------
Regards,
Alexander Korotkov
Supabase