aboutsummaryrefslogtreecommitdiff
path: root/content/posts/nested-postgres-results/setup.sql
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2025-09-07 21:35:50 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2025-09-07 21:35:50 +0200
commit07871783082839a768e4fa999cee58532d0a79fe (patch)
tree646f8b3be966e087dbdc6341c26d5fcddee89254 /content/posts/nested-postgres-results/setup.sql
parente083b5a37932ecf18efc73019a3fdb90e242cd7c (diff)
draft for nested postgres results
Diffstat (limited to 'content/posts/nested-postgres-results/setup.sql')
-rw-r--r--content/posts/nested-postgres-results/setup.sql26
1 files changed, 26 insertions, 0 deletions
diff --git a/content/posts/nested-postgres-results/setup.sql b/content/posts/nested-postgres-results/setup.sql
new file mode 100644
index 0000000..a54563b
--- /dev/null
+++ b/content/posts/nested-postgres-results/setup.sql
@@ -0,0 +1,26 @@
+CREATE TABLE accommodations (
+ id serial PRIMARY KEY,
+ name text NOT NULL,
+ default_price numeric(10, 2) NOT NULL
+);
+
+INSERT INTO accommodations (name, default_price)
+SELECT
+ CONCAT('accommodation_', generate_series) AS name,
+ TRUNC(RANDOM() * 100 + 200) AS default_price
+FROM GENERATE_SERIES(1, 10000);
+
+CREATE TABLE overrides (
+ id serial PRIMARY KEY,
+ accommodation_id integer NOT NULL REFERENCES accommodations (id),
+ date date NOT NULL,
+ price numeric(10, 2) NOT NULL
+);
+ALTER TABLE overrides ADD constraint unique_dates UNIQUE (
+ accommodation_id, date
+);
+INSERT INTO overrides (accommodation_id, date, price) SELECT
+ (generate_series / 100) + 1 AS accommodation_id,
+ '2025-01-01'::date + (generate_series % 100) * '3 days'::interval AS date,
+ TRUNC(RANDOM() * 100 + 200) AS price
+FROM GENERATE_SERIES(1, 999999);