Check-in [0141e20ff0]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
SHA1 Hash:0141e20ff041bf3f77c2e079f238478a686741ac
Date: 2012-05-10 12:22:34
User: drh
Comment:Update the built-in SQLite to the 3.7.12 beta as of 2012-05-10.
Tags And Properties
Changes

Changes to src/sqlite3.c

655 ** 655 ** 656 ** See also: [sqlite3_libversion()], 656 ** See also: [sqlite3_libversion()], 657 ** [sqlite3_libversion_number()], [sqlite3_sourceid()], 657 ** [sqlite3_libversion_number()], [sqlite3_sourceid()], 658 ** [sqlite_version()] and [sqlite_source_id()]. 658 ** [sqlite_version()] and [sqlite_source_id()]. 659 */ 659 */ 660 #define SQLITE_VERSION "3.7.12" 660 #define SQLITE_VERSION "3.7.12" 661 #define SQLITE_VERSION_NUMBER 3007012 661 #define SQLITE_VERSION_NUMBER 3007012 662 #define SQLITE_SOURCE_ID "2012-05-01 14:21:57 bfa61e781cb442be641486e7e55a1 | 662 #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e8 663 663 664 /* 664 /* 665 ** CAPI3REF: Run-Time Library Version Numbers 665 ** CAPI3REF: Run-Time Library Version Numbers 666 ** KEYWORDS: sqlite3_version, sqlite3_sourceid 666 ** KEYWORDS: sqlite3_version, sqlite3_sourceid 667 ** 667 ** 668 ** These interfaces provide the same information as the [SQLITE_VERSION], 668 ** These interfaces provide the same information as the [SQLITE_VERSION], 669 ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros 669 ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros ................................................................................................................................................................................ 1004 #define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) 1004 #define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) 1005 #define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) 1005 #define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) 1006 #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) 1006 #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) 1007 #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) 1007 #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) 1008 #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) 1008 #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) 1009 #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) 1009 #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) 1010 #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) 1010 #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) > 1011 #define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) 1011 #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) 1012 #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) 1012 #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) 1013 #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) 1013 #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) 1014 #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) 1014 #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) 1015 #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) 1015 1016 1016 /* 1017 /* 1017 ** CAPI3REF: Flags For File Open Operations 1018 ** CAPI3REF: Flags For File Open Operations ................................................................................................................................................................................ 35170 } 35171 } 35171 zBuf[j] = 0; 35172 zBuf[j] = 0; 35172 zBuf[j+1] = 0; 35173 zBuf[j+1] = 0; 35173 35174 35174 OSTRACE(("TEMP FILENAME: %s\n", zBuf)); 35175 OSTRACE(("TEMP FILENAME: %s\n", zBuf)); 35175 return SQLITE_OK; 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 ** Open a file. 35209 ** Open a file. 35180 */ 35210 */ 35181 static int winOpen( 35211 static int winOpen( 35182 sqlite3_vfs *pVfs, /* Not used */ 35212 sqlite3_vfs *pVfs, /* Not used */ 35183 const char *zName, /* Name of the file (UTF-8) */ 35213 const char *zName, /* Name of the file (UTF-8) */ ................................................................................................................................................................................ 35276 zUtf8Name[strlen(zUtf8Name)+1]==0 ); 35306 zUtf8Name[strlen(zUtf8Name)+1]==0 ); 35277 35307 35278 /* Convert the filename to the system encoding. */ 35308 /* Convert the filename to the system encoding. */ 35279 zConverted = convertUtf8Filename(zUtf8Name); 35309 zConverted = convertUtf8Filename(zUtf8Name); 35280 if( zConverted==0 ){ 35310 if( zConverted==0 ){ 35281 return SQLITE_IOERR_NOMEM; 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 if( isReadWrite ){ 35319 if( isReadWrite ){ 35285 dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; 35320 dwDesiredAccess = GENERIC_READ | GENERIC_WRITE; 35286 }else{ 35321 }else{ 35287 dwDesiredAccess = GENERIC_READ; 35322 dwDesiredAccess = GENERIC_READ; 35288 } 35323 } 35289 35324 ................................................................................................................................................................................ 35326 if( isNT() ){ 35361 if( isNT() ){ 35327 while( (h = osCreateFileW((LPCWSTR)zConverted, 35362 while( (h = osCreateFileW((LPCWSTR)zConverted, 35328 dwDesiredAccess, 35363 dwDesiredAccess, 35329 dwShareMode, NULL, 35364 dwShareMode, NULL, 35330 dwCreationDisposition, 35365 dwCreationDisposition, 35331 dwFlagsAndAttributes, 35366 dwFlagsAndAttributes, 35332 NULL))==INVALID_HANDLE_VALUE && 35367 NULL))==INVALID_HANDLE_VALUE && 35333 retryIoerr(&cnt, &lastErrno) ){} | 35368 retryIoerr(&cnt, &lastErrno) ){ 35334 /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. | 35369 /* Noop */ 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 */ < > 35370 } 35338 #if SQLITE_OS_WINCE==0 35371 #if SQLITE_OS_WINCE==0 35339 }else{ 35372 }else{ 35340 while( (h = osCreateFileA((LPCSTR)zConverted, 35373 while( (h = osCreateFileA((LPCSTR)zConverted, 35341 dwDesiredAccess, 35374 dwDesiredAccess, 35342 dwShareMode, NULL, 35375 dwShareMode, NULL, 35343 dwCreationDisposition, 35376 dwCreationDisposition, 35344 dwFlagsAndAttributes, 35377 dwFlagsAndAttributes, 35345 NULL))==INVALID_HANDLE_VALUE && 35378 NULL))==INVALID_HANDLE_VALUE && 35346 retryIoerr(&cnt, &lastErrno) ){} | 35379 retryIoerr(&cnt, &lastErrno) ){ > 35380 /* Noop */ > 35381 } 35347 #endif 35382 #endif 35348 } 35383 } 35349 35384 35350 logIoerr(cnt); 35385 logIoerr(cnt); 35351 35386 35352 OSTRACE(("OPEN %d %s 0x%lx %s\n", 35387 OSTRACE(("OPEN %d %s 0x%lx %s\n", 35353 h, zName, dwDesiredAccess, 35388 h, zName, dwDesiredAccess, ................................................................................................................................................................................ 35419 static int winDelete( 35454 static int winDelete( 35420 sqlite3_vfs *pVfs, /* Not used on win32 */ 35455 sqlite3_vfs *pVfs, /* Not used on win32 */ 35421 const char *zFilename, /* Name of file to delete */ 35456 const char *zFilename, /* Name of file to delete */ 35422 int syncDir /* Not used on win32 */ 35457 int syncDir /* Not used on win32 */ 35423 ){ 35458 ){ 35424 int cnt = 0; 35459 int cnt = 0; 35425 int rc; 35460 int rc; > 35461 DWORD attr; 35426 DWORD lastErrno; 35462 DWORD lastErrno; 35427 void *zConverted; 35463 void *zConverted; 35428 UNUSED_PARAMETER(pVfs); 35464 UNUSED_PARAMETER(pVfs); 35429 UNUSED_PARAMETER(syncDir); 35465 UNUSED_PARAMETER(syncDir); 35430 35466 35431 SimulateIOError(return SQLITE_IOERR_DELETE); 35467 SimulateIOError(return SQLITE_IOERR_DELETE); 35432 zConverted = convertUtf8Filename(zFilename); 35468 zConverted = convertUtf8Filename(zFilename); 35433 if( zConverted==0 ){ 35469 if( zConverted==0 ){ 35434 return SQLITE_IOERR_NOMEM; 35470 return SQLITE_IOERR_NOMEM; 35435 } 35471 } 35436 if( isNT() ){ 35472 if( isNT() ){ 35437 rc = 1; | 35473 do { 35438 while( osGetFileAttributesW(zConverted)!=INVALID_FILE_ATTRIBUTES && | 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 } 35439 (rc = osDeleteFileW(zConverted))==0 && retryIoerr(&cnt, &lastErrno) ){} | 35487 if ( !retryIoerr(&cnt, &lastErrno) ){ 35440 rc = rc ? SQLITE_OK : SQLITE_ERROR; | 35488 rc = SQLITE_ERROR; /* No more retries. */ > 35489 break; > 35490 } > 35491 } while(1); 35441 /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. 35492 /* 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, 35493 ** Since the ANSI version of these Windows API do not exist for WINCE, 35443 ** it's important to not reference them for WINCE builds. 35494 ** it's important to not reference them for WINCE builds. 35444 */ 35495 */ 35445 #if SQLITE_OS_WINCE==0 35496 #if SQLITE_OS_WINCE==0 35446 }else{ 35497 }else{ 35447 rc = 1; | 35498 do { 35448 while( osGetFileAttributesA(zConverted)!=INVALID_FILE_ATTRIBUTES && | 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 } 35449 (rc = osDeleteFileA(zConverted))==0 && retryIoerr(&cnt, &lastErrno) ){} | 35512 if ( !retryIoerr(&cnt, &lastErrno) ){ 35450 rc = rc ? SQLITE_OK : SQLITE_ERROR; | 35513 rc = SQLITE_ERROR; /* No more retries. */ > 35514 break; > 35515 } > 35516 } while(1); 35451 #endif 35517 #endif 35452 } 35518 } 35453 if( rc ){ 35519 if( rc ){ 35454 rc = winLogError(SQLITE_IOERR_DELETE, lastErrno, 35520 rc = winLogError(SQLITE_IOERR_DELETE, lastErrno, 35455 "winDelete", zFilename); 35521 "winDelete", zFilename); 35456 }else{ 35522 }else{ 35457 logIoerr(cnt); 35523 logIoerr(cnt); ................................................................................................................................................................................ 108376 #ifndef YYSTACKDEPTH 108442 #ifndef YYSTACKDEPTH 108377 #define YYSTACKDEPTH 100 108443 #define YYSTACKDEPTH 100 108378 #endif 108444 #endif 108379 #define sqlite3ParserARG_SDECL Parse *pParse; 108445 #define sqlite3ParserARG_SDECL Parse *pParse; 108380 #define sqlite3ParserARG_PDECL ,Parse *pParse 108446 #define sqlite3ParserARG_PDECL ,Parse *pParse 108381 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse 108447 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse 108382 #define sqlite3ParserARG_STORE yypParser->pParse = pParse 108448 #define sqlite3ParserARG_STORE yypParser->pParse = pParse 108383 #define YYNSTATE 627 | 108449 #define YYNSTATE 630 108384 #define YYNRULE 325 | 108450 #define YYNRULE 327 108385 #define YYFALLBACK 1 108451 #define YYFALLBACK 1 108386 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) 108452 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) 108387 #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) 108453 #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) 108388 #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) 108454 #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) 108389 108455 108390 /* The yyzerominor constant is used to initialize instances of 108456 /* The yyzerominor constant is used to initialize instances of 108391 ** YYMINORTYPE objects to zero. */ 108457 ** YYMINORTYPE objects to zero. */ ................................................................................................................................................................................ 108447 ** yy_action. Used to detect hash collisions. 108513 ** yy_action. Used to detect hash collisions. 108448 ** yy_shift_ofst[] For each state, the offset into yy_action for 108514 ** yy_shift_ofst[] For each state, the offset into yy_action for 108449 ** shifting terminals. 108515 ** shifting terminals. 108450 ** yy_reduce_ofst[] For each state, the offset into yy_action for 108516 ** yy_reduce_ofst[] For each state, the offset into yy_action for 108451 ** shifting non-terminals after a reduce. 108517 ** shifting non-terminals after a reduce. 108452 ** yy_default[] Default action for each state. 108518 ** yy_default[] Default action for each state. 108453 */ 108519 */ 108454 #define YY_ACTTAB_COUNT (1561) | 108520 #define YY_ACTTAB_COUNT (1562) 108455 static const YYACTIONTYPE yy_action[] = { 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 /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, 108523 /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52, 108458 /* 20 */ 52, 52, 51, 233, 52, 52, 52, 51, 233, 624, | 108524 /* 20 */ 52, 52, 51, 235, 52, 52, 52, 51, 235, 627, 108459 /* 30 */ 588, 582, 56, 56, 56, 56, 314, 54, 54, 54, | 108525 /* 30 */ 590, 584, 56, 56, 56, 56, 316, 54, 54, 54, 108460 /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 299, 57, | 108526 /* 40 */ 54, 53, 53, 52, 52, 52, 51, 235, 301, 57, 108461 /* 50 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, | 108527 /* 50 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, 108462 /* 60 */ 56, 56, 569, 54, 54, 54, 54, 53, 53, 52, | 108528 /* 60 */ 56, 56, 571, 54, 54, 54, 54, 53, 53, 52, 108463 /* 70 */ 52, 52, 51, 233, 310, 595, 326, 575, 663, 65, | 108529 /* 70 */ 52, 52, 51, 235, 312, 597, 328, 198, 197, 196, 108464 /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, 108530 /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52, 108465 /* 90 */ 51, 233, 53, 53, 52, 52, 52, 51, 233, 489, | 108531 /* 90 */ 51, 235, 53, 53, 52, 52, 52, 51, 235, 492, 108466 /* 100 */ 663, 440, 663, 235, 588, 582, 553, 297, 363, 59, | 108532 /* 100 */ 597, 441, 66, 237, 590, 584, 597, 299, 365, 59, 108467 /* 110 */ 481, 67, 360, 1, 618, 351, 618, 620, 619, 207, | 108533 /* 110 */ 482, 67, 362, 1, 621, 353, 621, 623, 622, 516, 108468 /* 120 */ 6, 441, 442, 57, 58, 48, 580, 579, 581, 581, | 108534 /* 120 */ 515, 442, 443, 57, 58, 48, 582, 581, 583, 583, 108469 /* 130 */ 55, 55, 56, 56, 56, 56, 605, 54, 54, 54, | 108535 /* 130 */ 55, 55, 56, 56, 56, 56, 608, 54, 54, 54, 108470 /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 223, | 108536 /* 140 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 225, 108471 /* 150 */ 50, 47, 146, 598, 138, 281, 385, 276, 384, 168, | 108537 /* 150 */ 618, 617, 616, 176, 138, 283, 386, 278, 385, 168, 108472 /* 160 */ 489, 552, 620, 619, 620, 619, 272, 214, 440, 411, | 108538 /* 160 */ 492, 554, 623, 622, 623, 622, 274, 441, 597, 412, 108473 /* 170 */ 551, 604, 67, 165, 7, 618, 352, 353, 588, 582, | 108539 /* 170 */ 553, 607, 67, 215, 597, 621, 506, 507, 590, 584, 108474 /* 180 */ 443, 569, 192, 618, 414, 617, 616, 668, 441, 336, | 108540 /* 180 */ 444, 571, 621, 391, 415, 620, 619, 442, 338, 623, 108475 /* 190 */ 669, 62, 618, 599, 92, 382, 346, 57, 58, 48, | 108541 /* 190 */ 622, 392, 601, 92, 224, 193, 671, 57, 58, 48, 108476 /* 200 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, | 108542 /* 200 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, 108477 /* 210 */ 670, 54, 54, 54, 54, 53, 53, 52, 52, 52, | 108543 /* 210 */ 672, 54, 54, 54, 54, 53, 53, 52, 52, 52, 108478 /* 220 */ 51, 233, 310, 465, 232, 231, 373, 132, 514, 513, | 108544 /* 220 */ 51, 235, 312, 262, 234, 233, 505, 132, 486, 510, 108479 /* 230 */ 617, 616, 617, 616, 398, 437, 411, 66, 280, 388, | 108545 /* 230 */ 620, 619, 620, 619, 399, 438, 487, 566, 621, 389, 108480 /* 240 */ 411, 595, 439, 220, 438, 620, 619, 337, 569, 279, | 108546 /* 240 */ 412, 384, 440, 532, 439, 602, 339, 571, 504, 603, 108481 /* 250 */ 201, 414, 588, 582, 166, 414, 546, 167, 68, 234, | 108547 /* 250 */ 203, 533, 590, 584, 45, 415, 548, 620, 619, 383, 108482 /* 260 */ 599, 92, 620, 619, 599, 92, 19, 570, 570, 466, | 108548 /* 260 */ 380, 379, 6, 601, 92, 526, 261, 572, 572, 595, 108483 /* 270 */ 564, 57, 58, 48, 580, 579, 581, 581, 55, 55, | 108549 /* 270 */ 378, 57, 58, 48, 582, 581, 583, 583, 55, 55, 108484 /* 280 */ 56, 56, 56, 56, 598, 54, 54, 54, 54, 53, | 108550 /* 280 */ 56, 56, 56, 56, 600, 54, 54, 54, 54, 53, 108485 /* 290 */ 53, 52, 52, 52, 51, 233, 310, 411, 524, 232, | 108551 /* 290 */ 53, 52, 52, 52, 51, 235, 312, 466, 326, 561, 108486 /* 300 */ 231, 398, 593, 547, 559, 398, 348, 202, 175, 595, | 108552 /* 300 */ 593, 593, 593, 282, 311, 399, 412, 568, 493, 214, 108487 /* 310 */ 399, 315, 414, 617, 616, 387, 272, 255, 347, 254, | 108553 /* 310 */ 400, 623, 622, 68, 281, 560, 7, 623, 622, 167, 108488 /* 320 */ 558, 599, 74, 620, 619, 45, 588, 582, 235, 466, | 108554 /* 320 */ 577, 415, 65, 408, 575, 574, 590, 584, 673, 601, 108489 /* 330 */ 617, 616, 511, 591, 591, 591, 557, 578, 402, 545, | 108555 /* 330 */ 92, 559, 410, 520, 579, 579, 306, 425, 623, 622, 108490 /* 340 */ 600, 598, 570, 570, 601, 57, 58, 48, 580, 579, | 108556 /* 340 */ 208, 572, 572, 467, 519, 57, 58, 48, 582, 581, 108491 /* 350 */ 581, 581, 55, 55, 56, 56, 56, 56, 550, 54, | 108557 /* 350 */ 583, 583, 55, 55, 56, 56, 56, 56, 576, 54, 108492 /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | 108558 /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, 108493 /* 370 */ 310, 309, 411, 145, 566, 490, 213, 255, 347, 254, | 108559 /* 370 */ 312, 399, 412, 317, 600, 412, 350, 549, 578, 620, 108494 /* 380 */ 196, 195, 194, 587, 586, 531, 600, 414, 235, 174, | 108560 /* 380 */ 619, 423, 204, 175, 571, 620, 619, 415, 551, 355, 108495 /* 390 */ 601, 617, 616, 411, 620, 619, 599, 91, 547, 574, | 108561 /* 390 */ 415, 257, 349, 256, 174, 601, 74, 354, 601, 91, 108496 /* 400 */ 588, 582, 50, 47, 146, 584, 583, 471, 414, 249, | 108562 /* 400 */ 590, 584, 237, 467, 621, 547, 620, 619, 164, 623, 108497 /* 410 */ 565, 542, 186, 39, 304, 424, 562, 599, 16, 57, | 108563 /* 410 */ 622, 544, 62, 39, 251, 580, 600, 348, 555, 57, 108498 /* 420 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, | 108564 /* 420 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, 108499 /* 430 */ 56, 56, 585, 54, 54, 54, 54, 53, 53, 52, | 108565 /* 430 */ 56, 56, 565, 54, 54, 54, 54, 53, 53, 52, 108500 /* 440 */ 52, 52, 51, 233, 310, 559, 290, 530, 529, 345, | 108566 /* 440 */ 52, 52, 51, 235, 312, 554, 182, 145, 531, 292, 108501 /* 450 */ 533, 576, 540, 246, 170, 248, 411, 396, 411, 422, | 108567 /* 450 */ 231, 257, 349, 256, 553, 221, 412, 181, 248, 549, 108502 /* 460 */ 199, 558, 617, 616, 165, 563, 50, 47, 146, 181, | 108568 /* 460 */ 250, 412, 237, 50, 47, 146, 412, 410, 412, 579, 108503 /* 470 */ 498, 414, 166, 414, 588, 582, 269, 557, 166, 518, | 108569 /* 470 */ 579, 415, 549, 567, 590, 584, 415, 620, 619, 601, 108504 /* 480 */ 599, 92, 599, 92, 561, 595, 469, 36, 173, 409, | 108570 /* 480 */ 16, 415, 189, 415, 601, 92, 268, 36, 544, 601, 108505 /* 490 */ 517, 577, 577, 57, 58, 48, 580, 579, 581, 581, | 108571 /* 490 */ 92, 601, 73, 57, 58, 48, 582, 581, 583, 583, 108506 /* 500 */ 55, 55, 56, 56, 56, 56, 338, 54, 54, 54, | 108572 /* 500 */ 55, 55, 56, 56, 56, 56, 187, 54, 54, 54, 108507 /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 304, | 108573 /* 510 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 564, 108508 /* 520 */ 423, 394, 526, 318, 869, 235, 167, 180, 473, 547, | 108574 /* 520 */ 397, 410, 528, 579, 579, 561, 395, 535, 201, 145, 108509 /* 530 */ 503, 247, 474, 381, 378, 377, 409, 351, 577, 577, | 108575 /* 530 */ 264, 320, 266, 388, 375, 410, 249, 579, 579, 236, 108510 /* 540 */ 409, 560, 577, 577, 376, 383, 364, 603, 588, 582, | 108576 /* 540 */ 40, 560, 38, 50, 47, 146, 19, 606, 590, 584, 108511 /* 550 */ 620, 619, 502, 595, 409, 494, 577, 577, 409, 266, | 108577 /* 550 */ 422, 948, 563, 948, 549, 496, 472, 559, 602, 403, 108512 /* 560 */ 577, 577, 421, 943, 422, 943, 198, 57, 58, 48, | 108578 /* 560 */ 422, 947, 603, 947, 562, 167, 200, 57, 58, 48, 108513 /* 570 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, | 108579 /* 570 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, 108514 /* 580 */ 315, 54, 54, 54, 54, 53, 53, 52, 52, 52, | 108580 /* 580 */ 156, 54, 54, 54, 54, 53, 53, 52, 52, 52, 108515 /* 590 */ 51, 233, 310, 390, 421, 942, 509, 942, 556, 145, | 108581 /* 590 */ 51, 235, 312, 262, 412, 426, 511, 208, 347, 492, 108516 /* 600 */ 598, 391, 324, 262, 549, 264, 411, 425, 407, 573, | 108582 /* 600 */ 600, 50, 47, 146, 410, 426, 579, 579, 621, 415, 108517 /* 610 */ 572, 12, 197, 143, 489, 50, 47, 146, 617, 616, | 108583 /* 610 */ 430, 67, 199, 143, 621, 166, 474, 601, 69, 317, 108518 /* 620 */ 206, 414, 588, 582, 547, 429, 67, 212, 143, 618, | 108584 /* 620 */ 475, 435, 590, 584, 274, 234, 233, 958, 184, 420, 108519 /* 630 */ 599, 73, 504, 505, 207, 434, 475, 475, 366, 425, | 108585 /* 630 */ 2, 600, 358, 552, 366, 470, 336, 476, 476, 368, 108520 /* 640 */ 35, 57, 58, 48, 580, 579, 581, 581, 55, 55, | 108586 /* 640 */ 359, 57, 58, 48, 582, 581, 583, 583, 55, 55, 108521 /* 650 */ 56, 56, 56, 56, 598, 54, 54, 54, 54, 53, | 108587 /* 650 */ 56, 56, 56, 56, 354, 54, 54, 54, 54, 53, 108522 /* 660 */ 53, 52, 52, 52, 51, 233, 310, 260, 598, 569, | 108588 /* 660 */ 53, 52, 52, 52, 51, 235, 312, 412, 572, 572, 108523 /* 670 */ 268, 615, 614, 613, 171, 411, 595, 11, 411, 350, | 108589 /* 670 */ 271, 412, 558, 874, 361, 213, 143, 412, 50, 47, 108524 /* 680 */ 411, 32, 618, 953, 183, 419, 2, 627, 625, 330, | 108590 /* 680 */ 146, 30, 415, 540, 355, 334, 415, 412, 629, 2, 108525 /* 690 */ 414, 352, 552, 414, 538, 414, 588, 582, 188, 599, | 108591 /* 690 */ 601, 94, 415, 513, 601, 97, 590, 584, 621, 621, 108526 /* 700 */ 69, 551, 599, 94, 599, 97, 374, 544, 166, 618, | 108592 /* 700 */ 601, 95, 415, 306, 424, 630, 628, 332, 173, 269, 108527 /* 710 */ 334, 359, 50, 47, 146, 57, 58, 48, 580, 579, | 108593 /* 710 */ 601, 104, 171, 546, 597, 57, 58, 48, 582, 581, 108528 /* 720 */ 581, 581, 55, 55, 56, 56, 56, 56, 411, 54, | 108594 /* 720 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, 108529 /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | 108595 /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, 108530 /* 740 */ 310, 411, 129, 414, 595, 22, 273, 156, 411, 566, | 108596 /* 740 */ 312, 412, 275, 415, 412, 22, 329, 340, 423, 544, 108531 /* 750 */ 406, 213, 599, 95, 570, 570, 414, 327, 169, 332, | 108597 /* 750 */ 217, 601, 103, 568, 407, 214, 415, 621, 35, 415, 108532 /* 760 */ 411, 618, 536, 414, 358, 599, 104, 483, 508, 356, | 108598 /* 760 */ 412, 540, 412, 12, 601, 105, 237, 601, 106, 11, 108533 /* 770 */ 588, 582, 599, 103, 484, 414, 470, 357, 166, 618, | 108599 /* 770 */ 590, 584, 50, 47, 146, 415, 621, 415, 353, 325, 108534 /* 780 */ 626, 2, 204, 323, 599, 105, 40, 528, 38, 57, | 108600 /* 780 */ 164, 129, 597, 601, 133, 601, 134, 207, 287, 57, 108535 /* 790 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56, | 108601 /* 790 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56, 108536 /* 800 */ 56, 56, 411, 54, 54, 54, 54, 53, 53, 52, | 108602 /* 800 */ 56, 56, 412, 54, 54, 54, 54, 53, 53, 52, 108537 /* 810 */ 52, 52, 51, 233, 310, 411, 598, 414, 411, 260, | 108603 /* 810 */ 52, 52, 51, 235, 312, 412, 275, 415, 412, 275, 108538 /* 820 */ 273, 273, 273, 273, 426, 305, 599, 106, 520, 519, | 108604 /* 820 */ 275, 600, 275, 544, 367, 601, 98, 542, 412, 170, 108539 /* 830 */ 414, 411, 142, 414, 618, 618, 618, 618, 618, 599, | 108605 /* 830 */ 415, 621, 524, 415, 621, 621, 169, 621, 601, 102, 108540 /* 840 */ 133, 339, 599, 134, 588, 582, 414, 21, 30, 316, | 108606 /* 840 */ 604, 601, 101, 415, 590, 584, 352, 21, 500, 32, 108541 /* 850 */ 147, 459, 221, 170, 527, 599, 98, 222, 322, 321, | 108607 /* 850 */ 166, 601, 93, 223, 318, 147, 324, 323, 272, 322, 108542 /* 860 */ 320, 141, 259, 57, 58, 48, 580, 579, 581, 581, | 108608 /* 860 */ 166, 205, 285, 57, 58, 48, 582, 581, 583, 583, 108543 /* 870 */ 55, 55, 56, 56, 56, 56, 411, 54, 54, 54, | 108609 /* 870 */ 55, 55, 56, 56, 56, 56, 412, 54, 54, 54, 108544 /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 411, | 108610 /* 880 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 412, 108545 /* 890 */ 260, 414, 411, 458, 200, 35, 411, 358, 211, 228, | 108611 /* 890 */ 262, 415, 412, 538, 360, 600, 360, 202, 142, 601, 108546 /* 900 */ 599, 102, 468, 519, 414, 618, 28, 414, 538, 501, | 108612 /* 900 */ 100, 376, 412, 166, 415, 621, 540, 415, 360, 621, 108547 /* 910 */ 411, 414, 618, 599, 101, 358, 599, 93, 588, 582, | 108613 /* 910 */ 141, 621, 601, 77, 230, 601, 96, 415, 590, 584, 108548 /* 920 */ 599, 100, 522, 618, 427, 414, 306, 271, 598, 380, | 108614 /* 920 */ 341, 621, 530, 621, 529, 601, 137, 471, 382, 166, 108549 /* 930 */ 618, 602, 598, 452, 599, 77, 210, 57, 58, 48, | 108615 /* 930 */ 460, 600, 170, 453, 427, 307, 28, 57, 58, 48, 108550 /* 940 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56, | 108616 /* 940 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56, 108551 /* 950 */ 411, 54, 54, 54, 54, 53, 53, 52, 52, 52, | 108617 /* 950 */ 412, 54, 54, 54, 54, 53, 53, 52, 52, 52, 108552 /* 960 */ 51, 233, 310, 411, 621, 414, 411, 127, 609, 270, | 108618 /* 960 */ 51, 235, 312, 412, 503, 415, 412, 212, 459, 321, 108553 /* 970 */ 598, 365, 51, 233, 599, 96, 625, 330, 414, 618, | 108619 /* 970 */ 35, 211, 127, 601, 136, 428, 412, 308, 415, 412, 108554 /* 980 */ 126, 414, 411, 618, 411, 253, 608, 599, 137, 27, | 108620 /* 980 */ 273, 415, 222, 126, 255, 27, 601, 135, 377, 601, 108555 /* 990 */ 599, 136, 588, 582, 375, 260, 125, 414, 164, 414, | 108621 /* 990 */ 76, 415, 590, 584, 415, 262, 220, 51, 235, 601, 108556 /* 1000 */ 371, 618, 279, 219, 542, 542, 599, 135, 599, 76, | 108622 /* 1000 */ 90, 600, 601, 89, 125, 600, 281, 522, 521, 373, 108557 /* 1010 */ 618, 57, 46, 48, 580, 579, 581, 581, 55, 55, | 108623 /* 1010 */ 621, 57, 46, 48, 582, 581, 583, 583, 55, 55, 108558 /* 1020 */ 56, 56, 56, 56, 411, 54, 54, 54, 54, 53, | 108624 /* 1020 */ 56, 56, 56, 56, 412, 54, 54, 54, 54, 53, 108559 /* 1030 */ 53, 52, 52, 52, 51, 233, 310, 411, 450, 414, | 108625 /* 1030 */ 53, 52, 52, 52, 51, 235, 312, 412, 451, 415, 108560 /* 1040 */ 411, 260, 542, 229, 285, 607, 479, 184, 599, 90, | 108626 /* 1040 */ 165, 624, 612, 611, 469, 521, 480, 601, 75, 185, 108561 /* 1050 */ 367, 122, 414, 476, 121, 414, 618, 170, 411, 353, | 108627 /* 1050 */ 412, 122, 415, 412, 369, 412, 621, 621, 621, 477, 108562 /* 1060 */ 618, 599, 89, 410, 599, 75, 588, 582, 472, 257, | 108628 /* 1060 */ 601, 88, 589, 588, 170, 415, 590, 584, 415, 121, 108563 /* 1070 */ 538, 120, 159, 414, 618, 14, 464, 158, 618, 157, | 108629 /* 1070 */ 415, 473, 259, 601, 87, 159, 601, 99, 601, 86, 108564 /* 1080 */ 461, 283, 599, 88, 449, 618, 58, 48, 580, 579, | 108630 /* 1080 */ 628, 332, 120, 14, 586, 585, 58, 48, 582, 581, 108565 /* 1090 */ 581, 581, 55, 55, 56, 56, 56, 56, 411, 54, | 108631 /* 1090 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, 108566 /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233, | 108632 /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235, 108567 /* 1110 */ 310, 411, 260, 414, 411, 592, 260, 118, 25, 400, | 108633 /* 1110 */ 312, 587, 412, 415, 412, 465, 262, 262, 610, 605, 108568 /* 1120 */ 10, 24, 599, 87, 117, 216, 414, 618, 349, 414, | 108634 /* 1120 */ 158, 601, 17, 157, 412, 462, 25, 415, 118, 415, 108569 /* 1130 */ 618, 618, 411, 319, 618, 599, 99, 555, 599, 86, | 108635 /* 1130 */ 412, 621, 621, 621, 621, 601, 85, 601, 84, 415, 108570 /* 1140 */ 588, 582, 4, 260, 457, 455, 115, 414, 251, 154, | 108636 /* 1140 */ 590, 584, 411, 262, 24, 415, 117, 601, 83, 10, 108571 /* 1150 */ 451, 108, 618, 110, 436, 448, 599, 17, 618, 218, | 108637 /* 1150 */ 351, 4, 115, 601, 72, 458, 456, 621, 621, 450, 108572 /* 1160 */ 107, 48, 580, 579, 581, 581, 55, 55, 56, 56, | 108638 /* 1160 */ 449, 48, 582, 581, 583, 583, 55, 55, 56, 56, 108573 /* 1170 */ 56, 56, 435, 54, 54, 54, 54, 53, 53, 52, | 108639 /* 1170 */ 56, 56, 253, 54, 54, 54, 54, 53, 53, 52, 108574 /* 1180 */ 52, 52, 51, 233, 44, 405, 217, 3, 411, 260, | 108640 /* 1180 */ 52, 52, 51, 235, 44, 406, 219, 3, 412, 452, 108575 /* 1190 */ 543, 415, 619, 445, 64, 149, 539, 237, 333, 329, | 108641 /* 1190 */ 262, 416, 622, 154, 594, 110, 107, 108, 401, 446, 108576 /* 1200 */ 203, 187, 408, 414, 618, 618, 420, 44, 405, 411, | 108642 /* 1200 */ 64, 557, 409, 415, 412, 621, 437, 44, 406, 621, 108577 /* 1210 */ 3, 618, 599, 85, 415, 619, 148, 227, 622, 179, | 108643 /* 1210 */ 3, 601, 71, 621, 416, 622, 621, 545, 335, 415, 108578 /* 1220 */ 313, 403, 312, 612, 414, 408, 611, 124, 417, 178, | 108644 /* 1220 */ 436, 404, 149, 239, 262, 409, 188, 601, 82, 331, 108579 /* 1230 */ 610, 564, 243, 599, 84, 537, 8, 176, 235, 416, | 108645 /* 1230 */ 541, 566, 621, 218, 421, 539, 229, 139, 124, 621, 108580 /* 1240 */ 294, 418, 623, 30, 403, 597, 411, 236, 293, 123, | 108646 /* 1240 */ 148, 419, 626, 625, 404, 621, 412, 238, 315, 123, 108581 /* 1250 */ 618, 41, 42, 532, 564, 205, 292, 275, 43, 413, | 108647 /* 1250 */ 621, 41, 42, 534, 566, 206, 412, 277, 43, 414, 108582 /* 1260 */ 412, 414, 395, 593, 507, 274, 31, 397, 291, 37, | 108648 /* 1260 */ 413, 415, 509, 595, 314, 615, 180, 245, 614, 601, 108583 /* 1270 */ 599, 83, 618, 491, 41, 42, 267, 411, 265, 618, | 108649 /* 1270 */ 81, 415, 621, 276, 41, 42, 613, 621, 412, 601, 108584 /* 1280 */ 618, 43, 413, 412, 596, 263, 593, 60, 618, 598, | 108650 /* 1280 */ 80, 43, 414, 413, 179, 270, 595, 418, 621, 600, 108585 /* 1290 */ 261, 618, 414, 618, 591, 591, 591, 590, 589, 13, | 108651 /* 1290 */ 484, 8, 177, 415, 593, 593, 593, 592, 591, 13, 108586 /* 1300 */ 618, 599, 72, 554, 235, 618, 44, 405, 256, 3, | 108652 /* 1300 */ 621, 601, 70, 417, 237, 621, 44, 406, 267, 3, 108587 /* 1310 */ 361, 172, 340, 415, 619, 230, 411, 591, 591, 591, | 108653 /* 1310 */ 237, 265, 342, 416, 622, 599, 296, 593, 593, 593, 108588 /* 1320 */ 590, 589, 13, 618, 408, 618, 182, 411, 286, 34, | 108654 /* 1320 */ 592, 591, 13, 621, 409, 412, 621, 412, 396, 34, 108589 /* 1330 */ 405, 414, 3, 411, 463, 411, 415, 619, 29, 331, | 108655 /* 1330 */ 406, 412, 3, 31, 30, 294, 416, 622, 293, 333, 108590 /* 1340 */ 599, 71, 414, 403, 392, 386, 284, 408, 414, 618, | 108656 /* 1340 */ 415, 263, 415, 404, 398, 258, 415, 409, 601, 18, 108591 /* 1350 */ 414, 599, 82, 564, 411, 462, 354, 599, 81, 599, | 108657 /* 1350 */ 601, 79, 363, 566, 601, 78, 621, 295, 60, 37, 108592 /* 1360 */ 80, 541, 250, 535, 282, 521, 403, 534, 516, 414, | 108658 /* 1360 */ 621, 172, 464, 390, 463, 598, 404, 621, 356, 288, 108593 /* 1370 */ 618, 618, 454, 41, 42, 411, 564, 618, 599, 70, | 108659 /* 1370 */ 232, 29, 556, 41, 42, 252, 566, 621, 415, 621, 108594 /* 1380 */ 43, 413, 412, 444, 515, 593, 242, 618, 325, 61, | 108660 /* 1380 */ 43, 414, 413, 621, 455, 595, 601, 9, 183, 61, 108595 /* 1390 */ 414, 277, 239, 620, 619, 238, 41, 42, 618, 599, | 108661 /* 1390 */ 621, 543, 445, 623, 622, 244, 41, 42, 241, 621, 108596 /* 1400 */ 18, 618, 512, 43, 413, 412, 511, 618, 593, 430, | 108662 /* 1400 */ 240, 393, 286, 43, 414, 413, 284, 621, 595, 431, 108597 /* 1410 */ 618, 411, 128, 510, 308, 226, 591, 591, 591, 590, | 108663 /* 1410 */ 621, 291, 537, 621, 536, 621, 593, 593, 593, 592, 108598 /* 1420 */ 589, 13, 215, 289, 618, 225, 414, 302, 301, 300, | 108664 /* 1420 */ 591, 13, 216, 144, 621, 387, 621, 304, 303, 302, 108599 /* 1430 */ 177, 298, 411, 564, 453, 599, 79, 224, 618, 591, | 108665 /* 1430 */ 178, 300, 394, 566, 454, 517, 290, 523, 621, 593, 108600 /* 1440 */ 591, 591, 590, 589, 13, 389, 492, 414, 150, 144, | 108666 /* 1440 */ 593, 593, 592, 591, 13, 518, 327, 621, 150, 279, 108601 /* 1450 */ 241, 393, 288, 191, 190, 193, 599, 78, 165, 240, | 108667 /* 1450 */ 243, 621, 514, 192, 191, 513, 512, 310, 128, 242, 108602 /* 1460 */ 414, 524, 487, 307, 618, 593, 618, 618, 486, 599, | 108668 /* 1460 */ 228, 526, 227, 226, 490, 595, 494, 489, 488, 309, 108603 /* 1470 */ 9, 163, 152, 485, 466, 372, 480, 162, 153, 370, | 108669 /* 1470 */ 194, 164, 152, 163, 467, 374, 481, 372, 153, 162, 108604 /* 1480 */ 161, 151, 209, 478, 258, 368, 477, 26, 160, 467, | 108670 /* 1480 */ 161, 151, 210, 479, 260, 370, 26, 478, 160, 468, 108605 /* 1490 */ 140, 362, 131, 119, 116, 456, 591, 591, 591, 155, | 108671 /* 1490 */ 364, 140, 119, 116, 131, 457, 593, 593, 593, 155, 108606 /* 1500 */ 114, 344, 343, 113, 112, 111, 447, 109, 130, 23, | 108672 /* 1500 */ 114, 346, 345, 113, 112, 111, 448, 109, 130, 23, 108607 /* 1510 */ 317, 433, 20, 432, 431, 428, 606, 594, 63, 189, | 108673 /* 1510 */ 319, 20, 434, 433, 432, 63, 429, 609, 190, 510, 108608 /* 1520 */ 404, 571, 255, 342, 244, 295, 287, 278, 311, 508, | 108674 /* 1520 */ 596, 405, 257, 344, 246, 297, 280, 573, 313, 570, 108609 /* 1530 */ 496, 497, 495, 235, 493, 568, 379, 355, 460, 245, | 108675 /* 1530 */ 195, 499, 498, 237, 497, 495, 381, 289, 461, 247, 108610 /* 1540 */ 341, 446, 303, 567, 5, 252, 548, 208, 139, 506, | 108676 /* 1540 */ 357, 254, 305, 343, 5, 447, 569, 209, 550, 371, 108611 /* 1550 */ 369, 401, 500, 499, 296, 525, 335, 488, 482, 523, | 108677 /* 1550 */ 508, 491, 402, 502, 501, 298, 337, 527, 525, 485, 108612 /* 1560 */ 233, | 108678 /* 1560 */ 483, 235, 108613 }; 108679 }; 108614 static const YYCODETYPE yy_lookahead[] = { 108680 static const YYCODETYPE yy_lookahead[] = { 108615 /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78, 108681 /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78, 108616 /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 108682 /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 108617 /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1, 108683 /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1, 108618 /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84, 108684 /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84, 108619 /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, 108685 /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68, 108620 /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 108686 /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 108621 /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88, 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 /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, 108689 /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, 108624 /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150, 108690 /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150, 108625 /* 100 */ 23, 150, 25, 116, 49, 50, 177, 158, 227, 54, | 108691 /* 100 */ 26, 150, 22, 116, 49, 50, 26, 158, 227, 54, 108626 /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 160, | 108692 /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 7, 108627 /* 120 */ 22, 170, 171, 68, 69, 70, 71, 72, 73, 74, | 108693 /* 120 */ 8, 170, 171, 68, 69, 70, 71, 72, 73, 74, 108628 /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84, 108694 /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84, 108629 /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, 108695 /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92, 108630 /* 150 */ 221, 222, 223, 194, 97, 98, 99, 100, 101, 102, | 108696 /* 150 */ 7, 8, 9, 96, 97, 98, 99, 100, 101, 102, 108631 /* 160 */ 150, 32, 26, 27, 26, 27, 109, 22, 150, 150, | 108697 /* 160 */ 150, 32, 26, 27, 26, 27, 109, 150, 94, 150, 108632 /* 170 */ 41, 161, 162, 96, 76, 165, 217, 150, 49, 50, | 108698 /* 170 */ 41, 161, 162, 22, 94, 165, 97, 98, 49, 50, 108633 /* 180 */ 229, 230, 172, 165, 165, 94, 95, 118, 170, 171, | 108699 /* 180 */ 229, 230, 165, 19, 165, 94, 95, 170, 171, 26, 108634 /* 190 */ 118, 232, 165, 174, 175, 185, 237, 68, 69, 70, | 108700 /* 190 */ 27, 27, 173, 174, 184, 185, 118, 68, 69, 70, 108635 /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 108701 /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 108636 /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, 108702 /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90, 108637 /* 220 */ 91, 92, 19, 11, 86, 87, 19, 24, 7, 8, | 108703 /* 220 */ 91, 92, 19, 150, 86, 87, 36, 24, 180, 181, 108638 /* 230 */ 94, 95, 94, 95, 215, 97, 150, 22, 98, 220, | 108704 /* 230 */ 94, 95, 94, 95, 215, 97, 188, 66, 165, 220, 108639 /* 240 */ 150, 26, 104, 216, 106, 26, 27, 229, 230, 109, | 108705 /* 240 */ 150, 51, 104, 23, 106, 113, 229, 230, 58, 117, 108640 /* 250 */ 160, 165, 49, 50, 25, 165, 120, 50, 22, 197, | 108706 /* 250 */ 160, 88, 49, 50, 22, 165, 120, 94, 95, 99, 108641 /* 260 */ 174, 175, 26, 27, 174, 175, 204, 129, 130, 57, | 108707 /* 260 */ 100, 101, 22, 173, 174, 94, 193, 129, 130, 98, 108642 /* 270 */ 66, 68, 69, 70, 71, 72, 73, 74, 75, 76, | 108708 /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76, 108643 /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, 108709 /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, 108644 /* 290 */ 87, 88, 89, 90, 91, 92, 19, 150, 94, 86, | 108710 /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 108, 12, 108645 /* 300 */ 87, 215, 98, 25, 12, 215, 220, 160, 118, 94, | 108711 /* 300 */ 129, 130, 131, 98, 163, 215, 150, 166, 167, 168, 108646 /* 310 */ 220, 104, 165, 94, 95, 88, 109, 105, 106, 107, | 108712 /* 310 */ 220, 26, 27, 22, 109, 28, 76, 26, 27, 50, 108647 /* 320 */ 28, 174, 175, 26, 27, 22, 49, 50, 116, 57, | 108713 /* 320 */ 23, 165, 25, 169, 170, 171, 49, 50, 118, 173, 108648 /* 330 */ 94, 95, 103, 129, 130, 131, 44, 113, 46, 120, | 108714 /* 330 */ 174, 44, 112, 46, 114, 115, 22, 23, 26, 27, 108649 /* 340 */ 113, 194, 129, 130, 117, 68, 69, 70, 71, 72, | 108715 /* 340 */ 160, 129, 130, 57, 57, 68, 69, 70, 71, 72, 108650 /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 177, 82, | 108716 /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82, 108651 /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 108717 /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 108652 /* 370 */ 19, 163, 150, 95, 166, 167, 168, 105, 106, 107, | 108718 /* 370 */ 19, 215, 150, 104, 194, 150, 220, 25, 23, 94, 108653 /* 380 */ 105, 106, 107, 49, 50, 88, 113, 165, 116, 118, | 108719 /* 380 */ 95, 67, 160, 118, 230, 94, 95, 165, 25, 150, 108654 /* 390 */ 117, 94, 95, 150, 26, 27, 174, 175, 120, 23, | 108720 /* 390 */ 165, 105, 106, 107, 118, 173, 174, 217, 173, 174, 108655 /* 400 */ 49, 50, 221, 222, 223, 71, 72, 21, 165, 16, | 108721 /* 400 */ 49, 50, 116, 57, 165, 120, 94, 95, 96, 26, 108656 /* 410 */ 23, 166, 22, 136, 22, 23, 11, 174, 175, 68, | 108722 /* 410 */ 27, 166, 232, 136, 16, 113, 194, 237, 176, 68, 108657 /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 108723 /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 108658 /* 430 */ 79, 80, 98, 82, 83, 84, 85, 86, 87, 88, | 108724 /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, 108659 /* 440 */ 89, 90, 91, 92, 19, 12, 224, 23, 23, 63, | 108725 /* 440 */ 89, 90, 91, 92, 19, 32, 23, 95, 23, 224, 108660 /* 450 */ 205, 23, 23, 60, 25, 62, 150, 214, 150, 67, | 108726 /* 450 */ 205, 105, 106, 107, 41, 216, 150, 23, 60, 25, 108661 /* 460 */ 22, 28, 94, 95, 96, 23, 221, 222, 223, 23, | 108727 /* 460 */ 62, 150, 116, 221, 222, 223, 150, 112, 150, 114, 108662 /* 470 */ 23, 165, 25, 165, 49, 50, 23, 44, 25, 46, | 108728 /* 470 */ 115, 165, 120, 23, 49, 50, 165, 94, 95, 173, 108663 /* 480 */ 174, 175, 174, 175, 23, 26, 100, 136, 25, 112, | 108729 /* 480 */ 174, 165, 119, 165, 173, 174, 16, 136, 166, 173, 108664 /* 490 */ 57, 114, 115, 68, 69, 70, 71, 72, 73, 74, | 108730 /* 490 */ 174, 173, 174, 68, 69, 70, 71, 72, 73, 74, 108665 /* 500 */ 75, 76, 77, 78, 79, 80, 97, 82, 83, 84, | 108731 /* 500 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84, 108666 /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 22, | 108732 /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 11, 108667 /* 520 */ 23, 215, 23, 215, 138, 116, 50, 23, 30, 25, | 108733 /* 520 */ 214, 112, 23, 114, 115, 12, 215, 205, 22, 95, 108668 /* 530 */ 36, 138, 34, 99, 100, 101, 112, 128, 114, 115, | 108734 /* 530 */ 60, 215, 62, 88, 19, 112, 138, 114, 115, 197, 108669 /* 540 */ 112, 23, 114, 115, 110, 51, 48, 173, 49, 50, | 108735 /* 540 */ 135, 28, 137, 221, 222, 223, 204, 172, 49, 50, 108670 /* 550 */ 26, 27, 58, 94, 112, 181, 114, 115, 112, 16, | 108736 /* 550 */ 22, 23, 23, 25, 120, 180, 21, 44, 113, 46, 108671 /* 560 */ 114, 115, 22, 23, 67, 25, 160, 68, 69, 70, | 108737 /* 560 */ 22, 23, 117, 25, 23, 50, 160, 68, 69, 70, 108672 /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 108738 /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 108673 /* 580 */ 104, 82, 83, 84, 85, 86, 87, 88, 89, 90, | 108739 /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, 108674 /* 590 */ 91, 92, 19, 19, 22, 23, 23, 25, 23, 95, | 108740 /* 590 */ 91, 92, 19, 150, 150, 67, 23, 160, 63, 150, 108675 /* 600 */ 194, 27, 108, 60, 25, 62, 150, 67, 169, 170, | 108741 /* 600 */ 194, 221, 222, 223, 112, 67, 114, 115, 165, 165, 108676 /* 610 */ 171, 35, 206, 207, 150, 221, 222, 223, 94, 95, | 108742 /* 610 */ 161, 162, 206, 207, 165, 25, 30, 173, 174, 104, 108677 /* 620 */ 160, 165, 49, 50, 120, 161, 162, 206, 207, 165, | 108743 /* 620 */ 34, 241, 49, 50, 109, 86, 87, 142, 143, 144, 108678 /* 630 */ 174, 175, 97, 98, 160, 241, 105, 106, 107, 67, | 108744 /* 630 */ 145, 194, 19, 176, 48, 100, 193, 105, 106, 107, 108679 /* 640 */ 25, 68, 69, 70, 71, 72, 73, 74, 75, 76, | 108745 /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76, 108680 /* 650 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, | 108746 /* 650 */ 77, 78, 79, 80, 217, 82, 83, 84, 85, 86, 108681 /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 194, 230, | 108747 /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 129, 130, 108682 /* 670 */ 23, 7, 8, 9, 24, 150, 26, 35, 150, 219, | 108748 /* 670 */ 23, 150, 23, 138, 237, 206, 207, 150, 221, 222, 108683 /* 680 */ 150, 25, 165, 142, 143, 144, 145, 0, 1, 2, | 108749 /* 680 */ 223, 126, 165, 150, 150, 242, 165, 150, 144, 145, 108684 /* 690 */ 165, 217, 32, 165, 150, 165, 49, 50, 119, 174, | 108750 /* 690 */ 173, 174, 165, 103, 173, 174, 49, 50, 165, 165, 108685 /* 700 */ 175, 41, 174, 175, 174, 175, 23, 120, 25, 165, | 108751 /* 700 */ 173, 174, 165, 22, 23, 0, 1, 2, 25, 25, 108686 /* 710 */ 193, 237, 221, 222, 223, 68, 69, 70, 71, 72, | 108752 /* 710 */ 173, 174, 24, 120, 26, 68, 69, 70, 71, 72, 108687 /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, 108753 /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, 108688 /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 108754 /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 108689 /* 740 */ 19, 150, 22, 165, 94, 24, 150, 25, 150, 166, | 108755 /* 740 */ 19, 150, 150, 165, 150, 24, 213, 97, 67, 166, 108690 /* 750 */ 167, 168, 174, 175, 129, 130, 165, 213, 35, 242, | 108756 /* 750 */ 216, 173, 174, 166, 167, 168, 165, 165, 25, 165, 108691 /* 760 */ 150, 165, 27, 165, 150, 174, 175, 181, 182, 19, | 108757 /* 760 */ 150, 150, 150, 35, 173, 174, 116, 173, 174, 35, 108692 /* 770 */ 49, 50, 174, 175, 188, 165, 23, 27, 25, 165, | 108758 /* 770 */ 49, 50, 221, 222, 223, 165, 165, 165, 128, 187, 108693 /* 780 */ 144, 145, 160, 187, 174, 175, 135, 23, 137, 68, | 108759 /* 780 */ 96, 22, 94, 173, 174, 173, 174, 160, 205, 68, 108694 /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 108760 /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 108695 /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, 108761 /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, 108696 /* 810 */ 89, 90, 91, 92, 19, 150, 194, 165, 150, 150, | 108762 /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 150, 150, 108697 /* 820 */ 150, 150, 150, 150, 247, 248, 174, 175, 190, 191, | 108763 /* 820 */ 150, 194, 150, 166, 213, 173, 174, 23, 150, 25, 108698 /* 830 */ 165, 150, 118, 165, 165, 165, 165, 165, 165, 174, | 108764 /* 830 */ 165, 165, 165, 165, 165, 165, 35, 165, 173, 174, 108699 /* 840 */ 175, 219, 174, 175, 49, 50, 165, 52, 126, 245, | 108765 /* 840 */ 173, 173, 174, 165, 49, 50, 219, 52, 23, 25, 108700 /* 850 */ 246, 23, 238, 25, 23, 174, 175, 187, 187, 187, | 108766 /* 850 */ 25, 173, 174, 187, 245, 246, 187, 187, 23, 187, 108701 /* 860 */ 187, 39, 193, 68, 69, 70, 71, 72, 73, 74, | 108767 /* 860 */ 25, 160, 205, 68, 69, 70, 71, 72, 73, 74, 108702 /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, 108768 /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, 108703 /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, 108769 /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, 108704 /* 890 */ 150, 165, 150, 23, 160, 25, 150, 150, 160, 52, | 108770 /* 890 */ 150, 165, 150, 27, 150, 194, 150, 160, 118, 173, 108705 /* 900 */ 174, 175, 190, 191, 165, 165, 22, 165, 150, 29, | 108771 /* 900 */ 174, 23, 150, 25, 165, 165, 150, 165, 150, 165, 108706 /* 910 */ 150, 165, 165, 174, 175, 150, 174, 175, 49, 50, | 108772 /* 910 */ 39, 165, 173, 174, 52, 173, 174, 165, 49, 50, 108707 /* 920 */ 174, 175, 165, 165, 23, 165, 25, 25, 194, 52, | 108773 /* 920 */ 219, 165, 23, 165, 23, 173, 174, 23, 52, 25, 108708 /* 930 */ 165, 174, 194, 193, 174, 175, 160, 68, 69, 70, | 108774 /* 930 */ 23, 194, 25, 193, 247, 248, 22, 68, 69, 70, 108709 /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 108775 /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 108710 /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, 108776 /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, 108711 /* 960 */ 91, 92, 19, 150, 150, 165, 150, 22, 150, 23, | 108777 /* 960 */ 91, 92, 19, 150, 29, 165, 150, 160, 23, 213, 108712 /* 970 */ 194, 213, 91, 92, 174, 175, 1, 2, 165, 165, | 108778 /* 970 */ 25, 160, 22, 173, 174, 23, 150, 25, 165, 150, 108713 /* 980 */ 22, 165, 150, 165, 150, 238, 150, 174, 175, 22, | 108779 /* 980 */ 23, 165, 238, 22, 238, 22, 173, 174, 52, 173, 108714 /* 990 */ 174, 175, 49, 50, 52, 150, 22, 165, 102, 165, | 108780 /* 990 */ 174, 165, 49, 50, 165, 150, 238, 91, 92, 173, 108715 /* 1000 */ 19, 165, 109, 238, 166, 166, 174, 175, 174, 175, | 108781 /* 1000 */ 174, 194, 173, 174, 22, 194, 109, 190, 191, 19, 108716 /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, 108782 /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76, 108717 /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, 108783 /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, 108718 /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, 108784 /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165, 108719 /* 1040 */ 150, 150, 166, 205, 205, 150, 20, 24, 174, 175, | 108785 /* 1040 */ 102, 150, 150, 150, 190, 191, 20, 173, 174, 24, 108720 /* 1050 */ 43, 104, 165, 59, 53, 165, 165, 25, 150, 150, | 108786 /* 1050 */ 150, 104, 165, 150, 43, 150, 165, 165, 165, 59, 108721 /* 1060 */ 165, 174, 175, 150, 174, 175, 49, 50, 53, 138, | 108787 /* 1060 */ 173, 174, 49, 50, 25, 165, 49, 50, 165, 53, 108722 /* 1070 */ 150, 22, 104, 165, 165, 5, 1, 118, 165, 35, | 108788 /* 1070 */ 165, 53, 138, 173, 174, 104, 173, 174, 173, 174, 108723 /* 1080 */ 27, 205, 174, 175, 193, 165, 69, 70, 71, 72, | 108789 /* 1080 */ 1, 2, 22, 5, 71, 72, 69, 70, 71, 72, 108724 /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, 108790 /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, 108725 /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 108791 /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 108726 /* 1110 */ 19, 150, 150, 165, 150, 150, 150, 108, 76, 150, | 108792 /* 1110 */ 19, 98, 150, 165, 150, 1, 150, 150, 150, 150, 108727 /* 1120 */ 22, 76, 174, 175, 127, 216, 165, 165, 25, 165, | 108793 /* 1120 */ 118, 173, 174, 35, 150, 27, 76, 165, 108, 165, 108728 /* 1130 */ 165, 165, 150, 213, 165, 174, 175, 150, 174, 175, | 108794 /* 1130 */ 150, 165, 165, 165, 165, 173, 174, 173, 174, 165, 108729 /* 1140 */ 49, 50, 22, 150, 23, 1, 119, 165, 16, 121, | 108795 /* 1140 */ 49, 50, 150, 150, 76, 165, 127, 173, 174, 22, 108730 /* 1150 */ 20, 108, 165, 119, 23, 193, 174, 175, 165, 193, | 108796 /* 1150 */ 25, 22, 119, 173, 174, 23, 1, 165, 165, 193, 108731 /* 1160 */ 127, 70, 71, 72, 73, 74, 75, 76, 77, 78, | 108797 /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78, 108732 /* 1170 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, | 108798 /* 1170 */ 79, 80, 16, 82, 83, 84, 85, 86, 87, 88, 108733 /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 150, | 108799 /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 20, 108734 /* 1190 */ 150, 26, 27, 128, 16, 15, 150, 140, 65, 3, | 108800 /* 1190 */ 150, 26, 27, 121, 150, 119, 127, 108, 150, 128, 108735 /* 1200 */ 164, 22, 37, 165, 165, 165, 4, 19, 20, 150, | 108801 /* 1200 */ 16, 150, 37, 165, 150, 165, 23, 19, 20, 165, 108736 /* 1210 */ 22, 165, 174, 175, 26, 27, 246, 180, 149, 6, | 108802 /* 1210 */ 22, 173, 174, 165, 26, 27, 165, 150, 65, 165, 108737 /* 1220 */ 249, 56, 249, 149, 165, 37, 149, 180, 149, 151, | 108803 /* 1220 */ 23, 56, 15, 140, 150, 37, 22, 173, 174, 3, 108738 /* 1230 */ 13, 66, 193, 174, 175, 150, 25, 151, 116, 159, | 108804 /* 1230 */ 150, 66, 165, 193, 4, 150, 179, 164, 179, 165, 108739 /* 1240 */ 199, 146, 147, 126, 56, 194, 150, 152, 200, 154, | 108805 /* 1240 */ 246, 146, 147, 149, 56, 165, 150, 152, 249, 154, 108740 /* 1250 */ 165, 86, 87, 88, 66, 160, 201, 150, 93, 94, | 108806 /* 1250 */ 165, 86, 87, 88, 66, 160, 150, 150, 93, 94, 108741 /* 1260 */ 95, 165, 123, 98, 150, 150, 124, 122, 202, 135, | 108807 /* 1260 */ 95, 165, 150, 98, 249, 149, 6, 193, 149, 173, 108742 /* 1270 */ 174, 175, 165, 150, 86, 87, 150, 150, 150, 165, | 108808 /* 1270 */ 174, 165, 165, 150, 86, 87, 13, 165, 150, 173, 108743 /* 1280 */ 165, 93, 94, 95, 203, 150, 98, 125, 165, 194, | 108809 /* 1280 */ 174, 93, 94, 95, 151, 150, 98, 149, 165, 194, 108744 /* 1290 */ 150, 165, 165, 165, 129, 130, 131, 132, 133, 134, | 108810 /* 1290 */ 150, 25, 151, 165, 129, 130, 131, 132, 133, 134, 108745 /* 1300 */ 165, 174, 175, 157, 116, 165, 19, 20, 150, 22, | 108811 /* 1300 */ 165, 173, 174, 159, 116, 165, 19, 20, 150, 22, 108746 /* 1310 */ 150, 118, 217, 26, 27, 225, 150, 129, 130, 131, | 108812 /* 1310 */ 116, 150, 217, 26, 27, 194, 199, 129, 130, 131, 108747 /* 1320 */ 132, 133, 134, 165, 37, 165, 157, 150, 210, 19, | 108813 /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 123, 19, 108748 /* 1330 */ 20, 165, 22, 150, 150, 150, 26, 27, 104, 244, | 108814 /* 1330 */ 20, 150, 22, 124, 126, 201, 26, 27, 202, 244, 108749 /* 1340 */ 174, 175, 165, 56, 121, 104, 210, 37, 165, 165, | 108815 /* 1340 */ 165, 150, 165, 56, 122, 150, 165, 37, 173, 174, 108750 /* 1350 */ 165, 174, 175, 66, 150, 150, 150, 174, 175, 174, | 108816 /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 200, 125, 135, 108751 /* 1360 */ 175, 211, 150, 211, 210, 176, 56, 211, 176, 165, | 108817 /* 1360 */ 165, 118, 150, 150, 150, 203, 56, 165, 150, 210, 108752 /* 1370 */ 165, 165, 150, 86, 87, 150, 66, 165, 174, 175, | 108818 /* 1370 */ 225, 104, 157, 86, 87, 150, 66, 165, 165, 165, 108753 /* 1380 */ 93, 94, 95, 150, 184, 98, 150, 165, 47, 22, | 108819 /* 1380 */ 93, 94, 95, 165, 150, 98, 173, 174, 157, 22, 108754 /* 1390 */ 165, 176, 150, 26, 27, 150, 86, 87, 165, 174, | 108820 /* 1390 */ 165, 211, 150, 26, 27, 150, 86, 87, 150, 165, 108755 /* 1400 */ 175, 165, 178, 93, 94, 95, 103, 165, 98, 150, | 108821 /* 1400 */ 150, 121, 210, 93, 94, 95, 210, 165, 98, 150, 108756 /* 1410 */ 165, 150, 22, 176, 179, 228, 129, 130, 131, 132, | 108822 /* 1410 */ 165, 150, 211, 165, 211, 165, 129, 130, 131, 132, 108757 /* 1420 */ 133, 134, 5, 150, 165, 92, 165, 10, 11, 12, | 108823 /* 1420 */ 133, 134, 5, 150, 165, 104, 165, 10, 11, 12, 108758 /* 1430 */ 13, 14, 150, 66, 17, 174, 175, 228, 165, 129, | 108824 /* 1430 */ 13, 14, 150, 66, 17, 183, 150, 175, 165, 129, 108759 /* 1440 */ 130, 131, 132, 133, 134, 150, 184, 165, 31, 150, | 108825 /* 1440 */ 130, 131, 132, 133, 134, 175, 47, 165, 31, 175, 108760 /* 1450 */ 33, 150, 150, 86, 87, 172, 174, 175, 96, 42, | 108826 /* 1450 */ 33, 165, 177, 86, 87, 103, 175, 178, 22, 42, 108761 /* 1460 */ 165, 94, 176, 179, 165, 98, 165, 165, 176, 174, | 108827 /* 1460 */ 228, 94, 92, 228, 175, 98, 183, 175, 175, 178, 108762 /* 1470 */ 175, 156, 55, 176, 57, 18, 157, 156, 61, 157, | 108828 /* 1470 */ 185, 96, 55, 156, 57, 18, 157, 157, 61, 156, 108763 /* 1480 */ 156, 64, 157, 157, 235, 45, 236, 135, 156, 189, | 108829 /* 1480 */ 156, 64, 157, 157, 235, 45, 135, 236, 156, 189, 108764 /* 1490 */ 68, 157, 218, 189, 22, 199, 129, 130, 131, 156, | 108830 /* 1490 */ 157, 68, 189, 22, 218, 199, 129, 130, 131, 156, 108765 /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240, 108831 /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240, 108766 /* 1510 */ 157, 40, 240, 157, 157, 38, 153, 166, 243, 196, | 108832 /* 1510 */ 157, 240, 40, 157, 157, 243, 38, 153, 196, 181, 108767 /* 1520 */ 226, 230, 105, 106, 107, 198, 209, 177, 111, 182, | 108833 /* 1520 */ 166, 226, 105, 106, 107, 198, 176, 230, 111, 230, 108768 /* 1530 */ 166, 177, 177, 116, 166, 230, 178, 239, 199, 209, | 108834 /* 1530 */ 185, 176, 166, 116, 176, 166, 177, 209, 199, 209, 108769 /* 1540 */ 209, 199, 148, 166, 196, 239, 208, 233, 172, 183, | 108835 /* 1540 */ 239, 239, 148, 209, 196, 199, 166, 233, 208, 234, 108770 /* 1550 */ 234, 191, 183, 183, 195, 174, 139, 186, 186, 174, | 108836 /* 1550 */ 182, 186, 191, 182, 182, 195, 139, 173, 173, 186, 108771 /* 1560 */ 92, | 108837 /* 1560 */ 186, 92, 108772 }; 108838 }; 108773 #define YY_SHIFT_USE_DFLT (-70) 108839 #define YY_SHIFT_USE_DFLT (-70) 108774 #define YY_SHIFT_COUNT (418) | 108840 #define YY_SHIFT_COUNT (419) 108775 #define YY_SHIFT_MIN (-69) 108841 #define YY_SHIFT_MIN (-69) 108776 #define YY_SHIFT_MAX (1484) 108842 #define YY_SHIFT_MAX (1484) 108777 static const short yy_shift_ofst[] = { 108843 static const short yy_shift_ofst[] = { 108778 /* 0 */ 975, 1188, 1417, 1188, 1287, 1287, 138, 138, 368, -19, | 108844 /* 0 */ 1079, 1188, 1417, 1188, 1287, 1287, 138, 138, 312, -19, 108779 /* 10 */ 1287, 1287, 1287, 1287, 272, 524, 129, 129, 795, 1165, | 108845 /* 10 */ 1287, 1287, 1287, 1287, 346, 383, 129, 129, 795, 1165, 108780 /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 108846 /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 108781 /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 108847 /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 108782 /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, 108848 /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287, 108783 /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 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 /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, 108851 /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869, 108786 /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 108852 /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869, 108787 /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, 108853 /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45, 108788 /* 100 */ -45, -45, -45, -45, -1, 6, -64, 524, 524, 524, | 108854 /* 100 */ -45, -45, -45, -45, -1, 6, -64, 383, 383, 383, 108789 /* 110 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | 108855 /* 110 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 108790 /* 120 */ 524, 524, 524, 386, 207, 524, 524, 524, 524, 524, | 108856 /* 120 */ 383, 383, 383, 535, 515, 383, 383, 383, 383, 383, 108791 /* 130 */ 409, -13, 459, 881, 1468, -70, -70, -70, 1367, 57, | 108857 /* 130 */ 650, -13, 74, 906, 1469, -70, -70, -70, 1367, 57, 108792 /* 140 */ 433, 433, 297, 236, 219, 136, 91, 572, 540, 524, | 108858 /* 140 */ 287, 287, 163, 291, 285, 136, 91, 538, 528, 383, 108793 /* 150 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | 108859 /* 150 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 108794 /* 160 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | 108860 /* 160 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 108795 /* 170 */ 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, | 108861 /* 170 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 108796 /* 180 */ 650, 650, 650, 687, 1122, 1122, 1122, -70, -70, -70, | 108862 /* 180 */ 383, 688, 688, 688, 705, 1194, 1194, 1194, -70, -70, 108797 /* 190 */ 204, 204, 434, 434, 494, 494, 494, 504, 446, 292, | 108863 /* 190 */ -70, 171, 171, 160, 160, 160, 190, 190, 190, 434, 108798 /* 200 */ 442, 428, 424, 77, 377, 377, 377, 377, 531, 498, | 108864 /* 200 */ 423, 513, 409, 355, 220, 492, 492, 492, 492, 532, 108799 /* 210 */ 377, 377, 278, 215, 227, 664, 722, 574, 574, 750, | 108865 /* 210 */ 586, 492, 492, 352, 80, 445, 143, 555, 164, 164, 108800 /* 220 */ 722, 750, 229, 459, 660, 459, 660, 476, 660, 574, | 108866 /* 220 */ 613, 555, 613, 590, 684, 74, 413, 74, 413, 269, 108801 /* 230 */ 651, 625, 625, 459, 579, 273, -18, 1477, 1193, 1193, | 108867 /* 230 */ 413, 164, 405, 212, 212, 74, 363, 132, -18, 1478, 108802 /* 240 */ 1471, 1471, 1193, 1472, 1422, 1117, 1484, 1484, 1484, 1484, | 108868 /* 240 */ 1243, 1243, 1472, 1472, 1243, 1471, 1423, 1208, 1484, 1484, 108803 /* 250 */ 1193, 1457, 1117, 1472, 1422, 1422, 1193, 1457, 1352, 1440, | 108869 /* 250 */ 1484, 1484, 1243, 1457, 1208, 1471, 1423, 1423, 1243, 1457, 108804 /* 260 */ 1193, 1193, 1457, 1193, 1457, 1193, 1457, 1390, 1241, 1241, | 108870 /* 260 */ 1351, 1440, 1243, 1243, 1457, 1243, 1457, 1243, 1457, 1375, 108805 /* 270 */ 1241, 1362, 1341, 1333, 1333, 1390, 1241, 1303, 1241, 1341, | 108871 /* 270 */ 1436, 1321, 1321, 1321, 1399, 1370, 1370, 1436, 1321, 1352, 108806 /* 280 */ 1241, 1241, 1223, 1234, 1223, 1234, 1223, 1234, 1193, 1193, | 108872 /* 280 */ 1321, 1399, 1321, 1321, 1280, 1267, 1280, 1267, 1280, 1267, 108807 /* 290 */ 1134, 1162, 1145, 1142, 1139, 1117, 1122, 1211, 1217, 1217, | 108873 /* 290 */ 1243, 1243, 1224, 1233, 1222, 1209, 1205, 1208, 1194, 1266, 108808 /* 300 */ 1213, 1213, 1213, 1213, -70, -70, -70, -70, -70, -70, | 108874 /* 300 */ 1263, 1263, 1260, 1260, 1260, 1260, -70, -70, -70, -70, 108809 /* 310 */ 334, 393, 497, 392, 543, 275, 901, 98, 870, 828, | 108875 /* 310 */ -70, -70, 1013, 398, 681, 314, 470, -28, 952, 240, 108810 /* 320 */ 753, 683, 453, 447, 535, 221, 140, 429, 54, 1202, | 108876 /* 320 */ 945, 907, 904, 878, 835, 825, 79, 112, 205, 804, 108811 /* 330 */ 1196, 1179, 1057, 1180, 1133, 1178, 1149, 1131, 1065, 1103, | 108877 /* 330 */ 297, 1230, 1226, 1204, 1083, 1207, 1153, 1184, 1197, 1183, 108812 /* 340 */ 1033, 1043, 1034, 1130, 1028, 1132, 1144, 1027, 1121, 1120, | 108878 /* 340 */ 1071, 1125, 1069, 1089, 1076, 1169, 1072, 1156, 1155, 1033, 108813 /* 350 */ 1103, 1098, 997, 1045, 1042, 1009, 1053, 1044, 959, 1075, | 108879 /* 350 */ 1132, 1129, 1125, 1127, 1019, 1068, 1050, 1020, 1098, 1088, 108814 /* 360 */ 1070, 1049, 968, 931, 1015, 1032, 1001, 994, 1007, 947, | 108880 /* 360 */ 1002, 1114, 1078, 1060, 971, 934, 1018, 1039, 1016, 1000, 108815 /* 370 */ 1023, 1026, 981, 893, 896, 974, 942, 967, 958, 946, | 108881 /* 370 */ 1011, 947, 1025, 1026, 990, 897, 938, 982, 936, 963, 108816 /* 380 */ 945, 877, 902, 880, 884, 847, 822, 831, 764, 714, | 108882 /* 380 */ 961, 957, 950, 876, 935, 914, 862, 871, 901, 899, 108817 /* 390 */ 735, 723, 720, 587, 615, 642, 656, 576, 615, 575, | 108883 /* 390 */ 780, 866, 801, 759, 593, 733, 734, 824, 728, 733, 108818 /* 400 */ 518, 463, 461, 438, 405, 390, 387, 376, 303, 224, | 108884 /* 400 */ 649, 541, 683, 529, 506, 508, 484, 450, 335, 232, 108819 /* 410 */ 271, 190, 92, 72, 69, 145, 113, 33, 28, | 108885 /* 410 */ 302, 276, 265, 210, 92, 78, 151, 113, 33, 28, 108820 }; 108886 }; 108821 #define YY_REDUCE_USE_DFLT (-169) 108887 #define YY_REDUCE_USE_DFLT (-169) 108822 #define YY_REDUCE_COUNT (309) | 108888 #define YY_REDUCE_COUNT (311) 108823 #define YY_REDUCE_MIN (-168) 108889 #define YY_REDUCE_MIN (-168) 108824 #define YY_REDUCE_MAX (1394) 108890 #define YY_REDUCE_MAX (1394) 108825 static const short yy_reduce_ofst[] = { 108891 static const short yy_reduce_ofst[] = { 108826 /* 0 */ 541, 90, 1095, 147, 86, 19, 18, -49, 10, 245, | 108892 /* 0 */ 485, 90, 1095, 222, 156, 19, 17, -49, 10, 322, 108827 /* 10 */ 308, 306, 243, 222, -41, -51, 181, -71, 394, 1295, | 108893 /* 10 */ 316, 311, 306, 225, 180, -51, 457, 242, 380, 1213, 108828 /* 20 */ 1282, 1261, 1225, 1204, 1185, 1183, 1177, 1166, 1127, 1096, | 108894 /* 20 */ 1181, 1177, 1175, 1128, 1106, 1096, 1054, 1038, 980, 974, 108829 /* 30 */ 1059, 1038, 982, 964, 961, 948, 908, 890, 887, 874, | 108895 /* 30 */ 964, 962, 948, 905, 903, 900, 887, 874, 829, 826, 108830 /* 40 */ 834, 832, 816, 813, 800, 760, 746, 742, 739, 726, | 108896 /* 40 */ 816, 813, 800, 752, 742, 739, 726, 678, 668, 665, 108831 /* 50 */ 681, 668, 665, 652, 610, 598, 591, 578, 530, 528, | 108897 /* 50 */ 652, 612, 610, 594, 591, 578, 537, 527, 521, 517, 108832 /* 60 */ 525, 456, 474, 464, 517, 439, -168, 208, 406, 491, | 108898 /* 60 */ 444, 318, 437, 449, 443, 154, -168, 141, 406, 551, 108833 /* 70 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, | 108899 /* 70 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, 108834 /* 80 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, | 108900 /* 80 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, 108835 /* 90 */ 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, | 108901 /* 90 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, 108836 /* 100 */ 491, 491, 491, 491, 491, 491, 491, 1039, 909, 993, | 108902 /* 100 */ 551, 551, 551, 551, 551, 551, 551, 1074, 534, 1040, 108837 /* 110 */ 966, 962, 891, 845, 740, 765, 920, 747, 27, 614, | 108903 /* 110 */ 993, 967, 966, 845, 740, 758, 756, 746, 239, 744, 108838 /* 120 */ 673, 758, 669, -119, 586, 672, 671, 670, 596, 544, | 108904 /* 120 */ 672, 611, 73, -119, 48, 670, 669, 666, 592, 533, 108839 /* 130 */ 622, 460, 583, 491, 491, 491, 491, 491, 757, 374, | 108905 /* 130 */ 701, 627, 587, 551, 551, 551, 551, 551, 667, 375, 108840 /* 140 */ 712, 638, 913, 1302, 1301, 1299, 1273, 577, 577, 1259, | 108906 /* 140 */ 854, 817, 992, 1286, 1282, 1273, 1261, 687, 687, 1259, 108841 /* 150 */ 1245, 1242, 1236, 1233, 1222, 1212, 1206, 1205, 1184, 1160, | 108907 /* 150 */ 1250, 1248, 1245, 1242, 1234, 1225, 1218, 1214, 1212, 1202, 108842 /* 160 */ 1158, 1140, 1135, 1128, 1126, 1123, 1115, 1114, 1107, 1085, | 108908 /* 160 */ 1195, 1191, 1161, 1158, 1140, 1135, 1123, 1112, 1107, 1085, 108843 /* 170 */ 1046, 1040, 987, 969, 965, 913, 895, 836, 818, 814, | 108909 /* 170 */ 1080, 1067, 1051, 1048, 1044, 992, 969, 968, 893, 892, 108844 /* 180 */ 876, 839, 838, 636, 776, 738, 734, 604, 421, 62, | 108910 /* 180 */ 891, 657, 583, 245, 544, 811, 807, 737, 609, 469, 108845 /* 190 */ 1385, 1381, 1372, 1371, 1370, 1369, 1366, 1338, 1359, 1360, | 108911 /* 190 */ 342, 1385, 1384, 1374, 1373, 1365, 1372, 1371, 1368, 1340, 108846 /* 200 */ 1359, 1359, 1359, 1376, 1359, 1359, 1359, 1359, 1316, 1314, | 108912 /* 200 */ 1360, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1315, 108847 /* 210 */ 1359, 1359, 1338, 1377, 1348, 1394, 1342, 1331, 1330, 1306, | 108913 /* 210 */ 1314, 1360, 1360, 1340, 1380, 1348, 1394, 1346, 1334, 1330, 108848 /* 220 */ 1339, 1298, 1358, 1368, 1355, 1364, 1354, 1347, 1350, 1317, | 108914 /* 220 */ 1302, 1339, 1301, 1359, 1345, 1369, 1358, 1366, 1355, 1338, 108849 /* 230 */ 1294, 1305, 1291, 1351, 1327, 1323, 1363, 1275, 1357, 1356, | 108915 /* 230 */ 1350, 1328, 1295, 1299, 1297, 1354, 1327, 1322, 1364, 1272, 108850 /* 240 */ 1272, 1269, 1353, 1290, 1318, 1307, 1313, 1312, 1311, 1308, | 108916 /* 240 */ 1357, 1356, 1271, 1269, 1353, 1290, 1318, 1307, 1313, 1312, 108851 /* 250 */ 1344, 1343, 1296, 1274, 1304, 1300, 1334, 1332, 1250, 1249, | 108917 /* 250 */ 1311, 1308, 1344, 1343, 1296, 1276, 1303, 1300, 1333, 1332, 108852 /* 260 */ 1326, 1325, 1324, 1322, 1321, 1319, 1315, 1284, 1297, 1292, | 108918 /* 260 */ 1251, 1249, 1326, 1325, 1324, 1320, 1323, 1319, 1317, 1285, 108853 /* 270 */ 1286, 1283, 1262, 1209, 1187, 1235, 1237, 1224, 1215, 1200, | 108919 /* 270 */ 1291, 1293, 1292, 1289, 1283, 1235, 1232, 1279, 1281, 1275, 108854 /* 280 */ 1192, 1189, 1156, 1154, 1152, 1136, 1150, 1118, 1169, 1146, | 108920 /* 280 */ 1274, 1252, 1270, 1262, 1203, 1196, 1201, 1192, 1180, 1159, 108855 /* 290 */ 1090, 1081, 1066, 1055, 1048, 1041, 1051, 1080, 1086, 1078, | 108921 /* 290 */ 1231, 1215, 1145, 1162, 1136, 1134, 1157, 1117, 1121, 1144, 108856 /* 300 */ 1079, 1077, 1074, 1069, 973, 971, 970, 1047, 1037, 1036, | 108922 /* 300 */ 1141, 1133, 1138, 1119, 1116, 1094, 1015, 999, 994, 1059, > 108923 /* 310 */ 1057, 1073, 108857 }; 108924 }; 108858 static const YYACTIONTYPE yy_default[] = { 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, | 108926 /* 0 */ 635, 869, 957, 957, 869, 869, 957, 957, 722, 759, 108861 /* 20 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108927 /* 10 */ 957, 957, 957, 867, 957, 957, 787, 787, 931, 957, 108862 /* 30 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108928 /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108863 /* 40 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108929 /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108864 /* 50 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108930 /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108865 /* 60 */ 952, 952, 952, 952, 952, 952, 952, 671, 758, 788, | 108931 /* 50 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108866 /* 70 */ 952, 952, 952, 952, 952, 952, 952, 952, 925, 927, | 108932 /* 60 */ 957, 957, 957, 957, 957, 957, 957, 674, 763, 793, 108867 /* 80 */ 796, 795, 905, 769, 793, 786, 790, 865, 858, 859, | 108933 /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 930, 932, 108868 /* 90 */ 857, 861, 866, 952, 789, 825, 842, 824, 836, 841, | 108934 /* 80 */ 801, 800, 910, 774, 798, 791, 795, 870, 863, 864, 108869 /* 100 */ 848, 840, 837, 827, 826, 828, 829, 952, 952, 952, | 108935 /* 90 */ 862, 866, 871, 957, 794, 830, 847, 829, 841, 846, 108870 /* 110 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108936 /* 100 */ 853, 845, 842, 832, 831, 833, 834, 957, 957, 957, 108871 /* 120 */ 952, 952, 952, 658, 723, 952, 952, 952, 952, 952, | 108937 /* 110 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108872 /* 130 */ 952, 952, 952, 830, 831, 845, 844, 843, 952, 952, | 108938 /* 120 */ 957, 957, 957, 661, 728, 957, 957, 957, 957, 957, 108873 /* 140 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108939 /* 130 */ 957, 957, 957, 835, 836, 850, 849, 848, 957, 666, 108874 /* 150 */ 932, 930, 952, 877, 952, 952, 952, 952, 952, 952, | 108940 /* 140 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108875 /* 160 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108941 /* 150 */ 937, 935, 957, 882, 957, 957, 957, 957, 957, 957, 108876 /* 170 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 638, | 108942 /* 160 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108877 /* 180 */ 754, 754, 754, 632, 952, 952, 952, 944, 758, 748, | 108943 /* 170 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108878 /* 190 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108944 /* 180 */ 641, 759, 759, 759, 635, 957, 957, 957, 949, 763, 108879 /* 200 */ 952, 952, 952, 683, 798, 737, 915, 917, 952, 898, | 108945 /* 190 */ 753, 957, 957, 957, 957, 718, 957, 957, 957, 957, 108880 /* 210 */ 735, 660, 756, 673, 746, 640, 792, 771, 771, 910, | 108946 /* 200 */ 957, 957, 957, 957, 957, 803, 742, 920, 922, 957, 108881 /* 220 */ 792, 910, 697, 952, 782, 952, 782, 694, 782, 771, | 108947 /* 210 */ 903, 740, 663, 761, 676, 751, 643, 797, 776, 776, 108882 /* 230 */ 860, 952, 952, 952, 755, 746, 952, 937, 762, 762, | 108948 /* 220 */ 915, 797, 915, 699, 722, 957, 787, 957, 787, 696, 108883 /* 240 */ 929, 929, 762, 804, 727, 792, 734, 734, 734, 734, | 108949 /* 230 */ 787, 776, 865, 957, 957, 957, 760, 751, 957, 942, 108884 /* 250 */ 762, 655, 792, 804, 727, 727, 762, 655, 904, 902, | 108950 /* 240 */ 767, 767, 934, 934, 767, 809, 732, 797, 739, 739, 108885 /* 260 */ 762, 762, 655, 762, 655, 762, 655, 870, 725, 725, | 108951 /* 250 */ 739, 739, 767, 658, 797, 809, 732, 732, 767, 658, 108886 /* 270 */ 725, 683, 712, 874, 874, 870, 725, 697, 725, 712, | 108952 /* 260 */ 909, 907, 767, 767, 658, 767, 658, 767, 658, 722, 108887 /* 280 */ 725, 725, 775, 770, 775, 770, 775, 770, 762, 762, | 108953 /* 270 */ 875, 730, 730, 730, 714, 879, 879, 875, 730, 699, 108888 /* 290 */ 952, 787, 776, 785, 783, 792, 952, 715, 648, 648, | 108954 /* 280 */ 730, 714, 730, 730, 780, 775, 780, 775, 780, 775, 108889 /* 300 */ 637, 637, 637, 637, 949, 949, 944, 699, 699, 681, | 108955 /* 290 */ 767, 767, 957, 792, 781, 790, 788, 797, 957, 717, 108890 /* 310 */ 952, 952, 952, 952, 952, 952, 952, 879, 952, 952, | 108956 /* 300 */ 651, 651, 640, 640, 640, 640, 954, 954, 949, 701, 108891 /* 320 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108957 /* 310 */ 701, 684, 957, 957, 957, 957, 957, 957, 957, 884, 108892 /* 330 */ 633, 939, 952, 952, 936, 952, 952, 952, 952, 797, | 108958 /* 320 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108893 /* 340 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108959 /* 330 */ 957, 957, 636, 944, 957, 957, 941, 957, 957, 957, 108894 /* 350 */ 914, 952, 952, 952, 952, 952, 952, 952, 908, 952, | 108960 /* 340 */ 957, 802, 957, 957, 957, 957, 957, 957, 957, 957, 108895 /* 360 */ 952, 952, 952, 952, 952, 901, 900, 952, 952, 952, | 108961 /* 350 */ 957, 957, 919, 957, 957, 957, 957, 957, 957, 957, 108896 /* 370 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, | 108962 /* 360 */ 913, 957, 957, 957, 957, 957, 957, 906, 905, 957, 108897 /* 380 */ 952, 952, 716, 952, 952, 952, 952, 952, 952, 952, | 108963 /* 370 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108898 /* 390 */ 952, 952, 952, 952, 784, 952, 777, 952, 863, 952, | 108964 /* 380 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108899 /* 400 */ 952, 952, 952, 952, 952, 952, 952, 952, 952, 740, | 108965 /* 390 */ 957, 957, 957, 957, 957, 789, 957, 782, 957, 868, 108900 /* 410 */ 813, 952, 812, 816, 811, 665, 952, 646, 952, 629, | 108966 /* 400 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 108901 /* 420 */ 634, 948, 951, 950, 947, 946, 945, 940, 938, 935, | 108967 /* 410 */ 745, 818, 957, 817, 821, 816, 668, 957, 649, 957, 108902 /* 430 */ 934, 933, 931, 928, 924, 883, 881, 888, 887, 886, | 108968 /* 420 */ 632, 637, 953, 956, 955, 952, 951, 950, 945, 943, 108903 /* 440 */ 885, 884, 882, 880, 878, 799, 794, 791, 923, 876, | 108969 /* 430 */ 940, 939, 938, 936, 933, 929, 888, 886, 893, 892, 108904 /* 450 */ 736, 733, 732, 654, 941, 907, 916, 803, 802, 805, | 108970 /* 440 */ 891, 890, 889, 887, 885, 883, 804, 799, 796, 928, 108905 /* 460 */ 913, 912, 911, 909, 906, 893, 801, 800, 728, 868, | 108971 /* 450 */ 881, 741, 738, 737, 657, 946, 912, 921, 808, 807, 108906 /* 470 */ 867, 657, 897, 896, 895, 899, 903, 894, 764, 656, | 108972 /* 460 */ 810, 918, 917, 916, 914, 911, 898, 806, 805, 733, 108907 /* 480 */ 653, 662, 718, 724, 722, 721, 720, 719, 717, 664, | 108973 /* 470 */ 873, 872, 660, 902, 901, 900, 904, 908, 899, 769, 108908 /* 490 */ 672, 682, 711, 696, 695, 873, 875, 872, 871, 704, | 108974 /* 480 */ 659, 656, 665, 721, 723, 719, 729, 727, 726, 725, 108909 /* 500 */ 703, 709, 708, 707, 706, 705, 702, 701, 700, 693, | 108975 /* 490 */ 724, 720, 667, 675, 713, 698, 697, 878, 880, 877, 108910 /* 510 */ 692, 698, 691, 714, 713, 710, 690, 731, 730, 729, | 108976 /* 500 */ 876, 706, 705, 711, 710, 709, 708, 707, 704, 703, 108911 /* 520 */ 726, 689, 688, 687, 816, 686, 685, 822, 821, 809, | 108977 /* 510 */ 702, 695, 694, 700, 693, 716, 715, 712, 692, 736, 108912 /* 530 */ 852, 751, 750, 749, 761, 760, 773, 772, 807, 806, | 108978 /* 520 */ 735, 734, 731, 691, 690, 689, 821, 688, 687, 827, 108913 /* 540 */ 774, 759, 753, 752, 768, 767, 766, 765, 757, 747, | 108979 /* 530 */ 826, 814, 857, 756, 755, 754, 766, 765, 778, 777, 108914 /* 550 */ 779, 781, 780, 778, 854, 763, 851, 922, 921, 920, | 108980 /* 540 */ 812, 811, 779, 764, 758, 757, 773, 772, 771, 770, 108915 /* 560 */ 919, 918, 856, 855, 823, 820, 676, 677, 891, 890, | 108981 /* 550 */ 762, 752, 784, 786, 785, 783, 859, 768, 856, 927, 108916 /* 570 */ 892, 889, 679, 678, 675, 674, 853, 742, 741, 849, | 108982 /* 560 */ 926, 925, 924, 923, 861, 860, 828, 825, 679, 680, 108917 /* 580 */ 846, 838, 834, 850, 847, 839, 835, 833, 832, 818, | 108983 /* 570 */ 896, 895, 897, 894, 682, 681, 678, 677, 858, 747, 108918 /* 590 */ 817, 815, 814, 810, 819, 667, 743, 739, 738, 808, | 108984 /* 580 */ 746, 854, 851, 843, 839, 855, 852, 844, 840, 838, 108919 /* 600 */ 745, 744, 684, 680, 661, 659, 652, 650, 649, 651, | 108985 /* 590 */ 837, 823, 822, 820, 819, 815, 824, 670, 748, 744, 108920 /* 610 */ 647, 645, 644, 643, 642, 641, 670, 669, 668, 666, | 108986 /* 600 */ 743, 813, 750, 749, 686, 685, 683, 664, 662, 655, 108921 /* 620 */ 665, 639, 636, 635, 631, 630, 628, | 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 /* The next table maps tokens into fallback tokens. If a construct 108991 /* The next table maps tokens into fallback tokens. If a construct 108925 ** like the following: 108992 ** like the following: 108926 ** 108993 ** 108927 ** %fallback ID X Y Z. 108994 ** %fallback ID X Y Z. 108928 ** 108995 ** ................................................................................................................................................................................ 109117 "ecmd", "explain", "cmdx", "cmd", 109184 "ecmd", "explain", "cmdx", "cmd", 109118 "transtype", "trans_opt", "nm", "savepoint_opt", 109185 "transtype", "trans_opt", "nm", "savepoint_opt", 109119 "create_table", "create_table_args", "createkw", "temp", 109186 "create_table", "create_table_args", "createkw", "temp", 109120 "ifnotexists", "dbnm", "columnlist", "conslist_opt", 109187 "ifnotexists", "dbnm", "columnlist", "conslist_opt", 109121 "select", "column", "columnid", "type", 109188 "select", "column", "columnid", "type", 109122 "carglist", "id", "ids", "typetoken", 109189 "carglist", "id", "ids", "typetoken", 109123 "typename", "signed", "plus_num", "minus_num", 109190 "typename", "signed", "plus_num", "minus_num", 109124 "cname", "ccons", "term", "expr", | 109191 "ccons", "term", "expr", "onconf", 109125 "onconf", "sortorder", "autoinc", "idxlist_opt", | 109192 "sortorder", "autoinc", "idxlist_opt", "refargs", 109126 "refargs", "defer_subclause", "refarg", "refact", | 109193 "defer_subclause", "refarg", "refact", "init_deferred_pred_opt" 109127 "init_deferred_pred_opt", "conslist", "tcons", "idxlist", | 109194 "conslist", "cname", "tcons", "idxlist", 109128 "defer_subclause_opt", "orconf", "resolvetype", "raisetype", 109195 "defer_subclause_opt", "orconf", "resolvetype", "raisetype", 109129 "ifexists", "fullname", "oneselect", "multiselect_op", 109196 "ifexists", "fullname", "oneselect", "multiselect_op", 109130 "distinct", "selcollist", "from", "where_opt", 109197 "distinct", "selcollist", "from", "where_opt", 109131 "groupby_opt", "having_opt", "orderby_opt", "limit_opt", 109198 "groupby_opt", "having_opt", "orderby_opt", "limit_opt", 109132 "sclp", "as", "seltablist", "stl_prefix", 109199 "sclp", "as", "seltablist", "stl_prefix", 109133 "joinop", "indexed_opt", "on_opt", "using_opt", 109200 "joinop", "indexed_opt", "on_opt", "using_opt", 109134 "joinop2", "inscollist", "sortlist", "nexprlist", 109201 "joinop2", "inscollist", "sortlist", "nexprlist", ................................................................................................................................................................................ 109197 /* 46 */ "typetoken ::= typename", 109264 /* 46 */ "typetoken ::= typename", 109198 /* 47 */ "typetoken ::= typename LP signed RP", 109265 /* 47 */ "typetoken ::= typename LP signed RP", 109199 /* 48 */ "typetoken ::= typename LP signed COMMA signed RP", 109266 /* 48 */ "typetoken ::= typename LP signed COMMA signed RP", 109200 /* 49 */ "typename ::= ids", 109267 /* 49 */ "typename ::= ids", 109201 /* 50 */ "typename ::= typename ids", 109268 /* 50 */ "typename ::= typename ids", 109202 /* 51 */ "signed ::= plus_num", 109269 /* 51 */ "signed ::= plus_num", 109203 /* 52 */ "signed ::= minus_num", 109270 /* 52 */ "signed ::= minus_num", 109204 /* 53 */ "carglist ::= carglist cname ccons", | 109271 /* 53 */ "carglist ::= carglist ccons", 109205 /* 54 */ "carglist ::=", 109272 /* 54 */ "carglist ::=", 109206 /* 55 */ "cname ::= CONSTRAINT nm", | 109273 /* 55 */ "ccons ::= CONSTRAINT nm", 109207 /* 56 */ "cname ::=", < 109208 /* 57 */ "ccons ::= DEFAULT term", | 109274 /* 56 */ "ccons ::= DEFAULT term", 109209 /* 58 */ "ccons ::= DEFAULT LP expr RP", | 109275 /* 57 */ "ccons ::= DEFAULT LP expr RP", 109210 /* 59 */ "ccons ::= DEFAULT PLUS term", | 109276 /* 58 */ "ccons ::= DEFAULT PLUS term", 109211 /* 60 */ "ccons ::= DEFAULT MINUS term", | 109277 /* 59 */ "ccons ::= DEFAULT MINUS term", 109212 /* 61 */ "ccons ::= DEFAULT id", | 109278 /* 60 */ "ccons ::= DEFAULT id", 109213 /* 62 */ "ccons ::= NULL onconf", | 109279 /* 61 */ "ccons ::= NULL onconf", 109214 /* 63 */ "ccons ::= NOT NULL onconf", | 109280 /* 62 */ "ccons ::= NOT NULL onconf", 109215 /* 64 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", | 109281 /* 63 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", 109216 /* 65 */ "ccons ::= UNIQUE onconf", | 109282 /* 64 */ "ccons ::= UNIQUE onconf", 109217 /* 66 */ "ccons ::= CHECK LP expr RP", | 109283 /* 65 */ "ccons ::= CHECK LP expr RP", 109218 /* 67 */ "ccons ::= REFERENCES nm idxlist_opt refargs", | 109284 /* 66 */ "ccons ::= REFERENCES nm idxlist_opt refargs", 109219 /* 68 */ "ccons ::= defer_subclause", | 109285 /* 67 */ "ccons ::= defer_subclause", 109220 /* 69 */ "ccons ::= COLLATE ids", | 109286 /* 68 */ "ccons ::= COLLATE ids", 109221 /* 70 */ "autoinc ::=", | 109287 /* 69 */ "autoinc ::=", 109222 /* 71 */ "autoinc ::= AUTOINCR", | 109288 /* 70 */ "autoinc ::= AUTOINCR", 109223 /* 72 */ "refargs ::=", | 109289 /* 71 */ "refargs ::=", 109224 /* 73 */ "refargs ::= refargs refarg", | 109290 /* 72 */ "refargs ::= refargs refarg", 109225 /* 74 */ "refarg ::= MATCH nm", | 109291 /* 73 */ "refarg ::= MATCH nm", 109226 /* 75 */ "refarg ::= ON INSERT refact", | 109292 /* 74 */ "refarg ::= ON INSERT refact", 109227 /* 76 */ "refarg ::= ON DELETE refact", | 109293 /* 75 */ "refarg ::= ON DELETE refact", 109228 /* 77 */ "refarg ::= ON UPDATE refact", | 109294 /* 76 */ "refarg ::= ON UPDATE refact", 109229 /* 78 */ "refact ::= SET NULL", | 109295 /* 77 */ "refact ::= SET NULL", 109230 /* 79 */ "refact ::= SET DEFAULT", | 109296 /* 78 */ "refact ::= SET DEFAULT", 109231 /* 80 */ "refact ::= CASCADE", | 109297 /* 79 */ "refact ::= CASCADE", 109232 /* 81 */ "refact ::= RESTRICT", | 109298 /* 80 */ "refact ::= RESTRICT", 109233 /* 82 */ "refact ::= NO ACTION", | 109299 /* 81 */ "refact ::= NO ACTION", 109234 /* 83 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", | 109300 /* 82 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", 109235 /* 84 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", | 109301 /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", 109236 /* 85 */ "init_deferred_pred_opt ::=", | 109302 /* 84 */ "init_deferred_pred_opt ::=", 109237 /* 86 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", | 109303 /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", 109238 /* 87 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", | 109304 /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", 109239 /* 88 */ "conslist_opt ::=", | 109305 /* 87 */ "conslist_opt ::=", 109240 /* 89 */ "conslist_opt ::= COMMA conslist", | 109306 /* 88 */ "conslist_opt ::= COMMA conslist cname", 109241 /* 90 */ "conslist ::= conslist COMMA cname tcons", | 109307 /* 89 */ "conslist ::= conslist COMMA cname tcons", > 109308 /* 90 */ "conslist ::= conslist cname tcons", 109242 /* 91 */ "conslist ::= cname tcons", 109309 /* 91 */ "conslist ::= cname tcons", > 109310 /* 92 */ "cname ::=", > 109311 /* 93 */ "cname ::= CONSTRAINT nm", 109243 /* 92 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", | 109312 /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", 109244 /* 93 */ "tcons ::= UNIQUE LP idxlist RP onconf", | 109313 /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf", 109245 /* 94 */ "tcons ::= CHECK LP expr RP onconf", | 109314 /* 96 */ "tcons ::= CHECK LP expr RP onconf", 109246 /* 95 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refarg | 109315 /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refarg 109247 /* 96 */ "defer_subclause_opt ::=", | 109316 /* 98 */ "defer_subclause_opt ::=", 109248 /* 97 */ "defer_subclause_opt ::= defer_subclause", | 109317 /* 99 */ "defer_subclause_opt ::= defer_subclause", 109249 /* 98 */ "onconf ::=", | 109318 /* 100 */ "onconf ::=", 109250 /* 99 */ "onconf ::= ON CONFLICT resolvetype", | 109319 /* 101 */ "onconf ::= ON CONFLICT resolvetype", 109251 /* 100 */ "orconf ::=", | 109320 /* 102 */ "orconf ::=", 109252 /* 101 */ "orconf ::= OR resolvetype", | 109321 /* 103 */ "orconf ::= OR resolvetype", 109253 /* 102 */ "resolvetype ::= raisetype", | 109322 /* 104 */ "resolvetype ::= raisetype", 109254 /* 103 */ "resolvetype ::= IGNORE", | 109323 /* 105 */ "resolvetype ::= IGNORE", 109255 /* 104 */ "resolvetype ::= REPLACE", | 109324 /* 106 */ "resolvetype ::= REPLACE", 109256 /* 105 */ "cmd ::= DROP TABLE ifexists fullname", | 109325 /* 107 */ "cmd ::= DROP TABLE ifexists fullname", 109257 /* 106 */ "ifexists ::= IF EXISTS", | 109326 /* 108 */ "ifexists ::= IF EXISTS", 109258 /* 107 */ "ifexists ::=", | 109327 /* 109 */ "ifexists ::=", 109259 /* 108 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", | 109328 /* 110 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", 109260 /* 109 */ "cmd ::= DROP VIEW ifexists fullname", | 109329 /* 111 */ "cmd ::= DROP VIEW ifexists fullname", 109261 /* 110 */ "cmd ::= select", | 109330 /* 112 */ "cmd ::= select", 109262 /* 111 */ "select ::= oneselect", | 109331 /* 113 */ "select ::= oneselect", 109263 /* 112 */ "select ::= select multiselect_op oneselect", | 109332 /* 114 */ "select ::= select multiselect_op oneselect", 109264 /* 113 */ "multiselect_op ::= UNION", | 109333 /* 115 */ "multiselect_op ::= UNION", 109265 /* 114 */ "multiselect_op ::= UNION ALL", | 109334 /* 116 */ "multiselect_op ::= UNION ALL", 109266 /* 115 */ "multiselect_op ::= EXCEPT|INTERSECT", | 109335 /* 117 */ "multiselect_op ::= EXCEPT|INTERSECT", 109267 /* 116 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt | 109336 /* 118 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt 109268 /* 117 */ "distinct ::= DISTINCT", | 109337 /* 119 */ "distinct ::= DISTINCT", 109269 /* 118 */ "distinct ::= ALL", | 109338 /* 120 */ "distinct ::= ALL", 109270 /* 119 */ "distinct ::=", | 109339 /* 121 */ "distinct ::=", 109271 /* 120 */ "sclp ::= selcollist COMMA", | 109340 /* 122 */ "sclp ::= selcollist COMMA", 109272 /* 121 */ "sclp ::=", | 109341 /* 123 */ "sclp ::=", 109273 /* 122 */ "selcollist ::= sclp expr as", | 109342 /* 124 */ "selcollist ::= sclp expr as", 109274 /* 123 */ "selcollist ::= sclp STAR", | 109343 /* 125 */ "selcollist ::= sclp STAR", 109275 /* 124 */ "selcollist ::= sclp nm DOT STAR", | 109344 /* 126 */ "selcollist ::= sclp nm DOT STAR", 109276 /* 125 */ "as ::= AS nm", | 109345 /* 127 */ "as ::= AS nm", 109277 /* 126 */ "as ::= ids", | 109346 /* 128 */ "as ::= ids", 109278 /* 127 */ "as ::=", | 109347 /* 129 */ "as ::=", 109279 /* 128 */ "from ::=", | 109348 /* 130 */ "from ::=", 109280 /* 129 */ "from ::= FROM seltablist", | 109349 /* 131 */ "from ::= FROM seltablist", 109281 /* 130 */ "stl_prefix ::= seltablist joinop", | 109350 /* 132 */ "stl_prefix ::= seltablist joinop", 109282 /* 131 */ "stl_prefix ::=", | 109351 /* 133 */ "stl_prefix ::=", 109283 /* 132 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", | 109352 /* 134 */ "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", | 109353 /* 135 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", 109285 /* 134 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", | 109354 /* 136 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", 109286 /* 135 */ "dbnm ::=", | 109355 /* 137 */ "dbnm ::=", 109287 /* 136 */ "dbnm ::= DOT nm", | 109356 /* 138 */ "dbnm ::= DOT nm", 109288 /* 137 */ "fullname ::= nm dbnm", | 109357 /* 139 */ "fullname ::= nm dbnm", 109289 /* 138 */ "joinop ::= COMMA|JOIN", | 109358 /* 140 */ "joinop ::= COMMA|JOIN", 109290 /* 139 */ "joinop ::= JOIN_KW JOIN", | 109359 /* 141 */ "joinop ::= JOIN_KW JOIN", 109291 /* 140 */ "joinop ::= JOIN_KW nm JOIN", | 109360 /* 142 */ "joinop ::= JOIN_KW nm JOIN", 109292 /* 141 */ "joinop ::= JOIN_KW nm nm JOIN", | 109361 /* 143 */ "joinop ::= JOIN_KW nm nm JOIN", 109293 /* 142 */ "on_opt ::= ON expr", | 109362 /* 144 */ "on_opt ::= ON expr", 109294 /* 143 */ "on_opt ::=", | 109363 /* 145 */ "on_opt ::=", 109295 /* 144 */ "indexed_opt ::=", | 109364 /* 146 */ "indexed_opt ::=", 109296 /* 145 */ "indexed_opt ::= INDEXED BY nm", | 109365 /* 147 */ "indexed_opt ::= INDEXED BY nm", 109297 /* 146 */ "indexed_opt ::= NOT INDEXED", | 109366 /* 148 */ "indexed_opt ::= NOT INDEXED", 109298 /* 147 */ "using_opt ::= USING LP inscollist RP", | 109367 /* 149 */ "using_opt ::= USING LP inscollist RP", 109299 /* 148 */ "using_opt ::=", | 109368 /* 150 */ "using_opt ::=", 109300 /* 149 */ "orderby_opt ::=", | 109369 /* 151 */ "orderby_opt ::=", 109301 /* 150 */ "orderby_opt ::= ORDER BY sortlist", | 109370 /* 152 */ "orderby_opt ::= ORDER BY sortlist", 109302 /* 151 */ "sortlist ::= sortlist COMMA expr sortorder", | 109371 /* 153 */ "sortlist ::= sortlist COMMA expr sortorder", 109303 /* 152 */ "sortlist ::= expr sortorder", | 109372 /* 154 */ "sortlist ::= expr sortorder", 109304 /* 153 */ "sortorder ::= ASC", | 109373 /* 155 */ "sortorder ::= ASC", 109305 /* 154 */ "sortorder ::= DESC", | 109374 /* 156 */ "sortorder ::= DESC", 109306 /* 155 */ "sortorder ::=", | 109375 /* 157 */ "sortorder ::=", 109307 /* 156 */ "groupby_opt ::=", | 109376 /* 158 */ "groupby_opt ::=", 109308 /* 157 */ "groupby_opt ::= GROUP BY nexprlist", | 109377 /* 159 */ "groupby_opt ::= GROUP BY nexprlist", 109309 /* 158 */ "having_opt ::=", | 109378 /* 160 */ "having_opt ::=", 109310 /* 159 */ "having_opt ::= HAVING expr", | 109379 /* 161 */ "having_opt ::= HAVING expr", 109311 /* 160 */ "limit_opt ::=", | 109380 /* 162 */ "limit_opt ::=", 109312 /* 161 */ "limit_opt ::= LIMIT expr", | 109381 /* 163 */ "limit_opt ::= LIMIT expr", 109313 /* 162 */ "limit_opt ::= LIMIT expr OFFSET expr", | 109382 /* 164 */ "limit_opt ::= LIMIT expr OFFSET expr", 109314 /* 163 */ "limit_opt ::= LIMIT expr COMMA expr", | 109383 /* 165 */ "limit_opt ::= LIMIT expr COMMA expr", 109315 /* 164 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", | 109384 /* 166 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", 109316 /* 165 */ "where_opt ::=", | 109385 /* 167 */ "where_opt ::=", 109317 /* 166 */ "where_opt ::= WHERE expr", | 109386 /* 168 */ "where_opt ::= WHERE expr", 109318 /* 167 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", | 109387 /* 169 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", 109319 /* 168 */ "setlist ::= setlist COMMA nm EQ expr", | 109388 /* 170 */ "setlist ::= setlist COMMA nm EQ expr", 109320 /* 169 */ "setlist ::= nm EQ expr", | 109389 /* 171 */ "setlist ::= nm EQ expr", 109321 /* 170 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist", | 109390 /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist", 109322 /* 171 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", | 109391 /* 173 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", 109323 /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", | 109392 /* 174 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", 109324 /* 173 */ "insert_cmd ::= INSERT orconf", | 109393 /* 175 */ "insert_cmd ::= INSERT orconf", 109325 /* 174 */ "insert_cmd ::= REPLACE", | 109394 /* 176 */ "insert_cmd ::= REPLACE", 109326 /* 175 */ "valuelist ::= VALUES LP nexprlist RP", | 109395 /* 177 */ "valuelist ::= VALUES LP nexprlist RP", 109327 /* 176 */ "valuelist ::= valuelist COMMA LP exprlist RP", | 109396 /* 178 */ "valuelist ::= valuelist COMMA LP exprlist RP", 109328 /* 177 */ "inscollist_opt ::=", | 109397 /* 179 */ "inscollist_opt ::=", 109329 /* 178 */ "inscollist_opt ::= LP inscollist RP", | 109398 /* 180 */ "inscollist_opt ::= LP inscollist RP", 109330 /* 179 */ "inscollist ::= inscollist COMMA nm", | 109399 /* 181 */ "inscollist ::= inscollist COMMA nm", 109331 /* 180 */ "inscollist ::= nm", | 109400 /* 182 */ "inscollist ::= nm", 109332 /* 181 */ "expr ::= term", | 109401 /* 183 */ "expr ::= term", 109333 /* 182 */ "expr ::= LP expr RP", | 109402 /* 184 */ "expr ::= LP expr RP", 109334 /* 183 */ "term ::= NULL", | 109403 /* 185 */ "term ::= NULL", 109335 /* 184 */ "expr ::= id", | 109404 /* 186 */ "expr ::= id", 109336 /* 185 */ "expr ::= JOIN_KW", | 109405 /* 187 */ "expr ::= JOIN_KW", 109337 /* 186 */ "expr ::= nm DOT nm", | 109406 /* 188 */ "expr ::= nm DOT nm", 109338 /* 187 */ "expr ::= nm DOT nm DOT nm", | 109407 /* 189 */ "expr ::= nm DOT nm DOT nm", 109339 /* 188 */ "term ::= INTEGER|FLOAT|BLOB", | 109408 /* 190 */ "term ::= INTEGER|FLOAT|BLOB", 109340 /* 189 */ "term ::= STRING", | 109409 /* 191 */ "term ::= STRING", 109341 /* 190 */ "expr ::= REGISTER", | 109410 /* 192 */ "expr ::= REGISTER", 109342 /* 191 */ "expr ::= VARIABLE", | 109411 /* 193 */ "expr ::= VARIABLE", 109343 /* 192 */ "expr ::= expr COLLATE ids", | 109412 /* 194 */ "expr ::= expr COLLATE ids", 109344 /* 193 */ "expr ::= CAST LP expr AS typetoken RP", | 109413 /* 195 */ "expr ::= CAST LP expr AS typetoken RP", 109345 /* 194 */ "expr ::= ID LP distinct exprlist RP", | 109414 /* 196 */ "expr ::= ID LP distinct exprlist RP", 109346 /* 195 */ "expr ::= ID LP STAR RP", | 109415 /* 197 */ "expr ::= ID LP STAR RP", 109347 /* 196 */ "term ::= CTIME_KW", | 109416 /* 198 */ "term ::= CTIME_KW", 109348 /* 197 */ "expr ::= expr AND expr", | 109417 /* 199 */ "expr ::= expr AND expr", 109349 /* 198 */ "expr ::= expr OR expr", | 109418 /* 200 */ "expr ::= expr OR expr", 109350 /* 199 */ "expr ::= expr LT|GT|GE|LE expr", | 109419 /* 201 */ "expr ::= expr LT|GT|GE|LE expr", 109351 /* 200 */ "expr ::= expr EQ|NE expr", | 109420 /* 202 */ "expr ::= expr EQ|NE expr", 109352 /* 201 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", | 109421 /* 203 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", 109353 /* 202 */ "expr ::= expr PLUS|MINUS expr", | 109422 /* 204 */ "expr ::= expr PLUS|MINUS expr", 109354 /* 203 */ "expr ::= expr STAR|SLASH|REM expr", | 109423 /* 205 */ "expr ::= expr STAR|SLASH|REM expr", 109355 /* 204 */ "expr ::= expr CONCAT expr", | 109424 /* 206 */ "expr ::= expr CONCAT expr", 109356 /* 205 */ "likeop ::= LIKE_KW", | 109425 /* 207 */ "likeop ::= LIKE_KW", 109357 /* 206 */ "likeop ::= NOT LIKE_KW", | 109426 /* 208 */ "likeop ::= NOT LIKE_KW", 109358 /* 207 */ "likeop ::= MATCH", | 109427 /* 209 */ "likeop ::= MATCH", 109359 /* 208 */ "likeop ::= NOT MATCH", | 109428 /* 210 */ "likeop ::= NOT MATCH", 109360 /* 209 */ "expr ::= expr likeop expr", | 109429 /* 211 */ "expr ::= expr likeop expr", 109361 /* 210 */ "expr ::= expr likeop expr ESCAPE expr", | 109430 /* 212 */ "expr ::= expr likeop expr ESCAPE expr", 109362 /* 211 */ "expr ::= expr ISNULL|NOTNULL", | 109431 /* 213 */ "expr ::= expr ISNULL|NOTNULL", 109363 /* 212 */ "expr ::= expr NOT NULL", | 109432 /* 214 */ "expr ::= expr NOT NULL", 109364 /* 213 */ "expr ::= expr IS expr", | 109433 /* 215 */ "expr ::= expr IS expr", 109365 /* 214 */ "expr ::= expr IS NOT expr", | 109434 /* 216 */ "expr ::= expr IS NOT expr", 109366 /* 215 */ "expr ::= NOT expr", | 109435 /* 217 */ "expr ::= NOT expr", 109367 /* 216 */ "expr ::= BITNOT expr", | 109436 /* 218 */ "expr ::= BITNOT expr", 109368 /* 217 */ "expr ::= MINUS expr", | 109437 /* 219 */ "expr ::= MINUS expr", 109369 /* 218 */ "expr ::= PLUS expr", | 109438 /* 220 */ "expr ::= PLUS expr", 109370 /* 219 */ "between_op ::= BETWEEN", | 109439 /* 221 */ "between_op ::= BETWEEN", 109371 /* 220 */ "between_op ::= NOT BETWEEN", | 109440 /* 222 */ "between_op ::= NOT BETWEEN", 109372 /* 221 */ "expr ::= expr between_op expr AND expr", | 109441 /* 223 */ "expr ::= expr between_op expr AND expr", 109373 /* 222 */ "in_op ::= IN", | 109442 /* 224 */ "in_op ::= IN", 109374 /* 223 */ "in_op ::= NOT IN", | 109443 /* 225 */ "in_op ::= NOT IN", 109375 /* 224 */ "expr ::= expr in_op LP exprlist RP", | 109444 /* 226 */ "expr ::= expr in_op LP exprlist RP", 109376 /* 225 */ "expr ::= LP select RP", | 109445 /* 227 */ "expr ::= LP select RP", 109377 /* 226 */ "expr ::= expr in_op LP select RP", | 109446 /* 228 */ "expr ::= expr in_op LP select RP", 109378 /* 227 */ "expr ::= expr in_op nm dbnm", | 109447 /* 229 */ "expr ::= expr in_op nm dbnm", 109379 /* 228 */ "expr ::= EXISTS LP select RP", | 109448 /* 230 */ "expr ::= EXISTS LP select RP", 109380 /* 229 */ "expr ::= CASE case_operand case_exprlist case_else END", | 109449 /* 231 */ "expr ::= CASE case_operand case_exprlist case_else END", 109381 /* 230 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", | 109450 /* 232 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", 109382 /* 231 */ "case_exprlist ::= WHEN expr THEN expr", | 109451 /* 233 */ "case_exprlist ::= WHEN expr THEN expr", 109383 /* 232 */ "case_else ::= ELSE expr", | 109452 /* 234 */ "case_else ::= ELSE expr", 109384 /* 233 */ "case_else ::=", | 109453 /* 235 */ "case_else ::=", 109385 /* 234 */ "case_operand ::= expr", | 109454 /* 236 */ "case_operand ::= expr", 109386 /* 235 */ "case_operand ::=", | 109455 /* 237 */ "case_operand ::=", 109387 /* 236 */ "exprlist ::= nexprlist", | 109456 /* 238 */ "exprlist ::= nexprlist", 109388 /* 237 */ "exprlist ::=", | 109457 /* 239 */ "exprlist ::=", 109389 /* 238 */ "nexprlist ::= nexprlist COMMA expr", | 109458 /* 240 */ "nexprlist ::= nexprlist COMMA expr", 109390 /* 239 */ "nexprlist ::= expr", | 109459 /* 241 */ "nexprlist ::= expr", 109391 /* 240 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxli | 109460 /* 242 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxli 109392 /* 241 */ "uniqueflag ::= UNIQUE", | 109461 /* 243 */ "uniqueflag ::= UNIQUE", 109393 /* 242 */ "uniqueflag ::=", | 109462 /* 244 */ "uniqueflag ::=", 109394 /* 243 */ "idxlist_opt ::=", | 109463 /* 245 */ "idxlist_opt ::=", 109395 /* 244 */ "idxlist_opt ::= LP idxlist RP", | 109464 /* 246 */ "idxlist_opt ::= LP idxlist RP", 109396 /* 245 */ "idxlist ::= idxlist COMMA nm collate sortorder", | 109465 /* 247 */ "idxlist ::= idxlist COMMA nm collate sortorder", 109397 /* 246 */ "idxlist ::= nm collate sortorder", | 109466 /* 248 */ "idxlist ::= nm collate sortorder", 109398 /* 247 */ "collate ::=", | 109467 /* 249 */ "collate ::=", 109399 /* 248 */ "collate ::= COLLATE ids", | 109468 /* 250 */ "collate ::= COLLATE ids", 109400 /* 249 */ "cmd ::= DROP INDEX ifexists fullname", | 109469 /* 251 */ "cmd ::= DROP INDEX ifexists fullname", 109401 /* 250 */ "cmd ::= VACUUM", | 109470 /* 252 */ "cmd ::= VACUUM", 109402 /* 251 */ "cmd ::= VACUUM nm", | 109471 /* 253 */ "cmd ::= VACUUM nm", 109403 /* 252 */ "cmd ::= PRAGMA nm dbnm", | 109472 /* 254 */ "cmd ::= PRAGMA nm dbnm", 109404 /* 253 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", | 109473 /* 255 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", 109405 /* 254 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", | 109474 /* 256 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", 109406 /* 255 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", | 109475 /* 257 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", 109407 /* 256 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", | 109476 /* 258 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", 109408 /* 257 */ "nmnum ::= plus_num", | 109477 /* 259 */ "nmnum ::= plus_num", 109409 /* 258 */ "nmnum ::= nm", | 109478 /* 260 */ "nmnum ::= nm", 109410 /* 259 */ "nmnum ::= ON", | 109479 /* 261 */ "nmnum ::= ON", 109411 /* 260 */ "nmnum ::= DELETE", | 109480 /* 262 */ "nmnum ::= DELETE", 109412 /* 261 */ "nmnum ::= DEFAULT", | 109481 /* 263 */ "nmnum ::= DEFAULT", 109413 /* 262 */ "plus_num ::= PLUS number", | 109482 /* 264 */ "plus_num ::= PLUS number", 109414 /* 263 */ "plus_num ::= number", | 109483 /* 265 */ "plus_num ::= number", 109415 /* 264 */ "minus_num ::= MINUS number", | 109484 /* 266 */ "minus_num ::= MINUS number", 109416 /* 265 */ "number ::= INTEGER|FLOAT", | 109485 /* 267 */ "number ::= INTEGER|FLOAT", 109417 /* 266 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", | 109486 /* 268 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", 109418 /* 267 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigg | 109487 /* 269 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigg 109419 /* 268 */ "trigger_time ::= BEFORE", | 109488 /* 270 */ "trigger_time ::= BEFORE", 109420 /* 269 */ "trigger_time ::= AFTER", | 109489 /* 271 */ "trigger_time ::= AFTER", 109421 /* 270 */ "trigger_time ::= INSTEAD OF", | 109490 /* 272 */ "trigger_time ::= INSTEAD OF", 109422 /* 271 */ "trigger_time ::=", | 109491 /* 273 */ "trigger_time ::=", 109423 /* 272 */ "trigger_event ::= DELETE|INSERT", | 109492 /* 274 */ "trigger_event ::= DELETE|INSERT", 109424 /* 273 */ "trigger_event ::= UPDATE", | 109493 /* 275 */ "trigger_event ::= UPDATE", 109425 /* 274 */ "trigger_event ::= UPDATE OF inscollist", | 109494 /* 276 */ "trigger_event ::= UPDATE OF inscollist", 109426 /* 275 */ "foreach_clause ::=", | 109495 /* 277 */ "foreach_clause ::=", 109427 /* 276 */ "foreach_clause ::= FOR EACH ROW", | 109496 /* 278 */ "foreach_clause ::= FOR EACH ROW", 109428 /* 277 */ "when_clause ::=", | 109497 /* 279 */ "when_clause ::=", 109429 /* 278 */ "when_clause ::= WHEN expr", | 109498 /* 280 */ "when_clause ::= WHEN expr", 109430 /* 279 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", | 109499 /* 281 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", 109431 /* 280 */ "trigger_cmd_list ::= trigger_cmd SEMI", | 109500 /* 282 */ "trigger_cmd_list ::= trigger_cmd SEMI", 109432 /* 281 */ "trnm ::= nm", | 109501 /* 283 */ "trnm ::= nm", 109433 /* 282 */ "trnm ::= nm DOT nm", | 109502 /* 284 */ "trnm ::= nm DOT nm", 109434 /* 283 */ "tridxby ::=", | 109503 /* 285 */ "tridxby ::=", 109435 /* 284 */ "tridxby ::= INDEXED BY nm", | 109504 /* 286 */ "tridxby ::= INDEXED BY nm", 109436 /* 285 */ "tridxby ::= NOT INDEXED", | 109505 /* 287 */ "tridxby ::= NOT INDEXED", 109437 /* 286 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", | 109506 /* 288 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", 109438 /* 287 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist", | 109507 /* 289 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist", 109439 /* 288 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", | 109508 /* 290 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", 109440 /* 289 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", | 109509 /* 291 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", 109441 /* 290 */ "trigger_cmd ::= select", | 109510 /* 292 */ "trigger_cmd ::= select", 109442 /* 291 */ "expr ::= RAISE LP IGNORE RP", | 109511 /* 293 */ "expr ::= RAISE LP IGNORE RP", 109443 /* 292 */ "expr ::= RAISE LP raisetype COMMA nm RP", | 109512 /* 294 */ "expr ::= RAISE LP raisetype COMMA nm RP", 109444 /* 293 */ "raisetype ::= ROLLBACK", | 109513 /* 295 */ "raisetype ::= ROLLBACK", 109445 /* 294 */ "raisetype ::= ABORT", | 109514 /* 296 */ "raisetype ::= ABORT", 109446 /* 295 */ "raisetype ::= FAIL", | 109515 /* 297 */ "raisetype ::= FAIL", 109447 /* 296 */ "cmd ::= DROP TRIGGER ifexists fullname", | 109516 /* 298 */ "cmd ::= DROP TRIGGER ifexists fullname", 109448 /* 297 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", | 109517 /* 299 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", 109449 /* 298 */ "cmd ::= DETACH database_kw_opt expr", | 109518 /* 300 */ "cmd ::= DETACH database_kw_opt expr", 109450 /* 299 */ "key_opt ::=", | 109519 /* 301 */ "key_opt ::=", 109451 /* 300 */ "key_opt ::= KEY expr", | 109520 /* 302 */ "key_opt ::= KEY expr", 109452 /* 301 */ "database_kw_opt ::= DATABASE", | 109521 /* 303 */ "database_kw_opt ::= DATABASE", 109453 /* 302 */ "database_kw_opt ::=", | 109522 /* 304 */ "database_kw_opt ::=", 109454 /* 303 */ "cmd ::= REINDEX", | 109523 /* 305 */ "cmd ::= REINDEX", 109455 /* 304 */ "cmd ::= REINDEX nm dbnm", | 109524 /* 306 */ "cmd ::= REINDEX nm dbnm", 109456 /* 305 */ "cmd ::= ANALYZE", | 109525 /* 307 */ "cmd ::= ANALYZE", 109457 /* 306 */ "cmd ::= ANALYZE nm dbnm", | 109526 /* 308 */ "cmd ::= ANALYZE nm dbnm", 109458 /* 307 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", | 109527 /* 309 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", 109459 /* 308 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", | 109528 /* 310 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", 109460 /* 309 */ "add_column_fullname ::= fullname", | 109529 /* 311 */ "add_column_fullname ::= fullname", 109461 /* 310 */ "kwcolumn_opt ::=", | 109530 /* 312 */ "kwcolumn_opt ::=", 109462 /* 311 */ "kwcolumn_opt ::= COLUMNKW", | 109531 /* 313 */ "kwcolumn_opt ::= COLUMNKW", 109463 /* 312 */ "cmd ::= create_vtab", | 109532 /* 314 */ "cmd ::= create_vtab", 109464 /* 313 */ "cmd ::= create_vtab LP vtabarglist RP", | 109533 /* 315 */ "cmd ::= create_vtab LP vtabarglist RP", 109465 /* 314 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm" | 109534 /* 316 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm" 109466 /* 315 */ "vtabarglist ::= vtabarg", | 109535 /* 317 */ "vtabarglist ::= vtabarg", 109467 /* 316 */ "vtabarglist ::= vtabarglist COMMA vtabarg", | 109536 /* 318 */ "vtabarglist ::= vtabarglist COMMA vtabarg", 109468 /* 317 */ "vtabarg ::=", | 109537 /* 319 */ "vtabarg ::=", 109469 /* 318 */ "vtabarg ::= vtabarg vtabargtoken", | 109538 /* 320 */ "vtabarg ::= vtabarg vtabargtoken", 109470 /* 319 */ "vtabargtoken ::= ANY", | 109539 /* 321 */ "vtabargtoken ::= ANY", 109471 /* 320 */ "vtabargtoken ::= lp anylist RP", | 109540 /* 322 */ "vtabargtoken ::= lp anylist RP", 109472 /* 321 */ "lp ::= LP", | 109541 /* 323 */ "lp ::= LP", 109473 /* 322 */ "anylist ::=", | 109542 /* 324 */ "anylist ::=", 109474 /* 323 */ "anylist ::= anylist LP anylist RP", | 109543 /* 325 */ "anylist ::= anylist LP anylist RP", 109475 /* 324 */ "anylist ::= anylist ANY", | 109544 /* 326 */ "anylist ::= anylist ANY", 109476 }; 109545 }; 109477 #endif /* NDEBUG */ 109546 #endif /* NDEBUG */ 109478 109547 109479 109548 109480 #if YYSTACKDEPTH<=0 109549 #if YYSTACKDEPTH<=0 109481 /* 109550 /* 109482 ** Try to increase the size of the parser stack. 109551 ** Try to increase the size of the parser stack. ................................................................................................................................................................................ 109553 */ 109622 */ 109554 case 160: /* select */ 109623 case 160: /* select */ 109555 case 194: /* oneselect */ 109624 case 194: /* oneselect */ 109556 { 109625 { 109557 sqlite3SelectDelete(pParse->db, (yypminor->yy159)); 109626 sqlite3SelectDelete(pParse->db, (yypminor->yy159)); 109558 } 109627 } 109559 break; 109628 break; 109560 case 174: /* term */ | 109629 case 173: /* term */ 109561 case 175: /* expr */ | 109630 case 174: /* expr */ 109562 { 109631 { 109563 sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); 109632 sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); 109564 } 109633 } 109565 break; 109634 break; 109566 case 179: /* idxlist_opt */ | 109635 case 178: /* idxlist_opt */ 109567 case 187: /* idxlist */ 109636 case 187: /* idxlist */ 109568 case 197: /* selcollist */ 109637 case 197: /* selcollist */ 109569 case 200: /* groupby_opt */ 109638 case 200: /* groupby_opt */ 109570 case 202: /* orderby_opt */ 109639 case 202: /* orderby_opt */ 109571 case 204: /* sclp */ 109640 case 204: /* sclp */ 109572 case 214: /* sortlist */ 109641 case 214: /* sortlist */ 109573 case 215: /* nexprlist */ 109642 case 215: /* nexprlist */ ................................................................................................................................................................................ 109914 { 167, 1 }, 109983 { 167, 1 }, 109915 { 167, 4 }, 109984 { 167, 4 }, 109916 { 167, 6 }, 109985 { 167, 6 }, 109917 { 168, 1 }, 109986 { 168, 1 }, 109918 { 168, 2 }, 109987 { 168, 2 }, 109919 { 169, 1 }, 109988 { 169, 1 }, 109920 { 169, 1 }, 109989 { 169, 1 }, 109921 { 164, 3 }, | 109990 { 164, 2 }, 109922 { 164, 0 }, 109991 { 164, 0 }, 109923 { 172, 2 }, 109992 { 172, 2 }, 109924 { 172, 0 }, | 109993 { 172, 2 }, 109925 { 173, 2 }, < 109926 { 173, 4 }, | 109994 { 172, 4 }, 109927 { 173, 3 }, | 109995 { 172, 3 }, 109928 { 173, 3 }, | 109996 { 172, 3 }, 109929 { 173, 2 }, | 109997 { 172, 2 }, 109930 { 173, 2 }, | 109998 { 172, 2 }, 109931 { 173, 3 }, | 109999 { 172, 3 }, 109932 { 173, 5 }, | 110000 { 172, 5 }, 109933 { 173, 2 }, | 110001 { 172, 2 }, 109934 { 173, 4 }, | 110002 { 172, 4 }, 109935 { 173, 4 }, | 110003 { 172, 4 }, 109936 { 173, 1 }, | 110004 { 172, 1 }, 109937 { 173, 2 }, | 110005 { 172, 2 }, 109938 { 178, 0 }, | 110006 { 177, 0 }, 109939 { 178, 1 }, | 110007 { 177, 1 }, 109940 { 180, 0 }, | 110008 { 179, 0 }, 109941 { 180, 2 }, | 110009 { 179, 2 }, 109942 { 182, 2 }, | 110010 { 181, 2 }, 109943 { 182, 3 }, | 110011 { 181, 3 }, 109944 { 182, 3 }, | 110012 { 181, 3 }, 109945 { 182, 3 }, | 110013 { 181, 3 }, 109946 { 183, 2 }, | 110014 { 182, 2 }, 109947 { 183, 2 }, | 110015 { 182, 2 }, 109948 { 183, 1 }, | 110016 { 182, 1 }, 109949 { 183, 1 }, | 110017 { 182, 1 }, 109950 { 183, 2 }, | 110018 { 182, 2 }, 109951 { 181, 3 }, | 110019 { 180, 3 }, 109952 { 181, 2 }, | 110020 { 180, 2 }, 109953 { 184, 0 }, | 110021 { 183, 0 }, 109954 { 184, 2 }, | 110022 { 183, 2 }, 109955 { 184, 2 }, | 110023 { 183, 2 }, 109956 { 159, 0 }, 110024 { 159, 0 }, 109957 { 159, 2 }, | 110025 { 159, 3 }, > 110026 { 184, 4 }, > 110027 { 184, 3 }, > 110028 { 184, 2 }, 109958 { 185, 4 }, | 110029 { 185, 0 }, 109959 { 185, 2 }, 110030 { 185, 2 }, 109960 { 186, 7 }, 110031 { 186, 7 }, 109961 { 186, 5 }, 110032 { 186, 5 }, 109962 { 186, 5 }, 110033 { 186, 5 }, 109963 { 186, 10 }, 110034 { 186, 10 }, 109964 { 188, 0 }, 110035 { 188, 0 }, 109965 { 188, 1 }, 110036 { 188, 1 }, 109966 { 176, 0 }, | 110037 { 175, 0 }, 109967 { 176, 3 }, | 110038 { 175, 3 }, 109968 { 189, 0 }, 110039 { 189, 0 }, 109969 { 189, 2 }, 110040 { 189, 2 }, 109970 { 190, 1 }, 110041 { 190, 1 }, 109971 { 190, 1 }, 110042 { 190, 1 }, 109972 { 190, 1 }, 110043 { 190, 1 }, 109973 { 147, 4 }, 110044 { 147, 4 }, 109974 { 192, 2 }, 110045 { 192, 2 }, ................................................................................................................................................................................ 110014 { 209, 2 }, 110085 { 209, 2 }, 110015 { 211, 4 }, 110086 { 211, 4 }, 110016 { 211, 0 }, 110087 { 211, 0 }, 110017 { 202, 0 }, 110088 { 202, 0 }, 110018 { 202, 3 }, 110089 { 202, 3 }, 110019 { 214, 4 }, 110090 { 214, 4 }, 110020 { 214, 2 }, 110091 { 214, 2 }, 110021 { 177, 1 }, | 110092 { 176, 1 }, 110022 { 177, 1 }, | 110093 { 176, 1 }, 110023 { 177, 0 }, | 110094 { 176, 0 }, 110024 { 200, 0 }, 110095 { 200, 0 }, 110025 { 200, 3 }, 110096 { 200, 3 }, 110026 { 201, 0 }, 110097 { 201, 0 }, 110027 { 201, 2 }, 110098 { 201, 2 }, 110028 { 203, 0 }, 110099 { 203, 0 }, 110029 { 203, 2 }, 110100 { 203, 2 }, 110030 { 203, 4 }, 110101 { 203, 4 }, ................................................................................................................................................................................ 110042 { 217, 1 }, 110113 { 217, 1 }, 110043 { 219, 4 }, 110114 { 219, 4 }, 110044 { 219, 5 }, 110115 { 219, 5 }, 110045 { 218, 0 }, 110116 { 218, 0 }, 110046 { 218, 3 }, 110117 { 218, 3 }, 110047 { 213, 3 }, 110118 { 213, 3 }, 110048 { 213, 1 }, 110119 { 213, 1 }, 110049 { 175, 1 }, | 110120 { 174, 1 }, 110050 { 175, 3 }, | 110121 { 174, 3 }, 110051 { 174, 1 }, | 110122 { 173, 1 }, 110052 { 175, 1 }, | 110123 { 174, 1 }, 110053 { 175, 1 }, | 110124 { 174, 1 }, 110054 { 175, 3 }, | 110125 { 174, 3 }, 110055 { 175, 5 }, | 110126 { 174, 5 }, 110056 { 174, 1 }, | 110127 { 173, 1 }, 110057 { 174, 1 }, | 110128 { 173, 1 }, 110058 { 175, 1 }, | 110129 { 174, 1 }, 110059 { 175, 1 }, | 110130 { 174, 1 }, 110060 { 175, 3 }, | 110131 { 174, 3 }, 110061 { 175, 6 }, | 110132 { 174, 6 }, 110062 { 175, 5 }, | 110133 { 174, 5 }, 110063 { 175, 4 }, | 110134 { 174, 4 }, 110064 { 174, 1 }, | 110135 { 173, 1 }, 110065 { 175, 3 }, | 110136 { 174, 3 }, 110066 { 175, 3 }, | 110137 { 174, 3 }, 110067 { 175, 3 }, | 110138 { 174, 3 }, 110068 { 175, 3 }, | 110139 { 174, 3 }, 110069 { 175, 3 }, | 110140 { 174, 3 }, 110070 { 175, 3 }, | 110141 { 174, 3 }, 110071 { 175, 3 }, | 110142 { 174, 3 }, 110072 { 175, 3 }, | 110143 { 174, 3 }, 110073 { 221, 1 }, 110144 { 221, 1 }, 110074 { 221, 2 }, 110145 { 221, 2 }, 110075 { 221, 1 }, 110146 { 221, 1 }, 110076 { 221, 2 }, 110147 { 221, 2 }, 110077 { 175, 3 }, | 110148 { 174, 3 }, 110078 { 175, 5 }, | 110149 { 174, 5 }, 110079 { 175, 2 }, | 110150 { 174, 2 }, 110080 { 175, 3 }, | 110151 { 174, 3 }, 110081 { 175, 3 }, | 110152 { 174, 3 }, 110082 { 175, 4 }, | 110153 { 174, 4 }, 110083 { 175, 2 }, | 110154 { 174, 2 }, 110084 { 175, 2 }, | 110155 { 174, 2 }, 110085 { 175, 2 }, | 110156 { 174, 2 }, 110086 { 175, 2 }, | 110157 { 174, 2 }, 110087 { 222, 1 }, 110158 { 222, 1 }, 110088 { 222, 2 }, 110159 { 222, 2 }, 110089 { 175, 5 }, | 110160 { 174, 5 }, 110090 { 223, 1 }, 110161 { 223, 1 }, 110091 { 223, 2 }, 110162 { 223, 2 }, 110092 { 175, 5 }, | 110163 { 174, 5 }, 110093 { 175, 3 }, | 110164 { 174, 3 }, 110094 { 175, 5 }, | 110165 { 174, 5 }, 110095 { 175, 4 }, | 110166 { 174, 4 }, 110096 { 175, 4 }, | 110167 { 174, 4 }, 110097 { 175, 5 }, | 110168 { 174, 5 }, 110098 { 225, 5 }, 110169 { 225, 5 }, 110099 { 225, 4 }, 110170 { 225, 4 }, 110100 { 226, 2 }, 110171 { 226, 2 }, 110101 { 226, 0 }, 110172 { 226, 0 }, 110102 { 224, 1 }, 110173 { 224, 1 }, 110103 { 224, 0 }, 110174 { 224, 0 }, 110104 { 220, 1 }, 110175 { 220, 1 }, 110105 { 220, 0 }, 110176 { 220, 0 }, 110106 { 215, 3 }, 110177 { 215, 3 }, 110107 { 215, 1 }, 110178 { 215, 1 }, 110108 { 147, 11 }, 110179 { 147, 11 }, 110109 { 227, 1 }, 110180 { 227, 1 }, 110110 { 227, 0 }, 110181 { 227, 0 }, 110111 { 179, 0 }, | 110182 { 178, 0 }, 110112 { 179, 3 }, | 110183 { 178, 3 }, 110113 { 187, 5 }, 110184 { 187, 5 }, 110114 { 187, 3 }, 110185 { 187, 3 }, 110115 { 228, 0 }, 110186 { 228, 0 }, 110116 { 228, 2 }, 110187 { 228, 2 }, 110117 { 147, 4 }, 110188 { 147, 4 }, 110118 { 147, 1 }, 110189 { 147, 1 }, 110119 { 147, 2 }, 110190 { 147, 2 }, ................................................................................................................................................................................ 110152 { 239, 3 }, 110223 { 239, 3 }, 110153 { 239, 2 }, 110224 { 239, 2 }, 110154 { 237, 7 }, 110225 { 237, 7 }, 110155 { 237, 5 }, 110226 { 237, 5 }, 110156 { 237, 5 }, 110227 { 237, 5 }, 110157 { 237, 5 }, 110228 { 237, 5 }, 110158 { 237, 1 }, 110229 { 237, 1 }, 110159 { 175, 4 }, | 110230 { 174, 4 }, 110160 { 175, 6 }, | 110231 { 174, 6 }, 110161 { 191, 1 }, 110232 { 191, 1 }, 110162 { 191, 1 }, 110233 { 191, 1 }, 110163 { 191, 1 }, 110234 { 191, 1 }, 110164 { 147, 4 }, 110235 { 147, 4 }, 110165 { 147, 6 }, 110236 { 147, 6 }, 110166 { 147, 3 }, 110237 { 147, 3 }, 110167 { 241, 0 }, 110238 { 241, 0 }, ................................................................................................................................................................................ 110261 break; 110332 break; 110262 case 13: /* transtype ::= */ 110333 case 13: /* transtype ::= */ 110263 {yygotominor.yy392 = TK_DEFERRED;} 110334 {yygotominor.yy392 = TK_DEFERRED;} 110264 break; 110335 break; 110265 case 14: /* transtype ::= DEFERRED */ 110336 case 14: /* transtype ::= DEFERRED */ 110266 case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); 110337 case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); 110267 case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); 110338 case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); 110268 case 113: /* multiselect_op ::= UNION */ yytestcase(yyruleno==113); | 110339 case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); 110269 case 115: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==1 | 110340 case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==1 110270 {yygotominor.yy392 = yymsp[0].major;} 110341 {yygotominor.yy392 = yymsp[0].major;} 110271 break; 110342 break; 110272 case 17: /* cmd ::= COMMIT trans_opt */ 110343 case 17: /* cmd ::= COMMIT trans_opt */ 110273 case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); 110344 case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); 110274 {sqlite3CommitTransaction(pParse);} 110345 {sqlite3CommitTransaction(pParse);} 110275 break; 110346 break; 110276 case 19: /* cmd ::= ROLLBACK trans_opt */ 110347 case 19: /* cmd ::= ROLLBACK trans_opt */ ................................................................................................................................................................................ 110300 { 110371 { 110301 pParse->db->lookaside.bEnabled = 0; 110372 pParse->db->lookaside.bEnabled = 0; 110302 yygotominor.yy0 = yymsp[0].minor.yy0; 110373 yygotominor.yy0 = yymsp[0].minor.yy0; 110303 } 110374 } 110304 break; 110375 break; 110305 case 28: /* ifnotexists ::= */ 110376 case 28: /* ifnotexists ::= */ 110306 case 31: /* temp ::= */ yytestcase(yyruleno==31); 110377 case 31: /* temp ::= */ yytestcase(yyruleno==31); 110307 case 70: /* autoinc ::= */ yytestcase(yyruleno==70); | 110378 case 69: /* autoinc ::= */ yytestcase(yyruleno==69); 110308 case 83: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ y | 110379 case 82: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ y 110309 case 85: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==85); | 110380 case 84: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==84); 110310 case 87: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(y | 110381 case 86: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(y 110311 case 96: /* defer_subclause_opt ::= */ yytestcase(yyruleno==96); | 110382 case 98: /* defer_subclause_opt ::= */ yytestcase(yyruleno==98); 110312 case 107: /* ifexists ::= */ yytestcase(yyruleno==107); | 110383 case 109: /* ifexists ::= */ yytestcase(yyruleno==109); 110313 case 118: /* distinct ::= ALL */ yytestcase(yyruleno==118); | 110384 case 120: /* distinct ::= ALL */ yytestcase(yyruleno==120); 110314 case 119: /* distinct ::= */ yytestcase(yyruleno==119); | 110385 case 121: /* distinct ::= */ yytestcase(yyruleno==121); 110315 case 219: /* between_op ::= BETWEEN */ yytestcase(yyruleno==219); | 110386 case 221: /* between_op ::= BETWEEN */ yytestcase(yyruleno==221); 110316 case 222: /* in_op ::= IN */ yytestcase(yyruleno==222); | 110387 case 224: /* in_op ::= IN */ yytestcase(yyruleno==224); 110317 {yygotominor.yy392 = 0;} 110388 {yygotominor.yy392 = 0;} 110318 break; 110389 break; 110319 case 29: /* ifnotexists ::= IF NOT EXISTS */ 110390 case 29: /* ifnotexists ::= IF NOT EXISTS */ 110320 case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); 110391 case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); 110321 case 71: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==71); | 110392 case 70: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==70); 110322 case 86: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yy | 110393 case 85: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yy 110323 case 106: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==106); | 110394 case 108: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==108); 110324 case 117: /* distinct ::= DISTINCT */ yytestcase(yyruleno==117); | 110395 case 119: /* distinct ::= DISTINCT */ yytestcase(yyruleno==119); 110325 case 220: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==220); | 110396 case 222: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==222); 110326 case 223: /* in_op ::= NOT IN */ yytestcase(yyruleno==223); | 110397 case 225: /* in_op ::= NOT IN */ yytestcase(yyruleno==225); 110327 {yygotominor.yy392 = 1;} 110398 {yygotominor.yy392 = 1;} 110328 break; 110399 break; 110329 case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ 110400 case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ 110330 { 110401 { 110331 sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); 110402 sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0); 110332 } 110403 } 110333 break; 110404 break; ................................................................................................................................................................................ 110343 yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse 110414 yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse 110344 } 110415 } 110345 break; 110416 break; 110346 case 37: /* columnid ::= nm */ 110417 case 37: /* columnid ::= nm */ 110347 { 110418 { 110348 sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); 110419 sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); 110349 yygotominor.yy0 = yymsp[0].minor.yy0; 110420 yygotominor.yy0 = yymsp[0].minor.yy0; > 110421 pParse->constraintName.n = 0; 110350 } 110422 } 110351 break; 110423 break; 110352 case 38: /* id ::= ID */ 110424 case 38: /* id ::= ID */ 110353 case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39); 110425 case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39); 110354 case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40); 110426 case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40); 110355 case 41: /* nm ::= id */ yytestcase(yyruleno==41); 110427 case 41: /* nm ::= id */ yytestcase(yyruleno==41); 110356 case 42: /* nm ::= STRING */ yytestcase(yyruleno==42); 110428 case 42: /* nm ::= STRING */ yytestcase(yyruleno==42); 110357 case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43); 110429 case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43); 110358 case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); 110430 case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46); 110359 case 49: /* typename ::= ids */ yytestcase(yyruleno==49); 110431 case 49: /* typename ::= ids */ yytestcase(yyruleno==49); 110360 case 125: /* as ::= AS nm */ yytestcase(yyruleno==125); | 110432 case 127: /* as ::= AS nm */ yytestcase(yyruleno==127); 110361 case 126: /* as ::= ids */ yytestcase(yyruleno==126); | 110433 case 128: /* as ::= ids */ yytestcase(yyruleno==128); 110362 case 136: /* dbnm ::= DOT nm */ yytestcase(yyruleno==136); | 110434 case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138); 110363 case 145: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==145); | 110435 case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147); 110364 case 248: /* collate ::= COLLATE ids */ yytestcase(yyruleno==248); | 110436 case 250: /* collate ::= COLLATE ids */ yytestcase(yyruleno==250); 110365 case 257: /* nmnum ::= plus_num */ yytestcase(yyruleno==257); | 110437 case 259: /* nmnum ::= plus_num */ yytestcase(yyruleno==259); 110366 case 258: /* nmnum ::= nm */ yytestcase(yyruleno==258); | 110438 case 260: /* nmnum ::= nm */ yytestcase(yyruleno==260); 110367 case 259: /* nmnum ::= ON */ yytestcase(yyruleno==259); | 110439 case 261: /* nmnum ::= ON */ yytestcase(yyruleno==261); 110368 case 260: /* nmnum ::= DELETE */ yytestcase(yyruleno==260); | 110440 case 262: /* nmnum ::= DELETE */ yytestcase(yyruleno==262); 110369 case 261: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==261); | 110441 case 263: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==263); 110370 case 262: /* plus_num ::= PLUS number */ yytestcase(yyruleno==262); | 110442 case 264: /* plus_num ::= PLUS number */ yytestcase(yyruleno==264); 110371 case 263: /* plus_num ::= number */ yytestcase(yyruleno==263); | 110443 case 265: /* plus_num ::= number */ yytestcase(yyruleno==265); 110372 case 264: /* minus_num ::= MINUS number */ yytestcase(yyruleno==264); | 110444 case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266); 110373 case 265: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==265); | 110445 case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267); 110374 case 281: /* trnm ::= nm */ yytestcase(yyruleno==281); | 110446 case 283: /* trnm ::= nm */ yytestcase(yyruleno==283); 110375 {yygotominor.yy0 = yymsp[0].minor.yy0;} 110447 {yygotominor.yy0 = yymsp[0].minor.yy0;} 110376 break; 110448 break; 110377 case 45: /* type ::= typetoken */ 110449 case 45: /* type ::= typetoken */ 110378 {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} 110450 {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} 110379 break; 110451 break; 110380 case 47: /* typetoken ::= typename LP signed RP */ 110452 case 47: /* typetoken ::= typename LP signed RP */ 110381 { 110453 { ................................................................................................................................................................................ 110388 yygotominor.yy0.z = yymsp[-5].minor.yy0.z; 110460 yygotominor.yy0.z = yymsp[-5].minor.yy0.z; 110389 yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[ 110461 yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[ 110390 } 110462 } 110391 break; 110463 break; 110392 case 50: /* typename ::= typename ids */ 110464 case 50: /* typename ::= typename ids */ 110393 {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n 110465 {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n 110394 break; 110466 break; > 110467 case 55: /* ccons ::= CONSTRAINT nm */ 110395 case 55: /* cname ::= CONSTRAINT nm */ | 110468 case 93: /* cname ::= CONSTRAINT nm */ yytestcase(yyruleno==93); 110396 {pParse->constraintName = yymsp[0].minor.yy0;} 110469 {pParse->constraintName = yymsp[0].minor.yy0;} 110397 break; 110470 break; 110398 case 56: /* cname ::= */ < 110399 {pParse->constraintName.n = 0;} < 110400 break; < 110401 case 57: /* ccons ::= DEFAULT term */ | 110471 case 56: /* ccons ::= DEFAULT term */ 110402 case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); | 110472 case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58); 110403 {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} 110473 {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} 110404 break; 110474 break; 110405 case 58: /* ccons ::= DEFAULT LP expr RP */ | 110475 case 57: /* ccons ::= DEFAULT LP expr RP */ 110406 {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);} 110476 {sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);} 110407 break; 110477 break; 110408 case 60: /* ccons ::= DEFAULT MINUS term */ | 110478 case 59: /* ccons ::= DEFAULT MINUS term */ 110409 { 110479 { 110410 ExprSpan v; 110480 ExprSpan v; 110411 v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0); 110481 v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0); 110412 v.zStart = yymsp[-1].minor.yy0.z; 110482 v.zStart = yymsp[-1].minor.yy0.z; 110413 v.zEnd = yymsp[0].minor.yy342.zEnd; 110483 v.zEnd = yymsp[0].minor.yy342.zEnd; 110414 sqlite3AddDefaultValue(pParse,&v); 110484 sqlite3AddDefaultValue(pParse,&v); 110415 } 110485 } 110416 break; 110486 break; 110417 case 61: /* ccons ::= DEFAULT id */ | 110487 case 60: /* ccons ::= DEFAULT id */ 110418 { 110488 { 110419 ExprSpan v; 110489 ExprSpan v; 110420 spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); 110490 spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); 110421 sqlite3AddDefaultValue(pParse,&v); 110491 sqlite3AddDefaultValue(pParse,&v); 110422 } 110492 } 110423 break; 110493 break; 110424 case 63: /* ccons ::= NOT NULL onconf */ | 110494 case 62: /* ccons ::= NOT NULL onconf */ 110425 {sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);} 110495 {sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);} 110426 break; 110496 break; 110427 case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ | 110497 case 63: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ 110428 {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[ 110498 {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[ 110429 break; 110499 break; 110430 case 65: /* ccons ::= UNIQUE onconf */ | 110500 case 64: /* ccons ::= UNIQUE onconf */ 110431 {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);} 110501 {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);} 110432 break; 110502 break; 110433 case 66: /* ccons ::= CHECK LP expr RP */ | 110503 case 65: /* ccons ::= CHECK LP expr RP */ 110434 {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);} 110504 {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);} 110435 break; 110505 break; 110436 case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */ | 110506 case 66: /* ccons ::= REFERENCES nm idxlist_opt refargs */ 110437 {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yym 110507 {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yym 110438 break; 110508 break; 110439 case 68: /* ccons ::= defer_subclause */ | 110509 case 67: /* ccons ::= defer_subclause */ 110440 {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);} 110510 {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);} 110441 break; 110511 break; 110442 case 69: /* ccons ::= COLLATE ids */ | 110512 case 68: /* ccons ::= COLLATE ids */ 110443 {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} 110513 {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} 110444 break; 110514 break; 110445 case 72: /* refargs ::= */ | 110515 case 71: /* refargs ::= */ 110446 { yygotominor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */} 110516 { yygotominor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */} 110447 break; 110517 break; 110448 case 73: /* refargs ::= refargs refarg */ | 110518 case 72: /* refargs ::= refargs refarg */ 110449 { yygotominor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yym 110519 { yygotominor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yym 110450 break; 110520 break; 110451 case 74: /* refarg ::= MATCH nm */ | 110521 case 73: /* refarg ::= MATCH nm */ 110452 case 75: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==75); | 110522 case 74: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==74); 110453 { yygotominor.yy207.value = 0; yygotominor.yy207.mask = 0x000000; } 110523 { yygotominor.yy207.value = 0; yygotominor.yy207.mask = 0x000000; } 110454 break; 110524 break; 110455 case 76: /* refarg ::= ON DELETE refact */ | 110525 case 75: /* refarg ::= ON DELETE refact */ 110456 { yygotominor.yy207.value = yymsp[0].minor.yy392; yygotominor.yy207.mask = 0 110526 { yygotominor.yy207.value = yymsp[0].minor.yy392; yygotominor.yy207.mask = 0 110457 break; 110527 break; 110458 case 77: /* refarg ::= ON UPDATE refact */ | 110528 case 76: /* refarg ::= ON UPDATE refact */ 110459 { yygotominor.yy207.value = yymsp[0].minor.yy392<<8; yygotominor.yy207.mask = 0 110529 { yygotominor.yy207.value = yymsp[0].minor.yy392<<8; yygotominor.yy207.mask = 0 110460 break; 110530 break; 110461 case 78: /* refact ::= SET NULL */ | 110531 case 77: /* refact ::= SET NULL */ 110462 { yygotominor.yy392 = OE_SetNull; /* EV: R-33326-45252 */} 110532 { yygotominor.yy392 = OE_SetNull; /* EV: R-33326-45252 */} 110463 break; 110533 break; 110464 case 79: /* refact ::= SET DEFAULT */ | 110534 case 78: /* refact ::= SET DEFAULT */ 110465 { yygotominor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */} 110535 { yygotominor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */} 110466 break; 110536 break; 110467 case 80: /* refact ::= CASCADE */ | 110537 case 79: /* refact ::= CASCADE */ 110468 { yygotominor.yy392 = OE_Cascade; /* EV: R-33326-45252 */} 110538 { yygotominor.yy392 = OE_Cascade; /* EV: R-33326-45252 */} 110469 break; 110539 break; 110470 case 81: /* refact ::= RESTRICT */ | 110540 case 80: /* refact ::= RESTRICT */ 110471 { yygotominor.yy392 = OE_Restrict; /* EV: R-33326-45252 */} 110541 { yygotominor.yy392 = OE_Restrict; /* EV: R-33326-45252 */} 110472 break; 110542 break; 110473 case 82: /* refact ::= NO ACTION */ | 110543 case 81: /* refact ::= NO ACTION */ 110474 { yygotominor.yy392 = OE_None; /* EV: R-33326-45252 */} 110544 { yygotominor.yy392 = OE_None; /* EV: R-33326-45252 */} 110475 break; 110545 break; 110476 case 84: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ | 110546 case 83: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ 110477 case 97: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno | 110547 case 99: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno 110478 case 99: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==99) | 110548 case 101: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==10 110479 case 102: /* resolvetype ::= raisetype */ yytestcase(yyruleno==102); | 110549 case 104: /* resolvetype ::= raisetype */ yytestcase(yyruleno==104); 110480 {yygotominor.yy392 = yymsp[0].minor.yy392;} 110550 {yygotominor.yy392 = yymsp[0].minor.yy392;} 110481 break; 110551 break; 110482 case 88: /* conslist_opt ::= */ | 110552 case 87: /* conslist_opt ::= */ 110483 {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} 110553 {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} 110484 break; 110554 break; 110485 case 89: /* conslist_opt ::= COMMA conslist */ | 110555 case 88: /* conslist_opt ::= COMMA conslist cname */ 110486 {yygotominor.yy0 = yymsp[-1].minor.yy0;} | 110556 {yygotominor.yy0 = yymsp[-2].minor.yy0;} 110487 break; 110557 break; > 110558 case 92: /* cname ::= */ > 110559 {pParse->constraintName.n = 0;} > 110560 break; 110488 case 92: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ | 110561 case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ 110489 {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2 110562 {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2 110490 break; 110563 break; 110491 case 93: /* tcons ::= UNIQUE LP idxlist RP onconf */ | 110564 case 95: /* tcons ::= UNIQUE LP idxlist RP onconf */ 110492 {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0, 110565 {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0, 110493 break; 110566 break; 110494 case 94: /* tcons ::= CHECK LP expr RP onconf */ | 110567 case 96: /* tcons ::= CHECK LP expr RP onconf */ 110495 {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);} 110568 {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);} 110496 break; 110569 break; 110497 case 95: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt | 110570 case 97: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt 110498 { 110571 { 110499 sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, 110572 sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, 110500 sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392); 110573 sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392); 110501 } 110574 } 110502 break; 110575 break; 110503 case 98: /* onconf ::= */ | 110576 case 100: /* onconf ::= */ 110504 {yygotominor.yy392 = OE_Default;} 110577 {yygotominor.yy392 = OE_Default;} 110505 break; 110578 break; 110506 case 100: /* orconf ::= */ | 110579 case 102: /* orconf ::= */ 110507 {yygotominor.yy258 = OE_Default;} 110580 {yygotominor.yy258 = OE_Default;} 110508 break; 110581 break; 110509 case 101: /* orconf ::= OR resolvetype */ | 110582 case 103: /* orconf ::= OR resolvetype */ 110510 {yygotominor.yy258 = (u8)yymsp[0].minor.yy392;} 110583 {yygotominor.yy258 = (u8)yymsp[0].minor.yy392;} 110511 break; 110584 break; 110512 case 103: /* resolvetype ::= IGNORE */ | 110585 case 105: /* resolvetype ::= IGNORE */ 110513 {yygotominor.yy392 = OE_Ignore;} 110586 {yygotominor.yy392 = OE_Ignore;} 110514 break; 110587 break; 110515 case 104: /* resolvetype ::= REPLACE */ | 110588 case 106: /* resolvetype ::= REPLACE */ 110516 {yygotominor.yy392 = OE_Replace;} 110589 {yygotominor.yy392 = OE_Replace;} 110517 break; 110590 break; 110518 case 105: /* cmd ::= DROP TABLE ifexists fullname */ | 110591 case 107: /* cmd ::= DROP TABLE ifexists fullname */ 110519 { 110592 { 110520 sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392); 110593 sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392); 110521 } 110594 } 110522 break; 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 sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[- 110598 sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[- 110526 } 110599 } 110527 break; 110600 break; 110528 case 109: /* cmd ::= DROP VIEW ifexists fullname */ | 110601 case 111: /* cmd ::= DROP VIEW ifexists fullname */ 110529 { 110602 { 110530 sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392); 110603 sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392); 110531 } 110604 } 110532 break; 110605 break; 110533 case 110: /* cmd ::= select */ | 110606 case 112: /* cmd ::= select */ 110534 { 110607 { 110535 SelectDest dest = {SRT_Output, 0, 0, 0, 0}; 110608 SelectDest dest = {SRT_Output, 0, 0, 0, 0}; 110536 sqlite3Select(pParse, yymsp[0].minor.yy159, &dest); 110609 sqlite3Select(pParse, yymsp[0].minor.yy159, &dest); 110537 sqlite3ExplainBegin(pParse->pVdbe); 110610 sqlite3ExplainBegin(pParse->pVdbe); 110538 sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy159); 110611 sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy159); 110539 sqlite3ExplainFinish(pParse->pVdbe); 110612 sqlite3ExplainFinish(pParse->pVdbe); 110540 sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); 110613 sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); 110541 } 110614 } 110542 break; 110615 break; 110543 case 111: /* select ::= oneselect */ | 110616 case 113: /* select ::= oneselect */ 110544 {yygotominor.yy159 = yymsp[0].minor.yy159;} 110617 {yygotominor.yy159 = yymsp[0].minor.yy159;} 110545 break; 110618 break; 110546 case 112: /* select ::= select multiselect_op oneselect */ | 110619 case 114: /* select ::= select multiselect_op oneselect */ 110547 { 110620 { 110548 if( yymsp[0].minor.yy159 ){ 110621 if( yymsp[0].minor.yy159 ){ 110549 yymsp[0].minor.yy159->op = (u8)yymsp[-1].minor.yy392; 110622 yymsp[0].minor.yy159->op = (u8)yymsp[-1].minor.yy392; 110550 yymsp[0].minor.yy159->pPrior = yymsp[-2].minor.yy159; 110623 yymsp[0].minor.yy159->pPrior = yymsp[-2].minor.yy159; 110551 }else{ 110624 }else{ 110552 sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy159); 110625 sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy159); 110553 } 110626 } 110554 yygotominor.yy159 = yymsp[0].minor.yy159; 110627 yygotominor.yy159 = yymsp[0].minor.yy159; 110555 } 110628 } 110556 break; 110629 break; 110557 case 114: /* multiselect_op ::= UNION ALL */ | 110630 case 116: /* multiselect_op ::= UNION ALL */ 110558 {yygotominor.yy392 = TK_ALL;} 110631 {yygotominor.yy392 = TK_ALL;} 110559 break; 110632 break; 110560 case 116: /* oneselect ::= SELECT distinct selcollist from where_opt group | 110633 case 118: /* oneselect ::= SELECT distinct selcollist from where_opt group 110561 { 110634 { 110562 yygotominor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].mi 110635 yygotominor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].mi 110563 } 110636 } 110564 break; 110637 break; 110565 case 120: /* sclp ::= selcollist COMMA */ | 110638 case 122: /* sclp ::= selcollist COMMA */ 110566 case 244: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==244); | 110639 case 246: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==246); 110567 {yygotominor.yy442 = yymsp[-1].minor.yy442;} 110640 {yygotominor.yy442 = yymsp[-1].minor.yy442;} 110568 break; 110641 break; 110569 case 121: /* sclp ::= */ | 110642 case 123: /* sclp ::= */ 110570 case 149: /* orderby_opt ::= */ yytestcase(yyruleno==149); | 110643 case 151: /* orderby_opt ::= */ yytestcase(yyruleno==151); 110571 case 156: /* groupby_opt ::= */ yytestcase(yyruleno==156); | 110644 case 158: /* groupby_opt ::= */ yytestcase(yyruleno==158); 110572 case 237: /* exprlist ::= */ yytestcase(yyruleno==237); | 110645 case 239: /* exprlist ::= */ yytestcase(yyruleno==239); 110573 case 243: /* idxlist_opt ::= */ yytestcase(yyruleno==243); | 110646 case 245: /* idxlist_opt ::= */ yytestcase(yyruleno==245); 110574 {yygotominor.yy442 = 0;} 110647 {yygotominor.yy442 = 0;} 110575 break; 110648 break; 110576 case 122: /* selcollist ::= sclp expr as */ | 110649 case 124: /* selcollist ::= sclp expr as */ 110577 { 110650 { 110578 yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yyms 110651 yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yyms 110579 if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy442 110652 if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy442 110580 sqlite3ExprListSetSpan(pParse,yygotominor.yy442,&yymsp[-1].minor.yy342); 110653 sqlite3ExprListSetSpan(pParse,yygotominor.yy442,&yymsp[-1].minor.yy342); 110581 } 110654 } 110582 break; 110655 break; 110583 case 123: /* selcollist ::= sclp STAR */ | 110656 case 125: /* selcollist ::= sclp STAR */ 110584 { 110657 { 110585 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); 110658 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); 110586 yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p); 110659 yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p); 110587 } 110660 } 110588 break; 110661 break; 110589 case 124: /* selcollist ::= sclp nm DOT STAR */ | 110662 case 126: /* selcollist ::= sclp nm DOT STAR */ 110590 { 110663 { 110591 Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); 110664 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); 110665 Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); 110593 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); 110666 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); 110594 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot); 110667 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot); 110595 } 110668 } 110596 break; 110669 break; 110597 case 127: /* as ::= */ | 110670 case 129: /* as ::= */ 110598 {yygotominor.yy0.n = 0;} 110671 {yygotominor.yy0.n = 0;} 110599 break; 110672 break; 110600 case 128: /* from ::= */ | 110673 case 130: /* from ::= */ 110601 {yygotominor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy347)) 110674 {yygotominor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy347)) 110602 break; 110675 break; 110603 case 129: /* from ::= FROM seltablist */ | 110676 case 131: /* from ::= FROM seltablist */ 110604 { 110677 { 110605 yygotominor.yy347 = yymsp[0].minor.yy347; 110678 yygotominor.yy347 = yymsp[0].minor.yy347; 110606 sqlite3SrcListShiftJoinType(yygotominor.yy347); 110679 sqlite3SrcListShiftJoinType(yygotominor.yy347); 110607 } 110680 } 110608 break; 110681 break; 110609 case 130: /* stl_prefix ::= seltablist joinop */ | 110682 case 132: /* stl_prefix ::= seltablist joinop */ 110610 { 110683 { 110611 yygotominor.yy347 = yymsp[-1].minor.yy347; 110684 yygotominor.yy347 = yymsp[-1].minor.yy347; 110612 if( ALWAYS(yygotominor.yy347 && yygotominor.yy347->nSrc>0) ) yygotominor.yy34 110685 if( ALWAYS(yygotominor.yy347 && yygotominor.yy347->nSrc>0) ) yygotominor.yy34 110613 } 110686 } 110614 break; 110687 break; 110615 case 131: /* stl_prefix ::= */ | 110688 case 133: /* stl_prefix ::= */ 110616 {yygotominor.yy347 = 0;} 110689 {yygotominor.yy347 = 0;} 110617 break; 110690 break; 110618 case 132: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using | 110691 case 134: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using 110619 { 110692 { 110620 yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347, 110693 yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347, 110621 sqlite3SrcListIndexedBy(pParse, yygotominor.yy347, &yymsp[-2].minor.yy0); 110694 sqlite3SrcListIndexedBy(pParse, yygotominor.yy347, &yymsp[-2].minor.yy0); 110622 } 110695 } 110623 break; 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 yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy34 110699 yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy34 110627 } 110700 } 110628 break; 110701 break; 110629 case 134: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_op | 110702 case 136: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_op 110630 { 110703 { 110631 if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor. 110704 if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor. 110632 yygotominor.yy347 = yymsp[-4].minor.yy347; 110705 yygotominor.yy347 = yymsp[-4].minor.yy347; 110633 }else{ 110706 }else{ 110634 Select *pSubquery; 110707 Select *pSubquery; 110635 sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy347); 110708 sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy347); 110636 pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,0,0,0) 110709 pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,0,0,0) 110637 yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy 110710 yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy 110638 } 110711 } 110639 } 110712 } 110640 break; 110713 break; 110641 case 135: /* dbnm ::= */ | 110714 case 137: /* dbnm ::= */ 110642 case 144: /* indexed_opt ::= */ yytestcase(yyruleno==144); | 110715 case 146: /* indexed_opt ::= */ yytestcase(yyruleno==146); 110643 {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} 110716 {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} 110644 break; 110717 break; 110645 case 137: /* fullname ::= nm dbnm */ | 110718 case 139: /* fullname ::= nm dbnm */ 110646 {yygotominor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yym 110719 {yygotominor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yym 110647 break; 110720 break; 110648 case 138: /* joinop ::= COMMA|JOIN */ | 110721 case 140: /* joinop ::= COMMA|JOIN */ 110649 { yygotominor.yy392 = JT_INNER; } 110722 { yygotominor.yy392 = JT_INNER; } 110650 break; 110723 break; 110651 case 139: /* joinop ::= JOIN_KW JOIN */ | 110724 case 141: /* joinop ::= JOIN_KW JOIN */ 110652 { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } 110725 { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } 110653 break; 110726 break; 110654 case 140: /* joinop ::= JOIN_KW nm JOIN */ | 110727 case 142: /* joinop ::= JOIN_KW nm JOIN */ 110655 { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].min 110728 { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].min 110656 break; 110729 break; 110657 case 141: /* joinop ::= JOIN_KW nm nm JOIN */ | 110730 case 143: /* joinop ::= JOIN_KW nm nm JOIN */ 110658 { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].min 110731 { yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].min 110659 break; 110732 break; 110660 case 142: /* on_opt ::= ON expr */ | 110733 case 144: /* on_opt ::= ON expr */ 110661 case 159: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==159); | 110734 case 161: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==161); 110662 case 166: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==166); | 110735 case 168: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==168); 110663 case 232: /* case_else ::= ELSE expr */ yytestcase(yyruleno==232); | 110736 case 234: /* case_else ::= ELSE expr */ yytestcase(yyruleno==234); 110664 case 234: /* case_operand ::= expr */ yytestcase(yyruleno==234); | 110737 case 236: /* case_operand ::= expr */ yytestcase(yyruleno==236); 110665 {yygotominor.yy122 = yymsp[0].minor.yy342.pExpr;} 110738 {yygotominor.yy122 = yymsp[0].minor.yy342.pExpr;} 110666 break; 110739 break; 110667 case 143: /* on_opt ::= */ | 110740 case 145: /* on_opt ::= */ 110668 case 158: /* having_opt ::= */ yytestcase(yyruleno==158); | 110741 case 160: /* having_opt ::= */ yytestcase(yyruleno==160); 110669 case 165: /* where_opt ::= */ yytestcase(yyruleno==165); | 110742 case 167: /* where_opt ::= */ yytestcase(yyruleno==167); 110670 case 233: /* case_else ::= */ yytestcase(yyruleno==233); | 110743 case 235: /* case_else ::= */ yytestcase(yyruleno==235); 110671 case 235: /* case_operand ::= */ yytestcase(yyruleno==235); | 110744 case 237: /* case_operand ::= */ yytestcase(yyruleno==237); 110672 {yygotominor.yy122 = 0;} 110745 {yygotominor.yy122 = 0;} 110673 break; 110746 break; 110674 case 146: /* indexed_opt ::= NOT INDEXED */ | 110747 case 148: /* indexed_opt ::= NOT INDEXED */ 110675 {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} 110748 {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} 110676 break; 110749 break; 110677 case 147: /* using_opt ::= USING LP inscollist RP */ | 110750 case 149: /* using_opt ::= USING LP inscollist RP */ 110678 case 178: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==1 | 110751 case 180: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==1 110679 {yygotominor.yy180 = yymsp[-1].minor.yy180;} 110752 {yygotominor.yy180 = yymsp[-1].minor.yy180;} 110680 break; 110753 break; 110681 case 148: /* using_opt ::= */ | 110754 case 150: /* using_opt ::= */ 110682 case 177: /* inscollist_opt ::= */ yytestcase(yyruleno==177); | 110755 case 179: /* inscollist_opt ::= */ yytestcase(yyruleno==179); 110683 {yygotominor.yy180 = 0;} 110756 {yygotominor.yy180 = 0;} 110684 break; 110757 break; 110685 case 150: /* orderby_opt ::= ORDER BY sortlist */ | 110758 case 152: /* orderby_opt ::= ORDER BY sortlist */ 110686 case 157: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==15 | 110759 case 159: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==15 110687 case 236: /* exprlist ::= nexprlist */ yytestcase(yyruleno==236); | 110760 case 238: /* exprlist ::= nexprlist */ yytestcase(yyruleno==238); 110688 {yygotominor.yy442 = yymsp[0].minor.yy442;} 110761 {yygotominor.yy442 = yymsp[0].minor.yy442;} 110689 break; 110762 break; 110690 case 151: /* sortlist ::= sortlist COMMA expr sortorder */ | 110763 case 153: /* sortlist ::= sortlist COMMA expr sortorder */ 110691 { 110764 { 110692 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[- 110765 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[- 110693 if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortO 110766 if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortO 110694 } 110767 } 110695 break; 110768 break; 110696 case 152: /* sortlist ::= expr sortorder */ | 110769 case 154: /* sortlist ::= expr sortorder */ 110697 { 110770 { 110698 yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr 110771 yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr 110699 if( yygotominor.yy442 && ALWAYS(yygotominor.yy442->a) ) yygotominor.yy442->a[0 110772 if( yygotominor.yy442 && ALWAYS(yygotominor.yy442->a) ) yygotominor.yy442->a[0 110700 } 110773 } 110701 break; 110774 break; 110702 case 153: /* sortorder ::= ASC */ | 110775 case 155: /* sortorder ::= ASC */ 110703 case 155: /* sortorder ::= */ yytestcase(yyruleno==155); | 110776 case 157: /* sortorder ::= */ yytestcase(yyruleno==157); 110704 {yygotominor.yy392 = SQLITE_SO_ASC;} 110777 {yygotominor.yy392 = SQLITE_SO_ASC;} 110705 break; 110778 break; 110706 case 154: /* sortorder ::= DESC */ | 110779 case 156: /* sortorder ::= DESC */ 110707 {yygotominor.yy392 = SQLITE_SO_DESC;} 110780 {yygotominor.yy392 = SQLITE_SO_DESC;} 110708 break; 110781 break; 110709 case 160: /* limit_opt ::= */ | 110782 case 162: /* limit_opt ::= */ 110710 {yygotominor.yy64.pLimit = 0; yygotominor.yy64.pOffset = 0;} 110783 {yygotominor.yy64.pLimit = 0; yygotominor.yy64.pOffset = 0;} 110711 break; 110784 break; 110712 case 161: /* limit_opt ::= LIMIT expr */ | 110785 case 163: /* limit_opt ::= LIMIT expr */ 110713 {yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yygotominor.yy64.pOffset 110786 {yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yygotominor.yy64.pOffset 110714 break; 110787 break; 110715 case 162: /* limit_opt ::= LIMIT expr OFFSET expr */ | 110788 case 164: /* limit_opt ::= LIMIT expr OFFSET expr */ 110716 {yygotominor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pOffset 110789 {yygotominor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pOffset 110717 break; 110790 break; 110718 case 163: /* limit_opt ::= LIMIT expr COMMA expr */ | 110791 case 165: /* limit_opt ::= LIMIT expr COMMA expr */ 110719 {yygotominor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pLimit 110792 {yygotominor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pLimit 110720 break; 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 sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0); 110796 sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0); 110724 sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122); 110797 sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122); 110725 } 110798 } 110726 break; 110799 break; 110727 case 167: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_ | 110800 case 169: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_ 110728 { 110801 { 110729 sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0); 110802 sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0); 110730 sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); 110803 sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); 110731 sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].mino 110804 sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].mino 110732 } 110805 } 110733 break; 110806 break; 110734 case 168: /* setlist ::= setlist COMMA nm EQ expr */ | 110807 case 170: /* setlist ::= setlist COMMA nm EQ expr */ 110735 { 110808 { 110736 yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp 110809 yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp 110737 sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); 110810 sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); 110738 } 110811 } 110739 break; 110812 break; 110740 case 169: /* setlist ::= nm EQ expr */ | 110813 case 171: /* setlist ::= nm EQ expr */ 110741 { 110814 { 110742 yygotominor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExp 110815 yygotominor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExp 110743 sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); 110816 sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); 110744 } 110817 } 110745 break; 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 {sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy487.pList, yymsp[ 110820 {sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy487.pList, yymsp[ 110748 break; 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 {sqlite3Insert(pParse, yymsp[-2].minor.yy347, 0, yymsp[0].minor.yy159, yymsp[-1] 110823 {sqlite3Insert(pParse, yymsp[-2].minor.yy347, 0, yymsp[0].minor.yy159, yymsp[-1] 110751 break; 110824 break; 110752 case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUE | 110825 case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUE 110753 {sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, 0, yymsp[-2].minor.yy180, yymsp 110826 {sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, 0, yymsp[-2].minor.yy180, yymsp 110754 break; 110827 break; 110755 case 173: /* insert_cmd ::= INSERT orconf */ | 110828 case 175: /* insert_cmd ::= INSERT orconf */ 110756 {yygotominor.yy258 = yymsp[0].minor.yy258;} 110829 {yygotominor.yy258 = yymsp[0].minor.yy258;} 110757 break; 110830 break; 110758 case 174: /* insert_cmd ::= REPLACE */ | 110831 case 176: /* insert_cmd ::= REPLACE */ 110759 {yygotominor.yy258 = OE_Replace;} 110832 {yygotominor.yy258 = OE_Replace;} 110760 break; 110833 break; 110761 case 175: /* valuelist ::= VALUES LP nexprlist RP */ | 110834 case 177: /* valuelist ::= VALUES LP nexprlist RP */ 110762 { 110835 { 110763 yygotominor.yy487.pList = yymsp[-1].minor.yy442; 110836 yygotominor.yy487.pList = yymsp[-1].minor.yy442; 110764 yygotominor.yy487.pSelect = 0; 110837 yygotominor.yy487.pSelect = 0; 110765 } 110838 } 110766 break; 110839 break; 110767 case 176: /* valuelist ::= valuelist COMMA LP exprlist RP */ | 110840 case 178: /* valuelist ::= valuelist COMMA LP exprlist RP */ 110768 { 110841 { 110769 Select *pRight = sqlite3SelectNew(pParse, yymsp[-1].minor.yy442, 0, 0, 0, 0, 0 110842 Select *pRight = sqlite3SelectNew(pParse, yymsp[-1].minor.yy442, 0, 0, 0, 0, 0 110770 if( yymsp[-4].minor.yy487.pList ){ 110843 if( yymsp[-4].minor.yy487.pList ){ 110771 yymsp[-4].minor.yy487.pSelect = sqlite3SelectNew(pParse, yymsp[-4].minor.yy4 110844 yymsp[-4].minor.yy487.pSelect = sqlite3SelectNew(pParse, yymsp[-4].minor.yy4 110772 yymsp[-4].minor.yy487.pList = 0; 110845 yymsp[-4].minor.yy487.pList = 0; 110773 } 110846 } 110774 yygotominor.yy487.pList = 0; 110847 yygotominor.yy487.pList = 0; ................................................................................................................................................................................ 110781 pRight->pPrior = yymsp[-4].minor.yy487.pSelect; 110854 pRight->pPrior = yymsp[-4].minor.yy487.pSelect; 110782 pRight->selFlags |= SF_Values; 110855 pRight->selFlags |= SF_Values; 110783 pRight->pPrior->selFlags |= SF_Values; 110856 pRight->pPrior->selFlags |= SF_Values; 110784 yygotominor.yy487.pSelect = pRight; 110857 yygotominor.yy487.pSelect = pRight; 110785 } 110858 } 110786 } 110859 } 110787 break; 110860 break; 110788 case 179: /* inscollist ::= inscollist COMMA nm */ | 110861 case 181: /* inscollist ::= inscollist COMMA nm */ 110789 {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp 110862 {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp 110790 break; 110863 break; 110791 case 180: /* inscollist ::= nm */ | 110864 case 182: /* inscollist ::= nm */ 110792 {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} 110865 {yygotominor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} 110793 break; 110866 break; 110794 case 181: /* expr ::= term */ | 110867 case 183: /* expr ::= term */ 110795 {yygotominor.yy342 = yymsp[0].minor.yy342;} 110868 {yygotominor.yy342 = yymsp[0].minor.yy342;} 110796 break; 110869 break; 110797 case 182: /* expr ::= LP expr RP */ | 110870 case 184: /* expr ::= LP expr RP */ 110798 {yygotominor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr; spanSet(&yygotominor.yy3 110871 {yygotominor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr; spanSet(&yygotominor.yy3 110799 break; 110872 break; 110800 case 183: /* term ::= NULL */ | 110873 case 185: /* term ::= NULL */ 110801 case 188: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==188); | 110874 case 190: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==190); 110802 case 189: /* term ::= STRING */ yytestcase(yyruleno==189); | 110875 case 191: /* term ::= STRING */ yytestcase(yyruleno==191); 110803 {spanExpr(&yygotominor.yy342, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} 110876 {spanExpr(&yygotominor.yy342, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} 110804 break; 110877 break; 110805 case 184: /* expr ::= id */ | 110878 case 186: /* expr ::= id */ 110806 case 185: /* expr ::= JOIN_KW */ yytestcase(yyruleno==185); | 110879 case 187: /* expr ::= JOIN_KW */ yytestcase(yyruleno==187); 110807 {spanExpr(&yygotominor.yy342, pParse, TK_ID, &yymsp[0].minor.yy0);} 110880 {spanExpr(&yygotominor.yy342, pParse, TK_ID, &yymsp[0].minor.yy0);} 110808 break; 110881 break; 110809 case 186: /* expr ::= nm DOT nm */ | 110882 case 188: /* expr ::= nm DOT nm */ 110810 { 110883 { 110811 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); 110884 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); 110885 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); 110813 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); 110886 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); 110814 spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); 110887 spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); 110815 } 110888 } 110816 break; 110889 break; 110817 case 187: /* expr ::= nm DOT nm DOT nm */ | 110890 case 189: /* expr ::= nm DOT nm DOT nm */ 110818 { 110891 { 110819 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); 110892 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); 110893 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); 110894 Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); 110822 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); 110895 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); 110823 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); 110896 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); 110824 spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); 110897 spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); 110825 } 110898 } 110826 break; 110899 break; 110827 case 190: /* expr ::= REGISTER */ | 110900 case 192: /* expr ::= REGISTER */ 110828 { 110901 { 110829 /* When doing a nested parse, one can include terms in an expression 110902 /* When doing a nested parse, one can include terms in an expression 110830 ** that look like this: #1 #2 ... These terms refer to registers 110903 ** that look like this: #1 #2 ... These terms refer to registers 110831 ** in the virtual machine. #N is the N-th register. */ 110904 ** in the virtual machine. #N is the N-th register. */ 110832 if( pParse->nested==0 ){ 110905 if( pParse->nested==0 ){ 110833 sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); 110906 sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); 110834 yygotominor.yy342.pExpr = 0; 110907 yygotominor.yy342.pExpr = 0; ................................................................................................................................................................................ 110835 }else{ 110908 }else{ 110836 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0]. 110909 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0]. 110837 if( yygotominor.yy342.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yyg 110910 if( yygotominor.yy342.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yyg 110838 } 110911 } 110839 spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); 110912 spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); 110840 } 110913 } 110841 break; 110914 break; 110842 case 191: /* expr ::= VARIABLE */ | 110915 case 193: /* expr ::= VARIABLE */ 110843 { 110916 { 110844 spanExpr(&yygotominor.yy342, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); 110917 spanExpr(&yygotominor.yy342, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); 110845 sqlite3ExprAssignVarNumber(pParse, yygotominor.yy342.pExpr); 110918 sqlite3ExprAssignVarNumber(pParse, yygotominor.yy342.pExpr); 110846 spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); 110919 spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); 110847 } 110920 } 110848 break; 110921 break; 110849 case 192: /* expr ::= expr COLLATE ids */ | 110922 case 194: /* expr ::= expr COLLATE ids */ 110850 { 110923 { 110851 yygotominor.yy342.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy 110924 yygotominor.yy342.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy 110852 yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; 110925 yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; 110853 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 110926 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 110854 } 110927 } 110855 break; 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 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342. 110931 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342. 110859 spanSet(&yygotominor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); 110932 spanSet(&yygotominor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); 110860 } 110933 } 110861 break; 110934 break; 110862 case 194: /* expr ::= ID LP distinct exprlist RP */ | 110935 case 196: /* expr ::= ID LP distinct exprlist RP */ 110863 { 110936 { 110864 if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[S 110937 if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[S 110865 sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].mino 110938 sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].mino 110866 } 110939 } 110867 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, & 110940 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, & 110868 spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); 110941 spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); 110869 if( yymsp[-2].minor.yy392 && yygotominor.yy342.pExpr ){ 110942 if( yymsp[-2].minor.yy392 && yygotominor.yy342.pExpr ){ 110870 yygotominor.yy342.pExpr->flags |= EP_Distinct; 110943 yygotominor.yy342.pExpr->flags |= EP_Distinct; 110871 } 110944 } 110872 } 110945 } 110873 break; 110946 break; 110874 case 195: /* expr ::= ID LP STAR RP */ | 110947 case 197: /* expr ::= ID LP STAR RP */ 110875 { 110948 { 110876 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0) 110949 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0) 110877 spanSet(&yygotominor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); 110950 spanSet(&yygotominor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); 110878 } 110951 } 110879 break; 110952 break; 110880 case 196: /* term ::= CTIME_KW */ | 110953 case 198: /* term ::= CTIME_KW */ 110881 { 110954 { 110882 /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are 110955 /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are 110883 ** treated as functions that return constants */ 110956 ** treated as functions that return constants */ 110884 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); 110957 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); 110885 if( yygotominor.yy342.pExpr ){ 110958 if( yygotominor.yy342.pExpr ){ 110886 yygotominor.yy342.pExpr->op = TK_CONST_FUNC; 110959 yygotominor.yy342.pExpr->op = TK_CONST_FUNC; 110887 } 110960 } 110888 spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); 110961 spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); 110889 } 110962 } 110890 break; 110963 break; 110891 case 197: /* expr ::= expr AND expr */ | 110964 case 199: /* expr ::= expr AND expr */ 110892 case 198: /* expr ::= expr OR expr */ yytestcase(yyruleno==198); | 110965 case 200: /* expr ::= expr OR expr */ yytestcase(yyruleno==200); 110893 case 199: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==199); | 110966 case 201: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==201); 110894 case 200: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==200); | 110967 case 202: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==202); 110895 case 201: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(y | 110968 case 203: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(y 110896 case 202: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==202); | 110969 case 204: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==204); 110897 case 203: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==203 | 110970 case 205: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==205 110898 case 204: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==204); | 110971 case 206: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==206); 110899 {spanBinaryExpr(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[-2].minor.yy342 110972 {spanBinaryExpr(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[-2].minor.yy342 110900 break; 110973 break; 110901 case 205: /* likeop ::= LIKE_KW */ | 110974 case 207: /* likeop ::= LIKE_KW */ 110902 case 207: /* likeop ::= MATCH */ yytestcase(yyruleno==207); | 110975 case 209: /* likeop ::= MATCH */ yytestcase(yyruleno==209); 110903 {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 0;} 110976 {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 0;} 110904 break; 110977 break; 110905 case 206: /* likeop ::= NOT LIKE_KW */ | 110978 case 208: /* likeop ::= NOT LIKE_KW */ 110906 case 208: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==208); | 110979 case 210: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==210); 110907 {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 1;} 110980 {yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 1;} 110908 break; 110981 break; 110909 case 209: /* expr ::= expr likeop expr */ | 110982 case 211: /* expr ::= expr likeop expr */ 110910 { 110983 { 110911 ExprList *pList; 110984 ExprList *pList; 110912 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr); 110985 pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr); 110913 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr); 110986 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr); 110914 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor. 110987 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor. 110915 if( yymsp[-1].minor.yy318.bNot ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse 110988 if( yymsp[-1].minor.yy318.bNot ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse 110916 yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; 110989 yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart; 110917 yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; 110990 yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; 110918 if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; 110991 if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; 110919 } 110992 } 110920 break; 110993 break; 110921 case 210: /* expr ::= expr likeop expr ESCAPE expr */ | 110994 case 212: /* expr ::= expr likeop expr ESCAPE expr */ 110922 { 110995 { 110923 ExprList *pList; 110996 ExprList *pList; 110924 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); 110997 pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); 110925 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr); 110998 pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr); 110926 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); 110999 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); 110927 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor. 111000 yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor. 110928 if( yymsp[-3].minor.yy318.bNot ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse 111001 if( yymsp[-3].minor.yy318.bNot ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse 110929 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 111002 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 110930 yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; 111003 yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; 110931 if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; 111004 if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc; 110932 } 111005 } 110933 break; 111006 break; 110934 case 211: /* expr ::= expr ISNULL|NOTNULL */ | 111007 case 213: /* expr ::= expr ISNULL|NOTNULL */ 110935 {spanUnaryPostfix(&yygotominor.yy342,pParse,yymsp[0].major,&yymsp[-1].minor.yy34 111008 {spanUnaryPostfix(&yygotominor.yy342,pParse,yymsp[0].major,&yymsp[-1].minor.yy34 110936 break; 111009 break; 110937 case 212: /* expr ::= expr NOT NULL */ | 111010 case 214: /* expr ::= expr NOT NULL */ 110938 {spanUnaryPostfix(&yygotominor.yy342,pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&y 111011 {spanUnaryPostfix(&yygotominor.yy342,pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&y 110939 break; 111012 break; 110940 case 213: /* expr ::= expr IS expr */ | 111013 case 215: /* expr ::= expr IS expr */ 110941 { 111014 { 110942 spanBinaryExpr(&yygotominor.yy342,pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0 111015 spanBinaryExpr(&yygotominor.yy342,pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0 110943 binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExp 111016 binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExp 110944 } 111017 } 110945 break; 111018 break; 110946 case 214: /* expr ::= expr IS NOT expr */ | 111019 case 216: /* expr ::= expr IS NOT expr */ 110947 { 111020 { 110948 spanBinaryExpr(&yygotominor.yy342,pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yyms 111021 spanBinaryExpr(&yygotominor.yy342,pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yyms 110949 binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExp 111022 binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExp 110950 } 111023 } 110951 break; 111024 break; 110952 case 215: /* expr ::= NOT expr */ | 111025 case 217: /* expr ::= NOT expr */ 110953 case 216: /* expr ::= BITNOT expr */ yytestcase(yyruleno==216); | 111026 case 218: /* expr ::= BITNOT expr */ yytestcase(yyruleno==218); 110954 {spanUnaryPrefix(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342 111027 {spanUnaryPrefix(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342 110955 break; 111028 break; 110956 case 217: /* expr ::= MINUS expr */ | 111029 case 219: /* expr ::= MINUS expr */ 110957 {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yyms 111030 {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yyms 110958 break; 111031 break; 110959 case 218: /* expr ::= PLUS expr */ | 111032 case 220: /* expr ::= PLUS expr */ 110960 {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp 111033 {spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp 110961 break; 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 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr) 111037 ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr) 110965 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); 111038 pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); 110966 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy3 111039 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy3 110967 if( yygotominor.yy342.pExpr ){ 111040 if( yygotominor.yy342.pExpr ){ 110968 yygotominor.yy342.pExpr->x.pList = pList; 111041 yygotominor.yy342.pExpr->x.pList = pList; 110969 }else{ 111042 }else{ ................................................................................................................................................................................ 110970 sqlite3ExprListDelete(pParse->db, pList); 111043 sqlite3ExprListDelete(pParse->db, pList); 110971 } 111044 } 110972 if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_ 111045 if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_ 110973 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 111046 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 110974 yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; 111047 yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; 110975 } 111048 } 110976 break; 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 if( yymsp[-1].minor.yy442==0 ){ 111052 if( yymsp[-1].minor.yy442==0 ){ 110980 /* Expressions of the form 111053 /* Expressions of the form 110981 ** 111054 ** 110982 ** expr1 IN () 111055 ** expr1 IN () 110983 ** expr1 NOT IN () 111056 ** expr1 NOT IN () 110984 ** 111057 ** ................................................................................................................................................................................ 110997 } 111070 } 110998 if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, 111071 if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, 110999 } 111072 } 111000 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 111073 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 111001 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111074 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111002 } 111075 } 111003 break; 111076 break; 111004 case 225: /* expr ::= LP select RP */ | 111077 case 227: /* expr ::= LP select RP */ 111005 { 111078 { 111006 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); 111079 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); 111007 if( yygotominor.yy342.pExpr ){ 111080 if( yygotominor.yy342.pExpr ){ 111008 yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; 111081 yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; 111009 ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); 111082 ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); 111010 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); 111083 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); 111011 }else{ 111084 }else{ 111012 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); 111085 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); 111013 } 111086 } 111014 yygotominor.yy342.zStart = yymsp[-2].minor.yy0.z; 111087 yygotominor.yy342.zStart = yymsp[-2].minor.yy0.z; 111015 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111088 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111016 } 111089 } 111017 break; 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 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342. 111093 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342. 111021 if( yygotominor.yy342.pExpr ){ 111094 if( yygotominor.yy342.pExpr ){ 111022 yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; 111095 yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; 111023 ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); 111096 ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); 111024 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); 111097 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); 111025 }else{ 111098 }else{ ................................................................................................................................................................................ 111026 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); 111099 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); 111027 } 111100 } 111028 if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, T 111101 if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, T 111029 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 111102 yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart; 111030 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111103 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111031 } 111104 } 111032 break; 111105 break; 111033 case 227: /* expr ::= expr in_op nm dbnm */ | 111106 case 229: /* expr ::= expr in_op nm dbnm */ 111034 { 111107 { 111035 SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yym 111108 SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yym 111036 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342. 111109 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342. 111037 if( yygotominor.yy342.pExpr ){ 111110 if( yygotominor.yy342.pExpr ){ 111038 yygotominor.yy342.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0 111111 yygotominor.yy342.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0 111039 ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); 111112 ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect); 111040 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); 111113 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); ................................................................................................................................................................................ 111042 sqlite3SrcListDelete(pParse->db, pSrc); 111115 sqlite3SrcListDelete(pParse->db, pSrc); 111043 } 111116 } 111044 if( yymsp[-2].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, T 111117 if( yymsp[-2].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, T 111045 yygotominor.yy342.zStart = yymsp[-3].minor.yy342.zStart; 111118 yygotominor.yy342.zStart = yymsp[-3].minor.yy342.zStart; 111046 yygotominor.yy342.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[ 111119 yygotominor.yy342.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[ 111047 } 111120 } 111048 break; 111121 break; 111049 case 228: /* expr ::= EXISTS LP select RP */ | 111122 case 230: /* expr ::= EXISTS LP select RP */ 111050 { 111123 { 111051 Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0) 111124 Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0) 111052 if( p ){ 111125 if( p ){ 111053 p->x.pSelect = yymsp[-1].minor.yy159; 111126 p->x.pSelect = yymsp[-1].minor.yy159; 111054 ExprSetProperty(p, EP_xIsSelect); 111127 ExprSetProperty(p, EP_xIsSelect); 111055 sqlite3ExprSetHeight(pParse, p); 111128 sqlite3ExprSetHeight(pParse, p); 111056 }else{ 111129 }else{ 111057 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); 111130 sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); 111058 } 111131 } 111059 yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; 111132 yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; 111060 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111133 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111061 } 111134 } 111062 break; 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 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, 111138 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, 111066 if( yygotominor.yy342.pExpr ){ 111139 if( yygotominor.yy342.pExpr ){ 111067 yygotominor.yy342.pExpr->x.pList = yymsp[-2].minor.yy442; 111140 yygotominor.yy342.pExpr->x.pList = yymsp[-2].minor.yy442; 111068 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); 111141 sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr); 111069 }else{ 111142 }else{ 111070 sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy442); 111143 sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy442); 111071 } 111144 } 111072 yygotominor.yy342.zStart = yymsp[-4].minor.yy0.z; 111145 yygotominor.yy342.zStart = yymsp[-4].minor.yy0.z; 111073 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111146 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111074 } 111147 } 111075 break; 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 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[ 111151 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[ 111079 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].m 111152 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].m 111080 } 111153 } 111081 break; 111154 break; 111082 case 231: /* case_exprlist ::= WHEN expr THEN expr */ | 111155 case 233: /* case_exprlist ::= WHEN expr THEN expr */ 111083 { 111156 { 111084 yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExp 111157 yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExp 111085 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].m 111158 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].m 111086 } 111159 } 111087 break; 111160 break; 111088 case 238: /* nexprlist ::= nexprlist COMMA expr */ | 111161 case 240: /* nexprlist ::= nexprlist COMMA expr */ 111089 {yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0] 111162 {yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0] 111090 break; 111163 break; 111091 case 239: /* nexprlist ::= expr */ | 111164 case 241: /* nexprlist ::= expr */ 111092 {yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr); 111165 {yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr); 111093 break; 111166 break; 111094 case 240: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm L | 111167 case 242: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm L 111095 { 111168 { 111096 sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, 111169 sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, 111097 sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), 111170 sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), 111098 &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, 111171 &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, 111099 } 111172 } 111100 break; 111173 break; 111101 case 241: /* uniqueflag ::= UNIQUE */ | 111174 case 243: /* uniqueflag ::= UNIQUE */ 111102 case 294: /* raisetype ::= ABORT */ yytestcase(yyruleno==294); | 111175 case 296: /* raisetype ::= ABORT */ yytestcase(yyruleno==296); 111103 {yygotominor.yy392 = OE_Abort;} 111176 {yygotominor.yy392 = OE_Abort;} 111104 break; 111177 break; 111105 case 242: /* uniqueflag ::= */ | 111178 case 244: /* uniqueflag ::= */ 111106 {yygotominor.yy392 = OE_None;} 111179 {yygotominor.yy392 = OE_None;} 111107 break; 111180 break; 111108 case 245: /* idxlist ::= idxlist COMMA nm collate sortorder */ | 111181 case 247: /* idxlist ::= idxlist COMMA nm collate sortorder */ 111109 { 111182 { 111110 Expr *p = 0; 111183 Expr *p = 0; 111111 if( yymsp[-1].minor.yy0.n>0 ){ 111184 if( yymsp[-1].minor.yy0.n>0 ){ 111112 p = sqlite3Expr(pParse->db, TK_COLUMN, 0); 111185 p = sqlite3Expr(pParse->db, TK_COLUMN, 0); 111113 sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); 111186 sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); 111114 } 111187 } 111115 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, p); 111188 yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, p); 111116 sqlite3ExprListSetName(pParse,yygotominor.yy442,&yymsp[-2].minor.yy0,1); 111189 sqlite3ExprListSetName(pParse,yygotominor.yy442,&yymsp[-2].minor.yy0,1); 111117 sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); 111190 sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); 111118 if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortO 111191 if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortO 111119 } 111192 } 111120 break; 111193 break; 111121 case 246: /* idxlist ::= nm collate sortorder */ | 111194 case 248: /* idxlist ::= nm collate sortorder */ 111122 { 111195 { 111123 Expr *p = 0; 111196 Expr *p = 0; 111124 if( yymsp[-1].minor.yy0.n>0 ){ 111197 if( yymsp[-1].minor.yy0.n>0 ){ 111125 p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); 111198 p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); 111126 sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); 111199 sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); 111127 } 111200 } 111128 yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, p); 111201 yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, p); 111129 sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); 111202 sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1); 111130 sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); 111203 sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index"); 111131 if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortO 111204 if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortO 111132 } 111205 } 111133 break; 111206 break; 111134 case 247: /* collate ::= */ | 111207 case 249: /* collate ::= */ 111135 {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} 111208 {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} 111136 break; 111209 break; 111137 case 249: /* cmd ::= DROP INDEX ifexists fullname */ | 111210 case 251: /* cmd ::= DROP INDEX ifexists fullname */ 111138 {sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);} 111211 {sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);} 111139 break; 111212 break; 111140 case 250: /* cmd ::= VACUUM */ | 111213 case 252: /* cmd ::= VACUUM */ 111141 case 251: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==251); | 111214 case 253: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==253); 111142 {sqlite3Vacuum(pParse);} 111215 {sqlite3Vacuum(pParse);} 111143 break; 111216 break; 111144 case 252: /* cmd ::= PRAGMA nm dbnm */ | 111217 case 254: /* cmd ::= PRAGMA nm dbnm */ 111145 {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} 111218 {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} 111146 break; 111219 break; 111147 case 253: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ | 111220 case 255: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ 111148 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor. 111221 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor. 111149 break; 111222 break; 111150 case 254: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ | 111223 case 256: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ 111151 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor 111224 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor 111152 break; 111225 break; 111153 case 255: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ | 111226 case 257: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ 111154 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor. 111227 {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor. 111155 break; 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 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor 111230 {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor 111158 break; 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 Token all; 111234 Token all; 111162 all.z = yymsp[-3].minor.yy0.z; 111235 all.z = yymsp[-3].minor.yy0.z; 111163 all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.y 111236 all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.y 111164 sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all); 111237 sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all); 111165 } 111238 } 111166 break; 111239 break; 111167 case 267: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_tim | 111240 case 269: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_tim 111168 { 111241 { 111169 sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[ 111242 sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[ 111170 yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].mino 111243 yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].mino 111171 } 111244 } 111172 break; 111245 break; 111173 case 268: /* trigger_time ::= BEFORE */ | 111246 case 270: /* trigger_time ::= BEFORE */ 111174 case 271: /* trigger_time ::= */ yytestcase(yyruleno==271); | 111247 case 273: /* trigger_time ::= */ yytestcase(yyruleno==273); 111175 { yygotominor.yy392 = TK_BEFORE; } 111248 { yygotominor.yy392 = TK_BEFORE; } 111176 break; 111249 break; 111177 case 269: /* trigger_time ::= AFTER */ | 111250 case 271: /* trigger_time ::= AFTER */ 111178 { yygotominor.yy392 = TK_AFTER; } 111251 { yygotominor.yy392 = TK_AFTER; } 111179 break; 111252 break; 111180 case 270: /* trigger_time ::= INSTEAD OF */ | 111253 case 272: /* trigger_time ::= INSTEAD OF */ 111181 { yygotominor.yy392 = TK_INSTEAD;} 111254 { yygotominor.yy392 = TK_INSTEAD;} 111182 break; 111255 break; 111183 case 272: /* trigger_event ::= DELETE|INSERT */ | 111256 case 274: /* trigger_event ::= DELETE|INSERT */ 111184 case 273: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==273); | 111257 case 275: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==275); 111185 {yygotominor.yy410.a = yymsp[0].major; yygotominor.yy410.b = 0;} 111258 {yygotominor.yy410.a = yymsp[0].major; yygotominor.yy410.b = 0;} 111186 break; 111259 break; 111187 case 274: /* trigger_event ::= UPDATE OF inscollist */ | 111260 case 276: /* trigger_event ::= UPDATE OF inscollist */ 111188 {yygotominor.yy410.a = TK_UPDATE; yygotominor.yy410.b = yymsp[0].minor.yy180;} 111261 {yygotominor.yy410.a = TK_UPDATE; yygotominor.yy410.b = yymsp[0].minor.yy180;} 111189 break; 111262 break; 111190 case 277: /* when_clause ::= */ | 111263 case 279: /* when_clause ::= */ 111191 case 299: /* key_opt ::= */ yytestcase(yyruleno==299); | 111264 case 301: /* key_opt ::= */ yytestcase(yyruleno==301); 111192 { yygotominor.yy122 = 0; } 111265 { yygotominor.yy122 = 0; } 111193 break; 111266 break; 111194 case 278: /* when_clause ::= WHEN expr */ | 111267 case 280: /* when_clause ::= WHEN expr */ 111195 case 300: /* key_opt ::= KEY expr */ yytestcase(yyruleno==300); | 111268 case 302: /* key_opt ::= KEY expr */ yytestcase(yyruleno==302); 111196 { yygotominor.yy122 = yymsp[0].minor.yy342.pExpr; } 111269 { yygotominor.yy122 = yymsp[0].minor.yy342.pExpr; } 111197 break; 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 assert( yymsp[-2].minor.yy327!=0 ); 111273 assert( yymsp[-2].minor.yy327!=0 ); 111201 yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327; 111274 yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327; 111202 yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327; 111275 yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327; 111203 yygotominor.yy327 = yymsp[-2].minor.yy327; 111276 yygotominor.yy327 = yymsp[-2].minor.yy327; 111204 } 111277 } 111205 break; 111278 break; 111206 case 280: /* trigger_cmd_list ::= trigger_cmd SEMI */ | 111279 case 282: /* trigger_cmd_list ::= trigger_cmd SEMI */ 111207 { 111280 { 111208 assert( yymsp[-1].minor.yy327!=0 ); 111281 assert( yymsp[-1].minor.yy327!=0 ); 111209 yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327; 111282 yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327; 111210 yygotominor.yy327 = yymsp[-1].minor.yy327; 111283 yygotominor.yy327 = yymsp[-1].minor.yy327; 111211 } 111284 } 111212 break; 111285 break; 111213 case 282: /* trnm ::= nm DOT nm */ | 111286 case 284: /* trnm ::= nm DOT nm */ 111214 { 111287 { 111215 yygotominor.yy0 = yymsp[0].minor.yy0; 111288 yygotominor.yy0 = yymsp[0].minor.yy0; 111216 sqlite3ErrorMsg(pParse, 111289 sqlite3ErrorMsg(pParse, 111217 "qualified table names are not allowed on INSERT, UPDATE, and DELETE " 111290 "qualified table names are not allowed on INSERT, UPDATE, and DELETE " 111218 "statements within triggers"); 111291 "statements within triggers"); 111219 } 111292 } 111220 break; 111293 break; 111221 case 284: /* tridxby ::= INDEXED BY nm */ | 111294 case 286: /* tridxby ::= INDEXED BY nm */ 111222 { 111295 { 111223 sqlite3ErrorMsg(pParse, 111296 sqlite3ErrorMsg(pParse, 111224 "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " 111297 "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " 111225 "within triggers"); 111298 "within triggers"); 111226 } 111299 } 111227 break; 111300 break; 111228 case 285: /* tridxby ::= NOT INDEXED */ | 111301 case 287: /* tridxby ::= NOT INDEXED */ 111229 { 111302 { 111230 sqlite3ErrorMsg(pParse, 111303 sqlite3ErrorMsg(pParse, 111231 "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " 111304 "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " 111232 "within triggers"); 111305 "within triggers"); 111233 } 111306 } 111234 break; 111307 break; 111235 case 286: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_ | 111308 case 288: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_ 111236 { yygotominor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, 111309 { yygotominor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, 111237 break; 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 {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, 111312 {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, 111240 break; 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 {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, 111315 {yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, 111243 break; 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 {yygotominor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, 111318 {yygotominor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, 111246 break; 111319 break; 111247 case 290: /* trigger_cmd ::= select */ | 111320 case 292: /* trigger_cmd ::= select */ 111248 {yygotominor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); 111321 {yygotominor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); 111249 break; 111322 break; 111250 case 291: /* expr ::= RAISE LP IGNORE RP */ | 111323 case 293: /* expr ::= RAISE LP IGNORE RP */ 111251 { 111324 { 111252 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); 111325 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); 111253 if( yygotominor.yy342.pExpr ){ 111326 if( yygotominor.yy342.pExpr ){ 111254 yygotominor.yy342.pExpr->affinity = OE_Ignore; 111327 yygotominor.yy342.pExpr->affinity = OE_Ignore; 111255 } 111328 } 111256 yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; 111329 yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z; 111257 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111330 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111258 } 111331 } 111259 break; 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 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].mino 111335 yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].mino 111263 if( yygotominor.yy342.pExpr ) { 111336 if( yygotominor.yy342.pExpr ) { 111264 yygotominor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392; 111337 yygotominor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392; 111265 } 111338 } 111266 yygotominor.yy342.zStart = yymsp[-5].minor.yy0.z; 111339 yygotominor.yy342.zStart = yymsp[-5].minor.yy0.z; 111267 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111340 yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; 111268 } 111341 } 111269 break; 111342 break; 111270 case 293: /* raisetype ::= ROLLBACK */ | 111343 case 295: /* raisetype ::= ROLLBACK */ 111271 {yygotominor.yy392 = OE_Rollback;} 111344 {yygotominor.yy392 = OE_Rollback;} 111272 break; 111345 break; 111273 case 295: /* raisetype ::= FAIL */ | 111346 case 297: /* raisetype ::= FAIL */ 111274 {yygotominor.yy392 = OE_Fail;} 111347 {yygotominor.yy392 = OE_Fail;} 111275 break; 111348 break; 111276 case 296: /* cmd ::= DROP TRIGGER ifexists fullname */ | 111349 case 298: /* cmd ::= DROP TRIGGER ifexists fullname */ 111277 { 111350 { 111278 sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392); 111351 sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392); 111279 } 111352 } 111280 break; 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 sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr 111356 sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr 111284 } 111357 } 111285 break; 111358 break; 111286 case 298: /* cmd ::= DETACH database_kw_opt expr */ | 111359 case 300: /* cmd ::= DETACH database_kw_opt expr */ 111287 { 111360 { 111288 sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr); 111361 sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr); 111289 } 111362 } 111290 break; 111363 break; 111291 case 303: /* cmd ::= REINDEX */ | 111364 case 305: /* cmd ::= REINDEX */ 111292 {sqlite3Reindex(pParse, 0, 0);} 111365 {sqlite3Reindex(pParse, 0, 0);} 111293 break; 111366 break; 111294 case 304: /* cmd ::= REINDEX nm dbnm */ | 111367 case 306: /* cmd ::= REINDEX nm dbnm */ 111295 {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} 111368 {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} 111296 break; 111369 break; 111297 case 305: /* cmd ::= ANALYZE */ | 111370 case 307: /* cmd ::= ANALYZE */ 111298 {sqlite3Analyze(pParse, 0, 0);} 111371 {sqlite3Analyze(pParse, 0, 0);} 111299 break; 111372 break; 111300 case 306: /* cmd ::= ANALYZE nm dbnm */ | 111373 case 308: /* cmd ::= ANALYZE nm dbnm */ 111301 {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} 111374 {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} 111302 break; 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 sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0); 111378 sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0); 111306 } 111379 } 111307 break; 111380 break; 111308 case 308: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt colu | 111381 case 310: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt colu 111309 { 111382 { 111310 sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); 111383 sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); 111311 } 111384 } 111312 break; 111385 break; 111313 case 309: /* add_column_fullname ::= fullname */ | 111386 case 311: /* add_column_fullname ::= fullname */ 111314 { 111387 { 111315 pParse->db->lookaside.bEnabled = 0; 111388 pParse->db->lookaside.bEnabled = 0; 111316 sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347); 111389 sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347); 111317 } 111390 } 111318 break; 111391 break; 111319 case 312: /* cmd ::= create_vtab */ | 111392 case 314: /* cmd ::= create_vtab */ 111320 {sqlite3VtabFinishParse(pParse,0);} 111393 {sqlite3VtabFinishParse(pParse,0);} 111321 break; 111394 break; 111322 case 313: /* cmd ::= create_vtab LP vtabarglist RP */ | 111395 case 315: /* cmd ::= create_vtab LP vtabarglist RP */ 111323 {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} 111396 {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} 111324 break; 111397 break; 111325 case 314: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm US | 111398 case 316: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm US 111326 { 111399 { 111327 sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &y 111400 sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &y 111328 } 111401 } 111329 break; 111402 break; 111330 case 317: /* vtabarg ::= */ | 111403 case 319: /* vtabarg ::= */ 111331 {sqlite3VtabArgInit(pParse);} 111404 {sqlite3VtabArgInit(pParse);} 111332 break; 111405 break; 111333 case 319: /* vtabargtoken ::= ANY */ | 111406 case 321: /* vtabargtoken ::= ANY */ 111334 case 320: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==320); | 111407 case 322: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==322); 111335 case 321: /* lp ::= LP */ yytestcase(yyruleno==321); | 111408 case 323: /* lp ::= LP */ yytestcase(yyruleno==323); 111336 {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} 111409 {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} 111337 break; 111410 break; 111338 default: 111411 default: 111339 /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); 111412 /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); 111340 /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); 111413 /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); 111341 /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); 111414 /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); 111342 /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3); 111415 /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3); ................................................................................................................................................................................ 111348 /* (21) savepoint_opt ::= */ yytestcase(yyruleno==21); 111421 /* (21) savepoint_opt ::= */ yytestcase(yyruleno==21); 111349 /* (25) cmd ::= create_table create_table_args */ yytestcase(yyruleno==25) 111422 /* (25) cmd ::= create_table create_table_args */ yytestcase(yyruleno==25) 111350 /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34) 111423 /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34) 111351 /* (35) columnlist ::= column */ yytestcase(yyruleno==35); 111424 /* (35) columnlist ::= column */ yytestcase(yyruleno==35); 111352 /* (44) type ::= */ yytestcase(yyruleno==44); 111425 /* (44) type ::= */ yytestcase(yyruleno==44); 111353 /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); 111426 /* (51) signed ::= plus_num */ yytestcase(yyruleno==51); 111354 /* (52) signed ::= minus_num */ yytestcase(yyruleno==52); 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 /* (54) carglist ::= */ yytestcase(yyruleno==54); 111429 /* (54) carglist ::= */ yytestcase(yyruleno==54); 111357 /* (62) ccons ::= NULL onconf */ yytestcase(yyruleno==62); | 111430 /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61); 111358 /* (90) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==90 | 111431 /* (89) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==89 > 111432 /* (90) conslist ::= conslist cname tcons */ yytestcase(yyruleno==90); 111359 /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91); 111433 /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91); 111360 /* (275) foreach_clause ::= */ yytestcase(yyruleno==275); | 111434 /* (277) foreach_clause ::= */ yytestcase(yyruleno==277); 111361 /* (276) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==276); | 111435 /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278); 111362 /* (283) tridxby ::= */ yytestcase(yyruleno==283); | 111436 /* (285) tridxby ::= */ yytestcase(yyruleno==285); 111363 /* (301) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==301); | 111437 /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303); 111364 /* (302) database_kw_opt ::= */ yytestcase(yyruleno==302); | 111438 /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304); 111365 /* (310) kwcolumn_opt ::= */ yytestcase(yyruleno==310); | 111439 /* (312) kwcolumn_opt ::= */ yytestcase(yyruleno==312); 111366 /* (311) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==311); | 111440 /* (313) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==313); 111367 /* (315) vtabarglist ::= vtabarg */ yytestcase(yyruleno==315); | 111441 /* (317) vtabarglist ::= vtabarg */ yytestcase(yyruleno==317); 111368 /* (316) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno= | 111442 /* (318) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno= 111369 /* (318) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==318); | 111443 /* (320) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==320); 111370 /* (322) anylist ::= */ yytestcase(yyruleno==322); | 111444 /* (324) anylist ::= */ yytestcase(yyruleno==324); 111371 /* (323) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==323); | 111445 /* (325) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==325); 111372 /* (324) anylist ::= anylist ANY */ yytestcase(yyruleno==324); | 111446 /* (326) anylist ::= anylist ANY */ yytestcase(yyruleno==326); 111373 break; 111447 break; 111374 }; 111448 }; 111375 yygoto = yyRuleInfo[yyruleno].lhs; 111449 yygoto = yyRuleInfo[yyruleno].lhs; 111376 yysize = yyRuleInfo[yyruleno].nrhs; 111450 yysize = yyRuleInfo[yyruleno].nrhs; 111377 yypParser->yyidx -= yysize; 111451 yypParser->yyidx -= yysize; 111378 yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto); 111452 yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto); 111379 if( yyact < YYNSTATE ){ 111453 if( yyact < YYNSTATE ){

Changes to src/sqlite3.h

105 ** 105 ** 106 ** See also: [sqlite3_libversion()], 106 ** See also: [sqlite3_libversion()], 107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()], 107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()], 108 ** [sqlite_version()] and [sqlite_source_id()]. 108 ** [sqlite_version()] and [sqlite_source_id()]. 109 */ 109 */ 110 #define SQLITE_VERSION "3.7.12" 110 #define SQLITE_VERSION "3.7.12" 111 #define SQLITE_VERSION_NUMBER 3007012 111 #define SQLITE_VERSION_NUMBER 3007012 112 #define SQLITE_SOURCE_ID "2012-05-01 14:21:57 bfa61e781cb442be641486e7e55a1 | 112 #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e8 113 113 114 /* 114 /* 115 ** CAPI3REF: Run-Time Library Version Numbers 115 ** CAPI3REF: Run-Time Library Version Numbers 116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid 116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid 117 ** 117 ** 118 ** These interfaces provide the same information as the [SQLITE_VERSION], 118 ** These interfaces provide the same information as the [SQLITE_VERSION], 119 ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros 119 ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros ................................................................................................................................................................................ 454 #define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) 454 #define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) 455 #define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) 455 #define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) 456 #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) 456 #define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) 457 #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) 457 #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) 458 #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) 458 #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) 459 #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) 459 #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) 460 #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) 460 #define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) > 461 #define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) 461 #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) 462 #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) 462 #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) 463 #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) 463 #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) 464 #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) 464 #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) 465 #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) 465 466 466 /* 467 /* 467 ** CAPI3REF: Flags For File Open Operations 468 ** CAPI3REF: Flags For File Open Operations