Skip to content

Commit f98d717

Browse files
committed
Add missing token "WITH PARSER" in contexts and regenerate involved test case, now without parsing errors.
1 parent 31dc0c6 commit f98d717

19 files changed

+89
-49
lines changed

src/Contexts/ContextMySql50100.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,7 @@ class ContextMySql50100 extends Context
543543
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
544544
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
545545
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
546+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
546547
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
547548
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
548549
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql50500.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,7 @@ class ContextMySql50500 extends Context
552552
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
553553
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
554554
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
555+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
555556
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
556557
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
557558
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql50600.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,7 @@ class ContextMySql50600 extends Context
575575
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
576576
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
577577
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
578+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
578579
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
579580
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
580581
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql50700.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,7 @@ class ContextMySql50700 extends Context
599599
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
600600
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
601601
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
602+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
602603
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
603604
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
604605
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql80000.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ class ContextMySql80000 extends Context
603603
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
604604
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
605605
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606607
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
607608
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
608609
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql80100.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ class ContextMySql80100 extends Context
603603
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
604604
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
605605
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606607
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
607608
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
608609
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql80200.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ class ContextMySql80200 extends Context
603603
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
604604
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
605605
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606607
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
607608
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
608609
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql80300.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ class ContextMySql80300 extends Context
603603
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
604604
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
605605
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
606607
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
607608
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
608609
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

src/Contexts/ContextMySql80400.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,7 @@ class ContextMySql80400 extends Context
591591
'UNION ALL' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
592592
'UNION DISTINCT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
593593
'WITH CONSISTENT SNAPSHOT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
594+
'WITH PARSER' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
594595
'WITH ROLLUP' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED,
595596
'ARRAY' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,
596597
'BIT' => Token::FLAG_KEYWORD | Token::FLAG_KEYWORD_DATA_TYPE,

tests/data/parser/parseCreateTableWithParser.out

Lines changed: 71 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -271,31 +271,13 @@
271271
},
272272
{
273273
"@type": "PhpMyAdmin\\SqlParser\\Token",
274-
"token": "WITH",
275-
"value": "WITH",
276-
"keyword": "WITH",
274+
"token": "WITH PARSER",
275+
"value": "WITH PARSER",
276+
"keyword": "WITH PARSER",
277277
"type": 1,
278-
"flags": 3,
278+
"flags": 7,
279279
"position": 128
280280
},
281-
{
282-
"@type": "PhpMyAdmin\\SqlParser\\Token",
283-
"token": " ",
284-
"value": " ",
285-
"keyword": null,
286-
"type": 3,
287-
"flags": 0,
288-
"position": 132
289-
},
290-
{
291-
"@type": "PhpMyAdmin\\SqlParser\\Token",
292-
"token": "PARSER",
293-
"value": "PARSER",
294-
"keyword": "PARSER",
295-
"type": 1,
296-
"flags": 1,
297-
"position": 133
298-
},
299281
{
300282
"@type": "PhpMyAdmin\\SqlParser\\Token",
301283
"token": " ",
@@ -612,8 +594,8 @@
612594
"position": null
613595
}
614596
],
615-
"count": 67,
616-
"idx": 68
597+
"count": 65,
598+
"idx": 65
617599
},
618600
"delimiter": ";",
619601
"delimiterLen": 1,
@@ -698,11 +680,73 @@
698680
"expr": null,
699681
"options": {
700682
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
701-
"options": []
683+
"options": {
684+
"3": {
685+
"name": "WITH PARSER",
686+
"equals": false,
687+
"expr": "`ngram`",
688+
"value": "ngram"
689+
}
690+
}
702691
}
703692
},
704693
"references": null,
705694
"options": null
695+
},
696+
{
697+
"@type": "PhpMyAdmin\\SqlParser\\Components\\CreateDefinition",
698+
"name": "my_constraint_1",
699+
"isConstraint": true,
700+
"type": null,
701+
"key": {
702+
"@type": "PhpMyAdmin\\SqlParser\\Components\\Key",
703+
"name": null,
704+
"columns": [
705+
{
706+
"name": "column_one"
707+
}
708+
],
709+
"type": "FOREIGN KEY",
710+
"expr": null,
711+
"options": {
712+
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
713+
"options": []
714+
}
715+
},
716+
"references": {
717+
"@type": "PhpMyAdmin\\SqlParser\\Components\\Reference",
718+
"table": {
719+
"@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
720+
"database": null,
721+
"table": "other_table",
722+
"column": null,
723+
"expr": "`other_table`",
724+
"alias": null,
725+
"function": null,
726+
"subquery": null
727+
},
728+
"columns": [
729+
"column_two"
730+
],
731+
"options": {
732+
"@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
733+
"options": {
734+
"2": {
735+
"name": "ON DELETE",
736+
"equals": false,
737+
"expr": "RESTRICT",
738+
"value": "RESTRICT"
739+
},
740+
"3": {
741+
"name": "ON UPDATE",
742+
"equals": false,
743+
"expr": "RESTRICT",
744+
"value": "RESTRICT"
745+
}
746+
}
747+
}
748+
},
749+
"options": null
706750
}
707751
],
708752
"with": null,
@@ -724,7 +768,7 @@
724768
}
725769
},
726770
"first": 0,
727-
"last": 44
771+
"last": 64
728772
}
729773
],
730774
"brackets": 0,
@@ -733,28 +777,6 @@
733777
},
734778
"errors": {
735779
"lexer": [],
736-
"parser": [
737-
[
738-
"A comma or a closing bracket was expected.",
739-
{
740-
"@type": "@31"
741-
},
742-
0
743-
],
744-
[
745-
"Unexpected beginning of statement.",
746-
{
747-
"@type": "@47"
748-
},
749-
0
750-
],
751-
[
752-
"Unrecognized statement type.",
753-
{
754-
"@type": "@50"
755-
},
756-
0
757-
]
758-
]
780+
"parser": []
759781
}
760782
}

tools/contexts/MySql50100.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,7 @@ WHEN (R)
548548
WHERE (R)
549549
WHILE (R)
550550
WITH (R)
551+
WITH PARSER
551552
WORK
552553
WRAPPER
553554
WRITE (R)

tools/contexts/MySql50500.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,7 @@ WHEN (R)
557557
WHERE (R)
558558
WHILE (R)
559559
WITH (R)
560+
WITH PARSER
560561
WORK
561562
WRAPPER
562563
WRITE (R)

tools/contexts/MySql50600.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,7 @@ WHEN (R)
584584
WHERE (R)
585585
WHILE (R)
586586
WITH (R)
587+
WITH PARSER
587588
WORK
588589
WRAPPER
589590
WRITE (R)

tools/contexts/MySql50700.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,7 @@ WHEN (R)
608608
WHERE (R)
609609
WHILE (R)
610610
WITH (R)
611+
WITH PARSER
611612
WITHOUT
612613
WORK
613614
WRAPPER

tools/contexts/MySql80000.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,7 @@ WHEN (R)
612612
WHERE (R)
613613
WHILE (R)
614614
WITH (R)
615+
WITH PARSER
615616
WITHOUT
616617
WORK
617618
WRAPPER

tools/contexts/MySql80100.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,7 @@ WHEN (R)
612612
WHERE (R)
613613
WHILE (R)
614614
WITH (R)
615+
WITH PARSER
615616
WITHOUT
616617
WORK
617618
WRAPPER

tools/contexts/MySql80200.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,7 @@ WHEN (R)
612612
WHERE (R)
613613
WHILE (R)
614614
WITH (R)
615+
WITH PARSER
615616
WITHOUT
616617
WORK
617618
WRAPPER

tools/contexts/MySql80300.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,7 @@ WHEN (R)
612612
WHERE (R)
613613
WHILE (R)
614614
WITH (R)
615+
WITH PARSER
615616
WITHOUT
616617
WORK
617618
WRAPPER

tools/contexts/MySql80400.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,7 @@ WHEN (R)
601601
WHERE (R)
602602
WHILE (R)
603603
WITH (R)
604+
WITH PARSER
604605
WITHOUT
605606
WORK
606607
WRAPPER

0 commit comments

Comments
 (0)