Thread: pgsql: Implement OR REPLACE option for CREATE AGGREGATE.
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(-)