Implement OR REPLACE option for CREATE AGGREGATE.
Aggregates have acquired a dozen or so optional attributes in recent
years for things like parallel query and moving-aggregate mode; the
lack of an OR REPLACE option to add or change these for an existing
agg makes extension upgrades gratuitously hard. Rectify.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/01bde4fa4c24f4eea0a634d8fcad0b376efda6b1
Modified Files
--------------
doc/src/sgml/ref/create_aggregate.sgml | 27 ++++++----
src/backend/catalog/pg_aggregate.c | 57 +++++++++++++++++++--
src/backend/catalog/pg_proc.c | 6 ++-
src/backend/commands/aggregatecmds.c | 8 ++-
src/backend/nodes/copyfuncs.c | 1 +
src/backend/nodes/equalfuncs.c | 1 +
src/backend/parser/gram.y | 16 +++---
src/backend/tcop/utility.c | 3 +-
src/include/catalog/pg_aggregate.h | 1 +
src/include/commands/defrem.h | 2 +-
src/include/nodes/parsenodes.h | 1 +
src/test/regress/expected/create_aggregate.out | 71 ++++++++++++++++++++++++++
src/test/regress/sql/create_aggregate.sql | 65 +++++++++++++++++++++++
13 files changed, 235 insertions(+), 24 deletions(-)