Compare commits

..

No commits in common. "6b15ecadcb72b8672dc64f063872a03a9c9923c7" and "a2e0894728a03cc075d852c54f073cce4f64d7f4" have entirely different histories.

View file

@ -9,24 +9,6 @@ BEGIN
END; END;
$$; $$;
CREATE FUNCTION check_max_tasks() RETURNS TRIGGER
LANGUAGE plpgsql AS
$$
DECLARE
max_on_contest_tasks_amount integer := 50;
BEGIN
IF (
SELECT count(*) FROM tasks
WHERE contest_id = NEW.contest_id
) >= (
max_on_contest_tasks_amount
) THEN
RAISE EXCEPTION 'Exceeded max tasks for this contest';
END IF;
RETURN NEW;
END;
$$;
CREATE TABLE IF NOT EXISTS problems CREATE TABLE IF NOT EXISTS problems
( (
id serial NOT NULL, id serial NOT NULL,
@ -91,11 +73,6 @@ CREATE TABLE IF NOT EXISTS tasks
CHECK (position >= 0) CHECK (position >= 0)
); );
CREATE TRIGGER max_tasks_on_contest_check
BEFORE INSERT ON tasks
FOR EACH STATEMENT
EXECUTE FUNCTION check_max_tasks();
CREATE TRIGGER on_tasks_update CREATE TRIGGER on_tasks_update
BEFORE UPDATE BEFORE UPDATE
ON tasks ON tasks
@ -121,7 +98,6 @@ CREATE TRIGGER on_participants_update
FOR EACH ROW FOR EACH ROW
EXECUTE PROCEDURE updated_at_update(); EXECUTE PROCEDURE updated_at_update();
CREATE TABLE IF NOT EXISTS solutions CREATE TABLE IF NOT EXISTS solutions
( (
id serial NOT NULL, id serial NOT NULL,
@ -149,17 +125,15 @@ EXECUTE PROCEDURE updated_at_update();
-- +goose Down -- +goose Down
-- +goose StatementBegin -- +goose StatementBegin
DROP TRIGGER IF EXISTS on_solutions_update ON solutions;
DROP TABLE IF EXISTS solutions;
DROP TRIGGER IF EXISTS on_participants_update ON participants;
DROP TABLE IF EXISTS participants;
DROP TRIGGER IF EXISTS on_tasks_update ON tasks;
DROP TRIGGER IF EXISTS max_tasks_on_contest_check ON tasks;
DROP TABLE IF EXISTS tasks;
DROP TRIGGER IF EXISTS on_problems_update ON problems; DROP TRIGGER IF EXISTS on_problems_update ON problems;
DROP TABLE IF EXISTS problems; DROP TABLE IF EXISTS problems;
DROP TRIGGER IF EXISTS on_contests_update ON contests; DROP TRIGGER IF EXISTS on_contests_update ON contests;
DROP TABLE IF EXISTS contests; DROP TABLE IF EXISTS contests;
DROP FUNCTION IF EXISTS updated_at_update(); DROP TRIGGER IF EXISTS on_tasks_update ON tasks;
DROP FUNCTION IF EXISTS check_max_tasks(); DROP TABLE IF EXISTS tasks;
DROP TRIGGER IF EXISTS on_participants_update ON participants;
DROP TABLE IF EXISTS participants;
DROP TRIGGER IF EXISTS on_solutions_update ON solutions;
DROP TABLE IF EXISTS solutions;
DROP FUNCTION updated_at_update();
-- +goose StatementEnd -- +goose StatementEnd