summaryrefslogtreecommitdiffstats
path: root/src/Utils/Misc.php
diff options
context:
space:
mode:
authorDan Ungureanu <udan1107@gmail.com>2015-08-18 02:24:42 +0300
committerDan Ungureanu <udan1107@gmail.com>2015-08-18 02:24:42 +0300
commit14c54da98c3b4f18c78ff44c22fbdd20e8ef6e18 (patch)
treea4604f6b1d1095790e313b71bf226e4291788ca8 /src/Utils/Misc.php
parent1568adba1af7bf061354a30afd169e29fa43f133 (diff)
downloadsql-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.php25
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;
+ }
}
}