| | @@ -381,11 +381,11 @@ |
| 381 | 381 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 382 | 382 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 383 | 383 | */ |
| 384 | 384 | #define SQLITE_VERSION "3.15.0" |
| 385 | 385 | #define SQLITE_VERSION_NUMBER 3015000 |
| 386 | | -#define SQLITE_SOURCE_ID "2016-09-22 18:53:13 c3774c6a5fe48af91fda28e9e18c6ed9053ea992" |
| 386 | +#define SQLITE_SOURCE_ID "2016-09-28 16:05:53 40c0fb0af678797c39a99853f9f4102464c16f4b" |
| 387 | 387 | |
| 388 | 388 | /* |
| 389 | 389 | ** CAPI3REF: Run-Time Library Version Numbers |
| 390 | 390 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 391 | 391 | ** |
| | @@ -8915,11 +8915,11 @@ |
| 8915 | 8915 | |
| 8916 | 8916 | /* |
| 8917 | 8917 | ** CAPI3REF: Set a table filter on a Session Object. |
| 8918 | 8918 | ** |
| 8919 | 8919 | ** The second argument (xFilter) is the "filter callback". For changes to rows |
| 8920 | | -** in tables that are not attached to the Session oject, the filter is called |
| 8920 | +** in tables that are not attached to the Session object, the filter is called |
| 8921 | 8921 | ** to determine whether changes to the table's rows should be tracked or not. |
| 8922 | 8922 | ** If xFilter returns 0, changes is not tracked. Note that once a table is |
| 8923 | 8923 | ** attached, xFilter will not be called again. |
| 8924 | 8924 | */ |
| 8925 | 8925 | void sqlite3session_table_filter( |
| | @@ -9181,11 +9181,11 @@ |
| 9181 | 9181 | ** Assuming the changeset blob was created by one of the |
| 9182 | 9182 | ** [sqlite3session_changeset()], [sqlite3changeset_concat()] or |
| 9183 | 9183 | ** [sqlite3changeset_invert()] functions, all changes within the changeset |
| 9184 | 9184 | ** that apply to a single table are grouped together. This means that when |
| 9185 | 9185 | ** an application iterates through a changeset using an iterator created by |
| 9186 | | -** this function, all changes that relate to a single table are visted |
| 9186 | +** this function, all changes that relate to a single table are visited |
| 9187 | 9187 | ** consecutively. There is no chance that the iterator will visit a change |
| 9188 | 9188 | ** the applies to table X, then one for table Y, and then later on visit |
| 9189 | 9189 | ** another change for table X. |
| 9190 | 9190 | */ |
| 9191 | 9191 | int sqlite3changeset_start( |
| | @@ -9268,11 +9268,11 @@ |
| 9268 | 9268 | ** If successful, *pabPK is set to point to an array of nCol entries, where |
| 9269 | 9269 | ** nCol is the number of columns in the table. Elements of *pabPK are set to |
| 9270 | 9270 | ** 0x01 if the corresponding column is part of the tables primary key, or |
| 9271 | 9271 | ** 0x00 if it is not. |
| 9272 | 9272 | ** |
| 9273 | | -** If argumet pnCol is not NULL, then *pnCol is set to the number of columns |
| 9273 | +** If argument pnCol is not NULL, then *pnCol is set to the number of columns |
| 9274 | 9274 | ** in the table. |
| 9275 | 9275 | ** |
| 9276 | 9276 | ** If this function is called when the iterator does not point to a valid |
| 9277 | 9277 | ** entry, SQLITE_MISUSE is returned and the output variables zeroed. Otherwise, |
| 9278 | 9278 | ** SQLITE_OK is returned and the output variables populated as described |
| | @@ -9543,11 +9543,11 @@ |
| 9543 | 9543 | ** Rows within the changeset and changegroup are identified by the values in |
| 9544 | 9544 | ** their PRIMARY KEY columns. A change in the changeset is considered to |
| 9545 | 9545 | ** apply to the same row as a change already present in the changegroup if |
| 9546 | 9546 | ** the two rows have the same primary key. |
| 9547 | 9547 | ** |
| 9548 | | -** Changes to rows that that do not already appear in the changegroup are |
| 9548 | +** Changes to rows that do not already appear in the changegroup are |
| 9549 | 9549 | ** simply copied into it. Or, if both the new changeset and the changegroup |
| 9550 | 9550 | ** contain changes that apply to a single row, the final contents of the |
| 9551 | 9551 | ** changegroup depends on the type of each change, as follows: |
| 9552 | 9552 | ** |
| 9553 | 9553 | ** <table border=1 style="margin-left:8ex;margin-right:8ex"> |
| | @@ -11411,13 +11411,13 @@ |
| 11411 | 11411 | #define TK_GROUP 127 |
| 11412 | 11412 | #define TK_HAVING 128 |
| 11413 | 11413 | #define TK_LIMIT 129 |
| 11414 | 11414 | #define TK_WHERE 130 |
| 11415 | 11415 | #define TK_INTO 131 |
| 11416 | | -#define TK_INTEGER 132 |
| 11417 | | -#define TK_FLOAT 133 |
| 11418 | | -#define TK_BLOB 134 |
| 11416 | +#define TK_FLOAT 132 |
| 11417 | +#define TK_BLOB 133 |
| 11418 | +#define TK_INTEGER 134 |
| 11419 | 11419 | #define TK_VARIABLE 135 |
| 11420 | 11420 | #define TK_CASE 136 |
| 11421 | 11421 | #define TK_WHEN 137 |
| 11422 | 11422 | #define TK_THEN 138 |
| 11423 | 11423 | #define TK_ELSE 139 |
| | @@ -12682,12 +12682,12 @@ |
| 12682 | 12682 | #define OP_IdxDelete 127 /* synopsis: key=r[P2@P3] */ |
| 12683 | 12683 | #define OP_Seek 128 /* synopsis: Move P3 to P1.rowid */ |
| 12684 | 12684 | #define OP_IdxRowid 129 /* synopsis: r[P2]=rowid */ |
| 12685 | 12685 | #define OP_Destroy 130 |
| 12686 | 12686 | #define OP_Clear 131 |
| 12687 | | -#define OP_ResetSorter 132 |
| 12688 | | -#define OP_Real 133 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ |
| 12687 | +#define OP_Real 132 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ |
| 12688 | +#define OP_ResetSorter 133 |
| 12689 | 12689 | #define OP_CreateIndex 134 /* synopsis: r[P2]=root iDb=P1 */ |
| 12690 | 12690 | #define OP_CreateTable 135 /* synopsis: r[P2]=root iDb=P1 */ |
| 12691 | 12691 | #define OP_ParseSchema 136 |
| 12692 | 12692 | #define OP_LoadAnalysis 137 |
| 12693 | 12693 | #define OP_DropTable 138 |
| | @@ -12741,11 +12741,11 @@ |
| 12741 | 12741 | /* 88 */ 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00,\ |
| 12742 | 12742 | /* 96 */ 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ |
| 12743 | 12743 | /* 104 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ |
| 12744 | 12744 | /* 112 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,\ |
| 12745 | 12745 | /* 120 */ 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x04, 0x00,\ |
| 12746 | | -/* 128 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x10,\ |
| 12746 | +/* 128 */ 0x00, 0x10, 0x10, 0x00, 0x10, 0x00, 0x10, 0x10,\ |
| 12747 | 12747 | /* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10,\ |
| 12748 | 12748 | /* 144 */ 0x00, 0x04, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00,\ |
| 12749 | 12749 | /* 152 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,\ |
| 12750 | 12750 | /* 160 */ 0x00, 0x00, 0x00,} |
| 12751 | 12751 | |
| | @@ -14963,10 +14963,11 @@ |
| 14963 | 14963 | #define EP_Unlikely 0x040000 /* unlikely() or likelihood() function */ |
| 14964 | 14964 | #define EP_ConstFunc 0x080000 /* A SQLITE_FUNC_CONSTANT or _SLOCHNG function */ |
| 14965 | 14965 | #define EP_CanBeNull 0x100000 /* Can be null despite NOT NULL constraint */ |
| 14966 | 14966 | #define EP_Subquery 0x200000 /* Tree contains a TK_SELECT operator */ |
| 14967 | 14967 | #define EP_Alias 0x400000 /* Is an alias for a result set column */ |
| 14968 | +#define EP_Leaf 0x800000 /* Expr.pLeft, .pRight, .u.pSelect all NULL */ |
| 14968 | 14969 | |
| 14969 | 14970 | /* |
| 14970 | 14971 | ** Combinations of two or more EP_* flags |
| 14971 | 14972 | */ |
| 14972 | 14973 | #define EP_Propagate (EP_Collate|EP_Subquery) /* Propagate these bits up tree */ |
| | @@ -29131,12 +29132,12 @@ |
| 29131 | 29132 | /* 127 */ "IdxDelete" OpHelp("key=r[P2@P3]"), |
| 29132 | 29133 | /* 128 */ "Seek" OpHelp("Move P3 to P1.rowid"), |
| 29133 | 29134 | /* 129 */ "IdxRowid" OpHelp("r[P2]=rowid"), |
| 29134 | 29135 | /* 130 */ "Destroy" OpHelp(""), |
| 29135 | 29136 | /* 131 */ "Clear" OpHelp(""), |
| 29136 | | - /* 132 */ "ResetSorter" OpHelp(""), |
| 29137 | | - /* 133 */ "Real" OpHelp("r[P2]=P4"), |
| 29137 | + /* 132 */ "Real" OpHelp("r[P2]=P4"), |
| 29138 | + /* 133 */ "ResetSorter" OpHelp(""), |
| 29138 | 29139 | /* 134 */ "CreateIndex" OpHelp("r[P2]=root iDb=P1"), |
| 29139 | 29140 | /* 135 */ "CreateTable" OpHelp("r[P2]=root iDb=P1"), |
| 29140 | 29141 | /* 136 */ "ParseSchema" OpHelp(""), |
| 29141 | 29142 | /* 137 */ "LoadAnalysis" OpHelp(""), |
| 29142 | 29143 | /* 138 */ "DropTable" OpHelp(""), |
| | @@ -76047,18 +76048,17 @@ |
| 76047 | 76048 | static Mem *columnMem(sqlite3_stmt *pStmt, int i){ |
| 76048 | 76049 | Vdbe *pVm; |
| 76049 | 76050 | Mem *pOut; |
| 76050 | 76051 | |
| 76051 | 76052 | pVm = (Vdbe *)pStmt; |
| 76052 | | - if( pVm && pVm->pResultSet!=0 && i<pVm->nResColumn && i>=0 ){ |
| 76053 | | - sqlite3_mutex_enter(pVm->db->mutex); |
| 76053 | + if( pVm==0 ) return (Mem*)columnNullValue(); |
| 76054 | + assert( pVm->db ); |
| 76055 | + sqlite3_mutex_enter(pVm->db->mutex); |
| 76056 | + if( pVm->pResultSet!=0 && i<pVm->nResColumn && i>=0 ){ |
| 76054 | 76057 | pOut = &pVm->pResultSet[i]; |
| 76055 | 76058 | }else{ |
| 76056 | | - if( pVm && ALWAYS(pVm->db) ){ |
| 76057 | | - sqlite3_mutex_enter(pVm->db->mutex); |
| 76058 | | - sqlite3Error(pVm->db, SQLITE_RANGE); |
| 76059 | | - } |
| 76059 | + sqlite3Error(pVm->db, SQLITE_RANGE); |
| 76060 | 76060 | pOut = (Mem*)columnNullValue(); |
| 76061 | 76061 | } |
| 76062 | 76062 | return pOut; |
| 76063 | 76063 | } |
| 76064 | 76064 | |
| | @@ -76087,10 +76087,12 @@ |
| 76087 | 76087 | ** SQLITE_NOMEM. The next call to _step() (if any) will return SQLITE_ERROR |
| 76088 | 76088 | ** and _finalize() will return NOMEM. |
| 76089 | 76089 | */ |
| 76090 | 76090 | Vdbe *p = (Vdbe *)pStmt; |
| 76091 | 76091 | if( p ){ |
| 76092 | + assert( p->db!=0 ); |
| 76093 | + assert( sqlite3_mutex_held(p->db->mutex) ); |
| 76092 | 76094 | p->rc = sqlite3ApiExit(p->db, p->rc); |
| 76093 | 76095 | sqlite3_mutex_leave(p->db->mutex); |
| 76094 | 76096 | } |
| 76095 | 76097 | } |
| 76096 | 76098 | |
| | @@ -80487,14 +80489,13 @@ |
| 80487 | 80489 | p->nStmtDefCons = db->nDeferredCons; |
| 80488 | 80490 | p->nStmtDefImmCons = db->nDeferredImmCons; |
| 80489 | 80491 | } |
| 80490 | 80492 | |
| 80491 | 80493 | /* Gather the schema version number for checking: |
| 80492 | | - ** IMPLEMENTATION-OF: R-32195-19465 The schema version is used by SQLite |
| 80493 | | - ** each time a query is executed to ensure that the internal cache of the |
| 80494 | | - ** schema used when compiling the SQL query matches the schema of the |
| 80495 | | - ** database against which the compiled query is actually executed. |
| 80494 | + ** IMPLEMENTATION-OF: R-03189-51135 As each SQL statement runs, the schema |
| 80495 | + ** version is checked to ensure that the schema has not changed since the |
| 80496 | + ** SQL statement was prepared. |
| 80496 | 80497 | */ |
| 80497 | 80498 | sqlite3BtreeGetMeta(pBt, BTREE_SCHEMA_VERSION, (u32 *)&iMeta); |
| 80498 | 80499 | iGen = db->aDb[pOp->p1].pSchema->iGeneration; |
| 80499 | 80500 | }else{ |
| 80500 | 80501 | iGen = iMeta = 0; |
| | @@ -81746,11 +81747,11 @@ |
| 81746 | 81747 | ** change count is incremented (otherwise not). |
| 81747 | 81748 | ** |
| 81748 | 81749 | ** P1 must not be pseudo-table. It has to be a real table with |
| 81749 | 81750 | ** multiple rows. |
| 81750 | 81751 | ** |
| 81751 | | -** If P4 is not NULL then it points to a Table struture. In this case either |
| 81752 | +** If P4 is not NULL then it points to a Table object. In this case either |
| 81752 | 81753 | ** the update or pre-update hook, or both, may be invoked. The P1 cursor must |
| 81753 | 81754 | ** have been positioned using OP_NotFound prior to invoking this opcode in |
| 81754 | 81755 | ** this case. Specifically, if one is configured, the pre-update hook is |
| 81755 | 81756 | ** invoked if P4 is not NULL. The update-hook is invoked if one is configured, |
| 81756 | 81757 | ** P4 is not NULL, and the OPFLAG_NCHANGE flag is set in P2. |
| | @@ -88036,11 +88037,13 @@ |
| 88036 | 88037 | static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ |
| 88037 | 88038 | int rc; |
| 88038 | 88039 | testcase( ExprHasProperty(pExpr, EP_TokenOnly) ); |
| 88039 | 88040 | testcase( ExprHasProperty(pExpr, EP_Reduced) ); |
| 88040 | 88041 | rc = pWalker->xExprCallback(pWalker, pExpr); |
| 88041 | | - if( rc || ExprHasProperty(pExpr,EP_TokenOnly) ) return rc & WRC_Abort; |
| 88042 | + if( rc || ExprHasProperty(pExpr,(EP_TokenOnly|EP_Leaf)) ){ |
| 88043 | + return rc & WRC_Abort; |
| 88044 | + } |
| 88042 | 88045 | if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; |
| 88043 | 88046 | if( pExpr->pRight && walkExpr(pWalker, pExpr->pRight) ) return WRC_Abort; |
| 88044 | 88047 | if( ExprHasProperty(pExpr, EP_xIsSelect) ){ |
| 88045 | 88048 | if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; |
| 88046 | 88049 | }else if( pExpr->x.pList ){ |
| | @@ -90705,22 +90708,29 @@ |
| 90705 | 90708 | */ |
| 90706 | 90709 | static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){ |
| 90707 | 90710 | assert( p!=0 ); |
| 90708 | 90711 | /* Sanity check: Assert that the IntValue is non-negative if it exists */ |
| 90709 | 90712 | assert( !ExprHasProperty(p, EP_IntValue) || p->u.iValue>=0 ); |
| 90710 | | - if( !ExprHasProperty(p, EP_TokenOnly) ){ |
| 90713 | +#ifdef SQLITE_DEBUG |
| 90714 | + if( ExprHasProperty(p, EP_Leaf) && !ExprHasProperty(p, EP_TokenOnly) ){ |
| 90715 | + assert( p->pLeft==0 ); |
| 90716 | + assert( p->pRight==0 ); |
| 90717 | + assert( p->x.pSelect==0 ); |
| 90718 | + } |
| 90719 | +#endif |
| 90720 | + if( !ExprHasProperty(p, (EP_TokenOnly|EP_Leaf)) ){ |
| 90711 | 90721 | /* The Expr.x union is never used at the same time as Expr.pRight */ |
| 90712 | 90722 | assert( p->x.pList==0 || p->pRight==0 ); |
| 90713 | 90723 | if( p->pLeft && p->op!=TK_SELECT_COLUMN ) sqlite3ExprDeleteNN(db, p->pLeft); |
| 90714 | 90724 | sqlite3ExprDelete(db, p->pRight); |
| 90715 | | - if( ExprHasProperty(p, EP_MemToken) ) sqlite3DbFree(db, p->u.zToken); |
| 90716 | 90725 | if( ExprHasProperty(p, EP_xIsSelect) ){ |
| 90717 | 90726 | sqlite3SelectDelete(db, p->x.pSelect); |
| 90718 | 90727 | }else{ |
| 90719 | 90728 | sqlite3ExprListDelete(db, p->x.pList); |
| 90720 | 90729 | } |
| 90721 | 90730 | } |
| 90731 | + if( ExprHasProperty(p, EP_MemToken) ) sqlite3DbFree(db, p->u.zToken); |
| 90722 | 90732 | if( !ExprHasProperty(p, EP_Static) ){ |
| 90723 | 90733 | sqlite3DbFree(db, p); |
| 90724 | 90734 | } |
| 90725 | 90735 | } |
| 90726 | 90736 | SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){ |
| | @@ -90893,11 +90903,11 @@ |
| 90893 | 90903 | if( nToken ){ |
| 90894 | 90904 | char *zToken = pNew->u.zToken = (char*)&zAlloc[nNewSize]; |
| 90895 | 90905 | memcpy(zToken, p->u.zToken, nToken); |
| 90896 | 90906 | } |
| 90897 | 90907 | |
| 90898 | | - if( 0==((p->flags|pNew->flags) & EP_TokenOnly) ){ |
| 90908 | + if( 0==((p->flags|pNew->flags) & (EP_TokenOnly|EP_Leaf)) ){ |
| 90899 | 90909 | /* Fill in the pNew->x.pSelect or pNew->x.pList member. */ |
| 90900 | 90910 | if( ExprHasProperty(p, EP_xIsSelect) ){ |
| 90901 | 90911 | pNew->x.pSelect = sqlite3SelectDup(db, p->x.pSelect, dupFlags); |
| 90902 | 90912 | }else{ |
| 90903 | 90913 | pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags); |
| | @@ -90905,21 +90915,21 @@ |
| 90905 | 90915 | } |
| 90906 | 90916 | |
| 90907 | 90917 | /* Fill in pNew->pLeft and pNew->pRight. */ |
| 90908 | 90918 | if( ExprHasProperty(pNew, EP_Reduced|EP_TokenOnly) ){ |
| 90909 | 90919 | zAlloc += dupedExprNodeSize(p, dupFlags); |
| 90910 | | - if( ExprHasProperty(pNew, EP_Reduced) ){ |
| 90920 | + if( !ExprHasProperty(pNew, EP_TokenOnly|EP_Leaf) ){ |
| 90911 | 90921 | pNew->pLeft = p->pLeft ? |
| 90912 | 90922 | exprDup(db, p->pLeft, EXPRDUP_REDUCE, &zAlloc) : 0; |
| 90913 | 90923 | pNew->pRight = p->pRight ? |
| 90914 | 90924 | exprDup(db, p->pRight, EXPRDUP_REDUCE, &zAlloc) : 0; |
| 90915 | 90925 | } |
| 90916 | 90926 | if( pzBuffer ){ |
| 90917 | 90927 | *pzBuffer = zAlloc; |
| 90918 | 90928 | } |
| 90919 | 90929 | }else{ |
| 90920 | | - if( !ExprHasProperty(p, EP_TokenOnly) ){ |
| 90930 | + if( !ExprHasProperty(p, EP_TokenOnly|EP_Leaf) ){ |
| 90921 | 90931 | if( pNew->op==TK_SELECT_COLUMN ){ |
| 90922 | 90932 | pNew->pLeft = p->pLeft; |
| 90923 | 90933 | }else{ |
| 90924 | 90934 | pNew->pLeft = sqlite3ExprDup(db, p->pLeft, 0); |
| 90925 | 90935 | } |
| | @@ -92276,12 +92286,12 @@ |
| 92276 | 92286 | dest.eDest = SRT_Exists; |
| 92277 | 92287 | sqlite3VdbeAddOp2(v, OP_Integer, 0, dest.iSDParm); |
| 92278 | 92288 | VdbeComment((v, "Init EXISTS result")); |
| 92279 | 92289 | } |
| 92280 | 92290 | sqlite3ExprDelete(pParse->db, pSel->pLimit); |
| 92281 | | - pSel->pLimit = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, |
| 92282 | | - &sqlite3IntTokens[1]); |
| 92291 | + pSel->pLimit = sqlite3ExprAlloc(pParse->db, TK_INTEGER, |
| 92292 | + &sqlite3IntTokens[1], 0); |
| 92283 | 92293 | pSel->iLimit = 0; |
| 92284 | 92294 | pSel->selFlags &= ~SF_MultiValue; |
| 92285 | 92295 | if( sqlite3Select(pParse, pSel, &dest) ){ |
| 92286 | 92296 | return 0; |
| 92287 | 92297 | } |
| | @@ -97959,11 +97969,11 @@ |
| 97959 | 97969 | }else{ |
| 97960 | 97970 | sqlite3ErrorMsg(pFix->pParse, "%s cannot use variables", pFix->zType); |
| 97961 | 97971 | return 1; |
| 97962 | 97972 | } |
| 97963 | 97973 | } |
| 97964 | | - if( ExprHasProperty(pExpr, EP_TokenOnly) ) break; |
| 97974 | + if( ExprHasProperty(pExpr, EP_TokenOnly|EP_Leaf) ) break; |
| 97965 | 97975 | if( ExprHasProperty(pExpr, EP_xIsSelect) ){ |
| 97966 | 97976 | if( sqlite3FixSelect(pFix, pExpr->x.pSelect) ) return 1; |
| 97967 | 97977 | }else{ |
| 97968 | 97978 | if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1; |
| 97969 | 97979 | } |
| | @@ -99735,10 +99745,13 @@ |
| 99735 | 99745 | ** This plan is not completely bullet-proof. It is possible for |
| 99736 | 99746 | ** the schema to change multiple times and for the cookie to be |
| 99737 | 99747 | ** set back to prior value. But schema changes are infrequent |
| 99738 | 99748 | ** and the probability of hitting the same cookie value is only |
| 99739 | 99749 | ** 1 chance in 2^32. So we're safe enough. |
| 99750 | +** |
| 99751 | +** IMPLEMENTATION-OF: R-34230-56049 SQLite automatically increments |
| 99752 | +** the schema-version whenever the schema changes. |
| 99740 | 99753 | */ |
| 99741 | 99754 | SQLITE_PRIVATE void sqlite3ChangeCookie(Parse *pParse, int iDb){ |
| 99742 | 99755 | sqlite3 *db = pParse->db; |
| 99743 | 99756 | Vdbe *v = pParse->pVdbe; |
| 99744 | 99757 | assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); |
| | @@ -107192,14 +107205,14 @@ |
| 107192 | 107205 | }else if( action==OE_SetDflt ){ |
| 107193 | 107206 | Expr *pDflt = pFKey->pFrom->aCol[iFromCol].pDflt; |
| 107194 | 107207 | if( pDflt ){ |
| 107195 | 107208 | pNew = sqlite3ExprDup(db, pDflt, 0); |
| 107196 | 107209 | }else{ |
| 107197 | | - pNew = sqlite3PExpr(pParse, TK_NULL, 0, 0, 0); |
| 107210 | + pNew = sqlite3ExprAlloc(db, TK_NULL, 0, 0); |
| 107198 | 107211 | } |
| 107199 | 107212 | }else{ |
| 107200 | | - pNew = sqlite3PExpr(pParse, TK_NULL, 0, 0, 0); |
| 107213 | + pNew = sqlite3ExprAlloc(db, TK_NULL, 0, 0); |
| 107201 | 107214 | } |
| 107202 | 107215 | pList = sqlite3ExprListAppend(pParse, pList, pNew); |
| 107203 | 107216 | sqlite3ExprListSetName(pParse, pList, &tFromCol, 0); |
| 107204 | 107217 | } |
| 107205 | 107218 | } |
| | @@ -118072,16 +118085,17 @@ |
| 118072 | 118085 | pWhere = sqlite3ExprDup(db, pSub->pWhere, 0); |
| 118073 | 118086 | if( subqueryIsAgg ){ |
| 118074 | 118087 | assert( pParent->pHaving==0 ); |
| 118075 | 118088 | pParent->pHaving = pParent->pWhere; |
| 118076 | 118089 | pParent->pWhere = pWhere; |
| 118077 | | - pParent->pHaving = sqlite3ExprAnd(db, pParent->pHaving, |
| 118078 | | - sqlite3ExprDup(db, pSub->pHaving, 0)); |
| 118090 | + pParent->pHaving = sqlite3ExprAnd(db, |
| 118091 | + sqlite3ExprDup(db, pSub->pHaving, 0), pParent->pHaving |
| 118092 | + ); |
| 118079 | 118093 | assert( pParent->pGroupBy==0 ); |
| 118080 | 118094 | pParent->pGroupBy = sqlite3ExprListDup(db, pSub->pGroupBy, 0); |
| 118081 | 118095 | }else{ |
| 118082 | | - pParent->pWhere = sqlite3ExprAnd(db, pParent->pWhere, pWhere); |
| 118096 | + pParent->pWhere = sqlite3ExprAnd(db, pWhere, pParent->pWhere); |
| 118083 | 118097 | } |
| 118084 | 118098 | substSelect(db, pParent, iParent, pSub->pEList, 0); |
| 118085 | 118099 | |
| 118086 | 118100 | /* The flattened query is distinct if either the inner or the |
| 118087 | 118101 | ** outer query is distinct. |
| | @@ -127618,11 +127632,11 @@ |
| 127618 | 127632 | int idxNew; |
| 127619 | 127633 | WhereTerm *pNewTerm; |
| 127620 | 127634 | |
| 127621 | 127635 | pNewExpr = sqlite3PExpr(pParse, TK_GT, |
| 127622 | 127636 | sqlite3ExprDup(db, pLeft, 0), |
| 127623 | | - sqlite3PExpr(pParse, TK_NULL, 0, 0, 0), 0); |
| 127637 | + sqlite3ExprAlloc(db, TK_NULL, 0, 0), 0); |
| 127624 | 127638 | |
| 127625 | 127639 | idxNew = whereClauseInsert(pWC, pNewExpr, |
| 127626 | 127640 | TERM_VIRTUAL|TERM_DYNAMIC|TERM_VNULL); |
| 127627 | 127641 | if( idxNew ){ |
| 127628 | 127642 | pNewTerm = &pWC->a[idxNew]; |
| | @@ -127796,11 +127810,11 @@ |
| 127796 | 127810 | if( k>=pTab->nCol ){ |
| 127797 | 127811 | sqlite3ErrorMsg(pParse, "too many arguments on %s() - max %d", |
| 127798 | 127812 | pTab->zName, j); |
| 127799 | 127813 | return; |
| 127800 | 127814 | } |
| 127801 | | - pColRef = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); |
| 127815 | + pColRef = sqlite3ExprAlloc(pParse->db, TK_COLUMN, 0, 0); |
| 127802 | 127816 | if( pColRef==0 ) return; |
| 127803 | 127817 | pColRef->iTable = pItem->iCursor; |
| 127804 | 127818 | pColRef->iColumn = k++; |
| 127805 | 127819 | pColRef->pTab = pTab; |
| 127806 | 127820 | pTerm = sqlite3PExpr(pParse, TK_EQ, pColRef, |
| | @@ -132844,19 +132858,10 @@ |
| 132844 | 132858 | struct LimitVal { |
| 132845 | 132859 | Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */ |
| 132846 | 132860 | Expr *pOffset; /* The OFFSET expression. NULL if there is none */ |
| 132847 | 132861 | }; |
| 132848 | 132862 | |
| 132849 | | -/* |
| 132850 | | -** An instance of this structure is used to store the LIKE, |
| 132851 | | -** GLOB, NOT LIKE, and NOT GLOB operators. |
| 132852 | | -*/ |
| 132853 | | -struct LikeOp { |
| 132854 | | - Token eOperator; /* "like" or "glob" or "regexp" */ |
| 132855 | | - int bNot; /* True if the NOT keyword is present */ |
| 132856 | | -}; |
| 132857 | | - |
| 132858 | 132863 | /* |
| 132859 | 132864 | ** An instance of the following structure describes the event of a |
| 132860 | 132865 | ** TRIGGER. "a" is the event type, one of TK_UPDATE, TK_INSERT, |
| 132861 | 132866 | ** TK_DELETE, or TK_INSTEAD. If the event is of the form |
| 132862 | 132867 | ** |
| | @@ -132864,15 +132869,10 @@ |
| 132864 | 132869 | ** |
| 132865 | 132870 | ** Then the "b" IdList records the list "a,b,c". |
| 132866 | 132871 | */ |
| 132867 | 132872 | struct TrigEvent { int a; IdList * b; }; |
| 132868 | 132873 | |
| 132869 | | -/* |
| 132870 | | -** An instance of this structure holds the ATTACH key and the key type. |
| 132871 | | -*/ |
| 132872 | | -struct AttachKey { int type; Token key; }; |
| 132873 | | - |
| 132874 | 132874 | /* |
| 132875 | 132875 | ** Disable lookaside memory allocation for objects that might be |
| 132876 | 132876 | ** shared across database connections. |
| 132877 | 132877 | */ |
| 132878 | 132878 | static void disableLookaside(Parse *pParse){ |
| | @@ -132915,11 +132915,28 @@ |
| 132915 | 132915 | /* Construct a new Expr object from a single identifier. Use the |
| 132916 | 132916 | ** new Expr to populate pOut. Set the span of pOut to be the identifier |
| 132917 | 132917 | ** that created the expression. |
| 132918 | 132918 | */ |
| 132919 | 132919 | static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token t){ |
| 132920 | | - pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, &t); |
| 132920 | + Expr *p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)+t.n+1); |
| 132921 | + if( p ){ |
| 132922 | + memset(p, 0, sizeof(Expr)); |
| 132923 | + p->op = (u8)op; |
| 132924 | + p->flags = EP_Leaf; |
| 132925 | + p->iAgg = -1; |
| 132926 | + p->u.zToken = (char*)&p[1]; |
| 132927 | + memcpy(p->u.zToken, t.z, t.n); |
| 132928 | + p->u.zToken[t.n] = 0; |
| 132929 | + if( sqlite3Isquote(p->u.zToken[0]) ){ |
| 132930 | + if( p->u.zToken[0]=='"' ) p->flags |= EP_DblQuoted; |
| 132931 | + sqlite3Dequote(p->u.zToken); |
| 132932 | + } |
| 132933 | +#if SQLITE_MAX_EXPR_DEPTH>0 |
| 132934 | + p->nHeight = 1; |
| 132935 | +#endif |
| 132936 | + } |
| 132937 | + pOut->pExpr = p; |
| 132921 | 132938 | pOut->zStart = t.z; |
| 132922 | 132939 | pOut->zEnd = &t.z[t.n]; |
| 132923 | 132940 | } |
| 132924 | 132941 | |
| 132925 | 132942 | /* This routine constructs a binary expression node out of two ExprSpan |
| | @@ -133078,11 +133095,10 @@ |
| 133078 | 133095 | Select* yy243; |
| 133079 | 133096 | IdList* yy254; |
| 133080 | 133097 | With* yy285; |
| 133081 | 133098 | struct TrigEvent yy332; |
| 133082 | 133099 | struct LimitVal yy354; |
| 133083 | | - struct LikeOp yy392; |
| 133084 | 133100 | struct {int value; int mask;} yy497; |
| 133085 | 133101 | } YYMINORTYPE; |
| 133086 | 133102 | #ifndef YYSTACKDEPTH |
| 133087 | 133103 | #define YYSTACKDEPTH 100 |
| 133088 | 133104 | #endif |
| | @@ -133090,19 +133106,19 @@ |
| 133090 | 133106 | #define sqlite3ParserARG_PDECL ,Parse *pParse |
| 133091 | 133107 | #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse |
| 133092 | 133108 | #define sqlite3ParserARG_STORE yypParser->pParse = pParse |
| 133093 | 133109 | #define YYFALLBACK 1 |
| 133094 | 133110 | #define YYNSTATE 456 |
| 133095 | | -#define YYNRULE 331 |
| 133111 | +#define YYNRULE 332 |
| 133096 | 133112 | #define YY_MAX_SHIFT 455 |
| 133097 | | -#define YY_MIN_SHIFTREDUCE 667 |
| 133098 | | -#define YY_MAX_SHIFTREDUCE 997 |
| 133099 | | -#define YY_MIN_REDUCE 998 |
| 133100 | | -#define YY_MAX_REDUCE 1328 |
| 133101 | | -#define YY_ERROR_ACTION 1329 |
| 133102 | | -#define YY_ACCEPT_ACTION 1330 |
| 133103 | | -#define YY_NO_ACTION 1331 |
| 133113 | +#define YY_MIN_SHIFTREDUCE 668 |
| 133114 | +#define YY_MAX_SHIFTREDUCE 999 |
| 133115 | +#define YY_MIN_REDUCE 1000 |
| 133116 | +#define YY_MAX_REDUCE 1331 |
| 133117 | +#define YY_ERROR_ACTION 1332 |
| 133118 | +#define YY_ACCEPT_ACTION 1333 |
| 133119 | +#define YY_NO_ACTION 1334 |
| 133104 | 133120 | /************* End control #defines *******************************************/ |
| 133105 | 133121 | |
| 133106 | 133122 | /* Define the yytestcase() macro to be a no-op if is not already defined |
| 133107 | 133123 | ** otherwise. |
| 133108 | 133124 | ** |
| | @@ -133170,170 +133186,169 @@ |
| 133170 | 133186 | ** yy_reduce_ofst[] For each state, the offset into yy_action for |
| 133171 | 133187 | ** shifting non-terminals after a reduce. |
| 133172 | 133188 | ** yy_default[] Default action for each state. |
| 133173 | 133189 | ** |
| 133174 | 133190 | *********** Begin parsing tables **********************************************/ |
| 133175 | | -#define YY_ACTTAB_COUNT (1571) |
| 133191 | +#define YY_ACTTAB_COUNT (1567) |
| 133176 | 133192 | static const YYACTIONTYPE yy_action[] = { |
| 133177 | | - /* 0 */ 325, 830, 351, 824, 5, 203, 203, 818, 99, 100, |
| 133178 | | - /* 10 */ 90, 840, 840, 852, 855, 844, 844, 97, 97, 98, |
| 133193 | + /* 0 */ 325, 832, 351, 825, 5, 203, 203, 819, 99, 100, |
| 133194 | + /* 10 */ 90, 842, 842, 854, 857, 846, 846, 97, 97, 98, |
| 133179 | 133195 | /* 20 */ 98, 98, 98, 301, 96, 96, 96, 96, 95, 95, |
| 133180 | | - /* 30 */ 94, 94, 94, 93, 351, 325, 975, 975, 823, 823, |
| 133181 | | - /* 40 */ 823, 945, 354, 99, 100, 90, 840, 840, 852, 855, |
| 133182 | | - /* 50 */ 844, 844, 97, 97, 98, 98, 98, 98, 338, 96, |
| 133196 | + /* 30 */ 94, 94, 94, 93, 351, 325, 977, 977, 824, 824, |
| 133197 | + /* 40 */ 826, 947, 354, 99, 100, 90, 842, 842, 854, 857, |
| 133198 | + /* 50 */ 846, 846, 97, 97, 98, 98, 98, 98, 338, 96, |
| 133183 | 133199 | /* 60 */ 96, 96, 96, 95, 95, 94, 94, 94, 93, 351, |
| 133184 | | - /* 70 */ 95, 95, 94, 94, 94, 93, 351, 790, 975, 975, |
| 133185 | | - /* 80 */ 325, 94, 94, 94, 93, 351, 791, 75, 99, 100, |
| 133186 | | - /* 90 */ 90, 840, 840, 852, 855, 844, 844, 97, 97, 98, |
| 133200 | + /* 70 */ 95, 95, 94, 94, 94, 93, 351, 791, 977, 977, |
| 133201 | + /* 80 */ 325, 94, 94, 94, 93, 351, 792, 75, 99, 100, |
| 133202 | + /* 90 */ 90, 842, 842, 854, 857, 846, 846, 97, 97, 98, |
| 133187 | 133203 | /* 100 */ 98, 98, 98, 450, 96, 96, 96, 96, 95, 95, |
| 133188 | | - /* 110 */ 94, 94, 94, 93, 351, 1330, 155, 155, 2, 325, |
| 133204 | + /* 110 */ 94, 94, 94, 93, 351, 1333, 155, 155, 2, 325, |
| 133189 | 133205 | /* 120 */ 275, 146, 132, 52, 52, 93, 351, 99, 100, 90, |
| 133190 | | - /* 130 */ 840, 840, 852, 855, 844, 844, 97, 97, 98, 98, |
| 133206 | + /* 130 */ 842, 842, 854, 857, 846, 846, 97, 97, 98, 98, |
| 133191 | 133207 | /* 140 */ 98, 98, 101, 96, 96, 96, 96, 95, 95, 94, |
| 133192 | | - /* 150 */ 94, 94, 93, 351, 956, 956, 325, 268, 428, 413, |
| 133193 | | - /* 160 */ 411, 61, 751, 751, 99, 100, 90, 840, 840, 852, |
| 133194 | | - /* 170 */ 855, 844, 844, 97, 97, 98, 98, 98, 98, 60, |
| 133208 | + /* 150 */ 94, 94, 93, 351, 958, 958, 325, 268, 428, 413, |
| 133209 | + /* 160 */ 411, 61, 752, 752, 99, 100, 90, 842, 842, 854, |
| 133210 | + /* 170 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 60, |
| 133195 | 133211 | /* 180 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, |
| 133196 | | - /* 190 */ 351, 325, 270, 329, 273, 277, 957, 958, 250, 99, |
| 133197 | | - /* 200 */ 100, 90, 840, 840, 852, 855, 844, 844, 97, 97, |
| 133212 | + /* 190 */ 351, 325, 270, 329, 273, 277, 959, 960, 250, 99, |
| 133213 | + /* 200 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, |
| 133198 | 133214 | /* 210 */ 98, 98, 98, 98, 301, 96, 96, 96, 96, 95, |
| 133199 | | - /* 220 */ 95, 94, 94, 94, 93, 351, 325, 936, 1323, 697, |
| 133200 | | - /* 230 */ 705, 1323, 242, 412, 99, 100, 90, 840, 840, 852, |
| 133201 | | - /* 240 */ 855, 844, 844, 97, 97, 98, 98, 98, 98, 347, |
| 133215 | + /* 220 */ 95, 94, 94, 94, 93, 351, 325, 938, 1326, 698, |
| 133216 | + /* 230 */ 706, 1326, 242, 412, 99, 100, 90, 842, 842, 854, |
| 133217 | + /* 240 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 347, |
| 133202 | 133218 | /* 250 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, |
| 133203 | | - /* 260 */ 351, 325, 936, 1324, 384, 698, 1324, 381, 379, 99, |
| 133204 | | - /* 270 */ 100, 90, 840, 840, 852, 855, 844, 844, 97, 97, |
| 133205 | | - /* 280 */ 98, 98, 98, 98, 700, 96, 96, 96, 96, 95, |
| 133219 | + /* 260 */ 351, 325, 938, 1327, 384, 699, 1327, 381, 379, 99, |
| 133220 | + /* 270 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, |
| 133221 | + /* 280 */ 98, 98, 98, 98, 701, 96, 96, 96, 96, 95, |
| 133206 | 133222 | /* 290 */ 95, 94, 94, 94, 93, 351, 325, 92, 89, 178, |
| 133207 | | - /* 300 */ 831, 934, 373, 699, 99, 100, 90, 840, 840, 852, |
| 133208 | | - /* 310 */ 855, 844, 844, 97, 97, 98, 98, 98, 98, 375, |
| 133223 | + /* 300 */ 833, 936, 373, 700, 99, 100, 90, 842, 842, 854, |
| 133224 | + /* 310 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 375, |
| 133209 | 133225 | /* 320 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, |
| 133210 | | - /* 330 */ 351, 325, 1273, 945, 354, 817, 934, 738, 738, 99, |
| 133211 | | - /* 340 */ 100, 90, 840, 840, 852, 855, 844, 844, 97, 97, |
| 133226 | + /* 330 */ 351, 325, 1276, 947, 354, 818, 936, 739, 739, 99, |
| 133227 | + /* 340 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, |
| 133212 | 133228 | /* 350 */ 98, 98, 98, 98, 230, 96, 96, 96, 96, 95, |
| 133213 | | - /* 360 */ 95, 94, 94, 94, 93, 351, 325, 967, 227, 92, |
| 133214 | | - /* 370 */ 89, 178, 373, 300, 99, 100, 90, 840, 840, 852, |
| 133215 | | - /* 380 */ 855, 844, 844, 97, 97, 98, 98, 98, 98, 919, |
| 133229 | + /* 360 */ 95, 94, 94, 94, 93, 351, 325, 969, 227, 92, |
| 133230 | + /* 370 */ 89, 178, 373, 300, 99, 100, 90, 842, 842, 854, |
| 133231 | + /* 380 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 921, |
| 133216 | 133232 | /* 390 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, |
| 133217 | | - /* 400 */ 351, 325, 449, 447, 447, 447, 147, 736, 736, 99, |
| 133218 | | - /* 410 */ 100, 90, 840, 840, 852, 855, 844, 844, 97, 97, |
| 133233 | + /* 400 */ 351, 325, 449, 447, 447, 447, 147, 737, 737, 99, |
| 133234 | + /* 410 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, |
| 133219 | 133235 | /* 420 */ 98, 98, 98, 98, 296, 96, 96, 96, 96, 95, |
| 133220 | | - /* 430 */ 95, 94, 94, 94, 93, 351, 325, 419, 231, 956, |
| 133221 | | - /* 440 */ 956, 158, 25, 422, 99, 100, 90, 840, 840, 852, |
| 133222 | | - /* 450 */ 855, 844, 844, 97, 97, 98, 98, 98, 98, 450, |
| 133236 | + /* 430 */ 95, 94, 94, 94, 93, 351, 325, 419, 231, 958, |
| 133237 | + /* 440 */ 958, 158, 25, 422, 99, 100, 90, 842, 842, 854, |
| 133238 | + /* 450 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 450, |
| 133223 | 133239 | /* 460 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, |
| 133224 | | - /* 470 */ 351, 443, 224, 224, 420, 956, 956, 960, 325, 52, |
| 133225 | | - /* 480 */ 52, 957, 958, 176, 415, 78, 99, 100, 90, 840, |
| 133226 | | - /* 490 */ 840, 852, 855, 844, 844, 97, 97, 98, 98, 98, |
| 133240 | + /* 470 */ 351, 443, 224, 224, 420, 958, 958, 962, 325, 52, |
| 133241 | + /* 480 */ 52, 959, 960, 176, 415, 78, 99, 100, 90, 842, |
| 133242 | + /* 490 */ 842, 854, 857, 846, 846, 97, 97, 98, 98, 98, |
| 133227 | 133243 | /* 500 */ 98, 379, 96, 96, 96, 96, 95, 95, 94, 94, |
| 133228 | | - /* 510 */ 94, 93, 351, 325, 428, 418, 298, 957, 958, 960, |
| 133229 | | - /* 520 */ 81, 99, 88, 90, 840, 840, 852, 855, 844, 844, |
| 133230 | | - /* 530 */ 97, 97, 98, 98, 98, 98, 716, 96, 96, 96, |
| 133231 | | - /* 540 */ 96, 95, 95, 94, 94, 94, 93, 351, 325, 841, |
| 133232 | | - /* 550 */ 841, 853, 856, 994, 318, 343, 379, 100, 90, 840, |
| 133233 | | - /* 560 */ 840, 852, 855, 844, 844, 97, 97, 98, 98, 98, |
| 133244 | + /* 510 */ 94, 93, 351, 325, 428, 418, 298, 959, 960, 962, |
| 133245 | + /* 520 */ 81, 99, 88, 90, 842, 842, 854, 857, 846, 846, |
| 133246 | + /* 530 */ 97, 97, 98, 98, 98, 98, 717, 96, 96, 96, |
| 133247 | + /* 540 */ 96, 95, 95, 94, 94, 94, 93, 351, 325, 843, |
| 133248 | + /* 550 */ 843, 855, 858, 996, 318, 343, 379, 100, 90, 842, |
| 133249 | + /* 560 */ 842, 854, 857, 846, 846, 97, 97, 98, 98, 98, |
| 133234 | 133250 | /* 570 */ 98, 450, 96, 96, 96, 96, 95, 95, 94, 94, |
| 133235 | 133251 | /* 580 */ 94, 93, 351, 325, 350, 350, 350, 260, 377, 340, |
| 133236 | | - /* 590 */ 927, 52, 52, 90, 840, 840, 852, 855, 844, 844, |
| 133252 | + /* 590 */ 929, 52, 52, 90, 842, 842, 854, 857, 846, 846, |
| 133237 | 133253 | /* 600 */ 97, 97, 98, 98, 98, 98, 361, 96, 96, 96, |
| 133238 | 133254 | /* 610 */ 96, 95, 95, 94, 94, 94, 93, 351, 86, 445, |
| 133239 | | - /* 620 */ 845, 3, 1200, 361, 360, 378, 344, 812, 956, 956, |
| 133240 | | - /* 630 */ 1297, 86, 445, 728, 3, 212, 169, 287, 405, 282, |
| 133241 | | - /* 640 */ 404, 199, 232, 450, 300, 759, 83, 84, 280, 245, |
| 133255 | + /* 620 */ 847, 3, 1203, 361, 360, 378, 344, 813, 958, 958, |
| 133256 | + /* 630 */ 1300, 86, 445, 729, 3, 212, 169, 287, 405, 282, |
| 133257 | + /* 640 */ 404, 199, 232, 450, 300, 760, 83, 84, 280, 245, |
| 133242 | 133258 | /* 650 */ 262, 365, 251, 85, 352, 352, 92, 89, 178, 83, |
| 133243 | 133259 | /* 660 */ 84, 242, 412, 52, 52, 448, 85, 352, 352, 246, |
| 133244 | | - /* 670 */ 957, 958, 194, 455, 669, 402, 399, 398, 448, 243, |
| 133245 | | - /* 680 */ 221, 114, 434, 775, 361, 450, 397, 268, 746, 224, |
| 133246 | | - /* 690 */ 224, 132, 132, 198, 830, 434, 452, 451, 428, 427, |
| 133247 | | - /* 700 */ 818, 415, 733, 712, 132, 52, 52, 830, 268, 452, |
| 133248 | | - /* 710 */ 451, 733, 194, 818, 363, 402, 399, 398, 450, 1268, |
| 133249 | | - /* 720 */ 1268, 23, 956, 956, 86, 445, 397, 3, 228, 429, |
| 133250 | | - /* 730 */ 893, 823, 823, 823, 825, 19, 203, 719, 52, 52, |
| 133251 | | - /* 740 */ 428, 408, 439, 249, 823, 823, 823, 825, 19, 229, |
| 133252 | | - /* 750 */ 403, 153, 83, 84, 760, 177, 241, 450, 720, 85, |
| 133253 | | - /* 760 */ 352, 352, 120, 157, 957, 958, 58, 975, 409, 355, |
| 133254 | | - /* 770 */ 330, 448, 268, 428, 430, 320, 789, 32, 32, 86, |
| 133255 | | - /* 780 */ 445, 775, 3, 341, 98, 98, 98, 98, 434, 96, |
| 133260 | + /* 670 */ 959, 960, 194, 455, 670, 402, 399, 398, 448, 243, |
| 133261 | + /* 680 */ 221, 114, 434, 776, 361, 450, 397, 268, 747, 224, |
| 133262 | + /* 690 */ 224, 132, 132, 198, 832, 434, 452, 451, 428, 427, |
| 133263 | + /* 700 */ 819, 415, 734, 713, 132, 52, 52, 832, 268, 452, |
| 133264 | + /* 710 */ 451, 734, 194, 819, 363, 402, 399, 398, 450, 1271, |
| 133265 | + /* 720 */ 1271, 23, 958, 958, 86, 445, 397, 3, 228, 429, |
| 133266 | + /* 730 */ 895, 824, 824, 826, 827, 19, 203, 720, 52, 52, |
| 133267 | + /* 740 */ 428, 408, 439, 249, 824, 824, 826, 827, 19, 229, |
| 133268 | + /* 750 */ 403, 153, 83, 84, 761, 177, 241, 450, 721, 85, |
| 133269 | + /* 760 */ 352, 352, 120, 157, 959, 960, 58, 977, 409, 355, |
| 133270 | + /* 770 */ 330, 448, 268, 428, 430, 320, 790, 32, 32, 86, |
| 133271 | + /* 780 */ 445, 776, 3, 341, 98, 98, 98, 98, 434, 96, |
| 133256 | 133272 | /* 790 */ 96, 96, 96, 95, 95, 94, 94, 94, 93, 351, |
| 133257 | | - /* 800 */ 830, 120, 452, 451, 812, 885, 818, 83, 84, 975, |
| 133258 | | - /* 810 */ 812, 132, 410, 918, 85, 352, 352, 132, 407, 788, |
| 133259 | | - /* 820 */ 956, 956, 92, 89, 178, 915, 448, 262, 370, 261, |
| 133260 | | - /* 830 */ 82, 912, 80, 262, 370, 261, 932, 823, 823, 823, |
| 133261 | | - /* 840 */ 825, 19, 257, 434, 96, 96, 96, 96, 95, 95, |
| 133262 | | - /* 850 */ 94, 94, 94, 93, 351, 830, 268, 452, 451, 956, |
| 133263 | | - /* 860 */ 956, 818, 957, 958, 120, 92, 89, 178, 943, 2, |
| 133264 | | - /* 870 */ 916, 963, 268, 1, 766, 76, 445, 761, 3, 707, |
| 133265 | | - /* 880 */ 899, 899, 387, 956, 956, 756, 917, 371, 739, 777, |
| 133266 | | - /* 890 */ 755, 907, 823, 823, 823, 825, 19, 883, 740, 450, |
| 133267 | | - /* 900 */ 24, 957, 958, 83, 84, 369, 956, 956, 708, 226, |
| 133268 | | - /* 910 */ 85, 352, 352, 745, 315, 314, 313, 215, 311, 10, |
| 133269 | | - /* 920 */ 10, 682, 448, 349, 348, 957, 958, 887, 776, 691, |
| 133270 | | - /* 930 */ 331, 956, 956, 337, 157, 450, 268, 103, 450, 434, |
| 133271 | | - /* 940 */ 450, 816, 310, 906, 887, 889, 321, 450, 957, 958, |
| 133272 | | - /* 950 */ 708, 830, 775, 452, 451, 10, 10, 818, 10, 10, |
| 133273 | | - /* 960 */ 52, 52, 171, 170, 180, 225, 248, 10, 10, 339, |
| 133274 | | - /* 970 */ 701, 701, 233, 957, 958, 247, 982, 741, 450, 956, |
| 133275 | | - /* 980 */ 956, 425, 157, 980, 685, 981, 182, 912, 823, 823, |
| 133276 | | - /* 990 */ 823, 825, 19, 183, 324, 423, 132, 181, 51, 51, |
| 133277 | | - /* 1000 */ 715, 349, 348, 394, 256, 887, 334, 915, 983, 983, |
| 133278 | | - /* 1010 */ 830, 417, 824, 234, 198, 234, 818, 268, 326, 382, |
| 133279 | | - /* 1020 */ 120, 957, 958, 264, 177, 98, 98, 98, 98, 91, |
| 133273 | + /* 800 */ 832, 120, 452, 451, 813, 887, 819, 83, 84, 977, |
| 133274 | + /* 810 */ 813, 132, 410, 920, 85, 352, 352, 132, 407, 789, |
| 133275 | + /* 820 */ 958, 958, 92, 89, 178, 917, 448, 262, 370, 261, |
| 133276 | + /* 830 */ 82, 914, 80, 262, 370, 261, 776, 824, 824, 826, |
| 133277 | + /* 840 */ 827, 19, 934, 434, 96, 96, 96, 96, 95, 95, |
| 133278 | + /* 850 */ 94, 94, 94, 93, 351, 832, 74, 452, 451, 958, |
| 133279 | + /* 860 */ 958, 819, 959, 960, 120, 92, 89, 178, 945, 2, |
| 133280 | + /* 870 */ 918, 965, 268, 1, 976, 76, 445, 762, 3, 708, |
| 133281 | + /* 880 */ 901, 901, 387, 958, 958, 757, 919, 371, 740, 778, |
| 133282 | + /* 890 */ 756, 257, 824, 824, 826, 827, 19, 417, 741, 450, |
| 133283 | + /* 900 */ 24, 959, 960, 83, 84, 369, 958, 958, 177, 226, |
| 133284 | + /* 910 */ 85, 352, 352, 885, 315, 314, 313, 215, 311, 10, |
| 133285 | + /* 920 */ 10, 683, 448, 349, 348, 959, 960, 909, 777, 157, |
| 133286 | + /* 930 */ 120, 958, 958, 337, 776, 416, 711, 310, 450, 434, |
| 133287 | + /* 940 */ 450, 321, 450, 791, 103, 200, 175, 450, 959, 960, |
| 133288 | + /* 950 */ 908, 832, 792, 452, 451, 9, 9, 819, 10, 10, |
| 133289 | + /* 960 */ 52, 52, 51, 51, 180, 716, 248, 10, 10, 171, |
| 133290 | + /* 970 */ 170, 167, 339, 959, 960, 247, 984, 702, 702, 450, |
| 133291 | + /* 980 */ 715, 233, 686, 982, 889, 983, 182, 914, 824, 824, |
| 133292 | + /* 990 */ 826, 827, 19, 183, 256, 423, 132, 181, 394, 10, |
| 133293 | + /* 1000 */ 10, 889, 891, 749, 958, 958, 917, 268, 985, 198, |
| 133294 | + /* 1010 */ 985, 349, 348, 425, 415, 299, 817, 832, 326, 825, |
| 133295 | + /* 1020 */ 120, 332, 133, 819, 268, 98, 98, 98, 98, 91, |
| 133280 | 133296 | /* 1030 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, |
| 133281 | | - /* 1040 */ 351, 816, 416, 371, 120, 359, 816, 823, 823, 823, |
| 133282 | | - /* 1050 */ 775, 299, 916, 450, 368, 197, 196, 195, 358, 200, |
| 133283 | | - /* 1060 */ 175, 380, 9, 9, 450, 1287, 875, 714, 917, 450, |
| 133284 | | - /* 1070 */ 433, 237, 450, 36, 36, 132, 253, 450, 255, 450, |
| 133285 | | - /* 1080 */ 117, 450, 809, 362, 37, 37, 983, 983, 450, 12, |
| 133286 | | - /* 1090 */ 12, 330, 27, 27, 446, 331, 280, 38, 38, 39, |
| 133287 | | - /* 1100 */ 39, 40, 40, 1207, 450, 816, 335, 356, 41, 41, |
| 133288 | | - /* 1110 */ 450, 336, 450, 695, 450, 120, 450, 332, 133, 450, |
| 133289 | | - /* 1120 */ 268, 450, 269, 450, 42, 42, 450, 816, 254, 450, |
| 133290 | | - /* 1130 */ 28, 28, 29, 29, 31, 31, 43, 43, 450, 44, |
| 133291 | | - /* 1140 */ 44, 45, 45, 11, 11, 450, 46, 46, 450, 105, |
| 133292 | | - /* 1150 */ 105, 450, 748, 713, 450, 695, 450, 910, 47, 47, |
| 133293 | | - /* 1160 */ 450, 267, 450, 415, 450, 48, 48, 450, 33, 33, |
| 133294 | | - /* 1170 */ 386, 49, 49, 450, 50, 50, 34, 34, 450, 172, |
| 133295 | | - /* 1180 */ 122, 122, 123, 123, 124, 124, 450, 56, 56, 450, |
| 133296 | | - /* 1190 */ 120, 450, 345, 35, 35, 450, 790, 450, 106, 106, |
| 133297 | | - /* 1200 */ 450, 74, 450, 974, 450, 791, 53, 53, 432, 107, |
| 133298 | | - /* 1210 */ 107, 108, 108, 450, 272, 104, 104, 121, 121, 450, |
| 133299 | | - /* 1220 */ 119, 119, 112, 112, 111, 111, 450, 317, 996, 450, |
| 133300 | | - /* 1230 */ 118, 450, 162, 109, 109, 317, 935, 450, 896, 110, |
| 133301 | | - /* 1240 */ 110, 450, 895, 744, 688, 436, 55, 55, 20, 57, |
| 133302 | | - /* 1250 */ 57, 54, 54, 440, 444, 756, 385, 26, 26, 274, |
| 133303 | | - /* 1260 */ 755, 30, 30, 21, 672, 673, 674, 223, 175, 931, |
| 133304 | | - /* 1270 */ 814, 372, 319, 202, 202, 882, 120, 120, 120, 374, |
| 133305 | | - /* 1280 */ 826, 710, 202, 72, 276, 263, 120, 120, 74, 395, |
| 133306 | | - /* 1290 */ 278, 286, 208, 74, 718, 717, 725, 726, 892, 892, |
| 133307 | | - /* 1300 */ 167, 997, 285, 753, 729, 784, 77, 878, 202, 997, |
| 133308 | | - /* 1310 */ 208, 693, 891, 891, 116, 281, 782, 882, 390, 815, |
| 133309 | | - /* 1320 */ 762, 773, 826, 431, 302, 303, 822, 218, 696, 289, |
| 133310 | | - /* 1330 */ 690, 291, 293, 679, 678, 680, 950, 159, 316, 7, |
| 133311 | | - /* 1340 */ 364, 252, 259, 804, 909, 376, 400, 295, 308, 173, |
| 133312 | | - /* 1350 */ 435, 953, 168, 991, 135, 205, 926, 924, 59, 988, |
| 133313 | | - /* 1360 */ 62, 284, 880, 333, 879, 712, 144, 156, 130, 72, |
| 133314 | | - /* 1370 */ 366, 367, 393, 185, 189, 160, 383, 67, 389, 266, |
| 133315 | | - /* 1380 */ 137, 894, 774, 219, 154, 139, 190, 140, 391, 271, |
| 133316 | | - /* 1390 */ 191, 141, 142, 801, 681, 148, 811, 342, 322, 192, |
| 133317 | | - /* 1400 */ 406, 732, 911, 874, 723, 731, 323, 710, 730, 71, |
| 133318 | | - /* 1410 */ 704, 204, 283, 703, 6, 79, 421, 702, 965, 770, |
| 133319 | | - /* 1420 */ 297, 346, 426, 102, 722, 288, 73, 424, 213, 951, |
| 133320 | | - /* 1430 */ 771, 438, 22, 290, 687, 769, 442, 453, 239, 217, |
| 133321 | | - /* 1440 */ 214, 668, 125, 353, 126, 216, 454, 166, 676, 115, |
| 133322 | | - /* 1450 */ 675, 235, 244, 179, 670, 357, 810, 113, 890, 888, |
| 133323 | | - /* 1460 */ 292, 136, 128, 752, 304, 768, 294, 305, 138, 742, |
| 133324 | | - /* 1470 */ 306, 307, 127, 184, 860, 258, 905, 145, 143, 238, |
| 133325 | | - /* 1480 */ 63, 64, 65, 66, 240, 129, 908, 186, 187, 904, |
| 133326 | | - /* 1490 */ 8, 13, 188, 265, 897, 149, 202, 985, 388, 684, |
| 133327 | | - /* 1500 */ 150, 161, 392, 285, 193, 279, 151, 396, 68, 14, |
| 133328 | | - /* 1510 */ 401, 15, 327, 721, 328, 134, 69, 70, 236, 131, |
| 133329 | | - /* 1520 */ 829, 828, 858, 750, 16, 201, 754, 4, 783, 220, |
| 133330 | | - /* 1530 */ 414, 174, 222, 152, 77, 778, 74, 17, 18, 873, |
| 133331 | | - /* 1540 */ 859, 857, 914, 862, 913, 207, 206, 940, 163, 437, |
| 133332 | | - /* 1550 */ 946, 941, 164, 209, 210, 441, 861, 165, 312, 827, |
| 133333 | | - /* 1560 */ 694, 87, 1000, 309, 211, 1000, 1000, 1000, 1000, 1289, |
| 133334 | | - /* 1570 */ 1288, |
| 133297 | + /* 1040 */ 351, 157, 810, 371, 382, 359, 959, 960, 358, 268, |
| 133298 | + /* 1050 */ 450, 918, 368, 324, 824, 824, 826, 450, 709, 450, |
| 133299 | + /* 1060 */ 264, 380, 889, 450, 877, 746, 253, 919, 255, 433, |
| 133300 | + /* 1070 */ 36, 36, 234, 450, 234, 120, 269, 37, 37, 12, |
| 133301 | + /* 1080 */ 12, 334, 272, 27, 27, 450, 330, 118, 450, 162, |
| 133302 | + /* 1090 */ 742, 280, 450, 38, 38, 450, 985, 356, 985, 450, |
| 133303 | + /* 1100 */ 709, 1210, 450, 132, 450, 39, 39, 450, 40, 40, |
| 133304 | + /* 1110 */ 450, 362, 41, 41, 450, 42, 42, 450, 254, 28, |
| 133305 | + /* 1120 */ 28, 450, 29, 29, 31, 31, 450, 43, 43, 450, |
| 133306 | + /* 1130 */ 44, 44, 450, 714, 45, 45, 450, 11, 11, 767, |
| 133307 | + /* 1140 */ 450, 46, 46, 450, 268, 450, 105, 105, 450, 47, |
| 133308 | + /* 1150 */ 47, 450, 48, 48, 450, 237, 33, 33, 450, 172, |
| 133309 | + /* 1160 */ 49, 49, 450, 50, 50, 34, 34, 274, 122, 122, |
| 133310 | + /* 1170 */ 450, 123, 123, 450, 124, 124, 450, 898, 56, 56, |
| 133311 | + /* 1180 */ 450, 897, 35, 35, 450, 267, 450, 817, 450, 817, |
| 133312 | + /* 1190 */ 106, 106, 450, 53, 53, 385, 107, 107, 450, 817, |
| 133313 | + /* 1200 */ 108, 108, 817, 450, 104, 104, 121, 121, 119, 119, |
| 133314 | + /* 1210 */ 450, 117, 112, 112, 450, 276, 450, 225, 111, 111, |
| 133315 | + /* 1220 */ 450, 730, 450, 109, 109, 450, 673, 674, 675, 912, |
| 133316 | + /* 1230 */ 110, 110, 317, 998, 55, 55, 57, 57, 692, 331, |
| 133317 | + /* 1240 */ 54, 54, 26, 26, 696, 30, 30, 317, 937, 197, |
| 133318 | + /* 1250 */ 196, 195, 335, 281, 336, 446, 331, 745, 689, 436, |
| 133319 | + /* 1260 */ 440, 444, 120, 72, 386, 223, 175, 345, 757, 933, |
| 133320 | + /* 1270 */ 20, 286, 319, 756, 815, 372, 374, 202, 202, 202, |
| 133321 | + /* 1280 */ 263, 395, 285, 74, 208, 21, 696, 719, 718, 884, |
| 133322 | + /* 1290 */ 120, 120, 120, 120, 120, 754, 278, 828, 77, 74, |
| 133323 | + /* 1300 */ 726, 727, 785, 783, 880, 202, 999, 208, 894, 893, |
| 133324 | + /* 1310 */ 894, 893, 694, 816, 763, 116, 774, 1290, 431, 432, |
| 133325 | + /* 1320 */ 302, 999, 390, 303, 823, 697, 691, 680, 159, 289, |
| 133326 | + /* 1330 */ 679, 884, 681, 952, 291, 218, 293, 7, 316, 828, |
| 133327 | + /* 1340 */ 173, 805, 259, 364, 252, 911, 376, 713, 295, 435, |
| 133328 | + /* 1350 */ 308, 168, 955, 993, 135, 400, 990, 284, 882, 881, |
| 133329 | + /* 1360 */ 205, 928, 926, 59, 333, 62, 144, 156, 130, 72, |
| 133330 | + /* 1370 */ 802, 366, 367, 393, 137, 185, 189, 160, 139, 383, |
| 133331 | + /* 1380 */ 67, 896, 140, 141, 142, 148, 389, 812, 775, 266, |
| 133332 | + /* 1390 */ 219, 190, 154, 391, 913, 876, 271, 406, 191, 322, |
| 133333 | + /* 1400 */ 682, 733, 192, 342, 732, 724, 731, 711, 723, 421, |
| 133334 | + /* 1410 */ 705, 71, 323, 6, 204, 771, 288, 79, 297, 346, |
| 133335 | + /* 1420 */ 772, 704, 290, 283, 703, 770, 292, 294, 967, 239, |
| 133336 | + /* 1430 */ 769, 102, 862, 438, 426, 240, 424, 442, 73, 213, |
| 133337 | + /* 1440 */ 688, 238, 22, 453, 953, 214, 217, 216, 454, 677, |
| 133338 | + /* 1450 */ 676, 671, 753, 125, 115, 235, 126, 669, 353, 166, |
| 133339 | + /* 1460 */ 127, 244, 179, 357, 306, 304, 305, 307, 113, 892, |
| 133340 | + /* 1470 */ 327, 890, 811, 328, 134, 128, 136, 138, 743, 258, |
| 133341 | + /* 1480 */ 907, 184, 143, 129, 910, 186, 63, 64, 145, 187, |
| 133342 | + /* 1490 */ 906, 65, 8, 66, 13, 188, 202, 899, 265, 149, |
| 133343 | + /* 1500 */ 987, 388, 150, 685, 161, 392, 285, 193, 279, 396, |
| 133344 | + /* 1510 */ 151, 401, 68, 14, 15, 722, 69, 236, 831, 131, |
| 133345 | + /* 1520 */ 830, 860, 70, 751, 16, 414, 755, 4, 174, 220, |
| 133346 | + /* 1530 */ 222, 784, 201, 152, 779, 77, 74, 17, 18, 875, |
| 133347 | + /* 1540 */ 861, 859, 916, 864, 915, 207, 206, 942, 163, 437, |
| 133348 | + /* 1550 */ 948, 943, 164, 209, 1002, 441, 863, 165, 210, 829, |
| 133349 | + /* 1560 */ 695, 87, 312, 211, 1292, 1291, 309, |
| 133335 | 133350 | }; |
| 133336 | 133351 | static const YYCODETYPE yy_lookahead[] = { |
| 133337 | 133352 | /* 0 */ 19, 95, 53, 97, 22, 24, 24, 101, 27, 28, |
| 133338 | 133353 | /* 10 */ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, |
| 133339 | 133354 | /* 20 */ 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, |
| | @@ -133415,87 +133430,86 @@ |
| 133415 | 133430 | /* 780 */ 20, 124, 22, 111, 38, 39, 40, 41, 83, 43, |
| 133416 | 133431 | /* 790 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 133417 | 133432 | /* 800 */ 95, 196, 97, 98, 85, 152, 101, 47, 48, 97, |
| 133418 | 133433 | /* 810 */ 85, 92, 207, 193, 54, 55, 56, 92, 49, 175, |
| 133419 | 133434 | /* 820 */ 55, 56, 221, 222, 223, 12, 66, 108, 109, 110, |
| 133420 | | - /* 830 */ 137, 163, 139, 108, 109, 110, 152, 132, 133, 134, |
| 133435 | + /* 830 */ 137, 163, 139, 108, 109, 110, 26, 132, 133, 134, |
| 133421 | 133436 | /* 840 */ 135, 136, 152, 83, 43, 44, 45, 46, 47, 48, |
| 133422 | | - /* 850 */ 49, 50, 51, 52, 53, 95, 152, 97, 98, 55, |
| 133437 | + /* 850 */ 49, 50, 51, 52, 53, 95, 26, 97, 98, 55, |
| 133423 | 133438 | /* 860 */ 56, 101, 97, 98, 196, 221, 222, 223, 146, 147, |
| 133424 | | - /* 870 */ 57, 171, 152, 22, 213, 19, 20, 49, 22, 179, |
| 133439 | + /* 870 */ 57, 171, 152, 22, 26, 19, 20, 49, 22, 179, |
| 133425 | 133440 | /* 880 */ 108, 109, 110, 55, 56, 116, 73, 219, 75, 124, |
| 133426 | | - /* 890 */ 121, 152, 132, 133, 134, 135, 136, 193, 85, 152, |
| 133427 | | - /* 900 */ 232, 97, 98, 47, 48, 237, 55, 56, 55, 5, |
| 133441 | + /* 890 */ 121, 152, 132, 133, 134, 135, 136, 163, 85, 152, |
| 133442 | + /* 900 */ 232, 97, 98, 47, 48, 237, 55, 56, 98, 5, |
| 133428 | 133443 | /* 910 */ 54, 55, 56, 193, 10, 11, 12, 13, 14, 172, |
| 133429 | | - /* 920 */ 173, 17, 66, 47, 48, 97, 98, 152, 124, 166, |
| 133430 | | - /* 930 */ 167, 55, 56, 186, 152, 152, 152, 22, 152, 83, |
| 133431 | | - /* 940 */ 152, 152, 160, 152, 169, 170, 164, 152, 97, 98, |
| 133432 | | - /* 950 */ 97, 95, 26, 97, 98, 172, 173, 101, 172, 173, |
| 133433 | | - /* 960 */ 172, 173, 47, 48, 60, 22, 62, 172, 173, 186, |
| 133434 | | - /* 970 */ 55, 56, 186, 97, 98, 71, 100, 193, 152, 55, |
| 133435 | | - /* 980 */ 56, 186, 152, 107, 21, 109, 82, 163, 132, 133, |
| 133436 | | - /* 990 */ 134, 135, 136, 89, 164, 207, 92, 93, 172, 173, |
| 133437 | | - /* 1000 */ 181, 47, 48, 19, 16, 230, 217, 12, 132, 133, |
| 133438 | | - /* 1010 */ 95, 163, 97, 183, 30, 185, 101, 152, 114, 152, |
| 133439 | | - /* 1020 */ 196, 97, 98, 152, 98, 38, 39, 40, 41, 42, |
| 133444 | + /* 920 */ 173, 17, 66, 47, 48, 97, 98, 152, 124, 152, |
| 133445 | + /* 930 */ 196, 55, 56, 186, 124, 152, 106, 160, 152, 83, |
| 133446 | + /* 940 */ 152, 164, 152, 61, 22, 211, 212, 152, 97, 98, |
| 133447 | + /* 950 */ 152, 95, 70, 97, 98, 172, 173, 101, 172, 173, |
| 133448 | + /* 960 */ 172, 173, 172, 173, 60, 181, 62, 172, 173, 47, |
| 133449 | + /* 970 */ 48, 123, 186, 97, 98, 71, 100, 55, 56, 152, |
| 133450 | + /* 980 */ 181, 186, 21, 107, 152, 109, 82, 163, 132, 133, |
| 133451 | + /* 990 */ 134, 135, 136, 89, 16, 207, 92, 93, 19, 172, |
| 133452 | + /* 1000 */ 173, 169, 170, 195, 55, 56, 12, 152, 132, 30, |
| 133453 | + /* 1010 */ 134, 47, 48, 186, 206, 225, 152, 95, 114, 97, |
| 133454 | + /* 1020 */ 196, 245, 246, 101, 152, 38, 39, 40, 41, 42, |
| 133440 | 133455 | /* 1030 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 133441 | | - /* 1040 */ 53, 152, 152, 219, 196, 141, 152, 132, 133, 134, |
| 133442 | | - /* 1050 */ 124, 225, 57, 152, 91, 108, 109, 110, 193, 211, |
| 133443 | | - /* 1060 */ 212, 237, 172, 173, 152, 122, 103, 181, 73, 152, |
| 133444 | | - /* 1070 */ 75, 210, 152, 172, 173, 92, 88, 152, 90, 152, |
| 133445 | | - /* 1080 */ 22, 152, 163, 100, 172, 173, 132, 133, 152, 172, |
| 133446 | | - /* 1090 */ 173, 107, 172, 173, 166, 167, 112, 172, 173, 172, |
| 133447 | | - /* 1100 */ 173, 172, 173, 140, 152, 152, 217, 242, 172, 173, |
| 133448 | | - /* 1110 */ 152, 217, 152, 55, 152, 196, 152, 245, 246, 152, |
| 133449 | | - /* 1120 */ 152, 152, 152, 152, 172, 173, 152, 152, 140, 152, |
| 133450 | | - /* 1130 */ 172, 173, 172, 173, 172, 173, 172, 173, 152, 172, |
| 133451 | | - /* 1140 */ 173, 172, 173, 172, 173, 152, 172, 173, 152, 172, |
| 133452 | | - /* 1150 */ 173, 152, 195, 152, 152, 97, 152, 163, 172, 173, |
| 133453 | | - /* 1160 */ 152, 193, 152, 206, 152, 172, 173, 152, 172, 173, |
| 133454 | | - /* 1170 */ 217, 172, 173, 152, 172, 173, 172, 173, 152, 26, |
| 133455 | | - /* 1180 */ 172, 173, 172, 173, 172, 173, 152, 172, 173, 152, |
| 133456 | | - /* 1190 */ 196, 152, 217, 172, 173, 152, 61, 152, 172, 173, |
| 133457 | | - /* 1200 */ 152, 26, 152, 26, 152, 70, 172, 173, 191, 172, |
| 133458 | | - /* 1210 */ 173, 172, 173, 152, 152, 172, 173, 172, 173, 152, |
| 133459 | | - /* 1220 */ 172, 173, 172, 173, 172, 173, 152, 22, 23, 152, |
| 133460 | | - /* 1230 */ 22, 152, 24, 172, 173, 22, 23, 152, 59, 172, |
| 133461 | | - /* 1240 */ 173, 152, 63, 163, 163, 163, 172, 173, 22, 172, |
| 133462 | | - /* 1250 */ 173, 172, 173, 163, 163, 116, 77, 172, 173, 152, |
| 133463 | | - /* 1260 */ 121, 172, 173, 37, 7, 8, 9, 211, 212, 23, |
| 133464 | | - /* 1270 */ 23, 23, 26, 26, 26, 55, 196, 196, 196, 23, |
| 133465 | | - /* 1280 */ 55, 106, 26, 130, 152, 23, 196, 196, 26, 23, |
| 133466 | | - /* 1290 */ 23, 101, 26, 26, 100, 101, 7, 8, 132, 133, |
| 133467 | | - /* 1300 */ 123, 96, 112, 23, 152, 23, 26, 23, 26, 96, |
| 133468 | | - /* 1310 */ 26, 23, 132, 133, 26, 152, 152, 97, 234, 152, |
| 133469 | | - /* 1320 */ 152, 152, 97, 152, 152, 152, 152, 233, 152, 210, |
| 133470 | | - /* 1330 */ 152, 210, 210, 152, 152, 152, 152, 197, 150, 198, |
| 133471 | | - /* 1340 */ 214, 214, 239, 201, 201, 239, 176, 214, 200, 184, |
| 133472 | | - /* 1350 */ 227, 155, 198, 67, 243, 122, 159, 159, 240, 69, |
| 133473 | | - /* 1360 */ 240, 175, 175, 159, 175, 180, 22, 220, 27, 130, |
| 133474 | | - /* 1370 */ 18, 159, 18, 158, 158, 220, 159, 137, 74, 235, |
| 133475 | | - /* 1380 */ 189, 236, 159, 159, 22, 192, 158, 192, 177, 159, |
| 133476 | | - /* 1390 */ 158, 192, 192, 201, 159, 189, 189, 76, 177, 158, |
| 133477 | | - /* 1400 */ 107, 174, 201, 201, 182, 174, 177, 106, 174, 107, |
| 133478 | | - /* 1410 */ 174, 159, 174, 176, 22, 137, 125, 174, 174, 216, |
| 133479 | | - /* 1420 */ 159, 53, 126, 129, 182, 215, 128, 127, 25, 13, |
| 133480 | | - /* 1430 */ 216, 177, 26, 215, 162, 216, 177, 161, 229, 6, |
| 133481 | | - /* 1440 */ 153, 4, 165, 3, 165, 153, 151, 22, 151, 178, |
| 133482 | | - /* 1450 */ 151, 178, 142, 15, 151, 94, 120, 16, 23, 23, |
| 133483 | | - /* 1460 */ 215, 131, 111, 205, 204, 216, 215, 203, 123, 20, |
| 133484 | | - /* 1470 */ 202, 201, 165, 125, 224, 16, 1, 131, 123, 226, |
| 133485 | | - /* 1480 */ 37, 37, 37, 37, 229, 111, 56, 64, 122, 1, |
| 133486 | | - /* 1490 */ 5, 22, 107, 140, 80, 80, 26, 87, 72, 20, |
| 133487 | | - /* 1500 */ 107, 24, 19, 112, 105, 23, 22, 79, 22, 22, |
| 133488 | | - /* 1510 */ 79, 22, 249, 58, 249, 246, 22, 26, 79, 68, |
| 133489 | | - /* 1520 */ 23, 23, 23, 116, 22, 64, 23, 22, 56, 23, |
| 133490 | | - /* 1530 */ 26, 122, 23, 22, 26, 124, 26, 64, 64, 23, |
| 133456 | + /* 1040 */ 53, 152, 163, 219, 152, 141, 97, 98, 193, 152, |
| 133457 | + /* 1050 */ 152, 57, 91, 164, 132, 133, 134, 152, 55, 152, |
| 133458 | + /* 1060 */ 152, 237, 230, 152, 103, 193, 88, 73, 90, 75, |
| 133459 | + /* 1070 */ 172, 173, 183, 152, 185, 196, 152, 172, 173, 172, |
| 133460 | + /* 1080 */ 173, 217, 152, 172, 173, 152, 107, 22, 152, 24, |
| 133461 | + /* 1090 */ 193, 112, 152, 172, 173, 152, 132, 242, 134, 152, |
| 133462 | + /* 1100 */ 97, 140, 152, 92, 152, 172, 173, 152, 172, 173, |
| 133463 | + /* 1110 */ 152, 100, 172, 173, 152, 172, 173, 152, 140, 172, |
| 133464 | + /* 1120 */ 173, 152, 172, 173, 172, 173, 152, 172, 173, 152, |
| 133465 | + /* 1130 */ 172, 173, 152, 152, 172, 173, 152, 172, 173, 213, |
| 133466 | + /* 1140 */ 152, 172, 173, 152, 152, 152, 172, 173, 152, 172, |
| 133467 | + /* 1150 */ 173, 152, 172, 173, 152, 210, 172, 173, 152, 26, |
| 133468 | + /* 1160 */ 172, 173, 152, 172, 173, 172, 173, 152, 172, 173, |
| 133469 | + /* 1170 */ 152, 172, 173, 152, 172, 173, 152, 59, 172, 173, |
| 133470 | + /* 1180 */ 152, 63, 172, 173, 152, 193, 152, 152, 152, 152, |
| 133471 | + /* 1190 */ 172, 173, 152, 172, 173, 77, 172, 173, 152, 152, |
| 133472 | + /* 1200 */ 172, 173, 152, 152, 172, 173, 172, 173, 172, 173, |
| 133473 | + /* 1210 */ 152, 22, 172, 173, 152, 152, 152, 22, 172, 173, |
| 133474 | + /* 1220 */ 152, 152, 152, 172, 173, 152, 7, 8, 9, 163, |
| 133475 | + /* 1230 */ 172, 173, 22, 23, 172, 173, 172, 173, 166, 167, |
| 133476 | + /* 1240 */ 172, 173, 172, 173, 55, 172, 173, 22, 23, 108, |
| 133477 | + /* 1250 */ 109, 110, 217, 152, 217, 166, 167, 163, 163, 163, |
| 133478 | + /* 1260 */ 163, 163, 196, 130, 217, 211, 212, 217, 116, 23, |
| 133479 | + /* 1270 */ 22, 101, 26, 121, 23, 23, 23, 26, 26, 26, |
| 133480 | + /* 1280 */ 23, 23, 112, 26, 26, 37, 97, 100, 101, 55, |
| 133481 | + /* 1290 */ 196, 196, 196, 196, 196, 23, 23, 55, 26, 26, |
| 133482 | + /* 1300 */ 7, 8, 23, 152, 23, 26, 96, 26, 132, 132, |
| 133483 | + /* 1310 */ 134, 134, 23, 152, 152, 26, 152, 122, 152, 191, |
| 133484 | + /* 1320 */ 152, 96, 234, 152, 152, 152, 152, 152, 197, 210, |
| 133485 | + /* 1330 */ 152, 97, 152, 152, 210, 233, 210, 198, 150, 97, |
| 133486 | + /* 1340 */ 184, 201, 239, 214, 214, 201, 239, 180, 214, 227, |
| 133487 | + /* 1350 */ 200, 198, 155, 67, 243, 176, 69, 175, 175, 175, |
| 133488 | + /* 1360 */ 122, 159, 159, 240, 159, 240, 22, 220, 27, 130, |
| 133489 | + /* 1370 */ 201, 18, 159, 18, 189, 158, 158, 220, 192, 159, |
| 133490 | + /* 1380 */ 137, 236, 192, 192, 192, 189, 74, 189, 159, 235, |
| 133491 | + /* 1390 */ 159, 158, 22, 177, 201, 201, 159, 107, 158, 177, |
| 133492 | + /* 1400 */ 159, 174, 158, 76, 174, 182, 174, 106, 182, 125, |
| 133493 | + /* 1410 */ 174, 107, 177, 22, 159, 216, 215, 137, 159, 53, |
| 133494 | + /* 1420 */ 216, 176, 215, 174, 174, 216, 215, 215, 174, 229, |
| 133495 | + /* 1430 */ 216, 129, 224, 177, 126, 229, 127, 177, 128, 25, |
| 133496 | + /* 1440 */ 162, 226, 26, 161, 13, 153, 6, 153, 151, 151, |
| 133497 | + /* 1450 */ 151, 151, 205, 165, 178, 178, 165, 4, 3, 22, |
| 133498 | + /* 1460 */ 165, 142, 15, 94, 202, 204, 203, 201, 16, 23, |
| 133499 | + /* 1470 */ 249, 23, 120, 249, 246, 111, 131, 123, 20, 16, |
| 133500 | + /* 1480 */ 1, 125, 123, 111, 56, 64, 37, 37, 131, 122, |
| 133501 | + /* 1490 */ 1, 37, 5, 37, 22, 107, 26, 80, 140, 80, |
| 133502 | + /* 1500 */ 87, 72, 107, 20, 24, 19, 112, 105, 23, 79, |
| 133503 | + /* 1510 */ 22, 79, 22, 22, 22, 58, 22, 79, 23, 68, |
| 133504 | + /* 1520 */ 23, 23, 26, 116, 22, 26, 23, 22, 122, 23, |
| 133505 | + /* 1530 */ 23, 56, 64, 22, 124, 26, 26, 64, 64, 23, |
| 133491 | 133506 | /* 1540 */ 23, 23, 23, 11, 23, 22, 26, 23, 22, 24, |
| 133492 | | - /* 1550 */ 1, 23, 22, 26, 122, 24, 23, 22, 15, 23, |
| 133493 | | - /* 1560 */ 23, 22, 251, 23, 122, 251, 251, 251, 251, 122, |
| 133494 | | - /* 1570 */ 122, |
| 133507 | + /* 1550 */ 1, 23, 22, 26, 251, 24, 23, 22, 122, 23, |
| 133508 | + /* 1560 */ 23, 22, 15, 122, 122, 122, 23, |
| 133495 | 133509 | }; |
| 133496 | | -#define YY_SHIFT_USE_DFLT (1571) |
| 133510 | +#define YY_SHIFT_USE_DFLT (1567) |
| 133497 | 133511 | #define YY_SHIFT_COUNT (455) |
| 133498 | 133512 | #define YY_SHIFT_MIN (-94) |
| 133499 | 133513 | #define YY_SHIFT_MAX (1549) |
| 133500 | 133514 | static const short yy_shift_ofst[] = { |
| 133501 | 133515 | /* 0 */ 40, 599, 904, 612, 760, 760, 760, 760, 725, -19, |
| | @@ -133507,132 +133521,132 @@ |
| 133507 | 133521 | /* 60 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, |
| 133508 | 133522 | /* 70 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, |
| 133509 | 133523 | /* 80 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, |
| 133510 | 133524 | /* 90 */ 856, 760, 760, 760, 760, 760, 760, 760, 760, 760, |
| 133511 | 133525 | /* 100 */ 760, 760, 760, 760, 987, 746, 746, 746, 746, 746, |
| 133512 | | - /* 110 */ 801, 23, 32, 924, 963, 984, 954, 954, 924, 73, |
| 133513 | | - /* 120 */ 113, -51, 1571, 1571, 1571, 536, 536, 536, 99, 99, |
| 133514 | | - /* 130 */ 813, 813, 667, 205, 240, 924, 924, 924, 924, 924, |
| 133515 | | - /* 140 */ 924, 924, 924, 924, 924, 924, 924, 924, 924, 924, |
| 133516 | | - /* 150 */ 924, 924, 924, 924, 924, 332, 983, 422, 422, 113, |
| 133517 | | - /* 160 */ 30, 30, 30, 30, 30, 30, 1571, 1571, 1571, 915, |
| 133518 | | - /* 170 */ -94, -94, 384, 613, 828, 420, 765, 804, 851, 924, |
| 133519 | | - /* 180 */ 924, 924, 924, 924, 924, 924, 924, 924, 924, 924, |
| 133520 | | - /* 190 */ 924, 924, 924, 924, 924, 672, 672, 672, 924, 924, |
| 133521 | | - /* 200 */ 657, 924, 924, 924, -18, 924, 924, 995, 924, 924, |
| 133522 | | - /* 210 */ 924, 924, 924, 924, 924, 924, 924, 924, 772, 1179, |
| 133523 | | - /* 220 */ 712, 712, 712, 926, 45, 769, 1257, 1153, 418, 418, |
| 133524 | | - /* 230 */ 569, 1153, 569, 1175, 607, 663, 1135, 418, 693, 1135, |
| 133525 | | - /* 240 */ 1135, 1177, 1139, 1208, 1286, 1233, 1233, 1290, 1290, 1233, |
| 133526 | | - /* 250 */ 1344, 1341, 1239, 1352, 1352, 1352, 1352, 1233, 1354, 1239, |
| 133527 | | - /* 260 */ 1344, 1341, 1341, 1239, 1233, 1354, 1240, 1304, 1233, 1233, |
| 133528 | | - /* 270 */ 1354, 1362, 1233, 1354, 1233, 1354, 1362, 1293, 1293, 1293, |
| 133529 | | - /* 280 */ 1321, 1362, 1293, 1301, 1293, 1321, 1293, 1293, 1291, 1302, |
| 133530 | | - /* 290 */ 1291, 1302, 1291, 1302, 1291, 1302, 1233, 1392, 1233, 1278, |
| 133531 | | - /* 300 */ 1362, 1368, 1368, 1362, 1294, 1296, 1298, 1300, 1239, 1403, |
| 133532 | | - /* 310 */ 1406, 1416, 1416, 1433, 1433, 1433, 1433, 1571, 1571, 1571, |
| 133533 | | - /* 320 */ 1571, 1571, 1571, 1571, 1571, 519, 988, 1205, 1213, 104, |
| 133534 | | - /* 330 */ 947, 1058, 1246, 1226, 1247, 1248, 1256, 1262, 1266, 1267, |
| 133535 | | - /* 340 */ 853, 1194, 1289, 1190, 1280, 1282, 1220, 1284, 1166, 1180, |
| 133536 | | - /* 350 */ 1288, 1225, 943, 1437, 1440, 1425, 1310, 1438, 1361, 1441, |
| 133537 | | - /* 360 */ 1435, 1436, 1336, 1330, 1351, 1345, 1449, 1348, 1459, 1475, |
| 133538 | | - /* 370 */ 1355, 1346, 1443, 1444, 1445, 1446, 1374, 1430, 1423, 1366, |
| 133539 | | - /* 380 */ 1488, 1485, 1469, 1385, 1353, 1414, 1470, 1415, 1410, 1426, |
| 133540 | | - /* 390 */ 1393, 1477, 1479, 1483, 1391, 1399, 1484, 1428, 1486, 1487, |
| 133541 | | - /* 400 */ 1482, 1489, 1431, 1455, 1494, 1439, 1451, 1497, 1498, 1499, |
| 133542 | | - /* 410 */ 1491, 1407, 1502, 1503, 1505, 1504, 1409, 1506, 1509, 1472, |
| 133543 | | - /* 420 */ 1461, 1511, 1411, 1508, 1473, 1510, 1474, 1516, 1508, 1517, |
| 133526 | + /* 110 */ 801, 23, 32, 949, 961, 979, 964, 964, 949, 73, |
| 133527 | + /* 120 */ 113, -51, 1567, 1567, 1567, 536, 536, 536, 99, 99, |
| 133528 | + /* 130 */ 813, 813, 667, 205, 240, 949, 949, 949, 949, 949, |
| 133529 | + /* 140 */ 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, |
| 133530 | + /* 150 */ 949, 949, 949, 949, 949, 332, 1011, 422, 422, 113, |
| 133531 | + /* 160 */ 30, 30, 30, 30, 30, 30, 1567, 1567, 1567, 922, |
| 133532 | + /* 170 */ -94, -94, 384, 613, 828, 420, 765, 804, 851, 949, |
| 133533 | + /* 180 */ 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, |
| 133534 | + /* 190 */ 949, 949, 949, 949, 949, 672, 672, 672, 949, 949, |
| 133535 | + /* 200 */ 657, 949, 949, 949, -18, 949, 949, 994, 949, 949, |
| 133536 | + /* 210 */ 949, 949, 949, 949, 949, 949, 949, 949, 772, 1118, |
| 133537 | + /* 220 */ 712, 712, 712, 810, 45, 769, 1219, 1133, 418, 418, |
| 133538 | + /* 230 */ 569, 1133, 569, 830, 607, 663, 882, 418, 693, 882, |
| 133539 | + /* 240 */ 882, 848, 1152, 1065, 1286, 1238, 1238, 1287, 1287, 1238, |
| 133540 | + /* 250 */ 1344, 1341, 1239, 1353, 1353, 1353, 1353, 1238, 1355, 1239, |
| 133541 | + /* 260 */ 1344, 1341, 1341, 1239, 1238, 1355, 1243, 1312, 1238, 1238, |
| 133542 | + /* 270 */ 1355, 1370, 1238, 1355, 1238, 1355, 1370, 1290, 1290, 1290, |
| 133543 | + /* 280 */ 1327, 1370, 1290, 1301, 1290, 1327, 1290, 1290, 1284, 1304, |
| 133544 | + /* 290 */ 1284, 1304, 1284, 1304, 1284, 1304, 1238, 1391, 1238, 1280, |
| 133545 | + /* 300 */ 1370, 1366, 1366, 1370, 1302, 1308, 1310, 1309, 1239, 1414, |
| 133546 | + /* 310 */ 1416, 1431, 1431, 1440, 1440, 1440, 1440, 1567, 1567, 1567, |
| 133547 | + /* 320 */ 1567, 1567, 1567, 1567, 1567, 519, 978, 1210, 1225, 104, |
| 133548 | + /* 330 */ 1141, 1189, 1246, 1248, 1251, 1252, 1253, 1257, 1258, 1273, |
| 133549 | + /* 340 */ 1003, 1187, 1293, 1170, 1272, 1279, 1234, 1281, 1176, 1177, |
| 133550 | + /* 350 */ 1289, 1242, 1195, 1453, 1455, 1437, 1319, 1447, 1369, 1452, |
| 133551 | + /* 360 */ 1446, 1448, 1352, 1345, 1364, 1354, 1458, 1356, 1463, 1479, |
| 133552 | + /* 370 */ 1359, 1357, 1449, 1450, 1454, 1456, 1372, 1428, 1421, 1367, |
| 133553 | + /* 380 */ 1489, 1487, 1472, 1388, 1358, 1417, 1470, 1419, 1413, 1429, |
| 133554 | + /* 390 */ 1395, 1480, 1483, 1486, 1394, 1402, 1488, 1430, 1490, 1491, |
| 133555 | + /* 400 */ 1485, 1492, 1432, 1457, 1494, 1438, 1451, 1495, 1497, 1498, |
| 133556 | + /* 410 */ 1496, 1407, 1502, 1503, 1505, 1499, 1406, 1506, 1507, 1475, |
| 133557 | + /* 420 */ 1468, 1511, 1410, 1509, 1473, 1510, 1474, 1516, 1509, 1517, |
| 133544 | 133558 | /* 430 */ 1518, 1519, 1520, 1521, 1523, 1532, 1524, 1526, 1525, 1527, |
| 133545 | | - /* 440 */ 1528, 1530, 1531, 1527, 1533, 1535, 1536, 1537, 1539, 1432, |
| 133546 | | - /* 450 */ 1442, 1447, 1448, 1540, 1543, 1549, |
| 133559 | + /* 440 */ 1528, 1530, 1531, 1527, 1533, 1535, 1536, 1537, 1539, 1436, |
| 133560 | + /* 450 */ 1441, 1442, 1443, 1543, 1547, 1549, |
| 133547 | 133561 | }; |
| 133548 | 133562 | #define YY_REDUCE_USE_DFLT (-130) |
| 133549 | 133563 | #define YY_REDUCE_COUNT (324) |
| 133550 | 133564 | #define YY_REDUCE_MIN (-129) |
| 133551 | | -#define YY_REDUCE_MAX (1307) |
| 133565 | +#define YY_REDUCE_MAX (1300) |
| 133552 | 133566 | static const short yy_reduce_ofst[] = { |
| 133553 | 133567 | /* 0 */ -29, 566, 525, 605, -49, 307, 491, 533, 668, 435, |
| 133554 | | - /* 10 */ 601, 644, 148, 747, 783, 786, 419, 788, 795, 826, |
| 133555 | | - /* 20 */ 454, 775, 830, 495, 824, 848, 76, 76, 76, 76, |
| 133568 | + /* 10 */ 601, 644, 148, 747, 786, 795, 419, 788, 827, 790, |
| 133569 | + /* 20 */ 454, 832, 889, 495, 824, 734, 76, 76, 76, 76, |
| 133556 | 133570 | /* 30 */ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, |
| 133557 | 133571 | /* 40 */ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, |
| 133558 | | - /* 50 */ 76, 76, 76, 76, 76, 76, 76, 76, 890, 901, |
| 133559 | | - /* 60 */ 912, 917, 920, 925, 927, 929, 936, 952, 958, 960, |
| 133560 | | - /* 70 */ 962, 964, 967, 969, 971, 974, 977, 986, 993, 996, |
| 133561 | | - /* 80 */ 999, 1002, 1004, 1008, 1010, 1012, 1015, 1021, 1026, 1034, |
| 133562 | | - /* 90 */ 1037, 1039, 1043, 1045, 1048, 1050, 1052, 1061, 1067, 1074, |
| 133563 | | - /* 100 */ 1077, 1079, 1085, 1089, 76, 76, 76, 76, 76, 76, |
| 133564 | | - /* 110 */ 76, 76, 76, 865, 36, 523, 235, 416, 782, 76, |
| 133572 | + /* 50 */ 76, 76, 76, 76, 76, 76, 76, 76, 783, 898, |
| 133573 | + /* 60 */ 905, 907, 911, 921, 933, 936, 940, 943, 947, 950, |
| 133574 | + /* 70 */ 952, 955, 958, 962, 965, 969, 974, 977, 980, 984, |
| 133575 | + /* 80 */ 988, 991, 993, 996, 999, 1002, 1006, 1010, 1018, 1021, |
| 133576 | + /* 90 */ 1024, 1028, 1032, 1034, 1036, 1040, 1046, 1051, 1058, 1062, |
| 133577 | + /* 100 */ 1064, 1068, 1070, 1073, 76, 76, 76, 76, 76, 76, |
| 133578 | + /* 110 */ 76, 76, 76, 855, 36, 523, 235, 416, 777, 76, |
| 133565 | 133579 | /* 120 */ 278, 76, 76, 76, 76, 700, 700, 700, 150, 220, |
| 133566 | 133580 | /* 130 */ 147, 217, 221, 306, 306, 611, 5, 535, 556, 620, |
| 133567 | | - /* 140 */ 704, 720, 784, 116, 789, 349, 889, 894, 404, 953, |
| 133568 | | - /* 150 */ 968, -129, 975, 492, 62, 722, 919, 763, 928, 957, |
| 133569 | | - /* 160 */ 994, 1080, 1081, 1082, 1090, 1091, 872, 1056, 557, 57, |
| 133581 | + /* 140 */ 720, 872, 897, 116, 864, 349, 1035, 1037, 404, 1047, |
| 133582 | + /* 150 */ 992, -129, 1050, 492, 62, 722, 879, 1072, 1089, 808, |
| 133583 | + /* 160 */ 1066, 1094, 1095, 1096, 1097, 1098, 776, 1054, 557, 57, |
| 133570 | 133584 | /* 170 */ 112, 131, 167, 182, 250, 272, 291, 331, 364, 438, |
| 133571 | | - /* 180 */ 497, 517, 591, 653, 684, 690, 739, 791, 867, 871, |
| 133572 | | - /* 190 */ 970, 1062, 1107, 1132, 1152, 355, 819, 886, 1001, 1163, |
| 133573 | | - /* 200 */ 661, 1164, 1167, 1168, 861, 1169, 1171, 1017, 1172, 1173, |
| 133574 | | - /* 210 */ 1174, 250, 1176, 1178, 1181, 1182, 1183, 1184, 1084, 1094, |
| 133575 | | - /* 220 */ 1119, 1121, 1122, 661, 1140, 1141, 1188, 1142, 1126, 1127, |
| 133576 | | - /* 230 */ 1103, 1143, 1106, 1170, 1165, 1185, 1186, 1133, 1123, 1187, |
| 133577 | | - /* 240 */ 1189, 1148, 1154, 1196, 1111, 1197, 1198, 1118, 1120, 1204, |
| 133578 | | - /* 250 */ 1147, 1191, 1192, 1193, 1195, 1199, 1200, 1212, 1215, 1201, |
| 133579 | | - /* 260 */ 1155, 1206, 1207, 1202, 1217, 1216, 1145, 1144, 1223, 1224, |
| 133580 | | - /* 270 */ 1228, 1211, 1230, 1232, 1235, 1241, 1221, 1227, 1231, 1234, |
| 133581 | | - /* 280 */ 1222, 1229, 1236, 1237, 1238, 1242, 1243, 1244, 1203, 1210, |
| 133582 | | - /* 290 */ 1214, 1218, 1219, 1245, 1249, 1251, 1252, 1250, 1261, 1253, |
| 133583 | | - /* 300 */ 1254, 1209, 1255, 1259, 1258, 1260, 1264, 1268, 1270, 1272, |
| 133584 | | - /* 310 */ 1276, 1287, 1292, 1295, 1297, 1299, 1303, 1263, 1265, 1269, |
| 133585 | | - /* 320 */ 1277, 1279, 1271, 1273, 1307, |
| 133585 | + /* 180 */ 497, 517, 591, 653, 690, 739, 775, 798, 892, 908, |
| 133586 | + /* 190 */ 924, 930, 1015, 1063, 1069, 355, 784, 799, 981, 1101, |
| 133587 | + /* 200 */ 926, 1151, 1161, 1162, 945, 1164, 1166, 1128, 1168, 1171, |
| 133588 | + /* 210 */ 1172, 250, 1173, 1174, 1175, 1178, 1180, 1181, 1088, 1102, |
| 133589 | + /* 220 */ 1119, 1124, 1126, 926, 1131, 1139, 1188, 1140, 1129, 1130, |
| 133590 | + /* 230 */ 1103, 1144, 1107, 1179, 1156, 1167, 1182, 1134, 1122, 1183, |
| 133591 | + /* 240 */ 1184, 1150, 1153, 1197, 1111, 1202, 1203, 1123, 1125, 1205, |
| 133592 | + /* 250 */ 1147, 1185, 1169, 1186, 1190, 1191, 1192, 1213, 1217, 1193, |
| 133593 | + /* 260 */ 1157, 1196, 1198, 1194, 1220, 1218, 1145, 1154, 1229, 1231, |
| 133594 | + /* 270 */ 1233, 1216, 1237, 1240, 1241, 1244, 1222, 1227, 1230, 1232, |
| 133595 | + /* 280 */ 1223, 1235, 1236, 1245, 1249, 1226, 1250, 1254, 1199, 1201, |
| 133596 | + /* 290 */ 1204, 1207, 1209, 1211, 1214, 1212, 1255, 1208, 1259, 1215, |
| 133597 | + /* 300 */ 1256, 1200, 1206, 1260, 1247, 1261, 1263, 1262, 1266, 1278, |
| 133598 | + /* 310 */ 1282, 1292, 1294, 1297, 1298, 1299, 1300, 1221, 1224, 1228, |
| 133599 | + /* 320 */ 1288, 1291, 1276, 1277, 1295, |
| 133586 | 133600 | }; |
| 133587 | 133601 | static const YYACTIONTYPE yy_default[] = { |
| 133588 | | - /* 0 */ 1278, 1268, 1268, 1268, 1200, 1200, 1200, 1200, 1268, 1094, |
| 133589 | | - /* 10 */ 1123, 1123, 1252, 1329, 1329, 1329, 1329, 1329, 1329, 1199, |
| 133590 | | - /* 20 */ 1329, 1329, 1329, 1329, 1268, 1098, 1129, 1329, 1329, 1329, |
| 133591 | | - /* 30 */ 1329, 1201, 1202, 1329, 1329, 1329, 1251, 1253, 1139, 1138, |
| 133592 | | - /* 40 */ 1137, 1136, 1234, 1110, 1134, 1127, 1131, 1201, 1195, 1196, |
| 133593 | | - /* 50 */ 1194, 1198, 1202, 1329, 1130, 1164, 1179, 1163, 1329, 1329, |
| 133594 | | - /* 60 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133595 | | - /* 70 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133596 | | - /* 80 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133597 | | - /* 90 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133598 | | - /* 100 */ 1329, 1329, 1329, 1329, 1173, 1178, 1185, 1177, 1174, 1166, |
| 133599 | | - /* 110 */ 1165, 1167, 1168, 1329, 1017, 1065, 1329, 1329, 1329, 1169, |
| 133600 | | - /* 120 */ 1329, 1170, 1182, 1181, 1180, 1259, 1286, 1285, 1329, 1329, |
| 133601 | | - /* 130 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133602 | | - /* 140 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133603 | | - /* 150 */ 1329, 1329, 1329, 1329, 1329, 1278, 1268, 1023, 1023, 1329, |
| 133604 | | - /* 160 */ 1268, 1268, 1268, 1268, 1268, 1268, 1264, 1098, 1089, 1329, |
| 133605 | | - /* 170 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133606 | | - /* 180 */ 1256, 1254, 1329, 1215, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133607 | | - /* 190 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133608 | | - /* 200 */ 1329, 1329, 1329, 1329, 1094, 1329, 1329, 1329, 1329, 1329, |
| 133609 | | - /* 210 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1280, 1329, 1229, |
| 133610 | | - /* 220 */ 1094, 1094, 1094, 1096, 1078, 1088, 1002, 1133, 1112, 1112, |
| 133611 | | - /* 230 */ 1318, 1133, 1318, 1040, 1300, 1037, 1123, 1112, 1197, 1123, |
| 133612 | | - /* 240 */ 1123, 1095, 1088, 1329, 1321, 1103, 1103, 1320, 1320, 1103, |
| 133613 | | - /* 250 */ 1144, 1068, 1133, 1074, 1074, 1074, 1074, 1103, 1014, 1133, |
| 133614 | | - /* 260 */ 1144, 1068, 1068, 1133, 1103, 1014, 1233, 1315, 1103, 1103, |
| 133615 | | - /* 270 */ 1014, 1208, 1103, 1014, 1103, 1014, 1208, 1066, 1066, 1066, |
| 133616 | | - /* 280 */ 1055, 1208, 1066, 1040, 1066, 1055, 1066, 1066, 1116, 1111, |
| 133617 | | - /* 290 */ 1116, 1111, 1116, 1111, 1116, 1111, 1103, 1203, 1103, 1329, |
| 133618 | | - /* 300 */ 1208, 1212, 1212, 1208, 1128, 1117, 1126, 1124, 1133, 1020, |
| 133619 | | - /* 310 */ 1058, 1283, 1283, 1279, 1279, 1279, 1279, 1326, 1326, 1264, |
| 133620 | | - /* 320 */ 1295, 1295, 1042, 1042, 1295, 1329, 1329, 1329, 1329, 1329, |
| 133621 | | - /* 330 */ 1329, 1290, 1329, 1217, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133622 | | - /* 340 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133623 | | - /* 350 */ 1329, 1329, 1150, 1329, 998, 1261, 1329, 1329, 1260, 1329, |
| 133624 | | - /* 360 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133625 | | - /* 370 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1317, |
| 133626 | | - /* 380 */ 1329, 1329, 1329, 1329, 1329, 1329, 1232, 1231, 1329, 1329, |
| 133627 | | - /* 390 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133628 | | - /* 400 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, |
| 133629 | | - /* 410 */ 1329, 1080, 1329, 1329, 1329, 1304, 1329, 1329, 1329, 1329, |
| 133630 | | - /* 420 */ 1329, 1329, 1329, 1125, 1329, 1118, 1329, 1329, 1308, 1329, |
| 133631 | | - /* 430 */ 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1270, |
| 133632 | | - /* 440 */ 1329, 1329, 1329, 1269, 1329, 1329, 1329, 1329, 1329, 1152, |
| 133633 | | - /* 450 */ 1329, 1151, 1155, 1329, 1008, 1329, |
| 133602 | + /* 0 */ 1281, 1271, 1271, 1271, 1203, 1203, 1203, 1203, 1271, 1096, |
| 133603 | + /* 10 */ 1125, 1125, 1255, 1332, 1332, 1332, 1332, 1332, 1332, 1202, |
| 133604 | + /* 20 */ 1332, 1332, 1332, 1332, 1271, 1100, 1131, 1332, 1332, 1332, |
| 133605 | + /* 30 */ 1332, 1204, 1205, 1332, 1332, 1332, 1254, 1256, 1141, 1140, |
| 133606 | + /* 40 */ 1139, 1138, 1237, 1112, 1136, 1129, 1133, 1204, 1198, 1199, |
| 133607 | + /* 50 */ 1197, 1201, 1205, 1332, 1132, 1167, 1182, 1166, 1332, 1332, |
| 133608 | + /* 60 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133609 | + /* 70 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133610 | + /* 80 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133611 | + /* 90 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133612 | + /* 100 */ 1332, 1332, 1332, 1332, 1176, 1181, 1188, 1180, 1177, 1169, |
| 133613 | + /* 110 */ 1168, 1170, 1171, 1332, 1019, 1067, 1332, 1332, 1332, 1172, |
| 133614 | + /* 120 */ 1332, 1173, 1185, 1184, 1183, 1262, 1289, 1288, 1332, 1332, |
| 133615 | + /* 130 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133616 | + /* 140 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133617 | + /* 150 */ 1332, 1332, 1332, 1332, 1332, 1281, 1271, 1025, 1025, 1332, |
| 133618 | + /* 160 */ 1271, 1271, 1271, 1271, 1271, 1271, 1267, 1100, 1091, 1332, |
| 133619 | + /* 170 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133620 | + /* 180 */ 1259, 1257, 1332, 1218, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133621 | + /* 190 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133622 | + /* 200 */ 1332, 1332, 1332, 1332, 1096, 1332, 1332, 1332, 1332, 1332, |
| 133623 | + /* 210 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1283, 1332, 1232, |
| 133624 | + /* 220 */ 1096, 1096, 1096, 1098, 1080, 1090, 1004, 1135, 1114, 1114, |
| 133625 | + /* 230 */ 1321, 1135, 1321, 1042, 1303, 1039, 1125, 1114, 1200, 1125, |
| 133626 | + /* 240 */ 1125, 1097, 1090, 1332, 1324, 1105, 1105, 1323, 1323, 1105, |
| 133627 | + /* 250 */ 1146, 1070, 1135, 1076, 1076, 1076, 1076, 1105, 1016, 1135, |
| 133628 | + /* 260 */ 1146, 1070, 1070, 1135, 1105, 1016, 1236, 1318, 1105, 1105, |
| 133629 | + /* 270 */ 1016, 1211, 1105, 1016, 1105, 1016, 1211, 1068, 1068, 1068, |
| 133630 | + /* 280 */ 1057, 1211, 1068, 1042, 1068, 1057, 1068, 1068, 1118, 1113, |
| 133631 | + /* 290 */ 1118, 1113, 1118, 1113, 1118, 1113, 1105, 1206, 1105, 1332, |
| 133632 | + /* 300 */ 1211, 1215, 1215, 1211, 1130, 1119, 1128, 1126, 1135, 1022, |
| 133633 | + /* 310 */ 1060, 1286, 1286, 1282, 1282, 1282, 1282, 1329, 1329, 1267, |
| 133634 | + /* 320 */ 1298, 1298, 1044, 1044, 1298, 1332, 1332, 1332, 1332, 1332, |
| 133635 | + /* 330 */ 1332, 1293, 1332, 1220, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133636 | + /* 340 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133637 | + /* 350 */ 1332, 1332, 1152, 1332, 1000, 1264, 1332, 1332, 1263, 1332, |
| 133638 | + /* 360 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133639 | + /* 370 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1320, |
| 133640 | + /* 380 */ 1332, 1332, 1332, 1332, 1332, 1332, 1235, 1234, 1332, 1332, |
| 133641 | + /* 390 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133642 | + /* 400 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, |
| 133643 | + /* 410 */ 1332, 1082, 1332, 1332, 1332, 1307, 1332, 1332, 1332, 1332, |
| 133644 | + /* 420 */ 1332, 1332, 1332, 1127, 1332, 1120, 1332, 1332, 1311, 1332, |
| 133645 | + /* 430 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1273, |
| 133646 | + /* 440 */ 1332, 1332, 1332, 1272, 1332, 1332, 1332, 1332, 1332, 1154, |
| 133647 | + /* 450 */ 1332, 1153, 1157, 1332, 1010, 1332, |
| 133634 | 133648 | }; |
| 133635 | 133649 | /********** End of lemon-generated parsing tables *****************************/ |
| 133636 | 133650 | |
| 133637 | 133651 | /* The next table maps tokens (terminal symbols) into fallback tokens. |
| 133638 | 133652 | ** If a construct like the following: |
| | @@ -133862,11 +133876,11 @@ |
| 133862 | 133876 | "DEFERRABLE", "FOREIGN", "DROP", "UNION", |
| 133863 | 133877 | "ALL", "EXCEPT", "INTERSECT", "SELECT", |
| 133864 | 133878 | "VALUES", "DISTINCT", "DOT", "FROM", |
| 133865 | 133879 | "JOIN", "USING", "ORDER", "GROUP", |
| 133866 | 133880 | "HAVING", "LIMIT", "WHERE", "INTO", |
| 133867 | | - "INTEGER", "FLOAT", "BLOB", "VARIABLE", |
| 133881 | + "FLOAT", "BLOB", "INTEGER", "VARIABLE", |
| 133868 | 133882 | "CASE", "WHEN", "THEN", "ELSE", |
| 133869 | 133883 | "INDEX", "ALTER", "ADD", "error", |
| 133870 | 133884 | "input", "cmdlist", "ecmd", "explain", |
| 133871 | 133885 | "cmdx", "cmd", "transtype", "trans_opt", |
| 133872 | 133886 | "nm", "savepoint_opt", "create_table", "create_table_args", |
| | @@ -134055,185 +134069,186 @@ |
| 134055 | 134069 | /* 151 */ "term ::= NULL", |
| 134056 | 134070 | /* 152 */ "expr ::= ID|INDEXED", |
| 134057 | 134071 | /* 153 */ "expr ::= JOIN_KW", |
| 134058 | 134072 | /* 154 */ "expr ::= nm DOT nm", |
| 134059 | 134073 | /* 155 */ "expr ::= nm DOT nm DOT nm", |
| 134060 | | - /* 156 */ "term ::= INTEGER|FLOAT|BLOB", |
| 134074 | + /* 156 */ "term ::= FLOAT|BLOB", |
| 134061 | 134075 | /* 157 */ "term ::= STRING", |
| 134062 | | - /* 158 */ "expr ::= VARIABLE", |
| 134063 | | - /* 159 */ "expr ::= expr COLLATE ID|STRING", |
| 134064 | | - /* 160 */ "expr ::= CAST LP expr AS typetoken RP", |
| 134065 | | - /* 161 */ "expr ::= ID|INDEXED LP distinct exprlist RP", |
| 134066 | | - /* 162 */ "expr ::= ID|INDEXED LP STAR RP", |
| 134067 | | - /* 163 */ "term ::= CTIME_KW", |
| 134068 | | - /* 164 */ "expr ::= LP nexprlist COMMA expr RP", |
| 134069 | | - /* 165 */ "expr ::= expr AND expr", |
| 134070 | | - /* 166 */ "expr ::= expr OR expr", |
| 134071 | | - /* 167 */ "expr ::= expr LT|GT|GE|LE expr", |
| 134072 | | - /* 168 */ "expr ::= expr EQ|NE expr", |
| 134073 | | - /* 169 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", |
| 134074 | | - /* 170 */ "expr ::= expr PLUS|MINUS expr", |
| 134075 | | - /* 171 */ "expr ::= expr STAR|SLASH|REM expr", |
| 134076 | | - /* 172 */ "expr ::= expr CONCAT expr", |
| 134077 | | - /* 173 */ "likeop ::= LIKE_KW|MATCH", |
| 134078 | | - /* 174 */ "likeop ::= NOT LIKE_KW|MATCH", |
| 134079 | | - /* 175 */ "expr ::= expr likeop expr", |
| 134080 | | - /* 176 */ "expr ::= expr likeop expr ESCAPE expr", |
| 134081 | | - /* 177 */ "expr ::= expr ISNULL|NOTNULL", |
| 134082 | | - /* 178 */ "expr ::= expr NOT NULL", |
| 134083 | | - /* 179 */ "expr ::= expr IS expr", |
| 134084 | | - /* 180 */ "expr ::= expr IS NOT expr", |
| 134085 | | - /* 181 */ "expr ::= NOT expr", |
| 134086 | | - /* 182 */ "expr ::= BITNOT expr", |
| 134087 | | - /* 183 */ "expr ::= MINUS expr", |
| 134088 | | - /* 184 */ "expr ::= PLUS expr", |
| 134089 | | - /* 185 */ "between_op ::= BETWEEN", |
| 134090 | | - /* 186 */ "between_op ::= NOT BETWEEN", |
| 134091 | | - /* 187 */ "expr ::= expr between_op expr AND expr", |
| 134092 | | - /* 188 */ "in_op ::= IN", |
| 134093 | | - /* 189 */ "in_op ::= NOT IN", |
| 134094 | | - /* 190 */ "expr ::= expr in_op LP exprlist RP", |
| 134095 | | - /* 191 */ "expr ::= LP select RP", |
| 134096 | | - /* 192 */ "expr ::= expr in_op LP select RP", |
| 134097 | | - /* 193 */ "expr ::= expr in_op nm dbnm paren_exprlist", |
| 134098 | | - /* 194 */ "expr ::= EXISTS LP select RP", |
| 134099 | | - /* 195 */ "expr ::= CASE case_operand case_exprlist case_else END", |
| 134100 | | - /* 196 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", |
| 134101 | | - /* 197 */ "case_exprlist ::= WHEN expr THEN expr", |
| 134102 | | - /* 198 */ "case_else ::= ELSE expr", |
| 134103 | | - /* 199 */ "case_else ::=", |
| 134104 | | - /* 200 */ "case_operand ::= expr", |
| 134105 | | - /* 201 */ "case_operand ::=", |
| 134106 | | - /* 202 */ "exprlist ::=", |
| 134107 | | - /* 203 */ "nexprlist ::= nexprlist COMMA expr", |
| 134108 | | - /* 204 */ "nexprlist ::= expr", |
| 134109 | | - /* 205 */ "paren_exprlist ::=", |
| 134110 | | - /* 206 */ "paren_exprlist ::= LP exprlist RP", |
| 134111 | | - /* 207 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", |
| 134112 | | - /* 208 */ "uniqueflag ::= UNIQUE", |
| 134113 | | - /* 209 */ "uniqueflag ::=", |
| 134114 | | - /* 210 */ "eidlist_opt ::=", |
| 134115 | | - /* 211 */ "eidlist_opt ::= LP eidlist RP", |
| 134116 | | - /* 212 */ "eidlist ::= eidlist COMMA nm collate sortorder", |
| 134117 | | - /* 213 */ "eidlist ::= nm collate sortorder", |
| 134118 | | - /* 214 */ "collate ::=", |
| 134119 | | - /* 215 */ "collate ::= COLLATE ID|STRING", |
| 134120 | | - /* 216 */ "cmd ::= DROP INDEX ifexists fullname", |
| 134121 | | - /* 217 */ "cmd ::= VACUUM", |
| 134122 | | - /* 218 */ "cmd ::= VACUUM nm", |
| 134123 | | - /* 219 */ "cmd ::= PRAGMA nm dbnm", |
| 134124 | | - /* 220 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", |
| 134125 | | - /* 221 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", |
| 134126 | | - /* 222 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", |
| 134127 | | - /* 223 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", |
| 134128 | | - /* 224 */ "plus_num ::= PLUS INTEGER|FLOAT", |
| 134129 | | - /* 225 */ "minus_num ::= MINUS INTEGER|FLOAT", |
| 134130 | | - /* 226 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", |
| 134131 | | - /* 227 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", |
| 134132 | | - /* 228 */ "trigger_time ::= BEFORE", |
| 134133 | | - /* 229 */ "trigger_time ::= AFTER", |
| 134134 | | - /* 230 */ "trigger_time ::= INSTEAD OF", |
| 134135 | | - /* 231 */ "trigger_time ::=", |
| 134136 | | - /* 232 */ "trigger_event ::= DELETE|INSERT", |
| 134137 | | - /* 233 */ "trigger_event ::= UPDATE", |
| 134138 | | - /* 234 */ "trigger_event ::= UPDATE OF idlist", |
| 134139 | | - /* 235 */ "when_clause ::=", |
| 134140 | | - /* 236 */ "when_clause ::= WHEN expr", |
| 134141 | | - /* 237 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", |
| 134142 | | - /* 238 */ "trigger_cmd_list ::= trigger_cmd SEMI", |
| 134143 | | - /* 239 */ "trnm ::= nm DOT nm", |
| 134144 | | - /* 240 */ "tridxby ::= INDEXED BY nm", |
| 134145 | | - /* 241 */ "tridxby ::= NOT INDEXED", |
| 134146 | | - /* 242 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", |
| 134147 | | - /* 243 */ "trigger_cmd ::= insert_cmd INTO trnm idlist_opt select", |
| 134148 | | - /* 244 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", |
| 134149 | | - /* 245 */ "trigger_cmd ::= select", |
| 134150 | | - /* 246 */ "expr ::= RAISE LP IGNORE RP", |
| 134151 | | - /* 247 */ "expr ::= RAISE LP raisetype COMMA nm RP", |
| 134152 | | - /* 248 */ "raisetype ::= ROLLBACK", |
| 134153 | | - /* 249 */ "raisetype ::= ABORT", |
| 134154 | | - /* 250 */ "raisetype ::= FAIL", |
| 134155 | | - /* 251 */ "cmd ::= DROP TRIGGER ifexists fullname", |
| 134156 | | - /* 252 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", |
| 134157 | | - /* 253 */ "cmd ::= DETACH database_kw_opt expr", |
| 134158 | | - /* 254 */ "key_opt ::=", |
| 134159 | | - /* 255 */ "key_opt ::= KEY expr", |
| 134160 | | - /* 256 */ "cmd ::= REINDEX", |
| 134161 | | - /* 257 */ "cmd ::= REINDEX nm dbnm", |
| 134162 | | - /* 258 */ "cmd ::= ANALYZE", |
| 134163 | | - /* 259 */ "cmd ::= ANALYZE nm dbnm", |
| 134164 | | - /* 260 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", |
| 134165 | | - /* 261 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", |
| 134166 | | - /* 262 */ "add_column_fullname ::= fullname", |
| 134167 | | - /* 263 */ "cmd ::= create_vtab", |
| 134168 | | - /* 264 */ "cmd ::= create_vtab LP vtabarglist RP", |
| 134169 | | - /* 265 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", |
| 134170 | | - /* 266 */ "vtabarg ::=", |
| 134171 | | - /* 267 */ "vtabargtoken ::= ANY", |
| 134172 | | - /* 268 */ "vtabargtoken ::= lp anylist RP", |
| 134173 | | - /* 269 */ "lp ::= LP", |
| 134174 | | - /* 270 */ "with ::=", |
| 134175 | | - /* 271 */ "with ::= WITH wqlist", |
| 134176 | | - /* 272 */ "with ::= WITH RECURSIVE wqlist", |
| 134177 | | - /* 273 */ "wqlist ::= nm eidlist_opt AS LP select RP", |
| 134178 | | - /* 274 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", |
| 134179 | | - /* 275 */ "input ::= cmdlist", |
| 134180 | | - /* 276 */ "cmdlist ::= cmdlist ecmd", |
| 134181 | | - /* 277 */ "cmdlist ::= ecmd", |
| 134182 | | - /* 278 */ "ecmd ::= SEMI", |
| 134183 | | - /* 279 */ "ecmd ::= explain cmdx SEMI", |
| 134184 | | - /* 280 */ "explain ::=", |
| 134185 | | - /* 281 */ "trans_opt ::=", |
| 134186 | | - /* 282 */ "trans_opt ::= TRANSACTION", |
| 134187 | | - /* 283 */ "trans_opt ::= TRANSACTION nm", |
| 134188 | | - /* 284 */ "savepoint_opt ::= SAVEPOINT", |
| 134189 | | - /* 285 */ "savepoint_opt ::=", |
| 134190 | | - /* 286 */ "cmd ::= create_table create_table_args", |
| 134191 | | - /* 287 */ "columnlist ::= columnlist COMMA columnname carglist", |
| 134192 | | - /* 288 */ "columnlist ::= columnname carglist", |
| 134193 | | - /* 289 */ "nm ::= ID|INDEXED", |
| 134194 | | - /* 290 */ "nm ::= STRING", |
| 134195 | | - /* 291 */ "nm ::= JOIN_KW", |
| 134196 | | - /* 292 */ "typetoken ::= typename", |
| 134197 | | - /* 293 */ "typename ::= ID|STRING", |
| 134198 | | - /* 294 */ "signed ::= plus_num", |
| 134199 | | - /* 295 */ "signed ::= minus_num", |
| 134200 | | - /* 296 */ "carglist ::= carglist ccons", |
| 134201 | | - /* 297 */ "carglist ::=", |
| 134202 | | - /* 298 */ "ccons ::= NULL onconf", |
| 134203 | | - /* 299 */ "conslist_opt ::= COMMA conslist", |
| 134204 | | - /* 300 */ "conslist ::= conslist tconscomma tcons", |
| 134205 | | - /* 301 */ "conslist ::= tcons", |
| 134206 | | - /* 302 */ "tconscomma ::=", |
| 134207 | | - /* 303 */ "defer_subclause_opt ::= defer_subclause", |
| 134208 | | - /* 304 */ "resolvetype ::= raisetype", |
| 134209 | | - /* 305 */ "selectnowith ::= oneselect", |
| 134210 | | - /* 306 */ "oneselect ::= values", |
| 134211 | | - /* 307 */ "sclp ::= selcollist COMMA", |
| 134212 | | - /* 308 */ "as ::= ID|STRING", |
| 134213 | | - /* 309 */ "expr ::= term", |
| 134214 | | - /* 310 */ "exprlist ::= nexprlist", |
| 134215 | | - /* 311 */ "nmnum ::= plus_num", |
| 134216 | | - /* 312 */ "nmnum ::= nm", |
| 134217 | | - /* 313 */ "nmnum ::= ON", |
| 134218 | | - /* 314 */ "nmnum ::= DELETE", |
| 134219 | | - /* 315 */ "nmnum ::= DEFAULT", |
| 134220 | | - /* 316 */ "plus_num ::= INTEGER|FLOAT", |
| 134221 | | - /* 317 */ "foreach_clause ::=", |
| 134222 | | - /* 318 */ "foreach_clause ::= FOR EACH ROW", |
| 134223 | | - /* 319 */ "trnm ::= nm", |
| 134224 | | - /* 320 */ "tridxby ::=", |
| 134225 | | - /* 321 */ "database_kw_opt ::= DATABASE", |
| 134226 | | - /* 322 */ "database_kw_opt ::=", |
| 134227 | | - /* 323 */ "kwcolumn_opt ::=", |
| 134228 | | - /* 324 */ "kwcolumn_opt ::= COLUMNKW", |
| 134229 | | - /* 325 */ "vtabarglist ::= vtabarg", |
| 134230 | | - /* 326 */ "vtabarglist ::= vtabarglist COMMA vtabarg", |
| 134231 | | - /* 327 */ "vtabarg ::= vtabarg vtabargtoken", |
| 134232 | | - /* 328 */ "anylist ::=", |
| 134233 | | - /* 329 */ "anylist ::= anylist LP anylist RP", |
| 134234 | | - /* 330 */ "anylist ::= anylist ANY", |
| 134076 | + /* 158 */ "term ::= INTEGER", |
| 134077 | + /* 159 */ "expr ::= VARIABLE", |
| 134078 | + /* 160 */ "expr ::= expr COLLATE ID|STRING", |
| 134079 | + /* 161 */ "expr ::= CAST LP expr AS typetoken RP", |
| 134080 | + /* 162 */ "expr ::= ID|INDEXED LP distinct exprlist RP", |
| 134081 | + /* 163 */ "expr ::= ID|INDEXED LP STAR RP", |
| 134082 | + /* 164 */ "term ::= CTIME_KW", |
| 134083 | + /* 165 */ "expr ::= LP nexprlist COMMA expr RP", |
| 134084 | + /* 166 */ "expr ::= expr AND expr", |
| 134085 | + /* 167 */ "expr ::= expr OR expr", |
| 134086 | + /* 168 */ "expr ::= expr LT|GT|GE|LE expr", |
| 134087 | + /* 169 */ "expr ::= expr EQ|NE expr", |
| 134088 | + /* 170 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", |
| 134089 | + /* 171 */ "expr ::= expr PLUS|MINUS expr", |
| 134090 | + /* 172 */ "expr ::= expr STAR|SLASH|REM expr", |
| 134091 | + /* 173 */ "expr ::= expr CONCAT expr", |
| 134092 | + /* 174 */ "likeop ::= LIKE_KW|MATCH", |
| 134093 | + /* 175 */ "likeop ::= NOT LIKE_KW|MATCH", |
| 134094 | + /* 176 */ "expr ::= expr likeop expr", |
| 134095 | + /* 177 */ "expr ::= expr likeop expr ESCAPE expr", |
| 134096 | + /* 178 */ "expr ::= expr ISNULL|NOTNULL", |
| 134097 | + /* 179 */ "expr ::= expr NOT NULL", |
| 134098 | + /* 180 */ "expr ::= expr IS expr", |
| 134099 | + /* 181 */ "expr ::= expr IS NOT expr", |
| 134100 | + /* 182 */ "expr ::= NOT expr", |
| 134101 | + /* 183 */ "expr ::= BITNOT expr", |
| 134102 | + /* 184 */ "expr ::= MINUS expr", |
| 134103 | + /* 185 */ "expr ::= PLUS expr", |
| 134104 | + /* 186 */ "between_op ::= BETWEEN", |
| 134105 | + /* 187 */ "between_op ::= NOT BETWEEN", |
| 134106 | + /* 188 */ "expr ::= expr between_op expr AND expr", |
| 134107 | + /* 189 */ "in_op ::= IN", |
| 134108 | + /* 190 */ "in_op ::= NOT IN", |
| 134109 | + /* 191 */ "expr ::= expr in_op LP exprlist RP", |
| 134110 | + /* 192 */ "expr ::= LP select RP", |
| 134111 | + /* 193 */ "expr ::= expr in_op LP select RP", |
| 134112 | + /* 194 */ "expr ::= expr in_op nm dbnm paren_exprlist", |
| 134113 | + /* 195 */ "expr ::= EXISTS LP select RP", |
| 134114 | + /* 196 */ "expr ::= CASE case_operand case_exprlist case_else END", |
| 134115 | + /* 197 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", |
| 134116 | + /* 198 */ "case_exprlist ::= WHEN expr THEN expr", |
| 134117 | + /* 199 */ "case_else ::= ELSE expr", |
| 134118 | + /* 200 */ "case_else ::=", |
| 134119 | + /* 201 */ "case_operand ::= expr", |
| 134120 | + /* 202 */ "case_operand ::=", |
| 134121 | + /* 203 */ "exprlist ::=", |
| 134122 | + /* 204 */ "nexprlist ::= nexprlist COMMA expr", |
| 134123 | + /* 205 */ "nexprlist ::= expr", |
| 134124 | + /* 206 */ "paren_exprlist ::=", |
| 134125 | + /* 207 */ "paren_exprlist ::= LP exprlist RP", |
| 134126 | + /* 208 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", |
| 134127 | + /* 209 */ "uniqueflag ::= UNIQUE", |
| 134128 | + /* 210 */ "uniqueflag ::=", |
| 134129 | + /* 211 */ "eidlist_opt ::=", |
| 134130 | + /* 212 */ "eidlist_opt ::= LP eidlist RP", |
| 134131 | + /* 213 */ "eidlist ::= eidlist COMMA nm collate sortorder", |
| 134132 | + /* 214 */ "eidlist ::= nm collate sortorder", |
| 134133 | + /* 215 */ "collate ::=", |
| 134134 | + /* 216 */ "collate ::= COLLATE ID|STRING", |
| 134135 | + /* 217 */ "cmd ::= DROP INDEX ifexists fullname", |
| 134136 | + /* 218 */ "cmd ::= VACUUM", |
| 134137 | + /* 219 */ "cmd ::= VACUUM nm", |
| 134138 | + /* 220 */ "cmd ::= PRAGMA nm dbnm", |
| 134139 | + /* 221 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", |
| 134140 | + /* 222 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", |
| 134141 | + /* 223 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", |
| 134142 | + /* 224 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", |
| 134143 | + /* 225 */ "plus_num ::= PLUS INTEGER|FLOAT", |
| 134144 | + /* 226 */ "minus_num ::= MINUS INTEGER|FLOAT", |
| 134145 | + /* 227 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", |
| 134146 | + /* 228 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", |
| 134147 | + /* 229 */ "trigger_time ::= BEFORE", |
| 134148 | + /* 230 */ "trigger_time ::= AFTER", |
| 134149 | + /* 231 */ "trigger_time ::= INSTEAD OF", |
| 134150 | + /* 232 */ "trigger_time ::=", |
| 134151 | + /* 233 */ "trigger_event ::= DELETE|INSERT", |
| 134152 | + /* 234 */ "trigger_event ::= UPDATE", |
| 134153 | + /* 235 */ "trigger_event ::= UPDATE OF idlist", |
| 134154 | + /* 236 */ "when_clause ::=", |
| 134155 | + /* 237 */ "when_clause ::= WHEN expr", |
| 134156 | + /* 238 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", |
| 134157 | + /* 239 */ "trigger_cmd_list ::= trigger_cmd SEMI", |
| 134158 | + /* 240 */ "trnm ::= nm DOT nm", |
| 134159 | + /* 241 */ "tridxby ::= INDEXED BY nm", |
| 134160 | + /* 242 */ "tridxby ::= NOT INDEXED", |
| 134161 | + /* 243 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", |
| 134162 | + /* 244 */ "trigger_cmd ::= insert_cmd INTO trnm idlist_opt select", |
| 134163 | + /* 245 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", |
| 134164 | + /* 246 */ "trigger_cmd ::= select", |
| 134165 | + /* 247 */ "expr ::= RAISE LP IGNORE RP", |
| 134166 | + /* 248 */ "expr ::= RAISE LP raisetype COMMA nm RP", |
| 134167 | + /* 249 */ "raisetype ::= ROLLBACK", |
| 134168 | + /* 250 */ "raisetype ::= ABORT", |
| 134169 | + /* 251 */ "raisetype ::= FAIL", |
| 134170 | + /* 252 */ "cmd ::= DROP TRIGGER ifexists fullname", |
| 134171 | + /* 253 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", |
| 134172 | + /* 254 */ "cmd ::= DETACH database_kw_opt expr", |
| 134173 | + /* 255 */ "key_opt ::=", |
| 134174 | + /* 256 */ "key_opt ::= KEY expr", |
| 134175 | + /* 257 */ "cmd ::= REINDEX", |
| 134176 | + /* 258 */ "cmd ::= REINDEX nm dbnm", |
| 134177 | + /* 259 */ "cmd ::= ANALYZE", |
| 134178 | + /* 260 */ "cmd ::= ANALYZE nm dbnm", |
| 134179 | + /* 261 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", |
| 134180 | + /* 262 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", |
| 134181 | + /* 263 */ "add_column_fullname ::= fullname", |
| 134182 | + /* 264 */ "cmd ::= create_vtab", |
| 134183 | + /* 265 */ "cmd ::= create_vtab LP vtabarglist RP", |
| 134184 | + /* 266 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", |
| 134185 | + /* 267 */ "vtabarg ::=", |
| 134186 | + /* 268 */ "vtabargtoken ::= ANY", |
| 134187 | + /* 269 */ "vtabargtoken ::= lp anylist RP", |
| 134188 | + /* 270 */ "lp ::= LP", |
| 134189 | + /* 271 */ "with ::=", |
| 134190 | + /* 272 */ "with ::= WITH wqlist", |
| 134191 | + /* 273 */ "with ::= WITH RECURSIVE wqlist", |
| 134192 | + /* 274 */ "wqlist ::= nm eidlist_opt AS LP select RP", |
| 134193 | + /* 275 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", |
| 134194 | + /* 276 */ "input ::= cmdlist", |
| 134195 | + /* 277 */ "cmdlist ::= cmdlist ecmd", |
| 134196 | + /* 278 */ "cmdlist ::= ecmd", |
| 134197 | + /* 279 */ "ecmd ::= SEMI", |
| 134198 | + /* 280 */ "ecmd ::= explain cmdx SEMI", |
| 134199 | + /* 281 */ "explain ::=", |
| 134200 | + /* 282 */ "trans_opt ::=", |
| 134201 | + /* 283 */ "trans_opt ::= TRANSACTION", |
| 134202 | + /* 284 */ "trans_opt ::= TRANSACTION nm", |
| 134203 | + /* 285 */ "savepoint_opt ::= SAVEPOINT", |
| 134204 | + /* 286 */ "savepoint_opt ::=", |
| 134205 | + /* 287 */ "cmd ::= create_table create_table_args", |
| 134206 | + /* 288 */ "columnlist ::= columnlist COMMA columnname carglist", |
| 134207 | + /* 289 */ "columnlist ::= columnname carglist", |
| 134208 | + /* 290 */ "nm ::= ID|INDEXED", |
| 134209 | + /* 291 */ "nm ::= STRING", |
| 134210 | + /* 292 */ "nm ::= JOIN_KW", |
| 134211 | + /* 293 */ "typetoken ::= typename", |
| 134212 | + /* 294 */ "typename ::= ID|STRING", |
| 134213 | + /* 295 */ "signed ::= plus_num", |
| 134214 | + /* 296 */ "signed ::= minus_num", |
| 134215 | + /* 297 */ "carglist ::= carglist ccons", |
| 134216 | + /* 298 */ "carglist ::=", |
| 134217 | + /* 299 */ "ccons ::= NULL onconf", |
| 134218 | + /* 300 */ "conslist_opt ::= COMMA conslist", |
| 134219 | + /* 301 */ "conslist ::= conslist tconscomma tcons", |
| 134220 | + /* 302 */ "conslist ::= tcons", |
| 134221 | + /* 303 */ "tconscomma ::=", |
| 134222 | + /* 304 */ "defer_subclause_opt ::= defer_subclause", |
| 134223 | + /* 305 */ "resolvetype ::= raisetype", |
| 134224 | + /* 306 */ "selectnowith ::= oneselect", |
| 134225 | + /* 307 */ "oneselect ::= values", |
| 134226 | + /* 308 */ "sclp ::= selcollist COMMA", |
| 134227 | + /* 309 */ "as ::= ID|STRING", |
| 134228 | + /* 310 */ "expr ::= term", |
| 134229 | + /* 311 */ "exprlist ::= nexprlist", |
| 134230 | + /* 312 */ "nmnum ::= plus_num", |
| 134231 | + /* 313 */ "nmnum ::= nm", |
| 134232 | + /* 314 */ "nmnum ::= ON", |
| 134233 | + /* 315 */ "nmnum ::= DELETE", |
| 134234 | + /* 316 */ "nmnum ::= DEFAULT", |
| 134235 | + /* 317 */ "plus_num ::= INTEGER|FLOAT", |
| 134236 | + /* 318 */ "foreach_clause ::=", |
| 134237 | + /* 319 */ "foreach_clause ::= FOR EACH ROW", |
| 134238 | + /* 320 */ "trnm ::= nm", |
| 134239 | + /* 321 */ "tridxby ::=", |
| 134240 | + /* 322 */ "database_kw_opt ::= DATABASE", |
| 134241 | + /* 323 */ "database_kw_opt ::=", |
| 134242 | + /* 324 */ "kwcolumn_opt ::=", |
| 134243 | + /* 325 */ "kwcolumn_opt ::= COLUMNKW", |
| 134244 | + /* 326 */ "vtabarglist ::= vtabarg", |
| 134245 | + /* 327 */ "vtabarglist ::= vtabarglist COMMA vtabarg", |
| 134246 | + /* 328 */ "vtabarg ::= vtabarg vtabargtoken", |
| 134247 | + /* 329 */ "anylist ::=", |
| 134248 | + /* 330 */ "anylist ::= anylist LP anylist RP", |
| 134249 | + /* 331 */ "anylist ::= anylist ANY", |
| 134235 | 134250 | }; |
| 134236 | 134251 | #endif /* NDEBUG */ |
| 134237 | 134252 | |
| 134238 | 134253 | |
| 134239 | 134254 | #if YYSTACKDEPTH<=0 |
| | @@ -134811,10 +134826,11 @@ |
| 134811 | 134826 | { 173, 1 }, |
| 134812 | 134827 | { 173, 3 }, |
| 134813 | 134828 | { 173, 5 }, |
| 134814 | 134829 | { 172, 1 }, |
| 134815 | 134830 | { 172, 1 }, |
| 134831 | + { 172, 1 }, |
| 134816 | 134832 | { 173, 1 }, |
| 134817 | 134833 | { 173, 3 }, |
| 134818 | 134834 | { 173, 6 }, |
| 134819 | 134835 | { 173, 5 }, |
| 134820 | 134836 | { 173, 4 }, |
| | @@ -135105,11 +135121,11 @@ |
| 135105 | 135121 | case 42: /* autoinc ::= */ yytestcase(yyruleno==42); |
| 135106 | 135122 | case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); |
| 135107 | 135123 | case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); |
| 135108 | 135124 | case 76: /* ifexists ::= */ yytestcase(yyruleno==76); |
| 135109 | 135125 | case 90: /* distinct ::= */ yytestcase(yyruleno==90); |
| 135110 | | - case 214: /* collate ::= */ yytestcase(yyruleno==214); |
| 135126 | + case 215: /* collate ::= */ yytestcase(yyruleno==215); |
| 135111 | 135127 | {yymsp[1].minor.yy194 = 0;} |
| 135112 | 135128 | break; |
| 135113 | 135129 | case 17: /* ifnotexists ::= IF NOT EXISTS */ |
| 135114 | 135130 | {yymsp[-2].minor.yy194 = 1;} |
| 135115 | 135131 | break; |
| | @@ -135249,13 +135265,13 @@ |
| 135249 | 135265 | case 144: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==144); |
| 135250 | 135266 | {yymsp[-1].minor.yy194 = yymsp[0].minor.yy194;} |
| 135251 | 135267 | break; |
| 135252 | 135268 | case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 135253 | 135269 | case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); |
| 135254 | | - case 186: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==186); |
| 135255 | | - case 189: /* in_op ::= NOT IN */ yytestcase(yyruleno==189); |
| 135256 | | - case 215: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==215); |
| 135270 | + case 187: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==187); |
| 135271 | + case 190: /* in_op ::= NOT IN */ yytestcase(yyruleno==190); |
| 135272 | + case 216: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==216); |
| 135257 | 135273 | {yymsp[-1].minor.yy194 = 1;} |
| 135258 | 135274 | break; |
| 135259 | 135275 | case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 135260 | 135276 | {yymsp[-1].minor.yy194 = 0;} |
| 135261 | 135277 | break; |
| | @@ -135415,13 +135431,13 @@ |
| 135415 | 135431 | {yymsp[0].minor.yy194 = SF_All;} |
| 135416 | 135432 | break; |
| 135417 | 135433 | case 91: /* sclp ::= */ |
| 135418 | 135434 | case 119: /* orderby_opt ::= */ yytestcase(yyruleno==119); |
| 135419 | 135435 | case 126: /* groupby_opt ::= */ yytestcase(yyruleno==126); |
| 135420 | | - case 202: /* exprlist ::= */ yytestcase(yyruleno==202); |
| 135421 | | - case 205: /* paren_exprlist ::= */ yytestcase(yyruleno==205); |
| 135422 | | - case 210: /* eidlist_opt ::= */ yytestcase(yyruleno==210); |
| 135436 | + case 203: /* exprlist ::= */ yytestcase(yyruleno==203); |
| 135437 | + case 206: /* paren_exprlist ::= */ yytestcase(yyruleno==206); |
| 135438 | + case 211: /* eidlist_opt ::= */ yytestcase(yyruleno==211); |
| 135423 | 135439 | {yymsp[1].minor.yy148 = 0;} |
| 135424 | 135440 | break; |
| 135425 | 135441 | case 92: /* selcollist ::= sclp expr as */ |
| 135426 | 135442 | { |
| 135427 | 135443 | yymsp[-2].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy148, yymsp[-1].minor.yy190.pExpr); |
| | @@ -135435,20 +135451,20 @@ |
| 135435 | 135451 | yymsp[-1].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy148, p); |
| 135436 | 135452 | } |
| 135437 | 135453 | break; |
| 135438 | 135454 | case 94: /* selcollist ::= sclp nm DOT STAR */ |
| 135439 | 135455 | { |
| 135440 | | - Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0, &yymsp[0].minor.yy0); |
| 135456 | + Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0, 0); |
| 135441 | 135457 | Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 135442 | 135458 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); |
| 135443 | 135459 | yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148, pDot); |
| 135444 | 135460 | } |
| 135445 | 135461 | break; |
| 135446 | 135462 | case 95: /* as ::= AS nm */ |
| 135447 | 135463 | case 106: /* dbnm ::= DOT nm */ yytestcase(yyruleno==106); |
| 135448 | | - case 224: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==224); |
| 135449 | | - case 225: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==225); |
| 135464 | + case 225: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==225); |
| 135465 | + case 226: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==226); |
| 135450 | 135466 | {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} |
| 135451 | 135467 | break; |
| 135452 | 135468 | case 97: /* from ::= */ |
| 135453 | 135469 | {yymsp[1].minor.yy185 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy185));} |
| 135454 | 135470 | break; |
| | @@ -135527,18 +135543,18 @@ |
| 135527 | 135543 | {yymsp[-3].minor.yy194 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} |
| 135528 | 135544 | break; |
| 135529 | 135545 | case 112: /* on_opt ::= ON expr */ |
| 135530 | 135546 | case 129: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==129); |
| 135531 | 135547 | case 136: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==136); |
| 135532 | | - case 198: /* case_else ::= ELSE expr */ yytestcase(yyruleno==198); |
| 135548 | + case 199: /* case_else ::= ELSE expr */ yytestcase(yyruleno==199); |
| 135533 | 135549 | {yymsp[-1].minor.yy72 = yymsp[0].minor.yy190.pExpr;} |
| 135534 | 135550 | break; |
| 135535 | 135551 | case 113: /* on_opt ::= */ |
| 135536 | 135552 | case 128: /* having_opt ::= */ yytestcase(yyruleno==128); |
| 135537 | 135553 | case 135: /* where_opt ::= */ yytestcase(yyruleno==135); |
| 135538 | | - case 199: /* case_else ::= */ yytestcase(yyruleno==199); |
| 135539 | | - case 201: /* case_operand ::= */ yytestcase(yyruleno==201); |
| 135554 | + case 200: /* case_else ::= */ yytestcase(yyruleno==200); |
| 135555 | + case 202: /* case_operand ::= */ yytestcase(yyruleno==202); |
| 135540 | 135556 | {yymsp[1].minor.yy72 = 0;} |
| 135541 | 135557 | break; |
| 135542 | 135558 | case 115: /* indexed_opt ::= INDEXED BY nm */ |
| 135543 | 135559 | {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} |
| 135544 | 135560 | break; |
| | @@ -135650,37 +135666,46 @@ |
| 135650 | 135666 | break; |
| 135651 | 135667 | case 150: /* expr ::= LP expr RP */ |
| 135652 | 135668 | {spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ yymsp[-2].minor.yy190.pExpr = yymsp[-1].minor.yy190.pExpr;} |
| 135653 | 135669 | break; |
| 135654 | 135670 | case 151: /* term ::= NULL */ |
| 135655 | | - case 156: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==156); |
| 135671 | + case 156: /* term ::= FLOAT|BLOB */ yytestcase(yyruleno==156); |
| 135656 | 135672 | case 157: /* term ::= STRING */ yytestcase(yyruleno==157); |
| 135657 | 135673 | {spanExpr(&yymsp[0].minor.yy190,pParse,yymsp[0].major,yymsp[0].minor.yy0);/*A-overwrites-X*/} |
| 135658 | 135674 | break; |
| 135659 | 135675 | case 152: /* expr ::= ID|INDEXED */ |
| 135660 | 135676 | case 153: /* expr ::= JOIN_KW */ yytestcase(yyruleno==153); |
| 135661 | 135677 | {spanExpr(&yymsp[0].minor.yy190,pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 135662 | 135678 | break; |
| 135663 | 135679 | case 154: /* expr ::= nm DOT nm */ |
| 135664 | 135680 | { |
| 135665 | | - Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 135666 | | - Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 135681 | + Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 135682 | + Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); |
| 135667 | 135683 | spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ |
| 135668 | 135684 | yymsp[-2].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); |
| 135669 | 135685 | } |
| 135670 | 135686 | break; |
| 135671 | 135687 | case 155: /* expr ::= nm DOT nm DOT nm */ |
| 135672 | 135688 | { |
| 135673 | | - Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); |
| 135674 | | - Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); |
| 135675 | | - Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); |
| 135689 | + Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); |
| 135690 | + Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 135691 | + Expr *temp3 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); |
| 135676 | 135692 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); |
| 135677 | 135693 | spanSet(&yymsp[-4].minor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ |
| 135678 | 135694 | yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); |
| 135679 | 135695 | } |
| 135680 | 135696 | break; |
| 135681 | | - case 158: /* expr ::= VARIABLE */ |
| 135697 | + case 158: /* term ::= INTEGER */ |
| 135698 | +{ |
| 135699 | + yylhsminor.yy190.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); |
| 135700 | + yylhsminor.yy190.zStart = yymsp[0].minor.yy0.z; |
| 135701 | + yylhsminor.yy190.zEnd = yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n; |
| 135702 | + if( yylhsminor.yy190.pExpr ) yylhsminor.yy190.pExpr->flags |= EP_Leaf; |
| 135703 | +} |
| 135704 | + yymsp[0].minor.yy190 = yylhsminor.yy190; |
| 135705 | + break; |
| 135706 | + case 159: /* expr ::= VARIABLE */ |
| 135682 | 135707 | { |
| 135683 | 135708 | if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ |
| 135684 | 135709 | spanExpr(&yymsp[0].minor.yy190, pParse, TK_VARIABLE, yymsp[0].minor.yy0); |
| 135685 | 135710 | sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy190.pExpr); |
| 135686 | 135711 | }else{ |
| | @@ -135692,29 +135717,29 @@ |
| 135692 | 135717 | spanSet(&yymsp[0].minor.yy190, &t, &t); |
| 135693 | 135718 | if( pParse->nested==0 ){ |
| 135694 | 135719 | sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); |
| 135695 | 135720 | yymsp[0].minor.yy190.pExpr = 0; |
| 135696 | 135721 | }else{ |
| 135697 | | - yymsp[0].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &t); |
| 135722 | + yymsp[0].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, 0); |
| 135698 | 135723 | if( yymsp[0].minor.yy190.pExpr ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy190.pExpr->iTable); |
| 135699 | 135724 | } |
| 135700 | 135725 | } |
| 135701 | 135726 | } |
| 135702 | 135727 | break; |
| 135703 | | - case 159: /* expr ::= expr COLLATE ID|STRING */ |
| 135728 | + case 160: /* expr ::= expr COLLATE ID|STRING */ |
| 135704 | 135729 | { |
| 135705 | 135730 | yymsp[-2].minor.yy190.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy190.pExpr, &yymsp[0].minor.yy0, 1); |
| 135706 | 135731 | yymsp[-2].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 135707 | 135732 | } |
| 135708 | 135733 | break; |
| 135709 | | - case 160: /* expr ::= CAST LP expr AS typetoken RP */ |
| 135734 | + case 161: /* expr ::= CAST LP expr AS typetoken RP */ |
| 135710 | 135735 | { |
| 135711 | 135736 | spanSet(&yymsp[-5].minor.yy190,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ |
| 135712 | 135737 | yymsp[-5].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy190.pExpr, 0, &yymsp[-1].minor.yy0); |
| 135713 | 135738 | } |
| 135714 | 135739 | break; |
| 135715 | | - case 161: /* expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 135740 | + case 162: /* expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 135716 | 135741 | { |
| 135717 | 135742 | if( yymsp[-1].minor.yy148 && yymsp[-1].minor.yy148->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ |
| 135718 | 135743 | sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); |
| 135719 | 135744 | } |
| 135720 | 135745 | yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy148, &yymsp[-4].minor.yy0); |
| | @@ -135723,25 +135748,25 @@ |
| 135723 | 135748 | yylhsminor.yy190.pExpr->flags |= EP_Distinct; |
| 135724 | 135749 | } |
| 135725 | 135750 | } |
| 135726 | 135751 | yymsp[-4].minor.yy190 = yylhsminor.yy190; |
| 135727 | 135752 | break; |
| 135728 | | - case 162: /* expr ::= ID|INDEXED LP STAR RP */ |
| 135753 | + case 163: /* expr ::= ID|INDEXED LP STAR RP */ |
| 135729 | 135754 | { |
| 135730 | 135755 | yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); |
| 135731 | 135756 | spanSet(&yylhsminor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); |
| 135732 | 135757 | } |
| 135733 | 135758 | yymsp[-3].minor.yy190 = yylhsminor.yy190; |
| 135734 | 135759 | break; |
| 135735 | | - case 163: /* term ::= CTIME_KW */ |
| 135760 | + case 164: /* term ::= CTIME_KW */ |
| 135736 | 135761 | { |
| 135737 | 135762 | yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); |
| 135738 | 135763 | spanSet(&yylhsminor.yy190, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); |
| 135739 | 135764 | } |
| 135740 | 135765 | yymsp[0].minor.yy190 = yylhsminor.yy190; |
| 135741 | 135766 | break; |
| 135742 | | - case 164: /* expr ::= LP nexprlist COMMA expr RP */ |
| 135767 | + case 165: /* expr ::= LP nexprlist COMMA expr RP */ |
| 135743 | 135768 | { |
| 135744 | 135769 | ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy148, yymsp[-1].minor.yy190.pExpr); |
| 135745 | 135770 | yylhsminor.yy190.pExpr = sqlite3PExpr(pParse, TK_VECTOR, 0, 0, 0); |
| 135746 | 135771 | if( yylhsminor.yy190.pExpr ){ |
| 135747 | 135772 | yylhsminor.yy190.pExpr->x.pList = pList; |
| | @@ -135750,82 +135775,86 @@ |
| 135750 | 135775 | sqlite3ExprListDelete(pParse->db, pList); |
| 135751 | 135776 | } |
| 135752 | 135777 | } |
| 135753 | 135778 | yymsp[-4].minor.yy190 = yylhsminor.yy190; |
| 135754 | 135779 | break; |
| 135755 | | - case 165: /* expr ::= expr AND expr */ |
| 135756 | | - case 166: /* expr ::= expr OR expr */ yytestcase(yyruleno==166); |
| 135757 | | - case 167: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==167); |
| 135758 | | - case 168: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==168); |
| 135759 | | - case 169: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==169); |
| 135760 | | - case 170: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==170); |
| 135761 | | - case 171: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==171); |
| 135762 | | - case 172: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==172); |
| 135780 | + case 166: /* expr ::= expr AND expr */ |
| 135781 | + case 167: /* expr ::= expr OR expr */ yytestcase(yyruleno==167); |
| 135782 | + case 168: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==168); |
| 135783 | + case 169: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==169); |
| 135784 | + case 170: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==170); |
| 135785 | + case 171: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==171); |
| 135786 | + case 172: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==172); |
| 135787 | + case 173: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==173); |
| 135763 | 135788 | {spanBinaryExpr(pParse,yymsp[-1].major,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy190);} |
| 135764 | 135789 | break; |
| 135765 | | - case 173: /* likeop ::= LIKE_KW|MATCH */ |
| 135766 | | -{yymsp[0].minor.yy392.eOperator = yymsp[0].minor.yy0; yymsp[0].minor.yy392.bNot = 0;/*A-overwrites-X*/} |
| 135790 | + case 174: /* likeop ::= LIKE_KW|MATCH */ |
| 135791 | +{yymsp[0].minor.yy0=yymsp[0].minor.yy0;/*A-overwrites-X*/} |
| 135767 | 135792 | break; |
| 135768 | | - case 174: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 135769 | | -{yymsp[-1].minor.yy392.eOperator = yymsp[0].minor.yy0; yymsp[-1].minor.yy392.bNot = 1;} |
| 135793 | + case 175: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 135794 | +{yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} |
| 135770 | 135795 | break; |
| 135771 | | - case 175: /* expr ::= expr likeop expr */ |
| 135796 | + case 176: /* expr ::= expr likeop expr */ |
| 135772 | 135797 | { |
| 135773 | 135798 | ExprList *pList; |
| 135799 | + int bNot = yymsp[-1].minor.yy0.n & 0x80000000; |
| 135800 | + yymsp[-1].minor.yy0.n &= 0x7fffffff; |
| 135774 | 135801 | pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy190.pExpr); |
| 135775 | 135802 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy190.pExpr); |
| 135776 | | - yymsp[-2].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy392.eOperator); |
| 135777 | | - exprNot(pParse, yymsp[-1].minor.yy392.bNot, &yymsp[-2].minor.yy190); |
| 135803 | + yymsp[-2].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0); |
| 135804 | + exprNot(pParse, bNot, &yymsp[-2].minor.yy190); |
| 135778 | 135805 | yymsp[-2].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; |
| 135779 | 135806 | if( yymsp[-2].minor.yy190.pExpr ) yymsp[-2].minor.yy190.pExpr->flags |= EP_InfixFunc; |
| 135780 | 135807 | } |
| 135781 | 135808 | break; |
| 135782 | | - case 176: /* expr ::= expr likeop expr ESCAPE expr */ |
| 135809 | + case 177: /* expr ::= expr likeop expr ESCAPE expr */ |
| 135783 | 135810 | { |
| 135784 | 135811 | ExprList *pList; |
| 135812 | + int bNot = yymsp[-3].minor.yy0.n & 0x80000000; |
| 135813 | + yymsp[-3].minor.yy0.n &= 0x7fffffff; |
| 135785 | 135814 | pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); |
| 135786 | 135815 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy190.pExpr); |
| 135787 | 135816 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy190.pExpr); |
| 135788 | | - yymsp[-4].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy392.eOperator); |
| 135789 | | - exprNot(pParse, yymsp[-3].minor.yy392.bNot, &yymsp[-4].minor.yy190); |
| 135817 | + yymsp[-4].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0); |
| 135818 | + exprNot(pParse, bNot, &yymsp[-4].minor.yy190); |
| 135790 | 135819 | yymsp[-4].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; |
| 135791 | 135820 | if( yymsp[-4].minor.yy190.pExpr ) yymsp[-4].minor.yy190.pExpr->flags |= EP_InfixFunc; |
| 135792 | 135821 | } |
| 135793 | 135822 | break; |
| 135794 | | - case 177: /* expr ::= expr ISNULL|NOTNULL */ |
| 135823 | + case 178: /* expr ::= expr ISNULL|NOTNULL */ |
| 135795 | 135824 | {spanUnaryPostfix(pParse,yymsp[0].major,&yymsp[-1].minor.yy190,&yymsp[0].minor.yy0);} |
| 135796 | 135825 | break; |
| 135797 | | - case 178: /* expr ::= expr NOT NULL */ |
| 135826 | + case 179: /* expr ::= expr NOT NULL */ |
| 135798 | 135827 | {spanUnaryPostfix(pParse,TK_NOTNULL,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy0);} |
| 135799 | 135828 | break; |
| 135800 | | - case 179: /* expr ::= expr IS expr */ |
| 135829 | + case 180: /* expr ::= expr IS expr */ |
| 135801 | 135830 | { |
| 135802 | 135831 | spanBinaryExpr(pParse,TK_IS,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy190); |
| 135803 | 135832 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy190.pExpr, yymsp[-2].minor.yy190.pExpr, TK_ISNULL); |
| 135804 | 135833 | } |
| 135805 | 135834 | break; |
| 135806 | | - case 180: /* expr ::= expr IS NOT expr */ |
| 135835 | + case 181: /* expr ::= expr IS NOT expr */ |
| 135807 | 135836 | { |
| 135808 | 135837 | spanBinaryExpr(pParse,TK_ISNOT,&yymsp[-3].minor.yy190,&yymsp[0].minor.yy190); |
| 135809 | 135838 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy190.pExpr, yymsp[-3].minor.yy190.pExpr, TK_NOTNULL); |
| 135810 | 135839 | } |
| 135811 | 135840 | break; |
| 135812 | | - case 181: /* expr ::= NOT expr */ |
| 135813 | | - case 182: /* expr ::= BITNOT expr */ yytestcase(yyruleno==182); |
| 135841 | + case 182: /* expr ::= NOT expr */ |
| 135842 | + case 183: /* expr ::= BITNOT expr */ yytestcase(yyruleno==183); |
| 135814 | 135843 | {spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,yymsp[-1].major,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} |
| 135815 | 135844 | break; |
| 135816 | | - case 183: /* expr ::= MINUS expr */ |
| 135845 | + case 184: /* expr ::= MINUS expr */ |
| 135817 | 135846 | {spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,TK_UMINUS,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} |
| 135818 | 135847 | break; |
| 135819 | | - case 184: /* expr ::= PLUS expr */ |
| 135848 | + case 185: /* expr ::= PLUS expr */ |
| 135820 | 135849 | {spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,TK_UPLUS,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} |
| 135821 | 135850 | break; |
| 135822 | | - case 185: /* between_op ::= BETWEEN */ |
| 135823 | | - case 188: /* in_op ::= IN */ yytestcase(yyruleno==188); |
| 135851 | + case 186: /* between_op ::= BETWEEN */ |
| 135852 | + case 189: /* in_op ::= IN */ yytestcase(yyruleno==189); |
| 135824 | 135853 | {yymsp[0].minor.yy194 = 0;} |
| 135825 | 135854 | break; |
| 135826 | | - case 187: /* expr ::= expr between_op expr AND expr */ |
| 135855 | + case 188: /* expr ::= expr between_op expr AND expr */ |
| 135827 | 135856 | { |
| 135828 | 135857 | ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); |
| 135829 | 135858 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy190.pExpr); |
| 135830 | 135859 | yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy190.pExpr, 0, 0); |
| 135831 | 135860 | if( yymsp[-4].minor.yy190.pExpr ){ |
| | @@ -135835,11 +135864,11 @@ |
| 135835 | 135864 | } |
| 135836 | 135865 | exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); |
| 135837 | 135866 | yymsp[-4].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; |
| 135838 | 135867 | } |
| 135839 | 135868 | break; |
| 135840 | | - case 190: /* expr ::= expr in_op LP exprlist RP */ |
| 135869 | + case 191: /* expr ::= expr in_op LP exprlist RP */ |
| 135841 | 135870 | { |
| 135842 | 135871 | if( yymsp[-1].minor.yy148==0 ){ |
| 135843 | 135872 | /* Expressions of the form |
| 135844 | 135873 | ** |
| 135845 | 135874 | ** expr1 IN () |
| | @@ -135888,26 +135917,26 @@ |
| 135888 | 135917 | exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); |
| 135889 | 135918 | } |
| 135890 | 135919 | yymsp[-4].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 135891 | 135920 | } |
| 135892 | 135921 | break; |
| 135893 | | - case 191: /* expr ::= LP select RP */ |
| 135922 | + case 192: /* expr ::= LP select RP */ |
| 135894 | 135923 | { |
| 135895 | 135924 | spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ |
| 135896 | 135925 | yymsp[-2].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); |
| 135897 | 135926 | sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy190.pExpr, yymsp[-1].minor.yy243); |
| 135898 | 135927 | } |
| 135899 | 135928 | break; |
| 135900 | | - case 192: /* expr ::= expr in_op LP select RP */ |
| 135929 | + case 193: /* expr ::= expr in_op LP select RP */ |
| 135901 | 135930 | { |
| 135902 | 135931 | yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); |
| 135903 | 135932 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy190.pExpr, yymsp[-1].minor.yy243); |
| 135904 | 135933 | exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); |
| 135905 | 135934 | yymsp[-4].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; |
| 135906 | 135935 | } |
| 135907 | 135936 | break; |
| 135908 | | - case 193: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 135937 | + case 194: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 135909 | 135938 | { |
| 135910 | 135939 | SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); |
| 135911 | 135940 | Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); |
| 135912 | 135941 | if( yymsp[0].minor.yy148 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy148); |
| 135913 | 135942 | yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); |
| | @@ -135914,19 +135943,19 @@ |
| 135914 | 135943 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy190.pExpr, pSelect); |
| 135915 | 135944 | exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); |
| 135916 | 135945 | yymsp[-4].minor.yy190.zEnd = yymsp[-1].minor.yy0.z ? &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n] : &yymsp[-2].minor.yy0.z[yymsp[-2].minor.yy0.n]; |
| 135917 | 135946 | } |
| 135918 | 135947 | break; |
| 135919 | | - case 194: /* expr ::= EXISTS LP select RP */ |
| 135948 | + case 195: /* expr ::= EXISTS LP select RP */ |
| 135920 | 135949 | { |
| 135921 | 135950 | Expr *p; |
| 135922 | 135951 | spanSet(&yymsp[-3].minor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ |
| 135923 | 135952 | p = yymsp[-3].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); |
| 135924 | 135953 | sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy243); |
| 135925 | 135954 | } |
| 135926 | 135955 | break; |
| 135927 | | - case 195: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 135956 | + case 196: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 135928 | 135957 | { |
| 135929 | 135958 | spanSet(&yymsp[-4].minor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-C*/ |
| 135930 | 135959 | yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy72, 0, 0); |
| 135931 | 135960 | if( yymsp[-4].minor.yy190.pExpr ){ |
| 135932 | 135961 | yymsp[-4].minor.yy190.pExpr->x.pList = yymsp[-1].minor.yy72 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy148,yymsp[-1].minor.yy72) : yymsp[-2].minor.yy148; |
| | @@ -135935,334 +135964,334 @@ |
| 135935 | 135964 | sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy148); |
| 135936 | 135965 | sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy72); |
| 135937 | 135966 | } |
| 135938 | 135967 | } |
| 135939 | 135968 | break; |
| 135940 | | - case 196: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 135969 | + case 197: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 135941 | 135970 | { |
| 135942 | 135971 | yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy148, yymsp[-2].minor.yy190.pExpr); |
| 135943 | 135972 | yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy148, yymsp[0].minor.yy190.pExpr); |
| 135944 | 135973 | } |
| 135945 | 135974 | break; |
| 135946 | | - case 197: /* case_exprlist ::= WHEN expr THEN expr */ |
| 135975 | + case 198: /* case_exprlist ::= WHEN expr THEN expr */ |
| 135947 | 135976 | { |
| 135948 | 135977 | yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); |
| 135949 | 135978 | yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148, yymsp[0].minor.yy190.pExpr); |
| 135950 | 135979 | } |
| 135951 | 135980 | break; |
| 135952 | | - case 200: /* case_operand ::= expr */ |
| 135981 | + case 201: /* case_operand ::= expr */ |
| 135953 | 135982 | {yymsp[0].minor.yy72 = yymsp[0].minor.yy190.pExpr; /*A-overwrites-X*/} |
| 135954 | 135983 | break; |
| 135955 | | - case 203: /* nexprlist ::= nexprlist COMMA expr */ |
| 135984 | + case 204: /* nexprlist ::= nexprlist COMMA expr */ |
| 135956 | 135985 | {yymsp[-2].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy148,yymsp[0].minor.yy190.pExpr);} |
| 135957 | 135986 | break; |
| 135958 | | - case 204: /* nexprlist ::= expr */ |
| 135987 | + case 205: /* nexprlist ::= expr */ |
| 135959 | 135988 | {yymsp[0].minor.yy148 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy190.pExpr); /*A-overwrites-Y*/} |
| 135960 | 135989 | break; |
| 135961 | | - case 206: /* paren_exprlist ::= LP exprlist RP */ |
| 135962 | | - case 211: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==211); |
| 135990 | + case 207: /* paren_exprlist ::= LP exprlist RP */ |
| 135991 | + case 212: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==212); |
| 135963 | 135992 | {yymsp[-2].minor.yy148 = yymsp[-1].minor.yy148;} |
| 135964 | 135993 | break; |
| 135965 | | - case 207: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 135994 | + case 208: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 135966 | 135995 | { |
| 135967 | 135996 | sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, |
| 135968 | 135997 | sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy148, yymsp[-10].minor.yy194, |
| 135969 | 135998 | &yymsp[-11].minor.yy0, yymsp[0].minor.yy72, SQLITE_SO_ASC, yymsp[-8].minor.yy194, SQLITE_IDXTYPE_APPDEF); |
| 135970 | 135999 | } |
| 135971 | 136000 | break; |
| 135972 | | - case 208: /* uniqueflag ::= UNIQUE */ |
| 135973 | | - case 249: /* raisetype ::= ABORT */ yytestcase(yyruleno==249); |
| 136001 | + case 209: /* uniqueflag ::= UNIQUE */ |
| 136002 | + case 250: /* raisetype ::= ABORT */ yytestcase(yyruleno==250); |
| 135974 | 136003 | {yymsp[0].minor.yy194 = OE_Abort;} |
| 135975 | 136004 | break; |
| 135976 | | - case 209: /* uniqueflag ::= */ |
| 136005 | + case 210: /* uniqueflag ::= */ |
| 135977 | 136006 | {yymsp[1].minor.yy194 = OE_None;} |
| 135978 | 136007 | break; |
| 135979 | | - case 212: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 136008 | + case 213: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 135980 | 136009 | { |
| 135981 | 136010 | yymsp[-4].minor.yy148 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy148, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy194, yymsp[0].minor.yy194); |
| 135982 | 136011 | } |
| 135983 | 136012 | break; |
| 135984 | | - case 213: /* eidlist ::= nm collate sortorder */ |
| 136013 | + case 214: /* eidlist ::= nm collate sortorder */ |
| 135985 | 136014 | { |
| 135986 | 136015 | yymsp[-2].minor.yy148 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy194, yymsp[0].minor.yy194); /*A-overwrites-Y*/ |
| 135987 | 136016 | } |
| 135988 | 136017 | break; |
| 135989 | | - case 216: /* cmd ::= DROP INDEX ifexists fullname */ |
| 136018 | + case 217: /* cmd ::= DROP INDEX ifexists fullname */ |
| 135990 | 136019 | {sqlite3DropIndex(pParse, yymsp[0].minor.yy185, yymsp[-1].minor.yy194);} |
| 135991 | 136020 | break; |
| 135992 | | - case 217: /* cmd ::= VACUUM */ |
| 136021 | + case 218: /* cmd ::= VACUUM */ |
| 135993 | 136022 | {sqlite3Vacuum(pParse,0);} |
| 135994 | 136023 | break; |
| 135995 | | - case 218: /* cmd ::= VACUUM nm */ |
| 136024 | + case 219: /* cmd ::= VACUUM nm */ |
| 135996 | 136025 | {sqlite3Vacuum(pParse,&yymsp[0].minor.yy0);} |
| 135997 | 136026 | break; |
| 135998 | | - case 219: /* cmd ::= PRAGMA nm dbnm */ |
| 136027 | + case 220: /* cmd ::= PRAGMA nm dbnm */ |
| 135999 | 136028 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 136000 | 136029 | break; |
| 136001 | | - case 220: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 136030 | + case 221: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 136002 | 136031 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} |
| 136003 | 136032 | break; |
| 136004 | | - case 221: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 136033 | + case 222: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 136005 | 136034 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} |
| 136006 | 136035 | break; |
| 136007 | | - case 222: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 136036 | + case 223: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 136008 | 136037 | {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} |
| 136009 | 136038 | break; |
| 136010 | | - case 223: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 136039 | + case 224: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 136011 | 136040 | {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} |
| 136012 | 136041 | break; |
| 136013 | | - case 226: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 136042 | + case 227: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 136014 | 136043 | { |
| 136015 | 136044 | Token all; |
| 136016 | 136045 | all.z = yymsp[-3].minor.yy0.z; |
| 136017 | 136046 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 136018 | 136047 | sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy145, &all); |
| 136019 | 136048 | } |
| 136020 | 136049 | break; |
| 136021 | | - case 227: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 136050 | + case 228: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 136022 | 136051 | { |
| 136023 | 136052 | sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy194, yymsp[-4].minor.yy332.a, yymsp[-4].minor.yy332.b, yymsp[-2].minor.yy185, yymsp[0].minor.yy72, yymsp[-10].minor.yy194, yymsp[-8].minor.yy194); |
| 136024 | 136053 | yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ |
| 136025 | 136054 | } |
| 136026 | 136055 | break; |
| 136027 | | - case 228: /* trigger_time ::= BEFORE */ |
| 136056 | + case 229: /* trigger_time ::= BEFORE */ |
| 136028 | 136057 | { yymsp[0].minor.yy194 = TK_BEFORE; } |
| 136029 | 136058 | break; |
| 136030 | | - case 229: /* trigger_time ::= AFTER */ |
| 136059 | + case 230: /* trigger_time ::= AFTER */ |
| 136031 | 136060 | { yymsp[0].minor.yy194 = TK_AFTER; } |
| 136032 | 136061 | break; |
| 136033 | | - case 230: /* trigger_time ::= INSTEAD OF */ |
| 136062 | + case 231: /* trigger_time ::= INSTEAD OF */ |
| 136034 | 136063 | { yymsp[-1].minor.yy194 = TK_INSTEAD;} |
| 136035 | 136064 | break; |
| 136036 | | - case 231: /* trigger_time ::= */ |
| 136065 | + case 232: /* trigger_time ::= */ |
| 136037 | 136066 | { yymsp[1].minor.yy194 = TK_BEFORE; } |
| 136038 | 136067 | break; |
| 136039 | | - case 232: /* trigger_event ::= DELETE|INSERT */ |
| 136040 | | - case 233: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==233); |
| 136068 | + case 233: /* trigger_event ::= DELETE|INSERT */ |
| 136069 | + case 234: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==234); |
| 136041 | 136070 | {yymsp[0].minor.yy332.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy332.b = 0;} |
| 136042 | 136071 | break; |
| 136043 | | - case 234: /* trigger_event ::= UPDATE OF idlist */ |
| 136072 | + case 235: /* trigger_event ::= UPDATE OF idlist */ |
| 136044 | 136073 | {yymsp[-2].minor.yy332.a = TK_UPDATE; yymsp[-2].minor.yy332.b = yymsp[0].minor.yy254;} |
| 136045 | 136074 | break; |
| 136046 | | - case 235: /* when_clause ::= */ |
| 136047 | | - case 254: /* key_opt ::= */ yytestcase(yyruleno==254); |
| 136075 | + case 236: /* when_clause ::= */ |
| 136076 | + case 255: /* key_opt ::= */ yytestcase(yyruleno==255); |
| 136048 | 136077 | { yymsp[1].minor.yy72 = 0; } |
| 136049 | 136078 | break; |
| 136050 | | - case 236: /* when_clause ::= WHEN expr */ |
| 136051 | | - case 255: /* key_opt ::= KEY expr */ yytestcase(yyruleno==255); |
| 136079 | + case 237: /* when_clause ::= WHEN expr */ |
| 136080 | + case 256: /* key_opt ::= KEY expr */ yytestcase(yyruleno==256); |
| 136052 | 136081 | { yymsp[-1].minor.yy72 = yymsp[0].minor.yy190.pExpr; } |
| 136053 | 136082 | break; |
| 136054 | | - case 237: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 136083 | + case 238: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 136055 | 136084 | { |
| 136056 | 136085 | assert( yymsp[-2].minor.yy145!=0 ); |
| 136057 | 136086 | yymsp[-2].minor.yy145->pLast->pNext = yymsp[-1].minor.yy145; |
| 136058 | 136087 | yymsp[-2].minor.yy145->pLast = yymsp[-1].minor.yy145; |
| 136059 | 136088 | } |
| 136060 | 136089 | break; |
| 136061 | | - case 238: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 136090 | + case 239: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 136062 | 136091 | { |
| 136063 | 136092 | assert( yymsp[-1].minor.yy145!=0 ); |
| 136064 | 136093 | yymsp[-1].minor.yy145->pLast = yymsp[-1].minor.yy145; |
| 136065 | 136094 | } |
| 136066 | 136095 | break; |
| 136067 | | - case 239: /* trnm ::= nm DOT nm */ |
| 136096 | + case 240: /* trnm ::= nm DOT nm */ |
| 136068 | 136097 | { |
| 136069 | 136098 | yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; |
| 136070 | 136099 | sqlite3ErrorMsg(pParse, |
| 136071 | 136100 | "qualified table names are not allowed on INSERT, UPDATE, and DELETE " |
| 136072 | 136101 | "statements within triggers"); |
| 136073 | 136102 | } |
| 136074 | 136103 | break; |
| 136075 | | - case 240: /* tridxby ::= INDEXED BY nm */ |
| 136104 | + case 241: /* tridxby ::= INDEXED BY nm */ |
| 136076 | 136105 | { |
| 136077 | 136106 | sqlite3ErrorMsg(pParse, |
| 136078 | 136107 | "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " |
| 136079 | 136108 | "within triggers"); |
| 136080 | 136109 | } |
| 136081 | 136110 | break; |
| 136082 | | - case 241: /* tridxby ::= NOT INDEXED */ |
| 136111 | + case 242: /* tridxby ::= NOT INDEXED */ |
| 136083 | 136112 | { |
| 136084 | 136113 | sqlite3ErrorMsg(pParse, |
| 136085 | 136114 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 136086 | 136115 | "within triggers"); |
| 136087 | 136116 | } |
| 136088 | 136117 | break; |
| 136089 | | - case 242: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ |
| 136118 | + case 243: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ |
| 136090 | 136119 | {yymsp[-6].minor.yy145 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy148, yymsp[0].minor.yy72, yymsp[-5].minor.yy194);} |
| 136091 | 136120 | break; |
| 136092 | | - case 243: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */ |
| 136121 | + case 244: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */ |
| 136093 | 136122 | {yymsp[-4].minor.yy145 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy254, yymsp[0].minor.yy243, yymsp[-4].minor.yy194);/*A-overwrites-R*/} |
| 136094 | 136123 | break; |
| 136095 | | - case 244: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ |
| 136124 | + case 245: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ |
| 136096 | 136125 | {yymsp[-4].minor.yy145 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy72);} |
| 136097 | 136126 | break; |
| 136098 | | - case 245: /* trigger_cmd ::= select */ |
| 136127 | + case 246: /* trigger_cmd ::= select */ |
| 136099 | 136128 | {yymsp[0].minor.yy145 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy243); /*A-overwrites-X*/} |
| 136100 | 136129 | break; |
| 136101 | | - case 246: /* expr ::= RAISE LP IGNORE RP */ |
| 136130 | + case 247: /* expr ::= RAISE LP IGNORE RP */ |
| 136102 | 136131 | { |
| 136103 | 136132 | spanSet(&yymsp[-3].minor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ |
| 136104 | 136133 | yymsp[-3].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); |
| 136105 | 136134 | if( yymsp[-3].minor.yy190.pExpr ){ |
| 136106 | 136135 | yymsp[-3].minor.yy190.pExpr->affinity = OE_Ignore; |
| 136107 | 136136 | } |
| 136108 | 136137 | } |
| 136109 | 136138 | break; |
| 136110 | | - case 247: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 136139 | + case 248: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 136111 | 136140 | { |
| 136112 | 136141 | spanSet(&yymsp[-5].minor.yy190,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ |
| 136113 | 136142 | yymsp[-5].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); |
| 136114 | 136143 | if( yymsp[-5].minor.yy190.pExpr ) { |
| 136115 | 136144 | yymsp[-5].minor.yy190.pExpr->affinity = (char)yymsp[-3].minor.yy194; |
| 136116 | 136145 | } |
| 136117 | 136146 | } |
| 136118 | 136147 | break; |
| 136119 | | - case 248: /* raisetype ::= ROLLBACK */ |
| 136148 | + case 249: /* raisetype ::= ROLLBACK */ |
| 136120 | 136149 | {yymsp[0].minor.yy194 = OE_Rollback;} |
| 136121 | 136150 | break; |
| 136122 | | - case 250: /* raisetype ::= FAIL */ |
| 136151 | + case 251: /* raisetype ::= FAIL */ |
| 136123 | 136152 | {yymsp[0].minor.yy194 = OE_Fail;} |
| 136124 | 136153 | break; |
| 136125 | | - case 251: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 136154 | + case 252: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 136126 | 136155 | { |
| 136127 | 136156 | sqlite3DropTrigger(pParse,yymsp[0].minor.yy185,yymsp[-1].minor.yy194); |
| 136128 | 136157 | } |
| 136129 | 136158 | break; |
| 136130 | | - case 252: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 136159 | + case 253: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 136131 | 136160 | { |
| 136132 | 136161 | sqlite3Attach(pParse, yymsp[-3].minor.yy190.pExpr, yymsp[-1].minor.yy190.pExpr, yymsp[0].minor.yy72); |
| 136133 | 136162 | } |
| 136134 | 136163 | break; |
| 136135 | | - case 253: /* cmd ::= DETACH database_kw_opt expr */ |
| 136164 | + case 254: /* cmd ::= DETACH database_kw_opt expr */ |
| 136136 | 136165 | { |
| 136137 | 136166 | sqlite3Detach(pParse, yymsp[0].minor.yy190.pExpr); |
| 136138 | 136167 | } |
| 136139 | 136168 | break; |
| 136140 | | - case 256: /* cmd ::= REINDEX */ |
| 136169 | + case 257: /* cmd ::= REINDEX */ |
| 136141 | 136170 | {sqlite3Reindex(pParse, 0, 0);} |
| 136142 | 136171 | break; |
| 136143 | | - case 257: /* cmd ::= REINDEX nm dbnm */ |
| 136172 | + case 258: /* cmd ::= REINDEX nm dbnm */ |
| 136144 | 136173 | {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 136145 | 136174 | break; |
| 136146 | | - case 258: /* cmd ::= ANALYZE */ |
| 136175 | + case 259: /* cmd ::= ANALYZE */ |
| 136147 | 136176 | {sqlite3Analyze(pParse, 0, 0);} |
| 136148 | 136177 | break; |
| 136149 | | - case 259: /* cmd ::= ANALYZE nm dbnm */ |
| 136178 | + case 260: /* cmd ::= ANALYZE nm dbnm */ |
| 136150 | 136179 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 136151 | 136180 | break; |
| 136152 | | - case 260: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 136181 | + case 261: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 136153 | 136182 | { |
| 136154 | 136183 | sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy185,&yymsp[0].minor.yy0); |
| 136155 | 136184 | } |
| 136156 | 136185 | break; |
| 136157 | | - case 261: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 136186 | + case 262: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 136158 | 136187 | { |
| 136159 | 136188 | yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; |
| 136160 | 136189 | sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); |
| 136161 | 136190 | } |
| 136162 | 136191 | break; |
| 136163 | | - case 262: /* add_column_fullname ::= fullname */ |
| 136192 | + case 263: /* add_column_fullname ::= fullname */ |
| 136164 | 136193 | { |
| 136165 | 136194 | disableLookaside(pParse); |
| 136166 | 136195 | sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy185); |
| 136167 | 136196 | } |
| 136168 | 136197 | break; |
| 136169 | | - case 263: /* cmd ::= create_vtab */ |
| 136198 | + case 264: /* cmd ::= create_vtab */ |
| 136170 | 136199 | {sqlite3VtabFinishParse(pParse,0);} |
| 136171 | 136200 | break; |
| 136172 | | - case 264: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 136201 | + case 265: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 136173 | 136202 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 136174 | 136203 | break; |
| 136175 | | - case 265: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 136204 | + case 266: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 136176 | 136205 | { |
| 136177 | 136206 | sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy194); |
| 136178 | 136207 | } |
| 136179 | 136208 | break; |
| 136180 | | - case 266: /* vtabarg ::= */ |
| 136209 | + case 267: /* vtabarg ::= */ |
| 136181 | 136210 | {sqlite3VtabArgInit(pParse);} |
| 136182 | 136211 | break; |
| 136183 | | - case 267: /* vtabargtoken ::= ANY */ |
| 136184 | | - case 268: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==268); |
| 136185 | | - case 269: /* lp ::= LP */ yytestcase(yyruleno==269); |
| 136212 | + case 268: /* vtabargtoken ::= ANY */ |
| 136213 | + case 269: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==269); |
| 136214 | + case 270: /* lp ::= LP */ yytestcase(yyruleno==270); |
| 136186 | 136215 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 136187 | 136216 | break; |
| 136188 | | - case 270: /* with ::= */ |
| 136217 | + case 271: /* with ::= */ |
| 136189 | 136218 | {yymsp[1].minor.yy285 = 0;} |
| 136190 | 136219 | break; |
| 136191 | | - case 271: /* with ::= WITH wqlist */ |
| 136220 | + case 272: /* with ::= WITH wqlist */ |
| 136192 | 136221 | { yymsp[-1].minor.yy285 = yymsp[0].minor.yy285; } |
| 136193 | 136222 | break; |
| 136194 | | - case 272: /* with ::= WITH RECURSIVE wqlist */ |
| 136223 | + case 273: /* with ::= WITH RECURSIVE wqlist */ |
| 136195 | 136224 | { yymsp[-2].minor.yy285 = yymsp[0].minor.yy285; } |
| 136196 | 136225 | break; |
| 136197 | | - case 273: /* wqlist ::= nm eidlist_opt AS LP select RP */ |
| 136226 | + case 274: /* wqlist ::= nm eidlist_opt AS LP select RP */ |
| 136198 | 136227 | { |
| 136199 | 136228 | yymsp[-5].minor.yy285 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy148, yymsp[-1].minor.yy243); /*A-overwrites-X*/ |
| 136200 | 136229 | } |
| 136201 | 136230 | break; |
| 136202 | | - case 274: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 136231 | + case 275: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 136203 | 136232 | { |
| 136204 | 136233 | yymsp[-7].minor.yy285 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy285, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy148, yymsp[-1].minor.yy243); |
| 136205 | 136234 | } |
| 136206 | 136235 | break; |
| 136207 | 136236 | default: |
| 136208 | | - /* (275) input ::= cmdlist */ yytestcase(yyruleno==275); |
| 136209 | | - /* (276) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==276); |
| 136210 | | - /* (277) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=277); |
| 136211 | | - /* (278) ecmd ::= SEMI */ yytestcase(yyruleno==278); |
| 136212 | | - /* (279) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==279); |
| 136213 | | - /* (280) explain ::= */ yytestcase(yyruleno==280); |
| 136214 | | - /* (281) trans_opt ::= */ yytestcase(yyruleno==281); |
| 136215 | | - /* (282) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==282); |
| 136216 | | - /* (283) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==283); |
| 136217 | | - /* (284) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==284); |
| 136218 | | - /* (285) savepoint_opt ::= */ yytestcase(yyruleno==285); |
| 136219 | | - /* (286) cmd ::= create_table create_table_args */ yytestcase(yyruleno==286); |
| 136220 | | - /* (287) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==287); |
| 136221 | | - /* (288) columnlist ::= columnname carglist */ yytestcase(yyruleno==288); |
| 136222 | | - /* (289) nm ::= ID|INDEXED */ yytestcase(yyruleno==289); |
| 136223 | | - /* (290) nm ::= STRING */ yytestcase(yyruleno==290); |
| 136224 | | - /* (291) nm ::= JOIN_KW */ yytestcase(yyruleno==291); |
| 136225 | | - /* (292) typetoken ::= typename */ yytestcase(yyruleno==292); |
| 136226 | | - /* (293) typename ::= ID|STRING */ yytestcase(yyruleno==293); |
| 136227 | | - /* (294) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=294); |
| 136228 | | - /* (295) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=295); |
| 136229 | | - /* (296) carglist ::= carglist ccons */ yytestcase(yyruleno==296); |
| 136230 | | - /* (297) carglist ::= */ yytestcase(yyruleno==297); |
| 136231 | | - /* (298) ccons ::= NULL onconf */ yytestcase(yyruleno==298); |
| 136232 | | - /* (299) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==299); |
| 136233 | | - /* (300) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==300); |
| 136234 | | - /* (301) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=301); |
| 136235 | | - /* (302) tconscomma ::= */ yytestcase(yyruleno==302); |
| 136236 | | - /* (303) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=303); |
| 136237 | | - /* (304) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=304); |
| 136238 | | - /* (305) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=305); |
| 136239 | | - /* (306) oneselect ::= values */ yytestcase(yyruleno==306); |
| 136240 | | - /* (307) sclp ::= selcollist COMMA */ yytestcase(yyruleno==307); |
| 136241 | | - /* (308) as ::= ID|STRING */ yytestcase(yyruleno==308); |
| 136242 | | - /* (309) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=309); |
| 136243 | | - /* (310) exprlist ::= nexprlist */ yytestcase(yyruleno==310); |
| 136244 | | - /* (311) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=311); |
| 136245 | | - /* (312) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=312); |
| 136246 | | - /* (313) nmnum ::= ON */ yytestcase(yyruleno==313); |
| 136247 | | - /* (314) nmnum ::= DELETE */ yytestcase(yyruleno==314); |
| 136248 | | - /* (315) nmnum ::= DEFAULT */ yytestcase(yyruleno==315); |
| 136249 | | - /* (316) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==316); |
| 136250 | | - /* (317) foreach_clause ::= */ yytestcase(yyruleno==317); |
| 136251 | | - /* (318) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==318); |
| 136252 | | - /* (319) trnm ::= nm */ yytestcase(yyruleno==319); |
| 136253 | | - /* (320) tridxby ::= */ yytestcase(yyruleno==320); |
| 136254 | | - /* (321) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==321); |
| 136255 | | - /* (322) database_kw_opt ::= */ yytestcase(yyruleno==322); |
| 136256 | | - /* (323) kwcolumn_opt ::= */ yytestcase(yyruleno==323); |
| 136257 | | - /* (324) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==324); |
| 136258 | | - /* (325) vtabarglist ::= vtabarg */ yytestcase(yyruleno==325); |
| 136259 | | - /* (326) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==326); |
| 136260 | | - /* (327) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==327); |
| 136261 | | - /* (328) anylist ::= */ yytestcase(yyruleno==328); |
| 136262 | | - /* (329) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==329); |
| 136263 | | - /* (330) anylist ::= anylist ANY */ yytestcase(yyruleno==330); |
| 136237 | + /* (276) input ::= cmdlist */ yytestcase(yyruleno==276); |
| 136238 | + /* (277) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==277); |
| 136239 | + /* (278) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=278); |
| 136240 | + /* (279) ecmd ::= SEMI */ yytestcase(yyruleno==279); |
| 136241 | + /* (280) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==280); |
| 136242 | + /* (281) explain ::= */ yytestcase(yyruleno==281); |
| 136243 | + /* (282) trans_opt ::= */ yytestcase(yyruleno==282); |
| 136244 | + /* (283) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==283); |
| 136245 | + /* (284) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==284); |
| 136246 | + /* (285) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==285); |
| 136247 | + /* (286) savepoint_opt ::= */ yytestcase(yyruleno==286); |
| 136248 | + /* (287) cmd ::= create_table create_table_args */ yytestcase(yyruleno==287); |
| 136249 | + /* (288) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==288); |
| 136250 | + /* (289) columnlist ::= columnname carglist */ yytestcase(yyruleno==289); |
| 136251 | + /* (290) nm ::= ID|INDEXED */ yytestcase(yyruleno==290); |
| 136252 | + /* (291) nm ::= STRING */ yytestcase(yyruleno==291); |
| 136253 | + /* (292) nm ::= JOIN_KW */ yytestcase(yyruleno==292); |
| 136254 | + /* (293) typetoken ::= typename */ yytestcase(yyruleno==293); |
| 136255 | + /* (294) typename ::= ID|STRING */ yytestcase(yyruleno==294); |
| 136256 | + /* (295) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=295); |
| 136257 | + /* (296) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=296); |
| 136258 | + /* (297) carglist ::= carglist ccons */ yytestcase(yyruleno==297); |
| 136259 | + /* (298) carglist ::= */ yytestcase(yyruleno==298); |
| 136260 | + /* (299) ccons ::= NULL onconf */ yytestcase(yyruleno==299); |
| 136261 | + /* (300) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==300); |
| 136262 | + /* (301) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==301); |
| 136263 | + /* (302) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=302); |
| 136264 | + /* (303) tconscomma ::= */ yytestcase(yyruleno==303); |
| 136265 | + /* (304) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=304); |
| 136266 | + /* (305) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=305); |
| 136267 | + /* (306) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=306); |
| 136268 | + /* (307) oneselect ::= values */ yytestcase(yyruleno==307); |
| 136269 | + /* (308) sclp ::= selcollist COMMA */ yytestcase(yyruleno==308); |
| 136270 | + /* (309) as ::= ID|STRING */ yytestcase(yyruleno==309); |
| 136271 | + /* (310) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=310); |
| 136272 | + /* (311) exprlist ::= nexprlist */ yytestcase(yyruleno==311); |
| 136273 | + /* (312) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=312); |
| 136274 | + /* (313) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=313); |
| 136275 | + /* (314) nmnum ::= ON */ yytestcase(yyruleno==314); |
| 136276 | + /* (315) nmnum ::= DELETE */ yytestcase(yyruleno==315); |
| 136277 | + /* (316) nmnum ::= DEFAULT */ yytestcase(yyruleno==316); |
| 136278 | + /* (317) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==317); |
| 136279 | + /* (318) foreach_clause ::= */ yytestcase(yyruleno==318); |
| 136280 | + /* (319) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==319); |
| 136281 | + /* (320) trnm ::= nm */ yytestcase(yyruleno==320); |
| 136282 | + /* (321) tridxby ::= */ yytestcase(yyruleno==321); |
| 136283 | + /* (322) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==322); |
| 136284 | + /* (323) database_kw_opt ::= */ yytestcase(yyruleno==323); |
| 136285 | + /* (324) kwcolumn_opt ::= */ yytestcase(yyruleno==324); |
| 136286 | + /* (325) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==325); |
| 136287 | + /* (326) vtabarglist ::= vtabarg */ yytestcase(yyruleno==326); |
| 136288 | + /* (327) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==327); |
| 136289 | + /* (328) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==328); |
| 136290 | + /* (329) anylist ::= */ yytestcase(yyruleno==329); |
| 136291 | + /* (330) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==330); |
| 136292 | + /* (331) anylist ::= anylist ANY */ yytestcase(yyruleno==331); |
| 136264 | 136293 | break; |
| 136265 | 136294 | /********** End reduce actions ************************************************/ |
| 136266 | 136295 | }; |
| 136267 | 136296 | assert( yyruleno<sizeof(yyRuleInfo)/sizeof(yyRuleInfo[0]) ); |
| 136268 | 136297 | yygoto = yyRuleInfo[yyruleno].lhs; |
| | @@ -195597,11 +195626,11 @@ |
| 195597 | 195626 | int nArg, /* Number of args */ |
| 195598 | 195627 | sqlite3_value **apUnused /* Function arguments */ |
| 195599 | 195628 | ){ |
| 195600 | 195629 | assert( nArg==0 ); |
| 195601 | 195630 | UNUSED_PARAM2(nArg, apUnused); |
| 195602 | | - sqlite3_result_text(pCtx, "fts5: 2016-09-21 19:43:34 0741812d7fcd558479e4849fbb3ba8d03738d018", -1, SQLITE_TRANSIENT); |
| 195631 | + sqlite3_result_text(pCtx, "fts5: 2016-09-16 17:50:57 e3d9efa2770cd789ece3f4db4941b901c8b805ad", -1, SQLITE_TRANSIENT); |
| 195603 | 195632 | } |
| 195604 | 195633 | |
| 195605 | 195634 | static int fts5Init(sqlite3 *db){ |
| 195606 | 195635 | static const sqlite3_module fts5Mod = { |
| 195607 | 195636 | /* iVersion */ 2, |
| 195608 | 195637 | |