Fossil SCM
Update the built-in SQLite to the first 3.28.0 beta.
Commit
cbc21e52904aac60495f2728c1964dd8504b0a467475d27ac720d17bc62e8702
Parent
85dd55db660a433…
2 files changed
+1489
-1427
+2
-2
+1489
-1427
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -1162,11 +1162,11 @@ | ||
| 1162 | 1162 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1163 | 1163 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1164 | 1164 | */ |
| 1165 | 1165 | #define SQLITE_VERSION "3.28.0" |
| 1166 | 1166 | #define SQLITE_VERSION_NUMBER 3028000 |
| 1167 | -#define SQLITE_SOURCE_ID "2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f" | |
| 1167 | +#define SQLITE_SOURCE_ID "2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f" | |
| 1168 | 1168 | |
| 1169 | 1169 | /* |
| 1170 | 1170 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1171 | 1171 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1172 | 1172 | ** |
| @@ -6017,11 +6017,11 @@ | ||
| 6017 | 6017 | ** <td>→ <td>Best numeric datatype of the value |
| 6018 | 6018 | ** <tr><td><b>sqlite3_value_nochange </b> |
| 6019 | 6019 | ** <td>→ <td>True if the column is unchanged in an UPDATE |
| 6020 | 6020 | ** against a virtual table. |
| 6021 | 6021 | ** <tr><td><b>sqlite3_value_frombind </b> |
| 6022 | -** <td>→ <td>True if value originated a bound parameter | |
| 6022 | +** <td>→ <td>True if value originated from a [bound parameter] | |
| 6023 | 6023 | ** </table></blockquote> |
| 6024 | 6024 | ** |
| 6025 | 6025 | ** <b>Details:</b> |
| 6026 | 6026 | ** |
| 6027 | 6027 | ** These routines extract type, size, and content information from |
| @@ -13643,21 +13643,12 @@ | ||
| 13643 | 13643 | #define TK_VECTOR 169 |
| 13644 | 13644 | #define TK_SELECT_COLUMN 170 |
| 13645 | 13645 | #define TK_IF_NULL_ROW 171 |
| 13646 | 13646 | #define TK_ASTERISK 172 |
| 13647 | 13647 | #define TK_SPAN 173 |
| 13648 | -#define TK_END_OF_FILE 174 | |
| 13649 | -#define TK_UNCLOSED_STRING 175 | |
| 13650 | -#define TK_SPACE 176 | |
| 13651 | -#define TK_ILLEGAL 177 | |
| 13652 | - | |
| 13653 | -/* The token codes above must all fit in 8 bits */ | |
| 13654 | -#define TKFLG_MASK 0xff | |
| 13655 | - | |
| 13656 | -/* Flags that can be added to a token code when it is not | |
| 13657 | -** being stored in a u8: */ | |
| 13658 | -#define TKFLG_DONTFOLD 0x100 /* Omit constant folding optimizations */ | |
| 13648 | +#define TK_SPACE 174 | |
| 13649 | +#define TK_ILLEGAL 175 | |
| 13659 | 13650 | |
| 13660 | 13651 | /************** End of parse.h ***********************************************/ |
| 13661 | 13652 | /************** Continuing where we left off in sqliteInt.h ******************/ |
| 13662 | 13653 | #include <stdio.h> |
| 13663 | 13654 | #include <stdlib.h> |
| @@ -16495,11 +16486,12 @@ | ||
| 16495 | 16486 | ** Allowed values for sqlite3.mDbFlags |
| 16496 | 16487 | */ |
| 16497 | 16488 | #define DBFLAG_SchemaChange 0x0001 /* Uncommitted Hash table changes */ |
| 16498 | 16489 | #define DBFLAG_PreferBuiltin 0x0002 /* Preference to built-in funcs */ |
| 16499 | 16490 | #define DBFLAG_Vacuum 0x0004 /* Currently in a VACUUM */ |
| 16500 | -#define DBFLAG_SchemaKnownOk 0x0008 /* Schema is known to be valid */ | |
| 16491 | +#define DBFLAG_VacuumInto 0x0008 /* Currently running VACUUM INTO */ | |
| 16492 | +#define DBFLAG_SchemaKnownOk 0x0010 /* Schema is known to be valid */ | |
| 16501 | 16493 | |
| 16502 | 16494 | /* |
| 16503 | 16495 | ** Bits of the sqlite3.dbOptFlags field that are used by the |
| 16504 | 16496 | ** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to |
| 16505 | 16497 | ** selectively disable various optimizations. |
| @@ -18763,10 +18755,11 @@ | ||
| 18763 | 18755 | #endif |
| 18764 | 18756 | |
| 18765 | 18757 | |
| 18766 | 18758 | SQLITE_PRIVATE void sqlite3SetString(char **, sqlite3*, const char*); |
| 18767 | 18759 | SQLITE_PRIVATE void sqlite3ErrorMsg(Parse*, const char*, ...); |
| 18760 | +SQLITE_PRIVATE int sqlite3ErrorToParser(sqlite3*,int); | |
| 18768 | 18761 | SQLITE_PRIVATE void sqlite3Dequote(char*); |
| 18769 | 18762 | SQLITE_PRIVATE void sqlite3DequoteExpr(Expr*); |
| 18770 | 18763 | SQLITE_PRIVATE void sqlite3TokenInit(Token*,char*); |
| 18771 | 18764 | SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char*, int); |
| 18772 | 18765 | SQLITE_PRIVATE int sqlite3RunParser(Parse*, const char*, char **); |
| @@ -20222,10 +20215,16 @@ | ||
| 20222 | 20215 | ** Clear any existing type flags from a Mem and replace them with f |
| 20223 | 20216 | */ |
| 20224 | 20217 | #define MemSetTypeFlag(p, f) \ |
| 20225 | 20218 | ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f) |
| 20226 | 20219 | |
| 20220 | +/* | |
| 20221 | +** True if Mem X is a NULL-nochng type. | |
| 20222 | +*/ | |
| 20223 | +#define MemNullNochng(X) \ | |
| 20224 | + ((X)->flags==(MEM_Null|MEM_Zero) && (X)->n==0 && (X)->u.nZero==0) | |
| 20225 | + | |
| 20227 | 20226 | /* |
| 20228 | 20227 | ** Return true if a memory cell is not marked as invalid. This macro |
| 20229 | 20228 | ** is for use inside assert() statements only. |
| 20230 | 20229 | */ |
| 20231 | 20230 | #ifdef SQLITE_DEBUG |
| @@ -27368,10 +27367,11 @@ | ||
| 27368 | 27367 | */ |
| 27369 | 27368 | static void setStrAccumError(StrAccum *p, u8 eError){ |
| 27370 | 27369 | assert( eError==SQLITE_NOMEM || eError==SQLITE_TOOBIG ); |
| 27371 | 27370 | p->accError = eError; |
| 27372 | 27371 | if( p->mxAlloc ) sqlite3_str_reset(p); |
| 27372 | + if( eError==SQLITE_TOOBIG ) sqlite3ErrorToParser(p->db, eError); | |
| 27373 | 27373 | } |
| 27374 | 27374 | |
| 27375 | 27375 | /* |
| 27376 | 27376 | ** Extra argument values from a PrintfArguments object |
| 27377 | 27377 | */ |
| @@ -30225,19 +30225,27 @@ | ||
| 30225 | 30225 | dummy += (unsigned)x; |
| 30226 | 30226 | } |
| 30227 | 30227 | #endif |
| 30228 | 30228 | |
| 30229 | 30229 | /* |
| 30230 | -** Give a callback to the test harness that can be used to simulate faults | |
| 30231 | -** in places where it is difficult or expensive to do so purely by means | |
| 30232 | -** of inputs. | |
| 30233 | -** | |
| 30234 | -** The intent of the integer argument is to let the fault simulator know | |
| 30235 | -** which of multiple sqlite3FaultSim() calls has been hit. | |
| 30236 | -** | |
| 30237 | -** Return whatever integer value the test callback returns, or return | |
| 30238 | -** SQLITE_OK if no test callback is installed. | |
| 30230 | +** Calls to sqlite3FaultSim() are used to simulate a failure during testing, | |
| 30231 | +** or to bypass normal error detection during testing in order to let | |
| 30232 | +** execute proceed futher downstream. | |
| 30233 | +** | |
| 30234 | +** In deployment, sqlite3FaultSim() *always* return SQLITE_OK (0). The | |
| 30235 | +** sqlite3FaultSim() function only returns non-zero during testing. | |
| 30236 | +** | |
| 30237 | +** During testing, if the test harness has set a fault-sim callback using | |
| 30238 | +** a call to sqlite3_test_control(SQLITE_TESTCTRL_FAULT_INSTALL), then | |
| 30239 | +** each call to sqlite3FaultSim() is relayed to that application-supplied | |
| 30240 | +** callback and the integer return value form the application-supplied | |
| 30241 | +** callback is returned by sqlite3FaultSim(). | |
| 30242 | +** | |
| 30243 | +** The integer argument to sqlite3FaultSim() is a code to identify which | |
| 30244 | +** sqlite3FaultSim() instance is being invoked. Each call to sqlite3FaultSim() | |
| 30245 | +** should have a unique code. To prevent legacy testing applications from | |
| 30246 | +** breaking, the codes should not be changed or reused. | |
| 30239 | 30247 | */ |
| 30240 | 30248 | #ifndef SQLITE_UNTESTABLE |
| 30241 | 30249 | SQLITE_PRIVATE int sqlite3FaultSim(int iTest){ |
| 30242 | 30250 | int (*xCallback)(int) = sqlite3GlobalConfig.xTestCallback; |
| 30243 | 30251 | return xCallback ? xCallback(iTest) : SQLITE_OK; |
| @@ -30417,10 +30425,23 @@ | ||
| 30417 | 30425 | sqlite3DbFree(db, pParse->zErrMsg); |
| 30418 | 30426 | pParse->zErrMsg = zMsg; |
| 30419 | 30427 | pParse->rc = SQLITE_ERROR; |
| 30420 | 30428 | } |
| 30421 | 30429 | } |
| 30430 | + | |
| 30431 | +/* | |
| 30432 | +** If database connection db is currently parsing SQL, then transfer | |
| 30433 | +** error code errCode to that parser if the parser has not already | |
| 30434 | +** encountered some other kind of error. | |
| 30435 | +*/ | |
| 30436 | +SQLITE_PRIVATE int sqlite3ErrorToParser(sqlite3 *db, int errCode){ | |
| 30437 | + Parse *pParse; | |
| 30438 | + if( db==0 || (pParse = db->pParse)==0 ) return errCode; | |
| 30439 | + pParse->rc = errCode; | |
| 30440 | + pParse->nErr++; | |
| 30441 | + return errCode; | |
| 30442 | +} | |
| 30422 | 30443 | |
| 30423 | 30444 | /* |
| 30424 | 30445 | ** Convert an SQL-style quoted string into a normal string by removing |
| 30425 | 30446 | ** the quote characters. The conversion is done in-place. If the |
| 30426 | 30447 | ** input does not begin with a quote character, then this routine |
| @@ -69336,11 +69357,11 @@ | ||
| 69336 | 69357 | MemPage *pTrunk = 0; /* Free-list trunk page */ |
| 69337 | 69358 | Pgno iTrunk = 0; /* Page number of free-list trunk page */ |
| 69338 | 69359 | MemPage *pPage1 = pBt->pPage1; /* Local reference to page 1 */ |
| 69339 | 69360 | MemPage *pPage; /* Page being freed. May be NULL. */ |
| 69340 | 69361 | int rc; /* Return Code */ |
| 69341 | - int nFree; /* Initial number of pages on free-list */ | |
| 69362 | + u32 nFree; /* Initial number of pages on free-list */ | |
| 69342 | 69363 | |
| 69343 | 69364 | assert( sqlite3_mutex_held(pBt->mutex) ); |
| 69344 | 69365 | assert( CORRUPT_DB || iPage>1 ); |
| 69345 | 69366 | assert( !pMemPage || pMemPage->pgno==iPage ); |
| 69346 | 69367 | |
| @@ -74697,17 +74718,19 @@ | ||
| 74697 | 74718 | */ |
| 74698 | 74719 | #ifndef SQLITE_OMIT_INCRBLOB |
| 74699 | 74720 | SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ |
| 74700 | 74721 | int nByte; |
| 74701 | 74722 | assert( pMem->flags & MEM_Zero ); |
| 74702 | - assert( pMem->flags&MEM_Blob ); | |
| 74723 | + assert( (pMem->flags&MEM_Blob)!=0 || MemNullNochng(pMem) ); | |
| 74724 | + testcase( sqlite3_value_nochange(pMem) ); | |
| 74703 | 74725 | assert( !sqlite3VdbeMemIsRowSet(pMem) ); |
| 74704 | 74726 | assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); |
| 74705 | 74727 | |
| 74706 | 74728 | /* Set nByte to the number of bytes required to store the expanded blob. */ |
| 74707 | 74729 | nByte = pMem->n + pMem->u.nZero; |
| 74708 | 74730 | if( nByte<=0 ){ |
| 74731 | + if( (pMem->flags & MEM_Blob)==0 ) return SQLITE_OK; | |
| 74709 | 74732 | nByte = 1; |
| 74710 | 74733 | } |
| 74711 | 74734 | if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ |
| 74712 | 74735 | return SQLITE_NOMEM_BKPT; |
| 74713 | 74736 | } |
| @@ -75460,11 +75483,11 @@ | ||
| 75460 | 75483 | u32 nAlloc = nByte; |
| 75461 | 75484 | if( flags&MEM_Term ){ |
| 75462 | 75485 | nAlloc += (enc==SQLITE_UTF8?1:2); |
| 75463 | 75486 | } |
| 75464 | 75487 | if( nByte>iLimit ){ |
| 75465 | - return SQLITE_TOOBIG; | |
| 75488 | + return sqlite3ErrorToParser(pMem->db, SQLITE_TOOBIG); | |
| 75466 | 75489 | } |
| 75467 | 75490 | testcase( nAlloc==0 ); |
| 75468 | 75491 | testcase( nAlloc==31 ); |
| 75469 | 75492 | testcase( nAlloc==32 ); |
| 75470 | 75493 | if( sqlite3VdbeMemClearAndResize(pMem, (int)MAX(nAlloc,32)) ){ |
| @@ -97716,11 +97739,11 @@ | ||
| 97716 | 97739 | p = sqlite3ExprAnd(pParse->db, pLeft, pRight); |
| 97717 | 97740 | }else{ |
| 97718 | 97741 | p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)); |
| 97719 | 97742 | if( p ){ |
| 97720 | 97743 | memset(p, 0, sizeof(Expr)); |
| 97721 | - p->op = op & TKFLG_MASK; | |
| 97744 | + p->op = op & 0xff; | |
| 97722 | 97745 | p->iAgg = -1; |
| 97723 | 97746 | } |
| 97724 | 97747 | sqlite3ExprAttachSubtrees(pParse->db, p, pLeft, pRight); |
| 97725 | 97748 | } |
| 97726 | 97749 | if( p ) { |
| @@ -111209,11 +111232,12 @@ | ||
| 111209 | 111232 | char *zErr; |
| 111210 | 111233 | int j; |
| 111211 | 111234 | StrAccum errMsg; |
| 111212 | 111235 | Table *pTab = pIdx->pTable; |
| 111213 | 111236 | |
| 111214 | - sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, 200); | |
| 111237 | + sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, | |
| 111238 | + pParse->db->aLimit[SQLITE_LIMIT_LENGTH]); | |
| 111215 | 111239 | if( pIdx->aColExpr ){ |
| 111216 | 111240 | sqlite3_str_appendf(&errMsg, "index '%q'", pIdx->zName); |
| 111217 | 111241 | }else{ |
| 111218 | 111242 | for(j=0; j<pIdx->nKeyCol; j++){ |
| 111219 | 111243 | char *zCol; |
| @@ -118698,10 +118722,17 @@ | ||
| 118698 | 118722 | if( xferCompatibleIndex(pDestIdx, pSrcIdx) ) break; |
| 118699 | 118723 | } |
| 118700 | 118724 | if( pSrcIdx==0 ){ |
| 118701 | 118725 | return 0; /* pDestIdx has no corresponding index in pSrc */ |
| 118702 | 118726 | } |
| 118727 | + if( pSrcIdx->tnum==pDestIdx->tnum && pSrc->pSchema==pDest->pSchema | |
| 118728 | + && sqlite3FaultSim(411)==SQLITE_OK ){ | |
| 118729 | + /* The sqlite3FaultSim() call allows this corruption test to be | |
| 118730 | + ** bypassed during testing, in order to exercise other corruption tests | |
| 118731 | + ** further downstream. */ | |
| 118732 | + return 0; /* Corrupt schema - two indexes on the same btree */ | |
| 118733 | + } | |
| 118703 | 118734 | } |
| 118704 | 118735 | #ifndef SQLITE_OMIT_CHECK |
| 118705 | 118736 | if( pDest->pCheck && sqlite3ExprListCompare(pSrc->pCheck,pDest->pCheck,-1) ){ |
| 118706 | 118737 | return 0; /* Tables have different CHECK constraints. Ticket #2252 */ |
| 118707 | 118738 | } |
| @@ -118775,11 +118806,11 @@ | ||
| 118775 | 118806 | addr2 = sqlite3VdbeAddOp3(v, OP_NotExists, iDest, 0, regRowid); |
| 118776 | 118807 | VdbeCoverage(v); |
| 118777 | 118808 | sqlite3RowidConstraint(pParse, onError, pDest); |
| 118778 | 118809 | sqlite3VdbeJumpHere(v, addr2); |
| 118779 | 118810 | autoIncStep(pParse, regAutoinc, regRowid); |
| 118780 | - }else if( pDest->pIndex==0 && !(db->mDbFlags & DBFLAG_Vacuum) ){ | |
| 118811 | + }else if( pDest->pIndex==0 && !(db->mDbFlags & DBFLAG_VacuumInto) ){ | |
| 118781 | 118812 | addr1 = sqlite3VdbeAddOp2(v, OP_NewRowid, iDest, regRowid); |
| 118782 | 118813 | }else{ |
| 118783 | 118814 | addr1 = sqlite3VdbeAddOp2(v, OP_Rowid, iSrc, regRowid); |
| 118784 | 118815 | assert( (pDest->tabFlags & TF_Autoincrement)==0 ); |
| 118785 | 118816 | } |
| @@ -120104,14 +120135,17 @@ | ||
| 120104 | 120135 | sqlite3_str_value, |
| 120105 | 120136 | /* Version 3.25.0 and later */ |
| 120106 | 120137 | sqlite3_create_window_function, |
| 120107 | 120138 | /* Version 3.26.0 and later */ |
| 120108 | 120139 | #ifdef SQLITE_ENABLE_NORMALIZE |
| 120109 | - sqlite3_normalized_sql | |
| 120140 | + sqlite3_normalized_sql, | |
| 120110 | 120141 | #else |
| 120111 | - 0 | |
| 120142 | + 0, | |
| 120112 | 120143 | #endif |
| 120144 | + /* Version 3.28.0 and later */ | |
| 120145 | + sqlite3_stmt_isexplain, | |
| 120146 | + sqlite3_value_frombind | |
| 120113 | 120147 | }; |
| 120114 | 120148 | |
| 120115 | 120149 | /* |
| 120116 | 120150 | ** Attempt to load an SQLite extension library contained in the file |
| 120117 | 120151 | ** zFile. The entry point is zProc. zProc may be 0 in which case a |
| @@ -133979,11 +134013,11 @@ | ||
| 133979 | 134013 | } |
| 133980 | 134014 | |
| 133981 | 134015 | /* |
| 133982 | 134016 | ** This routine implements the OP_Vacuum opcode of the VDBE. |
| 133983 | 134017 | */ |
| 133984 | -SQLITE_PRIVATE int sqlite3RunVacuum( | |
| 134018 | +SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3RunVacuum( | |
| 133985 | 134019 | char **pzErrMsg, /* Write error message here */ |
| 133986 | 134020 | sqlite3 *db, /* Database connection */ |
| 133987 | 134021 | int iDb, /* Which attached DB to vacuum */ |
| 133988 | 134022 | sqlite3_value *pOut /* Write results here, if not NULL. VACUUM INTO */ |
| 133989 | 134023 | ){ |
| @@ -134003,15 +134037,15 @@ | ||
| 134003 | 134037 | const char *zDbMain; /* Schema name of database to vacuum */ |
| 134004 | 134038 | const char *zOut; /* Name of output file */ |
| 134005 | 134039 | |
| 134006 | 134040 | if( !db->autoCommit ){ |
| 134007 | 134041 | sqlite3SetString(pzErrMsg, db, "cannot VACUUM from within a transaction"); |
| 134008 | - return SQLITE_ERROR; | |
| 134042 | + return SQLITE_ERROR; /* IMP: R-12218-18073 */ | |
| 134009 | 134043 | } |
| 134010 | 134044 | if( db->nVdbeActive>1 ){ |
| 134011 | 134045 | sqlite3SetString(pzErrMsg, db,"cannot VACUUM - SQL statements in progress"); |
| 134012 | - return SQLITE_ERROR; | |
| 134046 | + return SQLITE_ERROR; /* IMP: R-15610-35227 */ | |
| 134013 | 134047 | } |
| 134014 | 134048 | saved_openFlags = db->openFlags; |
| 134015 | 134049 | if( pOut ){ |
| 134016 | 134050 | if( sqlite3_value_type(pOut)!=SQLITE_TEXT ){ |
| 134017 | 134051 | sqlite3SetString(pzErrMsg, db, "non-text filename"); |
| @@ -134070,10 +134104,11 @@ | ||
| 134070 | 134104 | if( id->pMethods!=0 && (sqlite3OsFileSize(id, &sz)!=SQLITE_OK || sz>0) ){ |
| 134071 | 134105 | rc = SQLITE_ERROR; |
| 134072 | 134106 | sqlite3SetString(pzErrMsg, db, "output file already exists"); |
| 134073 | 134107 | goto end_of_vacuum; |
| 134074 | 134108 | } |
| 134109 | + db->mDbFlags |= DBFLAG_VacuumInto; | |
| 134075 | 134110 | } |
| 134076 | 134111 | nRes = sqlite3BtreeGetOptimalReserve(pMain); |
| 134077 | 134112 | |
| 134078 | 134113 | /* A VACUUM cannot change the pagesize of an encrypted database. */ |
| 134079 | 134114 | #ifdef SQLITE_HAS_CODEC |
| @@ -138063,11 +138098,16 @@ | ||
| 138063 | 138098 | testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO ); |
| 138064 | 138099 | pExpr = sqlite3ExprDup(db, pExpr, 0); |
| 138065 | 138100 | pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr); |
| 138066 | 138101 | } |
| 138067 | 138102 | if( pAndExpr ){ |
| 138068 | - pAndExpr = sqlite3PExpr(pParse, TK_AND|TKFLG_DONTFOLD, 0, pAndExpr); | |
| 138103 | + /* The extra 0x10000 bit on the opcode is masked off and does not | |
| 138104 | + ** become part of the new Expr.op. However, it does make the | |
| 138105 | + ** op==TK_AND comparison inside of sqlite3PExpr() false, and this | |
| 138106 | + ** prevents sqlite3PExpr() from implementing AND short-circuit | |
| 138107 | + ** optimization, which we do not want here. */ | |
| 138108 | + pAndExpr = sqlite3PExpr(pParse, TK_AND|0x10000, 0, pAndExpr); | |
| 138069 | 138109 | } |
| 138070 | 138110 | } |
| 138071 | 138111 | |
| 138072 | 138112 | /* Run a separate WHERE clause for each term of the OR clause. After |
| 138073 | 138113 | ** eliminating duplicates from other WHERE clauses, the action for each |
| @@ -148247,10 +148287,14 @@ | ||
| 148247 | 148287 | pIdToken->n, pIdToken->z); |
| 148248 | 148288 | } |
| 148249 | 148289 | sqlite3ExprListSetName(pParse, p, pIdToken, 1); |
| 148250 | 148290 | return p; |
| 148251 | 148291 | } |
| 148292 | + | |
| 148293 | +#if TK_SPAN>255 | |
| 148294 | +# error too many tokens in the grammar | |
| 148295 | +#endif | |
| 148252 | 148296 | /**************** End of %include directives **********************************/ |
| 148253 | 148297 | /* These constants specify the various numeric values for terminal symbols |
| 148254 | 148298 | ** in a format understandable to "makeheaders". This section is blank unless |
| 148255 | 148299 | ** "lemon" is run with the "-m" command-line option. |
| 148256 | 148300 | ***************** Begin makeheaders token definitions *************************/ |
| @@ -148310,32 +148354,32 @@ | ||
| 148310 | 148354 | #ifndef INTERFACE |
| 148311 | 148355 | # define INTERFACE 1 |
| 148312 | 148356 | #endif |
| 148313 | 148357 | /************* Begin control #defines *****************************************/ |
| 148314 | 148358 | #define YYCODETYPE unsigned short int |
| 148315 | -#define YYNOCODE 284 | |
| 148359 | +#define YYNOCODE 301 | |
| 148316 | 148360 | #define YYACTIONTYPE unsigned short int |
| 148317 | 148361 | #define YYWILDCARD 95 |
| 148318 | 148362 | #define sqlite3ParserTOKENTYPE Token |
| 148319 | 148363 | typedef union { |
| 148320 | 148364 | int yyinit; |
| 148321 | 148365 | sqlite3ParserTOKENTYPE yy0; |
| 148322 | - u8 yy10; | |
| 148323 | - const char* yy104; | |
| 148324 | - Expr* yy130; | |
| 148325 | - SrcList* yy147; | |
| 148326 | - IdList* yy200; | |
| 148327 | - struct FrameBound yy273; | |
| 148328 | - Window* yy395; | |
| 148329 | - int yy420; | |
| 148330 | - Upsert* yy426; | |
| 148331 | - ExprList* yy442; | |
| 148332 | - Select* yy491; | |
| 148333 | - struct TrigEvent yy498; | |
| 148334 | - With* yy523; | |
| 148335 | - TriggerStep* yy524; | |
| 148336 | - struct {int value; int mask;} yy527; | |
| 148366 | + With* yy59; | |
| 148367 | + IdList* yy62; | |
| 148368 | + struct TrigEvent yy90; | |
| 148369 | + Upsert* yy136; | |
| 148370 | + struct FrameBound yy201; | |
| 148371 | + u8 yy238; | |
| 148372 | + const char* yy294; | |
| 148373 | + Window* yy295; | |
| 148374 | + struct {int value; int mask;} yy355; | |
| 148375 | + ExprList* yy434; | |
| 148376 | + TriggerStep* yy455; | |
| 148377 | + Select* yy457; | |
| 148378 | + SrcList* yy483; | |
| 148379 | + int yy494; | |
| 148380 | + Expr* yy524; | |
| 148337 | 148381 | } YYMINORTYPE; |
| 148338 | 148382 | #ifndef YYSTACKDEPTH |
| 148339 | 148383 | #define YYSTACKDEPTH 100 |
| 148340 | 148384 | #endif |
| 148341 | 148385 | #define sqlite3ParserARG_SDECL |
| @@ -148349,11 +148393,11 @@ | ||
| 148349 | 148393 | #define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse; |
| 148350 | 148394 | #define sqlite3ParserCTX_STORE yypParser->pParse=pParse; |
| 148351 | 148395 | #define YYFALLBACK 1 |
| 148352 | 148396 | #define YYNSTATE 541 |
| 148353 | 148397 | #define YYNRULE 375 |
| 148354 | -#define YYNTOKEN 159 | |
| 148398 | +#define YYNTOKEN 176 | |
| 148355 | 148399 | #define YY_MAX_SHIFT 540 |
| 148356 | 148400 | #define YY_MIN_SHIFTREDUCE 784 |
| 148357 | 148401 | #define YY_MAX_SHIFTREDUCE 1158 |
| 148358 | 148402 | #define YY_ERROR_ACTION 1159 |
| 148359 | 148403 | #define YY_ACCEPT_ACTION 1160 |
| @@ -148426,190 +148470,190 @@ | ||
| 148426 | 148470 | ** yy_default[] Default action for each state. |
| 148427 | 148471 | ** |
| 148428 | 148472 | *********** Begin parsing tables **********************************************/ |
| 148429 | 148473 | #define YY_ACTTAB_COUNT (2142) |
| 148430 | 148474 | static const YYACTIONTYPE yy_action[] = { |
| 148431 | - /* 0 */ 388, 112, 109, 209, 535, 190, 442, 259, 1160, 1, | |
| 148432 | - /* 10 */ 1, 540, 2, 1164, 535, 1292, 1500, 371, 289, 384, | |
| 148433 | - /* 20 */ 134, 1484, 1427, 1164, 1202, 69, 69, 1241, 289, 492, | |
| 148434 | - /* 30 */ 134, 915, 382, 296, 175, 42, 42, 1241, 242, 916, | |
| 148435 | - /* 40 */ 112, 109, 209, 119, 120, 110, 1136, 1136, 981, 984, | |
| 148436 | - /* 50 */ 974, 974, 117, 117, 118, 118, 118, 118, 1291, 264, | |
| 148437 | - /* 60 */ 264, 264, 264, 112, 109, 209, 112, 109, 209, 264, | |
| 148438 | - /* 70 */ 264, 1115, 532, 1134, 532, 176, 270, 453, 239, 206, | |
| 148439 | - /* 80 */ 379, 450, 532, 356, 380, 219, 118, 118, 118, 118, | |
| 148440 | - /* 90 */ 111, 444, 535, 1233, 1233, 219, 116, 116, 116, 116, | |
| 148441 | - /* 100 */ 115, 115, 114, 114, 114, 113, 415, 258, 258, 112, | |
| 148442 | - /* 110 */ 109, 209, 1115, 42, 42, 419, 384, 1391, 1504, 1115, | |
| 148443 | - /* 120 */ 532, 1115, 1116, 1117, 1134, 419, 1463, 351, 116, 116, | |
| 148475 | + /* 0 */ 535, 1323, 112, 109, 209, 112, 109, 209, 1160, 1, | |
| 148476 | + /* 10 */ 1, 540, 2, 1164, 535, 1292, 1228, 1207, 289, 384, | |
| 148477 | + /* 20 */ 134, 42, 42, 1427, 382, 1228, 9, 1241, 242, 492, | |
| 148478 | + /* 30 */ 1291, 915, 373, 379, 1026, 70, 70, 427, 1026, 916, | |
| 148479 | + /* 40 */ 529, 529, 529, 119, 120, 110, 1136, 1136, 981, 984, | |
| 148480 | + /* 50 */ 974, 974, 117, 117, 118, 118, 118, 118, 380, 264, | |
| 148481 | + /* 60 */ 264, 264, 264, 1134, 264, 264, 112, 109, 209, 397, | |
| 148482 | + /* 70 */ 454, 517, 532, 491, 532, 1233, 1233, 532, 239, 206, | |
| 148483 | + /* 80 */ 493, 112, 109, 209, 464, 219, 118, 118, 118, 118, | |
| 148484 | + /* 90 */ 111, 393, 440, 444, 16, 16, 116, 116, 116, 116, | |
| 148485 | + /* 100 */ 115, 115, 114, 114, 114, 113, 415, 971, 971, 982, | |
| 148486 | + /* 110 */ 985, 235, 1463, 351, 1134, 419, 384, 116, 116, 116, | |
| 148487 | + /* 120 */ 116, 115, 115, 114, 114, 114, 113, 415, 116, 116, | |
| 148444 | 148488 | /* 130 */ 116, 116, 115, 115, 114, 114, 114, 113, 415, 961, |
| 148445 | 148489 | /* 140 */ 119, 120, 110, 1136, 1136, 981, 984, 974, 974, 117, |
| 148446 | - /* 150 */ 117, 118, 118, 118, 118, 952, 1228, 1207, 1115, 951, | |
| 148447 | - /* 160 */ 412, 411, 1115, 1116, 1117, 1228, 535, 876, 1140, 1115, | |
| 148448 | - /* 170 */ 1116, 1117, 875, 1142, 941, 114, 114, 114, 113, 415, | |
| 148449 | - /* 180 */ 1089, 1141, 1089, 118, 118, 118, 118, 42, 42, 202, | |
| 148490 | + /* 150 */ 117, 118, 118, 118, 118, 952, 415, 941, 298, 951, | |
| 148491 | + /* 160 */ 941, 1480, 540, 2, 1164, 1115, 535, 1458, 160, 289, | |
| 148492 | + /* 170 */ 6, 134, 1504, 389, 406, 975, 338, 1024, 1241, 337, | |
| 148493 | + /* 180 */ 1089, 1476, 1089, 118, 118, 118, 118, 42, 42, 329, | |
| 148450 | 148494 | /* 190 */ 951, 951, 953, 116, 116, 116, 116, 115, 115, 114, |
| 148451 | - /* 200 */ 114, 114, 113, 415, 1465, 1143, 350, 1143, 1115, 1116, | |
| 148452 | - /* 210 */ 1117, 231, 415, 384, 472, 469, 468, 412, 411, 442, | |
| 148453 | - /* 220 */ 96, 311, 430, 299, 467, 116, 116, 116, 116, 115, | |
| 148454 | - /* 230 */ 115, 114, 114, 114, 113, 415, 160, 119, 120, 110, | |
| 148495 | + /* 200 */ 114, 114, 113, 415, 311, 430, 299, 311, 881, 160, | |
| 148496 | + /* 210 */ 264, 264, 401, 384, 324, 1115, 1116, 1117, 288, 526, | |
| 148497 | + /* 220 */ 96, 159, 1441, 532, 141, 116, 116, 116, 116, 115, | |
| 148498 | + /* 230 */ 115, 114, 114, 114, 113, 415, 219, 119, 120, 110, | |
| 148455 | 148499 | /* 240 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148456 | - /* 250 */ 118, 118, 115, 115, 114, 114, 114, 113, 415, 529, | |
| 148457 | - /* 260 */ 529, 529, 1143, 121, 1143, 116, 116, 116, 116, 115, | |
| 148458 | - /* 270 */ 115, 114, 114, 114, 113, 415, 941, 337, 1463, 506, | |
| 148459 | - /* 280 */ 491, 1067, 1530, 384, 160, 1530, 288, 526, 1115, 274, | |
| 148500 | + /* 250 */ 118, 118, 115, 115, 114, 114, 114, 113, 415, 288, | |
| 148501 | + /* 260 */ 526, 403, 533, 121, 870, 870, 419, 250, 267, 336, | |
| 148502 | + /* 270 */ 475, 331, 474, 236, 160, 319, 1084, 322, 1465, 329, | |
| 148503 | + /* 280 */ 350, 12, 535, 384, 502, 1115, 1084, 435, 312, 1084, | |
| 148460 | 148504 | /* 290 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148461 | - /* 300 */ 415, 16, 16, 406, 535, 93, 512, 119, 120, 110, | |
| 148505 | + /* 300 */ 415, 535, 836, 42, 42, 138, 426, 119, 120, 110, | |
| 148462 | 148506 | /* 310 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148463 | - /* 320 */ 118, 118, 141, 311, 231, 54, 54, 472, 469, 468, | |
| 148464 | - /* 330 */ 427, 79, 368, 1156, 288, 526, 32, 467, 1115, 1116, | |
| 148465 | - /* 340 */ 1117, 1323, 1480, 540, 2, 1164, 971, 971, 982, 985, | |
| 148466 | - /* 350 */ 289, 384, 134, 459, 1065, 533, 80, 870, 870, 1241, | |
| 148507 | + /* 320 */ 118, 118, 70, 70, 288, 526, 412, 411, 480, 1457, | |
| 148508 | + /* 330 */ 335, 79, 6, 473, 1140, 1115, 1116, 1117, 501, 1142, | |
| 148509 | + /* 340 */ 334, 837, 811, 1484, 512, 1164, 534, 1141, 123, 187, | |
| 148510 | + /* 350 */ 289, 384, 134, 448, 434, 1115, 80, 349, 498, 1241, | |
| 148467 | 148511 | /* 360 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148468 | - /* 370 */ 415, 818, 82, 1115, 1476, 119, 120, 110, 1136, 1136, | |
| 148512 | + /* 370 */ 415, 1143, 1115, 1143, 459, 119, 120, 110, 1136, 1136, | |
| 148469 | 148513 | /* 380 */ 981, 984, 974, 974, 117, 117, 118, 118, 118, 118, |
| 148470 | - /* 390 */ 403, 264, 264, 238, 535, 1426, 250, 267, 336, 475, | |
| 148471 | - /* 400 */ 331, 474, 236, 459, 532, 1157, 961, 459, 329, 397, | |
| 148472 | - /* 410 */ 373, 513, 1450, 159, 975, 70, 70, 219, 413, 413, | |
| 148473 | - /* 420 */ 413, 818, 952, 1115, 1116, 1117, 951, 534, 116, 116, | |
| 148474 | - /* 430 */ 116, 116, 115, 115, 114, 114, 114, 113, 415, 1115, | |
| 148475 | - /* 440 */ 535, 442, 264, 264, 1115, 1390, 535, 419, 384, 422, | |
| 148476 | - /* 450 */ 1115, 517, 326, 1245, 304, 532, 1084, 951, 951, 953, | |
| 148477 | - /* 460 */ 493, 70, 70, 167, 509, 532, 1084, 70, 70, 1084, | |
| 148478 | - /* 470 */ 440, 535, 119, 120, 110, 1136, 1136, 981, 984, 974, | |
| 148479 | - /* 480 */ 974, 117, 117, 118, 118, 118, 118, 881, 535, 1115, | |
| 148480 | - /* 490 */ 1116, 1117, 55, 55, 1115, 1116, 1117, 517, 288, 526, | |
| 148481 | - /* 500 */ 1115, 1116, 1117, 517, 420, 494, 516, 113, 415, 13, | |
| 148482 | - /* 510 */ 13, 275, 482, 836, 349, 301, 535, 303, 500, 5, | |
| 148483 | - /* 520 */ 480, 1457, 138, 395, 6, 116, 116, 116, 116, 115, | |
| 148484 | - /* 530 */ 115, 114, 114, 114, 113, 415, 1458, 13, 13, 6, | |
| 148485 | - /* 540 */ 535, 1024, 1115, 535, 473, 384, 535, 435, 312, 822, | |
| 148486 | - /* 550 */ 1084, 400, 837, 159, 518, 181, 1115, 483, 502, 811, | |
| 148487 | - /* 560 */ 1084, 70, 70, 1084, 70, 70, 1115, 50, 50, 119, | |
| 148514 | + /* 390 */ 404, 264, 264, 811, 1463, 506, 368, 1156, 535, 114, | |
| 148515 | + /* 400 */ 114, 114, 113, 415, 532, 1115, 1116, 1117, 231, 518, | |
| 148516 | + /* 410 */ 1500, 472, 469, 468, 175, 497, 422, 219, 1202, 70, | |
| 148517 | + /* 420 */ 70, 467, 1115, 1116, 1117, 176, 201, 200, 116, 116, | |
| 148518 | + /* 430 */ 116, 116, 115, 115, 114, 114, 114, 113, 415, 535, | |
| 148519 | + /* 440 */ 1115, 264, 264, 435, 312, 1115, 273, 419, 384, 513, | |
| 148520 | + /* 450 */ 1450, 1115, 326, 1084, 532, 517, 82, 1084, 167, 388, | |
| 148521 | + /* 460 */ 69, 69, 1115, 1084, 519, 509, 1084, 1084, 12, 1157, | |
| 148522 | + /* 470 */ 1084, 420, 119, 120, 110, 1136, 1136, 981, 984, 974, | |
| 148523 | + /* 480 */ 974, 117, 117, 118, 118, 118, 118, 258, 258, 535, | |
| 148524 | + /* 490 */ 1115, 1116, 1117, 1045, 535, 1115, 1116, 1117, 1323, 535, | |
| 148525 | + /* 500 */ 532, 1115, 1116, 1117, 296, 483, 1211, 818, 1046, 448, | |
| 148526 | + /* 510 */ 70, 70, 1115, 1116, 1117, 50, 50, 448, 356, 500, | |
| 148527 | + /* 520 */ 70, 70, 207, 1047, 32, 116, 116, 116, 116, 115, | |
| 148528 | + /* 530 */ 115, 114, 114, 114, 113, 415, 453, 264, 264, 1115, | |
| 148529 | + /* 540 */ 450, 449, 961, 508, 856, 384, 517, 5, 900, 822, | |
| 148530 | + /* 550 */ 532, 484, 181, 1115, 857, 516, 517, 818, 952, 507, | |
| 148531 | + /* 560 */ 3, 1115, 951, 1231, 1231, 482, 398, 1115, 1095, 119, | |
| 148488 | 148532 | /* 570 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148489 | - /* 580 */ 118, 118, 118, 118, 95, 338, 264, 264, 1115, 264, | |
| 148490 | - /* 590 */ 264, 302, 1115, 1116, 1117, 495, 3, 498, 535, 532, | |
| 148491 | - /* 600 */ 517, 404, 532, 484, 801, 287, 1115, 1116, 1117, 519, | |
| 148492 | - /* 610 */ 811, 337, 501, 12, 535, 381, 1115, 1116, 1117, 70, | |
| 148493 | - /* 620 */ 70, 401, 116, 116, 116, 116, 115, 115, 114, 114, | |
| 148494 | - /* 630 */ 114, 113, 415, 1115, 1084, 13, 13, 535, 1115, 1116, | |
| 148495 | - /* 640 */ 1117, 1115, 384, 902, 1084, 1211, 815, 1084, 393, 402, | |
| 148496 | - /* 650 */ 160, 435, 312, 1532, 369, 284, 143, 297, 70, 70, | |
| 148497 | - /* 660 */ 510, 1457, 337, 433, 6, 901, 119, 120, 110, 1136, | |
| 148533 | + /* 580 */ 118, 118, 118, 118, 1115, 535, 238, 1115, 1391, 1115, | |
| 148534 | + /* 590 */ 1116, 1117, 159, 951, 951, 953, 231, 1115, 259, 472, | |
| 148535 | + /* 600 */ 469, 468, 310, 1115, 1116, 1117, 13, 13, 297, 467, | |
| 148536 | + /* 610 */ 276, 1115, 1116, 1117, 412, 411, 1095, 1115, 1116, 1117, | |
| 148537 | + /* 620 */ 395, 355, 116, 116, 116, 116, 115, 115, 114, 114, | |
| 148538 | + /* 630 */ 114, 113, 415, 208, 1115, 1116, 1117, 1115, 1116, 1117, | |
| 148539 | + /* 640 */ 264, 264, 384, 337, 902, 393, 815, 1115, 1116, 1117, | |
| 148540 | + /* 650 */ 413, 413, 413, 532, 112, 109, 209, 309, 900, 1143, | |
| 148541 | + /* 660 */ 535, 1143, 535, 393, 901, 1210, 119, 120, 110, 1136, | |
| 148498 | 148542 | /* 670 */ 1136, 981, 984, 974, 974, 117, 117, 118, 118, 118, |
| 148499 | - /* 680 */ 118, 1045, 426, 1115, 1116, 1117, 449, 535, 12, 264, | |
| 148500 | - /* 690 */ 264, 1115, 1116, 1117, 285, 535, 1046, 265, 265, 1004, | |
| 148501 | - /* 700 */ 288, 526, 532, 789, 790, 791, 190, 140, 70, 70, | |
| 148502 | - /* 710 */ 532, 1047, 1323, 535, 309, 298, 13, 13, 383, 116, | |
| 148543 | + /* 680 */ 118, 13, 13, 13, 13, 265, 265, 535, 143, 264, | |
| 148544 | + /* 690 */ 264, 288, 526, 535, 1119, 400, 535, 402, 532, 510, | |
| 148545 | + /* 700 */ 1457, 512, 532, 6, 113, 415, 1067, 1530, 70, 70, | |
| 148546 | + /* 710 */ 1530, 535, 271, 535, 70, 70, 535, 13, 13, 116, | |
| 148503 | 148547 | /* 720 */ 116, 116, 116, 115, 115, 114, 114, 114, 113, 415, |
| 148504 | - /* 730 */ 277, 535, 856, 190, 13, 13, 1383, 497, 278, 384, | |
| 148505 | - /* 740 */ 278, 362, 857, 1100, 410, 376, 264, 264, 184, 900, | |
| 148506 | - /* 750 */ 1210, 1239, 70, 70, 1182, 1455, 187, 535, 6, 532, | |
| 148507 | - /* 760 */ 535, 434, 207, 119, 120, 110, 1136, 1136, 981, 984, | |
| 148508 | - /* 770 */ 974, 974, 117, 117, 118, 118, 118, 118, 13, 13, | |
| 148509 | - /* 780 */ 398, 13, 13, 264, 264, 393, 264, 264, 414, 1185, | |
| 148510 | - /* 790 */ 390, 425, 185, 1396, 1084, 514, 532, 485, 9, 532, | |
| 148511 | - /* 800 */ 242, 464, 1067, 1531, 1084, 488, 1531, 1084, 425, 424, | |
| 148512 | - /* 810 */ 1396, 1398, 520, 1029, 1029, 456, 116, 116, 116, 116, | |
| 148513 | - /* 820 */ 115, 115, 114, 114, 114, 113, 415, 535, 235, 264, | |
| 148514 | - /* 830 */ 264, 508, 535, 393, 208, 1134, 384, 264, 264, 448, | |
| 148515 | - /* 840 */ 962, 448, 532, 261, 264, 264, 900, 507, 15, 15, | |
| 148516 | - /* 850 */ 532, 1026, 271, 44, 44, 1026, 1095, 532, 535, 900, | |
| 148548 | + /* 730 */ 272, 277, 13, 13, 13, 13, 535, 13, 13, 384, | |
| 148549 | + /* 740 */ 535, 304, 425, 1100, 284, 1119, 184, 801, 185, 338, | |
| 148550 | + /* 750 */ 285, 514, 1532, 369, 1239, 1438, 1182, 70, 70, 425, | |
| 148551 | + /* 760 */ 424, 70, 70, 119, 120, 110, 1136, 1136, 981, 984, | |
| 148552 | + /* 770 */ 974, 974, 117, 117, 118, 118, 118, 118, 190, 1065, | |
| 148553 | + /* 780 */ 1067, 1531, 442, 107, 1531, 408, 264, 264, 264, 264, | |
| 148554 | + /* 790 */ 383, 1396, 261, 410, 95, 900, 485, 414, 421, 532, | |
| 148555 | + /* 800 */ 1045, 532, 301, 1133, 303, 488, 433, 1451, 1396, 1398, | |
| 148556 | + /* 810 */ 278, 535, 278, 520, 1435, 1046, 116, 116, 116, 116, | |
| 148557 | + /* 820 */ 115, 115, 114, 114, 114, 113, 415, 425, 264, 264, | |
| 148558 | + /* 830 */ 1047, 190, 54, 54, 535, 291, 384, 264, 264, 362, | |
| 148559 | + /* 840 */ 962, 532, 1004, 376, 1084, 264, 264, 1029, 1029, 456, | |
| 148560 | + /* 850 */ 532, 523, 270, 1065, 1084, 55, 55, 1084, 532, 442, | |
| 148517 | 148561 | /* 860 */ 119, 120, 110, 1136, 1136, 981, 984, 974, 974, 117, |
| 148518 | - /* 870 */ 117, 118, 118, 118, 118, 1065, 425, 1045, 1396, 56, | |
| 148519 | - /* 880 */ 56, 535, 368, 1066, 1231, 1231, 1134, 454, 535, 324, | |
| 148520 | - /* 890 */ 389, 355, 1046, 234, 233, 232, 512, 459, 459, 459, | |
| 148521 | - /* 900 */ 272, 448, 57, 57, 1095, 1438, 329, 1047, 535, 58, | |
| 148522 | - /* 910 */ 58, 421, 477, 116, 116, 116, 116, 115, 115, 114, | |
| 148523 | - /* 920 */ 114, 114, 113, 415, 1323, 535, 515, 535, 523, 59, | |
| 148524 | - /* 930 */ 59, 208, 273, 384, 310, 1435, 1323, 946, 876, 1240, | |
| 148525 | - /* 940 */ 1236, 317, 1456, 875, 136, 6, 60, 60, 61, 61, | |
| 148526 | - /* 950 */ 319, 535, 322, 384, 535, 1157, 900, 119, 120, 110, | |
| 148562 | + /* 870 */ 117, 118, 118, 118, 118, 535, 1396, 190, 302, 1383, | |
| 148563 | + /* 880 */ 208, 535, 789, 790, 791, 535, 515, 535, 1323, 371, | |
| 148564 | + /* 890 */ 337, 234, 233, 232, 459, 515, 15, 15, 459, 477, | |
| 148565 | + /* 900 */ 459, 459, 44, 44, 136, 900, 56, 56, 57, 57, | |
| 148566 | + /* 910 */ 1185, 390, 197, 116, 116, 116, 116, 115, 115, 114, | |
| 148567 | + /* 920 */ 114, 114, 113, 415, 535, 876, 535, 442, 535, 274, | |
| 148568 | + /* 930 */ 875, 1323, 357, 384, 353, 140, 1426, 946, 1455, 1323, | |
| 148569 | + /* 940 */ 1390, 6, 1240, 1236, 292, 58, 58, 59, 59, 60, | |
| 148570 | + /* 950 */ 60, 535, 1456, 384, 535, 6, 399, 119, 120, 110, | |
| 148527 | 148571 | /* 960 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148528 | - /* 970 */ 118, 118, 45, 45, 535, 46, 46, 119, 120, 110, | |
| 148572 | + /* 970 */ 118, 118, 61, 61, 535, 45, 45, 119, 120, 110, | |
| 148529 | 148573 | /* 980 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148530 | - /* 990 */ 118, 118, 399, 338, 276, 48, 48, 337, 1477, 479, | |
| 148531 | - /* 1000 */ 535, 107, 1451, 535, 455, 535, 1119, 95, 1338, 235, | |
| 148574 | + /* 990 */ 118, 118, 1477, 479, 202, 46, 46, 275, 95, 455, | |
| 148575 | + /* 1000 */ 535, 212, 535, 337, 535, 1454, 535, 409, 6, 242, | |
| 148532 | 148576 | /* 1010 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148533 | - /* 1020 */ 415, 49, 49, 123, 62, 62, 63, 63, 535, 408, | |
| 148577 | + /* 1020 */ 415, 48, 48, 49, 49, 62, 62, 63, 63, 535, | |
| 148534 | 148578 | /* 1030 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148535 | - /* 1040 */ 415, 535, 142, 535, 481, 535, 1323, 535, 1503, 64, | |
| 148536 | - /* 1050 */ 64, 845, 1454, 1337, 535, 6, 535, 1119, 535, 357, | |
| 148537 | - /* 1060 */ 535, 353, 14, 14, 65, 65, 125, 125, 66, 66, | |
| 148538 | - /* 1070 */ 535, 389, 535, 291, 535, 51, 51, 67, 67, 68, | |
| 148539 | - /* 1080 */ 68, 52, 52, 292, 1453, 98, 535, 6, 535, 481, | |
| 148540 | - /* 1090 */ 535, 147, 147, 148, 148, 75, 75, 535, 915, 535, | |
| 148541 | - /* 1100 */ 827, 201, 200, 528, 390, 384, 916, 53, 53, 71, | |
| 148542 | - /* 1110 */ 71, 126, 126, 515, 409, 288, 526, 216, 72, 72, | |
| 148543 | - /* 1120 */ 127, 127, 391, 161, 535, 384, 535, 263, 206, 119, | |
| 148579 | + /* 1040 */ 415, 535, 459, 535, 1134, 535, 1151, 535, 142, 535, | |
| 148580 | + /* 1050 */ 64, 64, 535, 1338, 535, 494, 535, 446, 535, 1264, | |
| 148581 | + /* 1060 */ 535, 1337, 14, 14, 65, 65, 125, 125, 66, 66, | |
| 148582 | + /* 1070 */ 51, 51, 535, 67, 67, 68, 68, 52, 52, 147, | |
| 148583 | + /* 1080 */ 147, 148, 148, 1453, 317, 98, 6, 535, 1245, 481, | |
| 148584 | + /* 1090 */ 535, 827, 535, 75, 75, 1134, 102, 481, 100, 535, | |
| 148585 | + /* 1100 */ 532, 535, 368, 1066, 1503, 384, 535, 845, 53, 53, | |
| 148586 | + /* 1110 */ 93, 71, 71, 126, 126, 295, 528, 390, 288, 526, | |
| 148587 | + /* 1120 */ 72, 72, 127, 127, 139, 384, 38, 128, 128, 119, | |
| 148544 | 148588 | /* 1130 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148545 | - /* 1140 */ 118, 118, 118, 118, 535, 128, 128, 124, 124, 119, | |
| 148589 | + /* 1140 */ 118, 118, 118, 118, 535, 495, 535, 447, 535, 119, | |
| 148546 | 148590 | /* 1150 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148547 | - /* 1160 */ 118, 118, 118, 118, 446, 146, 146, 102, 1209, 100, | |
| 148548 | - /* 1170 */ 1133, 212, 139, 535, 38, 437, 1062, 308, 535, 370, | |
| 148549 | - /* 1180 */ 95, 295, 116, 116, 116, 116, 115, 115, 114, 114, | |
| 148550 | - /* 1190 */ 114, 113, 415, 535, 145, 145, 535, 938, 535, 132, | |
| 148551 | - /* 1200 */ 132, 535, 116, 116, 116, 116, 115, 115, 114, 114, | |
| 148552 | - /* 1210 */ 114, 113, 415, 535, 131, 131, 1151, 129, 129, 130, | |
| 148553 | - /* 1220 */ 130, 30, 74, 74, 535, 17, 535, 218, 535, 943, | |
| 148554 | - /* 1230 */ 441, 1277, 241, 241, 76, 76, 443, 101, 313, 241, | |
| 148555 | - /* 1240 */ 465, 95, 1023, 237, 1023, 73, 73, 43, 43, 47, | |
| 148556 | - /* 1250 */ 47, 335, 31, 327, 447, 266, 95, 384, 1276, 835, | |
| 148557 | - /* 1260 */ 834, 334, 193, 1007, 436, 429, 237, 825, 842, 843, | |
| 148558 | - /* 1270 */ 1011, 909, 873, 955, 241, 107, 1022, 384, 1022, 197, | |
| 148559 | - /* 1280 */ 1441, 119, 120, 110, 1136, 1136, 981, 984, 974, 974, | |
| 148560 | - /* 1290 */ 117, 117, 118, 118, 118, 118, 809, 305, 1264, 137, | |
| 148561 | - /* 1300 */ 1415, 119, 108, 110, 1136, 1136, 981, 984, 974, 974, | |
| 148562 | - /* 1310 */ 117, 117, 118, 118, 118, 118, 874, 522, 825, 107, | |
| 148563 | - /* 1320 */ 283, 1011, 1414, 1470, 955, 451, 314, 1273, 318, 321, | |
| 148564 | - /* 1330 */ 323, 325, 1224, 1208, 116, 116, 116, 116, 115, 115, | |
| 148565 | - /* 1340 */ 114, 114, 114, 113, 415, 330, 339, 340, 1285, 1322, | |
| 148566 | - /* 1350 */ 1260, 1271, 521, 1328, 116, 116, 116, 116, 115, 115, | |
| 148567 | - /* 1360 */ 114, 114, 114, 113, 415, 1191, 256, 1493, 1184, 1173, | |
| 148568 | - /* 1370 */ 460, 1172, 1174, 1257, 384, 342, 1487, 344, 346, 199, | |
| 148569 | - /* 1380 */ 195, 367, 11, 211, 307, 445, 1307, 428, 1315, 375, | |
| 148570 | - /* 1390 */ 203, 1207, 470, 188, 384, 189, 525, 1490, 1151, 120, | |
| 148591 | + /* 1160 */ 118, 118, 118, 118, 235, 124, 124, 146, 146, 145, | |
| 148592 | + /* 1170 */ 145, 287, 535, 1277, 535, 1157, 535, 391, 161, 263, | |
| 148593 | + /* 1180 */ 206, 381, 116, 116, 116, 116, 115, 115, 114, 114, | |
| 148594 | + /* 1190 */ 114, 113, 415, 132, 132, 131, 131, 129, 129, 535, | |
| 148595 | + /* 1200 */ 30, 535, 116, 116, 116, 116, 115, 115, 114, 114, | |
| 148596 | + /* 1210 */ 114, 113, 415, 535, 216, 1062, 1276, 535, 370, 535, | |
| 148597 | + /* 1220 */ 130, 130, 74, 74, 535, 915, 389, 876, 17, 437, | |
| 148598 | + /* 1230 */ 429, 31, 875, 916, 76, 76, 266, 101, 73, 73, | |
| 148599 | + /* 1240 */ 43, 43, 835, 834, 308, 47, 47, 95, 825, 943, | |
| 148600 | + /* 1250 */ 441, 938, 241, 241, 305, 443, 313, 384, 241, 95, | |
| 148601 | + /* 1260 */ 842, 843, 193, 465, 1209, 327, 237, 436, 95, 1011, | |
| 148602 | + /* 1270 */ 1007, 909, 873, 237, 241, 107, 1023, 384, 1023, 955, | |
| 148603 | + /* 1280 */ 1415, 119, 120, 110, 1136, 1136, 981, 984, 974, 974, | |
| 148604 | + /* 1290 */ 117, 117, 118, 118, 118, 118, 1022, 809, 1022, 825, | |
| 148605 | + /* 1300 */ 137, 119, 108, 110, 1136, 1136, 981, 984, 974, 974, | |
| 148606 | + /* 1310 */ 117, 117, 118, 118, 118, 118, 874, 1414, 451, 107, | |
| 148607 | + /* 1320 */ 1011, 314, 1273, 318, 218, 321, 323, 325, 1224, 1208, | |
| 148608 | + /* 1330 */ 955, 330, 339, 340, 116, 116, 116, 116, 115, 115, | |
| 148609 | + /* 1340 */ 114, 114, 114, 113, 415, 1285, 1322, 1260, 1493, 1470, | |
| 148610 | + /* 1350 */ 1271, 283, 521, 1328, 116, 116, 116, 116, 115, 115, | |
| 148611 | + /* 1360 */ 114, 114, 114, 113, 415, 1191, 1184, 1173, 1172, 1174, | |
| 148612 | + /* 1370 */ 522, 1487, 211, 460, 384, 256, 199, 367, 1257, 342, | |
| 148613 | + /* 1380 */ 195, 470, 307, 344, 11, 333, 525, 445, 1307, 1315, | |
| 148614 | + /* 1390 */ 375, 203, 1207, 1151, 384, 346, 1387, 188, 360, 120, | |
| 148571 | 148615 | /* 1400 */ 110, 1136, 1136, 981, 984, 974, 974, 117, 117, 118, |
| 148572 | - /* 1410 */ 118, 118, 118, 333, 1387, 1386, 245, 300, 348, 1434, | |
| 148616 | + /* 1410 */ 118, 118, 118, 1386, 428, 1490, 245, 300, 348, 1148, | |
| 148573 | 148617 | /* 1420 */ 110, 1136, 1136, 981, 984, 974, 974, 117, 117, 118, |
| 148574 | - /* 1430 */ 118, 118, 118, 198, 360, 163, 1432, 1148, 78, 81, | |
| 148575 | - /* 1440 */ 392, 82, 1392, 439, 173, 105, 527, 157, 4, 165, | |
| 148618 | + /* 1430 */ 118, 118, 118, 189, 198, 1434, 1432, 78, 81, 163, | |
| 148619 | + /* 1440 */ 82, 392, 439, 1392, 173, 105, 527, 35, 4, 157, | |
| 148576 | 148620 | /* 1450 */ 1312, 116, 116, 116, 116, 115, 115, 114, 114, 114, |
| 148577 | - /* 1460 */ 113, 415, 530, 93, 35, 431, 432, 1304, 168, 463, | |
| 148621 | + /* 1460 */ 113, 415, 530, 165, 93, 1304, 431, 432, 168, 463, | |
| 148578 | 148622 | /* 1470 */ 221, 116, 116, 116, 116, 115, 115, 114, 114, 114, |
| 148579 | - /* 1480 */ 113, 415, 169, 170, 171, 416, 372, 438, 1318, 177, | |
| 148580 | - /* 1490 */ 452, 374, 36, 225, 1381, 87, 458, 524, 257, 1403, | |
| 148581 | - /* 1500 */ 316, 105, 527, 227, 4, 182, 461, 160, 320, 228, | |
| 148582 | - /* 1510 */ 377, 1175, 229, 476, 405, 1227, 1226, 1225, 530, 827, | |
| 148583 | - /* 1520 */ 961, 1218, 378, 1199, 1198, 407, 103, 103, 281, 1217, | |
| 148584 | - /* 1530 */ 8, 332, 1197, 104, 1502, 416, 537, 536, 282, 487, | |
| 148585 | - /* 1540 */ 951, 416, 490, 496, 1268, 92, 341, 243, 244, 1461, | |
| 148586 | - /* 1550 */ 1269, 1267, 122, 524, 1266, 515, 10, 288, 526, 343, | |
| 148587 | - /* 1560 */ 352, 1460, 354, 99, 504, 94, 499, 251, 1181, 503, | |
| 148588 | - /* 1570 */ 194, 951, 951, 953, 954, 27, 961, 1250, 345, 347, | |
| 148589 | - /* 1580 */ 1249, 358, 103, 103, 359, 34, 538, 1110, 1367, 104, | |
| 148590 | - /* 1590 */ 255, 416, 537, 536, 539, 1170, 951, 286, 252, 254, | |
| 148591 | - /* 1600 */ 149, 1165, 1419, 135, 1420, 785, 279, 1418, 417, 1417, | |
| 148592 | - /* 1610 */ 1195, 196, 150, 290, 210, 269, 151, 1021, 133, 1194, | |
| 148593 | - /* 1620 */ 1019, 935, 162, 386, 387, 77, 1192, 951, 951, 953, | |
| 148623 | + /* 1480 */ 113, 415, 169, 452, 170, 416, 171, 374, 372, 438, | |
| 148624 | + /* 1490 */ 36, 1318, 177, 225, 1381, 87, 458, 524, 1403, 316, | |
| 148625 | + /* 1500 */ 257, 105, 527, 227, 4, 182, 461, 160, 320, 228, | |
| 148626 | + /* 1510 */ 377, 1175, 476, 229, 1227, 1226, 405, 1225, 530, 1218, | |
| 148627 | + /* 1520 */ 961, 378, 1199, 1198, 827, 332, 103, 103, 1197, 407, | |
| 148628 | + /* 1530 */ 8, 1217, 1502, 104, 487, 416, 537, 536, 281, 282, | |
| 148629 | + /* 1540 */ 951, 416, 490, 1268, 496, 92, 341, 243, 1269, 343, | |
| 148630 | + /* 1550 */ 244, 1267, 122, 524, 345, 1461, 515, 288, 526, 10, | |
| 148631 | + /* 1560 */ 354, 1266, 1460, 352, 504, 1250, 99, 1367, 94, 503, | |
| 148632 | + /* 1570 */ 499, 951, 951, 953, 954, 27, 961, 347, 1249, 194, | |
| 148633 | + /* 1580 */ 251, 358, 103, 103, 359, 1181, 34, 538, 1110, 104, | |
| 148634 | + /* 1590 */ 255, 416, 537, 536, 286, 252, 951, 254, 539, 149, | |
| 148635 | + /* 1600 */ 1170, 1419, 1165, 1420, 1418, 150, 1417, 135, 279, 785, | |
| 148636 | + /* 1610 */ 151, 417, 1195, 196, 290, 210, 386, 1194, 269, 387, | |
| 148637 | + /* 1620 */ 162, 1021, 133, 77, 1192, 1019, 935, 951, 951, 953, | |
| 148594 | 148638 | /* 1630 */ 954, 27, 1479, 1104, 418, 164, 153, 268, 217, 166, |
| 148595 | 148639 | /* 1640 */ 859, 306, 366, 366, 365, 253, 363, 220, 1035, 798, |
| 148596 | - /* 1650 */ 172, 939, 105, 527, 155, 4, 394, 174, 396, 83, | |
| 148597 | - /* 1660 */ 84, 85, 213, 86, 294, 1038, 156, 223, 222, 530, | |
| 148598 | - /* 1670 */ 1034, 144, 293, 18, 224, 241, 315, 1027, 1145, 178, | |
| 148599 | - /* 1680 */ 457, 226, 37, 179, 800, 334, 462, 230, 328, 466, | |
| 148640 | + /* 1650 */ 172, 939, 105, 527, 155, 4, 394, 174, 396, 156, | |
| 148641 | + /* 1660 */ 83, 1038, 213, 84, 294, 85, 86, 223, 222, 530, | |
| 148642 | + /* 1670 */ 1034, 144, 293, 18, 224, 315, 241, 1027, 1145, 178, | |
| 148643 | + /* 1680 */ 457, 226, 179, 37, 800, 334, 462, 230, 328, 466, | |
| 148600 | 148644 | /* 1690 */ 180, 471, 416, 88, 19, 20, 89, 280, 838, 158, |
| 148601 | - /* 1700 */ 191, 478, 215, 1097, 524, 90, 204, 192, 987, 91, | |
| 148645 | + /* 1700 */ 191, 90, 215, 478, 524, 1097, 204, 192, 987, 91, | |
| 148602 | 148646 | /* 1710 */ 152, 1070, 39, 154, 1071, 504, 486, 40, 489, 205, |
| 148603 | 148647 | /* 1720 */ 505, 260, 105, 527, 214, 4, 908, 961, 262, 183, |
| 148604 | 148648 | /* 1730 */ 240, 21, 903, 103, 103, 107, 22, 1086, 23, 530, |
| 148605 | - /* 1740 */ 104, 1074, 416, 537, 536, 24, 1088, 951, 25, 1093, | |
| 148649 | + /* 1740 */ 104, 1088, 416, 537, 536, 24, 1093, 951, 25, 1074, | |
| 148606 | 148650 | /* 1750 */ 1090, 1094, 7, 33, 511, 186, 26, 1002, 385, 95, |
| 148607 | 148651 | /* 1760 */ 988, 986, 416, 288, 526, 990, 1044, 246, 1043, 247, |
| 148608 | 148652 | /* 1770 */ 991, 28, 41, 106, 524, 956, 810, 29, 951, 951, |
| 148609 | - /* 1780 */ 953, 954, 27, 531, 869, 504, 423, 248, 249, 1495, | |
| 148610 | - /* 1790 */ 503, 1494, 361, 364, 1105, 1161, 1161, 961, 1161, 1161, | |
| 148653 | + /* 1780 */ 953, 954, 27, 531, 361, 504, 423, 248, 869, 249, | |
| 148654 | + /* 1790 */ 503, 1495, 364, 1105, 1161, 1494, 1161, 961, 1161, 1161, | |
| 148611 | 148655 | /* 1800 */ 1161, 1161, 1161, 103, 103, 1161, 1161, 1161, 1161, 1161, |
| 148612 | 148656 | /* 1810 */ 104, 1161, 416, 537, 536, 1104, 418, 951, 1161, 268, |
| 148613 | 148657 | /* 1820 */ 1161, 1161, 1161, 1161, 366, 366, 365, 253, 363, 1161, |
| 148614 | 148658 | /* 1830 */ 1161, 798, 1161, 1161, 1161, 1161, 105, 527, 1161, 4, |
| 148615 | 148659 | /* 1840 */ 1161, 1161, 1161, 1161, 213, 1161, 294, 1161, 951, 951, |
| @@ -148643,330 +148687,331 @@ | ||
| 148643 | 148687 | /* 2120 */ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, |
| 148644 | 148688 | /* 2130 */ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, |
| 148645 | 148689 | /* 2140 */ 1161, 423, |
| 148646 | 148690 | }; |
| 148647 | 148691 | static const YYCODETYPE yy_lookahead[] = { |
| 148648 | - /* 0 */ 172, 242, 243, 244, 167, 167, 167, 186, 159, 160, | |
| 148649 | - /* 10 */ 161, 162, 163, 164, 167, 191, 187, 179, 169, 19, | |
| 148650 | - /* 20 */ 171, 162, 263, 164, 195, 188, 189, 178, 169, 178, | |
| 148651 | - /* 30 */ 171, 31, 188, 167, 22, 188, 189, 178, 24, 39, | |
| 148652 | - /* 40 */ 242, 243, 244, 43, 44, 45, 46, 47, 48, 49, | |
| 148653 | - /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 191, 210, | |
| 148654 | - /* 60 */ 211, 210, 211, 242, 243, 244, 242, 243, 244, 210, | |
| 148655 | - /* 70 */ 211, 59, 223, 59, 223, 22, 237, 249, 227, 228, | |
| 148656 | - /* 80 */ 188, 253, 223, 246, 188, 236, 54, 55, 56, 57, | |
| 148657 | - /* 90 */ 58, 167, 167, 206, 207, 236, 96, 97, 98, 99, | |
| 148658 | - /* 100 */ 100, 101, 102, 103, 104, 105, 106, 210, 211, 242, | |
| 148659 | - /* 110 */ 243, 244, 59, 188, 189, 266, 19, 251, 201, 59, | |
| 148660 | - /* 120 */ 223, 109, 110, 111, 110, 266, 279, 280, 96, 97, | |
| 148692 | + /* 0 */ 184, 184, 259, 260, 261, 259, 260, 261, 176, 177, | |
| 148693 | + /* 10 */ 178, 179, 180, 181, 184, 208, 212, 213, 186, 19, | |
| 148694 | + /* 20 */ 188, 205, 206, 280, 205, 221, 22, 195, 24, 195, | |
| 148695 | + /* 30 */ 208, 31, 195, 205, 29, 205, 206, 255, 33, 39, | |
| 148696 | + /* 40 */ 200, 201, 202, 43, 44, 45, 46, 47, 48, 49, | |
| 148697 | + /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 205, 227, | |
| 148698 | + /* 60 */ 228, 227, 228, 59, 227, 228, 259, 260, 261, 252, | |
| 148699 | + /* 70 */ 65, 241, 240, 184, 240, 223, 224, 240, 244, 245, | |
| 148700 | + /* 80 */ 250, 259, 260, 261, 19, 253, 54, 55, 56, 57, | |
| 148701 | + /* 90 */ 58, 184, 255, 184, 205, 206, 96, 97, 98, 99, | |
| 148702 | + /* 100 */ 100, 101, 102, 103, 104, 105, 106, 46, 47, 48, | |
| 148703 | + /* 110 */ 49, 46, 296, 297, 110, 283, 19, 96, 97, 98, | |
| 148704 | + /* 120 */ 99, 100, 101, 102, 103, 104, 105, 106, 96, 97, | |
| 148661 | 148705 | /* 130 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 94, |
| 148662 | 148706 | /* 140 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 148663 | - /* 150 */ 53, 54, 55, 56, 57, 110, 195, 196, 59, 114, | |
| 148664 | - /* 160 */ 100, 101, 109, 110, 111, 204, 167, 128, 108, 109, | |
| 148665 | - /* 170 */ 110, 111, 133, 113, 73, 102, 103, 104, 105, 106, | |
| 148666 | - /* 180 */ 83, 121, 85, 54, 55, 56, 57, 188, 189, 26, | |
| 148707 | + /* 150 */ 53, 54, 55, 56, 57, 110, 106, 73, 251, 114, | |
| 148708 | + /* 160 */ 73, 178, 179, 180, 181, 59, 184, 292, 81, 186, | |
| 148709 | + /* 170 */ 295, 188, 218, 108, 19, 114, 184, 11, 195, 184, | |
| 148710 | + /* 180 */ 83, 184, 85, 54, 55, 56, 57, 205, 206, 124, | |
| 148667 | 148711 | /* 190 */ 145, 146, 147, 96, 97, 98, 99, 100, 101, 102, |
| 148668 | - /* 200 */ 103, 104, 105, 106, 279, 145, 281, 147, 109, 110, | |
| 148669 | - /* 210 */ 111, 112, 106, 19, 115, 116, 117, 100, 101, 167, | |
| 148670 | - /* 220 */ 26, 120, 121, 122, 125, 96, 97, 98, 99, 100, | |
| 148671 | - /* 230 */ 101, 102, 103, 104, 105, 106, 81, 43, 44, 45, | |
| 148712 | + /* 200 */ 103, 104, 105, 106, 120, 121, 122, 120, 102, 81, | |
| 148713 | + /* 210 */ 227, 228, 220, 19, 16, 109, 110, 111, 131, 132, | |
| 148714 | + /* 220 */ 26, 184, 184, 240, 229, 96, 97, 98, 99, 100, | |
| 148715 | + /* 230 */ 101, 102, 103, 104, 105, 106, 253, 43, 44, 45, | |
| 148672 | 148716 | /* 240 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148673 | - /* 250 */ 56, 57, 100, 101, 102, 103, 104, 105, 106, 183, | |
| 148674 | - /* 260 */ 184, 185, 145, 69, 147, 96, 97, 98, 99, 100, | |
| 148675 | - /* 270 */ 101, 102, 103, 104, 105, 106, 73, 167, 279, 280, | |
| 148676 | - /* 280 */ 167, 22, 23, 19, 81, 26, 131, 132, 59, 237, | |
| 148717 | + /* 250 */ 56, 57, 100, 101, 102, 103, 104, 105, 106, 131, | |
| 148718 | + /* 260 */ 132, 106, 127, 69, 129, 130, 283, 112, 113, 114, | |
| 148719 | + /* 270 */ 115, 116, 117, 118, 81, 77, 76, 79, 296, 124, | |
| 148720 | + /* 280 */ 298, 203, 184, 19, 84, 59, 86, 121, 122, 89, | |
| 148677 | 148721 | /* 290 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148678 | - /* 300 */ 106, 188, 189, 19, 167, 142, 167, 43, 44, 45, | |
| 148722 | + /* 300 */ 106, 184, 35, 205, 206, 22, 113, 43, 44, 45, | |
| 148679 | 148723 | /* 310 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148680 | - /* 320 */ 56, 57, 212, 120, 112, 188, 189, 115, 116, 117, | |
| 148681 | - /* 330 */ 238, 67, 22, 23, 131, 132, 22, 125, 109, 110, | |
| 148682 | - /* 340 */ 111, 167, 161, 162, 163, 164, 46, 47, 48, 49, | |
| 148683 | - /* 350 */ 169, 19, 171, 167, 95, 127, 24, 129, 130, 178, | |
| 148724 | + /* 320 */ 56, 57, 205, 206, 131, 132, 100, 101, 291, 292, | |
| 148725 | + /* 330 */ 114, 67, 295, 66, 108, 109, 110, 111, 138, 113, | |
| 148726 | + /* 340 */ 124, 74, 59, 179, 184, 181, 184, 121, 22, 271, | |
| 148727 | + /* 350 */ 186, 19, 188, 184, 276, 59, 24, 184, 241, 195, | |
| 148684 | 148728 | /* 360 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148685 | - /* 370 */ 106, 59, 143, 59, 167, 43, 44, 45, 46, 47, | |
| 148729 | + /* 370 */ 106, 145, 59, 147, 184, 43, 44, 45, 46, 47, | |
| 148686 | 148730 | /* 380 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
| 148687 | - /* 390 */ 106, 210, 211, 26, 167, 209, 112, 113, 114, 115, | |
| 148688 | - /* 400 */ 116, 117, 118, 167, 223, 95, 94, 167, 124, 235, | |
| 148689 | - /* 410 */ 178, 272, 273, 167, 114, 188, 189, 236, 183, 184, | |
| 148690 | - /* 420 */ 185, 109, 110, 109, 110, 111, 114, 167, 96, 97, | |
| 148691 | - /* 430 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 59, | |
| 148692 | - /* 440 */ 167, 167, 210, 211, 59, 209, 167, 266, 19, 209, | |
| 148693 | - /* 450 */ 59, 224, 23, 211, 16, 223, 76, 145, 146, 147, | |
| 148694 | - /* 460 */ 233, 188, 189, 72, 84, 223, 86, 188, 189, 89, | |
| 148695 | - /* 470 */ 238, 167, 43, 44, 45, 46, 47, 48, 49, 50, | |
| 148696 | - /* 480 */ 51, 52, 53, 54, 55, 56, 57, 102, 167, 109, | |
| 148697 | - /* 490 */ 110, 111, 188, 189, 109, 110, 111, 224, 131, 132, | |
| 148698 | - /* 500 */ 109, 110, 111, 224, 264, 19, 233, 105, 106, 188, | |
| 148699 | - /* 510 */ 189, 237, 233, 35, 167, 77, 167, 79, 138, 22, | |
| 148700 | - /* 520 */ 274, 275, 22, 202, 278, 96, 97, 98, 99, 100, | |
| 148701 | - /* 530 */ 101, 102, 103, 104, 105, 106, 275, 188, 189, 278, | |
| 148702 | - /* 540 */ 167, 11, 59, 167, 66, 19, 167, 121, 122, 23, | |
| 148703 | - /* 550 */ 76, 202, 74, 167, 178, 72, 59, 178, 84, 59, | |
| 148704 | - /* 560 */ 86, 188, 189, 89, 188, 189, 59, 188, 189, 43, | |
| 148731 | + /* 390 */ 123, 227, 228, 110, 296, 297, 22, 23, 184, 102, | |
| 148732 | + /* 400 */ 103, 104, 105, 106, 240, 109, 110, 111, 112, 195, | |
| 148733 | + /* 410 */ 204, 115, 116, 117, 22, 184, 226, 253, 212, 205, | |
| 148734 | + /* 420 */ 206, 125, 109, 110, 111, 22, 100, 101, 96, 97, | |
| 148735 | + /* 430 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 184, | |
| 148736 | + /* 440 */ 59, 227, 228, 121, 122, 59, 277, 283, 19, 289, | |
| 148737 | + /* 450 */ 290, 59, 23, 76, 240, 241, 143, 76, 72, 189, | |
| 148738 | + /* 460 */ 205, 206, 59, 86, 250, 84, 89, 86, 203, 95, | |
| 148739 | + /* 470 */ 89, 281, 43, 44, 45, 46, 47, 48, 49, 50, | |
| 148740 | + /* 480 */ 51, 52, 53, 54, 55, 56, 57, 227, 228, 184, | |
| 148741 | + /* 490 */ 109, 110, 111, 12, 184, 109, 110, 111, 184, 184, | |
| 148742 | + /* 500 */ 240, 109, 110, 111, 184, 195, 214, 59, 27, 184, | |
| 148743 | + /* 510 */ 205, 206, 109, 110, 111, 205, 206, 184, 263, 138, | |
| 148744 | + /* 520 */ 205, 206, 184, 42, 22, 96, 97, 98, 99, 100, | |
| 148745 | + /* 530 */ 101, 102, 103, 104, 105, 106, 266, 227, 228, 59, | |
| 148746 | + /* 540 */ 270, 276, 94, 66, 63, 19, 241, 22, 26, 23, | |
| 148747 | + /* 550 */ 240, 241, 72, 59, 73, 250, 241, 109, 110, 82, | |
| 148748 | + /* 560 */ 22, 59, 114, 223, 224, 250, 252, 59, 91, 43, | |
| 148705 | 148749 | /* 570 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148706 | - /* 580 */ 54, 55, 56, 57, 26, 167, 210, 211, 59, 210, | |
| 148707 | - /* 590 */ 211, 153, 109, 110, 111, 109, 22, 224, 167, 223, | |
| 148708 | - /* 600 */ 224, 123, 223, 224, 21, 215, 109, 110, 111, 233, | |
| 148709 | - /* 610 */ 110, 167, 138, 186, 167, 225, 109, 110, 111, 188, | |
| 148710 | - /* 620 */ 189, 203, 96, 97, 98, 99, 100, 101, 102, 103, | |
| 148711 | - /* 630 */ 104, 105, 106, 59, 76, 188, 189, 167, 109, 110, | |
| 148712 | - /* 640 */ 111, 59, 19, 136, 86, 197, 23, 89, 167, 202, | |
| 148713 | - /* 650 */ 81, 121, 122, 269, 270, 224, 212, 178, 188, 189, | |
| 148714 | - /* 660 */ 274, 275, 167, 80, 278, 136, 43, 44, 45, 46, | |
| 148750 | + /* 580 */ 54, 55, 56, 57, 59, 184, 26, 59, 268, 109, | |
| 148751 | + /* 590 */ 110, 111, 184, 145, 146, 147, 112, 59, 203, 115, | |
| 148752 | + /* 600 */ 116, 117, 277, 109, 110, 111, 205, 206, 195, 125, | |
| 148753 | + /* 610 */ 277, 109, 110, 111, 100, 101, 139, 109, 110, 111, | |
| 148754 | + /* 620 */ 219, 184, 96, 97, 98, 99, 100, 101, 102, 103, | |
| 148755 | + /* 630 */ 104, 105, 106, 111, 109, 110, 111, 109, 110, 111, | |
| 148756 | + /* 640 */ 227, 228, 19, 184, 136, 184, 23, 109, 110, 111, | |
| 148757 | + /* 650 */ 200, 201, 202, 240, 259, 260, 261, 195, 136, 145, | |
| 148758 | + /* 660 */ 184, 147, 184, 184, 136, 214, 43, 44, 45, 46, | |
| 148715 | 148759 | /* 670 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 148716 | - /* 680 */ 57, 12, 113, 109, 110, 111, 259, 167, 186, 210, | |
| 148717 | - /* 690 */ 211, 109, 110, 111, 224, 167, 27, 210, 211, 116, | |
| 148718 | - /* 700 */ 131, 132, 223, 7, 8, 9, 167, 212, 188, 189, | |
| 148719 | - /* 710 */ 223, 42, 167, 167, 178, 234, 188, 189, 179, 96, | |
| 148760 | + /* 680 */ 57, 205, 206, 205, 206, 227, 228, 184, 229, 227, | |
| 148761 | + /* 690 */ 228, 131, 132, 184, 59, 219, 184, 219, 240, 291, | |
| 148762 | + /* 700 */ 292, 184, 240, 295, 105, 106, 22, 23, 205, 206, | |
| 148763 | + /* 710 */ 26, 184, 251, 184, 205, 206, 184, 205, 206, 96, | |
| 148720 | 148764 | /* 720 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, |
| 148721 | - /* 730 */ 202, 167, 63, 167, 188, 189, 153, 167, 199, 19, | |
| 148722 | - /* 740 */ 201, 175, 73, 23, 224, 179, 210, 211, 202, 26, | |
| 148723 | - /* 750 */ 197, 178, 188, 189, 178, 275, 254, 167, 278, 223, | |
| 148724 | - /* 760 */ 167, 259, 167, 43, 44, 45, 46, 47, 48, 49, | |
| 148725 | - /* 770 */ 50, 51, 52, 53, 54, 55, 56, 57, 188, 189, | |
| 148726 | - /* 780 */ 235, 188, 189, 210, 211, 167, 210, 211, 224, 181, | |
| 148727 | - /* 790 */ 182, 167, 202, 167, 76, 202, 223, 178, 22, 223, | |
| 148728 | - /* 800 */ 24, 19, 22, 23, 86, 178, 26, 89, 184, 185, | |
| 148729 | - /* 810 */ 184, 185, 178, 120, 121, 122, 96, 97, 98, 99, | |
| 148730 | - /* 820 */ 100, 101, 102, 103, 104, 105, 106, 167, 46, 210, | |
| 148731 | - /* 830 */ 211, 66, 167, 167, 111, 59, 19, 210, 211, 167, | |
| 148732 | - /* 840 */ 23, 167, 223, 23, 210, 211, 26, 82, 188, 189, | |
| 148733 | - /* 850 */ 223, 29, 234, 188, 189, 33, 91, 223, 167, 136, | |
| 148765 | + /* 730 */ 251, 219, 205, 206, 205, 206, 184, 205, 206, 19, | |
| 148766 | + /* 740 */ 184, 16, 184, 23, 241, 110, 219, 21, 219, 184, | |
| 148767 | + /* 750 */ 241, 219, 286, 287, 195, 184, 195, 205, 206, 201, | |
| 148768 | + /* 760 */ 202, 205, 206, 43, 44, 45, 46, 47, 48, 49, | |
| 148769 | + /* 770 */ 50, 51, 52, 53, 54, 55, 56, 57, 184, 95, | |
| 148770 | + /* 780 */ 22, 23, 184, 26, 26, 220, 227, 228, 227, 228, | |
| 148771 | + /* 790 */ 196, 184, 23, 241, 26, 26, 195, 241, 184, 240, | |
| 148772 | + /* 800 */ 12, 240, 77, 26, 79, 195, 80, 290, 201, 202, | |
| 148773 | + /* 810 */ 216, 184, 218, 195, 184, 27, 96, 97, 98, 99, | |
| 148774 | + /* 820 */ 100, 101, 102, 103, 104, 105, 106, 269, 227, 228, | |
| 148775 | + /* 830 */ 42, 184, 205, 206, 184, 184, 19, 227, 228, 192, | |
| 148776 | + /* 840 */ 23, 240, 116, 196, 76, 227, 228, 120, 121, 122, | |
| 148777 | + /* 850 */ 240, 63, 254, 95, 86, 205, 206, 89, 240, 184, | |
| 148734 | 148778 | /* 860 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 148735 | - /* 870 */ 53, 54, 55, 56, 57, 95, 252, 12, 252, 188, | |
| 148736 | - /* 880 */ 189, 167, 22, 23, 206, 207, 110, 65, 167, 16, | |
| 148737 | - /* 890 */ 108, 167, 27, 120, 121, 122, 167, 167, 167, 167, | |
| 148738 | - /* 900 */ 234, 167, 188, 189, 139, 167, 124, 42, 167, 188, | |
| 148739 | - /* 910 */ 189, 167, 102, 96, 97, 98, 99, 100, 101, 102, | |
| 148740 | - /* 920 */ 103, 104, 105, 106, 167, 167, 138, 167, 63, 188, | |
| 148741 | - /* 930 */ 189, 111, 260, 19, 260, 167, 167, 23, 128, 209, | |
| 148742 | - /* 940 */ 209, 209, 275, 133, 156, 278, 188, 189, 188, 189, | |
| 148743 | - /* 950 */ 77, 167, 79, 19, 167, 95, 136, 43, 44, 45, | |
| 148779 | + /* 870 */ 53, 54, 55, 56, 57, 184, 269, 184, 153, 153, | |
| 148780 | + /* 880 */ 111, 184, 7, 8, 9, 184, 138, 184, 184, 196, | |
| 148781 | + /* 890 */ 184, 120, 121, 122, 184, 138, 205, 206, 184, 102, | |
| 148782 | + /* 900 */ 184, 184, 205, 206, 156, 136, 205, 206, 205, 206, | |
| 148783 | + /* 910 */ 198, 199, 135, 96, 97, 98, 99, 100, 101, 102, | |
| 148784 | + /* 920 */ 103, 104, 105, 106, 184, 128, 184, 184, 184, 254, | |
| 148785 | + /* 930 */ 133, 184, 237, 19, 239, 229, 226, 23, 292, 184, | |
| 148786 | + /* 940 */ 226, 295, 226, 226, 184, 205, 206, 205, 206, 205, | |
| 148787 | + /* 950 */ 206, 184, 292, 19, 184, 295, 252, 43, 44, 45, | |
| 148744 | 148788 | /* 960 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148745 | - /* 970 */ 56, 57, 188, 189, 167, 188, 189, 43, 44, 45, | |
| 148789 | + /* 970 */ 56, 57, 205, 206, 184, 205, 206, 43, 44, 45, | |
| 148746 | 148790 | /* 980 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148747 | - /* 990 */ 56, 57, 235, 167, 260, 188, 189, 167, 157, 158, | |
| 148748 | - /* 1000 */ 167, 26, 273, 167, 235, 167, 59, 26, 241, 46, | |
| 148791 | + /* 990 */ 56, 57, 157, 158, 26, 205, 206, 254, 26, 252, | |
| 148792 | + /* 1000 */ 184, 15, 184, 184, 184, 292, 184, 252, 295, 24, | |
| 148749 | 148793 | /* 1010 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148750 | - /* 1020 */ 106, 188, 189, 22, 188, 189, 188, 189, 167, 203, | |
| 148794 | + /* 1020 */ 106, 205, 206, 205, 206, 205, 206, 205, 206, 184, | |
| 148751 | 148795 | /* 1030 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148752 | - /* 1040 */ 106, 167, 212, 167, 277, 167, 167, 167, 23, 188, | |
| 148753 | - /* 1050 */ 189, 26, 275, 241, 167, 278, 167, 110, 167, 220, | |
| 148754 | - /* 1060 */ 167, 222, 188, 189, 188, 189, 188, 189, 188, 189, | |
| 148755 | - /* 1070 */ 167, 108, 167, 167, 167, 188, 189, 188, 189, 188, | |
| 148756 | - /* 1080 */ 189, 188, 189, 167, 275, 151, 167, 278, 167, 277, | |
| 148757 | - /* 1090 */ 167, 188, 189, 188, 189, 188, 189, 167, 31, 167, | |
| 148758 | - /* 1100 */ 119, 100, 101, 181, 182, 19, 39, 188, 189, 188, | |
| 148759 | - /* 1110 */ 189, 188, 189, 138, 235, 131, 132, 24, 188, 189, | |
| 148760 | - /* 1120 */ 188, 189, 267, 268, 167, 19, 167, 227, 228, 43, | |
| 148796 | + /* 1040 */ 106, 184, 184, 184, 59, 184, 60, 184, 229, 184, | |
| 148797 | + /* 1050 */ 205, 206, 184, 258, 184, 19, 184, 19, 184, 246, | |
| 148798 | + /* 1060 */ 184, 258, 205, 206, 205, 206, 205, 206, 205, 206, | |
| 148799 | + /* 1070 */ 205, 206, 184, 205, 206, 205, 206, 205, 206, 205, | |
| 148800 | + /* 1080 */ 206, 205, 206, 292, 226, 151, 295, 184, 228, 294, | |
| 148801 | + /* 1090 */ 184, 119, 184, 205, 206, 110, 150, 294, 152, 184, | |
| 148802 | + /* 1100 */ 240, 184, 22, 23, 23, 19, 184, 26, 205, 206, | |
| 148803 | + /* 1110 */ 142, 205, 206, 205, 206, 184, 198, 199, 131, 132, | |
| 148804 | + /* 1120 */ 205, 206, 205, 206, 22, 19, 24, 205, 206, 43, | |
| 148761 | 148805 | /* 1130 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148762 | - /* 1140 */ 54, 55, 56, 57, 167, 188, 189, 188, 189, 43, | |
| 148806 | + /* 1140 */ 54, 55, 56, 57, 184, 109, 184, 109, 184, 43, | |
| 148763 | 148807 | /* 1150 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148764 | - /* 1160 */ 54, 55, 56, 57, 19, 188, 189, 150, 197, 152, | |
| 148765 | - /* 1170 */ 26, 15, 22, 167, 24, 122, 23, 23, 167, 26, | |
| 148766 | - /* 1180 */ 26, 167, 96, 97, 98, 99, 100, 101, 102, 103, | |
| 148767 | - /* 1190 */ 104, 105, 106, 167, 188, 189, 167, 144, 167, 188, | |
| 148768 | - /* 1200 */ 189, 167, 96, 97, 98, 99, 100, 101, 102, 103, | |
| 148769 | - /* 1210 */ 104, 105, 106, 167, 188, 189, 60, 188, 189, 188, | |
| 148770 | - /* 1220 */ 189, 22, 188, 189, 167, 22, 167, 134, 167, 23, | |
| 148771 | - /* 1230 */ 23, 167, 26, 26, 188, 189, 23, 151, 23, 26, | |
| 148772 | - /* 1240 */ 23, 26, 145, 26, 147, 188, 189, 188, 189, 188, | |
| 148773 | - /* 1250 */ 189, 114, 53, 23, 109, 22, 26, 19, 167, 113, | |
| 148774 | - /* 1260 */ 114, 124, 24, 23, 61, 167, 26, 59, 7, 8, | |
| 148775 | - /* 1270 */ 59, 23, 23, 59, 26, 26, 145, 19, 147, 135, | |
| 148776 | - /* 1280 */ 167, 43, 44, 45, 46, 47, 48, 49, 50, 51, | |
| 148777 | - /* 1290 */ 52, 53, 54, 55, 56, 57, 23, 167, 229, 26, | |
| 148778 | - /* 1300 */ 167, 43, 44, 45, 46, 47, 48, 49, 50, 51, | |
| 148779 | - /* 1310 */ 52, 53, 54, 55, 56, 57, 23, 207, 110, 26, | |
| 148780 | - /* 1320 */ 226, 110, 167, 283, 110, 167, 167, 167, 167, 167, | |
| 148781 | - /* 1330 */ 167, 167, 167, 167, 96, 97, 98, 99, 100, 101, | |
| 148782 | - /* 1340 */ 102, 103, 104, 105, 106, 167, 167, 167, 167, 167, | |
| 148783 | - /* 1350 */ 167, 167, 167, 167, 96, 97, 98, 99, 100, 101, | |
| 148784 | - /* 1360 */ 102, 103, 104, 105, 106, 167, 255, 134, 167, 167, | |
| 148785 | - /* 1370 */ 256, 167, 167, 226, 19, 226, 167, 226, 226, 186, | |
| 148786 | - /* 1380 */ 213, 165, 214, 265, 261, 261, 217, 230, 217, 217, | |
| 148787 | - /* 1390 */ 200, 196, 192, 220, 19, 220, 248, 170, 60, 44, | |
| 148808 | + /* 1160 */ 54, 55, 56, 57, 46, 205, 206, 205, 206, 205, | |
| 148809 | + /* 1170 */ 206, 232, 184, 184, 184, 95, 184, 284, 285, 244, | |
| 148810 | + /* 1180 */ 245, 242, 96, 97, 98, 99, 100, 101, 102, 103, | |
| 148811 | + /* 1190 */ 104, 105, 106, 205, 206, 205, 206, 205, 206, 184, | |
| 148812 | + /* 1200 */ 22, 184, 96, 97, 98, 99, 100, 101, 102, 103, | |
| 148813 | + /* 1210 */ 104, 105, 106, 184, 24, 23, 184, 184, 26, 184, | |
| 148814 | + /* 1220 */ 205, 206, 205, 206, 184, 31, 108, 128, 22, 122, | |
| 148815 | + /* 1230 */ 184, 53, 133, 39, 205, 206, 22, 151, 205, 206, | |
| 148816 | + /* 1240 */ 205, 206, 113, 114, 23, 205, 206, 26, 59, 23, | |
| 148817 | + /* 1250 */ 23, 144, 26, 26, 184, 23, 23, 19, 26, 26, | |
| 148818 | + /* 1260 */ 7, 8, 24, 23, 214, 23, 26, 61, 26, 59, | |
| 148819 | + /* 1270 */ 23, 23, 23, 26, 26, 26, 145, 19, 147, 59, | |
| 148820 | + /* 1280 */ 184, 43, 44, 45, 46, 47, 48, 49, 50, 51, | |
| 148821 | + /* 1290 */ 52, 53, 54, 55, 56, 57, 145, 23, 147, 110, | |
| 148822 | + /* 1300 */ 26, 43, 44, 45, 46, 47, 48, 49, 50, 51, | |
| 148823 | + /* 1310 */ 52, 53, 54, 55, 56, 57, 23, 184, 184, 26, | |
| 148824 | + /* 1320 */ 110, 184, 184, 184, 134, 184, 184, 184, 184, 184, | |
| 148825 | + /* 1330 */ 110, 184, 184, 184, 96, 97, 98, 99, 100, 101, | |
| 148826 | + /* 1340 */ 102, 103, 104, 105, 106, 184, 184, 184, 134, 300, | |
| 148827 | + /* 1350 */ 184, 243, 184, 184, 96, 97, 98, 99, 100, 101, | |
| 148828 | + /* 1360 */ 102, 103, 104, 105, 106, 184, 184, 184, 184, 184, | |
| 148829 | + /* 1370 */ 224, 184, 282, 273, 19, 272, 203, 182, 243, 243, | |
| 148830 | + /* 1380 */ 230, 209, 278, 243, 231, 208, 265, 278, 234, 234, | |
| 148831 | + /* 1390 */ 234, 217, 213, 60, 19, 243, 208, 237, 233, 44, | |
| 148788 | 148832 | /* 1400 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 148789 | - /* 1410 */ 55, 56, 57, 191, 191, 191, 134, 230, 230, 174, | |
| 148833 | + /* 1410 */ 55, 56, 57, 208, 247, 187, 134, 247, 247, 38, | |
| 148790 | 148834 | /* 1420 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 148791 | - /* 1430 */ 55, 56, 57, 214, 216, 265, 174, 38, 262, 262, | |
| 148792 | - /* 1440 */ 174, 143, 251, 108, 22, 19, 20, 43, 22, 205, | |
| 148793 | - /* 1450 */ 240, 96, 97, 98, 99, 100, 101, 102, 103, 104, | |
| 148794 | - /* 1460 */ 105, 106, 36, 142, 239, 18, 174, 217, 208, 18, | |
| 148795 | - /* 1470 */ 173, 96, 97, 98, 99, 100, 101, 102, 103, 104, | |
| 148796 | - /* 1480 */ 105, 106, 208, 208, 208, 59, 217, 217, 205, 205, | |
| 148797 | - /* 1490 */ 174, 240, 239, 173, 217, 150, 62, 71, 174, 258, | |
| 148798 | - /* 1500 */ 257, 19, 20, 173, 22, 22, 193, 81, 174, 173, | |
| 148799 | - /* 1510 */ 193, 174, 173, 108, 64, 190, 190, 190, 36, 119, | |
| 148800 | - /* 1520 */ 94, 198, 193, 190, 192, 106, 100, 101, 250, 198, | |
| 148801 | - /* 1530 */ 48, 190, 190, 107, 190, 109, 110, 111, 250, 193, | |
| 148802 | - /* 1540 */ 114, 59, 193, 137, 232, 108, 231, 174, 88, 282, | |
| 148803 | - /* 1550 */ 232, 232, 141, 71, 232, 138, 22, 131, 132, 231, | |
| 148804 | - /* 1560 */ 220, 282, 174, 150, 82, 140, 139, 25, 177, 87, | |
| 148805 | - /* 1570 */ 219, 145, 146, 147, 148, 149, 94, 221, 231, 231, | |
| 148806 | - /* 1580 */ 221, 218, 100, 101, 217, 26, 176, 13, 245, 107, | |
| 148807 | - /* 1590 */ 6, 109, 110, 111, 166, 166, 114, 247, 168, 168, | |
| 148808 | - /* 1600 */ 180, 166, 186, 194, 186, 4, 194, 186, 3, 186, | |
| 148809 | - /* 1610 */ 186, 22, 180, 155, 15, 93, 180, 23, 16, 186, | |
| 148810 | - /* 1620 */ 23, 132, 268, 271, 271, 186, 186, 145, 146, 147, | |
| 148835 | + /* 1430 */ 55, 56, 57, 237, 231, 191, 191, 279, 279, 282, | |
| 148836 | + /* 1440 */ 143, 191, 108, 268, 22, 19, 20, 256, 22, 43, | |
| 148837 | + /* 1450 */ 257, 96, 97, 98, 99, 100, 101, 102, 103, 104, | |
| 148838 | + /* 1460 */ 105, 106, 36, 222, 142, 234, 18, 191, 225, 18, | |
| 148839 | + /* 1470 */ 190, 96, 97, 98, 99, 100, 101, 102, 103, 104, | |
| 148840 | + /* 1480 */ 105, 106, 225, 191, 225, 59, 225, 257, 234, 234, | |
| 148841 | + /* 1490 */ 256, 222, 222, 190, 234, 150, 62, 71, 275, 274, | |
| 148842 | + /* 1500 */ 191, 19, 20, 190, 22, 22, 210, 81, 191, 190, | |
| 148843 | + /* 1510 */ 210, 191, 108, 190, 207, 207, 64, 207, 36, 215, | |
| 148844 | + /* 1520 */ 94, 210, 207, 209, 119, 207, 100, 101, 207, 106, | |
| 148845 | + /* 1530 */ 48, 215, 207, 107, 210, 109, 110, 111, 267, 267, | |
| 148846 | + /* 1540 */ 114, 59, 210, 249, 137, 108, 248, 191, 249, 248, | |
| 148847 | + /* 1550 */ 88, 249, 141, 71, 248, 299, 138, 131, 132, 22, | |
| 148848 | + /* 1560 */ 191, 249, 299, 237, 82, 238, 150, 262, 140, 87, | |
| 148849 | + /* 1570 */ 139, 145, 146, 147, 148, 149, 94, 248, 238, 236, | |
| 148850 | + /* 1580 */ 25, 235, 100, 101, 234, 194, 26, 193, 13, 107, | |
| 148851 | + /* 1590 */ 6, 109, 110, 111, 264, 185, 114, 185, 183, 197, | |
| 148852 | + /* 1600 */ 183, 203, 183, 203, 203, 197, 203, 211, 211, 4, | |
| 148853 | + /* 1610 */ 197, 3, 203, 22, 155, 15, 288, 203, 93, 288, | |
| 148854 | + /* 1620 */ 285, 23, 16, 203, 203, 23, 132, 145, 146, 147, | |
| 148811 | 148855 | /* 1630 */ 148, 149, 0, 1, 2, 143, 123, 5, 24, 135, |
| 148812 | 148856 | /* 1640 */ 20, 16, 10, 11, 12, 13, 14, 137, 1, 17, |
| 148813 | - /* 1650 */ 135, 144, 19, 20, 123, 22, 61, 143, 37, 53, | |
| 148814 | - /* 1660 */ 53, 53, 30, 53, 32, 109, 123, 134, 34, 36, | |
| 148815 | - /* 1670 */ 1, 5, 40, 22, 108, 26, 153, 68, 75, 68, | |
| 148816 | - /* 1680 */ 41, 134, 24, 108, 20, 124, 19, 118, 23, 67, | |
| 148857 | + /* 1650 */ 135, 144, 19, 20, 123, 22, 61, 143, 37, 123, | |
| 148858 | + /* 1660 */ 53, 109, 30, 53, 32, 53, 53, 134, 34, 36, | |
| 148859 | + /* 1670 */ 1, 5, 40, 22, 108, 153, 26, 68, 75, 68, | |
| 148860 | + /* 1680 */ 41, 134, 108, 24, 20, 124, 19, 118, 23, 67, | |
| 148817 | 148861 | /* 1690 */ 22, 67, 59, 22, 22, 22, 22, 67, 28, 37, |
| 148818 | - /* 1700 */ 23, 22, 70, 23, 71, 142, 157, 23, 23, 26, | |
| 148862 | + /* 1700 */ 23, 142, 70, 22, 71, 23, 157, 23, 23, 26, | |
| 148819 | 148863 | /* 1710 */ 78, 23, 22, 81, 23, 82, 24, 22, 24, 134, |
| 148820 | 148864 | /* 1720 */ 87, 23, 19, 20, 92, 22, 109, 94, 23, 22, |
| 148821 | 148865 | /* 1730 */ 34, 34, 136, 100, 101, 26, 34, 85, 34, 36, |
| 148822 | - /* 1740 */ 107, 23, 109, 110, 111, 34, 83, 114, 34, 90, | |
| 148866 | + /* 1740 */ 107, 83, 109, 110, 111, 34, 90, 114, 34, 23, | |
| 148823 | 148867 | /* 1750 */ 75, 75, 44, 22, 24, 26, 34, 23, 126, 26, |
| 148824 | 148868 | /* 1760 */ 23, 23, 59, 131, 132, 23, 23, 26, 23, 22, |
| 148825 | 148869 | /* 1770 */ 11, 22, 22, 22, 71, 23, 23, 22, 145, 146, |
| 148826 | - /* 1780 */ 147, 148, 149, 26, 128, 82, 154, 134, 134, 134, | |
| 148827 | - /* 1790 */ 87, 134, 23, 15, 1, 284, 284, 94, 284, 284, | |
| 148828 | - /* 1800 */ 284, 284, 284, 100, 101, 284, 284, 284, 284, 284, | |
| 148829 | - /* 1810 */ 107, 284, 109, 110, 111, 1, 2, 114, 284, 5, | |
| 148830 | - /* 1820 */ 284, 284, 284, 284, 10, 11, 12, 13, 14, 284, | |
| 148831 | - /* 1830 */ 284, 17, 284, 284, 284, 284, 19, 20, 284, 22, | |
| 148832 | - /* 1840 */ 284, 284, 284, 284, 30, 284, 32, 284, 145, 146, | |
| 148833 | - /* 1850 */ 147, 148, 149, 36, 40, 284, 284, 284, 284, 284, | |
| 148834 | - /* 1860 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, | |
| 148835 | - /* 1870 */ 284, 284, 284, 284, 284, 284, 59, 284, 284, 284, | |
| 148836 | - /* 1880 */ 284, 284, 284, 284, 70, 284, 284, 284, 71, 284, | |
| 148837 | - /* 1890 */ 284, 284, 78, 284, 284, 81, 19, 20, 284, 22, | |
| 148838 | - /* 1900 */ 284, 284, 284, 284, 284, 284, 92, 284, 284, 284, | |
| 148839 | - /* 1910 */ 284, 94, 284, 36, 284, 284, 284, 100, 101, 102, | |
| 148840 | - /* 1920 */ 284, 284, 284, 284, 107, 284, 109, 110, 111, 284, | |
| 148841 | - /* 1930 */ 284, 114, 284, 284, 284, 284, 59, 284, 284, 284, | |
| 148842 | - /* 1940 */ 126, 284, 284, 284, 284, 131, 132, 284, 71, 284, | |
| 148843 | - /* 1950 */ 284, 284, 284, 284, 284, 284, 19, 20, 284, 22, | |
| 148844 | - /* 1960 */ 284, 284, 145, 146, 147, 148, 149, 284, 154, 284, | |
| 148845 | - /* 1970 */ 284, 94, 284, 36, 284, 284, 284, 100, 101, 284, | |
| 148846 | - /* 1980 */ 284, 284, 284, 284, 107, 284, 109, 110, 111, 284, | |
| 148847 | - /* 1990 */ 284, 114, 5, 284, 284, 284, 59, 10, 11, 12, | |
| 148848 | - /* 2000 */ 13, 14, 284, 284, 17, 284, 284, 284, 71, 284, | |
| 148849 | - /* 2010 */ 284, 284, 284, 284, 284, 284, 284, 30, 284, 32, | |
| 148850 | - /* 2020 */ 284, 284, 145, 146, 147, 148, 149, 40, 284, 284, | |
| 148851 | - /* 2030 */ 284, 94, 284, 284, 284, 284, 284, 100, 101, 284, | |
| 148852 | - /* 2040 */ 284, 284, 284, 284, 107, 284, 109, 110, 111, 284, | |
| 148853 | - /* 2050 */ 284, 114, 284, 284, 284, 284, 284, 70, 284, 284, | |
| 148854 | - /* 2060 */ 284, 284, 284, 284, 284, 78, 284, 284, 81, 284, | |
| 148855 | - /* 2070 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 92, | |
| 148856 | - /* 2080 */ 284, 284, 145, 146, 147, 148, 149, 284, 284, 284, | |
| 148857 | - /* 2090 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, | |
| 148858 | - /* 2100 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, | |
| 148859 | - /* 2110 */ 284, 284, 284, 126, 284, 284, 284, 284, 131, 132, | |
| 148860 | - /* 2120 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, | |
| 148861 | - /* 2130 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, | |
| 148862 | - /* 2140 */ 284, 154, 284, 284, 284, 284, 284, 284, 284, 284, | |
| 148863 | - /* 2150 */ 284, 284, | |
| 148870 | + /* 1780 */ 147, 148, 149, 26, 23, 82, 154, 134, 128, 134, | |
| 148871 | + /* 1790 */ 87, 134, 15, 1, 301, 134, 301, 94, 301, 301, | |
| 148872 | + /* 1800 */ 301, 301, 301, 100, 101, 301, 301, 301, 301, 301, | |
| 148873 | + /* 1810 */ 107, 301, 109, 110, 111, 1, 2, 114, 301, 5, | |
| 148874 | + /* 1820 */ 301, 301, 301, 301, 10, 11, 12, 13, 14, 301, | |
| 148875 | + /* 1830 */ 301, 17, 301, 301, 301, 301, 19, 20, 301, 22, | |
| 148876 | + /* 1840 */ 301, 301, 301, 301, 30, 301, 32, 301, 145, 146, | |
| 148877 | + /* 1850 */ 147, 148, 149, 36, 40, 301, 301, 301, 301, 301, | |
| 148878 | + /* 1860 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148879 | + /* 1870 */ 301, 301, 301, 301, 301, 301, 59, 301, 301, 301, | |
| 148880 | + /* 1880 */ 301, 301, 301, 301, 70, 301, 301, 301, 71, 301, | |
| 148881 | + /* 1890 */ 301, 301, 78, 301, 301, 81, 19, 20, 301, 22, | |
| 148882 | + /* 1900 */ 301, 301, 301, 301, 301, 301, 92, 301, 301, 301, | |
| 148883 | + /* 1910 */ 301, 94, 301, 36, 301, 301, 301, 100, 101, 102, | |
| 148884 | + /* 1920 */ 301, 301, 301, 301, 107, 301, 109, 110, 111, 301, | |
| 148885 | + /* 1930 */ 301, 114, 301, 301, 301, 301, 59, 301, 301, 301, | |
| 148886 | + /* 1940 */ 126, 301, 301, 301, 301, 131, 132, 301, 71, 301, | |
| 148887 | + /* 1950 */ 301, 301, 301, 301, 301, 301, 19, 20, 301, 22, | |
| 148888 | + /* 1960 */ 301, 301, 145, 146, 147, 148, 149, 301, 154, 301, | |
| 148889 | + /* 1970 */ 301, 94, 301, 36, 301, 301, 301, 100, 101, 301, | |
| 148890 | + /* 1980 */ 301, 301, 301, 301, 107, 301, 109, 110, 111, 301, | |
| 148891 | + /* 1990 */ 301, 114, 5, 301, 301, 301, 59, 10, 11, 12, | |
| 148892 | + /* 2000 */ 13, 14, 301, 301, 17, 301, 301, 301, 71, 301, | |
| 148893 | + /* 2010 */ 301, 301, 301, 301, 301, 301, 301, 30, 301, 32, | |
| 148894 | + /* 2020 */ 301, 301, 145, 146, 147, 148, 149, 40, 301, 301, | |
| 148895 | + /* 2030 */ 301, 94, 301, 301, 301, 301, 301, 100, 101, 301, | |
| 148896 | + /* 2040 */ 301, 301, 301, 301, 107, 301, 109, 110, 111, 301, | |
| 148897 | + /* 2050 */ 301, 114, 301, 301, 301, 301, 301, 70, 301, 301, | |
| 148898 | + /* 2060 */ 301, 301, 301, 301, 301, 78, 301, 301, 81, 301, | |
| 148899 | + /* 2070 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 92, | |
| 148900 | + /* 2080 */ 301, 301, 145, 146, 147, 148, 149, 301, 301, 301, | |
| 148901 | + /* 2090 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148902 | + /* 2100 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148903 | + /* 2110 */ 301, 301, 301, 126, 301, 301, 301, 301, 131, 132, | |
| 148904 | + /* 2120 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148905 | + /* 2130 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148906 | + /* 2140 */ 301, 154, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148907 | + /* 2150 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148908 | + /* 2160 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, | |
| 148864 | 148909 | }; |
| 148865 | 148910 | #define YY_SHIFT_COUNT (540) |
| 148866 | 148911 | #define YY_SHIFT_MIN (0) |
| 148867 | 148912 | #define YY_SHIFT_MAX (1987) |
| 148868 | 148913 | static const unsigned short int yy_shift_ofst[] = { |
| 148869 | - /* 0 */ 1814, 1632, 1987, 1426, 1426, 155, 1482, 1633, 1703, 1877, | |
| 148870 | - /* 10 */ 1877, 1877, 203, 0, 0, 264, 1106, 1877, 1877, 1877, | |
| 148914 | + /* 0 */ 1814, 1632, 1987, 1426, 1426, 128, 1482, 1633, 1703, 1877, | |
| 148915 | + /* 10 */ 1877, 1877, 87, 0, 0, 264, 1106, 1877, 1877, 1877, | |
| 148871 | 148916 | /* 20 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148872 | - /* 30 */ 60, 60, 380, 380, 99, 569, 155, 155, 155, 155, | |
| 148873 | - /* 40 */ 155, 155, 97, 194, 332, 429, 526, 623, 720, 817, | |
| 148917 | + /* 30 */ 226, 226, 381, 381, 296, 193, 128, 128, 128, 128, | |
| 148918 | + /* 40 */ 128, 128, 97, 194, 332, 429, 526, 623, 720, 817, | |
| 148874 | 148919 | /* 50 */ 914, 934, 1086, 1238, 1106, 1106, 1106, 1106, 1106, 1106, |
| 148875 | 148920 | /* 60 */ 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, |
| 148876 | 148921 | /* 70 */ 1106, 1106, 1258, 1106, 1355, 1375, 1375, 1817, 1877, 1877, |
| 148877 | 148922 | /* 80 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148878 | 148923 | /* 90 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148879 | 148924 | /* 100 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148880 | 148925 | /* 110 */ 1937, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148881 | 148926 | /* 120 */ 1877, 1877, 1877, 1877, 32, 129, 129, 129, 129, 129, |
| 148882 | - /* 130 */ 169, 152, 73, 582, 583, 782, 582, 117, 117, 582, | |
| 148883 | - /* 140 */ 367, 367, 367, 367, 426, 402, 106, 2142, 2142, 284, | |
| 148884 | - /* 150 */ 284, 284, 229, 12, 391, 12, 12, 669, 669, 474, | |
| 148885 | - /* 160 */ 483, 259, 780, 582, 582, 582, 582, 582, 582, 582, | |
| 148886 | - /* 170 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, | |
| 148887 | - /* 180 */ 582, 582, 582, 582, 558, 558, 582, 530, 718, 718, | |
| 148888 | - /* 190 */ 947, 841, 841, 947, 788, 984, 2142, 2142, 2142, 312, | |
| 148889 | - /* 200 */ 45, 45, 53, 212, 314, 385, 497, 507, 529, 574, | |
| 148890 | - /* 210 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 101, | |
| 148891 | - /* 220 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, | |
| 148892 | - /* 230 */ 582, 582, 478, 478, 478, 582, 582, 582, 582, 820, | |
| 148893 | - /* 240 */ 582, 582, 582, 776, 765, 582, 582, 865, 582, 582, | |
| 148894 | - /* 250 */ 582, 582, 582, 582, 582, 582, 693, 822, 228, 14, | |
| 148895 | - /* 260 */ 14, 14, 14, 723, 228, 228, 810, 1001, 696, 1156, | |
| 148896 | - /* 270 */ 163, 486, 486, 1145, 163, 163, 1145, 981, 1025, 963, | |
| 148897 | - /* 280 */ 1067, 1067, 1067, 486, 975, 975, 1017, 1144, 39, 1150, | |
| 148898 | - /* 290 */ 1338, 1282, 1282, 1399, 1399, 1282, 1298, 1335, 1422, 1404, | |
| 148899 | - /* 300 */ 1321, 1447, 1447, 1447, 1447, 1282, 1451, 1321, 1321, 1335, | |
| 148900 | - /* 310 */ 1422, 1404, 1404, 1321, 1282, 1451, 1345, 1434, 1282, 1451, | |
| 148901 | - /* 320 */ 1483, 1282, 1451, 1282, 1451, 1483, 1405, 1405, 1405, 1450, | |
| 148902 | - /* 330 */ 1483, 1405, 1400, 1405, 1450, 1405, 1405, 1483, 1419, 1419, | |
| 148903 | - /* 340 */ 1483, 1406, 1437, 1406, 1437, 1406, 1437, 1406, 1437, 1282, | |
| 148904 | - /* 350 */ 1460, 1460, 1411, 1417, 1534, 1282, 1413, 1411, 1425, 1427, | |
| 148905 | - /* 360 */ 1321, 1542, 1559, 1574, 1574, 1584, 1584, 1584, 2142, 2142, | |
| 148927 | + /* 130 */ 21, 152, 297, 494, 726, 65, 494, 514, 514, 494, | |
| 148928 | + /* 140 */ 560, 560, 560, 560, 322, 599, 50, 2142, 2142, 155, | |
| 148929 | + /* 150 */ 155, 155, 313, 392, 386, 392, 392, 481, 481, 200, | |
| 148930 | + /* 160 */ 480, 684, 758, 494, 494, 494, 494, 494, 494, 494, | |
| 148931 | + /* 170 */ 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, | |
| 148932 | + /* 180 */ 494, 494, 494, 494, 768, 768, 494, 166, 377, 377, | |
| 148933 | + /* 190 */ 635, 835, 835, 635, 748, 987, 2142, 2142, 2142, 448, | |
| 148934 | + /* 200 */ 45, 45, 403, 484, 502, 106, 525, 508, 528, 538, | |
| 148935 | + /* 210 */ 494, 494, 494, 494, 494, 494, 494, 494, 494, 84, | |
| 148936 | + /* 220 */ 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, | |
| 148937 | + /* 230 */ 494, 494, 267, 267, 267, 494, 494, 494, 494, 769, | |
| 148938 | + /* 240 */ 494, 494, 494, 4, 477, 494, 494, 788, 494, 494, | |
| 148939 | + /* 250 */ 494, 494, 494, 494, 494, 494, 727, 5, 135, 985, | |
| 148940 | + /* 260 */ 985, 985, 985, 522, 135, 135, 797, 326, 875, 986, | |
| 148941 | + /* 270 */ 968, 1036, 1036, 1038, 968, 968, 1038, 972, 1081, 1118, | |
| 148942 | + /* 280 */ 1194, 1194, 1194, 1036, 757, 757, 946, 777, 1099, 1102, | |
| 148943 | + /* 290 */ 1333, 1282, 1282, 1381, 1381, 1282, 1297, 1334, 1422, 1406, | |
| 148944 | + /* 300 */ 1322, 1448, 1448, 1448, 1448, 1282, 1451, 1322, 1322, 1334, | |
| 148945 | + /* 310 */ 1422, 1406, 1406, 1322, 1282, 1451, 1345, 1434, 1282, 1451, | |
| 148946 | + /* 320 */ 1483, 1282, 1451, 1282, 1451, 1483, 1404, 1404, 1404, 1452, | |
| 148947 | + /* 330 */ 1483, 1404, 1405, 1404, 1452, 1404, 1404, 1483, 1423, 1423, | |
| 148948 | + /* 340 */ 1483, 1407, 1437, 1407, 1437, 1407, 1437, 1407, 1437, 1282, | |
| 148949 | + /* 350 */ 1462, 1462, 1411, 1418, 1537, 1282, 1416, 1411, 1428, 1431, | |
| 148950 | + /* 360 */ 1322, 1555, 1560, 1575, 1575, 1584, 1584, 1584, 2142, 2142, | |
| 148906 | 148951 | /* 370 */ 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, |
| 148907 | - /* 380 */ 2142, 2142, 2142, 2142, 300, 438, 310, 860, 873, 773, | |
| 148908 | - /* 390 */ 500, 1153, 1199, 1093, 1053, 1154, 1203, 1206, 1207, 1213, | |
| 148909 | - /* 400 */ 1215, 1217, 1230, 1208, 1146, 1261, 1137, 1211, 1240, 1248, | |
| 148910 | - /* 410 */ 1249, 1097, 1131, 1273, 1293, 1214, 1233, 1601, 1605, 1589, | |
| 148911 | - /* 420 */ 1458, 1599, 1522, 1602, 1594, 1597, 1489, 1492, 1513, 1614, | |
| 148952 | + /* 380 */ 2142, 2142, 2142, 2142, 61, 725, 374, 1080, 198, 771, | |
| 148953 | + /* 390 */ 283, 1192, 1178, 1190, 1107, 1221, 1206, 1226, 1227, 1232, | |
| 148954 | + /* 400 */ 1233, 1240, 1242, 1189, 1129, 1253, 216, 1210, 1247, 1248, | |
| 148955 | + /* 410 */ 1249, 1131, 1151, 1274, 1293, 1220, 1214, 1605, 1608, 1591, | |
| 148956 | + /* 420 */ 1459, 1600, 1525, 1606, 1598, 1602, 1494, 1492, 1513, 1614, | |
| 148912 | 148957 | /* 430 */ 1504, 1620, 1510, 1625, 1647, 1515, 1507, 1531, 1595, 1621, |
| 148913 | - /* 440 */ 1514, 1606, 1607, 1608, 1610, 1543, 1556, 1634, 1533, 1669, | |
| 148914 | - /* 450 */ 1666, 1651, 1566, 1523, 1609, 1649, 1611, 1603, 1639, 1547, | |
| 148915 | - /* 460 */ 1575, 1658, 1664, 1667, 1561, 1569, 1668, 1622, 1671, 1672, | |
| 148916 | - /* 470 */ 1665, 1673, 1624, 1670, 1674, 1630, 1662, 1677, 1563, 1679, | |
| 148917 | - /* 480 */ 1680, 1549, 1684, 1685, 1683, 1688, 1690, 1692, 1691, 1695, | |
| 148958 | + /* 440 */ 1514, 1607, 1610, 1612, 1613, 1536, 1552, 1634, 1533, 1669, | |
| 148959 | + /* 450 */ 1666, 1651, 1566, 1522, 1609, 1650, 1611, 1603, 1639, 1547, | |
| 148960 | + /* 460 */ 1574, 1659, 1664, 1667, 1561, 1569, 1668, 1622, 1671, 1672, | |
| 148961 | + /* 470 */ 1665, 1673, 1624, 1670, 1674, 1630, 1662, 1677, 1559, 1681, | |
| 148962 | + /* 480 */ 1682, 1549, 1684, 1685, 1683, 1688, 1690, 1692, 1691, 1695, | |
| 148918 | 148963 | /* 490 */ 1694, 1585, 1698, 1705, 1617, 1696, 1707, 1596, 1709, 1697, |
| 148919 | - /* 500 */ 1702, 1704, 1711, 1652, 1675, 1663, 1708, 1676, 1659, 1714, | |
| 148920 | - /* 510 */ 1718, 1731, 1730, 1729, 1733, 1722, 1734, 1709, 1737, 1738, | |
| 148964 | + /* 500 */ 1702, 1704, 1711, 1652, 1675, 1658, 1708, 1676, 1656, 1714, | |
| 148965 | + /* 510 */ 1726, 1731, 1730, 1729, 1733, 1722, 1734, 1709, 1737, 1738, | |
| 148921 | 148966 | /* 520 */ 1742, 1743, 1741, 1745, 1747, 1759, 1749, 1750, 1752, 1753, |
| 148922 | - /* 530 */ 1751, 1755, 1757, 1656, 1653, 1654, 1655, 1657, 1769, 1778, | |
| 148923 | - /* 540 */ 1793, | |
| 148967 | + /* 530 */ 1751, 1755, 1757, 1660, 1653, 1655, 1657, 1661, 1761, 1777, | |
| 148968 | + /* 540 */ 1792, | |
| 148924 | 148969 | }; |
| 148925 | 148970 | #define YY_REDUCE_COUNT (383) |
| 148926 | -#define YY_REDUCE_MIN (-241) | |
| 148927 | -#define YY_REDUCE_MAX (1440) | |
| 148971 | +#define YY_REDUCE_MIN (-257) | |
| 148972 | +#define YY_REDUCE_MAX (1421) | |
| 148928 | 148973 | static const short yy_reduce_ofst[] = { |
| 148929 | - /* 0 */ -151, 181, -141, 376, 379, -149, -153, -75, -1, 227, | |
| 148930 | - /* 10 */ 273, 279, 232, -176, -133, -241, -179, 321, 349, 447, | |
| 148931 | - /* 20 */ 528, 373, 546, 590, 431, 470, 593, -163, 520, 564, | |
| 148932 | - /* 30 */ 624, 626, 246, 386, 539, 479, 536, 573, 576, 619, | |
| 148933 | - /* 40 */ 627, 634, -202, -202, -202, -202, -202, -202, -202, -202, | |
| 148934 | - /* 50 */ -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, | |
| 148935 | - /* 60 */ -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, | |
| 148936 | - /* 70 */ -202, -202, -202, -202, -202, -202, -202, 113, 137, 304, | |
| 148937 | - /* 80 */ 660, 665, 691, 714, 721, 741, 758, 760, 784, 787, | |
| 148938 | - /* 90 */ 807, 833, 836, 838, 861, 874, 876, 878, 880, 887, | |
| 148939 | - /* 100 */ 889, 891, 893, 903, 905, 907, 919, 921, 923, 930, | |
| 148940 | - /* 110 */ 932, 957, 959, 977, 1006, 1011, 1026, 1029, 1031, 1034, | |
| 148941 | - /* 120 */ 1046, 1057, 1059, 1061, -202, -202, -202, -202, -202, -202, | |
| 148942 | - /* 130 */ -202, -202, -202, 240, -172, -39, 139, 76, 235, 566, | |
| 148943 | - /* 140 */ -103, 487, -103, 487, 502, -202, -202, -202, -202, -171, | |
| 148944 | - /* 150 */ -171, -171, -134, -161, 110, 52, 274, -113, 678, 261, | |
| 148945 | - /* 160 */ 444, 384, 384, -162, 481, 618, 666, 495, 186, 236, | |
| 148946 | - /* 170 */ 730, 731, 672, 174, 674, 545, 757, 734, 769, 732, | |
| 148947 | - /* 180 */ 418, 830, 826, 879, 480, 667, 729, 427, 777, 809, | |
| 148948 | - /* 190 */ 608, 767, 812, 922, 839, 242, 855, 900, 390, -156, | |
| 148949 | - /* 200 */ -108, -104, -76, -83, 207, 260, 347, 570, 595, 724, | |
| 148950 | - /* 210 */ 738, 744, 768, 906, 916, 1014, 1064, 1091, 1098, 92, | |
| 148951 | - /* 220 */ 1113, 1130, 1133, 1155, 1158, 1159, 1160, 1161, 1162, 1163, | |
| 148952 | - /* 230 */ 1164, 1165, 448, 553, 971, 1166, 1178, 1179, 1180, 1069, | |
| 148953 | - /* 240 */ 1181, 1182, 1183, 1094, 1040, 1184, 1185, 1110, 1186, 260, | |
| 148954 | - /* 250 */ 1198, 1201, 1202, 1204, 1205, 1209, 1114, 1111, 1167, 1147, | |
| 148955 | - /* 260 */ 1149, 1151, 1152, 1069, 1167, 1167, 1168, 1193, 1216, 1118, | |
| 148956 | - /* 270 */ 1169, 1157, 1187, 1123, 1171, 1172, 1124, 1200, 1190, 1195, | |
| 148957 | - /* 280 */ 1222, 1223, 1224, 1188, 1173, 1175, 1148, 1218, 1219, 1227, | |
| 148958 | - /* 290 */ 1170, 1245, 1262, 1176, 1177, 1266, 1191, 1210, 1225, 1244, | |
| 148959 | - /* 300 */ 1250, 1260, 1274, 1275, 1276, 1292, 1297, 1269, 1270, 1251, | |
| 148960 | - /* 310 */ 1253, 1283, 1284, 1277, 1316, 1320, 1241, 1243, 1324, 1330, | |
| 148961 | - /* 320 */ 1313, 1334, 1336, 1337, 1339, 1317, 1325, 1326, 1327, 1323, | |
| 148962 | - /* 330 */ 1329, 1333, 1332, 1341, 1331, 1342, 1344, 1346, 1278, 1288, | |
| 148963 | - /* 340 */ 1349, 1312, 1315, 1318, 1328, 1319, 1347, 1322, 1348, 1373, | |
| 148964 | - /* 350 */ 1267, 1279, 1356, 1340, 1343, 1388, 1350, 1359, 1351, 1363, | |
| 148965 | - /* 360 */ 1367, 1391, 1410, 1430, 1431, 1428, 1429, 1435, 1352, 1353, | |
| 148966 | - /* 370 */ 1354, 1420, 1416, 1418, 1421, 1423, 1432, 1409, 1412, 1424, | |
| 148967 | - /* 380 */ 1433, 1439, 1440, 1436, | |
| 148974 | + /* 0 */ -168, -17, 164, 214, 310, -166, -184, -18, 98, -170, | |
| 148975 | + /* 10 */ 305, 315, -163, -193, -178, -257, 395, 401, 476, 478, | |
| 148976 | + /* 20 */ 512, 117, 527, 529, 503, 509, 532, 255, 552, 556, | |
| 148977 | + /* 30 */ 558, 607, 37, 408, 594, 413, 462, 559, 561, 601, | |
| 148978 | + /* 40 */ 610, 618, -254, -254, -254, -254, -254, -254, -254, -254, | |
| 148979 | + /* 50 */ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, | |
| 148980 | + /* 60 */ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, | |
| 148981 | + /* 70 */ -254, -254, -254, -254, -254, -254, -254, -111, 627, 650, | |
| 148982 | + /* 80 */ 691, 697, 701, 703, 740, 742, 744, 767, 770, 790, | |
| 148983 | + /* 90 */ 816, 818, 820, 822, 845, 857, 859, 861, 863, 865, | |
| 148984 | + /* 100 */ 868, 870, 872, 874, 876, 888, 903, 906, 908, 915, | |
| 148985 | + /* 110 */ 917, 922, 960, 962, 964, 988, 990, 992, 1015, 1017, | |
| 148986 | + /* 120 */ 1029, 1033, 1035, 1040, -254, -254, -254, -254, -254, -254, | |
| 148987 | + /* 130 */ -254, -254, -254, 190, 270, -196, 160, -160, 450, 647, | |
| 148988 | + /* 140 */ 260, 458, 260, 458, 78, -254, -254, -254, -254, 206, | |
| 148989 | + /* 150 */ 206, 206, 320, 598, -5, 675, 743, -148, 340, -125, | |
| 148990 | + /* 160 */ 459, 466, 466, 693, -93, 461, 479, 706, 710, 714, | |
| 148991 | + /* 170 */ 716, 717, 169, -183, 325, 314, 704, 333, 747, 858, | |
| 148992 | + /* 180 */ -8, 819, 565, 755, 646, 660, 517, 265, 713, 791, | |
| 148993 | + /* 190 */ 712, 795, 803, 918, 695, 860, 893, 935, 939, -181, | |
| 148994 | + /* 200 */ -172, -147, -91, -46, -3, 162, 173, 231, 338, 437, | |
| 148995 | + /* 210 */ 571, 614, 630, 651, 760, 931, 989, 1032, 1046, -218, | |
| 148996 | + /* 220 */ 38, 1070, 1096, 1133, 1134, 1137, 1138, 1139, 1141, 1142, | |
| 148997 | + /* 230 */ 1143, 1144, 292, 451, 1050, 1145, 1147, 1148, 1149, 813, | |
| 148998 | + /* 240 */ 1161, 1162, 1163, 1108, 1049, 1166, 1168, 1146, 1169, 162, | |
| 148999 | + /* 250 */ 1181, 1182, 1183, 1184, 1185, 1187, 1100, 1103, 1150, 1135, | |
| 149000 | + /* 260 */ 1136, 1140, 1152, 813, 1150, 1150, 1153, 1173, 1195, 1090, | |
| 149001 | + /* 270 */ 1154, 1167, 1170, 1104, 1155, 1156, 1109, 1172, 1174, 1179, | |
| 149002 | + /* 280 */ 1177, 1188, 1205, 1171, 1160, 1196, 1121, 1165, 1203, 1228, | |
| 149003 | + /* 290 */ 1157, 1244, 1245, 1158, 1159, 1250, 1175, 1193, 1191, 1241, | |
| 149004 | + /* 300 */ 1231, 1243, 1257, 1259, 1261, 1276, 1280, 1254, 1255, 1230, | |
| 149005 | + /* 310 */ 1234, 1269, 1270, 1260, 1292, 1303, 1223, 1225, 1309, 1313, | |
| 149006 | + /* 320 */ 1296, 1317, 1319, 1320, 1323, 1300, 1307, 1308, 1310, 1304, | |
| 149007 | + /* 330 */ 1311, 1315, 1314, 1318, 1316, 1321, 1325, 1324, 1271, 1272, | |
| 149008 | + /* 340 */ 1332, 1294, 1298, 1299, 1301, 1302, 1306, 1312, 1329, 1356, | |
| 149009 | + /* 350 */ 1256, 1263, 1327, 1326, 1305, 1369, 1330, 1340, 1343, 1346, | |
| 149010 | + /* 360 */ 1350, 1391, 1394, 1410, 1412, 1415, 1417, 1419, 1328, 1331, | |
| 149011 | + /* 370 */ 1335, 1402, 1398, 1400, 1401, 1403, 1408, 1396, 1397, 1409, | |
| 149012 | + /* 380 */ 1414, 1420, 1421, 1413, | |
| 148968 | 149013 | }; |
| 148969 | 149014 | static const YYACTIONTYPE yy_default[] = { |
| 148970 | 149015 | /* 0 */ 1536, 1536, 1536, 1376, 1159, 1265, 1159, 1159, 1159, 1376, |
| 148971 | 149016 | /* 10 */ 1376, 1376, 1159, 1295, 1295, 1429, 1190, 1159, 1159, 1159, |
| 148972 | 149017 | /* 20 */ 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1375, 1159, 1159, |
| @@ -149380,135 +149425,152 @@ | ||
| 149380 | 149425 | /* 154 */ "ALTER", |
| 149381 | 149426 | /* 155 */ "ADD", |
| 149382 | 149427 | /* 156 */ "WINDOW", |
| 149383 | 149428 | /* 157 */ "OVER", |
| 149384 | 149429 | /* 158 */ "FILTER", |
| 149385 | - /* 159 */ "input", | |
| 149386 | - /* 160 */ "cmdlist", | |
| 149387 | - /* 161 */ "ecmd", | |
| 149388 | - /* 162 */ "cmdx", | |
| 149389 | - /* 163 */ "explain", | |
| 149390 | - /* 164 */ "cmd", | |
| 149391 | - /* 165 */ "transtype", | |
| 149392 | - /* 166 */ "trans_opt", | |
| 149393 | - /* 167 */ "nm", | |
| 149394 | - /* 168 */ "savepoint_opt", | |
| 149395 | - /* 169 */ "create_table", | |
| 149396 | - /* 170 */ "create_table_args", | |
| 149397 | - /* 171 */ "createkw", | |
| 149398 | - /* 172 */ "temp", | |
| 149399 | - /* 173 */ "ifnotexists", | |
| 149400 | - /* 174 */ "dbnm", | |
| 149401 | - /* 175 */ "columnlist", | |
| 149402 | - /* 176 */ "conslist_opt", | |
| 149403 | - /* 177 */ "table_options", | |
| 149404 | - /* 178 */ "select", | |
| 149405 | - /* 179 */ "columnname", | |
| 149406 | - /* 180 */ "carglist", | |
| 149407 | - /* 181 */ "typetoken", | |
| 149408 | - /* 182 */ "typename", | |
| 149409 | - /* 183 */ "signed", | |
| 149410 | - /* 184 */ "plus_num", | |
| 149411 | - /* 185 */ "minus_num", | |
| 149412 | - /* 186 */ "scanpt", | |
| 149413 | - /* 187 */ "ccons", | |
| 149414 | - /* 188 */ "term", | |
| 149415 | - /* 189 */ "expr", | |
| 149416 | - /* 190 */ "onconf", | |
| 149417 | - /* 191 */ "sortorder", | |
| 149418 | - /* 192 */ "autoinc", | |
| 149419 | - /* 193 */ "eidlist_opt", | |
| 149420 | - /* 194 */ "refargs", | |
| 149421 | - /* 195 */ "defer_subclause", | |
| 149422 | - /* 196 */ "refarg", | |
| 149423 | - /* 197 */ "refact", | |
| 149424 | - /* 198 */ "init_deferred_pred_opt", | |
| 149425 | - /* 199 */ "conslist", | |
| 149426 | - /* 200 */ "tconscomma", | |
| 149427 | - /* 201 */ "tcons", | |
| 149428 | - /* 202 */ "sortlist", | |
| 149429 | - /* 203 */ "eidlist", | |
| 149430 | - /* 204 */ "defer_subclause_opt", | |
| 149431 | - /* 205 */ "orconf", | |
| 149432 | - /* 206 */ "resolvetype", | |
| 149433 | - /* 207 */ "raisetype", | |
| 149434 | - /* 208 */ "ifexists", | |
| 149435 | - /* 209 */ "fullname", | |
| 149436 | - /* 210 */ "selectnowith", | |
| 149437 | - /* 211 */ "oneselect", | |
| 149438 | - /* 212 */ "wqlist", | |
| 149439 | - /* 213 */ "multiselect_op", | |
| 149440 | - /* 214 */ "distinct", | |
| 149441 | - /* 215 */ "selcollist", | |
| 149442 | - /* 216 */ "from", | |
| 149443 | - /* 217 */ "where_opt", | |
| 149444 | - /* 218 */ "groupby_opt", | |
| 149445 | - /* 219 */ "having_opt", | |
| 149446 | - /* 220 */ "orderby_opt", | |
| 149447 | - /* 221 */ "limit_opt", | |
| 149448 | - /* 222 */ "window_clause", | |
| 149449 | - /* 223 */ "values", | |
| 149450 | - /* 224 */ "nexprlist", | |
| 149451 | - /* 225 */ "sclp", | |
| 149452 | - /* 226 */ "as", | |
| 149453 | - /* 227 */ "seltablist", | |
| 149454 | - /* 228 */ "stl_prefix", | |
| 149455 | - /* 229 */ "joinop", | |
| 149456 | - /* 230 */ "indexed_opt", | |
| 149457 | - /* 231 */ "on_opt", | |
| 149458 | - /* 232 */ "using_opt", | |
| 149459 | - /* 233 */ "exprlist", | |
| 149460 | - /* 234 */ "xfullname", | |
| 149461 | - /* 235 */ "idlist", | |
| 149462 | - /* 236 */ "with", | |
| 149463 | - /* 237 */ "setlist", | |
| 149464 | - /* 238 */ "insert_cmd", | |
| 149465 | - /* 239 */ "idlist_opt", | |
| 149466 | - /* 240 */ "upsert", | |
| 149467 | - /* 241 */ "over_clause", | |
| 149468 | - /* 242 */ "likeop", | |
| 149469 | - /* 243 */ "between_op", | |
| 149470 | - /* 244 */ "in_op", | |
| 149471 | - /* 245 */ "paren_exprlist", | |
| 149472 | - /* 246 */ "case_operand", | |
| 149473 | - /* 247 */ "case_exprlist", | |
| 149474 | - /* 248 */ "case_else", | |
| 149475 | - /* 249 */ "uniqueflag", | |
| 149476 | - /* 250 */ "collate", | |
| 149477 | - /* 251 */ "vinto", | |
| 149478 | - /* 252 */ "nmnum", | |
| 149479 | - /* 253 */ "trigger_decl", | |
| 149480 | - /* 254 */ "trigger_cmd_list", | |
| 149481 | - /* 255 */ "trigger_time", | |
| 149482 | - /* 256 */ "trigger_event", | |
| 149483 | - /* 257 */ "foreach_clause", | |
| 149484 | - /* 258 */ "when_clause", | |
| 149485 | - /* 259 */ "trigger_cmd", | |
| 149486 | - /* 260 */ "trnm", | |
| 149487 | - /* 261 */ "tridxby", | |
| 149488 | - /* 262 */ "database_kw_opt", | |
| 149489 | - /* 263 */ "key_opt", | |
| 149490 | - /* 264 */ "add_column_fullname", | |
| 149491 | - /* 265 */ "kwcolumn_opt", | |
| 149492 | - /* 266 */ "create_vtab", | |
| 149493 | - /* 267 */ "vtabarglist", | |
| 149494 | - /* 268 */ "vtabarg", | |
| 149495 | - /* 269 */ "vtabargtoken", | |
| 149496 | - /* 270 */ "lp", | |
| 149497 | - /* 271 */ "anylist", | |
| 149498 | - /* 272 */ "windowdefn_list", | |
| 149499 | - /* 273 */ "windowdefn", | |
| 149500 | - /* 274 */ "window", | |
| 149501 | - /* 275 */ "frame_opt", | |
| 149502 | - /* 276 */ "part_opt", | |
| 149503 | - /* 277 */ "filter_opt", | |
| 149504 | - /* 278 */ "range_or_rows", | |
| 149505 | - /* 279 */ "frame_bound", | |
| 149506 | - /* 280 */ "frame_bound_s", | |
| 149507 | - /* 281 */ "frame_bound_e", | |
| 149508 | - /* 282 */ "frame_exclude_opt", | |
| 149509 | - /* 283 */ "frame_exclude", | |
| 149430 | + /* 159 */ "TRUEFALSE", | |
| 149431 | + /* 160 */ "ISNOT", | |
| 149432 | + /* 161 */ "FUNCTION", | |
| 149433 | + /* 162 */ "COLUMN", | |
| 149434 | + /* 163 */ "AGG_FUNCTION", | |
| 149435 | + /* 164 */ "AGG_COLUMN", | |
| 149436 | + /* 165 */ "UMINUS", | |
| 149437 | + /* 166 */ "UPLUS", | |
| 149438 | + /* 167 */ "TRUTH", | |
| 149439 | + /* 168 */ "REGISTER", | |
| 149440 | + /* 169 */ "VECTOR", | |
| 149441 | + /* 170 */ "SELECT_COLUMN", | |
| 149442 | + /* 171 */ "IF_NULL_ROW", | |
| 149443 | + /* 172 */ "ASTERISK", | |
| 149444 | + /* 173 */ "SPAN", | |
| 149445 | + /* 174 */ "SPACE", | |
| 149446 | + /* 175 */ "ILLEGAL", | |
| 149447 | + /* 176 */ "input", | |
| 149448 | + /* 177 */ "cmdlist", | |
| 149449 | + /* 178 */ "ecmd", | |
| 149450 | + /* 179 */ "cmdx", | |
| 149451 | + /* 180 */ "explain", | |
| 149452 | + /* 181 */ "cmd", | |
| 149453 | + /* 182 */ "transtype", | |
| 149454 | + /* 183 */ "trans_opt", | |
| 149455 | + /* 184 */ "nm", | |
| 149456 | + /* 185 */ "savepoint_opt", | |
| 149457 | + /* 186 */ "create_table", | |
| 149458 | + /* 187 */ "create_table_args", | |
| 149459 | + /* 188 */ "createkw", | |
| 149460 | + /* 189 */ "temp", | |
| 149461 | + /* 190 */ "ifnotexists", | |
| 149462 | + /* 191 */ "dbnm", | |
| 149463 | + /* 192 */ "columnlist", | |
| 149464 | + /* 193 */ "conslist_opt", | |
| 149465 | + /* 194 */ "table_options", | |
| 149466 | + /* 195 */ "select", | |
| 149467 | + /* 196 */ "columnname", | |
| 149468 | + /* 197 */ "carglist", | |
| 149469 | + /* 198 */ "typetoken", | |
| 149470 | + /* 199 */ "typename", | |
| 149471 | + /* 200 */ "signed", | |
| 149472 | + /* 201 */ "plus_num", | |
| 149473 | + /* 202 */ "minus_num", | |
| 149474 | + /* 203 */ "scanpt", | |
| 149475 | + /* 204 */ "ccons", | |
| 149476 | + /* 205 */ "term", | |
| 149477 | + /* 206 */ "expr", | |
| 149478 | + /* 207 */ "onconf", | |
| 149479 | + /* 208 */ "sortorder", | |
| 149480 | + /* 209 */ "autoinc", | |
| 149481 | + /* 210 */ "eidlist_opt", | |
| 149482 | + /* 211 */ "refargs", | |
| 149483 | + /* 212 */ "defer_subclause", | |
| 149484 | + /* 213 */ "refarg", | |
| 149485 | + /* 214 */ "refact", | |
| 149486 | + /* 215 */ "init_deferred_pred_opt", | |
| 149487 | + /* 216 */ "conslist", | |
| 149488 | + /* 217 */ "tconscomma", | |
| 149489 | + /* 218 */ "tcons", | |
| 149490 | + /* 219 */ "sortlist", | |
| 149491 | + /* 220 */ "eidlist", | |
| 149492 | + /* 221 */ "defer_subclause_opt", | |
| 149493 | + /* 222 */ "orconf", | |
| 149494 | + /* 223 */ "resolvetype", | |
| 149495 | + /* 224 */ "raisetype", | |
| 149496 | + /* 225 */ "ifexists", | |
| 149497 | + /* 226 */ "fullname", | |
| 149498 | + /* 227 */ "selectnowith", | |
| 149499 | + /* 228 */ "oneselect", | |
| 149500 | + /* 229 */ "wqlist", | |
| 149501 | + /* 230 */ "multiselect_op", | |
| 149502 | + /* 231 */ "distinct", | |
| 149503 | + /* 232 */ "selcollist", | |
| 149504 | + /* 233 */ "from", | |
| 149505 | + /* 234 */ "where_opt", | |
| 149506 | + /* 235 */ "groupby_opt", | |
| 149507 | + /* 236 */ "having_opt", | |
| 149508 | + /* 237 */ "orderby_opt", | |
| 149509 | + /* 238 */ "limit_opt", | |
| 149510 | + /* 239 */ "window_clause", | |
| 149511 | + /* 240 */ "values", | |
| 149512 | + /* 241 */ "nexprlist", | |
| 149513 | + /* 242 */ "sclp", | |
| 149514 | + /* 243 */ "as", | |
| 149515 | + /* 244 */ "seltablist", | |
| 149516 | + /* 245 */ "stl_prefix", | |
| 149517 | + /* 246 */ "joinop", | |
| 149518 | + /* 247 */ "indexed_opt", | |
| 149519 | + /* 248 */ "on_opt", | |
| 149520 | + /* 249 */ "using_opt", | |
| 149521 | + /* 250 */ "exprlist", | |
| 149522 | + /* 251 */ "xfullname", | |
| 149523 | + /* 252 */ "idlist", | |
| 149524 | + /* 253 */ "with", | |
| 149525 | + /* 254 */ "setlist", | |
| 149526 | + /* 255 */ "insert_cmd", | |
| 149527 | + /* 256 */ "idlist_opt", | |
| 149528 | + /* 257 */ "upsert", | |
| 149529 | + /* 258 */ "over_clause", | |
| 149530 | + /* 259 */ "likeop", | |
| 149531 | + /* 260 */ "between_op", | |
| 149532 | + /* 261 */ "in_op", | |
| 149533 | + /* 262 */ "paren_exprlist", | |
| 149534 | + /* 263 */ "case_operand", | |
| 149535 | + /* 264 */ "case_exprlist", | |
| 149536 | + /* 265 */ "case_else", | |
| 149537 | + /* 266 */ "uniqueflag", | |
| 149538 | + /* 267 */ "collate", | |
| 149539 | + /* 268 */ "vinto", | |
| 149540 | + /* 269 */ "nmnum", | |
| 149541 | + /* 270 */ "trigger_decl", | |
| 149542 | + /* 271 */ "trigger_cmd_list", | |
| 149543 | + /* 272 */ "trigger_time", | |
| 149544 | + /* 273 */ "trigger_event", | |
| 149545 | + /* 274 */ "foreach_clause", | |
| 149546 | + /* 275 */ "when_clause", | |
| 149547 | + /* 276 */ "trigger_cmd", | |
| 149548 | + /* 277 */ "trnm", | |
| 149549 | + /* 278 */ "tridxby", | |
| 149550 | + /* 279 */ "database_kw_opt", | |
| 149551 | + /* 280 */ "key_opt", | |
| 149552 | + /* 281 */ "add_column_fullname", | |
| 149553 | + /* 282 */ "kwcolumn_opt", | |
| 149554 | + /* 283 */ "create_vtab", | |
| 149555 | + /* 284 */ "vtabarglist", | |
| 149556 | + /* 285 */ "vtabarg", | |
| 149557 | + /* 286 */ "vtabargtoken", | |
| 149558 | + /* 287 */ "lp", | |
| 149559 | + /* 288 */ "anylist", | |
| 149560 | + /* 289 */ "windowdefn_list", | |
| 149561 | + /* 290 */ "windowdefn", | |
| 149562 | + /* 291 */ "window", | |
| 149563 | + /* 292 */ "frame_opt", | |
| 149564 | + /* 293 */ "part_opt", | |
| 149565 | + /* 294 */ "filter_opt", | |
| 149566 | + /* 295 */ "range_or_rows", | |
| 149567 | + /* 296 */ "frame_bound", | |
| 149568 | + /* 297 */ "frame_bound_s", | |
| 149569 | + /* 298 */ "frame_bound_e", | |
| 149570 | + /* 299 */ "frame_exclude_opt", | |
| 149571 | + /* 300 */ "frame_exclude", | |
| 149510 | 149572 | }; |
| 149511 | 149573 | #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ |
| 149512 | 149574 | |
| 149513 | 149575 | #ifndef NDEBUG |
| 149514 | 149576 | /* For tracing reduce actions, the names of all rules are required. |
| @@ -150012,101 +150074,101 @@ | ||
| 150012 | 150074 | ** Note: during a reduce, the only symbols destroyed are those |
| 150013 | 150075 | ** which appear on the RHS of the rule, but which are *not* used |
| 150014 | 150076 | ** inside the C code. |
| 150015 | 150077 | */ |
| 150016 | 150078 | /********* Begin destructor definitions ***************************************/ |
| 150017 | - case 178: /* select */ | |
| 150018 | - case 210: /* selectnowith */ | |
| 150019 | - case 211: /* oneselect */ | |
| 150020 | - case 223: /* values */ | |
| 150021 | -{ | |
| 150022 | -sqlite3SelectDelete(pParse->db, (yypminor->yy491)); | |
| 150023 | -} | |
| 150024 | - break; | |
| 150025 | - case 188: /* term */ | |
| 150026 | - case 189: /* expr */ | |
| 150027 | - case 217: /* where_opt */ | |
| 150028 | - case 219: /* having_opt */ | |
| 150029 | - case 231: /* on_opt */ | |
| 150030 | - case 246: /* case_operand */ | |
| 150031 | - case 248: /* case_else */ | |
| 150032 | - case 251: /* vinto */ | |
| 150033 | - case 258: /* when_clause */ | |
| 150034 | - case 263: /* key_opt */ | |
| 150035 | - case 277: /* filter_opt */ | |
| 150036 | -{ | |
| 150037 | -sqlite3ExprDelete(pParse->db, (yypminor->yy130)); | |
| 150038 | -} | |
| 150039 | - break; | |
| 150040 | - case 193: /* eidlist_opt */ | |
| 150041 | - case 202: /* sortlist */ | |
| 150042 | - case 203: /* eidlist */ | |
| 150043 | - case 215: /* selcollist */ | |
| 150044 | - case 218: /* groupby_opt */ | |
| 150045 | - case 220: /* orderby_opt */ | |
| 150046 | - case 224: /* nexprlist */ | |
| 150047 | - case 225: /* sclp */ | |
| 150048 | - case 233: /* exprlist */ | |
| 150049 | - case 237: /* setlist */ | |
| 150050 | - case 245: /* paren_exprlist */ | |
| 150051 | - case 247: /* case_exprlist */ | |
| 150052 | - case 276: /* part_opt */ | |
| 150053 | -{ | |
| 150054 | -sqlite3ExprListDelete(pParse->db, (yypminor->yy442)); | |
| 150055 | -} | |
| 150056 | - break; | |
| 150057 | - case 209: /* fullname */ | |
| 150058 | - case 216: /* from */ | |
| 150059 | - case 227: /* seltablist */ | |
| 150060 | - case 228: /* stl_prefix */ | |
| 150061 | - case 234: /* xfullname */ | |
| 150062 | -{ | |
| 150063 | -sqlite3SrcListDelete(pParse->db, (yypminor->yy147)); | |
| 150064 | -} | |
| 150065 | - break; | |
| 150066 | - case 212: /* wqlist */ | |
| 150067 | -{ | |
| 150068 | -sqlite3WithDelete(pParse->db, (yypminor->yy523)); | |
| 150069 | -} | |
| 150070 | - break; | |
| 150071 | - case 222: /* window_clause */ | |
| 150072 | - case 272: /* windowdefn_list */ | |
| 150073 | -{ | |
| 150074 | -sqlite3WindowListDelete(pParse->db, (yypminor->yy395)); | |
| 150075 | -} | |
| 150076 | - break; | |
| 150077 | - case 232: /* using_opt */ | |
| 150078 | - case 235: /* idlist */ | |
| 150079 | - case 239: /* idlist_opt */ | |
| 150080 | -{ | |
| 150081 | -sqlite3IdListDelete(pParse->db, (yypminor->yy200)); | |
| 150082 | -} | |
| 150083 | - break; | |
| 150084 | - case 241: /* over_clause */ | |
| 150085 | - case 273: /* windowdefn */ | |
| 150086 | - case 274: /* window */ | |
| 150087 | - case 275: /* frame_opt */ | |
| 150088 | -{ | |
| 150089 | -sqlite3WindowDelete(pParse->db, (yypminor->yy395)); | |
| 150090 | -} | |
| 150091 | - break; | |
| 150092 | - case 254: /* trigger_cmd_list */ | |
| 150093 | - case 259: /* trigger_cmd */ | |
| 150094 | -{ | |
| 150095 | -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy524)); | |
| 150096 | -} | |
| 150097 | - break; | |
| 150098 | - case 256: /* trigger_event */ | |
| 150099 | -{ | |
| 150100 | -sqlite3IdListDelete(pParse->db, (yypminor->yy498).b); | |
| 150101 | -} | |
| 150102 | - break; | |
| 150103 | - case 279: /* frame_bound */ | |
| 150104 | - case 280: /* frame_bound_s */ | |
| 150105 | - case 281: /* frame_bound_e */ | |
| 150106 | -{ | |
| 150107 | -sqlite3ExprDelete(pParse->db, (yypminor->yy273).pExpr); | |
| 150079 | + case 195: /* select */ | |
| 150080 | + case 227: /* selectnowith */ | |
| 150081 | + case 228: /* oneselect */ | |
| 150082 | + case 240: /* values */ | |
| 150083 | +{ | |
| 150084 | +sqlite3SelectDelete(pParse->db, (yypminor->yy457)); | |
| 150085 | +} | |
| 150086 | + break; | |
| 150087 | + case 205: /* term */ | |
| 150088 | + case 206: /* expr */ | |
| 150089 | + case 234: /* where_opt */ | |
| 150090 | + case 236: /* having_opt */ | |
| 150091 | + case 248: /* on_opt */ | |
| 150092 | + case 263: /* case_operand */ | |
| 150093 | + case 265: /* case_else */ | |
| 150094 | + case 268: /* vinto */ | |
| 150095 | + case 275: /* when_clause */ | |
| 150096 | + case 280: /* key_opt */ | |
| 150097 | + case 294: /* filter_opt */ | |
| 150098 | +{ | |
| 150099 | +sqlite3ExprDelete(pParse->db, (yypminor->yy524)); | |
| 150100 | +} | |
| 150101 | + break; | |
| 150102 | + case 210: /* eidlist_opt */ | |
| 150103 | + case 219: /* sortlist */ | |
| 150104 | + case 220: /* eidlist */ | |
| 150105 | + case 232: /* selcollist */ | |
| 150106 | + case 235: /* groupby_opt */ | |
| 150107 | + case 237: /* orderby_opt */ | |
| 150108 | + case 241: /* nexprlist */ | |
| 150109 | + case 242: /* sclp */ | |
| 150110 | + case 250: /* exprlist */ | |
| 150111 | + case 254: /* setlist */ | |
| 150112 | + case 262: /* paren_exprlist */ | |
| 150113 | + case 264: /* case_exprlist */ | |
| 150114 | + case 293: /* part_opt */ | |
| 150115 | +{ | |
| 150116 | +sqlite3ExprListDelete(pParse->db, (yypminor->yy434)); | |
| 150117 | +} | |
| 150118 | + break; | |
| 150119 | + case 226: /* fullname */ | |
| 150120 | + case 233: /* from */ | |
| 150121 | + case 244: /* seltablist */ | |
| 150122 | + case 245: /* stl_prefix */ | |
| 150123 | + case 251: /* xfullname */ | |
| 150124 | +{ | |
| 150125 | +sqlite3SrcListDelete(pParse->db, (yypminor->yy483)); | |
| 150126 | +} | |
| 150127 | + break; | |
| 150128 | + case 229: /* wqlist */ | |
| 150129 | +{ | |
| 150130 | +sqlite3WithDelete(pParse->db, (yypminor->yy59)); | |
| 150131 | +} | |
| 150132 | + break; | |
| 150133 | + case 239: /* window_clause */ | |
| 150134 | + case 289: /* windowdefn_list */ | |
| 150135 | +{ | |
| 150136 | +sqlite3WindowListDelete(pParse->db, (yypminor->yy295)); | |
| 150137 | +} | |
| 150138 | + break; | |
| 150139 | + case 249: /* using_opt */ | |
| 150140 | + case 252: /* idlist */ | |
| 150141 | + case 256: /* idlist_opt */ | |
| 150142 | +{ | |
| 150143 | +sqlite3IdListDelete(pParse->db, (yypminor->yy62)); | |
| 150144 | +} | |
| 150145 | + break; | |
| 150146 | + case 258: /* over_clause */ | |
| 150147 | + case 290: /* windowdefn */ | |
| 150148 | + case 291: /* window */ | |
| 150149 | + case 292: /* frame_opt */ | |
| 150150 | +{ | |
| 150151 | +sqlite3WindowDelete(pParse->db, (yypminor->yy295)); | |
| 150152 | +} | |
| 150153 | + break; | |
| 150154 | + case 271: /* trigger_cmd_list */ | |
| 150155 | + case 276: /* trigger_cmd */ | |
| 150156 | +{ | |
| 150157 | +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy455)); | |
| 150158 | +} | |
| 150159 | + break; | |
| 150160 | + case 273: /* trigger_event */ | |
| 150161 | +{ | |
| 150162 | +sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); | |
| 150163 | +} | |
| 150164 | + break; | |
| 150165 | + case 296: /* frame_bound */ | |
| 150166 | + case 297: /* frame_bound_s */ | |
| 150167 | + case 298: /* frame_bound_e */ | |
| 150168 | +{ | |
| 150169 | +sqlite3ExprDelete(pParse->db, (yypminor->yy201).pExpr); | |
| 150108 | 150170 | } |
| 150109 | 150171 | break; |
| 150110 | 150172 | /********* End destructor definitions *****************************************/ |
| 150111 | 150173 | default: break; /* If no destructor action specified: do nothing */ |
| 150112 | 150174 | } |
| @@ -150397,385 +150459,385 @@ | ||
| 150397 | 150459 | } |
| 150398 | 150460 | |
| 150399 | 150461 | /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side |
| 150400 | 150462 | ** of that rule */ |
| 150401 | 150463 | static const YYCODETYPE yyRuleInfoLhs[] = { |
| 150402 | - 163, /* (0) explain ::= EXPLAIN */ | |
| 150403 | - 163, /* (1) explain ::= EXPLAIN QUERY PLAN */ | |
| 150404 | - 162, /* (2) cmdx ::= cmd */ | |
| 150405 | - 164, /* (3) cmd ::= BEGIN transtype trans_opt */ | |
| 150406 | - 165, /* (4) transtype ::= */ | |
| 150407 | - 165, /* (5) transtype ::= DEFERRED */ | |
| 150408 | - 165, /* (6) transtype ::= IMMEDIATE */ | |
| 150409 | - 165, /* (7) transtype ::= EXCLUSIVE */ | |
| 150410 | - 164, /* (8) cmd ::= COMMIT|END trans_opt */ | |
| 150411 | - 164, /* (9) cmd ::= ROLLBACK trans_opt */ | |
| 150412 | - 164, /* (10) cmd ::= SAVEPOINT nm */ | |
| 150413 | - 164, /* (11) cmd ::= RELEASE savepoint_opt nm */ | |
| 150414 | - 164, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ | |
| 150415 | - 169, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ | |
| 150416 | - 171, /* (14) createkw ::= CREATE */ | |
| 150417 | - 173, /* (15) ifnotexists ::= */ | |
| 150418 | - 173, /* (16) ifnotexists ::= IF NOT EXISTS */ | |
| 150419 | - 172, /* (17) temp ::= TEMP */ | |
| 150420 | - 172, /* (18) temp ::= */ | |
| 150421 | - 170, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_options */ | |
| 150422 | - 170, /* (20) create_table_args ::= AS select */ | |
| 150423 | - 177, /* (21) table_options ::= */ | |
| 150424 | - 177, /* (22) table_options ::= WITHOUT nm */ | |
| 150425 | - 179, /* (23) columnname ::= nm typetoken */ | |
| 150426 | - 181, /* (24) typetoken ::= */ | |
| 150427 | - 181, /* (25) typetoken ::= typename LP signed RP */ | |
| 150428 | - 181, /* (26) typetoken ::= typename LP signed COMMA signed RP */ | |
| 150429 | - 182, /* (27) typename ::= typename ID|STRING */ | |
| 150430 | - 186, /* (28) scanpt ::= */ | |
| 150431 | - 187, /* (29) ccons ::= CONSTRAINT nm */ | |
| 150432 | - 187, /* (30) ccons ::= DEFAULT scanpt term scanpt */ | |
| 150433 | - 187, /* (31) ccons ::= DEFAULT LP expr RP */ | |
| 150434 | - 187, /* (32) ccons ::= DEFAULT PLUS term scanpt */ | |
| 150435 | - 187, /* (33) ccons ::= DEFAULT MINUS term scanpt */ | |
| 150436 | - 187, /* (34) ccons ::= DEFAULT scanpt ID|INDEXED */ | |
| 150437 | - 187, /* (35) ccons ::= NOT NULL onconf */ | |
| 150438 | - 187, /* (36) ccons ::= PRIMARY KEY sortorder onconf autoinc */ | |
| 150439 | - 187, /* (37) ccons ::= UNIQUE onconf */ | |
| 150440 | - 187, /* (38) ccons ::= CHECK LP expr RP */ | |
| 150441 | - 187, /* (39) ccons ::= REFERENCES nm eidlist_opt refargs */ | |
| 150442 | - 187, /* (40) ccons ::= defer_subclause */ | |
| 150443 | - 187, /* (41) ccons ::= COLLATE ID|STRING */ | |
| 150444 | - 192, /* (42) autoinc ::= */ | |
| 150445 | - 192, /* (43) autoinc ::= AUTOINCR */ | |
| 150446 | - 194, /* (44) refargs ::= */ | |
| 150447 | - 194, /* (45) refargs ::= refargs refarg */ | |
| 150448 | - 196, /* (46) refarg ::= MATCH nm */ | |
| 150449 | - 196, /* (47) refarg ::= ON INSERT refact */ | |
| 150450 | - 196, /* (48) refarg ::= ON DELETE refact */ | |
| 150451 | - 196, /* (49) refarg ::= ON UPDATE refact */ | |
| 150452 | - 197, /* (50) refact ::= SET NULL */ | |
| 150453 | - 197, /* (51) refact ::= SET DEFAULT */ | |
| 150454 | - 197, /* (52) refact ::= CASCADE */ | |
| 150455 | - 197, /* (53) refact ::= RESTRICT */ | |
| 150456 | - 197, /* (54) refact ::= NO ACTION */ | |
| 150457 | - 195, /* (55) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ | |
| 150458 | - 195, /* (56) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ | |
| 150459 | - 198, /* (57) init_deferred_pred_opt ::= */ | |
| 150460 | - 198, /* (58) init_deferred_pred_opt ::= INITIALLY DEFERRED */ | |
| 150461 | - 198, /* (59) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ | |
| 150462 | - 176, /* (60) conslist_opt ::= */ | |
| 150463 | - 200, /* (61) tconscomma ::= COMMA */ | |
| 150464 | - 201, /* (62) tcons ::= CONSTRAINT nm */ | |
| 150465 | - 201, /* (63) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ | |
| 150466 | - 201, /* (64) tcons ::= UNIQUE LP sortlist RP onconf */ | |
| 150467 | - 201, /* (65) tcons ::= CHECK LP expr RP onconf */ | |
| 150468 | - 201, /* (66) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ | |
| 150469 | - 204, /* (67) defer_subclause_opt ::= */ | |
| 150470 | - 190, /* (68) onconf ::= */ | |
| 150471 | - 190, /* (69) onconf ::= ON CONFLICT resolvetype */ | |
| 150472 | - 205, /* (70) orconf ::= */ | |
| 150473 | - 205, /* (71) orconf ::= OR resolvetype */ | |
| 150474 | - 206, /* (72) resolvetype ::= IGNORE */ | |
| 150475 | - 206, /* (73) resolvetype ::= REPLACE */ | |
| 150476 | - 164, /* (74) cmd ::= DROP TABLE ifexists fullname */ | |
| 150477 | - 208, /* (75) ifexists ::= IF EXISTS */ | |
| 150478 | - 208, /* (76) ifexists ::= */ | |
| 150479 | - 164, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ | |
| 150480 | - 164, /* (78) cmd ::= DROP VIEW ifexists fullname */ | |
| 150481 | - 164, /* (79) cmd ::= select */ | |
| 150482 | - 178, /* (80) select ::= WITH wqlist selectnowith */ | |
| 150483 | - 178, /* (81) select ::= WITH RECURSIVE wqlist selectnowith */ | |
| 150484 | - 178, /* (82) select ::= selectnowith */ | |
| 150485 | - 210, /* (83) selectnowith ::= selectnowith multiselect_op oneselect */ | |
| 150486 | - 213, /* (84) multiselect_op ::= UNION */ | |
| 150487 | - 213, /* (85) multiselect_op ::= UNION ALL */ | |
| 150488 | - 213, /* (86) multiselect_op ::= EXCEPT|INTERSECT */ | |
| 150489 | - 211, /* (87) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ | |
| 150490 | - 211, /* (88) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ | |
| 150491 | - 223, /* (89) values ::= VALUES LP nexprlist RP */ | |
| 150492 | - 223, /* (90) values ::= values COMMA LP nexprlist RP */ | |
| 150493 | - 214, /* (91) distinct ::= DISTINCT */ | |
| 150494 | - 214, /* (92) distinct ::= ALL */ | |
| 150495 | - 214, /* (93) distinct ::= */ | |
| 150496 | - 225, /* (94) sclp ::= */ | |
| 150497 | - 215, /* (95) selcollist ::= sclp scanpt expr scanpt as */ | |
| 150498 | - 215, /* (96) selcollist ::= sclp scanpt STAR */ | |
| 150499 | - 215, /* (97) selcollist ::= sclp scanpt nm DOT STAR */ | |
| 150500 | - 226, /* (98) as ::= AS nm */ | |
| 150501 | - 226, /* (99) as ::= */ | |
| 150502 | - 216, /* (100) from ::= */ | |
| 150503 | - 216, /* (101) from ::= FROM seltablist */ | |
| 150504 | - 228, /* (102) stl_prefix ::= seltablist joinop */ | |
| 150505 | - 228, /* (103) stl_prefix ::= */ | |
| 150506 | - 227, /* (104) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ | |
| 150507 | - 227, /* (105) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ | |
| 150508 | - 227, /* (106) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ | |
| 150509 | - 227, /* (107) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ | |
| 150510 | - 174, /* (108) dbnm ::= */ | |
| 150511 | - 174, /* (109) dbnm ::= DOT nm */ | |
| 150512 | - 209, /* (110) fullname ::= nm */ | |
| 150513 | - 209, /* (111) fullname ::= nm DOT nm */ | |
| 150514 | - 234, /* (112) xfullname ::= nm */ | |
| 150515 | - 234, /* (113) xfullname ::= nm DOT nm */ | |
| 150516 | - 234, /* (114) xfullname ::= nm DOT nm AS nm */ | |
| 150517 | - 234, /* (115) xfullname ::= nm AS nm */ | |
| 150518 | - 229, /* (116) joinop ::= COMMA|JOIN */ | |
| 150519 | - 229, /* (117) joinop ::= JOIN_KW JOIN */ | |
| 150520 | - 229, /* (118) joinop ::= JOIN_KW nm JOIN */ | |
| 150521 | - 229, /* (119) joinop ::= JOIN_KW nm nm JOIN */ | |
| 150522 | - 231, /* (120) on_opt ::= ON expr */ | |
| 150523 | - 231, /* (121) on_opt ::= */ | |
| 150524 | - 230, /* (122) indexed_opt ::= */ | |
| 150525 | - 230, /* (123) indexed_opt ::= INDEXED BY nm */ | |
| 150526 | - 230, /* (124) indexed_opt ::= NOT INDEXED */ | |
| 150527 | - 232, /* (125) using_opt ::= USING LP idlist RP */ | |
| 150528 | - 232, /* (126) using_opt ::= */ | |
| 150529 | - 220, /* (127) orderby_opt ::= */ | |
| 150530 | - 220, /* (128) orderby_opt ::= ORDER BY sortlist */ | |
| 150531 | - 202, /* (129) sortlist ::= sortlist COMMA expr sortorder */ | |
| 150532 | - 202, /* (130) sortlist ::= expr sortorder */ | |
| 150533 | - 191, /* (131) sortorder ::= ASC */ | |
| 150534 | - 191, /* (132) sortorder ::= DESC */ | |
| 150535 | - 191, /* (133) sortorder ::= */ | |
| 150536 | - 218, /* (134) groupby_opt ::= */ | |
| 150537 | - 218, /* (135) groupby_opt ::= GROUP BY nexprlist */ | |
| 150538 | - 219, /* (136) having_opt ::= */ | |
| 150539 | - 219, /* (137) having_opt ::= HAVING expr */ | |
| 150540 | - 221, /* (138) limit_opt ::= */ | |
| 150541 | - 221, /* (139) limit_opt ::= LIMIT expr */ | |
| 150542 | - 221, /* (140) limit_opt ::= LIMIT expr OFFSET expr */ | |
| 150543 | - 221, /* (141) limit_opt ::= LIMIT expr COMMA expr */ | |
| 150544 | - 164, /* (142) cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ | |
| 150545 | - 217, /* (143) where_opt ::= */ | |
| 150546 | - 217, /* (144) where_opt ::= WHERE expr */ | |
| 150547 | - 164, /* (145) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ | |
| 150548 | - 237, /* (146) setlist ::= setlist COMMA nm EQ expr */ | |
| 150549 | - 237, /* (147) setlist ::= setlist COMMA LP idlist RP EQ expr */ | |
| 150550 | - 237, /* (148) setlist ::= nm EQ expr */ | |
| 150551 | - 237, /* (149) setlist ::= LP idlist RP EQ expr */ | |
| 150552 | - 164, /* (150) cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ | |
| 150553 | - 164, /* (151) cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ | |
| 150554 | - 240, /* (152) upsert ::= */ | |
| 150555 | - 240, /* (153) upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ | |
| 150556 | - 240, /* (154) upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ | |
| 150557 | - 240, /* (155) upsert ::= ON CONFLICT DO NOTHING */ | |
| 150558 | - 238, /* (156) insert_cmd ::= INSERT orconf */ | |
| 150559 | - 238, /* (157) insert_cmd ::= REPLACE */ | |
| 150560 | - 239, /* (158) idlist_opt ::= */ | |
| 150561 | - 239, /* (159) idlist_opt ::= LP idlist RP */ | |
| 150562 | - 235, /* (160) idlist ::= idlist COMMA nm */ | |
| 150563 | - 235, /* (161) idlist ::= nm */ | |
| 150564 | - 189, /* (162) expr ::= LP expr RP */ | |
| 150565 | - 189, /* (163) expr ::= ID|INDEXED */ | |
| 150566 | - 189, /* (164) expr ::= JOIN_KW */ | |
| 150567 | - 189, /* (165) expr ::= nm DOT nm */ | |
| 150568 | - 189, /* (166) expr ::= nm DOT nm DOT nm */ | |
| 150569 | - 188, /* (167) term ::= NULL|FLOAT|BLOB */ | |
| 150570 | - 188, /* (168) term ::= STRING */ | |
| 150571 | - 188, /* (169) term ::= INTEGER */ | |
| 150572 | - 189, /* (170) expr ::= VARIABLE */ | |
| 150573 | - 189, /* (171) expr ::= expr COLLATE ID|STRING */ | |
| 150574 | - 189, /* (172) expr ::= CAST LP expr AS typetoken RP */ | |
| 150575 | - 189, /* (173) expr ::= ID|INDEXED LP distinct exprlist RP */ | |
| 150576 | - 189, /* (174) expr ::= ID|INDEXED LP STAR RP */ | |
| 150577 | - 189, /* (175) expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ | |
| 150578 | - 189, /* (176) expr ::= ID|INDEXED LP STAR RP over_clause */ | |
| 150579 | - 188, /* (177) term ::= CTIME_KW */ | |
| 150580 | - 189, /* (178) expr ::= LP nexprlist COMMA expr RP */ | |
| 150581 | - 189, /* (179) expr ::= expr AND expr */ | |
| 150582 | - 189, /* (180) expr ::= expr OR expr */ | |
| 150583 | - 189, /* (181) expr ::= expr LT|GT|GE|LE expr */ | |
| 150584 | - 189, /* (182) expr ::= expr EQ|NE expr */ | |
| 150585 | - 189, /* (183) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ | |
| 150586 | - 189, /* (184) expr ::= expr PLUS|MINUS expr */ | |
| 150587 | - 189, /* (185) expr ::= expr STAR|SLASH|REM expr */ | |
| 150588 | - 189, /* (186) expr ::= expr CONCAT expr */ | |
| 150589 | - 242, /* (187) likeop ::= NOT LIKE_KW|MATCH */ | |
| 150590 | - 189, /* (188) expr ::= expr likeop expr */ | |
| 150591 | - 189, /* (189) expr ::= expr likeop expr ESCAPE expr */ | |
| 150592 | - 189, /* (190) expr ::= expr ISNULL|NOTNULL */ | |
| 150593 | - 189, /* (191) expr ::= expr NOT NULL */ | |
| 150594 | - 189, /* (192) expr ::= expr IS expr */ | |
| 150595 | - 189, /* (193) expr ::= expr IS NOT expr */ | |
| 150596 | - 189, /* (194) expr ::= NOT expr */ | |
| 150597 | - 189, /* (195) expr ::= BITNOT expr */ | |
| 150598 | - 189, /* (196) expr ::= PLUS|MINUS expr */ | |
| 150599 | - 243, /* (197) between_op ::= BETWEEN */ | |
| 150600 | - 243, /* (198) between_op ::= NOT BETWEEN */ | |
| 150601 | - 189, /* (199) expr ::= expr between_op expr AND expr */ | |
| 150602 | - 244, /* (200) in_op ::= IN */ | |
| 150603 | - 244, /* (201) in_op ::= NOT IN */ | |
| 150604 | - 189, /* (202) expr ::= expr in_op LP exprlist RP */ | |
| 150605 | - 189, /* (203) expr ::= LP select RP */ | |
| 150606 | - 189, /* (204) expr ::= expr in_op LP select RP */ | |
| 150607 | - 189, /* (205) expr ::= expr in_op nm dbnm paren_exprlist */ | |
| 150608 | - 189, /* (206) expr ::= EXISTS LP select RP */ | |
| 150609 | - 189, /* (207) expr ::= CASE case_operand case_exprlist case_else END */ | |
| 150610 | - 247, /* (208) case_exprlist ::= case_exprlist WHEN expr THEN expr */ | |
| 150611 | - 247, /* (209) case_exprlist ::= WHEN expr THEN expr */ | |
| 150612 | - 248, /* (210) case_else ::= ELSE expr */ | |
| 150613 | - 248, /* (211) case_else ::= */ | |
| 150614 | - 246, /* (212) case_operand ::= expr */ | |
| 150615 | - 246, /* (213) case_operand ::= */ | |
| 150616 | - 233, /* (214) exprlist ::= */ | |
| 150617 | - 224, /* (215) nexprlist ::= nexprlist COMMA expr */ | |
| 150618 | - 224, /* (216) nexprlist ::= expr */ | |
| 150619 | - 245, /* (217) paren_exprlist ::= */ | |
| 150620 | - 245, /* (218) paren_exprlist ::= LP exprlist RP */ | |
| 150621 | - 164, /* (219) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ | |
| 150622 | - 249, /* (220) uniqueflag ::= UNIQUE */ | |
| 150623 | - 249, /* (221) uniqueflag ::= */ | |
| 150624 | - 193, /* (222) eidlist_opt ::= */ | |
| 150625 | - 193, /* (223) eidlist_opt ::= LP eidlist RP */ | |
| 150626 | - 203, /* (224) eidlist ::= eidlist COMMA nm collate sortorder */ | |
| 150627 | - 203, /* (225) eidlist ::= nm collate sortorder */ | |
| 150628 | - 250, /* (226) collate ::= */ | |
| 150629 | - 250, /* (227) collate ::= COLLATE ID|STRING */ | |
| 150630 | - 164, /* (228) cmd ::= DROP INDEX ifexists fullname */ | |
| 150631 | - 164, /* (229) cmd ::= VACUUM vinto */ | |
| 150632 | - 164, /* (230) cmd ::= VACUUM nm vinto */ | |
| 150633 | - 251, /* (231) vinto ::= INTO expr */ | |
| 150634 | - 251, /* (232) vinto ::= */ | |
| 150635 | - 164, /* (233) cmd ::= PRAGMA nm dbnm */ | |
| 150636 | - 164, /* (234) cmd ::= PRAGMA nm dbnm EQ nmnum */ | |
| 150637 | - 164, /* (235) cmd ::= PRAGMA nm dbnm LP nmnum RP */ | |
| 150638 | - 164, /* (236) cmd ::= PRAGMA nm dbnm EQ minus_num */ | |
| 150639 | - 164, /* (237) cmd ::= PRAGMA nm dbnm LP minus_num RP */ | |
| 150640 | - 184, /* (238) plus_num ::= PLUS INTEGER|FLOAT */ | |
| 150641 | - 185, /* (239) minus_num ::= MINUS INTEGER|FLOAT */ | |
| 150642 | - 164, /* (240) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ | |
| 150643 | - 253, /* (241) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ | |
| 150644 | - 255, /* (242) trigger_time ::= BEFORE|AFTER */ | |
| 150645 | - 255, /* (243) trigger_time ::= INSTEAD OF */ | |
| 150646 | - 255, /* (244) trigger_time ::= */ | |
| 150647 | - 256, /* (245) trigger_event ::= DELETE|INSERT */ | |
| 150648 | - 256, /* (246) trigger_event ::= UPDATE */ | |
| 150649 | - 256, /* (247) trigger_event ::= UPDATE OF idlist */ | |
| 150650 | - 258, /* (248) when_clause ::= */ | |
| 150651 | - 258, /* (249) when_clause ::= WHEN expr */ | |
| 150652 | - 254, /* (250) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ | |
| 150653 | - 254, /* (251) trigger_cmd_list ::= trigger_cmd SEMI */ | |
| 150654 | - 260, /* (252) trnm ::= nm DOT nm */ | |
| 150655 | - 261, /* (253) tridxby ::= INDEXED BY nm */ | |
| 150656 | - 261, /* (254) tridxby ::= NOT INDEXED */ | |
| 150657 | - 259, /* (255) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ | |
| 150658 | - 259, /* (256) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ | |
| 150659 | - 259, /* (257) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ | |
| 150660 | - 259, /* (258) trigger_cmd ::= scanpt select scanpt */ | |
| 150661 | - 189, /* (259) expr ::= RAISE LP IGNORE RP */ | |
| 150662 | - 189, /* (260) expr ::= RAISE LP raisetype COMMA nm RP */ | |
| 150663 | - 207, /* (261) raisetype ::= ROLLBACK */ | |
| 150664 | - 207, /* (262) raisetype ::= ABORT */ | |
| 150665 | - 207, /* (263) raisetype ::= FAIL */ | |
| 150666 | - 164, /* (264) cmd ::= DROP TRIGGER ifexists fullname */ | |
| 150667 | - 164, /* (265) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ | |
| 150668 | - 164, /* (266) cmd ::= DETACH database_kw_opt expr */ | |
| 150669 | - 263, /* (267) key_opt ::= */ | |
| 150670 | - 263, /* (268) key_opt ::= KEY expr */ | |
| 150671 | - 164, /* (269) cmd ::= REINDEX */ | |
| 150672 | - 164, /* (270) cmd ::= REINDEX nm dbnm */ | |
| 150673 | - 164, /* (271) cmd ::= ANALYZE */ | |
| 150674 | - 164, /* (272) cmd ::= ANALYZE nm dbnm */ | |
| 150675 | - 164, /* (273) cmd ::= ALTER TABLE fullname RENAME TO nm */ | |
| 150676 | - 164, /* (274) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ | |
| 150677 | - 264, /* (275) add_column_fullname ::= fullname */ | |
| 150678 | - 164, /* (276) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ | |
| 150679 | - 164, /* (277) cmd ::= create_vtab */ | |
| 150680 | - 164, /* (278) cmd ::= create_vtab LP vtabarglist RP */ | |
| 150681 | - 266, /* (279) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ | |
| 150682 | - 268, /* (280) vtabarg ::= */ | |
| 150683 | - 269, /* (281) vtabargtoken ::= ANY */ | |
| 150684 | - 269, /* (282) vtabargtoken ::= lp anylist RP */ | |
| 150685 | - 270, /* (283) lp ::= LP */ | |
| 150686 | - 236, /* (284) with ::= WITH wqlist */ | |
| 150687 | - 236, /* (285) with ::= WITH RECURSIVE wqlist */ | |
| 150688 | - 212, /* (286) wqlist ::= nm eidlist_opt AS LP select RP */ | |
| 150689 | - 212, /* (287) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ | |
| 150690 | - 272, /* (288) windowdefn_list ::= windowdefn */ | |
| 150691 | - 272, /* (289) windowdefn_list ::= windowdefn_list COMMA windowdefn */ | |
| 150692 | - 273, /* (290) windowdefn ::= nm AS LP window RP */ | |
| 150693 | - 274, /* (291) window ::= PARTITION BY nexprlist orderby_opt frame_opt */ | |
| 150694 | - 274, /* (292) window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ | |
| 150695 | - 274, /* (293) window ::= ORDER BY sortlist frame_opt */ | |
| 150696 | - 274, /* (294) window ::= nm ORDER BY sortlist frame_opt */ | |
| 150697 | - 274, /* (295) window ::= frame_opt */ | |
| 150698 | - 274, /* (296) window ::= nm frame_opt */ | |
| 150699 | - 275, /* (297) frame_opt ::= */ | |
| 150700 | - 275, /* (298) frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ | |
| 150701 | - 275, /* (299) frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ | |
| 150702 | - 278, /* (300) range_or_rows ::= RANGE|ROWS|GROUPS */ | |
| 150703 | - 280, /* (301) frame_bound_s ::= frame_bound */ | |
| 150704 | - 280, /* (302) frame_bound_s ::= UNBOUNDED PRECEDING */ | |
| 150705 | - 281, /* (303) frame_bound_e ::= frame_bound */ | |
| 150706 | - 281, /* (304) frame_bound_e ::= UNBOUNDED FOLLOWING */ | |
| 150707 | - 279, /* (305) frame_bound ::= expr PRECEDING|FOLLOWING */ | |
| 150708 | - 279, /* (306) frame_bound ::= CURRENT ROW */ | |
| 150709 | - 282, /* (307) frame_exclude_opt ::= */ | |
| 150710 | - 282, /* (308) frame_exclude_opt ::= EXCLUDE frame_exclude */ | |
| 150711 | - 283, /* (309) frame_exclude ::= NO OTHERS */ | |
| 150712 | - 283, /* (310) frame_exclude ::= CURRENT ROW */ | |
| 150713 | - 283, /* (311) frame_exclude ::= GROUP|TIES */ | |
| 150714 | - 222, /* (312) window_clause ::= WINDOW windowdefn_list */ | |
| 150715 | - 241, /* (313) over_clause ::= filter_opt OVER LP window RP */ | |
| 150716 | - 241, /* (314) over_clause ::= filter_opt OVER nm */ | |
| 150717 | - 277, /* (315) filter_opt ::= */ | |
| 150718 | - 277, /* (316) filter_opt ::= FILTER LP WHERE expr RP */ | |
| 150719 | - 159, /* (317) input ::= cmdlist */ | |
| 150720 | - 160, /* (318) cmdlist ::= cmdlist ecmd */ | |
| 150721 | - 160, /* (319) cmdlist ::= ecmd */ | |
| 150722 | - 161, /* (320) ecmd ::= SEMI */ | |
| 150723 | - 161, /* (321) ecmd ::= cmdx SEMI */ | |
| 150724 | - 161, /* (322) ecmd ::= explain cmdx */ | |
| 150725 | - 166, /* (323) trans_opt ::= */ | |
| 150726 | - 166, /* (324) trans_opt ::= TRANSACTION */ | |
| 150727 | - 166, /* (325) trans_opt ::= TRANSACTION nm */ | |
| 150728 | - 168, /* (326) savepoint_opt ::= SAVEPOINT */ | |
| 150729 | - 168, /* (327) savepoint_opt ::= */ | |
| 150730 | - 164, /* (328) cmd ::= create_table create_table_args */ | |
| 150731 | - 175, /* (329) columnlist ::= columnlist COMMA columnname carglist */ | |
| 150732 | - 175, /* (330) columnlist ::= columnname carglist */ | |
| 150733 | - 167, /* (331) nm ::= ID|INDEXED */ | |
| 150734 | - 167, /* (332) nm ::= STRING */ | |
| 150735 | - 167, /* (333) nm ::= JOIN_KW */ | |
| 150736 | - 181, /* (334) typetoken ::= typename */ | |
| 150737 | - 182, /* (335) typename ::= ID|STRING */ | |
| 150738 | - 183, /* (336) signed ::= plus_num */ | |
| 150739 | - 183, /* (337) signed ::= minus_num */ | |
| 150740 | - 180, /* (338) carglist ::= carglist ccons */ | |
| 150741 | - 180, /* (339) carglist ::= */ | |
| 150742 | - 187, /* (340) ccons ::= NULL onconf */ | |
| 150743 | - 176, /* (341) conslist_opt ::= COMMA conslist */ | |
| 150744 | - 199, /* (342) conslist ::= conslist tconscomma tcons */ | |
| 150745 | - 199, /* (343) conslist ::= tcons */ | |
| 150746 | - 200, /* (344) tconscomma ::= */ | |
| 150747 | - 204, /* (345) defer_subclause_opt ::= defer_subclause */ | |
| 150748 | - 206, /* (346) resolvetype ::= raisetype */ | |
| 150749 | - 210, /* (347) selectnowith ::= oneselect */ | |
| 150750 | - 211, /* (348) oneselect ::= values */ | |
| 150751 | - 225, /* (349) sclp ::= selcollist COMMA */ | |
| 150752 | - 226, /* (350) as ::= ID|STRING */ | |
| 150753 | - 189, /* (351) expr ::= term */ | |
| 150754 | - 242, /* (352) likeop ::= LIKE_KW|MATCH */ | |
| 150755 | - 233, /* (353) exprlist ::= nexprlist */ | |
| 150756 | - 252, /* (354) nmnum ::= plus_num */ | |
| 150757 | - 252, /* (355) nmnum ::= nm */ | |
| 150758 | - 252, /* (356) nmnum ::= ON */ | |
| 150759 | - 252, /* (357) nmnum ::= DELETE */ | |
| 150760 | - 252, /* (358) nmnum ::= DEFAULT */ | |
| 150761 | - 184, /* (359) plus_num ::= INTEGER|FLOAT */ | |
| 150762 | - 257, /* (360) foreach_clause ::= */ | |
| 150763 | - 257, /* (361) foreach_clause ::= FOR EACH ROW */ | |
| 150764 | - 260, /* (362) trnm ::= nm */ | |
| 150765 | - 261, /* (363) tridxby ::= */ | |
| 150766 | - 262, /* (364) database_kw_opt ::= DATABASE */ | |
| 150767 | - 262, /* (365) database_kw_opt ::= */ | |
| 150768 | - 265, /* (366) kwcolumn_opt ::= */ | |
| 150769 | - 265, /* (367) kwcolumn_opt ::= COLUMNKW */ | |
| 150770 | - 267, /* (368) vtabarglist ::= vtabarg */ | |
| 150771 | - 267, /* (369) vtabarglist ::= vtabarglist COMMA vtabarg */ | |
| 150772 | - 268, /* (370) vtabarg ::= vtabarg vtabargtoken */ | |
| 150773 | - 271, /* (371) anylist ::= */ | |
| 150774 | - 271, /* (372) anylist ::= anylist LP anylist RP */ | |
| 150775 | - 271, /* (373) anylist ::= anylist ANY */ | |
| 150776 | - 236, /* (374) with ::= */ | |
| 150464 | + 180, /* (0) explain ::= EXPLAIN */ | |
| 150465 | + 180, /* (1) explain ::= EXPLAIN QUERY PLAN */ | |
| 150466 | + 179, /* (2) cmdx ::= cmd */ | |
| 150467 | + 181, /* (3) cmd ::= BEGIN transtype trans_opt */ | |
| 150468 | + 182, /* (4) transtype ::= */ | |
| 150469 | + 182, /* (5) transtype ::= DEFERRED */ | |
| 150470 | + 182, /* (6) transtype ::= IMMEDIATE */ | |
| 150471 | + 182, /* (7) transtype ::= EXCLUSIVE */ | |
| 150472 | + 181, /* (8) cmd ::= COMMIT|END trans_opt */ | |
| 150473 | + 181, /* (9) cmd ::= ROLLBACK trans_opt */ | |
| 150474 | + 181, /* (10) cmd ::= SAVEPOINT nm */ | |
| 150475 | + 181, /* (11) cmd ::= RELEASE savepoint_opt nm */ | |
| 150476 | + 181, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ | |
| 150477 | + 186, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ | |
| 150478 | + 188, /* (14) createkw ::= CREATE */ | |
| 150479 | + 190, /* (15) ifnotexists ::= */ | |
| 150480 | + 190, /* (16) ifnotexists ::= IF NOT EXISTS */ | |
| 150481 | + 189, /* (17) temp ::= TEMP */ | |
| 150482 | + 189, /* (18) temp ::= */ | |
| 150483 | + 187, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_options */ | |
| 150484 | + 187, /* (20) create_table_args ::= AS select */ | |
| 150485 | + 194, /* (21) table_options ::= */ | |
| 150486 | + 194, /* (22) table_options ::= WITHOUT nm */ | |
| 150487 | + 196, /* (23) columnname ::= nm typetoken */ | |
| 150488 | + 198, /* (24) typetoken ::= */ | |
| 150489 | + 198, /* (25) typetoken ::= typename LP signed RP */ | |
| 150490 | + 198, /* (26) typetoken ::= typename LP signed COMMA signed RP */ | |
| 150491 | + 199, /* (27) typename ::= typename ID|STRING */ | |
| 150492 | + 203, /* (28) scanpt ::= */ | |
| 150493 | + 204, /* (29) ccons ::= CONSTRAINT nm */ | |
| 150494 | + 204, /* (30) ccons ::= DEFAULT scanpt term scanpt */ | |
| 150495 | + 204, /* (31) ccons ::= DEFAULT LP expr RP */ | |
| 150496 | + 204, /* (32) ccons ::= DEFAULT PLUS term scanpt */ | |
| 150497 | + 204, /* (33) ccons ::= DEFAULT MINUS term scanpt */ | |
| 150498 | + 204, /* (34) ccons ::= DEFAULT scanpt ID|INDEXED */ | |
| 150499 | + 204, /* (35) ccons ::= NOT NULL onconf */ | |
| 150500 | + 204, /* (36) ccons ::= PRIMARY KEY sortorder onconf autoinc */ | |
| 150501 | + 204, /* (37) ccons ::= UNIQUE onconf */ | |
| 150502 | + 204, /* (38) ccons ::= CHECK LP expr RP */ | |
| 150503 | + 204, /* (39) ccons ::= REFERENCES nm eidlist_opt refargs */ | |
| 150504 | + 204, /* (40) ccons ::= defer_subclause */ | |
| 150505 | + 204, /* (41) ccons ::= COLLATE ID|STRING */ | |
| 150506 | + 209, /* (42) autoinc ::= */ | |
| 150507 | + 209, /* (43) autoinc ::= AUTOINCR */ | |
| 150508 | + 211, /* (44) refargs ::= */ | |
| 150509 | + 211, /* (45) refargs ::= refargs refarg */ | |
| 150510 | + 213, /* (46) refarg ::= MATCH nm */ | |
| 150511 | + 213, /* (47) refarg ::= ON INSERT refact */ | |
| 150512 | + 213, /* (48) refarg ::= ON DELETE refact */ | |
| 150513 | + 213, /* (49) refarg ::= ON UPDATE refact */ | |
| 150514 | + 214, /* (50) refact ::= SET NULL */ | |
| 150515 | + 214, /* (51) refact ::= SET DEFAULT */ | |
| 150516 | + 214, /* (52) refact ::= CASCADE */ | |
| 150517 | + 214, /* (53) refact ::= RESTRICT */ | |
| 150518 | + 214, /* (54) refact ::= NO ACTION */ | |
| 150519 | + 212, /* (55) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ | |
| 150520 | + 212, /* (56) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ | |
| 150521 | + 215, /* (57) init_deferred_pred_opt ::= */ | |
| 150522 | + 215, /* (58) init_deferred_pred_opt ::= INITIALLY DEFERRED */ | |
| 150523 | + 215, /* (59) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ | |
| 150524 | + 193, /* (60) conslist_opt ::= */ | |
| 150525 | + 217, /* (61) tconscomma ::= COMMA */ | |
| 150526 | + 218, /* (62) tcons ::= CONSTRAINT nm */ | |
| 150527 | + 218, /* (63) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ | |
| 150528 | + 218, /* (64) tcons ::= UNIQUE LP sortlist RP onconf */ | |
| 150529 | + 218, /* (65) tcons ::= CHECK LP expr RP onconf */ | |
| 150530 | + 218, /* (66) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ | |
| 150531 | + 221, /* (67) defer_subclause_opt ::= */ | |
| 150532 | + 207, /* (68) onconf ::= */ | |
| 150533 | + 207, /* (69) onconf ::= ON CONFLICT resolvetype */ | |
| 150534 | + 222, /* (70) orconf ::= */ | |
| 150535 | + 222, /* (71) orconf ::= OR resolvetype */ | |
| 150536 | + 223, /* (72) resolvetype ::= IGNORE */ | |
| 150537 | + 223, /* (73) resolvetype ::= REPLACE */ | |
| 150538 | + 181, /* (74) cmd ::= DROP TABLE ifexists fullname */ | |
| 150539 | + 225, /* (75) ifexists ::= IF EXISTS */ | |
| 150540 | + 225, /* (76) ifexists ::= */ | |
| 150541 | + 181, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ | |
| 150542 | + 181, /* (78) cmd ::= DROP VIEW ifexists fullname */ | |
| 150543 | + 181, /* (79) cmd ::= select */ | |
| 150544 | + 195, /* (80) select ::= WITH wqlist selectnowith */ | |
| 150545 | + 195, /* (81) select ::= WITH RECURSIVE wqlist selectnowith */ | |
| 150546 | + 195, /* (82) select ::= selectnowith */ | |
| 150547 | + 227, /* (83) selectnowith ::= selectnowith multiselect_op oneselect */ | |
| 150548 | + 230, /* (84) multiselect_op ::= UNION */ | |
| 150549 | + 230, /* (85) multiselect_op ::= UNION ALL */ | |
| 150550 | + 230, /* (86) multiselect_op ::= EXCEPT|INTERSECT */ | |
| 150551 | + 228, /* (87) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ | |
| 150552 | + 228, /* (88) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ | |
| 150553 | + 240, /* (89) values ::= VALUES LP nexprlist RP */ | |
| 150554 | + 240, /* (90) values ::= values COMMA LP nexprlist RP */ | |
| 150555 | + 231, /* (91) distinct ::= DISTINCT */ | |
| 150556 | + 231, /* (92) distinct ::= ALL */ | |
| 150557 | + 231, /* (93) distinct ::= */ | |
| 150558 | + 242, /* (94) sclp ::= */ | |
| 150559 | + 232, /* (95) selcollist ::= sclp scanpt expr scanpt as */ | |
| 150560 | + 232, /* (96) selcollist ::= sclp scanpt STAR */ | |
| 150561 | + 232, /* (97) selcollist ::= sclp scanpt nm DOT STAR */ | |
| 150562 | + 243, /* (98) as ::= AS nm */ | |
| 150563 | + 243, /* (99) as ::= */ | |
| 150564 | + 233, /* (100) from ::= */ | |
| 150565 | + 233, /* (101) from ::= FROM seltablist */ | |
| 150566 | + 245, /* (102) stl_prefix ::= seltablist joinop */ | |
| 150567 | + 245, /* (103) stl_prefix ::= */ | |
| 150568 | + 244, /* (104) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ | |
| 150569 | + 244, /* (105) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ | |
| 150570 | + 244, /* (106) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ | |
| 150571 | + 244, /* (107) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ | |
| 150572 | + 191, /* (108) dbnm ::= */ | |
| 150573 | + 191, /* (109) dbnm ::= DOT nm */ | |
| 150574 | + 226, /* (110) fullname ::= nm */ | |
| 150575 | + 226, /* (111) fullname ::= nm DOT nm */ | |
| 150576 | + 251, /* (112) xfullname ::= nm */ | |
| 150577 | + 251, /* (113) xfullname ::= nm DOT nm */ | |
| 150578 | + 251, /* (114) xfullname ::= nm DOT nm AS nm */ | |
| 150579 | + 251, /* (115) xfullname ::= nm AS nm */ | |
| 150580 | + 246, /* (116) joinop ::= COMMA|JOIN */ | |
| 150581 | + 246, /* (117) joinop ::= JOIN_KW JOIN */ | |
| 150582 | + 246, /* (118) joinop ::= JOIN_KW nm JOIN */ | |
| 150583 | + 246, /* (119) joinop ::= JOIN_KW nm nm JOIN */ | |
| 150584 | + 248, /* (120) on_opt ::= ON expr */ | |
| 150585 | + 248, /* (121) on_opt ::= */ | |
| 150586 | + 247, /* (122) indexed_opt ::= */ | |
| 150587 | + 247, /* (123) indexed_opt ::= INDEXED BY nm */ | |
| 150588 | + 247, /* (124) indexed_opt ::= NOT INDEXED */ | |
| 150589 | + 249, /* (125) using_opt ::= USING LP idlist RP */ | |
| 150590 | + 249, /* (126) using_opt ::= */ | |
| 150591 | + 237, /* (127) orderby_opt ::= */ | |
| 150592 | + 237, /* (128) orderby_opt ::= ORDER BY sortlist */ | |
| 150593 | + 219, /* (129) sortlist ::= sortlist COMMA expr sortorder */ | |
| 150594 | + 219, /* (130) sortlist ::= expr sortorder */ | |
| 150595 | + 208, /* (131) sortorder ::= ASC */ | |
| 150596 | + 208, /* (132) sortorder ::= DESC */ | |
| 150597 | + 208, /* (133) sortorder ::= */ | |
| 150598 | + 235, /* (134) groupby_opt ::= */ | |
| 150599 | + 235, /* (135) groupby_opt ::= GROUP BY nexprlist */ | |
| 150600 | + 236, /* (136) having_opt ::= */ | |
| 150601 | + 236, /* (137) having_opt ::= HAVING expr */ | |
| 150602 | + 238, /* (138) limit_opt ::= */ | |
| 150603 | + 238, /* (139) limit_opt ::= LIMIT expr */ | |
| 150604 | + 238, /* (140) limit_opt ::= LIMIT expr OFFSET expr */ | |
| 150605 | + 238, /* (141) limit_opt ::= LIMIT expr COMMA expr */ | |
| 150606 | + 181, /* (142) cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ | |
| 150607 | + 234, /* (143) where_opt ::= */ | |
| 150608 | + 234, /* (144) where_opt ::= WHERE expr */ | |
| 150609 | + 181, /* (145) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ | |
| 150610 | + 254, /* (146) setlist ::= setlist COMMA nm EQ expr */ | |
| 150611 | + 254, /* (147) setlist ::= setlist COMMA LP idlist RP EQ expr */ | |
| 150612 | + 254, /* (148) setlist ::= nm EQ expr */ | |
| 150613 | + 254, /* (149) setlist ::= LP idlist RP EQ expr */ | |
| 150614 | + 181, /* (150) cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ | |
| 150615 | + 181, /* (151) cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ | |
| 150616 | + 257, /* (152) upsert ::= */ | |
| 150617 | + 257, /* (153) upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ | |
| 150618 | + 257, /* (154) upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ | |
| 150619 | + 257, /* (155) upsert ::= ON CONFLICT DO NOTHING */ | |
| 150620 | + 255, /* (156) insert_cmd ::= INSERT orconf */ | |
| 150621 | + 255, /* (157) insert_cmd ::= REPLACE */ | |
| 150622 | + 256, /* (158) idlist_opt ::= */ | |
| 150623 | + 256, /* (159) idlist_opt ::= LP idlist RP */ | |
| 150624 | + 252, /* (160) idlist ::= idlist COMMA nm */ | |
| 150625 | + 252, /* (161) idlist ::= nm */ | |
| 150626 | + 206, /* (162) expr ::= LP expr RP */ | |
| 150627 | + 206, /* (163) expr ::= ID|INDEXED */ | |
| 150628 | + 206, /* (164) expr ::= JOIN_KW */ | |
| 150629 | + 206, /* (165) expr ::= nm DOT nm */ | |
| 150630 | + 206, /* (166) expr ::= nm DOT nm DOT nm */ | |
| 150631 | + 205, /* (167) term ::= NULL|FLOAT|BLOB */ | |
| 150632 | + 205, /* (168) term ::= STRING */ | |
| 150633 | + 205, /* (169) term ::= INTEGER */ | |
| 150634 | + 206, /* (170) expr ::= VARIABLE */ | |
| 150635 | + 206, /* (171) expr ::= expr COLLATE ID|STRING */ | |
| 150636 | + 206, /* (172) expr ::= CAST LP expr AS typetoken RP */ | |
| 150637 | + 206, /* (173) expr ::= ID|INDEXED LP distinct exprlist RP */ | |
| 150638 | + 206, /* (174) expr ::= ID|INDEXED LP STAR RP */ | |
| 150639 | + 206, /* (175) expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ | |
| 150640 | + 206, /* (176) expr ::= ID|INDEXED LP STAR RP over_clause */ | |
| 150641 | + 205, /* (177) term ::= CTIME_KW */ | |
| 150642 | + 206, /* (178) expr ::= LP nexprlist COMMA expr RP */ | |
| 150643 | + 206, /* (179) expr ::= expr AND expr */ | |
| 150644 | + 206, /* (180) expr ::= expr OR expr */ | |
| 150645 | + 206, /* (181) expr ::= expr LT|GT|GE|LE expr */ | |
| 150646 | + 206, /* (182) expr ::= expr EQ|NE expr */ | |
| 150647 | + 206, /* (183) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ | |
| 150648 | + 206, /* (184) expr ::= expr PLUS|MINUS expr */ | |
| 150649 | + 206, /* (185) expr ::= expr STAR|SLASH|REM expr */ | |
| 150650 | + 206, /* (186) expr ::= expr CONCAT expr */ | |
| 150651 | + 259, /* (187) likeop ::= NOT LIKE_KW|MATCH */ | |
| 150652 | + 206, /* (188) expr ::= expr likeop expr */ | |
| 150653 | + 206, /* (189) expr ::= expr likeop expr ESCAPE expr */ | |
| 150654 | + 206, /* (190) expr ::= expr ISNULL|NOTNULL */ | |
| 150655 | + 206, /* (191) expr ::= expr NOT NULL */ | |
| 150656 | + 206, /* (192) expr ::= expr IS expr */ | |
| 150657 | + 206, /* (193) expr ::= expr IS NOT expr */ | |
| 150658 | + 206, /* (194) expr ::= NOT expr */ | |
| 150659 | + 206, /* (195) expr ::= BITNOT expr */ | |
| 150660 | + 206, /* (196) expr ::= PLUS|MINUS expr */ | |
| 150661 | + 260, /* (197) between_op ::= BETWEEN */ | |
| 150662 | + 260, /* (198) between_op ::= NOT BETWEEN */ | |
| 150663 | + 206, /* (199) expr ::= expr between_op expr AND expr */ | |
| 150664 | + 261, /* (200) in_op ::= IN */ | |
| 150665 | + 261, /* (201) in_op ::= NOT IN */ | |
| 150666 | + 206, /* (202) expr ::= expr in_op LP exprlist RP */ | |
| 150667 | + 206, /* (203) expr ::= LP select RP */ | |
| 150668 | + 206, /* (204) expr ::= expr in_op LP select RP */ | |
| 150669 | + 206, /* (205) expr ::= expr in_op nm dbnm paren_exprlist */ | |
| 150670 | + 206, /* (206) expr ::= EXISTS LP select RP */ | |
| 150671 | + 206, /* (207) expr ::= CASE case_operand case_exprlist case_else END */ | |
| 150672 | + 264, /* (208) case_exprlist ::= case_exprlist WHEN expr THEN expr */ | |
| 150673 | + 264, /* (209) case_exprlist ::= WHEN expr THEN expr */ | |
| 150674 | + 265, /* (210) case_else ::= ELSE expr */ | |
| 150675 | + 265, /* (211) case_else ::= */ | |
| 150676 | + 263, /* (212) case_operand ::= expr */ | |
| 150677 | + 263, /* (213) case_operand ::= */ | |
| 150678 | + 250, /* (214) exprlist ::= */ | |
| 150679 | + 241, /* (215) nexprlist ::= nexprlist COMMA expr */ | |
| 150680 | + 241, /* (216) nexprlist ::= expr */ | |
| 150681 | + 262, /* (217) paren_exprlist ::= */ | |
| 150682 | + 262, /* (218) paren_exprlist ::= LP exprlist RP */ | |
| 150683 | + 181, /* (219) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ | |
| 150684 | + 266, /* (220) uniqueflag ::= UNIQUE */ | |
| 150685 | + 266, /* (221) uniqueflag ::= */ | |
| 150686 | + 210, /* (222) eidlist_opt ::= */ | |
| 150687 | + 210, /* (223) eidlist_opt ::= LP eidlist RP */ | |
| 150688 | + 220, /* (224) eidlist ::= eidlist COMMA nm collate sortorder */ | |
| 150689 | + 220, /* (225) eidlist ::= nm collate sortorder */ | |
| 150690 | + 267, /* (226) collate ::= */ | |
| 150691 | + 267, /* (227) collate ::= COLLATE ID|STRING */ | |
| 150692 | + 181, /* (228) cmd ::= DROP INDEX ifexists fullname */ | |
| 150693 | + 181, /* (229) cmd ::= VACUUM vinto */ | |
| 150694 | + 181, /* (230) cmd ::= VACUUM nm vinto */ | |
| 150695 | + 268, /* (231) vinto ::= INTO expr */ | |
| 150696 | + 268, /* (232) vinto ::= */ | |
| 150697 | + 181, /* (233) cmd ::= PRAGMA nm dbnm */ | |
| 150698 | + 181, /* (234) cmd ::= PRAGMA nm dbnm EQ nmnum */ | |
| 150699 | + 181, /* (235) cmd ::= PRAGMA nm dbnm LP nmnum RP */ | |
| 150700 | + 181, /* (236) cmd ::= PRAGMA nm dbnm EQ minus_num */ | |
| 150701 | + 181, /* (237) cmd ::= PRAGMA nm dbnm LP minus_num RP */ | |
| 150702 | + 201, /* (238) plus_num ::= PLUS INTEGER|FLOAT */ | |
| 150703 | + 202, /* (239) minus_num ::= MINUS INTEGER|FLOAT */ | |
| 150704 | + 181, /* (240) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ | |
| 150705 | + 270, /* (241) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ | |
| 150706 | + 272, /* (242) trigger_time ::= BEFORE|AFTER */ | |
| 150707 | + 272, /* (243) trigger_time ::= INSTEAD OF */ | |
| 150708 | + 272, /* (244) trigger_time ::= */ | |
| 150709 | + 273, /* (245) trigger_event ::= DELETE|INSERT */ | |
| 150710 | + 273, /* (246) trigger_event ::= UPDATE */ | |
| 150711 | + 273, /* (247) trigger_event ::= UPDATE OF idlist */ | |
| 150712 | + 275, /* (248) when_clause ::= */ | |
| 150713 | + 275, /* (249) when_clause ::= WHEN expr */ | |
| 150714 | + 271, /* (250) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ | |
| 150715 | + 271, /* (251) trigger_cmd_list ::= trigger_cmd SEMI */ | |
| 150716 | + 277, /* (252) trnm ::= nm DOT nm */ | |
| 150717 | + 278, /* (253) tridxby ::= INDEXED BY nm */ | |
| 150718 | + 278, /* (254) tridxby ::= NOT INDEXED */ | |
| 150719 | + 276, /* (255) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ | |
| 150720 | + 276, /* (256) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ | |
| 150721 | + 276, /* (257) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ | |
| 150722 | + 276, /* (258) trigger_cmd ::= scanpt select scanpt */ | |
| 150723 | + 206, /* (259) expr ::= RAISE LP IGNORE RP */ | |
| 150724 | + 206, /* (260) expr ::= RAISE LP raisetype COMMA nm RP */ | |
| 150725 | + 224, /* (261) raisetype ::= ROLLBACK */ | |
| 150726 | + 224, /* (262) raisetype ::= ABORT */ | |
| 150727 | + 224, /* (263) raisetype ::= FAIL */ | |
| 150728 | + 181, /* (264) cmd ::= DROP TRIGGER ifexists fullname */ | |
| 150729 | + 181, /* (265) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ | |
| 150730 | + 181, /* (266) cmd ::= DETACH database_kw_opt expr */ | |
| 150731 | + 280, /* (267) key_opt ::= */ | |
| 150732 | + 280, /* (268) key_opt ::= KEY expr */ | |
| 150733 | + 181, /* (269) cmd ::= REINDEX */ | |
| 150734 | + 181, /* (270) cmd ::= REINDEX nm dbnm */ | |
| 150735 | + 181, /* (271) cmd ::= ANALYZE */ | |
| 150736 | + 181, /* (272) cmd ::= ANALYZE nm dbnm */ | |
| 150737 | + 181, /* (273) cmd ::= ALTER TABLE fullname RENAME TO nm */ | |
| 150738 | + 181, /* (274) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ | |
| 150739 | + 281, /* (275) add_column_fullname ::= fullname */ | |
| 150740 | + 181, /* (276) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ | |
| 150741 | + 181, /* (277) cmd ::= create_vtab */ | |
| 150742 | + 181, /* (278) cmd ::= create_vtab LP vtabarglist RP */ | |
| 150743 | + 283, /* (279) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ | |
| 150744 | + 285, /* (280) vtabarg ::= */ | |
| 150745 | + 286, /* (281) vtabargtoken ::= ANY */ | |
| 150746 | + 286, /* (282) vtabargtoken ::= lp anylist RP */ | |
| 150747 | + 287, /* (283) lp ::= LP */ | |
| 150748 | + 253, /* (284) with ::= WITH wqlist */ | |
| 150749 | + 253, /* (285) with ::= WITH RECURSIVE wqlist */ | |
| 150750 | + 229, /* (286) wqlist ::= nm eidlist_opt AS LP select RP */ | |
| 150751 | + 229, /* (287) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ | |
| 150752 | + 289, /* (288) windowdefn_list ::= windowdefn */ | |
| 150753 | + 289, /* (289) windowdefn_list ::= windowdefn_list COMMA windowdefn */ | |
| 150754 | + 290, /* (290) windowdefn ::= nm AS LP window RP */ | |
| 150755 | + 291, /* (291) window ::= PARTITION BY nexprlist orderby_opt frame_opt */ | |
| 150756 | + 291, /* (292) window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ | |
| 150757 | + 291, /* (293) window ::= ORDER BY sortlist frame_opt */ | |
| 150758 | + 291, /* (294) window ::= nm ORDER BY sortlist frame_opt */ | |
| 150759 | + 291, /* (295) window ::= frame_opt */ | |
| 150760 | + 291, /* (296) window ::= nm frame_opt */ | |
| 150761 | + 292, /* (297) frame_opt ::= */ | |
| 150762 | + 292, /* (298) frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ | |
| 150763 | + 292, /* (299) frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ | |
| 150764 | + 295, /* (300) range_or_rows ::= RANGE|ROWS|GROUPS */ | |
| 150765 | + 297, /* (301) frame_bound_s ::= frame_bound */ | |
| 150766 | + 297, /* (302) frame_bound_s ::= UNBOUNDED PRECEDING */ | |
| 150767 | + 298, /* (303) frame_bound_e ::= frame_bound */ | |
| 150768 | + 298, /* (304) frame_bound_e ::= UNBOUNDED FOLLOWING */ | |
| 150769 | + 296, /* (305) frame_bound ::= expr PRECEDING|FOLLOWING */ | |
| 150770 | + 296, /* (306) frame_bound ::= CURRENT ROW */ | |
| 150771 | + 299, /* (307) frame_exclude_opt ::= */ | |
| 150772 | + 299, /* (308) frame_exclude_opt ::= EXCLUDE frame_exclude */ | |
| 150773 | + 300, /* (309) frame_exclude ::= NO OTHERS */ | |
| 150774 | + 300, /* (310) frame_exclude ::= CURRENT ROW */ | |
| 150775 | + 300, /* (311) frame_exclude ::= GROUP|TIES */ | |
| 150776 | + 239, /* (312) window_clause ::= WINDOW windowdefn_list */ | |
| 150777 | + 258, /* (313) over_clause ::= filter_opt OVER LP window RP */ | |
| 150778 | + 258, /* (314) over_clause ::= filter_opt OVER nm */ | |
| 150779 | + 294, /* (315) filter_opt ::= */ | |
| 150780 | + 294, /* (316) filter_opt ::= FILTER LP WHERE expr RP */ | |
| 150781 | + 176, /* (317) input ::= cmdlist */ | |
| 150782 | + 177, /* (318) cmdlist ::= cmdlist ecmd */ | |
| 150783 | + 177, /* (319) cmdlist ::= ecmd */ | |
| 150784 | + 178, /* (320) ecmd ::= SEMI */ | |
| 150785 | + 178, /* (321) ecmd ::= cmdx SEMI */ | |
| 150786 | + 178, /* (322) ecmd ::= explain cmdx */ | |
| 150787 | + 183, /* (323) trans_opt ::= */ | |
| 150788 | + 183, /* (324) trans_opt ::= TRANSACTION */ | |
| 150789 | + 183, /* (325) trans_opt ::= TRANSACTION nm */ | |
| 150790 | + 185, /* (326) savepoint_opt ::= SAVEPOINT */ | |
| 150791 | + 185, /* (327) savepoint_opt ::= */ | |
| 150792 | + 181, /* (328) cmd ::= create_table create_table_args */ | |
| 150793 | + 192, /* (329) columnlist ::= columnlist COMMA columnname carglist */ | |
| 150794 | + 192, /* (330) columnlist ::= columnname carglist */ | |
| 150795 | + 184, /* (331) nm ::= ID|INDEXED */ | |
| 150796 | + 184, /* (332) nm ::= STRING */ | |
| 150797 | + 184, /* (333) nm ::= JOIN_KW */ | |
| 150798 | + 198, /* (334) typetoken ::= typename */ | |
| 150799 | + 199, /* (335) typename ::= ID|STRING */ | |
| 150800 | + 200, /* (336) signed ::= plus_num */ | |
| 150801 | + 200, /* (337) signed ::= minus_num */ | |
| 150802 | + 197, /* (338) carglist ::= carglist ccons */ | |
| 150803 | + 197, /* (339) carglist ::= */ | |
| 150804 | + 204, /* (340) ccons ::= NULL onconf */ | |
| 150805 | + 193, /* (341) conslist_opt ::= COMMA conslist */ | |
| 150806 | + 216, /* (342) conslist ::= conslist tconscomma tcons */ | |
| 150807 | + 216, /* (343) conslist ::= tcons */ | |
| 150808 | + 217, /* (344) tconscomma ::= */ | |
| 150809 | + 221, /* (345) defer_subclause_opt ::= defer_subclause */ | |
| 150810 | + 223, /* (346) resolvetype ::= raisetype */ | |
| 150811 | + 227, /* (347) selectnowith ::= oneselect */ | |
| 150812 | + 228, /* (348) oneselect ::= values */ | |
| 150813 | + 242, /* (349) sclp ::= selcollist COMMA */ | |
| 150814 | + 243, /* (350) as ::= ID|STRING */ | |
| 150815 | + 206, /* (351) expr ::= term */ | |
| 150816 | + 259, /* (352) likeop ::= LIKE_KW|MATCH */ | |
| 150817 | + 250, /* (353) exprlist ::= nexprlist */ | |
| 150818 | + 269, /* (354) nmnum ::= plus_num */ | |
| 150819 | + 269, /* (355) nmnum ::= nm */ | |
| 150820 | + 269, /* (356) nmnum ::= ON */ | |
| 150821 | + 269, /* (357) nmnum ::= DELETE */ | |
| 150822 | + 269, /* (358) nmnum ::= DEFAULT */ | |
| 150823 | + 201, /* (359) plus_num ::= INTEGER|FLOAT */ | |
| 150824 | + 274, /* (360) foreach_clause ::= */ | |
| 150825 | + 274, /* (361) foreach_clause ::= FOR EACH ROW */ | |
| 150826 | + 277, /* (362) trnm ::= nm */ | |
| 150827 | + 278, /* (363) tridxby ::= */ | |
| 150828 | + 279, /* (364) database_kw_opt ::= DATABASE */ | |
| 150829 | + 279, /* (365) database_kw_opt ::= */ | |
| 150830 | + 282, /* (366) kwcolumn_opt ::= */ | |
| 150831 | + 282, /* (367) kwcolumn_opt ::= COLUMNKW */ | |
| 150832 | + 284, /* (368) vtabarglist ::= vtabarg */ | |
| 150833 | + 284, /* (369) vtabarglist ::= vtabarglist COMMA vtabarg */ | |
| 150834 | + 285, /* (370) vtabarg ::= vtabarg vtabargtoken */ | |
| 150835 | + 288, /* (371) anylist ::= */ | |
| 150836 | + 288, /* (372) anylist ::= anylist LP anylist RP */ | |
| 150837 | + 288, /* (373) anylist ::= anylist ANY */ | |
| 150838 | + 253, /* (374) with ::= */ | |
| 150777 | 150839 | }; |
| 150778 | 150840 | |
| 150779 | 150841 | /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number |
| 150780 | 150842 | ** of symbols on the right-hand side of that rule. */ |
| 150781 | 150843 | static const signed char yyRuleInfoNRhs[] = { |
| @@ -151248,20 +151310,20 @@ | ||
| 151248 | 151310 | break; |
| 151249 | 151311 | case 2: /* cmdx ::= cmd */ |
| 151250 | 151312 | { sqlite3FinishCoding(pParse); } |
| 151251 | 151313 | break; |
| 151252 | 151314 | case 3: /* cmd ::= BEGIN transtype trans_opt */ |
| 151253 | -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy420);} | |
| 151315 | +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy494);} | |
| 151254 | 151316 | break; |
| 151255 | 151317 | case 4: /* transtype ::= */ |
| 151256 | -{yymsp[1].minor.yy420 = TK_DEFERRED;} | |
| 151318 | +{yymsp[1].minor.yy494 = TK_DEFERRED;} | |
| 151257 | 151319 | break; |
| 151258 | 151320 | case 5: /* transtype ::= DEFERRED */ |
| 151259 | 151321 | case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); |
| 151260 | 151322 | case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); |
| 151261 | 151323 | case 300: /* range_or_rows ::= RANGE|ROWS|GROUPS */ yytestcase(yyruleno==300); |
| 151262 | -{yymsp[0].minor.yy420 = yymsp[0].major; /*A-overwrites-X*/} | |
| 151324 | +{yymsp[0].minor.yy494 = yymsp[0].major; /*A-overwrites-X*/} | |
| 151263 | 151325 | break; |
| 151264 | 151326 | case 8: /* cmd ::= COMMIT|END trans_opt */ |
| 151265 | 151327 | case 9: /* cmd ::= ROLLBACK trans_opt */ yytestcase(yyruleno==9); |
| 151266 | 151328 | {sqlite3EndTransaction(pParse,yymsp[-1].major);} |
| 151267 | 151329 | break; |
| @@ -151280,11 +151342,11 @@ | ||
| 151280 | 151342 | sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); |
| 151281 | 151343 | } |
| 151282 | 151344 | break; |
| 151283 | 151345 | case 13: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 151284 | 151346 | { |
| 151285 | - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy420,0,0,yymsp[-2].minor.yy420); | |
| 151347 | + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy494,0,0,yymsp[-2].minor.yy494); | |
| 151286 | 151348 | } |
| 151287 | 151349 | break; |
| 151288 | 151350 | case 14: /* createkw ::= CREATE */ |
| 151289 | 151351 | {disableLookaside(pParse);} |
| 151290 | 151352 | break; |
| @@ -151295,36 +151357,36 @@ | ||
| 151295 | 151357 | case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); |
| 151296 | 151358 | case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); |
| 151297 | 151359 | case 76: /* ifexists ::= */ yytestcase(yyruleno==76); |
| 151298 | 151360 | case 93: /* distinct ::= */ yytestcase(yyruleno==93); |
| 151299 | 151361 | case 226: /* collate ::= */ yytestcase(yyruleno==226); |
| 151300 | -{yymsp[1].minor.yy420 = 0;} | |
| 151362 | +{yymsp[1].minor.yy494 = 0;} | |
| 151301 | 151363 | break; |
| 151302 | 151364 | case 16: /* ifnotexists ::= IF NOT EXISTS */ |
| 151303 | -{yymsp[-2].minor.yy420 = 1;} | |
| 151365 | +{yymsp[-2].minor.yy494 = 1;} | |
| 151304 | 151366 | break; |
| 151305 | 151367 | case 17: /* temp ::= TEMP */ |
| 151306 | 151368 | case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); |
| 151307 | -{yymsp[0].minor.yy420 = 1;} | |
| 151369 | +{yymsp[0].minor.yy494 = 1;} | |
| 151308 | 151370 | break; |
| 151309 | 151371 | case 19: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ |
| 151310 | 151372 | { |
| 151311 | - sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy420,0); | |
| 151373 | + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy494,0); | |
| 151312 | 151374 | } |
| 151313 | 151375 | break; |
| 151314 | 151376 | case 20: /* create_table_args ::= AS select */ |
| 151315 | 151377 | { |
| 151316 | - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy491); | |
| 151317 | - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy491); | |
| 151378 | + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy457); | |
| 151379 | + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy457); | |
| 151318 | 151380 | } |
| 151319 | 151381 | break; |
| 151320 | 151382 | case 22: /* table_options ::= WITHOUT nm */ |
| 151321 | 151383 | { |
| 151322 | 151384 | if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ |
| 151323 | - yymsp[-1].minor.yy420 = TF_WithoutRowid | TF_NoVisibleRowid; | |
| 151385 | + yymsp[-1].minor.yy494 = TF_WithoutRowid | TF_NoVisibleRowid; | |
| 151324 | 151386 | }else{ |
| 151325 | - yymsp[-1].minor.yy420 = 0; | |
| 151387 | + yymsp[-1].minor.yy494 = 0; | |
| 151326 | 151388 | sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); |
| 151327 | 151389 | } |
| 151328 | 151390 | } |
| 151329 | 151391 | break; |
| 151330 | 151392 | case 23: /* columnname ::= nm typetoken */ |
| @@ -151349,30 +151411,30 @@ | ||
| 151349 | 151411 | {yymsp[-1].minor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 151350 | 151412 | break; |
| 151351 | 151413 | case 28: /* scanpt ::= */ |
| 151352 | 151414 | { |
| 151353 | 151415 | assert( yyLookahead!=YYNOCODE ); |
| 151354 | - yymsp[1].minor.yy104 = yyLookaheadToken.z; | |
| 151416 | + yymsp[1].minor.yy294 = yyLookaheadToken.z; | |
| 151355 | 151417 | } |
| 151356 | 151418 | break; |
| 151357 | 151419 | case 29: /* ccons ::= CONSTRAINT nm */ |
| 151358 | 151420 | case 62: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==62); |
| 151359 | 151421 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 151360 | 151422 | break; |
| 151361 | 151423 | case 30: /* ccons ::= DEFAULT scanpt term scanpt */ |
| 151362 | -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy130,yymsp[-2].minor.yy104,yymsp[0].minor.yy104);} | |
| 151424 | +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy524,yymsp[-2].minor.yy294,yymsp[0].minor.yy294);} | |
| 151363 | 151425 | break; |
| 151364 | 151426 | case 31: /* ccons ::= DEFAULT LP expr RP */ |
| 151365 | -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy130,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} | |
| 151427 | +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy524,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} | |
| 151366 | 151428 | break; |
| 151367 | 151429 | case 32: /* ccons ::= DEFAULT PLUS term scanpt */ |
| 151368 | -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy130,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy104);} | |
| 151430 | +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy524,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy294);} | |
| 151369 | 151431 | break; |
| 151370 | 151432 | case 33: /* ccons ::= DEFAULT MINUS term scanpt */ |
| 151371 | 151433 | { |
| 151372 | - Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy130, 0); | |
| 151373 | - sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy104); | |
| 151434 | + Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy524, 0); | |
| 151435 | + sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy294); | |
| 151374 | 151436 | } |
| 151375 | 151437 | break; |
| 151376 | 151438 | case 34: /* ccons ::= DEFAULT scanpt ID|INDEXED */ |
| 151377 | 151439 | { |
| 151378 | 151440 | Expr *p = tokenExpr(pParse, TK_STRING, yymsp[0].minor.yy0); |
| @@ -151382,319 +151444,319 @@ | ||
| 151382 | 151444 | } |
| 151383 | 151445 | sqlite3AddDefaultValue(pParse,p,yymsp[0].minor.yy0.z,yymsp[0].minor.yy0.z+yymsp[0].minor.yy0.n); |
| 151384 | 151446 | } |
| 151385 | 151447 | break; |
| 151386 | 151448 | case 35: /* ccons ::= NOT NULL onconf */ |
| 151387 | -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy420);} | |
| 151449 | +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy494);} | |
| 151388 | 151450 | break; |
| 151389 | 151451 | case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 151390 | -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy420,yymsp[0].minor.yy420,yymsp[-2].minor.yy420);} | |
| 151452 | +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy494,yymsp[0].minor.yy494,yymsp[-2].minor.yy494);} | |
| 151391 | 151453 | break; |
| 151392 | 151454 | case 37: /* ccons ::= UNIQUE onconf */ |
| 151393 | -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy420,0,0,0,0, | |
| 151455 | +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy494,0,0,0,0, | |
| 151394 | 151456 | SQLITE_IDXTYPE_UNIQUE);} |
| 151395 | 151457 | break; |
| 151396 | 151458 | case 38: /* ccons ::= CHECK LP expr RP */ |
| 151397 | -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy130);} | |
| 151459 | +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy524);} | |
| 151398 | 151460 | break; |
| 151399 | 151461 | case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 151400 | -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy420);} | |
| 151462 | +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy434,yymsp[0].minor.yy494);} | |
| 151401 | 151463 | break; |
| 151402 | 151464 | case 40: /* ccons ::= defer_subclause */ |
| 151403 | -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy420);} | |
| 151465 | +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy494);} | |
| 151404 | 151466 | break; |
| 151405 | 151467 | case 41: /* ccons ::= COLLATE ID|STRING */ |
| 151406 | 151468 | {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 151407 | 151469 | break; |
| 151408 | 151470 | case 44: /* refargs ::= */ |
| 151409 | -{ yymsp[1].minor.yy420 = OE_None*0x0101; /* EV: R-19803-45884 */} | |
| 151471 | +{ yymsp[1].minor.yy494 = OE_None*0x0101; /* EV: R-19803-45884 */} | |
| 151410 | 151472 | break; |
| 151411 | 151473 | case 45: /* refargs ::= refargs refarg */ |
| 151412 | -{ yymsp[-1].minor.yy420 = (yymsp[-1].minor.yy420 & ~yymsp[0].minor.yy527.mask) | yymsp[0].minor.yy527.value; } | |
| 151474 | +{ yymsp[-1].minor.yy494 = (yymsp[-1].minor.yy494 & ~yymsp[0].minor.yy355.mask) | yymsp[0].minor.yy355.value; } | |
| 151413 | 151475 | break; |
| 151414 | 151476 | case 46: /* refarg ::= MATCH nm */ |
| 151415 | -{ yymsp[-1].minor.yy527.value = 0; yymsp[-1].minor.yy527.mask = 0x000000; } | |
| 151477 | +{ yymsp[-1].minor.yy355.value = 0; yymsp[-1].minor.yy355.mask = 0x000000; } | |
| 151416 | 151478 | break; |
| 151417 | 151479 | case 47: /* refarg ::= ON INSERT refact */ |
| 151418 | -{ yymsp[-2].minor.yy527.value = 0; yymsp[-2].minor.yy527.mask = 0x000000; } | |
| 151480 | +{ yymsp[-2].minor.yy355.value = 0; yymsp[-2].minor.yy355.mask = 0x000000; } | |
| 151419 | 151481 | break; |
| 151420 | 151482 | case 48: /* refarg ::= ON DELETE refact */ |
| 151421 | -{ yymsp[-2].minor.yy527.value = yymsp[0].minor.yy420; yymsp[-2].minor.yy527.mask = 0x0000ff; } | |
| 151483 | +{ yymsp[-2].minor.yy355.value = yymsp[0].minor.yy494; yymsp[-2].minor.yy355.mask = 0x0000ff; } | |
| 151422 | 151484 | break; |
| 151423 | 151485 | case 49: /* refarg ::= ON UPDATE refact */ |
| 151424 | -{ yymsp[-2].minor.yy527.value = yymsp[0].minor.yy420<<8; yymsp[-2].minor.yy527.mask = 0x00ff00; } | |
| 151486 | +{ yymsp[-2].minor.yy355.value = yymsp[0].minor.yy494<<8; yymsp[-2].minor.yy355.mask = 0x00ff00; } | |
| 151425 | 151487 | break; |
| 151426 | 151488 | case 50: /* refact ::= SET NULL */ |
| 151427 | -{ yymsp[-1].minor.yy420 = OE_SetNull; /* EV: R-33326-45252 */} | |
| 151489 | +{ yymsp[-1].minor.yy494 = OE_SetNull; /* EV: R-33326-45252 */} | |
| 151428 | 151490 | break; |
| 151429 | 151491 | case 51: /* refact ::= SET DEFAULT */ |
| 151430 | -{ yymsp[-1].minor.yy420 = OE_SetDflt; /* EV: R-33326-45252 */} | |
| 151492 | +{ yymsp[-1].minor.yy494 = OE_SetDflt; /* EV: R-33326-45252 */} | |
| 151431 | 151493 | break; |
| 151432 | 151494 | case 52: /* refact ::= CASCADE */ |
| 151433 | -{ yymsp[0].minor.yy420 = OE_Cascade; /* EV: R-33326-45252 */} | |
| 151495 | +{ yymsp[0].minor.yy494 = OE_Cascade; /* EV: R-33326-45252 */} | |
| 151434 | 151496 | break; |
| 151435 | 151497 | case 53: /* refact ::= RESTRICT */ |
| 151436 | -{ yymsp[0].minor.yy420 = OE_Restrict; /* EV: R-33326-45252 */} | |
| 151498 | +{ yymsp[0].minor.yy494 = OE_Restrict; /* EV: R-33326-45252 */} | |
| 151437 | 151499 | break; |
| 151438 | 151500 | case 54: /* refact ::= NO ACTION */ |
| 151439 | -{ yymsp[-1].minor.yy420 = OE_None; /* EV: R-33326-45252 */} | |
| 151501 | +{ yymsp[-1].minor.yy494 = OE_None; /* EV: R-33326-45252 */} | |
| 151440 | 151502 | break; |
| 151441 | 151503 | case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 151442 | -{yymsp[-2].minor.yy420 = 0;} | |
| 151504 | +{yymsp[-2].minor.yy494 = 0;} | |
| 151443 | 151505 | break; |
| 151444 | 151506 | case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 151445 | 151507 | case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); |
| 151446 | 151508 | case 156: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==156); |
| 151447 | -{yymsp[-1].minor.yy420 = yymsp[0].minor.yy420;} | |
| 151509 | +{yymsp[-1].minor.yy494 = yymsp[0].minor.yy494;} | |
| 151448 | 151510 | break; |
| 151449 | 151511 | case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 151450 | 151512 | case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); |
| 151451 | 151513 | case 198: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==198); |
| 151452 | 151514 | case 201: /* in_op ::= NOT IN */ yytestcase(yyruleno==201); |
| 151453 | 151515 | case 227: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==227); |
| 151454 | -{yymsp[-1].minor.yy420 = 1;} | |
| 151516 | +{yymsp[-1].minor.yy494 = 1;} | |
| 151455 | 151517 | break; |
| 151456 | 151518 | case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 151457 | -{yymsp[-1].minor.yy420 = 0;} | |
| 151519 | +{yymsp[-1].minor.yy494 = 0;} | |
| 151458 | 151520 | break; |
| 151459 | 151521 | case 61: /* tconscomma ::= COMMA */ |
| 151460 | 151522 | {pParse->constraintName.n = 0;} |
| 151461 | 151523 | break; |
| 151462 | 151524 | case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 151463 | -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy420,yymsp[-2].minor.yy420,0);} | |
| 151525 | +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy434,yymsp[0].minor.yy494,yymsp[-2].minor.yy494,0);} | |
| 151464 | 151526 | break; |
| 151465 | 151527 | case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ |
| 151466 | -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy420,0,0,0,0, | |
| 151528 | +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy434,yymsp[0].minor.yy494,0,0,0,0, | |
| 151467 | 151529 | SQLITE_IDXTYPE_UNIQUE);} |
| 151468 | 151530 | break; |
| 151469 | 151531 | case 65: /* tcons ::= CHECK LP expr RP onconf */ |
| 151470 | -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy130);} | |
| 151532 | +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy524);} | |
| 151471 | 151533 | break; |
| 151472 | 151534 | case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 151473 | 151535 | { |
| 151474 | - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy420); | |
| 151475 | - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy420); | |
| 151536 | + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy434, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy434, yymsp[-1].minor.yy494); | |
| 151537 | + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy494); | |
| 151476 | 151538 | } |
| 151477 | 151539 | break; |
| 151478 | 151540 | case 68: /* onconf ::= */ |
| 151479 | 151541 | case 70: /* orconf ::= */ yytestcase(yyruleno==70); |
| 151480 | -{yymsp[1].minor.yy420 = OE_Default;} | |
| 151542 | +{yymsp[1].minor.yy494 = OE_Default;} | |
| 151481 | 151543 | break; |
| 151482 | 151544 | case 69: /* onconf ::= ON CONFLICT resolvetype */ |
| 151483 | -{yymsp[-2].minor.yy420 = yymsp[0].minor.yy420;} | |
| 151545 | +{yymsp[-2].minor.yy494 = yymsp[0].minor.yy494;} | |
| 151484 | 151546 | break; |
| 151485 | 151547 | case 72: /* resolvetype ::= IGNORE */ |
| 151486 | -{yymsp[0].minor.yy420 = OE_Ignore;} | |
| 151548 | +{yymsp[0].minor.yy494 = OE_Ignore;} | |
| 151487 | 151549 | break; |
| 151488 | 151550 | case 73: /* resolvetype ::= REPLACE */ |
| 151489 | 151551 | case 157: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==157); |
| 151490 | -{yymsp[0].minor.yy420 = OE_Replace;} | |
| 151552 | +{yymsp[0].minor.yy494 = OE_Replace;} | |
| 151491 | 151553 | break; |
| 151492 | 151554 | case 74: /* cmd ::= DROP TABLE ifexists fullname */ |
| 151493 | 151555 | { |
| 151494 | - sqlite3DropTable(pParse, yymsp[0].minor.yy147, 0, yymsp[-1].minor.yy420); | |
| 151556 | + sqlite3DropTable(pParse, yymsp[0].minor.yy483, 0, yymsp[-1].minor.yy494); | |
| 151495 | 151557 | } |
| 151496 | 151558 | break; |
| 151497 | 151559 | case 77: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 151498 | 151560 | { |
| 151499 | - sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[0].minor.yy491, yymsp[-7].minor.yy420, yymsp[-5].minor.yy420); | |
| 151561 | + sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy434, yymsp[0].minor.yy457, yymsp[-7].minor.yy494, yymsp[-5].minor.yy494); | |
| 151500 | 151562 | } |
| 151501 | 151563 | break; |
| 151502 | 151564 | case 78: /* cmd ::= DROP VIEW ifexists fullname */ |
| 151503 | 151565 | { |
| 151504 | - sqlite3DropTable(pParse, yymsp[0].minor.yy147, 1, yymsp[-1].minor.yy420); | |
| 151566 | + sqlite3DropTable(pParse, yymsp[0].minor.yy483, 1, yymsp[-1].minor.yy494); | |
| 151505 | 151567 | } |
| 151506 | 151568 | break; |
| 151507 | 151569 | case 79: /* cmd ::= select */ |
| 151508 | 151570 | { |
| 151509 | 151571 | SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; |
| 151510 | - sqlite3Select(pParse, yymsp[0].minor.yy491, &dest); | |
| 151511 | - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy491); | |
| 151572 | + sqlite3Select(pParse, yymsp[0].minor.yy457, &dest); | |
| 151573 | + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy457); | |
| 151512 | 151574 | } |
| 151513 | 151575 | break; |
| 151514 | 151576 | case 80: /* select ::= WITH wqlist selectnowith */ |
| 151515 | 151577 | { |
| 151516 | - Select *p = yymsp[0].minor.yy491; | |
| 151578 | + Select *p = yymsp[0].minor.yy457; | |
| 151517 | 151579 | if( p ){ |
| 151518 | - p->pWith = yymsp[-1].minor.yy523; | |
| 151580 | + p->pWith = yymsp[-1].minor.yy59; | |
| 151519 | 151581 | parserDoubleLinkSelect(pParse, p); |
| 151520 | 151582 | }else{ |
| 151521 | - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy523); | |
| 151583 | + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy59); | |
| 151522 | 151584 | } |
| 151523 | - yymsp[-2].minor.yy491 = p; | |
| 151585 | + yymsp[-2].minor.yy457 = p; | |
| 151524 | 151586 | } |
| 151525 | 151587 | break; |
| 151526 | 151588 | case 81: /* select ::= WITH RECURSIVE wqlist selectnowith */ |
| 151527 | 151589 | { |
| 151528 | - Select *p = yymsp[0].minor.yy491; | |
| 151590 | + Select *p = yymsp[0].minor.yy457; | |
| 151529 | 151591 | if( p ){ |
| 151530 | - p->pWith = yymsp[-1].minor.yy523; | |
| 151592 | + p->pWith = yymsp[-1].minor.yy59; | |
| 151531 | 151593 | parserDoubleLinkSelect(pParse, p); |
| 151532 | 151594 | }else{ |
| 151533 | - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy523); | |
| 151595 | + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy59); | |
| 151534 | 151596 | } |
| 151535 | - yymsp[-3].minor.yy491 = p; | |
| 151597 | + yymsp[-3].minor.yy457 = p; | |
| 151536 | 151598 | } |
| 151537 | 151599 | break; |
| 151538 | 151600 | case 82: /* select ::= selectnowith */ |
| 151539 | 151601 | { |
| 151540 | - Select *p = yymsp[0].minor.yy491; | |
| 151602 | + Select *p = yymsp[0].minor.yy457; | |
| 151541 | 151603 | if( p ){ |
| 151542 | 151604 | parserDoubleLinkSelect(pParse, p); |
| 151543 | 151605 | } |
| 151544 | - yymsp[0].minor.yy491 = p; /*A-overwrites-X*/ | |
| 151606 | + yymsp[0].minor.yy457 = p; /*A-overwrites-X*/ | |
| 151545 | 151607 | } |
| 151546 | 151608 | break; |
| 151547 | 151609 | case 83: /* selectnowith ::= selectnowith multiselect_op oneselect */ |
| 151548 | 151610 | { |
| 151549 | - Select *pRhs = yymsp[0].minor.yy491; | |
| 151550 | - Select *pLhs = yymsp[-2].minor.yy491; | |
| 151611 | + Select *pRhs = yymsp[0].minor.yy457; | |
| 151612 | + Select *pLhs = yymsp[-2].minor.yy457; | |
| 151551 | 151613 | if( pRhs && pRhs->pPrior ){ |
| 151552 | 151614 | SrcList *pFrom; |
| 151553 | 151615 | Token x; |
| 151554 | 151616 | x.n = 0; |
| 151555 | 151617 | parserDoubleLinkSelect(pParse, pRhs); |
| 151556 | 151618 | pFrom = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&x,pRhs,0,0); |
| 151557 | 151619 | pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0); |
| 151558 | 151620 | } |
| 151559 | 151621 | if( pRhs ){ |
| 151560 | - pRhs->op = (u8)yymsp[-1].minor.yy420; | |
| 151622 | + pRhs->op = (u8)yymsp[-1].minor.yy494; | |
| 151561 | 151623 | pRhs->pPrior = pLhs; |
| 151562 | 151624 | if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; |
| 151563 | 151625 | pRhs->selFlags &= ~SF_MultiValue; |
| 151564 | - if( yymsp[-1].minor.yy420!=TK_ALL ) pParse->hasCompound = 1; | |
| 151626 | + if( yymsp[-1].minor.yy494!=TK_ALL ) pParse->hasCompound = 1; | |
| 151565 | 151627 | }else{ |
| 151566 | 151628 | sqlite3SelectDelete(pParse->db, pLhs); |
| 151567 | 151629 | } |
| 151568 | - yymsp[-2].minor.yy491 = pRhs; | |
| 151630 | + yymsp[-2].minor.yy457 = pRhs; | |
| 151569 | 151631 | } |
| 151570 | 151632 | break; |
| 151571 | 151633 | case 84: /* multiselect_op ::= UNION */ |
| 151572 | 151634 | case 86: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==86); |
| 151573 | -{yymsp[0].minor.yy420 = yymsp[0].major; /*A-overwrites-OP*/} | |
| 151635 | +{yymsp[0].minor.yy494 = yymsp[0].major; /*A-overwrites-OP*/} | |
| 151574 | 151636 | break; |
| 151575 | 151637 | case 85: /* multiselect_op ::= UNION ALL */ |
| 151576 | -{yymsp[-1].minor.yy420 = TK_ALL;} | |
| 151638 | +{yymsp[-1].minor.yy494 = TK_ALL;} | |
| 151577 | 151639 | break; |
| 151578 | 151640 | case 87: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 151579 | 151641 | { |
| 151580 | - yymsp[-8].minor.yy491 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy147,yymsp[-4].minor.yy130,yymsp[-3].minor.yy442,yymsp[-2].minor.yy130,yymsp[-1].minor.yy442,yymsp[-7].minor.yy420,yymsp[0].minor.yy130); | |
| 151642 | + yymsp[-8].minor.yy457 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy434,yymsp[-5].minor.yy483,yymsp[-4].minor.yy524,yymsp[-3].minor.yy434,yymsp[-2].minor.yy524,yymsp[-1].minor.yy434,yymsp[-7].minor.yy494,yymsp[0].minor.yy524); | |
| 151581 | 151643 | } |
| 151582 | 151644 | break; |
| 151583 | 151645 | case 88: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 151584 | 151646 | { |
| 151585 | - yymsp[-9].minor.yy491 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy442,yymsp[-6].minor.yy147,yymsp[-5].minor.yy130,yymsp[-4].minor.yy442,yymsp[-3].minor.yy130,yymsp[-1].minor.yy442,yymsp[-8].minor.yy420,yymsp[0].minor.yy130); | |
| 151586 | - if( yymsp[-9].minor.yy491 ){ | |
| 151587 | - yymsp[-9].minor.yy491->pWinDefn = yymsp[-2].minor.yy395; | |
| 151647 | + yymsp[-9].minor.yy457 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy434,yymsp[-6].minor.yy483,yymsp[-5].minor.yy524,yymsp[-4].minor.yy434,yymsp[-3].minor.yy524,yymsp[-1].minor.yy434,yymsp[-8].minor.yy494,yymsp[0].minor.yy524); | |
| 151648 | + if( yymsp[-9].minor.yy457 ){ | |
| 151649 | + yymsp[-9].minor.yy457->pWinDefn = yymsp[-2].minor.yy295; | |
| 151588 | 151650 | }else{ |
| 151589 | - sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy395); | |
| 151651 | + sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy295); | |
| 151590 | 151652 | } |
| 151591 | 151653 | } |
| 151592 | 151654 | break; |
| 151593 | 151655 | case 89: /* values ::= VALUES LP nexprlist RP */ |
| 151594 | 151656 | { |
| 151595 | - yymsp[-3].minor.yy491 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values,0); | |
| 151657 | + yymsp[-3].minor.yy457 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy434,0,0,0,0,0,SF_Values,0); | |
| 151596 | 151658 | } |
| 151597 | 151659 | break; |
| 151598 | 151660 | case 90: /* values ::= values COMMA LP nexprlist RP */ |
| 151599 | 151661 | { |
| 151600 | - Select *pRight, *pLeft = yymsp[-4].minor.yy491; | |
| 151601 | - pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values|SF_MultiValue,0); | |
| 151662 | + Select *pRight, *pLeft = yymsp[-4].minor.yy457; | |
| 151663 | + pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy434,0,0,0,0,0,SF_Values|SF_MultiValue,0); | |
| 151602 | 151664 | if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; |
| 151603 | 151665 | if( pRight ){ |
| 151604 | 151666 | pRight->op = TK_ALL; |
| 151605 | 151667 | pRight->pPrior = pLeft; |
| 151606 | - yymsp[-4].minor.yy491 = pRight; | |
| 151668 | + yymsp[-4].minor.yy457 = pRight; | |
| 151607 | 151669 | }else{ |
| 151608 | - yymsp[-4].minor.yy491 = pLeft; | |
| 151670 | + yymsp[-4].minor.yy457 = pLeft; | |
| 151609 | 151671 | } |
| 151610 | 151672 | } |
| 151611 | 151673 | break; |
| 151612 | 151674 | case 91: /* distinct ::= DISTINCT */ |
| 151613 | -{yymsp[0].minor.yy420 = SF_Distinct;} | |
| 151675 | +{yymsp[0].minor.yy494 = SF_Distinct;} | |
| 151614 | 151676 | break; |
| 151615 | 151677 | case 92: /* distinct ::= ALL */ |
| 151616 | -{yymsp[0].minor.yy420 = SF_All;} | |
| 151678 | +{yymsp[0].minor.yy494 = SF_All;} | |
| 151617 | 151679 | break; |
| 151618 | 151680 | case 94: /* sclp ::= */ |
| 151619 | 151681 | case 127: /* orderby_opt ::= */ yytestcase(yyruleno==127); |
| 151620 | 151682 | case 134: /* groupby_opt ::= */ yytestcase(yyruleno==134); |
| 151621 | 151683 | case 214: /* exprlist ::= */ yytestcase(yyruleno==214); |
| 151622 | 151684 | case 217: /* paren_exprlist ::= */ yytestcase(yyruleno==217); |
| 151623 | 151685 | case 222: /* eidlist_opt ::= */ yytestcase(yyruleno==222); |
| 151624 | -{yymsp[1].minor.yy442 = 0;} | |
| 151686 | +{yymsp[1].minor.yy434 = 0;} | |
| 151625 | 151687 | break; |
| 151626 | 151688 | case 95: /* selcollist ::= sclp scanpt expr scanpt as */ |
| 151627 | 151689 | { |
| 151628 | - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[-2].minor.yy130); | |
| 151629 | - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy442, &yymsp[0].minor.yy0, 1); | |
| 151630 | - sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy442,yymsp[-3].minor.yy104,yymsp[-1].minor.yy104); | |
| 151690 | + yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy434, yymsp[-2].minor.yy524); | |
| 151691 | + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy434, &yymsp[0].minor.yy0, 1); | |
| 151692 | + sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy434,yymsp[-3].minor.yy294,yymsp[-1].minor.yy294); | |
| 151631 | 151693 | } |
| 151632 | 151694 | break; |
| 151633 | 151695 | case 96: /* selcollist ::= sclp scanpt STAR */ |
| 151634 | 151696 | { |
| 151635 | 151697 | Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); |
| 151636 | - yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, p); | |
| 151698 | + yymsp[-2].minor.yy434 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy434, p); | |
| 151637 | 151699 | } |
| 151638 | 151700 | break; |
| 151639 | 151701 | case 97: /* selcollist ::= sclp scanpt nm DOT STAR */ |
| 151640 | 151702 | { |
| 151641 | 151703 | Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0); |
| 151642 | 151704 | Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 151643 | 151705 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); |
| 151644 | - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, pDot); | |
| 151706 | + yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy434, pDot); | |
| 151645 | 151707 | } |
| 151646 | 151708 | break; |
| 151647 | 151709 | case 98: /* as ::= AS nm */ |
| 151648 | 151710 | case 109: /* dbnm ::= DOT nm */ yytestcase(yyruleno==109); |
| 151649 | 151711 | case 238: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==238); |
| 151650 | 151712 | case 239: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==239); |
| 151651 | 151713 | {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} |
| 151652 | 151714 | break; |
| 151653 | 151715 | case 100: /* from ::= */ |
| 151654 | -{yymsp[1].minor.yy147 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy147));} | |
| 151716 | +{yymsp[1].minor.yy483 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy483));} | |
| 151655 | 151717 | break; |
| 151656 | 151718 | case 101: /* from ::= FROM seltablist */ |
| 151657 | 151719 | { |
| 151658 | - yymsp[-1].minor.yy147 = yymsp[0].minor.yy147; | |
| 151659 | - sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy147); | |
| 151720 | + yymsp[-1].minor.yy483 = yymsp[0].minor.yy483; | |
| 151721 | + sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy483); | |
| 151660 | 151722 | } |
| 151661 | 151723 | break; |
| 151662 | 151724 | case 102: /* stl_prefix ::= seltablist joinop */ |
| 151663 | 151725 | { |
| 151664 | - if( ALWAYS(yymsp[-1].minor.yy147 && yymsp[-1].minor.yy147->nSrc>0) ) yymsp[-1].minor.yy147->a[yymsp[-1].minor.yy147->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy420; | |
| 151726 | + if( ALWAYS(yymsp[-1].minor.yy483 && yymsp[-1].minor.yy483->nSrc>0) ) yymsp[-1].minor.yy483->a[yymsp[-1].minor.yy483->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy494; | |
| 151665 | 151727 | } |
| 151666 | 151728 | break; |
| 151667 | 151729 | case 103: /* stl_prefix ::= */ |
| 151668 | -{yymsp[1].minor.yy147 = 0;} | |
| 151730 | +{yymsp[1].minor.yy483 = 0;} | |
| 151669 | 151731 | break; |
| 151670 | 151732 | case 104: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 151671 | 151733 | { |
| 151672 | - yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); | |
| 151673 | - sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy147, &yymsp[-2].minor.yy0); | |
| 151734 | + yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); | |
| 151735 | + sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy483, &yymsp[-2].minor.yy0); | |
| 151674 | 151736 | } |
| 151675 | 151737 | break; |
| 151676 | 151738 | case 105: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 151677 | 151739 | { |
| 151678 | - yymsp[-8].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy147,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); | |
| 151679 | - sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy147, yymsp[-4].minor.yy442); | |
| 151740 | + yymsp[-8].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy483,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); | |
| 151741 | + sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy483, yymsp[-4].minor.yy434); | |
| 151680 | 151742 | } |
| 151681 | 151743 | break; |
| 151682 | 151744 | case 106: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 151683 | 151745 | { |
| 151684 | - yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy491,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); | |
| 151746 | + yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy457,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); | |
| 151685 | 151747 | } |
| 151686 | 151748 | break; |
| 151687 | 151749 | case 107: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 151688 | 151750 | { |
| 151689 | - if( yymsp[-6].minor.yy147==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy130==0 && yymsp[0].minor.yy200==0 ){ | |
| 151690 | - yymsp[-6].minor.yy147 = yymsp[-4].minor.yy147; | |
| 151691 | - }else if( yymsp[-4].minor.yy147->nSrc==1 ){ | |
| 151692 | - yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); | |
| 151693 | - if( yymsp[-6].minor.yy147 ){ | |
| 151694 | - struct SrcList_item *pNew = &yymsp[-6].minor.yy147->a[yymsp[-6].minor.yy147->nSrc-1]; | |
| 151695 | - struct SrcList_item *pOld = yymsp[-4].minor.yy147->a; | |
| 151751 | + if( yymsp[-6].minor.yy483==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy524==0 && yymsp[0].minor.yy62==0 ){ | |
| 151752 | + yymsp[-6].minor.yy483 = yymsp[-4].minor.yy483; | |
| 151753 | + }else if( yymsp[-4].minor.yy483->nSrc==1 ){ | |
| 151754 | + yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); | |
| 151755 | + if( yymsp[-6].minor.yy483 ){ | |
| 151756 | + struct SrcList_item *pNew = &yymsp[-6].minor.yy483->a[yymsp[-6].minor.yy483->nSrc-1]; | |
| 151757 | + struct SrcList_item *pOld = yymsp[-4].minor.yy483->a; | |
| 151696 | 151758 | pNew->zName = pOld->zName; |
| 151697 | 151759 | pNew->zDatabase = pOld->zDatabase; |
| 151698 | 151760 | pNew->pSelect = pOld->pSelect; |
| 151699 | 151761 | if( pOld->fg.isTabFunc ){ |
| 151700 | 151762 | pNew->u1.pFuncArg = pOld->u1.pFuncArg; |
| @@ -151703,215 +151765,215 @@ | ||
| 151703 | 151765 | pNew->fg.isTabFunc = 1; |
| 151704 | 151766 | } |
| 151705 | 151767 | pOld->zName = pOld->zDatabase = 0; |
| 151706 | 151768 | pOld->pSelect = 0; |
| 151707 | 151769 | } |
| 151708 | - sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy147); | |
| 151770 | + sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy483); | |
| 151709 | 151771 | }else{ |
| 151710 | 151772 | Select *pSubquery; |
| 151711 | - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy147); | |
| 151712 | - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy147,0,0,0,0,SF_NestedFrom,0); | |
| 151713 | - yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); | |
| 151773 | + sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy483); | |
| 151774 | + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy483,0,0,0,0,SF_NestedFrom,0); | |
| 151775 | + yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); | |
| 151714 | 151776 | } |
| 151715 | 151777 | } |
| 151716 | 151778 | break; |
| 151717 | 151779 | case 108: /* dbnm ::= */ |
| 151718 | 151780 | case 122: /* indexed_opt ::= */ yytestcase(yyruleno==122); |
| 151719 | 151781 | {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} |
| 151720 | 151782 | break; |
| 151721 | 151783 | case 110: /* fullname ::= nm */ |
| 151722 | 151784 | { |
| 151723 | - yylhsminor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); | |
| 151724 | - if( IN_RENAME_OBJECT && yylhsminor.yy147 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy147->a[0].zName, &yymsp[0].minor.yy0); | |
| 151785 | + yylhsminor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); | |
| 151786 | + if( IN_RENAME_OBJECT && yylhsminor.yy483 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy483->a[0].zName, &yymsp[0].minor.yy0); | |
| 151725 | 151787 | } |
| 151726 | - yymsp[0].minor.yy147 = yylhsminor.yy147; | |
| 151788 | + yymsp[0].minor.yy483 = yylhsminor.yy483; | |
| 151727 | 151789 | break; |
| 151728 | 151790 | case 111: /* fullname ::= nm DOT nm */ |
| 151729 | 151791 | { |
| 151730 | - yylhsminor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); | |
| 151731 | - if( IN_RENAME_OBJECT && yylhsminor.yy147 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy147->a[0].zName, &yymsp[0].minor.yy0); | |
| 151792 | + yylhsminor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); | |
| 151793 | + if( IN_RENAME_OBJECT && yylhsminor.yy483 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy483->a[0].zName, &yymsp[0].minor.yy0); | |
| 151732 | 151794 | } |
| 151733 | - yymsp[-2].minor.yy147 = yylhsminor.yy147; | |
| 151795 | + yymsp[-2].minor.yy483 = yylhsminor.yy483; | |
| 151734 | 151796 | break; |
| 151735 | 151797 | case 112: /* xfullname ::= nm */ |
| 151736 | -{yymsp[0].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} | |
| 151798 | +{yymsp[0].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} | |
| 151737 | 151799 | break; |
| 151738 | 151800 | case 113: /* xfullname ::= nm DOT nm */ |
| 151739 | -{yymsp[-2].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} | |
| 151801 | +{yymsp[-2].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} | |
| 151740 | 151802 | break; |
| 151741 | 151803 | case 114: /* xfullname ::= nm DOT nm AS nm */ |
| 151742 | 151804 | { |
| 151743 | - yymsp[-4].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ | |
| 151744 | - if( yymsp[-4].minor.yy147 ) yymsp[-4].minor.yy147->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); | |
| 151805 | + yymsp[-4].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ | |
| 151806 | + if( yymsp[-4].minor.yy483 ) yymsp[-4].minor.yy483->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); | |
| 151745 | 151807 | } |
| 151746 | 151808 | break; |
| 151747 | 151809 | case 115: /* xfullname ::= nm AS nm */ |
| 151748 | 151810 | { |
| 151749 | - yymsp[-2].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ | |
| 151750 | - if( yymsp[-2].minor.yy147 ) yymsp[-2].minor.yy147->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); | |
| 151811 | + yymsp[-2].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ | |
| 151812 | + if( yymsp[-2].minor.yy483 ) yymsp[-2].minor.yy483->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); | |
| 151751 | 151813 | } |
| 151752 | 151814 | break; |
| 151753 | 151815 | case 116: /* joinop ::= COMMA|JOIN */ |
| 151754 | -{ yymsp[0].minor.yy420 = JT_INNER; } | |
| 151816 | +{ yymsp[0].minor.yy494 = JT_INNER; } | |
| 151755 | 151817 | break; |
| 151756 | 151818 | case 117: /* joinop ::= JOIN_KW JOIN */ |
| 151757 | -{yymsp[-1].minor.yy420 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} | |
| 151819 | +{yymsp[-1].minor.yy494 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} | |
| 151758 | 151820 | break; |
| 151759 | 151821 | case 118: /* joinop ::= JOIN_KW nm JOIN */ |
| 151760 | -{yymsp[-2].minor.yy420 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} | |
| 151822 | +{yymsp[-2].minor.yy494 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} | |
| 151761 | 151823 | break; |
| 151762 | 151824 | case 119: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 151763 | -{yymsp[-3].minor.yy420 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} | |
| 151825 | +{yymsp[-3].minor.yy494 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} | |
| 151764 | 151826 | break; |
| 151765 | 151827 | case 120: /* on_opt ::= ON expr */ |
| 151766 | 151828 | case 137: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==137); |
| 151767 | 151829 | case 144: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==144); |
| 151768 | 151830 | case 210: /* case_else ::= ELSE expr */ yytestcase(yyruleno==210); |
| 151769 | 151831 | case 231: /* vinto ::= INTO expr */ yytestcase(yyruleno==231); |
| 151770 | -{yymsp[-1].minor.yy130 = yymsp[0].minor.yy130;} | |
| 151832 | +{yymsp[-1].minor.yy524 = yymsp[0].minor.yy524;} | |
| 151771 | 151833 | break; |
| 151772 | 151834 | case 121: /* on_opt ::= */ |
| 151773 | 151835 | case 136: /* having_opt ::= */ yytestcase(yyruleno==136); |
| 151774 | 151836 | case 138: /* limit_opt ::= */ yytestcase(yyruleno==138); |
| 151775 | 151837 | case 143: /* where_opt ::= */ yytestcase(yyruleno==143); |
| 151776 | 151838 | case 211: /* case_else ::= */ yytestcase(yyruleno==211); |
| 151777 | 151839 | case 213: /* case_operand ::= */ yytestcase(yyruleno==213); |
| 151778 | 151840 | case 232: /* vinto ::= */ yytestcase(yyruleno==232); |
| 151779 | -{yymsp[1].minor.yy130 = 0;} | |
| 151841 | +{yymsp[1].minor.yy524 = 0;} | |
| 151780 | 151842 | break; |
| 151781 | 151843 | case 123: /* indexed_opt ::= INDEXED BY nm */ |
| 151782 | 151844 | {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} |
| 151783 | 151845 | break; |
| 151784 | 151846 | case 124: /* indexed_opt ::= NOT INDEXED */ |
| 151785 | 151847 | {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} |
| 151786 | 151848 | break; |
| 151787 | 151849 | case 125: /* using_opt ::= USING LP idlist RP */ |
| 151788 | -{yymsp[-3].minor.yy200 = yymsp[-1].minor.yy200;} | |
| 151850 | +{yymsp[-3].minor.yy62 = yymsp[-1].minor.yy62;} | |
| 151789 | 151851 | break; |
| 151790 | 151852 | case 126: /* using_opt ::= */ |
| 151791 | 151853 | case 158: /* idlist_opt ::= */ yytestcase(yyruleno==158); |
| 151792 | -{yymsp[1].minor.yy200 = 0;} | |
| 151854 | +{yymsp[1].minor.yy62 = 0;} | |
| 151793 | 151855 | break; |
| 151794 | 151856 | case 128: /* orderby_opt ::= ORDER BY sortlist */ |
| 151795 | 151857 | case 135: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==135); |
| 151796 | -{yymsp[-2].minor.yy442 = yymsp[0].minor.yy442;} | |
| 151858 | +{yymsp[-2].minor.yy434 = yymsp[0].minor.yy434;} | |
| 151797 | 151859 | break; |
| 151798 | 151860 | case 129: /* sortlist ::= sortlist COMMA expr sortorder */ |
| 151799 | 151861 | { |
| 151800 | - yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy130); | |
| 151801 | - sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy442,yymsp[0].minor.yy420); | |
| 151862 | + yymsp[-3].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy434,yymsp[-1].minor.yy524); | |
| 151863 | + sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy434,yymsp[0].minor.yy494); | |
| 151802 | 151864 | } |
| 151803 | 151865 | break; |
| 151804 | 151866 | case 130: /* sortlist ::= expr sortorder */ |
| 151805 | 151867 | { |
| 151806 | - yymsp[-1].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy130); /*A-overwrites-Y*/ | |
| 151807 | - sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy442,yymsp[0].minor.yy420); | |
| 151868 | + yymsp[-1].minor.yy434 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy524); /*A-overwrites-Y*/ | |
| 151869 | + sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy434,yymsp[0].minor.yy494); | |
| 151808 | 151870 | } |
| 151809 | 151871 | break; |
| 151810 | 151872 | case 131: /* sortorder ::= ASC */ |
| 151811 | -{yymsp[0].minor.yy420 = SQLITE_SO_ASC;} | |
| 151873 | +{yymsp[0].minor.yy494 = SQLITE_SO_ASC;} | |
| 151812 | 151874 | break; |
| 151813 | 151875 | case 132: /* sortorder ::= DESC */ |
| 151814 | -{yymsp[0].minor.yy420 = SQLITE_SO_DESC;} | |
| 151876 | +{yymsp[0].minor.yy494 = SQLITE_SO_DESC;} | |
| 151815 | 151877 | break; |
| 151816 | 151878 | case 133: /* sortorder ::= */ |
| 151817 | -{yymsp[1].minor.yy420 = SQLITE_SO_UNDEFINED;} | |
| 151879 | +{yymsp[1].minor.yy494 = SQLITE_SO_UNDEFINED;} | |
| 151818 | 151880 | break; |
| 151819 | 151881 | case 139: /* limit_opt ::= LIMIT expr */ |
| 151820 | -{yymsp[-1].minor.yy130 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy130,0);} | |
| 151882 | +{yymsp[-1].minor.yy524 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy524,0);} | |
| 151821 | 151883 | break; |
| 151822 | 151884 | case 140: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 151823 | -{yymsp[-3].minor.yy130 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy130,yymsp[0].minor.yy130);} | |
| 151885 | +{yymsp[-3].minor.yy524 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy524,yymsp[0].minor.yy524);} | |
| 151824 | 151886 | break; |
| 151825 | 151887 | case 141: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 151826 | -{yymsp[-3].minor.yy130 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy130,yymsp[-2].minor.yy130);} | |
| 151888 | +{yymsp[-3].minor.yy524 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy524,yymsp[-2].minor.yy524);} | |
| 151827 | 151889 | break; |
| 151828 | 151890 | case 142: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ |
| 151829 | 151891 | { |
| 151830 | - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy147, &yymsp[-1].minor.yy0); | |
| 151831 | - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy147,yymsp[0].minor.yy130,0,0); | |
| 151892 | + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy483, &yymsp[-1].minor.yy0); | |
| 151893 | + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy483,yymsp[0].minor.yy524,0,0); | |
| 151832 | 151894 | } |
| 151833 | 151895 | break; |
| 151834 | 151896 | case 145: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ |
| 151835 | 151897 | { |
| 151836 | - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy147, &yymsp[-3].minor.yy0); | |
| 151837 | - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); | |
| 151838 | - sqlite3Update(pParse,yymsp[-4].minor.yy147,yymsp[-1].minor.yy442,yymsp[0].minor.yy130,yymsp[-5].minor.yy420,0,0,0); | |
| 151898 | + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy483, &yymsp[-3].minor.yy0); | |
| 151899 | + sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy434,"set list"); | |
| 151900 | + sqlite3Update(pParse,yymsp[-4].minor.yy483,yymsp[-1].minor.yy434,yymsp[0].minor.yy524,yymsp[-5].minor.yy494,0,0,0); | |
| 151839 | 151901 | } |
| 151840 | 151902 | break; |
| 151841 | 151903 | case 146: /* setlist ::= setlist COMMA nm EQ expr */ |
| 151842 | 151904 | { |
| 151843 | - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy130); | |
| 151844 | - sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, 1); | |
| 151905 | + yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy434, yymsp[0].minor.yy524); | |
| 151906 | + sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy434, &yymsp[-2].minor.yy0, 1); | |
| 151845 | 151907 | } |
| 151846 | 151908 | break; |
| 151847 | 151909 | case 147: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 151848 | 151910 | { |
| 151849 | - yymsp[-6].minor.yy442 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy442, yymsp[-3].minor.yy200, yymsp[0].minor.yy130); | |
| 151911 | + yymsp[-6].minor.yy434 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy434, yymsp[-3].minor.yy62, yymsp[0].minor.yy524); | |
| 151850 | 151912 | } |
| 151851 | 151913 | break; |
| 151852 | 151914 | case 148: /* setlist ::= nm EQ expr */ |
| 151853 | 151915 | { |
| 151854 | - yylhsminor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy130); | |
| 151855 | - sqlite3ExprListSetName(pParse, yylhsminor.yy442, &yymsp[-2].minor.yy0, 1); | |
| 151916 | + yylhsminor.yy434 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy524); | |
| 151917 | + sqlite3ExprListSetName(pParse, yylhsminor.yy434, &yymsp[-2].minor.yy0, 1); | |
| 151856 | 151918 | } |
| 151857 | - yymsp[-2].minor.yy442 = yylhsminor.yy442; | |
| 151919 | + yymsp[-2].minor.yy434 = yylhsminor.yy434; | |
| 151858 | 151920 | break; |
| 151859 | 151921 | case 149: /* setlist ::= LP idlist RP EQ expr */ |
| 151860 | 151922 | { |
| 151861 | - yymsp[-4].minor.yy442 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy200, yymsp[0].minor.yy130); | |
| 151923 | + yymsp[-4].minor.yy434 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy62, yymsp[0].minor.yy524); | |
| 151862 | 151924 | } |
| 151863 | 151925 | break; |
| 151864 | 151926 | case 150: /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 151865 | 151927 | { |
| 151866 | - sqlite3Insert(pParse, yymsp[-3].minor.yy147, yymsp[-1].minor.yy491, yymsp[-2].minor.yy200, yymsp[-5].minor.yy420, yymsp[0].minor.yy426); | |
| 151928 | + sqlite3Insert(pParse, yymsp[-3].minor.yy483, yymsp[-1].minor.yy457, yymsp[-2].minor.yy62, yymsp[-5].minor.yy494, yymsp[0].minor.yy136); | |
| 151867 | 151929 | } |
| 151868 | 151930 | break; |
| 151869 | 151931 | case 151: /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ |
| 151870 | 151932 | { |
| 151871 | - sqlite3Insert(pParse, yymsp[-3].minor.yy147, 0, yymsp[-2].minor.yy200, yymsp[-5].minor.yy420, 0); | |
| 151933 | + sqlite3Insert(pParse, yymsp[-3].minor.yy483, 0, yymsp[-2].minor.yy62, yymsp[-5].minor.yy494, 0); | |
| 151872 | 151934 | } |
| 151873 | 151935 | break; |
| 151874 | 151936 | case 152: /* upsert ::= */ |
| 151875 | -{ yymsp[1].minor.yy426 = 0; } | |
| 151937 | +{ yymsp[1].minor.yy136 = 0; } | |
| 151876 | 151938 | break; |
| 151877 | 151939 | case 153: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ |
| 151878 | -{ yymsp[-10].minor.yy426 = sqlite3UpsertNew(pParse->db,yymsp[-7].minor.yy442,yymsp[-5].minor.yy130,yymsp[-1].minor.yy442,yymsp[0].minor.yy130);} | |
| 151940 | +{ yymsp[-10].minor.yy136 = sqlite3UpsertNew(pParse->db,yymsp[-7].minor.yy434,yymsp[-5].minor.yy524,yymsp[-1].minor.yy434,yymsp[0].minor.yy524);} | |
| 151879 | 151941 | break; |
| 151880 | 151942 | case 154: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ |
| 151881 | -{ yymsp[-7].minor.yy426 = sqlite3UpsertNew(pParse->db,yymsp[-4].minor.yy442,yymsp[-2].minor.yy130,0,0); } | |
| 151943 | +{ yymsp[-7].minor.yy136 = sqlite3UpsertNew(pParse->db,yymsp[-4].minor.yy434,yymsp[-2].minor.yy524,0,0); } | |
| 151882 | 151944 | break; |
| 151883 | 151945 | case 155: /* upsert ::= ON CONFLICT DO NOTHING */ |
| 151884 | -{ yymsp[-3].minor.yy426 = sqlite3UpsertNew(pParse->db,0,0,0,0); } | |
| 151946 | +{ yymsp[-3].minor.yy136 = sqlite3UpsertNew(pParse->db,0,0,0,0); } | |
| 151885 | 151947 | break; |
| 151886 | 151948 | case 159: /* idlist_opt ::= LP idlist RP */ |
| 151887 | -{yymsp[-2].minor.yy200 = yymsp[-1].minor.yy200;} | |
| 151949 | +{yymsp[-2].minor.yy62 = yymsp[-1].minor.yy62;} | |
| 151888 | 151950 | break; |
| 151889 | 151951 | case 160: /* idlist ::= idlist COMMA nm */ |
| 151890 | -{yymsp[-2].minor.yy200 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy200,&yymsp[0].minor.yy0);} | |
| 151952 | +{yymsp[-2].minor.yy62 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy62,&yymsp[0].minor.yy0);} | |
| 151891 | 151953 | break; |
| 151892 | 151954 | case 161: /* idlist ::= nm */ |
| 151893 | -{yymsp[0].minor.yy200 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} | |
| 151955 | +{yymsp[0].minor.yy62 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} | |
| 151894 | 151956 | break; |
| 151895 | 151957 | case 162: /* expr ::= LP expr RP */ |
| 151896 | -{yymsp[-2].minor.yy130 = yymsp[-1].minor.yy130;} | |
| 151958 | +{yymsp[-2].minor.yy524 = yymsp[-1].minor.yy524;} | |
| 151897 | 151959 | break; |
| 151898 | 151960 | case 163: /* expr ::= ID|INDEXED */ |
| 151899 | 151961 | case 164: /* expr ::= JOIN_KW */ yytestcase(yyruleno==164); |
| 151900 | -{yymsp[0].minor.yy130=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} | |
| 151962 | +{yymsp[0].minor.yy524=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} | |
| 151901 | 151963 | break; |
| 151902 | 151964 | case 165: /* expr ::= nm DOT nm */ |
| 151903 | 151965 | { |
| 151904 | 151966 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 151905 | 151967 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); |
| 151906 | 151968 | if( IN_RENAME_OBJECT ){ |
| 151907 | 151969 | sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[0].minor.yy0); |
| 151908 | 151970 | sqlite3RenameTokenMap(pParse, (void*)temp1, &yymsp[-2].minor.yy0); |
| 151909 | 151971 | } |
| 151910 | - yylhsminor.yy130 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); | |
| 151972 | + yylhsminor.yy524 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); | |
| 151911 | 151973 | } |
| 151912 | - yymsp[-2].minor.yy130 = yylhsminor.yy130; | |
| 151974 | + yymsp[-2].minor.yy524 = yylhsminor.yy524; | |
| 151913 | 151975 | break; |
| 151914 | 151976 | case 166: /* expr ::= nm DOT nm DOT nm */ |
| 151915 | 151977 | { |
| 151916 | 151978 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); |
| 151917 | 151979 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| @@ -151919,95 +151981,95 @@ | ||
| 151919 | 151981 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3); |
| 151920 | 151982 | if( IN_RENAME_OBJECT ){ |
| 151921 | 151983 | sqlite3RenameTokenMap(pParse, (void*)temp3, &yymsp[0].minor.yy0); |
| 151922 | 151984 | sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[-2].minor.yy0); |
| 151923 | 151985 | } |
| 151924 | - yylhsminor.yy130 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); | |
| 151986 | + yylhsminor.yy524 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); | |
| 151925 | 151987 | } |
| 151926 | - yymsp[-4].minor.yy130 = yylhsminor.yy130; | |
| 151988 | + yymsp[-4].minor.yy524 = yylhsminor.yy524; | |
| 151927 | 151989 | break; |
| 151928 | 151990 | case 167: /* term ::= NULL|FLOAT|BLOB */ |
| 151929 | 151991 | case 168: /* term ::= STRING */ yytestcase(yyruleno==168); |
| 151930 | -{yymsp[0].minor.yy130=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} | |
| 151992 | +{yymsp[0].minor.yy524=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} | |
| 151931 | 151993 | break; |
| 151932 | 151994 | case 169: /* term ::= INTEGER */ |
| 151933 | 151995 | { |
| 151934 | - yylhsminor.yy130 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); | |
| 151996 | + yylhsminor.yy524 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); | |
| 151935 | 151997 | } |
| 151936 | - yymsp[0].minor.yy130 = yylhsminor.yy130; | |
| 151998 | + yymsp[0].minor.yy524 = yylhsminor.yy524; | |
| 151937 | 151999 | break; |
| 151938 | 152000 | case 170: /* expr ::= VARIABLE */ |
| 151939 | 152001 | { |
| 151940 | 152002 | if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ |
| 151941 | 152003 | u32 n = yymsp[0].minor.yy0.n; |
| 151942 | - yymsp[0].minor.yy130 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); | |
| 151943 | - sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy130, n); | |
| 152004 | + yymsp[0].minor.yy524 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); | |
| 152005 | + sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy524, n); | |
| 151944 | 152006 | }else{ |
| 151945 | 152007 | /* When doing a nested parse, one can include terms in an expression |
| 151946 | 152008 | ** that look like this: #1 #2 ... These terms refer to registers |
| 151947 | 152009 | ** in the virtual machine. #N is the N-th register. */ |
| 151948 | 152010 | Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/ |
| 151949 | 152011 | assert( t.n>=2 ); |
| 151950 | 152012 | if( pParse->nested==0 ){ |
| 151951 | 152013 | sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); |
| 151952 | - yymsp[0].minor.yy130 = 0; | |
| 152014 | + yymsp[0].minor.yy524 = 0; | |
| 151953 | 152015 | }else{ |
| 151954 | - yymsp[0].minor.yy130 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); | |
| 151955 | - if( yymsp[0].minor.yy130 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy130->iTable); | |
| 152016 | + yymsp[0].minor.yy524 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); | |
| 152017 | + if( yymsp[0].minor.yy524 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy524->iTable); | |
| 151956 | 152018 | } |
| 151957 | 152019 | } |
| 151958 | 152020 | } |
| 151959 | 152021 | break; |
| 151960 | 152022 | case 171: /* expr ::= expr COLLATE ID|STRING */ |
| 151961 | 152023 | { |
| 151962 | - yymsp[-2].minor.yy130 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy130, &yymsp[0].minor.yy0, 1); | |
| 152024 | + yymsp[-2].minor.yy524 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy524, &yymsp[0].minor.yy0, 1); | |
| 151963 | 152025 | } |
| 151964 | 152026 | break; |
| 151965 | 152027 | case 172: /* expr ::= CAST LP expr AS typetoken RP */ |
| 151966 | 152028 | { |
| 151967 | - yymsp[-5].minor.yy130 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); | |
| 151968 | - sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy130, yymsp[-3].minor.yy130, 0); | |
| 152029 | + yymsp[-5].minor.yy524 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); | |
| 152030 | + sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy524, yymsp[-3].minor.yy524, 0); | |
| 151969 | 152031 | } |
| 151970 | 152032 | break; |
| 151971 | 152033 | case 173: /* expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 151972 | 152034 | { |
| 151973 | - yylhsminor.yy130 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy420); | |
| 152035 | + yylhsminor.yy524 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy434, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy494); | |
| 151974 | 152036 | } |
| 151975 | - yymsp[-4].minor.yy130 = yylhsminor.yy130; | |
| 152037 | + yymsp[-4].minor.yy524 = yylhsminor.yy524; | |
| 151976 | 152038 | break; |
| 151977 | 152039 | case 174: /* expr ::= ID|INDEXED LP STAR RP */ |
| 151978 | 152040 | { |
| 151979 | - yylhsminor.yy130 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); | |
| 152041 | + yylhsminor.yy524 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); | |
| 151980 | 152042 | } |
| 151981 | - yymsp[-3].minor.yy130 = yylhsminor.yy130; | |
| 152043 | + yymsp[-3].minor.yy524 = yylhsminor.yy524; | |
| 151982 | 152044 | break; |
| 151983 | 152045 | case 175: /* expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ |
| 151984 | 152046 | { |
| 151985 | - yylhsminor.yy130 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy442, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy420); | |
| 151986 | - sqlite3WindowAttach(pParse, yylhsminor.yy130, yymsp[0].minor.yy395); | |
| 152047 | + yylhsminor.yy524 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy434, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy494); | |
| 152048 | + sqlite3WindowAttach(pParse, yylhsminor.yy524, yymsp[0].minor.yy295); | |
| 151987 | 152049 | } |
| 151988 | - yymsp[-5].minor.yy130 = yylhsminor.yy130; | |
| 152050 | + yymsp[-5].minor.yy524 = yylhsminor.yy524; | |
| 151989 | 152051 | break; |
| 151990 | 152052 | case 176: /* expr ::= ID|INDEXED LP STAR RP over_clause */ |
| 151991 | 152053 | { |
| 151992 | - yylhsminor.yy130 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); | |
| 151993 | - sqlite3WindowAttach(pParse, yylhsminor.yy130, yymsp[0].minor.yy395); | |
| 152054 | + yylhsminor.yy524 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); | |
| 152055 | + sqlite3WindowAttach(pParse, yylhsminor.yy524, yymsp[0].minor.yy295); | |
| 151994 | 152056 | } |
| 151995 | - yymsp[-4].minor.yy130 = yylhsminor.yy130; | |
| 152057 | + yymsp[-4].minor.yy524 = yylhsminor.yy524; | |
| 151996 | 152058 | break; |
| 151997 | 152059 | case 177: /* term ::= CTIME_KW */ |
| 151998 | 152060 | { |
| 151999 | - yylhsminor.yy130 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); | |
| 152061 | + yylhsminor.yy524 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); | |
| 152000 | 152062 | } |
| 152001 | - yymsp[0].minor.yy130 = yylhsminor.yy130; | |
| 152063 | + yymsp[0].minor.yy524 = yylhsminor.yy524; | |
| 152002 | 152064 | break; |
| 152003 | 152065 | case 178: /* expr ::= LP nexprlist COMMA expr RP */ |
| 152004 | 152066 | { |
| 152005 | - ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy442, yymsp[-1].minor.yy130); | |
| 152006 | - yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); | |
| 152007 | - if( yymsp[-4].minor.yy130 ){ | |
| 152008 | - yymsp[-4].minor.yy130->x.pList = pList; | |
| 152067 | + ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy434, yymsp[-1].minor.yy524); | |
| 152068 | + yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); | |
| 152069 | + if( yymsp[-4].minor.yy524 ){ | |
| 152070 | + yymsp[-4].minor.yy524->x.pList = pList; | |
| 152009 | 152071 | }else{ |
| 152010 | 152072 | sqlite3ExprListDelete(pParse->db, pList); |
| 152011 | 152073 | } |
| 152012 | 152074 | } |
| 152013 | 152075 | break; |
| @@ -152017,101 +152079,101 @@ | ||
| 152017 | 152079 | case 182: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==182); |
| 152018 | 152080 | case 183: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==183); |
| 152019 | 152081 | case 184: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==184); |
| 152020 | 152082 | case 185: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==185); |
| 152021 | 152083 | case 186: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==186); |
| 152022 | -{yymsp[-2].minor.yy130=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy130,yymsp[0].minor.yy130);} | |
| 152084 | +{yymsp[-2].minor.yy524=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy524,yymsp[0].minor.yy524);} | |
| 152023 | 152085 | break; |
| 152024 | 152086 | case 187: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 152025 | 152087 | {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} |
| 152026 | 152088 | break; |
| 152027 | 152089 | case 188: /* expr ::= expr likeop expr */ |
| 152028 | 152090 | { |
| 152029 | 152091 | ExprList *pList; |
| 152030 | 152092 | int bNot = yymsp[-1].minor.yy0.n & 0x80000000; |
| 152031 | 152093 | yymsp[-1].minor.yy0.n &= 0x7fffffff; |
| 152032 | - pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy130); | |
| 152033 | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy130); | |
| 152034 | - yymsp[-2].minor.yy130 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); | |
| 152035 | - if( bNot ) yymsp[-2].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy130, 0); | |
| 152036 | - if( yymsp[-2].minor.yy130 ) yymsp[-2].minor.yy130->flags |= EP_InfixFunc; | |
| 152094 | + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy524); | |
| 152095 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy524); | |
| 152096 | + yymsp[-2].minor.yy524 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); | |
| 152097 | + if( bNot ) yymsp[-2].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy524, 0); | |
| 152098 | + if( yymsp[-2].minor.yy524 ) yymsp[-2].minor.yy524->flags |= EP_InfixFunc; | |
| 152037 | 152099 | } |
| 152038 | 152100 | break; |
| 152039 | 152101 | case 189: /* expr ::= expr likeop expr ESCAPE expr */ |
| 152040 | 152102 | { |
| 152041 | 152103 | ExprList *pList; |
| 152042 | 152104 | int bNot = yymsp[-3].minor.yy0.n & 0x80000000; |
| 152043 | 152105 | yymsp[-3].minor.yy0.n &= 0x7fffffff; |
| 152044 | - pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy130); | |
| 152045 | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy130); | |
| 152046 | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy130); | |
| 152047 | - yymsp[-4].minor.yy130 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); | |
| 152048 | - if( bNot ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); | |
| 152049 | - if( yymsp[-4].minor.yy130 ) yymsp[-4].minor.yy130->flags |= EP_InfixFunc; | |
| 152106 | + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524); | |
| 152107 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy524); | |
| 152108 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy524); | |
| 152109 | + yymsp[-4].minor.yy524 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); | |
| 152110 | + if( bNot ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); | |
| 152111 | + if( yymsp[-4].minor.yy524 ) yymsp[-4].minor.yy524->flags |= EP_InfixFunc; | |
| 152050 | 152112 | } |
| 152051 | 152113 | break; |
| 152052 | 152114 | case 190: /* expr ::= expr ISNULL|NOTNULL */ |
| 152053 | -{yymsp[-1].minor.yy130 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy130,0);} | |
| 152115 | +{yymsp[-1].minor.yy524 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy524,0);} | |
| 152054 | 152116 | break; |
| 152055 | 152117 | case 191: /* expr ::= expr NOT NULL */ |
| 152056 | -{yymsp[-2].minor.yy130 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy130,0);} | |
| 152118 | +{yymsp[-2].minor.yy524 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy524,0);} | |
| 152057 | 152119 | break; |
| 152058 | 152120 | case 192: /* expr ::= expr IS expr */ |
| 152059 | 152121 | { |
| 152060 | - yymsp[-2].minor.yy130 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy130,yymsp[0].minor.yy130); | |
| 152061 | - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy130, yymsp[-2].minor.yy130, TK_ISNULL); | |
| 152122 | + yymsp[-2].minor.yy524 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy524,yymsp[0].minor.yy524); | |
| 152123 | + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy524, yymsp[-2].minor.yy524, TK_ISNULL); | |
| 152062 | 152124 | } |
| 152063 | 152125 | break; |
| 152064 | 152126 | case 193: /* expr ::= expr IS NOT expr */ |
| 152065 | 152127 | { |
| 152066 | - yymsp[-3].minor.yy130 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy130,yymsp[0].minor.yy130); | |
| 152067 | - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy130, yymsp[-3].minor.yy130, TK_NOTNULL); | |
| 152128 | + yymsp[-3].minor.yy524 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy524,yymsp[0].minor.yy524); | |
| 152129 | + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy524, yymsp[-3].minor.yy524, TK_NOTNULL); | |
| 152068 | 152130 | } |
| 152069 | 152131 | break; |
| 152070 | 152132 | case 194: /* expr ::= NOT expr */ |
| 152071 | 152133 | case 195: /* expr ::= BITNOT expr */ yytestcase(yyruleno==195); |
| 152072 | -{yymsp[-1].minor.yy130 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy130, 0);/*A-overwrites-B*/} | |
| 152134 | +{yymsp[-1].minor.yy524 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy524, 0);/*A-overwrites-B*/} | |
| 152073 | 152135 | break; |
| 152074 | 152136 | case 196: /* expr ::= PLUS|MINUS expr */ |
| 152075 | 152137 | { |
| 152076 | - yymsp[-1].minor.yy130 = sqlite3PExpr(pParse, yymsp[-1].major==TK_PLUS ? TK_UPLUS : TK_UMINUS, yymsp[0].minor.yy130, 0); | |
| 152138 | + yymsp[-1].minor.yy524 = sqlite3PExpr(pParse, yymsp[-1].major==TK_PLUS ? TK_UPLUS : TK_UMINUS, yymsp[0].minor.yy524, 0); | |
| 152077 | 152139 | /*A-overwrites-B*/ |
| 152078 | 152140 | } |
| 152079 | 152141 | break; |
| 152080 | 152142 | case 197: /* between_op ::= BETWEEN */ |
| 152081 | 152143 | case 200: /* in_op ::= IN */ yytestcase(yyruleno==200); |
| 152082 | -{yymsp[0].minor.yy420 = 0;} | |
| 152144 | +{yymsp[0].minor.yy494 = 0;} | |
| 152083 | 152145 | break; |
| 152084 | 152146 | case 199: /* expr ::= expr between_op expr AND expr */ |
| 152085 | 152147 | { |
| 152086 | - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy130); | |
| 152087 | - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy130); | |
| 152088 | - yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy130, 0); | |
| 152089 | - if( yymsp[-4].minor.yy130 ){ | |
| 152090 | - yymsp[-4].minor.yy130->x.pList = pList; | |
| 152148 | + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524); | |
| 152149 | + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy524); | |
| 152150 | + yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy524, 0); | |
| 152151 | + if( yymsp[-4].minor.yy524 ){ | |
| 152152 | + yymsp[-4].minor.yy524->x.pList = pList; | |
| 152091 | 152153 | }else{ |
| 152092 | 152154 | sqlite3ExprListDelete(pParse->db, pList); |
| 152093 | 152155 | } |
| 152094 | - if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); | |
| 152156 | + if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); | |
| 152095 | 152157 | } |
| 152096 | 152158 | break; |
| 152097 | 152159 | case 202: /* expr ::= expr in_op LP exprlist RP */ |
| 152098 | 152160 | { |
| 152099 | - if( yymsp[-1].minor.yy442==0 ){ | |
| 152161 | + if( yymsp[-1].minor.yy434==0 ){ | |
| 152100 | 152162 | /* Expressions of the form |
| 152101 | 152163 | ** |
| 152102 | 152164 | ** expr1 IN () |
| 152103 | 152165 | ** expr1 NOT IN () |
| 152104 | 152166 | ** |
| 152105 | 152167 | ** simplify to constants 0 (false) and 1 (true), respectively, |
| 152106 | 152168 | ** regardless of the value of expr1. |
| 152107 | 152169 | */ |
| 152108 | 152170 | if( IN_RENAME_OBJECT==0 ){ |
| 152109 | - sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy130); | |
| 152110 | - yymsp[-4].minor.yy130 = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy420],1); | |
| 152171 | + sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy524); | |
| 152172 | + yymsp[-4].minor.yy524 = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy494],1); | |
| 152111 | 152173 | } |
| 152112 | - }else if( yymsp[-1].minor.yy442->nExpr==1 ){ | |
| 152174 | + }else if( yymsp[-1].minor.yy434->nExpr==1 ){ | |
| 152113 | 152175 | /* Expressions of the form: |
| 152114 | 152176 | ** |
| 152115 | 152177 | ** expr1 IN (?1) |
| 152116 | 152178 | ** expr1 NOT IN (?2) |
| 152117 | 152179 | ** |
| @@ -152124,134 +152186,134 @@ | ||
| 152124 | 152186 | ** But, the RHS of the == or <> is marked with the EP_Generic flag |
| 152125 | 152187 | ** so that it may not contribute to the computation of comparison |
| 152126 | 152188 | ** affinity or the collating sequence to use for comparison. Otherwise, |
| 152127 | 152189 | ** the semantics would be subtly different from IN or NOT IN. |
| 152128 | 152190 | */ |
| 152129 | - Expr *pRHS = yymsp[-1].minor.yy442->a[0].pExpr; | |
| 152130 | - yymsp[-1].minor.yy442->a[0].pExpr = 0; | |
| 152131 | - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); | |
| 152191 | + Expr *pRHS = yymsp[-1].minor.yy434->a[0].pExpr; | |
| 152192 | + yymsp[-1].minor.yy434->a[0].pExpr = 0; | |
| 152193 | + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy434); | |
| 152132 | 152194 | /* pRHS cannot be NULL because a malloc error would have been detected |
| 152133 | 152195 | ** before now and control would have never reached this point */ |
| 152134 | 152196 | if( ALWAYS(pRHS) ){ |
| 152135 | 152197 | pRHS->flags &= ~EP_Collate; |
| 152136 | 152198 | pRHS->flags |= EP_Generic; |
| 152137 | 152199 | } |
| 152138 | - yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, yymsp[-3].minor.yy420 ? TK_NE : TK_EQ, yymsp[-4].minor.yy130, pRHS); | |
| 152139 | - }else{ | |
| 152140 | - yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy130, 0); | |
| 152141 | - if( yymsp[-4].minor.yy130 ){ | |
| 152142 | - yymsp[-4].minor.yy130->x.pList = yymsp[-1].minor.yy442; | |
| 152143 | - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy130); | |
| 152144 | - }else{ | |
| 152145 | - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); | |
| 152146 | - } | |
| 152147 | - if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); | |
| 152200 | + yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, yymsp[-3].minor.yy494 ? TK_NE : TK_EQ, yymsp[-4].minor.yy524, pRHS); | |
| 152201 | + }else{ | |
| 152202 | + yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy524, 0); | |
| 152203 | + if( yymsp[-4].minor.yy524 ){ | |
| 152204 | + yymsp[-4].minor.yy524->x.pList = yymsp[-1].minor.yy434; | |
| 152205 | + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy524); | |
| 152206 | + }else{ | |
| 152207 | + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy434); | |
| 152208 | + } | |
| 152209 | + if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); | |
| 152148 | 152210 | } |
| 152149 | 152211 | } |
| 152150 | 152212 | break; |
| 152151 | 152213 | case 203: /* expr ::= LP select RP */ |
| 152152 | 152214 | { |
| 152153 | - yymsp[-2].minor.yy130 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); | |
| 152154 | - sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy130, yymsp[-1].minor.yy491); | |
| 152215 | + yymsp[-2].minor.yy524 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); | |
| 152216 | + sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy524, yymsp[-1].minor.yy457); | |
| 152155 | 152217 | } |
| 152156 | 152218 | break; |
| 152157 | 152219 | case 204: /* expr ::= expr in_op LP select RP */ |
| 152158 | 152220 | { |
| 152159 | - yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy130, 0); | |
| 152160 | - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy130, yymsp[-1].minor.yy491); | |
| 152161 | - if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); | |
| 152221 | + yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy524, 0); | |
| 152222 | + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy524, yymsp[-1].minor.yy457); | |
| 152223 | + if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); | |
| 152162 | 152224 | } |
| 152163 | 152225 | break; |
| 152164 | 152226 | case 205: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 152165 | 152227 | { |
| 152166 | 152228 | SrcList *pSrc = sqlite3SrcListAppend(pParse, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); |
| 152167 | 152229 | Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0); |
| 152168 | - if( yymsp[0].minor.yy442 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy442); | |
| 152169 | - yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy130, 0); | |
| 152170 | - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy130, pSelect); | |
| 152171 | - if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); | |
| 152230 | + if( yymsp[0].minor.yy434 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy434); | |
| 152231 | + yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy524, 0); | |
| 152232 | + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy524, pSelect); | |
| 152233 | + if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); | |
| 152172 | 152234 | } |
| 152173 | 152235 | break; |
| 152174 | 152236 | case 206: /* expr ::= EXISTS LP select RP */ |
| 152175 | 152237 | { |
| 152176 | 152238 | Expr *p; |
| 152177 | - p = yymsp[-3].minor.yy130 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); | |
| 152178 | - sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy491); | |
| 152239 | + p = yymsp[-3].minor.yy524 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); | |
| 152240 | + sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy457); | |
| 152179 | 152241 | } |
| 152180 | 152242 | break; |
| 152181 | 152243 | case 207: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 152182 | 152244 | { |
| 152183 | - yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy130, 0); | |
| 152184 | - if( yymsp[-4].minor.yy130 ){ | |
| 152185 | - yymsp[-4].minor.yy130->x.pList = yymsp[-1].minor.yy130 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[-1].minor.yy130) : yymsp[-2].minor.yy442; | |
| 152186 | - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy130); | |
| 152245 | + yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy524, 0); | |
| 152246 | + if( yymsp[-4].minor.yy524 ){ | |
| 152247 | + yymsp[-4].minor.yy524->x.pList = yymsp[-1].minor.yy524 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy434,yymsp[-1].minor.yy524) : yymsp[-2].minor.yy434; | |
| 152248 | + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy524); | |
| 152187 | 152249 | }else{ |
| 152188 | - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy442); | |
| 152189 | - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy130); | |
| 152250 | + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy434); | |
| 152251 | + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy524); | |
| 152190 | 152252 | } |
| 152191 | 152253 | } |
| 152192 | 152254 | break; |
| 152193 | 152255 | case 208: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 152194 | 152256 | { |
| 152195 | - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy130); | |
| 152196 | - yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[0].minor.yy130); | |
| 152257 | + yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy434, yymsp[-2].minor.yy524); | |
| 152258 | + yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy434, yymsp[0].minor.yy524); | |
| 152197 | 152259 | } |
| 152198 | 152260 | break; |
| 152199 | 152261 | case 209: /* case_exprlist ::= WHEN expr THEN expr */ |
| 152200 | 152262 | { |
| 152201 | - yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy130); | |
| 152202 | - yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, yymsp[0].minor.yy130); | |
| 152263 | + yymsp[-3].minor.yy434 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524); | |
| 152264 | + yymsp[-3].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy434, yymsp[0].minor.yy524); | |
| 152203 | 152265 | } |
| 152204 | 152266 | break; |
| 152205 | 152267 | case 212: /* case_operand ::= expr */ |
| 152206 | -{yymsp[0].minor.yy130 = yymsp[0].minor.yy130; /*A-overwrites-X*/} | |
| 152268 | +{yymsp[0].minor.yy524 = yymsp[0].minor.yy524; /*A-overwrites-X*/} | |
| 152207 | 152269 | break; |
| 152208 | 152270 | case 215: /* nexprlist ::= nexprlist COMMA expr */ |
| 152209 | -{yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy130);} | |
| 152271 | +{yymsp[-2].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy434,yymsp[0].minor.yy524);} | |
| 152210 | 152272 | break; |
| 152211 | 152273 | case 216: /* nexprlist ::= expr */ |
| 152212 | -{yymsp[0].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy130); /*A-overwrites-Y*/} | |
| 152274 | +{yymsp[0].minor.yy434 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy524); /*A-overwrites-Y*/} | |
| 152213 | 152275 | break; |
| 152214 | 152276 | case 218: /* paren_exprlist ::= LP exprlist RP */ |
| 152215 | 152277 | case 223: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==223); |
| 152216 | -{yymsp[-2].minor.yy442 = yymsp[-1].minor.yy442;} | |
| 152278 | +{yymsp[-2].minor.yy434 = yymsp[-1].minor.yy434;} | |
| 152217 | 152279 | break; |
| 152218 | 152280 | case 219: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 152219 | 152281 | { |
| 152220 | 152282 | sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, |
| 152221 | - sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy442, yymsp[-10].minor.yy420, | |
| 152222 | - &yymsp[-11].minor.yy0, yymsp[0].minor.yy130, SQLITE_SO_ASC, yymsp[-8].minor.yy420, SQLITE_IDXTYPE_APPDEF); | |
| 152283 | + sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy434, yymsp[-10].minor.yy494, | |
| 152284 | + &yymsp[-11].minor.yy0, yymsp[0].minor.yy524, SQLITE_SO_ASC, yymsp[-8].minor.yy494, SQLITE_IDXTYPE_APPDEF); | |
| 152223 | 152285 | if( IN_RENAME_OBJECT && pParse->pNewIndex ){ |
| 152224 | 152286 | sqlite3RenameTokenMap(pParse, pParse->pNewIndex->zName, &yymsp[-4].minor.yy0); |
| 152225 | 152287 | } |
| 152226 | 152288 | } |
| 152227 | 152289 | break; |
| 152228 | 152290 | case 220: /* uniqueflag ::= UNIQUE */ |
| 152229 | 152291 | case 262: /* raisetype ::= ABORT */ yytestcase(yyruleno==262); |
| 152230 | -{yymsp[0].minor.yy420 = OE_Abort;} | |
| 152292 | +{yymsp[0].minor.yy494 = OE_Abort;} | |
| 152231 | 152293 | break; |
| 152232 | 152294 | case 221: /* uniqueflag ::= */ |
| 152233 | -{yymsp[1].minor.yy420 = OE_None;} | |
| 152295 | +{yymsp[1].minor.yy494 = OE_None;} | |
| 152234 | 152296 | break; |
| 152235 | 152297 | case 224: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 152236 | 152298 | { |
| 152237 | - yymsp[-4].minor.yy442 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy420, yymsp[0].minor.yy420); | |
| 152299 | + yymsp[-4].minor.yy434 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy434, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy494, yymsp[0].minor.yy494); | |
| 152238 | 152300 | } |
| 152239 | 152301 | break; |
| 152240 | 152302 | case 225: /* eidlist ::= nm collate sortorder */ |
| 152241 | 152303 | { |
| 152242 | - yymsp[-2].minor.yy442 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy420, yymsp[0].minor.yy420); /*A-overwrites-Y*/ | |
| 152304 | + yymsp[-2].minor.yy434 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy494, yymsp[0].minor.yy494); /*A-overwrites-Y*/ | |
| 152243 | 152305 | } |
| 152244 | 152306 | break; |
| 152245 | 152307 | case 228: /* cmd ::= DROP INDEX ifexists fullname */ |
| 152246 | -{sqlite3DropIndex(pParse, yymsp[0].minor.yy147, yymsp[-1].minor.yy420);} | |
| 152308 | +{sqlite3DropIndex(pParse, yymsp[0].minor.yy483, yymsp[-1].minor.yy494);} | |
| 152247 | 152309 | break; |
| 152248 | 152310 | case 229: /* cmd ::= VACUUM vinto */ |
| 152249 | -{sqlite3Vacuum(pParse,0,yymsp[0].minor.yy130);} | |
| 152311 | +{sqlite3Vacuum(pParse,0,yymsp[0].minor.yy524);} | |
| 152250 | 152312 | break; |
| 152251 | 152313 | case 230: /* cmd ::= VACUUM nm vinto */ |
| 152252 | -{sqlite3Vacuum(pParse,&yymsp[-1].minor.yy0,yymsp[0].minor.yy130);} | |
| 152314 | +{sqlite3Vacuum(pParse,&yymsp[-1].minor.yy0,yymsp[0].minor.yy524);} | |
| 152253 | 152315 | break; |
| 152254 | 152316 | case 233: /* cmd ::= PRAGMA nm dbnm */ |
| 152255 | 152317 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 152256 | 152318 | break; |
| 152257 | 152319 | case 234: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| @@ -152269,55 +152331,55 @@ | ||
| 152269 | 152331 | case 240: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 152270 | 152332 | { |
| 152271 | 152333 | Token all; |
| 152272 | 152334 | all.z = yymsp[-3].minor.yy0.z; |
| 152273 | 152335 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 152274 | - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy524, &all); | |
| 152336 | + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy455, &all); | |
| 152275 | 152337 | } |
| 152276 | 152338 | break; |
| 152277 | 152339 | case 241: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 152278 | 152340 | { |
| 152279 | - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy420, yymsp[-4].minor.yy498.a, yymsp[-4].minor.yy498.b, yymsp[-2].minor.yy147, yymsp[0].minor.yy130, yymsp[-10].minor.yy420, yymsp[-8].minor.yy420); | |
| 152341 | + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy494, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy483, yymsp[0].minor.yy524, yymsp[-10].minor.yy494, yymsp[-8].minor.yy494); | |
| 152280 | 152342 | yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ |
| 152281 | 152343 | } |
| 152282 | 152344 | break; |
| 152283 | 152345 | case 242: /* trigger_time ::= BEFORE|AFTER */ |
| 152284 | -{ yymsp[0].minor.yy420 = yymsp[0].major; /*A-overwrites-X*/ } | |
| 152346 | +{ yymsp[0].minor.yy494 = yymsp[0].major; /*A-overwrites-X*/ } | |
| 152285 | 152347 | break; |
| 152286 | 152348 | case 243: /* trigger_time ::= INSTEAD OF */ |
| 152287 | -{ yymsp[-1].minor.yy420 = TK_INSTEAD;} | |
| 152349 | +{ yymsp[-1].minor.yy494 = TK_INSTEAD;} | |
| 152288 | 152350 | break; |
| 152289 | 152351 | case 244: /* trigger_time ::= */ |
| 152290 | -{ yymsp[1].minor.yy420 = TK_BEFORE; } | |
| 152352 | +{ yymsp[1].minor.yy494 = TK_BEFORE; } | |
| 152291 | 152353 | break; |
| 152292 | 152354 | case 245: /* trigger_event ::= DELETE|INSERT */ |
| 152293 | 152355 | case 246: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==246); |
| 152294 | -{yymsp[0].minor.yy498.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy498.b = 0;} | |
| 152356 | +{yymsp[0].minor.yy90.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy90.b = 0;} | |
| 152295 | 152357 | break; |
| 152296 | 152358 | case 247: /* trigger_event ::= UPDATE OF idlist */ |
| 152297 | -{yymsp[-2].minor.yy498.a = TK_UPDATE; yymsp[-2].minor.yy498.b = yymsp[0].minor.yy200;} | |
| 152359 | +{yymsp[-2].minor.yy90.a = TK_UPDATE; yymsp[-2].minor.yy90.b = yymsp[0].minor.yy62;} | |
| 152298 | 152360 | break; |
| 152299 | 152361 | case 248: /* when_clause ::= */ |
| 152300 | 152362 | case 267: /* key_opt ::= */ yytestcase(yyruleno==267); |
| 152301 | 152363 | case 315: /* filter_opt ::= */ yytestcase(yyruleno==315); |
| 152302 | -{ yymsp[1].minor.yy130 = 0; } | |
| 152364 | +{ yymsp[1].minor.yy524 = 0; } | |
| 152303 | 152365 | break; |
| 152304 | 152366 | case 249: /* when_clause ::= WHEN expr */ |
| 152305 | 152367 | case 268: /* key_opt ::= KEY expr */ yytestcase(yyruleno==268); |
| 152306 | -{ yymsp[-1].minor.yy130 = yymsp[0].minor.yy130; } | |
| 152368 | +{ yymsp[-1].minor.yy524 = yymsp[0].minor.yy524; } | |
| 152307 | 152369 | break; |
| 152308 | 152370 | case 250: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 152309 | 152371 | { |
| 152310 | - assert( yymsp[-2].minor.yy524!=0 ); | |
| 152311 | - yymsp[-2].minor.yy524->pLast->pNext = yymsp[-1].minor.yy524; | |
| 152312 | - yymsp[-2].minor.yy524->pLast = yymsp[-1].minor.yy524; | |
| 152372 | + assert( yymsp[-2].minor.yy455!=0 ); | |
| 152373 | + yymsp[-2].minor.yy455->pLast->pNext = yymsp[-1].minor.yy455; | |
| 152374 | + yymsp[-2].minor.yy455->pLast = yymsp[-1].minor.yy455; | |
| 152313 | 152375 | } |
| 152314 | 152376 | break; |
| 152315 | 152377 | case 251: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 152316 | 152378 | { |
| 152317 | - assert( yymsp[-1].minor.yy524!=0 ); | |
| 152318 | - yymsp[-1].minor.yy524->pLast = yymsp[-1].minor.yy524; | |
| 152379 | + assert( yymsp[-1].minor.yy455!=0 ); | |
| 152380 | + yymsp[-1].minor.yy455->pLast = yymsp[-1].minor.yy455; | |
| 152319 | 152381 | } |
| 152320 | 152382 | break; |
| 152321 | 152383 | case 252: /* trnm ::= nm DOT nm */ |
| 152322 | 152384 | { |
| 152323 | 152385 | yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; |
| @@ -152339,62 +152401,62 @@ | ||
| 152339 | 152401 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 152340 | 152402 | "within triggers"); |
| 152341 | 152403 | } |
| 152342 | 152404 | break; |
| 152343 | 152405 | case 255: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 152344 | -{yylhsminor.yy524 = sqlite3TriggerUpdateStep(pParse, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy130, yymsp[-6].minor.yy420, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy104);} | |
| 152345 | - yymsp[-7].minor.yy524 = yylhsminor.yy524; | |
| 152406 | +{yylhsminor.yy455 = sqlite3TriggerUpdateStep(pParse, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy434, yymsp[-1].minor.yy524, yymsp[-6].minor.yy494, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy294);} | |
| 152407 | + yymsp[-7].minor.yy455 = yylhsminor.yy455; | |
| 152346 | 152408 | break; |
| 152347 | 152409 | case 256: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 152348 | 152410 | { |
| 152349 | - yylhsminor.yy524 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy200,yymsp[-2].minor.yy491,yymsp[-6].minor.yy420,yymsp[-1].minor.yy426,yymsp[-7].minor.yy104,yymsp[0].minor.yy104);/*yylhsminor.yy524-overwrites-yymsp[-6].minor.yy420*/ | |
| 152411 | + yylhsminor.yy455 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy62,yymsp[-2].minor.yy457,yymsp[-6].minor.yy494,yymsp[-1].minor.yy136,yymsp[-7].minor.yy294,yymsp[0].minor.yy294);/*yylhsminor.yy455-overwrites-yymsp[-6].minor.yy494*/ | |
| 152350 | 152412 | } |
| 152351 | - yymsp[-7].minor.yy524 = yylhsminor.yy524; | |
| 152413 | + yymsp[-7].minor.yy455 = yylhsminor.yy455; | |
| 152352 | 152414 | break; |
| 152353 | 152415 | case 257: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 152354 | -{yylhsminor.yy524 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy130, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy104);} | |
| 152355 | - yymsp[-5].minor.yy524 = yylhsminor.yy524; | |
| 152416 | +{yylhsminor.yy455 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy524, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy294);} | |
| 152417 | + yymsp[-5].minor.yy455 = yylhsminor.yy455; | |
| 152356 | 152418 | break; |
| 152357 | 152419 | case 258: /* trigger_cmd ::= scanpt select scanpt */ |
| 152358 | -{yylhsminor.yy524 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy491, yymsp[-2].minor.yy104, yymsp[0].minor.yy104); /*yylhsminor.yy524-overwrites-yymsp[-1].minor.yy491*/} | |
| 152359 | - yymsp[-2].minor.yy524 = yylhsminor.yy524; | |
| 152420 | +{yylhsminor.yy455 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy457, yymsp[-2].minor.yy294, yymsp[0].minor.yy294); /*yylhsminor.yy455-overwrites-yymsp[-1].minor.yy457*/} | |
| 152421 | + yymsp[-2].minor.yy455 = yylhsminor.yy455; | |
| 152360 | 152422 | break; |
| 152361 | 152423 | case 259: /* expr ::= RAISE LP IGNORE RP */ |
| 152362 | 152424 | { |
| 152363 | - yymsp[-3].minor.yy130 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); | |
| 152364 | - if( yymsp[-3].minor.yy130 ){ | |
| 152365 | - yymsp[-3].minor.yy130->affinity = OE_Ignore; | |
| 152425 | + yymsp[-3].minor.yy524 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); | |
| 152426 | + if( yymsp[-3].minor.yy524 ){ | |
| 152427 | + yymsp[-3].minor.yy524->affinity = OE_Ignore; | |
| 152366 | 152428 | } |
| 152367 | 152429 | } |
| 152368 | 152430 | break; |
| 152369 | 152431 | case 260: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 152370 | 152432 | { |
| 152371 | - yymsp[-5].minor.yy130 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); | |
| 152372 | - if( yymsp[-5].minor.yy130 ) { | |
| 152373 | - yymsp[-5].minor.yy130->affinity = (char)yymsp[-3].minor.yy420; | |
| 152433 | + yymsp[-5].minor.yy524 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); | |
| 152434 | + if( yymsp[-5].minor.yy524 ) { | |
| 152435 | + yymsp[-5].minor.yy524->affinity = (char)yymsp[-3].minor.yy494; | |
| 152374 | 152436 | } |
| 152375 | 152437 | } |
| 152376 | 152438 | break; |
| 152377 | 152439 | case 261: /* raisetype ::= ROLLBACK */ |
| 152378 | -{yymsp[0].minor.yy420 = OE_Rollback;} | |
| 152440 | +{yymsp[0].minor.yy494 = OE_Rollback;} | |
| 152379 | 152441 | break; |
| 152380 | 152442 | case 263: /* raisetype ::= FAIL */ |
| 152381 | -{yymsp[0].minor.yy420 = OE_Fail;} | |
| 152443 | +{yymsp[0].minor.yy494 = OE_Fail;} | |
| 152382 | 152444 | break; |
| 152383 | 152445 | case 264: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 152384 | 152446 | { |
| 152385 | - sqlite3DropTrigger(pParse,yymsp[0].minor.yy147,yymsp[-1].minor.yy420); | |
| 152447 | + sqlite3DropTrigger(pParse,yymsp[0].minor.yy483,yymsp[-1].minor.yy494); | |
| 152386 | 152448 | } |
| 152387 | 152449 | break; |
| 152388 | 152450 | case 265: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 152389 | 152451 | { |
| 152390 | - sqlite3Attach(pParse, yymsp[-3].minor.yy130, yymsp[-1].minor.yy130, yymsp[0].minor.yy130); | |
| 152452 | + sqlite3Attach(pParse, yymsp[-3].minor.yy524, yymsp[-1].minor.yy524, yymsp[0].minor.yy524); | |
| 152391 | 152453 | } |
| 152392 | 152454 | break; |
| 152393 | 152455 | case 266: /* cmd ::= DETACH database_kw_opt expr */ |
| 152394 | 152456 | { |
| 152395 | - sqlite3Detach(pParse, yymsp[0].minor.yy130); | |
| 152457 | + sqlite3Detach(pParse, yymsp[0].minor.yy524); | |
| 152396 | 152458 | } |
| 152397 | 152459 | break; |
| 152398 | 152460 | case 269: /* cmd ::= REINDEX */ |
| 152399 | 152461 | {sqlite3Reindex(pParse, 0, 0);} |
| 152400 | 152462 | break; |
| @@ -152407,11 +152469,11 @@ | ||
| 152407 | 152469 | case 272: /* cmd ::= ANALYZE nm dbnm */ |
| 152408 | 152470 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 152409 | 152471 | break; |
| 152410 | 152472 | case 273: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 152411 | 152473 | { |
| 152412 | - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy147,&yymsp[0].minor.yy0); | |
| 152474 | + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy483,&yymsp[0].minor.yy0); | |
| 152413 | 152475 | } |
| 152414 | 152476 | break; |
| 152415 | 152477 | case 274: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 152416 | 152478 | { |
| 152417 | 152479 | yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; |
| @@ -152419,16 +152481,16 @@ | ||
| 152419 | 152481 | } |
| 152420 | 152482 | break; |
| 152421 | 152483 | case 275: /* add_column_fullname ::= fullname */ |
| 152422 | 152484 | { |
| 152423 | 152485 | disableLookaside(pParse); |
| 152424 | - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy147); | |
| 152486 | + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy483); | |
| 152425 | 152487 | } |
| 152426 | 152488 | break; |
| 152427 | 152489 | case 276: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 152428 | 152490 | { |
| 152429 | - sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy147, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); | |
| 152491 | + sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy483, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); | |
| 152430 | 152492 | } |
| 152431 | 152493 | break; |
| 152432 | 152494 | case 277: /* cmd ::= create_vtab */ |
| 152433 | 152495 | {sqlite3VtabFinishParse(pParse,0);} |
| 152434 | 152496 | break; |
| @@ -152435,11 +152497,11 @@ | ||
| 152435 | 152497 | case 278: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 152436 | 152498 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 152437 | 152499 | break; |
| 152438 | 152500 | case 279: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 152439 | 152501 | { |
| 152440 | - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy420); | |
| 152502 | + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy494); | |
| 152441 | 152503 | } |
| 152442 | 152504 | break; |
| 152443 | 152505 | case 280: /* vtabarg ::= */ |
| 152444 | 152506 | {sqlite3VtabArgInit(pParse);} |
| 152445 | 152507 | break; |
| @@ -152448,148 +152510,148 @@ | ||
| 152448 | 152510 | case 283: /* lp ::= LP */ yytestcase(yyruleno==283); |
| 152449 | 152511 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 152450 | 152512 | break; |
| 152451 | 152513 | case 284: /* with ::= WITH wqlist */ |
| 152452 | 152514 | case 285: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==285); |
| 152453 | -{ sqlite3WithPush(pParse, yymsp[0].minor.yy523, 1); } | |
| 152515 | +{ sqlite3WithPush(pParse, yymsp[0].minor.yy59, 1); } | |
| 152454 | 152516 | break; |
| 152455 | 152517 | case 286: /* wqlist ::= nm eidlist_opt AS LP select RP */ |
| 152456 | 152518 | { |
| 152457 | - yymsp[-5].minor.yy523 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy491); /*A-overwrites-X*/ | |
| 152519 | + yymsp[-5].minor.yy59 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy434, yymsp[-1].minor.yy457); /*A-overwrites-X*/ | |
| 152458 | 152520 | } |
| 152459 | 152521 | break; |
| 152460 | 152522 | case 287: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 152461 | 152523 | { |
| 152462 | - yymsp[-7].minor.yy523 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy523, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy491); | |
| 152524 | + yymsp[-7].minor.yy59 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy59, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy434, yymsp[-1].minor.yy457); | |
| 152463 | 152525 | } |
| 152464 | 152526 | break; |
| 152465 | 152527 | case 288: /* windowdefn_list ::= windowdefn */ |
| 152466 | -{ yylhsminor.yy395 = yymsp[0].minor.yy395; } | |
| 152467 | - yymsp[0].minor.yy395 = yylhsminor.yy395; | |
| 152528 | +{ yylhsminor.yy295 = yymsp[0].minor.yy295; } | |
| 152529 | + yymsp[0].minor.yy295 = yylhsminor.yy295; | |
| 152468 | 152530 | break; |
| 152469 | 152531 | case 289: /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 152470 | 152532 | { |
| 152471 | - assert( yymsp[0].minor.yy395!=0 ); | |
| 152472 | - sqlite3WindowChain(pParse, yymsp[0].minor.yy395, yymsp[-2].minor.yy395); | |
| 152473 | - yymsp[0].minor.yy395->pNextWin = yymsp[-2].minor.yy395; | |
| 152474 | - yylhsminor.yy395 = yymsp[0].minor.yy395; | |
| 152533 | + assert( yymsp[0].minor.yy295!=0 ); | |
| 152534 | + sqlite3WindowChain(pParse, yymsp[0].minor.yy295, yymsp[-2].minor.yy295); | |
| 152535 | + yymsp[0].minor.yy295->pNextWin = yymsp[-2].minor.yy295; | |
| 152536 | + yylhsminor.yy295 = yymsp[0].minor.yy295; | |
| 152475 | 152537 | } |
| 152476 | - yymsp[-2].minor.yy395 = yylhsminor.yy395; | |
| 152538 | + yymsp[-2].minor.yy295 = yylhsminor.yy295; | |
| 152477 | 152539 | break; |
| 152478 | 152540 | case 290: /* windowdefn ::= nm AS LP window RP */ |
| 152479 | 152541 | { |
| 152480 | - if( ALWAYS(yymsp[-1].minor.yy395) ){ | |
| 152481 | - yymsp[-1].minor.yy395->zName = sqlite3DbStrNDup(pParse->db, yymsp[-4].minor.yy0.z, yymsp[-4].minor.yy0.n); | |
| 152542 | + if( ALWAYS(yymsp[-1].minor.yy295) ){ | |
| 152543 | + yymsp[-1].minor.yy295->zName = sqlite3DbStrNDup(pParse->db, yymsp[-4].minor.yy0.z, yymsp[-4].minor.yy0.n); | |
| 152482 | 152544 | } |
| 152483 | - yylhsminor.yy395 = yymsp[-1].minor.yy395; | |
| 152545 | + yylhsminor.yy295 = yymsp[-1].minor.yy295; | |
| 152484 | 152546 | } |
| 152485 | - yymsp[-4].minor.yy395 = yylhsminor.yy395; | |
| 152547 | + yymsp[-4].minor.yy295 = yylhsminor.yy295; | |
| 152486 | 152548 | break; |
| 152487 | 152549 | case 291: /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 152488 | 152550 | { |
| 152489 | - yymsp[-4].minor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, yymsp[-2].minor.yy442, yymsp[-1].minor.yy442, 0); | |
| 152551 | + yymsp[-4].minor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, yymsp[-2].minor.yy434, yymsp[-1].minor.yy434, 0); | |
| 152490 | 152552 | } |
| 152491 | 152553 | break; |
| 152492 | 152554 | case 292: /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 152493 | 152555 | { |
| 152494 | - yylhsminor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, yymsp[-2].minor.yy442, yymsp[-1].minor.yy442, &yymsp[-5].minor.yy0); | |
| 152556 | + yylhsminor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, yymsp[-2].minor.yy434, yymsp[-1].minor.yy434, &yymsp[-5].minor.yy0); | |
| 152495 | 152557 | } |
| 152496 | - yymsp[-5].minor.yy395 = yylhsminor.yy395; | |
| 152558 | + yymsp[-5].minor.yy295 = yylhsminor.yy295; | |
| 152497 | 152559 | break; |
| 152498 | 152560 | case 293: /* window ::= ORDER BY sortlist frame_opt */ |
| 152499 | 152561 | { |
| 152500 | - yymsp[-3].minor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, 0, yymsp[-1].minor.yy442, 0); | |
| 152562 | + yymsp[-3].minor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, 0, yymsp[-1].minor.yy434, 0); | |
| 152501 | 152563 | } |
| 152502 | 152564 | break; |
| 152503 | 152565 | case 294: /* window ::= nm ORDER BY sortlist frame_opt */ |
| 152504 | 152566 | { |
| 152505 | - yylhsminor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, 0, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0); | |
| 152567 | + yylhsminor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, 0, yymsp[-1].minor.yy434, &yymsp[-4].minor.yy0); | |
| 152506 | 152568 | } |
| 152507 | - yymsp[-4].minor.yy395 = yylhsminor.yy395; | |
| 152569 | + yymsp[-4].minor.yy295 = yylhsminor.yy295; | |
| 152508 | 152570 | break; |
| 152509 | 152571 | case 295: /* window ::= frame_opt */ |
| 152510 | 152572 | { |
| 152511 | - yylhsminor.yy395 = yymsp[0].minor.yy395; | |
| 152573 | + yylhsminor.yy295 = yymsp[0].minor.yy295; | |
| 152512 | 152574 | } |
| 152513 | - yymsp[0].minor.yy395 = yylhsminor.yy395; | |
| 152575 | + yymsp[0].minor.yy295 = yylhsminor.yy295; | |
| 152514 | 152576 | break; |
| 152515 | 152577 | case 296: /* window ::= nm frame_opt */ |
| 152516 | 152578 | { |
| 152517 | - yylhsminor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, 0, 0, &yymsp[-1].minor.yy0); | |
| 152579 | + yylhsminor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, 0, 0, &yymsp[-1].minor.yy0); | |
| 152518 | 152580 | } |
| 152519 | - yymsp[-1].minor.yy395 = yylhsminor.yy395; | |
| 152581 | + yymsp[-1].minor.yy295 = yylhsminor.yy295; | |
| 152520 | 152582 | break; |
| 152521 | 152583 | case 297: /* frame_opt ::= */ |
| 152522 | 152584 | { |
| 152523 | - yymsp[1].minor.yy395 = sqlite3WindowAlloc(pParse, 0, TK_UNBOUNDED, 0, TK_CURRENT, 0, 0); | |
| 152585 | + yymsp[1].minor.yy295 = sqlite3WindowAlloc(pParse, 0, TK_UNBOUNDED, 0, TK_CURRENT, 0, 0); | |
| 152524 | 152586 | } |
| 152525 | 152587 | break; |
| 152526 | 152588 | case 298: /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 152527 | 152589 | { |
| 152528 | - yylhsminor.yy395 = sqlite3WindowAlloc(pParse, yymsp[-2].minor.yy420, yymsp[-1].minor.yy273.eType, yymsp[-1].minor.yy273.pExpr, TK_CURRENT, 0, yymsp[0].minor.yy10); | |
| 152590 | + yylhsminor.yy295 = sqlite3WindowAlloc(pParse, yymsp[-2].minor.yy494, yymsp[-1].minor.yy201.eType, yymsp[-1].minor.yy201.pExpr, TK_CURRENT, 0, yymsp[0].minor.yy238); | |
| 152529 | 152591 | } |
| 152530 | - yymsp[-2].minor.yy395 = yylhsminor.yy395; | |
| 152592 | + yymsp[-2].minor.yy295 = yylhsminor.yy295; | |
| 152531 | 152593 | break; |
| 152532 | 152594 | case 299: /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 152533 | 152595 | { |
| 152534 | - yylhsminor.yy395 = sqlite3WindowAlloc(pParse, yymsp[-5].minor.yy420, yymsp[-3].minor.yy273.eType, yymsp[-3].minor.yy273.pExpr, yymsp[-1].minor.yy273.eType, yymsp[-1].minor.yy273.pExpr, yymsp[0].minor.yy10); | |
| 152596 | + yylhsminor.yy295 = sqlite3WindowAlloc(pParse, yymsp[-5].minor.yy494, yymsp[-3].minor.yy201.eType, yymsp[-3].minor.yy201.pExpr, yymsp[-1].minor.yy201.eType, yymsp[-1].minor.yy201.pExpr, yymsp[0].minor.yy238); | |
| 152535 | 152597 | } |
| 152536 | - yymsp[-5].minor.yy395 = yylhsminor.yy395; | |
| 152598 | + yymsp[-5].minor.yy295 = yylhsminor.yy295; | |
| 152537 | 152599 | break; |
| 152538 | 152600 | case 301: /* frame_bound_s ::= frame_bound */ |
| 152539 | 152601 | case 303: /* frame_bound_e ::= frame_bound */ yytestcase(yyruleno==303); |
| 152540 | -{yylhsminor.yy273 = yymsp[0].minor.yy273;} | |
| 152541 | - yymsp[0].minor.yy273 = yylhsminor.yy273; | |
| 152602 | +{yylhsminor.yy201 = yymsp[0].minor.yy201;} | |
| 152603 | + yymsp[0].minor.yy201 = yylhsminor.yy201; | |
| 152542 | 152604 | break; |
| 152543 | 152605 | case 302: /* frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 152544 | 152606 | case 304: /* frame_bound_e ::= UNBOUNDED FOLLOWING */ yytestcase(yyruleno==304); |
| 152545 | 152607 | case 306: /* frame_bound ::= CURRENT ROW */ yytestcase(yyruleno==306); |
| 152546 | -{yylhsminor.yy273.eType = yymsp[-1].major; yylhsminor.yy273.pExpr = 0;} | |
| 152547 | - yymsp[-1].minor.yy273 = yylhsminor.yy273; | |
| 152608 | +{yylhsminor.yy201.eType = yymsp[-1].major; yylhsminor.yy201.pExpr = 0;} | |
| 152609 | + yymsp[-1].minor.yy201 = yylhsminor.yy201; | |
| 152548 | 152610 | break; |
| 152549 | 152611 | case 305: /* frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 152550 | -{yylhsminor.yy273.eType = yymsp[0].major; yylhsminor.yy273.pExpr = yymsp[-1].minor.yy130;} | |
| 152551 | - yymsp[-1].minor.yy273 = yylhsminor.yy273; | |
| 152612 | +{yylhsminor.yy201.eType = yymsp[0].major; yylhsminor.yy201.pExpr = yymsp[-1].minor.yy524;} | |
| 152613 | + yymsp[-1].minor.yy201 = yylhsminor.yy201; | |
| 152552 | 152614 | break; |
| 152553 | 152615 | case 307: /* frame_exclude_opt ::= */ |
| 152554 | -{yymsp[1].minor.yy10 = 0;} | |
| 152616 | +{yymsp[1].minor.yy238 = 0;} | |
| 152555 | 152617 | break; |
| 152556 | 152618 | case 308: /* frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 152557 | -{yymsp[-1].minor.yy10 = yymsp[0].minor.yy10;} | |
| 152619 | +{yymsp[-1].minor.yy238 = yymsp[0].minor.yy238;} | |
| 152558 | 152620 | break; |
| 152559 | 152621 | case 309: /* frame_exclude ::= NO OTHERS */ |
| 152560 | 152622 | case 310: /* frame_exclude ::= CURRENT ROW */ yytestcase(yyruleno==310); |
| 152561 | -{yymsp[-1].minor.yy10 = yymsp[-1].major; /*A-overwrites-X*/} | |
| 152623 | +{yymsp[-1].minor.yy238 = yymsp[-1].major; /*A-overwrites-X*/} | |
| 152562 | 152624 | break; |
| 152563 | 152625 | case 311: /* frame_exclude ::= GROUP|TIES */ |
| 152564 | -{yymsp[0].minor.yy10 = yymsp[0].major; /*A-overwrites-X*/} | |
| 152626 | +{yymsp[0].minor.yy238 = yymsp[0].major; /*A-overwrites-X*/} | |
| 152565 | 152627 | break; |
| 152566 | 152628 | case 312: /* window_clause ::= WINDOW windowdefn_list */ |
| 152567 | -{ yymsp[-1].minor.yy395 = yymsp[0].minor.yy395; } | |
| 152629 | +{ yymsp[-1].minor.yy295 = yymsp[0].minor.yy295; } | |
| 152568 | 152630 | break; |
| 152569 | 152631 | case 313: /* over_clause ::= filter_opt OVER LP window RP */ |
| 152570 | 152632 | { |
| 152571 | - yylhsminor.yy395 = yymsp[-1].minor.yy395; | |
| 152572 | - assert( yylhsminor.yy395!=0 ); | |
| 152573 | - yylhsminor.yy395->pFilter = yymsp[-4].minor.yy130; | |
| 152633 | + yylhsminor.yy295 = yymsp[-1].minor.yy295; | |
| 152634 | + assert( yylhsminor.yy295!=0 ); | |
| 152635 | + yylhsminor.yy295->pFilter = yymsp[-4].minor.yy524; | |
| 152574 | 152636 | } |
| 152575 | - yymsp[-4].minor.yy395 = yylhsminor.yy395; | |
| 152637 | + yymsp[-4].minor.yy295 = yylhsminor.yy295; | |
| 152576 | 152638 | break; |
| 152577 | 152639 | case 314: /* over_clause ::= filter_opt OVER nm */ |
| 152578 | 152640 | { |
| 152579 | - yylhsminor.yy395 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); | |
| 152580 | - if( yylhsminor.yy395 ){ | |
| 152581 | - yylhsminor.yy395->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); | |
| 152582 | - yylhsminor.yy395->pFilter = yymsp[-2].minor.yy130; | |
| 152641 | + yylhsminor.yy295 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); | |
| 152642 | + if( yylhsminor.yy295 ){ | |
| 152643 | + yylhsminor.yy295->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); | |
| 152644 | + yylhsminor.yy295->pFilter = yymsp[-2].minor.yy524; | |
| 152583 | 152645 | }else{ |
| 152584 | - sqlite3ExprDelete(pParse->db, yymsp[-2].minor.yy130); | |
| 152646 | + sqlite3ExprDelete(pParse->db, yymsp[-2].minor.yy524); | |
| 152585 | 152647 | } |
| 152586 | 152648 | } |
| 152587 | - yymsp[-2].minor.yy395 = yylhsminor.yy395; | |
| 152649 | + yymsp[-2].minor.yy295 = yylhsminor.yy295; | |
| 152588 | 152650 | break; |
| 152589 | 152651 | case 316: /* filter_opt ::= FILTER LP WHERE expr RP */ |
| 152590 | -{ yymsp[-4].minor.yy130 = yymsp[-1].minor.yy130; } | |
| 152652 | +{ yymsp[-4].minor.yy524 = yymsp[-1].minor.yy524; } | |
| 152591 | 152653 | break; |
| 152592 | 152654 | default: |
| 152593 | 152655 | /* (317) input ::= cmdlist */ yytestcase(yyruleno==317); |
| 152594 | 152656 | /* (318) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==318); |
| 152595 | 152657 | /* (319) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=319); |
| @@ -211378,12 +211440,12 @@ | ||
| 211378 | 211440 | }else if( p2->pLeaf==0 ){ /* If p2 is at EOF */ |
| 211379 | 211441 | iRes = i1; |
| 211380 | 211442 | }else{ |
| 211381 | 211443 | int res = fts5BufferCompare(&p1->term, &p2->term); |
| 211382 | 211444 | if( res==0 ){ |
| 211383 | - assert( i2>i1 ); | |
| 211384 | - assert( i2!=0 ); | |
| 211445 | + assert_nc( i2>i1 ); | |
| 211446 | + assert_nc( i2!=0 ); | |
| 211385 | 211447 | pRes->bTermEq = 1; |
| 211386 | 211448 | if( p1->iRowid==p2->iRowid ){ |
| 211387 | 211449 | p1->bDel = p2->bDel; |
| 211388 | 211450 | return i2; |
| 211389 | 211451 | } |
| @@ -217957,11 +218019,11 @@ | ||
| 217957 | 218019 | int nArg, /* Number of args */ |
| 217958 | 218020 | sqlite3_value **apUnused /* Function arguments */ |
| 217959 | 218021 | ){ |
| 217960 | 218022 | assert( nArg==0 ); |
| 217961 | 218023 | UNUSED_PARAM2(nArg, apUnused); |
| 217962 | - sqlite3_result_text(pCtx, "fts5: 2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f", -1, SQLITE_TRANSIENT); | |
| 218024 | + sqlite3_result_text(pCtx, "fts5: 2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f", -1, SQLITE_TRANSIENT); | |
| 217963 | 218025 | } |
| 217964 | 218026 | |
| 217965 | 218027 | /* |
| 217966 | 218028 | ** Return true if zName is the extension on one of the shadow tables used |
| 217967 | 218029 | ** by this module. |
| @@ -222721,12 +222783,12 @@ | ||
| 222721 | 222783 | } |
| 222722 | 222784 | #endif /* SQLITE_CORE */ |
| 222723 | 222785 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 222724 | 222786 | |
| 222725 | 222787 | /************** End of stmt.c ************************************************/ |
| 222726 | -#if __LINE__!=222726 | |
| 222788 | +#if __LINE__!=222788 | |
| 222727 | 222789 | #undef SQLITE_SOURCE_ID |
| 222728 | -#define SQLITE_SOURCE_ID "2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2aalt2" | |
| 222790 | +#define SQLITE_SOURCE_ID "2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35alt2" | |
| 222729 | 222791 | #endif |
| 222730 | 222792 | /* Return the source-id for this library */ |
| 222731 | 222793 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 222732 | 222794 | /************************** End of sqlite3.c ******************************/ |
| 222733 | 222795 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1162,11 +1162,11 @@ | |
| 1162 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1163 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1164 | */ |
| 1165 | #define SQLITE_VERSION "3.28.0" |
| 1166 | #define SQLITE_VERSION_NUMBER 3028000 |
| 1167 | #define SQLITE_SOURCE_ID "2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f" |
| 1168 | |
| 1169 | /* |
| 1170 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1171 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1172 | ** |
| @@ -6017,11 +6017,11 @@ | |
| 6017 | ** <td>→ <td>Best numeric datatype of the value |
| 6018 | ** <tr><td><b>sqlite3_value_nochange </b> |
| 6019 | ** <td>→ <td>True if the column is unchanged in an UPDATE |
| 6020 | ** against a virtual table. |
| 6021 | ** <tr><td><b>sqlite3_value_frombind </b> |
| 6022 | ** <td>→ <td>True if value originated a bound parameter |
| 6023 | ** </table></blockquote> |
| 6024 | ** |
| 6025 | ** <b>Details:</b> |
| 6026 | ** |
| 6027 | ** These routines extract type, size, and content information from |
| @@ -13643,21 +13643,12 @@ | |
| 13643 | #define TK_VECTOR 169 |
| 13644 | #define TK_SELECT_COLUMN 170 |
| 13645 | #define TK_IF_NULL_ROW 171 |
| 13646 | #define TK_ASTERISK 172 |
| 13647 | #define TK_SPAN 173 |
| 13648 | #define TK_END_OF_FILE 174 |
| 13649 | #define TK_UNCLOSED_STRING 175 |
| 13650 | #define TK_SPACE 176 |
| 13651 | #define TK_ILLEGAL 177 |
| 13652 | |
| 13653 | /* The token codes above must all fit in 8 bits */ |
| 13654 | #define TKFLG_MASK 0xff |
| 13655 | |
| 13656 | /* Flags that can be added to a token code when it is not |
| 13657 | ** being stored in a u8: */ |
| 13658 | #define TKFLG_DONTFOLD 0x100 /* Omit constant folding optimizations */ |
| 13659 | |
| 13660 | /************** End of parse.h ***********************************************/ |
| 13661 | /************** Continuing where we left off in sqliteInt.h ******************/ |
| 13662 | #include <stdio.h> |
| 13663 | #include <stdlib.h> |
| @@ -16495,11 +16486,12 @@ | |
| 16495 | ** Allowed values for sqlite3.mDbFlags |
| 16496 | */ |
| 16497 | #define DBFLAG_SchemaChange 0x0001 /* Uncommitted Hash table changes */ |
| 16498 | #define DBFLAG_PreferBuiltin 0x0002 /* Preference to built-in funcs */ |
| 16499 | #define DBFLAG_Vacuum 0x0004 /* Currently in a VACUUM */ |
| 16500 | #define DBFLAG_SchemaKnownOk 0x0008 /* Schema is known to be valid */ |
| 16501 | |
| 16502 | /* |
| 16503 | ** Bits of the sqlite3.dbOptFlags field that are used by the |
| 16504 | ** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to |
| 16505 | ** selectively disable various optimizations. |
| @@ -18763,10 +18755,11 @@ | |
| 18763 | #endif |
| 18764 | |
| 18765 | |
| 18766 | SQLITE_PRIVATE void sqlite3SetString(char **, sqlite3*, const char*); |
| 18767 | SQLITE_PRIVATE void sqlite3ErrorMsg(Parse*, const char*, ...); |
| 18768 | SQLITE_PRIVATE void sqlite3Dequote(char*); |
| 18769 | SQLITE_PRIVATE void sqlite3DequoteExpr(Expr*); |
| 18770 | SQLITE_PRIVATE void sqlite3TokenInit(Token*,char*); |
| 18771 | SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char*, int); |
| 18772 | SQLITE_PRIVATE int sqlite3RunParser(Parse*, const char*, char **); |
| @@ -20222,10 +20215,16 @@ | |
| 20222 | ** Clear any existing type flags from a Mem and replace them with f |
| 20223 | */ |
| 20224 | #define MemSetTypeFlag(p, f) \ |
| 20225 | ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f) |
| 20226 | |
| 20227 | /* |
| 20228 | ** Return true if a memory cell is not marked as invalid. This macro |
| 20229 | ** is for use inside assert() statements only. |
| 20230 | */ |
| 20231 | #ifdef SQLITE_DEBUG |
| @@ -27368,10 +27367,11 @@ | |
| 27368 | */ |
| 27369 | static void setStrAccumError(StrAccum *p, u8 eError){ |
| 27370 | assert( eError==SQLITE_NOMEM || eError==SQLITE_TOOBIG ); |
| 27371 | p->accError = eError; |
| 27372 | if( p->mxAlloc ) sqlite3_str_reset(p); |
| 27373 | } |
| 27374 | |
| 27375 | /* |
| 27376 | ** Extra argument values from a PrintfArguments object |
| 27377 | */ |
| @@ -30225,19 +30225,27 @@ | |
| 30225 | dummy += (unsigned)x; |
| 30226 | } |
| 30227 | #endif |
| 30228 | |
| 30229 | /* |
| 30230 | ** Give a callback to the test harness that can be used to simulate faults |
| 30231 | ** in places where it is difficult or expensive to do so purely by means |
| 30232 | ** of inputs. |
| 30233 | ** |
| 30234 | ** The intent of the integer argument is to let the fault simulator know |
| 30235 | ** which of multiple sqlite3FaultSim() calls has been hit. |
| 30236 | ** |
| 30237 | ** Return whatever integer value the test callback returns, or return |
| 30238 | ** SQLITE_OK if no test callback is installed. |
| 30239 | */ |
| 30240 | #ifndef SQLITE_UNTESTABLE |
| 30241 | SQLITE_PRIVATE int sqlite3FaultSim(int iTest){ |
| 30242 | int (*xCallback)(int) = sqlite3GlobalConfig.xTestCallback; |
| 30243 | return xCallback ? xCallback(iTest) : SQLITE_OK; |
| @@ -30417,10 +30425,23 @@ | |
| 30417 | sqlite3DbFree(db, pParse->zErrMsg); |
| 30418 | pParse->zErrMsg = zMsg; |
| 30419 | pParse->rc = SQLITE_ERROR; |
| 30420 | } |
| 30421 | } |
| 30422 | |
| 30423 | /* |
| 30424 | ** Convert an SQL-style quoted string into a normal string by removing |
| 30425 | ** the quote characters. The conversion is done in-place. If the |
| 30426 | ** input does not begin with a quote character, then this routine |
| @@ -69336,11 +69357,11 @@ | |
| 69336 | MemPage *pTrunk = 0; /* Free-list trunk page */ |
| 69337 | Pgno iTrunk = 0; /* Page number of free-list trunk page */ |
| 69338 | MemPage *pPage1 = pBt->pPage1; /* Local reference to page 1 */ |
| 69339 | MemPage *pPage; /* Page being freed. May be NULL. */ |
| 69340 | int rc; /* Return Code */ |
| 69341 | int nFree; /* Initial number of pages on free-list */ |
| 69342 | |
| 69343 | assert( sqlite3_mutex_held(pBt->mutex) ); |
| 69344 | assert( CORRUPT_DB || iPage>1 ); |
| 69345 | assert( !pMemPage || pMemPage->pgno==iPage ); |
| 69346 | |
| @@ -74697,17 +74718,19 @@ | |
| 74697 | */ |
| 74698 | #ifndef SQLITE_OMIT_INCRBLOB |
| 74699 | SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ |
| 74700 | int nByte; |
| 74701 | assert( pMem->flags & MEM_Zero ); |
| 74702 | assert( pMem->flags&MEM_Blob ); |
| 74703 | assert( !sqlite3VdbeMemIsRowSet(pMem) ); |
| 74704 | assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); |
| 74705 | |
| 74706 | /* Set nByte to the number of bytes required to store the expanded blob. */ |
| 74707 | nByte = pMem->n + pMem->u.nZero; |
| 74708 | if( nByte<=0 ){ |
| 74709 | nByte = 1; |
| 74710 | } |
| 74711 | if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ |
| 74712 | return SQLITE_NOMEM_BKPT; |
| 74713 | } |
| @@ -75460,11 +75483,11 @@ | |
| 75460 | u32 nAlloc = nByte; |
| 75461 | if( flags&MEM_Term ){ |
| 75462 | nAlloc += (enc==SQLITE_UTF8?1:2); |
| 75463 | } |
| 75464 | if( nByte>iLimit ){ |
| 75465 | return SQLITE_TOOBIG; |
| 75466 | } |
| 75467 | testcase( nAlloc==0 ); |
| 75468 | testcase( nAlloc==31 ); |
| 75469 | testcase( nAlloc==32 ); |
| 75470 | if( sqlite3VdbeMemClearAndResize(pMem, (int)MAX(nAlloc,32)) ){ |
| @@ -97716,11 +97739,11 @@ | |
| 97716 | p = sqlite3ExprAnd(pParse->db, pLeft, pRight); |
| 97717 | }else{ |
| 97718 | p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)); |
| 97719 | if( p ){ |
| 97720 | memset(p, 0, sizeof(Expr)); |
| 97721 | p->op = op & TKFLG_MASK; |
| 97722 | p->iAgg = -1; |
| 97723 | } |
| 97724 | sqlite3ExprAttachSubtrees(pParse->db, p, pLeft, pRight); |
| 97725 | } |
| 97726 | if( p ) { |
| @@ -111209,11 +111232,12 @@ | |
| 111209 | char *zErr; |
| 111210 | int j; |
| 111211 | StrAccum errMsg; |
| 111212 | Table *pTab = pIdx->pTable; |
| 111213 | |
| 111214 | sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, 200); |
| 111215 | if( pIdx->aColExpr ){ |
| 111216 | sqlite3_str_appendf(&errMsg, "index '%q'", pIdx->zName); |
| 111217 | }else{ |
| 111218 | for(j=0; j<pIdx->nKeyCol; j++){ |
| 111219 | char *zCol; |
| @@ -118698,10 +118722,17 @@ | |
| 118698 | if( xferCompatibleIndex(pDestIdx, pSrcIdx) ) break; |
| 118699 | } |
| 118700 | if( pSrcIdx==0 ){ |
| 118701 | return 0; /* pDestIdx has no corresponding index in pSrc */ |
| 118702 | } |
| 118703 | } |
| 118704 | #ifndef SQLITE_OMIT_CHECK |
| 118705 | if( pDest->pCheck && sqlite3ExprListCompare(pSrc->pCheck,pDest->pCheck,-1) ){ |
| 118706 | return 0; /* Tables have different CHECK constraints. Ticket #2252 */ |
| 118707 | } |
| @@ -118775,11 +118806,11 @@ | |
| 118775 | addr2 = sqlite3VdbeAddOp3(v, OP_NotExists, iDest, 0, regRowid); |
| 118776 | VdbeCoverage(v); |
| 118777 | sqlite3RowidConstraint(pParse, onError, pDest); |
| 118778 | sqlite3VdbeJumpHere(v, addr2); |
| 118779 | autoIncStep(pParse, regAutoinc, regRowid); |
| 118780 | }else if( pDest->pIndex==0 && !(db->mDbFlags & DBFLAG_Vacuum) ){ |
| 118781 | addr1 = sqlite3VdbeAddOp2(v, OP_NewRowid, iDest, regRowid); |
| 118782 | }else{ |
| 118783 | addr1 = sqlite3VdbeAddOp2(v, OP_Rowid, iSrc, regRowid); |
| 118784 | assert( (pDest->tabFlags & TF_Autoincrement)==0 ); |
| 118785 | } |
| @@ -120104,14 +120135,17 @@ | |
| 120104 | sqlite3_str_value, |
| 120105 | /* Version 3.25.0 and later */ |
| 120106 | sqlite3_create_window_function, |
| 120107 | /* Version 3.26.0 and later */ |
| 120108 | #ifdef SQLITE_ENABLE_NORMALIZE |
| 120109 | sqlite3_normalized_sql |
| 120110 | #else |
| 120111 | 0 |
| 120112 | #endif |
| 120113 | }; |
| 120114 | |
| 120115 | /* |
| 120116 | ** Attempt to load an SQLite extension library contained in the file |
| 120117 | ** zFile. The entry point is zProc. zProc may be 0 in which case a |
| @@ -133979,11 +134013,11 @@ | |
| 133979 | } |
| 133980 | |
| 133981 | /* |
| 133982 | ** This routine implements the OP_Vacuum opcode of the VDBE. |
| 133983 | */ |
| 133984 | SQLITE_PRIVATE int sqlite3RunVacuum( |
| 133985 | char **pzErrMsg, /* Write error message here */ |
| 133986 | sqlite3 *db, /* Database connection */ |
| 133987 | int iDb, /* Which attached DB to vacuum */ |
| 133988 | sqlite3_value *pOut /* Write results here, if not NULL. VACUUM INTO */ |
| 133989 | ){ |
| @@ -134003,15 +134037,15 @@ | |
| 134003 | const char *zDbMain; /* Schema name of database to vacuum */ |
| 134004 | const char *zOut; /* Name of output file */ |
| 134005 | |
| 134006 | if( !db->autoCommit ){ |
| 134007 | sqlite3SetString(pzErrMsg, db, "cannot VACUUM from within a transaction"); |
| 134008 | return SQLITE_ERROR; |
| 134009 | } |
| 134010 | if( db->nVdbeActive>1 ){ |
| 134011 | sqlite3SetString(pzErrMsg, db,"cannot VACUUM - SQL statements in progress"); |
| 134012 | return SQLITE_ERROR; |
| 134013 | } |
| 134014 | saved_openFlags = db->openFlags; |
| 134015 | if( pOut ){ |
| 134016 | if( sqlite3_value_type(pOut)!=SQLITE_TEXT ){ |
| 134017 | sqlite3SetString(pzErrMsg, db, "non-text filename"); |
| @@ -134070,10 +134104,11 @@ | |
| 134070 | if( id->pMethods!=0 && (sqlite3OsFileSize(id, &sz)!=SQLITE_OK || sz>0) ){ |
| 134071 | rc = SQLITE_ERROR; |
| 134072 | sqlite3SetString(pzErrMsg, db, "output file already exists"); |
| 134073 | goto end_of_vacuum; |
| 134074 | } |
| 134075 | } |
| 134076 | nRes = sqlite3BtreeGetOptimalReserve(pMain); |
| 134077 | |
| 134078 | /* A VACUUM cannot change the pagesize of an encrypted database. */ |
| 134079 | #ifdef SQLITE_HAS_CODEC |
| @@ -138063,11 +138098,16 @@ | |
| 138063 | testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO ); |
| 138064 | pExpr = sqlite3ExprDup(db, pExpr, 0); |
| 138065 | pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr); |
| 138066 | } |
| 138067 | if( pAndExpr ){ |
| 138068 | pAndExpr = sqlite3PExpr(pParse, TK_AND|TKFLG_DONTFOLD, 0, pAndExpr); |
| 138069 | } |
| 138070 | } |
| 138071 | |
| 138072 | /* Run a separate WHERE clause for each term of the OR clause. After |
| 138073 | ** eliminating duplicates from other WHERE clauses, the action for each |
| @@ -148247,10 +148287,14 @@ | |
| 148247 | pIdToken->n, pIdToken->z); |
| 148248 | } |
| 148249 | sqlite3ExprListSetName(pParse, p, pIdToken, 1); |
| 148250 | return p; |
| 148251 | } |
| 148252 | /**************** End of %include directives **********************************/ |
| 148253 | /* These constants specify the various numeric values for terminal symbols |
| 148254 | ** in a format understandable to "makeheaders". This section is blank unless |
| 148255 | ** "lemon" is run with the "-m" command-line option. |
| 148256 | ***************** Begin makeheaders token definitions *************************/ |
| @@ -148310,32 +148354,32 @@ | |
| 148310 | #ifndef INTERFACE |
| 148311 | # define INTERFACE 1 |
| 148312 | #endif |
| 148313 | /************* Begin control #defines *****************************************/ |
| 148314 | #define YYCODETYPE unsigned short int |
| 148315 | #define YYNOCODE 284 |
| 148316 | #define YYACTIONTYPE unsigned short int |
| 148317 | #define YYWILDCARD 95 |
| 148318 | #define sqlite3ParserTOKENTYPE Token |
| 148319 | typedef union { |
| 148320 | int yyinit; |
| 148321 | sqlite3ParserTOKENTYPE yy0; |
| 148322 | u8 yy10; |
| 148323 | const char* yy104; |
| 148324 | Expr* yy130; |
| 148325 | SrcList* yy147; |
| 148326 | IdList* yy200; |
| 148327 | struct FrameBound yy273; |
| 148328 | Window* yy395; |
| 148329 | int yy420; |
| 148330 | Upsert* yy426; |
| 148331 | ExprList* yy442; |
| 148332 | Select* yy491; |
| 148333 | struct TrigEvent yy498; |
| 148334 | With* yy523; |
| 148335 | TriggerStep* yy524; |
| 148336 | struct {int value; int mask;} yy527; |
| 148337 | } YYMINORTYPE; |
| 148338 | #ifndef YYSTACKDEPTH |
| 148339 | #define YYSTACKDEPTH 100 |
| 148340 | #endif |
| 148341 | #define sqlite3ParserARG_SDECL |
| @@ -148349,11 +148393,11 @@ | |
| 148349 | #define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse; |
| 148350 | #define sqlite3ParserCTX_STORE yypParser->pParse=pParse; |
| 148351 | #define YYFALLBACK 1 |
| 148352 | #define YYNSTATE 541 |
| 148353 | #define YYNRULE 375 |
| 148354 | #define YYNTOKEN 159 |
| 148355 | #define YY_MAX_SHIFT 540 |
| 148356 | #define YY_MIN_SHIFTREDUCE 784 |
| 148357 | #define YY_MAX_SHIFTREDUCE 1158 |
| 148358 | #define YY_ERROR_ACTION 1159 |
| 148359 | #define YY_ACCEPT_ACTION 1160 |
| @@ -148426,190 +148470,190 @@ | |
| 148426 | ** yy_default[] Default action for each state. |
| 148427 | ** |
| 148428 | *********** Begin parsing tables **********************************************/ |
| 148429 | #define YY_ACTTAB_COUNT (2142) |
| 148430 | static const YYACTIONTYPE yy_action[] = { |
| 148431 | /* 0 */ 388, 112, 109, 209, 535, 190, 442, 259, 1160, 1, |
| 148432 | /* 10 */ 1, 540, 2, 1164, 535, 1292, 1500, 371, 289, 384, |
| 148433 | /* 20 */ 134, 1484, 1427, 1164, 1202, 69, 69, 1241, 289, 492, |
| 148434 | /* 30 */ 134, 915, 382, 296, 175, 42, 42, 1241, 242, 916, |
| 148435 | /* 40 */ 112, 109, 209, 119, 120, 110, 1136, 1136, 981, 984, |
| 148436 | /* 50 */ 974, 974, 117, 117, 118, 118, 118, 118, 1291, 264, |
| 148437 | /* 60 */ 264, 264, 264, 112, 109, 209, 112, 109, 209, 264, |
| 148438 | /* 70 */ 264, 1115, 532, 1134, 532, 176, 270, 453, 239, 206, |
| 148439 | /* 80 */ 379, 450, 532, 356, 380, 219, 118, 118, 118, 118, |
| 148440 | /* 90 */ 111, 444, 535, 1233, 1233, 219, 116, 116, 116, 116, |
| 148441 | /* 100 */ 115, 115, 114, 114, 114, 113, 415, 258, 258, 112, |
| 148442 | /* 110 */ 109, 209, 1115, 42, 42, 419, 384, 1391, 1504, 1115, |
| 148443 | /* 120 */ 532, 1115, 1116, 1117, 1134, 419, 1463, 351, 116, 116, |
| 148444 | /* 130 */ 116, 116, 115, 115, 114, 114, 114, 113, 415, 961, |
| 148445 | /* 140 */ 119, 120, 110, 1136, 1136, 981, 984, 974, 974, 117, |
| 148446 | /* 150 */ 117, 118, 118, 118, 118, 952, 1228, 1207, 1115, 951, |
| 148447 | /* 160 */ 412, 411, 1115, 1116, 1117, 1228, 535, 876, 1140, 1115, |
| 148448 | /* 170 */ 1116, 1117, 875, 1142, 941, 114, 114, 114, 113, 415, |
| 148449 | /* 180 */ 1089, 1141, 1089, 118, 118, 118, 118, 42, 42, 202, |
| 148450 | /* 190 */ 951, 951, 953, 116, 116, 116, 116, 115, 115, 114, |
| 148451 | /* 200 */ 114, 114, 113, 415, 1465, 1143, 350, 1143, 1115, 1116, |
| 148452 | /* 210 */ 1117, 231, 415, 384, 472, 469, 468, 412, 411, 442, |
| 148453 | /* 220 */ 96, 311, 430, 299, 467, 116, 116, 116, 116, 115, |
| 148454 | /* 230 */ 115, 114, 114, 114, 113, 415, 160, 119, 120, 110, |
| 148455 | /* 240 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148456 | /* 250 */ 118, 118, 115, 115, 114, 114, 114, 113, 415, 529, |
| 148457 | /* 260 */ 529, 529, 1143, 121, 1143, 116, 116, 116, 116, 115, |
| 148458 | /* 270 */ 115, 114, 114, 114, 113, 415, 941, 337, 1463, 506, |
| 148459 | /* 280 */ 491, 1067, 1530, 384, 160, 1530, 288, 526, 1115, 274, |
| 148460 | /* 290 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148461 | /* 300 */ 415, 16, 16, 406, 535, 93, 512, 119, 120, 110, |
| 148462 | /* 310 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148463 | /* 320 */ 118, 118, 141, 311, 231, 54, 54, 472, 469, 468, |
| 148464 | /* 330 */ 427, 79, 368, 1156, 288, 526, 32, 467, 1115, 1116, |
| 148465 | /* 340 */ 1117, 1323, 1480, 540, 2, 1164, 971, 971, 982, 985, |
| 148466 | /* 350 */ 289, 384, 134, 459, 1065, 533, 80, 870, 870, 1241, |
| 148467 | /* 360 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148468 | /* 370 */ 415, 818, 82, 1115, 1476, 119, 120, 110, 1136, 1136, |
| 148469 | /* 380 */ 981, 984, 974, 974, 117, 117, 118, 118, 118, 118, |
| 148470 | /* 390 */ 403, 264, 264, 238, 535, 1426, 250, 267, 336, 475, |
| 148471 | /* 400 */ 331, 474, 236, 459, 532, 1157, 961, 459, 329, 397, |
| 148472 | /* 410 */ 373, 513, 1450, 159, 975, 70, 70, 219, 413, 413, |
| 148473 | /* 420 */ 413, 818, 952, 1115, 1116, 1117, 951, 534, 116, 116, |
| 148474 | /* 430 */ 116, 116, 115, 115, 114, 114, 114, 113, 415, 1115, |
| 148475 | /* 440 */ 535, 442, 264, 264, 1115, 1390, 535, 419, 384, 422, |
| 148476 | /* 450 */ 1115, 517, 326, 1245, 304, 532, 1084, 951, 951, 953, |
| 148477 | /* 460 */ 493, 70, 70, 167, 509, 532, 1084, 70, 70, 1084, |
| 148478 | /* 470 */ 440, 535, 119, 120, 110, 1136, 1136, 981, 984, 974, |
| 148479 | /* 480 */ 974, 117, 117, 118, 118, 118, 118, 881, 535, 1115, |
| 148480 | /* 490 */ 1116, 1117, 55, 55, 1115, 1116, 1117, 517, 288, 526, |
| 148481 | /* 500 */ 1115, 1116, 1117, 517, 420, 494, 516, 113, 415, 13, |
| 148482 | /* 510 */ 13, 275, 482, 836, 349, 301, 535, 303, 500, 5, |
| 148483 | /* 520 */ 480, 1457, 138, 395, 6, 116, 116, 116, 116, 115, |
| 148484 | /* 530 */ 115, 114, 114, 114, 113, 415, 1458, 13, 13, 6, |
| 148485 | /* 540 */ 535, 1024, 1115, 535, 473, 384, 535, 435, 312, 822, |
| 148486 | /* 550 */ 1084, 400, 837, 159, 518, 181, 1115, 483, 502, 811, |
| 148487 | /* 560 */ 1084, 70, 70, 1084, 70, 70, 1115, 50, 50, 119, |
| 148488 | /* 570 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148489 | /* 580 */ 118, 118, 118, 118, 95, 338, 264, 264, 1115, 264, |
| 148490 | /* 590 */ 264, 302, 1115, 1116, 1117, 495, 3, 498, 535, 532, |
| 148491 | /* 600 */ 517, 404, 532, 484, 801, 287, 1115, 1116, 1117, 519, |
| 148492 | /* 610 */ 811, 337, 501, 12, 535, 381, 1115, 1116, 1117, 70, |
| 148493 | /* 620 */ 70, 401, 116, 116, 116, 116, 115, 115, 114, 114, |
| 148494 | /* 630 */ 114, 113, 415, 1115, 1084, 13, 13, 535, 1115, 1116, |
| 148495 | /* 640 */ 1117, 1115, 384, 902, 1084, 1211, 815, 1084, 393, 402, |
| 148496 | /* 650 */ 160, 435, 312, 1532, 369, 284, 143, 297, 70, 70, |
| 148497 | /* 660 */ 510, 1457, 337, 433, 6, 901, 119, 120, 110, 1136, |
| 148498 | /* 670 */ 1136, 981, 984, 974, 974, 117, 117, 118, 118, 118, |
| 148499 | /* 680 */ 118, 1045, 426, 1115, 1116, 1117, 449, 535, 12, 264, |
| 148500 | /* 690 */ 264, 1115, 1116, 1117, 285, 535, 1046, 265, 265, 1004, |
| 148501 | /* 700 */ 288, 526, 532, 789, 790, 791, 190, 140, 70, 70, |
| 148502 | /* 710 */ 532, 1047, 1323, 535, 309, 298, 13, 13, 383, 116, |
| 148503 | /* 720 */ 116, 116, 116, 115, 115, 114, 114, 114, 113, 415, |
| 148504 | /* 730 */ 277, 535, 856, 190, 13, 13, 1383, 497, 278, 384, |
| 148505 | /* 740 */ 278, 362, 857, 1100, 410, 376, 264, 264, 184, 900, |
| 148506 | /* 750 */ 1210, 1239, 70, 70, 1182, 1455, 187, 535, 6, 532, |
| 148507 | /* 760 */ 535, 434, 207, 119, 120, 110, 1136, 1136, 981, 984, |
| 148508 | /* 770 */ 974, 974, 117, 117, 118, 118, 118, 118, 13, 13, |
| 148509 | /* 780 */ 398, 13, 13, 264, 264, 393, 264, 264, 414, 1185, |
| 148510 | /* 790 */ 390, 425, 185, 1396, 1084, 514, 532, 485, 9, 532, |
| 148511 | /* 800 */ 242, 464, 1067, 1531, 1084, 488, 1531, 1084, 425, 424, |
| 148512 | /* 810 */ 1396, 1398, 520, 1029, 1029, 456, 116, 116, 116, 116, |
| 148513 | /* 820 */ 115, 115, 114, 114, 114, 113, 415, 535, 235, 264, |
| 148514 | /* 830 */ 264, 508, 535, 393, 208, 1134, 384, 264, 264, 448, |
| 148515 | /* 840 */ 962, 448, 532, 261, 264, 264, 900, 507, 15, 15, |
| 148516 | /* 850 */ 532, 1026, 271, 44, 44, 1026, 1095, 532, 535, 900, |
| 148517 | /* 860 */ 119, 120, 110, 1136, 1136, 981, 984, 974, 974, 117, |
| 148518 | /* 870 */ 117, 118, 118, 118, 118, 1065, 425, 1045, 1396, 56, |
| 148519 | /* 880 */ 56, 535, 368, 1066, 1231, 1231, 1134, 454, 535, 324, |
| 148520 | /* 890 */ 389, 355, 1046, 234, 233, 232, 512, 459, 459, 459, |
| 148521 | /* 900 */ 272, 448, 57, 57, 1095, 1438, 329, 1047, 535, 58, |
| 148522 | /* 910 */ 58, 421, 477, 116, 116, 116, 116, 115, 115, 114, |
| 148523 | /* 920 */ 114, 114, 113, 415, 1323, 535, 515, 535, 523, 59, |
| 148524 | /* 930 */ 59, 208, 273, 384, 310, 1435, 1323, 946, 876, 1240, |
| 148525 | /* 940 */ 1236, 317, 1456, 875, 136, 6, 60, 60, 61, 61, |
| 148526 | /* 950 */ 319, 535, 322, 384, 535, 1157, 900, 119, 120, 110, |
| 148527 | /* 960 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148528 | /* 970 */ 118, 118, 45, 45, 535, 46, 46, 119, 120, 110, |
| 148529 | /* 980 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148530 | /* 990 */ 118, 118, 399, 338, 276, 48, 48, 337, 1477, 479, |
| 148531 | /* 1000 */ 535, 107, 1451, 535, 455, 535, 1119, 95, 1338, 235, |
| 148532 | /* 1010 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148533 | /* 1020 */ 415, 49, 49, 123, 62, 62, 63, 63, 535, 408, |
| 148534 | /* 1030 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148535 | /* 1040 */ 415, 535, 142, 535, 481, 535, 1323, 535, 1503, 64, |
| 148536 | /* 1050 */ 64, 845, 1454, 1337, 535, 6, 535, 1119, 535, 357, |
| 148537 | /* 1060 */ 535, 353, 14, 14, 65, 65, 125, 125, 66, 66, |
| 148538 | /* 1070 */ 535, 389, 535, 291, 535, 51, 51, 67, 67, 68, |
| 148539 | /* 1080 */ 68, 52, 52, 292, 1453, 98, 535, 6, 535, 481, |
| 148540 | /* 1090 */ 535, 147, 147, 148, 148, 75, 75, 535, 915, 535, |
| 148541 | /* 1100 */ 827, 201, 200, 528, 390, 384, 916, 53, 53, 71, |
| 148542 | /* 1110 */ 71, 126, 126, 515, 409, 288, 526, 216, 72, 72, |
| 148543 | /* 1120 */ 127, 127, 391, 161, 535, 384, 535, 263, 206, 119, |
| 148544 | /* 1130 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148545 | /* 1140 */ 118, 118, 118, 118, 535, 128, 128, 124, 124, 119, |
| 148546 | /* 1150 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148547 | /* 1160 */ 118, 118, 118, 118, 446, 146, 146, 102, 1209, 100, |
| 148548 | /* 1170 */ 1133, 212, 139, 535, 38, 437, 1062, 308, 535, 370, |
| 148549 | /* 1180 */ 95, 295, 116, 116, 116, 116, 115, 115, 114, 114, |
| 148550 | /* 1190 */ 114, 113, 415, 535, 145, 145, 535, 938, 535, 132, |
| 148551 | /* 1200 */ 132, 535, 116, 116, 116, 116, 115, 115, 114, 114, |
| 148552 | /* 1210 */ 114, 113, 415, 535, 131, 131, 1151, 129, 129, 130, |
| 148553 | /* 1220 */ 130, 30, 74, 74, 535, 17, 535, 218, 535, 943, |
| 148554 | /* 1230 */ 441, 1277, 241, 241, 76, 76, 443, 101, 313, 241, |
| 148555 | /* 1240 */ 465, 95, 1023, 237, 1023, 73, 73, 43, 43, 47, |
| 148556 | /* 1250 */ 47, 335, 31, 327, 447, 266, 95, 384, 1276, 835, |
| 148557 | /* 1260 */ 834, 334, 193, 1007, 436, 429, 237, 825, 842, 843, |
| 148558 | /* 1270 */ 1011, 909, 873, 955, 241, 107, 1022, 384, 1022, 197, |
| 148559 | /* 1280 */ 1441, 119, 120, 110, 1136, 1136, 981, 984, 974, 974, |
| 148560 | /* 1290 */ 117, 117, 118, 118, 118, 118, 809, 305, 1264, 137, |
| 148561 | /* 1300 */ 1415, 119, 108, 110, 1136, 1136, 981, 984, 974, 974, |
| 148562 | /* 1310 */ 117, 117, 118, 118, 118, 118, 874, 522, 825, 107, |
| 148563 | /* 1320 */ 283, 1011, 1414, 1470, 955, 451, 314, 1273, 318, 321, |
| 148564 | /* 1330 */ 323, 325, 1224, 1208, 116, 116, 116, 116, 115, 115, |
| 148565 | /* 1340 */ 114, 114, 114, 113, 415, 330, 339, 340, 1285, 1322, |
| 148566 | /* 1350 */ 1260, 1271, 521, 1328, 116, 116, 116, 116, 115, 115, |
| 148567 | /* 1360 */ 114, 114, 114, 113, 415, 1191, 256, 1493, 1184, 1173, |
| 148568 | /* 1370 */ 460, 1172, 1174, 1257, 384, 342, 1487, 344, 346, 199, |
| 148569 | /* 1380 */ 195, 367, 11, 211, 307, 445, 1307, 428, 1315, 375, |
| 148570 | /* 1390 */ 203, 1207, 470, 188, 384, 189, 525, 1490, 1151, 120, |
| 148571 | /* 1400 */ 110, 1136, 1136, 981, 984, 974, 974, 117, 117, 118, |
| 148572 | /* 1410 */ 118, 118, 118, 333, 1387, 1386, 245, 300, 348, 1434, |
| 148573 | /* 1420 */ 110, 1136, 1136, 981, 984, 974, 974, 117, 117, 118, |
| 148574 | /* 1430 */ 118, 118, 118, 198, 360, 163, 1432, 1148, 78, 81, |
| 148575 | /* 1440 */ 392, 82, 1392, 439, 173, 105, 527, 157, 4, 165, |
| 148576 | /* 1450 */ 1312, 116, 116, 116, 116, 115, 115, 114, 114, 114, |
| 148577 | /* 1460 */ 113, 415, 530, 93, 35, 431, 432, 1304, 168, 463, |
| 148578 | /* 1470 */ 221, 116, 116, 116, 116, 115, 115, 114, 114, 114, |
| 148579 | /* 1480 */ 113, 415, 169, 170, 171, 416, 372, 438, 1318, 177, |
| 148580 | /* 1490 */ 452, 374, 36, 225, 1381, 87, 458, 524, 257, 1403, |
| 148581 | /* 1500 */ 316, 105, 527, 227, 4, 182, 461, 160, 320, 228, |
| 148582 | /* 1510 */ 377, 1175, 229, 476, 405, 1227, 1226, 1225, 530, 827, |
| 148583 | /* 1520 */ 961, 1218, 378, 1199, 1198, 407, 103, 103, 281, 1217, |
| 148584 | /* 1530 */ 8, 332, 1197, 104, 1502, 416, 537, 536, 282, 487, |
| 148585 | /* 1540 */ 951, 416, 490, 496, 1268, 92, 341, 243, 244, 1461, |
| 148586 | /* 1550 */ 1269, 1267, 122, 524, 1266, 515, 10, 288, 526, 343, |
| 148587 | /* 1560 */ 352, 1460, 354, 99, 504, 94, 499, 251, 1181, 503, |
| 148588 | /* 1570 */ 194, 951, 951, 953, 954, 27, 961, 1250, 345, 347, |
| 148589 | /* 1580 */ 1249, 358, 103, 103, 359, 34, 538, 1110, 1367, 104, |
| 148590 | /* 1590 */ 255, 416, 537, 536, 539, 1170, 951, 286, 252, 254, |
| 148591 | /* 1600 */ 149, 1165, 1419, 135, 1420, 785, 279, 1418, 417, 1417, |
| 148592 | /* 1610 */ 1195, 196, 150, 290, 210, 269, 151, 1021, 133, 1194, |
| 148593 | /* 1620 */ 1019, 935, 162, 386, 387, 77, 1192, 951, 951, 953, |
| 148594 | /* 1630 */ 954, 27, 1479, 1104, 418, 164, 153, 268, 217, 166, |
| 148595 | /* 1640 */ 859, 306, 366, 366, 365, 253, 363, 220, 1035, 798, |
| 148596 | /* 1650 */ 172, 939, 105, 527, 155, 4, 394, 174, 396, 83, |
| 148597 | /* 1660 */ 84, 85, 213, 86, 294, 1038, 156, 223, 222, 530, |
| 148598 | /* 1670 */ 1034, 144, 293, 18, 224, 241, 315, 1027, 1145, 178, |
| 148599 | /* 1680 */ 457, 226, 37, 179, 800, 334, 462, 230, 328, 466, |
| 148600 | /* 1690 */ 180, 471, 416, 88, 19, 20, 89, 280, 838, 158, |
| 148601 | /* 1700 */ 191, 478, 215, 1097, 524, 90, 204, 192, 987, 91, |
| 148602 | /* 1710 */ 152, 1070, 39, 154, 1071, 504, 486, 40, 489, 205, |
| 148603 | /* 1720 */ 505, 260, 105, 527, 214, 4, 908, 961, 262, 183, |
| 148604 | /* 1730 */ 240, 21, 903, 103, 103, 107, 22, 1086, 23, 530, |
| 148605 | /* 1740 */ 104, 1074, 416, 537, 536, 24, 1088, 951, 25, 1093, |
| 148606 | /* 1750 */ 1090, 1094, 7, 33, 511, 186, 26, 1002, 385, 95, |
| 148607 | /* 1760 */ 988, 986, 416, 288, 526, 990, 1044, 246, 1043, 247, |
| 148608 | /* 1770 */ 991, 28, 41, 106, 524, 956, 810, 29, 951, 951, |
| 148609 | /* 1780 */ 953, 954, 27, 531, 869, 504, 423, 248, 249, 1495, |
| 148610 | /* 1790 */ 503, 1494, 361, 364, 1105, 1161, 1161, 961, 1161, 1161, |
| 148611 | /* 1800 */ 1161, 1161, 1161, 103, 103, 1161, 1161, 1161, 1161, 1161, |
| 148612 | /* 1810 */ 104, 1161, 416, 537, 536, 1104, 418, 951, 1161, 268, |
| 148613 | /* 1820 */ 1161, 1161, 1161, 1161, 366, 366, 365, 253, 363, 1161, |
| 148614 | /* 1830 */ 1161, 798, 1161, 1161, 1161, 1161, 105, 527, 1161, 4, |
| 148615 | /* 1840 */ 1161, 1161, 1161, 1161, 213, 1161, 294, 1161, 951, 951, |
| @@ -148643,330 +148687,331 @@ | |
| 148643 | /* 2120 */ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, |
| 148644 | /* 2130 */ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, |
| 148645 | /* 2140 */ 1161, 423, |
| 148646 | }; |
| 148647 | static const YYCODETYPE yy_lookahead[] = { |
| 148648 | /* 0 */ 172, 242, 243, 244, 167, 167, 167, 186, 159, 160, |
| 148649 | /* 10 */ 161, 162, 163, 164, 167, 191, 187, 179, 169, 19, |
| 148650 | /* 20 */ 171, 162, 263, 164, 195, 188, 189, 178, 169, 178, |
| 148651 | /* 30 */ 171, 31, 188, 167, 22, 188, 189, 178, 24, 39, |
| 148652 | /* 40 */ 242, 243, 244, 43, 44, 45, 46, 47, 48, 49, |
| 148653 | /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 191, 210, |
| 148654 | /* 60 */ 211, 210, 211, 242, 243, 244, 242, 243, 244, 210, |
| 148655 | /* 70 */ 211, 59, 223, 59, 223, 22, 237, 249, 227, 228, |
| 148656 | /* 80 */ 188, 253, 223, 246, 188, 236, 54, 55, 56, 57, |
| 148657 | /* 90 */ 58, 167, 167, 206, 207, 236, 96, 97, 98, 99, |
| 148658 | /* 100 */ 100, 101, 102, 103, 104, 105, 106, 210, 211, 242, |
| 148659 | /* 110 */ 243, 244, 59, 188, 189, 266, 19, 251, 201, 59, |
| 148660 | /* 120 */ 223, 109, 110, 111, 110, 266, 279, 280, 96, 97, |
| 148661 | /* 130 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 94, |
| 148662 | /* 140 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 148663 | /* 150 */ 53, 54, 55, 56, 57, 110, 195, 196, 59, 114, |
| 148664 | /* 160 */ 100, 101, 109, 110, 111, 204, 167, 128, 108, 109, |
| 148665 | /* 170 */ 110, 111, 133, 113, 73, 102, 103, 104, 105, 106, |
| 148666 | /* 180 */ 83, 121, 85, 54, 55, 56, 57, 188, 189, 26, |
| 148667 | /* 190 */ 145, 146, 147, 96, 97, 98, 99, 100, 101, 102, |
| 148668 | /* 200 */ 103, 104, 105, 106, 279, 145, 281, 147, 109, 110, |
| 148669 | /* 210 */ 111, 112, 106, 19, 115, 116, 117, 100, 101, 167, |
| 148670 | /* 220 */ 26, 120, 121, 122, 125, 96, 97, 98, 99, 100, |
| 148671 | /* 230 */ 101, 102, 103, 104, 105, 106, 81, 43, 44, 45, |
| 148672 | /* 240 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148673 | /* 250 */ 56, 57, 100, 101, 102, 103, 104, 105, 106, 183, |
| 148674 | /* 260 */ 184, 185, 145, 69, 147, 96, 97, 98, 99, 100, |
| 148675 | /* 270 */ 101, 102, 103, 104, 105, 106, 73, 167, 279, 280, |
| 148676 | /* 280 */ 167, 22, 23, 19, 81, 26, 131, 132, 59, 237, |
| 148677 | /* 290 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148678 | /* 300 */ 106, 188, 189, 19, 167, 142, 167, 43, 44, 45, |
| 148679 | /* 310 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148680 | /* 320 */ 56, 57, 212, 120, 112, 188, 189, 115, 116, 117, |
| 148681 | /* 330 */ 238, 67, 22, 23, 131, 132, 22, 125, 109, 110, |
| 148682 | /* 340 */ 111, 167, 161, 162, 163, 164, 46, 47, 48, 49, |
| 148683 | /* 350 */ 169, 19, 171, 167, 95, 127, 24, 129, 130, 178, |
| 148684 | /* 360 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148685 | /* 370 */ 106, 59, 143, 59, 167, 43, 44, 45, 46, 47, |
| 148686 | /* 380 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
| 148687 | /* 390 */ 106, 210, 211, 26, 167, 209, 112, 113, 114, 115, |
| 148688 | /* 400 */ 116, 117, 118, 167, 223, 95, 94, 167, 124, 235, |
| 148689 | /* 410 */ 178, 272, 273, 167, 114, 188, 189, 236, 183, 184, |
| 148690 | /* 420 */ 185, 109, 110, 109, 110, 111, 114, 167, 96, 97, |
| 148691 | /* 430 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 59, |
| 148692 | /* 440 */ 167, 167, 210, 211, 59, 209, 167, 266, 19, 209, |
| 148693 | /* 450 */ 59, 224, 23, 211, 16, 223, 76, 145, 146, 147, |
| 148694 | /* 460 */ 233, 188, 189, 72, 84, 223, 86, 188, 189, 89, |
| 148695 | /* 470 */ 238, 167, 43, 44, 45, 46, 47, 48, 49, 50, |
| 148696 | /* 480 */ 51, 52, 53, 54, 55, 56, 57, 102, 167, 109, |
| 148697 | /* 490 */ 110, 111, 188, 189, 109, 110, 111, 224, 131, 132, |
| 148698 | /* 500 */ 109, 110, 111, 224, 264, 19, 233, 105, 106, 188, |
| 148699 | /* 510 */ 189, 237, 233, 35, 167, 77, 167, 79, 138, 22, |
| 148700 | /* 520 */ 274, 275, 22, 202, 278, 96, 97, 98, 99, 100, |
| 148701 | /* 530 */ 101, 102, 103, 104, 105, 106, 275, 188, 189, 278, |
| 148702 | /* 540 */ 167, 11, 59, 167, 66, 19, 167, 121, 122, 23, |
| 148703 | /* 550 */ 76, 202, 74, 167, 178, 72, 59, 178, 84, 59, |
| 148704 | /* 560 */ 86, 188, 189, 89, 188, 189, 59, 188, 189, 43, |
| 148705 | /* 570 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148706 | /* 580 */ 54, 55, 56, 57, 26, 167, 210, 211, 59, 210, |
| 148707 | /* 590 */ 211, 153, 109, 110, 111, 109, 22, 224, 167, 223, |
| 148708 | /* 600 */ 224, 123, 223, 224, 21, 215, 109, 110, 111, 233, |
| 148709 | /* 610 */ 110, 167, 138, 186, 167, 225, 109, 110, 111, 188, |
| 148710 | /* 620 */ 189, 203, 96, 97, 98, 99, 100, 101, 102, 103, |
| 148711 | /* 630 */ 104, 105, 106, 59, 76, 188, 189, 167, 109, 110, |
| 148712 | /* 640 */ 111, 59, 19, 136, 86, 197, 23, 89, 167, 202, |
| 148713 | /* 650 */ 81, 121, 122, 269, 270, 224, 212, 178, 188, 189, |
| 148714 | /* 660 */ 274, 275, 167, 80, 278, 136, 43, 44, 45, 46, |
| 148715 | /* 670 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 148716 | /* 680 */ 57, 12, 113, 109, 110, 111, 259, 167, 186, 210, |
| 148717 | /* 690 */ 211, 109, 110, 111, 224, 167, 27, 210, 211, 116, |
| 148718 | /* 700 */ 131, 132, 223, 7, 8, 9, 167, 212, 188, 189, |
| 148719 | /* 710 */ 223, 42, 167, 167, 178, 234, 188, 189, 179, 96, |
| 148720 | /* 720 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, |
| 148721 | /* 730 */ 202, 167, 63, 167, 188, 189, 153, 167, 199, 19, |
| 148722 | /* 740 */ 201, 175, 73, 23, 224, 179, 210, 211, 202, 26, |
| 148723 | /* 750 */ 197, 178, 188, 189, 178, 275, 254, 167, 278, 223, |
| 148724 | /* 760 */ 167, 259, 167, 43, 44, 45, 46, 47, 48, 49, |
| 148725 | /* 770 */ 50, 51, 52, 53, 54, 55, 56, 57, 188, 189, |
| 148726 | /* 780 */ 235, 188, 189, 210, 211, 167, 210, 211, 224, 181, |
| 148727 | /* 790 */ 182, 167, 202, 167, 76, 202, 223, 178, 22, 223, |
| 148728 | /* 800 */ 24, 19, 22, 23, 86, 178, 26, 89, 184, 185, |
| 148729 | /* 810 */ 184, 185, 178, 120, 121, 122, 96, 97, 98, 99, |
| 148730 | /* 820 */ 100, 101, 102, 103, 104, 105, 106, 167, 46, 210, |
| 148731 | /* 830 */ 211, 66, 167, 167, 111, 59, 19, 210, 211, 167, |
| 148732 | /* 840 */ 23, 167, 223, 23, 210, 211, 26, 82, 188, 189, |
| 148733 | /* 850 */ 223, 29, 234, 188, 189, 33, 91, 223, 167, 136, |
| 148734 | /* 860 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 148735 | /* 870 */ 53, 54, 55, 56, 57, 95, 252, 12, 252, 188, |
| 148736 | /* 880 */ 189, 167, 22, 23, 206, 207, 110, 65, 167, 16, |
| 148737 | /* 890 */ 108, 167, 27, 120, 121, 122, 167, 167, 167, 167, |
| 148738 | /* 900 */ 234, 167, 188, 189, 139, 167, 124, 42, 167, 188, |
| 148739 | /* 910 */ 189, 167, 102, 96, 97, 98, 99, 100, 101, 102, |
| 148740 | /* 920 */ 103, 104, 105, 106, 167, 167, 138, 167, 63, 188, |
| 148741 | /* 930 */ 189, 111, 260, 19, 260, 167, 167, 23, 128, 209, |
| 148742 | /* 940 */ 209, 209, 275, 133, 156, 278, 188, 189, 188, 189, |
| 148743 | /* 950 */ 77, 167, 79, 19, 167, 95, 136, 43, 44, 45, |
| 148744 | /* 960 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148745 | /* 970 */ 56, 57, 188, 189, 167, 188, 189, 43, 44, 45, |
| 148746 | /* 980 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148747 | /* 990 */ 56, 57, 235, 167, 260, 188, 189, 167, 157, 158, |
| 148748 | /* 1000 */ 167, 26, 273, 167, 235, 167, 59, 26, 241, 46, |
| 148749 | /* 1010 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148750 | /* 1020 */ 106, 188, 189, 22, 188, 189, 188, 189, 167, 203, |
| 148751 | /* 1030 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148752 | /* 1040 */ 106, 167, 212, 167, 277, 167, 167, 167, 23, 188, |
| 148753 | /* 1050 */ 189, 26, 275, 241, 167, 278, 167, 110, 167, 220, |
| 148754 | /* 1060 */ 167, 222, 188, 189, 188, 189, 188, 189, 188, 189, |
| 148755 | /* 1070 */ 167, 108, 167, 167, 167, 188, 189, 188, 189, 188, |
| 148756 | /* 1080 */ 189, 188, 189, 167, 275, 151, 167, 278, 167, 277, |
| 148757 | /* 1090 */ 167, 188, 189, 188, 189, 188, 189, 167, 31, 167, |
| 148758 | /* 1100 */ 119, 100, 101, 181, 182, 19, 39, 188, 189, 188, |
| 148759 | /* 1110 */ 189, 188, 189, 138, 235, 131, 132, 24, 188, 189, |
| 148760 | /* 1120 */ 188, 189, 267, 268, 167, 19, 167, 227, 228, 43, |
| 148761 | /* 1130 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148762 | /* 1140 */ 54, 55, 56, 57, 167, 188, 189, 188, 189, 43, |
| 148763 | /* 1150 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148764 | /* 1160 */ 54, 55, 56, 57, 19, 188, 189, 150, 197, 152, |
| 148765 | /* 1170 */ 26, 15, 22, 167, 24, 122, 23, 23, 167, 26, |
| 148766 | /* 1180 */ 26, 167, 96, 97, 98, 99, 100, 101, 102, 103, |
| 148767 | /* 1190 */ 104, 105, 106, 167, 188, 189, 167, 144, 167, 188, |
| 148768 | /* 1200 */ 189, 167, 96, 97, 98, 99, 100, 101, 102, 103, |
| 148769 | /* 1210 */ 104, 105, 106, 167, 188, 189, 60, 188, 189, 188, |
| 148770 | /* 1220 */ 189, 22, 188, 189, 167, 22, 167, 134, 167, 23, |
| 148771 | /* 1230 */ 23, 167, 26, 26, 188, 189, 23, 151, 23, 26, |
| 148772 | /* 1240 */ 23, 26, 145, 26, 147, 188, 189, 188, 189, 188, |
| 148773 | /* 1250 */ 189, 114, 53, 23, 109, 22, 26, 19, 167, 113, |
| 148774 | /* 1260 */ 114, 124, 24, 23, 61, 167, 26, 59, 7, 8, |
| 148775 | /* 1270 */ 59, 23, 23, 59, 26, 26, 145, 19, 147, 135, |
| 148776 | /* 1280 */ 167, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 148777 | /* 1290 */ 52, 53, 54, 55, 56, 57, 23, 167, 229, 26, |
| 148778 | /* 1300 */ 167, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 148779 | /* 1310 */ 52, 53, 54, 55, 56, 57, 23, 207, 110, 26, |
| 148780 | /* 1320 */ 226, 110, 167, 283, 110, 167, 167, 167, 167, 167, |
| 148781 | /* 1330 */ 167, 167, 167, 167, 96, 97, 98, 99, 100, 101, |
| 148782 | /* 1340 */ 102, 103, 104, 105, 106, 167, 167, 167, 167, 167, |
| 148783 | /* 1350 */ 167, 167, 167, 167, 96, 97, 98, 99, 100, 101, |
| 148784 | /* 1360 */ 102, 103, 104, 105, 106, 167, 255, 134, 167, 167, |
| 148785 | /* 1370 */ 256, 167, 167, 226, 19, 226, 167, 226, 226, 186, |
| 148786 | /* 1380 */ 213, 165, 214, 265, 261, 261, 217, 230, 217, 217, |
| 148787 | /* 1390 */ 200, 196, 192, 220, 19, 220, 248, 170, 60, 44, |
| 148788 | /* 1400 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 148789 | /* 1410 */ 55, 56, 57, 191, 191, 191, 134, 230, 230, 174, |
| 148790 | /* 1420 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 148791 | /* 1430 */ 55, 56, 57, 214, 216, 265, 174, 38, 262, 262, |
| 148792 | /* 1440 */ 174, 143, 251, 108, 22, 19, 20, 43, 22, 205, |
| 148793 | /* 1450 */ 240, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 148794 | /* 1460 */ 105, 106, 36, 142, 239, 18, 174, 217, 208, 18, |
| 148795 | /* 1470 */ 173, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 148796 | /* 1480 */ 105, 106, 208, 208, 208, 59, 217, 217, 205, 205, |
| 148797 | /* 1490 */ 174, 240, 239, 173, 217, 150, 62, 71, 174, 258, |
| 148798 | /* 1500 */ 257, 19, 20, 173, 22, 22, 193, 81, 174, 173, |
| 148799 | /* 1510 */ 193, 174, 173, 108, 64, 190, 190, 190, 36, 119, |
| 148800 | /* 1520 */ 94, 198, 193, 190, 192, 106, 100, 101, 250, 198, |
| 148801 | /* 1530 */ 48, 190, 190, 107, 190, 109, 110, 111, 250, 193, |
| 148802 | /* 1540 */ 114, 59, 193, 137, 232, 108, 231, 174, 88, 282, |
| 148803 | /* 1550 */ 232, 232, 141, 71, 232, 138, 22, 131, 132, 231, |
| 148804 | /* 1560 */ 220, 282, 174, 150, 82, 140, 139, 25, 177, 87, |
| 148805 | /* 1570 */ 219, 145, 146, 147, 148, 149, 94, 221, 231, 231, |
| 148806 | /* 1580 */ 221, 218, 100, 101, 217, 26, 176, 13, 245, 107, |
| 148807 | /* 1590 */ 6, 109, 110, 111, 166, 166, 114, 247, 168, 168, |
| 148808 | /* 1600 */ 180, 166, 186, 194, 186, 4, 194, 186, 3, 186, |
| 148809 | /* 1610 */ 186, 22, 180, 155, 15, 93, 180, 23, 16, 186, |
| 148810 | /* 1620 */ 23, 132, 268, 271, 271, 186, 186, 145, 146, 147, |
| 148811 | /* 1630 */ 148, 149, 0, 1, 2, 143, 123, 5, 24, 135, |
| 148812 | /* 1640 */ 20, 16, 10, 11, 12, 13, 14, 137, 1, 17, |
| 148813 | /* 1650 */ 135, 144, 19, 20, 123, 22, 61, 143, 37, 53, |
| 148814 | /* 1660 */ 53, 53, 30, 53, 32, 109, 123, 134, 34, 36, |
| 148815 | /* 1670 */ 1, 5, 40, 22, 108, 26, 153, 68, 75, 68, |
| 148816 | /* 1680 */ 41, 134, 24, 108, 20, 124, 19, 118, 23, 67, |
| 148817 | /* 1690 */ 22, 67, 59, 22, 22, 22, 22, 67, 28, 37, |
| 148818 | /* 1700 */ 23, 22, 70, 23, 71, 142, 157, 23, 23, 26, |
| 148819 | /* 1710 */ 78, 23, 22, 81, 23, 82, 24, 22, 24, 134, |
| 148820 | /* 1720 */ 87, 23, 19, 20, 92, 22, 109, 94, 23, 22, |
| 148821 | /* 1730 */ 34, 34, 136, 100, 101, 26, 34, 85, 34, 36, |
| 148822 | /* 1740 */ 107, 23, 109, 110, 111, 34, 83, 114, 34, 90, |
| 148823 | /* 1750 */ 75, 75, 44, 22, 24, 26, 34, 23, 126, 26, |
| 148824 | /* 1760 */ 23, 23, 59, 131, 132, 23, 23, 26, 23, 22, |
| 148825 | /* 1770 */ 11, 22, 22, 22, 71, 23, 23, 22, 145, 146, |
| 148826 | /* 1780 */ 147, 148, 149, 26, 128, 82, 154, 134, 134, 134, |
| 148827 | /* 1790 */ 87, 134, 23, 15, 1, 284, 284, 94, 284, 284, |
| 148828 | /* 1800 */ 284, 284, 284, 100, 101, 284, 284, 284, 284, 284, |
| 148829 | /* 1810 */ 107, 284, 109, 110, 111, 1, 2, 114, 284, 5, |
| 148830 | /* 1820 */ 284, 284, 284, 284, 10, 11, 12, 13, 14, 284, |
| 148831 | /* 1830 */ 284, 17, 284, 284, 284, 284, 19, 20, 284, 22, |
| 148832 | /* 1840 */ 284, 284, 284, 284, 30, 284, 32, 284, 145, 146, |
| 148833 | /* 1850 */ 147, 148, 149, 36, 40, 284, 284, 284, 284, 284, |
| 148834 | /* 1860 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, |
| 148835 | /* 1870 */ 284, 284, 284, 284, 284, 284, 59, 284, 284, 284, |
| 148836 | /* 1880 */ 284, 284, 284, 284, 70, 284, 284, 284, 71, 284, |
| 148837 | /* 1890 */ 284, 284, 78, 284, 284, 81, 19, 20, 284, 22, |
| 148838 | /* 1900 */ 284, 284, 284, 284, 284, 284, 92, 284, 284, 284, |
| 148839 | /* 1910 */ 284, 94, 284, 36, 284, 284, 284, 100, 101, 102, |
| 148840 | /* 1920 */ 284, 284, 284, 284, 107, 284, 109, 110, 111, 284, |
| 148841 | /* 1930 */ 284, 114, 284, 284, 284, 284, 59, 284, 284, 284, |
| 148842 | /* 1940 */ 126, 284, 284, 284, 284, 131, 132, 284, 71, 284, |
| 148843 | /* 1950 */ 284, 284, 284, 284, 284, 284, 19, 20, 284, 22, |
| 148844 | /* 1960 */ 284, 284, 145, 146, 147, 148, 149, 284, 154, 284, |
| 148845 | /* 1970 */ 284, 94, 284, 36, 284, 284, 284, 100, 101, 284, |
| 148846 | /* 1980 */ 284, 284, 284, 284, 107, 284, 109, 110, 111, 284, |
| 148847 | /* 1990 */ 284, 114, 5, 284, 284, 284, 59, 10, 11, 12, |
| 148848 | /* 2000 */ 13, 14, 284, 284, 17, 284, 284, 284, 71, 284, |
| 148849 | /* 2010 */ 284, 284, 284, 284, 284, 284, 284, 30, 284, 32, |
| 148850 | /* 2020 */ 284, 284, 145, 146, 147, 148, 149, 40, 284, 284, |
| 148851 | /* 2030 */ 284, 94, 284, 284, 284, 284, 284, 100, 101, 284, |
| 148852 | /* 2040 */ 284, 284, 284, 284, 107, 284, 109, 110, 111, 284, |
| 148853 | /* 2050 */ 284, 114, 284, 284, 284, 284, 284, 70, 284, 284, |
| 148854 | /* 2060 */ 284, 284, 284, 284, 284, 78, 284, 284, 81, 284, |
| 148855 | /* 2070 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 92, |
| 148856 | /* 2080 */ 284, 284, 145, 146, 147, 148, 149, 284, 284, 284, |
| 148857 | /* 2090 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, |
| 148858 | /* 2100 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, |
| 148859 | /* 2110 */ 284, 284, 284, 126, 284, 284, 284, 284, 131, 132, |
| 148860 | /* 2120 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, |
| 148861 | /* 2130 */ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, |
| 148862 | /* 2140 */ 284, 154, 284, 284, 284, 284, 284, 284, 284, 284, |
| 148863 | /* 2150 */ 284, 284, |
| 148864 | }; |
| 148865 | #define YY_SHIFT_COUNT (540) |
| 148866 | #define YY_SHIFT_MIN (0) |
| 148867 | #define YY_SHIFT_MAX (1987) |
| 148868 | static const unsigned short int yy_shift_ofst[] = { |
| 148869 | /* 0 */ 1814, 1632, 1987, 1426, 1426, 155, 1482, 1633, 1703, 1877, |
| 148870 | /* 10 */ 1877, 1877, 203, 0, 0, 264, 1106, 1877, 1877, 1877, |
| 148871 | /* 20 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148872 | /* 30 */ 60, 60, 380, 380, 99, 569, 155, 155, 155, 155, |
| 148873 | /* 40 */ 155, 155, 97, 194, 332, 429, 526, 623, 720, 817, |
| 148874 | /* 50 */ 914, 934, 1086, 1238, 1106, 1106, 1106, 1106, 1106, 1106, |
| 148875 | /* 60 */ 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, |
| 148876 | /* 70 */ 1106, 1106, 1258, 1106, 1355, 1375, 1375, 1817, 1877, 1877, |
| 148877 | /* 80 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148878 | /* 90 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148879 | /* 100 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148880 | /* 110 */ 1937, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148881 | /* 120 */ 1877, 1877, 1877, 1877, 32, 129, 129, 129, 129, 129, |
| 148882 | /* 130 */ 169, 152, 73, 582, 583, 782, 582, 117, 117, 582, |
| 148883 | /* 140 */ 367, 367, 367, 367, 426, 402, 106, 2142, 2142, 284, |
| 148884 | /* 150 */ 284, 284, 229, 12, 391, 12, 12, 669, 669, 474, |
| 148885 | /* 160 */ 483, 259, 780, 582, 582, 582, 582, 582, 582, 582, |
| 148886 | /* 170 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, |
| 148887 | /* 180 */ 582, 582, 582, 582, 558, 558, 582, 530, 718, 718, |
| 148888 | /* 190 */ 947, 841, 841, 947, 788, 984, 2142, 2142, 2142, 312, |
| 148889 | /* 200 */ 45, 45, 53, 212, 314, 385, 497, 507, 529, 574, |
| 148890 | /* 210 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 101, |
| 148891 | /* 220 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, |
| 148892 | /* 230 */ 582, 582, 478, 478, 478, 582, 582, 582, 582, 820, |
| 148893 | /* 240 */ 582, 582, 582, 776, 765, 582, 582, 865, 582, 582, |
| 148894 | /* 250 */ 582, 582, 582, 582, 582, 582, 693, 822, 228, 14, |
| 148895 | /* 260 */ 14, 14, 14, 723, 228, 228, 810, 1001, 696, 1156, |
| 148896 | /* 270 */ 163, 486, 486, 1145, 163, 163, 1145, 981, 1025, 963, |
| 148897 | /* 280 */ 1067, 1067, 1067, 486, 975, 975, 1017, 1144, 39, 1150, |
| 148898 | /* 290 */ 1338, 1282, 1282, 1399, 1399, 1282, 1298, 1335, 1422, 1404, |
| 148899 | /* 300 */ 1321, 1447, 1447, 1447, 1447, 1282, 1451, 1321, 1321, 1335, |
| 148900 | /* 310 */ 1422, 1404, 1404, 1321, 1282, 1451, 1345, 1434, 1282, 1451, |
| 148901 | /* 320 */ 1483, 1282, 1451, 1282, 1451, 1483, 1405, 1405, 1405, 1450, |
| 148902 | /* 330 */ 1483, 1405, 1400, 1405, 1450, 1405, 1405, 1483, 1419, 1419, |
| 148903 | /* 340 */ 1483, 1406, 1437, 1406, 1437, 1406, 1437, 1406, 1437, 1282, |
| 148904 | /* 350 */ 1460, 1460, 1411, 1417, 1534, 1282, 1413, 1411, 1425, 1427, |
| 148905 | /* 360 */ 1321, 1542, 1559, 1574, 1574, 1584, 1584, 1584, 2142, 2142, |
| 148906 | /* 370 */ 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, |
| 148907 | /* 380 */ 2142, 2142, 2142, 2142, 300, 438, 310, 860, 873, 773, |
| 148908 | /* 390 */ 500, 1153, 1199, 1093, 1053, 1154, 1203, 1206, 1207, 1213, |
| 148909 | /* 400 */ 1215, 1217, 1230, 1208, 1146, 1261, 1137, 1211, 1240, 1248, |
| 148910 | /* 410 */ 1249, 1097, 1131, 1273, 1293, 1214, 1233, 1601, 1605, 1589, |
| 148911 | /* 420 */ 1458, 1599, 1522, 1602, 1594, 1597, 1489, 1492, 1513, 1614, |
| 148912 | /* 430 */ 1504, 1620, 1510, 1625, 1647, 1515, 1507, 1531, 1595, 1621, |
| 148913 | /* 440 */ 1514, 1606, 1607, 1608, 1610, 1543, 1556, 1634, 1533, 1669, |
| 148914 | /* 450 */ 1666, 1651, 1566, 1523, 1609, 1649, 1611, 1603, 1639, 1547, |
| 148915 | /* 460 */ 1575, 1658, 1664, 1667, 1561, 1569, 1668, 1622, 1671, 1672, |
| 148916 | /* 470 */ 1665, 1673, 1624, 1670, 1674, 1630, 1662, 1677, 1563, 1679, |
| 148917 | /* 480 */ 1680, 1549, 1684, 1685, 1683, 1688, 1690, 1692, 1691, 1695, |
| 148918 | /* 490 */ 1694, 1585, 1698, 1705, 1617, 1696, 1707, 1596, 1709, 1697, |
| 148919 | /* 500 */ 1702, 1704, 1711, 1652, 1675, 1663, 1708, 1676, 1659, 1714, |
| 148920 | /* 510 */ 1718, 1731, 1730, 1729, 1733, 1722, 1734, 1709, 1737, 1738, |
| 148921 | /* 520 */ 1742, 1743, 1741, 1745, 1747, 1759, 1749, 1750, 1752, 1753, |
| 148922 | /* 530 */ 1751, 1755, 1757, 1656, 1653, 1654, 1655, 1657, 1769, 1778, |
| 148923 | /* 540 */ 1793, |
| 148924 | }; |
| 148925 | #define YY_REDUCE_COUNT (383) |
| 148926 | #define YY_REDUCE_MIN (-241) |
| 148927 | #define YY_REDUCE_MAX (1440) |
| 148928 | static const short yy_reduce_ofst[] = { |
| 148929 | /* 0 */ -151, 181, -141, 376, 379, -149, -153, -75, -1, 227, |
| 148930 | /* 10 */ 273, 279, 232, -176, -133, -241, -179, 321, 349, 447, |
| 148931 | /* 20 */ 528, 373, 546, 590, 431, 470, 593, -163, 520, 564, |
| 148932 | /* 30 */ 624, 626, 246, 386, 539, 479, 536, 573, 576, 619, |
| 148933 | /* 40 */ 627, 634, -202, -202, -202, -202, -202, -202, -202, -202, |
| 148934 | /* 50 */ -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, |
| 148935 | /* 60 */ -202, -202, -202, -202, -202, -202, -202, -202, -202, -202, |
| 148936 | /* 70 */ -202, -202, -202, -202, -202, -202, -202, 113, 137, 304, |
| 148937 | /* 80 */ 660, 665, 691, 714, 721, 741, 758, 760, 784, 787, |
| 148938 | /* 90 */ 807, 833, 836, 838, 861, 874, 876, 878, 880, 887, |
| 148939 | /* 100 */ 889, 891, 893, 903, 905, 907, 919, 921, 923, 930, |
| 148940 | /* 110 */ 932, 957, 959, 977, 1006, 1011, 1026, 1029, 1031, 1034, |
| 148941 | /* 120 */ 1046, 1057, 1059, 1061, -202, -202, -202, -202, -202, -202, |
| 148942 | /* 130 */ -202, -202, -202, 240, -172, -39, 139, 76, 235, 566, |
| 148943 | /* 140 */ -103, 487, -103, 487, 502, -202, -202, -202, -202, -171, |
| 148944 | /* 150 */ -171, -171, -134, -161, 110, 52, 274, -113, 678, 261, |
| 148945 | /* 160 */ 444, 384, 384, -162, 481, 618, 666, 495, 186, 236, |
| 148946 | /* 170 */ 730, 731, 672, 174, 674, 545, 757, 734, 769, 732, |
| 148947 | /* 180 */ 418, 830, 826, 879, 480, 667, 729, 427, 777, 809, |
| 148948 | /* 190 */ 608, 767, 812, 922, 839, 242, 855, 900, 390, -156, |
| 148949 | /* 200 */ -108, -104, -76, -83, 207, 260, 347, 570, 595, 724, |
| 148950 | /* 210 */ 738, 744, 768, 906, 916, 1014, 1064, 1091, 1098, 92, |
| 148951 | /* 220 */ 1113, 1130, 1133, 1155, 1158, 1159, 1160, 1161, 1162, 1163, |
| 148952 | /* 230 */ 1164, 1165, 448, 553, 971, 1166, 1178, 1179, 1180, 1069, |
| 148953 | /* 240 */ 1181, 1182, 1183, 1094, 1040, 1184, 1185, 1110, 1186, 260, |
| 148954 | /* 250 */ 1198, 1201, 1202, 1204, 1205, 1209, 1114, 1111, 1167, 1147, |
| 148955 | /* 260 */ 1149, 1151, 1152, 1069, 1167, 1167, 1168, 1193, 1216, 1118, |
| 148956 | /* 270 */ 1169, 1157, 1187, 1123, 1171, 1172, 1124, 1200, 1190, 1195, |
| 148957 | /* 280 */ 1222, 1223, 1224, 1188, 1173, 1175, 1148, 1218, 1219, 1227, |
| 148958 | /* 290 */ 1170, 1245, 1262, 1176, 1177, 1266, 1191, 1210, 1225, 1244, |
| 148959 | /* 300 */ 1250, 1260, 1274, 1275, 1276, 1292, 1297, 1269, 1270, 1251, |
| 148960 | /* 310 */ 1253, 1283, 1284, 1277, 1316, 1320, 1241, 1243, 1324, 1330, |
| 148961 | /* 320 */ 1313, 1334, 1336, 1337, 1339, 1317, 1325, 1326, 1327, 1323, |
| 148962 | /* 330 */ 1329, 1333, 1332, 1341, 1331, 1342, 1344, 1346, 1278, 1288, |
| 148963 | /* 340 */ 1349, 1312, 1315, 1318, 1328, 1319, 1347, 1322, 1348, 1373, |
| 148964 | /* 350 */ 1267, 1279, 1356, 1340, 1343, 1388, 1350, 1359, 1351, 1363, |
| 148965 | /* 360 */ 1367, 1391, 1410, 1430, 1431, 1428, 1429, 1435, 1352, 1353, |
| 148966 | /* 370 */ 1354, 1420, 1416, 1418, 1421, 1423, 1432, 1409, 1412, 1424, |
| 148967 | /* 380 */ 1433, 1439, 1440, 1436, |
| 148968 | }; |
| 148969 | static const YYACTIONTYPE yy_default[] = { |
| 148970 | /* 0 */ 1536, 1536, 1536, 1376, 1159, 1265, 1159, 1159, 1159, 1376, |
| 148971 | /* 10 */ 1376, 1376, 1159, 1295, 1295, 1429, 1190, 1159, 1159, 1159, |
| 148972 | /* 20 */ 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1375, 1159, 1159, |
| @@ -149380,135 +149425,152 @@ | |
| 149380 | /* 154 */ "ALTER", |
| 149381 | /* 155 */ "ADD", |
| 149382 | /* 156 */ "WINDOW", |
| 149383 | /* 157 */ "OVER", |
| 149384 | /* 158 */ "FILTER", |
| 149385 | /* 159 */ "input", |
| 149386 | /* 160 */ "cmdlist", |
| 149387 | /* 161 */ "ecmd", |
| 149388 | /* 162 */ "cmdx", |
| 149389 | /* 163 */ "explain", |
| 149390 | /* 164 */ "cmd", |
| 149391 | /* 165 */ "transtype", |
| 149392 | /* 166 */ "trans_opt", |
| 149393 | /* 167 */ "nm", |
| 149394 | /* 168 */ "savepoint_opt", |
| 149395 | /* 169 */ "create_table", |
| 149396 | /* 170 */ "create_table_args", |
| 149397 | /* 171 */ "createkw", |
| 149398 | /* 172 */ "temp", |
| 149399 | /* 173 */ "ifnotexists", |
| 149400 | /* 174 */ "dbnm", |
| 149401 | /* 175 */ "columnlist", |
| 149402 | /* 176 */ "conslist_opt", |
| 149403 | /* 177 */ "table_options", |
| 149404 | /* 178 */ "select", |
| 149405 | /* 179 */ "columnname", |
| 149406 | /* 180 */ "carglist", |
| 149407 | /* 181 */ "typetoken", |
| 149408 | /* 182 */ "typename", |
| 149409 | /* 183 */ "signed", |
| 149410 | /* 184 */ "plus_num", |
| 149411 | /* 185 */ "minus_num", |
| 149412 | /* 186 */ "scanpt", |
| 149413 | /* 187 */ "ccons", |
| 149414 | /* 188 */ "term", |
| 149415 | /* 189 */ "expr", |
| 149416 | /* 190 */ "onconf", |
| 149417 | /* 191 */ "sortorder", |
| 149418 | /* 192 */ "autoinc", |
| 149419 | /* 193 */ "eidlist_opt", |
| 149420 | /* 194 */ "refargs", |
| 149421 | /* 195 */ "defer_subclause", |
| 149422 | /* 196 */ "refarg", |
| 149423 | /* 197 */ "refact", |
| 149424 | /* 198 */ "init_deferred_pred_opt", |
| 149425 | /* 199 */ "conslist", |
| 149426 | /* 200 */ "tconscomma", |
| 149427 | /* 201 */ "tcons", |
| 149428 | /* 202 */ "sortlist", |
| 149429 | /* 203 */ "eidlist", |
| 149430 | /* 204 */ "defer_subclause_opt", |
| 149431 | /* 205 */ "orconf", |
| 149432 | /* 206 */ "resolvetype", |
| 149433 | /* 207 */ "raisetype", |
| 149434 | /* 208 */ "ifexists", |
| 149435 | /* 209 */ "fullname", |
| 149436 | /* 210 */ "selectnowith", |
| 149437 | /* 211 */ "oneselect", |
| 149438 | /* 212 */ "wqlist", |
| 149439 | /* 213 */ "multiselect_op", |
| 149440 | /* 214 */ "distinct", |
| 149441 | /* 215 */ "selcollist", |
| 149442 | /* 216 */ "from", |
| 149443 | /* 217 */ "where_opt", |
| 149444 | /* 218 */ "groupby_opt", |
| 149445 | /* 219 */ "having_opt", |
| 149446 | /* 220 */ "orderby_opt", |
| 149447 | /* 221 */ "limit_opt", |
| 149448 | /* 222 */ "window_clause", |
| 149449 | /* 223 */ "values", |
| 149450 | /* 224 */ "nexprlist", |
| 149451 | /* 225 */ "sclp", |
| 149452 | /* 226 */ "as", |
| 149453 | /* 227 */ "seltablist", |
| 149454 | /* 228 */ "stl_prefix", |
| 149455 | /* 229 */ "joinop", |
| 149456 | /* 230 */ "indexed_opt", |
| 149457 | /* 231 */ "on_opt", |
| 149458 | /* 232 */ "using_opt", |
| 149459 | /* 233 */ "exprlist", |
| 149460 | /* 234 */ "xfullname", |
| 149461 | /* 235 */ "idlist", |
| 149462 | /* 236 */ "with", |
| 149463 | /* 237 */ "setlist", |
| 149464 | /* 238 */ "insert_cmd", |
| 149465 | /* 239 */ "idlist_opt", |
| 149466 | /* 240 */ "upsert", |
| 149467 | /* 241 */ "over_clause", |
| 149468 | /* 242 */ "likeop", |
| 149469 | /* 243 */ "between_op", |
| 149470 | /* 244 */ "in_op", |
| 149471 | /* 245 */ "paren_exprlist", |
| 149472 | /* 246 */ "case_operand", |
| 149473 | /* 247 */ "case_exprlist", |
| 149474 | /* 248 */ "case_else", |
| 149475 | /* 249 */ "uniqueflag", |
| 149476 | /* 250 */ "collate", |
| 149477 | /* 251 */ "vinto", |
| 149478 | /* 252 */ "nmnum", |
| 149479 | /* 253 */ "trigger_decl", |
| 149480 | /* 254 */ "trigger_cmd_list", |
| 149481 | /* 255 */ "trigger_time", |
| 149482 | /* 256 */ "trigger_event", |
| 149483 | /* 257 */ "foreach_clause", |
| 149484 | /* 258 */ "when_clause", |
| 149485 | /* 259 */ "trigger_cmd", |
| 149486 | /* 260 */ "trnm", |
| 149487 | /* 261 */ "tridxby", |
| 149488 | /* 262 */ "database_kw_opt", |
| 149489 | /* 263 */ "key_opt", |
| 149490 | /* 264 */ "add_column_fullname", |
| 149491 | /* 265 */ "kwcolumn_opt", |
| 149492 | /* 266 */ "create_vtab", |
| 149493 | /* 267 */ "vtabarglist", |
| 149494 | /* 268 */ "vtabarg", |
| 149495 | /* 269 */ "vtabargtoken", |
| 149496 | /* 270 */ "lp", |
| 149497 | /* 271 */ "anylist", |
| 149498 | /* 272 */ "windowdefn_list", |
| 149499 | /* 273 */ "windowdefn", |
| 149500 | /* 274 */ "window", |
| 149501 | /* 275 */ "frame_opt", |
| 149502 | /* 276 */ "part_opt", |
| 149503 | /* 277 */ "filter_opt", |
| 149504 | /* 278 */ "range_or_rows", |
| 149505 | /* 279 */ "frame_bound", |
| 149506 | /* 280 */ "frame_bound_s", |
| 149507 | /* 281 */ "frame_bound_e", |
| 149508 | /* 282 */ "frame_exclude_opt", |
| 149509 | /* 283 */ "frame_exclude", |
| 149510 | }; |
| 149511 | #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ |
| 149512 | |
| 149513 | #ifndef NDEBUG |
| 149514 | /* For tracing reduce actions, the names of all rules are required. |
| @@ -150012,101 +150074,101 @@ | |
| 150012 | ** Note: during a reduce, the only symbols destroyed are those |
| 150013 | ** which appear on the RHS of the rule, but which are *not* used |
| 150014 | ** inside the C code. |
| 150015 | */ |
| 150016 | /********* Begin destructor definitions ***************************************/ |
| 150017 | case 178: /* select */ |
| 150018 | case 210: /* selectnowith */ |
| 150019 | case 211: /* oneselect */ |
| 150020 | case 223: /* values */ |
| 150021 | { |
| 150022 | sqlite3SelectDelete(pParse->db, (yypminor->yy491)); |
| 150023 | } |
| 150024 | break; |
| 150025 | case 188: /* term */ |
| 150026 | case 189: /* expr */ |
| 150027 | case 217: /* where_opt */ |
| 150028 | case 219: /* having_opt */ |
| 150029 | case 231: /* on_opt */ |
| 150030 | case 246: /* case_operand */ |
| 150031 | case 248: /* case_else */ |
| 150032 | case 251: /* vinto */ |
| 150033 | case 258: /* when_clause */ |
| 150034 | case 263: /* key_opt */ |
| 150035 | case 277: /* filter_opt */ |
| 150036 | { |
| 150037 | sqlite3ExprDelete(pParse->db, (yypminor->yy130)); |
| 150038 | } |
| 150039 | break; |
| 150040 | case 193: /* eidlist_opt */ |
| 150041 | case 202: /* sortlist */ |
| 150042 | case 203: /* eidlist */ |
| 150043 | case 215: /* selcollist */ |
| 150044 | case 218: /* groupby_opt */ |
| 150045 | case 220: /* orderby_opt */ |
| 150046 | case 224: /* nexprlist */ |
| 150047 | case 225: /* sclp */ |
| 150048 | case 233: /* exprlist */ |
| 150049 | case 237: /* setlist */ |
| 150050 | case 245: /* paren_exprlist */ |
| 150051 | case 247: /* case_exprlist */ |
| 150052 | case 276: /* part_opt */ |
| 150053 | { |
| 150054 | sqlite3ExprListDelete(pParse->db, (yypminor->yy442)); |
| 150055 | } |
| 150056 | break; |
| 150057 | case 209: /* fullname */ |
| 150058 | case 216: /* from */ |
| 150059 | case 227: /* seltablist */ |
| 150060 | case 228: /* stl_prefix */ |
| 150061 | case 234: /* xfullname */ |
| 150062 | { |
| 150063 | sqlite3SrcListDelete(pParse->db, (yypminor->yy147)); |
| 150064 | } |
| 150065 | break; |
| 150066 | case 212: /* wqlist */ |
| 150067 | { |
| 150068 | sqlite3WithDelete(pParse->db, (yypminor->yy523)); |
| 150069 | } |
| 150070 | break; |
| 150071 | case 222: /* window_clause */ |
| 150072 | case 272: /* windowdefn_list */ |
| 150073 | { |
| 150074 | sqlite3WindowListDelete(pParse->db, (yypminor->yy395)); |
| 150075 | } |
| 150076 | break; |
| 150077 | case 232: /* using_opt */ |
| 150078 | case 235: /* idlist */ |
| 150079 | case 239: /* idlist_opt */ |
| 150080 | { |
| 150081 | sqlite3IdListDelete(pParse->db, (yypminor->yy200)); |
| 150082 | } |
| 150083 | break; |
| 150084 | case 241: /* over_clause */ |
| 150085 | case 273: /* windowdefn */ |
| 150086 | case 274: /* window */ |
| 150087 | case 275: /* frame_opt */ |
| 150088 | { |
| 150089 | sqlite3WindowDelete(pParse->db, (yypminor->yy395)); |
| 150090 | } |
| 150091 | break; |
| 150092 | case 254: /* trigger_cmd_list */ |
| 150093 | case 259: /* trigger_cmd */ |
| 150094 | { |
| 150095 | sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy524)); |
| 150096 | } |
| 150097 | break; |
| 150098 | case 256: /* trigger_event */ |
| 150099 | { |
| 150100 | sqlite3IdListDelete(pParse->db, (yypminor->yy498).b); |
| 150101 | } |
| 150102 | break; |
| 150103 | case 279: /* frame_bound */ |
| 150104 | case 280: /* frame_bound_s */ |
| 150105 | case 281: /* frame_bound_e */ |
| 150106 | { |
| 150107 | sqlite3ExprDelete(pParse->db, (yypminor->yy273).pExpr); |
| 150108 | } |
| 150109 | break; |
| 150110 | /********* End destructor definitions *****************************************/ |
| 150111 | default: break; /* If no destructor action specified: do nothing */ |
| 150112 | } |
| @@ -150397,385 +150459,385 @@ | |
| 150397 | } |
| 150398 | |
| 150399 | /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side |
| 150400 | ** of that rule */ |
| 150401 | static const YYCODETYPE yyRuleInfoLhs[] = { |
| 150402 | 163, /* (0) explain ::= EXPLAIN */ |
| 150403 | 163, /* (1) explain ::= EXPLAIN QUERY PLAN */ |
| 150404 | 162, /* (2) cmdx ::= cmd */ |
| 150405 | 164, /* (3) cmd ::= BEGIN transtype trans_opt */ |
| 150406 | 165, /* (4) transtype ::= */ |
| 150407 | 165, /* (5) transtype ::= DEFERRED */ |
| 150408 | 165, /* (6) transtype ::= IMMEDIATE */ |
| 150409 | 165, /* (7) transtype ::= EXCLUSIVE */ |
| 150410 | 164, /* (8) cmd ::= COMMIT|END trans_opt */ |
| 150411 | 164, /* (9) cmd ::= ROLLBACK trans_opt */ |
| 150412 | 164, /* (10) cmd ::= SAVEPOINT nm */ |
| 150413 | 164, /* (11) cmd ::= RELEASE savepoint_opt nm */ |
| 150414 | 164, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ |
| 150415 | 169, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 150416 | 171, /* (14) createkw ::= CREATE */ |
| 150417 | 173, /* (15) ifnotexists ::= */ |
| 150418 | 173, /* (16) ifnotexists ::= IF NOT EXISTS */ |
| 150419 | 172, /* (17) temp ::= TEMP */ |
| 150420 | 172, /* (18) temp ::= */ |
| 150421 | 170, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_options */ |
| 150422 | 170, /* (20) create_table_args ::= AS select */ |
| 150423 | 177, /* (21) table_options ::= */ |
| 150424 | 177, /* (22) table_options ::= WITHOUT nm */ |
| 150425 | 179, /* (23) columnname ::= nm typetoken */ |
| 150426 | 181, /* (24) typetoken ::= */ |
| 150427 | 181, /* (25) typetoken ::= typename LP signed RP */ |
| 150428 | 181, /* (26) typetoken ::= typename LP signed COMMA signed RP */ |
| 150429 | 182, /* (27) typename ::= typename ID|STRING */ |
| 150430 | 186, /* (28) scanpt ::= */ |
| 150431 | 187, /* (29) ccons ::= CONSTRAINT nm */ |
| 150432 | 187, /* (30) ccons ::= DEFAULT scanpt term scanpt */ |
| 150433 | 187, /* (31) ccons ::= DEFAULT LP expr RP */ |
| 150434 | 187, /* (32) ccons ::= DEFAULT PLUS term scanpt */ |
| 150435 | 187, /* (33) ccons ::= DEFAULT MINUS term scanpt */ |
| 150436 | 187, /* (34) ccons ::= DEFAULT scanpt ID|INDEXED */ |
| 150437 | 187, /* (35) ccons ::= NOT NULL onconf */ |
| 150438 | 187, /* (36) ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 150439 | 187, /* (37) ccons ::= UNIQUE onconf */ |
| 150440 | 187, /* (38) ccons ::= CHECK LP expr RP */ |
| 150441 | 187, /* (39) ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 150442 | 187, /* (40) ccons ::= defer_subclause */ |
| 150443 | 187, /* (41) ccons ::= COLLATE ID|STRING */ |
| 150444 | 192, /* (42) autoinc ::= */ |
| 150445 | 192, /* (43) autoinc ::= AUTOINCR */ |
| 150446 | 194, /* (44) refargs ::= */ |
| 150447 | 194, /* (45) refargs ::= refargs refarg */ |
| 150448 | 196, /* (46) refarg ::= MATCH nm */ |
| 150449 | 196, /* (47) refarg ::= ON INSERT refact */ |
| 150450 | 196, /* (48) refarg ::= ON DELETE refact */ |
| 150451 | 196, /* (49) refarg ::= ON UPDATE refact */ |
| 150452 | 197, /* (50) refact ::= SET NULL */ |
| 150453 | 197, /* (51) refact ::= SET DEFAULT */ |
| 150454 | 197, /* (52) refact ::= CASCADE */ |
| 150455 | 197, /* (53) refact ::= RESTRICT */ |
| 150456 | 197, /* (54) refact ::= NO ACTION */ |
| 150457 | 195, /* (55) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 150458 | 195, /* (56) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 150459 | 198, /* (57) init_deferred_pred_opt ::= */ |
| 150460 | 198, /* (58) init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 150461 | 198, /* (59) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 150462 | 176, /* (60) conslist_opt ::= */ |
| 150463 | 200, /* (61) tconscomma ::= COMMA */ |
| 150464 | 201, /* (62) tcons ::= CONSTRAINT nm */ |
| 150465 | 201, /* (63) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 150466 | 201, /* (64) tcons ::= UNIQUE LP sortlist RP onconf */ |
| 150467 | 201, /* (65) tcons ::= CHECK LP expr RP onconf */ |
| 150468 | 201, /* (66) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 150469 | 204, /* (67) defer_subclause_opt ::= */ |
| 150470 | 190, /* (68) onconf ::= */ |
| 150471 | 190, /* (69) onconf ::= ON CONFLICT resolvetype */ |
| 150472 | 205, /* (70) orconf ::= */ |
| 150473 | 205, /* (71) orconf ::= OR resolvetype */ |
| 150474 | 206, /* (72) resolvetype ::= IGNORE */ |
| 150475 | 206, /* (73) resolvetype ::= REPLACE */ |
| 150476 | 164, /* (74) cmd ::= DROP TABLE ifexists fullname */ |
| 150477 | 208, /* (75) ifexists ::= IF EXISTS */ |
| 150478 | 208, /* (76) ifexists ::= */ |
| 150479 | 164, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 150480 | 164, /* (78) cmd ::= DROP VIEW ifexists fullname */ |
| 150481 | 164, /* (79) cmd ::= select */ |
| 150482 | 178, /* (80) select ::= WITH wqlist selectnowith */ |
| 150483 | 178, /* (81) select ::= WITH RECURSIVE wqlist selectnowith */ |
| 150484 | 178, /* (82) select ::= selectnowith */ |
| 150485 | 210, /* (83) selectnowith ::= selectnowith multiselect_op oneselect */ |
| 150486 | 213, /* (84) multiselect_op ::= UNION */ |
| 150487 | 213, /* (85) multiselect_op ::= UNION ALL */ |
| 150488 | 213, /* (86) multiselect_op ::= EXCEPT|INTERSECT */ |
| 150489 | 211, /* (87) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 150490 | 211, /* (88) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 150491 | 223, /* (89) values ::= VALUES LP nexprlist RP */ |
| 150492 | 223, /* (90) values ::= values COMMA LP nexprlist RP */ |
| 150493 | 214, /* (91) distinct ::= DISTINCT */ |
| 150494 | 214, /* (92) distinct ::= ALL */ |
| 150495 | 214, /* (93) distinct ::= */ |
| 150496 | 225, /* (94) sclp ::= */ |
| 150497 | 215, /* (95) selcollist ::= sclp scanpt expr scanpt as */ |
| 150498 | 215, /* (96) selcollist ::= sclp scanpt STAR */ |
| 150499 | 215, /* (97) selcollist ::= sclp scanpt nm DOT STAR */ |
| 150500 | 226, /* (98) as ::= AS nm */ |
| 150501 | 226, /* (99) as ::= */ |
| 150502 | 216, /* (100) from ::= */ |
| 150503 | 216, /* (101) from ::= FROM seltablist */ |
| 150504 | 228, /* (102) stl_prefix ::= seltablist joinop */ |
| 150505 | 228, /* (103) stl_prefix ::= */ |
| 150506 | 227, /* (104) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 150507 | 227, /* (105) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 150508 | 227, /* (106) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 150509 | 227, /* (107) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 150510 | 174, /* (108) dbnm ::= */ |
| 150511 | 174, /* (109) dbnm ::= DOT nm */ |
| 150512 | 209, /* (110) fullname ::= nm */ |
| 150513 | 209, /* (111) fullname ::= nm DOT nm */ |
| 150514 | 234, /* (112) xfullname ::= nm */ |
| 150515 | 234, /* (113) xfullname ::= nm DOT nm */ |
| 150516 | 234, /* (114) xfullname ::= nm DOT nm AS nm */ |
| 150517 | 234, /* (115) xfullname ::= nm AS nm */ |
| 150518 | 229, /* (116) joinop ::= COMMA|JOIN */ |
| 150519 | 229, /* (117) joinop ::= JOIN_KW JOIN */ |
| 150520 | 229, /* (118) joinop ::= JOIN_KW nm JOIN */ |
| 150521 | 229, /* (119) joinop ::= JOIN_KW nm nm JOIN */ |
| 150522 | 231, /* (120) on_opt ::= ON expr */ |
| 150523 | 231, /* (121) on_opt ::= */ |
| 150524 | 230, /* (122) indexed_opt ::= */ |
| 150525 | 230, /* (123) indexed_opt ::= INDEXED BY nm */ |
| 150526 | 230, /* (124) indexed_opt ::= NOT INDEXED */ |
| 150527 | 232, /* (125) using_opt ::= USING LP idlist RP */ |
| 150528 | 232, /* (126) using_opt ::= */ |
| 150529 | 220, /* (127) orderby_opt ::= */ |
| 150530 | 220, /* (128) orderby_opt ::= ORDER BY sortlist */ |
| 150531 | 202, /* (129) sortlist ::= sortlist COMMA expr sortorder */ |
| 150532 | 202, /* (130) sortlist ::= expr sortorder */ |
| 150533 | 191, /* (131) sortorder ::= ASC */ |
| 150534 | 191, /* (132) sortorder ::= DESC */ |
| 150535 | 191, /* (133) sortorder ::= */ |
| 150536 | 218, /* (134) groupby_opt ::= */ |
| 150537 | 218, /* (135) groupby_opt ::= GROUP BY nexprlist */ |
| 150538 | 219, /* (136) having_opt ::= */ |
| 150539 | 219, /* (137) having_opt ::= HAVING expr */ |
| 150540 | 221, /* (138) limit_opt ::= */ |
| 150541 | 221, /* (139) limit_opt ::= LIMIT expr */ |
| 150542 | 221, /* (140) limit_opt ::= LIMIT expr OFFSET expr */ |
| 150543 | 221, /* (141) limit_opt ::= LIMIT expr COMMA expr */ |
| 150544 | 164, /* (142) cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ |
| 150545 | 217, /* (143) where_opt ::= */ |
| 150546 | 217, /* (144) where_opt ::= WHERE expr */ |
| 150547 | 164, /* (145) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ |
| 150548 | 237, /* (146) setlist ::= setlist COMMA nm EQ expr */ |
| 150549 | 237, /* (147) setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 150550 | 237, /* (148) setlist ::= nm EQ expr */ |
| 150551 | 237, /* (149) setlist ::= LP idlist RP EQ expr */ |
| 150552 | 164, /* (150) cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 150553 | 164, /* (151) cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ |
| 150554 | 240, /* (152) upsert ::= */ |
| 150555 | 240, /* (153) upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ |
| 150556 | 240, /* (154) upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ |
| 150557 | 240, /* (155) upsert ::= ON CONFLICT DO NOTHING */ |
| 150558 | 238, /* (156) insert_cmd ::= INSERT orconf */ |
| 150559 | 238, /* (157) insert_cmd ::= REPLACE */ |
| 150560 | 239, /* (158) idlist_opt ::= */ |
| 150561 | 239, /* (159) idlist_opt ::= LP idlist RP */ |
| 150562 | 235, /* (160) idlist ::= idlist COMMA nm */ |
| 150563 | 235, /* (161) idlist ::= nm */ |
| 150564 | 189, /* (162) expr ::= LP expr RP */ |
| 150565 | 189, /* (163) expr ::= ID|INDEXED */ |
| 150566 | 189, /* (164) expr ::= JOIN_KW */ |
| 150567 | 189, /* (165) expr ::= nm DOT nm */ |
| 150568 | 189, /* (166) expr ::= nm DOT nm DOT nm */ |
| 150569 | 188, /* (167) term ::= NULL|FLOAT|BLOB */ |
| 150570 | 188, /* (168) term ::= STRING */ |
| 150571 | 188, /* (169) term ::= INTEGER */ |
| 150572 | 189, /* (170) expr ::= VARIABLE */ |
| 150573 | 189, /* (171) expr ::= expr COLLATE ID|STRING */ |
| 150574 | 189, /* (172) expr ::= CAST LP expr AS typetoken RP */ |
| 150575 | 189, /* (173) expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 150576 | 189, /* (174) expr ::= ID|INDEXED LP STAR RP */ |
| 150577 | 189, /* (175) expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ |
| 150578 | 189, /* (176) expr ::= ID|INDEXED LP STAR RP over_clause */ |
| 150579 | 188, /* (177) term ::= CTIME_KW */ |
| 150580 | 189, /* (178) expr ::= LP nexprlist COMMA expr RP */ |
| 150581 | 189, /* (179) expr ::= expr AND expr */ |
| 150582 | 189, /* (180) expr ::= expr OR expr */ |
| 150583 | 189, /* (181) expr ::= expr LT|GT|GE|LE expr */ |
| 150584 | 189, /* (182) expr ::= expr EQ|NE expr */ |
| 150585 | 189, /* (183) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ |
| 150586 | 189, /* (184) expr ::= expr PLUS|MINUS expr */ |
| 150587 | 189, /* (185) expr ::= expr STAR|SLASH|REM expr */ |
| 150588 | 189, /* (186) expr ::= expr CONCAT expr */ |
| 150589 | 242, /* (187) likeop ::= NOT LIKE_KW|MATCH */ |
| 150590 | 189, /* (188) expr ::= expr likeop expr */ |
| 150591 | 189, /* (189) expr ::= expr likeop expr ESCAPE expr */ |
| 150592 | 189, /* (190) expr ::= expr ISNULL|NOTNULL */ |
| 150593 | 189, /* (191) expr ::= expr NOT NULL */ |
| 150594 | 189, /* (192) expr ::= expr IS expr */ |
| 150595 | 189, /* (193) expr ::= expr IS NOT expr */ |
| 150596 | 189, /* (194) expr ::= NOT expr */ |
| 150597 | 189, /* (195) expr ::= BITNOT expr */ |
| 150598 | 189, /* (196) expr ::= PLUS|MINUS expr */ |
| 150599 | 243, /* (197) between_op ::= BETWEEN */ |
| 150600 | 243, /* (198) between_op ::= NOT BETWEEN */ |
| 150601 | 189, /* (199) expr ::= expr between_op expr AND expr */ |
| 150602 | 244, /* (200) in_op ::= IN */ |
| 150603 | 244, /* (201) in_op ::= NOT IN */ |
| 150604 | 189, /* (202) expr ::= expr in_op LP exprlist RP */ |
| 150605 | 189, /* (203) expr ::= LP select RP */ |
| 150606 | 189, /* (204) expr ::= expr in_op LP select RP */ |
| 150607 | 189, /* (205) expr ::= expr in_op nm dbnm paren_exprlist */ |
| 150608 | 189, /* (206) expr ::= EXISTS LP select RP */ |
| 150609 | 189, /* (207) expr ::= CASE case_operand case_exprlist case_else END */ |
| 150610 | 247, /* (208) case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 150611 | 247, /* (209) case_exprlist ::= WHEN expr THEN expr */ |
| 150612 | 248, /* (210) case_else ::= ELSE expr */ |
| 150613 | 248, /* (211) case_else ::= */ |
| 150614 | 246, /* (212) case_operand ::= expr */ |
| 150615 | 246, /* (213) case_operand ::= */ |
| 150616 | 233, /* (214) exprlist ::= */ |
| 150617 | 224, /* (215) nexprlist ::= nexprlist COMMA expr */ |
| 150618 | 224, /* (216) nexprlist ::= expr */ |
| 150619 | 245, /* (217) paren_exprlist ::= */ |
| 150620 | 245, /* (218) paren_exprlist ::= LP exprlist RP */ |
| 150621 | 164, /* (219) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 150622 | 249, /* (220) uniqueflag ::= UNIQUE */ |
| 150623 | 249, /* (221) uniqueflag ::= */ |
| 150624 | 193, /* (222) eidlist_opt ::= */ |
| 150625 | 193, /* (223) eidlist_opt ::= LP eidlist RP */ |
| 150626 | 203, /* (224) eidlist ::= eidlist COMMA nm collate sortorder */ |
| 150627 | 203, /* (225) eidlist ::= nm collate sortorder */ |
| 150628 | 250, /* (226) collate ::= */ |
| 150629 | 250, /* (227) collate ::= COLLATE ID|STRING */ |
| 150630 | 164, /* (228) cmd ::= DROP INDEX ifexists fullname */ |
| 150631 | 164, /* (229) cmd ::= VACUUM vinto */ |
| 150632 | 164, /* (230) cmd ::= VACUUM nm vinto */ |
| 150633 | 251, /* (231) vinto ::= INTO expr */ |
| 150634 | 251, /* (232) vinto ::= */ |
| 150635 | 164, /* (233) cmd ::= PRAGMA nm dbnm */ |
| 150636 | 164, /* (234) cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 150637 | 164, /* (235) cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 150638 | 164, /* (236) cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 150639 | 164, /* (237) cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 150640 | 184, /* (238) plus_num ::= PLUS INTEGER|FLOAT */ |
| 150641 | 185, /* (239) minus_num ::= MINUS INTEGER|FLOAT */ |
| 150642 | 164, /* (240) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 150643 | 253, /* (241) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 150644 | 255, /* (242) trigger_time ::= BEFORE|AFTER */ |
| 150645 | 255, /* (243) trigger_time ::= INSTEAD OF */ |
| 150646 | 255, /* (244) trigger_time ::= */ |
| 150647 | 256, /* (245) trigger_event ::= DELETE|INSERT */ |
| 150648 | 256, /* (246) trigger_event ::= UPDATE */ |
| 150649 | 256, /* (247) trigger_event ::= UPDATE OF idlist */ |
| 150650 | 258, /* (248) when_clause ::= */ |
| 150651 | 258, /* (249) when_clause ::= WHEN expr */ |
| 150652 | 254, /* (250) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 150653 | 254, /* (251) trigger_cmd_list ::= trigger_cmd SEMI */ |
| 150654 | 260, /* (252) trnm ::= nm DOT nm */ |
| 150655 | 261, /* (253) tridxby ::= INDEXED BY nm */ |
| 150656 | 261, /* (254) tridxby ::= NOT INDEXED */ |
| 150657 | 259, /* (255) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 150658 | 259, /* (256) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 150659 | 259, /* (257) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 150660 | 259, /* (258) trigger_cmd ::= scanpt select scanpt */ |
| 150661 | 189, /* (259) expr ::= RAISE LP IGNORE RP */ |
| 150662 | 189, /* (260) expr ::= RAISE LP raisetype COMMA nm RP */ |
| 150663 | 207, /* (261) raisetype ::= ROLLBACK */ |
| 150664 | 207, /* (262) raisetype ::= ABORT */ |
| 150665 | 207, /* (263) raisetype ::= FAIL */ |
| 150666 | 164, /* (264) cmd ::= DROP TRIGGER ifexists fullname */ |
| 150667 | 164, /* (265) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 150668 | 164, /* (266) cmd ::= DETACH database_kw_opt expr */ |
| 150669 | 263, /* (267) key_opt ::= */ |
| 150670 | 263, /* (268) key_opt ::= KEY expr */ |
| 150671 | 164, /* (269) cmd ::= REINDEX */ |
| 150672 | 164, /* (270) cmd ::= REINDEX nm dbnm */ |
| 150673 | 164, /* (271) cmd ::= ANALYZE */ |
| 150674 | 164, /* (272) cmd ::= ANALYZE nm dbnm */ |
| 150675 | 164, /* (273) cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 150676 | 164, /* (274) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 150677 | 264, /* (275) add_column_fullname ::= fullname */ |
| 150678 | 164, /* (276) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 150679 | 164, /* (277) cmd ::= create_vtab */ |
| 150680 | 164, /* (278) cmd ::= create_vtab LP vtabarglist RP */ |
| 150681 | 266, /* (279) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 150682 | 268, /* (280) vtabarg ::= */ |
| 150683 | 269, /* (281) vtabargtoken ::= ANY */ |
| 150684 | 269, /* (282) vtabargtoken ::= lp anylist RP */ |
| 150685 | 270, /* (283) lp ::= LP */ |
| 150686 | 236, /* (284) with ::= WITH wqlist */ |
| 150687 | 236, /* (285) with ::= WITH RECURSIVE wqlist */ |
| 150688 | 212, /* (286) wqlist ::= nm eidlist_opt AS LP select RP */ |
| 150689 | 212, /* (287) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 150690 | 272, /* (288) windowdefn_list ::= windowdefn */ |
| 150691 | 272, /* (289) windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 150692 | 273, /* (290) windowdefn ::= nm AS LP window RP */ |
| 150693 | 274, /* (291) window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 150694 | 274, /* (292) window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 150695 | 274, /* (293) window ::= ORDER BY sortlist frame_opt */ |
| 150696 | 274, /* (294) window ::= nm ORDER BY sortlist frame_opt */ |
| 150697 | 274, /* (295) window ::= frame_opt */ |
| 150698 | 274, /* (296) window ::= nm frame_opt */ |
| 150699 | 275, /* (297) frame_opt ::= */ |
| 150700 | 275, /* (298) frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 150701 | 275, /* (299) frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 150702 | 278, /* (300) range_or_rows ::= RANGE|ROWS|GROUPS */ |
| 150703 | 280, /* (301) frame_bound_s ::= frame_bound */ |
| 150704 | 280, /* (302) frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 150705 | 281, /* (303) frame_bound_e ::= frame_bound */ |
| 150706 | 281, /* (304) frame_bound_e ::= UNBOUNDED FOLLOWING */ |
| 150707 | 279, /* (305) frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 150708 | 279, /* (306) frame_bound ::= CURRENT ROW */ |
| 150709 | 282, /* (307) frame_exclude_opt ::= */ |
| 150710 | 282, /* (308) frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 150711 | 283, /* (309) frame_exclude ::= NO OTHERS */ |
| 150712 | 283, /* (310) frame_exclude ::= CURRENT ROW */ |
| 150713 | 283, /* (311) frame_exclude ::= GROUP|TIES */ |
| 150714 | 222, /* (312) window_clause ::= WINDOW windowdefn_list */ |
| 150715 | 241, /* (313) over_clause ::= filter_opt OVER LP window RP */ |
| 150716 | 241, /* (314) over_clause ::= filter_opt OVER nm */ |
| 150717 | 277, /* (315) filter_opt ::= */ |
| 150718 | 277, /* (316) filter_opt ::= FILTER LP WHERE expr RP */ |
| 150719 | 159, /* (317) input ::= cmdlist */ |
| 150720 | 160, /* (318) cmdlist ::= cmdlist ecmd */ |
| 150721 | 160, /* (319) cmdlist ::= ecmd */ |
| 150722 | 161, /* (320) ecmd ::= SEMI */ |
| 150723 | 161, /* (321) ecmd ::= cmdx SEMI */ |
| 150724 | 161, /* (322) ecmd ::= explain cmdx */ |
| 150725 | 166, /* (323) trans_opt ::= */ |
| 150726 | 166, /* (324) trans_opt ::= TRANSACTION */ |
| 150727 | 166, /* (325) trans_opt ::= TRANSACTION nm */ |
| 150728 | 168, /* (326) savepoint_opt ::= SAVEPOINT */ |
| 150729 | 168, /* (327) savepoint_opt ::= */ |
| 150730 | 164, /* (328) cmd ::= create_table create_table_args */ |
| 150731 | 175, /* (329) columnlist ::= columnlist COMMA columnname carglist */ |
| 150732 | 175, /* (330) columnlist ::= columnname carglist */ |
| 150733 | 167, /* (331) nm ::= ID|INDEXED */ |
| 150734 | 167, /* (332) nm ::= STRING */ |
| 150735 | 167, /* (333) nm ::= JOIN_KW */ |
| 150736 | 181, /* (334) typetoken ::= typename */ |
| 150737 | 182, /* (335) typename ::= ID|STRING */ |
| 150738 | 183, /* (336) signed ::= plus_num */ |
| 150739 | 183, /* (337) signed ::= minus_num */ |
| 150740 | 180, /* (338) carglist ::= carglist ccons */ |
| 150741 | 180, /* (339) carglist ::= */ |
| 150742 | 187, /* (340) ccons ::= NULL onconf */ |
| 150743 | 176, /* (341) conslist_opt ::= COMMA conslist */ |
| 150744 | 199, /* (342) conslist ::= conslist tconscomma tcons */ |
| 150745 | 199, /* (343) conslist ::= tcons */ |
| 150746 | 200, /* (344) tconscomma ::= */ |
| 150747 | 204, /* (345) defer_subclause_opt ::= defer_subclause */ |
| 150748 | 206, /* (346) resolvetype ::= raisetype */ |
| 150749 | 210, /* (347) selectnowith ::= oneselect */ |
| 150750 | 211, /* (348) oneselect ::= values */ |
| 150751 | 225, /* (349) sclp ::= selcollist COMMA */ |
| 150752 | 226, /* (350) as ::= ID|STRING */ |
| 150753 | 189, /* (351) expr ::= term */ |
| 150754 | 242, /* (352) likeop ::= LIKE_KW|MATCH */ |
| 150755 | 233, /* (353) exprlist ::= nexprlist */ |
| 150756 | 252, /* (354) nmnum ::= plus_num */ |
| 150757 | 252, /* (355) nmnum ::= nm */ |
| 150758 | 252, /* (356) nmnum ::= ON */ |
| 150759 | 252, /* (357) nmnum ::= DELETE */ |
| 150760 | 252, /* (358) nmnum ::= DEFAULT */ |
| 150761 | 184, /* (359) plus_num ::= INTEGER|FLOAT */ |
| 150762 | 257, /* (360) foreach_clause ::= */ |
| 150763 | 257, /* (361) foreach_clause ::= FOR EACH ROW */ |
| 150764 | 260, /* (362) trnm ::= nm */ |
| 150765 | 261, /* (363) tridxby ::= */ |
| 150766 | 262, /* (364) database_kw_opt ::= DATABASE */ |
| 150767 | 262, /* (365) database_kw_opt ::= */ |
| 150768 | 265, /* (366) kwcolumn_opt ::= */ |
| 150769 | 265, /* (367) kwcolumn_opt ::= COLUMNKW */ |
| 150770 | 267, /* (368) vtabarglist ::= vtabarg */ |
| 150771 | 267, /* (369) vtabarglist ::= vtabarglist COMMA vtabarg */ |
| 150772 | 268, /* (370) vtabarg ::= vtabarg vtabargtoken */ |
| 150773 | 271, /* (371) anylist ::= */ |
| 150774 | 271, /* (372) anylist ::= anylist LP anylist RP */ |
| 150775 | 271, /* (373) anylist ::= anylist ANY */ |
| 150776 | 236, /* (374) with ::= */ |
| 150777 | }; |
| 150778 | |
| 150779 | /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number |
| 150780 | ** of symbols on the right-hand side of that rule. */ |
| 150781 | static const signed char yyRuleInfoNRhs[] = { |
| @@ -151248,20 +151310,20 @@ | |
| 151248 | break; |
| 151249 | case 2: /* cmdx ::= cmd */ |
| 151250 | { sqlite3FinishCoding(pParse); } |
| 151251 | break; |
| 151252 | case 3: /* cmd ::= BEGIN transtype trans_opt */ |
| 151253 | {sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy420);} |
| 151254 | break; |
| 151255 | case 4: /* transtype ::= */ |
| 151256 | {yymsp[1].minor.yy420 = TK_DEFERRED;} |
| 151257 | break; |
| 151258 | case 5: /* transtype ::= DEFERRED */ |
| 151259 | case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); |
| 151260 | case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); |
| 151261 | case 300: /* range_or_rows ::= RANGE|ROWS|GROUPS */ yytestcase(yyruleno==300); |
| 151262 | {yymsp[0].minor.yy420 = yymsp[0].major; /*A-overwrites-X*/} |
| 151263 | break; |
| 151264 | case 8: /* cmd ::= COMMIT|END trans_opt */ |
| 151265 | case 9: /* cmd ::= ROLLBACK trans_opt */ yytestcase(yyruleno==9); |
| 151266 | {sqlite3EndTransaction(pParse,yymsp[-1].major);} |
| 151267 | break; |
| @@ -151280,11 +151342,11 @@ | |
| 151280 | sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); |
| 151281 | } |
| 151282 | break; |
| 151283 | case 13: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 151284 | { |
| 151285 | sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy420,0,0,yymsp[-2].minor.yy420); |
| 151286 | } |
| 151287 | break; |
| 151288 | case 14: /* createkw ::= CREATE */ |
| 151289 | {disableLookaside(pParse);} |
| 151290 | break; |
| @@ -151295,36 +151357,36 @@ | |
| 151295 | case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); |
| 151296 | case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); |
| 151297 | case 76: /* ifexists ::= */ yytestcase(yyruleno==76); |
| 151298 | case 93: /* distinct ::= */ yytestcase(yyruleno==93); |
| 151299 | case 226: /* collate ::= */ yytestcase(yyruleno==226); |
| 151300 | {yymsp[1].minor.yy420 = 0;} |
| 151301 | break; |
| 151302 | case 16: /* ifnotexists ::= IF NOT EXISTS */ |
| 151303 | {yymsp[-2].minor.yy420 = 1;} |
| 151304 | break; |
| 151305 | case 17: /* temp ::= TEMP */ |
| 151306 | case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); |
| 151307 | {yymsp[0].minor.yy420 = 1;} |
| 151308 | break; |
| 151309 | case 19: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ |
| 151310 | { |
| 151311 | sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy420,0); |
| 151312 | } |
| 151313 | break; |
| 151314 | case 20: /* create_table_args ::= AS select */ |
| 151315 | { |
| 151316 | sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy491); |
| 151317 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy491); |
| 151318 | } |
| 151319 | break; |
| 151320 | case 22: /* table_options ::= WITHOUT nm */ |
| 151321 | { |
| 151322 | if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ |
| 151323 | yymsp[-1].minor.yy420 = TF_WithoutRowid | TF_NoVisibleRowid; |
| 151324 | }else{ |
| 151325 | yymsp[-1].minor.yy420 = 0; |
| 151326 | sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); |
| 151327 | } |
| 151328 | } |
| 151329 | break; |
| 151330 | case 23: /* columnname ::= nm typetoken */ |
| @@ -151349,30 +151411,30 @@ | |
| 151349 | {yymsp[-1].minor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 151350 | break; |
| 151351 | case 28: /* scanpt ::= */ |
| 151352 | { |
| 151353 | assert( yyLookahead!=YYNOCODE ); |
| 151354 | yymsp[1].minor.yy104 = yyLookaheadToken.z; |
| 151355 | } |
| 151356 | break; |
| 151357 | case 29: /* ccons ::= CONSTRAINT nm */ |
| 151358 | case 62: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==62); |
| 151359 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 151360 | break; |
| 151361 | case 30: /* ccons ::= DEFAULT scanpt term scanpt */ |
| 151362 | {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy130,yymsp[-2].minor.yy104,yymsp[0].minor.yy104);} |
| 151363 | break; |
| 151364 | case 31: /* ccons ::= DEFAULT LP expr RP */ |
| 151365 | {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy130,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} |
| 151366 | break; |
| 151367 | case 32: /* ccons ::= DEFAULT PLUS term scanpt */ |
| 151368 | {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy130,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy104);} |
| 151369 | break; |
| 151370 | case 33: /* ccons ::= DEFAULT MINUS term scanpt */ |
| 151371 | { |
| 151372 | Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy130, 0); |
| 151373 | sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy104); |
| 151374 | } |
| 151375 | break; |
| 151376 | case 34: /* ccons ::= DEFAULT scanpt ID|INDEXED */ |
| 151377 | { |
| 151378 | Expr *p = tokenExpr(pParse, TK_STRING, yymsp[0].minor.yy0); |
| @@ -151382,319 +151444,319 @@ | |
| 151382 | } |
| 151383 | sqlite3AddDefaultValue(pParse,p,yymsp[0].minor.yy0.z,yymsp[0].minor.yy0.z+yymsp[0].minor.yy0.n); |
| 151384 | } |
| 151385 | break; |
| 151386 | case 35: /* ccons ::= NOT NULL onconf */ |
| 151387 | {sqlite3AddNotNull(pParse, yymsp[0].minor.yy420);} |
| 151388 | break; |
| 151389 | case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 151390 | {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy420,yymsp[0].minor.yy420,yymsp[-2].minor.yy420);} |
| 151391 | break; |
| 151392 | case 37: /* ccons ::= UNIQUE onconf */ |
| 151393 | {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy420,0,0,0,0, |
| 151394 | SQLITE_IDXTYPE_UNIQUE);} |
| 151395 | break; |
| 151396 | case 38: /* ccons ::= CHECK LP expr RP */ |
| 151397 | {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy130);} |
| 151398 | break; |
| 151399 | case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 151400 | {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy420);} |
| 151401 | break; |
| 151402 | case 40: /* ccons ::= defer_subclause */ |
| 151403 | {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy420);} |
| 151404 | break; |
| 151405 | case 41: /* ccons ::= COLLATE ID|STRING */ |
| 151406 | {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 151407 | break; |
| 151408 | case 44: /* refargs ::= */ |
| 151409 | { yymsp[1].minor.yy420 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 151410 | break; |
| 151411 | case 45: /* refargs ::= refargs refarg */ |
| 151412 | { yymsp[-1].minor.yy420 = (yymsp[-1].minor.yy420 & ~yymsp[0].minor.yy527.mask) | yymsp[0].minor.yy527.value; } |
| 151413 | break; |
| 151414 | case 46: /* refarg ::= MATCH nm */ |
| 151415 | { yymsp[-1].minor.yy527.value = 0; yymsp[-1].minor.yy527.mask = 0x000000; } |
| 151416 | break; |
| 151417 | case 47: /* refarg ::= ON INSERT refact */ |
| 151418 | { yymsp[-2].minor.yy527.value = 0; yymsp[-2].minor.yy527.mask = 0x000000; } |
| 151419 | break; |
| 151420 | case 48: /* refarg ::= ON DELETE refact */ |
| 151421 | { yymsp[-2].minor.yy527.value = yymsp[0].minor.yy420; yymsp[-2].minor.yy527.mask = 0x0000ff; } |
| 151422 | break; |
| 151423 | case 49: /* refarg ::= ON UPDATE refact */ |
| 151424 | { yymsp[-2].minor.yy527.value = yymsp[0].minor.yy420<<8; yymsp[-2].minor.yy527.mask = 0x00ff00; } |
| 151425 | break; |
| 151426 | case 50: /* refact ::= SET NULL */ |
| 151427 | { yymsp[-1].minor.yy420 = OE_SetNull; /* EV: R-33326-45252 */} |
| 151428 | break; |
| 151429 | case 51: /* refact ::= SET DEFAULT */ |
| 151430 | { yymsp[-1].minor.yy420 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 151431 | break; |
| 151432 | case 52: /* refact ::= CASCADE */ |
| 151433 | { yymsp[0].minor.yy420 = OE_Cascade; /* EV: R-33326-45252 */} |
| 151434 | break; |
| 151435 | case 53: /* refact ::= RESTRICT */ |
| 151436 | { yymsp[0].minor.yy420 = OE_Restrict; /* EV: R-33326-45252 */} |
| 151437 | break; |
| 151438 | case 54: /* refact ::= NO ACTION */ |
| 151439 | { yymsp[-1].minor.yy420 = OE_None; /* EV: R-33326-45252 */} |
| 151440 | break; |
| 151441 | case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 151442 | {yymsp[-2].minor.yy420 = 0;} |
| 151443 | break; |
| 151444 | case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 151445 | case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); |
| 151446 | case 156: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==156); |
| 151447 | {yymsp[-1].minor.yy420 = yymsp[0].minor.yy420;} |
| 151448 | break; |
| 151449 | case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 151450 | case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); |
| 151451 | case 198: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==198); |
| 151452 | case 201: /* in_op ::= NOT IN */ yytestcase(yyruleno==201); |
| 151453 | case 227: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==227); |
| 151454 | {yymsp[-1].minor.yy420 = 1;} |
| 151455 | break; |
| 151456 | case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 151457 | {yymsp[-1].minor.yy420 = 0;} |
| 151458 | break; |
| 151459 | case 61: /* tconscomma ::= COMMA */ |
| 151460 | {pParse->constraintName.n = 0;} |
| 151461 | break; |
| 151462 | case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 151463 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy420,yymsp[-2].minor.yy420,0);} |
| 151464 | break; |
| 151465 | case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ |
| 151466 | {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy420,0,0,0,0, |
| 151467 | SQLITE_IDXTYPE_UNIQUE);} |
| 151468 | break; |
| 151469 | case 65: /* tcons ::= CHECK LP expr RP onconf */ |
| 151470 | {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy130);} |
| 151471 | break; |
| 151472 | case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 151473 | { |
| 151474 | sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy420); |
| 151475 | sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy420); |
| 151476 | } |
| 151477 | break; |
| 151478 | case 68: /* onconf ::= */ |
| 151479 | case 70: /* orconf ::= */ yytestcase(yyruleno==70); |
| 151480 | {yymsp[1].minor.yy420 = OE_Default;} |
| 151481 | break; |
| 151482 | case 69: /* onconf ::= ON CONFLICT resolvetype */ |
| 151483 | {yymsp[-2].minor.yy420 = yymsp[0].minor.yy420;} |
| 151484 | break; |
| 151485 | case 72: /* resolvetype ::= IGNORE */ |
| 151486 | {yymsp[0].minor.yy420 = OE_Ignore;} |
| 151487 | break; |
| 151488 | case 73: /* resolvetype ::= REPLACE */ |
| 151489 | case 157: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==157); |
| 151490 | {yymsp[0].minor.yy420 = OE_Replace;} |
| 151491 | break; |
| 151492 | case 74: /* cmd ::= DROP TABLE ifexists fullname */ |
| 151493 | { |
| 151494 | sqlite3DropTable(pParse, yymsp[0].minor.yy147, 0, yymsp[-1].minor.yy420); |
| 151495 | } |
| 151496 | break; |
| 151497 | case 77: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 151498 | { |
| 151499 | sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[0].minor.yy491, yymsp[-7].minor.yy420, yymsp[-5].minor.yy420); |
| 151500 | } |
| 151501 | break; |
| 151502 | case 78: /* cmd ::= DROP VIEW ifexists fullname */ |
| 151503 | { |
| 151504 | sqlite3DropTable(pParse, yymsp[0].minor.yy147, 1, yymsp[-1].minor.yy420); |
| 151505 | } |
| 151506 | break; |
| 151507 | case 79: /* cmd ::= select */ |
| 151508 | { |
| 151509 | SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; |
| 151510 | sqlite3Select(pParse, yymsp[0].minor.yy491, &dest); |
| 151511 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy491); |
| 151512 | } |
| 151513 | break; |
| 151514 | case 80: /* select ::= WITH wqlist selectnowith */ |
| 151515 | { |
| 151516 | Select *p = yymsp[0].minor.yy491; |
| 151517 | if( p ){ |
| 151518 | p->pWith = yymsp[-1].minor.yy523; |
| 151519 | parserDoubleLinkSelect(pParse, p); |
| 151520 | }else{ |
| 151521 | sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy523); |
| 151522 | } |
| 151523 | yymsp[-2].minor.yy491 = p; |
| 151524 | } |
| 151525 | break; |
| 151526 | case 81: /* select ::= WITH RECURSIVE wqlist selectnowith */ |
| 151527 | { |
| 151528 | Select *p = yymsp[0].minor.yy491; |
| 151529 | if( p ){ |
| 151530 | p->pWith = yymsp[-1].minor.yy523; |
| 151531 | parserDoubleLinkSelect(pParse, p); |
| 151532 | }else{ |
| 151533 | sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy523); |
| 151534 | } |
| 151535 | yymsp[-3].minor.yy491 = p; |
| 151536 | } |
| 151537 | break; |
| 151538 | case 82: /* select ::= selectnowith */ |
| 151539 | { |
| 151540 | Select *p = yymsp[0].minor.yy491; |
| 151541 | if( p ){ |
| 151542 | parserDoubleLinkSelect(pParse, p); |
| 151543 | } |
| 151544 | yymsp[0].minor.yy491 = p; /*A-overwrites-X*/ |
| 151545 | } |
| 151546 | break; |
| 151547 | case 83: /* selectnowith ::= selectnowith multiselect_op oneselect */ |
| 151548 | { |
| 151549 | Select *pRhs = yymsp[0].minor.yy491; |
| 151550 | Select *pLhs = yymsp[-2].minor.yy491; |
| 151551 | if( pRhs && pRhs->pPrior ){ |
| 151552 | SrcList *pFrom; |
| 151553 | Token x; |
| 151554 | x.n = 0; |
| 151555 | parserDoubleLinkSelect(pParse, pRhs); |
| 151556 | pFrom = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&x,pRhs,0,0); |
| 151557 | pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0); |
| 151558 | } |
| 151559 | if( pRhs ){ |
| 151560 | pRhs->op = (u8)yymsp[-1].minor.yy420; |
| 151561 | pRhs->pPrior = pLhs; |
| 151562 | if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; |
| 151563 | pRhs->selFlags &= ~SF_MultiValue; |
| 151564 | if( yymsp[-1].minor.yy420!=TK_ALL ) pParse->hasCompound = 1; |
| 151565 | }else{ |
| 151566 | sqlite3SelectDelete(pParse->db, pLhs); |
| 151567 | } |
| 151568 | yymsp[-2].minor.yy491 = pRhs; |
| 151569 | } |
| 151570 | break; |
| 151571 | case 84: /* multiselect_op ::= UNION */ |
| 151572 | case 86: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==86); |
| 151573 | {yymsp[0].minor.yy420 = yymsp[0].major; /*A-overwrites-OP*/} |
| 151574 | break; |
| 151575 | case 85: /* multiselect_op ::= UNION ALL */ |
| 151576 | {yymsp[-1].minor.yy420 = TK_ALL;} |
| 151577 | break; |
| 151578 | case 87: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 151579 | { |
| 151580 | yymsp[-8].minor.yy491 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy147,yymsp[-4].minor.yy130,yymsp[-3].minor.yy442,yymsp[-2].minor.yy130,yymsp[-1].minor.yy442,yymsp[-7].minor.yy420,yymsp[0].minor.yy130); |
| 151581 | } |
| 151582 | break; |
| 151583 | case 88: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 151584 | { |
| 151585 | yymsp[-9].minor.yy491 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy442,yymsp[-6].minor.yy147,yymsp[-5].minor.yy130,yymsp[-4].minor.yy442,yymsp[-3].minor.yy130,yymsp[-1].minor.yy442,yymsp[-8].minor.yy420,yymsp[0].minor.yy130); |
| 151586 | if( yymsp[-9].minor.yy491 ){ |
| 151587 | yymsp[-9].minor.yy491->pWinDefn = yymsp[-2].minor.yy395; |
| 151588 | }else{ |
| 151589 | sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy395); |
| 151590 | } |
| 151591 | } |
| 151592 | break; |
| 151593 | case 89: /* values ::= VALUES LP nexprlist RP */ |
| 151594 | { |
| 151595 | yymsp[-3].minor.yy491 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values,0); |
| 151596 | } |
| 151597 | break; |
| 151598 | case 90: /* values ::= values COMMA LP nexprlist RP */ |
| 151599 | { |
| 151600 | Select *pRight, *pLeft = yymsp[-4].minor.yy491; |
| 151601 | pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values|SF_MultiValue,0); |
| 151602 | if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; |
| 151603 | if( pRight ){ |
| 151604 | pRight->op = TK_ALL; |
| 151605 | pRight->pPrior = pLeft; |
| 151606 | yymsp[-4].minor.yy491 = pRight; |
| 151607 | }else{ |
| 151608 | yymsp[-4].minor.yy491 = pLeft; |
| 151609 | } |
| 151610 | } |
| 151611 | break; |
| 151612 | case 91: /* distinct ::= DISTINCT */ |
| 151613 | {yymsp[0].minor.yy420 = SF_Distinct;} |
| 151614 | break; |
| 151615 | case 92: /* distinct ::= ALL */ |
| 151616 | {yymsp[0].minor.yy420 = SF_All;} |
| 151617 | break; |
| 151618 | case 94: /* sclp ::= */ |
| 151619 | case 127: /* orderby_opt ::= */ yytestcase(yyruleno==127); |
| 151620 | case 134: /* groupby_opt ::= */ yytestcase(yyruleno==134); |
| 151621 | case 214: /* exprlist ::= */ yytestcase(yyruleno==214); |
| 151622 | case 217: /* paren_exprlist ::= */ yytestcase(yyruleno==217); |
| 151623 | case 222: /* eidlist_opt ::= */ yytestcase(yyruleno==222); |
| 151624 | {yymsp[1].minor.yy442 = 0;} |
| 151625 | break; |
| 151626 | case 95: /* selcollist ::= sclp scanpt expr scanpt as */ |
| 151627 | { |
| 151628 | yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[-2].minor.yy130); |
| 151629 | if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy442, &yymsp[0].minor.yy0, 1); |
| 151630 | sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy442,yymsp[-3].minor.yy104,yymsp[-1].minor.yy104); |
| 151631 | } |
| 151632 | break; |
| 151633 | case 96: /* selcollist ::= sclp scanpt STAR */ |
| 151634 | { |
| 151635 | Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); |
| 151636 | yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, p); |
| 151637 | } |
| 151638 | break; |
| 151639 | case 97: /* selcollist ::= sclp scanpt nm DOT STAR */ |
| 151640 | { |
| 151641 | Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0); |
| 151642 | Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 151643 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); |
| 151644 | yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, pDot); |
| 151645 | } |
| 151646 | break; |
| 151647 | case 98: /* as ::= AS nm */ |
| 151648 | case 109: /* dbnm ::= DOT nm */ yytestcase(yyruleno==109); |
| 151649 | case 238: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==238); |
| 151650 | case 239: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==239); |
| 151651 | {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} |
| 151652 | break; |
| 151653 | case 100: /* from ::= */ |
| 151654 | {yymsp[1].minor.yy147 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy147));} |
| 151655 | break; |
| 151656 | case 101: /* from ::= FROM seltablist */ |
| 151657 | { |
| 151658 | yymsp[-1].minor.yy147 = yymsp[0].minor.yy147; |
| 151659 | sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy147); |
| 151660 | } |
| 151661 | break; |
| 151662 | case 102: /* stl_prefix ::= seltablist joinop */ |
| 151663 | { |
| 151664 | if( ALWAYS(yymsp[-1].minor.yy147 && yymsp[-1].minor.yy147->nSrc>0) ) yymsp[-1].minor.yy147->a[yymsp[-1].minor.yy147->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy420; |
| 151665 | } |
| 151666 | break; |
| 151667 | case 103: /* stl_prefix ::= */ |
| 151668 | {yymsp[1].minor.yy147 = 0;} |
| 151669 | break; |
| 151670 | case 104: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 151671 | { |
| 151672 | yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); |
| 151673 | sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy147, &yymsp[-2].minor.yy0); |
| 151674 | } |
| 151675 | break; |
| 151676 | case 105: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 151677 | { |
| 151678 | yymsp[-8].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy147,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); |
| 151679 | sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy147, yymsp[-4].minor.yy442); |
| 151680 | } |
| 151681 | break; |
| 151682 | case 106: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 151683 | { |
| 151684 | yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy491,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); |
| 151685 | } |
| 151686 | break; |
| 151687 | case 107: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 151688 | { |
| 151689 | if( yymsp[-6].minor.yy147==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy130==0 && yymsp[0].minor.yy200==0 ){ |
| 151690 | yymsp[-6].minor.yy147 = yymsp[-4].minor.yy147; |
| 151691 | }else if( yymsp[-4].minor.yy147->nSrc==1 ){ |
| 151692 | yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); |
| 151693 | if( yymsp[-6].minor.yy147 ){ |
| 151694 | struct SrcList_item *pNew = &yymsp[-6].minor.yy147->a[yymsp[-6].minor.yy147->nSrc-1]; |
| 151695 | struct SrcList_item *pOld = yymsp[-4].minor.yy147->a; |
| 151696 | pNew->zName = pOld->zName; |
| 151697 | pNew->zDatabase = pOld->zDatabase; |
| 151698 | pNew->pSelect = pOld->pSelect; |
| 151699 | if( pOld->fg.isTabFunc ){ |
| 151700 | pNew->u1.pFuncArg = pOld->u1.pFuncArg; |
| @@ -151703,215 +151765,215 @@ | |
| 151703 | pNew->fg.isTabFunc = 1; |
| 151704 | } |
| 151705 | pOld->zName = pOld->zDatabase = 0; |
| 151706 | pOld->pSelect = 0; |
| 151707 | } |
| 151708 | sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy147); |
| 151709 | }else{ |
| 151710 | Select *pSubquery; |
| 151711 | sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy147); |
| 151712 | pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy147,0,0,0,0,SF_NestedFrom,0); |
| 151713 | yymsp[-6].minor.yy147 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy147,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy130,yymsp[0].minor.yy200); |
| 151714 | } |
| 151715 | } |
| 151716 | break; |
| 151717 | case 108: /* dbnm ::= */ |
| 151718 | case 122: /* indexed_opt ::= */ yytestcase(yyruleno==122); |
| 151719 | {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} |
| 151720 | break; |
| 151721 | case 110: /* fullname ::= nm */ |
| 151722 | { |
| 151723 | yylhsminor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); |
| 151724 | if( IN_RENAME_OBJECT && yylhsminor.yy147 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy147->a[0].zName, &yymsp[0].minor.yy0); |
| 151725 | } |
| 151726 | yymsp[0].minor.yy147 = yylhsminor.yy147; |
| 151727 | break; |
| 151728 | case 111: /* fullname ::= nm DOT nm */ |
| 151729 | { |
| 151730 | yylhsminor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 151731 | if( IN_RENAME_OBJECT && yylhsminor.yy147 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy147->a[0].zName, &yymsp[0].minor.yy0); |
| 151732 | } |
| 151733 | yymsp[-2].minor.yy147 = yylhsminor.yy147; |
| 151734 | break; |
| 151735 | case 112: /* xfullname ::= nm */ |
| 151736 | {yymsp[0].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} |
| 151737 | break; |
| 151738 | case 113: /* xfullname ::= nm DOT nm */ |
| 151739 | {yymsp[-2].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 151740 | break; |
| 151741 | case 114: /* xfullname ::= nm DOT nm AS nm */ |
| 151742 | { |
| 151743 | yymsp[-4].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ |
| 151744 | if( yymsp[-4].minor.yy147 ) yymsp[-4].minor.yy147->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 151745 | } |
| 151746 | break; |
| 151747 | case 115: /* xfullname ::= nm AS nm */ |
| 151748 | { |
| 151749 | yymsp[-2].minor.yy147 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ |
| 151750 | if( yymsp[-2].minor.yy147 ) yymsp[-2].minor.yy147->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 151751 | } |
| 151752 | break; |
| 151753 | case 116: /* joinop ::= COMMA|JOIN */ |
| 151754 | { yymsp[0].minor.yy420 = JT_INNER; } |
| 151755 | break; |
| 151756 | case 117: /* joinop ::= JOIN_KW JOIN */ |
| 151757 | {yymsp[-1].minor.yy420 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} |
| 151758 | break; |
| 151759 | case 118: /* joinop ::= JOIN_KW nm JOIN */ |
| 151760 | {yymsp[-2].minor.yy420 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} |
| 151761 | break; |
| 151762 | case 119: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 151763 | {yymsp[-3].minor.yy420 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} |
| 151764 | break; |
| 151765 | case 120: /* on_opt ::= ON expr */ |
| 151766 | case 137: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==137); |
| 151767 | case 144: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==144); |
| 151768 | case 210: /* case_else ::= ELSE expr */ yytestcase(yyruleno==210); |
| 151769 | case 231: /* vinto ::= INTO expr */ yytestcase(yyruleno==231); |
| 151770 | {yymsp[-1].minor.yy130 = yymsp[0].minor.yy130;} |
| 151771 | break; |
| 151772 | case 121: /* on_opt ::= */ |
| 151773 | case 136: /* having_opt ::= */ yytestcase(yyruleno==136); |
| 151774 | case 138: /* limit_opt ::= */ yytestcase(yyruleno==138); |
| 151775 | case 143: /* where_opt ::= */ yytestcase(yyruleno==143); |
| 151776 | case 211: /* case_else ::= */ yytestcase(yyruleno==211); |
| 151777 | case 213: /* case_operand ::= */ yytestcase(yyruleno==213); |
| 151778 | case 232: /* vinto ::= */ yytestcase(yyruleno==232); |
| 151779 | {yymsp[1].minor.yy130 = 0;} |
| 151780 | break; |
| 151781 | case 123: /* indexed_opt ::= INDEXED BY nm */ |
| 151782 | {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} |
| 151783 | break; |
| 151784 | case 124: /* indexed_opt ::= NOT INDEXED */ |
| 151785 | {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} |
| 151786 | break; |
| 151787 | case 125: /* using_opt ::= USING LP idlist RP */ |
| 151788 | {yymsp[-3].minor.yy200 = yymsp[-1].minor.yy200;} |
| 151789 | break; |
| 151790 | case 126: /* using_opt ::= */ |
| 151791 | case 158: /* idlist_opt ::= */ yytestcase(yyruleno==158); |
| 151792 | {yymsp[1].minor.yy200 = 0;} |
| 151793 | break; |
| 151794 | case 128: /* orderby_opt ::= ORDER BY sortlist */ |
| 151795 | case 135: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==135); |
| 151796 | {yymsp[-2].minor.yy442 = yymsp[0].minor.yy442;} |
| 151797 | break; |
| 151798 | case 129: /* sortlist ::= sortlist COMMA expr sortorder */ |
| 151799 | { |
| 151800 | yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy130); |
| 151801 | sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy442,yymsp[0].minor.yy420); |
| 151802 | } |
| 151803 | break; |
| 151804 | case 130: /* sortlist ::= expr sortorder */ |
| 151805 | { |
| 151806 | yymsp[-1].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy130); /*A-overwrites-Y*/ |
| 151807 | sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy442,yymsp[0].minor.yy420); |
| 151808 | } |
| 151809 | break; |
| 151810 | case 131: /* sortorder ::= ASC */ |
| 151811 | {yymsp[0].minor.yy420 = SQLITE_SO_ASC;} |
| 151812 | break; |
| 151813 | case 132: /* sortorder ::= DESC */ |
| 151814 | {yymsp[0].minor.yy420 = SQLITE_SO_DESC;} |
| 151815 | break; |
| 151816 | case 133: /* sortorder ::= */ |
| 151817 | {yymsp[1].minor.yy420 = SQLITE_SO_UNDEFINED;} |
| 151818 | break; |
| 151819 | case 139: /* limit_opt ::= LIMIT expr */ |
| 151820 | {yymsp[-1].minor.yy130 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy130,0);} |
| 151821 | break; |
| 151822 | case 140: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 151823 | {yymsp[-3].minor.yy130 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy130,yymsp[0].minor.yy130);} |
| 151824 | break; |
| 151825 | case 141: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 151826 | {yymsp[-3].minor.yy130 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy130,yymsp[-2].minor.yy130);} |
| 151827 | break; |
| 151828 | case 142: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ |
| 151829 | { |
| 151830 | sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy147, &yymsp[-1].minor.yy0); |
| 151831 | sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy147,yymsp[0].minor.yy130,0,0); |
| 151832 | } |
| 151833 | break; |
| 151834 | case 145: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ |
| 151835 | { |
| 151836 | sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy147, &yymsp[-3].minor.yy0); |
| 151837 | sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); |
| 151838 | sqlite3Update(pParse,yymsp[-4].minor.yy147,yymsp[-1].minor.yy442,yymsp[0].minor.yy130,yymsp[-5].minor.yy420,0,0,0); |
| 151839 | } |
| 151840 | break; |
| 151841 | case 146: /* setlist ::= setlist COMMA nm EQ expr */ |
| 151842 | { |
| 151843 | yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy130); |
| 151844 | sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, 1); |
| 151845 | } |
| 151846 | break; |
| 151847 | case 147: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 151848 | { |
| 151849 | yymsp[-6].minor.yy442 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy442, yymsp[-3].minor.yy200, yymsp[0].minor.yy130); |
| 151850 | } |
| 151851 | break; |
| 151852 | case 148: /* setlist ::= nm EQ expr */ |
| 151853 | { |
| 151854 | yylhsminor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy130); |
| 151855 | sqlite3ExprListSetName(pParse, yylhsminor.yy442, &yymsp[-2].minor.yy0, 1); |
| 151856 | } |
| 151857 | yymsp[-2].minor.yy442 = yylhsminor.yy442; |
| 151858 | break; |
| 151859 | case 149: /* setlist ::= LP idlist RP EQ expr */ |
| 151860 | { |
| 151861 | yymsp[-4].minor.yy442 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy200, yymsp[0].minor.yy130); |
| 151862 | } |
| 151863 | break; |
| 151864 | case 150: /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 151865 | { |
| 151866 | sqlite3Insert(pParse, yymsp[-3].minor.yy147, yymsp[-1].minor.yy491, yymsp[-2].minor.yy200, yymsp[-5].minor.yy420, yymsp[0].minor.yy426); |
| 151867 | } |
| 151868 | break; |
| 151869 | case 151: /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ |
| 151870 | { |
| 151871 | sqlite3Insert(pParse, yymsp[-3].minor.yy147, 0, yymsp[-2].minor.yy200, yymsp[-5].minor.yy420, 0); |
| 151872 | } |
| 151873 | break; |
| 151874 | case 152: /* upsert ::= */ |
| 151875 | { yymsp[1].minor.yy426 = 0; } |
| 151876 | break; |
| 151877 | case 153: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ |
| 151878 | { yymsp[-10].minor.yy426 = sqlite3UpsertNew(pParse->db,yymsp[-7].minor.yy442,yymsp[-5].minor.yy130,yymsp[-1].minor.yy442,yymsp[0].minor.yy130);} |
| 151879 | break; |
| 151880 | case 154: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ |
| 151881 | { yymsp[-7].minor.yy426 = sqlite3UpsertNew(pParse->db,yymsp[-4].minor.yy442,yymsp[-2].minor.yy130,0,0); } |
| 151882 | break; |
| 151883 | case 155: /* upsert ::= ON CONFLICT DO NOTHING */ |
| 151884 | { yymsp[-3].minor.yy426 = sqlite3UpsertNew(pParse->db,0,0,0,0); } |
| 151885 | break; |
| 151886 | case 159: /* idlist_opt ::= LP idlist RP */ |
| 151887 | {yymsp[-2].minor.yy200 = yymsp[-1].minor.yy200;} |
| 151888 | break; |
| 151889 | case 160: /* idlist ::= idlist COMMA nm */ |
| 151890 | {yymsp[-2].minor.yy200 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy200,&yymsp[0].minor.yy0);} |
| 151891 | break; |
| 151892 | case 161: /* idlist ::= nm */ |
| 151893 | {yymsp[0].minor.yy200 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} |
| 151894 | break; |
| 151895 | case 162: /* expr ::= LP expr RP */ |
| 151896 | {yymsp[-2].minor.yy130 = yymsp[-1].minor.yy130;} |
| 151897 | break; |
| 151898 | case 163: /* expr ::= ID|INDEXED */ |
| 151899 | case 164: /* expr ::= JOIN_KW */ yytestcase(yyruleno==164); |
| 151900 | {yymsp[0].minor.yy130=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 151901 | break; |
| 151902 | case 165: /* expr ::= nm DOT nm */ |
| 151903 | { |
| 151904 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 151905 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); |
| 151906 | if( IN_RENAME_OBJECT ){ |
| 151907 | sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[0].minor.yy0); |
| 151908 | sqlite3RenameTokenMap(pParse, (void*)temp1, &yymsp[-2].minor.yy0); |
| 151909 | } |
| 151910 | yylhsminor.yy130 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); |
| 151911 | } |
| 151912 | yymsp[-2].minor.yy130 = yylhsminor.yy130; |
| 151913 | break; |
| 151914 | case 166: /* expr ::= nm DOT nm DOT nm */ |
| 151915 | { |
| 151916 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); |
| 151917 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| @@ -151919,95 +151981,95 @@ | |
| 151919 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3); |
| 151920 | if( IN_RENAME_OBJECT ){ |
| 151921 | sqlite3RenameTokenMap(pParse, (void*)temp3, &yymsp[0].minor.yy0); |
| 151922 | sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[-2].minor.yy0); |
| 151923 | } |
| 151924 | yylhsminor.yy130 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); |
| 151925 | } |
| 151926 | yymsp[-4].minor.yy130 = yylhsminor.yy130; |
| 151927 | break; |
| 151928 | case 167: /* term ::= NULL|FLOAT|BLOB */ |
| 151929 | case 168: /* term ::= STRING */ yytestcase(yyruleno==168); |
| 151930 | {yymsp[0].minor.yy130=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 151931 | break; |
| 151932 | case 169: /* term ::= INTEGER */ |
| 151933 | { |
| 151934 | yylhsminor.yy130 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); |
| 151935 | } |
| 151936 | yymsp[0].minor.yy130 = yylhsminor.yy130; |
| 151937 | break; |
| 151938 | case 170: /* expr ::= VARIABLE */ |
| 151939 | { |
| 151940 | if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ |
| 151941 | u32 n = yymsp[0].minor.yy0.n; |
| 151942 | yymsp[0].minor.yy130 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); |
| 151943 | sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy130, n); |
| 151944 | }else{ |
| 151945 | /* When doing a nested parse, one can include terms in an expression |
| 151946 | ** that look like this: #1 #2 ... These terms refer to registers |
| 151947 | ** in the virtual machine. #N is the N-th register. */ |
| 151948 | Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/ |
| 151949 | assert( t.n>=2 ); |
| 151950 | if( pParse->nested==0 ){ |
| 151951 | sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); |
| 151952 | yymsp[0].minor.yy130 = 0; |
| 151953 | }else{ |
| 151954 | yymsp[0].minor.yy130 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); |
| 151955 | if( yymsp[0].minor.yy130 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy130->iTable); |
| 151956 | } |
| 151957 | } |
| 151958 | } |
| 151959 | break; |
| 151960 | case 171: /* expr ::= expr COLLATE ID|STRING */ |
| 151961 | { |
| 151962 | yymsp[-2].minor.yy130 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy130, &yymsp[0].minor.yy0, 1); |
| 151963 | } |
| 151964 | break; |
| 151965 | case 172: /* expr ::= CAST LP expr AS typetoken RP */ |
| 151966 | { |
| 151967 | yymsp[-5].minor.yy130 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); |
| 151968 | sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy130, yymsp[-3].minor.yy130, 0); |
| 151969 | } |
| 151970 | break; |
| 151971 | case 173: /* expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 151972 | { |
| 151973 | yylhsminor.yy130 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy420); |
| 151974 | } |
| 151975 | yymsp[-4].minor.yy130 = yylhsminor.yy130; |
| 151976 | break; |
| 151977 | case 174: /* expr ::= ID|INDEXED LP STAR RP */ |
| 151978 | { |
| 151979 | yylhsminor.yy130 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); |
| 151980 | } |
| 151981 | yymsp[-3].minor.yy130 = yylhsminor.yy130; |
| 151982 | break; |
| 151983 | case 175: /* expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ |
| 151984 | { |
| 151985 | yylhsminor.yy130 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy442, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy420); |
| 151986 | sqlite3WindowAttach(pParse, yylhsminor.yy130, yymsp[0].minor.yy395); |
| 151987 | } |
| 151988 | yymsp[-5].minor.yy130 = yylhsminor.yy130; |
| 151989 | break; |
| 151990 | case 176: /* expr ::= ID|INDEXED LP STAR RP over_clause */ |
| 151991 | { |
| 151992 | yylhsminor.yy130 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); |
| 151993 | sqlite3WindowAttach(pParse, yylhsminor.yy130, yymsp[0].minor.yy395); |
| 151994 | } |
| 151995 | yymsp[-4].minor.yy130 = yylhsminor.yy130; |
| 151996 | break; |
| 151997 | case 177: /* term ::= CTIME_KW */ |
| 151998 | { |
| 151999 | yylhsminor.yy130 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); |
| 152000 | } |
| 152001 | yymsp[0].minor.yy130 = yylhsminor.yy130; |
| 152002 | break; |
| 152003 | case 178: /* expr ::= LP nexprlist COMMA expr RP */ |
| 152004 | { |
| 152005 | ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy442, yymsp[-1].minor.yy130); |
| 152006 | yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); |
| 152007 | if( yymsp[-4].minor.yy130 ){ |
| 152008 | yymsp[-4].minor.yy130->x.pList = pList; |
| 152009 | }else{ |
| 152010 | sqlite3ExprListDelete(pParse->db, pList); |
| 152011 | } |
| 152012 | } |
| 152013 | break; |
| @@ -152017,101 +152079,101 @@ | |
| 152017 | case 182: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==182); |
| 152018 | case 183: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==183); |
| 152019 | case 184: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==184); |
| 152020 | case 185: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==185); |
| 152021 | case 186: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==186); |
| 152022 | {yymsp[-2].minor.yy130=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy130,yymsp[0].minor.yy130);} |
| 152023 | break; |
| 152024 | case 187: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 152025 | {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} |
| 152026 | break; |
| 152027 | case 188: /* expr ::= expr likeop expr */ |
| 152028 | { |
| 152029 | ExprList *pList; |
| 152030 | int bNot = yymsp[-1].minor.yy0.n & 0x80000000; |
| 152031 | yymsp[-1].minor.yy0.n &= 0x7fffffff; |
| 152032 | pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy130); |
| 152033 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy130); |
| 152034 | yymsp[-2].minor.yy130 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); |
| 152035 | if( bNot ) yymsp[-2].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy130, 0); |
| 152036 | if( yymsp[-2].minor.yy130 ) yymsp[-2].minor.yy130->flags |= EP_InfixFunc; |
| 152037 | } |
| 152038 | break; |
| 152039 | case 189: /* expr ::= expr likeop expr ESCAPE expr */ |
| 152040 | { |
| 152041 | ExprList *pList; |
| 152042 | int bNot = yymsp[-3].minor.yy0.n & 0x80000000; |
| 152043 | yymsp[-3].minor.yy0.n &= 0x7fffffff; |
| 152044 | pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy130); |
| 152045 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy130); |
| 152046 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy130); |
| 152047 | yymsp[-4].minor.yy130 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); |
| 152048 | if( bNot ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); |
| 152049 | if( yymsp[-4].minor.yy130 ) yymsp[-4].minor.yy130->flags |= EP_InfixFunc; |
| 152050 | } |
| 152051 | break; |
| 152052 | case 190: /* expr ::= expr ISNULL|NOTNULL */ |
| 152053 | {yymsp[-1].minor.yy130 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy130,0);} |
| 152054 | break; |
| 152055 | case 191: /* expr ::= expr NOT NULL */ |
| 152056 | {yymsp[-2].minor.yy130 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy130,0);} |
| 152057 | break; |
| 152058 | case 192: /* expr ::= expr IS expr */ |
| 152059 | { |
| 152060 | yymsp[-2].minor.yy130 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy130,yymsp[0].minor.yy130); |
| 152061 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy130, yymsp[-2].minor.yy130, TK_ISNULL); |
| 152062 | } |
| 152063 | break; |
| 152064 | case 193: /* expr ::= expr IS NOT expr */ |
| 152065 | { |
| 152066 | yymsp[-3].minor.yy130 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy130,yymsp[0].minor.yy130); |
| 152067 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy130, yymsp[-3].minor.yy130, TK_NOTNULL); |
| 152068 | } |
| 152069 | break; |
| 152070 | case 194: /* expr ::= NOT expr */ |
| 152071 | case 195: /* expr ::= BITNOT expr */ yytestcase(yyruleno==195); |
| 152072 | {yymsp[-1].minor.yy130 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy130, 0);/*A-overwrites-B*/} |
| 152073 | break; |
| 152074 | case 196: /* expr ::= PLUS|MINUS expr */ |
| 152075 | { |
| 152076 | yymsp[-1].minor.yy130 = sqlite3PExpr(pParse, yymsp[-1].major==TK_PLUS ? TK_UPLUS : TK_UMINUS, yymsp[0].minor.yy130, 0); |
| 152077 | /*A-overwrites-B*/ |
| 152078 | } |
| 152079 | break; |
| 152080 | case 197: /* between_op ::= BETWEEN */ |
| 152081 | case 200: /* in_op ::= IN */ yytestcase(yyruleno==200); |
| 152082 | {yymsp[0].minor.yy420 = 0;} |
| 152083 | break; |
| 152084 | case 199: /* expr ::= expr between_op expr AND expr */ |
| 152085 | { |
| 152086 | ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy130); |
| 152087 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy130); |
| 152088 | yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy130, 0); |
| 152089 | if( yymsp[-4].minor.yy130 ){ |
| 152090 | yymsp[-4].minor.yy130->x.pList = pList; |
| 152091 | }else{ |
| 152092 | sqlite3ExprListDelete(pParse->db, pList); |
| 152093 | } |
| 152094 | if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); |
| 152095 | } |
| 152096 | break; |
| 152097 | case 202: /* expr ::= expr in_op LP exprlist RP */ |
| 152098 | { |
| 152099 | if( yymsp[-1].minor.yy442==0 ){ |
| 152100 | /* Expressions of the form |
| 152101 | ** |
| 152102 | ** expr1 IN () |
| 152103 | ** expr1 NOT IN () |
| 152104 | ** |
| 152105 | ** simplify to constants 0 (false) and 1 (true), respectively, |
| 152106 | ** regardless of the value of expr1. |
| 152107 | */ |
| 152108 | if( IN_RENAME_OBJECT==0 ){ |
| 152109 | sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy130); |
| 152110 | yymsp[-4].minor.yy130 = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy420],1); |
| 152111 | } |
| 152112 | }else if( yymsp[-1].minor.yy442->nExpr==1 ){ |
| 152113 | /* Expressions of the form: |
| 152114 | ** |
| 152115 | ** expr1 IN (?1) |
| 152116 | ** expr1 NOT IN (?2) |
| 152117 | ** |
| @@ -152124,134 +152186,134 @@ | |
| 152124 | ** But, the RHS of the == or <> is marked with the EP_Generic flag |
| 152125 | ** so that it may not contribute to the computation of comparison |
| 152126 | ** affinity or the collating sequence to use for comparison. Otherwise, |
| 152127 | ** the semantics would be subtly different from IN or NOT IN. |
| 152128 | */ |
| 152129 | Expr *pRHS = yymsp[-1].minor.yy442->a[0].pExpr; |
| 152130 | yymsp[-1].minor.yy442->a[0].pExpr = 0; |
| 152131 | sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); |
| 152132 | /* pRHS cannot be NULL because a malloc error would have been detected |
| 152133 | ** before now and control would have never reached this point */ |
| 152134 | if( ALWAYS(pRHS) ){ |
| 152135 | pRHS->flags &= ~EP_Collate; |
| 152136 | pRHS->flags |= EP_Generic; |
| 152137 | } |
| 152138 | yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, yymsp[-3].minor.yy420 ? TK_NE : TK_EQ, yymsp[-4].minor.yy130, pRHS); |
| 152139 | }else{ |
| 152140 | yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy130, 0); |
| 152141 | if( yymsp[-4].minor.yy130 ){ |
| 152142 | yymsp[-4].minor.yy130->x.pList = yymsp[-1].minor.yy442; |
| 152143 | sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy130); |
| 152144 | }else{ |
| 152145 | sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); |
| 152146 | } |
| 152147 | if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); |
| 152148 | } |
| 152149 | } |
| 152150 | break; |
| 152151 | case 203: /* expr ::= LP select RP */ |
| 152152 | { |
| 152153 | yymsp[-2].minor.yy130 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); |
| 152154 | sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy130, yymsp[-1].minor.yy491); |
| 152155 | } |
| 152156 | break; |
| 152157 | case 204: /* expr ::= expr in_op LP select RP */ |
| 152158 | { |
| 152159 | yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy130, 0); |
| 152160 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy130, yymsp[-1].minor.yy491); |
| 152161 | if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); |
| 152162 | } |
| 152163 | break; |
| 152164 | case 205: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 152165 | { |
| 152166 | SrcList *pSrc = sqlite3SrcListAppend(pParse, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); |
| 152167 | Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0); |
| 152168 | if( yymsp[0].minor.yy442 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy442); |
| 152169 | yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy130, 0); |
| 152170 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy130, pSelect); |
| 152171 | if( yymsp[-3].minor.yy420 ) yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy130, 0); |
| 152172 | } |
| 152173 | break; |
| 152174 | case 206: /* expr ::= EXISTS LP select RP */ |
| 152175 | { |
| 152176 | Expr *p; |
| 152177 | p = yymsp[-3].minor.yy130 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); |
| 152178 | sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy491); |
| 152179 | } |
| 152180 | break; |
| 152181 | case 207: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 152182 | { |
| 152183 | yymsp[-4].minor.yy130 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy130, 0); |
| 152184 | if( yymsp[-4].minor.yy130 ){ |
| 152185 | yymsp[-4].minor.yy130->x.pList = yymsp[-1].minor.yy130 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[-1].minor.yy130) : yymsp[-2].minor.yy442; |
| 152186 | sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy130); |
| 152187 | }else{ |
| 152188 | sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy442); |
| 152189 | sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy130); |
| 152190 | } |
| 152191 | } |
| 152192 | break; |
| 152193 | case 208: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 152194 | { |
| 152195 | yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy130); |
| 152196 | yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[0].minor.yy130); |
| 152197 | } |
| 152198 | break; |
| 152199 | case 209: /* case_exprlist ::= WHEN expr THEN expr */ |
| 152200 | { |
| 152201 | yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy130); |
| 152202 | yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, yymsp[0].minor.yy130); |
| 152203 | } |
| 152204 | break; |
| 152205 | case 212: /* case_operand ::= expr */ |
| 152206 | {yymsp[0].minor.yy130 = yymsp[0].minor.yy130; /*A-overwrites-X*/} |
| 152207 | break; |
| 152208 | case 215: /* nexprlist ::= nexprlist COMMA expr */ |
| 152209 | {yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy130);} |
| 152210 | break; |
| 152211 | case 216: /* nexprlist ::= expr */ |
| 152212 | {yymsp[0].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy130); /*A-overwrites-Y*/} |
| 152213 | break; |
| 152214 | case 218: /* paren_exprlist ::= LP exprlist RP */ |
| 152215 | case 223: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==223); |
| 152216 | {yymsp[-2].minor.yy442 = yymsp[-1].minor.yy442;} |
| 152217 | break; |
| 152218 | case 219: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 152219 | { |
| 152220 | sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, |
| 152221 | sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy442, yymsp[-10].minor.yy420, |
| 152222 | &yymsp[-11].minor.yy0, yymsp[0].minor.yy130, SQLITE_SO_ASC, yymsp[-8].minor.yy420, SQLITE_IDXTYPE_APPDEF); |
| 152223 | if( IN_RENAME_OBJECT && pParse->pNewIndex ){ |
| 152224 | sqlite3RenameTokenMap(pParse, pParse->pNewIndex->zName, &yymsp[-4].minor.yy0); |
| 152225 | } |
| 152226 | } |
| 152227 | break; |
| 152228 | case 220: /* uniqueflag ::= UNIQUE */ |
| 152229 | case 262: /* raisetype ::= ABORT */ yytestcase(yyruleno==262); |
| 152230 | {yymsp[0].minor.yy420 = OE_Abort;} |
| 152231 | break; |
| 152232 | case 221: /* uniqueflag ::= */ |
| 152233 | {yymsp[1].minor.yy420 = OE_None;} |
| 152234 | break; |
| 152235 | case 224: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 152236 | { |
| 152237 | yymsp[-4].minor.yy442 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy420, yymsp[0].minor.yy420); |
| 152238 | } |
| 152239 | break; |
| 152240 | case 225: /* eidlist ::= nm collate sortorder */ |
| 152241 | { |
| 152242 | yymsp[-2].minor.yy442 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy420, yymsp[0].minor.yy420); /*A-overwrites-Y*/ |
| 152243 | } |
| 152244 | break; |
| 152245 | case 228: /* cmd ::= DROP INDEX ifexists fullname */ |
| 152246 | {sqlite3DropIndex(pParse, yymsp[0].minor.yy147, yymsp[-1].minor.yy420);} |
| 152247 | break; |
| 152248 | case 229: /* cmd ::= VACUUM vinto */ |
| 152249 | {sqlite3Vacuum(pParse,0,yymsp[0].minor.yy130);} |
| 152250 | break; |
| 152251 | case 230: /* cmd ::= VACUUM nm vinto */ |
| 152252 | {sqlite3Vacuum(pParse,&yymsp[-1].minor.yy0,yymsp[0].minor.yy130);} |
| 152253 | break; |
| 152254 | case 233: /* cmd ::= PRAGMA nm dbnm */ |
| 152255 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 152256 | break; |
| 152257 | case 234: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| @@ -152269,55 +152331,55 @@ | |
| 152269 | case 240: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 152270 | { |
| 152271 | Token all; |
| 152272 | all.z = yymsp[-3].minor.yy0.z; |
| 152273 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 152274 | sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy524, &all); |
| 152275 | } |
| 152276 | break; |
| 152277 | case 241: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 152278 | { |
| 152279 | sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy420, yymsp[-4].minor.yy498.a, yymsp[-4].minor.yy498.b, yymsp[-2].minor.yy147, yymsp[0].minor.yy130, yymsp[-10].minor.yy420, yymsp[-8].minor.yy420); |
| 152280 | yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ |
| 152281 | } |
| 152282 | break; |
| 152283 | case 242: /* trigger_time ::= BEFORE|AFTER */ |
| 152284 | { yymsp[0].minor.yy420 = yymsp[0].major; /*A-overwrites-X*/ } |
| 152285 | break; |
| 152286 | case 243: /* trigger_time ::= INSTEAD OF */ |
| 152287 | { yymsp[-1].minor.yy420 = TK_INSTEAD;} |
| 152288 | break; |
| 152289 | case 244: /* trigger_time ::= */ |
| 152290 | { yymsp[1].minor.yy420 = TK_BEFORE; } |
| 152291 | break; |
| 152292 | case 245: /* trigger_event ::= DELETE|INSERT */ |
| 152293 | case 246: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==246); |
| 152294 | {yymsp[0].minor.yy498.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy498.b = 0;} |
| 152295 | break; |
| 152296 | case 247: /* trigger_event ::= UPDATE OF idlist */ |
| 152297 | {yymsp[-2].minor.yy498.a = TK_UPDATE; yymsp[-2].minor.yy498.b = yymsp[0].minor.yy200;} |
| 152298 | break; |
| 152299 | case 248: /* when_clause ::= */ |
| 152300 | case 267: /* key_opt ::= */ yytestcase(yyruleno==267); |
| 152301 | case 315: /* filter_opt ::= */ yytestcase(yyruleno==315); |
| 152302 | { yymsp[1].minor.yy130 = 0; } |
| 152303 | break; |
| 152304 | case 249: /* when_clause ::= WHEN expr */ |
| 152305 | case 268: /* key_opt ::= KEY expr */ yytestcase(yyruleno==268); |
| 152306 | { yymsp[-1].minor.yy130 = yymsp[0].minor.yy130; } |
| 152307 | break; |
| 152308 | case 250: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 152309 | { |
| 152310 | assert( yymsp[-2].minor.yy524!=0 ); |
| 152311 | yymsp[-2].minor.yy524->pLast->pNext = yymsp[-1].minor.yy524; |
| 152312 | yymsp[-2].minor.yy524->pLast = yymsp[-1].minor.yy524; |
| 152313 | } |
| 152314 | break; |
| 152315 | case 251: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 152316 | { |
| 152317 | assert( yymsp[-1].minor.yy524!=0 ); |
| 152318 | yymsp[-1].minor.yy524->pLast = yymsp[-1].minor.yy524; |
| 152319 | } |
| 152320 | break; |
| 152321 | case 252: /* trnm ::= nm DOT nm */ |
| 152322 | { |
| 152323 | yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; |
| @@ -152339,62 +152401,62 @@ | |
| 152339 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 152340 | "within triggers"); |
| 152341 | } |
| 152342 | break; |
| 152343 | case 255: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 152344 | {yylhsminor.yy524 = sqlite3TriggerUpdateStep(pParse, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy130, yymsp[-6].minor.yy420, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy104);} |
| 152345 | yymsp[-7].minor.yy524 = yylhsminor.yy524; |
| 152346 | break; |
| 152347 | case 256: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 152348 | { |
| 152349 | yylhsminor.yy524 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy200,yymsp[-2].minor.yy491,yymsp[-6].minor.yy420,yymsp[-1].minor.yy426,yymsp[-7].minor.yy104,yymsp[0].minor.yy104);/*yylhsminor.yy524-overwrites-yymsp[-6].minor.yy420*/ |
| 152350 | } |
| 152351 | yymsp[-7].minor.yy524 = yylhsminor.yy524; |
| 152352 | break; |
| 152353 | case 257: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 152354 | {yylhsminor.yy524 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy130, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy104);} |
| 152355 | yymsp[-5].minor.yy524 = yylhsminor.yy524; |
| 152356 | break; |
| 152357 | case 258: /* trigger_cmd ::= scanpt select scanpt */ |
| 152358 | {yylhsminor.yy524 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy491, yymsp[-2].minor.yy104, yymsp[0].minor.yy104); /*yylhsminor.yy524-overwrites-yymsp[-1].minor.yy491*/} |
| 152359 | yymsp[-2].minor.yy524 = yylhsminor.yy524; |
| 152360 | break; |
| 152361 | case 259: /* expr ::= RAISE LP IGNORE RP */ |
| 152362 | { |
| 152363 | yymsp[-3].minor.yy130 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); |
| 152364 | if( yymsp[-3].minor.yy130 ){ |
| 152365 | yymsp[-3].minor.yy130->affinity = OE_Ignore; |
| 152366 | } |
| 152367 | } |
| 152368 | break; |
| 152369 | case 260: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 152370 | { |
| 152371 | yymsp[-5].minor.yy130 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); |
| 152372 | if( yymsp[-5].minor.yy130 ) { |
| 152373 | yymsp[-5].minor.yy130->affinity = (char)yymsp[-3].minor.yy420; |
| 152374 | } |
| 152375 | } |
| 152376 | break; |
| 152377 | case 261: /* raisetype ::= ROLLBACK */ |
| 152378 | {yymsp[0].minor.yy420 = OE_Rollback;} |
| 152379 | break; |
| 152380 | case 263: /* raisetype ::= FAIL */ |
| 152381 | {yymsp[0].minor.yy420 = OE_Fail;} |
| 152382 | break; |
| 152383 | case 264: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 152384 | { |
| 152385 | sqlite3DropTrigger(pParse,yymsp[0].minor.yy147,yymsp[-1].minor.yy420); |
| 152386 | } |
| 152387 | break; |
| 152388 | case 265: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 152389 | { |
| 152390 | sqlite3Attach(pParse, yymsp[-3].minor.yy130, yymsp[-1].minor.yy130, yymsp[0].minor.yy130); |
| 152391 | } |
| 152392 | break; |
| 152393 | case 266: /* cmd ::= DETACH database_kw_opt expr */ |
| 152394 | { |
| 152395 | sqlite3Detach(pParse, yymsp[0].minor.yy130); |
| 152396 | } |
| 152397 | break; |
| 152398 | case 269: /* cmd ::= REINDEX */ |
| 152399 | {sqlite3Reindex(pParse, 0, 0);} |
| 152400 | break; |
| @@ -152407,11 +152469,11 @@ | |
| 152407 | case 272: /* cmd ::= ANALYZE nm dbnm */ |
| 152408 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 152409 | break; |
| 152410 | case 273: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 152411 | { |
| 152412 | sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy147,&yymsp[0].minor.yy0); |
| 152413 | } |
| 152414 | break; |
| 152415 | case 274: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 152416 | { |
| 152417 | yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; |
| @@ -152419,16 +152481,16 @@ | |
| 152419 | } |
| 152420 | break; |
| 152421 | case 275: /* add_column_fullname ::= fullname */ |
| 152422 | { |
| 152423 | disableLookaside(pParse); |
| 152424 | sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy147); |
| 152425 | } |
| 152426 | break; |
| 152427 | case 276: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 152428 | { |
| 152429 | sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy147, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); |
| 152430 | } |
| 152431 | break; |
| 152432 | case 277: /* cmd ::= create_vtab */ |
| 152433 | {sqlite3VtabFinishParse(pParse,0);} |
| 152434 | break; |
| @@ -152435,11 +152497,11 @@ | |
| 152435 | case 278: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 152436 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 152437 | break; |
| 152438 | case 279: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 152439 | { |
| 152440 | sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy420); |
| 152441 | } |
| 152442 | break; |
| 152443 | case 280: /* vtabarg ::= */ |
| 152444 | {sqlite3VtabArgInit(pParse);} |
| 152445 | break; |
| @@ -152448,148 +152510,148 @@ | |
| 152448 | case 283: /* lp ::= LP */ yytestcase(yyruleno==283); |
| 152449 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 152450 | break; |
| 152451 | case 284: /* with ::= WITH wqlist */ |
| 152452 | case 285: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==285); |
| 152453 | { sqlite3WithPush(pParse, yymsp[0].minor.yy523, 1); } |
| 152454 | break; |
| 152455 | case 286: /* wqlist ::= nm eidlist_opt AS LP select RP */ |
| 152456 | { |
| 152457 | yymsp[-5].minor.yy523 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy491); /*A-overwrites-X*/ |
| 152458 | } |
| 152459 | break; |
| 152460 | case 287: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 152461 | { |
| 152462 | yymsp[-7].minor.yy523 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy523, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy491); |
| 152463 | } |
| 152464 | break; |
| 152465 | case 288: /* windowdefn_list ::= windowdefn */ |
| 152466 | { yylhsminor.yy395 = yymsp[0].minor.yy395; } |
| 152467 | yymsp[0].minor.yy395 = yylhsminor.yy395; |
| 152468 | break; |
| 152469 | case 289: /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 152470 | { |
| 152471 | assert( yymsp[0].minor.yy395!=0 ); |
| 152472 | sqlite3WindowChain(pParse, yymsp[0].minor.yy395, yymsp[-2].minor.yy395); |
| 152473 | yymsp[0].minor.yy395->pNextWin = yymsp[-2].minor.yy395; |
| 152474 | yylhsminor.yy395 = yymsp[0].minor.yy395; |
| 152475 | } |
| 152476 | yymsp[-2].minor.yy395 = yylhsminor.yy395; |
| 152477 | break; |
| 152478 | case 290: /* windowdefn ::= nm AS LP window RP */ |
| 152479 | { |
| 152480 | if( ALWAYS(yymsp[-1].minor.yy395) ){ |
| 152481 | yymsp[-1].minor.yy395->zName = sqlite3DbStrNDup(pParse->db, yymsp[-4].minor.yy0.z, yymsp[-4].minor.yy0.n); |
| 152482 | } |
| 152483 | yylhsminor.yy395 = yymsp[-1].minor.yy395; |
| 152484 | } |
| 152485 | yymsp[-4].minor.yy395 = yylhsminor.yy395; |
| 152486 | break; |
| 152487 | case 291: /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 152488 | { |
| 152489 | yymsp[-4].minor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, yymsp[-2].minor.yy442, yymsp[-1].minor.yy442, 0); |
| 152490 | } |
| 152491 | break; |
| 152492 | case 292: /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 152493 | { |
| 152494 | yylhsminor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, yymsp[-2].minor.yy442, yymsp[-1].minor.yy442, &yymsp[-5].minor.yy0); |
| 152495 | } |
| 152496 | yymsp[-5].minor.yy395 = yylhsminor.yy395; |
| 152497 | break; |
| 152498 | case 293: /* window ::= ORDER BY sortlist frame_opt */ |
| 152499 | { |
| 152500 | yymsp[-3].minor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, 0, yymsp[-1].minor.yy442, 0); |
| 152501 | } |
| 152502 | break; |
| 152503 | case 294: /* window ::= nm ORDER BY sortlist frame_opt */ |
| 152504 | { |
| 152505 | yylhsminor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, 0, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0); |
| 152506 | } |
| 152507 | yymsp[-4].minor.yy395 = yylhsminor.yy395; |
| 152508 | break; |
| 152509 | case 295: /* window ::= frame_opt */ |
| 152510 | { |
| 152511 | yylhsminor.yy395 = yymsp[0].minor.yy395; |
| 152512 | } |
| 152513 | yymsp[0].minor.yy395 = yylhsminor.yy395; |
| 152514 | break; |
| 152515 | case 296: /* window ::= nm frame_opt */ |
| 152516 | { |
| 152517 | yylhsminor.yy395 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy395, 0, 0, &yymsp[-1].minor.yy0); |
| 152518 | } |
| 152519 | yymsp[-1].minor.yy395 = yylhsminor.yy395; |
| 152520 | break; |
| 152521 | case 297: /* frame_opt ::= */ |
| 152522 | { |
| 152523 | yymsp[1].minor.yy395 = sqlite3WindowAlloc(pParse, 0, TK_UNBOUNDED, 0, TK_CURRENT, 0, 0); |
| 152524 | } |
| 152525 | break; |
| 152526 | case 298: /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 152527 | { |
| 152528 | yylhsminor.yy395 = sqlite3WindowAlloc(pParse, yymsp[-2].minor.yy420, yymsp[-1].minor.yy273.eType, yymsp[-1].minor.yy273.pExpr, TK_CURRENT, 0, yymsp[0].minor.yy10); |
| 152529 | } |
| 152530 | yymsp[-2].minor.yy395 = yylhsminor.yy395; |
| 152531 | break; |
| 152532 | case 299: /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 152533 | { |
| 152534 | yylhsminor.yy395 = sqlite3WindowAlloc(pParse, yymsp[-5].minor.yy420, yymsp[-3].minor.yy273.eType, yymsp[-3].minor.yy273.pExpr, yymsp[-1].minor.yy273.eType, yymsp[-1].minor.yy273.pExpr, yymsp[0].minor.yy10); |
| 152535 | } |
| 152536 | yymsp[-5].minor.yy395 = yylhsminor.yy395; |
| 152537 | break; |
| 152538 | case 301: /* frame_bound_s ::= frame_bound */ |
| 152539 | case 303: /* frame_bound_e ::= frame_bound */ yytestcase(yyruleno==303); |
| 152540 | {yylhsminor.yy273 = yymsp[0].minor.yy273;} |
| 152541 | yymsp[0].minor.yy273 = yylhsminor.yy273; |
| 152542 | break; |
| 152543 | case 302: /* frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 152544 | case 304: /* frame_bound_e ::= UNBOUNDED FOLLOWING */ yytestcase(yyruleno==304); |
| 152545 | case 306: /* frame_bound ::= CURRENT ROW */ yytestcase(yyruleno==306); |
| 152546 | {yylhsminor.yy273.eType = yymsp[-1].major; yylhsminor.yy273.pExpr = 0;} |
| 152547 | yymsp[-1].minor.yy273 = yylhsminor.yy273; |
| 152548 | break; |
| 152549 | case 305: /* frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 152550 | {yylhsminor.yy273.eType = yymsp[0].major; yylhsminor.yy273.pExpr = yymsp[-1].minor.yy130;} |
| 152551 | yymsp[-1].minor.yy273 = yylhsminor.yy273; |
| 152552 | break; |
| 152553 | case 307: /* frame_exclude_opt ::= */ |
| 152554 | {yymsp[1].minor.yy10 = 0;} |
| 152555 | break; |
| 152556 | case 308: /* frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 152557 | {yymsp[-1].minor.yy10 = yymsp[0].minor.yy10;} |
| 152558 | break; |
| 152559 | case 309: /* frame_exclude ::= NO OTHERS */ |
| 152560 | case 310: /* frame_exclude ::= CURRENT ROW */ yytestcase(yyruleno==310); |
| 152561 | {yymsp[-1].minor.yy10 = yymsp[-1].major; /*A-overwrites-X*/} |
| 152562 | break; |
| 152563 | case 311: /* frame_exclude ::= GROUP|TIES */ |
| 152564 | {yymsp[0].minor.yy10 = yymsp[0].major; /*A-overwrites-X*/} |
| 152565 | break; |
| 152566 | case 312: /* window_clause ::= WINDOW windowdefn_list */ |
| 152567 | { yymsp[-1].minor.yy395 = yymsp[0].minor.yy395; } |
| 152568 | break; |
| 152569 | case 313: /* over_clause ::= filter_opt OVER LP window RP */ |
| 152570 | { |
| 152571 | yylhsminor.yy395 = yymsp[-1].minor.yy395; |
| 152572 | assert( yylhsminor.yy395!=0 ); |
| 152573 | yylhsminor.yy395->pFilter = yymsp[-4].minor.yy130; |
| 152574 | } |
| 152575 | yymsp[-4].minor.yy395 = yylhsminor.yy395; |
| 152576 | break; |
| 152577 | case 314: /* over_clause ::= filter_opt OVER nm */ |
| 152578 | { |
| 152579 | yylhsminor.yy395 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); |
| 152580 | if( yylhsminor.yy395 ){ |
| 152581 | yylhsminor.yy395->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); |
| 152582 | yylhsminor.yy395->pFilter = yymsp[-2].minor.yy130; |
| 152583 | }else{ |
| 152584 | sqlite3ExprDelete(pParse->db, yymsp[-2].minor.yy130); |
| 152585 | } |
| 152586 | } |
| 152587 | yymsp[-2].minor.yy395 = yylhsminor.yy395; |
| 152588 | break; |
| 152589 | case 316: /* filter_opt ::= FILTER LP WHERE expr RP */ |
| 152590 | { yymsp[-4].minor.yy130 = yymsp[-1].minor.yy130; } |
| 152591 | break; |
| 152592 | default: |
| 152593 | /* (317) input ::= cmdlist */ yytestcase(yyruleno==317); |
| 152594 | /* (318) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==318); |
| 152595 | /* (319) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=319); |
| @@ -211378,12 +211440,12 @@ | |
| 211378 | }else if( p2->pLeaf==0 ){ /* If p2 is at EOF */ |
| 211379 | iRes = i1; |
| 211380 | }else{ |
| 211381 | int res = fts5BufferCompare(&p1->term, &p2->term); |
| 211382 | if( res==0 ){ |
| 211383 | assert( i2>i1 ); |
| 211384 | assert( i2!=0 ); |
| 211385 | pRes->bTermEq = 1; |
| 211386 | if( p1->iRowid==p2->iRowid ){ |
| 211387 | p1->bDel = p2->bDel; |
| 211388 | return i2; |
| 211389 | } |
| @@ -217957,11 +218019,11 @@ | |
| 217957 | int nArg, /* Number of args */ |
| 217958 | sqlite3_value **apUnused /* Function arguments */ |
| 217959 | ){ |
| 217960 | assert( nArg==0 ); |
| 217961 | UNUSED_PARAM2(nArg, apUnused); |
| 217962 | sqlite3_result_text(pCtx, "fts5: 2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f", -1, SQLITE_TRANSIENT); |
| 217963 | } |
| 217964 | |
| 217965 | /* |
| 217966 | ** Return true if zName is the extension on one of the shadow tables used |
| 217967 | ** by this module. |
| @@ -222721,12 +222783,12 @@ | |
| 222721 | } |
| 222722 | #endif /* SQLITE_CORE */ |
| 222723 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 222724 | |
| 222725 | /************** End of stmt.c ************************************************/ |
| 222726 | #if __LINE__!=222726 |
| 222727 | #undef SQLITE_SOURCE_ID |
| 222728 | #define SQLITE_SOURCE_ID "2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2aalt2" |
| 222729 | #endif |
| 222730 | /* Return the source-id for this library */ |
| 222731 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 222732 | /************************** End of sqlite3.c ******************************/ |
| 222733 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1162,11 +1162,11 @@ | |
| 1162 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1163 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1164 | */ |
| 1165 | #define SQLITE_VERSION "3.28.0" |
| 1166 | #define SQLITE_VERSION_NUMBER 3028000 |
| 1167 | #define SQLITE_SOURCE_ID "2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f" |
| 1168 | |
| 1169 | /* |
| 1170 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1171 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1172 | ** |
| @@ -6017,11 +6017,11 @@ | |
| 6017 | ** <td>→ <td>Best numeric datatype of the value |
| 6018 | ** <tr><td><b>sqlite3_value_nochange </b> |
| 6019 | ** <td>→ <td>True if the column is unchanged in an UPDATE |
| 6020 | ** against a virtual table. |
| 6021 | ** <tr><td><b>sqlite3_value_frombind </b> |
| 6022 | ** <td>→ <td>True if value originated from a [bound parameter] |
| 6023 | ** </table></blockquote> |
| 6024 | ** |
| 6025 | ** <b>Details:</b> |
| 6026 | ** |
| 6027 | ** These routines extract type, size, and content information from |
| @@ -13643,21 +13643,12 @@ | |
| 13643 | #define TK_VECTOR 169 |
| 13644 | #define TK_SELECT_COLUMN 170 |
| 13645 | #define TK_IF_NULL_ROW 171 |
| 13646 | #define TK_ASTERISK 172 |
| 13647 | #define TK_SPAN 173 |
| 13648 | #define TK_SPACE 174 |
| 13649 | #define TK_ILLEGAL 175 |
| 13650 | |
| 13651 | /************** End of parse.h ***********************************************/ |
| 13652 | /************** Continuing where we left off in sqliteInt.h ******************/ |
| 13653 | #include <stdio.h> |
| 13654 | #include <stdlib.h> |
| @@ -16495,11 +16486,12 @@ | |
| 16486 | ** Allowed values for sqlite3.mDbFlags |
| 16487 | */ |
| 16488 | #define DBFLAG_SchemaChange 0x0001 /* Uncommitted Hash table changes */ |
| 16489 | #define DBFLAG_PreferBuiltin 0x0002 /* Preference to built-in funcs */ |
| 16490 | #define DBFLAG_Vacuum 0x0004 /* Currently in a VACUUM */ |
| 16491 | #define DBFLAG_VacuumInto 0x0008 /* Currently running VACUUM INTO */ |
| 16492 | #define DBFLAG_SchemaKnownOk 0x0010 /* Schema is known to be valid */ |
| 16493 | |
| 16494 | /* |
| 16495 | ** Bits of the sqlite3.dbOptFlags field that are used by the |
| 16496 | ** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to |
| 16497 | ** selectively disable various optimizations. |
| @@ -18763,10 +18755,11 @@ | |
| 18755 | #endif |
| 18756 | |
| 18757 | |
| 18758 | SQLITE_PRIVATE void sqlite3SetString(char **, sqlite3*, const char*); |
| 18759 | SQLITE_PRIVATE void sqlite3ErrorMsg(Parse*, const char*, ...); |
| 18760 | SQLITE_PRIVATE int sqlite3ErrorToParser(sqlite3*,int); |
| 18761 | SQLITE_PRIVATE void sqlite3Dequote(char*); |
| 18762 | SQLITE_PRIVATE void sqlite3DequoteExpr(Expr*); |
| 18763 | SQLITE_PRIVATE void sqlite3TokenInit(Token*,char*); |
| 18764 | SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char*, int); |
| 18765 | SQLITE_PRIVATE int sqlite3RunParser(Parse*, const char*, char **); |
| @@ -20222,10 +20215,16 @@ | |
| 20215 | ** Clear any existing type flags from a Mem and replace them with f |
| 20216 | */ |
| 20217 | #define MemSetTypeFlag(p, f) \ |
| 20218 | ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f) |
| 20219 | |
| 20220 | /* |
| 20221 | ** True if Mem X is a NULL-nochng type. |
| 20222 | */ |
| 20223 | #define MemNullNochng(X) \ |
| 20224 | ((X)->flags==(MEM_Null|MEM_Zero) && (X)->n==0 && (X)->u.nZero==0) |
| 20225 | |
| 20226 | /* |
| 20227 | ** Return true if a memory cell is not marked as invalid. This macro |
| 20228 | ** is for use inside assert() statements only. |
| 20229 | */ |
| 20230 | #ifdef SQLITE_DEBUG |
| @@ -27368,10 +27367,11 @@ | |
| 27367 | */ |
| 27368 | static void setStrAccumError(StrAccum *p, u8 eError){ |
| 27369 | assert( eError==SQLITE_NOMEM || eError==SQLITE_TOOBIG ); |
| 27370 | p->accError = eError; |
| 27371 | if( p->mxAlloc ) sqlite3_str_reset(p); |
| 27372 | if( eError==SQLITE_TOOBIG ) sqlite3ErrorToParser(p->db, eError); |
| 27373 | } |
| 27374 | |
| 27375 | /* |
| 27376 | ** Extra argument values from a PrintfArguments object |
| 27377 | */ |
| @@ -30225,19 +30225,27 @@ | |
| 30225 | dummy += (unsigned)x; |
| 30226 | } |
| 30227 | #endif |
| 30228 | |
| 30229 | /* |
| 30230 | ** Calls to sqlite3FaultSim() are used to simulate a failure during testing, |
| 30231 | ** or to bypass normal error detection during testing in order to let |
| 30232 | ** execute proceed futher downstream. |
| 30233 | ** |
| 30234 | ** In deployment, sqlite3FaultSim() *always* return SQLITE_OK (0). The |
| 30235 | ** sqlite3FaultSim() function only returns non-zero during testing. |
| 30236 | ** |
| 30237 | ** During testing, if the test harness has set a fault-sim callback using |
| 30238 | ** a call to sqlite3_test_control(SQLITE_TESTCTRL_FAULT_INSTALL), then |
| 30239 | ** each call to sqlite3FaultSim() is relayed to that application-supplied |
| 30240 | ** callback and the integer return value form the application-supplied |
| 30241 | ** callback is returned by sqlite3FaultSim(). |
| 30242 | ** |
| 30243 | ** The integer argument to sqlite3FaultSim() is a code to identify which |
| 30244 | ** sqlite3FaultSim() instance is being invoked. Each call to sqlite3FaultSim() |
| 30245 | ** should have a unique code. To prevent legacy testing applications from |
| 30246 | ** breaking, the codes should not be changed or reused. |
| 30247 | */ |
| 30248 | #ifndef SQLITE_UNTESTABLE |
| 30249 | SQLITE_PRIVATE int sqlite3FaultSim(int iTest){ |
| 30250 | int (*xCallback)(int) = sqlite3GlobalConfig.xTestCallback; |
| 30251 | return xCallback ? xCallback(iTest) : SQLITE_OK; |
| @@ -30417,10 +30425,23 @@ | |
| 30425 | sqlite3DbFree(db, pParse->zErrMsg); |
| 30426 | pParse->zErrMsg = zMsg; |
| 30427 | pParse->rc = SQLITE_ERROR; |
| 30428 | } |
| 30429 | } |
| 30430 | |
| 30431 | /* |
| 30432 | ** If database connection db is currently parsing SQL, then transfer |
| 30433 | ** error code errCode to that parser if the parser has not already |
| 30434 | ** encountered some other kind of error. |
| 30435 | */ |
| 30436 | SQLITE_PRIVATE int sqlite3ErrorToParser(sqlite3 *db, int errCode){ |
| 30437 | Parse *pParse; |
| 30438 | if( db==0 || (pParse = db->pParse)==0 ) return errCode; |
| 30439 | pParse->rc = errCode; |
| 30440 | pParse->nErr++; |
| 30441 | return errCode; |
| 30442 | } |
| 30443 | |
| 30444 | /* |
| 30445 | ** Convert an SQL-style quoted string into a normal string by removing |
| 30446 | ** the quote characters. The conversion is done in-place. If the |
| 30447 | ** input does not begin with a quote character, then this routine |
| @@ -69336,11 +69357,11 @@ | |
| 69357 | MemPage *pTrunk = 0; /* Free-list trunk page */ |
| 69358 | Pgno iTrunk = 0; /* Page number of free-list trunk page */ |
| 69359 | MemPage *pPage1 = pBt->pPage1; /* Local reference to page 1 */ |
| 69360 | MemPage *pPage; /* Page being freed. May be NULL. */ |
| 69361 | int rc; /* Return Code */ |
| 69362 | u32 nFree; /* Initial number of pages on free-list */ |
| 69363 | |
| 69364 | assert( sqlite3_mutex_held(pBt->mutex) ); |
| 69365 | assert( CORRUPT_DB || iPage>1 ); |
| 69366 | assert( !pMemPage || pMemPage->pgno==iPage ); |
| 69367 | |
| @@ -74697,17 +74718,19 @@ | |
| 74718 | */ |
| 74719 | #ifndef SQLITE_OMIT_INCRBLOB |
| 74720 | SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ |
| 74721 | int nByte; |
| 74722 | assert( pMem->flags & MEM_Zero ); |
| 74723 | assert( (pMem->flags&MEM_Blob)!=0 || MemNullNochng(pMem) ); |
| 74724 | testcase( sqlite3_value_nochange(pMem) ); |
| 74725 | assert( !sqlite3VdbeMemIsRowSet(pMem) ); |
| 74726 | assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); |
| 74727 | |
| 74728 | /* Set nByte to the number of bytes required to store the expanded blob. */ |
| 74729 | nByte = pMem->n + pMem->u.nZero; |
| 74730 | if( nByte<=0 ){ |
| 74731 | if( (pMem->flags & MEM_Blob)==0 ) return SQLITE_OK; |
| 74732 | nByte = 1; |
| 74733 | } |
| 74734 | if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ |
| 74735 | return SQLITE_NOMEM_BKPT; |
| 74736 | } |
| @@ -75460,11 +75483,11 @@ | |
| 75483 | u32 nAlloc = nByte; |
| 75484 | if( flags&MEM_Term ){ |
| 75485 | nAlloc += (enc==SQLITE_UTF8?1:2); |
| 75486 | } |
| 75487 | if( nByte>iLimit ){ |
| 75488 | return sqlite3ErrorToParser(pMem->db, SQLITE_TOOBIG); |
| 75489 | } |
| 75490 | testcase( nAlloc==0 ); |
| 75491 | testcase( nAlloc==31 ); |
| 75492 | testcase( nAlloc==32 ); |
| 75493 | if( sqlite3VdbeMemClearAndResize(pMem, (int)MAX(nAlloc,32)) ){ |
| @@ -97716,11 +97739,11 @@ | |
| 97739 | p = sqlite3ExprAnd(pParse->db, pLeft, pRight); |
| 97740 | }else{ |
| 97741 | p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)); |
| 97742 | if( p ){ |
| 97743 | memset(p, 0, sizeof(Expr)); |
| 97744 | p->op = op & 0xff; |
| 97745 | p->iAgg = -1; |
| 97746 | } |
| 97747 | sqlite3ExprAttachSubtrees(pParse->db, p, pLeft, pRight); |
| 97748 | } |
| 97749 | if( p ) { |
| @@ -111209,11 +111232,12 @@ | |
| 111232 | char *zErr; |
| 111233 | int j; |
| 111234 | StrAccum errMsg; |
| 111235 | Table *pTab = pIdx->pTable; |
| 111236 | |
| 111237 | sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, |
| 111238 | pParse->db->aLimit[SQLITE_LIMIT_LENGTH]); |
| 111239 | if( pIdx->aColExpr ){ |
| 111240 | sqlite3_str_appendf(&errMsg, "index '%q'", pIdx->zName); |
| 111241 | }else{ |
| 111242 | for(j=0; j<pIdx->nKeyCol; j++){ |
| 111243 | char *zCol; |
| @@ -118698,10 +118722,17 @@ | |
| 118722 | if( xferCompatibleIndex(pDestIdx, pSrcIdx) ) break; |
| 118723 | } |
| 118724 | if( pSrcIdx==0 ){ |
| 118725 | return 0; /* pDestIdx has no corresponding index in pSrc */ |
| 118726 | } |
| 118727 | if( pSrcIdx->tnum==pDestIdx->tnum && pSrc->pSchema==pDest->pSchema |
| 118728 | && sqlite3FaultSim(411)==SQLITE_OK ){ |
| 118729 | /* The sqlite3FaultSim() call allows this corruption test to be |
| 118730 | ** bypassed during testing, in order to exercise other corruption tests |
| 118731 | ** further downstream. */ |
| 118732 | return 0; /* Corrupt schema - two indexes on the same btree */ |
| 118733 | } |
| 118734 | } |
| 118735 | #ifndef SQLITE_OMIT_CHECK |
| 118736 | if( pDest->pCheck && sqlite3ExprListCompare(pSrc->pCheck,pDest->pCheck,-1) ){ |
| 118737 | return 0; /* Tables have different CHECK constraints. Ticket #2252 */ |
| 118738 | } |
| @@ -118775,11 +118806,11 @@ | |
| 118806 | addr2 = sqlite3VdbeAddOp3(v, OP_NotExists, iDest, 0, regRowid); |
| 118807 | VdbeCoverage(v); |
| 118808 | sqlite3RowidConstraint(pParse, onError, pDest); |
| 118809 | sqlite3VdbeJumpHere(v, addr2); |
| 118810 | autoIncStep(pParse, regAutoinc, regRowid); |
| 118811 | }else if( pDest->pIndex==0 && !(db->mDbFlags & DBFLAG_VacuumInto) ){ |
| 118812 | addr1 = sqlite3VdbeAddOp2(v, OP_NewRowid, iDest, regRowid); |
| 118813 | }else{ |
| 118814 | addr1 = sqlite3VdbeAddOp2(v, OP_Rowid, iSrc, regRowid); |
| 118815 | assert( (pDest->tabFlags & TF_Autoincrement)==0 ); |
| 118816 | } |
| @@ -120104,14 +120135,17 @@ | |
| 120135 | sqlite3_str_value, |
| 120136 | /* Version 3.25.0 and later */ |
| 120137 | sqlite3_create_window_function, |
| 120138 | /* Version 3.26.0 and later */ |
| 120139 | #ifdef SQLITE_ENABLE_NORMALIZE |
| 120140 | sqlite3_normalized_sql, |
| 120141 | #else |
| 120142 | 0, |
| 120143 | #endif |
| 120144 | /* Version 3.28.0 and later */ |
| 120145 | sqlite3_stmt_isexplain, |
| 120146 | sqlite3_value_frombind |
| 120147 | }; |
| 120148 | |
| 120149 | /* |
| 120150 | ** Attempt to load an SQLite extension library contained in the file |
| 120151 | ** zFile. The entry point is zProc. zProc may be 0 in which case a |
| @@ -133979,11 +134013,11 @@ | |
| 134013 | } |
| 134014 | |
| 134015 | /* |
| 134016 | ** This routine implements the OP_Vacuum opcode of the VDBE. |
| 134017 | */ |
| 134018 | SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3RunVacuum( |
| 134019 | char **pzErrMsg, /* Write error message here */ |
| 134020 | sqlite3 *db, /* Database connection */ |
| 134021 | int iDb, /* Which attached DB to vacuum */ |
| 134022 | sqlite3_value *pOut /* Write results here, if not NULL. VACUUM INTO */ |
| 134023 | ){ |
| @@ -134003,15 +134037,15 @@ | |
| 134037 | const char *zDbMain; /* Schema name of database to vacuum */ |
| 134038 | const char *zOut; /* Name of output file */ |
| 134039 | |
| 134040 | if( !db->autoCommit ){ |
| 134041 | sqlite3SetString(pzErrMsg, db, "cannot VACUUM from within a transaction"); |
| 134042 | return SQLITE_ERROR; /* IMP: R-12218-18073 */ |
| 134043 | } |
| 134044 | if( db->nVdbeActive>1 ){ |
| 134045 | sqlite3SetString(pzErrMsg, db,"cannot VACUUM - SQL statements in progress"); |
| 134046 | return SQLITE_ERROR; /* IMP: R-15610-35227 */ |
| 134047 | } |
| 134048 | saved_openFlags = db->openFlags; |
| 134049 | if( pOut ){ |
| 134050 | if( sqlite3_value_type(pOut)!=SQLITE_TEXT ){ |
| 134051 | sqlite3SetString(pzErrMsg, db, "non-text filename"); |
| @@ -134070,10 +134104,11 @@ | |
| 134104 | if( id->pMethods!=0 && (sqlite3OsFileSize(id, &sz)!=SQLITE_OK || sz>0) ){ |
| 134105 | rc = SQLITE_ERROR; |
| 134106 | sqlite3SetString(pzErrMsg, db, "output file already exists"); |
| 134107 | goto end_of_vacuum; |
| 134108 | } |
| 134109 | db->mDbFlags |= DBFLAG_VacuumInto; |
| 134110 | } |
| 134111 | nRes = sqlite3BtreeGetOptimalReserve(pMain); |
| 134112 | |
| 134113 | /* A VACUUM cannot change the pagesize of an encrypted database. */ |
| 134114 | #ifdef SQLITE_HAS_CODEC |
| @@ -138063,11 +138098,16 @@ | |
| 138098 | testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO ); |
| 138099 | pExpr = sqlite3ExprDup(db, pExpr, 0); |
| 138100 | pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr); |
| 138101 | } |
| 138102 | if( pAndExpr ){ |
| 138103 | /* The extra 0x10000 bit on the opcode is masked off and does not |
| 138104 | ** become part of the new Expr.op. However, it does make the |
| 138105 | ** op==TK_AND comparison inside of sqlite3PExpr() false, and this |
| 138106 | ** prevents sqlite3PExpr() from implementing AND short-circuit |
| 138107 | ** optimization, which we do not want here. */ |
| 138108 | pAndExpr = sqlite3PExpr(pParse, TK_AND|0x10000, 0, pAndExpr); |
| 138109 | } |
| 138110 | } |
| 138111 | |
| 138112 | /* Run a separate WHERE clause for each term of the OR clause. After |
| 138113 | ** eliminating duplicates from other WHERE clauses, the action for each |
| @@ -148247,10 +148287,14 @@ | |
| 148287 | pIdToken->n, pIdToken->z); |
| 148288 | } |
| 148289 | sqlite3ExprListSetName(pParse, p, pIdToken, 1); |
| 148290 | return p; |
| 148291 | } |
| 148292 | |
| 148293 | #if TK_SPAN>255 |
| 148294 | # error too many tokens in the grammar |
| 148295 | #endif |
| 148296 | /**************** End of %include directives **********************************/ |
| 148297 | /* These constants specify the various numeric values for terminal symbols |
| 148298 | ** in a format understandable to "makeheaders". This section is blank unless |
| 148299 | ** "lemon" is run with the "-m" command-line option. |
| 148300 | ***************** Begin makeheaders token definitions *************************/ |
| @@ -148310,32 +148354,32 @@ | |
| 148354 | #ifndef INTERFACE |
| 148355 | # define INTERFACE 1 |
| 148356 | #endif |
| 148357 | /************* Begin control #defines *****************************************/ |
| 148358 | #define YYCODETYPE unsigned short int |
| 148359 | #define YYNOCODE 301 |
| 148360 | #define YYACTIONTYPE unsigned short int |
| 148361 | #define YYWILDCARD 95 |
| 148362 | #define sqlite3ParserTOKENTYPE Token |
| 148363 | typedef union { |
| 148364 | int yyinit; |
| 148365 | sqlite3ParserTOKENTYPE yy0; |
| 148366 | With* yy59; |
| 148367 | IdList* yy62; |
| 148368 | struct TrigEvent yy90; |
| 148369 | Upsert* yy136; |
| 148370 | struct FrameBound yy201; |
| 148371 | u8 yy238; |
| 148372 | const char* yy294; |
| 148373 | Window* yy295; |
| 148374 | struct {int value; int mask;} yy355; |
| 148375 | ExprList* yy434; |
| 148376 | TriggerStep* yy455; |
| 148377 | Select* yy457; |
| 148378 | SrcList* yy483; |
| 148379 | int yy494; |
| 148380 | Expr* yy524; |
| 148381 | } YYMINORTYPE; |
| 148382 | #ifndef YYSTACKDEPTH |
| 148383 | #define YYSTACKDEPTH 100 |
| 148384 | #endif |
| 148385 | #define sqlite3ParserARG_SDECL |
| @@ -148349,11 +148393,11 @@ | |
| 148393 | #define sqlite3ParserCTX_FETCH Parse *pParse=yypParser->pParse; |
| 148394 | #define sqlite3ParserCTX_STORE yypParser->pParse=pParse; |
| 148395 | #define YYFALLBACK 1 |
| 148396 | #define YYNSTATE 541 |
| 148397 | #define YYNRULE 375 |
| 148398 | #define YYNTOKEN 176 |
| 148399 | #define YY_MAX_SHIFT 540 |
| 148400 | #define YY_MIN_SHIFTREDUCE 784 |
| 148401 | #define YY_MAX_SHIFTREDUCE 1158 |
| 148402 | #define YY_ERROR_ACTION 1159 |
| 148403 | #define YY_ACCEPT_ACTION 1160 |
| @@ -148426,190 +148470,190 @@ | |
| 148470 | ** yy_default[] Default action for each state. |
| 148471 | ** |
| 148472 | *********** Begin parsing tables **********************************************/ |
| 148473 | #define YY_ACTTAB_COUNT (2142) |
| 148474 | static const YYACTIONTYPE yy_action[] = { |
| 148475 | /* 0 */ 535, 1323, 112, 109, 209, 112, 109, 209, 1160, 1, |
| 148476 | /* 10 */ 1, 540, 2, 1164, 535, 1292, 1228, 1207, 289, 384, |
| 148477 | /* 20 */ 134, 42, 42, 1427, 382, 1228, 9, 1241, 242, 492, |
| 148478 | /* 30 */ 1291, 915, 373, 379, 1026, 70, 70, 427, 1026, 916, |
| 148479 | /* 40 */ 529, 529, 529, 119, 120, 110, 1136, 1136, 981, 984, |
| 148480 | /* 50 */ 974, 974, 117, 117, 118, 118, 118, 118, 380, 264, |
| 148481 | /* 60 */ 264, 264, 264, 1134, 264, 264, 112, 109, 209, 397, |
| 148482 | /* 70 */ 454, 517, 532, 491, 532, 1233, 1233, 532, 239, 206, |
| 148483 | /* 80 */ 493, 112, 109, 209, 464, 219, 118, 118, 118, 118, |
| 148484 | /* 90 */ 111, 393, 440, 444, 16, 16, 116, 116, 116, 116, |
| 148485 | /* 100 */ 115, 115, 114, 114, 114, 113, 415, 971, 971, 982, |
| 148486 | /* 110 */ 985, 235, 1463, 351, 1134, 419, 384, 116, 116, 116, |
| 148487 | /* 120 */ 116, 115, 115, 114, 114, 114, 113, 415, 116, 116, |
| 148488 | /* 130 */ 116, 116, 115, 115, 114, 114, 114, 113, 415, 961, |
| 148489 | /* 140 */ 119, 120, 110, 1136, 1136, 981, 984, 974, 974, 117, |
| 148490 | /* 150 */ 117, 118, 118, 118, 118, 952, 415, 941, 298, 951, |
| 148491 | /* 160 */ 941, 1480, 540, 2, 1164, 1115, 535, 1458, 160, 289, |
| 148492 | /* 170 */ 6, 134, 1504, 389, 406, 975, 338, 1024, 1241, 337, |
| 148493 | /* 180 */ 1089, 1476, 1089, 118, 118, 118, 118, 42, 42, 329, |
| 148494 | /* 190 */ 951, 951, 953, 116, 116, 116, 116, 115, 115, 114, |
| 148495 | /* 200 */ 114, 114, 113, 415, 311, 430, 299, 311, 881, 160, |
| 148496 | /* 210 */ 264, 264, 401, 384, 324, 1115, 1116, 1117, 288, 526, |
| 148497 | /* 220 */ 96, 159, 1441, 532, 141, 116, 116, 116, 116, 115, |
| 148498 | /* 230 */ 115, 114, 114, 114, 113, 415, 219, 119, 120, 110, |
| 148499 | /* 240 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148500 | /* 250 */ 118, 118, 115, 115, 114, 114, 114, 113, 415, 288, |
| 148501 | /* 260 */ 526, 403, 533, 121, 870, 870, 419, 250, 267, 336, |
| 148502 | /* 270 */ 475, 331, 474, 236, 160, 319, 1084, 322, 1465, 329, |
| 148503 | /* 280 */ 350, 12, 535, 384, 502, 1115, 1084, 435, 312, 1084, |
| 148504 | /* 290 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148505 | /* 300 */ 415, 535, 836, 42, 42, 138, 426, 119, 120, 110, |
| 148506 | /* 310 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148507 | /* 320 */ 118, 118, 70, 70, 288, 526, 412, 411, 480, 1457, |
| 148508 | /* 330 */ 335, 79, 6, 473, 1140, 1115, 1116, 1117, 501, 1142, |
| 148509 | /* 340 */ 334, 837, 811, 1484, 512, 1164, 534, 1141, 123, 187, |
| 148510 | /* 350 */ 289, 384, 134, 448, 434, 1115, 80, 349, 498, 1241, |
| 148511 | /* 360 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148512 | /* 370 */ 415, 1143, 1115, 1143, 459, 119, 120, 110, 1136, 1136, |
| 148513 | /* 380 */ 981, 984, 974, 974, 117, 117, 118, 118, 118, 118, |
| 148514 | /* 390 */ 404, 264, 264, 811, 1463, 506, 368, 1156, 535, 114, |
| 148515 | /* 400 */ 114, 114, 113, 415, 532, 1115, 1116, 1117, 231, 518, |
| 148516 | /* 410 */ 1500, 472, 469, 468, 175, 497, 422, 219, 1202, 70, |
| 148517 | /* 420 */ 70, 467, 1115, 1116, 1117, 176, 201, 200, 116, 116, |
| 148518 | /* 430 */ 116, 116, 115, 115, 114, 114, 114, 113, 415, 535, |
| 148519 | /* 440 */ 1115, 264, 264, 435, 312, 1115, 273, 419, 384, 513, |
| 148520 | /* 450 */ 1450, 1115, 326, 1084, 532, 517, 82, 1084, 167, 388, |
| 148521 | /* 460 */ 69, 69, 1115, 1084, 519, 509, 1084, 1084, 12, 1157, |
| 148522 | /* 470 */ 1084, 420, 119, 120, 110, 1136, 1136, 981, 984, 974, |
| 148523 | /* 480 */ 974, 117, 117, 118, 118, 118, 118, 258, 258, 535, |
| 148524 | /* 490 */ 1115, 1116, 1117, 1045, 535, 1115, 1116, 1117, 1323, 535, |
| 148525 | /* 500 */ 532, 1115, 1116, 1117, 296, 483, 1211, 818, 1046, 448, |
| 148526 | /* 510 */ 70, 70, 1115, 1116, 1117, 50, 50, 448, 356, 500, |
| 148527 | /* 520 */ 70, 70, 207, 1047, 32, 116, 116, 116, 116, 115, |
| 148528 | /* 530 */ 115, 114, 114, 114, 113, 415, 453, 264, 264, 1115, |
| 148529 | /* 540 */ 450, 449, 961, 508, 856, 384, 517, 5, 900, 822, |
| 148530 | /* 550 */ 532, 484, 181, 1115, 857, 516, 517, 818, 952, 507, |
| 148531 | /* 560 */ 3, 1115, 951, 1231, 1231, 482, 398, 1115, 1095, 119, |
| 148532 | /* 570 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148533 | /* 580 */ 118, 118, 118, 118, 1115, 535, 238, 1115, 1391, 1115, |
| 148534 | /* 590 */ 1116, 1117, 159, 951, 951, 953, 231, 1115, 259, 472, |
| 148535 | /* 600 */ 469, 468, 310, 1115, 1116, 1117, 13, 13, 297, 467, |
| 148536 | /* 610 */ 276, 1115, 1116, 1117, 412, 411, 1095, 1115, 1116, 1117, |
| 148537 | /* 620 */ 395, 355, 116, 116, 116, 116, 115, 115, 114, 114, |
| 148538 | /* 630 */ 114, 113, 415, 208, 1115, 1116, 1117, 1115, 1116, 1117, |
| 148539 | /* 640 */ 264, 264, 384, 337, 902, 393, 815, 1115, 1116, 1117, |
| 148540 | /* 650 */ 413, 413, 413, 532, 112, 109, 209, 309, 900, 1143, |
| 148541 | /* 660 */ 535, 1143, 535, 393, 901, 1210, 119, 120, 110, 1136, |
| 148542 | /* 670 */ 1136, 981, 984, 974, 974, 117, 117, 118, 118, 118, |
| 148543 | /* 680 */ 118, 13, 13, 13, 13, 265, 265, 535, 143, 264, |
| 148544 | /* 690 */ 264, 288, 526, 535, 1119, 400, 535, 402, 532, 510, |
| 148545 | /* 700 */ 1457, 512, 532, 6, 113, 415, 1067, 1530, 70, 70, |
| 148546 | /* 710 */ 1530, 535, 271, 535, 70, 70, 535, 13, 13, 116, |
| 148547 | /* 720 */ 116, 116, 116, 115, 115, 114, 114, 114, 113, 415, |
| 148548 | /* 730 */ 272, 277, 13, 13, 13, 13, 535, 13, 13, 384, |
| 148549 | /* 740 */ 535, 304, 425, 1100, 284, 1119, 184, 801, 185, 338, |
| 148550 | /* 750 */ 285, 514, 1532, 369, 1239, 1438, 1182, 70, 70, 425, |
| 148551 | /* 760 */ 424, 70, 70, 119, 120, 110, 1136, 1136, 981, 984, |
| 148552 | /* 770 */ 974, 974, 117, 117, 118, 118, 118, 118, 190, 1065, |
| 148553 | /* 780 */ 1067, 1531, 442, 107, 1531, 408, 264, 264, 264, 264, |
| 148554 | /* 790 */ 383, 1396, 261, 410, 95, 900, 485, 414, 421, 532, |
| 148555 | /* 800 */ 1045, 532, 301, 1133, 303, 488, 433, 1451, 1396, 1398, |
| 148556 | /* 810 */ 278, 535, 278, 520, 1435, 1046, 116, 116, 116, 116, |
| 148557 | /* 820 */ 115, 115, 114, 114, 114, 113, 415, 425, 264, 264, |
| 148558 | /* 830 */ 1047, 190, 54, 54, 535, 291, 384, 264, 264, 362, |
| 148559 | /* 840 */ 962, 532, 1004, 376, 1084, 264, 264, 1029, 1029, 456, |
| 148560 | /* 850 */ 532, 523, 270, 1065, 1084, 55, 55, 1084, 532, 442, |
| 148561 | /* 860 */ 119, 120, 110, 1136, 1136, 981, 984, 974, 974, 117, |
| 148562 | /* 870 */ 117, 118, 118, 118, 118, 535, 1396, 190, 302, 1383, |
| 148563 | /* 880 */ 208, 535, 789, 790, 791, 535, 515, 535, 1323, 371, |
| 148564 | /* 890 */ 337, 234, 233, 232, 459, 515, 15, 15, 459, 477, |
| 148565 | /* 900 */ 459, 459, 44, 44, 136, 900, 56, 56, 57, 57, |
| 148566 | /* 910 */ 1185, 390, 197, 116, 116, 116, 116, 115, 115, 114, |
| 148567 | /* 920 */ 114, 114, 113, 415, 535, 876, 535, 442, 535, 274, |
| 148568 | /* 930 */ 875, 1323, 357, 384, 353, 140, 1426, 946, 1455, 1323, |
| 148569 | /* 940 */ 1390, 6, 1240, 1236, 292, 58, 58, 59, 59, 60, |
| 148570 | /* 950 */ 60, 535, 1456, 384, 535, 6, 399, 119, 120, 110, |
| 148571 | /* 960 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148572 | /* 970 */ 118, 118, 61, 61, 535, 45, 45, 119, 120, 110, |
| 148573 | /* 980 */ 1136, 1136, 981, 984, 974, 974, 117, 117, 118, 118, |
| 148574 | /* 990 */ 118, 118, 1477, 479, 202, 46, 46, 275, 95, 455, |
| 148575 | /* 1000 */ 535, 212, 535, 337, 535, 1454, 535, 409, 6, 242, |
| 148576 | /* 1010 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148577 | /* 1020 */ 415, 48, 48, 49, 49, 62, 62, 63, 63, 535, |
| 148578 | /* 1030 */ 116, 116, 116, 116, 115, 115, 114, 114, 114, 113, |
| 148579 | /* 1040 */ 415, 535, 459, 535, 1134, 535, 1151, 535, 142, 535, |
| 148580 | /* 1050 */ 64, 64, 535, 1338, 535, 494, 535, 446, 535, 1264, |
| 148581 | /* 1060 */ 535, 1337, 14, 14, 65, 65, 125, 125, 66, 66, |
| 148582 | /* 1070 */ 51, 51, 535, 67, 67, 68, 68, 52, 52, 147, |
| 148583 | /* 1080 */ 147, 148, 148, 1453, 317, 98, 6, 535, 1245, 481, |
| 148584 | /* 1090 */ 535, 827, 535, 75, 75, 1134, 102, 481, 100, 535, |
| 148585 | /* 1100 */ 532, 535, 368, 1066, 1503, 384, 535, 845, 53, 53, |
| 148586 | /* 1110 */ 93, 71, 71, 126, 126, 295, 528, 390, 288, 526, |
| 148587 | /* 1120 */ 72, 72, 127, 127, 139, 384, 38, 128, 128, 119, |
| 148588 | /* 1130 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148589 | /* 1140 */ 118, 118, 118, 118, 535, 495, 535, 447, 535, 119, |
| 148590 | /* 1150 */ 120, 110, 1136, 1136, 981, 984, 974, 974, 117, 117, |
| 148591 | /* 1160 */ 118, 118, 118, 118, 235, 124, 124, 146, 146, 145, |
| 148592 | /* 1170 */ 145, 287, 535, 1277, 535, 1157, 535, 391, 161, 263, |
| 148593 | /* 1180 */ 206, 381, 116, 116, 116, 116, 115, 115, 114, 114, |
| 148594 | /* 1190 */ 114, 113, 415, 132, 132, 131, 131, 129, 129, 535, |
| 148595 | /* 1200 */ 30, 535, 116, 116, 116, 116, 115, 115, 114, 114, |
| 148596 | /* 1210 */ 114, 113, 415, 535, 216, 1062, 1276, 535, 370, 535, |
| 148597 | /* 1220 */ 130, 130, 74, 74, 535, 915, 389, 876, 17, 437, |
| 148598 | /* 1230 */ 429, 31, 875, 916, 76, 76, 266, 101, 73, 73, |
| 148599 | /* 1240 */ 43, 43, 835, 834, 308, 47, 47, 95, 825, 943, |
| 148600 | /* 1250 */ 441, 938, 241, 241, 305, 443, 313, 384, 241, 95, |
| 148601 | /* 1260 */ 842, 843, 193, 465, 1209, 327, 237, 436, 95, 1011, |
| 148602 | /* 1270 */ 1007, 909, 873, 237, 241, 107, 1023, 384, 1023, 955, |
| 148603 | /* 1280 */ 1415, 119, 120, 110, 1136, 1136, 981, 984, 974, 974, |
| 148604 | /* 1290 */ 117, 117, 118, 118, 118, 118, 1022, 809, 1022, 825, |
| 148605 | /* 1300 */ 137, 119, 108, 110, 1136, 1136, 981, 984, 974, 974, |
| 148606 | /* 1310 */ 117, 117, 118, 118, 118, 118, 874, 1414, 451, 107, |
| 148607 | /* 1320 */ 1011, 314, 1273, 318, 218, 321, 323, 325, 1224, 1208, |
| 148608 | /* 1330 */ 955, 330, 339, 340, 116, 116, 116, 116, 115, 115, |
| 148609 | /* 1340 */ 114, 114, 114, 113, 415, 1285, 1322, 1260, 1493, 1470, |
| 148610 | /* 1350 */ 1271, 283, 521, 1328, 116, 116, 116, 116, 115, 115, |
| 148611 | /* 1360 */ 114, 114, 114, 113, 415, 1191, 1184, 1173, 1172, 1174, |
| 148612 | /* 1370 */ 522, 1487, 211, 460, 384, 256, 199, 367, 1257, 342, |
| 148613 | /* 1380 */ 195, 470, 307, 344, 11, 333, 525, 445, 1307, 1315, |
| 148614 | /* 1390 */ 375, 203, 1207, 1151, 384, 346, 1387, 188, 360, 120, |
| 148615 | /* 1400 */ 110, 1136, 1136, 981, 984, 974, 974, 117, 117, 118, |
| 148616 | /* 1410 */ 118, 118, 118, 1386, 428, 1490, 245, 300, 348, 1148, |
| 148617 | /* 1420 */ 110, 1136, 1136, 981, 984, 974, 974, 117, 117, 118, |
| 148618 | /* 1430 */ 118, 118, 118, 189, 198, 1434, 1432, 78, 81, 163, |
| 148619 | /* 1440 */ 82, 392, 439, 1392, 173, 105, 527, 35, 4, 157, |
| 148620 | /* 1450 */ 1312, 116, 116, 116, 116, 115, 115, 114, 114, 114, |
| 148621 | /* 1460 */ 113, 415, 530, 165, 93, 1304, 431, 432, 168, 463, |
| 148622 | /* 1470 */ 221, 116, 116, 116, 116, 115, 115, 114, 114, 114, |
| 148623 | /* 1480 */ 113, 415, 169, 452, 170, 416, 171, 374, 372, 438, |
| 148624 | /* 1490 */ 36, 1318, 177, 225, 1381, 87, 458, 524, 1403, 316, |
| 148625 | /* 1500 */ 257, 105, 527, 227, 4, 182, 461, 160, 320, 228, |
| 148626 | /* 1510 */ 377, 1175, 476, 229, 1227, 1226, 405, 1225, 530, 1218, |
| 148627 | /* 1520 */ 961, 378, 1199, 1198, 827, 332, 103, 103, 1197, 407, |
| 148628 | /* 1530 */ 8, 1217, 1502, 104, 487, 416, 537, 536, 281, 282, |
| 148629 | /* 1540 */ 951, 416, 490, 1268, 496, 92, 341, 243, 1269, 343, |
| 148630 | /* 1550 */ 244, 1267, 122, 524, 345, 1461, 515, 288, 526, 10, |
| 148631 | /* 1560 */ 354, 1266, 1460, 352, 504, 1250, 99, 1367, 94, 503, |
| 148632 | /* 1570 */ 499, 951, 951, 953, 954, 27, 961, 347, 1249, 194, |
| 148633 | /* 1580 */ 251, 358, 103, 103, 359, 1181, 34, 538, 1110, 104, |
| 148634 | /* 1590 */ 255, 416, 537, 536, 286, 252, 951, 254, 539, 149, |
| 148635 | /* 1600 */ 1170, 1419, 1165, 1420, 1418, 150, 1417, 135, 279, 785, |
| 148636 | /* 1610 */ 151, 417, 1195, 196, 290, 210, 386, 1194, 269, 387, |
| 148637 | /* 1620 */ 162, 1021, 133, 77, 1192, 1019, 935, 951, 951, 953, |
| 148638 | /* 1630 */ 954, 27, 1479, 1104, 418, 164, 153, 268, 217, 166, |
| 148639 | /* 1640 */ 859, 306, 366, 366, 365, 253, 363, 220, 1035, 798, |
| 148640 | /* 1650 */ 172, 939, 105, 527, 155, 4, 394, 174, 396, 156, |
| 148641 | /* 1660 */ 83, 1038, 213, 84, 294, 85, 86, 223, 222, 530, |
| 148642 | /* 1670 */ 1034, 144, 293, 18, 224, 315, 241, 1027, 1145, 178, |
| 148643 | /* 1680 */ 457, 226, 179, 37, 800, 334, 462, 230, 328, 466, |
| 148644 | /* 1690 */ 180, 471, 416, 88, 19, 20, 89, 280, 838, 158, |
| 148645 | /* 1700 */ 191, 90, 215, 478, 524, 1097, 204, 192, 987, 91, |
| 148646 | /* 1710 */ 152, 1070, 39, 154, 1071, 504, 486, 40, 489, 205, |
| 148647 | /* 1720 */ 505, 260, 105, 527, 214, 4, 908, 961, 262, 183, |
| 148648 | /* 1730 */ 240, 21, 903, 103, 103, 107, 22, 1086, 23, 530, |
| 148649 | /* 1740 */ 104, 1088, 416, 537, 536, 24, 1093, 951, 25, 1074, |
| 148650 | /* 1750 */ 1090, 1094, 7, 33, 511, 186, 26, 1002, 385, 95, |
| 148651 | /* 1760 */ 988, 986, 416, 288, 526, 990, 1044, 246, 1043, 247, |
| 148652 | /* 1770 */ 991, 28, 41, 106, 524, 956, 810, 29, 951, 951, |
| 148653 | /* 1780 */ 953, 954, 27, 531, 361, 504, 423, 248, 869, 249, |
| 148654 | /* 1790 */ 503, 1495, 364, 1105, 1161, 1494, 1161, 961, 1161, 1161, |
| 148655 | /* 1800 */ 1161, 1161, 1161, 103, 103, 1161, 1161, 1161, 1161, 1161, |
| 148656 | /* 1810 */ 104, 1161, 416, 537, 536, 1104, 418, 951, 1161, 268, |
| 148657 | /* 1820 */ 1161, 1161, 1161, 1161, 366, 366, 365, 253, 363, 1161, |
| 148658 | /* 1830 */ 1161, 798, 1161, 1161, 1161, 1161, 105, 527, 1161, 4, |
| 148659 | /* 1840 */ 1161, 1161, 1161, 1161, 213, 1161, 294, 1161, 951, 951, |
| @@ -148643,330 +148687,331 @@ | |
| 148687 | /* 2120 */ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, |
| 148688 | /* 2130 */ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, |
| 148689 | /* 2140 */ 1161, 423, |
| 148690 | }; |
| 148691 | static const YYCODETYPE yy_lookahead[] = { |
| 148692 | /* 0 */ 184, 184, 259, 260, 261, 259, 260, 261, 176, 177, |
| 148693 | /* 10 */ 178, 179, 180, 181, 184, 208, 212, 213, 186, 19, |
| 148694 | /* 20 */ 188, 205, 206, 280, 205, 221, 22, 195, 24, 195, |
| 148695 | /* 30 */ 208, 31, 195, 205, 29, 205, 206, 255, 33, 39, |
| 148696 | /* 40 */ 200, 201, 202, 43, 44, 45, 46, 47, 48, 49, |
| 148697 | /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 205, 227, |
| 148698 | /* 60 */ 228, 227, 228, 59, 227, 228, 259, 260, 261, 252, |
| 148699 | /* 70 */ 65, 241, 240, 184, 240, 223, 224, 240, 244, 245, |
| 148700 | /* 80 */ 250, 259, 260, 261, 19, 253, 54, 55, 56, 57, |
| 148701 | /* 90 */ 58, 184, 255, 184, 205, 206, 96, 97, 98, 99, |
| 148702 | /* 100 */ 100, 101, 102, 103, 104, 105, 106, 46, 47, 48, |
| 148703 | /* 110 */ 49, 46, 296, 297, 110, 283, 19, 96, 97, 98, |
| 148704 | /* 120 */ 99, 100, 101, 102, 103, 104, 105, 106, 96, 97, |
| 148705 | /* 130 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 94, |
| 148706 | /* 140 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 148707 | /* 150 */ 53, 54, 55, 56, 57, 110, 106, 73, 251, 114, |
| 148708 | /* 160 */ 73, 178, 179, 180, 181, 59, 184, 292, 81, 186, |
| 148709 | /* 170 */ 295, 188, 218, 108, 19, 114, 184, 11, 195, 184, |
| 148710 | /* 180 */ 83, 184, 85, 54, 55, 56, 57, 205, 206, 124, |
| 148711 | /* 190 */ 145, 146, 147, 96, 97, 98, 99, 100, 101, 102, |
| 148712 | /* 200 */ 103, 104, 105, 106, 120, 121, 122, 120, 102, 81, |
| 148713 | /* 210 */ 227, 228, 220, 19, 16, 109, 110, 111, 131, 132, |
| 148714 | /* 220 */ 26, 184, 184, 240, 229, 96, 97, 98, 99, 100, |
| 148715 | /* 230 */ 101, 102, 103, 104, 105, 106, 253, 43, 44, 45, |
| 148716 | /* 240 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148717 | /* 250 */ 56, 57, 100, 101, 102, 103, 104, 105, 106, 131, |
| 148718 | /* 260 */ 132, 106, 127, 69, 129, 130, 283, 112, 113, 114, |
| 148719 | /* 270 */ 115, 116, 117, 118, 81, 77, 76, 79, 296, 124, |
| 148720 | /* 280 */ 298, 203, 184, 19, 84, 59, 86, 121, 122, 89, |
| 148721 | /* 290 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148722 | /* 300 */ 106, 184, 35, 205, 206, 22, 113, 43, 44, 45, |
| 148723 | /* 310 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148724 | /* 320 */ 56, 57, 205, 206, 131, 132, 100, 101, 291, 292, |
| 148725 | /* 330 */ 114, 67, 295, 66, 108, 109, 110, 111, 138, 113, |
| 148726 | /* 340 */ 124, 74, 59, 179, 184, 181, 184, 121, 22, 271, |
| 148727 | /* 350 */ 186, 19, 188, 184, 276, 59, 24, 184, 241, 195, |
| 148728 | /* 360 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148729 | /* 370 */ 106, 145, 59, 147, 184, 43, 44, 45, 46, 47, |
| 148730 | /* 380 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
| 148731 | /* 390 */ 123, 227, 228, 110, 296, 297, 22, 23, 184, 102, |
| 148732 | /* 400 */ 103, 104, 105, 106, 240, 109, 110, 111, 112, 195, |
| 148733 | /* 410 */ 204, 115, 116, 117, 22, 184, 226, 253, 212, 205, |
| 148734 | /* 420 */ 206, 125, 109, 110, 111, 22, 100, 101, 96, 97, |
| 148735 | /* 430 */ 98, 99, 100, 101, 102, 103, 104, 105, 106, 184, |
| 148736 | /* 440 */ 59, 227, 228, 121, 122, 59, 277, 283, 19, 289, |
| 148737 | /* 450 */ 290, 59, 23, 76, 240, 241, 143, 76, 72, 189, |
| 148738 | /* 460 */ 205, 206, 59, 86, 250, 84, 89, 86, 203, 95, |
| 148739 | /* 470 */ 89, 281, 43, 44, 45, 46, 47, 48, 49, 50, |
| 148740 | /* 480 */ 51, 52, 53, 54, 55, 56, 57, 227, 228, 184, |
| 148741 | /* 490 */ 109, 110, 111, 12, 184, 109, 110, 111, 184, 184, |
| 148742 | /* 500 */ 240, 109, 110, 111, 184, 195, 214, 59, 27, 184, |
| 148743 | /* 510 */ 205, 206, 109, 110, 111, 205, 206, 184, 263, 138, |
| 148744 | /* 520 */ 205, 206, 184, 42, 22, 96, 97, 98, 99, 100, |
| 148745 | /* 530 */ 101, 102, 103, 104, 105, 106, 266, 227, 228, 59, |
| 148746 | /* 540 */ 270, 276, 94, 66, 63, 19, 241, 22, 26, 23, |
| 148747 | /* 550 */ 240, 241, 72, 59, 73, 250, 241, 109, 110, 82, |
| 148748 | /* 560 */ 22, 59, 114, 223, 224, 250, 252, 59, 91, 43, |
| 148749 | /* 570 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148750 | /* 580 */ 54, 55, 56, 57, 59, 184, 26, 59, 268, 109, |
| 148751 | /* 590 */ 110, 111, 184, 145, 146, 147, 112, 59, 203, 115, |
| 148752 | /* 600 */ 116, 117, 277, 109, 110, 111, 205, 206, 195, 125, |
| 148753 | /* 610 */ 277, 109, 110, 111, 100, 101, 139, 109, 110, 111, |
| 148754 | /* 620 */ 219, 184, 96, 97, 98, 99, 100, 101, 102, 103, |
| 148755 | /* 630 */ 104, 105, 106, 111, 109, 110, 111, 109, 110, 111, |
| 148756 | /* 640 */ 227, 228, 19, 184, 136, 184, 23, 109, 110, 111, |
| 148757 | /* 650 */ 200, 201, 202, 240, 259, 260, 261, 195, 136, 145, |
| 148758 | /* 660 */ 184, 147, 184, 184, 136, 214, 43, 44, 45, 46, |
| 148759 | /* 670 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
| 148760 | /* 680 */ 57, 205, 206, 205, 206, 227, 228, 184, 229, 227, |
| 148761 | /* 690 */ 228, 131, 132, 184, 59, 219, 184, 219, 240, 291, |
| 148762 | /* 700 */ 292, 184, 240, 295, 105, 106, 22, 23, 205, 206, |
| 148763 | /* 710 */ 26, 184, 251, 184, 205, 206, 184, 205, 206, 96, |
| 148764 | /* 720 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, |
| 148765 | /* 730 */ 251, 219, 205, 206, 205, 206, 184, 205, 206, 19, |
| 148766 | /* 740 */ 184, 16, 184, 23, 241, 110, 219, 21, 219, 184, |
| 148767 | /* 750 */ 241, 219, 286, 287, 195, 184, 195, 205, 206, 201, |
| 148768 | /* 760 */ 202, 205, 206, 43, 44, 45, 46, 47, 48, 49, |
| 148769 | /* 770 */ 50, 51, 52, 53, 54, 55, 56, 57, 184, 95, |
| 148770 | /* 780 */ 22, 23, 184, 26, 26, 220, 227, 228, 227, 228, |
| 148771 | /* 790 */ 196, 184, 23, 241, 26, 26, 195, 241, 184, 240, |
| 148772 | /* 800 */ 12, 240, 77, 26, 79, 195, 80, 290, 201, 202, |
| 148773 | /* 810 */ 216, 184, 218, 195, 184, 27, 96, 97, 98, 99, |
| 148774 | /* 820 */ 100, 101, 102, 103, 104, 105, 106, 269, 227, 228, |
| 148775 | /* 830 */ 42, 184, 205, 206, 184, 184, 19, 227, 228, 192, |
| 148776 | /* 840 */ 23, 240, 116, 196, 76, 227, 228, 120, 121, 122, |
| 148777 | /* 850 */ 240, 63, 254, 95, 86, 205, 206, 89, 240, 184, |
| 148778 | /* 860 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
| 148779 | /* 870 */ 53, 54, 55, 56, 57, 184, 269, 184, 153, 153, |
| 148780 | /* 880 */ 111, 184, 7, 8, 9, 184, 138, 184, 184, 196, |
| 148781 | /* 890 */ 184, 120, 121, 122, 184, 138, 205, 206, 184, 102, |
| 148782 | /* 900 */ 184, 184, 205, 206, 156, 136, 205, 206, 205, 206, |
| 148783 | /* 910 */ 198, 199, 135, 96, 97, 98, 99, 100, 101, 102, |
| 148784 | /* 920 */ 103, 104, 105, 106, 184, 128, 184, 184, 184, 254, |
| 148785 | /* 930 */ 133, 184, 237, 19, 239, 229, 226, 23, 292, 184, |
| 148786 | /* 940 */ 226, 295, 226, 226, 184, 205, 206, 205, 206, 205, |
| 148787 | /* 950 */ 206, 184, 292, 19, 184, 295, 252, 43, 44, 45, |
| 148788 | /* 960 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148789 | /* 970 */ 56, 57, 205, 206, 184, 205, 206, 43, 44, 45, |
| 148790 | /* 980 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 148791 | /* 990 */ 56, 57, 157, 158, 26, 205, 206, 254, 26, 252, |
| 148792 | /* 1000 */ 184, 15, 184, 184, 184, 292, 184, 252, 295, 24, |
| 148793 | /* 1010 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148794 | /* 1020 */ 106, 205, 206, 205, 206, 205, 206, 205, 206, 184, |
| 148795 | /* 1030 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 148796 | /* 1040 */ 106, 184, 184, 184, 59, 184, 60, 184, 229, 184, |
| 148797 | /* 1050 */ 205, 206, 184, 258, 184, 19, 184, 19, 184, 246, |
| 148798 | /* 1060 */ 184, 258, 205, 206, 205, 206, 205, 206, 205, 206, |
| 148799 | /* 1070 */ 205, 206, 184, 205, 206, 205, 206, 205, 206, 205, |
| 148800 | /* 1080 */ 206, 205, 206, 292, 226, 151, 295, 184, 228, 294, |
| 148801 | /* 1090 */ 184, 119, 184, 205, 206, 110, 150, 294, 152, 184, |
| 148802 | /* 1100 */ 240, 184, 22, 23, 23, 19, 184, 26, 205, 206, |
| 148803 | /* 1110 */ 142, 205, 206, 205, 206, 184, 198, 199, 131, 132, |
| 148804 | /* 1120 */ 205, 206, 205, 206, 22, 19, 24, 205, 206, 43, |
| 148805 | /* 1130 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148806 | /* 1140 */ 54, 55, 56, 57, 184, 109, 184, 109, 184, 43, |
| 148807 | /* 1150 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 148808 | /* 1160 */ 54, 55, 56, 57, 46, 205, 206, 205, 206, 205, |
| 148809 | /* 1170 */ 206, 232, 184, 184, 184, 95, 184, 284, 285, 244, |
| 148810 | /* 1180 */ 245, 242, 96, 97, 98, 99, 100, 101, 102, 103, |
| 148811 | /* 1190 */ 104, 105, 106, 205, 206, 205, 206, 205, 206, 184, |
| 148812 | /* 1200 */ 22, 184, 96, 97, 98, 99, 100, 101, 102, 103, |
| 148813 | /* 1210 */ 104, 105, 106, 184, 24, 23, 184, 184, 26, 184, |
| 148814 | /* 1220 */ 205, 206, 205, 206, 184, 31, 108, 128, 22, 122, |
| 148815 | /* 1230 */ 184, 53, 133, 39, 205, 206, 22, 151, 205, 206, |
| 148816 | /* 1240 */ 205, 206, 113, 114, 23, 205, 206, 26, 59, 23, |
| 148817 | /* 1250 */ 23, 144, 26, 26, 184, 23, 23, 19, 26, 26, |
| 148818 | /* 1260 */ 7, 8, 24, 23, 214, 23, 26, 61, 26, 59, |
| 148819 | /* 1270 */ 23, 23, 23, 26, 26, 26, 145, 19, 147, 59, |
| 148820 | /* 1280 */ 184, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 148821 | /* 1290 */ 52, 53, 54, 55, 56, 57, 145, 23, 147, 110, |
| 148822 | /* 1300 */ 26, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 148823 | /* 1310 */ 52, 53, 54, 55, 56, 57, 23, 184, 184, 26, |
| 148824 | /* 1320 */ 110, 184, 184, 184, 134, 184, 184, 184, 184, 184, |
| 148825 | /* 1330 */ 110, 184, 184, 184, 96, 97, 98, 99, 100, 101, |
| 148826 | /* 1340 */ 102, 103, 104, 105, 106, 184, 184, 184, 134, 300, |
| 148827 | /* 1350 */ 184, 243, 184, 184, 96, 97, 98, 99, 100, 101, |
| 148828 | /* 1360 */ 102, 103, 104, 105, 106, 184, 184, 184, 184, 184, |
| 148829 | /* 1370 */ 224, 184, 282, 273, 19, 272, 203, 182, 243, 243, |
| 148830 | /* 1380 */ 230, 209, 278, 243, 231, 208, 265, 278, 234, 234, |
| 148831 | /* 1390 */ 234, 217, 213, 60, 19, 243, 208, 237, 233, 44, |
| 148832 | /* 1400 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 148833 | /* 1410 */ 55, 56, 57, 208, 247, 187, 134, 247, 247, 38, |
| 148834 | /* 1420 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 148835 | /* 1430 */ 55, 56, 57, 237, 231, 191, 191, 279, 279, 282, |
| 148836 | /* 1440 */ 143, 191, 108, 268, 22, 19, 20, 256, 22, 43, |
| 148837 | /* 1450 */ 257, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 148838 | /* 1460 */ 105, 106, 36, 222, 142, 234, 18, 191, 225, 18, |
| 148839 | /* 1470 */ 190, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 148840 | /* 1480 */ 105, 106, 225, 191, 225, 59, 225, 257, 234, 234, |
| 148841 | /* 1490 */ 256, 222, 222, 190, 234, 150, 62, 71, 275, 274, |
| 148842 | /* 1500 */ 191, 19, 20, 190, 22, 22, 210, 81, 191, 190, |
| 148843 | /* 1510 */ 210, 191, 108, 190, 207, 207, 64, 207, 36, 215, |
| 148844 | /* 1520 */ 94, 210, 207, 209, 119, 207, 100, 101, 207, 106, |
| 148845 | /* 1530 */ 48, 215, 207, 107, 210, 109, 110, 111, 267, 267, |
| 148846 | /* 1540 */ 114, 59, 210, 249, 137, 108, 248, 191, 249, 248, |
| 148847 | /* 1550 */ 88, 249, 141, 71, 248, 299, 138, 131, 132, 22, |
| 148848 | /* 1560 */ 191, 249, 299, 237, 82, 238, 150, 262, 140, 87, |
| 148849 | /* 1570 */ 139, 145, 146, 147, 148, 149, 94, 248, 238, 236, |
| 148850 | /* 1580 */ 25, 235, 100, 101, 234, 194, 26, 193, 13, 107, |
| 148851 | /* 1590 */ 6, 109, 110, 111, 264, 185, 114, 185, 183, 197, |
| 148852 | /* 1600 */ 183, 203, 183, 203, 203, 197, 203, 211, 211, 4, |
| 148853 | /* 1610 */ 197, 3, 203, 22, 155, 15, 288, 203, 93, 288, |
| 148854 | /* 1620 */ 285, 23, 16, 203, 203, 23, 132, 145, 146, 147, |
| 148855 | /* 1630 */ 148, 149, 0, 1, 2, 143, 123, 5, 24, 135, |
| 148856 | /* 1640 */ 20, 16, 10, 11, 12, 13, 14, 137, 1, 17, |
| 148857 | /* 1650 */ 135, 144, 19, 20, 123, 22, 61, 143, 37, 123, |
| 148858 | /* 1660 */ 53, 109, 30, 53, 32, 53, 53, 134, 34, 36, |
| 148859 | /* 1670 */ 1, 5, 40, 22, 108, 153, 26, 68, 75, 68, |
| 148860 | /* 1680 */ 41, 134, 108, 24, 20, 124, 19, 118, 23, 67, |
| 148861 | /* 1690 */ 22, 67, 59, 22, 22, 22, 22, 67, 28, 37, |
| 148862 | /* 1700 */ 23, 142, 70, 22, 71, 23, 157, 23, 23, 26, |
| 148863 | /* 1710 */ 78, 23, 22, 81, 23, 82, 24, 22, 24, 134, |
| 148864 | /* 1720 */ 87, 23, 19, 20, 92, 22, 109, 94, 23, 22, |
| 148865 | /* 1730 */ 34, 34, 136, 100, 101, 26, 34, 85, 34, 36, |
| 148866 | /* 1740 */ 107, 83, 109, 110, 111, 34, 90, 114, 34, 23, |
| 148867 | /* 1750 */ 75, 75, 44, 22, 24, 26, 34, 23, 126, 26, |
| 148868 | /* 1760 */ 23, 23, 59, 131, 132, 23, 23, 26, 23, 22, |
| 148869 | /* 1770 */ 11, 22, 22, 22, 71, 23, 23, 22, 145, 146, |
| 148870 | /* 1780 */ 147, 148, 149, 26, 23, 82, 154, 134, 128, 134, |
| 148871 | /* 1790 */ 87, 134, 15, 1, 301, 134, 301, 94, 301, 301, |
| 148872 | /* 1800 */ 301, 301, 301, 100, 101, 301, 301, 301, 301, 301, |
| 148873 | /* 1810 */ 107, 301, 109, 110, 111, 1, 2, 114, 301, 5, |
| 148874 | /* 1820 */ 301, 301, 301, 301, 10, 11, 12, 13, 14, 301, |
| 148875 | /* 1830 */ 301, 17, 301, 301, 301, 301, 19, 20, 301, 22, |
| 148876 | /* 1840 */ 301, 301, 301, 301, 30, 301, 32, 301, 145, 146, |
| 148877 | /* 1850 */ 147, 148, 149, 36, 40, 301, 301, 301, 301, 301, |
| 148878 | /* 1860 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148879 | /* 1870 */ 301, 301, 301, 301, 301, 301, 59, 301, 301, 301, |
| 148880 | /* 1880 */ 301, 301, 301, 301, 70, 301, 301, 301, 71, 301, |
| 148881 | /* 1890 */ 301, 301, 78, 301, 301, 81, 19, 20, 301, 22, |
| 148882 | /* 1900 */ 301, 301, 301, 301, 301, 301, 92, 301, 301, 301, |
| 148883 | /* 1910 */ 301, 94, 301, 36, 301, 301, 301, 100, 101, 102, |
| 148884 | /* 1920 */ 301, 301, 301, 301, 107, 301, 109, 110, 111, 301, |
| 148885 | /* 1930 */ 301, 114, 301, 301, 301, 301, 59, 301, 301, 301, |
| 148886 | /* 1940 */ 126, 301, 301, 301, 301, 131, 132, 301, 71, 301, |
| 148887 | /* 1950 */ 301, 301, 301, 301, 301, 301, 19, 20, 301, 22, |
| 148888 | /* 1960 */ 301, 301, 145, 146, 147, 148, 149, 301, 154, 301, |
| 148889 | /* 1970 */ 301, 94, 301, 36, 301, 301, 301, 100, 101, 301, |
| 148890 | /* 1980 */ 301, 301, 301, 301, 107, 301, 109, 110, 111, 301, |
| 148891 | /* 1990 */ 301, 114, 5, 301, 301, 301, 59, 10, 11, 12, |
| 148892 | /* 2000 */ 13, 14, 301, 301, 17, 301, 301, 301, 71, 301, |
| 148893 | /* 2010 */ 301, 301, 301, 301, 301, 301, 301, 30, 301, 32, |
| 148894 | /* 2020 */ 301, 301, 145, 146, 147, 148, 149, 40, 301, 301, |
| 148895 | /* 2030 */ 301, 94, 301, 301, 301, 301, 301, 100, 101, 301, |
| 148896 | /* 2040 */ 301, 301, 301, 301, 107, 301, 109, 110, 111, 301, |
| 148897 | /* 2050 */ 301, 114, 301, 301, 301, 301, 301, 70, 301, 301, |
| 148898 | /* 2060 */ 301, 301, 301, 301, 301, 78, 301, 301, 81, 301, |
| 148899 | /* 2070 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 92, |
| 148900 | /* 2080 */ 301, 301, 145, 146, 147, 148, 149, 301, 301, 301, |
| 148901 | /* 2090 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148902 | /* 2100 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148903 | /* 2110 */ 301, 301, 301, 126, 301, 301, 301, 301, 131, 132, |
| 148904 | /* 2120 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148905 | /* 2130 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148906 | /* 2140 */ 301, 154, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148907 | /* 2150 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148908 | /* 2160 */ 301, 301, 301, 301, 301, 301, 301, 301, 301, |
| 148909 | }; |
| 148910 | #define YY_SHIFT_COUNT (540) |
| 148911 | #define YY_SHIFT_MIN (0) |
| 148912 | #define YY_SHIFT_MAX (1987) |
| 148913 | static const unsigned short int yy_shift_ofst[] = { |
| 148914 | /* 0 */ 1814, 1632, 1987, 1426, 1426, 128, 1482, 1633, 1703, 1877, |
| 148915 | /* 10 */ 1877, 1877, 87, 0, 0, 264, 1106, 1877, 1877, 1877, |
| 148916 | /* 20 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148917 | /* 30 */ 226, 226, 381, 381, 296, 193, 128, 128, 128, 128, |
| 148918 | /* 40 */ 128, 128, 97, 194, 332, 429, 526, 623, 720, 817, |
| 148919 | /* 50 */ 914, 934, 1086, 1238, 1106, 1106, 1106, 1106, 1106, 1106, |
| 148920 | /* 60 */ 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, |
| 148921 | /* 70 */ 1106, 1106, 1258, 1106, 1355, 1375, 1375, 1817, 1877, 1877, |
| 148922 | /* 80 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148923 | /* 90 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148924 | /* 100 */ 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148925 | /* 110 */ 1937, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, |
| 148926 | /* 120 */ 1877, 1877, 1877, 1877, 32, 129, 129, 129, 129, 129, |
| 148927 | /* 130 */ 21, 152, 297, 494, 726, 65, 494, 514, 514, 494, |
| 148928 | /* 140 */ 560, 560, 560, 560, 322, 599, 50, 2142, 2142, 155, |
| 148929 | /* 150 */ 155, 155, 313, 392, 386, 392, 392, 481, 481, 200, |
| 148930 | /* 160 */ 480, 684, 758, 494, 494, 494, 494, 494, 494, 494, |
| 148931 | /* 170 */ 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, |
| 148932 | /* 180 */ 494, 494, 494, 494, 768, 768, 494, 166, 377, 377, |
| 148933 | /* 190 */ 635, 835, 835, 635, 748, 987, 2142, 2142, 2142, 448, |
| 148934 | /* 200 */ 45, 45, 403, 484, 502, 106, 525, 508, 528, 538, |
| 148935 | /* 210 */ 494, 494, 494, 494, 494, 494, 494, 494, 494, 84, |
| 148936 | /* 220 */ 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, |
| 148937 | /* 230 */ 494, 494, 267, 267, 267, 494, 494, 494, 494, 769, |
| 148938 | /* 240 */ 494, 494, 494, 4, 477, 494, 494, 788, 494, 494, |
| 148939 | /* 250 */ 494, 494, 494, 494, 494, 494, 727, 5, 135, 985, |
| 148940 | /* 260 */ 985, 985, 985, 522, 135, 135, 797, 326, 875, 986, |
| 148941 | /* 270 */ 968, 1036, 1036, 1038, 968, 968, 1038, 972, 1081, 1118, |
| 148942 | /* 280 */ 1194, 1194, 1194, 1036, 757, 757, 946, 777, 1099, 1102, |
| 148943 | /* 290 */ 1333, 1282, 1282, 1381, 1381, 1282, 1297, 1334, 1422, 1406, |
| 148944 | /* 300 */ 1322, 1448, 1448, 1448, 1448, 1282, 1451, 1322, 1322, 1334, |
| 148945 | /* 310 */ 1422, 1406, 1406, 1322, 1282, 1451, 1345, 1434, 1282, 1451, |
| 148946 | /* 320 */ 1483, 1282, 1451, 1282, 1451, 1483, 1404, 1404, 1404, 1452, |
| 148947 | /* 330 */ 1483, 1404, 1405, 1404, 1452, 1404, 1404, 1483, 1423, 1423, |
| 148948 | /* 340 */ 1483, 1407, 1437, 1407, 1437, 1407, 1437, 1407, 1437, 1282, |
| 148949 | /* 350 */ 1462, 1462, 1411, 1418, 1537, 1282, 1416, 1411, 1428, 1431, |
| 148950 | /* 360 */ 1322, 1555, 1560, 1575, 1575, 1584, 1584, 1584, 2142, 2142, |
| 148951 | /* 370 */ 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, 2142, |
| 148952 | /* 380 */ 2142, 2142, 2142, 2142, 61, 725, 374, 1080, 198, 771, |
| 148953 | /* 390 */ 283, 1192, 1178, 1190, 1107, 1221, 1206, 1226, 1227, 1232, |
| 148954 | /* 400 */ 1233, 1240, 1242, 1189, 1129, 1253, 216, 1210, 1247, 1248, |
| 148955 | /* 410 */ 1249, 1131, 1151, 1274, 1293, 1220, 1214, 1605, 1608, 1591, |
| 148956 | /* 420 */ 1459, 1600, 1525, 1606, 1598, 1602, 1494, 1492, 1513, 1614, |
| 148957 | /* 430 */ 1504, 1620, 1510, 1625, 1647, 1515, 1507, 1531, 1595, 1621, |
| 148958 | /* 440 */ 1514, 1607, 1610, 1612, 1613, 1536, 1552, 1634, 1533, 1669, |
| 148959 | /* 450 */ 1666, 1651, 1566, 1522, 1609, 1650, 1611, 1603, 1639, 1547, |
| 148960 | /* 460 */ 1574, 1659, 1664, 1667, 1561, 1569, 1668, 1622, 1671, 1672, |
| 148961 | /* 470 */ 1665, 1673, 1624, 1670, 1674, 1630, 1662, 1677, 1559, 1681, |
| 148962 | /* 480 */ 1682, 1549, 1684, 1685, 1683, 1688, 1690, 1692, 1691, 1695, |
| 148963 | /* 490 */ 1694, 1585, 1698, 1705, 1617, 1696, 1707, 1596, 1709, 1697, |
| 148964 | /* 500 */ 1702, 1704, 1711, 1652, 1675, 1658, 1708, 1676, 1656, 1714, |
| 148965 | /* 510 */ 1726, 1731, 1730, 1729, 1733, 1722, 1734, 1709, 1737, 1738, |
| 148966 | /* 520 */ 1742, 1743, 1741, 1745, 1747, 1759, 1749, 1750, 1752, 1753, |
| 148967 | /* 530 */ 1751, 1755, 1757, 1660, 1653, 1655, 1657, 1661, 1761, 1777, |
| 148968 | /* 540 */ 1792, |
| 148969 | }; |
| 148970 | #define YY_REDUCE_COUNT (383) |
| 148971 | #define YY_REDUCE_MIN (-257) |
| 148972 | #define YY_REDUCE_MAX (1421) |
| 148973 | static const short yy_reduce_ofst[] = { |
| 148974 | /* 0 */ -168, -17, 164, 214, 310, -166, -184, -18, 98, -170, |
| 148975 | /* 10 */ 305, 315, -163, -193, -178, -257, 395, 401, 476, 478, |
| 148976 | /* 20 */ 512, 117, 527, 529, 503, 509, 532, 255, 552, 556, |
| 148977 | /* 30 */ 558, 607, 37, 408, 594, 413, 462, 559, 561, 601, |
| 148978 | /* 40 */ 610, 618, -254, -254, -254, -254, -254, -254, -254, -254, |
| 148979 | /* 50 */ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, |
| 148980 | /* 60 */ -254, -254, -254, -254, -254, -254, -254, -254, -254, -254, |
| 148981 | /* 70 */ -254, -254, -254, -254, -254, -254, -254, -111, 627, 650, |
| 148982 | /* 80 */ 691, 697, 701, 703, 740, 742, 744, 767, 770, 790, |
| 148983 | /* 90 */ 816, 818, 820, 822, 845, 857, 859, 861, 863, 865, |
| 148984 | /* 100 */ 868, 870, 872, 874, 876, 888, 903, 906, 908, 915, |
| 148985 | /* 110 */ 917, 922, 960, 962, 964, 988, 990, 992, 1015, 1017, |
| 148986 | /* 120 */ 1029, 1033, 1035, 1040, -254, -254, -254, -254, -254, -254, |
| 148987 | /* 130 */ -254, -254, -254, 190, 270, -196, 160, -160, 450, 647, |
| 148988 | /* 140 */ 260, 458, 260, 458, 78, -254, -254, -254, -254, 206, |
| 148989 | /* 150 */ 206, 206, 320, 598, -5, 675, 743, -148, 340, -125, |
| 148990 | /* 160 */ 459, 466, 466, 693, -93, 461, 479, 706, 710, 714, |
| 148991 | /* 170 */ 716, 717, 169, -183, 325, 314, 704, 333, 747, 858, |
| 148992 | /* 180 */ -8, 819, 565, 755, 646, 660, 517, 265, 713, 791, |
| 148993 | /* 190 */ 712, 795, 803, 918, 695, 860, 893, 935, 939, -181, |
| 148994 | /* 200 */ -172, -147, -91, -46, -3, 162, 173, 231, 338, 437, |
| 148995 | /* 210 */ 571, 614, 630, 651, 760, 931, 989, 1032, 1046, -218, |
| 148996 | /* 220 */ 38, 1070, 1096, 1133, 1134, 1137, 1138, 1139, 1141, 1142, |
| 148997 | /* 230 */ 1143, 1144, 292, 451, 1050, 1145, 1147, 1148, 1149, 813, |
| 148998 | /* 240 */ 1161, 1162, 1163, 1108, 1049, 1166, 1168, 1146, 1169, 162, |
| 148999 | /* 250 */ 1181, 1182, 1183, 1184, 1185, 1187, 1100, 1103, 1150, 1135, |
| 149000 | /* 260 */ 1136, 1140, 1152, 813, 1150, 1150, 1153, 1173, 1195, 1090, |
| 149001 | /* 270 */ 1154, 1167, 1170, 1104, 1155, 1156, 1109, 1172, 1174, 1179, |
| 149002 | /* 280 */ 1177, 1188, 1205, 1171, 1160, 1196, 1121, 1165, 1203, 1228, |
| 149003 | /* 290 */ 1157, 1244, 1245, 1158, 1159, 1250, 1175, 1193, 1191, 1241, |
| 149004 | /* 300 */ 1231, 1243, 1257, 1259, 1261, 1276, 1280, 1254, 1255, 1230, |
| 149005 | /* 310 */ 1234, 1269, 1270, 1260, 1292, 1303, 1223, 1225, 1309, 1313, |
| 149006 | /* 320 */ 1296, 1317, 1319, 1320, 1323, 1300, 1307, 1308, 1310, 1304, |
| 149007 | /* 330 */ 1311, 1315, 1314, 1318, 1316, 1321, 1325, 1324, 1271, 1272, |
| 149008 | /* 340 */ 1332, 1294, 1298, 1299, 1301, 1302, 1306, 1312, 1329, 1356, |
| 149009 | /* 350 */ 1256, 1263, 1327, 1326, 1305, 1369, 1330, 1340, 1343, 1346, |
| 149010 | /* 360 */ 1350, 1391, 1394, 1410, 1412, 1415, 1417, 1419, 1328, 1331, |
| 149011 | /* 370 */ 1335, 1402, 1398, 1400, 1401, 1403, 1408, 1396, 1397, 1409, |
| 149012 | /* 380 */ 1414, 1420, 1421, 1413, |
| 149013 | }; |
| 149014 | static const YYACTIONTYPE yy_default[] = { |
| 149015 | /* 0 */ 1536, 1536, 1536, 1376, 1159, 1265, 1159, 1159, 1159, 1376, |
| 149016 | /* 10 */ 1376, 1376, 1159, 1295, 1295, 1429, 1190, 1159, 1159, 1159, |
| 149017 | /* 20 */ 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1375, 1159, 1159, |
| @@ -149380,135 +149425,152 @@ | |
| 149425 | /* 154 */ "ALTER", |
| 149426 | /* 155 */ "ADD", |
| 149427 | /* 156 */ "WINDOW", |
| 149428 | /* 157 */ "OVER", |
| 149429 | /* 158 */ "FILTER", |
| 149430 | /* 159 */ "TRUEFALSE", |
| 149431 | /* 160 */ "ISNOT", |
| 149432 | /* 161 */ "FUNCTION", |
| 149433 | /* 162 */ "COLUMN", |
| 149434 | /* 163 */ "AGG_FUNCTION", |
| 149435 | /* 164 */ "AGG_COLUMN", |
| 149436 | /* 165 */ "UMINUS", |
| 149437 | /* 166 */ "UPLUS", |
| 149438 | /* 167 */ "TRUTH", |
| 149439 | /* 168 */ "REGISTER", |
| 149440 | /* 169 */ "VECTOR", |
| 149441 | /* 170 */ "SELECT_COLUMN", |
| 149442 | /* 171 */ "IF_NULL_ROW", |
| 149443 | /* 172 */ "ASTERISK", |
| 149444 | /* 173 */ "SPAN", |
| 149445 | /* 174 */ "SPACE", |
| 149446 | /* 175 */ "ILLEGAL", |
| 149447 | /* 176 */ "input", |
| 149448 | /* 177 */ "cmdlist", |
| 149449 | /* 178 */ "ecmd", |
| 149450 | /* 179 */ "cmdx", |
| 149451 | /* 180 */ "explain", |
| 149452 | /* 181 */ "cmd", |
| 149453 | /* 182 */ "transtype", |
| 149454 | /* 183 */ "trans_opt", |
| 149455 | /* 184 */ "nm", |
| 149456 | /* 185 */ "savepoint_opt", |
| 149457 | /* 186 */ "create_table", |
| 149458 | /* 187 */ "create_table_args", |
| 149459 | /* 188 */ "createkw", |
| 149460 | /* 189 */ "temp", |
| 149461 | /* 190 */ "ifnotexists", |
| 149462 | /* 191 */ "dbnm", |
| 149463 | /* 192 */ "columnlist", |
| 149464 | /* 193 */ "conslist_opt", |
| 149465 | /* 194 */ "table_options", |
| 149466 | /* 195 */ "select", |
| 149467 | /* 196 */ "columnname", |
| 149468 | /* 197 */ "carglist", |
| 149469 | /* 198 */ "typetoken", |
| 149470 | /* 199 */ "typename", |
| 149471 | /* 200 */ "signed", |
| 149472 | /* 201 */ "plus_num", |
| 149473 | /* 202 */ "minus_num", |
| 149474 | /* 203 */ "scanpt", |
| 149475 | /* 204 */ "ccons", |
| 149476 | /* 205 */ "term", |
| 149477 | /* 206 */ "expr", |
| 149478 | /* 207 */ "onconf", |
| 149479 | /* 208 */ "sortorder", |
| 149480 | /* 209 */ "autoinc", |
| 149481 | /* 210 */ "eidlist_opt", |
| 149482 | /* 211 */ "refargs", |
| 149483 | /* 212 */ "defer_subclause", |
| 149484 | /* 213 */ "refarg", |
| 149485 | /* 214 */ "refact", |
| 149486 | /* 215 */ "init_deferred_pred_opt", |
| 149487 | /* 216 */ "conslist", |
| 149488 | /* 217 */ "tconscomma", |
| 149489 | /* 218 */ "tcons", |
| 149490 | /* 219 */ "sortlist", |
| 149491 | /* 220 */ "eidlist", |
| 149492 | /* 221 */ "defer_subclause_opt", |
| 149493 | /* 222 */ "orconf", |
| 149494 | /* 223 */ "resolvetype", |
| 149495 | /* 224 */ "raisetype", |
| 149496 | /* 225 */ "ifexists", |
| 149497 | /* 226 */ "fullname", |
| 149498 | /* 227 */ "selectnowith", |
| 149499 | /* 228 */ "oneselect", |
| 149500 | /* 229 */ "wqlist", |
| 149501 | /* 230 */ "multiselect_op", |
| 149502 | /* 231 */ "distinct", |
| 149503 | /* 232 */ "selcollist", |
| 149504 | /* 233 */ "from", |
| 149505 | /* 234 */ "where_opt", |
| 149506 | /* 235 */ "groupby_opt", |
| 149507 | /* 236 */ "having_opt", |
| 149508 | /* 237 */ "orderby_opt", |
| 149509 | /* 238 */ "limit_opt", |
| 149510 | /* 239 */ "window_clause", |
| 149511 | /* 240 */ "values", |
| 149512 | /* 241 */ "nexprlist", |
| 149513 | /* 242 */ "sclp", |
| 149514 | /* 243 */ "as", |
| 149515 | /* 244 */ "seltablist", |
| 149516 | /* 245 */ "stl_prefix", |
| 149517 | /* 246 */ "joinop", |
| 149518 | /* 247 */ "indexed_opt", |
| 149519 | /* 248 */ "on_opt", |
| 149520 | /* 249 */ "using_opt", |
| 149521 | /* 250 */ "exprlist", |
| 149522 | /* 251 */ "xfullname", |
| 149523 | /* 252 */ "idlist", |
| 149524 | /* 253 */ "with", |
| 149525 | /* 254 */ "setlist", |
| 149526 | /* 255 */ "insert_cmd", |
| 149527 | /* 256 */ "idlist_opt", |
| 149528 | /* 257 */ "upsert", |
| 149529 | /* 258 */ "over_clause", |
| 149530 | /* 259 */ "likeop", |
| 149531 | /* 260 */ "between_op", |
| 149532 | /* 261 */ "in_op", |
| 149533 | /* 262 */ "paren_exprlist", |
| 149534 | /* 263 */ "case_operand", |
| 149535 | /* 264 */ "case_exprlist", |
| 149536 | /* 265 */ "case_else", |
| 149537 | /* 266 */ "uniqueflag", |
| 149538 | /* 267 */ "collate", |
| 149539 | /* 268 */ "vinto", |
| 149540 | /* 269 */ "nmnum", |
| 149541 | /* 270 */ "trigger_decl", |
| 149542 | /* 271 */ "trigger_cmd_list", |
| 149543 | /* 272 */ "trigger_time", |
| 149544 | /* 273 */ "trigger_event", |
| 149545 | /* 274 */ "foreach_clause", |
| 149546 | /* 275 */ "when_clause", |
| 149547 | /* 276 */ "trigger_cmd", |
| 149548 | /* 277 */ "trnm", |
| 149549 | /* 278 */ "tridxby", |
| 149550 | /* 279 */ "database_kw_opt", |
| 149551 | /* 280 */ "key_opt", |
| 149552 | /* 281 */ "add_column_fullname", |
| 149553 | /* 282 */ "kwcolumn_opt", |
| 149554 | /* 283 */ "create_vtab", |
| 149555 | /* 284 */ "vtabarglist", |
| 149556 | /* 285 */ "vtabarg", |
| 149557 | /* 286 */ "vtabargtoken", |
| 149558 | /* 287 */ "lp", |
| 149559 | /* 288 */ "anylist", |
| 149560 | /* 289 */ "windowdefn_list", |
| 149561 | /* 290 */ "windowdefn", |
| 149562 | /* 291 */ "window", |
| 149563 | /* 292 */ "frame_opt", |
| 149564 | /* 293 */ "part_opt", |
| 149565 | /* 294 */ "filter_opt", |
| 149566 | /* 295 */ "range_or_rows", |
| 149567 | /* 296 */ "frame_bound", |
| 149568 | /* 297 */ "frame_bound_s", |
| 149569 | /* 298 */ "frame_bound_e", |
| 149570 | /* 299 */ "frame_exclude_opt", |
| 149571 | /* 300 */ "frame_exclude", |
| 149572 | }; |
| 149573 | #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ |
| 149574 | |
| 149575 | #ifndef NDEBUG |
| 149576 | /* For tracing reduce actions, the names of all rules are required. |
| @@ -150012,101 +150074,101 @@ | |
| 150074 | ** Note: during a reduce, the only symbols destroyed are those |
| 150075 | ** which appear on the RHS of the rule, but which are *not* used |
| 150076 | ** inside the C code. |
| 150077 | */ |
| 150078 | /********* Begin destructor definitions ***************************************/ |
| 150079 | case 195: /* select */ |
| 150080 | case 227: /* selectnowith */ |
| 150081 | case 228: /* oneselect */ |
| 150082 | case 240: /* values */ |
| 150083 | { |
| 150084 | sqlite3SelectDelete(pParse->db, (yypminor->yy457)); |
| 150085 | } |
| 150086 | break; |
| 150087 | case 205: /* term */ |
| 150088 | case 206: /* expr */ |
| 150089 | case 234: /* where_opt */ |
| 150090 | case 236: /* having_opt */ |
| 150091 | case 248: /* on_opt */ |
| 150092 | case 263: /* case_operand */ |
| 150093 | case 265: /* case_else */ |
| 150094 | case 268: /* vinto */ |
| 150095 | case 275: /* when_clause */ |
| 150096 | case 280: /* key_opt */ |
| 150097 | case 294: /* filter_opt */ |
| 150098 | { |
| 150099 | sqlite3ExprDelete(pParse->db, (yypminor->yy524)); |
| 150100 | } |
| 150101 | break; |
| 150102 | case 210: /* eidlist_opt */ |
| 150103 | case 219: /* sortlist */ |
| 150104 | case 220: /* eidlist */ |
| 150105 | case 232: /* selcollist */ |
| 150106 | case 235: /* groupby_opt */ |
| 150107 | case 237: /* orderby_opt */ |
| 150108 | case 241: /* nexprlist */ |
| 150109 | case 242: /* sclp */ |
| 150110 | case 250: /* exprlist */ |
| 150111 | case 254: /* setlist */ |
| 150112 | case 262: /* paren_exprlist */ |
| 150113 | case 264: /* case_exprlist */ |
| 150114 | case 293: /* part_opt */ |
| 150115 | { |
| 150116 | sqlite3ExprListDelete(pParse->db, (yypminor->yy434)); |
| 150117 | } |
| 150118 | break; |
| 150119 | case 226: /* fullname */ |
| 150120 | case 233: /* from */ |
| 150121 | case 244: /* seltablist */ |
| 150122 | case 245: /* stl_prefix */ |
| 150123 | case 251: /* xfullname */ |
| 150124 | { |
| 150125 | sqlite3SrcListDelete(pParse->db, (yypminor->yy483)); |
| 150126 | } |
| 150127 | break; |
| 150128 | case 229: /* wqlist */ |
| 150129 | { |
| 150130 | sqlite3WithDelete(pParse->db, (yypminor->yy59)); |
| 150131 | } |
| 150132 | break; |
| 150133 | case 239: /* window_clause */ |
| 150134 | case 289: /* windowdefn_list */ |
| 150135 | { |
| 150136 | sqlite3WindowListDelete(pParse->db, (yypminor->yy295)); |
| 150137 | } |
| 150138 | break; |
| 150139 | case 249: /* using_opt */ |
| 150140 | case 252: /* idlist */ |
| 150141 | case 256: /* idlist_opt */ |
| 150142 | { |
| 150143 | sqlite3IdListDelete(pParse->db, (yypminor->yy62)); |
| 150144 | } |
| 150145 | break; |
| 150146 | case 258: /* over_clause */ |
| 150147 | case 290: /* windowdefn */ |
| 150148 | case 291: /* window */ |
| 150149 | case 292: /* frame_opt */ |
| 150150 | { |
| 150151 | sqlite3WindowDelete(pParse->db, (yypminor->yy295)); |
| 150152 | } |
| 150153 | break; |
| 150154 | case 271: /* trigger_cmd_list */ |
| 150155 | case 276: /* trigger_cmd */ |
| 150156 | { |
| 150157 | sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy455)); |
| 150158 | } |
| 150159 | break; |
| 150160 | case 273: /* trigger_event */ |
| 150161 | { |
| 150162 | sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); |
| 150163 | } |
| 150164 | break; |
| 150165 | case 296: /* frame_bound */ |
| 150166 | case 297: /* frame_bound_s */ |
| 150167 | case 298: /* frame_bound_e */ |
| 150168 | { |
| 150169 | sqlite3ExprDelete(pParse->db, (yypminor->yy201).pExpr); |
| 150170 | } |
| 150171 | break; |
| 150172 | /********* End destructor definitions *****************************************/ |
| 150173 | default: break; /* If no destructor action specified: do nothing */ |
| 150174 | } |
| @@ -150397,385 +150459,385 @@ | |
| 150459 | } |
| 150460 | |
| 150461 | /* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side |
| 150462 | ** of that rule */ |
| 150463 | static const YYCODETYPE yyRuleInfoLhs[] = { |
| 150464 | 180, /* (0) explain ::= EXPLAIN */ |
| 150465 | 180, /* (1) explain ::= EXPLAIN QUERY PLAN */ |
| 150466 | 179, /* (2) cmdx ::= cmd */ |
| 150467 | 181, /* (3) cmd ::= BEGIN transtype trans_opt */ |
| 150468 | 182, /* (4) transtype ::= */ |
| 150469 | 182, /* (5) transtype ::= DEFERRED */ |
| 150470 | 182, /* (6) transtype ::= IMMEDIATE */ |
| 150471 | 182, /* (7) transtype ::= EXCLUSIVE */ |
| 150472 | 181, /* (8) cmd ::= COMMIT|END trans_opt */ |
| 150473 | 181, /* (9) cmd ::= ROLLBACK trans_opt */ |
| 150474 | 181, /* (10) cmd ::= SAVEPOINT nm */ |
| 150475 | 181, /* (11) cmd ::= RELEASE savepoint_opt nm */ |
| 150476 | 181, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ |
| 150477 | 186, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 150478 | 188, /* (14) createkw ::= CREATE */ |
| 150479 | 190, /* (15) ifnotexists ::= */ |
| 150480 | 190, /* (16) ifnotexists ::= IF NOT EXISTS */ |
| 150481 | 189, /* (17) temp ::= TEMP */ |
| 150482 | 189, /* (18) temp ::= */ |
| 150483 | 187, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_options */ |
| 150484 | 187, /* (20) create_table_args ::= AS select */ |
| 150485 | 194, /* (21) table_options ::= */ |
| 150486 | 194, /* (22) table_options ::= WITHOUT nm */ |
| 150487 | 196, /* (23) columnname ::= nm typetoken */ |
| 150488 | 198, /* (24) typetoken ::= */ |
| 150489 | 198, /* (25) typetoken ::= typename LP signed RP */ |
| 150490 | 198, /* (26) typetoken ::= typename LP signed COMMA signed RP */ |
| 150491 | 199, /* (27) typename ::= typename ID|STRING */ |
| 150492 | 203, /* (28) scanpt ::= */ |
| 150493 | 204, /* (29) ccons ::= CONSTRAINT nm */ |
| 150494 | 204, /* (30) ccons ::= DEFAULT scanpt term scanpt */ |
| 150495 | 204, /* (31) ccons ::= DEFAULT LP expr RP */ |
| 150496 | 204, /* (32) ccons ::= DEFAULT PLUS term scanpt */ |
| 150497 | 204, /* (33) ccons ::= DEFAULT MINUS term scanpt */ |
| 150498 | 204, /* (34) ccons ::= DEFAULT scanpt ID|INDEXED */ |
| 150499 | 204, /* (35) ccons ::= NOT NULL onconf */ |
| 150500 | 204, /* (36) ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 150501 | 204, /* (37) ccons ::= UNIQUE onconf */ |
| 150502 | 204, /* (38) ccons ::= CHECK LP expr RP */ |
| 150503 | 204, /* (39) ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 150504 | 204, /* (40) ccons ::= defer_subclause */ |
| 150505 | 204, /* (41) ccons ::= COLLATE ID|STRING */ |
| 150506 | 209, /* (42) autoinc ::= */ |
| 150507 | 209, /* (43) autoinc ::= AUTOINCR */ |
| 150508 | 211, /* (44) refargs ::= */ |
| 150509 | 211, /* (45) refargs ::= refargs refarg */ |
| 150510 | 213, /* (46) refarg ::= MATCH nm */ |
| 150511 | 213, /* (47) refarg ::= ON INSERT refact */ |
| 150512 | 213, /* (48) refarg ::= ON DELETE refact */ |
| 150513 | 213, /* (49) refarg ::= ON UPDATE refact */ |
| 150514 | 214, /* (50) refact ::= SET NULL */ |
| 150515 | 214, /* (51) refact ::= SET DEFAULT */ |
| 150516 | 214, /* (52) refact ::= CASCADE */ |
| 150517 | 214, /* (53) refact ::= RESTRICT */ |
| 150518 | 214, /* (54) refact ::= NO ACTION */ |
| 150519 | 212, /* (55) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 150520 | 212, /* (56) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 150521 | 215, /* (57) init_deferred_pred_opt ::= */ |
| 150522 | 215, /* (58) init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 150523 | 215, /* (59) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 150524 | 193, /* (60) conslist_opt ::= */ |
| 150525 | 217, /* (61) tconscomma ::= COMMA */ |
| 150526 | 218, /* (62) tcons ::= CONSTRAINT nm */ |
| 150527 | 218, /* (63) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 150528 | 218, /* (64) tcons ::= UNIQUE LP sortlist RP onconf */ |
| 150529 | 218, /* (65) tcons ::= CHECK LP expr RP onconf */ |
| 150530 | 218, /* (66) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 150531 | 221, /* (67) defer_subclause_opt ::= */ |
| 150532 | 207, /* (68) onconf ::= */ |
| 150533 | 207, /* (69) onconf ::= ON CONFLICT resolvetype */ |
| 150534 | 222, /* (70) orconf ::= */ |
| 150535 | 222, /* (71) orconf ::= OR resolvetype */ |
| 150536 | 223, /* (72) resolvetype ::= IGNORE */ |
| 150537 | 223, /* (73) resolvetype ::= REPLACE */ |
| 150538 | 181, /* (74) cmd ::= DROP TABLE ifexists fullname */ |
| 150539 | 225, /* (75) ifexists ::= IF EXISTS */ |
| 150540 | 225, /* (76) ifexists ::= */ |
| 150541 | 181, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 150542 | 181, /* (78) cmd ::= DROP VIEW ifexists fullname */ |
| 150543 | 181, /* (79) cmd ::= select */ |
| 150544 | 195, /* (80) select ::= WITH wqlist selectnowith */ |
| 150545 | 195, /* (81) select ::= WITH RECURSIVE wqlist selectnowith */ |
| 150546 | 195, /* (82) select ::= selectnowith */ |
| 150547 | 227, /* (83) selectnowith ::= selectnowith multiselect_op oneselect */ |
| 150548 | 230, /* (84) multiselect_op ::= UNION */ |
| 150549 | 230, /* (85) multiselect_op ::= UNION ALL */ |
| 150550 | 230, /* (86) multiselect_op ::= EXCEPT|INTERSECT */ |
| 150551 | 228, /* (87) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 150552 | 228, /* (88) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 150553 | 240, /* (89) values ::= VALUES LP nexprlist RP */ |
| 150554 | 240, /* (90) values ::= values COMMA LP nexprlist RP */ |
| 150555 | 231, /* (91) distinct ::= DISTINCT */ |
| 150556 | 231, /* (92) distinct ::= ALL */ |
| 150557 | 231, /* (93) distinct ::= */ |
| 150558 | 242, /* (94) sclp ::= */ |
| 150559 | 232, /* (95) selcollist ::= sclp scanpt expr scanpt as */ |
| 150560 | 232, /* (96) selcollist ::= sclp scanpt STAR */ |
| 150561 | 232, /* (97) selcollist ::= sclp scanpt nm DOT STAR */ |
| 150562 | 243, /* (98) as ::= AS nm */ |
| 150563 | 243, /* (99) as ::= */ |
| 150564 | 233, /* (100) from ::= */ |
| 150565 | 233, /* (101) from ::= FROM seltablist */ |
| 150566 | 245, /* (102) stl_prefix ::= seltablist joinop */ |
| 150567 | 245, /* (103) stl_prefix ::= */ |
| 150568 | 244, /* (104) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 150569 | 244, /* (105) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 150570 | 244, /* (106) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 150571 | 244, /* (107) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 150572 | 191, /* (108) dbnm ::= */ |
| 150573 | 191, /* (109) dbnm ::= DOT nm */ |
| 150574 | 226, /* (110) fullname ::= nm */ |
| 150575 | 226, /* (111) fullname ::= nm DOT nm */ |
| 150576 | 251, /* (112) xfullname ::= nm */ |
| 150577 | 251, /* (113) xfullname ::= nm DOT nm */ |
| 150578 | 251, /* (114) xfullname ::= nm DOT nm AS nm */ |
| 150579 | 251, /* (115) xfullname ::= nm AS nm */ |
| 150580 | 246, /* (116) joinop ::= COMMA|JOIN */ |
| 150581 | 246, /* (117) joinop ::= JOIN_KW JOIN */ |
| 150582 | 246, /* (118) joinop ::= JOIN_KW nm JOIN */ |
| 150583 | 246, /* (119) joinop ::= JOIN_KW nm nm JOIN */ |
| 150584 | 248, /* (120) on_opt ::= ON expr */ |
| 150585 | 248, /* (121) on_opt ::= */ |
| 150586 | 247, /* (122) indexed_opt ::= */ |
| 150587 | 247, /* (123) indexed_opt ::= INDEXED BY nm */ |
| 150588 | 247, /* (124) indexed_opt ::= NOT INDEXED */ |
| 150589 | 249, /* (125) using_opt ::= USING LP idlist RP */ |
| 150590 | 249, /* (126) using_opt ::= */ |
| 150591 | 237, /* (127) orderby_opt ::= */ |
| 150592 | 237, /* (128) orderby_opt ::= ORDER BY sortlist */ |
| 150593 | 219, /* (129) sortlist ::= sortlist COMMA expr sortorder */ |
| 150594 | 219, /* (130) sortlist ::= expr sortorder */ |
| 150595 | 208, /* (131) sortorder ::= ASC */ |
| 150596 | 208, /* (132) sortorder ::= DESC */ |
| 150597 | 208, /* (133) sortorder ::= */ |
| 150598 | 235, /* (134) groupby_opt ::= */ |
| 150599 | 235, /* (135) groupby_opt ::= GROUP BY nexprlist */ |
| 150600 | 236, /* (136) having_opt ::= */ |
| 150601 | 236, /* (137) having_opt ::= HAVING expr */ |
| 150602 | 238, /* (138) limit_opt ::= */ |
| 150603 | 238, /* (139) limit_opt ::= LIMIT expr */ |
| 150604 | 238, /* (140) limit_opt ::= LIMIT expr OFFSET expr */ |
| 150605 | 238, /* (141) limit_opt ::= LIMIT expr COMMA expr */ |
| 150606 | 181, /* (142) cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ |
| 150607 | 234, /* (143) where_opt ::= */ |
| 150608 | 234, /* (144) where_opt ::= WHERE expr */ |
| 150609 | 181, /* (145) cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ |
| 150610 | 254, /* (146) setlist ::= setlist COMMA nm EQ expr */ |
| 150611 | 254, /* (147) setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 150612 | 254, /* (148) setlist ::= nm EQ expr */ |
| 150613 | 254, /* (149) setlist ::= LP idlist RP EQ expr */ |
| 150614 | 181, /* (150) cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 150615 | 181, /* (151) cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ |
| 150616 | 257, /* (152) upsert ::= */ |
| 150617 | 257, /* (153) upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ |
| 150618 | 257, /* (154) upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ |
| 150619 | 257, /* (155) upsert ::= ON CONFLICT DO NOTHING */ |
| 150620 | 255, /* (156) insert_cmd ::= INSERT orconf */ |
| 150621 | 255, /* (157) insert_cmd ::= REPLACE */ |
| 150622 | 256, /* (158) idlist_opt ::= */ |
| 150623 | 256, /* (159) idlist_opt ::= LP idlist RP */ |
| 150624 | 252, /* (160) idlist ::= idlist COMMA nm */ |
| 150625 | 252, /* (161) idlist ::= nm */ |
| 150626 | 206, /* (162) expr ::= LP expr RP */ |
| 150627 | 206, /* (163) expr ::= ID|INDEXED */ |
| 150628 | 206, /* (164) expr ::= JOIN_KW */ |
| 150629 | 206, /* (165) expr ::= nm DOT nm */ |
| 150630 | 206, /* (166) expr ::= nm DOT nm DOT nm */ |
| 150631 | 205, /* (167) term ::= NULL|FLOAT|BLOB */ |
| 150632 | 205, /* (168) term ::= STRING */ |
| 150633 | 205, /* (169) term ::= INTEGER */ |
| 150634 | 206, /* (170) expr ::= VARIABLE */ |
| 150635 | 206, /* (171) expr ::= expr COLLATE ID|STRING */ |
| 150636 | 206, /* (172) expr ::= CAST LP expr AS typetoken RP */ |
| 150637 | 206, /* (173) expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 150638 | 206, /* (174) expr ::= ID|INDEXED LP STAR RP */ |
| 150639 | 206, /* (175) expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ |
| 150640 | 206, /* (176) expr ::= ID|INDEXED LP STAR RP over_clause */ |
| 150641 | 205, /* (177) term ::= CTIME_KW */ |
| 150642 | 206, /* (178) expr ::= LP nexprlist COMMA expr RP */ |
| 150643 | 206, /* (179) expr ::= expr AND expr */ |
| 150644 | 206, /* (180) expr ::= expr OR expr */ |
| 150645 | 206, /* (181) expr ::= expr LT|GT|GE|LE expr */ |
| 150646 | 206, /* (182) expr ::= expr EQ|NE expr */ |
| 150647 | 206, /* (183) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ |
| 150648 | 206, /* (184) expr ::= expr PLUS|MINUS expr */ |
| 150649 | 206, /* (185) expr ::= expr STAR|SLASH|REM expr */ |
| 150650 | 206, /* (186) expr ::= expr CONCAT expr */ |
| 150651 | 259, /* (187) likeop ::= NOT LIKE_KW|MATCH */ |
| 150652 | 206, /* (188) expr ::= expr likeop expr */ |
| 150653 | 206, /* (189) expr ::= expr likeop expr ESCAPE expr */ |
| 150654 | 206, /* (190) expr ::= expr ISNULL|NOTNULL */ |
| 150655 | 206, /* (191) expr ::= expr NOT NULL */ |
| 150656 | 206, /* (192) expr ::= expr IS expr */ |
| 150657 | 206, /* (193) expr ::= expr IS NOT expr */ |
| 150658 | 206, /* (194) expr ::= NOT expr */ |
| 150659 | 206, /* (195) expr ::= BITNOT expr */ |
| 150660 | 206, /* (196) expr ::= PLUS|MINUS expr */ |
| 150661 | 260, /* (197) between_op ::= BETWEEN */ |
| 150662 | 260, /* (198) between_op ::= NOT BETWEEN */ |
| 150663 | 206, /* (199) expr ::= expr between_op expr AND expr */ |
| 150664 | 261, /* (200) in_op ::= IN */ |
| 150665 | 261, /* (201) in_op ::= NOT IN */ |
| 150666 | 206, /* (202) expr ::= expr in_op LP exprlist RP */ |
| 150667 | 206, /* (203) expr ::= LP select RP */ |
| 150668 | 206, /* (204) expr ::= expr in_op LP select RP */ |
| 150669 | 206, /* (205) expr ::= expr in_op nm dbnm paren_exprlist */ |
| 150670 | 206, /* (206) expr ::= EXISTS LP select RP */ |
| 150671 | 206, /* (207) expr ::= CASE case_operand case_exprlist case_else END */ |
| 150672 | 264, /* (208) case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 150673 | 264, /* (209) case_exprlist ::= WHEN expr THEN expr */ |
| 150674 | 265, /* (210) case_else ::= ELSE expr */ |
| 150675 | 265, /* (211) case_else ::= */ |
| 150676 | 263, /* (212) case_operand ::= expr */ |
| 150677 | 263, /* (213) case_operand ::= */ |
| 150678 | 250, /* (214) exprlist ::= */ |
| 150679 | 241, /* (215) nexprlist ::= nexprlist COMMA expr */ |
| 150680 | 241, /* (216) nexprlist ::= expr */ |
| 150681 | 262, /* (217) paren_exprlist ::= */ |
| 150682 | 262, /* (218) paren_exprlist ::= LP exprlist RP */ |
| 150683 | 181, /* (219) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 150684 | 266, /* (220) uniqueflag ::= UNIQUE */ |
| 150685 | 266, /* (221) uniqueflag ::= */ |
| 150686 | 210, /* (222) eidlist_opt ::= */ |
| 150687 | 210, /* (223) eidlist_opt ::= LP eidlist RP */ |
| 150688 | 220, /* (224) eidlist ::= eidlist COMMA nm collate sortorder */ |
| 150689 | 220, /* (225) eidlist ::= nm collate sortorder */ |
| 150690 | 267, /* (226) collate ::= */ |
| 150691 | 267, /* (227) collate ::= COLLATE ID|STRING */ |
| 150692 | 181, /* (228) cmd ::= DROP INDEX ifexists fullname */ |
| 150693 | 181, /* (229) cmd ::= VACUUM vinto */ |
| 150694 | 181, /* (230) cmd ::= VACUUM nm vinto */ |
| 150695 | 268, /* (231) vinto ::= INTO expr */ |
| 150696 | 268, /* (232) vinto ::= */ |
| 150697 | 181, /* (233) cmd ::= PRAGMA nm dbnm */ |
| 150698 | 181, /* (234) cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| 150699 | 181, /* (235) cmd ::= PRAGMA nm dbnm LP nmnum RP */ |
| 150700 | 181, /* (236) cmd ::= PRAGMA nm dbnm EQ minus_num */ |
| 150701 | 181, /* (237) cmd ::= PRAGMA nm dbnm LP minus_num RP */ |
| 150702 | 201, /* (238) plus_num ::= PLUS INTEGER|FLOAT */ |
| 150703 | 202, /* (239) minus_num ::= MINUS INTEGER|FLOAT */ |
| 150704 | 181, /* (240) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 150705 | 270, /* (241) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 150706 | 272, /* (242) trigger_time ::= BEFORE|AFTER */ |
| 150707 | 272, /* (243) trigger_time ::= INSTEAD OF */ |
| 150708 | 272, /* (244) trigger_time ::= */ |
| 150709 | 273, /* (245) trigger_event ::= DELETE|INSERT */ |
| 150710 | 273, /* (246) trigger_event ::= UPDATE */ |
| 150711 | 273, /* (247) trigger_event ::= UPDATE OF idlist */ |
| 150712 | 275, /* (248) when_clause ::= */ |
| 150713 | 275, /* (249) when_clause ::= WHEN expr */ |
| 150714 | 271, /* (250) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 150715 | 271, /* (251) trigger_cmd_list ::= trigger_cmd SEMI */ |
| 150716 | 277, /* (252) trnm ::= nm DOT nm */ |
| 150717 | 278, /* (253) tridxby ::= INDEXED BY nm */ |
| 150718 | 278, /* (254) tridxby ::= NOT INDEXED */ |
| 150719 | 276, /* (255) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 150720 | 276, /* (256) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 150721 | 276, /* (257) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 150722 | 276, /* (258) trigger_cmd ::= scanpt select scanpt */ |
| 150723 | 206, /* (259) expr ::= RAISE LP IGNORE RP */ |
| 150724 | 206, /* (260) expr ::= RAISE LP raisetype COMMA nm RP */ |
| 150725 | 224, /* (261) raisetype ::= ROLLBACK */ |
| 150726 | 224, /* (262) raisetype ::= ABORT */ |
| 150727 | 224, /* (263) raisetype ::= FAIL */ |
| 150728 | 181, /* (264) cmd ::= DROP TRIGGER ifexists fullname */ |
| 150729 | 181, /* (265) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 150730 | 181, /* (266) cmd ::= DETACH database_kw_opt expr */ |
| 150731 | 280, /* (267) key_opt ::= */ |
| 150732 | 280, /* (268) key_opt ::= KEY expr */ |
| 150733 | 181, /* (269) cmd ::= REINDEX */ |
| 150734 | 181, /* (270) cmd ::= REINDEX nm dbnm */ |
| 150735 | 181, /* (271) cmd ::= ANALYZE */ |
| 150736 | 181, /* (272) cmd ::= ANALYZE nm dbnm */ |
| 150737 | 181, /* (273) cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 150738 | 181, /* (274) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 150739 | 281, /* (275) add_column_fullname ::= fullname */ |
| 150740 | 181, /* (276) cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 150741 | 181, /* (277) cmd ::= create_vtab */ |
| 150742 | 181, /* (278) cmd ::= create_vtab LP vtabarglist RP */ |
| 150743 | 283, /* (279) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 150744 | 285, /* (280) vtabarg ::= */ |
| 150745 | 286, /* (281) vtabargtoken ::= ANY */ |
| 150746 | 286, /* (282) vtabargtoken ::= lp anylist RP */ |
| 150747 | 287, /* (283) lp ::= LP */ |
| 150748 | 253, /* (284) with ::= WITH wqlist */ |
| 150749 | 253, /* (285) with ::= WITH RECURSIVE wqlist */ |
| 150750 | 229, /* (286) wqlist ::= nm eidlist_opt AS LP select RP */ |
| 150751 | 229, /* (287) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 150752 | 289, /* (288) windowdefn_list ::= windowdefn */ |
| 150753 | 289, /* (289) windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 150754 | 290, /* (290) windowdefn ::= nm AS LP window RP */ |
| 150755 | 291, /* (291) window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 150756 | 291, /* (292) window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 150757 | 291, /* (293) window ::= ORDER BY sortlist frame_opt */ |
| 150758 | 291, /* (294) window ::= nm ORDER BY sortlist frame_opt */ |
| 150759 | 291, /* (295) window ::= frame_opt */ |
| 150760 | 291, /* (296) window ::= nm frame_opt */ |
| 150761 | 292, /* (297) frame_opt ::= */ |
| 150762 | 292, /* (298) frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 150763 | 292, /* (299) frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 150764 | 295, /* (300) range_or_rows ::= RANGE|ROWS|GROUPS */ |
| 150765 | 297, /* (301) frame_bound_s ::= frame_bound */ |
| 150766 | 297, /* (302) frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 150767 | 298, /* (303) frame_bound_e ::= frame_bound */ |
| 150768 | 298, /* (304) frame_bound_e ::= UNBOUNDED FOLLOWING */ |
| 150769 | 296, /* (305) frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 150770 | 296, /* (306) frame_bound ::= CURRENT ROW */ |
| 150771 | 299, /* (307) frame_exclude_opt ::= */ |
| 150772 | 299, /* (308) frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 150773 | 300, /* (309) frame_exclude ::= NO OTHERS */ |
| 150774 | 300, /* (310) frame_exclude ::= CURRENT ROW */ |
| 150775 | 300, /* (311) frame_exclude ::= GROUP|TIES */ |
| 150776 | 239, /* (312) window_clause ::= WINDOW windowdefn_list */ |
| 150777 | 258, /* (313) over_clause ::= filter_opt OVER LP window RP */ |
| 150778 | 258, /* (314) over_clause ::= filter_opt OVER nm */ |
| 150779 | 294, /* (315) filter_opt ::= */ |
| 150780 | 294, /* (316) filter_opt ::= FILTER LP WHERE expr RP */ |
| 150781 | 176, /* (317) input ::= cmdlist */ |
| 150782 | 177, /* (318) cmdlist ::= cmdlist ecmd */ |
| 150783 | 177, /* (319) cmdlist ::= ecmd */ |
| 150784 | 178, /* (320) ecmd ::= SEMI */ |
| 150785 | 178, /* (321) ecmd ::= cmdx SEMI */ |
| 150786 | 178, /* (322) ecmd ::= explain cmdx */ |
| 150787 | 183, /* (323) trans_opt ::= */ |
| 150788 | 183, /* (324) trans_opt ::= TRANSACTION */ |
| 150789 | 183, /* (325) trans_opt ::= TRANSACTION nm */ |
| 150790 | 185, /* (326) savepoint_opt ::= SAVEPOINT */ |
| 150791 | 185, /* (327) savepoint_opt ::= */ |
| 150792 | 181, /* (328) cmd ::= create_table create_table_args */ |
| 150793 | 192, /* (329) columnlist ::= columnlist COMMA columnname carglist */ |
| 150794 | 192, /* (330) columnlist ::= columnname carglist */ |
| 150795 | 184, /* (331) nm ::= ID|INDEXED */ |
| 150796 | 184, /* (332) nm ::= STRING */ |
| 150797 | 184, /* (333) nm ::= JOIN_KW */ |
| 150798 | 198, /* (334) typetoken ::= typename */ |
| 150799 | 199, /* (335) typename ::= ID|STRING */ |
| 150800 | 200, /* (336) signed ::= plus_num */ |
| 150801 | 200, /* (337) signed ::= minus_num */ |
| 150802 | 197, /* (338) carglist ::= carglist ccons */ |
| 150803 | 197, /* (339) carglist ::= */ |
| 150804 | 204, /* (340) ccons ::= NULL onconf */ |
| 150805 | 193, /* (341) conslist_opt ::= COMMA conslist */ |
| 150806 | 216, /* (342) conslist ::= conslist tconscomma tcons */ |
| 150807 | 216, /* (343) conslist ::= tcons */ |
| 150808 | 217, /* (344) tconscomma ::= */ |
| 150809 | 221, /* (345) defer_subclause_opt ::= defer_subclause */ |
| 150810 | 223, /* (346) resolvetype ::= raisetype */ |
| 150811 | 227, /* (347) selectnowith ::= oneselect */ |
| 150812 | 228, /* (348) oneselect ::= values */ |
| 150813 | 242, /* (349) sclp ::= selcollist COMMA */ |
| 150814 | 243, /* (350) as ::= ID|STRING */ |
| 150815 | 206, /* (351) expr ::= term */ |
| 150816 | 259, /* (352) likeop ::= LIKE_KW|MATCH */ |
| 150817 | 250, /* (353) exprlist ::= nexprlist */ |
| 150818 | 269, /* (354) nmnum ::= plus_num */ |
| 150819 | 269, /* (355) nmnum ::= nm */ |
| 150820 | 269, /* (356) nmnum ::= ON */ |
| 150821 | 269, /* (357) nmnum ::= DELETE */ |
| 150822 | 269, /* (358) nmnum ::= DEFAULT */ |
| 150823 | 201, /* (359) plus_num ::= INTEGER|FLOAT */ |
| 150824 | 274, /* (360) foreach_clause ::= */ |
| 150825 | 274, /* (361) foreach_clause ::= FOR EACH ROW */ |
| 150826 | 277, /* (362) trnm ::= nm */ |
| 150827 | 278, /* (363) tridxby ::= */ |
| 150828 | 279, /* (364) database_kw_opt ::= DATABASE */ |
| 150829 | 279, /* (365) database_kw_opt ::= */ |
| 150830 | 282, /* (366) kwcolumn_opt ::= */ |
| 150831 | 282, /* (367) kwcolumn_opt ::= COLUMNKW */ |
| 150832 | 284, /* (368) vtabarglist ::= vtabarg */ |
| 150833 | 284, /* (369) vtabarglist ::= vtabarglist COMMA vtabarg */ |
| 150834 | 285, /* (370) vtabarg ::= vtabarg vtabargtoken */ |
| 150835 | 288, /* (371) anylist ::= */ |
| 150836 | 288, /* (372) anylist ::= anylist LP anylist RP */ |
| 150837 | 288, /* (373) anylist ::= anylist ANY */ |
| 150838 | 253, /* (374) with ::= */ |
| 150839 | }; |
| 150840 | |
| 150841 | /* For rule J, yyRuleInfoNRhs[J] contains the negative of the number |
| 150842 | ** of symbols on the right-hand side of that rule. */ |
| 150843 | static const signed char yyRuleInfoNRhs[] = { |
| @@ -151248,20 +151310,20 @@ | |
| 151310 | break; |
| 151311 | case 2: /* cmdx ::= cmd */ |
| 151312 | { sqlite3FinishCoding(pParse); } |
| 151313 | break; |
| 151314 | case 3: /* cmd ::= BEGIN transtype trans_opt */ |
| 151315 | {sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy494);} |
| 151316 | break; |
| 151317 | case 4: /* transtype ::= */ |
| 151318 | {yymsp[1].minor.yy494 = TK_DEFERRED;} |
| 151319 | break; |
| 151320 | case 5: /* transtype ::= DEFERRED */ |
| 151321 | case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); |
| 151322 | case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); |
| 151323 | case 300: /* range_or_rows ::= RANGE|ROWS|GROUPS */ yytestcase(yyruleno==300); |
| 151324 | {yymsp[0].minor.yy494 = yymsp[0].major; /*A-overwrites-X*/} |
| 151325 | break; |
| 151326 | case 8: /* cmd ::= COMMIT|END trans_opt */ |
| 151327 | case 9: /* cmd ::= ROLLBACK trans_opt */ yytestcase(yyruleno==9); |
| 151328 | {sqlite3EndTransaction(pParse,yymsp[-1].major);} |
| 151329 | break; |
| @@ -151280,11 +151342,11 @@ | |
| 151342 | sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); |
| 151343 | } |
| 151344 | break; |
| 151345 | case 13: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ |
| 151346 | { |
| 151347 | sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy494,0,0,yymsp[-2].minor.yy494); |
| 151348 | } |
| 151349 | break; |
| 151350 | case 14: /* createkw ::= CREATE */ |
| 151351 | {disableLookaside(pParse);} |
| 151352 | break; |
| @@ -151295,36 +151357,36 @@ | |
| 151357 | case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); |
| 151358 | case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); |
| 151359 | case 76: /* ifexists ::= */ yytestcase(yyruleno==76); |
| 151360 | case 93: /* distinct ::= */ yytestcase(yyruleno==93); |
| 151361 | case 226: /* collate ::= */ yytestcase(yyruleno==226); |
| 151362 | {yymsp[1].minor.yy494 = 0;} |
| 151363 | break; |
| 151364 | case 16: /* ifnotexists ::= IF NOT EXISTS */ |
| 151365 | {yymsp[-2].minor.yy494 = 1;} |
| 151366 | break; |
| 151367 | case 17: /* temp ::= TEMP */ |
| 151368 | case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); |
| 151369 | {yymsp[0].minor.yy494 = 1;} |
| 151370 | break; |
| 151371 | case 19: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ |
| 151372 | { |
| 151373 | sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy494,0); |
| 151374 | } |
| 151375 | break; |
| 151376 | case 20: /* create_table_args ::= AS select */ |
| 151377 | { |
| 151378 | sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy457); |
| 151379 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy457); |
| 151380 | } |
| 151381 | break; |
| 151382 | case 22: /* table_options ::= WITHOUT nm */ |
| 151383 | { |
| 151384 | if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ |
| 151385 | yymsp[-1].minor.yy494 = TF_WithoutRowid | TF_NoVisibleRowid; |
| 151386 | }else{ |
| 151387 | yymsp[-1].minor.yy494 = 0; |
| 151388 | sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); |
| 151389 | } |
| 151390 | } |
| 151391 | break; |
| 151392 | case 23: /* columnname ::= nm typetoken */ |
| @@ -151349,30 +151411,30 @@ | |
| 151411 | {yymsp[-1].minor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} |
| 151412 | break; |
| 151413 | case 28: /* scanpt ::= */ |
| 151414 | { |
| 151415 | assert( yyLookahead!=YYNOCODE ); |
| 151416 | yymsp[1].minor.yy294 = yyLookaheadToken.z; |
| 151417 | } |
| 151418 | break; |
| 151419 | case 29: /* ccons ::= CONSTRAINT nm */ |
| 151420 | case 62: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==62); |
| 151421 | {pParse->constraintName = yymsp[0].minor.yy0;} |
| 151422 | break; |
| 151423 | case 30: /* ccons ::= DEFAULT scanpt term scanpt */ |
| 151424 | {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy524,yymsp[-2].minor.yy294,yymsp[0].minor.yy294);} |
| 151425 | break; |
| 151426 | case 31: /* ccons ::= DEFAULT LP expr RP */ |
| 151427 | {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy524,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} |
| 151428 | break; |
| 151429 | case 32: /* ccons ::= DEFAULT PLUS term scanpt */ |
| 151430 | {sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy524,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy294);} |
| 151431 | break; |
| 151432 | case 33: /* ccons ::= DEFAULT MINUS term scanpt */ |
| 151433 | { |
| 151434 | Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy524, 0); |
| 151435 | sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy294); |
| 151436 | } |
| 151437 | break; |
| 151438 | case 34: /* ccons ::= DEFAULT scanpt ID|INDEXED */ |
| 151439 | { |
| 151440 | Expr *p = tokenExpr(pParse, TK_STRING, yymsp[0].minor.yy0); |
| @@ -151382,319 +151444,319 @@ | |
| 151444 | } |
| 151445 | sqlite3AddDefaultValue(pParse,p,yymsp[0].minor.yy0.z,yymsp[0].minor.yy0.z+yymsp[0].minor.yy0.n); |
| 151446 | } |
| 151447 | break; |
| 151448 | case 35: /* ccons ::= NOT NULL onconf */ |
| 151449 | {sqlite3AddNotNull(pParse, yymsp[0].minor.yy494);} |
| 151450 | break; |
| 151451 | case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ |
| 151452 | {sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy494,yymsp[0].minor.yy494,yymsp[-2].minor.yy494);} |
| 151453 | break; |
| 151454 | case 37: /* ccons ::= UNIQUE onconf */ |
| 151455 | {sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy494,0,0,0,0, |
| 151456 | SQLITE_IDXTYPE_UNIQUE);} |
| 151457 | break; |
| 151458 | case 38: /* ccons ::= CHECK LP expr RP */ |
| 151459 | {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy524);} |
| 151460 | break; |
| 151461 | case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ |
| 151462 | {sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy434,yymsp[0].minor.yy494);} |
| 151463 | break; |
| 151464 | case 40: /* ccons ::= defer_subclause */ |
| 151465 | {sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy494);} |
| 151466 | break; |
| 151467 | case 41: /* ccons ::= COLLATE ID|STRING */ |
| 151468 | {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} |
| 151469 | break; |
| 151470 | case 44: /* refargs ::= */ |
| 151471 | { yymsp[1].minor.yy494 = OE_None*0x0101; /* EV: R-19803-45884 */} |
| 151472 | break; |
| 151473 | case 45: /* refargs ::= refargs refarg */ |
| 151474 | { yymsp[-1].minor.yy494 = (yymsp[-1].minor.yy494 & ~yymsp[0].minor.yy355.mask) | yymsp[0].minor.yy355.value; } |
| 151475 | break; |
| 151476 | case 46: /* refarg ::= MATCH nm */ |
| 151477 | { yymsp[-1].minor.yy355.value = 0; yymsp[-1].minor.yy355.mask = 0x000000; } |
| 151478 | break; |
| 151479 | case 47: /* refarg ::= ON INSERT refact */ |
| 151480 | { yymsp[-2].minor.yy355.value = 0; yymsp[-2].minor.yy355.mask = 0x000000; } |
| 151481 | break; |
| 151482 | case 48: /* refarg ::= ON DELETE refact */ |
| 151483 | { yymsp[-2].minor.yy355.value = yymsp[0].minor.yy494; yymsp[-2].minor.yy355.mask = 0x0000ff; } |
| 151484 | break; |
| 151485 | case 49: /* refarg ::= ON UPDATE refact */ |
| 151486 | { yymsp[-2].minor.yy355.value = yymsp[0].minor.yy494<<8; yymsp[-2].minor.yy355.mask = 0x00ff00; } |
| 151487 | break; |
| 151488 | case 50: /* refact ::= SET NULL */ |
| 151489 | { yymsp[-1].minor.yy494 = OE_SetNull; /* EV: R-33326-45252 */} |
| 151490 | break; |
| 151491 | case 51: /* refact ::= SET DEFAULT */ |
| 151492 | { yymsp[-1].minor.yy494 = OE_SetDflt; /* EV: R-33326-45252 */} |
| 151493 | break; |
| 151494 | case 52: /* refact ::= CASCADE */ |
| 151495 | { yymsp[0].minor.yy494 = OE_Cascade; /* EV: R-33326-45252 */} |
| 151496 | break; |
| 151497 | case 53: /* refact ::= RESTRICT */ |
| 151498 | { yymsp[0].minor.yy494 = OE_Restrict; /* EV: R-33326-45252 */} |
| 151499 | break; |
| 151500 | case 54: /* refact ::= NO ACTION */ |
| 151501 | { yymsp[-1].minor.yy494 = OE_None; /* EV: R-33326-45252 */} |
| 151502 | break; |
| 151503 | case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ |
| 151504 | {yymsp[-2].minor.yy494 = 0;} |
| 151505 | break; |
| 151506 | case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ |
| 151507 | case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); |
| 151508 | case 156: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==156); |
| 151509 | {yymsp[-1].minor.yy494 = yymsp[0].minor.yy494;} |
| 151510 | break; |
| 151511 | case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ |
| 151512 | case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); |
| 151513 | case 198: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==198); |
| 151514 | case 201: /* in_op ::= NOT IN */ yytestcase(yyruleno==201); |
| 151515 | case 227: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==227); |
| 151516 | {yymsp[-1].minor.yy494 = 1;} |
| 151517 | break; |
| 151518 | case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ |
| 151519 | {yymsp[-1].minor.yy494 = 0;} |
| 151520 | break; |
| 151521 | case 61: /* tconscomma ::= COMMA */ |
| 151522 | {pParse->constraintName.n = 0;} |
| 151523 | break; |
| 151524 | case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ |
| 151525 | {sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy434,yymsp[0].minor.yy494,yymsp[-2].minor.yy494,0);} |
| 151526 | break; |
| 151527 | case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ |
| 151528 | {sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy434,yymsp[0].minor.yy494,0,0,0,0, |
| 151529 | SQLITE_IDXTYPE_UNIQUE);} |
| 151530 | break; |
| 151531 | case 65: /* tcons ::= CHECK LP expr RP onconf */ |
| 151532 | {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy524);} |
| 151533 | break; |
| 151534 | case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ |
| 151535 | { |
| 151536 | sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy434, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy434, yymsp[-1].minor.yy494); |
| 151537 | sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy494); |
| 151538 | } |
| 151539 | break; |
| 151540 | case 68: /* onconf ::= */ |
| 151541 | case 70: /* orconf ::= */ yytestcase(yyruleno==70); |
| 151542 | {yymsp[1].minor.yy494 = OE_Default;} |
| 151543 | break; |
| 151544 | case 69: /* onconf ::= ON CONFLICT resolvetype */ |
| 151545 | {yymsp[-2].minor.yy494 = yymsp[0].minor.yy494;} |
| 151546 | break; |
| 151547 | case 72: /* resolvetype ::= IGNORE */ |
| 151548 | {yymsp[0].minor.yy494 = OE_Ignore;} |
| 151549 | break; |
| 151550 | case 73: /* resolvetype ::= REPLACE */ |
| 151551 | case 157: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==157); |
| 151552 | {yymsp[0].minor.yy494 = OE_Replace;} |
| 151553 | break; |
| 151554 | case 74: /* cmd ::= DROP TABLE ifexists fullname */ |
| 151555 | { |
| 151556 | sqlite3DropTable(pParse, yymsp[0].minor.yy483, 0, yymsp[-1].minor.yy494); |
| 151557 | } |
| 151558 | break; |
| 151559 | case 77: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ |
| 151560 | { |
| 151561 | sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy434, yymsp[0].minor.yy457, yymsp[-7].minor.yy494, yymsp[-5].minor.yy494); |
| 151562 | } |
| 151563 | break; |
| 151564 | case 78: /* cmd ::= DROP VIEW ifexists fullname */ |
| 151565 | { |
| 151566 | sqlite3DropTable(pParse, yymsp[0].minor.yy483, 1, yymsp[-1].minor.yy494); |
| 151567 | } |
| 151568 | break; |
| 151569 | case 79: /* cmd ::= select */ |
| 151570 | { |
| 151571 | SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; |
| 151572 | sqlite3Select(pParse, yymsp[0].minor.yy457, &dest); |
| 151573 | sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy457); |
| 151574 | } |
| 151575 | break; |
| 151576 | case 80: /* select ::= WITH wqlist selectnowith */ |
| 151577 | { |
| 151578 | Select *p = yymsp[0].minor.yy457; |
| 151579 | if( p ){ |
| 151580 | p->pWith = yymsp[-1].minor.yy59; |
| 151581 | parserDoubleLinkSelect(pParse, p); |
| 151582 | }else{ |
| 151583 | sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy59); |
| 151584 | } |
| 151585 | yymsp[-2].minor.yy457 = p; |
| 151586 | } |
| 151587 | break; |
| 151588 | case 81: /* select ::= WITH RECURSIVE wqlist selectnowith */ |
| 151589 | { |
| 151590 | Select *p = yymsp[0].minor.yy457; |
| 151591 | if( p ){ |
| 151592 | p->pWith = yymsp[-1].minor.yy59; |
| 151593 | parserDoubleLinkSelect(pParse, p); |
| 151594 | }else{ |
| 151595 | sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy59); |
| 151596 | } |
| 151597 | yymsp[-3].minor.yy457 = p; |
| 151598 | } |
| 151599 | break; |
| 151600 | case 82: /* select ::= selectnowith */ |
| 151601 | { |
| 151602 | Select *p = yymsp[0].minor.yy457; |
| 151603 | if( p ){ |
| 151604 | parserDoubleLinkSelect(pParse, p); |
| 151605 | } |
| 151606 | yymsp[0].minor.yy457 = p; /*A-overwrites-X*/ |
| 151607 | } |
| 151608 | break; |
| 151609 | case 83: /* selectnowith ::= selectnowith multiselect_op oneselect */ |
| 151610 | { |
| 151611 | Select *pRhs = yymsp[0].minor.yy457; |
| 151612 | Select *pLhs = yymsp[-2].minor.yy457; |
| 151613 | if( pRhs && pRhs->pPrior ){ |
| 151614 | SrcList *pFrom; |
| 151615 | Token x; |
| 151616 | x.n = 0; |
| 151617 | parserDoubleLinkSelect(pParse, pRhs); |
| 151618 | pFrom = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&x,pRhs,0,0); |
| 151619 | pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0); |
| 151620 | } |
| 151621 | if( pRhs ){ |
| 151622 | pRhs->op = (u8)yymsp[-1].minor.yy494; |
| 151623 | pRhs->pPrior = pLhs; |
| 151624 | if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; |
| 151625 | pRhs->selFlags &= ~SF_MultiValue; |
| 151626 | if( yymsp[-1].minor.yy494!=TK_ALL ) pParse->hasCompound = 1; |
| 151627 | }else{ |
| 151628 | sqlite3SelectDelete(pParse->db, pLhs); |
| 151629 | } |
| 151630 | yymsp[-2].minor.yy457 = pRhs; |
| 151631 | } |
| 151632 | break; |
| 151633 | case 84: /* multiselect_op ::= UNION */ |
| 151634 | case 86: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==86); |
| 151635 | {yymsp[0].minor.yy494 = yymsp[0].major; /*A-overwrites-OP*/} |
| 151636 | break; |
| 151637 | case 85: /* multiselect_op ::= UNION ALL */ |
| 151638 | {yymsp[-1].minor.yy494 = TK_ALL;} |
| 151639 | break; |
| 151640 | case 87: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ |
| 151641 | { |
| 151642 | yymsp[-8].minor.yy457 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy434,yymsp[-5].minor.yy483,yymsp[-4].minor.yy524,yymsp[-3].minor.yy434,yymsp[-2].minor.yy524,yymsp[-1].minor.yy434,yymsp[-7].minor.yy494,yymsp[0].minor.yy524); |
| 151643 | } |
| 151644 | break; |
| 151645 | case 88: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt window_clause orderby_opt limit_opt */ |
| 151646 | { |
| 151647 | yymsp[-9].minor.yy457 = sqlite3SelectNew(pParse,yymsp[-7].minor.yy434,yymsp[-6].minor.yy483,yymsp[-5].minor.yy524,yymsp[-4].minor.yy434,yymsp[-3].minor.yy524,yymsp[-1].minor.yy434,yymsp[-8].minor.yy494,yymsp[0].minor.yy524); |
| 151648 | if( yymsp[-9].minor.yy457 ){ |
| 151649 | yymsp[-9].minor.yy457->pWinDefn = yymsp[-2].minor.yy295; |
| 151650 | }else{ |
| 151651 | sqlite3WindowListDelete(pParse->db, yymsp[-2].minor.yy295); |
| 151652 | } |
| 151653 | } |
| 151654 | break; |
| 151655 | case 89: /* values ::= VALUES LP nexprlist RP */ |
| 151656 | { |
| 151657 | yymsp[-3].minor.yy457 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy434,0,0,0,0,0,SF_Values,0); |
| 151658 | } |
| 151659 | break; |
| 151660 | case 90: /* values ::= values COMMA LP nexprlist RP */ |
| 151661 | { |
| 151662 | Select *pRight, *pLeft = yymsp[-4].minor.yy457; |
| 151663 | pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy434,0,0,0,0,0,SF_Values|SF_MultiValue,0); |
| 151664 | if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; |
| 151665 | if( pRight ){ |
| 151666 | pRight->op = TK_ALL; |
| 151667 | pRight->pPrior = pLeft; |
| 151668 | yymsp[-4].minor.yy457 = pRight; |
| 151669 | }else{ |
| 151670 | yymsp[-4].minor.yy457 = pLeft; |
| 151671 | } |
| 151672 | } |
| 151673 | break; |
| 151674 | case 91: /* distinct ::= DISTINCT */ |
| 151675 | {yymsp[0].minor.yy494 = SF_Distinct;} |
| 151676 | break; |
| 151677 | case 92: /* distinct ::= ALL */ |
| 151678 | {yymsp[0].minor.yy494 = SF_All;} |
| 151679 | break; |
| 151680 | case 94: /* sclp ::= */ |
| 151681 | case 127: /* orderby_opt ::= */ yytestcase(yyruleno==127); |
| 151682 | case 134: /* groupby_opt ::= */ yytestcase(yyruleno==134); |
| 151683 | case 214: /* exprlist ::= */ yytestcase(yyruleno==214); |
| 151684 | case 217: /* paren_exprlist ::= */ yytestcase(yyruleno==217); |
| 151685 | case 222: /* eidlist_opt ::= */ yytestcase(yyruleno==222); |
| 151686 | {yymsp[1].minor.yy434 = 0;} |
| 151687 | break; |
| 151688 | case 95: /* selcollist ::= sclp scanpt expr scanpt as */ |
| 151689 | { |
| 151690 | yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy434, yymsp[-2].minor.yy524); |
| 151691 | if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy434, &yymsp[0].minor.yy0, 1); |
| 151692 | sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy434,yymsp[-3].minor.yy294,yymsp[-1].minor.yy294); |
| 151693 | } |
| 151694 | break; |
| 151695 | case 96: /* selcollist ::= sclp scanpt STAR */ |
| 151696 | { |
| 151697 | Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); |
| 151698 | yymsp[-2].minor.yy434 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy434, p); |
| 151699 | } |
| 151700 | break; |
| 151701 | case 97: /* selcollist ::= sclp scanpt nm DOT STAR */ |
| 151702 | { |
| 151703 | Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0); |
| 151704 | Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 151705 | Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); |
| 151706 | yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy434, pDot); |
| 151707 | } |
| 151708 | break; |
| 151709 | case 98: /* as ::= AS nm */ |
| 151710 | case 109: /* dbnm ::= DOT nm */ yytestcase(yyruleno==109); |
| 151711 | case 238: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==238); |
| 151712 | case 239: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==239); |
| 151713 | {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} |
| 151714 | break; |
| 151715 | case 100: /* from ::= */ |
| 151716 | {yymsp[1].minor.yy483 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy483));} |
| 151717 | break; |
| 151718 | case 101: /* from ::= FROM seltablist */ |
| 151719 | { |
| 151720 | yymsp[-1].minor.yy483 = yymsp[0].minor.yy483; |
| 151721 | sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy483); |
| 151722 | } |
| 151723 | break; |
| 151724 | case 102: /* stl_prefix ::= seltablist joinop */ |
| 151725 | { |
| 151726 | if( ALWAYS(yymsp[-1].minor.yy483 && yymsp[-1].minor.yy483->nSrc>0) ) yymsp[-1].minor.yy483->a[yymsp[-1].minor.yy483->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy494; |
| 151727 | } |
| 151728 | break; |
| 151729 | case 103: /* stl_prefix ::= */ |
| 151730 | {yymsp[1].minor.yy483 = 0;} |
| 151731 | break; |
| 151732 | case 104: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ |
| 151733 | { |
| 151734 | yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); |
| 151735 | sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy483, &yymsp[-2].minor.yy0); |
| 151736 | } |
| 151737 | break; |
| 151738 | case 105: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ |
| 151739 | { |
| 151740 | yymsp[-8].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy483,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); |
| 151741 | sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy483, yymsp[-4].minor.yy434); |
| 151742 | } |
| 151743 | break; |
| 151744 | case 106: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ |
| 151745 | { |
| 151746 | yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy457,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); |
| 151747 | } |
| 151748 | break; |
| 151749 | case 107: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ |
| 151750 | { |
| 151751 | if( yymsp[-6].minor.yy483==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy524==0 && yymsp[0].minor.yy62==0 ){ |
| 151752 | yymsp[-6].minor.yy483 = yymsp[-4].minor.yy483; |
| 151753 | }else if( yymsp[-4].minor.yy483->nSrc==1 ){ |
| 151754 | yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); |
| 151755 | if( yymsp[-6].minor.yy483 ){ |
| 151756 | struct SrcList_item *pNew = &yymsp[-6].minor.yy483->a[yymsp[-6].minor.yy483->nSrc-1]; |
| 151757 | struct SrcList_item *pOld = yymsp[-4].minor.yy483->a; |
| 151758 | pNew->zName = pOld->zName; |
| 151759 | pNew->zDatabase = pOld->zDatabase; |
| 151760 | pNew->pSelect = pOld->pSelect; |
| 151761 | if( pOld->fg.isTabFunc ){ |
| 151762 | pNew->u1.pFuncArg = pOld->u1.pFuncArg; |
| @@ -151703,215 +151765,215 @@ | |
| 151765 | pNew->fg.isTabFunc = 1; |
| 151766 | } |
| 151767 | pOld->zName = pOld->zDatabase = 0; |
| 151768 | pOld->pSelect = 0; |
| 151769 | } |
| 151770 | sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy483); |
| 151771 | }else{ |
| 151772 | Select *pSubquery; |
| 151773 | sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy483); |
| 151774 | pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy483,0,0,0,0,SF_NestedFrom,0); |
| 151775 | yymsp[-6].minor.yy483 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy483,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy524,yymsp[0].minor.yy62); |
| 151776 | } |
| 151777 | } |
| 151778 | break; |
| 151779 | case 108: /* dbnm ::= */ |
| 151780 | case 122: /* indexed_opt ::= */ yytestcase(yyruleno==122); |
| 151781 | {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} |
| 151782 | break; |
| 151783 | case 110: /* fullname ::= nm */ |
| 151784 | { |
| 151785 | yylhsminor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); |
| 151786 | if( IN_RENAME_OBJECT && yylhsminor.yy483 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy483->a[0].zName, &yymsp[0].minor.yy0); |
| 151787 | } |
| 151788 | yymsp[0].minor.yy483 = yylhsminor.yy483; |
| 151789 | break; |
| 151790 | case 111: /* fullname ::= nm DOT nm */ |
| 151791 | { |
| 151792 | yylhsminor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); |
| 151793 | if( IN_RENAME_OBJECT && yylhsminor.yy483 ) sqlite3RenameTokenMap(pParse, yylhsminor.yy483->a[0].zName, &yymsp[0].minor.yy0); |
| 151794 | } |
| 151795 | yymsp[-2].minor.yy483 = yylhsminor.yy483; |
| 151796 | break; |
| 151797 | case 112: /* xfullname ::= nm */ |
| 151798 | {yymsp[0].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[0].minor.yy0,0); /*A-overwrites-X*/} |
| 151799 | break; |
| 151800 | case 113: /* xfullname ::= nm DOT nm */ |
| 151801 | {yymsp[-2].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 151802 | break; |
| 151803 | case 114: /* xfullname ::= nm DOT nm AS nm */ |
| 151804 | { |
| 151805 | yymsp[-4].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,&yymsp[-2].minor.yy0); /*A-overwrites-X*/ |
| 151806 | if( yymsp[-4].minor.yy483 ) yymsp[-4].minor.yy483->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 151807 | } |
| 151808 | break; |
| 151809 | case 115: /* xfullname ::= nm AS nm */ |
| 151810 | { |
| 151811 | yymsp[-2].minor.yy483 = sqlite3SrcListAppend(pParse,0,&yymsp[-2].minor.yy0,0); /*A-overwrites-X*/ |
| 151812 | if( yymsp[-2].minor.yy483 ) yymsp[-2].minor.yy483->a[0].zAlias = sqlite3NameFromToken(pParse->db, &yymsp[0].minor.yy0); |
| 151813 | } |
| 151814 | break; |
| 151815 | case 116: /* joinop ::= COMMA|JOIN */ |
| 151816 | { yymsp[0].minor.yy494 = JT_INNER; } |
| 151817 | break; |
| 151818 | case 117: /* joinop ::= JOIN_KW JOIN */ |
| 151819 | {yymsp[-1].minor.yy494 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} |
| 151820 | break; |
| 151821 | case 118: /* joinop ::= JOIN_KW nm JOIN */ |
| 151822 | {yymsp[-2].minor.yy494 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} |
| 151823 | break; |
| 151824 | case 119: /* joinop ::= JOIN_KW nm nm JOIN */ |
| 151825 | {yymsp[-3].minor.yy494 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} |
| 151826 | break; |
| 151827 | case 120: /* on_opt ::= ON expr */ |
| 151828 | case 137: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==137); |
| 151829 | case 144: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==144); |
| 151830 | case 210: /* case_else ::= ELSE expr */ yytestcase(yyruleno==210); |
| 151831 | case 231: /* vinto ::= INTO expr */ yytestcase(yyruleno==231); |
| 151832 | {yymsp[-1].minor.yy524 = yymsp[0].minor.yy524;} |
| 151833 | break; |
| 151834 | case 121: /* on_opt ::= */ |
| 151835 | case 136: /* having_opt ::= */ yytestcase(yyruleno==136); |
| 151836 | case 138: /* limit_opt ::= */ yytestcase(yyruleno==138); |
| 151837 | case 143: /* where_opt ::= */ yytestcase(yyruleno==143); |
| 151838 | case 211: /* case_else ::= */ yytestcase(yyruleno==211); |
| 151839 | case 213: /* case_operand ::= */ yytestcase(yyruleno==213); |
| 151840 | case 232: /* vinto ::= */ yytestcase(yyruleno==232); |
| 151841 | {yymsp[1].minor.yy524 = 0;} |
| 151842 | break; |
| 151843 | case 123: /* indexed_opt ::= INDEXED BY nm */ |
| 151844 | {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} |
| 151845 | break; |
| 151846 | case 124: /* indexed_opt ::= NOT INDEXED */ |
| 151847 | {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} |
| 151848 | break; |
| 151849 | case 125: /* using_opt ::= USING LP idlist RP */ |
| 151850 | {yymsp[-3].minor.yy62 = yymsp[-1].minor.yy62;} |
| 151851 | break; |
| 151852 | case 126: /* using_opt ::= */ |
| 151853 | case 158: /* idlist_opt ::= */ yytestcase(yyruleno==158); |
| 151854 | {yymsp[1].minor.yy62 = 0;} |
| 151855 | break; |
| 151856 | case 128: /* orderby_opt ::= ORDER BY sortlist */ |
| 151857 | case 135: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==135); |
| 151858 | {yymsp[-2].minor.yy434 = yymsp[0].minor.yy434;} |
| 151859 | break; |
| 151860 | case 129: /* sortlist ::= sortlist COMMA expr sortorder */ |
| 151861 | { |
| 151862 | yymsp[-3].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy434,yymsp[-1].minor.yy524); |
| 151863 | sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy434,yymsp[0].minor.yy494); |
| 151864 | } |
| 151865 | break; |
| 151866 | case 130: /* sortlist ::= expr sortorder */ |
| 151867 | { |
| 151868 | yymsp[-1].minor.yy434 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy524); /*A-overwrites-Y*/ |
| 151869 | sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy434,yymsp[0].minor.yy494); |
| 151870 | } |
| 151871 | break; |
| 151872 | case 131: /* sortorder ::= ASC */ |
| 151873 | {yymsp[0].minor.yy494 = SQLITE_SO_ASC;} |
| 151874 | break; |
| 151875 | case 132: /* sortorder ::= DESC */ |
| 151876 | {yymsp[0].minor.yy494 = SQLITE_SO_DESC;} |
| 151877 | break; |
| 151878 | case 133: /* sortorder ::= */ |
| 151879 | {yymsp[1].minor.yy494 = SQLITE_SO_UNDEFINED;} |
| 151880 | break; |
| 151881 | case 139: /* limit_opt ::= LIMIT expr */ |
| 151882 | {yymsp[-1].minor.yy524 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy524,0);} |
| 151883 | break; |
| 151884 | case 140: /* limit_opt ::= LIMIT expr OFFSET expr */ |
| 151885 | {yymsp[-3].minor.yy524 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy524,yymsp[0].minor.yy524);} |
| 151886 | break; |
| 151887 | case 141: /* limit_opt ::= LIMIT expr COMMA expr */ |
| 151888 | {yymsp[-3].minor.yy524 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy524,yymsp[-2].minor.yy524);} |
| 151889 | break; |
| 151890 | case 142: /* cmd ::= with DELETE FROM xfullname indexed_opt where_opt */ |
| 151891 | { |
| 151892 | sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy483, &yymsp[-1].minor.yy0); |
| 151893 | sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy483,yymsp[0].minor.yy524,0,0); |
| 151894 | } |
| 151895 | break; |
| 151896 | case 145: /* cmd ::= with UPDATE orconf xfullname indexed_opt SET setlist where_opt */ |
| 151897 | { |
| 151898 | sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy483, &yymsp[-3].minor.yy0); |
| 151899 | sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy434,"set list"); |
| 151900 | sqlite3Update(pParse,yymsp[-4].minor.yy483,yymsp[-1].minor.yy434,yymsp[0].minor.yy524,yymsp[-5].minor.yy494,0,0,0); |
| 151901 | } |
| 151902 | break; |
| 151903 | case 146: /* setlist ::= setlist COMMA nm EQ expr */ |
| 151904 | { |
| 151905 | yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy434, yymsp[0].minor.yy524); |
| 151906 | sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy434, &yymsp[-2].minor.yy0, 1); |
| 151907 | } |
| 151908 | break; |
| 151909 | case 147: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ |
| 151910 | { |
| 151911 | yymsp[-6].minor.yy434 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy434, yymsp[-3].minor.yy62, yymsp[0].minor.yy524); |
| 151912 | } |
| 151913 | break; |
| 151914 | case 148: /* setlist ::= nm EQ expr */ |
| 151915 | { |
| 151916 | yylhsminor.yy434 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy524); |
| 151917 | sqlite3ExprListSetName(pParse, yylhsminor.yy434, &yymsp[-2].minor.yy0, 1); |
| 151918 | } |
| 151919 | yymsp[-2].minor.yy434 = yylhsminor.yy434; |
| 151920 | break; |
| 151921 | case 149: /* setlist ::= LP idlist RP EQ expr */ |
| 151922 | { |
| 151923 | yymsp[-4].minor.yy434 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy62, yymsp[0].minor.yy524); |
| 151924 | } |
| 151925 | break; |
| 151926 | case 150: /* cmd ::= with insert_cmd INTO xfullname idlist_opt select upsert */ |
| 151927 | { |
| 151928 | sqlite3Insert(pParse, yymsp[-3].minor.yy483, yymsp[-1].minor.yy457, yymsp[-2].minor.yy62, yymsp[-5].minor.yy494, yymsp[0].minor.yy136); |
| 151929 | } |
| 151930 | break; |
| 151931 | case 151: /* cmd ::= with insert_cmd INTO xfullname idlist_opt DEFAULT VALUES */ |
| 151932 | { |
| 151933 | sqlite3Insert(pParse, yymsp[-3].minor.yy483, 0, yymsp[-2].minor.yy62, yymsp[-5].minor.yy494, 0); |
| 151934 | } |
| 151935 | break; |
| 151936 | case 152: /* upsert ::= */ |
| 151937 | { yymsp[1].minor.yy136 = 0; } |
| 151938 | break; |
| 151939 | case 153: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO UPDATE SET setlist where_opt */ |
| 151940 | { yymsp[-10].minor.yy136 = sqlite3UpsertNew(pParse->db,yymsp[-7].minor.yy434,yymsp[-5].minor.yy524,yymsp[-1].minor.yy434,yymsp[0].minor.yy524);} |
| 151941 | break; |
| 151942 | case 154: /* upsert ::= ON CONFLICT LP sortlist RP where_opt DO NOTHING */ |
| 151943 | { yymsp[-7].minor.yy136 = sqlite3UpsertNew(pParse->db,yymsp[-4].minor.yy434,yymsp[-2].minor.yy524,0,0); } |
| 151944 | break; |
| 151945 | case 155: /* upsert ::= ON CONFLICT DO NOTHING */ |
| 151946 | { yymsp[-3].minor.yy136 = sqlite3UpsertNew(pParse->db,0,0,0,0); } |
| 151947 | break; |
| 151948 | case 159: /* idlist_opt ::= LP idlist RP */ |
| 151949 | {yymsp[-2].minor.yy62 = yymsp[-1].minor.yy62;} |
| 151950 | break; |
| 151951 | case 160: /* idlist ::= idlist COMMA nm */ |
| 151952 | {yymsp[-2].minor.yy62 = sqlite3IdListAppend(pParse,yymsp[-2].minor.yy62,&yymsp[0].minor.yy0);} |
| 151953 | break; |
| 151954 | case 161: /* idlist ::= nm */ |
| 151955 | {yymsp[0].minor.yy62 = sqlite3IdListAppend(pParse,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} |
| 151956 | break; |
| 151957 | case 162: /* expr ::= LP expr RP */ |
| 151958 | {yymsp[-2].minor.yy524 = yymsp[-1].minor.yy524;} |
| 151959 | break; |
| 151960 | case 163: /* expr ::= ID|INDEXED */ |
| 151961 | case 164: /* expr ::= JOIN_KW */ yytestcase(yyruleno==164); |
| 151962 | {yymsp[0].minor.yy524=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 151963 | break; |
| 151964 | case 165: /* expr ::= nm DOT nm */ |
| 151965 | { |
| 151966 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| 151967 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); |
| 151968 | if( IN_RENAME_OBJECT ){ |
| 151969 | sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[0].minor.yy0); |
| 151970 | sqlite3RenameTokenMap(pParse, (void*)temp1, &yymsp[-2].minor.yy0); |
| 151971 | } |
| 151972 | yylhsminor.yy524 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); |
| 151973 | } |
| 151974 | yymsp[-2].minor.yy524 = yylhsminor.yy524; |
| 151975 | break; |
| 151976 | case 166: /* expr ::= nm DOT nm DOT nm */ |
| 151977 | { |
| 151978 | Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); |
| 151979 | Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); |
| @@ -151919,95 +151981,95 @@ | |
| 151981 | Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3); |
| 151982 | if( IN_RENAME_OBJECT ){ |
| 151983 | sqlite3RenameTokenMap(pParse, (void*)temp3, &yymsp[0].minor.yy0); |
| 151984 | sqlite3RenameTokenMap(pParse, (void*)temp2, &yymsp[-2].minor.yy0); |
| 151985 | } |
| 151986 | yylhsminor.yy524 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); |
| 151987 | } |
| 151988 | yymsp[-4].minor.yy524 = yylhsminor.yy524; |
| 151989 | break; |
| 151990 | case 167: /* term ::= NULL|FLOAT|BLOB */ |
| 151991 | case 168: /* term ::= STRING */ yytestcase(yyruleno==168); |
| 151992 | {yymsp[0].minor.yy524=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} |
| 151993 | break; |
| 151994 | case 169: /* term ::= INTEGER */ |
| 151995 | { |
| 151996 | yylhsminor.yy524 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); |
| 151997 | } |
| 151998 | yymsp[0].minor.yy524 = yylhsminor.yy524; |
| 151999 | break; |
| 152000 | case 170: /* expr ::= VARIABLE */ |
| 152001 | { |
| 152002 | if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ |
| 152003 | u32 n = yymsp[0].minor.yy0.n; |
| 152004 | yymsp[0].minor.yy524 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); |
| 152005 | sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy524, n); |
| 152006 | }else{ |
| 152007 | /* When doing a nested parse, one can include terms in an expression |
| 152008 | ** that look like this: #1 #2 ... These terms refer to registers |
| 152009 | ** in the virtual machine. #N is the N-th register. */ |
| 152010 | Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/ |
| 152011 | assert( t.n>=2 ); |
| 152012 | if( pParse->nested==0 ){ |
| 152013 | sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); |
| 152014 | yymsp[0].minor.yy524 = 0; |
| 152015 | }else{ |
| 152016 | yymsp[0].minor.yy524 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); |
| 152017 | if( yymsp[0].minor.yy524 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy524->iTable); |
| 152018 | } |
| 152019 | } |
| 152020 | } |
| 152021 | break; |
| 152022 | case 171: /* expr ::= expr COLLATE ID|STRING */ |
| 152023 | { |
| 152024 | yymsp[-2].minor.yy524 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy524, &yymsp[0].minor.yy0, 1); |
| 152025 | } |
| 152026 | break; |
| 152027 | case 172: /* expr ::= CAST LP expr AS typetoken RP */ |
| 152028 | { |
| 152029 | yymsp[-5].minor.yy524 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); |
| 152030 | sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy524, yymsp[-3].minor.yy524, 0); |
| 152031 | } |
| 152032 | break; |
| 152033 | case 173: /* expr ::= ID|INDEXED LP distinct exprlist RP */ |
| 152034 | { |
| 152035 | yylhsminor.yy524 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy434, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy494); |
| 152036 | } |
| 152037 | yymsp[-4].minor.yy524 = yylhsminor.yy524; |
| 152038 | break; |
| 152039 | case 174: /* expr ::= ID|INDEXED LP STAR RP */ |
| 152040 | { |
| 152041 | yylhsminor.yy524 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0, 0); |
| 152042 | } |
| 152043 | yymsp[-3].minor.yy524 = yylhsminor.yy524; |
| 152044 | break; |
| 152045 | case 175: /* expr ::= ID|INDEXED LP distinct exprlist RP over_clause */ |
| 152046 | { |
| 152047 | yylhsminor.yy524 = sqlite3ExprFunction(pParse, yymsp[-2].minor.yy434, &yymsp[-5].minor.yy0, yymsp[-3].minor.yy494); |
| 152048 | sqlite3WindowAttach(pParse, yylhsminor.yy524, yymsp[0].minor.yy295); |
| 152049 | } |
| 152050 | yymsp[-5].minor.yy524 = yylhsminor.yy524; |
| 152051 | break; |
| 152052 | case 176: /* expr ::= ID|INDEXED LP STAR RP over_clause */ |
| 152053 | { |
| 152054 | yylhsminor.yy524 = sqlite3ExprFunction(pParse, 0, &yymsp[-4].minor.yy0, 0); |
| 152055 | sqlite3WindowAttach(pParse, yylhsminor.yy524, yymsp[0].minor.yy295); |
| 152056 | } |
| 152057 | yymsp[-4].minor.yy524 = yylhsminor.yy524; |
| 152058 | break; |
| 152059 | case 177: /* term ::= CTIME_KW */ |
| 152060 | { |
| 152061 | yylhsminor.yy524 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0, 0); |
| 152062 | } |
| 152063 | yymsp[0].minor.yy524 = yylhsminor.yy524; |
| 152064 | break; |
| 152065 | case 178: /* expr ::= LP nexprlist COMMA expr RP */ |
| 152066 | { |
| 152067 | ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy434, yymsp[-1].minor.yy524); |
| 152068 | yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); |
| 152069 | if( yymsp[-4].minor.yy524 ){ |
| 152070 | yymsp[-4].minor.yy524->x.pList = pList; |
| 152071 | }else{ |
| 152072 | sqlite3ExprListDelete(pParse->db, pList); |
| 152073 | } |
| 152074 | } |
| 152075 | break; |
| @@ -152017,101 +152079,101 @@ | |
| 152079 | case 182: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==182); |
| 152080 | case 183: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==183); |
| 152081 | case 184: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==184); |
| 152082 | case 185: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==185); |
| 152083 | case 186: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==186); |
| 152084 | {yymsp[-2].minor.yy524=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy524,yymsp[0].minor.yy524);} |
| 152085 | break; |
| 152086 | case 187: /* likeop ::= NOT LIKE_KW|MATCH */ |
| 152087 | {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} |
| 152088 | break; |
| 152089 | case 188: /* expr ::= expr likeop expr */ |
| 152090 | { |
| 152091 | ExprList *pList; |
| 152092 | int bNot = yymsp[-1].minor.yy0.n & 0x80000000; |
| 152093 | yymsp[-1].minor.yy0.n &= 0x7fffffff; |
| 152094 | pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy524); |
| 152095 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy524); |
| 152096 | yymsp[-2].minor.yy524 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0, 0); |
| 152097 | if( bNot ) yymsp[-2].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy524, 0); |
| 152098 | if( yymsp[-2].minor.yy524 ) yymsp[-2].minor.yy524->flags |= EP_InfixFunc; |
| 152099 | } |
| 152100 | break; |
| 152101 | case 189: /* expr ::= expr likeop expr ESCAPE expr */ |
| 152102 | { |
| 152103 | ExprList *pList; |
| 152104 | int bNot = yymsp[-3].minor.yy0.n & 0x80000000; |
| 152105 | yymsp[-3].minor.yy0.n &= 0x7fffffff; |
| 152106 | pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524); |
| 152107 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy524); |
| 152108 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy524); |
| 152109 | yymsp[-4].minor.yy524 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0, 0); |
| 152110 | if( bNot ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); |
| 152111 | if( yymsp[-4].minor.yy524 ) yymsp[-4].minor.yy524->flags |= EP_InfixFunc; |
| 152112 | } |
| 152113 | break; |
| 152114 | case 190: /* expr ::= expr ISNULL|NOTNULL */ |
| 152115 | {yymsp[-1].minor.yy524 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy524,0);} |
| 152116 | break; |
| 152117 | case 191: /* expr ::= expr NOT NULL */ |
| 152118 | {yymsp[-2].minor.yy524 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy524,0);} |
| 152119 | break; |
| 152120 | case 192: /* expr ::= expr IS expr */ |
| 152121 | { |
| 152122 | yymsp[-2].minor.yy524 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy524,yymsp[0].minor.yy524); |
| 152123 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy524, yymsp[-2].minor.yy524, TK_ISNULL); |
| 152124 | } |
| 152125 | break; |
| 152126 | case 193: /* expr ::= expr IS NOT expr */ |
| 152127 | { |
| 152128 | yymsp[-3].minor.yy524 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy524,yymsp[0].minor.yy524); |
| 152129 | binaryToUnaryIfNull(pParse, yymsp[0].minor.yy524, yymsp[-3].minor.yy524, TK_NOTNULL); |
| 152130 | } |
| 152131 | break; |
| 152132 | case 194: /* expr ::= NOT expr */ |
| 152133 | case 195: /* expr ::= BITNOT expr */ yytestcase(yyruleno==195); |
| 152134 | {yymsp[-1].minor.yy524 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy524, 0);/*A-overwrites-B*/} |
| 152135 | break; |
| 152136 | case 196: /* expr ::= PLUS|MINUS expr */ |
| 152137 | { |
| 152138 | yymsp[-1].minor.yy524 = sqlite3PExpr(pParse, yymsp[-1].major==TK_PLUS ? TK_UPLUS : TK_UMINUS, yymsp[0].minor.yy524, 0); |
| 152139 | /*A-overwrites-B*/ |
| 152140 | } |
| 152141 | break; |
| 152142 | case 197: /* between_op ::= BETWEEN */ |
| 152143 | case 200: /* in_op ::= IN */ yytestcase(yyruleno==200); |
| 152144 | {yymsp[0].minor.yy494 = 0;} |
| 152145 | break; |
| 152146 | case 199: /* expr ::= expr between_op expr AND expr */ |
| 152147 | { |
| 152148 | ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524); |
| 152149 | pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy524); |
| 152150 | yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy524, 0); |
| 152151 | if( yymsp[-4].minor.yy524 ){ |
| 152152 | yymsp[-4].minor.yy524->x.pList = pList; |
| 152153 | }else{ |
| 152154 | sqlite3ExprListDelete(pParse->db, pList); |
| 152155 | } |
| 152156 | if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); |
| 152157 | } |
| 152158 | break; |
| 152159 | case 202: /* expr ::= expr in_op LP exprlist RP */ |
| 152160 | { |
| 152161 | if( yymsp[-1].minor.yy434==0 ){ |
| 152162 | /* Expressions of the form |
| 152163 | ** |
| 152164 | ** expr1 IN () |
| 152165 | ** expr1 NOT IN () |
| 152166 | ** |
| 152167 | ** simplify to constants 0 (false) and 1 (true), respectively, |
| 152168 | ** regardless of the value of expr1. |
| 152169 | */ |
| 152170 | if( IN_RENAME_OBJECT==0 ){ |
| 152171 | sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy524); |
| 152172 | yymsp[-4].minor.yy524 = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy494],1); |
| 152173 | } |
| 152174 | }else if( yymsp[-1].minor.yy434->nExpr==1 ){ |
| 152175 | /* Expressions of the form: |
| 152176 | ** |
| 152177 | ** expr1 IN (?1) |
| 152178 | ** expr1 NOT IN (?2) |
| 152179 | ** |
| @@ -152124,134 +152186,134 @@ | |
| 152186 | ** But, the RHS of the == or <> is marked with the EP_Generic flag |
| 152187 | ** so that it may not contribute to the computation of comparison |
| 152188 | ** affinity or the collating sequence to use for comparison. Otherwise, |
| 152189 | ** the semantics would be subtly different from IN or NOT IN. |
| 152190 | */ |
| 152191 | Expr *pRHS = yymsp[-1].minor.yy434->a[0].pExpr; |
| 152192 | yymsp[-1].minor.yy434->a[0].pExpr = 0; |
| 152193 | sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy434); |
| 152194 | /* pRHS cannot be NULL because a malloc error would have been detected |
| 152195 | ** before now and control would have never reached this point */ |
| 152196 | if( ALWAYS(pRHS) ){ |
| 152197 | pRHS->flags &= ~EP_Collate; |
| 152198 | pRHS->flags |= EP_Generic; |
| 152199 | } |
| 152200 | yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, yymsp[-3].minor.yy494 ? TK_NE : TK_EQ, yymsp[-4].minor.yy524, pRHS); |
| 152201 | }else{ |
| 152202 | yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy524, 0); |
| 152203 | if( yymsp[-4].minor.yy524 ){ |
| 152204 | yymsp[-4].minor.yy524->x.pList = yymsp[-1].minor.yy434; |
| 152205 | sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy524); |
| 152206 | }else{ |
| 152207 | sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy434); |
| 152208 | } |
| 152209 | if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); |
| 152210 | } |
| 152211 | } |
| 152212 | break; |
| 152213 | case 203: /* expr ::= LP select RP */ |
| 152214 | { |
| 152215 | yymsp[-2].minor.yy524 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); |
| 152216 | sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy524, yymsp[-1].minor.yy457); |
| 152217 | } |
| 152218 | break; |
| 152219 | case 204: /* expr ::= expr in_op LP select RP */ |
| 152220 | { |
| 152221 | yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy524, 0); |
| 152222 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy524, yymsp[-1].minor.yy457); |
| 152223 | if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); |
| 152224 | } |
| 152225 | break; |
| 152226 | case 205: /* expr ::= expr in_op nm dbnm paren_exprlist */ |
| 152227 | { |
| 152228 | SrcList *pSrc = sqlite3SrcListAppend(pParse, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); |
| 152229 | Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0); |
| 152230 | if( yymsp[0].minor.yy434 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy434); |
| 152231 | yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy524, 0); |
| 152232 | sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy524, pSelect); |
| 152233 | if( yymsp[-3].minor.yy494 ) yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy524, 0); |
| 152234 | } |
| 152235 | break; |
| 152236 | case 206: /* expr ::= EXISTS LP select RP */ |
| 152237 | { |
| 152238 | Expr *p; |
| 152239 | p = yymsp[-3].minor.yy524 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); |
| 152240 | sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy457); |
| 152241 | } |
| 152242 | break; |
| 152243 | case 207: /* expr ::= CASE case_operand case_exprlist case_else END */ |
| 152244 | { |
| 152245 | yymsp[-4].minor.yy524 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy524, 0); |
| 152246 | if( yymsp[-4].minor.yy524 ){ |
| 152247 | yymsp[-4].minor.yy524->x.pList = yymsp[-1].minor.yy524 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy434,yymsp[-1].minor.yy524) : yymsp[-2].minor.yy434; |
| 152248 | sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy524); |
| 152249 | }else{ |
| 152250 | sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy434); |
| 152251 | sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy524); |
| 152252 | } |
| 152253 | } |
| 152254 | break; |
| 152255 | case 208: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ |
| 152256 | { |
| 152257 | yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy434, yymsp[-2].minor.yy524); |
| 152258 | yymsp[-4].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy434, yymsp[0].minor.yy524); |
| 152259 | } |
| 152260 | break; |
| 152261 | case 209: /* case_exprlist ::= WHEN expr THEN expr */ |
| 152262 | { |
| 152263 | yymsp[-3].minor.yy434 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy524); |
| 152264 | yymsp[-3].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy434, yymsp[0].minor.yy524); |
| 152265 | } |
| 152266 | break; |
| 152267 | case 212: /* case_operand ::= expr */ |
| 152268 | {yymsp[0].minor.yy524 = yymsp[0].minor.yy524; /*A-overwrites-X*/} |
| 152269 | break; |
| 152270 | case 215: /* nexprlist ::= nexprlist COMMA expr */ |
| 152271 | {yymsp[-2].minor.yy434 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy434,yymsp[0].minor.yy524);} |
| 152272 | break; |
| 152273 | case 216: /* nexprlist ::= expr */ |
| 152274 | {yymsp[0].minor.yy434 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy524); /*A-overwrites-Y*/} |
| 152275 | break; |
| 152276 | case 218: /* paren_exprlist ::= LP exprlist RP */ |
| 152277 | case 223: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==223); |
| 152278 | {yymsp[-2].minor.yy434 = yymsp[-1].minor.yy434;} |
| 152279 | break; |
| 152280 | case 219: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ |
| 152281 | { |
| 152282 | sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, |
| 152283 | sqlite3SrcListAppend(pParse,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy434, yymsp[-10].minor.yy494, |
| 152284 | &yymsp[-11].minor.yy0, yymsp[0].minor.yy524, SQLITE_SO_ASC, yymsp[-8].minor.yy494, SQLITE_IDXTYPE_APPDEF); |
| 152285 | if( IN_RENAME_OBJECT && pParse->pNewIndex ){ |
| 152286 | sqlite3RenameTokenMap(pParse, pParse->pNewIndex->zName, &yymsp[-4].minor.yy0); |
| 152287 | } |
| 152288 | } |
| 152289 | break; |
| 152290 | case 220: /* uniqueflag ::= UNIQUE */ |
| 152291 | case 262: /* raisetype ::= ABORT */ yytestcase(yyruleno==262); |
| 152292 | {yymsp[0].minor.yy494 = OE_Abort;} |
| 152293 | break; |
| 152294 | case 221: /* uniqueflag ::= */ |
| 152295 | {yymsp[1].minor.yy494 = OE_None;} |
| 152296 | break; |
| 152297 | case 224: /* eidlist ::= eidlist COMMA nm collate sortorder */ |
| 152298 | { |
| 152299 | yymsp[-4].minor.yy434 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy434, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy494, yymsp[0].minor.yy494); |
| 152300 | } |
| 152301 | break; |
| 152302 | case 225: /* eidlist ::= nm collate sortorder */ |
| 152303 | { |
| 152304 | yymsp[-2].minor.yy434 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy494, yymsp[0].minor.yy494); /*A-overwrites-Y*/ |
| 152305 | } |
| 152306 | break; |
| 152307 | case 228: /* cmd ::= DROP INDEX ifexists fullname */ |
| 152308 | {sqlite3DropIndex(pParse, yymsp[0].minor.yy483, yymsp[-1].minor.yy494);} |
| 152309 | break; |
| 152310 | case 229: /* cmd ::= VACUUM vinto */ |
| 152311 | {sqlite3Vacuum(pParse,0,yymsp[0].minor.yy524);} |
| 152312 | break; |
| 152313 | case 230: /* cmd ::= VACUUM nm vinto */ |
| 152314 | {sqlite3Vacuum(pParse,&yymsp[-1].minor.yy0,yymsp[0].minor.yy524);} |
| 152315 | break; |
| 152316 | case 233: /* cmd ::= PRAGMA nm dbnm */ |
| 152317 | {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} |
| 152318 | break; |
| 152319 | case 234: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ |
| @@ -152269,55 +152331,55 @@ | |
| 152331 | case 240: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ |
| 152332 | { |
| 152333 | Token all; |
| 152334 | all.z = yymsp[-3].minor.yy0.z; |
| 152335 | all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; |
| 152336 | sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy455, &all); |
| 152337 | } |
| 152338 | break; |
| 152339 | case 241: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ |
| 152340 | { |
| 152341 | sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy494, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy483, yymsp[0].minor.yy524, yymsp[-10].minor.yy494, yymsp[-8].minor.yy494); |
| 152342 | yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ |
| 152343 | } |
| 152344 | break; |
| 152345 | case 242: /* trigger_time ::= BEFORE|AFTER */ |
| 152346 | { yymsp[0].minor.yy494 = yymsp[0].major; /*A-overwrites-X*/ } |
| 152347 | break; |
| 152348 | case 243: /* trigger_time ::= INSTEAD OF */ |
| 152349 | { yymsp[-1].minor.yy494 = TK_INSTEAD;} |
| 152350 | break; |
| 152351 | case 244: /* trigger_time ::= */ |
| 152352 | { yymsp[1].minor.yy494 = TK_BEFORE; } |
| 152353 | break; |
| 152354 | case 245: /* trigger_event ::= DELETE|INSERT */ |
| 152355 | case 246: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==246); |
| 152356 | {yymsp[0].minor.yy90.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy90.b = 0;} |
| 152357 | break; |
| 152358 | case 247: /* trigger_event ::= UPDATE OF idlist */ |
| 152359 | {yymsp[-2].minor.yy90.a = TK_UPDATE; yymsp[-2].minor.yy90.b = yymsp[0].minor.yy62;} |
| 152360 | break; |
| 152361 | case 248: /* when_clause ::= */ |
| 152362 | case 267: /* key_opt ::= */ yytestcase(yyruleno==267); |
| 152363 | case 315: /* filter_opt ::= */ yytestcase(yyruleno==315); |
| 152364 | { yymsp[1].minor.yy524 = 0; } |
| 152365 | break; |
| 152366 | case 249: /* when_clause ::= WHEN expr */ |
| 152367 | case 268: /* key_opt ::= KEY expr */ yytestcase(yyruleno==268); |
| 152368 | { yymsp[-1].minor.yy524 = yymsp[0].minor.yy524; } |
| 152369 | break; |
| 152370 | case 250: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ |
| 152371 | { |
| 152372 | assert( yymsp[-2].minor.yy455!=0 ); |
| 152373 | yymsp[-2].minor.yy455->pLast->pNext = yymsp[-1].minor.yy455; |
| 152374 | yymsp[-2].minor.yy455->pLast = yymsp[-1].minor.yy455; |
| 152375 | } |
| 152376 | break; |
| 152377 | case 251: /* trigger_cmd_list ::= trigger_cmd SEMI */ |
| 152378 | { |
| 152379 | assert( yymsp[-1].minor.yy455!=0 ); |
| 152380 | yymsp[-1].minor.yy455->pLast = yymsp[-1].minor.yy455; |
| 152381 | } |
| 152382 | break; |
| 152383 | case 252: /* trnm ::= nm DOT nm */ |
| 152384 | { |
| 152385 | yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; |
| @@ -152339,62 +152401,62 @@ | |
| 152401 | "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " |
| 152402 | "within triggers"); |
| 152403 | } |
| 152404 | break; |
| 152405 | case 255: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ |
| 152406 | {yylhsminor.yy455 = sqlite3TriggerUpdateStep(pParse, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy434, yymsp[-1].minor.yy524, yymsp[-6].minor.yy494, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy294);} |
| 152407 | yymsp[-7].minor.yy455 = yylhsminor.yy455; |
| 152408 | break; |
| 152409 | case 256: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ |
| 152410 | { |
| 152411 | yylhsminor.yy455 = sqlite3TriggerInsertStep(pParse,&yymsp[-4].minor.yy0,yymsp[-3].minor.yy62,yymsp[-2].minor.yy457,yymsp[-6].minor.yy494,yymsp[-1].minor.yy136,yymsp[-7].minor.yy294,yymsp[0].minor.yy294);/*yylhsminor.yy455-overwrites-yymsp[-6].minor.yy494*/ |
| 152412 | } |
| 152413 | yymsp[-7].minor.yy455 = yylhsminor.yy455; |
| 152414 | break; |
| 152415 | case 257: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ |
| 152416 | {yylhsminor.yy455 = sqlite3TriggerDeleteStep(pParse, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy524, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy294);} |
| 152417 | yymsp[-5].minor.yy455 = yylhsminor.yy455; |
| 152418 | break; |
| 152419 | case 258: /* trigger_cmd ::= scanpt select scanpt */ |
| 152420 | {yylhsminor.yy455 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy457, yymsp[-2].minor.yy294, yymsp[0].minor.yy294); /*yylhsminor.yy455-overwrites-yymsp[-1].minor.yy457*/} |
| 152421 | yymsp[-2].minor.yy455 = yylhsminor.yy455; |
| 152422 | break; |
| 152423 | case 259: /* expr ::= RAISE LP IGNORE RP */ |
| 152424 | { |
| 152425 | yymsp[-3].minor.yy524 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); |
| 152426 | if( yymsp[-3].minor.yy524 ){ |
| 152427 | yymsp[-3].minor.yy524->affinity = OE_Ignore; |
| 152428 | } |
| 152429 | } |
| 152430 | break; |
| 152431 | case 260: /* expr ::= RAISE LP raisetype COMMA nm RP */ |
| 152432 | { |
| 152433 | yymsp[-5].minor.yy524 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); |
| 152434 | if( yymsp[-5].minor.yy524 ) { |
| 152435 | yymsp[-5].minor.yy524->affinity = (char)yymsp[-3].minor.yy494; |
| 152436 | } |
| 152437 | } |
| 152438 | break; |
| 152439 | case 261: /* raisetype ::= ROLLBACK */ |
| 152440 | {yymsp[0].minor.yy494 = OE_Rollback;} |
| 152441 | break; |
| 152442 | case 263: /* raisetype ::= FAIL */ |
| 152443 | {yymsp[0].minor.yy494 = OE_Fail;} |
| 152444 | break; |
| 152445 | case 264: /* cmd ::= DROP TRIGGER ifexists fullname */ |
| 152446 | { |
| 152447 | sqlite3DropTrigger(pParse,yymsp[0].minor.yy483,yymsp[-1].minor.yy494); |
| 152448 | } |
| 152449 | break; |
| 152450 | case 265: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ |
| 152451 | { |
| 152452 | sqlite3Attach(pParse, yymsp[-3].minor.yy524, yymsp[-1].minor.yy524, yymsp[0].minor.yy524); |
| 152453 | } |
| 152454 | break; |
| 152455 | case 266: /* cmd ::= DETACH database_kw_opt expr */ |
| 152456 | { |
| 152457 | sqlite3Detach(pParse, yymsp[0].minor.yy524); |
| 152458 | } |
| 152459 | break; |
| 152460 | case 269: /* cmd ::= REINDEX */ |
| 152461 | {sqlite3Reindex(pParse, 0, 0);} |
| 152462 | break; |
| @@ -152407,11 +152469,11 @@ | |
| 152469 | case 272: /* cmd ::= ANALYZE nm dbnm */ |
| 152470 | {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} |
| 152471 | break; |
| 152472 | case 273: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ |
| 152473 | { |
| 152474 | sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy483,&yymsp[0].minor.yy0); |
| 152475 | } |
| 152476 | break; |
| 152477 | case 274: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ |
| 152478 | { |
| 152479 | yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; |
| @@ -152419,16 +152481,16 @@ | |
| 152481 | } |
| 152482 | break; |
| 152483 | case 275: /* add_column_fullname ::= fullname */ |
| 152484 | { |
| 152485 | disableLookaside(pParse); |
| 152486 | sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy483); |
| 152487 | } |
| 152488 | break; |
| 152489 | case 276: /* cmd ::= ALTER TABLE fullname RENAME kwcolumn_opt nm TO nm */ |
| 152490 | { |
| 152491 | sqlite3AlterRenameColumn(pParse, yymsp[-5].minor.yy483, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); |
| 152492 | } |
| 152493 | break; |
| 152494 | case 277: /* cmd ::= create_vtab */ |
| 152495 | {sqlite3VtabFinishParse(pParse,0);} |
| 152496 | break; |
| @@ -152435,11 +152497,11 @@ | |
| 152497 | case 278: /* cmd ::= create_vtab LP vtabarglist RP */ |
| 152498 | {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} |
| 152499 | break; |
| 152500 | case 279: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ |
| 152501 | { |
| 152502 | sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy494); |
| 152503 | } |
| 152504 | break; |
| 152505 | case 280: /* vtabarg ::= */ |
| 152506 | {sqlite3VtabArgInit(pParse);} |
| 152507 | break; |
| @@ -152448,148 +152510,148 @@ | |
| 152510 | case 283: /* lp ::= LP */ yytestcase(yyruleno==283); |
| 152511 | {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} |
| 152512 | break; |
| 152513 | case 284: /* with ::= WITH wqlist */ |
| 152514 | case 285: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==285); |
| 152515 | { sqlite3WithPush(pParse, yymsp[0].minor.yy59, 1); } |
| 152516 | break; |
| 152517 | case 286: /* wqlist ::= nm eidlist_opt AS LP select RP */ |
| 152518 | { |
| 152519 | yymsp[-5].minor.yy59 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy434, yymsp[-1].minor.yy457); /*A-overwrites-X*/ |
| 152520 | } |
| 152521 | break; |
| 152522 | case 287: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ |
| 152523 | { |
| 152524 | yymsp[-7].minor.yy59 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy59, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy434, yymsp[-1].minor.yy457); |
| 152525 | } |
| 152526 | break; |
| 152527 | case 288: /* windowdefn_list ::= windowdefn */ |
| 152528 | { yylhsminor.yy295 = yymsp[0].minor.yy295; } |
| 152529 | yymsp[0].minor.yy295 = yylhsminor.yy295; |
| 152530 | break; |
| 152531 | case 289: /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ |
| 152532 | { |
| 152533 | assert( yymsp[0].minor.yy295!=0 ); |
| 152534 | sqlite3WindowChain(pParse, yymsp[0].minor.yy295, yymsp[-2].minor.yy295); |
| 152535 | yymsp[0].minor.yy295->pNextWin = yymsp[-2].minor.yy295; |
| 152536 | yylhsminor.yy295 = yymsp[0].minor.yy295; |
| 152537 | } |
| 152538 | yymsp[-2].minor.yy295 = yylhsminor.yy295; |
| 152539 | break; |
| 152540 | case 290: /* windowdefn ::= nm AS LP window RP */ |
| 152541 | { |
| 152542 | if( ALWAYS(yymsp[-1].minor.yy295) ){ |
| 152543 | yymsp[-1].minor.yy295->zName = sqlite3DbStrNDup(pParse->db, yymsp[-4].minor.yy0.z, yymsp[-4].minor.yy0.n); |
| 152544 | } |
| 152545 | yylhsminor.yy295 = yymsp[-1].minor.yy295; |
| 152546 | } |
| 152547 | yymsp[-4].minor.yy295 = yylhsminor.yy295; |
| 152548 | break; |
| 152549 | case 291: /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ |
| 152550 | { |
| 152551 | yymsp[-4].minor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, yymsp[-2].minor.yy434, yymsp[-1].minor.yy434, 0); |
| 152552 | } |
| 152553 | break; |
| 152554 | case 292: /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ |
| 152555 | { |
| 152556 | yylhsminor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, yymsp[-2].minor.yy434, yymsp[-1].minor.yy434, &yymsp[-5].minor.yy0); |
| 152557 | } |
| 152558 | yymsp[-5].minor.yy295 = yylhsminor.yy295; |
| 152559 | break; |
| 152560 | case 293: /* window ::= ORDER BY sortlist frame_opt */ |
| 152561 | { |
| 152562 | yymsp[-3].minor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, 0, yymsp[-1].minor.yy434, 0); |
| 152563 | } |
| 152564 | break; |
| 152565 | case 294: /* window ::= nm ORDER BY sortlist frame_opt */ |
| 152566 | { |
| 152567 | yylhsminor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, 0, yymsp[-1].minor.yy434, &yymsp[-4].minor.yy0); |
| 152568 | } |
| 152569 | yymsp[-4].minor.yy295 = yylhsminor.yy295; |
| 152570 | break; |
| 152571 | case 295: /* window ::= frame_opt */ |
| 152572 | { |
| 152573 | yylhsminor.yy295 = yymsp[0].minor.yy295; |
| 152574 | } |
| 152575 | yymsp[0].minor.yy295 = yylhsminor.yy295; |
| 152576 | break; |
| 152577 | case 296: /* window ::= nm frame_opt */ |
| 152578 | { |
| 152579 | yylhsminor.yy295 = sqlite3WindowAssemble(pParse, yymsp[0].minor.yy295, 0, 0, &yymsp[-1].minor.yy0); |
| 152580 | } |
| 152581 | yymsp[-1].minor.yy295 = yylhsminor.yy295; |
| 152582 | break; |
| 152583 | case 297: /* frame_opt ::= */ |
| 152584 | { |
| 152585 | yymsp[1].minor.yy295 = sqlite3WindowAlloc(pParse, 0, TK_UNBOUNDED, 0, TK_CURRENT, 0, 0); |
| 152586 | } |
| 152587 | break; |
| 152588 | case 298: /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ |
| 152589 | { |
| 152590 | yylhsminor.yy295 = sqlite3WindowAlloc(pParse, yymsp[-2].minor.yy494, yymsp[-1].minor.yy201.eType, yymsp[-1].minor.yy201.pExpr, TK_CURRENT, 0, yymsp[0].minor.yy238); |
| 152591 | } |
| 152592 | yymsp[-2].minor.yy295 = yylhsminor.yy295; |
| 152593 | break; |
| 152594 | case 299: /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ |
| 152595 | { |
| 152596 | yylhsminor.yy295 = sqlite3WindowAlloc(pParse, yymsp[-5].minor.yy494, yymsp[-3].minor.yy201.eType, yymsp[-3].minor.yy201.pExpr, yymsp[-1].minor.yy201.eType, yymsp[-1].minor.yy201.pExpr, yymsp[0].minor.yy238); |
| 152597 | } |
| 152598 | yymsp[-5].minor.yy295 = yylhsminor.yy295; |
| 152599 | break; |
| 152600 | case 301: /* frame_bound_s ::= frame_bound */ |
| 152601 | case 303: /* frame_bound_e ::= frame_bound */ yytestcase(yyruleno==303); |
| 152602 | {yylhsminor.yy201 = yymsp[0].minor.yy201;} |
| 152603 | yymsp[0].minor.yy201 = yylhsminor.yy201; |
| 152604 | break; |
| 152605 | case 302: /* frame_bound_s ::= UNBOUNDED PRECEDING */ |
| 152606 | case 304: /* frame_bound_e ::= UNBOUNDED FOLLOWING */ yytestcase(yyruleno==304); |
| 152607 | case 306: /* frame_bound ::= CURRENT ROW */ yytestcase(yyruleno==306); |
| 152608 | {yylhsminor.yy201.eType = yymsp[-1].major; yylhsminor.yy201.pExpr = 0;} |
| 152609 | yymsp[-1].minor.yy201 = yylhsminor.yy201; |
| 152610 | break; |
| 152611 | case 305: /* frame_bound ::= expr PRECEDING|FOLLOWING */ |
| 152612 | {yylhsminor.yy201.eType = yymsp[0].major; yylhsminor.yy201.pExpr = yymsp[-1].minor.yy524;} |
| 152613 | yymsp[-1].minor.yy201 = yylhsminor.yy201; |
| 152614 | break; |
| 152615 | case 307: /* frame_exclude_opt ::= */ |
| 152616 | {yymsp[1].minor.yy238 = 0;} |
| 152617 | break; |
| 152618 | case 308: /* frame_exclude_opt ::= EXCLUDE frame_exclude */ |
| 152619 | {yymsp[-1].minor.yy238 = yymsp[0].minor.yy238;} |
| 152620 | break; |
| 152621 | case 309: /* frame_exclude ::= NO OTHERS */ |
| 152622 | case 310: /* frame_exclude ::= CURRENT ROW */ yytestcase(yyruleno==310); |
| 152623 | {yymsp[-1].minor.yy238 = yymsp[-1].major; /*A-overwrites-X*/} |
| 152624 | break; |
| 152625 | case 311: /* frame_exclude ::= GROUP|TIES */ |
| 152626 | {yymsp[0].minor.yy238 = yymsp[0].major; /*A-overwrites-X*/} |
| 152627 | break; |
| 152628 | case 312: /* window_clause ::= WINDOW windowdefn_list */ |
| 152629 | { yymsp[-1].minor.yy295 = yymsp[0].minor.yy295; } |
| 152630 | break; |
| 152631 | case 313: /* over_clause ::= filter_opt OVER LP window RP */ |
| 152632 | { |
| 152633 | yylhsminor.yy295 = yymsp[-1].minor.yy295; |
| 152634 | assert( yylhsminor.yy295!=0 ); |
| 152635 | yylhsminor.yy295->pFilter = yymsp[-4].minor.yy524; |
| 152636 | } |
| 152637 | yymsp[-4].minor.yy295 = yylhsminor.yy295; |
| 152638 | break; |
| 152639 | case 314: /* over_clause ::= filter_opt OVER nm */ |
| 152640 | { |
| 152641 | yylhsminor.yy295 = (Window*)sqlite3DbMallocZero(pParse->db, sizeof(Window)); |
| 152642 | if( yylhsminor.yy295 ){ |
| 152643 | yylhsminor.yy295->zName = sqlite3DbStrNDup(pParse->db, yymsp[0].minor.yy0.z, yymsp[0].minor.yy0.n); |
| 152644 | yylhsminor.yy295->pFilter = yymsp[-2].minor.yy524; |
| 152645 | }else{ |
| 152646 | sqlite3ExprDelete(pParse->db, yymsp[-2].minor.yy524); |
| 152647 | } |
| 152648 | } |
| 152649 | yymsp[-2].minor.yy295 = yylhsminor.yy295; |
| 152650 | break; |
| 152651 | case 316: /* filter_opt ::= FILTER LP WHERE expr RP */ |
| 152652 | { yymsp[-4].minor.yy524 = yymsp[-1].minor.yy524; } |
| 152653 | break; |
| 152654 | default: |
| 152655 | /* (317) input ::= cmdlist */ yytestcase(yyruleno==317); |
| 152656 | /* (318) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==318); |
| 152657 | /* (319) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=319); |
| @@ -211378,12 +211440,12 @@ | |
| 211440 | }else if( p2->pLeaf==0 ){ /* If p2 is at EOF */ |
| 211441 | iRes = i1; |
| 211442 | }else{ |
| 211443 | int res = fts5BufferCompare(&p1->term, &p2->term); |
| 211444 | if( res==0 ){ |
| 211445 | assert_nc( i2>i1 ); |
| 211446 | assert_nc( i2!=0 ); |
| 211447 | pRes->bTermEq = 1; |
| 211448 | if( p1->iRowid==p2->iRowid ){ |
| 211449 | p1->bDel = p2->bDel; |
| 211450 | return i2; |
| 211451 | } |
| @@ -217957,11 +218019,11 @@ | |
| 218019 | int nArg, /* Number of args */ |
| 218020 | sqlite3_value **apUnused /* Function arguments */ |
| 218021 | ){ |
| 218022 | assert( nArg==0 ); |
| 218023 | UNUSED_PARAM2(nArg, apUnused); |
| 218024 | sqlite3_result_text(pCtx, "fts5: 2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f", -1, SQLITE_TRANSIENT); |
| 218025 | } |
| 218026 | |
| 218027 | /* |
| 218028 | ** Return true if zName is the extension on one of the shadow tables used |
| 218029 | ** by this module. |
| @@ -222721,12 +222783,12 @@ | |
| 222783 | } |
| 222784 | #endif /* SQLITE_CORE */ |
| 222785 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 222786 | |
| 222787 | /************** End of stmt.c ************************************************/ |
| 222788 | #if __LINE__!=222788 |
| 222789 | #undef SQLITE_SOURCE_ID |
| 222790 | #define SQLITE_SOURCE_ID "2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35alt2" |
| 222791 | #endif |
| 222792 | /* Return the source-id for this library */ |
| 222793 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 222794 | /************************** End of sqlite3.c ******************************/ |
| 222795 |
+2
-2
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -123,11 +123,11 @@ | ||
| 123 | 123 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 124 | 124 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 125 | 125 | */ |
| 126 | 126 | #define SQLITE_VERSION "3.28.0" |
| 127 | 127 | #define SQLITE_VERSION_NUMBER 3028000 |
| 128 | -#define SQLITE_SOURCE_ID "2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f" | |
| 128 | +#define SQLITE_SOURCE_ID "2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f" | |
| 129 | 129 | |
| 130 | 130 | /* |
| 131 | 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | 133 | ** |
| @@ -4978,11 +4978,11 @@ | ||
| 4978 | 4978 | ** <td>→ <td>Best numeric datatype of the value |
| 4979 | 4979 | ** <tr><td><b>sqlite3_value_nochange </b> |
| 4980 | 4980 | ** <td>→ <td>True if the column is unchanged in an UPDATE |
| 4981 | 4981 | ** against a virtual table. |
| 4982 | 4982 | ** <tr><td><b>sqlite3_value_frombind </b> |
| 4983 | -** <td>→ <td>True if value originated a bound parameter | |
| 4983 | +** <td>→ <td>True if value originated from a [bound parameter] | |
| 4984 | 4984 | ** </table></blockquote> |
| 4985 | 4985 | ** |
| 4986 | 4986 | ** <b>Details:</b> |
| 4987 | 4987 | ** |
| 4988 | 4988 | ** These routines extract type, size, and content information from |
| 4989 | 4989 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -123,11 +123,11 @@ | |
| 123 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 124 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 125 | */ |
| 126 | #define SQLITE_VERSION "3.28.0" |
| 127 | #define SQLITE_VERSION_NUMBER 3028000 |
| 128 | #define SQLITE_SOURCE_ID "2019-04-03 17:48:10 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f" |
| 129 | |
| 130 | /* |
| 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | ** |
| @@ -4978,11 +4978,11 @@ | |
| 4978 | ** <td>→ <td>Best numeric datatype of the value |
| 4979 | ** <tr><td><b>sqlite3_value_nochange </b> |
| 4980 | ** <td>→ <td>True if the column is unchanged in an UPDATE |
| 4981 | ** against a virtual table. |
| 4982 | ** <tr><td><b>sqlite3_value_frombind </b> |
| 4983 | ** <td>→ <td>True if value originated a bound parameter |
| 4984 | ** </table></blockquote> |
| 4985 | ** |
| 4986 | ** <b>Details:</b> |
| 4987 | ** |
| 4988 | ** These routines extract type, size, and content information from |
| 4989 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -123,11 +123,11 @@ | |
| 123 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 124 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 125 | */ |
| 126 | #define SQLITE_VERSION "3.28.0" |
| 127 | #define SQLITE_VERSION_NUMBER 3028000 |
| 128 | #define SQLITE_SOURCE_ID "2019-04-10 18:29:40 f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f" |
| 129 | |
| 130 | /* |
| 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | ** |
| @@ -4978,11 +4978,11 @@ | |
| 4978 | ** <td>→ <td>Best numeric datatype of the value |
| 4979 | ** <tr><td><b>sqlite3_value_nochange </b> |
| 4980 | ** <td>→ <td>True if the column is unchanged in an UPDATE |
| 4981 | ** against a virtual table. |
| 4982 | ** <tr><td><b>sqlite3_value_frombind </b> |
| 4983 | ** <td>→ <td>True if value originated from a [bound parameter] |
| 4984 | ** </table></blockquote> |
| 4985 | ** |
| 4986 | ** <b>Details:</b> |
| 4987 | ** |
| 4988 | ** These routines extract type, size, and content information from |
| 4989 |