Fossil SCM
Update the built-in SQLite to the 3.7.12 beta as of 2012-05-10.
Commit
0141e20ff041bf3f77c2e079f238478a686741ac
Parent
b22cc4eb73c3440…
2 files changed
+1142
-1068
+2
-1
+1142
-1068
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -657,11 +657,11 @@ | ||
| 657 | 657 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 658 | 658 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 659 | 659 | */ |
| 660 | 660 | #define SQLITE_VERSION "3.7.12" |
| 661 | 661 | #define SQLITE_VERSION_NUMBER 3007012 |
| 662 | -#define SQLITE_SOURCE_ID "2012-05-01 14:21:57 bfa61e781cb442be641486e7e55a1518e888d830" | |
| 662 | +#define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" | |
| 663 | 663 | |
| 664 | 664 | /* |
| 665 | 665 | ** CAPI3REF: Run-Time Library Version Numbers |
| 666 | 666 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 667 | 667 | ** |
| @@ -1006,10 +1006,11 @@ | ||
| 1006 | 1006 | #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) |
| 1007 | 1007 | #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) |
| 1008 | 1008 | #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) |
| 1009 | 1009 | #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) |
| 1010 | 1010 | #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) |
| 1011 | +#define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) | |
| 1011 | 1012 | #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) |
| 1012 | 1013 | #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) |
| 1013 | 1014 | #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) |
| 1014 | 1015 | #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) |
| 1015 | 1016 | |
| @@ -35172,10 +35173,39 @@ | ||
| 35172 | 35173 | zBuf[j+1] = 0; |
| 35173 | 35174 | |
| 35174 | 35175 | OSTRACE(("TEMP FILENAME: %s\n", zBuf)); |
| 35175 | 35176 | return SQLITE_OK; |
| 35176 | 35177 | } |
| 35178 | + | |
| 35179 | +/* | |
| 35180 | +** Return TRUE if the named file is really a directory. Return false if | |
| 35181 | +** it is something other than a directory, or if there is any kind of memory | |
| 35182 | +** allocation failure. | |
| 35183 | +*/ | |
| 35184 | +static int winIsDir(const void *zConverted){ | |
| 35185 | + DWORD attr; | |
| 35186 | + int rc = 0; | |
| 35187 | + DWORD lastErrno; | |
| 35188 | + | |
| 35189 | + if( isNT() ){ | |
| 35190 | + int cnt = 0; | |
| 35191 | + WIN32_FILE_ATTRIBUTE_DATA sAttrData; | |
| 35192 | + memset(&sAttrData, 0, sizeof(sAttrData)); | |
| 35193 | + while( !(rc = osGetFileAttributesExW((LPCWSTR)zConverted, | |
| 35194 | + GetFileExInfoStandard, | |
| 35195 | + &sAttrData)) && retryIoerr(&cnt, &lastErrno) ){} | |
| 35196 | + if( !rc ){ | |
| 35197 | + return 0; /* Invalid name? */ | |
| 35198 | + } | |
| 35199 | + attr = sAttrData.dwFileAttributes; | |
| 35200 | +#if SQLITE_OS_WINCE==0 | |
| 35201 | + }else{ | |
| 35202 | + attr = osGetFileAttributesA((char*)zConverted); | |
| 35203 | +#endif | |
| 35204 | + } | |
| 35205 | + return (attr!=INVALID_FILE_ATTRIBUTES) && (attr&FILE_ATTRIBUTE_DIRECTORY); | |
| 35206 | +} | |
| 35177 | 35207 | |
| 35178 | 35208 | /* |
| 35179 | 35209 | ** Open a file. |
| 35180 | 35210 | */ |
| 35181 | 35211 | static int winOpen( |
| @@ -35278,10 +35308,15 @@ | ||
| 35278 | 35308 | /* Convert the filename to the system encoding. */ |
| 35279 | 35309 | zConverted = convertUtf8Filename(zUtf8Name); |
| 35280 | 35310 | if( zConverted==0 ){ |
| 35281 | 35311 | return SQLITE_IOERR_NOMEM; |
| 35282 | 35312 | } |
| 35313 | + | |
| 35314 | + if( winIsDir(zConverted) ){ | |
| 35315 | + sqlite3_free(zConverted); | |
| 35316 | + return SQLITE_CANTOPEN_ISDIR; | |
| 35317 | + } | |
| 35283 | 35318 | |
| 35284 | 35319 | if( isReadWrite ){ |
| 35285 | 35320 | dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; |
| 35286 | 35321 | }else{ |
| 35287 | 35322 | dwDesiredAccess = GENERIC_READ; |
| @@ -35328,24 +35363,24 @@ | ||
| 35328 | 35363 | dwDesiredAccess, |
| 35329 | 35364 | dwShareMode, NULL, |
| 35330 | 35365 | dwCreationDisposition, |
| 35331 | 35366 | dwFlagsAndAttributes, |
| 35332 | 35367 | NULL))==INVALID_HANDLE_VALUE && |
| 35333 | - retryIoerr(&cnt, &lastErrno) ){} | |
| 35334 | -/* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. | |
| 35335 | -** Since the ANSI version of these Windows API do not exist for WINCE, | |
| 35336 | -** it's important to not reference them for WINCE builds. | |
| 35337 | -*/ | |
| 35368 | + retryIoerr(&cnt, &lastErrno) ){ | |
| 35369 | + /* Noop */ | |
| 35370 | + } | |
| 35338 | 35371 | #if SQLITE_OS_WINCE==0 |
| 35339 | 35372 | }else{ |
| 35340 | 35373 | while( (h = osCreateFileA((LPCSTR)zConverted, |
| 35341 | 35374 | dwDesiredAccess, |
| 35342 | 35375 | dwShareMode, NULL, |
| 35343 | 35376 | dwCreationDisposition, |
| 35344 | 35377 | dwFlagsAndAttributes, |
| 35345 | 35378 | NULL))==INVALID_HANDLE_VALUE && |
| 35346 | - retryIoerr(&cnt, &lastErrno) ){} | |
| 35379 | + retryIoerr(&cnt, &lastErrno) ){ | |
| 35380 | + /* Noop */ | |
| 35381 | + } | |
| 35347 | 35382 | #endif |
| 35348 | 35383 | } |
| 35349 | 35384 | |
| 35350 | 35385 | logIoerr(cnt); |
| 35351 | 35386 | |
| @@ -35421,10 +35456,11 @@ | ||
| 35421 | 35456 | const char *zFilename, /* Name of file to delete */ |
| 35422 | 35457 | int syncDir /* Not used on win32 */ |
| 35423 | 35458 | ){ |
| 35424 | 35459 | int cnt = 0; |
| 35425 | 35460 | int rc; |
| 35461 | + DWORD attr; | |
| 35426 | 35462 | DWORD lastErrno; |
| 35427 | 35463 | void *zConverted; |
| 35428 | 35464 | UNUSED_PARAMETER(pVfs); |
| 35429 | 35465 | UNUSED_PARAMETER(syncDir); |
| 35430 | 35466 | |
| @@ -35432,24 +35468,54 @@ | ||
| 35432 | 35468 | zConverted = convertUtf8Filename(zFilename); |
| 35433 | 35469 | if( zConverted==0 ){ |
| 35434 | 35470 | return SQLITE_IOERR_NOMEM; |
| 35435 | 35471 | } |
| 35436 | 35472 | if( isNT() ){ |
| 35437 | - rc = 1; | |
| 35438 | - while( osGetFileAttributesW(zConverted)!=INVALID_FILE_ATTRIBUTES && | |
| 35439 | - (rc = osDeleteFileW(zConverted))==0 && retryIoerr(&cnt, &lastErrno) ){} | |
| 35440 | - rc = rc ? SQLITE_OK : SQLITE_ERROR; | |
| 35473 | + do { | |
| 35474 | + attr = osGetFileAttributesW(zConverted); | |
| 35475 | + if ( attr==INVALID_FILE_ATTRIBUTES ){ | |
| 35476 | + rc = SQLITE_OK; /* Already gone? */ | |
| 35477 | + break; | |
| 35478 | + } | |
| 35479 | + if ( attr&FILE_ATTRIBUTE_DIRECTORY ){ | |
| 35480 | + rc = SQLITE_ERROR; /* Files only. */ | |
| 35481 | + break; | |
| 35482 | + } | |
| 35483 | + if ( osDeleteFileW(zConverted) ){ | |
| 35484 | + rc = SQLITE_OK; /* Deleted OK. */ | |
| 35485 | + break; | |
| 35486 | + } | |
| 35487 | + if ( !retryIoerr(&cnt, &lastErrno) ){ | |
| 35488 | + rc = SQLITE_ERROR; /* No more retries. */ | |
| 35489 | + break; | |
| 35490 | + } | |
| 35491 | + } while(1); | |
| 35441 | 35492 | /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. |
| 35442 | 35493 | ** Since the ANSI version of these Windows API do not exist for WINCE, |
| 35443 | 35494 | ** it's important to not reference them for WINCE builds. |
| 35444 | 35495 | */ |
| 35445 | 35496 | #if SQLITE_OS_WINCE==0 |
| 35446 | 35497 | }else{ |
| 35447 | - rc = 1; | |
| 35448 | - while( osGetFileAttributesA(zConverted)!=INVALID_FILE_ATTRIBUTES && | |
| 35449 | - (rc = osDeleteFileA(zConverted))==0 && retryIoerr(&cnt, &lastErrno) ){} | |
| 35450 | - rc = rc ? SQLITE_OK : SQLITE_ERROR; | |
| 35498 | + do { | |
| 35499 | + attr = osGetFileAttributesA(zConverted); | |
| 35500 | + if ( attr==INVALID_FILE_ATTRIBUTES ){ | |
| 35501 | + rc = SQLITE_OK; /* Already gone? */ | |
| 35502 | + break; | |
| 35503 | + } | |
| 35504 | + if ( attr&FILE_ATTRIBUTE_DIRECTORY ){ | |
| 35505 | + rc = SQLITE_ERROR; /* Files only. */ | |
| 35506 | + break; | |
| 35507 | + } | |
| 35508 | + if ( osDeleteFileA(zConverted) ){ | |
| 35509 | + rc = SQLITE_OK; /* Deleted OK. */ | |
| 35510 | + break; | |
| 35511 | + } | |
| 35512 | + if ( !retryIoerr(&cnt, &lastErrno) ){ | |
| 35513 | + rc = SQLITE_ERROR; /* No more retries. */ | |
| 35514 | + break; | |
| 35515 | + } | |
| 35516 | + } while(1); | |
| 35451 | 35517 | #endif |
| 35452 | 35518 | } |
| 35453 | 35519 | if( rc ){ |
| 35454 | 35520 | rc = winLogError(SQLITE_IOERR_DELETE, lastErrno, |
| 35455 | 35521 | "winDelete", zFilename); |
| @@ -108378,12 +108444,12 @@ | ||
| 108378 | 108444 | #endif |
| 108379 | 108445 | #define sqlite3ParserARG_SDECL Parse *pParse; |
| 108380 | 108446 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 108381 | 108447 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 108382 | 108448 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 108383 | -#define YYNSTATE 627 | |
| 108384 | -#define YYNRULE 325 | |
| 108449 | +#define YYNSTATE 630 | |
| 108450 | +#define YYNRULE 327 | |
| 108385 | 108451 | #define YYFALLBACK 1 |
| 108386 | 108452 | #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) |
| 108387 | 108453 | #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) |
| 108388 | 108454 | #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) |
| 108389 | 108455 | |
| @@ -108449,478 +108515,479 @@ | ||
| 108449 | 108515 | ** shifting terminals. |
| 108450 | 108516 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 108451 | 108517 | ** shifting non-terminals after a reduce. |
| 108452 | 108518 | ** yy_default[] Default action for each state. |
| 108453 | 108519 | */ |
| 108454 | -#define YY_ACTTAB_COUNT (1561) | |
| 108520 | +#define YY_ACTTAB_COUNT (1562) | |
| 108455 | 108521 | static const YYACTIONTYPE yy_action[] = { |
| 108456 | - /* 0 */ 310, 328, 573, 572, 15, 171, 185, 595, 56, 56, | |
| 108522 | + /* 0 */ 312, 330, 575, 574, 15, 171, 186, 597, 56, 56, | |
| 108457 | 108523 | /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, |
| 108458 | - /* 20 */ 52, 52, 51, 233, 52, 52, 52, 51, 233, 624, | |
| 108459 | - /* 30 */ 588, 582, 56, 56, 56, 56, 314, 54, 54, 54, | |
| 108460 | - /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 299, 57, | |
| 108461 | - /* 50 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, | |
| 108462 | - /* 60 */ 56, 56, 569, 54, 54, 54, 54, 53, 53, 52, | |
| 108463 | - /* 70 */ 52, 52, 51, 233, 310, 595, 326, 575, 663, 65, | |
| 108524 | + /* 20 */ 52, 52, 51, 235, 52, 52, 52, 51, 235, 627, | |
| 108525 | + /* 30 */ 590, 584, 56, 56, 56, 56, 316, 54, 54, 54, | |
| 108526 | + /* 40 */ 54, 53, 53, 52, 52, 52, 51, 235, 301, 57, | |
| 108527 | + /* 50 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108528 | + /* 60 */ 56, 56, 571, 54, 54, 54, 54, 53, 53, 52, | |
| 108529 | + /* 70 */ 52, 52, 51, 235, 312, 597, 328, 198, 197, 196, | |
| 108464 | 108530 | /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108465 | - /* 90 */ 51, 233, 53, 53, 52, 52, 52, 51, 233, 489, | |
| 108466 | - /* 100 */ 663, 440, 663, 235, 588, 582, 553, 297, 363, 59, | |
| 108467 | - /* 110 */ 481, 67, 360, 1, 618, 351, 618, 620, 619, 207, | |
| 108468 | - /* 120 */ 6, 441, 442, 57, 58, 48, 580, 579, 581, 581, | |
| 108469 | - /* 130 */ 55, 55, 56, 56, 56, 56, 605, 54, 54, 54, | |
| 108470 | - /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 223, | |
| 108471 | - /* 150 */ 50, 47, 146, 598, 138, 281, 385, 276, 384, 168, | |
| 108472 | - /* 160 */ 489, 552, 620, 619, 620, 619, 272, 214, 440, 411, | |
| 108473 | - /* 170 */ 551, 604, 67, 165, 7, 618, 352, 353, 588, 582, | |
| 108474 | - /* 180 */ 443, 569, 192, 618, 414, 617, 616, 668, 441, 336, | |
| 108475 | - /* 190 */ 669, 62, 618, 599, 92, 382, 346, 57, 58, 48, | |
| 108476 | - /* 200 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, | |
| 108477 | - /* 210 */ 670, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108478 | - /* 220 */ 51, 233, 310, 465, 232, 231, 373, 132, 514, 513, | |
| 108479 | - /* 230 */ 617, 616, 617, 616, 398, 437, 411, 66, 280, 388, | |
| 108480 | - /* 240 */ 411, 595, 439, 220, 438, 620, 619, 337, 569, 279, | |
| 108481 | - /* 250 */ 201, 414, 588, 582, 166, 414, 546, 167, 68, 234, | |
| 108482 | - /* 260 */ 599, 92, 620, 619, 599, 92, 19, 570, 570, 466, | |
| 108483 | - /* 270 */ 564, 57, 58, 48, 580, 579, 581, 581, 55, 55, | |
| 108484 | - /* 280 */ 56, 56, 56, 56, 598, 54, 54, 54, 54, 53, | |
| 108485 | - /* 290 */ 53, 52, 52, 52, 51, 233, 310, 411, 524, 232, | |
| 108486 | - /* 300 */ 231, 398, 593, 547, 559, 398, 348, 202, 175, 595, | |
| 108487 | - /* 310 */ 399, 315, 414, 617, 616, 387, 272, 255, 347, 254, | |
| 108488 | - /* 320 */ 558, 599, 74, 620, 619, 45, 588, 582, 235, 466, | |
| 108489 | - /* 330 */ 617, 616, 511, 591, 591, 591, 557, 578, 402, 545, | |
| 108490 | - /* 340 */ 600, 598, 570, 570, 601, 57, 58, 48, 580, 579, | |
| 108491 | - /* 350 */ 581, 581, 55, 55, 56, 56, 56, 56, 550, 54, | |
| 108492 | - /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | |
| 108493 | - /* 370 */ 310, 309, 411, 145, 566, 490, 213, 255, 347, 254, | |
| 108494 | - /* 380 */ 196, 195, 194, 587, 586, 531, 600, 414, 235, 174, | |
| 108495 | - /* 390 */ 601, 617, 616, 411, 620, 619, 599, 91, 547, 574, | |
| 108496 | - /* 400 */ 588, 582, 50, 47, 146, 584, 583, 471, 414, 249, | |
| 108497 | - /* 410 */ 565, 542, 186, 39, 304, 424, 562, 599, 16, 57, | |
| 108498 | - /* 420 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, | |
| 108499 | - /* 430 */ 56, 56, 585, 54, 54, 54, 54, 53, 53, 52, | |
| 108500 | - /* 440 */ 52, 52, 51, 233, 310, 559, 290, 530, 529, 345, | |
| 108501 | - /* 450 */ 533, 576, 540, 246, 170, 248, 411, 396, 411, 422, | |
| 108502 | - /* 460 */ 199, 558, 617, 616, 165, 563, 50, 47, 146, 181, | |
| 108503 | - /* 470 */ 498, 414, 166, 414, 588, 582, 269, 557, 166, 518, | |
| 108504 | - /* 480 */ 599, 92, 599, 92, 561, 595, 469, 36, 173, 409, | |
| 108505 | - /* 490 */ 517, 577, 577, 57, 58, 48, 580, 579, 581, 581, | |
| 108506 | - /* 500 */ 55, 55, 56, 56, 56, 56, 338, 54, 54, 54, | |
| 108507 | - /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 304, | |
| 108508 | - /* 520 */ 423, 394, 526, 318, 869, 235, 167, 180, 473, 547, | |
| 108509 | - /* 530 */ 503, 247, 474, 381, 378, 377, 409, 351, 577, 577, | |
| 108510 | - /* 540 */ 409, 560, 577, 577, 376, 383, 364, 603, 588, 582, | |
| 108511 | - /* 550 */ 620, 619, 502, 595, 409, 494, 577, 577, 409, 266, | |
| 108512 | - /* 560 */ 577, 577, 421, 943, 422, 943, 198, 57, 58, 48, | |
| 108513 | - /* 570 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, | |
| 108514 | - /* 580 */ 315, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108515 | - /* 590 */ 51, 233, 310, 390, 421, 942, 509, 942, 556, 145, | |
| 108516 | - /* 600 */ 598, 391, 324, 262, 549, 264, 411, 425, 407, 573, | |
| 108517 | - /* 610 */ 572, 12, 197, 143, 489, 50, 47, 146, 617, 616, | |
| 108518 | - /* 620 */ 206, 414, 588, 582, 547, 429, 67, 212, 143, 618, | |
| 108519 | - /* 630 */ 599, 73, 504, 505, 207, 434, 475, 475, 366, 425, | |
| 108520 | - /* 640 */ 35, 57, 58, 48, 580, 579, 581, 581, 55, 55, | |
| 108521 | - /* 650 */ 56, 56, 56, 56, 598, 54, 54, 54, 54, 53, | |
| 108522 | - /* 660 */ 53, 52, 52, 52, 51, 233, 310, 260, 598, 569, | |
| 108523 | - /* 670 */ 268, 615, 614, 613, 171, 411, 595, 11, 411, 350, | |
| 108524 | - /* 680 */ 411, 32, 618, 953, 183, 419, 2, 627, 625, 330, | |
| 108525 | - /* 690 */ 414, 352, 552, 414, 538, 414, 588, 582, 188, 599, | |
| 108526 | - /* 700 */ 69, 551, 599, 94, 599, 97, 374, 544, 166, 618, | |
| 108527 | - /* 710 */ 334, 359, 50, 47, 146, 57, 58, 48, 580, 579, | |
| 108528 | - /* 720 */ 581, 581, 55, 55, 56, 56, 56, 56, 411, 54, | |
| 108529 | - /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | |
| 108530 | - /* 740 */ 310, 411, 129, 414, 595, 22, 273, 156, 411, 566, | |
| 108531 | - /* 750 */ 406, 213, 599, 95, 570, 570, 414, 327, 169, 332, | |
| 108532 | - /* 760 */ 411, 618, 536, 414, 358, 599, 104, 483, 508, 356, | |
| 108533 | - /* 770 */ 588, 582, 599, 103, 484, 414, 470, 357, 166, 618, | |
| 108534 | - /* 780 */ 626, 2, 204, 323, 599, 105, 40, 528, 38, 57, | |
| 108535 | - /* 790 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, | |
| 108536 | - /* 800 */ 56, 56, 411, 54, 54, 54, 54, 53, 53, 52, | |
| 108537 | - /* 810 */ 52, 52, 51, 233, 310, 411, 598, 414, 411, 260, | |
| 108538 | - /* 820 */ 273, 273, 273, 273, 426, 305, 599, 106, 520, 519, | |
| 108539 | - /* 830 */ 414, 411, 142, 414, 618, 618, 618, 618, 618, 599, | |
| 108540 | - /* 840 */ 133, 339, 599, 134, 588, 582, 414, 21, 30, 316, | |
| 108541 | - /* 850 */ 147, 459, 221, 170, 527, 599, 98, 222, 322, 321, | |
| 108542 | - /* 860 */ 320, 141, 259, 57, 58, 48, 580, 579, 581, 581, | |
| 108543 | - /* 870 */ 55, 55, 56, 56, 56, 56, 411, 54, 54, 54, | |
| 108544 | - /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 411, | |
| 108545 | - /* 890 */ 260, 414, 411, 458, 200, 35, 411, 358, 211, 228, | |
| 108546 | - /* 900 */ 599, 102, 468, 519, 414, 618, 28, 414, 538, 501, | |
| 108547 | - /* 910 */ 411, 414, 618, 599, 101, 358, 599, 93, 588, 582, | |
| 108548 | - /* 920 */ 599, 100, 522, 618, 427, 414, 306, 271, 598, 380, | |
| 108549 | - /* 930 */ 618, 602, 598, 452, 599, 77, 210, 57, 58, 48, | |
| 108550 | - /* 940 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, | |
| 108551 | - /* 950 */ 411, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108552 | - /* 960 */ 51, 233, 310, 411, 621, 414, 411, 127, 609, 270, | |
| 108553 | - /* 970 */ 598, 365, 51, 233, 599, 96, 625, 330, 414, 618, | |
| 108554 | - /* 980 */ 126, 414, 411, 618, 411, 253, 608, 599, 137, 27, | |
| 108555 | - /* 990 */ 599, 136, 588, 582, 375, 260, 125, 414, 164, 414, | |
| 108556 | - /* 1000 */ 371, 618, 279, 219, 542, 542, 599, 135, 599, 76, | |
| 108557 | - /* 1010 */ 618, 57, 46, 48, 580, 579, 581, 581, 55, 55, | |
| 108558 | - /* 1020 */ 56, 56, 56, 56, 411, 54, 54, 54, 54, 53, | |
| 108559 | - /* 1030 */ 53, 52, 52, 52, 51, 233, 310, 411, 450, 414, | |
| 108560 | - /* 1040 */ 411, 260, 542, 229, 285, 607, 479, 184, 599, 90, | |
| 108561 | - /* 1050 */ 367, 122, 414, 476, 121, 414, 618, 170, 411, 353, | |
| 108562 | - /* 1060 */ 618, 599, 89, 410, 599, 75, 588, 582, 472, 257, | |
| 108563 | - /* 1070 */ 538, 120, 159, 414, 618, 14, 464, 158, 618, 157, | |
| 108564 | - /* 1080 */ 461, 283, 599, 88, 449, 618, 58, 48, 580, 579, | |
| 108565 | - /* 1090 */ 581, 581, 55, 55, 56, 56, 56, 56, 411, 54, | |
| 108566 | - /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | |
| 108567 | - /* 1110 */ 310, 411, 260, 414, 411, 592, 260, 118, 25, 400, | |
| 108568 | - /* 1120 */ 10, 24, 599, 87, 117, 216, 414, 618, 349, 414, | |
| 108569 | - /* 1130 */ 618, 618, 411, 319, 618, 599, 99, 555, 599, 86, | |
| 108570 | - /* 1140 */ 588, 582, 4, 260, 457, 455, 115, 414, 251, 154, | |
| 108571 | - /* 1150 */ 451, 108, 618, 110, 436, 448, 599, 17, 618, 218, | |
| 108572 | - /* 1160 */ 107, 48, 580, 579, 581, 581, 55, 55, 56, 56, | |
| 108573 | - /* 1170 */ 56, 56, 435, 54, 54, 54, 54, 53, 53, 52, | |
| 108574 | - /* 1180 */ 52, 52, 51, 233, 44, 405, 217, 3, 411, 260, | |
| 108575 | - /* 1190 */ 543, 415, 619, 445, 64, 149, 539, 237, 333, 329, | |
| 108576 | - /* 1200 */ 203, 187, 408, 414, 618, 618, 420, 44, 405, 411, | |
| 108577 | - /* 1210 */ 3, 618, 599, 85, 415, 619, 148, 227, 622, 179, | |
| 108578 | - /* 1220 */ 313, 403, 312, 612, 414, 408, 611, 124, 417, 178, | |
| 108579 | - /* 1230 */ 610, 564, 243, 599, 84, 537, 8, 176, 235, 416, | |
| 108580 | - /* 1240 */ 294, 418, 623, 30, 403, 597, 411, 236, 293, 123, | |
| 108581 | - /* 1250 */ 618, 41, 42, 532, 564, 205, 292, 275, 43, 413, | |
| 108582 | - /* 1260 */ 412, 414, 395, 593, 507, 274, 31, 397, 291, 37, | |
| 108583 | - /* 1270 */ 599, 83, 618, 491, 41, 42, 267, 411, 265, 618, | |
| 108584 | - /* 1280 */ 618, 43, 413, 412, 596, 263, 593, 60, 618, 598, | |
| 108585 | - /* 1290 */ 261, 618, 414, 618, 591, 591, 591, 590, 589, 13, | |
| 108586 | - /* 1300 */ 618, 599, 72, 554, 235, 618, 44, 405, 256, 3, | |
| 108587 | - /* 1310 */ 361, 172, 340, 415, 619, 230, 411, 591, 591, 591, | |
| 108588 | - /* 1320 */ 590, 589, 13, 618, 408, 618, 182, 411, 286, 34, | |
| 108589 | - /* 1330 */ 405, 414, 3, 411, 463, 411, 415, 619, 29, 331, | |
| 108590 | - /* 1340 */ 599, 71, 414, 403, 392, 386, 284, 408, 414, 618, | |
| 108591 | - /* 1350 */ 414, 599, 82, 564, 411, 462, 354, 599, 81, 599, | |
| 108592 | - /* 1360 */ 80, 541, 250, 535, 282, 521, 403, 534, 516, 414, | |
| 108593 | - /* 1370 */ 618, 618, 454, 41, 42, 411, 564, 618, 599, 70, | |
| 108594 | - /* 1380 */ 43, 413, 412, 444, 515, 593, 242, 618, 325, 61, | |
| 108595 | - /* 1390 */ 414, 277, 239, 620, 619, 238, 41, 42, 618, 599, | |
| 108596 | - /* 1400 */ 18, 618, 512, 43, 413, 412, 511, 618, 593, 430, | |
| 108597 | - /* 1410 */ 618, 411, 128, 510, 308, 226, 591, 591, 591, 590, | |
| 108598 | - /* 1420 */ 589, 13, 215, 289, 618, 225, 414, 302, 301, 300, | |
| 108599 | - /* 1430 */ 177, 298, 411, 564, 453, 599, 79, 224, 618, 591, | |
| 108600 | - /* 1440 */ 591, 591, 590, 589, 13, 389, 492, 414, 150, 144, | |
| 108601 | - /* 1450 */ 241, 393, 288, 191, 190, 193, 599, 78, 165, 240, | |
| 108602 | - /* 1460 */ 414, 524, 487, 307, 618, 593, 618, 618, 486, 599, | |
| 108603 | - /* 1470 */ 9, 163, 152, 485, 466, 372, 480, 162, 153, 370, | |
| 108604 | - /* 1480 */ 161, 151, 209, 478, 258, 368, 477, 26, 160, 467, | |
| 108605 | - /* 1490 */ 140, 362, 131, 119, 116, 456, 591, 591, 591, 155, | |
| 108606 | - /* 1500 */ 114, 344, 343, 113, 112, 111, 447, 109, 130, 23, | |
| 108607 | - /* 1510 */ 317, 433, 20, 432, 431, 428, 606, 594, 63, 189, | |
| 108608 | - /* 1520 */ 404, 571, 255, 342, 244, 295, 287, 278, 311, 508, | |
| 108609 | - /* 1530 */ 496, 497, 495, 235, 493, 568, 379, 355, 460, 245, | |
| 108610 | - /* 1540 */ 341, 446, 303, 567, 5, 252, 548, 208, 139, 506, | |
| 108611 | - /* 1550 */ 369, 401, 500, 499, 296, 525, 335, 488, 482, 523, | |
| 108612 | - /* 1560 */ 233, | |
| 108531 | + /* 90 */ 51, 235, 53, 53, 52, 52, 52, 51, 235, 492, | |
| 108532 | + /* 100 */ 597, 441, 66, 237, 590, 584, 597, 299, 365, 59, | |
| 108533 | + /* 110 */ 482, 67, 362, 1, 621, 353, 621, 623, 622, 516, | |
| 108534 | + /* 120 */ 515, 442, 443, 57, 58, 48, 582, 581, 583, 583, | |
| 108535 | + /* 130 */ 55, 55, 56, 56, 56, 56, 608, 54, 54, 54, | |
| 108536 | + /* 140 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 225, | |
| 108537 | + /* 150 */ 618, 617, 616, 176, 138, 283, 386, 278, 385, 168, | |
| 108538 | + /* 160 */ 492, 554, 623, 622, 623, 622, 274, 441, 597, 412, | |
| 108539 | + /* 170 */ 553, 607, 67, 215, 597, 621, 506, 507, 590, 584, | |
| 108540 | + /* 180 */ 444, 571, 621, 391, 415, 620, 619, 442, 338, 623, | |
| 108541 | + /* 190 */ 622, 392, 601, 92, 224, 193, 671, 57, 58, 48, | |
| 108542 | + /* 200 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, | |
| 108543 | + /* 210 */ 672, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108544 | + /* 220 */ 51, 235, 312, 262, 234, 233, 505, 132, 486, 510, | |
| 108545 | + /* 230 */ 620, 619, 620, 619, 399, 438, 487, 566, 621, 389, | |
| 108546 | + /* 240 */ 412, 384, 440, 532, 439, 602, 339, 571, 504, 603, | |
| 108547 | + /* 250 */ 203, 533, 590, 584, 45, 415, 548, 620, 619, 383, | |
| 108548 | + /* 260 */ 380, 379, 6, 601, 92, 526, 261, 572, 572, 595, | |
| 108549 | + /* 270 */ 378, 57, 58, 48, 582, 581, 583, 583, 55, 55, | |
| 108550 | + /* 280 */ 56, 56, 56, 56, 600, 54, 54, 54, 54, 53, | |
| 108551 | + /* 290 */ 53, 52, 52, 52, 51, 235, 312, 466, 326, 561, | |
| 108552 | + /* 300 */ 593, 593, 593, 282, 311, 399, 412, 568, 493, 214, | |
| 108553 | + /* 310 */ 400, 623, 622, 68, 281, 560, 7, 623, 622, 167, | |
| 108554 | + /* 320 */ 577, 415, 65, 408, 575, 574, 590, 584, 673, 601, | |
| 108555 | + /* 330 */ 92, 559, 410, 520, 579, 579, 306, 425, 623, 622, | |
| 108556 | + /* 340 */ 208, 572, 572, 467, 519, 57, 58, 48, 582, 581, | |
| 108557 | + /* 350 */ 583, 583, 55, 55, 56, 56, 56, 56, 576, 54, | |
| 108558 | + /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, | |
| 108559 | + /* 370 */ 312, 399, 412, 317, 600, 412, 350, 549, 578, 620, | |
| 108560 | + /* 380 */ 619, 423, 204, 175, 571, 620, 619, 415, 551, 355, | |
| 108561 | + /* 390 */ 415, 257, 349, 256, 174, 601, 74, 354, 601, 91, | |
| 108562 | + /* 400 */ 590, 584, 237, 467, 621, 547, 620, 619, 164, 623, | |
| 108563 | + /* 410 */ 622, 544, 62, 39, 251, 580, 600, 348, 555, 57, | |
| 108564 | + /* 420 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108565 | + /* 430 */ 56, 56, 565, 54, 54, 54, 54, 53, 53, 52, | |
| 108566 | + /* 440 */ 52, 52, 51, 235, 312, 554, 182, 145, 531, 292, | |
| 108567 | + /* 450 */ 231, 257, 349, 256, 553, 221, 412, 181, 248, 549, | |
| 108568 | + /* 460 */ 250, 412, 237, 50, 47, 146, 412, 410, 412, 579, | |
| 108569 | + /* 470 */ 579, 415, 549, 567, 590, 584, 415, 620, 619, 601, | |
| 108570 | + /* 480 */ 16, 415, 189, 415, 601, 92, 268, 36, 544, 601, | |
| 108571 | + /* 490 */ 92, 601, 73, 57, 58, 48, 582, 581, 583, 583, | |
| 108572 | + /* 500 */ 55, 55, 56, 56, 56, 56, 187, 54, 54, 54, | |
| 108573 | + /* 510 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 564, | |
| 108574 | + /* 520 */ 397, 410, 528, 579, 579, 561, 395, 535, 201, 145, | |
| 108575 | + /* 530 */ 264, 320, 266, 388, 375, 410, 249, 579, 579, 236, | |
| 108576 | + /* 540 */ 40, 560, 38, 50, 47, 146, 19, 606, 590, 584, | |
| 108577 | + /* 550 */ 422, 948, 563, 948, 549, 496, 472, 559, 602, 403, | |
| 108578 | + /* 560 */ 422, 947, 603, 947, 562, 167, 200, 57, 58, 48, | |
| 108579 | + /* 570 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, | |
| 108580 | + /* 580 */ 156, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108581 | + /* 590 */ 51, 235, 312, 262, 412, 426, 511, 208, 347, 492, | |
| 108582 | + /* 600 */ 600, 50, 47, 146, 410, 426, 579, 579, 621, 415, | |
| 108583 | + /* 610 */ 430, 67, 199, 143, 621, 166, 474, 601, 69, 317, | |
| 108584 | + /* 620 */ 475, 435, 590, 584, 274, 234, 233, 958, 184, 420, | |
| 108585 | + /* 630 */ 2, 600, 358, 552, 366, 470, 336, 476, 476, 368, | |
| 108586 | + /* 640 */ 359, 57, 58, 48, 582, 581, 583, 583, 55, 55, | |
| 108587 | + /* 650 */ 56, 56, 56, 56, 354, 54, 54, 54, 54, 53, | |
| 108588 | + /* 660 */ 53, 52, 52, 52, 51, 235, 312, 412, 572, 572, | |
| 108589 | + /* 670 */ 271, 412, 558, 874, 361, 213, 143, 412, 50, 47, | |
| 108590 | + /* 680 */ 146, 30, 415, 540, 355, 334, 415, 412, 629, 2, | |
| 108591 | + /* 690 */ 601, 94, 415, 513, 601, 97, 590, 584, 621, 621, | |
| 108592 | + /* 700 */ 601, 95, 415, 306, 424, 630, 628, 332, 173, 269, | |
| 108593 | + /* 710 */ 601, 104, 171, 546, 597, 57, 58, 48, 582, 581, | |
| 108594 | + /* 720 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, | |
| 108595 | + /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, | |
| 108596 | + /* 740 */ 312, 412, 275, 415, 412, 22, 329, 340, 423, 544, | |
| 108597 | + /* 750 */ 217, 601, 103, 568, 407, 214, 415, 621, 35, 415, | |
| 108598 | + /* 760 */ 412, 540, 412, 12, 601, 105, 237, 601, 106, 11, | |
| 108599 | + /* 770 */ 590, 584, 50, 47, 146, 415, 621, 415, 353, 325, | |
| 108600 | + /* 780 */ 164, 129, 597, 601, 133, 601, 134, 207, 287, 57, | |
| 108601 | + /* 790 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108602 | + /* 800 */ 56, 56, 412, 54, 54, 54, 54, 53, 53, 52, | |
| 108603 | + /* 810 */ 52, 52, 51, 235, 312, 412, 275, 415, 412, 275, | |
| 108604 | + /* 820 */ 275, 600, 275, 544, 367, 601, 98, 542, 412, 170, | |
| 108605 | + /* 830 */ 415, 621, 524, 415, 621, 621, 169, 621, 601, 102, | |
| 108606 | + /* 840 */ 604, 601, 101, 415, 590, 584, 352, 21, 500, 32, | |
| 108607 | + /* 850 */ 166, 601, 93, 223, 318, 147, 324, 323, 272, 322, | |
| 108608 | + /* 860 */ 166, 205, 285, 57, 58, 48, 582, 581, 583, 583, | |
| 108609 | + /* 870 */ 55, 55, 56, 56, 56, 56, 412, 54, 54, 54, | |
| 108610 | + /* 880 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 412, | |
| 108611 | + /* 890 */ 262, 415, 412, 538, 360, 600, 360, 202, 142, 601, | |
| 108612 | + /* 900 */ 100, 376, 412, 166, 415, 621, 540, 415, 360, 621, | |
| 108613 | + /* 910 */ 141, 621, 601, 77, 230, 601, 96, 415, 590, 584, | |
| 108614 | + /* 920 */ 341, 621, 530, 621, 529, 601, 137, 471, 382, 166, | |
| 108615 | + /* 930 */ 460, 600, 170, 453, 427, 307, 28, 57, 58, 48, | |
| 108616 | + /* 940 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, | |
| 108617 | + /* 950 */ 412, 54, 54, 54, 54, 53, 53, 52, 52, 52, | |
| 108618 | + /* 960 */ 51, 235, 312, 412, 503, 415, 412, 212, 459, 321, | |
| 108619 | + /* 970 */ 35, 211, 127, 601, 136, 428, 412, 308, 415, 412, | |
| 108620 | + /* 980 */ 273, 415, 222, 126, 255, 27, 601, 135, 377, 601, | |
| 108621 | + /* 990 */ 76, 415, 590, 584, 415, 262, 220, 51, 235, 601, | |
| 108622 | + /* 1000 */ 90, 600, 601, 89, 125, 600, 281, 522, 521, 373, | |
| 108623 | + /* 1010 */ 621, 57, 46, 48, 582, 581, 583, 583, 55, 55, | |
| 108624 | + /* 1020 */ 56, 56, 56, 56, 412, 54, 54, 54, 54, 53, | |
| 108625 | + /* 1030 */ 53, 52, 52, 52, 51, 235, 312, 412, 451, 415, | |
| 108626 | + /* 1040 */ 165, 624, 612, 611, 469, 521, 480, 601, 75, 185, | |
| 108627 | + /* 1050 */ 412, 122, 415, 412, 369, 412, 621, 621, 621, 477, | |
| 108628 | + /* 1060 */ 601, 88, 589, 588, 170, 415, 590, 584, 415, 121, | |
| 108629 | + /* 1070 */ 415, 473, 259, 601, 87, 159, 601, 99, 601, 86, | |
| 108630 | + /* 1080 */ 628, 332, 120, 14, 586, 585, 58, 48, 582, 581, | |
| 108631 | + /* 1090 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, | |
| 108632 | + /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, | |
| 108633 | + /* 1110 */ 312, 587, 412, 415, 412, 465, 262, 262, 610, 605, | |
| 108634 | + /* 1120 */ 158, 601, 17, 157, 412, 462, 25, 415, 118, 415, | |
| 108635 | + /* 1130 */ 412, 621, 621, 621, 621, 601, 85, 601, 84, 415, | |
| 108636 | + /* 1140 */ 590, 584, 411, 262, 24, 415, 117, 601, 83, 10, | |
| 108637 | + /* 1150 */ 351, 4, 115, 601, 72, 458, 456, 621, 621, 450, | |
| 108638 | + /* 1160 */ 449, 48, 582, 581, 583, 583, 55, 55, 56, 56, | |
| 108639 | + /* 1170 */ 56, 56, 253, 54, 54, 54, 54, 53, 53, 52, | |
| 108640 | + /* 1180 */ 52, 52, 51, 235, 44, 406, 219, 3, 412, 452, | |
| 108641 | + /* 1190 */ 262, 416, 622, 154, 594, 110, 107, 108, 401, 446, | |
| 108642 | + /* 1200 */ 64, 557, 409, 415, 412, 621, 437, 44, 406, 621, | |
| 108643 | + /* 1210 */ 3, 601, 71, 621, 416, 622, 621, 545, 335, 415, | |
| 108644 | + /* 1220 */ 436, 404, 149, 239, 262, 409, 188, 601, 82, 331, | |
| 108645 | + /* 1230 */ 541, 566, 621, 218, 421, 539, 229, 139, 124, 621, | |
| 108646 | + /* 1240 */ 148, 419, 626, 625, 404, 621, 412, 238, 315, 123, | |
| 108647 | + /* 1250 */ 621, 41, 42, 534, 566, 206, 412, 277, 43, 414, | |
| 108648 | + /* 1260 */ 413, 415, 509, 595, 314, 615, 180, 245, 614, 601, | |
| 108649 | + /* 1270 */ 81, 415, 621, 276, 41, 42, 613, 621, 412, 601, | |
| 108650 | + /* 1280 */ 80, 43, 414, 413, 179, 270, 595, 418, 621, 600, | |
| 108651 | + /* 1290 */ 484, 8, 177, 415, 593, 593, 593, 592, 591, 13, | |
| 108652 | + /* 1300 */ 621, 601, 70, 417, 237, 621, 44, 406, 267, 3, | |
| 108653 | + /* 1310 */ 237, 265, 342, 416, 622, 599, 296, 593, 593, 593, | |
| 108654 | + /* 1320 */ 592, 591, 13, 621, 409, 412, 621, 412, 396, 34, | |
| 108655 | + /* 1330 */ 406, 412, 3, 31, 30, 294, 416, 622, 293, 333, | |
| 108656 | + /* 1340 */ 415, 263, 415, 404, 398, 258, 415, 409, 601, 18, | |
| 108657 | + /* 1350 */ 601, 79, 363, 566, 601, 78, 621, 295, 60, 37, | |
| 108658 | + /* 1360 */ 621, 172, 464, 390, 463, 598, 404, 621, 356, 288, | |
| 108659 | + /* 1370 */ 232, 29, 556, 41, 42, 252, 566, 621, 415, 621, | |
| 108660 | + /* 1380 */ 43, 414, 413, 621, 455, 595, 601, 9, 183, 61, | |
| 108661 | + /* 1390 */ 621, 543, 445, 623, 622, 244, 41, 42, 241, 621, | |
| 108662 | + /* 1400 */ 240, 393, 286, 43, 414, 413, 284, 621, 595, 431, | |
| 108663 | + /* 1410 */ 621, 291, 537, 621, 536, 621, 593, 593, 593, 592, | |
| 108664 | + /* 1420 */ 591, 13, 216, 144, 621, 387, 621, 304, 303, 302, | |
| 108665 | + /* 1430 */ 178, 300, 394, 566, 454, 517, 290, 523, 621, 593, | |
| 108666 | + /* 1440 */ 593, 593, 592, 591, 13, 518, 327, 621, 150, 279, | |
| 108667 | + /* 1450 */ 243, 621, 514, 192, 191, 513, 512, 310, 128, 242, | |
| 108668 | + /* 1460 */ 228, 526, 227, 226, 490, 595, 494, 489, 488, 309, | |
| 108669 | + /* 1470 */ 194, 164, 152, 163, 467, 374, 481, 372, 153, 162, | |
| 108670 | + /* 1480 */ 161, 151, 210, 479, 260, 370, 26, 478, 160, 468, | |
| 108671 | + /* 1490 */ 364, 140, 119, 116, 131, 457, 593, 593, 593, 155, | |
| 108672 | + /* 1500 */ 114, 346, 345, 113, 112, 111, 448, 109, 130, 23, | |
| 108673 | + /* 1510 */ 319, 20, 434, 433, 432, 63, 429, 609, 190, 510, | |
| 108674 | + /* 1520 */ 596, 405, 257, 344, 246, 297, 280, 573, 313, 570, | |
| 108675 | + /* 1530 */ 195, 499, 498, 237, 497, 495, 381, 289, 461, 247, | |
| 108676 | + /* 1540 */ 357, 254, 305, 343, 5, 447, 569, 209, 550, 371, | |
| 108677 | + /* 1550 */ 508, 491, 402, 502, 501, 298, 337, 527, 525, 485, | |
| 108678 | + /* 1560 */ 483, 235, | |
| 108613 | 108679 | }; |
| 108614 | 108680 | static const YYCODETYPE yy_lookahead[] = { |
| 108615 | 108681 | /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78, |
| 108616 | 108682 | /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 108617 | 108683 | /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1, |
| 108618 | 108684 | /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84, |
| 108619 | 108685 | /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, |
| 108620 | 108686 | /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108621 | 108687 | /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88, |
| 108622 | - /* 70 */ 89, 90, 91, 92, 19, 94, 19, 23, 1, 25, | |
| 108688 | + /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107, | |
| 108623 | 108689 | /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108624 | 108690 | /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150, |
| 108625 | - /* 100 */ 23, 150, 25, 116, 49, 50, 177, 158, 227, 54, | |
| 108626 | - /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 160, | |
| 108627 | - /* 120 */ 22, 170, 171, 68, 69, 70, 71, 72, 73, 74, | |
| 108691 | + /* 100 */ 26, 150, 22, 116, 49, 50, 26, 158, 227, 54, | |
| 108692 | + /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 7, | |
| 108693 | + /* 120 */ 8, 170, 171, 68, 69, 70, 71, 72, 73, 74, | |
| 108628 | 108694 | /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84, |
| 108629 | 108695 | /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, |
| 108630 | - /* 150 */ 221, 222, 223, 194, 97, 98, 99, 100, 101, 102, | |
| 108631 | - /* 160 */ 150, 32, 26, 27, 26, 27, 109, 22, 150, 150, | |
| 108632 | - /* 170 */ 41, 161, 162, 96, 76, 165, 217, 150, 49, 50, | |
| 108633 | - /* 180 */ 229, 230, 172, 165, 165, 94, 95, 118, 170, 171, | |
| 108634 | - /* 190 */ 118, 232, 165, 174, 175, 185, 237, 68, 69, 70, | |
| 108696 | + /* 150 */ 7, 8, 9, 96, 97, 98, 99, 100, 101, 102, | |
| 108697 | + /* 160 */ 150, 32, 26, 27, 26, 27, 109, 150, 94, 150, | |
| 108698 | + /* 170 */ 41, 161, 162, 22, 94, 165, 97, 98, 49, 50, | |
| 108699 | + /* 180 */ 229, 230, 165, 19, 165, 94, 95, 170, 171, 26, | |
| 108700 | + /* 190 */ 27, 27, 173, 174, 184, 185, 118, 68, 69, 70, | |
| 108635 | 108701 | /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108636 | 108702 | /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108637 | - /* 220 */ 91, 92, 19, 11, 86, 87, 19, 24, 7, 8, | |
| 108638 | - /* 230 */ 94, 95, 94, 95, 215, 97, 150, 22, 98, 220, | |
| 108639 | - /* 240 */ 150, 26, 104, 216, 106, 26, 27, 229, 230, 109, | |
| 108640 | - /* 250 */ 160, 165, 49, 50, 25, 165, 120, 50, 22, 197, | |
| 108641 | - /* 260 */ 174, 175, 26, 27, 174, 175, 204, 129, 130, 57, | |
| 108642 | - /* 270 */ 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
| 108703 | + /* 220 */ 91, 92, 19, 150, 86, 87, 36, 24, 180, 181, | |
| 108704 | + /* 230 */ 94, 95, 94, 95, 215, 97, 188, 66, 165, 220, | |
| 108705 | + /* 240 */ 150, 51, 104, 23, 106, 113, 229, 230, 58, 117, | |
| 108706 | + /* 250 */ 160, 88, 49, 50, 22, 165, 120, 94, 95, 99, | |
| 108707 | + /* 260 */ 100, 101, 22, 173, 174, 94, 193, 129, 130, 98, | |
| 108708 | + /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
| 108643 | 108709 | /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, |
| 108644 | - /* 290 */ 87, 88, 89, 90, 91, 92, 19, 150, 94, 86, | |
| 108645 | - /* 300 */ 87, 215, 98, 25, 12, 215, 220, 160, 118, 94, | |
| 108646 | - /* 310 */ 220, 104, 165, 94, 95, 88, 109, 105, 106, 107, | |
| 108647 | - /* 320 */ 28, 174, 175, 26, 27, 22, 49, 50, 116, 57, | |
| 108648 | - /* 330 */ 94, 95, 103, 129, 130, 131, 44, 113, 46, 120, | |
| 108649 | - /* 340 */ 113, 194, 129, 130, 117, 68, 69, 70, 71, 72, | |
| 108650 | - /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 177, 82, | |
| 108710 | + /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 108, 12, | |
| 108711 | + /* 300 */ 129, 130, 131, 98, 163, 215, 150, 166, 167, 168, | |
| 108712 | + /* 310 */ 220, 26, 27, 22, 109, 28, 76, 26, 27, 50, | |
| 108713 | + /* 320 */ 23, 165, 25, 169, 170, 171, 49, 50, 118, 173, | |
| 108714 | + /* 330 */ 174, 44, 112, 46, 114, 115, 22, 23, 26, 27, | |
| 108715 | + /* 340 */ 160, 129, 130, 57, 57, 68, 69, 70, 71, 72, | |
| 108716 | + /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82, | |
| 108651 | 108717 | /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108652 | - /* 370 */ 19, 163, 150, 95, 166, 167, 168, 105, 106, 107, | |
| 108653 | - /* 380 */ 105, 106, 107, 49, 50, 88, 113, 165, 116, 118, | |
| 108654 | - /* 390 */ 117, 94, 95, 150, 26, 27, 174, 175, 120, 23, | |
| 108655 | - /* 400 */ 49, 50, 221, 222, 223, 71, 72, 21, 165, 16, | |
| 108656 | - /* 410 */ 23, 166, 22, 136, 22, 23, 11, 174, 175, 68, | |
| 108718 | + /* 370 */ 19, 215, 150, 104, 194, 150, 220, 25, 23, 94, | |
| 108719 | + /* 380 */ 95, 67, 160, 118, 230, 94, 95, 165, 25, 150, | |
| 108720 | + /* 390 */ 165, 105, 106, 107, 118, 173, 174, 217, 173, 174, | |
| 108721 | + /* 400 */ 49, 50, 116, 57, 165, 120, 94, 95, 96, 26, | |
| 108722 | + /* 410 */ 27, 166, 232, 136, 16, 113, 194, 237, 176, 68, | |
| 108657 | 108723 | /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108658 | - /* 430 */ 79, 80, 98, 82, 83, 84, 85, 86, 87, 88, | |
| 108659 | - /* 440 */ 89, 90, 91, 92, 19, 12, 224, 23, 23, 63, | |
| 108660 | - /* 450 */ 205, 23, 23, 60, 25, 62, 150, 214, 150, 67, | |
| 108661 | - /* 460 */ 22, 28, 94, 95, 96, 23, 221, 222, 223, 23, | |
| 108662 | - /* 470 */ 23, 165, 25, 165, 49, 50, 23, 44, 25, 46, | |
| 108663 | - /* 480 */ 174, 175, 174, 175, 23, 26, 100, 136, 25, 112, | |
| 108664 | - /* 490 */ 57, 114, 115, 68, 69, 70, 71, 72, 73, 74, | |
| 108665 | - /* 500 */ 75, 76, 77, 78, 79, 80, 97, 82, 83, 84, | |
| 108666 | - /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 22, | |
| 108667 | - /* 520 */ 23, 215, 23, 215, 138, 116, 50, 23, 30, 25, | |
| 108668 | - /* 530 */ 36, 138, 34, 99, 100, 101, 112, 128, 114, 115, | |
| 108669 | - /* 540 */ 112, 23, 114, 115, 110, 51, 48, 173, 49, 50, | |
| 108670 | - /* 550 */ 26, 27, 58, 94, 112, 181, 114, 115, 112, 16, | |
| 108671 | - /* 560 */ 114, 115, 22, 23, 67, 25, 160, 68, 69, 70, | |
| 108724 | + /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, | |
| 108725 | + /* 440 */ 89, 90, 91, 92, 19, 32, 23, 95, 23, 224, | |
| 108726 | + /* 450 */ 205, 105, 106, 107, 41, 216, 150, 23, 60, 25, | |
| 108727 | + /* 460 */ 62, 150, 116, 221, 222, 223, 150, 112, 150, 114, | |
| 108728 | + /* 470 */ 115, 165, 120, 23, 49, 50, 165, 94, 95, 173, | |
| 108729 | + /* 480 */ 174, 165, 119, 165, 173, 174, 16, 136, 166, 173, | |
| 108730 | + /* 490 */ 174, 173, 174, 68, 69, 70, 71, 72, 73, 74, | |
| 108731 | + /* 500 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84, | |
| 108732 | + /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 11, | |
| 108733 | + /* 520 */ 214, 112, 23, 114, 115, 12, 215, 205, 22, 95, | |
| 108734 | + /* 530 */ 60, 215, 62, 88, 19, 112, 138, 114, 115, 197, | |
| 108735 | + /* 540 */ 135, 28, 137, 221, 222, 223, 204, 172, 49, 50, | |
| 108736 | + /* 550 */ 22, 23, 23, 25, 120, 180, 21, 44, 113, 46, | |
| 108737 | + /* 560 */ 22, 23, 117, 25, 23, 50, 160, 68, 69, 70, | |
| 108672 | 108738 | /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108673 | - /* 580 */ 104, 82, 83, 84, 85, 86, 87, 88, 89, 90, | |
| 108674 | - /* 590 */ 91, 92, 19, 19, 22, 23, 23, 25, 23, 95, | |
| 108675 | - /* 600 */ 194, 27, 108, 60, 25, 62, 150, 67, 169, 170, | |
| 108676 | - /* 610 */ 171, 35, 206, 207, 150, 221, 222, 223, 94, 95, | |
| 108677 | - /* 620 */ 160, 165, 49, 50, 120, 161, 162, 206, 207, 165, | |
| 108678 | - /* 630 */ 174, 175, 97, 98, 160, 241, 105, 106, 107, 67, | |
| 108679 | - /* 640 */ 25, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
| 108680 | - /* 650 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, | |
| 108681 | - /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 194, 230, | |
| 108682 | - /* 670 */ 23, 7, 8, 9, 24, 150, 26, 35, 150, 219, | |
| 108683 | - /* 680 */ 150, 25, 165, 142, 143, 144, 145, 0, 1, 2, | |
| 108684 | - /* 690 */ 165, 217, 32, 165, 150, 165, 49, 50, 119, 174, | |
| 108685 | - /* 700 */ 175, 41, 174, 175, 174, 175, 23, 120, 25, 165, | |
| 108686 | - /* 710 */ 193, 237, 221, 222, 223, 68, 69, 70, 71, 72, | |
| 108739 | + /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, | |
| 108740 | + /* 590 */ 91, 92, 19, 150, 150, 67, 23, 160, 63, 150, | |
| 108741 | + /* 600 */ 194, 221, 222, 223, 112, 67, 114, 115, 165, 165, | |
| 108742 | + /* 610 */ 161, 162, 206, 207, 165, 25, 30, 173, 174, 104, | |
| 108743 | + /* 620 */ 34, 241, 49, 50, 109, 86, 87, 142, 143, 144, | |
| 108744 | + /* 630 */ 145, 194, 19, 176, 48, 100, 193, 105, 106, 107, | |
| 108745 | + /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
| 108746 | + /* 650 */ 77, 78, 79, 80, 217, 82, 83, 84, 85, 86, | |
| 108747 | + /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 129, 130, | |
| 108748 | + /* 670 */ 23, 150, 23, 138, 237, 206, 207, 150, 221, 222, | |
| 108749 | + /* 680 */ 223, 126, 165, 150, 150, 242, 165, 150, 144, 145, | |
| 108750 | + /* 690 */ 173, 174, 165, 103, 173, 174, 49, 50, 165, 165, | |
| 108751 | + /* 700 */ 173, 174, 165, 22, 23, 0, 1, 2, 25, 25, | |
| 108752 | + /* 710 */ 173, 174, 24, 120, 26, 68, 69, 70, 71, 72, | |
| 108687 | 108753 | /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108688 | 108754 | /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108689 | - /* 740 */ 19, 150, 22, 165, 94, 24, 150, 25, 150, 166, | |
| 108690 | - /* 750 */ 167, 168, 174, 175, 129, 130, 165, 213, 35, 242, | |
| 108691 | - /* 760 */ 150, 165, 27, 165, 150, 174, 175, 181, 182, 19, | |
| 108692 | - /* 770 */ 49, 50, 174, 175, 188, 165, 23, 27, 25, 165, | |
| 108693 | - /* 780 */ 144, 145, 160, 187, 174, 175, 135, 23, 137, 68, | |
| 108755 | + /* 740 */ 19, 150, 150, 165, 150, 24, 213, 97, 67, 166, | |
| 108756 | + /* 750 */ 216, 173, 174, 166, 167, 168, 165, 165, 25, 165, | |
| 108757 | + /* 760 */ 150, 150, 150, 35, 173, 174, 116, 173, 174, 35, | |
| 108758 | + /* 770 */ 49, 50, 221, 222, 223, 165, 165, 165, 128, 187, | |
| 108759 | + /* 780 */ 96, 22, 94, 173, 174, 173, 174, 160, 205, 68, | |
| 108694 | 108760 | /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108695 | 108761 | /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, |
| 108696 | - /* 810 */ 89, 90, 91, 92, 19, 150, 194, 165, 150, 150, | |
| 108697 | - /* 820 */ 150, 150, 150, 150, 247, 248, 174, 175, 190, 191, | |
| 108698 | - /* 830 */ 165, 150, 118, 165, 165, 165, 165, 165, 165, 174, | |
| 108699 | - /* 840 */ 175, 219, 174, 175, 49, 50, 165, 52, 126, 245, | |
| 108700 | - /* 850 */ 246, 23, 238, 25, 23, 174, 175, 187, 187, 187, | |
| 108701 | - /* 860 */ 187, 39, 193, 68, 69, 70, 71, 72, 73, 74, | |
| 108762 | + /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 150, 150, | |
| 108763 | + /* 820 */ 150, 194, 150, 166, 213, 173, 174, 23, 150, 25, | |
| 108764 | + /* 830 */ 165, 165, 165, 165, 165, 165, 35, 165, 173, 174, | |
| 108765 | + /* 840 */ 173, 173, 174, 165, 49, 50, 219, 52, 23, 25, | |
| 108766 | + /* 850 */ 25, 173, 174, 187, 245, 246, 187, 187, 23, 187, | |
| 108767 | + /* 860 */ 25, 160, 205, 68, 69, 70, 71, 72, 73, 74, | |
| 108702 | 108768 | /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, |
| 108703 | 108769 | /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, |
| 108704 | - /* 890 */ 150, 165, 150, 23, 160, 25, 150, 150, 160, 52, | |
| 108705 | - /* 900 */ 174, 175, 190, 191, 165, 165, 22, 165, 150, 29, | |
| 108706 | - /* 910 */ 150, 165, 165, 174, 175, 150, 174, 175, 49, 50, | |
| 108707 | - /* 920 */ 174, 175, 165, 165, 23, 165, 25, 25, 194, 52, | |
| 108708 | - /* 930 */ 165, 174, 194, 193, 174, 175, 160, 68, 69, 70, | |
| 108770 | + /* 890 */ 150, 165, 150, 27, 150, 194, 150, 160, 118, 173, | |
| 108771 | + /* 900 */ 174, 23, 150, 25, 165, 165, 150, 165, 150, 165, | |
| 108772 | + /* 910 */ 39, 165, 173, 174, 52, 173, 174, 165, 49, 50, | |
| 108773 | + /* 920 */ 219, 165, 23, 165, 23, 173, 174, 23, 52, 25, | |
| 108774 | + /* 930 */ 23, 194, 25, 193, 247, 248, 22, 68, 69, 70, | |
| 108709 | 108775 | /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108710 | 108776 | /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108711 | - /* 960 */ 91, 92, 19, 150, 150, 165, 150, 22, 150, 23, | |
| 108712 | - /* 970 */ 194, 213, 91, 92, 174, 175, 1, 2, 165, 165, | |
| 108713 | - /* 980 */ 22, 165, 150, 165, 150, 238, 150, 174, 175, 22, | |
| 108714 | - /* 990 */ 174, 175, 49, 50, 52, 150, 22, 165, 102, 165, | |
| 108715 | - /* 1000 */ 19, 165, 109, 238, 166, 166, 174, 175, 174, 175, | |
| 108777 | + /* 960 */ 91, 92, 19, 150, 29, 165, 150, 160, 23, 213, | |
| 108778 | + /* 970 */ 25, 160, 22, 173, 174, 23, 150, 25, 165, 150, | |
| 108779 | + /* 980 */ 23, 165, 238, 22, 238, 22, 173, 174, 52, 173, | |
| 108780 | + /* 990 */ 174, 165, 49, 50, 165, 150, 238, 91, 92, 173, | |
| 108781 | + /* 1000 */ 174, 194, 173, 174, 22, 194, 109, 190, 191, 19, | |
| 108716 | 108782 | /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108717 | 108783 | /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, |
| 108718 | 108784 | /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, |
| 108719 | - /* 1040 */ 150, 150, 166, 205, 205, 150, 20, 24, 174, 175, | |
| 108720 | - /* 1050 */ 43, 104, 165, 59, 53, 165, 165, 25, 150, 150, | |
| 108721 | - /* 1060 */ 165, 174, 175, 150, 174, 175, 49, 50, 53, 138, | |
| 108722 | - /* 1070 */ 150, 22, 104, 165, 165, 5, 1, 118, 165, 35, | |
| 108723 | - /* 1080 */ 27, 205, 174, 175, 193, 165, 69, 70, 71, 72, | |
| 108785 | + /* 1040 */ 102, 150, 150, 150, 190, 191, 20, 173, 174, 24, | |
| 108786 | + /* 1050 */ 150, 104, 165, 150, 43, 150, 165, 165, 165, 59, | |
| 108787 | + /* 1060 */ 173, 174, 49, 50, 25, 165, 49, 50, 165, 53, | |
| 108788 | + /* 1070 */ 165, 53, 138, 173, 174, 104, 173, 174, 173, 174, | |
| 108789 | + /* 1080 */ 1, 2, 22, 5, 71, 72, 69, 70, 71, 72, | |
| 108724 | 108790 | /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108725 | 108791 | /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108726 | - /* 1110 */ 19, 150, 150, 165, 150, 150, 150, 108, 76, 150, | |
| 108727 | - /* 1120 */ 22, 76, 174, 175, 127, 216, 165, 165, 25, 165, | |
| 108728 | - /* 1130 */ 165, 165, 150, 213, 165, 174, 175, 150, 174, 175, | |
| 108729 | - /* 1140 */ 49, 50, 22, 150, 23, 1, 119, 165, 16, 121, | |
| 108730 | - /* 1150 */ 20, 108, 165, 119, 23, 193, 174, 175, 165, 193, | |
| 108731 | - /* 1160 */ 127, 70, 71, 72, 73, 74, 75, 76, 77, 78, | |
| 108732 | - /* 1170 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, | |
| 108733 | - /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 150, | |
| 108734 | - /* 1190 */ 150, 26, 27, 128, 16, 15, 150, 140, 65, 3, | |
| 108735 | - /* 1200 */ 164, 22, 37, 165, 165, 165, 4, 19, 20, 150, | |
| 108736 | - /* 1210 */ 22, 165, 174, 175, 26, 27, 246, 180, 149, 6, | |
| 108737 | - /* 1220 */ 249, 56, 249, 149, 165, 37, 149, 180, 149, 151, | |
| 108738 | - /* 1230 */ 13, 66, 193, 174, 175, 150, 25, 151, 116, 159, | |
| 108739 | - /* 1240 */ 199, 146, 147, 126, 56, 194, 150, 152, 200, 154, | |
| 108740 | - /* 1250 */ 165, 86, 87, 88, 66, 160, 201, 150, 93, 94, | |
| 108741 | - /* 1260 */ 95, 165, 123, 98, 150, 150, 124, 122, 202, 135, | |
| 108742 | - /* 1270 */ 174, 175, 165, 150, 86, 87, 150, 150, 150, 165, | |
| 108743 | - /* 1280 */ 165, 93, 94, 95, 203, 150, 98, 125, 165, 194, | |
| 108744 | - /* 1290 */ 150, 165, 165, 165, 129, 130, 131, 132, 133, 134, | |
| 108745 | - /* 1300 */ 165, 174, 175, 157, 116, 165, 19, 20, 150, 22, | |
| 108746 | - /* 1310 */ 150, 118, 217, 26, 27, 225, 150, 129, 130, 131, | |
| 108747 | - /* 1320 */ 132, 133, 134, 165, 37, 165, 157, 150, 210, 19, | |
| 108748 | - /* 1330 */ 20, 165, 22, 150, 150, 150, 26, 27, 104, 244, | |
| 108749 | - /* 1340 */ 174, 175, 165, 56, 121, 104, 210, 37, 165, 165, | |
| 108750 | - /* 1350 */ 165, 174, 175, 66, 150, 150, 150, 174, 175, 174, | |
| 108751 | - /* 1360 */ 175, 211, 150, 211, 210, 176, 56, 211, 176, 165, | |
| 108752 | - /* 1370 */ 165, 165, 150, 86, 87, 150, 66, 165, 174, 175, | |
| 108753 | - /* 1380 */ 93, 94, 95, 150, 184, 98, 150, 165, 47, 22, | |
| 108754 | - /* 1390 */ 165, 176, 150, 26, 27, 150, 86, 87, 165, 174, | |
| 108755 | - /* 1400 */ 175, 165, 178, 93, 94, 95, 103, 165, 98, 150, | |
| 108756 | - /* 1410 */ 165, 150, 22, 176, 179, 228, 129, 130, 131, 132, | |
| 108757 | - /* 1420 */ 133, 134, 5, 150, 165, 92, 165, 10, 11, 12, | |
| 108758 | - /* 1430 */ 13, 14, 150, 66, 17, 174, 175, 228, 165, 129, | |
| 108759 | - /* 1440 */ 130, 131, 132, 133, 134, 150, 184, 165, 31, 150, | |
| 108760 | - /* 1450 */ 33, 150, 150, 86, 87, 172, 174, 175, 96, 42, | |
| 108761 | - /* 1460 */ 165, 94, 176, 179, 165, 98, 165, 165, 176, 174, | |
| 108762 | - /* 1470 */ 175, 156, 55, 176, 57, 18, 157, 156, 61, 157, | |
| 108763 | - /* 1480 */ 156, 64, 157, 157, 235, 45, 236, 135, 156, 189, | |
| 108764 | - /* 1490 */ 68, 157, 218, 189, 22, 199, 129, 130, 131, 156, | |
| 108792 | + /* 1110 */ 19, 98, 150, 165, 150, 1, 150, 150, 150, 150, | |
| 108793 | + /* 1120 */ 118, 173, 174, 35, 150, 27, 76, 165, 108, 165, | |
| 108794 | + /* 1130 */ 150, 165, 165, 165, 165, 173, 174, 173, 174, 165, | |
| 108795 | + /* 1140 */ 49, 50, 150, 150, 76, 165, 127, 173, 174, 22, | |
| 108796 | + /* 1150 */ 25, 22, 119, 173, 174, 23, 1, 165, 165, 193, | |
| 108797 | + /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78, | |
| 108798 | + /* 1170 */ 79, 80, 16, 82, 83, 84, 85, 86, 87, 88, | |
| 108799 | + /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 20, | |
| 108800 | + /* 1190 */ 150, 26, 27, 121, 150, 119, 127, 108, 150, 128, | |
| 108801 | + /* 1200 */ 16, 150, 37, 165, 150, 165, 23, 19, 20, 165, | |
| 108802 | + /* 1210 */ 22, 173, 174, 165, 26, 27, 165, 150, 65, 165, | |
| 108803 | + /* 1220 */ 23, 56, 15, 140, 150, 37, 22, 173, 174, 3, | |
| 108804 | + /* 1230 */ 150, 66, 165, 193, 4, 150, 179, 164, 179, 165, | |
| 108805 | + /* 1240 */ 246, 146, 147, 149, 56, 165, 150, 152, 249, 154, | |
| 108806 | + /* 1250 */ 165, 86, 87, 88, 66, 160, 150, 150, 93, 94, | |
| 108807 | + /* 1260 */ 95, 165, 150, 98, 249, 149, 6, 193, 149, 173, | |
| 108808 | + /* 1270 */ 174, 165, 165, 150, 86, 87, 13, 165, 150, 173, | |
| 108809 | + /* 1280 */ 174, 93, 94, 95, 151, 150, 98, 149, 165, 194, | |
| 108810 | + /* 1290 */ 150, 25, 151, 165, 129, 130, 131, 132, 133, 134, | |
| 108811 | + /* 1300 */ 165, 173, 174, 159, 116, 165, 19, 20, 150, 22, | |
| 108812 | + /* 1310 */ 116, 150, 217, 26, 27, 194, 199, 129, 130, 131, | |
| 108813 | + /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 123, 19, | |
| 108814 | + /* 1330 */ 20, 150, 22, 124, 126, 201, 26, 27, 202, 244, | |
| 108815 | + /* 1340 */ 165, 150, 165, 56, 122, 150, 165, 37, 173, 174, | |
| 108816 | + /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 200, 125, 135, | |
| 108817 | + /* 1360 */ 165, 118, 150, 150, 150, 203, 56, 165, 150, 210, | |
| 108818 | + /* 1370 */ 225, 104, 157, 86, 87, 150, 66, 165, 165, 165, | |
| 108819 | + /* 1380 */ 93, 94, 95, 165, 150, 98, 173, 174, 157, 22, | |
| 108820 | + /* 1390 */ 165, 211, 150, 26, 27, 150, 86, 87, 150, 165, | |
| 108821 | + /* 1400 */ 150, 121, 210, 93, 94, 95, 210, 165, 98, 150, | |
| 108822 | + /* 1410 */ 165, 150, 211, 165, 211, 165, 129, 130, 131, 132, | |
| 108823 | + /* 1420 */ 133, 134, 5, 150, 165, 104, 165, 10, 11, 12, | |
| 108824 | + /* 1430 */ 13, 14, 150, 66, 17, 183, 150, 175, 165, 129, | |
| 108825 | + /* 1440 */ 130, 131, 132, 133, 134, 175, 47, 165, 31, 175, | |
| 108826 | + /* 1450 */ 33, 165, 177, 86, 87, 103, 175, 178, 22, 42, | |
| 108827 | + /* 1460 */ 228, 94, 92, 228, 175, 98, 183, 175, 175, 178, | |
| 108828 | + /* 1470 */ 185, 96, 55, 156, 57, 18, 157, 157, 61, 156, | |
| 108829 | + /* 1480 */ 156, 64, 157, 157, 235, 45, 135, 236, 156, 189, | |
| 108830 | + /* 1490 */ 157, 68, 189, 22, 218, 199, 129, 130, 131, 156, | |
| 108765 | 108831 | /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240, |
| 108766 | - /* 1510 */ 157, 40, 240, 157, 157, 38, 153, 166, 243, 196, | |
| 108767 | - /* 1520 */ 226, 230, 105, 106, 107, 198, 209, 177, 111, 182, | |
| 108768 | - /* 1530 */ 166, 177, 177, 116, 166, 230, 178, 239, 199, 209, | |
| 108769 | - /* 1540 */ 209, 199, 148, 166, 196, 239, 208, 233, 172, 183, | |
| 108770 | - /* 1550 */ 234, 191, 183, 183, 195, 174, 139, 186, 186, 174, | |
| 108771 | - /* 1560 */ 92, | |
| 108832 | + /* 1510 */ 157, 240, 40, 157, 157, 243, 38, 153, 196, 181, | |
| 108833 | + /* 1520 */ 166, 226, 105, 106, 107, 198, 176, 230, 111, 230, | |
| 108834 | + /* 1530 */ 185, 176, 166, 116, 176, 166, 177, 209, 199, 209, | |
| 108835 | + /* 1540 */ 239, 239, 148, 209, 196, 199, 166, 233, 208, 234, | |
| 108836 | + /* 1550 */ 182, 186, 191, 182, 182, 195, 139, 173, 173, 186, | |
| 108837 | + /* 1560 */ 186, 92, | |
| 108772 | 108838 | }; |
| 108773 | 108839 | #define YY_SHIFT_USE_DFLT (-70) |
| 108774 | -#define YY_SHIFT_COUNT (418) | |
| 108840 | +#define YY_SHIFT_COUNT (419) | |
| 108775 | 108841 | #define YY_SHIFT_MIN (-69) |
| 108776 | 108842 | #define YY_SHIFT_MAX (1484) |
| 108777 | 108843 | static const short yy_shift_ofst[] = { |
| 108778 | - /* 0 */ 975, 1188, 1417, 1188, 1287, 1287, 138, 138, 368, -19, | |
| 108779 | - /* 10 */ 1287, 1287, 1287, 1287, 272, 524, 129, 129, 795, 1165, | |
| 108844 | + /* 0 */ 1079, 1188, 1417, 1188, 1287, 1287, 138, 138, 312, -19, | |
| 108845 | + /* 10 */ 1287, 1287, 1287, 1287, 346, 383, 129, 129, 795, 1165, | |
| 108780 | 108846 | /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108781 | 108847 | /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108782 | 108848 | /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, |
| 108783 | 108849 | /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108784 | - /* 60 */ 1287, 1287, 212, 524, 524, 213, 213, 459, 1122, 55, | |
| 108850 | + /* 60 */ 1287, 1287, 286, 383, 383, 539, 539, 74, 1194, 55, | |
| 108785 | 108851 | /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, |
| 108786 | 108852 | /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, |
| 108787 | 108853 | /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, |
| 108788 | - /* 100 */ -45, -45, -45, -45, -1, 6, -64, 524, 524, 524, | |
| 108789 | - /* 110 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | |
| 108790 | - /* 120 */ 524, 524, 524, 386, 207, 524, 524, 524, 524, 524, | |
| 108791 | - /* 130 */ 409, -13, 459, 881, 1468, -70, -70, -70, 1367, 57, | |
| 108792 | - /* 140 */ 433, 433, 297, 236, 219, 136, 91, 572, 540, 524, | |
| 108793 | - /* 150 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | |
| 108794 | - /* 160 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | |
| 108795 | - /* 170 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | |
| 108796 | - /* 180 */ 650, 650, 650, 687, 1122, 1122, 1122, -70, -70, -70, | |
| 108797 | - /* 190 */ 204, 204, 434, 434, 494, 494, 494, 504, 446, 292, | |
| 108798 | - /* 200 */ 442, 428, 424, 77, 377, 377, 377, 377, 531, 498, | |
| 108799 | - /* 210 */ 377, 377, 278, 215, 227, 664, 722, 574, 574, 750, | |
| 108800 | - /* 220 */ 722, 750, 229, 459, 660, 459, 660, 476, 660, 574, | |
| 108801 | - /* 230 */ 651, 625, 625, 459, 579, 273, -18, 1477, 1193, 1193, | |
| 108802 | - /* 240 */ 1471, 1471, 1193, 1472, 1422, 1117, 1484, 1484, 1484, 1484, | |
| 108803 | - /* 250 */ 1193, 1457, 1117, 1472, 1422, 1422, 1193, 1457, 1352, 1440, | |
| 108804 | - /* 260 */ 1193, 1193, 1457, 1193, 1457, 1193, 1457, 1390, 1241, 1241, | |
| 108805 | - /* 270 */ 1241, 1362, 1341, 1333, 1333, 1390, 1241, 1303, 1241, 1341, | |
| 108806 | - /* 280 */ 1241, 1241, 1223, 1234, 1223, 1234, 1223, 1234, 1193, 1193, | |
| 108807 | - /* 290 */ 1134, 1162, 1145, 1142, 1139, 1117, 1122, 1211, 1217, 1217, | |
| 108808 | - /* 300 */ 1213, 1213, 1213, 1213, -70, -70, -70, -70, -70, -70, | |
| 108809 | - /* 310 */ 334, 393, 497, 392, 543, 275, 901, 98, 870, 828, | |
| 108810 | - /* 320 */ 753, 683, 453, 447, 535, 221, 140, 429, 54, 1202, | |
| 108811 | - /* 330 */ 1196, 1179, 1057, 1180, 1133, 1178, 1149, 1131, 1065, 1103, | |
| 108812 | - /* 340 */ 1033, 1043, 1034, 1130, 1028, 1132, 1144, 1027, 1121, 1120, | |
| 108813 | - /* 350 */ 1103, 1098, 997, 1045, 1042, 1009, 1053, 1044, 959, 1075, | |
| 108814 | - /* 360 */ 1070, 1049, 968, 931, 1015, 1032, 1001, 994, 1007, 947, | |
| 108815 | - /* 370 */ 1023, 1026, 981, 893, 896, 974, 942, 967, 958, 946, | |
| 108816 | - /* 380 */ 945, 877, 902, 880, 884, 847, 822, 831, 764, 714, | |
| 108817 | - /* 390 */ 735, 723, 720, 587, 615, 642, 656, 576, 615, 575, | |
| 108818 | - /* 400 */ 518, 463, 461, 438, 405, 390, 387, 376, 303, 224, | |
| 108819 | - /* 410 */ 271, 190, 92, 72, 69, 145, 113, 33, 28, | |
| 108854 | + /* 100 */ -45, -45, -45, -45, -1, 6, -64, 383, 383, 383, | |
| 108855 | + /* 110 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108856 | + /* 120 */ 383, 383, 383, 535, 515, 383, 383, 383, 383, 383, | |
| 108857 | + /* 130 */ 650, -13, 74, 906, 1469, -70, -70, -70, 1367, 57, | |
| 108858 | + /* 140 */ 287, 287, 163, 291, 285, 136, 91, 538, 528, 383, | |
| 108859 | + /* 150 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108860 | + /* 160 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108861 | + /* 170 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, | |
| 108862 | + /* 180 */ 383, 688, 688, 688, 705, 1194, 1194, 1194, -70, -70, | |
| 108863 | + /* 190 */ -70, 171, 171, 160, 160, 160, 190, 190, 190, 434, | |
| 108864 | + /* 200 */ 423, 513, 409, 355, 220, 492, 492, 492, 492, 532, | |
| 108865 | + /* 210 */ 586, 492, 492, 352, 80, 445, 143, 555, 164, 164, | |
| 108866 | + /* 220 */ 613, 555, 613, 590, 684, 74, 413, 74, 413, 269, | |
| 108867 | + /* 230 */ 413, 164, 405, 212, 212, 74, 363, 132, -18, 1478, | |
| 108868 | + /* 240 */ 1243, 1243, 1472, 1472, 1243, 1471, 1423, 1208, 1484, 1484, | |
| 108869 | + /* 250 */ 1484, 1484, 1243, 1457, 1208, 1471, 1423, 1423, 1243, 1457, | |
| 108870 | + /* 260 */ 1351, 1440, 1243, 1243, 1457, 1243, 1457, 1243, 1457, 1375, | |
| 108871 | + /* 270 */ 1436, 1321, 1321, 1321, 1399, 1370, 1370, 1436, 1321, 1352, | |
| 108872 | + /* 280 */ 1321, 1399, 1321, 1321, 1280, 1267, 1280, 1267, 1280, 1267, | |
| 108873 | + /* 290 */ 1243, 1243, 1224, 1233, 1222, 1209, 1205, 1208, 1194, 1266, | |
| 108874 | + /* 300 */ 1263, 1263, 1260, 1260, 1260, 1260, -70, -70, -70, -70, | |
| 108875 | + /* 310 */ -70, -70, 1013, 398, 681, 314, 470, -28, 952, 240, | |
| 108876 | + /* 320 */ 945, 907, 904, 878, 835, 825, 79, 112, 205, 804, | |
| 108877 | + /* 330 */ 297, 1230, 1226, 1204, 1083, 1207, 1153, 1184, 1197, 1183, | |
| 108878 | + /* 340 */ 1071, 1125, 1069, 1089, 1076, 1169, 1072, 1156, 1155, 1033, | |
| 108879 | + /* 350 */ 1132, 1129, 1125, 1127, 1019, 1068, 1050, 1020, 1098, 1088, | |
| 108880 | + /* 360 */ 1002, 1114, 1078, 1060, 971, 934, 1018, 1039, 1016, 1000, | |
| 108881 | + /* 370 */ 1011, 947, 1025, 1026, 990, 897, 938, 982, 936, 963, | |
| 108882 | + /* 380 */ 961, 957, 950, 876, 935, 914, 862, 871, 901, 899, | |
| 108883 | + /* 390 */ 780, 866, 801, 759, 593, 733, 734, 824, 728, 733, | |
| 108884 | + /* 400 */ 649, 541, 683, 529, 506, 508, 484, 450, 335, 232, | |
| 108885 | + /* 410 */ 302, 276, 265, 210, 92, 78, 151, 113, 33, 28, | |
| 108820 | 108886 | }; |
| 108821 | 108887 | #define YY_REDUCE_USE_DFLT (-169) |
| 108822 | -#define YY_REDUCE_COUNT (309) | |
| 108888 | +#define YY_REDUCE_COUNT (311) | |
| 108823 | 108889 | #define YY_REDUCE_MIN (-168) |
| 108824 | 108890 | #define YY_REDUCE_MAX (1394) |
| 108825 | 108891 | static const short yy_reduce_ofst[] = { |
| 108826 | - /* 0 */ 541, 90, 1095, 147, 86, 19, 18, -49, 10, 245, | |
| 108827 | - /* 10 */ 308, 306, 243, 222, -41, -51, 181, -71, 394, 1295, | |
| 108828 | - /* 20 */ 1282, 1261, 1225, 1204, 1185, 1183, 1177, 1166, 1127, 1096, | |
| 108829 | - /* 30 */ 1059, 1038, 982, 964, 961, 948, 908, 890, 887, 874, | |
| 108830 | - /* 40 */ 834, 832, 816, 813, 800, 760, 746, 742, 739, 726, | |
| 108831 | - /* 50 */ 681, 668, 665, 652, 610, 598, 591, 578, 530, 528, | |
| 108832 | - /* 60 */ 525, 456, 474, 464, 517, 439, -168, 208, 406, 491, | |
| 108833 | - /* 70 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, | |
| 108834 | - /* 80 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, | |
| 108835 | - /* 90 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, | |
| 108836 | - /* 100 */ 491, 491, 491, 491, 491, 491, 491, 1039, 909, 993, | |
| 108837 | - /* 110 */ 966, 962, 891, 845, 740, 765, 920, 747, 27, 614, | |
| 108838 | - /* 120 */ 673, 758, 669, -119, 586, 672, 671, 670, 596, 544, | |
| 108839 | - /* 130 */ 622, 460, 583, 491, 491, 491, 491, 491, 757, 374, | |
| 108840 | - /* 140 */ 712, 638, 913, 1302, 1301, 1299, 1273, 577, 577, 1259, | |
| 108841 | - /* 150 */ 1245, 1242, 1236, 1233, 1222, 1212, 1206, 1205, 1184, 1160, | |
| 108842 | - /* 160 */ 1158, 1140, 1135, 1128, 1126, 1123, 1115, 1114, 1107, 1085, | |
| 108843 | - /* 170 */ 1046, 1040, 987, 969, 965, 913, 895, 836, 818, 814, | |
| 108844 | - /* 180 */ 876, 839, 838, 636, 776, 738, 734, 604, 421, 62, | |
| 108845 | - /* 190 */ 1385, 1381, 1372, 1371, 1370, 1369, 1366, 1338, 1359, 1360, | |
| 108846 | - /* 200 */ 1359, 1359, 1359, 1376, 1359, 1359, 1359, 1359, 1316, 1314, | |
| 108847 | - /* 210 */ 1359, 1359, 1338, 1377, 1348, 1394, 1342, 1331, 1330, 1306, | |
| 108848 | - /* 220 */ 1339, 1298, 1358, 1368, 1355, 1364, 1354, 1347, 1350, 1317, | |
| 108849 | - /* 230 */ 1294, 1305, 1291, 1351, 1327, 1323, 1363, 1275, 1357, 1356, | |
| 108850 | - /* 240 */ 1272, 1269, 1353, 1290, 1318, 1307, 1313, 1312, 1311, 1308, | |
| 108851 | - /* 250 */ 1344, 1343, 1296, 1274, 1304, 1300, 1334, 1332, 1250, 1249, | |
| 108852 | - /* 260 */ 1326, 1325, 1324, 1322, 1321, 1319, 1315, 1284, 1297, 1292, | |
| 108853 | - /* 270 */ 1286, 1283, 1262, 1209, 1187, 1235, 1237, 1224, 1215, 1200, | |
| 108854 | - /* 280 */ 1192, 1189, 1156, 1154, 1152, 1136, 1150, 1118, 1169, 1146, | |
| 108855 | - /* 290 */ 1090, 1081, 1066, 1055, 1048, 1041, 1051, 1080, 1086, 1078, | |
| 108856 | - /* 300 */ 1079, 1077, 1074, 1069, 973, 971, 970, 1047, 1037, 1036, | |
| 108892 | + /* 0 */ 485, 90, 1095, 222, 156, 19, 17, -49, 10, 322, | |
| 108893 | + /* 10 */ 316, 311, 306, 225, 180, -51, 457, 242, 380, 1213, | |
| 108894 | + /* 20 */ 1181, 1177, 1175, 1128, 1106, 1096, 1054, 1038, 980, 974, | |
| 108895 | + /* 30 */ 964, 962, 948, 905, 903, 900, 887, 874, 829, 826, | |
| 108896 | + /* 40 */ 816, 813, 800, 752, 742, 739, 726, 678, 668, 665, | |
| 108897 | + /* 50 */ 652, 612, 610, 594, 591, 578, 537, 527, 521, 517, | |
| 108898 | + /* 60 */ 444, 318, 437, 449, 443, 154, -168, 141, 406, 551, | |
| 108899 | + /* 70 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, | |
| 108900 | + /* 80 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, | |
| 108901 | + /* 90 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, | |
| 108902 | + /* 100 */ 551, 551, 551, 551, 551, 551, 551, 1074, 534, 1040, | |
| 108903 | + /* 110 */ 993, 967, 966, 845, 740, 758, 756, 746, 239, 744, | |
| 108904 | + /* 120 */ 672, 611, 73, -119, 48, 670, 669, 666, 592, 533, | |
| 108905 | + /* 130 */ 701, 627, 587, 551, 551, 551, 551, 551, 667, 375, | |
| 108906 | + /* 140 */ 854, 817, 992, 1286, 1282, 1273, 1261, 687, 687, 1259, | |
| 108907 | + /* 150 */ 1250, 1248, 1245, 1242, 1234, 1225, 1218, 1214, 1212, 1202, | |
| 108908 | + /* 160 */ 1195, 1191, 1161, 1158, 1140, 1135, 1123, 1112, 1107, 1085, | |
| 108909 | + /* 170 */ 1080, 1067, 1051, 1048, 1044, 992, 969, 968, 893, 892, | |
| 108910 | + /* 180 */ 891, 657, 583, 245, 544, 811, 807, 737, 609, 469, | |
| 108911 | + /* 190 */ 342, 1385, 1384, 1374, 1373, 1365, 1372, 1371, 1368, 1340, | |
| 108912 | + /* 200 */ 1360, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1315, | |
| 108913 | + /* 210 */ 1314, 1360, 1360, 1340, 1380, 1348, 1394, 1346, 1334, 1330, | |
| 108914 | + /* 220 */ 1302, 1339, 1301, 1359, 1345, 1369, 1358, 1366, 1355, 1338, | |
| 108915 | + /* 230 */ 1350, 1328, 1295, 1299, 1297, 1354, 1327, 1322, 1364, 1272, | |
| 108916 | + /* 240 */ 1357, 1356, 1271, 1269, 1353, 1290, 1318, 1307, 1313, 1312, | |
| 108917 | + /* 250 */ 1311, 1308, 1344, 1343, 1296, 1276, 1303, 1300, 1333, 1332, | |
| 108918 | + /* 260 */ 1251, 1249, 1326, 1325, 1324, 1320, 1323, 1319, 1317, 1285, | |
| 108919 | + /* 270 */ 1291, 1293, 1292, 1289, 1283, 1235, 1232, 1279, 1281, 1275, | |
| 108920 | + /* 280 */ 1274, 1252, 1270, 1262, 1203, 1196, 1201, 1192, 1180, 1159, | |
| 108921 | + /* 290 */ 1231, 1215, 1145, 1162, 1136, 1134, 1157, 1117, 1121, 1144, | |
| 108922 | + /* 300 */ 1141, 1133, 1138, 1119, 1116, 1094, 1015, 999, 994, 1059, | |
| 108923 | + /* 310 */ 1057, 1073, | |
| 108857 | 108924 | }; |
| 108858 | 108925 | static const YYACTIONTYPE yy_default[] = { |
| 108859 | - /* 0 */ 632, 864, 952, 952, 864, 864, 952, 952, 683, 754, | |
| 108860 | - /* 10 */ 952, 952, 952, 862, 952, 952, 782, 782, 926, 952, | |
| 108861 | - /* 20 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108862 | - /* 30 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108863 | - /* 40 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108864 | - /* 50 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108865 | - /* 60 */ 952, 952, 952, 952, 952, 952, 952, 671, 758, 788, | |
| 108866 | - /* 70 */ 952, 952, 952, 952, 952, 952, 952, 952, 925, 927, | |
| 108867 | - /* 80 */ 796, 795, 905, 769, 793, 786, 790, 865, 858, 859, | |
| 108868 | - /* 90 */ 857, 861, 866, 952, 789, 825, 842, 824, 836, 841, | |
| 108869 | - /* 100 */ 848, 840, 837, 827, 826, 828, 829, 952, 952, 952, | |
| 108870 | - /* 110 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108871 | - /* 120 */ 952, 952, 952, 658, 723, 952, 952, 952, 952, 952, | |
| 108872 | - /* 130 */ 952, 952, 952, 830, 831, 845, 844, 843, 952, 952, | |
| 108873 | - /* 140 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108874 | - /* 150 */ 932, 930, 952, 877, 952, 952, 952, 952, 952, 952, | |
| 108875 | - /* 160 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108876 | - /* 170 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 638, | |
| 108877 | - /* 180 */ 754, 754, 754, 632, 952, 952, 952, 944, 758, 748, | |
| 108878 | - /* 190 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108879 | - /* 200 */ 952, 952, 952, 683, 798, 737, 915, 917, 952, 898, | |
| 108880 | - /* 210 */ 735, 660, 756, 673, 746, 640, 792, 771, 771, 910, | |
| 108881 | - /* 220 */ 792, 910, 697, 952, 782, 952, 782, 694, 782, 771, | |
| 108882 | - /* 230 */ 860, 952, 952, 952, 755, 746, 952, 937, 762, 762, | |
| 108883 | - /* 240 */ 929, 929, 762, 804, 727, 792, 734, 734, 734, 734, | |
| 108884 | - /* 250 */ 762, 655, 792, 804, 727, 727, 762, 655, 904, 902, | |
| 108885 | - /* 260 */ 762, 762, 655, 762, 655, 762, 655, 870, 725, 725, | |
| 108886 | - /* 270 */ 725, 683, 712, 874, 874, 870, 725, 697, 725, 712, | |
| 108887 | - /* 280 */ 725, 725, 775, 770, 775, 770, 775, 770, 762, 762, | |
| 108888 | - /* 290 */ 952, 787, 776, 785, 783, 792, 952, 715, 648, 648, | |
| 108889 | - /* 300 */ 637, 637, 637, 637, 949, 949, 944, 699, 699, 681, | |
| 108890 | - /* 310 */ 952, 952, 952, 952, 952, 952, 952, 879, 952, 952, | |
| 108891 | - /* 320 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108892 | - /* 330 */ 633, 939, 952, 952, 936, 952, 952, 952, 952, 797, | |
| 108893 | - /* 340 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108894 | - /* 350 */ 914, 952, 952, 952, 952, 952, 952, 952, 908, 952, | |
| 108895 | - /* 360 */ 952, 952, 952, 952, 952, 901, 900, 952, 952, 952, | |
| 108896 | - /* 370 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | |
| 108897 | - /* 380 */ 952, 952, 716, 952, 952, 952, 952, 952, 952, 952, | |
| 108898 | - /* 390 */ 952, 952, 952, 952, 784, 952, 777, 952, 863, 952, | |
| 108899 | - /* 400 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 740, | |
| 108900 | - /* 410 */ 813, 952, 812, 816, 811, 665, 952, 646, 952, 629, | |
| 108901 | - /* 420 */ 634, 948, 951, 950, 947, 946, 945, 940, 938, 935, | |
| 108902 | - /* 430 */ 934, 933, 931, 928, 924, 883, 881, 888, 887, 886, | |
| 108903 | - /* 440 */ 885, 884, 882, 880, 878, 799, 794, 791, 923, 876, | |
| 108904 | - /* 450 */ 736, 733, 732, 654, 941, 907, 916, 803, 802, 805, | |
| 108905 | - /* 460 */ 913, 912, 911, 909, 906, 893, 801, 800, 728, 868, | |
| 108906 | - /* 470 */ 867, 657, 897, 896, 895, 899, 903, 894, 764, 656, | |
| 108907 | - /* 480 */ 653, 662, 718, 724, 722, 721, 720, 719, 717, 664, | |
| 108908 | - /* 490 */ 672, 682, 711, 696, 695, 873, 875, 872, 871, 704, | |
| 108909 | - /* 500 */ 703, 709, 708, 707, 706, 705, 702, 701, 700, 693, | |
| 108910 | - /* 510 */ 692, 698, 691, 714, 713, 710, 690, 731, 730, 729, | |
| 108911 | - /* 520 */ 726, 689, 688, 687, 816, 686, 685, 822, 821, 809, | |
| 108912 | - /* 530 */ 852, 751, 750, 749, 761, 760, 773, 772, 807, 806, | |
| 108913 | - /* 540 */ 774, 759, 753, 752, 768, 767, 766, 765, 757, 747, | |
| 108914 | - /* 550 */ 779, 781, 780, 778, 854, 763, 851, 922, 921, 920, | |
| 108915 | - /* 560 */ 919, 918, 856, 855, 823, 820, 676, 677, 891, 890, | |
| 108916 | - /* 570 */ 892, 889, 679, 678, 675, 674, 853, 742, 741, 849, | |
| 108917 | - /* 580 */ 846, 838, 834, 850, 847, 839, 835, 833, 832, 818, | |
| 108918 | - /* 590 */ 817, 815, 814, 810, 819, 667, 743, 739, 738, 808, | |
| 108919 | - /* 600 */ 745, 744, 684, 680, 661, 659, 652, 650, 649, 651, | |
| 108920 | - /* 610 */ 647, 645, 644, 643, 642, 641, 670, 669, 668, 666, | |
| 108921 | - /* 620 */ 665, 639, 636, 635, 631, 630, 628, | |
| 108926 | + /* 0 */ 635, 869, 957, 957, 869, 869, 957, 957, 722, 759, | |
| 108927 | + /* 10 */ 957, 957, 957, 867, 957, 957, 787, 787, 931, 957, | |
| 108928 | + /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108929 | + /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108930 | + /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108931 | + /* 50 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108932 | + /* 60 */ 957, 957, 957, 957, 957, 957, 957, 674, 763, 793, | |
| 108933 | + /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 930, 932, | |
| 108934 | + /* 80 */ 801, 800, 910, 774, 798, 791, 795, 870, 863, 864, | |
| 108935 | + /* 90 */ 862, 866, 871, 957, 794, 830, 847, 829, 841, 846, | |
| 108936 | + /* 100 */ 853, 845, 842, 832, 831, 833, 834, 957, 957, 957, | |
| 108937 | + /* 110 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108938 | + /* 120 */ 957, 957, 957, 661, 728, 957, 957, 957, 957, 957, | |
| 108939 | + /* 130 */ 957, 957, 957, 835, 836, 850, 849, 848, 957, 666, | |
| 108940 | + /* 140 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108941 | + /* 150 */ 937, 935, 957, 882, 957, 957, 957, 957, 957, 957, | |
| 108942 | + /* 160 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108943 | + /* 170 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108944 | + /* 180 */ 641, 759, 759, 759, 635, 957, 957, 957, 949, 763, | |
| 108945 | + /* 190 */ 753, 957, 957, 957, 957, 718, 957, 957, 957, 957, | |
| 108946 | + /* 200 */ 957, 957, 957, 957, 957, 803, 742, 920, 922, 957, | |
| 108947 | + /* 210 */ 903, 740, 663, 761, 676, 751, 643, 797, 776, 776, | |
| 108948 | + /* 220 */ 915, 797, 915, 699, 722, 957, 787, 957, 787, 696, | |
| 108949 | + /* 230 */ 787, 776, 865, 957, 957, 957, 760, 751, 957, 942, | |
| 108950 | + /* 240 */ 767, 767, 934, 934, 767, 809, 732, 797, 739, 739, | |
| 108951 | + /* 250 */ 739, 739, 767, 658, 797, 809, 732, 732, 767, 658, | |
| 108952 | + /* 260 */ 909, 907, 767, 767, 658, 767, 658, 767, 658, 722, | |
| 108953 | + /* 270 */ 875, 730, 730, 730, 714, 879, 879, 875, 730, 699, | |
| 108954 | + /* 280 */ 730, 714, 730, 730, 780, 775, 780, 775, 780, 775, | |
| 108955 | + /* 290 */ 767, 767, 957, 792, 781, 790, 788, 797, 957, 717, | |
| 108956 | + /* 300 */ 651, 651, 640, 640, 640, 640, 954, 954, 949, 701, | |
| 108957 | + /* 310 */ 701, 684, 957, 957, 957, 957, 957, 957, 957, 884, | |
| 108958 | + /* 320 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108959 | + /* 330 */ 957, 957, 636, 944, 957, 957, 941, 957, 957, 957, | |
| 108960 | + /* 340 */ 957, 802, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108961 | + /* 350 */ 957, 957, 919, 957, 957, 957, 957, 957, 957, 957, | |
| 108962 | + /* 360 */ 913, 957, 957, 957, 957, 957, 957, 906, 905, 957, | |
| 108963 | + /* 370 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108964 | + /* 380 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108965 | + /* 390 */ 957, 957, 957, 957, 957, 789, 957, 782, 957, 868, | |
| 108966 | + /* 400 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, | |
| 108967 | + /* 410 */ 745, 818, 957, 817, 821, 816, 668, 957, 649, 957, | |
| 108968 | + /* 420 */ 632, 637, 953, 956, 955, 952, 951, 950, 945, 943, | |
| 108969 | + /* 430 */ 940, 939, 938, 936, 933, 929, 888, 886, 893, 892, | |
| 108970 | + /* 440 */ 891, 890, 889, 887, 885, 883, 804, 799, 796, 928, | |
| 108971 | + /* 450 */ 881, 741, 738, 737, 657, 946, 912, 921, 808, 807, | |
| 108972 | + /* 460 */ 810, 918, 917, 916, 914, 911, 898, 806, 805, 733, | |
| 108973 | + /* 470 */ 873, 872, 660, 902, 901, 900, 904, 908, 899, 769, | |
| 108974 | + /* 480 */ 659, 656, 665, 721, 723, 719, 729, 727, 726, 725, | |
| 108975 | + /* 490 */ 724, 720, 667, 675, 713, 698, 697, 878, 880, 877, | |
| 108976 | + /* 500 */ 876, 706, 705, 711, 710, 709, 708, 707, 704, 703, | |
| 108977 | + /* 510 */ 702, 695, 694, 700, 693, 716, 715, 712, 692, 736, | |
| 108978 | + /* 520 */ 735, 734, 731, 691, 690, 689, 821, 688, 687, 827, | |
| 108979 | + /* 530 */ 826, 814, 857, 756, 755, 754, 766, 765, 778, 777, | |
| 108980 | + /* 540 */ 812, 811, 779, 764, 758, 757, 773, 772, 771, 770, | |
| 108981 | + /* 550 */ 762, 752, 784, 786, 785, 783, 859, 768, 856, 927, | |
| 108982 | + /* 560 */ 926, 925, 924, 923, 861, 860, 828, 825, 679, 680, | |
| 108983 | + /* 570 */ 896, 895, 897, 894, 682, 681, 678, 677, 858, 747, | |
| 108984 | + /* 580 */ 746, 854, 851, 843, 839, 855, 852, 844, 840, 838, | |
| 108985 | + /* 590 */ 837, 823, 822, 820, 819, 815, 824, 670, 748, 744, | |
| 108986 | + /* 600 */ 743, 813, 750, 749, 686, 685, 683, 664, 662, 655, | |
| 108987 | + /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673, | |
| 108988 | + /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631, | |
| 108922 | 108989 | }; |
| 108923 | 108990 | |
| 108924 | 108991 | /* The next table maps tokens into fallback tokens. If a construct |
| 108925 | 108992 | ** like the following: |
| 108926 | 108993 | ** |
| @@ -109119,14 +109186,14 @@ | ||
| 109119 | 109186 | "create_table", "create_table_args", "createkw", "temp", |
| 109120 | 109187 | "ifnotexists", "dbnm", "columnlist", "conslist_opt", |
| 109121 | 109188 | "select", "column", "columnid", "type", |
| 109122 | 109189 | "carglist", "id", "ids", "typetoken", |
| 109123 | 109190 | "typename", "signed", "plus_num", "minus_num", |
| 109124 | - "cname", "ccons", "term", "expr", | |
| 109125 | - "onconf", "sortorder", "autoinc", "idxlist_opt", | |
| 109126 | - "refargs", "defer_subclause", "refarg", "refact", | |
| 109127 | - "init_deferred_pred_opt", "conslist", "tcons", "idxlist", | |
| 109191 | + "ccons", "term", "expr", "onconf", | |
| 109192 | + "sortorder", "autoinc", "idxlist_opt", "refargs", | |
| 109193 | + "defer_subclause", "refarg", "refact", "init_deferred_pred_opt", | |
| 109194 | + "conslist", "cname", "tcons", "idxlist", | |
| 109128 | 109195 | "defer_subclause_opt", "orconf", "resolvetype", "raisetype", |
| 109129 | 109196 | "ifexists", "fullname", "oneselect", "multiselect_op", |
| 109130 | 109197 | "distinct", "selcollist", "from", "where_opt", |
| 109131 | 109198 | "groupby_opt", "having_opt", "orderby_opt", "limit_opt", |
| 109132 | 109199 | "sclp", "as", "seltablist", "stl_prefix", |
| @@ -109199,282 +109266,284 @@ | ||
| 109199 | 109266 | /* 48 */ "typetoken ::= typename LP signed COMMA signed RP", |
| 109200 | 109267 | /* 49 */ "typename ::= ids", |
| 109201 | 109268 | /* 50 */ "typename ::= typename ids", |
| 109202 | 109269 | /* 51 */ "signed ::= plus_num", |
| 109203 | 109270 | /* 52 */ "signed ::= minus_num", |
| 109204 | - /* 53 */ "carglist ::= carglist cname ccons", | |
| 109271 | + /* 53 */ "carglist ::= carglist ccons", | |
| 109205 | 109272 | /* 54 */ "carglist ::=", |
| 109206 | - /* 55 */ "cname ::= CONSTRAINT nm", | |
| 109207 | - /* 56 */ "cname ::=", | |
| 109208 | - /* 57 */ "ccons ::= DEFAULT term", | |
| 109209 | - /* 58 */ "ccons ::= DEFAULT LP expr RP", | |
| 109210 | - /* 59 */ "ccons ::= DEFAULT PLUS term", | |
| 109211 | - /* 60 */ "ccons ::= DEFAULT MINUS term", | |
| 109212 | - /* 61 */ "ccons ::= DEFAULT id", | |
| 109213 | - /* 62 */ "ccons ::= NULL onconf", | |
| 109214 | - /* 63 */ "ccons ::= NOT NULL onconf", | |
| 109215 | - /* 64 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", | |
| 109216 | - /* 65 */ "ccons ::= UNIQUE onconf", | |
| 109217 | - /* 66 */ "ccons ::= CHECK LP expr RP", | |
| 109218 | - /* 67 */ "ccons ::= REFERENCES nm idxlist_opt refargs", | |
| 109219 | - /* 68 */ "ccons ::= defer_subclause", | |
| 109220 | - /* 69 */ "ccons ::= COLLATE ids", | |
| 109221 | - /* 70 */ "autoinc ::=", | |
| 109222 | - /* 71 */ "autoinc ::= AUTOINCR", | |
| 109223 | - /* 72 */ "refargs ::=", | |
| 109224 | - /* 73 */ "refargs ::= refargs refarg", | |
| 109225 | - /* 74 */ "refarg ::= MATCH nm", | |
| 109226 | - /* 75 */ "refarg ::= ON INSERT refact", | |
| 109227 | - /* 76 */ "refarg ::= ON DELETE refact", | |
| 109228 | - /* 77 */ "refarg ::= ON UPDATE refact", | |
| 109229 | - /* 78 */ "refact ::= SET NULL", | |
| 109230 | - /* 79 */ "refact ::= SET DEFAULT", | |
| 109231 | - /* 80 */ "refact ::= CASCADE", | |
| 109232 | - /* 81 */ "refact ::= RESTRICT", | |
| 109233 | - /* 82 */ "refact ::= NO ACTION", | |
| 109234 | - /* 83 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", | |
| 109235 | - /* 84 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", | |
| 109236 | - /* 85 */ "init_deferred_pred_opt ::=", | |
| 109237 | - /* 86 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", | |
| 109238 | - /* 87 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", | |
| 109239 | - /* 88 */ "conslist_opt ::=", | |
| 109240 | - /* 89 */ "conslist_opt ::= COMMA conslist", | |
| 109241 | - /* 90 */ "conslist ::= conslist COMMA cname tcons", | |
| 109273 | + /* 55 */ "ccons ::= CONSTRAINT nm", | |
| 109274 | + /* 56 */ "ccons ::= DEFAULT term", | |
| 109275 | + /* 57 */ "ccons ::= DEFAULT LP expr RP", | |
| 109276 | + /* 58 */ "ccons ::= DEFAULT PLUS term", | |
| 109277 | + /* 59 */ "ccons ::= DEFAULT MINUS term", | |
| 109278 | + /* 60 */ "ccons ::= DEFAULT id", | |
| 109279 | + /* 61 */ "ccons ::= NULL onconf", | |
| 109280 | + /* 62 */ "ccons ::= NOT NULL onconf", | |
| 109281 | + /* 63 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", | |
| 109282 | + /* 64 */ "ccons ::= UNIQUE onconf", | |
| 109283 | + /* 65 */ "ccons ::= CHECK LP expr RP", | |
| 109284 | + /* 66 */ "ccons ::= REFERENCES nm idxlist_opt refargs", | |
| 109285 | + /* 67 */ "ccons ::= defer_subclause", | |
| 109286 | + /* 68 */ "ccons ::= COLLATE ids", | |
| 109287 | + /* 69 */ "autoinc ::=", | |
| 109288 | + /* 70 */ "autoinc ::= AUTOINCR", | |
| 109289 | + /* 71 */ "refargs ::=", | |
| 109290 | + /* 72 */ "refargs ::= refargs refarg", | |
| 109291 | + /* 73 */ "refarg ::= MATCH nm", | |
| 109292 | + /* 74 */ "refarg ::= ON INSERT refact", | |
| 109293 | + /* 75 */ "refarg ::= ON DELETE refact", | |
| 109294 | + /* 76 */ "refarg ::= ON UPDATE refact", | |
| 109295 | + /* 77 */ "refact ::= SET NULL", | |
| 109296 | + /* 78 */ "refact ::= SET DEFAULT", | |
| 109297 | + /* 79 */ "refact ::= CASCADE", | |
| 109298 | + /* 80 */ "refact ::= RESTRICT", | |
| 109299 | + /* 81 */ "refact ::= NO ACTION", | |
| 109300 | + /* 82 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", | |
| 109301 | + /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", | |
| 109302 | + /* 84 */ "init_deferred_pred_opt ::=", | |
| 109303 | + /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", | |
| 109304 | + /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", | |
| 109305 | + /* 87 */ "conslist_opt ::=", | |
| 109306 | + /* 88 */ "conslist_opt ::= COMMA conslist cname", | |
| 109307 | + /* 89 */ "conslist ::= conslist COMMA cname tcons", | |
| 109308 | + /* 90 */ "conslist ::= conslist cname tcons", | |
| 109242 | 109309 | /* 91 */ "conslist ::= cname tcons", |
| 109243 | - /* 92 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", | |
| 109244 | - /* 93 */ "tcons ::= UNIQUE LP idxlist RP onconf", | |
| 109245 | - /* 94 */ "tcons ::= CHECK LP expr RP onconf", | |
| 109246 | - /* 95 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", | |
| 109247 | - /* 96 */ "defer_subclause_opt ::=", | |
| 109248 | - /* 97 */ "defer_subclause_opt ::= defer_subclause", | |
| 109249 | - /* 98 */ "onconf ::=", | |
| 109250 | - /* 99 */ "onconf ::= ON CONFLICT resolvetype", | |
| 109251 | - /* 100 */ "orconf ::=", | |
| 109252 | - /* 101 */ "orconf ::= OR resolvetype", | |
| 109253 | - /* 102 */ "resolvetype ::= raisetype", | |
| 109254 | - /* 103 */ "resolvetype ::= IGNORE", | |
| 109255 | - /* 104 */ "resolvetype ::= REPLACE", | |
| 109256 | - /* 105 */ "cmd ::= DROP TABLE ifexists fullname", | |
| 109257 | - /* 106 */ "ifexists ::= IF EXISTS", | |
| 109258 | - /* 107 */ "ifexists ::=", | |
| 109259 | - /* 108 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", | |
| 109260 | - /* 109 */ "cmd ::= DROP VIEW ifexists fullname", | |
| 109261 | - /* 110 */ "cmd ::= select", | |
| 109262 | - /* 111 */ "select ::= oneselect", | |
| 109263 | - /* 112 */ "select ::= select multiselect_op oneselect", | |
| 109264 | - /* 113 */ "multiselect_op ::= UNION", | |
| 109265 | - /* 114 */ "multiselect_op ::= UNION ALL", | |
| 109266 | - /* 115 */ "multiselect_op ::= EXCEPT|INTERSECT", | |
| 109267 | - /* 116 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", | |
| 109268 | - /* 117 */ "distinct ::= DISTINCT", | |
| 109269 | - /* 118 */ "distinct ::= ALL", | |
| 109270 | - /* 119 */ "distinct ::=", | |
| 109271 | - /* 120 */ "sclp ::= selcollist COMMA", | |
| 109272 | - /* 121 */ "sclp ::=", | |
| 109273 | - /* 122 */ "selcollist ::= sclp expr as", | |
| 109274 | - /* 123 */ "selcollist ::= sclp STAR", | |
| 109275 | - /* 124 */ "selcollist ::= sclp nm DOT STAR", | |
| 109276 | - /* 125 */ "as ::= AS nm", | |
| 109277 | - /* 126 */ "as ::= ids", | |
| 109278 | - /* 127 */ "as ::=", | |
| 109279 | - /* 128 */ "from ::=", | |
| 109280 | - /* 129 */ "from ::= FROM seltablist", | |
| 109281 | - /* 130 */ "stl_prefix ::= seltablist joinop", | |
| 109282 | - /* 131 */ "stl_prefix ::=", | |
| 109283 | - /* 132 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", | |
| 109284 | - /* 133 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", | |
| 109285 | - /* 134 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", | |
| 109286 | - /* 135 */ "dbnm ::=", | |
| 109287 | - /* 136 */ "dbnm ::= DOT nm", | |
| 109288 | - /* 137 */ "fullname ::= nm dbnm", | |
| 109289 | - /* 138 */ "joinop ::= COMMA|JOIN", | |
| 109290 | - /* 139 */ "joinop ::= JOIN_KW JOIN", | |
| 109291 | - /* 140 */ "joinop ::= JOIN_KW nm JOIN", | |
| 109292 | - /* 141 */ "joinop ::= JOIN_KW nm nm JOIN", | |
| 109293 | - /* 142 */ "on_opt ::= ON expr", | |
| 109294 | - /* 143 */ "on_opt ::=", | |
| 109295 | - /* 144 */ "indexed_opt ::=", | |
| 109296 | - /* 145 */ "indexed_opt ::= INDEXED BY nm", | |
| 109297 | - /* 146 */ "indexed_opt ::= NOT INDEXED", | |
| 109298 | - /* 147 */ "using_opt ::= USING LP inscollist RP", | |
| 109299 | - /* 148 */ "using_opt ::=", | |
| 109300 | - /* 149 */ "orderby_opt ::=", | |
| 109301 | - /* 150 */ "orderby_opt ::= ORDER BY sortlist", | |
| 109302 | - /* 151 */ "sortlist ::= sortlist COMMA expr sortorder", | |
| 109303 | - /* 152 */ "sortlist ::= expr sortorder", | |
| 109304 | - /* 153 */ "sortorder ::= ASC", | |
| 109305 | - /* 154 */ "sortorder ::= DESC", | |
| 109306 | - /* 155 */ "sortorder ::=", | |
| 109307 | - /* 156 */ "groupby_opt ::=", | |
| 109308 | - /* 157 */ "groupby_opt ::= GROUP BY nexprlist", | |
| 109309 | - /* 158 */ "having_opt ::=", | |
| 109310 | - /* 159 */ "having_opt ::= HAVING expr", | |
| 109311 | - /* 160 */ "limit_opt ::=", | |
| 109312 | - /* 161 */ "limit_opt ::= LIMIT expr", | |
| 109313 | - /* 162 */ "limit_opt ::= LIMIT expr OFFSET expr", | |
| 109314 | - /* 163 */ "limit_opt ::= LIMIT expr COMMA expr", | |
| 109315 | - /* 164 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", | |
| 109316 | - /* 165 */ "where_opt ::=", | |
| 109317 | - /* 166 */ "where_opt ::= WHERE expr", | |
| 109318 | - /* 167 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", | |
| 109319 | - /* 168 */ "setlist ::= setlist COMMA nm EQ expr", | |
| 109320 | - /* 169 */ "setlist ::= nm EQ expr", | |
| 109321 | - /* 170 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist", | |
| 109322 | - /* 171 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", | |
| 109323 | - /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", | |
| 109324 | - /* 173 */ "insert_cmd ::= INSERT orconf", | |
| 109325 | - /* 174 */ "insert_cmd ::= REPLACE", | |
| 109326 | - /* 175 */ "valuelist ::= VALUES LP nexprlist RP", | |
| 109327 | - /* 176 */ "valuelist ::= valuelist COMMA LP exprlist RP", | |
| 109328 | - /* 177 */ "inscollist_opt ::=", | |
| 109329 | - /* 178 */ "inscollist_opt ::= LP inscollist RP", | |
| 109330 | - /* 179 */ "inscollist ::= inscollist COMMA nm", | |
| 109331 | - /* 180 */ "inscollist ::= nm", | |
| 109332 | - /* 181 */ "expr ::= term", | |
| 109333 | - /* 182 */ "expr ::= LP expr RP", | |
| 109334 | - /* 183 */ "term ::= NULL", | |
| 109335 | - /* 184 */ "expr ::= id", | |
| 109336 | - /* 185 */ "expr ::= JOIN_KW", | |
| 109337 | - /* 186 */ "expr ::= nm DOT nm", | |
| 109338 | - /* 187 */ "expr ::= nm DOT nm DOT nm", | |
| 109339 | - /* 188 */ "term ::= INTEGER|FLOAT|BLOB", | |
| 109340 | - /* 189 */ "term ::= STRING", | |
| 109341 | - /* 190 */ "expr ::= REGISTER", | |
| 109342 | - /* 191 */ "expr ::= VARIABLE", | |
| 109343 | - /* 192 */ "expr ::= expr COLLATE ids", | |
| 109344 | - /* 193 */ "expr ::= CAST LP expr AS typetoken RP", | |
| 109345 | - /* 194 */ "expr ::= ID LP distinct exprlist RP", | |
| 109346 | - /* 195 */ "expr ::= ID LP STAR RP", | |
| 109347 | - /* 196 */ "term ::= CTIME_KW", | |
| 109348 | - /* 197 */ "expr ::= expr AND expr", | |
| 109349 | - /* 198 */ "expr ::= expr OR expr", | |
| 109350 | - /* 199 */ "expr ::= expr LT|GT|GE|LE expr", | |
| 109351 | - /* 200 */ "expr ::= expr EQ|NE expr", | |
| 109352 | - /* 201 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", | |
| 109353 | - /* 202 */ "expr ::= expr PLUS|MINUS expr", | |
| 109354 | - /* 203 */ "expr ::= expr STAR|SLASH|REM expr", | |
| 109355 | - /* 204 */ "expr ::= expr CONCAT expr", | |
| 109356 | - /* 205 */ "likeop ::= LIKE_KW", | |
| 109357 | - /* 206 */ "likeop ::= NOT LIKE_KW", | |
| 109358 | - /* 207 */ "likeop ::= MATCH", | |
| 109359 | - /* 208 */ "likeop ::= NOT MATCH", | |
| 109360 | - /* 209 */ "expr ::= expr likeop expr", | |
| 109361 | - /* 210 */ "expr ::= expr likeop expr ESCAPE expr", | |
| 109362 | - /* 211 */ "expr ::= expr ISNULL|NOTNULL", | |
| 109363 | - /* 212 */ "expr ::= expr NOT NULL", | |
| 109364 | - /* 213 */ "expr ::= expr IS expr", | |
| 109365 | - /* 214 */ "expr ::= expr IS NOT expr", | |
| 109366 | - /* 215 */ "expr ::= NOT expr", | |
| 109367 | - /* 216 */ "expr ::= BITNOT expr", | |
| 109368 | - /* 217 */ "expr ::= MINUS expr", | |
| 109369 | - /* 218 */ "expr ::= PLUS expr", | |
| 109370 | - /* 219 */ "between_op ::= BETWEEN", | |
| 109371 | - /* 220 */ "between_op ::= NOT BETWEEN", | |
| 109372 | - /* 221 */ "expr ::= expr between_op expr AND expr", | |
| 109373 | - /* 222 */ "in_op ::= IN", | |
| 109374 | - /* 223 */ "in_op ::= NOT IN", | |
| 109375 | - /* 224 */ "expr ::= expr in_op LP exprlist RP", | |
| 109376 | - /* 225 */ "expr ::= LP select RP", | |
| 109377 | - /* 226 */ "expr ::= expr in_op LP select RP", | |
| 109378 | - /* 227 */ "expr ::= expr in_op nm dbnm", | |
| 109379 | - /* 228 */ "expr ::= EXISTS LP select RP", | |
| 109380 | - /* 229 */ "expr ::= CASE case_operand case_exprlist case_else END", | |
| 109381 | - /* 230 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", | |
| 109382 | - /* 231 */ "case_exprlist ::= WHEN expr THEN expr", | |
| 109383 | - /* 232 */ "case_else ::= ELSE expr", | |
| 109384 | - /* 233 */ "case_else ::=", | |
| 109385 | - /* 234 */ "case_operand ::= expr", | |
| 109386 | - /* 235 */ "case_operand ::=", | |
| 109387 | - /* 236 */ "exprlist ::= nexprlist", | |
| 109388 | - /* 237 */ "exprlist ::=", | |
| 109389 | - /* 238 */ "nexprlist ::= nexprlist COMMA expr", | |
| 109390 | - /* 239 */ "nexprlist ::= expr", | |
| 109391 | - /* 240 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP", | |
| 109392 | - /* 241 */ "uniqueflag ::= UNIQUE", | |
| 109393 | - /* 242 */ "uniqueflag ::=", | |
| 109394 | - /* 243 */ "idxlist_opt ::=", | |
| 109395 | - /* 244 */ "idxlist_opt ::= LP idxlist RP", | |
| 109396 | - /* 245 */ "idxlist ::= idxlist COMMA nm collate sortorder", | |
| 109397 | - /* 246 */ "idxlist ::= nm collate sortorder", | |
| 109398 | - /* 247 */ "collate ::=", | |
| 109399 | - /* 248 */ "collate ::= COLLATE ids", | |
| 109400 | - /* 249 */ "cmd ::= DROP INDEX ifexists fullname", | |
| 109401 | - /* 250 */ "cmd ::= VACUUM", | |
| 109402 | - /* 251 */ "cmd ::= VACUUM nm", | |
| 109403 | - /* 252 */ "cmd ::= PRAGMA nm dbnm", | |
| 109404 | - /* 253 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", | |
| 109405 | - /* 254 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", | |
| 109406 | - /* 255 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", | |
| 109407 | - /* 256 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", | |
| 109408 | - /* 257 */ "nmnum ::= plus_num", | |
| 109409 | - /* 258 */ "nmnum ::= nm", | |
| 109410 | - /* 259 */ "nmnum ::= ON", | |
| 109411 | - /* 260 */ "nmnum ::= DELETE", | |
| 109412 | - /* 261 */ "nmnum ::= DEFAULT", | |
| 109413 | - /* 262 */ "plus_num ::= PLUS number", | |
| 109414 | - /* 263 */ "plus_num ::= number", | |
| 109415 | - /* 264 */ "minus_num ::= MINUS number", | |
| 109416 | - /* 265 */ "number ::= INTEGER|FLOAT", | |
| 109417 | - /* 266 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", | |
| 109418 | - /* 267 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", | |
| 109419 | - /* 268 */ "trigger_time ::= BEFORE", | |
| 109420 | - /* 269 */ "trigger_time ::= AFTER", | |
| 109421 | - /* 270 */ "trigger_time ::= INSTEAD OF", | |
| 109422 | - /* 271 */ "trigger_time ::=", | |
| 109423 | - /* 272 */ "trigger_event ::= DELETE|INSERT", | |
| 109424 | - /* 273 */ "trigger_event ::= UPDATE", | |
| 109425 | - /* 274 */ "trigger_event ::= UPDATE OF inscollist", | |
| 109426 | - /* 275 */ "foreach_clause ::=", | |
| 109427 | - /* 276 */ "foreach_clause ::= FOR EACH ROW", | |
| 109428 | - /* 277 */ "when_clause ::=", | |
| 109429 | - /* 278 */ "when_clause ::= WHEN expr", | |
| 109430 | - /* 279 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", | |
| 109431 | - /* 280 */ "trigger_cmd_list ::= trigger_cmd SEMI", | |
| 109432 | - /* 281 */ "trnm ::= nm", | |
| 109433 | - /* 282 */ "trnm ::= nm DOT nm", | |
| 109434 | - /* 283 */ "tridxby ::=", | |
| 109435 | - /* 284 */ "tridxby ::= INDEXED BY nm", | |
| 109436 | - /* 285 */ "tridxby ::= NOT INDEXED", | |
| 109437 | - /* 286 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", | |
| 109438 | - /* 287 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist", | |
| 109439 | - /* 288 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", | |
| 109440 | - /* 289 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", | |
| 109441 | - /* 290 */ "trigger_cmd ::= select", | |
| 109442 | - /* 291 */ "expr ::= RAISE LP IGNORE RP", | |
| 109443 | - /* 292 */ "expr ::= RAISE LP raisetype COMMA nm RP", | |
| 109444 | - /* 293 */ "raisetype ::= ROLLBACK", | |
| 109445 | - /* 294 */ "raisetype ::= ABORT", | |
| 109446 | - /* 295 */ "raisetype ::= FAIL", | |
| 109447 | - /* 296 */ "cmd ::= DROP TRIGGER ifexists fullname", | |
| 109448 | - /* 297 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", | |
| 109449 | - /* 298 */ "cmd ::= DETACH database_kw_opt expr", | |
| 109450 | - /* 299 */ "key_opt ::=", | |
| 109451 | - /* 300 */ "key_opt ::= KEY expr", | |
| 109452 | - /* 301 */ "database_kw_opt ::= DATABASE", | |
| 109453 | - /* 302 */ "database_kw_opt ::=", | |
| 109454 | - /* 303 */ "cmd ::= REINDEX", | |
| 109455 | - /* 304 */ "cmd ::= REINDEX nm dbnm", | |
| 109456 | - /* 305 */ "cmd ::= ANALYZE", | |
| 109457 | - /* 306 */ "cmd ::= ANALYZE nm dbnm", | |
| 109458 | - /* 307 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", | |
| 109459 | - /* 308 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", | |
| 109460 | - /* 309 */ "add_column_fullname ::= fullname", | |
| 109461 | - /* 310 */ "kwcolumn_opt ::=", | |
| 109462 | - /* 311 */ "kwcolumn_opt ::= COLUMNKW", | |
| 109463 | - /* 312 */ "cmd ::= create_vtab", | |
| 109464 | - /* 313 */ "cmd ::= create_vtab LP vtabarglist RP", | |
| 109465 | - /* 314 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", | |
| 109466 | - /* 315 */ "vtabarglist ::= vtabarg", | |
| 109467 | - /* 316 */ "vtabarglist ::= vtabarglist COMMA vtabarg", | |
| 109468 | - /* 317 */ "vtabarg ::=", | |
| 109469 | - /* 318 */ "vtabarg ::= vtabarg vtabargtoken", | |
| 109470 | - /* 319 */ "vtabargtoken ::= ANY", | |
| 109471 | - /* 320 */ "vtabargtoken ::= lp anylist RP", | |
| 109472 | - /* 321 */ "lp ::= LP", | |
| 109473 | - /* 322 */ "anylist ::=", | |
| 109474 | - /* 323 */ "anylist ::= anylist LP anylist RP", | |
| 109475 | - /* 324 */ "anylist ::= anylist ANY", | |
| 109310 | + /* 92 */ "cname ::=", | |
| 109311 | + /* 93 */ "cname ::= CONSTRAINT nm", | |
| 109312 | + /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", | |
| 109313 | + /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf", | |
| 109314 | + /* 96 */ "tcons ::= CHECK LP expr RP onconf", | |
| 109315 | + /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", | |
| 109316 | + /* 98 */ "defer_subclause_opt ::=", | |
| 109317 | + /* 99 */ "defer_subclause_opt ::= defer_subclause", | |
| 109318 | + /* 100 */ "onconf ::=", | |
| 109319 | + /* 101 */ "onconf ::= ON CONFLICT resolvetype", | |
| 109320 | + /* 102 */ "orconf ::=", | |
| 109321 | + /* 103 */ "orconf ::= OR resolvetype", | |
| 109322 | + /* 104 */ "resolvetype ::= raisetype", | |
| 109323 | + /* 105 */ "resolvetype ::= IGNORE", | |
| 109324 | + /* 106 */ "resolvetype ::= REPLACE", | |
| 109325 | + /* 107 */ "cmd ::= DROP TABLE ifexists fullname", | |
| 109326 | + /* 108 */ "ifexists ::= IF EXISTS", | |
| 109327 | + /* 109 */ "ifexists ::=", | |
| 109328 | + /* 110 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", | |
| 109329 | + /* 111 */ "cmd ::= DROP VIEW ifexists fullname", | |
| 109330 | + /* 112 */ "cmd ::= select", | |
| 109331 | + /* 113 */ "select ::= oneselect", | |
| 109332 | + /* 114 */ "select ::= select multiselect_op oneselect", | |
| 109333 | + /* 115 */ "multiselect_op ::= UNION", | |
| 109334 | + /* 116 */ "multiselect_op ::= UNION ALL", | |
| 109335 | + /* 117 */ "multiselect_op ::= EXCEPT|INTERSECT", | |
| 109336 | + /* 118 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", | |
| 109337 | + /* 119 */ "distinct ::= DISTINCT", | |
| 109338 | + /* 120 */ "distinct ::= ALL", | |
| 109339 | + /* 121 */ "distinct ::=", | |
| 109340 | + /* 122 */ "sclp ::= selcollist COMMA", | |
| 109341 | + /* 123 */ "sclp ::=", | |
| 109342 | + /* 124 */ "selcollist ::= sclp expr as", | |
| 109343 | + /* 125 */ "selcollist ::= sclp STAR", | |
| 109344 | + /* 126 */ "selcollist ::= sclp nm DOT STAR", | |
| 109345 | + /* 127 */ "as ::= AS nm", | |
| 109346 | + /* 128 */ "as ::= ids", | |
| 109347 | + /* 129 */ "as ::=", | |
| 109348 | + /* 130 */ "from ::=", | |
| 109349 | + /* 131 */ "from ::= FROM seltablist", | |
| 109350 | + /* 132 */ "stl_prefix ::= seltablist joinop", | |
| 109351 | + /* 133 */ "stl_prefix ::=", | |
| 109352 | + /* 134 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", | |
| 109353 | + /* 135 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", | |
| 109354 | + /* 136 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", | |
| 109355 | + /* 137 */ "dbnm ::=", | |
| 109356 | + /* 138 */ "dbnm ::= DOT nm", | |
| 109357 | + /* 139 */ "fullname ::= nm dbnm", | |
| 109358 | + /* 140 */ "joinop ::= COMMA|JOIN", | |
| 109359 | + /* 141 */ "joinop ::= JOIN_KW JOIN", | |
| 109360 | + /* 142 */ "joinop ::= JOIN_KW nm JOIN", | |
| 109361 | + /* 143 */ "joinop ::= JOIN_KW nm nm JOIN", | |
| 109362 | + /* 144 */ "on_opt ::= ON expr", | |
| 109363 | + /* 145 */ "on_opt ::=", | |
| 109364 | + /* 146 */ "indexed_opt ::=", | |
| 109365 | + /* 147 */ "indexed_opt ::= INDEXED BY nm", | |
| 109366 | + /* 148 */ "indexed_opt ::= NOT INDEXED", | |
| 109367 | + /* 149 */ "using_opt ::= USING LP inscollist RP", | |
| 109368 | + /* 150 */ "using_opt ::=", | |
| 109369 | + /* 151 */ "orderby_opt ::=", | |
| 109370 | + /* 152 */ "orderby_opt ::= ORDER BY sortlist", | |
| 109371 | + /* 153 */ "sortlist ::= sortlist COMMA expr sortorder", | |
| 109372 | + /* 154 */ "sortlist ::= expr sortorder", | |
| 109373 | + /* 155 */ "sortorder ::= ASC", | |
| 109374 | + /* 156 */ "sortorder ::= DESC", | |
| 109375 | + /* 157 */ "sortorder ::=", | |
| 109376 | + /* 158 */ "groupby_opt ::=", | |
| 109377 | + /* 159 */ "groupby_opt ::= GROUP BY nexprlist", | |
| 109378 | + /* 160 */ "having_opt ::=", | |
| 109379 | + /* 161 */ "having_opt ::= HAVING expr", | |
| 109380 | + /* 162 */ "limit_opt ::=", | |
| 109381 | + /* 163 */ "limit_opt ::= LIMIT expr", | |
| 109382 | + /* 164 */ "limit_opt ::= LIMIT expr OFFSET expr", | |
| 109383 | + /* 165 */ "limit_opt ::= LIMIT expr COMMA expr", | |
| 109384 | + /* 166 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", | |
| 109385 | + /* 167 */ "where_opt ::=", | |
| 109386 | + /* 168 */ "where_opt ::= WHERE expr", | |
| 109387 | + /* 169 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", | |
| 109388 | + /* 170 */ "setlist ::= setlist COMMA nm EQ expr", | |
| 109389 | + /* 171 */ "setlist ::= nm EQ expr", | |
| 109390 | + /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist", | |
| 109391 | + /* 173 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", | |
| 109392 | + /* 174 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", | |
| 109393 | + /* 175 */ "insert_cmd ::= INSERT orconf", | |
| 109394 | + /* 176 */ "insert_cmd ::= REPLACE", | |
| 109395 | + /* 177 */ "valuelist ::= VALUES LP nexprlist RP", | |
| 109396 | + /* 178 */ "valuelist ::= valuelist COMMA LP exprlist RP", | |
| 109397 | + /* 179 */ "inscollist_opt ::=", | |
| 109398 | + /* 180 */ "inscollist_opt ::= LP inscollist RP", | |
| 109399 | + /* 181 */ "inscollist ::= inscollist COMMA nm", | |
| 109400 | + /* 182 */ "inscollist ::= nm", | |
| 109401 | + /* 183 */ "expr ::= term", | |
| 109402 | + /* 184 */ "expr ::= LP expr RP", | |
| 109403 | + /* 185 */ "term ::= NULL", | |
| 109404 | + /* 186 */ "expr ::= id", | |
| 109405 | + /* 187 */ "expr ::= JOIN_KW", | |
| 109406 | + /* 188 */ "expr ::= nm DOT nm", | |
| 109407 | + /* 189 */ "expr ::= nm DOT nm DOT nm", | |
| 109408 | + /* 190 */ "term ::= INTEGER|FLOAT|BLOB", | |
| 109409 | + /* 191 */ "term ::= STRING", | |
| 109410 | + /* 192 */ "expr ::= REGISTER", | |
| 109411 | + /* 193 */ "expr ::= VARIABLE", | |
| 109412 | + /* 194 */ "expr ::= expr COLLATE ids", | |
| 109413 | + /* 195 */ "expr ::= CAST LP expr AS typetoken RP", | |
| 109414 | + /* 196 */ "expr ::= ID LP distinct exprlist RP", | |
| 109415 | + /* 197 */ "expr ::= ID LP STAR RP", | |
| 109416 | + /* 198 */ "term ::= CTIME_KW", | |
| 109417 | + /* 199 */ "expr ::= expr AND expr", | |
| 109418 | + /* 200 */ "expr ::= expr OR expr", | |
| 109419 | + /* 201 */ "expr ::= expr LT|GT|GE|LE expr", | |
| 109420 | + /* 202 */ "expr ::= expr EQ|NE expr", | |
| 109421 | + /* 203 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", | |
| 109422 | + /* 204 */ "expr ::= expr PLUS|MINUS expr", | |
| 109423 | + /* 205 */ "expr ::= expr STAR|SLASH|REM expr", | |
| 109424 | + /* 206 */ "expr ::= expr CONCAT expr", | |
| 109425 | + /* 207 */ "likeop ::= LIKE_KW", | |
| 109426 | + /* 208 */ "likeop ::= NOT LIKE_KW", | |
| 109427 | + /* 209 */ "likeop ::= MATCH", | |
| 109428 | + /* 210 */ "likeop ::= NOT MATCH", | |
| 109429 | + /* 211 */ "expr ::= expr likeop expr", | |
| 109430 | + /* 212 */ "expr ::= expr likeop expr ESCAPE expr", | |
| 109431 | + /* 213 */ "expr ::= expr ISNULL|NOTNULL", | |
| 109432 | + /* 214 */ "expr ::= expr NOT NULL", | |
| 109433 | + /* 215 */ "expr ::= expr IS expr", | |
| 109434 | + /* 216 */ "expr ::= expr IS NOT expr", | |
| 109435 | + /* 217 */ "expr ::= NOT expr", | |
| 109436 | + /* 218 */ "expr ::= BITNOT expr", | |
| 109437 | + /* 219 */ "expr ::= MINUS expr", | |
| 109438 | + /* 220 */ "expr ::= PLUS expr", | |
| 109439 | + /* 221 */ "between_op ::= BETWEEN", | |
| 109440 | + /* 222 */ "between_op ::= NOT BETWEEN", | |
| 109441 | + /* 223 */ "expr ::= expr between_op expr AND expr", | |
| 109442 | + /* 224 */ "in_op ::= IN", | |
| 109443 | + /* 225 */ "in_op ::= NOT IN", | |
| 109444 | + /* 226 */ "expr ::= expr in_op LP exprlist RP", | |
| 109445 | + /* 227 */ "expr ::= LP select RP", | |
| 109446 | + /* 228 */ "expr ::= expr in_op LP select RP", | |
| 109447 | + /* 229 */ "expr ::= expr in_op nm dbnm", | |
| 109448 | + /* 230 */ "expr ::= EXISTS LP select RP", | |
| 109449 | + /* 231 */ "expr ::= CASE case_operand case_exprlist case_else END", | |
| 109450 | + /* 232 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", | |
| 109451 | + /* 233 */ "case_exprlist ::= WHEN expr THEN expr", | |
| 109452 | + /* 234 */ "case_else ::= ELSE expr", | |
| 109453 | + /* 235 */ "case_else ::=", | |
| 109454 | + /* 236 */ "case_operand ::= expr", | |
| 109455 | + /* 237 */ "case_operand ::=", | |
| 109456 | + /* 238 */ "exprlist ::= nexprlist", | |
| 109457 | + /* 239 */ "exprlist ::=", | |
| 109458 | + /* 240 */ "nexprlist ::= nexprlist COMMA expr", | |
| 109459 | + /* 241 */ "nexprlist ::= expr", | |
| 109460 | + /* 242 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP", | |
| 109461 | + /* 243 */ "uniqueflag ::= UNIQUE", | |
| 109462 | + /* 244 */ "uniqueflag ::=", | |
| 109463 | + /* 245 */ "idxlist_opt ::=", | |
| 109464 | + /* 246 */ "idxlist_opt ::= LP idxlist RP", | |
| 109465 | + /* 247 */ "idxlist ::= idxlist COMMA nm collate sortorder", | |
| 109466 | + /* 248 */ "idxlist ::= nm collate sortorder", | |
| 109467 | + /* 249 */ "collate ::=", | |
| 109468 | + /* 250 */ "collate ::= COLLATE ids", | |
| 109469 | + /* 251 */ "cmd ::= DROP INDEX ifexists fullname", | |
| 109470 | + /* 252 */ "cmd ::= VACUUM", | |
| 109471 | + /* 253 */ "cmd ::= VACUUM nm", | |
| 109472 | + /* 254 */ "cmd ::= PRAGMA nm dbnm", | |
| 109473 | + /* 255 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", | |
| 109474 | + /* 256 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", | |
| 109475 | + /* 257 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", | |
| 109476 | + /* 258 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", | |
| 109477 | + /* 259 */ "nmnum ::= plus_num", | |
| 109478 | + /* 260 */ "nmnum ::= nm", | |
| 109479 | + /* 261 */ "nmnum ::= ON", | |
| 109480 | + /* 262 */ "nmnum ::= DELETE", | |
| 109481 | + /* 263 */ "nmnum ::= DEFAULT", | |
| 109482 | + /* 264 */ "plus_num ::= PLUS number", | |
| 109483 | + /* 265 */ "plus_num ::= number", | |
| 109484 | + /* 266 */ "minus_num ::= MINUS number", | |
| 109485 | + /* 267 */ "number ::= INTEGER|FLOAT", | |
| 109486 | + /* 268 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", | |
| 109487 | + /* 269 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", | |
| 109488 | + /* 270 */ "trigger_time ::= BEFORE", | |
| 109489 | + /* 271 */ "trigger_time ::= AFTER", | |
| 109490 | + /* 272 */ "trigger_time ::= INSTEAD OF", | |
| 109491 | + /* 273 */ "trigger_time ::=", | |
| 109492 | + /* 274 */ "trigger_event ::= DELETE|INSERT", | |
| 109493 | + /* 275 */ "trigger_event ::= UPDATE", | |
| 109494 | + /* 276 */ "trigger_event ::= UPDATE OF inscollist", | |
| 109495 | + /* 277 */ "foreach_clause ::=", | |
| 109496 | + /* 278 */ "foreach_clause ::= FOR EACH ROW", | |
| 109497 | + /* 279 */ "when_clause ::=", | |
| 109498 | + /* 280 */ "when_clause ::= WHEN expr", | |
| 109499 | + /* 281 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", | |
| 109500 | + /* 282 */ "trigger_cmd_list ::= trigger_cmd SEMI", | |
| 109501 | + /* 283 */ "trnm ::= nm", | |
| 109502 | + /* 284 */ "trnm ::= nm DOT nm", | |
| 109503 | + /* 285 */ "tridxby ::=", | |
| 109504 | + /* 286 */ "tridxby ::= INDEXED BY nm", | |
| 109505 | + /* 287 */ "tridxby ::= NOT INDEXED", | |
| 109506 | + /* 288 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", | |
| 109507 | + /* 289 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist", | |
| 109508 | + /* 290 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", | |
| 109509 | + /* 291 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", | |
| 109510 | + /* 292 */ "trigger_cmd ::= select", | |
| 109511 | + /* 293 */ "expr ::= RAISE LP IGNORE RP", | |
| 109512 | + /* 294 */ "expr ::= RAISE LP raisetype COMMA nm RP", | |
| 109513 | + /* 295 */ "raisetype ::= ROLLBACK", | |
| 109514 | + /* 296 */ "raisetype ::= ABORT", | |
| 109515 | + /* 297 */ "raisetype ::= FAIL", | |
| 109516 | + /* 298 */ "cmd ::= DROP TRIGGER ifexists fullname", | |
| 109517 | + /* 299 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", | |
| 109518 | + /* 300 */ "cmd ::= DETACH database_kw_opt expr", | |
| 109519 | + /* 301 */ "key_opt ::=", | |
| 109520 | + /* 302 */ "key_opt ::= KEY expr", | |
| 109521 | + /* 303 */ "database_kw_opt ::= DATABASE", | |
| 109522 | + /* 304 */ "database_kw_opt ::=", | |
| 109523 | + /* 305 */ "cmd ::= REINDEX", | |
| 109524 | + /* 306 */ "cmd ::= REINDEX nm dbnm", | |
| 109525 | + /* 307 */ "cmd ::= ANALYZE", | |
| 109526 | + /* 308 */ "cmd ::= ANALYZE nm dbnm", | |
| 109527 | + /* 309 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", | |
| 109528 | + /* 310 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", | |
| 109529 | + /* 311 */ "add_column_fullname ::= fullname", | |
| 109530 | + /* 312 */ "kwcolumn_opt ::=", | |
| 109531 | + /* 313 */ "kwcolumn_opt ::= COLUMNKW", | |
| 109532 | + /* 314 */ "cmd ::= create_vtab", | |
| 109533 | + /* 315 */ "cmd ::= create_vtab LP vtabarglist RP", | |
| 109534 | + /* 316 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", | |
| 109535 | + /* 317 */ "vtabarglist ::= vtabarg", | |
| 109536 | + /* 318 */ "vtabarglist ::= vtabarglist COMMA vtabarg", | |
| 109537 | + /* 319 */ "vtabarg ::=", | |
| 109538 | + /* 320 */ "vtabarg ::= vtabarg vtabargtoken", | |
| 109539 | + /* 321 */ "vtabargtoken ::= ANY", | |
| 109540 | + /* 322 */ "vtabargtoken ::= lp anylist RP", | |
| 109541 | + /* 323 */ "lp ::= LP", | |
| 109542 | + /* 324 */ "anylist ::=", | |
| 109543 | + /* 325 */ "anylist ::= anylist LP anylist RP", | |
| 109544 | + /* 326 */ "anylist ::= anylist ANY", | |
| 109476 | 109545 | }; |
| 109477 | 109546 | #endif /* NDEBUG */ |
| 109478 | 109547 | |
| 109479 | 109548 | |
| 109480 | 109549 | #if YYSTACKDEPTH<=0 |
| @@ -109555,17 +109624,17 @@ | ||
| 109555 | 109624 | case 194: /* oneselect */ |
| 109556 | 109625 | { |
| 109557 | 109626 | sqlite3SelectDelete(pParse->db, (yypminor->yy159)); |
| 109558 | 109627 | } |
| 109559 | 109628 | break; |
| 109560 | - case 174: /* term */ | |
| 109561 | - case 175: /* expr */ | |
| 109629 | + case 173: /* term */ | |
| 109630 | + case 174: /* expr */ | |
| 109562 | 109631 | { |
| 109563 | 109632 | sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); |
| 109564 | 109633 | } |
| 109565 | 109634 | break; |
| 109566 | - case 179: /* idxlist_opt */ | |
| 109635 | + case 178: /* idxlist_opt */ | |
| 109567 | 109636 | case 187: /* idxlist */ |
| 109568 | 109637 | case 197: /* selcollist */ |
| 109569 | 109638 | case 200: /* groupby_opt */ |
| 109570 | 109639 | case 202: /* orderby_opt */ |
| 109571 | 109640 | case 204: /* sclp */ |
| @@ -109916,57 +109985,59 @@ | ||
| 109916 | 109985 | { 167, 6 }, |
| 109917 | 109986 | { 168, 1 }, |
| 109918 | 109987 | { 168, 2 }, |
| 109919 | 109988 | { 169, 1 }, |
| 109920 | 109989 | { 169, 1 }, |
| 109921 | - { 164, 3 }, | |
| 109922 | - { 164, 0 }, | |
| 109923 | - { 172, 2 }, | |
| 109924 | - { 172, 0 }, | |
| 109925 | - { 173, 2 }, | |
| 109926 | - { 173, 4 }, | |
| 109927 | - { 173, 3 }, | |
| 109928 | - { 173, 3 }, | |
| 109929 | - { 173, 2 }, | |
| 109930 | - { 173, 2 }, | |
| 109931 | - { 173, 3 }, | |
| 109932 | - { 173, 5 }, | |
| 109933 | - { 173, 2 }, | |
| 109934 | - { 173, 4 }, | |
| 109935 | - { 173, 4 }, | |
| 109936 | - { 173, 1 }, | |
| 109937 | - { 173, 2 }, | |
| 109938 | - { 178, 0 }, | |
| 109939 | - { 178, 1 }, | |
| 109940 | - { 180, 0 }, | |
| 109941 | - { 180, 2 }, | |
| 109942 | - { 182, 2 }, | |
| 109943 | - { 182, 3 }, | |
| 109944 | - { 182, 3 }, | |
| 109945 | - { 182, 3 }, | |
| 109946 | - { 183, 2 }, | |
| 109947 | - { 183, 2 }, | |
| 109948 | - { 183, 1 }, | |
| 109949 | - { 183, 1 }, | |
| 109950 | - { 183, 2 }, | |
| 109951 | - { 181, 3 }, | |
| 109952 | - { 181, 2 }, | |
| 109953 | - { 184, 0 }, | |
| 109954 | - { 184, 2 }, | |
| 109955 | - { 184, 2 }, | |
| 109956 | - { 159, 0 }, | |
| 109957 | - { 159, 2 }, | |
| 109958 | - { 185, 4 }, | |
| 109990 | + { 164, 2 }, | |
| 109991 | + { 164, 0 }, | |
| 109992 | + { 172, 2 }, | |
| 109993 | + { 172, 2 }, | |
| 109994 | + { 172, 4 }, | |
| 109995 | + { 172, 3 }, | |
| 109996 | + { 172, 3 }, | |
| 109997 | + { 172, 2 }, | |
| 109998 | + { 172, 2 }, | |
| 109999 | + { 172, 3 }, | |
| 110000 | + { 172, 5 }, | |
| 110001 | + { 172, 2 }, | |
| 110002 | + { 172, 4 }, | |
| 110003 | + { 172, 4 }, | |
| 110004 | + { 172, 1 }, | |
| 110005 | + { 172, 2 }, | |
| 110006 | + { 177, 0 }, | |
| 110007 | + { 177, 1 }, | |
| 110008 | + { 179, 0 }, | |
| 110009 | + { 179, 2 }, | |
| 110010 | + { 181, 2 }, | |
| 110011 | + { 181, 3 }, | |
| 110012 | + { 181, 3 }, | |
| 110013 | + { 181, 3 }, | |
| 110014 | + { 182, 2 }, | |
| 110015 | + { 182, 2 }, | |
| 110016 | + { 182, 1 }, | |
| 110017 | + { 182, 1 }, | |
| 110018 | + { 182, 2 }, | |
| 110019 | + { 180, 3 }, | |
| 110020 | + { 180, 2 }, | |
| 110021 | + { 183, 0 }, | |
| 110022 | + { 183, 2 }, | |
| 110023 | + { 183, 2 }, | |
| 110024 | + { 159, 0 }, | |
| 110025 | + { 159, 3 }, | |
| 110026 | + { 184, 4 }, | |
| 110027 | + { 184, 3 }, | |
| 110028 | + { 184, 2 }, | |
| 110029 | + { 185, 0 }, | |
| 109959 | 110030 | { 185, 2 }, |
| 109960 | 110031 | { 186, 7 }, |
| 109961 | 110032 | { 186, 5 }, |
| 109962 | 110033 | { 186, 5 }, |
| 109963 | 110034 | { 186, 10 }, |
| 109964 | 110035 | { 188, 0 }, |
| 109965 | 110036 | { 188, 1 }, |
| 109966 | - { 176, 0 }, | |
| 109967 | - { 176, 3 }, | |
| 110037 | + { 175, 0 }, | |
| 110038 | + { 175, 3 }, | |
| 109968 | 110039 | { 189, 0 }, |
| 109969 | 110040 | { 189, 2 }, |
| 109970 | 110041 | { 190, 1 }, |
| 109971 | 110042 | { 190, 1 }, |
| 109972 | 110043 | { 190, 1 }, |
| @@ -110016,13 +110087,13 @@ | ||
| 110016 | 110087 | { 211, 0 }, |
| 110017 | 110088 | { 202, 0 }, |
| 110018 | 110089 | { 202, 3 }, |
| 110019 | 110090 | { 214, 4 }, |
| 110020 | 110091 | { 214, 2 }, |
| 110021 | - { 177, 1 }, | |
| 110022 | - { 177, 1 }, | |
| 110023 | - { 177, 0 }, | |
| 110092 | + { 176, 1 }, | |
| 110093 | + { 176, 1 }, | |
| 110094 | + { 176, 0 }, | |
| 110024 | 110095 | { 200, 0 }, |
| 110025 | 110096 | { 200, 3 }, |
| 110026 | 110097 | { 201, 0 }, |
| 110027 | 110098 | { 201, 2 }, |
| 110028 | 110099 | { 203, 0 }, |
| @@ -110044,59 +110115,59 @@ | ||
| 110044 | 110115 | { 219, 5 }, |
| 110045 | 110116 | { 218, 0 }, |
| 110046 | 110117 | { 218, 3 }, |
| 110047 | 110118 | { 213, 3 }, |
| 110048 | 110119 | { 213, 1 }, |
| 110049 | - { 175, 1 }, | |
| 110050 | - { 175, 3 }, | |
| 110051 | - { 174, 1 }, | |
| 110052 | - { 175, 1 }, | |
| 110053 | - { 175, 1 }, | |
| 110054 | - { 175, 3 }, | |
| 110055 | - { 175, 5 }, | |
| 110056 | - { 174, 1 }, | |
| 110057 | - { 174, 1 }, | |
| 110058 | - { 175, 1 }, | |
| 110059 | - { 175, 1 }, | |
| 110060 | - { 175, 3 }, | |
| 110061 | - { 175, 6 }, | |
| 110062 | - { 175, 5 }, | |
| 110063 | - { 175, 4 }, | |
| 110064 | - { 174, 1 }, | |
| 110065 | - { 175, 3 }, | |
| 110066 | - { 175, 3 }, | |
| 110067 | - { 175, 3 }, | |
| 110068 | - { 175, 3 }, | |
| 110069 | - { 175, 3 }, | |
| 110070 | - { 175, 3 }, | |
| 110071 | - { 175, 3 }, | |
| 110072 | - { 175, 3 }, | |
| 110120 | + { 174, 1 }, | |
| 110121 | + { 174, 3 }, | |
| 110122 | + { 173, 1 }, | |
| 110123 | + { 174, 1 }, | |
| 110124 | + { 174, 1 }, | |
| 110125 | + { 174, 3 }, | |
| 110126 | + { 174, 5 }, | |
| 110127 | + { 173, 1 }, | |
| 110128 | + { 173, 1 }, | |
| 110129 | + { 174, 1 }, | |
| 110130 | + { 174, 1 }, | |
| 110131 | + { 174, 3 }, | |
| 110132 | + { 174, 6 }, | |
| 110133 | + { 174, 5 }, | |
| 110134 | + { 174, 4 }, | |
| 110135 | + { 173, 1 }, | |
| 110136 | + { 174, 3 }, | |
| 110137 | + { 174, 3 }, | |
| 110138 | + { 174, 3 }, | |
| 110139 | + { 174, 3 }, | |
| 110140 | + { 174, 3 }, | |
| 110141 | + { 174, 3 }, | |
| 110142 | + { 174, 3 }, | |
| 110143 | + { 174, 3 }, | |
| 110073 | 110144 | { 221, 1 }, |
| 110074 | 110145 | { 221, 2 }, |
| 110075 | 110146 | { 221, 1 }, |
| 110076 | 110147 | { 221, 2 }, |
| 110077 | - { 175, 3 }, | |
| 110078 | - { 175, 5 }, | |
| 110079 | - { 175, 2 }, | |
| 110080 | - { 175, 3 }, | |
| 110081 | - { 175, 3 }, | |
| 110082 | - { 175, 4 }, | |
| 110083 | - { 175, 2 }, | |
| 110084 | - { 175, 2 }, | |
| 110085 | - { 175, 2 }, | |
| 110086 | - { 175, 2 }, | |
| 110148 | + { 174, 3 }, | |
| 110149 | + { 174, 5 }, | |
| 110150 | + { 174, 2 }, | |
| 110151 | + { 174, 3 }, | |
| 110152 | + { 174, 3 }, | |
| 110153 | + { 174, 4 }, | |
| 110154 | + { 174, 2 }, | |
| 110155 | + { 174, 2 }, | |
| 110156 | + { 174, 2 }, | |
| 110157 | + { 174, 2 }, | |
| 110087 | 110158 | { 222, 1 }, |
| 110088 | 110159 | { 222, 2 }, |
| 110089 | - { 175, 5 }, | |
| 110160 | + { 174, 5 }, | |
| 110090 | 110161 | { 223, 1 }, |
| 110091 | 110162 | { 223, 2 }, |
| 110092 | - { 175, 5 }, | |
| 110093 | - { 175, 3 }, | |
| 110094 | - { 175, 5 }, | |
| 110095 | - { 175, 4 }, | |
| 110096 | - { 175, 4 }, | |
| 110097 | - { 175, 5 }, | |
| 110163 | + { 174, 5 }, | |
| 110164 | + { 174, 3 }, | |
| 110165 | + { 174, 5 }, | |
| 110166 | + { 174, 4 }, | |
| 110167 | + { 174, 4 }, | |
| 110168 | + { 174, 5 }, | |
| 110098 | 110169 | { 225, 5 }, |
| 110099 | 110170 | { 225, 4 }, |
| 110100 | 110171 | { 226, 2 }, |
| 110101 | 110172 | { 226, 0 }, |
| 110102 | 110173 | { 224, 1 }, |
| @@ -110106,12 +110177,12 @@ | ||
| 110106 | 110177 | { 215, 3 }, |
| 110107 | 110178 | { 215, 1 }, |
| 110108 | 110179 | { 147, 11 }, |
| 110109 | 110180 | { 227, 1 }, |
| 110110 | 110181 | { 227, 0 }, |
| 110111 | - { 179, 0 }, | |
| 110112 | - { 179, 3 }, | |
| 110182 | + { 178, 0 }, | |
| 110183 | + { 178, 3 }, | |
| 110113 | 110184 | { 187, 5 }, |
| 110114 | 110185 | { 187, 3 }, |
| 110115 | 110186 | { 228, 0 }, |
| 110116 | 110187 | { 228, 2 }, |
| 110117 | 110188 | { 147, 4 }, |
| @@ -110154,12 +110225,12 @@ | ||
| 110154 | 110225 | { 237, 7 }, |
| 110155 | 110226 | { 237, 5 }, |
| 110156 | 110227 | { 237, 5 }, |
| 110157 | 110228 | { 237, 5 }, |
| 110158 | 110229 | { 237, 1 }, |
| 110159 | - { 175, 4 }, | |
| 110160 | - { 175, 6 }, | |
| 110230 | + { 174, 4 }, | |
| 110231 | + { 174, 6 }, | |
| 110161 | 110232 | { 191, 1 }, |
| 110162 | 110233 | { 191, 1 }, |
| 110163 | 110234 | { 191, 1 }, |
| 110164 | 110235 | { 147, 4 }, |
| 110165 | 110236 | { 147, 6 }, |
| @@ -110263,12 +110334,12 @@ | ||
| 110263 | 110334 | {yygotominor.yy392 = TK_DEFERRED;} |
| 110264 | 110335 | break; |
| 110265 | 110336 | case 14: /* transtype ::= DEFERRED */ |
| 110266 | 110337 | case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); |
| 110267 | 110338 | case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); |
| 110268 | - case 113: /* multiselect_op ::= UNION */ yytestcase(yyruleno==113); | |
| 110269 | - case 115: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==115); | |
| 110339 | + case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); | |
| 110340 | + case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==117); | |
| 110270 | 110341 | {yygotominor.yy392 = yymsp[0].major;} |
| 110271 | 110342 | break; |
| 110272 | 110343 | case 17: /* cmd ::= COMMIT trans_opt */ |
| 110273 | 110344 | case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); |
| 110274 | 110345 | {sqlite3CommitTransaction(pParse);} |
| @@ -110302,30 +110373,30 @@ | ||
| 110302 | 110373 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 110303 | 110374 | } |
| 110304 | 110375 | break; |
| 110305 | 110376 | case 28: /* ifnotexists ::= */ |
| 110306 | 110377 | case 31: /* temp ::= */ yytestcase(yyruleno==31); |
| 110307 | - case 70: /* autoinc ::= */ yytestcase(yyruleno==70); | |
| 110308 | - case 83: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==83); | |
| 110309 | - case 85: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==85); | |
| 110310 | - case 87: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==87); | |
| 110311 | - case 96: /* defer_subclause_opt ::= */ yytestcase(yyruleno==96); | |
| 110312 | - case 107: /* ifexists ::= */ yytestcase(yyruleno==107); | |
| 110313 | - case 118: /* distinct ::= ALL */ yytestcase(yyruleno==118); | |
| 110314 | - case 119: /* distinct ::= */ yytestcase(yyruleno==119); | |
| 110315 | - case 219: /* between_op ::= BETWEEN */ yytestcase(yyruleno==219); | |
| 110316 | - case 222: /* in_op ::= IN */ yytestcase(yyruleno==222); | |
| 110378 | + case 69: /* autoinc ::= */ yytestcase(yyruleno==69); | |
| 110379 | + case 82: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==82); | |
| 110380 | + case 84: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==84); | |
| 110381 | + case 86: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==86); | |
| 110382 | + case 98: /* defer_subclause_opt ::= */ yytestcase(yyruleno==98); | |
| 110383 | + case 109: /* ifexists ::= */ yytestcase(yyruleno==109); | |
| 110384 | + case 120: /* distinct ::= ALL */ yytestcase(yyruleno==120); | |
| 110385 | + case 121: /* distinct ::= */ yytestcase(yyruleno==121); | |
| 110386 | + case 221: /* between_op ::= BETWEEN */ yytestcase(yyruleno==221); | |
| 110387 | + case 224: /* in_op ::= IN */ yytestcase(yyruleno==224); | |
| 110317 | 110388 | {yygotominor.yy392 = 0;} |
| 110318 | 110389 | break; |
| 110319 | 110390 | case 29: /* ifnotexists ::= IF NOT EXISTS */ |
| 110320 | 110391 | case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); |
| 110321 | - case 71: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==71); | |
| 110322 | - case 86: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==86); | |
| 110323 | - case 106: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==106); | |
| 110324 | - case 117: /* distinct ::= DISTINCT */ yytestcase(yyruleno==117); | |
| 110325 | - case 220: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==220); | |
| 110326 | - case 223: /* in_op ::= NOT IN */ yytestcase(yyruleno==223); | |
| 110392 | + case 70: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==70); | |
| 110393 | + case 85: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==85); | |
| 110394 | + case 108: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==108); | |
| 110395 | + case 119: /* distinct ::= DISTINCT */ yytestcase(yyruleno==119); | |
| 110396 | + case 222: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==222); | |
| 110397 | + case 225: /* in_op ::= NOT IN */ yytestcase(yyruleno==225); | |
| 110327 | 110398 | {yygotominor.yy392 = 1;} |
| 110328 | 110399 | break; |
| 110329 | 110400 | case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ |
| 110330 | 110401 | { |
| 110331 | 110402 | sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); |
| @@ -110345,10 +110416,11 @@ | ||
| 110345 | 110416 | break; |
| 110346 | 110417 | case 37: /* columnid ::= nm */ |
| 110347 | 110418 | { |
| 110348 | 110419 | sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); |
| 110349 | 110420 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 110421 | + pParse->constraintName.n = 0; | |
| 110350 | 110422 | } |
| 110351 | 110423 | break; |
| 110352 | 110424 | case 38: /* id ::= ID */ |
| 110353 | 110425 | case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39); |
| 110354 | 110426 | case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40); |
| @@ -110355,25 +110427,25 @@ | ||
| 110355 | 110427 | case 41: /* nm ::= id */ yytestcase(yyruleno==41); |
| 110356 | 110428 | case 42: /* nm ::= STRING */ yytestcase(yyruleno==42); |
| 110357 | 110429 | case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43); |
| 110358 | 110430 | case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); |
| 110359 | 110431 | case 49: /* typename ::= ids */ yytestcase(yyruleno==49); |
| 110360 | - case 125: /* as ::= AS nm */ yytestcase(yyruleno==125); | |
| 110361 | - case 126: /* as ::= ids */ yytestcase(yyruleno==126); | |
| 110362 | - case 136: /* dbnm ::= DOT nm */ yytestcase(yyruleno==136); | |
| 110363 | - case 145: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==145); | |
| 110364 | - case 248: /* collate ::= COLLATE ids */ yytestcase(yyruleno==248); | |
| 110365 | - case 257: /* nmnum ::= plus_num */ yytestcase(yyruleno==257); | |
| 110366 | - case 258: /* nmnum ::= nm */ yytestcase(yyruleno==258); | |
| 110367 | - case 259: /* nmnum ::= ON */ yytestcase(yyruleno==259); | |
| 110368 | - case 260: /* nmnum ::= DELETE */ yytestcase(yyruleno==260); | |
| 110369 | - case 261: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==261); | |
| 110370 | - case 262: /* plus_num ::= PLUS number */ yytestcase(yyruleno==262); | |
| 110371 | - case 263: /* plus_num ::= number */ yytestcase(yyruleno==263); | |
| 110372 | - case 264: /* minus_num ::= MINUS number */ yytestcase(yyruleno==264); | |
| 110373 | - case 265: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==265); | |
| 110374 | - case 281: /* trnm ::= nm */ yytestcase(yyruleno==281); | |
| 110432 | + case 127: /* as ::= AS nm */ yytestcase(yyruleno==127); | |
| 110433 | + case 128: /* as ::= ids */ yytestcase(yyruleno==128); | |
| 110434 | + case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138); | |
| 110435 | + case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147); | |
| 110436 | + case 250: /* collate ::= COLLATE ids */ yytestcase(yyruleno==250); | |
| 110437 | + case 259: /* nmnum ::= plus_num */ yytestcase(yyruleno==259); | |
| 110438 | + case 260: /* nmnum ::= nm */ yytestcase(yyruleno==260); | |
| 110439 | + case 261: /* nmnum ::= ON */ yytestcase(yyruleno==261); | |
| 110440 | + case 262: /* nmnum ::= DELETE */ yytestcase(yyruleno==262); | |
| 110441 | + case 263: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==263); | |
| 110442 | + case 264: /* plus_num ::= PLUS number */ yytestcase(yyruleno==264); | |
| 110443 | + case 265: /* plus_num ::= number */ yytestcase(yyruleno==265); | |
| 110444 | + case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266); | |
| 110445 | + case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267); | |
| 110446 | + case 283: /* trnm ::= nm */ yytestcase(yyruleno==283); | |
| 110375 | 110447 | {yygotominor.yy0 = yymsp[0].minor.yy0;} |
| 110376 | 110448 | break; |
| 110377 | 110449 | case 45: /* type ::= typetoken */ |
| 110378 | 110450 | {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} |
| 110379 | 110451 | break; |
| @@ -110390,162 +110462,163 @@ | ||
| 110390 | 110462 | } |
| 110391 | 110463 | break; |
| 110392 | 110464 | case 50: /* typename ::= typename ids */ |
| 110393 | 110465 | {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);} |
| 110394 | 110466 | break; |
| 110395 | - case 55: /* cname ::= CONSTRAINT nm */ | |
| 110467 | + case 55: /* ccons ::= CONSTRAINT nm */ | |
| 110468 | + case 93: /* cname ::= CONSTRAINT nm */ yytestcase(yyruleno==93); | |
| 110396 | 110469 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 110397 | 110470 | break; |
| 110398 | - case 56: /* cname ::= */ | |
| 110399 | -{pParse->constraintName.n = 0;} | |
| 110400 | - break; | |
| 110401 | - case 57: /* ccons ::= DEFAULT term */ | |
| 110402 | - case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); | |
| 110471 | + case 56: /* ccons ::= DEFAULT term */ | |
| 110472 | + case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58); | |
| 110403 | 110473 | {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} |
| 110404 | 110474 | break; |
| 110405 | - case 58: /* ccons ::= DEFAULT LP expr RP */ | |
| 110475 | + case 57: /* ccons ::= DEFAULT LP expr RP */ | |
| 110406 | 110476 | {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);} |
| 110407 | 110477 | break; |
| 110408 | - case 60: /* ccons ::= DEFAULT MINUS term */ | |
| 110478 | + case 59: /* ccons ::= DEFAULT MINUS term */ | |
| 110409 | 110479 | { |
| 110410 | 110480 | ExprSpan v; |
| 110411 | 110481 | v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0); |
| 110412 | 110482 | v.zStart = yymsp[-1].minor.yy0.z; |
| 110413 | 110483 | v.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110414 | 110484 | sqlite3AddDefaultValue(pParse,&v); |
| 110415 | 110485 | } |
| 110416 | 110486 | break; |
| 110417 | - case 61: /* ccons ::= DEFAULT id */ | |
| 110487 | + case 60: /* ccons ::= DEFAULT id */ | |
| 110418 | 110488 | { |
| 110419 | 110489 | ExprSpan v; |
| 110420 | 110490 | spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); |
| 110421 | 110491 | sqlite3AddDefaultValue(pParse,&v); |
| 110422 | 110492 | } |
| 110423 | 110493 | break; |
| 110424 | - case 63: /* ccons ::= NOT NULL onconf */ | |
| 110494 | + case 62: /* ccons ::= NOT NULL onconf */ | |
| 110425 | 110495 | {sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);} |
| 110426 | 110496 | break; |
| 110427 | - case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ | |
| 110497 | + case 63: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ | |
| 110428 | 110498 | {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[-2].minor.yy392);} |
| 110429 | 110499 | break; |
| 110430 | - case 65: /* ccons ::= UNIQUE onconf */ | |
| 110500 | + case 64: /* ccons ::= UNIQUE onconf */ | |
| 110431 | 110501 | {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);} |
| 110432 | 110502 | break; |
| 110433 | - case 66: /* ccons ::= CHECK LP expr RP */ | |
| 110503 | + case 65: /* ccons ::= CHECK LP expr RP */ | |
| 110434 | 110504 | {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);} |
| 110435 | 110505 | break; |
| 110436 | - case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */ | |
| 110506 | + case 66: /* ccons ::= REFERENCES nm idxlist_opt refargs */ | |
| 110437 | 110507 | {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy392);} |
| 110438 | 110508 | break; |
| 110439 | - case 68: /* ccons ::= defer_subclause */ | |
| 110509 | + case 67: /* ccons ::= defer_subclause */ | |
| 110440 | 110510 | {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);} |
| 110441 | 110511 | break; |
| 110442 | - case 69: /* ccons ::= COLLATE ids */ | |
| 110512 | + case 68: /* ccons ::= COLLATE ids */ | |
| 110443 | 110513 | {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 110444 | 110514 | break; |
| 110445 | - case 72: /* refargs ::= */ | |
| 110515 | + case 71: /* refargs ::= */ | |
| 110446 | 110516 | { yygotominor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 110447 | 110517 | break; |
| 110448 | - case 73: /* refargs ::= refargs refarg */ | |
| 110518 | + case 72: /* refargs ::= refargs refarg */ | |
| 110449 | 110519 | { yygotominor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; } |
| 110450 | 110520 | break; |
| 110451 | - case 74: /* refarg ::= MATCH nm */ | |
| 110452 | - case 75: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==75); | |
| 110521 | + case 73: /* refarg ::= MATCH nm */ | |
| 110522 | + case 74: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==74); | |
| 110453 | 110523 | { yygotominor.yy207.value = 0; yygotominor.yy207.mask = 0x000000; } |
| 110454 | 110524 | break; |
| 110455 | - case 76: /* refarg ::= ON DELETE refact */ | |
| 110525 | + case 75: /* refarg ::= ON DELETE refact */ | |
| 110456 | 110526 | { yygotominor.yy207.value = yymsp[0].minor.yy392; yygotominor.yy207.mask = 0x0000ff; } |
| 110457 | 110527 | break; |
| 110458 | - case 77: /* refarg ::= ON UPDATE refact */ | |
| 110528 | + case 76: /* refarg ::= ON UPDATE refact */ | |
| 110459 | 110529 | { yygotominor.yy207.value = yymsp[0].minor.yy392<<8; yygotominor.yy207.mask = 0x00ff00; } |
| 110460 | 110530 | break; |
| 110461 | - case 78: /* refact ::= SET NULL */ | |
| 110531 | + case 77: /* refact ::= SET NULL */ | |
| 110462 | 110532 | { yygotominor.yy392 = OE_SetNull; /* EV: R-33326-45252 */} |
| 110463 | 110533 | break; |
| 110464 | - case 79: /* refact ::= SET DEFAULT */ | |
| 110534 | + case 78: /* refact ::= SET DEFAULT */ | |
| 110465 | 110535 | { yygotominor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 110466 | 110536 | break; |
| 110467 | - case 80: /* refact ::= CASCADE */ | |
| 110537 | + case 79: /* refact ::= CASCADE */ | |
| 110468 | 110538 | { yygotominor.yy392 = OE_Cascade; /* EV: R-33326-45252 */} |
| 110469 | 110539 | break; |
| 110470 | - case 81: /* refact ::= RESTRICT */ | |
| 110540 | + case 80: /* refact ::= RESTRICT */ | |
| 110471 | 110541 | { yygotominor.yy392 = OE_Restrict; /* EV: R-33326-45252 */} |
| 110472 | 110542 | break; |
| 110473 | - case 82: /* refact ::= NO ACTION */ | |
| 110543 | + case 81: /* refact ::= NO ACTION */ | |
| 110474 | 110544 | { yygotominor.yy392 = OE_None; /* EV: R-33326-45252 */} |
| 110475 | 110545 | break; |
| 110476 | - case 84: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ | |
| 110477 | - case 97: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==97); | |
| 110478 | - case 99: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==99); | |
| 110479 | - case 102: /* resolvetype ::= raisetype */ yytestcase(yyruleno==102); | |
| 110546 | + case 83: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ | |
| 110547 | + case 99: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==99); | |
| 110548 | + case 101: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==101); | |
| 110549 | + case 104: /* resolvetype ::= raisetype */ yytestcase(yyruleno==104); | |
| 110480 | 110550 | {yygotominor.yy392 = yymsp[0].minor.yy392;} |
| 110481 | 110551 | break; |
| 110482 | - case 88: /* conslist_opt ::= */ | |
| 110552 | + case 87: /* conslist_opt ::= */ | |
| 110483 | 110553 | {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} |
| 110484 | 110554 | break; |
| 110485 | - case 89: /* conslist_opt ::= COMMA conslist */ | |
| 110486 | -{yygotominor.yy0 = yymsp[-1].minor.yy0;} | |
| 110555 | + case 88: /* conslist_opt ::= COMMA conslist cname */ | |
| 110556 | +{yygotominor.yy0 = yymsp[-2].minor.yy0;} | |
| 110487 | 110557 | break; |
| 110488 | - case 92: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ | |
| 110558 | + case 92: /* cname ::= */ | |
| 110559 | +{pParse->constraintName.n = 0;} | |
| 110560 | + break; | |
| 110561 | + case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ | |
| 110489 | 110562 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} |
| 110490 | 110563 | break; |
| 110491 | - case 93: /* tcons ::= UNIQUE LP idxlist RP onconf */ | |
| 110564 | + case 95: /* tcons ::= UNIQUE LP idxlist RP onconf */ | |
| 110492 | 110565 | {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0,0,0);} |
| 110493 | 110566 | break; |
| 110494 | - case 94: /* tcons ::= CHECK LP expr RP onconf */ | |
| 110567 | + case 96: /* tcons ::= CHECK LP expr RP onconf */ | |
| 110495 | 110568 | {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);} |
| 110496 | 110569 | break; |
| 110497 | - case 95: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ | |
| 110570 | + case 97: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ | |
| 110498 | 110571 | { |
| 110499 | 110572 | sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy392); |
| 110500 | 110573 | sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392); |
| 110501 | 110574 | } |
| 110502 | 110575 | break; |
| 110503 | - case 98: /* onconf ::= */ | |
| 110576 | + case 100: /* onconf ::= */ | |
| 110504 | 110577 | {yygotominor.yy392 = OE_Default;} |
| 110505 | 110578 | break; |
| 110506 | - case 100: /* orconf ::= */ | |
| 110579 | + case 102: /* orconf ::= */ | |
| 110507 | 110580 | {yygotominor.yy258 = OE_Default;} |
| 110508 | 110581 | break; |
| 110509 | - case 101: /* orconf ::= OR resolvetype */ | |
| 110582 | + case 103: /* orconf ::= OR resolvetype */ | |
| 110510 | 110583 | {yygotominor.yy258 = (u8)yymsp[0].minor.yy392;} |
| 110511 | 110584 | break; |
| 110512 | - case 103: /* resolvetype ::= IGNORE */ | |
| 110585 | + case 105: /* resolvetype ::= IGNORE */ | |
| 110513 | 110586 | {yygotominor.yy392 = OE_Ignore;} |
| 110514 | 110587 | break; |
| 110515 | - case 104: /* resolvetype ::= REPLACE */ | |
| 110588 | + case 106: /* resolvetype ::= REPLACE */ | |
| 110516 | 110589 | {yygotominor.yy392 = OE_Replace;} |
| 110517 | 110590 | break; |
| 110518 | - case 105: /* cmd ::= DROP TABLE ifexists fullname */ | |
| 110591 | + case 107: /* cmd ::= DROP TABLE ifexists fullname */ | |
| 110519 | 110592 | { |
| 110520 | 110593 | sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392); |
| 110521 | 110594 | } |
| 110522 | 110595 | break; |
| 110523 | - case 108: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ | |
| 110596 | + case 110: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ | |
| 110524 | 110597 | { |
| 110525 | 110598 | sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy159, yymsp[-6].minor.yy392, yymsp[-4].minor.yy392); |
| 110526 | 110599 | } |
| 110527 | 110600 | break; |
| 110528 | - case 109: /* cmd ::= DROP VIEW ifexists fullname */ | |
| 110601 | + case 111: /* cmd ::= DROP VIEW ifexists fullname */ | |
| 110529 | 110602 | { |
| 110530 | 110603 | sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392); |
| 110531 | 110604 | } |
| 110532 | 110605 | break; |
| 110533 | - case 110: /* cmd ::= select */ | |
| 110606 | + case 112: /* cmd ::= select */ | |
| 110534 | 110607 | { |
| 110535 | 110608 | SelectDest dest = {SRT_Output, 0, 0, 0, 0}; |
| 110536 | 110609 | sqlite3Select(pParse, yymsp[0].minor.yy159, &dest); |
| 110537 | 110610 | sqlite3ExplainBegin(pParse->pVdbe); |
| 110538 | 110611 | sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy159); |
| 110539 | 110612 | sqlite3ExplainFinish(pParse->pVdbe); |
| 110540 | 110613 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); |
| 110541 | 110614 | } |
| 110542 | 110615 | break; |
| 110543 | - case 111: /* select ::= oneselect */ | |
| 110616 | + case 113: /* select ::= oneselect */ | |
| 110544 | 110617 | {yygotominor.yy159 = yymsp[0].minor.yy159;} |
| 110545 | 110618 | break; |
| 110546 | - case 112: /* select ::= select multiselect_op oneselect */ | |
| 110619 | + case 114: /* select ::= select multiselect_op oneselect */ | |
| 110547 | 110620 | { |
| 110548 | 110621 | if( yymsp[0].minor.yy159 ){ |
| 110549 | 110622 | yymsp[0].minor.yy159->op = (u8)yymsp[-1].minor.yy392; |
| 110550 | 110623 | yymsp[0].minor.yy159->pPrior = yymsp[-2].minor.yy159; |
| 110551 | 110624 | }else{ |
| @@ -110552,83 +110625,83 @@ | ||
| 110552 | 110625 | sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy159); |
| 110553 | 110626 | } |
| 110554 | 110627 | yygotominor.yy159 = yymsp[0].minor.yy159; |
| 110555 | 110628 | } |
| 110556 | 110629 | break; |
| 110557 | - case 114: /* multiselect_op ::= UNION ALL */ | |
| 110630 | + case 116: /* multiselect_op ::= UNION ALL */ | |
| 110558 | 110631 | {yygotominor.yy392 = TK_ALL;} |
| 110559 | 110632 | break; |
| 110560 | - case 116: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ | |
| 110633 | + case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ | |
| 110561 | 110634 | { |
| 110562 | 110635 | yygotominor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy347,yymsp[-4].minor.yy122,yymsp[-3].minor.yy442,yymsp[-2].minor.yy122,yymsp[-1].minor.yy442,yymsp[-7].minor.yy392,yymsp[0].minor.yy64.pLimit,yymsp[0].minor.yy64.pOffset); |
| 110563 | 110636 | } |
| 110564 | 110637 | break; |
| 110565 | - case 120: /* sclp ::= selcollist COMMA */ | |
| 110566 | - case 244: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==244); | |
| 110638 | + case 122: /* sclp ::= selcollist COMMA */ | |
| 110639 | + case 246: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==246); | |
| 110567 | 110640 | {yygotominor.yy442 = yymsp[-1].minor.yy442;} |
| 110568 | 110641 | break; |
| 110569 | - case 121: /* sclp ::= */ | |
| 110570 | - case 149: /* orderby_opt ::= */ yytestcase(yyruleno==149); | |
| 110571 | - case 156: /* groupby_opt ::= */ yytestcase(yyruleno==156); | |
| 110572 | - case 237: /* exprlist ::= */ yytestcase(yyruleno==237); | |
| 110573 | - case 243: /* idxlist_opt ::= */ yytestcase(yyruleno==243); | |
| 110642 | + case 123: /* sclp ::= */ | |
| 110643 | + case 151: /* orderby_opt ::= */ yytestcase(yyruleno==151); | |
| 110644 | + case 158: /* groupby_opt ::= */ yytestcase(yyruleno==158); | |
| 110645 | + case 239: /* exprlist ::= */ yytestcase(yyruleno==239); | |
| 110646 | + case 245: /* idxlist_opt ::= */ yytestcase(yyruleno==245); | |
| 110574 | 110647 | {yygotominor.yy442 = 0;} |
| 110575 | 110648 | break; |
| 110576 | - case 122: /* selcollist ::= sclp expr as */ | |
| 110649 | + case 124: /* selcollist ::= sclp expr as */ | |
| 110577 | 110650 | { |
| 110578 | 110651 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yymsp[-1].minor.yy342.pExpr); |
| 110579 | 110652 | if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[0].minor.yy0, 1); |
| 110580 | 110653 | sqlite3ExprListSetSpan(pParse,yygotominor.yy442,&yymsp[-1].minor.yy342); |
| 110581 | 110654 | } |
| 110582 | 110655 | break; |
| 110583 | - case 123: /* selcollist ::= sclp STAR */ | |
| 110656 | + case 125: /* selcollist ::= sclp STAR */ | |
| 110584 | 110657 | { |
| 110585 | 110658 | Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); |
| 110586 | 110659 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p); |
| 110587 | 110660 | } |
| 110588 | 110661 | break; |
| 110589 | - case 124: /* selcollist ::= sclp nm DOT STAR */ | |
| 110662 | + case 126: /* selcollist ::= sclp nm DOT STAR */ | |
| 110590 | 110663 | { |
| 110591 | 110664 | Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); |
| 110592 | 110665 | Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110593 | 110666 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); |
| 110594 | 110667 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot); |
| 110595 | 110668 | } |
| 110596 | 110669 | break; |
| 110597 | - case 127: /* as ::= */ | |
| 110670 | + case 129: /* as ::= */ | |
| 110598 | 110671 | {yygotominor.yy0.n = 0;} |
| 110599 | 110672 | break; |
| 110600 | - case 128: /* from ::= */ | |
| 110673 | + case 130: /* from ::= */ | |
| 110601 | 110674 | {yygotominor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy347));} |
| 110602 | 110675 | break; |
| 110603 | - case 129: /* from ::= FROM seltablist */ | |
| 110676 | + case 131: /* from ::= FROM seltablist */ | |
| 110604 | 110677 | { |
| 110605 | 110678 | yygotominor.yy347 = yymsp[0].minor.yy347; |
| 110606 | 110679 | sqlite3SrcListShiftJoinType(yygotominor.yy347); |
| 110607 | 110680 | } |
| 110608 | 110681 | break; |
| 110609 | - case 130: /* stl_prefix ::= seltablist joinop */ | |
| 110682 | + case 132: /* stl_prefix ::= seltablist joinop */ | |
| 110610 | 110683 | { |
| 110611 | 110684 | yygotominor.yy347 = yymsp[-1].minor.yy347; |
| 110612 | 110685 | if( ALWAYS(yygotominor.yy347 && yygotominor.yy347->nSrc>0) ) yygotominor.yy347->a[yygotominor.yy347->nSrc-1].jointype = (u8)yymsp[0].minor.yy392; |
| 110613 | 110686 | } |
| 110614 | 110687 | break; |
| 110615 | - case 131: /* stl_prefix ::= */ | |
| 110688 | + case 133: /* stl_prefix ::= */ | |
| 110616 | 110689 | {yygotominor.yy347 = 0;} |
| 110617 | 110690 | break; |
| 110618 | - case 132: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ | |
| 110691 | + case 134: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ | |
| 110619 | 110692 | { |
| 110620 | 110693 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110621 | 110694 | sqlite3SrcListIndexedBy(pParse, yygotominor.yy347, &yymsp[-2].minor.yy0); |
| 110622 | 110695 | } |
| 110623 | 110696 | break; |
| 110624 | - case 133: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ | |
| 110697 | + case 135: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ | |
| 110625 | 110698 | { |
| 110626 | 110699 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy159,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110627 | 110700 | } |
| 110628 | 110701 | break; |
| 110629 | - case 134: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ | |
| 110702 | + case 136: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ | |
| 110630 | 110703 | { |
| 110631 | 110704 | if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy122==0 && yymsp[0].minor.yy180==0 ){ |
| 110632 | 110705 | yygotominor.yy347 = yymsp[-4].minor.yy347; |
| 110633 | 110706 | }else{ |
| 110634 | 110707 | Select *pSubquery; |
| @@ -110636,137 +110709,137 @@ | ||
| 110636 | 110709 | pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,0,0,0); |
| 110637 | 110710 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110638 | 110711 | } |
| 110639 | 110712 | } |
| 110640 | 110713 | break; |
| 110641 | - case 135: /* dbnm ::= */ | |
| 110642 | - case 144: /* indexed_opt ::= */ yytestcase(yyruleno==144); | |
| 110714 | + case 137: /* dbnm ::= */ | |
| 110715 | + case 146: /* indexed_opt ::= */ yytestcase(yyruleno==146); | |
| 110643 | 110716 | {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} |
| 110644 | 110717 | break; |
| 110645 | - case 137: /* fullname ::= nm dbnm */ | |
| 110718 | + case 139: /* fullname ::= nm dbnm */ | |
| 110646 | 110719 | {yygotominor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} |
| 110647 | 110720 | break; |
| 110648 | - case 138: /* joinop ::= COMMA|JOIN */ | |
| 110721 | + case 140: /* joinop ::= COMMA|JOIN */ | |
| 110649 | 110722 | { yygotominor.yy392 = JT_INNER; } |
| 110650 | 110723 | break; |
| 110651 | - case 139: /* joinop ::= JOIN_KW JOIN */ | |
| 110724 | + case 141: /* joinop ::= JOIN_KW JOIN */ | |
| 110652 | 110725 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } |
| 110653 | 110726 | break; |
| 110654 | - case 140: /* joinop ::= JOIN_KW nm JOIN */ | |
| 110727 | + case 142: /* joinop ::= JOIN_KW nm JOIN */ | |
| 110655 | 110728 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } |
| 110656 | 110729 | break; |
| 110657 | - case 141: /* joinop ::= JOIN_KW nm nm JOIN */ | |
| 110730 | + case 143: /* joinop ::= JOIN_KW nm nm JOIN */ | |
| 110658 | 110731 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } |
| 110659 | 110732 | break; |
| 110660 | - case 142: /* on_opt ::= ON expr */ | |
| 110661 | - case 159: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==159); | |
| 110662 | - case 166: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==166); | |
| 110663 | - case 232: /* case_else ::= ELSE expr */ yytestcase(yyruleno==232); | |
| 110664 | - case 234: /* case_operand ::= expr */ yytestcase(yyruleno==234); | |
| 110733 | + case 144: /* on_opt ::= ON expr */ | |
| 110734 | + case 161: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==161); | |
| 110735 | + case 168: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==168); | |
| 110736 | + case 234: /* case_else ::= ELSE expr */ yytestcase(yyruleno==234); | |
| 110737 | + case 236: /* case_operand ::= expr */ yytestcase(yyruleno==236); | |
| 110665 | 110738 | {yygotominor.yy122 = yymsp[0].minor.yy342.pExpr;} |
| 110666 | 110739 | break; |
| 110667 | - case 143: /* on_opt ::= */ | |
| 110668 | - case 158: /* having_opt ::= */ yytestcase(yyruleno==158); | |
| 110669 | - case 165: /* where_opt ::= */ yytestcase(yyruleno==165); | |
| 110670 | - case 233: /* case_else ::= */ yytestcase(yyruleno==233); | |
| 110671 | - case 235: /* case_operand ::= */ yytestcase(yyruleno==235); | |
| 110740 | + case 145: /* on_opt ::= */ | |
| 110741 | + case 160: /* having_opt ::= */ yytestcase(yyruleno==160); | |
| 110742 | + case 167: /* where_opt ::= */ yytestcase(yyruleno==167); | |
| 110743 | + case 235: /* case_else ::= */ yytestcase(yyruleno==235); | |
| 110744 | + case 237: /* case_operand ::= */ yytestcase(yyruleno==237); | |
| 110672 | 110745 | {yygotominor.yy122 = 0;} |
| 110673 | 110746 | break; |
| 110674 | - case 146: /* indexed_opt ::= NOT INDEXED */ | |
| 110747 | + case 148: /* indexed_opt ::= NOT INDEXED */ | |
| 110675 | 110748 | {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} |
| 110676 | 110749 | break; |
| 110677 | - case 147: /* using_opt ::= USING LP inscollist RP */ | |
| 110678 | - case 178: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==178); | |
| 110750 | + case 149: /* using_opt ::= USING LP inscollist RP */ | |
| 110751 | + case 180: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==180); | |
| 110679 | 110752 | {yygotominor.yy180 = yymsp[-1].minor.yy180;} |
| 110680 | 110753 | break; |
| 110681 | - case 148: /* using_opt ::= */ | |
| 110682 | - case 177: /* inscollist_opt ::= */ yytestcase(yyruleno==177); | |
| 110754 | + case 150: /* using_opt ::= */ | |
| 110755 | + case 179: /* inscollist_opt ::= */ yytestcase(yyruleno==179); | |
| 110683 | 110756 | {yygotominor.yy180 = 0;} |
| 110684 | 110757 | break; |
| 110685 | - case 150: /* orderby_opt ::= ORDER BY sortlist */ | |
| 110686 | - case 157: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==157); | |
| 110687 | - case 236: /* exprlist ::= nexprlist */ yytestcase(yyruleno==236); | |
| 110758 | + case 152: /* orderby_opt ::= ORDER BY sortlist */ | |
| 110759 | + case 159: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==159); | |
| 110760 | + case 238: /* exprlist ::= nexprlist */ yytestcase(yyruleno==238); | |
| 110688 | 110761 | {yygotominor.yy442 = yymsp[0].minor.yy442;} |
| 110689 | 110762 | break; |
| 110690 | - case 151: /* sortlist ::= sortlist COMMA expr sortorder */ | |
| 110763 | + case 153: /* sortlist ::= sortlist COMMA expr sortorder */ | |
| 110691 | 110764 | { |
| 110692 | 110765 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy342.pExpr); |
| 110693 | 110766 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 110694 | 110767 | } |
| 110695 | 110768 | break; |
| 110696 | - case 152: /* sortlist ::= expr sortorder */ | |
| 110769 | + case 154: /* sortlist ::= expr sortorder */ | |
| 110697 | 110770 | { |
| 110698 | 110771 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr); |
| 110699 | 110772 | if( yygotominor.yy442 && ALWAYS(yygotominor.yy442->a) ) yygotominor.yy442->a[0].sortOrder = (u8)yymsp[0].minor.yy392; |
| 110700 | 110773 | } |
| 110701 | 110774 | break; |
| 110702 | - case 153: /* sortorder ::= ASC */ | |
| 110703 | - case 155: /* sortorder ::= */ yytestcase(yyruleno==155); | |
| 110775 | + case 155: /* sortorder ::= ASC */ | |
| 110776 | + case 157: /* sortorder ::= */ yytestcase(yyruleno==157); | |
| 110704 | 110777 | {yygotominor.yy392 = SQLITE_SO_ASC;} |
| 110705 | 110778 | break; |
| 110706 | - case 154: /* sortorder ::= DESC */ | |
| 110779 | + case 156: /* sortorder ::= DESC */ | |
| 110707 | 110780 | {yygotominor.yy392 = SQLITE_SO_DESC;} |
| 110708 | 110781 | break; |
| 110709 | - case 160: /* limit_opt ::= */ | |
| 110782 | + case 162: /* limit_opt ::= */ | |
| 110710 | 110783 | {yygotominor.yy64.pLimit = 0; yygotominor.yy64.pOffset = 0;} |
| 110711 | 110784 | break; |
| 110712 | - case 161: /* limit_opt ::= LIMIT expr */ | |
| 110785 | + case 163: /* limit_opt ::= LIMIT expr */ | |
| 110713 | 110786 | {yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yygotominor.yy64.pOffset = 0;} |
| 110714 | 110787 | break; |
| 110715 | - case 162: /* limit_opt ::= LIMIT expr OFFSET expr */ | |
| 110788 | + case 164: /* limit_opt ::= LIMIT expr OFFSET expr */ | |
| 110716 | 110789 | {yygotominor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pOffset = yymsp[0].minor.yy342.pExpr;} |
| 110717 | 110790 | break; |
| 110718 | - case 163: /* limit_opt ::= LIMIT expr COMMA expr */ | |
| 110791 | + case 165: /* limit_opt ::= LIMIT expr COMMA expr */ | |
| 110719 | 110792 | {yygotominor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr;} |
| 110720 | 110793 | break; |
| 110721 | - case 164: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ | |
| 110794 | + case 166: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ | |
| 110722 | 110795 | { |
| 110723 | 110796 | sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0); |
| 110724 | 110797 | sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122); |
| 110725 | 110798 | } |
| 110726 | 110799 | break; |
| 110727 | - case 167: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */ | |
| 110800 | + case 169: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */ | |
| 110728 | 110801 | { |
| 110729 | 110802 | sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0); |
| 110730 | 110803 | sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); |
| 110731 | 110804 | sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].minor.yy122,yymsp[-5].minor.yy258); |
| 110732 | 110805 | } |
| 110733 | 110806 | break; |
| 110734 | - case 168: /* setlist ::= setlist COMMA nm EQ expr */ | |
| 110807 | + case 170: /* setlist ::= setlist COMMA nm EQ expr */ | |
| 110735 | 110808 | { |
| 110736 | 110809 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr); |
| 110737 | 110810 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 110738 | 110811 | } |
| 110739 | 110812 | break; |
| 110740 | - case 169: /* setlist ::= nm EQ expr */ | |
| 110813 | + case 171: /* setlist ::= nm EQ expr */ | |
| 110741 | 110814 | { |
| 110742 | 110815 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExpr); |
| 110743 | 110816 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 110744 | 110817 | } |
| 110745 | 110818 | break; |
| 110746 | - case 170: /* cmd ::= insert_cmd INTO fullname inscollist_opt valuelist */ | |
| 110819 | + case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt valuelist */ | |
| 110747 | 110820 | {sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);} |
| 110748 | 110821 | break; |
| 110749 | - case 171: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ | |
| 110822 | + case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ | |
| 110750 | 110823 | {sqlite3Insert(pParse, yymsp[-2].minor.yy347, 0, yymsp[0].minor.yy159, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);} |
| 110751 | 110824 | break; |
| 110752 | - case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ | |
| 110825 | + case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ | |
| 110753 | 110826 | {sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, 0, yymsp[-2].minor.yy180, yymsp[-5].minor.yy258);} |
| 110754 | 110827 | break; |
| 110755 | - case 173: /* insert_cmd ::= INSERT orconf */ | |
| 110828 | + case 175: /* insert_cmd ::= INSERT orconf */ | |
| 110756 | 110829 | {yygotominor.yy258 = yymsp[0].minor.yy258;} |
| 110757 | 110830 | break; |
| 110758 | - case 174: /* insert_cmd ::= REPLACE */ | |
| 110831 | + case 176: /* insert_cmd ::= REPLACE */ | |
| 110759 | 110832 | {yygotominor.yy258 = OE_Replace;} |
| 110760 | 110833 | break; |
| 110761 | - case 175: /* valuelist ::= VALUES LP nexprlist RP */ | |
| 110834 | + case 177: /* valuelist ::= VALUES LP nexprlist RP */ | |
| 110762 | 110835 | { |
| 110763 | 110836 | yygotominor.yy487.pList = yymsp[-1].minor.yy442; |
| 110764 | 110837 | yygotominor.yy487.pSelect = 0; |
| 110765 | 110838 | } |
| 110766 | 110839 | break; |
| 110767 | - case 176: /* valuelist ::= valuelist COMMA LP exprlist RP */ | |
| 110840 | + case 178: /* valuelist ::= valuelist COMMA LP exprlist RP */ | |
| 110768 | 110841 | { |
| 110769 | 110842 | Select *pRight = sqlite3SelectNew(pParse, yymsp[-1].minor.yy442, 0, 0, 0, 0, 0, 0, 0, 0); |
| 110770 | 110843 | if( yymsp[-4].minor.yy487.pList ){ |
| 110771 | 110844 | yymsp[-4].minor.yy487.pSelect = sqlite3SelectNew(pParse, yymsp[-4].minor.yy487.pList, 0, 0, 0, 0, 0, 0, 0, 0); |
| 110772 | 110845 | yymsp[-4].minor.yy487.pList = 0; |
| @@ -110783,50 +110856,50 @@ | ||
| 110783 | 110856 | pRight->pPrior->selFlags |= SF_Values; |
| 110784 | 110857 | yygotominor.yy487.pSelect = pRight; |
| 110785 | 110858 | } |
| 110786 | 110859 | } |
| 110787 | 110860 | break; |
| 110788 | - case 179: /* inscollist ::= inscollist COMMA nm */ | |
| 110861 | + case 181: /* inscollist ::= inscollist COMMA nm */ | |
| 110789 | 110862 | {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp[0].minor.yy0);} |
| 110790 | 110863 | break; |
| 110791 | - case 180: /* inscollist ::= nm */ | |
| 110864 | + case 182: /* inscollist ::= nm */ | |
| 110792 | 110865 | {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} |
| 110793 | 110866 | break; |
| 110794 | - case 181: /* expr ::= term */ | |
| 110867 | + case 183: /* expr ::= term */ | |
| 110795 | 110868 | {yygotominor.yy342 = yymsp[0].minor.yy342;} |
| 110796 | 110869 | break; |
| 110797 | - case 182: /* expr ::= LP expr RP */ | |
| 110870 | + case 184: /* expr ::= LP expr RP */ | |
| 110798 | 110871 | {yygotominor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr; spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} |
| 110799 | 110872 | break; |
| 110800 | - case 183: /* term ::= NULL */ | |
| 110801 | - case 188: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==188); | |
| 110802 | - case 189: /* term ::= STRING */ yytestcase(yyruleno==189); | |
| 110873 | + case 185: /* term ::= NULL */ | |
| 110874 | + case 190: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==190); | |
| 110875 | + case 191: /* term ::= STRING */ yytestcase(yyruleno==191); | |
| 110803 | 110876 | {spanExpr(&yygotominor.yy342, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} |
| 110804 | 110877 | break; |
| 110805 | - case 184: /* expr ::= id */ | |
| 110806 | - case 185: /* expr ::= JOIN_KW */ yytestcase(yyruleno==185); | |
| 110878 | + case 186: /* expr ::= id */ | |
| 110879 | + case 187: /* expr ::= JOIN_KW */ yytestcase(yyruleno==187); | |
| 110807 | 110880 | {spanExpr(&yygotominor.yy342, pParse, TK_ID, &yymsp[0].minor.yy0);} |
| 110808 | 110881 | break; |
| 110809 | - case 186: /* expr ::= nm DOT nm */ | |
| 110882 | + case 188: /* expr ::= nm DOT nm */ | |
| 110810 | 110883 | { |
| 110811 | 110884 | Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110812 | 110885 | Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 110813 | 110886 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); |
| 110814 | 110887 | spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 110815 | 110888 | } |
| 110816 | 110889 | break; |
| 110817 | - case 187: /* expr ::= nm DOT nm DOT nm */ | |
| 110890 | + case 189: /* expr ::= nm DOT nm DOT nm */ | |
| 110818 | 110891 | { |
| 110819 | 110892 | Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); |
| 110820 | 110893 | Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110821 | 110894 | Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 110822 | 110895 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); |
| 110823 | 110896 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); |
| 110824 | 110897 | spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); |
| 110825 | 110898 | } |
| 110826 | 110899 | break; |
| 110827 | - case 190: /* expr ::= REGISTER */ | |
| 110900 | + case 192: /* expr ::= REGISTER */ | |
| 110828 | 110901 | { |
| 110829 | 110902 | /* When doing a nested parse, one can include terms in an expression |
| 110830 | 110903 | ** that look like this: #1 #2 ... These terms refer to registers |
| 110831 | 110904 | ** in the virtual machine. #N is the N-th register. */ |
| 110832 | 110905 | if( pParse->nested==0 ){ |
| @@ -110837,31 +110910,31 @@ | ||
| 110837 | 110910 | if( yygotominor.yy342.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy342.pExpr->iTable); |
| 110838 | 110911 | } |
| 110839 | 110912 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110840 | 110913 | } |
| 110841 | 110914 | break; |
| 110842 | - case 191: /* expr ::= VARIABLE */ | |
| 110915 | + case 193: /* expr ::= VARIABLE */ | |
| 110843 | 110916 | { |
| 110844 | 110917 | spanExpr(&yygotominor.yy342, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); |
| 110845 | 110918 | sqlite3ExprAssignVarNumber(pParse, yygotominor.yy342.pExpr); |
| 110846 | 110919 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110847 | 110920 | } |
| 110848 | 110921 | break; |
| 110849 | - case 192: /* expr ::= expr COLLATE ids */ | |
| 110922 | + case 194: /* expr ::= expr COLLATE ids */ | |
| 110850 | 110923 | { |
| 110851 | 110924 | yygotominor.yy342.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy342.pExpr, &yymsp[0].minor.yy0); |
| 110852 | 110925 | yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; |
| 110853 | 110926 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 110854 | 110927 | } |
| 110855 | 110928 | break; |
| 110856 | - case 193: /* expr ::= CAST LP expr AS typetoken RP */ | |
| 110929 | + case 195: /* expr ::= CAST LP expr AS typetoken RP */ | |
| 110857 | 110930 | { |
| 110858 | 110931 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342.pExpr, 0, &yymsp[-1].minor.yy0); |
| 110859 | 110932 | spanSet(&yygotominor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); |
| 110860 | 110933 | } |
| 110861 | 110934 | break; |
| 110862 | - case 194: /* expr ::= ID LP distinct exprlist RP */ | |
| 110935 | + case 196: /* expr ::= ID LP distinct exprlist RP */ | |
| 110863 | 110936 | { |
| 110864 | 110937 | if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ |
| 110865 | 110938 | sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); |
| 110866 | 110939 | } |
| 110867 | 110940 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0); |
| @@ -110869,17 +110942,17 @@ | ||
| 110869 | 110942 | if( yymsp[-2].minor.yy392 && yygotominor.yy342.pExpr ){ |
| 110870 | 110943 | yygotominor.yy342.pExpr->flags |= EP_Distinct; |
| 110871 | 110944 | } |
| 110872 | 110945 | } |
| 110873 | 110946 | break; |
| 110874 | - case 195: /* expr ::= ID LP STAR RP */ | |
| 110947 | + case 197: /* expr ::= ID LP STAR RP */ | |
| 110875 | 110948 | { |
| 110876 | 110949 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); |
| 110877 | 110950 | spanSet(&yygotominor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); |
| 110878 | 110951 | } |
| 110879 | 110952 | break; |
| 110880 | - case 196: /* term ::= CTIME_KW */ | |
| 110953 | + case 198: /* term ::= CTIME_KW */ | |
| 110881 | 110954 | { |
| 110882 | 110955 | /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are |
| 110883 | 110956 | ** treated as functions that return constants */ |
| 110884 | 110957 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); |
| 110885 | 110958 | if( yygotominor.yy342.pExpr ){ |
| @@ -110886,29 +110959,29 @@ | ||
| 110886 | 110959 | yygotominor.yy342.pExpr->op = TK_CONST_FUNC; |
| 110887 | 110960 | } |
| 110888 | 110961 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110889 | 110962 | } |
| 110890 | 110963 | break; |
| 110891 | - case 197: /* expr ::= expr AND expr */ | |
| 110892 | - case 198: /* expr ::= expr OR expr */ yytestcase(yyruleno==198); | |
| 110893 | - case 199: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==199); | |
| 110894 | - case 200: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==200); | |
| 110895 | - case 201: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==201); | |
| 110896 | - case 202: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==202); | |
| 110897 | - case 203: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==203); | |
| 110898 | - case 204: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==204); | |
| 110964 | + case 199: /* expr ::= expr AND expr */ | |
| 110965 | + case 200: /* expr ::= expr OR expr */ yytestcase(yyruleno==200); | |
| 110966 | + case 201: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==201); | |
| 110967 | + case 202: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==202); | |
| 110968 | + case 203: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==203); | |
| 110969 | + case 204: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==204); | |
| 110970 | + case 205: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==205); | |
| 110971 | + case 206: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==206); | |
| 110899 | 110972 | {spanBinaryExpr(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342);} |
| 110900 | 110973 | break; |
| 110901 | - case 205: /* likeop ::= LIKE_KW */ | |
| 110902 | - case 207: /* likeop ::= MATCH */ yytestcase(yyruleno==207); | |
| 110974 | + case 207: /* likeop ::= LIKE_KW */ | |
| 110975 | + case 209: /* likeop ::= MATCH */ yytestcase(yyruleno==209); | |
| 110903 | 110976 | {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 0;} |
| 110904 | 110977 | break; |
| 110905 | - case 206: /* likeop ::= NOT LIKE_KW */ | |
| 110906 | - case 208: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==208); | |
| 110978 | + case 208: /* likeop ::= NOT LIKE_KW */ | |
| 110979 | + case 210: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==210); | |
| 110907 | 110980 | {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 1;} |
| 110908 | 110981 | break; |
| 110909 | - case 209: /* expr ::= expr likeop expr */ | |
| 110982 | + case 211: /* expr ::= expr likeop expr */ | |
| 110910 | 110983 | { |
| 110911 | 110984 | ExprList *pList; |
| 110912 | 110985 | pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr); |
| 110913 | 110986 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr); |
| 110914 | 110987 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy318.eOperator); |
| @@ -110916,11 +110989,11 @@ | ||
| 110916 | 110989 | yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; |
| 110917 | 110990 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110918 | 110991 | if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; |
| 110919 | 110992 | } |
| 110920 | 110993 | break; |
| 110921 | - case 210: /* expr ::= expr likeop expr ESCAPE expr */ | |
| 110994 | + case 212: /* expr ::= expr likeop expr ESCAPE expr */ | |
| 110922 | 110995 | { |
| 110923 | 110996 | ExprList *pList; |
| 110924 | 110997 | pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 110925 | 110998 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr); |
| 110926 | 110999 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); |
| @@ -110929,39 +111002,39 @@ | ||
| 110929 | 111002 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 110930 | 111003 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110931 | 111004 | if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; |
| 110932 | 111005 | } |
| 110933 | 111006 | break; |
| 110934 | - case 211: /* expr ::= expr ISNULL|NOTNULL */ | |
| 111007 | + case 213: /* expr ::= expr ISNULL|NOTNULL */ | |
| 110935 | 111008 | {spanUnaryPostfix(&yygotominor.yy342,pParse,yymsp[0].major,&yymsp[-1].minor.yy342,&yymsp[0].minor.yy0);} |
| 110936 | 111009 | break; |
| 110937 | - case 212: /* expr ::= expr NOT NULL */ | |
| 111010 | + case 214: /* expr ::= expr NOT NULL */ | |
| 110938 | 111011 | {spanUnaryPostfix(&yygotominor.yy342,pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy0);} |
| 110939 | 111012 | break; |
| 110940 | - case 213: /* expr ::= expr IS expr */ | |
| 111013 | + case 215: /* expr ::= expr IS expr */ | |
| 110941 | 111014 | { |
| 110942 | 111015 | spanBinaryExpr(&yygotominor.yy342,pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342); |
| 110943 | 111016 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_ISNULL); |
| 110944 | 111017 | } |
| 110945 | 111018 | break; |
| 110946 | - case 214: /* expr ::= expr IS NOT expr */ | |
| 111019 | + case 216: /* expr ::= expr IS NOT expr */ | |
| 110947 | 111020 | { |
| 110948 | 111021 | spanBinaryExpr(&yygotominor.yy342,pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yymsp[0].minor.yy342); |
| 110949 | 111022 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_NOTNULL); |
| 110950 | 111023 | } |
| 110951 | 111024 | break; |
| 110952 | - case 215: /* expr ::= NOT expr */ | |
| 110953 | - case 216: /* expr ::= BITNOT expr */ yytestcase(yyruleno==216); | |
| 111025 | + case 217: /* expr ::= NOT expr */ | |
| 111026 | + case 218: /* expr ::= BITNOT expr */ yytestcase(yyruleno==218); | |
| 110954 | 111027 | {spanUnaryPrefix(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 110955 | 111028 | break; |
| 110956 | - case 217: /* expr ::= MINUS expr */ | |
| 111029 | + case 219: /* expr ::= MINUS expr */ | |
| 110957 | 111030 | {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 110958 | 111031 | break; |
| 110959 | - case 218: /* expr ::= PLUS expr */ | |
| 111032 | + case 220: /* expr ::= PLUS expr */ | |
| 110960 | 111033 | {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 110961 | 111034 | break; |
| 110962 | - case 221: /* expr ::= expr between_op expr AND expr */ | |
| 111035 | + case 223: /* expr ::= expr between_op expr AND expr */ | |
| 110963 | 111036 | { |
| 110964 | 111037 | ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 110965 | 111038 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); |
| 110966 | 111039 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy342.pExpr, 0, 0); |
| 110967 | 111040 | if( yygotominor.yy342.pExpr ){ |
| @@ -110972,11 +111045,11 @@ | ||
| 110972 | 111045 | if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 110973 | 111046 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 110974 | 111047 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110975 | 111048 | } |
| 110976 | 111049 | break; |
| 110977 | - case 224: /* expr ::= expr in_op LP exprlist RP */ | |
| 111050 | + case 226: /* expr ::= expr in_op LP exprlist RP */ | |
| 110978 | 111051 | { |
| 110979 | 111052 | if( yymsp[-1].minor.yy442==0 ){ |
| 110980 | 111053 | /* Expressions of the form |
| 110981 | 111054 | ** |
| 110982 | 111055 | ** expr1 IN () |
| @@ -110999,11 +111072,11 @@ | ||
| 110999 | 111072 | } |
| 111000 | 111073 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111001 | 111074 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111002 | 111075 | } |
| 111003 | 111076 | break; |
| 111004 | - case 225: /* expr ::= LP select RP */ | |
| 111077 | + case 227: /* expr ::= LP select RP */ | |
| 111005 | 111078 | { |
| 111006 | 111079 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); |
| 111007 | 111080 | if( yygotominor.yy342.pExpr ){ |
| 111008 | 111081 | yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; |
| 111009 | 111082 | ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); |
| @@ -111013,11 +111086,11 @@ | ||
| 111013 | 111086 | } |
| 111014 | 111087 | yygotominor.yy342.zStart = yymsp[-2].minor.yy0.z; |
| 111015 | 111088 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111016 | 111089 | } |
| 111017 | 111090 | break; |
| 111018 | - case 226: /* expr ::= expr in_op LP select RP */ | |
| 111091 | + case 228: /* expr ::= expr in_op LP select RP */ | |
| 111019 | 111092 | { |
| 111020 | 111093 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0); |
| 111021 | 111094 | if( yygotominor.yy342.pExpr ){ |
| 111022 | 111095 | yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; |
| 111023 | 111096 | ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); |
| @@ -111028,11 +111101,11 @@ | ||
| 111028 | 111101 | if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 111029 | 111102 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111030 | 111103 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111031 | 111104 | } |
| 111032 | 111105 | break; |
| 111033 | - case 227: /* expr ::= expr in_op nm dbnm */ | |
| 111106 | + case 229: /* expr ::= expr in_op nm dbnm */ | |
| 111034 | 111107 | { |
| 111035 | 111108 | SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); |
| 111036 | 111109 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342.pExpr, 0, 0); |
| 111037 | 111110 | if( yygotominor.yy342.pExpr ){ |
| 111038 | 111111 | yygotominor.yy342.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); |
| @@ -111044,11 +111117,11 @@ | ||
| 111044 | 111117 | if( yymsp[-2].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 111045 | 111118 | yygotominor.yy342.zStart = yymsp[-3].minor.yy342.zStart; |
| 111046 | 111119 | yygotominor.yy342.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]; |
| 111047 | 111120 | } |
| 111048 | 111121 | break; |
| 111049 | - case 228: /* expr ::= EXISTS LP select RP */ | |
| 111122 | + case 230: /* expr ::= EXISTS LP select RP */ | |
| 111050 | 111123 | { |
| 111051 | 111124 | Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); |
| 111052 | 111125 | if( p ){ |
| 111053 | 111126 | p->x.pSelect = yymsp[-1].minor.yy159; |
| 111054 | 111127 | ExprSetProperty(p, EP_xIsSelect); |
| @@ -111058,11 +111131,11 @@ | ||
| 111058 | 111131 | } |
| 111059 | 111132 | yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; |
| 111060 | 111133 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111061 | 111134 | } |
| 111062 | 111135 | break; |
| 111063 | - case 229: /* expr ::= CASE case_operand case_exprlist case_else END */ | |
| 111136 | + case 231: /* expr ::= CASE case_operand case_exprlist case_else END */ | |
| 111064 | 111137 | { |
| 111065 | 111138 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, yymsp[-1].minor.yy122, 0); |
| 111066 | 111139 | if( yygotominor.yy342.pExpr ){ |
| 111067 | 111140 | yygotominor.yy342.pExpr->x.pList = yymsp[-2].minor.yy442; |
| 111068 | 111141 | sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); |
| @@ -111071,43 +111144,43 @@ | ||
| 111071 | 111144 | } |
| 111072 | 111145 | yygotominor.yy342.zStart = yymsp[-4].minor.yy0.z; |
| 111073 | 111146 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111074 | 111147 | } |
| 111075 | 111148 | break; |
| 111076 | - case 230: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ | |
| 111149 | + case 232: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ | |
| 111077 | 111150 | { |
| 111078 | 111151 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy342.pExpr); |
| 111079 | 111152 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr); |
| 111080 | 111153 | } |
| 111081 | 111154 | break; |
| 111082 | - case 231: /* case_exprlist ::= WHEN expr THEN expr */ | |
| 111155 | + case 233: /* case_exprlist ::= WHEN expr THEN expr */ | |
| 111083 | 111156 | { |
| 111084 | 111157 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 111085 | 111158 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr); |
| 111086 | 111159 | } |
| 111087 | 111160 | break; |
| 111088 | - case 238: /* nexprlist ::= nexprlist COMMA expr */ | |
| 111161 | + case 240: /* nexprlist ::= nexprlist COMMA expr */ | |
| 111089 | 111162 | {yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy342.pExpr);} |
| 111090 | 111163 | break; |
| 111091 | - case 239: /* nexprlist ::= expr */ | |
| 111164 | + case 241: /* nexprlist ::= expr */ | |
| 111092 | 111165 | {yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr);} |
| 111093 | 111166 | break; |
| 111094 | - case 240: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */ | |
| 111167 | + case 242: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */ | |
| 111095 | 111168 | { |
| 111096 | 111169 | sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, |
| 111097 | 111170 | sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), yymsp[-1].minor.yy442, yymsp[-9].minor.yy392, |
| 111098 | 111171 | &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy392); |
| 111099 | 111172 | } |
| 111100 | 111173 | break; |
| 111101 | - case 241: /* uniqueflag ::= UNIQUE */ | |
| 111102 | - case 294: /* raisetype ::= ABORT */ yytestcase(yyruleno==294); | |
| 111174 | + case 243: /* uniqueflag ::= UNIQUE */ | |
| 111175 | + case 296: /* raisetype ::= ABORT */ yytestcase(yyruleno==296); | |
| 111103 | 111176 | {yygotominor.yy392 = OE_Abort;} |
| 111104 | 111177 | break; |
| 111105 | - case 242: /* uniqueflag ::= */ | |
| 111178 | + case 244: /* uniqueflag ::= */ | |
| 111106 | 111179 | {yygotominor.yy392 = OE_None;} |
| 111107 | 111180 | break; |
| 111108 | - case 245: /* idxlist ::= idxlist COMMA nm collate sortorder */ | |
| 111181 | + case 247: /* idxlist ::= idxlist COMMA nm collate sortorder */ | |
| 111109 | 111182 | { |
| 111110 | 111183 | Expr *p = 0; |
| 111111 | 111184 | if( yymsp[-1].minor.yy0.n>0 ){ |
| 111112 | 111185 | p = sqlite3Expr(pParse->db, TK_COLUMN, 0); |
| 111113 | 111186 | sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| @@ -111116,11 +111189,11 @@ | ||
| 111116 | 111189 | sqlite3ExprListSetName(pParse,yygotominor.yy442,&yymsp[-2].minor.yy0,1); |
| 111117 | 111190 | sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); |
| 111118 | 111191 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 111119 | 111192 | } |
| 111120 | 111193 | break; |
| 111121 | - case 246: /* idxlist ::= nm collate sortorder */ | |
| 111194 | + case 248: /* idxlist ::= nm collate sortorder */ | |
| 111122 | 111195 | { |
| 111123 | 111196 | Expr *p = 0; |
| 111124 | 111197 | if( yymsp[-1].minor.yy0.n>0 ){ |
| 111125 | 111198 | p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); |
| 111126 | 111199 | sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| @@ -111129,212 +111202,212 @@ | ||
| 111129 | 111202 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 111130 | 111203 | sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); |
| 111131 | 111204 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 111132 | 111205 | } |
| 111133 | 111206 | break; |
| 111134 | - case 247: /* collate ::= */ | |
| 111207 | + case 249: /* collate ::= */ | |
| 111135 | 111208 | {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} |
| 111136 | 111209 | break; |
| 111137 | - case 249: /* cmd ::= DROP INDEX ifexists fullname */ | |
| 111210 | + case 251: /* cmd ::= DROP INDEX ifexists fullname */ | |
| 111138 | 111211 | {sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);} |
| 111139 | 111212 | break; |
| 111140 | - case 250: /* cmd ::= VACUUM */ | |
| 111141 | - case 251: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==251); | |
| 111213 | + case 252: /* cmd ::= VACUUM */ | |
| 111214 | + case 253: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==253); | |
| 111142 | 111215 | {sqlite3Vacuum(pParse);} |
| 111143 | 111216 | break; |
| 111144 | - case 252: /* cmd ::= PRAGMA nm dbnm */ | |
| 111217 | + case 254: /* cmd ::= PRAGMA nm dbnm */ | |
| 111145 | 111218 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 111146 | 111219 | break; |
| 111147 | - case 253: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ | |
| 111220 | + case 255: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ | |
| 111148 | 111221 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} |
| 111149 | 111222 | break; |
| 111150 | - case 254: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ | |
| 111223 | + case 256: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ | |
| 111151 | 111224 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} |
| 111152 | 111225 | break; |
| 111153 | - case 255: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ | |
| 111226 | + case 257: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ | |
| 111154 | 111227 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} |
| 111155 | 111228 | break; |
| 111156 | - case 256: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ | |
| 111229 | + case 258: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ | |
| 111157 | 111230 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} |
| 111158 | 111231 | break; |
| 111159 | - case 266: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ | |
| 111232 | + case 268: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ | |
| 111160 | 111233 | { |
| 111161 | 111234 | Token all; |
| 111162 | 111235 | all.z = yymsp[-3].minor.yy0.z; |
| 111163 | 111236 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 111164 | 111237 | sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all); |
| 111165 | 111238 | } |
| 111166 | 111239 | break; |
| 111167 | - case 267: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ | |
| 111240 | + case 269: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ | |
| 111168 | 111241 | { |
| 111169 | 111242 | sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy392, yymsp[-4].minor.yy410.a, yymsp[-4].minor.yy410.b, yymsp[-2].minor.yy347, yymsp[0].minor.yy122, yymsp[-10].minor.yy392, yymsp[-8].minor.yy392); |
| 111170 | 111243 | yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); |
| 111171 | 111244 | } |
| 111172 | 111245 | break; |
| 111173 | - case 268: /* trigger_time ::= BEFORE */ | |
| 111174 | - case 271: /* trigger_time ::= */ yytestcase(yyruleno==271); | |
| 111246 | + case 270: /* trigger_time ::= BEFORE */ | |
| 111247 | + case 273: /* trigger_time ::= */ yytestcase(yyruleno==273); | |
| 111175 | 111248 | { yygotominor.yy392 = TK_BEFORE; } |
| 111176 | 111249 | break; |
| 111177 | - case 269: /* trigger_time ::= AFTER */ | |
| 111250 | + case 271: /* trigger_time ::= AFTER */ | |
| 111178 | 111251 | { yygotominor.yy392 = TK_AFTER; } |
| 111179 | 111252 | break; |
| 111180 | - case 270: /* trigger_time ::= INSTEAD OF */ | |
| 111253 | + case 272: /* trigger_time ::= INSTEAD OF */ | |
| 111181 | 111254 | { yygotominor.yy392 = TK_INSTEAD;} |
| 111182 | 111255 | break; |
| 111183 | - case 272: /* trigger_event ::= DELETE|INSERT */ | |
| 111184 | - case 273: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==273); | |
| 111256 | + case 274: /* trigger_event ::= DELETE|INSERT */ | |
| 111257 | + case 275: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==275); | |
| 111185 | 111258 | {yygotominor.yy410.a = yymsp[0].major; yygotominor.yy410.b = 0;} |
| 111186 | 111259 | break; |
| 111187 | - case 274: /* trigger_event ::= UPDATE OF inscollist */ | |
| 111260 | + case 276: /* trigger_event ::= UPDATE OF inscollist */ | |
| 111188 | 111261 | {yygotominor.yy410.a = TK_UPDATE; yygotominor.yy410.b = yymsp[0].minor.yy180;} |
| 111189 | 111262 | break; |
| 111190 | - case 277: /* when_clause ::= */ | |
| 111191 | - case 299: /* key_opt ::= */ yytestcase(yyruleno==299); | |
| 111263 | + case 279: /* when_clause ::= */ | |
| 111264 | + case 301: /* key_opt ::= */ yytestcase(yyruleno==301); | |
| 111192 | 111265 | { yygotominor.yy122 = 0; } |
| 111193 | 111266 | break; |
| 111194 | - case 278: /* when_clause ::= WHEN expr */ | |
| 111195 | - case 300: /* key_opt ::= KEY expr */ yytestcase(yyruleno==300); | |
| 111267 | + case 280: /* when_clause ::= WHEN expr */ | |
| 111268 | + case 302: /* key_opt ::= KEY expr */ yytestcase(yyruleno==302); | |
| 111196 | 111269 | { yygotominor.yy122 = yymsp[0].minor.yy342.pExpr; } |
| 111197 | 111270 | break; |
| 111198 | - case 279: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ | |
| 111271 | + case 281: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ | |
| 111199 | 111272 | { |
| 111200 | 111273 | assert( yymsp[-2].minor.yy327!=0 ); |
| 111201 | 111274 | yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327; |
| 111202 | 111275 | yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327; |
| 111203 | 111276 | yygotominor.yy327 = yymsp[-2].minor.yy327; |
| 111204 | 111277 | } |
| 111205 | 111278 | break; |
| 111206 | - case 280: /* trigger_cmd_list ::= trigger_cmd SEMI */ | |
| 111279 | + case 282: /* trigger_cmd_list ::= trigger_cmd SEMI */ | |
| 111207 | 111280 | { |
| 111208 | 111281 | assert( yymsp[-1].minor.yy327!=0 ); |
| 111209 | 111282 | yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327; |
| 111210 | 111283 | yygotominor.yy327 = yymsp[-1].minor.yy327; |
| 111211 | 111284 | } |
| 111212 | 111285 | break; |
| 111213 | - case 282: /* trnm ::= nm DOT nm */ | |
| 111286 | + case 284: /* trnm ::= nm DOT nm */ | |
| 111214 | 111287 | { |
| 111215 | 111288 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 111216 | 111289 | sqlite3ErrorMsg(pParse, |
| 111217 | 111290 | "qualified table names are not allowed on INSERT, UPDATE, and DELETE " |
| 111218 | 111291 | "statements within triggers"); |
| 111219 | 111292 | } |
| 111220 | 111293 | break; |
| 111221 | - case 284: /* tridxby ::= INDEXED BY nm */ | |
| 111294 | + case 286: /* tridxby ::= INDEXED BY nm */ | |
| 111222 | 111295 | { |
| 111223 | 111296 | sqlite3ErrorMsg(pParse, |
| 111224 | 111297 | "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " |
| 111225 | 111298 | "within triggers"); |
| 111226 | 111299 | } |
| 111227 | 111300 | break; |
| 111228 | - case 285: /* tridxby ::= NOT INDEXED */ | |
| 111301 | + case 287: /* tridxby ::= NOT INDEXED */ | |
| 111229 | 111302 | { |
| 111230 | 111303 | sqlite3ErrorMsg(pParse, |
| 111231 | 111304 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 111232 | 111305 | "within triggers"); |
| 111233 | 111306 | } |
| 111234 | 111307 | break; |
| 111235 | - case 286: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ | |
| 111308 | + case 288: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ | |
| 111236 | 111309 | { yygotominor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy442, yymsp[0].minor.yy122, yymsp[-5].minor.yy258); } |
| 111237 | 111310 | break; |
| 111238 | - case 287: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist */ | |
| 111311 | + case 289: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist */ | |
| 111239 | 111312 | {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-4].minor.yy258);} |
| 111240 | 111313 | break; |
| 111241 | - case 288: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ | |
| 111314 | + case 290: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ | |
| 111242 | 111315 | {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, 0, yymsp[0].minor.yy159, yymsp[-4].minor.yy258);} |
| 111243 | 111316 | break; |
| 111244 | - case 289: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ | |
| 111317 | + case 291: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ | |
| 111245 | 111318 | {yygotominor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy122);} |
| 111246 | 111319 | break; |
| 111247 | - case 290: /* trigger_cmd ::= select */ | |
| 111320 | + case 292: /* trigger_cmd ::= select */ | |
| 111248 | 111321 | {yygotominor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); } |
| 111249 | 111322 | break; |
| 111250 | - case 291: /* expr ::= RAISE LP IGNORE RP */ | |
| 111323 | + case 293: /* expr ::= RAISE LP IGNORE RP */ | |
| 111251 | 111324 | { |
| 111252 | 111325 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); |
| 111253 | 111326 | if( yygotominor.yy342.pExpr ){ |
| 111254 | 111327 | yygotominor.yy342.pExpr->affinity = OE_Ignore; |
| 111255 | 111328 | } |
| 111256 | 111329 | yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; |
| 111257 | 111330 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111258 | 111331 | } |
| 111259 | 111332 | break; |
| 111260 | - case 292: /* expr ::= RAISE LP raisetype COMMA nm RP */ | |
| 111333 | + case 294: /* expr ::= RAISE LP raisetype COMMA nm RP */ | |
| 111261 | 111334 | { |
| 111262 | 111335 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); |
| 111263 | 111336 | if( yygotominor.yy342.pExpr ) { |
| 111264 | 111337 | yygotominor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392; |
| 111265 | 111338 | } |
| 111266 | 111339 | yygotominor.yy342.zStart = yymsp[-5].minor.yy0.z; |
| 111267 | 111340 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111268 | 111341 | } |
| 111269 | 111342 | break; |
| 111270 | - case 293: /* raisetype ::= ROLLBACK */ | |
| 111343 | + case 295: /* raisetype ::= ROLLBACK */ | |
| 111271 | 111344 | {yygotominor.yy392 = OE_Rollback;} |
| 111272 | 111345 | break; |
| 111273 | - case 295: /* raisetype ::= FAIL */ | |
| 111346 | + case 297: /* raisetype ::= FAIL */ | |
| 111274 | 111347 | {yygotominor.yy392 = OE_Fail;} |
| 111275 | 111348 | break; |
| 111276 | - case 296: /* cmd ::= DROP TRIGGER ifexists fullname */ | |
| 111349 | + case 298: /* cmd ::= DROP TRIGGER ifexists fullname */ | |
| 111277 | 111350 | { |
| 111278 | 111351 | sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392); |
| 111279 | 111352 | } |
| 111280 | 111353 | break; |
| 111281 | - case 297: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ | |
| 111354 | + case 299: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ | |
| 111282 | 111355 | { |
| 111283 | 111356 | sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr, yymsp[0].minor.yy122); |
| 111284 | 111357 | } |
| 111285 | 111358 | break; |
| 111286 | - case 298: /* cmd ::= DETACH database_kw_opt expr */ | |
| 111359 | + case 300: /* cmd ::= DETACH database_kw_opt expr */ | |
| 111287 | 111360 | { |
| 111288 | 111361 | sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr); |
| 111289 | 111362 | } |
| 111290 | 111363 | break; |
| 111291 | - case 303: /* cmd ::= REINDEX */ | |
| 111364 | + case 305: /* cmd ::= REINDEX */ | |
| 111292 | 111365 | {sqlite3Reindex(pParse, 0, 0);} |
| 111293 | 111366 | break; |
| 111294 | - case 304: /* cmd ::= REINDEX nm dbnm */ | |
| 111367 | + case 306: /* cmd ::= REINDEX nm dbnm */ | |
| 111295 | 111368 | {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 111296 | 111369 | break; |
| 111297 | - case 305: /* cmd ::= ANALYZE */ | |
| 111370 | + case 307: /* cmd ::= ANALYZE */ | |
| 111298 | 111371 | {sqlite3Analyze(pParse, 0, 0);} |
| 111299 | 111372 | break; |
| 111300 | - case 306: /* cmd ::= ANALYZE nm dbnm */ | |
| 111373 | + case 308: /* cmd ::= ANALYZE nm dbnm */ | |
| 111301 | 111374 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 111302 | 111375 | break; |
| 111303 | - case 307: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ | |
| 111376 | + case 309: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ | |
| 111304 | 111377 | { |
| 111305 | 111378 | sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0); |
| 111306 | 111379 | } |
| 111307 | 111380 | break; |
| 111308 | - case 308: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ | |
| 111381 | + case 310: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ | |
| 111309 | 111382 | { |
| 111310 | 111383 | sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); |
| 111311 | 111384 | } |
| 111312 | 111385 | break; |
| 111313 | - case 309: /* add_column_fullname ::= fullname */ | |
| 111386 | + case 311: /* add_column_fullname ::= fullname */ | |
| 111314 | 111387 | { |
| 111315 | 111388 | pParse->db->lookaside.bEnabled = 0; |
| 111316 | 111389 | sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347); |
| 111317 | 111390 | } |
| 111318 | 111391 | break; |
| 111319 | - case 312: /* cmd ::= create_vtab */ | |
| 111392 | + case 314: /* cmd ::= create_vtab */ | |
| 111320 | 111393 | {sqlite3VtabFinishParse(pParse,0);} |
| 111321 | 111394 | break; |
| 111322 | - case 313: /* cmd ::= create_vtab LP vtabarglist RP */ | |
| 111395 | + case 315: /* cmd ::= create_vtab LP vtabarglist RP */ | |
| 111323 | 111396 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 111324 | 111397 | break; |
| 111325 | - case 314: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ | |
| 111398 | + case 316: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ | |
| 111326 | 111399 | { |
| 111327 | 111400 | sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy392); |
| 111328 | 111401 | } |
| 111329 | 111402 | break; |
| 111330 | - case 317: /* vtabarg ::= */ | |
| 111403 | + case 319: /* vtabarg ::= */ | |
| 111331 | 111404 | {sqlite3VtabArgInit(pParse);} |
| 111332 | 111405 | break; |
| 111333 | - case 319: /* vtabargtoken ::= ANY */ | |
| 111334 | - case 320: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==320); | |
| 111335 | - case 321: /* lp ::= LP */ yytestcase(yyruleno==321); | |
| 111406 | + case 321: /* vtabargtoken ::= ANY */ | |
| 111407 | + case 322: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==322); | |
| 111408 | + case 323: /* lp ::= LP */ yytestcase(yyruleno==323); | |
| 111336 | 111409 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 111337 | 111410 | break; |
| 111338 | 111411 | default: |
| 111339 | 111412 | /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); |
| 111340 | 111413 | /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); |
| @@ -111350,28 +111423,29 @@ | ||
| 111350 | 111423 | /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34); |
| 111351 | 111424 | /* (35) columnlist ::= column */ yytestcase(yyruleno==35); |
| 111352 | 111425 | /* (44) type ::= */ yytestcase(yyruleno==44); |
| 111353 | 111426 | /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); |
| 111354 | 111427 | /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); |
| 111355 | - /* (53) carglist ::= carglist cname ccons */ yytestcase(yyruleno==53); | |
| 111428 | + /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53); | |
| 111356 | 111429 | /* (54) carglist ::= */ yytestcase(yyruleno==54); |
| 111357 | - /* (62) ccons ::= NULL onconf */ yytestcase(yyruleno==62); | |
| 111358 | - /* (90) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==90); | |
| 111430 | + /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61); | |
| 111431 | + /* (89) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==89); | |
| 111432 | + /* (90) conslist ::= conslist cname tcons */ yytestcase(yyruleno==90); | |
| 111359 | 111433 | /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91); |
| 111360 | - /* (275) foreach_clause ::= */ yytestcase(yyruleno==275); | |
| 111361 | - /* (276) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==276); | |
| 111362 | - /* (283) tridxby ::= */ yytestcase(yyruleno==283); | |
| 111363 | - /* (301) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==301); | |
| 111364 | - /* (302) database_kw_opt ::= */ yytestcase(yyruleno==302); | |
| 111365 | - /* (310) kwcolumn_opt ::= */ yytestcase(yyruleno==310); | |
| 111366 | - /* (311) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==311); | |
| 111367 | - /* (315) vtabarglist ::= vtabarg */ yytestcase(yyruleno==315); | |
| 111368 | - /* (316) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==316); | |
| 111369 | - /* (318) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==318); | |
| 111370 | - /* (322) anylist ::= */ yytestcase(yyruleno==322); | |
| 111371 | - /* (323) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==323); | |
| 111372 | - /* (324) anylist ::= anylist ANY */ yytestcase(yyruleno==324); | |
| 111434 | + /* (277) foreach_clause ::= */ yytestcase(yyruleno==277); | |
| 111435 | + /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278); | |
| 111436 | + /* (285) tridxby ::= */ yytestcase(yyruleno==285); | |
| 111437 | + /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303); | |
| 111438 | + /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304); | |
| 111439 | + /* (312) kwcolumn_opt ::= */ yytestcase(yyruleno==312); | |
| 111440 | + /* (313) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==313); | |
| 111441 | + /* (317) vtabarglist ::= vtabarg */ yytestcase(yyruleno==317); | |
| 111442 | + /* (318) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==318); | |
| 111443 | + /* (320) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==320); | |
| 111444 | + /* (324) anylist ::= */ yytestcase(yyruleno==324); | |
| 111445 | + /* (325) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==325); | |
| 111446 | + /* (326) anylist ::= anylist ANY */ yytestcase(yyruleno==326); | |
| 111373 | 111447 | break; |
| 111374 | 111448 | }; |
| 111375 | 111449 | yygoto = yyRuleInfo[yyruleno].lhs; |
| 111376 | 111450 | yysize = yyRuleInfo[yyruleno].nrhs; |
| 111377 | 111451 | yypParser->yyidx -= yysize; |
| 111378 | 111452 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -657,11 +657,11 @@ | |
| 657 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 658 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 659 | */ |
| 660 | #define SQLITE_VERSION "3.7.12" |
| 661 | #define SQLITE_VERSION_NUMBER 3007012 |
| 662 | #define SQLITE_SOURCE_ID "2012-05-01 14:21:57 bfa61e781cb442be641486e7e55a1518e888d830" |
| 663 | |
| 664 | /* |
| 665 | ** CAPI3REF: Run-Time Library Version Numbers |
| 666 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 667 | ** |
| @@ -1006,10 +1006,11 @@ | |
| 1006 | #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) |
| 1007 | #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) |
| 1008 | #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) |
| 1009 | #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) |
| 1010 | #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) |
| 1011 | #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) |
| 1012 | #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) |
| 1013 | #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) |
| 1014 | #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) |
| 1015 | |
| @@ -35172,10 +35173,39 @@ | |
| 35172 | zBuf[j+1] = 0; |
| 35173 | |
| 35174 | OSTRACE(("TEMP FILENAME: %s\n", zBuf)); |
| 35175 | return SQLITE_OK; |
| 35176 | } |
| 35177 | |
| 35178 | /* |
| 35179 | ** Open a file. |
| 35180 | */ |
| 35181 | static int winOpen( |
| @@ -35278,10 +35308,15 @@ | |
| 35278 | /* Convert the filename to the system encoding. */ |
| 35279 | zConverted = convertUtf8Filename(zUtf8Name); |
| 35280 | if( zConverted==0 ){ |
| 35281 | return SQLITE_IOERR_NOMEM; |
| 35282 | } |
| 35283 | |
| 35284 | if( isReadWrite ){ |
| 35285 | dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; |
| 35286 | }else{ |
| 35287 | dwDesiredAccess = GENERIC_READ; |
| @@ -35328,24 +35363,24 @@ | |
| 35328 | dwDesiredAccess, |
| 35329 | dwShareMode, NULL, |
| 35330 | dwCreationDisposition, |
| 35331 | dwFlagsAndAttributes, |
| 35332 | NULL))==INVALID_HANDLE_VALUE && |
| 35333 | retryIoerr(&cnt, &lastErrno) ){} |
| 35334 | /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. |
| 35335 | ** Since the ANSI version of these Windows API do not exist for WINCE, |
| 35336 | ** it's important to not reference them for WINCE builds. |
| 35337 | */ |
| 35338 | #if SQLITE_OS_WINCE==0 |
| 35339 | }else{ |
| 35340 | while( (h = osCreateFileA((LPCSTR)zConverted, |
| 35341 | dwDesiredAccess, |
| 35342 | dwShareMode, NULL, |
| 35343 | dwCreationDisposition, |
| 35344 | dwFlagsAndAttributes, |
| 35345 | NULL))==INVALID_HANDLE_VALUE && |
| 35346 | retryIoerr(&cnt, &lastErrno) ){} |
| 35347 | #endif |
| 35348 | } |
| 35349 | |
| 35350 | logIoerr(cnt); |
| 35351 | |
| @@ -35421,10 +35456,11 @@ | |
| 35421 | const char *zFilename, /* Name of file to delete */ |
| 35422 | int syncDir /* Not used on win32 */ |
| 35423 | ){ |
| 35424 | int cnt = 0; |
| 35425 | int rc; |
| 35426 | DWORD lastErrno; |
| 35427 | void *zConverted; |
| 35428 | UNUSED_PARAMETER(pVfs); |
| 35429 | UNUSED_PARAMETER(syncDir); |
| 35430 | |
| @@ -35432,24 +35468,54 @@ | |
| 35432 | zConverted = convertUtf8Filename(zFilename); |
| 35433 | if( zConverted==0 ){ |
| 35434 | return SQLITE_IOERR_NOMEM; |
| 35435 | } |
| 35436 | if( isNT() ){ |
| 35437 | rc = 1; |
| 35438 | while( osGetFileAttributesW(zConverted)!=INVALID_FILE_ATTRIBUTES && |
| 35439 | (rc = osDeleteFileW(zConverted))==0 && retryIoerr(&cnt, &lastErrno) ){} |
| 35440 | rc = rc ? SQLITE_OK : SQLITE_ERROR; |
| 35441 | /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. |
| 35442 | ** Since the ANSI version of these Windows API do not exist for WINCE, |
| 35443 | ** it's important to not reference them for WINCE builds. |
| 35444 | */ |
| 35445 | #if SQLITE_OS_WINCE==0 |
| 35446 | }else{ |
| 35447 | rc = 1; |
| 35448 | while( osGetFileAttributesA(zConverted)!=INVALID_FILE_ATTRIBUTES && |
| 35449 | (rc = osDeleteFileA(zConverted))==0 && retryIoerr(&cnt, &lastErrno) ){} |
| 35450 | rc = rc ? SQLITE_OK : SQLITE_ERROR; |
| 35451 | #endif |
| 35452 | } |
| 35453 | if( rc ){ |
| 35454 | rc = winLogError(SQLITE_IOERR_DELETE, lastErrno, |
| 35455 | "winDelete", zFilename); |
| @@ -108378,12 +108444,12 @@ | |
| 108378 | #endif |
| 108379 | #define sqlite3ParserARG_SDECL Parse *pParse; |
| 108380 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 108381 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 108382 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 108383 | #define YYNSTATE 627 |
| 108384 | #define YYNRULE 325 |
| 108385 | #define YYFALLBACK 1 |
| 108386 | #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) |
| 108387 | #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) |
| 108388 | #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) |
| 108389 | |
| @@ -108449,478 +108515,479 @@ | |
| 108449 | ** shifting terminals. |
| 108450 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 108451 | ** shifting non-terminals after a reduce. |
| 108452 | ** yy_default[] Default action for each state. |
| 108453 | */ |
| 108454 | #define YY_ACTTAB_COUNT (1561) |
| 108455 | static const YYACTIONTYPE yy_action[] = { |
| 108456 | /* 0 */ 310, 328, 573, 572, 15, 171, 185, 595, 56, 56, |
| 108457 | /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, |
| 108458 | /* 20 */ 52, 52, 51, 233, 52, 52, 52, 51, 233, 624, |
| 108459 | /* 30 */ 588, 582, 56, 56, 56, 56, 314, 54, 54, 54, |
| 108460 | /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 299, 57, |
| 108461 | /* 50 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, |
| 108462 | /* 60 */ 56, 56, 569, 54, 54, 54, 54, 53, 53, 52, |
| 108463 | /* 70 */ 52, 52, 51, 233, 310, 595, 326, 575, 663, 65, |
| 108464 | /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108465 | /* 90 */ 51, 233, 53, 53, 52, 52, 52, 51, 233, 489, |
| 108466 | /* 100 */ 663, 440, 663, 235, 588, 582, 553, 297, 363, 59, |
| 108467 | /* 110 */ 481, 67, 360, 1, 618, 351, 618, 620, 619, 207, |
| 108468 | /* 120 */ 6, 441, 442, 57, 58, 48, 580, 579, 581, 581, |
| 108469 | /* 130 */ 55, 55, 56, 56, 56, 56, 605, 54, 54, 54, |
| 108470 | /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 223, |
| 108471 | /* 150 */ 50, 47, 146, 598, 138, 281, 385, 276, 384, 168, |
| 108472 | /* 160 */ 489, 552, 620, 619, 620, 619, 272, 214, 440, 411, |
| 108473 | /* 170 */ 551, 604, 67, 165, 7, 618, 352, 353, 588, 582, |
| 108474 | /* 180 */ 443, 569, 192, 618, 414, 617, 616, 668, 441, 336, |
| 108475 | /* 190 */ 669, 62, 618, 599, 92, 382, 346, 57, 58, 48, |
| 108476 | /* 200 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, |
| 108477 | /* 210 */ 670, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108478 | /* 220 */ 51, 233, 310, 465, 232, 231, 373, 132, 514, 513, |
| 108479 | /* 230 */ 617, 616, 617, 616, 398, 437, 411, 66, 280, 388, |
| 108480 | /* 240 */ 411, 595, 439, 220, 438, 620, 619, 337, 569, 279, |
| 108481 | /* 250 */ 201, 414, 588, 582, 166, 414, 546, 167, 68, 234, |
| 108482 | /* 260 */ 599, 92, 620, 619, 599, 92, 19, 570, 570, 466, |
| 108483 | /* 270 */ 564, 57, 58, 48, 580, 579, 581, 581, 55, 55, |
| 108484 | /* 280 */ 56, 56, 56, 56, 598, 54, 54, 54, 54, 53, |
| 108485 | /* 290 */ 53, 52, 52, 52, 51, 233, 310, 411, 524, 232, |
| 108486 | /* 300 */ 231, 398, 593, 547, 559, 398, 348, 202, 175, 595, |
| 108487 | /* 310 */ 399, 315, 414, 617, 616, 387, 272, 255, 347, 254, |
| 108488 | /* 320 */ 558, 599, 74, 620, 619, 45, 588, 582, 235, 466, |
| 108489 | /* 330 */ 617, 616, 511, 591, 591, 591, 557, 578, 402, 545, |
| 108490 | /* 340 */ 600, 598, 570, 570, 601, 57, 58, 48, 580, 579, |
| 108491 | /* 350 */ 581, 581, 55, 55, 56, 56, 56, 56, 550, 54, |
| 108492 | /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, |
| 108493 | /* 370 */ 310, 309, 411, 145, 566, 490, 213, 255, 347, 254, |
| 108494 | /* 380 */ 196, 195, 194, 587, 586, 531, 600, 414, 235, 174, |
| 108495 | /* 390 */ 601, 617, 616, 411, 620, 619, 599, 91, 547, 574, |
| 108496 | /* 400 */ 588, 582, 50, 47, 146, 584, 583, 471, 414, 249, |
| 108497 | /* 410 */ 565, 542, 186, 39, 304, 424, 562, 599, 16, 57, |
| 108498 | /* 420 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, |
| 108499 | /* 430 */ 56, 56, 585, 54, 54, 54, 54, 53, 53, 52, |
| 108500 | /* 440 */ 52, 52, 51, 233, 310, 559, 290, 530, 529, 345, |
| 108501 | /* 450 */ 533, 576, 540, 246, 170, 248, 411, 396, 411, 422, |
| 108502 | /* 460 */ 199, 558, 617, 616, 165, 563, 50, 47, 146, 181, |
| 108503 | /* 470 */ 498, 414, 166, 414, 588, 582, 269, 557, 166, 518, |
| 108504 | /* 480 */ 599, 92, 599, 92, 561, 595, 469, 36, 173, 409, |
| 108505 | /* 490 */ 517, 577, 577, 57, 58, 48, 580, 579, 581, 581, |
| 108506 | /* 500 */ 55, 55, 56, 56, 56, 56, 338, 54, 54, 54, |
| 108507 | /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 304, |
| 108508 | /* 520 */ 423, 394, 526, 318, 869, 235, 167, 180, 473, 547, |
| 108509 | /* 530 */ 503, 247, 474, 381, 378, 377, 409, 351, 577, 577, |
| 108510 | /* 540 */ 409, 560, 577, 577, 376, 383, 364, 603, 588, 582, |
| 108511 | /* 550 */ 620, 619, 502, 595, 409, 494, 577, 577, 409, 266, |
| 108512 | /* 560 */ 577, 577, 421, 943, 422, 943, 198, 57, 58, 48, |
| 108513 | /* 570 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, |
| 108514 | /* 580 */ 315, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108515 | /* 590 */ 51, 233, 310, 390, 421, 942, 509, 942, 556, 145, |
| 108516 | /* 600 */ 598, 391, 324, 262, 549, 264, 411, 425, 407, 573, |
| 108517 | /* 610 */ 572, 12, 197, 143, 489, 50, 47, 146, 617, 616, |
| 108518 | /* 620 */ 206, 414, 588, 582, 547, 429, 67, 212, 143, 618, |
| 108519 | /* 630 */ 599, 73, 504, 505, 207, 434, 475, 475, 366, 425, |
| 108520 | /* 640 */ 35, 57, 58, 48, 580, 579, 581, 581, 55, 55, |
| 108521 | /* 650 */ 56, 56, 56, 56, 598, 54, 54, 54, 54, 53, |
| 108522 | /* 660 */ 53, 52, 52, 52, 51, 233, 310, 260, 598, 569, |
| 108523 | /* 670 */ 268, 615, 614, 613, 171, 411, 595, 11, 411, 350, |
| 108524 | /* 680 */ 411, 32, 618, 953, 183, 419, 2, 627, 625, 330, |
| 108525 | /* 690 */ 414, 352, 552, 414, 538, 414, 588, 582, 188, 599, |
| 108526 | /* 700 */ 69, 551, 599, 94, 599, 97, 374, 544, 166, 618, |
| 108527 | /* 710 */ 334, 359, 50, 47, 146, 57, 58, 48, 580, 579, |
| 108528 | /* 720 */ 581, 581, 55, 55, 56, 56, 56, 56, 411, 54, |
| 108529 | /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, |
| 108530 | /* 740 */ 310, 411, 129, 414, 595, 22, 273, 156, 411, 566, |
| 108531 | /* 750 */ 406, 213, 599, 95, 570, 570, 414, 327, 169, 332, |
| 108532 | /* 760 */ 411, 618, 536, 414, 358, 599, 104, 483, 508, 356, |
| 108533 | /* 770 */ 588, 582, 599, 103, 484, 414, 470, 357, 166, 618, |
| 108534 | /* 780 */ 626, 2, 204, 323, 599, 105, 40, 528, 38, 57, |
| 108535 | /* 790 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, |
| 108536 | /* 800 */ 56, 56, 411, 54, 54, 54, 54, 53, 53, 52, |
| 108537 | /* 810 */ 52, 52, 51, 233, 310, 411, 598, 414, 411, 260, |
| 108538 | /* 820 */ 273, 273, 273, 273, 426, 305, 599, 106, 520, 519, |
| 108539 | /* 830 */ 414, 411, 142, 414, 618, 618, 618, 618, 618, 599, |
| 108540 | /* 840 */ 133, 339, 599, 134, 588, 582, 414, 21, 30, 316, |
| 108541 | /* 850 */ 147, 459, 221, 170, 527, 599, 98, 222, 322, 321, |
| 108542 | /* 860 */ 320, 141, 259, 57, 58, 48, 580, 579, 581, 581, |
| 108543 | /* 870 */ 55, 55, 56, 56, 56, 56, 411, 54, 54, 54, |
| 108544 | /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 411, |
| 108545 | /* 890 */ 260, 414, 411, 458, 200, 35, 411, 358, 211, 228, |
| 108546 | /* 900 */ 599, 102, 468, 519, 414, 618, 28, 414, 538, 501, |
| 108547 | /* 910 */ 411, 414, 618, 599, 101, 358, 599, 93, 588, 582, |
| 108548 | /* 920 */ 599, 100, 522, 618, 427, 414, 306, 271, 598, 380, |
| 108549 | /* 930 */ 618, 602, 598, 452, 599, 77, 210, 57, 58, 48, |
| 108550 | /* 940 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, |
| 108551 | /* 950 */ 411, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108552 | /* 960 */ 51, 233, 310, 411, 621, 414, 411, 127, 609, 270, |
| 108553 | /* 970 */ 598, 365, 51, 233, 599, 96, 625, 330, 414, 618, |
| 108554 | /* 980 */ 126, 414, 411, 618, 411, 253, 608, 599, 137, 27, |
| 108555 | /* 990 */ 599, 136, 588, 582, 375, 260, 125, 414, 164, 414, |
| 108556 | /* 1000 */ 371, 618, 279, 219, 542, 542, 599, 135, 599, 76, |
| 108557 | /* 1010 */ 618, 57, 46, 48, 580, 579, 581, 581, 55, 55, |
| 108558 | /* 1020 */ 56, 56, 56, 56, 411, 54, 54, 54, 54, 53, |
| 108559 | /* 1030 */ 53, 52, 52, 52, 51, 233, 310, 411, 450, 414, |
| 108560 | /* 1040 */ 411, 260, 542, 229, 285, 607, 479, 184, 599, 90, |
| 108561 | /* 1050 */ 367, 122, 414, 476, 121, 414, 618, 170, 411, 353, |
| 108562 | /* 1060 */ 618, 599, 89, 410, 599, 75, 588, 582, 472, 257, |
| 108563 | /* 1070 */ 538, 120, 159, 414, 618, 14, 464, 158, 618, 157, |
| 108564 | /* 1080 */ 461, 283, 599, 88, 449, 618, 58, 48, 580, 579, |
| 108565 | /* 1090 */ 581, 581, 55, 55, 56, 56, 56, 56, 411, 54, |
| 108566 | /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, |
| 108567 | /* 1110 */ 310, 411, 260, 414, 411, 592, 260, 118, 25, 400, |
| 108568 | /* 1120 */ 10, 24, 599, 87, 117, 216, 414, 618, 349, 414, |
| 108569 | /* 1130 */ 618, 618, 411, 319, 618, 599, 99, 555, 599, 86, |
| 108570 | /* 1140 */ 588, 582, 4, 260, 457, 455, 115, 414, 251, 154, |
| 108571 | /* 1150 */ 451, 108, 618, 110, 436, 448, 599, 17, 618, 218, |
| 108572 | /* 1160 */ 107, 48, 580, 579, 581, 581, 55, 55, 56, 56, |
| 108573 | /* 1170 */ 56, 56, 435, 54, 54, 54, 54, 53, 53, 52, |
| 108574 | /* 1180 */ 52, 52, 51, 233, 44, 405, 217, 3, 411, 260, |
| 108575 | /* 1190 */ 543, 415, 619, 445, 64, 149, 539, 237, 333, 329, |
| 108576 | /* 1200 */ 203, 187, 408, 414, 618, 618, 420, 44, 405, 411, |
| 108577 | /* 1210 */ 3, 618, 599, 85, 415, 619, 148, 227, 622, 179, |
| 108578 | /* 1220 */ 313, 403, 312, 612, 414, 408, 611, 124, 417, 178, |
| 108579 | /* 1230 */ 610, 564, 243, 599, 84, 537, 8, 176, 235, 416, |
| 108580 | /* 1240 */ 294, 418, 623, 30, 403, 597, 411, 236, 293, 123, |
| 108581 | /* 1250 */ 618, 41, 42, 532, 564, 205, 292, 275, 43, 413, |
| 108582 | /* 1260 */ 412, 414, 395, 593, 507, 274, 31, 397, 291, 37, |
| 108583 | /* 1270 */ 599, 83, 618, 491, 41, 42, 267, 411, 265, 618, |
| 108584 | /* 1280 */ 618, 43, 413, 412, 596, 263, 593, 60, 618, 598, |
| 108585 | /* 1290 */ 261, 618, 414, 618, 591, 591, 591, 590, 589, 13, |
| 108586 | /* 1300 */ 618, 599, 72, 554, 235, 618, 44, 405, 256, 3, |
| 108587 | /* 1310 */ 361, 172, 340, 415, 619, 230, 411, 591, 591, 591, |
| 108588 | /* 1320 */ 590, 589, 13, 618, 408, 618, 182, 411, 286, 34, |
| 108589 | /* 1330 */ 405, 414, 3, 411, 463, 411, 415, 619, 29, 331, |
| 108590 | /* 1340 */ 599, 71, 414, 403, 392, 386, 284, 408, 414, 618, |
| 108591 | /* 1350 */ 414, 599, 82, 564, 411, 462, 354, 599, 81, 599, |
| 108592 | /* 1360 */ 80, 541, 250, 535, 282, 521, 403, 534, 516, 414, |
| 108593 | /* 1370 */ 618, 618, 454, 41, 42, 411, 564, 618, 599, 70, |
| 108594 | /* 1380 */ 43, 413, 412, 444, 515, 593, 242, 618, 325, 61, |
| 108595 | /* 1390 */ 414, 277, 239, 620, 619, 238, 41, 42, 618, 599, |
| 108596 | /* 1400 */ 18, 618, 512, 43, 413, 412, 511, 618, 593, 430, |
| 108597 | /* 1410 */ 618, 411, 128, 510, 308, 226, 591, 591, 591, 590, |
| 108598 | /* 1420 */ 589, 13, 215, 289, 618, 225, 414, 302, 301, 300, |
| 108599 | /* 1430 */ 177, 298, 411, 564, 453, 599, 79, 224, 618, 591, |
| 108600 | /* 1440 */ 591, 591, 590, 589, 13, 389, 492, 414, 150, 144, |
| 108601 | /* 1450 */ 241, 393, 288, 191, 190, 193, 599, 78, 165, 240, |
| 108602 | /* 1460 */ 414, 524, 487, 307, 618, 593, 618, 618, 486, 599, |
| 108603 | /* 1470 */ 9, 163, 152, 485, 466, 372, 480, 162, 153, 370, |
| 108604 | /* 1480 */ 161, 151, 209, 478, 258, 368, 477, 26, 160, 467, |
| 108605 | /* 1490 */ 140, 362, 131, 119, 116, 456, 591, 591, 591, 155, |
| 108606 | /* 1500 */ 114, 344, 343, 113, 112, 111, 447, 109, 130, 23, |
| 108607 | /* 1510 */ 317, 433, 20, 432, 431, 428, 606, 594, 63, 189, |
| 108608 | /* 1520 */ 404, 571, 255, 342, 244, 295, 287, 278, 311, 508, |
| 108609 | /* 1530 */ 496, 497, 495, 235, 493, 568, 379, 355, 460, 245, |
| 108610 | /* 1540 */ 341, 446, 303, 567, 5, 252, 548, 208, 139, 506, |
| 108611 | /* 1550 */ 369, 401, 500, 499, 296, 525, 335, 488, 482, 523, |
| 108612 | /* 1560 */ 233, |
| 108613 | }; |
| 108614 | static const YYCODETYPE yy_lookahead[] = { |
| 108615 | /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78, |
| 108616 | /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 108617 | /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1, |
| 108618 | /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84, |
| 108619 | /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, |
| 108620 | /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108621 | /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88, |
| 108622 | /* 70 */ 89, 90, 91, 92, 19, 94, 19, 23, 1, 25, |
| 108623 | /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108624 | /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150, |
| 108625 | /* 100 */ 23, 150, 25, 116, 49, 50, 177, 158, 227, 54, |
| 108626 | /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 160, |
| 108627 | /* 120 */ 22, 170, 171, 68, 69, 70, 71, 72, 73, 74, |
| 108628 | /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84, |
| 108629 | /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, |
| 108630 | /* 150 */ 221, 222, 223, 194, 97, 98, 99, 100, 101, 102, |
| 108631 | /* 160 */ 150, 32, 26, 27, 26, 27, 109, 22, 150, 150, |
| 108632 | /* 170 */ 41, 161, 162, 96, 76, 165, 217, 150, 49, 50, |
| 108633 | /* 180 */ 229, 230, 172, 165, 165, 94, 95, 118, 170, 171, |
| 108634 | /* 190 */ 118, 232, 165, 174, 175, 185, 237, 68, 69, 70, |
| 108635 | /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108636 | /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108637 | /* 220 */ 91, 92, 19, 11, 86, 87, 19, 24, 7, 8, |
| 108638 | /* 230 */ 94, 95, 94, 95, 215, 97, 150, 22, 98, 220, |
| 108639 | /* 240 */ 150, 26, 104, 216, 106, 26, 27, 229, 230, 109, |
| 108640 | /* 250 */ 160, 165, 49, 50, 25, 165, 120, 50, 22, 197, |
| 108641 | /* 260 */ 174, 175, 26, 27, 174, 175, 204, 129, 130, 57, |
| 108642 | /* 270 */ 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108643 | /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, |
| 108644 | /* 290 */ 87, 88, 89, 90, 91, 92, 19, 150, 94, 86, |
| 108645 | /* 300 */ 87, 215, 98, 25, 12, 215, 220, 160, 118, 94, |
| 108646 | /* 310 */ 220, 104, 165, 94, 95, 88, 109, 105, 106, 107, |
| 108647 | /* 320 */ 28, 174, 175, 26, 27, 22, 49, 50, 116, 57, |
| 108648 | /* 330 */ 94, 95, 103, 129, 130, 131, 44, 113, 46, 120, |
| 108649 | /* 340 */ 113, 194, 129, 130, 117, 68, 69, 70, 71, 72, |
| 108650 | /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 177, 82, |
| 108651 | /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108652 | /* 370 */ 19, 163, 150, 95, 166, 167, 168, 105, 106, 107, |
| 108653 | /* 380 */ 105, 106, 107, 49, 50, 88, 113, 165, 116, 118, |
| 108654 | /* 390 */ 117, 94, 95, 150, 26, 27, 174, 175, 120, 23, |
| 108655 | /* 400 */ 49, 50, 221, 222, 223, 71, 72, 21, 165, 16, |
| 108656 | /* 410 */ 23, 166, 22, 136, 22, 23, 11, 174, 175, 68, |
| 108657 | /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108658 | /* 430 */ 79, 80, 98, 82, 83, 84, 85, 86, 87, 88, |
| 108659 | /* 440 */ 89, 90, 91, 92, 19, 12, 224, 23, 23, 63, |
| 108660 | /* 450 */ 205, 23, 23, 60, 25, 62, 150, 214, 150, 67, |
| 108661 | /* 460 */ 22, 28, 94, 95, 96, 23, 221, 222, 223, 23, |
| 108662 | /* 470 */ 23, 165, 25, 165, 49, 50, 23, 44, 25, 46, |
| 108663 | /* 480 */ 174, 175, 174, 175, 23, 26, 100, 136, 25, 112, |
| 108664 | /* 490 */ 57, 114, 115, 68, 69, 70, 71, 72, 73, 74, |
| 108665 | /* 500 */ 75, 76, 77, 78, 79, 80, 97, 82, 83, 84, |
| 108666 | /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 22, |
| 108667 | /* 520 */ 23, 215, 23, 215, 138, 116, 50, 23, 30, 25, |
| 108668 | /* 530 */ 36, 138, 34, 99, 100, 101, 112, 128, 114, 115, |
| 108669 | /* 540 */ 112, 23, 114, 115, 110, 51, 48, 173, 49, 50, |
| 108670 | /* 550 */ 26, 27, 58, 94, 112, 181, 114, 115, 112, 16, |
| 108671 | /* 560 */ 114, 115, 22, 23, 67, 25, 160, 68, 69, 70, |
| 108672 | /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108673 | /* 580 */ 104, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108674 | /* 590 */ 91, 92, 19, 19, 22, 23, 23, 25, 23, 95, |
| 108675 | /* 600 */ 194, 27, 108, 60, 25, 62, 150, 67, 169, 170, |
| 108676 | /* 610 */ 171, 35, 206, 207, 150, 221, 222, 223, 94, 95, |
| 108677 | /* 620 */ 160, 165, 49, 50, 120, 161, 162, 206, 207, 165, |
| 108678 | /* 630 */ 174, 175, 97, 98, 160, 241, 105, 106, 107, 67, |
| 108679 | /* 640 */ 25, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108680 | /* 650 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, |
| 108681 | /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 194, 230, |
| 108682 | /* 670 */ 23, 7, 8, 9, 24, 150, 26, 35, 150, 219, |
| 108683 | /* 680 */ 150, 25, 165, 142, 143, 144, 145, 0, 1, 2, |
| 108684 | /* 690 */ 165, 217, 32, 165, 150, 165, 49, 50, 119, 174, |
| 108685 | /* 700 */ 175, 41, 174, 175, 174, 175, 23, 120, 25, 165, |
| 108686 | /* 710 */ 193, 237, 221, 222, 223, 68, 69, 70, 71, 72, |
| 108687 | /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108688 | /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108689 | /* 740 */ 19, 150, 22, 165, 94, 24, 150, 25, 150, 166, |
| 108690 | /* 750 */ 167, 168, 174, 175, 129, 130, 165, 213, 35, 242, |
| 108691 | /* 760 */ 150, 165, 27, 165, 150, 174, 175, 181, 182, 19, |
| 108692 | /* 770 */ 49, 50, 174, 175, 188, 165, 23, 27, 25, 165, |
| 108693 | /* 780 */ 144, 145, 160, 187, 174, 175, 135, 23, 137, 68, |
| 108694 | /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108695 | /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, |
| 108696 | /* 810 */ 89, 90, 91, 92, 19, 150, 194, 165, 150, 150, |
| 108697 | /* 820 */ 150, 150, 150, 150, 247, 248, 174, 175, 190, 191, |
| 108698 | /* 830 */ 165, 150, 118, 165, 165, 165, 165, 165, 165, 174, |
| 108699 | /* 840 */ 175, 219, 174, 175, 49, 50, 165, 52, 126, 245, |
| 108700 | /* 850 */ 246, 23, 238, 25, 23, 174, 175, 187, 187, 187, |
| 108701 | /* 860 */ 187, 39, 193, 68, 69, 70, 71, 72, 73, 74, |
| 108702 | /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, |
| 108703 | /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, |
| 108704 | /* 890 */ 150, 165, 150, 23, 160, 25, 150, 150, 160, 52, |
| 108705 | /* 900 */ 174, 175, 190, 191, 165, 165, 22, 165, 150, 29, |
| 108706 | /* 910 */ 150, 165, 165, 174, 175, 150, 174, 175, 49, 50, |
| 108707 | /* 920 */ 174, 175, 165, 165, 23, 165, 25, 25, 194, 52, |
| 108708 | /* 930 */ 165, 174, 194, 193, 174, 175, 160, 68, 69, 70, |
| 108709 | /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108710 | /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108711 | /* 960 */ 91, 92, 19, 150, 150, 165, 150, 22, 150, 23, |
| 108712 | /* 970 */ 194, 213, 91, 92, 174, 175, 1, 2, 165, 165, |
| 108713 | /* 980 */ 22, 165, 150, 165, 150, 238, 150, 174, 175, 22, |
| 108714 | /* 990 */ 174, 175, 49, 50, 52, 150, 22, 165, 102, 165, |
| 108715 | /* 1000 */ 19, 165, 109, 238, 166, 166, 174, 175, 174, 175, |
| 108716 | /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108717 | /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, |
| 108718 | /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, |
| 108719 | /* 1040 */ 150, 150, 166, 205, 205, 150, 20, 24, 174, 175, |
| 108720 | /* 1050 */ 43, 104, 165, 59, 53, 165, 165, 25, 150, 150, |
| 108721 | /* 1060 */ 165, 174, 175, 150, 174, 175, 49, 50, 53, 138, |
| 108722 | /* 1070 */ 150, 22, 104, 165, 165, 5, 1, 118, 165, 35, |
| 108723 | /* 1080 */ 27, 205, 174, 175, 193, 165, 69, 70, 71, 72, |
| 108724 | /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108725 | /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108726 | /* 1110 */ 19, 150, 150, 165, 150, 150, 150, 108, 76, 150, |
| 108727 | /* 1120 */ 22, 76, 174, 175, 127, 216, 165, 165, 25, 165, |
| 108728 | /* 1130 */ 165, 165, 150, 213, 165, 174, 175, 150, 174, 175, |
| 108729 | /* 1140 */ 49, 50, 22, 150, 23, 1, 119, 165, 16, 121, |
| 108730 | /* 1150 */ 20, 108, 165, 119, 23, 193, 174, 175, 165, 193, |
| 108731 | /* 1160 */ 127, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108732 | /* 1170 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, |
| 108733 | /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 150, |
| 108734 | /* 1190 */ 150, 26, 27, 128, 16, 15, 150, 140, 65, 3, |
| 108735 | /* 1200 */ 164, 22, 37, 165, 165, 165, 4, 19, 20, 150, |
| 108736 | /* 1210 */ 22, 165, 174, 175, 26, 27, 246, 180, 149, 6, |
| 108737 | /* 1220 */ 249, 56, 249, 149, 165, 37, 149, 180, 149, 151, |
| 108738 | /* 1230 */ 13, 66, 193, 174, 175, 150, 25, 151, 116, 159, |
| 108739 | /* 1240 */ 199, 146, 147, 126, 56, 194, 150, 152, 200, 154, |
| 108740 | /* 1250 */ 165, 86, 87, 88, 66, 160, 201, 150, 93, 94, |
| 108741 | /* 1260 */ 95, 165, 123, 98, 150, 150, 124, 122, 202, 135, |
| 108742 | /* 1270 */ 174, 175, 165, 150, 86, 87, 150, 150, 150, 165, |
| 108743 | /* 1280 */ 165, 93, 94, 95, 203, 150, 98, 125, 165, 194, |
| 108744 | /* 1290 */ 150, 165, 165, 165, 129, 130, 131, 132, 133, 134, |
| 108745 | /* 1300 */ 165, 174, 175, 157, 116, 165, 19, 20, 150, 22, |
| 108746 | /* 1310 */ 150, 118, 217, 26, 27, 225, 150, 129, 130, 131, |
| 108747 | /* 1320 */ 132, 133, 134, 165, 37, 165, 157, 150, 210, 19, |
| 108748 | /* 1330 */ 20, 165, 22, 150, 150, 150, 26, 27, 104, 244, |
| 108749 | /* 1340 */ 174, 175, 165, 56, 121, 104, 210, 37, 165, 165, |
| 108750 | /* 1350 */ 165, 174, 175, 66, 150, 150, 150, 174, 175, 174, |
| 108751 | /* 1360 */ 175, 211, 150, 211, 210, 176, 56, 211, 176, 165, |
| 108752 | /* 1370 */ 165, 165, 150, 86, 87, 150, 66, 165, 174, 175, |
| 108753 | /* 1380 */ 93, 94, 95, 150, 184, 98, 150, 165, 47, 22, |
| 108754 | /* 1390 */ 165, 176, 150, 26, 27, 150, 86, 87, 165, 174, |
| 108755 | /* 1400 */ 175, 165, 178, 93, 94, 95, 103, 165, 98, 150, |
| 108756 | /* 1410 */ 165, 150, 22, 176, 179, 228, 129, 130, 131, 132, |
| 108757 | /* 1420 */ 133, 134, 5, 150, 165, 92, 165, 10, 11, 12, |
| 108758 | /* 1430 */ 13, 14, 150, 66, 17, 174, 175, 228, 165, 129, |
| 108759 | /* 1440 */ 130, 131, 132, 133, 134, 150, 184, 165, 31, 150, |
| 108760 | /* 1450 */ 33, 150, 150, 86, 87, 172, 174, 175, 96, 42, |
| 108761 | /* 1460 */ 165, 94, 176, 179, 165, 98, 165, 165, 176, 174, |
| 108762 | /* 1470 */ 175, 156, 55, 176, 57, 18, 157, 156, 61, 157, |
| 108763 | /* 1480 */ 156, 64, 157, 157, 235, 45, 236, 135, 156, 189, |
| 108764 | /* 1490 */ 68, 157, 218, 189, 22, 199, 129, 130, 131, 156, |
| 108765 | /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240, |
| 108766 | /* 1510 */ 157, 40, 240, 157, 157, 38, 153, 166, 243, 196, |
| 108767 | /* 1520 */ 226, 230, 105, 106, 107, 198, 209, 177, 111, 182, |
| 108768 | /* 1530 */ 166, 177, 177, 116, 166, 230, 178, 239, 199, 209, |
| 108769 | /* 1540 */ 209, 199, 148, 166, 196, 239, 208, 233, 172, 183, |
| 108770 | /* 1550 */ 234, 191, 183, 183, 195, 174, 139, 186, 186, 174, |
| 108771 | /* 1560 */ 92, |
| 108772 | }; |
| 108773 | #define YY_SHIFT_USE_DFLT (-70) |
| 108774 | #define YY_SHIFT_COUNT (418) |
| 108775 | #define YY_SHIFT_MIN (-69) |
| 108776 | #define YY_SHIFT_MAX (1484) |
| 108777 | static const short yy_shift_ofst[] = { |
| 108778 | /* 0 */ 975, 1188, 1417, 1188, 1287, 1287, 138, 138, 368, -19, |
| 108779 | /* 10 */ 1287, 1287, 1287, 1287, 272, 524, 129, 129, 795, 1165, |
| 108780 | /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108781 | /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108782 | /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, |
| 108783 | /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108784 | /* 60 */ 1287, 1287, 212, 524, 524, 213, 213, 459, 1122, 55, |
| 108785 | /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, |
| 108786 | /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, |
| 108787 | /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, |
| 108788 | /* 100 */ -45, -45, -45, -45, -1, 6, -64, 524, 524, 524, |
| 108789 | /* 110 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, |
| 108790 | /* 120 */ 524, 524, 524, 386, 207, 524, 524, 524, 524, 524, |
| 108791 | /* 130 */ 409, -13, 459, 881, 1468, -70, -70, -70, 1367, 57, |
| 108792 | /* 140 */ 433, 433, 297, 236, 219, 136, 91, 572, 540, 524, |
| 108793 | /* 150 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, |
| 108794 | /* 160 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, |
| 108795 | /* 170 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, |
| 108796 | /* 180 */ 650, 650, 650, 687, 1122, 1122, 1122, -70, -70, -70, |
| 108797 | /* 190 */ 204, 204, 434, 434, 494, 494, 494, 504, 446, 292, |
| 108798 | /* 200 */ 442, 428, 424, 77, 377, 377, 377, 377, 531, 498, |
| 108799 | /* 210 */ 377, 377, 278, 215, 227, 664, 722, 574, 574, 750, |
| 108800 | /* 220 */ 722, 750, 229, 459, 660, 459, 660, 476, 660, 574, |
| 108801 | /* 230 */ 651, 625, 625, 459, 579, 273, -18, 1477, 1193, 1193, |
| 108802 | /* 240 */ 1471, 1471, 1193, 1472, 1422, 1117, 1484, 1484, 1484, 1484, |
| 108803 | /* 250 */ 1193, 1457, 1117, 1472, 1422, 1422, 1193, 1457, 1352, 1440, |
| 108804 | /* 260 */ 1193, 1193, 1457, 1193, 1457, 1193, 1457, 1390, 1241, 1241, |
| 108805 | /* 270 */ 1241, 1362, 1341, 1333, 1333, 1390, 1241, 1303, 1241, 1341, |
| 108806 | /* 280 */ 1241, 1241, 1223, 1234, 1223, 1234, 1223, 1234, 1193, 1193, |
| 108807 | /* 290 */ 1134, 1162, 1145, 1142, 1139, 1117, 1122, 1211, 1217, 1217, |
| 108808 | /* 300 */ 1213, 1213, 1213, 1213, -70, -70, -70, -70, -70, -70, |
| 108809 | /* 310 */ 334, 393, 497, 392, 543, 275, 901, 98, 870, 828, |
| 108810 | /* 320 */ 753, 683, 453, 447, 535, 221, 140, 429, 54, 1202, |
| 108811 | /* 330 */ 1196, 1179, 1057, 1180, 1133, 1178, 1149, 1131, 1065, 1103, |
| 108812 | /* 340 */ 1033, 1043, 1034, 1130, 1028, 1132, 1144, 1027, 1121, 1120, |
| 108813 | /* 350 */ 1103, 1098, 997, 1045, 1042, 1009, 1053, 1044, 959, 1075, |
| 108814 | /* 360 */ 1070, 1049, 968, 931, 1015, 1032, 1001, 994, 1007, 947, |
| 108815 | /* 370 */ 1023, 1026, 981, 893, 896, 974, 942, 967, 958, 946, |
| 108816 | /* 380 */ 945, 877, 902, 880, 884, 847, 822, 831, 764, 714, |
| 108817 | /* 390 */ 735, 723, 720, 587, 615, 642, 656, 576, 615, 575, |
| 108818 | /* 400 */ 518, 463, 461, 438, 405, 390, 387, 376, 303, 224, |
| 108819 | /* 410 */ 271, 190, 92, 72, 69, 145, 113, 33, 28, |
| 108820 | }; |
| 108821 | #define YY_REDUCE_USE_DFLT (-169) |
| 108822 | #define YY_REDUCE_COUNT (309) |
| 108823 | #define YY_REDUCE_MIN (-168) |
| 108824 | #define YY_REDUCE_MAX (1394) |
| 108825 | static const short yy_reduce_ofst[] = { |
| 108826 | /* 0 */ 541, 90, 1095, 147, 86, 19, 18, -49, 10, 245, |
| 108827 | /* 10 */ 308, 306, 243, 222, -41, -51, 181, -71, 394, 1295, |
| 108828 | /* 20 */ 1282, 1261, 1225, 1204, 1185, 1183, 1177, 1166, 1127, 1096, |
| 108829 | /* 30 */ 1059, 1038, 982, 964, 961, 948, 908, 890, 887, 874, |
| 108830 | /* 40 */ 834, 832, 816, 813, 800, 760, 746, 742, 739, 726, |
| 108831 | /* 50 */ 681, 668, 665, 652, 610, 598, 591, 578, 530, 528, |
| 108832 | /* 60 */ 525, 456, 474, 464, 517, 439, -168, 208, 406, 491, |
| 108833 | /* 70 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, |
| 108834 | /* 80 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, |
| 108835 | /* 90 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, |
| 108836 | /* 100 */ 491, 491, 491, 491, 491, 491, 491, 1039, 909, 993, |
| 108837 | /* 110 */ 966, 962, 891, 845, 740, 765, 920, 747, 27, 614, |
| 108838 | /* 120 */ 673, 758, 669, -119, 586, 672, 671, 670, 596, 544, |
| 108839 | /* 130 */ 622, 460, 583, 491, 491, 491, 491, 491, 757, 374, |
| 108840 | /* 140 */ 712, 638, 913, 1302, 1301, 1299, 1273, 577, 577, 1259, |
| 108841 | /* 150 */ 1245, 1242, 1236, 1233, 1222, 1212, 1206, 1205, 1184, 1160, |
| 108842 | /* 160 */ 1158, 1140, 1135, 1128, 1126, 1123, 1115, 1114, 1107, 1085, |
| 108843 | /* 170 */ 1046, 1040, 987, 969, 965, 913, 895, 836, 818, 814, |
| 108844 | /* 180 */ 876, 839, 838, 636, 776, 738, 734, 604, 421, 62, |
| 108845 | /* 190 */ 1385, 1381, 1372, 1371, 1370, 1369, 1366, 1338, 1359, 1360, |
| 108846 | /* 200 */ 1359, 1359, 1359, 1376, 1359, 1359, 1359, 1359, 1316, 1314, |
| 108847 | /* 210 */ 1359, 1359, 1338, 1377, 1348, 1394, 1342, 1331, 1330, 1306, |
| 108848 | /* 220 */ 1339, 1298, 1358, 1368, 1355, 1364, 1354, 1347, 1350, 1317, |
| 108849 | /* 230 */ 1294, 1305, 1291, 1351, 1327, 1323, 1363, 1275, 1357, 1356, |
| 108850 | /* 240 */ 1272, 1269, 1353, 1290, 1318, 1307, 1313, 1312, 1311, 1308, |
| 108851 | /* 250 */ 1344, 1343, 1296, 1274, 1304, 1300, 1334, 1332, 1250, 1249, |
| 108852 | /* 260 */ 1326, 1325, 1324, 1322, 1321, 1319, 1315, 1284, 1297, 1292, |
| 108853 | /* 270 */ 1286, 1283, 1262, 1209, 1187, 1235, 1237, 1224, 1215, 1200, |
| 108854 | /* 280 */ 1192, 1189, 1156, 1154, 1152, 1136, 1150, 1118, 1169, 1146, |
| 108855 | /* 290 */ 1090, 1081, 1066, 1055, 1048, 1041, 1051, 1080, 1086, 1078, |
| 108856 | /* 300 */ 1079, 1077, 1074, 1069, 973, 971, 970, 1047, 1037, 1036, |
| 108857 | }; |
| 108858 | static const YYACTIONTYPE yy_default[] = { |
| 108859 | /* 0 */ 632, 864, 952, 952, 864, 864, 952, 952, 683, 754, |
| 108860 | /* 10 */ 952, 952, 952, 862, 952, 952, 782, 782, 926, 952, |
| 108861 | /* 20 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108862 | /* 30 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108863 | /* 40 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108864 | /* 50 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108865 | /* 60 */ 952, 952, 952, 952, 952, 952, 952, 671, 758, 788, |
| 108866 | /* 70 */ 952, 952, 952, 952, 952, 952, 952, 952, 925, 927, |
| 108867 | /* 80 */ 796, 795, 905, 769, 793, 786, 790, 865, 858, 859, |
| 108868 | /* 90 */ 857, 861, 866, 952, 789, 825, 842, 824, 836, 841, |
| 108869 | /* 100 */ 848, 840, 837, 827, 826, 828, 829, 952, 952, 952, |
| 108870 | /* 110 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108871 | /* 120 */ 952, 952, 952, 658, 723, 952, 952, 952, 952, 952, |
| 108872 | /* 130 */ 952, 952, 952, 830, 831, 845, 844, 843, 952, 952, |
| 108873 | /* 140 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108874 | /* 150 */ 932, 930, 952, 877, 952, 952, 952, 952, 952, 952, |
| 108875 | /* 160 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108876 | /* 170 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 638, |
| 108877 | /* 180 */ 754, 754, 754, 632, 952, 952, 952, 944, 758, 748, |
| 108878 | /* 190 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108879 | /* 200 */ 952, 952, 952, 683, 798, 737, 915, 917, 952, 898, |
| 108880 | /* 210 */ 735, 660, 756, 673, 746, 640, 792, 771, 771, 910, |
| 108881 | /* 220 */ 792, 910, 697, 952, 782, 952, 782, 694, 782, 771, |
| 108882 | /* 230 */ 860, 952, 952, 952, 755, 746, 952, 937, 762, 762, |
| 108883 | /* 240 */ 929, 929, 762, 804, 727, 792, 734, 734, 734, 734, |
| 108884 | /* 250 */ 762, 655, 792, 804, 727, 727, 762, 655, 904, 902, |
| 108885 | /* 260 */ 762, 762, 655, 762, 655, 762, 655, 870, 725, 725, |
| 108886 | /* 270 */ 725, 683, 712, 874, 874, 870, 725, 697, 725, 712, |
| 108887 | /* 280 */ 725, 725, 775, 770, 775, 770, 775, 770, 762, 762, |
| 108888 | /* 290 */ 952, 787, 776, 785, 783, 792, 952, 715, 648, 648, |
| 108889 | /* 300 */ 637, 637, 637, 637, 949, 949, 944, 699, 699, 681, |
| 108890 | /* 310 */ 952, 952, 952, 952, 952, 952, 952, 879, 952, 952, |
| 108891 | /* 320 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108892 | /* 330 */ 633, 939, 952, 952, 936, 952, 952, 952, 952, 797, |
| 108893 | /* 340 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108894 | /* 350 */ 914, 952, 952, 952, 952, 952, 952, 952, 908, 952, |
| 108895 | /* 360 */ 952, 952, 952, 952, 952, 901, 900, 952, 952, 952, |
| 108896 | /* 370 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, |
| 108897 | /* 380 */ 952, 952, 716, 952, 952, 952, 952, 952, 952, 952, |
| 108898 | /* 390 */ 952, 952, 952, 952, 784, 952, 777, 952, 863, 952, |
| 108899 | /* 400 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 740, |
| 108900 | /* 410 */ 813, 952, 812, 816, 811, 665, 952, 646, 952, 629, |
| 108901 | /* 420 */ 634, 948, 951, 950, 947, 946, 945, 940, 938, 935, |
| 108902 | /* 430 */ 934, 933, 931, 928, 924, 883, 881, 888, 887, 886, |
| 108903 | /* 440 */ 885, 884, 882, 880, 878, 799, 794, 791, 923, 876, |
| 108904 | /* 450 */ 736, 733, 732, 654, 941, 907, 916, 803, 802, 805, |
| 108905 | /* 460 */ 913, 912, 911, 909, 906, 893, 801, 800, 728, 868, |
| 108906 | /* 470 */ 867, 657, 897, 896, 895, 899, 903, 894, 764, 656, |
| 108907 | /* 480 */ 653, 662, 718, 724, 722, 721, 720, 719, 717, 664, |
| 108908 | /* 490 */ 672, 682, 711, 696, 695, 873, 875, 872, 871, 704, |
| 108909 | /* 500 */ 703, 709, 708, 707, 706, 705, 702, 701, 700, 693, |
| 108910 | /* 510 */ 692, 698, 691, 714, 713, 710, 690, 731, 730, 729, |
| 108911 | /* 520 */ 726, 689, 688, 687, 816, 686, 685, 822, 821, 809, |
| 108912 | /* 530 */ 852, 751, 750, 749, 761, 760, 773, 772, 807, 806, |
| 108913 | /* 540 */ 774, 759, 753, 752, 768, 767, 766, 765, 757, 747, |
| 108914 | /* 550 */ 779, 781, 780, 778, 854, 763, 851, 922, 921, 920, |
| 108915 | /* 560 */ 919, 918, 856, 855, 823, 820, 676, 677, 891, 890, |
| 108916 | /* 570 */ 892, 889, 679, 678, 675, 674, 853, 742, 741, 849, |
| 108917 | /* 580 */ 846, 838, 834, 850, 847, 839, 835, 833, 832, 818, |
| 108918 | /* 590 */ 817, 815, 814, 810, 819, 667, 743, 739, 738, 808, |
| 108919 | /* 600 */ 745, 744, 684, 680, 661, 659, 652, 650, 649, 651, |
| 108920 | /* 610 */ 647, 645, 644, 643, 642, 641, 670, 669, 668, 666, |
| 108921 | /* 620 */ 665, 639, 636, 635, 631, 630, 628, |
| 108922 | }; |
| 108923 | |
| 108924 | /* The next table maps tokens into fallback tokens. If a construct |
| 108925 | ** like the following: |
| 108926 | ** |
| @@ -109119,14 +109186,14 @@ | |
| 109119 | "create_table", "create_table_args", "createkw", "temp", |
| 109120 | "ifnotexists", "dbnm", "columnlist", "conslist_opt", |
| 109121 | "select", "column", "columnid", "type", |
| 109122 | "carglist", "id", "ids", "typetoken", |
| 109123 | "typename", "signed", "plus_num", "minus_num", |
| 109124 | "cname", "ccons", "term", "expr", |
| 109125 | "onconf", "sortorder", "autoinc", "idxlist_opt", |
| 109126 | "refargs", "defer_subclause", "refarg", "refact", |
| 109127 | "init_deferred_pred_opt", "conslist", "tcons", "idxlist", |
| 109128 | "defer_subclause_opt", "orconf", "resolvetype", "raisetype", |
| 109129 | "ifexists", "fullname", "oneselect", "multiselect_op", |
| 109130 | "distinct", "selcollist", "from", "where_opt", |
| 109131 | "groupby_opt", "having_opt", "orderby_opt", "limit_opt", |
| 109132 | "sclp", "as", "seltablist", "stl_prefix", |
| @@ -109199,282 +109266,284 @@ | |
| 109199 | /* 48 */ "typetoken ::= typename LP signed COMMA signed RP", |
| 109200 | /* 49 */ "typename ::= ids", |
| 109201 | /* 50 */ "typename ::= typename ids", |
| 109202 | /* 51 */ "signed ::= plus_num", |
| 109203 | /* 52 */ "signed ::= minus_num", |
| 109204 | /* 53 */ "carglist ::= carglist cname ccons", |
| 109205 | /* 54 */ "carglist ::=", |
| 109206 | /* 55 */ "cname ::= CONSTRAINT nm", |
| 109207 | /* 56 */ "cname ::=", |
| 109208 | /* 57 */ "ccons ::= DEFAULT term", |
| 109209 | /* 58 */ "ccons ::= DEFAULT LP expr RP", |
| 109210 | /* 59 */ "ccons ::= DEFAULT PLUS term", |
| 109211 | /* 60 */ "ccons ::= DEFAULT MINUS term", |
| 109212 | /* 61 */ "ccons ::= DEFAULT id", |
| 109213 | /* 62 */ "ccons ::= NULL onconf", |
| 109214 | /* 63 */ "ccons ::= NOT NULL onconf", |
| 109215 | /* 64 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", |
| 109216 | /* 65 */ "ccons ::= UNIQUE onconf", |
| 109217 | /* 66 */ "ccons ::= CHECK LP expr RP", |
| 109218 | /* 67 */ "ccons ::= REFERENCES nm idxlist_opt refargs", |
| 109219 | /* 68 */ "ccons ::= defer_subclause", |
| 109220 | /* 69 */ "ccons ::= COLLATE ids", |
| 109221 | /* 70 */ "autoinc ::=", |
| 109222 | /* 71 */ "autoinc ::= AUTOINCR", |
| 109223 | /* 72 */ "refargs ::=", |
| 109224 | /* 73 */ "refargs ::= refargs refarg", |
| 109225 | /* 74 */ "refarg ::= MATCH nm", |
| 109226 | /* 75 */ "refarg ::= ON INSERT refact", |
| 109227 | /* 76 */ "refarg ::= ON DELETE refact", |
| 109228 | /* 77 */ "refarg ::= ON UPDATE refact", |
| 109229 | /* 78 */ "refact ::= SET NULL", |
| 109230 | /* 79 */ "refact ::= SET DEFAULT", |
| 109231 | /* 80 */ "refact ::= CASCADE", |
| 109232 | /* 81 */ "refact ::= RESTRICT", |
| 109233 | /* 82 */ "refact ::= NO ACTION", |
| 109234 | /* 83 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", |
| 109235 | /* 84 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", |
| 109236 | /* 85 */ "init_deferred_pred_opt ::=", |
| 109237 | /* 86 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", |
| 109238 | /* 87 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", |
| 109239 | /* 88 */ "conslist_opt ::=", |
| 109240 | /* 89 */ "conslist_opt ::= COMMA conslist", |
| 109241 | /* 90 */ "conslist ::= conslist COMMA cname tcons", |
| 109242 | /* 91 */ "conslist ::= cname tcons", |
| 109243 | /* 92 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", |
| 109244 | /* 93 */ "tcons ::= UNIQUE LP idxlist RP onconf", |
| 109245 | /* 94 */ "tcons ::= CHECK LP expr RP onconf", |
| 109246 | /* 95 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", |
| 109247 | /* 96 */ "defer_subclause_opt ::=", |
| 109248 | /* 97 */ "defer_subclause_opt ::= defer_subclause", |
| 109249 | /* 98 */ "onconf ::=", |
| 109250 | /* 99 */ "onconf ::= ON CONFLICT resolvetype", |
| 109251 | /* 100 */ "orconf ::=", |
| 109252 | /* 101 */ "orconf ::= OR resolvetype", |
| 109253 | /* 102 */ "resolvetype ::= raisetype", |
| 109254 | /* 103 */ "resolvetype ::= IGNORE", |
| 109255 | /* 104 */ "resolvetype ::= REPLACE", |
| 109256 | /* 105 */ "cmd ::= DROP TABLE ifexists fullname", |
| 109257 | /* 106 */ "ifexists ::= IF EXISTS", |
| 109258 | /* 107 */ "ifexists ::=", |
| 109259 | /* 108 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", |
| 109260 | /* 109 */ "cmd ::= DROP VIEW ifexists fullname", |
| 109261 | /* 110 */ "cmd ::= select", |
| 109262 | /* 111 */ "select ::= oneselect", |
| 109263 | /* 112 */ "select ::= select multiselect_op oneselect", |
| 109264 | /* 113 */ "multiselect_op ::= UNION", |
| 109265 | /* 114 */ "multiselect_op ::= UNION ALL", |
| 109266 | /* 115 */ "multiselect_op ::= EXCEPT|INTERSECT", |
| 109267 | /* 116 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", |
| 109268 | /* 117 */ "distinct ::= DISTINCT", |
| 109269 | /* 118 */ "distinct ::= ALL", |
| 109270 | /* 119 */ "distinct ::=", |
| 109271 | /* 120 */ "sclp ::= selcollist COMMA", |
| 109272 | /* 121 */ "sclp ::=", |
| 109273 | /* 122 */ "selcollist ::= sclp expr as", |
| 109274 | /* 123 */ "selcollist ::= sclp STAR", |
| 109275 | /* 124 */ "selcollist ::= sclp nm DOT STAR", |
| 109276 | /* 125 */ "as ::= AS nm", |
| 109277 | /* 126 */ "as ::= ids", |
| 109278 | /* 127 */ "as ::=", |
| 109279 | /* 128 */ "from ::=", |
| 109280 | /* 129 */ "from ::= FROM seltablist", |
| 109281 | /* 130 */ "stl_prefix ::= seltablist joinop", |
| 109282 | /* 131 */ "stl_prefix ::=", |
| 109283 | /* 132 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", |
| 109284 | /* 133 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", |
| 109285 | /* 134 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", |
| 109286 | /* 135 */ "dbnm ::=", |
| 109287 | /* 136 */ "dbnm ::= DOT nm", |
| 109288 | /* 137 */ "fullname ::= nm dbnm", |
| 109289 | /* 138 */ "joinop ::= COMMA|JOIN", |
| 109290 | /* 139 */ "joinop ::= JOIN_KW JOIN", |
| 109291 | /* 140 */ "joinop ::= JOIN_KW nm JOIN", |
| 109292 | /* 141 */ "joinop ::= JOIN_KW nm nm JOIN", |
| 109293 | /* 142 */ "on_opt ::= ON expr", |
| 109294 | /* 143 */ "on_opt ::=", |
| 109295 | /* 144 */ "indexed_opt ::=", |
| 109296 | /* 145 */ "indexed_opt ::= INDEXED BY nm", |
| 109297 | /* 146 */ "indexed_opt ::= NOT INDEXED", |
| 109298 | /* 147 */ "using_opt ::= USING LP inscollist RP", |
| 109299 | /* 148 */ "using_opt ::=", |
| 109300 | /* 149 */ "orderby_opt ::=", |
| 109301 | /* 150 */ "orderby_opt ::= ORDER BY sortlist", |
| 109302 | /* 151 */ "sortlist ::= sortlist COMMA expr sortorder", |
| 109303 | /* 152 */ "sortlist ::= expr sortorder", |
| 109304 | /* 153 */ "sortorder ::= ASC", |
| 109305 | /* 154 */ "sortorder ::= DESC", |
| 109306 | /* 155 */ "sortorder ::=", |
| 109307 | /* 156 */ "groupby_opt ::=", |
| 109308 | /* 157 */ "groupby_opt ::= GROUP BY nexprlist", |
| 109309 | /* 158 */ "having_opt ::=", |
| 109310 | /* 159 */ "having_opt ::= HAVING expr", |
| 109311 | /* 160 */ "limit_opt ::=", |
| 109312 | /* 161 */ "limit_opt ::= LIMIT expr", |
| 109313 | /* 162 */ "limit_opt ::= LIMIT expr OFFSET expr", |
| 109314 | /* 163 */ "limit_opt ::= LIMIT expr COMMA expr", |
| 109315 | /* 164 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", |
| 109316 | /* 165 */ "where_opt ::=", |
| 109317 | /* 166 */ "where_opt ::= WHERE expr", |
| 109318 | /* 167 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", |
| 109319 | /* 168 */ "setlist ::= setlist COMMA nm EQ expr", |
| 109320 | /* 169 */ "setlist ::= nm EQ expr", |
| 109321 | /* 170 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist", |
| 109322 | /* 171 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", |
| 109323 | /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", |
| 109324 | /* 173 */ "insert_cmd ::= INSERT orconf", |
| 109325 | /* 174 */ "insert_cmd ::= REPLACE", |
| 109326 | /* 175 */ "valuelist ::= VALUES LP nexprlist RP", |
| 109327 | /* 176 */ "valuelist ::= valuelist COMMA LP exprlist RP", |
| 109328 | /* 177 */ "inscollist_opt ::=", |
| 109329 | /* 178 */ "inscollist_opt ::= LP inscollist RP", |
| 109330 | /* 179 */ "inscollist ::= inscollist COMMA nm", |
| 109331 | /* 180 */ "inscollist ::= nm", |
| 109332 | /* 181 */ "expr ::= term", |
| 109333 | /* 182 */ "expr ::= LP expr RP", |
| 109334 | /* 183 */ "term ::= NULL", |
| 109335 | /* 184 */ "expr ::= id", |
| 109336 | /* 185 */ "expr ::= JOIN_KW", |
| 109337 | /* 186 */ "expr ::= nm DOT nm", |
| 109338 | /* 187 */ "expr ::= nm DOT nm DOT nm", |
| 109339 | /* 188 */ "term ::= INTEGER|FLOAT|BLOB", |
| 109340 | /* 189 */ "term ::= STRING", |
| 109341 | /* 190 */ "expr ::= REGISTER", |
| 109342 | /* 191 */ "expr ::= VARIABLE", |
| 109343 | /* 192 */ "expr ::= expr COLLATE ids", |
| 109344 | /* 193 */ "expr ::= CAST LP expr AS typetoken RP", |
| 109345 | /* 194 */ "expr ::= ID LP distinct exprlist RP", |
| 109346 | /* 195 */ "expr ::= ID LP STAR RP", |
| 109347 | /* 196 */ "term ::= CTIME_KW", |
| 109348 | /* 197 */ "expr ::= expr AND expr", |
| 109349 | /* 198 */ "expr ::= expr OR expr", |
| 109350 | /* 199 */ "expr ::= expr LT|GT|GE|LE expr", |
| 109351 | /* 200 */ "expr ::= expr EQ|NE expr", |
| 109352 | /* 201 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", |
| 109353 | /* 202 */ "expr ::= expr PLUS|MINUS expr", |
| 109354 | /* 203 */ "expr ::= expr STAR|SLASH|REM expr", |
| 109355 | /* 204 */ "expr ::= expr CONCAT expr", |
| 109356 | /* 205 */ "likeop ::= LIKE_KW", |
| 109357 | /* 206 */ "likeop ::= NOT LIKE_KW", |
| 109358 | /* 207 */ "likeop ::= MATCH", |
| 109359 | /* 208 */ "likeop ::= NOT MATCH", |
| 109360 | /* 209 */ "expr ::= expr likeop expr", |
| 109361 | /* 210 */ "expr ::= expr likeop expr ESCAPE expr", |
| 109362 | /* 211 */ "expr ::= expr ISNULL|NOTNULL", |
| 109363 | /* 212 */ "expr ::= expr NOT NULL", |
| 109364 | /* 213 */ "expr ::= expr IS expr", |
| 109365 | /* 214 */ "expr ::= expr IS NOT expr", |
| 109366 | /* 215 */ "expr ::= NOT expr", |
| 109367 | /* 216 */ "expr ::= BITNOT expr", |
| 109368 | /* 217 */ "expr ::= MINUS expr", |
| 109369 | /* 218 */ "expr ::= PLUS expr", |
| 109370 | /* 219 */ "between_op ::= BETWEEN", |
| 109371 | /* 220 */ "between_op ::= NOT BETWEEN", |
| 109372 | /* 221 */ "expr ::= expr between_op expr AND expr", |
| 109373 | /* 222 */ "in_op ::= IN", |
| 109374 | /* 223 */ "in_op ::= NOT IN", |
| 109375 | /* 224 */ "expr ::= expr in_op LP exprlist RP", |
| 109376 | /* 225 */ "expr ::= LP select RP", |
| 109377 | /* 226 */ "expr ::= expr in_op LP select RP", |
| 109378 | /* 227 */ "expr ::= expr in_op nm dbnm", |
| 109379 | /* 228 */ "expr ::= EXISTS LP select RP", |
| 109380 | /* 229 */ "expr ::= CASE case_operand case_exprlist case_else END", |
| 109381 | /* 230 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", |
| 109382 | /* 231 */ "case_exprlist ::= WHEN expr THEN expr", |
| 109383 | /* 232 */ "case_else ::= ELSE expr", |
| 109384 | /* 233 */ "case_else ::=", |
| 109385 | /* 234 */ "case_operand ::= expr", |
| 109386 | /* 235 */ "case_operand ::=", |
| 109387 | /* 236 */ "exprlist ::= nexprlist", |
| 109388 | /* 237 */ "exprlist ::=", |
| 109389 | /* 238 */ "nexprlist ::= nexprlist COMMA expr", |
| 109390 | /* 239 */ "nexprlist ::= expr", |
| 109391 | /* 240 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP", |
| 109392 | /* 241 */ "uniqueflag ::= UNIQUE", |
| 109393 | /* 242 */ "uniqueflag ::=", |
| 109394 | /* 243 */ "idxlist_opt ::=", |
| 109395 | /* 244 */ "idxlist_opt ::= LP idxlist RP", |
| 109396 | /* 245 */ "idxlist ::= idxlist COMMA nm collate sortorder", |
| 109397 | /* 246 */ "idxlist ::= nm collate sortorder", |
| 109398 | /* 247 */ "collate ::=", |
| 109399 | /* 248 */ "collate ::= COLLATE ids", |
| 109400 | /* 249 */ "cmd ::= DROP INDEX ifexists fullname", |
| 109401 | /* 250 */ "cmd ::= VACUUM", |
| 109402 | /* 251 */ "cmd ::= VACUUM nm", |
| 109403 | /* 252 */ "cmd ::= PRAGMA nm dbnm", |
| 109404 | /* 253 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", |
| 109405 | /* 254 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", |
| 109406 | /* 255 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", |
| 109407 | /* 256 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", |
| 109408 | /* 257 */ "nmnum ::= plus_num", |
| 109409 | /* 258 */ "nmnum ::= nm", |
| 109410 | /* 259 */ "nmnum ::= ON", |
| 109411 | /* 260 */ "nmnum ::= DELETE", |
| 109412 | /* 261 */ "nmnum ::= DEFAULT", |
| 109413 | /* 262 */ "plus_num ::= PLUS number", |
| 109414 | /* 263 */ "plus_num ::= number", |
| 109415 | /* 264 */ "minus_num ::= MINUS number", |
| 109416 | /* 265 */ "number ::= INTEGER|FLOAT", |
| 109417 | /* 266 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", |
| 109418 | /* 267 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", |
| 109419 | /* 268 */ "trigger_time ::= BEFORE", |
| 109420 | /* 269 */ "trigger_time ::= AFTER", |
| 109421 | /* 270 */ "trigger_time ::= INSTEAD OF", |
| 109422 | /* 271 */ "trigger_time ::=", |
| 109423 | /* 272 */ "trigger_event ::= DELETE|INSERT", |
| 109424 | /* 273 */ "trigger_event ::= UPDATE", |
| 109425 | /* 274 */ "trigger_event ::= UPDATE OF inscollist", |
| 109426 | /* 275 */ "foreach_clause ::=", |
| 109427 | /* 276 */ "foreach_clause ::= FOR EACH ROW", |
| 109428 | /* 277 */ "when_clause ::=", |
| 109429 | /* 278 */ "when_clause ::= WHEN expr", |
| 109430 | /* 279 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", |
| 109431 | /* 280 */ "trigger_cmd_list ::= trigger_cmd SEMI", |
| 109432 | /* 281 */ "trnm ::= nm", |
| 109433 | /* 282 */ "trnm ::= nm DOT nm", |
| 109434 | /* 283 */ "tridxby ::=", |
| 109435 | /* 284 */ "tridxby ::= INDEXED BY nm", |
| 109436 | /* 285 */ "tridxby ::= NOT INDEXED", |
| 109437 | /* 286 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", |
| 109438 | /* 287 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist", |
| 109439 | /* 288 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", |
| 109440 | /* 289 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", |
| 109441 | /* 290 */ "trigger_cmd ::= select", |
| 109442 | /* 291 */ "expr ::= RAISE LP IGNORE RP", |
| 109443 | /* 292 */ "expr ::= RAISE LP raisetype COMMA nm RP", |
| 109444 | /* 293 */ "raisetype ::= ROLLBACK", |
| 109445 | /* 294 */ "raisetype ::= ABORT", |
| 109446 | /* 295 */ "raisetype ::= FAIL", |
| 109447 | /* 296 */ "cmd ::= DROP TRIGGER ifexists fullname", |
| 109448 | /* 297 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", |
| 109449 | /* 298 */ "cmd ::= DETACH database_kw_opt expr", |
| 109450 | /* 299 */ "key_opt ::=", |
| 109451 | /* 300 */ "key_opt ::= KEY expr", |
| 109452 | /* 301 */ "database_kw_opt ::= DATABASE", |
| 109453 | /* 302 */ "database_kw_opt ::=", |
| 109454 | /* 303 */ "cmd ::= REINDEX", |
| 109455 | /* 304 */ "cmd ::= REINDEX nm dbnm", |
| 109456 | /* 305 */ "cmd ::= ANALYZE", |
| 109457 | /* 306 */ "cmd ::= ANALYZE nm dbnm", |
| 109458 | /* 307 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", |
| 109459 | /* 308 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", |
| 109460 | /* 309 */ "add_column_fullname ::= fullname", |
| 109461 | /* 310 */ "kwcolumn_opt ::=", |
| 109462 | /* 311 */ "kwcolumn_opt ::= COLUMNKW", |
| 109463 | /* 312 */ "cmd ::= create_vtab", |
| 109464 | /* 313 */ "cmd ::= create_vtab LP vtabarglist RP", |
| 109465 | /* 314 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", |
| 109466 | /* 315 */ "vtabarglist ::= vtabarg", |
| 109467 | /* 316 */ "vtabarglist ::= vtabarglist COMMA vtabarg", |
| 109468 | /* 317 */ "vtabarg ::=", |
| 109469 | /* 318 */ "vtabarg ::= vtabarg vtabargtoken", |
| 109470 | /* 319 */ "vtabargtoken ::= ANY", |
| 109471 | /* 320 */ "vtabargtoken ::= lp anylist RP", |
| 109472 | /* 321 */ "lp ::= LP", |
| 109473 | /* 322 */ "anylist ::=", |
| 109474 | /* 323 */ "anylist ::= anylist LP anylist RP", |
| 109475 | /* 324 */ "anylist ::= anylist ANY", |
| 109476 | }; |
| 109477 | #endif /* NDEBUG */ |
| 109478 | |
| 109479 | |
| 109480 | #if YYSTACKDEPTH<=0 |
| @@ -109555,17 +109624,17 @@ | |
| 109555 | case 194: /* oneselect */ |
| 109556 | { |
| 109557 | sqlite3SelectDelete(pParse->db, (yypminor->yy159)); |
| 109558 | } |
| 109559 | break; |
| 109560 | case 174: /* term */ |
| 109561 | case 175: /* expr */ |
| 109562 | { |
| 109563 | sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); |
| 109564 | } |
| 109565 | break; |
| 109566 | case 179: /* idxlist_opt */ |
| 109567 | case 187: /* idxlist */ |
| 109568 | case 197: /* selcollist */ |
| 109569 | case 200: /* groupby_opt */ |
| 109570 | case 202: /* orderby_opt */ |
| 109571 | case 204: /* sclp */ |
| @@ -109916,57 +109985,59 @@ | |
| 109916 | { 167, 6 }, |
| 109917 | { 168, 1 }, |
| 109918 | { 168, 2 }, |
| 109919 | { 169, 1 }, |
| 109920 | { 169, 1 }, |
| 109921 | { 164, 3 }, |
| 109922 | { 164, 0 }, |
| 109923 | { 172, 2 }, |
| 109924 | { 172, 0 }, |
| 109925 | { 173, 2 }, |
| 109926 | { 173, 4 }, |
| 109927 | { 173, 3 }, |
| 109928 | { 173, 3 }, |
| 109929 | { 173, 2 }, |
| 109930 | { 173, 2 }, |
| 109931 | { 173, 3 }, |
| 109932 | { 173, 5 }, |
| 109933 | { 173, 2 }, |
| 109934 | { 173, 4 }, |
| 109935 | { 173, 4 }, |
| 109936 | { 173, 1 }, |
| 109937 | { 173, 2 }, |
| 109938 | { 178, 0 }, |
| 109939 | { 178, 1 }, |
| 109940 | { 180, 0 }, |
| 109941 | { 180, 2 }, |
| 109942 | { 182, 2 }, |
| 109943 | { 182, 3 }, |
| 109944 | { 182, 3 }, |
| 109945 | { 182, 3 }, |
| 109946 | { 183, 2 }, |
| 109947 | { 183, 2 }, |
| 109948 | { 183, 1 }, |
| 109949 | { 183, 1 }, |
| 109950 | { 183, 2 }, |
| 109951 | { 181, 3 }, |
| 109952 | { 181, 2 }, |
| 109953 | { 184, 0 }, |
| 109954 | { 184, 2 }, |
| 109955 | { 184, 2 }, |
| 109956 | { 159, 0 }, |
| 109957 | { 159, 2 }, |
| 109958 | { 185, 4 }, |
| 109959 | { 185, 2 }, |
| 109960 | { 186, 7 }, |
| 109961 | { 186, 5 }, |
| 109962 | { 186, 5 }, |
| 109963 | { 186, 10 }, |
| 109964 | { 188, 0 }, |
| 109965 | { 188, 1 }, |
| 109966 | { 176, 0 }, |
| 109967 | { 176, 3 }, |
| 109968 | { 189, 0 }, |
| 109969 | { 189, 2 }, |
| 109970 | { 190, 1 }, |
| 109971 | { 190, 1 }, |
| 109972 | { 190, 1 }, |
| @@ -110016,13 +110087,13 @@ | |
| 110016 | { 211, 0 }, |
| 110017 | { 202, 0 }, |
| 110018 | { 202, 3 }, |
| 110019 | { 214, 4 }, |
| 110020 | { 214, 2 }, |
| 110021 | { 177, 1 }, |
| 110022 | { 177, 1 }, |
| 110023 | { 177, 0 }, |
| 110024 | { 200, 0 }, |
| 110025 | { 200, 3 }, |
| 110026 | { 201, 0 }, |
| 110027 | { 201, 2 }, |
| 110028 | { 203, 0 }, |
| @@ -110044,59 +110115,59 @@ | |
| 110044 | { 219, 5 }, |
| 110045 | { 218, 0 }, |
| 110046 | { 218, 3 }, |
| 110047 | { 213, 3 }, |
| 110048 | { 213, 1 }, |
| 110049 | { 175, 1 }, |
| 110050 | { 175, 3 }, |
| 110051 | { 174, 1 }, |
| 110052 | { 175, 1 }, |
| 110053 | { 175, 1 }, |
| 110054 | { 175, 3 }, |
| 110055 | { 175, 5 }, |
| 110056 | { 174, 1 }, |
| 110057 | { 174, 1 }, |
| 110058 | { 175, 1 }, |
| 110059 | { 175, 1 }, |
| 110060 | { 175, 3 }, |
| 110061 | { 175, 6 }, |
| 110062 | { 175, 5 }, |
| 110063 | { 175, 4 }, |
| 110064 | { 174, 1 }, |
| 110065 | { 175, 3 }, |
| 110066 | { 175, 3 }, |
| 110067 | { 175, 3 }, |
| 110068 | { 175, 3 }, |
| 110069 | { 175, 3 }, |
| 110070 | { 175, 3 }, |
| 110071 | { 175, 3 }, |
| 110072 | { 175, 3 }, |
| 110073 | { 221, 1 }, |
| 110074 | { 221, 2 }, |
| 110075 | { 221, 1 }, |
| 110076 | { 221, 2 }, |
| 110077 | { 175, 3 }, |
| 110078 | { 175, 5 }, |
| 110079 | { 175, 2 }, |
| 110080 | { 175, 3 }, |
| 110081 | { 175, 3 }, |
| 110082 | { 175, 4 }, |
| 110083 | { 175, 2 }, |
| 110084 | { 175, 2 }, |
| 110085 | { 175, 2 }, |
| 110086 | { 175, 2 }, |
| 110087 | { 222, 1 }, |
| 110088 | { 222, 2 }, |
| 110089 | { 175, 5 }, |
| 110090 | { 223, 1 }, |
| 110091 | { 223, 2 }, |
| 110092 | { 175, 5 }, |
| 110093 | { 175, 3 }, |
| 110094 | { 175, 5 }, |
| 110095 | { 175, 4 }, |
| 110096 | { 175, 4 }, |
| 110097 | { 175, 5 }, |
| 110098 | { 225, 5 }, |
| 110099 | { 225, 4 }, |
| 110100 | { 226, 2 }, |
| 110101 | { 226, 0 }, |
| 110102 | { 224, 1 }, |
| @@ -110106,12 +110177,12 @@ | |
| 110106 | { 215, 3 }, |
| 110107 | { 215, 1 }, |
| 110108 | { 147, 11 }, |
| 110109 | { 227, 1 }, |
| 110110 | { 227, 0 }, |
| 110111 | { 179, 0 }, |
| 110112 | { 179, 3 }, |
| 110113 | { 187, 5 }, |
| 110114 | { 187, 3 }, |
| 110115 | { 228, 0 }, |
| 110116 | { 228, 2 }, |
| 110117 | { 147, 4 }, |
| @@ -110154,12 +110225,12 @@ | |
| 110154 | { 237, 7 }, |
| 110155 | { 237, 5 }, |
| 110156 | { 237, 5 }, |
| 110157 | { 237, 5 }, |
| 110158 | { 237, 1 }, |
| 110159 | { 175, 4 }, |
| 110160 | { 175, 6 }, |
| 110161 | { 191, 1 }, |
| 110162 | { 191, 1 }, |
| 110163 | { 191, 1 }, |
| 110164 | { 147, 4 }, |
| 110165 | { 147, 6 }, |
| @@ -110263,12 +110334,12 @@ | |
| 110263 | {yygotominor.yy392 = TK_DEFERRED;} |
| 110264 | break; |
| 110265 | case 14: /* transtype ::= DEFERRED */ |
| 110266 | case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); |
| 110267 | case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); |
| 110268 | case 113: /* multiselect_op ::= UNION */ yytestcase(yyruleno==113); |
| 110269 | case 115: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==115); |
| 110270 | {yygotominor.yy392 = yymsp[0].major;} |
| 110271 | break; |
| 110272 | case 17: /* cmd ::= COMMIT trans_opt */ |
| 110273 | case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); |
| 110274 | {sqlite3CommitTransaction(pParse);} |
| @@ -110302,30 +110373,30 @@ | |
| 110302 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 110303 | } |
| 110304 | break; |
| 110305 | case 28: /* ifnotexists ::= */ |
| 110306 | case 31: /* temp ::= */ yytestcase(yyruleno==31); |
| 110307 | case 70: /* autoinc ::= */ yytestcase(yyruleno==70); |
| 110308 | case 83: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==83); |
| 110309 | case 85: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==85); |
| 110310 | case 87: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==87); |
| 110311 | case 96: /* defer_subclause_opt ::= */ yytestcase(yyruleno==96); |
| 110312 | case 107: /* ifexists ::= */ yytestcase(yyruleno==107); |
| 110313 | case 118: /* distinct ::= ALL */ yytestcase(yyruleno==118); |
| 110314 | case 119: /* distinct ::= */ yytestcase(yyruleno==119); |
| 110315 | case 219: /* between_op ::= BETWEEN */ yytestcase(yyruleno==219); |
| 110316 | case 222: /* in_op ::= IN */ yytestcase(yyruleno==222); |
| 110317 | {yygotominor.yy392 = 0;} |
| 110318 | break; |
| 110319 | case 29: /* ifnotexists ::= IF NOT EXISTS */ |
| 110320 | case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); |
| 110321 | case 71: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==71); |
| 110322 | case 86: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==86); |
| 110323 | case 106: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==106); |
| 110324 | case 117: /* distinct ::= DISTINCT */ yytestcase(yyruleno==117); |
| 110325 | case 220: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==220); |
| 110326 | case 223: /* in_op ::= NOT IN */ yytestcase(yyruleno==223); |
| 110327 | {yygotominor.yy392 = 1;} |
| 110328 | break; |
| 110329 | case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ |
| 110330 | { |
| 110331 | sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); |
| @@ -110345,10 +110416,11 @@ | |
| 110345 | break; |
| 110346 | case 37: /* columnid ::= nm */ |
| 110347 | { |
| 110348 | sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); |
| 110349 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 110350 | } |
| 110351 | break; |
| 110352 | case 38: /* id ::= ID */ |
| 110353 | case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39); |
| 110354 | case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40); |
| @@ -110355,25 +110427,25 @@ | |
| 110355 | case 41: /* nm ::= id */ yytestcase(yyruleno==41); |
| 110356 | case 42: /* nm ::= STRING */ yytestcase(yyruleno==42); |
| 110357 | case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43); |
| 110358 | case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); |
| 110359 | case 49: /* typename ::= ids */ yytestcase(yyruleno==49); |
| 110360 | case 125: /* as ::= AS nm */ yytestcase(yyruleno==125); |
| 110361 | case 126: /* as ::= ids */ yytestcase(yyruleno==126); |
| 110362 | case 136: /* dbnm ::= DOT nm */ yytestcase(yyruleno==136); |
| 110363 | case 145: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==145); |
| 110364 | case 248: /* collate ::= COLLATE ids */ yytestcase(yyruleno==248); |
| 110365 | case 257: /* nmnum ::= plus_num */ yytestcase(yyruleno==257); |
| 110366 | case 258: /* nmnum ::= nm */ yytestcase(yyruleno==258); |
| 110367 | case 259: /* nmnum ::= ON */ yytestcase(yyruleno==259); |
| 110368 | case 260: /* nmnum ::= DELETE */ yytestcase(yyruleno==260); |
| 110369 | case 261: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==261); |
| 110370 | case 262: /* plus_num ::= PLUS number */ yytestcase(yyruleno==262); |
| 110371 | case 263: /* plus_num ::= number */ yytestcase(yyruleno==263); |
| 110372 | case 264: /* minus_num ::= MINUS number */ yytestcase(yyruleno==264); |
| 110373 | case 265: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==265); |
| 110374 | case 281: /* trnm ::= nm */ yytestcase(yyruleno==281); |
| 110375 | {yygotominor.yy0 = yymsp[0].minor.yy0;} |
| 110376 | break; |
| 110377 | case 45: /* type ::= typetoken */ |
| 110378 | {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} |
| 110379 | break; |
| @@ -110390,162 +110462,163 @@ | |
| 110390 | } |
| 110391 | break; |
| 110392 | case 50: /* typename ::= typename ids */ |
| 110393 | {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);} |
| 110394 | break; |
| 110395 | case 55: /* cname ::= CONSTRAINT nm */ |
| 110396 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 110397 | break; |
| 110398 | case 56: /* cname ::= */ |
| 110399 | {pParse->constraintName.n = 0;} |
| 110400 | break; |
| 110401 | case 57: /* ccons ::= DEFAULT term */ |
| 110402 | case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); |
| 110403 | {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} |
| 110404 | break; |
| 110405 | case 58: /* ccons ::= DEFAULT LP expr RP */ |
| 110406 | {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);} |
| 110407 | break; |
| 110408 | case 60: /* ccons ::= DEFAULT MINUS term */ |
| 110409 | { |
| 110410 | ExprSpan v; |
| 110411 | v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0); |
| 110412 | v.zStart = yymsp[-1].minor.yy0.z; |
| 110413 | v.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110414 | sqlite3AddDefaultValue(pParse,&v); |
| 110415 | } |
| 110416 | break; |
| 110417 | case 61: /* ccons ::= DEFAULT id */ |
| 110418 | { |
| 110419 | ExprSpan v; |
| 110420 | spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); |
| 110421 | sqlite3AddDefaultValue(pParse,&v); |
| 110422 | } |
| 110423 | break; |
| 110424 | case 63: /* ccons ::= NOT NULL onconf */ |
| 110425 | {sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);} |
| 110426 | break; |
| 110427 | case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 110428 | {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[-2].minor.yy392);} |
| 110429 | break; |
| 110430 | case 65: /* ccons ::= UNIQUE onconf */ |
| 110431 | {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);} |
| 110432 | break; |
| 110433 | case 66: /* ccons ::= CHECK LP expr RP */ |
| 110434 | {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);} |
| 110435 | break; |
| 110436 | case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */ |
| 110437 | {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy392);} |
| 110438 | break; |
| 110439 | case 68: /* ccons ::= defer_subclause */ |
| 110440 | {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);} |
| 110441 | break; |
| 110442 | case 69: /* ccons ::= COLLATE ids */ |
| 110443 | {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 110444 | break; |
| 110445 | case 72: /* refargs ::= */ |
| 110446 | { yygotominor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 110447 | break; |
| 110448 | case 73: /* refargs ::= refargs refarg */ |
| 110449 | { yygotominor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; } |
| 110450 | break; |
| 110451 | case 74: /* refarg ::= MATCH nm */ |
| 110452 | case 75: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==75); |
| 110453 | { yygotominor.yy207.value = 0; yygotominor.yy207.mask = 0x000000; } |
| 110454 | break; |
| 110455 | case 76: /* refarg ::= ON DELETE refact */ |
| 110456 | { yygotominor.yy207.value = yymsp[0].minor.yy392; yygotominor.yy207.mask = 0x0000ff; } |
| 110457 | break; |
| 110458 | case 77: /* refarg ::= ON UPDATE refact */ |
| 110459 | { yygotominor.yy207.value = yymsp[0].minor.yy392<<8; yygotominor.yy207.mask = 0x00ff00; } |
| 110460 | break; |
| 110461 | case 78: /* refact ::= SET NULL */ |
| 110462 | { yygotominor.yy392 = OE_SetNull; /* EV: R-33326-45252 */} |
| 110463 | break; |
| 110464 | case 79: /* refact ::= SET DEFAULT */ |
| 110465 | { yygotominor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 110466 | break; |
| 110467 | case 80: /* refact ::= CASCADE */ |
| 110468 | { yygotominor.yy392 = OE_Cascade; /* EV: R-33326-45252 */} |
| 110469 | break; |
| 110470 | case 81: /* refact ::= RESTRICT */ |
| 110471 | { yygotominor.yy392 = OE_Restrict; /* EV: R-33326-45252 */} |
| 110472 | break; |
| 110473 | case 82: /* refact ::= NO ACTION */ |
| 110474 | { yygotominor.yy392 = OE_None; /* EV: R-33326-45252 */} |
| 110475 | break; |
| 110476 | case 84: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 110477 | case 97: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==97); |
| 110478 | case 99: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==99); |
| 110479 | case 102: /* resolvetype ::= raisetype */ yytestcase(yyruleno==102); |
| 110480 | {yygotominor.yy392 = yymsp[0].minor.yy392;} |
| 110481 | break; |
| 110482 | case 88: /* conslist_opt ::= */ |
| 110483 | {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} |
| 110484 | break; |
| 110485 | case 89: /* conslist_opt ::= COMMA conslist */ |
| 110486 | {yygotominor.yy0 = yymsp[-1].minor.yy0;} |
| 110487 | break; |
| 110488 | case 92: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ |
| 110489 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} |
| 110490 | break; |
| 110491 | case 93: /* tcons ::= UNIQUE LP idxlist RP onconf */ |
| 110492 | {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0,0,0);} |
| 110493 | break; |
| 110494 | case 94: /* tcons ::= CHECK LP expr RP onconf */ |
| 110495 | {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);} |
| 110496 | break; |
| 110497 | case 95: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ |
| 110498 | { |
| 110499 | sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy392); |
| 110500 | sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392); |
| 110501 | } |
| 110502 | break; |
| 110503 | case 98: /* onconf ::= */ |
| 110504 | {yygotominor.yy392 = OE_Default;} |
| 110505 | break; |
| 110506 | case 100: /* orconf ::= */ |
| 110507 | {yygotominor.yy258 = OE_Default;} |
| 110508 | break; |
| 110509 | case 101: /* orconf ::= OR resolvetype */ |
| 110510 | {yygotominor.yy258 = (u8)yymsp[0].minor.yy392;} |
| 110511 | break; |
| 110512 | case 103: /* resolvetype ::= IGNORE */ |
| 110513 | {yygotominor.yy392 = OE_Ignore;} |
| 110514 | break; |
| 110515 | case 104: /* resolvetype ::= REPLACE */ |
| 110516 | {yygotominor.yy392 = OE_Replace;} |
| 110517 | break; |
| 110518 | case 105: /* cmd ::= DROP TABLE ifexists fullname */ |
| 110519 | { |
| 110520 | sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392); |
| 110521 | } |
| 110522 | break; |
| 110523 | case 108: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ |
| 110524 | { |
| 110525 | sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy159, yymsp[-6].minor.yy392, yymsp[-4].minor.yy392); |
| 110526 | } |
| 110527 | break; |
| 110528 | case 109: /* cmd ::= DROP VIEW ifexists fullname */ |
| 110529 | { |
| 110530 | sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392); |
| 110531 | } |
| 110532 | break; |
| 110533 | case 110: /* cmd ::= select */ |
| 110534 | { |
| 110535 | SelectDest dest = {SRT_Output, 0, 0, 0, 0}; |
| 110536 | sqlite3Select(pParse, yymsp[0].minor.yy159, &dest); |
| 110537 | sqlite3ExplainBegin(pParse->pVdbe); |
| 110538 | sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy159); |
| 110539 | sqlite3ExplainFinish(pParse->pVdbe); |
| 110540 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); |
| 110541 | } |
| 110542 | break; |
| 110543 | case 111: /* select ::= oneselect */ |
| 110544 | {yygotominor.yy159 = yymsp[0].minor.yy159;} |
| 110545 | break; |
| 110546 | case 112: /* select ::= select multiselect_op oneselect */ |
| 110547 | { |
| 110548 | if( yymsp[0].minor.yy159 ){ |
| 110549 | yymsp[0].minor.yy159->op = (u8)yymsp[-1].minor.yy392; |
| 110550 | yymsp[0].minor.yy159->pPrior = yymsp[-2].minor.yy159; |
| 110551 | }else{ |
| @@ -110552,83 +110625,83 @@ | |
| 110552 | sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy159); |
| 110553 | } |
| 110554 | yygotominor.yy159 = yymsp[0].minor.yy159; |
| 110555 | } |
| 110556 | break; |
| 110557 | case 114: /* multiselect_op ::= UNION ALL */ |
| 110558 | {yygotominor.yy392 = TK_ALL;} |
| 110559 | break; |
| 110560 | case 116: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 110561 | { |
| 110562 | yygotominor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy347,yymsp[-4].minor.yy122,yymsp[-3].minor.yy442,yymsp[-2].minor.yy122,yymsp[-1].minor.yy442,yymsp[-7].minor.yy392,yymsp[0].minor.yy64.pLimit,yymsp[0].minor.yy64.pOffset); |
| 110563 | } |
| 110564 | break; |
| 110565 | case 120: /* sclp ::= selcollist COMMA */ |
| 110566 | case 244: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==244); |
| 110567 | {yygotominor.yy442 = yymsp[-1].minor.yy442;} |
| 110568 | break; |
| 110569 | case 121: /* sclp ::= */ |
| 110570 | case 149: /* orderby_opt ::= */ yytestcase(yyruleno==149); |
| 110571 | case 156: /* groupby_opt ::= */ yytestcase(yyruleno==156); |
| 110572 | case 237: /* exprlist ::= */ yytestcase(yyruleno==237); |
| 110573 | case 243: /* idxlist_opt ::= */ yytestcase(yyruleno==243); |
| 110574 | {yygotominor.yy442 = 0;} |
| 110575 | break; |
| 110576 | case 122: /* selcollist ::= sclp expr as */ |
| 110577 | { |
| 110578 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yymsp[-1].minor.yy342.pExpr); |
| 110579 | if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[0].minor.yy0, 1); |
| 110580 | sqlite3ExprListSetSpan(pParse,yygotominor.yy442,&yymsp[-1].minor.yy342); |
| 110581 | } |
| 110582 | break; |
| 110583 | case 123: /* selcollist ::= sclp STAR */ |
| 110584 | { |
| 110585 | Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); |
| 110586 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p); |
| 110587 | } |
| 110588 | break; |
| 110589 | case 124: /* selcollist ::= sclp nm DOT STAR */ |
| 110590 | { |
| 110591 | Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); |
| 110592 | Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110593 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); |
| 110594 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot); |
| 110595 | } |
| 110596 | break; |
| 110597 | case 127: /* as ::= */ |
| 110598 | {yygotominor.yy0.n = 0;} |
| 110599 | break; |
| 110600 | case 128: /* from ::= */ |
| 110601 | {yygotominor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy347));} |
| 110602 | break; |
| 110603 | case 129: /* from ::= FROM seltablist */ |
| 110604 | { |
| 110605 | yygotominor.yy347 = yymsp[0].minor.yy347; |
| 110606 | sqlite3SrcListShiftJoinType(yygotominor.yy347); |
| 110607 | } |
| 110608 | break; |
| 110609 | case 130: /* stl_prefix ::= seltablist joinop */ |
| 110610 | { |
| 110611 | yygotominor.yy347 = yymsp[-1].minor.yy347; |
| 110612 | if( ALWAYS(yygotominor.yy347 && yygotominor.yy347->nSrc>0) ) yygotominor.yy347->a[yygotominor.yy347->nSrc-1].jointype = (u8)yymsp[0].minor.yy392; |
| 110613 | } |
| 110614 | break; |
| 110615 | case 131: /* stl_prefix ::= */ |
| 110616 | {yygotominor.yy347 = 0;} |
| 110617 | break; |
| 110618 | case 132: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 110619 | { |
| 110620 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110621 | sqlite3SrcListIndexedBy(pParse, yygotominor.yy347, &yymsp[-2].minor.yy0); |
| 110622 | } |
| 110623 | break; |
| 110624 | case 133: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 110625 | { |
| 110626 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy159,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110627 | } |
| 110628 | break; |
| 110629 | case 134: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 110630 | { |
| 110631 | if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy122==0 && yymsp[0].minor.yy180==0 ){ |
| 110632 | yygotominor.yy347 = yymsp[-4].minor.yy347; |
| 110633 | }else{ |
| 110634 | Select *pSubquery; |
| @@ -110636,137 +110709,137 @@ | |
| 110636 | pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,0,0,0); |
| 110637 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110638 | } |
| 110639 | } |
| 110640 | break; |
| 110641 | case 135: /* dbnm ::= */ |
| 110642 | case 144: /* indexed_opt ::= */ yytestcase(yyruleno==144); |
| 110643 | {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} |
| 110644 | break; |
| 110645 | case 137: /* fullname ::= nm dbnm */ |
| 110646 | {yygotominor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} |
| 110647 | break; |
| 110648 | case 138: /* joinop ::= COMMA|JOIN */ |
| 110649 | { yygotominor.yy392 = JT_INNER; } |
| 110650 | break; |
| 110651 | case 139: /* joinop ::= JOIN_KW JOIN */ |
| 110652 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } |
| 110653 | break; |
| 110654 | case 140: /* joinop ::= JOIN_KW nm JOIN */ |
| 110655 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } |
| 110656 | break; |
| 110657 | case 141: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 110658 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } |
| 110659 | break; |
| 110660 | case 142: /* on_opt ::= ON expr */ |
| 110661 | case 159: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==159); |
| 110662 | case 166: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==166); |
| 110663 | case 232: /* case_else ::= ELSE expr */ yytestcase(yyruleno==232); |
| 110664 | case 234: /* case_operand ::= expr */ yytestcase(yyruleno==234); |
| 110665 | {yygotominor.yy122 = yymsp[0].minor.yy342.pExpr;} |
| 110666 | break; |
| 110667 | case 143: /* on_opt ::= */ |
| 110668 | case 158: /* having_opt ::= */ yytestcase(yyruleno==158); |
| 110669 | case 165: /* where_opt ::= */ yytestcase(yyruleno==165); |
| 110670 | case 233: /* case_else ::= */ yytestcase(yyruleno==233); |
| 110671 | case 235: /* case_operand ::= */ yytestcase(yyruleno==235); |
| 110672 | {yygotominor.yy122 = 0;} |
| 110673 | break; |
| 110674 | case 146: /* indexed_opt ::= NOT INDEXED */ |
| 110675 | {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} |
| 110676 | break; |
| 110677 | case 147: /* using_opt ::= USING LP inscollist RP */ |
| 110678 | case 178: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==178); |
| 110679 | {yygotominor.yy180 = yymsp[-1].minor.yy180;} |
| 110680 | break; |
| 110681 | case 148: /* using_opt ::= */ |
| 110682 | case 177: /* inscollist_opt ::= */ yytestcase(yyruleno==177); |
| 110683 | {yygotominor.yy180 = 0;} |
| 110684 | break; |
| 110685 | case 150: /* orderby_opt ::= ORDER BY sortlist */ |
| 110686 | case 157: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==157); |
| 110687 | case 236: /* exprlist ::= nexprlist */ yytestcase(yyruleno==236); |
| 110688 | {yygotominor.yy442 = yymsp[0].minor.yy442;} |
| 110689 | break; |
| 110690 | case 151: /* sortlist ::= sortlist COMMA expr sortorder */ |
| 110691 | { |
| 110692 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy342.pExpr); |
| 110693 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 110694 | } |
| 110695 | break; |
| 110696 | case 152: /* sortlist ::= expr sortorder */ |
| 110697 | { |
| 110698 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr); |
| 110699 | if( yygotominor.yy442 && ALWAYS(yygotominor.yy442->a) ) yygotominor.yy442->a[0].sortOrder = (u8)yymsp[0].minor.yy392; |
| 110700 | } |
| 110701 | break; |
| 110702 | case 153: /* sortorder ::= ASC */ |
| 110703 | case 155: /* sortorder ::= */ yytestcase(yyruleno==155); |
| 110704 | {yygotominor.yy392 = SQLITE_SO_ASC;} |
| 110705 | break; |
| 110706 | case 154: /* sortorder ::= DESC */ |
| 110707 | {yygotominor.yy392 = SQLITE_SO_DESC;} |
| 110708 | break; |
| 110709 | case 160: /* limit_opt ::= */ |
| 110710 | {yygotominor.yy64.pLimit = 0; yygotominor.yy64.pOffset = 0;} |
| 110711 | break; |
| 110712 | case 161: /* limit_opt ::= LIMIT expr */ |
| 110713 | {yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yygotominor.yy64.pOffset = 0;} |
| 110714 | break; |
| 110715 | case 162: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 110716 | {yygotominor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pOffset = yymsp[0].minor.yy342.pExpr;} |
| 110717 | break; |
| 110718 | case 163: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 110719 | {yygotominor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr;} |
| 110720 | break; |
| 110721 | case 164: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ |
| 110722 | { |
| 110723 | sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0); |
| 110724 | sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122); |
| 110725 | } |
| 110726 | break; |
| 110727 | case 167: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */ |
| 110728 | { |
| 110729 | sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0); |
| 110730 | sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); |
| 110731 | sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].minor.yy122,yymsp[-5].minor.yy258); |
| 110732 | } |
| 110733 | break; |
| 110734 | case 168: /* setlist ::= setlist COMMA nm EQ expr */ |
| 110735 | { |
| 110736 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr); |
| 110737 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 110738 | } |
| 110739 | break; |
| 110740 | case 169: /* setlist ::= nm EQ expr */ |
| 110741 | { |
| 110742 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExpr); |
| 110743 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 110744 | } |
| 110745 | break; |
| 110746 | case 170: /* cmd ::= insert_cmd INTO fullname inscollist_opt valuelist */ |
| 110747 | {sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);} |
| 110748 | break; |
| 110749 | case 171: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ |
| 110750 | {sqlite3Insert(pParse, yymsp[-2].minor.yy347, 0, yymsp[0].minor.yy159, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);} |
| 110751 | break; |
| 110752 | case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ |
| 110753 | {sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, 0, yymsp[-2].minor.yy180, yymsp[-5].minor.yy258);} |
| 110754 | break; |
| 110755 | case 173: /* insert_cmd ::= INSERT orconf */ |
| 110756 | {yygotominor.yy258 = yymsp[0].minor.yy258;} |
| 110757 | break; |
| 110758 | case 174: /* insert_cmd ::= REPLACE */ |
| 110759 | {yygotominor.yy258 = OE_Replace;} |
| 110760 | break; |
| 110761 | case 175: /* valuelist ::= VALUES LP nexprlist RP */ |
| 110762 | { |
| 110763 | yygotominor.yy487.pList = yymsp[-1].minor.yy442; |
| 110764 | yygotominor.yy487.pSelect = 0; |
| 110765 | } |
| 110766 | break; |
| 110767 | case 176: /* valuelist ::= valuelist COMMA LP exprlist RP */ |
| 110768 | { |
| 110769 | Select *pRight = sqlite3SelectNew(pParse, yymsp[-1].minor.yy442, 0, 0, 0, 0, 0, 0, 0, 0); |
| 110770 | if( yymsp[-4].minor.yy487.pList ){ |
| 110771 | yymsp[-4].minor.yy487.pSelect = sqlite3SelectNew(pParse, yymsp[-4].minor.yy487.pList, 0, 0, 0, 0, 0, 0, 0, 0); |
| 110772 | yymsp[-4].minor.yy487.pList = 0; |
| @@ -110783,50 +110856,50 @@ | |
| 110783 | pRight->pPrior->selFlags |= SF_Values; |
| 110784 | yygotominor.yy487.pSelect = pRight; |
| 110785 | } |
| 110786 | } |
| 110787 | break; |
| 110788 | case 179: /* inscollist ::= inscollist COMMA nm */ |
| 110789 | {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp[0].minor.yy0);} |
| 110790 | break; |
| 110791 | case 180: /* inscollist ::= nm */ |
| 110792 | {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} |
| 110793 | break; |
| 110794 | case 181: /* expr ::= term */ |
| 110795 | {yygotominor.yy342 = yymsp[0].minor.yy342;} |
| 110796 | break; |
| 110797 | case 182: /* expr ::= LP expr RP */ |
| 110798 | {yygotominor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr; spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} |
| 110799 | break; |
| 110800 | case 183: /* term ::= NULL */ |
| 110801 | case 188: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==188); |
| 110802 | case 189: /* term ::= STRING */ yytestcase(yyruleno==189); |
| 110803 | {spanExpr(&yygotominor.yy342, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} |
| 110804 | break; |
| 110805 | case 184: /* expr ::= id */ |
| 110806 | case 185: /* expr ::= JOIN_KW */ yytestcase(yyruleno==185); |
| 110807 | {spanExpr(&yygotominor.yy342, pParse, TK_ID, &yymsp[0].minor.yy0);} |
| 110808 | break; |
| 110809 | case 186: /* expr ::= nm DOT nm */ |
| 110810 | { |
| 110811 | Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110812 | Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 110813 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); |
| 110814 | spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 110815 | } |
| 110816 | break; |
| 110817 | case 187: /* expr ::= nm DOT nm DOT nm */ |
| 110818 | { |
| 110819 | Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); |
| 110820 | Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110821 | Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 110822 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); |
| 110823 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); |
| 110824 | spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); |
| 110825 | } |
| 110826 | break; |
| 110827 | case 190: /* expr ::= REGISTER */ |
| 110828 | { |
| 110829 | /* When doing a nested parse, one can include terms in an expression |
| 110830 | ** that look like this: #1 #2 ... These terms refer to registers |
| 110831 | ** in the virtual machine. #N is the N-th register. */ |
| 110832 | if( pParse->nested==0 ){ |
| @@ -110837,31 +110910,31 @@ | |
| 110837 | if( yygotominor.yy342.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy342.pExpr->iTable); |
| 110838 | } |
| 110839 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110840 | } |
| 110841 | break; |
| 110842 | case 191: /* expr ::= VARIABLE */ |
| 110843 | { |
| 110844 | spanExpr(&yygotominor.yy342, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); |
| 110845 | sqlite3ExprAssignVarNumber(pParse, yygotominor.yy342.pExpr); |
| 110846 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110847 | } |
| 110848 | break; |
| 110849 | case 192: /* expr ::= expr COLLATE ids */ |
| 110850 | { |
| 110851 | yygotominor.yy342.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy342.pExpr, &yymsp[0].minor.yy0); |
| 110852 | yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; |
| 110853 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 110854 | } |
| 110855 | break; |
| 110856 | case 193: /* expr ::= CAST LP expr AS typetoken RP */ |
| 110857 | { |
| 110858 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342.pExpr, 0, &yymsp[-1].minor.yy0); |
| 110859 | spanSet(&yygotominor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); |
| 110860 | } |
| 110861 | break; |
| 110862 | case 194: /* expr ::= ID LP distinct exprlist RP */ |
| 110863 | { |
| 110864 | if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ |
| 110865 | sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); |
| 110866 | } |
| 110867 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0); |
| @@ -110869,17 +110942,17 @@ | |
| 110869 | if( yymsp[-2].minor.yy392 && yygotominor.yy342.pExpr ){ |
| 110870 | yygotominor.yy342.pExpr->flags |= EP_Distinct; |
| 110871 | } |
| 110872 | } |
| 110873 | break; |
| 110874 | case 195: /* expr ::= ID LP STAR RP */ |
| 110875 | { |
| 110876 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); |
| 110877 | spanSet(&yygotominor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); |
| 110878 | } |
| 110879 | break; |
| 110880 | case 196: /* term ::= CTIME_KW */ |
| 110881 | { |
| 110882 | /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are |
| 110883 | ** treated as functions that return constants */ |
| 110884 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); |
| 110885 | if( yygotominor.yy342.pExpr ){ |
| @@ -110886,29 +110959,29 @@ | |
| 110886 | yygotominor.yy342.pExpr->op = TK_CONST_FUNC; |
| 110887 | } |
| 110888 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110889 | } |
| 110890 | break; |
| 110891 | case 197: /* expr ::= expr AND expr */ |
| 110892 | case 198: /* expr ::= expr OR expr */ yytestcase(yyruleno==198); |
| 110893 | case 199: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==199); |
| 110894 | case 200: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==200); |
| 110895 | case 201: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==201); |
| 110896 | case 202: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==202); |
| 110897 | case 203: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==203); |
| 110898 | case 204: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==204); |
| 110899 | {spanBinaryExpr(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342);} |
| 110900 | break; |
| 110901 | case 205: /* likeop ::= LIKE_KW */ |
| 110902 | case 207: /* likeop ::= MATCH */ yytestcase(yyruleno==207); |
| 110903 | {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 0;} |
| 110904 | break; |
| 110905 | case 206: /* likeop ::= NOT LIKE_KW */ |
| 110906 | case 208: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==208); |
| 110907 | {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 1;} |
| 110908 | break; |
| 110909 | case 209: /* expr ::= expr likeop expr */ |
| 110910 | { |
| 110911 | ExprList *pList; |
| 110912 | pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr); |
| 110913 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr); |
| 110914 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy318.eOperator); |
| @@ -110916,11 +110989,11 @@ | |
| 110916 | yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; |
| 110917 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110918 | if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; |
| 110919 | } |
| 110920 | break; |
| 110921 | case 210: /* expr ::= expr likeop expr ESCAPE expr */ |
| 110922 | { |
| 110923 | ExprList *pList; |
| 110924 | pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 110925 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr); |
| 110926 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); |
| @@ -110929,39 +111002,39 @@ | |
| 110929 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 110930 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110931 | if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; |
| 110932 | } |
| 110933 | break; |
| 110934 | case 211: /* expr ::= expr ISNULL|NOTNULL */ |
| 110935 | {spanUnaryPostfix(&yygotominor.yy342,pParse,yymsp[0].major,&yymsp[-1].minor.yy342,&yymsp[0].minor.yy0);} |
| 110936 | break; |
| 110937 | case 212: /* expr ::= expr NOT NULL */ |
| 110938 | {spanUnaryPostfix(&yygotominor.yy342,pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy0);} |
| 110939 | break; |
| 110940 | case 213: /* expr ::= expr IS expr */ |
| 110941 | { |
| 110942 | spanBinaryExpr(&yygotominor.yy342,pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342); |
| 110943 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_ISNULL); |
| 110944 | } |
| 110945 | break; |
| 110946 | case 214: /* expr ::= expr IS NOT expr */ |
| 110947 | { |
| 110948 | spanBinaryExpr(&yygotominor.yy342,pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yymsp[0].minor.yy342); |
| 110949 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_NOTNULL); |
| 110950 | } |
| 110951 | break; |
| 110952 | case 215: /* expr ::= NOT expr */ |
| 110953 | case 216: /* expr ::= BITNOT expr */ yytestcase(yyruleno==216); |
| 110954 | {spanUnaryPrefix(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 110955 | break; |
| 110956 | case 217: /* expr ::= MINUS expr */ |
| 110957 | {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 110958 | break; |
| 110959 | case 218: /* expr ::= PLUS expr */ |
| 110960 | {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 110961 | break; |
| 110962 | case 221: /* expr ::= expr between_op expr AND expr */ |
| 110963 | { |
| 110964 | ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 110965 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); |
| 110966 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy342.pExpr, 0, 0); |
| 110967 | if( yygotominor.yy342.pExpr ){ |
| @@ -110972,11 +111045,11 @@ | |
| 110972 | if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 110973 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 110974 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110975 | } |
| 110976 | break; |
| 110977 | case 224: /* expr ::= expr in_op LP exprlist RP */ |
| 110978 | { |
| 110979 | if( yymsp[-1].minor.yy442==0 ){ |
| 110980 | /* Expressions of the form |
| 110981 | ** |
| 110982 | ** expr1 IN () |
| @@ -110999,11 +111072,11 @@ | |
| 110999 | } |
| 111000 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111001 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111002 | } |
| 111003 | break; |
| 111004 | case 225: /* expr ::= LP select RP */ |
| 111005 | { |
| 111006 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); |
| 111007 | if( yygotominor.yy342.pExpr ){ |
| 111008 | yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; |
| 111009 | ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); |
| @@ -111013,11 +111086,11 @@ | |
| 111013 | } |
| 111014 | yygotominor.yy342.zStart = yymsp[-2].minor.yy0.z; |
| 111015 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111016 | } |
| 111017 | break; |
| 111018 | case 226: /* expr ::= expr in_op LP select RP */ |
| 111019 | { |
| 111020 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0); |
| 111021 | if( yygotominor.yy342.pExpr ){ |
| 111022 | yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; |
| 111023 | ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); |
| @@ -111028,11 +111101,11 @@ | |
| 111028 | if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 111029 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111030 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111031 | } |
| 111032 | break; |
| 111033 | case 227: /* expr ::= expr in_op nm dbnm */ |
| 111034 | { |
| 111035 | SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); |
| 111036 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342.pExpr, 0, 0); |
| 111037 | if( yygotominor.yy342.pExpr ){ |
| 111038 | yygotominor.yy342.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); |
| @@ -111044,11 +111117,11 @@ | |
| 111044 | if( yymsp[-2].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 111045 | yygotominor.yy342.zStart = yymsp[-3].minor.yy342.zStart; |
| 111046 | yygotominor.yy342.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]; |
| 111047 | } |
| 111048 | break; |
| 111049 | case 228: /* expr ::= EXISTS LP select RP */ |
| 111050 | { |
| 111051 | Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); |
| 111052 | if( p ){ |
| 111053 | p->x.pSelect = yymsp[-1].minor.yy159; |
| 111054 | ExprSetProperty(p, EP_xIsSelect); |
| @@ -111058,11 +111131,11 @@ | |
| 111058 | } |
| 111059 | yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; |
| 111060 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111061 | } |
| 111062 | break; |
| 111063 | case 229: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 111064 | { |
| 111065 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, yymsp[-1].minor.yy122, 0); |
| 111066 | if( yygotominor.yy342.pExpr ){ |
| 111067 | yygotominor.yy342.pExpr->x.pList = yymsp[-2].minor.yy442; |
| 111068 | sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); |
| @@ -111071,43 +111144,43 @@ | |
| 111071 | } |
| 111072 | yygotominor.yy342.zStart = yymsp[-4].minor.yy0.z; |
| 111073 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111074 | } |
| 111075 | break; |
| 111076 | case 230: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 111077 | { |
| 111078 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy342.pExpr); |
| 111079 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr); |
| 111080 | } |
| 111081 | break; |
| 111082 | case 231: /* case_exprlist ::= WHEN expr THEN expr */ |
| 111083 | { |
| 111084 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 111085 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr); |
| 111086 | } |
| 111087 | break; |
| 111088 | case 238: /* nexprlist ::= nexprlist COMMA expr */ |
| 111089 | {yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy342.pExpr);} |
| 111090 | break; |
| 111091 | case 239: /* nexprlist ::= expr */ |
| 111092 | {yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr);} |
| 111093 | break; |
| 111094 | case 240: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */ |
| 111095 | { |
| 111096 | sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, |
| 111097 | sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), yymsp[-1].minor.yy442, yymsp[-9].minor.yy392, |
| 111098 | &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy392); |
| 111099 | } |
| 111100 | break; |
| 111101 | case 241: /* uniqueflag ::= UNIQUE */ |
| 111102 | case 294: /* raisetype ::= ABORT */ yytestcase(yyruleno==294); |
| 111103 | {yygotominor.yy392 = OE_Abort;} |
| 111104 | break; |
| 111105 | case 242: /* uniqueflag ::= */ |
| 111106 | {yygotominor.yy392 = OE_None;} |
| 111107 | break; |
| 111108 | case 245: /* idxlist ::= idxlist COMMA nm collate sortorder */ |
| 111109 | { |
| 111110 | Expr *p = 0; |
| 111111 | if( yymsp[-1].minor.yy0.n>0 ){ |
| 111112 | p = sqlite3Expr(pParse->db, TK_COLUMN, 0); |
| 111113 | sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| @@ -111116,11 +111189,11 @@ | |
| 111116 | sqlite3ExprListSetName(pParse,yygotominor.yy442,&yymsp[-2].minor.yy0,1); |
| 111117 | sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); |
| 111118 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 111119 | } |
| 111120 | break; |
| 111121 | case 246: /* idxlist ::= nm collate sortorder */ |
| 111122 | { |
| 111123 | Expr *p = 0; |
| 111124 | if( yymsp[-1].minor.yy0.n>0 ){ |
| 111125 | p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); |
| 111126 | sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| @@ -111129,212 +111202,212 @@ | |
| 111129 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 111130 | sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); |
| 111131 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 111132 | } |
| 111133 | break; |
| 111134 | case 247: /* collate ::= */ |
| 111135 | {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} |
| 111136 | break; |
| 111137 | case 249: /* cmd ::= DROP INDEX ifexists fullname */ |
| 111138 | {sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);} |
| 111139 | break; |
| 111140 | case 250: /* cmd ::= VACUUM */ |
| 111141 | case 251: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==251); |
| 111142 | {sqlite3Vacuum(pParse);} |
| 111143 | break; |
| 111144 | case 252: /* cmd ::= PRAGMA nm dbnm */ |
| 111145 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 111146 | break; |
| 111147 | case 253: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 111148 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} |
| 111149 | break; |
| 111150 | case 254: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 111151 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} |
| 111152 | break; |
| 111153 | case 255: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 111154 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} |
| 111155 | break; |
| 111156 | case 256: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 111157 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} |
| 111158 | break; |
| 111159 | case 266: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 111160 | { |
| 111161 | Token all; |
| 111162 | all.z = yymsp[-3].minor.yy0.z; |
| 111163 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 111164 | sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all); |
| 111165 | } |
| 111166 | break; |
| 111167 | case 267: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 111168 | { |
| 111169 | sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy392, yymsp[-4].minor.yy410.a, yymsp[-4].minor.yy410.b, yymsp[-2].minor.yy347, yymsp[0].minor.yy122, yymsp[-10].minor.yy392, yymsp[-8].minor.yy392); |
| 111170 | yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); |
| 111171 | } |
| 111172 | break; |
| 111173 | case 268: /* trigger_time ::= BEFORE */ |
| 111174 | case 271: /* trigger_time ::= */ yytestcase(yyruleno==271); |
| 111175 | { yygotominor.yy392 = TK_BEFORE; } |
| 111176 | break; |
| 111177 | case 269: /* trigger_time ::= AFTER */ |
| 111178 | { yygotominor.yy392 = TK_AFTER; } |
| 111179 | break; |
| 111180 | case 270: /* trigger_time ::= INSTEAD OF */ |
| 111181 | { yygotominor.yy392 = TK_INSTEAD;} |
| 111182 | break; |
| 111183 | case 272: /* trigger_event ::= DELETE|INSERT */ |
| 111184 | case 273: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==273); |
| 111185 | {yygotominor.yy410.a = yymsp[0].major; yygotominor.yy410.b = 0;} |
| 111186 | break; |
| 111187 | case 274: /* trigger_event ::= UPDATE OF inscollist */ |
| 111188 | {yygotominor.yy410.a = TK_UPDATE; yygotominor.yy410.b = yymsp[0].minor.yy180;} |
| 111189 | break; |
| 111190 | case 277: /* when_clause ::= */ |
| 111191 | case 299: /* key_opt ::= */ yytestcase(yyruleno==299); |
| 111192 | { yygotominor.yy122 = 0; } |
| 111193 | break; |
| 111194 | case 278: /* when_clause ::= WHEN expr */ |
| 111195 | case 300: /* key_opt ::= KEY expr */ yytestcase(yyruleno==300); |
| 111196 | { yygotominor.yy122 = yymsp[0].minor.yy342.pExpr; } |
| 111197 | break; |
| 111198 | case 279: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 111199 | { |
| 111200 | assert( yymsp[-2].minor.yy327!=0 ); |
| 111201 | yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327; |
| 111202 | yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327; |
| 111203 | yygotominor.yy327 = yymsp[-2].minor.yy327; |
| 111204 | } |
| 111205 | break; |
| 111206 | case 280: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 111207 | { |
| 111208 | assert( yymsp[-1].minor.yy327!=0 ); |
| 111209 | yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327; |
| 111210 | yygotominor.yy327 = yymsp[-1].minor.yy327; |
| 111211 | } |
| 111212 | break; |
| 111213 | case 282: /* trnm ::= nm DOT nm */ |
| 111214 | { |
| 111215 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 111216 | sqlite3ErrorMsg(pParse, |
| 111217 | "qualified table names are not allowed on INSERT, UPDATE, and DELETE " |
| 111218 | "statements within triggers"); |
| 111219 | } |
| 111220 | break; |
| 111221 | case 284: /* tridxby ::= INDEXED BY nm */ |
| 111222 | { |
| 111223 | sqlite3ErrorMsg(pParse, |
| 111224 | "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " |
| 111225 | "within triggers"); |
| 111226 | } |
| 111227 | break; |
| 111228 | case 285: /* tridxby ::= NOT INDEXED */ |
| 111229 | { |
| 111230 | sqlite3ErrorMsg(pParse, |
| 111231 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 111232 | "within triggers"); |
| 111233 | } |
| 111234 | break; |
| 111235 | case 286: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ |
| 111236 | { yygotominor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy442, yymsp[0].minor.yy122, yymsp[-5].minor.yy258); } |
| 111237 | break; |
| 111238 | case 287: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist */ |
| 111239 | {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-4].minor.yy258);} |
| 111240 | break; |
| 111241 | case 288: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ |
| 111242 | {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, 0, yymsp[0].minor.yy159, yymsp[-4].minor.yy258);} |
| 111243 | break; |
| 111244 | case 289: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ |
| 111245 | {yygotominor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy122);} |
| 111246 | break; |
| 111247 | case 290: /* trigger_cmd ::= select */ |
| 111248 | {yygotominor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); } |
| 111249 | break; |
| 111250 | case 291: /* expr ::= RAISE LP IGNORE RP */ |
| 111251 | { |
| 111252 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); |
| 111253 | if( yygotominor.yy342.pExpr ){ |
| 111254 | yygotominor.yy342.pExpr->affinity = OE_Ignore; |
| 111255 | } |
| 111256 | yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; |
| 111257 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111258 | } |
| 111259 | break; |
| 111260 | case 292: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 111261 | { |
| 111262 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); |
| 111263 | if( yygotominor.yy342.pExpr ) { |
| 111264 | yygotominor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392; |
| 111265 | } |
| 111266 | yygotominor.yy342.zStart = yymsp[-5].minor.yy0.z; |
| 111267 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111268 | } |
| 111269 | break; |
| 111270 | case 293: /* raisetype ::= ROLLBACK */ |
| 111271 | {yygotominor.yy392 = OE_Rollback;} |
| 111272 | break; |
| 111273 | case 295: /* raisetype ::= FAIL */ |
| 111274 | {yygotominor.yy392 = OE_Fail;} |
| 111275 | break; |
| 111276 | case 296: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 111277 | { |
| 111278 | sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392); |
| 111279 | } |
| 111280 | break; |
| 111281 | case 297: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 111282 | { |
| 111283 | sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr, yymsp[0].minor.yy122); |
| 111284 | } |
| 111285 | break; |
| 111286 | case 298: /* cmd ::= DETACH database_kw_opt expr */ |
| 111287 | { |
| 111288 | sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr); |
| 111289 | } |
| 111290 | break; |
| 111291 | case 303: /* cmd ::= REINDEX */ |
| 111292 | {sqlite3Reindex(pParse, 0, 0);} |
| 111293 | break; |
| 111294 | case 304: /* cmd ::= REINDEX nm dbnm */ |
| 111295 | {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 111296 | break; |
| 111297 | case 305: /* cmd ::= ANALYZE */ |
| 111298 | {sqlite3Analyze(pParse, 0, 0);} |
| 111299 | break; |
| 111300 | case 306: /* cmd ::= ANALYZE nm dbnm */ |
| 111301 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 111302 | break; |
| 111303 | case 307: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 111304 | { |
| 111305 | sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0); |
| 111306 | } |
| 111307 | break; |
| 111308 | case 308: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ |
| 111309 | { |
| 111310 | sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); |
| 111311 | } |
| 111312 | break; |
| 111313 | case 309: /* add_column_fullname ::= fullname */ |
| 111314 | { |
| 111315 | pParse->db->lookaside.bEnabled = 0; |
| 111316 | sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347); |
| 111317 | } |
| 111318 | break; |
| 111319 | case 312: /* cmd ::= create_vtab */ |
| 111320 | {sqlite3VtabFinishParse(pParse,0);} |
| 111321 | break; |
| 111322 | case 313: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 111323 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 111324 | break; |
| 111325 | case 314: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 111326 | { |
| 111327 | sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy392); |
| 111328 | } |
| 111329 | break; |
| 111330 | case 317: /* vtabarg ::= */ |
| 111331 | {sqlite3VtabArgInit(pParse);} |
| 111332 | break; |
| 111333 | case 319: /* vtabargtoken ::= ANY */ |
| 111334 | case 320: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==320); |
| 111335 | case 321: /* lp ::= LP */ yytestcase(yyruleno==321); |
| 111336 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 111337 | break; |
| 111338 | default: |
| 111339 | /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); |
| 111340 | /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); |
| @@ -111350,28 +111423,29 @@ | |
| 111350 | /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34); |
| 111351 | /* (35) columnlist ::= column */ yytestcase(yyruleno==35); |
| 111352 | /* (44) type ::= */ yytestcase(yyruleno==44); |
| 111353 | /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); |
| 111354 | /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); |
| 111355 | /* (53) carglist ::= carglist cname ccons */ yytestcase(yyruleno==53); |
| 111356 | /* (54) carglist ::= */ yytestcase(yyruleno==54); |
| 111357 | /* (62) ccons ::= NULL onconf */ yytestcase(yyruleno==62); |
| 111358 | /* (90) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==90); |
| 111359 | /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91); |
| 111360 | /* (275) foreach_clause ::= */ yytestcase(yyruleno==275); |
| 111361 | /* (276) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==276); |
| 111362 | /* (283) tridxby ::= */ yytestcase(yyruleno==283); |
| 111363 | /* (301) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==301); |
| 111364 | /* (302) database_kw_opt ::= */ yytestcase(yyruleno==302); |
| 111365 | /* (310) kwcolumn_opt ::= */ yytestcase(yyruleno==310); |
| 111366 | /* (311) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==311); |
| 111367 | /* (315) vtabarglist ::= vtabarg */ yytestcase(yyruleno==315); |
| 111368 | /* (316) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==316); |
| 111369 | /* (318) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==318); |
| 111370 | /* (322) anylist ::= */ yytestcase(yyruleno==322); |
| 111371 | /* (323) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==323); |
| 111372 | /* (324) anylist ::= anylist ANY */ yytestcase(yyruleno==324); |
| 111373 | break; |
| 111374 | }; |
| 111375 | yygoto = yyRuleInfo[yyruleno].lhs; |
| 111376 | yysize = yyRuleInfo[yyruleno].nrhs; |
| 111377 | yypParser->yyidx -= yysize; |
| 111378 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -657,11 +657,11 @@ | |
| 657 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 658 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 659 | */ |
| 660 | #define SQLITE_VERSION "3.7.12" |
| 661 | #define SQLITE_VERSION_NUMBER 3007012 |
| 662 | #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" |
| 663 | |
| 664 | /* |
| 665 | ** CAPI3REF: Run-Time Library Version Numbers |
| 666 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 667 | ** |
| @@ -1006,10 +1006,11 @@ | |
| 1006 | #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) |
| 1007 | #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) |
| 1008 | #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) |
| 1009 | #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) |
| 1010 | #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) |
| 1011 | #define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) |
| 1012 | #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) |
| 1013 | #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) |
| 1014 | #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) |
| 1015 | #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) |
| 1016 | |
| @@ -35172,10 +35173,39 @@ | |
| 35173 | zBuf[j+1] = 0; |
| 35174 | |
| 35175 | OSTRACE(("TEMP FILENAME: %s\n", zBuf)); |
| 35176 | return SQLITE_OK; |
| 35177 | } |
| 35178 | |
| 35179 | /* |
| 35180 | ** Return TRUE if the named file is really a directory. Return false if |
| 35181 | ** it is something other than a directory, or if there is any kind of memory |
| 35182 | ** allocation failure. |
| 35183 | */ |
| 35184 | static int winIsDir(const void *zConverted){ |
| 35185 | DWORD attr; |
| 35186 | int rc = 0; |
| 35187 | DWORD lastErrno; |
| 35188 | |
| 35189 | if( isNT() ){ |
| 35190 | int cnt = 0; |
| 35191 | WIN32_FILE_ATTRIBUTE_DATA sAttrData; |
| 35192 | memset(&sAttrData, 0, sizeof(sAttrData)); |
| 35193 | while( !(rc = osGetFileAttributesExW((LPCWSTR)zConverted, |
| 35194 | GetFileExInfoStandard, |
| 35195 | &sAttrData)) && retryIoerr(&cnt, &lastErrno) ){} |
| 35196 | if( !rc ){ |
| 35197 | return 0; /* Invalid name? */ |
| 35198 | } |
| 35199 | attr = sAttrData.dwFileAttributes; |
| 35200 | #if SQLITE_OS_WINCE==0 |
| 35201 | }else{ |
| 35202 | attr = osGetFileAttributesA((char*)zConverted); |
| 35203 | #endif |
| 35204 | } |
| 35205 | return (attr!=INVALID_FILE_ATTRIBUTES) && (attr&FILE_ATTRIBUTE_DIRECTORY); |
| 35206 | } |
| 35207 | |
| 35208 | /* |
| 35209 | ** Open a file. |
| 35210 | */ |
| 35211 | static int winOpen( |
| @@ -35278,10 +35308,15 @@ | |
| 35308 | /* Convert the filename to the system encoding. */ |
| 35309 | zConverted = convertUtf8Filename(zUtf8Name); |
| 35310 | if( zConverted==0 ){ |
| 35311 | return SQLITE_IOERR_NOMEM; |
| 35312 | } |
| 35313 | |
| 35314 | if( winIsDir(zConverted) ){ |
| 35315 | sqlite3_free(zConverted); |
| 35316 | return SQLITE_CANTOPEN_ISDIR; |
| 35317 | } |
| 35318 | |
| 35319 | if( isReadWrite ){ |
| 35320 | dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; |
| 35321 | }else{ |
| 35322 | dwDesiredAccess = GENERIC_READ; |
| @@ -35328,24 +35363,24 @@ | |
| 35363 | dwDesiredAccess, |
| 35364 | dwShareMode, NULL, |
| 35365 | dwCreationDisposition, |
| 35366 | dwFlagsAndAttributes, |
| 35367 | NULL))==INVALID_HANDLE_VALUE && |
| 35368 | retryIoerr(&cnt, &lastErrno) ){ |
| 35369 | /* Noop */ |
| 35370 | } |
| 35371 | #if SQLITE_OS_WINCE==0 |
| 35372 | }else{ |
| 35373 | while( (h = osCreateFileA((LPCSTR)zConverted, |
| 35374 | dwDesiredAccess, |
| 35375 | dwShareMode, NULL, |
| 35376 | dwCreationDisposition, |
| 35377 | dwFlagsAndAttributes, |
| 35378 | NULL))==INVALID_HANDLE_VALUE && |
| 35379 | retryIoerr(&cnt, &lastErrno) ){ |
| 35380 | /* Noop */ |
| 35381 | } |
| 35382 | #endif |
| 35383 | } |
| 35384 | |
| 35385 | logIoerr(cnt); |
| 35386 | |
| @@ -35421,10 +35456,11 @@ | |
| 35456 | const char *zFilename, /* Name of file to delete */ |
| 35457 | int syncDir /* Not used on win32 */ |
| 35458 | ){ |
| 35459 | int cnt = 0; |
| 35460 | int rc; |
| 35461 | DWORD attr; |
| 35462 | DWORD lastErrno; |
| 35463 | void *zConverted; |
| 35464 | UNUSED_PARAMETER(pVfs); |
| 35465 | UNUSED_PARAMETER(syncDir); |
| 35466 | |
| @@ -35432,24 +35468,54 @@ | |
| 35468 | zConverted = convertUtf8Filename(zFilename); |
| 35469 | if( zConverted==0 ){ |
| 35470 | return SQLITE_IOERR_NOMEM; |
| 35471 | } |
| 35472 | if( isNT() ){ |
| 35473 | do { |
| 35474 | attr = osGetFileAttributesW(zConverted); |
| 35475 | if ( attr==INVALID_FILE_ATTRIBUTES ){ |
| 35476 | rc = SQLITE_OK; /* Already gone? */ |
| 35477 | break; |
| 35478 | } |
| 35479 | if ( attr&FILE_ATTRIBUTE_DIRECTORY ){ |
| 35480 | rc = SQLITE_ERROR; /* Files only. */ |
| 35481 | break; |
| 35482 | } |
| 35483 | if ( osDeleteFileW(zConverted) ){ |
| 35484 | rc = SQLITE_OK; /* Deleted OK. */ |
| 35485 | break; |
| 35486 | } |
| 35487 | if ( !retryIoerr(&cnt, &lastErrno) ){ |
| 35488 | rc = SQLITE_ERROR; /* No more retries. */ |
| 35489 | break; |
| 35490 | } |
| 35491 | } while(1); |
| 35492 | /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. |
| 35493 | ** Since the ANSI version of these Windows API do not exist for WINCE, |
| 35494 | ** it's important to not reference them for WINCE builds. |
| 35495 | */ |
| 35496 | #if SQLITE_OS_WINCE==0 |
| 35497 | }else{ |
| 35498 | do { |
| 35499 | attr = osGetFileAttributesA(zConverted); |
| 35500 | if ( attr==INVALID_FILE_ATTRIBUTES ){ |
| 35501 | rc = SQLITE_OK; /* Already gone? */ |
| 35502 | break; |
| 35503 | } |
| 35504 | if ( attr&FILE_ATTRIBUTE_DIRECTORY ){ |
| 35505 | rc = SQLITE_ERROR; /* Files only. */ |
| 35506 | break; |
| 35507 | } |
| 35508 | if ( osDeleteFileA(zConverted) ){ |
| 35509 | rc = SQLITE_OK; /* Deleted OK. */ |
| 35510 | break; |
| 35511 | } |
| 35512 | if ( !retryIoerr(&cnt, &lastErrno) ){ |
| 35513 | rc = SQLITE_ERROR; /* No more retries. */ |
| 35514 | break; |
| 35515 | } |
| 35516 | } while(1); |
| 35517 | #endif |
| 35518 | } |
| 35519 | if( rc ){ |
| 35520 | rc = winLogError(SQLITE_IOERR_DELETE, lastErrno, |
| 35521 | "winDelete", zFilename); |
| @@ -108378,12 +108444,12 @@ | |
| 108444 | #endif |
| 108445 | #define sqlite3ParserARG_SDECL Parse *pParse; |
| 108446 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 108447 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 108448 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 108449 | #define YYNSTATE 630 |
| 108450 | #define YYNRULE 327 |
| 108451 | #define YYFALLBACK 1 |
| 108452 | #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) |
| 108453 | #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) |
| 108454 | #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) |
| 108455 | |
| @@ -108449,478 +108515,479 @@ | |
| 108515 | ** shifting terminals. |
| 108516 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 108517 | ** shifting non-terminals after a reduce. |
| 108518 | ** yy_default[] Default action for each state. |
| 108519 | */ |
| 108520 | #define YY_ACTTAB_COUNT (1562) |
| 108521 | static const YYACTIONTYPE yy_action[] = { |
| 108522 | /* 0 */ 312, 330, 575, 574, 15, 171, 186, 597, 56, 56, |
| 108523 | /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, |
| 108524 | /* 20 */ 52, 52, 51, 235, 52, 52, 52, 51, 235, 627, |
| 108525 | /* 30 */ 590, 584, 56, 56, 56, 56, 316, 54, 54, 54, |
| 108526 | /* 40 */ 54, 53, 53, 52, 52, 52, 51, 235, 301, 57, |
| 108527 | /* 50 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108528 | /* 60 */ 56, 56, 571, 54, 54, 54, 54, 53, 53, 52, |
| 108529 | /* 70 */ 52, 52, 51, 235, 312, 597, 328, 198, 197, 196, |
| 108530 | /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108531 | /* 90 */ 51, 235, 53, 53, 52, 52, 52, 51, 235, 492, |
| 108532 | /* 100 */ 597, 441, 66, 237, 590, 584, 597, 299, 365, 59, |
| 108533 | /* 110 */ 482, 67, 362, 1, 621, 353, 621, 623, 622, 516, |
| 108534 | /* 120 */ 515, 442, 443, 57, 58, 48, 582, 581, 583, 583, |
| 108535 | /* 130 */ 55, 55, 56, 56, 56, 56, 608, 54, 54, 54, |
| 108536 | /* 140 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 225, |
| 108537 | /* 150 */ 618, 617, 616, 176, 138, 283, 386, 278, 385, 168, |
| 108538 | /* 160 */ 492, 554, 623, 622, 623, 622, 274, 441, 597, 412, |
| 108539 | /* 170 */ 553, 607, 67, 215, 597, 621, 506, 507, 590, 584, |
| 108540 | /* 180 */ 444, 571, 621, 391, 415, 620, 619, 442, 338, 623, |
| 108541 | /* 190 */ 622, 392, 601, 92, 224, 193, 671, 57, 58, 48, |
| 108542 | /* 200 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, |
| 108543 | /* 210 */ 672, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108544 | /* 220 */ 51, 235, 312, 262, 234, 233, 505, 132, 486, 510, |
| 108545 | /* 230 */ 620, 619, 620, 619, 399, 438, 487, 566, 621, 389, |
| 108546 | /* 240 */ 412, 384, 440, 532, 439, 602, 339, 571, 504, 603, |
| 108547 | /* 250 */ 203, 533, 590, 584, 45, 415, 548, 620, 619, 383, |
| 108548 | /* 260 */ 380, 379, 6, 601, 92, 526, 261, 572, 572, 595, |
| 108549 | /* 270 */ 378, 57, 58, 48, 582, 581, 583, 583, 55, 55, |
| 108550 | /* 280 */ 56, 56, 56, 56, 600, 54, 54, 54, 54, 53, |
| 108551 | /* 290 */ 53, 52, 52, 52, 51, 235, 312, 466, 326, 561, |
| 108552 | /* 300 */ 593, 593, 593, 282, 311, 399, 412, 568, 493, 214, |
| 108553 | /* 310 */ 400, 623, 622, 68, 281, 560, 7, 623, 622, 167, |
| 108554 | /* 320 */ 577, 415, 65, 408, 575, 574, 590, 584, 673, 601, |
| 108555 | /* 330 */ 92, 559, 410, 520, 579, 579, 306, 425, 623, 622, |
| 108556 | /* 340 */ 208, 572, 572, 467, 519, 57, 58, 48, 582, 581, |
| 108557 | /* 350 */ 583, 583, 55, 55, 56, 56, 56, 56, 576, 54, |
| 108558 | /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, |
| 108559 | /* 370 */ 312, 399, 412, 317, 600, 412, 350, 549, 578, 620, |
| 108560 | /* 380 */ 619, 423, 204, 175, 571, 620, 619, 415, 551, 355, |
| 108561 | /* 390 */ 415, 257, 349, 256, 174, 601, 74, 354, 601, 91, |
| 108562 | /* 400 */ 590, 584, 237, 467, 621, 547, 620, 619, 164, 623, |
| 108563 | /* 410 */ 622, 544, 62, 39, 251, 580, 600, 348, 555, 57, |
| 108564 | /* 420 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108565 | /* 430 */ 56, 56, 565, 54, 54, 54, 54, 53, 53, 52, |
| 108566 | /* 440 */ 52, 52, 51, 235, 312, 554, 182, 145, 531, 292, |
| 108567 | /* 450 */ 231, 257, 349, 256, 553, 221, 412, 181, 248, 549, |
| 108568 | /* 460 */ 250, 412, 237, 50, 47, 146, 412, 410, 412, 579, |
| 108569 | /* 470 */ 579, 415, 549, 567, 590, 584, 415, 620, 619, 601, |
| 108570 | /* 480 */ 16, 415, 189, 415, 601, 92, 268, 36, 544, 601, |
| 108571 | /* 490 */ 92, 601, 73, 57, 58, 48, 582, 581, 583, 583, |
| 108572 | /* 500 */ 55, 55, 56, 56, 56, 56, 187, 54, 54, 54, |
| 108573 | /* 510 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 564, |
| 108574 | /* 520 */ 397, 410, 528, 579, 579, 561, 395, 535, 201, 145, |
| 108575 | /* 530 */ 264, 320, 266, 388, 375, 410, 249, 579, 579, 236, |
| 108576 | /* 540 */ 40, 560, 38, 50, 47, 146, 19, 606, 590, 584, |
| 108577 | /* 550 */ 422, 948, 563, 948, 549, 496, 472, 559, 602, 403, |
| 108578 | /* 560 */ 422, 947, 603, 947, 562, 167, 200, 57, 58, 48, |
| 108579 | /* 570 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, |
| 108580 | /* 580 */ 156, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108581 | /* 590 */ 51, 235, 312, 262, 412, 426, 511, 208, 347, 492, |
| 108582 | /* 600 */ 600, 50, 47, 146, 410, 426, 579, 579, 621, 415, |
| 108583 | /* 610 */ 430, 67, 199, 143, 621, 166, 474, 601, 69, 317, |
| 108584 | /* 620 */ 475, 435, 590, 584, 274, 234, 233, 958, 184, 420, |
| 108585 | /* 630 */ 2, 600, 358, 552, 366, 470, 336, 476, 476, 368, |
| 108586 | /* 640 */ 359, 57, 58, 48, 582, 581, 583, 583, 55, 55, |
| 108587 | /* 650 */ 56, 56, 56, 56, 354, 54, 54, 54, 54, 53, |
| 108588 | /* 660 */ 53, 52, 52, 52, 51, 235, 312, 412, 572, 572, |
| 108589 | /* 670 */ 271, 412, 558, 874, 361, 213, 143, 412, 50, 47, |
| 108590 | /* 680 */ 146, 30, 415, 540, 355, 334, 415, 412, 629, 2, |
| 108591 | /* 690 */ 601, 94, 415, 513, 601, 97, 590, 584, 621, 621, |
| 108592 | /* 700 */ 601, 95, 415, 306, 424, 630, 628, 332, 173, 269, |
| 108593 | /* 710 */ 601, 104, 171, 546, 597, 57, 58, 48, 582, 581, |
| 108594 | /* 720 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, |
| 108595 | /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, |
| 108596 | /* 740 */ 312, 412, 275, 415, 412, 22, 329, 340, 423, 544, |
| 108597 | /* 750 */ 217, 601, 103, 568, 407, 214, 415, 621, 35, 415, |
| 108598 | /* 760 */ 412, 540, 412, 12, 601, 105, 237, 601, 106, 11, |
| 108599 | /* 770 */ 590, 584, 50, 47, 146, 415, 621, 415, 353, 325, |
| 108600 | /* 780 */ 164, 129, 597, 601, 133, 601, 134, 207, 287, 57, |
| 108601 | /* 790 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108602 | /* 800 */ 56, 56, 412, 54, 54, 54, 54, 53, 53, 52, |
| 108603 | /* 810 */ 52, 52, 51, 235, 312, 412, 275, 415, 412, 275, |
| 108604 | /* 820 */ 275, 600, 275, 544, 367, 601, 98, 542, 412, 170, |
| 108605 | /* 830 */ 415, 621, 524, 415, 621, 621, 169, 621, 601, 102, |
| 108606 | /* 840 */ 604, 601, 101, 415, 590, 584, 352, 21, 500, 32, |
| 108607 | /* 850 */ 166, 601, 93, 223, 318, 147, 324, 323, 272, 322, |
| 108608 | /* 860 */ 166, 205, 285, 57, 58, 48, 582, 581, 583, 583, |
| 108609 | /* 870 */ 55, 55, 56, 56, 56, 56, 412, 54, 54, 54, |
| 108610 | /* 880 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 412, |
| 108611 | /* 890 */ 262, 415, 412, 538, 360, 600, 360, 202, 142, 601, |
| 108612 | /* 900 */ 100, 376, 412, 166, 415, 621, 540, 415, 360, 621, |
| 108613 | /* 910 */ 141, 621, 601, 77, 230, 601, 96, 415, 590, 584, |
| 108614 | /* 920 */ 341, 621, 530, 621, 529, 601, 137, 471, 382, 166, |
| 108615 | /* 930 */ 460, 600, 170, 453, 427, 307, 28, 57, 58, 48, |
| 108616 | /* 940 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, |
| 108617 | /* 950 */ 412, 54, 54, 54, 54, 53, 53, 52, 52, 52, |
| 108618 | /* 960 */ 51, 235, 312, 412, 503, 415, 412, 212, 459, 321, |
| 108619 | /* 970 */ 35, 211, 127, 601, 136, 428, 412, 308, 415, 412, |
| 108620 | /* 980 */ 273, 415, 222, 126, 255, 27, 601, 135, 377, 601, |
| 108621 | /* 990 */ 76, 415, 590, 584, 415, 262, 220, 51, 235, 601, |
| 108622 | /* 1000 */ 90, 600, 601, 89, 125, 600, 281, 522, 521, 373, |
| 108623 | /* 1010 */ 621, 57, 46, 48, 582, 581, 583, 583, 55, 55, |
| 108624 | /* 1020 */ 56, 56, 56, 56, 412, 54, 54, 54, 54, 53, |
| 108625 | /* 1030 */ 53, 52, 52, 52, 51, 235, 312, 412, 451, 415, |
| 108626 | /* 1040 */ 165, 624, 612, 611, 469, 521, 480, 601, 75, 185, |
| 108627 | /* 1050 */ 412, 122, 415, 412, 369, 412, 621, 621, 621, 477, |
| 108628 | /* 1060 */ 601, 88, 589, 588, 170, 415, 590, 584, 415, 121, |
| 108629 | /* 1070 */ 415, 473, 259, 601, 87, 159, 601, 99, 601, 86, |
| 108630 | /* 1080 */ 628, 332, 120, 14, 586, 585, 58, 48, 582, 581, |
| 108631 | /* 1090 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, |
| 108632 | /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, |
| 108633 | /* 1110 */ 312, 587, 412, 415, 412, 465, 262, 262, 610, 605, |
| 108634 | /* 1120 */ 158, 601, 17, 157, 412, 462, 25, 415, 118, 415, |
| 108635 | /* 1130 */ 412, 621, 621, 621, 621, 601, 85, 601, 84, 415, |
| 108636 | /* 1140 */ 590, 584, 411, 262, 24, 415, 117, 601, 83, 10, |
| 108637 | /* 1150 */ 351, 4, 115, 601, 72, 458, 456, 621, 621, 450, |
| 108638 | /* 1160 */ 449, 48, 582, 581, 583, 583, 55, 55, 56, 56, |
| 108639 | /* 1170 */ 56, 56, 253, 54, 54, 54, 54, 53, 53, 52, |
| 108640 | /* 1180 */ 52, 52, 51, 235, 44, 406, 219, 3, 412, 452, |
| 108641 | /* 1190 */ 262, 416, 622, 154, 594, 110, 107, 108, 401, 446, |
| 108642 | /* 1200 */ 64, 557, 409, 415, 412, 621, 437, 44, 406, 621, |
| 108643 | /* 1210 */ 3, 601, 71, 621, 416, 622, 621, 545, 335, 415, |
| 108644 | /* 1220 */ 436, 404, 149, 239, 262, 409, 188, 601, 82, 331, |
| 108645 | /* 1230 */ 541, 566, 621, 218, 421, 539, 229, 139, 124, 621, |
| 108646 | /* 1240 */ 148, 419, 626, 625, 404, 621, 412, 238, 315, 123, |
| 108647 | /* 1250 */ 621, 41, 42, 534, 566, 206, 412, 277, 43, 414, |
| 108648 | /* 1260 */ 413, 415, 509, 595, 314, 615, 180, 245, 614, 601, |
| 108649 | /* 1270 */ 81, 415, 621, 276, 41, 42, 613, 621, 412, 601, |
| 108650 | /* 1280 */ 80, 43, 414, 413, 179, 270, 595, 418, 621, 600, |
| 108651 | /* 1290 */ 484, 8, 177, 415, 593, 593, 593, 592, 591, 13, |
| 108652 | /* 1300 */ 621, 601, 70, 417, 237, 621, 44, 406, 267, 3, |
| 108653 | /* 1310 */ 237, 265, 342, 416, 622, 599, 296, 593, 593, 593, |
| 108654 | /* 1320 */ 592, 591, 13, 621, 409, 412, 621, 412, 396, 34, |
| 108655 | /* 1330 */ 406, 412, 3, 31, 30, 294, 416, 622, 293, 333, |
| 108656 | /* 1340 */ 415, 263, 415, 404, 398, 258, 415, 409, 601, 18, |
| 108657 | /* 1350 */ 601, 79, 363, 566, 601, 78, 621, 295, 60, 37, |
| 108658 | /* 1360 */ 621, 172, 464, 390, 463, 598, 404, 621, 356, 288, |
| 108659 | /* 1370 */ 232, 29, 556, 41, 42, 252, 566, 621, 415, 621, |
| 108660 | /* 1380 */ 43, 414, 413, 621, 455, 595, 601, 9, 183, 61, |
| 108661 | /* 1390 */ 621, 543, 445, 623, 622, 244, 41, 42, 241, 621, |
| 108662 | /* 1400 */ 240, 393, 286, 43, 414, 413, 284, 621, 595, 431, |
| 108663 | /* 1410 */ 621, 291, 537, 621, 536, 621, 593, 593, 593, 592, |
| 108664 | /* 1420 */ 591, 13, 216, 144, 621, 387, 621, 304, 303, 302, |
| 108665 | /* 1430 */ 178, 300, 394, 566, 454, 517, 290, 523, 621, 593, |
| 108666 | /* 1440 */ 593, 593, 592, 591, 13, 518, 327, 621, 150, 279, |
| 108667 | /* 1450 */ 243, 621, 514, 192, 191, 513, 512, 310, 128, 242, |
| 108668 | /* 1460 */ 228, 526, 227, 226, 490, 595, 494, 489, 488, 309, |
| 108669 | /* 1470 */ 194, 164, 152, 163, 467, 374, 481, 372, 153, 162, |
| 108670 | /* 1480 */ 161, 151, 210, 479, 260, 370, 26, 478, 160, 468, |
| 108671 | /* 1490 */ 364, 140, 119, 116, 131, 457, 593, 593, 593, 155, |
| 108672 | /* 1500 */ 114, 346, 345, 113, 112, 111, 448, 109, 130, 23, |
| 108673 | /* 1510 */ 319, 20, 434, 433, 432, 63, 429, 609, 190, 510, |
| 108674 | /* 1520 */ 596, 405, 257, 344, 246, 297, 280, 573, 313, 570, |
| 108675 | /* 1530 */ 195, 499, 498, 237, 497, 495, 381, 289, 461, 247, |
| 108676 | /* 1540 */ 357, 254, 305, 343, 5, 447, 569, 209, 550, 371, |
| 108677 | /* 1550 */ 508, 491, 402, 502, 501, 298, 337, 527, 525, 485, |
| 108678 | /* 1560 */ 483, 235, |
| 108679 | }; |
| 108680 | static const YYCODETYPE yy_lookahead[] = { |
| 108681 | /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78, |
| 108682 | /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 108683 | /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1, |
| 108684 | /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84, |
| 108685 | /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, |
| 108686 | /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108687 | /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88, |
| 108688 | /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107, |
| 108689 | /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108690 | /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150, |
| 108691 | /* 100 */ 26, 150, 22, 116, 49, 50, 26, 158, 227, 54, |
| 108692 | /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 7, |
| 108693 | /* 120 */ 8, 170, 171, 68, 69, 70, 71, 72, 73, 74, |
| 108694 | /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84, |
| 108695 | /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, |
| 108696 | /* 150 */ 7, 8, 9, 96, 97, 98, 99, 100, 101, 102, |
| 108697 | /* 160 */ 150, 32, 26, 27, 26, 27, 109, 150, 94, 150, |
| 108698 | /* 170 */ 41, 161, 162, 22, 94, 165, 97, 98, 49, 50, |
| 108699 | /* 180 */ 229, 230, 165, 19, 165, 94, 95, 170, 171, 26, |
| 108700 | /* 190 */ 27, 27, 173, 174, 184, 185, 118, 68, 69, 70, |
| 108701 | /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108702 | /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108703 | /* 220 */ 91, 92, 19, 150, 86, 87, 36, 24, 180, 181, |
| 108704 | /* 230 */ 94, 95, 94, 95, 215, 97, 188, 66, 165, 220, |
| 108705 | /* 240 */ 150, 51, 104, 23, 106, 113, 229, 230, 58, 117, |
| 108706 | /* 250 */ 160, 88, 49, 50, 22, 165, 120, 94, 95, 99, |
| 108707 | /* 260 */ 100, 101, 22, 173, 174, 94, 193, 129, 130, 98, |
| 108708 | /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108709 | /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, |
| 108710 | /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 108, 12, |
| 108711 | /* 300 */ 129, 130, 131, 98, 163, 215, 150, 166, 167, 168, |
| 108712 | /* 310 */ 220, 26, 27, 22, 109, 28, 76, 26, 27, 50, |
| 108713 | /* 320 */ 23, 165, 25, 169, 170, 171, 49, 50, 118, 173, |
| 108714 | /* 330 */ 174, 44, 112, 46, 114, 115, 22, 23, 26, 27, |
| 108715 | /* 340 */ 160, 129, 130, 57, 57, 68, 69, 70, 71, 72, |
| 108716 | /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82, |
| 108717 | /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108718 | /* 370 */ 19, 215, 150, 104, 194, 150, 220, 25, 23, 94, |
| 108719 | /* 380 */ 95, 67, 160, 118, 230, 94, 95, 165, 25, 150, |
| 108720 | /* 390 */ 165, 105, 106, 107, 118, 173, 174, 217, 173, 174, |
| 108721 | /* 400 */ 49, 50, 116, 57, 165, 120, 94, 95, 96, 26, |
| 108722 | /* 410 */ 27, 166, 232, 136, 16, 113, 194, 237, 176, 68, |
| 108723 | /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108724 | /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, |
| 108725 | /* 440 */ 89, 90, 91, 92, 19, 32, 23, 95, 23, 224, |
| 108726 | /* 450 */ 205, 105, 106, 107, 41, 216, 150, 23, 60, 25, |
| 108727 | /* 460 */ 62, 150, 116, 221, 222, 223, 150, 112, 150, 114, |
| 108728 | /* 470 */ 115, 165, 120, 23, 49, 50, 165, 94, 95, 173, |
| 108729 | /* 480 */ 174, 165, 119, 165, 173, 174, 16, 136, 166, 173, |
| 108730 | /* 490 */ 174, 173, 174, 68, 69, 70, 71, 72, 73, 74, |
| 108731 | /* 500 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84, |
| 108732 | /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 11, |
| 108733 | /* 520 */ 214, 112, 23, 114, 115, 12, 215, 205, 22, 95, |
| 108734 | /* 530 */ 60, 215, 62, 88, 19, 112, 138, 114, 115, 197, |
| 108735 | /* 540 */ 135, 28, 137, 221, 222, 223, 204, 172, 49, 50, |
| 108736 | /* 550 */ 22, 23, 23, 25, 120, 180, 21, 44, 113, 46, |
| 108737 | /* 560 */ 22, 23, 117, 25, 23, 50, 160, 68, 69, 70, |
| 108738 | /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108739 | /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108740 | /* 590 */ 91, 92, 19, 150, 150, 67, 23, 160, 63, 150, |
| 108741 | /* 600 */ 194, 221, 222, 223, 112, 67, 114, 115, 165, 165, |
| 108742 | /* 610 */ 161, 162, 206, 207, 165, 25, 30, 173, 174, 104, |
| 108743 | /* 620 */ 34, 241, 49, 50, 109, 86, 87, 142, 143, 144, |
| 108744 | /* 630 */ 145, 194, 19, 176, 48, 100, 193, 105, 106, 107, |
| 108745 | /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108746 | /* 650 */ 77, 78, 79, 80, 217, 82, 83, 84, 85, 86, |
| 108747 | /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 129, 130, |
| 108748 | /* 670 */ 23, 150, 23, 138, 237, 206, 207, 150, 221, 222, |
| 108749 | /* 680 */ 223, 126, 165, 150, 150, 242, 165, 150, 144, 145, |
| 108750 | /* 690 */ 173, 174, 165, 103, 173, 174, 49, 50, 165, 165, |
| 108751 | /* 700 */ 173, 174, 165, 22, 23, 0, 1, 2, 25, 25, |
| 108752 | /* 710 */ 173, 174, 24, 120, 26, 68, 69, 70, 71, 72, |
| 108753 | /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108754 | /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108755 | /* 740 */ 19, 150, 150, 165, 150, 24, 213, 97, 67, 166, |
| 108756 | /* 750 */ 216, 173, 174, 166, 167, 168, 165, 165, 25, 165, |
| 108757 | /* 760 */ 150, 150, 150, 35, 173, 174, 116, 173, 174, 35, |
| 108758 | /* 770 */ 49, 50, 221, 222, 223, 165, 165, 165, 128, 187, |
| 108759 | /* 780 */ 96, 22, 94, 173, 174, 173, 174, 160, 205, 68, |
| 108760 | /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108761 | /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, |
| 108762 | /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 150, 150, |
| 108763 | /* 820 */ 150, 194, 150, 166, 213, 173, 174, 23, 150, 25, |
| 108764 | /* 830 */ 165, 165, 165, 165, 165, 165, 35, 165, 173, 174, |
| 108765 | /* 840 */ 173, 173, 174, 165, 49, 50, 219, 52, 23, 25, |
| 108766 | /* 850 */ 25, 173, 174, 187, 245, 246, 187, 187, 23, 187, |
| 108767 | /* 860 */ 25, 160, 205, 68, 69, 70, 71, 72, 73, 74, |
| 108768 | /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, |
| 108769 | /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, |
| 108770 | /* 890 */ 150, 165, 150, 27, 150, 194, 150, 160, 118, 173, |
| 108771 | /* 900 */ 174, 23, 150, 25, 165, 165, 150, 165, 150, 165, |
| 108772 | /* 910 */ 39, 165, 173, 174, 52, 173, 174, 165, 49, 50, |
| 108773 | /* 920 */ 219, 165, 23, 165, 23, 173, 174, 23, 52, 25, |
| 108774 | /* 930 */ 23, 194, 25, 193, 247, 248, 22, 68, 69, 70, |
| 108775 | /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 108776 | /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 108777 | /* 960 */ 91, 92, 19, 150, 29, 165, 150, 160, 23, 213, |
| 108778 | /* 970 */ 25, 160, 22, 173, 174, 23, 150, 25, 165, 150, |
| 108779 | /* 980 */ 23, 165, 238, 22, 238, 22, 173, 174, 52, 173, |
| 108780 | /* 990 */ 174, 165, 49, 50, 165, 150, 238, 91, 92, 173, |
| 108781 | /* 1000 */ 174, 194, 173, 174, 22, 194, 109, 190, 191, 19, |
| 108782 | /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 108783 | /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, |
| 108784 | /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, |
| 108785 | /* 1040 */ 102, 150, 150, 150, 190, 191, 20, 173, 174, 24, |
| 108786 | /* 1050 */ 150, 104, 165, 150, 43, 150, 165, 165, 165, 59, |
| 108787 | /* 1060 */ 173, 174, 49, 50, 25, 165, 49, 50, 165, 53, |
| 108788 | /* 1070 */ 165, 53, 138, 173, 174, 104, 173, 174, 173, 174, |
| 108789 | /* 1080 */ 1, 2, 22, 5, 71, 72, 69, 70, 71, 72, |
| 108790 | /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, |
| 108791 | /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 108792 | /* 1110 */ 19, 98, 150, 165, 150, 1, 150, 150, 150, 150, |
| 108793 | /* 1120 */ 118, 173, 174, 35, 150, 27, 76, 165, 108, 165, |
| 108794 | /* 1130 */ 150, 165, 165, 165, 165, 173, 174, 173, 174, 165, |
| 108795 | /* 1140 */ 49, 50, 150, 150, 76, 165, 127, 173, 174, 22, |
| 108796 | /* 1150 */ 25, 22, 119, 173, 174, 23, 1, 165, 165, 193, |
| 108797 | /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 108798 | /* 1170 */ 79, 80, 16, 82, 83, 84, 85, 86, 87, 88, |
| 108799 | /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 20, |
| 108800 | /* 1190 */ 150, 26, 27, 121, 150, 119, 127, 108, 150, 128, |
| 108801 | /* 1200 */ 16, 150, 37, 165, 150, 165, 23, 19, 20, 165, |
| 108802 | /* 1210 */ 22, 173, 174, 165, 26, 27, 165, 150, 65, 165, |
| 108803 | /* 1220 */ 23, 56, 15, 140, 150, 37, 22, 173, 174, 3, |
| 108804 | /* 1230 */ 150, 66, 165, 193, 4, 150, 179, 164, 179, 165, |
| 108805 | /* 1240 */ 246, 146, 147, 149, 56, 165, 150, 152, 249, 154, |
| 108806 | /* 1250 */ 165, 86, 87, 88, 66, 160, 150, 150, 93, 94, |
| 108807 | /* 1260 */ 95, 165, 150, 98, 249, 149, 6, 193, 149, 173, |
| 108808 | /* 1270 */ 174, 165, 165, 150, 86, 87, 13, 165, 150, 173, |
| 108809 | /* 1280 */ 174, 93, 94, 95, 151, 150, 98, 149, 165, 194, |
| 108810 | /* 1290 */ 150, 25, 151, 165, 129, 130, 131, 132, 133, 134, |
| 108811 | /* 1300 */ 165, 173, 174, 159, 116, 165, 19, 20, 150, 22, |
| 108812 | /* 1310 */ 116, 150, 217, 26, 27, 194, 199, 129, 130, 131, |
| 108813 | /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 123, 19, |
| 108814 | /* 1330 */ 20, 150, 22, 124, 126, 201, 26, 27, 202, 244, |
| 108815 | /* 1340 */ 165, 150, 165, 56, 122, 150, 165, 37, 173, 174, |
| 108816 | /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 200, 125, 135, |
| 108817 | /* 1360 */ 165, 118, 150, 150, 150, 203, 56, 165, 150, 210, |
| 108818 | /* 1370 */ 225, 104, 157, 86, 87, 150, 66, 165, 165, 165, |
| 108819 | /* 1380 */ 93, 94, 95, 165, 150, 98, 173, 174, 157, 22, |
| 108820 | /* 1390 */ 165, 211, 150, 26, 27, 150, 86, 87, 150, 165, |
| 108821 | /* 1400 */ 150, 121, 210, 93, 94, 95, 210, 165, 98, 150, |
| 108822 | /* 1410 */ 165, 150, 211, 165, 211, 165, 129, 130, 131, 132, |
| 108823 | /* 1420 */ 133, 134, 5, 150, 165, 104, 165, 10, 11, 12, |
| 108824 | /* 1430 */ 13, 14, 150, 66, 17, 183, 150, 175, 165, 129, |
| 108825 | /* 1440 */ 130, 131, 132, 133, 134, 175, 47, 165, 31, 175, |
| 108826 | /* 1450 */ 33, 165, 177, 86, 87, 103, 175, 178, 22, 42, |
| 108827 | /* 1460 */ 228, 94, 92, 228, 175, 98, 183, 175, 175, 178, |
| 108828 | /* 1470 */ 185, 96, 55, 156, 57, 18, 157, 157, 61, 156, |
| 108829 | /* 1480 */ 156, 64, 157, 157, 235, 45, 135, 236, 156, 189, |
| 108830 | /* 1490 */ 157, 68, 189, 22, 218, 199, 129, 130, 131, 156, |
| 108831 | /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240, |
| 108832 | /* 1510 */ 157, 240, 40, 157, 157, 243, 38, 153, 196, 181, |
| 108833 | /* 1520 */ 166, 226, 105, 106, 107, 198, 176, 230, 111, 230, |
| 108834 | /* 1530 */ 185, 176, 166, 116, 176, 166, 177, 209, 199, 209, |
| 108835 | /* 1540 */ 239, 239, 148, 209, 196, 199, 166, 233, 208, 234, |
| 108836 | /* 1550 */ 182, 186, 191, 182, 182, 195, 139, 173, 173, 186, |
| 108837 | /* 1560 */ 186, 92, |
| 108838 | }; |
| 108839 | #define YY_SHIFT_USE_DFLT (-70) |
| 108840 | #define YY_SHIFT_COUNT (419) |
| 108841 | #define YY_SHIFT_MIN (-69) |
| 108842 | #define YY_SHIFT_MAX (1484) |
| 108843 | static const short yy_shift_ofst[] = { |
| 108844 | /* 0 */ 1079, 1188, 1417, 1188, 1287, 1287, 138, 138, 312, -19, |
| 108845 | /* 10 */ 1287, 1287, 1287, 1287, 346, 383, 129, 129, 795, 1165, |
| 108846 | /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108847 | /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108848 | /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, |
| 108849 | /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, |
| 108850 | /* 60 */ 1287, 1287, 286, 383, 383, 539, 539, 74, 1194, 55, |
| 108851 | /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, |
| 108852 | /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, |
| 108853 | /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, |
| 108854 | /* 100 */ -45, -45, -45, -45, -1, 6, -64, 383, 383, 383, |
| 108855 | /* 110 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108856 | /* 120 */ 383, 383, 383, 535, 515, 383, 383, 383, 383, 383, |
| 108857 | /* 130 */ 650, -13, 74, 906, 1469, -70, -70, -70, 1367, 57, |
| 108858 | /* 140 */ 287, 287, 163, 291, 285, 136, 91, 538, 528, 383, |
| 108859 | /* 150 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108860 | /* 160 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108861 | /* 170 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, |
| 108862 | /* 180 */ 383, 688, 688, 688, 705, 1194, 1194, 1194, -70, -70, |
| 108863 | /* 190 */ -70, 171, 171, 160, 160, 160, 190, 190, 190, 434, |
| 108864 | /* 200 */ 423, 513, 409, 355, 220, 492, 492, 492, 492, 532, |
| 108865 | /* 210 */ 586, 492, 492, 352, 80, 445, 143, 555, 164, 164, |
| 108866 | /* 220 */ 613, 555, 613, 590, 684, 74, 413, 74, 413, 269, |
| 108867 | /* 230 */ 413, 164, 405, 212, 212, 74, 363, 132, -18, 1478, |
| 108868 | /* 240 */ 1243, 1243, 1472, 1472, 1243, 1471, 1423, 1208, 1484, 1484, |
| 108869 | /* 250 */ 1484, 1484, 1243, 1457, 1208, 1471, 1423, 1423, 1243, 1457, |
| 108870 | /* 260 */ 1351, 1440, 1243, 1243, 1457, 1243, 1457, 1243, 1457, 1375, |
| 108871 | /* 270 */ 1436, 1321, 1321, 1321, 1399, 1370, 1370, 1436, 1321, 1352, |
| 108872 | /* 280 */ 1321, 1399, 1321, 1321, 1280, 1267, 1280, 1267, 1280, 1267, |
| 108873 | /* 290 */ 1243, 1243, 1224, 1233, 1222, 1209, 1205, 1208, 1194, 1266, |
| 108874 | /* 300 */ 1263, 1263, 1260, 1260, 1260, 1260, -70, -70, -70, -70, |
| 108875 | /* 310 */ -70, -70, 1013, 398, 681, 314, 470, -28, 952, 240, |
| 108876 | /* 320 */ 945, 907, 904, 878, 835, 825, 79, 112, 205, 804, |
| 108877 | /* 330 */ 297, 1230, 1226, 1204, 1083, 1207, 1153, 1184, 1197, 1183, |
| 108878 | /* 340 */ 1071, 1125, 1069, 1089, 1076, 1169, 1072, 1156, 1155, 1033, |
| 108879 | /* 350 */ 1132, 1129, 1125, 1127, 1019, 1068, 1050, 1020, 1098, 1088, |
| 108880 | /* 360 */ 1002, 1114, 1078, 1060, 971, 934, 1018, 1039, 1016, 1000, |
| 108881 | /* 370 */ 1011, 947, 1025, 1026, 990, 897, 938, 982, 936, 963, |
| 108882 | /* 380 */ 961, 957, 950, 876, 935, 914, 862, 871, 901, 899, |
| 108883 | /* 390 */ 780, 866, 801, 759, 593, 733, 734, 824, 728, 733, |
| 108884 | /* 400 */ 649, 541, 683, 529, 506, 508, 484, 450, 335, 232, |
| 108885 | /* 410 */ 302, 276, 265, 210, 92, 78, 151, 113, 33, 28, |
| 108886 | }; |
| 108887 | #define YY_REDUCE_USE_DFLT (-169) |
| 108888 | #define YY_REDUCE_COUNT (311) |
| 108889 | #define YY_REDUCE_MIN (-168) |
| 108890 | #define YY_REDUCE_MAX (1394) |
| 108891 | static const short yy_reduce_ofst[] = { |
| 108892 | /* 0 */ 485, 90, 1095, 222, 156, 19, 17, -49, 10, 322, |
| 108893 | /* 10 */ 316, 311, 306, 225, 180, -51, 457, 242, 380, 1213, |
| 108894 | /* 20 */ 1181, 1177, 1175, 1128, 1106, 1096, 1054, 1038, 980, 974, |
| 108895 | /* 30 */ 964, 962, 948, 905, 903, 900, 887, 874, 829, 826, |
| 108896 | /* 40 */ 816, 813, 800, 752, 742, 739, 726, 678, 668, 665, |
| 108897 | /* 50 */ 652, 612, 610, 594, 591, 578, 537, 527, 521, 517, |
| 108898 | /* 60 */ 444, 318, 437, 449, 443, 154, -168, 141, 406, 551, |
| 108899 | /* 70 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, |
| 108900 | /* 80 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, |
| 108901 | /* 90 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, |
| 108902 | /* 100 */ 551, 551, 551, 551, 551, 551, 551, 1074, 534, 1040, |
| 108903 | /* 110 */ 993, 967, 966, 845, 740, 758, 756, 746, 239, 744, |
| 108904 | /* 120 */ 672, 611, 73, -119, 48, 670, 669, 666, 592, 533, |
| 108905 | /* 130 */ 701, 627, 587, 551, 551, 551, 551, 551, 667, 375, |
| 108906 | /* 140 */ 854, 817, 992, 1286, 1282, 1273, 1261, 687, 687, 1259, |
| 108907 | /* 150 */ 1250, 1248, 1245, 1242, 1234, 1225, 1218, 1214, 1212, 1202, |
| 108908 | /* 160 */ 1195, 1191, 1161, 1158, 1140, 1135, 1123, 1112, 1107, 1085, |
| 108909 | /* 170 */ 1080, 1067, 1051, 1048, 1044, 992, 969, 968, 893, 892, |
| 108910 | /* 180 */ 891, 657, 583, 245, 544, 811, 807, 737, 609, 469, |
| 108911 | /* 190 */ 342, 1385, 1384, 1374, 1373, 1365, 1372, 1371, 1368, 1340, |
| 108912 | /* 200 */ 1360, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1315, |
| 108913 | /* 210 */ 1314, 1360, 1360, 1340, 1380, 1348, 1394, 1346, 1334, 1330, |
| 108914 | /* 220 */ 1302, 1339, 1301, 1359, 1345, 1369, 1358, 1366, 1355, 1338, |
| 108915 | /* 230 */ 1350, 1328, 1295, 1299, 1297, 1354, 1327, 1322, 1364, 1272, |
| 108916 | /* 240 */ 1357, 1356, 1271, 1269, 1353, 1290, 1318, 1307, 1313, 1312, |
| 108917 | /* 250 */ 1311, 1308, 1344, 1343, 1296, 1276, 1303, 1300, 1333, 1332, |
| 108918 | /* 260 */ 1251, 1249, 1326, 1325, 1324, 1320, 1323, 1319, 1317, 1285, |
| 108919 | /* 270 */ 1291, 1293, 1292, 1289, 1283, 1235, 1232, 1279, 1281, 1275, |
| 108920 | /* 280 */ 1274, 1252, 1270, 1262, 1203, 1196, 1201, 1192, 1180, 1159, |
| 108921 | /* 290 */ 1231, 1215, 1145, 1162, 1136, 1134, 1157, 1117, 1121, 1144, |
| 108922 | /* 300 */ 1141, 1133, 1138, 1119, 1116, 1094, 1015, 999, 994, 1059, |
| 108923 | /* 310 */ 1057, 1073, |
| 108924 | }; |
| 108925 | static const YYACTIONTYPE yy_default[] = { |
| 108926 | /* 0 */ 635, 869, 957, 957, 869, 869, 957, 957, 722, 759, |
| 108927 | /* 10 */ 957, 957, 957, 867, 957, 957, 787, 787, 931, 957, |
| 108928 | /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108929 | /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108930 | /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108931 | /* 50 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108932 | /* 60 */ 957, 957, 957, 957, 957, 957, 957, 674, 763, 793, |
| 108933 | /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 930, 932, |
| 108934 | /* 80 */ 801, 800, 910, 774, 798, 791, 795, 870, 863, 864, |
| 108935 | /* 90 */ 862, 866, 871, 957, 794, 830, 847, 829, 841, 846, |
| 108936 | /* 100 */ 853, 845, 842, 832, 831, 833, 834, 957, 957, 957, |
| 108937 | /* 110 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108938 | /* 120 */ 957, 957, 957, 661, 728, 957, 957, 957, 957, 957, |
| 108939 | /* 130 */ 957, 957, 957, 835, 836, 850, 849, 848, 957, 666, |
| 108940 | /* 140 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108941 | /* 150 */ 937, 935, 957, 882, 957, 957, 957, 957, 957, 957, |
| 108942 | /* 160 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108943 | /* 170 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108944 | /* 180 */ 641, 759, 759, 759, 635, 957, 957, 957, 949, 763, |
| 108945 | /* 190 */ 753, 957, 957, 957, 957, 718, 957, 957, 957, 957, |
| 108946 | /* 200 */ 957, 957, 957, 957, 957, 803, 742, 920, 922, 957, |
| 108947 | /* 210 */ 903, 740, 663, 761, 676, 751, 643, 797, 776, 776, |
| 108948 | /* 220 */ 915, 797, 915, 699, 722, 957, 787, 957, 787, 696, |
| 108949 | /* 230 */ 787, 776, 865, 957, 957, 957, 760, 751, 957, 942, |
| 108950 | /* 240 */ 767, 767, 934, 934, 767, 809, 732, 797, 739, 739, |
| 108951 | /* 250 */ 739, 739, 767, 658, 797, 809, 732, 732, 767, 658, |
| 108952 | /* 260 */ 909, 907, 767, 767, 658, 767, 658, 767, 658, 722, |
| 108953 | /* 270 */ 875, 730, 730, 730, 714, 879, 879, 875, 730, 699, |
| 108954 | /* 280 */ 730, 714, 730, 730, 780, 775, 780, 775, 780, 775, |
| 108955 | /* 290 */ 767, 767, 957, 792, 781, 790, 788, 797, 957, 717, |
| 108956 | /* 300 */ 651, 651, 640, 640, 640, 640, 954, 954, 949, 701, |
| 108957 | /* 310 */ 701, 684, 957, 957, 957, 957, 957, 957, 957, 884, |
| 108958 | /* 320 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108959 | /* 330 */ 957, 957, 636, 944, 957, 957, 941, 957, 957, 957, |
| 108960 | /* 340 */ 957, 802, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108961 | /* 350 */ 957, 957, 919, 957, 957, 957, 957, 957, 957, 957, |
| 108962 | /* 360 */ 913, 957, 957, 957, 957, 957, 957, 906, 905, 957, |
| 108963 | /* 370 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108964 | /* 380 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108965 | /* 390 */ 957, 957, 957, 957, 957, 789, 957, 782, 957, 868, |
| 108966 | /* 400 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 108967 | /* 410 */ 745, 818, 957, 817, 821, 816, 668, 957, 649, 957, |
| 108968 | /* 420 */ 632, 637, 953, 956, 955, 952, 951, 950, 945, 943, |
| 108969 | /* 430 */ 940, 939, 938, 936, 933, 929, 888, 886, 893, 892, |
| 108970 | /* 440 */ 891, 890, 889, 887, 885, 883, 804, 799, 796, 928, |
| 108971 | /* 450 */ 881, 741, 738, 737, 657, 946, 912, 921, 808, 807, |
| 108972 | /* 460 */ 810, 918, 917, 916, 914, 911, 898, 806, 805, 733, |
| 108973 | /* 470 */ 873, 872, 660, 902, 901, 900, 904, 908, 899, 769, |
| 108974 | /* 480 */ 659, 656, 665, 721, 723, 719, 729, 727, 726, 725, |
| 108975 | /* 490 */ 724, 720, 667, 675, 713, 698, 697, 878, 880, 877, |
| 108976 | /* 500 */ 876, 706, 705, 711, 710, 709, 708, 707, 704, 703, |
| 108977 | /* 510 */ 702, 695, 694, 700, 693, 716, 715, 712, 692, 736, |
| 108978 | /* 520 */ 735, 734, 731, 691, 690, 689, 821, 688, 687, 827, |
| 108979 | /* 530 */ 826, 814, 857, 756, 755, 754, 766, 765, 778, 777, |
| 108980 | /* 540 */ 812, 811, 779, 764, 758, 757, 773, 772, 771, 770, |
| 108981 | /* 550 */ 762, 752, 784, 786, 785, 783, 859, 768, 856, 927, |
| 108982 | /* 560 */ 926, 925, 924, 923, 861, 860, 828, 825, 679, 680, |
| 108983 | /* 570 */ 896, 895, 897, 894, 682, 681, 678, 677, 858, 747, |
| 108984 | /* 580 */ 746, 854, 851, 843, 839, 855, 852, 844, 840, 838, |
| 108985 | /* 590 */ 837, 823, 822, 820, 819, 815, 824, 670, 748, 744, |
| 108986 | /* 600 */ 743, 813, 750, 749, 686, 685, 683, 664, 662, 655, |
| 108987 | /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673, |
| 108988 | /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631, |
| 108989 | }; |
| 108990 | |
| 108991 | /* The next table maps tokens into fallback tokens. If a construct |
| 108992 | ** like the following: |
| 108993 | ** |
| @@ -109119,14 +109186,14 @@ | |
| 109186 | "create_table", "create_table_args", "createkw", "temp", |
| 109187 | "ifnotexists", "dbnm", "columnlist", "conslist_opt", |
| 109188 | "select", "column", "columnid", "type", |
| 109189 | "carglist", "id", "ids", "typetoken", |
| 109190 | "typename", "signed", "plus_num", "minus_num", |
| 109191 | "ccons", "term", "expr", "onconf", |
| 109192 | "sortorder", "autoinc", "idxlist_opt", "refargs", |
| 109193 | "defer_subclause", "refarg", "refact", "init_deferred_pred_opt", |
| 109194 | "conslist", "cname", "tcons", "idxlist", |
| 109195 | "defer_subclause_opt", "orconf", "resolvetype", "raisetype", |
| 109196 | "ifexists", "fullname", "oneselect", "multiselect_op", |
| 109197 | "distinct", "selcollist", "from", "where_opt", |
| 109198 | "groupby_opt", "having_opt", "orderby_opt", "limit_opt", |
| 109199 | "sclp", "as", "seltablist", "stl_prefix", |
| @@ -109199,282 +109266,284 @@ | |
| 109266 | /* 48 */ "typetoken ::= typename LP signed COMMA signed RP", |
| 109267 | /* 49 */ "typename ::= ids", |
| 109268 | /* 50 */ "typename ::= typename ids", |
| 109269 | /* 51 */ "signed ::= plus_num", |
| 109270 | /* 52 */ "signed ::= minus_num", |
| 109271 | /* 53 */ "carglist ::= carglist ccons", |
| 109272 | /* 54 */ "carglist ::=", |
| 109273 | /* 55 */ "ccons ::= CONSTRAINT nm", |
| 109274 | /* 56 */ "ccons ::= DEFAULT term", |
| 109275 | /* 57 */ "ccons ::= DEFAULT LP expr RP", |
| 109276 | /* 58 */ "ccons ::= DEFAULT PLUS term", |
| 109277 | /* 59 */ "ccons ::= DEFAULT MINUS term", |
| 109278 | /* 60 */ "ccons ::= DEFAULT id", |
| 109279 | /* 61 */ "ccons ::= NULL onconf", |
| 109280 | /* 62 */ "ccons ::= NOT NULL onconf", |
| 109281 | /* 63 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", |
| 109282 | /* 64 */ "ccons ::= UNIQUE onconf", |
| 109283 | /* 65 */ "ccons ::= CHECK LP expr RP", |
| 109284 | /* 66 */ "ccons ::= REFERENCES nm idxlist_opt refargs", |
| 109285 | /* 67 */ "ccons ::= defer_subclause", |
| 109286 | /* 68 */ "ccons ::= COLLATE ids", |
| 109287 | /* 69 */ "autoinc ::=", |
| 109288 | /* 70 */ "autoinc ::= AUTOINCR", |
| 109289 | /* 71 */ "refargs ::=", |
| 109290 | /* 72 */ "refargs ::= refargs refarg", |
| 109291 | /* 73 */ "refarg ::= MATCH nm", |
| 109292 | /* 74 */ "refarg ::= ON INSERT refact", |
| 109293 | /* 75 */ "refarg ::= ON DELETE refact", |
| 109294 | /* 76 */ "refarg ::= ON UPDATE refact", |
| 109295 | /* 77 */ "refact ::= SET NULL", |
| 109296 | /* 78 */ "refact ::= SET DEFAULT", |
| 109297 | /* 79 */ "refact ::= CASCADE", |
| 109298 | /* 80 */ "refact ::= RESTRICT", |
| 109299 | /* 81 */ "refact ::= NO ACTION", |
| 109300 | /* 82 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", |
| 109301 | /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", |
| 109302 | /* 84 */ "init_deferred_pred_opt ::=", |
| 109303 | /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", |
| 109304 | /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", |
| 109305 | /* 87 */ "conslist_opt ::=", |
| 109306 | /* 88 */ "conslist_opt ::= COMMA conslist cname", |
| 109307 | /* 89 */ "conslist ::= conslist COMMA cname tcons", |
| 109308 | /* 90 */ "conslist ::= conslist cname tcons", |
| 109309 | /* 91 */ "conslist ::= cname tcons", |
| 109310 | /* 92 */ "cname ::=", |
| 109311 | /* 93 */ "cname ::= CONSTRAINT nm", |
| 109312 | /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", |
| 109313 | /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf", |
| 109314 | /* 96 */ "tcons ::= CHECK LP expr RP onconf", |
| 109315 | /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", |
| 109316 | /* 98 */ "defer_subclause_opt ::=", |
| 109317 | /* 99 */ "defer_subclause_opt ::= defer_subclause", |
| 109318 | /* 100 */ "onconf ::=", |
| 109319 | /* 101 */ "onconf ::= ON CONFLICT resolvetype", |
| 109320 | /* 102 */ "orconf ::=", |
| 109321 | /* 103 */ "orconf ::= OR resolvetype", |
| 109322 | /* 104 */ "resolvetype ::= raisetype", |
| 109323 | /* 105 */ "resolvetype ::= IGNORE", |
| 109324 | /* 106 */ "resolvetype ::= REPLACE", |
| 109325 | /* 107 */ "cmd ::= DROP TABLE ifexists fullname", |
| 109326 | /* 108 */ "ifexists ::= IF EXISTS", |
| 109327 | /* 109 */ "ifexists ::=", |
| 109328 | /* 110 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", |
| 109329 | /* 111 */ "cmd ::= DROP VIEW ifexists fullname", |
| 109330 | /* 112 */ "cmd ::= select", |
| 109331 | /* 113 */ "select ::= oneselect", |
| 109332 | /* 114 */ "select ::= select multiselect_op oneselect", |
| 109333 | /* 115 */ "multiselect_op ::= UNION", |
| 109334 | /* 116 */ "multiselect_op ::= UNION ALL", |
| 109335 | /* 117 */ "multiselect_op ::= EXCEPT|INTERSECT", |
| 109336 | /* 118 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", |
| 109337 | /* 119 */ "distinct ::= DISTINCT", |
| 109338 | /* 120 */ "distinct ::= ALL", |
| 109339 | /* 121 */ "distinct ::=", |
| 109340 | /* 122 */ "sclp ::= selcollist COMMA", |
| 109341 | /* 123 */ "sclp ::=", |
| 109342 | /* 124 */ "selcollist ::= sclp expr as", |
| 109343 | /* 125 */ "selcollist ::= sclp STAR", |
| 109344 | /* 126 */ "selcollist ::= sclp nm DOT STAR", |
| 109345 | /* 127 */ "as ::= AS nm", |
| 109346 | /* 128 */ "as ::= ids", |
| 109347 | /* 129 */ "as ::=", |
| 109348 | /* 130 */ "from ::=", |
| 109349 | /* 131 */ "from ::= FROM seltablist", |
| 109350 | /* 132 */ "stl_prefix ::= seltablist joinop", |
| 109351 | /* 133 */ "stl_prefix ::=", |
| 109352 | /* 134 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", |
| 109353 | /* 135 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", |
| 109354 | /* 136 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", |
| 109355 | /* 137 */ "dbnm ::=", |
| 109356 | /* 138 */ "dbnm ::= DOT nm", |
| 109357 | /* 139 */ "fullname ::= nm dbnm", |
| 109358 | /* 140 */ "joinop ::= COMMA|JOIN", |
| 109359 | /* 141 */ "joinop ::= JOIN_KW JOIN", |
| 109360 | /* 142 */ "joinop ::= JOIN_KW nm JOIN", |
| 109361 | /* 143 */ "joinop ::= JOIN_KW nm nm JOIN", |
| 109362 | /* 144 */ "on_opt ::= ON expr", |
| 109363 | /* 145 */ "on_opt ::=", |
| 109364 | /* 146 */ "indexed_opt ::=", |
| 109365 | /* 147 */ "indexed_opt ::= INDEXED BY nm", |
| 109366 | /* 148 */ "indexed_opt ::= NOT INDEXED", |
| 109367 | /* 149 */ "using_opt ::= USING LP inscollist RP", |
| 109368 | /* 150 */ "using_opt ::=", |
| 109369 | /* 151 */ "orderby_opt ::=", |
| 109370 | /* 152 */ "orderby_opt ::= ORDER BY sortlist", |
| 109371 | /* 153 */ "sortlist ::= sortlist COMMA expr sortorder", |
| 109372 | /* 154 */ "sortlist ::= expr sortorder", |
| 109373 | /* 155 */ "sortorder ::= ASC", |
| 109374 | /* 156 */ "sortorder ::= DESC", |
| 109375 | /* 157 */ "sortorder ::=", |
| 109376 | /* 158 */ "groupby_opt ::=", |
| 109377 | /* 159 */ "groupby_opt ::= GROUP BY nexprlist", |
| 109378 | /* 160 */ "having_opt ::=", |
| 109379 | /* 161 */ "having_opt ::= HAVING expr", |
| 109380 | /* 162 */ "limit_opt ::=", |
| 109381 | /* 163 */ "limit_opt ::= LIMIT expr", |
| 109382 | /* 164 */ "limit_opt ::= LIMIT expr OFFSET expr", |
| 109383 | /* 165 */ "limit_opt ::= LIMIT expr COMMA expr", |
| 109384 | /* 166 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", |
| 109385 | /* 167 */ "where_opt ::=", |
| 109386 | /* 168 */ "where_opt ::= WHERE expr", |
| 109387 | /* 169 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", |
| 109388 | /* 170 */ "setlist ::= setlist COMMA nm EQ expr", |
| 109389 | /* 171 */ "setlist ::= nm EQ expr", |
| 109390 | /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist", |
| 109391 | /* 173 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", |
| 109392 | /* 174 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", |
| 109393 | /* 175 */ "insert_cmd ::= INSERT orconf", |
| 109394 | /* 176 */ "insert_cmd ::= REPLACE", |
| 109395 | /* 177 */ "valuelist ::= VALUES LP nexprlist RP", |
| 109396 | /* 178 */ "valuelist ::= valuelist COMMA LP exprlist RP", |
| 109397 | /* 179 */ "inscollist_opt ::=", |
| 109398 | /* 180 */ "inscollist_opt ::= LP inscollist RP", |
| 109399 | /* 181 */ "inscollist ::= inscollist COMMA nm", |
| 109400 | /* 182 */ "inscollist ::= nm", |
| 109401 | /* 183 */ "expr ::= term", |
| 109402 | /* 184 */ "expr ::= LP expr RP", |
| 109403 | /* 185 */ "term ::= NULL", |
| 109404 | /* 186 */ "expr ::= id", |
| 109405 | /* 187 */ "expr ::= JOIN_KW", |
| 109406 | /* 188 */ "expr ::= nm DOT nm", |
| 109407 | /* 189 */ "expr ::= nm DOT nm DOT nm", |
| 109408 | /* 190 */ "term ::= INTEGER|FLOAT|BLOB", |
| 109409 | /* 191 */ "term ::= STRING", |
| 109410 | /* 192 */ "expr ::= REGISTER", |
| 109411 | /* 193 */ "expr ::= VARIABLE", |
| 109412 | /* 194 */ "expr ::= expr COLLATE ids", |
| 109413 | /* 195 */ "expr ::= CAST LP expr AS typetoken RP", |
| 109414 | /* 196 */ "expr ::= ID LP distinct exprlist RP", |
| 109415 | /* 197 */ "expr ::= ID LP STAR RP", |
| 109416 | /* 198 */ "term ::= CTIME_KW", |
| 109417 | /* 199 */ "expr ::= expr AND expr", |
| 109418 | /* 200 */ "expr ::= expr OR expr", |
| 109419 | /* 201 */ "expr ::= expr LT|GT|GE|LE expr", |
| 109420 | /* 202 */ "expr ::= expr EQ|NE expr", |
| 109421 | /* 203 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", |
| 109422 | /* 204 */ "expr ::= expr PLUS|MINUS expr", |
| 109423 | /* 205 */ "expr ::= expr STAR|SLASH|REM expr", |
| 109424 | /* 206 */ "expr ::= expr CONCAT expr", |
| 109425 | /* 207 */ "likeop ::= LIKE_KW", |
| 109426 | /* 208 */ "likeop ::= NOT LIKE_KW", |
| 109427 | /* 209 */ "likeop ::= MATCH", |
| 109428 | /* 210 */ "likeop ::= NOT MATCH", |
| 109429 | /* 211 */ "expr ::= expr likeop expr", |
| 109430 | /* 212 */ "expr ::= expr likeop expr ESCAPE expr", |
| 109431 | /* 213 */ "expr ::= expr ISNULL|NOTNULL", |
| 109432 | /* 214 */ "expr ::= expr NOT NULL", |
| 109433 | /* 215 */ "expr ::= expr IS expr", |
| 109434 | /* 216 */ "expr ::= expr IS NOT expr", |
| 109435 | /* 217 */ "expr ::= NOT expr", |
| 109436 | /* 218 */ "expr ::= BITNOT expr", |
| 109437 | /* 219 */ "expr ::= MINUS expr", |
| 109438 | /* 220 */ "expr ::= PLUS expr", |
| 109439 | /* 221 */ "between_op ::= BETWEEN", |
| 109440 | /* 222 */ "between_op ::= NOT BETWEEN", |
| 109441 | /* 223 */ "expr ::= expr between_op expr AND expr", |
| 109442 | /* 224 */ "in_op ::= IN", |
| 109443 | /* 225 */ "in_op ::= NOT IN", |
| 109444 | /* 226 */ "expr ::= expr in_op LP exprlist RP", |
| 109445 | /* 227 */ "expr ::= LP select RP", |
| 109446 | /* 228 */ "expr ::= expr in_op LP select RP", |
| 109447 | /* 229 */ "expr ::= expr in_op nm dbnm", |
| 109448 | /* 230 */ "expr ::= EXISTS LP select RP", |
| 109449 | /* 231 */ "expr ::= CASE case_operand case_exprlist case_else END", |
| 109450 | /* 232 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", |
| 109451 | /* 233 */ "case_exprlist ::= WHEN expr THEN expr", |
| 109452 | /* 234 */ "case_else ::= ELSE expr", |
| 109453 | /* 235 */ "case_else ::=", |
| 109454 | /* 236 */ "case_operand ::= expr", |
| 109455 | /* 237 */ "case_operand ::=", |
| 109456 | /* 238 */ "exprlist ::= nexprlist", |
| 109457 | /* 239 */ "exprlist ::=", |
| 109458 | /* 240 */ "nexprlist ::= nexprlist COMMA expr", |
| 109459 | /* 241 */ "nexprlist ::= expr", |
| 109460 | /* 242 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP", |
| 109461 | /* 243 */ "uniqueflag ::= UNIQUE", |
| 109462 | /* 244 */ "uniqueflag ::=", |
| 109463 | /* 245 */ "idxlist_opt ::=", |
| 109464 | /* 246 */ "idxlist_opt ::= LP idxlist RP", |
| 109465 | /* 247 */ "idxlist ::= idxlist COMMA nm collate sortorder", |
| 109466 | /* 248 */ "idxlist ::= nm collate sortorder", |
| 109467 | /* 249 */ "collate ::=", |
| 109468 | /* 250 */ "collate ::= COLLATE ids", |
| 109469 | /* 251 */ "cmd ::= DROP INDEX ifexists fullname", |
| 109470 | /* 252 */ "cmd ::= VACUUM", |
| 109471 | /* 253 */ "cmd ::= VACUUM nm", |
| 109472 | /* 254 */ "cmd ::= PRAGMA nm dbnm", |
| 109473 | /* 255 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", |
| 109474 | /* 256 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", |
| 109475 | /* 257 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", |
| 109476 | /* 258 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", |
| 109477 | /* 259 */ "nmnum ::= plus_num", |
| 109478 | /* 260 */ "nmnum ::= nm", |
| 109479 | /* 261 */ "nmnum ::= ON", |
| 109480 | /* 262 */ "nmnum ::= DELETE", |
| 109481 | /* 263 */ "nmnum ::= DEFAULT", |
| 109482 | /* 264 */ "plus_num ::= PLUS number", |
| 109483 | /* 265 */ "plus_num ::= number", |
| 109484 | /* 266 */ "minus_num ::= MINUS number", |
| 109485 | /* 267 */ "number ::= INTEGER|FLOAT", |
| 109486 | /* 268 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", |
| 109487 | /* 269 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", |
| 109488 | /* 270 */ "trigger_time ::= BEFORE", |
| 109489 | /* 271 */ "trigger_time ::= AFTER", |
| 109490 | /* 272 */ "trigger_time ::= INSTEAD OF", |
| 109491 | /* 273 */ "trigger_time ::=", |
| 109492 | /* 274 */ "trigger_event ::= DELETE|INSERT", |
| 109493 | /* 275 */ "trigger_event ::= UPDATE", |
| 109494 | /* 276 */ "trigger_event ::= UPDATE OF inscollist", |
| 109495 | /* 277 */ "foreach_clause ::=", |
| 109496 | /* 278 */ "foreach_clause ::= FOR EACH ROW", |
| 109497 | /* 279 */ "when_clause ::=", |
| 109498 | /* 280 */ "when_clause ::= WHEN expr", |
| 109499 | /* 281 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", |
| 109500 | /* 282 */ "trigger_cmd_list ::= trigger_cmd SEMI", |
| 109501 | /* 283 */ "trnm ::= nm", |
| 109502 | /* 284 */ "trnm ::= nm DOT nm", |
| 109503 | /* 285 */ "tridxby ::=", |
| 109504 | /* 286 */ "tridxby ::= INDEXED BY nm", |
| 109505 | /* 287 */ "tridxby ::= NOT INDEXED", |
| 109506 | /* 288 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", |
| 109507 | /* 289 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist", |
| 109508 | /* 290 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", |
| 109509 | /* 291 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", |
| 109510 | /* 292 */ "trigger_cmd ::= select", |
| 109511 | /* 293 */ "expr ::= RAISE LP IGNORE RP", |
| 109512 | /* 294 */ "expr ::= RAISE LP raisetype COMMA nm RP", |
| 109513 | /* 295 */ "raisetype ::= ROLLBACK", |
| 109514 | /* 296 */ "raisetype ::= ABORT", |
| 109515 | /* 297 */ "raisetype ::= FAIL", |
| 109516 | /* 298 */ "cmd ::= DROP TRIGGER ifexists fullname", |
| 109517 | /* 299 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", |
| 109518 | /* 300 */ "cmd ::= DETACH database_kw_opt expr", |
| 109519 | /* 301 */ "key_opt ::=", |
| 109520 | /* 302 */ "key_opt ::= KEY expr", |
| 109521 | /* 303 */ "database_kw_opt ::= DATABASE", |
| 109522 | /* 304 */ "database_kw_opt ::=", |
| 109523 | /* 305 */ "cmd ::= REINDEX", |
| 109524 | /* 306 */ "cmd ::= REINDEX nm dbnm", |
| 109525 | /* 307 */ "cmd ::= ANALYZE", |
| 109526 | /* 308 */ "cmd ::= ANALYZE nm dbnm", |
| 109527 | /* 309 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", |
| 109528 | /* 310 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", |
| 109529 | /* 311 */ "add_column_fullname ::= fullname", |
| 109530 | /* 312 */ "kwcolumn_opt ::=", |
| 109531 | /* 313 */ "kwcolumn_opt ::= COLUMNKW", |
| 109532 | /* 314 */ "cmd ::= create_vtab", |
| 109533 | /* 315 */ "cmd ::= create_vtab LP vtabarglist RP", |
| 109534 | /* 316 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", |
| 109535 | /* 317 */ "vtabarglist ::= vtabarg", |
| 109536 | /* 318 */ "vtabarglist ::= vtabarglist COMMA vtabarg", |
| 109537 | /* 319 */ "vtabarg ::=", |
| 109538 | /* 320 */ "vtabarg ::= vtabarg vtabargtoken", |
| 109539 | /* 321 */ "vtabargtoken ::= ANY", |
| 109540 | /* 322 */ "vtabargtoken ::= lp anylist RP", |
| 109541 | /* 323 */ "lp ::= LP", |
| 109542 | /* 324 */ "anylist ::=", |
| 109543 | /* 325 */ "anylist ::= anylist LP anylist RP", |
| 109544 | /* 326 */ "anylist ::= anylist ANY", |
| 109545 | }; |
| 109546 | #endif /* NDEBUG */ |
| 109547 | |
| 109548 | |
| 109549 | #if YYSTACKDEPTH<=0 |
| @@ -109555,17 +109624,17 @@ | |
| 109624 | case 194: /* oneselect */ |
| 109625 | { |
| 109626 | sqlite3SelectDelete(pParse->db, (yypminor->yy159)); |
| 109627 | } |
| 109628 | break; |
| 109629 | case 173: /* term */ |
| 109630 | case 174: /* expr */ |
| 109631 | { |
| 109632 | sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); |
| 109633 | } |
| 109634 | break; |
| 109635 | case 178: /* idxlist_opt */ |
| 109636 | case 187: /* idxlist */ |
| 109637 | case 197: /* selcollist */ |
| 109638 | case 200: /* groupby_opt */ |
| 109639 | case 202: /* orderby_opt */ |
| 109640 | case 204: /* sclp */ |
| @@ -109916,57 +109985,59 @@ | |
| 109985 | { 167, 6 }, |
| 109986 | { 168, 1 }, |
| 109987 | { 168, 2 }, |
| 109988 | { 169, 1 }, |
| 109989 | { 169, 1 }, |
| 109990 | { 164, 2 }, |
| 109991 | { 164, 0 }, |
| 109992 | { 172, 2 }, |
| 109993 | { 172, 2 }, |
| 109994 | { 172, 4 }, |
| 109995 | { 172, 3 }, |
| 109996 | { 172, 3 }, |
| 109997 | { 172, 2 }, |
| 109998 | { 172, 2 }, |
| 109999 | { 172, 3 }, |
| 110000 | { 172, 5 }, |
| 110001 | { 172, 2 }, |
| 110002 | { 172, 4 }, |
| 110003 | { 172, 4 }, |
| 110004 | { 172, 1 }, |
| 110005 | { 172, 2 }, |
| 110006 | { 177, 0 }, |
| 110007 | { 177, 1 }, |
| 110008 | { 179, 0 }, |
| 110009 | { 179, 2 }, |
| 110010 | { 181, 2 }, |
| 110011 | { 181, 3 }, |
| 110012 | { 181, 3 }, |
| 110013 | { 181, 3 }, |
| 110014 | { 182, 2 }, |
| 110015 | { 182, 2 }, |
| 110016 | { 182, 1 }, |
| 110017 | { 182, 1 }, |
| 110018 | { 182, 2 }, |
| 110019 | { 180, 3 }, |
| 110020 | { 180, 2 }, |
| 110021 | { 183, 0 }, |
| 110022 | { 183, 2 }, |
| 110023 | { 183, 2 }, |
| 110024 | { 159, 0 }, |
| 110025 | { 159, 3 }, |
| 110026 | { 184, 4 }, |
| 110027 | { 184, 3 }, |
| 110028 | { 184, 2 }, |
| 110029 | { 185, 0 }, |
| 110030 | { 185, 2 }, |
| 110031 | { 186, 7 }, |
| 110032 | { 186, 5 }, |
| 110033 | { 186, 5 }, |
| 110034 | { 186, 10 }, |
| 110035 | { 188, 0 }, |
| 110036 | { 188, 1 }, |
| 110037 | { 175, 0 }, |
| 110038 | { 175, 3 }, |
| 110039 | { 189, 0 }, |
| 110040 | { 189, 2 }, |
| 110041 | { 190, 1 }, |
| 110042 | { 190, 1 }, |
| 110043 | { 190, 1 }, |
| @@ -110016,13 +110087,13 @@ | |
| 110087 | { 211, 0 }, |
| 110088 | { 202, 0 }, |
| 110089 | { 202, 3 }, |
| 110090 | { 214, 4 }, |
| 110091 | { 214, 2 }, |
| 110092 | { 176, 1 }, |
| 110093 | { 176, 1 }, |
| 110094 | { 176, 0 }, |
| 110095 | { 200, 0 }, |
| 110096 | { 200, 3 }, |
| 110097 | { 201, 0 }, |
| 110098 | { 201, 2 }, |
| 110099 | { 203, 0 }, |
| @@ -110044,59 +110115,59 @@ | |
| 110115 | { 219, 5 }, |
| 110116 | { 218, 0 }, |
| 110117 | { 218, 3 }, |
| 110118 | { 213, 3 }, |
| 110119 | { 213, 1 }, |
| 110120 | { 174, 1 }, |
| 110121 | { 174, 3 }, |
| 110122 | { 173, 1 }, |
| 110123 | { 174, 1 }, |
| 110124 | { 174, 1 }, |
| 110125 | { 174, 3 }, |
| 110126 | { 174, 5 }, |
| 110127 | { 173, 1 }, |
| 110128 | { 173, 1 }, |
| 110129 | { 174, 1 }, |
| 110130 | { 174, 1 }, |
| 110131 | { 174, 3 }, |
| 110132 | { 174, 6 }, |
| 110133 | { 174, 5 }, |
| 110134 | { 174, 4 }, |
| 110135 | { 173, 1 }, |
| 110136 | { 174, 3 }, |
| 110137 | { 174, 3 }, |
| 110138 | { 174, 3 }, |
| 110139 | { 174, 3 }, |
| 110140 | { 174, 3 }, |
| 110141 | { 174, 3 }, |
| 110142 | { 174, 3 }, |
| 110143 | { 174, 3 }, |
| 110144 | { 221, 1 }, |
| 110145 | { 221, 2 }, |
| 110146 | { 221, 1 }, |
| 110147 | { 221, 2 }, |
| 110148 | { 174, 3 }, |
| 110149 | { 174, 5 }, |
| 110150 | { 174, 2 }, |
| 110151 | { 174, 3 }, |
| 110152 | { 174, 3 }, |
| 110153 | { 174, 4 }, |
| 110154 | { 174, 2 }, |
| 110155 | { 174, 2 }, |
| 110156 | { 174, 2 }, |
| 110157 | { 174, 2 }, |
| 110158 | { 222, 1 }, |
| 110159 | { 222, 2 }, |
| 110160 | { 174, 5 }, |
| 110161 | { 223, 1 }, |
| 110162 | { 223, 2 }, |
| 110163 | { 174, 5 }, |
| 110164 | { 174, 3 }, |
| 110165 | { 174, 5 }, |
| 110166 | { 174, 4 }, |
| 110167 | { 174, 4 }, |
| 110168 | { 174, 5 }, |
| 110169 | { 225, 5 }, |
| 110170 | { 225, 4 }, |
| 110171 | { 226, 2 }, |
| 110172 | { 226, 0 }, |
| 110173 | { 224, 1 }, |
| @@ -110106,12 +110177,12 @@ | |
| 110177 | { 215, 3 }, |
| 110178 | { 215, 1 }, |
| 110179 | { 147, 11 }, |
| 110180 | { 227, 1 }, |
| 110181 | { 227, 0 }, |
| 110182 | { 178, 0 }, |
| 110183 | { 178, 3 }, |
| 110184 | { 187, 5 }, |
| 110185 | { 187, 3 }, |
| 110186 | { 228, 0 }, |
| 110187 | { 228, 2 }, |
| 110188 | { 147, 4 }, |
| @@ -110154,12 +110225,12 @@ | |
| 110225 | { 237, 7 }, |
| 110226 | { 237, 5 }, |
| 110227 | { 237, 5 }, |
| 110228 | { 237, 5 }, |
| 110229 | { 237, 1 }, |
| 110230 | { 174, 4 }, |
| 110231 | { 174, 6 }, |
| 110232 | { 191, 1 }, |
| 110233 | { 191, 1 }, |
| 110234 | { 191, 1 }, |
| 110235 | { 147, 4 }, |
| 110236 | { 147, 6 }, |
| @@ -110263,12 +110334,12 @@ | |
| 110334 | {yygotominor.yy392 = TK_DEFERRED;} |
| 110335 | break; |
| 110336 | case 14: /* transtype ::= DEFERRED */ |
| 110337 | case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); |
| 110338 | case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); |
| 110339 | case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); |
| 110340 | case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==117); |
| 110341 | {yygotominor.yy392 = yymsp[0].major;} |
| 110342 | break; |
| 110343 | case 17: /* cmd ::= COMMIT trans_opt */ |
| 110344 | case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); |
| 110345 | {sqlite3CommitTransaction(pParse);} |
| @@ -110302,30 +110373,30 @@ | |
| 110373 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 110374 | } |
| 110375 | break; |
| 110376 | case 28: /* ifnotexists ::= */ |
| 110377 | case 31: /* temp ::= */ yytestcase(yyruleno==31); |
| 110378 | case 69: /* autoinc ::= */ yytestcase(yyruleno==69); |
| 110379 | case 82: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==82); |
| 110380 | case 84: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==84); |
| 110381 | case 86: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==86); |
| 110382 | case 98: /* defer_subclause_opt ::= */ yytestcase(yyruleno==98); |
| 110383 | case 109: /* ifexists ::= */ yytestcase(yyruleno==109); |
| 110384 | case 120: /* distinct ::= ALL */ yytestcase(yyruleno==120); |
| 110385 | case 121: /* distinct ::= */ yytestcase(yyruleno==121); |
| 110386 | case 221: /* between_op ::= BETWEEN */ yytestcase(yyruleno==221); |
| 110387 | case 224: /* in_op ::= IN */ yytestcase(yyruleno==224); |
| 110388 | {yygotominor.yy392 = 0;} |
| 110389 | break; |
| 110390 | case 29: /* ifnotexists ::= IF NOT EXISTS */ |
| 110391 | case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); |
| 110392 | case 70: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==70); |
| 110393 | case 85: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==85); |
| 110394 | case 108: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==108); |
| 110395 | case 119: /* distinct ::= DISTINCT */ yytestcase(yyruleno==119); |
| 110396 | case 222: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==222); |
| 110397 | case 225: /* in_op ::= NOT IN */ yytestcase(yyruleno==225); |
| 110398 | {yygotominor.yy392 = 1;} |
| 110399 | break; |
| 110400 | case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ |
| 110401 | { |
| 110402 | sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); |
| @@ -110345,10 +110416,11 @@ | |
| 110416 | break; |
| 110417 | case 37: /* columnid ::= nm */ |
| 110418 | { |
| 110419 | sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); |
| 110420 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 110421 | pParse->constraintName.n = 0; |
| 110422 | } |
| 110423 | break; |
| 110424 | case 38: /* id ::= ID */ |
| 110425 | case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39); |
| 110426 | case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40); |
| @@ -110355,25 +110427,25 @@ | |
| 110427 | case 41: /* nm ::= id */ yytestcase(yyruleno==41); |
| 110428 | case 42: /* nm ::= STRING */ yytestcase(yyruleno==42); |
| 110429 | case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43); |
| 110430 | case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); |
| 110431 | case 49: /* typename ::= ids */ yytestcase(yyruleno==49); |
| 110432 | case 127: /* as ::= AS nm */ yytestcase(yyruleno==127); |
| 110433 | case 128: /* as ::= ids */ yytestcase(yyruleno==128); |
| 110434 | case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138); |
| 110435 | case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147); |
| 110436 | case 250: /* collate ::= COLLATE ids */ yytestcase(yyruleno==250); |
| 110437 | case 259: /* nmnum ::= plus_num */ yytestcase(yyruleno==259); |
| 110438 | case 260: /* nmnum ::= nm */ yytestcase(yyruleno==260); |
| 110439 | case 261: /* nmnum ::= ON */ yytestcase(yyruleno==261); |
| 110440 | case 262: /* nmnum ::= DELETE */ yytestcase(yyruleno==262); |
| 110441 | case 263: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==263); |
| 110442 | case 264: /* plus_num ::= PLUS number */ yytestcase(yyruleno==264); |
| 110443 | case 265: /* plus_num ::= number */ yytestcase(yyruleno==265); |
| 110444 | case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266); |
| 110445 | case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267); |
| 110446 | case 283: /* trnm ::= nm */ yytestcase(yyruleno==283); |
| 110447 | {yygotominor.yy0 = yymsp[0].minor.yy0;} |
| 110448 | break; |
| 110449 | case 45: /* type ::= typetoken */ |
| 110450 | {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} |
| 110451 | break; |
| @@ -110390,162 +110462,163 @@ | |
| 110462 | } |
| 110463 | break; |
| 110464 | case 50: /* typename ::= typename ids */ |
| 110465 | {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);} |
| 110466 | break; |
| 110467 | case 55: /* ccons ::= CONSTRAINT nm */ |
| 110468 | case 93: /* cname ::= CONSTRAINT nm */ yytestcase(yyruleno==93); |
| 110469 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 110470 | break; |
| 110471 | case 56: /* ccons ::= DEFAULT term */ |
| 110472 | case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58); |
| 110473 | {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} |
| 110474 | break; |
| 110475 | case 57: /* ccons ::= DEFAULT LP expr RP */ |
| 110476 | {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);} |
| 110477 | break; |
| 110478 | case 59: /* ccons ::= DEFAULT MINUS term */ |
| 110479 | { |
| 110480 | ExprSpan v; |
| 110481 | v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0); |
| 110482 | v.zStart = yymsp[-1].minor.yy0.z; |
| 110483 | v.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110484 | sqlite3AddDefaultValue(pParse,&v); |
| 110485 | } |
| 110486 | break; |
| 110487 | case 60: /* ccons ::= DEFAULT id */ |
| 110488 | { |
| 110489 | ExprSpan v; |
| 110490 | spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); |
| 110491 | sqlite3AddDefaultValue(pParse,&v); |
| 110492 | } |
| 110493 | break; |
| 110494 | case 62: /* ccons ::= NOT NULL onconf */ |
| 110495 | {sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);} |
| 110496 | break; |
| 110497 | case 63: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 110498 | {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[-2].minor.yy392);} |
| 110499 | break; |
| 110500 | case 64: /* ccons ::= UNIQUE onconf */ |
| 110501 | {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);} |
| 110502 | break; |
| 110503 | case 65: /* ccons ::= CHECK LP expr RP */ |
| 110504 | {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);} |
| 110505 | break; |
| 110506 | case 66: /* ccons ::= REFERENCES nm idxlist_opt refargs */ |
| 110507 | {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy392);} |
| 110508 | break; |
| 110509 | case 67: /* ccons ::= defer_subclause */ |
| 110510 | {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);} |
| 110511 | break; |
| 110512 | case 68: /* ccons ::= COLLATE ids */ |
| 110513 | {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 110514 | break; |
| 110515 | case 71: /* refargs ::= */ |
| 110516 | { yygotominor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 110517 | break; |
| 110518 | case 72: /* refargs ::= refargs refarg */ |
| 110519 | { yygotominor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; } |
| 110520 | break; |
| 110521 | case 73: /* refarg ::= MATCH nm */ |
| 110522 | case 74: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==74); |
| 110523 | { yygotominor.yy207.value = 0; yygotominor.yy207.mask = 0x000000; } |
| 110524 | break; |
| 110525 | case 75: /* refarg ::= ON DELETE refact */ |
| 110526 | { yygotominor.yy207.value = yymsp[0].minor.yy392; yygotominor.yy207.mask = 0x0000ff; } |
| 110527 | break; |
| 110528 | case 76: /* refarg ::= ON UPDATE refact */ |
| 110529 | { yygotominor.yy207.value = yymsp[0].minor.yy392<<8; yygotominor.yy207.mask = 0x00ff00; } |
| 110530 | break; |
| 110531 | case 77: /* refact ::= SET NULL */ |
| 110532 | { yygotominor.yy392 = OE_SetNull; /* EV: R-33326-45252 */} |
| 110533 | break; |
| 110534 | case 78: /* refact ::= SET DEFAULT */ |
| 110535 | { yygotominor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 110536 | break; |
| 110537 | case 79: /* refact ::= CASCADE */ |
| 110538 | { yygotominor.yy392 = OE_Cascade; /* EV: R-33326-45252 */} |
| 110539 | break; |
| 110540 | case 80: /* refact ::= RESTRICT */ |
| 110541 | { yygotominor.yy392 = OE_Restrict; /* EV: R-33326-45252 */} |
| 110542 | break; |
| 110543 | case 81: /* refact ::= NO ACTION */ |
| 110544 | { yygotominor.yy392 = OE_None; /* EV: R-33326-45252 */} |
| 110545 | break; |
| 110546 | case 83: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 110547 | case 99: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==99); |
| 110548 | case 101: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==101); |
| 110549 | case 104: /* resolvetype ::= raisetype */ yytestcase(yyruleno==104); |
| 110550 | {yygotominor.yy392 = yymsp[0].minor.yy392;} |
| 110551 | break; |
| 110552 | case 87: /* conslist_opt ::= */ |
| 110553 | {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} |
| 110554 | break; |
| 110555 | case 88: /* conslist_opt ::= COMMA conslist cname */ |
| 110556 | {yygotominor.yy0 = yymsp[-2].minor.yy0;} |
| 110557 | break; |
| 110558 | case 92: /* cname ::= */ |
| 110559 | {pParse->constraintName.n = 0;} |
| 110560 | break; |
| 110561 | case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ |
| 110562 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} |
| 110563 | break; |
| 110564 | case 95: /* tcons ::= UNIQUE LP idxlist RP onconf */ |
| 110565 | {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0,0,0);} |
| 110566 | break; |
| 110567 | case 96: /* tcons ::= CHECK LP expr RP onconf */ |
| 110568 | {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);} |
| 110569 | break; |
| 110570 | case 97: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ |
| 110571 | { |
| 110572 | sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy392); |
| 110573 | sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392); |
| 110574 | } |
| 110575 | break; |
| 110576 | case 100: /* onconf ::= */ |
| 110577 | {yygotominor.yy392 = OE_Default;} |
| 110578 | break; |
| 110579 | case 102: /* orconf ::= */ |
| 110580 | {yygotominor.yy258 = OE_Default;} |
| 110581 | break; |
| 110582 | case 103: /* orconf ::= OR resolvetype */ |
| 110583 | {yygotominor.yy258 = (u8)yymsp[0].minor.yy392;} |
| 110584 | break; |
| 110585 | case 105: /* resolvetype ::= IGNORE */ |
| 110586 | {yygotominor.yy392 = OE_Ignore;} |
| 110587 | break; |
| 110588 | case 106: /* resolvetype ::= REPLACE */ |
| 110589 | {yygotominor.yy392 = OE_Replace;} |
| 110590 | break; |
| 110591 | case 107: /* cmd ::= DROP TABLE ifexists fullname */ |
| 110592 | { |
| 110593 | sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392); |
| 110594 | } |
| 110595 | break; |
| 110596 | case 110: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ |
| 110597 | { |
| 110598 | sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy159, yymsp[-6].minor.yy392, yymsp[-4].minor.yy392); |
| 110599 | } |
| 110600 | break; |
| 110601 | case 111: /* cmd ::= DROP VIEW ifexists fullname */ |
| 110602 | { |
| 110603 | sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392); |
| 110604 | } |
| 110605 | break; |
| 110606 | case 112: /* cmd ::= select */ |
| 110607 | { |
| 110608 | SelectDest dest = {SRT_Output, 0, 0, 0, 0}; |
| 110609 | sqlite3Select(pParse, yymsp[0].minor.yy159, &dest); |
| 110610 | sqlite3ExplainBegin(pParse->pVdbe); |
| 110611 | sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy159); |
| 110612 | sqlite3ExplainFinish(pParse->pVdbe); |
| 110613 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); |
| 110614 | } |
| 110615 | break; |
| 110616 | case 113: /* select ::= oneselect */ |
| 110617 | {yygotominor.yy159 = yymsp[0].minor.yy159;} |
| 110618 | break; |
| 110619 | case 114: /* select ::= select multiselect_op oneselect */ |
| 110620 | { |
| 110621 | if( yymsp[0].minor.yy159 ){ |
| 110622 | yymsp[0].minor.yy159->op = (u8)yymsp[-1].minor.yy392; |
| 110623 | yymsp[0].minor.yy159->pPrior = yymsp[-2].minor.yy159; |
| 110624 | }else{ |
| @@ -110552,83 +110625,83 @@ | |
| 110625 | sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy159); |
| 110626 | } |
| 110627 | yygotominor.yy159 = yymsp[0].minor.yy159; |
| 110628 | } |
| 110629 | break; |
| 110630 | case 116: /* multiselect_op ::= UNION ALL */ |
| 110631 | {yygotominor.yy392 = TK_ALL;} |
| 110632 | break; |
| 110633 | case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 110634 | { |
| 110635 | yygotominor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy347,yymsp[-4].minor.yy122,yymsp[-3].minor.yy442,yymsp[-2].minor.yy122,yymsp[-1].minor.yy442,yymsp[-7].minor.yy392,yymsp[0].minor.yy64.pLimit,yymsp[0].minor.yy64.pOffset); |
| 110636 | } |
| 110637 | break; |
| 110638 | case 122: /* sclp ::= selcollist COMMA */ |
| 110639 | case 246: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==246); |
| 110640 | {yygotominor.yy442 = yymsp[-1].minor.yy442;} |
| 110641 | break; |
| 110642 | case 123: /* sclp ::= */ |
| 110643 | case 151: /* orderby_opt ::= */ yytestcase(yyruleno==151); |
| 110644 | case 158: /* groupby_opt ::= */ yytestcase(yyruleno==158); |
| 110645 | case 239: /* exprlist ::= */ yytestcase(yyruleno==239); |
| 110646 | case 245: /* idxlist_opt ::= */ yytestcase(yyruleno==245); |
| 110647 | {yygotominor.yy442 = 0;} |
| 110648 | break; |
| 110649 | case 124: /* selcollist ::= sclp expr as */ |
| 110650 | { |
| 110651 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yymsp[-1].minor.yy342.pExpr); |
| 110652 | if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[0].minor.yy0, 1); |
| 110653 | sqlite3ExprListSetSpan(pParse,yygotominor.yy442,&yymsp[-1].minor.yy342); |
| 110654 | } |
| 110655 | break; |
| 110656 | case 125: /* selcollist ::= sclp STAR */ |
| 110657 | { |
| 110658 | Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); |
| 110659 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p); |
| 110660 | } |
| 110661 | break; |
| 110662 | case 126: /* selcollist ::= sclp nm DOT STAR */ |
| 110663 | { |
| 110664 | Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); |
| 110665 | Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110666 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); |
| 110667 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot); |
| 110668 | } |
| 110669 | break; |
| 110670 | case 129: /* as ::= */ |
| 110671 | {yygotominor.yy0.n = 0;} |
| 110672 | break; |
| 110673 | case 130: /* from ::= */ |
| 110674 | {yygotominor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy347));} |
| 110675 | break; |
| 110676 | case 131: /* from ::= FROM seltablist */ |
| 110677 | { |
| 110678 | yygotominor.yy347 = yymsp[0].minor.yy347; |
| 110679 | sqlite3SrcListShiftJoinType(yygotominor.yy347); |
| 110680 | } |
| 110681 | break; |
| 110682 | case 132: /* stl_prefix ::= seltablist joinop */ |
| 110683 | { |
| 110684 | yygotominor.yy347 = yymsp[-1].minor.yy347; |
| 110685 | if( ALWAYS(yygotominor.yy347 && yygotominor.yy347->nSrc>0) ) yygotominor.yy347->a[yygotominor.yy347->nSrc-1].jointype = (u8)yymsp[0].minor.yy392; |
| 110686 | } |
| 110687 | break; |
| 110688 | case 133: /* stl_prefix ::= */ |
| 110689 | {yygotominor.yy347 = 0;} |
| 110690 | break; |
| 110691 | case 134: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 110692 | { |
| 110693 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110694 | sqlite3SrcListIndexedBy(pParse, yygotominor.yy347, &yymsp[-2].minor.yy0); |
| 110695 | } |
| 110696 | break; |
| 110697 | case 135: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 110698 | { |
| 110699 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy159,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110700 | } |
| 110701 | break; |
| 110702 | case 136: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 110703 | { |
| 110704 | if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy122==0 && yymsp[0].minor.yy180==0 ){ |
| 110705 | yygotominor.yy347 = yymsp[-4].minor.yy347; |
| 110706 | }else{ |
| 110707 | Select *pSubquery; |
| @@ -110636,137 +110709,137 @@ | |
| 110709 | pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,0,0,0); |
| 110710 | yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); |
| 110711 | } |
| 110712 | } |
| 110713 | break; |
| 110714 | case 137: /* dbnm ::= */ |
| 110715 | case 146: /* indexed_opt ::= */ yytestcase(yyruleno==146); |
| 110716 | {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} |
| 110717 | break; |
| 110718 | case 139: /* fullname ::= nm dbnm */ |
| 110719 | {yygotominor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} |
| 110720 | break; |
| 110721 | case 140: /* joinop ::= COMMA|JOIN */ |
| 110722 | { yygotominor.yy392 = JT_INNER; } |
| 110723 | break; |
| 110724 | case 141: /* joinop ::= JOIN_KW JOIN */ |
| 110725 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } |
| 110726 | break; |
| 110727 | case 142: /* joinop ::= JOIN_KW nm JOIN */ |
| 110728 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } |
| 110729 | break; |
| 110730 | case 143: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 110731 | { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } |
| 110732 | break; |
| 110733 | case 144: /* on_opt ::= ON expr */ |
| 110734 | case 161: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==161); |
| 110735 | case 168: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==168); |
| 110736 | case 234: /* case_else ::= ELSE expr */ yytestcase(yyruleno==234); |
| 110737 | case 236: /* case_operand ::= expr */ yytestcase(yyruleno==236); |
| 110738 | {yygotominor.yy122 = yymsp[0].minor.yy342.pExpr;} |
| 110739 | break; |
| 110740 | case 145: /* on_opt ::= */ |
| 110741 | case 160: /* having_opt ::= */ yytestcase(yyruleno==160); |
| 110742 | case 167: /* where_opt ::= */ yytestcase(yyruleno==167); |
| 110743 | case 235: /* case_else ::= */ yytestcase(yyruleno==235); |
| 110744 | case 237: /* case_operand ::= */ yytestcase(yyruleno==237); |
| 110745 | {yygotominor.yy122 = 0;} |
| 110746 | break; |
| 110747 | case 148: /* indexed_opt ::= NOT INDEXED */ |
| 110748 | {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} |
| 110749 | break; |
| 110750 | case 149: /* using_opt ::= USING LP inscollist RP */ |
| 110751 | case 180: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==180); |
| 110752 | {yygotominor.yy180 = yymsp[-1].minor.yy180;} |
| 110753 | break; |
| 110754 | case 150: /* using_opt ::= */ |
| 110755 | case 179: /* inscollist_opt ::= */ yytestcase(yyruleno==179); |
| 110756 | {yygotominor.yy180 = 0;} |
| 110757 | break; |
| 110758 | case 152: /* orderby_opt ::= ORDER BY sortlist */ |
| 110759 | case 159: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==159); |
| 110760 | case 238: /* exprlist ::= nexprlist */ yytestcase(yyruleno==238); |
| 110761 | {yygotominor.yy442 = yymsp[0].minor.yy442;} |
| 110762 | break; |
| 110763 | case 153: /* sortlist ::= sortlist COMMA expr sortorder */ |
| 110764 | { |
| 110765 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy342.pExpr); |
| 110766 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 110767 | } |
| 110768 | break; |
| 110769 | case 154: /* sortlist ::= expr sortorder */ |
| 110770 | { |
| 110771 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr); |
| 110772 | if( yygotominor.yy442 && ALWAYS(yygotominor.yy442->a) ) yygotominor.yy442->a[0].sortOrder = (u8)yymsp[0].minor.yy392; |
| 110773 | } |
| 110774 | break; |
| 110775 | case 155: /* sortorder ::= ASC */ |
| 110776 | case 157: /* sortorder ::= */ yytestcase(yyruleno==157); |
| 110777 | {yygotominor.yy392 = SQLITE_SO_ASC;} |
| 110778 | break; |
| 110779 | case 156: /* sortorder ::= DESC */ |
| 110780 | {yygotominor.yy392 = SQLITE_SO_DESC;} |
| 110781 | break; |
| 110782 | case 162: /* limit_opt ::= */ |
| 110783 | {yygotominor.yy64.pLimit = 0; yygotominor.yy64.pOffset = 0;} |
| 110784 | break; |
| 110785 | case 163: /* limit_opt ::= LIMIT expr */ |
| 110786 | {yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yygotominor.yy64.pOffset = 0;} |
| 110787 | break; |
| 110788 | case 164: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 110789 | {yygotominor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pOffset = yymsp[0].minor.yy342.pExpr;} |
| 110790 | break; |
| 110791 | case 165: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 110792 | {yygotominor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr;} |
| 110793 | break; |
| 110794 | case 166: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ |
| 110795 | { |
| 110796 | sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0); |
| 110797 | sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122); |
| 110798 | } |
| 110799 | break; |
| 110800 | case 169: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */ |
| 110801 | { |
| 110802 | sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0); |
| 110803 | sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); |
| 110804 | sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].minor.yy122,yymsp[-5].minor.yy258); |
| 110805 | } |
| 110806 | break; |
| 110807 | case 170: /* setlist ::= setlist COMMA nm EQ expr */ |
| 110808 | { |
| 110809 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr); |
| 110810 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 110811 | } |
| 110812 | break; |
| 110813 | case 171: /* setlist ::= nm EQ expr */ |
| 110814 | { |
| 110815 | yygotominor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExpr); |
| 110816 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 110817 | } |
| 110818 | break; |
| 110819 | case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt valuelist */ |
| 110820 | {sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);} |
| 110821 | break; |
| 110822 | case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ |
| 110823 | {sqlite3Insert(pParse, yymsp[-2].minor.yy347, 0, yymsp[0].minor.yy159, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);} |
| 110824 | break; |
| 110825 | case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ |
| 110826 | {sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, 0, yymsp[-2].minor.yy180, yymsp[-5].minor.yy258);} |
| 110827 | break; |
| 110828 | case 175: /* insert_cmd ::= INSERT orconf */ |
| 110829 | {yygotominor.yy258 = yymsp[0].minor.yy258;} |
| 110830 | break; |
| 110831 | case 176: /* insert_cmd ::= REPLACE */ |
| 110832 | {yygotominor.yy258 = OE_Replace;} |
| 110833 | break; |
| 110834 | case 177: /* valuelist ::= VALUES LP nexprlist RP */ |
| 110835 | { |
| 110836 | yygotominor.yy487.pList = yymsp[-1].minor.yy442; |
| 110837 | yygotominor.yy487.pSelect = 0; |
| 110838 | } |
| 110839 | break; |
| 110840 | case 178: /* valuelist ::= valuelist COMMA LP exprlist RP */ |
| 110841 | { |
| 110842 | Select *pRight = sqlite3SelectNew(pParse, yymsp[-1].minor.yy442, 0, 0, 0, 0, 0, 0, 0, 0); |
| 110843 | if( yymsp[-4].minor.yy487.pList ){ |
| 110844 | yymsp[-4].minor.yy487.pSelect = sqlite3SelectNew(pParse, yymsp[-4].minor.yy487.pList, 0, 0, 0, 0, 0, 0, 0, 0); |
| 110845 | yymsp[-4].minor.yy487.pList = 0; |
| @@ -110783,50 +110856,50 @@ | |
| 110856 | pRight->pPrior->selFlags |= SF_Values; |
| 110857 | yygotominor.yy487.pSelect = pRight; |
| 110858 | } |
| 110859 | } |
| 110860 | break; |
| 110861 | case 181: /* inscollist ::= inscollist COMMA nm */ |
| 110862 | {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp[0].minor.yy0);} |
| 110863 | break; |
| 110864 | case 182: /* inscollist ::= nm */ |
| 110865 | {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} |
| 110866 | break; |
| 110867 | case 183: /* expr ::= term */ |
| 110868 | {yygotominor.yy342 = yymsp[0].minor.yy342;} |
| 110869 | break; |
| 110870 | case 184: /* expr ::= LP expr RP */ |
| 110871 | {yygotominor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr; spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} |
| 110872 | break; |
| 110873 | case 185: /* term ::= NULL */ |
| 110874 | case 190: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==190); |
| 110875 | case 191: /* term ::= STRING */ yytestcase(yyruleno==191); |
| 110876 | {spanExpr(&yygotominor.yy342, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} |
| 110877 | break; |
| 110878 | case 186: /* expr ::= id */ |
| 110879 | case 187: /* expr ::= JOIN_KW */ yytestcase(yyruleno==187); |
| 110880 | {spanExpr(&yygotominor.yy342, pParse, TK_ID, &yymsp[0].minor.yy0);} |
| 110881 | break; |
| 110882 | case 188: /* expr ::= nm DOT nm */ |
| 110883 | { |
| 110884 | Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110885 | Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 110886 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); |
| 110887 | spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 110888 | } |
| 110889 | break; |
| 110890 | case 189: /* expr ::= nm DOT nm DOT nm */ |
| 110891 | { |
| 110892 | Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); |
| 110893 | Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 110894 | Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 110895 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); |
| 110896 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); |
| 110897 | spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); |
| 110898 | } |
| 110899 | break; |
| 110900 | case 192: /* expr ::= REGISTER */ |
| 110901 | { |
| 110902 | /* When doing a nested parse, one can include terms in an expression |
| 110903 | ** that look like this: #1 #2 ... These terms refer to registers |
| 110904 | ** in the virtual machine. #N is the N-th register. */ |
| 110905 | if( pParse->nested==0 ){ |
| @@ -110837,31 +110910,31 @@ | |
| 110910 | if( yygotominor.yy342.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy342.pExpr->iTable); |
| 110911 | } |
| 110912 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110913 | } |
| 110914 | break; |
| 110915 | case 193: /* expr ::= VARIABLE */ |
| 110916 | { |
| 110917 | spanExpr(&yygotominor.yy342, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); |
| 110918 | sqlite3ExprAssignVarNumber(pParse, yygotominor.yy342.pExpr); |
| 110919 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110920 | } |
| 110921 | break; |
| 110922 | case 194: /* expr ::= expr COLLATE ids */ |
| 110923 | { |
| 110924 | yygotominor.yy342.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy342.pExpr, &yymsp[0].minor.yy0); |
| 110925 | yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; |
| 110926 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 110927 | } |
| 110928 | break; |
| 110929 | case 195: /* expr ::= CAST LP expr AS typetoken RP */ |
| 110930 | { |
| 110931 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342.pExpr, 0, &yymsp[-1].minor.yy0); |
| 110932 | spanSet(&yygotominor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); |
| 110933 | } |
| 110934 | break; |
| 110935 | case 196: /* expr ::= ID LP distinct exprlist RP */ |
| 110936 | { |
| 110937 | if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ |
| 110938 | sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); |
| 110939 | } |
| 110940 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0); |
| @@ -110869,17 +110942,17 @@ | |
| 110942 | if( yymsp[-2].minor.yy392 && yygotominor.yy342.pExpr ){ |
| 110943 | yygotominor.yy342.pExpr->flags |= EP_Distinct; |
| 110944 | } |
| 110945 | } |
| 110946 | break; |
| 110947 | case 197: /* expr ::= ID LP STAR RP */ |
| 110948 | { |
| 110949 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); |
| 110950 | spanSet(&yygotominor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); |
| 110951 | } |
| 110952 | break; |
| 110953 | case 198: /* term ::= CTIME_KW */ |
| 110954 | { |
| 110955 | /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are |
| 110956 | ** treated as functions that return constants */ |
| 110957 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); |
| 110958 | if( yygotominor.yy342.pExpr ){ |
| @@ -110886,29 +110959,29 @@ | |
| 110959 | yygotominor.yy342.pExpr->op = TK_CONST_FUNC; |
| 110960 | } |
| 110961 | spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 110962 | } |
| 110963 | break; |
| 110964 | case 199: /* expr ::= expr AND expr */ |
| 110965 | case 200: /* expr ::= expr OR expr */ yytestcase(yyruleno==200); |
| 110966 | case 201: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==201); |
| 110967 | case 202: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==202); |
| 110968 | case 203: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==203); |
| 110969 | case 204: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==204); |
| 110970 | case 205: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==205); |
| 110971 | case 206: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==206); |
| 110972 | {spanBinaryExpr(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342);} |
| 110973 | break; |
| 110974 | case 207: /* likeop ::= LIKE_KW */ |
| 110975 | case 209: /* likeop ::= MATCH */ yytestcase(yyruleno==209); |
| 110976 | {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 0;} |
| 110977 | break; |
| 110978 | case 208: /* likeop ::= NOT LIKE_KW */ |
| 110979 | case 210: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==210); |
| 110980 | {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 1;} |
| 110981 | break; |
| 110982 | case 211: /* expr ::= expr likeop expr */ |
| 110983 | { |
| 110984 | ExprList *pList; |
| 110985 | pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr); |
| 110986 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr); |
| 110987 | yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy318.eOperator); |
| @@ -110916,11 +110989,11 @@ | |
| 110989 | yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; |
| 110990 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 110991 | if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; |
| 110992 | } |
| 110993 | break; |
| 110994 | case 212: /* expr ::= expr likeop expr ESCAPE expr */ |
| 110995 | { |
| 110996 | ExprList *pList; |
| 110997 | pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 110998 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr); |
| 110999 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); |
| @@ -110929,39 +111002,39 @@ | |
| 111002 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111003 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 111004 | if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; |
| 111005 | } |
| 111006 | break; |
| 111007 | case 213: /* expr ::= expr ISNULL|NOTNULL */ |
| 111008 | {spanUnaryPostfix(&yygotominor.yy342,pParse,yymsp[0].major,&yymsp[-1].minor.yy342,&yymsp[0].minor.yy0);} |
| 111009 | break; |
| 111010 | case 214: /* expr ::= expr NOT NULL */ |
| 111011 | {spanUnaryPostfix(&yygotominor.yy342,pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy0);} |
| 111012 | break; |
| 111013 | case 215: /* expr ::= expr IS expr */ |
| 111014 | { |
| 111015 | spanBinaryExpr(&yygotominor.yy342,pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342); |
| 111016 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_ISNULL); |
| 111017 | } |
| 111018 | break; |
| 111019 | case 216: /* expr ::= expr IS NOT expr */ |
| 111020 | { |
| 111021 | spanBinaryExpr(&yygotominor.yy342,pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yymsp[0].minor.yy342); |
| 111022 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_NOTNULL); |
| 111023 | } |
| 111024 | break; |
| 111025 | case 217: /* expr ::= NOT expr */ |
| 111026 | case 218: /* expr ::= BITNOT expr */ yytestcase(yyruleno==218); |
| 111027 | {spanUnaryPrefix(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 111028 | break; |
| 111029 | case 219: /* expr ::= MINUS expr */ |
| 111030 | {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 111031 | break; |
| 111032 | case 220: /* expr ::= PLUS expr */ |
| 111033 | {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);} |
| 111034 | break; |
| 111035 | case 223: /* expr ::= expr between_op expr AND expr */ |
| 111036 | { |
| 111037 | ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 111038 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); |
| 111039 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy342.pExpr, 0, 0); |
| 111040 | if( yygotominor.yy342.pExpr ){ |
| @@ -110972,11 +111045,11 @@ | |
| 111045 | if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 111046 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111047 | yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; |
| 111048 | } |
| 111049 | break; |
| 111050 | case 226: /* expr ::= expr in_op LP exprlist RP */ |
| 111051 | { |
| 111052 | if( yymsp[-1].minor.yy442==0 ){ |
| 111053 | /* Expressions of the form |
| 111054 | ** |
| 111055 | ** expr1 IN () |
| @@ -110999,11 +111072,11 @@ | |
| 111072 | } |
| 111073 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111074 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111075 | } |
| 111076 | break; |
| 111077 | case 227: /* expr ::= LP select RP */ |
| 111078 | { |
| 111079 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); |
| 111080 | if( yygotominor.yy342.pExpr ){ |
| 111081 | yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; |
| 111082 | ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); |
| @@ -111013,11 +111086,11 @@ | |
| 111086 | } |
| 111087 | yygotominor.yy342.zStart = yymsp[-2].minor.yy0.z; |
| 111088 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111089 | } |
| 111090 | break; |
| 111091 | case 228: /* expr ::= expr in_op LP select RP */ |
| 111092 | { |
| 111093 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0); |
| 111094 | if( yygotominor.yy342.pExpr ){ |
| 111095 | yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; |
| 111096 | ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); |
| @@ -111028,11 +111101,11 @@ | |
| 111101 | if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 111102 | yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; |
| 111103 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111104 | } |
| 111105 | break; |
| 111106 | case 229: /* expr ::= expr in_op nm dbnm */ |
| 111107 | { |
| 111108 | SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); |
| 111109 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342.pExpr, 0, 0); |
| 111110 | if( yygotominor.yy342.pExpr ){ |
| 111111 | yygotominor.yy342.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); |
| @@ -111044,11 +111117,11 @@ | |
| 111117 | if( yymsp[-2].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0); |
| 111118 | yygotominor.yy342.zStart = yymsp[-3].minor.yy342.zStart; |
| 111119 | yygotominor.yy342.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]; |
| 111120 | } |
| 111121 | break; |
| 111122 | case 230: /* expr ::= EXISTS LP select RP */ |
| 111123 | { |
| 111124 | Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); |
| 111125 | if( p ){ |
| 111126 | p->x.pSelect = yymsp[-1].minor.yy159; |
| 111127 | ExprSetProperty(p, EP_xIsSelect); |
| @@ -111058,11 +111131,11 @@ | |
| 111131 | } |
| 111132 | yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; |
| 111133 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111134 | } |
| 111135 | break; |
| 111136 | case 231: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 111137 | { |
| 111138 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, yymsp[-1].minor.yy122, 0); |
| 111139 | if( yygotominor.yy342.pExpr ){ |
| 111140 | yygotominor.yy342.pExpr->x.pList = yymsp[-2].minor.yy442; |
| 111141 | sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); |
| @@ -111071,43 +111144,43 @@ | |
| 111144 | } |
| 111145 | yygotominor.yy342.zStart = yymsp[-4].minor.yy0.z; |
| 111146 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111147 | } |
| 111148 | break; |
| 111149 | case 232: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 111150 | { |
| 111151 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy342.pExpr); |
| 111152 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr); |
| 111153 | } |
| 111154 | break; |
| 111155 | case 233: /* case_exprlist ::= WHEN expr THEN expr */ |
| 111156 | { |
| 111157 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); |
| 111158 | yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr); |
| 111159 | } |
| 111160 | break; |
| 111161 | case 240: /* nexprlist ::= nexprlist COMMA expr */ |
| 111162 | {yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy342.pExpr);} |
| 111163 | break; |
| 111164 | case 241: /* nexprlist ::= expr */ |
| 111165 | {yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr);} |
| 111166 | break; |
| 111167 | case 242: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */ |
| 111168 | { |
| 111169 | sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, |
| 111170 | sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), yymsp[-1].minor.yy442, yymsp[-9].minor.yy392, |
| 111171 | &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy392); |
| 111172 | } |
| 111173 | break; |
| 111174 | case 243: /* uniqueflag ::= UNIQUE */ |
| 111175 | case 296: /* raisetype ::= ABORT */ yytestcase(yyruleno==296); |
| 111176 | {yygotominor.yy392 = OE_Abort;} |
| 111177 | break; |
| 111178 | case 244: /* uniqueflag ::= */ |
| 111179 | {yygotominor.yy392 = OE_None;} |
| 111180 | break; |
| 111181 | case 247: /* idxlist ::= idxlist COMMA nm collate sortorder */ |
| 111182 | { |
| 111183 | Expr *p = 0; |
| 111184 | if( yymsp[-1].minor.yy0.n>0 ){ |
| 111185 | p = sqlite3Expr(pParse->db, TK_COLUMN, 0); |
| 111186 | sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| @@ -111116,11 +111189,11 @@ | |
| 111189 | sqlite3ExprListSetName(pParse,yygotominor.yy442,&yymsp[-2].minor.yy0,1); |
| 111190 | sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); |
| 111191 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 111192 | } |
| 111193 | break; |
| 111194 | case 248: /* idxlist ::= nm collate sortorder */ |
| 111195 | { |
| 111196 | Expr *p = 0; |
| 111197 | if( yymsp[-1].minor.yy0.n>0 ){ |
| 111198 | p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); |
| 111199 | sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); |
| @@ -111129,212 +111202,212 @@ | |
| 111202 | sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); |
| 111203 | sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); |
| 111204 | if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392; |
| 111205 | } |
| 111206 | break; |
| 111207 | case 249: /* collate ::= */ |
| 111208 | {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} |
| 111209 | break; |
| 111210 | case 251: /* cmd ::= DROP INDEX ifexists fullname */ |
| 111211 | {sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);} |
| 111212 | break; |
| 111213 | case 252: /* cmd ::= VACUUM */ |
| 111214 | case 253: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==253); |
| 111215 | {sqlite3Vacuum(pParse);} |
| 111216 | break; |
| 111217 | case 254: /* cmd ::= PRAGMA nm dbnm */ |
| 111218 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 111219 | break; |
| 111220 | case 255: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 111221 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} |
| 111222 | break; |
| 111223 | case 256: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 111224 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} |
| 111225 | break; |
| 111226 | case 257: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 111227 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} |
| 111228 | break; |
| 111229 | case 258: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 111230 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} |
| 111231 | break; |
| 111232 | case 268: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 111233 | { |
| 111234 | Token all; |
| 111235 | all.z = yymsp[-3].minor.yy0.z; |
| 111236 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 111237 | sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all); |
| 111238 | } |
| 111239 | break; |
| 111240 | case 269: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 111241 | { |
| 111242 | sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy392, yymsp[-4].minor.yy410.a, yymsp[-4].minor.yy410.b, yymsp[-2].minor.yy347, yymsp[0].minor.yy122, yymsp[-10].minor.yy392, yymsp[-8].minor.yy392); |
| 111243 | yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); |
| 111244 | } |
| 111245 | break; |
| 111246 | case 270: /* trigger_time ::= BEFORE */ |
| 111247 | case 273: /* trigger_time ::= */ yytestcase(yyruleno==273); |
| 111248 | { yygotominor.yy392 = TK_BEFORE; } |
| 111249 | break; |
| 111250 | case 271: /* trigger_time ::= AFTER */ |
| 111251 | { yygotominor.yy392 = TK_AFTER; } |
| 111252 | break; |
| 111253 | case 272: /* trigger_time ::= INSTEAD OF */ |
| 111254 | { yygotominor.yy392 = TK_INSTEAD;} |
| 111255 | break; |
| 111256 | case 274: /* trigger_event ::= DELETE|INSERT */ |
| 111257 | case 275: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==275); |
| 111258 | {yygotominor.yy410.a = yymsp[0].major; yygotominor.yy410.b = 0;} |
| 111259 | break; |
| 111260 | case 276: /* trigger_event ::= UPDATE OF inscollist */ |
| 111261 | {yygotominor.yy410.a = TK_UPDATE; yygotominor.yy410.b = yymsp[0].minor.yy180;} |
| 111262 | break; |
| 111263 | case 279: /* when_clause ::= */ |
| 111264 | case 301: /* key_opt ::= */ yytestcase(yyruleno==301); |
| 111265 | { yygotominor.yy122 = 0; } |
| 111266 | break; |
| 111267 | case 280: /* when_clause ::= WHEN expr */ |
| 111268 | case 302: /* key_opt ::= KEY expr */ yytestcase(yyruleno==302); |
| 111269 | { yygotominor.yy122 = yymsp[0].minor.yy342.pExpr; } |
| 111270 | break; |
| 111271 | case 281: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 111272 | { |
| 111273 | assert( yymsp[-2].minor.yy327!=0 ); |
| 111274 | yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327; |
| 111275 | yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327; |
| 111276 | yygotominor.yy327 = yymsp[-2].minor.yy327; |
| 111277 | } |
| 111278 | break; |
| 111279 | case 282: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 111280 | { |
| 111281 | assert( yymsp[-1].minor.yy327!=0 ); |
| 111282 | yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327; |
| 111283 | yygotominor.yy327 = yymsp[-1].minor.yy327; |
| 111284 | } |
| 111285 | break; |
| 111286 | case 284: /* trnm ::= nm DOT nm */ |
| 111287 | { |
| 111288 | yygotominor.yy0 = yymsp[0].minor.yy0; |
| 111289 | sqlite3ErrorMsg(pParse, |
| 111290 | "qualified table names are not allowed on INSERT, UPDATE, and DELETE " |
| 111291 | "statements within triggers"); |
| 111292 | } |
| 111293 | break; |
| 111294 | case 286: /* tridxby ::= INDEXED BY nm */ |
| 111295 | { |
| 111296 | sqlite3ErrorMsg(pParse, |
| 111297 | "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " |
| 111298 | "within triggers"); |
| 111299 | } |
| 111300 | break; |
| 111301 | case 287: /* tridxby ::= NOT INDEXED */ |
| 111302 | { |
| 111303 | sqlite3ErrorMsg(pParse, |
| 111304 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 111305 | "within triggers"); |
| 111306 | } |
| 111307 | break; |
| 111308 | case 288: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ |
| 111309 | { yygotominor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy442, yymsp[0].minor.yy122, yymsp[-5].minor.yy258); } |
| 111310 | break; |
| 111311 | case 289: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist */ |
| 111312 | {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-4].minor.yy258);} |
| 111313 | break; |
| 111314 | case 290: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ |
| 111315 | {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, 0, yymsp[0].minor.yy159, yymsp[-4].minor.yy258);} |
| 111316 | break; |
| 111317 | case 291: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ |
| 111318 | {yygotominor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy122);} |
| 111319 | break; |
| 111320 | case 292: /* trigger_cmd ::= select */ |
| 111321 | {yygotominor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); } |
| 111322 | break; |
| 111323 | case 293: /* expr ::= RAISE LP IGNORE RP */ |
| 111324 | { |
| 111325 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); |
| 111326 | if( yygotominor.yy342.pExpr ){ |
| 111327 | yygotominor.yy342.pExpr->affinity = OE_Ignore; |
| 111328 | } |
| 111329 | yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; |
| 111330 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111331 | } |
| 111332 | break; |
| 111333 | case 294: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 111334 | { |
| 111335 | yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); |
| 111336 | if( yygotominor.yy342.pExpr ) { |
| 111337 | yygotominor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392; |
| 111338 | } |
| 111339 | yygotominor.yy342.zStart = yymsp[-5].minor.yy0.z; |
| 111340 | yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 111341 | } |
| 111342 | break; |
| 111343 | case 295: /* raisetype ::= ROLLBACK */ |
| 111344 | {yygotominor.yy392 = OE_Rollback;} |
| 111345 | break; |
| 111346 | case 297: /* raisetype ::= FAIL */ |
| 111347 | {yygotominor.yy392 = OE_Fail;} |
| 111348 | break; |
| 111349 | case 298: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 111350 | { |
| 111351 | sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392); |
| 111352 | } |
| 111353 | break; |
| 111354 | case 299: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 111355 | { |
| 111356 | sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr, yymsp[0].minor.yy122); |
| 111357 | } |
| 111358 | break; |
| 111359 | case 300: /* cmd ::= DETACH database_kw_opt expr */ |
| 111360 | { |
| 111361 | sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr); |
| 111362 | } |
| 111363 | break; |
| 111364 | case 305: /* cmd ::= REINDEX */ |
| 111365 | {sqlite3Reindex(pParse, 0, 0);} |
| 111366 | break; |
| 111367 | case 306: /* cmd ::= REINDEX nm dbnm */ |
| 111368 | {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 111369 | break; |
| 111370 | case 307: /* cmd ::= ANALYZE */ |
| 111371 | {sqlite3Analyze(pParse, 0, 0);} |
| 111372 | break; |
| 111373 | case 308: /* cmd ::= ANALYZE nm dbnm */ |
| 111374 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 111375 | break; |
| 111376 | case 309: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 111377 | { |
| 111378 | sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0); |
| 111379 | } |
| 111380 | break; |
| 111381 | case 310: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ |
| 111382 | { |
| 111383 | sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); |
| 111384 | } |
| 111385 | break; |
| 111386 | case 311: /* add_column_fullname ::= fullname */ |
| 111387 | { |
| 111388 | pParse->db->lookaside.bEnabled = 0; |
| 111389 | sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347); |
| 111390 | } |
| 111391 | break; |
| 111392 | case 314: /* cmd ::= create_vtab */ |
| 111393 | {sqlite3VtabFinishParse(pParse,0);} |
| 111394 | break; |
| 111395 | case 315: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 111396 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 111397 | break; |
| 111398 | case 316: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 111399 | { |
| 111400 | sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy392); |
| 111401 | } |
| 111402 | break; |
| 111403 | case 319: /* vtabarg ::= */ |
| 111404 | {sqlite3VtabArgInit(pParse);} |
| 111405 | break; |
| 111406 | case 321: /* vtabargtoken ::= ANY */ |
| 111407 | case 322: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==322); |
| 111408 | case 323: /* lp ::= LP */ yytestcase(yyruleno==323); |
| 111409 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 111410 | break; |
| 111411 | default: |
| 111412 | /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); |
| 111413 | /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); |
| @@ -111350,28 +111423,29 @@ | |
| 111423 | /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34); |
| 111424 | /* (35) columnlist ::= column */ yytestcase(yyruleno==35); |
| 111425 | /* (44) type ::= */ yytestcase(yyruleno==44); |
| 111426 | /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); |
| 111427 | /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); |
| 111428 | /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53); |
| 111429 | /* (54) carglist ::= */ yytestcase(yyruleno==54); |
| 111430 | /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61); |
| 111431 | /* (89) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==89); |
| 111432 | /* (90) conslist ::= conslist cname tcons */ yytestcase(yyruleno==90); |
| 111433 | /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91); |
| 111434 | /* (277) foreach_clause ::= */ yytestcase(yyruleno==277); |
| 111435 | /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278); |
| 111436 | /* (285) tridxby ::= */ yytestcase(yyruleno==285); |
| 111437 | /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303); |
| 111438 | /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304); |
| 111439 | /* (312) kwcolumn_opt ::= */ yytestcase(yyruleno==312); |
| 111440 | /* (313) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==313); |
| 111441 | /* (317) vtabarglist ::= vtabarg */ yytestcase(yyruleno==317); |
| 111442 | /* (318) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==318); |
| 111443 | /* (320) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==320); |
| 111444 | /* (324) anylist ::= */ yytestcase(yyruleno==324); |
| 111445 | /* (325) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==325); |
| 111446 | /* (326) anylist ::= anylist ANY */ yytestcase(yyruleno==326); |
| 111447 | break; |
| 111448 | }; |
| 111449 | yygoto = yyRuleInfo[yyruleno].lhs; |
| 111450 | yysize = yyRuleInfo[yyruleno].nrhs; |
| 111451 | yypParser->yyidx -= yysize; |
| 111452 |
+2
-1
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -107,11 +107,11 @@ | ||
| 107 | 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | 109 | */ |
| 110 | 110 | #define SQLITE_VERSION "3.7.12" |
| 111 | 111 | #define SQLITE_VERSION_NUMBER 3007012 |
| 112 | -#define SQLITE_SOURCE_ID "2012-05-01 14:21:57 bfa61e781cb442be641486e7e55a1518e888d830" | |
| 112 | +#define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" | |
| 113 | 113 | |
| 114 | 114 | /* |
| 115 | 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | 117 | ** |
| @@ -456,10 +456,11 @@ | ||
| 456 | 456 | #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) |
| 457 | 457 | #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) |
| 458 | 458 | #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) |
| 459 | 459 | #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) |
| 460 | 460 | #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) |
| 461 | +#define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) | |
| 461 | 462 | #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) |
| 462 | 463 | #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) |
| 463 | 464 | #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) |
| 464 | 465 | #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) |
| 465 | 466 | |
| 466 | 467 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -107,11 +107,11 @@ | |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.7.12" |
| 111 | #define SQLITE_VERSION_NUMBER 3007012 |
| 112 | #define SQLITE_SOURCE_ID "2012-05-01 14:21:57 bfa61e781cb442be641486e7e55a1518e888d830" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| @@ -456,10 +456,11 @@ | |
| 456 | #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) |
| 457 | #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) |
| 458 | #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) |
| 459 | #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) |
| 460 | #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) |
| 461 | #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) |
| 462 | #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) |
| 463 | #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) |
| 464 | #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) |
| 465 | |
| 466 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -107,11 +107,11 @@ | |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.7.12" |
| 111 | #define SQLITE_VERSION_NUMBER 3007012 |
| 112 | #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| @@ -456,10 +456,11 @@ | |
| 456 | #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) |
| 457 | #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) |
| 458 | #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) |
| 459 | #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) |
| 460 | #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) |
| 461 | #define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) |
| 462 | #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) |
| 463 | #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) |
| 464 | #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) |
| 465 | #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) |
| 466 | |
| 467 |