1 create or replace function xt.trylock(oid integer, id integer) returns boolean as $$
2 var sql = "select public.trylock($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 data = Object.create(XT.Data),
8 lock = data.tryLock(oid, id, {pid: pid});
10 return lock.key ? true : false;