Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Submitting_a_Patch
Go to file
Tom Lane a43d7a8c7c 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
2024-11-19 18:26:19 -05:00
.github Add CODE_OF_CONDUCT.md, CONTRIBUTING.md, and SECURITY.md. 2024-07-02 13:03:58 -05:00
config Fix __attribute__((target(...))) usage. 2024-11-07 15:27:32 -06:00
contrib contrib/lo: Use SQL-standard function bodies 2024-11-14 13:23:11 +09:00
doc Improve error message for database object stats manipulation functions. 2024-11-20 02:00:50 +09:00
src Compare collations before merging UNION operations. 2024-11-19 18:26:19 -05:00
.cirrus.star
.cirrus.tasks.yml Make PG_TEST_EXTRA env var override the "meson setup" option 2024-11-04 14:09:25 +02:00
.cirrus.yml
.dir-locals.el
.editorconfig
.git-blame-ignore-revs Add commit 7f7474a8e4 to .git-blame-ignore-revs. 2024-10-14 15:09:39 -05:00
.gitattributes
.gitignore
.mailmap Add a Git .mailmap file 2024-11-05 13:56:02 +01:00
aclocal.m4
configure configure.ac: Remove useless AC_SUBST 2024-11-13 10:29:31 +01:00
configure.ac configure.ac: Remove useless AC_SUBST 2024-11-13 10:29:31 +01:00
COPYRIGHT
GNUmakefile.in
HISTORY
Makefile
meson_options.txt Make PG_TEST_EXTRA env var override the "meson setup" option 2024-11-04 14:09:25 +02:00
meson.build Fix __attribute__((target(...))) usage. 2024-11-07 15:27:32 -06:00
README.md

PostgreSQL Database Management System

This directory contains the source code distribution of the PostgreSQL database management system.

PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions. This distribution also contains C language bindings.

Copyright and license information can be found in the file COPYRIGHT.

General documentation about this version of PostgreSQL can be found at https://www.postgresql.org/docs/devel/. In particular, information about building PostgreSQL from the source code can be found at https://www.postgresql.org/docs/devel/installation.html.

The latest version of this software, and related software, may be obtained at https://www.postgresql.org/download/. For more information look at our web site located at https://www.postgresql.org/.