Simplify ParamListInfo data structure to support only numbered parameters,
Tom Lane <tgl@sss.pgh.pa.us>
Simplify ParamListInfo data structure to support only numbered parameters, not named ones, and replace linear searches of the list with array indexing. The named-parameter support has been dead code for many years anyway, and recent profiling suggests that the searching was costing a noticeable amount of performance for complex queries.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/prepare.c | modified | +14 −14 |
| src/backend/executor/execQual.c | modified | +23 −15 |
| src/backend/executor/functions.c | modified | +10 −8 |
| src/backend/executor/spi.c | modified | +23 −22 |
| src/backend/nodes/copyfuncs.c | modified | +1 −2 |
| src/backend/nodes/equalfuncs.c | modified | +2 −16 |
| src/backend/nodes/outfuncs.c | modified | +2 −3 |
| src/backend/nodes/params.c | modified | +25 −87 |
| src/backend/nodes/readfuncs.c | modified | +2 −3 |
| src/backend/optimizer/plan/subselect.c | modified | +5 −5 |
| src/backend/optimizer/util/clauses.c | modified | +29 −30 |
| src/backend/parser/analyze.c | modified | +2 −2 |
| src/backend/parser/parse_coerce.c | modified | +2 −2 |
| src/backend/parser/parse_expr.c | modified | +4 −4 |
| src/backend/tcop/postgres.c | modified | +15 −13 |
| src/backend/utils/adt/ruleutils.c | modified | +2 −19 |
| src/include/catalog/catversion.h | modified | +2 −2 |
| src/include/nodes/params.h | modified | +18 −61 |
| src/include/nodes/primnodes.h | modified | +17 −14 |
| src/pl/plpgsql/src/pl_exec.c | modified | +19 −16 |