Mercurial > gemma
changeset 4173:d3fb2f37380b
Schema qualify tables in function body
This prevents errors or unexpected results in situations where the
search_path does otherwise not allow to find the expected table.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 05 Aug 2019 16:45:48 +0200 |
parents | 5a650cde0574 |
children | 00279b36cffd |
files | schema/gemma.sql schema/isrs.sql schema/updates/1106/01.schemaqualify_tables.sql |
diffstat | 3 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/schema/gemma.sql Mon Aug 05 16:43:31 2019 +0200 +++ b/schema/gemma.sql Mon Aug 05 16:45:48 2019 +0200 @@ -228,7 +228,7 @@ CREATE OR REPLACE FUNCTION get_schema_version() RETURNS int LANGUAGE sql AS $$ - SELECT max(version) FROM gemma_schema_version; + SELECT max(version) FROM public.gemma_schema_version; $$;
--- a/schema/isrs.sql Mon Aug 05 16:43:31 2019 +0200 +++ b/schema/isrs.sql Mon Aug 05 16:45:48 2019 +0200 @@ -23,7 +23,7 @@ CREATE OR REPLACE FUNCTION is_country(code char) RETURNS boolean AS $$ - SELECT EXISTS(SELECT 1 FROM countries WHERE country_code = code) + SELECT EXISTS(SELECT 1 FROM public.countries WHERE country_code = code) $$ LANGUAGE sql STABLE PARALLEL SAFE;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schema/updates/1106/01.schemaqualify_tables.sql Mon Aug 05 16:45:48 2019 +0200 @@ -0,0 +1,12 @@ +CREATE OR REPLACE FUNCTION get_schema_version() RETURNS int + LANGUAGE sql + AS $$ + SELECT max(version) FROM public.gemma_schema_version; +$$; + +CREATE OR REPLACE FUNCTION is_country(code char) RETURNS boolean +AS $$ + SELECT EXISTS(SELECT 1 FROM public.countries WHERE country_code = code) +$$ + LANGUAGE sql + STABLE PARALLEL SAFE;