aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/regress/expected/random.out25
-rw-r--r--src/test/regress/output/misc.source3
-rw-r--r--src/test/regress/sql/random.sql18
3 files changed, 33 insertions, 13 deletions
diff --git a/src/test/regress/expected/random.out b/src/test/regress/expected/random.out
index 1badd407614..a0592ac369d 100644
--- a/src/test/regress/expected/random.out
+++ b/src/test/regress/expected/random.out
@@ -4,15 +4,20 @@ count
1000
(1 row)
-QUERY: SELECT count(*) FROM onek where oidrand(onek.oid, 10);
-count
------
- 92
-(1 row)
+QUERY: SELECT count(*) AS random INTO RANDOM_TBL
+ FROM onek WHERE oidrand(onek.oid, 10);
+QUERY: INSERT INTO RANDOM_TBL (random)
+ SELECT count(*)
+ FROM onek WHERE oidrand(onek.oid, 10);
+QUERY: SELECT random, count(random) FROM RANDOM_TBL
+ GROUP BY random HAVING count(random) > 1;
+random|count
+------+-----
+(0 rows)
-QUERY: SELECT count(*) FROM onek where oidrand(onek.oid, 10);
-count
------
- 98
-(1 row)
+QUERY: SELECT random FROM RANDOM_TBL
+ WHERE random NOT BETWEEN 80 AND 120;
+random
+------
+(0 rows)
diff --git a/src/test/regress/output/misc.source b/src/test/regress/output/misc.source
index 0df73072f5e..39a61010313 100644
--- a/src/test/regress/output/misc.source
+++ b/src/test/regress/output/misc.source
@@ -495,6 +495,7 @@ person
point_tbl
polygon_tbl
ramp
+random_tbl
real_city
reltime_tbl
road
@@ -512,5 +513,5 @@ tinterval_tbl
toyemp
varchar_tbl
xacttest
-(70 rows)
+(71 rows)
diff --git a/src/test/regress/sql/random.sql b/src/test/regress/sql/random.sql
index 6e541341af3..6463c7bf8bd 100644
--- a/src/test/regress/sql/random.sql
+++ b/src/test/regress/sql/random.sql
@@ -5,8 +5,22 @@
SELECT count(*) FROM onek;
-- select roughly 1/10 of the tuples
-SELECT count(*) FROM onek where oidrand(onek.oid, 10);
+-- Assume that the "onek" table has 1000 tuples
+-- and try to bracket the correct number so we
+-- have a regression test which can pass/fail
+-- - thomas 1998-08-17
+SELECT count(*) AS random INTO RANDOM_TBL
+ FROM onek WHERE oidrand(onek.oid, 10);
-- select again, the count should be different
-SELECT count(*) FROM onek where oidrand(onek.oid, 10);
+INSERT INTO RANDOM_TBL (random)
+ SELECT count(*)
+ FROM onek WHERE oidrand(onek.oid, 10);
+
+-- now test the results for randomness in the correct range
+SELECT random, count(random) FROM RANDOM_TBL
+ GROUP BY random HAVING count(random) > 1;
+
+SELECT random FROM RANDOM_TBL
+ WHERE random NOT BETWEEN 80 AND 120;