1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-29 13:56:47 +03:00

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 1000
(1 row) (1 row)
QUERY: SELECT count(*) FROM onek where oidrand(onek.oid, 10); QUERY: SELECT count(*) AS random INTO RANDOM_TBL
count FROM onek WHERE oidrand(onek.oid, 10);
----- QUERY: INSERT INTO RANDOM_TBL (random)
92 SELECT count(*)
(1 row) 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); QUERY: SELECT random FROM RANDOM_TBL
count WHERE random NOT BETWEEN 80 AND 120;
----- random
98 ------
(1 row) (0 rows)

View File

@ -495,6 +495,7 @@ person
point_tbl point_tbl
polygon_tbl polygon_tbl
ramp ramp
random_tbl
real_city real_city
reltime_tbl reltime_tbl
road road
@ -512,5 +513,5 @@ tinterval_tbl
toyemp toyemp
varchar_tbl varchar_tbl
xacttest xacttest
(70 rows) (71 rows)

View File

@ -5,8 +5,22 @@
SELECT count(*) FROM onek; SELECT count(*) FROM onek;
-- select roughly 1/10 of the tuples -- 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 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;