summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Čihař <michal@cihar.com>2016-04-06 16:35:46 +0200
committerMichal Čihař <michal@cihar.com>2016-04-06 16:35:46 +0200
commit6cb1d9c9ff1bd3d79bd7bd7d1d5a45a711711733 (patch)
treebb626ef38579a09ce71bc43144be1601760e1f54
parent8de4749d803858859fcf7a39b1bbf058745920f0 (diff)
downloadsql-parser-6cb1d9c9ff1bd3d79bd7bd7d1d5a45a711711733.zip
sql-parser-6cb1d9c9ff1bd3d79bd7bd7d1d5a45a711711733.tar.gz
sql-parser-6cb1d9c9ff1bd3d79bd7bd7d1d5a45a711711733.tar.bz2
Better recognize missing symbol in create definition
Fixes #47 Signed-off-by: Michal Čihař <michal@cihar.com>
-rw-r--r--src/Components/CreateDefinition.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Components/CreateDefinition.php b/src/Components/CreateDefinition.php
index 79a2745..c6f0bb0 100644
--- a/src/Components/CreateDefinition.php
+++ b/src/Components/CreateDefinition.php
@@ -215,11 +215,17 @@ class CreateDefinition extends Component
} elseif (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_KEY)) {
$expr->key = Key::parse($parser, $list);
$state = 4;
- } else {
+ } elseif ($token->type === Token::TYPE_SYMBOL || $token->type === Token::TYPE_NONE) {
$expr->name = $token->value;
if (!$expr->isConstraint) {
$state = 2;
}
+ } else {
+ $parser->error(
+ __('A symbol name was expected!'),
+ $token
+ );
+ return $ret;
}
} elseif ($state === 2) {
$expr->type = DataType::parse($parser, $list);