Fossil SCM

Update the built-in SQLite to the first 3.7.12 release candidate.

drh 2012-05-12 19:03 trunk
Commit 3613fe5666661355764d4300fcdb4b71f1e5c662
2 files changed +567 -465 +2 -2
+567 -465
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -657,11 +657,11 @@
657657
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
658658
** [sqlite_version()] and [sqlite_source_id()].
659659
*/
660660
#define SQLITE_VERSION "3.7.12"
661661
#define SQLITE_VERSION_NUMBER 3007012
662
-#define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e"
662
+#define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58"
663663
664664
/*
665665
** CAPI3REF: Run-Time Library Version Numbers
666666
** KEYWORDS: sqlite3_version, sqlite3_sourceid
667667
**
@@ -6563,11 +6563,11 @@
65636563
** been written to disk. Specifically, the number of pages written to the
65646564
** wal file in wal mode databases, or the number of pages written to the
65656565
** database file in rollback mode databases. Any pages written as part of
65666566
** transaction rollback or database recovery operations are not included.
65676567
** If an IO or other error occurs while writing a page to disk, the effect
6568
-** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The
6568
+** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The
65696569
** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
65706570
** </dd>
65716571
** </dl>
65726572
*/
65736573
#define SQLITE_DBSTATUS_LOOKASIDE_USED 0
@@ -104675,11 +104675,10 @@
104675104675
if( pIdx->onError!=OE_None && i==pIdx->nColumn
104676104676
&& (wsFlags & WHERE_COLUMN_NULL)==0
104677104677
&& !referencesOtherTables(pOrderBy, pMaskSet, j, base)
104678104678
){
104679104679
Column *aCol = pIdx->pTable->aCol;
104680
- int i;
104681104680
104682104681
/* All terms of this index match some prefix of the ORDER BY clause,
104683104682
** the index is UNIQUE, and no terms on the tail of the ORDER BY
104684104683
** refer to other tables in a join. So, assuming that the index entries
104685104684
** visited contain no NULL values, then this index delivers rows in
@@ -108444,11 +108443,11 @@
108444108443
#endif
108445108444
#define sqlite3ParserARG_SDECL Parse *pParse;
108446108445
#define sqlite3ParserARG_PDECL ,Parse *pParse
108447108446
#define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse
108448108447
#define sqlite3ParserARG_STORE yypParser->pParse = pParse
108449
-#define YYNSTATE 630
108448
+#define YYNSTATE 627
108450108449
#define YYNRULE 327
108451108450
#define YYFALLBACK 1
108452108451
#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
108453108452
#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
108454108453
#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
@@ -108515,479 +108514,478 @@
108515108514
** shifting terminals.
108516108515
** yy_reduce_ofst[] For each state, the offset into yy_action for
108517108516
** shifting non-terminals after a reduce.
108518108517
** yy_default[] Default action for each state.
108519108518
*/
108520
-#define YY_ACTTAB_COUNT (1562)
108519
+#define YY_ACTTAB_COUNT (1564)
108521108520
static const YYACTIONTYPE yy_action[] = {
108522
- /* 0 */ 312, 330, 575, 574, 15, 171, 186, 597, 56, 56,
108521
+ /* 0 */ 309, 955, 184, 417, 2, 171, 624, 594, 56, 56,
108523108522
/* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52,
108524
- /* 20 */ 52, 52, 51, 235, 52, 52, 52, 51, 235, 627,
108525
- /* 30 */ 590, 584, 56, 56, 56, 56, 316, 54, 54, 54,
108526
- /* 40 */ 54, 53, 53, 52, 52, 52, 51, 235, 301, 57,
108527
- /* 50 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108528
- /* 60 */ 56, 56, 571, 54, 54, 54, 54, 53, 53, 52,
108529
- /* 70 */ 52, 52, 51, 235, 312, 597, 328, 198, 197, 196,
108523
+ /* 20 */ 52, 52, 51, 233, 620, 619, 298, 620, 619, 234,
108524
+ /* 30 */ 587, 581, 56, 56, 56, 56, 19, 54, 54, 54,
108525
+ /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 605, 57,
108526
+ /* 50 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108527
+ /* 60 */ 56, 56, 541, 54, 54, 54, 54, 53, 53, 52,
108528
+ /* 70 */ 52, 52, 51, 233, 309, 594, 325, 196, 195, 194,
108530108529
/* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108531
- /* 90 */ 51, 235, 53, 53, 52, 52, 52, 51, 235, 492,
108532
- /* 100 */ 597, 441, 66, 237, 590, 584, 597, 299, 365, 59,
108533
- /* 110 */ 482, 67, 362, 1, 621, 353, 621, 623, 622, 516,
108534
- /* 120 */ 515, 442, 443, 57, 58, 48, 582, 581, 583, 583,
108535
- /* 130 */ 55, 55, 56, 56, 56, 56, 608, 54, 54, 54,
108536
- /* 140 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 225,
108537
- /* 150 */ 618, 617, 616, 176, 138, 283, 386, 278, 385, 168,
108538
- /* 160 */ 492, 554, 623, 622, 623, 622, 274, 441, 597, 412,
108539
- /* 170 */ 553, 607, 67, 215, 597, 621, 506, 507, 590, 584,
108540
- /* 180 */ 444, 571, 621, 391, 415, 620, 619, 442, 338, 623,
108541
- /* 190 */ 622, 392, 601, 92, 224, 193, 671, 57, 58, 48,
108542
- /* 200 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56,
108543
- /* 210 */ 672, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108544
- /* 220 */ 51, 235, 312, 262, 234, 233, 505, 132, 486, 510,
108545
- /* 230 */ 620, 619, 620, 619, 399, 438, 487, 566, 621, 389,
108546
- /* 240 */ 412, 384, 440, 532, 439, 602, 339, 571, 504, 603,
108547
- /* 250 */ 203, 533, 590, 584, 45, 415, 548, 620, 619, 383,
108548
- /* 260 */ 380, 379, 6, 601, 92, 526, 261, 572, 572, 595,
108549
- /* 270 */ 378, 57, 58, 48, 582, 581, 583, 583, 55, 55,
108550
- /* 280 */ 56, 56, 56, 56, 600, 54, 54, 54, 54, 53,
108551
- /* 290 */ 53, 52, 52, 52, 51, 235, 312, 466, 326, 561,
108552
- /* 300 */ 593, 593, 593, 282, 311, 399, 412, 568, 493, 214,
108553
- /* 310 */ 400, 623, 622, 68, 281, 560, 7, 623, 622, 167,
108554
- /* 320 */ 577, 415, 65, 408, 575, 574, 590, 584, 673, 601,
108555
- /* 330 */ 92, 559, 410, 520, 579, 579, 306, 425, 623, 622,
108556
- /* 340 */ 208, 572, 572, 467, 519, 57, 58, 48, 582, 581,
108557
- /* 350 */ 583, 583, 55, 55, 56, 56, 56, 56, 576, 54,
108558
- /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235,
108559
- /* 370 */ 312, 399, 412, 317, 600, 412, 350, 549, 578, 620,
108560
- /* 380 */ 619, 423, 204, 175, 571, 620, 619, 415, 551, 355,
108561
- /* 390 */ 415, 257, 349, 256, 174, 601, 74, 354, 601, 91,
108562
- /* 400 */ 590, 584, 237, 467, 621, 547, 620, 619, 164, 623,
108563
- /* 410 */ 622, 544, 62, 39, 251, 580, 600, 348, 555, 57,
108564
- /* 420 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108565
- /* 430 */ 56, 56, 565, 54, 54, 54, 54, 53, 53, 52,
108566
- /* 440 */ 52, 52, 51, 235, 312, 554, 182, 145, 531, 292,
108567
- /* 450 */ 231, 257, 349, 256, 553, 221, 412, 181, 248, 549,
108568
- /* 460 */ 250, 412, 237, 50, 47, 146, 412, 410, 412, 579,
108569
- /* 470 */ 579, 415, 549, 567, 590, 584, 415, 620, 619, 601,
108570
- /* 480 */ 16, 415, 189, 415, 601, 92, 268, 36, 544, 601,
108571
- /* 490 */ 92, 601, 73, 57, 58, 48, 582, 581, 583, 583,
108572
- /* 500 */ 55, 55, 56, 56, 56, 56, 187, 54, 54, 54,
108573
- /* 510 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 564,
108574
- /* 520 */ 397, 410, 528, 579, 579, 561, 395, 535, 201, 145,
108575
- /* 530 */ 264, 320, 266, 388, 375, 410, 249, 579, 579, 236,
108576
- /* 540 */ 40, 560, 38, 50, 47, 146, 19, 606, 590, 584,
108577
- /* 550 */ 422, 948, 563, 948, 549, 496, 472, 559, 602, 403,
108578
- /* 560 */ 422, 947, 603, 947, 562, 167, 200, 57, 58, 48,
108579
- /* 570 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56,
108580
- /* 580 */ 156, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108581
- /* 590 */ 51, 235, 312, 262, 412, 426, 511, 208, 347, 492,
108582
- /* 600 */ 600, 50, 47, 146, 410, 426, 579, 579, 621, 415,
108583
- /* 610 */ 430, 67, 199, 143, 621, 166, 474, 601, 69, 317,
108584
- /* 620 */ 475, 435, 590, 584, 274, 234, 233, 958, 184, 420,
108585
- /* 630 */ 2, 600, 358, 552, 366, 470, 336, 476, 476, 368,
108586
- /* 640 */ 359, 57, 58, 48, 582, 581, 583, 583, 55, 55,
108587
- /* 650 */ 56, 56, 56, 56, 354, 54, 54, 54, 54, 53,
108588
- /* 660 */ 53, 52, 52, 52, 51, 235, 312, 412, 572, 572,
108589
- /* 670 */ 271, 412, 558, 874, 361, 213, 143, 412, 50, 47,
108590
- /* 680 */ 146, 30, 415, 540, 355, 334, 415, 412, 629, 2,
108591
- /* 690 */ 601, 94, 415, 513, 601, 97, 590, 584, 621, 621,
108592
- /* 700 */ 601, 95, 415, 306, 424, 630, 628, 332, 173, 269,
108593
- /* 710 */ 601, 104, 171, 546, 597, 57, 58, 48, 582, 581,
108594
- /* 720 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54,
108595
- /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235,
108596
- /* 740 */ 312, 412, 275, 415, 412, 22, 329, 340, 423, 544,
108597
- /* 750 */ 217, 601, 103, 568, 407, 214, 415, 621, 35, 415,
108598
- /* 760 */ 412, 540, 412, 12, 601, 105, 237, 601, 106, 11,
108599
- /* 770 */ 590, 584, 50, 47, 146, 415, 621, 415, 353, 325,
108600
- /* 780 */ 164, 129, 597, 601, 133, 601, 134, 207, 287, 57,
108601
- /* 790 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108602
- /* 800 */ 56, 56, 412, 54, 54, 54, 54, 53, 53, 52,
108603
- /* 810 */ 52, 52, 51, 235, 312, 412, 275, 415, 412, 275,
108604
- /* 820 */ 275, 600, 275, 544, 367, 601, 98, 542, 412, 170,
108605
- /* 830 */ 415, 621, 524, 415, 621, 621, 169, 621, 601, 102,
108606
- /* 840 */ 604, 601, 101, 415, 590, 584, 352, 21, 500, 32,
108607
- /* 850 */ 166, 601, 93, 223, 318, 147, 324, 323, 272, 322,
108608
- /* 860 */ 166, 205, 285, 57, 58, 48, 582, 581, 583, 583,
108609
- /* 870 */ 55, 55, 56, 56, 56, 56, 412, 54, 54, 54,
108610
- /* 880 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 412,
108611
- /* 890 */ 262, 415, 412, 538, 360, 600, 360, 202, 142, 601,
108612
- /* 900 */ 100, 376, 412, 166, 415, 621, 540, 415, 360, 621,
108613
- /* 910 */ 141, 621, 601, 77, 230, 601, 96, 415, 590, 584,
108614
- /* 920 */ 341, 621, 530, 621, 529, 601, 137, 471, 382, 166,
108615
- /* 930 */ 460, 600, 170, 453, 427, 307, 28, 57, 58, 48,
108616
- /* 940 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56,
108617
- /* 950 */ 412, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108618
- /* 960 */ 51, 235, 312, 412, 503, 415, 412, 212, 459, 321,
108619
- /* 970 */ 35, 211, 127, 601, 136, 428, 412, 308, 415, 412,
108620
- /* 980 */ 273, 415, 222, 126, 255, 27, 601, 135, 377, 601,
108621
- /* 990 */ 76, 415, 590, 584, 415, 262, 220, 51, 235, 601,
108622
- /* 1000 */ 90, 600, 601, 89, 125, 600, 281, 522, 521, 373,
108623
- /* 1010 */ 621, 57, 46, 48, 582, 581, 583, 583, 55, 55,
108624
- /* 1020 */ 56, 56, 56, 56, 412, 54, 54, 54, 54, 53,
108625
- /* 1030 */ 53, 52, 52, 52, 51, 235, 312, 412, 451, 415,
108626
- /* 1040 */ 165, 624, 612, 611, 469, 521, 480, 601, 75, 185,
108627
- /* 1050 */ 412, 122, 415, 412, 369, 412, 621, 621, 621, 477,
108628
- /* 1060 */ 601, 88, 589, 588, 170, 415, 590, 584, 415, 121,
108629
- /* 1070 */ 415, 473, 259, 601, 87, 159, 601, 99, 601, 86,
108630
- /* 1080 */ 628, 332, 120, 14, 586, 585, 58, 48, 582, 581,
108631
- /* 1090 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54,
108632
- /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235,
108633
- /* 1110 */ 312, 587, 412, 415, 412, 465, 262, 262, 610, 605,
108634
- /* 1120 */ 158, 601, 17, 157, 412, 462, 25, 415, 118, 415,
108635
- /* 1130 */ 412, 621, 621, 621, 621, 601, 85, 601, 84, 415,
108636
- /* 1140 */ 590, 584, 411, 262, 24, 415, 117, 601, 83, 10,
108637
- /* 1150 */ 351, 4, 115, 601, 72, 458, 456, 621, 621, 450,
108638
- /* 1160 */ 449, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108639
- /* 1170 */ 56, 56, 253, 54, 54, 54, 54, 53, 53, 52,
108640
- /* 1180 */ 52, 52, 51, 235, 44, 406, 219, 3, 412, 452,
108641
- /* 1190 */ 262, 416, 622, 154, 594, 110, 107, 108, 401, 446,
108642
- /* 1200 */ 64, 557, 409, 415, 412, 621, 437, 44, 406, 621,
108643
- /* 1210 */ 3, 601, 71, 621, 416, 622, 621, 545, 335, 415,
108644
- /* 1220 */ 436, 404, 149, 239, 262, 409, 188, 601, 82, 331,
108645
- /* 1230 */ 541, 566, 621, 218, 421, 539, 229, 139, 124, 621,
108646
- /* 1240 */ 148, 419, 626, 625, 404, 621, 412, 238, 315, 123,
108647
- /* 1250 */ 621, 41, 42, 534, 566, 206, 412, 277, 43, 414,
108648
- /* 1260 */ 413, 415, 509, 595, 314, 615, 180, 245, 614, 601,
108649
- /* 1270 */ 81, 415, 621, 276, 41, 42, 613, 621, 412, 601,
108650
- /* 1280 */ 80, 43, 414, 413, 179, 270, 595, 418, 621, 600,
108651
- /* 1290 */ 484, 8, 177, 415, 593, 593, 593, 592, 591, 13,
108652
- /* 1300 */ 621, 601, 70, 417, 237, 621, 44, 406, 267, 3,
108653
- /* 1310 */ 237, 265, 342, 416, 622, 599, 296, 593, 593, 593,
108654
- /* 1320 */ 592, 591, 13, 621, 409, 412, 621, 412, 396, 34,
108655
- /* 1330 */ 406, 412, 3, 31, 30, 294, 416, 622, 293, 333,
108656
- /* 1340 */ 415, 263, 415, 404, 398, 258, 415, 409, 601, 18,
108657
- /* 1350 */ 601, 79, 363, 566, 601, 78, 621, 295, 60, 37,
108658
- /* 1360 */ 621, 172, 464, 390, 463, 598, 404, 621, 356, 288,
108659
- /* 1370 */ 232, 29, 556, 41, 42, 252, 566, 621, 415, 621,
108660
- /* 1380 */ 43, 414, 413, 621, 455, 595, 601, 9, 183, 61,
108661
- /* 1390 */ 621, 543, 445, 623, 622, 244, 41, 42, 241, 621,
108662
- /* 1400 */ 240, 393, 286, 43, 414, 413, 284, 621, 595, 431,
108663
- /* 1410 */ 621, 291, 537, 621, 536, 621, 593, 593, 593, 592,
108664
- /* 1420 */ 591, 13, 216, 144, 621, 387, 621, 304, 303, 302,
108665
- /* 1430 */ 178, 300, 394, 566, 454, 517, 290, 523, 621, 593,
108666
- /* 1440 */ 593, 593, 592, 591, 13, 518, 327, 621, 150, 279,
108667
- /* 1450 */ 243, 621, 514, 192, 191, 513, 512, 310, 128, 242,
108668
- /* 1460 */ 228, 526, 227, 226, 490, 595, 494, 489, 488, 309,
108669
- /* 1470 */ 194, 164, 152, 163, 467, 374, 481, 372, 153, 162,
108670
- /* 1480 */ 161, 151, 210, 479, 260, 370, 26, 478, 160, 468,
108671
- /* 1490 */ 364, 140, 119, 116, 131, 457, 593, 593, 593, 155,
108672
- /* 1500 */ 114, 346, 345, 113, 112, 111, 448, 109, 130, 23,
108673
- /* 1510 */ 319, 20, 434, 433, 432, 63, 429, 609, 190, 510,
108674
- /* 1520 */ 596, 405, 257, 344, 246, 297, 280, 573, 313, 570,
108675
- /* 1530 */ 195, 499, 498, 237, 497, 495, 381, 289, 461, 247,
108676
- /* 1540 */ 357, 254, 305, 343, 5, 447, 569, 209, 550, 371,
108677
- /* 1550 */ 508, 491, 402, 502, 501, 298, 337, 527, 525, 485,
108678
- /* 1560 */ 483, 235,
108530
+ /* 90 */ 51, 233, 617, 616, 165, 617, 616, 380, 377, 376,
108531
+ /* 100 */ 407, 532, 576, 576, 587, 581, 303, 422, 375, 59,
108532
+ /* 110 */ 53, 53, 52, 52, 52, 51, 233, 50, 47, 146,
108533
+ /* 120 */ 574, 545, 65, 57, 58, 48, 579, 578, 580, 580,
108534
+ /* 130 */ 55, 55, 56, 56, 56, 56, 213, 54, 54, 54,
108535
+ /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 223,
108536
+ /* 150 */ 539, 420, 170, 176, 138, 280, 383, 275, 382, 168,
108537
+ /* 160 */ 489, 551, 409, 668, 620, 619, 271, 438, 409, 438,
108538
+ /* 170 */ 550, 604, 67, 482, 507, 618, 599, 412, 587, 581,
108539
+ /* 180 */ 600, 483, 618, 412, 618, 598, 91, 439, 440, 439,
108540
+ /* 190 */ 335, 598, 73, 669, 222, 266, 480, 57, 58, 48,
108541
+ /* 200 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56,
108542
+ /* 210 */ 670, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108543
+ /* 220 */ 51, 233, 309, 279, 232, 231, 1, 132, 200, 385,
108544
+ /* 230 */ 620, 619, 617, 616, 278, 435, 289, 563, 175, 262,
108545
+ /* 240 */ 409, 264, 437, 497, 436, 166, 441, 568, 336, 568,
108546
+ /* 250 */ 201, 537, 587, 581, 599, 412, 165, 594, 600, 380,
108547
+ /* 260 */ 377, 376, 597, 598, 92, 523, 618, 569, 569, 592,
108548
+ /* 270 */ 375, 57, 58, 48, 579, 578, 580, 580, 55, 55,
108549
+ /* 280 */ 56, 56, 56, 56, 597, 54, 54, 54, 54, 53,
108550
+ /* 290 */ 53, 52, 52, 52, 51, 233, 309, 463, 617, 616,
108551
+ /* 300 */ 590, 590, 590, 174, 272, 396, 409, 272, 409, 548,
108552
+ /* 310 */ 397, 620, 619, 68, 326, 620, 619, 620, 619, 618,
108553
+ /* 320 */ 546, 412, 618, 412, 471, 594, 587, 581, 472, 598,
108554
+ /* 330 */ 92, 598, 92, 52, 52, 52, 51, 233, 513, 512,
108555
+ /* 340 */ 206, 322, 363, 464, 221, 57, 58, 48, 579, 578,
108556
+ /* 350 */ 580, 580, 55, 55, 56, 56, 56, 56, 529, 54,
108557
+ /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
108558
+ /* 370 */ 309, 396, 409, 396, 597, 372, 386, 530, 347, 617,
108559
+ /* 380 */ 616, 575, 202, 617, 616, 617, 616, 412, 620, 619,
108560
+ /* 390 */ 145, 255, 346, 254, 577, 598, 74, 351, 45, 489,
108561
+ /* 400 */ 587, 581, 235, 189, 464, 544, 167, 296, 187, 469,
108562
+ /* 410 */ 479, 67, 62, 39, 618, 546, 597, 345, 573, 57,
108563
+ /* 420 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108564
+ /* 430 */ 56, 56, 6, 54, 54, 54, 54, 53, 53, 52,
108565
+ /* 440 */ 52, 52, 51, 233, 309, 562, 558, 407, 528, 576,
108566
+ /* 450 */ 576, 344, 255, 346, 254, 182, 617, 616, 503, 504,
108567
+ /* 460 */ 314, 409, 557, 235, 166, 271, 409, 352, 564, 181,
108568
+ /* 470 */ 407, 546, 576, 576, 587, 581, 412, 537, 556, 561,
108569
+ /* 480 */ 517, 412, 618, 249, 598, 16, 7, 36, 467, 598,
108570
+ /* 490 */ 92, 516, 618, 57, 58, 48, 579, 578, 580, 580,
108571
+ /* 500 */ 55, 55, 56, 56, 56, 56, 541, 54, 54, 54,
108572
+ /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 327,
108573
+ /* 520 */ 572, 571, 525, 558, 560, 394, 871, 246, 409, 248,
108574
+ /* 530 */ 171, 392, 594, 219, 407, 409, 576, 576, 502, 557,
108575
+ /* 540 */ 364, 145, 510, 412, 407, 229, 576, 576, 587, 581,
108576
+ /* 550 */ 412, 598, 92, 381, 269, 556, 166, 400, 598, 69,
108577
+ /* 560 */ 501, 419, 945, 199, 945, 198, 546, 57, 58, 48,
108578
+ /* 570 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56,
108579
+ /* 580 */ 568, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108580
+ /* 590 */ 51, 233, 309, 317, 419, 944, 508, 944, 308, 597,
108581
+ /* 600 */ 594, 565, 490, 212, 173, 247, 423, 615, 614, 613,
108582
+ /* 610 */ 323, 197, 143, 405, 572, 571, 489, 66, 50, 47,
108583
+ /* 620 */ 146, 594, 587, 581, 232, 231, 559, 427, 67, 555,
108584
+ /* 630 */ 15, 618, 186, 543, 303, 421, 35, 206, 432, 423,
108585
+ /* 640 */ 552, 57, 58, 48, 579, 578, 580, 580, 55, 55,
108586
+ /* 650 */ 56, 56, 56, 56, 205, 54, 54, 54, 54, 53,
108587
+ /* 660 */ 53, 52, 52, 52, 51, 233, 309, 569, 569, 260,
108588
+ /* 670 */ 268, 597, 12, 373, 568, 166, 409, 313, 409, 420,
108589
+ /* 680 */ 409, 473, 473, 365, 618, 50, 47, 146, 597, 594,
108590
+ /* 690 */ 468, 412, 166, 412, 351, 412, 587, 581, 32, 598,
108591
+ /* 700 */ 94, 598, 97, 598, 95, 627, 625, 329, 142, 50,
108592
+ /* 710 */ 47, 146, 333, 349, 358, 57, 58, 48, 579, 578,
108593
+ /* 720 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54,
108594
+ /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
108595
+ /* 740 */ 309, 409, 388, 412, 409, 22, 565, 404, 212, 362,
108596
+ /* 750 */ 389, 598, 104, 359, 409, 156, 412, 409, 603, 412,
108597
+ /* 760 */ 537, 331, 569, 569, 598, 103, 493, 598, 105, 412,
108598
+ /* 770 */ 587, 581, 412, 260, 549, 618, 11, 598, 106, 521,
108599
+ /* 780 */ 598, 133, 169, 457, 456, 170, 35, 601, 618, 57,
108600
+ /* 790 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108601
+ /* 800 */ 56, 56, 409, 54, 54, 54, 54, 53, 53, 52,
108602
+ /* 810 */ 52, 52, 51, 233, 309, 409, 259, 412, 409, 50,
108603
+ /* 820 */ 47, 146, 357, 318, 355, 598, 134, 527, 352, 337,
108604
+ /* 830 */ 412, 409, 356, 412, 357, 409, 357, 618, 598, 98,
108605
+ /* 840 */ 129, 598, 102, 618, 587, 581, 412, 21, 235, 618,
108606
+ /* 850 */ 412, 618, 211, 143, 598, 101, 30, 167, 598, 93,
108607
+ /* 860 */ 350, 535, 203, 57, 58, 48, 579, 578, 580, 580,
108608
+ /* 870 */ 55, 55, 56, 56, 56, 56, 409, 54, 54, 54,
108609
+ /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 409,
108610
+ /* 890 */ 526, 412, 409, 425, 215, 305, 597, 551, 141, 598,
108611
+ /* 900 */ 100, 40, 409, 38, 412, 409, 550, 412, 409, 228,
108612
+ /* 910 */ 220, 314, 598, 77, 500, 598, 96, 412, 587, 581,
108613
+ /* 920 */ 412, 338, 253, 412, 218, 598, 137, 379, 598, 136,
108614
+ /* 930 */ 28, 598, 135, 270, 715, 210, 481, 57, 58, 48,
108615
+ /* 940 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56,
108616
+ /* 950 */ 409, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108617
+ /* 960 */ 51, 233, 309, 409, 272, 412, 409, 315, 147, 597,
108618
+ /* 970 */ 272, 626, 2, 598, 76, 209, 409, 127, 412, 618,
108619
+ /* 980 */ 126, 412, 409, 621, 235, 618, 598, 90, 374, 598,
108620
+ /* 990 */ 89, 412, 587, 581, 27, 260, 350, 412, 618, 598,
108621
+ /* 1000 */ 75, 321, 541, 541, 125, 598, 88, 320, 278, 597,
108622
+ /* 1010 */ 618, 57, 46, 48, 579, 578, 580, 580, 55, 55,
108623
+ /* 1020 */ 56, 56, 56, 56, 409, 54, 54, 54, 54, 53,
108624
+ /* 1030 */ 53, 52, 52, 52, 51, 233, 309, 409, 450, 412,
108625
+ /* 1040 */ 164, 284, 282, 272, 609, 424, 304, 598, 87, 370,
108626
+ /* 1050 */ 409, 477, 412, 409, 608, 409, 607, 602, 618, 618,
108627
+ /* 1060 */ 598, 99, 586, 585, 122, 412, 587, 581, 412, 618,
108628
+ /* 1070 */ 412, 618, 618, 598, 86, 366, 598, 17, 598, 85,
108629
+ /* 1080 */ 319, 185, 519, 518, 583, 582, 58, 48, 579, 578,
108630
+ /* 1090 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54,
108631
+ /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
108632
+ /* 1110 */ 309, 584, 409, 412, 409, 260, 260, 260, 408, 591,
108633
+ /* 1120 */ 474, 598, 84, 170, 409, 466, 518, 412, 121, 412,
108634
+ /* 1130 */ 618, 618, 618, 618, 618, 598, 83, 598, 72, 412,
108635
+ /* 1140 */ 587, 581, 51, 233, 625, 329, 470, 598, 71, 257,
108636
+ /* 1150 */ 159, 120, 14, 462, 157, 158, 117, 260, 448, 447,
108637
+ /* 1160 */ 446, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108638
+ /* 1170 */ 56, 56, 618, 54, 54, 54, 54, 53, 53, 52,
108639
+ /* 1180 */ 52, 52, 51, 233, 44, 403, 260, 3, 409, 459,
108640
+ /* 1190 */ 260, 413, 619, 118, 398, 10, 25, 24, 554, 348,
108641
+ /* 1200 */ 217, 618, 406, 412, 409, 618, 4, 44, 403, 618,
108642
+ /* 1210 */ 3, 598, 82, 618, 413, 619, 455, 542, 115, 412,
108643
+ /* 1220 */ 538, 401, 536, 274, 506, 406, 251, 598, 81, 216,
108644
+ /* 1230 */ 273, 563, 618, 243, 453, 618, 154, 618, 618, 618,
108645
+ /* 1240 */ 449, 416, 623, 110, 401, 618, 409, 236, 64, 123,
108646
+ /* 1250 */ 487, 41, 42, 531, 563, 204, 409, 267, 43, 411,
108647
+ /* 1260 */ 410, 412, 265, 592, 108, 618, 107, 434, 332, 598,
108648
+ /* 1270 */ 80, 412, 618, 263, 41, 42, 443, 618, 409, 598,
108649
+ /* 1280 */ 70, 43, 411, 410, 433, 261, 592, 149, 618, 597,
108650
+ /* 1290 */ 256, 237, 188, 412, 590, 590, 590, 589, 588, 13,
108651
+ /* 1300 */ 618, 598, 18, 328, 235, 618, 44, 403, 360, 3,
108652
+ /* 1310 */ 418, 461, 339, 413, 619, 227, 124, 590, 590, 590,
108653
+ /* 1320 */ 589, 588, 13, 618, 406, 409, 618, 409, 139, 34,
108654
+ /* 1330 */ 403, 387, 3, 148, 622, 312, 413, 619, 311, 330,
108655
+ /* 1340 */ 412, 460, 412, 401, 180, 353, 412, 406, 598, 79,
108656
+ /* 1350 */ 598, 78, 250, 563, 598, 9, 618, 612, 611, 610,
108657
+ /* 1360 */ 618, 8, 452, 442, 242, 415, 401, 618, 239, 235,
108658
+ /* 1370 */ 179, 238, 428, 41, 42, 288, 563, 618, 618, 618,
108659
+ /* 1380 */ 43, 411, 410, 618, 144, 592, 618, 618, 177, 61,
108660
+ /* 1390 */ 618, 596, 391, 620, 619, 287, 41, 42, 414, 618,
108661
+ /* 1400 */ 293, 30, 393, 43, 411, 410, 292, 618, 592, 31,
108662
+ /* 1410 */ 618, 395, 291, 60, 230, 37, 590, 590, 590, 589,
108663
+ /* 1420 */ 588, 13, 214, 553, 183, 290, 172, 301, 300, 299,
108664
+ /* 1430 */ 178, 297, 595, 563, 451, 29, 285, 390, 540, 590,
108665
+ /* 1440 */ 590, 590, 589, 588, 13, 283, 520, 534, 150, 533,
108666
+ /* 1450 */ 241, 281, 384, 192, 191, 324, 515, 514, 276, 240,
108667
+ /* 1460 */ 510, 523, 307, 511, 128, 592, 509, 225, 226, 486,
108668
+ /* 1470 */ 485, 224, 152, 491, 464, 306, 484, 163, 153, 371,
108669
+ /* 1480 */ 478, 151, 162, 258, 369, 161, 367, 208, 475, 476,
108670
+ /* 1490 */ 26, 160, 465, 140, 361, 131, 590, 590, 590, 116,
108671
+ /* 1500 */ 119, 454, 343, 155, 114, 342, 113, 112, 445, 111,
108672
+ /* 1510 */ 130, 109, 431, 316, 426, 430, 23, 429, 20, 606,
108673
+ /* 1520 */ 190, 507, 255, 341, 244, 63, 294, 593, 310, 570,
108674
+ /* 1530 */ 277, 402, 354, 235, 567, 496, 495, 492, 494, 302,
108675
+ /* 1540 */ 458, 378, 286, 245, 566, 5, 252, 547, 193, 444,
108676
+ /* 1550 */ 233, 340, 207, 524, 368, 505, 334, 522, 499, 399,
108677
+ /* 1560 */ 295, 498, 956, 488,
108679108678
};
108680108679
static const YYCODETYPE yy_lookahead[] = {
108681
- /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78,
108680
+ /* 0 */ 19, 142, 143, 144, 145, 24, 1, 26, 77, 78,
108682108681
/* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
108683
- /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1,
108684
- /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84,
108685
- /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68,
108682
+ /* 20 */ 89, 90, 91, 92, 26, 27, 15, 26, 27, 197,
108683
+ /* 30 */ 49, 50, 77, 78, 79, 80, 204, 82, 83, 84,
108684
+ /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 23, 68,
108686108685
/* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108687
- /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88,
108686
+ /* 60 */ 79, 80, 166, 82, 83, 84, 85, 86, 87, 88,
108688108687
/* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107,
108689108688
/* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108690
- /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150,
108691
- /* 100 */ 26, 150, 22, 116, 49, 50, 26, 158, 227, 54,
108692
- /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 7,
108693
- /* 120 */ 8, 170, 171, 68, 69, 70, 71, 72, 73, 74,
108694
- /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84,
108689
+ /* 90 */ 91, 92, 94, 95, 96, 94, 95, 99, 100, 101,
108690
+ /* 100 */ 112, 205, 114, 115, 49, 50, 22, 23, 110, 54,
108691
+ /* 110 */ 86, 87, 88, 89, 90, 91, 92, 221, 222, 223,
108692
+ /* 120 */ 23, 120, 25, 68, 69, 70, 71, 72, 73, 74,
108693
+ /* 130 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84,
108695108694
/* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92,
108696
- /* 150 */ 7, 8, 9, 96, 97, 98, 99, 100, 101, 102,
108697
- /* 160 */ 150, 32, 26, 27, 26, 27, 109, 150, 94, 150,
108698
- /* 170 */ 41, 161, 162, 22, 94, 165, 97, 98, 49, 50,
108699
- /* 180 */ 229, 230, 165, 19, 165, 94, 95, 170, 171, 26,
108700
- /* 190 */ 27, 27, 173, 174, 184, 185, 118, 68, 69, 70,
108695
+ /* 150 */ 23, 67, 25, 96, 97, 98, 99, 100, 101, 102,
108696
+ /* 160 */ 150, 32, 150, 118, 26, 27, 109, 150, 150, 150,
108697
+ /* 170 */ 41, 161, 162, 180, 181, 165, 113, 165, 49, 50,
108698
+ /* 180 */ 117, 188, 165, 165, 165, 173, 174, 170, 171, 170,
108699
+ /* 190 */ 171, 173, 174, 118, 184, 16, 186, 68, 69, 70,
108701108700
/* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108702108701
/* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108703
- /* 220 */ 91, 92, 19, 150, 86, 87, 36, 24, 180, 181,
108704
- /* 230 */ 94, 95, 94, 95, 215, 97, 188, 66, 165, 220,
108705
- /* 240 */ 150, 51, 104, 23, 106, 113, 229, 230, 58, 117,
108706
- /* 250 */ 160, 88, 49, 50, 22, 165, 120, 94, 95, 99,
108707
- /* 260 */ 100, 101, 22, 173, 174, 94, 193, 129, 130, 98,
108702
+ /* 220 */ 91, 92, 19, 98, 86, 87, 22, 24, 160, 88,
108703
+ /* 230 */ 26, 27, 94, 95, 109, 97, 224, 66, 118, 60,
108704
+ /* 240 */ 150, 62, 104, 23, 106, 25, 229, 230, 229, 230,
108705
+ /* 250 */ 160, 150, 49, 50, 113, 165, 96, 26, 117, 99,
108706
+ /* 260 */ 100, 101, 194, 173, 174, 94, 165, 129, 130, 98,
108708108707
/* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108709108708
/* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86,
108710
- /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 108, 12,
108711
- /* 300 */ 129, 130, 131, 98, 163, 215, 150, 166, 167, 168,
108712
- /* 310 */ 220, 26, 27, 22, 109, 28, 76, 26, 27, 50,
108713
- /* 320 */ 23, 165, 25, 169, 170, 171, 49, 50, 118, 173,
108714
- /* 330 */ 174, 44, 112, 46, 114, 115, 22, 23, 26, 27,
108715
- /* 340 */ 160, 129, 130, 57, 57, 68, 69, 70, 71, 72,
108709
+ /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 94, 95,
108710
+ /* 300 */ 129, 130, 131, 118, 150, 215, 150, 150, 150, 25,
108711
+ /* 310 */ 220, 26, 27, 22, 213, 26, 27, 26, 27, 165,
108712
+ /* 320 */ 25, 165, 165, 165, 30, 94, 49, 50, 34, 173,
108713
+ /* 330 */ 174, 173, 174, 88, 89, 90, 91, 92, 7, 8,
108714
+ /* 340 */ 160, 187, 48, 57, 187, 68, 69, 70, 71, 72,
108716108715
/* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82,
108717108716
/* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108718
- /* 370 */ 19, 215, 150, 104, 194, 150, 220, 25, 23, 94,
108719
- /* 380 */ 95, 67, 160, 118, 230, 94, 95, 165, 25, 150,
108720
- /* 390 */ 165, 105, 106, 107, 118, 173, 174, 217, 173, 174,
108721
- /* 400 */ 49, 50, 116, 57, 165, 120, 94, 95, 96, 26,
108722
- /* 410 */ 27, 166, 232, 136, 16, 113, 194, 237, 176, 68,
108717
+ /* 370 */ 19, 215, 150, 215, 194, 19, 220, 88, 220, 94,
108718
+ /* 380 */ 95, 23, 160, 94, 95, 94, 95, 165, 26, 27,
108719
+ /* 390 */ 95, 105, 106, 107, 113, 173, 174, 217, 22, 150,
108720
+ /* 400 */ 49, 50, 116, 119, 57, 120, 50, 158, 22, 21,
108721
+ /* 410 */ 161, 162, 232, 136, 165, 120, 194, 237, 23, 68,
108723108722
/* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108724
- /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88,
108725
- /* 440 */ 89, 90, 91, 92, 19, 32, 23, 95, 23, 224,
108726
- /* 450 */ 205, 105, 106, 107, 41, 216, 150, 23, 60, 25,
108727
- /* 460 */ 62, 150, 116, 221, 222, 223, 150, 112, 150, 114,
108728
- /* 470 */ 115, 165, 120, 23, 49, 50, 165, 94, 95, 173,
108729
- /* 480 */ 174, 165, 119, 165, 173, 174, 16, 136, 166, 173,
108730
- /* 490 */ 174, 173, 174, 68, 69, 70, 71, 72, 73, 74,
108731
- /* 500 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84,
108732
- /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 11,
108733
- /* 520 */ 214, 112, 23, 114, 115, 12, 215, 205, 22, 95,
108734
- /* 530 */ 60, 215, 62, 88, 19, 112, 138, 114, 115, 197,
108735
- /* 540 */ 135, 28, 137, 221, 222, 223, 204, 172, 49, 50,
108736
- /* 550 */ 22, 23, 23, 25, 120, 180, 21, 44, 113, 46,
108737
- /* 560 */ 22, 23, 117, 25, 23, 50, 160, 68, 69, 70,
108723
+ /* 430 */ 79, 80, 22, 82, 83, 84, 85, 86, 87, 88,
108724
+ /* 440 */ 89, 90, 91, 92, 19, 23, 12, 112, 23, 114,
108725
+ /* 450 */ 115, 63, 105, 106, 107, 23, 94, 95, 97, 98,
108726
+ /* 460 */ 104, 150, 28, 116, 25, 109, 150, 150, 23, 23,
108727
+ /* 470 */ 112, 25, 114, 115, 49, 50, 165, 150, 44, 11,
108728
+ /* 480 */ 46, 165, 165, 16, 173, 174, 76, 136, 100, 173,
108729
+ /* 490 */ 174, 57, 165, 68, 69, 70, 71, 72, 73, 74,
108730
+ /* 500 */ 75, 76, 77, 78, 79, 80, 166, 82, 83, 84,
108731
+ /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 169,
108732
+ /* 520 */ 170, 171, 23, 12, 23, 214, 138, 60, 150, 62,
108733
+ /* 530 */ 24, 215, 26, 216, 112, 150, 114, 115, 36, 28,
108734
+ /* 540 */ 213, 95, 103, 165, 112, 205, 114, 115, 49, 50,
108735
+ /* 550 */ 165, 173, 174, 51, 23, 44, 25, 46, 173, 174,
108736
+ /* 560 */ 58, 22, 23, 22, 25, 160, 120, 68, 69, 70,
108738108737
/* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108739
- /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108740
- /* 590 */ 91, 92, 19, 150, 150, 67, 23, 160, 63, 150,
108741
- /* 600 */ 194, 221, 222, 223, 112, 67, 114, 115, 165, 165,
108742
- /* 610 */ 161, 162, 206, 207, 165, 25, 30, 173, 174, 104,
108743
- /* 620 */ 34, 241, 49, 50, 109, 86, 87, 142, 143, 144,
108744
- /* 630 */ 145, 194, 19, 176, 48, 100, 193, 105, 106, 107,
108745
- /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108746
- /* 650 */ 77, 78, 79, 80, 217, 82, 83, 84, 85, 86,
108747
- /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 129, 130,
108748
- /* 670 */ 23, 150, 23, 138, 237, 206, 207, 150, 221, 222,
108749
- /* 680 */ 223, 126, 165, 150, 150, 242, 165, 150, 144, 145,
108750
- /* 690 */ 173, 174, 165, 103, 173, 174, 49, 50, 165, 165,
108751
- /* 700 */ 173, 174, 165, 22, 23, 0, 1, 2, 25, 25,
108752
- /* 710 */ 173, 174, 24, 120, 26, 68, 69, 70, 71, 72,
108738
+ /* 580 */ 230, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108739
+ /* 590 */ 91, 92, 19, 215, 22, 23, 23, 25, 163, 194,
108740
+ /* 600 */ 94, 166, 167, 168, 25, 138, 67, 7, 8, 9,
108741
+ /* 610 */ 108, 206, 207, 169, 170, 171, 150, 22, 221, 222,
108742
+ /* 620 */ 223, 26, 49, 50, 86, 87, 23, 161, 162, 23,
108743
+ /* 630 */ 22, 165, 24, 120, 22, 23, 25, 160, 241, 67,
108744
+ /* 640 */ 176, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108745
+ /* 650 */ 77, 78, 79, 80, 160, 82, 83, 84, 85, 86,
108746
+ /* 660 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 150,
108747
+ /* 670 */ 23, 194, 35, 23, 230, 25, 150, 155, 150, 67,
108748
+ /* 680 */ 150, 105, 106, 107, 165, 221, 222, 223, 194, 94,
108749
+ /* 690 */ 23, 165, 25, 165, 217, 165, 49, 50, 25, 173,
108750
+ /* 700 */ 174, 173, 174, 173, 174, 0, 1, 2, 118, 221,
108751
+ /* 710 */ 222, 223, 193, 219, 237, 68, 69, 70, 71, 72,
108753108752
/* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
108754108753
/* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108755
- /* 740 */ 19, 150, 150, 165, 150, 24, 213, 97, 67, 166,
108756
- /* 750 */ 216, 173, 174, 166, 167, 168, 165, 165, 25, 165,
108757
- /* 760 */ 150, 150, 150, 35, 173, 174, 116, 173, 174, 35,
108758
- /* 770 */ 49, 50, 221, 222, 223, 165, 165, 165, 128, 187,
108759
- /* 780 */ 96, 22, 94, 173, 174, 173, 174, 160, 205, 68,
108754
+ /* 740 */ 19, 150, 19, 165, 150, 24, 166, 167, 168, 227,
108755
+ /* 750 */ 27, 173, 174, 231, 150, 25, 165, 150, 172, 165,
108756
+ /* 760 */ 150, 242, 129, 130, 173, 174, 180, 173, 174, 165,
108757
+ /* 770 */ 49, 50, 165, 150, 176, 165, 35, 173, 174, 165,
108758
+ /* 780 */ 173, 174, 35, 23, 23, 25, 25, 173, 165, 68,
108760108759
/* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108761108760
/* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88,
108762
- /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 150, 150,
108763
- /* 820 */ 150, 194, 150, 166, 213, 173, 174, 23, 150, 25,
108764
- /* 830 */ 165, 165, 165, 165, 165, 165, 35, 165, 173, 174,
108765
- /* 840 */ 173, 173, 174, 165, 49, 50, 219, 52, 23, 25,
108766
- /* 850 */ 25, 173, 174, 187, 245, 246, 187, 187, 23, 187,
108767
- /* 860 */ 25, 160, 205, 68, 69, 70, 71, 72, 73, 74,
108761
+ /* 810 */ 89, 90, 91, 92, 19, 150, 193, 165, 150, 221,
108762
+ /* 820 */ 222, 223, 150, 213, 19, 173, 174, 23, 150, 97,
108763
+ /* 830 */ 165, 150, 27, 165, 150, 150, 150, 165, 173, 174,
108764
+ /* 840 */ 22, 173, 174, 165, 49, 50, 165, 52, 116, 165,
108765
+ /* 850 */ 165, 165, 206, 207, 173, 174, 126, 50, 173, 174,
108766
+ /* 860 */ 128, 27, 160, 68, 69, 70, 71, 72, 73, 74,
108768108767
/* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84,
108769108768
/* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150,
108770
- /* 890 */ 150, 165, 150, 27, 150, 194, 150, 160, 118, 173,
108771
- /* 900 */ 174, 23, 150, 25, 165, 165, 150, 165, 150, 165,
108772
- /* 910 */ 39, 165, 173, 174, 52, 173, 174, 165, 49, 50,
108773
- /* 920 */ 219, 165, 23, 165, 23, 173, 174, 23, 52, 25,
108774
- /* 930 */ 23, 194, 25, 193, 247, 248, 22, 68, 69, 70,
108769
+ /* 890 */ 23, 165, 150, 23, 216, 25, 194, 32, 39, 173,
108770
+ /* 900 */ 174, 135, 150, 137, 165, 150, 41, 165, 150, 52,
108771
+ /* 910 */ 238, 104, 173, 174, 29, 173, 174, 165, 49, 50,
108772
+ /* 920 */ 165, 219, 238, 165, 238, 173, 174, 52, 173, 174,
108773
+ /* 930 */ 22, 173, 174, 23, 23, 160, 25, 68, 69, 70,
108775108774
/* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108776108775
/* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108777
- /* 960 */ 91, 92, 19, 150, 29, 165, 150, 160, 23, 213,
108778
- /* 970 */ 25, 160, 22, 173, 174, 23, 150, 25, 165, 150,
108779
- /* 980 */ 23, 165, 238, 22, 238, 22, 173, 174, 52, 173,
108780
- /* 990 */ 174, 165, 49, 50, 165, 150, 238, 91, 92, 173,
108781
- /* 1000 */ 174, 194, 173, 174, 22, 194, 109, 190, 191, 19,
108776
+ /* 960 */ 91, 92, 19, 150, 150, 165, 150, 245, 246, 194,
108777
+ /* 970 */ 150, 144, 145, 173, 174, 160, 150, 22, 165, 165,
108778
+ /* 980 */ 22, 165, 150, 150, 116, 165, 173, 174, 52, 173,
108779
+ /* 990 */ 174, 165, 49, 50, 22, 150, 128, 165, 165, 173,
108780
+ /* 1000 */ 174, 187, 166, 166, 22, 173, 174, 187, 109, 194,
108782108781
/* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108783108782
/* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86,
108784108783
/* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165,
108785
- /* 1040 */ 102, 150, 150, 150, 190, 191, 20, 173, 174, 24,
108786
- /* 1050 */ 150, 104, 165, 150, 43, 150, 165, 165, 165, 59,
108787
- /* 1060 */ 173, 174, 49, 50, 25, 165, 49, 50, 165, 53,
108788
- /* 1070 */ 165, 53, 138, 173, 174, 104, 173, 174, 173, 174,
108789
- /* 1080 */ 1, 2, 22, 5, 71, 72, 69, 70, 71, 72,
108784
+ /* 1040 */ 102, 205, 205, 150, 150, 247, 248, 173, 174, 19,
108785
+ /* 1050 */ 150, 20, 165, 150, 150, 150, 150, 150, 165, 165,
108786
+ /* 1060 */ 173, 174, 49, 50, 104, 165, 49, 50, 165, 165,
108787
+ /* 1070 */ 165, 165, 165, 173, 174, 43, 173, 174, 173, 174,
108788
+ /* 1080 */ 187, 24, 190, 191, 71, 72, 69, 70, 71, 72,
108790108789
/* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
108791108790
/* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108792
- /* 1110 */ 19, 98, 150, 165, 150, 1, 150, 150, 150, 150,
108793
- /* 1120 */ 118, 173, 174, 35, 150, 27, 76, 165, 108, 165,
108794
- /* 1130 */ 150, 165, 165, 165, 165, 173, 174, 173, 174, 165,
108795
- /* 1140 */ 49, 50, 150, 150, 76, 165, 127, 173, 174, 22,
108796
- /* 1150 */ 25, 22, 119, 173, 174, 23, 1, 165, 165, 193,
108791
+ /* 1110 */ 19, 98, 150, 165, 150, 150, 150, 150, 150, 150,
108792
+ /* 1120 */ 59, 173, 174, 25, 150, 190, 191, 165, 53, 165,
108793
+ /* 1130 */ 165, 165, 165, 165, 165, 173, 174, 173, 174, 165,
108794
+ /* 1140 */ 49, 50, 91, 92, 1, 2, 53, 173, 174, 138,
108795
+ /* 1150 */ 104, 22, 5, 1, 35, 118, 127, 150, 193, 193,
108797108796
/* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108798
- /* 1170 */ 79, 80, 16, 82, 83, 84, 85, 86, 87, 88,
108799
- /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 20,
108800
- /* 1190 */ 150, 26, 27, 121, 150, 119, 127, 108, 150, 128,
108801
- /* 1200 */ 16, 150, 37, 165, 150, 165, 23, 19, 20, 165,
108802
- /* 1210 */ 22, 173, 174, 165, 26, 27, 165, 150, 65, 165,
108803
- /* 1220 */ 23, 56, 15, 140, 150, 37, 22, 173, 174, 3,
108804
- /* 1230 */ 150, 66, 165, 193, 4, 150, 179, 164, 179, 165,
108805
- /* 1240 */ 246, 146, 147, 149, 56, 165, 150, 152, 249, 154,
108806
- /* 1250 */ 165, 86, 87, 88, 66, 160, 150, 150, 93, 94,
108807
- /* 1260 */ 95, 165, 150, 98, 249, 149, 6, 193, 149, 173,
108808
- /* 1270 */ 174, 165, 165, 150, 86, 87, 13, 165, 150, 173,
108809
- /* 1280 */ 174, 93, 94, 95, 151, 150, 98, 149, 165, 194,
108810
- /* 1290 */ 150, 25, 151, 165, 129, 130, 131, 132, 133, 134,
108811
- /* 1300 */ 165, 173, 174, 159, 116, 165, 19, 20, 150, 22,
108812
- /* 1310 */ 116, 150, 217, 26, 27, 194, 199, 129, 130, 131,
108813
- /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 123, 19,
108814
- /* 1330 */ 20, 150, 22, 124, 126, 201, 26, 27, 202, 244,
108815
- /* 1340 */ 165, 150, 165, 56, 122, 150, 165, 37, 173, 174,
108816
- /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 200, 125, 135,
108817
- /* 1360 */ 165, 118, 150, 150, 150, 203, 56, 165, 150, 210,
108818
- /* 1370 */ 225, 104, 157, 86, 87, 150, 66, 165, 165, 165,
108819
- /* 1380 */ 93, 94, 95, 165, 150, 98, 173, 174, 157, 22,
108820
- /* 1390 */ 165, 211, 150, 26, 27, 150, 86, 87, 150, 165,
108821
- /* 1400 */ 150, 121, 210, 93, 94, 95, 210, 165, 98, 150,
108822
- /* 1410 */ 165, 150, 211, 165, 211, 165, 129, 130, 131, 132,
108823
- /* 1420 */ 133, 134, 5, 150, 165, 104, 165, 10, 11, 12,
108824
- /* 1430 */ 13, 14, 150, 66, 17, 183, 150, 175, 165, 129,
108825
- /* 1440 */ 130, 131, 132, 133, 134, 175, 47, 165, 31, 175,
108826
- /* 1450 */ 33, 165, 177, 86, 87, 103, 175, 178, 22, 42,
108827
- /* 1460 */ 228, 94, 92, 228, 175, 98, 183, 175, 175, 178,
108828
- /* 1470 */ 185, 96, 55, 156, 57, 18, 157, 157, 61, 156,
108829
- /* 1480 */ 156, 64, 157, 157, 235, 45, 135, 236, 156, 189,
108830
- /* 1490 */ 157, 68, 189, 22, 218, 199, 129, 130, 131, 156,
108831
- /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240,
108832
- /* 1510 */ 157, 240, 40, 157, 157, 243, 38, 153, 196, 181,
108833
- /* 1520 */ 166, 226, 105, 106, 107, 198, 176, 230, 111, 230,
108834
- /* 1530 */ 185, 176, 166, 116, 176, 166, 177, 209, 199, 209,
108835
- /* 1540 */ 239, 239, 148, 209, 196, 199, 166, 233, 208, 234,
108836
- /* 1550 */ 182, 186, 191, 182, 182, 195, 139, 173, 173, 186,
108837
- /* 1560 */ 186, 92,
108797
+ /* 1170 */ 79, 80, 165, 82, 83, 84, 85, 86, 87, 88,
108798
+ /* 1180 */ 89, 90, 91, 92, 19, 20, 150, 22, 150, 27,
108799
+ /* 1190 */ 150, 26, 27, 108, 150, 22, 76, 76, 150, 25,
108800
+ /* 1200 */ 193, 165, 37, 165, 150, 165, 22, 19, 20, 165,
108801
+ /* 1210 */ 22, 173, 174, 165, 26, 27, 23, 150, 119, 165,
108802
+ /* 1220 */ 150, 56, 150, 150, 150, 37, 16, 173, 174, 193,
108803
+ /* 1230 */ 150, 66, 165, 193, 1, 165, 121, 165, 165, 165,
108804
+ /* 1240 */ 20, 146, 147, 119, 56, 165, 150, 152, 16, 154,
108805
+ /* 1250 */ 150, 86, 87, 88, 66, 160, 150, 150, 93, 94,
108806
+ /* 1260 */ 95, 165, 150, 98, 108, 165, 127, 23, 65, 173,
108807
+ /* 1270 */ 174, 165, 165, 150, 86, 87, 128, 165, 150, 173,
108808
+ /* 1280 */ 174, 93, 94, 95, 23, 150, 98, 15, 165, 194,
108809
+ /* 1290 */ 150, 140, 22, 165, 129, 130, 131, 132, 133, 134,
108810
+ /* 1300 */ 165, 173, 174, 3, 116, 165, 19, 20, 150, 22,
108811
+ /* 1310 */ 4, 150, 217, 26, 27, 179, 179, 129, 130, 131,
108812
+ /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 164, 19,
108813
+ /* 1330 */ 20, 150, 22, 246, 149, 249, 26, 27, 249, 244,
108814
+ /* 1340 */ 165, 150, 165, 56, 6, 150, 165, 37, 173, 174,
108815
+ /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 149, 149, 13,
108816
+ /* 1360 */ 165, 25, 150, 150, 150, 149, 56, 165, 150, 116,
108817
+ /* 1370 */ 151, 150, 150, 86, 87, 150, 66, 165, 165, 165,
108818
+ /* 1380 */ 93, 94, 95, 165, 150, 98, 165, 165, 151, 22,
108819
+ /* 1390 */ 165, 194, 150, 26, 27, 150, 86, 87, 159, 165,
108820
+ /* 1400 */ 199, 126, 123, 93, 94, 95, 200, 165, 98, 124,
108821
+ /* 1410 */ 165, 122, 201, 125, 225, 135, 129, 130, 131, 132,
108822
+ /* 1420 */ 133, 134, 5, 157, 157, 202, 118, 10, 11, 12,
108823
+ /* 1430 */ 13, 14, 203, 66, 17, 104, 210, 121, 211, 129,
108824
+ /* 1440 */ 130, 131, 132, 133, 134, 210, 175, 211, 31, 211,
108825
+ /* 1450 */ 33, 210, 104, 86, 87, 47, 175, 183, 175, 42,
108826
+ /* 1460 */ 103, 94, 178, 177, 22, 98, 175, 92, 228, 175,
108827
+ /* 1470 */ 175, 228, 55, 183, 57, 178, 175, 156, 61, 18,
108828
+ /* 1480 */ 157, 64, 156, 235, 157, 156, 45, 157, 236, 157,
108829
+ /* 1490 */ 135, 156, 189, 68, 157, 218, 129, 130, 131, 22,
108830
+ /* 1500 */ 189, 199, 157, 156, 192, 18, 192, 192, 199, 192,
108831
+ /* 1510 */ 218, 189, 40, 157, 38, 157, 240, 157, 240, 153,
108832
+ /* 1520 */ 196, 181, 105, 106, 107, 243, 198, 166, 111, 230,
108833
+ /* 1530 */ 176, 226, 239, 116, 230, 176, 166, 166, 176, 148,
108834
+ /* 1540 */ 199, 177, 209, 209, 166, 196, 239, 208, 185, 199,
108835
+ /* 1550 */ 92, 209, 233, 173, 234, 182, 139, 173, 182, 191,
108836
+ /* 1560 */ 195, 182, 250, 186,
108838108837
};
108839108838
#define YY_SHIFT_USE_DFLT (-70)
108840
-#define YY_SHIFT_COUNT (419)
108839
+#define YY_SHIFT_COUNT (416)
108841108840
#define YY_SHIFT_MIN (-69)
108842
-#define YY_SHIFT_MAX (1484)
108841
+#define YY_SHIFT_MAX (1487)
108843108842
static const short yy_shift_ofst[] = {
108844
- /* 0 */ 1079, 1188, 1417, 1188, 1287, 1287, 138, 138, 312, -19,
108845
- /* 10 */ 1287, 1287, 1287, 1287, 346, 383, 129, 129, 795, 1165,
108843
+ /* 0 */ 1143, 1188, 1417, 1188, 1287, 1287, 138, 138, -2, -19,
108844
+ /* 10 */ 1287, 1287, 1287, 1287, 347, 362, 129, 129, 795, 1165,
108846108845
/* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108847108846
/* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108848108847
/* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287,
108849108848
/* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108850
- /* 60 */ 1287, 1287, 286, 383, 383, 539, 539, 74, 1194, 55,
108849
+ /* 60 */ 1287, 1287, 286, 362, 362, 538, 538, 231, 1253, 55,
108851108850
/* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869,
108852108851
/* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869,
108853108852
/* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45,
108854
- /* 100 */ -45, -45, -45, -45, -1, 6, -64, 383, 383, 383,
108855
- /* 110 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108856
- /* 120 */ 383, 383, 383, 535, 515, 383, 383, 383, 383, 383,
108857
- /* 130 */ 650, -13, 74, 906, 1469, -70, -70, -70, 1367, 57,
108858
- /* 140 */ 287, 287, 163, 291, 285, 136, 91, 538, 528, 383,
108859
- /* 150 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108860
- /* 160 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108861
- /* 170 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108862
- /* 180 */ 383, 688, 688, 688, 705, 1194, 1194, 1194, -70, -70,
108863
- /* 190 */ -70, 171, 171, 160, 160, 160, 190, 190, 190, 434,
108864
- /* 200 */ 423, 513, 409, 355, 220, 492, 492, 492, 492, 532,
108865
- /* 210 */ 586, 492, 492, 352, 80, 445, 143, 555, 164, 164,
108866
- /* 220 */ 613, 555, 613, 590, 684, 74, 413, 74, 413, 269,
108867
- /* 230 */ 413, 164, 405, 212, 212, 74, 363, 132, -18, 1478,
108868
- /* 240 */ 1243, 1243, 1472, 1472, 1243, 1471, 1423, 1208, 1484, 1484,
108869
- /* 250 */ 1484, 1484, 1243, 1457, 1208, 1471, 1423, 1423, 1243, 1457,
108870
- /* 260 */ 1351, 1440, 1243, 1243, 1457, 1243, 1457, 1243, 1457, 1375,
108871
- /* 270 */ 1436, 1321, 1321, 1321, 1399, 1370, 1370, 1436, 1321, 1352,
108872
- /* 280 */ 1321, 1399, 1321, 1321, 1280, 1267, 1280, 1267, 1280, 1267,
108873
- /* 290 */ 1243, 1243, 1224, 1233, 1222, 1209, 1205, 1208, 1194, 1266,
108874
- /* 300 */ 1263, 1263, 1260, 1260, 1260, 1260, -70, -70, -70, -70,
108875
- /* 310 */ -70, -70, 1013, 398, 681, 314, 470, -28, 952, 240,
108876
- /* 320 */ 945, 907, 904, 878, 835, 825, 79, 112, 205, 804,
108877
- /* 330 */ 297, 1230, 1226, 1204, 1083, 1207, 1153, 1184, 1197, 1183,
108878
- /* 340 */ 1071, 1125, 1069, 1089, 1076, 1169, 1072, 1156, 1155, 1033,
108879
- /* 350 */ 1132, 1129, 1125, 1127, 1019, 1068, 1050, 1020, 1098, 1088,
108880
- /* 360 */ 1002, 1114, 1078, 1060, 971, 934, 1018, 1039, 1016, 1000,
108881
- /* 370 */ 1011, 947, 1025, 1026, 990, 897, 938, 982, 936, 963,
108882
- /* 380 */ 961, 957, 950, 876, 935, 914, 862, 871, 901, 899,
108883
- /* 390 */ 780, 866, 801, 759, 593, 733, 734, 824, 728, 733,
108884
- /* 400 */ 649, 541, 683, 529, 506, 508, 484, 450, 335, 232,
108885
- /* 410 */ 302, 276, 265, 210, 92, 78, 151, 113, 33, 28,
108853
+ /* 100 */ -45, -45, -45, -45, -1, 24, 245, 362, 362, 362,
108854
+ /* 110 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108855
+ /* 120 */ 362, 362, 362, 388, 356, 362, 362, 362, 362, 362,
108856
+ /* 130 */ 732, 868, 231, 1051, 1458, -70, -70, -70, 1367, 57,
108857
+ /* 140 */ 434, 434, 289, 291, 285, 1, 204, 572, 539, 362,
108858
+ /* 150 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108859
+ /* 160 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108860
+ /* 170 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108861
+ /* 180 */ 362, 506, 506, 506, 705, 1253, 1253, 1253, -70, -70,
108862
+ /* 190 */ -70, 171, 171, 160, 502, 502, 502, 446, 432, 511,
108863
+ /* 200 */ 422, 358, 335, -12, -12, -12, -12, 576, 294, -12,
108864
+ /* 210 */ -12, 295, 595, 141, 600, 730, 723, 723, 805, 730,
108865
+ /* 220 */ 805, 439, 911, 231, 865, 231, 865, 807, 865, 723,
108866
+ /* 230 */ 766, 633, 633, 231, 284, 63, 608, 1476, 1308, 1308,
108867
+ /* 240 */ 1472, 1472, 1308, 1477, 1425, 1275, 1487, 1487, 1487, 1487,
108868
+ /* 250 */ 1308, 1461, 1275, 1477, 1425, 1425, 1308, 1461, 1355, 1441,
108869
+ /* 260 */ 1308, 1308, 1461, 1308, 1461, 1308, 1461, 1442, 1348, 1348,
108870
+ /* 270 */ 1348, 1408, 1375, 1375, 1442, 1348, 1357, 1348, 1408, 1348,
108871
+ /* 280 */ 1348, 1316, 1331, 1316, 1331, 1316, 1331, 1308, 1308, 1280,
108872
+ /* 290 */ 1288, 1289, 1285, 1279, 1275, 1253, 1336, 1346, 1346, 1338,
108873
+ /* 300 */ 1338, 1338, 1338, -70, -70, -70, -70, -70, -70, 1013,
108874
+ /* 310 */ 467, 612, 84, 179, -28, 870, 410, 761, 760, 667,
108875
+ /* 320 */ 650, 531, 220, 361, 331, 125, 127, 97, 1306, 1300,
108876
+ /* 330 */ 1270, 1151, 1272, 1203, 1232, 1261, 1244, 1148, 1174, 1139,
108877
+ /* 340 */ 1156, 1124, 1220, 1115, 1210, 1233, 1099, 1193, 1184, 1174,
108878
+ /* 350 */ 1173, 1029, 1121, 1120, 1085, 1162, 1119, 1037, 1152, 1147,
108879
+ /* 360 */ 1129, 1046, 1011, 1093, 1098, 1075, 1061, 1032, 960, 1057,
108880
+ /* 370 */ 1031, 1030, 899, 938, 982, 936, 972, 958, 910, 955,
108881
+ /* 380 */ 875, 885, 908, 857, 859, 867, 804, 590, 834, 747,
108882
+ /* 390 */ 818, 513, 611, 741, 673, 637, 611, 606, 603, 579,
108883
+ /* 400 */ 501, 541, 468, 386, 445, 395, 376, 281, 185, 120,
108884
+ /* 410 */ 92, 75, 45, 114, 25, 11, 5,
108886108885
};
108887108886
#define YY_REDUCE_USE_DFLT (-169)
108888
-#define YY_REDUCE_COUNT (311)
108887
+#define YY_REDUCE_COUNT (308)
108889108888
#define YY_REDUCE_MIN (-168)
108890
-#define YY_REDUCE_MAX (1394)
108889
+#define YY_REDUCE_MAX (1391)
108891108890
static const short yy_reduce_ofst[] = {
108892
- /* 0 */ 485, 90, 1095, 222, 156, 19, 17, -49, 10, 322,
108893
- /* 10 */ 316, 311, 306, 225, 180, -51, 457, 242, 380, 1213,
108894
- /* 20 */ 1181, 1177, 1175, 1128, 1106, 1096, 1054, 1038, 980, 974,
108895
- /* 30 */ 964, 962, 948, 905, 903, 900, 887, 874, 829, 826,
108896
- /* 40 */ 816, 813, 800, 752, 742, 739, 726, 678, 668, 665,
108897
- /* 50 */ 652, 612, 610, 594, 591, 578, 537, 527, 521, 517,
108898
- /* 60 */ 444, 318, 437, 449, 443, 154, -168, 141, 406, 551,
108899
- /* 70 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
108900
- /* 80 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
108901
- /* 90 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
108902
- /* 100 */ 551, 551, 551, 551, 551, 551, 551, 1074, 534, 1040,
108903
- /* 110 */ 993, 967, 966, 845, 740, 758, 756, 746, 239, 744,
108904
- /* 120 */ 672, 611, 73, -119, 48, 670, 669, 666, 592, 533,
108905
- /* 130 */ 701, 627, 587, 551, 551, 551, 551, 551, 667, 375,
108906
- /* 140 */ 854, 817, 992, 1286, 1282, 1273, 1261, 687, 687, 1259,
108907
- /* 150 */ 1250, 1248, 1245, 1242, 1234, 1225, 1218, 1214, 1212, 1202,
108908
- /* 160 */ 1195, 1191, 1161, 1158, 1140, 1135, 1123, 1112, 1107, 1085,
108909
- /* 170 */ 1080, 1067, 1051, 1048, 1044, 992, 969, 968, 893, 892,
108910
- /* 180 */ 891, 657, 583, 245, 544, 811, 807, 737, 609, 469,
108911
- /* 190 */ 342, 1385, 1384, 1374, 1373, 1365, 1372, 1371, 1368, 1340,
108912
- /* 200 */ 1360, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1315,
108913
- /* 210 */ 1314, 1360, 1360, 1340, 1380, 1348, 1394, 1346, 1334, 1330,
108914
- /* 220 */ 1302, 1339, 1301, 1359, 1345, 1369, 1358, 1366, 1355, 1338,
108915
- /* 230 */ 1350, 1328, 1295, 1299, 1297, 1354, 1327, 1322, 1364, 1272,
108916
- /* 240 */ 1357, 1356, 1271, 1269, 1353, 1290, 1318, 1307, 1313, 1312,
108917
- /* 250 */ 1311, 1308, 1344, 1343, 1296, 1276, 1303, 1300, 1333, 1332,
108918
- /* 260 */ 1251, 1249, 1326, 1325, 1324, 1320, 1323, 1319, 1317, 1285,
108919
- /* 270 */ 1291, 1293, 1292, 1289, 1283, 1235, 1232, 1279, 1281, 1275,
108920
- /* 280 */ 1274, 1252, 1270, 1262, 1203, 1196, 1201, 1192, 1180, 1159,
108921
- /* 290 */ 1231, 1215, 1145, 1162, 1136, 1134, 1157, 1117, 1121, 1144,
108922
- /* 300 */ 1141, 1133, 1138, 1119, 1116, 1094, 1015, 999, 994, 1059,
108923
- /* 310 */ 1057, 1073,
108891
+ /* 0 */ -141, 90, 1095, 222, 158, 156, 19, 17, 10, -104,
108892
+ /* 10 */ 378, 316, 311, 12, 180, 249, 598, 464, 397, 1181,
108893
+ /* 20 */ 1177, 1175, 1128, 1106, 1096, 1054, 1038, 974, 964, 962,
108894
+ /* 30 */ 948, 905, 903, 900, 887, 874, 832, 826, 816, 813,
108895
+ /* 40 */ 800, 758, 755, 752, 742, 739, 726, 685, 681, 668,
108896
+ /* 50 */ 665, 652, 607, 604, 594, 591, 578, 530, 528, 526,
108897
+ /* 60 */ 385, 18, 477, 466, 519, 444, 350, 435, 405, 488,
108898
+ /* 70 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
108899
+ /* 80 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
108900
+ /* 90 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
108901
+ /* 100 */ 488, 488, 488, 488, 488, 488, 488, 1040, 678, 1036,
108902
+ /* 110 */ 1007, 967, 966, 965, 845, 686, 610, 684, 317, 672,
108903
+ /* 120 */ 893, 327, 623, 522, -7, 820, 814, 157, 154, 101,
108904
+ /* 130 */ 702, 494, 580, 488, 488, 488, 488, 488, 614, 586,
108905
+ /* 140 */ 935, 892, 968, 1245, 1242, 1234, 1225, 798, 798, 1222,
108906
+ /* 150 */ 1221, 1218, 1214, 1213, 1212, 1202, 1195, 1191, 1161, 1158,
108907
+ /* 160 */ 1140, 1135, 1123, 1112, 1107, 1100, 1080, 1074, 1073, 1072,
108908
+ /* 170 */ 1070, 1067, 1048, 1044, 969, 968, 907, 906, 904, 894,
108909
+ /* 180 */ 833, 837, 836, 340, 827, 815, 775, 68, 722, 646,
108910
+ /* 190 */ -168, 1384, 1380, 1377, 1379, 1376, 1373, 1339, 1365, 1368,
108911
+ /* 200 */ 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1320, 1319, 1365,
108912
+ /* 210 */ 1365, 1339, 1378, 1349, 1391, 1350, 1342, 1334, 1307, 1341,
108913
+ /* 220 */ 1293, 1364, 1363, 1371, 1362, 1370, 1359, 1340, 1354, 1333,
108914
+ /* 230 */ 1305, 1304, 1299, 1361, 1328, 1324, 1366, 1282, 1360, 1358,
108915
+ /* 240 */ 1278, 1276, 1356, 1292, 1322, 1309, 1317, 1315, 1314, 1312,
108916
+ /* 250 */ 1345, 1347, 1302, 1277, 1311, 1303, 1337, 1335, 1252, 1248,
108917
+ /* 260 */ 1332, 1330, 1329, 1327, 1326, 1323, 1321, 1297, 1301, 1295,
108918
+ /* 270 */ 1294, 1290, 1243, 1240, 1284, 1291, 1286, 1283, 1274, 1281,
108919
+ /* 280 */ 1271, 1238, 1241, 1236, 1235, 1227, 1226, 1267, 1266, 1189,
108920
+ /* 290 */ 1229, 1223, 1211, 1206, 1201, 1197, 1239, 1237, 1219, 1216,
108921
+ /* 300 */ 1209, 1208, 1185, 1089, 1086, 1087, 1137, 1136, 1164,
108924108922
};
108925108923
static const YYACTIONTYPE yy_default[] = {
108926
- /* 0 */ 635, 869, 957, 957, 869, 869, 957, 957, 722, 759,
108927
- /* 10 */ 957, 957, 957, 867, 957, 957, 787, 787, 931, 957,
108928
- /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108929
- /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108930
- /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108931
- /* 50 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108932
- /* 60 */ 957, 957, 957, 957, 957, 957, 957, 674, 763, 793,
108933
- /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 930, 932,
108934
- /* 80 */ 801, 800, 910, 774, 798, 791, 795, 870, 863, 864,
108935
- /* 90 */ 862, 866, 871, 957, 794, 830, 847, 829, 841, 846,
108936
- /* 100 */ 853, 845, 842, 832, 831, 833, 834, 957, 957, 957,
108937
- /* 110 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108938
- /* 120 */ 957, 957, 957, 661, 728, 957, 957, 957, 957, 957,
108939
- /* 130 */ 957, 957, 957, 835, 836, 850, 849, 848, 957, 666,
108940
- /* 140 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108941
- /* 150 */ 937, 935, 957, 882, 957, 957, 957, 957, 957, 957,
108942
- /* 160 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108943
- /* 170 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108944
- /* 180 */ 641, 759, 759, 759, 635, 957, 957, 957, 949, 763,
108945
- /* 190 */ 753, 957, 957, 957, 957, 718, 957, 957, 957, 957,
108946
- /* 200 */ 957, 957, 957, 957, 957, 803, 742, 920, 922, 957,
108947
- /* 210 */ 903, 740, 663, 761, 676, 751, 643, 797, 776, 776,
108948
- /* 220 */ 915, 797, 915, 699, 722, 957, 787, 957, 787, 696,
108949
- /* 230 */ 787, 776, 865, 957, 957, 957, 760, 751, 957, 942,
108950
- /* 240 */ 767, 767, 934, 934, 767, 809, 732, 797, 739, 739,
108951
- /* 250 */ 739, 739, 767, 658, 797, 809, 732, 732, 767, 658,
108952
- /* 260 */ 909, 907, 767, 767, 658, 767, 658, 767, 658, 722,
108953
- /* 270 */ 875, 730, 730, 730, 714, 879, 879, 875, 730, 699,
108954
- /* 280 */ 730, 714, 730, 730, 780, 775, 780, 775, 780, 775,
108955
- /* 290 */ 767, 767, 957, 792, 781, 790, 788, 797, 957, 717,
108956
- /* 300 */ 651, 651, 640, 640, 640, 640, 954, 954, 949, 701,
108957
- /* 310 */ 701, 684, 957, 957, 957, 957, 957, 957, 957, 884,
108958
- /* 320 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108959
- /* 330 */ 957, 957, 636, 944, 957, 957, 941, 957, 957, 957,
108960
- /* 340 */ 957, 802, 957, 957, 957, 957, 957, 957, 957, 957,
108961
- /* 350 */ 957, 957, 919, 957, 957, 957, 957, 957, 957, 957,
108962
- /* 360 */ 913, 957, 957, 957, 957, 957, 957, 906, 905, 957,
108963
- /* 370 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108964
- /* 380 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108965
- /* 390 */ 957, 957, 957, 957, 957, 789, 957, 782, 957, 868,
108966
- /* 400 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108967
- /* 410 */ 745, 818, 957, 817, 821, 816, 668, 957, 649, 957,
108968
- /* 420 */ 632, 637, 953, 956, 955, 952, 951, 950, 945, 943,
108969
- /* 430 */ 940, 939, 938, 936, 933, 929, 888, 886, 893, 892,
108970
- /* 440 */ 891, 890, 889, 887, 885, 883, 804, 799, 796, 928,
108971
- /* 450 */ 881, 741, 738, 737, 657, 946, 912, 921, 808, 807,
108972
- /* 460 */ 810, 918, 917, 916, 914, 911, 898, 806, 805, 733,
108973
- /* 470 */ 873, 872, 660, 902, 901, 900, 904, 908, 899, 769,
108974
- /* 480 */ 659, 656, 665, 721, 723, 719, 729, 727, 726, 725,
108975
- /* 490 */ 724, 720, 667, 675, 713, 698, 697, 878, 880, 877,
108976
- /* 500 */ 876, 706, 705, 711, 710, 709, 708, 707, 704, 703,
108977
- /* 510 */ 702, 695, 694, 700, 693, 716, 715, 712, 692, 736,
108978
- /* 520 */ 735, 734, 731, 691, 690, 689, 821, 688, 687, 827,
108979
- /* 530 */ 826, 814, 857, 756, 755, 754, 766, 765, 778, 777,
108980
- /* 540 */ 812, 811, 779, 764, 758, 757, 773, 772, 771, 770,
108981
- /* 550 */ 762, 752, 784, 786, 785, 783, 859, 768, 856, 927,
108982
- /* 560 */ 926, 925, 924, 923, 861, 860, 828, 825, 679, 680,
108983
- /* 570 */ 896, 895, 897, 894, 682, 681, 678, 677, 858, 747,
108984
- /* 580 */ 746, 854, 851, 843, 839, 855, 852, 844, 840, 838,
108985
- /* 590 */ 837, 823, 822, 820, 819, 815, 824, 670, 748, 744,
108986
- /* 600 */ 743, 813, 750, 749, 686, 685, 683, 664, 662, 655,
108987
- /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673,
108988
- /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631,
108924
+ /* 0 */ 632, 866, 954, 954, 866, 866, 954, 954, 954, 756,
108925
+ /* 10 */ 954, 954, 954, 864, 954, 954, 784, 784, 928, 954,
108926
+ /* 20 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108927
+ /* 30 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108928
+ /* 40 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108929
+ /* 50 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108930
+ /* 60 */ 954, 954, 954, 954, 954, 954, 954, 671, 760, 790,
108931
+ /* 70 */ 954, 954, 954, 954, 954, 954, 954, 954, 927, 929,
108932
+ /* 80 */ 798, 797, 907, 771, 795, 788, 792, 867, 860, 861,
108933
+ /* 90 */ 859, 863, 868, 954, 791, 827, 844, 826, 838, 843,
108934
+ /* 100 */ 850, 842, 839, 829, 828, 830, 831, 954, 954, 954,
108935
+ /* 110 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108936
+ /* 120 */ 954, 954, 954, 658, 725, 954, 954, 954, 954, 954,
108937
+ /* 130 */ 954, 954, 954, 832, 833, 847, 846, 845, 954, 663,
108938
+ /* 140 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108939
+ /* 150 */ 934, 932, 954, 879, 954, 954, 954, 954, 954, 954,
108940
+ /* 160 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108941
+ /* 170 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108942
+ /* 180 */ 638, 756, 756, 756, 632, 954, 954, 954, 946, 760,
108943
+ /* 190 */ 750, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108944
+ /* 200 */ 954, 954, 954, 800, 739, 917, 919, 954, 900, 737,
108945
+ /* 210 */ 660, 758, 673, 748, 640, 794, 773, 773, 912, 794,
108946
+ /* 220 */ 912, 696, 719, 954, 784, 954, 784, 693, 784, 773,
108947
+ /* 230 */ 862, 954, 954, 954, 757, 748, 954, 939, 764, 764,
108948
+ /* 240 */ 931, 931, 764, 806, 729, 794, 736, 736, 736, 736,
108949
+ /* 250 */ 764, 655, 794, 806, 729, 729, 764, 655, 906, 904,
108950
+ /* 260 */ 764, 764, 655, 764, 655, 764, 655, 872, 727, 727,
108951
+ /* 270 */ 727, 711, 876, 876, 872, 727, 696, 727, 711, 727,
108952
+ /* 280 */ 727, 777, 772, 777, 772, 777, 772, 764, 764, 954,
108953
+ /* 290 */ 789, 778, 787, 785, 794, 954, 714, 648, 648, 637,
108954
+ /* 300 */ 637, 637, 637, 951, 951, 946, 698, 698, 681, 954,
108955
+ /* 310 */ 954, 954, 954, 954, 954, 954, 881, 954, 954, 954,
108956
+ /* 320 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 633,
108957
+ /* 330 */ 941, 954, 954, 938, 954, 954, 954, 954, 799, 954,
108958
+ /* 340 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 916,
108959
+ /* 350 */ 954, 954, 954, 954, 954, 954, 954, 910, 954, 954,
108960
+ /* 360 */ 954, 954, 954, 954, 903, 902, 954, 954, 954, 954,
108961
+ /* 370 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108962
+ /* 380 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108963
+ /* 390 */ 954, 954, 786, 954, 779, 954, 865, 954, 954, 954,
108964
+ /* 400 */ 954, 954, 954, 954, 954, 954, 954, 742, 815, 954,
108965
+ /* 410 */ 814, 818, 813, 665, 954, 646, 954, 629, 634, 950,
108966
+ /* 420 */ 953, 952, 949, 948, 947, 942, 940, 937, 936, 935,
108967
+ /* 430 */ 933, 930, 926, 885, 883, 890, 889, 888, 887, 886,
108968
+ /* 440 */ 884, 882, 880, 801, 796, 793, 925, 878, 738, 735,
108969
+ /* 450 */ 734, 654, 943, 909, 918, 805, 804, 807, 915, 914,
108970
+ /* 460 */ 913, 911, 908, 895, 803, 802, 730, 870, 869, 657,
108971
+ /* 470 */ 899, 898, 897, 901, 905, 896, 766, 656, 653, 662,
108972
+ /* 480 */ 717, 718, 726, 724, 723, 722, 721, 720, 716, 664,
108973
+ /* 490 */ 672, 710, 695, 694, 875, 877, 874, 873, 703, 702,
108974
+ /* 500 */ 708, 707, 706, 705, 704, 701, 700, 699, 692, 691,
108975
+ /* 510 */ 697, 690, 713, 712, 709, 689, 733, 732, 731, 728,
108976
+ /* 520 */ 688, 687, 686, 818, 685, 684, 824, 823, 811, 854,
108977
+ /* 530 */ 753, 752, 751, 763, 762, 775, 774, 809, 808, 776,
108978
+ /* 540 */ 761, 755, 754, 770, 769, 768, 767, 759, 749, 781,
108979
+ /* 550 */ 783, 782, 780, 856, 765, 853, 924, 923, 922, 921,
108980
+ /* 560 */ 920, 858, 857, 825, 822, 676, 677, 893, 892, 894,
108981
+ /* 570 */ 891, 679, 678, 675, 674, 855, 744, 743, 851, 848,
108982
+ /* 580 */ 840, 836, 852, 849, 841, 837, 835, 834, 820, 819,
108983
+ /* 590 */ 817, 816, 812, 821, 667, 745, 741, 740, 810, 747,
108984
+ /* 600 */ 746, 683, 682, 680, 661, 659, 652, 650, 649, 651,
108985
+ /* 610 */ 647, 645, 644, 643, 642, 641, 670, 669, 668, 666,
108986
+ /* 620 */ 665, 639, 636, 635, 631, 630, 628,
108989108987
};
108990108988
108991108989
/* The next table maps tokens into fallback tokens. If a construct
108992108990
** like the following:
108993108991
**
@@ -109189,11 +109187,11 @@
109189109187
"carglist", "id", "ids", "typetoken",
109190109188
"typename", "signed", "plus_num", "minus_num",
109191109189
"ccons", "term", "expr", "onconf",
109192109190
"sortorder", "autoinc", "idxlist_opt", "refargs",
109193109191
"defer_subclause", "refarg", "refact", "init_deferred_pred_opt",
109194
- "conslist", "cname", "tcons", "idxlist",
109192
+ "conslist", "tconscomma", "tcons", "idxlist",
109195109193
"defer_subclause_opt", "orconf", "resolvetype", "raisetype",
109196109194
"ifexists", "fullname", "oneselect", "multiselect_op",
109197109195
"distinct", "selcollist", "from", "where_opt",
109198109196
"groupby_opt", "having_opt", "orderby_opt", "limit_opt",
109199109197
"sclp", "as", "seltablist", "stl_prefix",
@@ -109301,16 +109299,16 @@
109301109299
/* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt",
109302109300
/* 84 */ "init_deferred_pred_opt ::=",
109303109301
/* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED",
109304109302
/* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE",
109305109303
/* 87 */ "conslist_opt ::=",
109306
- /* 88 */ "conslist_opt ::= COMMA conslist cname",
109307
- /* 89 */ "conslist ::= conslist COMMA cname tcons",
109308
- /* 90 */ "conslist ::= conslist cname tcons",
109309
- /* 91 */ "conslist ::= cname tcons",
109310
- /* 92 */ "cname ::=",
109311
- /* 93 */ "cname ::= CONSTRAINT nm",
109304
+ /* 88 */ "conslist_opt ::= COMMA conslist",
109305
+ /* 89 */ "conslist ::= conslist tconscomma tcons",
109306
+ /* 90 */ "conslist ::= tcons",
109307
+ /* 91 */ "tconscomma ::= COMMA",
109308
+ /* 92 */ "tconscomma ::=",
109309
+ /* 93 */ "tcons ::= CONSTRAINT nm",
109312109310
/* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf",
109313109311
/* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf",
109314109312
/* 96 */ "tcons ::= CHECK LP expr RP onconf",
109315109313
/* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt",
109316109314
/* 98 */ "defer_subclause_opt ::=",
@@ -110020,16 +110018,16 @@
110020110018
{ 180, 2 },
110021110019
{ 183, 0 },
110022110020
{ 183, 2 },
110023110021
{ 183, 2 },
110024110022
{ 159, 0 },
110025
- { 159, 3 },
110026
- { 184, 4 },
110023
+ { 159, 2 },
110027110024
{ 184, 3 },
110028
- { 184, 2 },
110025
+ { 184, 1 },
110026
+ { 185, 1 },
110029110027
{ 185, 0 },
110030
- { 185, 2 },
110028
+ { 186, 2 },
110031110029
{ 186, 7 },
110032110030
{ 186, 5 },
110033110031
{ 186, 5 },
110034110032
{ 186, 10 },
110035110033
{ 188, 0 },
@@ -110463,11 +110461,11 @@
110463110461
break;
110464110462
case 50: /* typename ::= typename ids */
110465110463
{yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);}
110466110464
break;
110467110465
case 55: /* ccons ::= CONSTRAINT nm */
110468
- case 93: /* cname ::= CONSTRAINT nm */ yytestcase(yyruleno==93);
110466
+ case 93: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93);
110469110467
{pParse->constraintName = yymsp[0].minor.yy0;}
110470110468
break;
110471110469
case 56: /* ccons ::= DEFAULT term */
110472110470
case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58);
110473110471
{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);}
@@ -110550,14 +110548,14 @@
110550110548
{yygotominor.yy392 = yymsp[0].minor.yy392;}
110551110549
break;
110552110550
case 87: /* conslist_opt ::= */
110553110551
{yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;}
110554110552
break;
110555
- case 88: /* conslist_opt ::= COMMA conslist cname */
110556
-{yygotominor.yy0 = yymsp[-2].minor.yy0;}
110553
+ case 88: /* conslist_opt ::= COMMA conslist */
110554
+{yygotominor.yy0 = yymsp[-1].minor.yy0;}
110557110555
break;
110558
- case 92: /* cname ::= */
110556
+ case 91: /* tconscomma ::= COMMA */
110559110557
{pParse->constraintName.n = 0;}
110560110558
break;
110561110559
case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */
110562110560
{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);}
110563110561
break;
@@ -111426,13 +111424,13 @@
111426111424
/* (51) signed ::= plus_num */ yytestcase(yyruleno==51);
111427111425
/* (52) signed ::= minus_num */ yytestcase(yyruleno==52);
111428111426
/* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53);
111429111427
/* (54) carglist ::= */ yytestcase(yyruleno==54);
111430111428
/* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61);
111431
- /* (89) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==89);
111432
- /* (90) conslist ::= conslist cname tcons */ yytestcase(yyruleno==90);
111433
- /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91);
111429
+ /* (89) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==89);
111430
+ /* (90) conslist ::= tcons */ yytestcase(yyruleno==90);
111431
+ /* (92) tconscomma ::= */ yytestcase(yyruleno==92);
111434111432
/* (277) foreach_clause ::= */ yytestcase(yyruleno==277);
111435111433
/* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278);
111436111434
/* (285) tridxby ::= */ yytestcase(yyruleno==285);
111437111435
/* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303);
111438111436
/* (304) database_kw_opt ::= */ yytestcase(yyruleno==304);
@@ -117371,11 +117369,11 @@
117371117369
117372117370
SQLITE_PRIVATE int sqlite3Fts3MsrIncrStart(
117373117371
Fts3Table*, Fts3MultiSegReader*, int, const char*, int);
117374117372
SQLITE_PRIVATE int sqlite3Fts3MsrIncrNext(
117375117373
Fts3Table *, Fts3MultiSegReader *, sqlite3_int64 *, char **, int *);
117376
-SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol);
117374
+SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol, char **);
117377117375
SQLITE_PRIVATE int sqlite3Fts3MsrOvfl(Fts3Cursor *, Fts3MultiSegReader *, int *);
117378117376
SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr);
117379117377
117380117378
SQLITE_PRIVATE int sqlite3Fts3DeferredTokenList(Fts3DeferredToken *, char **, int *);
117381117379
@@ -121036,11 +121034,11 @@
121036121034
int bDescIdx, /* True if the doclist is desc */
121037121035
char *aDoclist, /* Pointer to entire doclist */
121038121036
int nDoclist, /* Length of aDoclist in bytes */
121039121037
char **ppIter, /* IN/OUT: Iterator pointer */
121040121038
sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */
121041
- int *pnList, /* IN/OUT: List length pointer */
121039
+ int *pnList, /* OUT: List length pointer */
121042121040
u8 *pbEof /* OUT: End-of-file flag */
121043121041
){
121044121042
char *p = *ppIter;
121045121043
121046121044
assert( nDoclist>0 );
@@ -121082,10 +121080,45 @@
121082121080
*pnList = (int)(pSave - p);
121083121081
}
121084121082
*ppIter = p;
121085121083
}
121086121084
}
121085
+
121086
+/*
121087
+** Iterate forwards through a doclist.
121088
+*/
121089
+SQLITE_PRIVATE void sqlite3Fts3DoclistNext(
121090
+ int bDescIdx, /* True if the doclist is desc */
121091
+ char *aDoclist, /* Pointer to entire doclist */
121092
+ int nDoclist, /* Length of aDoclist in bytes */
121093
+ char **ppIter, /* IN/OUT: Iterator pointer */
121094
+ sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */
121095
+ u8 *pbEof /* OUT: End-of-file flag */
121096
+){
121097
+ char *p = *ppIter;
121098
+
121099
+ assert( nDoclist>0 );
121100
+ assert( *pbEof==0 );
121101
+ assert( p || *piDocid==0 );
121102
+ assert( !p || (p>=aDoclist && p<=&aDoclist[nDoclist]) );
121103
+
121104
+ if( p==0 ){
121105
+ p = aDoclist;
121106
+ p += sqlite3Fts3GetVarint(p, piDocid);
121107
+ }else{
121108
+ fts3PoslistCopy(0, &p);
121109
+ if( p>=&aDoclist[nDoclist] ){
121110
+ *pbEof = 1;
121111
+ }else{
121112
+ sqlite3_int64 iVar;
121113
+ p += sqlite3Fts3GetVarint(p, &iVar);
121114
+ *piDocid += ((bDescIdx ? -1 : 1) * iVar);
121115
+ }
121116
+ }
121117
+
121118
+ *ppIter = p;
121119
+}
121087121120
121088121121
/*
121089121122
** Attempt to move the phrase iterator to point to the next matching docid.
121090121123
** If an error occurs, return an SQLite error code. Otherwise, return
121091121124
** SQLITE_OK.
@@ -122238,30 +122271,91 @@
122238122271
** 0x04 0x05 0x03 0x01 or 0x04 0x05 0x03 0x00
122239122272
**
122240122273
** This function works regardless of whether or not the phrase is deferred,
122241122274
** incremental, or neither.
122242122275
*/
122243
-SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist(
122276
+SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist(
122244122277
Fts3Cursor *pCsr, /* FTS3 cursor object */
122245122278
Fts3Expr *pExpr, /* Phrase to return doclist for */
122246
- int iCol /* Column to return position list for */
122279
+ int iCol, /* Column to return position list for */
122280
+ char **ppOut /* OUT: Pointer to position list */
122247122281
){
122248122282
Fts3Phrase *pPhrase = pExpr->pPhrase;
122249122283
Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
122250
- char *pIter = pPhrase->doclist.pList;
122284
+ char *pIter;
122251122285
int iThis;
122286
+ sqlite3_int64 iDocid;
122252122287
122288
+ /* If this phrase is applies specifically to some column other than
122289
+ ** column iCol, return a NULL pointer. */
122290
+ *ppOut = 0;
122253122291
assert( iCol>=0 && iCol<pTab->nColumn );
122254
- if( !pIter
122255
- || pExpr->bEof
122256
- || pExpr->iDocid!=pCsr->iPrevId
122257
- || (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol)
122258
- ){
122259
- return 0;
122292
+ if( (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol) ){
122293
+ return SQLITE_OK;
122260122294
}
122261122295
122262
- assert( pPhrase->doclist.nList>0 );
122296
+ iDocid = pExpr->iDocid;
122297
+ pIter = pPhrase->doclist.pList;
122298
+ if( iDocid!=pCsr->iPrevId || pExpr->bEof ){
122299
+ int bDescDoclist = pTab->bDescIdx; /* For DOCID_CMP macro */
122300
+ int bOr = 0;
122301
+ u8 bEof = 0;
122302
+ Fts3Expr *p;
122303
+
122304
+ /* Check if this phrase descends from an OR expression node. If not,
122305
+ ** return NULL. Otherwise, the entry that corresponds to docid
122306
+ ** pCsr->iPrevId may lie earlier in the doclist buffer. */
122307
+ for(p=pExpr->pParent; p; p=p->pParent){
122308
+ if( p->eType==FTSQUERY_OR ) bOr = 1;
122309
+ }
122310
+ if( bOr==0 ) return SQLITE_OK;
122311
+
122312
+ /* This is the descendent of an OR node. In this case we cannot use
122313
+ ** an incremental phrase. Load the entire doclist for the phrase
122314
+ ** into memory in this case. */
122315
+ if( pPhrase->bIncr ){
122316
+ int rc = SQLITE_OK;
122317
+ int bEofSave = pExpr->bEof;
122318
+ fts3EvalRestart(pCsr, pExpr, &rc);
122319
+ while( rc==SQLITE_OK && !pExpr->bEof ){
122320
+ fts3EvalNextRow(pCsr, pExpr, &rc);
122321
+ if( bEofSave==0 && pExpr->iDocid==iDocid ) break;
122322
+ }
122323
+ pIter = pPhrase->doclist.pList;
122324
+ assert( rc!=SQLITE_OK || pPhrase->bIncr==0 );
122325
+ if( rc!=SQLITE_OK ) return rc;
122326
+ }
122327
+
122328
+ if( pExpr->bEof ){
122329
+ pIter = 0;
122330
+ iDocid = 0;
122331
+ }
122332
+ bEof = (pPhrase->doclist.nAll==0);
122333
+ assert( bDescDoclist==0 || bDescDoclist==1 );
122334
+ assert( pCsr->bDesc==0 || pCsr->bDesc==1 );
122335
+
122336
+ if( pCsr->bDesc==bDescDoclist ){
122337
+ int dummy;
122338
+ while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)>0 ) && bEof==0 ){
122339
+ sqlite3Fts3DoclistPrev(
122340
+ bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll,
122341
+ &pIter, &iDocid, &dummy, &bEof
122342
+ );
122343
+ }
122344
+ }else{
122345
+ while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)<0 ) && bEof==0 ){
122346
+ sqlite3Fts3DoclistNext(
122347
+ bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll,
122348
+ &pIter, &iDocid, &bEof
122349
+ );
122350
+ }
122351
+ }
122352
+
122353
+ if( bEof || iDocid!=pCsr->iPrevId ) pIter = 0;
122354
+ }
122355
+ if( pIter==0 ) return SQLITE_OK;
122356
+
122263122357
if( *pIter==0x01 ){
122264122358
pIter++;
122265122359
pIter += sqlite3Fts3GetVarint32(pIter, &iThis);
122266122360
}else{
122267122361
iThis = 0;
@@ -122271,11 +122365,12 @@
122271122365
if( *pIter==0x00 ) return 0;
122272122366
pIter++;
122273122367
pIter += sqlite3Fts3GetVarint32(pIter, &iThis);
122274122368
}
122275122369
122276
- return ((iCol==iThis)?pIter:0);
122370
+ *ppOut = ((iCol==iThis)?pIter:0);
122371
+ return SQLITE_OK;
122277122372
}
122278122373
122279122374
/*
122280122375
** Free all components of the Fts3Phrase structure that were allocated by
122281122376
** the eval module. Specifically, this means to free:
@@ -131318,14 +131413,15 @@
131318131413
*/
131319131414
static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){
131320131415
SnippetIter *p = (SnippetIter *)ctx;
131321131416
SnippetPhrase *pPhrase = &p->aPhrase[iPhrase];
131322131417
char *pCsr;
131418
+ int rc;
131323131419
131324131420
pPhrase->nToken = pExpr->pPhrase->nToken;
131325
-
131326
- pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol);
131421
+ rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pCsr);
131422
+ assert( rc==SQLITE_OK || pCsr==0 );
131327131423
if( pCsr ){
131328131424
int iFirst = 0;
131329131425
pPhrase->pList = pCsr;
131330131426
fts3GetDeltaPosition(&pCsr, &iFirst);
131331131427
assert( iFirst>=0 );
@@ -131332,14 +131428,16 @@
131332131428
pPhrase->pHead = pCsr;
131333131429
pPhrase->pTail = pCsr;
131334131430
pPhrase->iHead = iFirst;
131335131431
pPhrase->iTail = iFirst;
131336131432
}else{
131337
- assert( pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 );
131433
+ assert( rc!=SQLITE_OK || (
131434
+ pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
131435
+ ));
131338131436
}
131339131437
131340
- return SQLITE_OK;
131438
+ return rc;
131341131439
}
131342131440
131343131441
/*
131344131442
** Select the fragment of text consisting of nFragment contiguous tokens
131345131443
** from column iCol that represent the "best" snippet. The best snippet
@@ -131728,25 +131826,26 @@
131728131826
static int fts3ExprLocalHitsCb(
131729131827
Fts3Expr *pExpr, /* Phrase expression node */
131730131828
int iPhrase, /* Phrase number */
131731131829
void *pCtx /* Pointer to MatchInfo structure */
131732131830
){
131831
+ int rc = SQLITE_OK;
131733131832
MatchInfo *p = (MatchInfo *)pCtx;
131734131833
int iStart = iPhrase * p->nCol * 3;
131735131834
int i;
131736131835
131737
- for(i=0; i<p->nCol; i++){
131836
+ for(i=0; i<p->nCol && rc==SQLITE_OK; i++){
131738131837
char *pCsr;
131739
- pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i);
131838
+ rc = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i, &pCsr);
131740131839
if( pCsr ){
131741131840
p->aMatchinfo[iStart+i*3] = fts3ColumnlistCount(&pCsr);
131742131841
}else{
131743131842
p->aMatchinfo[iStart+i*3] = 0;
131744131843
}
131745131844
}
131746131845
131747
- return SQLITE_OK;
131846
+ return rc;
131748131847
}
131749131848
131750131849
static int fts3MatchinfoCheck(
131751131850
Fts3Table *pTab,
131752131851
char cArg,
@@ -131903,12 +132002,14 @@
131903132002
for(iCol=0; iCol<pInfo->nCol; iCol++){
131904132003
int nLcs = 0; /* LCS value for this column */
131905132004
int nLive = 0; /* Number of iterators in aIter not at EOF */
131906132005
131907132006
for(i=0; i<pInfo->nPhrase; i++){
132007
+ int rc;
131908132008
LcsIterator *pIt = &aIter[i];
131909
- pIt->pRead = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol);
132009
+ rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead);
132010
+ if( rc!=SQLITE_OK ) return rc;
131910132011
if( pIt->pRead ){
131911132012
pIt->iPos = pIt->iPosOffset;
131912132013
fts3LcsIteratorAdvance(&aIter[i]);
131913132014
nLive++;
131914132015
}
@@ -132256,13 +132357,14 @@
132256132357
TermOffsetCtx *p = (TermOffsetCtx *)ctx;
132257132358
int nTerm; /* Number of tokens in phrase */
132258132359
int iTerm; /* For looping through nTerm phrase terms */
132259132360
char *pList; /* Pointer to position list for phrase */
132260132361
int iPos = 0; /* First position in position-list */
132362
+ int rc;
132261132363
132262132364
UNUSED_PARAMETER(iPhrase);
132263
- pList = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol);
132365
+ rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
132264132366
nTerm = pExpr->pPhrase->nToken;
132265132367
if( pList ){
132266132368
fts3GetDeltaPosition(&pList, &iPos);
132267132369
assert( iPos>=0 );
132268132370
}
@@ -132272,11 +132374,11 @@
132272132374
pT->iOff = nTerm-iTerm-1;
132273132375
pT->pList = pList;
132274132376
pT->iPos = iPos;
132275132377
}
132276132378
132277
- return SQLITE_OK;
132379
+ return rc;
132278132380
}
132279132381
132280132382
/*
132281132383
** Implementation of offsets() function.
132282132384
*/
132283132385
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -657,11 +657,11 @@
657 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
658 ** [sqlite_version()] and [sqlite_source_id()].
659 */
660 #define SQLITE_VERSION "3.7.12"
661 #define SQLITE_VERSION_NUMBER 3007012
662 #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e"
663
664 /*
665 ** CAPI3REF: Run-Time Library Version Numbers
666 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
667 **
@@ -6563,11 +6563,11 @@
6563 ** been written to disk. Specifically, the number of pages written to the
6564 ** wal file in wal mode databases, or the number of pages written to the
6565 ** database file in rollback mode databases. Any pages written as part of
6566 ** transaction rollback or database recovery operations are not included.
6567 ** If an IO or other error occurs while writing a page to disk, the effect
6568 ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The
6569 ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
6570 ** </dd>
6571 ** </dl>
6572 */
6573 #define SQLITE_DBSTATUS_LOOKASIDE_USED 0
@@ -104675,11 +104675,10 @@
104675 if( pIdx->onError!=OE_None && i==pIdx->nColumn
104676 && (wsFlags & WHERE_COLUMN_NULL)==0
104677 && !referencesOtherTables(pOrderBy, pMaskSet, j, base)
104678 ){
104679 Column *aCol = pIdx->pTable->aCol;
104680 int i;
104681
104682 /* All terms of this index match some prefix of the ORDER BY clause,
104683 ** the index is UNIQUE, and no terms on the tail of the ORDER BY
104684 ** refer to other tables in a join. So, assuming that the index entries
104685 ** visited contain no NULL values, then this index delivers rows in
@@ -108444,11 +108443,11 @@
108444 #endif
108445 #define sqlite3ParserARG_SDECL Parse *pParse;
108446 #define sqlite3ParserARG_PDECL ,Parse *pParse
108447 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse
108448 #define sqlite3ParserARG_STORE yypParser->pParse = pParse
108449 #define YYNSTATE 630
108450 #define YYNRULE 327
108451 #define YYFALLBACK 1
108452 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
108453 #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
108454 #define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
@@ -108515,479 +108514,478 @@
108515 ** shifting terminals.
108516 ** yy_reduce_ofst[] For each state, the offset into yy_action for
108517 ** shifting non-terminals after a reduce.
108518 ** yy_default[] Default action for each state.
108519 */
108520 #define YY_ACTTAB_COUNT (1562)
108521 static const YYACTIONTYPE yy_action[] = {
108522 /* 0 */ 312, 330, 575, 574, 15, 171, 186, 597, 56, 56,
108523 /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52,
108524 /* 20 */ 52, 52, 51, 235, 52, 52, 52, 51, 235, 627,
108525 /* 30 */ 590, 584, 56, 56, 56, 56, 316, 54, 54, 54,
108526 /* 40 */ 54, 53, 53, 52, 52, 52, 51, 235, 301, 57,
108527 /* 50 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108528 /* 60 */ 56, 56, 571, 54, 54, 54, 54, 53, 53, 52,
108529 /* 70 */ 52, 52, 51, 235, 312, 597, 328, 198, 197, 196,
108530 /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108531 /* 90 */ 51, 235, 53, 53, 52, 52, 52, 51, 235, 492,
108532 /* 100 */ 597, 441, 66, 237, 590, 584, 597, 299, 365, 59,
108533 /* 110 */ 482, 67, 362, 1, 621, 353, 621, 623, 622, 516,
108534 /* 120 */ 515, 442, 443, 57, 58, 48, 582, 581, 583, 583,
108535 /* 130 */ 55, 55, 56, 56, 56, 56, 608, 54, 54, 54,
108536 /* 140 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 225,
108537 /* 150 */ 618, 617, 616, 176, 138, 283, 386, 278, 385, 168,
108538 /* 160 */ 492, 554, 623, 622, 623, 622, 274, 441, 597, 412,
108539 /* 170 */ 553, 607, 67, 215, 597, 621, 506, 507, 590, 584,
108540 /* 180 */ 444, 571, 621, 391, 415, 620, 619, 442, 338, 623,
108541 /* 190 */ 622, 392, 601, 92, 224, 193, 671, 57, 58, 48,
108542 /* 200 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56,
108543 /* 210 */ 672, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108544 /* 220 */ 51, 235, 312, 262, 234, 233, 505, 132, 486, 510,
108545 /* 230 */ 620, 619, 620, 619, 399, 438, 487, 566, 621, 389,
108546 /* 240 */ 412, 384, 440, 532, 439, 602, 339, 571, 504, 603,
108547 /* 250 */ 203, 533, 590, 584, 45, 415, 548, 620, 619, 383,
108548 /* 260 */ 380, 379, 6, 601, 92, 526, 261, 572, 572, 595,
108549 /* 270 */ 378, 57, 58, 48, 582, 581, 583, 583, 55, 55,
108550 /* 280 */ 56, 56, 56, 56, 600, 54, 54, 54, 54, 53,
108551 /* 290 */ 53, 52, 52, 52, 51, 235, 312, 466, 326, 561,
108552 /* 300 */ 593, 593, 593, 282, 311, 399, 412, 568, 493, 214,
108553 /* 310 */ 400, 623, 622, 68, 281, 560, 7, 623, 622, 167,
108554 /* 320 */ 577, 415, 65, 408, 575, 574, 590, 584, 673, 601,
108555 /* 330 */ 92, 559, 410, 520, 579, 579, 306, 425, 623, 622,
108556 /* 340 */ 208, 572, 572, 467, 519, 57, 58, 48, 582, 581,
108557 /* 350 */ 583, 583, 55, 55, 56, 56, 56, 56, 576, 54,
108558 /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235,
108559 /* 370 */ 312, 399, 412, 317, 600, 412, 350, 549, 578, 620,
108560 /* 380 */ 619, 423, 204, 175, 571, 620, 619, 415, 551, 355,
108561 /* 390 */ 415, 257, 349, 256, 174, 601, 74, 354, 601, 91,
108562 /* 400 */ 590, 584, 237, 467, 621, 547, 620, 619, 164, 623,
108563 /* 410 */ 622, 544, 62, 39, 251, 580, 600, 348, 555, 57,
108564 /* 420 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108565 /* 430 */ 56, 56, 565, 54, 54, 54, 54, 53, 53, 52,
108566 /* 440 */ 52, 52, 51, 235, 312, 554, 182, 145, 531, 292,
108567 /* 450 */ 231, 257, 349, 256, 553, 221, 412, 181, 248, 549,
108568 /* 460 */ 250, 412, 237, 50, 47, 146, 412, 410, 412, 579,
108569 /* 470 */ 579, 415, 549, 567, 590, 584, 415, 620, 619, 601,
108570 /* 480 */ 16, 415, 189, 415, 601, 92, 268, 36, 544, 601,
108571 /* 490 */ 92, 601, 73, 57, 58, 48, 582, 581, 583, 583,
108572 /* 500 */ 55, 55, 56, 56, 56, 56, 187, 54, 54, 54,
108573 /* 510 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 564,
108574 /* 520 */ 397, 410, 528, 579, 579, 561, 395, 535, 201, 145,
108575 /* 530 */ 264, 320, 266, 388, 375, 410, 249, 579, 579, 236,
108576 /* 540 */ 40, 560, 38, 50, 47, 146, 19, 606, 590, 584,
108577 /* 550 */ 422, 948, 563, 948, 549, 496, 472, 559, 602, 403,
108578 /* 560 */ 422, 947, 603, 947, 562, 167, 200, 57, 58, 48,
108579 /* 570 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56,
108580 /* 580 */ 156, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108581 /* 590 */ 51, 235, 312, 262, 412, 426, 511, 208, 347, 492,
108582 /* 600 */ 600, 50, 47, 146, 410, 426, 579, 579, 621, 415,
108583 /* 610 */ 430, 67, 199, 143, 621, 166, 474, 601, 69, 317,
108584 /* 620 */ 475, 435, 590, 584, 274, 234, 233, 958, 184, 420,
108585 /* 630 */ 2, 600, 358, 552, 366, 470, 336, 476, 476, 368,
108586 /* 640 */ 359, 57, 58, 48, 582, 581, 583, 583, 55, 55,
108587 /* 650 */ 56, 56, 56, 56, 354, 54, 54, 54, 54, 53,
108588 /* 660 */ 53, 52, 52, 52, 51, 235, 312, 412, 572, 572,
108589 /* 670 */ 271, 412, 558, 874, 361, 213, 143, 412, 50, 47,
108590 /* 680 */ 146, 30, 415, 540, 355, 334, 415, 412, 629, 2,
108591 /* 690 */ 601, 94, 415, 513, 601, 97, 590, 584, 621, 621,
108592 /* 700 */ 601, 95, 415, 306, 424, 630, 628, 332, 173, 269,
108593 /* 710 */ 601, 104, 171, 546, 597, 57, 58, 48, 582, 581,
108594 /* 720 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54,
108595 /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235,
108596 /* 740 */ 312, 412, 275, 415, 412, 22, 329, 340, 423, 544,
108597 /* 750 */ 217, 601, 103, 568, 407, 214, 415, 621, 35, 415,
108598 /* 760 */ 412, 540, 412, 12, 601, 105, 237, 601, 106, 11,
108599 /* 770 */ 590, 584, 50, 47, 146, 415, 621, 415, 353, 325,
108600 /* 780 */ 164, 129, 597, 601, 133, 601, 134, 207, 287, 57,
108601 /* 790 */ 58, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108602 /* 800 */ 56, 56, 412, 54, 54, 54, 54, 53, 53, 52,
108603 /* 810 */ 52, 52, 51, 235, 312, 412, 275, 415, 412, 275,
108604 /* 820 */ 275, 600, 275, 544, 367, 601, 98, 542, 412, 170,
108605 /* 830 */ 415, 621, 524, 415, 621, 621, 169, 621, 601, 102,
108606 /* 840 */ 604, 601, 101, 415, 590, 584, 352, 21, 500, 32,
108607 /* 850 */ 166, 601, 93, 223, 318, 147, 324, 323, 272, 322,
108608 /* 860 */ 166, 205, 285, 57, 58, 48, 582, 581, 583, 583,
108609 /* 870 */ 55, 55, 56, 56, 56, 56, 412, 54, 54, 54,
108610 /* 880 */ 54, 53, 53, 52, 52, 52, 51, 235, 312, 412,
108611 /* 890 */ 262, 415, 412, 538, 360, 600, 360, 202, 142, 601,
108612 /* 900 */ 100, 376, 412, 166, 415, 621, 540, 415, 360, 621,
108613 /* 910 */ 141, 621, 601, 77, 230, 601, 96, 415, 590, 584,
108614 /* 920 */ 341, 621, 530, 621, 529, 601, 137, 471, 382, 166,
108615 /* 930 */ 460, 600, 170, 453, 427, 307, 28, 57, 58, 48,
108616 /* 940 */ 582, 581, 583, 583, 55, 55, 56, 56, 56, 56,
108617 /* 950 */ 412, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108618 /* 960 */ 51, 235, 312, 412, 503, 415, 412, 212, 459, 321,
108619 /* 970 */ 35, 211, 127, 601, 136, 428, 412, 308, 415, 412,
108620 /* 980 */ 273, 415, 222, 126, 255, 27, 601, 135, 377, 601,
108621 /* 990 */ 76, 415, 590, 584, 415, 262, 220, 51, 235, 601,
108622 /* 1000 */ 90, 600, 601, 89, 125, 600, 281, 522, 521, 373,
108623 /* 1010 */ 621, 57, 46, 48, 582, 581, 583, 583, 55, 55,
108624 /* 1020 */ 56, 56, 56, 56, 412, 54, 54, 54, 54, 53,
108625 /* 1030 */ 53, 52, 52, 52, 51, 235, 312, 412, 451, 415,
108626 /* 1040 */ 165, 624, 612, 611, 469, 521, 480, 601, 75, 185,
108627 /* 1050 */ 412, 122, 415, 412, 369, 412, 621, 621, 621, 477,
108628 /* 1060 */ 601, 88, 589, 588, 170, 415, 590, 584, 415, 121,
108629 /* 1070 */ 415, 473, 259, 601, 87, 159, 601, 99, 601, 86,
108630 /* 1080 */ 628, 332, 120, 14, 586, 585, 58, 48, 582, 581,
108631 /* 1090 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54,
108632 /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 235,
108633 /* 1110 */ 312, 587, 412, 415, 412, 465, 262, 262, 610, 605,
108634 /* 1120 */ 158, 601, 17, 157, 412, 462, 25, 415, 118, 415,
108635 /* 1130 */ 412, 621, 621, 621, 621, 601, 85, 601, 84, 415,
108636 /* 1140 */ 590, 584, 411, 262, 24, 415, 117, 601, 83, 10,
108637 /* 1150 */ 351, 4, 115, 601, 72, 458, 456, 621, 621, 450,
108638 /* 1160 */ 449, 48, 582, 581, 583, 583, 55, 55, 56, 56,
108639 /* 1170 */ 56, 56, 253, 54, 54, 54, 54, 53, 53, 52,
108640 /* 1180 */ 52, 52, 51, 235, 44, 406, 219, 3, 412, 452,
108641 /* 1190 */ 262, 416, 622, 154, 594, 110, 107, 108, 401, 446,
108642 /* 1200 */ 64, 557, 409, 415, 412, 621, 437, 44, 406, 621,
108643 /* 1210 */ 3, 601, 71, 621, 416, 622, 621, 545, 335, 415,
108644 /* 1220 */ 436, 404, 149, 239, 262, 409, 188, 601, 82, 331,
108645 /* 1230 */ 541, 566, 621, 218, 421, 539, 229, 139, 124, 621,
108646 /* 1240 */ 148, 419, 626, 625, 404, 621, 412, 238, 315, 123,
108647 /* 1250 */ 621, 41, 42, 534, 566, 206, 412, 277, 43, 414,
108648 /* 1260 */ 413, 415, 509, 595, 314, 615, 180, 245, 614, 601,
108649 /* 1270 */ 81, 415, 621, 276, 41, 42, 613, 621, 412, 601,
108650 /* 1280 */ 80, 43, 414, 413, 179, 270, 595, 418, 621, 600,
108651 /* 1290 */ 484, 8, 177, 415, 593, 593, 593, 592, 591, 13,
108652 /* 1300 */ 621, 601, 70, 417, 237, 621, 44, 406, 267, 3,
108653 /* 1310 */ 237, 265, 342, 416, 622, 599, 296, 593, 593, 593,
108654 /* 1320 */ 592, 591, 13, 621, 409, 412, 621, 412, 396, 34,
108655 /* 1330 */ 406, 412, 3, 31, 30, 294, 416, 622, 293, 333,
108656 /* 1340 */ 415, 263, 415, 404, 398, 258, 415, 409, 601, 18,
108657 /* 1350 */ 601, 79, 363, 566, 601, 78, 621, 295, 60, 37,
108658 /* 1360 */ 621, 172, 464, 390, 463, 598, 404, 621, 356, 288,
108659 /* 1370 */ 232, 29, 556, 41, 42, 252, 566, 621, 415, 621,
108660 /* 1380 */ 43, 414, 413, 621, 455, 595, 601, 9, 183, 61,
108661 /* 1390 */ 621, 543, 445, 623, 622, 244, 41, 42, 241, 621,
108662 /* 1400 */ 240, 393, 286, 43, 414, 413, 284, 621, 595, 431,
108663 /* 1410 */ 621, 291, 537, 621, 536, 621, 593, 593, 593, 592,
108664 /* 1420 */ 591, 13, 216, 144, 621, 387, 621, 304, 303, 302,
108665 /* 1430 */ 178, 300, 394, 566, 454, 517, 290, 523, 621, 593,
108666 /* 1440 */ 593, 593, 592, 591, 13, 518, 327, 621, 150, 279,
108667 /* 1450 */ 243, 621, 514, 192, 191, 513, 512, 310, 128, 242,
108668 /* 1460 */ 228, 526, 227, 226, 490, 595, 494, 489, 488, 309,
108669 /* 1470 */ 194, 164, 152, 163, 467, 374, 481, 372, 153, 162,
108670 /* 1480 */ 161, 151, 210, 479, 260, 370, 26, 478, 160, 468,
108671 /* 1490 */ 364, 140, 119, 116, 131, 457, 593, 593, 593, 155,
108672 /* 1500 */ 114, 346, 345, 113, 112, 111, 448, 109, 130, 23,
108673 /* 1510 */ 319, 20, 434, 433, 432, 63, 429, 609, 190, 510,
108674 /* 1520 */ 596, 405, 257, 344, 246, 297, 280, 573, 313, 570,
108675 /* 1530 */ 195, 499, 498, 237, 497, 495, 381, 289, 461, 247,
108676 /* 1540 */ 357, 254, 305, 343, 5, 447, 569, 209, 550, 371,
108677 /* 1550 */ 508, 491, 402, 502, 501, 298, 337, 527, 525, 485,
108678 /* 1560 */ 483, 235,
108679 };
108680 static const YYCODETYPE yy_lookahead[] = {
108681 /* 0 */ 19, 169, 170, 171, 22, 24, 24, 26, 77, 78,
108682 /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
108683 /* 20 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 1,
108684 /* 30 */ 49, 50, 77, 78, 79, 80, 155, 82, 83, 84,
108685 /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 15, 68,
108686 /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108687 /* 60 */ 79, 80, 230, 82, 83, 84, 85, 86, 87, 88,
108688 /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107,
108689 /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108690 /* 90 */ 91, 92, 86, 87, 88, 89, 90, 91, 92, 150,
108691 /* 100 */ 26, 150, 22, 116, 49, 50, 26, 158, 227, 54,
108692 /* 110 */ 161, 162, 231, 22, 165, 128, 165, 26, 27, 7,
108693 /* 120 */ 8, 170, 171, 68, 69, 70, 71, 72, 73, 74,
108694 /* 130 */ 75, 76, 77, 78, 79, 80, 23, 82, 83, 84,
108695 /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92,
108696 /* 150 */ 7, 8, 9, 96, 97, 98, 99, 100, 101, 102,
108697 /* 160 */ 150, 32, 26, 27, 26, 27, 109, 150, 94, 150,
108698 /* 170 */ 41, 161, 162, 22, 94, 165, 97, 98, 49, 50,
108699 /* 180 */ 229, 230, 165, 19, 165, 94, 95, 170, 171, 26,
108700 /* 190 */ 27, 27, 173, 174, 184, 185, 118, 68, 69, 70,
108701 /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108702 /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108703 /* 220 */ 91, 92, 19, 150, 86, 87, 36, 24, 180, 181,
108704 /* 230 */ 94, 95, 94, 95, 215, 97, 188, 66, 165, 220,
108705 /* 240 */ 150, 51, 104, 23, 106, 113, 229, 230, 58, 117,
108706 /* 250 */ 160, 88, 49, 50, 22, 165, 120, 94, 95, 99,
108707 /* 260 */ 100, 101, 22, 173, 174, 94, 193, 129, 130, 98,
108708 /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108709 /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86,
108710 /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 108, 12,
108711 /* 300 */ 129, 130, 131, 98, 163, 215, 150, 166, 167, 168,
108712 /* 310 */ 220, 26, 27, 22, 109, 28, 76, 26, 27, 50,
108713 /* 320 */ 23, 165, 25, 169, 170, 171, 49, 50, 118, 173,
108714 /* 330 */ 174, 44, 112, 46, 114, 115, 22, 23, 26, 27,
108715 /* 340 */ 160, 129, 130, 57, 57, 68, 69, 70, 71, 72,
108716 /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82,
108717 /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108718 /* 370 */ 19, 215, 150, 104, 194, 150, 220, 25, 23, 94,
108719 /* 380 */ 95, 67, 160, 118, 230, 94, 95, 165, 25, 150,
108720 /* 390 */ 165, 105, 106, 107, 118, 173, 174, 217, 173, 174,
108721 /* 400 */ 49, 50, 116, 57, 165, 120, 94, 95, 96, 26,
108722 /* 410 */ 27, 166, 232, 136, 16, 113, 194, 237, 176, 68,
108723 /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108724 /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88,
108725 /* 440 */ 89, 90, 91, 92, 19, 32, 23, 95, 23, 224,
108726 /* 450 */ 205, 105, 106, 107, 41, 216, 150, 23, 60, 25,
108727 /* 460 */ 62, 150, 116, 221, 222, 223, 150, 112, 150, 114,
108728 /* 470 */ 115, 165, 120, 23, 49, 50, 165, 94, 95, 173,
108729 /* 480 */ 174, 165, 119, 165, 173, 174, 16, 136, 166, 173,
108730 /* 490 */ 174, 173, 174, 68, 69, 70, 71, 72, 73, 74,
108731 /* 500 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84,
108732 /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 11,
108733 /* 520 */ 214, 112, 23, 114, 115, 12, 215, 205, 22, 95,
108734 /* 530 */ 60, 215, 62, 88, 19, 112, 138, 114, 115, 197,
108735 /* 540 */ 135, 28, 137, 221, 222, 223, 204, 172, 49, 50,
108736 /* 550 */ 22, 23, 23, 25, 120, 180, 21, 44, 113, 46,
108737 /* 560 */ 22, 23, 117, 25, 23, 50, 160, 68, 69, 70,
108738 /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108739 /* 580 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108740 /* 590 */ 91, 92, 19, 150, 150, 67, 23, 160, 63, 150,
108741 /* 600 */ 194, 221, 222, 223, 112, 67, 114, 115, 165, 165,
108742 /* 610 */ 161, 162, 206, 207, 165, 25, 30, 173, 174, 104,
108743 /* 620 */ 34, 241, 49, 50, 109, 86, 87, 142, 143, 144,
108744 /* 630 */ 145, 194, 19, 176, 48, 100, 193, 105, 106, 107,
108745 /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108746 /* 650 */ 77, 78, 79, 80, 217, 82, 83, 84, 85, 86,
108747 /* 660 */ 87, 88, 89, 90, 91, 92, 19, 150, 129, 130,
108748 /* 670 */ 23, 150, 23, 138, 237, 206, 207, 150, 221, 222,
108749 /* 680 */ 223, 126, 165, 150, 150, 242, 165, 150, 144, 145,
108750 /* 690 */ 173, 174, 165, 103, 173, 174, 49, 50, 165, 165,
108751 /* 700 */ 173, 174, 165, 22, 23, 0, 1, 2, 25, 25,
108752 /* 710 */ 173, 174, 24, 120, 26, 68, 69, 70, 71, 72,
108753 /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
108754 /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108755 /* 740 */ 19, 150, 150, 165, 150, 24, 213, 97, 67, 166,
108756 /* 750 */ 216, 173, 174, 166, 167, 168, 165, 165, 25, 165,
108757 /* 760 */ 150, 150, 150, 35, 173, 174, 116, 173, 174, 35,
108758 /* 770 */ 49, 50, 221, 222, 223, 165, 165, 165, 128, 187,
108759 /* 780 */ 96, 22, 94, 173, 174, 173, 174, 160, 205, 68,
108760 /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108761 /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88,
108762 /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 150, 150,
108763 /* 820 */ 150, 194, 150, 166, 213, 173, 174, 23, 150, 25,
108764 /* 830 */ 165, 165, 165, 165, 165, 165, 35, 165, 173, 174,
108765 /* 840 */ 173, 173, 174, 165, 49, 50, 219, 52, 23, 25,
108766 /* 850 */ 25, 173, 174, 187, 245, 246, 187, 187, 23, 187,
108767 /* 860 */ 25, 160, 205, 68, 69, 70, 71, 72, 73, 74,
108768 /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84,
108769 /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150,
108770 /* 890 */ 150, 165, 150, 27, 150, 194, 150, 160, 118, 173,
108771 /* 900 */ 174, 23, 150, 25, 165, 165, 150, 165, 150, 165,
108772 /* 910 */ 39, 165, 173, 174, 52, 173, 174, 165, 49, 50,
108773 /* 920 */ 219, 165, 23, 165, 23, 173, 174, 23, 52, 25,
108774 /* 930 */ 23, 194, 25, 193, 247, 248, 22, 68, 69, 70,
108775 /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108776 /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108777 /* 960 */ 91, 92, 19, 150, 29, 165, 150, 160, 23, 213,
108778 /* 970 */ 25, 160, 22, 173, 174, 23, 150, 25, 165, 150,
108779 /* 980 */ 23, 165, 238, 22, 238, 22, 173, 174, 52, 173,
108780 /* 990 */ 174, 165, 49, 50, 165, 150, 238, 91, 92, 173,
108781 /* 1000 */ 174, 194, 173, 174, 22, 194, 109, 190, 191, 19,
108782 /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108783 /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86,
108784 /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165,
108785 /* 1040 */ 102, 150, 150, 150, 190, 191, 20, 173, 174, 24,
108786 /* 1050 */ 150, 104, 165, 150, 43, 150, 165, 165, 165, 59,
108787 /* 1060 */ 173, 174, 49, 50, 25, 165, 49, 50, 165, 53,
108788 /* 1070 */ 165, 53, 138, 173, 174, 104, 173, 174, 173, 174,
108789 /* 1080 */ 1, 2, 22, 5, 71, 72, 69, 70, 71, 72,
108790 /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
108791 /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108792 /* 1110 */ 19, 98, 150, 165, 150, 1, 150, 150, 150, 150,
108793 /* 1120 */ 118, 173, 174, 35, 150, 27, 76, 165, 108, 165,
108794 /* 1130 */ 150, 165, 165, 165, 165, 173, 174, 173, 174, 165,
108795 /* 1140 */ 49, 50, 150, 150, 76, 165, 127, 173, 174, 22,
108796 /* 1150 */ 25, 22, 119, 173, 174, 23, 1, 165, 165, 193,
108797 /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108798 /* 1170 */ 79, 80, 16, 82, 83, 84, 85, 86, 87, 88,
108799 /* 1180 */ 89, 90, 91, 92, 19, 20, 193, 22, 150, 20,
108800 /* 1190 */ 150, 26, 27, 121, 150, 119, 127, 108, 150, 128,
108801 /* 1200 */ 16, 150, 37, 165, 150, 165, 23, 19, 20, 165,
108802 /* 1210 */ 22, 173, 174, 165, 26, 27, 165, 150, 65, 165,
108803 /* 1220 */ 23, 56, 15, 140, 150, 37, 22, 173, 174, 3,
108804 /* 1230 */ 150, 66, 165, 193, 4, 150, 179, 164, 179, 165,
108805 /* 1240 */ 246, 146, 147, 149, 56, 165, 150, 152, 249, 154,
108806 /* 1250 */ 165, 86, 87, 88, 66, 160, 150, 150, 93, 94,
108807 /* 1260 */ 95, 165, 150, 98, 249, 149, 6, 193, 149, 173,
108808 /* 1270 */ 174, 165, 165, 150, 86, 87, 13, 165, 150, 173,
108809 /* 1280 */ 174, 93, 94, 95, 151, 150, 98, 149, 165, 194,
108810 /* 1290 */ 150, 25, 151, 165, 129, 130, 131, 132, 133, 134,
108811 /* 1300 */ 165, 173, 174, 159, 116, 165, 19, 20, 150, 22,
108812 /* 1310 */ 116, 150, 217, 26, 27, 194, 199, 129, 130, 131,
108813 /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 123, 19,
108814 /* 1330 */ 20, 150, 22, 124, 126, 201, 26, 27, 202, 244,
108815 /* 1340 */ 165, 150, 165, 56, 122, 150, 165, 37, 173, 174,
108816 /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 200, 125, 135,
108817 /* 1360 */ 165, 118, 150, 150, 150, 203, 56, 165, 150, 210,
108818 /* 1370 */ 225, 104, 157, 86, 87, 150, 66, 165, 165, 165,
108819 /* 1380 */ 93, 94, 95, 165, 150, 98, 173, 174, 157, 22,
108820 /* 1390 */ 165, 211, 150, 26, 27, 150, 86, 87, 150, 165,
108821 /* 1400 */ 150, 121, 210, 93, 94, 95, 210, 165, 98, 150,
108822 /* 1410 */ 165, 150, 211, 165, 211, 165, 129, 130, 131, 132,
108823 /* 1420 */ 133, 134, 5, 150, 165, 104, 165, 10, 11, 12,
108824 /* 1430 */ 13, 14, 150, 66, 17, 183, 150, 175, 165, 129,
108825 /* 1440 */ 130, 131, 132, 133, 134, 175, 47, 165, 31, 175,
108826 /* 1450 */ 33, 165, 177, 86, 87, 103, 175, 178, 22, 42,
108827 /* 1460 */ 228, 94, 92, 228, 175, 98, 183, 175, 175, 178,
108828 /* 1470 */ 185, 96, 55, 156, 57, 18, 157, 157, 61, 156,
108829 /* 1480 */ 156, 64, 157, 157, 235, 45, 135, 236, 156, 189,
108830 /* 1490 */ 157, 68, 189, 22, 218, 199, 129, 130, 131, 156,
108831 /* 1500 */ 192, 157, 18, 192, 192, 192, 199, 189, 218, 240,
108832 /* 1510 */ 157, 240, 40, 157, 157, 243, 38, 153, 196, 181,
108833 /* 1520 */ 166, 226, 105, 106, 107, 198, 176, 230, 111, 230,
108834 /* 1530 */ 185, 176, 166, 116, 176, 166, 177, 209, 199, 209,
108835 /* 1540 */ 239, 239, 148, 209, 196, 199, 166, 233, 208, 234,
108836 /* 1550 */ 182, 186, 191, 182, 182, 195, 139, 173, 173, 186,
108837 /* 1560 */ 186, 92,
108838 };
108839 #define YY_SHIFT_USE_DFLT (-70)
108840 #define YY_SHIFT_COUNT (419)
108841 #define YY_SHIFT_MIN (-69)
108842 #define YY_SHIFT_MAX (1484)
108843 static const short yy_shift_ofst[] = {
108844 /* 0 */ 1079, 1188, 1417, 1188, 1287, 1287, 138, 138, 312, -19,
108845 /* 10 */ 1287, 1287, 1287, 1287, 346, 383, 129, 129, 795, 1165,
108846 /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108847 /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108848 /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287,
108849 /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108850 /* 60 */ 1287, 1287, 286, 383, 383, 539, 539, 74, 1194, 55,
108851 /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869,
108852 /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869,
108853 /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45,
108854 /* 100 */ -45, -45, -45, -45, -1, 6, -64, 383, 383, 383,
108855 /* 110 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108856 /* 120 */ 383, 383, 383, 535, 515, 383, 383, 383, 383, 383,
108857 /* 130 */ 650, -13, 74, 906, 1469, -70, -70, -70, 1367, 57,
108858 /* 140 */ 287, 287, 163, 291, 285, 136, 91, 538, 528, 383,
108859 /* 150 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108860 /* 160 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108861 /* 170 */ 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
108862 /* 180 */ 383, 688, 688, 688, 705, 1194, 1194, 1194, -70, -70,
108863 /* 190 */ -70, 171, 171, 160, 160, 160, 190, 190, 190, 434,
108864 /* 200 */ 423, 513, 409, 355, 220, 492, 492, 492, 492, 532,
108865 /* 210 */ 586, 492, 492, 352, 80, 445, 143, 555, 164, 164,
108866 /* 220 */ 613, 555, 613, 590, 684, 74, 413, 74, 413, 269,
108867 /* 230 */ 413, 164, 405, 212, 212, 74, 363, 132, -18, 1478,
108868 /* 240 */ 1243, 1243, 1472, 1472, 1243, 1471, 1423, 1208, 1484, 1484,
108869 /* 250 */ 1484, 1484, 1243, 1457, 1208, 1471, 1423, 1423, 1243, 1457,
108870 /* 260 */ 1351, 1440, 1243, 1243, 1457, 1243, 1457, 1243, 1457, 1375,
108871 /* 270 */ 1436, 1321, 1321, 1321, 1399, 1370, 1370, 1436, 1321, 1352,
108872 /* 280 */ 1321, 1399, 1321, 1321, 1280, 1267, 1280, 1267, 1280, 1267,
108873 /* 290 */ 1243, 1243, 1224, 1233, 1222, 1209, 1205, 1208, 1194, 1266,
108874 /* 300 */ 1263, 1263, 1260, 1260, 1260, 1260, -70, -70, -70, -70,
108875 /* 310 */ -70, -70, 1013, 398, 681, 314, 470, -28, 952, 240,
108876 /* 320 */ 945, 907, 904, 878, 835, 825, 79, 112, 205, 804,
108877 /* 330 */ 297, 1230, 1226, 1204, 1083, 1207, 1153, 1184, 1197, 1183,
108878 /* 340 */ 1071, 1125, 1069, 1089, 1076, 1169, 1072, 1156, 1155, 1033,
108879 /* 350 */ 1132, 1129, 1125, 1127, 1019, 1068, 1050, 1020, 1098, 1088,
108880 /* 360 */ 1002, 1114, 1078, 1060, 971, 934, 1018, 1039, 1016, 1000,
108881 /* 370 */ 1011, 947, 1025, 1026, 990, 897, 938, 982, 936, 963,
108882 /* 380 */ 961, 957, 950, 876, 935, 914, 862, 871, 901, 899,
108883 /* 390 */ 780, 866, 801, 759, 593, 733, 734, 824, 728, 733,
108884 /* 400 */ 649, 541, 683, 529, 506, 508, 484, 450, 335, 232,
108885 /* 410 */ 302, 276, 265, 210, 92, 78, 151, 113, 33, 28,
108886 };
108887 #define YY_REDUCE_USE_DFLT (-169)
108888 #define YY_REDUCE_COUNT (311)
108889 #define YY_REDUCE_MIN (-168)
108890 #define YY_REDUCE_MAX (1394)
108891 static const short yy_reduce_ofst[] = {
108892 /* 0 */ 485, 90, 1095, 222, 156, 19, 17, -49, 10, 322,
108893 /* 10 */ 316, 311, 306, 225, 180, -51, 457, 242, 380, 1213,
108894 /* 20 */ 1181, 1177, 1175, 1128, 1106, 1096, 1054, 1038, 980, 974,
108895 /* 30 */ 964, 962, 948, 905, 903, 900, 887, 874, 829, 826,
108896 /* 40 */ 816, 813, 800, 752, 742, 739, 726, 678, 668, 665,
108897 /* 50 */ 652, 612, 610, 594, 591, 578, 537, 527, 521, 517,
108898 /* 60 */ 444, 318, 437, 449, 443, 154, -168, 141, 406, 551,
108899 /* 70 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
108900 /* 80 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
108901 /* 90 */ 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
108902 /* 100 */ 551, 551, 551, 551, 551, 551, 551, 1074, 534, 1040,
108903 /* 110 */ 993, 967, 966, 845, 740, 758, 756, 746, 239, 744,
108904 /* 120 */ 672, 611, 73, -119, 48, 670, 669, 666, 592, 533,
108905 /* 130 */ 701, 627, 587, 551, 551, 551, 551, 551, 667, 375,
108906 /* 140 */ 854, 817, 992, 1286, 1282, 1273, 1261, 687, 687, 1259,
108907 /* 150 */ 1250, 1248, 1245, 1242, 1234, 1225, 1218, 1214, 1212, 1202,
108908 /* 160 */ 1195, 1191, 1161, 1158, 1140, 1135, 1123, 1112, 1107, 1085,
108909 /* 170 */ 1080, 1067, 1051, 1048, 1044, 992, 969, 968, 893, 892,
108910 /* 180 */ 891, 657, 583, 245, 544, 811, 807, 737, 609, 469,
108911 /* 190 */ 342, 1385, 1384, 1374, 1373, 1365, 1372, 1371, 1368, 1340,
108912 /* 200 */ 1360, 1361, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1315,
108913 /* 210 */ 1314, 1360, 1360, 1340, 1380, 1348, 1394, 1346, 1334, 1330,
108914 /* 220 */ 1302, 1339, 1301, 1359, 1345, 1369, 1358, 1366, 1355, 1338,
108915 /* 230 */ 1350, 1328, 1295, 1299, 1297, 1354, 1327, 1322, 1364, 1272,
108916 /* 240 */ 1357, 1356, 1271, 1269, 1353, 1290, 1318, 1307, 1313, 1312,
108917 /* 250 */ 1311, 1308, 1344, 1343, 1296, 1276, 1303, 1300, 1333, 1332,
108918 /* 260 */ 1251, 1249, 1326, 1325, 1324, 1320, 1323, 1319, 1317, 1285,
108919 /* 270 */ 1291, 1293, 1292, 1289, 1283, 1235, 1232, 1279, 1281, 1275,
108920 /* 280 */ 1274, 1252, 1270, 1262, 1203, 1196, 1201, 1192, 1180, 1159,
108921 /* 290 */ 1231, 1215, 1145, 1162, 1136, 1134, 1157, 1117, 1121, 1144,
108922 /* 300 */ 1141, 1133, 1138, 1119, 1116, 1094, 1015, 999, 994, 1059,
108923 /* 310 */ 1057, 1073,
108924 };
108925 static const YYACTIONTYPE yy_default[] = {
108926 /* 0 */ 635, 869, 957, 957, 869, 869, 957, 957, 722, 759,
108927 /* 10 */ 957, 957, 957, 867, 957, 957, 787, 787, 931, 957,
108928 /* 20 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108929 /* 30 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108930 /* 40 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108931 /* 50 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108932 /* 60 */ 957, 957, 957, 957, 957, 957, 957, 674, 763, 793,
108933 /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 930, 932,
108934 /* 80 */ 801, 800, 910, 774, 798, 791, 795, 870, 863, 864,
108935 /* 90 */ 862, 866, 871, 957, 794, 830, 847, 829, 841, 846,
108936 /* 100 */ 853, 845, 842, 832, 831, 833, 834, 957, 957, 957,
108937 /* 110 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108938 /* 120 */ 957, 957, 957, 661, 728, 957, 957, 957, 957, 957,
108939 /* 130 */ 957, 957, 957, 835, 836, 850, 849, 848, 957, 666,
108940 /* 140 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108941 /* 150 */ 937, 935, 957, 882, 957, 957, 957, 957, 957, 957,
108942 /* 160 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108943 /* 170 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108944 /* 180 */ 641, 759, 759, 759, 635, 957, 957, 957, 949, 763,
108945 /* 190 */ 753, 957, 957, 957, 957, 718, 957, 957, 957, 957,
108946 /* 200 */ 957, 957, 957, 957, 957, 803, 742, 920, 922, 957,
108947 /* 210 */ 903, 740, 663, 761, 676, 751, 643, 797, 776, 776,
108948 /* 220 */ 915, 797, 915, 699, 722, 957, 787, 957, 787, 696,
108949 /* 230 */ 787, 776, 865, 957, 957, 957, 760, 751, 957, 942,
108950 /* 240 */ 767, 767, 934, 934, 767, 809, 732, 797, 739, 739,
108951 /* 250 */ 739, 739, 767, 658, 797, 809, 732, 732, 767, 658,
108952 /* 260 */ 909, 907, 767, 767, 658, 767, 658, 767, 658, 722,
108953 /* 270 */ 875, 730, 730, 730, 714, 879, 879, 875, 730, 699,
108954 /* 280 */ 730, 714, 730, 730, 780, 775, 780, 775, 780, 775,
108955 /* 290 */ 767, 767, 957, 792, 781, 790, 788, 797, 957, 717,
108956 /* 300 */ 651, 651, 640, 640, 640, 640, 954, 954, 949, 701,
108957 /* 310 */ 701, 684, 957, 957, 957, 957, 957, 957, 957, 884,
108958 /* 320 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108959 /* 330 */ 957, 957, 636, 944, 957, 957, 941, 957, 957, 957,
108960 /* 340 */ 957, 802, 957, 957, 957, 957, 957, 957, 957, 957,
108961 /* 350 */ 957, 957, 919, 957, 957, 957, 957, 957, 957, 957,
108962 /* 360 */ 913, 957, 957, 957, 957, 957, 957, 906, 905, 957,
108963 /* 370 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108964 /* 380 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108965 /* 390 */ 957, 957, 957, 957, 957, 789, 957, 782, 957, 868,
108966 /* 400 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957,
108967 /* 410 */ 745, 818, 957, 817, 821, 816, 668, 957, 649, 957,
108968 /* 420 */ 632, 637, 953, 956, 955, 952, 951, 950, 945, 943,
108969 /* 430 */ 940, 939, 938, 936, 933, 929, 888, 886, 893, 892,
108970 /* 440 */ 891, 890, 889, 887, 885, 883, 804, 799, 796, 928,
108971 /* 450 */ 881, 741, 738, 737, 657, 946, 912, 921, 808, 807,
108972 /* 460 */ 810, 918, 917, 916, 914, 911, 898, 806, 805, 733,
108973 /* 470 */ 873, 872, 660, 902, 901, 900, 904, 908, 899, 769,
108974 /* 480 */ 659, 656, 665, 721, 723, 719, 729, 727, 726, 725,
108975 /* 490 */ 724, 720, 667, 675, 713, 698, 697, 878, 880, 877,
108976 /* 500 */ 876, 706, 705, 711, 710, 709, 708, 707, 704, 703,
108977 /* 510 */ 702, 695, 694, 700, 693, 716, 715, 712, 692, 736,
108978 /* 520 */ 735, 734, 731, 691, 690, 689, 821, 688, 687, 827,
108979 /* 530 */ 826, 814, 857, 756, 755, 754, 766, 765, 778, 777,
108980 /* 540 */ 812, 811, 779, 764, 758, 757, 773, 772, 771, 770,
108981 /* 550 */ 762, 752, 784, 786, 785, 783, 859, 768, 856, 927,
108982 /* 560 */ 926, 925, 924, 923, 861, 860, 828, 825, 679, 680,
108983 /* 570 */ 896, 895, 897, 894, 682, 681, 678, 677, 858, 747,
108984 /* 580 */ 746, 854, 851, 843, 839, 855, 852, 844, 840, 838,
108985 /* 590 */ 837, 823, 822, 820, 819, 815, 824, 670, 748, 744,
108986 /* 600 */ 743, 813, 750, 749, 686, 685, 683, 664, 662, 655,
108987 /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673,
108988 /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631,
108989 };
108990
108991 /* The next table maps tokens into fallback tokens. If a construct
108992 ** like the following:
108993 **
@@ -109189,11 +109187,11 @@
109189 "carglist", "id", "ids", "typetoken",
109190 "typename", "signed", "plus_num", "minus_num",
109191 "ccons", "term", "expr", "onconf",
109192 "sortorder", "autoinc", "idxlist_opt", "refargs",
109193 "defer_subclause", "refarg", "refact", "init_deferred_pred_opt",
109194 "conslist", "cname", "tcons", "idxlist",
109195 "defer_subclause_opt", "orconf", "resolvetype", "raisetype",
109196 "ifexists", "fullname", "oneselect", "multiselect_op",
109197 "distinct", "selcollist", "from", "where_opt",
109198 "groupby_opt", "having_opt", "orderby_opt", "limit_opt",
109199 "sclp", "as", "seltablist", "stl_prefix",
@@ -109301,16 +109299,16 @@
109301 /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt",
109302 /* 84 */ "init_deferred_pred_opt ::=",
109303 /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED",
109304 /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE",
109305 /* 87 */ "conslist_opt ::=",
109306 /* 88 */ "conslist_opt ::= COMMA conslist cname",
109307 /* 89 */ "conslist ::= conslist COMMA cname tcons",
109308 /* 90 */ "conslist ::= conslist cname tcons",
109309 /* 91 */ "conslist ::= cname tcons",
109310 /* 92 */ "cname ::=",
109311 /* 93 */ "cname ::= CONSTRAINT nm",
109312 /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf",
109313 /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf",
109314 /* 96 */ "tcons ::= CHECK LP expr RP onconf",
109315 /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt",
109316 /* 98 */ "defer_subclause_opt ::=",
@@ -110020,16 +110018,16 @@
110020 { 180, 2 },
110021 { 183, 0 },
110022 { 183, 2 },
110023 { 183, 2 },
110024 { 159, 0 },
110025 { 159, 3 },
110026 { 184, 4 },
110027 { 184, 3 },
110028 { 184, 2 },
 
110029 { 185, 0 },
110030 { 185, 2 },
110031 { 186, 7 },
110032 { 186, 5 },
110033 { 186, 5 },
110034 { 186, 10 },
110035 { 188, 0 },
@@ -110463,11 +110461,11 @@
110463 break;
110464 case 50: /* typename ::= typename ids */
110465 {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);}
110466 break;
110467 case 55: /* ccons ::= CONSTRAINT nm */
110468 case 93: /* cname ::= CONSTRAINT nm */ yytestcase(yyruleno==93);
110469 {pParse->constraintName = yymsp[0].minor.yy0;}
110470 break;
110471 case 56: /* ccons ::= DEFAULT term */
110472 case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58);
110473 {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);}
@@ -110550,14 +110548,14 @@
110550 {yygotominor.yy392 = yymsp[0].minor.yy392;}
110551 break;
110552 case 87: /* conslist_opt ::= */
110553 {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;}
110554 break;
110555 case 88: /* conslist_opt ::= COMMA conslist cname */
110556 {yygotominor.yy0 = yymsp[-2].minor.yy0;}
110557 break;
110558 case 92: /* cname ::= */
110559 {pParse->constraintName.n = 0;}
110560 break;
110561 case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */
110562 {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);}
110563 break;
@@ -111426,13 +111424,13 @@
111426 /* (51) signed ::= plus_num */ yytestcase(yyruleno==51);
111427 /* (52) signed ::= minus_num */ yytestcase(yyruleno==52);
111428 /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53);
111429 /* (54) carglist ::= */ yytestcase(yyruleno==54);
111430 /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61);
111431 /* (89) conslist ::= conslist COMMA cname tcons */ yytestcase(yyruleno==89);
111432 /* (90) conslist ::= conslist cname tcons */ yytestcase(yyruleno==90);
111433 /* (91) conslist ::= cname tcons */ yytestcase(yyruleno==91);
111434 /* (277) foreach_clause ::= */ yytestcase(yyruleno==277);
111435 /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278);
111436 /* (285) tridxby ::= */ yytestcase(yyruleno==285);
111437 /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303);
111438 /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304);
@@ -117371,11 +117369,11 @@
117371
117372 SQLITE_PRIVATE int sqlite3Fts3MsrIncrStart(
117373 Fts3Table*, Fts3MultiSegReader*, int, const char*, int);
117374 SQLITE_PRIVATE int sqlite3Fts3MsrIncrNext(
117375 Fts3Table *, Fts3MultiSegReader *, sqlite3_int64 *, char **, int *);
117376 SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol);
117377 SQLITE_PRIVATE int sqlite3Fts3MsrOvfl(Fts3Cursor *, Fts3MultiSegReader *, int *);
117378 SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr);
117379
117380 SQLITE_PRIVATE int sqlite3Fts3DeferredTokenList(Fts3DeferredToken *, char **, int *);
117381
@@ -121036,11 +121034,11 @@
121036 int bDescIdx, /* True if the doclist is desc */
121037 char *aDoclist, /* Pointer to entire doclist */
121038 int nDoclist, /* Length of aDoclist in bytes */
121039 char **ppIter, /* IN/OUT: Iterator pointer */
121040 sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */
121041 int *pnList, /* IN/OUT: List length pointer */
121042 u8 *pbEof /* OUT: End-of-file flag */
121043 ){
121044 char *p = *ppIter;
121045
121046 assert( nDoclist>0 );
@@ -121082,10 +121080,45 @@
121082 *pnList = (int)(pSave - p);
121083 }
121084 *ppIter = p;
121085 }
121086 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121087
121088 /*
121089 ** Attempt to move the phrase iterator to point to the next matching docid.
121090 ** If an error occurs, return an SQLite error code. Otherwise, return
121091 ** SQLITE_OK.
@@ -122238,30 +122271,91 @@
122238 ** 0x04 0x05 0x03 0x01 or 0x04 0x05 0x03 0x00
122239 **
122240 ** This function works regardless of whether or not the phrase is deferred,
122241 ** incremental, or neither.
122242 */
122243 SQLITE_PRIVATE char *sqlite3Fts3EvalPhrasePoslist(
122244 Fts3Cursor *pCsr, /* FTS3 cursor object */
122245 Fts3Expr *pExpr, /* Phrase to return doclist for */
122246 int iCol /* Column to return position list for */
 
122247 ){
122248 Fts3Phrase *pPhrase = pExpr->pPhrase;
122249 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
122250 char *pIter = pPhrase->doclist.pList;
122251 int iThis;
 
122252
 
 
 
122253 assert( iCol>=0 && iCol<pTab->nColumn );
122254 if( !pIter
122255 || pExpr->bEof
122256 || pExpr->iDocid!=pCsr->iPrevId
122257 || (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol)
122258 ){
122259 return 0;
122260 }
122261
122262 assert( pPhrase->doclist.nList>0 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122263 if( *pIter==0x01 ){
122264 pIter++;
122265 pIter += sqlite3Fts3GetVarint32(pIter, &iThis);
122266 }else{
122267 iThis = 0;
@@ -122271,11 +122365,12 @@
122271 if( *pIter==0x00 ) return 0;
122272 pIter++;
122273 pIter += sqlite3Fts3GetVarint32(pIter, &iThis);
122274 }
122275
122276 return ((iCol==iThis)?pIter:0);
 
122277 }
122278
122279 /*
122280 ** Free all components of the Fts3Phrase structure that were allocated by
122281 ** the eval module. Specifically, this means to free:
@@ -131318,14 +131413,15 @@
131318 */
131319 static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){
131320 SnippetIter *p = (SnippetIter *)ctx;
131321 SnippetPhrase *pPhrase = &p->aPhrase[iPhrase];
131322 char *pCsr;
 
131323
131324 pPhrase->nToken = pExpr->pPhrase->nToken;
131325
131326 pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol);
131327 if( pCsr ){
131328 int iFirst = 0;
131329 pPhrase->pList = pCsr;
131330 fts3GetDeltaPosition(&pCsr, &iFirst);
131331 assert( iFirst>=0 );
@@ -131332,14 +131428,16 @@
131332 pPhrase->pHead = pCsr;
131333 pPhrase->pTail = pCsr;
131334 pPhrase->iHead = iFirst;
131335 pPhrase->iTail = iFirst;
131336 }else{
131337 assert( pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 );
 
 
131338 }
131339
131340 return SQLITE_OK;
131341 }
131342
131343 /*
131344 ** Select the fragment of text consisting of nFragment contiguous tokens
131345 ** from column iCol that represent the "best" snippet. The best snippet
@@ -131728,25 +131826,26 @@
131728 static int fts3ExprLocalHitsCb(
131729 Fts3Expr *pExpr, /* Phrase expression node */
131730 int iPhrase, /* Phrase number */
131731 void *pCtx /* Pointer to MatchInfo structure */
131732 ){
 
131733 MatchInfo *p = (MatchInfo *)pCtx;
131734 int iStart = iPhrase * p->nCol * 3;
131735 int i;
131736
131737 for(i=0; i<p->nCol; i++){
131738 char *pCsr;
131739 pCsr = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i);
131740 if( pCsr ){
131741 p->aMatchinfo[iStart+i*3] = fts3ColumnlistCount(&pCsr);
131742 }else{
131743 p->aMatchinfo[iStart+i*3] = 0;
131744 }
131745 }
131746
131747 return SQLITE_OK;
131748 }
131749
131750 static int fts3MatchinfoCheck(
131751 Fts3Table *pTab,
131752 char cArg,
@@ -131903,12 +132002,14 @@
131903 for(iCol=0; iCol<pInfo->nCol; iCol++){
131904 int nLcs = 0; /* LCS value for this column */
131905 int nLive = 0; /* Number of iterators in aIter not at EOF */
131906
131907 for(i=0; i<pInfo->nPhrase; i++){
 
131908 LcsIterator *pIt = &aIter[i];
131909 pIt->pRead = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol);
 
131910 if( pIt->pRead ){
131911 pIt->iPos = pIt->iPosOffset;
131912 fts3LcsIteratorAdvance(&aIter[i]);
131913 nLive++;
131914 }
@@ -132256,13 +132357,14 @@
132256 TermOffsetCtx *p = (TermOffsetCtx *)ctx;
132257 int nTerm; /* Number of tokens in phrase */
132258 int iTerm; /* For looping through nTerm phrase terms */
132259 char *pList; /* Pointer to position list for phrase */
132260 int iPos = 0; /* First position in position-list */
 
132261
132262 UNUSED_PARAMETER(iPhrase);
132263 pList = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol);
132264 nTerm = pExpr->pPhrase->nToken;
132265 if( pList ){
132266 fts3GetDeltaPosition(&pList, &iPos);
132267 assert( iPos>=0 );
132268 }
@@ -132272,11 +132374,11 @@
132272 pT->iOff = nTerm-iTerm-1;
132273 pT->pList = pList;
132274 pT->iPos = iPos;
132275 }
132276
132277 return SQLITE_OK;
132278 }
132279
132280 /*
132281 ** Implementation of offsets() function.
132282 */
132283
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -657,11 +657,11 @@
657 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
658 ** [sqlite_version()] and [sqlite_source_id()].
659 */
660 #define SQLITE_VERSION "3.7.12"
661 #define SQLITE_VERSION_NUMBER 3007012
662 #define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58"
663
664 /*
665 ** CAPI3REF: Run-Time Library Version Numbers
666 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
667 **
@@ -6563,11 +6563,11 @@
6563 ** been written to disk. Specifically, the number of pages written to the
6564 ** wal file in wal mode databases, or the number of pages written to the
6565 ** database file in rollback mode databases. Any pages written as part of
6566 ** transaction rollback or database recovery operations are not included.
6567 ** If an IO or other error occurs while writing a page to disk, the effect
6568 ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The
6569 ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
6570 ** </dd>
6571 ** </dl>
6572 */
6573 #define SQLITE_DBSTATUS_LOOKASIDE_USED 0
@@ -104675,11 +104675,10 @@
104675 if( pIdx->onError!=OE_None && i==pIdx->nColumn
104676 && (wsFlags & WHERE_COLUMN_NULL)==0
104677 && !referencesOtherTables(pOrderBy, pMaskSet, j, base)
104678 ){
104679 Column *aCol = pIdx->pTable->aCol;
 
104680
104681 /* All terms of this index match some prefix of the ORDER BY clause,
104682 ** the index is UNIQUE, and no terms on the tail of the ORDER BY
104683 ** refer to other tables in a join. So, assuming that the index entries
104684 ** visited contain no NULL values, then this index delivers rows in
@@ -108444,11 +108443,11 @@
108443 #endif
108444 #define sqlite3ParserARG_SDECL Parse *pParse;
108445 #define sqlite3ParserARG_PDECL ,Parse *pParse
108446 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse
108447 #define sqlite3ParserARG_STORE yypParser->pParse = pParse
108448 #define YYNSTATE 627
108449 #define YYNRULE 327
108450 #define YYFALLBACK 1
108451 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
108452 #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
108453 #define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
@@ -108515,479 +108514,478 @@
108514 ** shifting terminals.
108515 ** yy_reduce_ofst[] For each state, the offset into yy_action for
108516 ** shifting non-terminals after a reduce.
108517 ** yy_default[] Default action for each state.
108518 */
108519 #define YY_ACTTAB_COUNT (1564)
108520 static const YYACTIONTYPE yy_action[] = {
108521 /* 0 */ 309, 955, 184, 417, 2, 171, 624, 594, 56, 56,
108522 /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52,
108523 /* 20 */ 52, 52, 51, 233, 620, 619, 298, 620, 619, 234,
108524 /* 30 */ 587, 581, 56, 56, 56, 56, 19, 54, 54, 54,
108525 /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 605, 57,
108526 /* 50 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108527 /* 60 */ 56, 56, 541, 54, 54, 54, 54, 53, 53, 52,
108528 /* 70 */ 52, 52, 51, 233, 309, 594, 325, 196, 195, 194,
108529 /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108530 /* 90 */ 51, 233, 617, 616, 165, 617, 616, 380, 377, 376,
108531 /* 100 */ 407, 532, 576, 576, 587, 581, 303, 422, 375, 59,
108532 /* 110 */ 53, 53, 52, 52, 52, 51, 233, 50, 47, 146,
108533 /* 120 */ 574, 545, 65, 57, 58, 48, 579, 578, 580, 580,
108534 /* 130 */ 55, 55, 56, 56, 56, 56, 213, 54, 54, 54,
108535 /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 223,
108536 /* 150 */ 539, 420, 170, 176, 138, 280, 383, 275, 382, 168,
108537 /* 160 */ 489, 551, 409, 668, 620, 619, 271, 438, 409, 438,
108538 /* 170 */ 550, 604, 67, 482, 507, 618, 599, 412, 587, 581,
108539 /* 180 */ 600, 483, 618, 412, 618, 598, 91, 439, 440, 439,
108540 /* 190 */ 335, 598, 73, 669, 222, 266, 480, 57, 58, 48,
108541 /* 200 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56,
108542 /* 210 */ 670, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108543 /* 220 */ 51, 233, 309, 279, 232, 231, 1, 132, 200, 385,
108544 /* 230 */ 620, 619, 617, 616, 278, 435, 289, 563, 175, 262,
108545 /* 240 */ 409, 264, 437, 497, 436, 166, 441, 568, 336, 568,
108546 /* 250 */ 201, 537, 587, 581, 599, 412, 165, 594, 600, 380,
108547 /* 260 */ 377, 376, 597, 598, 92, 523, 618, 569, 569, 592,
108548 /* 270 */ 375, 57, 58, 48, 579, 578, 580, 580, 55, 55,
108549 /* 280 */ 56, 56, 56, 56, 597, 54, 54, 54, 54, 53,
108550 /* 290 */ 53, 52, 52, 52, 51, 233, 309, 463, 617, 616,
108551 /* 300 */ 590, 590, 590, 174, 272, 396, 409, 272, 409, 548,
108552 /* 310 */ 397, 620, 619, 68, 326, 620, 619, 620, 619, 618,
108553 /* 320 */ 546, 412, 618, 412, 471, 594, 587, 581, 472, 598,
108554 /* 330 */ 92, 598, 92, 52, 52, 52, 51, 233, 513, 512,
108555 /* 340 */ 206, 322, 363, 464, 221, 57, 58, 48, 579, 578,
108556 /* 350 */ 580, 580, 55, 55, 56, 56, 56, 56, 529, 54,
108557 /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
108558 /* 370 */ 309, 396, 409, 396, 597, 372, 386, 530, 347, 617,
108559 /* 380 */ 616, 575, 202, 617, 616, 617, 616, 412, 620, 619,
108560 /* 390 */ 145, 255, 346, 254, 577, 598, 74, 351, 45, 489,
108561 /* 400 */ 587, 581, 235, 189, 464, 544, 167, 296, 187, 469,
108562 /* 410 */ 479, 67, 62, 39, 618, 546, 597, 345, 573, 57,
108563 /* 420 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108564 /* 430 */ 56, 56, 6, 54, 54, 54, 54, 53, 53, 52,
108565 /* 440 */ 52, 52, 51, 233, 309, 562, 558, 407, 528, 576,
108566 /* 450 */ 576, 344, 255, 346, 254, 182, 617, 616, 503, 504,
108567 /* 460 */ 314, 409, 557, 235, 166, 271, 409, 352, 564, 181,
108568 /* 470 */ 407, 546, 576, 576, 587, 581, 412, 537, 556, 561,
108569 /* 480 */ 517, 412, 618, 249, 598, 16, 7, 36, 467, 598,
108570 /* 490 */ 92, 516, 618, 57, 58, 48, 579, 578, 580, 580,
108571 /* 500 */ 55, 55, 56, 56, 56, 56, 541, 54, 54, 54,
108572 /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 327,
108573 /* 520 */ 572, 571, 525, 558, 560, 394, 871, 246, 409, 248,
108574 /* 530 */ 171, 392, 594, 219, 407, 409, 576, 576, 502, 557,
108575 /* 540 */ 364, 145, 510, 412, 407, 229, 576, 576, 587, 581,
108576 /* 550 */ 412, 598, 92, 381, 269, 556, 166, 400, 598, 69,
108577 /* 560 */ 501, 419, 945, 199, 945, 198, 546, 57, 58, 48,
108578 /* 570 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56,
108579 /* 580 */ 568, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108580 /* 590 */ 51, 233, 309, 317, 419, 944, 508, 944, 308, 597,
108581 /* 600 */ 594, 565, 490, 212, 173, 247, 423, 615, 614, 613,
108582 /* 610 */ 323, 197, 143, 405, 572, 571, 489, 66, 50, 47,
108583 /* 620 */ 146, 594, 587, 581, 232, 231, 559, 427, 67, 555,
108584 /* 630 */ 15, 618, 186, 543, 303, 421, 35, 206, 432, 423,
108585 /* 640 */ 552, 57, 58, 48, 579, 578, 580, 580, 55, 55,
108586 /* 650 */ 56, 56, 56, 56, 205, 54, 54, 54, 54, 53,
108587 /* 660 */ 53, 52, 52, 52, 51, 233, 309, 569, 569, 260,
108588 /* 670 */ 268, 597, 12, 373, 568, 166, 409, 313, 409, 420,
108589 /* 680 */ 409, 473, 473, 365, 618, 50, 47, 146, 597, 594,
108590 /* 690 */ 468, 412, 166, 412, 351, 412, 587, 581, 32, 598,
108591 /* 700 */ 94, 598, 97, 598, 95, 627, 625, 329, 142, 50,
108592 /* 710 */ 47, 146, 333, 349, 358, 57, 58, 48, 579, 578,
108593 /* 720 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54,
108594 /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
108595 /* 740 */ 309, 409, 388, 412, 409, 22, 565, 404, 212, 362,
108596 /* 750 */ 389, 598, 104, 359, 409, 156, 412, 409, 603, 412,
108597 /* 760 */ 537, 331, 569, 569, 598, 103, 493, 598, 105, 412,
108598 /* 770 */ 587, 581, 412, 260, 549, 618, 11, 598, 106, 521,
108599 /* 780 */ 598, 133, 169, 457, 456, 170, 35, 601, 618, 57,
108600 /* 790 */ 58, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108601 /* 800 */ 56, 56, 409, 54, 54, 54, 54, 53, 53, 52,
108602 /* 810 */ 52, 52, 51, 233, 309, 409, 259, 412, 409, 50,
108603 /* 820 */ 47, 146, 357, 318, 355, 598, 134, 527, 352, 337,
108604 /* 830 */ 412, 409, 356, 412, 357, 409, 357, 618, 598, 98,
108605 /* 840 */ 129, 598, 102, 618, 587, 581, 412, 21, 235, 618,
108606 /* 850 */ 412, 618, 211, 143, 598, 101, 30, 167, 598, 93,
108607 /* 860 */ 350, 535, 203, 57, 58, 48, 579, 578, 580, 580,
108608 /* 870 */ 55, 55, 56, 56, 56, 56, 409, 54, 54, 54,
108609 /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 309, 409,
108610 /* 890 */ 526, 412, 409, 425, 215, 305, 597, 551, 141, 598,
108611 /* 900 */ 100, 40, 409, 38, 412, 409, 550, 412, 409, 228,
108612 /* 910 */ 220, 314, 598, 77, 500, 598, 96, 412, 587, 581,
108613 /* 920 */ 412, 338, 253, 412, 218, 598, 137, 379, 598, 136,
108614 /* 930 */ 28, 598, 135, 270, 715, 210, 481, 57, 58, 48,
108615 /* 940 */ 579, 578, 580, 580, 55, 55, 56, 56, 56, 56,
108616 /* 950 */ 409, 54, 54, 54, 54, 53, 53, 52, 52, 52,
108617 /* 960 */ 51, 233, 309, 409, 272, 412, 409, 315, 147, 597,
108618 /* 970 */ 272, 626, 2, 598, 76, 209, 409, 127, 412, 618,
108619 /* 980 */ 126, 412, 409, 621, 235, 618, 598, 90, 374, 598,
108620 /* 990 */ 89, 412, 587, 581, 27, 260, 350, 412, 618, 598,
108621 /* 1000 */ 75, 321, 541, 541, 125, 598, 88, 320, 278, 597,
108622 /* 1010 */ 618, 57, 46, 48, 579, 578, 580, 580, 55, 55,
108623 /* 1020 */ 56, 56, 56, 56, 409, 54, 54, 54, 54, 53,
108624 /* 1030 */ 53, 52, 52, 52, 51, 233, 309, 409, 450, 412,
108625 /* 1040 */ 164, 284, 282, 272, 609, 424, 304, 598, 87, 370,
108626 /* 1050 */ 409, 477, 412, 409, 608, 409, 607, 602, 618, 618,
108627 /* 1060 */ 598, 99, 586, 585, 122, 412, 587, 581, 412, 618,
108628 /* 1070 */ 412, 618, 618, 598, 86, 366, 598, 17, 598, 85,
108629 /* 1080 */ 319, 185, 519, 518, 583, 582, 58, 48, 579, 578,
108630 /* 1090 */ 580, 580, 55, 55, 56, 56, 56, 56, 409, 54,
108631 /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
108632 /* 1110 */ 309, 584, 409, 412, 409, 260, 260, 260, 408, 591,
108633 /* 1120 */ 474, 598, 84, 170, 409, 466, 518, 412, 121, 412,
108634 /* 1130 */ 618, 618, 618, 618, 618, 598, 83, 598, 72, 412,
108635 /* 1140 */ 587, 581, 51, 233, 625, 329, 470, 598, 71, 257,
108636 /* 1150 */ 159, 120, 14, 462, 157, 158, 117, 260, 448, 447,
108637 /* 1160 */ 446, 48, 579, 578, 580, 580, 55, 55, 56, 56,
108638 /* 1170 */ 56, 56, 618, 54, 54, 54, 54, 53, 53, 52,
108639 /* 1180 */ 52, 52, 51, 233, 44, 403, 260, 3, 409, 459,
108640 /* 1190 */ 260, 413, 619, 118, 398, 10, 25, 24, 554, 348,
108641 /* 1200 */ 217, 618, 406, 412, 409, 618, 4, 44, 403, 618,
108642 /* 1210 */ 3, 598, 82, 618, 413, 619, 455, 542, 115, 412,
108643 /* 1220 */ 538, 401, 536, 274, 506, 406, 251, 598, 81, 216,
108644 /* 1230 */ 273, 563, 618, 243, 453, 618, 154, 618, 618, 618,
108645 /* 1240 */ 449, 416, 623, 110, 401, 618, 409, 236, 64, 123,
108646 /* 1250 */ 487, 41, 42, 531, 563, 204, 409, 267, 43, 411,
108647 /* 1260 */ 410, 412, 265, 592, 108, 618, 107, 434, 332, 598,
108648 /* 1270 */ 80, 412, 618, 263, 41, 42, 443, 618, 409, 598,
108649 /* 1280 */ 70, 43, 411, 410, 433, 261, 592, 149, 618, 597,
108650 /* 1290 */ 256, 237, 188, 412, 590, 590, 590, 589, 588, 13,
108651 /* 1300 */ 618, 598, 18, 328, 235, 618, 44, 403, 360, 3,
108652 /* 1310 */ 418, 461, 339, 413, 619, 227, 124, 590, 590, 590,
108653 /* 1320 */ 589, 588, 13, 618, 406, 409, 618, 409, 139, 34,
108654 /* 1330 */ 403, 387, 3, 148, 622, 312, 413, 619, 311, 330,
108655 /* 1340 */ 412, 460, 412, 401, 180, 353, 412, 406, 598, 79,
108656 /* 1350 */ 598, 78, 250, 563, 598, 9, 618, 612, 611, 610,
108657 /* 1360 */ 618, 8, 452, 442, 242, 415, 401, 618, 239, 235,
108658 /* 1370 */ 179, 238, 428, 41, 42, 288, 563, 618, 618, 618,
108659 /* 1380 */ 43, 411, 410, 618, 144, 592, 618, 618, 177, 61,
108660 /* 1390 */ 618, 596, 391, 620, 619, 287, 41, 42, 414, 618,
108661 /* 1400 */ 293, 30, 393, 43, 411, 410, 292, 618, 592, 31,
108662 /* 1410 */ 618, 395, 291, 60, 230, 37, 590, 590, 590, 589,
108663 /* 1420 */ 588, 13, 214, 553, 183, 290, 172, 301, 300, 299,
108664 /* 1430 */ 178, 297, 595, 563, 451, 29, 285, 390, 540, 590,
108665 /* 1440 */ 590, 590, 589, 588, 13, 283, 520, 534, 150, 533,
108666 /* 1450 */ 241, 281, 384, 192, 191, 324, 515, 514, 276, 240,
108667 /* 1460 */ 510, 523, 307, 511, 128, 592, 509, 225, 226, 486,
108668 /* 1470 */ 485, 224, 152, 491, 464, 306, 484, 163, 153, 371,
108669 /* 1480 */ 478, 151, 162, 258, 369, 161, 367, 208, 475, 476,
108670 /* 1490 */ 26, 160, 465, 140, 361, 131, 590, 590, 590, 116,
108671 /* 1500 */ 119, 454, 343, 155, 114, 342, 113, 112, 445, 111,
108672 /* 1510 */ 130, 109, 431, 316, 426, 430, 23, 429, 20, 606,
108673 /* 1520 */ 190, 507, 255, 341, 244, 63, 294, 593, 310, 570,
108674 /* 1530 */ 277, 402, 354, 235, 567, 496, 495, 492, 494, 302,
108675 /* 1540 */ 458, 378, 286, 245, 566, 5, 252, 547, 193, 444,
108676 /* 1550 */ 233, 340, 207, 524, 368, 505, 334, 522, 499, 399,
108677 /* 1560 */ 295, 498, 956, 488,
108678 };
108679 static const YYCODETYPE yy_lookahead[] = {
108680 /* 0 */ 19, 142, 143, 144, 145, 24, 1, 26, 77, 78,
108681 /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
108682 /* 20 */ 89, 90, 91, 92, 26, 27, 15, 26, 27, 197,
108683 /* 30 */ 49, 50, 77, 78, 79, 80, 204, 82, 83, 84,
108684 /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 23, 68,
108685 /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108686 /* 60 */ 79, 80, 166, 82, 83, 84, 85, 86, 87, 88,
108687 /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107,
108688 /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108689 /* 90 */ 91, 92, 94, 95, 96, 94, 95, 99, 100, 101,
108690 /* 100 */ 112, 205, 114, 115, 49, 50, 22, 23, 110, 54,
108691 /* 110 */ 86, 87, 88, 89, 90, 91, 92, 221, 222, 223,
108692 /* 120 */ 23, 120, 25, 68, 69, 70, 71, 72, 73, 74,
108693 /* 130 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84,
108694 /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92,
108695 /* 150 */ 23, 67, 25, 96, 97, 98, 99, 100, 101, 102,
108696 /* 160 */ 150, 32, 150, 118, 26, 27, 109, 150, 150, 150,
108697 /* 170 */ 41, 161, 162, 180, 181, 165, 113, 165, 49, 50,
108698 /* 180 */ 117, 188, 165, 165, 165, 173, 174, 170, 171, 170,
108699 /* 190 */ 171, 173, 174, 118, 184, 16, 186, 68, 69, 70,
108700 /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108701 /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108702 /* 220 */ 91, 92, 19, 98, 86, 87, 22, 24, 160, 88,
108703 /* 230 */ 26, 27, 94, 95, 109, 97, 224, 66, 118, 60,
108704 /* 240 */ 150, 62, 104, 23, 106, 25, 229, 230, 229, 230,
108705 /* 250 */ 160, 150, 49, 50, 113, 165, 96, 26, 117, 99,
108706 /* 260 */ 100, 101, 194, 173, 174, 94, 165, 129, 130, 98,
108707 /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108708 /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86,
108709 /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 94, 95,
108710 /* 300 */ 129, 130, 131, 118, 150, 215, 150, 150, 150, 25,
108711 /* 310 */ 220, 26, 27, 22, 213, 26, 27, 26, 27, 165,
108712 /* 320 */ 25, 165, 165, 165, 30, 94, 49, 50, 34, 173,
108713 /* 330 */ 174, 173, 174, 88, 89, 90, 91, 92, 7, 8,
108714 /* 340 */ 160, 187, 48, 57, 187, 68, 69, 70, 71, 72,
108715 /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82,
108716 /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108717 /* 370 */ 19, 215, 150, 215, 194, 19, 220, 88, 220, 94,
108718 /* 380 */ 95, 23, 160, 94, 95, 94, 95, 165, 26, 27,
108719 /* 390 */ 95, 105, 106, 107, 113, 173, 174, 217, 22, 150,
108720 /* 400 */ 49, 50, 116, 119, 57, 120, 50, 158, 22, 21,
108721 /* 410 */ 161, 162, 232, 136, 165, 120, 194, 237, 23, 68,
108722 /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108723 /* 430 */ 79, 80, 22, 82, 83, 84, 85, 86, 87, 88,
108724 /* 440 */ 89, 90, 91, 92, 19, 23, 12, 112, 23, 114,
108725 /* 450 */ 115, 63, 105, 106, 107, 23, 94, 95, 97, 98,
108726 /* 460 */ 104, 150, 28, 116, 25, 109, 150, 150, 23, 23,
108727 /* 470 */ 112, 25, 114, 115, 49, 50, 165, 150, 44, 11,
108728 /* 480 */ 46, 165, 165, 16, 173, 174, 76, 136, 100, 173,
108729 /* 490 */ 174, 57, 165, 68, 69, 70, 71, 72, 73, 74,
108730 /* 500 */ 75, 76, 77, 78, 79, 80, 166, 82, 83, 84,
108731 /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 169,
108732 /* 520 */ 170, 171, 23, 12, 23, 214, 138, 60, 150, 62,
108733 /* 530 */ 24, 215, 26, 216, 112, 150, 114, 115, 36, 28,
108734 /* 540 */ 213, 95, 103, 165, 112, 205, 114, 115, 49, 50,
108735 /* 550 */ 165, 173, 174, 51, 23, 44, 25, 46, 173, 174,
108736 /* 560 */ 58, 22, 23, 22, 25, 160, 120, 68, 69, 70,
108737 /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108738 /* 580 */ 230, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108739 /* 590 */ 91, 92, 19, 215, 22, 23, 23, 25, 163, 194,
108740 /* 600 */ 94, 166, 167, 168, 25, 138, 67, 7, 8, 9,
108741 /* 610 */ 108, 206, 207, 169, 170, 171, 150, 22, 221, 222,
108742 /* 620 */ 223, 26, 49, 50, 86, 87, 23, 161, 162, 23,
108743 /* 630 */ 22, 165, 24, 120, 22, 23, 25, 160, 241, 67,
108744 /* 640 */ 176, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108745 /* 650 */ 77, 78, 79, 80, 160, 82, 83, 84, 85, 86,
108746 /* 660 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 150,
108747 /* 670 */ 23, 194, 35, 23, 230, 25, 150, 155, 150, 67,
108748 /* 680 */ 150, 105, 106, 107, 165, 221, 222, 223, 194, 94,
108749 /* 690 */ 23, 165, 25, 165, 217, 165, 49, 50, 25, 173,
108750 /* 700 */ 174, 173, 174, 173, 174, 0, 1, 2, 118, 221,
108751 /* 710 */ 222, 223, 193, 219, 237, 68, 69, 70, 71, 72,
108752 /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
108753 /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108754 /* 740 */ 19, 150, 19, 165, 150, 24, 166, 167, 168, 227,
108755 /* 750 */ 27, 173, 174, 231, 150, 25, 165, 150, 172, 165,
108756 /* 760 */ 150, 242, 129, 130, 173, 174, 180, 173, 174, 165,
108757 /* 770 */ 49, 50, 165, 150, 176, 165, 35, 173, 174, 165,
108758 /* 780 */ 173, 174, 35, 23, 23, 25, 25, 173, 165, 68,
108759 /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108760 /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88,
108761 /* 810 */ 89, 90, 91, 92, 19, 150, 193, 165, 150, 221,
108762 /* 820 */ 222, 223, 150, 213, 19, 173, 174, 23, 150, 97,
108763 /* 830 */ 165, 150, 27, 165, 150, 150, 150, 165, 173, 174,
108764 /* 840 */ 22, 173, 174, 165, 49, 50, 165, 52, 116, 165,
108765 /* 850 */ 165, 165, 206, 207, 173, 174, 126, 50, 173, 174,
108766 /* 860 */ 128, 27, 160, 68, 69, 70, 71, 72, 73, 74,
108767 /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84,
108768 /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150,
108769 /* 890 */ 23, 165, 150, 23, 216, 25, 194, 32, 39, 173,
108770 /* 900 */ 174, 135, 150, 137, 165, 150, 41, 165, 150, 52,
108771 /* 910 */ 238, 104, 173, 174, 29, 173, 174, 165, 49, 50,
108772 /* 920 */ 165, 219, 238, 165, 238, 173, 174, 52, 173, 174,
108773 /* 930 */ 22, 173, 174, 23, 23, 160, 25, 68, 69, 70,
108774 /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
108775 /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90,
108776 /* 960 */ 91, 92, 19, 150, 150, 165, 150, 245, 246, 194,
108777 /* 970 */ 150, 144, 145, 173, 174, 160, 150, 22, 165, 165,
108778 /* 980 */ 22, 165, 150, 150, 116, 165, 173, 174, 52, 173,
108779 /* 990 */ 174, 165, 49, 50, 22, 150, 128, 165, 165, 173,
108780 /* 1000 */ 174, 187, 166, 166, 22, 173, 174, 187, 109, 194,
108781 /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76,
108782 /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86,
108783 /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165,
108784 /* 1040 */ 102, 205, 205, 150, 150, 247, 248, 173, 174, 19,
108785 /* 1050 */ 150, 20, 165, 150, 150, 150, 150, 150, 165, 165,
108786 /* 1060 */ 173, 174, 49, 50, 104, 165, 49, 50, 165, 165,
108787 /* 1070 */ 165, 165, 165, 173, 174, 43, 173, 174, 173, 174,
108788 /* 1080 */ 187, 24, 190, 191, 71, 72, 69, 70, 71, 72,
108789 /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
108790 /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
108791 /* 1110 */ 19, 98, 150, 165, 150, 150, 150, 150, 150, 150,
108792 /* 1120 */ 59, 173, 174, 25, 150, 190, 191, 165, 53, 165,
108793 /* 1130 */ 165, 165, 165, 165, 165, 173, 174, 173, 174, 165,
108794 /* 1140 */ 49, 50, 91, 92, 1, 2, 53, 173, 174, 138,
108795 /* 1150 */ 104, 22, 5, 1, 35, 118, 127, 150, 193, 193,
108796 /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78,
108797 /* 1170 */ 79, 80, 165, 82, 83, 84, 85, 86, 87, 88,
108798 /* 1180 */ 89, 90, 91, 92, 19, 20, 150, 22, 150, 27,
108799 /* 1190 */ 150, 26, 27, 108, 150, 22, 76, 76, 150, 25,
108800 /* 1200 */ 193, 165, 37, 165, 150, 165, 22, 19, 20, 165,
108801 /* 1210 */ 22, 173, 174, 165, 26, 27, 23, 150, 119, 165,
108802 /* 1220 */ 150, 56, 150, 150, 150, 37, 16, 173, 174, 193,
108803 /* 1230 */ 150, 66, 165, 193, 1, 165, 121, 165, 165, 165,
108804 /* 1240 */ 20, 146, 147, 119, 56, 165, 150, 152, 16, 154,
108805 /* 1250 */ 150, 86, 87, 88, 66, 160, 150, 150, 93, 94,
108806 /* 1260 */ 95, 165, 150, 98, 108, 165, 127, 23, 65, 173,
108807 /* 1270 */ 174, 165, 165, 150, 86, 87, 128, 165, 150, 173,
108808 /* 1280 */ 174, 93, 94, 95, 23, 150, 98, 15, 165, 194,
108809 /* 1290 */ 150, 140, 22, 165, 129, 130, 131, 132, 133, 134,
108810 /* 1300 */ 165, 173, 174, 3, 116, 165, 19, 20, 150, 22,
108811 /* 1310 */ 4, 150, 217, 26, 27, 179, 179, 129, 130, 131,
108812 /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 164, 19,
108813 /* 1330 */ 20, 150, 22, 246, 149, 249, 26, 27, 249, 244,
108814 /* 1340 */ 165, 150, 165, 56, 6, 150, 165, 37, 173, 174,
108815 /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 149, 149, 13,
108816 /* 1360 */ 165, 25, 150, 150, 150, 149, 56, 165, 150, 116,
108817 /* 1370 */ 151, 150, 150, 86, 87, 150, 66, 165, 165, 165,
108818 /* 1380 */ 93, 94, 95, 165, 150, 98, 165, 165, 151, 22,
108819 /* 1390 */ 165, 194, 150, 26, 27, 150, 86, 87, 159, 165,
108820 /* 1400 */ 199, 126, 123, 93, 94, 95, 200, 165, 98, 124,
108821 /* 1410 */ 165, 122, 201, 125, 225, 135, 129, 130, 131, 132,
108822 /* 1420 */ 133, 134, 5, 157, 157, 202, 118, 10, 11, 12,
108823 /* 1430 */ 13, 14, 203, 66, 17, 104, 210, 121, 211, 129,
108824 /* 1440 */ 130, 131, 132, 133, 134, 210, 175, 211, 31, 211,
108825 /* 1450 */ 33, 210, 104, 86, 87, 47, 175, 183, 175, 42,
108826 /* 1460 */ 103, 94, 178, 177, 22, 98, 175, 92, 228, 175,
108827 /* 1470 */ 175, 228, 55, 183, 57, 178, 175, 156, 61, 18,
108828 /* 1480 */ 157, 64, 156, 235, 157, 156, 45, 157, 236, 157,
108829 /* 1490 */ 135, 156, 189, 68, 157, 218, 129, 130, 131, 22,
108830 /* 1500 */ 189, 199, 157, 156, 192, 18, 192, 192, 199, 192,
108831 /* 1510 */ 218, 189, 40, 157, 38, 157, 240, 157, 240, 153,
108832 /* 1520 */ 196, 181, 105, 106, 107, 243, 198, 166, 111, 230,
108833 /* 1530 */ 176, 226, 239, 116, 230, 176, 166, 166, 176, 148,
108834 /* 1540 */ 199, 177, 209, 209, 166, 196, 239, 208, 185, 199,
108835 /* 1550 */ 92, 209, 233, 173, 234, 182, 139, 173, 182, 191,
108836 /* 1560 */ 195, 182, 250, 186,
108837 };
108838 #define YY_SHIFT_USE_DFLT (-70)
108839 #define YY_SHIFT_COUNT (416)
108840 #define YY_SHIFT_MIN (-69)
108841 #define YY_SHIFT_MAX (1487)
108842 static const short yy_shift_ofst[] = {
108843 /* 0 */ 1143, 1188, 1417, 1188, 1287, 1287, 138, 138, -2, -19,
108844 /* 10 */ 1287, 1287, 1287, 1287, 347, 362, 129, 129, 795, 1165,
108845 /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108846 /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108847 /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287,
108848 /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
108849 /* 60 */ 1287, 1287, 286, 362, 362, 538, 538, 231, 1253, 55,
108850 /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869,
108851 /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869,
108852 /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45,
108853 /* 100 */ -45, -45, -45, -45, -1, 24, 245, 362, 362, 362,
108854 /* 110 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108855 /* 120 */ 362, 362, 362, 388, 356, 362, 362, 362, 362, 362,
108856 /* 130 */ 732, 868, 231, 1051, 1458, -70, -70, -70, 1367, 57,
108857 /* 140 */ 434, 434, 289, 291, 285, 1, 204, 572, 539, 362,
108858 /* 150 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108859 /* 160 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108860 /* 170 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
108861 /* 180 */ 362, 506, 506, 506, 705, 1253, 1253, 1253, -70, -70,
108862 /* 190 */ -70, 171, 171, 160, 502, 502, 502, 446, 432, 511,
108863 /* 200 */ 422, 358, 335, -12, -12, -12, -12, 576, 294, -12,
108864 /* 210 */ -12, 295, 595, 141, 600, 730, 723, 723, 805, 730,
108865 /* 220 */ 805, 439, 911, 231, 865, 231, 865, 807, 865, 723,
108866 /* 230 */ 766, 633, 633, 231, 284, 63, 608, 1476, 1308, 1308,
108867 /* 240 */ 1472, 1472, 1308, 1477, 1425, 1275, 1487, 1487, 1487, 1487,
108868 /* 250 */ 1308, 1461, 1275, 1477, 1425, 1425, 1308, 1461, 1355, 1441,
108869 /* 260 */ 1308, 1308, 1461, 1308, 1461, 1308, 1461, 1442, 1348, 1348,
108870 /* 270 */ 1348, 1408, 1375, 1375, 1442, 1348, 1357, 1348, 1408, 1348,
108871 /* 280 */ 1348, 1316, 1331, 1316, 1331, 1316, 1331, 1308, 1308, 1280,
108872 /* 290 */ 1288, 1289, 1285, 1279, 1275, 1253, 1336, 1346, 1346, 1338,
108873 /* 300 */ 1338, 1338, 1338, -70, -70, -70, -70, -70, -70, 1013,
108874 /* 310 */ 467, 612, 84, 179, -28, 870, 410, 761, 760, 667,
108875 /* 320 */ 650, 531, 220, 361, 331, 125, 127, 97, 1306, 1300,
108876 /* 330 */ 1270, 1151, 1272, 1203, 1232, 1261, 1244, 1148, 1174, 1139,
108877 /* 340 */ 1156, 1124, 1220, 1115, 1210, 1233, 1099, 1193, 1184, 1174,
108878 /* 350 */ 1173, 1029, 1121, 1120, 1085, 1162, 1119, 1037, 1152, 1147,
108879 /* 360 */ 1129, 1046, 1011, 1093, 1098, 1075, 1061, 1032, 960, 1057,
108880 /* 370 */ 1031, 1030, 899, 938, 982, 936, 972, 958, 910, 955,
108881 /* 380 */ 875, 885, 908, 857, 859, 867, 804, 590, 834, 747,
108882 /* 390 */ 818, 513, 611, 741, 673, 637, 611, 606, 603, 579,
108883 /* 400 */ 501, 541, 468, 386, 445, 395, 376, 281, 185, 120,
108884 /* 410 */ 92, 75, 45, 114, 25, 11, 5,
108885 };
108886 #define YY_REDUCE_USE_DFLT (-169)
108887 #define YY_REDUCE_COUNT (308)
108888 #define YY_REDUCE_MIN (-168)
108889 #define YY_REDUCE_MAX (1391)
108890 static const short yy_reduce_ofst[] = {
108891 /* 0 */ -141, 90, 1095, 222, 158, 156, 19, 17, 10, -104,
108892 /* 10 */ 378, 316, 311, 12, 180, 249, 598, 464, 397, 1181,
108893 /* 20 */ 1177, 1175, 1128, 1106, 1096, 1054, 1038, 974, 964, 962,
108894 /* 30 */ 948, 905, 903, 900, 887, 874, 832, 826, 816, 813,
108895 /* 40 */ 800, 758, 755, 752, 742, 739, 726, 685, 681, 668,
108896 /* 50 */ 665, 652, 607, 604, 594, 591, 578, 530, 528, 526,
108897 /* 60 */ 385, 18, 477, 466, 519, 444, 350, 435, 405, 488,
108898 /* 70 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
108899 /* 80 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
108900 /* 90 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
108901 /* 100 */ 488, 488, 488, 488, 488, 488, 488, 1040, 678, 1036,
108902 /* 110 */ 1007, 967, 966, 965, 845, 686, 610, 684, 317, 672,
108903 /* 120 */ 893, 327, 623, 522, -7, 820, 814, 157, 154, 101,
108904 /* 130 */ 702, 494, 580, 488, 488, 488, 488, 488, 614, 586,
108905 /* 140 */ 935, 892, 968, 1245, 1242, 1234, 1225, 798, 798, 1222,
108906 /* 150 */ 1221, 1218, 1214, 1213, 1212, 1202, 1195, 1191, 1161, 1158,
108907 /* 160 */ 1140, 1135, 1123, 1112, 1107, 1100, 1080, 1074, 1073, 1072,
108908 /* 170 */ 1070, 1067, 1048, 1044, 969, 968, 907, 906, 904, 894,
108909 /* 180 */ 833, 837, 836, 340, 827, 815, 775, 68, 722, 646,
108910 /* 190 */ -168, 1384, 1380, 1377, 1379, 1376, 1373, 1339, 1365, 1368,
108911 /* 200 */ 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1320, 1319, 1365,
108912 /* 210 */ 1365, 1339, 1378, 1349, 1391, 1350, 1342, 1334, 1307, 1341,
108913 /* 220 */ 1293, 1364, 1363, 1371, 1362, 1370, 1359, 1340, 1354, 1333,
108914 /* 230 */ 1305, 1304, 1299, 1361, 1328, 1324, 1366, 1282, 1360, 1358,
108915 /* 240 */ 1278, 1276, 1356, 1292, 1322, 1309, 1317, 1315, 1314, 1312,
108916 /* 250 */ 1345, 1347, 1302, 1277, 1311, 1303, 1337, 1335, 1252, 1248,
108917 /* 260 */ 1332, 1330, 1329, 1327, 1326, 1323, 1321, 1297, 1301, 1295,
108918 /* 270 */ 1294, 1290, 1243, 1240, 1284, 1291, 1286, 1283, 1274, 1281,
108919 /* 280 */ 1271, 1238, 1241, 1236, 1235, 1227, 1226, 1267, 1266, 1189,
108920 /* 290 */ 1229, 1223, 1211, 1206, 1201, 1197, 1239, 1237, 1219, 1216,
108921 /* 300 */ 1209, 1208, 1185, 1089, 1086, 1087, 1137, 1136, 1164,
 
108922 };
108923 static const YYACTIONTYPE yy_default[] = {
108924 /* 0 */ 632, 866, 954, 954, 866, 866, 954, 954, 954, 756,
108925 /* 10 */ 954, 954, 954, 864, 954, 954, 784, 784, 928, 954,
108926 /* 20 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108927 /* 30 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108928 /* 40 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108929 /* 50 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108930 /* 60 */ 954, 954, 954, 954, 954, 954, 954, 671, 760, 790,
108931 /* 70 */ 954, 954, 954, 954, 954, 954, 954, 954, 927, 929,
108932 /* 80 */ 798, 797, 907, 771, 795, 788, 792, 867, 860, 861,
108933 /* 90 */ 859, 863, 868, 954, 791, 827, 844, 826, 838, 843,
108934 /* 100 */ 850, 842, 839, 829, 828, 830, 831, 954, 954, 954,
108935 /* 110 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108936 /* 120 */ 954, 954, 954, 658, 725, 954, 954, 954, 954, 954,
108937 /* 130 */ 954, 954, 954, 832, 833, 847, 846, 845, 954, 663,
108938 /* 140 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108939 /* 150 */ 934, 932, 954, 879, 954, 954, 954, 954, 954, 954,
108940 /* 160 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108941 /* 170 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108942 /* 180 */ 638, 756, 756, 756, 632, 954, 954, 954, 946, 760,
108943 /* 190 */ 750, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108944 /* 200 */ 954, 954, 954, 800, 739, 917, 919, 954, 900, 737,
108945 /* 210 */ 660, 758, 673, 748, 640, 794, 773, 773, 912, 794,
108946 /* 220 */ 912, 696, 719, 954, 784, 954, 784, 693, 784, 773,
108947 /* 230 */ 862, 954, 954, 954, 757, 748, 954, 939, 764, 764,
108948 /* 240 */ 931, 931, 764, 806, 729, 794, 736, 736, 736, 736,
108949 /* 250 */ 764, 655, 794, 806, 729, 729, 764, 655, 906, 904,
108950 /* 260 */ 764, 764, 655, 764, 655, 764, 655, 872, 727, 727,
108951 /* 270 */ 727, 711, 876, 876, 872, 727, 696, 727, 711, 727,
108952 /* 280 */ 727, 777, 772, 777, 772, 777, 772, 764, 764, 954,
108953 /* 290 */ 789, 778, 787, 785, 794, 954, 714, 648, 648, 637,
108954 /* 300 */ 637, 637, 637, 951, 951, 946, 698, 698, 681, 954,
108955 /* 310 */ 954, 954, 954, 954, 954, 954, 881, 954, 954, 954,
108956 /* 320 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 633,
108957 /* 330 */ 941, 954, 954, 938, 954, 954, 954, 954, 799, 954,
108958 /* 340 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 916,
108959 /* 350 */ 954, 954, 954, 954, 954, 954, 954, 910, 954, 954,
108960 /* 360 */ 954, 954, 954, 954, 903, 902, 954, 954, 954, 954,
108961 /* 370 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108962 /* 380 */ 954, 954, 954, 954, 954, 954, 954, 954, 954, 954,
108963 /* 390 */ 954, 954, 786, 954, 779, 954, 865, 954, 954, 954,
108964 /* 400 */ 954, 954, 954, 954, 954, 954, 954, 742, 815, 954,
108965 /* 410 */ 814, 818, 813, 665, 954, 646, 954, 629, 634, 950,
108966 /* 420 */ 953, 952, 949, 948, 947, 942, 940, 937, 936, 935,
108967 /* 430 */ 933, 930, 926, 885, 883, 890, 889, 888, 887, 886,
108968 /* 440 */ 884, 882, 880, 801, 796, 793, 925, 878, 738, 735,
108969 /* 450 */ 734, 654, 943, 909, 918, 805, 804, 807, 915, 914,
108970 /* 460 */ 913, 911, 908, 895, 803, 802, 730, 870, 869, 657,
108971 /* 470 */ 899, 898, 897, 901, 905, 896, 766, 656, 653, 662,
108972 /* 480 */ 717, 718, 726, 724, 723, 722, 721, 720, 716, 664,
108973 /* 490 */ 672, 710, 695, 694, 875, 877, 874, 873, 703, 702,
108974 /* 500 */ 708, 707, 706, 705, 704, 701, 700, 699, 692, 691,
108975 /* 510 */ 697, 690, 713, 712, 709, 689, 733, 732, 731, 728,
108976 /* 520 */ 688, 687, 686, 818, 685, 684, 824, 823, 811, 854,
108977 /* 530 */ 753, 752, 751, 763, 762, 775, 774, 809, 808, 776,
108978 /* 540 */ 761, 755, 754, 770, 769, 768, 767, 759, 749, 781,
108979 /* 550 */ 783, 782, 780, 856, 765, 853, 924, 923, 922, 921,
108980 /* 560 */ 920, 858, 857, 825, 822, 676, 677, 893, 892, 894,
108981 /* 570 */ 891, 679, 678, 675, 674, 855, 744, 743, 851, 848,
108982 /* 580 */ 840, 836, 852, 849, 841, 837, 835, 834, 820, 819,
108983 /* 590 */ 817, 816, 812, 821, 667, 745, 741, 740, 810, 747,
108984 /* 600 */ 746, 683, 682, 680, 661, 659, 652, 650, 649, 651,
108985 /* 610 */ 647, 645, 644, 643, 642, 641, 670, 669, 668, 666,
108986 /* 620 */ 665, 639, 636, 635, 631, 630, 628,
108987 };
108988
108989 /* The next table maps tokens into fallback tokens. If a construct
108990 ** like the following:
108991 **
@@ -109189,11 +109187,11 @@
109187 "carglist", "id", "ids", "typetoken",
109188 "typename", "signed", "plus_num", "minus_num",
109189 "ccons", "term", "expr", "onconf",
109190 "sortorder", "autoinc", "idxlist_opt", "refargs",
109191 "defer_subclause", "refarg", "refact", "init_deferred_pred_opt",
109192 "conslist", "tconscomma", "tcons", "idxlist",
109193 "defer_subclause_opt", "orconf", "resolvetype", "raisetype",
109194 "ifexists", "fullname", "oneselect", "multiselect_op",
109195 "distinct", "selcollist", "from", "where_opt",
109196 "groupby_opt", "having_opt", "orderby_opt", "limit_opt",
109197 "sclp", "as", "seltablist", "stl_prefix",
@@ -109301,16 +109299,16 @@
109299 /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt",
109300 /* 84 */ "init_deferred_pred_opt ::=",
109301 /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED",
109302 /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE",
109303 /* 87 */ "conslist_opt ::=",
109304 /* 88 */ "conslist_opt ::= COMMA conslist",
109305 /* 89 */ "conslist ::= conslist tconscomma tcons",
109306 /* 90 */ "conslist ::= tcons",
109307 /* 91 */ "tconscomma ::= COMMA",
109308 /* 92 */ "tconscomma ::=",
109309 /* 93 */ "tcons ::= CONSTRAINT nm",
109310 /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf",
109311 /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf",
109312 /* 96 */ "tcons ::= CHECK LP expr RP onconf",
109313 /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt",
109314 /* 98 */ "defer_subclause_opt ::=",
@@ -110020,16 +110018,16 @@
110018 { 180, 2 },
110019 { 183, 0 },
110020 { 183, 2 },
110021 { 183, 2 },
110022 { 159, 0 },
110023 { 159, 2 },
 
110024 { 184, 3 },
110025 { 184, 1 },
110026 { 185, 1 },
110027 { 185, 0 },
110028 { 186, 2 },
110029 { 186, 7 },
110030 { 186, 5 },
110031 { 186, 5 },
110032 { 186, 10 },
110033 { 188, 0 },
@@ -110463,11 +110461,11 @@
110461 break;
110462 case 50: /* typename ::= typename ids */
110463 {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);}
110464 break;
110465 case 55: /* ccons ::= CONSTRAINT nm */
110466 case 93: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93);
110467 {pParse->constraintName = yymsp[0].minor.yy0;}
110468 break;
110469 case 56: /* ccons ::= DEFAULT term */
110470 case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58);
110471 {sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);}
@@ -110550,14 +110548,14 @@
110548 {yygotominor.yy392 = yymsp[0].minor.yy392;}
110549 break;
110550 case 87: /* conslist_opt ::= */
110551 {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;}
110552 break;
110553 case 88: /* conslist_opt ::= COMMA conslist */
110554 {yygotominor.yy0 = yymsp[-1].minor.yy0;}
110555 break;
110556 case 91: /* tconscomma ::= COMMA */
110557 {pParse->constraintName.n = 0;}
110558 break;
110559 case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */
110560 {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);}
110561 break;
@@ -111426,13 +111424,13 @@
111424 /* (51) signed ::= plus_num */ yytestcase(yyruleno==51);
111425 /* (52) signed ::= minus_num */ yytestcase(yyruleno==52);
111426 /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53);
111427 /* (54) carglist ::= */ yytestcase(yyruleno==54);
111428 /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61);
111429 /* (89) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==89);
111430 /* (90) conslist ::= tcons */ yytestcase(yyruleno==90);
111431 /* (92) tconscomma ::= */ yytestcase(yyruleno==92);
111432 /* (277) foreach_clause ::= */ yytestcase(yyruleno==277);
111433 /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278);
111434 /* (285) tridxby ::= */ yytestcase(yyruleno==285);
111435 /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303);
111436 /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304);
@@ -117371,11 +117369,11 @@
117369
117370 SQLITE_PRIVATE int sqlite3Fts3MsrIncrStart(
117371 Fts3Table*, Fts3MultiSegReader*, int, const char*, int);
117372 SQLITE_PRIVATE int sqlite3Fts3MsrIncrNext(
117373 Fts3Table *, Fts3MultiSegReader *, sqlite3_int64 *, char **, int *);
117374 SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol, char **);
117375 SQLITE_PRIVATE int sqlite3Fts3MsrOvfl(Fts3Cursor *, Fts3MultiSegReader *, int *);
117376 SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr);
117377
117378 SQLITE_PRIVATE int sqlite3Fts3DeferredTokenList(Fts3DeferredToken *, char **, int *);
117379
@@ -121036,11 +121034,11 @@
121034 int bDescIdx, /* True if the doclist is desc */
121035 char *aDoclist, /* Pointer to entire doclist */
121036 int nDoclist, /* Length of aDoclist in bytes */
121037 char **ppIter, /* IN/OUT: Iterator pointer */
121038 sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */
121039 int *pnList, /* OUT: List length pointer */
121040 u8 *pbEof /* OUT: End-of-file flag */
121041 ){
121042 char *p = *ppIter;
121043
121044 assert( nDoclist>0 );
@@ -121082,10 +121080,45 @@
121080 *pnList = (int)(pSave - p);
121081 }
121082 *ppIter = p;
121083 }
121084 }
121085
121086 /*
121087 ** Iterate forwards through a doclist.
121088 */
121089 SQLITE_PRIVATE void sqlite3Fts3DoclistNext(
121090 int bDescIdx, /* True if the doclist is desc */
121091 char *aDoclist, /* Pointer to entire doclist */
121092 int nDoclist, /* Length of aDoclist in bytes */
121093 char **ppIter, /* IN/OUT: Iterator pointer */
121094 sqlite3_int64 *piDocid, /* IN/OUT: Docid pointer */
121095 u8 *pbEof /* OUT: End-of-file flag */
121096 ){
121097 char *p = *ppIter;
121098
121099 assert( nDoclist>0 );
121100 assert( *pbEof==0 );
121101 assert( p || *piDocid==0 );
121102 assert( !p || (p>=aDoclist && p<=&aDoclist[nDoclist]) );
121103
121104 if( p==0 ){
121105 p = aDoclist;
121106 p += sqlite3Fts3GetVarint(p, piDocid);
121107 }else{
121108 fts3PoslistCopy(0, &p);
121109 if( p>=&aDoclist[nDoclist] ){
121110 *pbEof = 1;
121111 }else{
121112 sqlite3_int64 iVar;
121113 p += sqlite3Fts3GetVarint(p, &iVar);
121114 *piDocid += ((bDescIdx ? -1 : 1) * iVar);
121115 }
121116 }
121117
121118 *ppIter = p;
121119 }
121120
121121 /*
121122 ** Attempt to move the phrase iterator to point to the next matching docid.
121123 ** If an error occurs, return an SQLite error code. Otherwise, return
121124 ** SQLITE_OK.
@@ -122238,30 +122271,91 @@
122271 ** 0x04 0x05 0x03 0x01 or 0x04 0x05 0x03 0x00
122272 **
122273 ** This function works regardless of whether or not the phrase is deferred,
122274 ** incremental, or neither.
122275 */
122276 SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist(
122277 Fts3Cursor *pCsr, /* FTS3 cursor object */
122278 Fts3Expr *pExpr, /* Phrase to return doclist for */
122279 int iCol, /* Column to return position list for */
122280 char **ppOut /* OUT: Pointer to position list */
122281 ){
122282 Fts3Phrase *pPhrase = pExpr->pPhrase;
122283 Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
122284 char *pIter;
122285 int iThis;
122286 sqlite3_int64 iDocid;
122287
122288 /* If this phrase is applies specifically to some column other than
122289 ** column iCol, return a NULL pointer. */
122290 *ppOut = 0;
122291 assert( iCol>=0 && iCol<pTab->nColumn );
122292 if( (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol) ){
122293 return SQLITE_OK;
 
 
 
 
122294 }
122295
122296 iDocid = pExpr->iDocid;
122297 pIter = pPhrase->doclist.pList;
122298 if( iDocid!=pCsr->iPrevId || pExpr->bEof ){
122299 int bDescDoclist = pTab->bDescIdx; /* For DOCID_CMP macro */
122300 int bOr = 0;
122301 u8 bEof = 0;
122302 Fts3Expr *p;
122303
122304 /* Check if this phrase descends from an OR expression node. If not,
122305 ** return NULL. Otherwise, the entry that corresponds to docid
122306 ** pCsr->iPrevId may lie earlier in the doclist buffer. */
122307 for(p=pExpr->pParent; p; p=p->pParent){
122308 if( p->eType==FTSQUERY_OR ) bOr = 1;
122309 }
122310 if( bOr==0 ) return SQLITE_OK;
122311
122312 /* This is the descendent of an OR node. In this case we cannot use
122313 ** an incremental phrase. Load the entire doclist for the phrase
122314 ** into memory in this case. */
122315 if( pPhrase->bIncr ){
122316 int rc = SQLITE_OK;
122317 int bEofSave = pExpr->bEof;
122318 fts3EvalRestart(pCsr, pExpr, &rc);
122319 while( rc==SQLITE_OK && !pExpr->bEof ){
122320 fts3EvalNextRow(pCsr, pExpr, &rc);
122321 if( bEofSave==0 && pExpr->iDocid==iDocid ) break;
122322 }
122323 pIter = pPhrase->doclist.pList;
122324 assert( rc!=SQLITE_OK || pPhrase->bIncr==0 );
122325 if( rc!=SQLITE_OK ) return rc;
122326 }
122327
122328 if( pExpr->bEof ){
122329 pIter = 0;
122330 iDocid = 0;
122331 }
122332 bEof = (pPhrase->doclist.nAll==0);
122333 assert( bDescDoclist==0 || bDescDoclist==1 );
122334 assert( pCsr->bDesc==0 || pCsr->bDesc==1 );
122335
122336 if( pCsr->bDesc==bDescDoclist ){
122337 int dummy;
122338 while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)>0 ) && bEof==0 ){
122339 sqlite3Fts3DoclistPrev(
122340 bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll,
122341 &pIter, &iDocid, &dummy, &bEof
122342 );
122343 }
122344 }else{
122345 while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)<0 ) && bEof==0 ){
122346 sqlite3Fts3DoclistNext(
122347 bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll,
122348 &pIter, &iDocid, &bEof
122349 );
122350 }
122351 }
122352
122353 if( bEof || iDocid!=pCsr->iPrevId ) pIter = 0;
122354 }
122355 if( pIter==0 ) return SQLITE_OK;
122356
122357 if( *pIter==0x01 ){
122358 pIter++;
122359 pIter += sqlite3Fts3GetVarint32(pIter, &iThis);
122360 }else{
122361 iThis = 0;
@@ -122271,11 +122365,12 @@
122365 if( *pIter==0x00 ) return 0;
122366 pIter++;
122367 pIter += sqlite3Fts3GetVarint32(pIter, &iThis);
122368 }
122369
122370 *ppOut = ((iCol==iThis)?pIter:0);
122371 return SQLITE_OK;
122372 }
122373
122374 /*
122375 ** Free all components of the Fts3Phrase structure that were allocated by
122376 ** the eval module. Specifically, this means to free:
@@ -131318,14 +131413,15 @@
131413 */
131414 static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){
131415 SnippetIter *p = (SnippetIter *)ctx;
131416 SnippetPhrase *pPhrase = &p->aPhrase[iPhrase];
131417 char *pCsr;
131418 int rc;
131419
131420 pPhrase->nToken = pExpr->pPhrase->nToken;
131421 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pCsr);
131422 assert( rc==SQLITE_OK || pCsr==0 );
131423 if( pCsr ){
131424 int iFirst = 0;
131425 pPhrase->pList = pCsr;
131426 fts3GetDeltaPosition(&pCsr, &iFirst);
131427 assert( iFirst>=0 );
@@ -131332,14 +131428,16 @@
131428 pPhrase->pHead = pCsr;
131429 pPhrase->pTail = pCsr;
131430 pPhrase->iHead = iFirst;
131431 pPhrase->iTail = iFirst;
131432 }else{
131433 assert( rc!=SQLITE_OK || (
131434 pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0
131435 ));
131436 }
131437
131438 return rc;
131439 }
131440
131441 /*
131442 ** Select the fragment of text consisting of nFragment contiguous tokens
131443 ** from column iCol that represent the "best" snippet. The best snippet
@@ -131728,25 +131826,26 @@
131826 static int fts3ExprLocalHitsCb(
131827 Fts3Expr *pExpr, /* Phrase expression node */
131828 int iPhrase, /* Phrase number */
131829 void *pCtx /* Pointer to MatchInfo structure */
131830 ){
131831 int rc = SQLITE_OK;
131832 MatchInfo *p = (MatchInfo *)pCtx;
131833 int iStart = iPhrase * p->nCol * 3;
131834 int i;
131835
131836 for(i=0; i<p->nCol && rc==SQLITE_OK; i++){
131837 char *pCsr;
131838 rc = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i, &pCsr);
131839 if( pCsr ){
131840 p->aMatchinfo[iStart+i*3] = fts3ColumnlistCount(&pCsr);
131841 }else{
131842 p->aMatchinfo[iStart+i*3] = 0;
131843 }
131844 }
131845
131846 return rc;
131847 }
131848
131849 static int fts3MatchinfoCheck(
131850 Fts3Table *pTab,
131851 char cArg,
@@ -131903,12 +132002,14 @@
132002 for(iCol=0; iCol<pInfo->nCol; iCol++){
132003 int nLcs = 0; /* LCS value for this column */
132004 int nLive = 0; /* Number of iterators in aIter not at EOF */
132005
132006 for(i=0; i<pInfo->nPhrase; i++){
132007 int rc;
132008 LcsIterator *pIt = &aIter[i];
132009 rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead);
132010 if( rc!=SQLITE_OK ) return rc;
132011 if( pIt->pRead ){
132012 pIt->iPos = pIt->iPosOffset;
132013 fts3LcsIteratorAdvance(&aIter[i]);
132014 nLive++;
132015 }
@@ -132256,13 +132357,14 @@
132357 TermOffsetCtx *p = (TermOffsetCtx *)ctx;
132358 int nTerm; /* Number of tokens in phrase */
132359 int iTerm; /* For looping through nTerm phrase terms */
132360 char *pList; /* Pointer to position list for phrase */
132361 int iPos = 0; /* First position in position-list */
132362 int rc;
132363
132364 UNUSED_PARAMETER(iPhrase);
132365 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
132366 nTerm = pExpr->pPhrase->nToken;
132367 if( pList ){
132368 fts3GetDeltaPosition(&pList, &iPos);
132369 assert( iPos>=0 );
132370 }
@@ -132272,11 +132374,11 @@
132374 pT->iOff = nTerm-iTerm-1;
132375 pT->pList = pList;
132376 pT->iPos = iPos;
132377 }
132378
132379 return rc;
132380 }
132381
132382 /*
132383 ** Implementation of offsets() function.
132384 */
132385
+2 -2
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -107,11 +107,11 @@
107107
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108108
** [sqlite_version()] and [sqlite_source_id()].
109109
*/
110110
#define SQLITE_VERSION "3.7.12"
111111
#define SQLITE_VERSION_NUMBER 3007012
112
-#define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e"
112
+#define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58"
113113
114114
/*
115115
** CAPI3REF: Run-Time Library Version Numbers
116116
** KEYWORDS: sqlite3_version, sqlite3_sourceid
117117
**
@@ -6013,11 +6013,11 @@
60136013
** been written to disk. Specifically, the number of pages written to the
60146014
** wal file in wal mode databases, or the number of pages written to the
60156015
** database file in rollback mode databases. Any pages written as part of
60166016
** transaction rollback or database recovery operations are not included.
60176017
** If an IO or other error occurs while writing a page to disk, the effect
6018
-** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The
6018
+** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The
60196019
** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
60206020
** </dd>
60216021
** </dl>
60226022
*/
60236023
#define SQLITE_DBSTATUS_LOOKASIDE_USED 0
60246024
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -107,11 +107,11 @@
107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108 ** [sqlite_version()] and [sqlite_source_id()].
109 */
110 #define SQLITE_VERSION "3.7.12"
111 #define SQLITE_VERSION_NUMBER 3007012
112 #define SQLITE_SOURCE_ID "2012-05-08 11:17:33 38bf90af1ede6ee64ef7be66392e895e60c9126e"
113
114 /*
115 ** CAPI3REF: Run-Time Library Version Numbers
116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
117 **
@@ -6013,11 +6013,11 @@
6013 ** been written to disk. Specifically, the number of pages written to the
6014 ** wal file in wal mode databases, or the number of pages written to the
6015 ** database file in rollback mode databases. Any pages written as part of
6016 ** transaction rollback or database recovery operations are not included.
6017 ** If an IO or other error occurs while writing a page to disk, the effect
6018 ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined). ^The
6019 ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
6020 ** </dd>
6021 ** </dl>
6022 */
6023 #define SQLITE_DBSTATUS_LOOKASIDE_USED 0
6024
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -107,11 +107,11 @@
107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108 ** [sqlite_version()] and [sqlite_source_id()].
109 */
110 #define SQLITE_VERSION "3.7.12"
111 #define SQLITE_VERSION_NUMBER 3007012
112 #define SQLITE_SOURCE_ID "2012-05-12 18:29:53 e536ac041815b118c461ceee798f9b7283269f58"
113
114 /*
115 ** CAPI3REF: Run-Time Library Version Numbers
116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
117 **
@@ -6013,11 +6013,11 @@
6013 ** been written to disk. Specifically, the number of pages written to the
6014 ** wal file in wal mode databases, or the number of pages written to the
6015 ** database file in rollback mode databases. Any pages written as part of
6016 ** transaction rollback or database recovery operations are not included.
6017 ** If an IO or other error occurs while writing a page to disk, the effect
6018 ** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The
6019 ** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0.
6020 ** </dd>
6021 ** </dl>
6022 */
6023 #define SQLITE_DBSTATUS_LOOKASIDE_USED 0
6024

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button