· 7 years ago · Oct 22, 2018, 08:44 AM
1 create function tanga.create_current_user_id_table() returns void as $f$
2 begin
3 perform * from pg_catalog.pg_class where relname = 'current_user_id' and relnamespace = pg_catalog.pg_my_temp_schema();
4 if not found then
5 create temporary table if not exists current_user_id (user_id integer);
6 end if;
7 return;
8 end; $f$ language plpgsql;
9
10 create function tanga.set_current_user_id(user_id integer) returns void language plpgsql as $f$
11 begin
12 perform tanga.create_current_user_id_table();
13 insert into current_user_id values ($1);
14 end;
15 $f$;
16
17 create function tanga.current_user_id() returns integer language plpgsql as $f$
18 declare r integer;
19 begin
20 perform tanga.create_current_user_id_table();
21 select * from current_user_id into r;
22 return r;
23 end;
24 $f$;