temporarily separate qt-client locking from web client locking
authorGil Moskowitz <gmoskowitz@xtuple.com>
Wed, 17 Sep 2014 15:13:54 +0000 (11:13 -0400)
committerGil Moskowitz <gmoskowitz@xtuple.com>
Wed, 17 Sep 2014 15:13:54 +0000 (11:13 -0400)
enyo-client/database/source/xt/functions/pg_advisory_unlock.sql
enyo-client/database/source/xt/functions/trylock.sql

index c892882..25c3b7a 100644 (file)
@@ -1,4 +1,8 @@
 create or replace function xt.pg_advisory_unlock(oid integer, id integer) returns boolean as $$
+  var sql = "select pg_catalog.pg_advisory_unlock($1, $2) as result;";
+  return plv8.execute(sql, [oid, id])[0].result;
+  /* temporary: let qt client use advisory locks but web client use xt.lock */
+
   var pid = plv8.execute("select pg_backend_pid() as pid;")[0].pid,
     username = plv8.execute("select geteffectivextuser() as username;")[0].username,
     sql = "select * from xt.lock where lock_table_oid = $1 and lock_record_id = $2 and lock_username = $3 and lock_pid = $4;",
index 0c73312..719607b 100644 (file)
@@ -1,4 +1,8 @@
 create or replace function xt.trylock(oid integer, id integer) returns boolean as $$
+  var sql = "select public.trylock($1, $2) as result;";
+  return plv8.execute(sql, [oid, id])[0].result;
+  /* temporary: let qt client use advisory locks but web client use xt.lock */
+
   var pid = plv8.execute("select pg_backend_pid() as pid;")[0].pid,
     data = Object.create(XT.Data),
     lock = data.tryLock(oid, id, {pid: pid});