1 create or replace function xt.pg_advisory_unlock(oid integer, id integer) returns boolean as $$
2 var sql = "select pg_catalog.pg_advisory_unlock($1, $2) as result;";
3 return plv8.execute(sql, [oid, id])[0].result;
4 /* temporary: let qt client use advisory locks but web client use xt.lock */
6 var pid = plv8.execute("select pg_backend_pid() as pid;")[0].pid,
7 username = plv8.execute("select geteffectivextuser() as username;")[0].username,
8 sql = "select * from xt.lock where lock_table_oid = $1 and lock_record_id = $2 and lock_username = $3 and lock_pid = $4;",
9 data = Object.create(XT.Data),
10 query = plv8.execute(sql, [oid, id, username, pid]);
13 data.releaseLock({key: query[0].lock_id});