summaryrefslogtreecommitdiffstats
path: root/src/Components
diff options
context:
space:
mode:
authorBruno Perel <brunoperel@gmail.com>2018-11-26 23:03:59 +0100
committerBruno Perel <brunoperel@gmail.com>2018-11-27 22:59:36 +0100
commit2d0b364f6424ce433f77e9f876bc7d1a0e0b6281 (patch)
tree7f6c9a5473f5d0945859d62b43fbfbcd63c6eab0 /src/Components
parentef7968e5a80de41c2bbd5ad3d93b6f47fe3f9705 (diff)
downloadsql-parser-2d0b364f6424ce433f77e9f876bc7d1a0e0b6281.zip
sql-parser-2d0b364f6424ce433f77e9f876bc7d1a0e0b6281.tar.gz
sql-parser-2d0b364f6424ce433f77e9f876bc7d1a0e0b6281.tar.bz2
Fix tests
Diffstat (limited to 'src/Components')
-rw-r--r--src/Components/CaseExpression.php41
-rw-r--r--src/Components/JoinKeyword.php2
2 files changed, 23 insertions, 20 deletions
diff --git a/src/Components/CaseExpression.php b/src/Components/CaseExpression.php
index eb91f5f..19061db 100644
--- a/src/Components/CaseExpression.php
+++ b/src/Components/CaseExpression.php
@@ -129,10 +129,10 @@ class CaseExpression extends Component
case 'END':
$state = 3; // end of CASE expression
++$list->idx;
- break;
+ break 2;
default:
$parser->error('Unexpected keyword.', $token);
- break;
+ break 2;
}
} else {
$ret->value = Expression::parse($parser, $list);
@@ -148,43 +148,46 @@ class CaseExpression extends Component
$new_value = Expression::parse($parser, $list);
$state = 2;
$ret->compare_values[] = $new_value;
- break;
+ break;
case 'ELSE':
++$list->idx; // Skip 'ELSE'
$ret->else_result = Expression::parse($parser, $list);
$state = 0; // last clause of CASE expression
- break;
+ break;
case 'END':
$state = 3; // end of CASE expression
++$list->idx;
- break;
+ break 2;
default:
$parser->error('Unexpected keyword.', $token);
- break;
+ break 2;
}
}
- } else if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'THEN') {
+ } else {
+ if ($token->type === Token::TYPE_KEYWORD
+ && $token->keyword === 'THEN'
+ ) {
++$list->idx; // Skip 'THEN'
$new_result = Expression::parse($parser, $list);
$state = 0;
$ret->results[] = $new_result;
- } else {
+ } elseif ($token->type === Token::TYPE_KEYWORD) {
$parser->error('Unexpected keyword.', $token);
+ break;
}
- break;
}
} elseif ($state === 2) {
if ($type === 0) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'THEN') {
- ++$list->idx; // Skip 'THEN'
- $new_result = Expression::parse($parser, $list);
- $ret->results[] = $new_result;
- $state = 1;
- } else {
- $parser->error('Unexpected keyword.', $token);
- }
+ if ($token->type === Token::TYPE_KEYWORD
+ && $token->keyword === 'THEN'
+ ) {
+ ++$list->idx; // Skip 'THEN'
+ $new_result = Expression::parse($parser, $list);
+ $ret->results[] = $new_result;
+ $state = 1;
+ } elseif ($token->type === Token::TYPE_KEYWORD) {
+ $parser->error('Unexpected keyword.', $token);
+ break;
}
}
}
diff --git a/src/Components/JoinKeyword.php b/src/Components/JoinKeyword.php
index 0b5aae9..786092d 100644
--- a/src/Components/JoinKeyword.php
+++ b/src/Components/JoinKeyword.php
@@ -179,7 +179,7 @@ class JoinKeyword extends Component
$state = 1;
} else {
/* Next clause is starting */
- break;
+ break 2;
}
break;
}