Fossil SCM
Update the built-in SQLite to version 3.21.0 final.
Commit
c7e55d9cacd4c7c980e8dafb1d8f808f7fcccccd2c5e066d33f01338961655bb
Parent
7ac19afae36fce4…
2 files changed
+12
-16
+1
-1
+12
-16
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -1147,11 +1147,11 @@ | ||
| 1147 | 1147 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1148 | 1148 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1149 | 1149 | */ |
| 1150 | 1150 | #define SQLITE_VERSION "3.21.0" |
| 1151 | 1151 | #define SQLITE_VERSION_NUMBER 3021000 |
| 1152 | -#define SQLITE_SOURCE_ID "2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4" | |
| 1152 | +#define SQLITE_SOURCE_ID "2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827" | |
| 1153 | 1153 | |
| 1154 | 1154 | /* |
| 1155 | 1155 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1156 | 1156 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1157 | 1157 | ** |
| @@ -83591,18 +83591,13 @@ | ||
| 83591 | 83591 | if( pOp->p5 & OPFLAG_ISNOOP ) break; |
| 83592 | 83592 | #endif |
| 83593 | 83593 | |
| 83594 | 83594 | if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++; |
| 83595 | 83595 | if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = x.nKey; |
| 83596 | - if( pData->flags & MEM_Null ){ | |
| 83597 | - x.pData = 0; | |
| 83598 | - x.nData = 0; | |
| 83599 | - }else{ | |
| 83600 | - assert( pData->flags & (MEM_Blob|MEM_Str) ); | |
| 83601 | - x.pData = pData->z; | |
| 83602 | - x.nData = pData->n; | |
| 83603 | - } | |
| 83596 | + assert( pData->flags & (MEM_Blob|MEM_Str) ); | |
| 83597 | + x.pData = pData->z; | |
| 83598 | + x.nData = pData->n; | |
| 83604 | 83599 | seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0); |
| 83605 | 83600 | if( pData->flags & MEM_Zero ){ |
| 83606 | 83601 | x.nZero = pData->u.nZero; |
| 83607 | 83602 | }else{ |
| 83608 | 83603 | x.nZero = 0; |
| @@ -86469,15 +86464,16 @@ | ||
| 86469 | 86464 | */ |
| 86470 | 86465 | v->aMem[1].flags = MEM_Int; |
| 86471 | 86466 | v->aMem[1].u.i = iRow; |
| 86472 | 86467 | |
| 86473 | 86468 | /* If the statement has been run before (and is paused at the OP_ResultRow) |
| 86474 | - ** then back it up to the point where it does the OP_SeekRowid. This could | |
| 86469 | + ** then back it up to the point where it does the OP_NotExists. This could | |
| 86475 | 86470 | ** have been down with an extra OP_Goto, but simply setting the program |
| 86476 | 86471 | ** counter is faster. */ |
| 86477 | - if( v->pc>3 ){ | |
| 86478 | - v->pc = 3; | |
| 86472 | + if( v->pc>4 ){ | |
| 86473 | + v->pc = 4; | |
| 86474 | + assert( v->aOp[v->pc].opcode==OP_NotExists ); | |
| 86479 | 86475 | rc = sqlite3VdbeExec(v); |
| 86480 | 86476 | }else{ |
| 86481 | 86477 | rc = sqlite3_step(p->pStmt); |
| 86482 | 86478 | } |
| 86483 | 86479 | if( rc==SQLITE_ROW ){ |
| @@ -94481,11 +94477,11 @@ | ||
| 94481 | 94477 | } |
| 94482 | 94478 | |
| 94483 | 94479 | /* Loop through each expression in <exprlist>. */ |
| 94484 | 94480 | r1 = sqlite3GetTempReg(pParse); |
| 94485 | 94481 | r2 = sqlite3GetTempReg(pParse); |
| 94486 | - if( isRowid ) sqlite3VdbeAddOp2(v, OP_Null, 0, r2); | |
| 94482 | + if( isRowid ) sqlite3VdbeAddOp4(v, OP_Blob, 0, r2, 0, "", P4_STATIC); | |
| 94487 | 94483 | for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){ |
| 94488 | 94484 | Expr *pE2 = pItem->pExpr; |
| 94489 | 94485 | int iValToIns; |
| 94490 | 94486 | |
| 94491 | 94487 | /* If the expression is not constant then we will need to |
| @@ -201077,11 +201073,11 @@ | ||
| 201077 | 201073 | int nArg, /* Number of args */ |
| 201078 | 201074 | sqlite3_value **apUnused /* Function arguments */ |
| 201079 | 201075 | ){ |
| 201080 | 201076 | assert( nArg==0 ); |
| 201081 | 201077 | UNUSED_PARAM2(nArg, apUnused); |
| 201082 | - sqlite3_result_text(pCtx, "fts5: 2017-10-19 15:17:38 04925dee41a21ffca9a9f9df27d8165431668c42c2b33d08b077fdb28011170b", -1, SQLITE_TRANSIENT); | |
| 201078 | + sqlite3_result_text(pCtx, "fts5: 2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827", -1, SQLITE_TRANSIENT); | |
| 201083 | 201079 | } |
| 201084 | 201080 | |
| 201085 | 201081 | static int fts5Init(sqlite3 *db){ |
| 201086 | 201082 | static const sqlite3_module fts5Mod = { |
| 201087 | 201083 | /* iVersion */ 2, |
| @@ -205345,12 +205341,12 @@ | ||
| 205345 | 205341 | } |
| 205346 | 205342 | #endif /* SQLITE_CORE */ |
| 205347 | 205343 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 205348 | 205344 | |
| 205349 | 205345 | /************** End of stmt.c ************************************************/ |
| 205350 | -#if __LINE__!=205350 | |
| 205346 | +#if __LINE__!=205346 | |
| 205351 | 205347 | #undef SQLITE_SOURCE_ID |
| 205352 | -#define SQLITE_SOURCE_ID "2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca65alt2" | |
| 205348 | +#define SQLITE_SOURCE_ID "2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de4alt2" | |
| 205353 | 205349 | #endif |
| 205354 | 205350 | /* Return the source-id for this library */ |
| 205355 | 205351 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 205356 | 205352 | /************************** End of sqlite3.c ******************************/ |
| 205357 | 205353 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1147,11 +1147,11 @@ | |
| 1147 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1148 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1149 | */ |
| 1150 | #define SQLITE_VERSION "3.21.0" |
| 1151 | #define SQLITE_VERSION_NUMBER 3021000 |
| 1152 | #define SQLITE_SOURCE_ID "2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4" |
| 1153 | |
| 1154 | /* |
| 1155 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1156 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1157 | ** |
| @@ -83591,18 +83591,13 @@ | |
| 83591 | if( pOp->p5 & OPFLAG_ISNOOP ) break; |
| 83592 | #endif |
| 83593 | |
| 83594 | if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++; |
| 83595 | if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = x.nKey; |
| 83596 | if( pData->flags & MEM_Null ){ |
| 83597 | x.pData = 0; |
| 83598 | x.nData = 0; |
| 83599 | }else{ |
| 83600 | assert( pData->flags & (MEM_Blob|MEM_Str) ); |
| 83601 | x.pData = pData->z; |
| 83602 | x.nData = pData->n; |
| 83603 | } |
| 83604 | seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0); |
| 83605 | if( pData->flags & MEM_Zero ){ |
| 83606 | x.nZero = pData->u.nZero; |
| 83607 | }else{ |
| 83608 | x.nZero = 0; |
| @@ -86469,15 +86464,16 @@ | |
| 86469 | */ |
| 86470 | v->aMem[1].flags = MEM_Int; |
| 86471 | v->aMem[1].u.i = iRow; |
| 86472 | |
| 86473 | /* If the statement has been run before (and is paused at the OP_ResultRow) |
| 86474 | ** then back it up to the point where it does the OP_SeekRowid. This could |
| 86475 | ** have been down with an extra OP_Goto, but simply setting the program |
| 86476 | ** counter is faster. */ |
| 86477 | if( v->pc>3 ){ |
| 86478 | v->pc = 3; |
| 86479 | rc = sqlite3VdbeExec(v); |
| 86480 | }else{ |
| 86481 | rc = sqlite3_step(p->pStmt); |
| 86482 | } |
| 86483 | if( rc==SQLITE_ROW ){ |
| @@ -94481,11 +94477,11 @@ | |
| 94481 | } |
| 94482 | |
| 94483 | /* Loop through each expression in <exprlist>. */ |
| 94484 | r1 = sqlite3GetTempReg(pParse); |
| 94485 | r2 = sqlite3GetTempReg(pParse); |
| 94486 | if( isRowid ) sqlite3VdbeAddOp2(v, OP_Null, 0, r2); |
| 94487 | for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){ |
| 94488 | Expr *pE2 = pItem->pExpr; |
| 94489 | int iValToIns; |
| 94490 | |
| 94491 | /* If the expression is not constant then we will need to |
| @@ -201077,11 +201073,11 @@ | |
| 201077 | int nArg, /* Number of args */ |
| 201078 | sqlite3_value **apUnused /* Function arguments */ |
| 201079 | ){ |
| 201080 | assert( nArg==0 ); |
| 201081 | UNUSED_PARAM2(nArg, apUnused); |
| 201082 | sqlite3_result_text(pCtx, "fts5: 2017-10-19 15:17:38 04925dee41a21ffca9a9f9df27d8165431668c42c2b33d08b077fdb28011170b", -1, SQLITE_TRANSIENT); |
| 201083 | } |
| 201084 | |
| 201085 | static int fts5Init(sqlite3 *db){ |
| 201086 | static const sqlite3_module fts5Mod = { |
| 201087 | /* iVersion */ 2, |
| @@ -205345,12 +205341,12 @@ | |
| 205345 | } |
| 205346 | #endif /* SQLITE_CORE */ |
| 205347 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 205348 | |
| 205349 | /************** End of stmt.c ************************************************/ |
| 205350 | #if __LINE__!=205350 |
| 205351 | #undef SQLITE_SOURCE_ID |
| 205352 | #define SQLITE_SOURCE_ID "2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca65alt2" |
| 205353 | #endif |
| 205354 | /* Return the source-id for this library */ |
| 205355 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 205356 | /************************** End of sqlite3.c ******************************/ |
| 205357 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1147,11 +1147,11 @@ | |
| 1147 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 1148 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 1149 | */ |
| 1150 | #define SQLITE_VERSION "3.21.0" |
| 1151 | #define SQLITE_VERSION_NUMBER 3021000 |
| 1152 | #define SQLITE_SOURCE_ID "2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827" |
| 1153 | |
| 1154 | /* |
| 1155 | ** CAPI3REF: Run-Time Library Version Numbers |
| 1156 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 1157 | ** |
| @@ -83591,18 +83591,13 @@ | |
| 83591 | if( pOp->p5 & OPFLAG_ISNOOP ) break; |
| 83592 | #endif |
| 83593 | |
| 83594 | if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++; |
| 83595 | if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = x.nKey; |
| 83596 | assert( pData->flags & (MEM_Blob|MEM_Str) ); |
| 83597 | x.pData = pData->z; |
| 83598 | x.nData = pData->n; |
| 83599 | seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0); |
| 83600 | if( pData->flags & MEM_Zero ){ |
| 83601 | x.nZero = pData->u.nZero; |
| 83602 | }else{ |
| 83603 | x.nZero = 0; |
| @@ -86469,15 +86464,16 @@ | |
| 86464 | */ |
| 86465 | v->aMem[1].flags = MEM_Int; |
| 86466 | v->aMem[1].u.i = iRow; |
| 86467 | |
| 86468 | /* If the statement has been run before (and is paused at the OP_ResultRow) |
| 86469 | ** then back it up to the point where it does the OP_NotExists. This could |
| 86470 | ** have been down with an extra OP_Goto, but simply setting the program |
| 86471 | ** counter is faster. */ |
| 86472 | if( v->pc>4 ){ |
| 86473 | v->pc = 4; |
| 86474 | assert( v->aOp[v->pc].opcode==OP_NotExists ); |
| 86475 | rc = sqlite3VdbeExec(v); |
| 86476 | }else{ |
| 86477 | rc = sqlite3_step(p->pStmt); |
| 86478 | } |
| 86479 | if( rc==SQLITE_ROW ){ |
| @@ -94481,11 +94477,11 @@ | |
| 94477 | } |
| 94478 | |
| 94479 | /* Loop through each expression in <exprlist>. */ |
| 94480 | r1 = sqlite3GetTempReg(pParse); |
| 94481 | r2 = sqlite3GetTempReg(pParse); |
| 94482 | if( isRowid ) sqlite3VdbeAddOp4(v, OP_Blob, 0, r2, 0, "", P4_STATIC); |
| 94483 | for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){ |
| 94484 | Expr *pE2 = pItem->pExpr; |
| 94485 | int iValToIns; |
| 94486 | |
| 94487 | /* If the expression is not constant then we will need to |
| @@ -201077,11 +201073,11 @@ | |
| 201073 | int nArg, /* Number of args */ |
| 201074 | sqlite3_value **apUnused /* Function arguments */ |
| 201075 | ){ |
| 201076 | assert( nArg==0 ); |
| 201077 | UNUSED_PARAM2(nArg, apUnused); |
| 201078 | sqlite3_result_text(pCtx, "fts5: 2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827", -1, SQLITE_TRANSIENT); |
| 201079 | } |
| 201080 | |
| 201081 | static int fts5Init(sqlite3 *db){ |
| 201082 | static const sqlite3_module fts5Mod = { |
| 201083 | /* iVersion */ 2, |
| @@ -205345,12 +205341,12 @@ | |
| 205341 | } |
| 205342 | #endif /* SQLITE_CORE */ |
| 205343 | #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ |
| 205344 | |
| 205345 | /************** End of stmt.c ************************************************/ |
| 205346 | #if __LINE__!=205346 |
| 205347 | #undef SQLITE_SOURCE_ID |
| 205348 | #define SQLITE_SOURCE_ID "2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de4alt2" |
| 205349 | #endif |
| 205350 | /* Return the source-id for this library */ |
| 205351 | SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } |
| 205352 | /************************** End of sqlite3.c ******************************/ |
| 205353 |
+1
-1
| --- 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.21.0" |
| 127 | 127 | #define SQLITE_VERSION_NUMBER 3021000 |
| 128 | -#define SQLITE_SOURCE_ID "2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4" | |
| 128 | +#define SQLITE_SOURCE_ID "2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827" | |
| 129 | 129 | |
| 130 | 130 | /* |
| 131 | 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | 133 | ** |
| 134 | 134 |
| --- 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.21.0" |
| 127 | #define SQLITE_VERSION_NUMBER 3021000 |
| 128 | #define SQLITE_SOURCE_ID "2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4" |
| 129 | |
| 130 | /* |
| 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | ** |
| 134 |
| --- 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.21.0" |
| 127 | #define SQLITE_VERSION_NUMBER 3021000 |
| 128 | #define SQLITE_SOURCE_ID "2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827" |
| 129 | |
| 130 | /* |
| 131 | ** CAPI3REF: Run-Time Library Version Numbers |
| 132 | ** KEYWORDS: sqlite3_version sqlite3_sourceid |
| 133 | ** |
| 134 |