From 1344e625f1aaa41493e42515601f5cc43871feb4 Mon Sep 17 00:00:00 2001 From: AustrianToast Date: Wed, 11 Dec 2024 00:24:25 +0100 Subject: [PATCH] modify return value --- sql/insert_url.sql | 14 ++++++++------ sql/insert_url_with_custom_artist.sql | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/sql/insert_url.sql b/sql/insert_url.sql index 0aceb43..9b9b7e9 100644 --- a/sql/insert_url.sql +++ b/sql/insert_url.sql @@ -1,4 +1,4 @@ -CREATE OR REPLACE FUNCTION public.insert_url(in_url text) RETURNS integer +CREATE OR REPLACE FUNCTION public.insert_url(in_url text) RETURNS TABLE (out_url text, out_website_name text) LANGUAGE plpgsql STRICT AS $$ DECLARE @@ -8,7 +8,7 @@ BEGIN WHERE aw.url = in_url; IF FOUND THEN - RETURN 1; + RETURN; END IF; INSERT INTO artist_website (url) VALUES (in_url); @@ -16,21 +16,23 @@ BEGIN SELECT * INTO ret_value FROM set_artist_name(in_url); IF ret_value <> 0 THEN DELETE FROM artist_website WHERE url = in_url; - RETURN 1; + RETURN; END IF; SELECT * INTO ret_value FROM set_website_name(in_url); IF ret_value <> 0 THEN DELETE FROM artist_website WHERE url = in_url; - RETURN 1; + RETURN; END IF; SELECT * INTO ret_value FROM set_folder_path(in_url); IF ret_value <> 0 THEN DELETE FROM artist_website WHERE url = in_url; - RETURN 1; + RETURN; END IF; - RETURN 0; + RETURN QUERY SELECT aw.url, aw.folder_path + FROM artist_website aw + WHERE aw.url ILIKE in_url; END; $$; diff --git a/sql/insert_url_with_custom_artist.sql b/sql/insert_url_with_custom_artist.sql index 1d8b60f..f68a725 100644 --- a/sql/insert_url_with_custom_artist.sql +++ b/sql/insert_url_with_custom_artist.sql @@ -1,4 +1,4 @@ -CREATE OR REPLACE FUNCTION public.insert_url_with_custom_artist(in_url text, in_artist_name text) RETURNS integer +CREATE OR REPLACE FUNCTION public.insert_url_with_custom_artist(in_url text, in_artist_name text) RETURNS TABLE (out_url text, out_website_name text) LANGUAGE plpgsql STRICT AS $$ DECLARE @@ -9,14 +9,14 @@ BEGIN WHERE aw.url = in_url; IF FOUND THEN - RETURN 1; + RETURN; END IF; PERFORM * FROM artist a WHERE a.name = in_artist_name; IF FOUND THEN - RETURN 1; + RETURN; END IF; INSERT INTO artist_website (url) VALUES (in_url); @@ -31,15 +31,17 @@ BEGIN SELECT * INTO ret_value FROM set_website_name(in_url); IF ret_value <> 0 THEN DELETE FROM artist_website WHERE url = in_url; - RETURN 1; + RETURN; END IF; SELECT * INTO ret_value FROM set_folder_path(in_url); IF ret_value <> 0 THEN DELETE FROM artist_website WHERE url = in_url; - RETURN 1; + RETURN; END IF; - RETURN 0; + RETURN QUERY SELECT aw.url, aw.folder_path + FROM artist_website aw + WHERE aw.url ILIKE in_url; END; $$;