Example #1
0
 public static function checkAggregation($expression)
 {
     if (empty(self::$aggrFunctions)) {
         self::$aggrFunctions = array_unique(array_merge(self::$aggrFunctionsMYSQL, self::$aggrFunctionsMSSQL, self::$aggrFunctionsORACLE));
     }
     // should remove subqueries from expression here: EXISTS(..(..)..), (SELECT ..(..)..)
     $expression = static::removeSubqueries($expression);
     // then check for aggr functions
     preg_match_all('/(?:^|[^a-z0-9_])(' . join('|', self::$aggrFunctions) . ')[\\s\\(]+/i', $expression, $matches);
     return isset($matches[1]) ? $matches[1] : null;
 }
Example #2
0
 public static function checkAggregation($expression)
 {
     if (empty(self::$aggrFunctions)) {
         self::$aggrFunctions = array_unique(array_merge(self::$aggrFunctionsMYSQL, self::$aggrFunctionsMSSQL, self::$aggrFunctionsORACLE));
     }
     // should remove subqueries from expression here: EXISTS(..(..)..), (SELECT ..(..)..)
     if (preg_match('/(?:^|[^a-z0-9_])EXISTS\\s*\\(/', $expression)) {
         return false;
     } else {
         preg_match_all('/(?:^|[^a-z0-9_])(?<!SELECT\\s\\s)(' . join('|', self::$aggrFunctions) . ')[\\s\\(]+/i', $expression, $matches);
         return $matches[1];
     }
 }