-
Notifications
You must be signed in to change notification settings - Fork 0
/
sql.go
19675 lines (19470 loc) · 587 KB
/
sql.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by goyacc -fast-append -o sql.go sql.y. DO NOT EDIT.
//line sql.y:18
package sqlparser
import (
__yyfmt__ "fmt"
__yyunsafe__ "unsafe"
)
//line sql.y:18
func setParseTree(yylex yyLexer, stmt Statement) {
yylex.(*Tokenizer).ParseTree = stmt
}
func setAllowComments(yylex yyLexer, allow bool) {
yylex.(*Tokenizer).AllowComments = allow
}
func setDDL(yylex yyLexer, node Statement) {
yylex.(*Tokenizer).partialDDL = node
}
func incNesting(yylex yyLexer) bool {
yylex.(*Tokenizer).nesting++
if yylex.(*Tokenizer).nesting == 200 {
return true
}
return false
}
func decNesting(yylex yyLexer) {
yylex.(*Tokenizer).nesting--
}
// skipToEnd forces the lexer to end prematurely. Not all SQL statements
// are supported by the Parser, thus calling skipToEnd will make the lexer
// return EOF early.
func skipToEnd(yylex yyLexer) {
yylex.(*Tokenizer).SkipToEnd = true
}
func bindVariable(yylex yyLexer, bvar string) {
yylex.(*Tokenizer).BindVars[bvar] = struct{}{}
}
const MEMBER = 57346
const FUNCTION_CALL_NON_KEYWORD = 57347
const LEX_ERROR = 57348
const UNION = 57349
const SELECT = 57350
const STREAM = 57351
const VSTREAM = 57352
const INSERT = 57353
const UPDATE = 57354
const DELETE = 57355
const FROM = 57356
const WHERE = 57357
const GROUP = 57358
const HAVING = 57359
const ORDER = 57360
const BY = 57361
const LIMIT = 57362
const OFFSET = 57363
const FOR = 57364
const ALL = 57365
const DISTINCT = 57366
const AS = 57367
const EXISTS = 57368
const ASC = 57369
const DESC = 57370
const INTO = 57371
const DUPLICATE = 57372
const DEFAULT = 57373
const SET = 57374
const LOCK = 57375
const UNLOCK = 57376
const KEYS = 57377
const DO = 57378
const CALL = 57379
const DISTINCTROW = 57380
const PARSER = 57381
const GENERATED = 57382
const ALWAYS = 57383
const OUTFILE = 57384
const S3 = 57385
const DATA = 57386
const LOAD = 57387
const LINES = 57388
const TERMINATED = 57389
const ESCAPED = 57390
const ENCLOSED = 57391
const DUMPFILE = 57392
const CSV = 57393
const HEADER = 57394
const MANIFEST = 57395
const OVERWRITE = 57396
const STARTING = 57397
const OPTIONALLY = 57398
const VALUES = 57399
const LAST_INSERT_ID = 57400
const NEXT = 57401
const VALUE = 57402
const SHARE = 57403
const MODE = 57404
const SQL_NO_CACHE = 57405
const SQL_CACHE = 57406
const SQL_CALC_FOUND_ROWS = 57407
const JOIN = 57408
const STRAIGHT_JOIN = 57409
const LEFT = 57410
const RIGHT = 57411
const INNER = 57412
const OUTER = 57413
const CROSS = 57414
const NATURAL = 57415
const USE = 57416
const FORCE = 57417
const ON = 57418
const USING = 57419
const INPLACE = 57420
const COPY = 57421
const INSTANT = 57422
const ALGORITHM = 57423
const NONE = 57424
const SHARED = 57425
const EXCLUSIVE = 57426
const SUBQUERY_AS_EXPR = 57427
const ID = 57428
const AT_ID = 57429
const AT_AT_ID = 57430
const HEX = 57431
const STRING = 57432
const NCHAR_STRING = 57433
const INTEGRAL = 57434
const FLOAT = 57435
const DECIMAL = 57436
const HEXNUM = 57437
const VALUE_ARG = 57438
const LIST_ARG = 57439
const COMMENT = 57440
const COMMENT_KEYWORD = 57441
const BITNUM = 57442
const BIT_LITERAL = 57443
const COMPRESSION = 57444
const JSON_PRETTY = 57445
const JSON_STORAGE_SIZE = 57446
const JSON_STORAGE_FREE = 57447
const JSON_CONTAINS = 57448
const JSON_CONTAINS_PATH = 57449
const JSON_EXTRACT = 57450
const JSON_KEYS = 57451
const JSON_OVERLAPS = 57452
const JSON_SEARCH = 57453
const JSON_VALUE = 57454
const EXTRACT = 57455
const NULL = 57456
const TRUE = 57457
const FALSE = 57458
const OFF = 57459
const DISCARD = 57460
const IMPORT = 57461
const ENABLE = 57462
const DISABLE = 57463
const TABLESPACE = 57464
const VIRTUAL = 57465
const STORED = 57466
const BOTH = 57467
const LEADING = 57468
const TRAILING = 57469
const EMPTY_FROM_CLAUSE = 57470
const LOWER_THAN_CHARSET = 57471
const CHARSET = 57472
const UNIQUE = 57473
const KEY = 57474
const EXPRESSION_PREC_SETTER = 57475
const OR = 57476
const XOR = 57477
const AND = 57478
const NOT = 57479
const BETWEEN = 57480
const CASE = 57481
const WHEN = 57482
const THEN = 57483
const ELSE = 57484
const END = 57485
const LE = 57486
const GE = 57487
const NE = 57488
const NULL_SAFE_EQUAL = 57489
const IS = 57490
const LIKE = 57491
const REGEXP = 57492
const RLIKE = 57493
const IN = 57494
const SHIFT_LEFT = 57495
const SHIFT_RIGHT = 57496
const DIV = 57497
const MOD = 57498
const UNARY = 57499
const COLLATE = 57500
const BINARY = 57501
const UNDERSCORE_ARMSCII8 = 57502
const UNDERSCORE_ASCII = 57503
const UNDERSCORE_BIG5 = 57504
const UNDERSCORE_BINARY = 57505
const UNDERSCORE_CP1250 = 57506
const UNDERSCORE_CP1251 = 57507
const UNDERSCORE_CP1256 = 57508
const UNDERSCORE_CP1257 = 57509
const UNDERSCORE_CP850 = 57510
const UNDERSCORE_CP852 = 57511
const UNDERSCORE_CP866 = 57512
const UNDERSCORE_CP932 = 57513
const UNDERSCORE_DEC8 = 57514
const UNDERSCORE_EUCJPMS = 57515
const UNDERSCORE_EUCKR = 57516
const UNDERSCORE_GB18030 = 57517
const UNDERSCORE_GB2312 = 57518
const UNDERSCORE_GBK = 57519
const UNDERSCORE_GEOSTD8 = 57520
const UNDERSCORE_GREEK = 57521
const UNDERSCORE_HEBREW = 57522
const UNDERSCORE_HP8 = 57523
const UNDERSCORE_KEYBCS2 = 57524
const UNDERSCORE_KOI8R = 57525
const UNDERSCORE_KOI8U = 57526
const UNDERSCORE_LATIN1 = 57527
const UNDERSCORE_LATIN2 = 57528
const UNDERSCORE_LATIN5 = 57529
const UNDERSCORE_LATIN7 = 57530
const UNDERSCORE_MACCE = 57531
const UNDERSCORE_MACROMAN = 57532
const UNDERSCORE_SJIS = 57533
const UNDERSCORE_SWE7 = 57534
const UNDERSCORE_TIS620 = 57535
const UNDERSCORE_UCS2 = 57536
const UNDERSCORE_UJIS = 57537
const UNDERSCORE_UTF16 = 57538
const UNDERSCORE_UTF16LE = 57539
const UNDERSCORE_UTF32 = 57540
const UNDERSCORE_UTF8 = 57541
const UNDERSCORE_UTF8MB4 = 57542
const UNDERSCORE_UTF8MB3 = 57543
const INTERVAL = 57544
const WINDOW_EXPR = 57545
const JSON_EXTRACT_OP = 57546
const JSON_UNQUOTE_EXTRACT_OP = 57547
const CREATE = 57548
const ALTER = 57549
const DROP = 57550
const RENAME = 57551
const ANALYZE = 57552
const ADD = 57553
const FLUSH = 57554
const CHANGE = 57555
const MODIFY = 57556
const DEALLOCATE = 57557
const REVERT = 57558
const SCHEMA = 57559
const TABLE = 57560
const INDEX = 57561
const VIEW = 57562
const TO = 57563
const IGNORE = 57564
const IF = 57565
const PRIMARY = 57566
const COLUMN = 57567
const SPATIAL = 57568
const FULLTEXT = 57569
const KEY_BLOCK_SIZE = 57570
const CHECK = 57571
const INDEXES = 57572
const ACTION = 57573
const CASCADE = 57574
const CONSTRAINT = 57575
const FOREIGN = 57576
const NO = 57577
const REFERENCES = 57578
const RESTRICT = 57579
const SHOW = 57580
const DESCRIBE = 57581
const EXPLAIN = 57582
const DATE = 57583
const ESCAPE = 57584
const REPAIR = 57585
const OPTIMIZE = 57586
const TRUNCATE = 57587
const COALESCE = 57588
const EXCHANGE = 57589
const REBUILD = 57590
const PARTITIONING = 57591
const REMOVE = 57592
const PREPARE = 57593
const EXECUTE = 57594
const MAXVALUE = 57595
const PARTITION = 57596
const REORGANIZE = 57597
const LESS = 57598
const THAN = 57599
const PROCEDURE = 57600
const TRIGGER = 57601
const VINDEX = 57602
const VINDEXES = 57603
const DIRECTORY = 57604
const NAME = 57605
const UPGRADE = 57606
const STATUS = 57607
const VARIABLES = 57608
const WARNINGS = 57609
const CASCADED = 57610
const DEFINER = 57611
const OPTION = 57612
const SQL = 57613
const UNDEFINED = 57614
const SEQUENCE = 57615
const MERGE = 57616
const TEMPORARY = 57617
const TEMPTABLE = 57618
const INVOKER = 57619
const SECURITY = 57620
const FIRST = 57621
const AFTER = 57622
const LAST = 57623
const VITESS_MIGRATION = 57624
const CANCEL = 57625
const RETRY = 57626
const COMPLETE = 57627
const CLEANUP = 57628
const THROTTLE = 57629
const UNTHROTTLE = 57630
const EXPIRE = 57631
const RATIO = 57632
const BEGIN = 57633
const START = 57634
const TRANSACTION = 57635
const COMMIT = 57636
const ROLLBACK = 57637
const SAVEPOINT = 57638
const RELEASE = 57639
const WORK = 57640
const BIT = 57641
const TINYINT = 57642
const SMALLINT = 57643
const MEDIUMINT = 57644
const INT = 57645
const INTEGER = 57646
const BIGINT = 57647
const INTNUM = 57648
const REAL = 57649
const DOUBLE = 57650
const FLOAT_TYPE = 57651
const DECIMAL_TYPE = 57652
const NUMERIC = 57653
const TIME = 57654
const TIMESTAMP = 57655
const DATETIME = 57656
const YEAR = 57657
const CHAR = 57658
const VARCHAR = 57659
const BOOL = 57660
const CHARACTER = 57661
const VARBINARY = 57662
const NCHAR = 57663
const TEXT = 57664
const TINYTEXT = 57665
const MEDIUMTEXT = 57666
const LONGTEXT = 57667
const BLOB = 57668
const TINYBLOB = 57669
const MEDIUMBLOB = 57670
const LONGBLOB = 57671
const JSON = 57672
const JSON_SCHEMA_VALID = 57673
const JSON_SCHEMA_VALIDATION_REPORT = 57674
const ENUM = 57675
const GEOMETRY = 57676
const POINT = 57677
const LINESTRING = 57678
const POLYGON = 57679
const GEOMCOLLECTION = 57680
const GEOMETRYCOLLECTION = 57681
const MULTIPOINT = 57682
const MULTILINESTRING = 57683
const MULTIPOLYGON = 57684
const ASCII = 57685
const UNICODE = 57686
const NULLX = 57687
const AUTO_INCREMENT = 57688
const APPROXNUM = 57689
const SIGNED = 57690
const UNSIGNED = 57691
const ZEROFILL = 57692
const CODE = 57693
const COLLATION = 57694
const COLUMNS = 57695
const DATABASES = 57696
const ENGINES = 57697
const EVENT = 57698
const EXTENDED = 57699
const FIELDS = 57700
const FULL = 57701
const FUNCTION = 57702
const GTID_EXECUTED = 57703
const KEYSPACES = 57704
const OPEN = 57705
const PLUGINS = 57706
const PRIVILEGES = 57707
const PROCESSLIST = 57708
const SCHEMAS = 57709
const TABLES = 57710
const TRIGGERS = 57711
const USER = 57712
const VGTID_EXECUTED = 57713
const VITESS_KEYSPACES = 57714
const VITESS_METADATA = 57715
const VITESS_MIGRATIONS = 57716
const VITESS_REPLICATION_STATUS = 57717
const VITESS_SHARDS = 57718
const VITESS_TABLETS = 57719
const VITESS_TARGET = 57720
const VSCHEMA = 57721
const VITESS_THROTTLED_APPS = 57722
const NAMES = 57723
const GLOBAL = 57724
const SESSION = 57725
const ISOLATION = 57726
const LEVEL = 57727
const READ = 57728
const WRITE = 57729
const ONLY = 57730
const REPEATABLE = 57731
const COMMITTED = 57732
const UNCOMMITTED = 57733
const SERIALIZABLE = 57734
const CURRENT_TIMESTAMP = 57735
const DATABASE = 57736
const CURRENT_DATE = 57737
const NOW = 57738
const CURRENT_TIME = 57739
const LOCALTIME = 57740
const LOCALTIMESTAMP = 57741
const CURRENT_USER = 57742
const UTC_DATE = 57743
const UTC_TIME = 57744
const UTC_TIMESTAMP = 57745
const DAY = 57746
const DAY_HOUR = 57747
const DAY_MICROSECOND = 57748
const DAY_MINUTE = 57749
const DAY_SECOND = 57750
const HOUR = 57751
const HOUR_MICROSECOND = 57752
const HOUR_MINUTE = 57753
const HOUR_SECOND = 57754
const MICROSECOND = 57755
const MINUTE = 57756
const MINUTE_MICROSECOND = 57757
const MINUTE_SECOND = 57758
const MONTH = 57759
const QUARTER = 57760
const SECOND = 57761
const SECOND_MICROSECOND = 57762
const YEAR_MONTH = 57763
const WEEK = 57764
const REPLACE = 57765
const CONVERT = 57766
const CAST = 57767
const SUBSTR = 57768
const SUBSTRING = 57769
const SEPARATOR = 57770
const TIMESTAMPADD = 57771
const TIMESTAMPDIFF = 57772
const WEIGHT_STRING = 57773
const LTRIM = 57774
const RTRIM = 57775
const TRIM = 57776
const JSON_ARRAY = 57777
const JSON_OBJECT = 57778
const JSON_QUOTE = 57779
const JSON_DEPTH = 57780
const JSON_TYPE = 57781
const JSON_LENGTH = 57782
const JSON_VALID = 57783
const JSON_ARRAY_APPEND = 57784
const JSON_ARRAY_INSERT = 57785
const JSON_INSERT = 57786
const JSON_MERGE = 57787
const JSON_MERGE_PATCH = 57788
const JSON_MERGE_PRESERVE = 57789
const JSON_REMOVE = 57790
const JSON_REPLACE = 57791
const JSON_SET = 57792
const JSON_UNQUOTE = 57793
const COUNT = 57794
const AVG = 57795
const MAX = 57796
const MIN = 57797
const SUM = 57798
const GROUP_CONCAT = 57799
const BIT_AND = 57800
const BIT_OR = 57801
const BIT_XOR = 57802
const STD = 57803
const STDDEV = 57804
const STDDEV_POP = 57805
const STDDEV_SAMP = 57806
const VAR_POP = 57807
const VAR_SAMP = 57808
const VARIANCE = 57809
const REGEXP_INSTR = 57810
const REGEXP_LIKE = 57811
const REGEXP_REPLACE = 57812
const REGEXP_SUBSTR = 57813
const ExtractValue = 57814
const UpdateXML = 57815
const GET_LOCK = 57816
const RELEASE_LOCK = 57817
const RELEASE_ALL_LOCKS = 57818
const IS_FREE_LOCK = 57819
const IS_USED_LOCK = 57820
const LOCATE = 57821
const POSITION = 57822
const MATCH = 57823
const AGAINST = 57824
const BOOLEAN = 57825
const LANGUAGE = 57826
const WITH = 57827
const QUERY = 57828
const EXPANSION = 57829
const WITHOUT = 57830
const VALIDATION = 57831
const UNUSED = 57832
const ARRAY = 57833
const BYTE = 57834
const CUME_DIST = 57835
const DESCRIPTION = 57836
const DENSE_RANK = 57837
const EMPTY = 57838
const EXCEPT = 57839
const FIRST_VALUE = 57840
const GROUPING = 57841
const GROUPS = 57842
const JSON_TABLE = 57843
const LAG = 57844
const LAST_VALUE = 57845
const LATERAL = 57846
const LEAD = 57847
const NTH_VALUE = 57848
const NTILE = 57849
const OF = 57850
const OVER = 57851
const PERCENT_RANK = 57852
const RANK = 57853
const RECURSIVE = 57854
const ROW_NUMBER = 57855
const SYSTEM = 57856
const WINDOW = 57857
const ACTIVE = 57858
const ADMIN = 57859
const AUTOEXTEND_SIZE = 57860
const BUCKETS = 57861
const CLONE = 57862
const COLUMN_FORMAT = 57863
const COMPONENT = 57864
const DEFINITION = 57865
const ENFORCED = 57866
const ENGINE_ATTRIBUTE = 57867
const EXCLUDE = 57868
const FOLLOWING = 57869
const GET_MASTER_PUBLIC_KEY = 57870
const HISTOGRAM = 57871
const HISTORY = 57872
const INACTIVE = 57873
const INVISIBLE = 57874
const LOCKED = 57875
const MASTER_COMPRESSION_ALGORITHMS = 57876
const MASTER_PUBLIC_KEY_PATH = 57877
const MASTER_TLS_CIPHERSUITES = 57878
const MASTER_ZSTD_COMPRESSION_LEVEL = 57879
const NESTED = 57880
const NETWORK_NAMESPACE = 57881
const NOWAIT = 57882
const NULLS = 57883
const OJ = 57884
const OLD = 57885
const OPTIONAL = 57886
const ORDINALITY = 57887
const ORGANIZATION = 57888
const OTHERS = 57889
const PARTIAL = 57890
const PATH = 57891
const PERSIST = 57892
const PERSIST_ONLY = 57893
const PRECEDING = 57894
const PRIVILEGE_CHECKS_USER = 57895
const PROCESS = 57896
const RANDOM = 57897
const REFERENCE = 57898
const REQUIRE_ROW_FORMAT = 57899
const RESOURCE = 57900
const RESPECT = 57901
const RESTART = 57902
const RETAIN = 57903
const REUSE = 57904
const ROLE = 57905
const SECONDARY = 57906
const SECONDARY_ENGINE = 57907
const SECONDARY_ENGINE_ATTRIBUTE = 57908
const SECONDARY_LOAD = 57909
const SECONDARY_UNLOAD = 57910
const SIMPLE = 57911
const SKIP = 57912
const SRID = 57913
const THREAD_PRIORITY = 57914
const TIES = 57915
const UNBOUNDED = 57916
const VCPU = 57917
const VISIBLE = 57918
const RETURNING = 57919
const FORMAT_BYTES = 57920
const FORMAT_PICO_TIME = 57921
const PS_CURRENT_THREAD_ID = 57922
const PS_THREAD_ID = 57923
const GTID_SUBSET = 57924
const GTID_SUBTRACT = 57925
const WAIT_FOR_EXECUTED_GTID_SET = 57926
const WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS = 57927
const FORMAT = 57928
const TREE = 57929
const VITESS = 57930
const TRADITIONAL = 57931
const LOCAL = 57932
const LOW_PRIORITY = 57933
const NO_WRITE_TO_BINLOG = 57934
const LOGS = 57935
const ERROR = 57936
const GENERAL = 57937
const HOSTS = 57938
const OPTIMIZER_COSTS = 57939
const USER_RESOURCES = 57940
const SLOW = 57941
const CHANNEL = 57942
const RELAY = 57943
const EXPORT = 57944
const CURRENT = 57945
const ROW = 57946
const ROWS = 57947
const AVG_ROW_LENGTH = 57948
const CONNECTION = 57949
const CHECKSUM = 57950
const DELAY_KEY_WRITE = 57951
const ENCRYPTION = 57952
const ENGINE = 57953
const INSERT_METHOD = 57954
const MAX_ROWS = 57955
const MIN_ROWS = 57956
const PACK_KEYS = 57957
const PASSWORD = 57958
const FIXED = 57959
const DYNAMIC = 57960
const COMPRESSED = 57961
const REDUNDANT = 57962
const COMPACT = 57963
const ROW_FORMAT = 57964
const STATS_AUTO_RECALC = 57965
const STATS_PERSISTENT = 57966
const STATS_SAMPLE_PAGES = 57967
const STORAGE = 57968
const MEMORY = 57969
const DISK = 57970
const PARTITIONS = 57971
const LINEAR = 57972
const RANGE = 57973
const LIST = 57974
const SUBPARTITION = 57975
const SUBPARTITIONS = 57976
const HASH = 57977
var yyToknames = [...]string{
"$end",
"error",
"$unk",
"MEMBER",
"FUNCTION_CALL_NON_KEYWORD",
"LEX_ERROR",
"UNION",
"SELECT",
"STREAM",
"VSTREAM",
"INSERT",
"UPDATE",
"DELETE",
"FROM",
"WHERE",
"GROUP",
"HAVING",
"ORDER",
"BY",
"LIMIT",
"OFFSET",
"FOR",
"ALL",
"DISTINCT",
"AS",
"EXISTS",
"ASC",
"DESC",
"INTO",
"DUPLICATE",
"DEFAULT",
"SET",
"LOCK",
"UNLOCK",
"KEYS",
"DO",
"CALL",
"DISTINCTROW",
"PARSER",
"GENERATED",
"ALWAYS",
"OUTFILE",
"S3",
"DATA",
"LOAD",
"LINES",
"TERMINATED",
"ESCAPED",
"ENCLOSED",
"DUMPFILE",
"CSV",
"HEADER",
"MANIFEST",
"OVERWRITE",
"STARTING",
"OPTIONALLY",
"VALUES",
"LAST_INSERT_ID",
"NEXT",
"VALUE",
"SHARE",
"MODE",
"SQL_NO_CACHE",
"SQL_CACHE",
"SQL_CALC_FOUND_ROWS",
"JOIN",
"STRAIGHT_JOIN",
"LEFT",
"RIGHT",
"INNER",
"OUTER",
"CROSS",
"NATURAL",
"USE",
"FORCE",
"ON",
"USING",
"INPLACE",
"COPY",
"INSTANT",
"ALGORITHM",
"NONE",
"SHARED",
"EXCLUSIVE",
"SUBQUERY_AS_EXPR",
"'('",
"','",
"')'",
"ID",
"AT_ID",
"AT_AT_ID",
"HEX",
"STRING",
"NCHAR_STRING",
"INTEGRAL",
"FLOAT",
"DECIMAL",
"HEXNUM",
"VALUE_ARG",
"LIST_ARG",
"COMMENT",
"COMMENT_KEYWORD",
"BITNUM",
"BIT_LITERAL",
"COMPRESSION",
"JSON_PRETTY",
"JSON_STORAGE_SIZE",
"JSON_STORAGE_FREE",
"JSON_CONTAINS",
"JSON_CONTAINS_PATH",
"JSON_EXTRACT",
"JSON_KEYS",
"JSON_OVERLAPS",
"JSON_SEARCH",
"JSON_VALUE",
"EXTRACT",
"NULL",
"TRUE",
"FALSE",
"OFF",
"DISCARD",
"IMPORT",
"ENABLE",
"DISABLE",
"TABLESPACE",
"VIRTUAL",
"STORED",
"BOTH",
"LEADING",
"TRAILING",
"EMPTY_FROM_CLAUSE",
"LOWER_THAN_CHARSET",
"CHARSET",
"UNIQUE",
"KEY",
"EXPRESSION_PREC_SETTER",
"OR",
"'|'",
"XOR",
"AND",
"NOT",
"'!'",
"BETWEEN",
"CASE",
"WHEN",
"THEN",
"ELSE",
"END",
"'='",
"'<'",
"'>'",
"LE",
"GE",
"NE",
"NULL_SAFE_EQUAL",
"IS",
"LIKE",
"REGEXP",
"RLIKE",
"IN",
"'&'",
"SHIFT_LEFT",
"SHIFT_RIGHT",
"'+'",
"'-'",
"'*'",
"'/'",
"DIV",
"'%'",
"MOD",
"'^'",
"'~'",
"UNARY",
"COLLATE",
"BINARY",
"UNDERSCORE_ARMSCII8",
"UNDERSCORE_ASCII",
"UNDERSCORE_BIG5",
"UNDERSCORE_BINARY",
"UNDERSCORE_CP1250",
"UNDERSCORE_CP1251",
"UNDERSCORE_CP1256",
"UNDERSCORE_CP1257",
"UNDERSCORE_CP850",
"UNDERSCORE_CP852",
"UNDERSCORE_CP866",
"UNDERSCORE_CP932",
"UNDERSCORE_DEC8",
"UNDERSCORE_EUCJPMS",
"UNDERSCORE_EUCKR",
"UNDERSCORE_GB18030",
"UNDERSCORE_GB2312",
"UNDERSCORE_GBK",
"UNDERSCORE_GEOSTD8",
"UNDERSCORE_GREEK",
"UNDERSCORE_HEBREW",
"UNDERSCORE_HP8",
"UNDERSCORE_KEYBCS2",
"UNDERSCORE_KOI8R",
"UNDERSCORE_KOI8U",
"UNDERSCORE_LATIN1",
"UNDERSCORE_LATIN2",
"UNDERSCORE_LATIN5",
"UNDERSCORE_LATIN7",
"UNDERSCORE_MACCE",
"UNDERSCORE_MACROMAN",
"UNDERSCORE_SJIS",
"UNDERSCORE_SWE7",
"UNDERSCORE_TIS620",
"UNDERSCORE_UCS2",
"UNDERSCORE_UJIS",
"UNDERSCORE_UTF16",
"UNDERSCORE_UTF16LE",
"UNDERSCORE_UTF32",
"UNDERSCORE_UTF8",
"UNDERSCORE_UTF8MB4",
"UNDERSCORE_UTF8MB3",
"INTERVAL",
"'.'",
"WINDOW_EXPR",
"JSON_EXTRACT_OP",
"JSON_UNQUOTE_EXTRACT_OP",
"CREATE",
"ALTER",
"DROP",
"RENAME",
"ANALYZE",
"ADD",
"FLUSH",
"CHANGE",
"MODIFY",
"DEALLOCATE",
"REVERT",
"SCHEMA",
"TABLE",
"INDEX",
"VIEW",
"TO",
"IGNORE",
"IF",
"PRIMARY",
"COLUMN",
"SPATIAL",
"FULLTEXT",
"KEY_BLOCK_SIZE",
"CHECK",
"INDEXES",
"ACTION",
"CASCADE",
"CONSTRAINT",
"FOREIGN",
"NO",
"REFERENCES",
"RESTRICT",
"SHOW",
"DESCRIBE",
"EXPLAIN",
"DATE",
"ESCAPE",
"REPAIR",
"OPTIMIZE",
"TRUNCATE",
"COALESCE",
"EXCHANGE",
"REBUILD",
"PARTITIONING",
"REMOVE",
"PREPARE",
"EXECUTE",
"MAXVALUE",
"PARTITION",
"REORGANIZE",
"LESS",
"THAN",
"PROCEDURE",
"TRIGGER",
"VINDEX",
"VINDEXES",
"DIRECTORY",
"NAME",
"UPGRADE",
"STATUS",
"VARIABLES",
"WARNINGS",
"CASCADED",
"DEFINER",
"OPTION",
"SQL",
"UNDEFINED",
"SEQUENCE",
"MERGE",
"TEMPORARY",
"TEMPTABLE",
"INVOKER",
"SECURITY",
"FIRST",
"AFTER",
"LAST",
"VITESS_MIGRATION",
"CANCEL",
"RETRY",
"COMPLETE",
"CLEANUP",
"THROTTLE",
"UNTHROTTLE",
"EXPIRE",
"RATIO",
"BEGIN",
"START",
"TRANSACTION",
"COMMIT",
"ROLLBACK",
"SAVEPOINT",
"RELEASE",
"WORK",
"BIT",
"TINYINT",
"SMALLINT",
"MEDIUMINT",