Thank you Patrick -

On Tue, Dec 3, 2019 at 11:49 AM Patrick FICHE <patrick.fi...@aqsacom.com>
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

Reply via email to