learn-request-queue/db/upgrade/v0.6-v0.7.sql

25 lines
526 B
PL/PgSQL

BEGIN;
UPDATE version SET minor = 7;
ALTER TABLE votes
ALTER COLUMN requestUrl SET NOT NULL,
ALTER COLUMN userId SET NOT NULL;
CREATE OR REPLACE PROCEDURE clear_zero_votes()
LANGUAGE SQL
AS $$
DELETE FROM requests WHERE NOT EXISTS
(SELECT FROM votes WHERE requests.url = votes.requesturl);
$$;
CREATE OR REPLACE PROCEDURE delete_vote(url varchar,voteuser int)
LANGUAGE SQL
AS $$
DELETE FROM votes WHERE requesturl = url AND userid = voteuser;
CALL update_scores();
CALL clear_zero_votes();
$$;
COMMIT;