aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas G. Lockhart <lockhart@fourpalms.org>1998-08-17 16:11:35 +0000
committerThomas G. Lockhart <lockhart@fourpalms.org>1998-08-17 16:11:35 +0000
commit620c2c362f636d786f10ad010d58d2ed595f72d3 (patch)
tree616a47b7ffbb1afd3a1cbf9918ad0cf6129640c8
parenta8bcb8bc5801584ad80667e754c5342bc19c1e0e (diff)
downloadpostgresql-620c2c362f636d786f10ad010d58d2ed595f72d3.tar.gz
postgresql-620c2c362f636d786f10ad010d58d2ed595f72d3.zip
Update the random test so it should succeed most of the time.
Instead of directly showing the random results, test the results for the expected behavior (range and randomness).
-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;