parent
5ab11f69f6
commit
173c22b90a
10 changed files with 134 additions and 13 deletions
6
db/21-requestMetadata.sql
Normal file
6
db/21-requestMetadata.sql
Normal file
|
@ -0,0 +1,6 @@
|
|||
CREATE TABLE requestMetadata (
|
||||
url varchar NOT NULL UNIQUE,
|
||||
videoTitle varchar DEFAULT NULL,
|
||||
PRIMARY KEY (url),
|
||||
FOREIGN KEY (url) REFERENCES requests(url) ON DELETE CASCADE
|
||||
);
|
|
@ -1,5 +1,6 @@
|
|||
CREATE OR REPLACE VIEW requests_vw AS
|
||||
SELECT url,displayName AS requester,imageUrl,state,score,reqTimestamp FROM requests
|
||||
SELECT url,COALESCE(videoTitle,url) AS title,displayName AS requester,imageUrl,state,score,reqTimestamp FROM requests
|
||||
JOIN requestMetadata USING (url)
|
||||
JOIN scores USING (url)
|
||||
JOIN users ON requests.requester = users.userid
|
||||
ORDER BY score DESC, reqTimestamp ASC;
|
||||
|
@ -7,6 +8,7 @@ CREATE OR REPLACE VIEW requests_vw AS
|
|||
CREATE OR REPLACE FUNCTION get_requests_voted(votinguserid int)
|
||||
RETURNS TABLE (
|
||||
url varchar,
|
||||
title varchar,
|
||||
requester varchar,
|
||||
imageUrl varchar,
|
||||
state varchar,
|
||||
|
@ -16,7 +18,7 @@ CREATE OR REPLACE FUNCTION get_requests_voted(votinguserid int)
|
|||
)
|
||||
LANGUAGE SQL
|
||||
AS $$
|
||||
SELECT url,requester,imageUrl,state,score,reqTimestamp,
|
||||
SELECT url,title,requester,imageUrl,state,score,reqTimestamp,
|
||||
(CASE WHEN votes.userid IS NULL THEN FALSE ELSE TRUE END) AS voted
|
||||
FROM requests_vw
|
||||
LEFT JOIN votes ON (requests_vw.url = votes.requesturl AND votes.userid = votinguserid)
|
||||
|
|
|
@ -10,6 +10,7 @@ CREATE OR REPLACE PROCEDURE add_request(url varchar,requester int)
|
|||
LANGUAGE SQL
|
||||
AS $$
|
||||
INSERT INTO requests (url,requester) VALUES (url,requester);
|
||||
INSERT INTO requestMetadata (url) VALUES (url);
|
||||
INSERT INTO scores (url) VALUES (url);
|
||||
INSERT INTO votes (requesturl,userid) VALUES (url,requester);
|
||||
CALL update_scores();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue