The following bug has been logged on the website:
Bug reference: 13708
Logged by: Albert Nurgaleyev
Email address: yozh.ne@gmail.com
PostgreSQL version: 9.2.4
Operating system: Red Hat
Description:
In the code below - if I remove semicolon after "po_result := 'ERROR: No
uncollected prize found!'" then no syntax error occurs, return statement is
just ignored instead
create table test_table(
col1 INTEGER, col2 INTEGER
);
DO $$
DECLARE
v_status INTEGER;
po_result VARCHAR;
BEGIN
UPDATE test_table
SET col1 = 2
WHERE 2=3
RETURNING col2
INTO v_status;
IF NOT FOUND THEN
po_result := 'ERROR: No uncollected prize found!'
RETURN;
END IF;
RAISE EXCEPTION 'Error';
END;
$$;