Revert per-index collation version tracking feature.

Thomas Munro <tmunro@postgresql.org>

Commit: ec48314708262d8ea6cdcb83f803fc83dd89e721
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2021-05-07T09:10:11Z
Releases: 14.0
Revert per-index collation version tracking feature.

Design problems were discovered in the handling of composite types and
record types that would cause some relevant versions not to be recorded.
Misgivings were also expressed about the use of the pg_depend catalog
for this purpose.  We're out of time for this release so we'll revert
and try again.

Commits reverted:

1bf946bd: Doc: Document known problem with Windows collation versions.
cf002008: Remove no-longer-relevant test case.
ef387bed: Fix bogus collation-version-recording logic.
0fb0a050: Hide internal error for pg_collation_actual_version(<bad OID>).
ff942057: Suppress "warning: variable 'collcollate' set but not used".
d50e3b1f: Fix assertion in collation version lookup.
f24b1569: Rethink extraction of collation dependencies.
257836a7: Track collation versions for indexes.
cd6f479e: Add pg_depend.refobjversion.
7d1297df: Remove pg_collation.collversion.

Discussion: https://postgr.es/m/CA%2BhUKGLhj5t1fcjqAu8iD9B3ixJtsTNqyCCD4V0aTO9kAKAjjA%40mail.gmail.com

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +11 −12
doc/src/sgml/charset.sgml modified +0 −48
doc/src/sgml/func.sgml modified +5 −3
doc/src/sgml/ref/alter_collation.sgml modified +63 −0
doc/src/sgml/ref/alter_index.sgml modified +0 −15
doc/src/sgml/ref/create_collation.sgml modified +21 −0
doc/src/sgml/ref/pgupgrade.sgml modified +0 −15
doc/src/sgml/ref/reindex.sgml modified +0 −9
src/backend/catalog/dependency.c modified +50 −180
src/backend/catalog/heap.c modified +3 −4
src/backend/catalog/index.c modified +14 −184
src/backend/catalog/pg_collation.c modified +5 −0
src/backend/catalog/pg_constraint.c modified +1 −1
src/backend/catalog/pg_depend.c modified +8 −39
src/backend/catalog/pg_type.c modified +0 −69
src/backend/commands/collationcmds.c modified +103 −1
src/backend/commands/statscmds.c modified +1 −1
src/backend/commands/tablecmds.c modified +0 −31
src/backend/nodes/copyfuncs.c modified +13 −1
src/backend/nodes/equalfuncs.c modified +11 −0
src/backend/optimizer/util/plancat.c modified +0 −9
src/backend/parser/gram.y modified +17 −9
src/backend/tcop/utility.c modified +12 −0
src/backend/utils/adt/pg_locale.c modified +39 −50
src/backend/utils/adt/pg_upgrade_support.c modified +0 −1
src/backend/utils/cache/relcache.c modified +0 −2
src/bin/pg_dump/pg_backup.h modified +0 −1
src/bin/pg_dump/pg_dump.c modified +30 −186
src/bin/pg_dump/pg_dump.h modified +0 −2
src/bin/pg_upgrade/dump.c modified +1 −3
src/bin/pg_upgrade/option.c modified +0 −7
src/bin/pg_upgrade/pg_upgrade.h modified +0 −1
src/bin/psql/tab-complete.c modified +6 −27
src/include/catalog/catversion.h modified +1 −1
src/include/catalog/dependency.h modified +3 −17
src/include/catalog/index.h modified +0 −3
src/include/catalog/pg_collation.h modified +8 −0
src/include/catalog/pg_depend.h modified +0 −5
src/include/catalog/pg_type.h modified +0 −2
src/include/commands/collationcmds.h modified +1 −0
src/include/nodes/parsenodes.h modified +11 −2
src/include/utils/pg_locale.h modified +1 −1
src/include/utils/rel.h modified +0 −1
src/test/locale/.gitignore modified +0 −1
src/test/locale/Makefile modified +0 −7
src/test/locale/t/001_index.pl deleted +0 −67
src/test/Makefile modified +1 −2
src/test/regress/expected/collate.icu.utf8.out modified +3 −192
src/test/regress/expected/collate.linux.utf8.out modified +3 −0
src/test/regress/expected/create_index.out modified +3 −3
src/test/regress/expected/misc_sanity.out modified +2 −2
src/test/regress/sql/collate.icu.utf8.sql modified +5 −133
src/test/regress/sql/collate.linux.utf8.sql modified +5 −0
src/test/regress/sql/create_index.sql modified +2 −2
src/tools/pgindent/typedefs.list modified +0 −2

Documentation touched

Discussion