modify return values further
This commit is contained in:
@ -1,14 +1,15 @@
|
||||
CREATE OR REPLACE FUNCTION public.insert_url(in_url text) RETURNS TABLE (out_url text, out_website_name text)
|
||||
CREATE OR REPLACE FUNCTION public.insert_url(in_url text) RETURNS text
|
||||
LANGUAGE plpgsql STRICT
|
||||
AS $$
|
||||
DECLARE
|
||||
ret_value integer;
|
||||
temp_folder_path text;
|
||||
BEGIN
|
||||
PERFORM * FROM artist_website aw
|
||||
WHERE aw.url = in_url;
|
||||
|
||||
IF FOUND THEN
|
||||
RETURN;
|
||||
RAISE EXCEPTION 'url already exists';
|
||||
END IF;
|
||||
|
||||
INSERT INTO artist_website (url) VALUES (in_url);
|
||||
@ -16,23 +17,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;
|
||||
RAISE EXCEPTION 'could not set artist_name';
|
||||
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;
|
||||
RAISE EXCEPTION 'could not set website_name';
|
||||
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;
|
||||
RAISE EXCEPTION 'could not set folder_path';
|
||||
END IF;
|
||||
|
||||
RETURN QUERY SELECT aw.url, aw.folder_path
|
||||
FROM artist_website aw
|
||||
WHERE aw.url ILIKE in_url;
|
||||
SELECT folder_path INTO temp_folder_path FROM artist_website WHERE url ILIKE in_url;
|
||||
|
||||
RETURN concat(in_url, ' # ', temp_folder_path);
|
||||
END;
|
||||
$$;
|
||||
|
Reference in New Issue
Block a user