diff options
| author | Bruce Momjian | 2002-07-18 04:41:46 +0000 |
|---|---|---|
| committer | Bruce Momjian | 2002-07-18 04:41:46 +0000 |
| commit | 3e22406ec63b60ed50d3d0c593f9e84b5e1d058b (patch) | |
| tree | 9cd544d8f473a766e21629227f615bd536d0359d /src/test | |
| parent | 7ea5f1d7f16e9771e90c020db93d7e8a9a3b22f5 (diff) | |
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
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/select.out | 147 | ||||
| -rw-r--r-- | src/test/regress/sql/select.sql | 28 |
2 files changed, 175 insertions, 0 deletions
diff --git a/src/test/regress/expected/select.out b/src/test/regress/expected/select.out index 7974d141c54..582c893ca56 100644 --- a/src/test/regress/expected/select.out +++ b/src/test/regress/expected/select.out @@ -430,3 +430,150 @@ SELECT p.name, p.age FROM person* p ORDER BY age using >, name; mary | 8 (58 rows) +-- +-- Test between syntax +-- +SELECT 2 BETWEEN 1 AND 3; + ?column? +---------- + t +(1 row) + +SELECT 2 BETWEEN 3 AND 1; + ?column? +---------- + f +(1 row) + +SELECT 2 BETWEEN ASYMMETRIC 1 AND 3; + ?column? +---------- + t +(1 row) + +SELECT 2 BETWEEN ASYMMETRIC 3 AND 1; + ?column? +---------- + f +(1 row) + +SELECT 2 BETWEEN SYMMETRIC 1 AND 3; + ?column? +---------- + t +(1 row) + +SELECT 2 BETWEEN SYMMETRIC 3 AND 1; + ?column? +---------- + t +(1 row) + +SELECT 2 NOT BETWEEN 1 AND 3; + ?column? +---------- + f +(1 row) + +SELECT 2 NOT BETWEEN 3 AND 1; + ?column? +---------- + t +(1 row) + +SELECT 2 NOT BETWEEN ASYMMETRIC 1 AND 3; + ?column? +---------- + f +(1 row) + +SELECT 2 NOT BETWEEN ASYMMETRIC 3 AND 1; + ?column? +---------- + t +(1 row) + +SELECT 2 NOT BETWEEN SYMMETRIC 1 AND 3; + ?column? +---------- + f +(1 row) + +SELECT 2 NOT BETWEEN SYMMETRIC 3 AND 1; + ?column? +---------- + f +(1 row) + +SELECT -4 BETWEEN -1 AND -3; + ?column? +---------- + f +(1 row) + +SELECT -4 BETWEEN -3 AND -1; + ?column? +---------- + f +(1 row) + +SELECT -4 BETWEEN ASYMMETRIC -1 AND -3; + ?column? +---------- + f +(1 row) + +SELECT -4 BETWEEN ASYMMETRIC -3 AND -1; + ?column? +---------- + f +(1 row) + +SELECT -4 BETWEEN SYMMETRIC -1 AND -3; + ?column? +---------- + f +(1 row) + +SELECT -4 BETWEEN SYMMETRIC -3 AND -1; + ?column? +---------- + f +(1 row) + +SELECT -4 NOT BETWEEN -1 AND -3; + ?column? +---------- + t +(1 row) + +SELECT -4 NOT BETWEEN -3 AND -1; + ?column? +---------- + t +(1 row) + +SELECT -4 NOT BETWEEN ASYMMETRIC -1 AND -3; + ?column? +---------- + t +(1 row) + +SELECT -4 NOT BETWEEN ASYMMETRIC -3 AND -1; + ?column? +---------- + t +(1 row) + +SELECT -4 NOT BETWEEN SYMMETRIC -1 AND -3; + ?column? +---------- + t +(1 row) + +SELECT -4 NOT BETWEEN SYMMETRIC -3 AND -1; + ?column? +---------- + t + (1 row) + diff --git a/src/test/regress/sql/select.sql b/src/test/regress/sql/select.sql index ee9389dc597..6a8e3bb02e9 100644 --- a/src/test/regress/sql/select.sql +++ b/src/test/regress/sql/select.sql @@ -103,3 +103,31 @@ SELECT p.name, p.age FROM person* p; -- SELECT p.name, p.age FROM person* p ORDER BY age using >, name; +-- +-- Test between syntax +-- +SELECT 2 BETWEEN 1 AND 3; +SELECT 2 BETWEEN 3 AND 1; +SELECT 2 BETWEEN ASYMMETRIC 1 AND 3; +SELECT 2 BETWEEN ASYMMETRIC 3 AND 1; +SELECT 2 BETWEEN SYMMETRIC 1 AND 3; +SELECT 2 BETWEEN SYMMETRIC 3 AND 1; +SELECT 2 NOT BETWEEN 1 AND 3; +SELECT 2 NOT BETWEEN 3 AND 1; +SELECT 2 NOT BETWEEN ASYMMETRIC 1 AND 3; +SELECT 2 NOT BETWEEN ASYMMETRIC 3 AND 1; +SELECT 2 NOT BETWEEN SYMMETRIC 1 AND 3; +SELECT 2 NOT BETWEEN SYMMETRIC 3 AND 1; +SELECT -4 BETWEEN -1 AND -3; +SELECT -4 BETWEEN -3 AND -1; +SELECT -4 BETWEEN ASYMMETRIC -1 AND -3; +SELECT -4 BETWEEN ASYMMETRIC -3 AND -1; +SELECT -4 BETWEEN SYMMETRIC -1 AND -3; +SELECT -4 BETWEEN SYMMETRIC -3 AND -1; +SELECT -4 NOT BETWEEN -1 AND -3; +SELECT -4 NOT BETWEEN -3 AND -1; +SELECT -4 NOT BETWEEN ASYMMETRIC -1 AND -3; +SELECT -4 NOT BETWEEN ASYMMETRIC -3 AND -1; +SELECT -4 NOT BETWEEN SYMMETRIC -1 AND -3; +SELECT -4 NOT BETWEEN SYMMETRIC -3 AND -1; + |
