Finished the Between patch Christopher started.
Bruce Momjian <bruce@momjian.us>
Finished the Between patch Christopher started. Implements between (symmetric / asymmetric) as a node. Executes the left or right expression once, makes a Const out of the resulting Datum and executes the >=, <= portions out of the Const sets. Of course, the parser does a fair amount of preparatory work for this to happen. Rod Taylor
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/executor/execQual.c | modified | +110 −2 |
| src/backend/nodes/copyfuncs.c | modified | +30 −1 |
| src/backend/nodes/equalfuncs.c | modified | +31 −1 |
| src/backend/nodes/outfuncs.c | modified | +36 −1 |
| src/backend/nodes/readfuncs.c | modified | +50 −1 |
| src/backend/optimizer/util/clauses.c | modified | +25 −5 |
| src/backend/parser/gram.y | modified | +27 −12 |
| src/backend/parser/keywords.c | modified | +3 −1 |
| src/backend/parser/parse_expr.c | modified | +82 −7 |
| src/backend/utils/adt/ruleutils.c | modified | +26 −1 |
| src/include/nodes/makefuncs.h | modified | +2 −1 |
| src/include/nodes/nodes.h | modified | +2 −1 |
| src/include/nodes/parsenodes.h | modified | +20 −1 |
| src/test/regress/expected/select.out | modified | +147 −0 |
| src/test/regress/sql/select.sql | modified | +28 −0 |