From 1973ad0c6d72297dc42a3cad3347589858033366 Mon Sep 17 00:00:00 2001 From: Javinator9889 Date: Sun, 17 May 2020 12:40:40 +0200 Subject: [PATCH] Updated psql model including user premium feature --- Design/Database/psql_model.sql | 11 ++++++----- YouTubeMDBot/database/psql_model.sql | 21 +++++++++------------ 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/Design/Database/psql_model.sql b/Design/Database/psql_model.sql index a7a0045..a30bb8e 100644 --- a/Design/Database/psql_model.sql +++ b/Design/Database/psql_model.sql @@ -34,7 +34,8 @@ CREATE TABLE IF NOT EXISTS youtubemd.User "name" VARCHAR(45), "tag" VARCHAR(45), "lang" VARCHAR(2), - "first_access" date + "first_access" date, + "is_premium" BOOLEAN DEFAULT FALSE ); --# @@ -109,7 +110,7 @@ CREATE TABLE IF NOT EXISTS youtubemd.Video_Has_Metadata CREATE TABLE IF NOT EXISTS youtubemd.File ( "id" VARCHAR(50) UNIQUE NOT NULL, - "metadata_id" INT UNIQUE NOT NULL, + "metadata_id" INT UNIQUE NOT NULL, "audio_quality" AQUALITY NOT NULL, "size" INT, PRIMARY KEY ("id", "metadata_id"), @@ -222,7 +223,7 @@ BEGIN RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, youtubemd.YouTubeStats.daily_requests FROM youtubemd.youtubestats ORDER BY daily_requests DESC - FETCH FIRST 10 ROWS ONLY; + FETCH FIRST 10 ROWS ONLY; END; $$ LANGUAGE plpgsql; --# @@ -239,7 +240,7 @@ BEGIN RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, youtubemd.YouTubeStats.weekly_requests FROM youtubemd.youtubestats ORDER BY weekly_requests DESC - FETCH FIRST 10 ROWS ONLY; + FETCH FIRST 10 ROWS ONLY; END; $$ LANGUAGE plpgsql; --# @@ -256,7 +257,7 @@ BEGIN RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, youtubemd.YouTubeStats.monthly_requests FROM youtubemd.youtubestats ORDER BY monthly_requests DESC - FETCH FIRST 10 ROWS ONLY; + FETCH FIRST 10 ROWS ONLY; END; $$ LANGUAGE plpgsql; --# diff --git a/YouTubeMDBot/database/psql_model.sql b/YouTubeMDBot/database/psql_model.sql index 38add24..a30bb8e 100644 --- a/YouTubeMDBot/database/psql_model.sql +++ b/YouTubeMDBot/database/psql_model.sql @@ -1,7 +1,7 @@ -- PostgreSQL model for YouTubeMDBot application -- Created by Javinator9889 - thu, 24 October, 2019 --- Last modification: Sat, 29 February, 2020 --- Version 1.2 +-- Last modification: Sun, 17 May, 2020 +-- Version 1.3 -- DROP schema - only for testing DROP SCHEMA IF EXISTS youtubemd CASCADE; @@ -34,7 +34,8 @@ CREATE TABLE IF NOT EXISTS youtubemd.User "name" VARCHAR(45), "tag" VARCHAR(45), "lang" VARCHAR(2), - "first_access" date + "first_access" date, + "is_premium" BOOLEAN DEFAULT FALSE ); --# @@ -152,6 +153,7 @@ CREATE TABLE IF NOT EXISTS youtubemd.Playlist "id" VARCHAR(22) NOT NULL UNIQUE, PRIMARY KEY ("id") ); +--# -- ---------------------------------------------- -- Table YouTube stats -- @@ -185,9 +187,7 @@ DECLARE weekly_value INT; monthly_value INT; BEGIN - IF (SELECT EXISTS(SELECT 1 - FROM youtubemd.YouTubeStats - WHERE youtubemd.YouTubeStats.id = NEW.id)) THEN + IF (SELECT EXISTS(SELECT 1 FROM youtubemd.YouTubeStats WHERE youtubemd.YouTubeStats.id = NEW.id)) THEN SELECT INTO daily_value, weekly_value, monthly_value youtubemd.YouTubeStats.daily_requests, youtubemd.YouTubeStats.weekly_requests, youtubemd.YouTubeStats.monthly_requests @@ -220,8 +220,7 @@ CREATE FUNCTION youtubemd.top_10_daily() AS $$ BEGIN - RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, - youtubemd.YouTubeStats.daily_requests + RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, youtubemd.YouTubeStats.daily_requests FROM youtubemd.youtubestats ORDER BY daily_requests DESC FETCH FIRST 10 ROWS ONLY; @@ -238,8 +237,7 @@ CREATE FUNCTION youtubemd.top_10_weekly() AS $$ BEGIN - RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, - youtubemd.YouTubeStats.weekly_requests + RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, youtubemd.YouTubeStats.weekly_requests FROM youtubemd.youtubestats ORDER BY weekly_requests DESC FETCH FIRST 10 ROWS ONLY; @@ -256,8 +254,7 @@ CREATE FUNCTION youtubemd.top_10_monthly() AS $$ BEGIN - RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, - youtubemd.YouTubeStats.monthly_requests + RETURN QUERY SELECT DISTINCT youtubemd.YouTubeStats.id, youtubemd.YouTubeStats.monthly_requests FROM youtubemd.youtubestats ORDER BY monthly_requests DESC FETCH FIRST 10 ROWS ONLY;