summaryrefslogtreecommitdiffstats
path: root/src/Components
diff options
context:
space:
mode:
authorDan Ungureanu <udan1107@gmail.com>2015-07-15 16:46:40 +0300
committerDan Ungureanu <udan1107@gmail.com>2015-07-15 16:46:40 +0300
commit56ce2d7a37a1ed1d6aabf2b7908ae5da43863497 (patch)
tree86e013988fcf31139aa0ffb7396df227e7b1e0a6 /src/Components
parent875fd4377a920e9d6e10a752cf96735c9ef41230 (diff)
downloadsql-parser-56ce2d7a37a1ed1d6aabf2b7908ae5da43863497.zip
sql-parser-56ce2d7a37a1ed1d6aabf2b7908ae5da43863497.tar.gz
sql-parser-56ce2d7a37a1ed1d6aabf2b7908ae5da43863497.tar.bz2
Better error detection. Fixed some of the old messages.
Minor coding style fixes.
Diffstat (limited to 'src/Components')
-rw-r--r--src/Components/AlterOperation.php2
-rw-r--r--src/Components/Array2d.php4
-rw-r--r--src/Components/ArrayObj.php4
-rw-r--r--src/Components/Expression.php6
-rw-r--r--src/Components/FieldDefinition.php14
-rw-r--r--src/Components/OptionsArray.php2
-rw-r--r--src/Components/RenameOperation.php8
7 files changed, 23 insertions, 17 deletions
diff --git a/src/Components/AlterOperation.php b/src/Components/AlterOperation.php
index 9bb56cf..9f859e2 100644
--- a/src/Components/AlterOperation.php
+++ b/src/Components/AlterOperation.php
@@ -187,7 +187,7 @@ class AlterOperation extends Component
}
if ($ret->options->isEmpty()) {
- $parser->error("Unrecognized ALTER operation.", $list->tokens[$list->idx]);
+ $parser->error('Unrecognized alter operation.', $list->tokens[$list->idx]);
return null;
}
diff --git a/src/Components/Array2d.php b/src/Components/Array2d.php
index 90be806..117ad75 100644
--- a/src/Components/Array2d.php
+++ b/src/Components/Array2d.php
@@ -92,7 +92,7 @@ class Array2d extends Component
if ($count === -1) {
$count = $arrCount;
} elseif ($arrCount != $count) {
- $parser->error("Expected {$count} values, found {$arrCount}.", $token);
+ $parser->error("{$count} values were expected, but found {$arrCount}.", $token);
}
$ret[] = $arr;
$parsed = true;
@@ -112,7 +112,7 @@ class Array2d extends Component
if (!$parsed) {
$parser->error(
- "Expected open bracket followed by a set of values.",
+ 'An opening bracket followed by a set of values was expected.',
$list->tokens[$list->idx]
);
}
diff --git a/src/Components/ArrayObj.php b/src/Components/ArrayObj.php
index 01571de..d38077c 100644
--- a/src/Components/ArrayObj.php
+++ b/src/Components/ArrayObj.php
@@ -97,7 +97,7 @@ class ArrayObj extends Component
if ($state === 0) {
if (($token->type !== Token::TYPE_OPERATOR) || ($token->value !== '(')) {
- $parser->error('An open bracket was expected.', $token);
+ $parser->error('An opening bracket was expected.', $token);
break;
}
$state = 1;
@@ -111,7 +111,7 @@ class ArrayObj extends Component
$state = 2;
} elseif ($state === 2) {
if (($token->type !== Token::TYPE_OPERATOR) || (($token->value !== ',') && ($token->value !== ')'))) {
- $parser->error('Symbols \')\' or \',\' were expected', $token);
+ $parser->error('A comma or a closing bracket was expected', $token);
break;
}
if ($token->value === ',') {
diff --git a/src/Components/Expression.php b/src/Components/Expression.php
index f20a8f7..964ceb9 100644
--- a/src/Components/Expression.php
+++ b/src/Components/Expression.php
@@ -146,7 +146,7 @@ class Expression extends Component
* Keeps track of the previous token.
* Possible values:
* string, if function was previously found;
- * true, if open bracket was previously found;
+ * true, if opening bracket was previously found;
* null, in any other case.
* @var string|bool $prev
*/
@@ -219,7 +219,7 @@ class Expression extends Component
break;
}
} elseif ($brackets < 0) {
- $parser->error('Unexpected bracket.', $token);
+ $parser->error('Unexpected closing bracket.', $token);
$brackets = 0;
}
} elseif ($token->value === ',') {
@@ -304,7 +304,7 @@ class Expression extends Component
}
if ($alias === 2) {
- $parser->error('Alias was expected.', $list->tokens[$list->idx - 1]);
+ $parser->error('An alias was expected.', $list->tokens[$list->idx - 1]);
}
// Whitespaces might be added at the end.
diff --git a/src/Components/FieldDefinition.php b/src/Components/FieldDefinition.php
index 717cc4f..4df98cb 100644
--- a/src/Components/FieldDefinition.php
+++ b/src/Components/FieldDefinition.php
@@ -171,7 +171,7 @@ class FieldDefinition extends Component
* 4 --------------------[ REFERENCES ]------------------> 4
*
* 5 ------------------------[ , ]-----------------------> 1
- * 5 ------------------------[ ) ]-----------------------> -1
+ * 5 ------------------------[ ) ]-----------------------> 6 (-1)
*
* @var int
*/
@@ -197,6 +197,9 @@ class FieldDefinition extends Component
if ($state === 0) {
if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
$state = 1;
+ } else {
+ $parser->error('An opening bracket was expected.', $token);
+ break;
}
} elseif ($state === 1) {
if (($token->type === Token::TYPE_KEYWORD) && ($token->value === 'CONSTRAINT')) {
@@ -231,13 +234,12 @@ class FieldDefinition extends Component
$expr = new FieldDefinition();
if ($token->value === ',') {
$state = 1;
- continue;
} elseif ($token->value === ')') {
+ $state = 6;
++$list->idx;
break;
}
}
-
}
// Last iteration was not saved.
@@ -245,12 +247,16 @@ class FieldDefinition extends Component
$ret[] = $expr;
}
+ if (($state !== 0) && ($state !== 6)) {
+ $parser->error('A closing bracket was expected.', $list->tokens[$list->idx - 1]);
+ }
+
--$list->idx;
return $ret;
}
/**
- * @param FieldDefinition[] $component The component to be built.
+ * @param FieldDefinition|FieldDefinition[] $component The component to be built.
*
* @return string
*/
diff --git a/src/Components/OptionsArray.php b/src/Components/OptionsArray.php
index 2a112ed..a6b612d 100644
--- a/src/Components/OptionsArray.php
+++ b/src/Components/OptionsArray.php
@@ -266,7 +266,7 @@ class OptionsArray extends Component
* Checks if it has the specified option and returns it value or true.
*
* @param string $key The key to be checked.
- * @param string $getExpr Gets the expression instead of the value.
+ * @param bool $getExpr Gets the expression instead of the value.
* The value is the processed form of the expression.
*
* @return mixed
diff --git a/src/Components/RenameOperation.php b/src/Components/RenameOperation.php
index fc73331..9a91f81 100644
--- a/src/Components/RenameOperation.php
+++ b/src/Components/RenameOperation.php
@@ -105,14 +105,14 @@ class RenameOperation extends Component
)
);
if (empty($expr->old)) {
- $parser->error('Expected old table name.', $token);
+ $parser->error('The old name of the table was expected.', $token);
}
$state = 1;
} elseif ($state === 1) {
if (($token->type === Token::TYPE_KEYWORD) && ($token->value === 'TO')) {
$state = 2;
} else {
- $parser->error('Expected `TO` keyword.', $token);
+ $parser->error('Keyword "TO" was expected.', $token);
break;
}
} elseif ($state === 2) {
@@ -126,7 +126,7 @@ class RenameOperation extends Component
)
);
if (empty($expr->new)) {
- $parser->error('Expected new table name.', $token);
+ $parser->error('The new name of the table was expected.', $token);
}
$state = 3;
$parsed = true;
@@ -144,7 +144,7 @@ class RenameOperation extends Component
}
if (!$parsed) {
- $parser->error('Expected a rename operation.', $list->tokens[$list->idx - 1]);
+ $parser->error('A rename operation was expected.', $list->tokens[$list->idx - 1]);
}
// Last iteration was not saved.