Infrastructure for deducing Param types from context, in the same way
that the types of untyped string-literal constants are deduced (ie, when coerce_type is applied to 'em, that's what the type must be). Remove the ancient hack of storing the input Param-types array as a global variable, and put the info into ParseState instead. This touches a lot of files because of adjustment of routine parameter lists, but it's really not a large patch. Note: PREPARE statement still insists on exact specification of parameter types, but that could easily be relaxed now, if we wanted to do so.
Showing
- src/backend/catalog/heap.c 3 additions, 3 deletionssrc/backend/catalog/heap.c
- src/backend/commands/schemacmds.c 2 additions, 2 deletionssrc/backend/commands/schemacmds.c
- src/backend/commands/tablecmds.c 2 additions, 2 deletionssrc/backend/commands/tablecmds.c
- src/backend/commands/typecmds.c 2 additions, 2 deletionssrc/backend/commands/typecmds.c
- src/backend/executor/spi.c 3 additions, 3 deletionssrc/backend/executor/spi.c
- src/backend/optimizer/plan/subselect.c 6 additions, 3 deletionssrc/backend/optimizer/plan/subselect.c
- src/backend/optimizer/prep/prepunion.c 3 additions, 2 deletionssrc/backend/optimizer/prep/prepunion.c
- src/backend/optimizer/util/clauses.c 7 additions, 7 deletionssrc/backend/optimizer/util/clauses.c
- src/backend/parser/analyze.c 117 additions, 46 deletionssrc/backend/parser/analyze.c
- src/backend/parser/parse_clause.c 12 additions, 10 deletionssrc/backend/parser/parse_clause.c
- src/backend/parser/parse_coerce.c 86 additions, 30 deletionssrc/backend/parser/parse_coerce.c
- src/backend/parser/parse_expr.c 76 additions, 26 deletionssrc/backend/parser/parse_expr.c
- src/backend/parser/parse_func.c 11 additions, 5 deletionssrc/backend/parser/parse_func.c
- src/backend/parser/parse_node.c 13 additions, 5 deletionssrc/backend/parser/parse_node.c
- src/backend/parser/parse_oper.c 12 additions, 5 deletionssrc/backend/parser/parse_oper.c
- src/backend/parser/parse_relation.c 2 additions, 2 deletionssrc/backend/parser/parse_relation.c
- src/backend/parser/parse_target.c 4 additions, 3 deletionssrc/backend/parser/parse_target.c
- src/backend/parser/parse_type.c 2 additions, 2 deletionssrc/backend/parser/parse_type.c
- src/backend/parser/parser.c 5 additions, 39 deletionssrc/backend/parser/parser.c
- src/backend/rewrite/rewriteHandler.c 3 additions, 2 deletionssrc/backend/rewrite/rewriteHandler.c
Loading
Please register or sign in to comment