From 2cbdc21e53e3c6d0ad625e5460f4d527585496d3 Mon Sep 17 00:00:00 2001 From: jordi fita mas Date: Fri, 12 Jan 2024 19:22:26 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20add=5Fservices=5Fcarousel=5Fslide?= =?UTF-8?q?=E2=80=99s=20return=20type=20from=20void=20to=20integer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/add_services_carousel_slide.sql | 4 +++- deploy/add_services_carousel_slide@v0.sql | 25 +++++++++++++++++++++++ revert/add_services_carousel_slide.sql | 24 ++++++++++++++++++++-- revert/add_services_carousel_slide@v0.sql | 7 +++++++ sqitch.plan | 1 + test/add_services_carousel_slide.sql | 2 +- verify/add_services_carousel_slide@v0.sql | 7 +++++++ 7 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 deploy/add_services_carousel_slide@v0.sql create mode 100644 revert/add_services_carousel_slide@v0.sql create mode 100644 verify/add_services_carousel_slide@v0.sql diff --git a/deploy/add_services_carousel_slide.sql b/deploy/add_services_carousel_slide.sql index c919243..3087c31 100644 --- a/deploy/add_services_carousel_slide.sql +++ b/deploy/add_services_carousel_slide.sql @@ -7,7 +7,9 @@ begin; set search_path to camper, public; -create or replace function add_services_carousel_slide(media_id integer, caption text) returns void as +drop function if exists add_services_carousel_slide(media_id integer, caption text); + +create or replace function add_services_carousel_slide(media_id integer, caption text) returns integer as $$ insert into services_carousel (media_id, caption) values (media_id, coalesce(caption, '')) diff --git a/deploy/add_services_carousel_slide@v0.sql b/deploy/add_services_carousel_slide@v0.sql new file mode 100644 index 0000000..c919243 --- /dev/null +++ b/deploy/add_services_carousel_slide@v0.sql @@ -0,0 +1,25 @@ +-- Deploy camper:add_services_carousel_slide to pg +-- requires: roles +-- requires: schema_camper +-- requires: services_carousel + +begin; + +set search_path to camper, public; + +create or replace function add_services_carousel_slide(media_id integer, caption text) returns void as +$$ + insert into services_carousel (media_id, caption) + values (media_id, coalesce(caption, '')) + on conflict (media_id) do update + set caption = excluded.caption + returning media_id + ; +$$ + language sql +; + +revoke execute on function add_services_carousel_slide(integer, text) from public; +grant execute on function add_services_carousel_slide(integer, text) to admin; + +commit; diff --git a/revert/add_services_carousel_slide.sql b/revert/add_services_carousel_slide.sql index 3af4135..0491cc1 100644 --- a/revert/add_services_carousel_slide.sql +++ b/revert/add_services_carousel_slide.sql @@ -1,7 +1,27 @@ --- Revert camper:add_services_carousel_slide from pg +-- Deploy camper:add_services_carousel_slide to pg +-- requires: roles +-- requires: schema_camper +-- requires: services_carousel begin; -drop function if exists camper.add_services_carousel_slide(integer, text); +set search_path to camper, public; + +drop function if exists add_services_carousel_slide(media_id integer, caption text); + +create or replace function add_services_carousel_slide(media_id integer, caption text) returns void as +$$ + insert into services_carousel (media_id, caption) + values (media_id, coalesce(caption, '')) + on conflict (media_id) do update + set caption = excluded.caption + returning media_id + ; +$$ + language sql +; + +revoke execute on function add_services_carousel_slide(integer, text) from public; +grant execute on function add_services_carousel_slide(integer, text) to admin; commit; diff --git a/revert/add_services_carousel_slide@v0.sql b/revert/add_services_carousel_slide@v0.sql new file mode 100644 index 0000000..3af4135 --- /dev/null +++ b/revert/add_services_carousel_slide@v0.sql @@ -0,0 +1,7 @@ +-- Revert camper:add_services_carousel_slide from pg + +begin; + +drop function if exists camper.add_services_carousel_slide(integer, text); + +commit; diff --git a/sqitch.plan b/sqitch.plan index a97fe4f..17e37b0 100644 --- a/sqitch.plan +++ b/sqitch.plan @@ -132,3 +132,4 @@ legal_text [roles schema_camper company user_profile] 2023-12-21T23:29:28Z jordi legal_text_i18n [roles schema_camper legal_text language] 2023-12-21T23:51:09Z jordi fita mas # Add relation for legal text internationalization translate_legal_text [roles schema_camper legal_text_i18n] 2023-12-22T00:10:05Z jordi fita mas # Add function to translate legal texts @v0 2024-01-12T18:16:37Z jordi fita mas # Version 0 +add_services_carousel_slide [add_services_carousel_slide@v0] 2024-01-12T18:17:33Z jordi fita mas # Change add_services_carousel_slide’s return type from void to integer diff --git a/test/add_services_carousel_slide.sql b/test/add_services_carousel_slide.sql index d4446c7..2324b6e 100644 --- a/test/add_services_carousel_slide.sql +++ b/test/add_services_carousel_slide.sql @@ -11,7 +11,7 @@ set search_path to camper, public; select has_function('camper', 'add_services_carousel_slide', array['integer', 'text']); select function_lang_is('camper', 'add_services_carousel_slide', array['integer', 'text'], 'sql'); -select function_returns('camper', 'add_services_carousel_slide', array['integer', 'text'], 'void'); +select function_returns('camper', 'add_services_carousel_slide', array['integer', 'text'], 'integer'); select isnt_definer('camper', 'add_services_carousel_slide', array['integer', 'text']); select volatility_is('camper', 'add_services_carousel_slide', array['integer', 'text'], 'volatile'); select function_privs_are('camper', 'add_services_carousel_slide', array['integer', 'text'], 'guest', array[]::text[]); diff --git a/verify/add_services_carousel_slide@v0.sql b/verify/add_services_carousel_slide@v0.sql new file mode 100644 index 0000000..4625053 --- /dev/null +++ b/verify/add_services_carousel_slide@v0.sql @@ -0,0 +1,7 @@ +-- Verify camper:add_services_carousel_slide on pg + +begin; + +select has_function_privilege('camper.add_services_carousel_slide(integer, text)', 'execute'); + +rollback;