diff options
author | Deven Bansod <devenbansod.bits@gmail.com> | 2016-10-24 13:48:40 +0530 |
---|---|---|
committer | Deven Bansod <devenbansod.bits@gmail.com> | 2016-10-24 13:48:40 +0530 |
commit | 527861f62e94234b1d26f54dea4a0979cee6cd23 (patch) | |
tree | 715371bba4dba8bf3575a53b0a8ff7ce70a5ea4e /src | |
parent | a724dfeb2cd7e0bca94e12f9af681166bb2488f3 (diff) | |
download | sql-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.php | 13 |
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) { |