Add an explicit alias for sql functions
[civicrm-core.git] / ext / search / ang / crmSearchAdmin / crmSearchFunction.component.js
index ff009085f8e7df86cd92001ad5c8220a18955982..0f0e5d2b909bdcddc29d36c8ecbd31305ab9d658 100644 (file)
         ctrl.writeExpr();
       };
 
+      // Make a sql-friendly alias for this expression
+      function makeAlias() {
+        return (ctrl.fn + '_' + (ctrl.modifier ? ctrl.modifier + '_' : '') + ctrl.path).replace(/[.:]/g, '_');
+      }
+
       this.writeExpr = function() {
-        ctrl.expr = ctrl.fn ? (ctrl.fn + '(' + (ctrl.modifier ? ctrl.modifier + ' ' : '') + ctrl.path + ')') : ctrl.path;
+        ctrl.expr = ctrl.fn ? (ctrl.fn + '(' + (ctrl.modifier ? ctrl.modifier + ' ' : '') + ctrl.path + ') AS ' + makeAlias()) : ctrl.path;
       };
     }
   });