diff options
Diffstat (limited to 'src/test/regress/sql/random.sql')
-rw-r--r-- | src/test/regress/sql/random.sql | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/regress/sql/random.sql b/src/test/regress/sql/random.sql new file mode 100644 index 0000000..8187b2c --- /dev/null +++ b/src/test/regress/sql/random.sql @@ -0,0 +1,44 @@ +-- +-- RANDOM +-- Test the random function +-- + +-- count the number of tuples originally, should be 1000 +SELECT count(*) FROM onek; + +-- pick three random rows, they shouldn't match +(SELECT unique1 AS random + FROM onek ORDER BY random() LIMIT 1) +INTERSECT +(SELECT unique1 AS random + FROM onek ORDER BY random() LIMIT 1) +INTERSECT +(SELECT unique1 AS random + FROM onek ORDER BY random() LIMIT 1); + +-- count roughly 1/10 of the tuples +CREATE TABLE RANDOM_TBL AS + SELECT count(*) AS random + FROM onek WHERE random() < 1.0/10; + +-- select again, the count should be different +INSERT INTO RANDOM_TBL (random) + SELECT count(*) + FROM onek WHERE random() < 1.0/10; + +-- select again, the count should be different +INSERT INTO RANDOM_TBL (random) + SELECT count(*) + FROM onek WHERE random() < 1.0/10; + +-- select again, the count should be different +INSERT INTO RANDOM_TBL (random) + SELECT count(*) + FROM onek WHERE random() < 1.0/10; + +-- now test that they are different counts +SELECT random, count(random) FROM RANDOM_TBL + GROUP BY random HAVING count(random) > 3; + +SELECT AVG(random) FROM RANDOM_TBL + HAVING AVG(random) NOT BETWEEN 80 AND 120; |