From 91f3c73eb36e334ec4637e5bf4d05c77500109c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Sat, 8 Jul 2023 09:47:57 +0200 Subject: [PATCH] DB: add schemas for lower and upper bounds on score --- hanabi/database/games_seeds_schema.sql | 18 ++++++++++-------- hanabi/live/instance_finder.py | 4 ++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/hanabi/database/games_seeds_schema.sql b/hanabi/database/games_seeds_schema.sql index a9a0701..d076b8c 100644 --- a/hanabi/database/games_seeds_schema.sql +++ b/hanabi/database/games_seeds_schema.sql @@ -31,17 +31,19 @@ CREATE INDEX games_var_seed_idx ON games (variant_id, seed); CREATE INDEX games_player_idx ON games (num_players); -DROP TABLE IF EXISTS infeasibility_certs; -CREATE TABLE infeasibility_certs ( +DROP TABLE IF EXISTS score_upper_bounds; +CREATE TABLE score_upper_bounds ( seed TEXT NOT NULL REFERENCES seeds ON DELETE CASCADE, score_upper_bound SMALLINT NOT NULL, - reason SMALLINT NOT NULL + reason SMALLINT NOT NULL, + UNIQUE (seed, reason) ); -DROP TABLE IF EXISTS feasibility_certs; -CREATE TABLE feasibility_certs ( - seed TEXT NOT NULL REFERENCES seeds ON DELETE CASCADE, - game_id INT REFERENCES games ON DELETE CASCADE, - actions TEXT, +DROP TABLE IF EXISTS score_lower_bounds; +CREATE TABLE score_lower_bounds ( + seed TEXT NOT NULL REFERENCES seeds ON DELETE CASCADE, + score_lower_bound SMALLINT NOT NULL, + game_id INT REFERENCES games ON DELETE CASCADE, + actions TEXT, CHECK (num_nonnulls(game_id, actions) = 1) ); \ No newline at end of file diff --git a/hanabi/live/instance_finder.py b/hanabi/live/instance_finder.py index df435ae..f7084eb 100644 --- a/hanabi/live/instance_finder.py +++ b/hanabi/live/instance_finder.py @@ -56,8 +56,8 @@ def update_trivially_feasible_games(variant_id): database.cur.execute("UPDATE seeds SET (feasible, max_score_theoretical) = (%s, %s) WHERE seed = " "(%s)", (True, variant.max_score, seed)) database.cur.execute( - "INSERT INTO feasibility_certs (seed, game_id) VALUES (%s, %s)", - (seed, game_id) + "INSERT INTO score_lower_bounds (seed, score_lower_bound, game_id) VALUES (%s, %s, %s)", + (seed, variant.max_score, game_id) ) database.conn.commit() break