-
- Downloads
Fix planner and rewriter to follow SQL semantics for tables that are
mentioned in FROM but not elsewhere in the query: such tables should be joined over anyway. Aside from being more standards-compliant, this allows removal of some very ugly hacks for COUNT(*) processing. Also, allow HAVING clause without aggregate functions, since SQL does. Clean up CREATE RULE statement-list syntax the same way Bruce just fixed the main stmtmulti production. CAUTION: addition of a field to RangeTblEntry nodes breaks stored rules; you will have to initdb if you have any rules.
Showing
- src/backend/commands/view.c 3 additions, 3 deletionssrc/backend/commands/view.c
- src/backend/executor/execMain.c 2 additions, 3 deletionssrc/backend/executor/execMain.c
- src/backend/nodes/copyfuncs.c 2 additions, 2 deletionssrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 3 additions, 1 deletionsrc/backend/nodes/equalfuncs.c
- src/backend/nodes/outfuncs.c 3 additions, 2 deletionssrc/backend/nodes/outfuncs.c
- src/backend/nodes/readfuncs.c 5 additions, 1 deletionsrc/backend/nodes/readfuncs.c
- src/backend/optimizer/plan/initsplan.c 26 additions, 20 deletionssrc/backend/optimizer/plan/initsplan.c
- src/backend/optimizer/plan/planmain.c 73 additions, 87 deletionssrc/backend/optimizer/plan/planmain.c
- src/backend/optimizer/plan/planner.c 32 additions, 21 deletionssrc/backend/optimizer/plan/planner.c
- src/backend/optimizer/util/clauses.c 26 additions, 13 deletionssrc/backend/optimizer/util/clauses.c
- src/backend/parser/analyze.c 7 additions, 25 deletionssrc/backend/parser/analyze.c
- src/backend/parser/gram.y 52 additions, 50 deletionssrc/backend/parser/gram.y
- src/backend/parser/parse_agg.c 24 additions, 70 deletionssrc/backend/parser/parse_agg.c
- src/backend/parser/parse_clause.c 14 additions, 3 deletionssrc/backend/parser/parse_clause.c
- src/backend/parser/parse_func.c 5 additions, 3 deletionssrc/backend/parser/parse_func.c
- src/backend/parser/parse_relation.c 23 additions, 16 deletionssrc/backend/parser/parse_relation.c
- src/backend/rewrite/rewriteHandler.c 56 additions, 35 deletionssrc/backend/rewrite/rewriteHandler.c
- src/include/nodes/parsenodes.h 34 additions, 16 deletionssrc/include/nodes/parsenodes.h
- src/include/optimizer/planmain.h 3 additions, 5 deletionssrc/include/optimizer/planmain.h
- src/include/parser/parse_relation.h 3 additions, 2 deletionssrc/include/parser/parse_relation.h
Loading
Please register or sign in to comment