aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2024-11-19 18:26:19 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2024-11-19 18:26:19 -0500
commitfd3383ff1107dd2d530178dd980423d96b3ade27 (patch)
tree4dac88a04ac5fc371736c639efc04c10276b8b65 /src/backend/tcop/postgres.c
parenta4bd20b6d7f9d42750b797c450592f55d5374c1f (diff)
downloadpostgresql-fd3383ff1107dd2d530178dd980423d96b3ade27.tar.gz
postgresql-fd3383ff1107dd2d530178dd980423d96b3ade27.zip
Compare collations before merging UNION operations.
In the dim past we figured it was okay to ignore collations when combining UNION set-operation nodes into a single N-way UNION operation. I believe that was fine at the time, but it stopped being fine when we added nondeterministic collations: the semantics of distinct-ness are affected by those. v17 made it even less fine by allowing per-child sorting operations to be merged via MergeAppend, although I think we accidentally avoided any live bug from that. Add a check that collations match before deciding that two UNION nodes are equivalent. I also failed to resist the temptation to comment plan_union_children() a little better. Back-patch to all supported branches (v13 now), since they all have nondeterministic collations. Discussion: https://postgr.es/m/3605568.1731970579@sss.pgh.pa.us
Diffstat (limited to 'src/backend/tcop/postgres.c')
0 files changed, 0 insertions, 0 deletions