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).
REL6_4
Thomas G. Lockhart 28 years ago
parent a8bcb8bc58
commit 620c2c362f
  1. 25
      src/test/regress/expected/random.out
  2. 3
      src/test/regress/output/misc.source
  3. 18
      src/test/regress/sql/random.sql

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

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

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

Loading…
Cancel
Save