summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorBruce Momjian2002-07-18 04:41:46 +0000
committerBruce Momjian2002-07-18 04:41:46 +0000
commit3e22406ec63b60ed50d3d0c593f9e84b5e1d058b (patch)
tree9cd544d8f473a766e21629227f615bd536d0359d /src/test
parent7ea5f1d7f16e9771e90c020db93d7e8a9a3b22f5 (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.out147
-rw-r--r--src/test/regress/sql/select.sql28
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;
+