diff --git a/src/test/regress/expected/random.out b/src/test/regress/expected/random.out index 1badd40761..a0592ac369 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 0df73072f5..39a6101031 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 6e541341af..6463c7bf8b 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;