sql.go 177.9 KB
Newer Older
martianzhang's avatar
martianzhang 已提交
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
// Code generated by goyacc -o sql.go sql.y. DO NOT EDIT.

//line sql.y:18
package sqlparser

import __yyfmt__ "fmt"

//line sql.y:18
func setParseTree(yylex interface{}, stmt Statement) {
	yylex.(*Tokenizer).ParseTree = stmt
}

func setAllowComments(yylex interface{}, allow bool) {
	yylex.(*Tokenizer).AllowComments = allow
}

func setDDL(yylex interface{}, ddl *DDL) {
	yylex.(*Tokenizer).partialDDL = ddl
}

func incNesting(yylex interface{}) bool {
	yylex.(*Tokenizer).nesting++
	if yylex.(*Tokenizer).nesting == 200 {
		return true
	}
	return false
}

func decNesting(yylex interface{}) {
	yylex.(*Tokenizer).nesting--
}

martianzhang's avatar
martianzhang 已提交
33 34
// skipToEnd forces the lexer to end prematurely. Not all SQL statements
// are supported by the Parser, thus calling skipToEnd will make the lexer
martianzhang's avatar
martianzhang 已提交
35
// return EOF early.
martianzhang's avatar
martianzhang 已提交
36 37
func skipToEnd(yylex interface{}) {
	yylex.(*Tokenizer).SkipToEnd = true
martianzhang's avatar
martianzhang 已提交
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
}

//line sql.y:53
type yySymType struct {
	yys                  int
	empty                struct{}
	statement            Statement
	selStmt              SelectStatement
	ddl                  *DDL
	ins                  *Insert
	byt                  byte
	bytes                []byte
	bytes2               [][]byte
	str                  string
	strs                 []string
	selectExprs          SelectExprs
	selectExpr           SelectExpr
	columns              Columns
	partitions           Partitions
	colName              *ColName
	tableExprs           TableExprs
	tableExpr            TableExpr
	joinCondition        JoinCondition
	tableName            TableName
	tableNames           TableNames
	indexHints           *IndexHints
	expr                 Expr
	exprs                Exprs
	boolVal              BoolVal
	colTuple             ColTuple
	values               Values
	valTuple             ValTuple
	subquery             *Subquery
	whens                []*When
	when                 *When
	orderBy              OrderBy
	order                *Order
	limit                *Limit
	updateExprs          UpdateExprs
	setExprs             SetExprs
	updateExpr           *UpdateExpr
	setExpr              *SetExpr
	colIdent             ColIdent
	tableIdent           TableIdent
	convertType          *ConvertType
	aliasedTableName     *AliasedTableExpr
	TableSpec            *TableSpec
	columnType           ColumnType
	colKeyOpt            ColumnKeyOption
	optVal               *SQLVal
	LengthScaleOption    LengthScaleOption
	columnDefinition     *ColumnDefinition
	indexDefinition      *IndexDefinition
	indexInfo            *IndexInfo
	indexOption          *IndexOption
	indexOptions         []*IndexOption
	indexColumn          *IndexColumn
	indexColumns         []*IndexColumn
	constraintDefinition *ConstraintDefinition
	constraintInfo       ConstraintInfo
	ReferenceAction      ReferenceAction
	partDefs             []*PartitionDefinition
	partDef              *PartitionDefinition
	partSpec             *PartitionSpec
	vindexParam          VindexParam
	vindexParams         []VindexParam
	showFilter           *ShowFilter
	optLike              *OptLike
}

const LEX_ERROR = 57346
const UNION = 57347
const SELECT = 57348
const STREAM = 57349
const INSERT = 57350
const UPDATE = 57351
const DELETE = 57352
const FROM = 57353
const WHERE = 57354
const GROUP = 57355
const HAVING = 57356
const ORDER = 57357
const BY = 57358
const LIMIT = 57359
const OFFSET = 57360
const FOR = 57361
const ALL = 57362
const DISTINCT = 57363
const AS = 57364
const EXISTS = 57365
const ASC = 57366
const DESC = 57367
const INTO = 57368
const DUPLICATE = 57369
const KEY = 57370
const DEFAULT = 57371
const SET = 57372
const LOCK = 57373
const UNLOCK = 57374
const KEYS = 57375
const VALUES = 57376
const LAST_INSERT_ID = 57377
const NEXT = 57378
const VALUE = 57379
const SHARE = 57380
const MODE = 57381
const SQL_NO_CACHE = 57382
const SQL_CACHE = 57383
const JOIN = 57384
const STRAIGHT_JOIN = 57385
const LEFT = 57386
const RIGHT = 57387
const INNER = 57388
const OUTER = 57389
const CROSS = 57390
const NATURAL = 57391
const USE = 57392
const FORCE = 57393
const ON = 57394
const USING = 57395
const ID = 57396
const HEX = 57397
const STRING = 57398
const INTEGRAL = 57399
const FLOAT = 57400
const HEXNUM = 57401
const VALUE_ARG = 57402
const LIST_ARG = 57403
const COMMENT = 57404
const COMMENT_KEYWORD = 57405
const BIT_LITERAL = 57406
const NULL = 57407
const TRUE = 57408
const FALSE = 57409
const OFF = 57410
const OR = 57411
const AND = 57412
const NOT = 57413
const BETWEEN = 57414
const CASE = 57415
const WHEN = 57416
const THEN = 57417
const ELSE = 57418
const END = 57419
const LE = 57420
const GE = 57421
const NE = 57422
const NULL_SAFE_EQUAL = 57423
const IS = 57424
const LIKE = 57425
const REGEXP = 57426
const IN = 57427
const SHIFT_LEFT = 57428
const SHIFT_RIGHT = 57429
const DIV = 57430
const MOD = 57431
const UNARY = 57432
const COLLATE = 57433
const BINARY = 57434
const UNDERSCORE_BINARY = 57435
const UNDERSCORE_UTF8MB4 = 57436
const INTERVAL = 57437
const JSON_EXTRACT_OP = 57438
const JSON_UNQUOTE_EXTRACT_OP = 57439
const CREATE = 57440
const ALTER = 57441
const DROP = 57442
const RENAME = 57443
const ANALYZE = 57444
const ADD = 57445
martianzhang's avatar
martianzhang 已提交
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
const FLUSH = 57446
const SCHEMA = 57447
const TABLE = 57448
const INDEX = 57449
const VIEW = 57450
const TO = 57451
const IGNORE = 57452
const IF = 57453
const UNIQUE = 57454
const PRIMARY = 57455
const COLUMN = 57456
const SPATIAL = 57457
const FULLTEXT = 57458
const KEY_BLOCK_SIZE = 57459
const ACTION = 57460
const CASCADE = 57461
const CONSTRAINT = 57462
const FOREIGN = 57463
const NO = 57464
const REFERENCES = 57465
const RESTRICT = 57466
const SHOW = 57467
const DESCRIBE = 57468
const EXPLAIN = 57469
const DATE = 57470
const ESCAPE = 57471
const REPAIR = 57472
const OPTIMIZE = 57473
const TRUNCATE = 57474
const MAXVALUE = 57475
const PARTITION = 57476
const REORGANIZE = 57477
const LESS = 57478
const THAN = 57479
const PROCEDURE = 57480
const TRIGGER = 57481
const VINDEX = 57482
const VINDEXES = 57483
const STATUS = 57484
const VARIABLES = 57485
L
liipx 已提交
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
const WARNINGS = 57486
const BEGIN = 57487
const START = 57488
const TRANSACTION = 57489
const COMMIT = 57490
const ROLLBACK = 57491
const BIT = 57492
const TINYINT = 57493
const SMALLINT = 57494
const MEDIUMINT = 57495
const INT = 57496
const INTEGER = 57497
const BIGINT = 57498
const INTNUM = 57499
const REAL = 57500
const DOUBLE = 57501
const FLOAT_TYPE = 57502
const DECIMAL = 57503
const NUMERIC = 57504
const TIME = 57505
const TIMESTAMP = 57506
const DATETIME = 57507
const YEAR = 57508
const CHAR = 57509
const VARCHAR = 57510
const BOOL = 57511
const CHARACTER = 57512
const VARBINARY = 57513
const NCHAR = 57514
const TEXT = 57515
const TINYTEXT = 57516
const MEDIUMTEXT = 57517
const LONGTEXT = 57518
const BLOB = 57519
const TINYBLOB = 57520
const MEDIUMBLOB = 57521
const LONGBLOB = 57522
const JSON = 57523
const ENUM = 57524
const GEOMETRY = 57525
const POINT = 57526
const LINESTRING = 57527
const POLYGON = 57528
const GEOMETRYCOLLECTION = 57529
const MULTIPOINT = 57530
const MULTILINESTRING = 57531
const MULTIPOLYGON = 57532
const NULLX = 57533
const AUTO_INCREMENT = 57534
const APPROXNUM = 57535
const SIGNED = 57536
const UNSIGNED = 57537
const ZEROFILL = 57538
const COLLATION = 57539
const DATABASES = 57540
const TABLES = 57541
const VITESS_KEYSPACES = 57542
const VITESS_SHARDS = 57543
const VITESS_TABLETS = 57544
const VSCHEMA_TABLES = 57545
const VITESS_TARGET = 57546
const FULL = 57547
const PROCESSLIST = 57548
const COLUMNS = 57549
const FIELDS = 57550
const NAMES = 57551
const CHARSET = 57552
const GLOBAL = 57553
const SESSION = 57554
const ISOLATION = 57555
const LEVEL = 57556
const READ = 57557
const WRITE = 57558
const ONLY = 57559
const REPEATABLE = 57560
const COMMITTED = 57561
const UNCOMMITTED = 57562
const SERIALIZABLE = 57563
const CURRENT_TIMESTAMP = 57564
const DATABASE = 57565
const CURRENT_DATE = 57566
const CURRENT_TIME = 57567
const LOCALTIME = 57568
const LOCALTIMESTAMP = 57569
const UTC_DATE = 57570
const UTC_TIME = 57571
const UTC_TIMESTAMP = 57572
const REPLACE = 57573
const CONVERT = 57574
const CAST = 57575
const SUBSTR = 57576
const SUBSTRING = 57577
const GROUP_CONCAT = 57578
const SEPARATOR = 57579
const MATCH = 57580
const AGAINST = 57581
const BOOLEAN = 57582
const LANGUAGE = 57583
const WITH = 57584
const QUERY = 57585
const EXPANSION = 57586
const UNUSED = 57587
martianzhang's avatar
martianzhang 已提交
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

var yyToknames = [...]string{
	"$end",
	"error",
	"$unk",
	"LEX_ERROR",
	"UNION",
	"SELECT",
	"STREAM",
	"INSERT",
	"UPDATE",
	"DELETE",
	"FROM",
	"WHERE",
	"GROUP",
	"HAVING",
	"ORDER",
	"BY",
	"LIMIT",
	"OFFSET",
	"FOR",
	"ALL",
	"DISTINCT",
	"AS",
	"EXISTS",
	"ASC",
	"DESC",
	"INTO",
	"DUPLICATE",
	"KEY",
	"DEFAULT",
	"SET",
	"LOCK",
	"UNLOCK",
	"KEYS",
	"VALUES",
	"LAST_INSERT_ID",
	"NEXT",
	"VALUE",
	"SHARE",
	"MODE",
	"SQL_NO_CACHE",
	"SQL_CACHE",
	"JOIN",
	"STRAIGHT_JOIN",
	"LEFT",
	"RIGHT",
	"INNER",
	"OUTER",
	"CROSS",
	"NATURAL",
	"USE",
	"FORCE",
	"ON",
	"USING",
	"'('",
	"','",
	"')'",
	"ID",
	"HEX",
	"STRING",
	"INTEGRAL",
	"FLOAT",
	"HEXNUM",
	"VALUE_ARG",
	"LIST_ARG",
	"COMMENT",
	"COMMENT_KEYWORD",
	"BIT_LITERAL",
	"NULL",
	"TRUE",
	"FALSE",
	"OFF",
	"OR",
	"AND",
	"NOT",
	"'!'",
	"BETWEEN",
	"CASE",
	"WHEN",
	"THEN",
	"ELSE",
	"END",
	"'='",
	"'<'",
	"'>'",
	"LE",
	"GE",
	"NE",
	"NULL_SAFE_EQUAL",
	"IS",
	"LIKE",
	"REGEXP",
	"IN",
	"'|'",
	"'&'",
	"SHIFT_LEFT",
	"SHIFT_RIGHT",
	"'+'",
	"'-'",
	"'*'",
	"'/'",
	"DIV",
	"'%'",
	"MOD",
	"'^'",
	"'~'",
	"UNARY",
	"COLLATE",
	"BINARY",
	"UNDERSCORE_BINARY",
	"UNDERSCORE_UTF8MB4",
	"INTERVAL",
	"'.'",
	"JSON_EXTRACT_OP",
	"JSON_UNQUOTE_EXTRACT_OP",
	"CREATE",
	"ALTER",
	"DROP",
	"RENAME",
	"ANALYZE",
	"ADD",
martianzhang's avatar
martianzhang 已提交
472
	"FLUSH",
martianzhang's avatar
martianzhang 已提交
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
	"SCHEMA",
	"TABLE",
	"INDEX",
	"VIEW",
	"TO",
	"IGNORE",
	"IF",
	"UNIQUE",
	"PRIMARY",
	"COLUMN",
	"SPATIAL",
	"FULLTEXT",
	"KEY_BLOCK_SIZE",
	"ACTION",
	"CASCADE",
	"CONSTRAINT",
	"FOREIGN",
	"NO",
	"REFERENCES",
	"RESTRICT",
	"SHOW",
	"DESCRIBE",
	"EXPLAIN",
	"DATE",
	"ESCAPE",
	"REPAIR",
	"OPTIMIZE",
	"TRUNCATE",
	"MAXVALUE",
	"PARTITION",
	"REORGANIZE",
	"LESS",
	"THAN",
	"PROCEDURE",
	"TRIGGER",
	"VINDEX",
	"VINDEXES",
	"STATUS",
	"VARIABLES",
L
liipx 已提交
512
	"WARNINGS",
martianzhang's avatar
martianzhang 已提交
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
	"BEGIN",
	"START",
	"TRANSACTION",
	"COMMIT",
	"ROLLBACK",
	"BIT",
	"TINYINT",
	"SMALLINT",
	"MEDIUMINT",
	"INT",
	"INTEGER",
	"BIGINT",
	"INTNUM",
	"REAL",
	"DOUBLE",
	"FLOAT_TYPE",
	"DECIMAL",
	"NUMERIC",
	"TIME",
	"TIMESTAMP",
	"DATETIME",
	"YEAR",
	"CHAR",
	"VARCHAR",
	"BOOL",
	"CHARACTER",
	"VARBINARY",
	"NCHAR",
	"TEXT",
	"TINYTEXT",
	"MEDIUMTEXT",
	"LONGTEXT",
	"BLOB",
	"TINYBLOB",
	"MEDIUMBLOB",
	"LONGBLOB",
	"JSON",
	"ENUM",
	"GEOMETRY",
	"POINT",
	"LINESTRING",
	"POLYGON",
	"GEOMETRYCOLLECTION",
	"MULTIPOINT",
	"MULTILINESTRING",
	"MULTIPOLYGON",
	"NULLX",
	"AUTO_INCREMENT",
	"APPROXNUM",
	"SIGNED",
	"UNSIGNED",
	"ZEROFILL",
	"COLLATION",
	"DATABASES",
	"TABLES",
	"VITESS_KEYSPACES",
	"VITESS_SHARDS",
	"VITESS_TABLETS",
	"VSCHEMA_TABLES",
	"VITESS_TARGET",
	"FULL",
	"PROCESSLIST",
	"COLUMNS",
	"FIELDS",
	"NAMES",
	"CHARSET",
	"GLOBAL",
	"SESSION",
	"ISOLATION",
	"LEVEL",
	"READ",
	"WRITE",
	"ONLY",
	"REPEATABLE",
	"COMMITTED",
	"UNCOMMITTED",
	"SERIALIZABLE",
	"CURRENT_TIMESTAMP",
	"DATABASE",
	"CURRENT_DATE",
	"CURRENT_TIME",
	"LOCALTIME",
	"LOCALTIMESTAMP",
	"UTC_DATE",
	"UTC_TIME",
	"UTC_TIMESTAMP",
	"REPLACE",
	"CONVERT",
	"CAST",
	"SUBSTR",
	"SUBSTRING",
	"GROUP_CONCAT",
	"SEPARATOR",
	"MATCH",
	"AGAINST",
	"BOOLEAN",
	"LANGUAGE",
	"WITH",
	"QUERY",
	"EXPANSION",
	"UNUSED",
	"';'",
}
var yyStatenames = [...]string{}

const yyEofCode = 1
const yyErrCode = 2
const yyInitialStackSize = 16

//line yacctab:1
var yyExca = [...]int{
	-1, 1,
	1, -1,
	-2, 0,
	-1, 3,
martianzhang's avatar
martianzhang 已提交
628
	5, 29,
martianzhang's avatar
martianzhang 已提交
629
	-2, 4,
martianzhang's avatar
martianzhang 已提交
630
	-1, 37,
L
liipx 已提交
631 632 633
	159, 294,
	160, 294,
	-2, 284,
L
liipx 已提交
634
	-1, 262,
L
liipx 已提交
635 636
	112, 624,
	-2, 620,
L
liipx 已提交
637
	-1, 263,
L
liipx 已提交
638 639
	112, 625,
	-2, 621,
L
liipx 已提交
640
	-1, 326,
L
liipx 已提交
641
	82, 793,
martianzhang's avatar
martianzhang 已提交
642
	-2, 60,
L
liipx 已提交
643
	-1, 327,
L
liipx 已提交
644
	82, 751,
martianzhang's avatar
martianzhang 已提交
645
	-2, 61,
L
liipx 已提交
646
	-1, 332,
L
liipx 已提交
647
	82, 731,
L
liipx 已提交
648
	-2, 586,
L
liipx 已提交
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
	-1, 334,
	82, 772,
	-2, 588,
	-1, 587,
	1, 346,
	5, 346,
	12, 346,
	13, 346,
	14, 346,
	15, 346,
	17, 346,
	19, 346,
	30, 346,
	31, 346,
	42, 346,
	43, 346,
	44, 346,
	45, 346,
	46, 346,
	48, 346,
	49, 346,
	52, 346,
	53, 346,
	55, 346,
	56, 346,
	263, 346,
	-2, 364,
	-1, 590,
martianzhang's avatar
martianzhang 已提交
677 678 679
	53, 43,
	55, 43,
	-2, 45,
L
liipx 已提交
680 681 682 683
	-1, 727,
	112, 627,
	-2, 623,
	-1, 940,
martianzhang's avatar
martianzhang 已提交
684
	5, 30,
L
liipx 已提交
685 686
	-2, 430,
	-1, 965,
martianzhang's avatar
martianzhang 已提交
687
	5, 29,
L
liipx 已提交
688 689
	-2, 560,
	-1, 1207,
martianzhang's avatar
martianzhang 已提交
690 691
	5, 30,
	-2, 561,
L
liipx 已提交
692 693 694 695
	-1, 1257,
	5, 29,
	-2, 563,
	-1, 1330,
L
liipx 已提交
696
	5, 30,
L
liipx 已提交
697
	-2, 564,
martianzhang's avatar
martianzhang 已提交
698 699 700 701
}

const yyPrivate = 57344

L
liipx 已提交
702
const yyLast = 11224
martianzhang's avatar
martianzhang 已提交
703 704 705

var yyAct = [...]int{

L
liipx 已提交
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
	263, 1365, 1355, 1321, 878, 662, 968, 1227, 552, 267,
	1269, 1107, 986, 1141, 969, 1104, 1037, 828, 293, 829,
	806, 804, 906, 57, 838, 1108, 1120, 872, 551, 3,
	825, 1114, 82, 1011, 1081, 932, 204, 331, 762, 204,
	992, 759, 600, 241, 752, 692, 1040, 1028, 793, 232,
	778, 729, 294, 51, 842, 808, 484, 490, 430, 584,
	852, 496, 583, 265, 868, 599, 325, 204, 82, 320,
	786, 914, 204, 504, 204, 322, 82, 250, 56, 1358,
	240, 1342, 1353, 462, 566, 1328, 1350, 895, 879, 1341,
	1099, 1201, 435, 1327, 233, 234, 235, 236, 1280, 858,
	239, 894, 254, 601, 51, 602, 457, 199, 195, 196,
	197, 1135, 246, 1136, 1137, 269, 1296, 517, 516, 526,
	527, 519, 520, 521, 522, 523, 524, 525, 518, 899,
	819, 528, 260, 61, 238, 1149, 1150, 1151, 893, 999,
	237, 475, 998, 1154, 1152, 1000, 820, 821, 476, 473,
	474, 1019, 851, 1230, 1246, 859, 761, 231, 1190, 63,
	64, 65, 66, 67, 1188, 468, 469, 1352, 1349, 1322,
	1082, 1061, 459, 787, 461, 445, 1312, 843, 1373, 987,
	989, 1270, 446, 438, 1369, 192, 193, 193, 890, 887,
	888, 1062, 886, 204, 1272, 204, 671, 1130, 845, 661,
	441, 204, 1278, 1058, 458, 460, 845, 1084, 204, 1060,
	1129, 1128, 82, 82, 82, 82, 433, 82, 207, 194,
	540, 541, 1301, 897, 900, 198, 1210, 82, 1068, 521,
	522, 523, 524, 525, 518, 1012, 948, 528, 926, 701,
	1086, 1158, 1090, 508, 1085, 452, 1083, 518, 826, 528,
	528, 1088, 693, 698, 502, 501, 988, 82, 431, 892,
	1087, 1103, 1271, 908, 463, 463, 463, 463, 492, 463,
	501, 503, 503, 1089, 1091, 493, 1310, 70, 1168, 463,
	1118, 891, 603, 1297, 859, 1101, 503, 480, 481, 456,
	1367, 429, 1159, 1368, 844, 1366, 465, 466, 467, 51,
	470, 1326, 844, 1279, 1277, 1059, 944, 1057, 943, 437,
	479, 502, 501, 71, 537, 1153, 779, 539, 204, 204,
	204, 896, 736, 848, 82, 502, 501, 845, 503, 849,
	82, 665, 482, 694, 898, 945, 734, 735, 733, 1017,
	582, 907, 503, 1315, 779, 550, 955, 554, 555, 556,
	557, 558, 559, 560, 561, 562, 431, 565, 567, 567,
	567, 567, 567, 567, 567, 567, 575, 576, 577, 578,
	498, 588, 1332, 448, 449, 450, 719, 721, 722, 191,
	538, 494, 720, 1237, 1236, 502, 501, 439, 440, 591,
	54, 568, 569, 570, 571, 572, 573, 574, 1032, 597,
	732, 1031, 503, 542, 543, 544, 545, 546, 547, 548,
	549, 517, 516, 526, 527, 519, 520, 521, 522, 523,
	524, 525, 518, 844, 1020, 528, 704, 705, 841, 839,
	204, 840, 1374, 22, 587, 82, 837, 843, 923, 924,
	925, 204, 204, 82, 317, 318, 204, 1334, 753, 204,
	754, 1311, 1001, 204, 1002, 82, 82, 82, 82, 82,
	82, 82, 82, 464, 933, 1253, 1234, 1065, 1029, 82,
	82, 1375, 1275, 1351, 502, 501, 1338, 483, 204, 519,
	520, 521, 522, 523, 524, 525, 518, 463, 292, 528,
	680, 503, 1308, 245, 1012, 463, 82, 1275, 1319, 483,
	204, 1275, 483, 1275, 1302, 1335, 82, 463, 463, 463,
	463, 463, 463, 463, 463, 672, 1275, 1274, 660, 1007,
	80, 463, 463, 24, 678, 881, 669, 1225, 1224, 1285,
	730, 328, 1212, 483, 1209, 483, 706, 755, 681, 682,
	683, 684, 685, 686, 687, 688, 727, 963, 700, 677,
	82, 964, 689, 690, 676, 666, 330, 283, 282, 285,
	286, 287, 288, 664, 436, 659, 284, 289, 454, 771,
	774, 54, 708, 1165, 1164, 780, 1161, 1162, 594, 723,
	725, 204, 447, 766, 1284, 699, 1161, 1160, 1281, 204,
	204, 483, 51, 204, 204, 938, 483, 82, 790, 483,
	764, 483, 502, 501, 756, 757, 1155, 554, 610, 609,
	82, 846, 1105, 1117, 814, 1117, 764, 1205, 783, 503,
	595, 790, 593, 993, 776, 24, 1167, 731, 517, 516,
	526, 527, 519, 520, 521, 522, 523, 524, 525, 518,
	24, 805, 528, 728, 993, 588, 737, 738, 739, 740,
	741, 742, 743, 744, 745, 746, 747, 748, 749, 750,
	751, 812, 204, 816, 817, 82, 790, 82, 1256, 833,
	58, 204, 204, 54, 789, 204, 82, 1163, 1071, 950,
	854, 855, 856, 857, 1003, 818, 874, 1117, 54, 947,
	938, 813, 204, 593, 204, 204, 865, 866, 867, 790,
	330, 330, 330, 330, 587, 330, 593, 596, 587, 702,
	938, 670, 767, 768, 247, 330, 54, 463, 775, 463,
	870, 871, 938, 949, 860, 861, 862, 1343, 463, 1197,
	483, 1318, 782, 946, 784, 785, 1241, 1232, 853, 727,
	795, 798, 799, 800, 796, 506, 797, 801, 882, 1217,
	884, 873, 730, 1146, 1121, 1122, 1127, 1006, 869, 904,
	915, 864, 54, 916, 863, 663, 876, 517, 516, 526,
	527, 519, 520, 521, 522, 523, 524, 525, 518, 927,
	1360, 528, 1356, 1148, 1124, 928, 1105, 328, 1033, 674,
	477, 204, 204, 204, 204, 204, 980, 978, 1126, 970,
	714, 981, 979, 204, 977, 982, 204, 799, 800, 976,
	204, 1347, 330, 1340, 204, 965, 251, 252, 605, 1067,
	911, 497, 1346, 921, 920, 485, 707, 1024, 954, 82,
	1203, 608, 455, 1016, 766, 994, 495, 486, 1317, 966,
	967, 1316, 1254, 588, 588, 588, 588, 588, 1004, 731,
	983, 972, 973, 971, 975, 995, 974, 1014, 805, 1008,
	990, 996, 1242, 883, 673, 991, 588, 929, 930, 931,
	922, 803, 248, 249, 497, 919, 1013, 82, 82, 242,
	82, 1290, 243, 918, 763, 765, 58, 1289, 1244, 1023,
	993, 1025, 1026, 1027, 478, 1009, 1010, 1362, 1361, 62,
	781, 691, 499, 1362, 82, 1298, 587, 587, 587, 587,
	587, 1231, 1030, 697, 60, 592, 55, 937, 204, 1,
	1354, 587, 880, 330, 1036, 889, 1320, 82, 1268, 587,
	463, 330, 1140, 952, 1053, 1039, 836, 827, 69, 428,
	68, 1309, 835, 330, 330, 330, 330, 330, 330, 330,
	330, 1064, 834, 1276, 1021, 1022, 463, 330, 330, 1229,
	847, 1035, 1018, 850, 1147, 1075, 1314, 82, 82, 1074,
	1106, 1015, 726, 970, 616, 614, 1100, 1080, 615, 613,
	1093, 618, 617, 1109, 710, 612, 727, 1063, 215, 1092,
	323, 82, 802, 604, 506, 1111, 875, 330, 500, 72,
	1056, 1125, 1055, 885, 82, 471, 82, 82, 472, 1116,
	217, 536, 256, 917, 997, 329, 1132, 1110, 1112, 51,
	703, 1138, 1131, 489, 1288, 1139, 1243, 953, 563, 777,
	268, 718, 1143, 281, 204, 1134, 278, 280, 758, 279,
	709, 962, 82, 1144, 1145, 510, 266, 258, 772, 772,
	586, 579, 1156, 1157, 772, 82, 204, 794, 792, 791,
	328, 1123, 82, 204, 1119, 585, 1077, 1078, 1070, 82,
	1200, 1295, 204, 830, 713, 26, 59, 253, 19, 1094,
	1095, 18, 1097, 1098, 17, 330, 20, 1177, 935, 16,
	1169, 15, 936, 1179, 14, 443, 30, 21, 330, 940,
	941, 942, 13, 1171, 12, 11, 1174, 10, 951, 9,
	8, 1178, 7, 957, 1186, 958, 959, 960, 961, 6,
	5, 4, 1204, 244, 588, 23, 2, 970, 0, 0,
	0, 0, 1214, 0, 0, 0, 0, 985, 0, 82,
	1213, 0, 0, 1183, 1184, 0, 1185, 82, 0, 1187,
	0, 1189, 1199, 330, 0, 330, 0, 0, 1004, 0,
	0, 0, 0, 0, 330, 726, 488, 82, 82, 82,
	0, 0, 0, 0, 0, 0, 1223, 0, 0, 0,
	589, 1219, 1220, 1221, 1239, 0, 0, 587, 1240, 0,
	330, 516, 526, 527, 519, 520, 521, 522, 523, 524,
	525, 518, 202, 1226, 528, 230, 0, 0, 0, 1181,
	82, 82, 0, 82, 0, 0, 201, 0, 82, 463,
	82, 82, 82, 204, 1109, 1263, 82, 1264, 1265, 1266,
	257, 1255, 0, 202, 0, 0, 0, 1257, 202, 1273,
	202, 0, 82, 1267, 0, 0, 0, 321, 0, 1286,
	1238, 0, 432, 0, 434, 487, 491, 1262, 1110, 0,
	1233, 1258, 1235, 0, 1282, 0, 1283, 0, 1299, 0,
	1079, 0, 509, 0, 0, 1109, 82, 0, 772, 1307,
	1306, 0, 0, 0, 1245, 0, 0, 1300, 0, 0,
	0, 0, 830, 1048, 0, 1287, 0, 0, 0, 1324,
	0, 0, 82, 0, 0, 1329, 0, 553, 970, 1110,
	0, 51, 0, 204, 0, 0, 564, 330, 0, 0,
	0, 0, 1046, 82, 0, 1336, 0, 1247, 1248, 0,
	1249, 1250, 1251, 0, 0, 0, 0, 0, 0, 0,
	0, 1344, 1345, 1038, 82, 0, 0, 0, 0, 0,
	0, 1348, 0, 0, 0, 0, 0, 1359, 0, 202,
	0, 202, 0, 0, 1370, 1034, 330, 202, 330, 0,
	0, 0, 0, 442, 202, 444, 795, 798, 799, 800,
	796, 451, 797, 801, 0, 0, 1121, 1122, 453, 1047,
	1073, 0, 330, 0, 1052, 1049, 1042, 1050, 1045, 0,
	1048, 0, 1043, 1044, 0, 1357, 0, 1180, 0, 0,
	0, 0, 1096, 0, 1182, 330, 1051, 0, 0, 0,
	0, 0, 1054, 0, 0, 1191, 1192, 1193, 0, 1046,
	1196, 0, 0, 0, 0, 0, 0, 330, 0, 0,
	0, 0, 0, 1206, 1207, 1208, 0, 1211, 0, 0,
	0, 0, 772, 0, 0, 1113, 1115, 0, 0, 0,
	0, 0, 0, 0, 1222, 0, 0, 830, 0, 830,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 1115,
	0, 0, 0, 0, 202, 202, 202, 0, 0, 0,
	1363, 696, 330, 0, 330, 1142, 1047, 0, 581, 0,
	590, 1052, 1049, 1042, 1050, 1045, 0, 0, 0, 1043,
	1044, 0, 0, 0, 716, 717, 0, 0, 0, 0,
	0, 0, 0, 1051, 0, 0, 0, 0, 0, 1041,
	1170, 0, 1073, 1252, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 1172, 0, 0, 0, 0, 0, 0,
	1175, 0, 0, 0, 0, 0, 0, 330, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 553, 0, 0,
	769, 770, 0, 0, 0, 0, 0, 0, 0, 0,
	1291, 1292, 1293, 1294, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 202, 1303, 1304, 1305,
	0, 0, 830, 0, 0, 0, 772, 202, 202, 0,
	611, 0, 202, 0, 0, 202, 824, 0, 0, 679,
	0, 667, 668, 0, 0, 0, 321, 330, 1325, 675,
	0, 1038, 830, 1330, 0, 1228, 0, 0, 0, 0,
	0, 0, 0, 0, 202, 0, 0, 0, 0, 0,
	0, 0, 0, 1337, 0, 330, 330, 330, 695, 0,
	0, 1076, 0, 0, 0, 0, 202, 0, 0, 0,
	0, 0, 0, 0, 0, 679, 0, 0, 0, 0,
	715, 517, 516, 526, 527, 519, 520, 521, 522, 523,
	524, 525, 518, 0, 0, 528, 1371, 1372, 1259, 1260,
	0, 1261, 0, 0, 0, 0, 1228, 0, 1228, 1228,
	1228, 0, 912, 913, 1142, 491, 0, 257, 0, 0,
	0, 0, 257, 257, 0, 0, 773, 773, 257, 0,
	1228, 0, 773, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 257, 257, 257, 257, 0, 202, 0, 0,
	0, 0, 0, 0, 0, 202, 810, 0, 0, 202,
	202, 788, 0, 0, 1313, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 815, 0, 0, 939, 0, 0,
	0, 24, 25, 52, 27, 28, 0, 772, 0, 0,
	1331, 0, 956, 0, 0, 0, 0, 0, 0, 0,
	43, 0, 0, 0, 0, 29, 48, 49, 0, 0,
	0, 1339, 526, 527, 519, 520, 521, 522, 523, 524,
	525, 518, 0, 213, 528, 38, 0, 0, 202, 54,
	0, 0, 1228, 0, 0, 0, 0, 202, 202, 0,
	0, 202, 877, 0, 0, 0, 0, 226, 0, 0,
	0, 901, 902, 0, 0, 903, 0, 0, 202, 0,
	909, 910, 0, 0, 0, 0, 0, 0, 679, 0,
	0, 0, 905, 0, 0, 0, 0, 0, 0, 0,
	257, 0, 0, 0, 0, 0, 0, 633, 0, 0,
	31, 32, 34, 33, 36, 0, 50, 0, 208, 0,
	0, 0, 0, 0, 0, 210, 0, 0, 0, 0,
	0, 0, 0, 216, 212, 0, 0, 37, 44, 45,
	0, 1066, 46, 47, 35, 0, 0, 257, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 39, 40, 0,
	41, 42, 0, 257, 0, 214, 1194, 483, 218, 0,
	0, 225, 0, 0, 0, 0, 773, 202, 202, 202,
	202, 202, 0, 0, 0, 621, 0, 0, 1102, 984,
	0, 0, 202, 0, 0, 0, 810, 209, 0, 0,
	202, 0, 0, 0, 517, 516, 526, 527, 519, 520,
	521, 522, 523, 524, 525, 518, 0, 1198, 528, 0,
	0, 0, 634, 0, 219, 211, 1133, 220, 221, 222,
	224, 223, 229, 0, 0, 0, 0, 0, 228, 227,
	0, 0, 0, 53, 647, 648, 649, 650, 651, 652,
	653, 0, 654, 655, 656, 657, 658, 635, 636, 637,
	638, 619, 620, 0, 0, 622, 0, 623, 624, 625,
	626, 627, 628, 629, 630, 631, 632, 639, 640, 641,
	642, 643, 644, 645, 646, 0, 0, 0, 0, 0,
	0, 517, 516, 526, 527, 519, 520, 521, 522, 523,
	524, 525, 518, 0, 202, 528, 0, 0, 0, 0,
	0, 0, 0, 1195, 257, 0, 0, 0, 1069, 0,
	0, 0, 0, 0, 0, 257, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 679, 1202, 0, 0, 0,
	0, 0, 0, 553, 0, 0, 0, 0, 0, 0,
	773, 1215, 0, 512, 1216, 515, 0, 1218, 0, 0,
	0, 529, 530, 531, 532, 533, 534, 535, 0, 513,
	514, 511, 517, 516, 526, 527, 519, 520, 521, 522,
	523, 524, 525, 518, 0, 0, 528, 517, 516, 526,
	527, 519, 520, 521, 522, 523, 524, 525, 518, 0,
	0, 528, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 138, 0, 0, 0, 0, 0, 0, 0,
	202, 103, 0, 0, 0, 0, 0, 119, 0, 121,
	0, 0, 157, 130, 1166, 0, 0, 0, 0, 0,
	0, 0, 202, 0, 934, 0, 0, 0, 0, 202,
	0, 81, 0, 0, 0, 0, 1173, 0, 202, 0,
	96, 0, 0, 1176, 517, 516, 526, 527, 519, 520,
	521, 522, 523, 524, 525, 518, 0, 0, 528, 0,
	0, 0, 0, 0, 0, 0, 0, 517, 516, 526,
	527, 519, 520, 521, 522, 523, 524, 525, 518, 0,
	0, 528, 0, 0, 773, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 108, 0, 0, 0, 205,
	0, 0, 1323, 553, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 0, 0, 0, 99,
	0, 151, 140, 173, 0, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
	131, 133, 0, 0, 0, 158, 175, 190, 94, 810,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 517, 516, 526, 527, 519, 520, 521,
	522, 523, 524, 525, 518, 0, 0, 528, 0, 0,
	83, 0, 120, 187, 146, 105, 176, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
950 951
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
952 953
	0, 0, 0, 0, 0, 773, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 202,
martianzhang's avatar
martianzhang 已提交
954
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
955 956 957 958 959 960 961 962 963 964 965 966 967 968 969
	0, 416, 407, 1333, 378, 419, 356, 370, 427, 371,
	372, 400, 342, 386, 138, 368, 0, 359, 337, 365,
	338, 357, 380, 103, 383, 355, 409, 389, 418, 119,
	425, 121, 394, 0, 157, 130, 0, 0, 382, 411,
	384, 405, 377, 401, 347, 393, 420, 369, 398, 421,
	0, 0, 0, 81, 0, 831, 832, 0, 0, 0,
	0, 0, 96, 0, 396, 415, 367, 397, 399, 336,
	395, 0, 340, 343, 426, 413, 362, 363, 1005, 0,
	0, 0, 0, 0, 0, 381, 385, 402, 375, 0,
	0, 0, 0, 0, 0, 0, 0, 360, 0, 392,
	0, 0, 0, 344, 341, 0, 0, 379, 0, 0,
	0, 346, 0, 361, 403, 0, 335, 108, 406, 412,
	376, 205, 414, 374, 373, 417, 144, 0, 160, 110,
	118, 84, 90, 0, 109, 136, 149, 153, 410, 358,
	366, 99, 364, 151, 140, 173, 391, 141, 150, 122,
L
liipx 已提交
970 971
	165, 145, 172, 206, 180, 162, 179, 186, 85, 161,
	171, 97, 154, 87, 169, 159, 128, 114, 115, 86,
L
liipx 已提交
972
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
L
liipx 已提交
973 974
	91, 178, 89, 92, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
L
liipx 已提交
975 976
	112, 132, 131, 133, 0, 339, 0, 158, 175, 190,
	94, 354, 163, 181, 182, 183, 184, 185, 0, 0,
L
liipx 已提交
977
	95, 107, 134, 93, 113, 155, 116, 123, 147, 188,
L
liipx 已提交
978 979 980
	139, 152, 98, 174, 156, 350, 353, 348, 349, 387,
	388, 422, 423, 424, 404, 345, 0, 351, 352, 0,
	408, 390, 83, 0, 120, 187, 146, 105, 176, 416,
L
liipx 已提交
981
	407, 0, 378, 419, 356, 370, 427, 371, 372, 400,
L
liipx 已提交
982
	342, 386, 138, 368, 0, 359, 337, 365, 338, 357,
L
liipx 已提交
983 984 985
	380, 103, 383, 355, 409, 389, 418, 119, 425, 121,
	394, 0, 157, 130, 0, 0, 382, 411, 384, 405,
	377, 401, 347, 393, 420, 369, 398, 421, 0, 0,
L
liipx 已提交
986
	0, 81, 0, 831, 832, 0, 0, 0, 0, 0,
L
liipx 已提交
987
	96, 0, 396, 415, 367, 397, 399, 336, 395, 0,
L
liipx 已提交
988
	340, 343, 426, 413, 362, 363, 0, 0, 0, 0,
L
liipx 已提交
989
	0, 0, 0, 381, 385, 402, 375, 0, 0, 0,
L
liipx 已提交
990 991
	0, 0, 0, 0, 0, 360, 0, 392, 0, 0,
	0, 344, 341, 0, 0, 379, 0, 0, 0, 346,
L
liipx 已提交
992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010
	0, 361, 403, 0, 335, 108, 406, 412, 376, 205,
	414, 374, 373, 417, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 410, 358, 366, 99,
	364, 151, 140, 173, 391, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
	131, 133, 0, 339, 0, 158, 175, 190, 94, 354,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 350, 353, 348, 349, 387, 388, 422,
	423, 424, 404, 345, 0, 351, 352, 0, 408, 390,
	83, 0, 120, 187, 146, 105, 176, 416, 407, 0,
	378, 419, 356, 370, 427, 371, 372, 400, 342, 386,
	138, 368, 0, 359, 337, 365, 338, 357, 380, 103,
	383, 355, 409, 389, 418, 119, 425, 121, 394, 0,
	157, 130, 0, 0, 382, 411, 384, 405, 377, 401,
L
liipx 已提交
1011 1012
	347, 393, 420, 369, 398, 421, 54, 0, 0, 81,
	0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
L
liipx 已提交
1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036
	396, 415, 367, 397, 399, 336, 395, 0, 340, 343,
	426, 413, 362, 363, 0, 0, 0, 0, 0, 0,
	0, 381, 385, 402, 375, 0, 0, 0, 0, 0,
	0, 0, 0, 360, 0, 392, 0, 0, 0, 344,
	341, 0, 0, 379, 0, 0, 0, 346, 0, 361,
	403, 0, 335, 108, 406, 412, 376, 205, 414, 374,
	373, 417, 144, 0, 160, 110, 118, 84, 90, 0,
	109, 136, 149, 153, 410, 358, 366, 99, 364, 151,
	140, 173, 391, 141, 150, 122, 165, 145, 172, 206,
	180, 162, 179, 186, 85, 161, 171, 97, 154, 87,
	169, 159, 128, 114, 115, 86, 0, 148, 102, 106,
	101, 137, 166, 167, 100, 189, 91, 178, 89, 92,
	177, 135, 164, 170, 129, 126, 88, 168, 127, 125,
	117, 104, 111, 142, 124, 143, 112, 132, 131, 133,
	0, 339, 0, 158, 175, 190, 94, 354, 163, 181,
	182, 183, 184, 185, 0, 0, 95, 107, 134, 93,
	113, 155, 116, 123, 147, 188, 139, 152, 98, 174,
	156, 350, 353, 348, 349, 387, 388, 422, 423, 424,
	404, 345, 0, 351, 352, 0, 408, 390, 83, 0,
	120, 187, 146, 105, 176, 416, 407, 0, 378, 419,
	356, 370, 427, 371, 372, 400, 342, 386, 138, 368,
	0, 359, 337, 365, 338, 357, 380, 103, 383, 355,
	409, 389, 418, 119, 425, 121, 394, 0, 157, 130,
	0, 0, 382, 411, 384, 405, 377, 401, 347, 393,
L
liipx 已提交
1037
	420, 369, 398, 421, 0, 0, 0, 81, 0, 0,
L
liipx 已提交
1038 1039 1040
	0, 0, 0, 0, 0, 0, 96, 0, 396, 415,
	367, 397, 399, 336, 395, 0, 340, 343, 426, 413,
	362, 363, 0, 0, 0, 0, 0, 0, 0, 381,
L
liipx 已提交
1041
	385, 402, 375, 0, 0, 0, 0, 0, 0, 1072,
L
liipx 已提交
1042 1043 1044 1045 1046 1047 1048
	0, 360, 0, 392, 0, 0, 0, 344, 341, 0,
	0, 379, 0, 0, 0, 346, 0, 361, 403, 0,
	335, 108, 406, 412, 376, 205, 414, 374, 373, 417,
	144, 0, 160, 110, 118, 84, 90, 0, 109, 136,
	149, 153, 410, 358, 366, 99, 364, 151, 140, 173,
	391, 141, 150, 122, 165, 145, 172, 206, 180, 162,
	179, 186, 85, 161, 171, 97, 154, 87, 169, 159,
martianzhang's avatar
martianzhang 已提交
1049
	128, 114, 115, 86, 0, 148, 102, 106, 101, 137,
L
liipx 已提交
1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062
	166, 167, 100, 189, 91, 178, 89, 92, 177, 135,
	164, 170, 129, 126, 88, 168, 127, 125, 117, 104,
	111, 142, 124, 143, 112, 132, 131, 133, 0, 339,
	0, 158, 175, 190, 94, 354, 163, 181, 182, 183,
	184, 185, 0, 0, 95, 107, 134, 93, 113, 155,
	116, 123, 147, 188, 139, 152, 98, 174, 156, 350,
	353, 348, 349, 387, 388, 422, 423, 424, 404, 345,
	0, 351, 352, 0, 408, 390, 83, 0, 120, 187,
	146, 105, 176, 416, 407, 0, 378, 419, 356, 370,
	427, 371, 372, 400, 342, 386, 138, 368, 0, 359,
	337, 365, 338, 357, 380, 103, 383, 355, 409, 389,
	418, 119, 425, 121, 394, 0, 157, 130, 0, 0,
	382, 411, 384, 405, 377, 401, 347, 393, 420, 369,
L
liipx 已提交
1063
	398, 421, 0, 0, 0, 262, 0, 0, 0, 0,
L
liipx 已提交
1064 1065 1066
	0, 0, 0, 0, 96, 0, 396, 415, 367, 397,
	399, 336, 395, 0, 340, 343, 426, 413, 362, 363,
	0, 0, 0, 0, 0, 0, 0, 381, 385, 402,
L
liipx 已提交
1067
	375, 0, 0, 0, 0, 0, 0, 724, 0, 360,
L
liipx 已提交
1068 1069 1070
	0, 392, 0, 0, 0, 344, 341, 0, 0, 379,
	0, 0, 0, 346, 0, 361, 403, 0, 335, 108,
	406, 412, 376, 205, 414, 374, 373, 417, 144, 0,
martianzhang's avatar
martianzhang 已提交
1071
	160, 110, 118, 84, 90, 0, 109, 136, 149, 153,
L
liipx 已提交
1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088
	410, 358, 366, 99, 364, 151, 140, 173, 391, 141,
	150, 122, 165, 145, 172, 206, 180, 162, 179, 186,
	85, 161, 171, 97, 154, 87, 169, 159, 128, 114,
	115, 86, 0, 148, 102, 106, 101, 137, 166, 167,
	100, 189, 91, 178, 89, 92, 177, 135, 164, 170,
	129, 126, 88, 168, 127, 125, 117, 104, 111, 142,
	124, 143, 112, 132, 131, 133, 0, 339, 0, 158,
	175, 190, 94, 354, 163, 181, 182, 183, 184, 185,
	0, 0, 95, 107, 134, 93, 113, 155, 116, 123,
	147, 188, 139, 152, 98, 174, 156, 350, 353, 348,
	349, 387, 388, 422, 423, 424, 404, 345, 0, 351,
	352, 0, 408, 390, 83, 0, 120, 187, 146, 105,
	176, 416, 407, 0, 378, 419, 356, 370, 427, 371,
	372, 400, 342, 386, 138, 368, 0, 359, 337, 365,
	338, 357, 380, 103, 383, 355, 409, 389, 418, 119,
	425, 121, 394, 0, 157, 130, 0, 0, 382, 411,
	384, 405, 377, 401, 347, 393, 420, 369, 398, 421,
L
liipx 已提交
1089
	0, 0, 0, 81, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1090 1091 1092
	0, 0, 96, 0, 396, 415, 367, 397, 399, 336,
	395, 0, 340, 343, 426, 413, 362, 363, 0, 0,
	0, 0, 0, 0, 0, 381, 385, 402, 375, 0,
L
liipx 已提交
1093
	0, 0, 0, 0, 0, 0, 0, 360, 0, 392,
L
liipx 已提交
1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114
	0, 0, 0, 344, 341, 0, 0, 379, 0, 0,
	0, 346, 0, 361, 403, 0, 335, 108, 406, 412,
	376, 205, 414, 374, 373, 417, 144, 0, 160, 110,
	118, 84, 90, 0, 109, 136, 149, 153, 410, 358,
	366, 99, 364, 151, 140, 173, 391, 141, 150, 122,
	165, 145, 172, 206, 180, 162, 179, 186, 85, 161,
	171, 97, 154, 87, 169, 159, 128, 114, 115, 86,
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
	91, 178, 89, 92, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
	112, 132, 131, 133, 0, 339, 0, 158, 175, 190,
	94, 354, 163, 181, 182, 183, 184, 185, 0, 0,
	95, 107, 134, 93, 113, 155, 116, 123, 147, 188,
	139, 152, 98, 174, 156, 350, 353, 348, 349, 387,
	388, 422, 423, 424, 404, 345, 0, 351, 352, 0,
	408, 390, 83, 0, 120, 187, 146, 105, 176, 416,
	407, 0, 378, 419, 356, 370, 427, 371, 372, 400,
	342, 386, 138, 368, 0, 359, 337, 365, 338, 357,
	380, 103, 383, 355, 409, 389, 418, 119, 425, 121,
	394, 0, 157, 130, 0, 0, 382, 411, 384, 405,
	377, 401, 347, 393, 420, 369, 398, 421, 0, 0,
L
liipx 已提交
1115
	0, 262, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128
	96, 0, 396, 415, 367, 397, 399, 336, 395, 0,
	340, 343, 426, 413, 362, 363, 0, 0, 0, 0,
	0, 0, 0, 381, 385, 402, 375, 0, 0, 0,
	0, 0, 0, 0, 0, 360, 0, 392, 0, 0,
	0, 344, 341, 0, 0, 379, 0, 0, 0, 346,
	0, 361, 403, 0, 335, 108, 406, 412, 376, 205,
	414, 374, 373, 417, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 410, 358, 366, 99,
	364, 151, 140, 173, 391, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
martianzhang's avatar
martianzhang 已提交
1129
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
L
liipx 已提交
1130 1131 1132 1133 1134 1135 1136 1137 1138 1139
	131, 133, 0, 339, 0, 158, 175, 190, 94, 354,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 350, 353, 348, 349, 387, 388, 422,
	423, 424, 404, 345, 0, 351, 352, 0, 408, 390,
	83, 0, 120, 187, 146, 105, 176, 416, 407, 0,
	378, 419, 356, 370, 427, 371, 372, 400, 342, 386,
	138, 368, 0, 359, 337, 365, 338, 357, 380, 103,
	383, 355, 409, 389, 418, 119, 425, 121, 394, 0,
	157, 130, 0, 0, 382, 411, 384, 405, 377, 401,
L
liipx 已提交
1140
	347, 393, 420, 369, 398, 421, 0, 0, 0, 81,
martianzhang's avatar
martianzhang 已提交
1141
	0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
L
liipx 已提交
1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152
	396, 415, 367, 397, 399, 336, 395, 0, 340, 343,
	426, 413, 362, 363, 0, 0, 0, 0, 0, 0,
	0, 381, 385, 402, 375, 0, 0, 0, 0, 0,
	0, 0, 0, 360, 0, 392, 0, 0, 0, 344,
	341, 0, 0, 379, 0, 0, 0, 346, 0, 361,
	403, 0, 335, 108, 406, 412, 376, 205, 414, 374,
	373, 417, 144, 0, 160, 110, 118, 84, 90, 0,
	109, 136, 149, 153, 410, 358, 366, 99, 364, 151,
	140, 173, 391, 141, 150, 122, 165, 145, 172, 206,
	180, 162, 179, 186, 85, 161, 171, 97, 154, 87,
	169, 159, 128, 114, 115, 86, 0, 148, 102, 106,
L
liipx 已提交
1153
	101, 137, 166, 167, 100, 189, 91, 178, 89, 333,
L
liipx 已提交
1154
	177, 135, 164, 170, 129, 126, 88, 168, 127, 125,
martianzhang's avatar
martianzhang 已提交
1155
	117, 104, 111, 142, 124, 143, 112, 132, 131, 133,
L
liipx 已提交
1156
	0, 339, 0, 158, 175, 190, 94, 354, 163, 181,
L
liipx 已提交
1157
	182, 183, 184, 185, 0, 0, 95, 107, 334, 332,
L
liipx 已提交
1158 1159 1160 1161 1162 1163 1164 1165
	113, 155, 116, 123, 147, 188, 139, 152, 98, 174,
	156, 350, 353, 348, 349, 387, 388, 422, 423, 424,
	404, 345, 0, 351, 352, 0, 408, 390, 83, 0,
	120, 187, 146, 105, 176, 416, 407, 0, 378, 419,
	356, 370, 427, 371, 372, 400, 342, 386, 138, 368,
	0, 359, 337, 365, 338, 357, 380, 103, 383, 355,
	409, 389, 418, 119, 425, 121, 394, 0, 157, 130,
	0, 0, 382, 411, 384, 405, 377, 401, 347, 393,
L
liipx 已提交
1166
	420, 369, 398, 421, 0, 0, 0, 203, 0, 0,
L
liipx 已提交
1167 1168 1169 1170 1171 1172 1173
	0, 0, 0, 0, 0, 0, 96, 0, 396, 415,
	367, 397, 399, 336, 395, 0, 340, 343, 426, 413,
	362, 363, 0, 0, 0, 0, 0, 0, 0, 381,
	385, 402, 375, 0, 0, 0, 0, 0, 0, 0,
	0, 360, 0, 392, 0, 0, 0, 344, 341, 0,
	0, 379, 0, 0, 0, 346, 0, 361, 403, 0,
	335, 108, 406, 412, 376, 205, 414, 374, 373, 417,
martianzhang's avatar
martianzhang 已提交
1174
	144, 0, 160, 110, 118, 84, 90, 0, 109, 136,
L
liipx 已提交
1175 1176 1177 1178
	149, 153, 410, 358, 366, 99, 364, 151, 140, 173,
	391, 141, 150, 122, 165, 145, 172, 206, 180, 162,
	179, 186, 85, 161, 171, 97, 154, 87, 169, 159,
	128, 114, 115, 86, 0, 148, 102, 106, 101, 137,
L
liipx 已提交
1179
	166, 167, 100, 189, 91, 178, 89, 92, 177, 135,
L
liipx 已提交
1180 1181 1182
	164, 170, 129, 126, 88, 168, 127, 125, 117, 104,
	111, 142, 124, 143, 112, 132, 131, 133, 0, 339,
	0, 158, 175, 190, 94, 354, 163, 181, 182, 183,
L
liipx 已提交
1183
	184, 185, 0, 0, 95, 107, 134, 93, 113, 155,
L
liipx 已提交
1184 1185 1186 1187 1188 1189 1190 1191
	116, 123, 147, 188, 139, 152, 98, 174, 156, 350,
	353, 348, 349, 387, 388, 422, 423, 424, 404, 345,
	0, 351, 352, 0, 408, 390, 83, 0, 120, 187,
	146, 105, 176, 416, 407, 0, 378, 419, 356, 370,
	427, 371, 372, 400, 342, 386, 138, 368, 0, 359,
	337, 365, 338, 357, 380, 103, 383, 355, 409, 389,
	418, 119, 425, 121, 394, 0, 157, 130, 0, 0,
	382, 411, 384, 405, 377, 401, 347, 393, 420, 369,
L
liipx 已提交
1192
	398, 421, 0, 0, 0, 81, 0, 0, 0, 0,
L
liipx 已提交
1193 1194 1195 1196 1197 1198 1199
	0, 0, 0, 0, 96, 0, 396, 415, 367, 397,
	399, 336, 395, 0, 340, 343, 426, 413, 362, 363,
	0, 0, 0, 0, 0, 0, 0, 381, 385, 402,
	375, 0, 0, 0, 0, 0, 0, 0, 0, 360,
	0, 392, 0, 0, 0, 344, 341, 0, 0, 379,
	0, 0, 0, 346, 0, 361, 403, 0, 335, 108,
	406, 412, 376, 205, 414, 374, 373, 417, 144, 0,
martianzhang's avatar
martianzhang 已提交
1200
	160, 110, 118, 84, 90, 0, 109, 136, 149, 153,
L
liipx 已提交
1201 1202
	410, 358, 366, 99, 364, 151, 140, 173, 391, 141,
	150, 122, 165, 145, 172, 206, 180, 162, 179, 186,
L
liipx 已提交
1203
	85, 161, 598, 97, 154, 87, 169, 159, 128, 114,
L
liipx 已提交
1204
	115, 86, 0, 148, 102, 106, 101, 137, 166, 167,
L
liipx 已提交
1205
	100, 189, 91, 178, 89, 333, 177, 135, 164, 170,
L
liipx 已提交
1206 1207 1208
	129, 126, 88, 168, 127, 125, 117, 104, 111, 142,
	124, 143, 112, 132, 131, 133, 0, 339, 0, 158,
	175, 190, 94, 354, 163, 181, 182, 183, 184, 185,
L
liipx 已提交
1209
	0, 0, 95, 107, 334, 332, 113, 155, 116, 123,
L
liipx 已提交
1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228
	147, 188, 139, 152, 98, 174, 156, 350, 353, 348,
	349, 387, 388, 422, 423, 424, 404, 345, 0, 351,
	352, 0, 408, 390, 83, 0, 120, 187, 146, 105,
	176, 416, 407, 0, 378, 419, 356, 370, 427, 371,
	372, 400, 342, 386, 138, 368, 0, 359, 337, 365,
	338, 357, 380, 103, 383, 355, 409, 389, 418, 119,
	425, 121, 394, 0, 157, 130, 0, 0, 382, 411,
	384, 405, 377, 401, 347, 393, 420, 369, 398, 421,
	0, 0, 0, 81, 0, 0, 0, 0, 0, 0,
	0, 0, 96, 0, 396, 415, 367, 397, 399, 336,
	395, 0, 340, 343, 426, 413, 362, 363, 0, 0,
	0, 0, 0, 0, 0, 381, 385, 402, 375, 0,
	0, 0, 0, 0, 0, 0, 0, 360, 0, 392,
	0, 0, 0, 344, 341, 0, 0, 379, 0, 0,
	0, 346, 0, 361, 403, 0, 335, 108, 406, 412,
	376, 205, 414, 374, 373, 417, 144, 0, 160, 110,
	118, 84, 90, 0, 109, 136, 149, 153, 410, 358,
	366, 99, 364, 151, 140, 173, 391, 141, 150, 122,
	165, 145, 172, 206, 180, 162, 179, 186, 85, 161,
L
liipx 已提交
1229
	324, 97, 154, 87, 169, 159, 128, 114, 115, 86,
L
liipx 已提交
1230 1231 1232 1233 1234
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
	91, 178, 89, 333, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
	112, 132, 131, 133, 0, 339, 0, 158, 175, 190,
	94, 354, 163, 181, 182, 183, 184, 185, 0, 0,
L
liipx 已提交
1235
	95, 107, 334, 332, 327, 326, 116, 123, 147, 188,
L
liipx 已提交
1236 1237
	139, 152, 98, 174, 156, 350, 353, 348, 349, 387,
	388, 422, 423, 424, 404, 345, 0, 351, 352, 0,
L
liipx 已提交
1238 1239 1240 1241 1242 1243 1244
	408, 390, 83, 0, 120, 187, 146, 105, 176, 138,
	0, 0, 0, 0, 264, 0, 0, 0, 103, 0,
	261, 0, 0, 0, 119, 304, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 295, 296, 0, 0, 0,
	0, 0, 0, 822, 0, 54, 0, 0, 262, 283,
	282, 285, 286, 287, 288, 0, 0, 96, 284, 289,
	290, 291, 823, 0, 0, 259, 276, 0, 303, 0,
martianzhang's avatar
martianzhang 已提交
1245
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337
	0, 0, 0, 0, 0, 0, 0, 0, 273, 274,
	0, 0, 0, 0, 315, 0, 275, 0, 0, 270,
	271, 272, 277, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 108, 0, 0, 0, 205, 0, 0, 313,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	305, 314, 311, 312, 309, 310, 308, 307, 306, 316,
	297, 298, 299, 300, 302, 0, 301, 83, 0, 120,
	187, 146, 105, 176, 138, 0, 0, 760, 0, 264,
	0, 0, 0, 103, 0, 261, 0, 0, 0, 119,
	304, 121, 0, 0, 157, 130, 0, 0, 0, 0,
	295, 296, 0, 0, 0, 0, 0, 0, 0, 0,
	54, 0, 0, 262, 283, 282, 285, 286, 287, 288,
	0, 0, 96, 284, 289, 290, 291, 0, 0, 0,
	259, 276, 0, 303, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 273, 274, 255, 0, 0, 0, 315,
	0, 275, 0, 0, 270, 271, 272, 277, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
	0, 205, 0, 0, 313, 0, 144, 0, 160, 110,
	118, 84, 90, 0, 109, 136, 149, 153, 0, 0,
	0, 99, 0, 151, 140, 173, 0, 141, 150, 122,
	165, 145, 172, 206, 180, 162, 179, 186, 85, 161,
	171, 97, 154, 87, 169, 159, 128, 114, 115, 86,
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
	91, 178, 89, 92, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
	112, 132, 131, 133, 0, 0, 0, 158, 175, 190,
	94, 0, 163, 181, 182, 183, 184, 185, 0, 0,
	95, 107, 134, 93, 113, 155, 116, 123, 147, 188,
	139, 152, 98, 174, 156, 305, 314, 311, 312, 309,
	310, 308, 307, 306, 316, 297, 298, 299, 300, 302,
	0, 301, 83, 0, 120, 187, 146, 105, 176, 138,
	0, 0, 0, 0, 264, 0, 0, 0, 103, 0,
	261, 0, 0, 0, 119, 304, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 295, 296, 0, 0, 0,
	0, 0, 0, 0, 0, 54, 0, 483, 262, 283,
	282, 285, 286, 287, 288, 0, 0, 96, 284, 289,
	290, 291, 0, 0, 0, 259, 276, 0, 303, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 273, 274,
	0, 0, 0, 0, 315, 0, 275, 0, 0, 270,
	271, 272, 277, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 108, 0, 0, 0, 205, 0, 0, 313,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	305, 314, 311, 312, 309, 310, 308, 307, 306, 316,
	297, 298, 299, 300, 302, 0, 301, 83, 0, 120,
	187, 146, 105, 176, 138, 0, 0, 0, 0, 264,
	0, 0, 0, 103, 0, 261, 0, 0, 0, 119,
	304, 121, 0, 0, 157, 130, 0, 0, 0, 0,
	295, 296, 0, 0, 0, 0, 0, 0, 0, 0,
	54, 0, 0, 262, 283, 282, 285, 286, 287, 288,
	0, 0, 96, 284, 289, 290, 291, 0, 0, 0,
	259, 276, 0, 303, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 273, 274, 255, 0, 0, 0, 315,
	0, 275, 0, 0, 270, 271, 272, 277, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
	0, 205, 0, 0, 313, 0, 144, 0, 160, 110,
	118, 84, 90, 0, 109, 136, 149, 153, 0, 0,
	0, 99, 0, 151, 140, 173, 0, 141, 150, 122,
	165, 145, 172, 206, 180, 162, 179, 186, 85, 161,
	171, 97, 154, 87, 169, 159, 128, 114, 115, 86,
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
	91, 178, 89, 92, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
	112, 132, 131, 133, 0, 0, 0, 158, 175, 190,
	94, 0, 163, 181, 182, 183, 184, 185, 0, 0,
	95, 107, 134, 93, 113, 155, 116, 123, 147, 188,
	139, 152, 98, 174, 156, 305, 314, 311, 312, 309,
	310, 308, 307, 306, 316, 297, 298, 299, 300, 302,
	24, 301, 83, 0, 120, 187, 146, 105, 176, 0,
	0, 0, 138, 0, 0, 0, 0, 264, 0, 0,
L
liipx 已提交
1338 1339 1340 1341 1342 1343
	0, 103, 0, 261, 0, 0, 0, 119, 304, 121,
	0, 0, 157, 130, 0, 0, 0, 0, 295, 296,
	0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
	0, 262, 283, 282, 285, 286, 287, 288, 0, 0,
	96, 284, 289, 290, 291, 0, 0, 0, 259, 276,
	0, 303, 0, 0, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1344
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1345
	0, 273, 274, 0, 0, 0, 0, 315, 0, 275,
L
liipx 已提交
1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364
	0, 0, 270, 271, 272, 277, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 108, 0, 0, 0, 205,
	0, 0, 313, 0, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 0, 0, 0, 99,
	0, 151, 140, 173, 0, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
	131, 133, 0, 0, 0, 158, 175, 190, 94, 0,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 305, 314, 311, 312, 309, 310, 308,
	307, 306, 316, 297, 298, 299, 300, 302, 0, 301,
	83, 0, 120, 187, 146, 105, 176, 138, 0, 0,
	0, 0, 264, 0, 0, 0, 103, 0, 261, 0,
	0, 0, 119, 304, 121, 0, 0, 157, 130, 0,
	0, 0, 0, 295, 296, 0, 0, 0, 0, 0,
L
liipx 已提交
1365
	0, 0, 0, 54, 0, 0, 262, 283, 282, 285,
L
liipx 已提交
1366 1367
	286, 287, 288, 0, 0, 96, 284, 289, 290, 291,
	0, 0, 0, 259, 276, 0, 303, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1368
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379
	0, 0, 0, 0, 0, 0, 273, 274, 0, 0,
	0, 0, 315, 0, 275, 0, 0, 270, 271, 272,
	277, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	108, 0, 0, 0, 205, 0, 0, 313, 0, 144,
	0, 160, 110, 118, 84, 90, 0, 109, 136, 149,
	153, 0, 0, 0, 99, 0, 151, 140, 173, 0,
	141, 150, 122, 165, 145, 172, 206, 180, 162, 179,
	186, 85, 161, 171, 97, 154, 87, 169, 159, 128,
	114, 115, 86, 0, 148, 102, 106, 101, 137, 166,
	167, 100, 189, 91, 178, 89, 92, 177, 135, 164,
	170, 129, 126, 88, 168, 127, 125, 117, 104, 111,
martianzhang's avatar
martianzhang 已提交
1380
	142, 124, 143, 112, 132, 131, 133, 0, 0, 0,
L
liipx 已提交
1381 1382 1383 1384
	158, 175, 190, 94, 0, 163, 181, 182, 183, 184,
	185, 0, 0, 95, 107, 134, 93, 113, 155, 116,
	123, 147, 188, 139, 152, 98, 174, 156, 305, 314,
	311, 312, 309, 310, 308, 307, 306, 316, 297, 298,
L
liipx 已提交
1385 1386 1387 1388 1389 1390 1391
	299, 300, 302, 138, 301, 83, 0, 120, 187, 146,
	105, 176, 103, 0, 0, 0, 0, 0, 119, 304,
	121, 0, 0, 157, 130, 0, 0, 0, 0, 295,
	296, 0, 0, 0, 0, 0, 0, 0, 0, 54,
	0, 0, 262, 283, 282, 285, 286, 287, 288, 0,
	0, 96, 284, 289, 290, 291, 0, 0, 0, 0,
	276, 0, 303, 0, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1392
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414
	0, 0, 273, 274, 0, 0, 0, 0, 315, 0,
	275, 0, 0, 270, 271, 272, 277, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 108, 0, 0, 0,
	205, 0, 0, 313, 0, 144, 0, 160, 110, 118,
	84, 90, 0, 109, 136, 149, 153, 0, 0, 0,
	99, 0, 151, 140, 173, 1364, 141, 150, 122, 165,
	145, 172, 206, 180, 162, 179, 186, 85, 161, 171,
	97, 154, 87, 169, 159, 128, 114, 115, 86, 0,
	148, 102, 106, 101, 137, 166, 167, 100, 189, 91,
	178, 89, 92, 177, 135, 164, 170, 129, 126, 88,
	168, 127, 125, 117, 104, 111, 142, 124, 143, 112,
	132, 131, 133, 0, 0, 0, 158, 175, 190, 94,
	0, 163, 181, 182, 183, 184, 185, 0, 0, 95,
	107, 134, 93, 113, 155, 116, 123, 147, 188, 139,
	152, 98, 174, 156, 305, 314, 311, 312, 309, 310,
	308, 307, 306, 316, 297, 298, 299, 300, 302, 138,
	301, 83, 0, 120, 187, 146, 105, 176, 103, 0,
	0, 0, 0, 0, 119, 304, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 295, 296, 0, 0, 0,
	0, 0, 0, 0, 0, 54, 0, 0, 262, 283,
	282, 285, 286, 287, 288, 0, 0, 96, 284, 289,
	290, 291, 0, 0, 0, 0, 276, 0, 303, 0,
martianzhang's avatar
martianzhang 已提交
1415
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434
	0, 0, 0, 0, 0, 0, 0, 0, 273, 274,
	0, 0, 0, 0, 315, 0, 275, 0, 0, 270,
	271, 272, 277, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 108, 0, 0, 0, 205, 0, 0, 313,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	305, 314, 311, 312, 309, 310, 308, 307, 306, 316,
	297, 298, 299, 300, 302, 0, 301, 83, 0, 120,
	187, 146, 105, 176, 138, 0, 0, 0, 505, 0,
	0, 0, 0, 103, 0, 0, 0, 0, 0, 119,
L
liipx 已提交
1435
	0, 121, 0, 0, 157, 130, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1436
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1437 1438
	0, 0, 0, 81, 0, 507, 0, 0, 0, 0,
	0, 0, 96, 0, 0, 0, 0, 0, 502, 501,
martianzhang's avatar
martianzhang 已提交
1439
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1440
	0, 0, 0, 0, 0, 503, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1441 1442
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455
	0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
	0, 205, 0, 0, 0, 0, 144, 0, 160, 110,
	118, 84, 90, 0, 109, 136, 149, 153, 0, 0,
	0, 99, 0, 151, 140, 173, 0, 141, 150, 122,
	165, 145, 172, 206, 180, 162, 179, 186, 85, 161,
	171, 97, 154, 87, 169, 159, 128, 114, 115, 86,
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
	91, 178, 89, 92, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
	112, 132, 131, 133, 0, 0, 0, 158, 175, 190,
	94, 0, 163, 181, 182, 183, 184, 185, 0, 0,
	95, 107, 134, 93, 113, 155, 116, 123, 147, 188,
	139, 152, 98, 174, 156, 0, 0, 0, 0, 0,
L
liipx 已提交
1456
	0, 0, 0, 0, 138, 0, 0, 0, 0, 0,
L
liipx 已提交
1457 1458
	0, 0, 83, 103, 120, 187, 146, 105, 176, 119,
	0, 121, 0, 0, 157, 130, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1459
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1460 1461
	0, 0, 0, 81, 0, 0, 0, 0, 0, 0,
	0, 0, 96, 0, 0, 0, 0, 0, 74, 0,
martianzhang's avatar
martianzhang 已提交
1462 1463 1464 1465
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1466 1467
	0, 0, 0, 0, 0, 0, 0, 108, 77, 78,
	0, 73, 0, 0, 0, 79, 144, 0, 160, 110,
L
liipx 已提交
1468
	118, 84, 90, 0, 109, 136, 149, 153, 0, 0,
L
liipx 已提交
1469 1470
	0, 99, 0, 151, 140, 173, 0, 141, 150, 122,
	165, 145, 172, 75, 180, 162, 179, 186, 85, 161,
L
liipx 已提交
1471 1472 1473 1474 1475 1476 1477
	171, 97, 154, 87, 169, 159, 128, 114, 115, 86,
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
	91, 178, 89, 92, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
	112, 132, 131, 133, 0, 0, 0, 158, 175, 190,
	94, 0, 163, 181, 182, 183, 184, 185, 0, 0,
	95, 107, 134, 93, 113, 155, 116, 123, 147, 188,
L
liipx 已提交
1478 1479
	139, 152, 98, 174, 156, 0, 76, 0, 0, 0,
	0, 0, 0, 0, 138, 0, 0, 0, 809, 0,
L
liipx 已提交
1480 1481
	0, 0, 83, 103, 120, 187, 146, 105, 176, 119,
	0, 121, 0, 0, 157, 130, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1482
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1483
	0, 0, 0, 203, 0, 811, 0, 0, 0, 0,
L
liipx 已提交
1484
	0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1485 1486 1487 1488
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500
	0, 0, 0, 0, 0, 0, 0, 108, 0, 0,
	0, 205, 0, 0, 0, 0, 144, 0, 160, 110,
	118, 84, 90, 0, 109, 136, 149, 153, 0, 0,
	0, 99, 0, 151, 140, 173, 0, 141, 150, 122,
	165, 145, 172, 206, 180, 162, 179, 186, 85, 161,
	171, 97, 154, 87, 169, 159, 128, 114, 115, 86,
	0, 148, 102, 106, 101, 137, 166, 167, 100, 189,
	91, 178, 89, 92, 177, 135, 164, 170, 129, 126,
	88, 168, 127, 125, 117, 104, 111, 142, 124, 143,
	112, 132, 131, 133, 0, 0, 0, 158, 175, 190,
	94, 0, 163, 181, 182, 183, 184, 185, 0, 0,
	95, 107, 134, 93, 113, 155, 116, 123, 147, 188,
L
liipx 已提交
1501
	139, 152, 98, 174, 156, 0, 0, 0, 24, 0,
martianzhang's avatar
martianzhang 已提交
1502
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1503
	138, 0, 83, 0, 120, 187, 146, 105, 176, 103,
L
liipx 已提交
1504
	0, 0, 0, 0, 0, 119, 0, 121, 0, 0,
L
liipx 已提交
1505
	157, 130, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1506 1507
	0, 0, 0, 0, 0, 0, 54, 0, 0, 81,
	0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
martianzhang's avatar
martianzhang 已提交
1508 1509 1510 1511 1512
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524
	0, 0, 0, 108, 0, 0, 0, 205, 0, 0,
	0, 0, 144, 0, 160, 110, 118, 84, 90, 0,
	109, 136, 149, 153, 0, 0, 0, 99, 0, 151,
	140, 173, 0, 141, 150, 122, 165, 145, 172, 206,
	180, 162, 179, 186, 85, 161, 171, 97, 154, 87,
	169, 159, 128, 114, 115, 86, 0, 148, 102, 106,
	101, 137, 166, 167, 100, 189, 91, 178, 89, 92,
	177, 135, 164, 170, 129, 126, 88, 168, 127, 125,
	117, 104, 111, 142, 124, 143, 112, 132, 131, 133,
	0, 0, 0, 158, 175, 190, 94, 0, 163, 181,
	182, 183, 184, 185, 0, 0, 95, 107, 134, 93,
	113, 155, 116, 123, 147, 188, 139, 152, 98, 174,
L
liipx 已提交
1525 1526 1527 1528
	156, 0, 0, 0, 24, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 138, 0, 83, 0,
	120, 187, 146, 105, 176, 103, 0, 0, 0, 0,
	0, 119, 0, 121, 0, 0, 157, 130, 0, 0,
martianzhang's avatar
martianzhang 已提交
1529
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1530 1531
	0, 0, 54, 0, 0, 203, 0, 0, 0, 0,
	0, 0, 0, 0, 96, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1532 1533 1534
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1535
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551
	0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
	0, 0, 0, 205, 0, 0, 0, 0, 144, 0,
	160, 110, 118, 84, 90, 0, 109, 136, 149, 153,
	0, 0, 0, 99, 0, 151, 140, 173, 0, 141,
	150, 122, 165, 145, 172, 206, 180, 162, 179, 186,
	85, 161, 171, 97, 154, 87, 169, 159, 128, 114,
	115, 86, 0, 148, 102, 106, 101, 137, 166, 167,
	100, 189, 91, 178, 89, 92, 177, 135, 164, 170,
	129, 126, 88, 168, 127, 125, 117, 104, 111, 142,
	124, 143, 112, 132, 131, 133, 0, 0, 0, 158,
	175, 190, 94, 0, 163, 181, 182, 183, 184, 185,
	0, 0, 95, 107, 134, 93, 113, 155, 116, 123,
	147, 188, 139, 152, 98, 174, 156, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 138, 0, 0, 0,
	809, 0, 0, 0, 83, 103, 120, 187, 146, 105,
	176, 119, 0, 121, 0, 0, 157, 130, 0, 0,
martianzhang's avatar
martianzhang 已提交
1552
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1553 1554
	0, 0, 0, 0, 0, 203, 0, 811, 0, 0,
	0, 0, 0, 0, 96, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1555 1556 1557 1558
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574
	0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
	0, 0, 0, 205, 0, 0, 0, 0, 144, 0,
	160, 110, 118, 84, 90, 0, 109, 136, 149, 153,
	0, 0, 0, 99, 0, 151, 140, 173, 0, 807,
	150, 122, 165, 145, 172, 206, 180, 162, 179, 186,
	85, 161, 171, 97, 154, 87, 169, 159, 128, 114,
	115, 86, 0, 148, 102, 106, 101, 137, 166, 167,
	100, 189, 91, 178, 89, 92, 177, 135, 164, 170,
	129, 126, 88, 168, 127, 125, 117, 104, 111, 142,
	124, 143, 112, 132, 131, 133, 0, 0, 0, 158,
	175, 190, 94, 0, 163, 181, 182, 183, 184, 185,
	0, 0, 95, 107, 134, 93, 113, 155, 116, 123,
	147, 188, 139, 152, 98, 174, 156, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 138, 0, 0, 0,
	0, 0, 0, 0, 83, 103, 120, 187, 146, 105,
	176, 119, 0, 121, 0, 0, 157, 130, 0, 0,
martianzhang's avatar
martianzhang 已提交
1575
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1576 1577
	0, 0, 0, 0, 0, 81, 0, 0, 711, 0,
	0, 712, 0, 0, 96, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1578 1579 1580 1581
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598
	0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
	0, 0, 0, 205, 0, 0, 0, 0, 144, 0,
	160, 110, 118, 84, 90, 0, 109, 136, 149, 153,
	0, 0, 0, 99, 0, 151, 140, 173, 0, 141,
	150, 122, 165, 145, 172, 206, 180, 162, 179, 186,
	85, 161, 171, 97, 154, 87, 169, 159, 128, 114,
	115, 86, 0, 148, 102, 106, 101, 137, 166, 167,
	100, 189, 91, 178, 89, 92, 177, 135, 164, 170,
	129, 126, 88, 168, 127, 125, 117, 104, 111, 142,
	124, 143, 112, 132, 131, 133, 0, 0, 0, 158,
	175, 190, 94, 0, 163, 181, 182, 183, 184, 185,
	0, 0, 95, 107, 134, 93, 113, 155, 116, 123,
	147, 188, 139, 152, 98, 174, 156, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 138, 0, 83, 0, 120, 187, 146, 105,
	176, 103, 0, 607, 0, 0, 0, 119, 0, 121,
	0, 0, 157, 130, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1599
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667
	0, 81, 0, 606, 0, 0, 0, 0, 0, 0,
	96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 108, 0, 0, 0, 205,
	0, 0, 0, 0, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 0, 0, 0, 99,
	0, 151, 140, 173, 0, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
	131, 133, 0, 0, 0, 158, 175, 190, 94, 0,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 138, 0, 0, 0, 0, 0, 0, 0,
	83, 103, 120, 187, 146, 105, 176, 119, 0, 121,
	0, 0, 157, 130, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
	0, 203, 0, 0, 0, 0, 0, 0, 0, 0,
	96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 108, 0, 0, 0, 205,
	0, 0, 0, 0, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 0, 0, 0, 99,
	0, 151, 140, 173, 0, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
	131, 133, 0, 0, 0, 158, 175, 190, 94, 0,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 138, 0, 0, 0, 0, 0, 0, 0,
	83, 103, 120, 187, 146, 105, 176, 119, 0, 121,
	0, 0, 157, 130, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 203, 0, 811, 0, 0, 0, 0, 0, 0,
	96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 108, 0, 0, 0, 205,
	0, 0, 0, 0, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 0, 0, 0, 99,
	0, 151, 140, 173, 0, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
	131, 133, 0, 0, 0, 158, 175, 190, 94, 0,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 138, 0, 0, 0, 0, 0, 0, 0,
	83, 103, 120, 187, 146, 105, 176, 119, 0, 121,
	0, 0, 157, 130, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1668
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1669 1670
	0, 81, 0, 507, 0, 0, 0, 0, 0, 0,
	96, 0, 0, 0, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1671 1672 1673 1674
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693
	0, 0, 0, 0, 0, 108, 0, 0, 0, 205,
	0, 0, 0, 0, 144, 0, 160, 110, 118, 84,
	90, 0, 109, 136, 149, 153, 0, 0, 0, 99,
	0, 151, 140, 173, 0, 141, 150, 122, 165, 145,
	172, 206, 180, 162, 179, 186, 85, 161, 171, 97,
	154, 87, 169, 159, 128, 114, 115, 86, 0, 148,
	102, 106, 101, 137, 166, 167, 100, 189, 91, 178,
	89, 92, 177, 135, 164, 170, 129, 126, 88, 168,
	127, 125, 117, 104, 111, 142, 124, 143, 112, 132,
	131, 133, 0, 0, 0, 158, 175, 190, 94, 0,
	163, 181, 182, 183, 184, 185, 0, 0, 95, 107,
	134, 93, 113, 155, 116, 123, 147, 188, 139, 152,
	98, 174, 156, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
	83, 0, 120, 187, 146, 105, 176, 580, 103, 0,
	0, 0, 0, 0, 119, 0, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
	0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
martianzhang's avatar
martianzhang 已提交
1694 1695 1696 1697 1698
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716
	0, 0, 108, 0, 0, 0, 205, 0, 0, 0,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	0, 0, 319, 0, 0, 0, 0, 0, 0, 138,
	0, 0, 0, 0, 0, 0, 0, 83, 103, 120,
	187, 146, 105, 176, 119, 0, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
	0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
martianzhang's avatar
martianzhang 已提交
1717 1718 1719 1720 1721
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739
	0, 0, 108, 0, 0, 0, 205, 0, 0, 0,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
	0, 0, 0, 0, 0, 0, 0, 83, 103, 120,
	187, 146, 105, 176, 119, 0, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
	0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
martianzhang's avatar
martianzhang 已提交
1740
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1741 1742
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
martianzhang's avatar
martianzhang 已提交
1743 1744
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762
	0, 0, 108, 0, 200, 0, 205, 0, 0, 0,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
	0, 0, 0, 0, 0, 0, 0, 83, 103, 120,
	187, 146, 105, 176, 119, 0, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
	0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
martianzhang's avatar
martianzhang 已提交
1763 1764 1765 1766 1767
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785
	0, 0, 108, 0, 0, 0, 205, 0, 0, 0,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
	0, 0, 0, 0, 0, 0, 0, 83, 103, 120,
	187, 146, 105, 176, 119, 0, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
	0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
martianzhang's avatar
martianzhang 已提交
1786 1787 1788 1789
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1790
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808
	0, 0, 108, 0, 0, 0, 205, 0, 0, 0,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
	0, 0, 0, 0, 0, 0, 0, 83, 103, 120,
	187, 146, 105, 176, 119, 0, 121, 0, 0, 157,
	130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 262, 0,
	0, 0, 0, 0, 0, 0, 0, 96, 0, 0,
martianzhang's avatar
martianzhang 已提交
1809 1810 1811
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1812 1813
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825
	0, 0, 108, 0, 0, 0, 205, 0, 0, 0,
	0, 144, 0, 160, 110, 118, 84, 90, 0, 109,
	136, 149, 153, 0, 0, 0, 99, 0, 151, 140,
	173, 0, 141, 150, 122, 165, 145, 172, 206, 180,
	162, 179, 186, 85, 161, 171, 97, 154, 87, 169,
	159, 128, 114, 115, 86, 0, 148, 102, 106, 101,
	137, 166, 167, 100, 189, 91, 178, 89, 92, 177,
	135, 164, 170, 129, 126, 88, 168, 127, 125, 117,
	104, 111, 142, 124, 143, 112, 132, 131, 133, 0,
	0, 0, 158, 175, 190, 94, 0, 163, 181, 182,
	183, 184, 185, 0, 0, 95, 107, 134, 93, 113,
	155, 116, 123, 147, 188, 139, 152, 98, 174, 156,
L
liipx 已提交
1826
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
1827 1828
	0, 0, 0, 0, 0, 0, 0, 83, 0, 120,
	187, 146, 105, 176,
martianzhang's avatar
martianzhang 已提交
1829 1830 1831
}
var yyPact = [...]int{

L
liipx 已提交
1832 1833 1834 1835 1836 1837 1838 1839
	1775, -1000, -185, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, 871, 909, -1000, -1000, -1000, -1000, -1000, -1000,
	223, 7486, 60, 96, -15, 10271, 95, 1790, 10731, -1000,
	-7, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -76, -82,
	-1000, 619, -1000, -1000, -1000, -1000, -1000, 862, 866, 708,
	852, 776, -1000, 6046, 59, 59, 10041, 5066, -1000, -1000,
	201, 10731, 92, 10731, -156, 10501, 55, 55, 55, -1000,
L
liipx 已提交
1840
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
martianzhang's avatar
martianzhang 已提交
1841 1842 1843 1844 1845 1846 1847 1848 1849 1850
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
L
liipx 已提交
1851 1852 1853 1854
	-1000, 77, 10731, -1000, 10731, 54, 525, 54, 54, 54,
	10731, -1000, 133, -1000, -1000, -1000, -1000, 10731, 511, 802,
	49, 3002, 3002, 3002, 3002, 6, 3002, -75, 738, 882,
	-1000, -1000, -1000, -1000, -1000, -1000, 3002, -1000, -1000, -1000,
martianzhang's avatar
martianzhang 已提交
1855
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
L
liipx 已提交
1856 1857 1858 1859
	443, 806, 6539, 6539, 871, -1000, 619, -1000, -1000, -1000,
	800, -1000, -1000, 305, 891, -1000, 7256, 131, -1000, 6539,
	2059, 662, -1000, -1000, 662, -1000, -1000, 107, -1000, -1000,
	7011, 7011, 7011, 7011, 7011, 7011, 7011, 7011, -1000, -1000,
martianzhang's avatar
martianzhang 已提交
1860
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
L
liipx 已提交
1861 1862 1863 1864 1865
	-1000, -1000, 662, -1000, 6294, 662, 662, 662, 662, 662,
	662, 662, 662, 6539, 662, 662, 662, 662, 662, 662,
	662, 662, 662, 662, 662, 662, 662, 9811, 9114, 10731,
	567, -1000, 652, 4808, -127, -1000, -1000, -1000, 200, 8884,
	-1000, -1000, -1000, 801, -1000, -1000, -1000, -1000, -1000, -1000,
martianzhang's avatar
martianzhang 已提交
1866 1867 1868 1869 1870 1871 1872 1873
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
L
liipx 已提交
1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 553, 10731,
	-1000, 1857, -1000, 508, 3002, 74, 712, 506, 257, 498,
	10731, 10731, 3002, 656, 70, 10731, 841, 737, 10731, 497,
	492, -1000, 4550, -1000, 3002, 3002, 3002, 3002, 3002, 3002,
	3002, 3002, -1000, -1000, -1000, -1000, -1000, -1000, 3002, 3002,
	-1000, 890, 241, -1000, -1000, -1000, -1000, 10731, 6539, -1000,
	-1000, -1000, -1000, -1000, -1000, 904, 161, 530, 127, 654,
	-1000, 402, 862, 443, 776, 8648, 757, -1000, -1000, 10731,
	-1000, 6539, 6539, 308, -1000, 9574, -1000, -1000, 3518, 183,
	7011, 336, 246, 7011, 7011, 7011, 7011, 7011, 7011, 7011,
	7011, 7011, 7011, 7011, 7011, 7011, 7011, 7011, 391, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, 480, -1000, 619,
	499, 499, 142, 142, 142, 142, 142, 142, 142, 2174,
	5556, 443, 545, 239, 6294, 6046, 6046, 6539, 6539, 10961,
	10961, 6046, 853, 238, 239, 10961, -1000, 443, -1000, -1000,
	-1000, -1000, -1000, -1000, -1000, 6046, 6046, 6046, 6046, 22,
	10731, -1000, 644, 698, -1000, -1000, -1000, 849, 8188, 8418,
	22, 638, 9114, 10731, -1000, -1000, 4292, 652, -127, 630,
	-1000, -101, -87, 5311, 141, -1000, -1000, -1000, -1000, 2744,
	299, 555, 255, -60, -1000, -1000, -1000, 684, -1000, 684,
	684, 684, 684, -32, -32, -32, -32, -1000, -1000, -1000,
	-1000, -1000, 710, 707, -1000, 684, 684, 684, -1000, -1000,
L
liipx 已提交
1896
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
L
liipx 已提交
1897 1898 1899
	-1000, -1000, -1000, -1000, 704, 704, 704, 697, 697, 713,
	-1000, 10731, -171, 468, 3002, 840, 3002, -1000, 72, -1000,
	10731, 10731, 651, -1000, 10731, 3002, -1000, -1000, -1000, -1000,
L
liipx 已提交
1900
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
L
liipx 已提交
1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920
	-1000, 10731, 251, 10731, 10731, -1000, 239, -1000, 782, 6539,
	6539, 4034, 6539, -1000, -1000, -1000, 806, -1000, 853, 864,
	-1000, 790, 789, 6046, -1000, -1000, 183, 197, -1000, -1000,
	370, -1000, -1000, -1000, -1000, 126, 662, -1000, 2320, -1000,
	-1000, -1000, -1000, 336, 7011, 7011, 7011, 318, 2320, 2151,
	1717, 1097, 142, 130, 130, 143, 143, 143, 143, 143,
	382, 382, -1000, -1000, -1000, 443, -1000, -1000, -1000, 443,
	6046, 635, -1000, -1000, 6539, -1000, 443, 540, 540, 253,
	313, 678, -1000, 124, 668, 540, 6046, 266, -1000, 6539,
	443, -1000, 540, 443, 540, 540, 517, 662, -1000, 10961,
	9114, 9114, 9114, 9114, 9114, -1000, 767, 762, -1000, 755,
	754, 763, 10731, -1000, 543, 8188, 129, 662, -1000, 9344,
	-1000, -1000, 878, 9114, 611, -1000, -1000, 630, -127, -93,
	-1000, -1000, -1000, -1000, 239, -1000, 395, 629, 2486, -1000,
	-1000, -1000, -1000, -1000, -1000, -1000, 703, 462, -1000, 831,
	170, 178, 437, 829, -1000, -1000, -1000, 804, -1000, 271,
	-62, -1000, -1000, 364, -32, -32, -1000, -1000, 141, 797,
	141, 141, 141, 409, 409, -1000, -1000, -1000, -1000, 341,
	-1000, -1000, -1000, 338, -1000, 736, 10501, 3002, -1000, 3776,
	-1000, -1000, -1000, -1000, -1000, -1000, 1372, 1265, 181, -1000,
L
liipx 已提交
1921
	-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
L
liipx 已提交
1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
	20, 65, -1000, 3002, -1000, 241, -1000, 408, 6539, -1000,
	-1000, 780, 239, 239, 116, -1000, -1000, 10731, -1000, -1000,
	-1000, -1000, 667, -1000, -1000, -1000, 3260, 6046, -1000, 318,
	2320, 1588, -1000, 7011, 7011, -1000, -1000, 540, 6046, 239,
	-1000, -1000, -1000, 62, 391, 62, 7011, 7011, 4034, 7011,
	7011, -166, 655, 204, -1000, 6539, 182, -1000, -1000, -1000,
	-1000, -1000, 734, 10961, 662, -1000, 7952, 10501, 632, -1000,
	198, 698, 702, 732, 1334, -1000, -1000, -1000, -1000, 756,
	-1000, 714, -1000, -1000, -1000, -1000, -1000, 87, 86, 73,
	10501, -1000, 871, 6539, 611, -1000, -1000, -1000, -121, -123,
	-1000, -1000, -1000, 2744, -1000, 2744, 10501, 39, -1000, 437,
	437, -1000, -1000, -1000, 699, 731, 76, -1000, -1000, -1000,
	550, 141, 141, -1000, 184, -1000, -1000, -1000, 531, -1000,
	521, 622, 518, 10731, -1000, -1000, 571, -1000, 196, -1000,
	-1000, 10501, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, 10501, 10731, -1000, -1000, -1000, -1000,
	-1000, 10501, 10731, -1000, 251, -1000, 239, -1000, 3776, -1000,
	878, 9114, -1000, -1000, 443, -1000, 7011, 2320, 2320, -1000,
	-1000, 443, 684, 684, -1000, 684, 697, -1000, 684, -8,
	684, -14, 443, 443, 1891, 2074, -1000, 674, 1978, 662,
	-163, -1000, 239, 6539, -1000, 803, 560, 562, -1000, -1000,
	5801, 443, 479, 114, 477, -1000, 871, 10961, 6539, -1000,
	-1000, 6539, 695, -1000, 6539, -1000, -1000, -1000, 662, 662,
	662, 477, 862, 239, -1000, -1000, -1000, -1000, 2486, -1000,
	472, -1000, 684, -1000, -1000, -1000, 10501, -56, 902, -1000,
	-1000, -1000, -1000, 683, -1000, -1000, -1000, -1000, -1000, -1000,
	-32, 407, -32, 324, -1000, 323, 3002, 3776, 2744, -1000,
	682, -1000, -1000, -1000, -1000, 836, -1000, -1000, 875, 566,
	-1000, 2320, -1000, -1000, 97, -1000, -1000, -1000, -1000, -1000,
	-1000, -1000, -1000, -1000, 7011, 7011, -1000, 7011, 7011, 7011,
	443, 406, 239, 814, -1000, 662, -1000, -1000, 634, 10501,
	10501, -1000, 10501, 862, -1000, 239, 239, 10501, 239, 10501,
	10501, 10501, 7716, -1000, 128, 10501, -1000, 461, -1000, 174,
	-1000, -141, 532, 141, -1000, 141, 528, 473, -1000, -1000,
	-1000, 10501, 662, 873, 865, -1000, -1000, 535, 535, 535,
	535, 24, -1000, -1000, 896, -1000, 662, -1000, 619, 110,
	-1000, -1000, -1000, 448, 446, 446, 446, 129, 128, -1000,
	435, 194, 392, -1000, 36, 10501, 277, 813, -1000, 810,
	677, -1000, -1000, -1000, -1000, -1000, 442, 18, -1000, 6539,
	6539, -1000, -1000, -1000, -1000, 443, 44, -175, 10961, 562,
	443, 10501, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 312,
	-1000, -1000, 10731, -1000, -1000, 388, -1000, -1000, 449, 712,
	421, -1000, 10501, 239, 561, -1000, 774, -169, -180, 558,
	-1000, -1000, -1000, 673, -1000, -1000, -171, -1000, 18, 788,
	-1000, 772, -1000, 10501, -1000, -1000, 15, -173, 417, 13,
	-178, 730, 662, -182, 728, -1000, 888, 6775, -1000, -1000,
	894, 154, 154, 535, 443, -1000, -1000, -1000, 43, 403,
	-1000, -1000, -1000, -1000, -1000, -1000,
martianzhang's avatar
martianzhang 已提交
1970 1971 1972
}
var yyPgo = [...]int{

L
liipx 已提交
1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992
	0, 1126, 28, 433, 1125, 1123, 1121, 1120, 1119, 1112,
	1110, 1109, 1107, 1105, 1104, 1102, 1097, 1096, 1095, 1094,
	1091, 1089, 1086, 1084, 1081, 1078, 133, 1077, 1076, 1075,
	61, 1074, 77, 1071, 1070, 35, 156, 41, 38, 1012,
	1068, 21, 62, 59, 1065, 26, 1064, 1061, 69, 1059,
	48, 1058, 1057, 1180, 1051, 1050, 12, 40, 1047, 1046,
	1045, 1041, 63, 132, 1040, 1039, 1037, 1036, 1033, 1031,
	51, 8, 11, 18, 25, 1030, 115, 9, 1029, 50,
	1028, 1027, 1026, 1024, 23, 1023, 57, 1020, 43, 56,
	1018, 7, 70, 31, 15, 6, 75, 65, 1015, 14,
	66, 42, 1014, 1013, 379, 1011, 1010, 45, 1008, 1005,
	22, 175, 309, 1003, 1002, 1000, 999, 37, 0, 488,
	463, 73, 998, 996, 993, 1166, 71, 55, 20, 992,
	49, 83, 44, 990, 988, 34, 985, 982, 981, 979,
	978, 975, 974, 60, 971, 966, 964, 99, 30, 963,
	962, 64, 27, 960, 959, 953, 47, 58, 952, 942,
	54, 33, 941, 940, 939, 938, 937, 17, 19, 936,
	13, 932, 10, 928, 24, 926, 3, 925, 16, 924,
	4, 922, 5, 46, 1, 920, 2, 919, 916, 52,
	332, 915, 899, 84,
martianzhang's avatar
martianzhang 已提交
1993 1994 1995
}
var yyR1 = [...]int{

L
liipx 已提交
1996
	0, 187, 188, 188, 1, 1, 1, 1, 1, 1,
martianzhang's avatar
martianzhang 已提交
1997
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
martianzhang's avatar
martianzhang 已提交
1998
	1, 1, 1, 1, 2, 2, 2, 6, 3, 4,
L
liipx 已提交
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058
	4, 5, 5, 7, 7, 29, 29, 8, 9, 9,
	9, 191, 191, 48, 48, 92, 92, 10, 10, 10,
	10, 97, 97, 101, 101, 101, 102, 102, 102, 102,
	133, 133, 11, 11, 11, 11, 11, 11, 11, 11,
	182, 182, 181, 180, 180, 179, 179, 178, 17, 163,
	165, 165, 164, 164, 164, 164, 157, 136, 136, 136,
	136, 139, 139, 137, 137, 137, 137, 137, 137, 137,
	138, 138, 138, 138, 138, 140, 140, 140, 140, 140,
	141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
	141, 141, 141, 141, 141, 142, 142, 142, 142, 142,
	142, 142, 142, 156, 156, 143, 143, 151, 151, 152,
	152, 152, 149, 149, 150, 150, 153, 153, 153, 144,
	144, 144, 144, 144, 144, 144, 144, 146, 146, 146,
	154, 154, 147, 147, 147, 148, 148, 148, 155, 155,
	155, 155, 155, 145, 145, 158, 158, 173, 173, 172,
	172, 172, 162, 162, 169, 169, 169, 169, 169, 160,
	160, 161, 161, 171, 171, 170, 159, 159, 174, 174,
	174, 174, 185, 186, 184, 184, 184, 184, 184, 166,
	166, 166, 167, 167, 167, 168, 168, 168, 12, 12,
	12, 12, 12, 12, 12, 12, 12, 183, 183, 183,
	183, 183, 183, 183, 183, 183, 183, 183, 177, 175,
	175, 176, 176, 13, 18, 18, 14, 14, 14, 14,
	14, 15, 15, 19, 20, 20, 20, 20, 20, 20,
	20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
	20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
	20, 20, 108, 108, 106, 106, 109, 109, 107, 107,
	107, 110, 110, 110, 134, 134, 134, 21, 21, 23,
	23, 24, 25, 22, 22, 22, 22, 22, 22, 22,
	16, 192, 26, 27, 27, 28, 28, 28, 32, 32,
	32, 30, 30, 31, 31, 37, 37, 36, 36, 38,
	38, 38, 38, 122, 122, 122, 121, 121, 40, 40,
	41, 41, 42, 42, 43, 43, 43, 43, 55, 55,
	91, 91, 93, 93, 44, 44, 44, 44, 45, 45,
	46, 46, 47, 47, 129, 129, 128, 128, 128, 127,
	127, 49, 49, 49, 51, 50, 50, 50, 50, 52,
	52, 54, 54, 53, 53, 56, 56, 56, 56, 57,
	57, 39, 39, 39, 39, 39, 39, 39, 105, 105,
	59, 59, 58, 58, 58, 58, 58, 58, 58, 58,
	58, 58, 69, 69, 69, 69, 69, 69, 60, 60,
	60, 60, 60, 60, 60, 35, 35, 70, 70, 70,
	76, 71, 71, 63, 63, 63, 63, 63, 63, 63,
	63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
	63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
	63, 63, 63, 63, 63, 67, 67, 67, 65, 65,
	65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
	65, 65, 65, 66, 66, 66, 66, 66, 66, 66,
	66, 193, 193, 68, 68, 68, 68, 33, 33, 33,
	33, 33, 132, 132, 135, 135, 135, 135, 135, 135,
	135, 135, 135, 135, 135, 135, 135, 80, 80, 34,
	34, 78, 78, 79, 81, 81, 77, 77, 77, 62,
	62, 62, 62, 62, 62, 62, 62, 64, 64, 64,
	82, 82, 83, 83, 84, 84, 85, 85, 86, 87,
	87, 87, 88, 88, 88, 88, 89, 89, 89, 61,
	61, 61, 61, 61, 61, 90, 90, 90, 90, 94,
	94, 72, 72, 74, 74, 73, 75, 95, 95, 99,
	96, 96, 100, 100, 100, 100, 98, 98, 98, 124,
	124, 124, 103, 103, 111, 111, 112, 112, 104, 104,
	113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
	114, 114, 114, 115, 115, 116, 116, 116, 123, 123,
	119, 119, 120, 120, 125, 125, 126, 126, 117, 117,
martianzhang's avatar
martianzhang 已提交
2059 2060 2061 2062 2063 2064 2065 2066 2067
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
	117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
L
liipx 已提交
2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079
	117, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
	118, 189, 190, 130, 131, 131, 131,
martianzhang's avatar
martianzhang 已提交
2080 2081 2082 2083 2084
}
var yyR2 = [...]int{

	0, 2, 0, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
martianzhang's avatar
martianzhang 已提交
2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106
	1, 1, 1, 0, 4, 6, 7, 5, 10, 1,
	3, 1, 3, 7, 8, 1, 1, 9, 8, 7,
	6, 1, 1, 1, 3, 0, 4, 3, 4, 5,
	4, 1, 3, 3, 2, 2, 2, 2, 2, 1,
	1, 1, 2, 2, 8, 4, 6, 5, 5, 5,
	0, 2, 1, 0, 2, 1, 3, 3, 4, 4,
	2, 4, 1, 3, 3, 3, 8, 3, 1, 1,
	1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
	2, 2, 2, 2, 2, 1, 2, 2, 2, 1,
	4, 4, 2, 2, 3, 3, 3, 3, 1, 1,
	1, 1, 1, 6, 6, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 3, 0, 3, 0, 5, 0,
	3, 5, 0, 1, 0, 1, 0, 1, 2, 0,
	2, 2, 2, 2, 2, 4, 2, 0, 3, 5,
	0, 1, 0, 3, 3, 0, 2, 2, 0, 2,
	1, 2, 1, 0, 2, 5, 4, 1, 2, 2,
	3, 2, 0, 1, 2, 3, 3, 2, 2, 1,
	1, 0, 1, 1, 3, 2, 3, 1, 10, 11,
	11, 12, 3, 3, 1, 1, 2, 2, 2, 0,
	1, 3, 1, 2, 3, 1, 1, 1, 6, 7,
	7, 12, 7, 7, 7, 4, 5, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 7, 1,
L
liipx 已提交
2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126
	3, 8, 8, 3, 3, 5, 4, 6, 5, 4,
	4, 3, 2, 3, 4, 4, 4, 4, 4, 4,
	4, 4, 3, 3, 3, 3, 4, 3, 7, 5,
	4, 2, 2, 4, 4, 2, 2, 2, 2, 2,
	2, 3, 1, 1, 0, 1, 1, 1, 0, 2,
	2, 0, 2, 2, 0, 1, 1, 2, 1, 1,
	2, 1, 1, 2, 2, 2, 2, 2, 3, 3,
	2, 0, 2, 0, 2, 1, 2, 2, 0, 1,
	1, 0, 1, 0, 1, 0, 1, 1, 3, 1,
	2, 3, 5, 0, 1, 2, 1, 1, 0, 2,
	1, 3, 1, 1, 1, 3, 1, 3, 3, 7,
	1, 3, 1, 3, 4, 4, 4, 3, 2, 4,
	0, 1, 0, 2, 0, 1, 0, 1, 2, 1,
	1, 1, 2, 2, 1, 2, 3, 2, 3, 2,
	2, 2, 1, 1, 3, 0, 5, 5, 5, 0,
	2, 1, 3, 3, 2, 3, 1, 2, 0, 3,
	1, 1, 3, 3, 4, 4, 5, 3, 4, 5,
	6, 2, 1, 2, 1, 2, 1, 2, 1, 1,
	1, 1, 1, 1, 1, 0, 2, 1, 1, 1,
	3, 1, 3, 1, 1, 1, 1, 1, 3, 3,
martianzhang's avatar
martianzhang 已提交
2127
	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
L
liipx 已提交
2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144
	3, 3, 3, 2, 2, 2, 2, 2, 2, 2,
	3, 1, 1, 1, 1, 4, 5, 6, 4, 4,
	6, 6, 6, 6, 8, 8, 6, 8, 8, 9,
	7, 5, 4, 2, 2, 2, 2, 2, 2, 2,
	2, 0, 2, 4, 4, 4, 4, 0, 3, 4,
	7, 3, 1, 1, 2, 3, 3, 1, 2, 2,
	1, 2, 1, 2, 2, 1, 2, 0, 1, 0,
	2, 1, 2, 4, 0, 2, 1, 3, 5, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
	0, 3, 0, 2, 0, 3, 1, 3, 2, 0,
	1, 1, 0, 2, 4, 4, 0, 2, 4, 2,
	1, 3, 5, 4, 6, 1, 3, 3, 5, 0,
	5, 1, 3, 1, 2, 3, 1, 1, 3, 3,
	1, 3, 3, 3, 3, 3, 1, 2, 1, 1,
	1, 1, 1, 1, 0, 2, 0, 3, 0, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	0, 1, 1, 1, 1, 0, 1, 1, 0, 2,
L
liipx 已提交
2145
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
martianzhang's avatar
martianzhang 已提交
2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
L
liipx 已提交
2166
	1, 1, 1, 0, 0, 1, 1,
martianzhang's avatar
martianzhang 已提交
2167 2168 2169
}
var yyChk = [...]int{

L
liipx 已提交
2170 2171 2172
	-1000, -187, -1, -2, -6, -7, -8, -9, -10, -11,
	-12, -13, -14, -15, -19, -20, -21, -23, -24, -25,
	-22, -16, -3, -4, 6, 7, -29, 9, 10, 30,
L
liipx 已提交
2173 2174
	-17, 115, 116, 118, 117, 149, 119, 142, 50, 162,
	163, 165, 166, 25, 143, 144, 147, 148, 31, 32,
L
liipx 已提交
2175 2176 2177 2178
	121, -189, 8, 248, 54, -188, 263, -84, 15, -28,
	5, -26, -192, -26, -26, -26, -26, -26, -163, -165,
	54, 90, -116, 125, 72, 157, 240, 122, 123, 129,
	-119, 57, -118, 256, 135, 162, 173, 167, 194, 186,
L
liipx 已提交
2179 2180 2181 2182 2183 2184 2185 2186 2187 2188
	136, 184, 187, 227, 214, 224, 66, 165, 236, 145,
	182, 178, 176, 27, 199, 261, 177, 225, 121, 138,
	133, 200, 204, 228, 171, 172, 230, 198, 134, 33,
	258, 35, 153, 231, 202, 197, 193, 196, 170, 192,
	39, 206, 205, 207, 226, 189, 139, 179, 18, 234,
	148, 151, 201, 203, 130, 155, 260, 232, 175, 140,
	152, 147, 235, 141, 166, 229, 238, 38, 211, 169,
	132, 163, 159, 216, 190, 154, 180, 181, 195, 168,
	191, 164, 156, 149, 237, 212, 262, 188, 185, 160,
	158, 217, 218, 219, 220, 221, 161, 259, 233, 183,
L
liipx 已提交
2189 2190 2191
	213, -104, 125, 127, 123, 123, 124, 125, 240, 122,
	123, -53, -125, 57, -118, 125, 157, 123, 108, 187,
	115, 215, 124, 33, 155, -134, 123, -106, 158, 214,
L
liipx 已提交
2192
	217, 218, 219, 221, 220, 161, 57, 229, 228, 222,
L
liipx 已提交
2193 2194 2195 2196 2197 2198 2199
	-125, 164, -130, -130, -130, -130, -130, 216, 216, -130,
	-2, -88, 17, 16, -5, -3, -189, 6, 20, 21,
	-32, 40, 41, -27, -38, 99, -39, -125, -58, 74,
	-63, 29, 57, -118, 23, -62, -59, -77, -75, -76,
	108, 109, 110, 97, 98, 105, 75, 111, -67, -65,
	-66, -68, 59, 58, 67, 60, 61, 62, 63, 68,
	69, 70, -119, -73, -189, 44, 45, 249, 250, 251,
L
liipx 已提交
2200
	252, 255, 253, 77, 34, 239, 247, 246, 245, 243,
L
liipx 已提交
2201 2202 2203
	244, 241, 242, 128, 240, 103, 248, -104, -104, 11,
	-48, -53, -96, -133, 164, -100, 229, 228, -120, -98,
	-119, -117, 227, 187, 226, 120, 73, 22, 24, 209,
L
liipx 已提交
2204 2205 2206 2207 2208 2209 2210 2211
	76, 108, 16, 77, 107, 249, 115, 48, 241, 242,
	239, 251, 252, 240, 215, 29, 10, 25, 143, 21,
	101, 117, 80, 81, 146, 23, 144, 70, 19, 51,
	11, 13, 14, 128, 127, 92, 124, 46, 8, 111,
	26, 89, 42, 28, 44, 90, 17, 243, 244, 31,
	255, 150, 103, 49, 36, 74, 68, 71, 52, 72,
	15, 47, 91, 118, 248, 45, 122, 6, 254, 30,
	142, 43, 123, 79, 126, 69, 5, 129, 32, 9,
L
liipx 已提交
2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307
	50, 53, 245, 246, 247, 34, 78, 12, -164, 90,
	-157, 57, -53, 124, -53, 248, -119, -112, 128, -112,
	-112, 123, -53, -18, -53, -111, 128, 57, -111, -111,
	-111, -53, 112, -53, 57, 30, 240, 57, 155, 123,
	156, 125, -131, -189, -120, -131, -131, -131, 159, 160,
	-131, -109, -108, 224, 225, 216, 223, 52, 12, -131,
	-130, -130, -190, 56, -89, 19, 31, -39, -125, -85,
	-86, -39, -84, -2, -26, 36, -30, 21, 65, 11,
	-122, 73, 72, 89, -121, 22, -119, 59, 112, -39,
	-60, 92, 74, 90, 91, 76, 94, 93, 104, 97,
	98, 99, 100, 101, 102, 103, 95, 96, 107, 82,
	83, 84, 85, 86, 87, 88, -105, -189, -76, -189,
	113, 114, -63, -63, -63, -63, -63, -63, -63, -63,
	-189, -2, -71, -39, -189, -189, -189, -189, -189, -189,
	-189, -189, -189, -80, -39, -189, -193, -189, -193, -193,
	-193, -193, -193, -193, -193, -189, -189, -189, -189, -54,
	26, -53, -41, -42, -43, -44, -55, -76, -189, -53,
	-53, -48, -191, 55, 11, 53, 55, -96, 164, -97,
	-101, 230, 232, 82, -124, -119, 59, 29, 30, 56,
	55, -53, -136, -139, -141, -140, -142, -137, -138, 184,
	185, 108, 188, 190, 191, 192, 193, 194, 195, 196,
	197, 198, 199, 30, 145, 180, 181, 182, 183, 200,
	201, 202, 203, 204, 205, 206, 207, 167, 168, 169,
	170, 171, 172, 173, 175, 176, 177, 178, 179, 57,
	-131, 125, -182, 53, 57, 74, 57, -53, -53, -131,
	55, 126, -48, 23, 52, -53, 57, 57, -126, -125,
	-117, -131, -131, -131, -131, -131, -131, -131, -131, -131,
	-131, 11, -107, 11, 92, -53, -39, 9, 92, 55,
	18, 112, 55, -87, 24, 25, -88, -190, -32, -64,
	-119, 60, 63, -31, 43, -53, -39, -39, -69, 68,
	74, 69, 70, -121, 99, -126, -120, -117, -63, -70,
	-73, -76, 64, 92, 90, 91, 76, -63, -63, -63,
	-63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
	-63, -63, -132, 57, 59, 57, -62, -62, -119, -37,
	21, -36, -38, -190, 55, -190, -2, -36, -36, -39,
	-39, -77, -119, -125, -77, -36, -30, -78, -79, 78,
	-77, -190, -36, -37, -36, -36, -92, 151, -53, 30,
	55, -49, -51, -50, -52, 42, 46, 48, 43, 44,
	45, 49, -129, 22, -41, -189, -128, 151, -127, 22,
	-125, 59, -92, 53, -41, -53, -100, -97, 55, 231,
	233, 234, 52, 71, -39, -148, 107, -166, -167, -168,
	-120, 59, 60, -157, -158, -159, -169, 137, -174, 130,
	132, 129, -160, 138, 124, 28, 56, -153, 68, 74,
	-149, 212, -143, 54, -143, -143, -143, -143, -147, 187,
	-147, -147, -147, 54, 54, -143, -143, -143, -151, 54,
	-151, -151, -152, 54, -152, -123, 53, -53, -180, 259,
	-181, 57, -131, 23, -131, -113, 120, 117, 118, -177,
	116, 209, 187, 66, 29, 15, 249, 151, 262, 57,
	152, -53, -53, -53, -131, -53, -110, 90, 12, -125,
	-125, 38, -39, -39, -126, -86, -89, -103, 19, 11,
	34, 34, -36, 68, 69, 70, 112, -189, -70, -63,
	-63, -63, -35, 146, 73, -190, -190, -36, 55, -39,
	-190, -190, -190, 55, 53, 22, 55, 11, 112, 55,
	11, -190, -36, -81, -79, 80, -39, -190, -190, -190,
	-190, -190, -61, 30, 34, -2, -189, -189, -95, -99,
	-77, -42, -43, -43, -42, -43, 42, 42, 42, 47,
	42, 47, 42, -50, -125, -190, -56, 50, 127, 51,
	-189, -127, -57, 12, -41, -57, -101, -102, 235, 232,
	238, 57, 59, 55, -168, 82, 54, 57, 28, -160,
	-160, -161, 57, -161, 28, -144, 29, 68, -150, 213,
	60, -147, -147, -148, 30, -148, -148, -148, -156, 59,
	-156, 60, 60, 52, -119, -131, -179, -178, -120, -130,
	-183, 157, 131, 137, 138, 133, 57, 124, 28, 130,
	132, 151, 129, -183, 157, -114, -115, 126, 22, 124,
	28, 151, 126, -131, -107, 59, -39, 39, 112, -53,
	-40, 11, 99, -120, -37, -35, 73, -63, -63, -190,
	-38, -135, 108, 184, 145, 182, 178, 198, 189, 211,
	180, 212, -132, -135, -63, -63, -120, -63, -63, 256,
	-84, 81, -39, 79, -94, 52, -95, -72, -74, -73,
	-189, -2, -90, -119, -93, -119, -57, 55, 82, -46,
	-45, 52, 53, -47, 52, -45, 42, 42, 124, 124,
	124, -93, -84, -39, -57, 232, 236, 237, -167, -168,
	-171, -170, -119, -174, -161, -161, 54, -146, 52, 59,
	60, 61, 68, 239, 67, 56, -148, -148, 57, 108,
	56, 55, 56, 55, 56, 55, -53, 55, 82, -130,
	-119, -130, -119, -53, -130, -119, -53, -110, -57, -41,
	-190, -63, -190, -143, -143, -143, -152, -143, 172, -143,
	172, -190, -190, -190, 55, 19, -190, 55, 19, -189,
	-34, 254, -39, 27, -94, 55, -190, -190, -190, 55,
	112, -190, 55, -84, -99, -39, -39, 54, -39, -189,
	-189, -189, -190, -88, 56, 55, -143, -91, -119, -154,
	209, 9, 54, -147, 59, -147, 60, 60, -131, -178,
	-168, 54, 26, -82, 13, -147, 57, -63, -63, -63,
	-63, -63, -190, 59, 28, -74, 34, -2, -189, -119,
	-119, -119, -88, -91, -91, -91, -91, -128, -173, -172,
	53, 134, 66, -170, 56, 55, -155, 130, 28, 129,
	239, 56, -148, -148, 56, 56, -91, -189, -83, 14,
	16, -190, -190, -190, -190, -33, 92, 259, 9, -72,
	-2, 112, 56, -190, -190, -190, -56, -172, 57, -162,
	82, 59, 140, -119, -145, 66, 28, 28, 54, 56,
	-175, -176, 151, -39, -71, -190, 257, 49, 260, -95,
	-190, -119, 60, -53, 59, 56, -182, -190, 55, -119,
	39, 258, 261, 54, -180, -176, 34, 39, -91, 153,
	259, 56, 154, 260, -185, -186, 52, -189, 261, -186,
	52, 10, 9, -63, 150, -184, 141, 136, 139, 30,
	-184, -190, -190, 135, 29, 68,
martianzhang's avatar
martianzhang 已提交
2308 2309 2310
}
var yyDef = [...]int{

martianzhang's avatar
martianzhang 已提交
2311
	23, -2, 2, -2, 5, 6, 7, 8, 9, 10,
martianzhang's avatar
martianzhang 已提交
2312
	11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
L
liipx 已提交
2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361
	21, 22, 544, 0, 311, 311, 311, 311, 311, 311,
	0, 615, 598, 0, 0, 0, 0, -2, 298, 299,
	0, 301, 302, 833, 833, 833, 833, 833, 0, 0,
	833, 0, 35, 36, 831, 1, 3, 552, 0, 0,
	315, 318, 313, 0, 598, 598, 0, 0, 62, 63,
	0, 0, 0, 818, 0, 819, 596, 596, 596, 616,
	617, 620, 621, 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,
	820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
	830, 0, 0, 599, 0, 594, 0, 594, 594, 594,
	0, 252, 383, 624, 625, 818, 819, 0, 0, 0,
	0, 834, 834, 834, 834, 0, 834, 0, 271, 272,
	275, 276, 277, 278, 279, 280, 834, 295, 296, 285,
	297, 300, 303, 304, 305, 306, 307, 833, 833, 310,
	29, 556, 0, 0, 544, 31, 0, 311, 316, 317,
	321, 319, 320, 312, 0, 329, 333, 0, 391, 0,
	396, 398, -2, -2, 0, 433, 434, 435, 436, 437,
	0, 0, 0, 0, 0, 0, 0, 0, 461, 462,
	463, 464, 529, 530, 531, 532, 533, 534, 535, 536,
	400, 401, 526, 576, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 517, 0, 491, 491, 491, 491, 491,
	491, 491, 491, 0, 0, 0, 0, 0, 0, 0,
	0, 43, 47, 0, 809, 580, -2, -2, 0, 0,
	622, 623, -2, 730, -2, 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, 0, 0,
	82, 0, 80, 0, 834, 0, 70, 0, 0, 0,
	0, 0, 834, 243, 0, 0, 0, 0, 0, 0,
	0, 251, 0, 253, 834, 834, 834, 834, 834, 834,
	834, 834, 262, 835, 836, 263, 264, 265, 834, 834,
	267, 0, 288, 286, 287, 282, 283, 0, 0, 281,
	308, 309, 30, 832, 24, 0, 0, 553, 0, 545,
	546, 549, 552, 29, 318, 0, 323, 322, 314, 0,
	330, 0, 0, 0, 334, 0, 336, 337, 0, 394,
martianzhang's avatar
martianzhang 已提交
2362
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
L
liipx 已提交
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384
	0, 0, 0, 0, 0, 0, 0, 0, 0, 418,
	419, 420, 421, 422, 423, 424, 397, 0, 411, 0,
	0, 0, 453, 454, 455, 456, 457, 458, 459, 0,
	325, 29, 0, 431, 0, 0, 0, 0, 0, 0,
	0, 0, 321, 0, 518, 0, 483, 0, 484, 485,
	486, 487, 488, 489, 490, 0, 325, 0, 0, 45,
	0, 382, 0, 340, 342, 343, 344, -2, 0, 366,
	-2, 0, 0, 0, 41, 42, 0, 48, 809, 50,
	51, 0, 0, 0, 165, 589, 590, 591, 587, 209,
	0, 0, 146, 142, 88, 89, 90, 135, 92, 135,
	135, 135, 135, 162, 162, 162, 162, 118, 119, 120,
	121, 122, 0, 0, 105, 135, 135, 135, 109, 125,
	126, 127, 128, 129, 130, 131, 132, 93, 94, 95,
	96, 97, 98, 99, 137, 137, 137, 139, 139, 618,
	65, 0, 73, 0, 834, 0, 834, 78, 0, 225,
	0, 0, 246, 595, 0, 834, 249, 250, 384, 626,
	627, 254, 255, 256, 257, 258, 259, 260, 261, 266,
	270, 0, 291, 0, 0, 274, 273, 557, 0, 0,
	0, 0, 0, 548, 550, 551, 556, 32, 321, 0,
	537, 0, 0, 0, 324, 27, 392, 393, 395, 412,
	0, 414, 416, 335, 331, 0, 527, -2, 402, 403,
	427, 428, 429, 0, 0, 0, 0, 425, 407, 0,
L
liipx 已提交
2385
	438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
L
liipx 已提交
2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448
	448, 449, 452, 502, 503, 0, 450, 451, 460, 0,
	0, 326, 327, 430, 0, 575, 29, 0, 0, 0,
	0, 0, 526, 0, 0, 0, 0, 524, 521, 0,
	0, 492, 0, 0, 0, 0, 0, 0, 381, 0,
	0, 0, 0, 0, 0, 371, 0, 0, 374, 0,
	0, 0, 0, 365, 0, 0, 385, 779, 367, 0,
	369, 370, 389, 0, 389, 44, 581, 49, 0, 0,
	54, 55, 582, 583, 584, 585, 0, 79, 210, 212,
	215, 216, 217, 83, 84, 85, 0, 0, 197, 0,
	0, 191, 191, 0, 189, 190, 81, 149, 147, 0,
	144, 143, 91, 0, 162, 162, 112, 113, 165, 0,
	165, 165, 165, 0, 0, 106, 107, 108, 100, 0,
	101, 102, 103, 0, 104, 0, 0, 834, 67, 0,
	71, 72, 68, 597, 69, 833, 0, 0, 610, 226,
	600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
	0, 0, 244, 834, 248, 288, 269, 0, 0, 289,
	290, 0, 554, 555, 0, 547, 25, 0, 592, 593,
	538, 539, 338, 413, 415, 417, 0, 325, 404, 425,
	408, 0, 405, 0, 0, 399, 465, 0, 0, 432,
	-2, 468, 469, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 544, 0, 522, 0, 0, 482, 493, 494,
	495, 496, 569, 0, 0, -2, 0, 0, 389, 577,
	0, 341, 360, 362, 0, 357, 372, 373, 375, 0,
	377, 0, 379, 380, 345, 347, 348, 0, 0, 0,
	0, 368, 544, 0, 389, 40, 52, 53, 0, 0,
	59, 166, 167, 0, 213, 0, 0, 0, 184, 191,
	191, 187, 192, 188, 0, 157, 0, 148, 87, 145,
	0, 165, 165, 114, 0, 115, 116, 117, 0, 133,
	0, 0, 0, 0, 619, 66, 74, 75, 0, 218,
	833, 0, 227, 228, 229, 230, 231, 232, 233, 234,
	235, 236, 237, 833, 0, 0, 833, 611, 612, 613,
	614, 0, 0, 247, 291, 292, 293, 558, 0, 26,
	389, 0, 332, 528, 0, 406, 0, 426, 409, 466,
	328, 0, 135, 135, 507, 135, 139, 510, 135, 512,
	135, 515, 0, 0, 0, 0, 527, 0, 0, 0,
	519, 481, 525, 0, 33, 0, 569, 559, 571, 573,
	0, 29, 0, 565, 0, 352, 544, 0, 0, 354,
	361, 0, 0, 355, 0, 356, 376, 378, 0, 0,
	0, 0, 552, 390, 39, 56, 57, 58, 211, 214,
	0, 193, 135, 196, 185, 186, 0, 160, 0, 150,
	151, 152, 153, 154, 156, 136, 110, 111, 163, 164,
	162, 0, 162, 0, 140, 0, 834, 0, 0, 219,
	0, 220, 222, 223, 224, 0, 245, 268, 540, 339,
	467, 410, 470, 504, 162, 508, 509, 511, 513, 514,
	516, 472, 471, 473, 0, 0, 476, 0, 0, 0,
	0, 0, 523, 0, 34, 0, 574, -2, 0, 0,
	0, 46, 0, 552, 578, 579, 358, 0, 363, 0,
	0, 0, 366, 38, 176, 0, 195, 0, 350, 168,
	161, 0, 0, 165, 134, 165, 0, 0, 64, 76,
	77, 0, 0, 542, 0, 505, 506, 0, 0, 0,
	0, 497, 480, 520, 0, 572, 0, -2, 0, 567,
	566, 353, 37, 0, 0, 0, 0, 385, 175, 177,
	0, 182, 0, 194, 0, 0, 173, 0, 170, 172,
	158, 155, 123, 124, 138, 141, 0, 0, 28, 0,
	0, 474, 475, 477, 478, 0, 0, 0, 0, 562,
	29, 0, 359, 386, 387, 388, 349, 178, 179, 0,
	183, 181, 0, 351, 86, 0, 169, 171, 0, 70,
	0, 239, 0, 543, 541, 479, 0, 0, 0, 570,
	-2, 568, 180, 0, 174, 159, 73, 238, 0, 0,
	498, 0, 501, 0, 221, 240, 0, 499, 0, 0,
	0, 198, 0, 0, 199, 200, 0, 0, 500, 201,
	0, 0, 0, 0, 0, 202, 204, 205, 0, 0,
	203, 241, 242, 206, 207, 208,
martianzhang's avatar
martianzhang 已提交
2449 2450 2451 2452 2453 2454 2455 2456
}
var yyTok1 = [...]int{

	1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 75, 3, 3, 3, 102, 94, 3,
	54, 56, 99, 97, 55, 98, 112, 100, 3, 3,
L
liipx 已提交
2457
	3, 3, 3, 3, 3, 3, 3, 3, 3, 263,
martianzhang's avatar
martianzhang 已提交
2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
	83, 82, 84, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 104, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	3, 3, 3, 3, 93, 3, 105,
}
var yyTok2 = [...]int{

	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, 57, 58, 59, 60, 61, 62, 63, 64,
	65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
	76, 77, 78, 79, 80, 81, 85, 86, 87, 88,
	89, 90, 91, 92, 95, 96, 101, 103, 106, 107,
	108, 109, 110, 111, 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,
L
liipx 已提交
2492
	259, 260, 261, 262,
martianzhang's avatar
martianzhang 已提交
2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856
}
var yyTok3 = [...]int{
	0,
}

var yyErrorMessages = [...]struct {
	state int
	token int
	msg   string
}{}

//line yaccpar:1

/*	parser for yacc output	*/

var (
	yyDebug        = 0
	yyErrorVerbose = false
)

type yyLexer interface {
	Lex(lval *yySymType) int
	Error(s string)
}

type yyParser interface {
	Parse(yyLexer) int
	Lookahead() int
}

type yyParserImpl struct {
	lval  yySymType
	stack [yyInitialStackSize]yySymType
	char  int
}

func (p *yyParserImpl) Lookahead() int {
	return p.char
}

func yyNewParser() yyParser {
	return &yyParserImpl{}
}

const yyFlag = -1000

func yyTokname(c int) string {
	if c >= 1 && c-1 < len(yyToknames) {
		if yyToknames[c-1] != "" {
			return yyToknames[c-1]
		}
	}
	return __yyfmt__.Sprintf("tok-%v", c)
}

func yyStatname(s int) string {
	if s >= 0 && s < len(yyStatenames) {
		if yyStatenames[s] != "" {
			return yyStatenames[s]
		}
	}
	return __yyfmt__.Sprintf("state-%v", s)
}

func yyErrorMessage(state, lookAhead int) string {
	const TOKSTART = 4

	if !yyErrorVerbose {
		return "syntax error"
	}

	for _, e := range yyErrorMessages {
		if e.state == state && e.token == lookAhead {
			return "syntax error: " + e.msg
		}
	}

	res := "syntax error: unexpected " + yyTokname(lookAhead)

	// To match Bison, suggest at most four expected tokens.
	expected := make([]int, 0, 4)

	// Look for shiftable tokens.
	base := yyPact[state]
	for tok := TOKSTART; tok-1 < len(yyToknames); tok++ {
		if n := base + tok; n >= 0 && n < yyLast && yyChk[yyAct[n]] == tok {
			if len(expected) == cap(expected) {
				return res
			}
			expected = append(expected, tok)
		}
	}

	if yyDef[state] == -2 {
		i := 0
		for yyExca[i] != -1 || yyExca[i+1] != state {
			i += 2
		}

		// Look for tokens that we accept or reduce.
		for i += 2; yyExca[i] >= 0; i += 2 {
			tok := yyExca[i]
			if tok < TOKSTART || yyExca[i+1] == 0 {
				continue
			}
			if len(expected) == cap(expected) {
				return res
			}
			expected = append(expected, tok)
		}

		// If the default action is to accept or reduce, give up.
		if yyExca[i+1] != 0 {
			return res
		}
	}

	for i, tok := range expected {
		if i == 0 {
			res += ", expecting "
		} else {
			res += " or "
		}
		res += yyTokname(tok)
	}
	return res
}

func yylex1(lex yyLexer, lval *yySymType) (char, token int) {
	token = 0
	char = lex.Lex(lval)
	if char <= 0 {
		token = yyTok1[0]
		goto out
	}
	if char < len(yyTok1) {
		token = yyTok1[char]
		goto out
	}
	if char >= yyPrivate {
		if char < yyPrivate+len(yyTok2) {
			token = yyTok2[char-yyPrivate]
			goto out
		}
	}
	for i := 0; i < len(yyTok3); i += 2 {
		token = yyTok3[i+0]
		if token == char {
			token = yyTok3[i+1]
			goto out
		}
	}

out:
	if token == 0 {
		token = yyTok2[1] /* unknown char */
	}
	if yyDebug >= 3 {
		__yyfmt__.Printf("lex %s(%d)\n", yyTokname(token), uint(char))
	}
	return char, token
}

func yyParse(yylex yyLexer) int {
	return yyNewParser().Parse(yylex)
}

func (yyrcvr *yyParserImpl) Parse(yylex yyLexer) int {
	var yyn int
	var yyVAL yySymType
	var yyDollar []yySymType
	_ = yyDollar // silence set and not used
	yyS := yyrcvr.stack[:]

	Nerrs := 0   /* number of errors */
	Errflag := 0 /* error recovery flag */
	yystate := 0
	yyrcvr.char = -1
	yytoken := -1 // yyrcvr.char translated into internal numbering
	defer func() {
		// Make sure we report no lookahead when not parsing.
		yystate = -1
		yyrcvr.char = -1
		yytoken = -1
	}()
	yyp := -1
	goto yystack

ret0:
	return 0

ret1:
	return 1

yystack:
	/* put a state and value onto the stack */
	if yyDebug >= 4 {
		__yyfmt__.Printf("char %v in %v\n", yyTokname(yytoken), yyStatname(yystate))
	}

	yyp++
	if yyp >= len(yyS) {
		nyys := make([]yySymType, len(yyS)*2)
		copy(nyys, yyS)
		yyS = nyys
	}
	yyS[yyp] = yyVAL
	yyS[yyp].yys = yystate

yynewstate:
	yyn = yyPact[yystate]
	if yyn <= yyFlag {
		goto yydefault /* simple state */
	}
	if yyrcvr.char < 0 {
		yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
	}
	yyn += yytoken
	if yyn < 0 || yyn >= yyLast {
		goto yydefault
	}
	yyn = yyAct[yyn]
	if yyChk[yyn] == yytoken { /* valid shift */
		yyrcvr.char = -1
		yytoken = -1
		yyVAL = yyrcvr.lval
		yystate = yyn
		if Errflag > 0 {
			Errflag--
		}
		goto yystack
	}

yydefault:
	/* default state action */
	yyn = yyDef[yystate]
	if yyn == -2 {
		if yyrcvr.char < 0 {
			yyrcvr.char, yytoken = yylex1(yylex, &yyrcvr.lval)
		}

		/* look through exception table */
		xi := 0
		for {
			if yyExca[xi+0] == -1 && yyExca[xi+1] == yystate {
				break
			}
			xi += 2
		}
		for xi += 2; ; xi += 2 {
			yyn = yyExca[xi+0]
			if yyn < 0 || yyn == yytoken {
				break
			}
		}
		yyn = yyExca[xi+1]
		if yyn < 0 {
			goto ret0
		}
	}
	if yyn == 0 {
		/* error ... attempt to resume parsing */
		switch Errflag {
		case 0: /* brand new error */
			yylex.Error(yyErrorMessage(yystate, yytoken))
			Nerrs++
			if yyDebug >= 1 {
				__yyfmt__.Printf("%s", yyStatname(yystate))
				__yyfmt__.Printf(" saw %s\n", yyTokname(yytoken))
			}
			fallthrough

		case 1, 2: /* incompletely recovered error ... try again */
			Errflag = 3

			/* find a state where "error" is a legal shift action */
			for yyp >= 0 {
				yyn = yyPact[yyS[yyp].yys] + yyErrCode
				if yyn >= 0 && yyn < yyLast {
					yystate = yyAct[yyn] /* simulate a shift of "error" */
					if yyChk[yystate] == yyErrCode {
						goto yystack
					}
				}

				/* the current p has no shift on "error", pop stack */
				if yyDebug >= 2 {
					__yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys)
				}
				yyp--
			}
			/* there is no state on the stack with an error shift ... abort */
			goto ret1

		case 3: /* no shift yet; clobber input char */
			if yyDebug >= 2 {
				__yyfmt__.Printf("error recovery discards %s\n", yyTokname(yytoken))
			}
			if yytoken == yyEofCode {
				goto ret1
			}
			yyrcvr.char = -1
			yytoken = -1
			goto yynewstate /* try again in the same state */
		}
	}

	/* reduction by production yyn */
	if yyDebug >= 2 {
		__yyfmt__.Printf("reduce %v in:\n\t%v\n", yyn, yyStatname(yystate))
	}

	yynt := yyn
	yypt := yyp
	_ = yypt // guard against "declared and not used"

	yyp -= yyR2[yyn]
	// yyp is now the index of $0. Perform the default action. Iff the
	// reduced production is ε, $1 is possibly out of range.
	if yyp+1 >= len(yyS) {
		nyys := make([]yySymType, len(yyS)*2)
		copy(nyys, yyS)
		yyS = nyys
	}
	yyVAL = yyS[yyp+1]

	/* consult goto table to find next state */
	yyn = yyR1[yyn]
	yyg := yyPgo[yyn]
	yyj := yyg + yyS[yyp].yys + 1

	if yyj >= yyLast {
		yystate = yyAct[yyg]
	} else {
		yystate = yyAct[yyj]
		if yyChk[yystate] != -yyn {
			yystate = yyAct[yyg]
		}
	}
	// dummy call; replaced with literal code
	switch yynt {

	case 1:
		yyDollar = yyS[yypt-2 : yypt+1]
//line sql.y:313
		{
			setParseTree(yylex, yyDollar[1].statement)
		}
	case 2:
		yyDollar = yyS[yypt-0 : yypt+1]
//line sql.y:318
		{
		}
	case 3:
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:319
		{
		}
	case 4:
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:323
		{
			yyVAL.statement = yyDollar[1].selStmt
		}
martianzhang's avatar
martianzhang 已提交
2857
	case 23:
martianzhang's avatar
martianzhang 已提交
2858
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2859
//line sql.y:345
martianzhang's avatar
martianzhang 已提交
2860 2861 2862
		{
			setParseTree(yylex, nil)
		}
martianzhang's avatar
martianzhang 已提交
2863
	case 24:
martianzhang's avatar
martianzhang 已提交
2864
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2865
//line sql.y:351
martianzhang's avatar
martianzhang 已提交
2866 2867 2868 2869 2870 2871 2872
		{
			sel := yyDollar[1].selStmt.(*Select)
			sel.OrderBy = yyDollar[2].orderBy
			sel.Limit = yyDollar[3].limit
			sel.Lock = yyDollar[4].str
			yyVAL.selStmt = sel
		}
martianzhang's avatar
martianzhang 已提交
2873
	case 25:
martianzhang's avatar
martianzhang 已提交
2874
		yyDollar = yyS[yypt-6 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2875
//line sql.y:359
martianzhang's avatar
martianzhang 已提交
2876 2877 2878
		{
			yyVAL.selStmt = &Union{Type: yyDollar[2].str, Left: yyDollar[1].selStmt, Right: yyDollar[3].selStmt, OrderBy: yyDollar[4].orderBy, Limit: yyDollar[5].limit, Lock: yyDollar[6].str}
		}
martianzhang's avatar
martianzhang 已提交
2879
	case 26:
martianzhang's avatar
martianzhang 已提交
2880
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2881
//line sql.y:363
martianzhang's avatar
martianzhang 已提交
2882 2883 2884
		{
			yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, SelectExprs: SelectExprs{Nextval{Expr: yyDollar[5].expr}}, From: TableExprs{&AliasedTableExpr{Expr: yyDollar[7].tableName}}}
		}
martianzhang's avatar
martianzhang 已提交
2885
	case 27:
martianzhang's avatar
martianzhang 已提交
2886
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2887
//line sql.y:369
martianzhang's avatar
martianzhang 已提交
2888 2889 2890
		{
			yyVAL.statement = &Stream{Comments: Comments(yyDollar[2].bytes2), SelectExpr: yyDollar[3].selectExpr, Table: yyDollar[5].tableName}
		}
martianzhang's avatar
martianzhang 已提交
2891
	case 28:
martianzhang's avatar
martianzhang 已提交
2892
		yyDollar = yyS[yypt-10 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2893
//line sql.y:376
martianzhang's avatar
martianzhang 已提交
2894 2895 2896
		{
			yyVAL.selStmt = &Select{Comments: Comments(yyDollar[2].bytes2), Cache: yyDollar[3].str, Distinct: yyDollar[4].str, Hints: yyDollar[5].str, SelectExprs: yyDollar[6].selectExprs, From: yyDollar[7].tableExprs, Where: NewWhere(WhereStr, yyDollar[8].expr), GroupBy: GroupBy(yyDollar[9].exprs), Having: NewWhere(HavingStr, yyDollar[10].expr)}
		}
martianzhang's avatar
martianzhang 已提交
2897
	case 29:
martianzhang's avatar
martianzhang 已提交
2898
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2899
//line sql.y:382
martianzhang's avatar
martianzhang 已提交
2900 2901 2902
		{
			yyVAL.selStmt = yyDollar[1].selStmt
		}
martianzhang's avatar
martianzhang 已提交
2903
	case 30:
martianzhang's avatar
martianzhang 已提交
2904
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2905
//line sql.y:386
martianzhang's avatar
martianzhang 已提交
2906 2907 2908
		{
			yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt}
		}
martianzhang's avatar
martianzhang 已提交
2909
	case 31:
martianzhang's avatar
martianzhang 已提交
2910
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2911
//line sql.y:392
martianzhang's avatar
martianzhang 已提交
2912 2913 2914
		{
			yyVAL.selStmt = yyDollar[1].selStmt
		}
martianzhang's avatar
martianzhang 已提交
2915
	case 32:
martianzhang's avatar
martianzhang 已提交
2916
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2917
//line sql.y:396
martianzhang's avatar
martianzhang 已提交
2918 2919 2920
		{
			yyVAL.selStmt = &ParenSelect{Select: yyDollar[2].selStmt}
		}
martianzhang's avatar
martianzhang 已提交
2921
	case 33:
martianzhang's avatar
martianzhang 已提交
2922
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2923
//line sql.y:403
martianzhang's avatar
martianzhang 已提交
2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934
		{
			// insert_data returns a *Insert pre-filled with Columns & Values
			ins := yyDollar[6].ins
			ins.Action = yyDollar[1].str
			ins.Comments = yyDollar[2].bytes2
			ins.Ignore = yyDollar[3].str
			ins.Table = yyDollar[4].tableName
			ins.Partitions = yyDollar[5].partitions
			ins.OnDup = OnDup(yyDollar[7].updateExprs)
			yyVAL.statement = ins
		}
martianzhang's avatar
martianzhang 已提交
2935
	case 34:
martianzhang's avatar
martianzhang 已提交
2936
		yyDollar = yyS[yypt-8 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2937
//line sql.y:415
martianzhang's avatar
martianzhang 已提交
2938 2939 2940 2941 2942 2943 2944 2945 2946
		{
			cols := make(Columns, 0, len(yyDollar[7].updateExprs))
			vals := make(ValTuple, 0, len(yyDollar[8].updateExprs))
			for _, updateList := range yyDollar[7].updateExprs {
				cols = append(cols, updateList.Name.Name)
				vals = append(vals, updateList.Expr)
			}
			yyVAL.statement = &Insert{Action: yyDollar[1].str, Comments: Comments(yyDollar[2].bytes2), Ignore: yyDollar[3].str, Table: yyDollar[4].tableName, Partitions: yyDollar[5].partitions, Columns: cols, Rows: Values{vals}, OnDup: OnDup(yyDollar[8].updateExprs)}
		}
martianzhang's avatar
martianzhang 已提交
2947
	case 35:
martianzhang's avatar
martianzhang 已提交
2948
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2949
//line sql.y:427
martianzhang's avatar
martianzhang 已提交
2950 2951 2952
		{
			yyVAL.str = InsertStr
		}
martianzhang's avatar
martianzhang 已提交
2953
	case 36:
martianzhang's avatar
martianzhang 已提交
2954
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2955
//line sql.y:431
martianzhang's avatar
martianzhang 已提交
2956 2957 2958
		{
			yyVAL.str = ReplaceStr
		}
martianzhang's avatar
martianzhang 已提交
2959
	case 37:
martianzhang's avatar
martianzhang 已提交
2960
		yyDollar = yyS[yypt-9 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2961
//line sql.y:437
martianzhang's avatar
martianzhang 已提交
2962 2963 2964
		{
			yyVAL.statement = &Update{Comments: Comments(yyDollar[2].bytes2), Ignore: yyDollar[3].str, TableExprs: yyDollar[4].tableExprs, Exprs: yyDollar[6].updateExprs, Where: NewWhere(WhereStr, yyDollar[7].expr), OrderBy: yyDollar[8].orderBy, Limit: yyDollar[9].limit}
		}
martianzhang's avatar
martianzhang 已提交
2965
	case 38:
martianzhang's avatar
martianzhang 已提交
2966
		yyDollar = yyS[yypt-8 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2967
//line sql.y:443
martianzhang's avatar
martianzhang 已提交
2968 2969 2970
		{
			yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), TableExprs: TableExprs{&AliasedTableExpr{Expr: yyDollar[4].tableName}}, Partitions: yyDollar[5].partitions, Where: NewWhere(WhereStr, yyDollar[6].expr), OrderBy: yyDollar[7].orderBy, Limit: yyDollar[8].limit}
		}
martianzhang's avatar
martianzhang 已提交
2971
	case 39:
martianzhang's avatar
martianzhang 已提交
2972
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2973
//line sql.y:447
martianzhang's avatar
martianzhang 已提交
2974 2975 2976
		{
			yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[4].tableNames, TableExprs: yyDollar[6].tableExprs, Where: NewWhere(WhereStr, yyDollar[7].expr)}
		}
martianzhang's avatar
martianzhang 已提交
2977
	case 40:
martianzhang's avatar
martianzhang 已提交
2978
		yyDollar = yyS[yypt-6 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2979
//line sql.y:451
martianzhang's avatar
martianzhang 已提交
2980 2981 2982 2983 2984 2985 2986 2987 2988 2989
		{
			yyVAL.statement = &Delete{Comments: Comments(yyDollar[2].bytes2), Targets: yyDollar[3].tableNames, TableExprs: yyDollar[5].tableExprs, Where: NewWhere(WhereStr, yyDollar[6].expr)}
		}
	case 41:
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:456
		{
		}
	case 42:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
2990
//line sql.y:457
martianzhang's avatar
martianzhang 已提交
2991 2992 2993
		{
		}
	case 43:
martianzhang's avatar
martianzhang 已提交
2994 2995 2996 2997 2998 2999
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:461
		{
			yyVAL.tableNames = TableNames{yyDollar[1].tableName}
		}
	case 44:
martianzhang's avatar
martianzhang 已提交
3000
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3001
//line sql.y:465
martianzhang's avatar
martianzhang 已提交
3002 3003 3004
		{
			yyVAL.tableNames = append(yyVAL.tableNames, yyDollar[3].tableName)
		}
martianzhang's avatar
martianzhang 已提交
3005
	case 45:
martianzhang's avatar
martianzhang 已提交
3006
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3007
//line sql.y:470
martianzhang's avatar
martianzhang 已提交
3008 3009 3010
		{
			yyVAL.partitions = nil
		}
martianzhang's avatar
martianzhang 已提交
3011
	case 46:
martianzhang's avatar
martianzhang 已提交
3012
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3013
//line sql.y:474
martianzhang's avatar
martianzhang 已提交
3014 3015 3016
		{
			yyVAL.partitions = yyDollar[3].partitions
		}
martianzhang's avatar
martianzhang 已提交
3017
	case 47:
martianzhang's avatar
martianzhang 已提交
3018
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3019
//line sql.y:480
martianzhang's avatar
martianzhang 已提交
3020 3021 3022
		{
			yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[3].setExprs}
		}
martianzhang's avatar
martianzhang 已提交
3023
	case 48:
martianzhang's avatar
martianzhang 已提交
3024
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3025
//line sql.y:484
martianzhang's avatar
martianzhang 已提交
3026 3027 3028
		{
			yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Scope: yyDollar[3].str, Exprs: yyDollar[4].setExprs}
		}
martianzhang's avatar
martianzhang 已提交
3029
	case 49:
martianzhang's avatar
martianzhang 已提交
3030
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3031
//line sql.y:488
martianzhang's avatar
martianzhang 已提交
3032 3033 3034
		{
			yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Scope: yyDollar[3].str, Exprs: yyDollar[5].setExprs}
		}
martianzhang's avatar
martianzhang 已提交
3035
	case 50:
martianzhang's avatar
martianzhang 已提交
3036
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3037
//line sql.y:492
martianzhang's avatar
martianzhang 已提交
3038 3039 3040
		{
			yyVAL.statement = &Set{Comments: Comments(yyDollar[2].bytes2), Exprs: yyDollar[4].setExprs}
		}
martianzhang's avatar
martianzhang 已提交
3041
	case 51:
martianzhang's avatar
martianzhang 已提交
3042
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3043
//line sql.y:498
martianzhang's avatar
martianzhang 已提交
3044 3045 3046
		{
			yyVAL.setExprs = SetExprs{yyDollar[1].setExpr}
		}
martianzhang's avatar
martianzhang 已提交
3047
	case 52:
martianzhang's avatar
martianzhang 已提交
3048
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3049
//line sql.y:502
martianzhang's avatar
martianzhang 已提交
3050 3051 3052
		{
			yyVAL.setExprs = append(yyVAL.setExprs, yyDollar[3].setExpr)
		}
martianzhang's avatar
martianzhang 已提交
3053
	case 53:
martianzhang's avatar
martianzhang 已提交
3054
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3055
//line sql.y:508
martianzhang's avatar
martianzhang 已提交
3056 3057 3058
		{
			yyVAL.setExpr = &SetExpr{Name: NewColIdent(TransactionStr), Expr: NewStrVal([]byte(yyDollar[3].str))}
		}
martianzhang's avatar
martianzhang 已提交
3059
	case 54:
martianzhang's avatar
martianzhang 已提交
3060
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3061
//line sql.y:512
martianzhang's avatar
martianzhang 已提交
3062 3063 3064
		{
			yyVAL.setExpr = &SetExpr{Name: NewColIdent(TransactionStr), Expr: NewStrVal([]byte(TxReadWrite))}
		}
martianzhang's avatar
martianzhang 已提交
3065
	case 55:
martianzhang's avatar
martianzhang 已提交
3066
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3067
//line sql.y:516
martianzhang's avatar
martianzhang 已提交
3068 3069 3070
		{
			yyVAL.setExpr = &SetExpr{Name: NewColIdent(TransactionStr), Expr: NewStrVal([]byte(TxReadOnly))}
		}
martianzhang's avatar
martianzhang 已提交
3071
	case 56:
martianzhang's avatar
martianzhang 已提交
3072
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3073
//line sql.y:522
martianzhang's avatar
martianzhang 已提交
3074 3075 3076
		{
			yyVAL.str = IsolationLevelRepeatableRead
		}
martianzhang's avatar
martianzhang 已提交
3077
	case 57:
martianzhang's avatar
martianzhang 已提交
3078
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3079
//line sql.y:526
martianzhang's avatar
martianzhang 已提交
3080 3081 3082
		{
			yyVAL.str = IsolationLevelReadCommitted
		}
martianzhang's avatar
martianzhang 已提交
3083
	case 58:
martianzhang's avatar
martianzhang 已提交
3084
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3085
//line sql.y:530
martianzhang's avatar
martianzhang 已提交
3086 3087 3088
		{
			yyVAL.str = IsolationLevelReadUncommitted
		}
martianzhang's avatar
martianzhang 已提交
3089
	case 59:
martianzhang's avatar
martianzhang 已提交
3090
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3091
//line sql.y:534
martianzhang's avatar
martianzhang 已提交
3092 3093 3094
		{
			yyVAL.str = IsolationLevelSerializable
		}
martianzhang's avatar
martianzhang 已提交
3095
	case 60:
martianzhang's avatar
martianzhang 已提交
3096
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3097
//line sql.y:540
martianzhang's avatar
martianzhang 已提交
3098 3099 3100
		{
			yyVAL.str = SessionStr
		}
martianzhang's avatar
martianzhang 已提交
3101
	case 61:
martianzhang's avatar
martianzhang 已提交
3102
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3103
//line sql.y:544
martianzhang's avatar
martianzhang 已提交
3104 3105 3106
		{
			yyVAL.str = GlobalStr
		}
martianzhang's avatar
martianzhang 已提交
3107
	case 62:
martianzhang's avatar
martianzhang 已提交
3108
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3109
//line sql.y:550
martianzhang's avatar
martianzhang 已提交
3110 3111 3112 3113
		{
			yyDollar[1].ddl.TableSpec = yyDollar[2].TableSpec
			yyVAL.statement = yyDollar[1].ddl
		}
martianzhang's avatar
martianzhang 已提交
3114
	case 63:
martianzhang's avatar
martianzhang 已提交
3115
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3116
//line sql.y:555
martianzhang's avatar
martianzhang 已提交
3117 3118 3119 3120 3121
		{
			// Create table [name] like [name]
			yyDollar[1].ddl.OptLike = yyDollar[2].optLike
			yyVAL.statement = yyDollar[1].ddl
		}
martianzhang's avatar
martianzhang 已提交
3122
	case 64:
martianzhang's avatar
martianzhang 已提交
3123
		yyDollar = yyS[yypt-8 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3124
//line sql.y:561
martianzhang's avatar
martianzhang 已提交
3125 3126
		{
			// Change this to an alter statement
L
liipx 已提交
3127
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[7].tableName}
martianzhang's avatar
martianzhang 已提交
3128
		}
martianzhang's avatar
martianzhang 已提交
3129
	case 65:
martianzhang's avatar
martianzhang 已提交
3130
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3131
//line sql.y:566
martianzhang's avatar
martianzhang 已提交
3132
		{
L
liipx 已提交
3133
			yyVAL.statement = &DDL{Action: CreateStr, Table: yyDollar[3].tableName.ToViewName()}
martianzhang's avatar
martianzhang 已提交
3134
		}
martianzhang's avatar
martianzhang 已提交
3135
	case 66:
martianzhang's avatar
martianzhang 已提交
3136
		yyDollar = yyS[yypt-6 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3137
//line sql.y:570
martianzhang's avatar
martianzhang 已提交
3138
		{
L
liipx 已提交
3139
			yyVAL.statement = &DDL{Action: CreateStr, Table: yyDollar[5].tableName.ToViewName()}
martianzhang's avatar
martianzhang 已提交
3140
		}
martianzhang's avatar
martianzhang 已提交
3141
	case 67:
martianzhang's avatar
martianzhang 已提交
3142
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3143
//line sql.y:574
martianzhang's avatar
martianzhang 已提交
3144 3145 3146 3147 3148 3149 3150
		{
			yyVAL.statement = &DDL{Action: CreateVindexStr, VindexSpec: &VindexSpec{
				Name:   yyDollar[3].colIdent,
				Type:   yyDollar[4].colIdent,
				Params: yyDollar[5].vindexParams,
			}}
		}
martianzhang's avatar
martianzhang 已提交
3151
	case 68:
martianzhang's avatar
martianzhang 已提交
3152
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3153
//line sql.y:582
martianzhang's avatar
martianzhang 已提交
3154 3155 3156
		{
			yyVAL.statement = &DBDDL{Action: CreateStr, DBName: string(yyDollar[4].bytes)}
		}
martianzhang's avatar
martianzhang 已提交
3157
	case 69:
martianzhang's avatar
martianzhang 已提交
3158
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3159
//line sql.y:586
martianzhang's avatar
martianzhang 已提交
3160 3161 3162
		{
			yyVAL.statement = &DBDDL{Action: CreateStr, DBName: string(yyDollar[4].bytes)}
		}
martianzhang's avatar
martianzhang 已提交
3163
	case 70:
martianzhang's avatar
martianzhang 已提交
3164
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3165
//line sql.y:591
martianzhang's avatar
martianzhang 已提交
3166 3167 3168
		{
			yyVAL.colIdent = NewColIdent("")
		}
martianzhang's avatar
martianzhang 已提交
3169
	case 71:
martianzhang's avatar
martianzhang 已提交
3170
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3171
//line sql.y:595
martianzhang's avatar
martianzhang 已提交
3172 3173 3174
		{
			yyVAL.colIdent = yyDollar[2].colIdent
		}
martianzhang's avatar
martianzhang 已提交
3175
	case 72:
martianzhang's avatar
martianzhang 已提交
3176
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3177
//line sql.y:601
martianzhang's avatar
martianzhang 已提交
3178 3179 3180
		{
			yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes))
		}
martianzhang's avatar
martianzhang 已提交
3181
	case 73:
martianzhang's avatar
martianzhang 已提交
3182
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3183
//line sql.y:606
martianzhang's avatar
martianzhang 已提交
3184 3185 3186 3187
		{
			var v []VindexParam
			yyVAL.vindexParams = v
		}
martianzhang's avatar
martianzhang 已提交
3188
	case 74:
martianzhang's avatar
martianzhang 已提交
3189
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3190
//line sql.y:611
martianzhang's avatar
martianzhang 已提交
3191 3192 3193
		{
			yyVAL.vindexParams = yyDollar[2].vindexParams
		}
martianzhang's avatar
martianzhang 已提交
3194
	case 75:
martianzhang's avatar
martianzhang 已提交
3195
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3196
//line sql.y:617
martianzhang's avatar
martianzhang 已提交
3197 3198 3199 3200
		{
			yyVAL.vindexParams = make([]VindexParam, 0, 4)
			yyVAL.vindexParams = append(yyVAL.vindexParams, yyDollar[1].vindexParam)
		}
martianzhang's avatar
martianzhang 已提交
3201
	case 76:
martianzhang's avatar
martianzhang 已提交
3202
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3203
//line sql.y:622
martianzhang's avatar
martianzhang 已提交
3204 3205 3206
		{
			yyVAL.vindexParams = append(yyVAL.vindexParams, yyDollar[3].vindexParam)
		}
martianzhang's avatar
martianzhang 已提交
3207
	case 77:
martianzhang's avatar
martianzhang 已提交
3208
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3209
//line sql.y:628
martianzhang's avatar
martianzhang 已提交
3210 3211 3212
		{
			yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str}
		}
martianzhang's avatar
martianzhang 已提交
3213
	case 78:
martianzhang's avatar
martianzhang 已提交
3214
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3215
//line sql.y:634
martianzhang's avatar
martianzhang 已提交
3216
		{
L
liipx 已提交
3217
			yyVAL.ddl = &DDL{Action: CreateStr, Table: yyDollar[4].tableName}
martianzhang's avatar
martianzhang 已提交
3218 3219
			setDDL(yylex, yyVAL.ddl)
		}
martianzhang's avatar
martianzhang 已提交
3220
	case 79:
martianzhang's avatar
martianzhang 已提交
3221
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3222
//line sql.y:641
martianzhang's avatar
martianzhang 已提交
3223 3224 3225 3226
		{
			yyVAL.TableSpec = yyDollar[2].TableSpec
			yyVAL.TableSpec.Options = yyDollar[4].str
		}
martianzhang's avatar
martianzhang 已提交
3227
	case 80:
martianzhang's avatar
martianzhang 已提交
3228
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3229
//line sql.y:648
martianzhang's avatar
martianzhang 已提交
3230 3231 3232
		{
			yyVAL.optLike = &OptLike{LikeTable: yyDollar[2].tableName}
		}
martianzhang's avatar
martianzhang 已提交
3233
	case 81:
martianzhang's avatar
martianzhang 已提交
3234
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3235
//line sql.y:652
martianzhang's avatar
martianzhang 已提交
3236 3237 3238
		{
			yyVAL.optLike = &OptLike{LikeTable: yyDollar[3].tableName}
		}
martianzhang's avatar
martianzhang 已提交
3239
	case 82:
martianzhang's avatar
martianzhang 已提交
3240
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3241
//line sql.y:658
martianzhang's avatar
martianzhang 已提交
3242 3243 3244 3245
		{
			yyVAL.TableSpec = &TableSpec{}
			yyVAL.TableSpec.AddColumn(yyDollar[1].columnDefinition)
		}
martianzhang's avatar
martianzhang 已提交
3246
	case 83:
martianzhang's avatar
martianzhang 已提交
3247
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3248
//line sql.y:663
martianzhang's avatar
martianzhang 已提交
3249 3250 3251
		{
			yyVAL.TableSpec.AddColumn(yyDollar[3].columnDefinition)
		}
martianzhang's avatar
martianzhang 已提交
3252
	case 84:
martianzhang's avatar
martianzhang 已提交
3253
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3254
//line sql.y:667
martianzhang's avatar
martianzhang 已提交
3255 3256 3257
		{
			yyVAL.TableSpec.AddIndex(yyDollar[3].indexDefinition)
		}
martianzhang's avatar
martianzhang 已提交
3258
	case 85:
martianzhang's avatar
martianzhang 已提交
3259
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3260
//line sql.y:671
martianzhang's avatar
martianzhang 已提交
3261 3262 3263
		{
			yyVAL.TableSpec.AddConstraint(yyDollar[3].constraintDefinition)
		}
martianzhang's avatar
martianzhang 已提交
3264
	case 86:
martianzhang's avatar
martianzhang 已提交
3265
		yyDollar = yyS[yypt-8 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3266
//line sql.y:677
martianzhang's avatar
martianzhang 已提交
3267 3268 3269 3270 3271 3272 3273 3274 3275
		{
			yyDollar[2].columnType.NotNull = yyDollar[3].boolVal
			yyDollar[2].columnType.Default = yyDollar[4].optVal
			yyDollar[2].columnType.OnUpdate = yyDollar[5].optVal
			yyDollar[2].columnType.Autoincrement = yyDollar[6].boolVal
			yyDollar[2].columnType.KeyOpt = yyDollar[7].colKeyOpt
			yyDollar[2].columnType.Comment = yyDollar[8].optVal
			yyVAL.columnDefinition = &ColumnDefinition{Name: NewColIdent(string(yyDollar[1].bytes)), Type: yyDollar[2].columnType}
		}
martianzhang's avatar
martianzhang 已提交
3276
	case 87:
martianzhang's avatar
martianzhang 已提交
3277
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3278
//line sql.y:688
martianzhang's avatar
martianzhang 已提交
3279 3280 3281 3282 3283
		{
			yyVAL.columnType = yyDollar[1].columnType
			yyVAL.columnType.Unsigned = yyDollar[2].boolVal
			yyVAL.columnType.Zerofill = yyDollar[3].boolVal
		}
martianzhang's avatar
martianzhang 已提交
3284
	case 91:
martianzhang's avatar
martianzhang 已提交
3285
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3286
//line sql.y:699
martianzhang's avatar
martianzhang 已提交
3287 3288 3289 3290 3291 3292
		{
			yyVAL.columnType = yyDollar[1].columnType
			yyVAL.columnType.Length = yyDollar[2].optVal
		}
	case 92:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3293
//line sql.y:704
martianzhang's avatar
martianzhang 已提交
3294
		{
martianzhang's avatar
martianzhang 已提交
3295
			yyVAL.columnType = yyDollar[1].columnType
martianzhang's avatar
martianzhang 已提交
3296 3297 3298
		}
	case 93:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3299
//line sql.y:710
martianzhang's avatar
martianzhang 已提交
3300 3301 3302 3303 3304
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 94:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3305
//line sql.y:714
martianzhang's avatar
martianzhang 已提交
3306 3307 3308 3309 3310
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 95:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3311
//line sql.y:718
martianzhang's avatar
martianzhang 已提交
3312 3313 3314 3315 3316
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 96:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3317
//line sql.y:722
martianzhang's avatar
martianzhang 已提交
3318 3319 3320 3321 3322
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 97:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3323
//line sql.y:726
martianzhang's avatar
martianzhang 已提交
3324 3325 3326 3327 3328
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 98:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3329
//line sql.y:730
martianzhang's avatar
martianzhang 已提交
3330 3331 3332 3333
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 99:
martianzhang's avatar
martianzhang 已提交
3334 3335
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:734
martianzhang's avatar
martianzhang 已提交
3336 3337 3338 3339 3340
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 100:
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3341
//line sql.y:740
martianzhang's avatar
martianzhang 已提交
3342 3343 3344 3345 3346 3347 3348
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
		}
	case 101:
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3349
//line sql.y:746
martianzhang's avatar
martianzhang 已提交
3350 3351 3352 3353 3354 3355 3356
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
		}
	case 102:
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3357
//line sql.y:752
martianzhang's avatar
martianzhang 已提交
3358 3359 3360 3361 3362 3363 3364
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
		}
	case 103:
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3365
//line sql.y:758
martianzhang's avatar
martianzhang 已提交
3366 3367 3368 3369 3370 3371
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
		}
	case 104:
martianzhang's avatar
martianzhang 已提交
3372 3373
		yyDollar = yyS[yypt-2 : yypt+1]
//line sql.y:764
martianzhang's avatar
martianzhang 已提交
3374 3375
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
martianzhang's avatar
martianzhang 已提交
3376 3377
			yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length
			yyVAL.columnType.Scale = yyDollar[2].LengthScaleOption.Scale
martianzhang's avatar
martianzhang 已提交
3378 3379
		}
	case 105:
martianzhang's avatar
martianzhang 已提交
3380 3381
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:772
martianzhang's avatar
martianzhang 已提交
3382
		{
martianzhang's avatar
martianzhang 已提交
3383
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
martianzhang's avatar
martianzhang 已提交
3384 3385 3386
		}
	case 106:
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3387
//line sql.y:776
martianzhang's avatar
martianzhang 已提交
3388 3389 3390 3391 3392
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
		}
	case 107:
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3393
//line sql.y:780
martianzhang's avatar
martianzhang 已提交
3394 3395 3396 3397
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
		}
	case 108:
martianzhang's avatar
martianzhang 已提交
3398 3399
		yyDollar = yyS[yypt-2 : yypt+1]
//line sql.y:784
martianzhang's avatar
martianzhang 已提交
3400
		{
martianzhang's avatar
martianzhang 已提交
3401
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
martianzhang's avatar
martianzhang 已提交
3402 3403
		}
	case 109:
martianzhang's avatar
martianzhang 已提交
3404 3405
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:788
martianzhang's avatar
martianzhang 已提交
3406
		{
martianzhang's avatar
martianzhang 已提交
3407
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
martianzhang's avatar
martianzhang 已提交
3408 3409 3410
		}
	case 110:
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3411
//line sql.y:794
martianzhang's avatar
martianzhang 已提交
3412 3413 3414 3415
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str}
		}
	case 111:
martianzhang's avatar
martianzhang 已提交
3416 3417
		yyDollar = yyS[yypt-4 : yypt+1]
//line sql.y:798
martianzhang's avatar
martianzhang 已提交
3418
		{
martianzhang's avatar
martianzhang 已提交
3419
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: yyDollar[3].str, Collate: yyDollar[4].str}
martianzhang's avatar
martianzhang 已提交
3420 3421 3422
		}
	case 112:
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3423
//line sql.y:802
martianzhang's avatar
martianzhang 已提交
3424 3425 3426 3427
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
		}
	case 113:
martianzhang's avatar
martianzhang 已提交
3428 3429
		yyDollar = yyS[yypt-2 : yypt+1]
//line sql.y:806
martianzhang's avatar
martianzhang 已提交
3430
		{
martianzhang's avatar
martianzhang 已提交
3431
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
martianzhang's avatar
martianzhang 已提交
3432 3433 3434
		}
	case 114:
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3435
//line sql.y:810
martianzhang's avatar
martianzhang 已提交
3436 3437 3438 3439 3440
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str}
		}
	case 115:
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3441
//line sql.y:814
martianzhang's avatar
martianzhang 已提交
3442 3443 3444 3445 3446
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str}
		}
	case 116:
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3447
//line sql.y:818
martianzhang's avatar
martianzhang 已提交
3448 3449 3450 3451
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str}
		}
	case 117:
martianzhang's avatar
martianzhang 已提交
3452 3453
		yyDollar = yyS[yypt-3 : yypt+1]
//line sql.y:822
martianzhang's avatar
martianzhang 已提交
3454
		{
martianzhang's avatar
martianzhang 已提交
3455
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), Charset: yyDollar[2].str, Collate: yyDollar[3].str}
martianzhang's avatar
martianzhang 已提交
3456 3457 3458
		}
	case 118:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3459
//line sql.y:826
martianzhang's avatar
martianzhang 已提交
3460 3461 3462 3463 3464
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 119:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3465
//line sql.y:830
martianzhang's avatar
martianzhang 已提交
3466 3467 3468 3469 3470
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 120:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3471
//line sql.y:834
martianzhang's avatar
martianzhang 已提交
3472 3473 3474 3475 3476
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 121:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3477
//line sql.y:838
martianzhang's avatar
martianzhang 已提交
3478 3479 3480 3481
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 122:
martianzhang's avatar
martianzhang 已提交
3482 3483
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:842
martianzhang's avatar
martianzhang 已提交
3484
		{
martianzhang's avatar
martianzhang 已提交
3485
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
martianzhang's avatar
martianzhang 已提交
3486 3487 3488
		}
	case 123:
		yyDollar = yyS[yypt-6 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3489
//line sql.y:846
martianzhang's avatar
martianzhang 已提交
3490 3491 3492 3493
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str}
		}
	case 124:
martianzhang's avatar
martianzhang 已提交
3494 3495
		yyDollar = yyS[yypt-6 : yypt+1]
//line sql.y:851
martianzhang's avatar
martianzhang 已提交
3496
		{
martianzhang's avatar
martianzhang 已提交
3497
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].str, Collate: yyDollar[6].str}
martianzhang's avatar
martianzhang 已提交
3498 3499 3500
		}
	case 125:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3501
//line sql.y:857
martianzhang's avatar
martianzhang 已提交
3502 3503 3504 3505 3506
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 126:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3507
//line sql.y:861
martianzhang's avatar
martianzhang 已提交
3508 3509 3510 3511 3512
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 127:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3513
//line sql.y:865
martianzhang's avatar
martianzhang 已提交
3514 3515 3516 3517 3518
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 128:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3519
//line sql.y:869
martianzhang's avatar
martianzhang 已提交
3520 3521 3522 3523 3524
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 129:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3525
//line sql.y:873
martianzhang's avatar
martianzhang 已提交
3526 3527 3528 3529 3530
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 130:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3531
//line sql.y:877
martianzhang's avatar
martianzhang 已提交
3532 3533 3534 3535 3536
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 131:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3537
//line sql.y:881
martianzhang's avatar
martianzhang 已提交
3538 3539 3540 3541 3542
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 132:
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3543 3544 3545 3546 3547 3548 3549
//line sql.y:885
		{
			yyVAL.columnType = ColumnType{Type: string(yyDollar[1].bytes)}
		}
	case 133:
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:891
martianzhang's avatar
martianzhang 已提交
3550 3551 3552 3553
		{
			yyVAL.strs = make([]string, 0, 4)
			yyVAL.strs = append(yyVAL.strs, "'"+string(yyDollar[1].bytes)+"'")
		}
martianzhang's avatar
martianzhang 已提交
3554
	case 134:
martianzhang's avatar
martianzhang 已提交
3555
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3556
//line sql.y:896
martianzhang's avatar
martianzhang 已提交
3557 3558 3559
		{
			yyVAL.strs = append(yyDollar[1].strs, "'"+string(yyDollar[3].bytes)+"'")
		}
martianzhang's avatar
martianzhang 已提交
3560
	case 135:
martianzhang's avatar
martianzhang 已提交
3561
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3562
//line sql.y:901
martianzhang's avatar
martianzhang 已提交
3563 3564 3565
		{
			yyVAL.optVal = nil
		}
martianzhang's avatar
martianzhang 已提交
3566
	case 136:
martianzhang's avatar
martianzhang 已提交
3567
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3568
//line sql.y:905
martianzhang's avatar
martianzhang 已提交
3569 3570 3571
		{
			yyVAL.optVal = NewIntVal(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3572
	case 137:
martianzhang's avatar
martianzhang 已提交
3573
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3574
//line sql.y:910
martianzhang's avatar
martianzhang 已提交
3575 3576 3577
		{
			yyVAL.LengthScaleOption = LengthScaleOption{}
		}
martianzhang's avatar
martianzhang 已提交
3578
	case 138:
martianzhang's avatar
martianzhang 已提交
3579
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3580
//line sql.y:914
martianzhang's avatar
martianzhang 已提交
3581 3582 3583 3584 3585 3586
		{
			yyVAL.LengthScaleOption = LengthScaleOption{
				Length: NewIntVal(yyDollar[2].bytes),
				Scale:  NewIntVal(yyDollar[4].bytes),
			}
		}
martianzhang's avatar
martianzhang 已提交
3587
	case 139:
martianzhang's avatar
martianzhang 已提交
3588
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3589
//line sql.y:922
martianzhang's avatar
martianzhang 已提交
3590 3591 3592
		{
			yyVAL.LengthScaleOption = LengthScaleOption{}
		}
martianzhang's avatar
martianzhang 已提交
3593
	case 140:
martianzhang's avatar
martianzhang 已提交
3594
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3595
//line sql.y:926
martianzhang's avatar
martianzhang 已提交
3596 3597 3598 3599 3600
		{
			yyVAL.LengthScaleOption = LengthScaleOption{
				Length: NewIntVal(yyDollar[2].bytes),
			}
		}
martianzhang's avatar
martianzhang 已提交
3601
	case 141:
martianzhang's avatar
martianzhang 已提交
3602
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3603
//line sql.y:932
martianzhang's avatar
martianzhang 已提交
3604 3605 3606 3607 3608 3609
		{
			yyVAL.LengthScaleOption = LengthScaleOption{
				Length: NewIntVal(yyDollar[2].bytes),
				Scale:  NewIntVal(yyDollar[4].bytes),
			}
		}
martianzhang's avatar
martianzhang 已提交
3610
	case 142:
martianzhang's avatar
martianzhang 已提交
3611
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3612
//line sql.y:940
martianzhang's avatar
martianzhang 已提交
3613 3614 3615
		{
			yyVAL.boolVal = BoolVal(false)
		}
martianzhang's avatar
martianzhang 已提交
3616
	case 143:
martianzhang's avatar
martianzhang 已提交
3617
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3618
//line sql.y:944
martianzhang's avatar
martianzhang 已提交
3619 3620 3621
		{
			yyVAL.boolVal = BoolVal(true)
		}
martianzhang's avatar
martianzhang 已提交
3622
	case 144:
martianzhang's avatar
martianzhang 已提交
3623
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3624
//line sql.y:949
martianzhang's avatar
martianzhang 已提交
3625 3626 3627
		{
			yyVAL.boolVal = BoolVal(false)
		}
martianzhang's avatar
martianzhang 已提交
3628
	case 145:
martianzhang's avatar
martianzhang 已提交
3629
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3630
//line sql.y:953
martianzhang's avatar
martianzhang 已提交
3631 3632 3633
		{
			yyVAL.boolVal = BoolVal(true)
		}
martianzhang's avatar
martianzhang 已提交
3634
	case 146:
martianzhang's avatar
martianzhang 已提交
3635
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3636
//line sql.y:959
martianzhang's avatar
martianzhang 已提交
3637 3638 3639
		{
			yyVAL.boolVal = BoolVal(false)
		}
martianzhang's avatar
martianzhang 已提交
3640
	case 147:
martianzhang's avatar
martianzhang 已提交
3641
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3642
//line sql.y:963
martianzhang's avatar
martianzhang 已提交
3643 3644 3645
		{
			yyVAL.boolVal = BoolVal(false)
		}
martianzhang's avatar
martianzhang 已提交
3646
	case 148:
martianzhang's avatar
martianzhang 已提交
3647
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3648
//line sql.y:967
martianzhang's avatar
martianzhang 已提交
3649 3650 3651
		{
			yyVAL.boolVal = BoolVal(true)
		}
martianzhang's avatar
martianzhang 已提交
3652
	case 149:
martianzhang's avatar
martianzhang 已提交
3653
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3654
//line sql.y:972
martianzhang's avatar
martianzhang 已提交
3655 3656 3657
		{
			yyVAL.optVal = nil
		}
martianzhang's avatar
martianzhang 已提交
3658
	case 150:
martianzhang's avatar
martianzhang 已提交
3659
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3660
//line sql.y:976
martianzhang's avatar
martianzhang 已提交
3661 3662 3663
		{
			yyVAL.optVal = NewStrVal(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3664
	case 151:
martianzhang's avatar
martianzhang 已提交
3665
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3666
//line sql.y:980
martianzhang's avatar
martianzhang 已提交
3667 3668 3669
		{
			yyVAL.optVal = NewIntVal(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3670
	case 152:
martianzhang's avatar
martianzhang 已提交
3671
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3672
//line sql.y:984
martianzhang's avatar
martianzhang 已提交
3673 3674 3675
		{
			yyVAL.optVal = NewFloatVal(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3676
	case 153:
martianzhang's avatar
martianzhang 已提交
3677
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3678
//line sql.y:988
martianzhang's avatar
martianzhang 已提交
3679 3680 3681
		{
			yyVAL.optVal = NewValArg(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3682
	case 154:
martianzhang's avatar
martianzhang 已提交
3683
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3684
//line sql.y:992
martianzhang's avatar
martianzhang 已提交
3685 3686 3687
		{
			yyVAL.optVal = NewValArg(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3688
	case 155:
martianzhang's avatar
martianzhang 已提交
3689
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3690
//line sql.y:996
martianzhang's avatar
martianzhang 已提交
3691 3692 3693
		{
			yyVAL.optVal = NewValArg(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3694
	case 156:
martianzhang's avatar
martianzhang 已提交
3695
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3696
//line sql.y:1000
martianzhang's avatar
martianzhang 已提交
3697 3698 3699
		{
			yyVAL.optVal = NewBitVal(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3700
	case 157:
martianzhang's avatar
martianzhang 已提交
3701
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3702
//line sql.y:1005
martianzhang's avatar
martianzhang 已提交
3703 3704 3705
		{
			yyVAL.optVal = nil
		}
martianzhang's avatar
martianzhang 已提交
3706
	case 158:
martianzhang's avatar
martianzhang 已提交
3707
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3708
//line sql.y:1009
martianzhang's avatar
martianzhang 已提交
3709 3710 3711
		{
			yyVAL.optVal = NewValArg(yyDollar[3].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3712
	case 159:
martianzhang's avatar
martianzhang 已提交
3713
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3714
//line sql.y:1013
martianzhang's avatar
martianzhang 已提交
3715 3716 3717
		{
			yyVAL.optVal = NewValArg(yyDollar[3].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3718
	case 160:
martianzhang's avatar
martianzhang 已提交
3719
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3720
//line sql.y:1018
martianzhang's avatar
martianzhang 已提交
3721 3722 3723
		{
			yyVAL.boolVal = BoolVal(false)
		}
martianzhang's avatar
martianzhang 已提交
3724
	case 161:
martianzhang's avatar
martianzhang 已提交
3725
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3726
//line sql.y:1022
martianzhang's avatar
martianzhang 已提交
3727 3728 3729
		{
			yyVAL.boolVal = BoolVal(true)
		}
martianzhang's avatar
martianzhang 已提交
3730
	case 162:
martianzhang's avatar
martianzhang 已提交
3731
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3732
//line sql.y:1027
martianzhang's avatar
martianzhang 已提交
3733 3734 3735
		{
			yyVAL.str = ""
		}
martianzhang's avatar
martianzhang 已提交
3736
	case 163:
martianzhang's avatar
martianzhang 已提交
3737
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3738
//line sql.y:1031
martianzhang's avatar
martianzhang 已提交
3739 3740 3741
		{
			yyVAL.str = string(yyDollar[3].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3742
	case 164:
martianzhang's avatar
martianzhang 已提交
3743
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3744
//line sql.y:1035
martianzhang's avatar
martianzhang 已提交
3745 3746 3747
		{
			yyVAL.str = string(yyDollar[3].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3748
	case 165:
martianzhang's avatar
martianzhang 已提交
3749
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3750
//line sql.y:1040
martianzhang's avatar
martianzhang 已提交
3751 3752 3753
		{
			yyVAL.str = ""
		}
martianzhang's avatar
martianzhang 已提交
3754
	case 166:
martianzhang's avatar
martianzhang 已提交
3755
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3756
//line sql.y:1044
martianzhang's avatar
martianzhang 已提交
3757 3758 3759
		{
			yyVAL.str = string(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3760
	case 167:
martianzhang's avatar
martianzhang 已提交
3761
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3762
//line sql.y:1048
martianzhang's avatar
martianzhang 已提交
3763 3764 3765
		{
			yyVAL.str = string(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3766
	case 168:
martianzhang's avatar
martianzhang 已提交
3767
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3768
//line sql.y:1053
martianzhang's avatar
martianzhang 已提交
3769 3770 3771
		{
			yyVAL.colKeyOpt = colKeyNone
		}
martianzhang's avatar
martianzhang 已提交
3772
	case 169:
martianzhang's avatar
martianzhang 已提交
3773
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3774
//line sql.y:1057
martianzhang's avatar
martianzhang 已提交
3775 3776 3777
		{
			yyVAL.colKeyOpt = colKeyPrimary
		}
martianzhang's avatar
martianzhang 已提交
3778
	case 170:
martianzhang's avatar
martianzhang 已提交
3779
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3780
//line sql.y:1061
martianzhang's avatar
martianzhang 已提交
3781 3782 3783
		{
			yyVAL.colKeyOpt = colKey
		}
martianzhang's avatar
martianzhang 已提交
3784
	case 171:
martianzhang's avatar
martianzhang 已提交
3785
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3786
//line sql.y:1065
martianzhang's avatar
martianzhang 已提交
3787 3788 3789
		{
			yyVAL.colKeyOpt = colKeyUniqueKey
		}
martianzhang's avatar
martianzhang 已提交
3790
	case 172:
martianzhang's avatar
martianzhang 已提交
3791
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3792
//line sql.y:1069
martianzhang's avatar
martianzhang 已提交
3793 3794 3795
		{
			yyVAL.colKeyOpt = colKeyUnique
		}
martianzhang's avatar
martianzhang 已提交
3796
	case 173:
martianzhang's avatar
martianzhang 已提交
3797
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3798
//line sql.y:1074
martianzhang's avatar
martianzhang 已提交
3799 3800 3801
		{
			yyVAL.optVal = nil
		}
martianzhang's avatar
martianzhang 已提交
3802
	case 174:
martianzhang's avatar
martianzhang 已提交
3803
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3804
//line sql.y:1078
martianzhang's avatar
martianzhang 已提交
3805 3806 3807
		{
			yyVAL.optVal = NewStrVal(yyDollar[2].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3808
	case 175:
martianzhang's avatar
martianzhang 已提交
3809
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3810
//line sql.y:1084
martianzhang's avatar
martianzhang 已提交
3811 3812 3813
		{
			yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns, Options: yyDollar[5].indexOptions}
		}
martianzhang's avatar
martianzhang 已提交
3814
	case 176:
martianzhang's avatar
martianzhang 已提交
3815
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3816
//line sql.y:1088
martianzhang's avatar
martianzhang 已提交
3817 3818 3819
		{
			yyVAL.indexDefinition = &IndexDefinition{Info: yyDollar[1].indexInfo, Columns: yyDollar[3].indexColumns}
		}
martianzhang's avatar
martianzhang 已提交
3820
	case 177:
martianzhang's avatar
martianzhang 已提交
3821
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3822
//line sql.y:1094
martianzhang's avatar
martianzhang 已提交
3823 3824 3825
		{
			yyVAL.indexOptions = []*IndexOption{yyDollar[1].indexOption}
		}
martianzhang's avatar
martianzhang 已提交
3826
	case 178:
martianzhang's avatar
martianzhang 已提交
3827
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3828
//line sql.y:1098
martianzhang's avatar
martianzhang 已提交
3829 3830 3831
		{
			yyVAL.indexOptions = append(yyVAL.indexOptions, yyDollar[2].indexOption)
		}
martianzhang's avatar
martianzhang 已提交
3832
	case 179:
martianzhang's avatar
martianzhang 已提交
3833
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3834
//line sql.y:1104
martianzhang's avatar
martianzhang 已提交
3835 3836 3837
		{
			yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Using: string(yyDollar[2].bytes)}
		}
martianzhang's avatar
martianzhang 已提交
3838
	case 180:
martianzhang's avatar
martianzhang 已提交
3839
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3840
//line sql.y:1108
martianzhang's avatar
martianzhang 已提交
3841 3842 3843 3844
		{
			// should not be string
			yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewIntVal(yyDollar[3].bytes)}
		}
martianzhang's avatar
martianzhang 已提交
3845
	case 181:
martianzhang's avatar
martianzhang 已提交
3846
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3847
//line sql.y:1113
martianzhang's avatar
martianzhang 已提交
3848 3849 3850
		{
			yyVAL.indexOption = &IndexOption{Name: string(yyDollar[1].bytes), Value: NewStrVal(yyDollar[2].bytes)}
		}
martianzhang's avatar
martianzhang 已提交
3851
	case 182:
martianzhang's avatar
martianzhang 已提交
3852
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3853
//line sql.y:1119
martianzhang's avatar
martianzhang 已提交
3854 3855 3856
		{
			yyVAL.str = ""
		}
martianzhang's avatar
martianzhang 已提交
3857
	case 183:
martianzhang's avatar
martianzhang 已提交
3858
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3859
//line sql.y:1123
martianzhang's avatar
martianzhang 已提交
3860 3861 3862
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3863
	case 184:
martianzhang's avatar
martianzhang 已提交
3864
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3865
//line sql.y:1129
martianzhang's avatar
martianzhang 已提交
3866 3867 3868
		{
			yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].bytes), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true}
		}
martianzhang's avatar
martianzhang 已提交
3869
	case 185:
martianzhang's avatar
martianzhang 已提交
3870
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3871
//line sql.y:1133
martianzhang's avatar
martianzhang 已提交
3872 3873 3874
		{
			yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false}
		}
martianzhang's avatar
martianzhang 已提交
3875
	case 186:
martianzhang's avatar
martianzhang 已提交
3876
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3877
//line sql.y:1137
martianzhang's avatar
martianzhang 已提交
3878 3879 3880
		{
			yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Unique: true}
		}
martianzhang's avatar
martianzhang 已提交
3881
	case 187:
martianzhang's avatar
martianzhang 已提交
3882
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3883
//line sql.y:1141
martianzhang's avatar
martianzhang 已提交
3884 3885 3886
		{
			yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].bytes), Name: NewColIdent(yyDollar[2].str), Unique: true}
		}
martianzhang's avatar
martianzhang 已提交
3887
	case 188:
martianzhang's avatar
martianzhang 已提交
3888
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3889
//line sql.y:1145
martianzhang's avatar
martianzhang 已提交
3890 3891 3892
		{
			yyVAL.indexInfo = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false}
		}
martianzhang's avatar
martianzhang 已提交
3893
	case 189:
martianzhang's avatar
martianzhang 已提交
3894
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3895
//line sql.y:1151
martianzhang's avatar
martianzhang 已提交
3896 3897 3898
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3899
	case 190:
martianzhang's avatar
martianzhang 已提交
3900
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3901
//line sql.y:1155
martianzhang's avatar
martianzhang 已提交
3902 3903 3904
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3905
	case 191:
martianzhang's avatar
martianzhang 已提交
3906
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3907
//line sql.y:1160
martianzhang's avatar
martianzhang 已提交
3908 3909 3910
		{
			yyVAL.str = ""
		}
martianzhang's avatar
martianzhang 已提交
3911
	case 192:
martianzhang's avatar
martianzhang 已提交
3912
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3913
//line sql.y:1164
martianzhang's avatar
martianzhang 已提交
3914 3915 3916
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
martianzhang's avatar
martianzhang 已提交
3917
	case 193:
martianzhang's avatar
martianzhang 已提交
3918
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3919
//line sql.y:1170
martianzhang's avatar
martianzhang 已提交
3920 3921 3922
		{
			yyVAL.indexColumns = []*IndexColumn{yyDollar[1].indexColumn}
		}
martianzhang's avatar
martianzhang 已提交
3923
	case 194:
martianzhang's avatar
martianzhang 已提交
3924
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3925
//line sql.y:1174
martianzhang's avatar
martianzhang 已提交
3926 3927 3928
		{
			yyVAL.indexColumns = append(yyVAL.indexColumns, yyDollar[3].indexColumn)
		}
martianzhang's avatar
martianzhang 已提交
3929
	case 195:
martianzhang's avatar
martianzhang 已提交
3930
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3931
//line sql.y:1180
martianzhang's avatar
martianzhang 已提交
3932 3933 3934
		{
			yyVAL.indexColumn = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].optVal}
		}
martianzhang's avatar
martianzhang 已提交
3935
	case 196:
martianzhang's avatar
martianzhang 已提交
3936
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3937
//line sql.y:1186
martianzhang's avatar
martianzhang 已提交
3938 3939 3940
		{
			yyVAL.constraintDefinition = &ConstraintDefinition{Name: string(yyDollar[2].bytes), Details: yyDollar[3].constraintInfo}
		}
martianzhang's avatar
martianzhang 已提交
3941
	case 197:
martianzhang's avatar
martianzhang 已提交
3942
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3943
//line sql.y:1190
martianzhang's avatar
martianzhang 已提交
3944 3945 3946
		{
			yyVAL.constraintDefinition = &ConstraintDefinition{Details: yyDollar[1].constraintInfo}
		}
martianzhang's avatar
martianzhang 已提交
3947
	case 198:
martianzhang's avatar
martianzhang 已提交
3948
		yyDollar = yyS[yypt-10 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3949
//line sql.y:1197
martianzhang's avatar
martianzhang 已提交
3950 3951 3952
		{
			yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns}
		}
martianzhang's avatar
martianzhang 已提交
3953
	case 199:
martianzhang's avatar
martianzhang 已提交
3954
		yyDollar = yyS[yypt-11 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3955
//line sql.y:1201
martianzhang's avatar
martianzhang 已提交
3956 3957 3958
		{
			yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction}
		}
martianzhang's avatar
martianzhang 已提交
3959
	case 200:
martianzhang's avatar
martianzhang 已提交
3960
		yyDollar = yyS[yypt-11 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3961
//line sql.y:1205
martianzhang's avatar
martianzhang 已提交
3962 3963 3964
		{
			yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnUpdate: yyDollar[11].ReferenceAction}
		}
martianzhang's avatar
martianzhang 已提交
3965
	case 201:
martianzhang's avatar
martianzhang 已提交
3966
		yyDollar = yyS[yypt-12 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3967
//line sql.y:1209
martianzhang's avatar
martianzhang 已提交
3968 3969 3970
		{
			yyVAL.constraintInfo = &ForeignKeyDefinition{Source: yyDollar[4].columns, ReferencedTable: yyDollar[7].tableName, ReferencedColumns: yyDollar[9].columns, OnDelete: yyDollar[11].ReferenceAction, OnUpdate: yyDollar[12].ReferenceAction}
		}
martianzhang's avatar
martianzhang 已提交
3971
	case 202:
martianzhang's avatar
martianzhang 已提交
3972
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3973
//line sql.y:1215
martianzhang's avatar
martianzhang 已提交
3974 3975 3976
		{
			yyVAL.ReferenceAction = yyDollar[3].ReferenceAction
		}
martianzhang's avatar
martianzhang 已提交
3977
	case 203:
martianzhang's avatar
martianzhang 已提交
3978
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3979
//line sql.y:1221
martianzhang's avatar
martianzhang 已提交
3980 3981 3982
		{
			yyVAL.ReferenceAction = yyDollar[3].ReferenceAction
		}
martianzhang's avatar
martianzhang 已提交
3983
	case 204:
martianzhang's avatar
martianzhang 已提交
3984
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3985
//line sql.y:1227
martianzhang's avatar
martianzhang 已提交
3986 3987 3988
		{
			yyVAL.ReferenceAction = Restrict
		}
martianzhang's avatar
martianzhang 已提交
3989
	case 205:
martianzhang's avatar
martianzhang 已提交
3990
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3991
//line sql.y:1231
martianzhang's avatar
martianzhang 已提交
3992 3993 3994
		{
			yyVAL.ReferenceAction = Cascade
		}
martianzhang's avatar
martianzhang 已提交
3995
	case 206:
martianzhang's avatar
martianzhang 已提交
3996
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
3997
//line sql.y:1235
martianzhang's avatar
martianzhang 已提交
3998 3999 4000
		{
			yyVAL.ReferenceAction = NoAction
		}
martianzhang's avatar
martianzhang 已提交
4001
	case 207:
martianzhang's avatar
martianzhang 已提交
4002
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4003
//line sql.y:1239
martianzhang's avatar
martianzhang 已提交
4004 4005 4006
		{
			yyVAL.ReferenceAction = SetDefault
		}
martianzhang's avatar
martianzhang 已提交
4007
	case 208:
martianzhang's avatar
martianzhang 已提交
4008
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4009
//line sql.y:1243
martianzhang's avatar
martianzhang 已提交
4010 4011 4012
		{
			yyVAL.ReferenceAction = SetNull
		}
martianzhang's avatar
martianzhang 已提交
4013
	case 209:
martianzhang's avatar
martianzhang 已提交
4014
		yyDollar = yyS[yypt-0 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4015
//line sql.y:1248
martianzhang's avatar
martianzhang 已提交
4016 4017 4018
		{
			yyVAL.str = ""
		}
martianzhang's avatar
martianzhang 已提交
4019
	case 210:
martianzhang's avatar
martianzhang 已提交
4020
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4021
//line sql.y:1252
martianzhang's avatar
martianzhang 已提交
4022 4023 4024
		{
			yyVAL.str = " " + string(yyDollar[1].str)
		}
martianzhang's avatar
martianzhang 已提交
4025
	case 211:
martianzhang's avatar
martianzhang 已提交
4026
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4027
//line sql.y:1256
martianzhang's avatar
martianzhang 已提交
4028 4029 4030
		{
			yyVAL.str = string(yyDollar[1].str) + ", " + string(yyDollar[3].str)
		}
martianzhang's avatar
martianzhang 已提交
4031
	case 212:
martianzhang's avatar
martianzhang 已提交
4032
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4033
//line sql.y:1264
martianzhang's avatar
martianzhang 已提交
4034 4035 4036
		{
			yyVAL.str = yyDollar[1].str
		}
martianzhang's avatar
martianzhang 已提交
4037
	case 213:
martianzhang's avatar
martianzhang 已提交
4038
		yyDollar = yyS[yypt-2 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4039
//line sql.y:1268
martianzhang's avatar
martianzhang 已提交
4040 4041 4042
		{
			yyVAL.str = yyDollar[1].str + " " + yyDollar[2].str
		}
martianzhang's avatar
martianzhang 已提交
4043
	case 214:
martianzhang's avatar
martianzhang 已提交
4044
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4045
//line sql.y:1272
martianzhang's avatar
martianzhang 已提交
4046 4047 4048
		{
			yyVAL.str = yyDollar[1].str + "=" + yyDollar[3].str
		}
martianzhang's avatar
martianzhang 已提交
4049
	case 215:
martianzhang's avatar
martianzhang 已提交
4050
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4051
//line sql.y:1278
martianzhang's avatar
martianzhang 已提交
4052 4053 4054
		{
			yyVAL.str = yyDollar[1].colIdent.String()
		}
martianzhang's avatar
martianzhang 已提交
4055
	case 216:
martianzhang's avatar
martianzhang 已提交
4056
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4057
//line sql.y:1282
martianzhang's avatar
martianzhang 已提交
4058 4059 4060
		{
			yyVAL.str = "'" + string(yyDollar[1].bytes) + "'"
		}
martianzhang's avatar
martianzhang 已提交
4061
	case 217:
martianzhang's avatar
martianzhang 已提交
4062
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4063
//line sql.y:1286
martianzhang's avatar
martianzhang 已提交
4064 4065 4066
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
martianzhang's avatar
martianzhang 已提交
4067
	case 218:
martianzhang's avatar
martianzhang 已提交
4068
		yyDollar = yyS[yypt-6 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4069
//line sql.y:1292
martianzhang's avatar
martianzhang 已提交
4070
		{
L
liipx 已提交
4071
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[4].tableName}
martianzhang's avatar
martianzhang 已提交
4072
		}
martianzhang's avatar
martianzhang 已提交
4073
	case 219:
martianzhang's avatar
martianzhang 已提交
4074
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4075
//line sql.y:1296
martianzhang's avatar
martianzhang 已提交
4076
		{
L
liipx 已提交
4077
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[4].tableName}
martianzhang's avatar
martianzhang 已提交
4078
		}
martianzhang's avatar
martianzhang 已提交
4079
	case 220:
martianzhang's avatar
martianzhang 已提交
4080
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4081
//line sql.y:1300
martianzhang's avatar
martianzhang 已提交
4082
		{
L
liipx 已提交
4083
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[4].tableName}
martianzhang's avatar
martianzhang 已提交
4084
		}
martianzhang's avatar
martianzhang 已提交
4085
	case 221:
martianzhang's avatar
martianzhang 已提交
4086
		yyDollar = yyS[yypt-12 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4087
//line sql.y:1304
martianzhang's avatar
martianzhang 已提交
4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099
		{
			yyVAL.statement = &DDL{
				Action: AddColVindexStr,
				Table:  yyDollar[4].tableName,
				VindexSpec: &VindexSpec{
					Name:   yyDollar[7].colIdent,
					Type:   yyDollar[11].colIdent,
					Params: yyDollar[12].vindexParams,
				},
				VindexCols: yyDollar[9].columns,
			}
		}
martianzhang's avatar
martianzhang 已提交
4100
	case 222:
martianzhang's avatar
martianzhang 已提交
4101
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4102
//line sql.y:1317
martianzhang's avatar
martianzhang 已提交
4103 4104 4105 4106 4107 4108 4109 4110 4111
		{
			yyVAL.statement = &DDL{
				Action: DropColVindexStr,
				Table:  yyDollar[4].tableName,
				VindexSpec: &VindexSpec{
					Name: yyDollar[7].colIdent,
				},
			}
		}
martianzhang's avatar
martianzhang 已提交
4112
	case 223:
martianzhang's avatar
martianzhang 已提交
4113
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4114
//line sql.y:1327
martianzhang's avatar
martianzhang 已提交
4115 4116
		{
			// Change this to a rename statement
L
liipx 已提交
4117
			yyVAL.statement = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[4].tableName}, ToTables: TableNames{yyDollar[7].tableName}}
martianzhang's avatar
martianzhang 已提交
4118
		}
martianzhang's avatar
martianzhang 已提交
4119
	case 224:
martianzhang's avatar
martianzhang 已提交
4120
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4121
//line sql.y:1332
martianzhang's avatar
martianzhang 已提交
4122 4123
		{
			// Rename an index can just be an alter
L
liipx 已提交
4124
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[4].tableName}
martianzhang's avatar
martianzhang 已提交
4125
		}
martianzhang's avatar
martianzhang 已提交
4126
	case 225:
martianzhang's avatar
martianzhang 已提交
4127
		yyDollar = yyS[yypt-4 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4128
//line sql.y:1337
martianzhang's avatar
martianzhang 已提交
4129
		{
L
liipx 已提交
4130
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[3].tableName.ToViewName()}
martianzhang's avatar
martianzhang 已提交
4131
		}
martianzhang's avatar
martianzhang 已提交
4132
	case 226:
martianzhang's avatar
martianzhang 已提交
4133
		yyDollar = yyS[yypt-5 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4134
//line sql.y:1341
martianzhang's avatar
martianzhang 已提交
4135 4136 4137
		{
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[4].tableName, PartitionSpec: yyDollar[5].partSpec}
		}
martianzhang's avatar
martianzhang 已提交
4138
	case 238:
martianzhang's avatar
martianzhang 已提交
4139
		yyDollar = yyS[yypt-7 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4140
//line sql.y:1360
martianzhang's avatar
martianzhang 已提交
4141 4142 4143
		{
			yyVAL.partSpec = &PartitionSpec{Action: ReorganizeStr, Name: yyDollar[3].colIdent, Definitions: yyDollar[6].partDefs}
		}
martianzhang's avatar
martianzhang 已提交
4144
	case 239:
martianzhang's avatar
martianzhang 已提交
4145
		yyDollar = yyS[yypt-1 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4146
//line sql.y:1366
martianzhang's avatar
martianzhang 已提交
4147 4148 4149
		{
			yyVAL.partDefs = []*PartitionDefinition{yyDollar[1].partDef}
		}
martianzhang's avatar
martianzhang 已提交
4150
	case 240:
martianzhang's avatar
martianzhang 已提交
4151
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4152
//line sql.y:1370
martianzhang's avatar
martianzhang 已提交
4153 4154 4155
		{
			yyVAL.partDefs = append(yyDollar[1].partDefs, yyDollar[3].partDef)
		}
martianzhang's avatar
martianzhang 已提交
4156
	case 241:
martianzhang's avatar
martianzhang 已提交
4157
		yyDollar = yyS[yypt-8 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4158
//line sql.y:1376
martianzhang's avatar
martianzhang 已提交
4159 4160 4161
		{
			yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Limit: yyDollar[7].expr}
		}
martianzhang's avatar
martianzhang 已提交
4162
	case 242:
martianzhang's avatar
martianzhang 已提交
4163
		yyDollar = yyS[yypt-8 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4164
//line sql.y:1380
martianzhang's avatar
martianzhang 已提交
4165 4166 4167
		{
			yyVAL.partDef = &PartitionDefinition{Name: yyDollar[2].colIdent, Maxvalue: true}
		}
martianzhang's avatar
martianzhang 已提交
4168
	case 243:
L
liipx 已提交
4169
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4170
//line sql.y:1386
martianzhang's avatar
martianzhang 已提交
4171
		{
L
liipx 已提交
4172
			yyVAL.statement = yyDollar[3].ddl
martianzhang's avatar
martianzhang 已提交
4173
		}
martianzhang's avatar
martianzhang 已提交
4174
	case 244:
L
liipx 已提交
4175
		yyDollar = yyS[yypt-3 : yypt+1]
martianzhang's avatar
martianzhang 已提交
4176
//line sql.y:1392
L
liipx 已提交
4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190
		{
			yyVAL.ddl = &DDL{Action: RenameStr, FromTables: TableNames{yyDollar[1].tableName}, ToTables: TableNames{yyDollar[3].tableName}}
		}
	case 245:
		yyDollar = yyS[yypt-5 : yypt+1]
//line sql.y:1396
		{
			yyVAL.ddl = yyDollar[1].ddl
			yyVAL.ddl.FromTables = append(yyVAL.ddl.FromTables, yyDollar[3].tableName)
			yyVAL.ddl.ToTables = append(yyVAL.ddl.ToTables, yyDollar[5].tableName)
		}
	case 246:
		yyDollar = yyS[yypt-4 : yypt+1]
//line sql.y:1404
martianzhang's avatar
martianzhang 已提交
4191 4192 4193 4194 4195
		{
			var exists bool
			if yyDollar[3].byt != 0 {
				exists = true
			}
L
liipx 已提交
4196
			yyVAL.statement = &DDL{Action: DropStr, FromTables: yyDollar[4].tableNames, IfExists: exists}
martianzhang's avatar
martianzhang 已提交
4197
		}
L
liipx 已提交
4198
	case 247:
martianzhang's avatar
martianzhang 已提交
4199
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
4200
//line sql.y:1412
martianzhang's avatar
martianzhang 已提交
4201 4202
		{
			// Change this to an alter statement
L
liipx 已提交
4203
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[5].tableName}
martianzhang's avatar
martianzhang 已提交
4204
		}
L
liipx 已提交
4205
	case 248:
martianzhang's avatar
martianzhang 已提交
4206
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
4207
//line sql.y:1417
martianzhang's avatar
martianzhang 已提交
4208 4209 4210 4211 4212
		{
			var exists bool
			if yyDollar[3].byt != 0 {
				exists = true
			}
L
liipx 已提交
4213
			yyVAL.statement = &DDL{Action: DropStr, FromTables: TableNames{yyDollar[4].tableName.ToViewName()}, IfExists: exists}
martianzhang's avatar
martianzhang 已提交
4214
		}
L
liipx 已提交
4215
	case 249:
martianzhang's avatar
martianzhang 已提交
4216
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4217
//line sql.y:1425
martianzhang's avatar
martianzhang 已提交
4218 4219 4220
		{
			yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes)}
		}
L
liipx 已提交
4221
	case 250:
martianzhang's avatar
martianzhang 已提交
4222
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4223
//line sql.y:1429
martianzhang's avatar
martianzhang 已提交
4224 4225 4226
		{
			yyVAL.statement = &DBDDL{Action: DropStr, DBName: string(yyDollar[4].bytes)}
		}
L
liipx 已提交
4227
	case 251:
martianzhang's avatar
martianzhang 已提交
4228
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4229
//line sql.y:1435
martianzhang's avatar
martianzhang 已提交
4230 4231 4232
		{
			yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[3].tableName}
		}
L
liipx 已提交
4233
	case 252:
martianzhang's avatar
martianzhang 已提交
4234
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4235
//line sql.y:1439
martianzhang's avatar
martianzhang 已提交
4236 4237 4238
		{
			yyVAL.statement = &DDL{Action: TruncateStr, Table: yyDollar[2].tableName}
		}
L
liipx 已提交
4239
	case 253:
martianzhang's avatar
martianzhang 已提交
4240
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4241
//line sql.y:1444
martianzhang's avatar
martianzhang 已提交
4242
		{
L
liipx 已提交
4243
			yyVAL.statement = &DDL{Action: AlterStr, Table: yyDollar[3].tableName}
martianzhang's avatar
martianzhang 已提交
4244
		}
L
liipx 已提交
4245
	case 254:
martianzhang's avatar
martianzhang 已提交
4246
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4247
//line sql.y:1450
martianzhang's avatar
martianzhang 已提交
4248 4249 4250
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4251
	case 255:
martianzhang's avatar
martianzhang 已提交
4252
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4253
//line sql.y:1454
martianzhang's avatar
martianzhang 已提交
4254 4255 4256
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4257
	case 256:
martianzhang's avatar
martianzhang 已提交
4258
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4259
//line sql.y:1458
martianzhang's avatar
martianzhang 已提交
4260 4261 4262
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4263
	case 257:
martianzhang's avatar
martianzhang 已提交
4264
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4265
//line sql.y:1463
martianzhang's avatar
martianzhang 已提交
4266 4267 4268
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4269
	case 258:
martianzhang's avatar
martianzhang 已提交
4270
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4271
//line sql.y:1467
martianzhang's avatar
martianzhang 已提交
4272 4273 4274
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4275
	case 259:
martianzhang's avatar
martianzhang 已提交
4276
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4277
//line sql.y:1471
martianzhang's avatar
martianzhang 已提交
4278 4279 4280
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4281
	case 260:
martianzhang's avatar
martianzhang 已提交
4282
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4283
//line sql.y:1475
martianzhang's avatar
martianzhang 已提交
4284 4285 4286
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4287
	case 261:
martianzhang's avatar
martianzhang 已提交
4288
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4289
//line sql.y:1479
martianzhang's avatar
martianzhang 已提交
4290
		{
martianzhang's avatar
martianzhang 已提交
4291
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes) + " " + string(yyDollar[3].bytes)}
martianzhang's avatar
martianzhang 已提交
4292
		}
L
liipx 已提交
4293
	case 262:
martianzhang's avatar
martianzhang 已提交
4294
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4295
//line sql.y:1483
martianzhang's avatar
martianzhang 已提交
4296 4297 4298
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4299
	case 263:
martianzhang's avatar
martianzhang 已提交
4300
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4301
//line sql.y:1487
martianzhang's avatar
martianzhang 已提交
4302 4303 4304
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4305
	case 264:
martianzhang's avatar
martianzhang 已提交
4306
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4307
//line sql.y:1491
martianzhang's avatar
martianzhang 已提交
4308 4309 4310
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4311
	case 265:
martianzhang's avatar
martianzhang 已提交
4312
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4313
//line sql.y:1495
martianzhang's avatar
martianzhang 已提交
4314 4315 4316
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4317
	case 266:
martianzhang's avatar
martianzhang 已提交
4318
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4319
//line sql.y:1499
martianzhang's avatar
martianzhang 已提交
4320 4321 4322
		{
			yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4323
	case 267:
martianzhang's avatar
martianzhang 已提交
4324
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4325
//line sql.y:1503
martianzhang's avatar
martianzhang 已提交
4326 4327 4328
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4329
	case 268:
martianzhang's avatar
martianzhang 已提交
4330
		yyDollar = yyS[yypt-7 : yypt+1]
L
liipx 已提交
4331
//line sql.y:1507
martianzhang's avatar
martianzhang 已提交
4332 4333 4334 4335
		{
			showTablesOpt := &ShowTablesOpt{Full: yyDollar[2].str, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilter}
			yyVAL.statement = &Show{Type: string(yyDollar[3].str), ShowTablesOpt: showTablesOpt, OnTable: yyDollar[5].tableName}
		}
L
liipx 已提交
4336
	case 269:
martianzhang's avatar
martianzhang 已提交
4337
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
4338
//line sql.y:1512
martianzhang's avatar
martianzhang 已提交
4339 4340 4341 4342 4343 4344 4345 4346 4347
		{
			// this is ugly, but I couldn't find a better way for now
			if yyDollar[3].str == "processlist" {
				yyVAL.statement = &Show{Type: yyDollar[3].str}
			} else {
				showTablesOpt := &ShowTablesOpt{Full: yyDollar[2].str, DbName: yyDollar[4].str, Filter: yyDollar[5].showFilter}
				yyVAL.statement = &Show{Type: yyDollar[3].str, ShowTablesOpt: showTablesOpt}
			}
		}
L
liipx 已提交
4348
	case 270:
martianzhang's avatar
martianzhang 已提交
4349
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4350
//line sql.y:1522
martianzhang's avatar
martianzhang 已提交
4351 4352 4353
		{
			yyVAL.statement = &Show{Scope: yyDollar[2].str, Type: string(yyDollar[3].bytes)}
		}
L
liipx 已提交
4354
	case 271:
martianzhang's avatar
martianzhang 已提交
4355
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4356
//line sql.y:1526
martianzhang's avatar
martianzhang 已提交
4357 4358 4359
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4360
	case 272:
martianzhang's avatar
martianzhang 已提交
4361
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4362
//line sql.y:1530
martianzhang's avatar
martianzhang 已提交
4363 4364 4365
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4366
	case 273:
martianzhang's avatar
martianzhang 已提交
4367
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4368
//line sql.y:1534
martianzhang's avatar
martianzhang 已提交
4369 4370 4371 4372 4373
		{
			// Cannot dereference $4 directly, or else the parser stackcannot be pooled. See yyParsePooled
			showCollationFilterOpt := yyDollar[4].expr
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), ShowCollationFilterOpt: &showCollationFilterOpt}
		}
L
liipx 已提交
4374
	case 274:
martianzhang's avatar
martianzhang 已提交
4375
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4376
//line sql.y:1540
martianzhang's avatar
martianzhang 已提交
4377 4378 4379
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes), OnTable: yyDollar[4].tableName}
		}
L
liipx 已提交
4380
	case 275:
martianzhang's avatar
martianzhang 已提交
4381
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4382
//line sql.y:1544
martianzhang's avatar
martianzhang 已提交
4383 4384 4385
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4386
	case 276:
martianzhang's avatar
martianzhang 已提交
4387
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4388
//line sql.y:1548
martianzhang's avatar
martianzhang 已提交
4389 4390 4391
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4392
	case 277:
martianzhang's avatar
martianzhang 已提交
4393
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4394
//line sql.y:1552
martianzhang's avatar
martianzhang 已提交
4395 4396 4397
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4398
	case 278:
martianzhang's avatar
martianzhang 已提交
4399
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4400
//line sql.y:1556
martianzhang's avatar
martianzhang 已提交
4401 4402 4403
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4404
	case 279:
martianzhang's avatar
martianzhang 已提交
4405
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4406
//line sql.y:1560
martianzhang's avatar
martianzhang 已提交
4407 4408 4409
		{
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
		}
L
liipx 已提交
4410
	case 280:
L
liipx 已提交
4411
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4412
//line sql.y:1564
martianzhang's avatar
martianzhang 已提交
4413
		{
martianzhang's avatar
martianzhang 已提交
4414
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
martianzhang's avatar
martianzhang 已提交
4415
		}
L
liipx 已提交
4416
	case 281:
L
liipx 已提交
4417
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4418
//line sql.y:1574
martianzhang's avatar
martianzhang 已提交
4419
		{
L
liipx 已提交
4420
			yyVAL.statement = &Show{Type: string(yyDollar[2].bytes)}
martianzhang's avatar
martianzhang 已提交
4421
		}
L
liipx 已提交
4422
	case 282:
martianzhang's avatar
martianzhang 已提交
4423
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4424
//line sql.y:1580
martianzhang's avatar
martianzhang 已提交
4425 4426 4427
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
L
liipx 已提交
4428
	case 283:
L
liipx 已提交
4429
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4430
//line sql.y:1584
martianzhang's avatar
martianzhang 已提交
4431
		{
L
liipx 已提交
4432
			yyVAL.str = string(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
4433
		}
L
liipx 已提交
4434
	case 284:
L
liipx 已提交
4435
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4436
//line sql.y:1590
martianzhang's avatar
martianzhang 已提交
4437
		{
L
liipx 已提交
4438
			yyVAL.str = ""
martianzhang's avatar
martianzhang 已提交
4439
		}
L
liipx 已提交
4440
	case 285:
martianzhang's avatar
martianzhang 已提交
4441
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4442
//line sql.y:1594
martianzhang's avatar
martianzhang 已提交
4443
		{
L
liipx 已提交
4444
			yyVAL.str = "full "
martianzhang's avatar
martianzhang 已提交
4445
		}
L
liipx 已提交
4446
	case 286:
martianzhang's avatar
martianzhang 已提交
4447
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4448
//line sql.y:1600
martianzhang's avatar
martianzhang 已提交
4449 4450 4451
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
L
liipx 已提交
4452
	case 287:
L
liipx 已提交
4453
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4454
//line sql.y:1604
martianzhang's avatar
martianzhang 已提交
4455
		{
L
liipx 已提交
4456
			yyVAL.str = string(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
4457
		}
L
liipx 已提交
4458
	case 288:
L
liipx 已提交
4459
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4460
//line sql.y:1610
martianzhang's avatar
martianzhang 已提交
4461
		{
L
liipx 已提交
4462
			yyVAL.str = ""
martianzhang's avatar
martianzhang 已提交
4463
		}
L
liipx 已提交
4464
	case 289:
martianzhang's avatar
martianzhang 已提交
4465
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4466
//line sql.y:1614
martianzhang's avatar
martianzhang 已提交
4467 4468 4469
		{
			yyVAL.str = yyDollar[2].tableIdent.v
		}
L
liipx 已提交
4470
	case 290:
L
liipx 已提交
4471
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4472
//line sql.y:1618
martianzhang's avatar
martianzhang 已提交
4473
		{
L
liipx 已提交
4474
			yyVAL.str = yyDollar[2].tableIdent.v
martianzhang's avatar
martianzhang 已提交
4475
		}
L
liipx 已提交
4476
	case 291:
L
liipx 已提交
4477
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4478
//line sql.y:1624
martianzhang's avatar
martianzhang 已提交
4479
		{
L
liipx 已提交
4480
			yyVAL.showFilter = nil
martianzhang's avatar
martianzhang 已提交
4481
		}
L
liipx 已提交
4482
	case 292:
martianzhang's avatar
martianzhang 已提交
4483
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4484
//line sql.y:1628
martianzhang's avatar
martianzhang 已提交
4485
		{
L
liipx 已提交
4486
			yyVAL.showFilter = &ShowFilter{Like: string(yyDollar[2].bytes)}
martianzhang's avatar
martianzhang 已提交
4487
		}
L
liipx 已提交
4488
	case 293:
L
liipx 已提交
4489
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4490
//line sql.y:1632
martianzhang's avatar
martianzhang 已提交
4491
		{
L
liipx 已提交
4492
			yyVAL.showFilter = &ShowFilter{Filter: yyDollar[2].expr}
martianzhang's avatar
martianzhang 已提交
4493
		}
L
liipx 已提交
4494
	case 294:
L
liipx 已提交
4495
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4496
//line sql.y:1638
martianzhang's avatar
martianzhang 已提交
4497
		{
L
liipx 已提交
4498
			yyVAL.str = ""
martianzhang's avatar
martianzhang 已提交
4499
		}
L
liipx 已提交
4500
	case 295:
martianzhang's avatar
martianzhang 已提交
4501
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4502
//line sql.y:1642
martianzhang's avatar
martianzhang 已提交
4503
		{
L
liipx 已提交
4504
			yyVAL.str = SessionStr
martianzhang's avatar
martianzhang 已提交
4505
		}
L
liipx 已提交
4506
	case 296:
L
liipx 已提交
4507
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4508
//line sql.y:1646
martianzhang's avatar
martianzhang 已提交
4509
		{
L
liipx 已提交
4510
			yyVAL.str = GlobalStr
martianzhang's avatar
martianzhang 已提交
4511
		}
L
liipx 已提交
4512
	case 297:
L
liipx 已提交
4513
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4514
//line sql.y:1652
martianzhang's avatar
martianzhang 已提交
4515
		{
L
liipx 已提交
4516
			yyVAL.statement = &Use{DBName: yyDollar[2].tableIdent}
martianzhang's avatar
martianzhang 已提交
4517
		}
L
liipx 已提交
4518
	case 298:
martianzhang's avatar
martianzhang 已提交
4519
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4520
//line sql.y:1656
martianzhang's avatar
martianzhang 已提交
4521
		{
L
liipx 已提交
4522
			yyVAL.statement = &Use{DBName: TableIdent{v: ""}}
martianzhang's avatar
martianzhang 已提交
4523
		}
L
liipx 已提交
4524
	case 299:
L
liipx 已提交
4525
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4526
//line sql.y:1662
martianzhang's avatar
martianzhang 已提交
4527 4528 4529
		{
			yyVAL.statement = &Begin{}
		}
L
liipx 已提交
4530
	case 300:
L
liipx 已提交
4531
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4532
//line sql.y:1666
martianzhang's avatar
martianzhang 已提交
4533
		{
L
liipx 已提交
4534
			yyVAL.statement = &Begin{}
martianzhang's avatar
martianzhang 已提交
4535
		}
L
liipx 已提交
4536
	case 301:
martianzhang's avatar
martianzhang 已提交
4537
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4538
//line sql.y:1672
martianzhang's avatar
martianzhang 已提交
4539
		{
L
liipx 已提交
4540
			yyVAL.statement = &Commit{}
martianzhang's avatar
martianzhang 已提交
4541
		}
L
liipx 已提交
4542
	case 302:
L
liipx 已提交
4543
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4544
//line sql.y:1678
martianzhang's avatar
martianzhang 已提交
4545
		{
L
liipx 已提交
4546
			yyVAL.statement = &Rollback{}
martianzhang's avatar
martianzhang 已提交
4547
		}
L
liipx 已提交
4548
	case 303:
martianzhang's avatar
martianzhang 已提交
4549
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4550
//line sql.y:1684
martianzhang's avatar
martianzhang 已提交
4551 4552 4553
		{
			yyVAL.statement = &OtherRead{}
		}
L
liipx 已提交
4554
	case 304:
martianzhang's avatar
martianzhang 已提交
4555
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4556
//line sql.y:1688
martianzhang's avatar
martianzhang 已提交
4557
		{
martianzhang's avatar
martianzhang 已提交
4558
			yyVAL.statement = &OtherRead{}
martianzhang's avatar
martianzhang 已提交
4559
		}
L
liipx 已提交
4560
	case 305:
martianzhang's avatar
martianzhang 已提交
4561
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4562
//line sql.y:1692
martianzhang's avatar
martianzhang 已提交
4563
		{
L
liipx 已提交
4564
			yyVAL.statement = &OtherRead{}
martianzhang's avatar
martianzhang 已提交
4565
		}
L
liipx 已提交
4566
	case 306:
martianzhang's avatar
martianzhang 已提交
4567
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4568
//line sql.y:1696
martianzhang's avatar
martianzhang 已提交
4569 4570 4571
		{
			yyVAL.statement = &OtherAdmin{}
		}
L
liipx 已提交
4572
	case 307:
L
liipx 已提交
4573
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4574
//line sql.y:1700
martianzhang's avatar
martianzhang 已提交
4575 4576 4577
		{
			yyVAL.statement = &OtherAdmin{}
		}
L
liipx 已提交
4578
	case 308:
martianzhang's avatar
martianzhang 已提交
4579
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4580
//line sql.y:1704
martianzhang's avatar
martianzhang 已提交
4581 4582 4583
		{
			yyVAL.statement = &OtherAdmin{}
		}
L
liipx 已提交
4584
	case 309:
L
liipx 已提交
4585
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4586
//line sql.y:1708
L
liipx 已提交
4587 4588 4589
		{
			yyVAL.statement = &OtherAdmin{}
		}
L
liipx 已提交
4590
	case 310:
martianzhang's avatar
martianzhang 已提交
4591
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4592
//line sql.y:1714
martianzhang's avatar
martianzhang 已提交
4593 4594 4595
		{
			yyVAL.statement = &DDL{Action: FlushStr}
		}
L
liipx 已提交
4596
	case 311:
martianzhang's avatar
martianzhang 已提交
4597
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4598
//line sql.y:1718
martianzhang's avatar
martianzhang 已提交
4599 4600 4601
		{
			setAllowComments(yylex, true)
		}
L
liipx 已提交
4602
	case 312:
martianzhang's avatar
martianzhang 已提交
4603
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4604
//line sql.y:1722
martianzhang's avatar
martianzhang 已提交
4605 4606 4607 4608
		{
			yyVAL.bytes2 = yyDollar[2].bytes2
			setAllowComments(yylex, false)
		}
L
liipx 已提交
4609
	case 313:
martianzhang's avatar
martianzhang 已提交
4610
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4611
//line sql.y:1728
martianzhang's avatar
martianzhang 已提交
4612 4613 4614
		{
			yyVAL.bytes2 = nil
		}
L
liipx 已提交
4615
	case 314:
martianzhang's avatar
martianzhang 已提交
4616
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4617
//line sql.y:1732
martianzhang's avatar
martianzhang 已提交
4618 4619 4620
		{
			yyVAL.bytes2 = append(yyDollar[1].bytes2, yyDollar[2].bytes)
		}
L
liipx 已提交
4621
	case 315:
martianzhang's avatar
martianzhang 已提交
4622
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4623
//line sql.y:1738
martianzhang's avatar
martianzhang 已提交
4624 4625 4626
		{
			yyVAL.str = UnionStr
		}
L
liipx 已提交
4627
	case 316:
martianzhang's avatar
martianzhang 已提交
4628
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4629
//line sql.y:1742
martianzhang's avatar
martianzhang 已提交
4630 4631 4632
		{
			yyVAL.str = UnionAllStr
		}
L
liipx 已提交
4633
	case 317:
martianzhang's avatar
martianzhang 已提交
4634
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4635
//line sql.y:1746
martianzhang's avatar
martianzhang 已提交
4636 4637 4638
		{
			yyVAL.str = UnionDistinctStr
		}
L
liipx 已提交
4639
	case 318:
martianzhang's avatar
martianzhang 已提交
4640
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4641
//line sql.y:1751
martianzhang's avatar
martianzhang 已提交
4642 4643 4644
		{
			yyVAL.str = ""
		}
L
liipx 已提交
4645
	case 319:
martianzhang's avatar
martianzhang 已提交
4646
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4647
//line sql.y:1755
martianzhang's avatar
martianzhang 已提交
4648 4649 4650
		{
			yyVAL.str = SQLNoCacheStr
		}
L
liipx 已提交
4651
	case 320:
martianzhang's avatar
martianzhang 已提交
4652
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4653
//line sql.y:1759
martianzhang's avatar
martianzhang 已提交
4654 4655 4656
		{
			yyVAL.str = SQLCacheStr
		}
L
liipx 已提交
4657
	case 321:
martianzhang's avatar
martianzhang 已提交
4658
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4659
//line sql.y:1764
martianzhang's avatar
martianzhang 已提交
4660 4661 4662
		{
			yyVAL.str = ""
		}
L
liipx 已提交
4663
	case 322:
martianzhang's avatar
martianzhang 已提交
4664
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4665
//line sql.y:1768
martianzhang's avatar
martianzhang 已提交
4666 4667 4668
		{
			yyVAL.str = DistinctStr
		}
L
liipx 已提交
4669
	case 323:
martianzhang's avatar
martianzhang 已提交
4670
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4671
//line sql.y:1773
martianzhang's avatar
martianzhang 已提交
4672 4673 4674
		{
			yyVAL.str = ""
		}
L
liipx 已提交
4675
	case 324:
martianzhang's avatar
martianzhang 已提交
4676
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4677
//line sql.y:1777
martianzhang's avatar
martianzhang 已提交
4678 4679 4680
		{
			yyVAL.str = StraightJoinHint
		}
L
liipx 已提交
4681
	case 325:
martianzhang's avatar
martianzhang 已提交
4682
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4683
//line sql.y:1782
martianzhang's avatar
martianzhang 已提交
4684 4685 4686
		{
			yyVAL.selectExprs = nil
		}
L
liipx 已提交
4687
	case 326:
martianzhang's avatar
martianzhang 已提交
4688
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4689
//line sql.y:1786
martianzhang's avatar
martianzhang 已提交
4690 4691 4692
		{
			yyVAL.selectExprs = yyDollar[1].selectExprs
		}
L
liipx 已提交
4693
	case 327:
martianzhang's avatar
martianzhang 已提交
4694
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4695
//line sql.y:1792
martianzhang's avatar
martianzhang 已提交
4696 4697 4698
		{
			yyVAL.selectExprs = SelectExprs{yyDollar[1].selectExpr}
		}
L
liipx 已提交
4699
	case 328:
martianzhang's avatar
martianzhang 已提交
4700
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4701
//line sql.y:1796
martianzhang's avatar
martianzhang 已提交
4702 4703 4704
		{
			yyVAL.selectExprs = append(yyVAL.selectExprs, yyDollar[3].selectExpr)
		}
L
liipx 已提交
4705
	case 329:
martianzhang's avatar
martianzhang 已提交
4706
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4707
//line sql.y:1802
martianzhang's avatar
martianzhang 已提交
4708 4709 4710
		{
			yyVAL.selectExpr = &StarExpr{}
		}
L
liipx 已提交
4711
	case 330:
martianzhang's avatar
martianzhang 已提交
4712
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4713
//line sql.y:1806
martianzhang's avatar
martianzhang 已提交
4714 4715 4716
		{
			yyVAL.selectExpr = &AliasedExpr{Expr: yyDollar[1].expr, As: yyDollar[2].colIdent}
		}
L
liipx 已提交
4717
	case 331:
martianzhang's avatar
martianzhang 已提交
4718
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4719
//line sql.y:1810
martianzhang's avatar
martianzhang 已提交
4720 4721 4722
		{
			yyVAL.selectExpr = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}}
		}
L
liipx 已提交
4723
	case 332:
martianzhang's avatar
martianzhang 已提交
4724
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
4725
//line sql.y:1814
martianzhang's avatar
martianzhang 已提交
4726 4727 4728
		{
			yyVAL.selectExpr = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}}
		}
L
liipx 已提交
4729
	case 333:
martianzhang's avatar
martianzhang 已提交
4730
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4731
//line sql.y:1819
martianzhang's avatar
martianzhang 已提交
4732 4733 4734
		{
			yyVAL.colIdent = ColIdent{}
		}
L
liipx 已提交
4735
	case 334:
martianzhang's avatar
martianzhang 已提交
4736
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4737
//line sql.y:1823
martianzhang's avatar
martianzhang 已提交
4738 4739 4740
		{
			yyVAL.colIdent = yyDollar[1].colIdent
		}
L
liipx 已提交
4741
	case 335:
martianzhang's avatar
martianzhang 已提交
4742
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4743
//line sql.y:1827
martianzhang's avatar
martianzhang 已提交
4744 4745 4746
		{
			yyVAL.colIdent = yyDollar[2].colIdent
		}
L
liipx 已提交
4747
	case 337:
martianzhang's avatar
martianzhang 已提交
4748
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4749
//line sql.y:1834
martianzhang's avatar
martianzhang 已提交
4750 4751 4752
		{
			yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes))
		}
L
liipx 已提交
4753
	case 338:
martianzhang's avatar
martianzhang 已提交
4754
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4755
//line sql.y:1839
martianzhang's avatar
martianzhang 已提交
4756 4757 4758
		{
			yyVAL.tableExprs = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}}
		}
L
liipx 已提交
4759
	case 339:
martianzhang's avatar
martianzhang 已提交
4760
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4761
//line sql.y:1843
martianzhang's avatar
martianzhang 已提交
4762 4763 4764
		{
			yyVAL.tableExprs = yyDollar[2].tableExprs
		}
L
liipx 已提交
4765
	case 340:
martianzhang's avatar
martianzhang 已提交
4766
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4767
//line sql.y:1849
martianzhang's avatar
martianzhang 已提交
4768 4769 4770
		{
			yyVAL.tableExprs = TableExprs{yyDollar[1].tableExpr}
		}
L
liipx 已提交
4771
	case 341:
martianzhang's avatar
martianzhang 已提交
4772
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4773
//line sql.y:1853
martianzhang's avatar
martianzhang 已提交
4774 4775 4776
		{
			yyVAL.tableExprs = append(yyVAL.tableExprs, yyDollar[3].tableExpr)
		}
L
liipx 已提交
4777
	case 344:
martianzhang's avatar
martianzhang 已提交
4778
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4779
//line sql.y:1863
martianzhang's avatar
martianzhang 已提交
4780 4781 4782
		{
			yyVAL.tableExpr = yyDollar[1].aliasedTableName
		}
L
liipx 已提交
4783
	case 345:
martianzhang's avatar
martianzhang 已提交
4784
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4785
//line sql.y:1867
martianzhang's avatar
martianzhang 已提交
4786 4787 4788
		{
			yyVAL.tableExpr = &AliasedTableExpr{Expr: yyDollar[1].subquery, As: yyDollar[3].tableIdent}
		}
L
liipx 已提交
4789
	case 346:
martianzhang's avatar
martianzhang 已提交
4790
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4791
//line sql.y:1871
martianzhang's avatar
martianzhang 已提交
4792 4793 4794 4795 4796
		{
			// missed alias for subquery
			yylex.Error("Every derived table must have its own alias")
			return 1
		}
L
liipx 已提交
4797
	case 347:
martianzhang's avatar
martianzhang 已提交
4798
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4799
//line sql.y:1877
martianzhang's avatar
martianzhang 已提交
4800 4801 4802
		{
			yyVAL.tableExpr = &ParenTableExpr{Exprs: yyDollar[2].tableExprs}
		}
L
liipx 已提交
4803
	case 348:
martianzhang's avatar
martianzhang 已提交
4804
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4805
//line sql.y:1883
martianzhang's avatar
martianzhang 已提交
4806 4807 4808
		{
			yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHints}
		}
L
liipx 已提交
4809
	case 349:
martianzhang's avatar
martianzhang 已提交
4810
		yyDollar = yyS[yypt-7 : yypt+1]
L
liipx 已提交
4811
//line sql.y:1887
martianzhang's avatar
martianzhang 已提交
4812 4813 4814
		{
			yyVAL.aliasedTableName = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitions, As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHints}
		}
L
liipx 已提交
4815
	case 350:
martianzhang's avatar
martianzhang 已提交
4816
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4817
//line sql.y:1893
martianzhang's avatar
martianzhang 已提交
4818 4819 4820
		{
			yyVAL.columns = Columns{yyDollar[1].colIdent}
		}
L
liipx 已提交
4821
	case 351:
martianzhang's avatar
martianzhang 已提交
4822
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4823
//line sql.y:1897
martianzhang's avatar
martianzhang 已提交
4824 4825 4826
		{
			yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent)
		}
L
liipx 已提交
4827
	case 352:
martianzhang's avatar
martianzhang 已提交
4828
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4829
//line sql.y:1903
martianzhang's avatar
martianzhang 已提交
4830 4831 4832
		{
			yyVAL.partitions = Partitions{yyDollar[1].colIdent}
		}
L
liipx 已提交
4833
	case 353:
martianzhang's avatar
martianzhang 已提交
4834
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4835
//line sql.y:1907
martianzhang's avatar
martianzhang 已提交
4836 4837 4838
		{
			yyVAL.partitions = append(yyVAL.partitions, yyDollar[3].colIdent)
		}
L
liipx 已提交
4839
	case 354:
martianzhang's avatar
martianzhang 已提交
4840
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4841
//line sql.y:1920
martianzhang's avatar
martianzhang 已提交
4842 4843 4844
		{
			yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition}
		}
L
liipx 已提交
4845
	case 355:
martianzhang's avatar
martianzhang 已提交
4846
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4847
//line sql.y:1924
martianzhang's avatar
martianzhang 已提交
4848 4849 4850
		{
			yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition}
		}
L
liipx 已提交
4851
	case 356:
L
liipx 已提交
4852
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4853
//line sql.y:1928
martianzhang's avatar
martianzhang 已提交
4854
		{
L
liipx 已提交
4855
			yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr, Condition: yyDollar[4].joinCondition}
martianzhang's avatar
martianzhang 已提交
4856
		}
L
liipx 已提交
4857
	case 357:
L
liipx 已提交
4858
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4859
//line sql.y:1932
L
liipx 已提交
4860 4861 4862
		{
			yyVAL.tableExpr = &JoinTableExpr{LeftExpr: yyDollar[1].tableExpr, Join: yyDollar[2].str, RightExpr: yyDollar[3].tableExpr}
		}
L
liipx 已提交
4863
	case 358:
martianzhang's avatar
martianzhang 已提交
4864
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4865
//line sql.y:1938
martianzhang's avatar
martianzhang 已提交
4866 4867 4868
		{
			yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr}
		}
L
liipx 已提交
4869
	case 359:
martianzhang's avatar
martianzhang 已提交
4870
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
4871
//line sql.y:1940
martianzhang's avatar
martianzhang 已提交
4872 4873 4874
		{
			yyVAL.joinCondition = JoinCondition{Using: yyDollar[3].columns}
		}
L
liipx 已提交
4875
	case 360:
martianzhang's avatar
martianzhang 已提交
4876
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4877
//line sql.y:1944
martianzhang's avatar
martianzhang 已提交
4878 4879 4880
		{
			yyVAL.joinCondition = JoinCondition{}
		}
L
liipx 已提交
4881
	case 361:
martianzhang's avatar
martianzhang 已提交
4882
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4883
//line sql.y:1946
martianzhang's avatar
martianzhang 已提交
4884 4885 4886
		{
			yyVAL.joinCondition = yyDollar[1].joinCondition
		}
L
liipx 已提交
4887
	case 362:
martianzhang's avatar
martianzhang 已提交
4888
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4889
//line sql.y:1950
martianzhang's avatar
martianzhang 已提交
4890 4891 4892
		{
			yyVAL.joinCondition = JoinCondition{}
		}
L
liipx 已提交
4893
	case 363:
martianzhang's avatar
martianzhang 已提交
4894
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4895
//line sql.y:1952
martianzhang's avatar
martianzhang 已提交
4896 4897 4898
		{
			yyVAL.joinCondition = JoinCondition{On: yyDollar[2].expr}
		}
L
liipx 已提交
4899
	case 364:
martianzhang's avatar
martianzhang 已提交
4900
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4901
//line sql.y:1955
martianzhang's avatar
martianzhang 已提交
4902 4903 4904
		{
			yyVAL.empty = struct{}{}
		}
L
liipx 已提交
4905
	case 365:
martianzhang's avatar
martianzhang 已提交
4906
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4907
//line sql.y:1957
martianzhang's avatar
martianzhang 已提交
4908 4909 4910
		{
			yyVAL.empty = struct{}{}
		}
L
liipx 已提交
4911
	case 366:
martianzhang's avatar
martianzhang 已提交
4912
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
4913
//line sql.y:1960
martianzhang's avatar
martianzhang 已提交
4914 4915 4916
		{
			yyVAL.tableIdent = NewTableIdent("")
		}
L
liipx 已提交
4917
	case 367:
martianzhang's avatar
martianzhang 已提交
4918
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4919
//line sql.y:1964
martianzhang's avatar
martianzhang 已提交
4920 4921 4922
		{
			yyVAL.tableIdent = yyDollar[1].tableIdent
		}
L
liipx 已提交
4923
	case 368:
martianzhang's avatar
martianzhang 已提交
4924
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4925
//line sql.y:1968
martianzhang's avatar
martianzhang 已提交
4926 4927 4928
		{
			yyVAL.tableIdent = yyDollar[2].tableIdent
		}
L
liipx 已提交
4929
	case 370:
martianzhang's avatar
martianzhang 已提交
4930
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4931
//line sql.y:1975
martianzhang's avatar
martianzhang 已提交
4932
		{
L
liipx 已提交
4933
			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes))
martianzhang's avatar
martianzhang 已提交
4934
		}
L
liipx 已提交
4935
	case 371:
L
liipx 已提交
4936
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4937
//line sql.y:1981
martianzhang's avatar
martianzhang 已提交
4938 4939 4940
		{
			yyVAL.str = JoinStr
		}
L
liipx 已提交
4941
	case 372:
martianzhang's avatar
martianzhang 已提交
4942
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4943
//line sql.y:1985
martianzhang's avatar
martianzhang 已提交
4944 4945 4946
		{
			yyVAL.str = JoinStr
		}
L
liipx 已提交
4947
	case 373:
L
liipx 已提交
4948
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4949
//line sql.y:1989
martianzhang's avatar
martianzhang 已提交
4950
		{
L
liipx 已提交
4951
			yyVAL.str = JoinStr
martianzhang's avatar
martianzhang 已提交
4952
		}
L
liipx 已提交
4953
	case 374:
L
liipx 已提交
4954
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
4955
//line sql.y:1995
martianzhang's avatar
martianzhang 已提交
4956
		{
L
liipx 已提交
4957
			yyVAL.str = StraightJoinStr
martianzhang's avatar
martianzhang 已提交
4958
		}
L
liipx 已提交
4959
	case 375:
L
liipx 已提交
4960
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4961
//line sql.y:2001
martianzhang's avatar
martianzhang 已提交
4962 4963 4964
		{
			yyVAL.str = LeftJoinStr
		}
L
liipx 已提交
4965
	case 376:
L
liipx 已提交
4966
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4967
//line sql.y:2005
martianzhang's avatar
martianzhang 已提交
4968
		{
L
liipx 已提交
4969
			yyVAL.str = LeftJoinStr
martianzhang's avatar
martianzhang 已提交
4970
		}
L
liipx 已提交
4971
	case 377:
L
liipx 已提交
4972
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4973
//line sql.y:2009
martianzhang's avatar
martianzhang 已提交
4974 4975 4976
		{
			yyVAL.str = RightJoinStr
		}
L
liipx 已提交
4977
	case 378:
L
liipx 已提交
4978
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
4979
//line sql.y:2013
martianzhang's avatar
martianzhang 已提交
4980
		{
L
liipx 已提交
4981
			yyVAL.str = RightJoinStr
martianzhang's avatar
martianzhang 已提交
4982
		}
L
liipx 已提交
4983
	case 379:
martianzhang's avatar
martianzhang 已提交
4984
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4985
//line sql.y:2019
L
liipx 已提交
4986 4987 4988
		{
			yyVAL.str = NaturalJoinStr
		}
L
liipx 已提交
4989
	case 380:
L
liipx 已提交
4990
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
4991
//line sql.y:2023
martianzhang's avatar
martianzhang 已提交
4992 4993 4994 4995 4996 4997 4998
		{
			if yyDollar[2].str == LeftJoinStr {
				yyVAL.str = NaturalLeftJoinStr
			} else {
				yyVAL.str = NaturalRightJoinStr
			}
		}
L
liipx 已提交
4999
	case 381:
martianzhang's avatar
martianzhang 已提交
5000
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5001
//line sql.y:2033
martianzhang's avatar
martianzhang 已提交
5002 5003 5004
		{
			yyVAL.tableName = yyDollar[2].tableName
		}
L
liipx 已提交
5005
	case 382:
martianzhang's avatar
martianzhang 已提交
5006
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5007
//line sql.y:2037
martianzhang's avatar
martianzhang 已提交
5008 5009 5010
		{
			yyVAL.tableName = yyDollar[1].tableName
		}
L
liipx 已提交
5011
	case 383:
martianzhang's avatar
martianzhang 已提交
5012
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5013
//line sql.y:2043
martianzhang's avatar
martianzhang 已提交
5014 5015 5016
		{
			yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent}
		}
L
liipx 已提交
5017
	case 384:
martianzhang's avatar
martianzhang 已提交
5018
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5019
//line sql.y:2047
martianzhang's avatar
martianzhang 已提交
5020 5021 5022
		{
			yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}
		}
L
liipx 已提交
5023
	case 385:
martianzhang's avatar
martianzhang 已提交
5024
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5025
//line sql.y:2052
martianzhang's avatar
martianzhang 已提交
5026 5027 5028
		{
			yyVAL.indexHints = nil
		}
L
liipx 已提交
5029
	case 386:
martianzhang's avatar
martianzhang 已提交
5030
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5031
//line sql.y:2056
martianzhang's avatar
martianzhang 已提交
5032 5033 5034
		{
			yyVAL.indexHints = &IndexHints{Type: UseStr, Indexes: yyDollar[4].columns}
		}
L
liipx 已提交
5035
	case 387:
martianzhang's avatar
martianzhang 已提交
5036
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5037
//line sql.y:2060
martianzhang's avatar
martianzhang 已提交
5038 5039 5040
		{
			yyVAL.indexHints = &IndexHints{Type: IgnoreStr, Indexes: yyDollar[4].columns}
		}
L
liipx 已提交
5041
	case 388:
martianzhang's avatar
martianzhang 已提交
5042
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5043
//line sql.y:2064
martianzhang's avatar
martianzhang 已提交
5044 5045 5046
		{
			yyVAL.indexHints = &IndexHints{Type: ForceStr, Indexes: yyDollar[4].columns}
		}
L
liipx 已提交
5047
	case 389:
martianzhang's avatar
martianzhang 已提交
5048
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5049
//line sql.y:2069
martianzhang's avatar
martianzhang 已提交
5050 5051 5052
		{
			yyVAL.expr = nil
		}
L
liipx 已提交
5053
	case 390:
martianzhang's avatar
martianzhang 已提交
5054
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5055
//line sql.y:2073
martianzhang's avatar
martianzhang 已提交
5056 5057 5058
		{
			yyVAL.expr = yyDollar[2].expr
		}
L
liipx 已提交
5059
	case 391:
martianzhang's avatar
martianzhang 已提交
5060
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5061
//line sql.y:2079
martianzhang's avatar
martianzhang 已提交
5062 5063 5064
		{
			yyVAL.expr = yyDollar[1].expr
		}
L
liipx 已提交
5065
	case 392:
martianzhang's avatar
martianzhang 已提交
5066
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5067
//line sql.y:2083
martianzhang's avatar
martianzhang 已提交
5068 5069 5070
		{
			yyVAL.expr = &AndExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr}
		}
L
liipx 已提交
5071
	case 393:
martianzhang's avatar
martianzhang 已提交
5072
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5073
//line sql.y:2087
martianzhang's avatar
martianzhang 已提交
5074 5075 5076
		{
			yyVAL.expr = &OrExpr{Left: yyDollar[1].expr, Right: yyDollar[3].expr}
		}
L
liipx 已提交
5077
	case 394:
martianzhang's avatar
martianzhang 已提交
5078
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5079
//line sql.y:2091
martianzhang's avatar
martianzhang 已提交
5080 5081 5082
		{
			yyVAL.expr = &NotExpr{Expr: yyDollar[2].expr}
		}
L
liipx 已提交
5083
	case 395:
martianzhang's avatar
martianzhang 已提交
5084
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5085
//line sql.y:2095
martianzhang's avatar
martianzhang 已提交
5086 5087 5088
		{
			yyVAL.expr = &IsExpr{Operator: yyDollar[3].str, Expr: yyDollar[1].expr}
		}
L
liipx 已提交
5089
	case 396:
martianzhang's avatar
martianzhang 已提交
5090
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5091
//line sql.y:2099
martianzhang's avatar
martianzhang 已提交
5092 5093 5094
		{
			yyVAL.expr = yyDollar[1].expr
		}
L
liipx 已提交
5095
	case 397:
martianzhang's avatar
martianzhang 已提交
5096
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5097
//line sql.y:2103
martianzhang's avatar
martianzhang 已提交
5098 5099 5100
		{
			yyVAL.expr = &Default{ColName: yyDollar[2].str}
		}
L
liipx 已提交
5101
	case 398:
martianzhang's avatar
martianzhang 已提交
5102
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5103
//line sql.y:2109
martianzhang's avatar
martianzhang 已提交
5104 5105 5106
		{
			yyVAL.str = ""
		}
L
liipx 已提交
5107
	case 399:
martianzhang's avatar
martianzhang 已提交
5108
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5109
//line sql.y:2113
martianzhang's avatar
martianzhang 已提交
5110 5111 5112
		{
			yyVAL.str = string(yyDollar[2].bytes)
		}
L
liipx 已提交
5113
	case 400:
martianzhang's avatar
martianzhang 已提交
5114
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5115
//line sql.y:2119
martianzhang's avatar
martianzhang 已提交
5116
		{
L
liipx 已提交
5117
			yyVAL.boolVal = BoolVal(true)
martianzhang's avatar
martianzhang 已提交
5118
		}
L
liipx 已提交
5119
	case 401:
L
liipx 已提交
5120
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5121
//line sql.y:2123
martianzhang's avatar
martianzhang 已提交
5122
		{
L
liipx 已提交
5123
			yyVAL.boolVal = BoolVal(false)
martianzhang's avatar
martianzhang 已提交
5124
		}
L
liipx 已提交
5125
	case 402:
martianzhang's avatar
martianzhang 已提交
5126
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5127
//line sql.y:2129
martianzhang's avatar
martianzhang 已提交
5128
		{
L
liipx 已提交
5129
			yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: yyDollar[2].str, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5130
		}
L
liipx 已提交
5131
	case 403:
L
liipx 已提交
5132
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5133
//line sql.y:2133
martianzhang's avatar
martianzhang 已提交
5134
		{
L
liipx 已提交
5135
			yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: InStr, Right: yyDollar[3].colTuple}
martianzhang's avatar
martianzhang 已提交
5136
		}
L
liipx 已提交
5137
	case 404:
martianzhang's avatar
martianzhang 已提交
5138
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5139
//line sql.y:2137
martianzhang's avatar
martianzhang 已提交
5140
		{
L
liipx 已提交
5141
			yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotInStr, Right: yyDollar[4].colTuple}
martianzhang's avatar
martianzhang 已提交
5142
		}
L
liipx 已提交
5143
	case 405:
L
liipx 已提交
5144
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5145
//line sql.y:2141
martianzhang's avatar
martianzhang 已提交
5146
		{
L
liipx 已提交
5147
			yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: LikeStr, Right: yyDollar[3].expr, Escape: yyDollar[4].expr}
martianzhang's avatar
martianzhang 已提交
5148
		}
L
liipx 已提交
5149
	case 406:
L
liipx 已提交
5150
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5151
//line sql.y:2145
martianzhang's avatar
martianzhang 已提交
5152
		{
L
liipx 已提交
5153
			yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotLikeStr, Right: yyDollar[4].expr, Escape: yyDollar[5].expr}
martianzhang's avatar
martianzhang 已提交
5154
		}
L
liipx 已提交
5155
	case 407:
L
liipx 已提交
5156
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5157
//line sql.y:2149
martianzhang's avatar
martianzhang 已提交
5158
		{
L
liipx 已提交
5159
			yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: RegexpStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5160
		}
L
liipx 已提交
5161
	case 408:
L
liipx 已提交
5162
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5163
//line sql.y:2153
martianzhang's avatar
martianzhang 已提交
5164
		{
L
liipx 已提交
5165
			yyVAL.expr = &ComparisonExpr{Left: yyDollar[1].expr, Operator: NotRegexpStr, Right: yyDollar[4].expr}
martianzhang's avatar
martianzhang 已提交
5166
		}
L
liipx 已提交
5167
	case 409:
L
liipx 已提交
5168
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5169
//line sql.y:2157
martianzhang's avatar
martianzhang 已提交
5170
		{
L
liipx 已提交
5171
			yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: BetweenStr, From: yyDollar[3].expr, To: yyDollar[5].expr}
martianzhang's avatar
martianzhang 已提交
5172
		}
L
liipx 已提交
5173
	case 410:
L
liipx 已提交
5174
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
5175
//line sql.y:2161
martianzhang's avatar
martianzhang 已提交
5176
		{
L
liipx 已提交
5177
			yyVAL.expr = &RangeCond{Left: yyDollar[1].expr, Operator: NotBetweenStr, From: yyDollar[4].expr, To: yyDollar[6].expr}
martianzhang's avatar
martianzhang 已提交
5178
		}
L
liipx 已提交
5179
	case 411:
L
liipx 已提交
5180
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5181
//line sql.y:2165
martianzhang's avatar
martianzhang 已提交
5182
		{
L
liipx 已提交
5183
			yyVAL.expr = &ExistsExpr{Subquery: yyDollar[2].subquery}
martianzhang's avatar
martianzhang 已提交
5184
		}
L
liipx 已提交
5185
	case 412:
L
liipx 已提交
5186
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5187
//line sql.y:2171
martianzhang's avatar
martianzhang 已提交
5188
		{
L
liipx 已提交
5189
			yyVAL.str = IsNullStr
martianzhang's avatar
martianzhang 已提交
5190
		}
L
liipx 已提交
5191
	case 413:
L
liipx 已提交
5192
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5193
//line sql.y:2175
martianzhang's avatar
martianzhang 已提交
5194
		{
L
liipx 已提交
5195
			yyVAL.str = IsNotNullStr
martianzhang's avatar
martianzhang 已提交
5196
		}
L
liipx 已提交
5197
	case 414:
L
liipx 已提交
5198
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5199
//line sql.y:2179
martianzhang's avatar
martianzhang 已提交
5200
		{
L
liipx 已提交
5201
			yyVAL.str = IsTrueStr
martianzhang's avatar
martianzhang 已提交
5202
		}
L
liipx 已提交
5203
	case 415:
L
liipx 已提交
5204
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5205
//line sql.y:2183
martianzhang's avatar
martianzhang 已提交
5206
		{
L
liipx 已提交
5207
			yyVAL.str = IsNotTrueStr
martianzhang's avatar
martianzhang 已提交
5208
		}
L
liipx 已提交
5209
	case 416:
L
liipx 已提交
5210
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5211
//line sql.y:2187
martianzhang's avatar
martianzhang 已提交
5212
		{
L
liipx 已提交
5213
			yyVAL.str = IsFalseStr
martianzhang's avatar
martianzhang 已提交
5214
		}
L
liipx 已提交
5215
	case 417:
L
liipx 已提交
5216
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5217
//line sql.y:2191
martianzhang's avatar
martianzhang 已提交
5218
		{
L
liipx 已提交
5219
			yyVAL.str = IsNotFalseStr
martianzhang's avatar
martianzhang 已提交
5220
		}
L
liipx 已提交
5221
	case 418:
martianzhang's avatar
martianzhang 已提交
5222
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5223
//line sql.y:2197
martianzhang's avatar
martianzhang 已提交
5224
		{
L
liipx 已提交
5225
			yyVAL.str = EqualStr
martianzhang's avatar
martianzhang 已提交
5226
		}
L
liipx 已提交
5227
	case 419:
martianzhang's avatar
martianzhang 已提交
5228
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5229
//line sql.y:2201
martianzhang's avatar
martianzhang 已提交
5230
		{
L
liipx 已提交
5231
			yyVAL.str = LessThanStr
martianzhang's avatar
martianzhang 已提交
5232
		}
L
liipx 已提交
5233
	case 420:
martianzhang's avatar
martianzhang 已提交
5234
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5235
//line sql.y:2205
martianzhang's avatar
martianzhang 已提交
5236
		{
L
liipx 已提交
5237
			yyVAL.str = GreaterThanStr
martianzhang's avatar
martianzhang 已提交
5238
		}
L
liipx 已提交
5239
	case 421:
martianzhang's avatar
martianzhang 已提交
5240
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5241
//line sql.y:2209
martianzhang's avatar
martianzhang 已提交
5242
		{
L
liipx 已提交
5243
			yyVAL.str = LessEqualStr
martianzhang's avatar
martianzhang 已提交
5244
		}
L
liipx 已提交
5245
	case 422:
martianzhang's avatar
martianzhang 已提交
5246
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5247
//line sql.y:2213
martianzhang's avatar
martianzhang 已提交
5248
		{
L
liipx 已提交
5249
			yyVAL.str = GreaterEqualStr
martianzhang's avatar
martianzhang 已提交
5250
		}
L
liipx 已提交
5251
	case 423:
martianzhang's avatar
martianzhang 已提交
5252
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5253
//line sql.y:2217
martianzhang's avatar
martianzhang 已提交
5254
		{
L
liipx 已提交
5255
			yyVAL.str = NotEqualStr
martianzhang's avatar
martianzhang 已提交
5256
		}
L
liipx 已提交
5257
	case 424:
L
liipx 已提交
5258
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5259
//line sql.y:2221
martianzhang's avatar
martianzhang 已提交
5260
		{
L
liipx 已提交
5261
			yyVAL.str = NullSafeEqualStr
martianzhang's avatar
martianzhang 已提交
5262
		}
L
liipx 已提交
5263
	case 425:
L
liipx 已提交
5264
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5265
//line sql.y:2226
martianzhang's avatar
martianzhang 已提交
5266
		{
L
liipx 已提交
5267
			yyVAL.expr = nil
martianzhang's avatar
martianzhang 已提交
5268
		}
L
liipx 已提交
5269
	case 426:
L
liipx 已提交
5270
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5271
//line sql.y:2230
martianzhang's avatar
martianzhang 已提交
5272
		{
L
liipx 已提交
5273
			yyVAL.expr = yyDollar[2].expr
martianzhang's avatar
martianzhang 已提交
5274
		}
L
liipx 已提交
5275
	case 427:
martianzhang's avatar
martianzhang 已提交
5276
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5277
//line sql.y:2236
martianzhang's avatar
martianzhang 已提交
5278
		{
L
liipx 已提交
5279
			yyVAL.colTuple = yyDollar[1].valTuple
martianzhang's avatar
martianzhang 已提交
5280
		}
L
liipx 已提交
5281
	case 428:
martianzhang's avatar
martianzhang 已提交
5282
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5283
//line sql.y:2240
martianzhang's avatar
martianzhang 已提交
5284
		{
L
liipx 已提交
5285
			yyVAL.colTuple = yyDollar[1].subquery
martianzhang's avatar
martianzhang 已提交
5286
		}
L
liipx 已提交
5287
	case 429:
L
liipx 已提交
5288
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5289
//line sql.y:2244
martianzhang's avatar
martianzhang 已提交
5290
		{
L
liipx 已提交
5291
			yyVAL.colTuple = ListArg(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5292
		}
L
liipx 已提交
5293
	case 430:
L
liipx 已提交
5294
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5295
//line sql.y:2250
martianzhang's avatar
martianzhang 已提交
5296
		{
L
liipx 已提交
5297
			yyVAL.subquery = &Subquery{yyDollar[2].selStmt}
martianzhang's avatar
martianzhang 已提交
5298
		}
L
liipx 已提交
5299
	case 431:
L
liipx 已提交
5300
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5301
//line sql.y:2256
martianzhang's avatar
martianzhang 已提交
5302
		{
L
liipx 已提交
5303
			yyVAL.exprs = Exprs{yyDollar[1].expr}
martianzhang's avatar
martianzhang 已提交
5304
		}
L
liipx 已提交
5305
	case 432:
L
liipx 已提交
5306
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5307
//line sql.y:2260
martianzhang's avatar
martianzhang 已提交
5308
		{
L
liipx 已提交
5309
			yyVAL.exprs = append(yyDollar[1].exprs, yyDollar[3].expr)
martianzhang's avatar
martianzhang 已提交
5310
		}
L
liipx 已提交
5311
	case 433:
martianzhang's avatar
martianzhang 已提交
5312
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5313
//line sql.y:2266
martianzhang's avatar
martianzhang 已提交
5314
		{
L
liipx 已提交
5315
			yyVAL.expr = yyDollar[1].expr
martianzhang's avatar
martianzhang 已提交
5316
		}
L
liipx 已提交
5317
	case 434:
martianzhang's avatar
martianzhang 已提交
5318
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5319
//line sql.y:2270
martianzhang's avatar
martianzhang 已提交
5320
		{
L
liipx 已提交
5321
			yyVAL.expr = yyDollar[1].boolVal
martianzhang's avatar
martianzhang 已提交
5322
		}
L
liipx 已提交
5323
	case 435:
martianzhang's avatar
martianzhang 已提交
5324
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5325
//line sql.y:2274
martianzhang's avatar
martianzhang 已提交
5326
		{
L
liipx 已提交
5327
			yyVAL.expr = yyDollar[1].colName
martianzhang's avatar
martianzhang 已提交
5328
		}
L
liipx 已提交
5329
	case 436:
martianzhang's avatar
martianzhang 已提交
5330
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5331
//line sql.y:2278
martianzhang's avatar
martianzhang 已提交
5332
		{
L
liipx 已提交
5333
			yyVAL.expr = yyDollar[1].expr
martianzhang's avatar
martianzhang 已提交
5334
		}
L
liipx 已提交
5335
	case 437:
L
liipx 已提交
5336
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5337
//line sql.y:2282
martianzhang's avatar
martianzhang 已提交
5338
		{
L
liipx 已提交
5339
			yyVAL.expr = yyDollar[1].subquery
martianzhang's avatar
martianzhang 已提交
5340
		}
L
liipx 已提交
5341
	case 438:
martianzhang's avatar
martianzhang 已提交
5342
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5343
//line sql.y:2286
martianzhang's avatar
martianzhang 已提交
5344
		{
L
liipx 已提交
5345
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitAndStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5346
		}
L
liipx 已提交
5347
	case 439:
martianzhang's avatar
martianzhang 已提交
5348
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5349
//line sql.y:2290
martianzhang's avatar
martianzhang 已提交
5350
		{
L
liipx 已提交
5351
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitOrStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5352
		}
L
liipx 已提交
5353
	case 440:
martianzhang's avatar
martianzhang 已提交
5354
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5355
//line sql.y:2294
martianzhang's avatar
martianzhang 已提交
5356
		{
L
liipx 已提交
5357
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: BitXorStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5358
		}
L
liipx 已提交
5359
	case 441:
martianzhang's avatar
martianzhang 已提交
5360
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5361
//line sql.y:2298
martianzhang's avatar
martianzhang 已提交
5362
		{
L
liipx 已提交
5363
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: PlusStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5364
		}
L
liipx 已提交
5365
	case 442:
martianzhang's avatar
martianzhang 已提交
5366
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5367
//line sql.y:2302
martianzhang's avatar
martianzhang 已提交
5368
		{
L
liipx 已提交
5369
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MinusStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5370
		}
L
liipx 已提交
5371
	case 443:
martianzhang's avatar
martianzhang 已提交
5372
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5373
//line sql.y:2306
martianzhang's avatar
martianzhang 已提交
5374
		{
L
liipx 已提交
5375
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: MultStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5376
		}
L
liipx 已提交
5377
	case 444:
martianzhang's avatar
martianzhang 已提交
5378
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5379
//line sql.y:2310
martianzhang's avatar
martianzhang 已提交
5380
		{
L
liipx 已提交
5381
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: DivStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5382
		}
L
liipx 已提交
5383
	case 445:
martianzhang's avatar
martianzhang 已提交
5384
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5385
//line sql.y:2314
martianzhang's avatar
martianzhang 已提交
5386
		{
L
liipx 已提交
5387
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: IntDivStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5388
		}
L
liipx 已提交
5389
	case 446:
martianzhang's avatar
martianzhang 已提交
5390
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5391
//line sql.y:2318
martianzhang's avatar
martianzhang 已提交
5392 5393 5394
		{
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr}
		}
L
liipx 已提交
5395
	case 447:
martianzhang's avatar
martianzhang 已提交
5396
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5397
//line sql.y:2322
martianzhang's avatar
martianzhang 已提交
5398
		{
L
liipx 已提交
5399
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ModStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5400
		}
L
liipx 已提交
5401
	case 448:
martianzhang's avatar
martianzhang 已提交
5402
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5403
//line sql.y:2326
martianzhang's avatar
martianzhang 已提交
5404
		{
L
liipx 已提交
5405
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftLeftStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5406
		}
L
liipx 已提交
5407
	case 449:
martianzhang's avatar
martianzhang 已提交
5408
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5409
//line sql.y:2330
martianzhang's avatar
martianzhang 已提交
5410
		{
L
liipx 已提交
5411
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].expr, Operator: ShiftRightStr, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5412
		}
L
liipx 已提交
5413
	case 450:
martianzhang's avatar
martianzhang 已提交
5414
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5415
//line sql.y:2334
martianzhang's avatar
martianzhang 已提交
5416
		{
L
liipx 已提交
5417
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONExtractOp, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5418
		}
L
liipx 已提交
5419
	case 451:
martianzhang's avatar
martianzhang 已提交
5420
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5421
//line sql.y:2338
martianzhang's avatar
martianzhang 已提交
5422
		{
L
liipx 已提交
5423
			yyVAL.expr = &BinaryExpr{Left: yyDollar[1].colName, Operator: JSONUnquoteExtractOp, Right: yyDollar[3].expr}
martianzhang's avatar
martianzhang 已提交
5424
		}
L
liipx 已提交
5425
	case 452:
L
liipx 已提交
5426
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5427
//line sql.y:2342
martianzhang's avatar
martianzhang 已提交
5428
		{
L
liipx 已提交
5429
			yyVAL.expr = &CollateExpr{Expr: yyDollar[1].expr, Charset: yyDollar[3].str}
martianzhang's avatar
martianzhang 已提交
5430
		}
L
liipx 已提交
5431
	case 453:
martianzhang's avatar
martianzhang 已提交
5432
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5433
//line sql.y:2346
martianzhang's avatar
martianzhang 已提交
5434
		{
L
liipx 已提交
5435
			yyVAL.expr = &UnaryExpr{Operator: BinaryStr, Expr: yyDollar[2].expr}
martianzhang's avatar
martianzhang 已提交
5436
		}
L
liipx 已提交
5437
	case 454:
martianzhang's avatar
martianzhang 已提交
5438
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5439
//line sql.y:2350
martianzhang's avatar
martianzhang 已提交
5440
		{
L
liipx 已提交
5441
			yyVAL.expr = &UnaryExpr{Operator: UBinaryStr, Expr: yyDollar[2].expr}
martianzhang's avatar
martianzhang 已提交
5442
		}
L
liipx 已提交
5443
	case 455:
martianzhang's avatar
martianzhang 已提交
5444
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5445
//line sql.y:2354
L
liipx 已提交
5446 5447 5448
		{
			yyVAL.expr = &UnaryExpr{Operator: Utf8mb4Str, Expr: yyDollar[2].expr}
		}
L
liipx 已提交
5449
	case 456:
L
liipx 已提交
5450
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5451
//line sql.y:2358
martianzhang's avatar
martianzhang 已提交
5452 5453 5454 5455 5456 5457 5458
		{
			if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal {
				yyVAL.expr = num
			} else {
				yyVAL.expr = &UnaryExpr{Operator: UPlusStr, Expr: yyDollar[2].expr}
			}
		}
L
liipx 已提交
5459
	case 457:
martianzhang's avatar
martianzhang 已提交
5460
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5461
//line sql.y:2366
martianzhang's avatar
martianzhang 已提交
5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474
		{
			if num, ok := yyDollar[2].expr.(*SQLVal); ok && num.Type == IntVal {
				// Handle double negative
				if num.Val[0] == '-' {
					num.Val = num.Val[1:]
					yyVAL.expr = num
				} else {
					yyVAL.expr = NewIntVal(append([]byte("-"), num.Val...))
				}
			} else {
				yyVAL.expr = &UnaryExpr{Operator: UMinusStr, Expr: yyDollar[2].expr}
			}
		}
L
liipx 已提交
5475
	case 458:
martianzhang's avatar
martianzhang 已提交
5476
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5477
//line sql.y:2380
martianzhang's avatar
martianzhang 已提交
5478 5479 5480
		{
			yyVAL.expr = &UnaryExpr{Operator: TildaStr, Expr: yyDollar[2].expr}
		}
L
liipx 已提交
5481
	case 459:
martianzhang's avatar
martianzhang 已提交
5482
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5483
//line sql.y:2384
martianzhang's avatar
martianzhang 已提交
5484 5485 5486
		{
			yyVAL.expr = &UnaryExpr{Operator: BangStr, Expr: yyDollar[2].expr}
		}
L
liipx 已提交
5487
	case 460:
martianzhang's avatar
martianzhang 已提交
5488
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5489
//line sql.y:2388
martianzhang's avatar
martianzhang 已提交
5490 5491 5492 5493 5494 5495 5496
		{
			// This rule prevents the usage of INTERVAL
			// as a function. If support is needed for that,
			// we'll need to revisit this. The solution
			// will be non-trivial because of grammar conflicts.
			yyVAL.expr = &IntervalExpr{Expr: yyDollar[2].expr, Unit: yyDollar[3].colIdent.String()}
		}
L
liipx 已提交
5497
	case 465:
martianzhang's avatar
martianzhang 已提交
5498
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5499
//line sql.y:2406
martianzhang's avatar
martianzhang 已提交
5500 5501 5502
		{
			yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprs}
		}
L
liipx 已提交
5503
	case 466:
martianzhang's avatar
martianzhang 已提交
5504
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5505
//line sql.y:2410
martianzhang's avatar
martianzhang 已提交
5506 5507 5508
		{
			yyVAL.expr = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprs}
		}
L
liipx 已提交
5509
	case 467:
martianzhang's avatar
martianzhang 已提交
5510
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
5511
//line sql.y:2414
martianzhang's avatar
martianzhang 已提交
5512 5513 5514
		{
			yyVAL.expr = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprs}
		}
L
liipx 已提交
5515
	case 468:
martianzhang's avatar
martianzhang 已提交
5516
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5517
//line sql.y:2424
martianzhang's avatar
martianzhang 已提交
5518
		{
L
liipx 已提交
5519
			yyVAL.expr = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprs}
martianzhang's avatar
martianzhang 已提交
5520
		}
L
liipx 已提交
5521
	case 469:
L
liipx 已提交
5522
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5523
//line sql.y:2428
martianzhang's avatar
martianzhang 已提交
5524
		{
L
liipx 已提交
5525
			yyVAL.expr = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprs}
martianzhang's avatar
martianzhang 已提交
5526
		}
L
liipx 已提交
5527
	case 470:
martianzhang's avatar
martianzhang 已提交
5528
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
5529
//line sql.y:2432
martianzhang's avatar
martianzhang 已提交
5530 5531 5532
		{
			yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType}
		}
L
liipx 已提交
5533
	case 471:
martianzhang's avatar
martianzhang 已提交
5534
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
5535
//line sql.y:2436
martianzhang's avatar
martianzhang 已提交
5536
		{
L
liipx 已提交
5537
			yyVAL.expr = &ConvertExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].convertType}
martianzhang's avatar
martianzhang 已提交
5538
		}
L
liipx 已提交
5539
	case 472:
martianzhang's avatar
martianzhang 已提交
5540
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
5541
//line sql.y:2440
martianzhang's avatar
martianzhang 已提交
5542
		{
L
liipx 已提交
5543
			yyVAL.expr = &ConvertUsingExpr{Expr: yyDollar[3].expr, Type: yyDollar[5].str}
martianzhang's avatar
martianzhang 已提交
5544
		}
L
liipx 已提交
5545
	case 473:
L
liipx 已提交
5546
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
5547
//line sql.y:2444
martianzhang's avatar
martianzhang 已提交
5548
		{
L
liipx 已提交
5549
			yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: nil}
martianzhang's avatar
martianzhang 已提交
5550
		}
L
liipx 已提交
5551
	case 474:
martianzhang's avatar
martianzhang 已提交
5552
		yyDollar = yyS[yypt-8 : yypt+1]
L
liipx 已提交
5553
//line sql.y:2448
martianzhang's avatar
martianzhang 已提交
5554 5555 5556
		{
			yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr}
		}
L
liipx 已提交
5557
	case 475:
L
liipx 已提交
5558
		yyDollar = yyS[yypt-8 : yypt+1]
L
liipx 已提交
5559
//line sql.y:2452
martianzhang's avatar
martianzhang 已提交
5560
		{
L
liipx 已提交
5561
			yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr}
martianzhang's avatar
martianzhang 已提交
5562
		}
L
liipx 已提交
5563
	case 476:
L
liipx 已提交
5564
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
5565
//line sql.y:2456
martianzhang's avatar
martianzhang 已提交
5566
		{
L
liipx 已提交
5567
			yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: nil}
martianzhang's avatar
martianzhang 已提交
5568
		}
L
liipx 已提交
5569
	case 477:
martianzhang's avatar
martianzhang 已提交
5570
		yyDollar = yyS[yypt-8 : yypt+1]
L
liipx 已提交
5571
//line sql.y:2460
martianzhang's avatar
martianzhang 已提交
5572 5573 5574
		{
			yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr}
		}
L
liipx 已提交
5575
	case 478:
L
liipx 已提交
5576
		yyDollar = yyS[yypt-8 : yypt+1]
L
liipx 已提交
5577
//line sql.y:2464
martianzhang's avatar
martianzhang 已提交
5578
		{
L
liipx 已提交
5579
			yyVAL.expr = &SubstrExpr{Name: yyDollar[3].colName, From: yyDollar[5].expr, To: yyDollar[7].expr}
martianzhang's avatar
martianzhang 已提交
5580
		}
L
liipx 已提交
5581
	case 479:
L
liipx 已提交
5582
		yyDollar = yyS[yypt-9 : yypt+1]
L
liipx 已提交
5583
//line sql.y:2468
martianzhang's avatar
martianzhang 已提交
5584
		{
L
liipx 已提交
5585
			yyVAL.expr = &MatchExpr{Columns: yyDollar[3].selectExprs, Expr: yyDollar[7].expr, Option: yyDollar[8].str}
martianzhang's avatar
martianzhang 已提交
5586
		}
L
liipx 已提交
5587
	case 480:
L
liipx 已提交
5588
		yyDollar = yyS[yypt-7 : yypt+1]
L
liipx 已提交
5589
//line sql.y:2472
martianzhang's avatar
martianzhang 已提交
5590
		{
L
liipx 已提交
5591
			yyVAL.expr = &GroupConcatExpr{Distinct: yyDollar[3].str, Exprs: yyDollar[4].selectExprs, OrderBy: yyDollar[5].orderBy, Separator: yyDollar[6].str}
martianzhang's avatar
martianzhang 已提交
5592
		}
L
liipx 已提交
5593
	case 481:
L
liipx 已提交
5594
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5595
//line sql.y:2476
martianzhang's avatar
martianzhang 已提交
5596
		{
L
liipx 已提交
5597
			yyVAL.expr = &CaseExpr{Expr: yyDollar[2].expr, Whens: yyDollar[3].whens, Else: yyDollar[4].expr}
martianzhang's avatar
martianzhang 已提交
5598
		}
L
liipx 已提交
5599
	case 482:
L
liipx 已提交
5600
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5601
//line sql.y:2480
martianzhang's avatar
martianzhang 已提交
5602
		{
L
liipx 已提交
5603
			yyVAL.expr = &ValuesFuncExpr{Name: yyDollar[3].colName}
martianzhang's avatar
martianzhang 已提交
5604
		}
L
liipx 已提交
5605
	case 483:
martianzhang's avatar
martianzhang 已提交
5606
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5607
//line sql.y:2490
martianzhang's avatar
martianzhang 已提交
5608
		{
L
liipx 已提交
5609
			yyVAL.expr = &FuncExpr{Name: NewColIdent("current_timestamp")}
martianzhang's avatar
martianzhang 已提交
5610
		}
L
liipx 已提交
5611
	case 484:
martianzhang's avatar
martianzhang 已提交
5612
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5613
//line sql.y:2494
martianzhang's avatar
martianzhang 已提交
5614
		{
L
liipx 已提交
5615
			yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_timestamp")}
martianzhang's avatar
martianzhang 已提交
5616
		}
L
liipx 已提交
5617
	case 485:
martianzhang's avatar
martianzhang 已提交
5618
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5619
//line sql.y:2498
martianzhang's avatar
martianzhang 已提交
5620
		{
L
liipx 已提交
5621
			yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_time")}
martianzhang's avatar
martianzhang 已提交
5622
		}
L
liipx 已提交
5623
	case 486:
martianzhang's avatar
martianzhang 已提交
5624
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5625
//line sql.y:2502
martianzhang's avatar
martianzhang 已提交
5626
		{
L
liipx 已提交
5627
			yyVAL.expr = &FuncExpr{Name: NewColIdent("utc_date")}
martianzhang's avatar
martianzhang 已提交
5628
		}
L
liipx 已提交
5629
	case 487:
martianzhang's avatar
martianzhang 已提交
5630
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5631
//line sql.y:2507
martianzhang's avatar
martianzhang 已提交
5632
		{
L
liipx 已提交
5633
			yyVAL.expr = &FuncExpr{Name: NewColIdent("localtime")}
martianzhang's avatar
martianzhang 已提交
5634
		}
L
liipx 已提交
5635
	case 488:
martianzhang's avatar
martianzhang 已提交
5636
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5637
//line sql.y:2512
martianzhang's avatar
martianzhang 已提交
5638
		{
L
liipx 已提交
5639
			yyVAL.expr = &FuncExpr{Name: NewColIdent("localtimestamp")}
martianzhang's avatar
martianzhang 已提交
5640
		}
L
liipx 已提交
5641
	case 489:
martianzhang's avatar
martianzhang 已提交
5642
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5643
//line sql.y:2517
martianzhang's avatar
martianzhang 已提交
5644
		{
L
liipx 已提交
5645
			yyVAL.expr = &FuncExpr{Name: NewColIdent("current_date")}
martianzhang's avatar
martianzhang 已提交
5646
		}
L
liipx 已提交
5647
	case 490:
L
liipx 已提交
5648
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5649
//line sql.y:2522
martianzhang's avatar
martianzhang 已提交
5650
		{
L
liipx 已提交
5651
			yyVAL.expr = &FuncExpr{Name: NewColIdent("current_time")}
martianzhang's avatar
martianzhang 已提交
5652
		}
L
liipx 已提交
5653
	case 493:
martianzhang's avatar
martianzhang 已提交
5654
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5655
//line sql.y:2536
martianzhang's avatar
martianzhang 已提交
5656
		{
L
liipx 已提交
5657
			yyVAL.expr = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprs}
martianzhang's avatar
martianzhang 已提交
5658
		}
L
liipx 已提交
5659
	case 494:
martianzhang's avatar
martianzhang 已提交
5660
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5661
//line sql.y:2540
martianzhang's avatar
martianzhang 已提交
5662
		{
L
liipx 已提交
5663
			yyVAL.expr = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprs}
martianzhang's avatar
martianzhang 已提交
5664
		}
L
liipx 已提交
5665
	case 495:
martianzhang's avatar
martianzhang 已提交
5666
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5667
//line sql.y:2544
martianzhang's avatar
martianzhang 已提交
5668
		{
L
liipx 已提交
5669
			yyVAL.expr = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprs}
martianzhang's avatar
martianzhang 已提交
5670
		}
L
liipx 已提交
5671
	case 496:
L
liipx 已提交
5672
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5673
//line sql.y:2548
martianzhang's avatar
martianzhang 已提交
5674
		{
L
liipx 已提交
5675
			yyVAL.expr = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprs}
martianzhang's avatar
martianzhang 已提交
5676
		}
L
liipx 已提交
5677
	case 497:
L
liipx 已提交
5678
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5679
//line sql.y:2554
martianzhang's avatar
martianzhang 已提交
5680
		{
L
liipx 已提交
5681
			yyVAL.str = ""
martianzhang's avatar
martianzhang 已提交
5682
		}
L
liipx 已提交
5683
	case 498:
L
liipx 已提交
5684
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5685
//line sql.y:2558
martianzhang's avatar
martianzhang 已提交
5686
		{
L
liipx 已提交
5687
			yyVAL.str = BooleanModeStr
martianzhang's avatar
martianzhang 已提交
5688
		}
L
liipx 已提交
5689
	case 499:
L
liipx 已提交
5690
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5691
//line sql.y:2562
martianzhang's avatar
martianzhang 已提交
5692
		{
L
liipx 已提交
5693
			yyVAL.str = NaturalLanguageModeStr
martianzhang's avatar
martianzhang 已提交
5694
		}
L
liipx 已提交
5695
	case 500:
L
liipx 已提交
5696
		yyDollar = yyS[yypt-7 : yypt+1]
L
liipx 已提交
5697
//line sql.y:2566
martianzhang's avatar
martianzhang 已提交
5698
		{
L
liipx 已提交
5699
			yyVAL.str = NaturalLanguageModeWithQueryExpansionStr
martianzhang's avatar
martianzhang 已提交
5700
		}
L
liipx 已提交
5701
	case 501:
L
liipx 已提交
5702
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5703
//line sql.y:2570
martianzhang's avatar
martianzhang 已提交
5704
		{
L
liipx 已提交
5705
			yyVAL.str = QueryExpansionStr
martianzhang's avatar
martianzhang 已提交
5706
		}
L
liipx 已提交
5707
	case 502:
martianzhang's avatar
martianzhang 已提交
5708
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5709
//line sql.y:2576
martianzhang's avatar
martianzhang 已提交
5710 5711 5712
		{
			yyVAL.str = string(yyDollar[1].bytes)
		}
L
liipx 已提交
5713
	case 503:
L
liipx 已提交
5714
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5715
//line sql.y:2580
martianzhang's avatar
martianzhang 已提交
5716
		{
L
liipx 已提交
5717
			yyVAL.str = string(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5718
		}
L
liipx 已提交
5719
	case 504:
L
liipx 已提交
5720
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5721
//line sql.y:2586
martianzhang's avatar
martianzhang 已提交
5722
		{
L
liipx 已提交
5723
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
martianzhang's avatar
martianzhang 已提交
5724
		}
L
liipx 已提交
5725
	case 505:
martianzhang's avatar
martianzhang 已提交
5726
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5727
//line sql.y:2590
martianzhang's avatar
martianzhang 已提交
5728
		{
L
liipx 已提交
5729
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: yyDollar[3].str, Operator: CharacterSetStr}
martianzhang's avatar
martianzhang 已提交
5730
		}
L
liipx 已提交
5731
	case 506:
L
liipx 已提交
5732
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5733
//line sql.y:2594
martianzhang's avatar
martianzhang 已提交
5734
		{
L
liipx 已提交
5735
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal, Charset: string(yyDollar[3].bytes)}
martianzhang's avatar
martianzhang 已提交
5736
		}
L
liipx 已提交
5737
	case 507:
L
liipx 已提交
5738
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5739
//line sql.y:2598
martianzhang's avatar
martianzhang 已提交
5740
		{
L
liipx 已提交
5741
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)}
martianzhang's avatar
martianzhang 已提交
5742
		}
L
liipx 已提交
5743
	case 508:
martianzhang's avatar
martianzhang 已提交
5744
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5745
//line sql.y:2602
martianzhang's avatar
martianzhang 已提交
5746
		{
L
liipx 已提交
5747
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
martianzhang's avatar
martianzhang 已提交
5748
		}
L
liipx 已提交
5749
	case 509:
L
liipx 已提交
5750
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5751
//line sql.y:2606
martianzhang's avatar
martianzhang 已提交
5752 5753
		{
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)}
L
liipx 已提交
5754 5755
			yyVAL.convertType.Length = yyDollar[2].LengthScaleOption.Length
			yyVAL.convertType.Scale = yyDollar[2].LengthScaleOption.Scale
martianzhang's avatar
martianzhang 已提交
5756
		}
L
liipx 已提交
5757
	case 510:
L
liipx 已提交
5758
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5759
//line sql.y:2612
martianzhang's avatar
martianzhang 已提交
5760
		{
L
liipx 已提交
5761
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)}
martianzhang's avatar
martianzhang 已提交
5762
		}
L
liipx 已提交
5763
	case 511:
L
liipx 已提交
5764
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5765
//line sql.y:2616
martianzhang's avatar
martianzhang 已提交
5766
		{
L
liipx 已提交
5767
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
martianzhang's avatar
martianzhang 已提交
5768
		}
L
liipx 已提交
5769
	case 512:
L
liipx 已提交
5770
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5771
//line sql.y:2620
martianzhang's avatar
martianzhang 已提交
5772 5773 5774
		{
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)}
		}
L
liipx 已提交
5775
	case 513:
martianzhang's avatar
martianzhang 已提交
5776
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5777
//line sql.y:2624
martianzhang's avatar
martianzhang 已提交
5778
		{
L
liipx 已提交
5779
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)}
martianzhang's avatar
martianzhang 已提交
5780
		}
L
liipx 已提交
5781
	case 514:
L
liipx 已提交
5782
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5783
//line sql.y:2628
martianzhang's avatar
martianzhang 已提交
5784
		{
L
liipx 已提交
5785
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes), Length: yyDollar[2].optVal}
martianzhang's avatar
martianzhang 已提交
5786
		}
L
liipx 已提交
5787
	case 515:
L
liipx 已提交
5788
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5789
//line sql.y:2632
martianzhang's avatar
martianzhang 已提交
5790 5791 5792
		{
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)}
		}
L
liipx 已提交
5793
	case 516:
L
liipx 已提交
5794
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5795
//line sql.y:2636
L
liipx 已提交
5796 5797 5798
		{
			yyVAL.convertType = &ConvertType{Type: string(yyDollar[1].bytes)}
		}
L
liipx 已提交
5799
	case 517:
martianzhang's avatar
martianzhang 已提交
5800
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5801
//line sql.y:2641
martianzhang's avatar
martianzhang 已提交
5802 5803 5804
		{
			yyVAL.expr = nil
		}
L
liipx 已提交
5805
	case 518:
martianzhang's avatar
martianzhang 已提交
5806
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5807
//line sql.y:2645
martianzhang's avatar
martianzhang 已提交
5808 5809 5810
		{
			yyVAL.expr = yyDollar[1].expr
		}
L
liipx 已提交
5811
	case 519:
martianzhang's avatar
martianzhang 已提交
5812
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5813
//line sql.y:2650
martianzhang's avatar
martianzhang 已提交
5814 5815 5816
		{
			yyVAL.str = string("")
		}
L
liipx 已提交
5817
	case 520:
martianzhang's avatar
martianzhang 已提交
5818
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5819
//line sql.y:2654
martianzhang's avatar
martianzhang 已提交
5820 5821 5822
		{
			yyVAL.str = " separator '" + string(yyDollar[2].bytes) + "'"
		}
L
liipx 已提交
5823
	case 521:
martianzhang's avatar
martianzhang 已提交
5824
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5825
//line sql.y:2660
martianzhang's avatar
martianzhang 已提交
5826 5827 5828
		{
			yyVAL.whens = []*When{yyDollar[1].when}
		}
L
liipx 已提交
5829
	case 522:
martianzhang's avatar
martianzhang 已提交
5830
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5831
//line sql.y:2664
martianzhang's avatar
martianzhang 已提交
5832 5833 5834
		{
			yyVAL.whens = append(yyDollar[1].whens, yyDollar[2].when)
		}
L
liipx 已提交
5835
	case 523:
martianzhang's avatar
martianzhang 已提交
5836
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
5837
//line sql.y:2670
martianzhang's avatar
martianzhang 已提交
5838 5839 5840
		{
			yyVAL.when = &When{Cond: yyDollar[2].expr, Val: yyDollar[4].expr}
		}
L
liipx 已提交
5841
	case 524:
martianzhang's avatar
martianzhang 已提交
5842
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5843
//line sql.y:2675
martianzhang's avatar
martianzhang 已提交
5844 5845 5846
		{
			yyVAL.expr = nil
		}
L
liipx 已提交
5847
	case 525:
martianzhang's avatar
martianzhang 已提交
5848
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5849
//line sql.y:2679
martianzhang's avatar
martianzhang 已提交
5850 5851 5852
		{
			yyVAL.expr = yyDollar[2].expr
		}
L
liipx 已提交
5853
	case 526:
L
liipx 已提交
5854
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5855
//line sql.y:2685
martianzhang's avatar
martianzhang 已提交
5856
		{
L
liipx 已提交
5857
			yyVAL.colName = &ColName{Name: yyDollar[1].colIdent}
martianzhang's avatar
martianzhang 已提交
5858
		}
L
liipx 已提交
5859
	case 527:
L
liipx 已提交
5860
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5861
//line sql.y:2689
martianzhang's avatar
martianzhang 已提交
5862
		{
L
liipx 已提交
5863
			yyVAL.colName = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent}
martianzhang's avatar
martianzhang 已提交
5864
		}
L
liipx 已提交
5865
	case 528:
L
liipx 已提交
5866
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
5867
//line sql.y:2693
martianzhang's avatar
martianzhang 已提交
5868
		{
L
liipx 已提交
5869
			yyVAL.colName = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent}
martianzhang's avatar
martianzhang 已提交
5870
		}
L
liipx 已提交
5871
	case 529:
martianzhang's avatar
martianzhang 已提交
5872
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5873
//line sql.y:2699
martianzhang's avatar
martianzhang 已提交
5874
		{
L
liipx 已提交
5875
			yyVAL.expr = NewStrVal(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5876
		}
L
liipx 已提交
5877
	case 530:
martianzhang's avatar
martianzhang 已提交
5878
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5879
//line sql.y:2703
martianzhang's avatar
martianzhang 已提交
5880
		{
L
liipx 已提交
5881
			yyVAL.expr = NewHexVal(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5882
		}
L
liipx 已提交
5883
	case 531:
martianzhang's avatar
martianzhang 已提交
5884
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5885
//line sql.y:2707
martianzhang's avatar
martianzhang 已提交
5886
		{
L
liipx 已提交
5887
			yyVAL.expr = NewBitVal(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5888
		}
L
liipx 已提交
5889
	case 532:
martianzhang's avatar
martianzhang 已提交
5890
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5891
//line sql.y:2711
martianzhang's avatar
martianzhang 已提交
5892
		{
L
liipx 已提交
5893
			yyVAL.expr = NewIntVal(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5894
		}
L
liipx 已提交
5895
	case 533:
martianzhang's avatar
martianzhang 已提交
5896
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5897
//line sql.y:2715
martianzhang's avatar
martianzhang 已提交
5898
		{
L
liipx 已提交
5899
			yyVAL.expr = NewFloatVal(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5900
		}
L
liipx 已提交
5901
	case 534:
martianzhang's avatar
martianzhang 已提交
5902
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5903
//line sql.y:2719
martianzhang's avatar
martianzhang 已提交
5904
		{
L
liipx 已提交
5905
			yyVAL.expr = NewHexNum(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5906
		}
L
liipx 已提交
5907
	case 535:
martianzhang's avatar
martianzhang 已提交
5908
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5909
//line sql.y:2723
martianzhang's avatar
martianzhang 已提交
5910
		{
L
liipx 已提交
5911
			yyVAL.expr = NewValArg(yyDollar[1].bytes)
martianzhang's avatar
martianzhang 已提交
5912
		}
L
liipx 已提交
5913
	case 536:
martianzhang's avatar
martianzhang 已提交
5914
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5915
//line sql.y:2727
L
liipx 已提交
5916 5917 5918
		{
			yyVAL.expr = &NullVal{}
		}
L
liipx 已提交
5919
	case 537:
L
liipx 已提交
5920
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5921
//line sql.y:2733
martianzhang's avatar
martianzhang 已提交
5922 5923 5924 5925 5926 5927 5928 5929
		{
			// TODO(sougou): Deprecate this construct.
			if yyDollar[1].colIdent.Lowered() != "value" {
				yylex.Error("expecting value after next")
				return 1
			}
			yyVAL.expr = NewIntVal([]byte("1"))
		}
L
liipx 已提交
5930
	case 538:
martianzhang's avatar
martianzhang 已提交
5931
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5932
//line sql.y:2742
martianzhang's avatar
martianzhang 已提交
5933 5934 5935
		{
			yyVAL.expr = NewIntVal(yyDollar[1].bytes)
		}
L
liipx 已提交
5936
	case 539:
martianzhang's avatar
martianzhang 已提交
5937
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5938
//line sql.y:2746
martianzhang's avatar
martianzhang 已提交
5939 5940 5941
		{
			yyVAL.expr = NewValArg(yyDollar[1].bytes)
		}
L
liipx 已提交
5942
	case 540:
martianzhang's avatar
martianzhang 已提交
5943
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5944
//line sql.y:2751
martianzhang's avatar
martianzhang 已提交
5945 5946 5947
		{
			yyVAL.exprs = nil
		}
L
liipx 已提交
5948
	case 541:
martianzhang's avatar
martianzhang 已提交
5949
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5950
//line sql.y:2755
martianzhang's avatar
martianzhang 已提交
5951 5952 5953
		{
			yyVAL.exprs = yyDollar[3].exprs
		}
L
liipx 已提交
5954
	case 542:
martianzhang's avatar
martianzhang 已提交
5955
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5956
//line sql.y:2760
martianzhang's avatar
martianzhang 已提交
5957 5958 5959
		{
			yyVAL.expr = nil
		}
L
liipx 已提交
5960
	case 543:
martianzhang's avatar
martianzhang 已提交
5961
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5962
//line sql.y:2764
martianzhang's avatar
martianzhang 已提交
5963 5964 5965
		{
			yyVAL.expr = yyDollar[2].expr
		}
L
liipx 已提交
5966
	case 544:
martianzhang's avatar
martianzhang 已提交
5967
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5968
//line sql.y:2769
martianzhang's avatar
martianzhang 已提交
5969 5970 5971
		{
			yyVAL.orderBy = nil
		}
L
liipx 已提交
5972
	case 545:
martianzhang's avatar
martianzhang 已提交
5973
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5974
//line sql.y:2773
martianzhang's avatar
martianzhang 已提交
5975 5976 5977
		{
			yyVAL.orderBy = yyDollar[3].orderBy
		}
L
liipx 已提交
5978
	case 546:
martianzhang's avatar
martianzhang 已提交
5979
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
5980
//line sql.y:2779
martianzhang's avatar
martianzhang 已提交
5981 5982 5983
		{
			yyVAL.orderBy = OrderBy{yyDollar[1].order}
		}
L
liipx 已提交
5984
	case 547:
martianzhang's avatar
martianzhang 已提交
5985
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
5986
//line sql.y:2783
martianzhang's avatar
martianzhang 已提交
5987 5988 5989
		{
			yyVAL.orderBy = append(yyDollar[1].orderBy, yyDollar[3].order)
		}
L
liipx 已提交
5990
	case 548:
martianzhang's avatar
martianzhang 已提交
5991
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
5992
//line sql.y:2789
martianzhang's avatar
martianzhang 已提交
5993 5994 5995
		{
			yyVAL.order = &Order{Expr: yyDollar[1].expr, Direction: yyDollar[2].str}
		}
L
liipx 已提交
5996
	case 549:
martianzhang's avatar
martianzhang 已提交
5997
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
5998
//line sql.y:2794
martianzhang's avatar
martianzhang 已提交
5999 6000 6001
		{
			yyVAL.str = AscScr
		}
L
liipx 已提交
6002
	case 550:
martianzhang's avatar
martianzhang 已提交
6003
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6004
//line sql.y:2798
martianzhang's avatar
martianzhang 已提交
6005 6006 6007
		{
			yyVAL.str = AscScr
		}
L
liipx 已提交
6008
	case 551:
martianzhang's avatar
martianzhang 已提交
6009
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6010
//line sql.y:2802
martianzhang's avatar
martianzhang 已提交
6011 6012 6013
		{
			yyVAL.str = DescScr
		}
L
liipx 已提交
6014
	case 552:
martianzhang's avatar
martianzhang 已提交
6015
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6016
//line sql.y:2807
martianzhang's avatar
martianzhang 已提交
6017 6018 6019
		{
			yyVAL.limit = nil
		}
L
liipx 已提交
6020
	case 553:
martianzhang's avatar
martianzhang 已提交
6021
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
6022
//line sql.y:2811
martianzhang's avatar
martianzhang 已提交
6023 6024 6025
		{
			yyVAL.limit = &Limit{Rowcount: yyDollar[2].expr}
		}
L
liipx 已提交
6026
	case 554:
martianzhang's avatar
martianzhang 已提交
6027
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
6028
//line sql.y:2815
martianzhang's avatar
martianzhang 已提交
6029 6030 6031
		{
			yyVAL.limit = &Limit{Offset: yyDollar[2].expr, Rowcount: yyDollar[4].expr}
		}
L
liipx 已提交
6032
	case 555:
martianzhang's avatar
martianzhang 已提交
6033
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
6034
//line sql.y:2819
martianzhang's avatar
martianzhang 已提交
6035 6036 6037
		{
			yyVAL.limit = &Limit{Offset: yyDollar[4].expr, Rowcount: yyDollar[2].expr}
		}
L
liipx 已提交
6038
	case 556:
martianzhang's avatar
martianzhang 已提交
6039
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6040
//line sql.y:2824
martianzhang's avatar
martianzhang 已提交
6041 6042 6043
		{
			yyVAL.str = ""
		}
L
liipx 已提交
6044
	case 557:
martianzhang's avatar
martianzhang 已提交
6045
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
6046
//line sql.y:2828
martianzhang's avatar
martianzhang 已提交
6047 6048 6049
		{
			yyVAL.str = ForUpdateStr
		}
L
liipx 已提交
6050
	case 558:
martianzhang's avatar
martianzhang 已提交
6051
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
6052
//line sql.y:2832
martianzhang's avatar
martianzhang 已提交
6053 6054 6055
		{
			yyVAL.str = ShareModeStr
		}
L
liipx 已提交
6056
	case 559:
martianzhang's avatar
martianzhang 已提交
6057
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
6058
//line sql.y:2845
martianzhang's avatar
martianzhang 已提交
6059 6060 6061
		{
			yyVAL.ins = &Insert{Rows: yyDollar[2].values}
		}
L
liipx 已提交
6062
	case 560:
martianzhang's avatar
martianzhang 已提交
6063
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6064
//line sql.y:2849
martianzhang's avatar
martianzhang 已提交
6065 6066 6067
		{
			yyVAL.ins = &Insert{Rows: yyDollar[1].selStmt}
		}
L
liipx 已提交
6068
	case 561:
martianzhang's avatar
martianzhang 已提交
6069
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6070
//line sql.y:2853
martianzhang's avatar
martianzhang 已提交
6071 6072 6073 6074
		{
			// Drop the redundant parenthesis.
			yyVAL.ins = &Insert{Rows: yyDollar[2].selStmt}
		}
L
liipx 已提交
6075
	case 562:
martianzhang's avatar
martianzhang 已提交
6076
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
6077
//line sql.y:2858
martianzhang's avatar
martianzhang 已提交
6078 6079 6080
		{
			yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].values}
		}
L
liipx 已提交
6081
	case 563:
martianzhang's avatar
martianzhang 已提交
6082
		yyDollar = yyS[yypt-4 : yypt+1]
L
liipx 已提交
6083
//line sql.y:2862
martianzhang's avatar
martianzhang 已提交
6084 6085 6086
		{
			yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[4].selStmt}
		}
L
liipx 已提交
6087
	case 564:
martianzhang's avatar
martianzhang 已提交
6088
		yyDollar = yyS[yypt-6 : yypt+1]
L
liipx 已提交
6089
//line sql.y:2866
martianzhang's avatar
martianzhang 已提交
6090 6091 6092 6093
		{
			// Drop the redundant parenthesis.
			yyVAL.ins = &Insert{Columns: yyDollar[2].columns, Rows: yyDollar[5].selStmt}
		}
L
liipx 已提交
6094
	case 565:
martianzhang's avatar
martianzhang 已提交
6095
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6096
//line sql.y:2873
martianzhang's avatar
martianzhang 已提交
6097 6098 6099
		{
			yyVAL.columns = Columns{yyDollar[1].colIdent}
		}
L
liipx 已提交
6100
	case 566:
martianzhang's avatar
martianzhang 已提交
6101
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6102
//line sql.y:2877
martianzhang's avatar
martianzhang 已提交
6103 6104 6105
		{
			yyVAL.columns = Columns{yyDollar[3].colIdent}
		}
L
liipx 已提交
6106
	case 567:
martianzhang's avatar
martianzhang 已提交
6107
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6108
//line sql.y:2881
martianzhang's avatar
martianzhang 已提交
6109 6110 6111
		{
			yyVAL.columns = append(yyVAL.columns, yyDollar[3].colIdent)
		}
L
liipx 已提交
6112
	case 568:
martianzhang's avatar
martianzhang 已提交
6113
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
6114
//line sql.y:2885
martianzhang's avatar
martianzhang 已提交
6115 6116 6117
		{
			yyVAL.columns = append(yyVAL.columns, yyDollar[5].colIdent)
		}
L
liipx 已提交
6118
	case 569:
martianzhang's avatar
martianzhang 已提交
6119
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6120
//line sql.y:2890
martianzhang's avatar
martianzhang 已提交
6121 6122 6123
		{
			yyVAL.updateExprs = nil
		}
L
liipx 已提交
6124
	case 570:
martianzhang's avatar
martianzhang 已提交
6125
		yyDollar = yyS[yypt-5 : yypt+1]
L
liipx 已提交
6126
//line sql.y:2894
martianzhang's avatar
martianzhang 已提交
6127 6128 6129
		{
			yyVAL.updateExprs = yyDollar[5].updateExprs
		}
L
liipx 已提交
6130
	case 571:
martianzhang's avatar
martianzhang 已提交
6131
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6132
//line sql.y:2900
martianzhang's avatar
martianzhang 已提交
6133 6134 6135
		{
			yyVAL.values = Values{yyDollar[1].valTuple}
		}
L
liipx 已提交
6136
	case 572:
martianzhang's avatar
martianzhang 已提交
6137
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6138
//line sql.y:2904
martianzhang's avatar
martianzhang 已提交
6139 6140 6141
		{
			yyVAL.values = append(yyDollar[1].values, yyDollar[3].valTuple)
		}
L
liipx 已提交
6142
	case 573:
martianzhang's avatar
martianzhang 已提交
6143
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6144
//line sql.y:2910
martianzhang's avatar
martianzhang 已提交
6145 6146 6147
		{
			yyVAL.valTuple = yyDollar[1].valTuple
		}
L
liipx 已提交
6148
	case 574:
martianzhang's avatar
martianzhang 已提交
6149
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
6150
//line sql.y:2914
martianzhang's avatar
martianzhang 已提交
6151 6152 6153
		{
			yyVAL.valTuple = ValTuple{}
		}
L
liipx 已提交
6154
	case 575:
martianzhang's avatar
martianzhang 已提交
6155
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6156
//line sql.y:2920
martianzhang's avatar
martianzhang 已提交
6157 6158 6159
		{
			yyVAL.valTuple = ValTuple(yyDollar[2].exprs)
		}
L
liipx 已提交
6160
	case 576:
martianzhang's avatar
martianzhang 已提交
6161
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6162
//line sql.y:2926
martianzhang's avatar
martianzhang 已提交
6163 6164 6165 6166 6167 6168 6169
		{
			if len(yyDollar[1].valTuple) == 1 {
				yyVAL.expr = &ParenExpr{yyDollar[1].valTuple[0]}
			} else {
				yyVAL.expr = yyDollar[1].valTuple
			}
		}
L
liipx 已提交
6170
	case 577:
martianzhang's avatar
martianzhang 已提交
6171
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6172
//line sql.y:2936
martianzhang's avatar
martianzhang 已提交
6173 6174 6175
		{
			yyVAL.updateExprs = UpdateExprs{yyDollar[1].updateExpr}
		}
L
liipx 已提交
6176
	case 578:
martianzhang's avatar
martianzhang 已提交
6177
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6178
//line sql.y:2940
martianzhang's avatar
martianzhang 已提交
6179 6180 6181
		{
			yyVAL.updateExprs = append(yyDollar[1].updateExprs, yyDollar[3].updateExpr)
		}
L
liipx 已提交
6182
	case 579:
martianzhang's avatar
martianzhang 已提交
6183
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6184
//line sql.y:2946
martianzhang's avatar
martianzhang 已提交
6185 6186 6187
		{
			yyVAL.updateExpr = &UpdateExpr{Name: yyDollar[1].colName, Expr: yyDollar[3].expr}
		}
L
liipx 已提交
6188
	case 580:
L
liipx 已提交
6189
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6190
//line sql.y:2952
martianzhang's avatar
martianzhang 已提交
6191
		{
L
liipx 已提交
6192
			yyVAL.setExprs = SetExprs{yyDollar[1].setExpr}
martianzhang's avatar
martianzhang 已提交
6193
		}
L
liipx 已提交
6194
	case 581:
martianzhang's avatar
martianzhang 已提交
6195
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6196
//line sql.y:2956
martianzhang's avatar
martianzhang 已提交
6197
		{
L
liipx 已提交
6198
			yyVAL.setExprs = append(yyDollar[1].setExprs, yyDollar[3].setExpr)
martianzhang's avatar
martianzhang 已提交
6199
		}
L
liipx 已提交
6200
	case 582:
martianzhang's avatar
martianzhang 已提交
6201
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6202
//line sql.y:2962
martianzhang's avatar
martianzhang 已提交
6203
		{
L
liipx 已提交
6204
			yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("on"))}
martianzhang's avatar
martianzhang 已提交
6205
		}
L
liipx 已提交
6206
	case 583:
martianzhang's avatar
martianzhang 已提交
6207
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6208
//line sql.y:2966
martianzhang's avatar
martianzhang 已提交
6209
		{
L
liipx 已提交
6210
			yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: NewStrVal([]byte("off"))}
martianzhang's avatar
martianzhang 已提交
6211
		}
L
liipx 已提交
6212
	case 584:
martianzhang's avatar
martianzhang 已提交
6213
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6214
//line sql.y:2970
L
liipx 已提交
6215 6216 6217
		{
			yyVAL.setExpr = &SetExpr{Name: yyDollar[1].colIdent, Expr: yyDollar[3].expr}
		}
L
liipx 已提交
6218
	case 585:
L
liipx 已提交
6219
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6220
//line sql.y:2974
martianzhang's avatar
martianzhang 已提交
6221 6222 6223
		{
			yyVAL.setExpr = &SetExpr{Name: NewColIdent(string(yyDollar[1].bytes)), Expr: yyDollar[2].expr}
		}
L
liipx 已提交
6224
	case 587:
martianzhang's avatar
martianzhang 已提交
6225
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
6226
//line sql.y:2981
martianzhang's avatar
martianzhang 已提交
6227 6228 6229
		{
			yyVAL.bytes = []byte("charset")
		}
L
liipx 已提交
6230
	case 589:
martianzhang's avatar
martianzhang 已提交
6231
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6232
//line sql.y:2988
martianzhang's avatar
martianzhang 已提交
6233 6234 6235
		{
			yyVAL.expr = NewStrVal([]byte(yyDollar[1].colIdent.String()))
		}
L
liipx 已提交
6236
	case 590:
martianzhang's avatar
martianzhang 已提交
6237
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6238
//line sql.y:2992
martianzhang's avatar
martianzhang 已提交
6239 6240 6241
		{
			yyVAL.expr = NewStrVal(yyDollar[1].bytes)
		}
L
liipx 已提交
6242
	case 591:
martianzhang's avatar
martianzhang 已提交
6243
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6244
//line sql.y:2996
martianzhang's avatar
martianzhang 已提交
6245 6246 6247
		{
			yyVAL.expr = &Default{}
		}
L
liipx 已提交
6248
	case 594:
martianzhang's avatar
martianzhang 已提交
6249
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6250
//line sql.y:3005
martianzhang's avatar
martianzhang 已提交
6251 6252 6253
		{
			yyVAL.byt = 0
		}
L
liipx 已提交
6254
	case 595:
martianzhang's avatar
martianzhang 已提交
6255
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
6256
//line sql.y:3007
martianzhang's avatar
martianzhang 已提交
6257 6258 6259
		{
			yyVAL.byt = 1
		}
L
liipx 已提交
6260
	case 596:
martianzhang's avatar
martianzhang 已提交
6261
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6262
//line sql.y:3010
martianzhang's avatar
martianzhang 已提交
6263 6264 6265
		{
			yyVAL.empty = struct{}{}
		}
L
liipx 已提交
6266
	case 597:
martianzhang's avatar
martianzhang 已提交
6267
		yyDollar = yyS[yypt-3 : yypt+1]
L
liipx 已提交
6268
//line sql.y:3012
martianzhang's avatar
martianzhang 已提交
6269 6270 6271
		{
			yyVAL.empty = struct{}{}
		}
L
liipx 已提交
6272
	case 598:
martianzhang's avatar
martianzhang 已提交
6273
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6274
//line sql.y:3015
martianzhang's avatar
martianzhang 已提交
6275
		{
martianzhang's avatar
martianzhang 已提交
6276
			yyVAL.str = ""
martianzhang's avatar
martianzhang 已提交
6277 6278 6279
		}
	case 599:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6280
//line sql.y:3017
martianzhang's avatar
martianzhang 已提交
6281
		{
L
liipx 已提交
6282
			yyVAL.str = IgnoreStr
martianzhang's avatar
martianzhang 已提交
6283 6284 6285
		}
	case 600:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6286
//line sql.y:3021
martianzhang's avatar
martianzhang 已提交
6287 6288 6289 6290 6291
		{
			yyVAL.empty = struct{}{}
		}
	case 601:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6292
//line sql.y:3023
martianzhang's avatar
martianzhang 已提交
6293 6294 6295 6296 6297
		{
			yyVAL.empty = struct{}{}
		}
	case 602:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6298
//line sql.y:3025
martianzhang's avatar
martianzhang 已提交
6299 6300 6301 6302 6303
		{
			yyVAL.empty = struct{}{}
		}
	case 603:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6304
//line sql.y:3027
martianzhang's avatar
martianzhang 已提交
6305 6306 6307 6308 6309
		{
			yyVAL.empty = struct{}{}
		}
	case 604:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6310
//line sql.y:3029
martianzhang's avatar
martianzhang 已提交
6311 6312 6313 6314
		{
			yyVAL.empty = struct{}{}
		}
	case 605:
martianzhang's avatar
martianzhang 已提交
6315
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6316
//line sql.y:3031
martianzhang's avatar
martianzhang 已提交
6317 6318 6319 6320 6321
		{
			yyVAL.empty = struct{}{}
		}
	case 606:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6322
//line sql.y:3033
martianzhang's avatar
martianzhang 已提交
6323 6324 6325 6326
		{
			yyVAL.empty = struct{}{}
		}
	case 607:
L
liipx 已提交
6327
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6328
//line sql.y:3035
martianzhang's avatar
martianzhang 已提交
6329 6330 6331 6332
		{
			yyVAL.empty = struct{}{}
		}
	case 608:
L
liipx 已提交
6333 6334
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:3037
martianzhang's avatar
martianzhang 已提交
6335 6336 6337 6338 6339
		{
			yyVAL.empty = struct{}{}
		}
	case 609:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6340
//line sql.y:3039
martianzhang's avatar
martianzhang 已提交
6341 6342 6343 6344
		{
			yyVAL.empty = struct{}{}
		}
	case 610:
L
liipx 已提交
6345 6346
		yyDollar = yyS[yypt-0 : yypt+1]
//line sql.y:3042
martianzhang's avatar
martianzhang 已提交
6347 6348 6349 6350 6351
		{
			yyVAL.empty = struct{}{}
		}
	case 611:
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6352
//line sql.y:3044
martianzhang's avatar
martianzhang 已提交
6353 6354 6355 6356
		{
			yyVAL.empty = struct{}{}
		}
	case 612:
L
liipx 已提交
6357
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6358
//line sql.y:3046
martianzhang's avatar
martianzhang 已提交
6359 6360 6361 6362
		{
			yyVAL.empty = struct{}{}
		}
	case 613:
L
liipx 已提交
6363 6364
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:3050
martianzhang's avatar
martianzhang 已提交
6365
		{
martianzhang's avatar
martianzhang 已提交
6366
			yyVAL.empty = struct{}{}
martianzhang's avatar
martianzhang 已提交
6367 6368
		}
	case 614:
martianzhang's avatar
martianzhang 已提交
6369
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6370
//line sql.y:3052
martianzhang's avatar
martianzhang 已提交
6371
		{
martianzhang's avatar
martianzhang 已提交
6372
			yyVAL.empty = struct{}{}
martianzhang's avatar
martianzhang 已提交
6373 6374
		}
	case 615:
L
liipx 已提交
6375 6376
		yyDollar = yyS[yypt-0 : yypt+1]
//line sql.y:3055
martianzhang's avatar
martianzhang 已提交
6377
		{
L
liipx 已提交
6378
			yyVAL.empty = struct{}{}
martianzhang's avatar
martianzhang 已提交
6379 6380
		}
	case 616:
L
liipx 已提交
6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:3057
		{
			yyVAL.empty = struct{}{}
		}
	case 617:
		yyDollar = yyS[yypt-1 : yypt+1]
//line sql.y:3059
		{
			yyVAL.empty = struct{}{}
		}
	case 618:
L
liipx 已提交
6393
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6394
//line sql.y:3062
martianzhang's avatar
martianzhang 已提交
6395
		{
L
liipx 已提交
6396
			yyVAL.colIdent = ColIdent{}
martianzhang's avatar
martianzhang 已提交
6397
		}
L
liipx 已提交
6398
	case 619:
L
liipx 已提交
6399
		yyDollar = yyS[yypt-2 : yypt+1]
L
liipx 已提交
6400
//line sql.y:3064
martianzhang's avatar
martianzhang 已提交
6401
		{
L
liipx 已提交
6402
			yyVAL.colIdent = yyDollar[2].colIdent
martianzhang's avatar
martianzhang 已提交
6403
		}
L
liipx 已提交
6404
	case 620:
martianzhang's avatar
martianzhang 已提交
6405
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6406
//line sql.y:3068
martianzhang's avatar
martianzhang 已提交
6407 6408 6409
		{
			yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes))
		}
L
liipx 已提交
6410
	case 621:
martianzhang's avatar
martianzhang 已提交
6411
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6412
//line sql.y:3072
martianzhang's avatar
martianzhang 已提交
6413
		{
martianzhang's avatar
martianzhang 已提交
6414
			yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes))
martianzhang's avatar
martianzhang 已提交
6415
		}
L
liipx 已提交
6416
	case 623:
martianzhang's avatar
martianzhang 已提交
6417
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6418
//line sql.y:3079
martianzhang's avatar
martianzhang 已提交
6419
		{
L
liipx 已提交
6420
			yyVAL.colIdent = NewColIdent(string(yyDollar[1].bytes))
martianzhang's avatar
martianzhang 已提交
6421
		}
L
liipx 已提交
6422
	case 624:
martianzhang's avatar
martianzhang 已提交
6423
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6424
//line sql.y:3085
martianzhang's avatar
martianzhang 已提交
6425 6426 6427
		{
			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes))
		}
L
liipx 已提交
6428
	case 625:
martianzhang's avatar
martianzhang 已提交
6429
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6430
//line sql.y:3089
martianzhang's avatar
martianzhang 已提交
6431 6432 6433
		{
			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes))
		}
L
liipx 已提交
6434
	case 627:
martianzhang's avatar
martianzhang 已提交
6435
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6436
//line sql.y:3096
L
liipx 已提交
6437 6438 6439
		{
			yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].bytes))
		}
L
liipx 已提交
6440
	case 831:
L
liipx 已提交
6441
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6442
//line sql.y:3325
martianzhang's avatar
martianzhang 已提交
6443 6444 6445 6446 6447 6448
		{
			if incNesting(yylex) {
				yylex.Error("max nesting level reached")
				return 1
			}
		}
L
liipx 已提交
6449
	case 832:
martianzhang's avatar
martianzhang 已提交
6450
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6451
//line sql.y:3334
martianzhang's avatar
martianzhang 已提交
6452 6453 6454
		{
			decNesting(yylex)
		}
L
liipx 已提交
6455
	case 833:
martianzhang's avatar
martianzhang 已提交
6456
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6457
//line sql.y:3339
martianzhang's avatar
martianzhang 已提交
6458
		{
martianzhang's avatar
martianzhang 已提交
6459
			skipToEnd(yylex)
martianzhang's avatar
martianzhang 已提交
6460
		}
L
liipx 已提交
6461
	case 834:
martianzhang's avatar
martianzhang 已提交
6462
		yyDollar = yyS[yypt-0 : yypt+1]
L
liipx 已提交
6463
//line sql.y:3344
martianzhang's avatar
martianzhang 已提交
6464
		{
martianzhang's avatar
martianzhang 已提交
6465
			skipToEnd(yylex)
martianzhang's avatar
martianzhang 已提交
6466
		}
L
liipx 已提交
6467
	case 835:
martianzhang's avatar
martianzhang 已提交
6468
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6469
//line sql.y:3348
martianzhang's avatar
martianzhang 已提交
6470
		{
martianzhang's avatar
martianzhang 已提交
6471
			skipToEnd(yylex)
martianzhang's avatar
martianzhang 已提交
6472
		}
L
liipx 已提交
6473
	case 836:
martianzhang's avatar
martianzhang 已提交
6474
		yyDollar = yyS[yypt-1 : yypt+1]
L
liipx 已提交
6475
//line sql.y:3352
martianzhang's avatar
martianzhang 已提交
6476
		{
martianzhang's avatar
martianzhang 已提交
6477
			skipToEnd(yylex)
martianzhang's avatar
martianzhang 已提交
6478 6479 6480 6481
		}
	}
	goto yystack /* stack new state and value */
}