temporarily separate qt-client locking from web client locking
[xtuple] / enyo-client / database / source / xt / functions / trylock.sql
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 */
5
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});
9     
10   return lock.key ? true : false;
11   
12 $$ language plv8;