1
- // Generated automatically by nearley, version 2.19.7
1
+ // Generated automatically by nearley, version 2.20.1
2
2
// https://github.com/Hardmath123/nearley
3
3
// Bypasses TS6133. Allow declared but unused functions.
4
4
// @ts -ignore
@@ -43,6 +43,7 @@ declare var kw_group: any;
43
43
declare var kw_limit : any ;
44
44
declare var kw_offset : any ;
45
45
declare var kw_fetch : any ;
46
+ declare var kw_for : any ;
46
47
declare var kw_order : any ;
47
48
declare var kw_asc : any ;
48
49
declare var kw_desc : any ;
@@ -102,7 +103,6 @@ declare var kw_user: any;
102
103
declare var kw_current_user : any ;
103
104
declare var lparen : any ;
104
105
declare var kw_placing : any ;
105
- declare var kw_for : any ;
106
106
declare var rparen : any ;
107
107
declare var kw_create : any ;
108
108
declare var kw_table : any ;
@@ -304,15 +304,16 @@ function setSeqOpts(ret: any, opts: any) {
304
304
}
305
305
}
306
306
307
- interface NearleyToken { value : any ;
307
+ interface NearleyToken {
308
+ value : any ;
308
309
[ key : string ] : any ;
309
310
} ;
310
311
311
312
interface NearleyLexer {
312
313
reset : ( chunk : string , info : any ) => void ;
313
314
next : ( ) => NearleyToken | undefined ;
314
315
save : ( ) => any ;
315
- formatError : ( token : NearleyToken ) => string ;
316
+ formatError : ( token : never ) => string ;
316
317
has : ( tokenType : string ) => boolean ;
317
318
} ;
318
319
@@ -460,6 +461,7 @@ const grammar: Grammar = {
460
461
{ "name" : "kw_prepare" , "symbols" : [ ( lexerAny . has ( "word" ) ? { type : "word" } : word ) ] , "postprocess" : notReservedKw ( 'prepare' ) } ,
461
462
{ "name" : "kw_raise" , "symbols" : [ ( lexerAny . has ( "word" ) ? { type : "word" } : word ) ] , "postprocess" : notReservedKw ( 'raise' ) } ,
462
463
{ "name" : "kw_continue" , "symbols" : [ ( lexerAny . has ( "word" ) ? { type : "word" } : word ) ] , "postprocess" : notReservedKw ( 'continue' ) } ,
464
+ { "name" : "kw_share" , "symbols" : [ ( lexerAny . has ( "word" ) ? { type : "word" } : word ) ] , "postprocess" : notReservedKw ( 'share' ) } ,
463
465
{ "name" : "kw_ifnotexists" , "symbols" : [ "kw_if" , ( lexerAny . has ( "kw_not" ) ? { type : "kw_not" } : kw_not ) , "kw_exists" ] } ,
464
466
{ "name" : "kw_ifexists" , "symbols" : [ "kw_if" , "kw_exists" ] } ,
465
467
{ "name" : "kw_not_null" , "symbols" : [ ( lexerAny . has ( "kw_not" ) ? { type : "kw_not" } : kw_not ) , ( lexerAny . has ( "kw_null" ) ? { type : "kw_null" } : kw_null ) ] } ,
@@ -574,8 +576,10 @@ const grammar: Grammar = {
574
576
{ "name" : "select_statement$ebnf$3" , "symbols" : [ ] , "postprocess" : ( ) => null } ,
575
577
{ "name" : "select_statement$ebnf$4" , "symbols" : [ "select_order_by" ] , "postprocess" : id } ,
576
578
{ "name" : "select_statement$ebnf$4" , "symbols" : [ ] , "postprocess" : ( ) => null } ,
577
- { "name" : "select_statement" , "symbols" : [ "select_what" , "select_statement$ebnf$1" , "select_statement$ebnf$2" , "select_statement$ebnf$3" , "select_statement$ebnf$4" , "select_limit" ] , "postprocess" : x => {
578
- let [ what , from , where , groupBy , orderBy , limit ] = x ;
579
+ { "name" : "select_statement$ebnf$5" , "symbols" : [ "select_for" ] , "postprocess" : id } ,
580
+ { "name" : "select_statement$ebnf$5" , "symbols" : [ ] , "postprocess" : ( ) => null } ,
581
+ { "name" : "select_statement" , "symbols" : [ "select_what" , "select_statement$ebnf$1" , "select_statement$ebnf$2" , "select_statement$ebnf$3" , "select_statement$ebnf$4" , "select_limit" , "select_statement$ebnf$5" ] , "postprocess" : x => {
582
+ let [ what , from , where , groupBy , orderBy , limit , selectFor ] = x ;
579
583
from = unwrap ( from ) ;
580
584
groupBy = groupBy && ( groupBy . length === 1 && groupBy [ 0 ] . type === 'list' ? groupBy [ 0 ] . expressions : groupBy ) ;
581
585
return track ( x , {
@@ -585,6 +589,7 @@ const grammar: Grammar = {
585
589
...limit ? { limit } : { } ,
586
590
...orderBy ? { orderBy } : { } ,
587
591
...where ? { where } : { } ,
592
+ ...selectFor ? { for : selectFor [ 1 ] } : { } ,
588
593
type : 'select' ,
589
594
} ) ;
590
595
} } ,
@@ -736,6 +741,11 @@ const grammar: Grammar = {
736
741
...offset ? { offset} : { } ,
737
742
} ) ;
738
743
} } ,
744
+ { "name" : "select_for$subexpression$1" , "symbols" : [ "kw_update" ] , "postprocess" : x => track ( x , { type : 'update' } ) } ,
745
+ { "name" : "select_for$subexpression$1" , "symbols" : [ "kw_no" , "kw_key" , "kw_update" ] , "postprocess" : x => track ( x , { type : 'no key update' } ) } ,
746
+ { "name" : "select_for$subexpression$1" , "symbols" : [ "kw_share" ] , "postprocess" : x => track ( x , { type : 'share' } ) } ,
747
+ { "name" : "select_for$subexpression$1" , "symbols" : [ "kw_key" , "kw_share" ] , "postprocess" : x => track ( x , { type : 'key share' } ) } ,
748
+ { "name" : "select_for" , "symbols" : [ ( lexerAny . has ( "kw_for" ) ? { type : "kw_for" } : kw_for ) , "select_for$subexpression$1" ] } ,
739
749
{ "name" : "select_order_by$subexpression$1" , "symbols" : [ ( lexerAny . has ( "kw_order" ) ? { type : "kw_order" } : kw_order ) , "kw_by" ] } ,
740
750
{ "name" : "select_order_by$ebnf$1" , "symbols" : [ ] } ,
741
751
{ "name" : "select_order_by$ebnf$1$subexpression$1" , "symbols" : [ "comma" , "select_order_by_expr" ] , "postprocess" : last } ,
@@ -1826,13 +1836,19 @@ const grammar: Grammar = {
1826
1836
{ "name" : "altertable_statement$ebnf$1" , "symbols" : [ ] , "postprocess" : ( ) => null } ,
1827
1837
{ "name" : "altertable_statement$ebnf$2" , "symbols" : [ ( lexerAny . has ( "kw_only" ) ? { type : "kw_only" } : kw_only ) ] , "postprocess" : id } ,
1828
1838
{ "name" : "altertable_statement$ebnf$2" , "symbols" : [ ] , "postprocess" : ( ) => null } ,
1829
- { "name" : "altertable_statement" , "symbols" : [ "kw_alter" , ( lexerAny . has ( "kw_table" ) ? { type : "kw_table" } : kw_table ) , "altertable_statement$ebnf$1" , "altertable_statement$ebnf$2" , "table_ref" , "altertable_action " ] , "postprocess" : x => track ( x , {
1839
+ { "name" : "altertable_statement" , "symbols" : [ "kw_alter" , ( lexerAny . has ( "kw_table" ) ? { type : "kw_table" } : kw_table ) , "altertable_statement$ebnf$1" , "altertable_statement$ebnf$2" , "table_ref" , "altertable_actions " ] , "postprocess" : x => track ( x , {
1830
1840
type : 'alter table' ,
1831
1841
... x [ 2 ] ? { ifExists : true } : { } ,
1832
1842
... x [ 3 ] ? { only : true } : { } ,
1833
1843
table : unwrap ( x [ 4 ] ) ,
1834
- change : unwrap ( x [ 5 ] ) ,
1844
+ changes : unbox ( x [ 5 ] ) . map ( unwrap ) ,
1835
1845
} ) } ,
1846
+ { "name" : "altertable_actions$ebnf$1" , "symbols" : [ ] } ,
1847
+ { "name" : "altertable_actions$ebnf$1$subexpression$1" , "symbols" : [ "comma" , "altertable_action" ] , "postprocess" : last } ,
1848
+ { "name" : "altertable_actions$ebnf$1" , "symbols" : [ "altertable_actions$ebnf$1" , "altertable_actions$ebnf$1$subexpression$1" ] , "postprocess" : ( d ) => d [ 0 ] . concat ( [ d [ 1 ] ] ) } ,
1849
+ { "name" : "altertable_actions" , "symbols" : [ "altertable_action" , "altertable_actions$ebnf$1" ] , "postprocess" : ( [ head , tail ] ) => {
1850
+ return [ head , ...( tail || [ ] ) ] ;
1851
+ } } ,
1836
1852
{ "name" : "altertable_action" , "symbols" : [ "altertable_rename_table" ] } ,
1837
1853
{ "name" : "altertable_action" , "symbols" : [ "altertable_rename_column" ] } ,
1838
1854
{ "name" : "altertable_action" , "symbols" : [ "altertable_rename_constraint" ] } ,
0 commit comments