@@ -16,11 +16,11 @@
16 16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** if you want a wrapper to interface SQLite with your choice of programming
17 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** language. The code for the "sqlite3" command-line shell is also in a
18 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** separate file. This file contains only code for the core SQLite library.
19 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
20 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The content in this amalgamation comes from Fossil check-in
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** bcc31846964102385d5a21eb5e85d7db153b.
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 3778b2a9ca1cc12a88ef6c32a1ee7c58a0a8.
22 22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
23 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_CORE 1
24 24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_AMALGAMATION 1
25 25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifndef SQLITE_PRIVATE
26 26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# define SQLITE_PRIVATE static
@@ -462,11 +462,11 @@
462 462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
463 463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [sqlite_version()] and [sqlite_source_id()].
464 464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
465 465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_VERSION "3.47.0"
466 466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_VERSION_NUMBER 3047000
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define SQLITE_SOURCE_ID "2024-07-24 13:53:51 bcc31846964102385d5a21eb5e85d7db153b155e76b4e2847c9453d3d0e1af04"
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SQLITE_SOURCE_ID "2024-08-10 15:46:57 3778b2a9ca1cc12a88ef6c32a1ee7c58a0a829ed9715a3d32a225d377d7527ef"
468 468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
469 469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
470 470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** CAPI3REF: Run-Time Library Version Numbers
471 471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** KEYWORDS: sqlite3_version sqlite3_sourceid
472 472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -6134,11 +6134,11 @@
6134 6134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** an [application-defined SQL function] argument V. The subtype
6135 6135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** information can be used to pass a limited amount of context from
6136 6136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** one SQL function to another. Use the [sqlite3_result_subtype()]
6137 6137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** routine to set the subtype for the return value of an SQL function.
6138 6138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
6139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Every [application-defined SQL function] that invoke this interface
6139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Every [application-defined SQL function] that invokes this interface
6140 6140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** should include the [SQLITE_SUBTYPE] property in the text
6141 6141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** encoding argument when the function is [sqlite3_create_function|registered].
6142 6142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If the [SQLITE_SUBTYPE] property is omitted, then sqlite3_value_subtype()
6143 6143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** might return zero instead of the upstream subtype in some corner cases.
6144 6144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -18902,13 +18902,19 @@
18902 18902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
18903 18903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** These macros should not be used prior to the call to
18904 18904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** assignAggregateRegisters() that computes the value of pAggInfo->iFirstReg.
18905 18905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The assert()s that are part of this macro verify that constraint.
18906 18906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
18907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifndef NDEBUG
18907 18908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AggInfoColumnReg(A,I) (assert((A)->iFirstReg),(A)->iFirstReg+(I))
18908 18909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define AggInfoFuncReg(A,I) \
18909 18910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(assert((A)->iFirstReg),(A)->iFirstReg+(A)->nColumn+(I))
18911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #else
18912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AggInfoColumnReg(A,I) ((A)->iFirstReg+(I))
18913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define AggInfoFuncReg(A,I) \
18914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ((A)->iFirstReg+(A)->nColumn+(I))
18915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
18910 18916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
18911 18917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
18912 18918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The datatype ynVar is a signed integer, either 16-bit or 32-bit.
18913 18919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater
18914 18920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** than 32767 we have to make it 32-bit. 16-bit is preferred because
@@ -103447,17 +103453,18 @@
103447 103453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* The following loop copies up to p->nBuffer bytes per iteration into
103448 103454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the p->aAlloc[] buffer. */
103449 103455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( nRem>0 ){
103450 103456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc; /* vdbePmaReadBlob() return code */
103451 103457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nCopy; /* Number of bytes to copy */
103452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u8 *aNext; /* Pointer to buffer to copy data from */
103458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ u8 *aNext = 0; /* Pointer to buffer to copy data from */
103453 103459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
103454 103460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nCopy = nRem;
103455 103461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nRem>p->nBuffer ) nCopy = p->nBuffer;
103456 103462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = vdbePmaReadBlob(p, nCopy, &aNext);
103457 103463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=SQLITE_OK ) return rc;
103458 103464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( aNext!=p->aAlloc );
103465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( aNext!=0 );
103459 103466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memcpy(&p->aAlloc[nByte - nRem], aNext, nCopy);
103460 103467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nRem -= nCopy;
103461 103468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
103462 103469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
103463 103470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*ppOut = p->aAlloc;
@@ -108968,19 +108975,22 @@
108968 108975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
108969 108976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
108970 108977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Resolve all names for all expression in an expression list. This is
108971 108978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** just like sqlite3ResolveExprNames() except that it works for an expression
108972 108979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** list rather than a single expression.
108980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
108981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The return value is SQLITE_OK (0) for success or SQLITE_ERROR (1) for a
108982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** failure.
108973 108983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
108974 108984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3ResolveExprListNames(
108975 108985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
NameContext *pNC, /* Namespace to resolve expressions in. */
108976 108986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ExprList *pList /* The expression list to be analyzed. */
108977 108987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
108978 108988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
108979 108989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int savedHasAgg = 0;
108980 108990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Walker w;
108981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pList==0 ) return WRC_Continue;
108991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pList==0 ) return SQLITE_OK;
108982 108992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
w.pParse = pNC->pParse;
108983 108993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
w.xExprCallback = resolveExprStep;
108984 108994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
w.xSelectCallback = resolveSelectStep;
108985 108995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
w.xSelectCallback2 = 0;
108986 108996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
w.u.pNC = pNC;
@@ -108990,11 +109000,11 @@
108990 109000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Expr *pExpr = pList->a[i].pExpr;
108991 109001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pExpr==0 ) continue;
108992 109002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if SQLITE_MAX_EXPR_DEPTH>0
108993 109003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
w.pParse->nHeight += pExpr->nHeight;
108994 109004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3ExprCheckHeight(w.pParse, w.pParse->nHeight) ){
108995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return WRC_Abort;
109005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return SQLITE_ERROR;
108996 109006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
108997 109007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
108998 109008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3WalkExprNN(&w, pExpr);
108999 109009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if SQLITE_MAX_EXPR_DEPTH>0
109000 109010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
w.pParse->nHeight -= pExpr->nHeight;
@@ -109007,14 +109017,14 @@
109007 109017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ExprSetProperty(pExpr, pNC->ncFlags & (NC_HasAgg|NC_HasWin) );
109008 109018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
savedHasAgg |= pNC->ncFlags &
109009 109019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(NC_HasAgg|NC_MinMaxAgg|NC_HasWin|NC_OrderAgg);
109010 109020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNC->ncFlags &= ~(NC_HasAgg|NC_MinMaxAgg|NC_HasWin|NC_OrderAgg);
109011 109021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
109012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( w.pParse->nErr>0 ) return WRC_Abort;
109022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( w.pParse->nErr>0 ) return SQLITE_ERROR;
109013 109023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
109014 109024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNC->ncFlags |= savedHasAgg;
109015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return WRC_Continue;
109025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return SQLITE_OK;
109016 109026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
109017 109027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
109018 109028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
109019 109029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Resolve all names in all expressions of a SELECT and in all
109020 109030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** descendants of the SELECT, including compounds off of p->pPrior,
@@ -117670,11 +117680,11 @@
117670 117680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
117671 117681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pParse->eTriggerOp = pNew->op;
117672 117682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* ALWAYS() because if the table of the trigger does not exist, the
117673 117683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** error would have been hit before this point */
117674 117684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( ALWAYS(pParse->pTriggerTab) ){
117675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = sqlite3ViewGetColumnNames(pParse, pParse->pTriggerTab);
117685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = sqlite3ViewGetColumnNames(pParse, pParse->pTriggerTab)!=0;
117676 117686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
117677 117687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
117678 117688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Resolve symbols in WHEN clause */
117679 117689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_OK && pNew->pWhen ){
117680 117690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3ResolveExprNames(&sNC, pNew->pWhen);
@@ -133821,10 +133831,11 @@
133821 133831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pRet ){
133822 133832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SelectDest dest;
133823 133833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pRet->pSrc->nSrc = 1;
133824 133834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pRet->pPrior = pLeft->pPrior;
133825 133835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pRet->op = pLeft->op;
133836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pRet->pPrior ) pRet->selFlags |= SF_Values;
133826 133837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pLeft->pPrior = 0;
133827 133838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pLeft->op = TK_SELECT;
133828 133839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pLeft->pNext==0 );
133829 133840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pRet->pNext==0 );
133830 133841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p = &pRet->pSrc->a[0];
@@ -163938,10 +163949,23 @@
163938 163949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxOrderBy = (struct sqlite3_index_orderby*)&pIdxCons[nTerm];
163939 163950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pUsage = (struct sqlite3_index_constraint_usage*)&pIdxOrderBy[nOrderBy];
163940 163951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->aConstraint = pIdxCons;
163941 163952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->aOrderBy = pIdxOrderBy;
163942 163953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->aConstraintUsage = pUsage;
163954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pIdxInfo->colUsed = (sqlite3_int64)pSrc->colUsed;
163955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( HasRowid(pTab)==0 ){
163956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Ensure that all bits associated with PK columns are set. This is to
163957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** ensure they are available for cases like RIGHT joins or OR loops. */
163958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Index *pPk = sqlite3PrimaryKeyIndex((Table*)pTab);
163959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( pPk!=0 );
163960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<pPk->nKeyCol; i++){
163961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int iCol = pPk->aiColumn[i];
163962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( iCol>=0 );
163963 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( iCol>=BMS-1 ) iCol = BMS-1;
163964 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pIdxInfo->colUsed |= MASKBIT(iCol);
163965 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
163966 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
163943 163967 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pHidden->pWC = pWC;
163944 163968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pHidden->pParse = pParse;
163945 163969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pHidden->eDistinct = eDistinct;
163946 163970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pHidden->mIn = 0;
163947 163971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(p=pWC, i=j=0; p; p=p->pOuter){
@@ -166471,11 +166495,13 @@
166471 166495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
WHERETRACE(0x200,
166472 166496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
("-> %s might be a covering expression index"
166473 166497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" according to whereIsCoveringIndex()\n", pProbe->zName));
166474 166498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
166475 166499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
166476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( m==0 ){
166500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( m==0
166501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && (HasRowid(pTab) || pWInfo->pSelect!=0 || sqlite3FaultSim(700))
166502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ){
166477 166503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
WHERETRACE(0x200,
166478 166504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
("-> %s a covering index according to bitmasks\n",
166479 166505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pProbe->zName, m==0 ? "is" : "is not"));
166480 166506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->wsFlags = WHERE_IDX_ONLY | WHERE_INDEXED;
166481 166507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -166653,11 +166679,10 @@
166653 166679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->idxNum = 0;
166654 166680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->orderByConsumed = 0;
166655 166681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->estimatedCost = SQLITE_BIG_DBL / (double)2;
166656 166682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->estimatedRows = 25;
166657 166683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->idxFlags = 0;
166658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pIdxInfo->colUsed = (sqlite3_int64)pSrc->colUsed;
166659 166684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pHidden->mHandleIn = 0;
166660 166685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
166661 166686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Invoke the virtual table xBestIndex() method */
166662 166687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = vtabBestIndex(pParse, pSrc->pTab, pIdxInfo);
166663 166688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ){
@@ -169503,30 +169528,10 @@
169503 169528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (db->flags & SQLITE_VdbeAddopTrace)==0 ) return;
169504 169529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbePrintOp(0, pc, pOp);
169505 169530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
169506 169531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
169507 169532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
169508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifdef SQLITE_DEBUG
169509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
169510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Return true if cursor iCur is opened by instruction k of the
169511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** bytecode. Used inside of assert() only.
169512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */
169513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int cursorIsOpen(Vdbe *v, int iCur, int k){
169514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( k>=0 ){
169515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- VdbeOp *pOp = sqlite3VdbeGetOp(v,k--);
169516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pOp->p1!=iCur ) continue;
169517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pOp->opcode==OP_Close ) return 0;
169518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pOp->opcode==OP_OpenRead ) return 1;
169519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pOp->opcode==OP_OpenWrite ) return 1;
169520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pOp->opcode==OP_OpenDup ) return 1;
169521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pOp->opcode==OP_OpenAutoindex ) return 1;
169522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pOp->opcode==OP_OpenEphemeral ) return 1;
169523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
169524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return 0;
169525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
169526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif /* SQLITE_DEBUG */
169527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
169528 169533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
169529 169534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Generate the end of the WHERE loop. See comments on
169530 169535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** sqlite3WhereBegin() for additional information.
169531 169536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
169532 169537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
@@ -169822,20 +169827,14 @@
169822 169827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
169823 169828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Unable to translate the table reference into an index
169824 169829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** reference. Verify that this is harmless - that the
169825 169830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** table being referenced really is open.
169826 169831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
169827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC
169828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- assert( (pLoop->wsFlags & WHERE_IDX_ONLY)==0
169829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || cursorIsOpen(v,pOp->p1,k)
169830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || pOp->opcode==OP_Offset
169831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
169832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
169833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- assert( (pLoop->wsFlags & WHERE_IDX_ONLY)==0
169834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- || cursorIsOpen(v,pOp->p1,k)
169835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
169836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
169832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pLoop->wsFlags & WHERE_IDX_ONLY ){
169833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3ErrorMsg(pParse, "internal query planner error");
169834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pParse->rc = SQLITE_INTERNAL;
169835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
169837 169836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
169838 169837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( pOp->opcode==OP_Rowid ){
169839 169838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pOp->p1 = pLevel->iIdxCur;
169840 169839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pOp->opcode = OP_IdxRowid;
169841 169840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
OpcodeRewriteTrace(db, k, pOp);
@@ -173102,13 +173101,13 @@
173102 173101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pLoop->pOrderBy!=0 ? "ORDER BY" : "LIMIT",
173103 173102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3SelectOpName(pNext->op));
173104 173103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
173105 173104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
173106 173105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
173107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( (p->selFlags & SF_MultiValue)==0 &&
173108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- (mxSelect = pParse->db->aLimit[SQLITE_LIMIT_COMPOUND_SELECT])>0 &&
173109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cnt>mxSelect
173106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (p->selFlags & (SF_MultiValue|SF_Values))==0
173107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && (mxSelect = pParse->db->aLimit[SQLITE_LIMIT_COMPOUND_SELECT])>0
173108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && cnt>mxSelect
173110 173109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
173111 173110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3ErrorMsg(pParse, "too many terms in compound SELECT");
173112 173111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
173113 173112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
173114 173113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -196009,15 +196008,11 @@
196009 196008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
196010 196009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
196011 196010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
196012 196011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_TEST
196013 196012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
196014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #if defined(INCLUDE_SQLITE_TCL_H)
196015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # include "sqlite_tcl.h"
196016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #else
196017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # include "tcl.h"
196018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #endif
196013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #include "tclsqlite.h"
196019 196014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* #include <string.h> */
196020 196015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
196021 196016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
196022 196017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Implementation of a special SQL scalar function for testing tokenizers
196023 196018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** designed to be used in concert with the Tcl testing framework. This
@@ -203240,10 +203235,11 @@
203240 203235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
203241 203236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iEnd==0x7FFFFFFF ){
203242 203237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 1;
203243 203238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
203244 203239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
203240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( pIter->nSnippet>=0 );
203245 203241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIter->iCurrent = iStart = iEnd - pIter->nSnippet + 1;
203246 203242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(i=0; i<pIter->nPhrase; i++){
203247 203243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SnippetPhrase *pPhrase = &pIter->aPhrase[i];
203248 203244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fts3SnippetAdvance(&pPhrase->pHead, &pPhrase->iHead, iEnd+1);
203249 203245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fts3SnippetAdvance(&pPhrase->pTail, &pPhrase->iTail, iStart);
@@ -239485,10 +239481,13 @@
239485 239481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
239486 239482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
239487 239483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239488 239484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239489 239485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
239486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
239487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Add pSub as a child of p.
239488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
239490 239489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void fts5ExprAddChildren(Fts5ExprNode *p, Fts5ExprNode *pSub){
239491 239490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int ii = p->nChild;
239492 239491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p->eType!=FTS5_NOT && pSub->eType==p->eType ){
239493 239492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nByte = sizeof(Fts5ExprNode*) * pSub->nChild;
239494 239493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memcpy(&p->apChild[p->nChild], pSub->apChild, nByte);
@@ -239629,23 +239628,27 @@
239629 239628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
239630 239629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3Fts5ParseError(pParse,
239631 239630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"fts5: %s queries are not supported (detail!=full)",
239632 239631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNear->nPhrase==1 ? "phrase": "NEAR"
239633 239632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
239634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_free(pRet);
239633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3Fts5ParseNodeFree(pRet);
239635 239634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pRet = 0;
239635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pNear = 0;
239636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( pLeft==0 && pRight==0 );
239636 239637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239637 239638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239638 239639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
239640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( pNear==0 );
239639 239641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fts5ExprAddChildren(pRet, pLeft);
239640 239642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fts5ExprAddChildren(pRet, pRight);
239643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pLeft = pRight = 0;
239641 239644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pRet->iHeight>SQLITE_FTS5_MAX_EXPR_DEPTH ){
239642 239645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3Fts5ParseError(pParse,
239643 239646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"fts5 expression tree is too large (maximum depth %d)",
239644 239647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_FTS5_MAX_EXPR_DEPTH
239645 239648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
239646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_free(pRet);
239649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3Fts5ParseNodeFree(pRet);
239647 239650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pRet = 0;
239648 239651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239649 239652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239650 239653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239651 239654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -239679,10 +239682,11 @@
239679 239682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| pLeft->eType==FTS5_AND
239680 239683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
239681 239684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pRight->eType==FTS5_STRING
239682 239685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| pRight->eType==FTS5_TERM
239683 239686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| pRight->eType==FTS5_EOF
239687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ || (pRight->eType==FTS5_AND && pParse->bPhraseToAnd)
239684 239688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
239685 239689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
239686 239690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pLeft->eType==FTS5_AND ){
239687 239691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pPrev = pLeft->apChild[pLeft->nChild-1];
239688 239692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
@@ -253113,11 +253117,11 @@
253113 253117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nArg, /* Number of args */
253114 253118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_value **apUnused /* Function arguments */
253115 253119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
253116 253120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( nArg==0 );
253117 253121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
UNUSED_PARAM2(nArg, apUnused);
253118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_result_text(pCtx, "fts5: 2024-07-24 13:53:51 bcc31846964102385d5a21eb5e85d7db153b155e76b4e2847c9453d3d0e1af04", -1, SQLITE_TRANSIENT);
253122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_result_text(pCtx, "fts5: 2024-08-10 15:46:57 3778b2a9ca1cc12a88ef6c32a1ee7c58a0a829ed9715a3d32a225d377d7527ef", -1, SQLITE_TRANSIENT);
253119 253123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
253120 253124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
253121 253125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
253122 253126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return true if zName is the extension on one of the shadow tables used
253123 253127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** by this module.
@@ -254598,11 +254602,11 @@
254598 254602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_NOMEM;
254599 254603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
254600 254604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
254601 254605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memset(p, 0, sizeof(AsciiTokenizer));
254602 254606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memcpy(p->aTokenChar, aAsciiTokenChar, sizeof(aAsciiTokenChar));
254603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; rc==SQLITE_OK && i<nArg; i+=2){
254607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; rc==SQLITE_OK && i<nArg-1; i+=2){
254604 254608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zArg = azArg[i+1];
254605 254609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0==sqlite3_stricmp(azArg[i], "tokenchars") ){
254606 254610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fts5AsciiAddExceptions(p, zArg, 1);
254607 254611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
254608 254612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0==sqlite3_stricmp(azArg[i], "separators") ){
@@ -254609,10 +254613,11 @@
254609 254613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fts5AsciiAddExceptions(p, zArg, 0);
254610 254614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
254611 254615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_ERROR;
254612 254616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254613 254617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rc==SQLITE_OK && i<nArg ) rc = SQLITE_ERROR;
254614 254619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=SQLITE_OK ){
254615 254620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fts5AsciiDelete((Fts5Tokenizer*)p);
254616 254621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p = 0;
254617 254622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254618 254623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -254900,21 +254905,20 @@
254900 254905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p->aFold==0 ){
254901 254906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_NOMEM;
254902 254907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254903 254908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
254904 254909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Search for a "categories" argument */
254905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; rc==SQLITE_OK && i<nArg; i+=2){
254910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; rc==SQLITE_OK && i<nArg-1; i+=2){
254906 254911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0==sqlite3_stricmp(azArg[i], "categories") ){
254907 254912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCat = azArg[i+1];
254908 254913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254909 254914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
254911 254915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_OK ){
254912 254916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = unicodeSetCategories(p, zCat);
254913 254917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254914 254918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
254915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; rc==SQLITE_OK && i<nArg; i+=2){
254919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; rc==SQLITE_OK && i<nArg-1; i+=2){
254916 254920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zArg = azArg[i+1];
254917 254921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0==sqlite3_stricmp(azArg[i], "remove_diacritics") ){
254918 254922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (zArg[0]!='0' && zArg[0]!='1' && zArg[0]!='2') || zArg[1] ){
254919 254923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_ERROR;
254920 254924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
@@ -254935,10 +254939,11 @@
254935 254939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* no-op */
254936 254940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
254937 254941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_ERROR;
254938 254942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254939 254943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( i<nArg && rc==SQLITE_OK ) rc = SQLITE_ERROR;
254940 254945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
254941 254946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
254942 254947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_NOMEM;
254943 254948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
254944 254949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=SQLITE_OK ){
@@ -255817,11 +255822,11 @@
255817 255822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_NOMEM;
255818 255823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
255819 255824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
255820 255825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->bFold = 1;
255821 255826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->iFoldParam = 0;
255822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; rc==SQLITE_OK && i<nArg; i+=2){
255827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; rc==SQLITE_OK && i<nArg-1; i+=2){
255823 255828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zArg = azArg[i+1];
255824 255829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( 0==sqlite3_stricmp(azArg[i], "case_sensitive") ){
255825 255830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (zArg[0]!='0' && zArg[0]!='1') || zArg[1] ){
255826 255831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_ERROR;
255827 255832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
@@ -255835,10 +255840,11 @@
255835 255840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
255836 255841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
255837 255842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_ERROR;
255838 255843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
255839 255844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
255845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( i<nArg && rc==SQLITE_OK ) rc = SQLITE_ERROR;
255840 255846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
255841 255847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pNew->iFoldParam!=0 && pNew->bFold==0 ){
255842 255848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_ERROR;
255843 255849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
255844 255850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
255845 255851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!