summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDeven Bansod <devenbansod.bits@gmail.com>2016-10-24 13:48:40 +0530
committerDeven Bansod <devenbansod.bits@gmail.com>2016-10-24 13:48:40 +0530
commit527861f62e94234b1d26f54dea4a0979cee6cd23 (patch)
tree715371bba4dba8bf3575a53b0a8ff7ce70a5ea4e /src
parenta724dfeb2cd7e0bca94e12f9af681166bb2488f3 (diff)
downloadsql-parser-527861f62e94234b1d26f54dea4a0979cee6cd23.zip
sql-parser-527861f62e94234b1d26f54dea4a0979cee6cd23.tar.gz
sql-parser-527861f62e94234b1d26f54dea4a0979cee6cd23.tar.bz2
Add parsing of multiple JOINS in single query
Signed-off-by: Deven Bansod <devenbansod.bits@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/Components/JoinKeyword.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/Components/JoinKeyword.php b/src/Components/JoinKeyword.php
index 41c4a04..548a64e 100644
--- a/src/Components/JoinKeyword.php
+++ b/src/Components/JoinKeyword.php
@@ -154,8 +154,17 @@ class JoinKeyword extends Component
} elseif ($token->value === 'USING') {
$state = 4;
} else {
- /* Next clause is starting */
- break;
+ if (($token->type === Token::TYPE_KEYWORD)
+ && (!empty(static::$JOINS[$token->value]))
+ ) {
+ $ret[] = $expr;
+ $expr = new JoinKeyword();
+ $expr->type = static::$JOINS[$token->value];
+ $state = 1;
+ } else {
+ /* Next clause is starting */
+ break;
+ }
}
}
} elseif ($state === 3) {