Re-implement LIMIT/OFFSET as a plan node type, instead of a hack in
ExecutorRun. This allows LIMIT to work in a view. Also, LIMIT in a cursor declaration will behave in a reasonable fashion, whereas before it was overridden by the FETCH count.
Showing
- src/backend/commands/command.c 4 additions, 21 deletionssrc/backend/commands/command.c
- src/backend/commands/explain.c 4 additions, 1 deletionsrc/backend/commands/explain.c
- src/backend/executor/Makefile 3 additions, 3 deletionssrc/backend/executor/Makefile
- src/backend/executor/execAmi.c 6 additions, 1 deletionsrc/backend/executor/execAmi.c
- src/backend/executor/execMain.c 20 additions, 127 deletionssrc/backend/executor/execMain.c
- src/backend/executor/execProcnode.c 17 additions, 1 deletionsrc/backend/executor/execProcnode.c
- src/backend/executor/execTuples.c 9 additions, 1 deletionsrc/backend/executor/execTuples.c
- src/backend/executor/functions.c 2 additions, 5 deletionssrc/backend/executor/functions.c
- src/backend/executor/nodeLimit.c 324 additions, 0 deletionssrc/backend/executor/nodeLimit.c
- src/backend/executor/spi.c 2 additions, 37 deletionssrc/backend/executor/spi.c
- src/backend/nodes/copyfuncs.c 29 additions, 1 deletionsrc/backend/nodes/copyfuncs.c
- src/backend/nodes/outfuncs.c 16 additions, 1 deletionsrc/backend/nodes/outfuncs.c
- src/backend/nodes/print.c 3 additions, 1 deletionsrc/backend/nodes/print.c
- src/backend/optimizer/plan/createplan.c 22 additions, 1 deletionsrc/backend/optimizer/plan/createplan.c
- src/backend/optimizer/plan/planner.c 19 additions, 9 deletionssrc/backend/optimizer/plan/planner.c
- src/backend/optimizer/plan/setrefs.c 2 additions, 1 deletionsrc/backend/optimizer/plan/setrefs.c
- src/backend/optimizer/plan/subselect.c 2 additions, 1 deletionsrc/backend/optimizer/plan/subselect.c
- src/backend/rewrite/rewriteDefine.c 1 addition, 7 deletionssrc/backend/rewrite/rewriteDefine.c
- src/backend/tcop/pquery.c 2 additions, 3 deletionssrc/backend/tcop/pquery.c
- src/backend/utils/adt/ruleutils.c 15 additions, 3 deletionssrc/backend/utils/adt/ruleutils.c
Loading
Please register or sign in to comment