@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | */ |
27 | 27 | public static function getForeignKeys($statement) |
28 | 28 | { |
29 | - if (empty($statement->fields) || (! is_array($statement->fields)) || (! $statement->options->has('TABLE'))) { |
|
29 | + if (empty($statement->fields) || (!is_array($statement->fields)) || (!$statement->options->has('TABLE'))) { |
|
30 | 30 | return []; |
31 | 31 | } |
32 | 32 | |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | |
40 | 40 | $columns = []; |
41 | 41 | foreach ($field->key->columns as $column) { |
42 | - if (! isset($column['name'])) { |
|
42 | + if (!isset($column['name'])) { |
|
43 | 43 | continue; |
44 | 44 | } |
45 | 45 | |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | 'index_list' => $columns, |
52 | 52 | ]; |
53 | 53 | |
54 | - if (! empty($field->references)) { |
|
54 | + if (!empty($field->references)) { |
|
55 | 55 | $tmp['ref_db_name'] = $field->references->table->database; |
56 | 56 | $tmp['ref_table_name'] = $field->references->table->table; |
57 | 57 | $tmp['ref_index_list'] = $field->references->columns; |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | */ |
85 | 85 | public static function getFields($statement) |
86 | 86 | { |
87 | - if (empty($statement->fields) || (! is_array($statement->fields)) || (! $statement->options->has('TABLE'))) { |
|
87 | + if (empty($statement->fields) || (!is_array($statement->fields)) || (!$statement->options->has('TABLE'))) { |
|
88 | 88 | return []; |
89 | 89 | } |
90 | 90 | |
@@ -101,7 +101,7 @@ discard block |
||
101 | 101 | 'timestamp_not_null' => false, |
102 | 102 | ]; |
103 | 103 | |
104 | - if (! $field->options) { |
|
104 | + if (!$field->options) { |
|
105 | 105 | continue; |
106 | 106 | } |
107 | 107 | |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | |
129 | 129 | $option = $field->options->has('AS'); |
130 | 130 | |
131 | - if (! $option) { |
|
131 | + if (!$option) { |
|
132 | 132 | continue; |
133 | 133 | } |
134 | 134 |
@@ -163,9 +163,9 @@ discard block |
||
163 | 163 | } elseif ($state === 1) { |
164 | 164 | if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { |
165 | 165 | $positionBeforeSearch = $list->idx; |
166 | - $list->idx++;// Ignore the current token "(" or the search condition will always be true |
|
166 | + $list->idx++; // Ignore the current token "(" or the search condition will always be true |
|
167 | 167 | $nextToken = $list->getNext(); |
168 | - $list->idx = $positionBeforeSearch;// Restore the position |
|
168 | + $list->idx = $positionBeforeSearch; // Restore the position |
|
169 | 169 | |
170 | 170 | if ($nextToken !== null && $nextToken->value === '(') { |
171 | 171 | // Switch to expression mode |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | $state = 3; |
183 | 183 | } elseif (($token->value === ',') || ($token->value === ')')) { |
184 | 184 | $state = $token->value === ',' ? 2 : 4; |
185 | - if (! empty($lastColumn)) { |
|
185 | + if (!empty($lastColumn)) { |
|
186 | 186 | $ret->columns[] = $lastColumn; |
187 | 187 | $lastColumn = []; |
188 | 188 | } |
@@ -214,7 +214,7 @@ discard block |
||
214 | 214 | if ($token->type === Token::TYPE_OPERATOR) { |
215 | 215 | // This got back to here and we reached the end of the expression |
216 | 216 | if ($token->value === ')') { |
217 | - $state = 4;// go back to state 4 to fetch options |
|
217 | + $state = 4; // go back to state 4 to fetch options |
|
218 | 218 | continue; |
219 | 219 | } |
220 | 220 | |
@@ -256,7 +256,7 @@ discard block |
||
256 | 256 | public static function build($component, array $options = []) |
257 | 257 | { |
258 | 258 | $ret = $component->type . ' '; |
259 | - if (! empty($component->name)) { |
|
259 | + if (!empty($component->name)) { |
|
260 | 260 | $ret .= Context::escape($component->name) . ' '; |
261 | 261 | } |
262 | 262 |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | $this->byteIdx = 0; |
191 | 191 | $this->charIdx = 0; |
192 | 192 | $this->byteLen = mb_strlen($str, '8bit'); |
193 | - if (! mb_check_encoding($str, 'UTF-8')) { |
|
193 | + if (!mb_check_encoding($str, 'UTF-8')) { |
|
194 | 194 | $this->charLen = 0; |
195 | 195 | } else { |
196 | 196 | $this->charLen = mb_strlen($str, 'UTF-8'); |
@@ -298,7 +298,7 @@ discard block |
||
298 | 298 | // Use the default ASCII map as queries are mostly ASCII chars |
299 | 299 | // ord($byte) has a performance cost |
300 | 300 | |
301 | - if (! isset(static::$asciiMap[$byte])) { |
|
301 | + if (!isset(static::$asciiMap[$byte])) { |
|
302 | 302 | // Complete the cache with missing items |
303 | 303 | static::$asciiMap[$byte] = ord($byte); |
304 | 304 | } |
@@ -417,7 +417,7 @@ discard block |
||
417 | 417 | public function build() |
418 | 418 | { |
419 | 419 | $fields = ''; |
420 | - if (! empty($this->fields)) { |
|
420 | + if (!empty($this->fields)) { |
|
421 | 421 | if (is_array($this->fields)) { |
422 | 422 | $fields = CreateDefinition::build($this->fields) . ' '; |
423 | 423 | } elseif ($this->fields instanceof ArrayObj) { |
@@ -449,23 +449,23 @@ discard block |
||
449 | 449 | |
450 | 450 | $partition = ''; |
451 | 451 | |
452 | - if (! empty($this->partitionBy)) { |
|
452 | + if (!empty($this->partitionBy)) { |
|
453 | 453 | $partition .= "\nPARTITION BY " . $this->partitionBy; |
454 | 454 | } |
455 | 455 | |
456 | - if (! empty($this->partitionsNum)) { |
|
456 | + if (!empty($this->partitionsNum)) { |
|
457 | 457 | $partition .= "\nPARTITIONS " . $this->partitionsNum; |
458 | 458 | } |
459 | 459 | |
460 | - if (! empty($this->subpartitionBy)) { |
|
460 | + if (!empty($this->subpartitionBy)) { |
|
461 | 461 | $partition .= "\nSUBPARTITION BY " . $this->subpartitionBy; |
462 | 462 | } |
463 | 463 | |
464 | - if (! empty($this->subpartitionsNum)) { |
|
464 | + if (!empty($this->subpartitionsNum)) { |
|
465 | 465 | $partition .= "\nSUBPARTITIONS " . $this->subpartitionsNum; |
466 | 466 | } |
467 | 467 | |
468 | - if (! empty($this->partitions)) { |
|
468 | + if (!empty($this->partitions)) { |
|
469 | 469 | $partition .= "\n" . PartitionDefinition::build($this->partitions); |
470 | 470 | } |
471 | 471 | |
@@ -487,7 +487,7 @@ discard block |
||
487 | 487 | . OptionsArray::build($this->options) . ' ' |
488 | 488 | . Expression::build($this->name) . ' ' |
489 | 489 | . $fields . ' AS ' . $builtStatement |
490 | - . (! empty($this->body) ? TokensList::build($this->body) : '') . ' ' |
|
490 | + . (!empty($this->body) ? TokensList::build($this->body) : '') . ' ' |
|
491 | 491 | . OptionsArray::build($this->entityOptions); |
492 | 492 | } elseif ($this->options->has('TRIGGER')) { |
493 | 493 | return 'CREATE ' |
@@ -541,7 +541,7 @@ discard block |
||
541 | 541 | ] |
542 | 542 | ); |
543 | 543 | |
544 | - if (! isset($this->name) || ($this->name === '')) { |
|
544 | + if (!isset($this->name) || ($this->name === '')) { |
|
545 | 545 | $parser->error('The name of the entity was expected.', $list->tokens[$list->idx]); |
546 | 546 | } else { |
547 | 547 | ++$list->idx; // Skipping field. |
@@ -657,7 +657,7 @@ discard block |
||
657 | 657 | $token = $list->getNextOfType(Token::TYPE_NUMBER); |
658 | 658 | --$list->idx; // `getNextOfType` also advances one position. |
659 | 659 | $this->subpartitionsNum = $token->value; |
660 | - } elseif (! empty($field)) { |
|
660 | + } elseif (!empty($field)) { |
|
661 | 661 | /* |
662 | 662 | * Handling the content of `PARTITION BY` and `SUBPARTITION BY`. |
663 | 663 | */ |
@@ -686,7 +686,7 @@ discard block |
||
686 | 686 | $field = null; |
687 | 687 | } |
688 | 688 | } elseif (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { |
689 | - if (! empty($this->partitionBy)) { |
|
689 | + if (!empty($this->partitionBy)) { |
|
690 | 690 | $this->partitions = ArrayObj::parse( |
691 | 691 | $parser, |
692 | 692 | $list, |
@@ -22,7 +22,6 @@ discard block |
||
22 | 22 | |
23 | 23 | /** |
24 | 24 | * `WITH` statement. |
25 | - |
|
26 | 25 | * WITH [RECURSIVE] query_name [ (column_name [,...]) ] AS (SELECT ...) [, ...] |
27 | 26 | */ |
28 | 27 | final class WithStatement extends Statement |
@@ -263,9 +262,9 @@ discard block |
||
263 | 262 | |
264 | 263 | // 5 is the only valid end state |
265 | 264 | if ($state !== 5) { |
266 | - /** |
|
267 | - * Token parsed at this moment. |
|
268 | - */ |
|
265 | + /** |
|
266 | + * Token parsed at this moment. |
|
267 | + */ |
|
269 | 268 | $token = $list->tokens[$list->idx]; |
270 | 269 | |
271 | 270 | $parser->error('Unexpected end of the WITH CTE.', $token); |
@@ -133,7 +133,7 @@ discard block |
||
133 | 133 | break; |
134 | 134 | } |
135 | 135 | } elseif ($state === 2) { |
136 | - if (! ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'AS')) { |
|
136 | + if (!($token->type === Token::TYPE_KEYWORD && $token->keyword === 'AS')) { |
|
137 | 137 | $parser->error('AS keyword was expected.', $token); |
138 | 138 | break; |
139 | 139 | } |
@@ -145,7 +145,7 @@ discard block |
||
145 | 145 | $list->idx++; // Ignore the current token |
146 | 146 | $nextKeyword = $list->getNext(); |
147 | 147 | |
148 | - if (! ($token->value === '(' && ($nextKeyword && $nextKeyword->value === 'SELECT'))) { |
|
148 | + if (!($token->value === '(' && ($nextKeyword && $nextKeyword->value === 'SELECT'))) { |
|
149 | 149 | $parser->error('Subquery of the CTE was expected.', $token); |
150 | 150 | $list->idx = $idxBeforeGetNext; |
151 | 151 | break; |
@@ -313,7 +313,7 @@ discard block |
||
313 | 313 | } |
314 | 314 | |
315 | 315 | ++$list->idx; |
316 | - if (! isset($list->tokens[$list->idx])) { |
|
316 | + if (!isset($list->tokens[$list->idx])) { |
|
317 | 317 | break; |
318 | 318 | } |
319 | 319 |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | // The code below extracts only the relevant information. |
83 | 83 | |
84 | 84 | // Extracting lexer's errors. |
85 | - if (! empty($lexer->errors)) { |
|
85 | + if (!empty($lexer->errors)) { |
|
86 | 86 | /** @var LexerException $err */ |
87 | 87 | foreach ($lexer->errors as $err) { |
88 | 88 | $lexerErrors[] = [ |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | } |
98 | 98 | |
99 | 99 | // Extracting parser's errors. |
100 | - if (! empty($parser->errors)) { |
|
100 | + if (!empty($parser->errors)) { |
|
101 | 101 | /** @var ParserException $err */ |
102 | 102 | foreach ($parser->errors as $err) { |
103 | 103 | $parserErrors[] = [ |
@@ -137,7 +137,7 @@ discard block |
||
137 | 137 | public static function build($type, $input, $output, $debug = null, $ansi = false) |
138 | 138 | { |
139 | 139 | // Support query types: `lexer` / `parser`. |
140 | - if (! in_array($type, ['lexer', 'parser'])) { |
|
140 | + if (!in_array($type, ['lexer', 'parser'])) { |
|
141 | 141 | throw new Exception('Unknown test type (expected `lexer` or `parser`).'); |
142 | 142 | } |
143 | 143 | |
@@ -223,11 +223,11 @@ discard block |
||
223 | 223 | if (is_dir($inputFile)) { |
224 | 224 | // Creating required directories to maintain the structure. |
225 | 225 | // Ignoring errors if the folder structure exists already. |
226 | - if (! is_dir($outputFile)) { |
|
226 | + if (!is_dir($outputFile)) { |
|
227 | 227 | mkdir($outputFile); |
228 | 228 | } |
229 | 229 | |
230 | - if (($debug !== null) && (! is_dir($debugFile))) { |
|
230 | + if (($debug !== null) && (!is_dir($debugFile))) { |
|
231 | 231 | mkdir($debugFile); |
232 | 232 | } |
233 | 233 | |
@@ -242,7 +242,7 @@ discard block |
||
242 | 242 | } |
243 | 243 | |
244 | 244 | // Building the test. |
245 | - if (! file_exists($outputFile)) { |
|
245 | + if (!file_exists($outputFile)) { |
|
246 | 246 | echo sprintf("Building test for %s...\n", $inputFile); |
247 | 247 | static::build( |
248 | 248 | str_contains($inputFile, 'lex') ? 'lexer' : 'parser', |
@@ -489,7 +489,7 @@ discard block |
||
489 | 489 | } else { |
490 | 490 | // Checking if it is a known statement that can be parsed. |
491 | 491 | if (empty(static::$STATEMENT_PARSERS[$token->keyword])) { |
492 | - if (! isset(static::$STATEMENT_PARSERS[$token->keyword])) { |
|
492 | + if (!isset(static::$STATEMENT_PARSERS[$token->keyword])) { |
|
493 | 493 | // A statement is considered recognized if the parser |
494 | 494 | // is aware that it is a statement, but it does not have |
495 | 495 | // a parser for it yet. |
@@ -530,7 +530,7 @@ discard block |
||
530 | 530 | |
531 | 531 | // Handles unions. |
532 | 532 | if ( |
533 | - ! empty($unionType) |
|
533 | + !empty($unionType) |
|
534 | 534 | && ($lastStatement instanceof SelectStatement) |
535 | 535 | && ($statement instanceof SelectStatement) |
536 | 536 | ) { |
@@ -15,7 +15,7 @@ discard block |
||
15 | 15 | use function strlen; |
16 | 16 | use function substr; |
17 | 17 | |
18 | -if (! defined('USE_UTF_STRINGS')) { |
|
18 | +if (!defined('USE_UTF_STRINGS')) { |
|
19 | 19 | // NOTE: In previous versions of PHP (5.5 and older) the default |
20 | 20 | // internal encoding is "ISO-8859-1". |
21 | 21 | // All `mb_` functions must specify the correct encoding, which is |
@@ -199,7 +199,7 @@ discard block |
||
199 | 199 | |
200 | 200 | // For multi-byte strings, a new instance of `UtfString` is |
201 | 201 | // initialized (only if `UtfString` usage is forced. |
202 | - if (! $str instanceof UtfString && USE_UTF_STRINGS && $len !== mb_strlen($str, 'UTF-8')) { |
|
202 | + if (!$str instanceof UtfString && USE_UTF_STRINGS && $len !== mb_strlen($str, 'UTF-8')) { |
|
203 | 203 | $str = new UtfString($str); |
204 | 204 | } |
205 | 205 | |
@@ -209,7 +209,7 @@ discard block |
||
209 | 209 | $this->strict = $strict; |
210 | 210 | |
211 | 211 | // Setting the delimiter. |
212 | - $this->setDelimiter(! empty($delimiter) ? $delimiter : static::$DEFAULT_DELIMITER); |
|
212 | + $this->setDelimiter(!empty($delimiter) ? $delimiter : static::$DEFAULT_DELIMITER); |
|
213 | 213 | |
214 | 214 | $this->lex(); |
215 | 215 | } |
@@ -337,7 +337,7 @@ discard block |
||
337 | 337 | $delimiterLen = 0; |
338 | 338 | while ( |
339 | 339 | ++$this->last < $this->len |
340 | - && ! Context::isWhitespace($this->str[$this->last]) |
|
340 | + && !Context::isWhitespace($this->str[$this->last]) |
|
341 | 341 | && $delimiterLen < 15 |
342 | 342 | ) { |
343 | 343 | $this->delimiter .= $this->str[$this->last]; |
@@ -396,8 +396,8 @@ discard block |
||
396 | 396 | } |
397 | 397 | |
398 | 398 | if ( |
399 | - ($next->type !== Token::TYPE_KEYWORD || ! in_array($next->value, ['FROM', 'USING'], true)) |
|
400 | - && ($next->type !== Token::TYPE_OPERATOR || ! in_array($next->value, [',', ')'], true)) |
|
399 | + ($next->type !== Token::TYPE_KEYWORD || !in_array($next->value, ['FROM', 'USING'], true)) |
|
400 | + && ($next->type !== Token::TYPE_OPERATOR || !in_array($next->value, [',', ')'], true)) |
|
401 | 401 | ) { |
402 | 402 | continue; |
403 | 403 | } |
@@ -435,10 +435,10 @@ discard block |
||
435 | 435 | $next = $this->list->getNext(); |
436 | 436 | if ( |
437 | 437 | ($next->type !== Token::TYPE_KEYWORD |
438 | - || ! in_array($next->value, $this->KEYWORD_NAME_INDICATORS, true) |
|
438 | + || !in_array($next->value, $this->KEYWORD_NAME_INDICATORS, true) |
|
439 | 439 | ) |
440 | 440 | && ($next->type !== Token::TYPE_OPERATOR |
441 | - || ! in_array($next->value, $this->OPERATOR_NAME_INDICATORS, true) |
|
441 | + || !in_array($next->value, $this->OPERATOR_NAME_INDICATORS, true) |
|
442 | 442 | ) |
443 | 443 | && ($next->value !== null) |
444 | 444 | ) { |
@@ -521,7 +521,7 @@ discard block |
||
521 | 521 | $token .= $this->str[$this->last]; |
522 | 522 | $flags = Context::isKeyword($token); |
523 | 523 | |
524 | - if (($this->last + 1 !== $this->len && ! Context::isSeparator($this->str[$this->last + 1])) || ! $flags) { |
|
524 | + if (($this->last + 1 !== $this->len && !Context::isSeparator($this->str[$this->last + 1])) || !$flags) { |
|
525 | 525 | continue; |
526 | 526 | } |
527 | 527 | |
@@ -609,7 +609,7 @@ discard block |
||
609 | 609 | $token .= $this->str[$this->last]; |
610 | 610 | $flags = Context::isOperator($token); |
611 | 611 | |
612 | - if (! $flags) { |
|
612 | + if (!$flags) { |
|
613 | 613 | continue; |
614 | 614 | } |
615 | 615 | |
@@ -631,7 +631,7 @@ discard block |
||
631 | 631 | { |
632 | 632 | $token = $this->str[$this->last]; |
633 | 633 | |
634 | - if (! Context::isWhitespace($token)) { |
|
634 | + if (!Context::isWhitespace($token)) { |
|
635 | 635 | return null; |
636 | 636 | } |
637 | 637 | |
@@ -871,7 +871,7 @@ discard block |
||
871 | 871 | } elseif ($state === 2) { |
872 | 872 | $flags |= Token::FLAG_NUMBER_HEX; |
873 | 873 | if ( |
874 | - ! ( |
|
874 | + !( |
|
875 | 875 | ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') |
876 | 876 | || ($this->str[$this->last] >= 'A' && $this->str[$this->last] <= 'F') |
877 | 877 | || ($this->str[$this->last] >= 'a' && $this->str[$this->last] <= 'f') |
@@ -974,7 +974,7 @@ discard block |
||
974 | 974 | $token = $this->str[$this->last]; |
975 | 975 | $flags = Context::isString($token); |
976 | 976 | |
977 | - if (! $flags && $token !== $quote) { |
|
977 | + if (!$flags && $token !== $quote) { |
|
978 | 978 | return null; |
979 | 979 | } |
980 | 980 | |
@@ -1026,7 +1026,7 @@ discard block |
||
1026 | 1026 | $token = $this->str[$this->last]; |
1027 | 1027 | $flags = Context::isSymbol($token); |
1028 | 1028 | |
1029 | - if (! $flags) { |
|
1029 | + if (!$flags) { |
|
1030 | 1030 | return null; |
1031 | 1031 | } |
1032 | 1032 | |
@@ -1077,7 +1077,7 @@ discard block |
||
1077 | 1077 | return null; |
1078 | 1078 | } |
1079 | 1079 | |
1080 | - while (++$this->last < $this->len && ! Context::isSeparator($this->str[$this->last])) { |
|
1080 | + while (++$this->last < $this->len && !Context::isSeparator($this->str[$this->last])) { |
|
1081 | 1081 | $token .= $this->str[$this->last]; |
1082 | 1082 | |
1083 | 1083 | // Test if end of token equals the current delimiter. If so, remove it from the token. |
@@ -42,7 +42,7 @@ |
||
42 | 42 | $this->assertEquals([ |
43 | 43 | Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_RESERVED => [ |
44 | 44 | 8 => ['RESERVED'], |
45 | - 9 => ['RESERVED2','RESERVED3','RESERVED4','RESERVED5'], |
|
45 | + 9 => ['RESERVED2', 'RESERVED3', 'RESERVED4', 'RESERVED5'], |
|
46 | 46 | ], |
47 | 47 | Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_FUNCTION => [8 => ['FUNCTION']], |
48 | 48 | Token::TYPE_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE => [8 => ['DATATYPE']], |