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).
This commit is contained in:
Thomas G. Lockhart 1998-08-17 16:11:35 +00:00
parent a8bcb8bc58
commit 620c2c362f
3 changed files with 33 additions and 13 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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;