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)