Set etags property on ret before data so format matches retrieveRecord().
authorBen Thompson <ben@xtuple.com>
Tue, 11 Mar 2014 17:59:50 +0000 (13:59 -0400)
committerBen Thompson <ben@xtuple.com>
Tue, 11 Mar 2014 17:59:50 +0000 (13:59 -0400)
lib/orm/source/xt/javascript/data.sql

index c704442..689ede4 100644 (file)
@@ -1728,16 +1728,6 @@ select xt.install_js('XT','Data','xtuple', $$
         counter++;
       });
 
-      sql2 = XT.format(sql2, [nameSpace.decamelize(), type.decamelize(), pkey]);
-      sql2 = sql2.replace(/{orderBy}/g, clause.orderBy)
-                 .replace('{ids}', idParams.join());
-
-      if (DEBUG) {
-        XT.debug('fetch sql2 = ', sql2);
-        XT.debug('fetch values = ', JSON.stringify(ids));
-      }
-      ret.data = plv8.execute(sql2, ids) || [];
-
       if (orm.lockable) {
         if (orm.table.indexOf(".") > 0) {
           etag_namespace = orm.table.beforeDot();
@@ -1767,6 +1757,16 @@ select xt.install_js('XT','Data','xtuple', $$
         ret.etags = {};
       }
 
+      sql2 = XT.format(sql2, [nameSpace.decamelize(), type.decamelize(), pkey]);
+      sql2 = sql2.replace(/{orderBy}/g, clause.orderBy)
+                 .replace('{ids}', idParams.join());
+
+      if (DEBUG) {
+        XT.debug('fetch sql2 = ', sql2);
+        XT.debug('fetch values = ', JSON.stringify(ids));
+      }
+      ret.data = plv8.execute(sql2, ids) || [];
+
       for (var i = 0; i < ret.data.length; i++) {
         ret.data[i] = this.decrypt(nameSpace, type, ret.data[i], encryptionKey);