diff options
author | Dan Ungureanu <udan1107@gmail.com> | 2015-08-18 02:24:42 +0300 |
---|---|---|
committer | Dan Ungureanu <udan1107@gmail.com> | 2015-08-18 02:24:42 +0300 |
commit | 14c54da98c3b4f18c78ff44c22fbdd20e8ef6e18 (patch) | |
tree | a4604f6b1d1095790e313b71bf226e4291788ca8 /src/Utils/Misc.php | |
parent | 1568adba1af7bf061354a30afd169e29fa43f133 (diff) | |
download | sql-parser-14c54da98c3b4f18c78ff44c22fbdd20e8ef6e18.zip sql-parser-14c54da98c3b4f18c78ff44c22fbdd20e8ef6e18.tar.gz sql-parser-14c54da98c3b4f18c78ff44c22fbdd20e8ef6e18.tar.bz2 |
Replaced explicit calls to Component::build() with implicit calls to Component::__toString().
Fixed bugs that caused field names like '0', '0.0', etc. to be considered invalid.
Refactoring.
Diffstat (limited to 'src/Utils/Misc.php')
-rw-r--r-- | src/Utils/Misc.php | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/Utils/Misc.php b/src/Utils/Misc.php index 1597648..cec5653 100644 --- a/src/Utils/Misc.php +++ b/src/Utils/Misc.php @@ -60,11 +60,12 @@ class Misc } foreach ($expressions as $expr) { - if (empty($expr->table)) { + if ((!isset($expr->table)) || ($expr->table === '')) { continue; } - $thisDb = empty($expr->database) ? $database : $expr->database; + $thisDb = ((isset($expr->database)) && ($expr->database !== '')) ? + $expr->database : $database; if (!isset($retval[$thisDb])) { $retval[$thisDb] = array( @@ -75,7 +76,8 @@ class Misc if (!isset($retval[$thisDb]['tables'][$expr->table])) { $retval[$thisDb]['tables'][$expr->table] = array( - 'alias' => empty($expr->alias) ? null : $expr->alias, + 'alias' => ((isset($expr->alias)) && ($expr->alias !== '')) ? + $expr->alias : null, 'columns' => array(), ); } @@ -87,20 +89,23 @@ class Misc } foreach ($statement->expr as $expr) { - if ((empty($expr->column)) || (empty($expr->alias))) { + if ((!isset($expr->column)) || ($expr->column === '') + || (!isset($expr->alias)) || ($expr->alias === '') + ) { continue; } - $thisDb = empty($expr->database) ? $database : $expr->database; + $thisDb = ((isset($expr->database)) && ($expr->database !== '')) ? + $expr->database : $database; - if (empty($expr->table)) { - foreach ($retval[$thisDb]['tables'] as &$table) { - $table['columns'][$expr->column] = $expr->alias; - } - } else { + if ((isset($expr->table)) && ($expr->table !== '')) { $thisTable = isset($tables[$thisDb][$expr->table]) ? $tables[$thisDb][$expr->table] : $expr->table; $retval[$thisDb]['tables'][$thisTable]['columns'][$expr->column] = $expr->alias; + } else { + foreach ($retval[$thisDb]['tables'] as &$table) { + $table['columns'][$expr->column] = $expr->alias; + } } } |