pgsql: Track collation versions for indexes.

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема pgsql: Track collation versions for indexes.
Дата
Msg-id E1kZYvO-00032l-Pt@gemulon.postgresql.org
обсуждение исходный текст
Ответы Re: pgsql: Track collation versions for indexes.  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Список pgsql-committers
Track collation versions for indexes.

Record the current version of dependent collations in pg_depend when
creating or rebuilding an index.  When accessing the index later, warn
that the index may be corrupted if the current version doesn't match.

Thanks to Douglas Doole, Peter Eisentraut, Christoph Berg, Laurenz Albe,
Michael Paquier, Robert Haas, Tom Lane and others for very helpful
discussion.

Author: Thomas Munro <thomas.munro@gmail.com>
Author: Julien Rouhaud <rjuju123@gmail.com>
Reviewed-by: Peter Eisentraut <peter.eisentraut@2ndquadrant.com> (earlier versions)
Discussion: https://postgr.es/m/CAEepm%3D0uEQCpfq_%2BLYFBdArCe4Ot98t1aR4eYiYTe%3DyavQygiQ%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/257836a75585934cc05ed7a80bccf8190d41e056

Modified Files
--------------
doc/src/sgml/catalogs.sgml                     |   3 +-
doc/src/sgml/charset.sgml                      |  38 +++++
doc/src/sgml/func.sgml                         |   4 +-
doc/src/sgml/ref/alter_index.sgml              |  15 ++
doc/src/sgml/ref/pgupgrade.sgml                |  15 ++
doc/src/sgml/ref/reindex.sgml                  |   9 ++
src/backend/catalog/dependency.c               | 182 ++++++++++++++++++----
src/backend/catalog/heap.c                     |   7 +-
src/backend/catalog/index.c                    | 197 ++++++++++++++++++++++--
src/backend/catalog/pg_constraint.c            |   2 +-
src/backend/catalog/pg_depend.c                |  46 +++++-
src/backend/catalog/pg_type.c                  |  60 ++++++++
src/backend/commands/collationcmds.c           |  16 +-
src/backend/commands/tablecmds.c               |  31 ++++
src/backend/nodes/copyfuncs.c                  |   1 +
src/backend/optimizer/util/plancat.c           |   9 ++
src/backend/parser/gram.y                      |   8 +
src/backend/utils/adt/pg_locale.c              |  46 +++++-
src/backend/utils/adt/pg_upgrade_support.c     |   1 +
src/backend/utils/cache/relcache.c             |   2 +
src/bin/pg_dump/pg_backup.h                    |   1 +
src/bin/pg_dump/pg_dump.c                      | 182 +++++++++++++++++++++-
src/bin/pg_dump/pg_dump.h                      |   2 +
src/bin/pg_upgrade/dump.c                      |   4 +-
src/bin/pg_upgrade/option.c                    |   7 +
src/bin/pg_upgrade/pg_upgrade.h                |   1 +
src/bin/psql/tab-complete.c                    |  29 +++-
src/include/catalog/catversion.h               |   2 +-
src/include/catalog/dependency.h               |  25 ++-
src/include/catalog/index.h                    |   3 +
src/include/catalog/pg_depend.h                |   3 +-
src/include/catalog/pg_type.h                  |   2 +
src/include/nodes/parsenodes.h                 |   4 +-
src/include/utils/pg_locale.h                  |   2 +-
src/include/utils/rel.h                        |   1 +
src/test/Makefile                              |   3 +-
src/test/locale/.gitignore                     |   1 +
src/test/locale/Makefile                       |   7 +
src/test/locale/t/001_index.pl                 |  67 +++++++++
src/test/regress/expected/collate.icu.utf8.out | 201 +++++++++++++++++++++++++
src/test/regress/expected/create_index.out     |   8 +-
src/test/regress/sql/collate.icu.utf8.sql      | 132 ++++++++++++++++
src/tools/pgindent/typedefs.list               |   2 +
43 files changed, 1287 insertions(+), 94 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: doc: Mention UNION/ORDER BY etc. keywords in section headers.
Следующее
От: Magnus Hagander
Дата:
Сообщение: pgsql: Clarify temporary table name shadowing in CREATE TABLE docs