-
- Downloads
Add a "provariadic" column to pg_proc to eliminate the remarkably expensive
need to deconstruct proargmodes for each pg_proc entry inspected by FuncnameGetCandidates(). Fixes function lookup performance regression caused by yesterday's variadic-functions patch. In passing, make pg_proc.probin be NULL, rather than a dummy value '-', in cases where it is not actually used for the particular type of function. This should buy back some of the space cost of the extra column.
Showing
- doc/src/sgml/catalogs.sgml 9 additions, 1 deletiondoc/src/sgml/catalogs.sgml
- src/backend/catalog/namespace.c 11 additions, 38 deletionssrc/backend/catalog/namespace.c
- src/backend/catalog/pg_aggregate.c 2 additions, 2 deletionssrc/backend/catalog/pg_aggregate.c
- src/backend/catalog/pg_proc.c 67 additions, 5 deletionssrc/backend/catalog/pg_proc.c
- src/backend/commands/functioncmds.c 29 additions, 27 deletionssrc/backend/commands/functioncmds.c
- src/backend/utils/adt/ruleutils.c 7 additions, 24 deletionssrc/backend/utils/adt/ruleutils.c
- src/backend/utils/fmgr/fmgr.c 6 additions, 4 deletionssrc/backend/utils/fmgr/fmgr.c
- src/bin/pg_dump/pg_dump.c 6 additions, 4 deletionssrc/bin/pg_dump/pg_dump.c
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_attribute.h 33 additions, 31 deletionssrc/include/catalog/pg_attribute.h
- src/include/catalog/pg_class.h 2 additions, 2 deletionssrc/include/catalog/pg_class.h
- src/include/catalog/pg_proc.h 2101 additions, 2099 deletionssrc/include/catalog/pg_proc.h
- src/test/regress/expected/opr_sanity.out 23 additions, 0 deletionssrc/test/regress/expected/opr_sanity.out
- src/test/regress/sql/opr_sanity.sql 14 additions, 0 deletionssrc/test/regress/sql/opr_sanity.sql
Loading
Please register or sign in to comment