@@ -380,11 +380,11 @@
380 380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
381 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [sqlite_version()] and [sqlite_source_id()].
382 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
383 383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_VERSION "3.15.0"
384 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_VERSION_NUMBER 3015000
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define SQLITE_SOURCE_ID "2016-09-07 19:54:24 ddb5f0558c44569913d22781ab78f3e9b58d7aea"
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SQLITE_SOURCE_ID "2016-09-10 19:51:40 711c59171b22df04224183a713e6c36e0bb3bba8"
386 386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
387 387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
388 388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** CAPI3REF: Run-Time Library Version Numbers
389 389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** KEYWORDS: sqlite3_version, sqlite3_sourceid
390 390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -12093,11 +12093,13 @@
12093 12093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeIsInTrans(Btree*);
12094 12094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeIsInReadTrans(Btree*);
12095 12095 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeIsInBackup(Btree*);
12096 12096 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void *sqlite3BtreeSchema(Btree *, int, void(*)(void *));
12097 12097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeSchemaLocked(Btree *pBtree);
12098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifndef SQLITE_OMIT_SHARED_CACHE
12098 12099 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeLockTable(Btree *pBtree, int iTab, u8 isWriteLock);
12100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
12099 12101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeSavepoint(Btree *, int, int);
12100 12102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
12101 12103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE const char *sqlite3BtreeGetFilename(Btree *);
12102 12104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE const char *sqlite3BtreeGetJournalname(Btree *);
12103 12105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeCopyFile(Btree *, Btree *);
@@ -12296,12 +12298,14 @@
12296 12298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeData(BtCursor*, u32 offset, u32 amt, void*);
12297 12299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
12298 12300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck(Btree*, int *aRoot, int nRoot, int, int*);
12299 12301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE struct Pager *sqlite3BtreePager(Btree*);
12300 12302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
12303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifndef SQLITE_OMIT_INCRBLOB
12301 12304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor*, u32 offset, u32 amt, void*);
12302 12305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void sqlite3BtreeIncrblobCursor(BtCursor *);
12306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
12303 12307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void sqlite3BtreeClearCursor(BtCursor *);
12304 12308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeSetVersion(Btree *pBt, int iVersion);
12305 12309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeCursorHasHint(BtCursor*, unsigned int mask);
12306 12310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3BtreeIsReadonly(Btree *pBt);
12307 12311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3HeaderSizeBtree(void);
@@ -68945,11 +68949,11 @@
68945 68949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
68946 68950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){
68947 68951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int f;
68948 68952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) );
68949 68953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( (pMem->flags&MEM_RowSet)==0 );
68950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ExpandBlob(pMem);
68954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (void)ExpandBlob(pMem);
68951 68955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
f = pMem->flags;
68952 68956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (f&(MEM_Str|MEM_Blob)) && (pMem->szMalloc==0 || pMem->z!=pMem->zMalloc) ){
68953 68957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3VdbeMemGrow(pMem, pMem->n + 2, 1) ){
68954 68958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return SQLITE_NOMEM_BKPT;
68955 68959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -69328,11 +69332,11 @@
69328 69332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
MemSetTypeFlag(pMem, MEM_Real);
69329 69333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeIntegerAffinity(pMem);
69330 69334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
69331 69335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
69332 69336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))!=0 );
69333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pMem->flags &= ~(MEM_Str|MEM_Blob);
69337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pMem->flags &= ~(MEM_Str|MEM_Blob|MEM_Zero);
69334 69338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return SQLITE_OK;
69335 69339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
69336 69340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
69337 69341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
69338 69342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Cast the datatype of the value in pMem according to the affinity
@@ -69771,13 +69775,10 @@
69771 69775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( (enc&3)==(enc&~SQLITE_UTF16_ALIGNED) );
69772 69776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( (pVal->flags & MEM_RowSet)==0 );
69773 69777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( (pVal->flags & (MEM_Null))==0 );
69774 69778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pVal->flags & (MEM_Blob|MEM_Str) ){
69775 69779 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pVal->flags |= MEM_Str;
69776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pVal->flags & MEM_Zero ){
69777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3VdbeMemExpandBlob(pVal);
69778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
69779 69780 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pVal->enc != (enc & ~SQLITE_UTF16_ALIGNED) ){
69780 69781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeChangeEncoding(pVal, enc & ~SQLITE_UTF16_ALIGNED);
69781 69782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
69782 69783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (enc & SQLITE_UTF16_ALIGNED)!=0 && 1==(1&SQLITE_PTR_TO_INT(pVal->z)) ){
69783 69784 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( (pVal->flags & (MEM_Ephem|MEM_Static))!=0 );
@@ -74190,20 +74191,52 @@
74190 74191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeMemRelease(&c1);
74191 74192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeMemRelease(&c2);
74192 74193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
74193 74194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
74194 74195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
74196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
74197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
74198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The input pBlob is guaranteed to be a Blob that is not marked
74199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** with MEM_Zero. Return true if it could be a zero-blob.
74200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
74201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int isZeroBlob(const Mem *pBlob){
74202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int i;
74203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<pBlob->n && pBlob->z[i]==0; i++){}
74204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return i==pBlob->n;
74205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
74195 74206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
74196 74207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
74197 74208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Compare two blobs. Return negative, zero, or positive if the first
74198 74209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is less than, equal to, or greater than the second, respectively.
74199 74210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If one blob is a prefix of the other, then the shorter is the lessor.
74200 74211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
74201 74212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static SQLITE_NOINLINE int sqlite3BlobCompare(const Mem *pB1, const Mem *pB2){
74202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int c = memcmp(pB1->z, pB2->z, pB1->n>pB2->n ? pB2->n : pB1->n);
74213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int c;
74214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int n1 = pB1->n;
74215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int n2 = pB2->n;
74216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
74217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* It is possible to have a Blob value that has some non-zero content
74218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** followed by zero content. But that only comes up for Blobs formed
74219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** by the OP_MakeRecord opcode, and such Blobs never get passed into
74220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** sqlite3MemCompare(). */
74221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( (pB1->flags & MEM_Zero)==0 || n1==0 );
74222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( (pB2->flags & MEM_Zero)==0 || n2==0 );
74223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
74224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (pB1->flags|pB2->flags) & MEM_Zero ){
74225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pB1->flags & pB2->flags & MEM_Zero ){
74226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return pB1->u.nZero - pB2->u.nZero;
74227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( pB1->flags & MEM_Zero ){
74228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !isZeroBlob(pB2) ) return -1;
74229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return pB1->u.nZero - n2;
74230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
74231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !isZeroBlob(pB1) ) return +1;
74232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return n1 - pB2->u.nZero;
74233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
74234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
74235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ c = memcmp(pB1->z, pB2->z, n1>n2 ? n2 : n1);
74203 74236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c ) return c;
74204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return pB1->n - pB2->n;
74237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return n1 - n2;
74205 74238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
74206 74239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
74207 74240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
74208 74241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Do a comparison between a 64-bit signed integer and a 64-bit floating-point
74209 74242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** number. Return negative, zero, or positive if the first (i64) is less than,
@@ -79289,23 +79322,33 @@
79289 79322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
affinity = pOp->p5 & SQLITE_AFF_MASK;
79290 79323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( affinity>=SQLITE_AFF_NUMERIC ){
79291 79324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (flags1 | flags3)&MEM_Str ){
79292 79325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (flags1 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){
79293 79326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
applyNumericAffinity(pIn1,0);
79327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ testcase( flags3!=pIn3->flags ); /* Possible if pIn1==pIn3 */
79294 79328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
flags3 = pIn3->flags;
79295 79329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
79296 79330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (flags3 & (MEM_Int|MEM_Real|MEM_Str))==MEM_Str ){
79297 79331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
applyNumericAffinity(pIn3,0);
79298 79332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
79333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
79334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Handle the common case of integer comparison here, as an
79335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** optimization, to avoid a call to sqlite3MemCompare() */
79336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (pIn1->flags & pIn3->flags & MEM_Int)!=0 ){
79337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pIn3->u.i > pIn1->u.i ){ res = +1; goto compare_op; }
79338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pIn3->u.i < pIn1->u.i ){ res = -1; goto compare_op; }
79339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ res = 0;
79340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ goto compare_op;
79299 79341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
79300 79342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( affinity==SQLITE_AFF_TEXT ){
79301 79343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (flags1 & MEM_Str)==0 && (flags1 & (MEM_Int|MEM_Real))!=0 ){
79302 79344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
testcase( pIn1->flags & MEM_Int );
79303 79345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
testcase( pIn1->flags & MEM_Real );
79304 79346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeMemStringify(pIn1, encoding, 1);
79305 79347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
testcase( (flags1&MEM_Dyn) != (pIn1->flags&MEM_Dyn) );
79306 79348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
flags1 = (pIn1->flags & ~MEM_TypeMask) | (flags1 & MEM_TypeMask);
79349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ testcase( flags3!=pIn3->flags ); /* Possible if pIn1==pIn3 */
79307 79350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
flags3 = pIn3->flags;
79308 79351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
79309 79352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (flags3 & MEM_Str)==0 && (flags3 & (MEM_Int|MEM_Real))!=0 ){
79310 79353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
testcase( pIn3->flags & MEM_Int );
79311 79354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
testcase( pIn3->flags & MEM_Real );
@@ -79313,20 +79356,13 @@
79313 79356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
testcase( (flags3&MEM_Dyn) != (pIn3->flags&MEM_Dyn) );
79314 79357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
flags3 = (pIn3->flags & ~MEM_TypeMask) | (flags3 & MEM_TypeMask);
79315 79358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
79316 79359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
79317 79360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
79318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( flags1 & MEM_Zero ){
79319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3VdbeMemExpandBlob(pIn1);
79320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags1 &= ~MEM_Zero;
79321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
79322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( flags3 & MEM_Zero ){
79323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3VdbeMemExpandBlob(pIn3);
79324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- flags3 &= ~MEM_Zero;
79325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
79326 79361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
79327 79362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
79363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ compare_op:
79328 79364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
switch( pOp->opcode ){
79329 79365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case OP_Eq: res2 = res==0; break;
79330 79366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case OP_Ne: res2 = res; break;
79331 79367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case OP_Lt: res2 = res<0; break;
79332 79368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case OP_Le: res2 = res<=0; break;
@@ -81128,11 +81164,11 @@
81128 81164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
81129 81165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
r.aMem = &aMem[pOp->p3];
81130 81166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_DEBUG
81131 81167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{ int i; for(i=0; i<r.nField; i++) assert( memIsValid(&r.aMem[i]) ); }
81132 81168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
81133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ExpandBlob(r.aMem);
81169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (void)ExpandBlob(r.aMem);
81134 81170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
r.eqSeen = 0;
81135 81171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3BtreeMovetoUnpacked(pC->uc.pCursor, &r, 0, 0, &res);
81136 81172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=SQLITE_OK ){
81137 81173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto abort_due_to_error;
81138 81174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -81271,11 +81307,11 @@
81271 81307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
r.pKeyInfo = pC->pKeyInfo;
81272 81308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
r.nField = (u16)pOp->p4.i;
81273 81309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
r.aMem = pIn3;
81274 81310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(ii=0; ii<r.nField; ii++){
81275 81311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( memIsValid(&r.aMem[ii]) );
81276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ExpandBlob(&r.aMem[ii]);
81312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (void)ExpandBlob(&r.aMem[ii]);
81277 81313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_DEBUG
81278 81314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( ii ) REGISTER_TRACE(pOp->p3+ii, &r.aMem[ii]);
81279 81315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
81280 81316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
81281 81317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxKey = &r;
@@ -81283,11 +81319,11 @@
81283 81319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxKey = sqlite3VdbeAllocUnpackedRecord(
81284 81320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pC->pKeyInfo, aTempRec, sizeof(aTempRec), &pFree
81285 81321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
81286 81322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pIdxKey==0 ) goto no_mem;
81287 81323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pIn3->flags & MEM_Blob );
81288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ExpandBlob(pIn3);
81324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (void)ExpandBlob(pIn3);
81289 81325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeRecordUnpack(pC->pKeyInfo, pIn3->n, pIn3->z, pIdxKey);
81290 81326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
81291 81327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxKey->default_rc = 0;
81292 81328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
takeJump = 0;
81293 81329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pOp->opcode==OP_NoConflict ){
@@ -91894,28 +91930,28 @@
91894 91930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
91895 91931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( i==nExpr || colUsed!=(MASKBIT(nExpr)-1) );
91896 91932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( colUsed==(MASKBIT(nExpr)-1) ){
91897 91933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* If we reach this point, that means the index pIdx is usable */
91898 91934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iAddr = sqlite3CodeOnce(pParse); VdbeCoverage(v);
91899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifndef SQLITE_OMIT_EXPLAIN
91935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifndef SQLITE_OMIT_EXPLAIN
91900 91936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp4(v, OP_Explain, 0, 0, 0,
91901 91937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3MPrintf(db, "USING INDEX %s FOR IN-OPERATOR",pIdx->zName),
91902 91938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
P4_DYNAMIC);
91903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
91939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
91904 91940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp3(v, OP_OpenRead, iTab, pIdx->tnum, iDb);
91905 91941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeSetP4KeyInfo(pParse, pIdx);
91906 91942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
VdbeComment((v, "%s", pIdx->zName));
91907 91943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( IN_INDEX_INDEX_DESC == IN_INDEX_INDEX_ASC+1 );
91908 91944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
eType = IN_INDEX_INDEX_ASC + pIdx->aSortOrder[0];
91909 91945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
91910 91946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( prRhsHasNull ){
91911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *prRhsHasNull = ++pParse->nMem;
91912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifdef SQLITE_ENABLE_COLUMN_USED_MASK
91947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifdef SQLITE_ENABLE_COLUMN_USED_MASK
91913 91948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
i64 mask = (1<<nExpr)-1;
91914 91949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp4Dup8(v, OP_ColumnsUsed,
91915 91950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
iTab, 0, 0, (u8*)&mask, P4_INT64);
91916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
91951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
91952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ *prRhsHasNull = ++pParse->nMem;
91917 91953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nExpr==1 ){
91918 91954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3SetHasNullFlag(v, iTab, *prRhsHasNull);
91919 91955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
91920 91956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
91921 91957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeJumpHere(v, iAddr);
@@ -195577,11 +195613,11 @@
195577 195613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nArg, /* Number of args */
195578 195614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_value **apUnused /* Function arguments */
195579 195615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
195580 195616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( nArg==0 );
195581 195617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
UNUSED_PARAM2(nArg, apUnused);
195582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_result_text(pCtx, "fts5: 2016-08-08 14:21:10 c3cd543f3380475509d7bab9bb6c7858a8402457", -1, SQLITE_TRANSIENT);
195618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_result_text(pCtx, "fts5: 2016-09-10 14:43:07 8a9d128119fde36c175735be56876d30e5c8586f", -1, SQLITE_TRANSIENT);
195583 195619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
195584 195620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
195585 195621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static int fts5Init(sqlite3 *db){
195586 195622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static const sqlite3_module fts5Mod = {
195587 195623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* iVersion */ 2,
195588 195624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!