From 311bcfc6b3acdd6fd152798c7f287ddf74fa2a98 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Tue, 16 Apr 2024 21:46:48 +0200
Subject: Adding upstream version 15.4.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 src/test/regress/sql/random.sql | 44 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 src/test/regress/sql/random.sql

(limited to 'src/test/regress/sql/random.sql')

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;
-- 
cgit v1.2.3

