-
- Downloads
Add COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_proc
columns procost and prorows, to allow simple user adjustment of the estimated cost of a function call, as well as control of the estimated number of rows returned by a set-returning function. We might eventually wish to extend this to allow function-specific estimation routines, but there seems to be consensus that we should try a simple constant estimate first. In particular this provides a relatively simple way to control the order in which different WHERE clauses are applied in a plan node, which is a Good Thing in view of the fact that the recent EquivalenceClass planner rewrite made that much less predictable than before.
Showing
- doc/src/sgml/catalogs.sgml 17 additions, 1 deletiondoc/src/sgml/catalogs.sgml
- doc/src/sgml/ref/alter_function.sgml 27 additions, 1 deletiondoc/src/sgml/ref/alter_function.sgml
- doc/src/sgml/ref/create_function.sgml 35 additions, 3 deletionsdoc/src/sgml/ref/create_function.sgml
- src/backend/bootstrap/bootstrap.c 7 additions, 5 deletionssrc/backend/bootstrap/bootstrap.c
- src/backend/catalog/pg_aggregate.c 4 additions, 2 deletionssrc/backend/catalog/pg_aggregate.c
- src/backend/catalog/pg_proc.c 6 additions, 2 deletionssrc/backend/catalog/pg_proc.c
- src/backend/commands/functioncmds.c 103 additions, 7 deletionssrc/backend/commands/functioncmds.c
- src/backend/commands/proclang.c 7 additions, 3 deletionssrc/backend/commands/proclang.c
- src/backend/optimizer/path/costsize.c 109 additions, 65 deletionssrc/backend/optimizer/path/costsize.c
- src/backend/optimizer/plan/createplan.c 106 additions, 62 deletionssrc/backend/optimizer/plan/createplan.c
- src/backend/optimizer/plan/setrefs.c 2 additions, 3 deletionssrc/backend/optimizer/plan/setrefs.c
- src/backend/optimizer/util/clauses.c 74 additions, 1 deletionsrc/backend/optimizer/util/clauses.c
- src/backend/parser/gram.y 11 additions, 2 deletionssrc/backend/parser/gram.y
- src/backend/parser/keywords.c 2 additions, 1 deletionsrc/backend/parser/keywords.c
- src/backend/utils/Gen_fmgrtab.sh 6 additions, 4 deletionssrc/backend/utils/Gen_fmgrtab.sh
- src/backend/utils/cache/lsyscache.c 43 additions, 1 deletionsrc/backend/utils/cache/lsyscache.c
- src/bin/pg_dump/pg_dump.c 47 additions, 2 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, 29 deletionssrc/include/catalog/pg_attribute.h
- src/include/catalog/pg_class.h 2 additions, 2 deletionssrc/include/catalog/pg_class.h
Loading
Please register or sign in to comment