Thread: pgsql: Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) comm

pgsql: Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) comm

From
Alexander Korotkov
Date:
Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) commands

This commit reverts 1adf16b8fb, 87c21bb941, and subsequent fixes and
improvements including df64c81ca9, c99ef1811a, 9dfcac8e15, 885742b9f8,
842c9b2705, fcf80c5d5f, 96c7381c4c, f4fc7cb54b, 60ae37a8bc, 259c96fa8f,
449cdcd486, 3ca43dbbb6, 2a679ae94e, 3a82c689fd, fbd4321fd5, d53a4286d7,
c086896625, 4e5d6c4091, 04158e7fa3.

The reason for reverting is security issues related to repeatable name lookups
(CVE-2014-0062).  Even though 04158e7fa3 solved part of the problem, there
are still remaining issues, which aren't feasible to even carefully analyze
before the RC deadline.

Reported-by: Noah Misch, Robert Haas
Discussion: https://postgr.es/m/20240808171351.a9.nmisch%40google.com
Backpatch-through: 17

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/84f594da358861cceeaeb7a97bb58f3765eeb284

Modified Files
--------------
doc/src/sgml/ddl.sgml                              |   38 -
doc/src/sgml/ref/alter_table.sgml                  |  165 +-
src/backend/commands/tablecmds.c                   |  819 +---------
src/backend/parser/gram.y                          |   61 +-
src/backend/parser/parse_utilcmd.c                 |  193 +--
src/backend/partitioning/partbounds.c              |  901 +----------
src/backend/tcop/utility.c                         |    6 -
src/backend/utils/adt/ruleutils.c                  |   18 -
src/bin/psql/tab-complete.c                        |   18 +-
src/include/nodes/parsenodes.h                     |   14 +-
src/include/parser/kwlist.h                        |    2 -
src/include/partitioning/partbounds.h              |   11 -
src/include/utils/ruleutils.h                      |    2 -
src/test/isolation/expected/partition-merge.out    |  199 ---
src/test/isolation/expected/partition-split.out    |  190 ---
src/test/isolation/isolation_schedule              |    2 -
src/test/isolation/specs/partition-merge.spec      |   54 -
src/test/isolation/specs/partition-split.spec      |   54 -
.../modules/test_ddl_deparse/test_ddl_deparse.c    |    6 -
src/test/regress/expected/partition_merge.out      |  945 ------------
src/test/regress/expected/partition_split.out      | 1589 --------------------
src/test/regress/parallel_schedule                 |    2 +-
src/test/regress/sql/partition_merge.sql           |  609 --------
src/test/regress/sql/partition_split.sql           |  962 ------------
src/tools/pgindent/typedefs.list                   |    2 -
25 files changed, 40 insertions(+), 6822 deletions(-)