Skip to content
Snippets Groups Projects

Implementace dělených kol pomocí RoundPart

Closed Jiří Setnička requested to merge jirka/delena-kola2 into devel
1 unresolved thread
21 files
+ 496
164
Compare changes
  • Side-by-side
  • Inline
Files
21
+ 14
6
@@ -95,18 +95,25 @@ CREATE TABLE rounds (
@@ -95,18 +95,25 @@ CREATE TABLE rounds (
seq int NOT NULL, -- 1=domácí kolo atd.
seq int NOT NULL, -- 1=domácí kolo atd.
level int NOT NULL, -- úroveň hierarchie míst
level int NOT NULL, -- úroveň hierarchie míst
name varchar(255) NOT NULL, -- zobrazované jméno ("Krajské kolo" apod.)
name varchar(255) NOT NULL, -- zobrazované jméno ("Krajské kolo" apod.)
state round_state NOT NULL DEFAULT 'preparing', -- stav kola
-- termíny, odkaz na zadání a stav odsunuty do round_parts, vždy bude existovat alespoň 1 instance pro kolo
tasks_file varchar(255) DEFAULT NULL, -- jméno souboru se zadáním úloh
ct_tasks_start timestamp with time zone DEFAULT NULL, -- od kdy účastníci vidí zadání
ct_submit_end timestamp with time zone DEFAULT NULL, -- do kdy účastníci mohou regulérně odevzdávat
pr_tasks_start timestamp with time zone DEFAULT NULL, -- od kdy dozor vidí zadání
pr_submit_end timestamp with time zone DEFAULT NULL, -- do kdy dozor může regulérně odevzdávat
score_mode score_mode NOT NULL DEFAULT 'basic', -- mód výsledkovky
score_mode score_mode NOT NULL DEFAULT 'basic', -- mód výsledkovky
score_winner_limit int DEFAULT NULL, -- bodový limit na označení za vítěze
score_winner_limit int DEFAULT NULL, -- bodový limit na označení za vítěze
score_successful_limit int DEFAULT NULL, -- bodový limit na označení za úspěšného řešitele
score_successful_limit int DEFAULT NULL, -- bodový limit na označení za úspěšného řešitele
UNIQUE (year, category, seq)
UNIQUE (year, category, seq)
);
);
 
CREATE TABLE round_parts (
 
round_part_id serial PRIMARY KEY,
 
round_id int NOT NULL REFERENCES rounds(round_id),
 
name varchar(255) NOT NULL, -- jméno části ("I", "1. den" apod.)
 
state round_state NOT NULL DEFAULT 'preparing', -- stav části kola
 
tasks_file varchar(255) DEFAULT NULL, -- jméno souboru se zadáním úloh
 
ct_tasks_start timestamp with time zone DEFAULT NULL, -- od kdy účastníci vidí zadání
 
ct_submit_end timestamp with time zone DEFAULT NULL, -- do kdy účastníci mohou regulérně odevzdávat
 
pr_tasks_start timestamp with time zone DEFAULT NULL, -- od kdy dozor vidí zadání
 
pr_submit_end timestamp with time zone DEFAULT NULL -- do kdy dozor může regulérně odevzdávat
 
);
 
-- Soutěže (instance kola v konkrétním místě)
-- Soutěže (instance kola v konkrétním místě)
CREATE TABLE contests (
CREATE TABLE contests (
contest_id serial PRIMARY KEY,
contest_id serial PRIMARY KEY,
@@ -150,6 +157,7 @@ CREATE INDEX participations_contest_id_index ON participations (contest_id, plac
@@ -150,6 +157,7 @@ CREATE INDEX participations_contest_id_index ON participations (contest_id, plac
CREATE TABLE tasks (
CREATE TABLE tasks (
task_id serial PRIMARY KEY,
task_id serial PRIMARY KEY,
round_id int NOT NULL REFERENCES rounds(round_id),
round_id int NOT NULL REFERENCES rounds(round_id),
 
round_part_id int DEFAULT NULL REFERENCES round_parts(round_part_id), -- pokud pro úlohu mají platit jiné termíny
Please register or sign in to reply
code varchar(255) NOT NULL, -- např. "P-I-1"
code varchar(255) NOT NULL, -- např. "P-I-1"
name varchar(255) NOT NULL,
name varchar(255) NOT NULL,
UNIQUE (round_id, code)
UNIQUE (round_id, code)
Loading