From: | Philipp Kraus <philipp(dot)kraus(at)tu-clausthal(dot)de> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | sql function with empty row |
Date: | 2018-05-16 18:07:49 |
Message-ID: | A5624A8E-1E70-49BC-9CBB-798AE6F8276F@tu-clausthal.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello,
I have defined a SQL function
CREATE OR REPLACE FUNCTION substancetrivialname(text)
RETURNS substance
LANGUAGE 'sql'
COST 100
VOLATILE
AS $BODY$
select s.* from substancetrivialname n
join substance s on s.id = n.idsubstance
where lower(btrim(n.name)) = lower(btrim($1));
$BODY$;
substance and substancetrivialname have got a 1-to-N relationship (for each substance can exist multiple trivial names).
If I call the function with a non-existing trivial name it returns a single row with all fields are set to NULL.
If I run the join query directly it returns an empty record set on a non-existing trivial name.
I expected equal behavior on my function, so my question is, how can I fix this?
Thanks
Phil
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2018-05-16 18:21:46 | Re: sql function with empty row |
Previous Message | Michael Paquier | 2018-05-16 08:48:11 | Re: Out of memory error with PG10.3, 10.4 but not 9.3.19 |