Add prokind column, replacing proisagg and proiswindow The new column distinguishes normal functions, procedures, aggregates, and window functions. This replaces the existing columns proisagg and proiswindow, and replaces the convention that procedures are indicated by prorettype == 0. Also change prorettype to be VOIDOID for procedures.
Reviewed-by: Tom Lane <t...@sss.pgh.pa.us> Reviewed-by: Michael Paquier <mich...@paquier.xyz> Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/fd1a421fe66173fb9b85d3fe150afde8e812cbe4 Modified Files -------------- doc/src/sgml/catalogs.sgml | 31 +- src/backend/catalog/aclchk.c | 18 +- src/backend/catalog/information_schema.sql | 12 +- src/backend/catalog/objectaddress.c | 6 +- src/backend/catalog/pg_aggregate.c | 3 +- src/backend/catalog/pg_proc.c | 52 +- src/backend/catalog/system_views.sql | 8 +- src/backend/commands/dropcmds.c | 2 +- src/backend/commands/functioncmds.c | 36 +- src/backend/commands/proclang.c | 9 +- src/backend/commands/typecmds.c | 3 +- src/backend/executor/functions.c | 39 +- src/backend/optimizer/util/clauses.c | 4 +- src/backend/parser/parse_coerce.c | 3 +- src/backend/parser/parse_func.c | 35 +- src/backend/utils/adt/ruleutils.c | 10 +- src/backend/utils/cache/lsyscache.c | 12 +- src/bin/pg_dump/pg_dump.c | 78 +- src/bin/pg_dump/t/002_pg_dump.pl | 6 +- src/bin/psql/describe.c | 62 +- src/bin/psql/tab-complete.c | 6 +- src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_class.h | 2 +- src/include/catalog/pg_proc.h | 5780 ++++++++++++----------- src/include/catalog/pg_proc_fn.h | 3 +- src/include/utils/lsyscache.h | 2 +- src/pl/plperl/plperl.c | 3 +- src/pl/plpgsql/src/pl_comp.c | 89 +- src/pl/plpgsql/src/pl_exec.c | 12 +- src/pl/plpgsql/src/pl_gram.y | 4 +- src/pl/plpgsql/src/plpgsql.h | 1 + src/pl/plpython/plpy_procedure.c | 4 +- src/pl/tcl/pltcl.c | 4 +- src/test/regress/expected/alter_generic.out | 22 +- src/test/regress/expected/create_function_3.out | 9 + src/test/regress/expected/opr_sanity.out | 39 +- src/test/regress/expected/rules.out | 8 +- src/test/regress/sql/alter_generic.sql | 2 +- src/test/regress/sql/create_function_3.sql | 8 + src/test/regress/sql/opr_sanity.sql | 39 +- 40 files changed, 3270 insertions(+), 3198 deletions(-)