Thank you Patrick -
On Tue, Dec 3, 2019 at 11:49 AM Patrick FICHE <Patrick.Fiche@xxxxxxxxxxx> wrote:
It seems that STRICT is the issue.
But why does your function return a table of boolean in this case ?
As it only updates one record, it would probably be easier to return a boolean only.
CREATE OR REPLACE FUNCTION words_toggle_puzzle(
in_mid bigint
) RETURNS boolean
AS
$func$
UPDATE words_moves
SET puzzle = NOT puzzle
WHERE mid = in_mid
RETURNING puzzle;
$func$ LANGUAGE sql;
your suggestion works well, thank you.
I wanted to use strict, because the mid is a PK - so there should always be an exactly one record that has been updated
(or otherwise, in very strange cases - the SQL would fail and my java-servlet would throw SQLException)
Regards
Alex