Re: UNION versus collations

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: UNION versus collations
Date: 2024-11-19 05:56:34
Message-ID: aecbaa08cc9b21187daf9304346c4e845c157753.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 2024-11-18 at 17:56 -0500, Tom Lane wrote:
> prepunion.c's plan_union_children(), which merges
> identically-propertied UNION operations into one, has this comment:
>
> * NOTE: currently, we ignore collations while determining if a child has
> * the same properties. This is semantically sound only so long as all
> * collations have the same notion of equality. It is valid from an
> * implementation standpoint because we don't care about the ordering of
> * a UNION child's result: UNION ALL results are always unordered, and
> * generate_union_paths will force a fresh sort if the top level is a UNION.
>
> This argument seems well past its sell-by date. In the first place,
> now that we have nondeterministic collations we can't assume that
> "all collations have the same notion of equality".
>
> [...]
>
> So I think we ought to apply the attached as far back as we have
> nondeterministic collations.

+1

This also reminded me of [1], where I cannot think of a good fix.

Yours,
Laurenz Albe

[1]: https://postgr.es/m/8ef4899c4acfebca45cc6c042a6dc611d25ffab1.camel%40cybertec.at

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2024-11-19 06:16:52 Re: Emitting JSON to file using COPY TO
Previous Message vignesh C 2024-11-19 04:51:47 Re: Disallow UPDATE/DELETE on table with unpublished generated column as REPLICA IDENTITY