@@ -452,11 +452,11 @@
452 452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
453 453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [sqlite_version()] and [sqlite_source_id()].
454 454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
455 455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_VERSION "3.39.0"
456 456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_VERSION_NUMBER 3039000
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define SQLITE_SOURCE_ID "2022-03-07 18:32:08 ae464a18d74bf44fc95bc335e75e6a57dc974f6d6a3d603133594039fb589af2"
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SQLITE_SOURCE_ID "2022-03-11 15:42:05 0606e8e93edb5de4d154f377dbf91f15295d25ca9013c0f1612ae6d63a0139ea"
458 458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
459 459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
460 460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** CAPI3REF: Run-Time Library Version Numbers
461 461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** KEYWORDS: sqlite3_version sqlite3_sourceid
462 462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -5282,10 +5282,14 @@
5282 5282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** bytes in the string, not the number of characters.
5283 5283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
5284 5284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ^Strings returned by sqlite3_column_text() and sqlite3_column_text16(),
5285 5285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** even empty strings, are always zero-terminated. ^The return
5286 5286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** value from sqlite3_column_blob() for a zero-length BLOB is a NULL pointer.
5287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
5288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** ^Strings returned by sqlite3_column_text16() always have the endianness
5289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** which is native to the platform, regardless of the text encoding set
5290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** for the database.
5287 5291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
5288 5292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** <b>Warning:</b> ^The object returned by [sqlite3_column_value()] is an
5289 5293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [unprotected sqlite3_value] object. In a multithreaded environment,
5290 5294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** an unprotected sqlite3_value object may only be used safely with
5291 5295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [sqlite3_bind_value()] and [sqlite3_result_value()].
@@ -5296,11 +5300,11 @@
5296 5300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Hence, the sqlite3_column_value() interface
5297 5301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is normally only useful within the implementation of
5298 5302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** [application-defined SQL functions] or [virtual tables], not within
5299 5303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** top-level application code.
5300 5304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
5301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** The these routines may attempt to convert the datatype of the result.
5305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** These routines may attempt to convert the datatype of the result.
5302 5306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ^For example, if the internal representation is FLOAT and a text result
5303 5307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is requested, [sqlite3_snprintf()] is used internally to perform the
5304 5308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** conversion automatically. ^(The following table details the conversions
5305 5309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** that are applied:
5306 5310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -5321,11 +5325,11 @@
5321 5325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** <tr><td> TEXT <td> INTEGER <td> [CAST] to INTEGER
5322 5326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** <tr><td> TEXT <td> FLOAT <td> [CAST] to REAL
5323 5327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** <tr><td> TEXT <td> BLOB <td> No change
5324 5328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** <tr><td> BLOB <td> INTEGER <td> [CAST] to INTEGER
5325 5329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** <tr><td> BLOB <td> FLOAT <td> [CAST] to REAL
5326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** <tr><td> BLOB <td> TEXT <td> Add a zero terminator if needed
5330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** <tr><td> BLOB <td> TEXT <td> [CAST] to TEXT, ensure zero terminator
5327 5331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** </table>
5328 5332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** </blockquote>)^
5329 5333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
5330 5334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Note that when type conversions occur, pointers returned by prior
5331 5335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** calls to sqlite3_column_blob(), sqlite3_column_text(), and/or
@@ -14515,11 +14519,11 @@
14515 14519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** one parameter that destructors normally want. So we have to introduce
14516 14520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** this magic value that the code knows to handle differently. Any
14517 14521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** pointer will work here as long as it is distinct from SQLITE_STATIC
14518 14522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** and SQLITE_TRANSIENT.
14519 14523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
14520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define SQLITE_DYNAMIC ((sqlite3_destructor_type)sqlite3OomFault)
14524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define SQLITE_DYNAMIC ((sqlite3_destructor_type)sqlite3OomClear)
14521 14525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
14522 14526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
14523 14527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** When SQLITE_OMIT_WSD is defined, it means that the target platform does
14524 14528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** not support Writable Static Data (WSD) such as global and static variables.
14525 14529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** All variables must either be on the stack or dynamically allocated from
@@ -19406,11 +19410,11 @@
19406 19410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Expr *pStart; /* Expression for "<expr> PRECEDING" */
19407 19411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Expr *pEnd; /* Expression for "<expr> FOLLOWING" */
19408 19412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Window **ppThis; /* Pointer to this object in Select.pWin list */
19409 19413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Window *pNextWin; /* Next window function belonging to this SELECT */
19410 19414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Expr *pFilter; /* The FILTER expression */
19411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FuncDef *pFunc; /* The function */
19415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FuncDef *pWFunc; /* The function */
19412 19416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int iEphCsr; /* Partition buffer or Peer buffer */
19413 19417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int regAccum; /* Accumulator */
19414 19418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int regResult; /* Interim result */
19415 19419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int csrApp; /* Function cursor (used by min/max) */
19416 19420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int regApp; /* Function register (also used by min/max) */
@@ -20366,11 +20370,16 @@
20366 20370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void sqlite3VtabArgExtend(Parse*, Token*);
20367 20371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3*, int, const char *, char **);
20368 20372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3VtabCallConnect(Parse*, Table*);
20369 20373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3*, int, const char *);
20370 20374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3VtabBegin(sqlite3 *, VTable *);
20375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
20371 20376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction(sqlite3 *,FuncDef*, int nArg, Expr*);
20377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #if (defined(SQLITE_ENABLE_DBPAGE_VTAB) || defined(SQLITE_TEST)) \
20378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && !defined(SQLITE_OMIT_VIRTUALTABLE)
20379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ SQLITE_PRIVATE void sqlite3VtabWriteAll(sqlite3_index_info*);
20380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
20372 20381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE sqlite3_int64 sqlite3StmtCurrentTime(sqlite3_context*);
20373 20382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3VdbeParameterIndex(Vdbe*, const char*, int);
20374 20383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3TransferBindings(sqlite3_stmt *, sqlite3_stmt *);
20375 20384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void sqlite3ParseObjectInit(Parse*,sqlite3*);
20376 20385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void sqlite3ParseObjectReset(Parse*);
@@ -21886,10 +21895,13 @@
21886 21895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
0, /* bLocaltimeFault */
21887 21896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
0, /* xAltLocaltime */
21888 21897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
0x7ffffffe, /* iOnceResetThreshold */
21889 21898 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_DEFAULT_SORTERREF_SIZE, /* szSorterRef */
21890 21899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
0, /* iPrngSeed */
21900 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifdef SQLITE_DEBUG
21901 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {0,0,0,0,0,0} /* aTune */
21902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
21891 21903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
21892 21904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
21893 21905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
21894 21906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Hash table for global functions - functions common to all
21895 21907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** database connections. After initialization, this table is
@@ -30870,11 +30882,11 @@
30870 30882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memset(p, 0, sizeof(*p));
30871 30883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
30872 30884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->iLevel++;
30873 30885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
30874 30886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( moreToFollow==0 || moreToFollow==1 );
30875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( p->iLevel<sizeof(p->bLine) ) p->bLine[p->iLevel] = moreToFollow;
30887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( p->iLevel<(int)sizeof(p->bLine) ) p->bLine[p->iLevel] = moreToFollow;
30876 30888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return p;
30877 30889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
30878 30890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
30879 30891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
30880 30892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Finished with one layer of the tree
@@ -30894,11 +30906,11 @@
30894 30906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
30895 30907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
StrAccum acc;
30896 30908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char zBuf[500];
30897 30909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0);
30898 30910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p ){
30899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; i<p->iLevel && i<sizeof(p->bLine)-1; i++){
30911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<p->iLevel && i<(int)sizeof(p->bLine)-1; i++){
30900 30912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_str_append(&acc, p->bLine[i] ? "| " : " ", 4);
30901 30913 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
30902 30914 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_str_append(&acc, p->bLine[i] ? "|-- " : "'-- ", 4);
30903 30915 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
30904 30916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zFormat!=0 ){
@@ -31224,11 +31236,11 @@
31224 31236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Generate a human-readable explanation for a Window Function object
31225 31237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
31226 31238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE void sqlite3TreeViewWinFunc(TreeView *pView, const Window *pWin, u8 more){
31227 31239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pView = sqlite3TreeViewPush(pView, more);
31228 31240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3TreeViewLine(pView, "WINFUNC %s(%d)",
31229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pWin->pFunc->zName, pWin->pFunc->nArg);
31241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pWin->pWFunc->zName, pWin->pWFunc->nArg);
31230 31242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3TreeViewWindow(pView, pWin, 0);
31231 31243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3TreeViewPop(pView);
31232 31244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
31233 31245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif /* SQLITE_OMIT_WINDOWFUNC */
31234 31246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -40820,24 +40832,27 @@
40820 40832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** "<path to db>-journalNN"
40821 40833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** "<path to db>-walNN"
40822 40834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
40823 40835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** where NN is a decimal number. The NN naming schemes are
40824 40836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** used by the test_multiplex.c module.
40837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
40838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** In normal operation, the journal file name will always contain
40839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** a '-' character. However in 8+3 filename mode, or if a corrupt
40840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** rollback journal specifies a super-journal with a goofy name, then
40841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the '-' might be missing or the '-' might be the first character in
40842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the filename. In that case, just return SQLITE_OK with *pMode==0.
40825 40843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
40826 40844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nDb = sqlite3Strlen30(zPath) - 1;
40827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( zPath[nDb]!='-' ){
40828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* In normal operation, the journal file name will always contain
40829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** a '-' character. However in 8+3 filename mode, or if a corrupt
40830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** rollback journal specifies a super-journal with a goofy name, then
40831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** the '-' might be missing. */
40832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( nDb==0 || zPath[nDb]=='.' ) return SQLITE_OK;
40845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( nDb>0 && zPath[nDb]!='.' ){
40846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zPath[nDb]=='-' ){
40847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ memcpy(zDb, zPath, nDb);
40848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zDb[nDb] = '\0';
40849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = getFileMode(zDb, pMode, pUid, pGid);
40850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
40851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
40833 40852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nDb--;
40834 40853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
40835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- memcpy(zDb, zPath, nDb);
40836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zDb[nDb] = '\0';
40837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
40838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = getFileMode(zDb, pMode, pUid, pGid);
40839 40854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( flags & SQLITE_OPEN_DELETEONCLOSE ){
40840 40855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*pMode = 0600;
40841 40856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( flags & SQLITE_OPEN_URI ){
40842 40857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* If this is a main database file and the file was opened using a URI
40843 40858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** filename, check for the "modeof" parameter. If present, interpret
@@ -65443,11 +65458,11 @@
65443 65458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u8 *apOvfl[4]; /* Pointers to the body of overflow cells */
65444 65459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
BtShared *pBt; /* Pointer to BtShared that this page is part of */
65445 65460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u8 *aData; /* Pointer to disk image of the page data */
65446 65461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u8 *aDataEnd; /* One byte past the end of the entire page - not just
65447 65462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the usable space, the entire page. Used to prevent
65448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** corruption-induced of buffer overflow. */
65463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** corruption-induced buffer overflow. */
65449 65464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u8 *aCellIdx; /* The cell index area */
65450 65465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u8 *aDataOfst; /* Same as aData for leaves. aData+4 for interior */
65451 65466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
DbPage *pDbPage; /* Pager page handle */
65452 65467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u16 (*xCellSize)(MemPage*,u8*); /* cellSizePtr method */
65453 65468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void (*xParseCell)(MemPage*,u8*,CellInfo*); /* btreeParseCell method */
@@ -66389,11 +66404,11 @@
66389 66404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( isIndex ){
66390 66405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HashElem *p;
66391 66406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int bSeen = 0;
66392 66407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(p=sqliteHashFirst(&pSchema->idxHash); p; p=sqliteHashNext(p)){
66393 66408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Index *pIdx = (Index *)sqliteHashData(p);
66394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pIdx->tnum==(int)iRoot ){
66409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pIdx->tnum==iRoot ){
66395 66410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bSeen ){
66396 66411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Two or more indexes share the same root page. There must
66397 66412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** be imposter tables. So just return true. The assert is not
66398 66413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** useful in that case. */
66399 66414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 1;
@@ -72005,20 +72020,23 @@
72005 72020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& cursorOnLastPage(pCur)
72006 72021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
72007 72022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int c;
72008 72023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pCur->ix==pCur->pPage->nCell-1
72009 72024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& (c = indexCellCompare(pCur, pCur->ix, pIdxKey, xRecordCompare))<=0
72025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && pIdxKey->errCode==SQLITE_OK
72010 72026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
72011 72027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*pRes = c;
72012 72028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return SQLITE_OK; /* Cursor already pointing at the correct spot */
72013 72029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
72014 72030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pCur->iPage>0
72015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && (c = indexCellCompare(pCur, 0, pIdxKey, xRecordCompare))<=0
72031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && indexCellCompare(pCur, 0, pIdxKey, xRecordCompare)<=0
72032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && pIdxKey->errCode==SQLITE_OK
72016 72033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
72017 72034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pCur->curFlags &= ~BTCF_ValidOvfl;
72018 72035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto bypass_moveto_root; /* Start search on the current page */
72019 72036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
72037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pIdxKey->errCode = SQLITE_OK;
72020 72038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
72021 72039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
72022 72040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = moveToRoot(pCur);
72023 72041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ){
72024 72042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_EMPTY ){
@@ -80155,11 +80173,11 @@
80155 80173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nNew > p->db->aLimit[SQLITE_LIMIT_VDBE_OP] ){
80156 80174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3OomFault(p->db);
80157 80175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return SQLITE_NOMEM;
80158 80176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
80159 80177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
80160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- assert( nOp<=(1024/sizeof(Op)) );
80178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( nOp<=(int)(1024/sizeof(Op)) );
80161 80179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( nNew>=(v->nOpAlloc+nOp) );
80162 80180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew = sqlite3DbRealloc(p->db, v->aOp, nNew*sizeof(Op));
80163 80181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pNew ){
80164 80182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->szOpAlloc = sqlite3DbMallocSize(p->db, pNew);
80165 80183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
v->nOpAlloc = p->szOpAlloc/sizeof(Op);
@@ -110148,23 +110166,25 @@
110148 110166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zSql, /* SQL to parse */
110149 110167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int bTemp /* True if SQL is from temp schema */
110150 110168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
110151 110169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
110152 110170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
110153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db->init.iDb = bTemp ? 1 : sqlite3FindDbName(db, zDb);
110154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
110155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* Parse the SQL statement passed as the first argument. If no error
110156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** occurs and the parse does not result in a new table, index or
110157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** trigger object, the database must be corrupt. */
110158 110171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3ParseObjectInit(p, db);
110172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zSql==0 ){
110173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return SQLITE_NOMEM;
110174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
110175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( sqlite3StrNICmp(zSql,"CREATE ",7)!=0 ){
110176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return SQLITE_CORRUPT_BKPT;
110177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
110178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db->init.iDb = bTemp ? 1 : sqlite3FindDbName(db, zDb);
110159 110179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->eParseMode = PARSE_MODE_RENAME;
110160 110180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->db = db;
110161 110181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->nQueryLoop = 1;
110162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = zSql ? sqlite3RunParser(p, zSql) : SQLITE_NOMEM;
110182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = sqlite3RunParser(p, zSql);
110163 110183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( db->mallocFailed ) rc = SQLITE_NOMEM;
110164 110184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_OK
110165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && p->pNewTable==0 && p->pNewIndex==0 && p->pNewTrigger==0
110185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && NEVER(p->pNewTable==0 && p->pNewIndex==0 && p->pNewTrigger==0)
110166 110186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
110167 110187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_CORRUPT_BKPT;
110168 110188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
110169 110189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
110170 110190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_DEBUG
@@ -116909,10 +116929,15 @@
116909 116929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int regRec; /* A record to be insert into the new table */
116910 116930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int regRowid; /* Rowid of the next row to insert */
116911 116931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int addrInsLoop; /* Top of the loop for inserting rows */
116912 116932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Table *pSelTab; /* A table that describes the SELECT results */
116913 116933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
116934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( IN_SPECIAL_PARSE ){
116935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pParse->rc = SQLITE_ERROR;
116936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pParse->nErr++;
116937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return;
116938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
116914 116939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
regYield = ++pParse->nMem;
116915 116940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
regRec = ++pParse->nMem;
116916 116941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
regRowid = ++pParse->nMem;
116917 116942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert(pParse->nTab==1);
116918 116943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3MayAbort(pParse);
@@ -127394,11 +127419,11 @@
127394 127419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
127395 127420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
127396 127421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( isUpdate ){
127397 127422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* If currently processing the PRIMARY KEY of a WITHOUT ROWID
127398 127423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** table, only conflict if the new PRIMARY KEY values are actually
127399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** different from the old.
127424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** different from the old. See TH3 withoutrowid04.test.
127400 127425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
127401 127426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** For a UNIQUE index, only conflict if the PRIMARY KEY values
127402 127427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** of the matched index row are different from the original PRIMARY
127403 127428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** KEY values of this row before the update. */
127404 127429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int addrJump = sqlite3VdbeCurrentAddr(v)+pPk->nKeyCol;
@@ -155956,11 +155981,10 @@
155956 155981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
155957 155982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
155958 155983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
155959 155984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
155960 155985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
155961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
155962 155986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
155963 155987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return true if ORDER BY clause may be handled as DISTINCT.
155964 155988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
155965 155989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_API int sqlite3_vtab_distinct(sqlite3_index_info *pIdxInfo){
155966 155990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HiddenIndexInfo *pHidden = (HiddenIndexInfo*)&pIdxInfo[1];
@@ -155967,10 +155991,26 @@
155967 155991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pHidden->eDistinct==0
155968 155992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| pHidden->eDistinct==1
155969 155993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| pHidden->eDistinct==2 );
155970 155994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return pHidden->eDistinct;
155971 155995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
155996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
155997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #if (defined(SQLITE_ENABLE_DBPAGE_VTAB) || defined(SQLITE_TEST)) \
155998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && !defined(SQLITE_OMIT_VIRTUALTABLE)
155999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
156000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Cause the prepared statement that is associated with a call to
156001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** xBestIndex to open write transactions on all attached schemas.
156002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** This is used by the (built-in) sqlite_dbpage virtual table.
156003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
156004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ SQLITE_PRIVATE void sqlite3VtabWriteAll(sqlite3_index_info *pIdxInfo){
156005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HiddenIndexInfo *pHidden = (HiddenIndexInfo*)&pIdxInfo[1];
156006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Parse *pParse = pHidden->pParse;
156007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int nDb = pParse->db->nDb;
156008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int i;
156009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<nDb; i++) sqlite3BeginWriteOperation(pParse, 0, i);
156010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
156011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
155972 156012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
155973 156013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
155974 156014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Add all WhereLoop objects for a table of the join identified by
155975 156015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** pBuilder->pNew->iTab. That table is guaranteed to be a virtual table.
155976 156016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
@@ -158327,10 +158367,14 @@
158327 158367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pIdx->pTable==pTab );
158328 158368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !HasRowid(pTab) ){
158329 158369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Index *pPk = sqlite3PrimaryKeyIndex(pTab);
158330 158370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x = pPk->aiColumn[x];
158331 158371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( x>=0 );
158372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC
158373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( pOp->opcode==OP_Offset ){
158374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Do not need to translate the column number */
158375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #endif
158332 158376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
158333 158377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
testcase( x!=sqlite3StorageColumnToTable(pTab,x) );
158334 158378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x = sqlite3StorageColumnToTable(pTab,x);
158335 158379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
158336 158380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x = sqlite3TableColumnToIndex(pIdx, x);
@@ -159093,11 +159137,11 @@
159093 159137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
159094 159138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159095 159139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159096 159140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159097 159141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pWin->pFunc = pFunc;
159142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pWin->pWFunc = pFunc;
159099 159143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159100 159144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
159101 159145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
159102 159146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Context object passed through sqlite3WalkExprList() to
159103 159147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** selectWindowRewriteExprCb() by selectWindowRewriteEList().
@@ -159326,11 +159370,15 @@
159326 159370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** are invoked in the correct order as described under "SELECT REWRITING"
159327 159371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** at the top of this file.
159328 159372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
159329 159373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_PRIVATE int sqlite3WindowRewrite(Parse *pParse, Select *p){
159330 159374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = SQLITE_OK;
159331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( p->pWin && p->pPrior==0 && ALWAYS((p->selFlags & SF_WinRewrite)==0) ){
159375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( p->pWin
159376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && p->pPrior==0
159377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && ALWAYS((p->selFlags & SF_WinRewrite)==0)
159378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && ALWAYS(!IN_RENAME_OBJECT)
159379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ){
159332 159380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Vdbe *v = sqlite3GetVdbe(pParse);
159333 159381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3 *db = pParse->db;
159334 159382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Select *pSub = 0; /* The subquery */
159335 159383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SrcList *pSrc = p->pSrc;
159336 159384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Expr *pWhere = p->pWhere;
@@ -159401,12 +159449,13 @@
159401 159449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** window function - one for the accumulator, another for interim
159402 159450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** results. */
159403 159451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
159404 159452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ExprList *pArgs;
159405 159453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( ExprUseXList(pWin->pOwner) );
159454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( pWin->pWFunc!=0 );
159406 159455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pArgs = pWin->pOwner->x.pList;
159407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pWin->pFunc->funcFlags & SQLITE_FUNC_SUBTYPE ){
159456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pWin->pWFunc->funcFlags & SQLITE_FUNC_SUBTYPE ){
159408 159457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
selectWindowRewriteEList(pParse, pMWin, pSrc, pArgs, pTab, &pSublist);
159409 159458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pWin->iArgCol = (pSublist ? pSublist->nExpr : 0);
159410 159459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pWin->bExprArgs = 1;
159411 159460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
159412 159461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pWin->iArgCol = (pSublist ? pSublist->nExpr : 0);
@@ -159784,11 +159833,11 @@
159784 159833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp2(v, OP_OpenDup, pMWin->csrApp, pMWin->iEphCsr);
159785 159834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
159786 159835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159787 159836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
159788 159837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
159789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FuncDef *p = pWin->pFunc;
159838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FuncDef *p = pWin->pWFunc;
159790 159839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (p->funcFlags & SQLITE_FUNC_MINMAX) && pWin->eStart!=TK_UNBOUNDED ){
159791 159840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* The inline versions of min() and max() require a single ephemeral
159792 159841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** table and 3 registers. The registers are used as follows:
159793 159842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
159794 159843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** regApp+0: slot to copy min()/max() argument to for MakeRecord
@@ -159801,11 +159850,11 @@
159801 159850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pList = pWin->pOwner->x.pList;
159802 159851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
159803 159852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pWin->csrApp = pParse->nTab++;
159804 159853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pWin->regApp = pParse->nMem+1;
159805 159854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pParse->nMem += 3;
159806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pKeyInfo && pWin->pFunc->zName[1]=='i' ){
159855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pKeyInfo && pWin->pWFunc->zName[1]=='i' ){
159807 159856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pKeyInfo->aSortFlags[0]==0 );
159808 159857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pKeyInfo->aSortFlags[0] = KEYINFO_ORDER_DESC;
159809 159858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
159810 159859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pWin->csrApp, 2);
159811 159860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO);
@@ -160024,11 +160073,11 @@
160024 160073 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
160025 160074 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Parse *pParse = p->pParse;
160026 160075 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Vdbe *v = sqlite3GetVdbe(pParse);
160027 160076 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Window *pWin;
160028 160077 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
160029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FuncDef *pFunc = pWin->pFunc;
160078 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FuncDef *pFunc = pWin->pWFunc;
160030 160079 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int regArg;
160031 160080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nArg = pWin->bExprArgs ? 0 : windowArgCount(pWin);
160032 160081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
160033 160082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
160034 160083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( bInverse==0 || pWin->eStart!=TK_UNBOUNDED );
@@ -160138,11 +160187,11 @@
160138 160187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Vdbe *v = sqlite3GetVdbe(pParse);
160139 160188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Window *pWin;
160140 160189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
160141 160190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
160142 160191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pMWin->regStartRowid==0
160143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- && (pWin->pFunc->funcFlags & SQLITE_FUNC_MINMAX)
160192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ && (pWin->pWFunc->funcFlags & SQLITE_FUNC_MINMAX)
160144 160193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& (pWin->eStart!=TK_UNBOUNDED)
160145 160194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
160146 160195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regResult);
160147 160196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp1(v, OP_Last, pWin->csrApp);
160148 160197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
VdbeCoverage(v);
@@ -160152,16 +160201,16 @@
160152 160201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pMWin->regStartRowid==0 );
160153 160202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
160154 160203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nArg = windowArgCount(pWin);
160155 160204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bFin ){
160156 160205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp2(v, OP_AggFinal, pWin->regAccum, nArg);
160157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3VdbeAppendP4(v, pWin->pFunc, P4_FUNCDEF);
160206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3VdbeAppendP4(v, pWin->pWFunc, P4_FUNCDEF);
160158 160207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp2(v, OP_Copy, pWin->regAccum, pWin->regResult);
160159 160208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regAccum);
160160 160209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
160161 160210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp3(v, OP_AggValue,pWin->regAccum,nArg,pWin->regResult);
160162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3VdbeAppendP4(v, pWin->pFunc, P4_FUNCDEF);
160211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3VdbeAppendP4(v, pWin->pWFunc, P4_FUNCDEF);
160163 160212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
160164 160213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
160165 160214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
160166 160215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
160167 160216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -160286,11 +160335,11 @@
160286 160335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
160287 160336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Parse *pParse = p->pParse;
160288 160337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Window *pWin;
160289 160338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
160290 160339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
160291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FuncDef *pFunc = pWin->pFunc;
160340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FuncDef *pFunc = pWin->pWFunc;
160292 160341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( ExprUseXList(pWin->pOwner) );
160293 160342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pFunc->zName==nth_valueName
160294 160343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| pFunc->zName==first_valueName
160295 160344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
160296 160345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int csr = pWin->csrApp;
@@ -160358,11 +160407,11 @@
160358 160407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Vdbe *v = sqlite3GetVdbe(pParse);
160359 160408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int regArg;
160360 160409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nArg = 0;
160361 160410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Window *pWin;
160362 160411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
160363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FuncDef *pFunc = pWin->pFunc;
160412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FuncDef *pFunc = pWin->pWFunc;
160364 160413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( pWin->regAccum );
160365 160414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3VdbeAddOp2(v, OP_Null, 0, pWin->regAccum);
160366 160415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nArg = MAX(nArg, windowArgCount(pWin));
160367 160416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pMWin->regStartRowid==0 ){
160368 160417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pFunc->zName==nth_valueName || pFunc->zName==first_valueName ){
@@ -160388,11 +160437,11 @@
160388 160437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
160389 160438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static int windowCacheFrame(Window *pMWin){
160390 160439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Window *pWin;
160391 160440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pMWin->regStartRowid ) return 1;
160392 160441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(pWin=pMWin; pWin; pWin=pWin->pNextWin){
160393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FuncDef *pFunc = pWin->pFunc;
160442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FuncDef *pFunc = pWin->pWFunc;
160394 160443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (pFunc->zName==nth_valueName)
160395 160444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| (pFunc->zName==first_valueName)
160396 160445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| (pFunc->zName==leadName)
160397 160446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
|| (pFunc->zName==lagName)
160398 160447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
@@ -160746,11 +160795,11 @@
160746 160795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew = sqlite3DbMallocZero(db, sizeof(Window));
160747 160796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pNew ){
160748 160797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->zName = sqlite3DbStrDup(db, p->zName);
160749 160798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->zBase = sqlite3DbStrDup(db, p->zBase);
160750 160799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->pFilter = sqlite3ExprDup(db, p->pFilter, 0);
160751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pNew->pFunc = p->pFunc;
160800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pNew->pWFunc = p->pWFunc;
160752 160801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->pPartition = sqlite3ExprListDup(db, p->pPartition, 0);
160753 160802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->pOrderBy = sqlite3ExprListDup(db, p->pOrderBy, 0);
160754 160803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->eFrmType = p->eFrmType;
160755 160804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->eEnd = p->eEnd;
160756 160805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pNew->eStart = p->eStart;
@@ -172983,14 +173032,16 @@
172983 173032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Test access for the LogEst conversion routines.
172984 173033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
172985 173034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case SQLITE_TESTCTRL_LOGEST: {
172986 173035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
double rIn = va_arg(ap, double);
172987 173036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
LogEst rLogEst = sqlite3LogEstFromDouble(rIn);
172988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u64 iInt = sqlite3LogEstToInt(rLogEst);
172989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- va_arg(ap, int*)[0] = rLogEst;
172990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- va_arg(ap, u64*)[0] = iInt;
172991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- va_arg(ap, int*)[0] = sqlite3LogEst(iInt);
173037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int *pI1 = va_arg(ap,int*);
173038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ u64 *pU64 = va_arg(ap,u64*);
173039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int *pI2 = va_arg(ap,int*);
173040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ *pI1 = rLogEst;
173041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ *pU64 = sqlite3LogEstToInt(rLogEst);
173042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ *pI2 = sqlite3LogEst(*pU64);
172992 173043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
172993 173044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
172994 173045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
172995 173046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
172996 173047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_WSD)
@@ -194917,11 +194968,11 @@
194917 194968 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u32 iRoot;
194918 194969 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
JsonNode *pTarget;
194919 194970 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pPatch->eType!=JSON_OBJECT ){
194920 194971 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return pPatch;
194921 194972 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
194922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- assert( iTarget>=0 && iTarget<pParse->nNode );
194973 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assert( iTarget<pParse->nNode );
194923 194974 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pTarget = &pParse->aNode[iTarget];
194924 194975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( (pPatch->jnFlags & JNODE_APPEND)==0 );
194925 194976 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pTarget->eType!=JSON_OBJECT ){
194926 194977 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
jsonRemoveAllNulls(pPatch);
194927 194978 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return pPatch;
@@ -210212,10 +210263,11 @@
210212 210263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& pIdxInfo->aOrderBy[0].iColumn<=0
210213 210264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& pIdxInfo->aOrderBy[0].desc==0
210214 210265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
210215 210266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pIdxInfo->orderByConsumed = 1;
210216 210267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
210268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3VtabWriteAll(pIdxInfo);
210217 210269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return SQLITE_OK;
210218 210270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
210219 210271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
210220 210272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
210221 210273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Open a new dbpagevfs cursor.
@@ -210389,11 +210441,11 @@
210389 210441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( iDb<0 ){
210390 210442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zErr = "no such schema";
210391 210443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto update_fail;
210392 210444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
210393 210445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pBt = pTab->db->aDb[iDb].pBt;
210394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pgno<1 || pBt==0 || pgno>(int)sqlite3BtreeLastPage(pBt) ){
210446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pgno<1 || pBt==0 || pgno>sqlite3BtreeLastPage(pBt) ){
210395 210447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zErr = "bad page number";
210396 210448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto update_fail;
210397 210449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
210398 210450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
szPage = sqlite3BtreeGetPageSize(pBt);
210399 210451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3_value_type(argv[3])!=SQLITE_BLOB
@@ -232566,11 +232618,11 @@
232566 232618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
232567 232619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
232568 232620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_step(pSorter->pStmt);
232569 232621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_DONE ){
232570 232622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_OK;
232571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- CsrFlagSet(pCsr, FTS5CSR_EOF);
232623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ CsrFlagSet(pCsr, FTS5CSR_EOF|FTS5CSR_REQUIRE_CONTENT);
232572 232624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( rc==SQLITE_ROW ){
232573 232625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const u8 *a;
232574 232626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const u8 *aBlob;
232575 232627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nBlob;
232576 232628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
@@ -234555,11 +234607,11 @@
234555 234607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nArg, /* Number of args */
234556 234608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_value **apUnused /* Function arguments */
234557 234609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
234558 234610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
assert( nArg==0 );
234559 234611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
UNUSED_PARAM2(nArg, apUnused);
234560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_result_text(pCtx, "fts5: 2022-03-07 18:32:08 ae464a18d74bf44fc95bc335e75e6a57dc974f6d6a3d603133594039fb589af2", -1, SQLITE_TRANSIENT);
234612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_result_text(pCtx, "fts5: 2022-03-11 15:42:05 0606e8e93edb5de4d154f377dbf91f15295d25ca9013c0f1612ae6d63a0139ea", -1, SQLITE_TRANSIENT);
234561 234613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
234562 234614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
234563 234615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
234564 234616 { 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
234565 234617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** by this module.
234566 234618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!