summaryrefslogtreecommitdiffstats
path: root/src/Components/JoinKeyword.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Components/JoinKeyword.php')
-rw-r--r--src/Components/JoinKeyword.php37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/Components/JoinKeyword.php b/src/Components/JoinKeyword.php
index 55b69ae..0b5aae9 100644
--- a/src/Components/JoinKeyword.php
+++ b/src/Components/JoinKeyword.php
@@ -151,7 +151,7 @@ class JoinKeyword extends Component
if ($state === 0) {
if (($token->type === Token::TYPE_KEYWORD)
- && (!empty(static::$JOINS[$token->keyword]))
+ && !empty(static::$JOINS[$token->keyword])
) {
$expr->type = static::$JOINS[$token->keyword];
$state = 1;
@@ -163,22 +163,25 @@ class JoinKeyword extends Component
$state = 2;
} elseif ($state === 2) {
if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'ON') {
- $state = 3;
- } elseif ($token->keyword === 'USING') {
- $state = 4;
- } else {
- if (($token->type === Token::TYPE_KEYWORD)
- && (!empty(static::$JOINS[$token->keyword]))
- ) {
- $ret[] = $expr;
- $expr = new self();
- $expr->type = static::$JOINS[$token->keyword];
- $state = 1;
- } else {
- /* Next clause is starting */
- break;
- }
+ switch($token->keyword) {
+ case 'ON':
+ $state = 3;
+ break;
+ case 'USING':
+ $state = 4;
+ break;
+ default:
+ if (!empty(static::$JOINS[$token->keyword])
+ ) {
+ $ret[] = $expr;
+ $expr = new self();
+ $expr->type = static::$JOINS[$token->keyword];
+ $state = 1;
+ } else {
+ /* Next clause is starting */
+ break;
+ }
+ break;
}
}
} elseif ($state === 3) {