aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/schema.sql
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-08-08 19:30:20 +0900
committernsfisis <nsfisis@gmail.com>2024-08-08 19:30:20 +0900
commit9e5500269746d3826382a6dec78f0e82cfda0d42 (patch)
treed8f15d4081132d6cfff3ea3b02f197b2d6bad700 /backend/schema.sql
parent401a28944fc0408811aedadd1c3104e2e2d4d7fe (diff)
parent113c83b19acc58fbd46e8acdac67ff1a112d0d8c (diff)
downloadphperkaigi-2025-albatross-9e5500269746d3826382a6dec78f0e82cfda0d42.tar.gz
phperkaigi-2025-albatross-9e5500269746d3826382a6dec78f0e82cfda0d42.tar.zst
phperkaigi-2025-albatross-9e5500269746d3826382a6dec78f0e82cfda0d42.zip
Merge branch 'feat/taskqueue'
Diffstat (limited to 'backend/schema.sql')
-rw-r--r--backend/schema.sql31
1 files changed, 22 insertions, 9 deletions
diff --git a/backend/schema.sql b/backend/schema.sql
index d0b6c40..74d1202 100644
--- a/backend/schema.sql
+++ b/backend/schema.sql
@@ -64,14 +64,27 @@ CREATE TABLE submissions (
CONSTRAINT fk_user_id FOREIGN KEY(user_id) REFERENCES users(user_id)
);
-CREATE TABLE testcase_executions (
- testcase_execution_id SERIAL PRIMARY KEY,
- submission_id INT NOT NULL,
- testcase_id INT,
- status VARCHAR(16) NOT NULL,
- stdout TEXT NOT NULL,
- stderr TEXT NOT NULL,
+CREATE TABLE submission_results (
+ submission_result_id SERIAL PRIMARY KEY,
+ submission_id INT NOT NULL UNIQUE,
+ status VARCHAR(16) NOT NULL,
+ stdout TEXT NOT NULL,
+ stderr TEXT NOT NULL,
+ created_at TIMESTAMP NOT NULL DEFAULT NOW(),
+ CONSTRAINT fk_submission_id FOREIGN KEY(submission_id) REFERENCES submissions(submission_id)
+);
+CREATE INDEX idx_submission_results_submission_id ON submission_results(submission_id);
+
+CREATE TABLE testcase_results (
+ testcase_result_id SERIAL PRIMARY KEY,
+ submission_id INT NOT NULL,
+ testcase_id INT NOT NULL,
+ status VARCHAR(16) NOT NULL,
+ stdout TEXT NOT NULL,
+ stderr TEXT NOT NULL,
+ created_at TIMESTAMP NOT NULL DEFAULT NOW(),
CONSTRAINT fk_submission_id FOREIGN KEY(submission_id) REFERENCES submissions(submission_id),
- CONSTRAINT fk_testcase_id FOREIGN KEY(testcase_id) REFERENCES testcases(testcase_id)
+ CONSTRAINT fk_testcase_id FOREIGN KEY(testcase_id) REFERENCES testcases(testcase_id),
+ CONSTRAINT uq_submission_id_testcase_id UNIQUE(submission_id, testcase_id)
);
-CREATE INDEX idx_testcase_executions_submission_id ON testcase_executions(submission_id);
+CREATE INDEX idx_testcase_results_submission_id ON testcase_results(submission_id);