CREATE OR REPLACE FUNCTION public."testlock"()
    RETURNS TABLE
        (
                 id integer,
                 name character varying,
                 state integer,
                 owner character varying
        )
    LANGUAGE 'plpgsql'
AS $BODY$       
         BEGIN  
                SET  "statement_timeout" = 6000; --- It's not changing. !!
                LOCK TABLE public."lock" IN ROW EXCLUSIVE MODE; 
                                UPDATE public."lock" as l set name = 'deneme' 
WHERE l."id" = 4; 
        
                RETURN QUERY
                        select l."id",l."name",l."state",l."owner" from 
public."lock" as l,
pg_sleep(10) where l."id" = 4;
        END;
$BODY$;

select * from public."testlock"();

How can I do ?

Reply via email to