| | @@ -1,8 +1,8 @@ |
| 1 | 1 | /****************************************************************************** |
| 2 | 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | | -** version 3.23.0. By combining all the individual C code files into this |
| 3 | +** version 3.23.1. By combining all the individual C code files into this |
| 4 | 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | 8 | ** translation unit. |
| | @@ -1145,13 +1145,13 @@ |
| 1145 | 1145 | ** |
| 1146 | 1146 | ** See also: [sqlite3_libversion()], |
| 1147 | 1147 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1148 | 1148 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1149 | 1149 | */ |
| 1150 | | -#define SQLITE_VERSION "3.23.0" |
| 1151 | | -#define SQLITE_VERSION_NUMBER 3023000 |
| 1152 | | -#define SQLITE_SOURCE_ID "2018-04-02 11:04:16 736b53f57f70b23172c30880186dce7ad9baa3b74e3838cae5847cffb98f5cd2" |
| 1150 | +#define SQLITE_VERSION "3.23.1" |
| 1151 | +#define SQLITE_VERSION_NUMBER 3023001 |
| 1152 | +#define SQLITE_SOURCE_ID "2018-04-10 17:39:29 4bb2294022060e61de7da5c227a69ccd846ba330e31626ebcd59a94efd148b3b" |
| 1153 | 1153 | |
| 1154 | 1154 | /* |
| 1155 | 1155 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1156 | 1156 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1157 | 1157 | ** |
| | @@ -11128,10 +11128,17 @@ |
| 11128 | 11128 | ** is set to the size of the buffer in bytes. It is the responsibility of the |
| 11129 | 11129 | ** caller to eventually free any such buffer using sqlite3_free(). The buffer |
| 11130 | 11130 | ** is only allocated and populated if one or more conflicts were encountered |
| 11131 | 11131 | ** while applying the patchset. See comments surrounding the sqlite3_rebaser |
| 11132 | 11132 | ** APIs for further details. |
| 11133 | +** |
| 11134 | +** The behavior of sqlite3changeset_apply_v2() and its streaming equivalent |
| 11135 | +** may be modified by passing a combination of |
| 11136 | +** [SQLITE_CHANGESETAPPLY_NOSAVEPOINT | supported flags] as the 9th parameter. |
| 11137 | +** |
| 11138 | +** Note that the sqlite3changeset_apply_v2() API is still <b>experimental</b> |
| 11139 | +** and therefore subject to change. |
| 11133 | 11140 | */ |
| 11134 | 11141 | SQLITE_API int sqlite3changeset_apply( |
| 11135 | 11142 | sqlite3 *db, /* Apply change to "main" db of this handle */ |
| 11136 | 11143 | int nChangeset, /* Size of changeset in bytes */ |
| 11137 | 11144 | void *pChangeset, /* Changeset blob */ |
| | @@ -11158,13 +11165,32 @@ |
| 11158 | 11165 | void *pCtx, /* Copy of sixth arg to _apply() */ |
| 11159 | 11166 | int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ |
| 11160 | 11167 | sqlite3_changeset_iter *p /* Handle describing change and conflict */ |
| 11161 | 11168 | ), |
| 11162 | 11169 | void *pCtx, /* First argument passed to xConflict */ |
| 11163 | | - void **ppRebase, int *pnRebase |
| 11170 | + void **ppRebase, int *pnRebase, /* OUT: Rebase data */ |
| 11171 | + int flags /* Combination of SESSION_APPLY_* flags */ |
| 11164 | 11172 | ); |
| 11165 | 11173 | |
| 11174 | +/* |
| 11175 | +** CAPI3REF: Flags for sqlite3changeset_apply_v2 |
| 11176 | +** |
| 11177 | +** The following flags may passed via the 9th parameter to |
| 11178 | +** [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: |
| 11179 | +** |
| 11180 | +** <dl> |
| 11181 | +** <dt>SQLITE_CHANGESETAPPLY_NOSAVEPOINT <dd> |
| 11182 | +** Usually, the sessions module encloses all operations performed by |
| 11183 | +** a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The |
| 11184 | +** SAVEPOINT is committed if the changeset or patchset is successfully |
| 11185 | +** applied, or rolled back if an error occurs. Specifying this flag |
| 11186 | +** causes the sessions module to omit this savepoint. In this case, if the |
| 11187 | +** caller has an open transaction or savepoint when apply_v2() is called, |
| 11188 | +** it may revert the partially applied changeset by rolling it back. |
| 11189 | +*/ |
| 11190 | +#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001 |
| 11191 | + |
| 11166 | 11192 | /* |
| 11167 | 11193 | ** CAPI3REF: Constants Passed To The Conflict Handler |
| 11168 | 11194 | ** |
| 11169 | 11195 | ** Values that may be passed as the second argument to a conflict-handler. |
| 11170 | 11196 | ** |
| | @@ -11421,10 +11447,11 @@ |
| 11421 | 11447 | ** corresponding non-streaming API functions: |
| 11422 | 11448 | ** |
| 11423 | 11449 | ** <table border=1 style="margin-left:8ex;margin-right:8ex"> |
| 11424 | 11450 | ** <tr><th>Streaming function<th>Non-streaming equivalent</th> |
| 11425 | 11451 | ** <tr><td>sqlite3changeset_apply_strm<td>[sqlite3changeset_apply] |
| 11452 | +** <tr><td>sqlite3changeset_apply_strm_v2<td>[sqlite3changeset_apply_v2] |
| 11426 | 11453 | ** <tr><td>sqlite3changeset_concat_strm<td>[sqlite3changeset_concat] |
| 11427 | 11454 | ** <tr><td>sqlite3changeset_invert_strm<td>[sqlite3changeset_invert] |
| 11428 | 11455 | ** <tr><td>sqlite3changeset_start_strm<td>[sqlite3changeset_start] |
| 11429 | 11456 | ** <tr><td>sqlite3session_changeset_strm<td>[sqlite3session_changeset] |
| 11430 | 11457 | ** <tr><td>sqlite3session_patchset_strm<td>[sqlite3session_patchset] |
| | @@ -11530,11 +11557,12 @@ |
| 11530 | 11557 | void *pCtx, /* Copy of sixth arg to _apply() */ |
| 11531 | 11558 | int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ |
| 11532 | 11559 | sqlite3_changeset_iter *p /* Handle describing change and conflict */ |
| 11533 | 11560 | ), |
| 11534 | 11561 | void *pCtx, /* First argument passed to xConflict */ |
| 11535 | | - void **ppRebase, int *pnRebase |
| 11562 | + void **ppRebase, int *pnRebase, |
| 11563 | + int flags |
| 11536 | 11564 | ); |
| 11537 | 11565 | SQLITE_API int sqlite3changeset_concat_strm( |
| 11538 | 11566 | int (*xInputA)(void *pIn, void *pData, int *pnData), |
| 11539 | 11567 | void *pInA, |
| 11540 | 11568 | int (*xInputB)(void *pIn, void *pData, int *pnData), |
| | @@ -21285,10 +21313,11 @@ |
| 21285 | 21313 | ** really care if the VFS receives and understands the information since it |
| 21286 | 21314 | ** is only a hint and can be safely ignored. The sqlite3OsFileControlHint() |
| 21287 | 21315 | ** routine has no return value since the return value would be meaningless. |
| 21288 | 21316 | */ |
| 21289 | 21317 | SQLITE_PRIVATE int sqlite3OsFileControl(sqlite3_file *id, int op, void *pArg){ |
| 21318 | + if( id->pMethods==0 ) return SQLITE_NOTFOUND; |
| 21290 | 21319 | #ifdef SQLITE_TEST |
| 21291 | 21320 | if( op!=SQLITE_FCNTL_COMMIT_PHASETWO |
| 21292 | 21321 | && op!=SQLITE_FCNTL_LOCK_TIMEOUT |
| 21293 | 21322 | ){ |
| 21294 | 21323 | /* Faults are not injected into COMMIT_PHASETWO because, assuming SQLite |
| | @@ -21302,11 +21331,10 @@ |
| 21302 | 21331 | ** means the commit really has failed and an error should be returned |
| 21303 | 21332 | ** to the user. */ |
| 21304 | 21333 | DO_OS_MALLOC_TEST(id); |
| 21305 | 21334 | } |
| 21306 | 21335 | #endif |
| 21307 | | - if( id->pMethods==0 ) return SQLITE_NOTFOUND; |
| 21308 | 21336 | return id->pMethods->xFileControl(id, op, pArg); |
| 21309 | 21337 | } |
| 21310 | 21338 | SQLITE_PRIVATE void sqlite3OsFileControlHint(sqlite3_file *id, int op, void *pArg){ |
| 21311 | 21339 | if( id->pMethods ) (void)id->pMethods->xFileControl(id, op, pArg); |
| 21312 | 21340 | } |
| | @@ -98998,16 +99026,20 @@ |
| 98998 | 99026 | assert( pExpr->op!=TK_AGG_COLUMN ); |
| 98999 | 99027 | testcase( pExpr->op==TK_AGG_FUNCTION ); |
| 99000 | 99028 | |
| 99001 | 99029 | if( ExprHasProperty(pExpr, EP_FromJoin) ) return WRC_Prune; |
| 99002 | 99030 | switch( pExpr->op ){ |
| 99031 | + case TK_ISNOT: |
| 99032 | + case TK_NOT: |
| 99003 | 99033 | case TK_ISNULL: |
| 99004 | 99034 | case TK_IS: |
| 99005 | 99035 | case TK_OR: |
| 99006 | 99036 | case TK_CASE: |
| 99007 | 99037 | case TK_IN: |
| 99008 | 99038 | case TK_FUNCTION: |
| 99039 | + testcase( pExpr->op==TK_ISNOT ); |
| 99040 | + testcase( pExpr->op==TK_NOT ); |
| 99009 | 99041 | testcase( pExpr->op==TK_ISNULL ); |
| 99010 | 99042 | testcase( pExpr->op==TK_IS ); |
| 99011 | 99043 | testcase( pExpr->op==TK_OR ); |
| 99012 | 99044 | testcase( pExpr->op==TK_CASE ); |
| 99013 | 99045 | testcase( pExpr->op==TK_IN ); |
| | @@ -99017,10 +99049,31 @@ |
| 99017 | 99049 | if( pWalker->u.iCur==pExpr->iTable ){ |
| 99018 | 99050 | pWalker->eCode = 1; |
| 99019 | 99051 | return WRC_Abort; |
| 99020 | 99052 | } |
| 99021 | 99053 | return WRC_Prune; |
| 99054 | + |
| 99055 | + /* Virtual tables are allowed to use constraints like x=NULL. So |
| 99056 | + ** a term of the form x=y does not prove that y is not null if x |
| 99057 | + ** is the column of a virtual table */ |
| 99058 | + case TK_EQ: |
| 99059 | + case TK_NE: |
| 99060 | + case TK_LT: |
| 99061 | + case TK_LE: |
| 99062 | + case TK_GT: |
| 99063 | + case TK_GE: |
| 99064 | + testcase( pExpr->op==TK_EQ ); |
| 99065 | + testcase( pExpr->op==TK_NE ); |
| 99066 | + testcase( pExpr->op==TK_LT ); |
| 99067 | + testcase( pExpr->op==TK_LE ); |
| 99068 | + testcase( pExpr->op==TK_GT ); |
| 99069 | + testcase( pExpr->op==TK_GE ); |
| 99070 | + if( (pExpr->pLeft->op==TK_COLUMN && IsVirtual(pExpr->pLeft->pTab)) |
| 99071 | + || (pExpr->pRight->op==TK_COLUMN && IsVirtual(pExpr->pRight->pTab)) |
| 99072 | + ){ |
| 99073 | + return WRC_Prune; |
| 99074 | + } |
| 99022 | 99075 | default: |
| 99023 | 99076 | return WRC_Continue; |
| 99024 | 99077 | } |
| 99025 | 99078 | } |
| 99026 | 99079 | |
| | @@ -104604,11 +104657,11 @@ |
| 104604 | 104657 | SQLITE_PRIVATE void sqlite3ChangeCookie(Parse *pParse, int iDb){ |
| 104605 | 104658 | sqlite3 *db = pParse->db; |
| 104606 | 104659 | Vdbe *v = pParse->pVdbe; |
| 104607 | 104660 | assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); |
| 104608 | 104661 | sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_SCHEMA_VERSION, |
| 104609 | | - db->aDb[iDb].pSchema->schema_cookie+1); |
| 104662 | + (int)(1+(unsigned)db->aDb[iDb].pSchema->schema_cookie)); |
| 104610 | 104663 | } |
| 104611 | 104664 | |
| 104612 | 104665 | /* |
| 104613 | 104666 | ** Measure the number of characters needed to output the given |
| 104614 | 104667 | ** identifier. The number returned includes any quotes used |
| | @@ -124593,13 +124646,11 @@ |
| 124593 | 124646 | if( (selFlags & SF_Expanded)!=0 ){ |
| 124594 | 124647 | return WRC_Prune; |
| 124595 | 124648 | } |
| 124596 | 124649 | pTabList = p->pSrc; |
| 124597 | 124650 | pEList = p->pEList; |
| 124598 | | - if( OK_IF_ALWAYS_TRUE(p->pWith) ){ |
| 124599 | | - sqlite3WithPush(pParse, p->pWith, 0); |
| 124600 | | - } |
| 124651 | + sqlite3WithPush(pParse, p->pWith, 0); |
| 124601 | 124652 | |
| 124602 | 124653 | /* Make sure cursor numbers have been assigned to all entries in |
| 124603 | 124654 | ** the FROM clause of the SELECT statement. |
| 124604 | 124655 | */ |
| 124605 | 124656 | sqlite3SrcListAssignCursors(pParse, pTabList); |
| | @@ -128058,11 +128109,11 @@ |
| 128058 | 128109 | iPk = pParse->nMem+1; |
| 128059 | 128110 | pParse->nMem += nPk; |
| 128060 | 128111 | regKey = ++pParse->nMem; |
| 128061 | 128112 | iEph = pParse->nTab++; |
| 128062 | 128113 | |
| 128063 | | - sqlite3VdbeAddOp2(v, OP_Null, 0, iPk); |
| 128114 | + sqlite3VdbeAddOp3(v, OP_Null, 0, iPk, iPk+nPk-1); |
| 128064 | 128115 | addrOpen = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, iEph, nPk); |
| 128065 | 128116 | sqlite3VdbeSetP4KeyInfo(pParse, pPk); |
| 128066 | 128117 | } |
| 128067 | 128118 | |
| 128068 | 128119 | /* Begin the database scan. |
| | @@ -130230,11 +130281,11 @@ |
| 130230 | 130281 | |
| 130231 | 130282 | /* |
| 130232 | 130283 | ** Trace output macros |
| 130233 | 130284 | */ |
| 130234 | 130285 | #if defined(SQLITE_TEST) || defined(SQLITE_DEBUG) |
| 130235 | | -/***/ int sqlite3WhereTrace; |
| 130286 | +/***/ extern int sqlite3WhereTrace; |
| 130236 | 130287 | #endif |
| 130237 | 130288 | #if defined(SQLITE_DEBUG) \ |
| 130238 | 130289 | && (defined(SQLITE_TEST) || defined(SQLITE_ENABLE_WHERETRACE)) |
| 130239 | 130290 | # define WHERETRACE(K,X) if(sqlite3WhereTrace&(K)) sqlite3DebugPrintf X |
| 130240 | 130291 | # define WHERETRACE_ENABLED 1 |
| | @@ -136883,12 +136934,12 @@ |
| 136883 | 136934 | LogEst rLogSize; /* Logarithm of table size */ |
| 136884 | 136935 | WhereTerm *pTop = 0, *pBtm = 0; /* Top and bottom range constraints */ |
| 136885 | 136936 | |
| 136886 | 136937 | pNew = pBuilder->pNew; |
| 136887 | 136938 | if( db->mallocFailed ) return SQLITE_NOMEM_BKPT; |
| 136888 | | - WHERETRACE(0x800, ("BEGIN addBtreeIdx(%s), nEq=%d\n", |
| 136889 | | - pProbe->zName, pNew->u.btree.nEq)); |
| 136939 | + WHERETRACE(0x800, ("BEGIN %s.addBtreeIdx(%s), nEq=%d\n", |
| 136940 | + pProbe->pTable->zName,pProbe->zName, pNew->u.btree.nEq)); |
| 136890 | 136941 | |
| 136891 | 136942 | assert( (pNew->wsFlags & WHERE_VIRTUALTABLE)==0 ); |
| 136892 | 136943 | assert( (pNew->wsFlags & WHERE_TOP_LIMIT)==0 ); |
| 136893 | 136944 | if( pNew->wsFlags & WHERE_BTM_LIMIT ){ |
| 136894 | 136945 | opMask = WO_LT|WO_LE; |
| | @@ -137170,12 +137221,12 @@ |
| 137170 | 137221 | pNew->u.btree.nEq = saved_nEq; |
| 137171 | 137222 | pNew->nSkip = saved_nSkip; |
| 137172 | 137223 | pNew->wsFlags = saved_wsFlags; |
| 137173 | 137224 | } |
| 137174 | 137225 | |
| 137175 | | - WHERETRACE(0x800, ("END addBtreeIdx(%s), nEq=%d, rc=%d\n", |
| 137176 | | - pProbe->zName, saved_nEq, rc)); |
| 137226 | + WHERETRACE(0x800, ("END %s.addBtreeIdx(%s), nEq=%d, rc=%d\n", |
| 137227 | + pProbe->pTable->zName, pProbe->zName, saved_nEq, rc)); |
| 137177 | 137228 | return rc; |
| 137178 | 137229 | } |
| 137179 | 137230 | |
| 137180 | 137231 | /* |
| 137181 | 137232 | ** Return True if it is possible that pIndex might be useful in |
| | @@ -137609,13 +137660,13 @@ |
| 137609 | 137660 | || j<0 |
| 137610 | 137661 | || j>=pWC->nTerm |
| 137611 | 137662 | || pNew->aLTerm[iTerm]!=0 |
| 137612 | 137663 | || pIdxCons->usable==0 |
| 137613 | 137664 | ){ |
| 137614 | | - rc = SQLITE_ERROR; |
| 137615 | 137665 | sqlite3ErrorMsg(pParse,"%s.xBestIndex malfunction",pSrc->pTab->zName); |
| 137616 | | - return rc; |
| 137666 | + testcase( pIdxInfo->needToFreeIdxStr ); |
| 137667 | + return SQLITE_ERROR; |
| 137617 | 137668 | } |
| 137618 | 137669 | testcase( iTerm==nConstraint-1 ); |
| 137619 | 137670 | testcase( j==0 ); |
| 137620 | 137671 | testcase( j==pWC->nTerm-1 ); |
| 137621 | 137672 | pTerm = &pWC->a[j]; |
| | @@ -137639,10 +137690,19 @@ |
| 137639 | 137690 | } |
| 137640 | 137691 | } |
| 137641 | 137692 | pNew->u.vtab.omitMask &= ~mNoOmit; |
| 137642 | 137693 | |
| 137643 | 137694 | pNew->nLTerm = mxTerm+1; |
| 137695 | + for(i=0; i<=mxTerm; i++){ |
| 137696 | + if( pNew->aLTerm[i]==0 ){ |
| 137697 | + /* The non-zero argvIdx values must be contiguous. Raise an |
| 137698 | + ** error if they are not */ |
| 137699 | + sqlite3ErrorMsg(pParse,"%s.xBestIndex malfunction",pSrc->pTab->zName); |
| 137700 | + testcase( pIdxInfo->needToFreeIdxStr ); |
| 137701 | + return SQLITE_ERROR; |
| 137702 | + } |
| 137703 | + } |
| 137644 | 137704 | assert( pNew->nLTerm<=pNew->nLSlot ); |
| 137645 | 137705 | pNew->u.vtab.idxNum = pIdxInfo->idxNum; |
| 137646 | 137706 | pNew->u.vtab.needFree = pIdxInfo->needToFreeIdxStr; |
| 137647 | 137707 | pIdxInfo->needToFreeIdxStr = 0; |
| 137648 | 137708 | pNew->u.vtab.idxStr = pIdxInfo->idxStr; |
| | @@ -137754,10 +137814,11 @@ |
| 137754 | 137814 | sqlite3DbFree(pParse->db, p); |
| 137755 | 137815 | return SQLITE_NOMEM_BKPT; |
| 137756 | 137816 | } |
| 137757 | 137817 | |
| 137758 | 137818 | /* First call xBestIndex() with all constraints usable. */ |
| 137819 | + WHERETRACE(0x800, ("BEGIN %s.addVirtual()\n", pSrc->pTab->zName)); |
| 137759 | 137820 | WHERETRACE(0x40, (" VirtualOne: all usable\n")); |
| 137760 | 137821 | rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, 0, p, mNoOmit, &bIn); |
| 137761 | 137822 | |
| 137762 | 137823 | /* If the call to xBestIndex() with all terms enabled produced a plan |
| 137763 | 137824 | ** that does not require any source tables (IOW: a plan with mBest==0), |
| | @@ -137829,10 +137890,11 @@ |
| 137829 | 137890 | } |
| 137830 | 137891 | } |
| 137831 | 137892 | |
| 137832 | 137893 | if( p->needToFreeIdxStr ) sqlite3_free(p->idxStr); |
| 137833 | 137894 | sqlite3DbFreeNN(pParse->db, p); |
| 137895 | + WHERETRACE(0x800, ("END %s.addVirtual(), rc=%d\n", pSrc->pTab->zName, rc)); |
| 137834 | 137896 | return rc; |
| 137835 | 137897 | } |
| 137836 | 137898 | #endif /* SQLITE_OMIT_VIRTUALTABLE */ |
| 137837 | 137899 | |
| 137838 | 137900 | /* |
| | @@ -139969,21 +140031,21 @@ |
| 139969 | 140031 | #define sqlite3ParserARG_SDECL Parse *pParse; |
| 139970 | 140032 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 139971 | 140033 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 139972 | 140034 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 139973 | 140035 | #define YYFALLBACK 1 |
| 139974 | | -#define YYNSTATE 466 |
| 139975 | | -#define YYNRULE 330 |
| 140036 | +#define YYNSTATE 472 |
| 140037 | +#define YYNRULE 333 |
| 139976 | 140038 | #define YYNTOKEN 143 |
| 139977 | | -#define YY_MAX_SHIFT 465 |
| 139978 | | -#define YY_MIN_SHIFTREDUCE 675 |
| 139979 | | -#define YY_MAX_SHIFTREDUCE 1004 |
| 139980 | | -#define YY_ERROR_ACTION 1005 |
| 139981 | | -#define YY_ACCEPT_ACTION 1006 |
| 139982 | | -#define YY_NO_ACTION 1007 |
| 139983 | | -#define YY_MIN_REDUCE 1008 |
| 139984 | | -#define YY_MAX_REDUCE 1337 |
| 140039 | +#define YY_MAX_SHIFT 471 |
| 140040 | +#define YY_MIN_SHIFTREDUCE 681 |
| 140041 | +#define YY_MAX_SHIFTREDUCE 1013 |
| 140042 | +#define YY_ERROR_ACTION 1014 |
| 140043 | +#define YY_ACCEPT_ACTION 1015 |
| 140044 | +#define YY_NO_ACTION 1016 |
| 140045 | +#define YY_MIN_REDUCE 1017 |
| 140046 | +#define YY_MAX_REDUCE 1349 |
| 139985 | 140047 | /************* End control #defines *******************************************/ |
| 139986 | 140048 | |
| 139987 | 140049 | /* Define the yytestcase() macro to be a no-op if is not already defined |
| 139988 | 140050 | ** otherwise. |
| 139989 | 140051 | ** |
| | @@ -140045,326 +140107,328 @@ |
| 140045 | 140107 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 140046 | 140108 | ** shifting non-terminals after a reduce. |
| 140047 | 140109 | ** yy_default[] Default action for each state. |
| 140048 | 140110 | ** |
| 140049 | 140111 | *********** Begin parsing tables **********************************************/ |
| 140050 | | -#define YY_ACTTAB_COUNT (1541) |
| 140112 | +#define YY_ACTTAB_COUNT (1566) |
| 140051 | 140113 | static const YYACTIONTYPE yy_action[] = { |
| 140052 | | - /* 0 */ 1006, 156, 156, 2, 1302, 90, 87, 179, 90, 87, |
| 140053 | | - /* 10 */ 179, 460, 1048, 460, 465, 1010, 460, 333, 1130, 335, |
| 140054 | | - /* 20 */ 246, 330, 112, 303, 439, 1258, 304, 419, 1129, 1087, |
| 140055 | | - /* 30 */ 72, 798, 50, 50, 50, 50, 331, 30, 30, 799, |
| 140056 | | - /* 40 */ 951, 364, 371, 97, 98, 88, 983, 983, 859, 862, |
| 140057 | | - /* 50 */ 851, 851, 95, 95, 96, 96, 96, 96, 120, 371, |
| 140058 | | - /* 60 */ 370, 120, 348, 22, 90, 87, 179, 438, 423, 438, |
| 140059 | | - /* 70 */ 440, 335, 420, 385, 90, 87, 179, 116, 73, 163, |
| 140060 | | - /* 80 */ 848, 848, 860, 863, 94, 94, 94, 94, 93, 93, |
| 140061 | | - /* 90 */ 92, 92, 92, 91, 361, 97, 98, 88, 983, 983, |
| 140062 | | - /* 100 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, |
| 140063 | | - /* 110 */ 718, 365, 339, 93, 93, 92, 92, 92, 91, 361, |
| 140064 | | - /* 120 */ 99, 371, 453, 335, 94, 94, 94, 94, 93, 93, |
| 140065 | | - /* 130 */ 92, 92, 92, 91, 361, 852, 94, 94, 94, 94, |
| 140066 | | - /* 140 */ 93, 93, 92, 92, 92, 91, 361, 97, 98, 88, |
| 140067 | | - /* 150 */ 983, 983, 859, 862, 851, 851, 95, 95, 96, 96, |
| 140068 | | - /* 160 */ 96, 96, 92, 92, 92, 91, 361, 838, 132, 195, |
| 140069 | | - /* 170 */ 58, 244, 412, 409, 408, 335, 457, 457, 457, 304, |
| 140070 | | - /* 180 */ 59, 332, 831, 407, 394, 962, 830, 391, 94, 94, |
| 140071 | | - /* 190 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 97, |
| 140072 | | - /* 200 */ 98, 88, 983, 983, 859, 862, 851, 851, 95, 95, |
| 140073 | | - /* 210 */ 96, 96, 96, 96, 426, 357, 460, 830, 830, 832, |
| 140074 | | - /* 220 */ 91, 361, 962, 963, 964, 195, 459, 335, 412, 409, |
| 140075 | | - /* 230 */ 408, 280, 361, 820, 132, 11, 11, 50, 50, 407, |
| 140076 | | - /* 240 */ 94, 94, 94, 94, 93, 93, 92, 92, 92, 91, |
| 140077 | | - /* 250 */ 361, 97, 98, 88, 983, 983, 859, 862, 851, 851, |
| 140078 | | - /* 260 */ 95, 95, 96, 96, 96, 96, 460, 221, 460, 264, |
| 140079 | | - /* 270 */ 375, 254, 438, 428, 1276, 1276, 383, 1074, 1053, 335, |
| 140080 | | - /* 280 */ 245, 422, 299, 713, 271, 271, 1074, 50, 50, 50, |
| 140081 | | - /* 290 */ 50, 962, 94, 94, 94, 94, 93, 93, 92, 92, |
| 140082 | | - /* 300 */ 92, 91, 361, 97, 98, 88, 983, 983, 859, 862, |
| 140083 | | - /* 310 */ 851, 851, 95, 95, 96, 96, 96, 96, 90, 87, |
| 140084 | | - /* 320 */ 179, 1306, 438, 437, 438, 418, 368, 253, 962, 963, |
| 140085 | | - /* 330 */ 964, 335, 360, 360, 360, 706, 359, 358, 324, 962, |
| 140086 | | - /* 340 */ 1281, 951, 364, 230, 94, 94, 94, 94, 93, 93, |
| 140087 | | - /* 350 */ 92, 92, 92, 91, 361, 97, 98, 88, 983, 983, |
| 140088 | | - /* 360 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, |
| 140089 | | - /* 370 */ 769, 460, 120, 226, 226, 366, 962, 963, 964, 1089, |
| 140090 | | - /* 380 */ 990, 900, 990, 335, 1057, 425, 421, 839, 759, 759, |
| 140091 | | - /* 390 */ 425, 427, 50, 50, 432, 381, 94, 94, 94, 94, |
| 140092 | | - /* 400 */ 93, 93, 92, 92, 92, 91, 361, 97, 98, 88, |
| 140093 | | - /* 410 */ 983, 983, 859, 862, 851, 851, 95, 95, 96, 96, |
| 140094 | | - /* 420 */ 96, 96, 460, 259, 460, 120, 117, 354, 942, 1332, |
| 140095 | | - /* 430 */ 942, 1333, 1332, 278, 1333, 335, 680, 681, 682, 825, |
| 140096 | | - /* 440 */ 201, 176, 303, 50, 50, 49, 49, 404, 94, 94, |
| 140097 | | - /* 450 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 97, |
| 140098 | | - /* 460 */ 98, 88, 983, 983, 859, 862, 851, 851, 95, 95, |
| 140099 | | - /* 470 */ 96, 96, 96, 96, 199, 460, 380, 265, 433, 380, |
| 140100 | | - /* 480 */ 265, 383, 256, 158, 258, 319, 1003, 335, 155, 940, |
| 140101 | | - /* 490 */ 177, 940, 273, 379, 276, 322, 34, 34, 302, 962, |
| 140102 | | - /* 500 */ 94, 94, 94, 94, 93, 93, 92, 92, 92, 91, |
| 140103 | | - /* 510 */ 361, 97, 98, 88, 983, 983, 859, 862, 851, 851, |
| 140104 | | - /* 520 */ 95, 95, 96, 96, 96, 96, 905, 905, 397, 460, |
| 140105 | | - /* 530 */ 301, 158, 101, 319, 941, 340, 962, 963, 964, 313, |
| 140106 | | - /* 540 */ 283, 449, 335, 327, 146, 1266, 1004, 257, 234, 248, |
| 140107 | | - /* 550 */ 35, 35, 94, 94, 94, 94, 93, 93, 92, 92, |
| 140108 | | - /* 560 */ 92, 91, 361, 709, 785, 1227, 97, 98, 88, 983, |
| 140109 | | - /* 570 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, |
| 140110 | | - /* 580 */ 96, 962, 1227, 1229, 245, 422, 838, 198, 197, 196, |
| 140111 | | - /* 590 */ 1079, 1079, 1077, 1077, 1004, 1334, 320, 335, 172, 171, |
| 140112 | | - /* 600 */ 709, 831, 159, 271, 271, 830, 76, 94, 94, 94, |
| 140113 | | - /* 610 */ 94, 93, 93, 92, 92, 92, 91, 361, 962, 963, |
| 140114 | | - /* 620 */ 964, 97, 98, 88, 983, 983, 859, 862, 851, 851, |
| 140115 | | - /* 630 */ 95, 95, 96, 96, 96, 96, 830, 830, 832, 1157, |
| 140116 | | - /* 640 */ 1157, 199, 1157, 173, 1227, 231, 232, 1282, 2, 335, |
| 140117 | | - /* 650 */ 271, 764, 271, 820, 271, 271, 763, 389, 389, 389, |
| 140118 | | - /* 660 */ 132, 79, 94, 94, 94, 94, 93, 93, 92, 92, |
| 140119 | | - /* 670 */ 92, 91, 361, 97, 98, 88, 983, 983, 859, 862, |
| 140120 | | - /* 680 */ 851, 851, 95, 95, 96, 96, 96, 96, 460, 264, |
| 140121 | | - /* 690 */ 223, 460, 1257, 783, 1223, 1157, 1086, 1082, 80, 271, |
| 140122 | | - /* 700 */ 78, 335, 340, 1031, 341, 344, 345, 902, 346, 10, |
| 140123 | | - /* 710 */ 10, 902, 25, 25, 94, 94, 94, 94, 93, 93, |
| 140124 | | - /* 720 */ 92, 92, 92, 91, 361, 97, 86, 88, 983, 983, |
| 140125 | | - /* 730 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, |
| 140126 | | - /* 740 */ 1157, 270, 395, 117, 233, 263, 235, 70, 456, 341, |
| 140127 | | - /* 750 */ 225, 176, 335, 1305, 342, 133, 736, 966, 980, 249, |
| 140128 | | - /* 760 */ 1150, 396, 325, 1085, 1028, 178, 94, 94, 94, 94, |
| 140129 | | - /* 770 */ 93, 93, 92, 92, 92, 91, 361, 98, 88, 983, |
| 140130 | | - /* 780 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, |
| 140131 | | - /* 790 */ 96, 783, 783, 132, 120, 966, 120, 120, 120, 798, |
| 140132 | | - /* 800 */ 252, 937, 335, 353, 321, 429, 355, 799, 822, 692, |
| 140133 | | - /* 810 */ 390, 203, 446, 450, 372, 716, 454, 94, 94, 94, |
| 140134 | | - /* 820 */ 94, 93, 93, 92, 92, 92, 91, 361, 88, 983, |
| 140135 | | - /* 830 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, |
| 140136 | | - /* 840 */ 96, 84, 455, 1225, 3, 1209, 120, 120, 382, 387, |
| 140137 | | - /* 850 */ 120, 203, 1271, 716, 384, 168, 266, 203, 458, 72, |
| 140138 | | - /* 860 */ 260, 1246, 84, 455, 178, 3, 378, 94, 94, 94, |
| 140139 | | - /* 870 */ 94, 93, 93, 92, 92, 92, 91, 361, 350, 458, |
| 140140 | | - /* 880 */ 1245, 362, 430, 213, 228, 290, 415, 285, 414, 200, |
| 140141 | | - /* 890 */ 783, 882, 444, 726, 725, 405, 283, 921, 209, 921, |
| 140142 | | - /* 900 */ 281, 132, 362, 72, 838, 289, 147, 733, 734, 392, |
| 140143 | | - /* 910 */ 81, 82, 922, 444, 922, 267, 288, 83, 362, 462, |
| 140144 | | - /* 920 */ 461, 272, 132, 830, 23, 838, 388, 923, 1216, 923, |
| 140145 | | - /* 930 */ 1056, 81, 82, 84, 455, 899, 3, 899, 83, 362, |
| 140146 | | - /* 940 */ 462, 461, 761, 962, 830, 75, 1, 443, 275, 747, |
| 140147 | | - /* 950 */ 458, 5, 962, 204, 830, 830, 832, 833, 18, 748, |
| 140148 | | - /* 960 */ 229, 962, 277, 19, 153, 317, 317, 316, 216, 314, |
| 140149 | | - /* 970 */ 279, 460, 689, 362, 1055, 830, 830, 832, 833, 18, |
| 140150 | | - /* 980 */ 962, 963, 964, 962, 444, 181, 460, 251, 981, 962, |
| 140151 | | - /* 990 */ 963, 964, 8, 8, 20, 250, 838, 1070, 962, 963, |
| 140152 | | - /* 1000 */ 964, 417, 81, 82, 768, 204, 347, 36, 36, 83, |
| 140153 | | - /* 1010 */ 362, 462, 461, 1054, 284, 830, 84, 455, 1123, 3, |
| 140154 | | - /* 1020 */ 962, 963, 964, 460, 183, 962, 981, 764, 889, 1107, |
| 140155 | | - /* 1030 */ 460, 184, 763, 458, 132, 182, 74, 455, 460, 3, |
| 140156 | | - /* 1040 */ 981, 898, 834, 898, 8, 8, 830, 830, 832, 833, |
| 140157 | | - /* 1050 */ 18, 8, 8, 458, 219, 1156, 362, 1103, 349, 8, |
| 140158 | | - /* 1060 */ 8, 240, 962, 963, 964, 236, 889, 444, 792, 336, |
| 140159 | | - /* 1070 */ 158, 203, 885, 435, 700, 209, 362, 114, 981, 838, |
| 140160 | | - /* 1080 */ 834, 227, 334, 1114, 441, 81, 82, 444, 442, 305, |
| 140161 | | - /* 1090 */ 784, 306, 83, 362, 462, 461, 369, 1162, 830, 838, |
| 140162 | | - /* 1100 */ 460, 1037, 237, 1030, 237, 81, 82, 7, 96, 96, |
| 140163 | | - /* 1110 */ 96, 96, 83, 362, 462, 461, 1019, 1018, 830, 1020, |
| 140164 | | - /* 1120 */ 1289, 37, 37, 400, 96, 96, 96, 96, 89, 830, |
| 140165 | | - /* 1130 */ 830, 832, 833, 18, 1100, 318, 962, 292, 94, 94, |
| 140166 | | - /* 1140 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 830, |
| 140167 | | - /* 1150 */ 830, 832, 833, 18, 94, 94, 94, 94, 93, 93, |
| 140168 | | - /* 1160 */ 92, 92, 92, 91, 361, 359, 358, 226, 226, 727, |
| 140169 | | - /* 1170 */ 294, 296, 460, 962, 963, 964, 460, 989, 160, 425, |
| 140170 | | - /* 1180 */ 170, 1295, 262, 460, 987, 374, 988, 386, 1145, 255, |
| 140171 | | - /* 1190 */ 326, 460, 373, 38, 38, 410, 174, 39, 39, 413, |
| 140172 | | - /* 1200 */ 460, 287, 460, 1053, 40, 40, 298, 728, 1220, 990, |
| 140173 | | - /* 1210 */ 445, 990, 26, 26, 1219, 460, 311, 460, 169, 1292, |
| 140174 | | - /* 1220 */ 460, 27, 27, 29, 29, 998, 460, 206, 135, 995, |
| 140175 | | - /* 1230 */ 1265, 1263, 460, 57, 60, 460, 41, 41, 42, 42, |
| 140176 | | - /* 1240 */ 460, 43, 43, 460, 343, 351, 460, 9, 9, 460, |
| 140177 | | - /* 1250 */ 144, 460, 130, 44, 44, 460, 103, 103, 460, 137, |
| 140178 | | - /* 1260 */ 70, 45, 45, 460, 46, 46, 460, 31, 31, 1142, |
| 140179 | | - /* 1270 */ 47, 47, 48, 48, 460, 376, 32, 32, 460, 122, |
| 140180 | | - /* 1280 */ 122, 460, 157, 460, 123, 123, 139, 124, 124, 460, |
| 140181 | | - /* 1290 */ 186, 460, 377, 460, 115, 54, 54, 460, 403, 33, |
| 140182 | | - /* 1300 */ 33, 460, 104, 104, 51, 51, 460, 161, 460, 140, |
| 140183 | | - /* 1310 */ 105, 105, 106, 106, 102, 102, 460, 141, 121, 121, |
| 140184 | | - /* 1320 */ 460, 142, 119, 119, 190, 460, 1152, 110, 110, 109, |
| 140185 | | - /* 1330 */ 109, 702, 460, 148, 393, 65, 460, 107, 107, 460, |
| 140186 | | - /* 1340 */ 323, 108, 108, 399, 460, 1234, 53, 53, 1214, 269, |
| 140187 | | - /* 1350 */ 154, 416, 1115, 55, 55, 220, 401, 52, 52, 191, |
| 140188 | | - /* 1360 */ 24, 24, 274, 192, 193, 28, 28, 1021, 328, 702, |
| 140189 | | - /* 1370 */ 1073, 352, 1072, 718, 1071, 431, 1111, 1064, 329, 1045, |
| 140190 | | - /* 1380 */ 69, 205, 6, 291, 1044, 286, 1112, 1043, 1304, 1110, |
| 140191 | | - /* 1390 */ 293, 300, 295, 297, 1063, 1200, 1109, 77, 241, 448, |
| 140192 | | - /* 1400 */ 356, 452, 436, 100, 214, 71, 434, 1027, 1093, 21, |
| 140193 | | - /* 1410 */ 463, 242, 243, 957, 215, 217, 218, 464, 309, 307, |
| 140194 | | - /* 1420 */ 308, 310, 1016, 125, 1250, 1251, 1011, 1249, 126, 127, |
| 140195 | | - /* 1430 */ 1248, 113, 676, 337, 238, 338, 134, 363, 167, 1041, |
| 140196 | | - /* 1440 */ 1040, 56, 247, 367, 180, 897, 111, 895, 136, 1038, |
| 140197 | | - /* 1450 */ 818, 128, 138, 750, 261, 911, 185, 143, 145, 61, |
| 140198 | | - /* 1460 */ 62, 63, 64, 129, 914, 187, 188, 910, 118, 12, |
| 140199 | | - /* 1470 */ 189, 903, 268, 992, 203, 162, 398, 150, 149, 691, |
| 140200 | | - /* 1480 */ 402, 288, 194, 406, 151, 411, 66, 13, 729, 239, |
| 140201 | | - /* 1490 */ 282, 14, 67, 131, 837, 836, 865, 758, 15, 4, |
| 140202 | | - /* 1500 */ 68, 762, 175, 222, 224, 424, 152, 869, 791, 202, |
| 140203 | | - /* 1510 */ 786, 75, 72, 880, 866, 864, 16, 17, 920, 207, |
| 140204 | | - /* 1520 */ 919, 208, 447, 946, 164, 211, 947, 210, 165, 451, |
| 140205 | | - /* 1530 */ 868, 166, 315, 835, 701, 85, 212, 1297, 312, 952, |
| 140206 | | - /* 1540 */ 1296, |
| 140114 | + /* 0 */ 1169, 1015, 167, 167, 1, 168, 466, 1313, 466, 1083, |
| 140115 | + /* 10 */ 1062, 466, 97, 94, 183, 1057, 466, 329, 1083, 342, |
| 140116 | + /* 20 */ 97, 94, 183, 459, 459, 459, 436, 57, 57, 57, |
| 140117 | + /* 30 */ 57, 807, 57, 57, 367, 367, 367, 57, 57, 808, |
| 140118 | + /* 40 */ 1270, 1088, 1088, 104, 105, 95, 991, 991, 868, 871, |
| 140119 | + /* 50 */ 860, 860, 102, 102, 103, 103, 103, 103, 233, 233, |
| 140120 | + /* 60 */ 326, 1011, 449, 437, 449, 446, 351, 449, 461, 1142, |
| 140121 | + /* 70 */ 463, 342, 449, 426, 1316, 209, 180, 742, 80, 299, |
| 140122 | + /* 80 */ 857, 857, 869, 872, 101, 101, 101, 101, 100, 100, |
| 140123 | + /* 90 */ 99, 99, 99, 98, 368, 104, 105, 95, 991, 991, |
| 140124 | + /* 100 */ 868, 871, 860, 860, 102, 102, 103, 103, 103, 103, |
| 140125 | + /* 110 */ 99, 99, 99, 98, 368, 355, 97, 94, 183, 228, |
| 140126 | + /* 120 */ 106, 1012, 407, 342, 101, 101, 101, 101, 100, 100, |
| 140127 | + /* 130 */ 99, 99, 99, 98, 368, 861, 101, 101, 101, 101, |
| 140128 | + /* 140 */ 100, 100, 99, 99, 99, 98, 368, 104, 105, 95, |
| 140129 | + /* 150 */ 991, 991, 868, 871, 860, 860, 102, 102, 103, 103, |
| 140130 | + /* 160 */ 103, 103, 201, 368, 375, 420, 417, 416, 387, 273, |
| 140131 | + /* 170 */ 65, 97, 94, 183, 168, 342, 415, 951, 1343, 396, |
| 140132 | + /* 180 */ 66, 1343, 320, 959, 371, 970, 334, 340, 101, 101, |
| 140133 | + /* 190 */ 101, 101, 100, 100, 99, 99, 99, 98, 368, 104, |
| 140134 | + /* 200 */ 105, 95, 991, 991, 868, 871, 860, 860, 102, 102, |
| 140135 | + /* 210 */ 103, 103, 103, 103, 373, 100, 100, 99, 99, 99, |
| 140136 | + /* 220 */ 98, 368, 970, 971, 972, 201, 1100, 342, 420, 417, |
| 140137 | + /* 230 */ 416, 287, 366, 365, 337, 970, 1162, 463, 949, 415, |
| 140138 | + /* 240 */ 101, 101, 101, 101, 100, 100, 99, 99, 99, 98, |
| 140139 | + /* 250 */ 368, 104, 105, 95, 991, 991, 868, 871, 860, 860, |
| 140140 | + /* 260 */ 102, 102, 103, 103, 103, 103, 777, 241, 233, 233, |
| 140141 | + /* 270 */ 9, 847, 970, 971, 972, 390, 998, 1141, 998, 342, |
| 140142 | + /* 280 */ 463, 252, 829, 719, 98, 368, 840, 298, 338, 142, |
| 140143 | + /* 290 */ 839, 339, 101, 101, 101, 101, 100, 100, 99, 99, |
| 140144 | + /* 300 */ 99, 98, 368, 104, 105, 95, 991, 991, 868, 871, |
| 140145 | + /* 310 */ 860, 860, 102, 102, 103, 103, 103, 103, 272, 466, |
| 140146 | + /* 320 */ 392, 839, 839, 841, 97, 94, 183, 390, 1317, 253, |
| 140147 | + /* 330 */ 456, 342, 125, 166, 807, 712, 208, 407, 386, 970, |
| 140148 | + /* 340 */ 57, 57, 808, 238, 101, 101, 101, 101, 100, 100, |
| 140149 | + /* 350 */ 99, 99, 99, 98, 368, 104, 105, 95, 991, 991, |
| 140150 | + /* 360 */ 868, 871, 860, 860, 102, 102, 103, 103, 103, 103, |
| 140151 | + /* 370 */ 466, 108, 466, 267, 465, 442, 970, 971, 972, 261, |
| 140152 | + /* 380 */ 951, 1344, 909, 342, 1344, 142, 829, 848, 1292, 959, |
| 140153 | + /* 390 */ 371, 55, 55, 57, 57, 242, 101, 101, 101, 101, |
| 140154 | + /* 400 */ 100, 100, 99, 99, 99, 98, 368, 104, 105, 95, |
| 140155 | + /* 410 */ 991, 991, 868, 871, 860, 860, 102, 102, 103, 103, |
| 140156 | + /* 420 */ 103, 103, 272, 382, 262, 253, 456, 310, 364, 253, |
| 140157 | + /* 430 */ 456, 86, 264, 84, 266, 342, 441, 176, 175, 834, |
| 140158 | + /* 440 */ 464, 949, 767, 767, 332, 313, 1094, 396, 101, 101, |
| 140159 | + /* 450 */ 101, 101, 100, 100, 99, 99, 99, 98, 368, 104, |
| 140160 | + /* 460 */ 105, 95, 991, 991, 868, 871, 860, 860, 102, 102, |
| 140161 | + /* 470 */ 103, 103, 103, 103, 227, 227, 233, 233, 233, 233, |
| 140162 | + /* 480 */ 387, 273, 234, 234, 326, 950, 463, 342, 463, 298, |
| 140163 | + /* 490 */ 463, 914, 914, 404, 463, 1037, 123, 265, 27, 970, |
| 140164 | + /* 500 */ 101, 101, 101, 101, 100, 100, 99, 99, 99, 98, |
| 140165 | + /* 510 */ 368, 104, 105, 95, 991, 991, 868, 871, 860, 860, |
| 140166 | + /* 520 */ 102, 102, 103, 103, 103, 103, 435, 233, 233, 466, |
| 140167 | + /* 530 */ 285, 686, 687, 688, 127, 271, 970, 971, 972, 463, |
| 140168 | + /* 540 */ 1345, 327, 342, 407, 157, 1012, 988, 13, 13, 181, |
| 140169 | + /* 550 */ 41, 41, 101, 101, 101, 101, 100, 100, 99, 99, |
| 140170 | + /* 560 */ 99, 98, 368, 715, 794, 378, 104, 105, 95, 991, |
| 140171 | + /* 570 */ 991, 868, 871, 860, 860, 102, 102, 103, 103, 103, |
| 140172 | + /* 580 */ 103, 970, 378, 377, 346, 239, 847, 1086, 1086, 280, |
| 140173 | + /* 590 */ 1169, 283, 204, 203, 202, 177, 298, 342, 407, 298, |
| 140174 | + /* 600 */ 715, 840, 169, 299, 407, 839, 82, 101, 101, 101, |
| 140175 | + /* 610 */ 101, 100, 100, 99, 99, 99, 98, 368, 970, 971, |
| 140176 | + /* 620 */ 972, 104, 105, 95, 991, 991, 868, 871, 860, 860, |
| 140177 | + /* 630 */ 102, 102, 103, 103, 103, 103, 839, 839, 841, 362, |
| 140178 | + /* 640 */ 240, 124, 1169, 172, 126, 378, 1269, 1169, 1066, 342, |
| 140179 | + /* 650 */ 253, 456, 407, 407, 407, 396, 352, 401, 407, 429, |
| 140180 | + /* 660 */ 398, 85, 101, 101, 101, 101, 100, 100, 99, 99, |
| 140181 | + /* 670 */ 99, 98, 368, 104, 105, 95, 991, 991, 868, 871, |
| 140182 | + /* 680 */ 860, 860, 102, 102, 103, 103, 103, 103, 1169, 466, |
| 140183 | + /* 690 */ 230, 233, 233, 792, 1235, 1095, 1091, 1293, 1, 77, |
| 140184 | + /* 700 */ 278, 342, 205, 463, 974, 911, 1040, 348, 353, 911, |
| 140185 | + /* 710 */ 42, 42, 79, 403, 101, 101, 101, 101, 100, 100, |
| 140186 | + /* 720 */ 99, 99, 99, 98, 368, 104, 93, 95, 991, 991, |
| 140187 | + /* 730 */ 868, 871, 860, 860, 102, 102, 103, 103, 103, 103, |
| 140188 | + /* 740 */ 402, 9, 974, 243, 772, 458, 348, 232, 180, 771, |
| 140189 | + /* 750 */ 946, 312, 342, 328, 363, 349, 143, 831, 389, 1278, |
| 140190 | + /* 760 */ 211, 211, 21, 347, 432, 182, 101, 101, 101, 101, |
| 140191 | + /* 770 */ 100, 100, 99, 99, 99, 98, 368, 105, 95, 991, |
| 140192 | + /* 780 */ 991, 868, 871, 860, 860, 102, 102, 103, 103, 103, |
| 140193 | + /* 790 */ 103, 792, 724, 22, 732, 731, 233, 233, 1239, 256, |
| 140194 | + /* 800 */ 391, 274, 342, 211, 79, 360, 257, 413, 463, 397, |
| 140195 | + /* 810 */ 207, 288, 260, 450, 79, 1239, 1241, 101, 101, 101, |
| 140196 | + /* 820 */ 101, 100, 100, 99, 99, 99, 98, 368, 95, 991, |
| 140197 | + /* 830 */ 991, 868, 871, 860, 860, 102, 102, 103, 103, 103, |
| 140198 | + /* 840 */ 103, 91, 457, 296, 3, 233, 233, 5, 438, 212, |
| 140199 | + /* 850 */ 331, 394, 739, 740, 295, 898, 894, 463, 460, 207, |
| 140200 | + /* 860 */ 801, 1237, 722, 211, 698, 843, 1283, 101, 101, 101, |
| 140201 | + /* 870 */ 101, 100, 100, 99, 99, 99, 98, 368, 1239, 380, |
| 140202 | + /* 880 */ 357, 369, 233, 233, 989, 219, 236, 297, 423, 292, |
| 140203 | + /* 890 */ 422, 206, 454, 898, 463, 970, 91, 457, 290, 3, |
| 140204 | + /* 900 */ 722, 142, 268, 843, 847, 466, 1258, 149, 388, 425, |
| 140205 | + /* 910 */ 88, 89, 769, 460, 930, 87, 447, 90, 369, 468, |
| 140206 | + /* 920 */ 467, 385, 989, 839, 1257, 439, 57, 57, 395, 931, |
| 140207 | + /* 930 */ 1065, 158, 970, 971, 972, 772, 369, 471, 1019, 399, |
| 140208 | + /* 940 */ 771, 253, 456, 254, 932, 119, 891, 454, 233, 233, |
| 140209 | + /* 950 */ 4, 970, 1096, 275, 839, 839, 841, 842, 19, 847, |
| 140210 | + /* 960 */ 463, 449, 448, 163, 453, 88, 89, 776, 970, 1127, |
| 140211 | + /* 970 */ 279, 930, 90, 369, 468, 467, 91, 457, 839, 3, |
| 140212 | + /* 980 */ 235, 1064, 466, 1228, 233, 233, 931, 970, 970, 971, |
| 140213 | + /* 990 */ 972, 970, 908, 460, 908, 2, 463, 81, 457, 212, |
| 140214 | + /* 1000 */ 3, 932, 282, 10, 10, 970, 971, 972, 189, 839, |
| 140215 | + /* 1010 */ 839, 841, 842, 19, 460, 284, 369, 354, 907, 286, |
| 140216 | + /* 1020 */ 907, 753, 466, 1079, 970, 971, 972, 454, 970, 971, |
| 140217 | + /* 1030 */ 972, 754, 970, 1063, 989, 372, 792, 369, 1118, 847, |
| 140218 | + /* 1040 */ 291, 452, 466, 10, 10, 88, 89, 142, 454, 168, |
| 140219 | + /* 1050 */ 300, 412, 90, 369, 468, 467, 793, 356, 839, 706, |
| 140220 | + /* 1060 */ 847, 341, 121, 10, 10, 301, 88, 89, 379, 970, |
| 140221 | + /* 1070 */ 971, 972, 989, 90, 369, 468, 467, 244, 205, 839, |
| 140222 | + /* 1080 */ 1306, 245, 1135, 245, 250, 1168, 1114, 253, 456, 839, |
| 140223 | + /* 1090 */ 839, 841, 842, 19, 1125, 237, 122, 451, 1174, 733, |
| 140224 | + /* 1100 */ 324, 324, 323, 222, 321, 466, 1046, 695, 182, 225, |
| 140225 | + /* 1110 */ 839, 839, 841, 842, 19, 103, 103, 103, 103, 96, |
| 140226 | + /* 1120 */ 185, 466, 259, 1039, 1028, 170, 10, 10, 1027, 421, |
| 140227 | + /* 1130 */ 258, 1029, 1300, 708, 792, 466, 408, 734, 8, 347, |
| 140228 | + /* 1140 */ 444, 174, 12, 12, 290, 101, 101, 101, 101, 100, |
| 140229 | + /* 1150 */ 100, 99, 99, 99, 98, 368, 32, 32, 466, 187, |
| 140230 | + /* 1160 */ 466, 1111, 103, 103, 103, 103, 188, 466, 325, 138, |
| 140231 | + /* 1170 */ 186, 708, 303, 305, 307, 358, 970, 270, 393, 43, |
| 140232 | + /* 1180 */ 43, 44, 44, 1157, 333, 178, 418, 294, 45, 45, |
| 140233 | + /* 1190 */ 1232, 318, 101, 101, 101, 101, 100, 100, 99, 99, |
| 140234 | + /* 1200 */ 99, 98, 368, 381, 343, 366, 365, 466, 263, 253, |
| 140235 | + /* 1210 */ 456, 466, 1062, 970, 971, 972, 1231, 997, 309, 466, |
| 140236 | + /* 1220 */ 455, 466, 427, 466, 995, 173, 996, 1303, 46, 46, |
| 140237 | + /* 1230 */ 145, 376, 37, 37, 1006, 1277, 466, 214, 1275, 64, |
| 140238 | + /* 1240 */ 47, 47, 33, 33, 34, 34, 1003, 67, 466, 998, |
| 140239 | + /* 1250 */ 350, 998, 466, 155, 233, 233, 466, 36, 36, 24, |
| 140240 | + /* 1260 */ 140, 77, 1154, 466, 383, 466, 463, 428, 466, 48, |
| 140241 | + /* 1270 */ 48, 466, 147, 49, 49, 466, 150, 50, 50, 466, |
| 140242 | + /* 1280 */ 151, 152, 466, 384, 11, 11, 51, 51, 466, 110, |
| 140243 | + /* 1290 */ 110, 153, 52, 52, 411, 466, 38, 38, 466, 191, |
| 140244 | + /* 1300 */ 53, 53, 466, 54, 54, 466, 400, 466, 330, 39, |
| 140245 | + /* 1310 */ 39, 466, 1164, 466, 25, 466, 56, 56, 466, 131, |
| 140246 | + /* 1320 */ 131, 72, 466, 132, 132, 159, 133, 133, 61, 61, |
| 140247 | + /* 1330 */ 1226, 195, 40, 40, 111, 111, 58, 58, 406, 112, |
| 140248 | + /* 1340 */ 112, 466, 277, 113, 113, 466, 226, 466, 1246, 466, |
| 140249 | + /* 1350 */ 197, 466, 164, 466, 409, 466, 198, 466, 199, 466, |
| 140250 | + /* 1360 */ 335, 281, 109, 109, 466, 1030, 130, 130, 129, 129, |
| 140251 | + /* 1370 */ 117, 117, 116, 116, 114, 114, 115, 115, 60, 60, |
| 140252 | + /* 1380 */ 62, 62, 466, 359, 466, 59, 59, 424, 1082, 1081, |
| 140253 | + /* 1390 */ 1080, 724, 1073, 1054, 336, 293, 1053, 1052, 1315, 431, |
| 140254 | + /* 1400 */ 361, 76, 248, 31, 31, 35, 35, 1072, 249, 440, |
| 140255 | + /* 1410 */ 302, 434, 213, 1122, 6, 311, 1212, 107, 83, 251, |
| 140256 | + /* 1420 */ 78, 1123, 445, 220, 443, 1036, 304, 23, 1121, 469, |
| 140257 | + /* 1430 */ 965, 221, 223, 1104, 314, 224, 344, 317, 315, 316, |
| 140258 | + /* 1440 */ 470, 306, 1025, 1120, 308, 1262, 1020, 134, 120, 246, |
| 140259 | + /* 1450 */ 682, 370, 171, 255, 1263, 135, 184, 1261, 1260, 374, |
| 140260 | + /* 1460 */ 118, 906, 904, 827, 1050, 146, 136, 137, 148, 1049, |
| 140261 | + /* 1470 */ 63, 1047, 756, 190, 269, 920, 154, 156, 68, 69, |
| 140262 | + /* 1480 */ 70, 71, 139, 923, 192, 193, 144, 919, 345, 128, |
| 140263 | + /* 1490 */ 14, 194, 276, 211, 1000, 405, 196, 161, 912, 160, |
| 140264 | + /* 1500 */ 26, 697, 410, 295, 200, 289, 414, 162, 419, 73, |
| 140265 | + /* 1510 */ 15, 16, 141, 74, 28, 247, 846, 845, 735, 874, |
| 140266 | + /* 1520 */ 954, 75, 430, 955, 29, 433, 179, 229, 231, 800, |
| 140267 | + /* 1530 */ 165, 795, 87, 210, 889, 79, 875, 17, 873, 877, |
| 140268 | + /* 1540 */ 929, 18, 928, 216, 215, 878, 20, 30, 462, 844, |
| 140269 | + /* 1550 */ 707, 92, 766, 770, 7, 322, 217, 218, 319, 1308, |
| 140270 | + /* 1560 */ 960, 1016, 1016, 1016, 1016, 1307, |
| 140207 | 140271 | }; |
| 140208 | 140272 | static const YYCODETYPE yy_lookahead[] = { |
| 140209 | | - /* 0 */ 144, 145, 146, 147, 172, 222, 223, 224, 222, 223, |
| 140210 | | - /* 10 */ 224, 152, 180, 152, 148, 149, 152, 173, 176, 19, |
| 140211 | | - /* 20 */ 154, 173, 156, 152, 163, 242, 152, 163, 176, 163, |
| 140212 | | - /* 30 */ 26, 31, 173, 174, 173, 174, 173, 173, 174, 39, |
| 140213 | | - /* 40 */ 1, 2, 152, 43, 44, 45, 46, 47, 48, 49, |
| 140214 | | - /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 197, 169, |
| 140215 | | - /* 60 */ 170, 197, 188, 197, 222, 223, 224, 208, 209, 208, |
| 140216 | | - /* 70 */ 209, 19, 208, 152, 222, 223, 224, 22, 26, 24, |
| 140273 | + /* 0 */ 152, 144, 145, 146, 147, 152, 152, 172, 152, 180, |
| 140274 | + /* 10 */ 181, 152, 223, 224, 225, 180, 152, 164, 189, 19, |
| 140275 | + /* 20 */ 223, 224, 225, 168, 169, 170, 163, 173, 174, 173, |
| 140276 | + /* 30 */ 174, 31, 173, 174, 168, 169, 170, 173, 174, 39, |
| 140277 | + /* 40 */ 243, 191, 192, 43, 44, 45, 46, 47, 48, 49, |
| 140278 | + /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 195, 196, |
| 140279 | + /* 60 */ 22, 23, 208, 209, 208, 209, 218, 208, 209, 176, |
| 140280 | + /* 70 */ 207, 19, 208, 209, 23, 212, 213, 26, 26, 152, |
| 140217 | 140281 | /* 80 */ 46, 47, 48, 49, 84, 85, 86, 87, 88, 89, |
| 140218 | 140282 | /* 90 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, |
| 140219 | 140283 | /* 100 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
| 140220 | | - /* 110 */ 106, 245, 157, 88, 89, 90, 91, 92, 93, 94, |
| 140221 | | - /* 120 */ 68, 231, 251, 19, 84, 85, 86, 87, 88, 89, |
| 140284 | + /* 110 */ 90, 91, 92, 93, 94, 188, 223, 224, 225, 171, |
| 140285 | + /* 120 */ 68, 83, 152, 19, 84, 85, 86, 87, 88, 89, |
| 140222 | 140286 | /* 130 */ 90, 91, 92, 93, 94, 101, 84, 85, 86, 87, |
| 140223 | 140287 | /* 140 */ 88, 89, 90, 91, 92, 93, 94, 43, 44, 45, |
| 140224 | 140288 | /* 150 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 140225 | | - /* 160 */ 56, 57, 90, 91, 92, 93, 94, 82, 79, 99, |
| 140226 | | - /* 170 */ 66, 200, 102, 103, 104, 19, 168, 169, 170, 152, |
| 140227 | | - /* 180 */ 24, 210, 97, 113, 229, 59, 101, 232, 84, 85, |
| 140289 | + /* 160 */ 56, 57, 99, 94, 194, 102, 103, 104, 109, 110, |
| 140290 | + /* 170 */ 66, 223, 224, 225, 152, 19, 113, 22, 23, 152, |
| 140291 | + /* 180 */ 24, 26, 160, 1, 2, 59, 164, 173, 84, 85, |
| 140228 | 140292 | /* 190 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 43, |
| 140229 | 140293 | /* 200 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 140230 | | - /* 210 */ 54, 55, 56, 57, 152, 188, 152, 132, 133, 134, |
| 140231 | | - /* 220 */ 93, 94, 96, 97, 98, 99, 152, 19, 102, 103, |
| 140232 | | - /* 230 */ 104, 23, 94, 72, 79, 173, 174, 173, 174, 113, |
| 140294 | + /* 210 */ 54, 55, 56, 57, 244, 88, 89, 90, 91, 92, |
| 140295 | + /* 220 */ 93, 94, 96, 97, 98, 99, 196, 19, 102, 103, |
| 140296 | + /* 230 */ 104, 23, 88, 89, 173, 59, 163, 207, 83, 113, |
| 140233 | 140297 | /* 240 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, |
| 140234 | 140298 | /* 250 */ 94, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 140235 | | - /* 260 */ 52, 53, 54, 55, 56, 57, 152, 171, 152, 108, |
| 140236 | | - /* 270 */ 109, 110, 208, 209, 119, 120, 152, 180, 181, 19, |
| 140237 | | - /* 280 */ 119, 120, 152, 23, 152, 152, 189, 173, 174, 173, |
| 140238 | | - /* 290 */ 174, 59, 84, 85, 86, 87, 88, 89, 90, 91, |
| 140299 | + /* 260 */ 52, 53, 54, 55, 56, 57, 90, 240, 195, 196, |
| 140300 | + /* 270 */ 171, 82, 96, 97, 98, 152, 132, 176, 134, 19, |
| 140301 | + /* 280 */ 207, 200, 72, 23, 93, 94, 97, 152, 173, 79, |
| 140302 | + /* 290 */ 101, 210, 84, 85, 86, 87, 88, 89, 90, 91, |
| 140239 | 140303 | /* 300 */ 92, 93, 94, 43, 44, 45, 46, 47, 48, 49, |
| 140240 | | - /* 310 */ 50, 51, 52, 53, 54, 55, 56, 57, 222, 223, |
| 140241 | | - /* 320 */ 224, 186, 208, 209, 208, 209, 194, 194, 96, 97, |
| 140242 | | - /* 330 */ 98, 19, 168, 169, 170, 23, 88, 89, 163, 59, |
| 140243 | | - /* 340 */ 0, 1, 2, 219, 84, 85, 86, 87, 88, 89, |
| 140304 | + /* 310 */ 50, 51, 52, 53, 54, 55, 56, 57, 108, 152, |
| 140305 | + /* 320 */ 152, 132, 133, 134, 223, 224, 225, 152, 186, 119, |
| 140306 | + /* 330 */ 120, 19, 197, 234, 31, 23, 26, 152, 239, 59, |
| 140307 | + /* 340 */ 173, 174, 39, 220, 84, 85, 86, 87, 88, 89, |
| 140244 | 140308 | /* 350 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, |
| 140245 | 140309 | /* 360 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
| 140246 | | - /* 370 */ 90, 152, 197, 195, 196, 243, 96, 97, 98, 196, |
| 140247 | | - /* 380 */ 132, 11, 134, 19, 182, 207, 115, 23, 117, 118, |
| 140248 | | - /* 390 */ 207, 163, 173, 174, 152, 220, 84, 85, 86, 87, |
| 140310 | + /* 370 */ 152, 22, 152, 16, 152, 208, 96, 97, 98, 194, |
| 140311 | + /* 380 */ 22, 23, 11, 19, 26, 79, 72, 23, 0, 1, |
| 140312 | + /* 390 */ 2, 173, 174, 173, 174, 220, 84, 85, 86, 87, |
| 140249 | 140313 | /* 400 */ 88, 89, 90, 91, 92, 93, 94, 43, 44, 45, |
| 140250 | 140314 | /* 410 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 140251 | | - /* 420 */ 56, 57, 152, 16, 152, 197, 171, 208, 22, 23, |
| 140252 | | - /* 430 */ 22, 23, 26, 16, 26, 19, 7, 8, 9, 23, |
| 140253 | | - /* 440 */ 212, 213, 152, 173, 174, 173, 174, 19, 84, 85, |
| 140315 | + /* 420 */ 56, 57, 108, 109, 110, 119, 120, 152, 208, 119, |
| 140316 | + /* 430 */ 120, 137, 75, 139, 77, 19, 152, 88, 89, 23, |
| 140317 | + /* 440 */ 115, 83, 117, 118, 163, 227, 163, 152, 84, 85, |
| 140254 | 140318 | /* 450 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 43, |
| 140255 | 140319 | /* 460 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 140256 | | - /* 470 */ 54, 55, 56, 57, 46, 152, 109, 110, 208, 109, |
| 140257 | | - /* 480 */ 110, 152, 75, 152, 77, 22, 23, 19, 233, 83, |
| 140258 | | - /* 490 */ 152, 83, 75, 238, 77, 164, 173, 174, 226, 59, |
| 140320 | + /* 470 */ 54, 55, 56, 57, 195, 196, 195, 196, 195, 196, |
| 140321 | + /* 480 */ 109, 110, 195, 196, 22, 23, 207, 19, 207, 152, |
| 140322 | + /* 490 */ 207, 108, 109, 110, 207, 163, 22, 140, 24, 59, |
| 140259 | 140323 | /* 500 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, |
| 140260 | 140324 | /* 510 */ 94, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 140261 | | - /* 520 */ 52, 53, 54, 55, 56, 57, 108, 109, 110, 152, |
| 140262 | | - /* 530 */ 152, 152, 22, 22, 23, 107, 96, 97, 98, 160, |
| 140263 | | - /* 540 */ 112, 251, 19, 164, 22, 152, 83, 140, 219, 152, |
| 140325 | + /* 520 */ 52, 53, 54, 55, 56, 57, 152, 195, 196, 152, |
| 140326 | + /* 530 */ 16, 7, 8, 9, 197, 240, 96, 97, 98, 207, |
| 140327 | + /* 540 */ 249, 250, 19, 152, 22, 83, 26, 173, 174, 152, |
| 140264 | 140328 | /* 550 */ 173, 174, 84, 85, 86, 87, 88, 89, 90, 91, |
| 140265 | 140329 | /* 560 */ 92, 93, 94, 59, 124, 152, 43, 44, 45, 46, |
| 140266 | 140330 | /* 570 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 140267 | | - /* 580 */ 57, 59, 169, 170, 119, 120, 82, 108, 109, 110, |
| 140268 | | - /* 590 */ 191, 192, 191, 192, 83, 248, 249, 19, 88, 89, |
| 140331 | + /* 580 */ 57, 59, 169, 170, 157, 194, 82, 191, 192, 75, |
| 140332 | + /* 590 */ 152, 77, 108, 109, 110, 26, 152, 19, 152, 152, |
| 140269 | 140333 | /* 600 */ 96, 97, 24, 152, 152, 101, 138, 84, 85, 86, |
| 140270 | 140334 | /* 610 */ 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, |
| 140271 | 140335 | /* 620 */ 98, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 140272 | | - /* 630 */ 52, 53, 54, 55, 56, 57, 132, 133, 134, 152, |
| 140273 | | - /* 640 */ 152, 46, 152, 26, 231, 194, 194, 146, 147, 19, |
| 140274 | | - /* 650 */ 152, 116, 152, 72, 152, 152, 121, 152, 152, 152, |
| 140275 | | - /* 660 */ 79, 138, 84, 85, 86, 87, 88, 89, 90, 91, |
| 140336 | + /* 630 */ 52, 53, 54, 55, 56, 57, 132, 133, 134, 188, |
| 140337 | + /* 640 */ 194, 197, 152, 123, 197, 232, 194, 152, 182, 19, |
| 140338 | + /* 650 */ 119, 120, 152, 152, 152, 152, 218, 230, 152, 163, |
| 140339 | + /* 660 */ 233, 138, 84, 85, 86, 87, 88, 89, 90, 91, |
| 140276 | 140340 | /* 670 */ 92, 93, 94, 43, 44, 45, 46, 47, 48, 49, |
| 140277 | | - /* 680 */ 50, 51, 52, 53, 54, 55, 56, 57, 152, 108, |
| 140278 | | - /* 690 */ 23, 152, 194, 26, 194, 152, 194, 194, 137, 152, |
| 140279 | | - /* 700 */ 139, 19, 107, 166, 167, 218, 218, 29, 218, 173, |
| 140280 | | - /* 710 */ 174, 33, 173, 174, 84, 85, 86, 87, 88, 89, |
| 140341 | + /* 680 */ 50, 51, 52, 53, 54, 55, 56, 57, 152, 152, |
| 140342 | + /* 690 */ 23, 195, 196, 26, 194, 194, 194, 146, 147, 130, |
| 140343 | + /* 700 */ 194, 19, 46, 207, 59, 29, 166, 167, 218, 33, |
| 140344 | + /* 710 */ 173, 174, 26, 218, 84, 85, 86, 87, 88, 89, |
| 140281 | 140345 | /* 720 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, |
| 140282 | 140346 | /* 730 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
| 140283 | | - /* 740 */ 152, 194, 64, 171, 239, 239, 239, 130, 166, 167, |
| 140284 | | - /* 750 */ 212, 213, 19, 23, 246, 247, 26, 59, 26, 152, |
| 140285 | | - /* 760 */ 163, 218, 163, 163, 163, 98, 84, 85, 86, 87, |
| 140347 | + /* 740 */ 64, 171, 97, 240, 116, 166, 167, 212, 213, 121, |
| 140348 | + /* 750 */ 23, 152, 19, 26, 218, 247, 248, 23, 23, 152, |
| 140349 | + /* 760 */ 26, 26, 22, 107, 163, 98, 84, 85, 86, 87, |
| 140286 | 140350 | /* 770 */ 88, 89, 90, 91, 92, 93, 94, 44, 45, 46, |
| 140287 | 140351 | /* 780 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 140288 | | - /* 790 */ 57, 124, 26, 79, 197, 97, 197, 197, 197, 31, |
| 140289 | | - /* 800 */ 152, 23, 19, 19, 26, 19, 218, 39, 23, 21, |
| 140290 | | - /* 810 */ 238, 26, 163, 163, 100, 59, 163, 84, 85, 86, |
| 140352 | + /* 790 */ 57, 124, 106, 53, 100, 101, 195, 196, 152, 152, |
| 140353 | + /* 800 */ 23, 23, 19, 26, 26, 19, 152, 23, 207, 239, |
| 140354 | + /* 810 */ 26, 23, 152, 163, 26, 169, 170, 84, 85, 86, |
| 140291 | 140355 | /* 820 */ 87, 88, 89, 90, 91, 92, 93, 94, 45, 46, |
| 140292 | 140356 | /* 830 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 140293 | | - /* 840 */ 57, 19, 20, 152, 22, 23, 197, 197, 23, 19, |
| 140294 | | - /* 850 */ 197, 26, 152, 97, 23, 123, 23, 26, 36, 26, |
| 140295 | | - /* 860 */ 152, 152, 19, 20, 98, 22, 78, 84, 85, 86, |
| 140296 | | - /* 870 */ 87, 88, 89, 90, 91, 92, 93, 94, 94, 36, |
| 140297 | | - /* 880 */ 152, 59, 96, 99, 100, 101, 102, 103, 104, 105, |
| 140298 | | - /* 890 */ 124, 103, 70, 100, 101, 23, 112, 12, 26, 12, |
| 140299 | | - /* 900 */ 23, 79, 59, 26, 82, 101, 22, 7, 8, 152, |
| 140300 | | - /* 910 */ 88, 89, 27, 70, 27, 152, 112, 95, 96, 97, |
| 140301 | | - /* 920 */ 98, 152, 79, 101, 22, 82, 96, 42, 140, 42, |
| 140302 | | - /* 930 */ 182, 88, 89, 19, 20, 132, 22, 134, 95, 96, |
| 140303 | | - /* 940 */ 97, 98, 23, 59, 101, 26, 22, 62, 152, 62, |
| 140304 | | - /* 950 */ 36, 22, 59, 24, 132, 133, 134, 135, 136, 72, |
| 140305 | | - /* 960 */ 5, 59, 152, 22, 71, 10, 11, 12, 13, 14, |
| 140306 | | - /* 970 */ 152, 152, 17, 59, 182, 132, 133, 134, 135, 136, |
| 140307 | | - /* 980 */ 96, 97, 98, 59, 70, 30, 152, 32, 59, 96, |
| 140308 | | - /* 990 */ 97, 98, 173, 174, 53, 40, 82, 152, 96, 97, |
| 140309 | | - /* 1000 */ 98, 90, 88, 89, 90, 24, 187, 173, 174, 95, |
| 140310 | | - /* 1010 */ 96, 97, 98, 152, 152, 101, 19, 20, 152, 22, |
| 140311 | | - /* 1020 */ 96, 97, 98, 152, 69, 59, 97, 116, 59, 214, |
| 140312 | | - /* 1030 */ 152, 76, 121, 36, 79, 80, 19, 20, 152, 22, |
| 140313 | | - /* 1040 */ 59, 132, 59, 134, 173, 174, 132, 133, 134, 135, |
| 140314 | | - /* 1050 */ 136, 173, 174, 36, 234, 152, 59, 152, 187, 173, |
| 140315 | | - /* 1060 */ 174, 211, 96, 97, 98, 187, 97, 70, 23, 114, |
| 140316 | | - /* 1070 */ 152, 26, 23, 187, 23, 26, 59, 26, 97, 82, |
| 140317 | | - /* 1080 */ 97, 22, 164, 152, 152, 88, 89, 70, 192, 152, |
| 140318 | | - /* 1090 */ 124, 152, 95, 96, 97, 98, 141, 152, 101, 82, |
| 140319 | | - /* 1100 */ 152, 152, 184, 152, 186, 88, 89, 199, 54, 55, |
| 140320 | | - /* 1110 */ 56, 57, 95, 96, 97, 98, 152, 152, 101, 152, |
| 140321 | | - /* 1120 */ 152, 173, 174, 235, 54, 55, 56, 57, 58, 132, |
| 140322 | | - /* 1130 */ 133, 134, 135, 136, 211, 150, 59, 211, 84, 85, |
| 140323 | | - /* 1140 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 132, |
| 140324 | | - /* 1150 */ 133, 134, 135, 136, 84, 85, 86, 87, 88, 89, |
| 140325 | | - /* 1160 */ 90, 91, 92, 93, 94, 88, 89, 195, 196, 35, |
| 140326 | | - /* 1170 */ 211, 211, 152, 96, 97, 98, 152, 100, 198, 207, |
| 140327 | | - /* 1180 */ 171, 122, 240, 152, 107, 215, 109, 240, 202, 215, |
| 140328 | | - /* 1190 */ 202, 152, 220, 173, 174, 177, 185, 173, 174, 65, |
| 140329 | | - /* 1200 */ 152, 176, 152, 181, 173, 174, 215, 73, 176, 132, |
| 140330 | | - /* 1210 */ 228, 134, 173, 174, 176, 152, 201, 152, 199, 155, |
| 140331 | | - /* 1220 */ 152, 173, 174, 173, 174, 60, 152, 122, 244, 38, |
| 140332 | | - /* 1230 */ 159, 159, 152, 241, 241, 152, 173, 174, 173, 174, |
| 140333 | | - /* 1240 */ 152, 173, 174, 152, 159, 111, 152, 173, 174, 152, |
| 140334 | | - /* 1250 */ 22, 152, 43, 173, 174, 152, 173, 174, 152, 190, |
| 140335 | | - /* 1260 */ 130, 173, 174, 152, 173, 174, 152, 173, 174, 202, |
| 140336 | | - /* 1270 */ 173, 174, 173, 174, 152, 18, 173, 174, 152, 173, |
| 140337 | | - /* 1280 */ 174, 152, 221, 152, 173, 174, 193, 173, 174, 152, |
| 140338 | | - /* 1290 */ 158, 152, 159, 152, 22, 173, 174, 152, 18, 173, |
| 140339 | | - /* 1300 */ 174, 152, 173, 174, 173, 174, 152, 221, 152, 193, |
| 140340 | | - /* 1310 */ 173, 174, 173, 174, 173, 174, 152, 193, 173, 174, |
| 140341 | | - /* 1320 */ 152, 193, 173, 174, 158, 152, 190, 173, 174, 173, |
| 140342 | | - /* 1330 */ 174, 59, 152, 190, 159, 137, 152, 173, 174, 152, |
| 140343 | | - /* 1340 */ 202, 173, 174, 61, 152, 237, 173, 174, 202, 236, |
| 140344 | | - /* 1350 */ 22, 107, 159, 173, 174, 159, 178, 173, 174, 158, |
| 140345 | | - /* 1360 */ 173, 174, 159, 158, 158, 173, 174, 159, 178, 97, |
| 140346 | | - /* 1370 */ 175, 63, 175, 106, 175, 125, 217, 183, 178, 175, |
| 140347 | | - /* 1380 */ 107, 159, 22, 216, 177, 175, 217, 175, 175, 217, |
| 140348 | | - /* 1390 */ 216, 159, 216, 216, 183, 225, 217, 137, 227, 178, |
| 140349 | | - /* 1400 */ 94, 178, 126, 129, 25, 128, 127, 162, 206, 26, |
| 140350 | | - /* 1410 */ 161, 230, 230, 13, 153, 153, 6, 151, 203, 205, |
| 140351 | | - /* 1420 */ 204, 202, 151, 165, 171, 171, 151, 171, 165, 165, |
| 140352 | | - /* 1430 */ 171, 179, 4, 250, 179, 250, 247, 3, 22, 171, |
| 140353 | | - /* 1440 */ 171, 171, 142, 81, 15, 23, 16, 23, 131, 171, |
| 140354 | | - /* 1450 */ 120, 111, 123, 20, 16, 1, 125, 123, 131, 53, |
| 140355 | | - /* 1460 */ 53, 53, 53, 111, 96, 34, 122, 1, 5, 22, |
| 140356 | | - /* 1470 */ 107, 67, 140, 74, 26, 24, 41, 107, 67, 20, |
| 140357 | | - /* 1480 */ 19, 112, 105, 66, 22, 66, 22, 22, 28, 66, |
| 140358 | | - /* 1490 */ 23, 22, 22, 37, 23, 23, 23, 116, 22, 22, |
| 140359 | | - /* 1500 */ 26, 23, 122, 23, 23, 26, 22, 11, 96, 34, |
| 140360 | | - /* 1510 */ 124, 26, 26, 23, 23, 23, 34, 34, 23, 26, |
| 140361 | | - /* 1520 */ 23, 22, 24, 23, 22, 122, 23, 26, 22, 24, |
| 140362 | | - /* 1530 */ 23, 22, 15, 23, 23, 22, 122, 122, 23, 1, |
| 140363 | | - /* 1540 */ 122, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140364 | | - /* 1550 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140365 | | - /* 1560 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140357 | + /* 840 */ 57, 19, 20, 101, 22, 195, 196, 22, 19, 24, |
| 140358 | + /* 850 */ 163, 19, 7, 8, 112, 59, 23, 207, 36, 26, |
| 140359 | + /* 860 */ 23, 152, 59, 26, 21, 59, 152, 84, 85, 86, |
| 140360 | + /* 870 */ 87, 88, 89, 90, 91, 92, 93, 94, 232, 221, |
| 140361 | + /* 880 */ 94, 59, 195, 196, 59, 99, 100, 101, 102, 103, |
| 140362 | + /* 890 */ 104, 105, 70, 97, 207, 59, 19, 20, 112, 22, |
| 140363 | + /* 900 */ 97, 79, 152, 97, 82, 152, 152, 71, 221, 90, |
| 140364 | + /* 910 */ 88, 89, 23, 36, 12, 26, 163, 95, 96, 97, |
| 140365 | + /* 920 */ 98, 78, 97, 101, 152, 96, 173, 174, 96, 27, |
| 140366 | + /* 930 */ 182, 22, 96, 97, 98, 116, 59, 148, 149, 152, |
| 140367 | + /* 940 */ 121, 119, 120, 154, 42, 156, 103, 70, 195, 196, |
| 140368 | + /* 950 */ 22, 59, 163, 152, 132, 133, 134, 135, 136, 82, |
| 140369 | + /* 960 */ 207, 208, 209, 71, 62, 88, 89, 90, 59, 152, |
| 140370 | + /* 970 */ 152, 12, 95, 96, 97, 98, 19, 20, 101, 22, |
| 140371 | + /* 980 */ 22, 182, 152, 140, 195, 196, 27, 59, 96, 97, |
| 140372 | + /* 990 */ 98, 59, 132, 36, 134, 22, 207, 19, 20, 24, |
| 140373 | + /* 1000 */ 22, 42, 152, 173, 174, 96, 97, 98, 219, 132, |
| 140374 | + /* 1010 */ 133, 134, 135, 136, 36, 152, 59, 187, 132, 152, |
| 140375 | + /* 1020 */ 134, 62, 152, 152, 96, 97, 98, 70, 96, 97, |
| 140376 | + /* 1030 */ 98, 72, 59, 152, 59, 246, 26, 59, 214, 82, |
| 140377 | + /* 1040 */ 152, 192, 152, 173, 174, 88, 89, 79, 70, 152, |
| 140378 | + /* 1050 */ 152, 19, 95, 96, 97, 98, 124, 187, 101, 23, |
| 140379 | + /* 1060 */ 82, 164, 26, 173, 174, 152, 88, 89, 100, 96, |
| 140380 | + /* 1070 */ 97, 98, 97, 95, 96, 97, 98, 187, 46, 101, |
| 140381 | + /* 1080 */ 122, 184, 152, 186, 211, 152, 152, 119, 120, 132, |
| 140382 | + /* 1090 */ 133, 134, 135, 136, 152, 5, 22, 152, 152, 35, |
| 140383 | + /* 1100 */ 10, 11, 12, 13, 14, 152, 152, 17, 98, 235, |
| 140384 | + /* 1110 */ 132, 133, 134, 135, 136, 54, 55, 56, 57, 58, |
| 140385 | + /* 1120 */ 30, 152, 32, 152, 152, 198, 173, 174, 152, 65, |
| 140386 | + /* 1130 */ 40, 152, 152, 59, 124, 152, 236, 73, 199, 107, |
| 140387 | + /* 1140 */ 187, 171, 173, 174, 112, 84, 85, 86, 87, 88, |
| 140388 | + /* 1150 */ 89, 90, 91, 92, 93, 94, 173, 174, 152, 69, |
| 140389 | + /* 1160 */ 152, 211, 54, 55, 56, 57, 76, 152, 150, 79, |
| 140390 | + /* 1170 */ 80, 97, 211, 211, 211, 111, 59, 241, 241, 173, |
| 140391 | + /* 1180 */ 174, 173, 174, 202, 202, 185, 177, 176, 173, 174, |
| 140392 | + /* 1190 */ 176, 201, 84, 85, 86, 87, 88, 89, 90, 91, |
| 140393 | + /* 1200 */ 92, 93, 94, 215, 114, 88, 89, 152, 215, 119, |
| 140394 | + /* 1210 */ 120, 152, 181, 96, 97, 98, 176, 100, 215, 152, |
| 140395 | + /* 1220 */ 229, 152, 163, 152, 107, 199, 109, 155, 173, 174, |
| 140396 | + /* 1230 */ 245, 141, 173, 174, 60, 159, 152, 122, 159, 242, |
| 140397 | + /* 1240 */ 173, 174, 173, 174, 173, 174, 38, 242, 152, 132, |
| 140398 | + /* 1250 */ 159, 134, 152, 22, 195, 196, 152, 173, 174, 222, |
| 140399 | + /* 1260 */ 43, 130, 202, 152, 18, 152, 207, 208, 152, 173, |
| 140400 | + /* 1270 */ 174, 152, 190, 173, 174, 152, 193, 173, 174, 152, |
| 140401 | + /* 1280 */ 193, 193, 152, 159, 173, 174, 173, 174, 152, 173, |
| 140402 | + /* 1290 */ 174, 193, 173, 174, 18, 152, 173, 174, 152, 158, |
| 140403 | + /* 1300 */ 173, 174, 152, 173, 174, 152, 159, 152, 202, 173, |
| 140404 | + /* 1310 */ 174, 152, 190, 152, 222, 152, 173, 174, 152, 173, |
| 140405 | + /* 1320 */ 174, 137, 152, 173, 174, 190, 173, 174, 173, 174, |
| 140406 | + /* 1330 */ 202, 158, 173, 174, 173, 174, 173, 174, 61, 173, |
| 140407 | + /* 1340 */ 174, 152, 237, 173, 174, 152, 159, 152, 238, 152, |
| 140408 | + /* 1350 */ 158, 152, 22, 152, 178, 152, 158, 152, 158, 152, |
| 140409 | + /* 1360 */ 178, 159, 173, 174, 152, 159, 173, 174, 173, 174, |
| 140410 | + /* 1370 */ 173, 174, 173, 174, 173, 174, 173, 174, 173, 174, |
| 140411 | + /* 1380 */ 173, 174, 152, 63, 152, 173, 174, 107, 175, 175, |
| 140412 | + /* 1390 */ 175, 106, 183, 175, 178, 175, 177, 175, 175, 178, |
| 140413 | + /* 1400 */ 94, 107, 231, 173, 174, 173, 174, 183, 231, 125, |
| 140414 | + /* 1410 */ 216, 178, 159, 217, 22, 159, 226, 129, 137, 228, |
| 140415 | + /* 1420 */ 128, 217, 126, 25, 127, 162, 216, 26, 217, 161, |
| 140416 | + /* 1430 */ 13, 153, 153, 206, 205, 6, 251, 202, 204, 203, |
| 140417 | + /* 1440 */ 151, 216, 151, 217, 216, 171, 151, 165, 179, 179, |
| 140418 | + /* 1450 */ 4, 3, 22, 142, 171, 165, 15, 171, 171, 81, |
| 140419 | + /* 1460 */ 16, 23, 23, 120, 171, 131, 165, 111, 123, 171, |
| 140420 | + /* 1470 */ 171, 171, 20, 125, 16, 1, 123, 131, 53, 53, |
| 140421 | + /* 1480 */ 53, 53, 111, 96, 34, 122, 248, 1, 251, 5, |
| 140422 | + /* 1490 */ 22, 107, 140, 26, 74, 41, 122, 107, 67, 67, |
| 140423 | + /* 1500 */ 24, 20, 19, 112, 105, 23, 66, 22, 66, 22, |
| 140424 | + /* 1510 */ 22, 22, 37, 22, 22, 66, 23, 23, 28, 23, |
| 140425 | + /* 1520 */ 23, 26, 24, 23, 22, 24, 122, 23, 23, 96, |
| 140426 | + /* 1530 */ 22, 124, 26, 34, 23, 26, 23, 34, 23, 23, |
| 140427 | + /* 1540 */ 23, 34, 23, 22, 26, 11, 22, 22, 26, 23, |
| 140428 | + /* 1550 */ 23, 22, 116, 23, 22, 15, 122, 122, 23, 122, |
| 140429 | + /* 1560 */ 1, 252, 252, 252, 252, 122, 252, 252, 252, 252, |
| 140366 | 140430 | /* 1570 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140367 | 140431 | /* 1580 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140368 | 140432 | /* 1590 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140369 | 140433 | /* 1600 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140370 | 140434 | /* 1610 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| | @@ -140372,151 +140436,156 @@ |
| 140372 | 140436 | /* 1630 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140373 | 140437 | /* 1640 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140374 | 140438 | /* 1650 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140375 | 140439 | /* 1660 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140376 | 140440 | /* 1670 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140377 | | - /* 1680 */ 252, 252, 252, 252, |
| 140441 | + /* 1680 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140442 | + /* 1690 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140443 | + /* 1700 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, |
| 140378 | 140444 | }; |
| 140379 | | -#define YY_SHIFT_COUNT (465) |
| 140445 | +#define YY_SHIFT_COUNT (471) |
| 140380 | 140446 | #define YY_SHIFT_MIN (0) |
| 140381 | | -#define YY_SHIFT_MAX (1538) |
| 140447 | +#define YY_SHIFT_MAX (1559) |
| 140382 | 140448 | static const unsigned short int yy_shift_ofst[] = { |
| 140383 | | - /* 0 */ 39, 822, 955, 843, 997, 997, 997, 997, 0, 0, |
| 140384 | | - /* 10 */ 104, 630, 997, 997, 997, 997, 997, 997, 997, 1077, |
| 140385 | | - /* 20 */ 1077, 126, 161, 155, 52, 156, 208, 260, 312, 364, |
| 140386 | | - /* 30 */ 416, 468, 523, 578, 630, 630, 630, 630, 630, 630, |
| 140387 | | - /* 40 */ 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, |
| 140388 | | - /* 50 */ 630, 682, 630, 733, 783, 783, 914, 997, 997, 997, |
| 140389 | | - /* 60 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, |
| 140390 | | - /* 70 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, |
| 140391 | | - /* 80 */ 997, 997, 997, 997, 997, 997, 997, 997, 1017, 997, |
| 140392 | | - /* 90 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, |
| 140393 | | - /* 100 */ 997, 997, 1070, 1054, 1054, 1054, 1054, 1054, 40, 25, |
| 140394 | | - /* 110 */ 72, 232, 788, 428, 248, 248, 232, 581, 367, 127, |
| 140395 | | - /* 120 */ 465, 138, 1541, 1541, 1541, 784, 784, 784, 522, 522, |
| 140396 | | - /* 130 */ 887, 887, 893, 406, 408, 232, 232, 232, 232, 232, |
| 140397 | | - /* 140 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, |
| 140398 | | - /* 150 */ 232, 232, 232, 232, 232, 370, 340, 714, 698, 698, |
| 140399 | | - /* 160 */ 465, 89, 89, 89, 89, 89, 89, 1541, 1541, 1541, |
| 140400 | | - /* 170 */ 504, 85, 85, 884, 70, 280, 902, 440, 966, 924, |
| 140401 | | - /* 180 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, |
| 140402 | | - /* 190 */ 232, 232, 232, 232, 232, 232, 1134, 1134, 1134, 232, |
| 140403 | | - /* 200 */ 232, 667, 232, 232, 232, 929, 232, 232, 885, 232, |
| 140404 | | - /* 210 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 418, |
| 140405 | | - /* 220 */ 678, 981, 981, 981, 981, 766, 271, 911, 510, 429, |
| 140406 | | - /* 230 */ 617, 786, 786, 830, 617, 830, 4, 730, 595, 768, |
| 140407 | | - /* 240 */ 786, 561, 768, 768, 732, 535, 55, 1165, 1105, 1105, |
| 140408 | | - /* 250 */ 1191, 1191, 1105, 1228, 1209, 1130, 1257, 1257, 1257, 1257, |
| 140409 | | - /* 260 */ 1105, 1280, 1130, 1228, 1209, 1209, 1130, 1105, 1280, 1198, |
| 140410 | | - /* 270 */ 1282, 1105, 1105, 1280, 1328, 1105, 1280, 1105, 1280, 1328, |
| 140411 | | - /* 280 */ 1244, 1244, 1244, 1308, 1328, 1244, 1267, 1244, 1308, 1244, |
| 140412 | | - /* 290 */ 1244, 1250, 1273, 1250, 1273, 1250, 1273, 1250, 1273, 1105, |
| 140413 | | - /* 300 */ 1360, 1105, 1260, 1328, 1306, 1306, 1328, 1274, 1276, 1277, |
| 140414 | | - /* 310 */ 1279, 1130, 1379, 1383, 1400, 1400, 1410, 1410, 1410, 1541, |
| 140415 | | - /* 320 */ 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, |
| 140416 | | - /* 330 */ 1541, 1541, 1541, 1541, 1541, 34, 407, 463, 511, 417, |
| 140417 | | - /* 340 */ 479, 1272, 778, 941, 785, 825, 831, 833, 872, 877, |
| 140418 | | - /* 350 */ 756, 793, 900, 804, 919, 1045, 969, 1049, 803, 909, |
| 140419 | | - /* 360 */ 1051, 983, 1059, 1428, 1434, 1416, 1300, 1429, 1362, 1430, |
| 140420 | | - /* 370 */ 1422, 1424, 1330, 1317, 1340, 1329, 1433, 1331, 1438, 1454, |
| 140421 | | - /* 380 */ 1334, 1327, 1406, 1407, 1408, 1409, 1352, 1368, 1431, 1344, |
| 140422 | | - /* 390 */ 1466, 1463, 1447, 1363, 1332, 1404, 1448, 1411, 1399, 1435, |
| 140423 | | - /* 400 */ 1370, 1451, 1459, 1461, 1369, 1377, 1462, 1417, 1464, 1465, |
| 140424 | | - /* 410 */ 1467, 1469, 1419, 1460, 1470, 1423, 1456, 1471, 1472, 1473, |
| 140425 | | - /* 420 */ 1474, 1381, 1476, 1478, 1477, 1479, 1380, 1480, 1481, 1412, |
| 140426 | | - /* 430 */ 1475, 1484, 1386, 1485, 1482, 1486, 1483, 1490, 1485, 1491, |
| 140427 | | - /* 440 */ 1492, 1495, 1493, 1497, 1499, 1496, 1500, 1502, 1498, 1501, |
| 140428 | | - /* 450 */ 1503, 1506, 1505, 1501, 1507, 1509, 1510, 1511, 1513, 1403, |
| 140429 | | - /* 460 */ 1414, 1415, 1418, 1515, 1517, 1538, |
| 140430 | | -}; |
| 140431 | | -#define YY_REDUCE_COUNT (334) |
| 140432 | | -#define YY_REDUCE_MIN (-217) |
| 140433 | | -#define YY_REDUCE_MAX (1278) |
| 140449 | + /* 0 */ 182, 1090, 822, 822, 306, 957, 957, 957, 957, 210, |
| 140450 | + /* 10 */ 0, 0, 104, 630, 957, 957, 957, 957, 957, 957, |
| 140451 | + /* 20 */ 957, 1117, 1117, 126, 968, 306, 306, 306, 306, 306, |
| 140452 | + /* 30 */ 306, 52, 156, 208, 260, 312, 364, 416, 468, 523, |
| 140453 | + /* 40 */ 578, 630, 630, 630, 630, 630, 630, 630, 630, 630, |
| 140454 | + /* 50 */ 630, 630, 630, 630, 630, 630, 630, 630, 682, 630, |
| 140455 | + /* 60 */ 733, 783, 783, 877, 957, 957, 957, 957, 957, 957, |
| 140456 | + /* 70 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 140457 | + /* 80 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, |
| 140458 | + /* 90 */ 957, 957, 957, 957, 957, 978, 957, 957, 957, 957, |
| 140459 | + /* 100 */ 957, 957, 957, 957, 957, 957, 957, 957, 957, 1061, |
| 140460 | + /* 110 */ 1108, 1108, 1108, 1108, 1108, 40, 127, 20, 280, 843, |
| 140461 | + /* 120 */ 1032, 144, 144, 280, 310, 310, 310, 310, 59, 191, |
| 140462 | + /* 130 */ 69, 1566, 1566, 1566, 786, 786, 786, 522, 836, 522, |
| 140463 | + /* 140 */ 959, 959, 892, 155, 358, 280, 280, 280, 280, 280, |
| 140464 | + /* 150 */ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, |
| 140465 | + /* 160 */ 280, 280, 280, 280, 280, 280, 371, 388, 645, 645, |
| 140466 | + /* 170 */ 531, 1566, 1566, 1566, 504, 189, 189, 909, 63, 176, |
| 140467 | + /* 180 */ 928, 440, 932, 973, 280, 280, 280, 280, 280, 314, |
| 140468 | + /* 190 */ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, |
| 140469 | + /* 200 */ 280, 280, 1064, 1064, 1064, 280, 280, 280, 280, 667, |
| 140470 | + /* 210 */ 280, 280, 280, 825, 280, 280, 902, 280, 280, 280, |
| 140471 | + /* 220 */ 280, 280, 280, 280, 280, 383, 676, 325, 975, 975, |
| 140472 | + /* 230 */ 975, 975, 1010, 325, 325, 819, 349, 524, 569, 829, |
| 140473 | + /* 240 */ 829, 832, 569, 832, 686, 51, 656, 303, 303, 303, |
| 140474 | + /* 250 */ 829, 294, 520, 628, 474, 1174, 1115, 1115, 1208, 1208, |
| 140475 | + /* 260 */ 1115, 1231, 1217, 1131, 1246, 1246, 1246, 1246, 1115, 1276, |
| 140476 | + /* 270 */ 1131, 1231, 1217, 1217, 1131, 1115, 1276, 1184, 1277, 1115, |
| 140477 | + /* 280 */ 1276, 1330, 1115, 1276, 1115, 1276, 1330, 1280, 1280, 1280, |
| 140478 | + /* 290 */ 1320, 1330, 1280, 1285, 1280, 1320, 1280, 1280, 1330, 1306, |
| 140479 | + /* 300 */ 1306, 1330, 1284, 1294, 1284, 1294, 1284, 1294, 1284, 1294, |
| 140480 | + /* 310 */ 1115, 1392, 1115, 1281, 1288, 1296, 1292, 1297, 1131, 1398, |
| 140481 | + /* 320 */ 1401, 1417, 1417, 1429, 1429, 1429, 1566, 1566, 1566, 1566, |
| 140482 | + /* 330 */ 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, |
| 140483 | + /* 340 */ 1566, 1566, 34, 357, 38, 462, 514, 484, 1074, 727, |
| 140484 | + /* 350 */ 740, 734, 735, 777, 778, 784, 788, 803, 694, 845, |
| 140485 | + /* 360 */ 742, 796, 833, 837, 889, 860, 886, 1036, 806, 958, |
| 140486 | + /* 370 */ 1446, 1448, 1430, 1311, 1441, 1378, 1444, 1438, 1439, 1343, |
| 140487 | + /* 380 */ 1334, 1356, 1345, 1452, 1348, 1458, 1474, 1353, 1346, 1425, |
| 140488 | + /* 390 */ 1426, 1427, 1428, 1371, 1387, 1450, 1363, 1486, 1484, 1468, |
| 140489 | + /* 400 */ 1384, 1352, 1431, 1467, 1432, 1420, 1454, 1374, 1390, 1476, |
| 140490 | + /* 410 */ 1481, 1483, 1391, 1399, 1485, 1440, 1487, 1488, 1482, 1489, |
| 140491 | + /* 420 */ 1442, 1490, 1491, 1449, 1475, 1493, 1494, 1496, 1495, 1497, |
| 140492 | + /* 430 */ 1492, 1498, 1500, 1502, 1501, 1404, 1504, 1505, 1433, 1499, |
| 140493 | + /* 440 */ 1508, 1407, 1506, 1503, 1509, 1507, 1511, 1513, 1515, 1506, |
| 140494 | + /* 450 */ 1516, 1517, 1518, 1519, 1521, 1534, 1524, 1525, 1526, 1527, |
| 140495 | + /* 460 */ 1529, 1530, 1532, 1522, 1436, 1434, 1435, 1437, 1443, 1535, |
| 140496 | + /* 470 */ 1540, 1559, |
| 140497 | +}; |
| 140498 | +#define YY_REDUCE_COUNT (341) |
| 140499 | +#define YY_REDUCE_MIN (-211) |
| 140500 | +#define YY_REDUCE_MAX (1301) |
| 140434 | 140501 | static const short yy_reduce_ofst[] = { |
| 140435 | | - /* 0 */ -144, -139, -134, -136, -141, 64, 114, 116, -158, -148, |
| 140436 | | - /* 10 */ -217, 96, 819, 871, 878, 219, 270, 886, 272, -110, |
| 140437 | | - /* 20 */ 413, 918, 972, 228, -214, -214, -214, -214, -214, -214, |
| 140438 | | - /* 30 */ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, |
| 140439 | | - /* 40 */ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, |
| 140440 | | - /* 50 */ -214, -214, -214, -214, -214, -214, 62, 323, 377, 536, |
| 140441 | | - /* 60 */ 539, 834, 948, 1020, 1024, 1031, 1039, 1048, 1050, 1063, |
| 140442 | | - /* 70 */ 1065, 1068, 1074, 1080, 1083, 1088, 1091, 1094, 1097, 1099, |
| 140443 | | - /* 80 */ 1103, 1106, 1111, 1114, 1122, 1126, 1129, 1131, 1137, 1139, |
| 140444 | | - /* 90 */ 1141, 1145, 1149, 1154, 1156, 1164, 1168, 1173, 1180, 1184, |
| 140445 | | - /* 100 */ 1187, 1192, -214, -214, -214, -214, -214, -214, -214, -214, |
| 140446 | | - /* 110 */ -214, 132, -45, 97, 8, 164, 379, 175, 255, -214, |
| 140447 | | - /* 120 */ 178, -214, -214, -214, -214, -168, -168, -168, 124, 329, |
| 140448 | | - /* 130 */ 399, 401, -129, 347, 347, 331, 133, 451, 452, 498, |
| 140449 | | - /* 140 */ 500, 502, 503, 505, 487, 506, 488, 490, 507, 543, |
| 140450 | | - /* 150 */ 547, -126, 588, 290, 27, 572, 501, 597, 537, 582, |
| 140451 | | - /* 160 */ 183, 599, 600, 601, 649, 650, 653, 508, 538, -29, |
| 140452 | | - /* 170 */ -156, -152, -137, -79, 135, 74, 130, 242, 338, 378, |
| 140453 | | - /* 180 */ 393, 397, 607, 648, 691, 700, 708, 709, 728, 757, |
| 140454 | | - /* 190 */ 763, 769, 796, 810, 818, 845, 202, 748, 792, 861, |
| 140455 | | - /* 200 */ 862, 815, 866, 903, 905, 850, 931, 932, 896, 937, |
| 140456 | | - /* 210 */ 939, 945, 74, 949, 951, 964, 965, 967, 968, 888, |
| 140457 | | - /* 220 */ 820, 923, 926, 959, 960, 815, 980, 908, 1009, 985, |
| 140458 | | - /* 230 */ 986, 970, 974, 942, 988, 947, 1018, 1011, 1022, 1025, |
| 140459 | | - /* 240 */ 991, 982, 1032, 1038, 1015, 1019, 1064, 984, 1071, 1072, |
| 140460 | | - /* 250 */ 992, 993, 1085, 1061, 1069, 1067, 1093, 1116, 1124, 1128, |
| 140461 | | - /* 260 */ 1133, 1132, 1138, 1086, 1136, 1143, 1146, 1175, 1166, 1108, |
| 140462 | | - /* 270 */ 1113, 1193, 1196, 1201, 1178, 1203, 1205, 1208, 1206, 1190, |
| 140463 | | - /* 280 */ 1195, 1197, 1199, 1194, 1200, 1204, 1207, 1210, 1211, 1212, |
| 140464 | | - /* 290 */ 1213, 1159, 1167, 1169, 1174, 1172, 1176, 1179, 1177, 1222, |
| 140465 | | - /* 300 */ 1170, 1232, 1171, 1221, 1181, 1182, 1223, 1202, 1214, 1216, |
| 140466 | | - /* 310 */ 1215, 1219, 1245, 1249, 1261, 1262, 1266, 1271, 1275, 1183, |
| 140467 | | - /* 320 */ 1185, 1189, 1258, 1253, 1254, 1256, 1259, 1263, 1252, 1255, |
| 140468 | | - /* 330 */ 1268, 1269, 1270, 1278, 1264, |
| 140502 | + /* 0 */ -143, 789, 753, 1059, -137, -146, -144, -141, -136, 687, |
| 140503 | + /* 10 */ -107, 101, -203, -52, 830, 870, 890, 167, 953, 218, |
| 140504 | + /* 20 */ 220, 413, 646, 897, 73, 281, 283, 332, 496, 601, |
| 140505 | + /* 30 */ 650, -211, -211, -211, -211, -211, -211, -211, -211, -211, |
| 140506 | + /* 40 */ -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, |
| 140507 | + /* 50 */ -211, -211, -211, -211, -211, -211, -211, -211, -211, -211, |
| 140508 | + /* 60 */ -211, -211, -211, 374, 377, 537, 969, 983, 1006, 1008, |
| 140509 | + /* 70 */ 1015, 1055, 1067, 1069, 1071, 1084, 1096, 1100, 1104, 1111, |
| 140510 | + /* 80 */ 1113, 1116, 1119, 1123, 1127, 1130, 1136, 1143, 1146, 1150, |
| 140511 | + /* 90 */ 1153, 1155, 1159, 1161, 1163, 1166, 1170, 1189, 1193, 1195, |
| 140512 | + /* 100 */ 1197, 1199, 1201, 1203, 1205, 1207, 1212, 1230, 1232, -211, |
| 140513 | + /* 110 */ -211, -211, -211, -211, -211, -211, -211, -211, -30, 427, |
| 140514 | + /* 120 */ -171, -145, -134, 22, 279, 287, 279, 287, 99, -211, |
| 140515 | + /* 130 */ -211, -211, -211, -211, -165, -165, -165, 123, 135, 175, |
| 140516 | + /* 140 */ -150, 396, 337, 291, 291, -147, 185, 391, 446, 444, |
| 140517 | + /* 150 */ 452, 500, 501, 502, 27, -152, 295, 438, 490, 503, |
| 140518 | + /* 160 */ 495, 506, -73, 447, 451, 536, 570, 551, 540, 579, |
| 140519 | + /* 170 */ 30, 508, 535, 81, 14, 61, 115, 168, 142, 222, |
| 140520 | + /* 180 */ 275, 284, 397, 599, 607, 647, 654, 660, 709, 658, |
| 140521 | + /* 190 */ 714, 750, 754, 772, 787, 801, 817, 818, 850, 863, |
| 140522 | + /* 200 */ 867, 871, 466, 748, 799, 881, 888, 898, 913, 824, |
| 140523 | + /* 210 */ 930, 933, 934, 873, 942, 945, 849, 946, 222, 954, |
| 140524 | + /* 220 */ 971, 972, 976, 979, 980, 900, 874, 927, 950, 961, |
| 140525 | + /* 230 */ 962, 963, 824, 927, 927, 939, 970, 1018, 981, 988, |
| 140526 | + /* 240 */ 993, 936, 982, 937, 1009, 1000, 1031, 1011, 1014, 1040, |
| 140527 | + /* 250 */ 1003, 991, 990, 1026, 1072, 985, 1076, 1079, 997, 1005, |
| 140528 | + /* 260 */ 1091, 1037, 1082, 1060, 1083, 1087, 1088, 1098, 1124, 1141, |
| 140529 | + /* 270 */ 1106, 1092, 1122, 1135, 1128, 1147, 1173, 1110, 1105, 1187, |
| 140530 | + /* 280 */ 1192, 1176, 1202, 1198, 1206, 1200, 1182, 1213, 1214, 1215, |
| 140531 | + /* 290 */ 1209, 1216, 1218, 1219, 1220, 1224, 1222, 1223, 1221, 1171, |
| 140532 | + /* 300 */ 1177, 1233, 1196, 1194, 1204, 1210, 1211, 1225, 1226, 1228, |
| 140533 | + /* 310 */ 1253, 1190, 1256, 1191, 1227, 1229, 1234, 1236, 1235, 1263, |
| 140534 | + /* 320 */ 1268, 1278, 1279, 1289, 1291, 1295, 1185, 1237, 1238, 1282, |
| 140535 | + /* 330 */ 1274, 1283, 1286, 1287, 1290, 1269, 1270, 1293, 1298, 1299, |
| 140536 | + /* 340 */ 1300, 1301, |
| 140469 | 140537 | }; |
| 140470 | 140538 | static const YYACTIONTYPE yy_default[] = { |
| 140471 | | - /* 0 */ 1286, 1276, 1276, 1276, 1209, 1209, 1209, 1209, 1133, 1133, |
| 140472 | | - /* 10 */ 1260, 1036, 1005, 1005, 1005, 1005, 1005, 1005, 1208, 1005, |
| 140473 | | - /* 20 */ 1005, 1005, 1005, 1108, 1139, 1005, 1005, 1005, 1005, 1210, |
| 140474 | | - /* 30 */ 1211, 1005, 1005, 1005, 1259, 1261, 1149, 1148, 1147, 1146, |
| 140475 | | - /* 40 */ 1242, 1120, 1144, 1137, 1141, 1210, 1204, 1205, 1203, 1207, |
| 140476 | | - /* 50 */ 1211, 1005, 1140, 1174, 1188, 1173, 1005, 1005, 1005, 1005, |
| 140477 | | - /* 60 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140478 | | - /* 70 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140479 | | - /* 80 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140480 | | - /* 90 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140481 | | - /* 100 */ 1005, 1005, 1182, 1187, 1194, 1186, 1183, 1176, 1175, 1177, |
| 140482 | | - /* 110 */ 1178, 1005, 1026, 1075, 1005, 1005, 1005, 1276, 1036, 1179, |
| 140483 | | - /* 120 */ 1005, 1180, 1191, 1190, 1189, 1267, 1294, 1293, 1005, 1005, |
| 140484 | | - /* 130 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140485 | | - /* 140 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140486 | | - /* 150 */ 1005, 1005, 1005, 1005, 1005, 1036, 1286, 1276, 1032, 1032, |
| 140487 | | - /* 160 */ 1005, 1276, 1276, 1276, 1276, 1276, 1276, 1272, 1108, 1099, |
| 140488 | | - /* 170 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140489 | | - /* 180 */ 1005, 1264, 1262, 1005, 1224, 1005, 1005, 1005, 1005, 1005, |
| 140490 | | - /* 190 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140491 | | - /* 200 */ 1005, 1005, 1005, 1005, 1005, 1104, 1005, 1005, 1005, 1005, |
| 140492 | | - /* 210 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1288, 1005, |
| 140493 | | - /* 220 */ 1237, 1104, 1104, 1104, 1104, 1106, 1088, 1098, 1036, 1012, |
| 140494 | | - /* 230 */ 1143, 1122, 1122, 1327, 1143, 1327, 1050, 1308, 1047, 1133, |
| 140495 | | - /* 240 */ 1122, 1206, 1133, 1133, 1105, 1098, 1005, 1330, 1113, 1113, |
| 140496 | | - /* 250 */ 1329, 1329, 1113, 1154, 1078, 1143, 1084, 1084, 1084, 1084, |
| 140497 | | - /* 260 */ 1113, 1023, 1143, 1154, 1078, 1078, 1143, 1113, 1023, 1241, |
| 140498 | | - /* 270 */ 1324, 1113, 1113, 1023, 1217, 1113, 1023, 1113, 1023, 1217, |
| 140499 | | - /* 280 */ 1076, 1076, 1076, 1065, 1217, 1076, 1050, 1076, 1065, 1076, |
| 140500 | | - /* 290 */ 1076, 1126, 1121, 1126, 1121, 1126, 1121, 1126, 1121, 1113, |
| 140501 | | - /* 300 */ 1212, 1113, 1005, 1217, 1221, 1221, 1217, 1138, 1127, 1136, |
| 140502 | | - /* 310 */ 1134, 1143, 1029, 1068, 1291, 1291, 1287, 1287, 1287, 1335, |
| 140503 | | - /* 320 */ 1335, 1272, 1303, 1036, 1036, 1036, 1036, 1303, 1052, 1052, |
| 140504 | | - /* 330 */ 1036, 1036, 1036, 1036, 1303, 1005, 1005, 1005, 1005, 1005, |
| 140505 | | - /* 340 */ 1005, 1298, 1005, 1226, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140506 | | - /* 350 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140507 | | - /* 360 */ 1005, 1005, 1159, 1005, 1008, 1269, 1005, 1005, 1268, 1005, |
| 140508 | | - /* 370 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140509 | | - /* 380 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1326, |
| 140510 | | - /* 390 */ 1005, 1005, 1005, 1005, 1005, 1005, 1240, 1239, 1005, 1005, |
| 140511 | | - /* 400 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140512 | | - /* 410 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, |
| 140513 | | - /* 420 */ 1005, 1090, 1005, 1005, 1005, 1312, 1005, 1005, 1005, 1005, |
| 140514 | | - /* 430 */ 1005, 1005, 1005, 1135, 1005, 1128, 1005, 1005, 1317, 1005, |
| 140515 | | - /* 440 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1278, |
| 140516 | | - /* 450 */ 1005, 1005, 1005, 1277, 1005, 1005, 1005, 1005, 1005, 1161, |
| 140517 | | - /* 460 */ 1005, 1160, 1164, 1005, 1017, 1005, |
| 140539 | + /* 0 */ 1297, 1349, 1221, 1014, 1119, 1221, 1221, 1221, 1221, 1014, |
| 140540 | + /* 10 */ 1145, 1145, 1272, 1045, 1014, 1014, 1014, 1014, 1014, 1220, |
| 140541 | + /* 20 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140542 | + /* 30 */ 1014, 1151, 1014, 1014, 1014, 1014, 1222, 1223, 1014, 1014, |
| 140543 | + /* 40 */ 1014, 1271, 1273, 1161, 1160, 1159, 1158, 1254, 1132, 1156, |
| 140544 | + /* 50 */ 1149, 1153, 1216, 1217, 1215, 1219, 1222, 1223, 1014, 1152, |
| 140545 | + /* 60 */ 1186, 1200, 1185, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140546 | + /* 70 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140547 | + /* 80 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140548 | + /* 90 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140549 | + /* 100 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1194, |
| 140550 | + /* 110 */ 1199, 1206, 1198, 1195, 1188, 1187, 1189, 1190, 1014, 1035, |
| 140551 | + /* 120 */ 1084, 1014, 1014, 1014, 1289, 1288, 1014, 1014, 1045, 1191, |
| 140552 | + /* 130 */ 1192, 1203, 1202, 1201, 1279, 1305, 1304, 1014, 1014, 1014, |
| 140553 | + /* 140 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140554 | + /* 150 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140555 | + /* 160 */ 1014, 1014, 1014, 1014, 1014, 1014, 1045, 1297, 1041, 1041, |
| 140556 | + /* 170 */ 1014, 1284, 1119, 1110, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140557 | + /* 180 */ 1014, 1014, 1014, 1014, 1014, 1276, 1274, 1014, 1236, 1014, |
| 140558 | + /* 190 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140559 | + /* 200 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140560 | + /* 210 */ 1014, 1014, 1014, 1115, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140561 | + /* 220 */ 1014, 1014, 1014, 1014, 1299, 1014, 1249, 1098, 1115, 1115, |
| 140562 | + /* 230 */ 1115, 1115, 1117, 1099, 1097, 1109, 1045, 1021, 1155, 1134, |
| 140563 | + /* 240 */ 1134, 1338, 1155, 1338, 1059, 1319, 1056, 1145, 1145, 1145, |
| 140564 | + /* 250 */ 1134, 1218, 1116, 1109, 1014, 1341, 1124, 1124, 1340, 1340, |
| 140565 | + /* 260 */ 1124, 1166, 1087, 1155, 1093, 1093, 1093, 1093, 1124, 1032, |
| 140566 | + /* 270 */ 1155, 1166, 1087, 1087, 1155, 1124, 1032, 1253, 1335, 1124, |
| 140567 | + /* 280 */ 1032, 1229, 1124, 1032, 1124, 1032, 1229, 1085, 1085, 1085, |
| 140568 | + /* 290 */ 1074, 1229, 1085, 1059, 1085, 1074, 1085, 1085, 1229, 1233, |
| 140569 | + /* 300 */ 1233, 1229, 1138, 1133, 1138, 1133, 1138, 1133, 1138, 1133, |
| 140570 | + /* 310 */ 1124, 1224, 1124, 1014, 1150, 1139, 1148, 1146, 1155, 1038, |
| 140571 | + /* 320 */ 1077, 1302, 1302, 1298, 1298, 1298, 1346, 1346, 1284, 1314, |
| 140572 | + /* 330 */ 1045, 1045, 1045, 1045, 1314, 1061, 1061, 1045, 1045, 1045, |
| 140573 | + /* 340 */ 1045, 1314, 1014, 1014, 1014, 1014, 1014, 1014, 1309, 1014, |
| 140574 | + /* 350 */ 1238, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140575 | + /* 360 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1171, |
| 140576 | + /* 370 */ 1014, 1017, 1281, 1014, 1014, 1280, 1014, 1014, 1014, 1014, |
| 140577 | + /* 380 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140578 | + /* 390 */ 1014, 1014, 1014, 1014, 1014, 1014, 1337, 1014, 1014, 1014, |
| 140579 | + /* 400 */ 1014, 1014, 1014, 1252, 1251, 1014, 1014, 1126, 1014, 1014, |
| 140580 | + /* 410 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140581 | + /* 420 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140582 | + /* 430 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140583 | + /* 440 */ 1014, 1014, 1147, 1014, 1140, 1014, 1014, 1014, 1014, 1328, |
| 140584 | + /* 450 */ 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, |
| 140585 | + /* 460 */ 1014, 1014, 1014, 1323, 1101, 1173, 1014, 1172, 1176, 1014, |
| 140586 | + /* 470 */ 1026, 1014, |
| 140518 | 140587 | }; |
| 140519 | 140588 | /********** End of lemon-generated parsing tables *****************************/ |
| 140520 | 140589 | |
| 140521 | 140590 | /* The next table maps tokens (terminal symbols) into fallback tokens. |
| 140522 | 140591 | ** If a construct like the following: |
| | @@ -140898,11 +140967,11 @@ |
| 140898 | 140967 | /* 192 */ "raisetype", |
| 140899 | 140968 | /* 193 */ "ifexists", |
| 140900 | 140969 | /* 194 */ "fullname", |
| 140901 | 140970 | /* 195 */ "selectnowith", |
| 140902 | 140971 | /* 196 */ "oneselect", |
| 140903 | | - /* 197 */ "with", |
| 140972 | + /* 197 */ "wqlist", |
| 140904 | 140973 | /* 198 */ "multiselect_op", |
| 140905 | 140974 | /* 199 */ "distinct", |
| 140906 | 140975 | /* 200 */ "selcollist", |
| 140907 | 140976 | /* 201 */ "from", |
| 140908 | 140977 | /* 202 */ "where_opt", |
| | @@ -140920,43 +140989,43 @@ |
| 140920 | 140989 | /* 214 */ "joinop", |
| 140921 | 140990 | /* 215 */ "indexed_opt", |
| 140922 | 140991 | /* 216 */ "on_opt", |
| 140923 | 140992 | /* 217 */ "using_opt", |
| 140924 | 140993 | /* 218 */ "idlist", |
| 140925 | | - /* 219 */ "setlist", |
| 140926 | | - /* 220 */ "insert_cmd", |
| 140927 | | - /* 221 */ "idlist_opt", |
| 140928 | | - /* 222 */ "likeop", |
| 140929 | | - /* 223 */ "between_op", |
| 140930 | | - /* 224 */ "in_op", |
| 140931 | | - /* 225 */ "paren_exprlist", |
| 140932 | | - /* 226 */ "case_operand", |
| 140933 | | - /* 227 */ "case_exprlist", |
| 140934 | | - /* 228 */ "case_else", |
| 140935 | | - /* 229 */ "uniqueflag", |
| 140936 | | - /* 230 */ "collate", |
| 140937 | | - /* 231 */ "nmnum", |
| 140938 | | - /* 232 */ "trigger_decl", |
| 140939 | | - /* 233 */ "trigger_cmd_list", |
| 140940 | | - /* 234 */ "trigger_time", |
| 140941 | | - /* 235 */ "trigger_event", |
| 140942 | | - /* 236 */ "foreach_clause", |
| 140943 | | - /* 237 */ "when_clause", |
| 140944 | | - /* 238 */ "trigger_cmd", |
| 140945 | | - /* 239 */ "trnm", |
| 140946 | | - /* 240 */ "tridxby", |
| 140947 | | - /* 241 */ "database_kw_opt", |
| 140948 | | - /* 242 */ "key_opt", |
| 140949 | | - /* 243 */ "add_column_fullname", |
| 140950 | | - /* 244 */ "kwcolumn_opt", |
| 140951 | | - /* 245 */ "create_vtab", |
| 140952 | | - /* 246 */ "vtabarglist", |
| 140953 | | - /* 247 */ "vtabarg", |
| 140954 | | - /* 248 */ "vtabargtoken", |
| 140955 | | - /* 249 */ "lp", |
| 140956 | | - /* 250 */ "anylist", |
| 140957 | | - /* 251 */ "wqlist", |
| 140994 | + /* 219 */ "with", |
| 140995 | + /* 220 */ "setlist", |
| 140996 | + /* 221 */ "insert_cmd", |
| 140997 | + /* 222 */ "idlist_opt", |
| 140998 | + /* 223 */ "likeop", |
| 140999 | + /* 224 */ "between_op", |
| 141000 | + /* 225 */ "in_op", |
| 141001 | + /* 226 */ "paren_exprlist", |
| 141002 | + /* 227 */ "case_operand", |
| 141003 | + /* 228 */ "case_exprlist", |
| 141004 | + /* 229 */ "case_else", |
| 141005 | + /* 230 */ "uniqueflag", |
| 141006 | + /* 231 */ "collate", |
| 141007 | + /* 232 */ "nmnum", |
| 141008 | + /* 233 */ "trigger_decl", |
| 141009 | + /* 234 */ "trigger_cmd_list", |
| 141010 | + /* 235 */ "trigger_time", |
| 141011 | + /* 236 */ "trigger_event", |
| 141012 | + /* 237 */ "foreach_clause", |
| 141013 | + /* 238 */ "when_clause", |
| 141014 | + /* 239 */ "trigger_cmd", |
| 141015 | + /* 240 */ "trnm", |
| 141016 | + /* 241 */ "tridxby", |
| 141017 | + /* 242 */ "database_kw_opt", |
| 141018 | + /* 243 */ "key_opt", |
| 141019 | + /* 244 */ "add_column_fullname", |
| 141020 | + /* 245 */ "kwcolumn_opt", |
| 141021 | + /* 246 */ "create_vtab", |
| 141022 | + /* 247 */ "vtabarglist", |
| 141023 | + /* 248 */ "vtabarg", |
| 141024 | + /* 249 */ "vtabargtoken", |
| 141025 | + /* 250 */ "lp", |
| 141026 | + /* 251 */ "anylist", |
| 140958 | 141027 | }; |
| 140959 | 141028 | #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ |
| 140960 | 141029 | |
| 140961 | 141030 | #ifndef NDEBUG |
| 140962 | 141031 | /* For tracing reduce actions, the names of all rules are required. |
| | @@ -141040,260 +141109,263 @@ |
| 141040 | 141109 | /* 75 */ "ifexists ::= IF EXISTS", |
| 141041 | 141110 | /* 76 */ "ifexists ::=", |
| 141042 | 141111 | /* 77 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select", |
| 141043 | 141112 | /* 78 */ "cmd ::= DROP VIEW ifexists fullname", |
| 141044 | 141113 | /* 79 */ "cmd ::= select", |
| 141045 | | - /* 80 */ "select ::= with selectnowith", |
| 141046 | | - /* 81 */ "selectnowith ::= selectnowith multiselect_op oneselect", |
| 141047 | | - /* 82 */ "multiselect_op ::= UNION", |
| 141048 | | - /* 83 */ "multiselect_op ::= UNION ALL", |
| 141049 | | - /* 84 */ "multiselect_op ::= EXCEPT|INTERSECT", |
| 141050 | | - /* 85 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", |
| 141051 | | - /* 86 */ "values ::= VALUES LP nexprlist RP", |
| 141052 | | - /* 87 */ "values ::= values COMMA LP exprlist RP", |
| 141053 | | - /* 88 */ "distinct ::= DISTINCT", |
| 141054 | | - /* 89 */ "distinct ::= ALL", |
| 141055 | | - /* 90 */ "distinct ::=", |
| 141056 | | - /* 91 */ "sclp ::=", |
| 141057 | | - /* 92 */ "selcollist ::= sclp scanpt expr scanpt as", |
| 141058 | | - /* 93 */ "selcollist ::= sclp scanpt STAR", |
| 141059 | | - /* 94 */ "selcollist ::= sclp scanpt nm DOT STAR", |
| 141060 | | - /* 95 */ "as ::= AS nm", |
| 141061 | | - /* 96 */ "as ::=", |
| 141062 | | - /* 97 */ "from ::=", |
| 141063 | | - /* 98 */ "from ::= FROM seltablist", |
| 141064 | | - /* 99 */ "stl_prefix ::= seltablist joinop", |
| 141065 | | - /* 100 */ "stl_prefix ::=", |
| 141066 | | - /* 101 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", |
| 141067 | | - /* 102 */ "seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt", |
| 141068 | | - /* 103 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", |
| 141069 | | - /* 104 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", |
| 141070 | | - /* 105 */ "dbnm ::=", |
| 141071 | | - /* 106 */ "dbnm ::= DOT nm", |
| 141072 | | - /* 107 */ "fullname ::= nm dbnm", |
| 141073 | | - /* 108 */ "joinop ::= COMMA|JOIN", |
| 141074 | | - /* 109 */ "joinop ::= JOIN_KW JOIN", |
| 141075 | | - /* 110 */ "joinop ::= JOIN_KW nm JOIN", |
| 141076 | | - /* 111 */ "joinop ::= JOIN_KW nm nm JOIN", |
| 141077 | | - /* 112 */ "on_opt ::= ON expr", |
| 141078 | | - /* 113 */ "on_opt ::=", |
| 141079 | | - /* 114 */ "indexed_opt ::=", |
| 141080 | | - /* 115 */ "indexed_opt ::= INDEXED BY nm", |
| 141081 | | - /* 116 */ "indexed_opt ::= NOT INDEXED", |
| 141082 | | - /* 117 */ "using_opt ::= USING LP idlist RP", |
| 141083 | | - /* 118 */ "using_opt ::=", |
| 141084 | | - /* 119 */ "orderby_opt ::=", |
| 141085 | | - /* 120 */ "orderby_opt ::= ORDER BY sortlist", |
| 141086 | | - /* 121 */ "sortlist ::= sortlist COMMA expr sortorder", |
| 141087 | | - /* 122 */ "sortlist ::= expr sortorder", |
| 141088 | | - /* 123 */ "sortorder ::= ASC", |
| 141089 | | - /* 124 */ "sortorder ::= DESC", |
| 141090 | | - /* 125 */ "sortorder ::=", |
| 141091 | | - /* 126 */ "groupby_opt ::=", |
| 141092 | | - /* 127 */ "groupby_opt ::= GROUP BY nexprlist", |
| 141093 | | - /* 128 */ "having_opt ::=", |
| 141094 | | - /* 129 */ "having_opt ::= HAVING expr", |
| 141095 | | - /* 130 */ "limit_opt ::=", |
| 141096 | | - /* 131 */ "limit_opt ::= LIMIT expr", |
| 141097 | | - /* 132 */ "limit_opt ::= LIMIT expr OFFSET expr", |
| 141098 | | - /* 133 */ "limit_opt ::= LIMIT expr COMMA expr", |
| 141099 | | - /* 134 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", |
| 141100 | | - /* 135 */ "where_opt ::=", |
| 141101 | | - /* 136 */ "where_opt ::= WHERE expr", |
| 141102 | | - /* 137 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", |
| 141103 | | - /* 138 */ "setlist ::= setlist COMMA nm EQ expr", |
| 141104 | | - /* 139 */ "setlist ::= setlist COMMA LP idlist RP EQ expr", |
| 141105 | | - /* 140 */ "setlist ::= nm EQ expr", |
| 141106 | | - /* 141 */ "setlist ::= LP idlist RP EQ expr", |
| 141107 | | - /* 142 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", |
| 141108 | | - /* 143 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", |
| 141109 | | - /* 144 */ "insert_cmd ::= INSERT orconf", |
| 141110 | | - /* 145 */ "insert_cmd ::= REPLACE", |
| 141111 | | - /* 146 */ "idlist_opt ::=", |
| 141112 | | - /* 147 */ "idlist_opt ::= LP idlist RP", |
| 141113 | | - /* 148 */ "idlist ::= idlist COMMA nm", |
| 141114 | | - /* 149 */ "idlist ::= nm", |
| 141115 | | - /* 150 */ "expr ::= LP expr RP", |
| 141116 | | - /* 151 */ "expr ::= ID|INDEXED", |
| 141117 | | - /* 152 */ "expr ::= JOIN_KW", |
| 141118 | | - /* 153 */ "expr ::= nm DOT nm", |
| 141119 | | - /* 154 */ "expr ::= nm DOT nm DOT nm", |
| 141120 | | - /* 155 */ "term ::= NULL|FLOAT|BLOB", |
| 141121 | | - /* 156 */ "term ::= STRING", |
| 141122 | | - /* 157 */ "term ::= INTEGER", |
| 141123 | | - /* 158 */ "expr ::= VARIABLE", |
| 141124 | | - /* 159 */ "expr ::= expr COLLATE ID|STRING", |
| 141125 | | - /* 160 */ "expr ::= CAST LP expr AS typetoken RP", |
| 141126 | | - /* 161 */ "expr ::= ID|INDEXED LP distinct exprlist RP", |
| 141127 | | - /* 162 */ "expr ::= ID|INDEXED LP STAR RP", |
| 141128 | | - /* 163 */ "term ::= CTIME_KW", |
| 141129 | | - /* 164 */ "expr ::= LP nexprlist COMMA expr RP", |
| 141130 | | - /* 165 */ "expr ::= expr AND expr", |
| 141131 | | - /* 166 */ "expr ::= expr OR expr", |
| 141132 | | - /* 167 */ "expr ::= expr LT|GT|GE|LE expr", |
| 141133 | | - /* 168 */ "expr ::= expr EQ|NE expr", |
| 141134 | | - /* 169 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", |
| 141135 | | - /* 170 */ "expr ::= expr PLUS|MINUS expr", |
| 141136 | | - /* 171 */ "expr ::= expr STAR|SLASH|REM expr", |
| 141137 | | - /* 172 */ "expr ::= expr CONCAT expr", |
| 141138 | | - /* 173 */ "likeop ::= NOT LIKE_KW|MATCH", |
| 141139 | | - /* 174 */ "expr ::= expr likeop expr", |
| 141140 | | - /* 175 */ "expr ::= expr likeop expr ESCAPE expr", |
| 141141 | | - /* 176 */ "expr ::= expr ISNULL|NOTNULL", |
| 141142 | | - /* 177 */ "expr ::= expr NOT NULL", |
| 141143 | | - /* 178 */ "expr ::= expr IS expr", |
| 141144 | | - /* 179 */ "expr ::= expr IS NOT expr", |
| 141145 | | - /* 180 */ "expr ::= NOT expr", |
| 141146 | | - /* 181 */ "expr ::= BITNOT expr", |
| 141147 | | - /* 182 */ "expr ::= MINUS expr", |
| 141148 | | - /* 183 */ "expr ::= PLUS expr", |
| 141149 | | - /* 184 */ "between_op ::= BETWEEN", |
| 141150 | | - /* 185 */ "between_op ::= NOT BETWEEN", |
| 141151 | | - /* 186 */ "expr ::= expr between_op expr AND expr", |
| 141152 | | - /* 187 */ "in_op ::= IN", |
| 141153 | | - /* 188 */ "in_op ::= NOT IN", |
| 141154 | | - /* 189 */ "expr ::= expr in_op LP exprlist RP", |
| 141155 | | - /* 190 */ "expr ::= LP select RP", |
| 141156 | | - /* 191 */ "expr ::= expr in_op LP select RP", |
| 141157 | | - /* 192 */ "expr ::= expr in_op nm dbnm paren_exprlist", |
| 141158 | | - /* 193 */ "expr ::= EXISTS LP select RP", |
| 141159 | | - /* 194 */ "expr ::= CASE case_operand case_exprlist case_else END", |
| 141160 | | - /* 195 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", |
| 141161 | | - /* 196 */ "case_exprlist ::= WHEN expr THEN expr", |
| 141162 | | - /* 197 */ "case_else ::= ELSE expr", |
| 141163 | | - /* 198 */ "case_else ::=", |
| 141164 | | - /* 199 */ "case_operand ::= expr", |
| 141165 | | - /* 200 */ "case_operand ::=", |
| 141166 | | - /* 201 */ "exprlist ::=", |
| 141167 | | - /* 202 */ "nexprlist ::= nexprlist COMMA expr", |
| 141168 | | - /* 203 */ "nexprlist ::= expr", |
| 141169 | | - /* 204 */ "paren_exprlist ::=", |
| 141170 | | - /* 205 */ "paren_exprlist ::= LP exprlist RP", |
| 141171 | | - /* 206 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", |
| 141172 | | - /* 207 */ "uniqueflag ::= UNIQUE", |
| 141173 | | - /* 208 */ "uniqueflag ::=", |
| 141174 | | - /* 209 */ "eidlist_opt ::=", |
| 141175 | | - /* 210 */ "eidlist_opt ::= LP eidlist RP", |
| 141176 | | - /* 211 */ "eidlist ::= eidlist COMMA nm collate sortorder", |
| 141177 | | - /* 212 */ "eidlist ::= nm collate sortorder", |
| 141178 | | - /* 213 */ "collate ::=", |
| 141179 | | - /* 214 */ "collate ::= COLLATE ID|STRING", |
| 141180 | | - /* 215 */ "cmd ::= DROP INDEX ifexists fullname", |
| 141181 | | - /* 216 */ "cmd ::= VACUUM", |
| 141182 | | - /* 217 */ "cmd ::= VACUUM nm", |
| 141183 | | - /* 218 */ "cmd ::= PRAGMA nm dbnm", |
| 141184 | | - /* 219 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", |
| 141185 | | - /* 220 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", |
| 141186 | | - /* 221 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", |
| 141187 | | - /* 222 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", |
| 141188 | | - /* 223 */ "plus_num ::= PLUS INTEGER|FLOAT", |
| 141189 | | - /* 224 */ "minus_num ::= MINUS INTEGER|FLOAT", |
| 141190 | | - /* 225 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", |
| 141191 | | - /* 226 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", |
| 141192 | | - /* 227 */ "trigger_time ::= BEFORE|AFTER", |
| 141193 | | - /* 228 */ "trigger_time ::= INSTEAD OF", |
| 141194 | | - /* 229 */ "trigger_time ::=", |
| 141195 | | - /* 230 */ "trigger_event ::= DELETE|INSERT", |
| 141196 | | - /* 231 */ "trigger_event ::= UPDATE", |
| 141197 | | - /* 232 */ "trigger_event ::= UPDATE OF idlist", |
| 141198 | | - /* 233 */ "when_clause ::=", |
| 141199 | | - /* 234 */ "when_clause ::= WHEN expr", |
| 141200 | | - /* 235 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", |
| 141201 | | - /* 236 */ "trigger_cmd_list ::= trigger_cmd SEMI", |
| 141202 | | - /* 237 */ "trnm ::= nm DOT nm", |
| 141203 | | - /* 238 */ "tridxby ::= INDEXED BY nm", |
| 141204 | | - /* 239 */ "tridxby ::= NOT INDEXED", |
| 141205 | | - /* 240 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt", |
| 141206 | | - /* 241 */ "trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt", |
| 141207 | | - /* 242 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt", |
| 141208 | | - /* 243 */ "trigger_cmd ::= scanpt select scanpt", |
| 141209 | | - /* 244 */ "expr ::= RAISE LP IGNORE RP", |
| 141210 | | - /* 245 */ "expr ::= RAISE LP raisetype COMMA nm RP", |
| 141211 | | - /* 246 */ "raisetype ::= ROLLBACK", |
| 141212 | | - /* 247 */ "raisetype ::= ABORT", |
| 141213 | | - /* 248 */ "raisetype ::= FAIL", |
| 141214 | | - /* 249 */ "cmd ::= DROP TRIGGER ifexists fullname", |
| 141215 | | - /* 250 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", |
| 141216 | | - /* 251 */ "cmd ::= DETACH database_kw_opt expr", |
| 141217 | | - /* 252 */ "key_opt ::=", |
| 141218 | | - /* 253 */ "key_opt ::= KEY expr", |
| 141219 | | - /* 254 */ "cmd ::= REINDEX", |
| 141220 | | - /* 255 */ "cmd ::= REINDEX nm dbnm", |
| 141221 | | - /* 256 */ "cmd ::= ANALYZE", |
| 141222 | | - /* 257 */ "cmd ::= ANALYZE nm dbnm", |
| 141223 | | - /* 258 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", |
| 141224 | | - /* 259 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", |
| 141225 | | - /* 260 */ "add_column_fullname ::= fullname", |
| 141226 | | - /* 261 */ "cmd ::= create_vtab", |
| 141227 | | - /* 262 */ "cmd ::= create_vtab LP vtabarglist RP", |
| 141228 | | - /* 263 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", |
| 141229 | | - /* 264 */ "vtabarg ::=", |
| 141230 | | - /* 265 */ "vtabargtoken ::= ANY", |
| 141231 | | - /* 266 */ "vtabargtoken ::= lp anylist RP", |
| 141232 | | - /* 267 */ "lp ::= LP", |
| 141233 | | - /* 268 */ "with ::=", |
| 141234 | | - /* 269 */ "with ::= WITH wqlist", |
| 141235 | | - /* 270 */ "with ::= WITH RECURSIVE wqlist", |
| 141236 | | - /* 271 */ "wqlist ::= nm eidlist_opt AS LP select RP", |
| 141237 | | - /* 272 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", |
| 141238 | | - /* 273 */ "input ::= cmdlist", |
| 141239 | | - /* 274 */ "cmdlist ::= cmdlist ecmd", |
| 141240 | | - /* 275 */ "cmdlist ::= ecmd", |
| 141241 | | - /* 276 */ "ecmd ::= SEMI", |
| 141242 | | - /* 277 */ "ecmd ::= explain cmdx SEMI", |
| 141243 | | - /* 278 */ "explain ::=", |
| 141244 | | - /* 279 */ "trans_opt ::=", |
| 141245 | | - /* 280 */ "trans_opt ::= TRANSACTION", |
| 141246 | | - /* 281 */ "trans_opt ::= TRANSACTION nm", |
| 141247 | | - /* 282 */ "savepoint_opt ::= SAVEPOINT", |
| 141248 | | - /* 283 */ "savepoint_opt ::=", |
| 141249 | | - /* 284 */ "cmd ::= create_table create_table_args", |
| 141250 | | - /* 285 */ "columnlist ::= columnlist COMMA columnname carglist", |
| 141251 | | - /* 286 */ "columnlist ::= columnname carglist", |
| 141252 | | - /* 287 */ "nm ::= ID|INDEXED", |
| 141253 | | - /* 288 */ "nm ::= STRING", |
| 141254 | | - /* 289 */ "nm ::= JOIN_KW", |
| 141255 | | - /* 290 */ "typetoken ::= typename", |
| 141256 | | - /* 291 */ "typename ::= ID|STRING", |
| 141257 | | - /* 292 */ "signed ::= plus_num", |
| 141258 | | - /* 293 */ "signed ::= minus_num", |
| 141259 | | - /* 294 */ "carglist ::= carglist ccons", |
| 141260 | | - /* 295 */ "carglist ::=", |
| 141261 | | - /* 296 */ "ccons ::= NULL onconf", |
| 141262 | | - /* 297 */ "conslist_opt ::= COMMA conslist", |
| 141263 | | - /* 298 */ "conslist ::= conslist tconscomma tcons", |
| 141264 | | - /* 299 */ "conslist ::= tcons", |
| 141265 | | - /* 300 */ "tconscomma ::=", |
| 141266 | | - /* 301 */ "defer_subclause_opt ::= defer_subclause", |
| 141267 | | - /* 302 */ "resolvetype ::= raisetype", |
| 141268 | | - /* 303 */ "selectnowith ::= oneselect", |
| 141269 | | - /* 304 */ "oneselect ::= values", |
| 141270 | | - /* 305 */ "sclp ::= selcollist COMMA", |
| 141271 | | - /* 306 */ "as ::= ID|STRING", |
| 141272 | | - /* 307 */ "expr ::= term", |
| 141273 | | - /* 308 */ "likeop ::= LIKE_KW|MATCH", |
| 141274 | | - /* 309 */ "exprlist ::= nexprlist", |
| 141275 | | - /* 310 */ "nmnum ::= plus_num", |
| 141276 | | - /* 311 */ "nmnum ::= nm", |
| 141277 | | - /* 312 */ "nmnum ::= ON", |
| 141278 | | - /* 313 */ "nmnum ::= DELETE", |
| 141279 | | - /* 314 */ "nmnum ::= DEFAULT", |
| 141280 | | - /* 315 */ "plus_num ::= INTEGER|FLOAT", |
| 141281 | | - /* 316 */ "foreach_clause ::=", |
| 141282 | | - /* 317 */ "foreach_clause ::= FOR EACH ROW", |
| 141283 | | - /* 318 */ "trnm ::= nm", |
| 141284 | | - /* 319 */ "tridxby ::=", |
| 141285 | | - /* 320 */ "database_kw_opt ::= DATABASE", |
| 141286 | | - /* 321 */ "database_kw_opt ::=", |
| 141287 | | - /* 322 */ "kwcolumn_opt ::=", |
| 141288 | | - /* 323 */ "kwcolumn_opt ::= COLUMNKW", |
| 141289 | | - /* 324 */ "vtabarglist ::= vtabarg", |
| 141290 | | - /* 325 */ "vtabarglist ::= vtabarglist COMMA vtabarg", |
| 141291 | | - /* 326 */ "vtabarg ::= vtabarg vtabargtoken", |
| 141292 | | - /* 327 */ "anylist ::=", |
| 141293 | | - /* 328 */ "anylist ::= anylist LP anylist RP", |
| 141294 | | - /* 329 */ "anylist ::= anylist ANY", |
| 141114 | + /* 80 */ "select ::= WITH wqlist selectnowith", |
| 141115 | + /* 81 */ "select ::= WITH RECURSIVE wqlist selectnowith", |
| 141116 | + /* 82 */ "select ::= selectnowith", |
| 141117 | + /* 83 */ "selectnowith ::= selectnowith multiselect_op oneselect", |
| 141118 | + /* 84 */ "multiselect_op ::= UNION", |
| 141119 | + /* 85 */ "multiselect_op ::= UNION ALL", |
| 141120 | + /* 86 */ "multiselect_op ::= EXCEPT|INTERSECT", |
| 141121 | + /* 87 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", |
| 141122 | + /* 88 */ "values ::= VALUES LP nexprlist RP", |
| 141123 | + /* 89 */ "values ::= values COMMA LP exprlist RP", |
| 141124 | + /* 90 */ "distinct ::= DISTINCT", |
| 141125 | + /* 91 */ "distinct ::= ALL", |
| 141126 | + /* 92 */ "distinct ::=", |
| 141127 | + /* 93 */ "sclp ::=", |
| 141128 | + /* 94 */ "selcollist ::= sclp scanpt expr scanpt as", |
| 141129 | + /* 95 */ "selcollist ::= sclp scanpt STAR", |
| 141130 | + /* 96 */ "selcollist ::= sclp scanpt nm DOT STAR", |
| 141131 | + /* 97 */ "as ::= AS nm", |
| 141132 | + /* 98 */ "as ::=", |
| 141133 | + /* 99 */ "from ::=", |
| 141134 | + /* 100 */ "from ::= FROM seltablist", |
| 141135 | + /* 101 */ "stl_prefix ::= seltablist joinop", |
| 141136 | + /* 102 */ "stl_prefix ::=", |
| 141137 | + /* 103 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", |
| 141138 | + /* 104 */ "seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt", |
| 141139 | + /* 105 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", |
| 141140 | + /* 106 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", |
| 141141 | + /* 107 */ "dbnm ::=", |
| 141142 | + /* 108 */ "dbnm ::= DOT nm", |
| 141143 | + /* 109 */ "fullname ::= nm", |
| 141144 | + /* 110 */ "fullname ::= nm DOT nm", |
| 141145 | + /* 111 */ "joinop ::= COMMA|JOIN", |
| 141146 | + /* 112 */ "joinop ::= JOIN_KW JOIN", |
| 141147 | + /* 113 */ "joinop ::= JOIN_KW nm JOIN", |
| 141148 | + /* 114 */ "joinop ::= JOIN_KW nm nm JOIN", |
| 141149 | + /* 115 */ "on_opt ::= ON expr", |
| 141150 | + /* 116 */ "on_opt ::=", |
| 141151 | + /* 117 */ "indexed_opt ::=", |
| 141152 | + /* 118 */ "indexed_opt ::= INDEXED BY nm", |
| 141153 | + /* 119 */ "indexed_opt ::= NOT INDEXED", |
| 141154 | + /* 120 */ "using_opt ::= USING LP idlist RP", |
| 141155 | + /* 121 */ "using_opt ::=", |
| 141156 | + /* 122 */ "orderby_opt ::=", |
| 141157 | + /* 123 */ "orderby_opt ::= ORDER BY sortlist", |
| 141158 | + /* 124 */ "sortlist ::= sortlist COMMA expr sortorder", |
| 141159 | + /* 125 */ "sortlist ::= expr sortorder", |
| 141160 | + /* 126 */ "sortorder ::= ASC", |
| 141161 | + /* 127 */ "sortorder ::= DESC", |
| 141162 | + /* 128 */ "sortorder ::=", |
| 141163 | + /* 129 */ "groupby_opt ::=", |
| 141164 | + /* 130 */ "groupby_opt ::= GROUP BY nexprlist", |
| 141165 | + /* 131 */ "having_opt ::=", |
| 141166 | + /* 132 */ "having_opt ::= HAVING expr", |
| 141167 | + /* 133 */ "limit_opt ::=", |
| 141168 | + /* 134 */ "limit_opt ::= LIMIT expr", |
| 141169 | + /* 135 */ "limit_opt ::= LIMIT expr OFFSET expr", |
| 141170 | + /* 136 */ "limit_opt ::= LIMIT expr COMMA expr", |
| 141171 | + /* 137 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", |
| 141172 | + /* 138 */ "where_opt ::=", |
| 141173 | + /* 139 */ "where_opt ::= WHERE expr", |
| 141174 | + /* 140 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", |
| 141175 | + /* 141 */ "setlist ::= setlist COMMA nm EQ expr", |
| 141176 | + /* 142 */ "setlist ::= setlist COMMA LP idlist RP EQ expr", |
| 141177 | + /* 143 */ "setlist ::= nm EQ expr", |
| 141178 | + /* 144 */ "setlist ::= LP idlist RP EQ expr", |
| 141179 | + /* 145 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", |
| 141180 | + /* 146 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", |
| 141181 | + /* 147 */ "insert_cmd ::= INSERT orconf", |
| 141182 | + /* 148 */ "insert_cmd ::= REPLACE", |
| 141183 | + /* 149 */ "idlist_opt ::=", |
| 141184 | + /* 150 */ "idlist_opt ::= LP idlist RP", |
| 141185 | + /* 151 */ "idlist ::= idlist COMMA nm", |
| 141186 | + /* 152 */ "idlist ::= nm", |
| 141187 | + /* 153 */ "expr ::= LP expr RP", |
| 141188 | + /* 154 */ "expr ::= ID|INDEXED", |
| 141189 | + /* 155 */ "expr ::= JOIN_KW", |
| 141190 | + /* 156 */ "expr ::= nm DOT nm", |
| 141191 | + /* 157 */ "expr ::= nm DOT nm DOT nm", |
| 141192 | + /* 158 */ "term ::= NULL|FLOAT|BLOB", |
| 141193 | + /* 159 */ "term ::= STRING", |
| 141194 | + /* 160 */ "term ::= INTEGER", |
| 141195 | + /* 161 */ "expr ::= VARIABLE", |
| 141196 | + /* 162 */ "expr ::= expr COLLATE ID|STRING", |
| 141197 | + /* 163 */ "expr ::= CAST LP expr AS typetoken RP", |
| 141198 | + /* 164 */ "expr ::= ID|INDEXED LP distinct exprlist RP", |
| 141199 | + /* 165 */ "expr ::= ID|INDEXED LP STAR RP", |
| 141200 | + /* 166 */ "term ::= CTIME_KW", |
| 141201 | + /* 167 */ "expr ::= LP nexprlist COMMA expr RP", |
| 141202 | + /* 168 */ "expr ::= expr AND expr", |
| 141203 | + /* 169 */ "expr ::= expr OR expr", |
| 141204 | + /* 170 */ "expr ::= expr LT|GT|GE|LE expr", |
| 141205 | + /* 171 */ "expr ::= expr EQ|NE expr", |
| 141206 | + /* 172 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", |
| 141207 | + /* 173 */ "expr ::= expr PLUS|MINUS expr", |
| 141208 | + /* 174 */ "expr ::= expr STAR|SLASH|REM expr", |
| 141209 | + /* 175 */ "expr ::= expr CONCAT expr", |
| 141210 | + /* 176 */ "likeop ::= NOT LIKE_KW|MATCH", |
| 141211 | + /* 177 */ "expr ::= expr likeop expr", |
| 141212 | + /* 178 */ "expr ::= expr likeop expr ESCAPE expr", |
| 141213 | + /* 179 */ "expr ::= expr ISNULL|NOTNULL", |
| 141214 | + /* 180 */ "expr ::= expr NOT NULL", |
| 141215 | + /* 181 */ "expr ::= expr IS expr", |
| 141216 | + /* 182 */ "expr ::= expr IS NOT expr", |
| 141217 | + /* 183 */ "expr ::= NOT expr", |
| 141218 | + /* 184 */ "expr ::= BITNOT expr", |
| 141219 | + /* 185 */ "expr ::= MINUS expr", |
| 141220 | + /* 186 */ "expr ::= PLUS expr", |
| 141221 | + /* 187 */ "between_op ::= BETWEEN", |
| 141222 | + /* 188 */ "between_op ::= NOT BETWEEN", |
| 141223 | + /* 189 */ "expr ::= expr between_op expr AND expr", |
| 141224 | + /* 190 */ "in_op ::= IN", |
| 141225 | + /* 191 */ "in_op ::= NOT IN", |
| 141226 | + /* 192 */ "expr ::= expr in_op LP exprlist RP", |
| 141227 | + /* 193 */ "expr ::= LP select RP", |
| 141228 | + /* 194 */ "expr ::= expr in_op LP select RP", |
| 141229 | + /* 195 */ "expr ::= expr in_op nm dbnm paren_exprlist", |
| 141230 | + /* 196 */ "expr ::= EXISTS LP select RP", |
| 141231 | + /* 197 */ "expr ::= CASE case_operand case_exprlist case_else END", |
| 141232 | + /* 198 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", |
| 141233 | + /* 199 */ "case_exprlist ::= WHEN expr THEN expr", |
| 141234 | + /* 200 */ "case_else ::= ELSE expr", |
| 141235 | + /* 201 */ "case_else ::=", |
| 141236 | + /* 202 */ "case_operand ::= expr", |
| 141237 | + /* 203 */ "case_operand ::=", |
| 141238 | + /* 204 */ "exprlist ::=", |
| 141239 | + /* 205 */ "nexprlist ::= nexprlist COMMA expr", |
| 141240 | + /* 206 */ "nexprlist ::= expr", |
| 141241 | + /* 207 */ "paren_exprlist ::=", |
| 141242 | + /* 208 */ "paren_exprlist ::= LP exprlist RP", |
| 141243 | + /* 209 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", |
| 141244 | + /* 210 */ "uniqueflag ::= UNIQUE", |
| 141245 | + /* 211 */ "uniqueflag ::=", |
| 141246 | + /* 212 */ "eidlist_opt ::=", |
| 141247 | + /* 213 */ "eidlist_opt ::= LP eidlist RP", |
| 141248 | + /* 214 */ "eidlist ::= eidlist COMMA nm collate sortorder", |
| 141249 | + /* 215 */ "eidlist ::= nm collate sortorder", |
| 141250 | + /* 216 */ "collate ::=", |
| 141251 | + /* 217 */ "collate ::= COLLATE ID|STRING", |
| 141252 | + /* 218 */ "cmd ::= DROP INDEX ifexists fullname", |
| 141253 | + /* 219 */ "cmd ::= VACUUM", |
| 141254 | + /* 220 */ "cmd ::= VACUUM nm", |
| 141255 | + /* 221 */ "cmd ::= PRAGMA nm dbnm", |
| 141256 | + /* 222 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", |
| 141257 | + /* 223 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", |
| 141258 | + /* 224 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", |
| 141259 | + /* 225 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", |
| 141260 | + /* 226 */ "plus_num ::= PLUS INTEGER|FLOAT", |
| 141261 | + /* 227 */ "minus_num ::= MINUS INTEGER|FLOAT", |
| 141262 | + /* 228 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", |
| 141263 | + /* 229 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", |
| 141264 | + /* 230 */ "trigger_time ::= BEFORE|AFTER", |
| 141265 | + /* 231 */ "trigger_time ::= INSTEAD OF", |
| 141266 | + /* 232 */ "trigger_time ::=", |
| 141267 | + /* 233 */ "trigger_event ::= DELETE|INSERT", |
| 141268 | + /* 234 */ "trigger_event ::= UPDATE", |
| 141269 | + /* 235 */ "trigger_event ::= UPDATE OF idlist", |
| 141270 | + /* 236 */ "when_clause ::=", |
| 141271 | + /* 237 */ "when_clause ::= WHEN expr", |
| 141272 | + /* 238 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", |
| 141273 | + /* 239 */ "trigger_cmd_list ::= trigger_cmd SEMI", |
| 141274 | + /* 240 */ "trnm ::= nm DOT nm", |
| 141275 | + /* 241 */ "tridxby ::= INDEXED BY nm", |
| 141276 | + /* 242 */ "tridxby ::= NOT INDEXED", |
| 141277 | + /* 243 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt", |
| 141278 | + /* 244 */ "trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt", |
| 141279 | + /* 245 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt", |
| 141280 | + /* 246 */ "trigger_cmd ::= scanpt select scanpt", |
| 141281 | + /* 247 */ "expr ::= RAISE LP IGNORE RP", |
| 141282 | + /* 248 */ "expr ::= RAISE LP raisetype COMMA nm RP", |
| 141283 | + /* 249 */ "raisetype ::= ROLLBACK", |
| 141284 | + /* 250 */ "raisetype ::= ABORT", |
| 141285 | + /* 251 */ "raisetype ::= FAIL", |
| 141286 | + /* 252 */ "cmd ::= DROP TRIGGER ifexists fullname", |
| 141287 | + /* 253 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", |
| 141288 | + /* 254 */ "cmd ::= DETACH database_kw_opt expr", |
| 141289 | + /* 255 */ "key_opt ::=", |
| 141290 | + /* 256 */ "key_opt ::= KEY expr", |
| 141291 | + /* 257 */ "cmd ::= REINDEX", |
| 141292 | + /* 258 */ "cmd ::= REINDEX nm dbnm", |
| 141293 | + /* 259 */ "cmd ::= ANALYZE", |
| 141294 | + /* 260 */ "cmd ::= ANALYZE nm dbnm", |
| 141295 | + /* 261 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", |
| 141296 | + /* 262 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", |
| 141297 | + /* 263 */ "add_column_fullname ::= fullname", |
| 141298 | + /* 264 */ "cmd ::= create_vtab", |
| 141299 | + /* 265 */ "cmd ::= create_vtab LP vtabarglist RP", |
| 141300 | + /* 266 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", |
| 141301 | + /* 267 */ "vtabarg ::=", |
| 141302 | + /* 268 */ "vtabargtoken ::= ANY", |
| 141303 | + /* 269 */ "vtabargtoken ::= lp anylist RP", |
| 141304 | + /* 270 */ "lp ::= LP", |
| 141305 | + /* 271 */ "with ::= WITH wqlist", |
| 141306 | + /* 272 */ "with ::= WITH RECURSIVE wqlist", |
| 141307 | + /* 273 */ "wqlist ::= nm eidlist_opt AS LP select RP", |
| 141308 | + /* 274 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", |
| 141309 | + /* 275 */ "input ::= cmdlist", |
| 141310 | + /* 276 */ "cmdlist ::= cmdlist ecmd", |
| 141311 | + /* 277 */ "cmdlist ::= ecmd", |
| 141312 | + /* 278 */ "ecmd ::= SEMI", |
| 141313 | + /* 279 */ "ecmd ::= explain cmdx SEMI", |
| 141314 | + /* 280 */ "explain ::=", |
| 141315 | + /* 281 */ "trans_opt ::=", |
| 141316 | + /* 282 */ "trans_opt ::= TRANSACTION", |
| 141317 | + /* 283 */ "trans_opt ::= TRANSACTION nm", |
| 141318 | + /* 284 */ "savepoint_opt ::= SAVEPOINT", |
| 141319 | + /* 285 */ "savepoint_opt ::=", |
| 141320 | + /* 286 */ "cmd ::= create_table create_table_args", |
| 141321 | + /* 287 */ "columnlist ::= columnlist COMMA columnname carglist", |
| 141322 | + /* 288 */ "columnlist ::= columnname carglist", |
| 141323 | + /* 289 */ "nm ::= ID|INDEXED", |
| 141324 | + /* 290 */ "nm ::= STRING", |
| 141325 | + /* 291 */ "nm ::= JOIN_KW", |
| 141326 | + /* 292 */ "typetoken ::= typename", |
| 141327 | + /* 293 */ "typename ::= ID|STRING", |
| 141328 | + /* 294 */ "signed ::= plus_num", |
| 141329 | + /* 295 */ "signed ::= minus_num", |
| 141330 | + /* 296 */ "carglist ::= carglist ccons", |
| 141331 | + /* 297 */ "carglist ::=", |
| 141332 | + /* 298 */ "ccons ::= NULL onconf", |
| 141333 | + /* 299 */ "conslist_opt ::= COMMA conslist", |
| 141334 | + /* 300 */ "conslist ::= conslist tconscomma tcons", |
| 141335 | + /* 301 */ "conslist ::= tcons", |
| 141336 | + /* 302 */ "tconscomma ::=", |
| 141337 | + /* 303 */ "defer_subclause_opt ::= defer_subclause", |
| 141338 | + /* 304 */ "resolvetype ::= raisetype", |
| 141339 | + /* 305 */ "selectnowith ::= oneselect", |
| 141340 | + /* 306 */ "oneselect ::= values", |
| 141341 | + /* 307 */ "sclp ::= selcollist COMMA", |
| 141342 | + /* 308 */ "as ::= ID|STRING", |
| 141343 | + /* 309 */ "expr ::= term", |
| 141344 | + /* 310 */ "likeop ::= LIKE_KW|MATCH", |
| 141345 | + /* 311 */ "exprlist ::= nexprlist", |
| 141346 | + /* 312 */ "nmnum ::= plus_num", |
| 141347 | + /* 313 */ "nmnum ::= nm", |
| 141348 | + /* 314 */ "nmnum ::= ON", |
| 141349 | + /* 315 */ "nmnum ::= DELETE", |
| 141350 | + /* 316 */ "nmnum ::= DEFAULT", |
| 141351 | + /* 317 */ "plus_num ::= INTEGER|FLOAT", |
| 141352 | + /* 318 */ "foreach_clause ::=", |
| 141353 | + /* 319 */ "foreach_clause ::= FOR EACH ROW", |
| 141354 | + /* 320 */ "trnm ::= nm", |
| 141355 | + /* 321 */ "tridxby ::=", |
| 141356 | + /* 322 */ "database_kw_opt ::= DATABASE", |
| 141357 | + /* 323 */ "database_kw_opt ::=", |
| 141358 | + /* 324 */ "kwcolumn_opt ::=", |
| 141359 | + /* 325 */ "kwcolumn_opt ::= COLUMNKW", |
| 141360 | + /* 326 */ "vtabarglist ::= vtabarg", |
| 141361 | + /* 327 */ "vtabarglist ::= vtabarglist COMMA vtabarg", |
| 141362 | + /* 328 */ "vtabarg ::= vtabarg vtabargtoken", |
| 141363 | + /* 329 */ "anylist ::=", |
| 141364 | + /* 330 */ "anylist ::= anylist LP anylist RP", |
| 141365 | + /* 331 */ "anylist ::= anylist ANY", |
| 141366 | + /* 332 */ "with ::=", |
| 141295 | 141367 | }; |
| 141296 | 141368 | #endif /* NDEBUG */ |
| 141297 | 141369 | |
| 141298 | 141370 | |
| 141299 | 141371 | #if YYSTACKDEPTH<=0 |
| | @@ -141423,14 +141495,14 @@ |
| 141423 | 141495 | case 173: /* term */ |
| 141424 | 141496 | case 174: /* expr */ |
| 141425 | 141497 | case 202: /* where_opt */ |
| 141426 | 141498 | case 204: /* having_opt */ |
| 141427 | 141499 | case 216: /* on_opt */ |
| 141428 | | - case 226: /* case_operand */ |
| 141429 | | - case 228: /* case_else */ |
| 141430 | | - case 237: /* when_clause */ |
| 141431 | | - case 242: /* key_opt */ |
| 141500 | + case 227: /* case_operand */ |
| 141501 | + case 229: /* case_else */ |
| 141502 | + case 238: /* when_clause */ |
| 141503 | + case 243: /* key_opt */ |
| 141432 | 141504 | { |
| 141433 | 141505 | sqlite3ExprDelete(pParse->db, (yypminor->yy314)); |
| 141434 | 141506 | } |
| 141435 | 141507 | break; |
| 141436 | 141508 | case 178: /* eidlist_opt */ |
| | @@ -141440,13 +141512,13 @@ |
| 141440 | 141512 | case 203: /* groupby_opt */ |
| 141441 | 141513 | case 205: /* orderby_opt */ |
| 141442 | 141514 | case 208: /* nexprlist */ |
| 141443 | 141515 | case 209: /* exprlist */ |
| 141444 | 141516 | case 210: /* sclp */ |
| 141445 | | - case 219: /* setlist */ |
| 141446 | | - case 225: /* paren_exprlist */ |
| 141447 | | - case 227: /* case_exprlist */ |
| 141517 | + case 220: /* setlist */ |
| 141518 | + case 226: /* paren_exprlist */ |
| 141519 | + case 228: /* case_exprlist */ |
| 141448 | 141520 | { |
| 141449 | 141521 | sqlite3ExprListDelete(pParse->db, (yypminor->yy322)); |
| 141450 | 141522 | } |
| 141451 | 141523 | break; |
| 141452 | 141524 | case 194: /* fullname */ |
| | @@ -141455,30 +141527,29 @@ |
| 141455 | 141527 | case 213: /* stl_prefix */ |
| 141456 | 141528 | { |
| 141457 | 141529 | sqlite3SrcListDelete(pParse->db, (yypminor->yy259)); |
| 141458 | 141530 | } |
| 141459 | 141531 | break; |
| 141460 | | - case 197: /* with */ |
| 141461 | | - case 251: /* wqlist */ |
| 141532 | + case 197: /* wqlist */ |
| 141462 | 141533 | { |
| 141463 | 141534 | sqlite3WithDelete(pParse->db, (yypminor->yy451)); |
| 141464 | 141535 | } |
| 141465 | 141536 | break; |
| 141466 | 141537 | case 217: /* using_opt */ |
| 141467 | 141538 | case 218: /* idlist */ |
| 141468 | | - case 221: /* idlist_opt */ |
| 141539 | + case 222: /* idlist_opt */ |
| 141469 | 141540 | { |
| 141470 | 141541 | sqlite3IdListDelete(pParse->db, (yypminor->yy384)); |
| 141471 | 141542 | } |
| 141472 | 141543 | break; |
| 141473 | | - case 233: /* trigger_cmd_list */ |
| 141474 | | - case 238: /* trigger_cmd */ |
| 141544 | + case 234: /* trigger_cmd_list */ |
| 141545 | + case 239: /* trigger_cmd */ |
| 141475 | 141546 | { |
| 141476 | 141547 | sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy203)); |
| 141477 | 141548 | } |
| 141478 | 141549 | break; |
| 141479 | | - case 235: /* trigger_event */ |
| 141550 | + case 236: /* trigger_event */ |
| 141480 | 141551 | { |
| 141481 | 141552 | sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); |
| 141482 | 141553 | } |
| 141483 | 141554 | break; |
| 141484 | 141555 | /********* End destructor definitions *****************************************/ |
| | @@ -141853,260 +141924,263 @@ |
| 141853 | 141924 | { 193, -2 }, /* (75) ifexists ::= IF EXISTS */ |
| 141854 | 141925 | { 193, 0 }, /* (76) ifexists ::= */ |
| 141855 | 141926 | { 149, -9 }, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 141856 | 141927 | { 149, -4 }, /* (78) cmd ::= DROP VIEW ifexists fullname */ |
| 141857 | 141928 | { 149, -1 }, /* (79) cmd ::= select */ |
| 141858 | | - { 163, -2 }, /* (80) select ::= with selectnowith */ |
| 141859 | | - { 195, -3 }, /* (81) selectnowith ::= selectnowith multiselect_op oneselect */ |
| 141860 | | - { 198, -1 }, /* (82) multiselect_op ::= UNION */ |
| 141861 | | - { 198, -2 }, /* (83) multiselect_op ::= UNION ALL */ |
| 141862 | | - { 198, -1 }, /* (84) multiselect_op ::= EXCEPT|INTERSECT */ |
| 141863 | | - { 196, -9 }, /* (85) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 141864 | | - { 207, -4 }, /* (86) values ::= VALUES LP nexprlist RP */ |
| 141865 | | - { 207, -5 }, /* (87) values ::= values COMMA LP exprlist RP */ |
| 141866 | | - { 199, -1 }, /* (88) distinct ::= DISTINCT */ |
| 141867 | | - { 199, -1 }, /* (89) distinct ::= ALL */ |
| 141868 | | - { 199, 0 }, /* (90) distinct ::= */ |
| 141869 | | - { 210, 0 }, /* (91) sclp ::= */ |
| 141870 | | - { 200, -5 }, /* (92) selcollist ::= sclp scanpt expr scanpt as */ |
| 141871 | | - { 200, -3 }, /* (93) selcollist ::= sclp scanpt STAR */ |
| 141872 | | - { 200, -5 }, /* (94) selcollist ::= sclp scanpt nm DOT STAR */ |
| 141873 | | - { 211, -2 }, /* (95) as ::= AS nm */ |
| 141874 | | - { 211, 0 }, /* (96) as ::= */ |
| 141875 | | - { 201, 0 }, /* (97) from ::= */ |
| 141876 | | - { 201, -2 }, /* (98) from ::= FROM seltablist */ |
| 141877 | | - { 213, -2 }, /* (99) stl_prefix ::= seltablist joinop */ |
| 141878 | | - { 213, 0 }, /* (100) stl_prefix ::= */ |
| 141879 | | - { 212, -7 }, /* (101) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 141880 | | - { 212, -9 }, /* (102) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 141881 | | - { 212, -7 }, /* (103) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 141882 | | - { 212, -7 }, /* (104) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 141883 | | - { 159, 0 }, /* (105) dbnm ::= */ |
| 141884 | | - { 159, -2 }, /* (106) dbnm ::= DOT nm */ |
| 141885 | | - { 194, -2 }, /* (107) fullname ::= nm dbnm */ |
| 141886 | | - { 214, -1 }, /* (108) joinop ::= COMMA|JOIN */ |
| 141887 | | - { 214, -2 }, /* (109) joinop ::= JOIN_KW JOIN */ |
| 141888 | | - { 214, -3 }, /* (110) joinop ::= JOIN_KW nm JOIN */ |
| 141889 | | - { 214, -4 }, /* (111) joinop ::= JOIN_KW nm nm JOIN */ |
| 141890 | | - { 216, -2 }, /* (112) on_opt ::= ON expr */ |
| 141891 | | - { 216, 0 }, /* (113) on_opt ::= */ |
| 141892 | | - { 215, 0 }, /* (114) indexed_opt ::= */ |
| 141893 | | - { 215, -3 }, /* (115) indexed_opt ::= INDEXED BY nm */ |
| 141894 | | - { 215, -2 }, /* (116) indexed_opt ::= NOT INDEXED */ |
| 141895 | | - { 217, -4 }, /* (117) using_opt ::= USING LP idlist RP */ |
| 141896 | | - { 217, 0 }, /* (118) using_opt ::= */ |
| 141897 | | - { 205, 0 }, /* (119) orderby_opt ::= */ |
| 141898 | | - { 205, -3 }, /* (120) orderby_opt ::= ORDER BY sortlist */ |
| 141899 | | - { 187, -4 }, /* (121) sortlist ::= sortlist COMMA expr sortorder */ |
| 141900 | | - { 187, -2 }, /* (122) sortlist ::= expr sortorder */ |
| 141901 | | - { 176, -1 }, /* (123) sortorder ::= ASC */ |
| 141902 | | - { 176, -1 }, /* (124) sortorder ::= DESC */ |
| 141903 | | - { 176, 0 }, /* (125) sortorder ::= */ |
| 141904 | | - { 203, 0 }, /* (126) groupby_opt ::= */ |
| 141905 | | - { 203, -3 }, /* (127) groupby_opt ::= GROUP BY nexprlist */ |
| 141906 | | - { 204, 0 }, /* (128) having_opt ::= */ |
| 141907 | | - { 204, -2 }, /* (129) having_opt ::= HAVING expr */ |
| 141908 | | - { 206, 0 }, /* (130) limit_opt ::= */ |
| 141909 | | - { 206, -2 }, /* (131) limit_opt ::= LIMIT expr */ |
| 141910 | | - { 206, -4 }, /* (132) limit_opt ::= LIMIT expr OFFSET expr */ |
| 141911 | | - { 206, -4 }, /* (133) limit_opt ::= LIMIT expr COMMA expr */ |
| 141912 | | - { 149, -6 }, /* (134) cmd ::= with DELETE FROM fullname indexed_opt where_opt */ |
| 141913 | | - { 202, 0 }, /* (135) where_opt ::= */ |
| 141914 | | - { 202, -2 }, /* (136) where_opt ::= WHERE expr */ |
| 141915 | | - { 149, -8 }, /* (137) cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ |
| 141916 | | - { 219, -5 }, /* (138) setlist ::= setlist COMMA nm EQ expr */ |
| 141917 | | - { 219, -7 }, /* (139) setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 141918 | | - { 219, -3 }, /* (140) setlist ::= nm EQ expr */ |
| 141919 | | - { 219, -5 }, /* (141) setlist ::= LP idlist RP EQ expr */ |
| 141920 | | - { 149, -6 }, /* (142) cmd ::= with insert_cmd INTO fullname idlist_opt select */ |
| 141921 | | - { 149, -7 }, /* (143) cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ |
| 141922 | | - { 220, -2 }, /* (144) insert_cmd ::= INSERT orconf */ |
| 141923 | | - { 220, -1 }, /* (145) insert_cmd ::= REPLACE */ |
| 141924 | | - { 221, 0 }, /* (146) idlist_opt ::= */ |
| 141925 | | - { 221, -3 }, /* (147) idlist_opt ::= LP idlist RP */ |
| 141926 | | - { 218, -3 }, /* (148) idlist ::= idlist COMMA nm */ |
| 141927 | | - { 218, -1 }, /* (149) idlist ::= nm */ |
| 141928 | | - { 174, -3 }, /* (150) expr ::= LP expr RP */ |
| 141929 | | - { 174, -1 }, /* (151) expr ::= ID|INDEXED */ |
| 141930 | | - { 174, -1 }, /* (152) expr ::= JOIN_KW */ |
| 141931 | | - { 174, -3 }, /* (153) expr ::= nm DOT nm */ |
| 141932 | | - { 174, -5 }, /* (154) expr ::= nm DOT nm DOT nm */ |
| 141933 | | - { 173, -1 }, /* (155) term ::= NULL|FLOAT|BLOB */ |
| 141934 | | - { 173, -1 }, /* (156) term ::= STRING */ |
| 141935 | | - { 173, -1 }, /* (157) term ::= INTEGER */ |
| 141936 | | - { 174, -1 }, /* (158) expr ::= VARIABLE */ |
| 141937 | | - { 174, -3 }, /* (159) expr ::= expr COLLATE ID|STRING */ |
| 141938 | | - { 174, -6 }, /* (160) expr ::= CAST LP expr AS typetoken RP */ |
| 141939 | | - { 174, -5 }, /* (161) expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 141940 | | - { 174, -4 }, /* (162) expr ::= ID|INDEXED LP STAR RP */ |
| 141941 | | - { 173, -1 }, /* (163) term ::= CTIME_KW */ |
| 141942 | | - { 174, -5 }, /* (164) expr ::= LP nexprlist COMMA expr RP */ |
| 141943 | | - { 174, -3 }, /* (165) expr ::= expr AND expr */ |
| 141944 | | - { 174, -3 }, /* (166) expr ::= expr OR expr */ |
| 141945 | | - { 174, -3 }, /* (167) expr ::= expr LT|GT|GE|LE expr */ |
| 141946 | | - { 174, -3 }, /* (168) expr ::= expr EQ|NE expr */ |
| 141947 | | - { 174, -3 }, /* (169) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ |
| 141948 | | - { 174, -3 }, /* (170) expr ::= expr PLUS|MINUS expr */ |
| 141949 | | - { 174, -3 }, /* (171) expr ::= expr STAR|SLASH|REM expr */ |
| 141950 | | - { 174, -3 }, /* (172) expr ::= expr CONCAT expr */ |
| 141951 | | - { 222, -2 }, /* (173) likeop ::= NOT LIKE_KW|MATCH */ |
| 141952 | | - { 174, -3 }, /* (174) expr ::= expr likeop expr */ |
| 141953 | | - { 174, -5 }, /* (175) expr ::= expr likeop expr ESCAPE expr */ |
| 141954 | | - { 174, -2 }, /* (176) expr ::= expr ISNULL|NOTNULL */ |
| 141955 | | - { 174, -3 }, /* (177) expr ::= expr NOT NULL */ |
| 141956 | | - { 174, -3 }, /* (178) expr ::= expr IS expr */ |
| 141957 | | - { 174, -4 }, /* (179) expr ::= expr IS NOT expr */ |
| 141958 | | - { 174, -2 }, /* (180) expr ::= NOT expr */ |
| 141959 | | - { 174, -2 }, /* (181) expr ::= BITNOT expr */ |
| 141960 | | - { 174, -2 }, /* (182) expr ::= MINUS expr */ |
| 141961 | | - { 174, -2 }, /* (183) expr ::= PLUS expr */ |
| 141962 | | - { 223, -1 }, /* (184) between_op ::= BETWEEN */ |
| 141963 | | - { 223, -2 }, /* (185) between_op ::= NOT BETWEEN */ |
| 141964 | | - { 174, -5 }, /* (186) expr ::= expr between_op expr AND expr */ |
| 141965 | | - { 224, -1 }, /* (187) in_op ::= IN */ |
| 141966 | | - { 224, -2 }, /* (188) in_op ::= NOT IN */ |
| 141967 | | - { 174, -5 }, /* (189) expr ::= expr in_op LP exprlist RP */ |
| 141968 | | - { 174, -3 }, /* (190) expr ::= LP select RP */ |
| 141969 | | - { 174, -5 }, /* (191) expr ::= expr in_op LP select RP */ |
| 141970 | | - { 174, -5 }, /* (192) expr ::= expr in_op nm dbnm paren_exprlist */ |
| 141971 | | - { 174, -4 }, /* (193) expr ::= EXISTS LP select RP */ |
| 141972 | | - { 174, -5 }, /* (194) expr ::= CASE case_operand case_exprlist case_else END */ |
| 141973 | | - { 227, -5 }, /* (195) case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 141974 | | - { 227, -4 }, /* (196) case_exprlist ::= WHEN expr THEN expr */ |
| 141975 | | - { 228, -2 }, /* (197) case_else ::= ELSE expr */ |
| 141976 | | - { 228, 0 }, /* (198) case_else ::= */ |
| 141977 | | - { 226, -1 }, /* (199) case_operand ::= expr */ |
| 141978 | | - { 226, 0 }, /* (200) case_operand ::= */ |
| 141979 | | - { 209, 0 }, /* (201) exprlist ::= */ |
| 141980 | | - { 208, -3 }, /* (202) nexprlist ::= nexprlist COMMA expr */ |
| 141981 | | - { 208, -1 }, /* (203) nexprlist ::= expr */ |
| 141982 | | - { 225, 0 }, /* (204) paren_exprlist ::= */ |
| 141983 | | - { 225, -3 }, /* (205) paren_exprlist ::= LP exprlist RP */ |
| 141984 | | - { 149, -12 }, /* (206) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 141985 | | - { 229, -1 }, /* (207) uniqueflag ::= UNIQUE */ |
| 141986 | | - { 229, 0 }, /* (208) uniqueflag ::= */ |
| 141987 | | - { 178, 0 }, /* (209) eidlist_opt ::= */ |
| 141988 | | - { 178, -3 }, /* (210) eidlist_opt ::= LP eidlist RP */ |
| 141989 | | - { 188, -5 }, /* (211) eidlist ::= eidlist COMMA nm collate sortorder */ |
| 141990 | | - { 188, -3 }, /* (212) eidlist ::= nm collate sortorder */ |
| 141991 | | - { 230, 0 }, /* (213) collate ::= */ |
| 141992 | | - { 230, -2 }, /* (214) collate ::= COLLATE ID|STRING */ |
| 141993 | | - { 149, -4 }, /* (215) cmd ::= DROP INDEX ifexists fullname */ |
| 141994 | | - { 149, -1 }, /* (216) cmd ::= VACUUM */ |
| 141995 | | - { 149, -2 }, /* (217) cmd ::= VACUUM nm */ |
| 141996 | | - { 149, -3 }, /* (218) cmd ::= PRAGMA nm dbnm */ |
| 141997 | | - { 149, -5 }, /* (219) cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 141998 | | - { 149, -6 }, /* (220) cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 141999 | | - { 149, -5 }, /* (221) cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 142000 | | - { 149, -6 }, /* (222) cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 142001 | | - { 169, -2 }, /* (223) plus_num ::= PLUS INTEGER|FLOAT */ |
| 142002 | | - { 170, -2 }, /* (224) minus_num ::= MINUS INTEGER|FLOAT */ |
| 142003 | | - { 149, -5 }, /* (225) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 142004 | | - { 232, -11 }, /* (226) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 142005 | | - { 234, -1 }, /* (227) trigger_time ::= BEFORE|AFTER */ |
| 142006 | | - { 234, -2 }, /* (228) trigger_time ::= INSTEAD OF */ |
| 142007 | | - { 234, 0 }, /* (229) trigger_time ::= */ |
| 142008 | | - { 235, -1 }, /* (230) trigger_event ::= DELETE|INSERT */ |
| 142009 | | - { 235, -1 }, /* (231) trigger_event ::= UPDATE */ |
| 142010 | | - { 235, -3 }, /* (232) trigger_event ::= UPDATE OF idlist */ |
| 142011 | | - { 237, 0 }, /* (233) when_clause ::= */ |
| 142012 | | - { 237, -2 }, /* (234) when_clause ::= WHEN expr */ |
| 142013 | | - { 233, -3 }, /* (235) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 142014 | | - { 233, -2 }, /* (236) trigger_cmd_list ::= trigger_cmd SEMI */ |
| 142015 | | - { 239, -3 }, /* (237) trnm ::= nm DOT nm */ |
| 142016 | | - { 240, -3 }, /* (238) tridxby ::= INDEXED BY nm */ |
| 142017 | | - { 240, -2 }, /* (239) tridxby ::= NOT INDEXED */ |
| 142018 | | - { 238, -8 }, /* (240) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 142019 | | - { 238, -7 }, /* (241) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ |
| 142020 | | - { 238, -6 }, /* (242) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 142021 | | - { 238, -3 }, /* (243) trigger_cmd ::= scanpt select scanpt */ |
| 142022 | | - { 174, -4 }, /* (244) expr ::= RAISE LP IGNORE RP */ |
| 142023 | | - { 174, -6 }, /* (245) expr ::= RAISE LP raisetype COMMA nm RP */ |
| 142024 | | - { 192, -1 }, /* (246) raisetype ::= ROLLBACK */ |
| 142025 | | - { 192, -1 }, /* (247) raisetype ::= ABORT */ |
| 142026 | | - { 192, -1 }, /* (248) raisetype ::= FAIL */ |
| 142027 | | - { 149, -4 }, /* (249) cmd ::= DROP TRIGGER ifexists fullname */ |
| 142028 | | - { 149, -6 }, /* (250) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 142029 | | - { 149, -3 }, /* (251) cmd ::= DETACH database_kw_opt expr */ |
| 142030 | | - { 242, 0 }, /* (252) key_opt ::= */ |
| 142031 | | - { 242, -2 }, /* (253) key_opt ::= KEY expr */ |
| 142032 | | - { 149, -1 }, /* (254) cmd ::= REINDEX */ |
| 142033 | | - { 149, -3 }, /* (255) cmd ::= REINDEX nm dbnm */ |
| 142034 | | - { 149, -1 }, /* (256) cmd ::= ANALYZE */ |
| 142035 | | - { 149, -3 }, /* (257) cmd ::= ANALYZE nm dbnm */ |
| 142036 | | - { 149, -6 }, /* (258) cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 142037 | | - { 149, -7 }, /* (259) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 142038 | | - { 243, -1 }, /* (260) add_column_fullname ::= fullname */ |
| 142039 | | - { 149, -1 }, /* (261) cmd ::= create_vtab */ |
| 142040 | | - { 149, -4 }, /* (262) cmd ::= create_vtab LP vtabarglist RP */ |
| 142041 | | - { 245, -8 }, /* (263) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 142042 | | - { 247, 0 }, /* (264) vtabarg ::= */ |
| 142043 | | - { 248, -1 }, /* (265) vtabargtoken ::= ANY */ |
| 142044 | | - { 248, -3 }, /* (266) vtabargtoken ::= lp anylist RP */ |
| 142045 | | - { 249, -1 }, /* (267) lp ::= LP */ |
| 142046 | | - { 197, 0 }, /* (268) with ::= */ |
| 142047 | | - { 197, -2 }, /* (269) with ::= WITH wqlist */ |
| 142048 | | - { 197, -3 }, /* (270) with ::= WITH RECURSIVE wqlist */ |
| 142049 | | - { 251, -6 }, /* (271) wqlist ::= nm eidlist_opt AS LP select RP */ |
| 142050 | | - { 251, -8 }, /* (272) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 142051 | | - { 144, -1 }, /* (273) input ::= cmdlist */ |
| 142052 | | - { 145, -2 }, /* (274) cmdlist ::= cmdlist ecmd */ |
| 142053 | | - { 145, -1 }, /* (275) cmdlist ::= ecmd */ |
| 142054 | | - { 146, -1 }, /* (276) ecmd ::= SEMI */ |
| 142055 | | - { 146, -3 }, /* (277) ecmd ::= explain cmdx SEMI */ |
| 142056 | | - { 147, 0 }, /* (278) explain ::= */ |
| 142057 | | - { 151, 0 }, /* (279) trans_opt ::= */ |
| 142058 | | - { 151, -1 }, /* (280) trans_opt ::= TRANSACTION */ |
| 142059 | | - { 151, -2 }, /* (281) trans_opt ::= TRANSACTION nm */ |
| 142060 | | - { 153, -1 }, /* (282) savepoint_opt ::= SAVEPOINT */ |
| 142061 | | - { 153, 0 }, /* (283) savepoint_opt ::= */ |
| 142062 | | - { 149, -2 }, /* (284) cmd ::= create_table create_table_args */ |
| 142063 | | - { 160, -4 }, /* (285) columnlist ::= columnlist COMMA columnname carglist */ |
| 142064 | | - { 160, -2 }, /* (286) columnlist ::= columnname carglist */ |
| 142065 | | - { 152, -1 }, /* (287) nm ::= ID|INDEXED */ |
| 142066 | | - { 152, -1 }, /* (288) nm ::= STRING */ |
| 142067 | | - { 152, -1 }, /* (289) nm ::= JOIN_KW */ |
| 142068 | | - { 166, -1 }, /* (290) typetoken ::= typename */ |
| 142069 | | - { 167, -1 }, /* (291) typename ::= ID|STRING */ |
| 142070 | | - { 168, -1 }, /* (292) signed ::= plus_num */ |
| 142071 | | - { 168, -1 }, /* (293) signed ::= minus_num */ |
| 142072 | | - { 165, -2 }, /* (294) carglist ::= carglist ccons */ |
| 142073 | | - { 165, 0 }, /* (295) carglist ::= */ |
| 142074 | | - { 172, -2 }, /* (296) ccons ::= NULL onconf */ |
| 142075 | | - { 161, -2 }, /* (297) conslist_opt ::= COMMA conslist */ |
| 142076 | | - { 184, -3 }, /* (298) conslist ::= conslist tconscomma tcons */ |
| 142077 | | - { 184, -1 }, /* (299) conslist ::= tcons */ |
| 142078 | | - { 185, 0 }, /* (300) tconscomma ::= */ |
| 142079 | | - { 189, -1 }, /* (301) defer_subclause_opt ::= defer_subclause */ |
| 142080 | | - { 191, -1 }, /* (302) resolvetype ::= raisetype */ |
| 142081 | | - { 195, -1 }, /* (303) selectnowith ::= oneselect */ |
| 142082 | | - { 196, -1 }, /* (304) oneselect ::= values */ |
| 142083 | | - { 210, -2 }, /* (305) sclp ::= selcollist COMMA */ |
| 142084 | | - { 211, -1 }, /* (306) as ::= ID|STRING */ |
| 142085 | | - { 174, -1 }, /* (307) expr ::= term */ |
| 142086 | | - { 222, -1 }, /* (308) likeop ::= LIKE_KW|MATCH */ |
| 142087 | | - { 209, -1 }, /* (309) exprlist ::= nexprlist */ |
| 142088 | | - { 231, -1 }, /* (310) nmnum ::= plus_num */ |
| 142089 | | - { 231, -1 }, /* (311) nmnum ::= nm */ |
| 142090 | | - { 231, -1 }, /* (312) nmnum ::= ON */ |
| 142091 | | - { 231, -1 }, /* (313) nmnum ::= DELETE */ |
| 142092 | | - { 231, -1 }, /* (314) nmnum ::= DEFAULT */ |
| 142093 | | - { 169, -1 }, /* (315) plus_num ::= INTEGER|FLOAT */ |
| 142094 | | - { 236, 0 }, /* (316) foreach_clause ::= */ |
| 142095 | | - { 236, -3 }, /* (317) foreach_clause ::= FOR EACH ROW */ |
| 142096 | | - { 239, -1 }, /* (318) trnm ::= nm */ |
| 142097 | | - { 240, 0 }, /* (319) tridxby ::= */ |
| 142098 | | - { 241, -1 }, /* (320) database_kw_opt ::= DATABASE */ |
| 142099 | | - { 241, 0 }, /* (321) database_kw_opt ::= */ |
| 142100 | | - { 244, 0 }, /* (322) kwcolumn_opt ::= */ |
| 142101 | | - { 244, -1 }, /* (323) kwcolumn_opt ::= COLUMNKW */ |
| 142102 | | - { 246, -1 }, /* (324) vtabarglist ::= vtabarg */ |
| 142103 | | - { 246, -3 }, /* (325) vtabarglist ::= vtabarglist COMMA vtabarg */ |
| 142104 | | - { 247, -2 }, /* (326) vtabarg ::= vtabarg vtabargtoken */ |
| 142105 | | - { 250, 0 }, /* (327) anylist ::= */ |
| 142106 | | - { 250, -4 }, /* (328) anylist ::= anylist LP anylist RP */ |
| 142107 | | - { 250, -2 }, /* (329) anylist ::= anylist ANY */ |
| 141929 | + { 163, -3 }, /* (80) select ::= WITH wqlist selectnowith */ |
| 141930 | + { 163, -4 }, /* (81) select ::= WITH RECURSIVE wqlist selectnowith */ |
| 141931 | + { 163, -1 }, /* (82) select ::= selectnowith */ |
| 141932 | + { 195, -3 }, /* (83) selectnowith ::= selectnowith multiselect_op oneselect */ |
| 141933 | + { 198, -1 }, /* (84) multiselect_op ::= UNION */ |
| 141934 | + { 198, -2 }, /* (85) multiselect_op ::= UNION ALL */ |
| 141935 | + { 198, -1 }, /* (86) multiselect_op ::= EXCEPT|INTERSECT */ |
| 141936 | + { 196, -9 }, /* (87) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 141937 | + { 207, -4 }, /* (88) values ::= VALUES LP nexprlist RP */ |
| 141938 | + { 207, -5 }, /* (89) values ::= values COMMA LP exprlist RP */ |
| 141939 | + { 199, -1 }, /* (90) distinct ::= DISTINCT */ |
| 141940 | + { 199, -1 }, /* (91) distinct ::= ALL */ |
| 141941 | + { 199, 0 }, /* (92) distinct ::= */ |
| 141942 | + { 210, 0 }, /* (93) sclp ::= */ |
| 141943 | + { 200, -5 }, /* (94) selcollist ::= sclp scanpt expr scanpt as */ |
| 141944 | + { 200, -3 }, /* (95) selcollist ::= sclp scanpt STAR */ |
| 141945 | + { 200, -5 }, /* (96) selcollist ::= sclp scanpt nm DOT STAR */ |
| 141946 | + { 211, -2 }, /* (97) as ::= AS nm */ |
| 141947 | + { 211, 0 }, /* (98) as ::= */ |
| 141948 | + { 201, 0 }, /* (99) from ::= */ |
| 141949 | + { 201, -2 }, /* (100) from ::= FROM seltablist */ |
| 141950 | + { 213, -2 }, /* (101) stl_prefix ::= seltablist joinop */ |
| 141951 | + { 213, 0 }, /* (102) stl_prefix ::= */ |
| 141952 | + { 212, -7 }, /* (103) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 141953 | + { 212, -9 }, /* (104) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 141954 | + { 212, -7 }, /* (105) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 141955 | + { 212, -7 }, /* (106) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 141956 | + { 159, 0 }, /* (107) dbnm ::= */ |
| 141957 | + { 159, -2 }, /* (108) dbnm ::= DOT nm */ |
| 141958 | + { 194, -1 }, /* (109) fullname ::= nm */ |
| 141959 | + { 194, -3 }, /* (110) fullname ::= nm DOT nm */ |
| 141960 | + { 214, -1 }, /* (111) joinop ::= COMMA|JOIN */ |
| 141961 | + { 214, -2 }, /* (112) joinop ::= JOIN_KW JOIN */ |
| 141962 | + { 214, -3 }, /* (113) joinop ::= JOIN_KW nm JOIN */ |
| 141963 | + { 214, -4 }, /* (114) joinop ::= JOIN_KW nm nm JOIN */ |
| 141964 | + { 216, -2 }, /* (115) on_opt ::= ON expr */ |
| 141965 | + { 216, 0 }, /* (116) on_opt ::= */ |
| 141966 | + { 215, 0 }, /* (117) indexed_opt ::= */ |
| 141967 | + { 215, -3 }, /* (118) indexed_opt ::= INDEXED BY nm */ |
| 141968 | + { 215, -2 }, /* (119) indexed_opt ::= NOT INDEXED */ |
| 141969 | + { 217, -4 }, /* (120) using_opt ::= USING LP idlist RP */ |
| 141970 | + { 217, 0 }, /* (121) using_opt ::= */ |
| 141971 | + { 205, 0 }, /* (122) orderby_opt ::= */ |
| 141972 | + { 205, -3 }, /* (123) orderby_opt ::= ORDER BY sortlist */ |
| 141973 | + { 187, -4 }, /* (124) sortlist ::= sortlist COMMA expr sortorder */ |
| 141974 | + { 187, -2 }, /* (125) sortlist ::= expr sortorder */ |
| 141975 | + { 176, -1 }, /* (126) sortorder ::= ASC */ |
| 141976 | + { 176, -1 }, /* (127) sortorder ::= DESC */ |
| 141977 | + { 176, 0 }, /* (128) sortorder ::= */ |
| 141978 | + { 203, 0 }, /* (129) groupby_opt ::= */ |
| 141979 | + { 203, -3 }, /* (130) groupby_opt ::= GROUP BY nexprlist */ |
| 141980 | + { 204, 0 }, /* (131) having_opt ::= */ |
| 141981 | + { 204, -2 }, /* (132) having_opt ::= HAVING expr */ |
| 141982 | + { 206, 0 }, /* (133) limit_opt ::= */ |
| 141983 | + { 206, -2 }, /* (134) limit_opt ::= LIMIT expr */ |
| 141984 | + { 206, -4 }, /* (135) limit_opt ::= LIMIT expr OFFSET expr */ |
| 141985 | + { 206, -4 }, /* (136) limit_opt ::= LIMIT expr COMMA expr */ |
| 141986 | + { 149, -6 }, /* (137) cmd ::= with DELETE FROM fullname indexed_opt where_opt */ |
| 141987 | + { 202, 0 }, /* (138) where_opt ::= */ |
| 141988 | + { 202, -2 }, /* (139) where_opt ::= WHERE expr */ |
| 141989 | + { 149, -8 }, /* (140) cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ |
| 141990 | + { 220, -5 }, /* (141) setlist ::= setlist COMMA nm EQ expr */ |
| 141991 | + { 220, -7 }, /* (142) setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 141992 | + { 220, -3 }, /* (143) setlist ::= nm EQ expr */ |
| 141993 | + { 220, -5 }, /* (144) setlist ::= LP idlist RP EQ expr */ |
| 141994 | + { 149, -6 }, /* (145) cmd ::= with insert_cmd INTO fullname idlist_opt select */ |
| 141995 | + { 149, -7 }, /* (146) cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ |
| 141996 | + { 221, -2 }, /* (147) insert_cmd ::= INSERT orconf */ |
| 141997 | + { 221, -1 }, /* (148) insert_cmd ::= REPLACE */ |
| 141998 | + { 222, 0 }, /* (149) idlist_opt ::= */ |
| 141999 | + { 222, -3 }, /* (150) idlist_opt ::= LP idlist RP */ |
| 142000 | + { 218, -3 }, /* (151) idlist ::= idlist COMMA nm */ |
| 142001 | + { 218, -1 }, /* (152) idlist ::= nm */ |
| 142002 | + { 174, -3 }, /* (153) expr ::= LP expr RP */ |
| 142003 | + { 174, -1 }, /* (154) expr ::= ID|INDEXED */ |
| 142004 | + { 174, -1 }, /* (155) expr ::= JOIN_KW */ |
| 142005 | + { 174, -3 }, /* (156) expr ::= nm DOT nm */ |
| 142006 | + { 174, -5 }, /* (157) expr ::= nm DOT nm DOT nm */ |
| 142007 | + { 173, -1 }, /* (158) term ::= NULL|FLOAT|BLOB */ |
| 142008 | + { 173, -1 }, /* (159) term ::= STRING */ |
| 142009 | + { 173, -1 }, /* (160) term ::= INTEGER */ |
| 142010 | + { 174, -1 }, /* (161) expr ::= VARIABLE */ |
| 142011 | + { 174, -3 }, /* (162) expr ::= expr COLLATE ID|STRING */ |
| 142012 | + { 174, -6 }, /* (163) expr ::= CAST LP expr AS typetoken RP */ |
| 142013 | + { 174, -5 }, /* (164) expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 142014 | + { 174, -4 }, /* (165) expr ::= ID|INDEXED LP STAR RP */ |
| 142015 | + { 173, -1 }, /* (166) term ::= CTIME_KW */ |
| 142016 | + { 174, -5 }, /* (167) expr ::= LP nexprlist COMMA expr RP */ |
| 142017 | + { 174, -3 }, /* (168) expr ::= expr AND expr */ |
| 142018 | + { 174, -3 }, /* (169) expr ::= expr OR expr */ |
| 142019 | + { 174, -3 }, /* (170) expr ::= expr LT|GT|GE|LE expr */ |
| 142020 | + { 174, -3 }, /* (171) expr ::= expr EQ|NE expr */ |
| 142021 | + { 174, -3 }, /* (172) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ |
| 142022 | + { 174, -3 }, /* (173) expr ::= expr PLUS|MINUS expr */ |
| 142023 | + { 174, -3 }, /* (174) expr ::= expr STAR|SLASH|REM expr */ |
| 142024 | + { 174, -3 }, /* (175) expr ::= expr CONCAT expr */ |
| 142025 | + { 223, -2 }, /* (176) likeop ::= NOT LIKE_KW|MATCH */ |
| 142026 | + { 174, -3 }, /* (177) expr ::= expr likeop expr */ |
| 142027 | + { 174, -5 }, /* (178) expr ::= expr likeop expr ESCAPE expr */ |
| 142028 | + { 174, -2 }, /* (179) expr ::= expr ISNULL|NOTNULL */ |
| 142029 | + { 174, -3 }, /* (180) expr ::= expr NOT NULL */ |
| 142030 | + { 174, -3 }, /* (181) expr ::= expr IS expr */ |
| 142031 | + { 174, -4 }, /* (182) expr ::= expr IS NOT expr */ |
| 142032 | + { 174, -2 }, /* (183) expr ::= NOT expr */ |
| 142033 | + { 174, -2 }, /* (184) expr ::= BITNOT expr */ |
| 142034 | + { 174, -2 }, /* (185) expr ::= MINUS expr */ |
| 142035 | + { 174, -2 }, /* (186) expr ::= PLUS expr */ |
| 142036 | + { 224, -1 }, /* (187) between_op ::= BETWEEN */ |
| 142037 | + { 224, -2 }, /* (188) between_op ::= NOT BETWEEN */ |
| 142038 | + { 174, -5 }, /* (189) expr ::= expr between_op expr AND expr */ |
| 142039 | + { 225, -1 }, /* (190) in_op ::= IN */ |
| 142040 | + { 225, -2 }, /* (191) in_op ::= NOT IN */ |
| 142041 | + { 174, -5 }, /* (192) expr ::= expr in_op LP exprlist RP */ |
| 142042 | + { 174, -3 }, /* (193) expr ::= LP select RP */ |
| 142043 | + { 174, -5 }, /* (194) expr ::= expr in_op LP select RP */ |
| 142044 | + { 174, -5 }, /* (195) expr ::= expr in_op nm dbnm paren_exprlist */ |
| 142045 | + { 174, -4 }, /* (196) expr ::= EXISTS LP select RP */ |
| 142046 | + { 174, -5 }, /* (197) expr ::= CASE case_operand case_exprlist case_else END */ |
| 142047 | + { 228, -5 }, /* (198) case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 142048 | + { 228, -4 }, /* (199) case_exprlist ::= WHEN expr THEN expr */ |
| 142049 | + { 229, -2 }, /* (200) case_else ::= ELSE expr */ |
| 142050 | + { 229, 0 }, /* (201) case_else ::= */ |
| 142051 | + { 227, -1 }, /* (202) case_operand ::= expr */ |
| 142052 | + { 227, 0 }, /* (203) case_operand ::= */ |
| 142053 | + { 209, 0 }, /* (204) exprlist ::= */ |
| 142054 | + { 208, -3 }, /* (205) nexprlist ::= nexprlist COMMA expr */ |
| 142055 | + { 208, -1 }, /* (206) nexprlist ::= expr */ |
| 142056 | + { 226, 0 }, /* (207) paren_exprlist ::= */ |
| 142057 | + { 226, -3 }, /* (208) paren_exprlist ::= LP exprlist RP */ |
| 142058 | + { 149, -12 }, /* (209) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 142059 | + { 230, -1 }, /* (210) uniqueflag ::= UNIQUE */ |
| 142060 | + { 230, 0 }, /* (211) uniqueflag ::= */ |
| 142061 | + { 178, 0 }, /* (212) eidlist_opt ::= */ |
| 142062 | + { 178, -3 }, /* (213) eidlist_opt ::= LP eidlist RP */ |
| 142063 | + { 188, -5 }, /* (214) eidlist ::= eidlist COMMA nm collate sortorder */ |
| 142064 | + { 188, -3 }, /* (215) eidlist ::= nm collate sortorder */ |
| 142065 | + { 231, 0 }, /* (216) collate ::= */ |
| 142066 | + { 231, -2 }, /* (217) collate ::= COLLATE ID|STRING */ |
| 142067 | + { 149, -4 }, /* (218) cmd ::= DROP INDEX ifexists fullname */ |
| 142068 | + { 149, -1 }, /* (219) cmd ::= VACUUM */ |
| 142069 | + { 149, -2 }, /* (220) cmd ::= VACUUM nm */ |
| 142070 | + { 149, -3 }, /* (221) cmd ::= PRAGMA nm dbnm */ |
| 142071 | + { 149, -5 }, /* (222) cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 142072 | + { 149, -6 }, /* (223) cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 142073 | + { 149, -5 }, /* (224) cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 142074 | + { 149, -6 }, /* (225) cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 142075 | + { 169, -2 }, /* (226) plus_num ::= PLUS INTEGER|FLOAT */ |
| 142076 | + { 170, -2 }, /* (227) minus_num ::= MINUS INTEGER|FLOAT */ |
| 142077 | + { 149, -5 }, /* (228) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 142078 | + { 233, -11 }, /* (229) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 142079 | + { 235, -1 }, /* (230) trigger_time ::= BEFORE|AFTER */ |
| 142080 | + { 235, -2 }, /* (231) trigger_time ::= INSTEAD OF */ |
| 142081 | + { 235, 0 }, /* (232) trigger_time ::= */ |
| 142082 | + { 236, -1 }, /* (233) trigger_event ::= DELETE|INSERT */ |
| 142083 | + { 236, -1 }, /* (234) trigger_event ::= UPDATE */ |
| 142084 | + { 236, -3 }, /* (235) trigger_event ::= UPDATE OF idlist */ |
| 142085 | + { 238, 0 }, /* (236) when_clause ::= */ |
| 142086 | + { 238, -2 }, /* (237) when_clause ::= WHEN expr */ |
| 142087 | + { 234, -3 }, /* (238) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 142088 | + { 234, -2 }, /* (239) trigger_cmd_list ::= trigger_cmd SEMI */ |
| 142089 | + { 240, -3 }, /* (240) trnm ::= nm DOT nm */ |
| 142090 | + { 241, -3 }, /* (241) tridxby ::= INDEXED BY nm */ |
| 142091 | + { 241, -2 }, /* (242) tridxby ::= NOT INDEXED */ |
| 142092 | + { 239, -8 }, /* (243) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 142093 | + { 239, -7 }, /* (244) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ |
| 142094 | + { 239, -6 }, /* (245) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 142095 | + { 239, -3 }, /* (246) trigger_cmd ::= scanpt select scanpt */ |
| 142096 | + { 174, -4 }, /* (247) expr ::= RAISE LP IGNORE RP */ |
| 142097 | + { 174, -6 }, /* (248) expr ::= RAISE LP raisetype COMMA nm RP */ |
| 142098 | + { 192, -1 }, /* (249) raisetype ::= ROLLBACK */ |
| 142099 | + { 192, -1 }, /* (250) raisetype ::= ABORT */ |
| 142100 | + { 192, -1 }, /* (251) raisetype ::= FAIL */ |
| 142101 | + { 149, -4 }, /* (252) cmd ::= DROP TRIGGER ifexists fullname */ |
| 142102 | + { 149, -6 }, /* (253) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 142103 | + { 149, -3 }, /* (254) cmd ::= DETACH database_kw_opt expr */ |
| 142104 | + { 243, 0 }, /* (255) key_opt ::= */ |
| 142105 | + { 243, -2 }, /* (256) key_opt ::= KEY expr */ |
| 142106 | + { 149, -1 }, /* (257) cmd ::= REINDEX */ |
| 142107 | + { 149, -3 }, /* (258) cmd ::= REINDEX nm dbnm */ |
| 142108 | + { 149, -1 }, /* (259) cmd ::= ANALYZE */ |
| 142109 | + { 149, -3 }, /* (260) cmd ::= ANALYZE nm dbnm */ |
| 142110 | + { 149, -6 }, /* (261) cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 142111 | + { 149, -7 }, /* (262) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 142112 | + { 244, -1 }, /* (263) add_column_fullname ::= fullname */ |
| 142113 | + { 149, -1 }, /* (264) cmd ::= create_vtab */ |
| 142114 | + { 149, -4 }, /* (265) cmd ::= create_vtab LP vtabarglist RP */ |
| 142115 | + { 246, -8 }, /* (266) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 142116 | + { 248, 0 }, /* (267) vtabarg ::= */ |
| 142117 | + { 249, -1 }, /* (268) vtabargtoken ::= ANY */ |
| 142118 | + { 249, -3 }, /* (269) vtabargtoken ::= lp anylist RP */ |
| 142119 | + { 250, -1 }, /* (270) lp ::= LP */ |
| 142120 | + { 219, -2 }, /* (271) with ::= WITH wqlist */ |
| 142121 | + { 219, -3 }, /* (272) with ::= WITH RECURSIVE wqlist */ |
| 142122 | + { 197, -6 }, /* (273) wqlist ::= nm eidlist_opt AS LP select RP */ |
| 142123 | + { 197, -8 }, /* (274) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 142124 | + { 144, -1 }, /* (275) input ::= cmdlist */ |
| 142125 | + { 145, -2 }, /* (276) cmdlist ::= cmdlist ecmd */ |
| 142126 | + { 145, -1 }, /* (277) cmdlist ::= ecmd */ |
| 142127 | + { 146, -1 }, /* (278) ecmd ::= SEMI */ |
| 142128 | + { 146, -3 }, /* (279) ecmd ::= explain cmdx SEMI */ |
| 142129 | + { 147, 0 }, /* (280) explain ::= */ |
| 142130 | + { 151, 0 }, /* (281) trans_opt ::= */ |
| 142131 | + { 151, -1 }, /* (282) trans_opt ::= TRANSACTION */ |
| 142132 | + { 151, -2 }, /* (283) trans_opt ::= TRANSACTION nm */ |
| 142133 | + { 153, -1 }, /* (284) savepoint_opt ::= SAVEPOINT */ |
| 142134 | + { 153, 0 }, /* (285) savepoint_opt ::= */ |
| 142135 | + { 149, -2 }, /* (286) cmd ::= create_table create_table_args */ |
| 142136 | + { 160, -4 }, /* (287) columnlist ::= columnlist COMMA columnname carglist */ |
| 142137 | + { 160, -2 }, /* (288) columnlist ::= columnname carglist */ |
| 142138 | + { 152, -1 }, /* (289) nm ::= ID|INDEXED */ |
| 142139 | + { 152, -1 }, /* (290) nm ::= STRING */ |
| 142140 | + { 152, -1 }, /* (291) nm ::= JOIN_KW */ |
| 142141 | + { 166, -1 }, /* (292) typetoken ::= typename */ |
| 142142 | + { 167, -1 }, /* (293) typename ::= ID|STRING */ |
| 142143 | + { 168, -1 }, /* (294) signed ::= plus_num */ |
| 142144 | + { 168, -1 }, /* (295) signed ::= minus_num */ |
| 142145 | + { 165, -2 }, /* (296) carglist ::= carglist ccons */ |
| 142146 | + { 165, 0 }, /* (297) carglist ::= */ |
| 142147 | + { 172, -2 }, /* (298) ccons ::= NULL onconf */ |
| 142148 | + { 161, -2 }, /* (299) conslist_opt ::= COMMA conslist */ |
| 142149 | + { 184, -3 }, /* (300) conslist ::= conslist tconscomma tcons */ |
| 142150 | + { 184, -1 }, /* (301) conslist ::= tcons */ |
| 142151 | + { 185, 0 }, /* (302) tconscomma ::= */ |
| 142152 | + { 189, -1 }, /* (303) defer_subclause_opt ::= defer_subclause */ |
| 142153 | + { 191, -1 }, /* (304) resolvetype ::= raisetype */ |
| 142154 | + { 195, -1 }, /* (305) selectnowith ::= oneselect */ |
| 142155 | + { 196, -1 }, /* (306) oneselect ::= values */ |
| 142156 | + { 210, -2 }, /* (307) sclp ::= selcollist COMMA */ |
| 142157 | + { 211, -1 }, /* (308) as ::= ID|STRING */ |
| 142158 | + { 174, -1 }, /* (309) expr ::= term */ |
| 142159 | + { 223, -1 }, /* (310) likeop ::= LIKE_KW|MATCH */ |
| 142160 | + { 209, -1 }, /* (311) exprlist ::= nexprlist */ |
| 142161 | + { 232, -1 }, /* (312) nmnum ::= plus_num */ |
| 142162 | + { 232, -1 }, /* (313) nmnum ::= nm */ |
| 142163 | + { 232, -1 }, /* (314) nmnum ::= ON */ |
| 142164 | + { 232, -1 }, /* (315) nmnum ::= DELETE */ |
| 142165 | + { 232, -1 }, /* (316) nmnum ::= DEFAULT */ |
| 142166 | + { 169, -1 }, /* (317) plus_num ::= INTEGER|FLOAT */ |
| 142167 | + { 237, 0 }, /* (318) foreach_clause ::= */ |
| 142168 | + { 237, -3 }, /* (319) foreach_clause ::= FOR EACH ROW */ |
| 142169 | + { 240, -1 }, /* (320) trnm ::= nm */ |
| 142170 | + { 241, 0 }, /* (321) tridxby ::= */ |
| 142171 | + { 242, -1 }, /* (322) database_kw_opt ::= DATABASE */ |
| 142172 | + { 242, 0 }, /* (323) database_kw_opt ::= */ |
| 142173 | + { 245, 0 }, /* (324) kwcolumn_opt ::= */ |
| 142174 | + { 245, -1 }, /* (325) kwcolumn_opt ::= COLUMNKW */ |
| 142175 | + { 247, -1 }, /* (326) vtabarglist ::= vtabarg */ |
| 142176 | + { 247, -3 }, /* (327) vtabarglist ::= vtabarglist COMMA vtabarg */ |
| 142177 | + { 248, -2 }, /* (328) vtabarg ::= vtabarg vtabargtoken */ |
| 142178 | + { 251, 0 }, /* (329) anylist ::= */ |
| 142179 | + { 251, -4 }, /* (330) anylist ::= anylist LP anylist RP */ |
| 142180 | + { 251, -2 }, /* (331) anylist ::= anylist ANY */ |
| 142181 | + { 219, 0 }, /* (332) with ::= */ |
| 142108 | 142182 | }; |
| 142109 | 142183 | |
| 142110 | 142184 | static void yy_accept(yyParser*); /* Forward Declaration */ |
| 142111 | 142185 | |
| 142112 | 142186 | /* |
| | @@ -142236,12 +142310,12 @@ |
| 142236 | 142310 | case 21: /* table_options ::= */ yytestcase(yyruleno==21); |
| 142237 | 142311 | case 42: /* autoinc ::= */ yytestcase(yyruleno==42); |
| 142238 | 142312 | case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); |
| 142239 | 142313 | case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); |
| 142240 | 142314 | case 76: /* ifexists ::= */ yytestcase(yyruleno==76); |
| 142241 | | - case 90: /* distinct ::= */ yytestcase(yyruleno==90); |
| 142242 | | - case 213: /* collate ::= */ yytestcase(yyruleno==213); |
| 142315 | + case 92: /* distinct ::= */ yytestcase(yyruleno==92); |
| 142316 | + case 216: /* collate ::= */ yytestcase(yyruleno==216); |
| 142243 | 142317 | {yymsp[1].minor.yy4 = 0;} |
| 142244 | 142318 | break; |
| 142245 | 142319 | case 16: /* ifnotexists ::= IF NOT EXISTS */ |
| 142246 | 142320 | {yymsp[-2].minor.yy4 = 1;} |
| 142247 | 142321 | break; |
| | @@ -142273,11 +142347,11 @@ |
| 142273 | 142347 | case 23: /* columnname ::= nm typetoken */ |
| 142274 | 142348 | {sqlite3AddColumn(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} |
| 142275 | 142349 | break; |
| 142276 | 142350 | case 24: /* typetoken ::= */ |
| 142277 | 142351 | case 60: /* conslist_opt ::= */ yytestcase(yyruleno==60); |
| 142278 | | - case 96: /* as ::= */ yytestcase(yyruleno==96); |
| 142352 | + case 98: /* as ::= */ yytestcase(yyruleno==98); |
| 142279 | 142353 | {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = 0;} |
| 142280 | 142354 | break; |
| 142281 | 142355 | case 25: /* typetoken ::= typename LP signed RP */ |
| 142282 | 142356 | { |
| 142283 | 142357 | yymsp[-3].minor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z); |
| | @@ -142384,18 +142458,18 @@ |
| 142384 | 142458 | case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 142385 | 142459 | {yymsp[-2].minor.yy4 = 0;} |
| 142386 | 142460 | break; |
| 142387 | 142461 | case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 142388 | 142462 | case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); |
| 142389 | | - case 144: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==144); |
| 142463 | + case 147: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==147); |
| 142390 | 142464 | {yymsp[-1].minor.yy4 = yymsp[0].minor.yy4;} |
| 142391 | 142465 | break; |
| 142392 | 142466 | case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 142393 | 142467 | case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); |
| 142394 | | - case 185: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==185); |
| 142395 | | - case 188: /* in_op ::= NOT IN */ yytestcase(yyruleno==188); |
| 142396 | | - case 214: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==214); |
| 142468 | + case 188: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==188); |
| 142469 | + case 191: /* in_op ::= NOT IN */ yytestcase(yyruleno==191); |
| 142470 | + case 217: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==217); |
| 142397 | 142471 | {yymsp[-1].minor.yy4 = 1;} |
| 142398 | 142472 | break; |
| 142399 | 142473 | case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 142400 | 142474 | {yymsp[-1].minor.yy4 = 0;} |
| 142401 | 142475 | break; |
| | @@ -142427,11 +142501,11 @@ |
| 142427 | 142501 | break; |
| 142428 | 142502 | case 72: /* resolvetype ::= IGNORE */ |
| 142429 | 142503 | {yymsp[0].minor.yy4 = OE_Ignore;} |
| 142430 | 142504 | break; |
| 142431 | 142505 | case 73: /* resolvetype ::= REPLACE */ |
| 142432 | | - case 145: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==145); |
| 142506 | + case 148: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==148); |
| 142433 | 142507 | {yymsp[0].minor.yy4 = OE_Replace;} |
| 142434 | 142508 | break; |
| 142435 | 142509 | case 74: /* cmd ::= DROP TABLE ifexists fullname */ |
| 142436 | 142510 | { |
| 142437 | 142511 | sqlite3DropTable(pParse, yymsp[0].minor.yy259, 0, yymsp[-1].minor.yy4); |
| | @@ -142452,23 +142526,44 @@ |
| 142452 | 142526 | SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; |
| 142453 | 142527 | sqlite3Select(pParse, yymsp[0].minor.yy387, &dest); |
| 142454 | 142528 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); |
| 142455 | 142529 | } |
| 142456 | 142530 | break; |
| 142457 | | - case 80: /* select ::= with selectnowith */ |
| 142531 | + case 80: /* select ::= WITH wqlist selectnowith */ |
| 142532 | +{ |
| 142533 | + Select *p = yymsp[0].minor.yy387; |
| 142534 | + if( p ){ |
| 142535 | + p->pWith = yymsp[-1].minor.yy451; |
| 142536 | + parserDoubleLinkSelect(pParse, p); |
| 142537 | + }else{ |
| 142538 | + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy451); |
| 142539 | + } |
| 142540 | + yymsp[-2].minor.yy387 = p; |
| 142541 | +} |
| 142542 | + break; |
| 142543 | + case 81: /* select ::= WITH RECURSIVE wqlist selectnowith */ |
| 142458 | 142544 | { |
| 142459 | 142545 | Select *p = yymsp[0].minor.yy387; |
| 142460 | 142546 | if( p ){ |
| 142461 | 142547 | p->pWith = yymsp[-1].minor.yy451; |
| 142462 | 142548 | parserDoubleLinkSelect(pParse, p); |
| 142463 | 142549 | }else{ |
| 142464 | 142550 | sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy451); |
| 142465 | 142551 | } |
| 142466 | | - yymsp[-1].minor.yy387 = p; /*A-overwrites-W*/ |
| 142552 | + yymsp[-3].minor.yy387 = p; |
| 142467 | 142553 | } |
| 142468 | 142554 | break; |
| 142469 | | - case 81: /* selectnowith ::= selectnowith multiselect_op oneselect */ |
| 142555 | + case 82: /* select ::= selectnowith */ |
| 142556 | +{ |
| 142557 | + Select *p = yymsp[0].minor.yy387; |
| 142558 | + if( p ){ |
| 142559 | + parserDoubleLinkSelect(pParse, p); |
| 142560 | + } |
| 142561 | + yymsp[0].minor.yy387 = p; /*A-overwrites-X*/ |
| 142562 | +} |
| 142563 | + break; |
| 142564 | + case 83: /* selectnowith ::= selectnowith multiselect_op oneselect */ |
| 142470 | 142565 | { |
| 142471 | 142566 | Select *pRhs = yymsp[0].minor.yy387; |
| 142472 | 142567 | Select *pLhs = yymsp[-2].minor.yy387; |
| 142473 | 142568 | if( pRhs && pRhs->pPrior ){ |
| 142474 | 142569 | SrcList *pFrom; |
| | @@ -142488,18 +142583,18 @@ |
| 142488 | 142583 | sqlite3SelectDelete(pParse->db, pLhs); |
| 142489 | 142584 | } |
| 142490 | 142585 | yymsp[-2].minor.yy387 = pRhs; |
| 142491 | 142586 | } |
| 142492 | 142587 | break; |
| 142493 | | - case 82: /* multiselect_op ::= UNION */ |
| 142494 | | - case 84: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==84); |
| 142588 | + case 84: /* multiselect_op ::= UNION */ |
| 142589 | + case 86: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==86); |
| 142495 | 142590 | {yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-OP*/} |
| 142496 | 142591 | break; |
| 142497 | | - case 83: /* multiselect_op ::= UNION ALL */ |
| 142592 | + case 85: /* multiselect_op ::= UNION ALL */ |
| 142498 | 142593 | {yymsp[-1].minor.yy4 = TK_ALL;} |
| 142499 | 142594 | break; |
| 142500 | | - case 85: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 142595 | + case 87: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 142501 | 142596 | { |
| 142502 | 142597 | #if SELECTTRACE_ENABLED |
| 142503 | 142598 | Token s = yymsp[-8].minor.yy0; /*A-overwrites-S*/ |
| 142504 | 142599 | #endif |
| 142505 | 142600 | yymsp[-8].minor.yy387 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy322,yymsp[-5].minor.yy259,yymsp[-4].minor.yy314,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yymsp[-1].minor.yy322,yymsp[-7].minor.yy4,yymsp[0].minor.yy314); |
| | @@ -142526,16 +142621,16 @@ |
| 142526 | 142621 | } |
| 142527 | 142622 | } |
| 142528 | 142623 | #endif /* SELECTRACE_ENABLED */ |
| 142529 | 142624 | } |
| 142530 | 142625 | break; |
| 142531 | | - case 86: /* values ::= VALUES LP nexprlist RP */ |
| 142626 | + case 88: /* values ::= VALUES LP nexprlist RP */ |
| 142532 | 142627 | { |
| 142533 | 142628 | yymsp[-3].minor.yy387 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values,0); |
| 142534 | 142629 | } |
| 142535 | 142630 | break; |
| 142536 | | - case 87: /* values ::= values COMMA LP exprlist RP */ |
| 142631 | + case 89: /* values ::= values COMMA LP exprlist RP */ |
| 142537 | 142632 | { |
| 142538 | 142633 | Select *pRight, *pLeft = yymsp[-4].minor.yy387; |
| 142539 | 142634 | pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values|SF_MultiValue,0); |
| 142540 | 142635 | if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; |
| 142541 | 142636 | if( pRight ){ |
| | @@ -142545,86 +142640,86 @@ |
| 142545 | 142640 | }else{ |
| 142546 | 142641 | yymsp[-4].minor.yy387 = pLeft; |
| 142547 | 142642 | } |
| 142548 | 142643 | } |
| 142549 | 142644 | break; |
| 142550 | | - case 88: /* distinct ::= DISTINCT */ |
| 142645 | + case 90: /* distinct ::= DISTINCT */ |
| 142551 | 142646 | {yymsp[0].minor.yy4 = SF_Distinct;} |
| 142552 | 142647 | break; |
| 142553 | | - case 89: /* distinct ::= ALL */ |
| 142648 | + case 91: /* distinct ::= ALL */ |
| 142554 | 142649 | {yymsp[0].minor.yy4 = SF_All;} |
| 142555 | 142650 | break; |
| 142556 | | - case 91: /* sclp ::= */ |
| 142557 | | - case 119: /* orderby_opt ::= */ yytestcase(yyruleno==119); |
| 142558 | | - case 126: /* groupby_opt ::= */ yytestcase(yyruleno==126); |
| 142559 | | - case 201: /* exprlist ::= */ yytestcase(yyruleno==201); |
| 142560 | | - case 204: /* paren_exprlist ::= */ yytestcase(yyruleno==204); |
| 142561 | | - case 209: /* eidlist_opt ::= */ yytestcase(yyruleno==209); |
| 142651 | + case 93: /* sclp ::= */ |
| 142652 | + case 122: /* orderby_opt ::= */ yytestcase(yyruleno==122); |
| 142653 | + case 129: /* groupby_opt ::= */ yytestcase(yyruleno==129); |
| 142654 | + case 204: /* exprlist ::= */ yytestcase(yyruleno==204); |
| 142655 | + case 207: /* paren_exprlist ::= */ yytestcase(yyruleno==207); |
| 142656 | + case 212: /* eidlist_opt ::= */ yytestcase(yyruleno==212); |
| 142562 | 142657 | {yymsp[1].minor.yy322 = 0;} |
| 142563 | 142658 | break; |
| 142564 | | - case 92: /* selcollist ::= sclp scanpt expr scanpt as */ |
| 142659 | + case 94: /* selcollist ::= sclp scanpt expr scanpt as */ |
| 142565 | 142660 | { |
| 142566 | 142661 | yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[-2].minor.yy314); |
| 142567 | 142662 | if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy322, &yymsp[0].minor.yy0, 1); |
| 142568 | 142663 | sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy322,yymsp[-3].minor.yy336,yymsp[-1].minor.yy336); |
| 142569 | 142664 | } |
| 142570 | 142665 | break; |
| 142571 | | - case 93: /* selcollist ::= sclp scanpt STAR */ |
| 142666 | + case 95: /* selcollist ::= sclp scanpt STAR */ |
| 142572 | 142667 | { |
| 142573 | 142668 | Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); |
| 142574 | 142669 | yymsp[-2].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy322, p); |
| 142575 | 142670 | } |
| 142576 | 142671 | break; |
| 142577 | | - case 94: /* selcollist ::= sclp scanpt nm DOT STAR */ |
| 142672 | + case 96: /* selcollist ::= sclp scanpt nm DOT STAR */ |
| 142578 | 142673 | { |
| 142579 | 142674 | Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0); |
| 142580 | 142675 | Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 142581 | 142676 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); |
| 142582 | 142677 | yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, pDot); |
| 142583 | 142678 | } |
| 142584 | 142679 | break; |
| 142585 | | - case 95: /* as ::= AS nm */ |
| 142586 | | - case 106: /* dbnm ::= DOT nm */ yytestcase(yyruleno==106); |
| 142587 | | - case 223: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==223); |
| 142588 | | - case 224: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==224); |
| 142680 | + case 97: /* as ::= AS nm */ |
| 142681 | + case 108: /* dbnm ::= DOT nm */ yytestcase(yyruleno==108); |
| 142682 | + case 226: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==226); |
| 142683 | + case 227: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==227); |
| 142589 | 142684 | {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} |
| 142590 | 142685 | break; |
| 142591 | | - case 97: /* from ::= */ |
| 142686 | + case 99: /* from ::= */ |
| 142592 | 142687 | {yymsp[1].minor.yy259 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy259));} |
| 142593 | 142688 | break; |
| 142594 | | - case 98: /* from ::= FROM seltablist */ |
| 142689 | + case 100: /* from ::= FROM seltablist */ |
| 142595 | 142690 | { |
| 142596 | 142691 | yymsp[-1].minor.yy259 = yymsp[0].minor.yy259; |
| 142597 | 142692 | sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy259); |
| 142598 | 142693 | } |
| 142599 | 142694 | break; |
| 142600 | | - case 99: /* stl_prefix ::= seltablist joinop */ |
| 142695 | + case 101: /* stl_prefix ::= seltablist joinop */ |
| 142601 | 142696 | { |
| 142602 | 142697 | if( ALWAYS(yymsp[-1].minor.yy259 && yymsp[-1].minor.yy259->nSrc>0) ) yymsp[-1].minor.yy259->a[yymsp[-1].minor.yy259->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy4; |
| 142603 | 142698 | } |
| 142604 | 142699 | break; |
| 142605 | | - case 100: /* stl_prefix ::= */ |
| 142700 | + case 102: /* stl_prefix ::= */ |
| 142606 | 142701 | {yymsp[1].minor.yy259 = 0;} |
| 142607 | 142702 | break; |
| 142608 | | - case 101: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 142703 | + case 103: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 142609 | 142704 | { |
| 142610 | 142705 | yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); |
| 142611 | 142706 | sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy259, &yymsp[-2].minor.yy0); |
| 142612 | 142707 | } |
| 142613 | 142708 | break; |
| 142614 | | - case 102: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 142709 | + case 104: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 142615 | 142710 | { |
| 142616 | 142711 | yymsp[-8].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy259,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); |
| 142617 | 142712 | sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy259, yymsp[-4].minor.yy322); |
| 142618 | 142713 | } |
| 142619 | 142714 | break; |
| 142620 | | - case 103: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 142715 | + case 105: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 142621 | 142716 | { |
| 142622 | 142717 | yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy387,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); |
| 142623 | 142718 | } |
| 142624 | 142719 | break; |
| 142625 | | - case 104: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 142720 | + case 106: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 142626 | 142721 | { |
| 142627 | 142722 | if( yymsp[-6].minor.yy259==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy314==0 && yymsp[0].minor.yy384==0 ){ |
| 142628 | 142723 | yymsp[-6].minor.yy259 = yymsp[-4].minor.yy259; |
| 142629 | 142724 | }else if( yymsp[-4].minor.yy259->nSrc==1 ){ |
| 142630 | 142725 | yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); |
| | @@ -142644,185 +142739,184 @@ |
| 142644 | 142739 | pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy259,0,0,0,0,SF_NestedFrom,0); |
| 142645 | 142740 | yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); |
| 142646 | 142741 | } |
| 142647 | 142742 | } |
| 142648 | 142743 | break; |
| 142649 | | - case 105: /* dbnm ::= */ |
| 142650 | | - case 114: /* indexed_opt ::= */ yytestcase(yyruleno==114); |
| 142744 | + case 107: /* dbnm ::= */ |
| 142745 | + case 117: /* indexed_opt ::= */ yytestcase(yyruleno==117); |
| 142651 | 142746 | {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} |
| 142652 | 142747 | break; |
| 142653 | | - case 107: /* fullname ::= nm dbnm */ |
| 142654 | | -{yymsp[-1].minor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 142748 | + case 109: /* fullname ::= nm */ |
| 142749 | +{yymsp[0].minor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} |
| 142655 | 142750 | break; |
| 142656 | | - case 108: /* joinop ::= COMMA|JOIN */ |
| 142751 | + case 110: /* fullname ::= nm DOT nm */ |
| 142752 | +{yymsp[-2].minor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 142753 | + break; |
| 142754 | + case 111: /* joinop ::= COMMA|JOIN */ |
| 142657 | 142755 | { yymsp[0].minor.yy4 = JT_INNER; } |
| 142658 | 142756 | break; |
| 142659 | | - case 109: /* joinop ::= JOIN_KW JOIN */ |
| 142757 | + case 112: /* joinop ::= JOIN_KW JOIN */ |
| 142660 | 142758 | {yymsp[-1].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} |
| 142661 | 142759 | break; |
| 142662 | | - case 110: /* joinop ::= JOIN_KW nm JOIN */ |
| 142760 | + case 113: /* joinop ::= JOIN_KW nm JOIN */ |
| 142663 | 142761 | {yymsp[-2].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} |
| 142664 | 142762 | break; |
| 142665 | | - case 111: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 142763 | + case 114: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 142666 | 142764 | {yymsp[-3].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} |
| 142667 | 142765 | break; |
| 142668 | | - case 112: /* on_opt ::= ON expr */ |
| 142669 | | - case 129: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==129); |
| 142670 | | - case 136: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==136); |
| 142671 | | - case 197: /* case_else ::= ELSE expr */ yytestcase(yyruleno==197); |
| 142766 | + case 115: /* on_opt ::= ON expr */ |
| 142767 | + case 132: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==132); |
| 142768 | + case 139: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==139); |
| 142769 | + case 200: /* case_else ::= ELSE expr */ yytestcase(yyruleno==200); |
| 142672 | 142770 | {yymsp[-1].minor.yy314 = yymsp[0].minor.yy314;} |
| 142673 | 142771 | break; |
| 142674 | | - case 113: /* on_opt ::= */ |
| 142675 | | - case 128: /* having_opt ::= */ yytestcase(yyruleno==128); |
| 142676 | | - case 130: /* limit_opt ::= */ yytestcase(yyruleno==130); |
| 142677 | | - case 135: /* where_opt ::= */ yytestcase(yyruleno==135); |
| 142678 | | - case 198: /* case_else ::= */ yytestcase(yyruleno==198); |
| 142679 | | - case 200: /* case_operand ::= */ yytestcase(yyruleno==200); |
| 142772 | + case 116: /* on_opt ::= */ |
| 142773 | + case 131: /* having_opt ::= */ yytestcase(yyruleno==131); |
| 142774 | + case 133: /* limit_opt ::= */ yytestcase(yyruleno==133); |
| 142775 | + case 138: /* where_opt ::= */ yytestcase(yyruleno==138); |
| 142776 | + case 201: /* case_else ::= */ yytestcase(yyruleno==201); |
| 142777 | + case 203: /* case_operand ::= */ yytestcase(yyruleno==203); |
| 142680 | 142778 | {yymsp[1].minor.yy314 = 0;} |
| 142681 | 142779 | break; |
| 142682 | | - case 115: /* indexed_opt ::= INDEXED BY nm */ |
| 142780 | + case 118: /* indexed_opt ::= INDEXED BY nm */ |
| 142683 | 142781 | {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} |
| 142684 | 142782 | break; |
| 142685 | | - case 116: /* indexed_opt ::= NOT INDEXED */ |
| 142783 | + case 119: /* indexed_opt ::= NOT INDEXED */ |
| 142686 | 142784 | {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} |
| 142687 | 142785 | break; |
| 142688 | | - case 117: /* using_opt ::= USING LP idlist RP */ |
| 142786 | + case 120: /* using_opt ::= USING LP idlist RP */ |
| 142689 | 142787 | {yymsp[-3].minor.yy384 = yymsp[-1].minor.yy384;} |
| 142690 | 142788 | break; |
| 142691 | | - case 118: /* using_opt ::= */ |
| 142692 | | - case 146: /* idlist_opt ::= */ yytestcase(yyruleno==146); |
| 142789 | + case 121: /* using_opt ::= */ |
| 142790 | + case 149: /* idlist_opt ::= */ yytestcase(yyruleno==149); |
| 142693 | 142791 | {yymsp[1].minor.yy384 = 0;} |
| 142694 | 142792 | break; |
| 142695 | | - case 120: /* orderby_opt ::= ORDER BY sortlist */ |
| 142696 | | - case 127: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==127); |
| 142793 | + case 123: /* orderby_opt ::= ORDER BY sortlist */ |
| 142794 | + case 130: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==130); |
| 142697 | 142795 | {yymsp[-2].minor.yy322 = yymsp[0].minor.yy322;} |
| 142698 | 142796 | break; |
| 142699 | | - case 121: /* sortlist ::= sortlist COMMA expr sortorder */ |
| 142797 | + case 124: /* sortlist ::= sortlist COMMA expr sortorder */ |
| 142700 | 142798 | { |
| 142701 | 142799 | yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322,yymsp[-1].minor.yy314); |
| 142702 | 142800 | sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy322,yymsp[0].minor.yy4); |
| 142703 | 142801 | } |
| 142704 | 142802 | break; |
| 142705 | | - case 122: /* sortlist ::= expr sortorder */ |
| 142803 | + case 125: /* sortlist ::= expr sortorder */ |
| 142706 | 142804 | { |
| 142707 | 142805 | yymsp[-1].minor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy314); /*A-overwrites-Y*/ |
| 142708 | 142806 | sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy322,yymsp[0].minor.yy4); |
| 142709 | 142807 | } |
| 142710 | 142808 | break; |
| 142711 | | - case 123: /* sortorder ::= ASC */ |
| 142809 | + case 126: /* sortorder ::= ASC */ |
| 142712 | 142810 | {yymsp[0].minor.yy4 = SQLITE_SO_ASC;} |
| 142713 | 142811 | break; |
| 142714 | | - case 124: /* sortorder ::= DESC */ |
| 142812 | + case 127: /* sortorder ::= DESC */ |
| 142715 | 142813 | {yymsp[0].minor.yy4 = SQLITE_SO_DESC;} |
| 142716 | 142814 | break; |
| 142717 | | - case 125: /* sortorder ::= */ |
| 142815 | + case 128: /* sortorder ::= */ |
| 142718 | 142816 | {yymsp[1].minor.yy4 = SQLITE_SO_UNDEFINED;} |
| 142719 | 142817 | break; |
| 142720 | | - case 131: /* limit_opt ::= LIMIT expr */ |
| 142818 | + case 134: /* limit_opt ::= LIMIT expr */ |
| 142721 | 142819 | {yymsp[-1].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy314,0);} |
| 142722 | 142820 | break; |
| 142723 | | - case 132: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 142821 | + case 135: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 142724 | 142822 | {yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy314,yymsp[0].minor.yy314);} |
| 142725 | 142823 | break; |
| 142726 | | - case 133: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 142824 | + case 136: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 142727 | 142825 | {yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy314,yymsp[-2].minor.yy314);} |
| 142728 | 142826 | break; |
| 142729 | | - case 134: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ |
| 142827 | + case 137: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ |
| 142730 | 142828 | { |
| 142731 | | - sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); |
| 142732 | 142829 | sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); |
| 142733 | 142830 | sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314,0,0); |
| 142734 | 142831 | } |
| 142735 | 142832 | break; |
| 142736 | | - case 137: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ |
| 142833 | + case 140: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ |
| 142737 | 142834 | { |
| 142738 | | - sqlite3WithPush(pParse, yymsp[-7].minor.yy451, 1); |
| 142739 | 142835 | sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); |
| 142740 | 142836 | sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); |
| 142741 | 142837 | sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].minor.yy314,yymsp[-5].minor.yy4,0,0); |
| 142742 | 142838 | } |
| 142743 | 142839 | break; |
| 142744 | | - case 138: /* setlist ::= setlist COMMA nm EQ expr */ |
| 142840 | + case 141: /* setlist ::= setlist COMMA nm EQ expr */ |
| 142745 | 142841 | { |
| 142746 | 142842 | yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[0].minor.yy314); |
| 142747 | 142843 | sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy322, &yymsp[-2].minor.yy0, 1); |
| 142748 | 142844 | } |
| 142749 | 142845 | break; |
| 142750 | | - case 139: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 142846 | + case 142: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 142751 | 142847 | { |
| 142752 | 142848 | yymsp[-6].minor.yy322 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy322, yymsp[-3].minor.yy384, yymsp[0].minor.yy314); |
| 142753 | 142849 | } |
| 142754 | 142850 | break; |
| 142755 | | - case 140: /* setlist ::= nm EQ expr */ |
| 142851 | + case 143: /* setlist ::= nm EQ expr */ |
| 142756 | 142852 | { |
| 142757 | 142853 | yylhsminor.yy322 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy314); |
| 142758 | 142854 | sqlite3ExprListSetName(pParse, yylhsminor.yy322, &yymsp[-2].minor.yy0, 1); |
| 142759 | 142855 | } |
| 142760 | 142856 | yymsp[-2].minor.yy322 = yylhsminor.yy322; |
| 142761 | 142857 | break; |
| 142762 | | - case 141: /* setlist ::= LP idlist RP EQ expr */ |
| 142858 | + case 144: /* setlist ::= LP idlist RP EQ expr */ |
| 142763 | 142859 | { |
| 142764 | 142860 | yymsp[-4].minor.yy322 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy384, yymsp[0].minor.yy314); |
| 142765 | 142861 | } |
| 142766 | 142862 | break; |
| 142767 | | - case 142: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ |
| 142863 | + case 145: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ |
| 142768 | 142864 | { |
| 142769 | | - sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); |
| 142770 | 142865 | sqlite3Insert(pParse, yymsp[-2].minor.yy259, yymsp[0].minor.yy387, yymsp[-1].minor.yy384, yymsp[-4].minor.yy4); |
| 142771 | 142866 | } |
| 142772 | 142867 | break; |
| 142773 | | - case 143: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ |
| 142868 | + case 146: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ |
| 142774 | 142869 | { |
| 142775 | | - sqlite3WithPush(pParse, yymsp[-6].minor.yy451, 1); |
| 142776 | 142870 | sqlite3Insert(pParse, yymsp[-3].minor.yy259, 0, yymsp[-2].minor.yy384, yymsp[-5].minor.yy4); |
| 142777 | 142871 | } |
| 142778 | 142872 | break; |
| 142779 | | - case 147: /* idlist_opt ::= LP idlist RP */ |
| 142873 | + case 150: /* idlist_opt ::= LP idlist RP */ |
| 142780 | 142874 | {yymsp[-2].minor.yy384 = yymsp[-1].minor.yy384;} |
| 142781 | 142875 | break; |
| 142782 | | - case 148: /* idlist ::= idlist COMMA nm */ |
| 142876 | + case 151: /* idlist ::= idlist COMMA nm */ |
| 142783 | 142877 | {yymsp[-2].minor.yy384 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy384,&yymsp[0].minor.yy0);} |
| 142784 | 142878 | break; |
| 142785 | | - case 149: /* idlist ::= nm */ |
| 142879 | + case 152: /* idlist ::= nm */ |
| 142786 | 142880 | {yymsp[0].minor.yy384 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} |
| 142787 | 142881 | break; |
| 142788 | | - case 150: /* expr ::= LP expr RP */ |
| 142882 | + case 153: /* expr ::= LP expr RP */ |
| 142789 | 142883 | {yymsp[-2].minor.yy314 = yymsp[-1].minor.yy314;} |
| 142790 | 142884 | break; |
| 142791 | | - case 151: /* expr ::= ID|INDEXED */ |
| 142792 | | - case 152: /* expr ::= JOIN_KW */ yytestcase(yyruleno==152); |
| 142885 | + case 154: /* expr ::= ID|INDEXED */ |
| 142886 | + case 155: /* expr ::= JOIN_KW */ yytestcase(yyruleno==155); |
| 142793 | 142887 | {yymsp[0].minor.yy314=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 142794 | 142888 | break; |
| 142795 | | - case 153: /* expr ::= nm DOT nm */ |
| 142889 | + case 156: /* expr ::= nm DOT nm */ |
| 142796 | 142890 | { |
| 142797 | 142891 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 142798 | 142892 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); |
| 142799 | 142893 | yylhsminor.yy314 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); |
| 142800 | 142894 | } |
| 142801 | 142895 | yymsp[-2].minor.yy314 = yylhsminor.yy314; |
| 142802 | 142896 | break; |
| 142803 | | - case 154: /* expr ::= nm DOT nm DOT nm */ |
| 142897 | + case 157: /* expr ::= nm DOT nm DOT nm */ |
| 142804 | 142898 | { |
| 142805 | 142899 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); |
| 142806 | 142900 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 142807 | 142901 | Expr *temp3 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); |
| 142808 | 142902 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3); |
| 142809 | 142903 | yylhsminor.yy314 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); |
| 142810 | 142904 | } |
| 142811 | 142905 | yymsp[-4].minor.yy314 = yylhsminor.yy314; |
| 142812 | 142906 | break; |
| 142813 | | - case 155: /* term ::= NULL|FLOAT|BLOB */ |
| 142814 | | - case 156: /* term ::= STRING */ yytestcase(yyruleno==156); |
| 142907 | + case 158: /* term ::= NULL|FLOAT|BLOB */ |
| 142908 | + case 159: /* term ::= STRING */ yytestcase(yyruleno==159); |
| 142815 | 142909 | {yymsp[0].minor.yy314=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 142816 | 142910 | break; |
| 142817 | | - case 157: /* term ::= INTEGER */ |
| 142911 | + case 160: /* term ::= INTEGER */ |
| 142818 | 142912 | { |
| 142819 | 142913 | yylhsminor.yy314 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); |
| 142820 | 142914 | } |
| 142821 | 142915 | yymsp[0].minor.yy314 = yylhsminor.yy314; |
| 142822 | 142916 | break; |
| 142823 | | - case 158: /* expr ::= VARIABLE */ |
| 142917 | + case 161: /* expr ::= VARIABLE */ |
| 142824 | 142918 | { |
| 142825 | 142919 | if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ |
| 142826 | 142920 | u32 n = yymsp[0].minor.yy0.n; |
| 142827 | 142921 | yymsp[0].minor.yy314 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); |
| 142828 | 142922 | sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy314, n); |
| | @@ -142840,22 +142934,22 @@ |
| 142840 | 142934 | if( yymsp[0].minor.yy314 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy314->iTable); |
| 142841 | 142935 | } |
| 142842 | 142936 | } |
| 142843 | 142937 | } |
| 142844 | 142938 | break; |
| 142845 | | - case 159: /* expr ::= expr COLLATE ID|STRING */ |
| 142939 | + case 162: /* expr ::= expr COLLATE ID|STRING */ |
| 142846 | 142940 | { |
| 142847 | 142941 | yymsp[-2].minor.yy314 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy314, &yymsp[0].minor.yy0, 1); |
| 142848 | 142942 | } |
| 142849 | 142943 | break; |
| 142850 | | - case 160: /* expr ::= CAST LP expr AS typetoken RP */ |
| 142944 | + case 163: /* expr ::= CAST LP expr AS typetoken RP */ |
| 142851 | 142945 | { |
| 142852 | 142946 | yymsp[-5].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); |
| 142853 | 142947 | sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy314, yymsp[-3].minor.yy314, 0); |
| 142854 | 142948 | } |
| 142855 | 142949 | break; |
| 142856 | | - case 161: /* expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 142950 | + case 164: /* expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 142857 | 142951 | { |
| 142858 | 142952 | if( yymsp[-1].minor.yy322 && yymsp[-1].minor.yy322->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ |
| 142859 | 142953 | sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); |
| 142860 | 142954 | } |
| 142861 | 142955 | yylhsminor.yy314 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy322, &yymsp[-4].minor.yy0); |
| | @@ -142863,23 +142957,23 @@ |
| 142863 | 142957 | yylhsminor.yy314->flags |= EP_Distinct; |
| 142864 | 142958 | } |
| 142865 | 142959 | } |
| 142866 | 142960 | yymsp[-4].minor.yy314 = yylhsminor.yy314; |
| 142867 | 142961 | break; |
| 142868 | | - case 162: /* expr ::= ID|INDEXED LP STAR RP */ |
| 142962 | + case 165: /* expr ::= ID|INDEXED LP STAR RP */ |
| 142869 | 142963 | { |
| 142870 | 142964 | yylhsminor.yy314 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); |
| 142871 | 142965 | } |
| 142872 | 142966 | yymsp[-3].minor.yy314 = yylhsminor.yy314; |
| 142873 | 142967 | break; |
| 142874 | | - case 163: /* term ::= CTIME_KW */ |
| 142968 | + case 166: /* term ::= CTIME_KW */ |
| 142875 | 142969 | { |
| 142876 | 142970 | yylhsminor.yy314 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); |
| 142877 | 142971 | } |
| 142878 | 142972 | yymsp[0].minor.yy314 = yylhsminor.yy314; |
| 142879 | 142973 | break; |
| 142880 | | - case 164: /* expr ::= LP nexprlist COMMA expr RP */ |
| 142974 | + case 167: /* expr ::= LP nexprlist COMMA expr RP */ |
| 142881 | 142975 | { |
| 142882 | 142976 | ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy322, yymsp[-1].minor.yy314); |
| 142883 | 142977 | yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); |
| 142884 | 142978 | if( yymsp[-4].minor.yy314 ){ |
| 142885 | 142979 | yymsp[-4].minor.yy314->x.pList = pList; |
| | @@ -142886,24 +142980,24 @@ |
| 142886 | 142980 | }else{ |
| 142887 | 142981 | sqlite3ExprListDelete(pParse->db, pList); |
| 142888 | 142982 | } |
| 142889 | 142983 | } |
| 142890 | 142984 | break; |
| 142891 | | - case 165: /* expr ::= expr AND expr */ |
| 142892 | | - case 166: /* expr ::= expr OR expr */ yytestcase(yyruleno==166); |
| 142893 | | - case 167: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==167); |
| 142894 | | - case 168: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==168); |
| 142895 | | - case 169: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==169); |
| 142896 | | - case 170: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==170); |
| 142897 | | - case 171: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==171); |
| 142898 | | - case 172: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==172); |
| 142985 | + case 168: /* expr ::= expr AND expr */ |
| 142986 | + case 169: /* expr ::= expr OR expr */ yytestcase(yyruleno==169); |
| 142987 | + case 170: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==170); |
| 142988 | + case 171: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==171); |
| 142989 | + case 172: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==172); |
| 142990 | + case 173: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==173); |
| 142991 | + case 174: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==174); |
| 142992 | + case 175: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==175); |
| 142899 | 142993 | {yymsp[-2].minor.yy314=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy314,yymsp[0].minor.yy314);} |
| 142900 | 142994 | break; |
| 142901 | | - case 173: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 142995 | + case 176: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 142902 | 142996 | {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} |
| 142903 | 142997 | break; |
| 142904 | | - case 174: /* expr ::= expr likeop expr */ |
| 142998 | + case 177: /* expr ::= expr likeop expr */ |
| 142905 | 142999 | { |
| 142906 | 143000 | ExprList *pList; |
| 142907 | 143001 | int bNot = yymsp[-1].minor.yy0.n & 0x80000000; |
| 142908 | 143002 | yymsp[-1].minor.yy0.n &= 0x7fffffff; |
| 142909 | 143003 | pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy314); |
| | @@ -142911,11 +143005,11 @@ |
| 142911 | 143005 | yymsp[-2].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0); |
| 142912 | 143006 | if( bNot ) yymsp[-2].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy314, 0); |
| 142913 | 143007 | if( yymsp[-2].minor.yy314 ) yymsp[-2].minor.yy314->flags |= EP_InfixFunc; |
| 142914 | 143008 | } |
| 142915 | 143009 | break; |
| 142916 | | - case 175: /* expr ::= expr likeop expr ESCAPE expr */ |
| 143010 | + case 178: /* expr ::= expr likeop expr ESCAPE expr */ |
| 142917 | 143011 | { |
| 142918 | 143012 | ExprList *pList; |
| 142919 | 143013 | int bNot = yymsp[-3].minor.yy0.n & 0x80000000; |
| 142920 | 143014 | yymsp[-3].minor.yy0.n &= 0x7fffffff; |
| 142921 | 143015 | pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); |
| | @@ -142924,43 +143018,43 @@ |
| 142924 | 143018 | yymsp[-4].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0); |
| 142925 | 143019 | if( bNot ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); |
| 142926 | 143020 | if( yymsp[-4].minor.yy314 ) yymsp[-4].minor.yy314->flags |= EP_InfixFunc; |
| 142927 | 143021 | } |
| 142928 | 143022 | break; |
| 142929 | | - case 176: /* expr ::= expr ISNULL|NOTNULL */ |
| 143023 | + case 179: /* expr ::= expr ISNULL|NOTNULL */ |
| 142930 | 143024 | {yymsp[-1].minor.yy314 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy314,0);} |
| 142931 | 143025 | break; |
| 142932 | | - case 177: /* expr ::= expr NOT NULL */ |
| 143026 | + case 180: /* expr ::= expr NOT NULL */ |
| 142933 | 143027 | {yymsp[-2].minor.yy314 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy314,0);} |
| 142934 | 143028 | break; |
| 142935 | | - case 178: /* expr ::= expr IS expr */ |
| 143029 | + case 181: /* expr ::= expr IS expr */ |
| 142936 | 143030 | { |
| 142937 | 143031 | yymsp[-2].minor.yy314 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy314,yymsp[0].minor.yy314); |
| 142938 | 143032 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy314, yymsp[-2].minor.yy314, TK_ISNULL); |
| 142939 | 143033 | } |
| 142940 | 143034 | break; |
| 142941 | | - case 179: /* expr ::= expr IS NOT expr */ |
| 143035 | + case 182: /* expr ::= expr IS NOT expr */ |
| 142942 | 143036 | { |
| 142943 | 143037 | yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy314,yymsp[0].minor.yy314); |
| 142944 | 143038 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy314, yymsp[-3].minor.yy314, TK_NOTNULL); |
| 142945 | 143039 | } |
| 142946 | 143040 | break; |
| 142947 | | - case 180: /* expr ::= NOT expr */ |
| 142948 | | - case 181: /* expr ::= BITNOT expr */ yytestcase(yyruleno==181); |
| 143041 | + case 183: /* expr ::= NOT expr */ |
| 143042 | + case 184: /* expr ::= BITNOT expr */ yytestcase(yyruleno==184); |
| 142949 | 143043 | {yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy314, 0);/*A-overwrites-B*/} |
| 142950 | 143044 | break; |
| 142951 | | - case 182: /* expr ::= MINUS expr */ |
| 143045 | + case 185: /* expr ::= MINUS expr */ |
| 142952 | 143046 | {yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy314, 0);} |
| 142953 | 143047 | break; |
| 142954 | | - case 183: /* expr ::= PLUS expr */ |
| 143048 | + case 186: /* expr ::= PLUS expr */ |
| 142955 | 143049 | {yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, TK_UPLUS, yymsp[0].minor.yy314, 0);} |
| 142956 | 143050 | break; |
| 142957 | | - case 184: /* between_op ::= BETWEEN */ |
| 142958 | | - case 187: /* in_op ::= IN */ yytestcase(yyruleno==187); |
| 143051 | + case 187: /* between_op ::= BETWEEN */ |
| 143052 | + case 190: /* in_op ::= IN */ yytestcase(yyruleno==190); |
| 142959 | 143053 | {yymsp[0].minor.yy4 = 0;} |
| 142960 | 143054 | break; |
| 142961 | | - case 186: /* expr ::= expr between_op expr AND expr */ |
| 143055 | + case 189: /* expr ::= expr between_op expr AND expr */ |
| 142962 | 143056 | { |
| 142963 | 143057 | ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); |
| 142964 | 143058 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy314); |
| 142965 | 143059 | yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy314, 0); |
| 142966 | 143060 | if( yymsp[-4].minor.yy314 ){ |
| | @@ -142969,11 +143063,11 @@ |
| 142969 | 143063 | sqlite3ExprListDelete(pParse->db, pList); |
| 142970 | 143064 | } |
| 142971 | 143065 | if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); |
| 142972 | 143066 | } |
| 142973 | 143067 | break; |
| 142974 | | - case 189: /* expr ::= expr in_op LP exprlist RP */ |
| 143068 | + case 192: /* expr ::= expr in_op LP exprlist RP */ |
| 142975 | 143069 | { |
| 142976 | 143070 | if( yymsp[-1].minor.yy322==0 ){ |
| 142977 | 143071 | /* Expressions of the form |
| 142978 | 143072 | ** |
| 142979 | 143073 | ** expr1 IN () |
| | @@ -143021,41 +143115,41 @@ |
| 143021 | 143115 | } |
| 143022 | 143116 | if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); |
| 143023 | 143117 | } |
| 143024 | 143118 | } |
| 143025 | 143119 | break; |
| 143026 | | - case 190: /* expr ::= LP select RP */ |
| 143120 | + case 193: /* expr ::= LP select RP */ |
| 143027 | 143121 | { |
| 143028 | 143122 | yymsp[-2].minor.yy314 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); |
| 143029 | 143123 | sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy314, yymsp[-1].minor.yy387); |
| 143030 | 143124 | } |
| 143031 | 143125 | break; |
| 143032 | | - case 191: /* expr ::= expr in_op LP select RP */ |
| 143126 | + case 194: /* expr ::= expr in_op LP select RP */ |
| 143033 | 143127 | { |
| 143034 | 143128 | yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); |
| 143035 | 143129 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy314, yymsp[-1].minor.yy387); |
| 143036 | 143130 | if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); |
| 143037 | 143131 | } |
| 143038 | 143132 | break; |
| 143039 | | - case 192: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 143133 | + case 195: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 143040 | 143134 | { |
| 143041 | 143135 | SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); |
| 143042 | 143136 | Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0); |
| 143043 | 143137 | if( yymsp[0].minor.yy322 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy322); |
| 143044 | 143138 | yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); |
| 143045 | 143139 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy314, pSelect); |
| 143046 | 143140 | if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); |
| 143047 | 143141 | } |
| 143048 | 143142 | break; |
| 143049 | | - case 193: /* expr ::= EXISTS LP select RP */ |
| 143143 | + case 196: /* expr ::= EXISTS LP select RP */ |
| 143050 | 143144 | { |
| 143051 | 143145 | Expr *p; |
| 143052 | 143146 | p = yymsp[-3].minor.yy314 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); |
| 143053 | 143147 | sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy387); |
| 143054 | 143148 | } |
| 143055 | 143149 | break; |
| 143056 | | - case 194: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 143150 | + case 197: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 143057 | 143151 | { |
| 143058 | 143152 | yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy314, 0); |
| 143059 | 143153 | if( yymsp[-4].minor.yy314 ){ |
| 143060 | 143154 | yymsp[-4].minor.yy314->x.pList = yymsp[-1].minor.yy314 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[-1].minor.yy314) : yymsp[-2].minor.yy322; |
| 143061 | 143155 | sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy314); |
| | @@ -143063,334 +143157,330 @@ |
| 143063 | 143157 | sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy322); |
| 143064 | 143158 | sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy314); |
| 143065 | 143159 | } |
| 143066 | 143160 | } |
| 143067 | 143161 | break; |
| 143068 | | - case 195: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 143162 | + case 198: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 143069 | 143163 | { |
| 143070 | 143164 | yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[-2].minor.yy314); |
| 143071 | 143165 | yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[0].minor.yy314); |
| 143072 | 143166 | } |
| 143073 | 143167 | break; |
| 143074 | | - case 196: /* case_exprlist ::= WHEN expr THEN expr */ |
| 143168 | + case 199: /* case_exprlist ::= WHEN expr THEN expr */ |
| 143075 | 143169 | { |
| 143076 | 143170 | yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); |
| 143077 | 143171 | yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322, yymsp[0].minor.yy314); |
| 143078 | 143172 | } |
| 143079 | 143173 | break; |
| 143080 | | - case 199: /* case_operand ::= expr */ |
| 143174 | + case 202: /* case_operand ::= expr */ |
| 143081 | 143175 | {yymsp[0].minor.yy314 = yymsp[0].minor.yy314; /*A-overwrites-X*/} |
| 143082 | 143176 | break; |
| 143083 | | - case 202: /* nexprlist ::= nexprlist COMMA expr */ |
| 143177 | + case 205: /* nexprlist ::= nexprlist COMMA expr */ |
| 143084 | 143178 | {yymsp[-2].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[0].minor.yy314);} |
| 143085 | 143179 | break; |
| 143086 | | - case 203: /* nexprlist ::= expr */ |
| 143180 | + case 206: /* nexprlist ::= expr */ |
| 143087 | 143181 | {yymsp[0].minor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy314); /*A-overwrites-Y*/} |
| 143088 | 143182 | break; |
| 143089 | | - case 205: /* paren_exprlist ::= LP exprlist RP */ |
| 143090 | | - case 210: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==210); |
| 143183 | + case 208: /* paren_exprlist ::= LP exprlist RP */ |
| 143184 | + case 213: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==213); |
| 143091 | 143185 | {yymsp[-2].minor.yy322 = yymsp[-1].minor.yy322;} |
| 143092 | 143186 | break; |
| 143093 | | - case 206: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 143187 | + case 209: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 143094 | 143188 | { |
| 143095 | 143189 | sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, |
| 143096 | 143190 | sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy322, yymsp[-10].minor.yy4, |
| 143097 | 143191 | &yymsp[-11].minor.yy0, yymsp[0].minor.yy314, SQLITE_SO_ASC, yymsp[-8].minor.yy4, SQLITE_IDXTYPE_APPDEF); |
| 143098 | 143192 | } |
| 143099 | 143193 | break; |
| 143100 | | - case 207: /* uniqueflag ::= UNIQUE */ |
| 143101 | | - case 247: /* raisetype ::= ABORT */ yytestcase(yyruleno==247); |
| 143194 | + case 210: /* uniqueflag ::= UNIQUE */ |
| 143195 | + case 250: /* raisetype ::= ABORT */ yytestcase(yyruleno==250); |
| 143102 | 143196 | {yymsp[0].minor.yy4 = OE_Abort;} |
| 143103 | 143197 | break; |
| 143104 | | - case 208: /* uniqueflag ::= */ |
| 143198 | + case 211: /* uniqueflag ::= */ |
| 143105 | 143199 | {yymsp[1].minor.yy4 = OE_None;} |
| 143106 | 143200 | break; |
| 143107 | | - case 211: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 143201 | + case 214: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 143108 | 143202 | { |
| 143109 | 143203 | yymsp[-4].minor.yy322 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy322, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); |
| 143110 | 143204 | } |
| 143111 | 143205 | break; |
| 143112 | | - case 212: /* eidlist ::= nm collate sortorder */ |
| 143206 | + case 215: /* eidlist ::= nm collate sortorder */ |
| 143113 | 143207 | { |
| 143114 | 143208 | yymsp[-2].minor.yy322 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); /*A-overwrites-Y*/ |
| 143115 | 143209 | } |
| 143116 | 143210 | break; |
| 143117 | | - case 215: /* cmd ::= DROP INDEX ifexists fullname */ |
| 143211 | + case 218: /* cmd ::= DROP INDEX ifexists fullname */ |
| 143118 | 143212 | {sqlite3DropIndex(pParse, yymsp[0].minor.yy259, yymsp[-1].minor.yy4);} |
| 143119 | 143213 | break; |
| 143120 | | - case 216: /* cmd ::= VACUUM */ |
| 143214 | + case 219: /* cmd ::= VACUUM */ |
| 143121 | 143215 | {sqlite3Vacuum(pParse,0);} |
| 143122 | 143216 | break; |
| 143123 | | - case 217: /* cmd ::= VACUUM nm */ |
| 143217 | + case 220: /* cmd ::= VACUUM nm */ |
| 143124 | 143218 | {sqlite3Vacuum(pParse,&yymsp[0].minor.yy0);} |
| 143125 | 143219 | break; |
| 143126 | | - case 218: /* cmd ::= PRAGMA nm dbnm */ |
| 143220 | + case 221: /* cmd ::= PRAGMA nm dbnm */ |
| 143127 | 143221 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 143128 | 143222 | break; |
| 143129 | | - case 219: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 143223 | + case 222: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 143130 | 143224 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} |
| 143131 | 143225 | break; |
| 143132 | | - case 220: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 143226 | + case 223: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 143133 | 143227 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} |
| 143134 | 143228 | break; |
| 143135 | | - case 221: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 143229 | + case 224: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 143136 | 143230 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} |
| 143137 | 143231 | break; |
| 143138 | | - case 222: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 143232 | + case 225: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 143139 | 143233 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} |
| 143140 | 143234 | break; |
| 143141 | | - case 225: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 143235 | + case 228: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 143142 | 143236 | { |
| 143143 | 143237 | Token all; |
| 143144 | 143238 | all.z = yymsp[-3].minor.yy0.z; |
| 143145 | 143239 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 143146 | 143240 | sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy203, &all); |
| 143147 | 143241 | } |
| 143148 | 143242 | break; |
| 143149 | | - case 226: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 143243 | + case 229: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 143150 | 143244 | { |
| 143151 | 143245 | sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy4, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy259, yymsp[0].minor.yy314, yymsp[-10].minor.yy4, yymsp[-8].minor.yy4); |
| 143152 | 143246 | yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ |
| 143153 | 143247 | } |
| 143154 | 143248 | break; |
| 143155 | | - case 227: /* trigger_time ::= BEFORE|AFTER */ |
| 143249 | + case 230: /* trigger_time ::= BEFORE|AFTER */ |
| 143156 | 143250 | { yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-X*/ } |
| 143157 | 143251 | break; |
| 143158 | | - case 228: /* trigger_time ::= INSTEAD OF */ |
| 143252 | + case 231: /* trigger_time ::= INSTEAD OF */ |
| 143159 | 143253 | { yymsp[-1].minor.yy4 = TK_INSTEAD;} |
| 143160 | 143254 | break; |
| 143161 | | - case 229: /* trigger_time ::= */ |
| 143255 | + case 232: /* trigger_time ::= */ |
| 143162 | 143256 | { yymsp[1].minor.yy4 = TK_BEFORE; } |
| 143163 | 143257 | break; |
| 143164 | | - case 230: /* trigger_event ::= DELETE|INSERT */ |
| 143165 | | - case 231: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==231); |
| 143258 | + case 233: /* trigger_event ::= DELETE|INSERT */ |
| 143259 | + case 234: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==234); |
| 143166 | 143260 | {yymsp[0].minor.yy90.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy90.b = 0;} |
| 143167 | 143261 | break; |
| 143168 | | - case 232: /* trigger_event ::= UPDATE OF idlist */ |
| 143262 | + case 235: /* trigger_event ::= UPDATE OF idlist */ |
| 143169 | 143263 | {yymsp[-2].minor.yy90.a = TK_UPDATE; yymsp[-2].minor.yy90.b = yymsp[0].minor.yy384;} |
| 143170 | 143264 | break; |
| 143171 | | - case 233: /* when_clause ::= */ |
| 143172 | | - case 252: /* key_opt ::= */ yytestcase(yyruleno==252); |
| 143265 | + case 236: /* when_clause ::= */ |
| 143266 | + case 255: /* key_opt ::= */ yytestcase(yyruleno==255); |
| 143173 | 143267 | { yymsp[1].minor.yy314 = 0; } |
| 143174 | 143268 | break; |
| 143175 | | - case 234: /* when_clause ::= WHEN expr */ |
| 143176 | | - case 253: /* key_opt ::= KEY expr */ yytestcase(yyruleno==253); |
| 143269 | + case 237: /* when_clause ::= WHEN expr */ |
| 143270 | + case 256: /* key_opt ::= KEY expr */ yytestcase(yyruleno==256); |
| 143177 | 143271 | { yymsp[-1].minor.yy314 = yymsp[0].minor.yy314; } |
| 143178 | 143272 | break; |
| 143179 | | - case 235: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 143273 | + case 238: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 143180 | 143274 | { |
| 143181 | 143275 | assert( yymsp[-2].minor.yy203!=0 ); |
| 143182 | 143276 | yymsp[-2].minor.yy203->pLast->pNext = yymsp[-1].minor.yy203; |
| 143183 | 143277 | yymsp[-2].minor.yy203->pLast = yymsp[-1].minor.yy203; |
| 143184 | 143278 | } |
| 143185 | 143279 | break; |
| 143186 | | - case 236: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 143280 | + case 239: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 143187 | 143281 | { |
| 143188 | 143282 | assert( yymsp[-1].minor.yy203!=0 ); |
| 143189 | 143283 | yymsp[-1].minor.yy203->pLast = yymsp[-1].minor.yy203; |
| 143190 | 143284 | } |
| 143191 | 143285 | break; |
| 143192 | | - case 237: /* trnm ::= nm DOT nm */ |
| 143286 | + case 240: /* trnm ::= nm DOT nm */ |
| 143193 | 143287 | { |
| 143194 | 143288 | yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; |
| 143195 | 143289 | sqlite3ErrorMsg(pParse, |
| 143196 | 143290 | "qualified table names are not allowed on INSERT, UPDATE, and DELETE " |
| 143197 | 143291 | "statements within triggers"); |
| 143198 | 143292 | } |
| 143199 | 143293 | break; |
| 143200 | | - case 238: /* tridxby ::= INDEXED BY nm */ |
| 143294 | + case 241: /* tridxby ::= INDEXED BY nm */ |
| 143201 | 143295 | { |
| 143202 | 143296 | sqlite3ErrorMsg(pParse, |
| 143203 | 143297 | "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " |
| 143204 | 143298 | "within triggers"); |
| 143205 | 143299 | } |
| 143206 | 143300 | break; |
| 143207 | | - case 239: /* tridxby ::= NOT INDEXED */ |
| 143301 | + case 242: /* tridxby ::= NOT INDEXED */ |
| 143208 | 143302 | { |
| 143209 | 143303 | sqlite3ErrorMsg(pParse, |
| 143210 | 143304 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 143211 | 143305 | "within triggers"); |
| 143212 | 143306 | } |
| 143213 | 143307 | break; |
| 143214 | | - case 240: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 143308 | + case 243: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 143215 | 143309 | {yylhsminor.yy203 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy314, yymsp[-6].minor.yy4, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy336);} |
| 143216 | 143310 | yymsp[-7].minor.yy203 = yylhsminor.yy203; |
| 143217 | 143311 | break; |
| 143218 | | - case 241: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ |
| 143312 | + case 244: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ |
| 143219 | 143313 | {yylhsminor.yy203 = sqlite3TriggerInsertStep(pParse->db,&yymsp[-3].minor.yy0,yymsp[-2].minor.yy384,yymsp[-1].minor.yy387,yymsp[-5].minor.yy4,yymsp[-6].minor.yy336,yymsp[0].minor.yy336);/*yylhsminor.yy203-overwrites-yymsp[-5].minor.yy4*/} |
| 143220 | 143314 | yymsp[-6].minor.yy203 = yylhsminor.yy203; |
| 143221 | 143315 | break; |
| 143222 | | - case 242: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 143316 | + case 245: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 143223 | 143317 | {yylhsminor.yy203 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy314, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy336);} |
| 143224 | 143318 | yymsp[-5].minor.yy203 = yylhsminor.yy203; |
| 143225 | 143319 | break; |
| 143226 | | - case 243: /* trigger_cmd ::= scanpt select scanpt */ |
| 143320 | + case 246: /* trigger_cmd ::= scanpt select scanpt */ |
| 143227 | 143321 | {yylhsminor.yy203 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy387, yymsp[-2].minor.yy336, yymsp[0].minor.yy336); /*yylhsminor.yy203-overwrites-yymsp[-1].minor.yy387*/} |
| 143228 | 143322 | yymsp[-2].minor.yy203 = yylhsminor.yy203; |
| 143229 | 143323 | break; |
| 143230 | | - case 244: /* expr ::= RAISE LP IGNORE RP */ |
| 143324 | + case 247: /* expr ::= RAISE LP IGNORE RP */ |
| 143231 | 143325 | { |
| 143232 | 143326 | yymsp[-3].minor.yy314 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); |
| 143233 | 143327 | if( yymsp[-3].minor.yy314 ){ |
| 143234 | 143328 | yymsp[-3].minor.yy314->affinity = OE_Ignore; |
| 143235 | 143329 | } |
| 143236 | 143330 | } |
| 143237 | 143331 | break; |
| 143238 | | - case 245: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 143332 | + case 248: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 143239 | 143333 | { |
| 143240 | 143334 | yymsp[-5].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); |
| 143241 | 143335 | if( yymsp[-5].minor.yy314 ) { |
| 143242 | 143336 | yymsp[-5].minor.yy314->affinity = (char)yymsp[-3].minor.yy4; |
| 143243 | 143337 | } |
| 143244 | 143338 | } |
| 143245 | 143339 | break; |
| 143246 | | - case 246: /* raisetype ::= ROLLBACK */ |
| 143340 | + case 249: /* raisetype ::= ROLLBACK */ |
| 143247 | 143341 | {yymsp[0].minor.yy4 = OE_Rollback;} |
| 143248 | 143342 | break; |
| 143249 | | - case 248: /* raisetype ::= FAIL */ |
| 143343 | + case 251: /* raisetype ::= FAIL */ |
| 143250 | 143344 | {yymsp[0].minor.yy4 = OE_Fail;} |
| 143251 | 143345 | break; |
| 143252 | | - case 249: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 143346 | + case 252: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 143253 | 143347 | { |
| 143254 | 143348 | sqlite3DropTrigger(pParse,yymsp[0].minor.yy259,yymsp[-1].minor.yy4); |
| 143255 | 143349 | } |
| 143256 | 143350 | break; |
| 143257 | | - case 250: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 143351 | + case 253: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 143258 | 143352 | { |
| 143259 | 143353 | sqlite3Attach(pParse, yymsp[-3].minor.yy314, yymsp[-1].minor.yy314, yymsp[0].minor.yy314); |
| 143260 | 143354 | } |
| 143261 | 143355 | break; |
| 143262 | | - case 251: /* cmd ::= DETACH database_kw_opt expr */ |
| 143356 | + case 254: /* cmd ::= DETACH database_kw_opt expr */ |
| 143263 | 143357 | { |
| 143264 | 143358 | sqlite3Detach(pParse, yymsp[0].minor.yy314); |
| 143265 | 143359 | } |
| 143266 | 143360 | break; |
| 143267 | | - case 254: /* cmd ::= REINDEX */ |
| 143361 | + case 257: /* cmd ::= REINDEX */ |
| 143268 | 143362 | {sqlite3Reindex(pParse, 0, 0);} |
| 143269 | 143363 | break; |
| 143270 | | - case 255: /* cmd ::= REINDEX nm dbnm */ |
| 143364 | + case 258: /* cmd ::= REINDEX nm dbnm */ |
| 143271 | 143365 | {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 143272 | 143366 | break; |
| 143273 | | - case 256: /* cmd ::= ANALYZE */ |
| 143367 | + case 259: /* cmd ::= ANALYZE */ |
| 143274 | 143368 | {sqlite3Analyze(pParse, 0, 0);} |
| 143275 | 143369 | break; |
| 143276 | | - case 257: /* cmd ::= ANALYZE nm dbnm */ |
| 143370 | + case 260: /* cmd ::= ANALYZE nm dbnm */ |
| 143277 | 143371 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 143278 | 143372 | break; |
| 143279 | | - case 258: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 143373 | + case 261: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 143280 | 143374 | { |
| 143281 | 143375 | sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy259,&yymsp[0].minor.yy0); |
| 143282 | 143376 | } |
| 143283 | 143377 | break; |
| 143284 | | - case 259: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 143378 | + case 262: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 143285 | 143379 | { |
| 143286 | 143380 | yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; |
| 143287 | 143381 | sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); |
| 143288 | 143382 | } |
| 143289 | 143383 | break; |
| 143290 | | - case 260: /* add_column_fullname ::= fullname */ |
| 143384 | + case 263: /* add_column_fullname ::= fullname */ |
| 143291 | 143385 | { |
| 143292 | 143386 | disableLookaside(pParse); |
| 143293 | 143387 | sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); |
| 143294 | 143388 | } |
| 143295 | 143389 | break; |
| 143296 | | - case 261: /* cmd ::= create_vtab */ |
| 143390 | + case 264: /* cmd ::= create_vtab */ |
| 143297 | 143391 | {sqlite3VtabFinishParse(pParse,0);} |
| 143298 | 143392 | break; |
| 143299 | | - case 262: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 143393 | + case 265: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 143300 | 143394 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 143301 | 143395 | break; |
| 143302 | | - case 263: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 143396 | + case 266: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 143303 | 143397 | { |
| 143304 | 143398 | sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy4); |
| 143305 | 143399 | } |
| 143306 | 143400 | break; |
| 143307 | | - case 264: /* vtabarg ::= */ |
| 143401 | + case 267: /* vtabarg ::= */ |
| 143308 | 143402 | {sqlite3VtabArgInit(pParse);} |
| 143309 | 143403 | break; |
| 143310 | | - case 265: /* vtabargtoken ::= ANY */ |
| 143311 | | - case 266: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==266); |
| 143312 | | - case 267: /* lp ::= LP */ yytestcase(yyruleno==267); |
| 143404 | + case 268: /* vtabargtoken ::= ANY */ |
| 143405 | + case 269: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==269); |
| 143406 | + case 270: /* lp ::= LP */ yytestcase(yyruleno==270); |
| 143313 | 143407 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 143314 | 143408 | break; |
| 143315 | | - case 268: /* with ::= */ |
| 143316 | | -{yymsp[1].minor.yy451 = 0;} |
| 143317 | | - break; |
| 143318 | | - case 269: /* with ::= WITH wqlist */ |
| 143319 | | -{ yymsp[-1].minor.yy451 = yymsp[0].minor.yy451; } |
| 143320 | | - break; |
| 143321 | | - case 270: /* with ::= WITH RECURSIVE wqlist */ |
| 143322 | | -{ yymsp[-2].minor.yy451 = yymsp[0].minor.yy451; } |
| 143323 | | - break; |
| 143324 | | - case 271: /* wqlist ::= nm eidlist_opt AS LP select RP */ |
| 143409 | + case 271: /* with ::= WITH wqlist */ |
| 143410 | + case 272: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==272); |
| 143411 | +{ sqlite3WithPush(pParse, yymsp[0].minor.yy451, 1); } |
| 143412 | + break; |
| 143413 | + case 273: /* wqlist ::= nm eidlist_opt AS LP select RP */ |
| 143325 | 143414 | { |
| 143326 | 143415 | yymsp[-5].minor.yy451 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); /*A-overwrites-X*/ |
| 143327 | 143416 | } |
| 143328 | 143417 | break; |
| 143329 | | - case 272: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 143418 | + case 274: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 143330 | 143419 | { |
| 143331 | 143420 | yymsp[-7].minor.yy451 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy451, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); |
| 143332 | 143421 | } |
| 143333 | 143422 | break; |
| 143334 | 143423 | default: |
| 143335 | | - /* (273) input ::= cmdlist */ yytestcase(yyruleno==273); |
| 143336 | | - /* (274) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==274); |
| 143337 | | - /* (275) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=275); |
| 143338 | | - /* (276) ecmd ::= SEMI */ yytestcase(yyruleno==276); |
| 143339 | | - /* (277) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==277); |
| 143340 | | - /* (278) explain ::= */ yytestcase(yyruleno==278); |
| 143341 | | - /* (279) trans_opt ::= */ yytestcase(yyruleno==279); |
| 143342 | | - /* (280) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==280); |
| 143343 | | - /* (281) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==281); |
| 143344 | | - /* (282) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==282); |
| 143345 | | - /* (283) savepoint_opt ::= */ yytestcase(yyruleno==283); |
| 143346 | | - /* (284) cmd ::= create_table create_table_args */ yytestcase(yyruleno==284); |
| 143347 | | - /* (285) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==285); |
| 143348 | | - /* (286) columnlist ::= columnname carglist */ yytestcase(yyruleno==286); |
| 143349 | | - /* (287) nm ::= ID|INDEXED */ yytestcase(yyruleno==287); |
| 143350 | | - /* (288) nm ::= STRING */ yytestcase(yyruleno==288); |
| 143351 | | - /* (289) nm ::= JOIN_KW */ yytestcase(yyruleno==289); |
| 143352 | | - /* (290) typetoken ::= typename */ yytestcase(yyruleno==290); |
| 143353 | | - /* (291) typename ::= ID|STRING */ yytestcase(yyruleno==291); |
| 143354 | | - /* (292) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=292); |
| 143355 | | - /* (293) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=293); |
| 143356 | | - /* (294) carglist ::= carglist ccons */ yytestcase(yyruleno==294); |
| 143357 | | - /* (295) carglist ::= */ yytestcase(yyruleno==295); |
| 143358 | | - /* (296) ccons ::= NULL onconf */ yytestcase(yyruleno==296); |
| 143359 | | - /* (297) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==297); |
| 143360 | | - /* (298) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==298); |
| 143361 | | - /* (299) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=299); |
| 143362 | | - /* (300) tconscomma ::= */ yytestcase(yyruleno==300); |
| 143363 | | - /* (301) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=301); |
| 143364 | | - /* (302) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=302); |
| 143365 | | - /* (303) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=303); |
| 143366 | | - /* (304) oneselect ::= values */ yytestcase(yyruleno==304); |
| 143367 | | - /* (305) sclp ::= selcollist COMMA */ yytestcase(yyruleno==305); |
| 143368 | | - /* (306) as ::= ID|STRING */ yytestcase(yyruleno==306); |
| 143369 | | - /* (307) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=307); |
| 143370 | | - /* (308) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==308); |
| 143371 | | - /* (309) exprlist ::= nexprlist */ yytestcase(yyruleno==309); |
| 143372 | | - /* (310) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=310); |
| 143373 | | - /* (311) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=311); |
| 143374 | | - /* (312) nmnum ::= ON */ yytestcase(yyruleno==312); |
| 143375 | | - /* (313) nmnum ::= DELETE */ yytestcase(yyruleno==313); |
| 143376 | | - /* (314) nmnum ::= DEFAULT */ yytestcase(yyruleno==314); |
| 143377 | | - /* (315) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==315); |
| 143378 | | - /* (316) foreach_clause ::= */ yytestcase(yyruleno==316); |
| 143379 | | - /* (317) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==317); |
| 143380 | | - /* (318) trnm ::= nm */ yytestcase(yyruleno==318); |
| 143381 | | - /* (319) tridxby ::= */ yytestcase(yyruleno==319); |
| 143382 | | - /* (320) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==320); |
| 143383 | | - /* (321) database_kw_opt ::= */ yytestcase(yyruleno==321); |
| 143384 | | - /* (322) kwcolumn_opt ::= */ yytestcase(yyruleno==322); |
| 143385 | | - /* (323) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==323); |
| 143386 | | - /* (324) vtabarglist ::= vtabarg */ yytestcase(yyruleno==324); |
| 143387 | | - /* (325) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==325); |
| 143388 | | - /* (326) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==326); |
| 143389 | | - /* (327) anylist ::= */ yytestcase(yyruleno==327); |
| 143390 | | - /* (328) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==328); |
| 143391 | | - /* (329) anylist ::= anylist ANY */ yytestcase(yyruleno==329); |
| 143424 | + /* (275) input ::= cmdlist */ yytestcase(yyruleno==275); |
| 143425 | + /* (276) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==276); |
| 143426 | + /* (277) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=277); |
| 143427 | + /* (278) ecmd ::= SEMI */ yytestcase(yyruleno==278); |
| 143428 | + /* (279) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==279); |
| 143429 | + /* (280) explain ::= */ yytestcase(yyruleno==280); |
| 143430 | + /* (281) trans_opt ::= */ yytestcase(yyruleno==281); |
| 143431 | + /* (282) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==282); |
| 143432 | + /* (283) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==283); |
| 143433 | + /* (284) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==284); |
| 143434 | + /* (285) savepoint_opt ::= */ yytestcase(yyruleno==285); |
| 143435 | + /* (286) cmd ::= create_table create_table_args */ yytestcase(yyruleno==286); |
| 143436 | + /* (287) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==287); |
| 143437 | + /* (288) columnlist ::= columnname carglist */ yytestcase(yyruleno==288); |
| 143438 | + /* (289) nm ::= ID|INDEXED */ yytestcase(yyruleno==289); |
| 143439 | + /* (290) nm ::= STRING */ yytestcase(yyruleno==290); |
| 143440 | + /* (291) nm ::= JOIN_KW */ yytestcase(yyruleno==291); |
| 143441 | + /* (292) typetoken ::= typename */ yytestcase(yyruleno==292); |
| 143442 | + /* (293) typename ::= ID|STRING */ yytestcase(yyruleno==293); |
| 143443 | + /* (294) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=294); |
| 143444 | + /* (295) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=295); |
| 143445 | + /* (296) carglist ::= carglist ccons */ yytestcase(yyruleno==296); |
| 143446 | + /* (297) carglist ::= */ yytestcase(yyruleno==297); |
| 143447 | + /* (298) ccons ::= NULL onconf */ yytestcase(yyruleno==298); |
| 143448 | + /* (299) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==299); |
| 143449 | + /* (300) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==300); |
| 143450 | + /* (301) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=301); |
| 143451 | + /* (302) tconscomma ::= */ yytestcase(yyruleno==302); |
| 143452 | + /* (303) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=303); |
| 143453 | + /* (304) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=304); |
| 143454 | + /* (305) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=305); |
| 143455 | + /* (306) oneselect ::= values */ yytestcase(yyruleno==306); |
| 143456 | + /* (307) sclp ::= selcollist COMMA */ yytestcase(yyruleno==307); |
| 143457 | + /* (308) as ::= ID|STRING */ yytestcase(yyruleno==308); |
| 143458 | + /* (309) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=309); |
| 143459 | + /* (310) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==310); |
| 143460 | + /* (311) exprlist ::= nexprlist */ yytestcase(yyruleno==311); |
| 143461 | + /* (312) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=312); |
| 143462 | + /* (313) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=313); |
| 143463 | + /* (314) nmnum ::= ON */ yytestcase(yyruleno==314); |
| 143464 | + /* (315) nmnum ::= DELETE */ yytestcase(yyruleno==315); |
| 143465 | + /* (316) nmnum ::= DEFAULT */ yytestcase(yyruleno==316); |
| 143466 | + /* (317) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==317); |
| 143467 | + /* (318) foreach_clause ::= */ yytestcase(yyruleno==318); |
| 143468 | + /* (319) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==319); |
| 143469 | + /* (320) trnm ::= nm */ yytestcase(yyruleno==320); |
| 143470 | + /* (321) tridxby ::= */ yytestcase(yyruleno==321); |
| 143471 | + /* (322) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==322); |
| 143472 | + /* (323) database_kw_opt ::= */ yytestcase(yyruleno==323); |
| 143473 | + /* (324) kwcolumn_opt ::= */ yytestcase(yyruleno==324); |
| 143474 | + /* (325) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==325); |
| 143475 | + /* (326) vtabarglist ::= vtabarg */ yytestcase(yyruleno==326); |
| 143476 | + /* (327) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==327); |
| 143477 | + /* (328) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==328); |
| 143478 | + /* (329) anylist ::= */ yytestcase(yyruleno==329); |
| 143479 | + /* (330) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==330); |
| 143480 | + /* (331) anylist ::= anylist ANY */ yytestcase(yyruleno==331); |
| 143481 | + /* (332) with ::= */ yytestcase(yyruleno==332); |
| 143392 | 143482 | break; |
| 143393 | 143483 | /********** End reduce actions ************************************************/ |
| 143394 | 143484 | }; |
| 143395 | 143485 | assert( yyruleno<sizeof(yyRuleInfo)/sizeof(yyRuleInfo[0]) ); |
| 143396 | 143486 | yygoto = yyRuleInfo[yyruleno].lhs; |
| | @@ -180440,11 +180530,11 @@ |
| 180440 | 180530 | ** input data. Input data may be supplied either as a single large buffer |
| 180441 | 180531 | ** (e.g. sqlite3changeset_start()) or using a stream function (e.g. |
| 180442 | 180532 | ** sqlite3changeset_start_strm()). |
| 180443 | 180533 | */ |
| 180444 | 180534 | struct SessionInput { |
| 180445 | | - int bNoDiscard; /* If true, discard no data */ |
| 180535 | + int bNoDiscard; /* If true, do not discard in InputBuffer() */ |
| 180446 | 180536 | int iCurrent; /* Offset in aData[] of current change */ |
| 180447 | 180537 | int iNext; /* Offset in aData[] of next change */ |
| 180448 | 180538 | u8 *aData; /* Pointer to buffer containing changeset */ |
| 180449 | 180539 | int nData; /* Number of bytes in aData */ |
| 180450 | 180540 | |
| | @@ -182965,11 +183055,11 @@ |
| 182965 | 183055 | /* |
| 182966 | 183056 | ** If the SessionInput object passed as the only argument is a streaming |
| 182967 | 183057 | ** object and the buffer is full, discard some data to free up space. |
| 182968 | 183058 | */ |
| 182969 | 183059 | static void sessionDiscardData(SessionInput *pIn){ |
| 182970 | | - if( pIn->bEof && pIn->xInput && pIn->iNext>=SESSIONS_STRM_CHUNK_SIZE ){ |
| 183060 | + if( pIn->xInput && pIn->iNext>=SESSIONS_STRM_CHUNK_SIZE ){ |
| 182971 | 183061 | int nMove = pIn->buf.nBuf - pIn->iNext; |
| 182972 | 183062 | assert( nMove>=0 ); |
| 182973 | 183063 | if( nMove>0 ){ |
| 182974 | 183064 | memmove(pIn->buf.aBuf, &pIn->buf.aBuf[pIn->iNext], nMove); |
| 182975 | 183065 | } |
| | @@ -184606,14 +184696,15 @@ |
| 184606 | 184696 | void *pCtx, /* Copy of fifth arg to _apply() */ |
| 184607 | 184697 | int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ |
| 184608 | 184698 | sqlite3_changeset_iter *p /* Handle describing change and conflict */ |
| 184609 | 184699 | ), |
| 184610 | 184700 | void *pCtx, /* First argument passed to xConflict */ |
| 184611 | | - void **ppRebase, int *pnRebase /* OUT: Rebase information */ |
| 184701 | + void **ppRebase, int *pnRebase, /* OUT: Rebase information */ |
| 184702 | + int flags /* SESSION_APPLY_XXX flags */ |
| 184612 | 184703 | ){ |
| 184613 | 184704 | int schemaMismatch = 0; |
| 184614 | | - int rc; /* Return code */ |
| 184705 | + int rc = SQLITE_OK; /* Return code */ |
| 184615 | 184706 | const char *zTab = 0; /* Name of current table */ |
| 184616 | 184707 | int nTab = 0; /* Result of sqlite3Strlen30(zTab) */ |
| 184617 | 184708 | SessionApplyCtx sApply; /* changeset_apply() context object */ |
| 184618 | 184709 | int bPatchset; |
| 184619 | 184710 | |
| | @@ -184620,11 +184711,13 @@ |
| 184620 | 184711 | assert( xConflict!=0 ); |
| 184621 | 184712 | |
| 184622 | 184713 | pIter->in.bNoDiscard = 1; |
| 184623 | 184714 | memset(&sApply, 0, sizeof(sApply)); |
| 184624 | 184715 | sqlite3_mutex_enter(sqlite3_db_mutex(db)); |
| 184625 | | - rc = sqlite3_exec(db, "SAVEPOINT changeset_apply", 0, 0, 0); |
| 184716 | + if( (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT)==0 ){ |
| 184717 | + rc = sqlite3_exec(db, "SAVEPOINT changeset_apply", 0, 0, 0); |
| 184718 | + } |
| 184626 | 184719 | if( rc==SQLITE_OK ){ |
| 184627 | 184720 | rc = sqlite3_exec(db, "PRAGMA defer_foreign_keys = 1", 0, 0, 0); |
| 184628 | 184721 | } |
| 184629 | 184722 | while( rc==SQLITE_OK && SQLITE_ROW==sqlite3changeset_next(pIter) ){ |
| 184630 | 184723 | int nCol; |
| | @@ -184758,15 +184851,17 @@ |
| 184758 | 184851 | } |
| 184759 | 184852 | } |
| 184760 | 184853 | } |
| 184761 | 184854 | sqlite3_exec(db, "PRAGMA defer_foreign_keys = 0", 0, 0, 0); |
| 184762 | 184855 | |
| 184763 | | - if( rc==SQLITE_OK ){ |
| 184764 | | - rc = sqlite3_exec(db, "RELEASE changeset_apply", 0, 0, 0); |
| 184765 | | - }else{ |
| 184766 | | - sqlite3_exec(db, "ROLLBACK TO changeset_apply", 0, 0, 0); |
| 184767 | | - sqlite3_exec(db, "RELEASE changeset_apply", 0, 0, 0); |
| 184856 | + if( (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT)==0 ){ |
| 184857 | + if( rc==SQLITE_OK ){ |
| 184858 | + rc = sqlite3_exec(db, "RELEASE changeset_apply", 0, 0, 0); |
| 184859 | + }else{ |
| 184860 | + sqlite3_exec(db, "ROLLBACK TO changeset_apply", 0, 0, 0); |
| 184861 | + sqlite3_exec(db, "RELEASE changeset_apply", 0, 0, 0); |
| 184862 | + } |
| 184768 | 184863 | } |
| 184769 | 184864 | |
| 184770 | 184865 | if( rc==SQLITE_OK && bPatchset==0 && ppRebase && pnRebase ){ |
| 184771 | 184866 | *ppRebase = (void*)sApply.rebase.aBuf; |
| 184772 | 184867 | *pnRebase = sApply.rebase.nBuf; |
| | @@ -184799,17 +184894,18 @@ |
| 184799 | 184894 | void *pCtx, /* Copy of sixth arg to _apply() */ |
| 184800 | 184895 | int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ |
| 184801 | 184896 | sqlite3_changeset_iter *p /* Handle describing change and conflict */ |
| 184802 | 184897 | ), |
| 184803 | 184898 | void *pCtx, /* First argument passed to xConflict */ |
| 184804 | | - void **ppRebase, int *pnRebase |
| 184899 | + void **ppRebase, int *pnRebase, |
| 184900 | + int flags |
| 184805 | 184901 | ){ |
| 184806 | 184902 | sqlite3_changeset_iter *pIter; /* Iterator to skip through changeset */ |
| 184807 | 184903 | int rc = sqlite3changeset_start(&pIter, nChangeset, pChangeset); |
| 184808 | 184904 | if( rc==SQLITE_OK ){ |
| 184809 | 184905 | rc = sessionChangesetApply( |
| 184810 | | - db, pIter, xFilter, xConflict, pCtx, ppRebase, pnRebase |
| 184906 | + db, pIter, xFilter, xConflict, pCtx, ppRebase, pnRebase, flags |
| 184811 | 184907 | ); |
| 184812 | 184908 | } |
| 184813 | 184909 | return rc; |
| 184814 | 184910 | } |
| 184815 | 184911 | |
| | @@ -184832,11 +184928,11 @@ |
| 184832 | 184928 | sqlite3_changeset_iter *p /* Handle describing change and conflict */ |
| 184833 | 184929 | ), |
| 184834 | 184930 | void *pCtx /* First argument passed to xConflict */ |
| 184835 | 184931 | ){ |
| 184836 | 184932 | return sqlite3changeset_apply_v2( |
| 184837 | | - db, nChangeset, pChangeset, xFilter, xConflict, pCtx, 0, 0 |
| 184933 | + db, nChangeset, pChangeset, xFilter, xConflict, pCtx, 0, 0, 0 |
| 184838 | 184934 | ); |
| 184839 | 184935 | } |
| 184840 | 184936 | |
| 184841 | 184937 | /* |
| 184842 | 184938 | ** Apply the changeset passed via xInput/pIn to the main database |
| | @@ -184855,17 +184951,18 @@ |
| 184855 | 184951 | void *pCtx, /* Copy of sixth arg to _apply() */ |
| 184856 | 184952 | int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ |
| 184857 | 184953 | sqlite3_changeset_iter *p /* Handle describing change and conflict */ |
| 184858 | 184954 | ), |
| 184859 | 184955 | void *pCtx, /* First argument passed to xConflict */ |
| 184860 | | - void **ppRebase, int *pnRebase |
| 184956 | + void **ppRebase, int *pnRebase, |
| 184957 | + int flags |
| 184861 | 184958 | ){ |
| 184862 | 184959 | sqlite3_changeset_iter *pIter; /* Iterator to skip through changeset */ |
| 184863 | 184960 | int rc = sqlite3changeset_start_strm(&pIter, xInput, pIn); |
| 184864 | 184961 | if( rc==SQLITE_OK ){ |
| 184865 | 184962 | rc = sessionChangesetApply( |
| 184866 | | - db, pIter, xFilter, xConflict, pCtx, ppRebase, pnRebase |
| 184963 | + db, pIter, xFilter, xConflict, pCtx, ppRebase, pnRebase, flags |
| 184867 | 184964 | ); |
| 184868 | 184965 | } |
| 184869 | 184966 | return rc; |
| 184870 | 184967 | } |
| 184871 | 184968 | SQLITE_API int sqlite3changeset_apply_strm( |
| | @@ -184882,11 +184979,11 @@ |
| 184882 | 184979 | sqlite3_changeset_iter *p /* Handle describing change and conflict */ |
| 184883 | 184980 | ), |
| 184884 | 184981 | void *pCtx /* First argument passed to xConflict */ |
| 184885 | 184982 | ){ |
| 184886 | 184983 | return sqlite3changeset_apply_v2_strm( |
| 184887 | | - db, xInput, pIn, xFilter, xConflict, pCtx, 0, 0 |
| 184984 | + db, xInput, pIn, xFilter, xConflict, pCtx, 0, 0, 0 |
| 184888 | 184985 | ); |
| 184889 | 184986 | } |
| 184890 | 184987 | |
| 184891 | 184988 | /* |
| 184892 | 184989 | ** sqlite3_changegroup handle. |
| | @@ -203462,10 +203559,16 @@ |
| 203462 | 203559 | |
| 203463 | 203560 | int aColMap[3]; |
| 203464 | 203561 | aColMap[0] = -1; |
| 203465 | 203562 | aColMap[1] = nCol; |
| 203466 | 203563 | aColMap[2] = nCol+1; |
| 203564 | + |
| 203565 | + assert( SQLITE_INDEX_CONSTRAINT_EQ<SQLITE_INDEX_CONSTRAINT_MATCH ); |
| 203566 | + assert( SQLITE_INDEX_CONSTRAINT_GT<SQLITE_INDEX_CONSTRAINT_MATCH ); |
| 203567 | + assert( SQLITE_INDEX_CONSTRAINT_LE<SQLITE_INDEX_CONSTRAINT_MATCH ); |
| 203568 | + assert( SQLITE_INDEX_CONSTRAINT_GE<SQLITE_INDEX_CONSTRAINT_MATCH ); |
| 203569 | + assert( SQLITE_INDEX_CONSTRAINT_LE<SQLITE_INDEX_CONSTRAINT_MATCH ); |
| 203467 | 203570 | |
| 203468 | 203571 | /* Set idxFlags flags for all WHERE clause terms that will be used. */ |
| 203469 | 203572 | for(i=0; i<pInfo->nConstraint; i++){ |
| 203470 | 203573 | struct sqlite3_index_constraint *p = &pInfo->aConstraint[i]; |
| 203471 | 203574 | int iCol = p->iColumn; |
| | @@ -203481,15 +203584,15 @@ |
| 203481 | 203584 | /* As there exists an unusable MATCH constraint this is an |
| 203482 | 203585 | ** unusable plan. Set a prohibitively high cost. */ |
| 203483 | 203586 | pInfo->estimatedCost = 1e50; |
| 203484 | 203587 | return SQLITE_OK; |
| 203485 | 203588 | } |
| 203486 | | - }else{ |
| 203589 | + }else if( p->op<=SQLITE_INDEX_CONSTRAINT_MATCH ){ |
| 203487 | 203590 | int j; |
| 203488 | 203591 | for(j=1; j<ArraySize(aConstraint); j++){ |
| 203489 | 203592 | struct Constraint *pC = &aConstraint[j]; |
| 203490 | | - if( iCol==aColMap[pC->iCol] && p->op & pC->op && p->usable ){ |
| 203593 | + if( iCol==aColMap[pC->iCol] && (p->op & pC->op) && p->usable ){ |
| 203491 | 203594 | pC->iConsIndex = i; |
| 203492 | 203595 | idxFlags |= pC->fts5op; |
| 203493 | 203596 | } |
| 203494 | 203597 | } |
| 203495 | 203598 | } |
| | @@ -205557,11 +205660,11 @@ |
| 205557 | 205660 | int nArg, /* Number of args */ |
| 205558 | 205661 | sqlite3_value **apUnused /* Function arguments */ |
| 205559 | 205662 | ){ |
| 205560 | 205663 | assert( nArg==0 ); |
| 205561 | 205664 | UNUSED_PARAM2(nArg, apUnused); |
| 205562 | | - sqlite3_result_text(pCtx, "fts5: 2018-04-02 11:04:16 736b53f57f70b23172c30880186dce7ad9baa3b74e3838cae5847cffb98f5cd2", -1, SQLITE_TRANSIENT); |
| 205665 | + sqlite3_result_text(pCtx, "fts5: 2018-04-10 17:39:29 4bb2294022060e61de7da5c227a69ccd846ba330e31626ebcd59a94efd148b3b", -1, SQLITE_TRANSIENT); |
| 205563 | 205666 | } |
| 205564 | 205667 | |
| 205565 | 205668 | static int fts5Init(sqlite3 *db){ |
| 205566 | 205669 | static const sqlite3_module fts5Mod = { |
| 205567 | 205670 | /* iVersion */ 2, |
| | @@ -209827,12 +209930,12 @@ |
| 209827 | 209930 | } |
| 209828 | 209931 | #endif /* SQLITE_CORE */ |
| 209829 | 209932 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 209830 | 209933 | |
| 209831 | 209934 | /************** End of stmt.c ************************************************/ |
| 209832 | | -#if __LINE__!=209832 |
| 209935 | +#if __LINE__!=209935 |
| 209833 | 209936 | #undef SQLITE_SOURCE_ID |
| 209834 | | -#define SQLITE_SOURCE_ID "2018-04-02 11:04:16 736b53f57f70b23172c30880186dce7ad9baa3b74e3838cae5847cffb98falt2" |
| 209937 | +#define SQLITE_SOURCE_ID "2018-04-10 17:39:29 4bb2294022060e61de7da5c227a69ccd846ba330e31626ebcd59a94efd14alt2" |
| 209835 | 209938 | #endif |
| 209836 | 209939 | /* Return the source-id for this library */ |
| 209837 | 209940 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 209838 | 209941 | /************************** End of sqlite3.c ******************************/ |
| 209839 | 209942 | |