Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | More changes in support of evidence testing. |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
fb75130b8f275ec3b744c9e3c36a39ed |
User & Date: | drh 2010-12-07 03:38:51.000 |
Context
2011-01-25
| ||
20:41 | Update to the SQLite 3.7.5 beta. check-in: d3e28e8083 user: drh tags: trunk | |
2010-12-07
| ||
03:38 | More changes in support of evidence testing. check-in: fb75130b8f user: drh tags: trunk | |
03:33 | Update makefiles to build SQLite with the necessary options. Update SQLite to the latest version. Change run-all.sh so that it runs tests in sorted order. check-in: ab656a0873 user: drh tags: trunk | |
Changes
Changes to src/Makefile.no-odbc.
︙ | ︙ | |||
43 44 45 46 47 48 49 | OPTS += -DSQLITE_OMIT_COMPLETE #OPTS += -DSQLITE_OMIT_CONFLICT_CLAUSE OPTS += -DSQLITE_OMIT_DATETIME_FUNCS OPTS += -DSQLITE_OMIT_GET_TABLE OPTS += -DSQLITE_OMIT_INCRBLOB OPTS += -DSQLITE_OMIT_LOAD_EXTENSION OPTS += -DSQLITE_OMIT_MEMORYDB | | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | OPTS += -DSQLITE_OMIT_COMPLETE #OPTS += -DSQLITE_OMIT_CONFLICT_CLAUSE OPTS += -DSQLITE_OMIT_DATETIME_FUNCS OPTS += -DSQLITE_OMIT_GET_TABLE OPTS += -DSQLITE_OMIT_INCRBLOB OPTS += -DSQLITE_OMIT_LOAD_EXTENSION OPTS += -DSQLITE_OMIT_MEMORYDB #OPTS += -DSQLITE_OMIT_PRAGMA #OPTS += -DSQLITE_OMIT_REINDEX OPTS += -DSQLITE_OMIT_SHARED_CACHE OPTS += -DSQLITE_OMIT_TCL_VARIABLE OPTS += -DSQLITE_OMIT_TRACE OPTS += -DSQLITE_OMIT_TRACE OPTS += -DSQLITE_OMIT_UTF16 OPTS += -DSQLITE_OMIT_VACUUM OPTS += -DSQLITE_OMIT_VIRTUALTABLE |
︙ | ︙ |
Changes to src/sqlite3.c.
︙ | ︙ | |||
100214 100215 100216 100217 100218 100219 100220 | ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser ** YYNSTATE the combined number of states. ** YYNRULE the number of rules in the grammar ** YYERRORSYMBOL is the code number of the error symbol. If not ** defined, then do no error processing. */ #define YYCODETYPE unsigned char | | | | | | | | | | < | > | | | | | | 100214 100215 100216 100217 100218 100219 100220 100221 100222 100223 100224 100225 100226 100227 100228 100229 100230 100231 100232 100233 100234 100235 100236 100237 100238 100239 100240 100241 100242 100243 100244 100245 100246 100247 100248 100249 100250 100251 100252 100253 100254 100255 100256 100257 | ** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser ** YYNSTATE the combined number of states. ** YYNRULE the number of rules in the grammar ** YYERRORSYMBOL is the code number of the error symbol. If not ** defined, then do no error processing. */ #define YYCODETYPE unsigned char #define YYNOCODE 241 #define YYACTIONTYPE unsigned short int #define YYWILDCARD 67 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; Expr* yy2; u8 yy18; ExprSpan yy22; struct {int value; int mask;} yy47; SrcList* yy67; ExprList* yy82; struct TrigEvent yy210; IdList* yy240; struct LimitVal yy244; TriggerStep* yy347; int yy412; struct LikeOp yy438; Select* yy459; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 #endif #define sqlite3ParserARG_SDECL Parse *pParse; #define sqlite3ParserARG_PDECL ,Parse *pParse #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse #define sqlite3ParserARG_STORE yypParser->pParse = pParse #define YYNSTATE 579 #define YYNRULE 301 #define YYFALLBACK 1 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) /* The yyzerominor constant is used to initialize instances of ** YYMINORTYPE objects to zero. */ |
︙ | ︙ | |||
100313 100314 100315 100316 100317 100318 100319 | ** yy_action. Used to detect hash collisions. ** yy_shift_ofst[] For each state, the offset into yy_action for ** shifting terminals. ** yy_reduce_ofst[] For each state, the offset into yy_action for ** shifting non-terminals after a reduce. ** yy_default[] Default action for each state. */ | | | | | | | | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | 100313 100314 100315 100316 100317 100318 100319 100320 100321 100322 100323 100324 100325 100326 100327 100328 100329 100330 100331 100332 100333 100334 100335 100336 100337 100338 100339 100340 100341 100342 100343 100344 100345 100346 100347 100348 100349 100350 100351 100352 100353 100354 100355 100356 100357 100358 100359 100360 100361 100362 100363 100364 100365 100366 100367 100368 100369 100370 100371 100372 100373 100374 100375 100376 100377 100378 100379 100380 100381 100382 100383 100384 100385 100386 100387 100388 100389 100390 100391 100392 100393 100394 100395 100396 100397 100398 100399 100400 100401 100402 100403 100404 100405 100406 100407 100408 100409 100410 100411 100412 100413 100414 100415 100416 100417 100418 100419 100420 100421 100422 100423 100424 100425 100426 100427 100428 100429 100430 100431 100432 100433 100434 100435 100436 100437 100438 100439 100440 100441 100442 100443 100444 100445 100446 100447 100448 100449 100450 100451 100452 100453 100454 100455 100456 100457 100458 100459 100460 100461 100462 100463 100464 100465 100466 100467 100468 100469 100470 100471 100472 100473 100474 100475 100476 100477 100478 100479 100480 100481 100482 100483 100484 100485 100486 100487 100488 100489 100490 100491 100492 100493 100494 100495 100496 100497 100498 100499 100500 100501 100502 100503 100504 100505 100506 100507 100508 100509 100510 100511 100512 100513 100514 100515 100516 100517 100518 100519 100520 100521 100522 100523 100524 100525 100526 100527 100528 100529 100530 100531 100532 100533 100534 100535 100536 100537 100538 100539 100540 100541 100542 100543 100544 100545 100546 100547 100548 100549 100550 100551 100552 100553 100554 100555 100556 100557 100558 100559 100560 100561 100562 100563 100564 100565 100566 100567 100568 100569 100570 100571 100572 100573 100574 100575 100576 100577 100578 100579 100580 100581 100582 100583 100584 100585 100586 100587 100588 100589 100590 100591 100592 100593 100594 100595 100596 100597 100598 100599 100600 100601 100602 100603 100604 100605 100606 100607 100608 100609 100610 100611 100612 100613 100614 100615 100616 100617 100618 100619 100620 100621 100622 100623 100624 100625 100626 100627 100628 100629 100630 100631 100632 100633 100634 100635 100636 100637 100638 100639 100640 100641 100642 100643 100644 100645 100646 100647 100648 100649 100650 100651 100652 100653 100654 100655 100656 100657 100658 100659 100660 100661 100662 100663 100664 100665 100666 100667 100668 100669 100670 100671 100672 100673 100674 100675 100676 100677 100678 100679 100680 100681 100682 100683 100684 100685 100686 100687 100688 100689 100690 100691 100692 100693 100694 100695 100696 100697 100698 100699 100700 100701 100702 100703 100704 100705 100706 100707 100708 100709 100710 100711 100712 100713 100714 100715 100716 100717 100718 100719 100720 100721 100722 100723 100724 100725 100726 100727 100728 100729 100730 100731 100732 100733 100734 100735 100736 100737 100738 100739 100740 100741 100742 100743 100744 100745 100746 100747 100748 100749 100750 100751 100752 100753 100754 100755 100756 100757 100758 100759 100760 100761 100762 | ** yy_action. Used to detect hash collisions. ** yy_shift_ofst[] For each state, the offset into yy_action for ** shifting terminals. ** yy_reduce_ofst[] For each state, the offset into yy_action for ** shifting non-terminals after a reduce. ** yy_default[] Default action for each state. */ #define YY_ACTTAB_COUNT (1459) static const YYACTIONTYPE yy_action[] = { /* 0 */ 287, 881, 169, 383, 2, 155, 576, 546, 50, 50, /* 10 */ 50, 50, 43, 48, 48, 48, 48, 47, 47, 46, /* 20 */ 46, 46, 45, 220, 465, 464, 572, 571, 354, 481, /* 30 */ 539, 533, 50, 50, 50, 50, 355, 48, 48, 48, /* 40 */ 48, 47, 47, 46, 46, 46, 45, 220, 279, 51, /* 50 */ 52, 42, 531, 530, 532, 532, 49, 49, 50, 50, /* 60 */ 50, 50, 557, 48, 48, 48, 48, 47, 47, 46, /* 70 */ 46, 46, 45, 220, 287, 546, 199, 301, 375, 620, /* 80 */ 27, 48, 48, 48, 48, 47, 47, 46, 46, 46, /* 90 */ 45, 220, 301, 378, 569, 568, 149, 555, 442, 346, /* 100 */ 343, 342, 550, 64, 539, 533, 445, 221, 149, 53, /* 110 */ 341, 346, 343, 342, 17, 6, 572, 571, 373, 621, /* 120 */ 528, 528, 341, 51, 52, 42, 531, 530, 532, 532, /* 130 */ 49, 49, 50, 50, 50, 50, 529, 48, 48, 48, /* 140 */ 48, 47, 47, 46, 46, 46, 45, 220, 287, 526, /* 150 */ 208, 57, 192, 123, 160, 129, 261, 349, 256, 348, /* 160 */ 152, 179, 182, 181, 180, 208, 375, 252, 391, 7, /* 170 */ 129, 261, 349, 256, 348, 152, 519, 218, 539, 533, /* 180 */ 323, 378, 252, 570, 569, 568, 549, 388, 392, 393, /* 190 */ 550, 83, 572, 571, 390, 570, 389, 51, 52, 42, /* 200 */ 531, 530, 532, 532, 49, 49, 50, 50, 50, 50, /* 210 */ 317, 48, 48, 48, 48, 47, 47, 46, 46, 46, /* 220 */ 45, 220, 287, 414, 47, 47, 46, 46, 46, 45, /* 230 */ 220, 324, 149, 622, 515, 346, 343, 342, 422, 159, /* 240 */ 375, 270, 423, 375, 572, 571, 341, 546, 394, 219, /* 250 */ 187, 527, 539, 533, 482, 378, 329, 16, 378, 172, /* 260 */ 569, 568, 475, 498, 550, 84, 544, 550, 84, 415, /* 270 */ 206, 51, 52, 42, 531, 530, 532, 532, 49, 49, /* 280 */ 50, 50, 50, 50, 549, 48, 48, 48, 48, 47, /* 290 */ 47, 46, 46, 46, 45, 220, 287, 542, 542, 542, /* 300 */ 567, 566, 565, 1, 158, 260, 362, 572, 571, 362, /* 310 */ 454, 363, 569, 568, 352, 546, 259, 236, 315, 235, /* 320 */ 514, 572, 571, 382, 575, 347, 539, 533, 222, 223, /* 330 */ 60, 122, 453, 136, 572, 571, 150, 190, 497, 33, /* 340 */ 373, 493, 528, 528, 39, 51, 52, 42, 531, 530, /* 350 */ 532, 532, 49, 49, 50, 50, 50, 50, 498, 48, /* 360 */ 48, 48, 48, 47, 47, 46, 46, 46, 45, 220, /* 370 */ 287, 549, 440, 391, 480, 569, 568, 424, 424, 331, /* 380 */ 484, 375, 299, 556, 59, 433, 459, 570, 570, 569, /* 390 */ 568, 525, 434, 392, 306, 310, 378, 44, 41, 137, /* 400 */ 539, 533, 569, 568, 516, 550, 77, 176, 431, 373, /* 410 */ 415, 528, 528, 30, 462, 496, 303, 524, 523, 51, /* 420 */ 52, 42, 531, 530, 532, 532, 49, 49, 50, 50, /* 430 */ 50, 50, 151, 48, 48, 48, 48, 47, 47, 46, /* 440 */ 46, 46, 45, 220, 287, 360, 215, 375, 477, 579, /* 450 */ 577, 305, 173, 307, 219, 253, 338, 188, 236, 315, /* 460 */ 235, 500, 378, 46, 46, 46, 45, 220, 440, 222, /* 470 */ 570, 550, 65, 513, 539, 533, 277, 232, 219, 430, /* 480 */ 59, 247, 491, 570, 154, 192, 290, 151, 371, 524, /* 490 */ 523, 549, 298, 51, 52, 42, 531, 530, 532, 532, /* 500 */ 49, 49, 50, 50, 50, 50, 351, 48, 48, 48, /* 510 */ 48, 47, 47, 46, 46, 46, 45, 220, 287, 549, /* 520 */ 510, 229, 460, 231, 167, 243, 510, 245, 166, 58, /* 530 */ 498, 551, 375, 546, 185, 552, 509, 321, 375, 572, /* 540 */ 571, 290, 509, 317, 512, 322, 252, 378, 539, 533, /* 550 */ 219, 289, 508, 378, 469, 174, 550, 77, 508, 56, /* 560 */ 366, 420, 550, 84, 314, 468, 511, 51, 52, 42, /* 570 */ 531, 530, 532, 532, 49, 49, 50, 50, 50, 50, /* 580 */ 157, 48, 48, 48, 48, 47, 47, 46, 46, 46, /* 590 */ 45, 220, 287, 29, 375, 253, 249, 216, 507, 230, /* 600 */ 136, 546, 375, 34, 358, 32, 375, 569, 568, 378, /* 610 */ 570, 4, 155, 373, 546, 528, 528, 378, 550, 61, /* 620 */ 323, 378, 539, 533, 328, 498, 550, 69, 554, 325, /* 630 */ 550, 69, 207, 184, 286, 570, 445, 517, 441, 198, /* 640 */ 418, 51, 52, 42, 531, 530, 532, 532, 49, 49, /* 650 */ 50, 50, 50, 50, 253, 48, 48, 48, 48, 47, /* 660 */ 47, 46, 46, 46, 45, 220, 287, 549, 375, 570, /* 670 */ 375, 373, 293, 528, 528, 375, 292, 551, 824, 183, /* 680 */ 134, 552, 546, 378, 449, 378, 150, 375, 13, 375, /* 690 */ 378, 297, 550, 86, 550, 89, 539, 533, 495, 550, /* 700 */ 87, 121, 378, 132, 378, 12, 44, 41, 137, 153, /* 710 */ 234, 550, 96, 550, 95, 51, 52, 42, 531, 530, /* 720 */ 532, 532, 49, 49, 50, 50, 50, 50, 375, 48, /* 730 */ 48, 48, 48, 47, 47, 46, 46, 46, 45, 220, /* 740 */ 287, 375, 487, 378, 253, 308, 253, 133, 375, 517, /* 750 */ 370, 198, 550, 98, 455, 456, 378, 140, 250, 570, /* 760 */ 150, 570, 375, 378, 222, 550, 99, 489, 521, 521, /* 770 */ 539, 533, 550, 124, 197, 134, 309, 378, 339, 503, /* 780 */ 150, 296, 570, 295, 186, 213, 550, 125, 502, 51, /* 790 */ 40, 42, 531, 530, 532, 532, 49, 49, 50, 50, /* 800 */ 50, 50, 375, 48, 48, 48, 48, 47, 47, 46, /* 810 */ 46, 46, 45, 220, 287, 479, 241, 378, 549, 323, /* 820 */ 419, 408, 150, 154, 375, 222, 550, 90, 375, 473, /* 830 */ 302, 570, 375, 407, 570, 18, 375, 316, 553, 378, /* 840 */ 538, 537, 478, 378, 539, 533, 452, 378, 550, 94, /* 850 */ 23, 378, 550, 93, 578, 2, 550, 85, 25, 240, /* 860 */ 550, 92, 535, 534, 52, 42, 531, 530, 532, 532, /* 870 */ 49, 49, 50, 50, 50, 50, 375, 48, 48, 48, /* 880 */ 48, 47, 47, 46, 46, 46, 45, 220, 287, 536, /* 890 */ 375, 378, 375, 493, 345, 196, 396, 375, 18, 195, /* 900 */ 550, 68, 119, 191, 189, 378, 251, 378, 489, 204, /* 910 */ 318, 375, 378, 489, 550, 88, 550, 128, 539, 533, /* 920 */ 118, 550, 127, 570, 340, 570, 378, 22, 570, 549, /* 930 */ 45, 220, 214, 549, 493, 550, 126, 549, 549, 42, /* 940 */ 531, 530, 532, 532, 49, 49, 50, 50, 50, 50, /* 950 */ 117, 48, 48, 48, 48, 47, 47, 46, 46, 46, /* 960 */ 45, 220, 38, 369, 148, 3, 375, 493, 318, 379, /* 970 */ 571, 330, 573, 265, 519, 218, 294, 205, 336, 561, /* 980 */ 372, 378, 428, 570, 259, 38, 369, 570, 3, 375, /* 990 */ 550, 67, 379, 571, 570, 171, 375, 241, 115, 367, /* 1000 */ 375, 241, 375, 372, 378, 114, 263, 332, 241, 515, /* 1010 */ 425, 378, 570, 550, 82, 378, 570, 378, 375, 241, /* 1020 */ 550, 81, 367, 570, 550, 66, 550, 80, 154, 35, /* 1030 */ 36, 483, 515, 378, 570, 201, 37, 377, 376, 238, /* 1040 */ 403, 544, 550, 79, 401, 471, 470, 113, 560, 421, /* 1050 */ 241, 400, 35, 36, 375, 15, 375, 143, 413, 37, /* 1060 */ 377, 376, 399, 570, 544, 570, 417, 470, 559, 378, /* 1070 */ 141, 378, 542, 542, 542, 541, 540, 14, 550, 91, /* 1080 */ 550, 78, 222, 570, 38, 369, 130, 3, 375, 241, /* 1090 */ 142, 379, 571, 203, 375, 542, 542, 542, 541, 540, /* 1100 */ 14, 570, 372, 378, 570, 375, 410, 28, 369, 378, /* 1110 */ 3, 375, 550, 76, 379, 571, 577, 305, 550, 75, /* 1120 */ 378, 367, 374, 111, 20, 372, 378, 19, 543, 550, /* 1130 */ 74, 515, 202, 110, 364, 550, 63, 570, 11, 108, /* 1140 */ 506, 375, 494, 570, 367, 402, 241, 103, 405, 570, /* 1150 */ 100, 35, 36, 375, 515, 570, 378, 570, 37, 377, /* 1160 */ 376, 570, 101, 544, 200, 550, 62, 10, 378, 282, /* 1170 */ 281, 280, 162, 278, 35, 36, 404, 550, 73, 387, /* 1180 */ 395, 37, 377, 376, 386, 375, 544, 55, 304, 226, /* 1190 */ 490, 572, 571, 488, 542, 542, 542, 541, 540, 14, /* 1200 */ 378, 384, 97, 574, 212, 570, 164, 116, 570, 550, /* 1210 */ 72, 255, 458, 564, 139, 563, 415, 542, 542, 542, /* 1220 */ 541, 540, 14, 138, 375, 254, 570, 570, 562, 375, /* 1230 */ 438, 515, 248, 381, 163, 246, 8, 380, 161, 378, /* 1240 */ 570, 244, 242, 353, 378, 570, 237, 570, 550, 71, /* 1250 */ 570, 178, 177, 550, 70, 222, 570, 570, 378, 475, /* 1260 */ 25, 570, 326, 544, 236, 312, 227, 550, 9, 412, /* 1270 */ 288, 411, 274, 359, 319, 222, 273, 570, 225, 26, /* 1280 */ 361, 31, 548, 224, 570, 269, 570, 54, 505, 570, /* 1290 */ 135, 357, 268, 570, 542, 542, 542, 271, 570, 272, /* 1300 */ 570, 156, 547, 168, 266, 570, 570, 570, 24, 356, /* 1310 */ 472, 492, 264, 350, 486, 217, 262, 300, 485, 462, /* 1320 */ 466, 120, 210, 467, 147, 257, 211, 461, 463, 337, /* 1330 */ 209, 285, 429, 146, 437, 335, 145, 436, 435, 443, /* 1340 */ 333, 194, 427, 284, 144, 239, 327, 426, 21, 131, /* 1350 */ 109, 313, 522, 291, 416, 112, 385, 170, 165, 558, /* 1360 */ 545, 107, 106, 105, 104, 102, 406, 320, 504, 501, /* 1370 */ 175, 447, 398, 283, 258, 459, 444, 275, 448, 220, /* 1380 */ 446, 882, 344, 882, 518, 882, 882, 882, 882, 882, /* 1390 */ 882, 882, 882, 882, 882, 882, 267, 882, 882, 409, /* 1400 */ 882, 882, 882, 476, 474, 882, 457, 451, 882, 450, /* 1410 */ 882, 882, 882, 5, 520, 397, 276, 368, 365, 439, /* 1420 */ 432, 228, 882, 882, 311, 882, 882, 499, 882, 882, /* 1430 */ 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, /* 1440 */ 882, 882, 882, 882, 882, 882, 882, 882, 882, 233, /* 1450 */ 882, 882, 882, 882, 882, 193, 882, 882, 334, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 19, 140, 141, 142, 143, 24, 1, 26, 77, 78, /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, /* 20 */ 89, 90, 91, 92, 7, 8, 26, 27, 19, 23, /* 30 */ 49, 50, 77, 78, 79, 80, 27, 82, 83, 84, /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, /* 60 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, /* 70 */ 89, 90, 91, 92, 19, 94, 22, 19, 148, 118, /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, /* 90 */ 91, 92, 19, 163, 94, 95, 96, 170, 171, 99, /* 100 */ 100, 101, 172, 173, 49, 50, 179, 195, 96, 54, /* 110 */ 110, 99, 100, 101, 202, 22, 26, 27, 112, 118, /* 120 */ 114, 115, 110, 68, 69, 70, 71, 72, 73, 74, /* 130 */ 75, 76, 77, 78, 79, 80, 113, 82, 83, 84, /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 23, /* 150 */ 92, 25, 158, 24, 96, 97, 98, 99, 100, 101, /* 160 */ 102, 25, 105, 106, 107, 92, 148, 109, 148, 76, /* 170 */ 97, 98, 99, 100, 101, 102, 86, 87, 49, 50, /* 180 */ 148, 163, 109, 163, 94, 95, 192, 97, 168, 169, /* 190 */ 172, 173, 26, 27, 104, 163, 106, 68, 69, 70, /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, /* 210 */ 216, 82, 83, 84, 85, 86, 87, 88, 89, 90, /* 220 */ 91, 92, 19, 11, 86, 87, 88, 89, 90, 91, /* 230 */ 92, 237, 96, 118, 66, 99, 100, 101, 30, 118, /* 240 */ 148, 223, 34, 148, 26, 27, 110, 26, 228, 229, /* 250 */ 158, 23, 49, 50, 88, 163, 48, 22, 163, 24, /* 260 */ 94, 95, 94, 25, 172, 173, 98, 172, 173, 57, /* 270 */ 238, 68, 69, 70, 71, 72, 73, 74, 75, 76, /* 280 */ 77, 78, 79, 80, 192, 82, 83, 84, 85, 86, /* 290 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 131, /* 300 */ 7, 8, 9, 22, 118, 98, 214, 26, 27, 214, /* 310 */ 36, 219, 94, 95, 219, 94, 109, 105, 106, 107, /* 320 */ 23, 26, 27, 144, 145, 51, 49, 50, 116, 150, /* 330 */ 22, 152, 58, 95, 26, 27, 25, 158, 120, 136, /* 340 */ 112, 164, 114, 115, 22, 68, 69, 70, 71, 72, /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 120, 82, /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, /* 370 */ 19, 192, 148, 148, 23, 94, 95, 105, 106, 107, /* 380 */ 203, 148, 108, 159, 160, 179, 180, 163, 163, 94, /* 390 */ 95, 23, 186, 168, 169, 216, 163, 220, 221, 222, /* 400 */ 49, 50, 94, 95, 23, 172, 173, 183, 184, 112, /* 410 */ 57, 114, 115, 136, 103, 120, 167, 168, 169, 68, /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, /* 430 */ 79, 80, 50, 82, 83, 84, 85, 86, 87, 88, /* 440 */ 89, 90, 91, 92, 19, 212, 213, 148, 23, 0, /* 450 */ 1, 2, 22, 228, 229, 148, 19, 158, 105, 106, /* 460 */ 107, 25, 163, 88, 89, 90, 91, 92, 148, 116, /* 470 */ 163, 172, 173, 11, 49, 50, 156, 16, 229, 159, /* 480 */ 160, 16, 23, 163, 25, 158, 104, 50, 167, 168, /* 490 */ 169, 192, 185, 68, 69, 70, 71, 72, 73, 74, /* 500 */ 75, 76, 77, 78, 79, 80, 88, 82, 83, 84, /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 192, /* 520 */ 12, 60, 23, 62, 23, 60, 12, 62, 23, 22, /* 530 */ 25, 113, 148, 26, 22, 117, 28, 19, 148, 26, /* 540 */ 27, 104, 28, 216, 23, 27, 109, 163, 49, 50, /* 550 */ 229, 153, 44, 163, 46, 119, 172, 173, 44, 232, /* 560 */ 46, 21, 172, 173, 237, 57, 23, 68, 69, 70, /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, /* 590 */ 91, 92, 19, 25, 148, 148, 23, 213, 23, 138, /* 600 */ 95, 94, 148, 135, 214, 137, 148, 94, 95, 163, /* 610 */ 163, 35, 24, 112, 26, 114, 115, 163, 172, 173, /* 620 */ 148, 163, 49, 50, 226, 120, 172, 173, 171, 231, /* 630 */ 172, 173, 185, 158, 161, 163, 179, 164, 165, 166, /* 640 */ 100, 68, 69, 70, 71, 72, 73, 74, 75, 76, /* 650 */ 77, 78, 79, 80, 148, 82, 83, 84, 85, 86, /* 660 */ 87, 88, 89, 90, 91, 92, 19, 192, 148, 163, /* 670 */ 148, 112, 218, 114, 115, 148, 218, 113, 138, 204, /* 680 */ 205, 117, 94, 163, 23, 163, 25, 148, 25, 148, /* 690 */ 163, 185, 172, 173, 172, 173, 49, 50, 120, 172, /* 700 */ 173, 22, 163, 39, 163, 35, 220, 221, 222, 35, /* 710 */ 238, 172, 173, 172, 173, 68, 69, 70, 71, 72, /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 148, 82, /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, /* 740 */ 19, 148, 27, 163, 148, 97, 148, 118, 148, 164, /* 750 */ 165, 166, 172, 173, 97, 98, 163, 25, 23, 163, /* 760 */ 25, 163, 148, 163, 116, 172, 173, 148, 129, 130, /* 770 */ 49, 50, 172, 173, 204, 205, 128, 163, 23, 32, /* 780 */ 25, 185, 163, 185, 158, 52, 172, 173, 41, 68, /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, /* 800 */ 79, 80, 148, 82, 83, 84, 85, 86, 87, 88, /* 810 */ 89, 90, 91, 92, 19, 23, 148, 163, 192, 148, /* 820 */ 23, 23, 25, 25, 148, 116, 172, 173, 148, 163, /* 830 */ 211, 163, 148, 23, 163, 25, 148, 128, 172, 163, /* 840 */ 49, 50, 23, 163, 49, 50, 29, 163, 172, 173, /* 850 */ 22, 163, 172, 173, 142, 143, 172, 173, 126, 191, /* 860 */ 172, 173, 71, 72, 69, 70, 71, 72, 73, 74, /* 870 */ 75, 76, 77, 78, 79, 80, 148, 82, 83, 84, /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 98, /* 890 */ 148, 163, 148, 164, 52, 158, 23, 148, 25, 158, /* 900 */ 172, 173, 22, 158, 158, 163, 23, 163, 148, 238, /* 910 */ 148, 148, 163, 148, 172, 173, 172, 173, 49, 50, /* 920 */ 22, 172, 173, 163, 52, 163, 163, 22, 163, 192, /* 930 */ 91, 92, 203, 192, 164, 172, 173, 192, 192, 70, /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, /* 950 */ 22, 82, 83, 84, 85, 86, 87, 88, 89, 90, /* 960 */ 91, 92, 19, 20, 102, 22, 148, 164, 148, 26, /* 970 */ 27, 211, 148, 203, 86, 87, 211, 215, 19, 148, /* 980 */ 37, 163, 20, 163, 109, 19, 20, 163, 22, 148, /* 990 */ 172, 173, 26, 27, 163, 24, 148, 148, 104, 56, /* 1000 */ 148, 148, 148, 37, 163, 53, 203, 43, 148, 66, /* 1010 */ 59, 163, 163, 172, 173, 163, 163, 163, 148, 148, /* 1020 */ 172, 173, 56, 163, 172, 173, 172, 173, 25, 86, /* 1030 */ 87, 88, 66, 163, 163, 215, 93, 94, 95, 138, /* 1040 */ 191, 98, 172, 173, 191, 188, 189, 22, 148, 53, /* 1050 */ 148, 191, 86, 87, 148, 5, 148, 104, 1, 93, /* 1060 */ 94, 95, 191, 163, 98, 163, 188, 189, 148, 163, /* 1070 */ 35, 163, 129, 130, 131, 132, 133, 134, 172, 173, /* 1080 */ 172, 173, 116, 163, 19, 20, 148, 22, 148, 148, /* 1090 */ 118, 26, 27, 191, 148, 129, 130, 131, 132, 133, /* 1100 */ 134, 163, 37, 163, 163, 148, 27, 19, 20, 163, /* 1110 */ 22, 148, 172, 173, 26, 27, 1, 2, 172, 173, /* 1120 */ 163, 56, 148, 108, 76, 37, 163, 76, 148, 172, /* 1130 */ 173, 66, 191, 127, 148, 172, 173, 163, 22, 119, /* 1140 */ 148, 148, 148, 163, 56, 20, 148, 119, 1, 163, /* 1150 */ 127, 86, 87, 148, 66, 163, 163, 163, 93, 94, /* 1160 */ 95, 163, 108, 98, 5, 172, 173, 22, 163, 10, /* 1170 */ 11, 12, 13, 14, 86, 87, 17, 172, 173, 23, /* 1180 */ 128, 93, 94, 95, 23, 148, 98, 22, 3, 191, /* 1190 */ 148, 26, 27, 148, 129, 130, 131, 132, 133, 134, /* 1200 */ 163, 4, 162, 147, 178, 163, 6, 178, 163, 172, /* 1210 */ 173, 148, 148, 147, 55, 147, 57, 129, 130, 131, /* 1220 */ 132, 133, 134, 64, 148, 148, 163, 163, 13, 148, /* 1230 */ 148, 66, 148, 147, 149, 148, 25, 157, 149, 163, /* 1240 */ 163, 148, 148, 148, 163, 163, 148, 163, 172, 173, /* 1250 */ 163, 86, 87, 172, 173, 116, 163, 163, 163, 94, /* 1260 */ 126, 163, 148, 98, 105, 106, 107, 172, 173, 148, /* 1270 */ 111, 148, 197, 123, 148, 116, 198, 163, 148, 124, /* 1280 */ 122, 135, 192, 148, 163, 148, 163, 125, 155, 163, /* 1290 */ 148, 148, 148, 163, 129, 130, 131, 200, 163, 199, /* 1300 */ 163, 118, 201, 155, 208, 163, 163, 163, 104, 121, /* 1310 */ 174, 209, 208, 104, 209, 224, 208, 47, 209, 103, /* 1320 */ 182, 22, 92, 174, 154, 174, 227, 174, 176, 18, /* 1330 */ 227, 177, 155, 154, 174, 155, 154, 174, 174, 182, /* 1340 */ 45, 155, 155, 177, 154, 235, 155, 236, 135, 68, /* 1350 */ 22, 18, 230, 155, 187, 187, 155, 217, 217, 151, /* 1360 */ 164, 190, 190, 190, 190, 187, 197, 239, 175, 175, /* 1370 */ 194, 164, 197, 146, 175, 180, 164, 196, 175, 92, /* 1380 */ 175, 240, 176, 240, 164, 240, 240, 240, 240, 240, /* 1390 */ 240, 240, 240, 240, 240, 240, 207, 240, 240, 197, /* 1400 */ 240, 240, 240, 172, 172, 240, 181, 181, 240, 181, /* 1410 */ 240, 240, 240, 194, 230, 197, 193, 225, 189, 184, /* 1420 */ 184, 207, 240, 240, 207, 240, 240, 206, 240, 240, /* 1430 */ 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, /* 1440 */ 240, 240, 240, 240, 240, 240, 240, 240, 240, 239, /* 1450 */ 240, 240, 240, 240, 240, 233, 240, 240, 234, }; #define YY_SHIFT_USE_DFLT (-70) #define YY_SHIFT_COUNT (382) #define YY_SHIFT_MIN (-69) #define YY_SHIFT_MAX (1333) static const short yy_shift_ofst[] = { /* 0 */ 1115, 966, 1159, 966, 1065, 1065, 90, 90, 0, -19, /* 10 */ 1065, 1065, 1065, 1065, 1065, 353, 513, 943, 1065, 1065, /* 20 */ 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, /* 30 */ 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, /* 40 */ 1065, 1065, 1088, 1065, 1065, 1065, 1065, 1065, 1065, 1065, /* 50 */ 1065, 1065, 1065, 1065, 1065, 1065, 212, 888, 888, 221, /* 60 */ 1139, 55, 573, 499, 425, 351, 277, 203, 129, 647, /* 70 */ 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, /* 80 */ 647, 647, 647, 647, 647, 721, 647, 795, 869, 869, /* 90 */ -69, -45, -45, -45, -45, -45, -1, 58, 138, 375, /* 100 */ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, /* 110 */ 513, 513, 513, 513, 513, 513, 437, 513, 513, 513, /* 120 */ 513, 513, 540, 221, 839, 1287, -70, -70, -70, 1165, /* 130 */ 73, 508, 508, 166, 308, 295, 218, 281, 513, 513, /* 140 */ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, /* 150 */ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, /* 160 */ 513, 513, 513, 513, 513, 648, 588, 588, 588, 449, /* 170 */ 709, 1139, 1139, 1139, -70, -70, 136, 168, 168, 12, /* 180 */ 274, 274, 274, 505, 501, 514, 297, 228, 6, 559, /* 190 */ 559, 559, 559, 272, 208, 559, 559, 238, 507, 418, /* 200 */ 293, 732, 9, 9, 518, 732, 518, 311, 221, 747, /* 210 */ 221, 747, 382, 747, 9, 747, 747, 468, 639, 639, /* 220 */ 221, 436, 564, 235, 1183, 1183, 1328, 1281, 1134, 1333, /* 230 */ 1333, 1333, 1333, 1134, 1328, 1281, 1281, 1183, 1311, 1213, /* 240 */ 1295, 1183, 1183, 1311, 1183, 1311, 1183, 1311, 1299, 1209, /* 250 */ 1209, 1209, 1270, 1230, 1230, 1299, 1209, 1216, 1209, 1270, /* 260 */ 1209, 1209, 1188, 1204, 1188, 1204, 1188, 1204, 1183, 1183, /* 270 */ 1146, 1162, 1158, 1155, 1150, 1134, 1139, 1211, 1215, 1215, /* 280 */ 1200, 1200, 1200, 1200, -70, -70, -70, 791, 461, 465, /* 290 */ 57, 93, 873, 810, 798, 797, 755, 735, 661, 657, /* 300 */ 17, 207, 459, 126, 1197, 1185, 1161, 1156, 1052, 1145, /* 310 */ 1023, 1054, 1028, 1125, 1147, 1020, 1116, 1006, 1051, 1048, /* 320 */ 1015, 1079, 1035, 972, 1057, 1050, 1025, 953, 901, 996, /* 330 */ 1003, 952, 951, 964, 894, 971, 962, 959, 875, 862, /* 340 */ 928, 872, 905, 898, 883, 880, 842, 817, 828, 733, /* 350 */ 664, 819, 792, 629, 715, 674, 679, 578, 568, 670, /* 360 */ 663, 576, 568, 575, 543, 555, 521, 512, 462, 430, /* 370 */ 381, 368, 322, 23, 186, 121, 115, 1, -39, 54, /* 380 */ 39, 33, 5, }; #define YY_REDUCE_USE_DFLT (-140) #define YY_REDUCE_COUNT (286) #define YY_REDUCE_MIN (-139) #define YY_REDUCE_MAX (1236) static const short yy_reduce_ofst[] = { /* 0 */ -139, 92, 179, 299, 233, 95, 225, 20, 224, 177, /* 10 */ 458, 454, 390, 384, 18, 327, 320, 1095, 1081, 1076, /* 20 */ 1037, 1005, 993, 963, 957, 946, 940, 908, 906, 870, /* 30 */ 854, 852, 848, 841, 818, 763, 749, 744, 742, 728, /* 40 */ 688, 684, 680, 676, 654, 614, 600, 593, 580, 541, /* 50 */ 539, 527, 522, 520, 446, -70, -6, 321, 249, 473, /* 60 */ 475, 486, 486, 486, 486, 486, 486, 486, 486, 486, /* 70 */ 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, /* 80 */ 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, /* 90 */ 486, 486, 486, 486, 486, 486, 486, -73, 486, 486, /* 100 */ 998, 820, 941, 902, 871, 860, 853, 849, 671, 765, /* 110 */ 472, 762, 32, 598, 760, 668, 206, 596, 506, 447, /* 120 */ 307, 619, 398, 585, 486, 486, 486, 486, 486, 666, /* 130 */ 457, 878, 857, 974, 1144, 1143, 1142, 1137, 1135, 1130, /* 140 */ 1126, 1123, 1121, 1114, 1098, 1094, 1093, 1087, 1084, 1082, /* 150 */ 1077, 1064, 1063, 1045, 1042, 994, 992, 986, 980, 974, /* 160 */ 938, 920, 900, 831, 824, 746, 803, 770, 729, 712, /* 170 */ 745, 741, 737, 626, 570, -88, 1236, 1232, 1231, 1235, /* 180 */ 1228, 1226, 1225, 1221, 1223, 1229, 1223, 1223, 1223, 1223, /* 190 */ 1223, 1223, 1223, 1224, 1222, 1223, 1223, 1221, 1220, 1219, /* 200 */ 1227, 1218, 1217, 1214, 1210, 1202, 1128, 1206, 1212, 1205, /* 210 */ 1207, 1203, 1195, 1199, 1189, 1194, 1193, 1192, 1184, 1122, /* 220 */ 1196, 1181, 1176, 1208, 1201, 1198, 1141, 1178, 1175, 1174, /* 230 */ 1173, 1172, 1171, 1169, 1140, 1168, 1167, 1191, 1190, 1111, /* 240 */ 1110, 1187, 1186, 1182, 1180, 1179, 1177, 1170, 1166, 1164, /* 250 */ 1163, 1160, 1157, 1103, 1099, 1154, 1153, 1152, 1151, 1138, /* 260 */ 1149, 1136, 1109, 1108, 1105, 1104, 1102, 1096, 1148, 1133, /* 270 */ 1091, 1101, 1097, 1100, 1078, 1075, 1090, 1080, 1089, 1085, /* 280 */ 1086, 1068, 1066, 1056, 1029, 1026, 1040, }; static const YYACTIONTYPE yy_default[] = { /* 0 */ 584, 819, 880, 880, 880, 819, 846, 846, 880, 708, /* 10 */ 880, 880, 880, 880, 817, 880, 880, 880, 880, 880, /* 20 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 30 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 40 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 50 */ 880, 880, 880, 880, 880, 880, 880, 846, 846, 623, /* 60 */ 712, 743, 880, 880, 880, 880, 880, 880, 880, 758, /* 70 */ 757, 751, 750, 859, 723, 748, 741, 734, 745, 820, /* 80 */ 813, 814, 812, 816, 821, 880, 744, 780, 797, 779, /* 90 */ 791, 796, 803, 795, 792, 782, 781, 615, 783, 784, /* 100 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 110 */ 880, 880, 880, 880, 880, 880, 677, 880, 880, 880, /* 120 */ 880, 880, 610, 880, 785, 786, 800, 799, 798, 880, /* 130 */ 880, 880, 880, 880, 880, 880, 880, 880, 878, 880, /* 140 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 150 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 160 */ 880, 880, 880, 880, 590, 880, 708, 708, 708, 584, /* 170 */ 880, 880, 880, 880, 712, 702, 668, 880, 880, 880, /* 180 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 753, /* 190 */ 691, 869, 871, 880, 852, 689, 612, 710, 625, 700, /* 200 */ 592, 747, 725, 725, 864, 747, 864, 649, 880, 737, /* 210 */ 880, 737, 646, 737, 725, 737, 737, 815, 880, 880, /* 220 */ 880, 709, 700, 880, 716, 716, 759, 681, 747, 688, /* 230 */ 688, 688, 688, 747, 759, 681, 681, 716, 607, 858, /* 240 */ 856, 716, 716, 607, 716, 607, 716, 607, 825, 679, /* 250 */ 679, 679, 664, 829, 829, 825, 679, 649, 679, 664, /* 260 */ 679, 679, 729, 724, 729, 724, 729, 724, 716, 716, /* 270 */ 880, 742, 730, 740, 738, 747, 880, 667, 600, 600, /* 280 */ 589, 589, 589, 589, 651, 651, 633, 880, 880, 880, /* 290 */ 880, 832, 880, 880, 880, 880, 880, 880, 880, 880, /* 300 */ 880, 880, 880, 880, 880, 585, 880, 880, 880, 880, /* 310 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 320 */ 880, 880, 880, 862, 880, 880, 880, 880, 880, 880, /* 330 */ 855, 854, 880, 880, 880, 880, 880, 880, 880, 880, /* 340 */ 880, 880, 880, 880, 880, 880, 880, 880, 880, 880, /* 350 */ 880, 880, 880, 880, 880, 880, 880, 880, 739, 880, /* 360 */ 731, 880, 818, 880, 880, 880, 880, 880, 880, 880, /* 370 */ 880, 880, 880, 694, 768, 880, 767, 771, 766, 617, /* 380 */ 880, 598, 880, 581, 586, 879, 836, 834, 841, 840, /* 390 */ 839, 838, 837, 835, 833, 754, 752, 749, 746, 877, /* 400 */ 831, 690, 687, 686, 606, 861, 870, 868, 760, 867, /* 410 */ 866, 865, 863, 860, 847, 756, 755, 682, 823, 822, /* 420 */ 609, 851, 850, 849, 853, 857, 848, 718, 608, 605, /* 430 */ 614, 671, 670, 678, 676, 675, 674, 673, 672, 669, /* 440 */ 616, 624, 635, 663, 648, 647, 828, 830, 827, 826, /* 450 */ 656, 655, 661, 660, 659, 658, 657, 654, 653, 652, /* 460 */ 645, 644, 650, 643, 666, 665, 662, 642, 685, 684, /* 470 */ 683, 680, 641, 640, 639, 771, 638, 637, 777, 776, /* 480 */ 764, 807, 705, 704, 703, 715, 714, 727, 726, 762, /* 490 */ 761, 728, 713, 707, 706, 722, 721, 720, 719, 711, /* 500 */ 701, 733, 736, 735, 732, 809, 717, 806, 876, 875, /* 510 */ 874, 873, 872, 811, 810, 778, 775, 628, 629, 845, /* 520 */ 843, 844, 842, 631, 630, 627, 626, 808, 696, 695, /* 530 */ 804, 801, 793, 789, 805, 802, 794, 790, 788, 787, /* 540 */ 773, 772, 770, 769, 765, 774, 619, 697, 693, 692, /* 550 */ 763, 699, 698, 636, 634, 632, 613, 611, 604, 602, /* 560 */ 601, 603, 599, 597, 596, 595, 594, 593, 622, 621, /* 570 */ 620, 618, 617, 591, 588, 587, 583, 582, 580, }; /* The next table maps tokens into fallback tokens. If a construct ** like the following: ** ** %fallback ID X Y Z. ** |
︙ | ︙ | |||
100953 100954 100955 100956 100957 100958 100959 | "orderby_opt", "limit_opt", "sclp", "as", "seltablist", "stl_prefix", "joinop", "indexed_opt", "on_opt", "using_opt", "joinop2", "inscollist", "sortlist", "sortitem", "nexprlist", "setlist", "insert_cmd", "inscollist_opt", "itemlist", "exprlist", "likeop", "between_op", "in_op", "case_operand", "case_exprlist", "case_else", "uniqueflag", "collate", | | | | | 100964 100965 100966 100967 100968 100969 100970 100971 100972 100973 100974 100975 100976 100977 100978 100979 100980 | "orderby_opt", "limit_opt", "sclp", "as", "seltablist", "stl_prefix", "joinop", "indexed_opt", "on_opt", "using_opt", "joinop2", "inscollist", "sortlist", "sortitem", "nexprlist", "setlist", "insert_cmd", "inscollist_opt", "itemlist", "exprlist", "likeop", "between_op", "in_op", "case_operand", "case_exprlist", "case_else", "uniqueflag", "collate", "nmnum", "plus_opt", "number", "trigger_decl", "trigger_cmd_list", "trigger_time", "trigger_event", "foreach_clause", "when_clause", "trigger_cmd", "trnm", "tridxby", }; #endif /* NDEBUG */ #ifndef NDEBUG /* For tracing reduce actions, the names of all rules are required. */ static const char *const yyRuleName[] = { |
︙ | ︙ | |||
101216 101217 101218 101219 101220 101221 101222 | /* 246 */ "idxlist_opt ::=", /* 247 */ "idxlist_opt ::= LP idxlist RP", /* 248 */ "idxlist ::= idxlist COMMA nm collate sortorder", /* 249 */ "idxlist ::= nm collate sortorder", /* 250 */ "collate ::=", /* 251 */ "collate ::= COLLATE ids", /* 252 */ "cmd ::= DROP INDEX ifexists fullname", | > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | 101227 101228 101229 101230 101231 101232 101233 101234 101235 101236 101237 101238 101239 101240 101241 101242 101243 101244 101245 101246 101247 101248 101249 101250 101251 101252 101253 101254 101255 101256 101257 101258 101259 101260 101261 101262 101263 101264 101265 101266 101267 101268 101269 101270 101271 101272 101273 101274 101275 101276 101277 101278 101279 101280 101281 101282 101283 101284 101285 101286 101287 101288 | /* 246 */ "idxlist_opt ::=", /* 247 */ "idxlist_opt ::= LP idxlist RP", /* 248 */ "idxlist ::= idxlist COMMA nm collate sortorder", /* 249 */ "idxlist ::= nm collate sortorder", /* 250 */ "collate ::=", /* 251 */ "collate ::= COLLATE ids", /* 252 */ "cmd ::= DROP INDEX ifexists fullname", /* 253 */ "cmd ::= PRAGMA nm dbnm", /* 254 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", /* 255 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", /* 256 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", /* 257 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", /* 258 */ "nmnum ::= plus_num", /* 259 */ "nmnum ::= nm", /* 260 */ "nmnum ::= ON", /* 261 */ "nmnum ::= DELETE", /* 262 */ "nmnum ::= DEFAULT", /* 263 */ "plus_num ::= plus_opt number", /* 264 */ "minus_num ::= MINUS number", /* 265 */ "number ::= INTEGER|FLOAT", /* 266 */ "plus_opt ::= PLUS", /* 267 */ "plus_opt ::=", /* 268 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", /* 269 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", /* 270 */ "trigger_time ::= BEFORE", /* 271 */ "trigger_time ::= AFTER", /* 272 */ "trigger_time ::= INSTEAD OF", /* 273 */ "trigger_time ::=", /* 274 */ "trigger_event ::= DELETE|INSERT", /* 275 */ "trigger_event ::= UPDATE", /* 276 */ "trigger_event ::= UPDATE OF inscollist", /* 277 */ "foreach_clause ::=", /* 278 */ "foreach_clause ::= FOR EACH ROW", /* 279 */ "when_clause ::=", /* 280 */ "when_clause ::= WHEN expr", /* 281 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", /* 282 */ "trigger_cmd_list ::= trigger_cmd SEMI", /* 283 */ "trnm ::= nm", /* 284 */ "trnm ::= nm DOT nm", /* 285 */ "tridxby ::=", /* 286 */ "tridxby ::= INDEXED BY nm", /* 287 */ "tridxby ::= NOT INDEXED", /* 288 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", /* 289 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP itemlist RP", /* 290 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", /* 291 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", /* 292 */ "trigger_cmd ::= select", /* 293 */ "expr ::= RAISE LP IGNORE RP", /* 294 */ "expr ::= RAISE LP raisetype COMMA nm RP", /* 295 */ "raisetype ::= ROLLBACK", /* 296 */ "raisetype ::= ABORT", /* 297 */ "raisetype ::= FAIL", /* 298 */ "cmd ::= DROP TRIGGER ifexists fullname", /* 299 */ "cmd ::= REINDEX", /* 300 */ "cmd ::= REINDEX nm dbnm", }; #endif /* NDEBUG */ #if YYSTACKDEPTH<=0 /* ** Try to increase the size of the parser stack. |
︙ | ︙ | |||
101333 101334 101335 101336 101337 101338 101339 | ** Note: during a reduce, the only symbols destroyed are those ** which appear on the RHS of the rule, but which are not used ** inside the C code. */ case 158: /* select */ case 192: /* oneselect */ { | | | | | | | | | | | | | | 101356 101357 101358 101359 101360 101361 101362 101363 101364 101365 101366 101367 101368 101369 101370 101371 101372 101373 101374 101375 101376 101377 101378 101379 101380 101381 101382 101383 101384 101385 101386 101387 101388 101389 101390 101391 101392 101393 101394 101395 101396 101397 101398 101399 101400 101401 101402 101403 101404 101405 101406 101407 101408 101409 101410 101411 101412 101413 101414 101415 101416 101417 101418 101419 101420 101421 101422 101423 101424 101425 101426 101427 101428 101429 | ** Note: during a reduce, the only symbols destroyed are those ** which appear on the RHS of the rule, but which are not used ** inside the C code. */ case 158: /* select */ case 192: /* oneselect */ { sqlite3SelectDelete(pParse->db, (yypminor->yy459)); } break; case 172: /* term */ case 173: /* expr */ { sqlite3ExprDelete(pParse->db, (yypminor->yy22).pExpr); } break; case 177: /* idxlist_opt */ case 185: /* idxlist */ case 195: /* selcollist */ case 198: /* groupby_opt */ case 200: /* orderby_opt */ case 202: /* sclp */ case 212: /* sortlist */ case 214: /* nexprlist */ case 215: /* setlist */ case 218: /* itemlist */ case 219: /* exprlist */ case 224: /* case_exprlist */ { sqlite3ExprListDelete(pParse->db, (yypminor->yy82)); } break; case 191: /* fullname */ case 196: /* from */ case 204: /* seltablist */ case 205: /* stl_prefix */ { sqlite3SrcListDelete(pParse->db, (yypminor->yy67)); } break; case 197: /* where_opt */ case 199: /* having_opt */ case 208: /* on_opt */ case 213: /* sortitem */ case 223: /* case_operand */ case 225: /* case_else */ case 236: /* when_clause */ { sqlite3ExprDelete(pParse->db, (yypminor->yy2)); } break; case 209: /* using_opt */ case 211: /* inscollist */ case 217: /* inscollist_opt */ { sqlite3IdListDelete(pParse->db, (yypminor->yy240)); } break; case 232: /* trigger_cmd_list */ case 237: /* trigger_cmd */ { sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy347)); } break; case 234: /* trigger_event */ { sqlite3IdListDelete(pParse->db, (yypminor->yy210).b); } break; default: break; /* If no destructor action specified: do nothing */ } } /* |
︙ | ︙ | |||
101891 101892 101893 101894 101895 101896 101897 101898 101899 | { 177, 0 }, { 177, 3 }, { 185, 5 }, { 185, 3 }, { 227, 0 }, { 227, 2 }, { 145, 4 }, { 168, 2 }, { 169, 2 }, | > > > > > > > > > > | | | | | < < < | | | > | | | | | | > > | | | | | | > > | 101914 101915 101916 101917 101918 101919 101920 101921 101922 101923 101924 101925 101926 101927 101928 101929 101930 101931 101932 101933 101934 101935 101936 101937 101938 101939 101940 101941 101942 101943 101944 101945 101946 101947 101948 101949 101950 101951 101952 101953 101954 101955 101956 101957 101958 101959 101960 101961 101962 101963 101964 101965 101966 101967 101968 101969 101970 101971 101972 101973 101974 101975 | { 177, 0 }, { 177, 3 }, { 185, 5 }, { 185, 3 }, { 227, 0 }, { 227, 2 }, { 145, 4 }, { 145, 3 }, { 145, 5 }, { 145, 6 }, { 145, 5 }, { 145, 6 }, { 228, 1 }, { 228, 1 }, { 228, 1 }, { 228, 1 }, { 228, 1 }, { 168, 2 }, { 169, 2 }, { 230, 1 }, { 229, 1 }, { 229, 0 }, { 145, 5 }, { 231, 11 }, { 233, 1 }, { 233, 1 }, { 233, 2 }, { 233, 0 }, { 234, 1 }, { 234, 1 }, { 234, 3 }, { 235, 0 }, { 235, 3 }, { 236, 0 }, { 236, 2 }, { 232, 3 }, { 232, 2 }, { 238, 1 }, { 238, 3 }, { 239, 0 }, { 239, 3 }, { 239, 2 }, { 237, 7 }, { 237, 8 }, { 237, 5 }, { 237, 5 }, { 237, 1 }, { 173, 4 }, { 173, 6 }, { 189, 1 }, { 189, 1 }, { 189, 1 }, { 145, 4 }, { 145, 1 }, { 145, 3 }, }; static void yy_accept(yyParser*); /* Forward Declaration */ /* ** Perform a reduce action and the shift that must immediately ** follow the reduce. |
︙ | ︙ | |||
101994 101995 101996 101997 101998 101999 102000 | case 7: /* explain ::= EXPLAIN QUERY PLAN */ { sqlite3BeginParse(pParse, 2); } break; case 8: /* cmdx ::= cmd */ { sqlite3FinishCoding(pParse); } break; case 9: /* cmd ::= BEGIN transtype trans_opt */ | | | | | 102029 102030 102031 102032 102033 102034 102035 102036 102037 102038 102039 102040 102041 102042 102043 102044 102045 102046 102047 102048 102049 102050 102051 102052 102053 | case 7: /* explain ::= EXPLAIN QUERY PLAN */ { sqlite3BeginParse(pParse, 2); } break; case 8: /* cmdx ::= cmd */ { sqlite3FinishCoding(pParse); } break; case 9: /* cmd ::= BEGIN transtype trans_opt */ {sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy412);} break; case 13: /* transtype ::= */ {yygotominor.yy412 = TK_DEFERRED;} break; case 14: /* transtype ::= DEFERRED */ case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==117); {yygotominor.yy412 = yymsp[0].major;} break; case 17: /* cmd ::= COMMIT trans_opt */ case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); {sqlite3CommitTransaction(pParse);} break; case 19: /* cmd ::= ROLLBACK trans_opt */ {sqlite3RollbackTransaction(pParse);} |
︙ | ︙ | |||
102030 102031 102032 102033 102034 102035 102036 | case 24: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ { sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); } break; case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { | | | | | | | 102065 102066 102067 102068 102069 102070 102071 102072 102073 102074 102075 102076 102077 102078 102079 102080 102081 102082 102083 102084 102085 102086 102087 102088 102089 102090 102091 102092 102093 102094 102095 102096 102097 102098 102099 102100 102101 102102 102103 102104 102105 102106 102107 102108 102109 102110 102111 102112 102113 102114 102115 102116 102117 102118 102119 102120 | case 24: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ { sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); } break; case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy412,0,0,yymsp[-2].minor.yy412); } break; case 27: /* createkw ::= CREATE */ { pParse->db->lookaside.bEnabled = 0; yygotominor.yy0 = yymsp[0].minor.yy0; } break; case 28: /* ifnotexists ::= */ case 31: /* temp ::= */ yytestcase(yyruleno==31); case 70: /* autoinc ::= */ yytestcase(yyruleno==70); case 83: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==83); case 85: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==85); case 87: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==87); case 98: /* defer_subclause_opt ::= */ yytestcase(yyruleno==98); case 109: /* ifexists ::= */ yytestcase(yyruleno==109); case 120: /* distinct ::= ALL */ yytestcase(yyruleno==120); case 121: /* distinct ::= */ yytestcase(yyruleno==121); case 222: /* between_op ::= BETWEEN */ yytestcase(yyruleno==222); case 225: /* in_op ::= IN */ yytestcase(yyruleno==225); {yygotominor.yy412 = 0;} break; case 29: /* ifnotexists ::= IF NOT EXISTS */ case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); case 71: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==71); case 86: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==86); case 108: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==108); case 119: /* distinct ::= DISTINCT */ yytestcase(yyruleno==119); case 223: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==223); case 226: /* in_op ::= NOT IN */ yytestcase(yyruleno==226); {yygotominor.yy412 = 1;} break; case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ { sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); } break; case 33: /* create_table_args ::= AS select */ { sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy459); sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy459); } break; case 36: /* column ::= columnid type carglist */ { yygotominor.yy0.z = yymsp[-2].minor.yy0.z; yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse->sLastToken.n; } |
︙ | ︙ | |||
102099 102100 102101 102102 102103 102104 102105 | case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); case 49: /* typename ::= ids */ yytestcase(yyruleno==49); case 127: /* as ::= AS nm */ yytestcase(yyruleno==127); case 128: /* as ::= ids */ yytestcase(yyruleno==128); case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138); case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147); case 251: /* collate ::= COLLATE ids */ yytestcase(yyruleno==251); | > > > > > | | | | | 102134 102135 102136 102137 102138 102139 102140 102141 102142 102143 102144 102145 102146 102147 102148 102149 102150 102151 102152 102153 102154 102155 102156 | case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); case 49: /* typename ::= ids */ yytestcase(yyruleno==49); case 127: /* as ::= AS nm */ yytestcase(yyruleno==127); case 128: /* as ::= ids */ yytestcase(yyruleno==128); case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138); case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147); case 251: /* collate ::= COLLATE ids */ yytestcase(yyruleno==251); case 258: /* nmnum ::= plus_num */ yytestcase(yyruleno==258); case 259: /* nmnum ::= nm */ yytestcase(yyruleno==259); case 260: /* nmnum ::= ON */ yytestcase(yyruleno==260); case 261: /* nmnum ::= DELETE */ yytestcase(yyruleno==261); case 262: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==262); case 263: /* plus_num ::= plus_opt number */ yytestcase(yyruleno==263); case 264: /* minus_num ::= MINUS number */ yytestcase(yyruleno==264); case 265: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==265); case 283: /* trnm ::= nm */ yytestcase(yyruleno==283); {yygotominor.yy0 = yymsp[0].minor.yy0;} break; case 45: /* type ::= typetoken */ {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} break; case 47: /* typetoken ::= typename LP signed RP */ { |
︙ | ︙ | |||
102125 102126 102127 102128 102129 102130 102131 | } break; case 50: /* typename ::= typename ids */ {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} break; case 57: /* ccons ::= DEFAULT term */ case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > > | 102165 102166 102167 102168 102169 102170 102171 102172 102173 102174 102175 102176 102177 102178 102179 102180 102181 102182 102183 102184 102185 102186 102187 102188 102189 102190 102191 102192 102193 102194 102195 102196 102197 102198 102199 102200 102201 102202 102203 102204 102205 102206 102207 102208 102209 102210 102211 102212 102213 102214 102215 102216 102217 102218 102219 102220 102221 102222 102223 102224 102225 102226 102227 102228 102229 102230 102231 102232 102233 102234 102235 102236 102237 102238 102239 102240 102241 102242 102243 102244 102245 102246 102247 102248 102249 102250 102251 102252 102253 102254 102255 102256 102257 102258 102259 102260 102261 102262 102263 102264 102265 102266 102267 102268 102269 102270 102271 102272 102273 102274 102275 102276 102277 102278 102279 102280 102281 102282 102283 102284 102285 102286 102287 102288 102289 102290 102291 102292 102293 102294 102295 102296 102297 102298 102299 102300 102301 102302 102303 102304 102305 102306 102307 102308 102309 102310 102311 102312 102313 102314 102315 102316 102317 102318 102319 102320 102321 102322 102323 102324 102325 102326 102327 102328 102329 102330 102331 102332 102333 102334 102335 102336 102337 102338 102339 102340 102341 102342 102343 102344 102345 102346 102347 102348 102349 102350 102351 102352 102353 102354 102355 102356 102357 102358 102359 102360 102361 102362 102363 102364 102365 102366 102367 102368 102369 102370 102371 102372 102373 102374 102375 102376 102377 102378 102379 102380 102381 102382 102383 102384 102385 102386 102387 102388 102389 102390 102391 102392 102393 102394 102395 102396 102397 102398 102399 102400 102401 102402 102403 102404 102405 102406 102407 102408 102409 102410 102411 102412 102413 102414 102415 102416 102417 102418 102419 102420 102421 102422 102423 102424 102425 102426 102427 102428 102429 102430 102431 102432 102433 102434 102435 102436 102437 102438 102439 102440 102441 102442 102443 102444 102445 102446 102447 102448 102449 102450 102451 102452 102453 102454 102455 102456 102457 102458 102459 102460 102461 102462 102463 102464 102465 102466 102467 102468 102469 102470 102471 102472 102473 102474 102475 102476 102477 102478 102479 102480 102481 102482 102483 102484 102485 102486 102487 102488 102489 102490 102491 102492 102493 102494 102495 102496 102497 102498 102499 102500 102501 102502 102503 102504 102505 102506 102507 102508 102509 102510 102511 102512 102513 102514 102515 102516 102517 102518 102519 102520 102521 102522 102523 102524 102525 102526 102527 102528 102529 102530 102531 102532 102533 102534 102535 102536 102537 102538 102539 102540 102541 102542 102543 102544 102545 102546 102547 102548 102549 102550 102551 102552 102553 102554 102555 102556 102557 102558 102559 102560 102561 102562 102563 102564 102565 102566 102567 102568 102569 102570 102571 102572 102573 102574 102575 102576 102577 102578 102579 102580 102581 102582 102583 102584 102585 102586 102587 102588 102589 102590 102591 102592 102593 102594 102595 102596 102597 102598 102599 102600 102601 102602 102603 102604 102605 102606 102607 102608 102609 102610 102611 102612 102613 102614 102615 102616 102617 102618 102619 102620 102621 102622 102623 102624 102625 102626 102627 102628 102629 102630 102631 102632 102633 102634 102635 102636 102637 102638 102639 102640 102641 102642 102643 102644 102645 102646 102647 102648 102649 102650 102651 102652 102653 102654 102655 102656 102657 102658 102659 102660 102661 102662 102663 102664 102665 102666 102667 102668 102669 102670 102671 102672 102673 102674 102675 102676 102677 102678 102679 102680 102681 102682 102683 102684 102685 102686 102687 102688 102689 102690 102691 102692 102693 102694 102695 102696 102697 102698 102699 102700 102701 102702 102703 102704 102705 102706 102707 102708 102709 102710 102711 102712 102713 102714 102715 102716 102717 102718 102719 102720 102721 102722 102723 102724 102725 102726 102727 102728 102729 102730 102731 102732 102733 102734 102735 102736 102737 102738 102739 102740 102741 102742 102743 102744 102745 102746 102747 102748 102749 102750 102751 102752 102753 102754 102755 102756 102757 102758 102759 102760 102761 102762 102763 102764 102765 102766 102767 102768 102769 102770 102771 102772 102773 102774 102775 102776 102777 102778 102779 102780 102781 102782 102783 102784 102785 102786 102787 102788 102789 102790 102791 102792 102793 102794 102795 102796 102797 102798 102799 102800 102801 102802 102803 102804 102805 102806 102807 102808 102809 102810 102811 102812 102813 102814 102815 102816 102817 102818 102819 102820 102821 102822 102823 102824 102825 102826 102827 102828 102829 102830 102831 102832 102833 102834 102835 102836 102837 102838 102839 102840 102841 102842 102843 102844 102845 102846 102847 102848 102849 102850 102851 102852 102853 102854 102855 102856 102857 102858 102859 102860 102861 102862 102863 102864 102865 102866 102867 102868 102869 102870 102871 102872 102873 102874 102875 102876 102877 102878 102879 102880 102881 102882 102883 102884 102885 102886 102887 102888 102889 102890 102891 102892 102893 102894 102895 102896 102897 102898 102899 102900 102901 102902 102903 102904 102905 102906 102907 102908 102909 102910 102911 102912 102913 102914 102915 102916 102917 102918 102919 102920 102921 102922 102923 102924 102925 102926 102927 102928 102929 102930 102931 102932 102933 102934 102935 102936 102937 102938 102939 102940 102941 102942 102943 102944 102945 102946 102947 102948 102949 102950 102951 102952 102953 102954 102955 102956 102957 102958 102959 102960 102961 102962 102963 102964 102965 102966 102967 102968 102969 102970 102971 102972 102973 102974 102975 102976 102977 102978 102979 102980 102981 102982 102983 102984 102985 102986 102987 102988 102989 102990 102991 102992 102993 102994 102995 102996 102997 102998 102999 103000 103001 103002 103003 103004 103005 103006 103007 103008 103009 103010 103011 103012 103013 103014 103015 103016 103017 103018 103019 103020 103021 103022 103023 103024 103025 103026 103027 103028 | } break; case 50: /* typename ::= typename ids */ {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} break; case 57: /* ccons ::= DEFAULT term */ case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy22);} break; case 58: /* ccons ::= DEFAULT LP expr RP */ {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy22);} break; case 60: /* ccons ::= DEFAULT MINUS term */ { ExprSpan v; v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy22.pExpr, 0, 0); v.zStart = yymsp[-1].minor.yy0.z; v.zEnd = yymsp[0].minor.yy22.zEnd; sqlite3AddDefaultValue(pParse,&v); } break; case 61: /* ccons ::= DEFAULT id */ { ExprSpan v; spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); sqlite3AddDefaultValue(pParse,&v); } break; case 63: /* ccons ::= NOT NULL onconf */ {sqlite3AddNotNull(pParse, yymsp[0].minor.yy412);} break; case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy412,yymsp[0].minor.yy412,yymsp[-2].minor.yy412);} break; case 65: /* ccons ::= UNIQUE onconf */ {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy412,0,0,0,0);} break; case 66: /* ccons ::= CHECK LP expr RP */ {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy22.pExpr);} break; case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */ {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy82,yymsp[0].minor.yy412);} break; case 68: /* ccons ::= defer_subclause */ {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy412);} break; case 69: /* ccons ::= COLLATE ids */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; case 72: /* refargs ::= */ { yygotominor.yy412 = OE_None*0x0101; /* EV: R-19803-45884 */} break; case 73: /* refargs ::= refargs refarg */ { yygotominor.yy412 = (yymsp[-1].minor.yy412 & ~yymsp[0].minor.yy47.mask) | yymsp[0].minor.yy47.value; } break; case 74: /* refarg ::= MATCH nm */ case 75: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==75); { yygotominor.yy47.value = 0; yygotominor.yy47.mask = 0x000000; } break; case 76: /* refarg ::= ON DELETE refact */ { yygotominor.yy47.value = yymsp[0].minor.yy412; yygotominor.yy47.mask = 0x0000ff; } break; case 77: /* refarg ::= ON UPDATE refact */ { yygotominor.yy47.value = yymsp[0].minor.yy412<<8; yygotominor.yy47.mask = 0x00ff00; } break; case 78: /* refact ::= SET NULL */ { yygotominor.yy412 = OE_SetNull; /* EV: R-33326-45252 */} break; case 79: /* refact ::= SET DEFAULT */ { yygotominor.yy412 = OE_SetDflt; /* EV: R-33326-45252 */} break; case 80: /* refact ::= CASCADE */ { yygotominor.yy412 = OE_Cascade; /* EV: R-33326-45252 */} break; case 81: /* refact ::= RESTRICT */ { yygotominor.yy412 = OE_Restrict; /* EV: R-33326-45252 */} break; case 82: /* refact ::= NO ACTION */ { yygotominor.yy412 = OE_None; /* EV: R-33326-45252 */} break; case 84: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ case 99: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==99); case 101: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==101); case 104: /* resolvetype ::= raisetype */ yytestcase(yyruleno==104); {yygotominor.yy412 = yymsp[0].minor.yy412;} break; case 88: /* conslist_opt ::= */ {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} break; case 89: /* conslist_opt ::= COMMA conslist */ {yygotominor.yy0 = yymsp[-1].minor.yy0;} break; case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy82,yymsp[0].minor.yy412,yymsp[-2].minor.yy412,0);} break; case 95: /* tcons ::= UNIQUE LP idxlist RP onconf */ {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy82,yymsp[0].minor.yy412,0,0,0,0);} break; case 96: /* tcons ::= CHECK LP expr RP onconf */ {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy22.pExpr);} break; case 97: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ { sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy82, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy82, yymsp[-1].minor.yy412); sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy412); } break; case 100: /* onconf ::= */ {yygotominor.yy412 = OE_Default;} break; case 102: /* orconf ::= */ {yygotominor.yy18 = OE_Default;} break; case 103: /* orconf ::= OR resolvetype */ {yygotominor.yy18 = (u8)yymsp[0].minor.yy412;} break; case 105: /* resolvetype ::= IGNORE */ {yygotominor.yy412 = OE_Ignore;} break; case 106: /* resolvetype ::= REPLACE */ {yygotominor.yy412 = OE_Replace;} break; case 107: /* cmd ::= DROP TABLE ifexists fullname */ { sqlite3DropTable(pParse, yymsp[0].minor.yy67, 0, yymsp[-1].minor.yy412); } break; case 110: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ { sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy459, yymsp[-6].minor.yy412, yymsp[-4].minor.yy412); } break; case 111: /* cmd ::= DROP VIEW ifexists fullname */ { sqlite3DropTable(pParse, yymsp[0].minor.yy67, 1, yymsp[-1].minor.yy412); } break; case 112: /* cmd ::= select */ { SelectDest dest = {SRT_Output, 0, 0, 0, 0}; sqlite3Select(pParse, yymsp[0].minor.yy459, &dest); sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy459); } break; case 113: /* select ::= oneselect */ {yygotominor.yy459 = yymsp[0].minor.yy459;} break; case 114: /* select ::= select multiselect_op oneselect */ { if( yymsp[0].minor.yy459 ){ yymsp[0].minor.yy459->op = (u8)yymsp[-1].minor.yy412; yymsp[0].minor.yy459->pPrior = yymsp[-2].minor.yy459; }else{ sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy459); } yygotominor.yy459 = yymsp[0].minor.yy459; } break; case 116: /* multiselect_op ::= UNION ALL */ {yygotominor.yy412 = TK_ALL;} break; case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { yygotominor.yy459 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy82,yymsp[-5].minor.yy67,yymsp[-4].minor.yy2,yymsp[-3].minor.yy82,yymsp[-2].minor.yy2,yymsp[-1].minor.yy82,yymsp[-7].minor.yy412,yymsp[0].minor.yy244.pLimit,yymsp[0].minor.yy244.pOffset); } break; case 122: /* sclp ::= selcollist COMMA */ case 247: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==247); {yygotominor.yy82 = yymsp[-1].minor.yy82;} break; case 123: /* sclp ::= */ case 151: /* orderby_opt ::= */ yytestcase(yyruleno==151); case 159: /* groupby_opt ::= */ yytestcase(yyruleno==159); case 240: /* exprlist ::= */ yytestcase(yyruleno==240); case 246: /* idxlist_opt ::= */ yytestcase(yyruleno==246); {yygotominor.yy82 = 0;} break; case 124: /* selcollist ::= sclp expr as */ { yygotominor.yy82 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy82, yymsp[-1].minor.yy22.pExpr); if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy82, &yymsp[0].minor.yy0, 1); sqlite3ExprListSetSpan(pParse,yygotominor.yy82,&yymsp[-1].minor.yy22); } break; case 125: /* selcollist ::= sclp STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); yygotominor.yy82 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy82, p); } break; case 126: /* selcollist ::= sclp nm DOT STAR */ { Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); yygotominor.yy82 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy82, pDot); } break; case 129: /* as ::= */ {yygotominor.yy0.n = 0;} break; case 130: /* from ::= */ {yygotominor.yy67 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy67));} break; case 131: /* from ::= FROM seltablist */ { yygotominor.yy67 = yymsp[0].minor.yy67; sqlite3SrcListShiftJoinType(yygotominor.yy67); } break; case 132: /* stl_prefix ::= seltablist joinop */ { yygotominor.yy67 = yymsp[-1].minor.yy67; if( ALWAYS(yygotominor.yy67 && yygotominor.yy67->nSrc>0) ) yygotominor.yy67->a[yygotominor.yy67->nSrc-1].jointype = (u8)yymsp[0].minor.yy412; } break; case 133: /* stl_prefix ::= */ {yygotominor.yy67 = 0;} break; case 134: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ { yygotominor.yy67 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy67,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy2,yymsp[0].minor.yy240); sqlite3SrcListIndexedBy(pParse, yygotominor.yy67, &yymsp[-2].minor.yy0); } break; case 135: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ { yygotominor.yy67 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy67,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy459,yymsp[-1].minor.yy2,yymsp[0].minor.yy240); } break; case 136: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ { if( yymsp[-6].minor.yy67==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy2==0 && yymsp[0].minor.yy240==0 ){ yygotominor.yy67 = yymsp[-4].minor.yy67; }else{ Select *pSubquery; sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy67); pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy67,0,0,0,0,0,0,0); yygotominor.yy67 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy67,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy2,yymsp[0].minor.yy240); } } break; case 137: /* dbnm ::= */ case 146: /* indexed_opt ::= */ yytestcase(yyruleno==146); {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} break; case 139: /* fullname ::= nm dbnm */ {yygotominor.yy67 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} break; case 140: /* joinop ::= COMMA|JOIN */ { yygotominor.yy412 = JT_INNER; } break; case 141: /* joinop ::= JOIN_KW JOIN */ { yygotominor.yy412 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } break; case 142: /* joinop ::= JOIN_KW nm JOIN */ { yygotominor.yy412 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } break; case 143: /* joinop ::= JOIN_KW nm nm JOIN */ { yygotominor.yy412 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } break; case 144: /* on_opt ::= ON expr */ case 155: /* sortitem ::= expr */ yytestcase(yyruleno==155); case 162: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==162); case 169: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==169); case 235: /* case_else ::= ELSE expr */ yytestcase(yyruleno==235); case 237: /* case_operand ::= expr */ yytestcase(yyruleno==237); {yygotominor.yy2 = yymsp[0].minor.yy22.pExpr;} break; case 145: /* on_opt ::= */ case 161: /* having_opt ::= */ yytestcase(yyruleno==161); case 168: /* where_opt ::= */ yytestcase(yyruleno==168); case 236: /* case_else ::= */ yytestcase(yyruleno==236); case 238: /* case_operand ::= */ yytestcase(yyruleno==238); {yygotominor.yy2 = 0;} break; case 148: /* indexed_opt ::= NOT INDEXED */ {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} break; case 149: /* using_opt ::= USING LP inscollist RP */ case 181: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==181); {yygotominor.yy240 = yymsp[-1].minor.yy240;} break; case 150: /* using_opt ::= */ case 180: /* inscollist_opt ::= */ yytestcase(yyruleno==180); {yygotominor.yy240 = 0;} break; case 152: /* orderby_opt ::= ORDER BY sortlist */ case 160: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==160); case 239: /* exprlist ::= nexprlist */ yytestcase(yyruleno==239); {yygotominor.yy82 = yymsp[0].minor.yy82;} break; case 153: /* sortlist ::= sortlist COMMA sortitem sortorder */ { yygotominor.yy82 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy82,yymsp[-1].minor.yy2); if( yygotominor.yy82 ) yygotominor.yy82->a[yygotominor.yy82->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy412; } break; case 154: /* sortlist ::= sortitem sortorder */ { yygotominor.yy82 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy2); if( yygotominor.yy82 && ALWAYS(yygotominor.yy82->a) ) yygotominor.yy82->a[0].sortOrder = (u8)yymsp[0].minor.yy412; } break; case 156: /* sortorder ::= ASC */ case 158: /* sortorder ::= */ yytestcase(yyruleno==158); {yygotominor.yy412 = SQLITE_SO_ASC;} break; case 157: /* sortorder ::= DESC */ {yygotominor.yy412 = SQLITE_SO_DESC;} break; case 163: /* limit_opt ::= */ {yygotominor.yy244.pLimit = 0; yygotominor.yy244.pOffset = 0;} break; case 164: /* limit_opt ::= LIMIT expr */ {yygotominor.yy244.pLimit = yymsp[0].minor.yy22.pExpr; yygotominor.yy244.pOffset = 0;} break; case 165: /* limit_opt ::= LIMIT expr OFFSET expr */ {yygotominor.yy244.pLimit = yymsp[-2].minor.yy22.pExpr; yygotominor.yy244.pOffset = yymsp[0].minor.yy22.pExpr;} break; case 166: /* limit_opt ::= LIMIT expr COMMA expr */ {yygotominor.yy244.pOffset = yymsp[-2].minor.yy22.pExpr; yygotominor.yy244.pLimit = yymsp[0].minor.yy22.pExpr;} break; case 167: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ { sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy67, &yymsp[-1].minor.yy0); sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy67,yymsp[0].minor.yy2); } break; case 170: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */ { sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy67, &yymsp[-3].minor.yy0); sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy82,"set list"); sqlite3Update(pParse,yymsp[-4].minor.yy67,yymsp[-1].minor.yy82,yymsp[0].minor.yy2,yymsp[-5].minor.yy18); } break; case 171: /* setlist ::= setlist COMMA nm EQ expr */ { yygotominor.yy82 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy82, yymsp[0].minor.yy22.pExpr); sqlite3ExprListSetName(pParse, yygotominor.yy82, &yymsp[-2].minor.yy0, 1); } break; case 172: /* setlist ::= nm EQ expr */ { yygotominor.yy82 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy22.pExpr); sqlite3ExprListSetName(pParse, yygotominor.yy82, &yymsp[-2].minor.yy0, 1); } break; case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist RP */ {sqlite3Insert(pParse, yymsp[-5].minor.yy67, yymsp[-1].minor.yy82, 0, yymsp[-4].minor.yy240, yymsp[-7].minor.yy18);} break; case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ {sqlite3Insert(pParse, yymsp[-2].minor.yy67, 0, yymsp[0].minor.yy459, yymsp[-1].minor.yy240, yymsp[-4].minor.yy18);} break; case 175: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ {sqlite3Insert(pParse, yymsp[-3].minor.yy67, 0, 0, yymsp[-2].minor.yy240, yymsp[-5].minor.yy18);} break; case 176: /* insert_cmd ::= INSERT orconf */ {yygotominor.yy18 = yymsp[0].minor.yy18;} break; case 177: /* insert_cmd ::= REPLACE */ {yygotominor.yy18 = OE_Replace;} break; case 178: /* itemlist ::= itemlist COMMA expr */ case 241: /* nexprlist ::= nexprlist COMMA expr */ yytestcase(yyruleno==241); {yygotominor.yy82 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy82,yymsp[0].minor.yy22.pExpr);} break; case 179: /* itemlist ::= expr */ case 242: /* nexprlist ::= expr */ yytestcase(yyruleno==242); {yygotominor.yy82 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy22.pExpr);} break; case 182: /* inscollist ::= inscollist COMMA nm */ {yygotominor.yy240 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy240,&yymsp[0].minor.yy0);} break; case 183: /* inscollist ::= nm */ {yygotominor.yy240 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} break; case 184: /* expr ::= term */ {yygotominor.yy22 = yymsp[0].minor.yy22;} break; case 185: /* expr ::= LP expr RP */ {yygotominor.yy22.pExpr = yymsp[-1].minor.yy22.pExpr; spanSet(&yygotominor.yy22,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} break; case 186: /* term ::= NULL */ case 191: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==191); case 192: /* term ::= STRING */ yytestcase(yyruleno==192); {spanExpr(&yygotominor.yy22, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} break; case 187: /* expr ::= id */ case 188: /* expr ::= JOIN_KW */ yytestcase(yyruleno==188); {spanExpr(&yygotominor.yy22, pParse, TK_ID, &yymsp[0].minor.yy0);} break; case 189: /* expr ::= nm DOT nm */ { Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); spanSet(&yygotominor.yy22,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); } break; case 190: /* expr ::= nm DOT nm DOT nm */ { Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); spanSet(&yygotominor.yy22,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); } break; case 193: /* expr ::= REGISTER */ { /* When doing a nested parse, one can include terms in an expression ** that look like this: #1 #2 ... These terms refer to registers ** in the virtual machine. #N is the N-th register. */ if( pParse->nested==0 ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); yygotominor.yy22.pExpr = 0; }else{ yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0); if( yygotominor.yy22.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy22.pExpr->iTable); } spanSet(&yygotominor.yy22, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } break; case 194: /* expr ::= VARIABLE */ { spanExpr(&yygotominor.yy22, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); sqlite3ExprAssignVarNumber(pParse, yygotominor.yy22.pExpr); spanSet(&yygotominor.yy22, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } break; case 195: /* expr ::= expr COLLATE ids */ { yygotominor.yy22.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy22.pExpr, &yymsp[0].minor.yy0); yygotominor.yy22.zStart = yymsp[-2].minor.yy22.zStart; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 196: /* expr ::= CAST LP expr AS typetoken RP */ { yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy22.pExpr, 0, &yymsp[-1].minor.yy0); spanSet(&yygotominor.yy22,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); } break; case 197: /* expr ::= ID LP distinct exprlist RP */ { if( yymsp[-1].minor.yy82 && yymsp[-1].minor.yy82->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); } yygotominor.yy22.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy82, &yymsp[-4].minor.yy0); spanSet(&yygotominor.yy22,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); if( yymsp[-2].minor.yy412 && yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->flags |= EP_Distinct; } } break; case 198: /* expr ::= ID LP STAR RP */ { yygotominor.yy22.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); spanSet(&yygotominor.yy22,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); } break; case 199: /* term ::= CTIME_KW */ { /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are ** treated as functions that return constants */ yygotominor.yy22.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->op = TK_CONST_FUNC; } spanSet(&yygotominor.yy22, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } break; case 200: /* expr ::= expr AND expr */ case 201: /* expr ::= expr OR expr */ yytestcase(yyruleno==201); case 202: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==202); case 203: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==203); case 204: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==204); case 205: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==205); case 206: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==206); case 207: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==207); {spanBinaryExpr(&yygotominor.yy22,pParse,yymsp[-1].major,&yymsp[-2].minor.yy22,&yymsp[0].minor.yy22);} break; case 208: /* likeop ::= LIKE_KW */ case 210: /* likeop ::= MATCH */ yytestcase(yyruleno==210); {yygotominor.yy438.eOperator = yymsp[0].minor.yy0; yygotominor.yy438.not = 0;} break; case 209: /* likeop ::= NOT LIKE_KW */ case 211: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==211); {yygotominor.yy438.eOperator = yymsp[0].minor.yy0; yygotominor.yy438.not = 1;} break; case 212: /* expr ::= expr likeop expr */ { ExprList *pList; pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy22.pExpr); pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy22.pExpr); yygotominor.yy22.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy438.eOperator); if( yymsp[-1].minor.yy438.not ) yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy22.pExpr, 0, 0); yygotominor.yy22.zStart = yymsp[-2].minor.yy22.zStart; yygotominor.yy22.zEnd = yymsp[0].minor.yy22.zEnd; if( yygotominor.yy22.pExpr ) yygotominor.yy22.pExpr->flags |= EP_InfixFunc; } break; case 213: /* expr ::= expr likeop expr ESCAPE expr */ { ExprList *pList; pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy22.pExpr); pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy22.pExpr); pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy22.pExpr); yygotominor.yy22.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy438.eOperator); if( yymsp[-3].minor.yy438.not ) yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy22.pExpr, 0, 0); yygotominor.yy22.zStart = yymsp[-4].minor.yy22.zStart; yygotominor.yy22.zEnd = yymsp[0].minor.yy22.zEnd; if( yygotominor.yy22.pExpr ) yygotominor.yy22.pExpr->flags |= EP_InfixFunc; } break; case 214: /* expr ::= expr ISNULL|NOTNULL */ {spanUnaryPostfix(&yygotominor.yy22,pParse,yymsp[0].major,&yymsp[-1].minor.yy22,&yymsp[0].minor.yy0);} break; case 215: /* expr ::= expr NOT NULL */ {spanUnaryPostfix(&yygotominor.yy22,pParse,TK_NOTNULL,&yymsp[-2].minor.yy22,&yymsp[0].minor.yy0);} break; case 216: /* expr ::= expr IS expr */ { spanBinaryExpr(&yygotominor.yy22,pParse,TK_IS,&yymsp[-2].minor.yy22,&yymsp[0].minor.yy22); binaryToUnaryIfNull(pParse, yymsp[0].minor.yy22.pExpr, yygotominor.yy22.pExpr, TK_ISNULL); } break; case 217: /* expr ::= expr IS NOT expr */ { spanBinaryExpr(&yygotominor.yy22,pParse,TK_ISNOT,&yymsp[-3].minor.yy22,&yymsp[0].minor.yy22); binaryToUnaryIfNull(pParse, yymsp[0].minor.yy22.pExpr, yygotominor.yy22.pExpr, TK_NOTNULL); } break; case 218: /* expr ::= NOT expr */ case 219: /* expr ::= BITNOT expr */ yytestcase(yyruleno==219); {spanUnaryPrefix(&yygotominor.yy22,pParse,yymsp[-1].major,&yymsp[0].minor.yy22,&yymsp[-1].minor.yy0);} break; case 220: /* expr ::= MINUS expr */ {spanUnaryPrefix(&yygotominor.yy22,pParse,TK_UMINUS,&yymsp[0].minor.yy22,&yymsp[-1].minor.yy0);} break; case 221: /* expr ::= PLUS expr */ {spanUnaryPrefix(&yygotominor.yy22,pParse,TK_UPLUS,&yymsp[0].minor.yy22,&yymsp[-1].minor.yy0);} break; case 224: /* expr ::= expr between_op expr AND expr */ { ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy22.pExpr); pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy22.pExpr); yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy22.pExpr, 0, 0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } if( yymsp[-3].minor.yy412 ) yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy22.pExpr, 0, 0); yygotominor.yy22.zStart = yymsp[-4].minor.yy22.zStart; yygotominor.yy22.zEnd = yymsp[0].minor.yy22.zEnd; } break; case 227: /* expr ::= expr in_op LP exprlist RP */ { if( yymsp[-1].minor.yy82==0 ){ /* Expressions of the form ** ** expr1 IN () ** expr1 NOT IN () ** ** simplify to constants 0 (false) and 1 (true), respectively, ** regardless of the value of expr1. */ yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy412]); sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy22.pExpr); }else{ yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy22.pExpr, 0, 0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->x.pList = yymsp[-1].minor.yy82; sqlite3ExprSetHeight(pParse, yygotominor.yy22.pExpr); }else{ sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy82); } if( yymsp[-3].minor.yy412 ) yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy22.pExpr, 0, 0); } yygotominor.yy22.zStart = yymsp[-4].minor.yy22.zStart; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 228: /* expr ::= LP select RP */ { yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->x.pSelect = yymsp[-1].minor.yy459; ExprSetProperty(yygotominor.yy22.pExpr, EP_xIsSelect); sqlite3ExprSetHeight(pParse, yygotominor.yy22.pExpr); }else{ sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy459); } yygotominor.yy22.zStart = yymsp[-2].minor.yy0.z; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 229: /* expr ::= expr in_op LP select RP */ { yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy22.pExpr, 0, 0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->x.pSelect = yymsp[-1].minor.yy459; ExprSetProperty(yygotominor.yy22.pExpr, EP_xIsSelect); sqlite3ExprSetHeight(pParse, yygotominor.yy22.pExpr); }else{ sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy459); } if( yymsp[-3].minor.yy412 ) yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy22.pExpr, 0, 0); yygotominor.yy22.zStart = yymsp[-4].minor.yy22.zStart; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 230: /* expr ::= expr in_op nm dbnm */ { SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy22.pExpr, 0, 0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); ExprSetProperty(yygotominor.yy22.pExpr, EP_xIsSelect); sqlite3ExprSetHeight(pParse, yygotominor.yy22.pExpr); }else{ sqlite3SrcListDelete(pParse->db, pSrc); } if( yymsp[-2].minor.yy412 ) yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy22.pExpr, 0, 0); yygotominor.yy22.zStart = yymsp[-3].minor.yy22.zStart; yygotominor.yy22.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; } break; case 231: /* expr ::= EXISTS LP select RP */ { Expr *p = yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); if( p ){ p->x.pSelect = yymsp[-1].minor.yy459; ExprSetProperty(p, EP_xIsSelect); sqlite3ExprSetHeight(pParse, p); }else{ sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy459); } yygotominor.yy22.zStart = yymsp[-3].minor.yy0.z; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 232: /* expr ::= CASE case_operand case_exprlist case_else END */ { yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy2, yymsp[-1].minor.yy2, 0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->x.pList = yymsp[-2].minor.yy82; sqlite3ExprSetHeight(pParse, yygotominor.yy22.pExpr); }else{ sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy82); } yygotominor.yy22.zStart = yymsp[-4].minor.yy0.z; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 233: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { yygotominor.yy82 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy82, yymsp[-2].minor.yy22.pExpr); yygotominor.yy82 = sqlite3ExprListAppend(pParse,yygotominor.yy82, yymsp[0].minor.yy22.pExpr); } break; case 234: /* case_exprlist ::= WHEN expr THEN expr */ { yygotominor.yy82 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy22.pExpr); yygotominor.yy82 = sqlite3ExprListAppend(pParse,yygotominor.yy82, yymsp[0].minor.yy22.pExpr); } break; case 243: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */ { sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), yymsp[-1].minor.yy82, yymsp[-9].minor.yy412, &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy412); } break; case 244: /* uniqueflag ::= UNIQUE */ case 296: /* raisetype ::= ABORT */ yytestcase(yyruleno==296); {yygotominor.yy412 = OE_Abort;} break; case 245: /* uniqueflag ::= */ {yygotominor.yy412 = OE_None;} break; case 248: /* idxlist ::= idxlist COMMA nm collate sortorder */ { Expr *p = 0; if( yymsp[-1].minor.yy0.n>0 ){ p = sqlite3Expr(pParse->db, TK_COLUMN, 0); sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); } yygotominor.yy82 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy82, p); sqlite3ExprListSetName(pParse,yygotominor.yy82,&yymsp[-2].minor.yy0,1); sqlite3ExprListCheckLength(pParse, yygotominor.yy82, "index"); if( yygotominor.yy82 ) yygotominor.yy82->a[yygotominor.yy82->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy412; } break; case 249: /* idxlist ::= nm collate sortorder */ { Expr *p = 0; if( yymsp[-1].minor.yy0.n>0 ){ p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); } yygotominor.yy82 = sqlite3ExprListAppend(pParse,0, p); sqlite3ExprListSetName(pParse, yygotominor.yy82, &yymsp[-2].minor.yy0, 1); sqlite3ExprListCheckLength(pParse, yygotominor.yy82, "index"); if( yygotominor.yy82 ) yygotominor.yy82->a[yygotominor.yy82->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy412; } break; case 250: /* collate ::= */ {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} break; case 252: /* cmd ::= DROP INDEX ifexists fullname */ {sqlite3DropIndex(pParse, yymsp[0].minor.yy67, yymsp[-1].minor.yy412);} break; case 253: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; case 254: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; case 255: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; case 256: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; case 257: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} break; case 268: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { Token all; all.z = yymsp[-3].minor.yy0.z; all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy347, &all); } break; case 269: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ { sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy412, yymsp[-4].minor.yy210.a, yymsp[-4].minor.yy210.b, yymsp[-2].minor.yy67, yymsp[0].minor.yy2, yymsp[-10].minor.yy412, yymsp[-8].minor.yy412); yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); } break; case 270: /* trigger_time ::= BEFORE */ case 273: /* trigger_time ::= */ yytestcase(yyruleno==273); { yygotominor.yy412 = TK_BEFORE; } break; case 271: /* trigger_time ::= AFTER */ { yygotominor.yy412 = TK_AFTER; } break; case 272: /* trigger_time ::= INSTEAD OF */ { yygotominor.yy412 = TK_INSTEAD;} break; case 274: /* trigger_event ::= DELETE|INSERT */ case 275: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==275); {yygotominor.yy210.a = yymsp[0].major; yygotominor.yy210.b = 0;} break; case 276: /* trigger_event ::= UPDATE OF inscollist */ {yygotominor.yy210.a = TK_UPDATE; yygotominor.yy210.b = yymsp[0].minor.yy240;} break; case 279: /* when_clause ::= */ { yygotominor.yy2 = 0; } break; case 280: /* when_clause ::= WHEN expr */ { yygotominor.yy2 = yymsp[0].minor.yy22.pExpr; } break; case 281: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { assert( yymsp[-2].minor.yy347!=0 ); yymsp[-2].minor.yy347->pLast->pNext = yymsp[-1].minor.yy347; yymsp[-2].minor.yy347->pLast = yymsp[-1].minor.yy347; yygotominor.yy347 = yymsp[-2].minor.yy347; } break; case 282: /* trigger_cmd_list ::= trigger_cmd SEMI */ { assert( yymsp[-1].minor.yy347!=0 ); yymsp[-1].minor.yy347->pLast = yymsp[-1].minor.yy347; yygotominor.yy347 = yymsp[-1].minor.yy347; } break; case 284: /* trnm ::= nm DOT nm */ { yygotominor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, "qualified table names are not allowed on INSERT, UPDATE, and DELETE " "statements within triggers"); } break; case 286: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; case 287: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; case 288: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ { yygotominor.yy347 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy82, yymsp[0].minor.yy2, yymsp[-5].minor.yy18); } break; case 289: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP itemlist RP */ {yygotominor.yy347 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy240, yymsp[-1].minor.yy82, 0, yymsp[-7].minor.yy18);} break; case 290: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ {yygotominor.yy347 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy240, 0, yymsp[0].minor.yy459, yymsp[-4].minor.yy18);} break; case 291: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ {yygotominor.yy347 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy2);} break; case 292: /* trigger_cmd ::= select */ {yygotominor.yy347 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy459); } break; case 293: /* expr ::= RAISE LP IGNORE RP */ { yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); if( yygotominor.yy22.pExpr ){ yygotominor.yy22.pExpr->affinity = OE_Ignore; } yygotominor.yy22.zStart = yymsp[-3].minor.yy0.z; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 294: /* expr ::= RAISE LP raisetype COMMA nm RP */ { yygotominor.yy22.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); if( yygotominor.yy22.pExpr ) { yygotominor.yy22.pExpr->affinity = (char)yymsp[-3].minor.yy412; } yygotominor.yy22.zStart = yymsp[-5].minor.yy0.z; yygotominor.yy22.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 295: /* raisetype ::= ROLLBACK */ {yygotominor.yy412 = OE_Rollback;} break; case 297: /* raisetype ::= FAIL */ {yygotominor.yy412 = OE_Fail;} break; case 298: /* cmd ::= DROP TRIGGER ifexists fullname */ { sqlite3DropTrigger(pParse,yymsp[0].minor.yy67,yymsp[-1].minor.yy412); } break; case 299: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; case 300: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; default: /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3); /* (4) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==4); |
︙ | ︙ | |||
102981 102982 102983 102984 102985 102986 102987 | /* (55) carg ::= CONSTRAINT nm ccons */ yytestcase(yyruleno==55); /* (56) carg ::= ccons */ yytestcase(yyruleno==56); /* (62) ccons ::= NULL onconf */ yytestcase(yyruleno==62); /* (90) conslist ::= conslist COMMA tcons */ yytestcase(yyruleno==90); /* (91) conslist ::= conslist tcons */ yytestcase(yyruleno==91); /* (92) conslist ::= tcons */ yytestcase(yyruleno==92); /* (93) tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93); | | | | | | | 103042 103043 103044 103045 103046 103047 103048 103049 103050 103051 103052 103053 103054 103055 103056 103057 103058 103059 103060 | /* (55) carg ::= CONSTRAINT nm ccons */ yytestcase(yyruleno==55); /* (56) carg ::= ccons */ yytestcase(yyruleno==56); /* (62) ccons ::= NULL onconf */ yytestcase(yyruleno==62); /* (90) conslist ::= conslist COMMA tcons */ yytestcase(yyruleno==90); /* (91) conslist ::= conslist tcons */ yytestcase(yyruleno==91); /* (92) conslist ::= tcons */ yytestcase(yyruleno==92); /* (93) tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93); /* (266) plus_opt ::= PLUS */ yytestcase(yyruleno==266); /* (267) plus_opt ::= */ yytestcase(yyruleno==267); /* (277) foreach_clause ::= */ yytestcase(yyruleno==277); /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278); /* (285) tridxby ::= */ yytestcase(yyruleno==285); break; }; yygoto = yyRuleInfo[yyruleno].lhs; yysize = yyRuleInfo[yyruleno].nrhs; yypParser->yyidx -= yysize; yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto); if( yyact < YYNSTATE ){ |
︙ | ︙ | |||
103320 103321 103322 103323 103324 103325 103326 | ** The code in this file implements a function that determines whether ** or not a given identifier is really an SQL keyword. The same thing ** might be implemented more directly using a hand-written hash table. ** But by using this automatically generated code, the size of the code ** is substantially reduced. This is important for embedded applications ** on platforms with limited memory. */ | | | | | | | | | | | | < | | > | | | | > | | < | | | | > | | > | | | | < | < | | | > | < | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | > | | | | > | | < | | | > | | | | | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | | 103381 103382 103383 103384 103385 103386 103387 103388 103389 103390 103391 103392 103393 103394 103395 103396 103397 103398 103399 103400 103401 103402 103403 103404 103405 103406 103407 103408 103409 103410 103411 103412 103413 103414 103415 103416 103417 103418 103419 103420 103421 103422 103423 103424 103425 103426 103427 103428 103429 103430 103431 103432 103433 103434 103435 103436 103437 103438 103439 103440 103441 103442 103443 103444 103445 103446 103447 103448 103449 103450 103451 103452 103453 103454 103455 103456 103457 103458 103459 103460 103461 103462 103463 103464 103465 103466 103467 103468 103469 103470 103471 103472 103473 103474 103475 103476 103477 103478 103479 103480 103481 103482 103483 103484 103485 103486 103487 103488 103489 103490 103491 103492 103493 103494 103495 103496 103497 103498 103499 103500 103501 103502 103503 103504 103505 103506 103507 103508 103509 103510 103511 103512 103513 103514 103515 103516 103517 103518 103519 103520 103521 103522 103523 103524 103525 103526 103527 103528 103529 103530 103531 103532 103533 103534 103535 103536 103537 103538 103539 103540 103541 103542 103543 103544 103545 103546 103547 103548 103549 103550 103551 103552 103553 103554 103555 103556 103557 103558 103559 103560 103561 103562 103563 103564 103565 103566 103567 103568 103569 103570 103571 103572 103573 103574 103575 103576 103577 103578 103579 103580 103581 103582 103583 103584 103585 103586 103587 103588 103589 103590 103591 103592 103593 103594 103595 103596 103597 103598 103599 103600 103601 103602 103603 103604 103605 103606 103607 103608 103609 103610 103611 103612 103613 103614 103615 103616 103617 103618 103619 103620 103621 103622 103623 103624 103625 103626 103627 103628 103629 | ** The code in this file implements a function that determines whether ** or not a given identifier is really an SQL keyword. The same thing ** might be implemented more directly using a hand-written hash table. ** But by using this automatically generated code, the size of the code ** is substantially reduced. This is important for embedded applications ** on platforms with limited memory. */ /* Hash score: 148 */ static int keywordCode(const char *z, int n){ /* zText[] encodes 727 bytes of keywords in 473 bytes */ /* REINDEXEDESCAPEACHECKEYBEFOREIGNOREGEXPLAINNERAISELECTABLEFT */ /* HENDEFERRABLELSEXCEPTRANSACTIONATURALIKEXCLUSIVEXISTSAVEPOINT */ /* ERSECTRIGGEREFERENCESCONSTRAINTOFFSETEMPORARYUNIQUERYBEGINSERT */ /* BETWEENOTNULLIMITCASCADELETECASECOLLATECREATECURRENT_DATEGROUP */ /* DATEIMMEDIATEJOINSTEADEFAULTMATCHAVINGLOBYPLANDEFERREDISTINCT */ /* PRAGMABORTRELEASEVALUESWHENWHEREPLACEAFTERESTRICTCASTCOMMIT */ /* CONFLICTCROSSCURRENT_TIMESTAMPRIMARYDROPFAILFROMFULLIFISNULL */ /* ORDERIGHTOUTEROLLBACKROWUNIONUSINGVIEWINITIALLY */ static const char zText[472] = { 'R','E','I','N','D','E','X','E','D','E','S','C','A','P','E','A','C','H', 'E','C','K','E','Y','B','E','F','O','R','E','I','G','N','O','R','E','G', 'E','X','P','L','A','I','N','N','E','R','A','I','S','E','L','E','C','T', 'A','B','L','E','F','T','H','E','N','D','E','F','E','R','R','A','B','L', 'E','L','S','E','X','C','E','P','T','R','A','N','S','A','C','T','I','O', 'N','A','T','U','R','A','L','I','K','E','X','C','L','U','S','I','V','E', 'X','I','S','T','S','A','V','E','P','O','I','N','T','E','R','S','E','C', 'T','R','I','G','G','E','R','E','F','E','R','E','N','C','E','S','C','O', 'N','S','T','R','A','I','N','T','O','F','F','S','E','T','E','M','P','O', 'R','A','R','Y','U','N','I','Q','U','E','R','Y','B','E','G','I','N','S', 'E','R','T','B','E','T','W','E','E','N','O','T','N','U','L','L','I','M', 'I','T','C','A','S','C','A','D','E','L','E','T','E','C','A','S','E','C', 'O','L','L','A','T','E','C','R','E','A','T','E','C','U','R','R','E','N', 'T','_','D','A','T','E','G','R','O','U','P','D','A','T','E','I','M','M', 'E','D','I','A','T','E','J','O','I','N','S','T','E','A','D','E','F','A', 'U','L','T','M','A','T','C','H','A','V','I','N','G','L','O','B','Y','P', 'L','A','N','D','E','F','E','R','R','E','D','I','S','T','I','N','C','T', 'P','R','A','G','M','A','B','O','R','T','R','E','L','E','A','S','E','V', 'A','L','U','E','S','W','H','E','N','W','H','E','R','E','P','L','A','C', 'E','A','F','T','E','R','E','S','T','R','I','C','T','C','A','S','T','C', 'O','M','M','I','T','C','O','N','F','L','I','C','T','C','R','O','S','S', 'C','U','R','R','E','N','T','_','T','I','M','E','S','T','A','M','P','R', 'I','M','A','R','Y','D','R','O','P','F','A','I','L','F','R','O','M','F', 'U','L','L','I','F','I','S','N','U','L','L','O','R','D','E','R','I','G', 'H','T','O','U','T','E','R','O','L','L','B','A','C','K','R','O','W','U', 'N','I','O','N','U','S','I','N','G','V','I','E','W','I','N','I','T','I', 'A','L','L','Y', }; static const unsigned char aHash[127] = { 49, 77, 104, 65, 0, 44, 0, 0, 82, 0, 69, 0, 0, 41, 12, 73, 67, 0, 102, 83, 70, 99, 0, 17, 0, 0, 32, 0, 106, 87, 0, 20, 39, 0, 9, 0, 0, 60, 61, 0, 59, 6, 0, 47, 74, 94, 0, 105, 93, 0, 0, 43, 0, 75, 22, 0, 0, 0, 108, 0, 21, 0, 5, 71, 23, 0, 0, 0, 110, 95, 50, 109, 48, 26, 63, 0, 68, 0, 92, 24, 0, 91, 0, 0, 0, 88, 10, 89, 86, 98, 14, 36, 97, 0, 79, 0, 81, 85, 72, 16, 0, 107, 78, 100, 52, 45, 55, 0, 0, 38, 37, 0, 103, 0, 33, 0, 0, 27, 0, 84, 53, 54, 0, 18, 51, 0, 64, }; static const unsigned char aNext[110] = { 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 30, 0, 19, 0, 0, 0, 0, 0, 28, 0, 15, 0, 0, 0, 0, 0, 1, 56, 0, 0, 3, 46, 0, 40, 2, 31, 0, 42, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 11, 62, 0, 76, 90, 0, 96, 0, 66, 0, 25, 101, 34, 57, 35, 0, 58, 0, 0, }; static const unsigned char aLen[110] = { 7, 7, 5, 4, 6, 4, 5, 3, 6, 7, 3, 6, 6, 7, 5, 5, 6, 5, 4, 4, 3, 10, 4, 6, 11, 6, 2, 7, 4, 9, 6, 9, 9, 7, 10, 10, 4, 2, 2, 6, 2, 3, 9, 4, 2, 6, 5, 5, 6, 7, 7, 3, 2, 4, 5, 7, 3, 6, 4, 7, 6, 12, 5, 6, 9, 4, 7, 7, 5, 6, 4, 2, 4, 3, 8, 8, 2, 6, 5, 7, 2, 6, 4, 5, 7, 5, 8, 4, 6, 8, 5, 17, 12, 7, 4, 4, 4, 4, 2, 6, 5, 5, 5, 8, 3, 5, 5, 4, 9, 3, }; static const unsigned short int aOffset[110] = { 0, 2, 2, 8, 9, 14, 16, 20, 23, 25, 25, 29, 33, 36, 41, 45, 48, 53, 56, 59, 61, 63, 72, 75, 80, 85, 89, 90, 96, 99, 107, 112, 118, 126, 132, 142, 149, 149, 151, 152, 152, 155, 157, 157, 161, 166, 169, 174, 177, 183, 189, 189, 189, 192, 195, 200, 201, 205, 211, 215, 222, 228, 240, 243, 249, 258, 260, 266, 273, 277, 282, 285, 287, 289, 291, 298, 299, 306, 311, 316, 320, 323, 329, 333, 336, 343, 347, 355, 359, 365, 373, 378, 378, 394, 401, 405, 409, 413, 417, 419, 425, 429, 434, 438, 446, 449, 454, 459, 463, 468, }; static const unsigned char aCode[110] = { TK_REINDEX, TK_INDEXED, TK_INDEX, TK_DESC, TK_ESCAPE, TK_EACH, TK_CHECK, TK_KEY, TK_BEFORE, TK_FOREIGN, TK_FOR, TK_IGNORE, TK_LIKE_KW, TK_EXPLAIN, TK_JOIN_KW, TK_RAISE, TK_SELECT, TK_TABLE, TK_JOIN_KW, TK_THEN, TK_END, TK_DEFERRABLE, TK_ELSE, TK_EXCEPT, TK_TRANSACTION, TK_ACTION, TK_ON, TK_JOIN_KW, TK_LIKE_KW, TK_EXCLUSIVE, TK_EXISTS, TK_SAVEPOINT, TK_INTERSECT, TK_TRIGGER, TK_REFERENCES, TK_CONSTRAINT, TK_INTO, TK_IN, TK_TO, TK_OFFSET, TK_OF, TK_SET, TK_TEMP, TK_TEMP, TK_OR, TK_UNIQUE, TK_QUERY, TK_BEGIN, TK_INSERT, TK_BETWEEN, TK_NOTNULL, TK_NOT, TK_NO, TK_NULL, TK_LIMIT, TK_CASCADE, TK_ASC, TK_DELETE, TK_CASE, TK_COLLATE, TK_CREATE, TK_CTIME_KW, TK_GROUP, TK_UPDATE, TK_IMMEDIATE, TK_JOIN, TK_INSTEAD, TK_DEFAULT, TK_MATCH, TK_HAVING, TK_LIKE_KW, TK_BY, TK_PLAN, TK_AND, TK_DEFERRED, TK_DISTINCT, TK_IS, TK_PRAGMA, TK_ABORT, TK_RELEASE, TK_AS, TK_VALUES, TK_WHEN, TK_WHERE, TK_REPLACE, TK_AFTER, TK_RESTRICT, TK_CAST, TK_COMMIT, TK_CONFLICT, TK_JOIN_KW, TK_CTIME_KW, TK_CTIME_KW, TK_PRIMARY, TK_DROP, TK_FAIL, TK_FROM, TK_JOIN_KW, TK_IF, TK_ISNULL, TK_ORDER, TK_JOIN_KW, TK_JOIN_KW, TK_ROLLBACK, TK_ROW, TK_UNION, TK_USING, TK_VIEW, TK_INITIALLY, TK_ALL, }; int h, i; if( n<2 ) return TK_ID; h = ((charMap(z[0])*4) ^ (charMap(z[n-1])*3) ^ n) % 127; for(i=((int)aHash[h])-1; i>=0; i=((int)aNext[i])-1){ if( aLen[i]==n && sqlite3StrNICmp(&zText[aOffset[i]],z,n)==0 ){ testcase( i==0 ); /* REINDEX */ testcase( i==1 ); /* INDEXED */ testcase( i==2 ); /* INDEX */ testcase( i==3 ); /* DESC */ testcase( i==4 ); /* ESCAPE */ testcase( i==5 ); /* EACH */ testcase( i==6 ); /* CHECK */ testcase( i==7 ); /* KEY */ testcase( i==8 ); /* BEFORE */ testcase( i==9 ); /* FOREIGN */ testcase( i==10 ); /* FOR */ testcase( i==11 ); /* IGNORE */ testcase( i==12 ); /* REGEXP */ testcase( i==13 ); /* EXPLAIN */ testcase( i==14 ); /* INNER */ testcase( i==15 ); /* RAISE */ testcase( i==16 ); /* SELECT */ testcase( i==17 ); /* TABLE */ testcase( i==18 ); /* LEFT */ testcase( i==19 ); /* THEN */ testcase( i==20 ); /* END */ testcase( i==21 ); /* DEFERRABLE */ testcase( i==22 ); /* ELSE */ testcase( i==23 ); /* EXCEPT */ testcase( i==24 ); /* TRANSACTION */ testcase( i==25 ); /* ACTION */ testcase( i==26 ); /* ON */ testcase( i==27 ); /* NATURAL */ testcase( i==28 ); /* LIKE */ testcase( i==29 ); /* EXCLUSIVE */ testcase( i==30 ); /* EXISTS */ testcase( i==31 ); /* SAVEPOINT */ testcase( i==32 ); /* INTERSECT */ testcase( i==33 ); /* TRIGGER */ testcase( i==34 ); /* REFERENCES */ testcase( i==35 ); /* CONSTRAINT */ testcase( i==36 ); /* INTO */ testcase( i==37 ); /* IN */ testcase( i==38 ); /* TO */ testcase( i==39 ); /* OFFSET */ testcase( i==40 ); /* OF */ testcase( i==41 ); /* SET */ testcase( i==42 ); /* TEMPORARY */ testcase( i==43 ); /* TEMP */ testcase( i==44 ); /* OR */ testcase( i==45 ); /* UNIQUE */ testcase( i==46 ); /* QUERY */ testcase( i==47 ); /* BEGIN */ testcase( i==48 ); /* INSERT */ testcase( i==49 ); /* BETWEEN */ testcase( i==50 ); /* NOTNULL */ testcase( i==51 ); /* NOT */ testcase( i==52 ); /* NO */ testcase( i==53 ); /* NULL */ testcase( i==54 ); /* LIMIT */ testcase( i==55 ); /* CASCADE */ testcase( i==56 ); /* ASC */ testcase( i==57 ); /* DELETE */ testcase( i==58 ); /* CASE */ testcase( i==59 ); /* COLLATE */ testcase( i==60 ); /* CREATE */ testcase( i==61 ); /* CURRENT_DATE */ testcase( i==62 ); /* GROUP */ testcase( i==63 ); /* UPDATE */ testcase( i==64 ); /* IMMEDIATE */ testcase( i==65 ); /* JOIN */ testcase( i==66 ); /* INSTEAD */ testcase( i==67 ); /* DEFAULT */ testcase( i==68 ); /* MATCH */ testcase( i==69 ); /* HAVING */ testcase( i==70 ); /* GLOB */ testcase( i==71 ); /* BY */ testcase( i==72 ); /* PLAN */ testcase( i==73 ); /* AND */ testcase( i==74 ); /* DEFERRED */ testcase( i==75 ); /* DISTINCT */ testcase( i==76 ); /* IS */ testcase( i==77 ); /* PRAGMA */ testcase( i==78 ); /* ABORT */ testcase( i==79 ); /* RELEASE */ testcase( i==80 ); /* AS */ testcase( i==81 ); /* VALUES */ testcase( i==82 ); /* WHEN */ testcase( i==83 ); /* WHERE */ testcase( i==84 ); /* REPLACE */ testcase( i==85 ); /* AFTER */ testcase( i==86 ); /* RESTRICT */ testcase( i==87 ); /* CAST */ testcase( i==88 ); /* COMMIT */ testcase( i==89 ); /* CONFLICT */ testcase( i==90 ); /* CROSS */ testcase( i==91 ); /* CURRENT_TIMESTAMP */ testcase( i==92 ); /* CURRENT_TIME */ testcase( i==93 ); /* PRIMARY */ testcase( i==94 ); /* DROP */ testcase( i==95 ); /* FAIL */ testcase( i==96 ); /* FROM */ testcase( i==97 ); /* FULL */ testcase( i==98 ); /* IF */ testcase( i==99 ); /* ISNULL */ testcase( i==100 ); /* ORDER */ testcase( i==101 ); /* RIGHT */ testcase( i==102 ); /* OUTER */ testcase( i==103 ); /* ROLLBACK */ testcase( i==104 ); /* ROW */ testcase( i==105 ); /* UNION */ testcase( i==106 ); /* USING */ testcase( i==107 ); /* VIEW */ testcase( i==108 ); /* INITIALLY */ testcase( i==109 ); /* ALL */ return aCode[i]; } } return TK_ID; } SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char *z, int n){ return keywordCode((char*)z, n); } #define SQLITE_N_KEYWORD 110 /************** End of keywordhash.h *****************************************/ /************** Continuing where we left off in tokenize.c *******************/ /* ** If X is a character that can be used in an identifier then |
︙ | ︙ |
Changes to src/sqllogictest.mk.
︙ | ︙ | |||
43 44 45 46 47 48 49 | OPTS += -DSQLITE_OMIT_COMPLETE #OPTS += -DSQLITE_OMIT_CONFLICT_CLAUSE OPTS += -DSQLITE_OMIT_DATETIME_FUNCS OPTS += -DSQLITE_OMIT_GET_TABLE OPTS += -DSQLITE_OMIT_INCRBLOB OPTS += -DSQLITE_OMIT_LOAD_EXTENSION OPTS += -DSQLITE_OMIT_MEMORYDB | | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | OPTS += -DSQLITE_OMIT_COMPLETE #OPTS += -DSQLITE_OMIT_CONFLICT_CLAUSE OPTS += -DSQLITE_OMIT_DATETIME_FUNCS OPTS += -DSQLITE_OMIT_GET_TABLE OPTS += -DSQLITE_OMIT_INCRBLOB OPTS += -DSQLITE_OMIT_LOAD_EXTENSION OPTS += -DSQLITE_OMIT_MEMORYDB #OPTS += -DSQLITE_OMIT_PRAGMA #OPTS += -DSQLITE_OMIT_REINDEX OPTS += -DSQLITE_OMIT_SHARED_CACHE OPTS += -DSQLITE_OMIT_TCL_VARIABLE OPTS += -DSQLITE_OMIT_TRACE OPTS += -DSQLITE_OMIT_TRACE OPTS += -DSQLITE_OMIT_UTF16 OPTS += -DSQLITE_OMIT_VACUUM OPTS += -DSQLITE_OMIT_VIRTUALTABLE |
︙ | ︙ |
Changes to test/evidence/slt_lang_droptable.test.
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 | # PARTIAL-EVIDENCE-OF: R-57089-01510 The optional IF EXISTS clause suppresses # the error that would normally result if the table does not exist. statement ok CREATE TABLE t1( x INTEGER, y VARCHAR(8) ) skipif mssql DROP TABLE IF EXISTS t1 skipif mssql DROP TABLE IF EXISTS t1 | > > < < < < < < < < < < < < < < < < < < < < < < | 43 44 45 46 47 48 49 50 51 52 53 54 55 | # PARTIAL-EVIDENCE-OF: R-57089-01510 The optional IF EXISTS clause suppresses # the error that would normally result if the table does not exist. statement ok CREATE TABLE t1( x INTEGER, y VARCHAR(8) ) skipif mssql statement ok DROP TABLE IF EXISTS t1 skipif mssql statement ok DROP TABLE IF EXISTS t1 |