On Mon, Mar 15, 2021 at 01:05:11AM -0500, Jaime Casanova wrote: > I found another problem when using CASE expressions: > > CREATE OR REPLACE FUNCTION foo_case() > RETURNS boolean > LANGUAGE SQL > BEGIN ATOMIC > select case when random() > 0.5 then true else false end; > END; > > apparently the END in the CASE expression is interpreted as the END of > the function
I think that it's an issue in psql scanner. If you escape the semicolon or force a single query execution (say with psql -c), it works as expected.