Commit f6400e01 authored by zYne's avatar zYne

--no commit message

--no commit message
parent 8110cf8e
...@@ -82,26 +82,31 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -82,26 +82,31 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* *
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public static function create() { public static function create()
{
return new Doctrine_Query(); return new Doctrine_Query();
} }
public function getTableStack() { public function getTableStack()
{
return $this->tableStack; return $this->tableStack;
} }
public function getRelationStack() { public function getRelationStack()
{
return $this->relationStack; return $this->relationStack;
} }
public function isDistinct($distinct = null) { public function isDistinct($distinct = null)
{
if(isset($distinct)) if(isset($distinct))
$this->isDistinct = (bool) $distinct; $this->isDistinct = (bool) $distinct;
return $this->isDistinct; return $this->isDistinct;
} }
public function processPendingFields($componentAlias) { public function processPendingFields($componentAlias)
{
$tableAlias = $this->getTableAlias($componentAlias); $tableAlias = $this->getTableAlias($componentAlias);
if( ! isset($this->tables[$tableAlias])) if( ! isset($this->tables[$tableAlias]))
...@@ -122,7 +127,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -122,7 +127,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
} }
} }
public function parseSelect($dql) { public function parseSelect($dql)
{
$refs = Doctrine_Query::bracketExplode($dql, ','); $refs = Doctrine_Query::bracketExplode($dql, ',');
foreach($refs as $reference) { foreach($refs as $reference) {
...@@ -138,7 +144,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -138,7 +144,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
} }
} }
} }
public function parseAggregateFunction2($func) { public function parseAggregateFunction2($func)
{
$e = Doctrine_Query::bracketExplode($func, ' '); $e = Doctrine_Query::bracketExplode($func, ' ');
$func = $e[0]; $func = $e[0];
...@@ -180,7 +187,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -180,7 +187,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
throw new Doctrine_Query_Exception('Unknown aggregate function '.$name); throw new Doctrine_Query_Exception('Unknown aggregate function '.$name);
} }
} }
public function processPendingAggregates($componentAlias) { public function processPendingAggregates($componentAlias)
{
$tableAlias = $this->getTableAlias($componentAlias); $tableAlias = $this->getTableAlias($componentAlias);
if( ! isset($this->tables[$tableAlias])) if( ! isset($this->tables[$tableAlias]))
...@@ -221,7 +229,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -221,7 +229,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param array $params * @param array $params
* @return integer * @return integer
*/ */
public function count($params = array()) { public function count($params = array())
{
$this->remove('select'); $this->remove('select');
$join = $this->join; $join = $this->join;
$where = $this->where; $where = $this->where;
...@@ -270,7 +279,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -270,7 +279,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param array $names fields to be loaded (only used in lazy property loading) * @param array $names fields to be loaded (only used in lazy property loading)
* @return void * @return void
*/ */
protected function loadFields(Doctrine_Table $table, $fetchmode, array $names, $cpath) { protected function loadFields(Doctrine_Table $table, $fetchmode, array $names, $cpath)
{
$name = $table->getComponentName(); $name = $table->getComponentName();
switch($fetchmode): switch($fetchmode):
...@@ -313,7 +323,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -313,7 +323,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param strint $from * @param strint $from
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function addFrom($from) { public function addFrom($from)
{
$class = 'Doctrine_Query_From'; $class = 'Doctrine_Query_From';
$parser = new $class($this); $parser = new $class($this);
$parser->parse($from); $parser->parse($from);
...@@ -326,7 +337,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -326,7 +337,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param strint $join * @param strint $join
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function leftJoin($join) { public function leftJoin($join)
{
$class = 'Doctrine_Query_From'; $class = 'Doctrine_Query_From';
$parser = new $class($this); $parser = new $class($this);
$parser->parse('LEFT JOIN ' . $join); $parser->parse('LEFT JOIN ' . $join);
...@@ -339,7 +351,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -339,7 +351,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param strint $join * @param strint $join
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function innerJoin($join) { public function innerJoin($join)
{
$class = 'Doctrine_Query_From'; $class = 'Doctrine_Query_From';
$parser = new $class($this); $parser = new $class($this);
$parser->parse('INNER JOIN ' . $join); $parser->parse('INNER JOIN ' . $join);
...@@ -352,7 +365,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -352,7 +365,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param strint $orderby * @param strint $orderby
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function addOrderBy($orderby) { public function addOrderBy($orderby)
{
$class = 'Doctrine_Query_Orderby'; $class = 'Doctrine_Query_Orderby';
$parser = new $class($this); $parser = new $class($this);
$this->parts['orderby'][] = $parser->parse($orderby); $this->parts['orderby'][] = $parser->parse($orderby);
...@@ -365,7 +379,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -365,7 +379,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $where * @param string $where
* @param mixed $params * @param mixed $params
*/ */
public function addWhere($where, $params = array()) { public function addWhere($where, $params = array())
{
$class = 'Doctrine_Query_Where'; $class = 'Doctrine_Query_Where';
$parser = new $class($this); $parser = new $class($this);
$this->parts['where'][] = $parser->parse($where); $this->parts['where'][] = $parser->parse($where);
...@@ -383,12 +398,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -383,12 +398,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param array $args * @param array $args
* @return void * @return void
*/ */
public function __call($name, $args) { public function __call($name, $args)
{
$name = strtolower($name); $name = strtolower($name);
if($name == 'select')
$method = 'parse' . ucwords($name); $method = 'parse' . ucwords($name);
...@@ -462,7 +474,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -462,7 +474,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param $name query part name * @param $name query part name
* @return mixed * @return mixed
*/ */
public function get($name) { public function get($name)
{
if( ! isset($this->parts[$name])) if( ! isset($this->parts[$name]))
return false; return false;
...@@ -477,7 +490,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -477,7 +490,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param $value field value * @param $value field value
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function set($name, $value) { public function set($name, $value)
{
$class = new Doctrine_Query_Set($this); $class = new Doctrine_Query_Set($this);
$this->parts['set'][] = $class->parse($name . ' = ' . $value); $this->parts['set'][] = $class->parse($name . ' = ' . $value);
...@@ -496,7 +510,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -496,7 +510,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* *
* @return string the base of the generated sql query * @return string the base of the generated sql query
*/ */
public function getQueryBase() { public function getQueryBase()
{
switch($this->type) { switch($this->type) {
case self::DELETE: case self::DELETE:
if($this->conn->getName() == 'mysql') if($this->conn->getName() == 'mysql')
...@@ -523,7 +538,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -523,7 +538,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* when limit subquery algorithm is used) * when limit subquery algorithm is used)
* @return string the built sql query * @return string the built sql query
*/ */
public function getQuery($params = array()) { public function getQuery($params = array())
{
if(empty($this->parts["select"]) || empty($this->parts["from"])) if(empty($this->parts["select"]) || empty($this->parts["from"]))
return false; return false;
...@@ -619,9 +635,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -619,9 +635,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* *
* @return string the limit subquery * @return string the limit subquery
*/ */
public function getLimitSubquery() { public function getLimitSubquery()
{
$k = array_keys($this->tables); $k = array_keys($this->tables);
$table = $this->tables[$k[0]]; $table = $this->tables[$k[0]];
...@@ -652,8 +667,10 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -652,8 +667,10 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
if(substr($part,0,9) === 'LEFT JOIN') { if(substr($part,0,9) === 'LEFT JOIN') {
$e = explode(' ', $part); $e = explode(' ', $part);
if( ! in_array($e[3], $this->subqueryAliases) && ! in_array($e[2], $this->subqueryAliases)) if( ! in_array($e[3], $this->subqueryAliases) &&
! in_array($e[2], $this->subqueryAliases)) {
continue; continue;
}
} }
...@@ -674,8 +691,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -674,8 +691,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
$parts = self::quoteExplode($subquery, ' ', "'", "'"); $parts = self::quoteExplode($subquery, ' ', "'", "'");
foreach($parts as $k => $part) { foreach($parts as $k => $part) {
if(strpos($part, "'") !== false) if(strpos($part, "'") !== false) {
continue; continue;
}
if($this->aliasHandler->hasAliasFor($part)) { if($this->aliasHandler->hasAliasFor($part)) {
$parts[$k] = $this->aliasHandler->generateNewAlias($part); $parts[$k] = $this->aliasHandler->generateNewAlias($part);
...@@ -701,7 +719,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -701,7 +719,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $query DQL query * @param string $query DQL query
* @param array $params parameters * @param array $params parameters
*/ */
public function query($query,$params = array()) { public function query($query,$params = array())
{
$this->parseQuery($query); $this->parseQuery($query);
if($this->aggregate) { if($this->aggregate) {
...@@ -737,7 +756,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -737,7 +756,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @throws Doctrine_Query_Exception if some generic parsing error occurs * @throws Doctrine_Query_Exception if some generic parsing error occurs
* @return array an array containing the query string parts * @return array an array containing the query string parts
*/ */
public function splitQuery($query) { public function splitQuery($query)
{
$e = self::sqlExplode($query, ' '); $e = self::sqlExplode($query, ' ');
foreach($e as $k=>$part) { foreach($e as $k=>$part) {
...@@ -786,7 +806,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -786,7 +806,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @throws Doctrine_Query_Exception if some generic parsing error occurs * @throws Doctrine_Query_Exception if some generic parsing error occurs
* @return Doctrine_Query * @return Doctrine_Query
*/ */
public function parseQuery($query, $clear = true) { public function parseQuery($query, $clear = true)
{
if($clear) if($clear)
$this->clear(); $this->clear();
...@@ -849,7 +870,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -849,7 +870,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $str * @param string $str
* @return void * @return void
*/ */
final public function parseOrderBy($str) { final public function parseOrderBy($str)
{
$parser = new Doctrine_Query_Part_Orderby($this); $parser = new Doctrine_Query_Part_Orderby($this);
return $parser->parse($str); return $parser->parse($str);
} }
...@@ -859,7 +881,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -859,7 +881,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $mode * @param string $mode
* @return integer * @return integer
*/ */
final public function parseFetchMode($mode) { final public function parseFetchMode($mode)
{
switch(strtolower($mode)): switch(strtolower($mode)):
case "i": case "i":
case "immediate": case "immediate":
...@@ -892,7 +915,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -892,7 +915,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $e1 the first bracket, usually '(' * @param string $e1 the first bracket, usually '('
* @param string $e2 the second bracket, usually ')' * @param string $e2 the second bracket, usually ')'
*/ */
public static function bracketTrim($str,$e1 = '(',$e2 = ')') { public static function bracketTrim($str,$e1 = '(',$e2 = ')')
{
if(substr($str,0,1) == $e1 && substr($str,-1) == $e2) if(substr($str,0,1) == $e1 && substr($str,-1) == $e2)
return substr($str,1,-1); return substr($str,1,-1);
else else
...@@ -919,7 +943,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -919,7 +943,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $e2 the second bracket, usually ')' * @param string $e2 the second bracket, usually ')'
* *
*/ */
public static function bracketExplode($str, $d = ' ', $e1 = '(', $e2 = ')') { public static function bracketExplode($str, $d = ' ', $e1 = '(', $e2 = ')')
{
if(is_array($d)) { if(is_array($d)) {
$a = preg_split('/('.implode('|', $d).')/', $str); $a = preg_split('/('.implode('|', $d).')/', $str);
$d = stripslashes($d[0]); $d = stripslashes($d[0]);
...@@ -958,9 +983,10 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -958,9 +983,10 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* array("email", "LIKE", "'John@example.com'") * array("email", "LIKE", "'John@example.com'")
* *
* @param string $str * @param string $str
* @param string $d the delimeter which explodes the string * * @param string $d the delimeter which explodes the string
*/ */
public static function quoteExplode($str, $d = ' ') { public static function quoteExplode($str, $d = ' ')
{
if(is_array($d)) { if(is_array($d)) {
$a = preg_split('/('.implode('|', $d).')/', $str); $a = preg_split('/('.implode('|', $d).')/', $str);
$d = stripslashes($d[0]); $d = stripslashes($d[0]);
...@@ -1012,7 +1038,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1012,7 +1038,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* *
* @return array * @return array
*/ */
public static function sqlExplode($str, $d = ' ', $e1 = '(', $e2 = ')') { public static function sqlExplode($str, $d = ' ', $e1 = '(', $e2 = ')')
{
if(is_array($d)) { if(is_array($d)) {
$str = preg_split('/('.implode('|', $d).')/', $str); $str = preg_split('/('.implode('|', $d).')/', $str);
$d = stripslashes($d[0]); $d = stripslashes($d[0]);
...@@ -1029,13 +1056,14 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1029,13 +1056,14 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
$s2 = substr_count($term[$i],"$e2"); $s2 = substr_count($term[$i],"$e2");
if(substr($term[$i],0,1) == "(") { if(substr($term[$i],0,1) == "(") {
if($s1 == $s2) if($s1 == $s2) {
$i++; $i++;
}
} else { } else {
if( ! (substr_count($term[$i], "'") & 1) && if( ! (substr_count($term[$i], "'") & 1) &&
! (substr_count($term[$i], "\"") & 1) && ! (substr_count($term[$i], "\"") & 1) &&
! (substr_count($term[$i], "") & 1) ! (substr_count($term[$i], "") & 1)
) $i++; ) { $i++; }
} }
} else { } else {
$term[$i] .= "$d".trim($val); $term[$i] .= "$d".trim($val);
...@@ -1043,13 +1071,14 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1043,13 +1071,14 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
$c2 = substr_count($term[$i],"$e2"); $c2 = substr_count($term[$i],"$e2");
if(substr($term[$i],0,1) == "(") { if(substr($term[$i],0,1) == "(") {
if($c1 == $c2) if($c1 == $c2) {
$i++; $i++;
}
} else { } else {
if( ! (substr_count($term[$i], "'") & 1) && if( ! (substr_count($term[$i], "'") & 1) &&
! (substr_count($term[$i], "\"") & 1) && ! (substr_count($term[$i], "\"") & 1) &&
! (substr_count($term[$i], "") & 1) ! (substr_count($term[$i], "") & 1)
) $i++; ) { $i++; }
} }
} }
} }
...@@ -1061,7 +1090,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1061,7 +1090,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $tableName * @param string $tableName
* @return string * @return string
*/ */
public function generateAlias($tableName) { public function generateAlias($tableName)
{
if(isset($this->tableIndexes[$tableName])) { if(isset($this->tableIndexes[$tableName])) {
return $tableName.++$this->tableIndexes[$tableName]; return $tableName.++$this->tableIndexes[$tableName];
} else { } else {
...@@ -1078,7 +1108,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1078,7 +1108,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @throws Doctrine_Query_Exception * @throws Doctrine_Query_Exception
* @return Doctrine_Table * @return Doctrine_Table
*/ */
final public function load($path, $loadFields = true) { final public function load($path, $loadFields = true)
{
$tmp = explode(' ',$path); $tmp = explode(' ',$path);
$componentAlias = (count($tmp) > 1) ? end($tmp) : false; $componentAlias = (count($tmp) > 1) ? end($tmp) : false;
...@@ -1089,8 +1120,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1089,8 +1120,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
$end = substr($tmp[0], strlen($e[0])); $end = substr($tmp[0], strlen($e[0]));
$path = $this->compAliases[$e[0]] . $end; $path = $this->compAliases[$e[0]] . $end;
$e = preg_split("/[.:]/", $path, -1); $e = preg_split("/[.:]/", $path, -1);
} else } else {
$path = $tmp[0]; $path = $tmp[0];
}
...@@ -1116,8 +1148,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1116,8 +1148,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
$tname = $this->aliasHandler->getShortAlias($table->getTableName()); $tname = $this->aliasHandler->getShortAlias($table->getTableName());
if( ! isset($this->tableAliases[$currPath])) if( ! isset($this->tableAliases[$currPath])) {
$this->tableIndexes[$tname] = 1; $this->tableIndexes[$tname] = 1;
}
$this->parts["from"] = $this->conn->quoteIdentifier($table->getTableName()) . ' ' . $tname; $this->parts["from"] = $this->conn->quoteIdentifier($table->getTableName()) . ' ' . $tname;
...@@ -1134,9 +1167,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1134,9 +1167,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
if(isset($this->tableAliases[$prevPath])) { if(isset($this->tableAliases[$prevPath])) {
$tname = $this->tableAliases[$prevPath]; $tname = $this->tableAliases[$prevPath];
} else } else {
$tname = $this->aliasHandler->getShortAlias($table->getTableName()); $tname = $this->aliasHandler->getShortAlias($table->getTableName());
}
$fk = $table->getRelation($name); $fk = $table->getRelation($name);
$name = $fk->getTable()->getComponentName(); $name = $fk->getTable()->getComponentName();
...@@ -1232,8 +1265,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1232,8 +1265,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
} }
} }
if( ! $skip) if( ! $skip) {
$this->parseFields($fullname, $tableName, $e2, $currPath); $this->parseFields($fullname, $tableName, $e2, $currPath);
}
} }
} }
...@@ -1260,7 +1294,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1260,7 +1294,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $currPath * @param string $currPath
* @return void * @return void
*/ */
final public function parseFields($fullName, $tableName, array $exploded, $currPath) { final public function parseFields($fullName, $tableName, array $exploded, $currPath)
{
$table = $this->tables[$tableName]; $table = $this->tables[$tableName];
$fields = array(); $fields = array();
...@@ -1300,7 +1335,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1300,7 +1335,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
* @param string $reference * @param string $reference
* @return string * @return string
*/ */
public function parseAggregateFunction($func,$reference) { public function parseAggregateFunction($func,$reference)
{
$pos = strpos($func, '('); $pos = strpos($func, '(');
if($pos !== false) { if($pos !== false) {
...@@ -1333,7 +1369,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { ...@@ -1333,7 +1369,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
/** /**
* parseAggregateValues * parseAggregateValues
*/ */
public function parseAggregateValues($fullName, $tableName, array $exploded, $currPath) { public function parseAggregateValues($fullName, $tableName, array $exploded, $currPath)
{
$this->aggregate = true; $this->aggregate = true;
$pos = strpos($fullName, '('); $pos = strpos($fullName, '(');
$name = substr($fullName, 0, $pos); $name = substr($fullName, 0, $pos);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment