Revert MERGE patch

Simon Riggs <simon@2ndQuadrant.com>

Commit: 08ea7a2291db21a618d19d612c8060cda68f1892
Author: Simon Riggs <simon@2ndQuadrant.com>
Date: 2018-04-12T10:22:56Z
Releases: 11.0
Revert MERGE patch

This reverts commits d204ef63776b8a00ca220adec23979091564e465,
83454e3c2b28141c0db01c7d2027e01040df5249 and a few more commits thereafter
(complete list at the end) related to MERGE feature.

While the feature was fully functional, with sufficient test coverage and
necessary documentation, it was felt that some parts of the executor and
parse-analyzer can use a different design and it wasn't possible to do that in
the available time. So it was decided to revert the patch for PG11 and retry
again in the future.

Thanks again to all reviewers and bug reporters.

List of commits reverted, in reverse chronological order:

 f1464c5380 Improve parse representation for MERGE
 ddb4158579 MERGE syntax diagram correction
 530e69e59b Allow cpluspluscheck to pass by renaming variable
 01b88b4df5 MERGE minor errata
 3af7b2b0d4 MERGE fix variable warning in non-assert builds
 a5d86181ec MERGE INSERT allows only one VALUES clause
 4b2d44031f MERGE post-commit review
 4923550c20 Tab completion for MERGE
 aa3faa3c7a WITH support in MERGE
 83454e3c2b New files for MERGE
 d204ef6377 MERGE SQL Command following SQL:2016

Author: Pavan Deolasee
Reviewed-by: Michael Paquier

Files

PathChange+/−
contrib/test_decoding/expected/ddl.out modified +0 −46
contrib/test_decoding/sql/ddl.sql modified +0 −16
doc/src/sgml/libpq.sgml modified +3 −5
doc/src/sgml/mvcc.sgml modified +1 −27
doc/src/sgml/plpgsql.sgml modified +1 −2
doc/src/sgml/ref/allfiles.sgml modified +0 −1
doc/src/sgml/ref/create_policy.sgml modified +0 −7
doc/src/sgml/reference.sgml modified +0 −1
doc/src/sgml/ref/insert.sgml modified +1 −10
doc/src/sgml/ref/merge.sgml deleted +0 −617
doc/src/sgml/trigger.sgml modified +0 −20
src/backend/access/heap/heapam.c modified +12 −16
src/backend/catalog/sql_features.txt modified +3 −3
src/backend/commands/explain.c modified +0 −33
src/backend/commands/prepare.c modified +0 −1
src/backend/commands/trigger.c modified +75 −195
src/backend/executor/execMain.c modified +0 −17
src/backend/executor/execMerge.c deleted +0 −682
src/backend/executor/execPartition.c modified +0 −121
src/backend/executor/execReplication.c modified +2 −2
src/backend/executor/Makefile modified +1 −1
src/backend/executor/nodeModifyTable.c modified +45 −235
src/backend/executor/README modified +0 −11
src/backend/executor/spi.c modified +0 −3
src/backend/nodes/copyfuncs.c modified +0 −58
src/backend/nodes/equalfuncs.c modified +0 −49
src/backend/nodes/nodeFuncs.c modified +3 −61
src/backend/nodes/outfuncs.c modified +0 −40
src/backend/nodes/readfuncs.c modified +0 −45
src/backend/optimizer/plan/createplan.c modified +4 −18
src/backend/optimizer/plan/planner.c modified +2 −27
src/backend/optimizer/plan/setrefs.c modified +0 −54
src/backend/optimizer/prep/preptlist.c modified +0 −41
src/backend/optimizer/util/pathnode.c modified +2 −9
src/backend/optimizer/util/plancat.c modified +0 −4
src/backend/parser/analyze.c modified +8 −10
src/backend/parser/gram.y modified +1 −150
src/backend/parser/Makefile modified +1 −1
src/backend/parser/parse_agg.c modified +0 −10
src/backend/parser/parse_clause.c modified +11 −46
src/backend/parser/parse_collate.c modified +0 −1
src/backend/parser/parse_expr.c modified +0 −3
src/backend/parser/parse_func.c modified +0 −3
src/backend/parser/parse_merge.c deleted +0 −654
src/backend/parser/parse_relation.c modified +0 −10
src/backend/rewrite/rewriteHandler.c modified +7 −108
src/backend/rewrite/rowsecurity.c modified +0 −97
src/backend/tcop/pquery.c modified +0 −5
src/backend/tcop/utility.c modified +0 −16
src/bin/psql/tab-complete.c modified +6 −81
src/include/access/heapam.h modified +1 −12
src/include/commands/trigger.h modified +2 −4
src/include/executor/execMerge.h deleted +0 −31
src/include/executor/execPartition.h modified +0 −1
src/include/executor/instrument.h modified +2 −5
src/include/executor/nodeModifyTable.h modified +0 −23
src/include/executor/spi.h modified +0 −1
src/include/nodes/execnodes.h modified +1 −64
src/include/nodes/nodes.h modified +1 −6
src/include/nodes/parsenodes.h modified +4 −49
src/include/nodes/plannodes.h modified +2 −6
src/include/nodes/relation.h modified +2 −5
src/include/optimizer/pathnode.h modified +2 −5
src/include/parser/analyze.h modified +0 −5
src/include/parser/kwlist.h modified +0 −2
src/include/parser/parse_clause.h modified +1 −4
src/include/parser/parse_merge.h deleted +0 −19
src/include/parser/parse_node.h modified +2 −3
src/include/rewrite/rewriteHandler.h modified +0 −1
src/interfaces/libpq/fe-exec.c modified +4 −5
src/pl/plpgsql/src/pl_exec.c modified +1 −4
src/pl/plpgsql/src/pl_gram.y modified +0 −8
src/pl/plpgsql/src/plpgsql.h modified +2 −2
src/pl/plpgsql/src/pl_scanner.c modified +0 −1
src/test/isolation/expected/merge-delete.out deleted +0 −97
src/test/isolation/expected/merge-insert-update.out deleted +0 −84
src/test/isolation/expected/merge-match-recheck.out deleted +0 −106
src/test/isolation/expected/merge-update.out deleted +0 −238
src/test/isolation/isolation_schedule modified +0 −4
src/test/isolation/specs/merge-delete.spec deleted +0 −51
src/test/isolation/specs/merge-insert-update.spec deleted +0 −52
src/test/isolation/specs/merge-match-recheck.spec deleted +0 −79
src/test/isolation/specs/merge-update.spec deleted +0 −133
src/test/regress/expected/identity.out modified +0 −55
src/test/regress/expected/merge.out deleted +0 −1672
src/test/regress/expected/privileges.out modified +0 −98
src/test/regress/expected/rowsecurity.out modified +0 −182
src/test/regress/expected/rules.out modified +0 −31
src/test/regress/expected/triggers.out modified +0 −48
src/test/regress/expected/with.out modified +0 −137
src/test/regress/parallel_schedule modified +1 −1
src/test/regress/serial_schedule modified +0 −1
src/test/regress/sql/identity.sql modified +0 −45
src/test/regress/sql/merge.sql deleted +0 −1173
src/test/regress/sql/privileges.sql modified +0 −108
src/test/regress/sql/rowsecurity.sql modified +0 −156
src/test/regress/sql/rules.sql modified +0 −33
src/test/regress/sql/triggers.sql modified +0 −47
src/test/regress/sql/with.sql modified +0 −56
src/tools/pgindent/typedefs.list modified +0 −3

Documentation touched