From bdd6df10dd61b6509d309821ae5dd48cbf765bca Mon Sep 17 00:00:00 2001 From: visor Date: Sun, 26 Sep 2010 18:30:45 +0900 Subject: [PATCH] sqlite version 3.7.2 --- ext/sqlite/Makefile | 3 +- .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/INSTALL | 0 .../Makefile.am | 0 .../Makefile.in | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/README | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/aclocal.m4 | 0 .../config.guess | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/config.sub | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/configure | 22 +- .../configure.ac | 4 +- .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/depcomp | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/install-sh | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/ltmain.sh | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/missing | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/shell.c | 126 +- .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3.1 | 0 .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3.c | 18094 +++++++++++++------ .../{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3.h | 429 +- .../sqlite3.pc.in | 0 .../sqlite3ext.h | 0 .../{sqlite-3.6.23.1-patch => sqlite-3.7.2-patch} | 64 +- ext/sqlite/sqlite-amalgamation-3.6.23.1.tar.gz | Bin 1421265 -> 0 bytes ext/sqlite/sqlite-amalgamation-3.7.2.tar.gz | Bin 0 -> 1499007 bytes 23 files changed, 13131 insertions(+), 5611 deletions(-) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/INSTALL (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/Makefile.am (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/Makefile.in (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/README (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/aclocal.m4 (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/config.guess (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/config.sub (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/configure (99%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/configure.ac (96%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/depcomp (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/install-sh (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/ltmain.sh (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/missing (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/shell.c (94%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3.1 (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3.c (88%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3.h (94%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3.pc.in (100%) rename ext/sqlite/{sqlite-3.6.23.1+ => sqlite-3.7.2+}/sqlite3ext.h (100%) rename ext/sqlite/{sqlite-3.6.23.1-patch => sqlite-3.7.2-patch} (70%) delete mode 100644 ext/sqlite/sqlite-amalgamation-3.6.23.1.tar.gz create mode 100644 ext/sqlite/sqlite-amalgamation-3.7.2.tar.gz diff --git a/ext/sqlite/Makefile b/ext/sqlite/Makefile index af3452c..bf7bcad 100644 --- a/ext/sqlite/Makefile +++ b/ext/sqlite/Makefile @@ -1,4 +1,5 @@ -SRCDIR = sqlite-3.6.23.1+ +#SRCDIR = sqlite-3.6.23.1+ +SRCDIR = sqlite-3.7.2+ all: ../sqlite3.h ../libsqlite3.a diff --git a/ext/sqlite/sqlite-3.6.23.1+/INSTALL b/ext/sqlite/sqlite-3.7.2+/INSTALL similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/INSTALL rename to ext/sqlite/sqlite-3.7.2+/INSTALL diff --git a/ext/sqlite/sqlite-3.6.23.1+/Makefile.am b/ext/sqlite/sqlite-3.7.2+/Makefile.am similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/Makefile.am rename to ext/sqlite/sqlite-3.7.2+/Makefile.am diff --git a/ext/sqlite/sqlite-3.6.23.1+/Makefile.in b/ext/sqlite/sqlite-3.7.2+/Makefile.in similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/Makefile.in rename to ext/sqlite/sqlite-3.7.2+/Makefile.in diff --git a/ext/sqlite/sqlite-3.6.23.1+/README b/ext/sqlite/sqlite-3.7.2+/README similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/README rename to ext/sqlite/sqlite-3.7.2+/README diff --git a/ext/sqlite/sqlite-3.6.23.1+/aclocal.m4 b/ext/sqlite/sqlite-3.7.2+/aclocal.m4 similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/aclocal.m4 rename to ext/sqlite/sqlite-3.7.2+/aclocal.m4 diff --git a/ext/sqlite/sqlite-3.6.23.1+/config.guess b/ext/sqlite/sqlite-3.7.2+/config.guess similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/config.guess rename to ext/sqlite/sqlite-3.7.2+/config.guess diff --git a/ext/sqlite/sqlite-3.6.23.1+/config.sub b/ext/sqlite/sqlite-3.7.2+/config.sub similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/config.sub rename to ext/sqlite/sqlite-3.7.2+/config.sub diff --git a/ext/sqlite/sqlite-3.6.23.1+/configure b/ext/sqlite/sqlite-3.7.2+/configure similarity index 99% rename from ext/sqlite/sqlite-3.6.23.1+/configure rename to ext/sqlite/sqlite-3.7.2+/configure index 740b4f7..fcdea16 100755 --- a/ext/sqlite/sqlite-3.6.23.1+/configure +++ b/ext/sqlite/sqlite-3.7.2+/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for sqlite 3.6.23.1. +# Generated by GNU Autoconf 2.62 for sqlite 3.7.2. # # Report bugs to . # @@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.6.23.1' -PACKAGE_STRING='sqlite 3.6.23.1' +PACKAGE_VERSION='3.7.2' +PACKAGE_STRING='sqlite 3.7.2' PACKAGE_BUGREPORT='http://www.sqlite.org' ac_unique_file="sqlite3.c" @@ -1480,7 +1480,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.6.23.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.7.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1550,7 +1550,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.6.23.1:";; + short | recursive ) echo "Configuration of sqlite 3.7.2:";; esac cat <<\_ACEOF @@ -1660,7 +1660,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.6.23.1 +sqlite configure 3.7.2 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1674,7 +1674,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.6.23.1, which was +It was created by sqlite $as_me 3.7.2, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -2371,7 +2371,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.6.23.1' + VERSION='3.7.2' cat >>confdefs.h <<_ACEOF @@ -20759,7 +20759,7 @@ return tgetent (); return 0; } _ACEOF -for ac_lib in '' curses; do +for ac_lib in '' curses ncurses ncursesw; do if test -z "$ac_lib"; then ac_res="none required" else @@ -21733,7 +21733,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.6.23.1, which was +This file was extended by sqlite $as_me 3.7.2, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21780,7 +21780,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -sqlite config.status 3.6.23.1 +sqlite config.status 3.7.2 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/ext/sqlite/sqlite-3.6.23.1+/configure.ac b/ext/sqlite/sqlite-3.7.2+/configure.ac similarity index 96% rename from ext/sqlite/sqlite-3.6.23.1+/configure.ac rename to ext/sqlite/sqlite-3.7.2+/configure.ac index c2fb516..7498311 100644 --- a/ext/sqlite/sqlite-3.6.23.1+/configure.ac +++ b/ext/sqlite/sqlite-3.7.2+/configure.ac @@ -8,7 +8,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.6.23.1, http://www.sqlite.org) +AC_INIT(sqlite, 3.7.2, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) # Use automake. @@ -37,7 +37,7 @@ AC_ARG_ENABLE(readline, [AS_HELP_STRING( if test x"$enable_readline" != xno ; then sLIBS=$LIBS LIBS="" - AC_SEARCH_LIBS(tgetent, curses, [], []) + AC_SEARCH_LIBS(tgetent, curses ncurses ncursesw, [], []) AC_SEARCH_LIBS(readline, readline, [], [enable_readline=no]) AC_CHECK_FUNCS(readline, [], []) READLINE_LIBS=$LIBS diff --git a/ext/sqlite/sqlite-3.6.23.1+/depcomp b/ext/sqlite/sqlite-3.7.2+/depcomp similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/depcomp rename to ext/sqlite/sqlite-3.7.2+/depcomp diff --git a/ext/sqlite/sqlite-3.6.23.1+/install-sh b/ext/sqlite/sqlite-3.7.2+/install-sh similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/install-sh rename to ext/sqlite/sqlite-3.7.2+/install-sh diff --git a/ext/sqlite/sqlite-3.6.23.1+/ltmain.sh b/ext/sqlite/sqlite-3.7.2+/ltmain.sh similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/ltmain.sh rename to ext/sqlite/sqlite-3.7.2+/ltmain.sh diff --git a/ext/sqlite/sqlite-3.6.23.1+/missing b/ext/sqlite/sqlite-3.7.2+/missing similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/missing rename to ext/sqlite/sqlite-3.7.2+/missing diff --git a/ext/sqlite/sqlite-3.6.23.1+/shell.c b/ext/sqlite/sqlite-3.7.2+/shell.c similarity index 94% rename from ext/sqlite/sqlite-3.6.23.1+/shell.c rename to ext/sqlite/sqlite-3.7.2+/shell.c index a1c0b5e..c5aa40c 100644 --- a/ext/sqlite/sqlite-3.6.23.1+/shell.c +++ b/ext/sqlite/sqlite-3.7.2+/shell.c @@ -398,6 +398,7 @@ struct previous_mode_data { struct callback_data { sqlite3 *db; /* The database */ int echoOn; /* True to echo input commands */ + int statsOn; /* True to display memory stats before each finalize */ int cnt; /* Number of records displayed so far */ FILE *out; /* Write results here */ int mode; /* An output mode setting */ @@ -962,6 +963,86 @@ static char *save_err_msg( } /* +** Display memory stats. +*/ +static int display_stats( + sqlite3 *db, /* Database to query */ + struct callback_data *pArg, /* Pointer to struct callback_data */ + int bReset /* True to reset the stats */ +){ + int iCur; + int iHiwtr; + + if( pArg && pArg->out ){ + + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_MEMORY_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Memory Used: %d (max %d) bytes\n", iCur, iHiwtr); + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_MALLOC_COUNT, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Number of Allocations: %d (max %d)\n", iCur, iHiwtr); +/* +** Not currently used by the CLI. +** iHiwtr = iCur = -1; +** sqlite3_status(SQLITE_STATUS_PAGECACHE_USED, &iCur, &iHiwtr, bReset); +** fprintf(pArg->out, "Number of Pcache Pages Used: %d (max %d) pages\n", iCur, iHiwtr); +*/ + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_PAGECACHE_OVERFLOW, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Number of Pcache Overflow Bytes: %d (max %d) bytes\n", iCur, iHiwtr); +/* +** Not currently used by the CLI. +** iHiwtr = iCur = -1; +** sqlite3_status(SQLITE_STATUS_SCRATCH_USED, &iCur, &iHiwtr, bReset); +** fprintf(pArg->out, "Number of Scratch Allocations Used: %d (max %d)\n", iCur, iHiwtr); +*/ + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_SCRATCH_OVERFLOW, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Number of Scratch Overflow Bytes: %d (max %d) bytes\n", iCur, iHiwtr); + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_MALLOC_SIZE, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Largest Allocation: %d bytes\n", iHiwtr); + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_PAGECACHE_SIZE, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Largest Pcache Allocation: %d bytes\n", iHiwtr); + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_SCRATCH_SIZE, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Largest Scratch Allocation: %d bytes\n", iHiwtr); +#ifdef YYTRACKMAXSTACKDEPTH + iHiwtr = iCur = -1; + sqlite3_status(SQLITE_STATUS_PARSER_STACK, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Deepest Parser Stack: %d (max %d)\n", iCur, iHiwtr); +#endif + } + + if( pArg && pArg->out && db ){ + iHiwtr = iCur = -1; + sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Lookaside Slots Used: %d (max %d)\n", iCur, iHiwtr); + iHiwtr = iCur = -1; + sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Pager Heap Usage: %d bytes\n", iCur); + iHiwtr = iCur = -1; + sqlite3_db_status(db, SQLITE_DBSTATUS_SCHEMA_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Schema Heap Usage: %d bytes\n", iCur); + iHiwtr = iCur = -1; + sqlite3_db_status(db, SQLITE_DBSTATUS_STMT_USED, &iCur, &iHiwtr, bReset); + fprintf(pArg->out, "Statement Heap/Lookaside Usage: %d bytes\n", iCur); + } + + if( pArg && pArg->out && db && pArg->pStmt ){ + iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_FULLSCAN_STEP, bReset); + fprintf(pArg->out, "Fullscan Steps: %d\n", iCur); + iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_SORT, bReset); + fprintf(pArg->out, "Sort Operations: %d\n", iCur); + iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_AUTOINDEX, bReset); + fprintf(pArg->out, "Autoindex Inserts: %d\n", iCur); + } + + return 0; +} + +/* ** Execute a statement or set of statements. Print ** any result rows/columns depending on the current mode ** set via the supplied callback. @@ -1000,10 +1081,16 @@ static int shell_exec( continue; } + /* save off the prepared statment handle and reset row count */ + if( pArg ){ + pArg->pStmt = pStmt; + pArg->cnt = 0; + } + /* echo the sql statement if echo on */ - if( pArg->echoOn ){ + if( pArg && pArg->echoOn ){ const char *zStmtSql = sqlite3_sql(pStmt); - fprintf(pArg->out,"%s\n", zStmtSql ? zStmtSql : zSql); + fprintf(pArg->out, "%s\n", zStmtSql ? zStmtSql : zSql); } /* perform the first step. this will tell us if we @@ -1029,11 +1116,6 @@ static int shell_exec( for(i=0; ipStmt = pStmt; - pArg->cnt = 0; - } do{ /* extract the data and data types */ for(i=0; ipStmt = NULL; - } } }else{ do{ @@ -1067,6 +1146,11 @@ static int shell_exec( } } + /* print usage stats if stats on */ + if( pArg && pArg->statsOn ){ + display_stats(db, pArg, 0); + } + /* Finalize the statement just executed. If this fails, save a ** copy of the error message. Otherwise, set zSql to point to the ** next statement to execute. */ @@ -1077,6 +1161,11 @@ static int shell_exec( }else if( pzErrMsg ){ *pzErrMsg = save_err_msg(db); } + + /* clear saved stmt handle */ + if( pArg ){ + pArg->pStmt = NULL; + } } } /* end while */ @@ -1256,6 +1345,7 @@ static char zHelp[] = " LIKE pattern TABLE.\n" ".separator STRING Change separator used by output mode and .import\n" ".show Show the current values for various settings\n" + ".stats ON|OFF Turn stats on or off\n" ".tables ?TABLE? List names of tables\n" " If TABLE specified, only list tables matching\n" " LIKE pattern TABLE.\n" @@ -2001,6 +2091,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ fprintf(p->out,"%9.9s: ", "separator"); output_c_string(p->out, p->separator); fprintf(p->out, "\n"); + fprintf(p->out,"%9.9s: %s\n","stats", p->statsOn ? "on" : "off"); fprintf(p->out,"%9.9s: ","width"); for (i=0;i<(int)ArraySize(p->colWidth) && p->colWidth[i] != 0;i++) { fprintf(p->out,"%d ",p->colWidth[i]); @@ -2008,6 +2099,10 @@ static int do_meta_command(char *zLine, struct callback_data *p){ fprintf(p->out,"\n"); }else + if( c=='s' && strncmp(azArg[0], "stats", n)==0 && nArg>1 && nArg<3 ){ + p->statsOn = booleanValue(azArg[1]); + }else + if( c=='t' && n>1 && strncmp(azArg[0], "tables", n)==0 && nArg<3 ){ char **azResult; int nRow; @@ -2391,6 +2486,7 @@ static const char zOptions[] = " -line set output mode to 'line'\n" " -list set output mode to 'list'\n" " -separator 'x' set output field separator (|)\n" + " -stats print memory stats before each finalize\n" " -nullvalue 'text' set text string for NULL values\n" " -version show SQLite version\n" ; @@ -2555,6 +2651,8 @@ int main(int argc, char **argv){ data.showHeader = 0; }else if( strcmp(z,"-echo")==0 ){ data.echoOn = 1; + }else if( strcmp(z,"-stats")==0 ){ + data.statsOn = 1; }else if( strcmp(z,"-bail")==0 ){ bail_on_error = 1; }else if( strcmp(z,"-version")==0 ){ @@ -2578,7 +2676,6 @@ int main(int argc, char **argv){ */ if( zFirstCmd[0]=='.' ){ rc = do_meta_command(zFirstCmd, &data); - return rc; }else{ open_db(&data); rc = shell_exec(data.db, zFirstCmd, shell_callback, &data, &zErrMsg); @@ -2625,9 +2722,10 @@ int main(int argc, char **argv){ } } set_table_name(&data, 0); - if( db ){ - if( sqlite3_close(db)!=SQLITE_OK ){ - fprintf(stderr,"Error: cannot close database \"%s\"\n", sqlite3_errmsg(db)); + if( data.db ){ + if( sqlite3_close(data.db)!=SQLITE_OK ){ + fprintf(stderr,"Error: cannot close database \"%s\"\n", + sqlite3_errmsg(db)); rc++; } } diff --git a/ext/sqlite/sqlite-3.6.23.1+/sqlite3.1 b/ext/sqlite/sqlite-3.7.2+/sqlite3.1 similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/sqlite3.1 rename to ext/sqlite/sqlite-3.7.2+/sqlite3.1 diff --git a/ext/sqlite/sqlite-3.6.23.1+/sqlite3.c b/ext/sqlite/sqlite-3.7.2+/sqlite3.c similarity index 88% rename from ext/sqlite/sqlite-3.6.23.1+/sqlite3.c rename to ext/sqlite/sqlite-3.7.2+/sqlite3.c index 2104362..e634a30 100644 --- a/ext/sqlite/sqlite-3.6.23.1+/sqlite3.c +++ b/ext/sqlite/sqlite-3.7.2+/sqlite3.c @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.6.23.1. By combining all the individual C code files into this +** version 3.7.2. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a one translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -191,6 +191,14 @@ #endif /* +** The default number of frames to accumulate in the log file before +** checkpointing the database in WAL mode. +*/ +#ifndef SQLITE_DEFAULT_WAL_AUTOCHECKPOINT +# define SQLITE_DEFAULT_WAL_AUTOCHECKPOINT 1000 +#endif + +/* ** The maximum number of attached databases. This must be between 0 ** and 30. The upper bound on 30 is because a 32-bit integer bitmap ** is used internally to track attached databases. @@ -207,20 +215,21 @@ # define SQLITE_MAX_VARIABLE_NUMBER 999 #endif -/* Maximum page size. The upper bound on this value is 32768. This a limit -** imposed by the necessity of storing the value in a 2-byte unsigned integer -** and the fact that the page size must be a power of 2. +/* Maximum page size. The upper bound on this value is 65536. This a limit +** imposed by the use of 16-bit offsets within each page. ** -** If this limit is changed, then the compiled library is technically -** incompatible with an SQLite library compiled with a different limit. If -** a process operating on a database with a page-size of 65536 bytes -** crashes, then an instance of SQLite compiled with the default page-size -** limit will not be able to rollback the aborted transaction. This could -** lead to database corruption. +** Earlier versions of SQLite allowed the user to change this value at +** compile time. This is no longer permitted, on the grounds that it creates +** a library that is technically incompatible with an SQLite library +** compiled with a different limit. If a process operating on a database +** with a page-size of 65536 bytes crashes, then an instance of SQLite +** compiled with the default page-size limit will not be able to rollback +** the aborted transaction. This could lead to database corruption. */ -#ifndef SQLITE_MAX_PAGE_SIZE -# define SQLITE_MAX_PAGE_SIZE 32768 +#ifdef SQLITE_MAX_PAGE_SIZE +# undef SQLITE_MAX_PAGE_SIZE #endif +#define SQLITE_MAX_PAGE_SIZE 65536 /* @@ -323,7 +332,7 @@ ** The correct "ANSI" way to do this is to use the intptr_t type. ** Unfortunately, that typedef is not available on all compilers, or ** if it is available, it requires an #include of specific headers -** that very from one machine to the next. +** that vary from one machine to the next. ** ** Ticket #3860: The llvm-gcc-4.2 compiler from Apple chokes on ** the ((void*)&((char*)0)[X]) construct. But MSVC chokes on ((void*)(X)). @@ -504,6 +513,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int); #endif /* +** Return true (non-zero) if the input is a integer that is too large +** to fit in 32-bits. This macro is used inside of various testcase() +** macros to verify that we have tested SQLite for large-file support. +*/ +#define IS_BIG_INT(X) (((X)&~(i64)0xffffffff)!=0) + +/* ** The macro unlikely() is a hint that surrounds a boolean ** expression that is usually false. Macro likely() surrounds ** a boolean expression that is usually true. GCC is able to @@ -618,7 +634,7 @@ extern "C" { ** ** Since version 3.6.18, SQLite source code has been stored in the ** Fossil configuration management -** system. ^The SQLITE_SOURCE_ID macro evalutes to +** system. ^The SQLITE_SOURCE_ID macro evaluates to ** a string which identifies a particular check-in of SQLite ** within its configuration management system. ^The SQLITE_SOURCE_ID ** string contains the date and time of the check-in (UTC) and an SHA1 @@ -628,9 +644,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.6.23.1+" -#define SQLITE_VERSION_NUMBER 3006023 -#define SQLITE_SOURCE_ID "2010-03-26 22:28:06 b078b588d617e07886ad156e9f54ade6d823568e" +#define SQLITE_VERSION "3.7.2+" +#define SQLITE_VERSION_NUMBER 3007002 +#define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -667,7 +683,6 @@ SQLITE_API const char *sqlite3_libversion(void); SQLITE_API const char *sqlite3_sourceid(void); SQLITE_API int sqlite3_libversion_number(void); -#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS /* ** CAPI3REF: Run-Time Library Compilation Options Diagnostics ** @@ -676,7 +691,7 @@ SQLITE_API int sqlite3_libversion_number(void); ** compile time. ^The SQLITE_ prefix may be omitted from the ** option name passed to sqlite3_compileoption_used(). ** -** ^The sqlite3_compileoption_get() function allows interating +** ^The sqlite3_compileoption_get() function allows iterating ** over the list of options that were defined at compile time by ** returning the N-th compile time option string. ^If N is out of range, ** sqlite3_compileoption_get() returns a NULL pointer. ^The SQLITE_ @@ -684,15 +699,16 @@ SQLITE_API int sqlite3_libversion_number(void); ** sqlite3_compileoption_get(). ** ** ^Support for the diagnostic functions sqlite3_compileoption_used() -** and sqlite3_compileoption_get() may be omitted by specifing the +** and sqlite3_compileoption_get() may be omitted by specifying the ** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time. ** ** See also: SQL functions [sqlite_compileoption_used()] and ** [sqlite_compileoption_get()] and the [compile_options pragma]. */ +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS SQLITE_API int sqlite3_compileoption_used(const char *zOptName); SQLITE_API const char *sqlite3_compileoption_get(int N); -#endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ +#endif /* ** CAPI3REF: Test To See If The Library Is Threadsafe @@ -789,7 +805,7 @@ typedef sqlite_uint64 sqlite3_uint64; ** ** ^The sqlite3_close() routine is the destructor for the [sqlite3] object. ** ^Calls to sqlite3_close() return SQLITE_OK if the [sqlite3] object is -** successfullly destroyed and all associated resources are deallocated. +** successfully destroyed and all associated resources are deallocated. ** ** Applications must [sqlite3_finalize | finalize] all [prepared statements] ** and [sqlite3_blob_close | close] all [BLOB handles] associated with @@ -914,7 +930,7 @@ SQLITE_API int sqlite3_exec( #define SQLITE_NOTFOUND 12 /* NOT USED. Table or record not found */ #define SQLITE_FULL 13 /* Insertion failed because database is full */ #define SQLITE_CANTOPEN 14 /* Unable to open the database file */ -#define SQLITE_PROTOCOL 15 /* NOT USED. Database lock protocol error */ +#define SQLITE_PROTOCOL 15 /* Database lock protocol error */ #define SQLITE_EMPTY 16 /* Database is empty */ #define SQLITE_SCHEMA 17 /* The database schema changed */ #define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */ @@ -970,7 +986,12 @@ SQLITE_API int sqlite3_exec( #define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) #define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8)) #define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8)) -#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8) ) +#define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8)) +#define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) +#define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) +#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) +#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) +#define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) /* ** CAPI3REF: Flags For File Open Operations @@ -997,11 +1018,12 @@ SQLITE_API int sqlite3_exec( #define SQLITE_OPEN_FULLMUTEX 0x00010000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_SHAREDCACHE 0x00020000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_PRIVATECACHE 0x00040000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_WAL 0x00080000 /* VFS only */ /* ** CAPI3REF: Device Characteristics ** -** The xDeviceCapabilities method of the [sqlite3_io_methods] +** The xDeviceCharacteristics method of the [sqlite3_io_methods] ** object returns an integer which is a vector of the these ** bit values expressing I/O characteristics of the mass storage ** device that holds the file that the [sqlite3_io_methods] @@ -1018,17 +1040,18 @@ SQLITE_API int sqlite3_exec( ** information is written to disk in the same order as calls ** to xWrite(). */ -#define SQLITE_IOCAP_ATOMIC 0x00000001 -#define SQLITE_IOCAP_ATOMIC512 0x00000002 -#define SQLITE_IOCAP_ATOMIC1K 0x00000004 -#define SQLITE_IOCAP_ATOMIC2K 0x00000008 -#define SQLITE_IOCAP_ATOMIC4K 0x00000010 -#define SQLITE_IOCAP_ATOMIC8K 0x00000020 -#define SQLITE_IOCAP_ATOMIC16K 0x00000040 -#define SQLITE_IOCAP_ATOMIC32K 0x00000080 -#define SQLITE_IOCAP_ATOMIC64K 0x00000100 -#define SQLITE_IOCAP_SAFE_APPEND 0x00000200 -#define SQLITE_IOCAP_SEQUENTIAL 0x00000400 +#define SQLITE_IOCAP_ATOMIC 0x00000001 +#define SQLITE_IOCAP_ATOMIC512 0x00000002 +#define SQLITE_IOCAP_ATOMIC1K 0x00000004 +#define SQLITE_IOCAP_ATOMIC2K 0x00000008 +#define SQLITE_IOCAP_ATOMIC4K 0x00000010 +#define SQLITE_IOCAP_ATOMIC8K 0x00000020 +#define SQLITE_IOCAP_ATOMIC16K 0x00000040 +#define SQLITE_IOCAP_ATOMIC32K 0x00000080 +#define SQLITE_IOCAP_ATOMIC64K 0x00000100 +#define SQLITE_IOCAP_SAFE_APPEND 0x00000200 +#define SQLITE_IOCAP_SEQUENTIAL 0x00000400 +#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800 /* ** CAPI3REF: File Locking Levels @@ -1179,6 +1202,12 @@ struct sqlite3_io_methods { int (*xFileControl)(sqlite3_file*, int op, void *pArg); int (*xSectorSize)(sqlite3_file*); int (*xDeviceCharacteristics)(sqlite3_file*); + /* Methods above are valid for version 1 */ + int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**); + int (*xShmLock)(sqlite3_file*, int offset, int n, int flags); + void (*xShmBarrier)(sqlite3_file*); + int (*xShmUnmap)(sqlite3_file*, int deleteFlag); + /* Methods above are valid for version 2 */ /* Additional methods may be added in future releases */ }; @@ -1196,11 +1225,28 @@ struct sqlite3_io_methods { ** into an integer that the pArg argument points to. This capability ** is used during testing and only needs to be supported when SQLITE_TEST ** is defined. +** +** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS +** layer a hint of how large the database file will grow to be during the +** current transaction. This hint is not guaranteed to be accurate but it +** is often close. The underlying VFS might choose to preallocate database +** file space based on this hint in order to help writes to the database +** file run faster. +** +** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS +** extends and truncates the database file in chunks of a size specified +** by the user. The fourth argument to [sqlite3_file_control()] should +** point to an integer (type int) containing the new chunk-size to use +** for the nominated database. Allocating database file space in large +** chunks (say 1MB at a time), may reduce file-system fragmentation and +** improve performance on some systems. */ #define SQLITE_FCNTL_LOCKSTATE 1 #define SQLITE_GET_LOCKPROXYFILE 2 #define SQLITE_SET_LOCKPROXYFILE 3 #define SQLITE_LAST_ERRNO 4 +#define SQLITE_FCNTL_SIZE_HINT 5 +#define SQLITE_FCNTL_CHUNK_SIZE 6 /* ** CAPI3REF: Mutex Handle @@ -1332,20 +1378,27 @@ typedef struct sqlite3_mutex sqlite3_mutex; ** handled as a fatal error by SQLite, vfs implementations should endeavor ** to prevent this by setting mxPathname to a sufficiently large value. ** -** The xRandomness(), xSleep(), and xCurrentTime() interfaces -** are not strictly a part of the filesystem, but they are +** The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() +** interfaces are not strictly a part of the filesystem, but they are ** included in the VFS structure for completeness. ** The xRandomness() function attempts to return nBytes bytes ** of good-quality randomness into zOut. The return value is ** the actual number of bytes of randomness obtained. ** The xSleep() method causes the calling thread to sleep for at ** least the number of microseconds given. The xCurrentTime() -** method returns a Julian Day Number for the current date and time. -** +** method returns a Julian Day Number for the current date and time as +** a floating point value. +** The xCurrentTimeInt64() method returns, as an integer, the Julian +** Day Number multipled by 86400000 (the number of milliseconds in +** a 24-hour day). +** ^SQLite will use the xCurrentTimeInt64() method to get the current +** date and time if that method is available (if iVersion is 2 or +** greater and the function pointer is not NULL) and will fall back +** to xCurrentTime() if xCurrentTimeInt64() is unavailable. */ typedef struct sqlite3_vfs sqlite3_vfs; struct sqlite3_vfs { - int iVersion; /* Structure version number */ + int iVersion; /* Structure version number (currently 2) */ int szOsFile; /* Size of subclassed sqlite3_file */ int mxPathname; /* Maximum file pathname length */ sqlite3_vfs *pNext; /* Next registered VFS */ @@ -1364,8 +1417,16 @@ struct sqlite3_vfs { int (*xSleep)(sqlite3_vfs*, int microseconds); int (*xCurrentTime)(sqlite3_vfs*, double*); int (*xGetLastError)(sqlite3_vfs*, int, char *); - /* New fields may be appended in figure versions. The iVersion - ** value will increment whenever this happens. */ + /* + ** The methods above are in version 1 of the sqlite_vfs object + ** definition. Those that follow are added in version 2 or later + */ + int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*); + /* + ** The methods above are in versions 1 and 2 of the sqlite_vfs object. + ** New fields may be appended in figure versions. The iVersion + ** value will increment whenever this happens. + */ }; /* @@ -1377,13 +1438,58 @@ struct sqlite3_vfs { ** With SQLITE_ACCESS_EXISTS, the xAccess method ** simply checks whether the file exists. ** With SQLITE_ACCESS_READWRITE, the xAccess method -** checks whether the file is both readable and writable. +** checks whether the named directory is both readable and writable +** (in other words, if files can be added, removed, and renamed within +** the directory). +** The SQLITE_ACCESS_READWRITE constant is currently used only by the +** [temp_store_directory pragma], though this could change in a future +** release of SQLite. ** With SQLITE_ACCESS_READ, the xAccess method -** checks whether the file is readable. +** checks whether the file is readable. The SQLITE_ACCESS_READ constant is +** currently unused, though it might be used in a future release of +** SQLite. */ #define SQLITE_ACCESS_EXISTS 0 -#define SQLITE_ACCESS_READWRITE 1 -#define SQLITE_ACCESS_READ 2 +#define SQLITE_ACCESS_READWRITE 1 /* Used by PRAGMA temp_store_directory */ +#define SQLITE_ACCESS_READ 2 /* Unused */ + +/* +** CAPI3REF: Flags for the xShmLock VFS method +** +** These integer constants define the various locking operations +** allowed by the xShmLock method of [sqlite3_io_methods]. The +** following are the only legal combinations of flags to the +** xShmLock method: +** +**
    +**
  • SQLITE_SHM_LOCK | SQLITE_SHM_SHARED +**
  • SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE +**
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED +**
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE +**
+** +** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as +** was given no the corresponding lock. +** +** The xShmLock method can transition between unlocked and SHARED or +** between unlocked and EXCLUSIVE. It cannot transition between SHARED +** and EXCLUSIVE. +*/ +#define SQLITE_SHM_UNLOCK 1 +#define SQLITE_SHM_LOCK 2 +#define SQLITE_SHM_SHARED 4 +#define SQLITE_SHM_EXCLUSIVE 8 + +/* +** CAPI3REF: Maximum xShmLock index +** +** The xShmLock method on [sqlite3_io_methods] may use values +** between 0 and this upper bound as its "offset" argument. +** The SQLite core will never attempt to acquire or release a +** lock outside of this range +*/ +#define SQLITE_SHM_NLOCK 8 + /* ** CAPI3REF: Initialize The SQLite Library @@ -1494,11 +1600,10 @@ SQLITE_API int sqlite3_os_end(void); ** ^If the option is unknown or SQLite is unable to set the option ** then this routine returns a non-zero [error code]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_config(int, ...); +SQLITE_API int sqlite3_config(int, ...); /* ** CAPI3REF: Configure database connections -** EXPERIMENTAL ** ** The sqlite3_db_config() interface is used to make configuration ** changes to a [database connection]. The interface is similar to @@ -1518,11 +1623,10 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_config(int, ...); ** ^Calls to sqlite3_db_config() return SQLITE_OK if and only if ** the call is considered successful. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_config(sqlite3*, int op, ...); +SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...); /* ** CAPI3REF: Memory Allocation Routines -** EXPERIMENTAL ** ** An instance of this object defines the interface between SQLite ** and low-level memory allocation routines. @@ -1604,7 +1708,6 @@ struct sqlite3_mem_methods { /* ** CAPI3REF: Configuration Options -** EXPERIMENTAL ** ** These constants are the available integer configuration options that ** can be passed as the first argument to the [sqlite3_config()] interface. @@ -1790,6 +1893,24 @@ struct sqlite3_mem_methods { ** [sqlite3_pcache_methods] object. SQLite copies of the current ** page cache implementation into that object.)^ ** +**
SQLITE_CONFIG_LOG
+**
^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a +** function with a call signature of void(*)(void*,int,const char*), +** and a pointer to void. ^If the function pointer is not NULL, it is +** invoked by [sqlite3_log()] to process each logging event. ^If the +** function pointer is NULL, the [sqlite3_log()] interface becomes a no-op. +** ^The void pointer that is the second argument to SQLITE_CONFIG_LOG is +** passed through as the first parameter to the application-defined logger +** function whenever that function is invoked. ^The second parameter to +** the logger function is a copy of the first parameter to the corresponding +** [sqlite3_log()] call and is intended to be a [result code] or an +** [extended result code]. ^The third parameter passed to the logger is +** log message after formatting via [sqlite3_snprintf()]. +** The SQLite logging interface is not reentrant; the logger function +** supplied by the application must not invoke any SQLite interface. +** In a multi-threaded application, the application-defined logger +** function must be threadsafe.
+** ** */ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ @@ -1810,8 +1931,7 @@ struct sqlite3_mem_methods { #define SQLITE_CONFIG_LOG 16 /* xFunc, void* */ /* -** CAPI3REF: Configuration Options -** EXPERIMENTAL +** CAPI3REF: Database Connection Configuration Options ** ** These constants are the available integer configuration options that ** can be passed as the second argument to the [sqlite3_db_config()] interface. @@ -2587,7 +2707,6 @@ SQLITE_API int sqlite3_set_authorizer( /* ** CAPI3REF: Tracing And Profiling Functions -** EXPERIMENTAL ** ** These routines register callback functions that can be used for ** tracing and profiling the execution of SQL statements. @@ -2603,9 +2722,15 @@ SQLITE_API int sqlite3_set_authorizer( ** ^The callback function registered by sqlite3_profile() is invoked ** as each SQL statement finishes. ^The profile callback contains ** the original statement text and an estimate of wall-clock time -** of how long that statement took to run. -*/ -SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); +** of how long that statement took to run. ^The profile callback +** time is in units of nanoseconds, however the current implementation +** is only capable of millisecond resolution so the six least significant +** digits in the time are meaningless. Future versions of SQLite +** might provide greater resolution on the profiler callback. The +** sqlite3_profile() function is considered experimental and is +** subject to change in future versions of SQLite. +*/ +SQLITE_API void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_profile(sqlite3*, void(*xProfile)(void*,const char*,sqlite3_uint64), void*); @@ -3084,7 +3209,7 @@ typedef struct sqlite3_context sqlite3_context; ** ** ** In the templates above, NNN represents an integer literal, -** and VVV represents an alphanumeric identifer.)^ ^The values of these +** and VVV represents an alphanumeric identifier.)^ ^The values of these ** parameters (also called "host parameter names" or "SQL parameters") ** can be set using the sqlite3_bind_*() routines defined here. ** @@ -3398,6 +3523,14 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); ** be the case that the same database connection is being used by two or ** more threads at the same moment in time. ** +** For all versions of SQLite up to and including 3.6.23.1, it was required +** after sqlite3_step() returned anything other than [SQLITE_ROW] that +** [sqlite3_reset()] be called before any subsequent invocation of +** sqlite3_step(). Failure to invoke [sqlite3_reset()] in this way would +** result in an [SQLITE_MISUSE] return from sqlite3_step(). But after +** version 3.6.23.1, sqlite3_step() began calling [sqlite3_reset()] +** automatically in this circumstance rather than returning [SQLITE_MISUSE]. +** ** Goofy Interface Alert: In the legacy interface, the sqlite3_step() ** API always returns a generic error code, [SQLITE_ERROR], following any ** error other than [SQLITE_BUSY] and [SQLITE_MISUSE]. You must call @@ -3855,7 +3988,7 @@ SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); /* ** CAPI3REF: Obtain Aggregate Function Context ** -** Implementions of aggregate SQL functions use this +** Implementations of aggregate SQL functions use this ** routine to allocate memory for storing their state. ** ** ^The first time the sqlite3_aggregate_context(C,N) routine is called @@ -4127,7 +4260,7 @@ SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n); ** ** A pointer to the user supplied routine must be passed as the fifth ** argument. ^If it is NULL, this is the same as deleting the collation -** sequence (so that SQLite cannot call it anymore). +** sequence (so that SQLite cannot call it any more). ** ^Each time the application supplied function is invoked, it is passed ** as its first parameter a copy of the void* passed as the fourth argument ** to sqlite3_create_collation() or sqlite3_create_collation16(). @@ -4210,7 +4343,7 @@ SQLITE_API int sqlite3_collation_needed16( void(*)(void*,sqlite3*,int eTextRep,const void*) ); -#if SQLITE_HAS_CODEC +#ifdef SQLITE_HAS_CODEC /* ** Specify the key for an encrypted database. This routine should be ** called right after sqlite3_open(). @@ -4393,8 +4526,6 @@ SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); ** an error or constraint causes an implicit rollback to occur. ** ^The rollback callback is not invoked if a transaction is ** automatically rolled back because the database connection is closed. -** ^The rollback callback is not invoked if a transaction is -** rolled back because a commit callback returned non-zero. ** ** See also the [sqlite3_update_hook()] interface. */ @@ -4680,8 +4811,6 @@ SQLITE_API int sqlite3_auto_extension(void (*xEntryPoint)(void)); SQLITE_API void sqlite3_reset_auto_extension(void); /* -****** EXPERIMENTAL - subject to change without notice ************** -** ** The interface to the virtual-table mechanism is currently considered ** to be experimental. The interface might change in incompatible ways. ** If this is a problem for you, do not use the interface at this time. @@ -4701,7 +4830,6 @@ typedef struct sqlite3_module sqlite3_module; /* ** CAPI3REF: Virtual Table Object ** KEYWORDS: sqlite3_module {virtual table module} -** EXPERIMENTAL ** ** This structure, sometimes called a a "virtual table module", ** defines the implementation of a [virtual tables]. @@ -4748,9 +4876,9 @@ struct sqlite3_module { /* ** CAPI3REF: Virtual Table Indexing Information ** KEYWORDS: sqlite3_index_info -** EXPERIMENTAL ** -** The sqlite3_index_info structure and its substructures is used to +** The sqlite3_index_info structure and its substructures is used as part +** of the [virtual table] interface to ** pass information into and receive the reply from the [xBestIndex] ** method of a [virtual table module]. The fields under **Inputs** are the ** inputs to xBestIndex and are read-only. xBestIndex inserts its @@ -4758,10 +4886,12 @@ struct sqlite3_module { ** ** ^(The aConstraint[] array records WHERE clause constraints of the form: ** -**
column OP expr
+**
column OP expr
** ** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is -** stored in aConstraint[].op.)^ ^(The index of the column is stored in +** stored in aConstraint[].op using one of the +** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^ +** ^(The index of the column is stored in ** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the ** expr on the right-hand side can be evaluated (and thus the constraint ** is usable) and false if it cannot.)^ @@ -4821,6 +4951,15 @@ struct sqlite3_index_info { int orderByConsumed; /* True if output is already ordered */ double estimatedCost; /* Estimated cost of using this index */ }; + +/* +** CAPI3REF: Virtual Table Constraint Operator Codes +** +** These macros defined the allowed values for the +** [sqlite3_index_info].aConstraint[].op field. Each value represents +** an operator that is part of a constraint term in the wHERE clause of +** a query that uses a [virtual table]. +*/ #define SQLITE_INDEX_CONSTRAINT_EQ 2 #define SQLITE_INDEX_CONSTRAINT_GT 4 #define SQLITE_INDEX_CONSTRAINT_LE 8 @@ -4830,7 +4969,6 @@ struct sqlite3_index_info { /* ** CAPI3REF: Register A Virtual Table Implementation -** EXPERIMENTAL ** ** ^These routines are used to register a new [virtual table module] name. ** ^Module names must be registered before @@ -4852,13 +4990,13 @@ struct sqlite3_index_info { ** interface is equivalent to sqlite3_create_module_v2() with a NULL ** destructor. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module( +SQLITE_API int sqlite3_create_module( sqlite3 *db, /* SQLite connection to register module with */ const char *zName, /* Name of the module */ const sqlite3_module *p, /* Methods for the module */ void *pClientData /* Client data for xCreate/xConnect */ ); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module_v2( +SQLITE_API int sqlite3_create_module_v2( sqlite3 *db, /* SQLite connection to register module with */ const char *zName, /* Name of the module */ const sqlite3_module *p, /* Methods for the module */ @@ -4869,7 +5007,6 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module_v2( /* ** CAPI3REF: Virtual Table Instance Object ** KEYWORDS: sqlite3_vtab -** EXPERIMENTAL ** ** Every [virtual table module] implementation uses a subclass ** of this object to describe a particular instance @@ -4895,7 +5032,6 @@ struct sqlite3_vtab { /* ** CAPI3REF: Virtual Table Cursor Object ** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor} -** EXPERIMENTAL ** ** Every [virtual table module] implementation uses a subclass of the ** following structure to describe cursors that point into the @@ -4917,18 +5053,16 @@ struct sqlite3_vtab_cursor { /* ** CAPI3REF: Declare The Schema Of A Virtual Table -** EXPERIMENTAL ** ** ^The [xCreate] and [xConnect] methods of a ** [virtual table module] call this interface ** to declare the format (the names and datatypes of the columns) of ** the virtual tables they implement. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zSQL); +SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL); /* ** CAPI3REF: Overload A Function For A Virtual Table -** EXPERIMENTAL ** ** ^(Virtual tables can provide alternative implementations of functions ** using the [xFindFunction] method of the [virtual table module]. @@ -4943,7 +5077,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zS ** purpose is to be a placeholder function that can be overloaded ** by a [virtual table]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); +SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); /* ** The interface to the virtual-table mechanism defined above (back up @@ -4953,8 +5087,6 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_overload_function(sqlite3*, const cha ** ** When the virtual-table mechanism stabilizes, we will declare the ** interface fixed, support it indefinitely, and remove this comment. -** -****** EXPERIMENTAL - subject to change without notice ************** */ /* @@ -5297,7 +5429,6 @@ SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*); /* ** CAPI3REF: Mutex Methods Object -** EXPERIMENTAL ** ** An instance of this structure defines the low-level routines ** used to allocate and use mutexes. @@ -5347,7 +5478,7 @@ SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*); ** it is passed a NULL pointer). ** ** The xMutexInit() method must be threadsafe. ^It must be harmless to -** invoke xMutexInit() mutiple times within the same process and without +** invoke xMutexInit() multiple times within the same process and without ** intervening calls to xMutexEnd(). Second and subsequent calls to ** xMutexInit() must be no-ops. ** @@ -5510,14 +5641,14 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_RESERVE 14 #define SQLITE_TESTCTRL_OPTIMIZATIONS 15 #define SQLITE_TESTCTRL_ISKEYWORD 16 -#define SQLITE_TESTCTRL_LAST 16 +#define SQLITE_TESTCTRL_PGHDRSZ 17 +#define SQLITE_TESTCTRL_LAST 17 /* ** CAPI3REF: SQLite Runtime Status -** EXPERIMENTAL ** ** ^This interface is used to retrieve runtime status information -** about the preformance of SQLite, and optionally to reset various +** about the performance of SQLite, and optionally to reset various ** highwater marks. ^The first argument is an integer code for ** the specific parameter to measure. ^(Recognized integer codes ** are of the form [SQLITE_STATUS_MEMORY_USED | SQLITE_STATUS_...].)^ @@ -5542,12 +5673,11 @@ SQLITE_API int sqlite3_test_control(int op, ...); ** ** See also: [sqlite3_db_status()] */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag); +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag); /* ** CAPI3REF: Status Parameters -** EXPERIMENTAL ** ** These integer constants designate various run-time status parameters ** that can be returned by [sqlite3_status()]. @@ -5570,6 +5700,9 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pH ** *pHighwater parameter to [sqlite3_status()] is of interest. ** The value written into the *pCurrent parameter is undefined.)^ ** +** ^(
SQLITE_STATUS_MALLOC_COUNT
+**
This parameter records the number of separate memory allocations.
)^ +** ** ^(
SQLITE_STATUS_PAGECACHE_USED
**
This parameter returns the number of pages used out of the ** [pagecache memory allocator] that was configured using @@ -5631,17 +5764,19 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pH #define SQLITE_STATUS_PARSER_STACK 6 #define SQLITE_STATUS_PAGECACHE_SIZE 7 #define SQLITE_STATUS_SCRATCH_SIZE 8 +#define SQLITE_STATUS_MALLOC_COUNT 9 /* ** CAPI3REF: Database Connection Status -** EXPERIMENTAL ** ** ^This interface is used to retrieve runtime status information ** about a single [database connection]. ^The first argument is the ** database connection object to be interrogated. ^The second argument -** is the parameter to interrogate. ^Currently, the only allowed value -** for the second parameter is [SQLITE_DBSTATUS_LOOKASIDE_USED]. -** Additional options will likely appear in future releases of SQLite. +** is an integer constant, taken from the set of +** [SQLITE_DBSTATUS_LOOKASIDE_USED | SQLITE_DBSTATUS_*] macros, that +** determines the parameter to interrogate. The set of +** [SQLITE_DBSTATUS_LOOKASIDE_USED | SQLITE_DBSTATUS_*] macros is likely +** to grow in future releases of SQLite. ** ** ^The current value of the requested parameter is written into *pCur ** and the highest instantaneous value is written into *pHiwtr. ^If @@ -5650,11 +5785,10 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pH ** ** See also: [sqlite3_status()] and [sqlite3_stmt_status()]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); +SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); /* ** CAPI3REF: Status Parameters for database connections -** EXPERIMENTAL ** ** These constants are the available integer "verbs" that can be passed as ** the second argument to the [sqlite3_db_status()] interface. @@ -5669,14 +5803,38 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur ** ^(
SQLITE_DBSTATUS_LOOKASIDE_USED
**
This parameter returns the number of lookaside memory slots currently ** checked out.
)^ +** +** ^(
SQLITE_DBSTATUS_CACHE_USED
+**
This parameter returns the approximate number of of bytes of heap +** memory used by all pager caches associated with the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. +** +** ^(
SQLITE_DBSTATUS_SCHEMA_USED
+**
This parameter returns the approximate number of of bytes of heap +** memory used to store the schema for all databases associated +** with the connection - main, temp, and any [ATTACH]-ed databases.)^ +** ^The full amount of memory used by the schemas is reported, even if the +** schema memory is shared with other database connections due to +** [shared cache mode] being enabled. +** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. +** +** ^(
SQLITE_DBSTATUS_STMT_USED
+**
This parameter returns the approximate number of of bytes of heap +** and lookaside memory used by all prepared statements associated with +** the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. +**
** */ #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 +#define SQLITE_DBSTATUS_CACHE_USED 1 +#define SQLITE_DBSTATUS_SCHEMA_USED 2 +#define SQLITE_DBSTATUS_STMT_USED 3 +#define SQLITE_DBSTATUS_MAX 3 /* Largest defined DBSTATUS */ /* ** CAPI3REF: Prepared Statement Status -** EXPERIMENTAL ** ** ^(Each prepared statement maintains various ** [SQLITE_STMTSTATUS_SORT | counters] that measure the number @@ -5698,11 +5856,10 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur ** ** See also: [sqlite3_status()] and [sqlite3_db_status()]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); +SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); /* ** CAPI3REF: Status Parameters for prepared statements -** EXPERIMENTAL ** ** These preprocessor macros define integer codes that name counter ** values associated with the [sqlite3_stmt_status()] interface. @@ -5720,14 +5877,21 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_stmt_status(sqlite3_stmt*, int op,int ** A non-zero value in this counter may indicate an opportunity to ** improvement performance through careful use of indices. ** +**
SQLITE_STMTSTATUS_AUTOINDEX
+**
^This is the number of rows inserted into transient indices that +** were created automatically in order to help joins run faster. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance by adding permanent indices that do not +** need to be reinitialized each time the statement is run.
+** ** */ #define SQLITE_STMTSTATUS_FULLSCAN_STEP 1 #define SQLITE_STMTSTATUS_SORT 2 +#define SQLITE_STMTSTATUS_AUTOINDEX 3 /* ** CAPI3REF: Custom Page Cache Object -** EXPERIMENTAL ** ** The sqlite3_pcache type is opaque. It is implemented by ** the pluggable module. The SQLite core has no knowledge of @@ -5742,7 +5906,6 @@ typedef struct sqlite3_pcache sqlite3_pcache; /* ** CAPI3REF: Application Defined Page Cache. ** KEYWORDS: {page cache} -** EXPERIMENTAL ** ** ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE], ...) interface can ** register an alternative page cache implementation by passing in an @@ -5884,7 +6047,6 @@ struct sqlite3_pcache_methods { /* ** CAPI3REF: Online Backup Object -** EXPERIMENTAL ** ** The sqlite3_backup object records state information about an ongoing ** online backup operation. ^The sqlite3_backup object is created by @@ -5897,7 +6059,6 @@ typedef struct sqlite3_backup sqlite3_backup; /* ** CAPI3REF: Online Backup API. -** EXPERIMENTAL ** ** The backup API copies the content of one database into another. ** It is useful either for creating backups of databases or @@ -5966,10 +6127,14 @@ typedef struct sqlite3_backup sqlite3_backup; ** [SQLITE_NOMEM], [SQLITE_BUSY], [SQLITE_LOCKED], or an ** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX] extended error code. ** -** ^The sqlite3_backup_step() might return [SQLITE_READONLY] if the destination -** database was opened read-only or if -** the destination is an in-memory database with a different page size -** from the source database. +** ^(The sqlite3_backup_step() might return [SQLITE_READONLY] if +**
    +**
  1. the destination database was opened read-only, or +**
  2. the destination database is using write-ahead-log journaling +** and the destination and source page sizes differ, or +**
  3. The destination database is an in-memory database and the +** destination and source page sizes differ. +**
)^ ** ** ^If sqlite3_backup_step() cannot obtain a required file-system lock, then ** the [sqlite3_busy_handler | busy-handler function] @@ -6031,7 +6196,7 @@ typedef struct sqlite3_backup sqlite3_backup; ** ** ^Each call to sqlite3_backup_step() sets two values inside ** the [sqlite3_backup] object: the number of pages still to be backed -** up and the total number of pages in the source databae file. +** up and the total number of pages in the source database file. ** The sqlite3_backup_remaining() and sqlite3_backup_pagecount() interfaces ** retrieve these two values, respectively. ** @@ -6085,7 +6250,6 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); /* ** CAPI3REF: Unlock Notification -** EXPERIMENTAL ** ** ^When running in shared-cache mode, a database operation may fail with ** an [SQLITE_LOCKED] error if the required locks on the shared-cache or @@ -6128,7 +6292,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); ** blocked connection already has a registered unlock-notify callback, ** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is ** called with a NULL pointer as its second argument, then any existing -** unlock-notify callback is cancelled. ^The blocked connections +** unlock-notify callback is canceled. ^The blocked connections ** unlock-notify callback may also be canceled by closing the blocked ** connection using [sqlite3_close()]. ** @@ -6207,23 +6371,21 @@ SQLITE_API int sqlite3_unlock_notify( /* ** CAPI3REF: String Comparison -** EXPERIMENTAL ** ** ^The [sqlite3_strnicmp()] API allows applications and extensions to ** compare the contents of two buffers containing UTF-8 strings in a -** case-indendent fashion, using the same definition of case independence +** case-independent fashion, using the same definition of case independence ** that SQLite uses internally when comparing identifiers. */ SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); /* ** CAPI3REF: Error Logging Interface -** EXPERIMENTAL ** ** ^The [sqlite3_log()] interface writes a message into the error log ** established by the [SQLITE_CONFIG_LOG] option to [sqlite3_config()]. ** ^If logging is enabled, the zFormat string and subsequent arguments are -** passed through to [sqlite3_vmprintf()] to generate the final output string. +** used with [sqlite3_snprintf()] to generate the final output string. ** ** The sqlite3_log() interface is intended for use by extensions such as ** virtual tables, collating functions, and SQL functions. While there is @@ -6241,6 +6403,89 @@ SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); /* +** CAPI3REF: Write-Ahead Log Commit Hook +** +** ^The [sqlite3_wal_hook()] function is used to register a callback that +** will be invoked each time a database connection commits data to a +** [write-ahead log] (i.e. whenever a transaction is committed in +** [journal_mode | journal_mode=WAL mode]). +** +** ^The callback is invoked by SQLite after the commit has taken place and +** the associated write-lock on the database released, so the implementation +** may read, write or [checkpoint] the database as required. +** +** ^The first parameter passed to the callback function when it is invoked +** is a copy of the third parameter passed to sqlite3_wal_hook() when +** registering the callback. ^The second is a copy of the database handle. +** ^The third parameter is the name of the database that was written to - +** either "main" or the name of an [ATTACH]-ed database. ^The fourth parameter +** is the number of pages currently in the write-ahead log file, +** including those that were just committed. +** +** The callback function should normally return [SQLITE_OK]. ^If an error +** code is returned, that error will propagate back up through the +** SQLite code base to cause the statement that provoked the callback +** to report an error, though the commit will have still occurred. If the +** callback returns [SQLITE_ROW] or [SQLITE_DONE], or if it returns a value +** that does not correspond to any valid SQLite error code, the results +** are undefined. +** +** A single database handle may have at most a single write-ahead log callback +** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any +** previously registered write-ahead log callback. ^Note that the +** [sqlite3_wal_autocheckpoint()] interface and the +** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will +** those overwrite any prior [sqlite3_wal_hook()] settings. +*/ +SQLITE_API void *sqlite3_wal_hook( + sqlite3*, + int(*)(void *,sqlite3*,const char*,int), + void* +); + +/* +** CAPI3REF: Configure an auto-checkpoint +** +** ^The [sqlite3_wal_autocheckpoint(D,N)] is a wrapper around +** [sqlite3_wal_hook()] that causes any database on [database connection] D +** to automatically [checkpoint] +** after committing a transaction if there are N or +** more frames in the [write-ahead log] file. ^Passing zero or +** a negative value as the nFrame parameter disables automatic +** checkpoints entirely. +** +** ^The callback registered by this function replaces any existing callback +** registered using [sqlite3_wal_hook()]. ^Likewise, registering a callback +** using [sqlite3_wal_hook()] disables the automatic checkpoint mechanism +** configured by this function. +** +** ^The [wal_autocheckpoint pragma] can be used to invoke this interface +** from SQL. +** +** ^Every new [database connection] defaults to having the auto-checkpoint +** enabled with a threshold of 1000 pages. The use of this interface +** is only necessary if the default setting is found to be suboptimal +** for a particular application. +*/ +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N); + +/* +** CAPI3REF: Checkpoint a database +** +** ^The [sqlite3_wal_checkpoint(D,X)] interface causes database named X +** on [database connection] D to be [checkpointed]. ^If X is NULL or an +** empty string, then a checkpoint is run on all databases of +** connection D. ^If the database connection D is not in +** [WAL | write-ahead log mode] then this interface is a harmless no-op. +** +** ^The [wal_checkpoint pragma] can be used to invoke this interface +** from SQL. ^The [sqlite3_wal_autocheckpoint()] interface and the +** [wal_autocheckpoint pragma] can be used to cause this interface to be +** run whenever the WAL reaches a certain size threshold. +*/ +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); + +/* ** Undo the hack that converts floating point types to integer for ** builds on processors without floating point support. */ @@ -6531,6 +6776,7 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); */ #ifdef SQLITE_OMIT_FLOATING_POINT # define double sqlite_int64 +# define float sqlite_int64 # define LONGDOUBLE_TYPE sqlite_int64 # ifndef SQLITE_BIG_DBL # define SQLITE_BIG_DBL (((sqlite3_int64)1)<<50) @@ -6942,6 +7188,7 @@ SQLITE_PRIVATE int sqlite3BtreeSyncDisabled(Btree*); SQLITE_PRIVATE int sqlite3BtreeSetPageSize(Btree *p, int nPagesize, int nReserve, int eFix); SQLITE_PRIVATE int sqlite3BtreeGetPageSize(Btree*); SQLITE_PRIVATE int sqlite3BtreeMaxPageCount(Btree*,int); +SQLITE_PRIVATE u32 sqlite3BtreeLastPage(Btree*); SQLITE_PRIVATE int sqlite3BtreeSecureDelete(Btree*,int); SQLITE_PRIVATE int sqlite3BtreeGetReserve(Btree*); SQLITE_PRIVATE int sqlite3BtreeSetAutoVacuum(Btree *, int); @@ -7046,6 +7293,8 @@ SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE void sqlite3BtreeCacheOverflow(BtCursor *); SQLITE_PRIVATE void sqlite3BtreeClearCursor(BtCursor *); +SQLITE_PRIVATE int sqlite3BtreeSetVersion(Btree *pBt, int iVersion); + #ifndef NDEBUG SQLITE_PRIVATE int sqlite3BtreeCursorIsValid(BtCursor*); #endif @@ -7059,6 +7308,10 @@ SQLITE_PRIVATE int sqlite3BtreeCursorInfo(BtCursor*, int*, int); SQLITE_PRIVATE void sqlite3BtreeCursorList(Btree*); #endif +#ifndef SQLITE_OMIT_WAL +SQLITE_PRIVATE int sqlite3BtreeCheckpoint(Btree*); +#endif + /* ** If we are not using shared cache, then there is no need to ** use mutexes to access the BtShared structures. So make the @@ -7188,8 +7441,8 @@ struct SubProgram { int nOp; /* Elements in aOp[] */ int nMem; /* Number of memory cells required */ int nCsr; /* Number of cursors required */ - int nRef; /* Number of pointers to this structure */ void *token; /* id that may be used to recursive triggers */ + SubProgram *pNext; /* Next sub-program already visited */ }; /* @@ -7336,83 +7589,83 @@ typedef struct VdbeOpList VdbeOpList; #define OP_VerifyCookie 37 #define OP_OpenRead 38 #define OP_OpenWrite 39 -#define OP_OpenEphemeral 40 -#define OP_OpenPseudo 41 -#define OP_Close 42 -#define OP_SeekLt 43 -#define OP_SeekLe 44 -#define OP_SeekGe 45 -#define OP_SeekGt 46 -#define OP_Seek 47 -#define OP_NotFound 48 -#define OP_Found 49 -#define OP_IsUnique 50 -#define OP_NotExists 51 -#define OP_Sequence 52 -#define OP_NewRowid 53 -#define OP_Insert 54 -#define OP_InsertInt 55 -#define OP_Delete 56 -#define OP_ResetCount 57 -#define OP_RowKey 58 -#define OP_RowData 59 -#define OP_Rowid 60 -#define OP_NullRow 61 -#define OP_Last 62 -#define OP_Sort 63 -#define OP_Rewind 64 -#define OP_Prev 65 -#define OP_Next 66 -#define OP_IdxInsert 67 -#define OP_IdxDelete 70 -#define OP_IdxRowid 71 -#define OP_IdxLT 72 -#define OP_IdxGE 81 -#define OP_Destroy 92 -#define OP_Clear 95 -#define OP_CreateIndex 96 -#define OP_CreateTable 97 -#define OP_ParseSchema 98 -#define OP_LoadAnalysis 99 -#define OP_DropTable 100 -#define OP_DropIndex 101 -#define OP_DropTrigger 102 -#define OP_IntegrityCk 103 -#define OP_RowSetAdd 104 -#define OP_RowSetRead 105 -#define OP_RowSetTest 106 -#define OP_Program 107 -#define OP_Param 108 -#define OP_FkCounter 109 -#define OP_FkIfZero 110 -#define OP_MemMax 111 -#define OP_IfPos 112 -#define OP_IfNeg 113 -#define OP_IfZero 114 -#define OP_AggStep 115 -#define OP_AggFinal 116 -#define OP_Vacuum 117 -#define OP_IncrVacuum 118 -#define OP_Expire 119 -#define OP_TableLock 120 -#define OP_VBegin 121 -#define OP_VCreate 122 -#define OP_VDestroy 123 -#define OP_VOpen 124 -#define OP_VFilter 125 -#define OP_VColumn 126 -#define OP_VNext 127 -#define OP_VRename 128 -#define OP_VUpdate 129 -#define OP_Pagecount 131 -#define OP_Trace 132 -#define OP_Noop 133 -#define OP_Explain 134 +#define OP_OpenAutoindex 40 +#define OP_OpenEphemeral 41 +#define OP_OpenPseudo 42 +#define OP_Close 43 +#define OP_SeekLt 44 +#define OP_SeekLe 45 +#define OP_SeekGe 46 +#define OP_SeekGt 47 +#define OP_Seek 48 +#define OP_NotFound 49 +#define OP_Found 50 +#define OP_IsUnique 51 +#define OP_NotExists 52 +#define OP_Sequence 53 +#define OP_NewRowid 54 +#define OP_Insert 55 +#define OP_InsertInt 56 +#define OP_Delete 57 +#define OP_ResetCount 58 +#define OP_RowKey 59 +#define OP_RowData 60 +#define OP_Rowid 61 +#define OP_NullRow 62 +#define OP_Last 63 +#define OP_Sort 64 +#define OP_Rewind 65 +#define OP_Prev 66 +#define OP_Next 67 +#define OP_IdxInsert 70 +#define OP_IdxDelete 71 +#define OP_IdxRowid 72 +#define OP_IdxLT 81 +#define OP_IdxGE 92 +#define OP_Destroy 95 +#define OP_Clear 96 +#define OP_CreateIndex 97 +#define OP_CreateTable 98 +#define OP_ParseSchema 99 +#define OP_LoadAnalysis 100 +#define OP_DropTable 101 +#define OP_DropIndex 102 +#define OP_DropTrigger 103 +#define OP_IntegrityCk 104 +#define OP_RowSetAdd 105 +#define OP_RowSetRead 106 +#define OP_RowSetTest 107 +#define OP_Program 108 +#define OP_Param 109 +#define OP_FkCounter 110 +#define OP_FkIfZero 111 +#define OP_MemMax 112 +#define OP_IfPos 113 +#define OP_IfNeg 114 +#define OP_IfZero 115 +#define OP_AggStep 116 +#define OP_AggFinal 117 +#define OP_Checkpoint 118 +#define OP_JournalMode 119 +#define OP_Vacuum 120 +#define OP_IncrVacuum 121 +#define OP_Expire 122 +#define OP_TableLock 123 +#define OP_VBegin 124 +#define OP_VCreate 125 +#define OP_VDestroy 126 +#define OP_VOpen 127 +#define OP_VFilter 128 +#define OP_VColumn 129 +#define OP_VNext 131 +#define OP_VRename 132 +#define OP_VUpdate 133 +#define OP_Pagecount 134 +#define OP_Trace 135 +#define OP_Noop 136 +#define OP_Explain 137 /* The following opcode values are never used */ -#define OP_NotUsed_135 135 -#define OP_NotUsed_136 136 -#define OP_NotUsed_137 137 #define OP_NotUsed_138 138 #define OP_NotUsed_139 139 #define OP_NotUsed_140 140 @@ -7431,22 +7684,22 @@ typedef struct VdbeOpList VdbeOpList; #define OPFLG_OUT3 0x0040 /* out3: P3 is an output */ #define OPFLG_INITIALIZER {\ /* 0 */ 0x00, 0x01, 0x05, 0x04, 0x04, 0x10, 0x00, 0x02,\ -/* 8 */ 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x24, 0x24,\ +/* 8 */ 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x24, 0x24,\ /* 16 */ 0x00, 0x00, 0x00, 0x24, 0x04, 0x05, 0x04, 0x00,\ /* 24 */ 0x00, 0x01, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02,\ /* 32 */ 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00,\ -/* 40 */ 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x08,\ -/* 48 */ 0x11, 0x11, 0x11, 0x11, 0x02, 0x02, 0x00, 0x00,\ -/* 56 */ 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x01,\ -/* 64 */ 0x01, 0x01, 0x01, 0x08, 0x4c, 0x4c, 0x00, 0x02,\ -/* 72 */ 0x01, 0x05, 0x05, 0x15, 0x15, 0x15, 0x15, 0x15,\ +/* 40 */ 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11,\ +/* 48 */ 0x08, 0x11, 0x11, 0x11, 0x11, 0x02, 0x02, 0x00,\ +/* 56 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,\ +/* 64 */ 0x01, 0x01, 0x01, 0x01, 0x4c, 0x4c, 0x08, 0x00,\ +/* 72 */ 0x02, 0x05, 0x05, 0x15, 0x15, 0x15, 0x15, 0x15,\ /* 80 */ 0x15, 0x01, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,\ -/* 88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x02, 0x24, 0x02, 0x00,\ -/* 96 */ 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 104 */ 0x0c, 0x45, 0x15, 0x01, 0x02, 0x00, 0x01, 0x08,\ -/* 112 */ 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00,\ -/* 120 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,\ -/* 128 */ 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,\ +/* 88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x01, 0x24, 0x02, 0x02,\ +/* 96 */ 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 104 */ 0x00, 0x0c, 0x45, 0x15, 0x01, 0x02, 0x00, 0x01,\ +/* 112 */ 0x08, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02,\ +/* 120 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 128 */ 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x00,\ /* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04,\ /* 144 */ 0x04, 0x04,} @@ -7477,6 +7730,7 @@ SQLITE_PRIVATE VdbeOp *sqlite3VdbeGetOp(Vdbe*, int); SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeRunOnlyOnce(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe*); +SQLITE_PRIVATE void sqlite3VdbeDeleteObject(sqlite3*,Vdbe*); SQLITE_PRIVATE void sqlite3VdbeMakeReady(Vdbe*,int,int,int,int,int,int); SQLITE_PRIVATE int sqlite3VdbeFinalize(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeResolveLabel(Vdbe*, int); @@ -7494,7 +7748,6 @@ SQLITE_PRIVATE sqlite3 *sqlite3VdbeDb(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe*, const char *z, int n, int); SQLITE_PRIVATE void sqlite3VdbeSwap(Vdbe*,Vdbe*); SQLITE_PRIVATE VdbeOp *sqlite3VdbeTakeOpArray(Vdbe*, int*, int*); -SQLITE_PRIVATE void sqlite3VdbeProgramDelete(sqlite3 *, SubProgram *, int); SQLITE_PRIVATE sqlite3_value *sqlite3VdbeGetValue(Vdbe*, int, u8); SQLITE_PRIVATE void sqlite3VdbeSetVarmask(Vdbe*, int); #ifndef SQLITE_OMIT_TRACE @@ -7505,6 +7758,10 @@ SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeRecordUnpack(KeyInfo*,int,const void*, SQLITE_PRIVATE void sqlite3VdbeDeleteUnpackedRecord(UnpackedRecord*); SQLITE_PRIVATE int sqlite3VdbeRecordCompare(int,const void*,UnpackedRecord*); +#ifndef SQLITE_OMIT_TRIGGER +SQLITE_PRIVATE void sqlite3VdbeLinkSubProgram(Vdbe *, SubProgram *); +#endif + #ifndef NDEBUG SQLITE_PRIVATE void sqlite3VdbeComment(Vdbe*, const char*, ...); @@ -7592,14 +7849,15 @@ typedef struct PgHdr DbPage; #define PAGER_LOCKINGMODE_EXCLUSIVE 1 /* -** Valid values for the second argument to sqlite3PagerJournalMode(). +** Numeric constants that encode the journalmode. */ -#define PAGER_JOURNALMODE_QUERY -1 +#define PAGER_JOURNALMODE_QUERY (-1) /* Query the value of journalmode */ #define PAGER_JOURNALMODE_DELETE 0 /* Commit by deleting journal file */ #define PAGER_JOURNALMODE_PERSIST 1 /* Commit by zeroing journal header */ #define PAGER_JOURNALMODE_OFF 2 /* Journal omitted. */ #define PAGER_JOURNALMODE_TRUNCATE 3 /* Commit by truncating journal */ #define PAGER_JOURNALMODE_MEMORY 4 /* In-memory journal file */ +#define PAGER_JOURNALMODE_WAL 5 /* Use write-ahead logging */ /* ** The remainder of this file contains the declarations of the functions @@ -7622,12 +7880,14 @@ SQLITE_PRIVATE int sqlite3PagerReadFileheader(Pager*, int, unsigned char*); /* Functions used to configure a Pager object. */ SQLITE_PRIVATE void sqlite3PagerSetBusyhandler(Pager*, int(*)(void *), void *); -SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager*, u16*, int); +SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager*, u32*, int); SQLITE_PRIVATE int sqlite3PagerMaxPageCount(Pager*, int); SQLITE_PRIVATE void sqlite3PagerSetCachesize(Pager*, int); SQLITE_PRIVATE void sqlite3PagerSetSafetyLevel(Pager*,int,int); SQLITE_PRIVATE int sqlite3PagerLockingMode(Pager *, int); -SQLITE_PRIVATE int sqlite3PagerJournalMode(Pager *, int); +SQLITE_PRIVATE int sqlite3PagerSetJournalMode(Pager *, int); +SQLITE_PRIVATE int sqlite3PagerGetJournalMode(Pager*); +SQLITE_PRIVATE int sqlite3PagerOkToChangeJournalMode(Pager*); SQLITE_PRIVATE i64 sqlite3PagerJournalSizeLimit(Pager *, i64); SQLITE_PRIVATE sqlite3_backup **sqlite3PagerBackupPtr(Pager*); @@ -7647,9 +7907,10 @@ SQLITE_PRIVATE void *sqlite3PagerGetData(DbPage *); SQLITE_PRIVATE void *sqlite3PagerGetExtra(DbPage *); /* Functions used to manage pager transactions and savepoints. */ -SQLITE_PRIVATE int sqlite3PagerPagecount(Pager*, int*); +SQLITE_PRIVATE void sqlite3PagerPagecount(Pager*, int*); SQLITE_PRIVATE int sqlite3PagerBegin(Pager*, int exFlag, int); SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne(Pager*,const char *zMaster, int); +SQLITE_PRIVATE int sqlite3PagerExclusiveLock(Pager*); SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerCommitPhaseTwo(Pager*); SQLITE_PRIVATE int sqlite3PagerRollback(Pager*); @@ -7657,9 +7918,16 @@ SQLITE_PRIVATE int sqlite3PagerOpenSavepoint(Pager *pPager, int n); SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint); SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerCheckpoint(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerWalSupported(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerWalCallback(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerOpenWal(Pager *pPager, int *pisOpen); +SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager); + /* Functions used to query pager state and configuration. */ SQLITE_PRIVATE u8 sqlite3PagerIsreadonly(Pager*); SQLITE_PRIVATE int sqlite3PagerRefcount(Pager*); +SQLITE_PRIVATE int sqlite3PagerMemUsed(Pager*); SQLITE_PRIVATE const char *sqlite3PagerFilename(Pager*); SQLITE_PRIVATE const sqlite3_vfs *sqlite3PagerVfs(Pager*); SQLITE_PRIVATE sqlite3_file *sqlite3PagerFile(Pager*); @@ -7671,6 +7939,10 @@ SQLITE_PRIVATE int sqlite3PagerIsMemdb(Pager*); /* Functions used to truncate the database file. */ SQLITE_PRIVATE void sqlite3PagerTruncateImage(Pager*,Pgno); +#if defined(SQLITE_HAS_CODEC) && !defined(SQLITE_OMIT_WAL) +SQLITE_PRIVATE void *sqlite3PagerCodec(DbPage *); +#endif + /* Functions to support testing and debugging. */ #if !defined(NDEBUG) || defined(SQLITE_TEST) SQLITE_PRIVATE Pgno sqlite3PagerPagenumber(DbPage*); @@ -8072,7 +8344,11 @@ SQLITE_PRIVATE void sqlite3PCacheSetDefault(void); ** 1GB boundary. ** */ -#define PENDING_BYTE sqlite3PendingByte +#ifdef SQLITE_OMIT_WSD +# define PENDING_BYTE (0x40000000) +#else +# define PENDING_BYTE sqlite3PendingByte +#endif #define RESERVED_BYTE (PENDING_BYTE+1) #define SHARED_FIRST (PENDING_BYTE+2) #define SHARED_SIZE 510 @@ -8098,6 +8374,10 @@ SQLITE_PRIVATE int sqlite3OsFileControl(sqlite3_file*,int,void*); #define SQLITE_FCNTL_DB_UNCHANGED 0xca093fa0 SQLITE_PRIVATE int sqlite3OsSectorSize(sqlite3_file *id); SQLITE_PRIVATE int sqlite3OsDeviceCharacteristics(sqlite3_file *id); +SQLITE_PRIVATE int sqlite3OsShmMap(sqlite3_file *,int,int,int,void volatile **); +SQLITE_PRIVATE int sqlite3OsShmLock(sqlite3_file *id, int, int, int); +SQLITE_PRIVATE void sqlite3OsShmBarrier(sqlite3_file *id); +SQLITE_PRIVATE int sqlite3OsShmUnmap(sqlite3_file *id, int); /* ** Functions for accessing sqlite3_vfs methods @@ -8114,7 +8394,7 @@ SQLITE_PRIVATE void sqlite3OsDlClose(sqlite3_vfs *, void *); #endif /* SQLITE_OMIT_LOAD_EXTENSION */ SQLITE_PRIVATE int sqlite3OsRandomness(sqlite3_vfs *, int, char *); SQLITE_PRIVATE int sqlite3OsSleep(sqlite3_vfs *, int); -SQLITE_PRIVATE int sqlite3OsCurrentTime(sqlite3_vfs *, double*); +SQLITE_PRIVATE int sqlite3OsCurrentTimeInt64(sqlite3_vfs *, sqlite3_int64*); /* ** Convenience functions for opening and closing files using @@ -8222,14 +8502,6 @@ struct Db { /* ** An instance of the following structure stores a database schema. -** -** If there are no virtual tables configured in this schema, the -** Schema.db variable is set to NULL. After the first virtual table -** has been added, it is set to point to the database connection -** used to create the connection. Once a virtual table has been -** added to the Schema structure and the Schema.db variable populated, -** only that database connection may use the Schema to prepare -** statements. */ struct Schema { int schema_cookie; /* Database schema version number for this file */ @@ -8242,9 +8514,6 @@ struct Schema { u8 enc; /* Text encoding used by this database */ u16 flags; /* Flags associated with this schema */ int cache_size; /* Number of pages to use in the cache */ -#ifndef SQLITE_OMIT_VIRTUALTABLE - sqlite3 *db; /* "Owner" connection. See comment above */ -#endif }; /* @@ -8358,7 +8627,6 @@ struct sqlite3 { u8 temp_store; /* 1: file 2: memory 0: default */ u8 mallocFailed; /* True if we have seen a malloc failure */ u8 dfltLockMode; /* Default locking-mode for attached dbs */ - u8 dfltJournalMode; /* Default journal mode for attached dbs */ signed char nextAutovac; /* Autovac setting after VACUUM if >=0 */ u8 suppressErr; /* Do not issue error messages if true */ int nextPagesize; /* Pagesize after VACUUM if >0 */ @@ -8391,6 +8659,10 @@ struct sqlite3 { void (*xRollbackCallback)(void*); /* Invoked at every commit. */ void *pUpdateArg; void (*xUpdateCallback)(void*,int, const char*,const char*,sqlite_int64); +#ifndef SQLITE_OMIT_WAL + int (*xWalCallback)(void *, sqlite3 *, const char *, int); + void *pWalArg; +#endif void(*xCollNeeded)(void*,sqlite3*,int eTextRep,const char*); void(*xCollNeeded16)(void*,sqlite3*,int eTextRep,const void*); void *pCollNeededArg; @@ -8429,6 +8701,7 @@ struct sqlite3 { int nStatement; /* Number of nested statement-transactions */ u8 isTransactionSavepoint; /* True if the outermost savepoint is a TS */ i64 nDeferredCons; /* Net deferred constraints this transaction. */ + int *pnBytesFreed; /* If not NULL, increment this in DbFree() */ #ifdef SQLITE_ENABLE_UNLOCK_NOTIFY /* The following variables are all protected by the STATIC_MASTER @@ -8481,6 +8754,8 @@ struct sqlite3 { #define SQLITE_ReverseOrder 0x01000000 /* Reverse unordered SELECTs */ #define SQLITE_RecTriggers 0x02000000 /* Enable recursive triggers */ #define SQLITE_ForeignKeys 0x04000000 /* Enforce foreign key constraints */ +#define SQLITE_AutoIndex 0x08000000 /* Enable automatic indexes */ +#define SQLITE_PreferBuiltin 0x10000000 /* Preference to built-in funcs */ /* ** Bits of the sqlite3.flags field that are used by the @@ -8492,7 +8767,8 @@ struct sqlite3 { #define SQLITE_IndexSort 0x04 /* Disable indexes for sorting */ #define SQLITE_IndexSearch 0x08 /* Disable indexes for searching */ #define SQLITE_IndexCover 0x10 /* Disable index covering table */ -#define SQLITE_OptMask 0x1f /* Mask of all disablable opts */ +#define SQLITE_GroupByOrder 0x20 /* Disable GROUPBY cover of ORDERBY */ +#define SQLITE_OptMask 0xff /* Mask of all disablable opts */ /* ** Possible values for the sqlite.magic field. @@ -8784,7 +9060,6 @@ struct VTable { ** of a SELECT statement. */ struct Table { - sqlite3 *dbMem; /* DB connection used for lookaside allocations. */ char *zName; /* Name of the table or view */ int iPKey; /* If not negative, use aCol[iPKey] as the primary key */ int nCol; /* Number of columns in this table */ @@ -8921,9 +9196,9 @@ struct FKey { */ struct KeyInfo { sqlite3 *db; /* The database connection */ - u8 enc; /* Text encoding - one of the TEXT_Utf* values */ + u8 enc; /* Text encoding - one of the SQLITE_UTF* values */ u16 nField; /* Number of entries in aColl[] */ - u8 *aSortOrder; /* If defined an aSortOrder[i] is true, sort DESC */ + u8 *aSortOrder; /* Sort order for each column. May be NULL */ CollSeq *aColl[1]; /* Collating sequence for each term of the key */ }; @@ -9343,6 +9618,9 @@ typedef u64 Bitmask; ** and the next table on the list. The parser builds the list this way. ** But sqlite3SrcListShiftJoinType() later shifts the jointypes so that each ** jointype expresses the join between the table and the previous table. +** +** In the colUsed field, the high-order bit (bit 63) is set if the table +** contains more than 63 columns and the 64-th or later column is used. */ struct SrcList { i16 nSrc; /* Number of tables or subqueries in the FROM clause */ @@ -9454,7 +9732,7 @@ struct WhereLevel { #define WHERE_ORDERBY_MAX 0x0002 /* ORDER BY processing for max() func */ #define WHERE_ONEPASS_DESIRED 0x0004 /* Want to do one-pass UPDATE/DELETE */ #define WHERE_DUPLICATES_OK 0x0008 /* Ok to return a row more than once */ -#define WHERE_OMIT_OPEN 0x0010 /* Table cursor are already open */ +#define WHERE_OMIT_OPEN 0x0010 /* Table cursors are already open */ #define WHERE_OMIT_CLOSE 0x0020 /* Omit close of table & index cursors */ #define WHERE_FORCE_TABLE 0x0040 /* Do not use an index-only search */ #define WHERE_ONETABLE_ONLY 0x0080 /* Only code the 1st table in pTabList */ @@ -9477,6 +9755,7 @@ struct WhereInfo { int iBreak; /* Jump here to break out of the loop */ int nLevel; /* Number of nested loop */ struct WhereClause *pWC; /* Decomposition of the WHERE clause */ + double savedNQueryLoop; /* pParse->nQueryLoop outside the WHERE loop */ WhereLevel a[1]; /* Information about each nest loop in WHERE */ }; @@ -9718,6 +9997,7 @@ struct Parse { u8 eTriggerOp; /* TK_UPDATE, TK_INSERT or TK_DELETE */ u8 eOrconf; /* Default ON CONFLICT policy for trigger steps */ u8 disableTriggers; /* True to disable triggers */ + double nQueryLoop; /* Estimated number of iterations of a query */ /* Above is constant between recursions. Below is reset before and after ** each recursion */ @@ -9888,7 +10168,7 @@ struct StrAccum { int nAlloc; /* Amount of space allocated in zText */ int mxAlloc; /* Maximum allowed string length */ u8 mallocFailed; /* Becomes true if any memory allocation fails */ - u8 useMalloc; /* True if zText is enlargeable using realloc */ + u8 useMalloc; /* 0: none, 1: sqlite3DbMalloc, 2: sqlite3_malloc */ u8 tooBig; /* Becomes true if string size exceeds limits */ }; @@ -10093,7 +10373,8 @@ SQLITE_PRIVATE const sqlite3_mem_methods *sqlite3MemGetMemsys5(void); #ifndef SQLITE_MUTEX_OMIT -SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void); +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void); +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3NoopMutex(void); SQLITE_PRIVATE sqlite3_mutex *sqlite3MutexAlloc(int); SQLITE_PRIVATE int sqlite3MutexInit(void); SQLITE_PRIVATE int sqlite3MutexEnd(void); @@ -10185,7 +10466,7 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse*,Table*); #endif SQLITE_PRIVATE void sqlite3DropTable(Parse*, SrcList*, int, int); -SQLITE_PRIVATE void sqlite3DeleteTable(Table*); +SQLITE_PRIVATE void sqlite3DeleteTable(sqlite3*, Table*); #ifndef SQLITE_OMIT_AUTOINCREMENT SQLITE_PRIVATE void sqlite3AutoincrementBegin(Parse *pParse); SQLITE_PRIVATE void sqlite3AutoincrementEnd(Parse *pParse); @@ -10225,6 +10506,7 @@ SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*, Expr*, int); SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(Parse*, SrcList*, Expr*, ExprList**, u16); SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo*); SQLITE_PRIVATE int sqlite3ExprCodeGetColumn(Parse*, Table*, int, int, int); +SQLITE_PRIVATE void sqlite3ExprCodeGetColumnOfTable(Vdbe*, Table*, int, int, int); SQLITE_PRIVATE void sqlite3ExprCodeMove(Parse*, int, int, int); SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse*, int, int, int); SQLITE_PRIVATE void sqlite3ExprCacheStore(Parse*, int, int, int); @@ -10251,6 +10533,7 @@ SQLITE_PRIVATE void sqlite3Vacuum(Parse*); SQLITE_PRIVATE int sqlite3RunVacuum(char**, sqlite3*); SQLITE_PRIVATE char *sqlite3NameFromToken(sqlite3*, Token*); SQLITE_PRIVATE int sqlite3ExprCompare(Expr*, Expr*); +SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList*, ExprList*); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse*); @@ -10417,7 +10700,8 @@ SQLITE_PRIVATE int sqlite3ReadSchema(Parse *pParse); SQLITE_PRIVATE CollSeq *sqlite3FindCollSeq(sqlite3*,u8 enc, const char*,int); SQLITE_PRIVATE CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char*zName); SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr); -SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Parse *pParse, Expr *, Token *); +SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr*, CollSeq*); +SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr*, Token*); SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *, CollSeq *); SQLITE_PRIVATE int sqlite3CheckObjectName(Parse *, const char *); SQLITE_PRIVATE void sqlite3VdbeSetChanges(sqlite3 *, int); @@ -10438,13 +10722,16 @@ SQLITE_PRIVATE void sqlite3ValueApplyAffinity(sqlite3_value *, u8, u8); SQLITE_PRIVATE const unsigned char sqlite3OpcodeProperty[]; SQLITE_PRIVATE const unsigned char sqlite3UpperToLower[]; SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[]; +SQLITE_PRIVATE const Token sqlite3IntTokens[]; SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config; SQLITE_PRIVATE SQLITE_WSD FuncDefHash sqlite3GlobalFunctions; +#ifndef SQLITE_OMIT_WSD SQLITE_PRIVATE int sqlite3PendingByte; #endif +#endif SQLITE_PRIVATE void sqlite3RootPageMoved(Db*, int, int); SQLITE_PRIVATE void sqlite3Reindex(Parse*, Token*, Token*); -SQLITE_PRIVATE void sqlite3AlterFunctions(sqlite3*); +SQLITE_PRIVATE void sqlite3AlterFunctions(void); SQLITE_PRIVATE void sqlite3AlterRenameTable(Parse*, SrcList*, Token*); SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *, int *); SQLITE_PRIVATE void sqlite3NestedParse(Parse*, const char*, ...); @@ -10464,7 +10751,7 @@ SQLITE_PRIVATE int sqlite3InvokeBusyHandler(BusyHandler*); SQLITE_PRIVATE int sqlite3FindDb(sqlite3*, Token*); SQLITE_PRIVATE int sqlite3FindDbName(sqlite3 *, const char *); SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3*,int iDB); -SQLITE_PRIVATE void sqlite3DeleteIndexSamples(Index*); +SQLITE_PRIVATE void sqlite3DeleteIndexSamples(sqlite3*,Index*); SQLITE_PRIVATE void sqlite3DefaultRowEst(Index*); SQLITE_PRIVATE void sqlite3RegisterLikeFunctions(sqlite3*, int); SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3*,Expr*,int*,char*); @@ -10526,7 +10813,7 @@ SQLITE_PRIVATE int sqlite3Utf8To8(unsigned char*); # define sqlite3VtabUnlock(X) # define sqlite3VtabUnlockList(X) #else -SQLITE_PRIVATE void sqlite3VtabClear(Table*); +SQLITE_PRIVATE void sqlite3VtabClear(sqlite3 *db, Table*); SQLITE_PRIVATE int sqlite3VtabSync(sqlite3 *db, char **); SQLITE_PRIVATE int sqlite3VtabRollback(sqlite3 *db); SQLITE_PRIVATE int sqlite3VtabCommit(sqlite3 *db); @@ -10553,6 +10840,9 @@ SQLITE_PRIVATE void sqlite3ExprListCheckLength(Parse*, ExprList*, const char*); SQLITE_PRIVATE CollSeq *sqlite3BinaryCompareCollSeq(Parse *, Expr *, Expr *); SQLITE_PRIVATE int sqlite3TempInMemory(const sqlite3*); SQLITE_PRIVATE VTable *sqlite3GetVTable(sqlite3*, Table*); +SQLITE_PRIVATE const char *sqlite3JournalModename(int); +SQLITE_PRIVATE int sqlite3Checkpoint(sqlite3*, int); +SQLITE_PRIVATE int sqlite3WalDefaultHook(void*,sqlite3*,const char*,int); /* Declarations for functions in fkey.c. All of these are replaced by ** no-op macros if OMIT_FOREIGN_KEY is defined. In this case no foreign @@ -10576,9 +10866,9 @@ SQLITE_PRIVATE FKey *sqlite3FkReferences(Table *); #define sqlite3FkRequired(a,b,c,d) 0 #endif #ifndef SQLITE_OMIT_FOREIGN_KEY -SQLITE_PRIVATE void sqlite3FkDelete(Table*); +SQLITE_PRIVATE void sqlite3FkDelete(sqlite3 *, Table*); #else - #define sqlite3FkDelete(a) + #define sqlite3FkDelete(a,b) #endif @@ -10659,7 +10949,50 @@ SQLITE_PRIVATE void (*sqlite3IoTrace)(const char*,...); # define sqlite3VdbeIOTraceSql(X) #endif +/* +** These routines are available for the mem2.c debugging memory allocator +** only. They are used to verify that different "types" of memory +** allocations are properly tracked by the system. +** +** sqlite3MemdebugSetType() sets the "type" of an allocation to one of +** the MEMTYPE_* macros defined below. The type must be a bitmask with +** a single bit set. +** +** sqlite3MemdebugHasType() returns true if any of the bits in its second +** argument match the type set by the previous sqlite3MemdebugSetType(). +** sqlite3MemdebugHasType() is intended for use inside assert() statements. +** +** sqlite3MemdebugNoType() returns true if none of the bits in its second +** argument match the type set by the previous sqlite3MemdebugSetType(). +** +** Perhaps the most important point is the difference between MEMTYPE_HEAP +** and MEMTYPE_LOOKASIDE. If an allocation is MEMTYPE_LOOKASIDE, that means +** it might have been allocated by lookaside, except the allocation was +** too large or lookaside was already full. It is important to verify +** that allocations that might have been satisfied by lookaside are not +** passed back to non-lookaside free() routines. Asserts such as the +** example above are placed on the non-lookaside free() routines to verify +** this constraint. +** +** All of this is no-op for a production build. It only comes into +** play when the SQLITE_MEMDEBUG compile-time option is used. +*/ +#ifdef SQLITE_MEMDEBUG +SQLITE_PRIVATE void sqlite3MemdebugSetType(void*,u8); +SQLITE_PRIVATE int sqlite3MemdebugHasType(void*,u8); +SQLITE_PRIVATE int sqlite3MemdebugNoType(void*,u8); +#else +# define sqlite3MemdebugSetType(X,Y) /* no-op */ +# define sqlite3MemdebugHasType(X,Y) 1 +# define sqlite3MemdebugNoType(X,Y) 1 #endif +#define MEMTYPE_HEAP 0x01 /* General heap allocations */ +#define MEMTYPE_LOOKASIDE 0x02 /* Might have been lookaside memory */ +#define MEMTYPE_SCRATCH 0x04 /* Scratch allocations */ +#define MEMTYPE_PCACHE 0x08 /* Page cache allocations */ +#define MEMTYPE_DB 0x10 /* Uses sqlite3DbMalloc, not sqlite_malloc */ + +#endif /* _SQLITEINT_H_ */ /************** End of sqliteInt.h *******************************************/ /************** Begin file global.c ******************************************/ @@ -10841,6 +11174,15 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { SQLITE_PRIVATE SQLITE_WSD FuncDefHash sqlite3GlobalFunctions; /* +** Constant tokens for values 0 and 1. +*/ +SQLITE_PRIVATE const Token sqlite3IntTokens[] = { + { "0", 1 }, + { "1", 1 } +}; + + +/* ** The value of the "pending" byte must be 0x40000000 (1 byte past the ** 1-gibabyte boundary) in a compatible database. SQLite never uses ** the database page that contains the pending byte. It never attempts @@ -10858,7 +11200,9 @@ SQLITE_PRIVATE SQLITE_WSD FuncDefHash sqlite3GlobalFunctions; ** Changing the pending byte during operating results in undefined ** and dileterious behavior. */ +#ifndef SQLITE_OMIT_WSD SQLITE_PRIVATE int sqlite3PendingByte = 0x40000000; +#endif /* ** Properties of opcodes. The OPFLG_INITIALIZER macro is @@ -11042,6 +11386,9 @@ static const char * const azCompileOpt[] = { #ifdef SQLITE_OMIT_AUTOINIT "OMIT_AUTOINIT", #endif +#ifdef SQLITE_OMIT_AUTOMATIC_INDEX + "OMIT_AUTOMATIC_INDEX", +#endif #ifdef SQLITE_OMIT_AUTOVACUUM "OMIT_AUTOVACUUM", #endif @@ -11063,9 +11410,11 @@ static const char * const azCompileOpt[] = { #ifdef SQLITE_OMIT_CHECK "OMIT_CHECK", #endif -#ifdef SQLITE_OMIT_COMPILEOPTION_DIAGS - "OMIT_COMPILEOPTION_DIAGS", -#endif +/* // redundant +** #ifdef SQLITE_OMIT_COMPILEOPTION_DIAGS +** "OMIT_COMPILEOPTION_DIAGS", +** #endif +*/ #ifdef SQLITE_OMIT_COMPLETE "OMIT_COMPLETE", #endif @@ -11099,9 +11448,6 @@ static const char * const azCompileOpt[] = { #ifdef SQLITE_OMIT_GET_TABLE "OMIT_GET_TABLE", #endif -#ifdef SQLITE_OMIT_GLOBALRECOVER - "OMIT_GLOBALRECOVER", -#endif #ifdef SQLITE_OMIT_INCRBLOB "OMIT_INCRBLOB", #endif @@ -11180,6 +11526,9 @@ static const char * const azCompileOpt[] = { #ifdef SQLITE_OMIT_VIRTUALTABLE "OMIT_VIRTUALTABLE", #endif +#ifdef SQLITE_OMIT_WAL + "OMIT_WAL", +#endif #ifdef SQLITE_OMIT_WSD "OMIT_WSD", #endif @@ -11272,215 +11621,727 @@ SQLITE_API const char *sqlite3_compileoption_get(int N){ ** This module implements the sqlite3_status() interface and related ** functionality. */ - +/************** Include vdbeInt.h in the middle of status.c ******************/ +/************** Begin file vdbeInt.h *****************************************/ /* -** Variables in which to record status information. -*/ -typedef struct sqlite3StatType sqlite3StatType; -static SQLITE_WSD struct sqlite3StatType { - int nowValue[9]; /* Current value */ - int mxValue[9]; /* Maximum value */ -} sqlite3Stat = { {0,}, {0,} }; - - -/* The "wsdStat" macro will resolve to the status information -** state vector. If writable static data is unsupported on the target, -** we have to locate the state vector at run-time. In the more common -** case where writable static data is supported, wsdStat can refer directly -** to the "sqlite3Stat" state vector declared above. +** 2003 September 6 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** This is the header file for information that is private to the +** VDBE. This information used to all be at the top of the single +** source code file "vdbe.c". When that file became too big (over +** 6000 lines long) it was split up into several smaller files and +** this header information was factored out. */ -#ifdef SQLITE_OMIT_WSD -# define wsdStatInit sqlite3StatType *x = &GLOBAL(sqlite3StatType,sqlite3Stat) -# define wsdStat x[0] -#else -# define wsdStatInit -# define wsdStat sqlite3Stat -#endif +#ifndef _VDBEINT_H_ +#define _VDBEINT_H_ /* -** Return the current value of a status parameter. +** SQL is translated into a sequence of instructions to be +** executed by a virtual machine. Each instruction is an instance +** of the following structure. */ -SQLITE_PRIVATE int sqlite3StatusValue(int op){ - wsdStatInit; - assert( op>=0 && op=0 && opwsdStat.mxValue[op] ){ - wsdStat.mxValue[op] = wsdStat.nowValue[op]; - } -} +typedef unsigned char Bool; /* -** Set the value of a status to X. +** A cursor is a pointer into a single BTree within a database file. +** The cursor can seek to a BTree entry with a particular key, or +** loop over all entries of the Btree. You can also insert new BTree +** entries or retrieve the key or data from the entry that the cursor +** is currently pointing to. +** +** Every cursor that the virtual machine has open is represented by an +** instance of the following structure. +** +** If the VdbeCursor.isTriggerRow flag is set it means that this cursor is +** really a single row that represents the NEW or OLD pseudo-table of +** a row trigger. The data for the row is stored in VdbeCursor.pData and +** the rowid is in VdbeCursor.iKey. */ -SQLITE_PRIVATE void sqlite3StatusSet(int op, int X){ - wsdStatInit; - assert( op>=0 && opwsdStat.mxValue[op] ){ - wsdStat.mxValue[op] = wsdStat.nowValue[op]; - } -} +struct VdbeCursor { + BtCursor *pCursor; /* The cursor structure of the backend */ + int iDb; /* Index of cursor database in db->aDb[] (or -1) */ + i64 lastRowid; /* Last rowid from a Next or NextIdx operation */ + Bool zeroed; /* True if zeroed out and ready for reuse */ + Bool rowidIsValid; /* True if lastRowid is valid */ + Bool atFirst; /* True if pointing to first entry */ + Bool useRandomRowid; /* Generate new record numbers semi-randomly */ + Bool nullRow; /* True if pointing to a row with no data */ + Bool deferredMoveto; /* A call to sqlite3BtreeMoveto() is needed */ + Bool isTable; /* True if a table requiring integer keys */ + Bool isIndex; /* True if an index containing keys only - no data */ + i64 movetoTarget; /* Argument to the deferred sqlite3BtreeMoveto() */ + Btree *pBt; /* Separate file holding temporary table */ + int pseudoTableReg; /* Register holding pseudotable content. */ + KeyInfo *pKeyInfo; /* Info about index keys needed by index cursors */ + int nField; /* Number of fields in the header */ + i64 seqCount; /* Sequence counter */ + sqlite3_vtab_cursor *pVtabCursor; /* The cursor for a virtual table */ + const sqlite3_module *pModule; /* Module for cursor pVtabCursor */ + + /* Result of last sqlite3BtreeMoveto() done by an OP_NotExists or + ** OP_IsUnique opcode on this cursor. */ + int seekResult; + + /* Cached information about the header for the data record that the + ** cursor is currently pointing to. Only valid if cacheStatus matches + ** Vdbe.cacheCtr. Vdbe.cacheCtr will never take on the value of + ** CACHE_STALE and so setting cacheStatus=CACHE_STALE guarantees that + ** the cache is out of date. + ** + ** aRow might point to (ephemeral) data for the current row, or it might + ** be NULL. + */ + u32 cacheStatus; /* Cache is valid if this matches Vdbe.cacheCtr */ + int payloadSize; /* Total number of bytes in the record */ + u32 *aType; /* Type values for all entries in the record */ + u32 *aOffset; /* Cached offsets to the start of each columns data */ + u8 *aRow; /* Data for the current row, if all on one page */ +}; +typedef struct VdbeCursor VdbeCursor; /* -** Query status information. +** When a sub-program is executed (OP_Program), a structure of this type +** is allocated to store the current value of the program counter, as +** well as the current memory cell array and various other frame specific +** values stored in the Vdbe struct. When the sub-program is finished, +** these values are copied back to the Vdbe from the VdbeFrame structure, +** restoring the state of the VM to as it was before the sub-program +** began executing. ** -** This implementation assumes that reading or writing an aligned -** 32-bit integer is an atomic operation. If that assumption is not true, -** then this routine is not threadsafe. +** Frames are stored in a linked list headed at Vdbe.pParent. Vdbe.pParent +** is the parent of the current frame, or zero if the current frame +** is the main Vdbe program. */ -SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag){ - wsdStatInit; - if( op<0 || op>=ArraySize(wsdStat.nowValue) ){ - return SQLITE_MISUSE_BKPT; - } - *pCurrent = wsdStat.nowValue[op]; - *pHighwater = wsdStat.mxValue[op]; - if( resetFlag ){ - wsdStat.mxValue[op] = wsdStat.nowValue[op]; - } - return SQLITE_OK; -} +typedef struct VdbeFrame VdbeFrame; +struct VdbeFrame { + Vdbe *v; /* VM this frame belongs to */ + int pc; /* Program Counter */ + Op *aOp; /* Program instructions */ + int nOp; /* Size of aOp array */ + Mem *aMem; /* Array of memory cells */ + int nMem; /* Number of entries in aMem */ + VdbeCursor **apCsr; /* Element of Vdbe cursors */ + u16 nCursor; /* Number of entries in apCsr */ + void *token; /* Copy of SubProgram.token */ + int nChildMem; /* Number of memory cells for child frame */ + int nChildCsr; /* Number of cursors for child frame */ + i64 lastRowid; /* Last insert rowid (sqlite3.lastRowid) */ + int nChange; /* Statement changes (Vdbe.nChanges) */ + VdbeFrame *pParent; /* Parent of this frame */ +}; + +#define VdbeFrameMem(p) ((Mem *)&((u8 *)p)[ROUND8(sizeof(VdbeFrame))]) /* -** Query status information for a single database connection +** A value for VdbeCursor.cacheValid that means the cache is always invalid. */ -SQLITE_API int sqlite3_db_status( - sqlite3 *db, /* The database connection whose status is desired */ - int op, /* Status verb */ - int *pCurrent, /* Write current value here */ - int *pHighwater, /* Write high-water mark here */ - int resetFlag /* Reset high-water mark if true */ -){ - switch( op ){ - case SQLITE_DBSTATUS_LOOKASIDE_USED: { - *pCurrent = db->lookaside.nOut; - *pHighwater = db->lookaside.mxOut; - if( resetFlag ){ - db->lookaside.mxOut = db->lookaside.nOut; - } - break; - } - default: { - return SQLITE_ERROR; - } - } - return SQLITE_OK; -} +#define CACHE_STALE 0 -/************** End of status.c **********************************************/ -/************** Begin file date.c ********************************************/ /* -** 2003 October 31 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* -** This file contains the C functions that implement date and time -** functions for SQLite. -** -** There is only one exported symbol in this file - the function -** sqlite3RegisterDateTimeFunctions() found at the bottom of the file. -** All other code has file scope. -** -** SQLite processes all times and dates as Julian Day numbers. The -** dates and times are stored as the number of days since noon -** in Greenwich on November 24, 4714 B.C. according to the Gregorian -** calendar system. -** -** 1970-01-01 00:00:00 is JD 2440587.5 -** 2000-01-01 00:00:00 is JD 2451544.5 +** Internally, the vdbe manipulates nearly all SQL values as Mem +** structures. Each Mem struct may cache multiple representations (string, +** integer etc.) of the same value. A value (and therefore Mem structure) +** has the following properties: ** -** This implemention requires years to be expressed as a 4-digit number -** which means that only dates between 0000-01-01 and 9999-12-31 can -** be represented, even though julian day numbers allow a much wider -** range of dates. +** Each value has a manifest type. The manifest type of the value stored +** in a Mem struct is returned by the MemType(Mem*) macro. The type is +** one of SQLITE_NULL, SQLITE_INTEGER, SQLITE_REAL, SQLITE_TEXT or +** SQLITE_BLOB. +*/ +struct Mem { + union { + i64 i; /* Integer value. */ + int nZero; /* Used when bit MEM_Zero is set in flags */ + FuncDef *pDef; /* Used only when flags==MEM_Agg */ + RowSet *pRowSet; /* Used only when flags==MEM_RowSet */ + VdbeFrame *pFrame; /* Used when flags==MEM_Frame */ + } u; + double r; /* Real value */ + sqlite3 *db; /* The associated database connection */ + char *z; /* String or BLOB value */ + int n; /* Number of characters in string value, excluding '\0' */ + u16 flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */ + u8 type; /* One of SQLITE_NULL, SQLITE_TEXT, SQLITE_INTEGER, etc */ + u8 enc; /* SQLITE_UTF8, SQLITE_UTF16BE, SQLITE_UTF16LE */ + void (*xDel)(void *); /* If not null, call this function to delete Mem.z */ + char *zMalloc; /* Dynamic buffer allocated by sqlite3_malloc() */ +}; + +/* One or more of the following flags are set to indicate the validOK +** representations of the value stored in the Mem struct. ** -** The Gregorian calendar system is used for all dates and times, -** even those that predate the Gregorian calendar. Historians usually -** use the Julian calendar for dates prior to 1582-10-15 and for some -** dates afterwards, depending on locale. Beware of this difference. +** If the MEM_Null flag is set, then the value is an SQL NULL value. +** No other flags may be set in this case. ** -** The conversion algorithms are implemented based on descriptions -** in the following text: +** If the MEM_Str flag is set then Mem.z points at a string representation. +** Usually this is encoded in the same unicode encoding as the main +** database (see below for exceptions). If the MEM_Term flag is also +** set, then the string is nul terminated. The MEM_Int and MEM_Real +** flags may coexist with the MEM_Str flag. ** -** Jean Meeus -** Astronomical Algorithms, 2nd Edition, 1998 -** ISBM 0-943396-61-1 -** Willmann-Bell, Inc -** Richmond, Virginia (USA) +** Multiple of these values can appear in Mem.flags. But only one +** at a time can appear in Mem.type. */ -#include +#define MEM_Null 0x0001 /* Value is NULL */ +#define MEM_Str 0x0002 /* Value is a string */ +#define MEM_Int 0x0004 /* Value is an integer */ +#define MEM_Real 0x0008 /* Value is a real number */ +#define MEM_Blob 0x0010 /* Value is a BLOB */ +#define MEM_RowSet 0x0020 /* Value is a RowSet object */ +#define MEM_Frame 0x0040 /* Value is a VdbeFrame object */ +#define MEM_TypeMask 0x00ff /* Mask of type bits */ + +/* Whenever Mem contains a valid string or blob representation, one of +** the following flags must be set to determine the memory management +** policy for Mem.z. The MEM_Term flag tells us whether or not the +** string is \000 or \u0000 terminated +*/ +#define MEM_Term 0x0200 /* String rep is nul terminated */ +#define MEM_Dyn 0x0400 /* Need to call sqliteFree() on Mem.z */ +#define MEM_Static 0x0800 /* Mem.z points to a static string */ +#define MEM_Ephem 0x1000 /* Mem.z points to an ephemeral string */ +#define MEM_Agg 0x2000 /* Mem.z points to an agg function context */ +#define MEM_Zero 0x4000 /* Mem.i contains count of 0s appended to blob */ + +#ifdef SQLITE_OMIT_INCRBLOB + #undef MEM_Zero + #define MEM_Zero 0x0000 +#endif -#ifndef SQLITE_OMIT_DATETIME_FUNCS /* -** On recent Windows platforms, the localtime_s() function is available -** as part of the "Secure CRT". It is essentially equivalent to -** localtime_r() available under most POSIX platforms, except that the -** order of the parameters is reversed. +** Clear any existing type flags from a Mem and replace them with f +*/ +#define MemSetTypeFlag(p, f) \ + ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f) + + +/* A VdbeFunc is just a FuncDef (defined in sqliteInt.h) that contains +** additional information about auxiliary information bound to arguments +** of the function. This is used to implement the sqlite3_get_auxdata() +** and sqlite3_set_auxdata() APIs. The "auxdata" is some auxiliary data +** that can be associated with a constant argument to a function. This +** allows functions such as "regexp" to compile their constant regular +** expression argument once and reused the compiled code for multiple +** invocations. +*/ +struct VdbeFunc { + FuncDef *pFunc; /* The definition of the function */ + int nAux; /* Number of entries allocated for apAux[] */ + struct AuxData { + void *pAux; /* Aux data for the i-th argument */ + void (*xDelete)(void *); /* Destructor for the aux data */ + } apAux[1]; /* One slot for each function argument */ +}; + +/* +** The "context" argument for a installable function. A pointer to an +** instance of this structure is the first argument to the routines used +** implement the SQL functions. ** -** See http://msdn.microsoft.com/en-us/library/a442x3ye(VS.80).aspx. +** There is a typedef for this structure in sqlite.h. So all routines, +** even the public interface to SQLite, can use a pointer to this structure. +** But this file is the only place where the internal details of this +** structure are known. ** -** If the user has not indicated to use localtime_r() or localtime_s() -** already, check for an MSVC build environment that provides -** localtime_s(). +** This structure is defined inside of vdbeInt.h because it uses substructures +** (Mem) which are only defined there. */ -#if !defined(HAVE_LOCALTIME_R) && !defined(HAVE_LOCALTIME_S) && \ - defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE) -#define HAVE_LOCALTIME_S 1 -#endif +struct sqlite3_context { + FuncDef *pFunc; /* Pointer to function information. MUST BE FIRST */ + VdbeFunc *pVdbeFunc; /* Auxilary data, if created. */ + Mem s; /* The return value is stored here */ + Mem *pMem; /* Memory cell used to store aggregate context */ + int isError; /* Error code returned by the function. */ + CollSeq *pColl; /* Collating sequence */ +}; /* -** A structure for holding a single date and time. +** A Set structure is used for quick testing to see if a value +** is part of a small set. Sets are used to implement code like +** this: +** x.y IN ('hi','hoo','hum') */ -typedef struct DateTime DateTime; -struct DateTime { - sqlite3_int64 iJD; /* The julian day number times 86400000 */ - int Y, M, D; /* Year, month, and day */ - int h, m; /* Hour and minutes */ - int tz; /* Timezone offset in minutes */ - double s; /* Seconds */ - char validYMD; /* True (1) if Y,M,D are valid */ - char validHMS; /* True (1) if h,m,s are valid */ - char validJD; /* True (1) if iJD is valid */ - char validTZ; /* True (1) if tz is valid */ +typedef struct Set Set; +struct Set { + Hash hash; /* A set is just a hash table */ + HashElem *prev; /* Previously accessed hash elemen */ }; - /* -** Convert zDate into one or more integers. Additional arguments -** come in groups of 5 as follows: +** An instance of the virtual machine. This structure contains the complete +** state of the virtual machine. ** -** N number of digits in the integer -** min minimum allowed value of the integer -** max maximum allowed value of the integer -** nextC first character after the integer -** pVal where to write the integers value. +** The "sqlite3_stmt" structure pointer that is returned by sqlite3_compile() +** is really a pointer to an instance of this structure. ** -** Conversions continue until one with nextC==0 is encountered. -** The function returns the number of successful conversions. +** The Vdbe.inVtabMethod variable is set to non-zero for the duration of +** any virtual table method invocations made by the vdbe program. It is +** set to 2 for xDestroy method calls and 1 for all other methods. This +** variable is used for two purposes: to allow xDestroy methods to execute +** "DROP TABLE" statements and to prevent some nasty side effects of +** malloc failure when SQLite is invoked recursively by a virtual table +** method function. */ -static int getDigits(const char *zDate, ...){ - va_list ap; - int val; - int N; - int min; - int max; +struct Vdbe { + sqlite3 *db; /* The database connection that owns this statement */ + Vdbe *pPrev,*pNext; /* Linked list of VDBEs with the same Vdbe.db */ + int nOp; /* Number of instructions in the program */ + int nOpAlloc; /* Number of slots allocated for aOp[] */ + Op *aOp; /* Space to hold the virtual machine's program */ + int nLabel; /* Number of labels used */ + int nLabelAlloc; /* Number of slots allocated in aLabel[] */ + int *aLabel; /* Space to hold the labels */ + Mem **apArg; /* Arguments to currently executing user function */ + Mem *aColName; /* Column names to return */ + Mem *pResultSet; /* Pointer to an array of results */ + u16 nResColumn; /* Number of columns in one row of the result set */ + u16 nCursor; /* Number of slots in apCsr[] */ + VdbeCursor **apCsr; /* One element of this array for each open cursor */ + u8 errorAction; /* Recovery action to do in case of an error */ + u8 okVar; /* True if azVar[] has been initialized */ + ynVar nVar; /* Number of entries in aVar[] */ + Mem *aVar; /* Values for the OP_Variable opcode. */ + char **azVar; /* Name of variables */ + u32 magic; /* Magic number for sanity checking */ + int nMem; /* Number of memory locations currently allocated */ + Mem *aMem; /* The memory locations */ + u32 cacheCtr; /* VdbeCursor row cache generation counter */ + int pc; /* The program counter */ + int rc; /* Value to return */ + char *zErrMsg; /* Error message written here */ + u8 explain; /* True if EXPLAIN present on SQL command */ + u8 changeCntOn; /* True to update the change-counter */ + u8 expired; /* True if the VM needs to be recompiled */ + u8 runOnlyOnce; /* Automatically expire on reset */ + u8 minWriteFileFormat; /* Minimum file format for writable database files */ + u8 inVtabMethod; /* See comments above */ + u8 usesStmtJournal; /* True if uses a statement journal */ + u8 readOnly; /* True for read-only statements */ + u8 isPrepareV2; /* True if prepared with prepare_v2() */ + int nChange; /* Number of db changes made since last reset */ + int btreeMask; /* Bitmask of db->aDb[] entries referenced */ + i64 startTime; /* Time when query started - used for profiling */ + BtreeMutexArray aMutex; /* An array of Btree used here and needing locks */ + int aCounter[3]; /* Counters used by sqlite3_stmt_status() */ + char *zSql; /* Text of the SQL statement that generated this */ + void *pFree; /* Free this when deleting the vdbe */ + i64 nFkConstraint; /* Number of imm. FK constraints this VM */ + i64 nStmtDefCons; /* Number of def. constraints when stmt started */ + int iStatement; /* Statement number (or 0 if has not opened stmt) */ +#ifdef SQLITE_DEBUG + FILE *trace; /* Write an execution trace here, if not NULL */ +#endif + VdbeFrame *pFrame; /* Parent frame */ + int nFrame; /* Number of frames in pFrame list */ + u32 expmask; /* Binding to these vars invalidates VM */ + SubProgram *pProgram; /* Linked list of all sub-programs used by VM */ +}; + +/* +** The following are allowed values for Vdbe.magic +*/ +#define VDBE_MAGIC_INIT 0x26bceaa5 /* Building a VDBE program */ +#define VDBE_MAGIC_RUN 0xbdf20da3 /* VDBE is ready to execute */ +#define VDBE_MAGIC_HALT 0x519c2973 /* VDBE has completed execution */ +#define VDBE_MAGIC_DEAD 0xb606c3c8 /* The VDBE has been deallocated */ + +/* +** Function prototypes +*/ +SQLITE_PRIVATE void sqlite3VdbeFreeCursor(Vdbe *, VdbeCursor*); +void sqliteVdbePopStack(Vdbe*,int); +SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor*); +#if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) +SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE*, int, Op*); +#endif +SQLITE_PRIVATE u32 sqlite3VdbeSerialTypeLen(u32); +SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem*, int); +SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(unsigned char*, int, Mem*, int); +SQLITE_PRIVATE u32 sqlite3VdbeSerialGet(const unsigned char*, u32, Mem*); +SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(VdbeFunc*, int); + +int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *); +SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare(VdbeCursor*,UnpackedRecord*,int*); +SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3*, BtCursor *, i64 *); +SQLITE_PRIVATE int sqlite3MemCompare(const Mem*, const Mem*, const CollSeq*); +SQLITE_PRIVATE int sqlite3VdbeExec(Vdbe*); +SQLITE_PRIVATE int sqlite3VdbeList(Vdbe*); +SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe*); +SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *, int); +SQLITE_PRIVATE int sqlite3VdbeMemTooBig(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemCopy(Mem*, const Mem*); +SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem*, const Mem*, int); +SQLITE_PRIVATE void sqlite3VdbeMemMove(Mem*, Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemSetStr(Mem*, const char*, int, u8, void(*)(void*)); +SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem*, i64); +#ifdef SQLITE_OMIT_FLOATING_POINT +# define sqlite3VdbeMemSetDouble sqlite3VdbeMemSetInt64 +#else +SQLITE_PRIVATE void sqlite3VdbeMemSetDouble(Mem*, double); +#endif +SQLITE_PRIVATE void sqlite3VdbeMemSetNull(Mem*); +SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem*,int); +SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem*, int); +SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemIntegerify(Mem*); +SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem*); +SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemFromBtree(BtCursor*,int,int,int,Mem*); +SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p); +SQLITE_PRIVATE void sqlite3VdbeMemReleaseExternal(Mem *p); +SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem*, FuncDef*); +SQLITE_PRIVATE const char *sqlite3OpcodeName(int); +SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int preserve); +SQLITE_PRIVATE int sqlite3VdbeCloseStatement(Vdbe *, int); +SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame*); +SQLITE_PRIVATE int sqlite3VdbeFrameRestore(VdbeFrame *); +SQLITE_PRIVATE void sqlite3VdbeMemStoreType(Mem *pMem); + +#ifndef SQLITE_OMIT_FOREIGN_KEY +SQLITE_PRIVATE int sqlite3VdbeCheckFk(Vdbe *, int); +#else +# define sqlite3VdbeCheckFk(p,i) 0 +#endif + +#ifndef SQLITE_OMIT_SHARED_CACHE +SQLITE_PRIVATE void sqlite3VdbeMutexArrayEnter(Vdbe *p); +#else +# define sqlite3VdbeMutexArrayEnter(p) +#endif + +SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem*, u8); +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE void sqlite3VdbePrintSql(Vdbe*); +SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf); +#endif +SQLITE_PRIVATE int sqlite3VdbeMemHandleBom(Mem *pMem); + +#ifndef SQLITE_OMIT_INCRBLOB +SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *); +#else + #define sqlite3VdbeMemExpandBlob(x) SQLITE_OK +#endif + +#endif /* !defined(_VDBEINT_H_) */ + +/************** End of vdbeInt.h *********************************************/ +/************** Continuing where we left off in status.c *********************/ + +/* +** Variables in which to record status information. +*/ +typedef struct sqlite3StatType sqlite3StatType; +static SQLITE_WSD struct sqlite3StatType { + int nowValue[10]; /* Current value */ + int mxValue[10]; /* Maximum value */ +} sqlite3Stat = { {0,}, {0,} }; + + +/* The "wsdStat" macro will resolve to the status information +** state vector. If writable static data is unsupported on the target, +** we have to locate the state vector at run-time. In the more common +** case where writable static data is supported, wsdStat can refer directly +** to the "sqlite3Stat" state vector declared above. +*/ +#ifdef SQLITE_OMIT_WSD +# define wsdStatInit sqlite3StatType *x = &GLOBAL(sqlite3StatType,sqlite3Stat) +# define wsdStat x[0] +#else +# define wsdStatInit +# define wsdStat sqlite3Stat +#endif + +/* +** Return the current value of a status parameter. +*/ +SQLITE_PRIVATE int sqlite3StatusValue(int op){ + wsdStatInit; + assert( op>=0 && op=0 && opwsdStat.mxValue[op] ){ + wsdStat.mxValue[op] = wsdStat.nowValue[op]; + } +} + +/* +** Set the value of a status to X. +*/ +SQLITE_PRIVATE void sqlite3StatusSet(int op, int X){ + wsdStatInit; + assert( op>=0 && opwsdStat.mxValue[op] ){ + wsdStat.mxValue[op] = wsdStat.nowValue[op]; + } +} + +/* +** Query status information. +** +** This implementation assumes that reading or writing an aligned +** 32-bit integer is an atomic operation. If that assumption is not true, +** then this routine is not threadsafe. +*/ +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag){ + wsdStatInit; + if( op<0 || op>=ArraySize(wsdStat.nowValue) ){ + return SQLITE_MISUSE_BKPT; + } + *pCurrent = wsdStat.nowValue[op]; + *pHighwater = wsdStat.mxValue[op]; + if( resetFlag ){ + wsdStat.mxValue[op] = wsdStat.nowValue[op]; + } + return SQLITE_OK; +} + +/* +** Query status information for a single database connection +*/ +SQLITE_API int sqlite3_db_status( + sqlite3 *db, /* The database connection whose status is desired */ + int op, /* Status verb */ + int *pCurrent, /* Write current value here */ + int *pHighwater, /* Write high-water mark here */ + int resetFlag /* Reset high-water mark if true */ +){ + int rc = SQLITE_OK; /* Return code */ + sqlite3_mutex_enter(db->mutex); + switch( op ){ + case SQLITE_DBSTATUS_LOOKASIDE_USED: { + *pCurrent = db->lookaside.nOut; + *pHighwater = db->lookaside.mxOut; + if( resetFlag ){ + db->lookaside.mxOut = db->lookaside.nOut; + } + break; + } + + /* + ** Return an approximation for the amount of memory currently used + ** by all pagers associated with the given database connection. The + ** highwater mark is meaningless and is returned as zero. + */ + case SQLITE_DBSTATUS_CACHE_USED: { + int totalUsed = 0; + int i; + sqlite3BtreeEnterAll(db); + for(i=0; inDb; i++){ + Btree *pBt = db->aDb[i].pBt; + if( pBt ){ + Pager *pPager = sqlite3BtreePager(pBt); + totalUsed += sqlite3PagerMemUsed(pPager); + } + } + sqlite3BtreeLeaveAll(db); + *pCurrent = totalUsed; + *pHighwater = 0; + break; + } + + /* + ** *pCurrent gets an accurate estimate of the amount of memory used + ** to store the schema for all databases (main, temp, and any ATTACHed + ** databases. *pHighwater is set to zero. + */ + case SQLITE_DBSTATUS_SCHEMA_USED: { + int i; /* Used to iterate through schemas */ + int nByte = 0; /* Used to accumulate return value */ + + db->pnBytesFreed = &nByte; + for(i=0; inDb; i++){ + Schema *pSchema = db->aDb[i].pSchema; + if( ALWAYS(pSchema!=0) ){ + HashElem *p; + + nByte += sqlite3GlobalConfig.m.xRoundup(sizeof(HashElem)) * ( + pSchema->tblHash.count + + pSchema->trigHash.count + + pSchema->idxHash.count + + pSchema->fkeyHash.count + ); + nByte += sqlite3MallocSize(pSchema->tblHash.ht); + nByte += sqlite3MallocSize(pSchema->trigHash.ht); + nByte += sqlite3MallocSize(pSchema->idxHash.ht); + nByte += sqlite3MallocSize(pSchema->fkeyHash.ht); + + for(p=sqliteHashFirst(&pSchema->trigHash); p; p=sqliteHashNext(p)){ + sqlite3DeleteTrigger(db, (Trigger*)sqliteHashData(p)); + } + for(p=sqliteHashFirst(&pSchema->tblHash); p; p=sqliteHashNext(p)){ + sqlite3DeleteTable(db, (Table *)sqliteHashData(p)); + } + } + } + db->pnBytesFreed = 0; + + *pHighwater = 0; + *pCurrent = nByte; + break; + } + + /* + ** *pCurrent gets an accurate estimate of the amount of memory used + ** to store all prepared statements. + ** *pHighwater is set to zero. + */ + case SQLITE_DBSTATUS_STMT_USED: { + struct Vdbe *pVdbe; /* Used to iterate through VMs */ + int nByte = 0; /* Used to accumulate return value */ + + db->pnBytesFreed = &nByte; + for(pVdbe=db->pVdbe; pVdbe; pVdbe=pVdbe->pNext){ + sqlite3VdbeDeleteObject(db, pVdbe); + } + db->pnBytesFreed = 0; + + *pHighwater = 0; + *pCurrent = nByte; + + break; + } + + default: { + rc = SQLITE_ERROR; + } + } + sqlite3_mutex_leave(db->mutex); + return rc; +} + +/************** End of status.c **********************************************/ +/************** Begin file date.c ********************************************/ +/* +** 2003 October 31 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** This file contains the C functions that implement date and time +** functions for SQLite. +** +** There is only one exported symbol in this file - the function +** sqlite3RegisterDateTimeFunctions() found at the bottom of the file. +** All other code has file scope. +** +** SQLite processes all times and dates as Julian Day numbers. The +** dates and times are stored as the number of days since noon +** in Greenwich on November 24, 4714 B.C. according to the Gregorian +** calendar system. +** +** 1970-01-01 00:00:00 is JD 2440587.5 +** 2000-01-01 00:00:00 is JD 2451544.5 +** +** This implemention requires years to be expressed as a 4-digit number +** which means that only dates between 0000-01-01 and 9999-12-31 can +** be represented, even though julian day numbers allow a much wider +** range of dates. +** +** The Gregorian calendar system is used for all dates and times, +** even those that predate the Gregorian calendar. Historians usually +** use the Julian calendar for dates prior to 1582-10-15 and for some +** dates afterwards, depending on locale. Beware of this difference. +** +** The conversion algorithms are implemented based on descriptions +** in the following text: +** +** Jean Meeus +** Astronomical Algorithms, 2nd Edition, 1998 +** ISBM 0-943396-61-1 +** Willmann-Bell, Inc +** Richmond, Virginia (USA) +*/ +#include + +#ifndef SQLITE_OMIT_DATETIME_FUNCS + +/* +** On recent Windows platforms, the localtime_s() function is available +** as part of the "Secure CRT". It is essentially equivalent to +** localtime_r() available under most POSIX platforms, except that the +** order of the parameters is reversed. +** +** See http://msdn.microsoft.com/en-us/library/a442x3ye(VS.80).aspx. +** +** If the user has not indicated to use localtime_r() or localtime_s() +** already, check for an MSVC build environment that provides +** localtime_s(). +*/ +#if !defined(HAVE_LOCALTIME_R) && !defined(HAVE_LOCALTIME_S) && \ + defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE) +#define HAVE_LOCALTIME_S 1 +#endif + +/* +** A structure for holding a single date and time. +*/ +typedef struct DateTime DateTime; +struct DateTime { + sqlite3_int64 iJD; /* The julian day number times 86400000 */ + int Y, M, D; /* Year, month, and day */ + int h, m; /* Hour and minutes */ + int tz; /* Timezone offset in minutes */ + double s; /* Seconds */ + char validYMD; /* True (1) if Y,M,D are valid */ + char validHMS; /* True (1) if h,m,s are valid */ + char validJD; /* True (1) if iJD is valid */ + char validTZ; /* True (1) if tz is valid */ +}; + + +/* +** Convert zDate into one or more integers. Additional arguments +** come in groups of 5 as follows: +** +** N number of digits in the integer +** min minimum allowed value of the integer +** max maximum allowed value of the integer +** nextC first character after the integer +** pVal where to write the integers value. +** +** Conversions continue until one with nextC==0 is encountered. +** The function returns the number of successful conversions. +*/ +static int getDigits(const char *zDate, ...){ + va_list ap; + int val; + int N; + int min; + int max; int nextC; int *pVal; int cnt = 0; @@ -11692,10 +12553,8 @@ static int parseYyyyMmDd(const char *zDate, DateTime *p){ ** Set the time to the current time reported by the VFS */ static void setDateTimeToCurrent(sqlite3_context *context, DateTime *p){ - double r; sqlite3 *db = sqlite3_context_db_handle(context); - sqlite3OsCurrentTime(db->pVfs, &r); - p->iJD = (sqlite3_int64)(r*86400000.0 + 0.5); + sqlite3OsCurrentTimeInt64(db->pVfs, &p->iJD); p->validJD = 1; } @@ -12416,22 +13275,15 @@ static void currentTimeFunc( time_t t; char *zFormat = (char *)sqlite3_user_data(context); sqlite3 *db; - double rT; + sqlite3_int64 iT; char zBuf[20]; UNUSED_PARAMETER(argc); UNUSED_PARAMETER(argv); db = sqlite3_context_db_handle(context); - sqlite3OsCurrentTime(db->pVfs, &rT); -#ifndef SQLITE_OMIT_FLOATING_POINT - t = 86400.0*(rT - 2440587.5) + 0.5; -#else - /* without floating point support, rT will have - ** already lost fractional day precision. - */ - t = 86400 * (rT - 2440587) - 43200; -#endif + sqlite3OsCurrentTimeInt64(db->pVfs, &iT); + t = iT/1000 - 10000*(sqlite3_int64)21086676; #ifdef HAVE_GMTIME_R { struct tm sNow; @@ -12520,8 +13372,10 @@ SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void){ ** sqlite3OsLock() ** */ -#if defined(SQLITE_TEST) && (SQLITE_OS_WIN==0) - #define DO_OS_MALLOC_TEST(x) if (!x || !sqlite3IsMemJournal(x)) { \ +#if defined(SQLITE_TEST) +SQLITE_API int sqlite3_memdebug_vfs_oom_test = 1; + #define DO_OS_MALLOC_TEST(x) \ + if (sqlite3_memdebug_vfs_oom_test && (!x || !sqlite3IsMemJournal(x))) { \ void *pTstAlloc = sqlite3Malloc(10); \ if (!pTstAlloc) return SQLITE_IOERR_NOMEM; \ sqlite3_free(pTstAlloc); \ @@ -12584,6 +13438,24 @@ SQLITE_PRIVATE int sqlite3OsSectorSize(sqlite3_file *id){ SQLITE_PRIVATE int sqlite3OsDeviceCharacteristics(sqlite3_file *id){ return id->pMethods->xDeviceCharacteristics(id); } +SQLITE_PRIVATE int sqlite3OsShmLock(sqlite3_file *id, int offset, int n, int flags){ + return id->pMethods->xShmLock(id, offset, n, flags); +} +SQLITE_PRIVATE void sqlite3OsShmBarrier(sqlite3_file *id){ + id->pMethods->xShmBarrier(id); +} +SQLITE_PRIVATE int sqlite3OsShmUnmap(sqlite3_file *id, int deleteFlag){ + return id->pMethods->xShmUnmap(id, deleteFlag); +} +SQLITE_PRIVATE int sqlite3OsShmMap( + sqlite3_file *id, /* Database file handle */ + int iPage, + int pgsz, + int bExtend, /* True to extend file if necessary */ + void volatile **pp /* OUT: Pointer to mapping */ +){ + return id->pMethods->xShmMap(id, iPage, pgsz, bExtend, pp); +} /* ** The next group of routines are convenience wrappers around the @@ -12598,11 +13470,11 @@ SQLITE_PRIVATE int sqlite3OsOpen( ){ int rc; DO_OS_MALLOC_TEST(0); - /* 0x7f3f is a mask of SQLITE_OPEN_ flags that are valid to be passed + /* 0x87f3f is a mask of SQLITE_OPEN_ flags that are valid to be passed ** down into the VFS layer. Some SQLITE_OPEN_ flags (for example, ** SQLITE_OPEN_FULLMUTEX or SQLITE_OPEN_SHAREDCACHE) are blocked before ** reaching the VFS. */ - rc = pVfs->xOpen(pVfs, zPath, pFile, flags & 0x7f3f, pFlagsOut); + rc = pVfs->xOpen(pVfs, zPath, pFile, flags & 0x87f3f, pFlagsOut); assert( rc==SQLITE_OK || pFile->pMethods==0 ); return rc; } @@ -12647,8 +13519,16 @@ SQLITE_PRIVATE int sqlite3OsRandomness(sqlite3_vfs *pVfs, int nByte, char *zBufO SQLITE_PRIVATE int sqlite3OsSleep(sqlite3_vfs *pVfs, int nMicro){ return pVfs->xSleep(pVfs, nMicro); } -SQLITE_PRIVATE int sqlite3OsCurrentTime(sqlite3_vfs *pVfs, double *pTimeOut){ - return pVfs->xCurrentTime(pVfs, pTimeOut); +SQLITE_PRIVATE int sqlite3OsCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *pTimeOut){ + int rc; + if( pVfs->iVersion>=2 && pVfs->xCurrentTimeInt64 ){ + rc = pVfs->xCurrentTimeInt64(pVfs, pTimeOut); + }else{ + double r; + rc = pVfs->xCurrentTime(pVfs, &r); + *pTimeOut = (sqlite3_int64)(r*86400000.0); + } + return rc; } SQLITE_PRIVATE int sqlite3OsOpenMalloc( @@ -13143,7 +14023,8 @@ struct MemBlockHdr { struct MemBlockHdr *pNext, *pPrev; /* Linked list of all unfreed memory */ char nBacktrace; /* Number of backtraces on this alloc */ char nBacktraceSlots; /* Available backtrace slots */ - short nTitle; /* Bytes of title; includes '\0' */ + u8 nTitle; /* Bytes of title; includes '\0' */ + u8 eType; /* Allocation type code */ int iForeGuard; /* Guard word for sanity */ }; @@ -13351,6 +14232,7 @@ static void *sqlite3MemMalloc(int nByte){ } mem.pLast = pHdr; pHdr->iForeGuard = FOREGUARD; + pHdr->eType = MEMTYPE_HEAP; pHdr->nBacktraceSlots = mem.nBacktrace; pHdr->nTitle = mem.nTitle; if( mem.nBacktrace ){ @@ -13459,6 +14341,62 @@ SQLITE_PRIVATE void sqlite3MemSetDefault(void){ } /* +** Set the "type" of an allocation. +*/ +SQLITE_PRIVATE void sqlite3MemdebugSetType(void *p, u8 eType){ + if( p && sqlite3GlobalConfig.m.xMalloc==sqlite3MemMalloc ){ + struct MemBlockHdr *pHdr; + pHdr = sqlite3MemsysGetHeader(p); + assert( pHdr->iForeGuard==FOREGUARD ); + pHdr->eType = eType; + } +} + +/* +** Return TRUE if the mask of type in eType matches the type of the +** allocation p. Also return true if p==NULL. +** +** This routine is designed for use within an assert() statement, to +** verify the type of an allocation. For example: +** +** assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); +*/ +SQLITE_PRIVATE int sqlite3MemdebugHasType(void *p, u8 eType){ + int rc = 1; + if( p && sqlite3GlobalConfig.m.xMalloc==sqlite3MemMalloc ){ + struct MemBlockHdr *pHdr; + pHdr = sqlite3MemsysGetHeader(p); + assert( pHdr->iForeGuard==FOREGUARD ); /* Allocation is valid */ + if( (pHdr->eType&eType)==0 ){ + rc = 0; + } + } + return rc; +} + +/* +** Return TRUE if the mask of type in eType matches no bits of the type of the +** allocation p. Also return true if p==NULL. +** +** This routine is designed for use within an assert() statement, to +** verify the type of an allocation. For example: +** +** assert( sqlite3MemdebugNoType(p, MEMTYPE_DB) ); +*/ +SQLITE_PRIVATE int sqlite3MemdebugNoType(void *p, u8 eType){ + int rc = 1; + if( p && sqlite3GlobalConfig.m.xMalloc==sqlite3MemMalloc ){ + struct MemBlockHdr *pHdr; + pHdr = sqlite3MemsysGetHeader(p); + assert( pHdr->iForeGuard==FOREGUARD ); /* Allocation is valid */ + if( (pHdr->eType&eType)!=0 ){ + rc = 0; + } + } + return rc; +} + +/* ** Set the number of backtrace levels kept for each allocation. ** A value of zero turns off backtracing. The number is always rounded ** up to a multiple of 2. @@ -14859,23 +15797,26 @@ static SQLITE_WSD int mutexIsInit = 0; */ SQLITE_PRIVATE int sqlite3MutexInit(void){ int rc = SQLITE_OK; - if( sqlite3GlobalConfig.bCoreMutex ){ - if( !sqlite3GlobalConfig.mutex.xMutexAlloc ){ - /* If the xMutexAlloc method has not been set, then the user did not - ** install a mutex implementation via sqlite3_config() prior to - ** sqlite3_initialize() being called. This block copies pointers to - ** the default implementation into the sqlite3GlobalConfig structure. - */ - sqlite3_mutex_methods *pFrom = sqlite3DefaultMutex(); - sqlite3_mutex_methods *pTo = &sqlite3GlobalConfig.mutex; + if( !sqlite3GlobalConfig.mutex.xMutexAlloc ){ + /* If the xMutexAlloc method has not been set, then the user did not + ** install a mutex implementation via sqlite3_config() prior to + ** sqlite3_initialize() being called. This block copies pointers to + ** the default implementation into the sqlite3GlobalConfig structure. + */ + sqlite3_mutex_methods const *pFrom; + sqlite3_mutex_methods *pTo = &sqlite3GlobalConfig.mutex; - memcpy(pTo, pFrom, offsetof(sqlite3_mutex_methods, xMutexAlloc)); - memcpy(&pTo->xMutexFree, &pFrom->xMutexFree, - sizeof(*pTo) - offsetof(sqlite3_mutex_methods, xMutexFree)); - pTo->xMutexAlloc = pFrom->xMutexAlloc; + if( sqlite3GlobalConfig.bCoreMutex ){ + pFrom = sqlite3DefaultMutex(); + }else{ + pFrom = sqlite3NoopMutex(); } - rc = sqlite3GlobalConfig.mutex.xMutexInit(); + memcpy(pTo, pFrom, offsetof(sqlite3_mutex_methods, xMutexAlloc)); + memcpy(&pTo->xMutexFree, &pFrom->xMutexFree, + sizeof(*pTo) - offsetof(sqlite3_mutex_methods, xMutexFree)); + pTo->xMutexAlloc = pFrom->xMutexAlloc; } + rc = sqlite3GlobalConfig.mutex.xMutexInit(); #ifdef SQLITE_DEBUG GLOBAL(int, mutexIsInit) = 1; @@ -15007,25 +15948,30 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){ ** called correctly. */ +#ifndef SQLITE_MUTEX_OMIT -#if defined(SQLITE_MUTEX_NOOP) && !defined(SQLITE_DEBUG) +#ifndef SQLITE_DEBUG /* ** Stub routines for all mutex methods. ** ** This routines provide no mutual exclusion or error checking. */ -static int noopMutexHeld(sqlite3_mutex *p){ return 1; } -static int noopMutexNotheld(sqlite3_mutex *p){ return 1; } static int noopMutexInit(void){ return SQLITE_OK; } static int noopMutexEnd(void){ return SQLITE_OK; } -static sqlite3_mutex *noopMutexAlloc(int id){ return (sqlite3_mutex*)8; } -static void noopMutexFree(sqlite3_mutex *p){ return; } -static void noopMutexEnter(sqlite3_mutex *p){ return; } -static int noopMutexTry(sqlite3_mutex *p){ return SQLITE_OK; } -static void noopMutexLeave(sqlite3_mutex *p){ return; } - -SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ - static sqlite3_mutex_methods sMutex = { +static sqlite3_mutex *noopMutexAlloc(int id){ + UNUSED_PARAMETER(id); + return (sqlite3_mutex*)8; +} +static void noopMutexFree(sqlite3_mutex *p){ UNUSED_PARAMETER(p); return; } +static void noopMutexEnter(sqlite3_mutex *p){ UNUSED_PARAMETER(p); return; } +static int noopMutexTry(sqlite3_mutex *p){ + UNUSED_PARAMETER(p); + return SQLITE_OK; +} +static void noopMutexLeave(sqlite3_mutex *p){ UNUSED_PARAMETER(p); return; } + +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3NoopMutex(void){ + static const sqlite3_mutex_methods sMutex = { noopMutexInit, noopMutexEnd, noopMutexAlloc, @@ -15034,15 +15980,15 @@ SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ noopMutexTry, noopMutexLeave, - noopMutexHeld, - noopMutexNotheld + 0, + 0, }; return &sMutex; } -#endif /* defined(SQLITE_MUTEX_NOOP) && !defined(SQLITE_DEBUG) */ +#endif /* !SQLITE_DEBUG */ -#if defined(SQLITE_MUTEX_NOOP) && defined(SQLITE_DEBUG) +#ifdef SQLITE_DEBUG /* ** In this implementation, error checking is provided for testing ** and debugging purposes. The mutexes still do not provide any @@ -15052,19 +15998,21 @@ SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ /* ** The mutex object */ -struct sqlite3_mutex { +typedef struct sqlite3_debug_mutex { int id; /* The mutex type */ int cnt; /* Number of entries without a matching leave */ -}; +} sqlite3_debug_mutex; /* ** The sqlite3_mutex_held() and sqlite3_mutex_notheld() routine are ** intended for use inside assert() statements. */ -static int debugMutexHeld(sqlite3_mutex *p){ +static int debugMutexHeld(sqlite3_mutex *pX){ + sqlite3_debug_mutex *p = (sqlite3_debug_mutex*)pX; return p==0 || p->cnt>0; } -static int debugMutexNotheld(sqlite3_mutex *p){ +static int debugMutexNotheld(sqlite3_mutex *pX){ + sqlite3_debug_mutex *p = (sqlite3_debug_mutex*)pX; return p==0 || p->cnt==0; } @@ -15080,8 +16028,8 @@ static int debugMutexEnd(void){ return SQLITE_OK; } ** that means that a mutex could not be allocated. */ static sqlite3_mutex *debugMutexAlloc(int id){ - static sqlite3_mutex aStatic[6]; - sqlite3_mutex *pNew = 0; + static sqlite3_debug_mutex aStatic[6]; + sqlite3_debug_mutex *pNew = 0; switch( id ){ case SQLITE_MUTEX_FAST: case SQLITE_MUTEX_RECURSIVE: { @@ -15100,13 +16048,14 @@ static sqlite3_mutex *debugMutexAlloc(int id){ break; } } - return pNew; + return (sqlite3_mutex*)pNew; } /* ** This routine deallocates a previously allocated mutex. */ -static void debugMutexFree(sqlite3_mutex *p){ +static void debugMutexFree(sqlite3_mutex *pX){ + sqlite3_debug_mutex *p = (sqlite3_debug_mutex*)pX; assert( p->cnt==0 ); assert( p->id==SQLITE_MUTEX_FAST || p->id==SQLITE_MUTEX_RECURSIVE ); sqlite3_free(p); @@ -15123,12 +16072,14 @@ static void debugMutexFree(sqlite3_mutex *p){ ** can enter. If the same thread tries to enter any other kind of mutex ** more than once, the behavior is undefined. */ -static void debugMutexEnter(sqlite3_mutex *p){ - assert( p->id==SQLITE_MUTEX_RECURSIVE || debugMutexNotheld(p) ); +static void debugMutexEnter(sqlite3_mutex *pX){ + sqlite3_debug_mutex *p = (sqlite3_debug_mutex*)pX; + assert( p->id==SQLITE_MUTEX_RECURSIVE || debugMutexNotheld(pX) ); p->cnt++; } -static int debugMutexTry(sqlite3_mutex *p){ - assert( p->id==SQLITE_MUTEX_RECURSIVE || debugMutexNotheld(p) ); +static int debugMutexTry(sqlite3_mutex *pX){ + sqlite3_debug_mutex *p = (sqlite3_debug_mutex*)pX; + assert( p->id==SQLITE_MUTEX_RECURSIVE || debugMutexNotheld(pX) ); p->cnt++; return SQLITE_OK; } @@ -15139,14 +16090,15 @@ static int debugMutexTry(sqlite3_mutex *p){ ** is undefined if the mutex is not currently entered or ** is not currently allocated. SQLite will never do either. */ -static void debugMutexLeave(sqlite3_mutex *p){ - assert( debugMutexHeld(p) ); +static void debugMutexLeave(sqlite3_mutex *pX){ + sqlite3_debug_mutex *p = (sqlite3_debug_mutex*)pX; + assert( debugMutexHeld(pX) ); p->cnt--; - assert( p->id==SQLITE_MUTEX_RECURSIVE || debugMutexNotheld(p) ); + assert( p->id==SQLITE_MUTEX_RECURSIVE || debugMutexNotheld(pX) ); } -SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ - static sqlite3_mutex_methods sMutex = { +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3NoopMutex(void){ + static const sqlite3_mutex_methods sMutex = { debugMutexInit, debugMutexEnd, debugMutexAlloc, @@ -15161,7 +16113,18 @@ SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ return &sMutex; } -#endif /* defined(SQLITE_MUTEX_NOOP) && defined(SQLITE_DEBUG) */ +#endif /* SQLITE_DEBUG */ + +/* +** If compiled with SQLITE_MUTEX_NOOP, then the no-op mutex implementation +** is used regardless of the run-time threadsafety setting. +*/ +#ifdef SQLITE_MUTEX_NOOP +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){ + return sqlite3NoopMutex(); +} +#endif /* SQLITE_MUTEX_NOOP */ +#endif /* SQLITE_MUTEX_OMIT */ /************** End of mutex_noop.c ******************************************/ /************** Begin file mutex_os2.c ***************************************/ @@ -15417,8 +16380,8 @@ static void os2MutexLeave(sqlite3_mutex *p){ DosReleaseMutexSem(p->mutex); } -SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ - static sqlite3_mutex_methods sMutex = { +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){ + static const sqlite3_mutex_methods sMutex = { os2MutexInit, os2MutexEnd, os2MutexAlloc, @@ -15463,23 +16426,33 @@ SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ #include +/* +** The sqlite3_mutex.id, sqlite3_mutex.nRef, and sqlite3_mutex.owner fields +** are necessary under two condidtions: (1) Debug builds and (2) using +** home-grown mutexes. Encapsulate these conditions into a single #define. +*/ +#if defined(SQLITE_DEBUG) || defined(SQLITE_HOMEGROWN_RECURSIVE_MUTEX) +# define SQLITE_MUTEX_NREF 1 +#else +# define SQLITE_MUTEX_NREF 0 +#endif /* ** Each recursive mutex is an instance of the following structure. */ struct sqlite3_mutex { pthread_mutex_t mutex; /* Mutex controlling the lock */ +#if SQLITE_MUTEX_NREF int id; /* Mutex type */ - int nRef; /* Number of entrances */ - pthread_t owner; /* Thread that is within this mutex */ -#ifdef SQLITE_DEBUG + volatile int nRef; /* Number of entrances */ + volatile pthread_t owner; /* Thread that is within this mutex */ int trace; /* True to trace changes */ #endif }; -#ifdef SQLITE_DEBUG +#if SQLITE_MUTEX_NREF #define SQLITE3_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0, (pthread_t)0, 0 } #else -#define SQLITE3_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER, 0, 0, (pthread_t)0 } +#define SQLITE3_MUTEX_INITIALIZER { PTHREAD_MUTEX_INITIALIZER } #endif /* @@ -15581,14 +16554,18 @@ static sqlite3_mutex *pthreadMutexAlloc(int iType){ pthread_mutex_init(&p->mutex, &recursiveAttr); pthread_mutexattr_destroy(&recursiveAttr); #endif +#if SQLITE_MUTEX_NREF p->id = iType; +#endif } break; } case SQLITE_MUTEX_FAST: { p = sqlite3MallocZero( sizeof(*p) ); if( p ){ +#if SQLITE_MUTEX_NREF p->id = iType; +#endif pthread_mutex_init(&p->mutex, 0); } break; @@ -15597,7 +16574,9 @@ static sqlite3_mutex *pthreadMutexAlloc(int iType){ assert( iType-2 >= 0 ); assert( iType-2 < ArraySize(staticMutexes) ); p = &staticMutexes[iType-2]; +#if SQLITE_MUTEX_NREF p->id = iType; +#endif break; } } @@ -15657,9 +16636,12 @@ static void pthreadMutexEnter(sqlite3_mutex *p){ /* Use the built-in recursive mutexes if they are available. */ pthread_mutex_lock(&p->mutex); +#if SQLITE_MUTEX_NREF + assert( p->nRef>0 || p->owner==0 ); p->owner = pthread_self(); p->nRef++; #endif +#endif #ifdef SQLITE_DEBUG if( p->trace ){ @@ -15700,8 +16682,10 @@ static int pthreadMutexTry(sqlite3_mutex *p){ /* Use the built-in recursive mutexes if they are available. */ if( pthread_mutex_trylock(&p->mutex)==0 ){ +#if SQLITE_MUTEX_NREF p->owner = pthread_self(); p->nRef++; +#endif rc = SQLITE_OK; }else{ rc = SQLITE_BUSY; @@ -15724,7 +16708,10 @@ static int pthreadMutexTry(sqlite3_mutex *p){ */ static void pthreadMutexLeave(sqlite3_mutex *p){ assert( pthreadMutexHeld(p) ); +#if SQLITE_MUTEX_NREF p->nRef--; + if( p->nRef==0 ) p->owner = 0; +#endif assert( p->nRef==0 || p->id==SQLITE_MUTEX_RECURSIVE ); #ifdef SQLITE_HOMEGROWN_RECURSIVE_MUTEX @@ -15742,8 +16729,8 @@ static void pthreadMutexLeave(sqlite3_mutex *p){ #endif } -SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ - static sqlite3_mutex_methods sMutex = { +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){ + static const sqlite3_mutex_methods sMutex = { pthreadMutexInit, pthreadMutexEnd, pthreadMutexAlloc, @@ -15793,9 +16780,9 @@ SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ struct sqlite3_mutex { CRITICAL_SECTION mutex; /* Mutex controlling the lock */ int id; /* Mutex type */ - int nRef; /* Number of enterances */ - DWORD owner; /* Thread holding this mutex */ #ifdef SQLITE_DEBUG + volatile int nRef; /* Number of enterances */ + volatile DWORD owner; /* Thread holding this mutex */ int trace; /* True to trace changes */ #endif }; @@ -15803,7 +16790,7 @@ struct sqlite3_mutex { #ifdef SQLITE_DEBUG #define SQLITE3_MUTEX_INITIALIZER { SQLITE_W32_MUTEX_INITIALIZER, 0, 0L, (DWORD)0, 0 } #else -#define SQLITE3_MUTEX_INITIALIZER { SQLITE_W32_MUTEX_INITIALIZER, 0, 0L, (DWORD)0 } +#define SQLITE3_MUTEX_INITIALIZER { SQLITE_W32_MUTEX_INITIALIZER, 0 } #endif /* @@ -15959,7 +16946,9 @@ static sqlite3_mutex *winMutexAlloc(int iType){ case SQLITE_MUTEX_RECURSIVE: { p = sqlite3MallocZero( sizeof(*p) ); if( p ){ +#ifdef SQLITE_DEBUG p->id = iType; +#endif InitializeCriticalSection(&p->mutex); } break; @@ -15969,7 +16958,9 @@ static sqlite3_mutex *winMutexAlloc(int iType){ assert( iType-2 >= 0 ); assert( iType-2 < ArraySize(winMutex_staticMutexes) ); p = &winMutex_staticMutexes[iType-2]; +#ifdef SQLITE_DEBUG p->id = iType; +#endif break; } } @@ -15984,7 +16975,7 @@ static sqlite3_mutex *winMutexAlloc(int iType){ */ static void winMutexFree(sqlite3_mutex *p){ assert( p ); - assert( p->nRef==0 ); + assert( p->nRef==0 && p->owner==0 ); assert( p->id==SQLITE_MUTEX_FAST || p->id==SQLITE_MUTEX_RECURSIVE ); DeleteCriticalSection(&p->mutex); sqlite3_free(p); @@ -16002,12 +16993,15 @@ static void winMutexFree(sqlite3_mutex *p){ ** more than once, the behavior is undefined. */ static void winMutexEnter(sqlite3_mutex *p){ +#ifdef SQLITE_DEBUG DWORD tid = GetCurrentThreadId(); assert( p->id==SQLITE_MUTEX_RECURSIVE || winMutexNotheld2(p, tid) ); +#endif EnterCriticalSection(&p->mutex); +#ifdef SQLITE_DEBUG + assert( p->nRef>0 || p->owner==0 ); p->owner = tid; p->nRef++; -#ifdef SQLITE_DEBUG if( p->trace ){ printf("enter mutex %p (%d) with nRef=%d\n", p, p->trace, p->nRef); } @@ -16056,11 +17050,12 @@ static int winMutexTry(sqlite3_mutex *p){ static void winMutexLeave(sqlite3_mutex *p){ #ifndef NDEBUG DWORD tid = GetCurrentThreadId(); -#endif assert( p->nRef>0 ); assert( p->owner==tid ); p->nRef--; + if( p->nRef==0 ) p->owner = 0; assert( p->nRef==0 || p->id==SQLITE_MUTEX_RECURSIVE ); +#endif LeaveCriticalSection(&p->mutex); #ifdef SQLITE_DEBUG if( p->trace ){ @@ -16069,8 +17064,8 @@ static void winMutexLeave(sqlite3_mutex *p){ #endif } -SQLITE_PRIVATE sqlite3_mutex_methods *sqlite3DefaultMutex(void){ - static sqlite3_mutex_methods sMutex = { +SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){ + static const sqlite3_mutex_methods sMutex = { winMutexInit, winMutexEnd, winMutexAlloc, @@ -16344,6 +17339,7 @@ static int mallocWithAlarm(int n, void **pp){ if( p ){ nFull = sqlite3MallocSize(p); sqlite3StatusAdd(SQLITE_STATUS_MEMORY_USED, nFull); + sqlite3StatusAdd(SQLITE_STATUS_MALLOC_COUNT, 1); } *pp = p; return nFull; @@ -16408,11 +17404,11 @@ SQLITE_PRIVATE void *sqlite3ScratchMalloc(int n){ assert( n>0 ); #if SQLITE_THREADSAFE==0 && !defined(NDEBUG) - /* Verify that no more than one scratch allocation per thread + /* Verify that no more than two scratch allocation per thread ** is outstanding at one time. (This is only checked in the ** single-threaded case since checking in the multi-threaded case ** would be much more complicated.) */ - assert( scratchAllocOut==0 ); + assert( scratchAllocOut<=1 ); #endif if( sqlite3GlobalConfig.szScratch=(void*)mem0.aScratchFree ){ + assert( sqlite3MemdebugHasType(p, MEMTYPE_SCRATCH) ); + assert( sqlite3MemdebugNoType(p, ~MEMTYPE_SCRATCH) ); + sqlite3MemdebugSetType(p, MEMTYPE_HEAP); if( sqlite3GlobalConfig.bMemstat ){ int iSize = sqlite3MallocSize(p); sqlite3_mutex_enter(mem0.mutex); sqlite3StatusAdd(SQLITE_STATUS_SCRATCH_OVERFLOW, -iSize); sqlite3StatusAdd(SQLITE_STATUS_MEMORY_USED, -iSize); + sqlite3StatusAdd(SQLITE_STATUS_MALLOC_COUNT, -1); sqlite3GlobalConfig.m.xFree(p); sqlite3_mutex_leave(mem0.mutex); }else{ @@ -16489,6 +17480,16 @@ SQLITE_PRIVATE void sqlite3ScratchFree(void *p){ mem0.aScratchFree[mem0.nScratchFree++] = i; sqlite3StatusAdd(SQLITE_STATUS_SCRATCH_USED, -1); sqlite3_mutex_leave(mem0.mutex); + +#if SQLITE_THREADSAFE==0 && !defined(NDEBUG) + /* Verify that no more than two scratch allocation per thread + ** is outstanding at one time. (This is only checked in the + ** single-threaded case since checking in the multi-threaded case + ** would be much more complicated.) */ + assert( scratchAllocOut>=1 && scratchAllocOut<=2 ); + scratchAllocOut = 0; +#endif + } } } @@ -16498,7 +17499,7 @@ SQLITE_PRIVATE void sqlite3ScratchFree(void *p){ */ #ifndef SQLITE_OMIT_LOOKASIDE static int isLookaside(sqlite3 *db, void *p){ - return db && p && p>=db->lookaside.pStart && plookaside.pEnd; + return p && p>=db->lookaside.pStart && plookaside.pEnd; } #else #define isLookaside(A,B) 0 @@ -16509,13 +17510,18 @@ static int isLookaside(sqlite3 *db, void *p){ ** sqlite3Malloc() or sqlite3_malloc(). */ SQLITE_PRIVATE int sqlite3MallocSize(void *p){ + assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); + assert( sqlite3MemdebugNoType(p, MEMTYPE_DB) ); return sqlite3GlobalConfig.m.xSize(p); } SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3 *db, void *p){ assert( db==0 || sqlite3_mutex_held(db->mutex) ); - if( isLookaside(db, p) ){ + if( db && isLookaside(db, p) ){ return db->lookaside.sz; }else{ + assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); + assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) ); + assert( db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) ); return sqlite3GlobalConfig.m.xSize(p); } } @@ -16525,9 +17531,12 @@ SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3 *db, void *p){ */ SQLITE_API void sqlite3_free(void *p){ if( p==0 ) return; + assert( sqlite3MemdebugNoType(p, MEMTYPE_DB) ); + assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); if( sqlite3GlobalConfig.bMemstat ){ sqlite3_mutex_enter(mem0.mutex); sqlite3StatusAdd(SQLITE_STATUS_MEMORY_USED, -sqlite3MallocSize(p)); + sqlite3StatusAdd(SQLITE_STATUS_MALLOC_COUNT, -1); sqlite3GlobalConfig.m.xFree(p); sqlite3_mutex_leave(mem0.mutex); }else{ @@ -16541,14 +17550,24 @@ SQLITE_API void sqlite3_free(void *p){ */ SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ assert( db==0 || sqlite3_mutex_held(db->mutex) ); - if( isLookaside(db, p) ){ - LookasideSlot *pBuf = (LookasideSlot*)p; - pBuf->pNext = db->lookaside.pFree; - db->lookaside.pFree = pBuf; - db->lookaside.nOut--; - }else{ - sqlite3_free(p); + if( db ){ + if( db->pnBytesFreed ){ + *db->pnBytesFreed += sqlite3DbMallocSize(db, p); + return; + } + if( isLookaside(db, p) ){ + LookasideSlot *pBuf = (LookasideSlot*)p; + pBuf->pNext = db->lookaside.pFree; + db->lookaside.pFree = pBuf; + db->lookaside.nOut--; + return; + } } + assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); + assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) ); + assert( db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) ); + sqlite3MemdebugSetType(p, MEMTYPE_HEAP); + sqlite3_free(p); } /* @@ -16579,6 +17598,8 @@ SQLITE_PRIVATE void *sqlite3Realloc(void *pOld, int nBytes){ mem0.alarmThreshold ){ sqlite3MallocAlarm(nNew-nOld); } + assert( sqlite3MemdebugHasType(pOld, MEMTYPE_HEAP) ); + assert( sqlite3MemdebugNoType(pOld, ~MEMTYPE_HEAP) ); pNew = sqlite3GlobalConfig.m.xRealloc(pOld, nNew); if( pNew==0 && mem0.alarmCallback ){ sqlite3MallocAlarm(nBytes); @@ -16651,6 +17672,7 @@ SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3 *db, int n){ SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3 *db, int n){ void *p; assert( db==0 || sqlite3_mutex_held(db->mutex) ); + assert( db==0 || db->pnBytesFreed==0 ); #ifndef SQLITE_OMIT_LOOKASIDE if( db ){ LookasideSlot *pBuf; @@ -16676,6 +17698,8 @@ SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3 *db, int n){ if( !p && db ){ db->mallocFailed = 1; } + sqlite3MemdebugSetType(p, MEMTYPE_DB | + ((db && db->lookaside.bEnabled) ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP)); return p; } @@ -16701,10 +17725,16 @@ SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *db, void *p, int n){ sqlite3DbFree(db, p); } }else{ + assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); + assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) ); + sqlite3MemdebugSetType(p, MEMTYPE_HEAP); pNew = sqlite3_realloc(p, n); if( !pNew ){ + sqlite3MemdebugSetType(p, MEMTYPE_DB|MEMTYPE_HEAP); db->mallocFailed = 1; } + sqlite3MemdebugSetType(pNew, MEMTYPE_DB | + (db->lookaside.bEnabled ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP)); } } return pNew; @@ -17577,7 +18607,11 @@ SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){ }else{ p->nAlloc = (int)szNew; } - zNew = sqlite3DbMallocRaw(p->db, p->nAlloc ); + if( p->useMalloc==1 ){ + zNew = sqlite3DbMallocRaw(p->db, p->nAlloc ); + }else{ + zNew = sqlite3_malloc(p->nAlloc); + } if( zNew ){ memcpy(zNew, p->zText, p->nChar); sqlite3StrAccumReset(p); @@ -17602,7 +18636,11 @@ SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum *p){ if( p->zText ){ p->zText[p->nChar] = 0; if( p->useMalloc && p->zText==p->zBase ){ - p->zText = sqlite3DbMallocRaw(p->db, p->nChar+1 ); + if( p->useMalloc==1 ){ + p->zText = sqlite3DbMallocRaw(p->db, p->nChar+1 ); + }else{ + p->zText = sqlite3_malloc(p->nChar+1); + } if( p->zText ){ memcpy(p->zText, p->zBase, p->nChar+1); }else{ @@ -17618,7 +18656,11 @@ SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum *p){ */ SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum *p){ if( p->zText!=p->zBase ){ - sqlite3DbFree(p->db, p->zText); + if( p->useMalloc==1 ){ + sqlite3DbFree(p->db, p->zText); + }else{ + sqlite3_free(p->zText); + } } p->zText = 0; } @@ -17700,6 +18742,7 @@ SQLITE_API char *sqlite3_vmprintf(const char *zFormat, va_list ap){ if( sqlite3_initialize() ) return 0; #endif sqlite3StrAccumInit(&acc, zBase, sizeof(zBase), SQLITE_MAX_LENGTH); + acc.useMalloc = 2; sqlite3VXPrintf(&acc, 0, zFormat, ap); z = sqlite3StrAccumFinish(&acc); return z; @@ -17993,601 +19036,178 @@ SQLITE_PRIVATE void sqlite3PrngResetState(void){ ** 0xfe 0xff big-endian utf-16 follows ** */ -/************** Include vdbeInt.h in the middle of utf.c *********************/ -/************** Begin file vdbeInt.h *****************************************/ -/* -** 2003 September 6 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* -** This is the header file for information that is private to the -** VDBE. This information used to all be at the top of the single -** source code file "vdbe.c". When that file became too big (over -** 6000 lines long) it was split up into several smaller files and -** this header information was factored out. -*/ -#ifndef _VDBEINT_H_ -#define _VDBEINT_H_ +#ifndef SQLITE_AMALGAMATION /* -** SQL is translated into a sequence of instructions to be -** executed by a virtual machine. Each instruction is an instance -** of the following structure. +** The following constant value is used by the SQLITE_BIGENDIAN and +** SQLITE_LITTLEENDIAN macros. */ -typedef struct VdbeOp Op; +SQLITE_PRIVATE const int sqlite3one = 1; +#endif /* SQLITE_AMALGAMATION */ /* -** Boolean values +** This lookup table is used to help decode the first byte of +** a multi-byte UTF8 character. */ -typedef unsigned char Bool; +static const unsigned char sqlite3Utf8Trans1[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, +}; -/* -** A cursor is a pointer into a single BTree within a database file. -** The cursor can seek to a BTree entry with a particular key, or -** loop over all entries of the Btree. You can also insert new BTree -** entries or retrieve the key or data from the entry that the cursor -** is currently pointing to. -** -** Every cursor that the virtual machine has open is represented by an -** instance of the following structure. -** -** If the VdbeCursor.isTriggerRow flag is set it means that this cursor is -** really a single row that represents the NEW or OLD pseudo-table of -** a row trigger. The data for the row is stored in VdbeCursor.pData and -** the rowid is in VdbeCursor.iKey. -*/ -struct VdbeCursor { - BtCursor *pCursor; /* The cursor structure of the backend */ - int iDb; /* Index of cursor database in db->aDb[] (or -1) */ - i64 lastRowid; /* Last rowid from a Next or NextIdx operation */ - Bool zeroed; /* True if zeroed out and ready for reuse */ - Bool rowidIsValid; /* True if lastRowid is valid */ - Bool atFirst; /* True if pointing to first entry */ - Bool useRandomRowid; /* Generate new record numbers semi-randomly */ - Bool nullRow; /* True if pointing to a row with no data */ - Bool deferredMoveto; /* A call to sqlite3BtreeMoveto() is needed */ - Bool isTable; /* True if a table requiring integer keys */ - Bool isIndex; /* True if an index containing keys only - no data */ - i64 movetoTarget; /* Argument to the deferred sqlite3BtreeMoveto() */ - Btree *pBt; /* Separate file holding temporary table */ - int pseudoTableReg; /* Register holding pseudotable content. */ - KeyInfo *pKeyInfo; /* Info about index keys needed by index cursors */ - int nField; /* Number of fields in the header */ - i64 seqCount; /* Sequence counter */ - sqlite3_vtab_cursor *pVtabCursor; /* The cursor for a virtual table */ - const sqlite3_module *pModule; /* Module for cursor pVtabCursor */ - /* Result of last sqlite3BtreeMoveto() done by an OP_NotExists or - ** OP_IsUnique opcode on this cursor. */ - int seekResult; +#define WRITE_UTF8(zOut, c) { \ + if( c<0x00080 ){ \ + *zOut++ = (u8)(c&0xFF); \ + } \ + else if( c<0x00800 ){ \ + *zOut++ = 0xC0 + (u8)((c>>6)&0x1F); \ + *zOut++ = 0x80 + (u8)(c & 0x3F); \ + } \ + else if( c<0x10000 ){ \ + *zOut++ = 0xE0 + (u8)((c>>12)&0x0F); \ + *zOut++ = 0x80 + (u8)((c>>6) & 0x3F); \ + *zOut++ = 0x80 + (u8)(c & 0x3F); \ + }else{ \ + *zOut++ = 0xF0 + (u8)((c>>18) & 0x07); \ + *zOut++ = 0x80 + (u8)((c>>12) & 0x3F); \ + *zOut++ = 0x80 + (u8)((c>>6) & 0x3F); \ + *zOut++ = 0x80 + (u8)(c & 0x3F); \ + } \ +} - /* Cached information about the header for the data record that the - ** cursor is currently pointing to. Only valid if cacheStatus matches - ** Vdbe.cacheCtr. Vdbe.cacheCtr will never take on the value of - ** CACHE_STALE and so setting cacheStatus=CACHE_STALE guarantees that - ** the cache is out of date. - ** - ** aRow might point to (ephemeral) data for the current row, or it might - ** be NULL. - */ - u32 cacheStatus; /* Cache is valid if this matches Vdbe.cacheCtr */ - int payloadSize; /* Total number of bytes in the record */ - u32 *aType; /* Type values for all entries in the record */ - u32 *aOffset; /* Cached offsets to the start of each columns data */ - u8 *aRow; /* Data for the current row, if all on one page */ -}; -typedef struct VdbeCursor VdbeCursor; +#define WRITE_UTF16LE(zOut, c) { \ + if( c<=0xFFFF ){ \ + *zOut++ = (u8)(c&0x00FF); \ + *zOut++ = (u8)((c>>8)&0x00FF); \ + }else{ \ + *zOut++ = (u8)(((c>>10)&0x003F) + (((c-0x10000)>>10)&0x00C0)); \ + *zOut++ = (u8)(0x00D8 + (((c-0x10000)>>18)&0x03)); \ + *zOut++ = (u8)(c&0x00FF); \ + *zOut++ = (u8)(0x00DC + ((c>>8)&0x03)); \ + } \ +} -/* -** When a sub-program is executed (OP_Program), a structure of this type -** is allocated to store the current value of the program counter, as -** well as the current memory cell array and various other frame specific -** values stored in the Vdbe struct. When the sub-program is finished, -** these values are copied back to the Vdbe from the VdbeFrame structure, -** restoring the state of the VM to as it was before the sub-program -** began executing. -** -** Frames are stored in a linked list headed at Vdbe.pParent. Vdbe.pParent -** is the parent of the current frame, or zero if the current frame -** is the main Vdbe program. -*/ -typedef struct VdbeFrame VdbeFrame; -struct VdbeFrame { - Vdbe *v; /* VM this frame belongs to */ - int pc; /* Program Counter */ - Op *aOp; /* Program instructions */ - int nOp; /* Size of aOp array */ - Mem *aMem; /* Array of memory cells */ - int nMem; /* Number of entries in aMem */ - VdbeCursor **apCsr; /* Element of Vdbe cursors */ - u16 nCursor; /* Number of entries in apCsr */ - void *token; /* Copy of SubProgram.token */ - int nChildMem; /* Number of memory cells for child frame */ - int nChildCsr; /* Number of cursors for child frame */ - i64 lastRowid; /* Last insert rowid (sqlite3.lastRowid) */ - int nChange; /* Statement changes (Vdbe.nChanges) */ - VdbeFrame *pParent; /* Parent of this frame */ -}; +#define WRITE_UTF16BE(zOut, c) { \ + if( c<=0xFFFF ){ \ + *zOut++ = (u8)((c>>8)&0x00FF); \ + *zOut++ = (u8)(c&0x00FF); \ + }else{ \ + *zOut++ = (u8)(0x00D8 + (((c-0x10000)>>18)&0x03)); \ + *zOut++ = (u8)(((c>>10)&0x003F) + (((c-0x10000)>>10)&0x00C0)); \ + *zOut++ = (u8)(0x00DC + ((c>>8)&0x03)); \ + *zOut++ = (u8)(c&0x00FF); \ + } \ +} -#define VdbeFrameMem(p) ((Mem *)&((u8 *)p)[ROUND8(sizeof(VdbeFrame))]) +#define READ_UTF16LE(zIn, TERM, c){ \ + c = (*zIn++); \ + c += ((*zIn++)<<8); \ + if( c>=0xD800 && c<0xE000 && TERM ){ \ + int c2 = (*zIn++); \ + c2 += ((*zIn++)<<8); \ + c = (c2&0x03FF) + ((c&0x003F)<<10) + (((c&0x03C0)+0x0040)<<10); \ + } \ +} -/* -** A value for VdbeCursor.cacheValid that means the cache is always invalid. -*/ -#define CACHE_STALE 0 +#define READ_UTF16BE(zIn, TERM, c){ \ + c = ((*zIn++)<<8); \ + c += (*zIn++); \ + if( c>=0xD800 && c<0xE000 && TERM ){ \ + int c2 = ((*zIn++)<<8); \ + c2 += (*zIn++); \ + c = (c2&0x03FF) + ((c&0x003F)<<10) + (((c&0x03C0)+0x0040)<<10); \ + } \ +} /* -** Internally, the vdbe manipulates nearly all SQL values as Mem -** structures. Each Mem struct may cache multiple representations (string, -** integer etc.) of the same value. A value (and therefore Mem structure) -** has the following properties: +** Translate a single UTF-8 character. Return the unicode value. ** -** Each value has a manifest type. The manifest type of the value stored -** in a Mem struct is returned by the MemType(Mem*) macro. The type is -** one of SQLITE_NULL, SQLITE_INTEGER, SQLITE_REAL, SQLITE_TEXT or -** SQLITE_BLOB. -*/ -struct Mem { - union { - i64 i; /* Integer value. */ - int nZero; /* Used when bit MEM_Zero is set in flags */ - FuncDef *pDef; /* Used only when flags==MEM_Agg */ - RowSet *pRowSet; /* Used only when flags==MEM_RowSet */ - VdbeFrame *pFrame; /* Used when flags==MEM_Frame */ - } u; - double r; /* Real value */ - sqlite3 *db; /* The associated database connection */ - char *z; /* String or BLOB value */ - int n; /* Number of characters in string value, excluding '\0' */ - u16 flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */ - u8 type; /* One of SQLITE_NULL, SQLITE_TEXT, SQLITE_INTEGER, etc */ - u8 enc; /* SQLITE_UTF8, SQLITE_UTF16BE, SQLITE_UTF16LE */ - void (*xDel)(void *); /* If not null, call this function to delete Mem.z */ - char *zMalloc; /* Dynamic buffer allocated by sqlite3_malloc() */ -}; - -/* One or more of the following flags are set to indicate the validOK -** representations of the value stored in the Mem struct. +** During translation, assume that the byte that zTerm points +** is a 0x00. ** -** If the MEM_Null flag is set, then the value is an SQL NULL value. -** No other flags may be set in this case. +** Write a pointer to the next unread byte back into *pzNext. ** -** If the MEM_Str flag is set then Mem.z points at a string representation. -** Usually this is encoded in the same unicode encoding as the main -** database (see below for exceptions). If the MEM_Term flag is also -** set, then the string is nul terminated. The MEM_Int and MEM_Real -** flags may coexist with the MEM_Str flag. +** Notes On Invalid UTF-8: ** -** Multiple of these values can appear in Mem.flags. But only one -** at a time can appear in Mem.type. -*/ -#define MEM_Null 0x0001 /* Value is NULL */ -#define MEM_Str 0x0002 /* Value is a string */ -#define MEM_Int 0x0004 /* Value is an integer */ -#define MEM_Real 0x0008 /* Value is a real number */ -#define MEM_Blob 0x0010 /* Value is a BLOB */ -#define MEM_RowSet 0x0020 /* Value is a RowSet object */ -#define MEM_Frame 0x0040 /* Value is a VdbeFrame object */ -#define MEM_TypeMask 0x00ff /* Mask of type bits */ - -/* Whenever Mem contains a valid string or blob representation, one of -** the following flags must be set to determine the memory management -** policy for Mem.z. The MEM_Term flag tells us whether or not the -** string is \000 or \u0000 terminated +** * This routine never allows a 7-bit character (0x00 through 0x7f) to +** be encoded as a multi-byte character. Any multi-byte character that +** attempts to encode a value between 0x00 and 0x7f is rendered as 0xfffd. +** +** * This routine never allows a UTF16 surrogate value to be encoded. +** If a multi-byte character attempts to encode a value between +** 0xd800 and 0xe000 then it is rendered as 0xfffd. +** +** * Bytes in the range of 0x80 through 0xbf which occur as the first +** byte of a character are interpreted as single-byte characters +** and rendered as themselves even though they are technically +** invalid characters. +** +** * This routine accepts an infinite number of different UTF8 encodings +** for unicode values 0x80 and greater. It do not change over-length +** encodings to 0xfffd as some systems recommend. */ -#define MEM_Term 0x0200 /* String rep is nul terminated */ -#define MEM_Dyn 0x0400 /* Need to call sqliteFree() on Mem.z */ -#define MEM_Static 0x0800 /* Mem.z points to a static string */ -#define MEM_Ephem 0x1000 /* Mem.z points to an ephemeral string */ -#define MEM_Agg 0x2000 /* Mem.z points to an agg function context */ -#define MEM_Zero 0x4000 /* Mem.i contains count of 0s appended to blob */ - -#ifdef SQLITE_OMIT_INCRBLOB - #undef MEM_Zero - #define MEM_Zero 0x0000 -#endif +#define READ_UTF8(zIn, zTerm, c) \ + c = *(zIn++); \ + if( c>=0xc0 ){ \ + c = sqlite3Utf8Trans1[c-0xc0]; \ + while( zIn!=zTerm && (*zIn & 0xc0)==0x80 ){ \ + c = (c<<6) + (0x3f & *(zIn++)); \ + } \ + if( c<0x80 \ + || (c&0xFFFFF800)==0xD800 \ + || (c&0xFFFFFFFE)==0xFFFE ){ c = 0xFFFD; } \ + } +SQLITE_PRIVATE int sqlite3Utf8Read( + const unsigned char *zIn, /* First byte of UTF-8 character */ + const unsigned char **pzNext /* Write first byte past UTF-8 char here */ +){ + int c; + /* Same as READ_UTF8() above but without the zTerm parameter. + ** For this routine, we assume the UTF8 string is always zero-terminated. + */ + c = *(zIn++); + if( c>=0xc0 ){ + c = sqlite3Utf8Trans1[c-0xc0]; + while( (*zIn & 0xc0)==0x80 ){ + c = (c<<6) + (0x3f & *(zIn++)); + } + if( c<0x80 + || (c&0xFFFFF800)==0xD800 + || (c&0xFFFFFFFE)==0xFFFE ){ c = 0xFFFD; } + } + *pzNext = zIn; + return c; +} -/* -** Clear any existing type flags from a Mem and replace them with f -*/ -#define MemSetTypeFlag(p, f) \ - ((p)->flags = ((p)->flags&~(MEM_TypeMask|MEM_Zero))|f) -/* A VdbeFunc is just a FuncDef (defined in sqliteInt.h) that contains -** additional information about auxiliary information bound to arguments -** of the function. This is used to implement the sqlite3_get_auxdata() -** and sqlite3_set_auxdata() APIs. The "auxdata" is some auxiliary data -** that can be associated with a constant argument to a function. This -** allows functions such as "regexp" to compile their constant regular -** expression argument once and reused the compiled code for multiple -** invocations. -*/ -struct VdbeFunc { - FuncDef *pFunc; /* The definition of the function */ - int nAux; /* Number of entries allocated for apAux[] */ - struct AuxData { - void *pAux; /* Aux data for the i-th argument */ - void (*xDelete)(void *); /* Destructor for the aux data */ - } apAux[1]; /* One slot for each function argument */ -}; /* -** The "context" argument for a installable function. A pointer to an -** instance of this structure is the first argument to the routines used -** implement the SQL functions. -** -** There is a typedef for this structure in sqlite.h. So all routines, -** even the public interface to SQLite, can use a pointer to this structure. -** But this file is the only place where the internal details of this -** structure are known. -** -** This structure is defined inside of vdbeInt.h because it uses substructures -** (Mem) which are only defined there. -*/ -struct sqlite3_context { - FuncDef *pFunc; /* Pointer to function information. MUST BE FIRST */ - VdbeFunc *pVdbeFunc; /* Auxilary data, if created. */ - Mem s; /* The return value is stored here */ - Mem *pMem; /* Memory cell used to store aggregate context */ - int isError; /* Error code returned by the function. */ - CollSeq *pColl; /* Collating sequence */ -}; +** If the TRANSLATE_TRACE macro is defined, the value of each Mem is +** printed on stderr on the way into and out of sqlite3VdbeMemTranslate(). +*/ +/* #define TRANSLATE_TRACE 1 */ +#ifndef SQLITE_OMIT_UTF16 /* -** A Set structure is used for quick testing to see if a value -** is part of a small set. Sets are used to implement code like -** this: -** x.y IN ('hi','hoo','hum') +** This routine transforms the internal text encoding used by pMem to +** desiredEnc. It is an error if the string is already of the desired +** encoding, or if *pMem does not contain a string value. */ -typedef struct Set Set; -struct Set { - Hash hash; /* A set is just a hash table */ - HashElem *prev; /* Previously accessed hash elemen */ -}; - -/* -** An instance of the virtual machine. This structure contains the complete -** state of the virtual machine. -** -** The "sqlite3_stmt" structure pointer that is returned by sqlite3_compile() -** is really a pointer to an instance of this structure. -** -** The Vdbe.inVtabMethod variable is set to non-zero for the duration of -** any virtual table method invocations made by the vdbe program. It is -** set to 2 for xDestroy method calls and 1 for all other methods. This -** variable is used for two purposes: to allow xDestroy methods to execute -** "DROP TABLE" statements and to prevent some nasty side effects of -** malloc failure when SQLite is invoked recursively by a virtual table -** method function. -*/ -struct Vdbe { - sqlite3 *db; /* The database connection that owns this statement */ - Vdbe *pPrev,*pNext; /* Linked list of VDBEs with the same Vdbe.db */ - int nOp; /* Number of instructions in the program */ - int nOpAlloc; /* Number of slots allocated for aOp[] */ - Op *aOp; /* Space to hold the virtual machine's program */ - int nLabel; /* Number of labels used */ - int nLabelAlloc; /* Number of slots allocated in aLabel[] */ - int *aLabel; /* Space to hold the labels */ - Mem **apArg; /* Arguments to currently executing user function */ - Mem *aColName; /* Column names to return */ - Mem *pResultSet; /* Pointer to an array of results */ - u16 nResColumn; /* Number of columns in one row of the result set */ - u16 nCursor; /* Number of slots in apCsr[] */ - VdbeCursor **apCsr; /* One element of this array for each open cursor */ - u8 errorAction; /* Recovery action to do in case of an error */ - u8 okVar; /* True if azVar[] has been initialized */ - ynVar nVar; /* Number of entries in aVar[] */ - Mem *aVar; /* Values for the OP_Variable opcode. */ - char **azVar; /* Name of variables */ - u32 magic; /* Magic number for sanity checking */ - int nMem; /* Number of memory locations currently allocated */ - Mem *aMem; /* The memory locations */ - u32 cacheCtr; /* VdbeCursor row cache generation counter */ - int pc; /* The program counter */ - int rc; /* Value to return */ - char *zErrMsg; /* Error message written here */ - u8 explain; /* True if EXPLAIN present on SQL command */ - u8 changeCntOn; /* True to update the change-counter */ - u8 expired; /* True if the VM needs to be recompiled */ - u8 runOnlyOnce; /* Automatically expire on reset */ - u8 minWriteFileFormat; /* Minimum file format for writable database files */ - u8 inVtabMethod; /* See comments above */ - u8 usesStmtJournal; /* True if uses a statement journal */ - u8 readOnly; /* True for read-only statements */ - u8 isPrepareV2; /* True if prepared with prepare_v2() */ - int nChange; /* Number of db changes made since last reset */ - int btreeMask; /* Bitmask of db->aDb[] entries referenced */ - i64 startTime; /* Time when query started - used for profiling */ - BtreeMutexArray aMutex; /* An array of Btree used here and needing locks */ - int aCounter[2]; /* Counters used by sqlite3_stmt_status() */ - char *zSql; /* Text of the SQL statement that generated this */ - void *pFree; /* Free this when deleting the vdbe */ - i64 nFkConstraint; /* Number of imm. FK constraints this VM */ - i64 nStmtDefCons; /* Number of def. constraints when stmt started */ - int iStatement; /* Statement number (or 0 if has not opened stmt) */ -#ifdef SQLITE_DEBUG - FILE *trace; /* Write an execution trace here, if not NULL */ -#endif - VdbeFrame *pFrame; /* Parent frame */ - int nFrame; /* Number of frames in pFrame list */ - u32 expmask; /* Binding to these vars invalidates VM */ -}; - -/* -** The following are allowed values for Vdbe.magic -*/ -#define VDBE_MAGIC_INIT 0x26bceaa5 /* Building a VDBE program */ -#define VDBE_MAGIC_RUN 0xbdf20da3 /* VDBE is ready to execute */ -#define VDBE_MAGIC_HALT 0x519c2973 /* VDBE has completed execution */ -#define VDBE_MAGIC_DEAD 0xb606c3c8 /* The VDBE has been deallocated */ - -/* -** Function prototypes -*/ -SQLITE_PRIVATE void sqlite3VdbeFreeCursor(Vdbe *, VdbeCursor*); -void sqliteVdbePopStack(Vdbe*,int); -SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor*); -#if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) -SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE*, int, Op*); -#endif -SQLITE_PRIVATE u32 sqlite3VdbeSerialTypeLen(u32); -SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem*, int); -SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(unsigned char*, int, Mem*, int); -SQLITE_PRIVATE u32 sqlite3VdbeSerialGet(const unsigned char*, u32, Mem*); -SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(VdbeFunc*, int); - -int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *); -SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare(VdbeCursor*,UnpackedRecord*,int*); -SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3*, BtCursor *, i64 *); -SQLITE_PRIVATE int sqlite3MemCompare(const Mem*, const Mem*, const CollSeq*); -SQLITE_PRIVATE int sqlite3VdbeExec(Vdbe*); -SQLITE_PRIVATE int sqlite3VdbeList(Vdbe*); -SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe*); -SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *, int); -SQLITE_PRIVATE int sqlite3VdbeMemTooBig(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemCopy(Mem*, const Mem*); -SQLITE_PRIVATE void sqlite3VdbeMemShallowCopy(Mem*, const Mem*, int); -SQLITE_PRIVATE void sqlite3VdbeMemMove(Mem*, Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemSetStr(Mem*, const char*, int, u8, void(*)(void*)); -SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem*, i64); -#ifdef SQLITE_OMIT_FLOATING_POINT -# define sqlite3VdbeMemSetDouble sqlite3VdbeMemSetInt64 -#else -SQLITE_PRIVATE void sqlite3VdbeMemSetDouble(Mem*, double); -#endif -SQLITE_PRIVATE void sqlite3VdbeMemSetNull(Mem*); -SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem*,int); -SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem*, int); -SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemIntegerify(Mem*); -SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem*); -SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem*); -SQLITE_PRIVATE int sqlite3VdbeMemFromBtree(BtCursor*,int,int,int,Mem*); -SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p); -SQLITE_PRIVATE void sqlite3VdbeMemReleaseExternal(Mem *p); -SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem*, FuncDef*); -SQLITE_PRIVATE const char *sqlite3OpcodeName(int); -SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int preserve); -SQLITE_PRIVATE int sqlite3VdbeCloseStatement(Vdbe *, int); -SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame*); -SQLITE_PRIVATE int sqlite3VdbeFrameRestore(VdbeFrame *); -SQLITE_PRIVATE void sqlite3VdbeMemStoreType(Mem *pMem); - -#ifndef SQLITE_OMIT_FOREIGN_KEY -SQLITE_PRIVATE int sqlite3VdbeCheckFk(Vdbe *, int); -#else -# define sqlite3VdbeCheckFk(p,i) 0 -#endif - -#ifndef SQLITE_OMIT_SHARED_CACHE -SQLITE_PRIVATE void sqlite3VdbeMutexArrayEnter(Vdbe *p); -#else -# define sqlite3VdbeMutexArrayEnter(p) -#endif - -SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem*, u8); -#ifdef SQLITE_DEBUG -SQLITE_PRIVATE void sqlite3VdbePrintSql(Vdbe*); -SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf); -#endif -SQLITE_PRIVATE int sqlite3VdbeMemHandleBom(Mem *pMem); - -#ifndef SQLITE_OMIT_INCRBLOB -SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *); -#else - #define sqlite3VdbeMemExpandBlob(x) SQLITE_OK -#endif - -#endif /* !defined(_VDBEINT_H_) */ - -/************** End of vdbeInt.h *********************************************/ -/************** Continuing where we left off in utf.c ************************/ - -#ifndef SQLITE_AMALGAMATION -/* -** The following constant value is used by the SQLITE_BIGENDIAN and -** SQLITE_LITTLEENDIAN macros. -*/ -SQLITE_PRIVATE const int sqlite3one = 1; -#endif /* SQLITE_AMALGAMATION */ - -/* -** This lookup table is used to help decode the first byte of -** a multi-byte UTF8 character. -*/ -static const unsigned char sqlite3Utf8Trans1[] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, -}; - - -#define WRITE_UTF8(zOut, c) { \ - if( c<0x00080 ){ \ - *zOut++ = (u8)(c&0xFF); \ - } \ - else if( c<0x00800 ){ \ - *zOut++ = 0xC0 + (u8)((c>>6)&0x1F); \ - *zOut++ = 0x80 + (u8)(c & 0x3F); \ - } \ - else if( c<0x10000 ){ \ - *zOut++ = 0xE0 + (u8)((c>>12)&0x0F); \ - *zOut++ = 0x80 + (u8)((c>>6) & 0x3F); \ - *zOut++ = 0x80 + (u8)(c & 0x3F); \ - }else{ \ - *zOut++ = 0xF0 + (u8)((c>>18) & 0x07); \ - *zOut++ = 0x80 + (u8)((c>>12) & 0x3F); \ - *zOut++ = 0x80 + (u8)((c>>6) & 0x3F); \ - *zOut++ = 0x80 + (u8)(c & 0x3F); \ - } \ -} - -#define WRITE_UTF16LE(zOut, c) { \ - if( c<=0xFFFF ){ \ - *zOut++ = (u8)(c&0x00FF); \ - *zOut++ = (u8)((c>>8)&0x00FF); \ - }else{ \ - *zOut++ = (u8)(((c>>10)&0x003F) + (((c-0x10000)>>10)&0x00C0)); \ - *zOut++ = (u8)(0x00D8 + (((c-0x10000)>>18)&0x03)); \ - *zOut++ = (u8)(c&0x00FF); \ - *zOut++ = (u8)(0x00DC + ((c>>8)&0x03)); \ - } \ -} - -#define WRITE_UTF16BE(zOut, c) { \ - if( c<=0xFFFF ){ \ - *zOut++ = (u8)((c>>8)&0x00FF); \ - *zOut++ = (u8)(c&0x00FF); \ - }else{ \ - *zOut++ = (u8)(0x00D8 + (((c-0x10000)>>18)&0x03)); \ - *zOut++ = (u8)(((c>>10)&0x003F) + (((c-0x10000)>>10)&0x00C0)); \ - *zOut++ = (u8)(0x00DC + ((c>>8)&0x03)); \ - *zOut++ = (u8)(c&0x00FF); \ - } \ -} - -#define READ_UTF16LE(zIn, TERM, c){ \ - c = (*zIn++); \ - c += ((*zIn++)<<8); \ - if( c>=0xD800 && c<0xE000 && TERM ){ \ - int c2 = (*zIn++); \ - c2 += ((*zIn++)<<8); \ - c = (c2&0x03FF) + ((c&0x003F)<<10) + (((c&0x03C0)+0x0040)<<10); \ - } \ -} - -#define READ_UTF16BE(zIn, TERM, c){ \ - c = ((*zIn++)<<8); \ - c += (*zIn++); \ - if( c>=0xD800 && c<0xE000 && TERM ){ \ - int c2 = ((*zIn++)<<8); \ - c2 += (*zIn++); \ - c = (c2&0x03FF) + ((c&0x003F)<<10) + (((c&0x03C0)+0x0040)<<10); \ - } \ -} - -/* -** Translate a single UTF-8 character. Return the unicode value. -** -** During translation, assume that the byte that zTerm points -** is a 0x00. -** -** Write a pointer to the next unread byte back into *pzNext. -** -** Notes On Invalid UTF-8: -** -** * This routine never allows a 7-bit character (0x00 through 0x7f) to -** be encoded as a multi-byte character. Any multi-byte character that -** attempts to encode a value between 0x00 and 0x7f is rendered as 0xfffd. -** -** * This routine never allows a UTF16 surrogate value to be encoded. -** If a multi-byte character attempts to encode a value between -** 0xd800 and 0xe000 then it is rendered as 0xfffd. -** -** * Bytes in the range of 0x80 through 0xbf which occur as the first -** byte of a character are interpreted as single-byte characters -** and rendered as themselves even though they are technically -** invalid characters. -** -** * This routine accepts an infinite number of different UTF8 encodings -** for unicode values 0x80 and greater. It do not change over-length -** encodings to 0xfffd as some systems recommend. -*/ -#define READ_UTF8(zIn, zTerm, c) \ - c = *(zIn++); \ - if( c>=0xc0 ){ \ - c = sqlite3Utf8Trans1[c-0xc0]; \ - while( zIn!=zTerm && (*zIn & 0xc0)==0x80 ){ \ - c = (c<<6) + (0x3f & *(zIn++)); \ - } \ - if( c<0x80 \ - || (c&0xFFFFF800)==0xD800 \ - || (c&0xFFFFFFFE)==0xFFFE ){ c = 0xFFFD; } \ - } -SQLITE_PRIVATE int sqlite3Utf8Read( - const unsigned char *zIn, /* First byte of UTF-8 character */ - const unsigned char **pzNext /* Write first byte past UTF-8 char here */ -){ - int c; - - /* Same as READ_UTF8() above but without the zTerm parameter. - ** For this routine, we assume the UTF8 string is always zero-terminated. - */ - c = *(zIn++); - if( c>=0xc0 ){ - c = sqlite3Utf8Trans1[c-0xc0]; - while( (*zIn & 0xc0)==0x80 ){ - c = (c<<6) + (0x3f & *(zIn++)); - } - if( c<0x80 - || (c&0xFFFFF800)==0xD800 - || (c&0xFFFFFFFE)==0xFFFE ){ c = 0xFFFD; } - } - *pzNext = zIn; - return c; -} - - - - -/* -** If the TRANSLATE_TRACE macro is defined, the value of each Mem is -** printed on stderr on the way into and out of sqlite3VdbeMemTranslate(). -*/ -/* #define TRANSLATE_TRACE 1 */ - -#ifndef SQLITE_OMIT_UTF16 -/* -** This routine transforms the internal text encoding used by pMem to -** desiredEnc. It is an error if the string is already of the desired -** encoding, or if *pMem does not contain a string value. -*/ -SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){ - int len; /* Maximum length of output string in bytes */ - unsigned char *zOut; /* Output buffer */ - unsigned char *zIn; /* Input iterator */ - unsigned char *zTerm; /* End of input */ - unsigned char *z; /* Output iterator */ - unsigned int c; +SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){ + int len; /* Maximum length of output string in bytes */ + unsigned char *zOut; /* Output buffer */ + unsigned char *zIn; /* Input iterator */ + unsigned char *zTerm; /* End of input */ + unsigned char *z; /* Output iterator */ + unsigned int c; assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( pMem->flags&MEM_Str ); @@ -20348,39 +20968,39 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 37 */ "VerifyCookie", /* 38 */ "OpenRead", /* 39 */ "OpenWrite", - /* 40 */ "OpenEphemeral", - /* 41 */ "OpenPseudo", - /* 42 */ "Close", - /* 43 */ "SeekLt", - /* 44 */ "SeekLe", - /* 45 */ "SeekGe", - /* 46 */ "SeekGt", - /* 47 */ "Seek", - /* 48 */ "NotFound", - /* 49 */ "Found", - /* 50 */ "IsUnique", - /* 51 */ "NotExists", - /* 52 */ "Sequence", - /* 53 */ "NewRowid", - /* 54 */ "Insert", - /* 55 */ "InsertInt", - /* 56 */ "Delete", - /* 57 */ "ResetCount", - /* 58 */ "RowKey", - /* 59 */ "RowData", - /* 60 */ "Rowid", - /* 61 */ "NullRow", - /* 62 */ "Last", - /* 63 */ "Sort", - /* 64 */ "Rewind", - /* 65 */ "Prev", - /* 66 */ "Next", - /* 67 */ "IdxInsert", + /* 40 */ "OpenAutoindex", + /* 41 */ "OpenEphemeral", + /* 42 */ "OpenPseudo", + /* 43 */ "Close", + /* 44 */ "SeekLt", + /* 45 */ "SeekLe", + /* 46 */ "SeekGe", + /* 47 */ "SeekGt", + /* 48 */ "Seek", + /* 49 */ "NotFound", + /* 50 */ "Found", + /* 51 */ "IsUnique", + /* 52 */ "NotExists", + /* 53 */ "Sequence", + /* 54 */ "NewRowid", + /* 55 */ "Insert", + /* 56 */ "InsertInt", + /* 57 */ "Delete", + /* 58 */ "ResetCount", + /* 59 */ "RowKey", + /* 60 */ "RowData", + /* 61 */ "Rowid", + /* 62 */ "NullRow", + /* 63 */ "Last", + /* 64 */ "Sort", + /* 65 */ "Rewind", + /* 66 */ "Prev", + /* 67 */ "Next", /* 68 */ "Or", /* 69 */ "And", - /* 70 */ "IdxDelete", - /* 71 */ "IdxRowid", - /* 72 */ "IdxLT", + /* 70 */ "IdxInsert", + /* 71 */ "IdxDelete", + /* 72 */ "IdxRowid", /* 73 */ "IsNull", /* 74 */ "NotNull", /* 75 */ "Ne", @@ -20389,7 +21009,7 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 78 */ "Le", /* 79 */ "Lt", /* 80 */ "Ge", - /* 81 */ "IdxGE", + /* 81 */ "IdxLT", /* 82 */ "BitAnd", /* 83 */ "BitOr", /* 84 */ "ShiftLeft", @@ -20400,52 +21020,52 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 89 */ "Divide", /* 90 */ "Remainder", /* 91 */ "Concat", - /* 92 */ "Destroy", + /* 92 */ "IdxGE", /* 93 */ "BitNot", /* 94 */ "String8", - /* 95 */ "Clear", - /* 96 */ "CreateIndex", - /* 97 */ "CreateTable", - /* 98 */ "ParseSchema", - /* 99 */ "LoadAnalysis", - /* 100 */ "DropTable", - /* 101 */ "DropIndex", - /* 102 */ "DropTrigger", - /* 103 */ "IntegrityCk", - /* 104 */ "RowSetAdd", - /* 105 */ "RowSetRead", - /* 106 */ "RowSetTest", - /* 107 */ "Program", - /* 108 */ "Param", - /* 109 */ "FkCounter", - /* 110 */ "FkIfZero", - /* 111 */ "MemMax", - /* 112 */ "IfPos", - /* 113 */ "IfNeg", - /* 114 */ "IfZero", - /* 115 */ "AggStep", - /* 116 */ "AggFinal", - /* 117 */ "Vacuum", - /* 118 */ "IncrVacuum", - /* 119 */ "Expire", - /* 120 */ "TableLock", - /* 121 */ "VBegin", - /* 122 */ "VCreate", - /* 123 */ "VDestroy", - /* 124 */ "VOpen", - /* 125 */ "VFilter", - /* 126 */ "VColumn", - /* 127 */ "VNext", - /* 128 */ "VRename", - /* 129 */ "VUpdate", + /* 95 */ "Destroy", + /* 96 */ "Clear", + /* 97 */ "CreateIndex", + /* 98 */ "CreateTable", + /* 99 */ "ParseSchema", + /* 100 */ "LoadAnalysis", + /* 101 */ "DropTable", + /* 102 */ "DropIndex", + /* 103 */ "DropTrigger", + /* 104 */ "IntegrityCk", + /* 105 */ "RowSetAdd", + /* 106 */ "RowSetRead", + /* 107 */ "RowSetTest", + /* 108 */ "Program", + /* 109 */ "Param", + /* 110 */ "FkCounter", + /* 111 */ "FkIfZero", + /* 112 */ "MemMax", + /* 113 */ "IfPos", + /* 114 */ "IfNeg", + /* 115 */ "IfZero", + /* 116 */ "AggStep", + /* 117 */ "AggFinal", + /* 118 */ "Checkpoint", + /* 119 */ "JournalMode", + /* 120 */ "Vacuum", + /* 121 */ "IncrVacuum", + /* 122 */ "Expire", + /* 123 */ "TableLock", + /* 124 */ "VBegin", + /* 125 */ "VCreate", + /* 126 */ "VDestroy", + /* 127 */ "VOpen", + /* 128 */ "VFilter", + /* 129 */ "VColumn", /* 130 */ "Real", - /* 131 */ "Pagecount", - /* 132 */ "Trace", - /* 133 */ "Noop", - /* 134 */ "Explain", - /* 135 */ "NotUsed_135", - /* 136 */ "NotUsed_136", - /* 137 */ "NotUsed_137", + /* 131 */ "VNext", + /* 132 */ "VRename", + /* 133 */ "VUpdate", + /* 134 */ "Pagecount", + /* 135 */ "Trace", + /* 136 */ "Noop", + /* 137 */ "Explain", /* 138 */ "NotUsed_138", /* 139 */ "NotUsed_139", /* 140 */ "NotUsed_140", @@ -20550,23 +21170,9 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ #ifdef SQLITE_DEBUG SQLITE_PRIVATE int sqlite3OSTrace = 0; -#define OSTRACE1(X) if( sqlite3OSTrace ) sqlite3DebugPrintf(X) -#define OSTRACE2(X,Y) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y) -#define OSTRACE3(X,Y,Z) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z) -#define OSTRACE4(X,Y,Z,A) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z,A) -#define OSTRACE5(X,Y,Z,A,B) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z,A,B) -#define OSTRACE6(X,Y,Z,A,B,C) \ - if(sqlite3OSTrace) sqlite3DebugPrintf(X,Y,Z,A,B,C) -#define OSTRACE7(X,Y,Z,A,B,C,D) \ - if(sqlite3OSTrace) sqlite3DebugPrintf(X,Y,Z,A,B,C,D) +#define OSTRACE(X) if( sqlite3OSTrace ) sqlite3DebugPrintf X #else -#define OSTRACE1(X) -#define OSTRACE2(X,Y) -#define OSTRACE3(X,Y,Z) -#define OSTRACE4(X,Y,Z,A) -#define OSTRACE5(X,Y,Z,A,B) -#define OSTRACE6(X,Y,Z,A,B,C) -#define OSTRACE7(X,Y,Z,A,B,C,D) +#define OSTRACE(X) #endif /* @@ -20762,7 +21368,7 @@ static int os2Close( sqlite3_file *id ){ APIRET rc = NO_ERROR; os2File *pFile; if( id && (pFile = (os2File*)id) != 0 ){ - OSTRACE2( "CLOSE %d\n", pFile->h ); + OSTRACE(( "CLOSE %d\n", pFile->h )); rc = DosClose( pFile->h ); pFile->locktype = NO_LOCK; if( pFile->pathToDel != NULL ){ @@ -20793,7 +21399,7 @@ static int os2Read( os2File *pFile = (os2File*)id; assert( id!=0 ); SimulateIOError( return SQLITE_IOERR_READ ); - OSTRACE3( "READ %d lock=%d\n", pFile->h, pFile->locktype ); + OSTRACE(( "READ %d lock=%d\n", pFile->h, pFile->locktype )); if( DosSetFilePtr(pFile->h, offset, FILE_BEGIN, &fileLocation) != NO_ERROR ){ return SQLITE_IOERR; } @@ -20826,7 +21432,7 @@ static int os2Write( assert( id!=0 ); SimulateIOError( return SQLITE_IOERR_WRITE ); SimulateDiskfullError( return SQLITE_FULL ); - OSTRACE3( "WRITE %d lock=%d\n", pFile->h, pFile->locktype ); + OSTRACE(( "WRITE %d lock=%d\n", pFile->h, pFile->locktype )); if( DosSetFilePtr(pFile->h, offset, FILE_BEGIN, &fileLocation) != NO_ERROR ){ return SQLITE_IOERR; } @@ -20848,7 +21454,7 @@ static int os2Write( static int os2Truncate( sqlite3_file *id, i64 nByte ){ APIRET rc = NO_ERROR; os2File *pFile = (os2File*)id; - OSTRACE3( "TRUNCATE %d %lld\n", pFile->h, nByte ); + OSTRACE(( "TRUNCATE %d %lld\n", pFile->h, nByte )); SimulateIOError( return SQLITE_IOERR_TRUNCATE ); rc = DosSetFileSize( pFile->h, nByte ); return rc == NO_ERROR ? SQLITE_OK : SQLITE_IOERR_TRUNCATE; @@ -20868,7 +21474,7 @@ SQLITE_API int sqlite3_fullsync_count = 0; */ static int os2Sync( sqlite3_file *id, int flags ){ os2File *pFile = (os2File*)id; - OSTRACE3( "SYNC %d lock=%d\n", pFile->h, pFile->locktype ); + OSTRACE(( "SYNC %d lock=%d\n", pFile->h, pFile->locktype )); #ifdef SQLITE_TEST if( flags & SQLITE_SYNC_FULL){ sqlite3_fullsync_count++; @@ -20918,7 +21524,7 @@ static int getReadLock( os2File *pFile ){ UnlockArea.lOffset = 0L; UnlockArea.lRange = 0L; res = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 1L ); - OSTRACE3( "GETREADLOCK %d res=%d\n", pFile->h, res ); + OSTRACE(( "GETREADLOCK %d res=%d\n", pFile->h, res )); return res; } @@ -20936,7 +21542,7 @@ static int unlockReadLock( os2File *id ){ UnlockArea.lOffset = SHARED_FIRST; UnlockArea.lRange = SHARED_SIZE; res = DosSetFileLocks( id->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 1L ); - OSTRACE3( "UNLOCK-READLOCK file handle=%d res=%d?\n", id->h, res ); + OSTRACE(( "UNLOCK-READLOCK file handle=%d res=%d?\n", id->h, res )); return res; } @@ -20977,14 +21583,14 @@ static int os2Lock( sqlite3_file *id, int locktype ){ memset(&LockArea, 0, sizeof(LockArea)); memset(&UnlockArea, 0, sizeof(UnlockArea)); assert( pFile!=0 ); - OSTRACE4( "LOCK %d %d was %d\n", pFile->h, locktype, pFile->locktype ); + OSTRACE(( "LOCK %d %d was %d\n", pFile->h, locktype, pFile->locktype )); /* If there is already a lock of this type or more restrictive on the ** os2File, do nothing. Don't use the end_lock: exit path, as ** sqlite3_mutex_enter() hasn't been called yet. */ if( pFile->locktype>=locktype ){ - OSTRACE3( "LOCK %d %d ok (already held)\n", pFile->h, locktype ); + OSTRACE(( "LOCK %d %d ok (already held)\n", pFile->h, locktype )); return SQLITE_OK; } @@ -21011,7 +21617,7 @@ static int os2Lock( sqlite3_file *id, int locktype ){ res = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, 100L, 0L ); if( res == NO_ERROR ){ gotPendingLock = 1; - OSTRACE3( "LOCK %d pending lock boolean set. res=%d\n", pFile->h, res ); + OSTRACE(( "LOCK %d pending lock boolean set. res=%d\n", pFile->h, res )); } } @@ -21023,7 +21629,7 @@ static int os2Lock( sqlite3_file *id, int locktype ){ if( res == NO_ERROR ){ newLocktype = SHARED_LOCK; } - OSTRACE3( "LOCK %d acquire shared lock. res=%d\n", pFile->h, res ); + OSTRACE(( "LOCK %d acquire shared lock. res=%d\n", pFile->h, res )); } /* Acquire a RESERVED lock @@ -21038,7 +21644,7 @@ static int os2Lock( sqlite3_file *id, int locktype ){ if( res == NO_ERROR ){ newLocktype = RESERVED_LOCK; } - OSTRACE3( "LOCK %d acquire reserved lock. res=%d\n", pFile->h, res ); + OSTRACE(( "LOCK %d acquire reserved lock. res=%d\n", pFile->h, res )); } /* Acquire a PENDING lock @@ -21046,7 +21652,8 @@ static int os2Lock( sqlite3_file *id, int locktype ){ if( locktype==EXCLUSIVE_LOCK && res == NO_ERROR ){ newLocktype = PENDING_LOCK; gotPendingLock = 0; - OSTRACE2( "LOCK %d acquire pending lock. pending lock boolean unset.\n", pFile->h ); + OSTRACE(( "LOCK %d acquire pending lock. pending lock boolean unset.\n", + pFile->h )); } /* Acquire an EXCLUSIVE lock @@ -21054,7 +21661,7 @@ static int os2Lock( sqlite3_file *id, int locktype ){ if( locktype==EXCLUSIVE_LOCK && res == NO_ERROR ){ assert( pFile->locktype>=SHARED_LOCK ); res = unlockReadLock(pFile); - OSTRACE2( "unreadlock = %d\n", res ); + OSTRACE(( "unreadlock = %d\n", res )); LockArea.lOffset = SHARED_FIRST; LockArea.lRange = SHARED_SIZE; UnlockArea.lOffset = 0L; @@ -21063,10 +21670,10 @@ static int os2Lock( sqlite3_file *id, int locktype ){ if( res == NO_ERROR ){ newLocktype = EXCLUSIVE_LOCK; }else{ - OSTRACE2( "OS/2 error-code = %d\n", res ); + OSTRACE(( "OS/2 error-code = %d\n", res )); getReadLock(pFile); } - OSTRACE3( "LOCK %d acquire exclusive lock. res=%d\n", pFile->h, res ); + OSTRACE(( "LOCK %d acquire exclusive lock. res=%d\n", pFile->h, res )); } /* If we are holding a PENDING lock that ought to be released, then @@ -21079,7 +21686,7 @@ static int os2Lock( sqlite3_file *id, int locktype ){ UnlockArea.lOffset = PENDING_BYTE; UnlockArea.lRange = 1L; r = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 0L ); - OSTRACE3( "LOCK %d unlocking pending/is shared. r=%d\n", pFile->h, r ); + OSTRACE(( "LOCK %d unlocking pending/is shared. r=%d\n", pFile->h, r )); } /* Update the state of the lock has held in the file descriptor then @@ -21088,12 +21695,12 @@ static int os2Lock( sqlite3_file *id, int locktype ){ if( res == NO_ERROR ){ rc = SQLITE_OK; }else{ - OSTRACE4( "LOCK FAILED %d trying for %d but got %d\n", pFile->h, - locktype, newLocktype ); + OSTRACE(( "LOCK FAILED %d trying for %d but got %d\n", pFile->h, + locktype, newLocktype )); rc = SQLITE_BUSY; } pFile->locktype = newLocktype; - OSTRACE3( "LOCK %d now %d\n", pFile->h, pFile->locktype ); + OSTRACE(( "LOCK %d now %d\n", pFile->h, pFile->locktype )); return rc; } @@ -21108,7 +21715,7 @@ static int os2CheckReservedLock( sqlite3_file *id, int *pOut ){ assert( pFile!=0 ); if( pFile->locktype>=RESERVED_LOCK ){ r = 1; - OSTRACE3( "TEST WR-LOCK %d %d (local)\n", pFile->h, r ); + OSTRACE(( "TEST WR-LOCK %d %d (local)\n", pFile->h, r )); }else{ FILELOCK LockArea, UnlockArea; @@ -21120,7 +21727,7 @@ static int os2CheckReservedLock( sqlite3_file *id, int *pOut ){ UnlockArea.lOffset = 0L; UnlockArea.lRange = 0L; rc = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 0L ); - OSTRACE3( "TEST WR-LOCK %d lock reserved byte rc=%d\n", pFile->h, rc ); + OSTRACE(( "TEST WR-LOCK %d lock reserved byte rc=%d\n", pFile->h, rc )); if( rc == NO_ERROR ){ APIRET rcu = NO_ERROR; /* return code for unlocking */ LockArea.lOffset = 0L; @@ -21128,10 +21735,10 @@ static int os2CheckReservedLock( sqlite3_file *id, int *pOut ){ UnlockArea.lOffset = RESERVED_BYTE; UnlockArea.lRange = 1L; rcu = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 0L ); - OSTRACE3( "TEST WR-LOCK %d unlock reserved byte r=%d\n", pFile->h, rcu ); + OSTRACE(( "TEST WR-LOCK %d unlock reserved byte r=%d\n", pFile->h, rcu )); } r = !(rc == NO_ERROR); - OSTRACE3( "TEST WR-LOCK %d %d (remote)\n", pFile->h, r ); + OSTRACE(( "TEST WR-LOCK %d %d (remote)\n", pFile->h, r )); } *pOut = r; return SQLITE_OK; @@ -21159,7 +21766,7 @@ static int os2Unlock( sqlite3_file *id, int locktype ){ memset(&UnlockArea, 0, sizeof(UnlockArea)); assert( pFile!=0 ); assert( locktype<=SHARED_LOCK ); - OSTRACE4( "UNLOCK %d to %d was %d\n", pFile->h, locktype, pFile->locktype ); + OSTRACE(( "UNLOCK %d to %d was %d\n", pFile->h, locktype, pFile->locktype )); type = pFile->locktype; if( type>=EXCLUSIVE_LOCK ){ LockArea.lOffset = 0L; @@ -21167,11 +21774,11 @@ static int os2Unlock( sqlite3_file *id, int locktype ){ UnlockArea.lOffset = SHARED_FIRST; UnlockArea.lRange = SHARED_SIZE; res = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 0L ); - OSTRACE3( "UNLOCK %d exclusive lock res=%d\n", pFile->h, res ); + OSTRACE(( "UNLOCK %d exclusive lock res=%d\n", pFile->h, res )); if( locktype==SHARED_LOCK && getReadLock(pFile) != NO_ERROR ){ /* This should never happen. We should always be able to ** reacquire the read lock */ - OSTRACE3( "UNLOCK %d to %d getReadLock() failed\n", pFile->h, locktype ); + OSTRACE(( "UNLOCK %d to %d getReadLock() failed\n", pFile->h, locktype )); rc = SQLITE_IOERR_UNLOCK; } } @@ -21181,11 +21788,12 @@ static int os2Unlock( sqlite3_file *id, int locktype ){ UnlockArea.lOffset = RESERVED_BYTE; UnlockArea.lRange = 1L; res = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 0L ); - OSTRACE3( "UNLOCK %d reserved res=%d\n", pFile->h, res ); + OSTRACE(( "UNLOCK %d reserved res=%d\n", pFile->h, res )); } if( locktype==NO_LOCK && type>=SHARED_LOCK ){ res = unlockReadLock(pFile); - OSTRACE5( "UNLOCK %d is %d want %d res=%d\n", pFile->h, type, locktype, res ); + OSTRACE(( "UNLOCK %d is %d want %d res=%d\n", + pFile->h, type, locktype, res )); } if( type>=PENDING_LOCK ){ LockArea.lOffset = 0L; @@ -21193,10 +21801,10 @@ static int os2Unlock( sqlite3_file *id, int locktype ){ UnlockArea.lOffset = PENDING_BYTE; UnlockArea.lRange = 1L; res = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 0L ); - OSTRACE3( "UNLOCK %d pending res=%d\n", pFile->h, res ); + OSTRACE(( "UNLOCK %d pending res=%d\n", pFile->h, res )); } pFile->locktype = locktype; - OSTRACE3( "UNLOCK %d now %d\n", pFile->h, pFile->locktype ); + OSTRACE(( "UNLOCK %d now %d\n", pFile->h, pFile->locktype )); return rc; } @@ -21207,7 +21815,8 @@ static int os2FileControl(sqlite3_file *id, int op, void *pArg){ switch( op ){ case SQLITE_FCNTL_LOCKSTATE: { *(int*)pArg = ((os2File*)id)->locktype; - OSTRACE3( "FCNTL_LOCKSTATE %d lock=%d\n", ((os2File*)id)->h, ((os2File*)id)->locktype ); + OSTRACE(( "FCNTL_LOCKSTATE %d lock=%d\n", + ((os2File*)id)->h, ((os2File*)id)->locktype )); return SQLITE_OK; } } @@ -21394,7 +22003,7 @@ static int getTempname(int nBuf, char *zBuf ){ zBuf[j] = (char)zChars[ ((unsigned char)zBuf[j])%(sizeof(zChars)-1) ]; } zBuf[j] = 0; - OSTRACE2( "TEMP FILENAME: %s\n", zBuf ); + OSTRACE(( "TEMP FILENAME: %s\n", zBuf )); return SQLITE_OK; } @@ -21457,30 +22066,30 @@ static int os2Open( memset( pFile, 0, sizeof(*pFile) ); - OSTRACE2( "OPEN want %d\n", flags ); + OSTRACE(( "OPEN want %d\n", flags )); if( flags & SQLITE_OPEN_READWRITE ){ ulOpenMode |= OPEN_ACCESS_READWRITE; - OSTRACE1( "OPEN read/write\n" ); + OSTRACE(( "OPEN read/write\n" )); }else{ ulOpenMode |= OPEN_ACCESS_READONLY; - OSTRACE1( "OPEN read only\n" ); + OSTRACE(( "OPEN read only\n" )); } if( flags & SQLITE_OPEN_CREATE ){ ulOpenFlags |= OPEN_ACTION_OPEN_IF_EXISTS | OPEN_ACTION_CREATE_IF_NEW; - OSTRACE1( "OPEN open new/create\n" ); + OSTRACE(( "OPEN open new/create\n" )); }else{ ulOpenFlags |= OPEN_ACTION_OPEN_IF_EXISTS | OPEN_ACTION_FAIL_IF_NEW; - OSTRACE1( "OPEN open existing\n" ); + OSTRACE(( "OPEN open existing\n" )); } if( flags & SQLITE_OPEN_MAIN_DB ){ ulOpenMode |= OPEN_SHARE_DENYNONE; - OSTRACE1( "OPEN share read/write\n" ); + OSTRACE(( "OPEN share read/write\n" )); }else{ ulOpenMode |= OPEN_SHARE_DENYWRITE; - OSTRACE1( "OPEN share read only\n" ); + OSTRACE(( "OPEN share read only\n" )); } if( flags & SQLITE_OPEN_DELETEONCLOSE ){ @@ -21490,10 +22099,10 @@ static int os2Open( #endif os2FullPathname( pVfs, zName, CCHMAXPATH, pathUtf8 ); pFile->pathToDel = convertUtf8PathToCp( pathUtf8 ); - OSTRACE1( "OPEN hidden/delete on close file attributes\n" ); + OSTRACE(( "OPEN hidden/delete on close file attributes\n" )); }else{ pFile->pathToDel = NULL; - OSTRACE1( "OPEN normal file attribute\n" ); + OSTRACE(( "OPEN normal file attribute\n" )); } /* always open in random access mode for possibly better speed */ @@ -21512,13 +22121,14 @@ static int os2Open( (PEAOP2)NULL ); free( zNameCp ); if( rc != NO_ERROR ){ - OSTRACE7( "OPEN Invalid handle rc=%d: zName=%s, ulAction=%#lx, ulAttr=%#lx, ulFlags=%#lx, ulMode=%#lx\n", - rc, zName, ulAction, ulFileAttribute, ulOpenFlags, ulOpenMode ); + OSTRACE(( "OPEN Invalid handle rc=%d: zName=%s, ulAction=%#lx, ulAttr=%#lx, ulFlags=%#lx, ulMode=%#lx\n", + rc, zName, ulAction, ulFileAttribute, ulOpenFlags, ulOpenMode )); if( pFile->pathToDel ) free( pFile->pathToDel ); pFile->pathToDel = NULL; if( flags & SQLITE_OPEN_READWRITE ){ - OSTRACE2( "OPEN %d Invalid handle\n", ((flags | SQLITE_OPEN_READONLY) & ~SQLITE_OPEN_READWRITE) ); + OSTRACE(( "OPEN %d Invalid handle\n", + ((flags | SQLITE_OPEN_READONLY) & ~SQLITE_OPEN_READWRITE) )); return os2Open( pVfs, zName, id, ((flags | SQLITE_OPEN_READONLY) & ~SQLITE_OPEN_READWRITE), pOutFlags ); @@ -21534,7 +22144,7 @@ static int os2Open( pFile->pMethod = &os2IoMethod; pFile->h = h; OpenCounter(+1); - OSTRACE3( "OPEN %d pOutFlags=%d\n", pFile->h, pOutFlags ); + OSTRACE(( "OPEN %d pOutFlags=%d\n", pFile->h, pOutFlags )); return SQLITE_OK; } @@ -21551,7 +22161,7 @@ static int os2Delete( SimulateIOError( return SQLITE_IOERR_DELETE ); rc = DosDelete( (PSZ)zFilenameCp ); free( zFilenameCp ); - OSTRACE2( "DELETE \"%s\"\n", zFilename ); + OSTRACE(( "DELETE \"%s\"\n", zFilename )); return rc == NO_ERROR ? SQLITE_OK : SQLITE_IOERR_DELETE; } @@ -21572,17 +22182,17 @@ static int os2Access( rc = DosQueryPathInfo( (PSZ)zFilenameCp, FIL_STANDARD, &fsts3ConfigInfo, sizeof(FILESTATUS3) ); free( zFilenameCp ); - OSTRACE4( "ACCESS fsts3ConfigInfo.attrFile=%d flags=%d rc=%d\n", - fsts3ConfigInfo.attrFile, flags, rc ); + OSTRACE(( "ACCESS fsts3ConfigInfo.attrFile=%d flags=%d rc=%d\n", + fsts3ConfigInfo.attrFile, flags, rc )); switch( flags ){ case SQLITE_ACCESS_READ: case SQLITE_ACCESS_EXISTS: rc = (rc == NO_ERROR); - OSTRACE3( "ACCESS %s access of read and exists rc=%d\n", zFilename, rc ); + OSTRACE(( "ACCESS %s access of read and exists rc=%d\n", zFilename, rc)); break; case SQLITE_ACCESS_READWRITE: rc = (rc == NO_ERROR) && ( (fsts3ConfigInfo.attrFile & FILE_READONLY) == 0 ); - OSTRACE3( "ACCESS %s access of read/write rc=%d\n", zFilename, rc ); + OSTRACE(( "ACCESS %s access of read/write rc=%d\n", zFilename, rc )); break; default: assert( !"Invalid flags argument" ); @@ -21792,7 +22402,7 @@ SQLITE_API int sqlite3_os_init(void){ os2Randomness, /* xRandomness */ os2Sleep, /* xSleep */ os2CurrentTime, /* xCurrentTime */ - os2GetLastError /* xGetLastError */ + os2GetLastError, /* xGetLastError */ }; sqlite3_vfs_register(&os2Vfs, 1); initUconvObjects(); @@ -21926,6 +22536,7 @@ SQLITE_API int sqlite3_os_end(void){ #include #include #include +#include #if SQLITE_ENABLE_LOCKING_STYLE # include @@ -21980,6 +22591,11 @@ SQLITE_API int sqlite3_os_end(void){ */ #define IS_LOCK_ERROR(x) ((x != SQLITE_OK) && (x != SQLITE_BUSY)) +/* Forward references */ +typedef struct unixShm unixShm; /* Connection shared memory */ +typedef struct unixShmNode unixShmNode; /* Shared memory instance */ +typedef struct unixInodeInfo unixInodeInfo; /* An i-node */ +typedef struct UnixUnusedFd UnixUnusedFd; /* An unused file descriptor */ /* ** Sometimes, after a file handle is closed by SQLite, the file descriptor @@ -21987,7 +22603,6 @@ SQLITE_API int sqlite3_os_end(void){ ** structure are used to store the file descriptor while waiting for an ** opportunity to either close or reuse it. */ -typedef struct UnixUnusedFd UnixUnusedFd; struct UnixUnusedFd { int fd; /* File descriptor to close */ int flags; /* Flags this file descriptor was opened with */ @@ -22001,27 +22616,26 @@ struct UnixUnusedFd { typedef struct unixFile unixFile; struct unixFile { sqlite3_io_methods const *pMethod; /* Always the first entry */ - struct unixOpenCnt *pOpen; /* Info about all open fd's on this inode */ - struct unixLockInfo *pLock; /* Info about locks on this inode */ - int h; /* The file descriptor */ - int dirfd; /* File descriptor for the directory */ - unsigned char locktype; /* The type of lock held on this fd */ - int lastErrno; /* The unix errno from the last I/O error */ - void *lockingContext; /* Locking style specific state */ - UnixUnusedFd *pUnused; /* Pre-allocated UnixUnusedFd */ - int fileFlags; /* Miscellanous flags */ + unixInodeInfo *pInode; /* Info about locks on this inode */ + int h; /* The file descriptor */ + int dirfd; /* File descriptor for the directory */ + unsigned char eFileLock; /* The type of lock held on this fd */ + int lastErrno; /* The unix errno from last I/O error */ + void *lockingContext; /* Locking style specific state */ + UnixUnusedFd *pUnused; /* Pre-allocated UnixUnusedFd */ + int fileFlags; /* Miscellanous flags */ + const char *zPath; /* Name of the file */ + unixShm *pShm; /* Shared memory segment information */ + int szChunk; /* Configured by FCNTL_CHUNK_SIZE */ #if SQLITE_ENABLE_LOCKING_STYLE - int openFlags; /* The flags specified at open() */ + int openFlags; /* The flags specified at open() */ #endif #if SQLITE_ENABLE_LOCKING_STYLE || defined(__APPLE__) - unsigned fsFlags; /* cached details from statfs() */ -#endif -#if SQLITE_THREADSAFE && defined(__linux__) - pthread_t tid; /* The thread that "owns" this unixFile */ + unsigned fsFlags; /* cached details from statfs() */ #endif #if OS_VXWORKS - int isDelete; /* Delete on close if true */ - struct vxworksFileId *pId; /* Unique file ID */ + int isDelete; /* Delete on close if true */ + struct vxworksFileId *pId; /* Unique file ID */ #endif #ifndef NDEBUG /* The next group of variables are used to track whether or not the @@ -22086,23 +22700,9 @@ struct unixFile { #ifdef SQLITE_DEBUG SQLITE_PRIVATE int sqlite3OSTrace = 0; -#define OSTRACE1(X) if( sqlite3OSTrace ) sqlite3DebugPrintf(X) -#define OSTRACE2(X,Y) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y) -#define OSTRACE3(X,Y,Z) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z) -#define OSTRACE4(X,Y,Z,A) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z,A) -#define OSTRACE5(X,Y,Z,A,B) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z,A,B) -#define OSTRACE6(X,Y,Z,A,B,C) \ - if(sqlite3OSTrace) sqlite3DebugPrintf(X,Y,Z,A,B,C) -#define OSTRACE7(X,Y,Z,A,B,C,D) \ - if(sqlite3OSTrace) sqlite3DebugPrintf(X,Y,Z,A,B,C,D) +#define OSTRACE(X) if( sqlite3OSTrace ) sqlite3DebugPrintf X #else -#define OSTRACE1(X) -#define OSTRACE2(X,Y) -#define OSTRACE3(X,Y,Z) -#define OSTRACE4(X,Y,Z,A) -#define OSTRACE5(X,Y,Z,A,B) -#define OSTRACE6(X,Y,Z,A,B,C) -#define OSTRACE7(X,Y,Z,A,B,C,D) +#define OSTRACE(X) #endif /* @@ -22312,7 +22912,7 @@ SQLITE_API int sqlite3_open_file_count = 0; /* ** Helper functions to obtain and relinquish the global mutex. The -** global mutex is used to protect the unixOpenCnt, unixLockInfo and +** global mutex is used to protect the unixInodeInfo and ** vxworksFileId objects used by this file, all of which may be ** shared by multiple threads. ** @@ -22343,8 +22943,8 @@ static int unixMutexHeld(void) { ** binaries. This returns the string represetation of the supplied ** integer lock-type. */ -static const char *locktypeName(int locktype){ - switch( locktype ){ +static const char *azFileLock(int eFileLock){ + switch( eFileLock ){ case NO_LOCK: return "NONE"; case SHARED_LOCK: return "SHARED"; case RESERVED_LOCK: return "RESERVED"; @@ -22681,13 +23281,12 @@ static void vxworksReleaseFileId(struct vxworksFileId *pId){ ** ** If you close a file descriptor that points to a file that has locks, ** all locks on that file that are owned by the current process are -** released. To work around this problem, each unixFile structure contains -** a pointer to an unixOpenCnt structure. There is one unixOpenCnt structure -** per open inode, which means that multiple unixFile can point to a single -** unixOpenCnt. When an attempt is made to close an unixFile, if there are +** released. To work around this problem, each unixInodeInfo object +** maintains a count of the number of pending locks on tha inode. +** When an attempt is made to close an unixFile, if there are ** other unixFile open on the same inode that are holding locks, the call ** to close() the file descriptor is deferred until all of the locks clear. -** The unixOpenCnt structure keeps a list of file descriptors that need to +** The unixInodeInfo structure keeps a list of file descriptors that need to ** be closed and that list is walked (and cleared) when the last lock ** clears. ** @@ -22702,46 +23301,19 @@ static void vxworksReleaseFileId(struct vxworksFileId *pId){ ** in thread B. But there is no way to know at compile-time which ** threading library is being used. So there is no way to know at ** compile-time whether or not thread A can override locks on thread B. -** We have to do a run-time check to discover the behavior of the +** One has to do a run-time check to discover the behavior of the ** current process. ** -** On systems where thread A is unable to modify locks created by -** thread B, we have to keep track of which thread created each -** lock. Hence there is an extra field in the key to the unixLockInfo -** structure to record this information. And on those systems it -** is illegal to begin a transaction in one thread and finish it -** in another. For this latter restriction, there is no work-around. -** It is a limitation of LinuxThreads. -*/ - -/* -** Set or check the unixFile.tid field. This field is set when an unixFile -** is first opened. All subsequent uses of the unixFile verify that the -** same thread is operating on the unixFile. Some operating systems do -** not allow locks to be overridden by other threads and that restriction -** means that sqlite3* database handles cannot be moved from one thread -** to another while locks are held. -** -** Version 3.3.1 (2006-01-15): unixFile can be moved from one thread to -** another as long as we are running on a system that supports threads -** overriding each others locks (which is now the most common behavior) -** or if no locks are held. But the unixFile.pLock field needs to be -** recomputed because its key includes the thread-id. See the -** transferOwnership() function below for additional information -*/ -#if SQLITE_THREADSAFE && defined(__linux__) -# define SET_THREADID(X) (X)->tid = pthread_self() -# define CHECK_THREADID(X) (threadsOverrideEachOthersLocks==0 && \ - !pthread_equal((X)->tid, pthread_self())) -#else -# define SET_THREADID(X) -# define CHECK_THREADID(X) 0 -#endif +** SQLite used to support LinuxThreads. But support for LinuxThreads +** was dropped beginning with version 3.7.0. SQLite will still work with +** LinuxThreads provided that (1) there is no more than one connection +** per database file in the same process and (2) database connections +** do not move across threads. +*/ /* ** An instance of the following structure serves as the key used -** to locate a particular unixOpenCnt structure given its inode. This -** is the same as the unixLockKey except that the thread ID is omitted. +** to locate a particular unixInodeInfo object. */ struct unixFileId { dev_t dev; /* Device number */ @@ -22753,23 +23325,6 @@ struct unixFileId { }; /* -** An instance of the following structure serves as the key used -** to locate a particular unixLockInfo structure given its inode. -** -** If threads cannot override each others locks (LinuxThreads), then we -** set the unixLockKey.tid field to the thread ID. If threads can override -** each others locks (Posix and NPTL) then tid is always set to zero. -** tid is omitted if we compile without threading support or on an OS -** other than linux. -*/ -struct unixLockKey { - struct unixFileId fid; /* Unique identifier for the file */ -#if SQLITE_THREADSAFE && defined(__linux__) - pthread_t tid; /* Thread ID of lock owner. Zero if not using LinuxThreads */ -#endif -}; - -/* ** An instance of the following structure is allocated for each open ** inode. Or, on LinuxThreads, there is one of these structures for ** each inode opened by each thread. @@ -22778,230 +23333,109 @@ struct unixLockKey { ** structure contains a pointer to an instance of this object and this ** object keeps a count of the number of unixFile pointing to it. */ -struct unixLockInfo { - struct unixLockKey lockKey; /* The lookup key */ - int cnt; /* Number of SHARED locks held */ - int locktype; /* One of SHARED_LOCK, RESERVED_LOCK etc. */ +struct unixInodeInfo { + struct unixFileId fileId; /* The lookup key */ + int nShared; /* Number of SHARED locks held */ + int eFileLock; /* One of SHARED_LOCK, RESERVED_LOCK etc. */ int nRef; /* Number of pointers to this structure */ + unixShmNode *pShmNode; /* Shared memory associated with this inode */ + int nLock; /* Number of outstanding file locks */ + UnixUnusedFd *pUnused; /* Unused file descriptors to close */ + unixInodeInfo *pNext; /* List of all unixInodeInfo objects */ + unixInodeInfo *pPrev; /* .... doubly linked */ #if defined(SQLITE_ENABLE_LOCKING_STYLE) unsigned long long sharedByte; /* for AFP simulated shared lock */ #endif - struct unixLockInfo *pNext; /* List of all unixLockInfo objects */ - struct unixLockInfo *pPrev; /* .... doubly linked */ -}; - -/* -** An instance of the following structure is allocated for each open -** inode. This structure keeps track of the number of locks on that -** inode. If a close is attempted against an inode that is holding -** locks, the close is deferred until all locks clear by adding the -** file descriptor to be closed to the pending list. -** -** TODO: Consider changing this so that there is only a single file -** descriptor for each open file, even when it is opened multiple times. -** The close() system call would only occur when the last database -** using the file closes. -*/ -struct unixOpenCnt { - struct unixFileId fileId; /* The lookup key */ - int nRef; /* Number of pointers to this structure */ - int nLock; /* Number of outstanding locks */ - UnixUnusedFd *pUnused; /* Unused file descriptors to close */ #if OS_VXWORKS - sem_t *pSem; /* Named POSIX semaphore */ - char aSemName[MAX_PATHNAME+2]; /* Name of that semaphore */ + sem_t *pSem; /* Named POSIX semaphore */ + char aSemName[MAX_PATHNAME+2]; /* Name of that semaphore */ #endif - struct unixOpenCnt *pNext, *pPrev; /* List of all unixOpenCnt objects */ }; /* -** Lists of all unixLockInfo and unixOpenCnt objects. These used to be hash -** tables. But the number of objects is rarely more than a dozen and -** never exceeds a few thousand. And lookup is not on a critical -** path so a simple linked list will suffice. +** A lists of all unixInodeInfo objects. */ -static struct unixLockInfo *lockList = 0; -static struct unixOpenCnt *openList = 0; - -/* -** This variable remembers whether or not threads can override each others -** locks. -** -** 0: No. Threads cannot override each others locks. (LinuxThreads) -** 1: Yes. Threads can override each others locks. (Posix & NLPT) -** -1: We don't know yet. -** -** On some systems, we know at compile-time if threads can override each -** others locks. On those systems, the SQLITE_THREAD_OVERRIDE_LOCK macro -** will be set appropriately. On other systems, we have to check at -** runtime. On these latter systems, SQLTIE_THREAD_OVERRIDE_LOCK is -** undefined. -** -** This variable normally has file scope only. But during testing, we make -** it a global so that the test code can change its value in order to verify -** that the right stuff happens in either case. -*/ -#if SQLITE_THREADSAFE && defined(__linux__) -# ifndef SQLITE_THREAD_OVERRIDE_LOCK -# define SQLITE_THREAD_OVERRIDE_LOCK -1 -# endif -# ifdef SQLITE_TEST -int threadsOverrideEachOthersLocks = SQLITE_THREAD_OVERRIDE_LOCK; -# else -static int threadsOverrideEachOthersLocks = SQLITE_THREAD_OVERRIDE_LOCK; -# endif -#endif +static unixInodeInfo *inodeList = 0; /* -** This structure holds information passed into individual test -** threads by the testThreadLockingBehavior() routine. -*/ -struct threadTestData { - int fd; /* File to be locked */ - struct flock lock; /* The locking operation */ - int result; /* Result of the locking operation */ -}; - -#if SQLITE_THREADSAFE && defined(__linux__) -/* -** This function is used as the main routine for a thread launched by -** testThreadLockingBehavior(). It tests whether the shared-lock obtained -** by the main thread in testThreadLockingBehavior() conflicts with a -** hypothetical write-lock obtained by this thread on the same file. +** Close all file descriptors accumuated in the unixInodeInfo->pUnused list. +** If all such file descriptors are closed without error, the list is +** cleared and SQLITE_OK returned. ** -** The write-lock is not actually acquired, as this is not possible if -** the file is open in read-only mode (see ticket #3472). +** Otherwise, if an error occurs, then successfully closed file descriptor +** entries are removed from the list, and SQLITE_IOERR_CLOSE returned. +** not deleted and SQLITE_IOERR_CLOSE returned. */ -static void *threadLockingTest(void *pArg){ - struct threadTestData *pData = (struct threadTestData*)pArg; - pData->result = fcntl(pData->fd, F_GETLK, &pData->lock); - return pArg; -} -#endif /* SQLITE_THREADSAFE && defined(__linux__) */ - - -#if SQLITE_THREADSAFE && defined(__linux__) -/* -** This procedure attempts to determine whether or not threads -** can override each others locks then sets the -** threadsOverrideEachOthersLocks variable appropriately. -*/ -static void testThreadLockingBehavior(int fd_orig){ - int fd; - int rc; - struct threadTestData d; - struct flock l; - pthread_t t; - - fd = dup(fd_orig); - if( fd<0 ) return; - memset(&l, 0, sizeof(l)); - l.l_type = F_RDLCK; - l.l_len = 1; - l.l_start = 0; - l.l_whence = SEEK_SET; - rc = fcntl(fd_orig, F_SETLK, &l); - if( rc!=0 ) return; - memset(&d, 0, sizeof(d)); - d.fd = fd; - d.lock = l; - d.lock.l_type = F_WRLCK; - if( pthread_create(&t, 0, threadLockingTest, &d)==0 ){ - pthread_join(t, 0); - } - close(fd); - if( d.result!=0 ) return; - threadsOverrideEachOthersLocks = (d.lock.l_type==F_UNLCK); -} -#endif /* SQLITE_THREADSAFE && defined(__linux__) */ - -/* -** Release a unixLockInfo structure previously allocated by findLockInfo(). -** -** The mutex entered using the unixEnterMutex() function must be held -** when this function is called. -*/ -static void releaseLockInfo(struct unixLockInfo *pLock){ - assert( unixMutexHeld() ); - if( pLock ){ - pLock->nRef--; - if( pLock->nRef==0 ){ - if( pLock->pPrev ){ - assert( pLock->pPrev->pNext==pLock ); - pLock->pPrev->pNext = pLock->pNext; - }else{ - assert( lockList==pLock ); - lockList = pLock->pNext; - } - if( pLock->pNext ){ - assert( pLock->pNext->pPrev==pLock ); - pLock->pNext->pPrev = pLock->pPrev; - } - sqlite3_free(pLock); +static int closePendingFds(unixFile *pFile){ + int rc = SQLITE_OK; + unixInodeInfo *pInode = pFile->pInode; + UnixUnusedFd *pError = 0; + UnixUnusedFd *p; + UnixUnusedFd *pNext; + for(p=pInode->pUnused; p; p=pNext){ + pNext = p->pNext; + if( close(p->fd) ){ + pFile->lastErrno = errno; + rc = SQLITE_IOERR_CLOSE; + p->pNext = pError; + pError = p; + }else{ + sqlite3_free(p); } } + pInode->pUnused = pError; + return rc; } /* -** Release a unixOpenCnt structure previously allocated by findLockInfo(). +** Release a unixInodeInfo structure previously allocated by findInodeInfo(). ** ** The mutex entered using the unixEnterMutex() function must be held ** when this function is called. */ -static void releaseOpenCnt(struct unixOpenCnt *pOpen){ +static void releaseInodeInfo(unixFile *pFile){ + unixInodeInfo *pInode = pFile->pInode; assert( unixMutexHeld() ); - if( pOpen ){ - pOpen->nRef--; - if( pOpen->nRef==0 ){ - if( pOpen->pPrev ){ - assert( pOpen->pPrev->pNext==pOpen ); - pOpen->pPrev->pNext = pOpen->pNext; + if( pInode ){ + pInode->nRef--; + if( pInode->nRef==0 ){ + assert( pInode->pShmNode==0 ); + closePendingFds(pFile); + if( pInode->pPrev ){ + assert( pInode->pPrev->pNext==pInode ); + pInode->pPrev->pNext = pInode->pNext; }else{ - assert( openList==pOpen ); - openList = pOpen->pNext; + assert( inodeList==pInode ); + inodeList = pInode->pNext; } - if( pOpen->pNext ){ - assert( pOpen->pNext->pPrev==pOpen ); - pOpen->pNext->pPrev = pOpen->pPrev; + if( pInode->pNext ){ + assert( pInode->pNext->pPrev==pInode ); + pInode->pNext->pPrev = pInode->pPrev; } -#if SQLITE_THREADSAFE && defined(__linux__) - assert( !pOpen->pUnused || threadsOverrideEachOthersLocks==0 ); -#endif - - /* If pOpen->pUnused is not null, then memory and file-descriptors - ** are leaked. - ** - ** This will only happen if, under Linuxthreads, the user has opened - ** a transaction in one thread, then attempts to close the database - ** handle from another thread (without first unlocking the db file). - ** This is a misuse. */ - sqlite3_free(pOpen); + sqlite3_free(pInode); } } } /* -** Given a file descriptor, locate unixLockInfo and unixOpenCnt structures that -** describes that file descriptor. Create new ones if necessary. The -** return values might be uninitialized if an error occurs. +** Given a file descriptor, locate the unixInodeInfo object that +** describes that file descriptor. Create a new one if necessary. The +** return value might be uninitialized if an error occurs. ** ** The mutex entered using the unixEnterMutex() function must be held ** when this function is called. ** ** Return an appropriate error code. */ -static int findLockInfo( +static int findInodeInfo( unixFile *pFile, /* Unix file with file desc used in the key */ - struct unixLockInfo **ppLock, /* Return the unixLockInfo structure here */ - struct unixOpenCnt **ppOpen /* Return the unixOpenCnt structure here */ + unixInodeInfo **ppInode /* Return the unixInodeInfo object here */ ){ int rc; /* System call return code */ int fd; /* The file descriptor for pFile */ - struct unixLockKey lockKey; /* Lookup key for the unixLockInfo structure */ - struct unixFileId fileId; /* Lookup key for the unixOpenCnt struct */ + struct unixFileId fileId; /* Lookup key for the unixInodeInfo */ struct stat statbuf; /* Low-level file information */ - struct unixLockInfo *pLock = 0;/* Candidate unixLockInfo object */ - struct unixOpenCnt *pOpen; /* Candidate unixOpenCnt object */ + unixInodeInfo *pInode = 0; /* Candidate unixInodeInfo object */ assert( unixMutexHeld() ); @@ -23043,122 +23477,35 @@ static int findLockInfo( } #endif - memset(&lockKey, 0, sizeof(lockKey)); - lockKey.fid.dev = statbuf.st_dev; + memset(&fileId, 0, sizeof(fileId)); + fileId.dev = statbuf.st_dev; #if OS_VXWORKS - lockKey.fid.pId = pFile->pId; + fileId.pId = pFile->pId; #else - lockKey.fid.ino = statbuf.st_ino; + fileId.ino = statbuf.st_ino; #endif -#if SQLITE_THREADSAFE && defined(__linux__) - if( threadsOverrideEachOthersLocks<0 ){ - testThreadLockingBehavior(fd); + pInode = inodeList; + while( pInode && memcmp(&fileId, &pInode->fileId, sizeof(fileId)) ){ + pInode = pInode->pNext; } - lockKey.tid = threadsOverrideEachOthersLocks ? 0 : pthread_self(); -#endif - fileId = lockKey.fid; - if( ppLock!=0 ){ - pLock = lockList; - while( pLock && memcmp(&lockKey, &pLock->lockKey, sizeof(lockKey)) ){ - pLock = pLock->pNext; - } - if( pLock==0 ){ - pLock = sqlite3_malloc( sizeof(*pLock) ); - if( pLock==0 ){ - rc = SQLITE_NOMEM; - goto exit_findlockinfo; - } - memcpy(&pLock->lockKey,&lockKey,sizeof(lockKey)); - pLock->nRef = 1; - pLock->cnt = 0; - pLock->locktype = 0; -#if defined(SQLITE_ENABLE_LOCKING_STYLE) - pLock->sharedByte = 0; -#endif - pLock->pNext = lockList; - pLock->pPrev = 0; - if( lockList ) lockList->pPrev = pLock; - lockList = pLock; - }else{ - pLock->nRef++; - } - *ppLock = pLock; - } - if( ppOpen!=0 ){ - pOpen = openList; - while( pOpen && memcmp(&fileId, &pOpen->fileId, sizeof(fileId)) ){ - pOpen = pOpen->pNext; - } - if( pOpen==0 ){ - pOpen = sqlite3_malloc( sizeof(*pOpen) ); - if( pOpen==0 ){ - releaseLockInfo(pLock); - rc = SQLITE_NOMEM; - goto exit_findlockinfo; - } - memset(pOpen, 0, sizeof(*pOpen)); - pOpen->fileId = fileId; - pOpen->nRef = 1; - pOpen->pNext = openList; - if( openList ) openList->pPrev = pOpen; - openList = pOpen; - }else{ - pOpen->nRef++; + if( pInode==0 ){ + pInode = sqlite3_malloc( sizeof(*pInode) ); + if( pInode==0 ){ + return SQLITE_NOMEM; } - *ppOpen = pOpen; - } - -exit_findlockinfo: - return rc; -} - -/* -** If we are currently in a different thread than the thread that the -** unixFile argument belongs to, then transfer ownership of the unixFile -** over to the current thread. -** -** A unixFile is only owned by a thread on systems that use LinuxThreads. -** -** Ownership transfer is only allowed if the unixFile is currently unlocked. -** If the unixFile is locked and an ownership is wrong, then return -** SQLITE_MISUSE. SQLITE_OK is returned if everything works. -*/ -#if SQLITE_THREADSAFE && defined(__linux__) -static int transferOwnership(unixFile *pFile){ - int rc; - pthread_t hSelf; - if( threadsOverrideEachOthersLocks ){ - /* Ownership transfers not needed on this system */ - return SQLITE_OK; - } - hSelf = pthread_self(); - if( pthread_equal(pFile->tid, hSelf) ){ - /* We are still in the same thread */ - OSTRACE1("No-transfer, same thread\n"); - return SQLITE_OK; - } - if( pFile->locktype!=NO_LOCK ){ - /* We cannot change ownership while we are holding a lock! */ - return SQLITE_MISUSE_BKPT; - } - OSTRACE4("Transfer ownership of %d from %d to %d\n", - pFile->h, pFile->tid, hSelf); - pFile->tid = hSelf; - if (pFile->pLock != NULL) { - releaseLockInfo(pFile->pLock); - rc = findLockInfo(pFile, &pFile->pLock, 0); - OSTRACE5("LOCK %d is now %s(%s,%d)\n", pFile->h, - locktypeName(pFile->locktype), - locktypeName(pFile->pLock->locktype), pFile->pLock->cnt); - return rc; - } else { - return SQLITE_OK; + memset(pInode, 0, sizeof(*pInode)); + memcpy(&pInode->fileId, &fileId, sizeof(fileId)); + pInode->nRef = 1; + pInode->pNext = inodeList; + pInode->pPrev = 0; + if( inodeList ) inodeList->pPrev = pInode; + inodeList = pInode; + }else{ + pInode->nRef++; } + *ppInode = pInode; + return SQLITE_OK; } -#else /* if not SQLITE_THREADSAFE */ - /* On single-threaded builds, ownership transfer is a no-op */ -# define transferOwnership(X) SQLITE_OK -#endif /* SQLITE_THREADSAFE */ /* @@ -23175,10 +23522,10 @@ static int unixCheckReservedLock(sqlite3_file *id, int *pResOut){ SimulateIOError( return SQLITE_IOERR_CHECKRESERVEDLOCK; ); assert( pFile ); - unixEnterMutex(); /* Because pFile->pLock is shared across threads */ + unixEnterMutex(); /* Because pFile->pInode is shared across threads */ /* Check if a thread in this process holds such a lock */ - if( pFile->pLock->locktype>SHARED_LOCK ){ + if( pFile->pInode->eFileLock>SHARED_LOCK ){ reserved = 1; } @@ -23202,14 +23549,14 @@ static int unixCheckReservedLock(sqlite3_file *id, int *pResOut){ #endif unixLeaveMutex(); - OSTRACE4("TEST WR-LOCK %d %d %d (unix)\n", pFile->h, rc, reserved); + OSTRACE(("TEST WR-LOCK %d %d %d (unix)\n", pFile->h, rc, reserved)); *pResOut = reserved; return rc; } /* -** Lock the file with the lock specified by parameter locktype - one +** Lock the file with the lock specified by parameter eFileLock - one ** of the following: ** ** (1) SHARED_LOCK @@ -23232,7 +23579,7 @@ static int unixCheckReservedLock(sqlite3_file *id, int *pResOut){ ** This routine will only increase a lock. Use the sqlite3OsUnlock() ** routine to lower a locking level. */ -static int unixLock(sqlite3_file *id, int locktype){ +static int unixLock(sqlite3_file *id, int eFileLock){ /* The following describes the implementation of the various locks and ** lock transitions in terms of the POSIX advisory shared and exclusive ** lock primitives (called read-locks and write-locks below, to avoid @@ -23273,23 +23620,23 @@ static int unixLock(sqlite3_file *id, int locktype){ */ int rc = SQLITE_OK; unixFile *pFile = (unixFile*)id; - struct unixLockInfo *pLock = pFile->pLock; + unixInodeInfo *pInode = pFile->pInode; struct flock lock; int s = 0; int tErrno = 0; assert( pFile ); - OSTRACE7("LOCK %d %s was %s(%s,%d) pid=%d (unix)\n", pFile->h, - locktypeName(locktype), locktypeName(pFile->locktype), - locktypeName(pLock->locktype), pLock->cnt , getpid()); + OSTRACE(("LOCK %d %s was %s(%s,%d) pid=%d (unix)\n", pFile->h, + azFileLock(eFileLock), azFileLock(pFile->eFileLock), + azFileLock(pInode->eFileLock), pInode->nShared , getpid())); /* If there is already a lock of this type or more restrictive on the ** unixFile, do nothing. Don't use the end_lock: exit path, as ** unixEnterMutex() hasn't been called yet. */ - if( pFile->locktype>=locktype ){ - OSTRACE3("LOCK %d %s ok (already held) (unix)\n", pFile->h, - locktypeName(locktype)); + if( pFile->eFileLock>=eFileLock ){ + OSTRACE(("LOCK %d %s ok (already held) (unix)\n", pFile->h, + azFileLock(eFileLock))); return SQLITE_OK; } @@ -23298,28 +23645,20 @@ static int unixLock(sqlite3_file *id, int locktype){ ** (2) SQLite never explicitly requests a pendig lock. ** (3) A shared lock is always held when a reserve lock is requested. */ - assert( pFile->locktype!=NO_LOCK || locktype==SHARED_LOCK ); - assert( locktype!=PENDING_LOCK ); - assert( locktype!=RESERVED_LOCK || pFile->locktype==SHARED_LOCK ); + assert( pFile->eFileLock!=NO_LOCK || eFileLock==SHARED_LOCK ); + assert( eFileLock!=PENDING_LOCK ); + assert( eFileLock!=RESERVED_LOCK || pFile->eFileLock==SHARED_LOCK ); - /* This mutex is needed because pFile->pLock is shared across threads + /* This mutex is needed because pFile->pInode is shared across threads */ unixEnterMutex(); - - /* Make sure the current thread owns the pFile. - */ - rc = transferOwnership(pFile); - if( rc!=SQLITE_OK ){ - unixLeaveMutex(); - return rc; - } - pLock = pFile->pLock; + pInode = pFile->pInode; /* If some thread using this PID has a lock via a different unixFile* ** handle that precludes the requested lock, return BUSY. */ - if( (pFile->locktype!=pLock->locktype && - (pLock->locktype>=PENDING_LOCK || locktype>SHARED_LOCK)) + if( (pFile->eFileLock!=pInode->eFileLock && + (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK)) ){ rc = SQLITE_BUSY; goto end_lock; @@ -23329,14 +23668,14 @@ static int unixLock(sqlite3_file *id, int locktype){ ** has a SHARED or RESERVED lock, then increment reference counts and ** return SQLITE_OK. */ - if( locktype==SHARED_LOCK && - (pLock->locktype==SHARED_LOCK || pLock->locktype==RESERVED_LOCK) ){ - assert( locktype==SHARED_LOCK ); - assert( pFile->locktype==0 ); - assert( pLock->cnt>0 ); - pFile->locktype = SHARED_LOCK; - pLock->cnt++; - pFile->pOpen->nLock++; + if( eFileLock==SHARED_LOCK && + (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){ + assert( eFileLock==SHARED_LOCK ); + assert( pFile->eFileLock==0 ); + assert( pInode->nShared>0 ); + pFile->eFileLock = SHARED_LOCK; + pInode->nShared++; + pInode->nLock++; goto end_lock; } @@ -23347,10 +23686,10 @@ static int unixLock(sqlite3_file *id, int locktype){ */ lock.l_len = 1L; lock.l_whence = SEEK_SET; - if( locktype==SHARED_LOCK - || (locktype==EXCLUSIVE_LOCK && pFile->locktypeeFileLockh, F_SETLK, &lock); if( s==(-1) ){ @@ -23367,9 +23706,9 @@ static int unixLock(sqlite3_file *id, int locktype){ /* If control gets to this point, then actually go ahead and make ** operating system calls for the specified lock. */ - if( locktype==SHARED_LOCK ){ - assert( pLock->cnt==0 ); - assert( pLock->locktype==0 ); + if( eFileLock==SHARED_LOCK ){ + assert( pInode->nShared==0 ); + assert( pInode->eFileLock==0 ); /* Now get the read-lock */ lock.l_start = SHARED_FIRST; @@ -23398,11 +23737,11 @@ static int unixLock(sqlite3_file *id, int locktype){ pFile->lastErrno = tErrno; } }else{ - pFile->locktype = SHARED_LOCK; - pFile->pOpen->nLock++; - pLock->cnt = 1; + pFile->eFileLock = SHARED_LOCK; + pInode->nLock++; + pInode->nShared = 1; } - }else if( locktype==EXCLUSIVE_LOCK && pLock->cnt>1 ){ + }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){ /* We are trying for an exclusive lock but another thread in this ** same process is still holding a shared lock. */ rc = SQLITE_BUSY; @@ -23411,9 +23750,9 @@ static int unixLock(sqlite3_file *id, int locktype){ ** assumed that there is a SHARED or greater lock on the file ** already. */ - assert( 0!=pFile->locktype ); + assert( 0!=pFile->eFileLock ); lock.l_type = F_WRLCK; - switch( locktype ){ + switch( eFileLock ){ case RESERVED_LOCK: lock.l_start = RESERVED_BYTE; break; @@ -23442,8 +23781,8 @@ static int unixLock(sqlite3_file *id, int locktype){ ** write operation (not a hot journal rollback). */ if( rc==SQLITE_OK - && pFile->locktype<=SHARED_LOCK - && locktype==RESERVED_LOCK + && pFile->eFileLock<=SHARED_LOCK + && eFileLock==RESERVED_LOCK ){ pFile->transCntrChng = 0; pFile->dbUpdate = 0; @@ -23453,47 +23792,17 @@ static int unixLock(sqlite3_file *id, int locktype){ if( rc==SQLITE_OK ){ - pFile->locktype = locktype; - pLock->locktype = locktype; - }else if( locktype==EXCLUSIVE_LOCK ){ - pFile->locktype = PENDING_LOCK; - pLock->locktype = PENDING_LOCK; + pFile->eFileLock = eFileLock; + pInode->eFileLock = eFileLock; + }else if( eFileLock==EXCLUSIVE_LOCK ){ + pFile->eFileLock = PENDING_LOCK; + pInode->eFileLock = PENDING_LOCK; } end_lock: unixLeaveMutex(); - OSTRACE4("LOCK %d %s %s (unix)\n", pFile->h, locktypeName(locktype), - rc==SQLITE_OK ? "ok" : "failed"); - return rc; -} - -/* -** Close all file descriptors accumuated in the unixOpenCnt->pUnused list. -** If all such file descriptors are closed without error, the list is -** cleared and SQLITE_OK returned. -** -** Otherwise, if an error occurs, then successfully closed file descriptor -** entries are removed from the list, and SQLITE_IOERR_CLOSE returned. -** not deleted and SQLITE_IOERR_CLOSE returned. -*/ -static int closePendingFds(unixFile *pFile){ - int rc = SQLITE_OK; - struct unixOpenCnt *pOpen = pFile->pOpen; - UnixUnusedFd *pError = 0; - UnixUnusedFd *p; - UnixUnusedFd *pNext; - for(p=pOpen->pUnused; p; p=pNext){ - pNext = p->pNext; - if( close(p->fd) ){ - pFile->lastErrno = errno; - rc = SQLITE_IOERR_CLOSE; - p->pNext = pError; - pError = p; - }else{ - sqlite3_free(p); - } - } - pOpen->pUnused = pError; + OSTRACE(("LOCK %d %s %s (unix)\n", pFile->h, azFileLock(eFileLock), + rc==SQLITE_OK ? "ok" : "failed")); return rc; } @@ -23502,16 +23811,16 @@ static int closePendingFds(unixFile *pFile){ ** pUnused list. */ static void setPendingFd(unixFile *pFile){ - struct unixOpenCnt *pOpen = pFile->pOpen; + unixInodeInfo *pInode = pFile->pInode; UnixUnusedFd *p = pFile->pUnused; - p->pNext = pOpen->pUnused; - pOpen->pUnused = p; + p->pNext = pInode->pUnused; + pInode->pUnused = p; pFile->h = -1; pFile->pUnused = 0; } /* -** Lower the locking level on file descriptor pFile to locktype. locktype +** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below @@ -23523,31 +23832,29 @@ static void setPendingFd(unixFile *pFile){ ** around a bug in BSD NFS lockd (also seen on MacOSX 10.3+) that fails to ** remove the write lock on a region when a read lock is set. */ -static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ +static int _posixUnlock(sqlite3_file *id, int eFileLock, int handleNFSUnlock){ unixFile *pFile = (unixFile*)id; - struct unixLockInfo *pLock; + unixInodeInfo *pInode; struct flock lock; int rc = SQLITE_OK; int h; int tErrno; /* Error code from system call errors */ assert( pFile ); - OSTRACE7("UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n", pFile->h, locktype, - pFile->locktype, pFile->pLock->locktype, pFile->pLock->cnt, getpid()); + OSTRACE(("UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n", pFile->h, eFileLock, + pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared, + getpid())); - assert( locktype<=SHARED_LOCK ); - if( pFile->locktype<=locktype ){ + assert( eFileLock<=SHARED_LOCK ); + if( pFile->eFileLock<=eFileLock ){ return SQLITE_OK; } - if( CHECK_THREADID(pFile) ){ - return SQLITE_MISUSE_BKPT; - } unixEnterMutex(); h = pFile->h; - pLock = pFile->pLock; - assert( pLock->cnt!=0 ); - if( pFile->locktype>SHARED_LOCK ){ - assert( pLock->locktype==pFile->locktype ); + pInode = pFile->pInode; + assert( pInode->nShared!=0 ); + if( pFile->eFileLock>SHARED_LOCK ){ + assert( pInode->eFileLock==pFile->eFileLock ); SimulateIOErrorBenign(1); SimulateIOError( h=(-1) ) SimulateIOErrorBenign(0); @@ -23561,9 +23868,11 @@ static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ ** the file has changed and hence might not know to flush their ** cache. The use of a stale cache can lead to database corruption. */ +#if 0 assert( pFile->inNormalWrite==0 || pFile->dbUpdate==0 || pFile->transCntrChng==1 ); +#endif pFile->inNormalWrite = 0; #endif @@ -23576,7 +23885,7 @@ static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ ** 3: [RRRRW] ** 4: [RRRR.] */ - if( locktype==SHARED_LOCK ){ + if( eFileLock==SHARED_LOCK ){ if( handleNFSUnlock ){ off_t divSize = SHARED_SIZE - 1; @@ -23636,7 +23945,7 @@ static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ lock.l_start = PENDING_BYTE; lock.l_len = 2L; assert( PENDING_BYTE+1==RESERVED_BYTE ); if( fcntl(h, F_SETLK, &lock)!=(-1) ){ - pLock->locktype = SHARED_LOCK; + pInode->eFileLock = SHARED_LOCK; }else{ tErrno = errno; rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_UNLOCK); @@ -23646,15 +23955,13 @@ static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ goto end_unlock; } } - if( locktype==NO_LOCK ){ - struct unixOpenCnt *pOpen; - + if( eFileLock==NO_LOCK ){ /* Decrement the shared lock counter. Release the lock using an ** OS call only when all threads in this same process have released ** the lock. */ - pLock->cnt--; - if( pLock->cnt==0 ){ + pInode->nShared--; + if( pInode->nShared==0 ){ lock.l_type = F_UNLCK; lock.l_whence = SEEK_SET; lock.l_start = lock.l_len = 0L; @@ -23662,15 +23969,15 @@ static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ SimulateIOError( h=(-1) ) SimulateIOErrorBenign(0); if( fcntl(h, F_SETLK, &lock)!=(-1) ){ - pLock->locktype = NO_LOCK; + pInode->eFileLock = NO_LOCK; }else{ tErrno = errno; rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_UNLOCK); if( IS_LOCK_ERROR(rc) ){ pFile->lastErrno = tErrno; } - pLock->locktype = NO_LOCK; - pFile->locktype = NO_LOCK; + pInode->eFileLock = NO_LOCK; + pFile->eFileLock = NO_LOCK; } } @@ -23678,10 +23985,9 @@ static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ ** count reaches zero, close any other file descriptors whose close ** was deferred because of outstanding locks. */ - pOpen = pFile->pOpen; - pOpen->nLock--; - assert( pOpen->nLock>=0 ); - if( pOpen->nLock==0 ){ + pInode->nLock--; + assert( pInode->nLock>=0 ); + if( pInode->nLock==0 ){ int rc2 = closePendingFds(pFile); if( rc==SQLITE_OK ){ rc = rc2; @@ -23691,19 +23997,19 @@ static int _posixUnlock(sqlite3_file *id, int locktype, int handleNFSUnlock){ end_unlock: unixLeaveMutex(); - if( rc==SQLITE_OK ) pFile->locktype = locktype; + if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock; return rc; } /* -** Lower the locking level on file descriptor pFile to locktype. locktype +** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below ** the requested locking level, this routine is a no-op. */ -static int unixUnlock(sqlite3_file *id, int locktype){ - return _posixUnlock(id, locktype, 0); +static int unixUnlock(sqlite3_file *id, int eFileLock){ + return _posixUnlock(id, eFileLock, 0); } /* @@ -23744,7 +24050,7 @@ static int closeUnixFile(sqlite3_file *id){ pFile->pId = 0; } #endif - OSTRACE2("CLOSE %-3d\n", pFile->h); + OSTRACE(("CLOSE %-3d\n", pFile->h)); OpenCounter(-1); sqlite3_free(pFile->pUnused); memset(pFile, 0, sizeof(unixFile)); @@ -23761,16 +24067,15 @@ static int unixClose(sqlite3_file *id){ unixFile *pFile = (unixFile *)id; unixUnlock(id, NO_LOCK); unixEnterMutex(); - if( pFile->pOpen && pFile->pOpen->nLock ){ + if( pFile->pInode && pFile->pInode->nLock ){ /* If there are outstanding locks, do not actually close the file just ** yet because that would clear those locks. Instead, add the file - ** descriptor to pOpen->pUnused list. It will be automatically closed + ** descriptor to pInode->pUnused list. It will be automatically closed ** when the last lock is cleared. */ setPendingFd(pFile); } - releaseLockInfo(pFile->pLock); - releaseOpenCnt(pFile->pOpen); + releaseInodeInfo(pFile); rc = closeUnixFile(id); unixLeaveMutex(); } @@ -23869,7 +24174,7 @@ static int dotlockCheckReservedLock(sqlite3_file *id, int *pResOut) { assert( pFile ); /* Check if a thread in this process holds such a lock */ - if( pFile->locktype>SHARED_LOCK ){ + if( pFile->eFileLock>SHARED_LOCK ){ /* Either this connection or some other connection in the same process ** holds a lock on the file. No need to check further. */ reserved = 1; @@ -23878,13 +24183,13 @@ static int dotlockCheckReservedLock(sqlite3_file *id, int *pResOut) { const char *zLockFile = (const char*)pFile->lockingContext; reserved = access(zLockFile, 0)==0; } - OSTRACE4("TEST WR-LOCK %d %d %d (dotlock)\n", pFile->h, rc, reserved); + OSTRACE(("TEST WR-LOCK %d %d %d (dotlock)\n", pFile->h, rc, reserved)); *pResOut = reserved; return rc; } /* -** Lock the file with the lock specified by parameter locktype - one +** Lock the file with the lock specified by parameter eFileLock - one ** of the following: ** ** (1) SHARED_LOCK @@ -23910,7 +24215,7 @@ static int dotlockCheckReservedLock(sqlite3_file *id, int *pResOut) { ** With dotfile locking, we really only support state (4): EXCLUSIVE. ** But we track the other locking levels internally. */ -static int dotlockLock(sqlite3_file *id, int locktype) { +static int dotlockLock(sqlite3_file *id, int eFileLock) { unixFile *pFile = (unixFile*)id; int fd; char *zLockFile = (char *)pFile->lockingContext; @@ -23920,8 +24225,8 @@ static int dotlockLock(sqlite3_file *id, int locktype) { /* If we have any lock, then the lock file already exists. All we have ** to do is adjust our internal record of the lock level. */ - if( pFile->locktype > NO_LOCK ){ - pFile->locktype = locktype; + if( pFile->eFileLock > NO_LOCK ){ + pFile->eFileLock = eFileLock; #if !OS_VXWORKS /* Always update the timestamp on the old file */ utimes(zLockFile, NULL); @@ -23950,12 +24255,12 @@ static int dotlockLock(sqlite3_file *id, int locktype) { } /* got it, set the type and return ok */ - pFile->locktype = locktype; + pFile->eFileLock = eFileLock; return rc; } /* -** Lower the locking level on file descriptor pFile to locktype. locktype +** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below @@ -23963,30 +24268,30 @@ static int dotlockLock(sqlite3_file *id, int locktype) { ** ** When the locking level reaches NO_LOCK, delete the lock file. */ -static int dotlockUnlock(sqlite3_file *id, int locktype) { +static int dotlockUnlock(sqlite3_file *id, int eFileLock) { unixFile *pFile = (unixFile*)id; char *zLockFile = (char *)pFile->lockingContext; assert( pFile ); - OSTRACE5("UNLOCK %d %d was %d pid=%d (dotlock)\n", pFile->h, locktype, - pFile->locktype, getpid()); - assert( locktype<=SHARED_LOCK ); + OSTRACE(("UNLOCK %d %d was %d pid=%d (dotlock)\n", pFile->h, eFileLock, + pFile->eFileLock, getpid())); + assert( eFileLock<=SHARED_LOCK ); /* no-op if possible */ - if( pFile->locktype==locktype ){ + if( pFile->eFileLock==eFileLock ){ return SQLITE_OK; } /* To downgrade to shared, simply update our internal notion of the ** lock state. No need to mess with the file on disk. */ - if( locktype==SHARED_LOCK ){ - pFile->locktype = SHARED_LOCK; + if( eFileLock==SHARED_LOCK ){ + pFile->eFileLock = SHARED_LOCK; return SQLITE_OK; } /* To fully unlock the database, delete the lock file */ - assert( locktype==NO_LOCK ); + assert( eFileLock==NO_LOCK ); if( unlink(zLockFile) ){ int rc = 0; int tErrno = errno; @@ -23998,7 +24303,7 @@ static int dotlockUnlock(sqlite3_file *id, int locktype) { } return rc; } - pFile->locktype = NO_LOCK; + pFile->eFileLock = NO_LOCK; return SQLITE_OK; } @@ -24051,7 +24356,7 @@ static int flockCheckReservedLock(sqlite3_file *id, int *pResOut){ assert( pFile ); /* Check if a thread in this process holds such a lock */ - if( pFile->locktype>SHARED_LOCK ){ + if( pFile->eFileLock>SHARED_LOCK ){ reserved = 1; } @@ -24082,7 +24387,7 @@ static int flockCheckReservedLock(sqlite3_file *id, int *pResOut){ } } } - OSTRACE4("TEST WR-LOCK %d %d %d (flock)\n", pFile->h, rc, reserved); + OSTRACE(("TEST WR-LOCK %d %d %d (flock)\n", pFile->h, rc, reserved)); #ifdef SQLITE_IGNORE_FLOCK_LOCK_ERRORS if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){ @@ -24095,7 +24400,7 @@ static int flockCheckReservedLock(sqlite3_file *id, int *pResOut){ } /* -** Lock the file with the lock specified by parameter locktype - one +** Lock the file with the lock specified by parameter eFileLock - one ** of the following: ** ** (1) SHARED_LOCK @@ -24123,7 +24428,7 @@ static int flockCheckReservedLock(sqlite3_file *id, int *pResOut){ ** This routine will only increase a lock. Use the sqlite3OsUnlock() ** routine to lower a locking level. */ -static int flockLock(sqlite3_file *id, int locktype) { +static int flockLock(sqlite3_file *id, int eFileLock) { int rc = SQLITE_OK; unixFile *pFile = (unixFile*)id; @@ -24131,8 +24436,8 @@ static int flockLock(sqlite3_file *id, int locktype) { /* if we already have a lock, it is exclusive. ** Just adjust level and punt on outta here. */ - if (pFile->locktype > NO_LOCK) { - pFile->locktype = locktype; + if (pFile->eFileLock > NO_LOCK) { + pFile->eFileLock = eFileLock; return SQLITE_OK; } @@ -24147,10 +24452,10 @@ static int flockLock(sqlite3_file *id, int locktype) { } } else { /* got it, set the type and return ok */ - pFile->locktype = locktype; + pFile->eFileLock = eFileLock; } - OSTRACE4("LOCK %d %s %s (flock)\n", pFile->h, locktypeName(locktype), - rc==SQLITE_OK ? "ok" : "failed"); + OSTRACE(("LOCK %d %s %s (flock)\n", pFile->h, azFileLock(eFileLock), + rc==SQLITE_OK ? "ok" : "failed")); #ifdef SQLITE_IGNORE_FLOCK_LOCK_ERRORS if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){ rc = SQLITE_BUSY; @@ -24161,28 +24466,28 @@ static int flockLock(sqlite3_file *id, int locktype) { /* -** Lower the locking level on file descriptor pFile to locktype. locktype +** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below ** the requested locking level, this routine is a no-op. */ -static int flockUnlock(sqlite3_file *id, int locktype) { +static int flockUnlock(sqlite3_file *id, int eFileLock) { unixFile *pFile = (unixFile*)id; assert( pFile ); - OSTRACE5("UNLOCK %d %d was %d pid=%d (flock)\n", pFile->h, locktype, - pFile->locktype, getpid()); - assert( locktype<=SHARED_LOCK ); + OSTRACE(("UNLOCK %d %d was %d pid=%d (flock)\n", pFile->h, eFileLock, + pFile->eFileLock, getpid())); + assert( eFileLock<=SHARED_LOCK ); /* no-op if possible */ - if( pFile->locktype==locktype ){ + if( pFile->eFileLock==eFileLock ){ return SQLITE_OK; } /* shared can just be set because we always have an exclusive */ - if (locktype==SHARED_LOCK) { - pFile->locktype = locktype; + if (eFileLock==SHARED_LOCK) { + pFile->eFileLock = eFileLock; return SQLITE_OK; } @@ -24202,7 +24507,7 @@ static int flockUnlock(sqlite3_file *id, int locktype) { return r; } else { - pFile->locktype = NO_LOCK; + pFile->eFileLock = NO_LOCK; return SQLITE_OK; } } @@ -24250,13 +24555,13 @@ static int semCheckReservedLock(sqlite3_file *id, int *pResOut) { assert( pFile ); /* Check if a thread in this process holds such a lock */ - if( pFile->locktype>SHARED_LOCK ){ + if( pFile->eFileLock>SHARED_LOCK ){ reserved = 1; } /* Otherwise see if some other process holds it. */ if( !reserved ){ - sem_t *pSem = pFile->pOpen->pSem; + sem_t *pSem = pFile->pInode->pSem; struct stat statBuf; if( sem_trywait(pSem)==-1 ){ @@ -24266,21 +24571,21 @@ static int semCheckReservedLock(sqlite3_file *id, int *pResOut) { pFile->lastErrno = tErrno; } else { /* someone else has the lock when we are in NO_LOCK */ - reserved = (pFile->locktype < SHARED_LOCK); + reserved = (pFile->eFileLock < SHARED_LOCK); } }else{ /* we could have it if we want it */ sem_post(pSem); } } - OSTRACE4("TEST WR-LOCK %d %d %d (sem)\n", pFile->h, rc, reserved); + OSTRACE(("TEST WR-LOCK %d %d %d (sem)\n", pFile->h, rc, reserved)); *pResOut = reserved; return rc; } /* -** Lock the file with the lock specified by parameter locktype - one +** Lock the file with the lock specified by parameter eFileLock - one ** of the following: ** ** (1) SHARED_LOCK @@ -24308,16 +24613,16 @@ static int semCheckReservedLock(sqlite3_file *id, int *pResOut) { ** This routine will only increase a lock. Use the sqlite3OsUnlock() ** routine to lower a locking level. */ -static int semLock(sqlite3_file *id, int locktype) { +static int semLock(sqlite3_file *id, int eFileLock) { unixFile *pFile = (unixFile*)id; int fd; - sem_t *pSem = pFile->pOpen->pSem; + sem_t *pSem = pFile->pInode->pSem; int rc = SQLITE_OK; /* if we already have a lock, it is exclusive. ** Just adjust level and punt on outta here. */ - if (pFile->locktype > NO_LOCK) { - pFile->locktype = locktype; + if (pFile->eFileLock > NO_LOCK) { + pFile->eFileLock = eFileLock; rc = SQLITE_OK; goto sem_end_lock; } @@ -24329,37 +24634,37 @@ static int semLock(sqlite3_file *id, int locktype) { } /* got it, set the type and return ok */ - pFile->locktype = locktype; + pFile->eFileLock = eFileLock; sem_end_lock: return rc; } /* -** Lower the locking level on file descriptor pFile to locktype. locktype +** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below ** the requested locking level, this routine is a no-op. */ -static int semUnlock(sqlite3_file *id, int locktype) { +static int semUnlock(sqlite3_file *id, int eFileLock) { unixFile *pFile = (unixFile*)id; - sem_t *pSem = pFile->pOpen->pSem; + sem_t *pSem = pFile->pInode->pSem; assert( pFile ); assert( pSem ); - OSTRACE5("UNLOCK %d %d was %d pid=%d (sem)\n", pFile->h, locktype, - pFile->locktype, getpid()); - assert( locktype<=SHARED_LOCK ); + OSTRACE(("UNLOCK %d %d was %d pid=%d (sem)\n", pFile->h, eFileLock, + pFile->eFileLock, getpid())); + assert( eFileLock<=SHARED_LOCK ); /* no-op if possible */ - if( pFile->locktype==locktype ){ + if( pFile->eFileLock==eFileLock ){ return SQLITE_OK; } /* shared can just be set because we always have an exclusive */ - if (locktype==SHARED_LOCK) { - pFile->locktype = locktype; + if (eFileLock==SHARED_LOCK) { + pFile->eFileLock = eFileLock; return SQLITE_OK; } @@ -24372,7 +24677,7 @@ static int semUnlock(sqlite3_file *id, int locktype) { } return rc; } - pFile->locktype = NO_LOCK; + pFile->eFileLock = NO_LOCK; return SQLITE_OK; } @@ -24385,8 +24690,7 @@ static int semClose(sqlite3_file *id) { semUnlock(id, NO_LOCK); assert( pFile ); unixEnterMutex(); - releaseLockInfo(pFile->pLock); - releaseOpenCnt(pFile->pOpen); + releaseInodeInfo(pFile); unixLeaveMutex(); closeUnixFile(id); } @@ -24455,15 +24759,15 @@ static int afpSetLock( pb.length = length; pb.fd = pFile->h; - OSTRACE6("AFPSETLOCK [%s] for %d%s in range %llx:%llx\n", + OSTRACE(("AFPSETLOCK [%s] for %d%s in range %llx:%llx\n", (setLockFlag?"ON":"OFF"), pFile->h, (pb.fd==-1?"[testval-1]":""), - offset, length); + offset, length)); err = fsctl(path, afpfsByteRangeLock2FSCTL, &pb, 0); if ( err==-1 ) { int rc; int tErrno = errno; - OSTRACE4("AFPSETLOCK failed to fsctl() '%s' %d %s\n", - path, tErrno, strerror(tErrno)); + OSTRACE(("AFPSETLOCK failed to fsctl() '%s' %d %s\n", + path, tErrno, strerror(tErrno))); #ifdef SQLITE_IGNORE_AFP_LOCK_ERRORS rc = SQLITE_BUSY; #else @@ -24498,10 +24802,10 @@ static int afpCheckReservedLock(sqlite3_file *id, int *pResOut){ *pResOut = 1; return SQLITE_OK; } - unixEnterMutex(); /* Because pFile->pLock is shared across threads */ + unixEnterMutex(); /* Because pFile->pInode is shared across threads */ /* Check if a thread in this process holds such a lock */ - if( pFile->pLock->locktype>SHARED_LOCK ){ + if( pFile->pInode->eFileLock>SHARED_LOCK ){ reserved = 1; } @@ -24524,14 +24828,14 @@ static int afpCheckReservedLock(sqlite3_file *id, int *pResOut){ } unixLeaveMutex(); - OSTRACE4("TEST WR-LOCK %d %d %d (afp)\n", pFile->h, rc, reserved); + OSTRACE(("TEST WR-LOCK %d %d %d (afp)\n", pFile->h, rc, reserved)); *pResOut = reserved; return rc; } /* -** Lock the file with the lock specified by parameter locktype - one +** Lock the file with the lock specified by parameter eFileLock - one ** of the following: ** ** (1) SHARED_LOCK @@ -24554,24 +24858,24 @@ static int afpCheckReservedLock(sqlite3_file *id, int *pResOut){ ** This routine will only increase a lock. Use the sqlite3OsUnlock() ** routine to lower a locking level. */ -static int afpLock(sqlite3_file *id, int locktype){ +static int afpLock(sqlite3_file *id, int eFileLock){ int rc = SQLITE_OK; unixFile *pFile = (unixFile*)id; - struct unixLockInfo *pLock = pFile->pLock; + unixInodeInfo *pInode = pFile->pInode; afpLockingContext *context = (afpLockingContext *) pFile->lockingContext; assert( pFile ); - OSTRACE7("LOCK %d %s was %s(%s,%d) pid=%d (afp)\n", pFile->h, - locktypeName(locktype), locktypeName(pFile->locktype), - locktypeName(pLock->locktype), pLock->cnt , getpid()); + OSTRACE(("LOCK %d %s was %s(%s,%d) pid=%d (afp)\n", pFile->h, + azFileLock(eFileLock), azFileLock(pFile->eFileLock), + azFileLock(pInode->eFileLock), pInode->nShared , getpid())); /* If there is already a lock of this type or more restrictive on the ** unixFile, do nothing. Don't use the afp_end_lock: exit path, as ** unixEnterMutex() hasn't been called yet. */ - if( pFile->locktype>=locktype ){ - OSTRACE3("LOCK %d %s ok (already held) (afp)\n", pFile->h, - locktypeName(locktype)); + if( pFile->eFileLock>=eFileLock ){ + OSTRACE(("LOCK %d %s ok (already held) (afp)\n", pFile->h, + azFileLock(eFileLock))); return SQLITE_OK; } @@ -24580,28 +24884,20 @@ static int afpLock(sqlite3_file *id, int locktype){ ** (2) SQLite never explicitly requests a pendig lock. ** (3) A shared lock is always held when a reserve lock is requested. */ - assert( pFile->locktype!=NO_LOCK || locktype==SHARED_LOCK ); - assert( locktype!=PENDING_LOCK ); - assert( locktype!=RESERVED_LOCK || pFile->locktype==SHARED_LOCK ); + assert( pFile->eFileLock!=NO_LOCK || eFileLock==SHARED_LOCK ); + assert( eFileLock!=PENDING_LOCK ); + assert( eFileLock!=RESERVED_LOCK || pFile->eFileLock==SHARED_LOCK ); - /* This mutex is needed because pFile->pLock is shared across threads + /* This mutex is needed because pFile->pInode is shared across threads */ unixEnterMutex(); - - /* Make sure the current thread owns the pFile. - */ - rc = transferOwnership(pFile); - if( rc!=SQLITE_OK ){ - unixLeaveMutex(); - return rc; - } - pLock = pFile->pLock; + pInode = pFile->pInode; /* If some thread using this PID has a lock via a different unixFile* ** handle that precludes the requested lock, return BUSY. */ - if( (pFile->locktype!=pLock->locktype && - (pLock->locktype>=PENDING_LOCK || locktype>SHARED_LOCK)) + if( (pFile->eFileLock!=pInode->eFileLock && + (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK)) ){ rc = SQLITE_BUSY; goto afp_end_lock; @@ -24611,14 +24907,14 @@ static int afpLock(sqlite3_file *id, int locktype){ ** has a SHARED or RESERVED lock, then increment reference counts and ** return SQLITE_OK. */ - if( locktype==SHARED_LOCK && - (pLock->locktype==SHARED_LOCK || pLock->locktype==RESERVED_LOCK) ){ - assert( locktype==SHARED_LOCK ); - assert( pFile->locktype==0 ); - assert( pLock->cnt>0 ); - pFile->locktype = SHARED_LOCK; - pLock->cnt++; - pFile->pOpen->nLock++; + if( eFileLock==SHARED_LOCK && + (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){ + assert( eFileLock==SHARED_LOCK ); + assert( pFile->eFileLock==0 ); + assert( pInode->nShared>0 ); + pFile->eFileLock = SHARED_LOCK; + pInode->nShared++; + pInode->nLock++; goto afp_end_lock; } @@ -24626,8 +24922,8 @@ static int afpLock(sqlite3_file *id, int locktype){ ** acquiring an EXCLUSIVE lock. For the SHARED lock, the PENDING will ** be released. */ - if( locktype==SHARED_LOCK - || (locktype==EXCLUSIVE_LOCK && pFile->locktypeeFileLockdbPath, pFile, PENDING_BYTE, 1, 1); @@ -24640,20 +24936,20 @@ static int afpLock(sqlite3_file *id, int locktype){ /* If control gets to this point, then actually go ahead and make ** operating system calls for the specified lock. */ - if( locktype==SHARED_LOCK ){ + if( eFileLock==SHARED_LOCK ){ int lrc1, lrc2, lrc1Errno; long lk, mask; - assert( pLock->cnt==0 ); - assert( pLock->locktype==0 ); + assert( pInode->nShared==0 ); + assert( pInode->eFileLock==0 ); mask = (sizeof(long)==8) ? LARGEST_INT64 : 0x7fffffff; /* Now get the read-lock SHARED_LOCK */ /* note that the quality of the randomness doesn't matter that much */ lk = random(); - pLock->sharedByte = (lk & mask)%(SHARED_SIZE - 1); + pInode->sharedByte = (lk & mask)%(SHARED_SIZE - 1); lrc1 = afpSetLock(context->dbPath, pFile, - SHARED_FIRST+pLock->sharedByte, 1, 1); + SHARED_FIRST+pInode->sharedByte, 1, 1); if( IS_LOCK_ERROR(lrc1) ){ lrc1Errno = pFile->lastErrno; } @@ -24670,11 +24966,11 @@ static int afpLock(sqlite3_file *id, int locktype){ } else if( lrc1 != SQLITE_OK ) { rc = lrc1; } else { - pFile->locktype = SHARED_LOCK; - pFile->pOpen->nLock++; - pLock->cnt = 1; + pFile->eFileLock = SHARED_LOCK; + pInode->nLock++; + pInode->nShared = 1; } - }else if( locktype==EXCLUSIVE_LOCK && pLock->cnt>1 ){ + }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){ /* We are trying for an exclusive lock but another thread in this ** same process is still holding a shared lock. */ rc = SQLITE_BUSY; @@ -24684,28 +24980,28 @@ static int afpLock(sqlite3_file *id, int locktype){ ** already. */ int failed = 0; - assert( 0!=pFile->locktype ); - if (locktype >= RESERVED_LOCK && pFile->locktype < RESERVED_LOCK) { + assert( 0!=pFile->eFileLock ); + if (eFileLock >= RESERVED_LOCK && pFile->eFileLock < RESERVED_LOCK) { /* Acquire a RESERVED lock */ failed = afpSetLock(context->dbPath, pFile, RESERVED_BYTE, 1,1); if( !failed ){ context->reserved = 1; } } - if (!failed && locktype == EXCLUSIVE_LOCK) { + if (!failed && eFileLock == EXCLUSIVE_LOCK) { /* Acquire an EXCLUSIVE lock */ /* Remove the shared lock before trying the range. we'll need to ** reestablish the shared lock if we can't get the afpUnlock */ if( !(failed = afpSetLock(context->dbPath, pFile, SHARED_FIRST + - pLock->sharedByte, 1, 0)) ){ + pInode->sharedByte, 1, 0)) ){ int failed2 = SQLITE_OK; /* now attemmpt to get the exclusive lock range */ failed = afpSetLock(context->dbPath, pFile, SHARED_FIRST, SHARED_SIZE, 1); if( failed && (failed2 = afpSetLock(context->dbPath, pFile, - SHARED_FIRST + pLock->sharedByte, 1, 1)) ){ + SHARED_FIRST + pInode->sharedByte, 1, 1)) ){ /* Can't reestablish the shared lock. Sqlite can't deal, this is ** a critical I/O error */ @@ -24723,31 +25019,31 @@ static int afpLock(sqlite3_file *id, int locktype){ } if( rc==SQLITE_OK ){ - pFile->locktype = locktype; - pLock->locktype = locktype; - }else if( locktype==EXCLUSIVE_LOCK ){ - pFile->locktype = PENDING_LOCK; - pLock->locktype = PENDING_LOCK; + pFile->eFileLock = eFileLock; + pInode->eFileLock = eFileLock; + }else if( eFileLock==EXCLUSIVE_LOCK ){ + pFile->eFileLock = PENDING_LOCK; + pInode->eFileLock = PENDING_LOCK; } afp_end_lock: unixLeaveMutex(); - OSTRACE4("LOCK %d %s %s (afp)\n", pFile->h, locktypeName(locktype), - rc==SQLITE_OK ? "ok" : "failed"); + OSTRACE(("LOCK %d %s %s (afp)\n", pFile->h, azFileLock(eFileLock), + rc==SQLITE_OK ? "ok" : "failed")); return rc; } /* -** Lower the locking level on file descriptor pFile to locktype. locktype +** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below ** the requested locking level, this routine is a no-op. */ -static int afpUnlock(sqlite3_file *id, int locktype) { +static int afpUnlock(sqlite3_file *id, int eFileLock) { int rc = SQLITE_OK; unixFile *pFile = (unixFile*)id; - struct unixLockInfo *pLock; + unixInodeInfo *pInode; afpLockingContext *context = (afpLockingContext *) pFile->lockingContext; int skipShared = 0; #ifdef SQLITE_TEST @@ -24755,21 +25051,19 @@ static int afpUnlock(sqlite3_file *id, int locktype) { #endif assert( pFile ); - OSTRACE7("UNLOCK %d %d was %d(%d,%d) pid=%d (afp)\n", pFile->h, locktype, - pFile->locktype, pFile->pLock->locktype, pFile->pLock->cnt, getpid()); + OSTRACE(("UNLOCK %d %d was %d(%d,%d) pid=%d (afp)\n", pFile->h, eFileLock, + pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared, + getpid())); - assert( locktype<=SHARED_LOCK ); - if( pFile->locktype<=locktype ){ + assert( eFileLock<=SHARED_LOCK ); + if( pFile->eFileLock<=eFileLock ){ return SQLITE_OK; } - if( CHECK_THREADID(pFile) ){ - return SQLITE_MISUSE_BKPT; - } unixEnterMutex(); - pLock = pFile->pLock; - assert( pLock->cnt!=0 ); - if( pFile->locktype>SHARED_LOCK ){ - assert( pLock->locktype==pFile->locktype ); + pInode = pFile->pInode; + assert( pInode->nShared!=0 ); + if( pFile->eFileLock>SHARED_LOCK ){ + assert( pInode->eFileLock==pFile->eFileLock ); SimulateIOErrorBenign(1); SimulateIOError( h=(-1) ) SimulateIOErrorBenign(0); @@ -24789,38 +25083,38 @@ static int afpUnlock(sqlite3_file *id, int locktype) { pFile->inNormalWrite = 0; #endif - if( pFile->locktype==EXCLUSIVE_LOCK ){ + if( pFile->eFileLock==EXCLUSIVE_LOCK ){ rc = afpSetLock(context->dbPath, pFile, SHARED_FIRST, SHARED_SIZE, 0); - if( rc==SQLITE_OK && (locktype==SHARED_LOCK || pLock->cnt>1) ){ + if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1) ){ /* only re-establish the shared lock if necessary */ - int sharedLockByte = SHARED_FIRST+pLock->sharedByte; + int sharedLockByte = SHARED_FIRST+pInode->sharedByte; rc = afpSetLock(context->dbPath, pFile, sharedLockByte, 1, 1); } else { skipShared = 1; } } - if( rc==SQLITE_OK && pFile->locktype>=PENDING_LOCK ){ + if( rc==SQLITE_OK && pFile->eFileLock>=PENDING_LOCK ){ rc = afpSetLock(context->dbPath, pFile, PENDING_BYTE, 1, 0); } - if( rc==SQLITE_OK && pFile->locktype>=RESERVED_LOCK && context->reserved ){ + if( rc==SQLITE_OK && pFile->eFileLock>=RESERVED_LOCK && context->reserved ){ rc = afpSetLock(context->dbPath, pFile, RESERVED_BYTE, 1, 0); if( !rc ){ context->reserved = 0; } } - if( rc==SQLITE_OK && (locktype==SHARED_LOCK || pLock->cnt>1)){ - pLock->locktype = SHARED_LOCK; + if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1)){ + pInode->eFileLock = SHARED_LOCK; } } - if( rc==SQLITE_OK && locktype==NO_LOCK ){ + if( rc==SQLITE_OK && eFileLock==NO_LOCK ){ /* Decrement the shared lock counter. Release the lock using an ** OS call only when all threads in this same process have released ** the lock. */ - unsigned long long sharedLockByte = SHARED_FIRST+pLock->sharedByte; - pLock->cnt--; - if( pLock->cnt==0 ){ + unsigned long long sharedLockByte = SHARED_FIRST+pInode->sharedByte; + pInode->nShared--; + if( pInode->nShared==0 ){ SimulateIOErrorBenign(1); SimulateIOError( h=(-1) ) SimulateIOErrorBenign(0); @@ -24828,23 +25122,21 @@ static int afpUnlock(sqlite3_file *id, int locktype) { rc = afpSetLock(context->dbPath, pFile, sharedLockByte, 1, 0); } if( !rc ){ - pLock->locktype = NO_LOCK; - pFile->locktype = NO_LOCK; + pInode->eFileLock = NO_LOCK; + pFile->eFileLock = NO_LOCK; } } if( rc==SQLITE_OK ){ - struct unixOpenCnt *pOpen = pFile->pOpen; - - pOpen->nLock--; - assert( pOpen->nLock>=0 ); - if( pOpen->nLock==0 ){ + pInode->nLock--; + assert( pInode->nLock>=0 ); + if( pInode->nLock==0 ){ rc = closePendingFds(pFile); } } } unixLeaveMutex(); - if( rc==SQLITE_OK ) pFile->locktype = locktype; + if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock; return rc; } @@ -24857,16 +25149,15 @@ static int afpClose(sqlite3_file *id) { unixFile *pFile = (unixFile*)id; afpUnlock(id, NO_LOCK); unixEnterMutex(); - if( pFile->pOpen && pFile->pOpen->nLock ){ + if( pFile->pInode && pFile->pInode->nLock ){ /* If there are outstanding locks, do not actually close the file just ** yet because that would clear those locks. Instead, add the file - ** descriptor to pOpen->aPending. It will be automatically closed when + ** descriptor to pInode->aPending. It will be automatically closed when ** the last lock is cleared. */ setPendingFd(pFile); } - releaseLockInfo(pFile->pLock); - releaseOpenCnt(pFile->pOpen); + releaseInodeInfo(pFile); sqlite3_free(pFile->lockingContext); rc = closeUnixFile(id); unixLeaveMutex(); @@ -24889,14 +25180,14 @@ static int afpClose(sqlite3_file *id) { #if defined(__APPLE__) && SQLITE_ENABLE_LOCKING_STYLE /* - ** Lower the locking level on file descriptor pFile to locktype. locktype + ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below ** the requested locking level, this routine is a no-op. */ -static int nfsUnlock(sqlite3_file *id, int locktype){ - return _posixUnlock(id, locktype, 1); +static int nfsUnlock(sqlite3_file *id, int eFileLock){ + return _posixUnlock(id, eFileLock, 1); } #endif /* defined(__APPLE__) && SQLITE_ENABLE_LOCKING_STYLE */ @@ -24960,7 +25251,7 @@ static int seekAndRead(unixFile *id, sqlite3_int64 offset, void *pBuf, int cnt){ if( got<0 ){ ((unixFile*)id)->lastErrno = errno; } - OSTRACE5("READ %-3d %5d %7lld %llu\n", id->h, got, offset, TIMER_ELAPSED); + OSTRACE(("READ %-3d %5d %7lld %llu\n", id->h, got, offset, TIMER_ELAPSED)); return got; } @@ -24981,10 +25272,12 @@ static int unixRead( /* If this is a database file (not a journal, master-journal or temp ** file), the bytes in the locking range should never be read or written. */ +#if 0 assert( pFile->pUnused==0 || offset>=PENDING_BYTE+512 || offset+amt<=PENDING_BYTE ); +#endif got = seekAndRead(pFile, offset, pBuf, amt); if( got==amt ){ @@ -25034,7 +25327,7 @@ static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){ ((unixFile*)id)->lastErrno = errno; } - OSTRACE5("WRITE %-3d %5d %7lld %llu\n", id->h, got, offset, TIMER_ELAPSED); + OSTRACE(("WRITE %-3d %5d %7lld %llu\n", id->h, got, offset, TIMER_ELAPSED)); return got; } @@ -25056,10 +25349,12 @@ static int unixWrite( /* If this is a database file (not a journal, master-journal or temp ** file), the bytes in the locking range should never be read or written. */ +#if 0 assert( pFile->pUnused==0 || offset>=PENDING_BYTE+512 || offset+amt<=PENDING_BYTE ); +#endif #ifndef NDEBUG /* If we are doing a normal write to a database file (as opposed to @@ -25090,6 +25385,7 @@ static int unixWrite( } SimulateIOError(( wrote=(-1), amt=1 )); SimulateDiskfullError(( wrote=0, amt=1 )); + if( amt>0 ){ if( wrote<0 ){ /* lastErrno set by seekAndWrite */ @@ -25099,6 +25395,7 @@ static int unixWrite( return SQLITE_FULL; } } + return SQLITE_OK; } @@ -25258,7 +25555,7 @@ static int unixSync(sqlite3_file *id, int flags){ SimulateDiskfullError( return SQLITE_FULL ); assert( pFile ); - OSTRACE2("SYNC %-3d\n", pFile->h); + OSTRACE(("SYNC %-3d\n", pFile->h)); rc = full_fsync(pFile->h, isFullsync, isDataOnly); SimulateIOError( rc=1 ); if( rc ){ @@ -25267,8 +25564,8 @@ static int unixSync(sqlite3_file *id, int flags){ } if( pFile->dirfd>=0 ){ int err; - OSTRACE4("DIRSYNC %-3d (have_fullfsync=%d fullsync=%d)\n", pFile->dirfd, - HAVE_FULLFSYNC, isFullsync); + OSTRACE(("DIRSYNC %-3d (have_fullfsync=%d fullsync=%d)\n", pFile->dirfd, + HAVE_FULLFSYNC, isFullsync)); #ifndef SQLITE_DISABLE_DIRSYNC /* The directory sync is only attempted if full_fsync is ** turned off or unavailable. If a full_fsync occurred above, @@ -25300,12 +25597,23 @@ static int unixSync(sqlite3_file *id, int flags){ ** Truncate an open file to a specified size */ static int unixTruncate(sqlite3_file *id, i64 nByte){ + unixFile *pFile = (unixFile *)id; int rc; - assert( id ); + assert( pFile ); SimulateIOError( return SQLITE_IOERR_TRUNCATE ); - rc = ftruncate(((unixFile*)id)->h, (off_t)nByte); + + /* If the user has configured a chunk-size for this file, truncate the + ** file so that it consists of an integer number of chunks (i.e. the + ** actual file size after the operation may be larger than the requested + ** size). + */ + if( pFile->szChunk ){ + nByte = ((nByte + pFile->szChunk - 1)/pFile->szChunk) * pFile->szChunk; + } + + rc = ftruncate(pFile->h, (off_t)nByte); if( rc ){ - ((unixFile*)id)->lastErrno = errno; + pFile->lastErrno = errno; return SQLITE_IOERR_TRUNCATE; }else{ #ifndef NDEBUG @@ -25316,8 +25624,8 @@ static int unixTruncate(sqlite3_file *id, i64 nByte){ ** when restoring a database using the backup API from a zero-length ** source. */ - if( ((unixFile*)id)->inNormalWrite && nByte==0 ){ - ((unixFile*)id)->transCntrChng = 1; + if( pFile->inNormalWrite && nByte==0 ){ + pFile->transCntrChng = 1; } #endif @@ -25340,7 +25648,7 @@ static int unixFileSize(sqlite3_file *id, i64 *pSize){ } *pSize = buf.st_size; - /* When opening a zero-size database, the findLockInfo() procedure + /* When opening a zero-size database, the findInodeInfo() procedure ** writes a single byte into that file in order to work around a bug ** in the OS-X msdos filesystem. In order to avoid problems with upper ** layers, we need to report this file size as zero even though it is @@ -25360,6 +25668,54 @@ static int unixFileSize(sqlite3_file *id, i64 *pSize){ static int proxyFileControl(sqlite3_file*,int,void*); #endif +/* +** This function is called to handle the SQLITE_FCNTL_SIZE_HINT +** file-control operation. +** +** If the user has configured a chunk-size for this file, it could be +** that the file needs to be extended at this point. Otherwise, the +** SQLITE_FCNTL_SIZE_HINT operation is a no-op for Unix. +*/ +static int fcntlSizeHint(unixFile *pFile, i64 nByte){ + if( pFile->szChunk ){ + i64 nSize; /* Required file size */ + struct stat buf; /* Used to hold return values of fstat() */ + + if( fstat(pFile->h, &buf) ) return SQLITE_IOERR_FSTAT; + + nSize = ((nByte+pFile->szChunk-1) / pFile->szChunk) * pFile->szChunk; + if( nSize>(i64)buf.st_size ){ +#if defined(HAVE_POSIX_FALLOCATE) && HAVE_POSIX_FALLOCATE + if( posix_fallocate(pFile->h, buf.st_size, nSize-buf.st_size) ){ + return SQLITE_IOERR_WRITE; + } +#else + /* If the OS does not have posix_fallocate(), fake it. First use + ** ftruncate() to set the file size, then write a single byte to + ** the last byte in each block within the extended region. This + ** is the same technique used by glibc to implement posix_fallocate() + ** on systems that do not have a real fallocate() system call. + */ + int nBlk = buf.st_blksize; /* File-system block size */ + i64 iWrite; /* Next offset to write to */ + int nWrite; /* Return value from seekAndWrite() */ + + if( ftruncate(pFile->h, nSize) ){ + pFile->lastErrno = errno; + return SQLITE_IOERR_TRUNCATE; + } + iWrite = ((buf.st_size + 2*nBlk - 1)/nBlk)*nBlk-1; + do { + nWrite = seekAndWrite(pFile, iWrite, "", 1); + iWrite += nBlk; + } while( nWrite==1 && iWritelocktype; + *(int*)pArg = ((unixFile*)id)->eFileLock; return SQLITE_OK; } case SQLITE_LAST_ERRNO: { *(int*)pArg = ((unixFile*)id)->lastErrno; return SQLITE_OK; } + case SQLITE_FCNTL_CHUNK_SIZE: { + ((unixFile*)id)->szChunk = *(int *)pArg; + return SQLITE_OK; + } + case SQLITE_FCNTL_SIZE_HINT: { + return fcntlSizeHint((unixFile *)id, *(i64 *)pArg); + } #ifndef NDEBUG /* The pager calls this method to signal that it has done ** a rollback and that the database is therefore unchanged and @@ -25418,6 +25781,609 @@ static int unixDeviceCharacteristics(sqlite3_file *NotUsed){ return 0; } +#ifndef SQLITE_OMIT_WAL + + +/* +** Object used to represent an shared memory buffer. +** +** When multiple threads all reference the same wal-index, each thread +** has its own unixShm object, but they all point to a single instance +** of this unixShmNode object. In other words, each wal-index is opened +** only once per process. +** +** Each unixShmNode object is connected to a single unixInodeInfo object. +** We could coalesce this object into unixInodeInfo, but that would mean +** every open file that does not use shared memory (in other words, most +** open files) would have to carry around this extra information. So +** the unixInodeInfo object contains a pointer to this unixShmNode object +** and the unixShmNode object is created only when needed. +** +** unixMutexHeld() must be true when creating or destroying +** this object or while reading or writing the following fields: +** +** nRef +** +** The following fields are read-only after the object is created: +** +** fid +** zFilename +** +** Either unixShmNode.mutex must be held or unixShmNode.nRef==0 and +** unixMutexHeld() is true when reading or writing any other field +** in this structure. +*/ +struct unixShmNode { + unixInodeInfo *pInode; /* unixInodeInfo that owns this SHM node */ + sqlite3_mutex *mutex; /* Mutex to access this object */ + char *zFilename; /* Name of the mmapped file */ + int h; /* Open file descriptor */ + int szRegion; /* Size of shared-memory regions */ + int nRegion; /* Size of array apRegion */ + char **apRegion; /* Array of mapped shared-memory regions */ + int nRef; /* Number of unixShm objects pointing to this */ + unixShm *pFirst; /* All unixShm objects pointing to this */ +#ifdef SQLITE_DEBUG + u8 exclMask; /* Mask of exclusive locks held */ + u8 sharedMask; /* Mask of shared locks held */ + u8 nextShmId; /* Next available unixShm.id value */ +#endif +}; + +/* +** Structure used internally by this VFS to record the state of an +** open shared memory connection. +** +** The following fields are initialized when this object is created and +** are read-only thereafter: +** +** unixShm.pFile +** unixShm.id +** +** All other fields are read/write. The unixShm.pFile->mutex must be held +** while accessing any read/write fields. +*/ +struct unixShm { + unixShmNode *pShmNode; /* The underlying unixShmNode object */ + unixShm *pNext; /* Next unixShm with the same unixShmNode */ + u8 hasMutex; /* True if holding the unixShmNode mutex */ + u16 sharedMask; /* Mask of shared locks held */ + u16 exclMask; /* Mask of exclusive locks held */ +#ifdef SQLITE_DEBUG + u8 id; /* Id of this connection within its unixShmNode */ +#endif +}; + +/* +** Constants used for locking +*/ +#define UNIX_SHM_BASE ((22+SQLITE_SHM_NLOCK)*4) /* first lock byte */ +#define UNIX_SHM_DMS (UNIX_SHM_BASE+SQLITE_SHM_NLOCK) /* deadman switch */ + +/* +** Apply posix advisory locks for all bytes from ofst through ofst+n-1. +** +** Locks block if the mask is exactly UNIX_SHM_C and are non-blocking +** otherwise. +*/ +static int unixShmSystemLock( + unixShmNode *pShmNode, /* Apply locks to this open shared-memory segment */ + int lockType, /* F_UNLCK, F_RDLCK, or F_WRLCK */ + int ofst, /* First byte of the locking range */ + int n /* Number of bytes to lock */ +){ + struct flock f; /* The posix advisory locking structure */ + int rc = SQLITE_OK; /* Result code form fcntl() */ + + /* Access to the unixShmNode object is serialized by the caller */ + assert( sqlite3_mutex_held(pShmNode->mutex) || pShmNode->nRef==0 ); + + /* Shared locks never span more than one byte */ + assert( n==1 || lockType!=F_RDLCK ); + + /* Locks are within range */ + assert( n>=1 && nh, F_SETLK, &f); + rc = (rc!=(-1)) ? SQLITE_OK : SQLITE_BUSY; + + /* Update the global lock state and do debug tracing */ +#ifdef SQLITE_DEBUG + { u16 mask; + OSTRACE(("SHM-LOCK ")); + mask = (1<<(ofst+n)) - (1<exclMask &= ~mask; + pShmNode->sharedMask &= ~mask; + }else if( lockType==F_RDLCK ){ + OSTRACE(("read-lock %d ok", ofst)); + pShmNode->exclMask &= ~mask; + pShmNode->sharedMask |= mask; + }else{ + assert( lockType==F_WRLCK ); + OSTRACE(("write-lock %d ok", ofst)); + pShmNode->exclMask |= mask; + pShmNode->sharedMask &= ~mask; + } + }else{ + if( lockType==F_UNLCK ){ + OSTRACE(("unlock %d failed", ofst)); + }else if( lockType==F_RDLCK ){ + OSTRACE(("read-lock failed")); + }else{ + assert( lockType==F_WRLCK ); + OSTRACE(("write-lock %d failed", ofst)); + } + } + OSTRACE((" - afterwards %03x,%03x\n", + pShmNode->sharedMask, pShmNode->exclMask)); + } +#endif + + return rc; +} + + +/* +** Purge the unixShmNodeList list of all entries with unixShmNode.nRef==0. +** +** This is not a VFS shared-memory method; it is a utility function called +** by VFS shared-memory methods. +*/ +static void unixShmPurge(unixFile *pFd){ + unixShmNode *p = pFd->pInode->pShmNode; + assert( unixMutexHeld() ); + if( p && p->nRef==0 ){ + int i; + assert( p->pInode==pFd->pInode ); + if( p->mutex ) sqlite3_mutex_free(p->mutex); + for(i=0; inRegion; i++){ + munmap(p->apRegion[i], p->szRegion); + } + sqlite3_free(p->apRegion); + if( p->h>=0 ) close(p->h); + p->pInode->pShmNode = 0; + sqlite3_free(p); + } +} + +/* +** Open a shared-memory area associated with open database file pDbFd. +** This particular implementation uses mmapped files. +** +** The file used to implement shared-memory is in the same directory +** as the open database file and has the same name as the open database +** file with the "-shm" suffix added. For example, if the database file +** is "/home/user1/config.db" then the file that is created and mmapped +** for shared memory will be called "/home/user1/config.db-shm". +** +** Another approach to is to use files in /dev/shm or /dev/tmp or an +** some other tmpfs mount. But if a file in a different directory +** from the database file is used, then differing access permissions +** or a chroot() might cause two different processes on the same +** database to end up using different files for shared memory - +** meaning that their memory would not really be shared - resulting +** in database corruption. Nevertheless, this tmpfs file usage +** can be enabled at compile-time using -DSQLITE_SHM_DIRECTORY="/dev/shm" +** or the equivalent. The use of the SQLITE_SHM_DIRECTORY compile-time +** option results in an incompatible build of SQLite; builds of SQLite +** that with differing SQLITE_SHM_DIRECTORY settings attempt to use the +** same database file at the same time, database corruption will likely +** result. The SQLITE_SHM_DIRECTORY compile-time option is considered +** "unsupported" and may go away in a future SQLite release. +** +** When opening a new shared-memory file, if no other instances of that +** file are currently open, in this process or in other processes, then +** the file must be truncated to zero length or have its header cleared. +*/ +static int unixOpenSharedMemory(unixFile *pDbFd){ + struct unixShm *p = 0; /* The connection to be opened */ + struct unixShmNode *pShmNode; /* The underlying mmapped file */ + int rc; /* Result code */ + unixInodeInfo *pInode; /* The inode of fd */ + char *zShmFilename; /* Name of the file used for SHM */ + int nShmFilename; /* Size of the SHM filename in bytes */ + + /* Allocate space for the new unixShm object. */ + p = sqlite3_malloc( sizeof(*p) ); + if( p==0 ) return SQLITE_NOMEM; + memset(p, 0, sizeof(*p)); + assert( pDbFd->pShm==0 ); + + /* Check to see if a unixShmNode object already exists. Reuse an existing + ** one if present. Create a new one if necessary. + */ + unixEnterMutex(); + pInode = pDbFd->pInode; + pShmNode = pInode->pShmNode; + if( pShmNode==0 ){ + struct stat sStat; /* fstat() info for database file */ + + /* Call fstat() to figure out the permissions on the database file. If + ** a new *-shm file is created, an attempt will be made to create it + ** with the same permissions. The actual permissions the file is created + ** with are subject to the current umask setting. + */ + if( fstat(pDbFd->h, &sStat) ){ + rc = SQLITE_IOERR_FSTAT; + goto shm_open_err; + } + +#ifdef SQLITE_SHM_DIRECTORY + nShmFilename = sizeof(SQLITE_SHM_DIRECTORY) + 30; +#else + nShmFilename = 5 + (int)strlen(pDbFd->zPath); +#endif + pShmNode = sqlite3_malloc( sizeof(*pShmNode) + nShmFilename ); + if( pShmNode==0 ){ + rc = SQLITE_NOMEM; + goto shm_open_err; + } + memset(pShmNode, 0, sizeof(*pShmNode)); + zShmFilename = pShmNode->zFilename = (char*)&pShmNode[1]; +#ifdef SQLITE_SHM_DIRECTORY + sqlite3_snprintf(nShmFilename, zShmFilename, + SQLITE_SHM_DIRECTORY "/sqlite-shm-%x-%x", + (u32)sStat.st_ino, (u32)sStat.st_dev); +#else + sqlite3_snprintf(nShmFilename, zShmFilename, "%s-shm", pDbFd->zPath); +#endif + pShmNode->h = -1; + pDbFd->pInode->pShmNode = pShmNode; + pShmNode->pInode = pDbFd->pInode; + pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); + if( pShmNode->mutex==0 ){ + rc = SQLITE_NOMEM; + goto shm_open_err; + } + + pShmNode->h = open(zShmFilename, O_RDWR|O_CREAT, (sStat.st_mode & 0777)); + if( pShmNode->h<0 ){ + rc = SQLITE_CANTOPEN_BKPT; + goto shm_open_err; + } + + /* Check to see if another process is holding the dead-man switch. + ** If not, truncate the file to zero length. + */ + rc = SQLITE_OK; + if( unixShmSystemLock(pShmNode, F_WRLCK, UNIX_SHM_DMS, 1)==SQLITE_OK ){ + if( ftruncate(pShmNode->h, 0) ){ + rc = SQLITE_IOERR_SHMOPEN; + } + } + if( rc==SQLITE_OK ){ + rc = unixShmSystemLock(pShmNode, F_RDLCK, UNIX_SHM_DMS, 1); + } + if( rc ) goto shm_open_err; + } + + /* Make the new connection a child of the unixShmNode */ + p->pShmNode = pShmNode; +#ifdef SQLITE_DEBUG + p->id = pShmNode->nextShmId++; +#endif + pShmNode->nRef++; + pDbFd->pShm = p; + unixLeaveMutex(); + + /* The reference count on pShmNode has already been incremented under + ** the cover of the unixEnterMutex() mutex and the pointer from the + ** new (struct unixShm) object to the pShmNode has been set. All that is + ** left to do is to link the new object into the linked list starting + ** at pShmNode->pFirst. This must be done while holding the pShmNode->mutex + ** mutex. + */ + sqlite3_mutex_enter(pShmNode->mutex); + p->pNext = pShmNode->pFirst; + pShmNode->pFirst = p; + sqlite3_mutex_leave(pShmNode->mutex); + return SQLITE_OK; + + /* Jump here on any error */ +shm_open_err: + unixShmPurge(pDbFd); /* This call frees pShmNode if required */ + sqlite3_free(p); + unixLeaveMutex(); + return rc; +} + +/* +** This function is called to obtain a pointer to region iRegion of the +** shared-memory associated with the database file fd. Shared-memory regions +** are numbered starting from zero. Each shared-memory region is szRegion +** bytes in size. +** +** If an error occurs, an error code is returned and *pp is set to NULL. +** +** Otherwise, if the bExtend parameter is 0 and the requested shared-memory +** region has not been allocated (by any client, including one running in a +** separate process), then *pp is set to NULL and SQLITE_OK returned. If +** bExtend is non-zero and the requested shared-memory region has not yet +** been allocated, it is allocated by this function. +** +** If the shared-memory region has already been allocated or is allocated by +** this call as described above, then it is mapped into this processes +** address space (if it is not already), *pp is set to point to the mapped +** memory and SQLITE_OK returned. +*/ +static int unixShmMap( + sqlite3_file *fd, /* Handle open on database file */ + int iRegion, /* Region to retrieve */ + int szRegion, /* Size of regions */ + int bExtend, /* True to extend file if necessary */ + void volatile **pp /* OUT: Mapped memory */ +){ + unixFile *pDbFd = (unixFile*)fd; + unixShm *p; + unixShmNode *pShmNode; + int rc = SQLITE_OK; + + /* If the shared-memory file has not yet been opened, open it now. */ + if( pDbFd->pShm==0 ){ + rc = unixOpenSharedMemory(pDbFd); + if( rc!=SQLITE_OK ) return rc; + } + + p = pDbFd->pShm; + pShmNode = p->pShmNode; + sqlite3_mutex_enter(pShmNode->mutex); + assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 ); + + if( pShmNode->nRegion<=iRegion ){ + char **apNew; /* New apRegion[] array */ + int nByte = (iRegion+1)*szRegion; /* Minimum required file size */ + struct stat sStat; /* Used by fstat() */ + + pShmNode->szRegion = szRegion; + + /* The requested region is not mapped into this processes address space. + ** Check to see if it has been allocated (i.e. if the wal-index file is + ** large enough to contain the requested region). + */ + if( fstat(pShmNode->h, &sStat) ){ + rc = SQLITE_IOERR_SHMSIZE; + goto shmpage_out; + } + + if( sStat.st_sizeh, nByte) ){ + rc = SQLITE_IOERR_SHMSIZE; + goto shmpage_out; + } + } + + /* Map the requested memory region into this processes address space. */ + apNew = (char **)sqlite3_realloc( + pShmNode->apRegion, (iRegion+1)*sizeof(char *) + ); + if( !apNew ){ + rc = SQLITE_IOERR_NOMEM; + goto shmpage_out; + } + pShmNode->apRegion = apNew; + while(pShmNode->nRegion<=iRegion){ + void *pMem = mmap(0, szRegion, PROT_READ|PROT_WRITE, + MAP_SHARED, pShmNode->h, iRegion*szRegion + ); + if( pMem==MAP_FAILED ){ + rc = SQLITE_IOERR; + goto shmpage_out; + } + pShmNode->apRegion[pShmNode->nRegion] = pMem; + pShmNode->nRegion++; + } + } + +shmpage_out: + if( pShmNode->nRegion>iRegion ){ + *pp = pShmNode->apRegion[iRegion]; + }else{ + *pp = 0; + } + sqlite3_mutex_leave(pShmNode->mutex); + return rc; +} + +/* +** Change the lock state for a shared-memory segment. +** +** Note that the relationship between SHAREd and EXCLUSIVE locks is a little +** different here than in posix. In xShmLock(), one can go from unlocked +** to shared and back or from unlocked to exclusive and back. But one may +** not go from shared to exclusive or from exclusive to shared. +*/ +static int unixShmLock( + sqlite3_file *fd, /* Database file holding the shared memory */ + int ofst, /* First lock to acquire or release */ + int n, /* Number of locks to acquire or release */ + int flags /* What to do with the lock */ +){ + unixFile *pDbFd = (unixFile*)fd; /* Connection holding shared memory */ + unixShm *p = pDbFd->pShm; /* The shared memory being locked */ + unixShm *pX; /* For looping over all siblings */ + unixShmNode *pShmNode = p->pShmNode; /* The underlying file iNode */ + int rc = SQLITE_OK; /* Result code */ + u16 mask; /* Mask of locks to take or release */ + + assert( pShmNode==pDbFd->pInode->pShmNode ); + assert( pShmNode->pInode==pDbFd->pInode ); + assert( ofst>=0 && ofst+n<=SQLITE_SHM_NLOCK ); + assert( n>=1 ); + assert( flags==(SQLITE_SHM_LOCK | SQLITE_SHM_SHARED) + || flags==(SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE) + || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED) + || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE) ); + assert( n==1 || (flags & SQLITE_SHM_EXCLUSIVE)!=0 ); + + mask = (1<<(ofst+n)) - (1<1 || mask==(1<mutex); + if( flags & SQLITE_SHM_UNLOCK ){ + u16 allMask = 0; /* Mask of locks held by siblings */ + + /* See if any siblings hold this same lock */ + for(pX=pShmNode->pFirst; pX; pX=pX->pNext){ + if( pX==p ) continue; + assert( (pX->exclMask & (p->exclMask|p->sharedMask))==0 ); + allMask |= pX->sharedMask; + } + + /* Unlock the system-level locks */ + if( (mask & allMask)==0 ){ + rc = unixShmSystemLock(pShmNode, F_UNLCK, ofst+UNIX_SHM_BASE, n); + }else{ + rc = SQLITE_OK; + } + + /* Undo the local locks */ + if( rc==SQLITE_OK ){ + p->exclMask &= ~mask; + p->sharedMask &= ~mask; + } + }else if( flags & SQLITE_SHM_SHARED ){ + u16 allShared = 0; /* Union of locks held by connections other than "p" */ + + /* Find out which shared locks are already held by sibling connections. + ** If any sibling already holds an exclusive lock, go ahead and return + ** SQLITE_BUSY. + */ + for(pX=pShmNode->pFirst; pX; pX=pX->pNext){ + if( (pX->exclMask & mask)!=0 ){ + rc = SQLITE_BUSY; + break; + } + allShared |= pX->sharedMask; + } + + /* Get shared locks at the system level, if necessary */ + if( rc==SQLITE_OK ){ + if( (allShared & mask)==0 ){ + rc = unixShmSystemLock(pShmNode, F_RDLCK, ofst+UNIX_SHM_BASE, n); + }else{ + rc = SQLITE_OK; + } + } + + /* Get the local shared locks */ + if( rc==SQLITE_OK ){ + p->sharedMask |= mask; + } + }else{ + /* Make sure no sibling connections hold locks that will block this + ** lock. If any do, return SQLITE_BUSY right away. + */ + for(pX=pShmNode->pFirst; pX; pX=pX->pNext){ + if( (pX->exclMask & mask)!=0 || (pX->sharedMask & mask)!=0 ){ + rc = SQLITE_BUSY; + break; + } + } + + /* Get the exclusive locks at the system level. Then if successful + ** also mark the local connection as being locked. + */ + if( rc==SQLITE_OK ){ + rc = unixShmSystemLock(pShmNode, F_WRLCK, ofst+UNIX_SHM_BASE, n); + if( rc==SQLITE_OK ){ + assert( (p->sharedMask & mask)==0 ); + p->exclMask |= mask; + } + } + } + sqlite3_mutex_leave(pShmNode->mutex); + OSTRACE(("SHM-LOCK shmid-%d, pid-%d got %03x,%03x\n", + p->id, getpid(), p->sharedMask, p->exclMask)); + return rc; +} + +/* +** Implement a memory barrier or memory fence on shared memory. +** +** All loads and stores begun before the barrier must complete before +** any load or store begun after the barrier. +*/ +static void unixShmBarrier( + sqlite3_file *fd /* Database file holding the shared memory */ +){ + UNUSED_PARAMETER(fd); + unixEnterMutex(); + unixLeaveMutex(); +} + +/* +** Close a connection to shared-memory. Delete the underlying +** storage if deleteFlag is true. +** +** If there is no shared memory associated with the connection then this +** routine is a harmless no-op. +*/ +static int unixShmUnmap( + sqlite3_file *fd, /* The underlying database file */ + int deleteFlag /* Delete shared-memory if true */ +){ + unixShm *p; /* The connection to be closed */ + unixShmNode *pShmNode; /* The underlying shared-memory file */ + unixShm **pp; /* For looping over sibling connections */ + unixFile *pDbFd; /* The underlying database file */ + + pDbFd = (unixFile*)fd; + p = pDbFd->pShm; + if( p==0 ) return SQLITE_OK; + pShmNode = p->pShmNode; + + assert( pShmNode==pDbFd->pInode->pShmNode ); + assert( pShmNode->pInode==pDbFd->pInode ); + + /* Remove connection p from the set of connections associated + ** with pShmNode */ + sqlite3_mutex_enter(pShmNode->mutex); + for(pp=&pShmNode->pFirst; (*pp)!=p; pp = &(*pp)->pNext){} + *pp = p->pNext; + + /* Free the connection p */ + sqlite3_free(p); + pDbFd->pShm = 0; + sqlite3_mutex_leave(pShmNode->mutex); + + /* If pShmNode->nRef has reached 0, then close the underlying + ** shared-memory file, too */ + unixEnterMutex(); + assert( pShmNode->nRef>0 ); + pShmNode->nRef--; + if( pShmNode->nRef==0 ){ + if( deleteFlag ) unlink(pShmNode->zFilename); + unixShmPurge(pDbFd); + } + unixLeaveMutex(); + + return SQLITE_OK; +} + + +#else +# define unixShmMap 0 +# define unixShmLock 0 +# define unixShmBarrier 0 +# define unixShmUnmap 0 +#endif /* #ifndef SQLITE_OMIT_WAL */ + /* ** Here ends the implementation of all sqlite3_file methods. ** @@ -25458,9 +26424,9 @@ static int unixDeviceCharacteristics(sqlite3_file *NotUsed){ ** * An I/O method finder function called FINDER that returns a pointer ** to the METHOD object in the previous bullet. */ -#define IOMETHODS(FINDER, METHOD, CLOSE, LOCK, UNLOCK, CKLOCK) \ +#define IOMETHODS(FINDER, METHOD, VERSION, CLOSE, LOCK, UNLOCK, CKLOCK) \ static const sqlite3_io_methods METHOD = { \ - 1, /* iVersion */ \ + VERSION, /* iVersion */ \ CLOSE, /* xClose */ \ unixRead, /* xRead */ \ unixWrite, /* xWrite */ \ @@ -25472,7 +26438,11 @@ static const sqlite3_io_methods METHOD = { \ CKLOCK, /* xCheckReservedLock */ \ unixFileControl, /* xFileControl */ \ unixSectorSize, /* xSectorSize */ \ - unixDeviceCharacteristics /* xDeviceCapabilities */ \ + unixDeviceCharacteristics, /* xDeviceCapabilities */ \ + unixShmMap, /* xShmMap */ \ + unixShmLock, /* xShmLock */ \ + unixShmBarrier, /* xShmBarrier */ \ + unixShmUnmap /* xShmUnmap */ \ }; \ static const sqlite3_io_methods *FINDER##Impl(const char *z, unixFile *p){ \ UNUSED_PARAMETER(z); UNUSED_PARAMETER(p); \ @@ -25489,6 +26459,7 @@ static const sqlite3_io_methods *(*const FINDER)(const char*,unixFile *p) \ IOMETHODS( posixIoFinder, /* Finder function name */ posixIoMethods, /* sqlite3_io_methods object name */ + 2, /* shared memory is enabled */ unixClose, /* xClose method */ unixLock, /* xLock method */ unixUnlock, /* xUnlock method */ @@ -25497,6 +26468,7 @@ IOMETHODS( IOMETHODS( nolockIoFinder, /* Finder function name */ nolockIoMethods, /* sqlite3_io_methods object name */ + 1, /* shared memory is disabled */ nolockClose, /* xClose method */ nolockLock, /* xLock method */ nolockUnlock, /* xUnlock method */ @@ -25505,6 +26477,7 @@ IOMETHODS( IOMETHODS( dotlockIoFinder, /* Finder function name */ dotlockIoMethods, /* sqlite3_io_methods object name */ + 1, /* shared memory is disabled */ dotlockClose, /* xClose method */ dotlockLock, /* xLock method */ dotlockUnlock, /* xUnlock method */ @@ -25515,6 +26488,7 @@ IOMETHODS( IOMETHODS( flockIoFinder, /* Finder function name */ flockIoMethods, /* sqlite3_io_methods object name */ + 1, /* shared memory is disabled */ flockClose, /* xClose method */ flockLock, /* xLock method */ flockUnlock, /* xUnlock method */ @@ -25526,6 +26500,7 @@ IOMETHODS( IOMETHODS( semIoFinder, /* Finder function name */ semIoMethods, /* sqlite3_io_methods object name */ + 1, /* shared memory is disabled */ semClose, /* xClose method */ semLock, /* xLock method */ semUnlock, /* xUnlock method */ @@ -25537,6 +26512,7 @@ IOMETHODS( IOMETHODS( afpIoFinder, /* Finder function name */ afpIoMethods, /* sqlite3_io_methods object name */ + 1, /* shared memory is disabled */ afpClose, /* xClose method */ afpLock, /* xLock method */ afpUnlock, /* xUnlock method */ @@ -25561,6 +26537,7 @@ static int proxyCheckReservedLock(sqlite3_file*, int*); IOMETHODS( proxyIoFinder, /* Finder function name */ proxyIoMethods, /* sqlite3_io_methods object name */ + 1, /* shared memory is disabled */ proxyClose, /* xClose method */ proxyLock, /* xLock method */ proxyUnlock, /* xUnlock method */ @@ -25573,6 +26550,7 @@ IOMETHODS( IOMETHODS( nfsIoFinder, /* Finder function name */ nfsIoMethods, /* sqlite3_io_methods object name */ + 1, /* shared memory is disabled */ unixClose, /* xClose method */ unixLock, /* xLock method */ nfsUnlock, /* xUnlock method */ @@ -25713,19 +26691,19 @@ static int fillInUnixFile( unixFile *pNew = (unixFile *)pId; int rc = SQLITE_OK; - assert( pNew->pLock==NULL ); - assert( pNew->pOpen==NULL ); + assert( pNew->pInode==NULL ); /* Parameter isDelete is only used on vxworks. Express this explicitly ** here to prevent compiler warnings about unused parameters. */ UNUSED_PARAMETER(isDelete); - OSTRACE3("OPEN %-3d %s\n", h, zFilename); + OSTRACE(("OPEN %-3d %s\n", h, zFilename)); pNew->h = h; pNew->dirfd = dirfd; - SET_THREADID(pNew); pNew->fileFlags = 0; + assert( zFilename==0 || zFilename[0]=='/' ); /* Never a relative pathname */ + pNew->zPath = zFilename; #if OS_VXWORKS pNew->pId = vxworksFindFileId(zFilename); @@ -25753,10 +26731,10 @@ static int fillInUnixFile( #endif ){ unixEnterMutex(); - rc = findLockInfo(pNew, &pNew->pLock, &pNew->pOpen); + rc = findInodeInfo(pNew, &pNew->pInode); if( rc!=SQLITE_OK ){ - /* If an error occured in findLockInfo(), close the file descriptor - ** immediately, before releasing the mutex. findLockInfo() may fail + /* If an error occured in findInodeInfo(), close the file descriptor + ** immediately, before releasing the mutex. findInodeInfo() may fail ** in two scenarios: ** ** (a) A call to fstat() failed. @@ -25765,7 +26743,7 @@ static int fillInUnixFile( ** Scenario (b) may only occur if the process is holding no other ** file descriptors open on the same file. If there were other file ** descriptors on this file, then no malloc would be required by - ** findLockInfo(). If this is the case, it is quite safe to close + ** findInodeInfo(). If this is the case, it is quite safe to close ** handle h - as it is guaranteed that no posix locks will be released ** by doing so. ** @@ -25796,7 +26774,7 @@ static int fillInUnixFile( pCtx->reserved = 0; srandomdev(); unixEnterMutex(); - rc = findLockInfo(pNew, &pNew->pLock, &pNew->pOpen); + rc = findInodeInfo(pNew, &pNew->pInode); if( rc!=SQLITE_OK ){ sqlite3_free(pNew->lockingContext); close(h); @@ -25829,18 +26807,18 @@ static int fillInUnixFile( ** included in the semLockingContext */ unixEnterMutex(); - rc = findLockInfo(pNew, &pNew->pLock, &pNew->pOpen); - if( (rc==SQLITE_OK) && (pNew->pOpen->pSem==NULL) ){ - char *zSemName = pNew->pOpen->aSemName; + rc = findInodeInfo(pNew, &pNew->pInode); + if( (rc==SQLITE_OK) && (pNew->pInode->pSem==NULL) ){ + char *zSemName = pNew->pInode->aSemName; int n; sqlite3_snprintf(MAX_PATHNAME, zSemName, "/%s.sem", pNew->pId->zCanonicalName); for( n=1; zSemName[n]; n++ ) if( zSemName[n]=='/' ) zSemName[n] = '_'; - pNew->pOpen->pSem = sem_open(zSemName, O_CREAT, 0666, 1); - if( pNew->pOpen->pSem == SEM_FAILED ){ + pNew->pInode->pSem = sem_open(zSemName, O_CREAT, 0666, 1); + if( pNew->pInode->pSem == SEM_FAILED ){ rc = SQLITE_NOMEM; - pNew->pOpen->aSemName[0] = '\0'; + pNew->pInode->aSemName[0] = '\0'; } } unixLeaveMutex(); @@ -25891,7 +26869,7 @@ static int openDirectory(const char *zFilename, int *pFd){ #ifdef FD_CLOEXEC fcntl(fd, F_SETFD, fcntl(fd, F_GETFD, 0) | FD_CLOEXEC); #endif - OSTRACE3("OPENDIR %-3d %s\n", fd, zDirname); + OSTRACE(("OPENDIR %-3d %s\n", fd, zDirname)); } } *pFd = fd; @@ -25899,26 +26877,46 @@ static int openDirectory(const char *zFilename, int *pFd){ } /* -** Create a temporary file name in zBuf. zBuf must be allocated -** by the calling process and must be big enough to hold at least -** pVfs->mxPathname bytes. +** Return the name of a directory in which to put temporary files. +** If no suitable temporary file directory can be found, return NULL. */ -static int getTempname(int nBuf, char *zBuf){ +static const char *unixTempFileDir(void){ static const char *azDirs[] = { 0, 0, "/var/tmp", "/usr/tmp", "/tmp", - ".", + 0 /* List terminator */ }; + unsigned int i; + struct stat buf; + const char *zDir = 0; + + azDirs[0] = sqlite3_temp_directory; + if( !azDirs[1] ) azDirs[1] = getenv("TMPDIR"); + for(i=0; imxPathname bytes. +*/ +static int unixGetTempname(int nBuf, char *zBuf){ static const unsigned char zChars[] = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "0123456789"; unsigned int i, j; - struct stat buf; - const char *zDir = "."; + const char *zDir; /* It's odd to simulate an io-error here, but really this is just ** using the io-error infrastructure to test that SQLite handles this @@ -25926,19 +26924,8 @@ static int getTempname(int nBuf, char *zBuf){ */ SimulateIOError( return SQLITE_IOERR ); - azDirs[0] = sqlite3_temp_directory; - if (NULL == azDirs[1]) { - azDirs[1] = getenv("TMPDIR"); - } - - for(i=0; ifileId.dev!=sStat.st_dev - || pOpen->fileId.ino!=sStat.st_ino) ){ - pOpen = pOpen->pNext; + pInode = inodeList; + while( pInode && (pInode->fileId.dev!=sStat.st_dev + || pInode->fileId.ino!=sStat.st_ino) ){ + pInode = pInode->pNext; } - if( pOpen ){ + if( pInode ){ UnixUnusedFd **pp; - for(pp=&pOpen->pUnused; *pp && (*pp)->flags!=flags; pp=&((*pp)->pNext)); + for(pp=&pInode->pUnused; *pp && (*pp)->flags!=flags; pp=&((*pp)->pNext)); pUnused = *pp; if( pUnused ){ *pp = pUnused->pNext; @@ -26027,6 +27014,51 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ } /* +** This function is called by unixOpen() to determine the unix permissions +** to create new files with. If no error occurs, then SQLITE_OK is returned +** and a value suitable for passing as the third argument to open(2) is +** written to *pMode. If an IO error occurs, an SQLite error code is +** returned and the value of *pMode is not modified. +** +** If the file being opened is a temporary file, it is always created with +** the octal permissions 0600 (read/writable by owner only). If the file +** is a database or master journal file, it is created with the permissions +** mask SQLITE_DEFAULT_FILE_PERMISSIONS. +** +** Finally, if the file being opened is a WAL or regular journal file, then +** this function queries the file-system for the permissions on the +** corresponding database file and sets *pMode to this value. Whenever +** possible, WAL and journal files are created using the same permissions +** as the associated database file. +*/ +static int findCreateFileMode( + const char *zPath, /* Path of file (possibly) being created */ + int flags, /* Flags passed as 4th argument to xOpen() */ + mode_t *pMode /* OUT: Permissions to open file with */ +){ + int rc = SQLITE_OK; /* Return Code */ + if( flags & (SQLITE_OPEN_WAL|SQLITE_OPEN_MAIN_JOURNAL) ){ + char zDb[MAX_PATHNAME+1]; /* Database file path */ + int nDb; /* Number of valid bytes in zDb */ + struct stat sStat; /* Output of stat() on database file */ + + nDb = sqlite3Strlen30(zPath) - ((flags & SQLITE_OPEN_WAL) ? 4 : 8); + memcpy(zDb, zPath, nDb); + zDb[nDb] = '\0'; + if( 0==stat(zDb, &sStat) ){ + *pMode = sStat.st_mode & 0777; + }else{ + rc = SQLITE_IOERR_FSTAT; + } + }else if( flags & SQLITE_OPEN_DELETEONCLOSE ){ + *pMode = 0600; + }else{ + *pMode = SQLITE_DEFAULT_FILE_PERMISSIONS; + } + return rc; +} + +/* ** Open the file zPath. ** ** Previously, the SQLite OS layer used three functions in place of this @@ -26076,9 +27108,11 @@ static int unixOpen( ** a file-descriptor on the directory too. The first time unixSync() ** is called the directory file descriptor will be fsync()ed and close()d. */ - int isOpenDirectory = (isCreate && - (eType==SQLITE_OPEN_MASTER_JOURNAL || eType==SQLITE_OPEN_MAIN_JOURNAL) - ); + int isOpenDirectory = (isCreate && ( + eType==SQLITE_OPEN_MASTER_JOURNAL + || eType==SQLITE_OPEN_MAIN_JOURNAL + || eType==SQLITE_OPEN_WAL + )); /* If argument zPath is a NULL pointer, this function is required to open ** a temporary file. Use this buffer to store the file name in. @@ -26098,17 +27132,18 @@ static int unixOpen( assert(isExclusive==0 || isCreate); assert(isDelete==0 || isCreate); - /* The main DB, main journal, and master journal are never automatically - ** deleted. Nor are they ever temporary files. */ + /* The main DB, main journal, WAL file and master journal are never + ** automatically deleted. Nor are they ever temporary files. */ assert( (!isDelete && zName) || eType!=SQLITE_OPEN_MAIN_DB ); assert( (!isDelete && zName) || eType!=SQLITE_OPEN_MAIN_JOURNAL ); assert( (!isDelete && zName) || eType!=SQLITE_OPEN_MASTER_JOURNAL ); + assert( (!isDelete && zName) || eType!=SQLITE_OPEN_WAL ); /* Assert that the upper layer has set one of the "file-type" flags. */ assert( eType==SQLITE_OPEN_MAIN_DB || eType==SQLITE_OPEN_TEMP_DB || eType==SQLITE_OPEN_MAIN_JOURNAL || eType==SQLITE_OPEN_TEMP_JOURNAL || eType==SQLITE_OPEN_SUBJOURNAL || eType==SQLITE_OPEN_MASTER_JOURNAL - || eType==SQLITE_OPEN_TRANSIENT_DB + || eType==SQLITE_OPEN_TRANSIENT_DB || eType==SQLITE_OPEN_WAL ); memset(p, 0, sizeof(unixFile)); @@ -26128,7 +27163,7 @@ static int unixOpen( }else if( !zName ){ /* If zName is NULL, the upper layer is requesting a temp file. */ assert(isDelete && !isOpenDirectory); - rc = getTempname(MAX_PATHNAME+1, zTmpname); + rc = unixGetTempname(MAX_PATHNAME+1, zTmpname); if( rc!=SQLITE_OK ){ return rc; } @@ -26146,9 +27181,15 @@ static int unixOpen( openFlags |= (O_LARGEFILE|O_BINARY); if( fd<0 ){ - mode_t openMode = (isDelete?0600:SQLITE_DEFAULT_FILE_PERMISSIONS); + mode_t openMode; /* Permissions to create file with */ + rc = findCreateFileMode(zName, flags, &openMode); + if( rc!=SQLITE_OK ){ + assert( !p->pUnused ); + assert( eType==SQLITE_OPEN_WAL || eType==SQLITE_OPEN_MAIN_JOURNAL ); + return rc; + } fd = open(zName, openFlags, openMode); - OSTRACE4("OPENX %-3d %s 0%o\n", fd, zName, openFlags); + OSTRACE(("OPENX %-3d %s 0%o\n", fd, zName, openFlags)); if( fd<0 && errno!=EISDIR && isReadWrite && !isExclusive ){ /* Failed to open the file for read/write access. Try read-only. */ flags &= ~(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE); @@ -26289,7 +27330,9 @@ static int unixDelete( int rc = SQLITE_OK; UNUSED_PARAMETER(NotUsed); SimulateIOError(return SQLITE_IOERR_DELETE); - unlink(zPath); + if( unlink(zPath)==(-1) && errno!=ENOENT ){ + return SQLITE_IOERR_DELETE; + } #ifndef SQLITE_DISABLE_DIRSYNC if( dirSync ){ int fd; @@ -26346,6 +27389,12 @@ static int unixAccess( assert(!"Invalid flags argument"); } *pResOut = (access(zPath, amode)==0); + if( flags==SQLITE_ACCESS_EXISTS && *pResOut ){ + struct stat buf; + if( 0==stat(zPath, &buf) && buf.st_size==0 ){ + *pResOut = 0; + } + } return SQLITE_OK; } @@ -26534,32 +27583,33 @@ SQLITE_API int sqlite3_current_time = 0; /* Fake system time in seconds since 1 #endif /* -** Find the current time (in Universal Coordinated Time). Write the -** current time and date as a Julian Day number into *prNow and -** return 0. Return 1 if the time and date cannot be found. +** Find the current time (in Universal Coordinated Time). Write into *piNow +** the current time and date as a Julian Day number times 86_400_000. In +** other words, write into *piNow the number of milliseconds since the Julian +** epoch of noon in Greenwich on November 24, 4714 B.C according to the +** proleptic Gregorian calendar. +** +** On success, return 0. Return 1 if the time and date cannot be found. */ -static int unixCurrentTime(sqlite3_vfs *NotUsed, double *prNow){ -#if defined(SQLITE_OMIT_FLOATING_POINT) +static int unixCurrentTimeInt64(sqlite3_vfs *NotUsed, sqlite3_int64 *piNow){ + static const sqlite3_int64 unixEpoch = 24405875*(sqlite3_int64)8640000; +#if defined(NO_GETTOD) time_t t; time(&t); - *prNow = (((sqlite3_int64)t)/8640 + 24405875)/10; -#elif defined(NO_GETTOD) - time_t t; - time(&t); - *prNow = t/86400.0 + 2440587.5; + *piNow = ((sqlite3_int64)i)*1000 + unixEpoch; #elif OS_VXWORKS struct timespec sNow; clock_gettime(CLOCK_REALTIME, &sNow); - *prNow = 2440587.5 + sNow.tv_sec/86400.0 + sNow.tv_nsec/86400000000000.0; + *piNow = unixEpoch + 1000*(sqlite3_int64)sNow.tv_sec + sNow.tv_nsec/1000000; #else struct timeval sNow; gettimeofday(&sNow, 0); - *prNow = 2440587.5 + sNow.tv_sec/86400.0 + sNow.tv_usec/86400000000.0; + *piNow = unixEpoch + 1000*(sqlite3_int64)sNow.tv_sec + sNow.tv_usec/1000; #endif #ifdef SQLITE_TEST if( sqlite3_current_time ){ - *prNow = sqlite3_current_time/86400.0 + 2440587.5; + *piNow = 1000*(sqlite3_int64)sqlite3_current_time + unixEpoch; } #endif UNUSED_PARAMETER(NotUsed); @@ -26567,6 +27617,19 @@ static int unixCurrentTime(sqlite3_vfs *NotUsed, double *prNow){ } /* +** Find the current time (in Universal Coordinated Time). Write the +** current time and date as a Julian Day number into *prNow and +** return 0. Return 1 if the time and date cannot be found. +*/ +static int unixCurrentTime(sqlite3_vfs *NotUsed, double *prNow){ + sqlite3_int64 i; + UNUSED_PARAMETER(NotUsed); + unixCurrentTimeInt64(0, &i); + *prNow = i/86400000.0; + return 0; +} + +/* ** We added the xGetLastError() method with the intention of providing ** better low-level error messages when operating-system problems come up ** during SQLite operation. But so far, none of that has been implemented @@ -26580,6 +27643,7 @@ static int unixGetLastError(sqlite3_vfs *NotUsed, int NotUsed2, char *NotUsed3){ return 0; } + /* ************************ End of sqlite3_vfs methods *************************** ******************************************************************************/ @@ -26770,8 +27834,8 @@ static int proxyGetLockPath(const char *dbPath, char *lPath, size_t maxLen){ # ifdef _CS_DARWIN_USER_TEMP_DIR { if( !confstr(_CS_DARWIN_USER_TEMP_DIR, lPath, maxLen) ){ - OSTRACE4("GETLOCKPATH failed %s errno=%d pid=%d\n", - lPath, errno, getpid()); + OSTRACE(("GETLOCKPATH failed %s errno=%d pid=%d\n", + lPath, errno, getpid())); return SQLITE_IOERR_LOCK; } len = strlcat(lPath, "sqliteplocks", maxLen); @@ -26787,13 +27851,13 @@ static int proxyGetLockPath(const char *dbPath, char *lPath, size_t maxLen){ /* transform the db path to a unique cache name */ dbLen = (int)strlen(dbPath); - for( i=0; ih, - (pCtx->lockProxyPath ? pCtx->lockProxyPath : ":auto:"), getpid()); + OSTRACE(("TAKECONCH %d for %s pid=%d\n", conchFile->h, + (pCtx->lockProxyPath ? pCtx->lockProxyPath : ":auto:"), getpid())); rc = proxyGetHostID(myHostID, &pError); if( (rc&0xff)==SQLITE_IOERR ){ @@ -27202,7 +28270,7 @@ static int proxyTakeConch(unixFile *pFile){ */ futimes(conchFile->h, NULL); if( hostIdMatch && !createConch ){ - if( conchFile->pLock && conchFile->pLock->cnt>1 ){ + if( conchFile->pInode && conchFile->pInode->nShared>1 ){ /* We are trying for an exclusive lock but another thread in this ** same process is still holding a shared lock. */ rc = SQLITE_BUSY; @@ -27258,7 +28326,7 @@ static int proxyTakeConch(unixFile *pFile){ conchFile->pMethod->xUnlock((sqlite3_file*)conchFile, SHARED_LOCK); end_takeconch: - OSTRACE2("TRANSPROXY: CLOSE %d\n", pFile->h); + OSTRACE(("TRANSPROXY: CLOSE %d\n", pFile->h)); if( rc==SQLITE_OK && pFile->openFlags ){ if( pFile->h>=0 ){ #ifdef STRICT_CLOSE_ERROR @@ -27273,7 +28341,7 @@ static int proxyTakeConch(unixFile *pFile){ pFile->h = -1; int fd = open(pCtx->dbPath, pFile->openFlags, SQLITE_DEFAULT_FILE_PERMISSIONS); - OSTRACE2("TRANSPROXY: OPEN %d\n", fd); + OSTRACE(("TRANSPROXY: OPEN %d\n", fd)); if( fd>=0 ){ pFile->h = fd; }else{ @@ -27315,9 +28383,11 @@ static int proxyTakeConch(unixFile *pFile){ } else { conchFile->pMethod->xUnlock((sqlite3_file*)conchFile, NO_LOCK); } - OSTRACE3("TAKECONCH %d %s\n", conchFile->h, rc==SQLITE_OK?"ok":"failed"); + OSTRACE(("TAKECONCH %d %s\n", conchFile->h, + rc==SQLITE_OK?"ok":"failed")); return rc; - } while (1); /* in case we need to retry the :auto: lock file - we should never get here except via the 'continue' call. */ + } while (1); /* in case we need to retry the :auto: lock file - + ** we should never get here except via the 'continue' call. */ } } @@ -27325,21 +28395,21 @@ static int proxyTakeConch(unixFile *pFile){ ** If pFile holds a lock on a conch file, then release that lock. */ static int proxyReleaseConch(unixFile *pFile){ - int rc; /* Subroutine return code */ + int rc = SQLITE_OK; /* Subroutine return code */ proxyLockingContext *pCtx; /* The locking context for the proxy lock */ unixFile *conchFile; /* Name of the conch file */ pCtx = (proxyLockingContext *)pFile->lockingContext; conchFile = pCtx->conchFile; - OSTRACE4("RELEASECONCH %d for %s pid=%d\n", conchFile->h, + OSTRACE(("RELEASECONCH %d for %s pid=%d\n", conchFile->h, (pCtx->lockProxyPath ? pCtx->lockProxyPath : ":auto:"), - getpid()); + getpid())); if( pCtx->conchHeld>0 ){ rc = conchFile->pMethod->xUnlock((sqlite3_file*)conchFile, NO_LOCK); } pCtx->conchHeld = 0; - OSTRACE3("RELEASECONCH %d %s\n", conchFile->h, - (rc==SQLITE_OK ? "ok" : "failed")); + OSTRACE(("RELEASECONCH %d %s\n", conchFile->h, + (rc==SQLITE_OK ? "ok" : "failed"))); return rc; } @@ -27396,7 +28466,7 @@ static int switchLockProxyPath(unixFile *pFile, const char *path) { char *oldPath = pCtx->lockProxyPath; int rc = SQLITE_OK; - if( pFile->locktype!=NO_LOCK ){ + if( pFile->eFileLock!=NO_LOCK ){ return SQLITE_BUSY; } @@ -27463,7 +28533,7 @@ static int proxyTransformUnixFile(unixFile *pFile, const char *path) { char *lockPath=NULL; int rc = SQLITE_OK; - if( pFile->locktype!=NO_LOCK ){ + if( pFile->eFileLock!=NO_LOCK ){ return SQLITE_BUSY; } proxyGetDbPathForUnixFile(pFile, dbPath); @@ -27473,8 +28543,8 @@ static int proxyTransformUnixFile(unixFile *pFile, const char *path) { lockPath=(char *)path; } - OSTRACE4("TRANSPROXY %d for %s pid=%d\n", pFile->h, - (lockPath ? lockPath : ":auto:"), getpid()); + OSTRACE(("TRANSPROXY %d for %s pid=%d\n", pFile->h, + (lockPath ? lockPath : ":auto:"), getpid())); pCtx = sqlite3_malloc( sizeof(*pCtx) ); if( pCtx==0 ){ @@ -27530,12 +28600,12 @@ static int proxyTransformUnixFile(unixFile *pFile, const char *path) { pCtx->conchFile->pMethod->xClose((sqlite3_file *)pCtx->conchFile); sqlite3_free(pCtx->conchFile); } - sqlite3_free(pCtx->lockProxyPath); + sqlite3DbFree(0, pCtx->lockProxyPath); sqlite3_free(pCtx->conchFilePath); sqlite3_free(pCtx); } - OSTRACE3("TRANSPROXY %d %s\n", pFile->h, - (rc==SQLITE_OK ? "ok" : "failed")); + OSTRACE(("TRANSPROXY %d %s\n", pFile->h, + (rc==SQLITE_OK ? "ok" : "failed"))); return rc; } @@ -27630,7 +28700,7 @@ static int proxyCheckReservedLock(sqlite3_file *id, int *pResOut) { } /* -** Lock the file with the lock specified by parameter locktype - one +** Lock the file with the lock specified by parameter eFileLock - one ** of the following: ** ** (1) SHARED_LOCK @@ -27653,15 +28723,15 @@ static int proxyCheckReservedLock(sqlite3_file *id, int *pResOut) { ** This routine will only increase a lock. Use the sqlite3OsUnlock() ** routine to lower a locking level. */ -static int proxyLock(sqlite3_file *id, int locktype) { +static int proxyLock(sqlite3_file *id, int eFileLock) { unixFile *pFile = (unixFile*)id; int rc = proxyTakeConch(pFile); if( rc==SQLITE_OK ){ proxyLockingContext *pCtx = (proxyLockingContext *)pFile->lockingContext; if( pCtx->conchHeld>0 ){ unixFile *proxy = pCtx->lockProxy; - rc = proxy->pMethod->xLock((sqlite3_file*)proxy, locktype); - pFile->locktype = proxy->locktype; + rc = proxy->pMethod->xLock((sqlite3_file*)proxy, eFileLock); + pFile->eFileLock = proxy->eFileLock; }else{ /* conchHeld < 0 is lockless */ } @@ -27671,21 +28741,21 @@ static int proxyLock(sqlite3_file *id, int locktype) { /* -** Lower the locking level on file descriptor pFile to locktype. locktype +** Lower the locking level on file descriptor pFile to eFileLock. eFileLock ** must be either NO_LOCK or SHARED_LOCK. ** ** If the locking level of the file descriptor is already at or below ** the requested locking level, this routine is a no-op. */ -static int proxyUnlock(sqlite3_file *id, int locktype) { +static int proxyUnlock(sqlite3_file *id, int eFileLock) { unixFile *pFile = (unixFile*)id; int rc = proxyTakeConch(pFile); if( rc==SQLITE_OK ){ proxyLockingContext *pCtx = (proxyLockingContext *)pFile->lockingContext; if( pCtx->conchHeld>0 ){ unixFile *proxy = pCtx->lockProxy; - rc = proxy->pMethod->xUnlock((sqlite3_file*)proxy, locktype); - pFile->locktype = proxy->locktype; + rc = proxy->pMethod->xUnlock((sqlite3_file*)proxy, eFileLock); + pFile->eFileLock = proxy->eFileLock; }else{ /* conchHeld < 0 is lockless */ } @@ -27721,9 +28791,9 @@ static int proxyClose(sqlite3_file *id) { if( rc ) return rc; sqlite3_free(conchFile); } - sqlite3_free(pCtx->lockProxyPath); + sqlite3DbFree(0, pCtx->lockProxyPath); sqlite3_free(pCtx->conchFilePath); - sqlite3_free(pCtx->dbPath); + sqlite3DbFree(0, pCtx->dbPath); /* restore the original locking context and pMethod then close it */ pFile->lockingContext = pCtx->oldLockingContext; pFile->pMethod = pCtx->pOldMethod; @@ -27780,7 +28850,7 @@ SQLITE_API int sqlite3_os_init(void){ ** that filesystem time. */ #define UNIXVFS(VFSNAME, FINDER) { \ - 1, /* iVersion */ \ + 2, /* iVersion */ \ sizeof(unixFile), /* szOsFile */ \ MAX_PATHNAME, /* mxPathname */ \ 0, /* pNext */ \ @@ -27797,7 +28867,8 @@ SQLITE_API int sqlite3_os_init(void){ unixRandomness, /* xRandomness */ \ unixSleep, /* xSleep */ \ unixCurrentTime, /* xCurrentTime */ \ - unixGetLastError /* xGetLastError */ \ + unixGetLastError, /* xGetLastError */ \ + unixCurrentTimeInt64, /* xCurrentTimeInt64 */ \ } /* @@ -27948,23 +29019,9 @@ SQLITE_API int sqlite3_os_end(void){ #ifdef SQLITE_DEBUG SQLITE_PRIVATE int sqlite3OSTrace = 0; -#define OSTRACE1(X) if( sqlite3OSTrace ) sqlite3DebugPrintf(X) -#define OSTRACE2(X,Y) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y) -#define OSTRACE3(X,Y,Z) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z) -#define OSTRACE4(X,Y,Z,A) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z,A) -#define OSTRACE5(X,Y,Z,A,B) if( sqlite3OSTrace ) sqlite3DebugPrintf(X,Y,Z,A,B) -#define OSTRACE6(X,Y,Z,A,B,C) \ - if(sqlite3OSTrace) sqlite3DebugPrintf(X,Y,Z,A,B,C) -#define OSTRACE7(X,Y,Z,A,B,C,D) \ - if(sqlite3OSTrace) sqlite3DebugPrintf(X,Y,Z,A,B,C,D) +#define OSTRACE(X) if( sqlite3OSTrace ) sqlite3DebugPrintf X #else -#define OSTRACE1(X) -#define OSTRACE2(X,Y) -#define OSTRACE3(X,Y,Z) -#define OSTRACE4(X,Y,Z,A) -#define OSTRACE5(X,Y,Z,A,B) -#define OSTRACE6(X,Y,Z,A,B,C) -#define OSTRACE7(X,Y,Z,A,B,C,D) +#define OSTRACE(X) #endif /* @@ -28150,6 +29207,10 @@ SQLITE_API int sqlite3_open_file_count = 0; # define FormatMessageW(a,b,c,d,e,f,g) 0 #endif +/* Forward references */ +typedef struct winShm winShm; /* A connection to shared-memory */ +typedef struct winShmNode winShmNode; /* A region of shared-memory */ + /* ** WinCE lacks native support for file locking so we have to fake it ** with some code of our own. @@ -28169,12 +29230,16 @@ typedef struct winceLock { */ typedef struct winFile winFile; struct winFile { - const sqlite3_io_methods *pMethod;/* Must be first */ + const sqlite3_io_methods *pMethod; /*** Must be first ***/ + sqlite3_vfs *pVfs; /* The VFS used to open this file */ HANDLE h; /* Handle for accessing the file */ unsigned char locktype; /* Type of lock currently held on this file */ short sharedLockByte; /* Randomly chosen byte used as a shared lock */ DWORD lastErrno; /* The Windows errno from the last I/O error */ DWORD sectorSize; /* Sector size of the device file is on */ + winShm *pShm; /* Instance of shared memory on this file */ + const char *zPath; /* Full pathname of this file */ + int szChunk; /* Chunk size configured by FCNTL_CHUNK_SIZE */ #if SQLITE_OS_WINCE WCHAR *zDeleteOnClose; /* Name of file to delete when closing */ HANDLE hMutex; /* Mutex used to control access to shared lock */ @@ -28687,6 +29752,42 @@ static BOOL winceLockFileEx( ******************************************************************************/ /* +** Some microsoft compilers lack this definition. +*/ +#ifndef INVALID_SET_FILE_POINTER +# define INVALID_SET_FILE_POINTER ((DWORD)-1) +#endif + +/* +** Move the current position of the file handle passed as the first +** argument to offset iOffset within the file. If successful, return 0. +** Otherwise, set pFile->lastErrno and return non-zero. +*/ +static int seekWinFile(winFile *pFile, sqlite3_int64 iOffset){ + LONG upperBits; /* Most sig. 32 bits of new offset */ + LONG lowerBits; /* Least sig. 32 bits of new offset */ + DWORD dwRet; /* Value returned by SetFilePointer() */ + + upperBits = (LONG)((iOffset>>32) & 0x7fffffff); + lowerBits = (LONG)(iOffset & 0xffffffff); + + /* API oddity: If successful, SetFilePointer() returns a dword + ** containing the lower 32-bits of the new file-offset. Or, if it fails, + ** it returns INVALID_SET_FILE_POINTER. However according to MSDN, + ** INVALID_SET_FILE_POINTER may also be a valid new offset. So to determine + ** whether an error has actually occured, it is also necessary to call + ** GetLastError(). + */ + dwRet = SetFilePointer(pFile->h, lowerBits, &upperBits, FILE_BEGIN); + if( (dwRet==INVALID_SET_FILE_POINTER && GetLastError()!=NO_ERROR) ){ + pFile->lastErrno = GetLastError(); + return 1; + } + + return 0; +} + +/* ** Close a file. ** ** It is reported that an attempt to close a handle might sometimes @@ -28702,9 +29803,11 @@ static int winClose(sqlite3_file *id){ winFile *pFile = (winFile*)id; assert( id!=0 ); - OSTRACE2("CLOSE %d\n", pFile->h); + assert( pFile->pShm==0 ); + OSTRACE(("CLOSE %d\n", pFile->h)); do{ rc = CloseHandle(pFile->h); + /* SimulateIOError( rc=0; cnt=MX_CLOSE_ATTEMPT; ); */ }while( rc==0 && ++cnt < MX_CLOSE_ATTEMPT && (Sleep(100), 1) ); #if SQLITE_OS_WINCE #define WINCE_DELETION_ATTEMPTS 3 @@ -28721,18 +29824,12 @@ static int winClose(sqlite3_file *id){ free(pFile->zDeleteOnClose); } #endif + OSTRACE(("CLOSE %d %s\n", pFile->h, rc ? "ok" : "failed")); OpenCounter(-1); return rc ? SQLITE_OK : SQLITE_IOERR; } /* -** Some microsoft compilers lack this definition. -*/ -#ifndef INVALID_SET_FILE_POINTER -# define INVALID_SET_FILE_POINTER ((DWORD)-1) -#endif - -/* ** Read data from a file into a buffer. Return SQLITE_OK if all ** bytes were read successfully and SQLITE_IOERR if anything goes ** wrong. @@ -28743,32 +29840,27 @@ static int winRead( int amt, /* Number of bytes to read */ sqlite3_int64 offset /* Begin reading at this offset */ ){ - LONG upperBits = (LONG)((offset>>32) & 0x7fffffff); - LONG lowerBits = (LONG)(offset & 0xffffffff); - DWORD rc; - winFile *pFile = (winFile*)id; - DWORD error; - DWORD got; + winFile *pFile = (winFile*)id; /* file handle */ + DWORD nRead; /* Number of bytes actually read from file */ assert( id!=0 ); SimulateIOError(return SQLITE_IOERR_READ); - OSTRACE3("READ %d lock=%d\n", pFile->h, pFile->locktype); - rc = SetFilePointer(pFile->h, lowerBits, &upperBits, FILE_BEGIN); - if( rc==INVALID_SET_FILE_POINTER && (error=GetLastError())!=NO_ERROR ){ - pFile->lastErrno = error; + OSTRACE(("READ %d lock=%d\n", pFile->h, pFile->locktype)); + + if( seekWinFile(pFile, offset) ){ return SQLITE_FULL; } - if( !ReadFile(pFile->h, pBuf, amt, &got, 0) ){ + if( !ReadFile(pFile->h, pBuf, amt, &nRead, 0) ){ pFile->lastErrno = GetLastError(); return SQLITE_IOERR_READ; } - if( got==(DWORD)amt ){ - return SQLITE_OK; - }else{ + if( nRead<(DWORD)amt ){ /* Unread parts of the buffer must be zero-filled */ - memset(&((char*)pBuf)[got], 0, amt-got); + memset(&((char*)pBuf)[nRead], 0, amt-nRead); return SQLITE_IOERR_SHORT_READ; } + + return SQLITE_OK; } /* @@ -28776,39 +29868,42 @@ static int winRead( ** or some other error code on failure. */ static int winWrite( - sqlite3_file *id, /* File to write into */ - const void *pBuf, /* The bytes to be written */ - int amt, /* Number of bytes to write */ - sqlite3_int64 offset /* Offset into the file to begin writing at */ + sqlite3_file *id, /* File to write into */ + const void *pBuf, /* The bytes to be written */ + int amt, /* Number of bytes to write */ + sqlite3_int64 offset /* Offset into the file to begin writing at */ ){ - LONG upperBits = (LONG)((offset>>32) & 0x7fffffff); - LONG lowerBits = (LONG)(offset & 0xffffffff); - DWORD rc; - winFile *pFile = (winFile*)id; - DWORD error; - DWORD wrote = 0; + int rc; /* True if error has occured, else false */ + winFile *pFile = (winFile*)id; /* File handle */ - assert( id!=0 ); + assert( amt>0 ); + assert( pFile ); SimulateIOError(return SQLITE_IOERR_WRITE); SimulateDiskfullError(return SQLITE_FULL); - OSTRACE3("WRITE %d lock=%d\n", pFile->h, pFile->locktype); - rc = SetFilePointer(pFile->h, lowerBits, &upperBits, FILE_BEGIN); - if( rc==INVALID_SET_FILE_POINTER && (error=GetLastError())!=NO_ERROR ){ - pFile->lastErrno = error; - return SQLITE_FULL; - } - assert( amt>0 ); - while( - amt>0 - && (rc = WriteFile(pFile->h, pBuf, amt, &wrote, 0))!=0 - && wrote>0 - ){ - amt -= wrote; - pBuf = &((char*)pBuf)[wrote]; + + OSTRACE(("WRITE %d lock=%d\n", pFile->h, pFile->locktype)); + + rc = seekWinFile(pFile, offset); + if( rc==0 ){ + u8 *aRem = (u8 *)pBuf; /* Data yet to be written */ + int nRem = amt; /* Number of bytes yet to be written */ + DWORD nWrite; /* Bytes written by each WriteFile() call */ + + while( nRem>0 && WriteFile(pFile->h, aRem, nRem, &nWrite, 0) && nWrite>0 ){ + aRem += nWrite; + nRem -= nWrite; + } + if( nRem>0 ){ + pFile->lastErrno = GetLastError(); + rc = 1; + } } - if( !rc || amt>(int)wrote ){ - pFile->lastErrno = GetLastError(); - return SQLITE_FULL; + + if( rc ){ + if( pFile->lastErrno==ERROR_HANDLE_DISK_FULL ){ + return SQLITE_FULL; + } + return SQLITE_IOERR_WRITE; } return SQLITE_OK; } @@ -28817,26 +29912,33 @@ static int winWrite( ** Truncate an open file to a specified size */ static int winTruncate(sqlite3_file *id, sqlite3_int64 nByte){ - LONG upperBits = (LONG)((nByte>>32) & 0x7fffffff); - LONG lowerBits = (LONG)(nByte & 0xffffffff); - DWORD rc; - winFile *pFile = (winFile*)id; - DWORD error; + winFile *pFile = (winFile*)id; /* File handle object */ + int rc = SQLITE_OK; /* Return code for this function */ - assert( id!=0 ); - OSTRACE3("TRUNCATE %d %lld\n", pFile->h, nByte); + assert( pFile ); + + OSTRACE(("TRUNCATE %d %lld\n", pFile->h, nByte)); SimulateIOError(return SQLITE_IOERR_TRUNCATE); - rc = SetFilePointer(pFile->h, lowerBits, &upperBits, FILE_BEGIN); - if( rc==INVALID_SET_FILE_POINTER && (error=GetLastError())!=NO_ERROR ){ - pFile->lastErrno = error; - return SQLITE_IOERR_TRUNCATE; + + /* If the user has configured a chunk-size for this file, truncate the + ** file so that it consists of an integer number of chunks (i.e. the + ** actual file size after the operation may be larger than the requested + ** size). + */ + if( pFile->szChunk ){ + nByte = ((nByte + pFile->szChunk - 1)/pFile->szChunk) * pFile->szChunk; } - /* SetEndOfFile will fail if nByte is negative */ - if( !SetEndOfFile(pFile->h) ){ + + /* SetEndOfFile() returns non-zero when successful, or zero when it fails. */ + if( seekWinFile(pFile, nByte) ){ + rc = SQLITE_IOERR_TRUNCATE; + }else if( 0==SetEndOfFile(pFile->h) ){ pFile->lastErrno = GetLastError(); - return SQLITE_IOERR_TRUNCATE; + rc = SQLITE_IOERR_TRUNCATE; } - return SQLITE_OK; + + OSTRACE(("TRUNCATE %d %lld %s\n", pFile->h, nByte, rc ? "failed" : "ok")); + return rc; } #ifdef SQLITE_TEST @@ -28852,14 +29954,20 @@ SQLITE_API int sqlite3_fullsync_count = 0; ** Make sure all writes to a particular file are committed to disk. */ static int winSync(sqlite3_file *id, int flags){ -#ifndef SQLITE_NO_SYNC +#if !defined(NDEBUG) || !defined(SQLITE_NO_SYNC) || defined(SQLITE_DEBUG) winFile *pFile = (winFile*)id; - - assert( id!=0 ); - OSTRACE3("SYNC %d lock=%d\n", pFile->h, pFile->locktype); #else UNUSED_PARAMETER(id); #endif + + assert( pFile ); + /* Check that one of SQLITE_SYNC_NORMAL or FULL was passed */ + assert((flags&0x0F)==SQLITE_SYNC_NORMAL + || (flags&0x0F)==SQLITE_SYNC_FULL + ); + + OSTRACE(("SYNC %d lock=%d\n", pFile->h, pFile->locktype)); + #ifndef SQLITE_TEST UNUSED_PARAMETER(flags); #else @@ -28868,11 +29976,18 @@ static int winSync(sqlite3_file *id, int flags){ } sqlite3_sync_count++; #endif + + /* Unix cannot, but some systems may return SQLITE_FULL from here. This + ** line is to test that doing so does not cause any problems. + */ + SimulateDiskfullError( return SQLITE_FULL ); + SimulateIOError( return SQLITE_IOERR; ); + /* If we compiled with the SQLITE_NO_SYNC flag, then syncing is a ** no-op */ #ifdef SQLITE_NO_SYNC - return SQLITE_OK; + return SQLITE_OK; #else if( FlushFileBuffers(pFile->h) ){ return SQLITE_OK; @@ -28997,8 +30112,8 @@ static int winLock(sqlite3_file *id, int locktype){ DWORD error = NO_ERROR; assert( id!=0 ); - OSTRACE5("LOCK %d %d was %d(%d)\n", - pFile->h, locktype, pFile->locktype, pFile->sharedLockByte); + OSTRACE(("LOCK %d %d was %d(%d)\n", + pFile->h, locktype, pFile->locktype, pFile->sharedLockByte)); /* If there is already a lock of this type or more restrictive on the ** OsFile, do nothing. Don't use the end_lock: exit path, as @@ -29028,7 +30143,7 @@ static int winLock(sqlite3_file *id, int locktype){ /* Try 3 times to get the pending lock. The pending lock might be ** held by another reader process who will release it momentarily. */ - OSTRACE2("could not get a PENDING lock. cnt=%d\n", cnt); + OSTRACE(("could not get a PENDING lock. cnt=%d\n", cnt)); Sleep(1); } gotPendingLock = res; @@ -29073,13 +30188,13 @@ static int winLock(sqlite3_file *id, int locktype){ if( locktype==EXCLUSIVE_LOCK && res ){ assert( pFile->locktype>=SHARED_LOCK ); res = unlockReadLock(pFile); - OSTRACE2("unreadlock = %d\n", res); + OSTRACE(("unreadlock = %d\n", res)); res = LockFile(pFile->h, SHARED_FIRST, 0, SHARED_SIZE, 0); if( res ){ newLocktype = EXCLUSIVE_LOCK; }else{ error = GetLastError(); - OSTRACE2("error-code = %d\n", error); + OSTRACE(("error-code = %d\n", error)); getReadLock(pFile); } } @@ -29097,8 +30212,8 @@ static int winLock(sqlite3_file *id, int locktype){ if( res ){ rc = SQLITE_OK; }else{ - OSTRACE4("LOCK FAILED %d trying for %d but got %d\n", pFile->h, - locktype, newLocktype); + OSTRACE(("LOCK FAILED %d trying for %d but got %d\n", pFile->h, + locktype, newLocktype)); pFile->lastErrno = error; rc = SQLITE_BUSY; } @@ -29115,17 +30230,19 @@ static int winCheckReservedLock(sqlite3_file *id, int *pResOut){ int rc; winFile *pFile = (winFile*)id; + SimulateIOError( return SQLITE_IOERR_CHECKRESERVEDLOCK; ); + assert( id!=0 ); if( pFile->locktype>=RESERVED_LOCK ){ rc = 1; - OSTRACE3("TEST WR-LOCK %d %d (local)\n", pFile->h, rc); + OSTRACE(("TEST WR-LOCK %d %d (local)\n", pFile->h, rc)); }else{ rc = LockFile(pFile->h, RESERVED_BYTE, 0, 1, 0); if( rc ){ UnlockFile(pFile->h, RESERVED_BYTE, 0, 1, 0); } rc = !rc; - OSTRACE3("TEST WR-LOCK %d %d (remote)\n", pFile->h, rc); + OSTRACE(("TEST WR-LOCK %d %d (remote)\n", pFile->h, rc)); } *pResOut = rc; return SQLITE_OK; @@ -29148,8 +30265,8 @@ static int winUnlock(sqlite3_file *id, int locktype){ int rc = SQLITE_OK; assert( pFile!=0 ); assert( locktype<=SHARED_LOCK ); - OSTRACE5("UNLOCK %d to %d was %d(%d)\n", pFile->h, locktype, - pFile->locktype, pFile->sharedLockByte); + OSTRACE(("UNLOCK %d to %d was %d(%d)\n", pFile->h, locktype, + pFile->locktype, pFile->sharedLockByte)); type = pFile->locktype; if( type>=EXCLUSIVE_LOCK ){ UnlockFile(pFile->h, SHARED_FIRST, 0, SHARED_SIZE, 0); @@ -29185,6 +30302,17 @@ static int winFileControl(sqlite3_file *id, int op, void *pArg){ *(int*)pArg = (int)((winFile*)id)->lastErrno; return SQLITE_OK; } + case SQLITE_FCNTL_CHUNK_SIZE: { + ((winFile*)id)->szChunk = *(int *)pArg; + return SQLITE_OK; + } + case SQLITE_FCNTL_SIZE_HINT: { + sqlite3_int64 sz = *(sqlite3_int64*)pArg; + SimulateIOErrorBenign(1); + winTruncate(id, sz); + SimulateIOErrorBenign(0); + return SQLITE_OK; + } } return SQLITE_ERROR; } @@ -29209,34 +30337,647 @@ static int winSectorSize(sqlite3_file *id){ */ static int winDeviceCharacteristics(sqlite3_file *id){ UNUSED_PARAMETER(id); - return 0; + return SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN; +} + +#ifndef SQLITE_OMIT_WAL + +/* +** Helper functions to obtain and relinquish the global mutex. The +** global mutex is used to protect the winLockInfo objects used by +** this file, all of which may be shared by multiple threads. +** +** Function winShmMutexHeld() is used to assert() that the global mutex +** is held when required. This function is only used as part of assert() +** statements. e.g. +** +** winShmEnterMutex() +** assert( winShmMutexHeld() ); +** winShmLeaveMutex() +*/ +static void winShmEnterMutex(void){ + sqlite3_mutex_enter(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER)); +} +static void winShmLeaveMutex(void){ + sqlite3_mutex_leave(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER)); +} +#ifdef SQLITE_DEBUG +static int winShmMutexHeld(void) { + return sqlite3_mutex_held(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER)); +} +#endif + +/* +** Object used to represent a single file opened and mmapped to provide +** shared memory. When multiple threads all reference the same +** log-summary, each thread has its own winFile object, but they all +** point to a single instance of this object. In other words, each +** log-summary is opened only once per process. +** +** winShmMutexHeld() must be true when creating or destroying +** this object or while reading or writing the following fields: +** +** nRef +** pNext +** +** The following fields are read-only after the object is created: +** +** fid +** zFilename +** +** Either winShmNode.mutex must be held or winShmNode.nRef==0 and +** winShmMutexHeld() is true when reading or writing any other field +** in this structure. +** +*/ +struct winShmNode { + sqlite3_mutex *mutex; /* Mutex to access this object */ + char *zFilename; /* Name of the file */ + winFile hFile; /* File handle from winOpen */ + + int szRegion; /* Size of shared-memory regions */ + int nRegion; /* Size of array apRegion */ + struct ShmRegion { + HANDLE hMap; /* File handle from CreateFileMapping */ + void *pMap; + } *aRegion; + DWORD lastErrno; /* The Windows errno from the last I/O error */ + + int nRef; /* Number of winShm objects pointing to this */ + winShm *pFirst; /* All winShm objects pointing to this */ + winShmNode *pNext; /* Next in list of all winShmNode objects */ +#ifdef SQLITE_DEBUG + u8 nextShmId; /* Next available winShm.id value */ +#endif +}; + +/* +** A global array of all winShmNode objects. +** +** The winShmMutexHeld() must be true while reading or writing this list. +*/ +static winShmNode *winShmNodeList = 0; + +/* +** Structure used internally by this VFS to record the state of an +** open shared memory connection. +** +** The following fields are initialized when this object is created and +** are read-only thereafter: +** +** winShm.pShmNode +** winShm.id +** +** All other fields are read/write. The winShm.pShmNode->mutex must be held +** while accessing any read/write fields. +*/ +struct winShm { + winShmNode *pShmNode; /* The underlying winShmNode object */ + winShm *pNext; /* Next winShm with the same winShmNode */ + u8 hasMutex; /* True if holding the winShmNode mutex */ + u16 sharedMask; /* Mask of shared locks held */ + u16 exclMask; /* Mask of exclusive locks held */ +#ifdef SQLITE_DEBUG + u8 id; /* Id of this connection with its winShmNode */ +#endif +}; + +/* +** Constants used for locking +*/ +#define WIN_SHM_BASE ((22+SQLITE_SHM_NLOCK)*4) /* first lock byte */ +#define WIN_SHM_DMS (WIN_SHM_BASE+SQLITE_SHM_NLOCK) /* deadman switch */ + +/* +** Apply advisory locks for all n bytes beginning at ofst. +*/ +#define _SHM_UNLCK 1 +#define _SHM_RDLCK 2 +#define _SHM_WRLCK 3 +static int winShmSystemLock( + winShmNode *pFile, /* Apply locks to this open shared-memory segment */ + int lockType, /* _SHM_UNLCK, _SHM_RDLCK, or _SHM_WRLCK */ + int ofst, /* Offset to first byte to be locked/unlocked */ + int nByte /* Number of bytes to lock or unlock */ +){ + OVERLAPPED ovlp; + DWORD dwFlags; + int rc = 0; /* Result code form Lock/UnlockFileEx() */ + + /* Access to the winShmNode object is serialized by the caller */ + assert( sqlite3_mutex_held(pFile->mutex) || pFile->nRef==0 ); + + /* Initialize the locking parameters */ + dwFlags = LOCKFILE_FAIL_IMMEDIATELY; + if( lockType == _SHM_WRLCK ) dwFlags |= LOCKFILE_EXCLUSIVE_LOCK; + + memset(&ovlp, 0, sizeof(OVERLAPPED)); + ovlp.Offset = ofst; + + /* Release/Acquire the system-level lock */ + if( lockType==_SHM_UNLCK ){ + rc = UnlockFileEx(pFile->hFile.h, 0, nByte, 0, &ovlp); + }else{ + rc = LockFileEx(pFile->hFile.h, dwFlags, 0, nByte, 0, &ovlp); + } + + if( rc!= 0 ){ + rc = SQLITE_OK; + }else{ + pFile->lastErrno = GetLastError(); + rc = SQLITE_BUSY; + } + + OSTRACE(("SHM-LOCK %d %s %s 0x%08lx\n", + pFile->hFile.h, + rc==SQLITE_OK ? "ok" : "failed", + lockType==_SHM_UNLCK ? "UnlockFileEx" : "LockFileEx", + pFile->lastErrno)); + + return rc; +} + +/* Forward references to VFS methods */ +static int winOpen(sqlite3_vfs*,const char*,sqlite3_file*,int,int*); +static int winDelete(sqlite3_vfs *,const char*,int); + +/* +** Purge the winShmNodeList list of all entries with winShmNode.nRef==0. +** +** This is not a VFS shared-memory method; it is a utility function called +** by VFS shared-memory methods. +*/ +static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){ + winShmNode **pp; + winShmNode *p; + assert( winShmMutexHeld() ); + pp = &winShmNodeList; + while( (p = *pp)!=0 ){ + if( p->nRef==0 ){ + int i; + if( p->mutex ) sqlite3_mutex_free(p->mutex); + for(i=0; inRegion; i++){ + UnmapViewOfFile(p->aRegion[i].pMap); + CloseHandle(p->aRegion[i].hMap); + } + if( p->hFile.h != INVALID_HANDLE_VALUE ){ + SimulateIOErrorBenign(1); + winClose((sqlite3_file *)&p->hFile); + SimulateIOErrorBenign(0); + } + if( deleteFlag ){ + SimulateIOErrorBenign(1); + winDelete(pVfs, p->zFilename, 0); + SimulateIOErrorBenign(0); + } + *pp = p->pNext; + sqlite3_free(p->aRegion); + sqlite3_free(p); + }else{ + pp = &p->pNext; + } + } } /* +** Open the shared-memory area associated with database file pDbFd. +** +** When opening a new shared-memory file, if no other instances of that +** file are currently open, in this process or in other processes, then +** the file must be truncated to zero length or have its header cleared. +*/ +static int winOpenSharedMemory(winFile *pDbFd){ + struct winShm *p; /* The connection to be opened */ + struct winShmNode *pShmNode = 0; /* The underlying mmapped file */ + int rc; /* Result code */ + struct winShmNode *pNew; /* Newly allocated winShmNode */ + int nName; /* Size of zName in bytes */ + + assert( pDbFd->pShm==0 ); /* Not previously opened */ + + /* Allocate space for the new sqlite3_shm object. Also speculatively + ** allocate space for a new winShmNode and filename. + */ + p = sqlite3_malloc( sizeof(*p) ); + if( p==0 ) return SQLITE_NOMEM; + memset(p, 0, sizeof(*p)); + nName = sqlite3Strlen30(pDbFd->zPath); + pNew = sqlite3_malloc( sizeof(*pShmNode) + nName + 15 ); + if( pNew==0 ){ + sqlite3_free(p); + return SQLITE_NOMEM; + } + memset(pNew, 0, sizeof(*pNew)); + pNew->zFilename = (char*)&pNew[1]; + sqlite3_snprintf(nName+15, pNew->zFilename, "%s-shm", pDbFd->zPath); + + /* Look to see if there is an existing winShmNode that can be used. + ** If no matching winShmNode currently exists, create a new one. + */ + winShmEnterMutex(); + for(pShmNode = winShmNodeList; pShmNode; pShmNode=pShmNode->pNext){ + /* TBD need to come up with better match here. Perhaps + ** use FILE_ID_BOTH_DIR_INFO Structure. + */ + if( sqlite3StrICmp(pShmNode->zFilename, pNew->zFilename)==0 ) break; + } + if( pShmNode ){ + sqlite3_free(pNew); + }else{ + pShmNode = pNew; + pNew = 0; + ((winFile*)(&pShmNode->hFile))->h = INVALID_HANDLE_VALUE; + pShmNode->pNext = winShmNodeList; + winShmNodeList = pShmNode; + + pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); + if( pShmNode->mutex==0 ){ + rc = SQLITE_NOMEM; + goto shm_open_err; + } + rc = winOpen(pDbFd->pVfs, + pShmNode->zFilename, /* Name of the file (UTF-8) */ + (sqlite3_file*)&pShmNode->hFile, /* File handle here */ + SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, /* Mode flags */ + 0); + if( SQLITE_OK!=rc ){ + rc = SQLITE_CANTOPEN_BKPT; + goto shm_open_err; + } + + /* Check to see if another process is holding the dead-man switch. + ** If not, truncate the file to zero length. + */ + if( winShmSystemLock(pShmNode, _SHM_WRLCK, WIN_SHM_DMS, 1)==SQLITE_OK ){ + rc = winTruncate((sqlite3_file *)&pShmNode->hFile, 0); + if( rc!=SQLITE_OK ){ + rc = SQLITE_IOERR_SHMOPEN; + } + } + if( rc==SQLITE_OK ){ + winShmSystemLock(pShmNode, _SHM_UNLCK, WIN_SHM_DMS, 1); + rc = winShmSystemLock(pShmNode, _SHM_RDLCK, WIN_SHM_DMS, 1); + } + if( rc ) goto shm_open_err; + } + + /* Make the new connection a child of the winShmNode */ + p->pShmNode = pShmNode; +#ifdef SQLITE_DEBUG + p->id = pShmNode->nextShmId++; +#endif + pShmNode->nRef++; + pDbFd->pShm = p; + winShmLeaveMutex(); + + /* The reference count on pShmNode has already been incremented under + ** the cover of the winShmEnterMutex() mutex and the pointer from the + ** new (struct winShm) object to the pShmNode has been set. All that is + ** left to do is to link the new object into the linked list starting + ** at pShmNode->pFirst. This must be done while holding the pShmNode->mutex + ** mutex. + */ + sqlite3_mutex_enter(pShmNode->mutex); + p->pNext = pShmNode->pFirst; + pShmNode->pFirst = p; + sqlite3_mutex_leave(pShmNode->mutex); + return SQLITE_OK; + + /* Jump here on any error */ +shm_open_err: + winShmSystemLock(pShmNode, _SHM_UNLCK, WIN_SHM_DMS, 1); + winShmPurge(pDbFd->pVfs, 0); /* This call frees pShmNode if required */ + sqlite3_free(p); + sqlite3_free(pNew); + winShmLeaveMutex(); + return rc; +} + +/* +** Close a connection to shared-memory. Delete the underlying +** storage if deleteFlag is true. +*/ +static int winShmUnmap( + sqlite3_file *fd, /* Database holding shared memory */ + int deleteFlag /* Delete after closing if true */ +){ + winFile *pDbFd; /* Database holding shared-memory */ + winShm *p; /* The connection to be closed */ + winShmNode *pShmNode; /* The underlying shared-memory file */ + winShm **pp; /* For looping over sibling connections */ + + pDbFd = (winFile*)fd; + p = pDbFd->pShm; + if( p==0 ) return SQLITE_OK; + pShmNode = p->pShmNode; + + /* Remove connection p from the set of connections associated + ** with pShmNode */ + sqlite3_mutex_enter(pShmNode->mutex); + for(pp=&pShmNode->pFirst; (*pp)!=p; pp = &(*pp)->pNext){} + *pp = p->pNext; + + /* Free the connection p */ + sqlite3_free(p); + pDbFd->pShm = 0; + sqlite3_mutex_leave(pShmNode->mutex); + + /* If pShmNode->nRef has reached 0, then close the underlying + ** shared-memory file, too */ + winShmEnterMutex(); + assert( pShmNode->nRef>0 ); + pShmNode->nRef--; + if( pShmNode->nRef==0 ){ + winShmPurge(pDbFd->pVfs, deleteFlag); + } + winShmLeaveMutex(); + + return SQLITE_OK; +} + +/* +** Change the lock state for a shared-memory segment. +*/ +static int winShmLock( + sqlite3_file *fd, /* Database file holding the shared memory */ + int ofst, /* First lock to acquire or release */ + int n, /* Number of locks to acquire or release */ + int flags /* What to do with the lock */ +){ + winFile *pDbFd = (winFile*)fd; /* Connection holding shared memory */ + winShm *p = pDbFd->pShm; /* The shared memory being locked */ + winShm *pX; /* For looping over all siblings */ + winShmNode *pShmNode = p->pShmNode; + int rc = SQLITE_OK; /* Result code */ + u16 mask; /* Mask of locks to take or release */ + + assert( ofst>=0 && ofst+n<=SQLITE_SHM_NLOCK ); + assert( n>=1 ); + assert( flags==(SQLITE_SHM_LOCK | SQLITE_SHM_SHARED) + || flags==(SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE) + || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED) + || flags==(SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE) ); + assert( n==1 || (flags & SQLITE_SHM_EXCLUSIVE)!=0 ); + + mask = (u16)((1U<<(ofst+n)) - (1U<1 || mask==(1<mutex); + if( flags & SQLITE_SHM_UNLOCK ){ + u16 allMask = 0; /* Mask of locks held by siblings */ + + /* See if any siblings hold this same lock */ + for(pX=pShmNode->pFirst; pX; pX=pX->pNext){ + if( pX==p ) continue; + assert( (pX->exclMask & (p->exclMask|p->sharedMask))==0 ); + allMask |= pX->sharedMask; + } + + /* Unlock the system-level locks */ + if( (mask & allMask)==0 ){ + rc = winShmSystemLock(pShmNode, _SHM_UNLCK, ofst+WIN_SHM_BASE, n); + }else{ + rc = SQLITE_OK; + } + + /* Undo the local locks */ + if( rc==SQLITE_OK ){ + p->exclMask &= ~mask; + p->sharedMask &= ~mask; + } + }else if( flags & SQLITE_SHM_SHARED ){ + u16 allShared = 0; /* Union of locks held by connections other than "p" */ + + /* Find out which shared locks are already held by sibling connections. + ** If any sibling already holds an exclusive lock, go ahead and return + ** SQLITE_BUSY. + */ + for(pX=pShmNode->pFirst; pX; pX=pX->pNext){ + if( (pX->exclMask & mask)!=0 ){ + rc = SQLITE_BUSY; + break; + } + allShared |= pX->sharedMask; + } + + /* Get shared locks at the system level, if necessary */ + if( rc==SQLITE_OK ){ + if( (allShared & mask)==0 ){ + rc = winShmSystemLock(pShmNode, _SHM_RDLCK, ofst+WIN_SHM_BASE, n); + }else{ + rc = SQLITE_OK; + } + } + + /* Get the local shared locks */ + if( rc==SQLITE_OK ){ + p->sharedMask |= mask; + } + }else{ + /* Make sure no sibling connections hold locks that will block this + ** lock. If any do, return SQLITE_BUSY right away. + */ + for(pX=pShmNode->pFirst; pX; pX=pX->pNext){ + if( (pX->exclMask & mask)!=0 || (pX->sharedMask & mask)!=0 ){ + rc = SQLITE_BUSY; + break; + } + } + + /* Get the exclusive locks at the system level. Then if successful + ** also mark the local connection as being locked. + */ + if( rc==SQLITE_OK ){ + rc = winShmSystemLock(pShmNode, _SHM_WRLCK, ofst+WIN_SHM_BASE, n); + if( rc==SQLITE_OK ){ + assert( (p->sharedMask & mask)==0 ); + p->exclMask |= mask; + } + } + } + sqlite3_mutex_leave(pShmNode->mutex); + OSTRACE(("SHM-LOCK shmid-%d, pid-%d got %03x,%03x %s\n", + p->id, (int)GetCurrentProcessId(), p->sharedMask, p->exclMask, + rc ? "failed" : "ok")); + return rc; +} + +/* +** Implement a memory barrier or memory fence on shared memory. +** +** All loads and stores begun before the barrier must complete before +** any load or store begun after the barrier. +*/ +static void winShmBarrier( + sqlite3_file *fd /* Database holding the shared memory */ +){ + UNUSED_PARAMETER(fd); + /* MemoryBarrier(); // does not work -- do not know why not */ + winShmEnterMutex(); + winShmLeaveMutex(); +} + +/* +** This function is called to obtain a pointer to region iRegion of the +** shared-memory associated with the database file fd. Shared-memory regions +** are numbered starting from zero. Each shared-memory region is szRegion +** bytes in size. +** +** If an error occurs, an error code is returned and *pp is set to NULL. +** +** Otherwise, if the isWrite parameter is 0 and the requested shared-memory +** region has not been allocated (by any client, including one running in a +** separate process), then *pp is set to NULL and SQLITE_OK returned. If +** isWrite is non-zero and the requested shared-memory region has not yet +** been allocated, it is allocated by this function. +** +** If the shared-memory region has already been allocated or is allocated by +** this call as described above, then it is mapped into this processes +** address space (if it is not already), *pp is set to point to the mapped +** memory and SQLITE_OK returned. +*/ +static int winShmMap( + sqlite3_file *fd, /* Handle open on database file */ + int iRegion, /* Region to retrieve */ + int szRegion, /* Size of regions */ + int isWrite, /* True to extend file if necessary */ + void volatile **pp /* OUT: Mapped memory */ +){ + winFile *pDbFd = (winFile*)fd; + winShm *p = pDbFd->pShm; + winShmNode *pShmNode; + int rc = SQLITE_OK; + + if( !p ){ + rc = winOpenSharedMemory(pDbFd); + if( rc!=SQLITE_OK ) return rc; + p = pDbFd->pShm; + } + pShmNode = p->pShmNode; + + sqlite3_mutex_enter(pShmNode->mutex); + assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 ); + + if( pShmNode->nRegion<=iRegion ){ + struct ShmRegion *apNew; /* New aRegion[] array */ + int nByte = (iRegion+1)*szRegion; /* Minimum required file size */ + sqlite3_int64 sz; /* Current size of wal-index file */ + + pShmNode->szRegion = szRegion; + + /* The requested region is not mapped into this processes address space. + ** Check to see if it has been allocated (i.e. if the wal-index file is + ** large enough to contain the requested region). + */ + rc = winFileSize((sqlite3_file *)&pShmNode->hFile, &sz); + if( rc!=SQLITE_OK ){ + rc = SQLITE_IOERR_SHMSIZE; + goto shmpage_out; + } + + if( szhFile, nByte); + if( rc!=SQLITE_OK ){ + rc = SQLITE_IOERR_SHMSIZE; + goto shmpage_out; + } + } + + /* Map the requested memory region into this processes address space. */ + apNew = (struct ShmRegion *)sqlite3_realloc( + pShmNode->aRegion, (iRegion+1)*sizeof(apNew[0]) + ); + if( !apNew ){ + rc = SQLITE_IOERR_NOMEM; + goto shmpage_out; + } + pShmNode->aRegion = apNew; + + while( pShmNode->nRegion<=iRegion ){ + HANDLE hMap; /* file-mapping handle */ + void *pMap = 0; /* Mapped memory region */ + + hMap = CreateFileMapping(pShmNode->hFile.h, + NULL, PAGE_READWRITE, 0, nByte, NULL + ); + if( hMap ){ + pMap = MapViewOfFile(hMap, FILE_MAP_WRITE | FILE_MAP_READ, + 0, 0, nByte + ); + } + if( !pMap ){ + pShmNode->lastErrno = GetLastError(); + rc = SQLITE_IOERR; + if( hMap ) CloseHandle(hMap); + goto shmpage_out; + } + + pShmNode->aRegion[pShmNode->nRegion].pMap = pMap; + pShmNode->aRegion[pShmNode->nRegion].hMap = hMap; + pShmNode->nRegion++; + } + } + +shmpage_out: + if( pShmNode->nRegion>iRegion ){ + char *p = (char *)pShmNode->aRegion[iRegion].pMap; + *pp = (void *)&p[iRegion*szRegion]; + }else{ + *pp = 0; + } + sqlite3_mutex_leave(pShmNode->mutex); + return rc; +} + +#else +# define winShmMap 0 +# define winShmLock 0 +# define winShmBarrier 0 +# define winShmUnmap 0 +#endif /* #ifndef SQLITE_OMIT_WAL */ + +/* +** Here ends the implementation of all sqlite3_file methods. +** +********************** End sqlite3_file Methods ******************************* +******************************************************************************/ + +/* ** This vector defines all the methods that can operate on an ** sqlite3_file for win32. */ static const sqlite3_io_methods winIoMethod = { - 1, /* iVersion */ - winClose, - winRead, - winWrite, - winTruncate, - winSync, - winFileSize, - winLock, - winUnlock, - winCheckReservedLock, - winFileControl, - winSectorSize, - winDeviceCharacteristics + 2, /* iVersion */ + winClose, /* xClose */ + winRead, /* xRead */ + winWrite, /* xWrite */ + winTruncate, /* xTruncate */ + winSync, /* xSync */ + winFileSize, /* xFileSize */ + winLock, /* xLock */ + winUnlock, /* xUnlock */ + winCheckReservedLock, /* xCheckReservedLock */ + winFileControl, /* xFileControl */ + winSectorSize, /* xSectorSize */ + winDeviceCharacteristics, /* xDeviceCharacteristics */ + winShmMap, /* xShmMap */ + winShmLock, /* xShmLock */ + winShmBarrier, /* xShmBarrier */ + winShmUnmap /* xShmUnmap */ }; -/*************************************************************************** -** Here ends the I/O methods that form the sqlite3_io_methods object. +/**************************************************************************** +**************************** sqlite3_vfs methods **************************** ** -** The next block of code implements the VFS methods. -****************************************************************************/ +** This division contains the implementation of methods on the +** sqlite3_vfs object. +*/ /* ** Convert a UTF-8 filename into whatever form the underlying @@ -29270,6 +31011,13 @@ static int getTempname(int nBuf, char *zBuf){ "0123456789"; size_t i, j; char zTempPath[MAX_PATH+1]; + + /* It's odd to simulate an io-error here, but really this is just + ** using the io-error infrastructure to test that SQLite handles this + ** function failing. + */ + SimulateIOError( return SQLITE_IOERR ); + if( sqlite3_temp_directory ){ sqlite3_snprintf(MAX_PATH-30, zTempPath, "%s", sqlite3_temp_directory); }else if( isNT() ){ @@ -29301,17 +31049,27 @@ static int getTempname(int nBuf, char *zBuf){ } #endif } + + /* Check that the output buffer is large enough for the temporary file + ** name. If it is not, return SQLITE_ERROR. + */ + if( (sqlite3Strlen30(zTempPath) + sqlite3Strlen30(SQLITE_TEMP_FILE_PREFIX) + 17) >= nBuf ){ + return SQLITE_ERROR; + } + for(i=sqlite3Strlen30(zTempPath); i>0 && zTempPath[i-1]=='\\'; i--){} zTempPath[i] = 0; - sqlite3_snprintf(nBuf-30, zBuf, + + sqlite3_snprintf(nBuf-17, zBuf, "%s\\"SQLITE_TEMP_FILE_PREFIX, zTempPath); j = sqlite3Strlen30(zBuf); - sqlite3_randomness(20, &zBuf[j]); - for(i=0; i<20; i++, j++){ + sqlite3_randomness(15, &zBuf[j]); + for(i=0; i<15; i++, j++){ zBuf[j] = (char)zChars[ ((unsigned char)zBuf[j])%(sizeof(zChars)-1) ]; } zBuf[j] = 0; - OSTRACE2("TEMP FILENAME: %s\n", zBuf); + + OSTRACE(("TEMP FILENAME: %s\n", zBuf)); return SQLITE_OK; } @@ -29403,6 +31161,8 @@ static int winOpen( assert( id!=0 ); UNUSED_PARAMETER(pVfs); + pFile->h = INVALID_HANDLE_VALUE; + /* If the second argument to this function is NULL, generate a ** temporary file name to use */ @@ -29484,7 +31244,11 @@ static int winOpen( ); #endif } + OSTRACE(("OPEN %d %s 0x%lx %s\n", + h, zName, dwDesiredAccess, + h==INVALID_HANDLE_VALUE ? "failed" : "ok")); if( h==INVALID_HANDLE_VALUE ){ + pFile->lastErrno = GetLastError(); free(zConverted); if( flags & SQLITE_OPEN_READWRITE ){ return winOpen(pVfs, zName, id, @@ -29504,6 +31268,9 @@ static int winOpen( pFile->pMethod = &winIoMethod; pFile->h = h; pFile->lastErrno = NO_ERROR; + pFile->pVfs = pVfs; + pFile->pShm = 0; + pFile->zPath = zName; pFile->sectorSize = getSectorSize(pVfs, zUtf8Name); #if SQLITE_OS_WINCE if( (flags & (SQLITE_OPEN_READWRITE|SQLITE_OPEN_MAIN_DB)) == @@ -29546,13 +31313,15 @@ static int winDelete( int cnt = 0; DWORD rc; DWORD error = 0; - void *zConverted = convertUtf8Filename(zFilename); + void *zConverted; UNUSED_PARAMETER(pVfs); UNUSED_PARAMETER(syncDir); + + SimulateIOError(return SQLITE_IOERR_DELETE); + zConverted = convertUtf8Filename(zFilename); if( zConverted==0 ){ return SQLITE_NOMEM; } - SimulateIOError(return SQLITE_IOERR_DELETE); if( isNT() ){ do{ DeleteFileW(zConverted); @@ -29575,7 +31344,10 @@ static int winDelete( #endif } free(zConverted); - OSTRACE2("DELETE \"%s\"\n", zFilename); + OSTRACE(("DELETE \"%s\" %s\n", zFilename, + ( (rc==INVALID_FILE_ATTRIBUTES) && (error==ERROR_FILE_NOT_FOUND)) ? + "ok" : "failed" )); + return ( (rc == INVALID_FILE_ATTRIBUTES) && (error == ERROR_FILE_NOT_FOUND)) ? SQLITE_OK : SQLITE_IOERR_DELETE; } @@ -29591,13 +31363,38 @@ static int winAccess( ){ DWORD attr; int rc = 0; - void *zConverted = convertUtf8Filename(zFilename); + void *zConverted; UNUSED_PARAMETER(pVfs); + + SimulateIOError( return SQLITE_IOERR_ACCESS; ); + zConverted = convertUtf8Filename(zFilename); if( zConverted==0 ){ return SQLITE_NOMEM; } if( isNT() ){ - attr = GetFileAttributesW((WCHAR*)zConverted); + WIN32_FILE_ATTRIBUTE_DATA sAttrData; + memset(&sAttrData, 0, sizeof(sAttrData)); + if( GetFileAttributesExW((WCHAR*)zConverted, + GetFileExInfoStandard, + &sAttrData) ){ + /* For an SQLITE_ACCESS_EXISTS query, treat a zero-length file + ** as if it does not exist. + */ + if( flags==SQLITE_ACCESS_EXISTS + && sAttrData.nFileSizeHigh==0 + && sAttrData.nFileSizeLow==0 ){ + attr = INVALID_FILE_ATTRIBUTES; + }else{ + attr = sAttrData.dwFileAttributes; + } + }else{ + if( GetLastError()!=ERROR_FILE_NOT_FOUND ){ + free(zConverted); + return SQLITE_IOERR_ACCESS; + }else{ + attr = INVALID_FILE_ATTRIBUTES; + } + } /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed. ** Since the ASCII version of these Windows API do not exist for WINCE, ** it's important to not reference them for WINCE builds. @@ -29637,12 +31434,14 @@ static int winFullPathname( ){ #if defined(__CYGWIN__) + SimulateIOError( return SQLITE_ERROR ); UNUSED_PARAMETER(nFull); cygwin_conv_to_full_win32_path(zRelative, zFull); return SQLITE_OK; #endif #if SQLITE_OS_WINCE + SimulateIOError( return SQLITE_ERROR ); UNUSED_PARAMETER(nFull); /* WinCE has no concept of a relative pathname, or so I am told. */ sqlite3_snprintf(pVfs->mxPathname, zFull, "%s", zRelative); @@ -29653,6 +31452,13 @@ static int winFullPathname( int nByte; void *zConverted; char *zOut; + + /* It's odd to simulate an io-error here, but really this is just + ** using the io-error infrastructure to test that SQLite handles this + ** function failing. This function could fail if, for example, the + ** current working directory has been unlinked. + */ + SimulateIOError( return SQLITE_ERROR ); UNUSED_PARAMETER(nFull); zConverted = convertUtf8Filename(zRelative); if( isNT() ){ @@ -29720,7 +31526,9 @@ static int getSectorSize( ** to get the drive letter to look up the sector ** size. */ + SimulateIOErrorBenign(1); rc = winFullPathname(pVfs, zRelative, MAX_PATH, zFullpath); + SimulateIOErrorBenign(0); if( rc == SQLITE_OK ) { void *zConverted = convertUtf8Filename(zFullpath); @@ -29868,34 +31676,32 @@ static int winSleep(sqlite3_vfs *pVfs, int microsec){ } /* -** The following variable, if set to a non-zero value, becomes the result -** returned from sqlite3OsCurrentTime(). This is used for testing. +** The following variable, if set to a non-zero value, is interpreted as +** the number of seconds since 1970 and is used to set the result of +** sqlite3OsCurrentTime() during testing. */ #ifdef SQLITE_TEST -SQLITE_API int sqlite3_current_time = 0; +SQLITE_API int sqlite3_current_time = 0; /* Fake system time in seconds since 1970. */ #endif /* -** Find the current time (in Universal Coordinated Time). Write the -** current time and date as a Julian Day number into *prNow and -** return 0. Return 1 if the time and date cannot be found. +** Find the current time (in Universal Coordinated Time). Write into *piNow +** the current time and date as a Julian Day number times 86_400_000. In +** other words, write into *piNow the number of milliseconds since the Julian +** epoch of noon in Greenwich on November 24, 4714 B.C according to the +** proleptic Gregorian calendar. +** +** On success, return 0. Return 1 if the time and date cannot be found. */ -int winCurrentTime(sqlite3_vfs *pVfs, double *prNow){ - FILETIME ft; +static int winCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *piNow){ /* FILETIME structure is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (= JD 2305813.5). */ - sqlite3_int64 timeW; /* Whole days */ - sqlite3_int64 timeF; /* Fractional Days */ - - /* Number of 100-nanosecond intervals in a single day */ - static const sqlite3_int64 ntuPerDay = - 10000000*(sqlite3_int64)86400; - - /* Number of 100-nanosecond intervals in half of a day */ - static const sqlite3_int64 ntuPerHalfDay = - 10000000*(sqlite3_int64)43200; - + FILETIME ft; + static const sqlite3_int64 winFiletimeEpoch = 23058135*(sqlite3_int64)8640000; +#ifdef SQLITE_TEST + static const sqlite3_int64 unixEpoch = 24405875*(sqlite3_int64)8640000; +#endif /* 2^32 - to avoid use of LL and warnings in gcc */ static const sqlite3_int64 max32BitValue = (sqlite3_int64)2000000000 + (sqlite3_int64)2000000000 + (sqlite3_int64)294967296; @@ -29910,24 +31716,36 @@ int winCurrentTime(sqlite3_vfs *pVfs, double *prNow){ #else GetSystemTimeAsFileTime( &ft ); #endif - UNUSED_PARAMETER(pVfs); - timeW = (((sqlite3_int64)ft.dwHighDateTime)*max32BitValue) + (sqlite3_int64)ft.dwLowDateTime; - timeF = timeW % ntuPerDay; /* fractional days (100-nanoseconds) */ - timeW = timeW / ntuPerDay; /* whole days */ - timeW = timeW + 2305813; /* add whole days (from 2305813.5) */ - timeF = timeF + ntuPerHalfDay; /* add half a day (from 2305813.5) */ - timeW = timeW + (timeF/ntuPerDay); /* add whole day if half day made one */ - timeF = timeF % ntuPerDay; /* compute new fractional days */ - *prNow = (double)timeW + ((double)timeF / (double)ntuPerDay); + + *piNow = winFiletimeEpoch + + ((((sqlite3_int64)ft.dwHighDateTime)*max32BitValue) + + (sqlite3_int64)ft.dwLowDateTime)/(sqlite3_int64)10000; + #ifdef SQLITE_TEST if( sqlite3_current_time ){ - *prNow = ((double)sqlite3_current_time + (double)43200) / (double)86400 + (double)2440587; + *piNow = 1000*(sqlite3_int64)sqlite3_current_time + unixEpoch; } #endif + UNUSED_PARAMETER(pVfs); return 0; } /* +** Find the current time (in Universal Coordinated Time). Write the +** current time and date as a Julian Day number into *prNow and +** return 0. Return 1 if the time and date cannot be found. +*/ +int winCurrentTime(sqlite3_vfs *pVfs, double *prNow){ + int rc; + sqlite3_int64 i; + rc = winCurrentTimeInt64(pVfs, &i); + if( !rc ){ + *prNow = i/86400000.0; + } + return rc; +} + +/* ** The idea is that this function works like a combination of ** GetLastError() and FormatMessage() on windows (or errno and ** strerror_r() on unix). After an error is returned by an OS @@ -29962,30 +31780,32 @@ static int winGetLastError(sqlite3_vfs *pVfs, int nBuf, char *zBuf){ return getLastErrorMsg(nBuf, zBuf); } + + /* ** Initialize and deinitialize the operating system interface. */ SQLITE_API int sqlite3_os_init(void){ static sqlite3_vfs winVfs = { - 1, /* iVersion */ - sizeof(winFile), /* szOsFile */ - MAX_PATH, /* mxPathname */ - 0, /* pNext */ - "win32", /* zName */ - 0, /* pAppData */ - - winOpen, /* xOpen */ - winDelete, /* xDelete */ - winAccess, /* xAccess */ - winFullPathname, /* xFullPathname */ - winDlOpen, /* xDlOpen */ - winDlError, /* xDlError */ - winDlSym, /* xDlSym */ - winDlClose, /* xDlClose */ - winRandomness, /* xRandomness */ - winSleep, /* xSleep */ - winCurrentTime, /* xCurrentTime */ - winGetLastError /* xGetLastError */ + 2, /* iVersion */ + sizeof(winFile), /* szOsFile */ + MAX_PATH, /* mxPathname */ + 0, /* pNext */ + "win32", /* zName */ + 0, /* pAppData */ + winOpen, /* xOpen */ + winDelete, /* xDelete */ + winAccess, /* xAccess */ + winFullPathname, /* xFullPathname */ + winDlOpen, /* xDlOpen */ + winDlError, /* xDlError */ + winDlSym, /* xDlSym */ + winDlClose, /* xDlClose */ + winRandomness, /* xRandomness */ + winSleep, /* xSleep */ + winCurrentTime, /* xCurrentTime */ + winGetLastError, /* xGetLastError */ + winCurrentTimeInt64, /* xCurrentTimeInt64 */ }; sqlite3_vfs_register(&winVfs, 1); @@ -30037,7 +31857,7 @@ SQLITE_API int sqlite3_os_end(void){ */ /* Size of the Bitvec structure in bytes. */ -#define BITVEC_SZ (sizeof(void*)*128) /* 512 on 32bit. 1024 on 64bit */ +#define BITVEC_SZ 512 /* Round the union size down to the nearest pointer boundary, since that's how ** it will be aligned within the Bitvec struct. */ @@ -30670,15 +32490,17 @@ SQLITE_PRIVATE int sqlite3PcacheFetch( if( pPage ){ if( !pPage->pData ){ - memset(pPage, 0, sizeof(PgHdr) + pCache->szExtra); - pPage->pExtra = (void*)&pPage[1]; - pPage->pData = (void *)&((char *)pPage)[sizeof(PgHdr) + pCache->szExtra]; + memset(pPage, 0, sizeof(PgHdr)); + pPage->pData = (void *)&pPage[1]; + pPage->pExtra = (void*)&((char *)pPage->pData)[pCache->szPage]; + memset(pPage->pExtra, 0, pCache->szExtra); pPage->pCache = pCache; pPage->pgno = pgno; } assert( pPage->pCache==pCache ); assert( pPage->pgno==pgno ); - assert( pPage->pExtra==(void *)&pPage[1] ); + assert( pPage->pData==(void *)&pPage[1] ); + assert( pPage->pExtra==(void *)&((char *)&pPage[1])[pCache->szPage] ); if( 0==pPage->nRef ){ pCache->nRef++; @@ -30817,7 +32639,12 @@ SQLITE_PRIVATE void sqlite3PcacheTruncate(PCache *pCache, Pgno pgno){ PgHdr *pNext; for(p=pCache->pDirty; p; p=pNext){ pNext = p->pDirtyNext; - if( p->pgno>pgno ){ + /* This routine never gets call with a positive pgno except right + ** after sqlite3PcacheCleanAll(). So if there are dirty pages, + ** it must be that pgno==0. + */ + assert( p->pgno>0 ); + if( ALWAYS(p->pgno>pgno) ){ assert( p->flags&PGHDR_DIRTY ); sqlite3PcacheMakeClean(p); } @@ -31140,11 +32967,11 @@ SQLITE_PRIVATE void sqlite3PCacheBufferSetup(void *pBuf, int sz, int n){ static void *pcache1Alloc(int nByte){ void *p; assert( sqlite3_mutex_held(pcache1.mutex) ); + sqlite3StatusSet(SQLITE_STATUS_PAGECACHE_SIZE, nByte); if( nByte<=pcache1.szSlot && pcache1.pFree ){ assert( pcache1.isInit ); p = (PgHdr1 *)pcache1.pFree; pcache1.pFree = pcache1.pFree->pNext; - sqlite3StatusSet(SQLITE_STATUS_PAGECACHE_SIZE, nByte); sqlite3StatusAdd(SQLITE_STATUS_PAGECACHE_USED, 1); }else{ @@ -31161,6 +32988,7 @@ static void *pcache1Alloc(int nByte){ int sz = sqlite3MallocSize(p); sqlite3StatusAdd(SQLITE_STATUS_PAGECACHE_OVERFLOW, sz); } + sqlite3MemdebugSetType(p, MEMTYPE_PCACHE); } return p; } @@ -31178,12 +33006,34 @@ static void pcache1Free(void *p){ pSlot->pNext = pcache1.pFree; pcache1.pFree = pSlot; }else{ - int iSize = sqlite3MallocSize(p); + int iSize; + assert( sqlite3MemdebugHasType(p, MEMTYPE_PCACHE) ); + sqlite3MemdebugSetType(p, MEMTYPE_HEAP); + iSize = sqlite3MallocSize(p); sqlite3StatusAdd(SQLITE_STATUS_PAGECACHE_OVERFLOW, -iSize); sqlite3_free(p); } } +#ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT +/* +** Return the size of a pache allocation +*/ +static int pcache1MemSize(void *p){ + assert( sqlite3_mutex_held(pcache1.mutex) ); + if( p>=pcache1.pStart && p READER-------+ | +** | | | +** | V | +** |<-------WRITER_LOCKED------> ERROR +** | | ^ +** | V | +** |<------WRITER_CACHEMOD-------->| +** | | | +** | V | +** |<-------WRITER_DBMOD---------->| +** | | | +** | V | +** +<------WRITER_FINISHED-------->+ +** +** +** List of state transitions and the C [function] that performs each: +** +** OPEN -> READER [sqlite3PagerSharedLock] +** READER -> OPEN [pager_unlock] +** +** READER -> WRITER_LOCKED [sqlite3PagerBegin] +** WRITER_LOCKED -> WRITER_CACHEMOD [pager_open_journal] +** WRITER_CACHEMOD -> WRITER_DBMOD [syncJournal] +** WRITER_DBMOD -> WRITER_FINISHED [sqlite3PagerCommitPhaseOne] +** WRITER_*** -> READER [pager_end_transaction] +** +** WRITER_*** -> ERROR [pager_error] +** ERROR -> OPEN [pager_unlock] +** +** +** OPEN: +** +** The pager starts up in this state. Nothing is guaranteed in this +** state - the file may or may not be locked and the database size is +** unknown. The database may not be read or written. +** +** * No read or write transaction is active. +** * Any lock, or no lock at all, may be held on the database file. +** * The dbSize, dbOrigSize and dbFileSize variables may not be trusted. +** +** READER: +** +** In this state all the requirements for reading the database in +** rollback (non-WAL) mode are met. Unless the pager is (or recently +** was) in exclusive-locking mode, a user-level read transaction is +** open. The database size is known in this state. +** +** A connection running with locking_mode=normal enters this state when +** it opens a read-transaction on the database and returns to state +** OPEN after the read-transaction is completed. However a connection +** running in locking_mode=exclusive (including temp databases) remains in +** this state even after the read-transaction is closed. The only way +** a locking_mode=exclusive connection can transition from READER to OPEN +** is via the ERROR state (see below). +** +** * A read transaction may be active (but a write-transaction cannot). +** * A SHARED or greater lock is held on the database file. +** * The dbSize variable may be trusted (even if a user-level read +** transaction is not active). The dbOrigSize and dbFileSize variables +** may not be trusted at this point. +** * If the database is a WAL database, then the WAL connection is open. +** * Even if a read-transaction is not open, it is guaranteed that +** there is no hot-journal in the file-system. +** +** WRITER_LOCKED: +** +** The pager moves to this state from READER when a write-transaction +** is first opened on the database. In WRITER_LOCKED state, all locks +** required to start a write-transaction are held, but no actual +** modifications to the cache or database have taken place. +** +** In rollback mode, a RESERVED or (if the transaction was opened with +** BEGIN EXCLUSIVE) EXCLUSIVE lock is obtained on the database file when +** moving to this state, but the journal file is not written to or opened +** to in this state. If the transaction is committed or rolled back while +** in WRITER_LOCKED state, all that is required is to unlock the database +** file. +** +** IN WAL mode, WalBeginWriteTransaction() is called to lock the log file. +** If the connection is running with locking_mode=exclusive, an attempt +** is made to obtain an EXCLUSIVE lock on the database file. +** +** * A write transaction is active. +** * If the connection is open in rollback-mode, a RESERVED or greater +** lock is held on the database file. +** * If the connection is open in WAL-mode, a WAL write transaction +** is open (i.e. sqlite3WalBeginWriteTransaction() has been successfully +** called). +** * The dbSize, dbOrigSize and dbFileSize variables are all valid. +** * The contents of the pager cache have not been modified. +** * The journal file may or may not be open. +** * Nothing (not even the first header) has been written to the journal. +** +** WRITER_CACHEMOD: +** +** A pager moves from WRITER_LOCKED state to this state when a page is +** first modified by the upper layer. In rollback mode the journal file +** is opened (if it is not already open) and a header written to the +** start of it. The database file on disk has not been modified. +** +** * A write transaction is active. +** * A RESERVED or greater lock is held on the database file. +** * The journal file is open and the first header has been written +** to it, but the header has not been synced to disk. +** * The contents of the page cache have been modified. +** +** WRITER_DBMOD: +** +** The pager transitions from WRITER_CACHEMOD into WRITER_DBMOD state +** when it modifies the contents of the database file. WAL connections +** never enter this state (since they do not modify the database file, +** just the log file). +** +** * A write transaction is active. +** * An EXCLUSIVE or greater lock is held on the database file. +** * The journal file is open and the first header has been written +** and synced to disk. +** * The contents of the page cache have been modified (and possibly +** written to disk). +** +** WRITER_FINISHED: +** +** It is not possible for a WAL connection to enter this state. +** +** A rollback-mode pager changes to WRITER_FINISHED state from WRITER_DBMOD +** state after the entire transaction has been successfully written into the +** database file. In this state the transaction may be committed simply +** by finalizing the journal file. Once in WRITER_FINISHED state, it is +** not possible to modify the database further. At this point, the upper +** layer must either commit or rollback the transaction. +** +** * A write transaction is active. +** * An EXCLUSIVE or greater lock is held on the database file. +** * All writing and syncing of journal and database data has finished. +** If no error occured, all that remains is to finalize the journal to +** commit the transaction. If an error did occur, the caller will need +** to rollback the transaction. +** +** ERROR: +** +** The ERROR state is entered when an IO or disk-full error (including +** SQLITE_IOERR_NOMEM) occurs at a point in the code that makes it +** difficult to be sure that the in-memory pager state (cache contents, +** db size etc.) are consistent with the contents of the file-system. +** +** Temporary pager files may enter the ERROR state, but in-memory pagers +** cannot. +** +** For example, if an IO error occurs while performing a rollback, +** the contents of the page-cache may be left in an inconsistent state. +** At this point it would be dangerous to change back to READER state +** (as usually happens after a rollback). Any subsequent readers might +** report database corruption (due to the inconsistent cache), and if +** they upgrade to writers, they may inadvertently corrupt the database +** file. To avoid this hazard, the pager switches into the ERROR state +** instead of READER following such an error. +** +** Once it has entered the ERROR state, any attempt to use the pager +** to read or write data returns an error. Eventually, once all +** outstanding transactions have been abandoned, the pager is able to +** transition back to OPEN state, discarding the contents of the +** page-cache and any other in-memory state at the same time. Everything +** is reloaded from disk (and, if necessary, hot-journal rollback peformed) +** when a read-transaction is next opened on the pager (transitioning +** the pager into READER state). At that point the system has recovered +** from the error. +** +** Specifically, the pager jumps into the ERROR state if: +** +** 1. An error occurs while attempting a rollback. This happens in +** function sqlite3PagerRollback(). +** +** 2. An error occurs while attempting to finalize a journal file +** following a commit in function sqlite3PagerCommitPhaseTwo(). +** +** 3. An error occurs while attempting to write to the journal or +** database file in function pagerStress() in order to free up +** memory. +** +** In other cases, the error is returned to the b-tree layer. The b-tree +** layer then attempts a rollback operation. If the error condition +** persists, the pager enters the ERROR state via condition (1) above. +** +** Condition (3) is necessary because it can be triggered by a read-only +** statement executed within a transaction. In this case, if the error +** code were simply returned to the user, the b-tree layer would not +** automatically attempt a rollback, as it assumes that an error in a +** read-only statement cannot leave the pager in an internally inconsistent +** state. +** +** * The Pager.errCode variable is set to something other than SQLITE_OK. +** * There are one or more outstanding references to pages (after the +** last reference is dropped the pager should move back to OPEN state). +** * The pager is not an in-memory pager. +** +** +** Notes: +** +** * A pager is never in WRITER_DBMOD or WRITER_FINISHED state if the +** connection is open in WAL mode. A WAL connection is always in one +** of the first four states. +** +** * Normally, a connection open in exclusive mode is never in PAGER_OPEN +** state. There are two exceptions: immediately after exclusive-mode has +** been turned on (and before any read or write transactions are +** executed), and when the pager is leaving the "error state". +** +** * See also: assert_pager_state(). +*/ +#define PAGER_OPEN 0 +#define PAGER_READER 1 +#define PAGER_WRITER_LOCKED 2 +#define PAGER_WRITER_CACHEMOD 3 +#define PAGER_WRITER_DBMOD 4 +#define PAGER_WRITER_FINISHED 5 +#define PAGER_ERROR 6 + +/* +** The Pager.eLock variable is almost always set to one of the +** following locking-states, according to the lock currently held on +** the database file: NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK. +** This variable is kept up to date as locks are taken and released by +** the pagerLockDb() and pagerUnlockDb() wrappers. +** +** If the VFS xLock() or xUnlock() returns an error other than SQLITE_BUSY +** (i.e. one of the SQLITE_IOERR subtypes), it is not clear whether or not +** the operation was successful. In these circumstances pagerLockDb() and +** pagerUnlockDb() take a conservative approach - eLock is always updated +** when unlocking the file, and only updated when locking the file if the +** VFS call is successful. This way, the Pager.eLock variable may be set +** to a less exclusive (lower) value than the lock that is actually held +** at the system level, but it is never set to a more exclusive value. +** +** This is usually safe. If an xUnlock fails or appears to fail, there may +** be a few redundant xLock() calls or a lock may be held for longer than +** required, but nothing really goes wrong. +** +** The exception is when the database file is unlocked as the pager moves +** from ERROR to OPEN state. At this point there may be a hot-journal file +** in the file-system that needs to be rolled back (as part of a OPEN->SHARED +** transition, by the same pager or any other). If the call to xUnlock() +** fails at this point and the pager is left holding an EXCLUSIVE lock, this +** can confuse the call to xCheckReservedLock() call made later as part +** of hot-journal detection. +** +** xCheckReservedLock() is defined as returning true "if there is a RESERVED +** lock held by this process or any others". So xCheckReservedLock may +** return true because the caller itself is holding an EXCLUSIVE lock (but +** doesn't know it because of a previous error in xUnlock). If this happens +** a hot-journal may be mistaken for a journal being created by an active +** transaction in another process, causing SQLite to read from the database +** without rolling it back. +** +** To work around this, if a call to xUnlock() fails when unlocking the +** database in the ERROR state, Pager.eLock is set to UNKNOWN_LOCK. It +** is only changed back to a real locking state after a successful call +** to xLock(EXCLUSIVE). Also, the code to do the OPEN->SHARED state transition +** omits the check for a hot-journal if Pager.eLock is set to UNKNOWN_LOCK +** lock. Instead, it assumes a hot-journal exists and obtains an EXCLUSIVE +** lock on the database file before attempting to roll it back. See function +** PagerSharedLock() for more detail. +** +** Pager.eLock may only be set to UNKNOWN_LOCK when the pager is in +** PAGER_OPEN state. +*/ +#define UNKNOWN_LOCK (EXCLUSIVE_LOCK+1) /* ** A macro used for invoking the codec if there is one @@ -32332,36 +34600,34 @@ struct PagerSavepoint { Bitvec *pInSavepoint; /* Set of pages in this savepoint */ Pgno nOrig; /* Original number of pages in file */ Pgno iSubRec; /* Index of first record in sub-journal */ +#ifndef SQLITE_OMIT_WAL + u32 aWalData[WAL_SAVEPOINT_NDATA]; /* WAL savepoint context */ +#endif }; /* -** A open page cache is an instance of the following structure. +** A open page cache is an instance of struct Pager. A description of +** some of the more important member variables follows: ** -** errCode +** eState +** +** The current 'state' of the pager object. See the comment and state +** diagram above for a description of the pager state. +** +** eLock +** +** For a real on-disk database, the current lock held on the database file - +** NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK. ** -** Pager.errCode may be set to SQLITE_IOERR, SQLITE_CORRUPT, or -** or SQLITE_FULL. Once one of the first three errors occurs, it persists -** and is returned as the result of every major pager API call. The -** SQLITE_FULL return code is slightly different. It persists only until the -** next successful rollback is performed on the pager cache. Also, -** SQLITE_FULL does not affect the sqlite3PagerGet() and sqlite3PagerLookup() -** APIs, they may still be used successfully. -** -** dbSizeValid, dbSize, dbOrigSize, dbFileSize -** -** Managing the size of the database file in pages is a little complicated. -** The variable Pager.dbSize contains the number of pages that the database -** image currently contains. As the database image grows or shrinks this -** variable is updated. The variable Pager.dbFileSize contains the number -** of pages in the database file. This may be different from Pager.dbSize -** if some pages have been appended to the database image but not yet written -** out from the cache to the actual file on disk. Or if the image has been -** truncated by an incremental-vacuum operation. The Pager.dbOrigSize variable -** contains the number of pages in the database image when the current -** transaction was opened. The contents of all three of these variables is -** only guaranteed to be correct if the boolean Pager.dbSizeValid is true. -** -** TODO: Under what conditions is dbSizeValid set? Cleared? +** For a temporary or in-memory database (neither of which require any +** locks), this variable is always set to EXCLUSIVE_LOCK. Since such +** databases always have Pager.exclusiveMode==1, this tricks the pager +** logic into thinking that it already has all the locks it will ever +** need (and no reason to release them). +** +** In some (obscure) circumstances, this variable may also be set to +** UNKNOWN_LOCK. See the comment above the #define of UNKNOWN_LOCK for +** details. ** ** changeCountDone ** @@ -32380,60 +34646,123 @@ struct PagerSavepoint { ** need only update the change-counter once, for the first transaction ** committed. ** -** dbModified -** -** The dbModified flag is set whenever a database page is dirtied. -** It is cleared at the end of each transaction. -** -** It is used when committing or otherwise ending a transaction. If -** the dbModified flag is clear then less work has to be done. -** -** journalStarted -** -** This flag is set whenever the the main journal is synced. -** -** The point of this flag is that it must be set after the -** first journal header in a journal file has been synced to disk. -** After this has happened, new pages appended to the database -** do not need the PGHDR_NEED_SYNC flag set, as they do not need -** to wait for a journal sync before they can be written out to -** the database file (see function pager_write()). -** ** setMaster ** -** This variable is used to ensure that the master journal file name -** (if any) is only written into the journal file once. -** -** When committing a transaction, the master journal file name (if any) -** may be written into the journal file while the pager is still in -** PAGER_RESERVED state (see CommitPhaseOne() for the action). It -** then attempts to upgrade to an exclusive lock. If this attempt -** fails, then SQLITE_BUSY may be returned to the user and the user -** may attempt to commit the transaction again later (calling -** CommitPhaseOne() again). This flag is used to ensure that the -** master journal name is only written to the journal file the first -** time CommitPhaseOne() is called. -** -** doNotSync -** -** This variable is set and cleared by sqlite3PagerWrite(). -** -** needSync -** -** TODO: It might be easier to set this variable in writeJournalHdr() -** and writeMasterJournal() only. Change its meaning to "unsynced data -** has been written to the journal". +** When PagerCommitPhaseOne() is called to commit a transaction, it may +** (or may not) specify a master-journal name to be written into the +** journal file before it is synced to disk. +** +** Whether or not a journal file contains a master-journal pointer affects +** the way in which the journal file is finalized after the transaction is +** committed or rolled back when running in "journal_mode=PERSIST" mode. +** If a journal file does not contain a master-journal pointer, it is +** finalized by overwriting the first journal header with zeroes. If +** it does contain a master-journal pointer the journal file is finalized +** by truncating it to zero bytes, just as if the connection were +** running in "journal_mode=truncate" mode. +** +** Journal files that contain master journal pointers cannot be finalized +** simply by overwriting the first journal-header with zeroes, as the +** master journal pointer could interfere with hot-journal rollback of any +** subsequently interrupted transaction that reuses the journal file. +** +** The flag is cleared as soon as the journal file is finalized (either +** by PagerCommitPhaseTwo or PagerRollback). If an IO error prevents the +** journal file from being successfully finalized, the setMaster flag +** is cleared anyway (and the pager will move to ERROR state). +** +** doNotSpill, doNotSyncSpill +** +** These two boolean variables control the behaviour of cache-spills +** (calls made by the pcache module to the pagerStress() routine to +** write cached data to the file-system in order to free up memory). +** +** When doNotSpill is non-zero, writing to the database from pagerStress() +** is disabled altogether. This is done in a very obscure case that +** comes up during savepoint rollback that requires the pcache module +** to allocate a new page to prevent the journal file from being written +** while it is being traversed by code in pager_playback(). +** +** If doNotSyncSpill is non-zero, writing to the database from pagerStress() +** is permitted, but syncing the journal file is not. This flag is set +** by sqlite3PagerWrite() when the file-system sector-size is larger than +** the database page-size in order to prevent a journal sync from happening +** in between the journalling of two pages on the same sector. ** ** subjInMemory ** ** This is a boolean variable. If true, then any required sub-journal ** is opened as an in-memory journal file. If false, then in-memory ** sub-journals are only used for in-memory pager files. +** +** This variable is updated by the upper layer each time a new +** write-transaction is opened. +** +** dbSize, dbOrigSize, dbFileSize +** +** Variable dbSize is set to the number of pages in the database file. +** It is valid in PAGER_READER and higher states (all states except for +** OPEN and ERROR). +** +** dbSize is set based on the size of the database file, which may be +** larger than the size of the database (the value stored at offset +** 28 of the database header by the btree). If the size of the file +** is not an integer multiple of the page-size, the value stored in +** dbSize is rounded down (i.e. a 5KB file with 2K page-size has dbSize==2). +** Except, any file that is greater than 0 bytes in size is considered +** to have at least one page. (i.e. a 1KB file with 2K page-size leads +** to dbSize==1). +** +** During a write-transaction, if pages with page-numbers greater than +** dbSize are modified in the cache, dbSize is updated accordingly. +** Similarly, if the database is truncated using PagerTruncateImage(), +** dbSize is updated. +** +** Variables dbOrigSize and dbFileSize are valid in states +** PAGER_WRITER_LOCKED and higher. dbOrigSize is a copy of the dbSize +** variable at the start of the transaction. It is used during rollback, +** and to determine whether or not pages need to be journalled before +** being modified. +** +** Throughout a write-transaction, dbFileSize contains the size of +** the file on disk in pages. It is set to a copy of dbSize when the +** write-transaction is first opened, and updated when VFS calls are made +** to write or truncate the database file on disk. +** +** The only reason the dbFileSize variable is required is to suppress +** unnecessary calls to xTruncate() after committing a transaction. If, +** when a transaction is committed, the dbFileSize variable indicates +** that the database file is larger than the database image (Pager.dbSize), +** pager_truncate() is called. The pager_truncate() call uses xFilesize() +** to measure the database file on disk, and then truncates it if required. +** dbFileSize is not used when rolling back a transaction. In this case +** pager_truncate() is called unconditionally (which means there may be +** a call to xFilesize() that is not strictly required). In either case, +** pager_truncate() may cause the file to become smaller or larger. +** +** dbHintSize +** +** The dbHintSize variable is used to limit the number of calls made to +** the VFS xFileControl(FCNTL_SIZE_HINT) method. +** +** dbHintSize is set to a copy of the dbSize variable when a +** write-transaction is opened (at the same time as dbFileSize and +** dbOrigSize). If the xFileControl(FCNTL_SIZE_HINT) method is called, +** dbHintSize is increased to the number of pages that correspond to the +** size-hint passed to the method call. See pager_write_pagelist() for +** details. +** +** errCode +** +** The Pager.errCode variable is only ever used in PAGER_ERROR state. It +** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode +** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX +** sub-codes. */ struct Pager { sqlite3_vfs *pVfs; /* OS functions to use for IO */ u8 exclusiveMode; /* Boolean. True if locking_mode==EXCLUSIVE */ - u8 journalMode; /* On of the PAGER_JOURNALMODE_* values */ + u8 journalMode; /* One of the PAGER_JOURNALMODE_* values */ u8 useJournal; /* Use a rollback journal on this file */ u8 noReadlock; /* Do not bother to obtain readlocks */ u8 noSync; /* Do not sync the journal if true */ @@ -32443,29 +34772,26 @@ struct Pager { u8 readOnly; /* True for a read-only database */ u8 memDb; /* True to inhibit all file I/O */ - /* The following block contains those class members that are dynamically - ** modified during normal operations. The other variables in this structure - ** are either constant throughout the lifetime of the pager, or else - ** used to store configuration parameters that affect the way the pager - ** operates. - ** - ** The 'state' variable is described in more detail along with the - ** descriptions of the values it may take - PAGER_UNLOCK etc. Many of the - ** other variables in this block are described in the comment directly - ** above this class definition. - */ - u8 state; /* PAGER_UNLOCK, _SHARED, _RESERVED, etc. */ - u8 dbModified; /* True if there are any changes to the Db */ - u8 needSync; /* True if an fsync() is needed on the journal */ - u8 journalStarted; /* True if header of journal is synced */ + /************************************************************************** + ** The following block contains those class members that change during + ** routine opertion. Class members not in this block are either fixed + ** when the pager is first created or else only change when there is a + ** significant mode change (such as changing the page_size, locking_mode, + ** or the journal_mode). From another view, these class members describe + ** the "state" of the pager, while other class members describe the + ** "configuration" of the pager. + */ + u8 eState; /* Pager state (OPEN, READER, WRITER_LOCKED..) */ + u8 eLock; /* Current lock held on database file */ u8 changeCountDone; /* Set after incrementing the change-counter */ u8 setMaster; /* True if a m-j name has been written to jrnl */ - u8 doNotSync; /* Boolean. While true, do not spill the cache */ - u8 dbSizeValid; /* Set when dbSize is correct */ + u8 doNotSpill; /* Do not spill the cache when non-zero */ + u8 doNotSyncSpill; /* Do not do a spill that requires jrnl sync */ u8 subjInMemory; /* True to use in-memory sub-journals */ Pgno dbSize; /* Number of pages in the database */ Pgno dbOrigSize; /* dbSize before the current transaction */ Pgno dbFileSize; /* Number of pages in the database file */ + Pgno dbHintSize; /* Value passed to FCNTL_SIZE_HINT call */ int errCode; /* One of several kinds of errors */ int nRec; /* Pages journalled since last j-header written */ u32 cksumInit; /* Quasi-random value added to every checksum */ @@ -32476,16 +34802,21 @@ struct Pager { sqlite3_file *sjfd; /* File descriptor for sub-journal */ i64 journalOff; /* Current write offset in the journal file */ i64 journalHdr; /* Byte offset to previous journal header */ + sqlite3_backup *pBackup; /* Pointer to list of ongoing backup processes */ PagerSavepoint *aSavepoint; /* Array of active savepoints */ int nSavepoint; /* Number of elements in aSavepoint[] */ char dbFileVers[16]; /* Changes whenever database file changes */ - u32 sectorSize; /* Assumed sector size during rollback */ + /* + ** End of the routinely-changing class members + ***************************************************************************/ u16 nExtra; /* Add this many bytes to each in-memory page */ i16 nReserve; /* Number of unused bytes at end of each page */ u32 vfsFlags; /* Flags for sqlite3_vfs.xOpen() */ + u32 sectorSize; /* Assumed sector size during rollback */ int pageSize; /* Number of bytes in a page */ Pgno mxPgno; /* Maximum allowed size of the database */ + i64 journalSizeLimit; /* Size limit for persistent journal files */ char *zFilename; /* Name of the database file */ char *zJournal; /* Name of the journal file */ int (*xBusyHandler)(void*); /* Function to call when busy */ @@ -32502,9 +34833,11 @@ struct Pager { void *pCodec; /* First argument to xCodec... methods */ #endif char *pTmpSpace; /* Pager.pageSize bytes of space for tmp use */ - i64 journalSizeLimit; /* Size limit for persistent journal files */ PCache *pPCache; /* Pointer to page cache object */ - sqlite3_backup *pBackup; /* Pointer to list of ongoing backup processes */ +#ifndef SQLITE_OMIT_WAL + Wal *pWal; /* Write-ahead log used by "journal_mode=wal" */ + char *zWal; /* File name for write-ahead log */ +#endif }; /* @@ -32579,22 +34912,221 @@ static const unsigned char aJournalMagic[] = { */ #define PAGER_MAX_PGNO 2147483647 +/* +** The argument to this macro is a file descriptor (type sqlite3_file*). +** Return 0 if it is not open, or non-zero (but not 1) if it is. +** +** This is so that expressions can be written as: +** +** if( isOpen(pPager->jfd) ){ ... +** +** instead of +** +** if( pPager->jfd->pMethods ){ ... +*/ +#define isOpen(pFd) ((pFd)->pMethods) + +/* +** Return true if this pager uses a write-ahead log instead of the usual +** rollback journal. Otherwise false. +*/ +#ifndef SQLITE_OMIT_WAL +static int pagerUseWal(Pager *pPager){ + return (pPager->pWal!=0); +} +#else +# define pagerUseWal(x) 0 +# define pagerRollbackWal(x) 0 +# define pagerWalFrames(v,w,x,y,z) 0 +# define pagerOpenWalIfPresent(z) SQLITE_OK +# define pagerBeginReadTransaction(z) SQLITE_OK +#endif + #ifndef NDEBUG /* ** Usage: ** ** assert( assert_pager_state(pPager) ); +** +** This function runs many asserts to try to find inconsistencies in +** the internal state of the Pager object. */ -static int assert_pager_state(Pager *pPager){ +static int assert_pager_state(Pager *p){ + Pager *pPager = p; + + /* State must be valid. */ + assert( p->eState==PAGER_OPEN + || p->eState==PAGER_READER + || p->eState==PAGER_WRITER_LOCKED + || p->eState==PAGER_WRITER_CACHEMOD + || p->eState==PAGER_WRITER_DBMOD + || p->eState==PAGER_WRITER_FINISHED + || p->eState==PAGER_ERROR + ); + + /* Regardless of the current state, a temp-file connection always behaves + ** as if it has an exclusive lock on the database file. It never updates + ** the change-counter field, so the changeCountDone flag is always set. + */ + assert( p->tempFile==0 || p->eLock==EXCLUSIVE_LOCK ); + assert( p->tempFile==0 || pPager->changeCountDone ); + + /* If the useJournal flag is clear, the journal-mode must be "OFF". + ** And if the journal-mode is "OFF", the journal file must not be open. + */ + assert( p->journalMode==PAGER_JOURNALMODE_OFF || p->useJournal ); + assert( p->journalMode!=PAGER_JOURNALMODE_OFF || !isOpen(p->jfd) ); + + /* Check that MEMDB implies noSync. And an in-memory journal. Since + ** this means an in-memory pager performs no IO at all, it cannot encounter + ** either SQLITE_IOERR or SQLITE_FULL during rollback or while finalizing + ** a journal file. (although the in-memory journal implementation may + ** return SQLITE_IOERR_NOMEM while the journal file is being written). It + ** is therefore not possible for an in-memory pager to enter the ERROR + ** state. + */ + if( MEMDB ){ + assert( p->noSync ); + assert( p->journalMode==PAGER_JOURNALMODE_OFF + || p->journalMode==PAGER_JOURNALMODE_MEMORY + ); + assert( p->eState!=PAGER_ERROR && p->eState!=PAGER_OPEN ); + assert( pagerUseWal(p)==0 ); + } + + /* If changeCountDone is set, a RESERVED lock or greater must be held + ** on the file. + */ + assert( pPager->changeCountDone==0 || pPager->eLock>=RESERVED_LOCK ); + assert( p->eLock!=PENDING_LOCK ); + + switch( p->eState ){ + case PAGER_OPEN: + assert( !MEMDB ); + assert( pPager->errCode==SQLITE_OK ); + assert( sqlite3PcacheRefCount(pPager->pPCache)==0 || pPager->tempFile ); + break; + + case PAGER_READER: + assert( pPager->errCode==SQLITE_OK ); + assert( p->eLock!=UNKNOWN_LOCK ); + assert( p->eLock>=SHARED_LOCK || p->noReadlock ); + break; + + case PAGER_WRITER_LOCKED: + assert( p->eLock!=UNKNOWN_LOCK ); + assert( pPager->errCode==SQLITE_OK ); + if( !pagerUseWal(pPager) ){ + assert( p->eLock>=RESERVED_LOCK ); + } + assert( pPager->dbSize==pPager->dbOrigSize ); + assert( pPager->dbOrigSize==pPager->dbFileSize ); + assert( pPager->dbOrigSize==pPager->dbHintSize ); + assert( pPager->setMaster==0 ); + break; + + case PAGER_WRITER_CACHEMOD: + assert( p->eLock!=UNKNOWN_LOCK ); + assert( pPager->errCode==SQLITE_OK ); + if( !pagerUseWal(pPager) ){ + /* It is possible that if journal_mode=wal here that neither the + ** journal file nor the WAL file are open. This happens during + ** a rollback transaction that switches from journal_mode=off + ** to journal_mode=wal. + */ + assert( p->eLock>=RESERVED_LOCK ); + assert( isOpen(p->jfd) + || p->journalMode==PAGER_JOURNALMODE_OFF + || p->journalMode==PAGER_JOURNALMODE_WAL + ); + } + assert( pPager->dbOrigSize==pPager->dbFileSize ); + assert( pPager->dbOrigSize==pPager->dbHintSize ); + break; + + case PAGER_WRITER_DBMOD: + assert( p->eLock==EXCLUSIVE_LOCK ); + assert( pPager->errCode==SQLITE_OK ); + assert( !pagerUseWal(pPager) ); + assert( p->eLock>=EXCLUSIVE_LOCK ); + assert( isOpen(p->jfd) + || p->journalMode==PAGER_JOURNALMODE_OFF + || p->journalMode==PAGER_JOURNALMODE_WAL + ); + assert( pPager->dbOrigSize<=pPager->dbHintSize ); + break; - /* A temp-file is always in PAGER_EXCLUSIVE or PAGER_SYNCED state. */ - assert( pPager->tempFile==0 || pPager->state>=PAGER_EXCLUSIVE ); + case PAGER_WRITER_FINISHED: + assert( p->eLock==EXCLUSIVE_LOCK ); + assert( pPager->errCode==SQLITE_OK ); + assert( !pagerUseWal(pPager) ); + assert( isOpen(p->jfd) + || p->journalMode==PAGER_JOURNALMODE_OFF + || p->journalMode==PAGER_JOURNALMODE_WAL + ); + break; - /* The changeCountDone flag is always set for temp-files */ - assert( pPager->tempFile==0 || pPager->changeCountDone ); + case PAGER_ERROR: + /* There must be at least one outstanding reference to the pager if + ** in ERROR state. Otherwise the pager should have already dropped + ** back to OPEN state. + */ + assert( pPager->errCode!=SQLITE_OK ); + assert( sqlite3PcacheRefCount(pPager->pPCache)>0 ); + break; + } return 1; } + +/* +** Return a pointer to a human readable string in a static buffer +** containing the state of the Pager object passed as an argument. This +** is intended to be used within debuggers. For example, as an alternative +** to "print *pPager" in gdb: +** +** (gdb) printf "%s", print_pager_state(pPager) +*/ +static char *print_pager_state(Pager *p){ + static char zRet[1024]; + + sqlite3_snprintf(1024, zRet, + "Filename: %s\n" + "State: %s errCode=%d\n" + "Lock: %s\n" + "Locking mode: locking_mode=%s\n" + "Journal mode: journal_mode=%s\n" + "Backing store: tempFile=%d memDb=%d useJournal=%d\n" + "Journal: journalOff=%lld journalHdr=%lld\n" + "Size: dbsize=%d dbOrigSize=%d dbFileSize=%d\n" + , p->zFilename + , p->eState==PAGER_OPEN ? "OPEN" : + p->eState==PAGER_READER ? "READER" : + p->eState==PAGER_WRITER_LOCKED ? "WRITER_LOCKED" : + p->eState==PAGER_WRITER_CACHEMOD ? "WRITER_CACHEMOD" : + p->eState==PAGER_WRITER_DBMOD ? "WRITER_DBMOD" : + p->eState==PAGER_WRITER_FINISHED ? "WRITER_FINISHED" : + p->eState==PAGER_ERROR ? "ERROR" : "?error?" + , (int)p->errCode + , p->eLock==NO_LOCK ? "NO_LOCK" : + p->eLock==RESERVED_LOCK ? "RESERVED" : + p->eLock==EXCLUSIVE_LOCK ? "EXCLUSIVE" : + p->eLock==SHARED_LOCK ? "SHARED" : + p->eLock==UNKNOWN_LOCK ? "UNKNOWN" : "?error?" + , p->exclusiveMode ? "exclusive" : "normal" + , p->journalMode==PAGER_JOURNALMODE_MEMORY ? "memory" : + p->journalMode==PAGER_JOURNALMODE_OFF ? "off" : + p->journalMode==PAGER_JOURNALMODE_DELETE ? "delete" : + p->journalMode==PAGER_JOURNALMODE_PERSIST ? "persist" : + p->journalMode==PAGER_JOURNALMODE_TRUNCATE ? "truncate" : + p->journalMode==PAGER_JOURNALMODE_WAL ? "wal" : "?error?" + , (int)p->tempFile, (int)p->memDb, (int)p->useJournal + , p->journalOff, p->journalHdr + , (int)p->dbSize, (int)p->dbOrigSize, (int)p->dbFileSize + ); + + return zRet; +} #endif /* @@ -32647,6 +35179,7 @@ static int read32bits(sqlite3_file *fd, i64 offset, u32 *pRes){ */ #define put32bits(A,B) sqlite3Put4byte((u8*)A,B) + /* ** Write a 32-bit integer into the given file descriptor. Return SQLITE_OK ** on success or an error code is something goes wrong. @@ -32658,27 +35191,53 @@ static int write32bits(sqlite3_file *fd, i64 offset, u32 val){ } /* -** The argument to this macro is a file descriptor (type sqlite3_file*). -** Return 0 if it is not open, or non-zero (but not 1) if it is. -** -** This is so that expressions can be written as: -** -** if( isOpen(pPager->jfd) ){ ... +** Unlock the database file to level eLock, which must be either NO_LOCK +** or SHARED_LOCK. Regardless of whether or not the call to xUnlock() +** succeeds, set the Pager.eLock variable to match the (attempted) new lock. ** -** instead of -** -** if( pPager->jfd->pMethods ){ ... +** Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is +** called, do not modify it. See the comment above the #define of +** UNKNOWN_LOCK for an explanation of this. */ -#define isOpen(pFd) ((pFd)->pMethods) +static int pagerUnlockDb(Pager *pPager, int eLock){ + int rc = SQLITE_OK; + + assert( !pPager->exclusiveMode ); + assert( eLock==NO_LOCK || eLock==SHARED_LOCK ); + assert( eLock!=NO_LOCK || pagerUseWal(pPager)==0 ); + if( isOpen(pPager->fd) ){ + assert( pPager->eLock>=eLock ); + rc = sqlite3OsUnlock(pPager->fd, eLock); + if( pPager->eLock!=UNKNOWN_LOCK ){ + pPager->eLock = (u8)eLock; + } + IOTRACE(("UNLOCK %p %d\n", pPager, eLock)) + } + return rc; +} /* -** If file pFd is open, call sqlite3OsUnlock() on it. +** Lock the database file to level eLock, which must be either SHARED_LOCK, +** RESERVED_LOCK or EXCLUSIVE_LOCK. If the caller is successful, set the +** Pager.eLock variable to the new locking state. +** +** Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is +** called, do not modify it unless the new locking state is EXCLUSIVE_LOCK. +** See the comment above the #define of UNKNOWN_LOCK for an explanation +** of this. */ -static int osUnlock(sqlite3_file *pFd, int eLock){ - if( !isOpen(pFd) ){ - return SQLITE_OK; +static int pagerLockDb(Pager *pPager, int eLock){ + int rc = SQLITE_OK; + + assert( eLock==SHARED_LOCK || eLock==RESERVED_LOCK || eLock==EXCLUSIVE_LOCK ); + if( pPager->eLockeLock==UNKNOWN_LOCK ){ + rc = sqlite3OsLock(pPager->fd, eLock); + if( rc==SQLITE_OK && (pPager->eLock!=UNKNOWN_LOCK||eLock==EXCLUSIVE_LOCK) ){ + pPager->eLock = (u8)eLock; + IOTRACE(("LOCK %p %d\n", pPager, eLock)) + } } - return sqlite3OsUnlock(pFd, eLock); + return rc; } /* @@ -32754,13 +35313,14 @@ static void pager_set_pagehash(PgHdr *pPage){ #define CHECK_PAGE(x) checkPage(x) static void checkPage(PgHdr *pPg){ Pager *pPager = pPg->pPager; - assert( !pPg->pageHash || pPager->errCode - || (pPg->flags&PGHDR_DIRTY) || pPg->pageHash==pager_pagehash(pPg) ); + assert( pPager->eState!=PAGER_ERROR ); + assert( (pPg->flags&PGHDR_DIRTY) || pPg->pageHash==pager_pagehash(pPg) ); } #else #define pager_datahash(X,Y) 0 #define pager_pagehash(X) 0 +#define pager_set_pagehash(X) #define CHECK_PAGE(x) #endif /* SQLITE_CHECK_PAGES */ @@ -32927,7 +35487,7 @@ static int zeroJournalHdr(Pager *pPager, int doTruncate){ static int writeJournalHdr(Pager *pPager){ int rc = SQLITE_OK; /* Return code */ char *zHeader = pPager->pTmpSpace; /* Temporary space used to build header */ - u32 nHeader = pPager->pageSize; /* Size of buffer pointed to by zHeader */ + u32 nHeader = (u32)pPager->pageSize;/* Size of buffer pointed to by zHeader */ u32 nWrite; /* Bytes of header sector written */ int ii; /* Loop counter */ @@ -32970,7 +35530,7 @@ static int writeJournalHdr(Pager *pPager){ ** that garbage data is never appended to the journal file. */ assert( isOpen(pPager->fd) || pPager->noSync ); - if( (pPager->noSync) || (pPager->journalMode==PAGER_JOURNALMODE_MEMORY) + if( pPager->noSync || (pPager->journalMode==PAGER_JOURNALMODE_MEMORY) || (sqlite3OsDeviceCharacteristics(pPager->fd)&SQLITE_IOCAP_SAFE_APPEND) ){ memcpy(zHeader, aJournalMagic, sizeof(aJournalMagic)); @@ -33018,6 +35578,7 @@ static int writeJournalHdr(Pager *pPager){ for(nWrite=0; rc==SQLITE_OK&&nWritejournalHdr, nHeader)) rc = sqlite3OsWrite(pPager->jfd, zHeader, nHeader, pPager->journalOff); + assert( pPager->journalHdr <= pPager->journalOff ); pPager->journalOff += nHeader; } @@ -33093,7 +35654,6 @@ static int readJournalHdr( if( pPager->journalOff==0 ){ u32 iPageSize; /* Page-size field of journal header */ u32 iSectorSize; /* Sector-size field of journal header */ - u16 iPageSize16; /* Copy of iPageSize in 16-bit variable */ /* Read the page-size and sector-size journal header fields. */ if( SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+20, &iSectorSize)) @@ -33102,6 +35662,14 @@ static int readJournalHdr( return rc; } + /* Versions of SQLite prior to 3.5.8 set the page-size field of the + ** journal header to zero. In this case, assume that the Pager.pageSize + ** variable is already set to the correct page size. + */ + if( iPageSize==0 ){ + iPageSize = pPager->pageSize; + } + /* Check that the values read from the page-size and sector-size fields ** are within range. To be 'in range', both values need to be a power ** of two greater than or equal to 512 or 32, and not greater than their @@ -33123,10 +35691,8 @@ static int readJournalHdr( ** Use a testcase() macro to make sure that malloc failure within ** PagerSetPagesize() is tested. */ - iPageSize16 = (u16)iPageSize; - rc = sqlite3PagerSetPagesize(pPager, &iPageSize16, -1); + rc = sqlite3PagerSetPagesize(pPager, &iPageSize, -1); testcase( rc!=SQLITE_OK ); - assert( rc!=SQLITE_OK || iPageSize16==(u16)iPageSize ); /* Update the assumed sector-size to match the value used by ** the process that created this journal. If this journal was @@ -33168,7 +35734,10 @@ static int writeMasterJournal(Pager *pPager, const char *zMaster){ i64 jrnlSize; /* Size of journal file on disk */ u32 cksum = 0; /* Checksum of string zMaster */ - if( !zMaster || pPager->setMaster + assert( pPager->setMaster==0 ); + assert( !pagerUseWal(pPager) ); + + if( !zMaster || pPager->journalMode==PAGER_JOURNALMODE_MEMORY || pPager->journalMode==PAGER_JOURNALMODE_OFF ){ @@ -33176,6 +35745,7 @@ static int writeMasterJournal(Pager *pPager, const char *zMaster){ } pPager->setMaster = 1; assert( isOpen(pPager->jfd) ); + assert( pPager->journalHdr <= pPager->journalOff ); /* Calculate the length in bytes and the checksum of zMaster */ for(nMaster=0; zMaster[nMaster]; nMaster++){ @@ -33203,7 +35773,6 @@ static int writeMasterJournal(Pager *pPager, const char *zMaster){ return rc; } pPager->journalOff += (nMaster+20); - pPager->needSync = !pPager->noSync; /* If the pager is in peristent-journal mode, then the physical ** journal-file may extend past the end of the master-journal name @@ -33239,17 +35808,11 @@ static PgHdr *pager_lookup(Pager *pPager, Pgno pgno){ } /* -** Unless the pager is in error-state, discard all in-memory pages. If -** the pager is in error-state, then this call is a no-op. -** -** TODO: Why can we not reset the pager while in error state? +** Discard the entire contents of the in-memory page-cache. */ static void pager_reset(Pager *pPager){ - if( SQLITE_OK==pPager->errCode ){ - sqlite3BackupRestart(pPager->pBackup); - sqlite3PcacheClear(pPager->pPCache); - pPager->dbSizeValid = 0; - } + sqlite3BackupRestart(pPager->pBackup); + sqlite3PcacheClear(pPager->pPCache); } /* @@ -33292,71 +35855,108 @@ static int addToSavepointBitvecs(Pager *pPager, Pgno pgno){ } /* -** Unlock the database file. This function is a no-op if the pager -** is in exclusive mode. +** This function is a no-op if the pager is in exclusive mode and not +** in the ERROR state. Otherwise, it switches the pager to PAGER_OPEN +** state. +** +** If the pager is not in exclusive-access mode, the database file is +** completely unlocked. If the file is unlocked and the file-system does +** not exhibit the UNDELETABLE_WHEN_OPEN property, the journal file is +** closed (if it is open). ** -** If the pager is currently in error state, discard the contents of -** the cache and reset the Pager structure internal state. If there is -** an open journal-file, then the next time a shared-lock is obtained -** on the pager file (by this or any other process), it will be -** treated as a hot-journal and rolled back. +** If the pager is in ERROR state when this function is called, the +** contents of the pager cache are discarded before switching back to +** the OPEN state. Regardless of whether the pager is in exclusive-mode +** or not, any journal file left in the file-system will be treated +** as a hot-journal and rolled back the next time a read-transaction +** is opened (by this or by any other connection). */ static void pager_unlock(Pager *pPager){ - if( !pPager->exclusiveMode ){ - int rc; /* Return code */ - /* Always close the journal file when dropping the database lock. - ** Otherwise, another connection with journal_mode=delete might - ** delete the file out from under us. - */ - sqlite3OsClose(pPager->jfd); - sqlite3BitvecDestroy(pPager->pInJournal); - pPager->pInJournal = 0; - releaseAllSavepoints(pPager); + assert( pPager->eState==PAGER_READER + || pPager->eState==PAGER_OPEN + || pPager->eState==PAGER_ERROR + ); - /* If the file is unlocked, somebody else might change it. The - ** values stored in Pager.dbSize etc. might become invalid if - ** this happens. TODO: Really, this doesn't need to be cleared - ** until the change-counter check fails in PagerSharedLock(). - */ - pPager->dbSizeValid = 0; + sqlite3BitvecDestroy(pPager->pInJournal); + pPager->pInJournal = 0; + releaseAllSavepoints(pPager); - rc = osUnlock(pPager->fd, NO_LOCK); - if( rc ){ - pPager->errCode = rc; + if( pagerUseWal(pPager) ){ + assert( !isOpen(pPager->jfd) ); + sqlite3WalEndReadTransaction(pPager->pWal); + pPager->eState = PAGER_OPEN; + }else if( !pPager->exclusiveMode ){ + int rc; /* Error code returned by pagerUnlockDb() */ + int iDc = isOpen(pPager->fd)?sqlite3OsDeviceCharacteristics(pPager->fd):0; + + /* If the operating system support deletion of open files, then + ** close the journal file when dropping the database lock. Otherwise + ** another connection with journal_mode=delete might delete the file + ** out from under us. + */ + assert( (PAGER_JOURNALMODE_MEMORY & 5)!=1 ); + assert( (PAGER_JOURNALMODE_OFF & 5)!=1 ); + assert( (PAGER_JOURNALMODE_WAL & 5)!=1 ); + assert( (PAGER_JOURNALMODE_DELETE & 5)!=1 ); + assert( (PAGER_JOURNALMODE_TRUNCATE & 5)==1 ); + assert( (PAGER_JOURNALMODE_PERSIST & 5)==1 ); + if( 0==(iDc & SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN) + || 1!=(pPager->journalMode & 5) + ){ + sqlite3OsClose(pPager->jfd); } - IOTRACE(("UNLOCK %p\n", pPager)) - /* If Pager.errCode is set, the contents of the pager cache cannot be - ** trusted. Now that the pager file is unlocked, the contents of the - ** cache can be discarded and the error code safely cleared. + /* If the pager is in the ERROR state and the call to unlock the database + ** file fails, set the current lock to UNKNOWN_LOCK. See the comment + ** above the #define for UNKNOWN_LOCK for an explanation of why this + ** is necessary. */ - if( pPager->errCode ){ - if( rc==SQLITE_OK ){ - pPager->errCode = SQLITE_OK; - } - pager_reset(pPager); + rc = pagerUnlockDb(pPager, NO_LOCK); + if( rc!=SQLITE_OK && pPager->eState==PAGER_ERROR ){ + pPager->eLock = UNKNOWN_LOCK; } + /* The pager state may be changed from PAGER_ERROR to PAGER_OPEN here + ** without clearing the error code. This is intentional - the error + ** code is cleared and the cache reset in the block below. + */ + assert( pPager->errCode || pPager->eState!=PAGER_ERROR ); pPager->changeCountDone = 0; - pPager->state = PAGER_UNLOCK; - pPager->dbModified = 0; + pPager->eState = PAGER_OPEN; } + + /* If Pager.errCode is set, the contents of the pager cache cannot be + ** trusted. Now that there are no outstanding references to the pager, + ** it can safely move back to PAGER_OPEN state. This happens in both + ** normal and exclusive-locking mode. + */ + if( pPager->errCode ){ + assert( !MEMDB ); + pager_reset(pPager); + pPager->changeCountDone = pPager->tempFile; + pPager->eState = PAGER_OPEN; + pPager->errCode = SQLITE_OK; + } + + pPager->journalOff = 0; + pPager->journalHdr = 0; + pPager->setMaster = 0; } /* -** This function should be called when an IOERR, CORRUPT or FULL error -** may have occurred. The first argument is a pointer to the pager -** structure, the second the error-code about to be returned by a pager -** API function. The value returned is a copy of the second argument -** to this function. +** This function is called whenever an IOERR or FULL error that requires +** the pager to transition into the ERROR state may ahve occurred. +** The first argument is a pointer to the pager structure, the second +** the error-code about to be returned by a pager API function. The +** value returned is a copy of the second argument to this function. ** -** If the second argument is SQLITE_IOERR, SQLITE_CORRUPT, or SQLITE_FULL -** the error becomes persistent. Until the persisten error is cleared, -** subsequent API calls on this Pager will immediately return the same -** error code. +** If the second argument is SQLITE_FULL, SQLITE_IOERR or one of the +** IOERR sub-codes, the pager enters the ERROR state and the error code +** is stored in Pager.errCode. While the pager remains in the ERROR state, +** all major API calls on the Pager will immediately return Pager.errCode. ** -** A persistent error indicates that the contents of the pager-cache +** The ERROR state indicates that the contents of the pager-cache ** cannot be trusted. This state can be cleared by completely discarding ** the contents of the pager-cache. If a transaction was active when ** the persistent error occurred, then the rollback journal may need @@ -33373,45 +35973,21 @@ static int pager_error(Pager *pPager, int rc){ ); if( rc2==SQLITE_FULL || rc2==SQLITE_IOERR ){ pPager->errCode = rc; + pPager->eState = PAGER_ERROR; } return rc; } /* -** Execute a rollback if a transaction is active and unlock the -** database file. -** -** If the pager has already entered the error state, do not attempt -** the rollback at this time. Instead, pager_unlock() is called. The -** call to pager_unlock() will discard all in-memory pages, unlock -** the database file and clear the error state. If this means that -** there is a hot-journal left in the file-system, the next connection -** to obtain a shared lock on the pager (which may be this one) will -** roll it back. -** -** If the pager has not already entered the error state, but an IO or -** malloc error occurs during a rollback, then this will itself cause -** the pager to enter the error state. Which will be cleared by the -** call to pager_unlock(), as described above. -*/ -static void pagerUnlockAndRollback(Pager *pPager){ - if( pPager->errCode==SQLITE_OK && pPager->state>=PAGER_RESERVED ){ - sqlite3BeginBenignMalloc(); - sqlite3PagerRollback(pPager); - sqlite3EndBenignMalloc(); - } - pager_unlock(pPager); -} - -/* ** This routine ends a transaction. A transaction is usually ended by ** either a COMMIT or a ROLLBACK operation. This routine may be called ** after rollback of a hot-journal, or if an error occurs while opening ** the journal file or writing the very first journal-header of a ** database transaction. ** -** If the pager is in PAGER_SHARED or PAGER_UNLOCK state when this -** routine is called, it is a no-op (returns SQLITE_OK). +** This routine is never called in PAGER_ERROR state. If it is called +** in PAGER_NONE or PAGER_SHARED state and the lock held is less +** exclusive than a RESERVED lock, it is a no-op. ** ** Otherwise, any active savepoints are released. ** @@ -33442,13 +36018,9 @@ static void pagerUnlockAndRollback(Pager *pPager){ ** DELETE and the pager is in exclusive mode, the method described under ** journalMode==PERSIST is used instead. ** -** After the journal is finalized, if running in non-exclusive mode, the -** pager moves to PAGER_SHARED state (and downgrades the lock on the -** database file accordingly). -** -** If the pager is running in exclusive mode and is in PAGER_SYNCED state, -** it moves to PAGER_EXCLUSIVE. No locks are downgraded when running in -** exclusive mode. +** After the journal is finalized, the pager moves to PAGER_READER state. +** If running in non-exclusive rollback mode, the lock on the file is +** downgraded to a SHARED_LOCK. ** ** SQLITE_OK is returned if no error occurs. If an error occurs during ** any of the IO operations to finalize the journal file or unlock the @@ -33463,13 +36035,29 @@ static int pager_end_transaction(Pager *pPager, int hasMaster){ int rc = SQLITE_OK; /* Error code from journal finalization operation */ int rc2 = SQLITE_OK; /* Error code from db file unlock operation */ - if( pPager->stateeState!=PAGER_ERROR ); + if( pPager->eStateeLockjfd) || pPager->pInJournal==0 ); if( isOpen(pPager->jfd) ){ + assert( !pagerUseWal(pPager) ); /* Finalize the journal file. */ if( sqlite3IsMemJournal(pPager->jfd) ){ @@ -33482,61 +36070,98 @@ static int pager_end_transaction(Pager *pPager, int hasMaster){ rc = sqlite3OsTruncate(pPager->jfd, 0); } pPager->journalOff = 0; - pPager->journalStarted = 0; - }else if( pPager->exclusiveMode - || pPager->journalMode==PAGER_JOURNALMODE_PERSIST + }else if( pPager->journalMode==PAGER_JOURNALMODE_PERSIST + || (pPager->exclusiveMode && pPager->journalMode!=PAGER_JOURNALMODE_WAL) ){ rc = zeroJournalHdr(pPager, hasMaster); - pager_error(pPager, rc); pPager->journalOff = 0; - pPager->journalStarted = 0; }else{ /* This branch may be executed with Pager.journalMode==MEMORY if ** a hot-journal was just rolled back. In this case the journal ** file should be closed and deleted. If this connection writes to - ** the database file, it will do so using an in-memory journal. */ + ** the database file, it will do so using an in-memory journal. + */ assert( pPager->journalMode==PAGER_JOURNALMODE_DELETE || pPager->journalMode==PAGER_JOURNALMODE_MEMORY + || pPager->journalMode==PAGER_JOURNALMODE_WAL ); sqlite3OsClose(pPager->jfd); if( !pPager->tempFile ){ rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0); } } + } #ifdef SQLITE_CHECK_PAGES - sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash); + sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash); + if( pPager->dbSize==0 && sqlite3PcacheRefCount(pPager->pPCache)>0 ){ + PgHdr *p = pager_lookup(pPager, 1); + if( p ){ + p->pageHash = 0; + sqlite3PagerUnref(p); + } + } #endif - sqlite3PcacheCleanAll(pPager->pPCache); - sqlite3BitvecDestroy(pPager->pInJournal); - pPager->pInJournal = 0; - pPager->nRec = 0; - } + sqlite3BitvecDestroy(pPager->pInJournal); + pPager->pInJournal = 0; + pPager->nRec = 0; + sqlite3PcacheCleanAll(pPager->pPCache); + sqlite3PcacheTruncate(pPager->pPCache, pPager->dbSize); - if( !pPager->exclusiveMode ){ - rc2 = osUnlock(pPager->fd, SHARED_LOCK); - pPager->state = PAGER_SHARED; + if( pagerUseWal(pPager) ){ + /* Drop the WAL write-lock, if any. Also, if the connection was in + ** locking_mode=exclusive mode but is no longer, drop the EXCLUSIVE + ** lock held on the database file. + */ + rc2 = sqlite3WalEndWriteTransaction(pPager->pWal); + assert( rc2==SQLITE_OK ); + } + if( !pPager->exclusiveMode + && (!pagerUseWal(pPager) || sqlite3WalExclusiveMode(pPager->pWal, 0)) + ){ + rc2 = pagerUnlockDb(pPager, SHARED_LOCK); pPager->changeCountDone = 0; - }else if( pPager->state==PAGER_SYNCED ){ - pPager->state = PAGER_EXCLUSIVE; } + pPager->eState = PAGER_READER; pPager->setMaster = 0; - pPager->needSync = 0; - pPager->dbModified = 0; - - /* TODO: Is this optimal? Why is the db size invalidated here - ** when the database file is not unlocked? */ - pPager->dbOrigSize = 0; - sqlite3PcacheTruncate(pPager->pPCache, pPager->dbSize); - if( !MEMDB ){ - pPager->dbSizeValid = 0; - } return (rc==SQLITE_OK?rc2:rc); } /* +** Execute a rollback if a transaction is active and unlock the +** database file. +** +** If the pager has already entered the ERROR state, do not attempt +** the rollback at this time. Instead, pager_unlock() is called. The +** call to pager_unlock() will discard all in-memory pages, unlock +** the database file and move the pager back to OPEN state. If this +** means that there is a hot-journal left in the file-system, the next +** connection to obtain a shared lock on the pager (which may be this one) +** will roll it back. +** +** If the pager has not already entered the ERROR state, but an IO or +** malloc error occurs during a rollback, then this will itself cause +** the pager to enter the ERROR state. Which will be cleared by the +** call to pager_unlock(), as described above. +*/ +static void pagerUnlockAndRollback(Pager *pPager){ + if( pPager->eState!=PAGER_ERROR && pPager->eState!=PAGER_OPEN ){ + assert( assert_pager_state(pPager) ); + if( pPager->eState>=PAGER_WRITER_LOCKED ){ + sqlite3BeginBenignMalloc(); + sqlite3PagerRollback(pPager); + sqlite3EndBenignMalloc(); + }else if( !pPager->exclusiveMode ){ + assert( pPager->eState==PAGER_READER ); + pager_end_transaction(pPager, 0); + } + } + pager_unlock(pPager); +} + +/* ** Parameter aData must point to a buffer of pPager->pageSize bytes ** of data. Compute and return a checksum based ont the contents of the ** page of data and the current value of pPager->cksumInit. @@ -33566,14 +36191,28 @@ static u32 pager_cksum(Pager *pPager, const u8 *aData){ } /* +** Report the current page size and number of reserved bytes back +** to the codec. +*/ +#ifdef SQLITE_HAS_CODEC +static void pagerReportSize(Pager *pPager){ + if( pPager->xCodecSizeChng ){ + pPager->xCodecSizeChng(pPager->pCodec, pPager->pageSize, + (int)pPager->nReserve); + } +} +#else +# define pagerReportSize(X) /* No-op if we do not support a codec */ +#endif + +/* ** Read a single page from either the journal file (if isMainJrnl==1) or ** from the sub-journal (if isMainJrnl==0) and playback that page. ** The page begins at offset *pOffset into the file. The *pOffset ** value is increased to the start of the next page in the journal. ** -** The isMainJrnl flag is true if this is the main rollback journal and -** false for the statement journal. The main rollback journal uses -** checksums - the statement journal does not. +** The main rollback journal uses checksums - the statement journal does +** not. ** ** If the page number of the page record read from the (sub-)journal file ** is greater than the current value of Pager.dbSize, then playback is @@ -33605,11 +36244,10 @@ static u32 pager_cksum(Pager *pPager, const u8 *aData){ */ static int pager_playback_one_page( Pager *pPager, /* The pager being played back */ - int isMainJrnl, /* 1 -> main journal. 0 -> sub-journal. */ - int isUnsync, /* True if reading from unsynced main journal */ i64 *pOffset, /* Offset of record to playback */ - int isSavepnt, /* True for a savepoint rollback */ - Bitvec *pDone /* Bitvec of pages already played back */ + Bitvec *pDone, /* Bitvec of pages already played back */ + int isMainJrnl, /* 1 -> main journal. 0 -> sub-journal. */ + int isSavepnt /* True for a savepoint rollback */ ){ int rc; PgHdr *pPg; /* An existing page in the cache */ @@ -33617,6 +36255,7 @@ static int pager_playback_one_page( u32 cksum; /* Checksum used for sanity checking */ char *aData; /* Temporary storage for the page */ sqlite3_file *jfd; /* The file descriptor for the journal file */ + int isSynced; /* True if journal page is synced */ assert( (isMainJrnl&~1)==0 ); /* isMainJrnl is 0 or 1 */ assert( (isSavepnt&~1)==0 ); /* isSavepnt is 0 or 1 */ @@ -33625,6 +36264,18 @@ static int pager_playback_one_page( aData = pPager->pTmpSpace; assert( aData ); /* Temp storage must have already been allocated */ + assert( pagerUseWal(pPager)==0 || (!isMainJrnl && isSavepnt) ); + + /* Either the state is greater than PAGER_WRITER_CACHEMOD (a transaction + ** or savepoint rollback done at the request of the caller) or this is + ** a hot-journal rollback. If it is a hot-journal rollback, the pager + ** is in state OPEN and holds an EXCLUSIVE lock. Hot-journal rollback + ** only reads from the main journal, not the sub-journal. + */ + assert( pPager->eState>=PAGER_WRITER_CACHEMOD + || (pPager->eState==PAGER_OPEN && pPager->eLock==EXCLUSIVE_LOCK) + ); + assert( pPager->eState>=PAGER_WRITER_CACHEMOD || isMainJrnl ); /* Read the page number and page data from the journal or sub-journal ** file. Return an error code to the caller if an IO error occurs. @@ -33656,13 +36307,21 @@ static int pager_playback_one_page( } } + /* If this page has already been played by before during the current + ** rollback, then don't bother to play it back again. + */ if( pDone && (rc = sqlite3BitvecSet(pDone, pgno))!=SQLITE_OK ){ return rc; } - assert( pPager->state==PAGER_RESERVED || pPager->state>=PAGER_EXCLUSIVE ); + /* When playing back page 1, restore the nReserve setting + */ + if( pgno==1 && pPager->nReserve!=((u8*)aData)[20] ){ + pPager->nReserve = ((u8*)aData)[20]; + pagerReportSize(pPager); + } - /* If the pager is in RESERVED state, then there must be a copy of this + /* If the pager is in CACHEMOD state, then there must be a copy of this ** page in the pager cache. In this case just update the pager cache, ** not the database file. The page is left marked dirty in this case. ** @@ -33673,8 +36332,11 @@ static int pager_playback_one_page( ** either. So the condition described in the above paragraph is not ** assert()able. ** - ** If in EXCLUSIVE state, then we update the pager cache if it exists - ** and the main file. The page is then marked not dirty. + ** If in WRITER_DBMOD, WRITER_FINISHED or OPEN state, then we update the + ** pager cache if it exists and the main file. The page is then marked + ** not dirty. Since this code is only executed in PAGER_OPEN state for + ** a hot-journal rollback, it is guaranteed that the page-cache is empty + ** if the pager is in OPEN state. ** ** Ticket #1171: The statement journal might contain page content that is ** different from the page content at the start of the transaction. @@ -33694,18 +36356,29 @@ static int pager_playback_one_page( ** is possible to fail a statement on a database that does not yet exist. ** Do not attempt to write if database file has never been opened. */ - pPg = pager_lookup(pPager, pgno); + if( pagerUseWal(pPager) ){ + pPg = 0; + }else{ + pPg = pager_lookup(pPager, pgno); + } assert( pPg || !MEMDB ); + assert( pPager->eState!=PAGER_OPEN || pPg==0 ); PAGERTRACE(("PLAYBACK %d page %d hash(%08x) %s\n", PAGERID(pPager), pgno, pager_datahash(pPager->pageSize, (u8*)aData), (isMainJrnl?"main-journal":"sub-journal") )); - if( (pPager->state>=PAGER_EXCLUSIVE) - && (pPg==0 || 0==(pPg->flags&PGHDR_NEED_SYNC)) - && isOpen(pPager->fd) - && !isUnsync + if( isMainJrnl ){ + isSynced = pPager->noSync || (*pOffset <= pPager->journalHdr); + }else{ + isSynced = (pPg==0 || 0==(pPg->flags & PGHDR_NEED_SYNC)); + } + if( isOpen(pPager->fd) + && (pPager->eState>=PAGER_WRITER_DBMOD || pPager->eState==PAGER_OPEN) + && isSynced ){ i64 ofst = (pgno-1)*(i64)pPager->pageSize; + testcase( !isSavepnt && pPg!=0 && (pPg->flags&PGHDR_NEED_SYNC)!=0 ); + assert( !pagerUseWal(pPager) ); rc = sqlite3OsWrite(pPager->fd, (u8*)aData, pPager->pageSize, ofst); if( pgno>pPager->dbFileSize ){ pPager->dbFileSize = pgno; @@ -33733,9 +36406,12 @@ static int pager_playback_one_page( ** requiring a journal-sync before it is written. */ assert( isSavepnt ); - if( (rc = sqlite3PagerAcquire(pPager, pgno, &pPg, 1))!=SQLITE_OK ){ - return rc; - } + assert( pPager->doNotSpill==0 ); + pPager->doNotSpill++; + rc = sqlite3PagerAcquire(pPager, pgno, &pPg, 1); + assert( pPager->doNotSpill==1 ); + pPager->doNotSpill--; + if( rc!=SQLITE_OK ) return rc; pPg->flags &= ~PGHDR_NEED_READ; sqlite3PcacheMakeDirty(pPg); } @@ -33754,7 +36430,8 @@ static int pager_playback_one_page( /* If the contents of this page were just restored from the main ** journal file, then its content must be as they were when the ** transaction was first opened. In this case we can mark the page - ** as clean, since there will be no need to write it out to the. + ** as clean, since there will be no need to write it out to the + ** database. ** ** There is one exception to this rule. If the page is being rolled ** back as part of a savepoint (or statement) rollback from an @@ -33769,11 +36446,11 @@ static int pager_playback_one_page( ** segment is synced. If a crash occurs during or following this, ** database corruption may ensue. */ + assert( !pagerUseWal(pPager) ); sqlite3PcacheMakeClean(pPg); } -#ifdef SQLITE_CHECK_PAGES - pPg->pageHash = pager_pagehash(pPg); -#endif + pager_set_pagehash(pPg); + /* If this was page 1, then restore the value of Pager.dbFileVers. ** Do this before any decoding. */ if( pgno==1 ){ @@ -33837,6 +36514,9 @@ static int pager_delmaster(Pager *pPager, const char *zMaster){ sqlite3_file *pJournal; /* Malloc'd child-journal file descriptor */ char *zMasterJournal = 0; /* Contents of master journal file */ i64 nMasterJournal; /* Size of master journal file */ + char *zJournal; /* Pointer to one journal within MJ file */ + char *zMasterPtr; /* Space to hold MJ filename from a journal file */ + int nMasterPtr; /* Amount of space allocated to zMasterPtr[] */ /* Allocate space for both the pJournal and pMaster file descriptors. ** If successful, open the master journal file for reading. @@ -33851,73 +36531,68 @@ static int pager_delmaster(Pager *pPager, const char *zMaster){ } if( rc!=SQLITE_OK ) goto delmaster_out; + /* Load the entire master journal file into space obtained from + ** sqlite3_malloc() and pointed to by zMasterJournal. Also obtain + ** sufficient space (in zMasterPtr) to hold the names of master + ** journal files extracted from regular rollback-journals. + */ rc = sqlite3OsFileSize(pMaster, &nMasterJournal); if( rc!=SQLITE_OK ) goto delmaster_out; + nMasterPtr = pVfs->mxPathname+1; + zMasterJournal = sqlite3Malloc((int)nMasterJournal + nMasterPtr + 1); + if( !zMasterJournal ){ + rc = SQLITE_NOMEM; + goto delmaster_out; + } + zMasterPtr = &zMasterJournal[nMasterJournal+1]; + rc = sqlite3OsRead(pMaster, zMasterJournal, (int)nMasterJournal, 0); + if( rc!=SQLITE_OK ) goto delmaster_out; + zMasterJournal[nMasterJournal] = 0; - if( nMasterJournal>0 ){ - char *zJournal; - char *zMasterPtr = 0; - int nMasterPtr = pVfs->mxPathname+1; - - /* Load the entire master journal file into space obtained from - ** sqlite3_malloc() and pointed to by zMasterJournal. - */ - zMasterJournal = sqlite3Malloc((int)nMasterJournal + nMasterPtr + 1); - if( !zMasterJournal ){ - rc = SQLITE_NOMEM; + zJournal = zMasterJournal; + while( (zJournal-zMasterJournal)pageSize bytes). If the file -** on disk is currently larger than nPage pages, then use the VFS +** If the main database file is not open, or the pager is not in either +** DBMOD or OPEN state, this function is a no-op. Otherwise, the size +** of the file is changed to nPage pages (nPage*pPager->pageSize bytes). +** If the file on disk is currently larger than nPage pages, then use the VFS ** xTruncate() method to truncate it. ** ** Or, it might might be the case that the file on disk is smaller than @@ -33944,8 +36619,14 @@ delmaster_out: */ static int pager_truncate(Pager *pPager, Pgno nPage){ int rc = SQLITE_OK; - if( pPager->state>=PAGER_EXCLUSIVE && isOpen(pPager->fd) ){ + assert( pPager->eState!=PAGER_ERROR ); + assert( pPager->eState!=PAGER_READER ); + + if( isOpen(pPager->fd) + && (pPager->eState>=PAGER_WRITER_DBMOD || pPager->eState==PAGER_OPEN) + ){ i64 currentSize, newSize; + assert( pPager->eLock==EXCLUSIVE_LOCK ); /* TODO: Is it safe to use Pager.dbFileSize here? */ rc = sqlite3OsFileSize(pPager->fd, ¤tSize); newSize = pPager->pageSize*(i64)nPage; @@ -34069,7 +36750,7 @@ static int pager_playback(Pager *pPager, int isHot){ */ assert( isOpen(pPager->jfd) ); rc = sqlite3OsFileSize(pPager->jfd, &szJ); - if( rc!=SQLITE_OK || szJ==0 ){ + if( rc!=SQLITE_OK ){ goto end_playback; } @@ -34101,11 +36782,9 @@ static int pager_playback(Pager *pPager, int isHot){ ** occurs. */ while( 1 ){ - int isUnsync = 0; - /* Read the next journal header from the journal file. If there are ** not enough bytes left in the journal file for a complete header, or - ** it is corrupted, then a process must of failed while writing it. + ** it is corrupted, then a process must have failed while writing it. ** This indicates nothing more needs to be rolled back. */ rc = readJournalHdr(pPager, isHot, szJ, &nRec, &mxPg); @@ -34143,7 +36822,6 @@ static int pager_playback(Pager *pPager, int isHot){ if( nRec==0 && !isHot && pPager->journalHdr+JOURNAL_HDR_SZ(pPager)==pPager->journalOff ){ nRec = (int)((szJ - pPager->journalOff) / JOURNAL_PG_SZ(pPager)); - isUnsync = 1; } /* If this is the first header read from the journal, truncate the @@ -34165,12 +36843,20 @@ static int pager_playback(Pager *pPager, int isHot){ pager_reset(pPager); needPagerReset = 0; } - rc = pager_playback_one_page(pPager,1,isUnsync,&pPager->journalOff,0,0); + rc = pager_playback_one_page(pPager,&pPager->journalOff,0,1,0); if( rc!=SQLITE_OK ){ if( rc==SQLITE_DONE ){ rc = SQLITE_OK; pPager->journalOff = szJ; break; + }else if( rc==SQLITE_IOERR_SHORT_READ ){ + /* If the journal has been truncated, simply stop reading and + ** processing the journal. This might happen if the journal was + ** not completely written and synced prior to a crash. In that + ** case, the database should have never been written in the + ** first place so it is OK to simply abandon the rollback. */ + rc = SQLITE_OK; + goto end_playback; }else{ /* If we are unable to rollback, quit and return the error ** code. This will cause the pager to enter the error state @@ -34212,7 +36898,9 @@ end_playback: rc = readMasterJournal(pPager->jfd, zMaster, pPager->pVfs->mxPathname+1); testcase( rc!=SQLITE_OK ); } - if( rc==SQLITE_OK && pPager->noSync==0 && pPager->state>=PAGER_EXCLUSIVE ){ + if( rc==SQLITE_OK && !pPager->noSync + && (pPager->eState>=PAGER_WRITER_DBMOD || pPager->eState==PAGER_OPEN) + ){ rc = sqlite3OsSync(pPager->fd, pPager->sync_flags); } if( rc==SQLITE_OK ){ @@ -34235,6 +36923,319 @@ end_playback: return rc; } + +/* +** Read the content for page pPg out of the database file and into +** pPg->pData. A shared lock or greater must be held on the database +** file before this function is called. +** +** If page 1 is read, then the value of Pager.dbFileVers[] is set to +** the value read from the database file. +** +** If an IO error occurs, then the IO error is returned to the caller. +** Otherwise, SQLITE_OK is returned. +*/ +static int readDbPage(PgHdr *pPg){ + Pager *pPager = pPg->pPager; /* Pager object associated with page pPg */ + Pgno pgno = pPg->pgno; /* Page number to read */ + int rc = SQLITE_OK; /* Return code */ + int isInWal = 0; /* True if page is in log file */ + int pgsz = pPager->pageSize; /* Number of bytes to read */ + + assert( pPager->eState>=PAGER_READER && !MEMDB ); + assert( isOpen(pPager->fd) ); + + if( NEVER(!isOpen(pPager->fd)) ){ + assert( pPager->tempFile ); + memset(pPg->pData, 0, pPager->pageSize); + return SQLITE_OK; + } + + if( pagerUseWal(pPager) ){ + /* Try to pull the page from the write-ahead log. */ + rc = sqlite3WalRead(pPager->pWal, pgno, &isInWal, pgsz, pPg->pData); + } + if( rc==SQLITE_OK && !isInWal ){ + i64 iOffset = (pgno-1)*(i64)pPager->pageSize; + rc = sqlite3OsRead(pPager->fd, pPg->pData, pgsz, iOffset); + if( rc==SQLITE_IOERR_SHORT_READ ){ + rc = SQLITE_OK; + } + } + + if( pgno==1 ){ + if( rc ){ + /* If the read is unsuccessful, set the dbFileVers[] to something + ** that will never be a valid file version. dbFileVers[] is a copy + ** of bytes 24..39 of the database. Bytes 28..31 should always be + ** zero or the size of the database in page. Bytes 32..35 and 35..39 + ** should be page numbers which are never 0xffffffff. So filling + ** pPager->dbFileVers[] with all 0xff bytes should suffice. + ** + ** For an encrypted database, the situation is more complex: bytes + ** 24..39 of the database are white noise. But the probability of + ** white noising equaling 16 bytes of 0xff is vanishingly small so + ** we should still be ok. + */ + memset(pPager->dbFileVers, 0xff, sizeof(pPager->dbFileVers)); + }else{ + u8 *dbFileVers = &((u8*)pPg->pData)[24]; + memcpy(&pPager->dbFileVers, dbFileVers, sizeof(pPager->dbFileVers)); + } + } + CODEC1(pPager, pPg->pData, pgno, 3, rc = SQLITE_NOMEM); + + PAGER_INCR(sqlite3_pager_readdb_count); + PAGER_INCR(pPager->nRead); + IOTRACE(("PGIN %p %d\n", pPager, pgno)); + PAGERTRACE(("FETCH %d page %d hash(%08x)\n", + PAGERID(pPager), pgno, pager_pagehash(pPg))); + + return rc; +} + +#ifndef SQLITE_OMIT_WAL +/* +** This function is invoked once for each page that has already been +** written into the log file when a WAL transaction is rolled back. +** Parameter iPg is the page number of said page. The pCtx argument +** is actually a pointer to the Pager structure. +** +** If page iPg is present in the cache, and has no outstanding references, +** it is discarded. Otherwise, if there are one or more outstanding +** references, the page content is reloaded from the database. If the +** attempt to reload content from the database is required and fails, +** return an SQLite error code. Otherwise, SQLITE_OK. +*/ +static int pagerUndoCallback(void *pCtx, Pgno iPg){ + int rc = SQLITE_OK; + Pager *pPager = (Pager *)pCtx; + PgHdr *pPg; + + pPg = sqlite3PagerLookup(pPager, iPg); + if( pPg ){ + if( sqlite3PcachePageRefcount(pPg)==1 ){ + sqlite3PcacheDrop(pPg); + }else{ + rc = readDbPage(pPg); + if( rc==SQLITE_OK ){ + pPager->xReiniter(pPg); + } + sqlite3PagerUnref(pPg); + } + } + + /* Normally, if a transaction is rolled back, any backup processes are + ** updated as data is copied out of the rollback journal and into the + ** database. This is not generally possible with a WAL database, as + ** rollback involves simply truncating the log file. Therefore, if one + ** or more frames have already been written to the log (and therefore + ** also copied into the backup databases) as part of this transaction, + ** the backups must be restarted. + */ + sqlite3BackupRestart(pPager->pBackup); + + return rc; +} + +/* +** This function is called to rollback a transaction on a WAL database. +*/ +static int pagerRollbackWal(Pager *pPager){ + int rc; /* Return Code */ + PgHdr *pList; /* List of dirty pages to revert */ + + /* For all pages in the cache that are currently dirty or have already + ** been written (but not committed) to the log file, do one of the + ** following: + ** + ** + Discard the cached page (if refcount==0), or + ** + Reload page content from the database (if refcount>0). + */ + pPager->dbSize = pPager->dbOrigSize; + rc = sqlite3WalUndo(pPager->pWal, pagerUndoCallback, (void *)pPager); + pList = sqlite3PcacheDirtyList(pPager->pPCache); + while( pList && rc==SQLITE_OK ){ + PgHdr *pNext = pList->pDirty; + rc = pagerUndoCallback((void *)pPager, pList->pgno); + pList = pNext; + } + + return rc; +} + +/* +** This function is a wrapper around sqlite3WalFrames(). As well as logging +** the contents of the list of pages headed by pList (connected by pDirty), +** this function notifies any active backup processes that the pages have +** changed. +*/ +static int pagerWalFrames( + Pager *pPager, /* Pager object */ + PgHdr *pList, /* List of frames to log */ + Pgno nTruncate, /* Database size after this commit */ + int isCommit, /* True if this is a commit */ + int sync_flags /* Flags to pass to OsSync() (or 0) */ +){ + int rc; /* Return code */ + + assert( pPager->pWal ); + rc = sqlite3WalFrames(pPager->pWal, + pPager->pageSize, pList, nTruncate, isCommit, sync_flags + ); + if( rc==SQLITE_OK && pPager->pBackup ){ + PgHdr *p; + for(p=pList; p; p=p->pDirty){ + sqlite3BackupUpdate(pPager->pBackup, p->pgno, (u8 *)p->pData); + } + } + +#ifdef SQLITE_CHECK_PAGES + { + PgHdr *p; + for(p=pList; p; p=p->pDirty) pager_set_pagehash(p); + } +#endif + + return rc; +} + +/* +** Begin a read transaction on the WAL. +** +** This routine used to be called "pagerOpenSnapshot()" because it essentially +** makes a snapshot of the database at the current point in time and preserves +** that snapshot for use by the reader in spite of concurrently changes by +** other writers or checkpointers. +*/ +static int pagerBeginReadTransaction(Pager *pPager){ + int rc; /* Return code */ + int changed = 0; /* True if cache must be reset */ + + assert( pagerUseWal(pPager) ); + assert( pPager->eState==PAGER_OPEN || pPager->eState==PAGER_READER ); + + /* sqlite3WalEndReadTransaction() was not called for the previous + ** transaction in locking_mode=EXCLUSIVE. So call it now. If we + ** are in locking_mode=NORMAL and EndRead() was previously called, + ** the duplicate call is harmless. + */ + sqlite3WalEndReadTransaction(pPager->pWal); + + rc = sqlite3WalBeginReadTransaction(pPager->pWal, &changed); + if( rc==SQLITE_OK && changed ){ + pager_reset(pPager); + } + + return rc; +} + +/* +** This function is called as part of the transition from PAGER_OPEN +** to PAGER_READER state to determine the size of the database file +** in pages (assuming the page size currently stored in Pager.pageSize). +** +** If no error occurs, SQLITE_OK is returned and the size of the database +** in pages is stored in *pnPage. Otherwise, an error code (perhaps +** SQLITE_IOERR_FSTAT) is returned and *pnPage is left unmodified. +*/ +static int pagerPagecount(Pager *pPager, Pgno *pnPage){ + Pgno nPage; /* Value to return via *pnPage */ + + /* Query the WAL sub-system for the database size. The WalDbsize() + ** function returns zero if the WAL is not open (i.e. Pager.pWal==0), or + ** if the database size is not available. The database size is not + ** available from the WAL sub-system if the log file is empty or + ** contains no valid committed transactions. + */ + assert( pPager->eState==PAGER_OPEN ); + assert( pPager->eLock>=SHARED_LOCK || pPager->noReadlock ); + nPage = sqlite3WalDbsize(pPager->pWal); + + /* If the database size was not available from the WAL sub-system, + ** determine it based on the size of the database file. If the size + ** of the database file is not an integer multiple of the page-size, + ** round down to the nearest page. Except, any file larger than 0 + ** bytes in size is considered to contain at least one page. + */ + if( nPage==0 ){ + i64 n = 0; /* Size of db file in bytes */ + assert( isOpen(pPager->fd) || pPager->tempFile ); + if( isOpen(pPager->fd) ){ + int rc = sqlite3OsFileSize(pPager->fd, &n); + if( rc!=SQLITE_OK ){ + return rc; + } + } + nPage = (Pgno)(n / pPager->pageSize); + if( nPage==0 && n>0 ){ + nPage = 1; + } + } + + /* If the current number of pages in the file is greater than the + ** configured maximum pager number, increase the allowed limit so + ** that the file can be read. + */ + if( nPage>pPager->mxPgno ){ + pPager->mxPgno = (Pgno)nPage; + } + + *pnPage = nPage; + return SQLITE_OK; +} + + +/* +** Check if the *-wal file that corresponds to the database opened by pPager +** exists if the database is not empy, or verify that the *-wal file does +** not exist (by deleting it) if the database file is empty. +** +** If the database is not empty and the *-wal file exists, open the pager +** in WAL mode. If the database is empty or if no *-wal file exists and +** if no error occurs, make sure Pager.journalMode is not set to +** PAGER_JOURNALMODE_WAL. +** +** Return SQLITE_OK or an error code. +** +** The caller must hold a SHARED lock on the database file to call this +** function. Because an EXCLUSIVE lock on the db file is required to delete +** a WAL on a none-empty database, this ensures there is no race condition +** between the xAccess() below and an xDelete() being executed by some +** other connection. +*/ +static int pagerOpenWalIfPresent(Pager *pPager){ + int rc = SQLITE_OK; + assert( pPager->eState==PAGER_OPEN ); + assert( pPager->eLock>=SHARED_LOCK || pPager->noReadlock ); + + if( !pPager->tempFile ){ + int isWal; /* True if WAL file exists */ + Pgno nPage; /* Size of the database file */ + + rc = pagerPagecount(pPager, &nPage); + if( rc ) return rc; + if( nPage==0 ){ + rc = sqlite3OsDelete(pPager->pVfs, pPager->zWal, 0); + isWal = 0; + }else{ + rc = sqlite3OsAccess( + pPager->pVfs, pPager->zWal, SQLITE_ACCESS_EXISTS, &isWal + ); + } + if( rc==SQLITE_OK ){ + if( isWal ){ + testcase( sqlite3PcachePagecount(pPager->pPCache)==0 ); + rc = sqlite3PagerOpenWal(pPager, 0); + }else if( pPager->journalMode==PAGER_JOURNALMODE_WAL ){ + pPager->journalMode = PAGER_JOURNALMODE_DELETE; + } + } + } + return rc; +} +#endif + /* ** Playback savepoint pSavepoint. Or, if pSavepoint==NULL, then playback ** the entire master journal file. The case pSavepoint==NULL occurs when @@ -34277,7 +37278,8 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ int rc = SQLITE_OK; /* Return code */ Bitvec *pDone = 0; /* Bitvec to ensure pages played back only once */ - assert( pPager->state>=PAGER_SHARED ); + assert( pPager->eState!=PAGER_ERROR ); + assert( pPager->eState>=PAGER_WRITER_LOCKED ); /* Allocate a bitvec to use to store the set of pages rolled back */ if( pSavepoint ){ @@ -34291,6 +37293,11 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ ** being reverted was opened. */ pPager->dbSize = pSavepoint ? pSavepoint->nOrig : pPager->dbOrigSize; + pPager->changeCountDone = pPager->tempFile; + + if( !pSavepoint && pagerUseWal(pPager) ){ + return pagerRollbackWal(pPager); + } /* Use pPager->journalOff as the effective size of the main rollback ** journal. The actual file might be larger than this in @@ -34298,6 +37305,7 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ ** past pPager->journalOff is off-limits to us. */ szJ = pPager->journalOff; + assert( pagerUseWal(pPager)==0 || szJ==0 ); /* Begin by rolling back records from the main journal starting at ** PagerSavepoint.iOffset and continuing to the next journal header. @@ -34306,11 +37314,11 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ ** will be skipped automatically. Pages are added to pDone as they ** are played back. */ - if( pSavepoint ){ + if( pSavepoint && !pagerUseWal(pPager) ){ iHdrOff = pSavepoint->iHdrOffset ? pSavepoint->iHdrOffset : szJ; pPager->journalOff = pSavepoint->iOffset; while( rc==SQLITE_OK && pPager->journalOffjournalOff, 1, pDone); + rc = pager_playback_one_page(pPager, &pPager->journalOff, pDone, 1, 1); } assert( rc!=SQLITE_DONE ); }else{ @@ -34340,11 +37348,11 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ nJRec = (u32)((szJ - pPager->journalOff)/JOURNAL_PG_SZ(pPager)); } for(ii=0; rc==SQLITE_OK && iijournalOffjournalOff, 1, pDone); + rc = pager_playback_one_page(pPager, &pPager->journalOff, pDone, 1, 1); } assert( rc!=SQLITE_DONE ); } - assert( rc!=SQLITE_OK || pPager->journalOff==szJ ); + assert( rc!=SQLITE_OK || pPager->journalOff>=szJ ); /* Finally, rollback pages from the sub-journal. Page that were ** previously rolled back out of the main journal (and are hence in pDone) @@ -34353,9 +37361,13 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ if( pSavepoint ){ u32 ii; /* Loop counter */ i64 offset = pSavepoint->iSubRec*(4+pPager->pageSize); + + if( pagerUseWal(pPager) ){ + rc = sqlite3WalSavepointUndo(pPager->pWal, pSavepoint->aWalData); + } for(ii=pSavepoint->iSubRec; rc==SQLITE_OK && iinSubRec; ii++){ assert( offset==ii*(4+pPager->pageSize) ); - rc = pager_playback_one_page(pPager, 0, 0, &offset, 1, pDone); + rc = pager_playback_one_page(pPager, &offset, pDone, 0, 1); } assert( rc!=SQLITE_DONE ); } @@ -34364,6 +37376,7 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ if( rc==SQLITE_OK ){ pPager->journalOff = szJ; } + return rc; } @@ -34405,7 +37418,6 @@ SQLITE_PRIVATE void sqlite3PagerSetSafetyLevel(Pager *pPager, int level, int bFu pPager->noSync = (level==1 || pPager->tempFile) ?1:0; pPager->fullSync = (level==3 && !pPager->tempFile) ?1:0; pPager->sync_flags = (bFullFsync?SQLITE_SYNC_FULL:SQLITE_SYNC_NORMAL); - if( pPager->noSync ) pPager->needSync = 0; } #endif @@ -34482,27 +37494,12 @@ SQLITE_PRIVATE void sqlite3PagerSetBusyhandler( } /* -** Report the current page size and number of reserved bytes back -** to the codec. -*/ -#ifdef SQLITE_HAS_CODEC -static void pagerReportSize(Pager *pPager){ - if( pPager->xCodecSizeChng ){ - pPager->xCodecSizeChng(pPager->pCodec, pPager->pageSize, - (int)pPager->nReserve); - } -} -#else -# define pagerReportSize(X) /* No-op if we do not support a codec */ -#endif - -/* ** Change the page size used by the Pager object. The new page size ** is passed in *pPageSize. ** ** If the pager is in the error state when this function is called, it ** is a no-op. The value returned is the error state error code (i.e. -** one of SQLITE_IOERR, SQLITE_CORRUPT or SQLITE_FULL). +** one of SQLITE_IOERR, an SQLITE_IOERR_xxx sub-code or SQLITE_FULL). ** ** Otherwise, if all of the following are true: ** @@ -34526,28 +37523,48 @@ static void pagerReportSize(Pager *pPager){ ** function was called, or because the memory allocation attempt failed, ** then *pPageSize is set to the old, retained page size before returning. */ -SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager *pPager, u16 *pPageSize, int nReserve){ - int rc = pPager->errCode; +SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager *pPager, u32 *pPageSize, int nReserve){ + int rc = SQLITE_OK; - if( rc==SQLITE_OK ){ - u16 pageSize = *pPageSize; - assert( pageSize==0 || (pageSize>=512 && pageSize<=SQLITE_MAX_PAGE_SIZE) ); - if( (pPager->memDb==0 || pPager->dbSize==0) - && sqlite3PcacheRefCount(pPager->pPCache)==0 - && pageSize && pageSize!=pPager->pageSize - ){ - char *pNew = (char *)sqlite3PageMalloc(pageSize); - if( !pNew ){ - rc = SQLITE_NOMEM; - }else{ - pager_reset(pPager); - pPager->pageSize = pageSize; - sqlite3PageFree(pPager->pTmpSpace); - pPager->pTmpSpace = pNew; - sqlite3PcacheSetPageSize(pPager->pPCache, pageSize); - } + /* It is not possible to do a full assert_pager_state() here, as this + ** function may be called from within PagerOpen(), before the state + ** of the Pager object is internally consistent. + ** + ** At one point this function returned an error if the pager was in + ** PAGER_ERROR state. But since PAGER_ERROR state guarantees that + ** there is at least one outstanding page reference, this function + ** is a no-op for that case anyhow. + */ + + u32 pageSize = *pPageSize; + assert( pageSize==0 || (pageSize>=512 && pageSize<=SQLITE_MAX_PAGE_SIZE) ); + if( (pPager->memDb==0 || pPager->dbSize==0) + && sqlite3PcacheRefCount(pPager->pPCache)==0 + && pageSize && pageSize!=(u32)pPager->pageSize + ){ + char *pNew = NULL; /* New temp space */ + i64 nByte = 0; + + if( pPager->eState>PAGER_OPEN && isOpen(pPager->fd) ){ + rc = sqlite3OsFileSize(pPager->fd, &nByte); + } + if( rc==SQLITE_OK ){ + pNew = (char *)sqlite3PageMalloc(pageSize); + if( !pNew ) rc = SQLITE_NOMEM; + } + + if( rc==SQLITE_OK ){ + pager_reset(pPager); + pPager->dbSize = (Pgno)(nByte/pageSize); + pPager->pageSize = pageSize; + sqlite3PageFree(pPager->pTmpSpace); + pPager->pTmpSpace = pNew; + sqlite3PcacheSetPageSize(pPager->pPCache, pageSize); } - *pPageSize = (u16)pPager->pageSize; + } + + *pPageSize = pPager->pageSize; + if( rc==SQLITE_OK ){ if( nReserve<0 ) nReserve = pPager->nReserve; assert( nReserve>=0 && nReserve<1000 ); pPager->nReserve = (i16)nReserve; @@ -34579,7 +37596,9 @@ SQLITE_PRIVATE int sqlite3PagerMaxPageCount(Pager *pPager, int mxPage){ if( mxPage>0 ){ pPager->mxPgno = mxPage; } - sqlite3PagerPagecount(pPager, 0); + if( pPager->eState!=PAGER_OPEN && pPager->mxPgnodbSize ){ + pPager->mxPgno = pPager->dbSize; + } return pPager->mxPgno; } @@ -34625,6 +37644,13 @@ SQLITE_PRIVATE int sqlite3PagerReadFileheader(Pager *pPager, int N, unsigned cha int rc = SQLITE_OK; memset(pDest, 0, N); assert( isOpen(pPager->fd) || pPager->tempFile ); + + /* This routine is only called by btree immediately after creating + ** the Pager object. There has not been an opportunity to transition + ** to WAL mode yet. + */ + assert( !pagerUseWal(pPager) ); + if( isOpen(pPager->fd) ){ IOTRACE(("DBHDR %p 0 %d\n", pPager, N)) rc = sqlite3OsRead(pPager->fd, pDest, N, 0); @@ -34636,65 +37662,16 @@ SQLITE_PRIVATE int sqlite3PagerReadFileheader(Pager *pPager, int N, unsigned cha } /* -** Return the total number of pages in the database file associated -** with pPager. Normally, this is calculated as (/). +** This function may only be called when a read-transaction is open on +** the pager. It returns the total number of pages in the database. +** ** However, if the file is between 1 and bytes in size, then ** this is considered a 1 page file. -** -** If the pager is in error state when this function is called, then the -** error state error code is returned and *pnPage left unchanged. Or, -** if the file system has to be queried for the size of the file and -** the query attempt returns an IO error, the IO error code is returned -** and *pnPage is left unchanged. -** -** Otherwise, if everything is successful, then SQLITE_OK is returned -** and *pnPage is set to the number of pages in the database. */ -SQLITE_PRIVATE int sqlite3PagerPagecount(Pager *pPager, int *pnPage){ - Pgno nPage; /* Value to return via *pnPage */ - - /* If the pager is already in the error state, return the error code. */ - if( pPager->errCode ){ - return pPager->errCode; - } - - /* Determine the number of pages in the file. Store this in nPage. */ - if( pPager->dbSizeValid ){ - nPage = pPager->dbSize; - }else{ - int rc; /* Error returned by OsFileSize() */ - i64 n = 0; /* File size in bytes returned by OsFileSize() */ - - assert( isOpen(pPager->fd) || pPager->tempFile ); - if( isOpen(pPager->fd) && (0 != (rc = sqlite3OsFileSize(pPager->fd, &n))) ){ - pager_error(pPager, rc); - return rc; - } - if( n>0 && npageSize ){ - nPage = 1; - }else{ - nPage = (Pgno)(n / pPager->pageSize); - } - if( pPager->state!=PAGER_UNLOCK ){ - pPager->dbSize = nPage; - pPager->dbFileSize = nPage; - pPager->dbSizeValid = 1; - } - } - - /* If the current number of pages in the file is greater than the - ** configured maximum pager number, increase the allowed limit so - ** that the file can be read. - */ - if( nPage>pPager->mxPgno ){ - pPager->mxPgno = (Pgno)nPage; - } - - /* Set the output variable and return SQLITE_OK */ - if( pnPage ){ - *pnPage = nPage; - } - return SQLITE_OK; +SQLITE_PRIVATE void sqlite3PagerPagecount(Pager *pPager, int *pnPage){ + assert( pPager->eState>=PAGER_READER ); + assert( pPager->eState!=PAGER_WRITER_FINISHED ); + *pnPage = (int)pPager->dbSize; } @@ -34715,38 +37692,19 @@ SQLITE_PRIVATE int sqlite3PagerPagecount(Pager *pPager, int *pnPage){ static int pager_wait_on_lock(Pager *pPager, int locktype){ int rc; /* Return code */ - /* The OS lock values must be the same as the Pager lock values */ - assert( PAGER_SHARED==SHARED_LOCK ); - assert( PAGER_RESERVED==RESERVED_LOCK ); - assert( PAGER_EXCLUSIVE==EXCLUSIVE_LOCK ); - - /* If the file is currently unlocked then the size must be unknown. It - ** must not have been modified at this point. - */ - assert( pPager->state>=PAGER_SHARED || pPager->dbSizeValid==0 ); - assert( pPager->state>=PAGER_SHARED || pPager->dbModified==0 ); - /* Check that this is either a no-op (because the requested lock is ** already held, or one of the transistions that the busy-handler ** may be invoked during, according to the comment above ** sqlite3PagerSetBusyhandler(). */ - assert( (pPager->state>=locktype) - || (pPager->state==PAGER_UNLOCK && locktype==PAGER_SHARED) - || (pPager->state==PAGER_RESERVED && locktype==PAGER_EXCLUSIVE) + assert( (pPager->eLock>=locktype) + || (pPager->eLock==NO_LOCK && locktype==SHARED_LOCK) + || (pPager->eLock==RESERVED_LOCK && locktype==EXCLUSIVE_LOCK) ); - if( pPager->state>=locktype ){ - rc = SQLITE_OK; - }else{ - do { - rc = sqlite3OsLock(pPager->fd, locktype); - }while( rc==SQLITE_BUSY && pPager->xBusyHandler(pPager->pBusyHandlerArg) ); - if( rc==SQLITE_OK ){ - pPager->state = (u8)locktype; - IOTRACE(("LOCK %p %d\n", pPager, locktype)) - } - } + do { + rc = pagerLockDb(pPager, locktype); + }while( rc==SQLITE_BUSY && pPager->xBusyHandler(pPager->pBusyHandlerArg) ); return rc; } @@ -34791,13 +37749,38 @@ static void assertTruncateConstraint(Pager *pPager){ ** truncation will be done when the current transaction is committed. */ SQLITE_PRIVATE void sqlite3PagerTruncateImage(Pager *pPager, Pgno nPage){ - assert( pPager->dbSizeValid ); assert( pPager->dbSize>=nPage ); - assert( pPager->state>=PAGER_RESERVED ); + assert( pPager->eState>=PAGER_WRITER_CACHEMOD ); pPager->dbSize = nPage; assertTruncateConstraint(pPager); } + +/* +** This function is called before attempting a hot-journal rollback. It +** syncs the journal file to disk, then sets pPager->journalHdr to the +** size of the journal file so that the pager_playback() routine knows +** that the entire journal file has been synced. +** +** Syncing a hot-journal to disk before attempting to roll it back ensures +** that if a power-failure occurs during the rollback, the process that +** attempts rollback following system recovery sees the same journal +** content as this process. +** +** If everything goes as planned, SQLITE_OK is returned. Otherwise, +** an SQLite error code. +*/ +static int pagerSyncHotJournal(Pager *pPager){ + int rc = SQLITE_OK; + if( !pPager->noSync ){ + rc = sqlite3OsSync(pPager->jfd, SQLITE_SYNC_NORMAL); + } + if( rc==SQLITE_OK ){ + rc = sqlite3OsFileSize(pPager->jfd, &pPager->journalHdr); + } + return rc; +} + /* ** Shutdown the page cache. Free all memory and close all files. ** @@ -34813,29 +37796,46 @@ SQLITE_PRIVATE void sqlite3PagerTruncateImage(Pager *pPager, Pgno nPage){ ** to the caller. */ SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager){ + u8 *pTmp = (u8 *)pPager->pTmpSpace; + disable_simulated_io_errors(); sqlite3BeginBenignMalloc(); - pPager->errCode = 0; + /* pPager->errCode = 0; */ pPager->exclusiveMode = 0; +#ifndef SQLITE_OMIT_WAL + sqlite3WalClose(pPager->pWal, + (pPager->noSync ? 0 : pPager->sync_flags), + pPager->pageSize, pTmp + ); + pPager->pWal = 0; +#endif pager_reset(pPager); if( MEMDB ){ pager_unlock(pPager); }else{ - /* Set Pager.journalHdr to -1 for the benefit of the pager_playback() - ** call which may be made from within pagerUnlockAndRollback(). If it - ** is not -1, then the unsynced portion of an open journal file may - ** be played back into the database. If a power failure occurs while - ** this is happening, the database may become corrupt. + /* If it is open, sync the journal file before calling UnlockAndRollback. + ** If this is not done, then an unsynced portion of the open journal + ** file may be played back into the database. If a power failure occurs + ** while this is happening, the database could become corrupt. + ** + ** If an error occurs while trying to sync the journal, shift the pager + ** into the ERROR state. This causes UnlockAndRollback to unlock the + ** database and close the journal file without attempting to roll it + ** back or finalize it. The next database user will have to do hot-journal + ** rollback before accessing the database file. */ - pPager->journalHdr = -1; + if( isOpen(pPager->jfd) ){ + pager_error(pPager, pagerSyncHotJournal(pPager)); + } pagerUnlockAndRollback(pPager); } sqlite3EndBenignMalloc(); enable_simulated_io_errors(); PAGERTRACE(("CLOSE %d\n", PAGERID(pPager))); IOTRACE(("CLOSE %p\n", pPager)) + sqlite3OsClose(pPager->jfd); sqlite3OsClose(pPager->fd); - sqlite3PageFree(pPager->pTmpSpace); + sqlite3PageFree(pTmp); sqlite3PcacheClose(pPager->pPCache); #ifdef SQLITE_HAS_CODEC @@ -34870,9 +37870,9 @@ SQLITE_PRIVATE void sqlite3PagerRef(DbPage *pPg){ ** been written to the journal have actually reached the surface of the ** disk and can be restored in the event of a hot-journal rollback. ** -** If the Pager.needSync flag is not set, then this function is a -** no-op. Otherwise, the actions required depend on the journal-mode -** and the device characteristics of the the file-system, as follows: +** If the Pager.noSync flag is set, then this function is a no-op. +** Otherwise, the actions required depend on the journal-mode and the +** device characteristics of the the file-system, as follows: ** ** * If the journal file is an in-memory journal file, no action need ** be taken. @@ -34896,18 +37896,25 @@ SQLITE_PRIVATE void sqlite3PagerRef(DbPage *pPg){ ** if( NOT SEQUENTIAL ) xSync(); ** } ** -** The Pager.needSync flag is never be set for temporary files, or any -** file operating in no-sync mode (Pager.noSync set to non-zero). -** ** If successful, this routine clears the PGHDR_NEED_SYNC flag of every ** page currently held in memory before returning SQLITE_OK. If an IO ** error is encountered, then the IO error code is returned to the caller. */ -static int syncJournal(Pager *pPager){ - if( pPager->needSync ){ +static int syncJournal(Pager *pPager, int newHdr){ + int rc; /* Return code */ + + assert( pPager->eState==PAGER_WRITER_CACHEMOD + || pPager->eState==PAGER_WRITER_DBMOD + ); + assert( assert_pager_state(pPager) ); + assert( !pagerUseWal(pPager) ); + + rc = sqlite3PagerExclusiveLock(pPager); + if( rc!=SQLITE_OK ) return rc; + + if( !pPager->noSync ){ assert( !pPager->tempFile ); - if( pPager->journalMode!=PAGER_JOURNALMODE_MEMORY ){ - int rc; /* Return code */ + if( isOpen(pPager->jfd) && pPager->journalMode!=PAGER_JOURNALMODE_MEMORY ){ const int iDc = sqlite3OsDeviceCharacteristics(pPager->fd); assert( isOpen(pPager->jfd) ); @@ -34917,7 +37924,7 @@ static int syncJournal(Pager *pPager){ ** mode, then the journal file may at this point actually be larger ** than Pager.journalOff bytes. If the next thing in the journal ** file happens to be a journal-header (written as part of the - ** previous connections transaction), and a crash or power-failure + ** previous connection's transaction), and a crash or power-failure ** occurs after nRec is updated but before this connection writes ** anything else to the journal file (or commits/rolls back its ** transaction), then SQLite may become confused when doing the @@ -34936,10 +37943,10 @@ static int syncJournal(Pager *pPager){ */ i64 iNextHdrOffset; u8 aMagic[8]; - u8 zHeader[sizeof(aJournalMagic)+4]; + u8 zHeader[sizeof(aJournalMagic)+4]; - memcpy(zHeader, aJournalMagic, sizeof(aJournalMagic)); - put32bits(&zHeader[sizeof(aJournalMagic)], pPager->nRec); + memcpy(zHeader, aJournalMagic, sizeof(aJournalMagic)); + put32bits(&zHeader[sizeof(aJournalMagic)], pPager->nRec); iNextHdrOffset = journalHdrOffset(pPager); rc = sqlite3OsRead(pPager->jfd, aMagic, 8, iNextHdrOffset); @@ -34971,7 +37978,7 @@ static int syncJournal(Pager *pPager){ IOTRACE(("JHDR %p %lld\n", pPager, pPager->journalHdr)); rc = sqlite3OsWrite( pPager->jfd, zHeader, sizeof(zHeader), pPager->journalHdr - ); + ); if( rc!=SQLITE_OK ) return rc; } if( 0==(iDc&SQLITE_IOCAP_SEQUENTIAL) ){ @@ -34982,16 +37989,25 @@ static int syncJournal(Pager *pPager){ ); if( rc!=SQLITE_OK ) return rc; } - } - /* The journal file was just successfully synced. Set Pager.needSync - ** to zero and clear the PGHDR_NEED_SYNC flag on all pagess. - */ - pPager->needSync = 0; - pPager->journalStarted = 1; - sqlite3PcacheClearSyncFlags(pPager->pPCache); + pPager->journalHdr = pPager->journalOff; + if( newHdr && 0==(iDc&SQLITE_IOCAP_SAFE_APPEND) ){ + pPager->nRec = 0; + rc = writeJournalHdr(pPager); + if( rc!=SQLITE_OK ) return rc; + } + }else{ + pPager->journalHdr = pPager->journalOff; + } } + /* Unless the pager is in noSync mode, the journal file was just + ** successfully synced. Either way, clear the PGHDR_NEED_SYNC flag on + ** all pages. + */ + sqlite3PcacheClearSyncFlags(pPager->pPCache); + pPager->eState = PAGER_WRITER_DBMOD; + assert( assert_pager_state(pPager) ); return SQLITE_OK; } @@ -35027,31 +38043,13 @@ static int syncJournal(Pager *pPager){ ** occurs, an IO error code is returned. Or, if the EXCLUSIVE lock cannot ** be obtained, SQLITE_BUSY is returned. */ -static int pager_write_pagelist(PgHdr *pList){ - Pager *pPager; /* Pager object */ - int rc; /* Return code */ - - if( NEVER(pList==0) ) return SQLITE_OK; - pPager = pList->pPager; +static int pager_write_pagelist(Pager *pPager, PgHdr *pList){ + int rc = SQLITE_OK; /* Return code */ - /* At this point there may be either a RESERVED or EXCLUSIVE lock on the - ** database file. If there is already an EXCLUSIVE lock, the following - ** call is a no-op. - ** - ** Moving the lock from RESERVED to EXCLUSIVE actually involves going - ** through an intermediate state PENDING. A PENDING lock prevents new - ** readers from attaching to the database but is unsufficient for us to - ** write. The idea of a PENDING lock is to prevent new readers from - ** coming in while we wait for existing readers to clear. - ** - ** While the pager is in the RESERVED state, the original database file - ** is unchanged and we can rollback without having to playback the - ** journal into the original database file. Once we transition to - ** EXCLUSIVE, it means the database file has been changed and any rollback - ** will require a journal playback. - */ - assert( pPager->state>=PAGER_RESERVED ); - rc = pager_wait_on_lock(pPager, EXCLUSIVE_LOCK); + /* This function is only called for rollback pagers in WRITER_DBMOD state. */ + assert( !pagerUseWal(pPager) ); + assert( pPager->eState==PAGER_WRITER_DBMOD ); + assert( pPager->eLock==EXCLUSIVE_LOCK ); /* If the file is a temp-file has not yet been opened, open it now. It ** is not possible for rc to be other than SQLITE_OK if this branch @@ -35062,6 +38060,16 @@ static int pager_write_pagelist(PgHdr *pList){ rc = pagerOpentemp(pPager, pPager->fd, pPager->vfsFlags); } + /* Before the first write, give the VFS a hint of what the final + ** file size will be. + */ + assert( rc!=SQLITE_OK || isOpen(pPager->fd) ); + if( rc==SQLITE_OK && pPager->dbSize>pPager->dbHintSize ){ + sqlite3_int64 szFile = pPager->pageSize * (sqlite3_int64)pPager->dbSize; + sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SIZE_HINT, &szFile); + pPager->dbHintSize = pPager->dbSize; + } + while( rc==SQLITE_OK && pList ){ Pgno pgno = pList->pgno; @@ -35077,6 +38085,8 @@ static int pager_write_pagelist(PgHdr *pList){ i64 offset = (pgno-1)*(i64)pPager->pageSize; /* Offset to write */ char *pData; /* Data to write */ + assert( (pList->flags&PGHDR_NEED_SYNC)==0 ); + /* Encode the database */ CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM, pData); @@ -35105,9 +38115,7 @@ static int pager_write_pagelist(PgHdr *pList){ }else{ PAGERTRACE(("NOSTORE %d page %d\n", PAGERID(pPager), pgno)); } -#ifdef SQLITE_CHECK_PAGES - pList->pageHash = pager_pagehash(pList); -#endif + pager_set_pagehash(pList); pList = pList->pDirty; } @@ -35115,6 +38123,26 @@ static int pager_write_pagelist(PgHdr *pList){ } /* +** Ensure that the sub-journal file is open. If it is already open, this +** function is a no-op. +** +** SQLITE_OK is returned if everything goes according to plan. An +** SQLITE_IOERR_XXX error code is returned if a call to sqlite3OsOpen() +** fails. +*/ +static int openSubJournal(Pager *pPager){ + int rc = SQLITE_OK; + if( !isOpen(pPager->sjfd) ){ + if( pPager->journalMode==PAGER_JOURNALMODE_MEMORY || pPager->subjInMemory ){ + sqlite3MemJournalOpen(pPager->sjfd); + }else{ + rc = pagerOpentemp(pPager, pPager->sjfd, SQLITE_OPEN_SUBJOURNAL); + } + } + return rc; +} + +/* ** Append a record of the current state of page pPg to the sub-journal. ** It is the callers responsibility to use subjRequiresPage() to check ** that it is really required before calling this function. @@ -35130,18 +38158,31 @@ static int pager_write_pagelist(PgHdr *pList){ static int subjournalPage(PgHdr *pPg){ int rc = SQLITE_OK; Pager *pPager = pPg->pPager; - if( isOpen(pPager->sjfd) ){ - void *pData = pPg->pData; - i64 offset = pPager->nSubRec*(4+pPager->pageSize); - char *pData2; + if( pPager->journalMode!=PAGER_JOURNALMODE_OFF ){ + + /* Open the sub-journal, if it has not already been opened */ + assert( pPager->useJournal ); + assert( isOpen(pPager->jfd) || pagerUseWal(pPager) ); + assert( isOpen(pPager->sjfd) || pPager->nSubRec==0 ); + assert( pagerUseWal(pPager) + || pageInJournal(pPg) + || pPg->pgno>pPager->dbOrigSize + ); + rc = openSubJournal(pPager); - CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); - PAGERTRACE(("STMT-JOURNAL %d page %d\n", PAGERID(pPager), pPg->pgno)); - - assert( pageInJournal(pPg) || pPg->pgno>pPager->dbOrigSize ); - rc = write32bits(pPager->sjfd, offset, pPg->pgno); + /* If the sub-journal was opened successfully (or was already open), + ** write the journal record into the file. */ if( rc==SQLITE_OK ){ - rc = sqlite3OsWrite(pPager->sjfd, pData2, pPager->pageSize, offset+4); + void *pData = pPg->pData; + i64 offset = pPager->nSubRec*(4+pPager->pageSize); + char *pData2; + + CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); + PAGERTRACE(("STMT-JOURNAL %d page %d\n", PAGERID(pPager), pPg->pgno)); + rc = write32bits(pPager->sjfd, offset, pPg->pgno); + if( rc==SQLITE_OK ){ + rc = sqlite3OsWrite(pPager->sjfd, pData2, pPager->pageSize, offset+4); + } } } if( rc==SQLITE_OK ){ @@ -35152,7 +38193,6 @@ static int subjournalPage(PgHdr *pPg){ return rc; } - /* ** This function is called by the pcache layer when it has reached some ** soft memory limit. The first argument is a pointer to a Pager object @@ -35179,74 +38219,83 @@ static int pagerStress(void *p, PgHdr *pPg){ assert( pPg->pPager==pPager ); assert( pPg->flags&PGHDR_DIRTY ); - /* The doNotSync flag is set by the sqlite3PagerWrite() function while it - ** is journalling a set of two or more database pages that are stored - ** on the same disk sector. Syncing the journal is not allowed while - ** this is happening as it is important that all members of such a - ** set of pages are synced to disk together. So, if the page this function - ** is trying to make clean will require a journal sync and the doNotSync - ** flag is set, return without doing anything. The pcache layer will - ** just have to go ahead and allocate a new page buffer instead of - ** reusing pPg. + /* The doNotSyncSpill flag is set during times when doing a sync of + ** journal (and adding a new header) is not allowed. This occurs + ** during calls to sqlite3PagerWrite() while trying to journal multiple + ** pages belonging to the same sector. ** - ** Similarly, if the pager has already entered the error state, do not - ** try to write the contents of pPg to disk. - */ - if( NEVER(pPager->errCode) - || (pPager->doNotSync && pPg->flags&PGHDR_NEED_SYNC) - ){ + ** The doNotSpill flag inhibits all cache spilling regardless of whether + ** or not a sync is required. This is set during a rollback. + ** + ** Spilling is also prohibited when in an error state since that could + ** lead to database corruption. In the current implementaton it + ** is impossible for sqlite3PCacheFetch() to be called with createFlag==1 + ** while in the error state, hence it is impossible for this routine to + ** be called in the error state. Nevertheless, we include a NEVER() + ** test for the error state as a safeguard against future changes. + */ + if( NEVER(pPager->errCode) ) return SQLITE_OK; + if( pPager->doNotSpill ) return SQLITE_OK; + if( pPager->doNotSyncSpill && (pPg->flags & PGHDR_NEED_SYNC)!=0 ){ return SQLITE_OK; } - /* Sync the journal file if required. */ - if( pPg->flags&PGHDR_NEED_SYNC ){ - rc = syncJournal(pPager); - if( rc==SQLITE_OK && pPager->fullSync && - !(pPager->journalMode==PAGER_JOURNALMODE_MEMORY) && - !(sqlite3OsDeviceCharacteristics(pPager->fd)&SQLITE_IOCAP_SAFE_APPEND) + pPg->pDirty = 0; + if( pagerUseWal(pPager) ){ + /* Write a single frame for this page to the log. */ + if( subjRequiresPage(pPg) ){ + rc = subjournalPage(pPg); + } + if( rc==SQLITE_OK ){ + rc = pagerWalFrames(pPager, pPg, 0, 0, 0); + } + }else{ + + /* Sync the journal file if required. */ + if( pPg->flags&PGHDR_NEED_SYNC + || pPager->eState==PAGER_WRITER_CACHEMOD ){ - pPager->nRec = 0; - rc = writeJournalHdr(pPager); + rc = syncJournal(pPager, 1); + } + + /* If the page number of this page is larger than the current size of + ** the database image, it may need to be written to the sub-journal. + ** This is because the call to pager_write_pagelist() below will not + ** actually write data to the file in this case. + ** + ** Consider the following sequence of events: + ** + ** BEGIN; + ** + ** + ** SAVEPOINT sp; + ** + ** pagerStress(page X) + ** ROLLBACK TO sp; + ** + ** If (X>Y), then when pagerStress is called page X will not be written + ** out to the database file, but will be dropped from the cache. Then, + ** following the "ROLLBACK TO sp" statement, reading page X will read + ** data from the database file. This will be the copy of page X as it + ** was when the transaction started, not as it was when "SAVEPOINT sp" + ** was executed. + ** + ** The solution is to write the current data for page X into the + ** sub-journal file now (if it is not already there), so that it will + ** be restored to its current value when the "ROLLBACK TO sp" is + ** executed. + */ + if( NEVER( + rc==SQLITE_OK && pPg->pgno>pPager->dbSize && subjRequiresPage(pPg) + ) ){ + rc = subjournalPage(pPg); + } + + /* Write the contents of the page out to the database file. */ + if( rc==SQLITE_OK ){ + assert( (pPg->flags&PGHDR_NEED_SYNC)==0 ); + rc = pager_write_pagelist(pPager, pPg); } - } - - /* If the page number of this page is larger than the current size of - ** the database image, it may need to be written to the sub-journal. - ** This is because the call to pager_write_pagelist() below will not - ** actually write data to the file in this case. - ** - ** Consider the following sequence of events: - ** - ** BEGIN; - ** - ** - ** SAVEPOINT sp; - ** - ** pagerStress(page X) - ** ROLLBACK TO sp; - ** - ** If (X>Y), then when pagerStress is called page X will not be written - ** out to the database file, but will be dropped from the cache. Then, - ** following the "ROLLBACK TO sp" statement, reading page X will read - ** data from the database file. This will be the copy of page X as it - ** was when the transaction started, not as it was when "SAVEPOINT sp" - ** was executed. - ** - ** The solution is to write the current data for page X into the - ** sub-journal file now (if it is not already there), so that it will - ** be restored to its current value when the "ROLLBACK TO sp" is - ** executed. - */ - if( NEVER( - rc==SQLITE_OK && pPg->pgno>pPager->dbSize && subjRequiresPage(pPg) - ) ){ - rc = subjournalPage(pPg); - } - - /* Write the contents of the page out to the database file. */ - if( rc==SQLITE_OK ){ - pPg->pDirty = 0; - rc = pager_write_pagelist(pPg); } /* Mark the page as clean. */ @@ -35255,7 +38304,7 @@ static int pagerStress(void *p, PgHdr *pPg){ sqlite3PcacheMakeClean(pPg); } - return pager_error(pPager, rc); + return pager_error(pPager, rc); } @@ -35310,7 +38359,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( int useJournal = (flags & PAGER_OMIT_JOURNAL)==0; /* False to omit journal */ int noReadlock = (flags & PAGER_NO_READLOCK)!=0; /* True to omit read-lock */ int pcacheSize = sqlite3PcacheSize(); /* Bytes to allocate for PCache */ - u16 szPageDflt = SQLITE_DEFAULT_PAGE_SIZE; /* Default page size */ + u32 szPageDflt = SQLITE_DEFAULT_PAGE_SIZE; /* Default page size */ /* Figure out how much space is required for each journal file-handle ** (there are two of them, the main journal and the sub-journal). This @@ -35385,6 +38434,9 @@ SQLITE_PRIVATE int sqlite3PagerOpen( journalFileSize * 2 + /* The two journal files */ nPathname + 1 + /* zFilename */ nPathname + 8 + 1 /* zJournal */ +#ifndef SQLITE_OMIT_WAL + + nPathname + 4 + 1 /* zWal */ +#endif ); assert( EIGHT_BYTE_ALIGNMENT(SQLITE_INT_TO_PTR(journalFileSize)) ); if( !pPtr ){ @@ -35405,7 +38457,16 @@ SQLITE_PRIVATE int sqlite3PagerOpen( memcpy(pPager->zFilename, zPathname, nPathname); memcpy(pPager->zJournal, zPathname, nPathname); memcpy(&pPager->zJournal[nPathname], "-journal", 8); - if( pPager->zFilename[0]==0 ) pPager->zJournal[0] = 0; + if( pPager->zFilename[0]==0 ){ + pPager->zJournal[0] = 0; + } +#ifndef SQLITE_OMIT_WAL + else{ + pPager->zWal = &pPager->zJournal[nPathname+8+1]; + memcpy(pPager->zWal, zPathname, nPathname); + memcpy(&pPager->zWal[nPathname], "-wal", 4); + } +#endif sqlite3_free(zPathname); } pPager->pVfs = pVfs; @@ -35433,7 +38494,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( if( pPager->sectorSize>SQLITE_MAX_DEFAULT_PAGE_SIZE ){ szPageDflt = SQLITE_MAX_DEFAULT_PAGE_SIZE; }else{ - szPageDflt = (u16)pPager->sectorSize; + szPageDflt = (u32)pPager->sectorSize; } } #ifdef SQLITE_ENABLE_ATOMIC_WRITE @@ -35461,7 +38522,8 @@ SQLITE_PRIVATE int sqlite3PagerOpen( ** disk and uses an in-memory rollback journal. */ tempFile = 1; - pPager->state = PAGER_EXCLUSIVE; + pPager->eState = PAGER_READER; + pPager->eLock = EXCLUSIVE_LOCK; readOnly = (vfsFlags&SQLITE_OPEN_READONLY); } @@ -35498,13 +38560,14 @@ SQLITE_PRIVATE int sqlite3PagerOpen( /* pPager->stmtOpen = 0; */ /* pPager->stmtInUse = 0; */ /* pPager->nRef = 0; */ - pPager->dbSizeValid = (u8)memDb; /* pPager->stmtSize = 0; */ /* pPager->stmtJSize = 0; */ /* pPager->nPage = 0; */ pPager->mxPgno = SQLITE_MAX_PAGE_COUNT; /* pPager->state = PAGER_UNLOCK; */ +#if 0 assert( pPager->state == (tempFile ? PAGER_EXCLUSIVE : PAGER_UNLOCK) ); +#endif /* pPager->errMask = 0; */ pPager->tempFile = (u8)tempFile; assert( tempFile==PAGER_LOCKINGMODE_NORMAL @@ -35514,7 +38577,6 @@ SQLITE_PRIVATE int sqlite3PagerOpen( pPager->changeCountDone = pPager->tempFile; pPager->memDb = (u8)memDb; pPager->readOnly = (u8)readOnly; - /* pPager->needSync = 0; */ assert( useJournal || pPager->tempFile ); pPager->noSync = pPager->tempFile; pPager->fullSync = pPager->noSync ?0:1; @@ -35575,19 +38637,24 @@ SQLITE_PRIVATE int sqlite3PagerOpen( */ static int hasHotJournal(Pager *pPager, int *pExists){ sqlite3_vfs * const pVfs = pPager->pVfs; - int rc; /* Return code */ - int exists; /* True if a journal file is present */ + int rc = SQLITE_OK; /* Return code */ + int exists = 1; /* True if a journal file is present */ + int jrnlOpen = !!isOpen(pPager->jfd); - assert( pPager!=0 ); assert( pPager->useJournal ); assert( isOpen(pPager->fd) ); - assert( !isOpen(pPager->jfd) ); - assert( pPager->state <= PAGER_SHARED ); + assert( pPager->eState==PAGER_OPEN ); + + assert( jrnlOpen==0 || ( sqlite3OsDeviceCharacteristics(pPager->jfd) & + SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN + )); *pExists = 0; - rc = sqlite3OsAccess(pVfs, pPager->zJournal, SQLITE_ACCESS_EXISTS, &exists); + if( !jrnlOpen ){ + rc = sqlite3OsAccess(pVfs, pPager->zJournal, SQLITE_ACCESS_EXISTS, &exists); + } if( rc==SQLITE_OK && exists ){ - int locked; /* True if some process holds a RESERVED lock */ + int locked = 0; /* True if some process holds a RESERVED lock */ /* Race condition here: Another process might have been holding the ** the RESERVED lock and have a journal open at the sqlite3OsAccess() @@ -35599,7 +38666,7 @@ static int hasHotJournal(Pager *pPager, int *pExists){ */ rc = sqlite3OsCheckReservedLock(pPager->fd, &locked); if( rc==SQLITE_OK && !locked ){ - int nPage; + Pgno nPage; /* Number of pages in database file */ /* Check the size of the database file. If it consists of 0 pages, ** then delete the journal file. See the header comment above for @@ -35607,13 +38674,13 @@ static int hasHotJournal(Pager *pPager, int *pExists){ ** a RESERVED lock to avoid race conditions and to avoid violating ** [H33020]. */ - rc = sqlite3PagerPagecount(pPager, &nPage); + rc = pagerPagecount(pPager, &nPage); if( rc==SQLITE_OK ){ if( nPage==0 ){ sqlite3BeginBenignMalloc(); - if( sqlite3OsLock(pPager->fd, RESERVED_LOCK)==SQLITE_OK ){ + if( pagerLockDb(pPager, RESERVED_LOCK)==SQLITE_OK ){ sqlite3OsDelete(pVfs, pPager->zJournal, 0); - sqlite3OsUnlock(pPager->fd, SHARED_LOCK); + pagerUnlockDb(pPager, SHARED_LOCK); } sqlite3EndBenignMalloc(); }else{ @@ -35623,15 +38690,19 @@ static int hasHotJournal(Pager *pPager, int *pExists){ ** If there is, then we consider this journal to be hot. If not, ** it can be ignored. */ - int f = SQLITE_OPEN_READONLY|SQLITE_OPEN_MAIN_JOURNAL; - rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &f); + if( !jrnlOpen ){ + int f = SQLITE_OPEN_READONLY|SQLITE_OPEN_MAIN_JOURNAL; + rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &f); + } if( rc==SQLITE_OK ){ u8 first = 0; rc = sqlite3OsRead(pPager->jfd, (void *)&first, 1, 0); if( rc==SQLITE_IOERR_SHORT_READ ){ rc = SQLITE_OK; } - sqlite3OsClose(pPager->jfd); + if( !jrnlOpen ){ + sqlite3OsClose(pPager->jfd); + } *pExists = (first!=0); }else if( rc==SQLITE_CANTOPEN ){ /* If we cannot open the rollback journal file in order to see if @@ -35655,67 +38726,6 @@ static int hasHotJournal(Pager *pPager, int *pExists){ } /* -** Read the content for page pPg out of the database file and into -** pPg->pData. A shared lock or greater must be held on the database -** file before this function is called. -** -** If page 1 is read, then the value of Pager.dbFileVers[] is set to -** the value read from the database file. -** -** If an IO error occurs, then the IO error is returned to the caller. -** Otherwise, SQLITE_OK is returned. -*/ -static int readDbPage(PgHdr *pPg){ - Pager *pPager = pPg->pPager; /* Pager object associated with page pPg */ - Pgno pgno = pPg->pgno; /* Page number to read */ - int rc; /* Return code */ - i64 iOffset; /* Byte offset of file to read from */ - - assert( pPager->state>=PAGER_SHARED && !MEMDB ); - assert( isOpen(pPager->fd) ); - - if( NEVER(!isOpen(pPager->fd)) ){ - assert( pPager->tempFile ); - memset(pPg->pData, 0, pPager->pageSize); - return SQLITE_OK; - } - iOffset = (pgno-1)*(i64)pPager->pageSize; - rc = sqlite3OsRead(pPager->fd, pPg->pData, pPager->pageSize, iOffset); - if( rc==SQLITE_IOERR_SHORT_READ ){ - rc = SQLITE_OK; - } - if( pgno==1 ){ - if( rc ){ - /* If the read is unsuccessful, set the dbFileVers[] to something - ** that will never be a valid file version. dbFileVers[] is a copy - ** of bytes 24..39 of the database. Bytes 28..31 should always be - ** zero. Bytes 32..35 and 35..39 should be page numbers which are - ** never 0xffffffff. So filling pPager->dbFileVers[] with all 0xff - ** bytes should suffice. - ** - ** For an encrypted database, the situation is more complex: bytes - ** 24..39 of the database are white noise. But the probability of - ** white noising equaling 16 bytes of 0xff is vanishingly small so - ** we should still be ok. - */ - memset(pPager->dbFileVers, 0xff, sizeof(pPager->dbFileVers)); - }else{ - u8 *dbFileVers = &((u8*)pPg->pData)[24]; - memcpy(&pPager->dbFileVers, dbFileVers, sizeof(pPager->dbFileVers)); - } - } - CODEC1(pPager, pPg->pData, pgno, 3, rc = SQLITE_NOMEM); - - PAGER_INCR(sqlite3_pager_readdb_count); - PAGER_INCR(pPager->nRead); - IOTRACE(("PGIN %p %d\n", pPager, pgno)); - PAGERTRACE(("FETCH %d page %d hash(%08x)\n", - PAGERID(pPager), pgno, pager_pagehash(pPg))); - - return rc; -} - -/* ** This function is called to obtain a shared lock on the database file. ** It is illegal to call sqlite3PagerAcquire() until after this function ** has been successfully called. If a shared-lock is already held when @@ -35723,7 +38733,7 @@ static int readDbPage(PgHdr *pPg){ ** ** The following operations are also performed by this function. ** -** 1) If the pager is currently in PAGER_UNLOCK state (no lock held +** 1) If the pager is currently in PAGER_OPEN state (no lock held ** on the database file), then an attempt is made to obtain a ** SHARED lock on the database file. Immediately after obtaining ** the SHARED lock, the file-system is checked for a hot-journal, @@ -35738,64 +38748,47 @@ static int readDbPage(PgHdr *pPg){ ** the contents of the page cache and rolling back any open journal ** file. ** -** If the operation described by (2) above is not attempted, and if the -** pager is in an error state other than SQLITE_FULL when this is called, -** the error state error code is returned. It is permitted to read the -** database when in SQLITE_FULL error state. -** -** Otherwise, if everything is successful, SQLITE_OK is returned. If an -** IO error occurs while locking the database, checking for a hot-journal -** file or rolling back a journal file, the IO error code is returned. +** If everything is successful, SQLITE_OK is returned. If an IO error +** occurs while locking the database, checking for a hot-journal file or +** rolling back a journal file, the IO error code is returned. */ SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager){ int rc = SQLITE_OK; /* Return code */ - int isErrorReset = 0; /* True if recovering from error state */ /* This routine is only called from b-tree and only when there are no - ** outstanding pages */ + ** outstanding pages. This implies that the pager state should either + ** be OPEN or READER. READER is only possible if the pager is or was in + ** exclusive access mode. + */ assert( sqlite3PcacheRefCount(pPager->pPCache)==0 ); + assert( assert_pager_state(pPager) ); + assert( pPager->eState==PAGER_OPEN || pPager->eState==PAGER_READER ); if( NEVER(MEMDB && pPager->errCode) ){ return pPager->errCode; } - /* If this database is in an error-state, now is a chance to clear - ** the error. Discard the contents of the pager-cache and rollback - ** any hot journal in the file-system. - */ - if( pPager->errCode ){ - if( isOpen(pPager->jfd) || pPager->zJournal ){ - isErrorReset = 1; - } - pPager->errCode = SQLITE_OK; - pager_reset(pPager); - } + if( !pagerUseWal(pPager) && pPager->eState==PAGER_OPEN ){ + int bHotJournal = 1; /* True if there exists a hot journal-file */ - if( pPager->state==PAGER_UNLOCK || isErrorReset ){ - sqlite3_vfs * const pVfs = pPager->pVfs; - int isHotJournal = 0; assert( !MEMDB ); - assert( sqlite3PcacheRefCount(pPager->pPCache)==0 ); - if( pPager->noReadlock ){ - assert( pPager->readOnly ); - pPager->state = PAGER_SHARED; - }else{ + assert( pPager->noReadlock==0 || pPager->readOnly ); + + if( pPager->noReadlock==0 ){ rc = pager_wait_on_lock(pPager, SHARED_LOCK); if( rc!=SQLITE_OK ){ - assert( pPager->state==PAGER_UNLOCK ); - return pager_error(pPager, rc); + assert( pPager->eLock==NO_LOCK || pPager->eLock==UNKNOWN_LOCK ); + goto failed; } } - assert( pPager->state>=SHARED_LOCK ); /* If a journal file exists, and there is no RESERVED lock on the ** database file, then it either needs to be played back or deleted. */ - if( !isErrorReset ){ - assert( pPager->state <= PAGER_SHARED ); - rc = hasHotJournal(pPager, &isHotJournal); - if( rc!=SQLITE_OK ){ - goto failed; - } + if( pPager->eLock<=SHARED_LOCK ){ + rc = hasHotJournal(pPager, &bHotJournal); + } + if( rc!=SQLITE_OK ){ + goto failed; } - if( isErrorReset || isHotJournal ){ + if( bHotJournal ){ /* Get an EXCLUSIVE lock on the database file. At this point it is ** important that a RESERVED lock is not obtained on the way to the ** EXCLUSIVE lock. If it were, another process might open the @@ -35807,74 +38800,95 @@ SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager){ ** other process attempting to access the database file will get to ** this point in the code and fail to obtain its own EXCLUSIVE lock ** on the database file. + ** + ** Unless the pager is in locking_mode=exclusive mode, the lock is + ** downgraded to SHARED_LOCK before this function returns. */ - if( pPager->statefd, EXCLUSIVE_LOCK); - if( rc!=SQLITE_OK ){ - rc = pager_error(pPager, rc); - goto failed; - } - pPager->state = PAGER_EXCLUSIVE; + rc = pagerLockDb(pPager, EXCLUSIVE_LOCK); + if( rc!=SQLITE_OK ){ + goto failed; } - /* Open the journal for read/write access. This is because in - ** exclusive-access mode the file descriptor will be kept open and - ** possibly used for a transaction later on. On some systems, the - ** OsTruncate() call used in exclusive-access mode also requires - ** a read/write file handle. + /* If it is not already open and the file exists on disk, open the + ** journal for read/write access. Write access is required because + ** in exclusive-access mode the file descriptor will be kept open + ** and possibly used for a transaction later on. Also, write-access + ** is usually required to finalize the journal in journal_mode=persist + ** mode (and also for journal_mode=truncate on some systems). + ** + ** If the journal does not exist, it usually means that some + ** other connection managed to get in and roll it back before + ** this connection obtained the exclusive lock above. Or, it + ** may mean that the pager was in the error-state when this + ** function was called and the journal file does not exist. */ if( !isOpen(pPager->jfd) ){ - int res; - rc = sqlite3OsAccess(pVfs,pPager->zJournal,SQLITE_ACCESS_EXISTS,&res); - if( rc==SQLITE_OK ){ - if( res ){ - int fout = 0; - int f = SQLITE_OPEN_READWRITE|SQLITE_OPEN_MAIN_JOURNAL; - assert( !pPager->tempFile ); - rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &fout); - assert( rc!=SQLITE_OK || isOpen(pPager->jfd) ); - if( rc==SQLITE_OK && fout&SQLITE_OPEN_READONLY ){ - rc = SQLITE_CANTOPEN_BKPT; - sqlite3OsClose(pPager->jfd); - } - }else{ - /* If the journal does not exist, it usually means that some - ** other connection managed to get in and roll it back before - ** this connection obtained the exclusive lock above. Or, it - ** may mean that the pager was in the error-state when this - ** function was called and the journal file does not exist. */ - rc = pager_end_transaction(pPager, 0); + sqlite3_vfs * const pVfs = pPager->pVfs; + int bExists; /* True if journal file exists */ + rc = sqlite3OsAccess( + pVfs, pPager->zJournal, SQLITE_ACCESS_EXISTS, &bExists); + if( rc==SQLITE_OK && bExists ){ + int fout = 0; + int f = SQLITE_OPEN_READWRITE|SQLITE_OPEN_MAIN_JOURNAL; + assert( !pPager->tempFile ); + rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &fout); + assert( rc!=SQLITE_OK || isOpen(pPager->jfd) ); + if( rc==SQLITE_OK && fout&SQLITE_OPEN_READONLY ){ + rc = SQLITE_CANTOPEN_BKPT; + sqlite3OsClose(pPager->jfd); } } } - if( rc!=SQLITE_OK ){ - goto failed; - } - - /* TODO: Why are these cleared here? Is it necessary? */ - pPager->journalStarted = 0; - pPager->journalOff = 0; - pPager->setMaster = 0; - pPager->journalHdr = 0; /* Playback and delete the journal. Drop the database write ** lock and reacquire the read lock. Purge the cache before ** playing back the hot-journal so that we don't end up with - ** an inconsistent cache. + ** an inconsistent cache. Sync the hot journal before playing + ** it back since the process that crashed and left the hot journal + ** probably did not sync it and we are required to always sync + ** the journal before playing it back. */ if( isOpen(pPager->jfd) ){ - rc = pager_playback(pPager, 1); - if( rc!=SQLITE_OK ){ - rc = pager_error(pPager, rc); - goto failed; + assert( rc==SQLITE_OK ); + rc = pagerSyncHotJournal(pPager); + if( rc==SQLITE_OK ){ + rc = pager_playback(pPager, 1); + pPager->eState = PAGER_OPEN; } + }else if( !pPager->exclusiveMode ){ + pagerUnlockDb(pPager, SHARED_LOCK); + } + + if( rc!=SQLITE_OK ){ + /* This branch is taken if an error occurs while trying to open + ** or roll back a hot-journal while holding an EXCLUSIVE lock. The + ** pager_unlock() routine will be called before returning to unlock + ** the file. If the unlock attempt fails, then Pager.eLock must be + ** set to UNKNOWN_LOCK (see the comment above the #define for + ** UNKNOWN_LOCK above for an explanation). + ** + ** In order to get pager_unlock() to do this, set Pager.eState to + ** PAGER_ERROR now. This is not actually counted as a transition + ** to ERROR state in the state diagram at the top of this file, + ** since we know that the same call to pager_unlock() will very + ** shortly transition the pager object to the OPEN state. Calling + ** assert_pager_state() would fail now, as it should not be possible + ** to be in ERROR state when there are zero outstanding page + ** references. + */ + pager_error(pPager, rc); + goto failed; } - assert( (pPager->state==PAGER_SHARED) - || (pPager->exclusiveMode && pPager->state>PAGER_SHARED) + + assert( pPager->eState==PAGER_OPEN ); + assert( (pPager->eLock==SHARED_LOCK) + || (pPager->exclusiveMode && pPager->eLock>SHARED_LOCK) ); } - if( pPager->pBackup || sqlite3PcachePagecount(pPager->pPCache)>0 ){ + if( !pPager->tempFile + && (pPager->pBackup || sqlite3PcachePagecount(pPager->pPCache)>0) + ){ /* The shared-lock has just been acquired on the database file ** and there are already pages in the cache (from a previous ** read or write transaction). Check to see if the database @@ -35891,16 +38905,13 @@ SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager){ ** detected. The chance of an undetected change is so small that ** it can be neglected. */ + Pgno nPage = 0; char dbFileVers[sizeof(pPager->dbFileVers)]; - sqlite3PagerPagecount(pPager, 0); - if( pPager->errCode ){ - rc = pPager->errCode; - goto failed; - } + rc = pagerPagecount(pPager, &nPage); + if( rc ) goto failed; - assert( pPager->dbSizeValid ); - if( pPager->dbSize>0 ){ + if( nPage>0 ){ IOTRACE(("CKVERS %p %d\n", pPager, sizeof(dbFileVers))); rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24); if( rc!=SQLITE_OK ){ @@ -35914,13 +38925,30 @@ SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager){ pager_reset(pPager); } } - assert( pPager->exclusiveMode || pPager->state==PAGER_SHARED ); + + /* If there is a WAL file in the file-system, open this database in WAL + ** mode. Otherwise, the following function call is a no-op. + */ + rc = pagerOpenWalIfPresent(pPager); + assert( pPager->pWal==0 || rc==SQLITE_OK ); + } + + if( pagerUseWal(pPager) ){ + assert( rc==SQLITE_OK ); + rc = pagerBeginReadTransaction(pPager); + } + + if( pPager->eState==PAGER_OPEN && rc==SQLITE_OK ){ + rc = pagerPagecount(pPager, &pPager->dbSize); } failed: if( rc!=SQLITE_OK ){ - /* pager_unlock() is a no-op for exclusive mode and in-memory databases. */ + assert( !MEMDB ); pager_unlock(pPager); + assert( pPager->eState==PAGER_OPEN ); + }else{ + pPager->eState = PAGER_READER; } return rc; } @@ -35934,9 +38962,7 @@ SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager){ ** nothing to rollback, so this routine is a no-op. */ static void pagerUnlockIfUnused(Pager *pPager){ - if( (sqlite3PcacheRefCount(pPager->pPCache)==0) - && (!pPager->exclusiveMode || pPager->journalOff>0) - ){ + if( (sqlite3PcacheRefCount(pPager->pPCache)==0) ){ pagerUnlockAndRollback(pPager); } } @@ -35969,7 +38995,7 @@ static void pagerUnlockIfUnused(Pager *pPager){ ** a) When reading a free-list leaf page from the database, and ** ** b) When a savepoint is being rolled back and we need to load -** a new page into the cache to populate with the data read +** a new page into the cache to be filled with the data read ** from the savepoint journal. ** ** If noContent is true, then the data returned is zeroed instead of @@ -36000,8 +39026,8 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( int rc; PgHdr *pPg; + assert( pPager->eState>=PAGER_READER ); assert( assert_pager_state(pPager) ); - assert( pPager->state>PAGER_UNLOCK ); if( pgno==0 ){ return SQLITE_CORRUPT_BKPT; @@ -36009,7 +39035,7 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( /* If the pager is in the error state, return an error immediately. ** Otherwise, request the page from the PCache layer. */ - if( pPager->errCode!=SQLITE_OK && pPager->errCode!=SQLITE_FULL ){ + if( pPager->errCode!=SQLITE_OK ){ rc = pPager->errCode; }else{ rc = sqlite3PcacheFetch(pPager->pPCache, pgno, 1, ppPage); @@ -36025,7 +39051,7 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( assert( (*ppPage)->pgno==pgno ); assert( (*ppPage)->pPager==pPager || (*ppPage)->pPager==0 ); - if( (*ppPage)->pPager ){ + if( (*ppPage)->pPager && !noContent ){ /* In this case the pcache already contains an initialized copy of ** the page. Return without further ado. */ assert( pgno<=PAGER_MAX_PGNO && pgno!=PAGER_MJ_PGNO(pPager) ); @@ -36035,7 +39061,6 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( }else{ /* The pager cache has created a new page. Its content needs to ** be initialized. */ - int nMax; PAGER_INCR(pPager->nMiss); pPg = *ppPage; @@ -36048,15 +39073,10 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( goto pager_acquire_err; } - rc = sqlite3PagerPagecount(pPager, &nMax); - if( rc!=SQLITE_OK ){ - goto pager_acquire_err; - } - - if( MEMDB || nMax<(int)pgno || noContent || !isOpen(pPager->fd) ){ + if( MEMDB || pPager->dbSizefd) ){ if( pgno>pPager->mxPgno ){ - rc = SQLITE_FULL; - goto pager_acquire_err; + rc = SQLITE_FULL; + goto pager_acquire_err; } if( noContent ){ /* Failure to set the bits in the InJournal bit-vectors is benign. @@ -36083,9 +39103,7 @@ SQLITE_PRIVATE int sqlite3PagerAcquire( goto pager_acquire_err; } } -#ifdef SQLITE_CHECK_PAGES - pPg->pageHash = pager_pagehash(pPg); -#endif + pager_set_pagehash(pPg); } return SQLITE_OK; @@ -36104,9 +39122,7 @@ pager_acquire_err: /* ** Acquire a page if it is already in the in-memory cache. Do ** not read the page from disk. Return a pointer to the page, -** or 0 if the page is not in cache. Also, return 0 if the -** pager is in PAGER_UNLOCK state when this function is called, -** or if the pager is in an error state other than SQLITE_FULL. +** or 0 if the page is not in cache. ** ** See also sqlite3PagerGet(). The difference between this routine ** and sqlite3PagerGet() is that _get() will go to the disk and read @@ -36119,7 +39135,7 @@ SQLITE_PRIVATE DbPage *sqlite3PagerLookup(Pager *pPager, Pgno pgno){ assert( pPager!=0 ); assert( pgno!=0 ); assert( pPager->pPCache!=0 ); - assert( pPager->state > PAGER_UNLOCK ); + assert( pPager->eState>=PAGER_READER && pPager->eState!=PAGER_ERROR ); sqlite3PcacheFetch(pPager->pPCache, pgno, 0, &pPg); return pPg; } @@ -36141,27 +39157,6 @@ SQLITE_PRIVATE void sqlite3PagerUnref(DbPage *pPg){ } /* -** If the main journal file has already been opened, ensure that the -** sub-journal file is open too. If the main journal is not open, -** this function is a no-op. -** -** SQLITE_OK is returned if everything goes according to plan. -** An SQLITE_IOERR_XXX error code is returned if a call to -** sqlite3OsOpen() fails. -*/ -static int openSubJournal(Pager *pPager){ - int rc = SQLITE_OK; - if( isOpen(pPager->jfd) && !isOpen(pPager->sjfd) ){ - if( pPager->journalMode==PAGER_JOURNALMODE_MEMORY || pPager->subjInMemory ){ - sqlite3MemJournalOpen(pPager->sjfd); - }else{ - rc = pagerOpentemp(pPager, pPager->sjfd, SQLITE_OPEN_SUBJOURNAL); - } - } - return rc; -} - -/* ** This function is called at the start of every write transaction. ** There must already be a RESERVED or EXCLUSIVE lock on the database ** file when this routine is called. @@ -36187,9 +39182,8 @@ static int pager_open_journal(Pager *pPager){ int rc = SQLITE_OK; /* Return code */ sqlite3_vfs * const pVfs = pPager->pVfs; /* Local cache of vfs pointer */ - assert( pPager->state>=PAGER_RESERVED ); - assert( pPager->useJournal ); - assert( pPager->journalMode!=PAGER_JOURNALMODE_OFF ); + assert( pPager->eState==PAGER_WRITER_LOCKED ); + assert( assert_pager_state(pPager) ); assert( pPager->pInJournal==0 ); /* If already in the error state, this function is a no-op. But on @@ -36197,62 +39191,56 @@ static int pager_open_journal(Pager *pPager){ ** an error state. */ if( NEVER(pPager->errCode) ) return pPager->errCode; - /* TODO: Is it really possible to get here with dbSizeValid==0? If not, - ** the call to PagerPagecount() can be removed. - */ - testcase( pPager->dbSizeValid==0 ); - sqlite3PagerPagecount(pPager, 0); - - pPager->pInJournal = sqlite3BitvecCreate(pPager->dbSize); - if( pPager->pInJournal==0 ){ - return SQLITE_NOMEM; - } - - /* Open the journal file if it is not already open. */ - if( !isOpen(pPager->jfd) ){ - if( pPager->journalMode==PAGER_JOURNALMODE_MEMORY ){ - sqlite3MemJournalOpen(pPager->jfd); - }else{ - const int flags = /* VFS flags to open journal file */ - SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE| - (pPager->tempFile ? - (SQLITE_OPEN_DELETEONCLOSE|SQLITE_OPEN_TEMP_JOURNAL): - (SQLITE_OPEN_MAIN_JOURNAL) + if( !pagerUseWal(pPager) && pPager->journalMode!=PAGER_JOURNALMODE_OFF ){ + pPager->pInJournal = sqlite3BitvecCreate(pPager->dbSize); + if( pPager->pInJournal==0 ){ + return SQLITE_NOMEM; + } + + /* Open the journal file if it is not already open. */ + if( !isOpen(pPager->jfd) ){ + if( pPager->journalMode==PAGER_JOURNALMODE_MEMORY ){ + sqlite3MemJournalOpen(pPager->jfd); + }else{ + const int flags = /* VFS flags to open journal file */ + SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE| + (pPager->tempFile ? + (SQLITE_OPEN_DELETEONCLOSE|SQLITE_OPEN_TEMP_JOURNAL): + (SQLITE_OPEN_MAIN_JOURNAL) + ); + #ifdef SQLITE_ENABLE_ATOMIC_WRITE + rc = sqlite3JournalOpen( + pVfs, pPager->zJournal, pPager->jfd, flags, jrnlBufferSize(pPager) ); -#ifdef SQLITE_ENABLE_ATOMIC_WRITE - rc = sqlite3JournalOpen( - pVfs, pPager->zJournal, pPager->jfd, flags, jrnlBufferSize(pPager) - ); -#else - rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0); -#endif + #else + rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0); + #endif + } + assert( rc!=SQLITE_OK || isOpen(pPager->jfd) ); + } + + + /* Write the first journal header to the journal file and open + ** the sub-journal if necessary. + */ + if( rc==SQLITE_OK ){ + /* TODO: Check if all of these are really required. */ + pPager->nRec = 0; + pPager->journalOff = 0; + pPager->setMaster = 0; + pPager->journalHdr = 0; + rc = writeJournalHdr(pPager); } - assert( rc!=SQLITE_OK || isOpen(pPager->jfd) ); - } - - - /* Write the first journal header to the journal file and open - ** the sub-journal if necessary. - */ - if( rc==SQLITE_OK ){ - /* TODO: Check if all of these are really required. */ - pPager->dbOrigSize = pPager->dbSize; - pPager->journalStarted = 0; - pPager->needSync = 0; - pPager->nRec = 0; - pPager->journalOff = 0; - pPager->setMaster = 0; - pPager->journalHdr = 0; - rc = writeJournalHdr(pPager); - } - if( rc==SQLITE_OK && pPager->nSavepoint ){ - rc = openSubJournal(pPager); } if( rc!=SQLITE_OK ){ sqlite3BitvecDestroy(pPager->pInJournal); pPager->pInJournal = 0; + }else{ + assert( pPager->eState==PAGER_WRITER_LOCKED ); + pPager->eState = PAGER_WRITER_CACHEMOD; } + return rc; } @@ -36265,14 +39253,6 @@ static int pager_open_journal(Pager *pPager){ ** an EXCLUSIVE lock. If such a lock is already held, no locking ** functions need be called. ** -** If this is not a temporary or in-memory file and, the journal file is -** opened if it has not been already. For a temporary file, the opening -** of the journal file is deferred until there is an actual need to -** write to the journal. TODO: Why handle temporary files differently? -** -** If the journal file is opened (or if it is already open), then a -** journal-header is written to the start of it. -** ** If the subjInMemory argument is non-zero, then any sub-journal opened ** within this transaction will be opened as an in-memory file. This ** has no effect if the sub-journal is already opened (as it may be when @@ -36283,55 +39263,67 @@ static int pager_open_journal(Pager *pPager){ */ SQLITE_PRIVATE int sqlite3PagerBegin(Pager *pPager, int exFlag, int subjInMemory){ int rc = SQLITE_OK; - assert( pPager->state!=PAGER_UNLOCK ); + + if( pPager->errCode ) return pPager->errCode; + assert( pPager->eState>=PAGER_READER && pPager->eStatesubjInMemory = (u8)subjInMemory; - if( pPager->state==PAGER_SHARED ){ + + if( ALWAYS(pPager->eState==PAGER_READER) ){ assert( pPager->pInJournal==0 ); - assert( !MEMDB && !pPager->tempFile ); - /* Obtain a RESERVED lock on the database file. If the exFlag parameter - ** is true, then immediately upgrade this to an EXCLUSIVE lock. The - ** busy-handler callback can be used when upgrading to the EXCLUSIVE - ** lock, but not when obtaining the RESERVED lock. - */ - rc = sqlite3OsLock(pPager->fd, RESERVED_LOCK); - if( rc==SQLITE_OK ){ - pPager->state = PAGER_RESERVED; - if( exFlag ){ + if( pagerUseWal(pPager) ){ + /* If the pager is configured to use locking_mode=exclusive, and an + ** exclusive lock on the database is not already held, obtain it now. + */ + if( pPager->exclusiveMode && sqlite3WalExclusiveMode(pPager->pWal, -1) ){ + rc = pagerLockDb(pPager, EXCLUSIVE_LOCK); + if( rc!=SQLITE_OK ){ + return rc; + } + sqlite3WalExclusiveMode(pPager->pWal, 1); + } + + /* Grab the write lock on the log file. If successful, upgrade to + ** PAGER_RESERVED state. Otherwise, return an error code to the caller. + ** The busy-handler is not invoked if another connection already + ** holds the write-lock. If possible, the upper layer will call it. + */ + rc = sqlite3WalBeginWriteTransaction(pPager->pWal); + }else{ + /* Obtain a RESERVED lock on the database file. If the exFlag parameter + ** is true, then immediately upgrade this to an EXCLUSIVE lock. The + ** busy-handler callback can be used when upgrading to the EXCLUSIVE + ** lock, but not when obtaining the RESERVED lock. + */ + rc = pagerLockDb(pPager, RESERVED_LOCK); + if( rc==SQLITE_OK && exFlag ){ rc = pager_wait_on_lock(pPager, EXCLUSIVE_LOCK); } } - /* If the required locks were successfully obtained, open the journal - ** file and write the first journal-header to it. - */ - if( rc==SQLITE_OK && pPager->journalMode!=PAGER_JOURNALMODE_OFF ){ - rc = pager_open_journal(pPager); + if( rc==SQLITE_OK ){ + /* Change to WRITER_LOCKED state. + ** + ** WAL mode sets Pager.eState to PAGER_WRITER_LOCKED or CACHEMOD + ** when it has an open transaction, but never to DBMOD or FINISHED. + ** This is because in those states the code to roll back savepoint + ** transactions may copy data from the sub-journal into the database + ** file as well as into the page cache. Which would be incorrect in + ** WAL mode. + */ + pPager->eState = PAGER_WRITER_LOCKED; + pPager->dbHintSize = pPager->dbSize; + pPager->dbFileSize = pPager->dbSize; + pPager->dbOrigSize = pPager->dbSize; + pPager->journalOff = 0; } - }else if( isOpen(pPager->jfd) && pPager->journalOff==0 ){ - /* This happens when the pager was in exclusive-access mode the last - ** time a (read or write) transaction was successfully concluded - ** by this connection. Instead of deleting the journal file it was - ** kept open and either was truncated to 0 bytes or its header was - ** overwritten with zeros. - */ - assert( pPager->nRec==0 ); - assert( pPager->dbOrigSize==0 ); - assert( pPager->pInJournal==0 ); - rc = pager_open_journal(pPager); + + assert( rc==SQLITE_OK || pPager->eState==PAGER_READER ); + assert( rc!=SQLITE_OK || pPager->eState==PAGER_WRITER_LOCKED ); + assert( assert_pager_state(pPager) ); } PAGERTRACE(("TRANSACTION %d\n", PAGERID(pPager))); - assert( !isOpen(pPager->jfd) || pPager->journalOff>0 || rc!=SQLITE_OK ); - if( rc!=SQLITE_OK ){ - assert( !pPager->dbModified ); - /* Ignore any IO error that occurs within pager_end_transaction(). The - ** purpose of this call is to reset the internal state of the pager - ** sub-system. It doesn't matter if the journal-file is not properly - ** finalized at this point (since it is not a valid journal file anyway). - */ - pager_end_transaction(pPager, 0); - } return rc; } @@ -36347,22 +39339,24 @@ static int pager_write(PgHdr *pPg){ Pager *pPager = pPg->pPager; int rc = SQLITE_OK; - /* This routine is not called unless a transaction has already been - ** started. + /* This routine is not called unless a write-transaction has already + ** been started. The journal file may or may not be open at this point. + ** It is never called in the ERROR state. */ - assert( pPager->state>=PAGER_RESERVED ); + assert( pPager->eState==PAGER_WRITER_LOCKED + || pPager->eState==PAGER_WRITER_CACHEMOD + || pPager->eState==PAGER_WRITER_DBMOD + ); + assert( assert_pager_state(pPager) ); - /* If an error has been previously detected, we should not be - ** calling this routine. Repeat the error for robustness. - */ + /* If an error has been previously detected, report the same error + ** again. This should not happen, but the check provides robustness. */ if( NEVER(pPager->errCode) ) return pPager->errCode; /* Higher-level routines never call this function if database is not ** writable. But check anyway, just for robustness. */ if( NEVER(pPager->readOnly) ) return SQLITE_PERM; - assert( !pPager->setMaster ); - CHECK_PAGE(pPg); /* Mark the page as dirty. If the page has already been written @@ -36370,79 +39364,69 @@ static int pager_write(PgHdr *pPg){ */ sqlite3PcacheMakeDirty(pPg); if( pageInJournal(pPg) && !subjRequiresPage(pPg) ){ - pPager->dbModified = 1; + assert( !pagerUseWal(pPager) ); + assert( pPager->eState>=PAGER_WRITER_CACHEMOD ); }else{ /* If we get this far, it means that the page needs to be - ** written to the transaction journal or the ckeckpoint journal + ** written to the transaction journal or the checkpoint journal ** or both. ** - ** Higher level routines should have already started a transaction, - ** which means they have acquired the necessary locks and opened - ** a rollback journal. Double-check to makes sure this is the case. + ** Higher level routines have already obtained the necessary locks + ** to begin the write-transaction, but the rollback journal might not + ** yet be open. Open it now if this is the case. */ - rc = sqlite3PagerBegin(pPager, 0, pPager->subjInMemory); - if( NEVER(rc!=SQLITE_OK) ){ - return rc; - } - if( !isOpen(pPager->jfd) && pPager->journalMode!=PAGER_JOURNALMODE_OFF ){ - assert( pPager->useJournal ); + if( pPager->eState==PAGER_WRITER_LOCKED ){ rc = pager_open_journal(pPager); if( rc!=SQLITE_OK ) return rc; } - pPager->dbModified = 1; + assert( pPager->eState>=PAGER_WRITER_CACHEMOD ); + assert( assert_pager_state(pPager) ); /* The transaction journal now exists and we have a RESERVED or an ** EXCLUSIVE lock on the main database file. Write the current page to ** the transaction journal if it is not there already. */ - if( !pageInJournal(pPg) && isOpen(pPager->jfd) ){ - if( pPg->pgno<=pPager->dbOrigSize ){ + if( !pageInJournal(pPg) && !pagerUseWal(pPager) ){ + assert( pagerUseWal(pPager)==0 ); + if( pPg->pgno<=pPager->dbOrigSize && isOpen(pPager->jfd) ){ u32 cksum; char *pData2; + i64 iOff = pPager->journalOff; /* We should never write to the journal file the page that ** contains the database locks. The following assert verifies ** that we do not. */ assert( pPg->pgno!=PAGER_MJ_PGNO(pPager) ); + + assert( pPager->journalHdr<=pPager->journalOff ); CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); cksum = pager_cksum(pPager, (u8*)pData2); - rc = write32bits(pPager->jfd, pPager->journalOff, pPg->pgno); - if( rc==SQLITE_OK ){ - rc = sqlite3OsWrite(pPager->jfd, pData2, pPager->pageSize, - pPager->journalOff + 4); - pPager->journalOff += pPager->pageSize+4; - } - if( rc==SQLITE_OK ){ - rc = write32bits(pPager->jfd, pPager->journalOff, cksum); - pPager->journalOff += 4; - } - IOTRACE(("JOUT %p %d %lld %d\n", pPager, pPg->pgno, - pPager->journalOff, pPager->pageSize)); - PAGER_INCR(sqlite3_pager_writej_count); - PAGERTRACE(("JOURNAL %d page %d needSync=%d hash(%08x)\n", - PAGERID(pPager), pPg->pgno, - ((pPg->flags&PGHDR_NEED_SYNC)?1:0), pager_pagehash(pPg))); - /* Even if an IO or diskfull error occurred while journalling the + /* Even if an IO or diskfull error occurs while journalling the ** page in the block above, set the need-sync flag for the page. ** Otherwise, when the transaction is rolled back, the logic in ** playback_one_page() will think that the page needs to be restored ** in the database file. And if an IO error occurs while doing so, ** then corruption may follow. */ - if( !pPager->noSync ){ - pPg->flags |= PGHDR_NEED_SYNC; - pPager->needSync = 1; - } + pPg->flags |= PGHDR_NEED_SYNC; - /* An error has occurred writing to the journal file. The - ** transaction will be rolled back by the layer above. - */ - if( rc!=SQLITE_OK ){ - return rc; - } + rc = write32bits(pPager->jfd, iOff, pPg->pgno); + if( rc!=SQLITE_OK ) return rc; + rc = sqlite3OsWrite(pPager->jfd, pData2, pPager->pageSize, iOff+4); + if( rc!=SQLITE_OK ) return rc; + rc = write32bits(pPager->jfd, iOff+pPager->pageSize+4, cksum); + if( rc!=SQLITE_OK ) return rc; + IOTRACE(("JOUT %p %d %lld %d\n", pPager, pPg->pgno, + pPager->journalOff, pPager->pageSize)); + PAGER_INCR(sqlite3_pager_writej_count); + PAGERTRACE(("JOURNAL %d page %d needSync=%d hash(%08x)\n", + PAGERID(pPager), pPg->pgno, + ((pPg->flags&PGHDR_NEED_SYNC)?1:0), pager_pagehash(pPg))); + + pPager->journalOff += 8 + pPager->pageSize; pPager->nRec++; assert( pPager->pInJournal!=0 ); rc = sqlite3BitvecSet(pPager->pInJournal, pPg->pgno); @@ -36454,9 +39438,8 @@ static int pager_write(PgHdr *pPg){ return rc; } }else{ - if( !pPager->journalStarted && !pPager->noSync ){ + if( pPager->eState!=PAGER_WRITER_DBMOD ){ pPg->flags |= PGHDR_NEED_SYNC; - pPager->needSync = 1; } PAGERTRACE(("APPEND %d page %d needSync=%d\n", PAGERID(pPager), pPg->pgno, @@ -36476,7 +39459,6 @@ static int pager_write(PgHdr *pPg){ /* Update the database size and return. */ - assert( pPager->state>=PAGER_SHARED ); if( pPager->dbSizepgno ){ pPager->dbSize = pPg->pgno; } @@ -36504,19 +39486,24 @@ SQLITE_PRIVATE int sqlite3PagerWrite(DbPage *pDbPage){ Pager *pPager = pPg->pPager; Pgno nPagePerSector = (pPager->sectorSize/pPager->pageSize); + assert( pPager->eState>=PAGER_WRITER_LOCKED ); + assert( pPager->eState!=PAGER_ERROR ); + assert( assert_pager_state(pPager) ); + if( nPagePerSector>1 ){ Pgno nPageCount; /* Total number of pages in database file */ Pgno pg1; /* First page of the sector pPg is located on. */ - int nPage; /* Number of pages starting at pg1 to journal */ + int nPage = 0; /* Number of pages starting at pg1 to journal */ int ii; /* Loop counter */ int needSync = 0; /* True if any page has PGHDR_NEED_SYNC */ - /* Set the doNotSync flag to 1. This is because we cannot allow a journal - ** header to be written between the pages journaled by this function. + /* Set the doNotSyncSpill flag to 1. This is because we cannot allow + ** a journal header to be written between the pages journaled by + ** this function. */ assert( !MEMDB ); - assert( pPager->doNotSync==0 ); - pPager->doNotSync = 1; + assert( pPager->doNotSyncSpill==0 ); + pPager->doNotSyncSpill++; /* This trick assumes that both the page-size and sector-size are ** an integer power of 2. It sets variable pg1 to the identifier @@ -36524,7 +39511,7 @@ SQLITE_PRIVATE int sqlite3PagerWrite(DbPage *pDbPage){ */ pg1 = ((pPg->pgno-1) & ~(nPagePerSector-1)) + 1; - sqlite3PagerPagecount(pPager, (int *)&nPageCount); + nPageCount = pPager->dbSize; if( pPg->pgno>nPageCount ){ nPage = (pPg->pgno - pg1)+1; }else if( (pg1+nPagePerSector-1)>nPageCount ){ @@ -36546,7 +39533,6 @@ SQLITE_PRIVATE int sqlite3PagerWrite(DbPage *pDbPage){ rc = pager_write(pPage); if( pPage->flags&PGHDR_NEED_SYNC ){ needSync = 1; - assert(pPager->needSync); } sqlite3PagerUnref(pPage); } @@ -36566,7 +39552,7 @@ SQLITE_PRIVATE int sqlite3PagerWrite(DbPage *pDbPage){ ** before any of them can be written out to the database file. */ if( rc==SQLITE_OK && needSync ){ - assert( !MEMDB && pPager->noSync==0 ); + assert( !MEMDB ); for(ii=0; iineedSync); } - assert( pPager->doNotSync==1 ); - pPager->doNotSync = 0; + assert( pPager->doNotSyncSpill==1 ); + pPager->doNotSyncSpill--; }else{ rc = pager_write(pDbPage); } @@ -36616,9 +39601,7 @@ SQLITE_PRIVATE void sqlite3PagerDontWrite(PgHdr *pPg){ PAGERTRACE(("DONT_WRITE page %d of %d\n", pPg->pgno, PAGERID(pPager))); IOTRACE(("CLEAN %p %d\n", pPager, pPg->pgno)) pPg->flags |= PGHDR_DONT_WRITE; -#ifdef SQLITE_CHECK_PAGES - pPg->pageHash = pager_pagehash(pPg); -#endif + pager_set_pagehash(pPg); } } @@ -36641,6 +39624,11 @@ SQLITE_PRIVATE void sqlite3PagerDontWrite(PgHdr *pPg){ static int pager_incr_changecounter(Pager *pPager, int isDirectMode){ int rc = SQLITE_OK; + assert( pPager->eState==PAGER_WRITER_CACHEMOD + || pPager->eState==PAGER_WRITER_DBMOD + ); + assert( assert_pager_state(pPager) ); + /* Declare and initialize constant integer 'isDirect'. If the ** atomic-write optimization is enabled in this build, then isDirect ** is initialized to the value passed as the isDirectMode parameter @@ -36659,7 +39647,6 @@ static int pager_incr_changecounter(Pager *pPager, int isDirectMode){ # define DIRECT_MODE isDirectMode #endif - assert( pPager->state>=PAGER_RESERVED ); if( !pPager->changeCountDone && pPager->dbSize>0 ){ PgHdr *pPgHdr; /* Reference to page 1 */ u32 change_counter; /* Initial value of change-counter field */ @@ -36685,11 +39672,20 @@ static int pager_incr_changecounter(Pager *pPager, int isDirectMode){ change_counter++; put32bits(((char*)pPgHdr->pData)+24, change_counter); + /* Also store the SQLite version number in bytes 96..99 and in + ** bytes 92..95 store the change counter for which the version number + ** is valid. */ + put32bits(((char*)pPgHdr->pData)+92, change_counter); + put32bits(((char*)pPgHdr->pData)+96, SQLITE_VERSION_NUMBER); + /* If running in direct mode, write the contents of page 1 to the file. */ if( DIRECT_MODE ){ - const void *zBuf = pPgHdr->pData; + const void *zBuf; assert( pPager->dbFileSize>0 ); - rc = sqlite3OsWrite(pPager->fd, zBuf, pPager->pageSize, 0); + CODEC2(pPager, pPgHdr->pData, 1, 6, rc=SQLITE_NOMEM, zBuf); + if( rc==SQLITE_OK ){ + rc = sqlite3OsWrite(pPager->fd, zBuf, pPager->pageSize, 0); + } if( rc==SQLITE_OK ){ pPager->changeCountDone = 1; } @@ -36723,6 +39719,30 @@ SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager){ } /* +** This function may only be called while a write-transaction is active in +** rollback. If the connection is in WAL mode, this call is a no-op. +** Otherwise, if the connection does not already have an EXCLUSIVE lock on +** the database file, an attempt is made to obtain one. +** +** If the EXCLUSIVE lock is already held or the attempt to obtain it is +** successful, or the connection is in WAL mode, SQLITE_OK is returned. +** Otherwise, either SQLITE_BUSY or an SQLITE_IOERR_XXX error code is +** returned. +*/ +SQLITE_PRIVATE int sqlite3PagerExclusiveLock(Pager *pPager){ + int rc = SQLITE_OK; + assert( pPager->eState==PAGER_WRITER_CACHEMOD + || pPager->eState==PAGER_WRITER_DBMOD + || pPager->eState==PAGER_WRITER_LOCKED + ); + assert( assert_pager_state(pPager) ); + if( 0==pagerUseWal(pPager) ){ + rc = pager_wait_on_lock(pPager, EXCLUSIVE_LOCK); + } + return rc; +} + +/* ** Sync the database file for the pager pPager. zMaster points to the name ** of a master journal file that should be written into the individual ** journal file. zMaster may be NULL, which is interpreted as no master @@ -36755,151 +39775,174 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( ){ int rc = SQLITE_OK; /* Return code */ - /* The dbOrigSize is never set if journal_mode=OFF */ - assert( pPager->journalMode!=PAGER_JOURNALMODE_OFF || pPager->dbOrigSize==0 ); + assert( pPager->eState==PAGER_WRITER_LOCKED + || pPager->eState==PAGER_WRITER_CACHEMOD + || pPager->eState==PAGER_WRITER_DBMOD + || pPager->eState==PAGER_ERROR + ); + assert( assert_pager_state(pPager) ); - /* If a prior error occurred, this routine should not be called. ROLLBACK - ** is the appropriate response to an error, not COMMIT. Guard against - ** coding errors by repeating the prior error. */ + /* If a prior error occurred, report that error again. */ if( NEVER(pPager->errCode) ) return pPager->errCode; PAGERTRACE(("DATABASE SYNC: File=%s zMaster=%s nSize=%d\n", pPager->zFilename, zMaster, pPager->dbSize)); - if( MEMDB && pPager->dbModified ){ + /* If no database changes have been made, return early. */ + if( pPager->eStatepBackup); - }else if( pPager->state!=PAGER_SYNCED && pPager->dbModified ){ - - /* The following block updates the change-counter. Exactly how it - ** does this depends on whether or not the atomic-update optimization - ** was enabled at compile time, and if this transaction meets the - ** runtime criteria to use the operation: - ** - ** * The file-system supports the atomic-write property for - ** blocks of size page-size, and - ** * This commit is not part of a multi-file transaction, and - ** * Exactly one page has been modified and store in the journal file. - ** - ** If the optimization was not enabled at compile time, then the - ** pager_incr_changecounter() function is called to update the change - ** counter in 'indirect-mode'. If the optimization is compiled in but - ** is not applicable to this transaction, call sqlite3JournalCreate() - ** to make sure the journal file has actually been created, then call - ** pager_incr_changecounter() to update the change-counter in indirect - ** mode. - ** - ** Otherwise, if the optimization is both enabled and applicable, - ** then call pager_incr_changecounter() to update the change-counter - ** in 'direct' mode. In this case the journal file will never be - ** created for this transaction. - */ -#ifdef SQLITE_ENABLE_ATOMIC_WRITE - PgHdr *pPg; - assert( isOpen(pPager->jfd) || pPager->journalMode==PAGER_JOURNALMODE_OFF ); - if( !zMaster && isOpen(pPager->jfd) - && pPager->journalOff==jrnlBufferSize(pPager) - && pPager->dbSize>=pPager->dbFileSize - && (0==(pPg = sqlite3PcacheDirtyList(pPager->pPCache)) || 0==pPg->pDirty) - ){ - /* Update the db file change counter via the direct-write method. The - ** following call will modify the in-memory representation of page 1 - ** to include the updated change counter and then write page 1 - ** directly to the database file. Because of the atomic-write - ** property of the host file-system, this is safe. - */ - rc = pager_incr_changecounter(pPager, 1); - }else{ - rc = sqlite3JournalCreate(pPager->jfd); + }else{ + if( pagerUseWal(pPager) ){ + PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache); + if( pList ){ + rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1, + (pPager->fullSync ? pPager->sync_flags : 0) + ); + } if( rc==SQLITE_OK ){ - rc = pager_incr_changecounter(pPager, 0); + sqlite3PcacheCleanAll(pPager->pPCache); } - } -#else - rc = pager_incr_changecounter(pPager, 0); -#endif - if( rc!=SQLITE_OK ) goto commit_phase_one_exit; - - /* If this transaction has made the database smaller, then all pages - ** being discarded by the truncation must be written to the journal - ** file. This can only happen in auto-vacuum mode. - ** - ** Before reading the pages with page numbers larger than the - ** current value of Pager.dbSize, set dbSize back to the value - ** that it took at the start of the transaction. Otherwise, the - ** calls to sqlite3PagerGet() return zeroed pages instead of - ** reading data from the database file. - ** - ** When journal_mode==OFF the dbOrigSize is always zero, so this - ** block never runs if journal_mode=OFF. - */ -#ifndef SQLITE_OMIT_AUTOVACUUM - if( pPager->dbSizedbOrigSize - && ALWAYS(pPager->journalMode!=PAGER_JOURNALMODE_OFF) - ){ - Pgno i; /* Iterator variable */ - const Pgno iSkip = PAGER_MJ_PGNO(pPager); /* Pending lock page */ - const Pgno dbSize = pPager->dbSize; /* Database image size */ - pPager->dbSize = pPager->dbOrigSize; - for( i=dbSize+1; i<=pPager->dbOrigSize; i++ ){ - if( !sqlite3BitvecTest(pPager->pInJournal, i) && i!=iSkip ){ - PgHdr *pPage; /* Page to journal */ - rc = sqlite3PagerGet(pPager, i, &pPage); - if( rc!=SQLITE_OK ) goto commit_phase_one_exit; - rc = sqlite3PagerWrite(pPage); - sqlite3PagerUnref(pPage); - if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + }else{ + /* The following block updates the change-counter. Exactly how it + ** does this depends on whether or not the atomic-update optimization + ** was enabled at compile time, and if this transaction meets the + ** runtime criteria to use the operation: + ** + ** * The file-system supports the atomic-write property for + ** blocks of size page-size, and + ** * This commit is not part of a multi-file transaction, and + ** * Exactly one page has been modified and store in the journal file. + ** + ** If the optimization was not enabled at compile time, then the + ** pager_incr_changecounter() function is called to update the change + ** counter in 'indirect-mode'. If the optimization is compiled in but + ** is not applicable to this transaction, call sqlite3JournalCreate() + ** to make sure the journal file has actually been created, then call + ** pager_incr_changecounter() to update the change-counter in indirect + ** mode. + ** + ** Otherwise, if the optimization is both enabled and applicable, + ** then call pager_incr_changecounter() to update the change-counter + ** in 'direct' mode. In this case the journal file will never be + ** created for this transaction. + */ + #ifdef SQLITE_ENABLE_ATOMIC_WRITE + PgHdr *pPg; + assert( isOpen(pPager->jfd) + || pPager->journalMode==PAGER_JOURNALMODE_OFF + || pPager->journalMode==PAGER_JOURNALMODE_WAL + ); + if( !zMaster && isOpen(pPager->jfd) + && pPager->journalOff==jrnlBufferSize(pPager) + && pPager->dbSize>=pPager->dbOrigSize + && (0==(pPg = sqlite3PcacheDirtyList(pPager->pPCache)) || 0==pPg->pDirty) + ){ + /* Update the db file change counter via the direct-write method. The + ** following call will modify the in-memory representation of page 1 + ** to include the updated change counter and then write page 1 + ** directly to the database file. Because of the atomic-write + ** property of the host file-system, this is safe. + */ + rc = pager_incr_changecounter(pPager, 1); + }else{ + rc = sqlite3JournalCreate(pPager->jfd); + if( rc==SQLITE_OK ){ + rc = pager_incr_changecounter(pPager, 0); } + } + #else + rc = pager_incr_changecounter(pPager, 0); + #endif + if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + + /* If this transaction has made the database smaller, then all pages + ** being discarded by the truncation must be written to the journal + ** file. This can only happen in auto-vacuum mode. + ** + ** Before reading the pages with page numbers larger than the + ** current value of Pager.dbSize, set dbSize back to the value + ** that it took at the start of the transaction. Otherwise, the + ** calls to sqlite3PagerGet() return zeroed pages instead of + ** reading data from the database file. + */ + #ifndef SQLITE_OMIT_AUTOVACUUM + if( pPager->dbSizedbOrigSize + && pPager->journalMode!=PAGER_JOURNALMODE_OFF + ){ + Pgno i; /* Iterator variable */ + const Pgno iSkip = PAGER_MJ_PGNO(pPager); /* Pending lock page */ + const Pgno dbSize = pPager->dbSize; /* Database image size */ + pPager->dbSize = pPager->dbOrigSize; + for( i=dbSize+1; i<=pPager->dbOrigSize; i++ ){ + if( !sqlite3BitvecTest(pPager->pInJournal, i) && i!=iSkip ){ + PgHdr *pPage; /* Page to journal */ + rc = sqlite3PagerGet(pPager, i, &pPage); + if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + rc = sqlite3PagerWrite(pPage); + sqlite3PagerUnref(pPage); + if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + } + } + pPager->dbSize = dbSize; } - pPager->dbSize = dbSize; - } -#endif - - /* Write the master journal name into the journal file. If a master - ** journal file name has already been written to the journal file, - ** or if zMaster is NULL (no master journal), then this call is a no-op. - */ - rc = writeMasterJournal(pPager, zMaster); - if( rc!=SQLITE_OK ) goto commit_phase_one_exit; - - /* Sync the journal file. If the atomic-update optimization is being - ** used, this call will not create the journal file or perform any - ** real IO. - */ - rc = syncJournal(pPager); - if( rc!=SQLITE_OK ) goto commit_phase_one_exit; - - /* Write all dirty pages to the database file. */ - rc = pager_write_pagelist(sqlite3PcacheDirtyList(pPager->pPCache)); - if( rc!=SQLITE_OK ){ - assert( rc!=SQLITE_IOERR_BLOCKED ); - goto commit_phase_one_exit; - } - sqlite3PcacheCleanAll(pPager->pPCache); - - /* If the file on disk is not the same size as the database image, - ** then use pager_truncate to grow or shrink the file here. - */ - if( pPager->dbSize!=pPager->dbFileSize ){ - Pgno nNew = pPager->dbSize - (pPager->dbSize==PAGER_MJ_PGNO(pPager)); - assert( pPager->state>=PAGER_EXCLUSIVE ); - rc = pager_truncate(pPager, nNew); + #endif + + /* Write the master journal name into the journal file. If a master + ** journal file name has already been written to the journal file, + ** or if zMaster is NULL (no master journal), then this call is a no-op. + */ + rc = writeMasterJournal(pPager, zMaster); if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + + /* Sync the journal file and write all dirty pages to the database. + ** If the atomic-update optimization is being used, this sync will not + ** create the journal file or perform any real IO. + ** + ** Because the change-counter page was just modified, unless the + ** atomic-update optimization is used it is almost certain that the + ** journal requires a sync here. However, in locking_mode=exclusive + ** on a system under memory pressure it is just possible that this is + ** not the case. In this case it is likely enough that the redundant + ** xSync() call will be changed to a no-op by the OS anyhow. + */ + rc = syncJournal(pPager, 0); + if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + + rc = pager_write_pagelist(pPager,sqlite3PcacheDirtyList(pPager->pPCache)); + if( rc!=SQLITE_OK ){ + assert( rc!=SQLITE_IOERR_BLOCKED ); + goto commit_phase_one_exit; + } + sqlite3PcacheCleanAll(pPager->pPCache); + + /* If the file on disk is not the same size as the database image, + ** then use pager_truncate to grow or shrink the file here. + */ + if( pPager->dbSize!=pPager->dbFileSize ){ + Pgno nNew = pPager->dbSize - (pPager->dbSize==PAGER_MJ_PGNO(pPager)); + assert( pPager->eState==PAGER_WRITER_DBMOD ); + rc = pager_truncate(pPager, nNew); + if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + } + + /* Finally, sync the database file. */ + if( !pPager->noSync && !noSync ){ + rc = sqlite3OsSync(pPager->fd, pPager->sync_flags); + } + IOTRACE(("DBSYNC %p\n", pPager)) } - - /* Finally, sync the database file. */ - if( !pPager->noSync && !noSync ){ - rc = sqlite3OsSync(pPager->fd, pPager->sync_flags); - } - IOTRACE(("DBSYNC %p\n", pPager)) - - pPager->state = PAGER_SYNCED; } commit_phase_one_exit: + if( rc==SQLITE_OK && !pagerUseWal(pPager) ){ + pPager->eState = PAGER_WRITER_FINISHED; + } return rc; } @@ -36927,11 +39970,11 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseTwo(Pager *pPager){ ** called, just return the same error code without doing anything. */ if( NEVER(pPager->errCode) ) return pPager->errCode; - /* This function should not be called if the pager is not in at least - ** PAGER_RESERVED state. And indeed SQLite never does this. But it is - ** nice to have this defensive test here anyway. - */ - if( NEVER(pPager->stateeState==PAGER_WRITER_LOCKED + || pPager->eState==PAGER_WRITER_FINISHED + || (pagerUseWal(pPager) && pPager->eState==PAGER_WRITER_CACHEMOD) + ); + assert( assert_pager_state(pPager) ); /* An optimization. If the database was not actually modified during ** this transaction, the pager is running in exclusive-mode and is @@ -36944,95 +39987,76 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseTwo(Pager *pPager){ ** header. Since the pager is in exclusive mode, there is no need ** to drop any locks either. */ - if( pPager->dbModified==0 && pPager->exclusiveMode + if( pPager->eState==PAGER_WRITER_LOCKED + && pPager->exclusiveMode && pPager->journalMode==PAGER_JOURNALMODE_PERSIST ){ - assert( pPager->journalOff==JOURNAL_HDR_SZ(pPager) ); + assert( pPager->journalOff==JOURNAL_HDR_SZ(pPager) || !pPager->journalOff ); + pPager->eState = PAGER_READER; return SQLITE_OK; } PAGERTRACE(("COMMIT %d\n", PAGERID(pPager))); - assert( pPager->state==PAGER_SYNCED || MEMDB || !pPager->dbModified ); rc = pager_end_transaction(pPager, pPager->setMaster); return pager_error(pPager, rc); } /* -** Rollback all changes. The database falls back to PAGER_SHARED mode. +** If a write transaction is open, then all changes made within the +** transaction are reverted and the current write-transaction is closed. +** The pager falls back to PAGER_READER state if successful, or PAGER_ERROR +** state if an error occurs. +** +** If the pager is already in PAGER_ERROR state when this function is called, +** it returns Pager.errCode immediately. No work is performed in this case. ** -** This function performs two tasks: +** Otherwise, in rollback mode, this function performs two functions: ** ** 1) It rolls back the journal file, restoring all database file and ** in-memory cache pages to the state they were in when the transaction ** was opened, and +** ** 2) It finalizes the journal file, so that it is not used for hot ** rollback at any point in the future. ** -** subject to the following qualifications: -** -** * If the journal file is not yet open when this function is called, -** then only (2) is performed. In this case there is no journal file -** to roll back. -** -** * If in an error state other than SQLITE_FULL, then task (1) is -** performed. If successful, task (2). Regardless of the outcome -** of either, the error state error code is returned to the caller -** (i.e. either SQLITE_IOERR or SQLITE_CORRUPT). -** -** * If the pager is in PAGER_RESERVED state, then attempt (1). Whether -** or not (1) is succussful, also attempt (2). If successful, return -** SQLITE_OK. Otherwise, enter the error state and return the first -** error code encountered. +** Finalization of the journal file (task 2) is only performed if the +** rollback is successful. ** -** In this case there is no chance that the database was written to. -** So is safe to finalize the journal file even if the playback -** (operation 1) failed. However the pager must enter the error state -** as the contents of the in-memory cache are now suspect. -** -** * Finally, if in PAGER_EXCLUSIVE state, then attempt (1). Only -** attempt (2) if (1) is successful. Return SQLITE_OK if successful, -** otherwise enter the error state and return the error code from the -** failing operation. -** -** In this case the database file may have been written to. So if the -** playback operation did not succeed it would not be safe to finalize -** the journal file. It needs to be left in the file-system so that -** some other process can use it to restore the database state (by -** hot-journal rollback). +** In WAL mode, all cache-entries containing data modified within the +** current transaction are either expelled from the cache or reverted to +** their pre-transaction state by re-reading data from the database or +** WAL files. The WAL transaction is then closed. */ SQLITE_PRIVATE int sqlite3PagerRollback(Pager *pPager){ int rc = SQLITE_OK; /* Return code */ PAGERTRACE(("ROLLBACK %d\n", PAGERID(pPager))); - if( !pPager->dbModified || !isOpen(pPager->jfd) ){ - rc = pager_end_transaction(pPager, pPager->setMaster); - }else if( pPager->errCode && pPager->errCode!=SQLITE_FULL ){ - if( pPager->state>=PAGER_EXCLUSIVE ){ - pager_playback(pPager, 0); - } - rc = pPager->errCode; - }else{ - if( pPager->state==PAGER_RESERVED ){ - int rc2; - rc = pager_playback(pPager, 0); - rc2 = pager_end_transaction(pPager, pPager->setMaster); - if( rc==SQLITE_OK ){ - rc = rc2; - } - }else{ - rc = pager_playback(pPager, 0); - } - if( !MEMDB ){ - pPager->dbSizeValid = 0; - } + /* PagerRollback() is a no-op if called in READER or OPEN state. If + ** the pager is already in the ERROR state, the rollback is not + ** attempted here. Instead, the error code is returned to the caller. + */ + assert( assert_pager_state(pPager) ); + if( pPager->eState==PAGER_ERROR ) return pPager->errCode; + if( pPager->eState<=PAGER_READER ) return SQLITE_OK; - /* If an error occurs during a ROLLBACK, we can no longer trust the pager - ** cache. So call pager_error() on the way out to make any error - ** persistent. - */ - rc = pager_error(pPager, rc); + if( pagerUseWal(pPager) ){ + int rc2; + rc = sqlite3PagerSavepoint(pPager, SAVEPOINT_ROLLBACK, -1); + rc2 = pager_end_transaction(pPager, pPager->setMaster); + if( rc==SQLITE_OK ) rc = rc2; + }else if( !isOpen(pPager->jfd) || pPager->eState==PAGER_WRITER_LOCKED ){ + rc = pager_end_transaction(pPager, 0); + }else{ + rc = pager_playback(pPager, 0); } - return rc; + + assert( pPager->eState==PAGER_READER || rc!=SQLITE_OK ); + assert( rc==SQLITE_OK || rc==SQLITE_FULL || (rc&0xFF)==SQLITE_IOERR ); + + /* If an error occurs during a ROLLBACK, we can no longer trust the pager + ** cache. So call pager_error() on the way out to make any error persistent. + */ + return pager_error(pPager, rc); } /* @@ -37051,6 +40075,18 @@ SQLITE_PRIVATE int sqlite3PagerRefcount(Pager *pPager){ } /* +** Return the approximate number of bytes of memory currently +** used by the pager and its associated cache. +*/ +SQLITE_PRIVATE int sqlite3PagerMemUsed(Pager *pPager){ + int perPageSize = pPager->pageSize + pPager->nExtra + sizeof(PgHdr) + + 5*sizeof(void*); + return perPageSize*sqlite3PcachePagecount(pPager->pPCache) + + sqlite3MallocSize(pPager) + + pPager->pageSize; +} + +/* ** Return the number of references to the specified page. */ SQLITE_PRIVATE int sqlite3PagerPageRefcount(DbPage *pPage){ @@ -37066,8 +40102,8 @@ SQLITE_PRIVATE int *sqlite3PagerStats(Pager *pPager){ a[0] = sqlite3PcacheRefCount(pPager->pPCache); a[1] = sqlite3PcachePagecount(pPager->pPCache); a[2] = sqlite3PcacheGetCachesize(pPager->pPCache); - a[3] = pPager->dbSizeValid ? (int) pPager->dbSize : -1; - a[4] = pPager->state; + a[3] = pPager->eState==PAGER_OPEN ? -1 : (int) pPager->dbSize; + a[4] = pPager->eState; a[5] = pPager->errCode; a[6] = pPager->nHit; a[7] = pPager->nMiss; @@ -37099,15 +40135,13 @@ SQLITE_PRIVATE int sqlite3PagerOpenSavepoint(Pager *pPager, int nSavepoint){ int rc = SQLITE_OK; /* Return code */ int nCurrent = pPager->nSavepoint; /* Current number of savepoints */ + assert( pPager->eState>=PAGER_WRITER_LOCKED ); + assert( assert_pager_state(pPager) ); + if( nSavepoint>nCurrent && pPager->useJournal ){ int ii; /* Iterator variable */ PagerSavepoint *aNew; /* New Pager.aSavepoint array */ - /* Either there is no active journal or the sub-journal is open or - ** the journal is always stored in memory */ - assert( pPager->nSavepoint==0 || isOpen(pPager->sjfd) || - pPager->journalMode==PAGER_JOURNALMODE_MEMORY ); - /* Grow the Pager.aSavepoint array using realloc(). Return SQLITE_NOMEM ** if the allocation fails. Otherwise, zero the new portion in case a ** malloc failure occurs while populating it in the for(...) loop below. @@ -37120,13 +40154,11 @@ SQLITE_PRIVATE int sqlite3PagerOpenSavepoint(Pager *pPager, int nSavepoint){ } memset(&aNew[nCurrent], 0, (nSavepoint-nCurrent) * sizeof(PagerSavepoint)); pPager->aSavepoint = aNew; - pPager->nSavepoint = nSavepoint; /* Populate the PagerSavepoint structures just allocated. */ for(ii=nCurrent; iidbSizeValid ); aNew[ii].nOrig = pPager->dbSize; - if( isOpen(pPager->jfd) && ALWAYS(pPager->journalOff>0) ){ + if( isOpen(pPager->jfd) && pPager->journalOff>0 ){ aNew[ii].iOffset = pPager->journalOff; }else{ aNew[ii].iOffset = JOURNAL_HDR_SZ(pPager); @@ -37136,10 +40168,12 @@ SQLITE_PRIVATE int sqlite3PagerOpenSavepoint(Pager *pPager, int nSavepoint){ if( !aNew[ii].pInSavepoint ){ return SQLITE_NOMEM; } + if( pagerUseWal(pPager) ){ + sqlite3WalSavepoint(pPager->pWal, aNew[ii].aWalData); + } + pPager->nSavepoint = ii+1; } - - /* Open the sub-journal, if it is not already opened. */ - rc = openSubJournal(pPager); + assert( pPager->nSavepoint==nSavepoint ); assertTruncateConstraint(pPager); } @@ -37177,12 +40211,12 @@ SQLITE_PRIVATE int sqlite3PagerOpenSavepoint(Pager *pPager, int nSavepoint){ ** savepoint. If no errors occur, SQLITE_OK is returned. */ SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint){ - int rc = SQLITE_OK; + int rc = pPager->errCode; /* Return code */ assert( op==SAVEPOINT_RELEASE || op==SAVEPOINT_ROLLBACK ); assert( iSavepoint>=0 || op==SAVEPOINT_ROLLBACK ); - if( iSavepointnSavepoint ){ + if( rc==SQLITE_OK && iSavepointnSavepoint ){ int ii; /* Iterator variable */ int nNew; /* Number of remaining savepoints after this op. */ @@ -37213,13 +40247,13 @@ SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint){ ** not yet been opened. In this case there have been no changes to ** the database file, so the playback operation can be skipped. */ - else if( isOpen(pPager->jfd) ){ + else if( pagerUseWal(pPager) || isOpen(pPager->jfd) ){ PagerSavepoint *pSavepoint = (nNew==0)?0:&pPager->aSavepoint[nNew-1]; rc = pagerPlaybackSavepoint(pPager, pSavepoint); assert(rc!=SQLITE_DONE); } - } + return rc; } @@ -37265,7 +40299,7 @@ SQLITE_PRIVATE int sqlite3PagerNosync(Pager *pPager){ /* ** Set or retrieve the codec for this pager */ -static void sqlite3PagerSetCodec( +SQLITE_PRIVATE void sqlite3PagerSetCodec( Pager *pPager, void *(*xCodec)(void*,void*,Pgno,int), void (*xCodecSizeChng)(void*,int,int), @@ -37279,7 +40313,7 @@ static void sqlite3PagerSetCodec( pPager->pCodec = pCodec; pagerReportSize(pPager); } -static void *sqlite3PagerGetCodec(Pager *pPager){ +SQLITE_PRIVATE void *sqlite3PagerGetCodec(Pager *pPager){ return pPager->pCodec; } #endif @@ -37317,6 +40351,10 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i Pgno origPgno; /* The original page number */ assert( pPg->nRef>0 ); + assert( pPager->eState==PAGER_WRITER_CACHEMOD + || pPager->eState==PAGER_WRITER_DBMOD + ); + assert( assert_pager_state(pPager) ); /* In order to be able to rollback, an in-memory database must journal ** the page we are moving from. @@ -37366,11 +40404,10 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i needSyncPgno = pPg->pgno; assert( pageInJournal(pPg) || pPg->pgno>pPager->dbOrigSize ); assert( pPg->flags&PGHDR_DIRTY ); - assert( pPager->needSync ); } /* If the cache contains a page with page-number pgno, remove it - ** from its hash chain. Also, if the PgHdr.needSync was set for + ** from its hash chain. Also, if the PGHDR_NEED_SYNC flag was set for ** page pgno before the 'move' operation, it needs to be retained ** for the page moved there. */ @@ -37382,7 +40419,6 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i if( MEMDB ){ /* Do not discard pages from an in-memory database since we might ** need to rollback later. Just move the page out of the way. */ - assert( pPager->dbSizeValid ); sqlite3PcacheMove(pPgOld, pPager->dbSize+1); }else{ sqlite3PcacheDrop(pPgOld); @@ -37392,14 +40428,23 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i origPgno = pPg->pgno; sqlite3PcacheMove(pPg, pgno); sqlite3PcacheMakeDirty(pPg); - pPager->dbModified = 1; + + /* For an in-memory database, make sure the original page continues + ** to exist, in case the transaction needs to roll back. Use pPgOld + ** as the original page since it has already been allocated. + */ + if( MEMDB ){ + assert( pPgOld ); + sqlite3PcacheMove(pPgOld, origPgno); + sqlite3PagerUnref(pPgOld); + } if( needSyncPgno ){ /* If needSyncPgno is non-zero, then the journal file needs to be ** sync()ed before any data is written to database file page needSyncPgno. ** Currently, no such page exists in the page-cache and the ** "is journaled" bitvec flag has been set. This needs to be remedied by - ** loading the page into the pager-cache and setting the PgHdr.needSync + ** loading the page into the pager-cache and setting the PGHDR_NEED_SYNC ** flag. ** ** If the attempt to load the page into the page-cache fails, (due @@ -37408,12 +40453,8 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i ** this transaction, it may be written to the database file before ** it is synced into the journal file. This way, it may end up in ** the journal file twice, but that is not a problem. - ** - ** The sqlite3PagerGet() call may cause the journal to sync. So make - ** sure the Pager.needSync flag is set too. */ PgHdr *pPgHdr; - assert( pPager->needSync ); rc = sqlite3PagerGet(pPager, needSyncPgno, &pPgHdr); if( rc!=SQLITE_OK ){ if( needSyncPgno<=pPager->dbOrigSize ){ @@ -37422,23 +40463,11 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i } return rc; } - pPager->needSync = 1; - assert( pPager->noSync==0 && !MEMDB ); pPgHdr->flags |= PGHDR_NEED_SYNC; sqlite3PcacheMakeDirty(pPgHdr); sqlite3PagerUnref(pPgHdr); } - /* - ** For an in-memory database, make sure the original page continues - ** to exist, in case the transaction needs to roll back. Use pPgOld - ** as the original page since it has already been allocated. - */ - if( MEMDB ){ - sqlite3PcacheMove(pPgOld, origPgno); - sqlite3PagerUnref(pPgOld); - } - return SQLITE_OK; } #endif @@ -37482,49 +40511,138 @@ SQLITE_PRIVATE int sqlite3PagerLockingMode(Pager *pPager, int eMode){ } /* -** Get/set the journal-mode for this pager. Parameter eMode must be one of: +** Set the journal-mode for this pager. Parameter eMode must be one of: ** -** PAGER_JOURNALMODE_QUERY ** PAGER_JOURNALMODE_DELETE ** PAGER_JOURNALMODE_TRUNCATE ** PAGER_JOURNALMODE_PERSIST ** PAGER_JOURNALMODE_OFF ** PAGER_JOURNALMODE_MEMORY +** PAGER_JOURNALMODE_WAL ** -** If the parameter is not _QUERY, then the journal_mode is set to the -** value specified if the change is allowed. The change is disallowed -** for the following reasons: +** The journalmode is set to the value specified if the change is allowed. +** The change may be disallowed for the following reasons: ** ** * An in-memory database can only have its journal_mode set to _OFF ** or _MEMORY. ** -** * The journal mode may not be changed while a transaction is active. +** * Temporary databases cannot have _WAL journalmode. ** ** The returned indicate the current (possibly updated) journal-mode. */ -SQLITE_PRIVATE int sqlite3PagerJournalMode(Pager *pPager, int eMode){ - assert( eMode==PAGER_JOURNALMODE_QUERY - || eMode==PAGER_JOURNALMODE_DELETE +SQLITE_PRIVATE int sqlite3PagerSetJournalMode(Pager *pPager, int eMode){ + u8 eOld = pPager->journalMode; /* Prior journalmode */ + +#ifdef SQLITE_DEBUG + /* The print_pager_state() routine is intended to be used by the debugger + ** only. We invoke it once here to suppress a compiler warning. */ + print_pager_state(pPager); +#endif + + + /* The eMode parameter is always valid */ + assert( eMode==PAGER_JOURNALMODE_DELETE || eMode==PAGER_JOURNALMODE_TRUNCATE || eMode==PAGER_JOURNALMODE_PERSIST || eMode==PAGER_JOURNALMODE_OFF + || eMode==PAGER_JOURNALMODE_WAL || eMode==PAGER_JOURNALMODE_MEMORY ); - assert( PAGER_JOURNALMODE_QUERY<0 ); - if( eMode>=0 - && (!MEMDB || eMode==PAGER_JOURNALMODE_MEMORY - || eMode==PAGER_JOURNALMODE_OFF) - && !pPager->dbModified - && (!isOpen(pPager->jfd) || 0==pPager->journalOff) - ){ - if( isOpen(pPager->jfd) ){ - sqlite3OsClose(pPager->jfd); + + /* This routine is only called from the OP_JournalMode opcode, and + ** the logic there will never allow a temporary file to be changed + ** to WAL mode. + */ + assert( pPager->tempFile==0 || eMode!=PAGER_JOURNALMODE_WAL ); + + /* Do allow the journalmode of an in-memory database to be set to + ** anything other than MEMORY or OFF + */ + if( MEMDB ){ + assert( eOld==PAGER_JOURNALMODE_MEMORY || eOld==PAGER_JOURNALMODE_OFF ); + if( eMode!=PAGER_JOURNALMODE_MEMORY && eMode!=PAGER_JOURNALMODE_OFF ){ + eMode = eOld; } + } + + if( eMode!=eOld ){ + + /* Change the journal mode. */ + assert( pPager->eState!=PAGER_ERROR ); pPager->journalMode = (u8)eMode; + + /* When transistioning from TRUNCATE or PERSIST to any other journal + ** mode except WAL, unless the pager is in locking_mode=exclusive mode, + ** delete the journal file. + */ + assert( (PAGER_JOURNALMODE_TRUNCATE & 5)==1 ); + assert( (PAGER_JOURNALMODE_PERSIST & 5)==1 ); + assert( (PAGER_JOURNALMODE_DELETE & 5)==0 ); + assert( (PAGER_JOURNALMODE_MEMORY & 5)==4 ); + assert( (PAGER_JOURNALMODE_OFF & 5)==0 ); + assert( (PAGER_JOURNALMODE_WAL & 5)==5 ); + + assert( isOpen(pPager->fd) || pPager->exclusiveMode ); + if( !pPager->exclusiveMode && (eOld & 5)==1 && (eMode & 1)==0 ){ + + /* In this case we would like to delete the journal file. If it is + ** not possible, then that is not a problem. Deleting the journal file + ** here is an optimization only. + ** + ** Before deleting the journal file, obtain a RESERVED lock on the + ** database file. This ensures that the journal file is not deleted + ** while it is in use by some other client. + */ + sqlite3OsClose(pPager->jfd); + if( pPager->eLock>=RESERVED_LOCK ){ + sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0); + }else{ + int rc = SQLITE_OK; + int state = pPager->eState; + assert( state==PAGER_OPEN || state==PAGER_READER ); + if( state==PAGER_OPEN ){ + rc = sqlite3PagerSharedLock(pPager); + } + if( pPager->eState==PAGER_READER ){ + assert( rc==SQLITE_OK ); + rc = pagerLockDb(pPager, RESERVED_LOCK); + } + if( rc==SQLITE_OK ){ + sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0); + } + if( rc==SQLITE_OK && state==PAGER_READER ){ + pagerUnlockDb(pPager, SHARED_LOCK); + }else if( state==PAGER_OPEN ){ + pager_unlock(pPager); + } + assert( state==pPager->eState ); + } + } } + + /* Return the new journal mode */ return (int)pPager->journalMode; } /* +** Return the current journal mode. +*/ +SQLITE_PRIVATE int sqlite3PagerGetJournalMode(Pager *pPager){ + return (int)pPager->journalMode; +} + +/* +** Return TRUE if the pager is in a state where it is OK to change the +** journalmode. Journalmode changes can only happen when the database +** is unmodified. +*/ +SQLITE_PRIVATE int sqlite3PagerOkToChangeJournalMode(Pager *pPager){ + assert( assert_pager_state(pPager) ); + if( pPager->eState>=PAGER_WRITER_CACHEMOD ) return 0; + if( NEVER(isOpen(pPager->jfd) && pPager->journalOff>0) ) return 0; + return 1; +} + +/* ** Get/set the size-limit used for persistent journal files. ** ** Setting the size limit to -1 means no limit is enforced. @@ -37547,9 +40665,2866 @@ SQLITE_PRIVATE sqlite3_backup **sqlite3PagerBackupPtr(Pager *pPager){ return &pPager->pBackup; } +#ifndef SQLITE_OMIT_WAL +/* +** This function is called when the user invokes "PRAGMA checkpoint". +*/ +SQLITE_PRIVATE int sqlite3PagerCheckpoint(Pager *pPager){ + int rc = SQLITE_OK; + if( pPager->pWal ){ + u8 *zBuf = (u8 *)pPager->pTmpSpace; + rc = sqlite3WalCheckpoint(pPager->pWal, + (pPager->noSync ? 0 : pPager->sync_flags), + pPager->pageSize, zBuf + ); + } + return rc; +} + +SQLITE_PRIVATE int sqlite3PagerWalCallback(Pager *pPager){ + return sqlite3WalCallback(pPager->pWal); +} + +/* +** Return true if the underlying VFS for the given pager supports the +** primitives necessary for write-ahead logging. +*/ +SQLITE_PRIVATE int sqlite3PagerWalSupported(Pager *pPager){ + const sqlite3_io_methods *pMethods = pPager->fd->pMethods; + return pMethods->iVersion>=2 && pMethods->xShmMap!=0; +} + +/* +** The caller must be holding a SHARED lock on the database file to call +** this function. +** +** If the pager passed as the first argument is open on a real database +** file (not a temp file or an in-memory database), and the WAL file +** is not already open, make an attempt to open it now. If successful, +** return SQLITE_OK. If an error occurs or the VFS used by the pager does +** not support the xShmXXX() methods, return an error code. *pbOpen is +** not modified in either case. +** +** If the pager is open on a temp-file (or in-memory database), or if +** the WAL file is already open, set *pbOpen to 1 and return SQLITE_OK +** without doing anything. +*/ +SQLITE_PRIVATE int sqlite3PagerOpenWal( + Pager *pPager, /* Pager object */ + int *pbOpen /* OUT: Set to true if call is a no-op */ +){ + int rc = SQLITE_OK; /* Return code */ + + assert( assert_pager_state(pPager) ); + assert( pPager->eState==PAGER_OPEN || pbOpen ); + assert( pPager->eState==PAGER_READER || !pbOpen ); + assert( pbOpen==0 || *pbOpen==0 ); + assert( pbOpen!=0 || (!pPager->tempFile && !pPager->pWal) ); + + if( !pPager->tempFile && !pPager->pWal ){ + if( !sqlite3PagerWalSupported(pPager) ) return SQLITE_CANTOPEN; + + /* Close any rollback journal previously open */ + sqlite3OsClose(pPager->jfd); + + /* Open the connection to the log file. If this operation fails, + ** (e.g. due to malloc() failure), unlock the database file and + ** return an error code. + */ + rc = sqlite3WalOpen(pPager->pVfs, pPager->fd, pPager->zWal, &pPager->pWal); + if( rc==SQLITE_OK ){ + pPager->journalMode = PAGER_JOURNALMODE_WAL; + pPager->eState = PAGER_OPEN; + } + }else{ + *pbOpen = 1; + } + + return rc; +} + +/* +** This function is called to close the connection to the log file prior +** to switching from WAL to rollback mode. +** +** Before closing the log file, this function attempts to take an +** EXCLUSIVE lock on the database file. If this cannot be obtained, an +** error (SQLITE_BUSY) is returned and the log connection is not closed. +** If successful, the EXCLUSIVE lock is not released before returning. +*/ +SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager){ + int rc = SQLITE_OK; + + assert( pPager->journalMode==PAGER_JOURNALMODE_WAL ); + + /* If the log file is not already open, but does exist in the file-system, + ** it may need to be checkpointed before the connection can switch to + ** rollback mode. Open it now so this can happen. + */ + if( !pPager->pWal ){ + int logexists = 0; + rc = pagerLockDb(pPager, SHARED_LOCK); + if( rc==SQLITE_OK ){ + rc = sqlite3OsAccess( + pPager->pVfs, pPager->zWal, SQLITE_ACCESS_EXISTS, &logexists + ); + } + if( rc==SQLITE_OK && logexists ){ + rc = sqlite3WalOpen(pPager->pVfs, pPager->fd, + pPager->zWal, &pPager->pWal); + } + } + + /* Checkpoint and close the log. Because an EXCLUSIVE lock is held on + ** the database file, the log and log-summary files will be deleted. + */ + if( rc==SQLITE_OK && pPager->pWal ){ + rc = pagerLockDb(pPager, EXCLUSIVE_LOCK); + if( rc==SQLITE_OK ){ + rc = sqlite3WalClose(pPager->pWal, + (pPager->noSync ? 0 : pPager->sync_flags), + pPager->pageSize, (u8*)pPager->pTmpSpace + ); + pPager->pWal = 0; + }else{ + /* If we cannot get an EXCLUSIVE lock, downgrade the PENDING lock + ** that we did get back to SHARED. */ + pagerUnlockDb(pPager, SQLITE_LOCK_SHARED); + } + } + return rc; +} + +#ifdef SQLITE_HAS_CODEC +/* +** This function is called by the wal module when writing page content +** into the log file. +** +** This function returns a pointer to a buffer containing the encrypted +** page content. If a malloc fails, this function may return NULL. +*/ +SQLITE_PRIVATE void *sqlite3PagerCodec(PgHdr *pPg){ + void *aData = 0; + CODEC2(pPg->pPager, pPg->pData, pPg->pgno, 6, return 0, aData); + return aData; +} +#endif /* SQLITE_HAS_CODEC */ + +#endif /* !SQLITE_OMIT_WAL */ + #endif /* SQLITE_OMIT_DISKIO */ /************** End of pager.c ***********************************************/ +/************** Begin file wal.c *********************************************/ +/* +** 2010 February 1 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** +** This file contains the implementation of a write-ahead log (WAL) used in +** "journal_mode=WAL" mode. +** +** WRITE-AHEAD LOG (WAL) FILE FORMAT +** +** A WAL file consists of a header followed by zero or more "frames". +** Each frame records the revised content of a single page from the +** database file. All changes to the database are recorded by writing +** frames into the WAL. Transactions commit when a frame is written that +** contains a commit marker. A single WAL can and usually does record +** multiple transactions. Periodically, the content of the WAL is +** transferred back into the database file in an operation called a +** "checkpoint". +** +** A single WAL file can be used multiple times. In other words, the +** WAL can fill up with frames and then be checkpointed and then new +** frames can overwrite the old ones. A WAL always grows from beginning +** toward the end. Checksums and counters attached to each frame are +** used to determine which frames within the WAL are valid and which +** are leftovers from prior checkpoints. +** +** The WAL header is 32 bytes in size and consists of the following eight +** big-endian 32-bit unsigned integer values: +** +** 0: Magic number. 0x377f0682 or 0x377f0683 +** 4: File format version. Currently 3007000 +** 8: Database page size. Example: 1024 +** 12: Checkpoint sequence number +** 16: Salt-1, random integer incremented with each checkpoint +** 20: Salt-2, a different random integer changing with each ckpt +** 24: Checksum-1 (first part of checksum for first 24 bytes of header). +** 28: Checksum-2 (second part of checksum for first 24 bytes of header). +** +** Immediately following the wal-header are zero or more frames. Each +** frame consists of a 24-byte frame-header followed by a bytes +** of page data. The frame-header is six big-endian 32-bit unsigned +** integer values, as follows: +** +** 0: Page number. +** 4: For commit records, the size of the database image in pages +** after the commit. For all other records, zero. +** 8: Salt-1 (copied from the header) +** 12: Salt-2 (copied from the header) +** 16: Checksum-1. +** 20: Checksum-2. +** +** A frame is considered valid if and only if the following conditions are +** true: +** +** (1) The salt-1 and salt-2 values in the frame-header match +** salt values in the wal-header +** +** (2) The checksum values in the final 8 bytes of the frame-header +** exactly match the checksum computed consecutively on the +** WAL header and the first 8 bytes and the content of all frames +** up to and including the current frame. +** +** The checksum is computed using 32-bit big-endian integers if the +** magic number in the first 4 bytes of the WAL is 0x377f0683 and it +** is computed using little-endian if the magic number is 0x377f0682. +** The checksum values are always stored in the frame header in a +** big-endian format regardless of which byte order is used to compute +** the checksum. The checksum is computed by interpreting the input as +** an even number of unsigned 32-bit integers: x[0] through x[N]. The +** algorithm used for the checksum is as follows: +** +** for i from 0 to n-1 step 2: +** s0 += x[i] + s1; +** s1 += x[i+1] + s0; +** endfor +** +** Note that s0 and s1 are both weighted checksums using fibonacci weights +** in reverse order (the largest fibonacci weight occurs on the first element +** of the sequence being summed.) The s1 value spans all 32-bit +** terms of the sequence whereas s0 omits the final term. +** +** On a checkpoint, the WAL is first VFS.xSync-ed, then valid content of the +** WAL is transferred into the database, then the database is VFS.xSync-ed. +** The VFS.xSync operations serve as write barriers - all writes launched +** before the xSync must complete before any write that launches after the +** xSync begins. +** +** After each checkpoint, the salt-1 value is incremented and the salt-2 +** value is randomized. This prevents old and new frames in the WAL from +** being considered valid at the same time and being checkpointing together +** following a crash. +** +** READER ALGORITHM +** +** To read a page from the database (call it page number P), a reader +** first checks the WAL to see if it contains page P. If so, then the +** last valid instance of page P that is a followed by a commit frame +** or is a commit frame itself becomes the value read. If the WAL +** contains no copies of page P that are valid and which are a commit +** frame or are followed by a commit frame, then page P is read from +** the database file. +** +** To start a read transaction, the reader records the index of the last +** valid frame in the WAL. The reader uses this recorded "mxFrame" value +** for all subsequent read operations. New transactions can be appended +** to the WAL, but as long as the reader uses its original mxFrame value +** and ignores the newly appended content, it will see a consistent snapshot +** of the database from a single point in time. This technique allows +** multiple concurrent readers to view different versions of the database +** content simultaneously. +** +** The reader algorithm in the previous paragraphs works correctly, but +** because frames for page P can appear anywhere within the WAL, the +** reader has to scan the entire WAL looking for page P frames. If the +** WAL is large (multiple megabytes is typical) that scan can be slow, +** and read performance suffers. To overcome this problem, a separate +** data structure called the wal-index is maintained to expedite the +** search for frames of a particular page. +** +** WAL-INDEX FORMAT +** +** Conceptually, the wal-index is shared memory, though VFS implementations +** might choose to implement the wal-index using a mmapped file. Because +** the wal-index is shared memory, SQLite does not support journal_mode=WAL +** on a network filesystem. All users of the database must be able to +** share memory. +** +** The wal-index is transient. After a crash, the wal-index can (and should +** be) reconstructed from the original WAL file. In fact, the VFS is required +** to either truncate or zero the header of the wal-index when the last +** connection to it closes. Because the wal-index is transient, it can +** use an architecture-specific format; it does not have to be cross-platform. +** Hence, unlike the database and WAL file formats which store all values +** as big endian, the wal-index can store multi-byte values in the native +** byte order of the host computer. +** +** The purpose of the wal-index is to answer this question quickly: Given +** a page number P, return the index of the last frame for page P in the WAL, +** or return NULL if there are no frames for page P in the WAL. +** +** The wal-index consists of a header region, followed by an one or +** more index blocks. +** +** The wal-index header contains the total number of frames within the WAL +** in the the mxFrame field. +** +** Each index block except for the first contains information on +** HASHTABLE_NPAGE frames. The first index block contains information on +** HASHTABLE_NPAGE_ONE frames. The values of HASHTABLE_NPAGE_ONE and +** HASHTABLE_NPAGE are selected so that together the wal-index header and +** first index block are the same size as all other index blocks in the +** wal-index. +** +** Each index block contains two sections, a page-mapping that contains the +** database page number associated with each wal frame, and a hash-table +** that allows readers to query an index block for a specific page number. +** The page-mapping is an array of HASHTABLE_NPAGE (or HASHTABLE_NPAGE_ONE +** for the first index block) 32-bit page numbers. The first entry in the +** first index-block contains the database page number corresponding to the +** first frame in the WAL file. The first entry in the second index block +** in the WAL file corresponds to the (HASHTABLE_NPAGE_ONE+1)th frame in +** the log, and so on. +** +** The last index block in a wal-index usually contains less than the full +** complement of HASHTABLE_NPAGE (or HASHTABLE_NPAGE_ONE) page-numbers, +** depending on the contents of the WAL file. This does not change the +** allocated size of the page-mapping array - the page-mapping array merely +** contains unused entries. +** +** Even without using the hash table, the last frame for page P +** can be found by scanning the page-mapping sections of each index block +** starting with the last index block and moving toward the first, and +** within each index block, starting at the end and moving toward the +** beginning. The first entry that equals P corresponds to the frame +** holding the content for that page. +** +** The hash table consists of HASHTABLE_NSLOT 16-bit unsigned integers. +** HASHTABLE_NSLOT = 2*HASHTABLE_NPAGE, and there is one entry in the +** hash table for each page number in the mapping section, so the hash +** table is never more than half full. The expected number of collisions +** prior to finding a match is 1. Each entry of the hash table is an +** 1-based index of an entry in the mapping section of the same +** index block. Let K be the 1-based index of the largest entry in +** the mapping section. (For index blocks other than the last, K will +** always be exactly HASHTABLE_NPAGE (4096) and for the last index block +** K will be (mxFrame%HASHTABLE_NPAGE).) Unused slots of the hash table +** contain a value of 0. +** +** To look for page P in the hash table, first compute a hash iKey on +** P as follows: +** +** iKey = (P * 383) % HASHTABLE_NSLOT +** +** Then start scanning entries of the hash table, starting with iKey +** (wrapping around to the beginning when the end of the hash table is +** reached) until an unused hash slot is found. Let the first unused slot +** be at index iUnused. (iUnused might be less than iKey if there was +** wrap-around.) Because the hash table is never more than half full, +** the search is guaranteed to eventually hit an unused entry. Let +** iMax be the value between iKey and iUnused, closest to iUnused, +** where aHash[iMax]==P. If there is no iMax entry (if there exists +** no hash slot such that aHash[i]==p) then page P is not in the +** current index block. Otherwise the iMax-th mapping entry of the +** current index block corresponds to the last entry that references +** page P. +** +** A hash search begins with the last index block and moves toward the +** first index block, looking for entries corresponding to page P. On +** average, only two or three slots in each index block need to be +** examined in order to either find the last entry for page P, or to +** establish that no such entry exists in the block. Each index block +** holds over 4000 entries. So two or three index blocks are sufficient +** to cover a typical 10 megabyte WAL file, assuming 1K pages. 8 or 10 +** comparisons (on average) suffice to either locate a frame in the +** WAL or to establish that the frame does not exist in the WAL. This +** is much faster than scanning the entire 10MB WAL. +** +** Note that entries are added in order of increasing K. Hence, one +** reader might be using some value K0 and a second reader that started +** at a later time (after additional transactions were added to the WAL +** and to the wal-index) might be using a different value K1, where K1>K0. +** Both readers can use the same hash table and mapping section to get +** the correct result. There may be entries in the hash table with +** K>K0 but to the first reader, those entries will appear to be unused +** slots in the hash table and so the first reader will get an answer as +** if no values greater than K0 had ever been inserted into the hash table +** in the first place - which is what reader one wants. Meanwhile, the +** second reader using K1 will see additional values that were inserted +** later, which is exactly what reader two wants. +** +** When a rollback occurs, the value of K is decreased. Hash table entries +** that correspond to frames greater than the new K value are removed +** from the hash table at this point. +*/ +#ifndef SQLITE_OMIT_WAL + + +/* +** Trace output macros +*/ +#if defined(SQLITE_TEST) && defined(SQLITE_DEBUG) +SQLITE_PRIVATE int sqlite3WalTrace = 0; +# define WALTRACE(X) if(sqlite3WalTrace) sqlite3DebugPrintf X +#else +# define WALTRACE(X) +#endif + +/* +** The maximum (and only) versions of the wal and wal-index formats +** that may be interpreted by this version of SQLite. +** +** If a client begins recovering a WAL file and finds that (a) the checksum +** values in the wal-header are correct and (b) the version field is not +** WAL_MAX_VERSION, recovery fails and SQLite returns SQLITE_CANTOPEN. +** +** Similarly, if a client successfully reads a wal-index header (i.e. the +** checksum test is successful) and finds that the version field is not +** WALINDEX_MAX_VERSION, then no read-transaction is opened and SQLite +** returns SQLITE_CANTOPEN. +*/ +#define WAL_MAX_VERSION 3007000 +#define WALINDEX_MAX_VERSION 3007000 + +/* +** Indices of various locking bytes. WAL_NREADER is the number +** of available reader locks and should be at least 3. +*/ +#define WAL_WRITE_LOCK 0 +#define WAL_ALL_BUT_WRITE 1 +#define WAL_CKPT_LOCK 1 +#define WAL_RECOVER_LOCK 2 +#define WAL_READ_LOCK(I) (3+(I)) +#define WAL_NREADER (SQLITE_SHM_NLOCK-3) + + +/* Object declarations */ +typedef struct WalIndexHdr WalIndexHdr; +typedef struct WalIterator WalIterator; +typedef struct WalCkptInfo WalCkptInfo; + + +/* +** The following object holds a copy of the wal-index header content. +** +** The actual header in the wal-index consists of two copies of this +** object. +** +** The szPage value can be any power of 2 between 512 and 32768, inclusive. +** Or it can be 1 to represent a 65536-byte page. The latter case was +** added in 3.7.1 when support for 64K pages was added. +*/ +struct WalIndexHdr { + u32 iVersion; /* Wal-index version */ + u32 unused; /* Unused (padding) field */ + u32 iChange; /* Counter incremented each transaction */ + u8 isInit; /* 1 when initialized */ + u8 bigEndCksum; /* True if checksums in WAL are big-endian */ + u16 szPage; /* Database page size in bytes. 1==64K */ + u32 mxFrame; /* Index of last valid frame in the WAL */ + u32 nPage; /* Size of database in pages */ + u32 aFrameCksum[2]; /* Checksum of last frame in log */ + u32 aSalt[2]; /* Two salt values copied from WAL header */ + u32 aCksum[2]; /* Checksum over all prior fields */ +}; + +/* +** A copy of the following object occurs in the wal-index immediately +** following the second copy of the WalIndexHdr. This object stores +** information used by checkpoint. +** +** nBackfill is the number of frames in the WAL that have been written +** back into the database. (We call the act of moving content from WAL to +** database "backfilling".) The nBackfill number is never greater than +** WalIndexHdr.mxFrame. nBackfill can only be increased by threads +** holding the WAL_CKPT_LOCK lock (which includes a recovery thread). +** However, a WAL_WRITE_LOCK thread can move the value of nBackfill from +** mxFrame back to zero when the WAL is reset. +** +** There is one entry in aReadMark[] for each reader lock. If a reader +** holds read-lock K, then the value in aReadMark[K] is no greater than +** the mxFrame for that reader. The value READMARK_NOT_USED (0xffffffff) +** for any aReadMark[] means that entry is unused. aReadMark[0] is +** a special case; its value is never used and it exists as a place-holder +** to avoid having to offset aReadMark[] indexs by one. Readers holding +** WAL_READ_LOCK(0) always ignore the entire WAL and read all content +** directly from the database. +** +** The value of aReadMark[K] may only be changed by a thread that +** is holding an exclusive lock on WAL_READ_LOCK(K). Thus, the value of +** aReadMark[K] cannot changed while there is a reader is using that mark +** since the reader will be holding a shared lock on WAL_READ_LOCK(K). +** +** The checkpointer may only transfer frames from WAL to database where +** the frame numbers are less than or equal to every aReadMark[] that is +** in use (that is, every aReadMark[j] for which there is a corresponding +** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the +** largest value and will increase an unused aReadMark[] to mxFrame if there +** is not already an aReadMark[] equal to mxFrame. The exception to the +** previous sentence is when nBackfill equals mxFrame (meaning that everything +** in the WAL has been backfilled into the database) then new readers +** will choose aReadMark[0] which has value 0 and hence such reader will +** get all their all content directly from the database file and ignore +** the WAL. +** +** Writers normally append new frames to the end of the WAL. However, +** if nBackfill equals mxFrame (meaning that all WAL content has been +** written back into the database) and if no readers are using the WAL +** (in other words, if there are no WAL_READ_LOCK(i) where i>0) then +** the writer will first "reset" the WAL back to the beginning and start +** writing new content beginning at frame 1. +** +** We assume that 32-bit loads are atomic and so no locks are needed in +** order to read from any aReadMark[] entries. +*/ +struct WalCkptInfo { + u32 nBackfill; /* Number of WAL frames backfilled into DB */ + u32 aReadMark[WAL_NREADER]; /* Reader marks */ +}; +#define READMARK_NOT_USED 0xffffffff + + +/* A block of WALINDEX_LOCK_RESERVED bytes beginning at +** WALINDEX_LOCK_OFFSET is reserved for locks. Since some systems +** only support mandatory file-locks, we do not read or write data +** from the region of the file on which locks are applied. +*/ +#define WALINDEX_LOCK_OFFSET (sizeof(WalIndexHdr)*2 + sizeof(WalCkptInfo)) +#define WALINDEX_LOCK_RESERVED 16 +#define WALINDEX_HDR_SIZE (WALINDEX_LOCK_OFFSET+WALINDEX_LOCK_RESERVED) + +/* Size of header before each frame in wal */ +#define WAL_FRAME_HDRSIZE 24 + +/* Size of write ahead log header, including checksum. */ +/* #define WAL_HDRSIZE 24 */ +#define WAL_HDRSIZE 32 + +/* WAL magic value. Either this value, or the same value with the least +** significant bit also set (WAL_MAGIC | 0x00000001) is stored in 32-bit +** big-endian format in the first 4 bytes of a WAL file. +** +** If the LSB is set, then the checksums for each frame within the WAL +** file are calculated by treating all data as an array of 32-bit +** big-endian words. Otherwise, they are calculated by interpreting +** all data as 32-bit little-endian words. +*/ +#define WAL_MAGIC 0x377f0682 + +/* +** Return the offset of frame iFrame in the write-ahead log file, +** assuming a database page size of szPage bytes. The offset returned +** is to the start of the write-ahead log frame-header. +*/ +#define walFrameOffset(iFrame, szPage) ( \ + WAL_HDRSIZE + ((iFrame)-1)*(i64)((szPage)+WAL_FRAME_HDRSIZE) \ +) + +/* +** An open write-ahead log file is represented by an instance of the +** following object. +*/ +struct Wal { + sqlite3_vfs *pVfs; /* The VFS used to create pDbFd */ + sqlite3_file *pDbFd; /* File handle for the database file */ + sqlite3_file *pWalFd; /* File handle for WAL file */ + u32 iCallback; /* Value to pass to log callback (or 0) */ + int nWiData; /* Size of array apWiData */ + volatile u32 **apWiData; /* Pointer to wal-index content in memory */ + u32 szPage; /* Database page size */ + i16 readLock; /* Which read lock is being held. -1 for none */ + u8 exclusiveMode; /* Non-zero if connection is in exclusive mode */ + u8 writeLock; /* True if in a write transaction */ + u8 ckptLock; /* True if holding a checkpoint lock */ + u8 readOnly; /* True if the WAL file is open read-only */ + WalIndexHdr hdr; /* Wal-index header for current transaction */ + const char *zWalName; /* Name of WAL file */ + u32 nCkpt; /* Checkpoint sequence counter in the wal-header */ +#ifdef SQLITE_DEBUG + u8 lockError; /* True if a locking error has occurred */ +#endif +}; + +/* +** Each page of the wal-index mapping contains a hash-table made up of +** an array of HASHTABLE_NSLOT elements of the following type. +*/ +typedef u16 ht_slot; + +/* +** This structure is used to implement an iterator that loops through +** all frames in the WAL in database page order. Where two or more frames +** correspond to the same database page, the iterator visits only the +** frame most recently written to the WAL (in other words, the frame with +** the largest index). +** +** The internals of this structure are only accessed by: +** +** walIteratorInit() - Create a new iterator, +** walIteratorNext() - Step an iterator, +** walIteratorFree() - Free an iterator. +** +** This functionality is used by the checkpoint code (see walCheckpoint()). +*/ +struct WalIterator { + int iPrior; /* Last result returned from the iterator */ + int nSegment; /* Size of the aSegment[] array */ + struct WalSegment { + int iNext; /* Next slot in aIndex[] not yet returned */ + ht_slot *aIndex; /* i0, i1, i2... such that aPgno[iN] ascend */ + u32 *aPgno; /* Array of page numbers. */ + int nEntry; /* Max size of aPgno[] and aIndex[] arrays */ + int iZero; /* Frame number associated with aPgno[0] */ + } aSegment[1]; /* One for every 32KB page in the WAL */ +}; + +/* +** Define the parameters of the hash tables in the wal-index file. There +** is a hash-table following every HASHTABLE_NPAGE page numbers in the +** wal-index. +** +** Changing any of these constants will alter the wal-index format and +** create incompatibilities. +*/ +#define HASHTABLE_NPAGE 4096 /* Must be power of 2 */ +#define HASHTABLE_HASH_1 383 /* Should be prime */ +#define HASHTABLE_NSLOT (HASHTABLE_NPAGE*2) /* Must be a power of 2 */ + +/* +** The block of page numbers associated with the first hash-table in a +** wal-index is smaller than usual. This is so that there is a complete +** hash-table on each aligned 32KB page of the wal-index. +*/ +#define HASHTABLE_NPAGE_ONE (HASHTABLE_NPAGE - (WALINDEX_HDR_SIZE/sizeof(u32))) + +/* The wal-index is divided into pages of WALINDEX_PGSZ bytes each. */ +#define WALINDEX_PGSZ ( \ + sizeof(ht_slot)*HASHTABLE_NSLOT + HASHTABLE_NPAGE*sizeof(u32) \ +) + +/* +** Obtain a pointer to the iPage'th page of the wal-index. The wal-index +** is broken into pages of WALINDEX_PGSZ bytes. Wal-index pages are +** numbered from zero. +** +** If this call is successful, *ppPage is set to point to the wal-index +** page and SQLITE_OK is returned. If an error (an OOM or VFS error) occurs, +** then an SQLite error code is returned and *ppPage is set to 0. +*/ +static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){ + int rc = SQLITE_OK; + + /* Enlarge the pWal->apWiData[] array if required */ + if( pWal->nWiData<=iPage ){ + int nByte = sizeof(u32*)*(iPage+1); + volatile u32 **apNew; + apNew = (volatile u32 **)sqlite3_realloc((void *)pWal->apWiData, nByte); + if( !apNew ){ + *ppPage = 0; + return SQLITE_NOMEM; + } + memset((void*)&apNew[pWal->nWiData], 0, + sizeof(u32*)*(iPage+1-pWal->nWiData)); + pWal->apWiData = apNew; + pWal->nWiData = iPage+1; + } + + /* Request a pointer to the required page from the VFS */ + if( pWal->apWiData[iPage]==0 ){ + rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ, + pWal->writeLock, (void volatile **)&pWal->apWiData[iPage] + ); + } + + *ppPage = pWal->apWiData[iPage]; + assert( iPage==0 || *ppPage || rc!=SQLITE_OK ); + return rc; +} + +/* +** Return a pointer to the WalCkptInfo structure in the wal-index. +*/ +static volatile WalCkptInfo *walCkptInfo(Wal *pWal){ + assert( pWal->nWiData>0 && pWal->apWiData[0] ); + return (volatile WalCkptInfo*)&(pWal->apWiData[0][sizeof(WalIndexHdr)/2]); +} + +/* +** Return a pointer to the WalIndexHdr structure in the wal-index. +*/ +static volatile WalIndexHdr *walIndexHdr(Wal *pWal){ + assert( pWal->nWiData>0 && pWal->apWiData[0] ); + return (volatile WalIndexHdr*)pWal->apWiData[0]; +} + +/* +** The argument to this macro must be of type u32. On a little-endian +** architecture, it returns the u32 value that results from interpreting +** the 4 bytes as a big-endian value. On a big-endian architecture, it +** returns the value that would be produced by intepreting the 4 bytes +** of the input value as a little-endian integer. +*/ +#define BYTESWAP32(x) ( \ + (((x)&0x000000FF)<<24) + (((x)&0x0000FF00)<<8) \ + + (((x)&0x00FF0000)>>8) + (((x)&0xFF000000)>>24) \ +) + +/* +** Generate or extend an 8 byte checksum based on the data in +** array aByte[] and the initial values of aIn[0] and aIn[1] (or +** initial values of 0 and 0 if aIn==NULL). +** +** The checksum is written back into aOut[] before returning. +** +** nByte must be a positive multiple of 8. +*/ +static void walChecksumBytes( + int nativeCksum, /* True for native byte-order, false for non-native */ + u8 *a, /* Content to be checksummed */ + int nByte, /* Bytes of content in a[]. Must be a multiple of 8. */ + const u32 *aIn, /* Initial checksum value input */ + u32 *aOut /* OUT: Final checksum value output */ +){ + u32 s1, s2; + u32 *aData = (u32 *)a; + u32 *aEnd = (u32 *)&a[nByte]; + + if( aIn ){ + s1 = aIn[0]; + s2 = aIn[1]; + }else{ + s1 = s2 = 0; + } + + assert( nByte>=8 ); + assert( (nByte&0x00000007)==0 ); + + if( nativeCksum ){ + do { + s1 += *aData++ + s2; + s2 += *aData++ + s1; + }while( aDatahdr into the wal-index. +** +** The checksum on pWal->hdr is updated before it is written. +*/ +static void walIndexWriteHdr(Wal *pWal){ + volatile WalIndexHdr *aHdr = walIndexHdr(pWal); + const int nCksum = offsetof(WalIndexHdr, aCksum); + + assert( pWal->writeLock ); + pWal->hdr.isInit = 1; + pWal->hdr.iVersion = WALINDEX_MAX_VERSION; + walChecksumBytes(1, (u8*)&pWal->hdr, nCksum, 0, pWal->hdr.aCksum); + memcpy((void *)&aHdr[1], (void *)&pWal->hdr, sizeof(WalIndexHdr)); + sqlite3OsShmBarrier(pWal->pDbFd); + memcpy((void *)&aHdr[0], (void *)&pWal->hdr, sizeof(WalIndexHdr)); +} + +/* +** This function encodes a single frame header and writes it to a buffer +** supplied by the caller. A frame-header is made up of a series of +** 4-byte big-endian integers, as follows: +** +** 0: Page number. +** 4: For commit records, the size of the database image in pages +** after the commit. For all other records, zero. +** 8: Salt-1 (copied from the wal-header) +** 12: Salt-2 (copied from the wal-header) +** 16: Checksum-1. +** 20: Checksum-2. +*/ +static void walEncodeFrame( + Wal *pWal, /* The write-ahead log */ + u32 iPage, /* Database page number for frame */ + u32 nTruncate, /* New db size (or 0 for non-commit frames) */ + u8 *aData, /* Pointer to page data */ + u8 *aFrame /* OUT: Write encoded frame here */ +){ + int nativeCksum; /* True for native byte-order checksums */ + u32 *aCksum = pWal->hdr.aFrameCksum; + assert( WAL_FRAME_HDRSIZE==24 ); + sqlite3Put4byte(&aFrame[0], iPage); + sqlite3Put4byte(&aFrame[4], nTruncate); + memcpy(&aFrame[8], pWal->hdr.aSalt, 8); + + nativeCksum = (pWal->hdr.bigEndCksum==SQLITE_BIGENDIAN); + walChecksumBytes(nativeCksum, aFrame, 8, aCksum, aCksum); + walChecksumBytes(nativeCksum, aData, pWal->szPage, aCksum, aCksum); + + sqlite3Put4byte(&aFrame[16], aCksum[0]); + sqlite3Put4byte(&aFrame[20], aCksum[1]); +} + +/* +** Check to see if the frame with header in aFrame[] and content +** in aData[] is valid. If it is a valid frame, fill *piPage and +** *pnTruncate and return true. Return if the frame is not valid. +*/ +static int walDecodeFrame( + Wal *pWal, /* The write-ahead log */ + u32 *piPage, /* OUT: Database page number for frame */ + u32 *pnTruncate, /* OUT: New db size (or 0 if not commit) */ + u8 *aData, /* Pointer to page data (for checksum) */ + u8 *aFrame /* Frame data */ +){ + int nativeCksum; /* True for native byte-order checksums */ + u32 *aCksum = pWal->hdr.aFrameCksum; + u32 pgno; /* Page number of the frame */ + assert( WAL_FRAME_HDRSIZE==24 ); + + /* A frame is only valid if the salt values in the frame-header + ** match the salt values in the wal-header. + */ + if( memcmp(&pWal->hdr.aSalt, &aFrame[8], 8)!=0 ){ + return 0; + } + + /* A frame is only valid if the page number is creater than zero. + */ + pgno = sqlite3Get4byte(&aFrame[0]); + if( pgno==0 ){ + return 0; + } + + /* A frame is only valid if a checksum of the WAL header, + ** all prior frams, the first 16 bytes of this frame-header, + ** and the frame-data matches the checksum in the last 8 + ** bytes of this frame-header. + */ + nativeCksum = (pWal->hdr.bigEndCksum==SQLITE_BIGENDIAN); + walChecksumBytes(nativeCksum, aFrame, 8, aCksum, aCksum); + walChecksumBytes(nativeCksum, aData, pWal->szPage, aCksum, aCksum); + if( aCksum[0]!=sqlite3Get4byte(&aFrame[16]) + || aCksum[1]!=sqlite3Get4byte(&aFrame[20]) + ){ + /* Checksum failed. */ + return 0; + } + + /* If we reach this point, the frame is valid. Return the page number + ** and the new database size. + */ + *piPage = pgno; + *pnTruncate = sqlite3Get4byte(&aFrame[4]); + return 1; +} + + +#if defined(SQLITE_TEST) && defined(SQLITE_DEBUG) +/* +** Names of locks. This routine is used to provide debugging output and is not +** a part of an ordinary build. +*/ +static const char *walLockName(int lockIdx){ + if( lockIdx==WAL_WRITE_LOCK ){ + return "WRITE-LOCK"; + }else if( lockIdx==WAL_CKPT_LOCK ){ + return "CKPT-LOCK"; + }else if( lockIdx==WAL_RECOVER_LOCK ){ + return "RECOVER-LOCK"; + }else{ + static char zName[15]; + sqlite3_snprintf(sizeof(zName), zName, "READ-LOCK[%d]", + lockIdx-WAL_READ_LOCK(0)); + return zName; + } +} +#endif /*defined(SQLITE_TEST) || defined(SQLITE_DEBUG) */ + + +/* +** Set or release locks on the WAL. Locks are either shared or exclusive. +** A lock cannot be moved directly between shared and exclusive - it must go +** through the unlocked state first. +** +** In locking_mode=EXCLUSIVE, all of these routines become no-ops. +*/ +static int walLockShared(Wal *pWal, int lockIdx){ + int rc; + if( pWal->exclusiveMode ) return SQLITE_OK; + rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, 1, + SQLITE_SHM_LOCK | SQLITE_SHM_SHARED); + WALTRACE(("WAL%p: acquire SHARED-%s %s\n", pWal, + walLockName(lockIdx), rc ? "failed" : "ok")); + VVA_ONLY( pWal->lockError = (u8)(rc!=SQLITE_OK && rc!=SQLITE_BUSY); ) + return rc; +} +static void walUnlockShared(Wal *pWal, int lockIdx){ + if( pWal->exclusiveMode ) return; + (void)sqlite3OsShmLock(pWal->pDbFd, lockIdx, 1, + SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED); + WALTRACE(("WAL%p: release SHARED-%s\n", pWal, walLockName(lockIdx))); +} +static int walLockExclusive(Wal *pWal, int lockIdx, int n){ + int rc; + if( pWal->exclusiveMode ) return SQLITE_OK; + rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, n, + SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE); + WALTRACE(("WAL%p: acquire EXCLUSIVE-%s cnt=%d %s\n", pWal, + walLockName(lockIdx), n, rc ? "failed" : "ok")); + VVA_ONLY( pWal->lockError = (u8)(rc!=SQLITE_OK && rc!=SQLITE_BUSY); ) + return rc; +} +static void walUnlockExclusive(Wal *pWal, int lockIdx, int n){ + if( pWal->exclusiveMode ) return; + (void)sqlite3OsShmLock(pWal->pDbFd, lockIdx, n, + SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE); + WALTRACE(("WAL%p: release EXCLUSIVE-%s cnt=%d\n", pWal, + walLockName(lockIdx), n)); +} + +/* +** Compute a hash on a page number. The resulting hash value must land +** between 0 and (HASHTABLE_NSLOT-1). The walHashNext() function advances +** the hash to the next value in the event of a collision. +*/ +static int walHash(u32 iPage){ + assert( iPage>0 ); + assert( (HASHTABLE_NSLOT & (HASHTABLE_NSLOT-1))==0 ); + return (iPage*HASHTABLE_HASH_1) & (HASHTABLE_NSLOT-1); +} +static int walNextHash(int iPriorHash){ + return (iPriorHash+1)&(HASHTABLE_NSLOT-1); +} + +/* +** Return pointers to the hash table and page number array stored on +** page iHash of the wal-index. The wal-index is broken into 32KB pages +** numbered starting from 0. +** +** Set output variable *paHash to point to the start of the hash table +** in the wal-index file. Set *piZero to one less than the frame +** number of the first frame indexed by this hash table. If a +** slot in the hash table is set to N, it refers to frame number +** (*piZero+N) in the log. +** +** Finally, set *paPgno so that *paPgno[1] is the page number of the +** first frame indexed by the hash table, frame (*piZero+1). +*/ +static int walHashGet( + Wal *pWal, /* WAL handle */ + int iHash, /* Find the iHash'th table */ + volatile ht_slot **paHash, /* OUT: Pointer to hash index */ + volatile u32 **paPgno, /* OUT: Pointer to page number array */ + u32 *piZero /* OUT: Frame associated with *paPgno[0] */ +){ + int rc; /* Return code */ + volatile u32 *aPgno; + + rc = walIndexPage(pWal, iHash, &aPgno); + assert( rc==SQLITE_OK || iHash>0 ); + + if( rc==SQLITE_OK ){ + u32 iZero; + volatile ht_slot *aHash; + + aHash = (volatile ht_slot *)&aPgno[HASHTABLE_NPAGE]; + if( iHash==0 ){ + aPgno = &aPgno[WALINDEX_HDR_SIZE/sizeof(u32)]; + iZero = 0; + }else{ + iZero = HASHTABLE_NPAGE_ONE + (iHash-1)*HASHTABLE_NPAGE; + } + + *paPgno = &aPgno[-1]; + *paHash = aHash; + *piZero = iZero; + } + return rc; +} + +/* +** Return the number of the wal-index page that contains the hash-table +** and page-number array that contain entries corresponding to WAL frame +** iFrame. The wal-index is broken up into 32KB pages. Wal-index pages +** are numbered starting from 0. +*/ +static int walFramePage(u32 iFrame){ + int iHash = (iFrame+HASHTABLE_NPAGE-HASHTABLE_NPAGE_ONE-1) / HASHTABLE_NPAGE; + assert( (iHash==0 || iFrame>HASHTABLE_NPAGE_ONE) + && (iHash>=1 || iFrame<=HASHTABLE_NPAGE_ONE) + && (iHash<=1 || iFrame>(HASHTABLE_NPAGE_ONE+HASHTABLE_NPAGE)) + && (iHash>=2 || iFrame<=HASHTABLE_NPAGE_ONE+HASHTABLE_NPAGE) + && (iHash<=2 || iFrame>(HASHTABLE_NPAGE_ONE+2*HASHTABLE_NPAGE)) + ); + return iHash; +} + +/* +** Return the page number associated with frame iFrame in this WAL. +*/ +static u32 walFramePgno(Wal *pWal, u32 iFrame){ + int iHash = walFramePage(iFrame); + if( iHash==0 ){ + return pWal->apWiData[0][WALINDEX_HDR_SIZE/sizeof(u32) + iFrame - 1]; + } + return pWal->apWiData[iHash][(iFrame-1-HASHTABLE_NPAGE_ONE)%HASHTABLE_NPAGE]; +} + +/* +** Remove entries from the hash table that point to WAL slots greater +** than pWal->hdr.mxFrame. +** +** This function is called whenever pWal->hdr.mxFrame is decreased due +** to a rollback or savepoint. +** +** At most only the hash table containing pWal->hdr.mxFrame needs to be +** updated. Any later hash tables will be automatically cleared when +** pWal->hdr.mxFrame advances to the point where those hash tables are +** actually needed. +*/ +static void walCleanupHash(Wal *pWal){ + volatile ht_slot *aHash = 0; /* Pointer to hash table to clear */ + volatile u32 *aPgno = 0; /* Page number array for hash table */ + u32 iZero = 0; /* frame == (aHash[x]+iZero) */ + int iLimit = 0; /* Zero values greater than this */ + int nByte; /* Number of bytes to zero in aPgno[] */ + int i; /* Used to iterate through aHash[] */ + + assert( pWal->writeLock ); + testcase( pWal->hdr.mxFrame==HASHTABLE_NPAGE_ONE-1 ); + testcase( pWal->hdr.mxFrame==HASHTABLE_NPAGE_ONE ); + testcase( pWal->hdr.mxFrame==HASHTABLE_NPAGE_ONE+1 ); + + if( pWal->hdr.mxFrame==0 ) return; + + /* Obtain pointers to the hash-table and page-number array containing + ** the entry that corresponds to frame pWal->hdr.mxFrame. It is guaranteed + ** that the page said hash-table and array reside on is already mapped. + */ + assert( pWal->nWiData>walFramePage(pWal->hdr.mxFrame) ); + assert( pWal->apWiData[walFramePage(pWal->hdr.mxFrame)] ); + walHashGet(pWal, walFramePage(pWal->hdr.mxFrame), &aHash, &aPgno, &iZero); + + /* Zero all hash-table entries that correspond to frame numbers greater + ** than pWal->hdr.mxFrame. + */ + iLimit = pWal->hdr.mxFrame - iZero; + assert( iLimit>0 ); + for(i=0; iiLimit ){ + aHash[i] = 0; + } + } + + /* Zero the entries in the aPgno array that correspond to frames with + ** frame numbers greater than pWal->hdr.mxFrame. + */ + nByte = (int)((char *)aHash - (char *)&aPgno[iLimit+1]); + memset((void *)&aPgno[iLimit+1], 0, nByte); + +#ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT + /* Verify that the every entry in the mapping region is still reachable + ** via the hash table even after the cleanup. + */ + if( iLimit ){ + int i; /* Loop counter */ + int iKey; /* Hash key */ + for(i=1; i<=iLimit; i++){ + for(iKey=walHash(aPgno[i]); aHash[iKey]; iKey=walNextHash(iKey)){ + if( aHash[iKey]==i ) break; + } + assert( aHash[iKey]==i ); + } + } +#endif /* SQLITE_ENABLE_EXPENSIVE_ASSERT */ +} + + +/* +** Set an entry in the wal-index that will map database page number +** pPage into WAL frame iFrame. +*/ +static int walIndexAppend(Wal *pWal, u32 iFrame, u32 iPage){ + int rc; /* Return code */ + u32 iZero = 0; /* One less than frame number of aPgno[1] */ + volatile u32 *aPgno = 0; /* Page number array */ + volatile ht_slot *aHash = 0; /* Hash table */ + + rc = walHashGet(pWal, walFramePage(iFrame), &aHash, &aPgno, &iZero); + + /* Assuming the wal-index file was successfully mapped, populate the + ** page number array and hash table entry. + */ + if( rc==SQLITE_OK ){ + int iKey; /* Hash table key */ + int idx; /* Value to write to hash-table slot */ + int nCollide; /* Number of hash collisions */ + + idx = iFrame - iZero; + assert( idx <= HASHTABLE_NSLOT/2 + 1 ); + + /* If this is the first entry to be added to this hash-table, zero the + ** entire hash table and aPgno[] array before proceding. + */ + if( idx==1 ){ + int nByte = (int)((u8 *)&aHash[HASHTABLE_NSLOT] - (u8 *)&aPgno[1]); + memset((void*)&aPgno[1], 0, nByte); + } + + /* If the entry in aPgno[] is already set, then the previous writer + ** must have exited unexpectedly in the middle of a transaction (after + ** writing one or more dirty pages to the WAL to free up memory). + ** Remove the remnants of that writers uncommitted transaction from + ** the hash-table before writing any new entries. + */ + if( aPgno[idx] ){ + walCleanupHash(pWal); + assert( !aPgno[idx] ); + } + + /* Write the aPgno[] array entry and the hash-table slot. */ + nCollide = idx; + for(iKey=walHash(iPage); aHash[iKey]; iKey=walNextHash(iKey)){ + if( (nCollide--)==0 ) return SQLITE_CORRUPT_BKPT; + } + aPgno[idx] = iPage; + aHash[iKey] = (ht_slot)idx; + +#ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT + /* Verify that the number of entries in the hash table exactly equals + ** the number of entries in the mapping region. + */ + { + int i; /* Loop counter */ + int nEntry = 0; /* Number of entries in the hash table */ + for(i=0; ickptLock==1 || pWal->ckptLock==0 ); + assert( WAL_ALL_BUT_WRITE==WAL_WRITE_LOCK+1 ); + assert( WAL_CKPT_LOCK==WAL_ALL_BUT_WRITE ); + assert( pWal->writeLock ); + iLock = WAL_ALL_BUT_WRITE + pWal->ckptLock; + nLock = SQLITE_SHM_NLOCK - iLock; + rc = walLockExclusive(pWal, iLock, nLock); + if( rc ){ + return rc; + } + WALTRACE(("WAL%p: recovery begin...\n", pWal)); + + memset(&pWal->hdr, 0, sizeof(WalIndexHdr)); + + rc = sqlite3OsFileSize(pWal->pWalFd, &nSize); + if( rc!=SQLITE_OK ){ + goto recovery_error; + } + + if( nSize>WAL_HDRSIZE ){ + u8 aBuf[WAL_HDRSIZE]; /* Buffer to load WAL header into */ + u8 *aFrame = 0; /* Malloc'd buffer to load entire frame */ + int szFrame; /* Number of bytes in buffer aFrame[] */ + u8 *aData; /* Pointer to data part of aFrame buffer */ + int iFrame; /* Index of last frame read */ + i64 iOffset; /* Next offset to read from log file */ + int szPage; /* Page size according to the log */ + u32 magic; /* Magic value read from WAL header */ + u32 version; /* Magic value read from WAL header */ + + /* Read in the WAL header. */ + rc = sqlite3OsRead(pWal->pWalFd, aBuf, WAL_HDRSIZE, 0); + if( rc!=SQLITE_OK ){ + goto recovery_error; + } + + /* If the database page size is not a power of two, or is greater than + ** SQLITE_MAX_PAGE_SIZE, conclude that the WAL file contains no valid + ** data. Similarly, if the 'magic' value is invalid, ignore the whole + ** WAL file. + */ + magic = sqlite3Get4byte(&aBuf[0]); + szPage = sqlite3Get4byte(&aBuf[8]); + if( (magic&0xFFFFFFFE)!=WAL_MAGIC + || szPage&(szPage-1) + || szPage>SQLITE_MAX_PAGE_SIZE + || szPage<512 + ){ + goto finished; + } + pWal->hdr.bigEndCksum = (u8)(magic&0x00000001); + pWal->szPage = szPage; + pWal->nCkpt = sqlite3Get4byte(&aBuf[12]); + memcpy(&pWal->hdr.aSalt, &aBuf[16], 8); + + /* Verify that the WAL header checksum is correct */ + walChecksumBytes(pWal->hdr.bigEndCksum==SQLITE_BIGENDIAN, + aBuf, WAL_HDRSIZE-2*4, 0, pWal->hdr.aFrameCksum + ); + if( pWal->hdr.aFrameCksum[0]!=sqlite3Get4byte(&aBuf[24]) + || pWal->hdr.aFrameCksum[1]!=sqlite3Get4byte(&aBuf[28]) + ){ + goto finished; + } + + /* Verify that the version number on the WAL format is one that + ** are able to understand */ + version = sqlite3Get4byte(&aBuf[4]); + if( version!=WAL_MAX_VERSION ){ + rc = SQLITE_CANTOPEN_BKPT; + goto finished; + } + + /* Malloc a buffer to read frames into. */ + szFrame = szPage + WAL_FRAME_HDRSIZE; + aFrame = (u8 *)sqlite3_malloc(szFrame); + if( !aFrame ){ + rc = SQLITE_NOMEM; + goto recovery_error; + } + aData = &aFrame[WAL_FRAME_HDRSIZE]; + + /* Read all frames from the log file. */ + iFrame = 0; + for(iOffset=WAL_HDRSIZE; (iOffset+szFrame)<=nSize; iOffset+=szFrame){ + u32 pgno; /* Database page number for frame */ + u32 nTruncate; /* dbsize field from frame header */ + int isValid; /* True if this frame is valid */ + + /* Read and decode the next log frame. */ + rc = sqlite3OsRead(pWal->pWalFd, aFrame, szFrame, iOffset); + if( rc!=SQLITE_OK ) break; + isValid = walDecodeFrame(pWal, &pgno, &nTruncate, aData, aFrame); + if( !isValid ) break; + rc = walIndexAppend(pWal, ++iFrame, pgno); + if( rc!=SQLITE_OK ) break; + + /* If nTruncate is non-zero, this is a commit record. */ + if( nTruncate ){ + pWal->hdr.mxFrame = iFrame; + pWal->hdr.nPage = nTruncate; + pWal->hdr.szPage = (u16)((szPage&0xff00) | (szPage>>16)); + testcase( szPage<=32768 ); + testcase( szPage>=65536 ); + aFrameCksum[0] = pWal->hdr.aFrameCksum[0]; + aFrameCksum[1] = pWal->hdr.aFrameCksum[1]; + } + } + + sqlite3_free(aFrame); + } + +finished: + if( rc==SQLITE_OK ){ + volatile WalCkptInfo *pInfo; + int i; + pWal->hdr.aFrameCksum[0] = aFrameCksum[0]; + pWal->hdr.aFrameCksum[1] = aFrameCksum[1]; + walIndexWriteHdr(pWal); + + /* Reset the checkpoint-header. This is safe because this thread is + ** currently holding locks that exclude all other readers, writers and + ** checkpointers. + */ + pInfo = walCkptInfo(pWal); + pInfo->nBackfill = 0; + pInfo->aReadMark[0] = 0; + for(i=1; iaReadMark[i] = READMARK_NOT_USED; + + /* If more than one frame was recovered from the log file, report an + ** event via sqlite3_log(). This is to help with identifying performance + ** problems caused by applications routinely shutting down without + ** checkpointing the log file. + */ + if( pWal->hdr.nPage ){ + sqlite3_log(SQLITE_OK, "Recovered %d frames from WAL file %s", + pWal->hdr.nPage, pWal->zWalName + ); + } + } + +recovery_error: + WALTRACE(("WAL%p: recovery %s\n", pWal, rc ? "failed" : "ok")); + walUnlockExclusive(pWal, iLock, nLock); + return rc; +} + +/* +** Close an open wal-index. +*/ +static void walIndexClose(Wal *pWal, int isDelete){ + sqlite3OsShmUnmap(pWal->pDbFd, isDelete); +} + +/* +** Open a connection to the WAL file zWalName. The database file must +** already be opened on connection pDbFd. The buffer that zWalName points +** to must remain valid for the lifetime of the returned Wal* handle. +** +** A SHARED lock should be held on the database file when this function +** is called. The purpose of this SHARED lock is to prevent any other +** client from unlinking the WAL or wal-index file. If another process +** were to do this just after this client opened one of these files, the +** system would be badly broken. +** +** If the log file is successfully opened, SQLITE_OK is returned and +** *ppWal is set to point to a new WAL handle. If an error occurs, +** an SQLite error code is returned and *ppWal is left unmodified. +*/ +SQLITE_PRIVATE int sqlite3WalOpen( + sqlite3_vfs *pVfs, /* vfs module to open wal and wal-index */ + sqlite3_file *pDbFd, /* The open database file */ + const char *zWalName, /* Name of the WAL file */ + Wal **ppWal /* OUT: Allocated Wal handle */ +){ + int rc; /* Return Code */ + Wal *pRet; /* Object to allocate and return */ + int flags; /* Flags passed to OsOpen() */ + + assert( zWalName && zWalName[0] ); + assert( pDbFd ); + + /* In the amalgamation, the os_unix.c and os_win.c source files come before + ** this source file. Verify that the #defines of the locking byte offsets + ** in os_unix.c and os_win.c agree with the WALINDEX_LOCK_OFFSET value. + */ +#ifdef WIN_SHM_BASE + assert( WIN_SHM_BASE==WALINDEX_LOCK_OFFSET ); +#endif +#ifdef UNIX_SHM_BASE + assert( UNIX_SHM_BASE==WALINDEX_LOCK_OFFSET ); +#endif + + + /* Allocate an instance of struct Wal to return. */ + *ppWal = 0; + pRet = (Wal*)sqlite3MallocZero(sizeof(Wal) + pVfs->szOsFile); + if( !pRet ){ + return SQLITE_NOMEM; + } + + pRet->pVfs = pVfs; + pRet->pWalFd = (sqlite3_file *)&pRet[1]; + pRet->pDbFd = pDbFd; + pRet->readLock = -1; + pRet->zWalName = zWalName; + + /* Open file handle on the write-ahead log file. */ + flags = (SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_WAL); + rc = sqlite3OsOpen(pVfs, zWalName, pRet->pWalFd, flags, &flags); + if( rc==SQLITE_OK && flags&SQLITE_OPEN_READONLY ){ + pRet->readOnly = 1; + } + + if( rc!=SQLITE_OK ){ + walIndexClose(pRet, 0); + sqlite3OsClose(pRet->pWalFd); + sqlite3_free(pRet); + }else{ + *ppWal = pRet; + WALTRACE(("WAL%d: opened\n", pRet)); + } + return rc; +} + +/* +** Find the smallest page number out of all pages held in the WAL that +** has not been returned by any prior invocation of this method on the +** same WalIterator object. Write into *piFrame the frame index where +** that page was last written into the WAL. Write into *piPage the page +** number. +** +** Return 0 on success. If there are no pages in the WAL with a page +** number larger than *piPage, then return 1. +*/ +static int walIteratorNext( + WalIterator *p, /* Iterator */ + u32 *piPage, /* OUT: The page number of the next page */ + u32 *piFrame /* OUT: Wal frame index of next page */ +){ + u32 iMin; /* Result pgno must be greater than iMin */ + u32 iRet = 0xFFFFFFFF; /* 0xffffffff is never a valid page number */ + int i; /* For looping through segments */ + + iMin = p->iPrior; + assert( iMin<0xffffffff ); + for(i=p->nSegment-1; i>=0; i--){ + struct WalSegment *pSegment = &p->aSegment[i]; + while( pSegment->iNextnEntry ){ + u32 iPg = pSegment->aPgno[pSegment->aIndex[pSegment->iNext]]; + if( iPg>iMin ){ + if( iPgiZero + pSegment->aIndex[pSegment->iNext]; + } + break; + } + pSegment->iNext++; + } + } + + *piPage = p->iPrior = iRet; + return (iRet==0xFFFFFFFF); +} + +/* +** This function merges two sorted lists into a single sorted list. +*/ +static void walMerge( + u32 *aContent, /* Pages in wal */ + ht_slot *aLeft, /* IN: Left hand input list */ + int nLeft, /* IN: Elements in array *paLeft */ + ht_slot **paRight, /* IN/OUT: Right hand input list */ + int *pnRight, /* IN/OUT: Elements in *paRight */ + ht_slot *aTmp /* Temporary buffer */ +){ + int iLeft = 0; /* Current index in aLeft */ + int iRight = 0; /* Current index in aRight */ + int iOut = 0; /* Current index in output buffer */ + int nRight = *pnRight; + ht_slot *aRight = *paRight; + + assert( nLeft>0 && nRight>0 ); + while( iRight=nRight || aContent[aLeft[iLeft]]=nLeft || aContent[aLeft[iLeft]]>dbpage ); + assert( iRight>=nRight || aContent[aRight[iRight]]>dbpage ); + } + + *paRight = aLeft; + *pnRight = iOut; + memcpy(aLeft, aTmp, sizeof(aTmp[0])*iOut); +} + +/* +** Sort the elements in list aList, removing any duplicates. +*/ +static void walMergesort( + u32 *aContent, /* Pages in wal */ + ht_slot *aBuffer, /* Buffer of at least *pnList items to use */ + ht_slot *aList, /* IN/OUT: List to sort */ + int *pnList /* IN/OUT: Number of elements in aList[] */ +){ + struct Sublist { + int nList; /* Number of elements in aList */ + ht_slot *aList; /* Pointer to sub-list content */ + }; + + const int nList = *pnList; /* Size of input list */ + int nMerge = 0; /* Number of elements in list aMerge */ + ht_slot *aMerge = 0; /* List to be merged */ + int iList; /* Index into input list */ + int iSub = 0; /* Index into aSub array */ + struct Sublist aSub[13]; /* Array of sub-lists */ + + memset(aSub, 0, sizeof(aSub)); + assert( nList<=HASHTABLE_NPAGE && nList>0 ); + assert( HASHTABLE_NPAGE==(1<<(ArraySize(aSub)-1)) ); + + for(iList=0; iListaList && p->nList<=(1<aList==&aList[iList&~((2<aList, p->nList, &aMerge, &nMerge, aBuffer); + } + aSub[iSub].aList = aMerge; + aSub[iSub].nList = nMerge; + } + + for(iSub++; iSubnList<=(1<aList==&aList[nList&~((2<aList, p->nList, &aMerge, &nMerge, aBuffer); + } + } + assert( aMerge==aList ); + *pnList = nMerge; + +#ifdef SQLITE_DEBUG + { + int i; + for(i=1; i<*pnList; i++){ + assert( aContent[aList[i]] > aContent[aList[i-1]] ); + } + } +#endif +} + +/* +** Free an iterator allocated by walIteratorInit(). +*/ +static void walIteratorFree(WalIterator *p){ + sqlite3ScratchFree(p); +} + +/* +** Construct a WalInterator object that can be used to loop over all +** pages in the WAL in ascending order. The caller must hold the checkpoint +** +** On success, make *pp point to the newly allocated WalInterator object +** return SQLITE_OK. Otherwise, return an error code. If this routine +** returns an error, the value of *pp is undefined. +** +** The calling routine should invoke walIteratorFree() to destroy the +** WalIterator object when it has finished with it. +*/ +static int walIteratorInit(Wal *pWal, WalIterator **pp){ + WalIterator *p; /* Return value */ + int nSegment; /* Number of segments to merge */ + u32 iLast; /* Last frame in log */ + int nByte; /* Number of bytes to allocate */ + int i; /* Iterator variable */ + ht_slot *aTmp; /* Temp space used by merge-sort */ + int rc = SQLITE_OK; /* Return Code */ + + /* This routine only runs while holding the checkpoint lock. And + ** it only runs if there is actually content in the log (mxFrame>0). + */ + assert( pWal->ckptLock && pWal->hdr.mxFrame>0 ); + iLast = pWal->hdr.mxFrame; + + /* Allocate space for the WalIterator object. */ + nSegment = walFramePage(iLast) + 1; + nByte = sizeof(WalIterator) + + (nSegment-1)*sizeof(struct WalSegment) + + iLast*sizeof(ht_slot); + p = (WalIterator *)sqlite3ScratchMalloc(nByte); + if( !p ){ + return SQLITE_NOMEM; + } + memset(p, 0, nByte); + p->nSegment = nSegment; + + /* Allocate temporary space used by the merge-sort routine. This block + ** of memory will be freed before this function returns. + */ + aTmp = (ht_slot *)sqlite3ScratchMalloc( + sizeof(ht_slot) * (iLast>HASHTABLE_NPAGE?HASHTABLE_NPAGE:iLast) + ); + if( !aTmp ){ + rc = SQLITE_NOMEM; + } + + for(i=0; rc==SQLITE_OK && iaSegment[p->nSegment])[iZero]; + iZero++; + + for(j=0; jaSegment[i].iZero = iZero; + p->aSegment[i].nEntry = nEntry; + p->aSegment[i].aIndex = aIndex; + p->aSegment[i].aPgno = (u32 *)aPgno; + } + } + sqlite3ScratchFree(aTmp); + + if( rc!=SQLITE_OK ){ + walIteratorFree(p); + } + *pp = p; + return rc; +} + +/* +** Copy as much content as we can from the WAL back into the database file +** in response to an sqlite3_wal_checkpoint() request or the equivalent. +** +** The amount of information copies from WAL to database might be limited +** by active readers. This routine will never overwrite a database page +** that a concurrent reader might be using. +** +** All I/O barrier operations (a.k.a fsyncs) occur in this routine when +** SQLite is in WAL-mode in synchronous=NORMAL. That means that if +** checkpoints are always run by a background thread or background +** process, foreground threads will never block on a lengthy fsync call. +** +** Fsync is called on the WAL before writing content out of the WAL and +** into the database. This ensures that if the new content is persistent +** in the WAL and can be recovered following a power-loss or hard reset. +** +** Fsync is also called on the database file if (and only if) the entire +** WAL content is copied into the database file. This second fsync makes +** it safe to delete the WAL since the new content will persist in the +** database file. +** +** This routine uses and updates the nBackfill field of the wal-index header. +** This is the only routine tha will increase the value of nBackfill. +** (A WAL reset or recovery will revert nBackfill to zero, but not increase +** its value.) +** +** The caller must be holding sufficient locks to ensure that no other +** checkpoint is running (in any other thread or process) at the same +** time. +*/ +static int walCheckpoint( + Wal *pWal, /* Wal connection */ + int sync_flags, /* Flags for OsSync() (or 0) */ + int nBuf, /* Size of zBuf in bytes */ + u8 *zBuf /* Temporary buffer to use */ +){ + int rc; /* Return code */ + int szPage; /* Database page-size */ + WalIterator *pIter = 0; /* Wal iterator context */ + u32 iDbpage = 0; /* Next database page to write */ + u32 iFrame = 0; /* Wal frame containing data for iDbpage */ + u32 mxSafeFrame; /* Max frame that can be backfilled */ + u32 mxPage; /* Max database page to write */ + int i; /* Loop counter */ + volatile WalCkptInfo *pInfo; /* The checkpoint status information */ + + szPage = (pWal->hdr.szPage&0xfe00) + ((pWal->hdr.szPage&0x0001)<<16); + testcase( szPage<=32768 ); + testcase( szPage>=65536 ); + if( pWal->hdr.mxFrame==0 ) return SQLITE_OK; + + /* Allocate the iterator */ + rc = walIteratorInit(pWal, &pIter); + if( rc!=SQLITE_OK ){ + return rc; + } + assert( pIter ); + + /*** TODO: Move this test out to the caller. Make it an assert() here ***/ + if( szPage!=nBuf ){ + rc = SQLITE_CORRUPT_BKPT; + goto walcheckpoint_out; + } + + /* Compute in mxSafeFrame the index of the last frame of the WAL that is + ** safe to write into the database. Frames beyond mxSafeFrame might + ** overwrite database pages that are in use by active readers and thus + ** cannot be backfilled from the WAL. + */ + mxSafeFrame = pWal->hdr.mxFrame; + mxPage = pWal->hdr.nPage; + pInfo = walCkptInfo(pWal); + for(i=1; iaReadMark[i]; + if( mxSafeFrame>=y ){ + assert( y<=pWal->hdr.mxFrame ); + rc = walLockExclusive(pWal, WAL_READ_LOCK(i), 1); + if( rc==SQLITE_OK ){ + pInfo->aReadMark[i] = READMARK_NOT_USED; + walUnlockExclusive(pWal, WAL_READ_LOCK(i), 1); + }else if( rc==SQLITE_BUSY ){ + mxSafeFrame = y; + }else{ + goto walcheckpoint_out; + } + } + } + + if( pInfo->nBackfillnBackfill; + + /* Sync the WAL to disk */ + if( sync_flags ){ + rc = sqlite3OsSync(pWal->pWalFd, sync_flags); + } + + /* If the database file may grow as a result of this checkpoint, hint + ** about the eventual size of the db file to the VFS layer. + */ + if( rc==SQLITE_OK ){ + i64 nReq = ((i64)mxPage * szPage); + rc = sqlite3OsFileSize(pWal->pDbFd, &nSize); + if( rc==SQLITE_OK && nSizepDbFd, SQLITE_FCNTL_SIZE_HINT, &nReq); + } + } + + /* Iterate through the contents of the WAL, copying data to the db file. */ + while( rc==SQLITE_OK && 0==walIteratorNext(pIter, &iDbpage, &iFrame) ){ + i64 iOffset; + assert( walFramePgno(pWal, iFrame)==iDbpage ); + if( iFrame<=nBackfill || iFrame>mxSafeFrame || iDbpage>mxPage ) continue; + iOffset = walFrameOffset(iFrame, szPage) + WAL_FRAME_HDRSIZE; + /* testcase( IS_BIG_INT(iOffset) ); // requires a 4GiB WAL file */ + rc = sqlite3OsRead(pWal->pWalFd, zBuf, szPage, iOffset); + if( rc!=SQLITE_OK ) break; + iOffset = (iDbpage-1)*(i64)szPage; + testcase( IS_BIG_INT(iOffset) ); + rc = sqlite3OsWrite(pWal->pDbFd, zBuf, szPage, iOffset); + if( rc!=SQLITE_OK ) break; + } + + /* If work was actually accomplished... */ + if( rc==SQLITE_OK ){ + if( mxSafeFrame==walIndexHdr(pWal)->mxFrame ){ + i64 szDb = pWal->hdr.nPage*(i64)szPage; + testcase( IS_BIG_INT(szDb) ); + rc = sqlite3OsTruncate(pWal->pDbFd, szDb); + if( rc==SQLITE_OK && sync_flags ){ + rc = sqlite3OsSync(pWal->pDbFd, sync_flags); + } + } + if( rc==SQLITE_OK ){ + pInfo->nBackfill = mxSafeFrame; + } + } + + /* Release the reader lock held while backfilling */ + walUnlockExclusive(pWal, WAL_READ_LOCK(0), 1); + }else if( rc==SQLITE_BUSY ){ + /* Reset the return code so as not to report a checkpoint failure + ** just because active readers prevent any backfill. + */ + rc = SQLITE_OK; + } + + walcheckpoint_out: + walIteratorFree(pIter); + return rc; +} + +/* +** Close a connection to a log file. +*/ +SQLITE_PRIVATE int sqlite3WalClose( + Wal *pWal, /* Wal to close */ + int sync_flags, /* Flags to pass to OsSync() (or 0) */ + int nBuf, + u8 *zBuf /* Buffer of at least nBuf bytes */ +){ + int rc = SQLITE_OK; + if( pWal ){ + int isDelete = 0; /* True to unlink wal and wal-index files */ + + /* If an EXCLUSIVE lock can be obtained on the database file (using the + ** ordinary, rollback-mode locking methods, this guarantees that the + ** connection associated with this log file is the only connection to + ** the database. In this case checkpoint the database and unlink both + ** the wal and wal-index files. + ** + ** The EXCLUSIVE lock is not released before returning. + */ + rc = sqlite3OsLock(pWal->pDbFd, SQLITE_LOCK_EXCLUSIVE); + if( rc==SQLITE_OK ){ + pWal->exclusiveMode = 1; + rc = sqlite3WalCheckpoint(pWal, sync_flags, nBuf, zBuf); + if( rc==SQLITE_OK ){ + isDelete = 1; + } + } + + walIndexClose(pWal, isDelete); + sqlite3OsClose(pWal->pWalFd); + if( isDelete ){ + sqlite3OsDelete(pWal->pVfs, pWal->zWalName, 0); + } + WALTRACE(("WAL%p: closed\n", pWal)); + sqlite3_free((void *)pWal->apWiData); + sqlite3_free(pWal); + } + return rc; +} + +/* +** Try to read the wal-index header. Return 0 on success and 1 if +** there is a problem. +** +** The wal-index is in shared memory. Another thread or process might +** be writing the header at the same time this procedure is trying to +** read it, which might result in inconsistency. A dirty read is detected +** by verifying that both copies of the header are the same and also by +** a checksum on the header. +** +** If and only if the read is consistent and the header is different from +** pWal->hdr, then pWal->hdr is updated to the content of the new header +** and *pChanged is set to 1. +** +** If the checksum cannot be verified return non-zero. If the header +** is read successfully and the checksum verified, return zero. +*/ +static int walIndexTryHdr(Wal *pWal, int *pChanged){ + u32 aCksum[2]; /* Checksum on the header content */ + WalIndexHdr h1, h2; /* Two copies of the header content */ + WalIndexHdr volatile *aHdr; /* Header in shared memory */ + + /* The first page of the wal-index must be mapped at this point. */ + assert( pWal->nWiData>0 && pWal->apWiData[0] ); + + /* Read the header. This might happen concurrently with a write to the + ** same area of shared memory on a different CPU in a SMP, + ** meaning it is possible that an inconsistent snapshot is read + ** from the file. If this happens, return non-zero. + ** + ** There are two copies of the header at the beginning of the wal-index. + ** When reading, read [0] first then [1]. Writes are in the reverse order. + ** Memory barriers are used to prevent the compiler or the hardware from + ** reordering the reads and writes. + */ + aHdr = walIndexHdr(pWal); + memcpy(&h1, (void *)&aHdr[0], sizeof(h1)); + sqlite3OsShmBarrier(pWal->pDbFd); + memcpy(&h2, (void *)&aHdr[1], sizeof(h2)); + + if( memcmp(&h1, &h2, sizeof(h1))!=0 ){ + return 1; /* Dirty read */ + } + if( h1.isInit==0 ){ + return 1; /* Malformed header - probably all zeros */ + } + walChecksumBytes(1, (u8*)&h1, sizeof(h1)-sizeof(h1.aCksum), 0, aCksum); + if( aCksum[0]!=h1.aCksum[0] || aCksum[1]!=h1.aCksum[1] ){ + return 1; /* Checksum does not match */ + } + + if( memcmp(&pWal->hdr, &h1, sizeof(WalIndexHdr)) ){ + *pChanged = 1; + memcpy(&pWal->hdr, &h1, sizeof(WalIndexHdr)); + pWal->szPage = (pWal->hdr.szPage&0xfe00) + ((pWal->hdr.szPage&0x0001)<<16); + testcase( pWal->szPage<=32768 ); + testcase( pWal->szPage>=65536 ); + } + + /* The header was successfully read. Return zero. */ + return 0; +} + +/* +** Read the wal-index header from the wal-index and into pWal->hdr. +** If the wal-header appears to be corrupt, try to reconstruct the +** wal-index from the WAL before returning. +** +** Set *pChanged to 1 if the wal-index header value in pWal->hdr is +** changed by this opertion. If pWal->hdr is unchanged, set *pChanged +** to 0. +** +** If the wal-index header is successfully read, return SQLITE_OK. +** Otherwise an SQLite error code. +*/ +static int walIndexReadHdr(Wal *pWal, int *pChanged){ + int rc; /* Return code */ + int badHdr; /* True if a header read failed */ + volatile u32 *page0; /* Chunk of wal-index containing header */ + + /* Ensure that page 0 of the wal-index (the page that contains the + ** wal-index header) is mapped. Return early if an error occurs here. + */ + assert( pChanged ); + rc = walIndexPage(pWal, 0, &page0); + if( rc!=SQLITE_OK ){ + return rc; + }; + assert( page0 || pWal->writeLock==0 ); + + /* If the first page of the wal-index has been mapped, try to read the + ** wal-index header immediately, without holding any lock. This usually + ** works, but may fail if the wal-index header is corrupt or currently + ** being modified by another thread or process. + */ + badHdr = (page0 ? walIndexTryHdr(pWal, pChanged) : 1); + + /* If the first attempt failed, it might have been due to a race + ** with a writer. So get a WRITE lock and try again. + */ + assert( badHdr==0 || pWal->writeLock==0 ); + if( badHdr && SQLITE_OK==(rc = walLockExclusive(pWal, WAL_WRITE_LOCK, 1)) ){ + pWal->writeLock = 1; + if( SQLITE_OK==(rc = walIndexPage(pWal, 0, &page0)) ){ + badHdr = walIndexTryHdr(pWal, pChanged); + if( badHdr ){ + /* If the wal-index header is still malformed even while holding + ** a WRITE lock, it can only mean that the header is corrupted and + ** needs to be reconstructed. So run recovery to do exactly that. + */ + rc = walIndexRecover(pWal); + *pChanged = 1; + } + } + pWal->writeLock = 0; + walUnlockExclusive(pWal, WAL_WRITE_LOCK, 1); + } + + /* If the header is read successfully, check the version number to make + ** sure the wal-index was not constructed with some future format that + ** this version of SQLite cannot understand. + */ + if( badHdr==0 && pWal->hdr.iVersion!=WALINDEX_MAX_VERSION ){ + rc = SQLITE_CANTOPEN_BKPT; + } + + return rc; +} + +/* +** This is the value that walTryBeginRead returns when it needs to +** be retried. +*/ +#define WAL_RETRY (-1) + +/* +** Attempt to start a read transaction. This might fail due to a race or +** other transient condition. When that happens, it returns WAL_RETRY to +** indicate to the caller that it is safe to retry immediately. +** +** On success return SQLITE_OK. On a permanent failure (such an +** I/O error or an SQLITE_BUSY because another process is running +** recovery) return a positive error code. +** +** The useWal parameter is true to force the use of the WAL and disable +** the case where the WAL is bypassed because it has been completely +** checkpointed. If useWal==0 then this routine calls walIndexReadHdr() +** to make a copy of the wal-index header into pWal->hdr. If the +** wal-index header has changed, *pChanged is set to 1 (as an indication +** to the caller that the local paget cache is obsolete and needs to be +** flushed.) When useWal==1, the wal-index header is assumed to already +** be loaded and the pChanged parameter is unused. +** +** The caller must set the cnt parameter to the number of prior calls to +** this routine during the current read attempt that returned WAL_RETRY. +** This routine will start taking more aggressive measures to clear the +** race conditions after multiple WAL_RETRY returns, and after an excessive +** number of errors will ultimately return SQLITE_PROTOCOL. The +** SQLITE_PROTOCOL return indicates that some other process has gone rogue +** and is not honoring the locking protocol. There is a vanishingly small +** chance that SQLITE_PROTOCOL could be returned because of a run of really +** bad luck when there is lots of contention for the wal-index, but that +** possibility is so small that it can be safely neglected, we believe. +** +** On success, this routine obtains a read lock on +** WAL_READ_LOCK(pWal->readLock). The pWal->readLock integer is +** in the range 0 <= pWal->readLock < WAL_NREADER. If pWal->readLock==(-1) +** that means the Wal does not hold any read lock. The reader must not +** access any database page that is modified by a WAL frame up to and +** including frame number aReadMark[pWal->readLock]. The reader will +** use WAL frames up to and including pWal->hdr.mxFrame if pWal->readLock>0 +** Or if pWal->readLock==0, then the reader will ignore the WAL +** completely and get all content directly from the database file. +** If the useWal parameter is 1 then the WAL will never be ignored and +** this routine will always set pWal->readLock>0 on success. +** When the read transaction is completed, the caller must release the +** lock on WAL_READ_LOCK(pWal->readLock) and set pWal->readLock to -1. +** +** This routine uses the nBackfill and aReadMark[] fields of the header +** to select a particular WAL_READ_LOCK() that strives to let the +** checkpoint process do as much work as possible. This routine might +** update values of the aReadMark[] array in the header, but if it does +** so it takes care to hold an exclusive lock on the corresponding +** WAL_READ_LOCK() while changing values. +*/ +static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ + volatile WalCkptInfo *pInfo; /* Checkpoint information in wal-index */ + u32 mxReadMark; /* Largest aReadMark[] value */ + int mxI; /* Index of largest aReadMark[] value */ + int i; /* Loop counter */ + int rc = SQLITE_OK; /* Return code */ + + assert( pWal->readLock<0 ); /* Not currently locked */ + + /* Take steps to avoid spinning forever if there is a protocol error. */ + if( cnt>5 ){ + if( cnt>100 ) return SQLITE_PROTOCOL; + sqlite3OsSleep(pWal->pVfs, 1); + } + + if( !useWal ){ + rc = walIndexReadHdr(pWal, pChanged); + if( rc==SQLITE_BUSY ){ + /* If there is not a recovery running in another thread or process + ** then convert BUSY errors to WAL_RETRY. If recovery is known to + ** be running, convert BUSY to BUSY_RECOVERY. There is a race here + ** which might cause WAL_RETRY to be returned even if BUSY_RECOVERY + ** would be technically correct. But the race is benign since with + ** WAL_RETRY this routine will be called again and will probably be + ** right on the second iteration. + */ + if( pWal->apWiData[0]==0 ){ + /* This branch is taken when the xShmMap() method returns SQLITE_BUSY. + ** We assume this is a transient condition, so return WAL_RETRY. The + ** xShmMap() implementation used by the default unix and win32 VFS + ** modules may return SQLITE_BUSY due to a race condition in the + ** code that determines whether or not the shared-memory region + ** must be zeroed before the requested page is returned. + */ + rc = WAL_RETRY; + }else if( SQLITE_OK==(rc = walLockShared(pWal, WAL_RECOVER_LOCK)) ){ + walUnlockShared(pWal, WAL_RECOVER_LOCK); + rc = WAL_RETRY; + }else if( rc==SQLITE_BUSY ){ + rc = SQLITE_BUSY_RECOVERY; + } + } + if( rc!=SQLITE_OK ){ + return rc; + } + } + + pInfo = walCkptInfo(pWal); + if( !useWal && pInfo->nBackfill==pWal->hdr.mxFrame ){ + /* The WAL has been completely backfilled (or it is empty). + ** and can be safely ignored. + */ + rc = walLockShared(pWal, WAL_READ_LOCK(0)); + sqlite3OsShmBarrier(pWal->pDbFd); + if( rc==SQLITE_OK ){ + if( memcmp((void *)walIndexHdr(pWal), &pWal->hdr, sizeof(WalIndexHdr)) ){ + /* It is not safe to allow the reader to continue here if frames + ** may have been appended to the log before READ_LOCK(0) was obtained. + ** When holding READ_LOCK(0), the reader ignores the entire log file, + ** which implies that the database file contains a trustworthy + ** snapshoT. Since holding READ_LOCK(0) prevents a checkpoint from + ** happening, this is usually correct. + ** + ** However, if frames have been appended to the log (or if the log + ** is wrapped and written for that matter) before the READ_LOCK(0) + ** is obtained, that is not necessarily true. A checkpointer may + ** have started to backfill the appended frames but crashed before + ** it finished. Leaving a corrupt image in the database file. + */ + walUnlockShared(pWal, WAL_READ_LOCK(0)); + return WAL_RETRY; + } + pWal->readLock = 0; + return SQLITE_OK; + }else if( rc!=SQLITE_BUSY ){ + return rc; + } + } + + /* If we get this far, it means that the reader will want to use + ** the WAL to get at content from recent commits. The job now is + ** to select one of the aReadMark[] entries that is closest to + ** but not exceeding pWal->hdr.mxFrame and lock that entry. + */ + mxReadMark = 0; + mxI = 0; + for(i=1; iaReadMark[i]; + if( mxReadMark<=thisMark && thisMark<=pWal->hdr.mxFrame ){ + assert( thisMark!=READMARK_NOT_USED ); + mxReadMark = thisMark; + mxI = i; + } + } + if( mxI==0 ){ + /* If we get here, it means that all of the aReadMark[] entries between + ** 1 and WAL_NREADER-1 are zero. Try to initialize aReadMark[1] to + ** be mxFrame, then retry. + */ + rc = walLockExclusive(pWal, WAL_READ_LOCK(1), 1); + if( rc==SQLITE_OK ){ + pInfo->aReadMark[1] = pWal->hdr.mxFrame; + walUnlockExclusive(pWal, WAL_READ_LOCK(1), 1); + rc = WAL_RETRY; + }else if( rc==SQLITE_BUSY ){ + rc = WAL_RETRY; + } + return rc; + }else{ + if( mxReadMark < pWal->hdr.mxFrame ){ + for(i=1; iaReadMark[i] = pWal->hdr.mxFrame; + mxI = i; + walUnlockExclusive(pWal, WAL_READ_LOCK(i), 1); + break; + }else if( rc!=SQLITE_BUSY ){ + return rc; + } + } + } + + rc = walLockShared(pWal, WAL_READ_LOCK(mxI)); + if( rc ){ + return rc==SQLITE_BUSY ? WAL_RETRY : rc; + } + /* Now that the read-lock has been obtained, check that neither the + ** value in the aReadMark[] array or the contents of the wal-index + ** header have changed. + ** + ** It is necessary to check that the wal-index header did not change + ** between the time it was read and when the shared-lock was obtained + ** on WAL_READ_LOCK(mxI) was obtained to account for the possibility + ** that the log file may have been wrapped by a writer, or that frames + ** that occur later in the log than pWal->hdr.mxFrame may have been + ** copied into the database by a checkpointer. If either of these things + ** happened, then reading the database with the current value of + ** pWal->hdr.mxFrame risks reading a corrupted snapshot. So, retry + ** instead. + ** + ** This does not guarantee that the copy of the wal-index header is up to + ** date before proceeding. That would not be possible without somehow + ** blocking writers. It only guarantees that a dangerous checkpoint or + ** log-wrap (either of which would require an exclusive lock on + ** WAL_READ_LOCK(mxI)) has not occurred since the snapshot was valid. + */ + sqlite3OsShmBarrier(pWal->pDbFd); + if( pInfo->aReadMark[mxI]!=mxReadMark + || memcmp((void *)walIndexHdr(pWal), &pWal->hdr, sizeof(WalIndexHdr)) + ){ + walUnlockShared(pWal, WAL_READ_LOCK(mxI)); + return WAL_RETRY; + }else{ + assert( mxReadMark<=pWal->hdr.mxFrame ); + pWal->readLock = (i16)mxI; + } + } + return rc; +} + +/* +** Begin a read transaction on the database. +** +** This routine used to be called sqlite3OpenSnapshot() and with good reason: +** it takes a snapshot of the state of the WAL and wal-index for the current +** instant in time. The current thread will continue to use this snapshot. +** Other threads might append new content to the WAL and wal-index but +** that extra content is ignored by the current thread. +** +** If the database contents have changes since the previous read +** transaction, then *pChanged is set to 1 before returning. The +** Pager layer will use this to know that is cache is stale and +** needs to be flushed. +*/ +SQLITE_PRIVATE int sqlite3WalBeginReadTransaction(Wal *pWal, int *pChanged){ + int rc; /* Return code */ + int cnt = 0; /* Number of TryBeginRead attempts */ + + do{ + rc = walTryBeginRead(pWal, pChanged, 0, ++cnt); + }while( rc==WAL_RETRY ); + return rc; +} + +/* +** Finish with a read transaction. All this does is release the +** read-lock. +*/ +SQLITE_PRIVATE void sqlite3WalEndReadTransaction(Wal *pWal){ + sqlite3WalEndWriteTransaction(pWal); + if( pWal->readLock>=0 ){ + walUnlockShared(pWal, WAL_READ_LOCK(pWal->readLock)); + pWal->readLock = -1; + } +} + +/* +** Read a page from the WAL, if it is present in the WAL and if the +** current read transaction is configured to use the WAL. +** +** The *pInWal is set to 1 if the requested page is in the WAL and +** has been loaded. Or *pInWal is set to 0 if the page was not in +** the WAL and needs to be read out of the database. +*/ +SQLITE_PRIVATE int sqlite3WalRead( + Wal *pWal, /* WAL handle */ + Pgno pgno, /* Database page number to read data for */ + int *pInWal, /* OUT: True if data is read from WAL */ + int nOut, /* Size of buffer pOut in bytes */ + u8 *pOut /* Buffer to write page data to */ +){ + u32 iRead = 0; /* If !=0, WAL frame to return data from */ + u32 iLast = pWal->hdr.mxFrame; /* Last page in WAL for this reader */ + int iHash; /* Used to loop through N hash tables */ + + /* This routine is only be called from within a read transaction. */ + assert( pWal->readLock>=0 || pWal->lockError ); + + /* If the "last page" field of the wal-index header snapshot is 0, then + ** no data will be read from the wal under any circumstances. Return early + ** in this case as an optimization. Likewise, if pWal->readLock==0, + ** then the WAL is ignored by the reader so return early, as if the + ** WAL were empty. + */ + if( iLast==0 || pWal->readLock==0 ){ + *pInWal = 0; + return SQLITE_OK; + } + + /* Search the hash table or tables for an entry matching page number + ** pgno. Each iteration of the following for() loop searches one + ** hash table (each hash table indexes up to HASHTABLE_NPAGE frames). + ** + ** This code might run concurrently to the code in walIndexAppend() + ** that adds entries to the wal-index (and possibly to this hash + ** table). This means the value just read from the hash + ** slot (aHash[iKey]) may have been added before or after the + ** current read transaction was opened. Values added after the + ** read transaction was opened may have been written incorrectly - + ** i.e. these slots may contain garbage data. However, we assume + ** that any slots written before the current read transaction was + ** opened remain unmodified. + ** + ** For the reasons above, the if(...) condition featured in the inner + ** loop of the following block is more stringent that would be required + ** if we had exclusive access to the hash-table: + ** + ** (aPgno[iFrame]==pgno): + ** This condition filters out normal hash-table collisions. + ** + ** (iFrame<=iLast): + ** This condition filters out entries that were added to the hash + ** table after the current read-transaction had started. + */ + for(iHash=walFramePage(iLast); iHash>=0 && iRead==0; iHash--){ + volatile ht_slot *aHash; /* Pointer to hash table */ + volatile u32 *aPgno; /* Pointer to array of page numbers */ + u32 iZero; /* Frame number corresponding to aPgno[0] */ + int iKey; /* Hash slot index */ + int nCollide; /* Number of hash collisions remaining */ + int rc; /* Error code */ + + rc = walHashGet(pWal, iHash, &aHash, &aPgno, &iZero); + if( rc!=SQLITE_OK ){ + return rc; + } + nCollide = HASHTABLE_NSLOT; + for(iKey=walHash(pgno); aHash[iKey]; iKey=walNextHash(iKey)){ + u32 iFrame = aHash[iKey] + iZero; + if( iFrame<=iLast && aPgno[aHash[iKey]]==pgno ){ + assert( iFrame>iRead ); + iRead = iFrame; + } + if( (nCollide--)==0 ){ + return SQLITE_CORRUPT_BKPT; + } + } + } + +#ifdef SQLITE_ENABLE_EXPENSIVE_ASSERT + /* If expensive assert() statements are available, do a linear search + ** of the wal-index file content. Make sure the results agree with the + ** result obtained using the hash indexes above. */ + { + u32 iRead2 = 0; + u32 iTest; + for(iTest=iLast; iTest>0; iTest--){ + if( walFramePgno(pWal, iTest)==pgno ){ + iRead2 = iTest; + break; + } + } + assert( iRead==iRead2 ); + } +#endif + + /* If iRead is non-zero, then it is the log frame number that contains the + ** required page. Read and return data from the log file. + */ + if( iRead ){ + int sz; + i64 iOffset; + sz = pWal->hdr.szPage; + sz = (pWal->hdr.szPage&0xfe00) + ((pWal->hdr.szPage&0x0001)<<16); + testcase( sz<=32768 ); + testcase( sz>=65536 ); + iOffset = walFrameOffset(iRead, sz) + WAL_FRAME_HDRSIZE; + *pInWal = 1; + /* testcase( IS_BIG_INT(iOffset) ); // requires a 4GiB WAL */ + return sqlite3OsRead(pWal->pWalFd, pOut, nOut, iOffset); + } + + *pInWal = 0; + return SQLITE_OK; +} + + +/* +** Return the size of the database in pages (or zero, if unknown). +*/ +SQLITE_PRIVATE Pgno sqlite3WalDbsize(Wal *pWal){ + if( pWal && ALWAYS(pWal->readLock>=0) ){ + return pWal->hdr.nPage; + } + return 0; +} + + +/* +** This function starts a write transaction on the WAL. +** +** A read transaction must have already been started by a prior call +** to sqlite3WalBeginReadTransaction(). +** +** If another thread or process has written into the database since +** the read transaction was started, then it is not possible for this +** thread to write as doing so would cause a fork. So this routine +** returns SQLITE_BUSY in that case and no write transaction is started. +** +** There can only be a single writer active at a time. +*/ +SQLITE_PRIVATE int sqlite3WalBeginWriteTransaction(Wal *pWal){ + int rc; + + /* Cannot start a write transaction without first holding a read + ** transaction. */ + assert( pWal->readLock>=0 ); + + if( pWal->readOnly ){ + return SQLITE_READONLY; + } + + /* Only one writer allowed at a time. Get the write lock. Return + ** SQLITE_BUSY if unable. + */ + rc = walLockExclusive(pWal, WAL_WRITE_LOCK, 1); + if( rc ){ + return rc; + } + pWal->writeLock = 1; + + /* If another connection has written to the database file since the + ** time the read transaction on this connection was started, then + ** the write is disallowed. + */ + if( memcmp(&pWal->hdr, (void *)walIndexHdr(pWal), sizeof(WalIndexHdr))!=0 ){ + walUnlockExclusive(pWal, WAL_WRITE_LOCK, 1); + pWal->writeLock = 0; + rc = SQLITE_BUSY; + } + + return rc; +} + +/* +** End a write transaction. The commit has already been done. This +** routine merely releases the lock. +*/ +SQLITE_PRIVATE int sqlite3WalEndWriteTransaction(Wal *pWal){ + if( pWal->writeLock ){ + walUnlockExclusive(pWal, WAL_WRITE_LOCK, 1); + pWal->writeLock = 0; + } + return SQLITE_OK; +} + +/* +** If any data has been written (but not committed) to the log file, this +** function moves the write-pointer back to the start of the transaction. +** +** Additionally, the callback function is invoked for each frame written +** to the WAL since the start of the transaction. If the callback returns +** other than SQLITE_OK, it is not invoked again and the error code is +** returned to the caller. +** +** Otherwise, if the callback function does not return an error, this +** function returns SQLITE_OK. +*/ +SQLITE_PRIVATE int sqlite3WalUndo(Wal *pWal, int (*xUndo)(void *, Pgno), void *pUndoCtx){ + int rc = SQLITE_OK; + if( ALWAYS(pWal->writeLock) ){ + Pgno iMax = pWal->hdr.mxFrame; + Pgno iFrame; + + /* Restore the clients cache of the wal-index header to the state it + ** was in before the client began writing to the database. + */ + memcpy(&pWal->hdr, (void *)walIndexHdr(pWal), sizeof(WalIndexHdr)); + + for(iFrame=pWal->hdr.mxFrame+1; + ALWAYS(rc==SQLITE_OK) && iFrame<=iMax; + iFrame++ + ){ + /* This call cannot fail. Unless the page for which the page number + ** is passed as the second argument is (a) in the cache and + ** (b) has an outstanding reference, then xUndo is either a no-op + ** (if (a) is false) or simply expels the page from the cache (if (b) + ** is false). + ** + ** If the upper layer is doing a rollback, it is guaranteed that there + ** are no outstanding references to any page other than page 1. And + ** page 1 is never written to the log until the transaction is + ** committed. As a result, the call to xUndo may not fail. + */ + assert( walFramePgno(pWal, iFrame)!=1 ); + rc = xUndo(pUndoCtx, walFramePgno(pWal, iFrame)); + } + walCleanupHash(pWal); + } + assert( rc==SQLITE_OK ); + return rc; +} + +/* +** Argument aWalData must point to an array of WAL_SAVEPOINT_NDATA u32 +** values. This function populates the array with values required to +** "rollback" the write position of the WAL handle back to the current +** point in the event of a savepoint rollback (via WalSavepointUndo()). +*/ +SQLITE_PRIVATE void sqlite3WalSavepoint(Wal *pWal, u32 *aWalData){ + assert( pWal->writeLock ); + aWalData[0] = pWal->hdr.mxFrame; + aWalData[1] = pWal->hdr.aFrameCksum[0]; + aWalData[2] = pWal->hdr.aFrameCksum[1]; + aWalData[3] = pWal->nCkpt; +} + +/* +** Move the write position of the WAL back to the point identified by +** the values in the aWalData[] array. aWalData must point to an array +** of WAL_SAVEPOINT_NDATA u32 values that has been previously populated +** by a call to WalSavepoint(). +*/ +SQLITE_PRIVATE int sqlite3WalSavepointUndo(Wal *pWal, u32 *aWalData){ + int rc = SQLITE_OK; + + assert( pWal->writeLock ); + assert( aWalData[3]!=pWal->nCkpt || aWalData[0]<=pWal->hdr.mxFrame ); + + if( aWalData[3]!=pWal->nCkpt ){ + /* This savepoint was opened immediately after the write-transaction + ** was started. Right after that, the writer decided to wrap around + ** to the start of the log. Update the savepoint values to match. + */ + aWalData[0] = 0; + aWalData[3] = pWal->nCkpt; + } + + if( aWalData[0]hdr.mxFrame ){ + pWal->hdr.mxFrame = aWalData[0]; + pWal->hdr.aFrameCksum[0] = aWalData[1]; + pWal->hdr.aFrameCksum[1] = aWalData[2]; + walCleanupHash(pWal); + } + + return rc; +} + +/* +** This function is called just before writing a set of frames to the log +** file (see sqlite3WalFrames()). It checks to see if, instead of appending +** to the current log file, it is possible to overwrite the start of the +** existing log file with the new frames (i.e. "reset" the log). If so, +** it sets pWal->hdr.mxFrame to 0. Otherwise, pWal->hdr.mxFrame is left +** unchanged. +** +** SQLITE_OK is returned if no error is encountered (regardless of whether +** or not pWal->hdr.mxFrame is modified). An SQLite error code is returned +** if some error +*/ +static int walRestartLog(Wal *pWal){ + int rc = SQLITE_OK; + int cnt; + + if( pWal->readLock==0 ){ + volatile WalCkptInfo *pInfo = walCkptInfo(pWal); + assert( pInfo->nBackfill==pWal->hdr.mxFrame ); + if( pInfo->nBackfill>0 ){ + rc = walLockExclusive(pWal, WAL_READ_LOCK(1), WAL_NREADER-1); + if( rc==SQLITE_OK ){ + /* If all readers are using WAL_READ_LOCK(0) (in other words if no + ** readers are currently using the WAL), then the transactions + ** frames will overwrite the start of the existing log. Update the + ** wal-index header to reflect this. + ** + ** In theory it would be Ok to update the cache of the header only + ** at this point. But updating the actual wal-index header is also + ** safe and means there is no special case for sqlite3WalUndo() + ** to handle if this transaction is rolled back. + */ + int i; /* Loop counter */ + u32 *aSalt = pWal->hdr.aSalt; /* Big-endian salt values */ + pWal->nCkpt++; + pWal->hdr.mxFrame = 0; + sqlite3Put4byte((u8*)&aSalt[0], 1 + sqlite3Get4byte((u8*)&aSalt[0])); + sqlite3_randomness(4, &aSalt[1]); + walIndexWriteHdr(pWal); + pInfo->nBackfill = 0; + for(i=1; iaReadMark[i] = READMARK_NOT_USED; + assert( pInfo->aReadMark[0]==0 ); + walUnlockExclusive(pWal, WAL_READ_LOCK(1), WAL_NREADER-1); + } + } + walUnlockShared(pWal, WAL_READ_LOCK(0)); + pWal->readLock = -1; + cnt = 0; + do{ + int notUsed; + rc = walTryBeginRead(pWal, ¬Used, 1, ++cnt); + }while( rc==WAL_RETRY ); + } + return rc; +} + +/* +** Write a set of frames to the log. The caller must hold the write-lock +** on the log file (obtained using sqlite3WalBeginWriteTransaction()). +*/ +SQLITE_PRIVATE int sqlite3WalFrames( + Wal *pWal, /* Wal handle to write to */ + int szPage, /* Database page-size in bytes */ + PgHdr *pList, /* List of dirty pages to write */ + Pgno nTruncate, /* Database size after this commit */ + int isCommit, /* True if this is a commit */ + int sync_flags /* Flags to pass to OsSync() (or 0) */ +){ + int rc; /* Used to catch return codes */ + u32 iFrame; /* Next frame address */ + u8 aFrame[WAL_FRAME_HDRSIZE]; /* Buffer to assemble frame-header in */ + PgHdr *p; /* Iterator to run through pList with. */ + PgHdr *pLast = 0; /* Last frame in list */ + int nLast = 0; /* Number of extra copies of last page */ + + assert( pList ); + assert( pWal->writeLock ); + +#if defined(SQLITE_TEST) && defined(SQLITE_DEBUG) + { int cnt; for(cnt=0, p=pList; p; p=p->pDirty, cnt++){} + WALTRACE(("WAL%p: frame write begin. %d frames. mxFrame=%d. %s\n", + pWal, cnt, pWal->hdr.mxFrame, isCommit ? "Commit" : "Spill")); + } +#endif + + /* See if it is possible to write these frames into the start of the + ** log file, instead of appending to it at pWal->hdr.mxFrame. + */ + if( SQLITE_OK!=(rc = walRestartLog(pWal)) ){ + return rc; + } + + /* If this is the first frame written into the log, write the WAL + ** header to the start of the WAL file. See comments at the top of + ** this source file for a description of the WAL header format. + */ + iFrame = pWal->hdr.mxFrame; + if( iFrame==0 ){ + u8 aWalHdr[WAL_HDRSIZE]; /* Buffer to assemble wal-header in */ + u32 aCksum[2]; /* Checksum for wal-header */ + + sqlite3Put4byte(&aWalHdr[0], (WAL_MAGIC | SQLITE_BIGENDIAN)); + sqlite3Put4byte(&aWalHdr[4], WAL_MAX_VERSION); + sqlite3Put4byte(&aWalHdr[8], szPage); + sqlite3Put4byte(&aWalHdr[12], pWal->nCkpt); + sqlite3_randomness(8, pWal->hdr.aSalt); + memcpy(&aWalHdr[16], pWal->hdr.aSalt, 8); + walChecksumBytes(1, aWalHdr, WAL_HDRSIZE-2*4, 0, aCksum); + sqlite3Put4byte(&aWalHdr[24], aCksum[0]); + sqlite3Put4byte(&aWalHdr[28], aCksum[1]); + + pWal->szPage = szPage; + pWal->hdr.bigEndCksum = SQLITE_BIGENDIAN; + pWal->hdr.aFrameCksum[0] = aCksum[0]; + pWal->hdr.aFrameCksum[1] = aCksum[1]; + + rc = sqlite3OsWrite(pWal->pWalFd, aWalHdr, sizeof(aWalHdr), 0); + WALTRACE(("WAL%p: wal-header write %s\n", pWal, rc ? "failed" : "ok")); + if( rc!=SQLITE_OK ){ + return rc; + } + } + assert( pWal->szPage==szPage ); + + /* Write the log file. */ + for(p=pList; p; p=p->pDirty){ + u32 nDbsize; /* Db-size field for frame header */ + i64 iOffset; /* Write offset in log file */ + void *pData; + + iOffset = walFrameOffset(++iFrame, szPage); + /* testcase( IS_BIG_INT(iOffset) ); // requires a 4GiB WAL */ + + /* Populate and write the frame header */ + nDbsize = (isCommit && p->pDirty==0) ? nTruncate : 0; +#if defined(SQLITE_HAS_CODEC) + if( (pData = sqlite3PagerCodec(p))==0 ) return SQLITE_NOMEM; +#else + pData = p->pData; +#endif + walEncodeFrame(pWal, p->pgno, nDbsize, pData, aFrame); + rc = sqlite3OsWrite(pWal->pWalFd, aFrame, sizeof(aFrame), iOffset); + if( rc!=SQLITE_OK ){ + return rc; + } + + /* Write the page data */ + rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOffset+sizeof(aFrame)); + if( rc!=SQLITE_OK ){ + return rc; + } + pLast = p; + } + + /* Sync the log file if the 'isSync' flag was specified. */ + if( sync_flags ){ + i64 iSegment = sqlite3OsSectorSize(pWal->pWalFd); + i64 iOffset = walFrameOffset(iFrame+1, szPage); + + assert( isCommit ); + assert( iSegment>0 ); + + iSegment = (((iOffset+iSegment-1)/iSegment) * iSegment); + while( iOffsetpData; +#endif + walEncodeFrame(pWal, pLast->pgno, nTruncate, pData, aFrame); + /* testcase( IS_BIG_INT(iOffset) ); // requires a 4GiB WAL */ + rc = sqlite3OsWrite(pWal->pWalFd, aFrame, sizeof(aFrame), iOffset); + if( rc!=SQLITE_OK ){ + return rc; + } + iOffset += WAL_FRAME_HDRSIZE; + rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOffset); + if( rc!=SQLITE_OK ){ + return rc; + } + nLast++; + iOffset += szPage; + } + + rc = sqlite3OsSync(pWal->pWalFd, sync_flags); + } + + /* Append data to the wal-index. It is not necessary to lock the + ** wal-index to do this as the SQLITE_SHM_WRITE lock held on the wal-index + ** guarantees that there are no other writers, and no data that may + ** be in use by existing readers is being overwritten. + */ + iFrame = pWal->hdr.mxFrame; + for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){ + iFrame++; + rc = walIndexAppend(pWal, iFrame, p->pgno); + } + while( nLast>0 && rc==SQLITE_OK ){ + iFrame++; + nLast--; + rc = walIndexAppend(pWal, iFrame, pLast->pgno); + } + + if( rc==SQLITE_OK ){ + /* Update the private copy of the header. */ + pWal->hdr.szPage = (u16)((szPage&0xff00) | (szPage>>16)); + testcase( szPage<=32768 ); + testcase( szPage>=65536 ); + pWal->hdr.mxFrame = iFrame; + if( isCommit ){ + pWal->hdr.iChange++; + pWal->hdr.nPage = nTruncate; + } + /* If this is a commit, update the wal-index header too. */ + if( isCommit ){ + walIndexWriteHdr(pWal); + pWal->iCallback = iFrame; + } + } + + WALTRACE(("WAL%p: frame write %s\n", pWal, rc ? "failed" : "ok")); + return rc; +} + +/* +** This routine is called to implement sqlite3_wal_checkpoint() and +** related interfaces. +** +** Obtain a CHECKPOINT lock and then backfill as much information as +** we can from WAL into the database. +*/ +SQLITE_PRIVATE int sqlite3WalCheckpoint( + Wal *pWal, /* Wal connection */ + int sync_flags, /* Flags to sync db file with (or 0) */ + int nBuf, /* Size of temporary buffer */ + u8 *zBuf /* Temporary buffer to use */ +){ + int rc; /* Return code */ + int isChanged = 0; /* True if a new wal-index header is loaded */ + + assert( pWal->ckptLock==0 ); + + WALTRACE(("WAL%p: checkpoint begins\n", pWal)); + rc = walLockExclusive(pWal, WAL_CKPT_LOCK, 1); + if( rc ){ + /* Usually this is SQLITE_BUSY meaning that another thread or process + ** is already running a checkpoint, or maybe a recovery. But it might + ** also be SQLITE_IOERR. */ + return rc; + } + pWal->ckptLock = 1; + + /* Copy data from the log to the database file. */ + rc = walIndexReadHdr(pWal, &isChanged); + if( rc==SQLITE_OK ){ + rc = walCheckpoint(pWal, sync_flags, nBuf, zBuf); + } + if( isChanged ){ + /* If a new wal-index header was loaded before the checkpoint was + ** performed, then the pager-cache associated with pWal is now + ** out of date. So zero the cached wal-index header to ensure that + ** next time the pager opens a snapshot on this database it knows that + ** the cache needs to be reset. + */ + memset(&pWal->hdr, 0, sizeof(WalIndexHdr)); + } + + /* Release the locks. */ + walUnlockExclusive(pWal, WAL_CKPT_LOCK, 1); + pWal->ckptLock = 0; + WALTRACE(("WAL%p: checkpoint %s\n", pWal, rc ? "failed" : "ok")); + return rc; +} + +/* Return the value to pass to a sqlite3_wal_hook callback, the +** number of frames in the WAL at the point of the last commit since +** sqlite3WalCallback() was called. If no commits have occurred since +** the last call, then return 0. +*/ +SQLITE_PRIVATE int sqlite3WalCallback(Wal *pWal){ + u32 ret = 0; + if( pWal ){ + ret = pWal->iCallback; + pWal->iCallback = 0; + } + return (int)ret; +} + +/* +** This function is called to change the WAL subsystem into or out +** of locking_mode=EXCLUSIVE. +** +** If op is zero, then attempt to change from locking_mode=EXCLUSIVE +** into locking_mode=NORMAL. This means that we must acquire a lock +** on the pWal->readLock byte. If the WAL is already in locking_mode=NORMAL +** or if the acquisition of the lock fails, then return 0. If the +** transition out of exclusive-mode is successful, return 1. This +** operation must occur while the pager is still holding the exclusive +** lock on the main database file. +** +** If op is one, then change from locking_mode=NORMAL into +** locking_mode=EXCLUSIVE. This means that the pWal->readLock must +** be released. Return 1 if the transition is made and 0 if the +** WAL is already in exclusive-locking mode - meaning that this +** routine is a no-op. The pager must already hold the exclusive lock +** on the main database file before invoking this operation. +** +** If op is negative, then do a dry-run of the op==1 case but do +** not actually change anything. The pager uses this to see if it +** should acquire the database exclusive lock prior to invoking +** the op==1 case. +*/ +SQLITE_PRIVATE int sqlite3WalExclusiveMode(Wal *pWal, int op){ + int rc; + assert( pWal->writeLock==0 ); + + /* pWal->readLock is usually set, but might be -1 if there was a + ** prior error while attempting to acquire are read-lock. This cannot + ** happen if the connection is actually in exclusive mode (as no xShmLock + ** locks are taken in this case). Nor should the pager attempt to + ** upgrade to exclusive-mode following such an error. + */ + assert( pWal->readLock>=0 || pWal->lockError ); + assert( pWal->readLock>=0 || (op<=0 && pWal->exclusiveMode==0) ); + + if( op==0 ){ + if( pWal->exclusiveMode ){ + pWal->exclusiveMode = 0; + if( walLockShared(pWal, WAL_READ_LOCK(pWal->readLock))!=SQLITE_OK ){ + pWal->exclusiveMode = 1; + } + rc = pWal->exclusiveMode==0; + }else{ + /* Already in locking_mode=NORMAL */ + rc = 0; + } + }else if( op>0 ){ + assert( pWal->exclusiveMode==0 ); + assert( pWal->readLock>=0 ); + walUnlockShared(pWal, WAL_READ_LOCK(pWal->readLock)); + pWal->exclusiveMode = 1; + rc = 1; + }else{ + rc = pWal->exclusiveMode==0; + } + return rc; +} + +#endif /* #ifndef SQLITE_OMIT_WAL */ + +/************** End of wal.c *************************************************/ /************** Begin file btmutex.c *****************************************/ /* ** 2007 August 27 @@ -37618,7 +43593,7 @@ SQLITE_PRIVATE sqlite3_backup **sqlite3PagerBackupPtr(Pager *pPager){ ** ** The file is divided into pages. The first page is called page 1, ** the second is page 2, and so forth. A page number of zero indicates -** "no such page". The page size can be any power of 2 between 512 and 32768. +** "no such page". The page size can be any power of 2 between 512 and 65536. ** Each page can be either a btree page, a freelist page, an overflow ** page, or a pointer-map page. ** @@ -37979,18 +43954,21 @@ struct BtShared { u8 readOnly; /* True if the underlying file is readonly */ u8 pageSizeFixed; /* True if the page size can no longer be changed */ u8 secureDelete; /* True if secure_delete is enabled */ + u8 initiallyEmpty; /* Database is empty at start of transaction */ #ifndef SQLITE_OMIT_AUTOVACUUM u8 autoVacuum; /* True if auto-vacuum is enabled */ u8 incrVacuum; /* True if incr-vacuum is enabled */ #endif - u16 pageSize; /* Total number of bytes on a page */ - u16 usableSize; /* Number of usable bytes on each page */ u16 maxLocal; /* Maximum local payload in non-LEAFDATA tables */ u16 minLocal; /* Minimum local payload in non-LEAFDATA tables */ u16 maxLeaf; /* Maximum local payload in a LEAFDATA table */ u16 minLeaf; /* Minimum local payload in a LEAFDATA table */ u8 inTransaction; /* Transaction state */ + u8 doNotUseWAL; /* If true, do not open write-ahead-log file */ + u32 pageSize; /* Total number of bytes on a page */ + u32 usableSize; /* Number of usable bytes on each page */ int nTransaction; /* Number of open transactions (read + write) */ + u32 nPage; /* Number of pages in the database */ void *pSchema; /* Pointer to space allocated by sqlite3BtreeSchema() */ void (*xFreeSchema)(void*); /* Destructor for BtShared.pSchema */ sqlite3_mutex *mutex; /* Non-recursive mutex required to access this struct */ @@ -38587,7 +44565,16 @@ int sqlite3BtreeTrace=1; /* True to enable tracing */ # define TRACE(X) #endif - +/* +** Extract a 2-byte big-endian integer from an array of unsigned bytes. +** But if the value is zero, make it 65536. +** +** This routine is used to extract the "offset to cell content area" value +** from the header of a btree page. If the page size is 65536 and the page +** is empty, the offset should be 65536, but the 2-byte value stores zero. +** This routine makes the necessary adjustment to 65536. +*/ +#define get2byteNotZero(X) (((((int)get2byte(X))-1)&0xffff)+1) #ifndef SQLITE_OMIT_SHARED_CACHE /* @@ -39071,11 +45058,8 @@ static void invalidateIncrblobCursors( static int btreeSetHasContent(BtShared *pBt, Pgno pgno){ int rc = SQLITE_OK; if( !pBt->pHasContent ){ - int nPage = 100; - sqlite3PagerPagecount(pBt->pPager, &nPage); - /* If sqlite3PagerPagecount() fails there is no harm because the - ** nPage variable is unchanged from its default value of 100 */ - pBt->pHasContent = sqlite3BitvecCreate((u32)nPage); + assert( pgno<=pBt->nPage ); + pBt->pHasContent = sqlite3BitvecCreate(pBt->nPage); if( !pBt->pHasContent ){ rc = SQLITE_NOMEM; } @@ -39279,11 +45263,16 @@ SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor *pCur, int *pHasMoved){ ** Given a page number of a regular database page, return the page ** number for the pointer-map page that contains the entry for the ** input page number. +** +** Return 0 (not a valid page) for pgno==1 since there is +** no pointer map associated with page 1. The integrity_check logic +** requires that ptrmapPageno(*,1)!=1. */ static Pgno ptrmapPageno(BtShared *pBt, Pgno pgno){ int nPagesPerMapPage; Pgno iPtrMap, ret; assert( sqlite3_mutex_held(pBt->mutex) ); + if( pgno<2 ) return 0; nPagesPerMapPage = (pBt->usableSize/5)+1; iPtrMap = (pgno-2)/nPagesPerMapPage; ret = (iPtrMap*nPagesPerMapPage) + 2; @@ -39712,7 +45701,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ nFrag = data[hdr+7]; assert( pPage->cellOffset == hdr + 12 - 4*pPage->leaf ); gap = pPage->cellOffset + 2*pPage->nCell; - top = get2byte(&data[hdr+5]); + top = get2byteNotZero(&data[hdr+5]); if( gap>top ) return SQLITE_CORRUPT_BKPT; testcase( gap+2==top ); testcase( gap+1==top ); @@ -39722,7 +45711,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ /* Always defragment highly fragmented pages */ rc = defragmentPage(pPage); if( rc ) return rc; - top = get2byte(&data[hdr+5]); + top = get2byteNotZero(&data[hdr+5]); }else if( gap+2<=top ){ /* Search the freelist looking for a free slot big enough to satisfy ** the request. The allocation is made from the first free slot in @@ -39764,7 +45753,7 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ if( gap+2+nByte>top ){ rc = defragmentPage(pPage); if( rc ) return rc; - top = get2byte(&data[hdr+5]); + top = get2byteNotZero(&data[hdr+5]); assert( gap+nByte<=top ); } @@ -39930,10 +45919,10 @@ static int btreeInitPage(MemPage *pPage){ u8 hdr; /* Offset to beginning of page header */ u8 *data; /* Equal to pPage->aData */ BtShared *pBt; /* The main btree structure */ - u16 usableSize; /* Amount of usable space on each page */ + int usableSize; /* Amount of usable space on each page */ u16 cellOffset; /* Offset from start of page to first cell pointer */ - u16 nFree; /* Number of unused bytes on the page */ - u16 top; /* First byte of the cell content area */ + int nFree; /* Number of unused bytes on the page */ + int top; /* First byte of the cell content area */ int iCellFirst; /* First allowable cell or freeblock offset */ int iCellLast; /* Last possible cell or freeblock offset */ @@ -39942,12 +45931,12 @@ static int btreeInitPage(MemPage *pPage){ hdr = pPage->hdrOffset; data = pPage->aData; if( decodeFlags(pPage, data[hdr]) ) return SQLITE_CORRUPT_BKPT; - assert( pBt->pageSize>=512 && pBt->pageSize<=32768 ); - pPage->maskPage = pBt->pageSize - 1; + assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); + pPage->maskPage = (u16)(pBt->pageSize - 1); pPage->nOverflow = 0; usableSize = pBt->usableSize; pPage->cellOffset = cellOffset = hdr + 12 - 4*pPage->leaf; - top = get2byte(&data[hdr+5]); + top = get2byteNotZero(&data[hdr+5]); pPage->nCell = get2byte(&data[hdr+3]); if( pPage->nCell>MX_CELL(pBt) ){ /* To many cells for a single page. The page must be corrupt */ @@ -40046,13 +46035,13 @@ static void zeroPage(MemPage *pPage, int flags){ memset(&data[hdr+1], 0, 4); data[hdr+7] = 0; put2byte(&data[hdr+5], pBt->usableSize); - pPage->nFree = pBt->usableSize - first; + pPage->nFree = (u16)(pBt->usableSize - first); decodeFlags(pPage, flags); pPage->hdrOffset = hdr; pPage->cellOffset = first; pPage->nOverflow = 0; - assert( pBt->pageSize>=512 && pBt->pageSize<=32768 ); - pPage->maskPage = pBt->pageSize - 1; + assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); + pPage->maskPage = (u16)(pBt->pageSize - 1); pPage->nCell = 0; pPage->isInit = 1; } @@ -40118,13 +46107,13 @@ static MemPage *btreePageLookup(BtShared *pBt, Pgno pgno){ ** Return the size of the database file in pages. If there is any kind of ** error, return ((unsigned int)-1). */ -static Pgno pagerPagecount(BtShared *pBt){ - int nPage = -1; - int rc; - assert( pBt->pPage1 ); - rc = sqlite3PagerPagecount(pBt->pPager, &nPage); - assert( rc==SQLITE_OK || nPage==-1 ); - return (Pgno)nPage; +static Pgno btreePagecount(BtShared *pBt){ + return pBt->nPage; +} +SQLITE_PRIVATE u32 sqlite3BtreeLastPage(Btree *p){ + assert( sqlite3BtreeHoldsMutex(p) ); + assert( ((p->pBt->nPage)&0x8000000)==0 ); + return (int)btreePagecount(p->pBt); } /* @@ -40141,25 +46130,22 @@ static int getAndInitPage( MemPage **ppPage /* Write the page pointer here */ ){ int rc; - TESTONLY( Pgno iLastPg = pagerPagecount(pBt); ) assert( sqlite3_mutex_held(pBt->mutex) ); - rc = btreeGetPage(pBt, pgno, ppPage, 0); - if( rc==SQLITE_OK ){ - rc = btreeInitPage(*ppPage); - if( rc!=SQLITE_OK ){ - releasePage(*ppPage); + if( pgno>btreePagecount(pBt) ){ + rc = SQLITE_CORRUPT_BKPT; + }else{ + rc = btreeGetPage(pBt, pgno, ppPage, 0); + if( rc==SQLITE_OK ){ + rc = btreeInitPage(*ppPage); + if( rc!=SQLITE_OK ){ + releasePage(*ppPage); + } } } - /* If the requested page number was either 0 or greater than the page - ** number of the last page in the database, this function should return - ** SQLITE_CORRUPT or some other error (i.e. SQLITE_FULL). Check that this - ** is the case. */ - assert( (pgno>0 && pgno<=iLastPg) || rc!=SQLITE_OK ); testcase( pgno==0 ); - testcase( pgno==iLastPg ); - + assert( pgno!=0 || rc==SQLITE_CORRUPT ); return rc; } @@ -40363,7 +46349,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( #ifdef SQLITE_SECURE_DELETE pBt->secureDelete = 1; #endif - pBt->pageSize = get2byte(&zDbHeader[16]); + pBt->pageSize = (zDbHeader[16]<<8) | (zDbHeader[17]<<16); if( pBt->pageSize<512 || pBt->pageSize>SQLITE_MAX_PAGE_SIZE || ((pBt->pageSize-1)&pBt->pageSize)!=0 ){ pBt->pageSize = 0; @@ -40565,7 +46551,7 @@ SQLITE_PRIVATE int sqlite3BtreeClose(Btree *p){ if( pBt->xFreeSchema && pBt->pSchema ){ pBt->xFreeSchema(pBt->pSchema); } - sqlite3_free(pBt->pSchema); + sqlite3DbFree(0, pBt->pSchema); freeTempSpace(pBt); sqlite3_free(pBt); } @@ -40677,7 +46663,7 @@ SQLITE_PRIVATE int sqlite3BtreeSetPageSize(Btree *p, int pageSize, int nReserve, ((pageSize-1)&pageSize)==0 ){ assert( (pageSize & 7)==0 ); assert( !pBt->pPage1 && !pBt->pCursor ); - pBt->pageSize = (u16)pageSize; + pBt->pageSize = (u32)pageSize; freeTempSpace(pBt); } rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, nReserve); @@ -40795,9 +46781,11 @@ SQLITE_PRIVATE int sqlite3BtreeGetAutoVacuum(Btree *p){ ** is returned if we run out of memory. */ static int lockBtree(BtShared *pBt){ - int rc; - MemPage *pPage1; - int nPage; + int rc; /* Result code from subfunctions */ + MemPage *pPage1; /* Page 1 of the database file */ + int nPage; /* Number of pages in the database */ + int nPageFile = 0; /* Number of pages in the database file */ + int nPageHeader; /* Number of pages in the database according to hdr */ assert( sqlite3_mutex_held(pBt->mutex) ); assert( pBt->pPage1==0 ); @@ -40809,23 +46797,55 @@ static int lockBtree(BtShared *pBt){ /* Do some checking to help insure the file we opened really is ** a valid database file. */ - rc = sqlite3PagerPagecount(pBt->pPager, &nPage); - if( rc!=SQLITE_OK ){ - goto page1_init_failed; - }else if( nPage>0 ){ - int pageSize; - int usableSize; + nPage = nPageHeader = get4byte(28+(u8*)pPage1->aData); + sqlite3PagerPagecount(pBt->pPager, &nPageFile); + if( nPage==0 || memcmp(24+(u8*)pPage1->aData, 92+(u8*)pPage1->aData,4)!=0 ){ + nPage = nPageFile; + } + if( nPage>0 ){ + u32 pageSize; + u32 usableSize; u8 *page1 = pPage1->aData; rc = SQLITE_NOTADB; if( memcmp(page1, zMagicHeader, 16)!=0 ){ goto page1_init_failed; } + +#ifdef SQLITE_OMIT_WAL if( page1[18]>1 ){ pBt->readOnly = 1; } if( page1[19]>1 ){ goto page1_init_failed; } +#else + if( page1[18]>2 ){ + pBt->readOnly = 1; + } + if( page1[19]>2 ){ + goto page1_init_failed; + } + + /* If the write version is set to 2, this database should be accessed + ** in WAL mode. If the log is not already open, open it now. Then + ** return SQLITE_OK and return without populating BtShared.pPage1. + ** The caller detects this and calls this function again. This is + ** required as the version of page 1 currently in the page1 buffer + ** may not be the latest version - there may be a newer one in the log + ** file. + */ + if( page1[19]==2 && pBt->doNotUseWAL==0 ){ + int isOpen = 0; + rc = sqlite3PagerOpenWal(pBt->pPager, &isOpen); + if( rc!=SQLITE_OK ){ + goto page1_init_failed; + }else if( isOpen==0 ){ + releasePage(pPage1); + return SQLITE_OK; + } + rc = SQLITE_NOTADB; + } +#endif /* The maximum embedded fraction must be exactly 25%. And the minimum ** embedded fraction must be 12.5% for both leaf-data and non-leaf-data. @@ -40835,15 +46855,16 @@ static int lockBtree(BtShared *pBt){ if( memcmp(&page1[21], "\100\040\040",3)!=0 ){ goto page1_init_failed; } - pageSize = get2byte(&page1[16]); - if( ((pageSize-1)&pageSize)!=0 || pageSize<512 || - (SQLITE_MAX_PAGE_SIZE<32768 && pageSize>SQLITE_MAX_PAGE_SIZE) + pageSize = (page1[16]<<8) | (page1[17]<<16); + if( ((pageSize-1)&pageSize)!=0 + || pageSize>SQLITE_MAX_PAGE_SIZE + || pageSize<=256 ){ goto page1_init_failed; } assert( (pageSize & 7)==0 ); usableSize = pageSize - page1[20]; - if( pageSize!=pBt->pageSize ){ + if( (u32)pageSize!=pBt->pageSize ){ /* After reading the first page of the database assuming a page size ** of BtShared.pageSize, we have discovered that the page-size is ** actually pageSize. Unlock the database, leave pBt->pPage1 at @@ -40851,18 +46872,22 @@ static int lockBtree(BtShared *pBt){ ** again with the correct page-size. */ releasePage(pPage1); - pBt->usableSize = (u16)usableSize; - pBt->pageSize = (u16)pageSize; + pBt->usableSize = usableSize; + pBt->pageSize = pageSize; freeTempSpace(pBt); rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, pageSize-usableSize); return rc; } + if( nPageHeader>nPageFile ){ + rc = SQLITE_CORRUPT_BKPT; + goto page1_init_failed; + } if( usableSize<480 ){ goto page1_init_failed; } - pBt->pageSize = (u16)pageSize; - pBt->usableSize = (u16)usableSize; + pBt->pageSize = pageSize; + pBt->usableSize = usableSize; #ifndef SQLITE_OMIT_AUTOVACUUM pBt->autoVacuum = (get4byte(&page1[36 + 4*4])?1:0); pBt->incrVacuum = (get4byte(&page1[36 + 7*4])?1:0); @@ -40878,16 +46903,17 @@ static int lockBtree(BtShared *pBt){ ** 9-byte nKey value ** 4-byte nData value ** 4-byte overflow page pointer - ** So a cell consists of a 2-byte poiner, a header which is as much as + ** So a cell consists of a 2-byte pointer, a header which is as much as ** 17 bytes long, 0 to N bytes of payload, and an optional 4 byte overflow ** page pointer. */ - pBt->maxLocal = (pBt->usableSize-12)*64/255 - 23; - pBt->minLocal = (pBt->usableSize-12)*32/255 - 23; - pBt->maxLeaf = pBt->usableSize - 35; - pBt->minLeaf = (pBt->usableSize-12)*32/255 - 23; + pBt->maxLocal = (u16)((pBt->usableSize-12)*64/255 - 23); + pBt->minLocal = (u16)((pBt->usableSize-12)*32/255 - 23); + pBt->maxLeaf = (u16)(pBt->usableSize - 35); + pBt->minLeaf = (u16)((pBt->usableSize-12)*32/255 - 23); assert( pBt->maxLeaf + 23 <= MX_CELL_SIZE(pBt) ); pBt->pPage1 = pPage1; + pBt->nPage = nPage; return SQLITE_OK; page1_init_failed: @@ -40925,12 +46951,10 @@ static int newDatabase(BtShared *pBt){ MemPage *pP1; unsigned char *data; int rc; - int nPage; assert( sqlite3_mutex_held(pBt->mutex) ); - rc = sqlite3PagerPagecount(pBt->pPager, &nPage); - if( rc!=SQLITE_OK || nPage>0 ){ - return rc; + if( pBt->nPage>0 ){ + return SQLITE_OK; } pP1 = pBt->pPage1; assert( pP1!=0 ); @@ -40939,7 +46963,8 @@ static int newDatabase(BtShared *pBt){ if( rc ) return rc; memcpy(data, zMagicHeader, sizeof(zMagicHeader)); assert( sizeof(zMagicHeader)==16 ); - put2byte(&data[16], pBt->pageSize); + data[16] = (u8)((pBt->pageSize>>8)&0xff); + data[17] = (u8)((pBt->pageSize>>16)&0xff); data[18] = 1; data[19] = 1; assert( pBt->usableSize<=pBt->pageSize && pBt->usableSize+255>=pBt->pageSize); @@ -40956,6 +46981,8 @@ static int newDatabase(BtShared *pBt){ put4byte(&data[36 + 4*4], pBt->autoVacuum); put4byte(&data[36 + 7*4], pBt->incrVacuum); #endif + pBt->nPage = 1; + data[31] = 1; return SQLITE_OK; } @@ -41045,6 +47072,7 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ rc = querySharedCacheTableLock(p, MASTER_ROOT, READ_LOCK); if( SQLITE_OK!=rc ) goto trans_begun; + pBt->initiallyEmpty = (u8)(pBt->nPage==0); do { /* Call lockBtree() until either pBt->pPage1 is populated or ** lockBtree() returns something other than SQLITE_OK. lockBtree() @@ -41069,7 +47097,7 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ if( rc!=SQLITE_OK ){ unlockBtreeIfUnused(pBt); } - }while( rc==SQLITE_BUSY && pBt->inTransaction==TRANS_NONE && + }while( (rc&0xFF)==SQLITE_BUSY && pBt->inTransaction==TRANS_NONE && btreeInvokeBusyHandler(pBt) ); if( rc==SQLITE_OK ){ @@ -41088,13 +47116,27 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ if( p->inTrans>pBt->inTransaction ){ pBt->inTransaction = p->inTrans; } -#ifndef SQLITE_OMIT_SHARED_CACHE if( wrflag ){ + MemPage *pPage1 = pBt->pPage1; +#ifndef SQLITE_OMIT_SHARED_CACHE assert( !pBt->pWriter ); pBt->pWriter = p; pBt->isExclusive = (u8)(wrflag>1); - } #endif + + /* If the db-size header field is incorrect (as it may be if an old + ** client has been writing the database file), update it now. Doing + ** this sooner rather than later means the database size can safely + ** re-read the database size from page 1 if a savepoint or transaction + ** rollback occurs within the transaction. + */ + if( pBt->nPage!=get4byte(&pPage1->aData[28]) ){ + rc = sqlite3PagerWrite(pPage1->pDbPage); + if( rc==SQLITE_OK ){ + put4byte(&pPage1->aData[28], pBt->nPage); + } + } + } } @@ -41324,12 +47366,12 @@ static int allocateBtreePage(BtShared *, MemPage **, Pgno *, Pgno, u8); */ static int incrVacuumStep(BtShared *pBt, Pgno nFin, Pgno iLastPg){ Pgno nFreeList; /* Number of pages still on the free-list */ + int rc; assert( sqlite3_mutex_held(pBt->mutex) ); assert( iLastPg>nFin ); if( !PTRMAP_ISPAGE(pBt, iLastPg) && iLastPg!=PENDING_BYTE_PAGE(pBt) ){ - int rc; u8 eType; Pgno iPtrPage; @@ -41405,7 +47447,7 @@ static int incrVacuumStep(BtShared *pBt, Pgno nFin, Pgno iLastPg){ while( iLastPg==PENDING_BYTE_PAGE(pBt)||PTRMAP_ISPAGE(pBt, iLastPg) ){ if( PTRMAP_ISPAGE(pBt, iLastPg) ){ MemPage *pPg; - int rc = btreeGetPage(pBt, iLastPg, &pPg, 0); + rc = btreeGetPage(pBt, iLastPg, &pPg, 0); if( rc!=SQLITE_OK ){ return rc; } @@ -41418,6 +47460,7 @@ static int incrVacuumStep(BtShared *pBt, Pgno nFin, Pgno iLastPg){ iLastPg--; } sqlite3PagerTruncateImage(pBt->pPager, iLastPg); + pBt->nPage = iLastPg; } return SQLITE_OK; } @@ -41440,7 +47483,11 @@ SQLITE_PRIVATE int sqlite3BtreeIncrVacuum(Btree *p){ rc = SQLITE_DONE; }else{ invalidateAllOverflowCache(pBt); - rc = incrVacuumStep(pBt, 0, pagerPagecount(pBt)); + rc = incrVacuumStep(pBt, 0, btreePagecount(pBt)); + if( rc==SQLITE_OK ){ + rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); + put4byte(&pBt->pPage1->aData[28], pBt->nPage); + } } sqlite3BtreeLeave(p); return rc; @@ -41471,7 +47518,7 @@ static int autoVacuumCommit(BtShared *pBt){ int nEntry; /* Number of entries on one ptrmap page */ Pgno nOrig; /* Database size before freeing */ - nOrig = pagerPagecount(pBt); + nOrig = btreePagecount(pBt); if( PTRMAP_ISPAGE(pBt, nOrig) || nOrig==PENDING_BYTE_PAGE(pBt) ){ /* It is not possible to create a database for which the final page ** is either a pointer-map page or the pending-byte page. If one @@ -41496,11 +47543,12 @@ static int autoVacuumCommit(BtShared *pBt){ rc = incrVacuumStep(pBt, nFin, iFree); } if( (rc==SQLITE_DONE || rc==SQLITE_OK) && nFree>0 ){ - rc = SQLITE_OK; rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); put4byte(&pBt->pPage1->aData[32], 0); put4byte(&pBt->pPage1->aData[36], 0); + put4byte(&pBt->pPage1->aData[28], nFin); sqlite3PagerTruncateImage(pBt->pPager, nFin); + pBt->nPage = nFin; } if( rc!=SQLITE_OK ){ sqlite3PagerRollback(pPager); @@ -41750,6 +47798,11 @@ SQLITE_PRIVATE int sqlite3BtreeRollback(Btree *p){ ** call btreeGetPage() on page 1 again to make ** sure pPage1->aData is set correctly. */ if( btreeGetPage(pBt, 1, &pPage1, 0)==SQLITE_OK ){ + int nPage = get4byte(28+(u8*)pPage1->aData); + testcase( nPage==0 ); + if( nPage==0 ) sqlite3PagerPagecount(pBt->pPager, &nPage); + testcase( pBt->nPage!=nPage ); + pBt->nPage = nPage; releasePage(pPage1); } assert( countWriteCursors(pBt)==0 ); @@ -41787,17 +47840,13 @@ SQLITE_PRIVATE int sqlite3BtreeBeginStmt(Btree *p, int iStatement){ assert( pBt->readOnly==0 ); assert( iStatement>0 ); assert( iStatement>p->db->nSavepoint ); - if( NEVER(p->inTrans!=TRANS_WRITE || pBt->readOnly) ){ - rc = SQLITE_INTERNAL; - }else{ - assert( pBt->inTransaction==TRANS_WRITE ); - /* At the pager level, a statement transaction is a savepoint with - ** an index greater than all savepoints created explicitly using - ** SQL statements. It is illegal to open, release or rollback any - ** such savepoints while the statement transaction savepoint is active. - */ - rc = sqlite3PagerOpenSavepoint(pBt->pPager, iStatement); - } + assert( pBt->inTransaction==TRANS_WRITE ); + /* At the pager level, a statement transaction is a savepoint with + ** an index greater than all savepoints created explicitly using + ** SQL statements. It is illegal to open, release or rollback any + ** such savepoints while the statement transaction savepoint is active. + */ + rc = sqlite3PagerOpenSavepoint(pBt->pPager, iStatement); sqlite3BtreeLeave(p); return rc; } @@ -41823,7 +47872,14 @@ SQLITE_PRIVATE int sqlite3BtreeSavepoint(Btree *p, int op, int iSavepoint){ sqlite3BtreeEnter(p); rc = sqlite3PagerSavepoint(pBt->pPager, op, iSavepoint); if( rc==SQLITE_OK ){ + if( iSavepoint<0 && pBt->initiallyEmpty ) pBt->nPage = 0; rc = newDatabase(pBt); + pBt->nPage = get4byte(28 + pBt->pPage1->aData); + + /* The database size was written into the offset 28 of the header + ** when the transaction started, so we know that the value at offset + ** 28 is nonzero. */ + assert( pBt->nPage>0 ); } sqlite3BtreeLeave(p); } @@ -41889,7 +47945,7 @@ static int btreeCursor( if( NEVER(wrFlag && pBt->readOnly) ){ return SQLITE_READONLY; } - if( iTable==1 && pagerPagecount(pBt)==0 ){ + if( iTable==1 && btreePagecount(pBt)==0 ){ return SQLITE_EMPTY; } @@ -42160,7 +48216,7 @@ static int getOverflowPage( iGuess++; } - if( iGuess<=pagerPagecount(pBt) ){ + if( iGuess<=btreePagecount(pBt) ){ rc = ptrmapGet(pBt, iGuess, &eType, &pgno); if( rc==SQLITE_OK && eType==PTRMAP_OVERFLOW2 && pgno==ovfl ){ next = iGuess; @@ -42755,7 +48811,6 @@ SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor *pCur, int *pRes){ if( pCur->eState==CURSOR_INVALID ){ assert( pCur->apPage[pCur->iPage]->nCell==0 ); *pRes = 1; - rc = SQLITE_OK; }else{ assert( pCur->apPage[pCur->iPage]->nCell>0 ); *pRes = 0; @@ -42920,9 +48975,9 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( pCur->validNKey = 1; pCur->info.nKey = nCellKey; }else{ - /* The maximum supported page-size is 32768 bytes. This means that + /* The maximum supported page-size is 65536 bytes. This means that ** the maximum number of record bytes stored on an index B-Tree - ** page is at most 8198 bytes, which may be stored as a 2-byte + ** page is less than 16384 bytes and may be stored as a 2-byte ** varint. This information is used to attempt to avoid parsing ** the entire cell by checking for the cases where the record is ** stored entirely within the b-tree page by inspecting the first @@ -43192,7 +49247,7 @@ static int allocateBtreePage( assert( sqlite3_mutex_held(pBt->mutex) ); pPage1 = pBt->pPage1; - mxPage = pagerPagecount(pBt); + mxPage = btreePagecount(pBt); n = get4byte(&pPage1->aData[36]); testcase( n==mxPage-1 ); if( n>=mxPage ){ @@ -43285,6 +49340,10 @@ static int allocateBtreePage( if( !pPrevTrunk ){ memcpy(&pPage1->aData[32], &pTrunk->aData[0], 4); }else{ + rc = sqlite3PagerWrite(pPrevTrunk->pDbPage); + if( rc!=SQLITE_OK ){ + goto end_allocate_page; + } memcpy(&pPrevTrunk->aData[0], &pTrunk->aData[0], 4); } }else{ @@ -43388,35 +49447,35 @@ static int allocateBtreePage( }else{ /* There are no pages on the freelist, so create a new page at the ** end of the file */ - int nPage = pagerPagecount(pBt); - *pPgno = nPage + 1; - - if( *pPgno==PENDING_BYTE_PAGE(pBt) ){ - (*pPgno)++; - } + rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); + if( rc ) return rc; + pBt->nPage++; + if( pBt->nPage==PENDING_BYTE_PAGE(pBt) ) pBt->nPage++; #ifndef SQLITE_OMIT_AUTOVACUUM - if( pBt->autoVacuum && PTRMAP_ISPAGE(pBt, *pPgno) ){ + if( pBt->autoVacuum && PTRMAP_ISPAGE(pBt, pBt->nPage) ){ /* If *pPgno refers to a pointer-map page, allocate two new pages ** at the end of the file instead of one. The first allocated page ** becomes a new pointer-map page, the second is used by the caller. */ MemPage *pPg = 0; - TRACE(("ALLOCATE: %d from end of file (pointer-map page)\n", *pPgno)); - assert( *pPgno!=PENDING_BYTE_PAGE(pBt) ); - rc = btreeGetPage(pBt, *pPgno, &pPg, 0); + TRACE(("ALLOCATE: %d from end of file (pointer-map page)\n", pBt->nPage)); + assert( pBt->nPage!=PENDING_BYTE_PAGE(pBt) ); + rc = btreeGetPage(pBt, pBt->nPage, &pPg, 1); if( rc==SQLITE_OK ){ rc = sqlite3PagerWrite(pPg->pDbPage); releasePage(pPg); } if( rc ) return rc; - (*pPgno)++; - if( *pPgno==PENDING_BYTE_PAGE(pBt) ){ (*pPgno)++; } + pBt->nPage++; + if( pBt->nPage==PENDING_BYTE_PAGE(pBt) ){ pBt->nPage++; } } #endif + put4byte(28 + (u8*)pBt->pPage1->aData, pBt->nPage); + *pPgno = pBt->nPage; assert( *pPgno!=PENDING_BYTE_PAGE(pBt) ); - rc = btreeGetPage(pBt, *pPgno, ppPage, 0); + rc = btreeGetPage(pBt, *pPgno, ppPage, 1); if( rc ) return rc; rc = sqlite3PagerWrite((*ppPage)->pDbPage); if( rc!=SQLITE_OK ){ @@ -43591,7 +49650,7 @@ static int clearCell(MemPage *pPage, unsigned char *pCell){ Pgno ovflPgno; int rc; int nOvfl; - u16 ovflPageSize; + u32 ovflPageSize; assert( sqlite3_mutex_held(pPage->pBt->mutex) ); btreeParseCellPtr(pPage, pCell, &info); @@ -43606,7 +49665,7 @@ static int clearCell(MemPage *pPage, unsigned char *pCell){ while( nOvfl-- ){ Pgno iNext = 0; MemPage *pOvfl = 0; - if( ovflPgno<2 || ovflPgno>pagerPagecount(pBt) ){ + if( ovflPgno<2 || ovflPgno>btreePagecount(pBt) ){ /* 0 is not a legal page number and page 1 cannot be an ** overflow page. Therefore if ovflPgno<2 or past the end of the ** file the database must be corrupt. */ @@ -43816,7 +49875,7 @@ static int fillInCell( */ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ int i; /* Loop counter */ - int pc; /* Offset to cell content of cell being deleted */ + u32 pc; /* Offset to cell content of cell being deleted */ u8 *data; /* pPage->aData */ u8 *ptr; /* Used to move bytes around within data[] */ int rc; /* The return code */ @@ -43834,7 +49893,7 @@ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ hdr = pPage->hdrOffset; testcase( pc==get2byte(&data[hdr+5]) ); testcase( pc+sz==pPage->pBt->usableSize ); - if( pc < get2byte(&data[hdr+5]) || pc+sz > pPage->pBt->usableSize ){ + if( pc < (u32)get2byte(&data[hdr+5]) || pc+sz > pPage->pBt->usableSize ){ *pRC = SQLITE_CORRUPT_BKPT; return; } @@ -43891,7 +49950,7 @@ static void insertCell( if( *pRC ) return; assert( i>=0 && i<=pPage->nCell+pPage->nOverflow ); - assert( pPage->nCell<=MX_CELL(pPage->pBt) && MX_CELL(pPage->pBt)<=5460 ); + assert( pPage->nCell<=MX_CELL(pPage->pBt) && MX_CELL(pPage->pBt)<=10921 ); assert( pPage->nOverflow<=ArraySize(pPage->aOvfl) ); assert( sqlite3_mutex_held(pPage->pBt->mutex) ); /* The cell should normally be sized correctly. However, when moving a @@ -43971,12 +50030,12 @@ static void assemblePage( assert( pPage->nOverflow==0 ); assert( sqlite3_mutex_held(pPage->pBt->mutex) ); - assert( nCell>=0 && nCell<=MX_CELL(pPage->pBt) && MX_CELL(pPage->pBt)<=5460 ); + assert( nCell>=0 && nCell<=MX_CELL(pPage->pBt) && MX_CELL(pPage->pBt)<=10921); assert( sqlite3PagerIswriteable(pPage->pDbPage) ); /* Check that the page has just been zeroed by zeroPage() */ assert( pPage->nCell==0 ); - assert( get2byte(&data[hdr+5])==nUsable ); + assert( get2byteNotZero(&data[hdr+5])==nUsable ); pCellptr = &data[pPage->cellOffset + nCell*2]; cellbody = nUsable; @@ -44042,6 +50101,7 @@ static int balance_quick(MemPage *pParent, MemPage *pPage, u8 *pSpace){ assert( sqlite3PagerIswriteable(pParent->pDbPage) ); assert( pPage->nOverflow==1 ); + /* This error condition is now caught prior to reaching this function */ if( pPage->nCell<=0 ) return SQLITE_CORRUPT_BKPT; /* Allocate a new page. This page will become the right-sibling of @@ -44371,7 +50431,7 @@ static int balance_nonroot( ** is allocated. */ if( pBt->secureDelete ){ int iOff = SQLITE_PTR_TO_INT(apDiv[i]) - SQLITE_PTR_TO_INT(pParent->aData); - if( (iOff+szNew[i])>pBt->usableSize ){ + if( (iOff+szNew[i])>(int)pBt->usableSize ){ rc = SQLITE_CORRUPT_BKPT; memset(apOld, 0, (i+1)*sizeof(MemPage*)); goto balance_cleanup; @@ -44450,7 +50510,7 @@ static int balance_nonroot( szCell[nCell] = sz; pTemp = &aSpace1[iSpace1]; iSpace1 += sz; - assert( sz<=pBt->pageSize/4 ); + assert( sz<=pBt->maxLocal+23 ); assert( iSpace1<=pBt->pageSize ); memcpy(pTemp, apDiv[i], sz); apCell[nCell] = pTemp+leafCorrection; @@ -44696,7 +50756,7 @@ static int balance_nonroot( } } iOvflSpace += sz; - assert( sz<=pBt->pageSize/4 ); + assert( sz<=pBt->maxLocal+23 ); assert( iOvflSpace<=pBt->pageSize ); insertCell(pParent, nxDiv, pCell, sz, pTemp, pNew->pgno, &rc); if( rc!=SQLITE_OK ) goto balance_cleanup; @@ -45438,8 +51498,14 @@ static int btreeCreateTable(Btree *p, int *piTable, int flags){ releasePage(pRoot); return rc; } + + /* When the new root page was allocated, page 1 was made writable in + ** order either to increase the database filesize, or to decrement the + ** freelist count. Hence, the sqlite3BtreeUpdateMeta() call cannot fail. + */ + assert( sqlite3PagerIswriteable(pBt->pPage1->pDbPage) ); rc = sqlite3BtreeUpdateMeta(p, 4, pgnoRoot); - if( rc ){ + if( NEVER(rc) ){ releasePage(pRoot); return rc; } @@ -45479,7 +51545,7 @@ static int clearDatabasePage( int i; assert( sqlite3_mutex_held(pBt->mutex) ); - if( pgno>pagerPagecount(pBt) ){ + if( pgno>btreePagecount(pBt) ){ return SQLITE_CORRUPT_BKPT; } @@ -45934,7 +52000,7 @@ static void checkList( checkPtrmap(pCheck, iPage, PTRMAP_FREEPAGE, 0, zContext); } #endif - if( n>pCheck->pBt->usableSize/4-2 ){ + if( n>(int)pCheck->pBt->usableSize/4-2 ){ checkAppendMsg(pCheck, zContext, "freelist leaf count too big on page %d", iPage); N--; @@ -46145,7 +52211,7 @@ static int checkTreePage( if( hit==0 ){ pCheck->mallocFailed = 1; }else{ - u16 contentOffset = get2byte(&data[hdr+5]); + int contentOffset = get2byteNotZero(&data[hdr+5]); assert( contentOffset<=usableSize ); /* Enforced by btreeInitPage() */ memset(hit+contentOffset, 0, usableSize-contentOffset); memset(hit, 1, contentOffset); @@ -46153,12 +52219,12 @@ static int checkTreePage( cellStart = hdr + 12 - 4*pPage->leaf; for(i=0; i=usableSize ){ + if( (int)(pc+size-1)>=usableSize ){ checkAppendMsg(pCheck, 0, "Corruption detected in cell %d on page %d",i,iPage); }else{ @@ -46230,7 +52296,7 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( nRef = sqlite3PagerRefcount(pBt->pPager); sCheck.pBt = pBt; sCheck.pPager = pBt->pPager; - sCheck.nPage = pagerPagecount(sCheck.pBt); + sCheck.nPage = btreePagecount(sCheck.pBt); sCheck.mxErr = mxErr; sCheck.nErr = 0; sCheck.mallocFailed = 0; @@ -46251,6 +52317,7 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( sCheck.anRef[i] = 1; } sqlite3StrAccumInit(&sCheck.errMsg, zErr, sizeof(zErr), 20000); + sCheck.errMsg.useMalloc = 2; /* Check the integrity of the freelist */ @@ -46349,6 +52416,29 @@ SQLITE_PRIVATE int sqlite3BtreeIsInTrans(Btree *p){ return (p && (p->inTrans==TRANS_WRITE)); } +#ifndef SQLITE_OMIT_WAL +/* +** Run a checkpoint on the Btree passed as the first argument. +** +** Return SQLITE_LOCKED if this or any other connection has an open +** transaction on the shared-cache the argument Btree is connected to. +*/ +SQLITE_PRIVATE int sqlite3BtreeCheckpoint(Btree *p){ + int rc = SQLITE_OK; + if( p ){ + BtShared *pBt = p->pBt; + sqlite3BtreeEnter(p); + if( pBt->inTransaction!=TRANS_NONE ){ + rc = SQLITE_LOCKED; + }else{ + rc = sqlite3PagerCheckpoint(pBt->pPager); + } + sqlite3BtreeLeave(p); + } + return rc; +} +#endif + /* ** Return non-zero if a read (or write) transaction is active. */ @@ -46388,7 +52478,7 @@ SQLITE_PRIVATE void *sqlite3BtreeSchema(Btree *p, int nBytes, void(*xFree)(void BtShared *pBt = p->pBt; sqlite3BtreeEnter(p); if( !pBt->pSchema && nBytes ){ - pBt->pSchema = sqlite3MallocZero(nBytes); + pBt->pSchema = sqlite3DbMallocZero(0, nBytes); pBt->xFreeSchema = xFree; } sqlite3BtreeLeave(p); @@ -46499,6 +52589,42 @@ SQLITE_PRIVATE void sqlite3BtreeCacheOverflow(BtCursor *pCur){ } #endif +/* +** Set both the "read version" (single byte at byte offset 18) and +** "write version" (single byte at byte offset 19) fields in the database +** header to iVersion. +*/ +SQLITE_PRIVATE int sqlite3BtreeSetVersion(Btree *pBtree, int iVersion){ + BtShared *pBt = pBtree->pBt; + int rc; /* Return code */ + + assert( pBtree->inTrans==TRANS_NONE ); + assert( iVersion==1 || iVersion==2 ); + + /* If setting the version fields to 1, do not automatically open the + ** WAL connection, even if the version fields are currently set to 2. + */ + pBt->doNotUseWAL = (u8)(iVersion==1); + + rc = sqlite3BtreeBeginTrans(pBtree, 0); + if( rc==SQLITE_OK ){ + u8 *aData = pBt->pPage1->aData; + if( aData[18]!=(u8)iVersion || aData[19]!=(u8)iVersion ){ + rc = sqlite3BtreeBeginTrans(pBtree, 2); + if( rc==SQLITE_OK ){ + rc = sqlite3PagerWrite(pBt->pPage1->pDbPage); + if( rc==SQLITE_OK ){ + aData[18] = (u8)iVersion; + aData[19] = (u8)iVersion; + } + } + } + } + + pBt->doNotUseWAL = 0; + return rc; +} + /************** End of btree.c ***********************************************/ /************** Begin file backup.c ******************************************/ /* @@ -46718,9 +52844,18 @@ static int backupOnePage(sqlite3_backup *p, Pgno iSrcPg, const u8 *zSrcData){ /* Catch the case where the destination is an in-memory database and the ** page sizes of the source and destination differ. */ - if( nSrcPgsz!=nDestPgsz && sqlite3PagerIsMemdb(sqlite3BtreePager(p->pDest)) ){ + if( nSrcPgsz!=nDestPgsz && sqlite3PagerIsMemdb(pDestPager) ){ + rc = SQLITE_READONLY; + } + +#ifdef SQLITE_HAS_CODEC + /* Backup is not possible if the page size of the destination is changing + ** a a codec is in use. + */ + if( nSrcPgsz!=nDestPgsz && sqlite3PagerGetCodec(pDestPager)!=0 ){ rc = SQLITE_READONLY; } +#endif /* This loop runs once for each destination page spanned by the source ** page. For each iteration, variable iOff is set to the byte offset @@ -46788,6 +52923,9 @@ static void attachBackupObject(sqlite3_backup *p){ */ SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage){ int rc; + int destMode; /* Destination journal mode */ + int pgszSrc = 0; /* Source page size */ + int pgszDest = 0; /* Destination page size */ sqlite3_mutex_enter(p->pSrcDb->mutex); sqlite3BtreeEnter(p->pSrc); @@ -46828,13 +52966,21 @@ SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage){ rc = sqlite3BtreeBeginTrans(p->pSrc, 0); bCloseTrans = 1; } + + /* Do not allow backup if the destination database is in WAL mode + ** and the page sizes are different between source and destination */ + pgszSrc = sqlite3BtreeGetPageSize(p->pSrc); + pgszDest = sqlite3BtreeGetPageSize(p->pDest); + destMode = sqlite3PagerGetJournalMode(sqlite3BtreePager(p->pDest)); + if( SQLITE_OK==rc && destMode==PAGER_JOURNALMODE_WAL && pgszSrc!=pgszDest ){ + rc = SQLITE_READONLY; + } /* Now that there is a read-lock on the source database, query the ** source pager for the number of pages in the database. */ - if( rc==SQLITE_OK ){ - rc = sqlite3PagerPagecount(pSrcPager, &nSrcPage); - } + nSrcPage = (int)sqlite3BtreeLastPage(p->pSrc); + assert( nSrcPage>=0 ); for(ii=0; (nPage<0 || iiiNext<=(Pgno)nSrcPage && !rc; ii++){ const Pgno iSrcPg = p->iNext; /* Source page number */ if( iSrcPg!=PENDING_BYTE_PAGE(p->pSrc->pBt) ){ @@ -46865,8 +53011,6 @@ SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage){ if( rc==SQLITE_DONE && (rc = sqlite3BtreeUpdateMeta(p->pDest,1,p->iDestSchema+1))==SQLITE_OK ){ - const int nSrcPagesize = sqlite3BtreeGetPageSize(p->pSrc); - const int nDestPagesize = sqlite3BtreeGetPageSize(p->pDest); int nDestTruncate; if( p->pDestDb ){ @@ -46885,18 +53029,20 @@ SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage){ ** journalled by PagerCommitPhaseOne() before they are destroyed ** by the file truncation. */ - if( nSrcPagesizepSrc) ); + assert( pgszDest==sqlite3BtreeGetPageSize(p->pDest) ); + if( pgszSrcpDest->pBt) ){ nDestTruncate--; } }else{ - nDestTruncate = nSrcPage * (nSrcPagesize/nDestPagesize); + nDestTruncate = nSrcPage * (pgszSrc/pgszDest); } sqlite3PagerTruncateImage(pDestPager, nDestTruncate); - if( nSrcPagesize= iSize || ( + assert( (i64)nDestTruncate*(i64)pgszDest >= iSize || ( nDestTruncate==(int)(PENDING_BYTE_PAGE(p->pDest->pBt)-1) - && iSize>=PENDING_BYTE && iSize<=PENDING_BYTE+nDestPagesize + && iSize>=PENDING_BYTE && iSize<=PENDING_BYTE+pgszDest )); if( SQLITE_OK==(rc = sqlite3PagerCommitPhaseOne(pDestPager, 0, 1)) && SQLITE_OK==(rc = backupTruncateFile(pFile, iSize)) && SQLITE_OK==(rc = sqlite3PagerSync(pDestPager)) ){ i64 iOff; - i64 iEnd = MIN(PENDING_BYTE + nDestPagesize, iSize); + i64 iEnd = MIN(PENDING_BYTE + pgszDest, iSize); for( - iOff=PENDING_BYTE+nSrcPagesize; + iOff=PENDING_BYTE+pgszSrc; rc==SQLITE_OK && iOffrc = rc; } if( p->pDestDb ){ @@ -48145,9 +54294,16 @@ SQLITE_PRIVATE int sqlite3ValueFromExpr( return SQLITE_OK; } op = pExpr->op; - if( op==TK_REGISTER ){ - op = pExpr->op2; /* This only happens with SQLITE_ENABLE_STAT2 */ - } + + /* op can only be TK_REGISTER if we have compiled with SQLITE_ENABLE_STAT2. + ** The ifdef here is to enable us to achieve 100% branch test coverage even + ** when SQLITE_ENABLE_STAT2 is omitted. + */ +#ifdef SQLITE_ENABLE_STAT2 + if( op==TK_REGISTER ) op = pExpr->op2; +#else + if( NEVER(op==TK_REGISTER) ) op = pExpr->op2; +#endif if( op==TK_STRING || op==TK_FLOAT || op==TK_INTEGER ){ pVal = sqlite3ValueNew(db); @@ -48817,15 +54973,17 @@ static void freeEphemeralFunction(sqlite3 *db, FuncDef *pDef){ } } +static void vdbeFreeOpArray(sqlite3 *, Op *, int); + /* ** Delete a P4 value if necessary. */ static void freeP4(sqlite3 *db, int p4type, void *p4){ if( p4 ){ + assert( db ); switch( p4type ){ case P4_REAL: case P4_INT64: - case P4_MPRINTF: case P4_DYNAMIC: case P4_KEYINFO: case P4_INTARRAY: @@ -48833,10 +54991,14 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ sqlite3DbFree(db, p4); break; } + case P4_MPRINTF: { + if( db->pnBytesFreed==0 ) sqlite3_free(p4); + break; + } case P4_VDBEFUNC: { VdbeFunc *pVdbeFunc = (VdbeFunc *)p4; freeEphemeralFunction(db, pVdbeFunc->pFunc); - sqlite3VdbeDeleteAuxData(pVdbeFunc, 0); + if( db->pnBytesFreed==0 ) sqlite3VdbeDeleteAuxData(pVdbeFunc, 0); sqlite3DbFree(db, pVdbeFunc); break; } @@ -48845,15 +55007,17 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ break; } case P4_MEM: { - sqlite3ValueFree((sqlite3_value*)p4); + if( db->pnBytesFreed==0 ){ + sqlite3ValueFree((sqlite3_value*)p4); + }else{ + Mem *p = (Mem*)p4; + sqlite3DbFree(db, p->zMalloc); + sqlite3DbFree(db, p); + } break; } case P4_VTAB : { - sqlite3VtabUnlock((VTable *)p4); - break; - } - case P4_SUBPROGRAM : { - sqlite3VdbeProgramDelete(db, (SubProgram *)p4, 1); + if( db->pnBytesFreed==0 ) sqlite3VtabUnlock((VTable *)p4); break; } } @@ -48879,35 +55043,15 @@ static void vdbeFreeOpArray(sqlite3 *db, Op *aOp, int nOp){ } /* -** Decrement the ref-count on the SubProgram structure passed as the -** second argument. If the ref-count reaches zero, free the structure. -** -** The array of VDBE opcodes stored as SubProgram.aOp is freed if -** either the ref-count reaches zero or parameter freeop is non-zero. -** -** Since the array of opcodes pointed to by SubProgram.aOp may directly -** or indirectly contain a reference to the SubProgram structure itself. -** By passing a non-zero freeop parameter, the caller may ensure that all -** SubProgram structures and their aOp arrays are freed, even when there -** are such circular references. +** Link the SubProgram object passed as the second argument into the linked +** list at Vdbe.pSubProgram. This list is used to delete all sub-program +** objects when the VM is no longer required. */ -SQLITE_PRIVATE void sqlite3VdbeProgramDelete(sqlite3 *db, SubProgram *p, int freeop){ - if( p ){ - assert( p->nRef>0 ); - if( freeop || p->nRef==1 ){ - Op *aOp = p->aOp; - p->aOp = 0; - vdbeFreeOpArray(db, aOp, p->nOp); - p->nOp = 0; - } - p->nRef--; - if( p->nRef==0 ){ - sqlite3DbFree(db, p); - } - } +SQLITE_PRIVATE void sqlite3VdbeLinkSubProgram(Vdbe *pVdbe, SubProgram *p){ + p->pNext = pVdbe->pProgram; + pVdbe->pProgram = p; } - /* ** Change N opcodes starting at addr to No-ops. */ @@ -48983,11 +55127,11 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe *p, int addr, const char *zP4, int nField = ((KeyInfo*)zP4)->nField; nByte = sizeof(*pKeyInfo) + (nField-1)*sizeof(pKeyInfo->aColl[0]) + nField; - pKeyInfo = sqlite3Malloc( nByte ); + pKeyInfo = sqlite3DbMallocRaw(0, nByte); pOp->p4.pKeyInfo = pKeyInfo; if( pKeyInfo ){ u8 *aSortOrder; - memcpy(pKeyInfo, zP4, nByte); + memcpy((char*)pKeyInfo, zP4, nByte - nField); aSortOrder = pKeyInfo->aSortOrder; if( aSortOrder ){ pKeyInfo->aSortOrder = (unsigned char*)&pKeyInfo->aColl[nField]; @@ -49058,9 +55202,12 @@ SQLITE_PRIVATE void sqlite3VdbeNoopComment(Vdbe *p, const char *zFormat, ...){ ** ** If a memory allocation error has occurred prior to the calling of this ** routine, then a pointer to a dummy VdbeOp will be returned. That opcode -** is readable and writable, but it has no effect. The return of a dummy -** opcode allows the call to continue functioning after a OOM fault without -** having to check to see if the return from this routine is a valid pointer. +** is readable but not writable, though it is cast to a writable value. +** The return of a dummy opcode allows the call to continue functioning +** after a OOM fault without having to check to see if the return from +** this routine is a valid pointer. But because the dummy.opcode is 0, +** dummy will never be written to. This is verified by code inspection and +** by running with Valgrind. ** ** About the #ifdef SQLITE_OMIT_TRACE: Normally, this routine is never called ** unless p->nOp>0. This is because in the absense of SQLITE_OMIT_TRACE, @@ -49071,17 +55218,19 @@ SQLITE_PRIVATE void sqlite3VdbeNoopComment(Vdbe *p, const char *zFormat, ...){ ** check the value of p->nOp-1 before continuing. */ SQLITE_PRIVATE VdbeOp *sqlite3VdbeGetOp(Vdbe *p, int addr){ - static VdbeOp dummy; + /* C89 specifies that the constant "dummy" will be initialized to all + ** zeros, which is correct. MSVC generates a warning, nevertheless. */ + static const VdbeOp dummy; /* Ignore the MSVC warning about no initializer */ assert( p->magic==VDBE_MAGIC_INIT ); if( addr<0 ){ #ifdef SQLITE_OMIT_TRACE - if( p->nOp==0 ) return &dummy; + if( p->nOp==0 ) return (VdbeOp*)&dummy; #endif addr = p->nOp - 1; } assert( (addr>=0 && addrnOp) || p->db->mallocFailed ); if( p->db->mallocFailed ){ - return &dummy; + return (VdbeOp*)&dummy; }else{ return &p->aOp[addr]; } @@ -49194,6 +55343,11 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ /* ** Declare to the Vdbe that the BTree object at db->aDb[i] is used. +** +** The prepared statement has to know in advance which Btree objects +** will be used so that it can acquire mutexes on them all in sorted +** order (via sqlite3VdbeMutexArrayEnter(). Mutexes are acquired +** in order (and released in reverse order) to avoid deadlocks. */ SQLITE_PRIVATE void sqlite3VdbeUsesBtree(Vdbe *p, int i){ int mask; @@ -49237,6 +55391,12 @@ static void releaseMemArray(Mem *p, int N){ Mem *pEnd; sqlite3 *db = p->db; u8 malloc_failed = db->mallocFailed; + if( db->pnBytesFreed ){ + for(pEnd=&p[N]; pzMalloc); + } + return; + } for(pEnd=&p[N]; pcacheCtr = 1; p->minWriteFileFormat = 255; p->iStatement = 0; + p->nFkConstraint = 0; #ifdef VDBE_PROFILE { int i; @@ -49885,9 +56046,6 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ ** to the transaction. */ rc = sqlite3VtabSync(db, &p->zErrMsg); - if( rc!=SQLITE_OK ){ - return rc; - } /* This loop determines (a) if the commit hook should be invoked and ** (b) how many database files have open write transactions, not @@ -49895,13 +56053,17 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ ** one database file has an open write transaction, a master journal ** file is required for an atomic commit. */ - for(i=0; inDb; i++){ + for(i=0; rc==SQLITE_OK && inDb; i++){ Btree *pBt = db->aDb[i].pBt; if( sqlite3BtreeIsInTrans(pBt) ){ needXcommit = 1; if( i!=1 ) nTrans++; + rc = sqlite3PagerExclusiveLock(sqlite3BtreePager(pBt)); } } + if( rc!=SQLITE_OK ){ + return rc; + } /* If there are any write-transactions at all, invoke the commit hook */ if( needXcommit && db->xCommitCallback ){ @@ -50040,6 +56202,7 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ } } sqlite3OsCloseFree(pMaster); + assert( rc!=SQLITE_BUSY ); if( rc!=SQLITE_OK ){ sqlite3DbFree(db, zMaster); return rc; @@ -50298,8 +56461,17 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ isSpecialError = mrc==SQLITE_NOMEM || mrc==SQLITE_IOERR || mrc==SQLITE_INTERRUPT || mrc==SQLITE_FULL; if( isSpecialError ){ - /* If the query was read-only, we need do no rollback at all. Otherwise, - ** proceed with the special handling. + /* If the query was read-only and the error code is SQLITE_INTERRUPT, + ** no rollback is necessary. Otherwise, at least a savepoint + ** transaction must be rolled back to restore the database to a + ** consistent state. + ** + ** Even if the statement is read-only, it is important to perform + ** a statement or transaction rollback operation. If the error + ** occured while writing to the journal, sub-journal or database + ** file as part of an effort to free up cache space (see function + ** pagerStress() in pager.c), the rollback is required to restore + ** the pager to a consistent state. */ if( !p->readOnly || mrc!=SQLITE_INTERRUPT ){ if( (mrc==SQLITE_NOMEM || mrc==SQLITE_FULL) && p->usesStmtJournal ){ @@ -50381,10 +56553,17 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ */ if( eStatementOp ){ rc = sqlite3VdbeCloseStatement(p, eStatementOp); - if( rc && (NEVER(p->rc==SQLITE_OK) || p->rc==SQLITE_CONSTRAINT) ){ - p->rc = rc; - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = 0; + if( rc ){ + assert( eStatementOp==SAVEPOINT_ROLLBACK ); + if( NEVER(p->rc==SQLITE_OK) || p->rc==SQLITE_CONSTRAINT ){ + p->rc = rc; + sqlite3DbFree(db, p->zErrMsg); + p->zErrMsg = 0; + } + invalidateCursorsOnModifiedBtrees(db); + sqlite3RollbackAll(db); + sqlite3CloseSavepoints(db); + db->autoCommit = 1; } } @@ -50562,6 +56741,30 @@ SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(VdbeFunc *pVdbeFunc, int mask){ } /* +** Free all memory associated with the Vdbe passed as the second argument. +** The difference between this function and sqlite3VdbeDelete() is that +** VdbeDelete() also unlinks the Vdbe from the list of VMs associated with +** the database connection. +*/ +SQLITE_PRIVATE void sqlite3VdbeDeleteObject(sqlite3 *db, Vdbe *p){ + SubProgram *pSub, *pNext; + assert( p->db==0 || p->db==db ); + releaseMemArray(p->aVar, p->nVar); + releaseMemArray(p->aColName, p->nResColumn*COLNAME_N); + for(pSub=p->pProgram; pSub; pSub=pNext){ + pNext = pSub->pNext; + vdbeFreeOpArray(db, pSub->aOp, pSub->nOp); + sqlite3DbFree(db, pSub); + } + vdbeFreeOpArray(db, p->aOp, p->nOp); + sqlite3DbFree(db, p->aLabel); + sqlite3DbFree(db, p->aColName); + sqlite3DbFree(db, p->zSql); + sqlite3DbFree(db, p->pFree); + sqlite3DbFree(db, p); +} + +/* ** Delete an entire VDBE. */ SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe *p){ @@ -50578,16 +56781,9 @@ SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe *p){ if( p->pNext ){ p->pNext->pPrev = p->pPrev; } - releaseMemArray(p->aVar, p->nVar); - releaseMemArray(p->aColName, p->nResColumn*COLNAME_N); - vdbeFreeOpArray(db, p->aOp, p->nOp); - sqlite3DbFree(db, p->aLabel); - sqlite3DbFree(db, p->aColName); - sqlite3DbFree(db, p->zSql); p->magic = VDBE_MAGIC_DEAD; - sqlite3DbFree(db, p->pFree); p->db = 0; - sqlite3DbFree(db, p); + sqlite3VdbeDeleteObject(db, p); } /* @@ -50613,11 +56809,8 @@ SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor *p){ rc = sqlite3BtreeMovetoUnpacked(p->pCursor, 0, p->movetoTarget, 0, &res); if( rc ) return rc; p->lastRowid = p->movetoTarget; - p->rowidIsValid = ALWAYS(res==0) ?1:0; - if( NEVER(res<0) ){ - rc = sqlite3BtreeNext(p->pCursor, &res); - if( rc ) return rc; - } + if( res!=0 ) return SQLITE_CORRUPT_BKPT; + p->rowidIsValid = 1; #ifdef SQLITE_TEST sqlite3_search_count++; #endif @@ -51670,6 +57863,27 @@ SQLITE_API void sqlite3_result_error_nomem(sqlite3_context *pCtx){ } /* +** This function is called after a transaction has been committed. It +** invokes callbacks registered with sqlite3_wal_hook() as required. +*/ +static int doWalCallbacks(sqlite3 *db){ + int rc = SQLITE_OK; +#ifndef SQLITE_OMIT_WAL + int i; + for(i=0; inDb; i++){ + Btree *pBt = db->aDb[i].pBt; + if( pBt ){ + int nEntry = sqlite3PagerWalCallback(sqlite3BtreePager(pBt)); + if( db->xWalCallback && nEntry>0 && rc==SQLITE_OK ){ + rc = db->xWalCallback(db->pWalArg, db, db->aDb[i].zName, nEntry); + } + } + } +#endif + return rc; +} + +/* ** Execute the statement pStmt, either until a row of data is ready, the ** statement is completely executed or an error occurs. ** @@ -51684,9 +57898,12 @@ static int sqlite3Step(Vdbe *p){ assert(p); if( p->magic!=VDBE_MAGIC_RUN ){ - sqlite3_log(SQLITE_MISUSE, - "attempt to step a halted statement: [%s]", p->zSql); - return SQLITE_MISUSE_BKPT; + /* We used to require that sqlite3_reset() be called before retrying + ** sqlite3_step() after any error. But after 3.6.23, we changed this + ** so that sqlite3_reset() would be called automatically instead of + ** throwing the error. + */ + sqlite3_reset((sqlite3_stmt*)p); } /* Check that malloc() has not failed. If it has, return early. */ @@ -51714,9 +57931,7 @@ static int sqlite3Step(Vdbe *p){ #ifndef SQLITE_OMIT_TRACE if( db->xProfile && !db->init.busy ){ - double rNow; - sqlite3OsCurrentTime(db->pVfs, &rNow); - p->startTime = (u64)((rNow - (int)rNow)*3600.0*24.0*1000000000.0); + sqlite3OsCurrentTimeInt64(db->pVfs, &p->startTime); } #endif @@ -51737,16 +57952,20 @@ static int sqlite3Step(Vdbe *p){ /* Invoke the profile callback if there is one */ if( rc!=SQLITE_ROW && db->xProfile && !db->init.busy && p->zSql ){ - double rNow; - u64 elapseTime; - - sqlite3OsCurrentTime(db->pVfs, &rNow); - elapseTime = (u64)((rNow - (int)rNow)*3600.0*24.0*1000000000.0); - elapseTime -= p->startTime; - db->xProfile(db->pProfileArg, p->zSql, elapseTime); + sqlite3_int64 iNow; + sqlite3OsCurrentTimeInt64(db->pVfs, &iNow); + db->xProfile(db->pProfileArg, p->zSql, (iNow - p->startTime)*1000000); } #endif + if( rc==SQLITE_DONE ){ + assert( p->rc==SQLITE_OK ); + p->rc = doWalCallbacks(db); + if( p->rc!=SQLITE_OK ){ + rc = SQLITE_ERROR; + } + } + db->errCode = rc; if( SQLITE_NOMEM==sqlite3ApiExit(p->db, p->rc) ){ p->rc = SQLITE_NOMEM; @@ -53330,22 +59549,6 @@ SQLITE_PRIVATE sqlite_uint64 sqlite3Hwtime(void){ return ((sqlite_uint64)0); } #define CHECK_FOR_INTERRUPT \ if( db->u1.isInterrupted ) goto abort_due_to_interrupt; -#ifdef SQLITE_DEBUG -static int fileExists(sqlite3 *db, const char *zFile){ - int res = 0; - int rc = SQLITE_OK; -#ifdef SQLITE_TEST - /* If we are currently testing IO errors, then do not call OsAccess() to - ** test for the presence of zFile. This is because any IO error that - ** occurs here will not be reported, causing the test to fail. - */ - extern int sqlite3_io_error_pending; - if( sqlite3_io_error_pending<=0 ) -#endif - rc = sqlite3OsAccess(db->pVfs, zFile, SQLITE_ACCESS_EXISTS, &res); - return (res && rc==SQLITE_OK); -} -#endif #ifndef NDEBUG /* @@ -53368,6 +59571,20 @@ static int checkSavepointCount(sqlite3 *db){ #endif /* +** Transfer error message text from an sqlite3_vtab.zErrMsg (text stored +** in memory obtained from sqlite3_malloc) into a Vdbe.zErrMsg (text stored +** in memory obtained from sqlite3DbMalloc). +*/ +static void importVtabErrMsg(Vdbe *p, sqlite3_vtab *pVtab){ + sqlite3 *db = p->db; + sqlite3DbFree(db, p->zErrMsg); + p->zErrMsg = sqlite3DbStrDup(db, pVtab->zErrMsg); + sqlite3_free(pVtab->zErrMsg); + pVtab->zErrMsg = 0; +} + + +/* ** Execute as much of a VDBE program as we can then return. ** ** sqlite3VdbeMakeReady() must be called before this routine in order to @@ -53436,9 +59653,6 @@ SQLITE_PRIVATE int sqlite3VdbeExec( int pcDest; } aa; struct OP_Variable_stack_vars { - int p1; /* Variable to copy from */ - int p2; /* Register to copy to */ - int n; /* Number of values left to copy */ Mem *pVar; /* Value being transferred */ } ab; struct OP_Move_stack_vars { @@ -53763,18 +59977,25 @@ SQLITE_PRIVATE int sqlite3VdbeExec( struct OP_AggFinal_stack_vars { Mem *pMem; } cc; + struct OP_JournalMode_stack_vars { + Btree *pBt; /* Btree to change journal mode of */ + Pager *pPager; /* Pager associated with pBt */ + int eNew; /* New journal mode */ + int eOld; /* The old journal mode */ + const char *zFilename; /* Name of database file for pPager */ + } cd; struct OP_IncrVacuum_stack_vars { Btree *pBt; - } cd; + } ce; struct OP_VBegin_stack_vars { VTable *pVTab; - } ce; + } cf; struct OP_VOpen_stack_vars { VdbeCursor *pCur; sqlite3_vtab_cursor *pVtabCursor; sqlite3_vtab *pVtab; sqlite3_module *pModule; - } cf; + } cg; struct OP_VFilter_stack_vars { int nArg; int iQuery; @@ -53787,23 +60008,23 @@ SQLITE_PRIVATE int sqlite3VdbeExec( int res; int i; Mem **apArg; - } cg; + } ch; struct OP_VColumn_stack_vars { sqlite3_vtab *pVtab; const sqlite3_module *pModule; Mem *pDest; sqlite3_context sContext; - } ch; + } ci; struct OP_VNext_stack_vars { sqlite3_vtab *pVtab; const sqlite3_module *pModule; int res; VdbeCursor *pCur; - } ci; + } cj; struct OP_VRename_stack_vars { sqlite3_vtab *pVtab; Mem *pName; - } cj; + } ck; struct OP_VUpdate_stack_vars { sqlite3_vtab *pVtab; sqlite3_module *pModule; @@ -53812,11 +60033,6 @@ SQLITE_PRIVATE int sqlite3VdbeExec( sqlite_int64 rowid; Mem **apArg; Mem *pX; - } ck; - struct OP_Pagecount_stack_vars { - int p1; - int nPage; - Pager *pPager; } cl; struct OP_Trace_stack_vars { char *zTrace; @@ -53844,9 +60060,7 @@ SQLITE_PRIVATE int sqlite3VdbeExec( #endif #ifdef SQLITE_DEBUG sqlite3BeginBenignMalloc(); - if( p->pc==0 - && ((p->db->flags & SQLITE_VdbeListing) || fileExists(db, "vdbe_explain")) - ){ + if( p->pc==0 && (p->db->flags & SQLITE_VdbeListing)!=0 ){ int i; printf("VDBE Program Listing:\n"); sqlite3VdbePrintSql(p); @@ -53854,9 +60068,6 @@ SQLITE_PRIVATE int sqlite3VdbeExec( sqlite3VdbePrintOp(stdout, i, &aOp[i]); } } - if( fileExists(db, "vdbe_trace") ){ - p->trace = stdout; - } sqlite3EndBenignMalloc(); #endif for(pc=p->pc; rc==SQLITE_OK; pc++){ @@ -53878,13 +60089,6 @@ SQLITE_PRIVATE int sqlite3VdbeExec( } sqlite3VdbePrintOp(p->trace, pc, pOp); } - if( p->trace==0 && pc==0 ){ - sqlite3BeginBenignMalloc(); - if( fileExists(db, "vdbe_sqltrace") ){ - sqlite3VdbePrintSql(p); - } - sqlite3EndBenignMalloc(); - } #endif @@ -54241,40 +60445,25 @@ case OP_Blob: { /* out2-prerelease */ break; } -/* Opcode: Variable P1 P2 P3 P4 * +/* Opcode: Variable P1 P2 * P4 * ** -** Transfer the values of bound parameters P1..P1+P3-1 into registers -** P2..P2+P3-1. +** Transfer the values of bound parameter P1 into register P2 ** ** If the parameter is named, then its name appears in P4 and P3==1. ** The P4 value is used by sqlite3_bind_parameter_name(). */ -case OP_Variable: { +case OP_Variable: { /* out2-prerelease */ #if 0 /* local variables moved into u.ab */ - int p1; /* Variable to copy from */ - int p2; /* Register to copy to */ - int n; /* Number of values left to copy */ Mem *pVar; /* Value being transferred */ #endif /* local variables moved into u.ab */ - u.ab.p1 = pOp->p1 - 1; - u.ab.p2 = pOp->p2; - u.ab.n = pOp->p3; - assert( u.ab.p1>=0 && u.ab.p1+u.ab.n<=p->nVar ); - assert( u.ab.p2>=1 && u.ab.p2+u.ab.n-1<=p->nMem ); - assert( pOp->p4.z==0 || pOp->p3==1 || pOp->p3==0 ); - - while( u.ab.n-- > 0 ){ - u.ab.pVar = &p->aVar[u.ab.p1++]; - if( sqlite3VdbeMemTooBig(u.ab.pVar) ){ - goto too_big; - } - pOut = &aMem[u.ab.p2++]; - sqlite3VdbeMemReleaseExternal(pOut); - pOut->flags = MEM_Null; - sqlite3VdbeMemShallowCopy(pOut, u.ab.pVar, MEM_Static); - UPDATE_MAX_BLOBSIZE(pOut); + assert( pOp->p1>0 && pOp->p1<=p->nVar ); + u.ab.pVar = &p->aVar[pOp->p1 - 1]; + if( sqlite3VdbeMemTooBig(u.ab.pVar) ){ + goto too_big; } + sqlite3VdbeMemShallowCopy(pOut, u.ab.pVar, MEM_Static); + UPDATE_MAX_BLOBSIZE(pOut); break; } @@ -54647,7 +60836,7 @@ case OP_Function: { for(u.ag.i=0; u.ag.ip2, u.ag.pArg); + REGISTER_TRACE(pOp->p2+u.ag.i, u.ag.pArg); } assert( pOp->p4type==P4_FUNCDEF || pOp->p4type==P4_VDBEFUNC ); @@ -56364,10 +62553,10 @@ case OP_OpenWrite: { ** ** Open a new cursor P1 to a transient table. ** The cursor is always opened read/write even if -** the main database is read-only. The transient or virtual +** the main database is read-only. The ephemeral ** table is deleted automatically when the cursor is closed. ** -** P2 is the number of columns in the virtual table. +** P2 is the number of columns in the ephemeral table. ** The cursor points to a BTree table if P4==0 and to a BTree index ** if P4 is not 0. If P4 is not NULL, it points to a KeyInfo structure ** that defines the format of keys in the index. @@ -56378,6 +62567,14 @@ case OP_OpenWrite: { ** this opcode. Then this opcode was call OpenVirtual. But ** that created confusion with the whole virtual-table idea. */ +/* Opcode: OpenAutoindex P1 P2 * P4 * +** +** This opcode works the same as OP_OpenEphemeral. It has a +** different name to distinguish its use. Tables created using +** by this opcode will be used for automatically created transient +** indices in joins. +*/ +case OP_OpenAutoindex: case OP_OpenEphemeral: { #if 0 /* local variables moved into u.ax */ VdbeCursor *pCx; @@ -57385,9 +63582,7 @@ case OP_Rowid: { /* out2-prerelease */ u.bi.pModule = u.bi.pVtab->pModule; assert( u.bi.pModule->xRowid ); rc = u.bi.pModule->xRowid(u.bi.pC->pVtabCursor, &u.bi.v); - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.bi.pVtab->zErrMsg; - u.bi.pVtab->zErrMsg = 0; + importVtabErrMsg(p, u.bi.pVtab); #endif /* SQLITE_OMIT_VIRTUALTABLE */ }else{ assert( u.bi.pC->pCursor!=0 ); @@ -57499,14 +63694,13 @@ case OP_Rewind: { /* jump */ assert( pOp->p1>=0 && pOp->p1nCursor ); u.bl.pC = p->apCsr[pOp->p1]; assert( u.bl.pC!=0 ); + u.bl.res = 1; if( (u.bl.pCrsr = u.bl.pC->pCursor)!=0 ){ rc = sqlite3BtreeFirst(u.bl.pCrsr, &u.bl.res); u.bl.pC->atFirst = u.bl.res==0 ?1:0; u.bl.pC->deferredMoveto = 0; u.bl.pC->cacheStatus = CACHE_STALE; u.bl.pC->rowidIsValid = 0; - }else{ - u.bl.res = 1; } u.bl.pC->nullRow = (u8)u.bl.res; assert( pOp->p2>0 && pOp->p2nOp ); @@ -57516,7 +63710,7 @@ case OP_Rewind: { /* jump */ break; } -/* Opcode: Next P1 P2 * * * +/* Opcode: Next P1 P2 * * P5 ** ** Advance cursor P1 so that it points to the next key/data pair in its ** table or index. If there are no more key/value pairs then fall through @@ -57525,9 +63719,12 @@ case OP_Rewind: { /* jump */ ** ** The P1 cursor must be for a real table, not a pseudo-table. ** +** If P5 is positive and the jump is taken, then event counter +** number P5-1 in the prepared statement is incremented. +** ** See also: Prev */ -/* Opcode: Prev P1 P2 * * * +/* Opcode: Prev P1 P2 * * P5 ** ** Back up cursor P1 so that it points to the previous key/data pair in its ** table or index. If there is no previous key/value pairs then fall through @@ -57535,6 +63732,9 @@ case OP_Rewind: { /* jump */ ** jump immediately to P2. ** ** The P1 cursor must be for a real table, not a pseudo-table. +** +** If P5 is positive and the jump is taken, then event counter +** number P5-1 in the prepared statement is incremented. */ case OP_Prev: /* jump */ case OP_Next: { /* jump */ @@ -57546,6 +63746,7 @@ case OP_Next: { /* jump */ CHECK_FOR_INTERRUPT; assert( pOp->p1>=0 && pOp->p1nCursor ); + assert( pOp->p5<=ArraySize(p->aCounter) ); u.bm.pC = p->apCsr[pOp->p1]; if( u.bm.pC==0 ){ break; /* See ticket #2273 */ @@ -57700,7 +63901,7 @@ case OP_IdxRowid: { /* out2-prerelease */ ** that if the key from register P3 is a prefix of the key in the cursor, ** the result is false whereas it would be true with IdxGT. */ -/* Opcode: IdxLT P1 P2 P3 * P5 +/* Opcode: IdxLT P1 P2 P3 P4 P5 ** ** The P4 register values beginning with P3 form an unpacked index ** key that omits the ROWID. Compare this key value against the index @@ -58531,6 +64732,141 @@ case OP_AggFinal: { break; } +#ifndef SQLITE_OMIT_WAL +/* Opcode: Checkpoint P1 * * * * +** +** Checkpoint database P1. This is a no-op if P1 is not currently in +** WAL mode. +*/ +case OP_Checkpoint: { + rc = sqlite3Checkpoint(db, pOp->p1); + break; +}; +#endif + +#ifndef SQLITE_OMIT_PRAGMA +/* Opcode: JournalMode P1 P2 P3 * P5 +** +** Change the journal mode of database P1 to P3. P3 must be one of the +** PAGER_JOURNALMODE_XXX values. If changing between the various rollback +** modes (delete, truncate, persist, off and memory), this is a simple +** operation. No IO is required. +** +** If changing into or out of WAL mode the procedure is more complicated. +** +** Write a string containing the final journal-mode to register P2. +*/ +case OP_JournalMode: { /* out2-prerelease */ +#if 0 /* local variables moved into u.cd */ + Btree *pBt; /* Btree to change journal mode of */ + Pager *pPager; /* Pager associated with pBt */ + int eNew; /* New journal mode */ + int eOld; /* The old journal mode */ + const char *zFilename; /* Name of database file for pPager */ +#endif /* local variables moved into u.cd */ + + u.cd.eNew = pOp->p3; + assert( u.cd.eNew==PAGER_JOURNALMODE_DELETE + || u.cd.eNew==PAGER_JOURNALMODE_TRUNCATE + || u.cd.eNew==PAGER_JOURNALMODE_PERSIST + || u.cd.eNew==PAGER_JOURNALMODE_OFF + || u.cd.eNew==PAGER_JOURNALMODE_MEMORY + || u.cd.eNew==PAGER_JOURNALMODE_WAL + || u.cd.eNew==PAGER_JOURNALMODE_QUERY + ); + assert( pOp->p1>=0 && pOp->p1nDb ); + + /* This opcode is used in two places: PRAGMA journal_mode and ATTACH. + ** In PRAGMA journal_mode, the sqlite3VdbeUsesBtree() routine is called + ** when the statment is prepared and so p->aMutex.nMutex>0. All mutexes + ** are already acquired. But when used in ATTACH, sqlite3VdbeUsesBtree() + ** is not called when the statement is prepared because it requires the + ** iDb index of the database as a parameter, and the database has not + ** yet been attached so that index is unavailable. We have to wait + ** until runtime (now) to get the mutex on the newly attached database. + ** No other mutexes are required by the ATTACH command so this is safe + ** to do. + */ + assert( (p->btreeMask & (1<p1))!=0 || p->aMutex.nMutex==0 ); + if( p->aMutex.nMutex==0 ){ + /* This occurs right after ATTACH. Get a mutex on the newly ATTACHed + ** database. */ + sqlite3VdbeUsesBtree(p, pOp->p1); + sqlite3VdbeMutexArrayEnter(p); + } + + u.cd.pBt = db->aDb[pOp->p1].pBt; + u.cd.pPager = sqlite3BtreePager(u.cd.pBt); + u.cd.eOld = sqlite3PagerGetJournalMode(u.cd.pPager); + if( u.cd.eNew==PAGER_JOURNALMODE_QUERY ) u.cd.eNew = u.cd.eOld; + if( !sqlite3PagerOkToChangeJournalMode(u.cd.pPager) ) u.cd.eNew = u.cd.eOld; + +#ifndef SQLITE_OMIT_WAL + u.cd.zFilename = sqlite3PagerFilename(u.cd.pPager); + + /* Do not allow a transition to journal_mode=WAL for a database + ** in temporary storage or if the VFS does not support shared memory + */ + if( u.cd.eNew==PAGER_JOURNALMODE_WAL + && (u.cd.zFilename[0]==0 /* Temp file */ + || !sqlite3PagerWalSupported(u.cd.pPager)) /* No shared-memory support */ + ){ + u.cd.eNew = u.cd.eOld; + } + + if( (u.cd.eNew!=u.cd.eOld) + && (u.cd.eOld==PAGER_JOURNALMODE_WAL || u.cd.eNew==PAGER_JOURNALMODE_WAL) + ){ + if( !db->autoCommit || db->activeVdbeCnt>1 ){ + rc = SQLITE_ERROR; + sqlite3SetString(&p->zErrMsg, db, + "cannot change %s wal mode from within a transaction", + (u.cd.eNew==PAGER_JOURNALMODE_WAL ? "into" : "out of") + ); + break; + }else{ + + if( u.cd.eOld==PAGER_JOURNALMODE_WAL ){ + /* If leaving WAL mode, close the log file. If successful, the call + ** to PagerCloseWal() checkpoints and deletes the write-ahead-log + ** file. An EXCLUSIVE lock may still be held on the database file + ** after a successful return. + */ + rc = sqlite3PagerCloseWal(u.cd.pPager); + if( rc==SQLITE_OK ){ + sqlite3PagerSetJournalMode(u.cd.pPager, u.cd.eNew); + } + }else if( u.cd.eOld==PAGER_JOURNALMODE_MEMORY ){ + /* Cannot transition directly from MEMORY to WAL. Use mode OFF + ** as an intermediate */ + sqlite3PagerSetJournalMode(u.cd.pPager, PAGER_JOURNALMODE_OFF); + } + + /* Open a transaction on the database file. Regardless of the journal + ** mode, this transaction always uses a rollback journal. + */ + assert( sqlite3BtreeIsInTrans(u.cd.pBt)==0 ); + if( rc==SQLITE_OK ){ + rc = sqlite3BtreeSetVersion(u.cd.pBt, (u.cd.eNew==PAGER_JOURNALMODE_WAL ? 2 : 1)); + } + } + } +#endif /* ifndef SQLITE_OMIT_WAL */ + + if( rc ){ + u.cd.eNew = u.cd.eOld; + } + u.cd.eNew = sqlite3PagerSetJournalMode(u.cd.pPager, u.cd.eNew); + + pOut = &aMem[pOp->p2]; + pOut->flags = MEM_Str|MEM_Static|MEM_Term; + pOut->z = (char *)sqlite3JournalModename(u.cd.eNew); + pOut->n = sqlite3Strlen30(pOut->z); + pOut->enc = SQLITE_UTF8; + sqlite3VdbeChangeEncoding(pOut, encoding); + break; +}; +#endif /* SQLITE_OMIT_PRAGMA */ #if !defined(SQLITE_OMIT_VACUUM) && !defined(SQLITE_OMIT_ATTACH) /* Opcode: Vacuum * * * * * @@ -58553,14 +64889,14 @@ case OP_Vacuum: { ** P2. Otherwise, fall through to the next instruction. */ case OP_IncrVacuum: { /* jump */ -#if 0 /* local variables moved into u.cd */ +#if 0 /* local variables moved into u.ce */ Btree *pBt; -#endif /* local variables moved into u.cd */ +#endif /* local variables moved into u.ce */ assert( pOp->p1>=0 && pOp->p1nDb ); assert( (p->btreeMask & (1<p1))!=0 ); - u.cd.pBt = db->aDb[pOp->p1].pBt; - rc = sqlite3BtreeIncrVacuum(u.cd.pBt); + u.ce.pBt = db->aDb[pOp->p1].pBt; + rc = sqlite3BtreeIncrVacuum(u.ce.pBt); if( rc==SQLITE_DONE ){ pc = pOp->p2 - 1; rc = SQLITE_OK; @@ -58630,16 +64966,12 @@ case OP_TableLock: { ** code will be set to SQLITE_LOCKED. */ case OP_VBegin: { -#if 0 /* local variables moved into u.ce */ +#if 0 /* local variables moved into u.cf */ VTable *pVTab; -#endif /* local variables moved into u.ce */ - u.ce.pVTab = pOp->p4.pVtab; - rc = sqlite3VtabBegin(db, u.ce.pVTab); - if( u.ce.pVTab ){ - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.ce.pVTab->pVtab->zErrMsg; - u.ce.pVTab->pVtab->zErrMsg = 0; - } +#endif /* local variables moved into u.cf */ + u.cf.pVTab = pOp->p4.pVtab; + rc = sqlite3VtabBegin(db, u.cf.pVTab); + if( u.cf.pVTab ) importVtabErrMsg(p, u.cf.pVTab->pVtab); break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -58678,34 +65010,32 @@ case OP_VDestroy: { ** table and stores that cursor in P1. */ case OP_VOpen: { -#if 0 /* local variables moved into u.cf */ +#if 0 /* local variables moved into u.cg */ VdbeCursor *pCur; sqlite3_vtab_cursor *pVtabCursor; sqlite3_vtab *pVtab; sqlite3_module *pModule; -#endif /* local variables moved into u.cf */ +#endif /* local variables moved into u.cg */ - u.cf.pCur = 0; - u.cf.pVtabCursor = 0; - u.cf.pVtab = pOp->p4.pVtab->pVtab; - u.cf.pModule = (sqlite3_module *)u.cf.pVtab->pModule; - assert(u.cf.pVtab && u.cf.pModule); - rc = u.cf.pModule->xOpen(u.cf.pVtab, &u.cf.pVtabCursor); - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.cf.pVtab->zErrMsg; - u.cf.pVtab->zErrMsg = 0; + u.cg.pCur = 0; + u.cg.pVtabCursor = 0; + u.cg.pVtab = pOp->p4.pVtab->pVtab; + u.cg.pModule = (sqlite3_module *)u.cg.pVtab->pModule; + assert(u.cg.pVtab && u.cg.pModule); + rc = u.cg.pModule->xOpen(u.cg.pVtab, &u.cg.pVtabCursor); + importVtabErrMsg(p, u.cg.pVtab); if( SQLITE_OK==rc ){ /* Initialize sqlite3_vtab_cursor base class */ - u.cf.pVtabCursor->pVtab = u.cf.pVtab; + u.cg.pVtabCursor->pVtab = u.cg.pVtab; /* Initialise vdbe cursor object */ - u.cf.pCur = allocateCursor(p, pOp->p1, 0, -1, 0); - if( u.cf.pCur ){ - u.cf.pCur->pVtabCursor = u.cf.pVtabCursor; - u.cf.pCur->pModule = u.cf.pVtabCursor->pVtab->pModule; + u.cg.pCur = allocateCursor(p, pOp->p1, 0, -1, 0); + if( u.cg.pCur ){ + u.cg.pCur->pVtabCursor = u.cg.pVtabCursor; + u.cg.pCur->pModule = u.cg.pVtabCursor->pVtab->pModule; }else{ db->mallocFailed = 1; - u.cf.pModule->xClose(u.cf.pVtabCursor); + u.cg.pModule->xClose(u.cg.pVtabCursor); } } break; @@ -58732,7 +65062,7 @@ case OP_VOpen: { ** A jump is made to P2 if the result set after filtering would be empty. */ case OP_VFilter: { /* jump */ -#if 0 /* local variables moved into u.cg */ +#if 0 /* local variables moved into u.ch */ int nArg; int iQuery; const sqlite3_module *pModule; @@ -58744,46 +65074,44 @@ case OP_VFilter: { /* jump */ int res; int i; Mem **apArg; -#endif /* local variables moved into u.cg */ +#endif /* local variables moved into u.ch */ - u.cg.pQuery = &aMem[pOp->p3]; - u.cg.pArgc = &u.cg.pQuery[1]; - u.cg.pCur = p->apCsr[pOp->p1]; - REGISTER_TRACE(pOp->p3, u.cg.pQuery); - assert( u.cg.pCur->pVtabCursor ); - u.cg.pVtabCursor = u.cg.pCur->pVtabCursor; - u.cg.pVtab = u.cg.pVtabCursor->pVtab; - u.cg.pModule = u.cg.pVtab->pModule; + u.ch.pQuery = &aMem[pOp->p3]; + u.ch.pArgc = &u.ch.pQuery[1]; + u.ch.pCur = p->apCsr[pOp->p1]; + REGISTER_TRACE(pOp->p3, u.ch.pQuery); + assert( u.ch.pCur->pVtabCursor ); + u.ch.pVtabCursor = u.ch.pCur->pVtabCursor; + u.ch.pVtab = u.ch.pVtabCursor->pVtab; + u.ch.pModule = u.ch.pVtab->pModule; /* Grab the index number and argc parameters */ - assert( (u.cg.pQuery->flags&MEM_Int)!=0 && u.cg.pArgc->flags==MEM_Int ); - u.cg.nArg = (int)u.cg.pArgc->u.i; - u.cg.iQuery = (int)u.cg.pQuery->u.i; + assert( (u.ch.pQuery->flags&MEM_Int)!=0 && u.ch.pArgc->flags==MEM_Int ); + u.ch.nArg = (int)u.ch.pArgc->u.i; + u.ch.iQuery = (int)u.ch.pQuery->u.i; /* Invoke the xFilter method */ { - u.cg.res = 0; - u.cg.apArg = p->apArg; - for(u.cg.i = 0; u.cg.iapArg; + for(u.ch.i = 0; u.ch.iinVtabMethod = 1; - rc = u.cg.pModule->xFilter(u.cg.pVtabCursor, u.cg.iQuery, pOp->p4.z, u.cg.nArg, u.cg.apArg); + rc = u.ch.pModule->xFilter(u.ch.pVtabCursor, u.ch.iQuery, pOp->p4.z, u.ch.nArg, u.ch.apArg); p->inVtabMethod = 0; - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.cg.pVtab->zErrMsg; - u.cg.pVtab->zErrMsg = 0; + importVtabErrMsg(p, u.ch.pVtab); if( rc==SQLITE_OK ){ - u.cg.res = u.cg.pModule->xEof(u.cg.pVtabCursor); + u.ch.res = u.ch.pModule->xEof(u.ch.pVtabCursor); } - if( u.cg.res ){ + if( u.ch.res ){ pc = pOp->p2 - 1; } } - u.cg.pCur->nullRow = 0; + u.ch.pCur->nullRow = 0; break; } @@ -58797,52 +65125,50 @@ case OP_VFilter: { /* jump */ ** P1 cursor is pointing to into register P3. */ case OP_VColumn: { -#if 0 /* local variables moved into u.ch */ +#if 0 /* local variables moved into u.ci */ sqlite3_vtab *pVtab; const sqlite3_module *pModule; Mem *pDest; sqlite3_context sContext; -#endif /* local variables moved into u.ch */ +#endif /* local variables moved into u.ci */ VdbeCursor *pCur = p->apCsr[pOp->p1]; assert( pCur->pVtabCursor ); assert( pOp->p3>0 && pOp->p3<=p->nMem ); - u.ch.pDest = &aMem[pOp->p3]; + u.ci.pDest = &aMem[pOp->p3]; if( pCur->nullRow ){ - sqlite3VdbeMemSetNull(u.ch.pDest); + sqlite3VdbeMemSetNull(u.ci.pDest); break; } - u.ch.pVtab = pCur->pVtabCursor->pVtab; - u.ch.pModule = u.ch.pVtab->pModule; - assert( u.ch.pModule->xColumn ); - memset(&u.ch.sContext, 0, sizeof(u.ch.sContext)); + u.ci.pVtab = pCur->pVtabCursor->pVtab; + u.ci.pModule = u.ci.pVtab->pModule; + assert( u.ci.pModule->xColumn ); + memset(&u.ci.sContext, 0, sizeof(u.ci.sContext)); /* The output cell may already have a buffer allocated. Move - ** the current contents to u.ch.sContext.s so in case the user-function + ** the current contents to u.ci.sContext.s so in case the user-function ** can use the already allocated buffer instead of allocating a ** new one. */ - sqlite3VdbeMemMove(&u.ch.sContext.s, u.ch.pDest); - MemSetTypeFlag(&u.ch.sContext.s, MEM_Null); + sqlite3VdbeMemMove(&u.ci.sContext.s, u.ci.pDest); + MemSetTypeFlag(&u.ci.sContext.s, MEM_Null); - rc = u.ch.pModule->xColumn(pCur->pVtabCursor, &u.ch.sContext, pOp->p2); - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.ch.pVtab->zErrMsg; - u.ch.pVtab->zErrMsg = 0; - if( u.ch.sContext.isError ){ - rc = u.ch.sContext.isError; + rc = u.ci.pModule->xColumn(pCur->pVtabCursor, &u.ci.sContext, pOp->p2); + importVtabErrMsg(p, u.ci.pVtab); + if( u.ci.sContext.isError ){ + rc = u.ci.sContext.isError; } /* Copy the result of the function to the P3 register. We ** do this regardless of whether or not an error occurred to ensure any - ** dynamic allocation in u.ch.sContext.s (a Mem struct) is released. + ** dynamic allocation in u.ci.sContext.s (a Mem struct) is released. */ - sqlite3VdbeChangeEncoding(&u.ch.sContext.s, encoding); - sqlite3VdbeMemMove(u.ch.pDest, &u.ch.sContext.s); - REGISTER_TRACE(pOp->p3, u.ch.pDest); - UPDATE_MAX_BLOBSIZE(u.ch.pDest); + sqlite3VdbeChangeEncoding(&u.ci.sContext.s, encoding); + sqlite3VdbeMemMove(u.ci.pDest, &u.ci.sContext.s); + REGISTER_TRACE(pOp->p3, u.ci.pDest); + UPDATE_MAX_BLOBSIZE(u.ci.pDest); - if( sqlite3VdbeMemTooBig(u.ch.pDest) ){ + if( sqlite3VdbeMemTooBig(u.ci.pDest) ){ goto too_big; } break; @@ -58857,22 +65183,22 @@ case OP_VColumn: { ** the end of its result set, then fall through to the next instruction. */ case OP_VNext: { /* jump */ -#if 0 /* local variables moved into u.ci */ +#if 0 /* local variables moved into u.cj */ sqlite3_vtab *pVtab; const sqlite3_module *pModule; int res; VdbeCursor *pCur; -#endif /* local variables moved into u.ci */ +#endif /* local variables moved into u.cj */ - u.ci.res = 0; - u.ci.pCur = p->apCsr[pOp->p1]; - assert( u.ci.pCur->pVtabCursor ); - if( u.ci.pCur->nullRow ){ + u.cj.res = 0; + u.cj.pCur = p->apCsr[pOp->p1]; + assert( u.cj.pCur->pVtabCursor ); + if( u.cj.pCur->nullRow ){ break; } - u.ci.pVtab = u.ci.pCur->pVtabCursor->pVtab; - u.ci.pModule = u.ci.pVtab->pModule; - assert( u.ci.pModule->xNext ); + u.cj.pVtab = u.cj.pCur->pVtabCursor->pVtab; + u.cj.pModule = u.cj.pVtab->pModule; + assert( u.cj.pModule->xNext ); /* Invoke the xNext() method of the module. There is no way for the ** underlying implementation to return an error if one occurs during @@ -58881,16 +65207,14 @@ case OP_VNext: { /* jump */ ** some other method is next invoked on the save virtual table cursor. */ p->inVtabMethod = 1; - rc = u.ci.pModule->xNext(u.ci.pCur->pVtabCursor); + rc = u.cj.pModule->xNext(u.cj.pCur->pVtabCursor); p->inVtabMethod = 0; - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.ci.pVtab->zErrMsg; - u.ci.pVtab->zErrMsg = 0; + importVtabErrMsg(p, u.cj.pVtab); if( rc==SQLITE_OK ){ - u.ci.res = u.ci.pModule->xEof(u.ci.pCur->pVtabCursor); + u.cj.res = u.cj.pModule->xEof(u.cj.pCur->pVtabCursor); } - if( !u.ci.res ){ + if( !u.cj.res ){ /* If there is data, jump to P2 */ pc = pOp->p2 - 1; } @@ -58906,20 +65230,18 @@ case OP_VNext: { /* jump */ ** in register P1 is passed as the zName argument to the xRename method. */ case OP_VRename: { -#if 0 /* local variables moved into u.cj */ +#if 0 /* local variables moved into u.ck */ sqlite3_vtab *pVtab; Mem *pName; -#endif /* local variables moved into u.cj */ +#endif /* local variables moved into u.ck */ - u.cj.pVtab = pOp->p4.pVtab->pVtab; - u.cj.pName = &aMem[pOp->p1]; - assert( u.cj.pVtab->pModule->xRename ); - REGISTER_TRACE(pOp->p1, u.cj.pName); - assert( u.cj.pName->flags & MEM_Str ); - rc = u.cj.pVtab->pModule->xRename(u.cj.pVtab, u.cj.pName->z); - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.cj.pVtab->zErrMsg; - u.cj.pVtab->zErrMsg = 0; + u.ck.pVtab = pOp->p4.pVtab->pVtab; + u.ck.pName = &aMem[pOp->p1]; + assert( u.ck.pVtab->pModule->xRename ); + REGISTER_TRACE(pOp->p1, u.ck.pName); + assert( u.ck.pName->flags & MEM_Str ); + rc = u.ck.pVtab->pModule->xRename(u.ck.pVtab, u.ck.pName->z); + importVtabErrMsg(p, u.ck.pVtab); break; } @@ -58950,7 +65272,7 @@ case OP_VRename: { ** is set to the value of the rowid for the row just inserted. */ case OP_VUpdate: { -#if 0 /* local variables moved into u.ck */ +#if 0 /* local variables moved into u.cl */ sqlite3_vtab *pVtab; sqlite3_module *pModule; int nArg; @@ -58958,27 +65280,25 @@ case OP_VUpdate: { sqlite_int64 rowid; Mem **apArg; Mem *pX; -#endif /* local variables moved into u.ck */ +#endif /* local variables moved into u.cl */ - u.ck.pVtab = pOp->p4.pVtab->pVtab; - u.ck.pModule = (sqlite3_module *)u.ck.pVtab->pModule; - u.ck.nArg = pOp->p2; + u.cl.pVtab = pOp->p4.pVtab->pVtab; + u.cl.pModule = (sqlite3_module *)u.cl.pVtab->pModule; + u.cl.nArg = pOp->p2; assert( pOp->p4type==P4_VTAB ); - if( ALWAYS(u.ck.pModule->xUpdate) ){ - u.ck.apArg = p->apArg; - u.ck.pX = &aMem[pOp->p3]; - for(u.ck.i=0; u.ck.ixUpdate(u.ck.pVtab, u.ck.nArg, u.ck.apArg, &u.ck.rowid); - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = u.ck.pVtab->zErrMsg; - u.ck.pVtab->zErrMsg = 0; + if( ALWAYS(u.cl.pModule->xUpdate) ){ + u.cl.apArg = p->apArg; + u.cl.pX = &aMem[pOp->p3]; + for(u.cl.i=0; u.cl.ixUpdate(u.cl.pVtab, u.cl.nArg, u.cl.apArg, &u.cl.rowid); + importVtabErrMsg(p, u.cl.pVtab); if( rc==SQLITE_OK && pOp->p1 ){ - assert( u.ck.nArg>1 && u.ck.apArg[0] && (u.ck.apArg[0]->flags&MEM_Null) ); - db->lastRowid = u.ck.rowid; + assert( u.cl.nArg>1 && u.cl.apArg[0] && (u.cl.apArg[0]->flags&MEM_Null) ); + db->lastRowid = u.cl.rowid; } p->nChange++; } @@ -58992,21 +65312,7 @@ case OP_VUpdate: { ** Write the current number of pages in database P1 to memory cell P2. */ case OP_Pagecount: { /* out2-prerelease */ -#if 0 /* local variables moved into u.cl */ - int p1; - int nPage; - Pager *pPager; -#endif /* local variables moved into u.cl */ - - u.cl.p1 = pOp->p1; - u.cl.pPager = sqlite3BtreePager(db->aDb[u.cl.p1].pBt); - rc = sqlite3PagerPagecount(u.cl.pPager, &u.cl.nPage); - /* OP_Pagecount is always called from within a read transaction. The - ** page count has already been successfully read and cached. So the - ** sqlite3PagerPagecount() call above cannot fail. */ - if( ALWAYS(rc==SQLITE_OK) ){ - pOut->u.i = u.cl.nPage; - } + pOut->u.i = sqlite3BtreeLastPage(db->aDb[pOp->p1].pBt); break; } #endif @@ -59350,10 +65656,14 @@ SQLITE_API int sqlite3_blob_open( sqlite3VdbeUsesBtree(v, iDb); /* Configure the OP_TableLock instruction */ +#ifdef SQLITE_OMIT_SHARED_CACHE + sqlite3VdbeChangeToNoop(v, 2, 1); +#else sqlite3VdbeChangeP1(v, 2, iDb); sqlite3VdbeChangeP2(v, 2, pTab->tnum); sqlite3VdbeChangeP3(v, 2, flags); sqlite3VdbeChangeP4(v, 2, pTab->zName, P4_TRANSIENT); +#endif /* Remove either the OP_OpenWrite or OpenRead. Set the P2 ** parameter of the other to pTab->tnum. */ @@ -59724,7 +66034,11 @@ static struct sqlite3_io_methods JournalFileMethods = { 0, /* xCheckReservedLock */ 0, /* xFileControl */ 0, /* xSectorSize */ - 0 /* xDeviceCharacteristics */ + 0, /* xDeviceCharacteristics */ + 0, /* xShmMap */ + 0, /* xShmLock */ + 0, /* xShmBarrier */ + 0 /* xShmUnmap */ }; /* @@ -59974,11 +66288,10 @@ static int memjrnlClose(sqlite3_file *pJfd){ ** exists purely as a contingency, in case some malfunction in some other ** part of SQLite causes Sync to be called by mistake. */ -static int memjrnlSync(sqlite3_file *NotUsed, int NotUsed2){ /*NO_TEST*/ - UNUSED_PARAMETER2(NotUsed, NotUsed2); /*NO_TEST*/ - assert( 0 ); /*NO_TEST*/ - return SQLITE_OK; /*NO_TEST*/ -} /*NO_TEST*/ +static int memjrnlSync(sqlite3_file *NotUsed, int NotUsed2){ + UNUSED_PARAMETER2(NotUsed, NotUsed2); + return SQLITE_OK; +} /* ** Query the size of the file in bytes. @@ -59992,7 +66305,7 @@ static int memjrnlFileSize(sqlite3_file *pJfd, sqlite_int64 *pSize){ /* ** Table of methods for MemJournal sqlite3_file object. */ -static struct sqlite3_io_methods MemJournalMethods = { +static const struct sqlite3_io_methods MemJournalMethods = { 1, /* iVersion */ memjrnlClose, /* xClose */ memjrnlRead, /* xRead */ @@ -60005,7 +66318,11 @@ static struct sqlite3_io_methods MemJournalMethods = { 0, /* xCheckReservedLock */ 0, /* xFileControl */ 0, /* xSectorSize */ - 0 /* xDeviceCharacteristics */ + 0, /* xDeviceCharacteristics */ + 0, /* xShmMap */ + 0, /* xShmLock */ + 0, /* xShmBarrier */ + 0 /* xShmUnlock */ }; /* @@ -60015,7 +66332,7 @@ SQLITE_PRIVATE void sqlite3MemJournalOpen(sqlite3_file *pJfd){ MemJournal *p = (MemJournal *)pJfd; assert( EIGHT_BYTE_ALIGNMENT(p) ); memset(p, 0, sqlite3MemJournalSize()); - p->pMethod = &MemJournalMethods; + p->pMethod = (sqlite3_io_methods*)&MemJournalMethods; } /* @@ -60528,6 +66845,7 @@ static int lookupName( }else{ sqlite3ErrorMsg(pParse, "%s: %s", zErr, zCol); } + pParse->checkSchema = 1; pTopNC->nErr++; } @@ -60574,7 +66892,7 @@ lookupname_end: /* ** Allocate and return a pointer to an expression to load the column iCol -** from datasource iSrc datasource in SrcList pSrc. +** from datasource iSrc in SrcList pSrc. */ SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSrc, int iCol){ Expr *p = sqlite3ExprAlloc(db, TK_COLUMN, 0, 0); @@ -60586,6 +66904,8 @@ SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSr p->iColumn = -1; }else{ p->iColumn = (ynVar)iCol; + testcase( iCol==BMS ); + testcase( iCol==BMS-1 ); pItem->colUsed |= ((Bitmask)1)<<(iCol>=BMS ? BMS-1 : iCol); } ExprSetProperty(p, EP_Resolved); @@ -61430,24 +67750,31 @@ SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){ } /* +** Set the explicit collating sequence for an expression to the +** collating sequence supplied in the second argument. +*/ +SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr *pExpr, CollSeq *pColl){ + if( pExpr && pColl ){ + pExpr->pColl = pColl; + pExpr->flags |= EP_ExpCollate; + } + return pExpr; +} + +/* ** Set the collating sequence for expression pExpr to be the collating ** sequence named by pToken. Return a pointer to the revised expression. ** The collating sequence is marked as "explicit" using the EP_ExpCollate ** flag. An explicit collating sequence will override implicit ** collating sequences. */ -SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Parse *pParse, Expr *pExpr, Token *pCollName){ +SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr *pExpr, Token *pCollName){ char *zColl = 0; /* Dequoted name of collation sequence */ CollSeq *pColl; sqlite3 *db = pParse->db; zColl = sqlite3NameFromToken(db, pCollName); - if( pExpr && zColl ){ - pColl = sqlite3LocateCollSeq(pParse, zColl); - if( pColl ){ - pExpr->pColl = pColl; - pExpr->flags |= EP_ExpCollate; - } - } + pColl = sqlite3LocateCollSeq(pParse, zColl); + sqlite3ExprSetColl(pExpr, pColl); sqlite3DbFree(db, zColl); return pExpr; } @@ -61921,18 +68248,19 @@ SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ }else if( z[0]=='?' ){ /* Wildcard of the form "?nnn". Convert "nnn" to an integer and ** use it as the variable number */ - int i = atoi((char*)&z[1]); + i64 i; + int bOk = sqlite3Atoi64(&z[1], &i); pExpr->iColumn = (ynVar)i; testcase( i==0 ); testcase( i==1 ); testcase( i==db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER]-1 ); testcase( i==db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ); - if( i<1 || i>db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ){ + if( bOk==0 || i<1 || i>db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ){ sqlite3ErrorMsg(pParse, "variable number must be between ?1 and ?%d", db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER]); } if( i>pParse->nVar ){ - pParse->nVar = i; + pParse->nVar = (int)i; } }else{ /* Wildcards like ":aaa", "$aaa" or "@aaa". Reuse the same variable @@ -62879,14 +69207,20 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, int *prNotFound){ /* Could not found an existing table or index to use as the RHS b-tree. ** We will have to generate an ephemeral table to do the job. */ + double savedNQueryLoop = pParse->nQueryLoop; int rMayHaveNull = 0; eType = IN_INDEX_EPH; if( prNotFound ){ *prNotFound = rMayHaveNull = ++pParse->nMem; - }else if( pX->pLeft->iColumn<0 && !ExprHasAnyProperty(pX, EP_xIsSelect) ){ - eType = IN_INDEX_ROWID; + }else{ + testcase( pParse->nQueryLoop>(double)1 ); + pParse->nQueryLoop = (double)1; + if( pX->pLeft->iColumn<0 && !ExprHasAnyProperty(pX, EP_xIsSelect) ){ + eType = IN_INDEX_ROWID; + } } sqlite3CodeSubselect(pParse, pX, rMayHaveNull, eType==IN_INDEX_ROWID); + pParse->nQueryLoop = savedNQueryLoop; }else{ pX->iTable = iTab; } @@ -63009,7 +69343,7 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( keyInfo.aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pEList->a[0].pExpr); } - }else if( pExpr->x.pList!=0 ){ + }else if( ALWAYS(pExpr->x.pList!=0) ){ /* Case 2: expr IN (exprlist) ** ** For each expression, build an index key from the evaluation and @@ -63079,7 +69413,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( ** an integer 0 (not exists) or 1 (exists) into a memory cell ** and record that memory cell in iColumn. */ - static const Token one = { "1", 1 }; /* Token for literal value 1 */ Select *pSel; /* SELECT statement to encode */ SelectDest dest; /* How to deal with SELECt result */ @@ -63100,7 +69433,8 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( VdbeComment((v, "Init EXISTS result")); } sqlite3ExprDelete(pParse->db, pSel->pLimit); - pSel->pLimit = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &one); + pSel->pLimit = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, + &sqlite3IntTokens[1]); if( sqlite3Select(pParse, pSel, &dest) ){ return 0; } @@ -63168,8 +69502,20 @@ static void sqlite3ExprCodeIN( sqlite3ExprCachePush(pParse); r1 = sqlite3GetTempReg(pParse); sqlite3ExprCode(pParse, pExpr->pLeft, r1); - sqlite3VdbeAddOp2(v, OP_IsNull, r1, destIfNull); + /* If the LHS is NULL, then the result is either false or NULL depending + ** on whether the RHS is empty or not, respectively. + */ + if( destIfNull==destIfFalse ){ + /* Shortcut for the common case where the false and NULL outcomes are + ** the same. */ + sqlite3VdbeAddOp2(v, OP_IsNull, r1, destIfNull); + }else{ + int addr1 = sqlite3VdbeAddOp1(v, OP_NotNull, r1); + sqlite3VdbeAddOp2(v, OP_Rewind, pExpr->iTable, destIfFalse); + sqlite3VdbeAddOp2(v, OP_Goto, 0, destIfNull); + sqlite3VdbeJumpHere(v, addr1); + } if( eType==IN_INDEX_ROWID ){ /* In this case, the RHS is the ROWID of table b-tree @@ -63457,6 +69803,27 @@ static void sqlite3ExprCachePinRegister(Parse *pParse, int iReg){ } /* +** Generate code to extract the value of the iCol-th column of a table. +*/ +SQLITE_PRIVATE void sqlite3ExprCodeGetColumnOfTable( + Vdbe *v, /* The VDBE under construction */ + Table *pTab, /* The table containing the value */ + int iTabCur, /* The cursor for this table */ + int iCol, /* Index of the column to extract */ + int regOut /* Extract the valud into this register */ +){ + if( iCol<0 || iCol==pTab->iPKey ){ + sqlite3VdbeAddOp2(v, OP_Rowid, iTabCur, regOut); + }else{ + int op = IsVirtual(pTab) ? OP_VColumn : OP_Column; + sqlite3VdbeAddOp3(v, op, iTabCur, iCol, regOut); + } + if( iCol>=0 ){ + sqlite3ColumnDefault(v, pTab, iCol, regOut); + } +} + +/* ** Generate code that will extract the iColumn-th column from ** table pTab and store the column value in a register. An effort ** is made to store the column value in register iReg, but this is @@ -63484,13 +69851,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeGetColumn( } } assert( v!=0 ); - if( iColumn<0 ){ - sqlite3VdbeAddOp2(v, OP_Rowid, iTable, iReg); - }else if( ALWAYS(pTab!=0) ){ - int op = IsVirtual(pTab) ? OP_VColumn : OP_Column; - sqlite3VdbeAddOp3(v, op, iTable, iColumn, iReg); - sqlite3ColumnDefault(v, pTab, iColumn, iReg); - } + sqlite3ExprCodeGetColumnOfTable(v, pTab, iTable, iColumn, iReg); sqlite3ExprCacheStore(pParse, iTable, iColumn, iReg); return iReg; } @@ -63727,27 +70088,12 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) } #endif case TK_VARIABLE: { - VdbeOp *pOp; assert( !ExprHasProperty(pExpr, EP_IntValue) ); assert( pExpr->u.zToken!=0 ); assert( pExpr->u.zToken[0]!=0 ); - if( pExpr->u.zToken[1]==0 - && (pOp = sqlite3VdbeGetOp(v, -1))->opcode==OP_Variable - && pOp->p1+pOp->p3==pExpr->iColumn - && pOp->p2+pOp->p3==target - && pOp->p4.z==0 - ){ - /* If the previous instruction was a copy of the previous unnamed - ** parameter into the previous register, then simply increment the - ** repeat count on the prior instruction rather than making a new - ** instruction. - */ - pOp->p3++; - }else{ - sqlite3VdbeAddOp3(v, OP_Variable, pExpr->iColumn, target, 1); - if( pExpr->u.zToken[1]!=0 ){ - sqlite3VdbeChangeP4(v, -1, pExpr->u.zToken, 0); - } + sqlite3VdbeAddOp2(v, OP_Variable, pExpr->iColumn, target); + if( pExpr->u.zToken[1]!=0 ){ + sqlite3VdbeChangeP4(v, -1, pExpr->u.zToken, 0); } break; } @@ -64814,7 +71160,6 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int ** an incorrect 0 or 1 could lead to a malfunction. */ SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB){ - int i; if( pA==0||pB==0 ){ return pB==pA ? 0 : 2; } @@ -64827,18 +71172,7 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB){ if( pA->op!=pB->op ) return 2; if( sqlite3ExprCompare(pA->pLeft, pB->pLeft) ) return 2; if( sqlite3ExprCompare(pA->pRight, pB->pRight) ) return 2; - - if( pA->x.pList && pB->x.pList ){ - if( pA->x.pList->nExpr!=pB->x.pList->nExpr ) return 2; - for(i=0; ix.pList->nExpr; i++){ - Expr *pExprA = pA->x.pList->a[i].pExpr; - Expr *pExprB = pB->x.pList->a[i].pExpr; - if( sqlite3ExprCompare(pExprA, pExprB) ) return 2; - } - }else if( pA->x.pList || pB->x.pList ){ - return 2; - } - + if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList) ) return 2; if( pA->iTable!=pB->iTable || pA->iColumn!=pB->iColumn ) return 2; if( ExprHasProperty(pA, EP_IntValue) ){ if( !ExprHasProperty(pB, EP_IntValue) || pA->u.iValue!=pB->u.iValue ){ @@ -64855,6 +71189,31 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB){ return 0; } +/* +** Compare two ExprList objects. Return 0 if they are identical and +** non-zero if they differ in any way. +** +** This routine might return non-zero for equivalent ExprLists. The +** only consequence will be disabled optimizations. But this routine +** must never return 0 if the two ExprList objects are different, or +** a malfunction will result. +** +** Two NULL pointers are considered to be the same. But a NULL pointer +** always differs from a non-NULL pointer. +*/ +SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList *pA, ExprList *pB){ + int i; + if( pA==0 && pB==0 ) return 0; + if( pA==0 || pB==0 ) return 1; + if( pA->nExpr!=pB->nExpr ) return 1; + for(i=0; inExpr; i++){ + Expr *pExprA = pA->a[i].pExpr; + Expr *pExprB = pB->a[i].pExpr; + if( pA->a[i].sortOrder!=pB->a[i].sortOrder ) return 1; + if( sqlite3ExprCompare(pExprA, pExprB) ) return 1; + } + return 0; +} /* ** Add a new element to the pAggInfo->aCol[] array. Return the index of @@ -65351,17 +71710,23 @@ static void renameTriggerFunc( /* ** Register built-in functions used to help implement ALTER TABLE */ -SQLITE_PRIVATE void sqlite3AlterFunctions(sqlite3 *db){ - sqlite3CreateFunc(db, "sqlite_rename_table", 2, SQLITE_UTF8, 0, - renameTableFunc, 0, 0); +SQLITE_PRIVATE void sqlite3AlterFunctions(void){ + static SQLITE_WSD FuncDef aAlterTableFuncs[] = { + FUNCTION(sqlite_rename_table, 2, 0, 0, renameTableFunc), #ifndef SQLITE_OMIT_TRIGGER - sqlite3CreateFunc(db, "sqlite_rename_trigger", 2, SQLITE_UTF8, 0, - renameTriggerFunc, 0, 0); + FUNCTION(sqlite_rename_trigger, 2, 0, 0, renameTriggerFunc), #endif #ifndef SQLITE_OMIT_FOREIGN_KEY - sqlite3CreateFunc(db, "sqlite_rename_parent", 3, SQLITE_UTF8, 0, - renameParentFunc, 0, 0); + FUNCTION(sqlite_rename_parent, 3, 0, 0, renameParentFunc), #endif + }; + int i; + FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); + FuncDef *aFunc = (FuncDef*)&GLOBAL(FuncDef, aAlterTableFuncs); + + for(i=0; iflags */ + + savedDbFlags = db->flags; if( NEVER(db->mallocFailed) ) goto exit_rename_table; assert( pSrc->nSrc==1 ); assert( sqlite3BtreeHoldsAllMutexes(pParse->db) ); @@ -65514,6 +71881,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( if( !pTab ) goto exit_rename_table; iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); zDb = db->aDb[iDb].zName; + db->flags |= SQLITE_PreferBuiltin; /* Get a NULL terminated version of the new table name. */ zName = sqlite3NameFromToken(db, pName); @@ -65681,6 +72049,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( exit_rename_table: sqlite3SrcListDelete(db, pSrc); sqlite3DbFree(db, zName); + db->flags = savedDbFlags; } @@ -65800,9 +72169,11 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ zCol = sqlite3DbStrNDup(db, (char*)pColDef->z, pColDef->n); if( zCol ){ char *zEnd = &zCol[pColDef->n-1]; + int savedDbFlags = db->flags; while( zEnd>zCol && (*zEnd==';' || sqlite3Isspace(*zEnd)) ){ *zEnd-- = '\0'; } + db->flags |= SQLITE_PreferBuiltin; sqlite3NestedParse(pParse, "UPDATE \"%w\".%s SET " "sql = substr(sql,1,%d) || ', ' || %Q || substr(sql,%d) " @@ -65811,6 +72182,7 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ zTab ); sqlite3DbFree(db, zCol); + db->flags = savedDbFlags; } /* If the default value of the new column is NULL, then set the file @@ -65881,7 +72253,6 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ if( !pNew ) goto exit_begin_add_column; pParse->pNewTable = pNew; pNew->nRef = 1; - pNew->dbMem = pTab->dbMem; pNew->nCol = pTab->nCol; assert( pNew->nCol>0 ); nAlloc = (((pNew->nCol-1)/8)*8)+8; @@ -65956,7 +72327,7 @@ static void openStatTable( int iStatCur, /* Open the sqlite_stat1 table on this cursor */ const char *zWhere /* Delete entries associated with this table */ ){ - static struct { + static const struct { const char *zName; const char *zCols; } aTable[] = { @@ -66410,21 +72781,20 @@ static int analysisLoader(void *pData, int argc, char **argv, char **NotUsed){ ** If the Index.aSample variable is not NULL, delete the aSample[] array ** and its contents. */ -SQLITE_PRIVATE void sqlite3DeleteIndexSamples(Index *pIdx){ +SQLITE_PRIVATE void sqlite3DeleteIndexSamples(sqlite3 *db, Index *pIdx){ #ifdef SQLITE_ENABLE_STAT2 if( pIdx->aSample ){ int j; - sqlite3 *dbMem = pIdx->pTable->dbMem; for(j=0; jaSample[j]; if( p->eType==SQLITE_TEXT || p->eType==SQLITE_BLOB ){ - sqlite3DbFree(pIdx->pTable->dbMem, p->u.z); + sqlite3DbFree(db, p->u.z); } } - sqlite3DbFree(dbMem, pIdx->aSample); - pIdx->aSample = 0; + sqlite3DbFree(db, pIdx->aSample); } #else + UNUSED_PARAMETER(db); UNUSED_PARAMETER(pIdx); #endif } @@ -66463,7 +72833,8 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ for(i=sqliteHashFirst(&db->aDb[iDb].pSchema->idxHash);i;i=sqliteHashNext(i)){ Index *pIdx = sqliteHashData(i); sqlite3DefaultRowEst(pIdx); - sqlite3DeleteIndexSamples(pIdx); + sqlite3DeleteIndexSamples(db, pIdx); + pIdx->aSample = 0; } /* Check to make sure the sqlite_stat1 table exists */ @@ -66507,18 +72878,17 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ Index *pIdx = sqlite3FindIndex(db, zIndex, sInfo.zDatabase); if( pIdx ){ int iSample = sqlite3_column_int(pStmt, 1); - sqlite3 *dbMem = pIdx->pTable->dbMem; - assert( dbMem==db || dbMem==0 ); if( iSample=0 ){ int eType = sqlite3_column_type(pStmt, 2); if( pIdx->aSample==0 ){ static const int sz = sizeof(IndexSample)*SQLITE_INDEX_SAMPLES; - pIdx->aSample = (IndexSample *)sqlite3DbMallocZero(dbMem, sz); + pIdx->aSample = (IndexSample *)sqlite3DbMallocRaw(0, sz); if( pIdx->aSample==0 ){ db->mallocFailed = 1; break; } + memset(pIdx->aSample, 0, sz); } assert( pIdx->aSample ); @@ -66538,12 +72908,14 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ n = 24; } pSample->nByte = (u8)n; - pSample->u.z = sqlite3DbMallocRaw(dbMem, n); - if( pSample->u.z ){ - memcpy(pSample->u.z, z, n); + if( n < 1){ + pSample->u.z = 0; }else{ - db->mallocFailed = 1; - break; + pSample->u.z = sqlite3DbStrNDup(0, z, n); + if( pSample->u.z==0 ){ + db->mallocFailed = 1; + break; + } } } } @@ -66725,7 +73097,6 @@ static void attachFunc( } pPager = sqlite3BtreePager(aNew->pBt); sqlite3PagerLockingMode(pPager, db->dfltLockMode); - sqlite3PagerJournalMode(pPager, db->dfltJournalMode); sqlite3BtreeSecureDelete(aNew->pBt, sqlite3BtreeSecureDelete(db->aDb[0].pBt,-1) ); } @@ -66870,7 +73241,7 @@ detach_error: static void codeAttach( Parse *pParse, /* The parser context */ int type, /* Either SQLITE_ATTACH or SQLITE_DETACH */ - FuncDef *pFunc, /* FuncDef wrapper for detachFunc() or attachFunc() */ + FuncDef const *pFunc,/* FuncDef wrapper for detachFunc() or attachFunc() */ Expr *pAuthArg, /* Expression to pass to authorization callback */ Expr *pFilename, /* Name of database file */ Expr *pDbname, /* Name of the database to use internally */ @@ -66940,7 +73311,7 @@ attach_end: ** DETACH pDbname */ SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){ - static FuncDef detach_func = { + static const FuncDef detach_func = { 1, /* nArg */ SQLITE_UTF8, /* iPrefEnc */ 0, /* flags */ @@ -66961,7 +73332,7 @@ SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){ ** ATTACH p AS pDbname KEY pKey */ SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *pKey){ - static FuncDef attach_func = { + static const FuncDef attach_func = { 3, /* nArg */ SQLITE_UTF8, /* iPrefEnc */ 0, /* flags */ @@ -67719,34 +74090,15 @@ SQLITE_PRIVATE Index *sqlite3FindIndex(sqlite3 *db, const char *zName, const cha /* ** Reclaim the memory used by an index */ -static void freeIndex(Index *p){ - sqlite3 *db = p->pTable->dbMem; +static void freeIndex(sqlite3 *db, Index *p){ #ifndef SQLITE_OMIT_ANALYZE - sqlite3DeleteIndexSamples(p); + sqlite3DeleteIndexSamples(db, p); #endif sqlite3DbFree(db, p->zColAff); sqlite3DbFree(db, p); } /* -** Remove the given index from the index hash table, and free -** its memory structures. -** -** The index is removed from the database hash tables but -** it is not unlinked from the Table that it indexes. -** Unlinking from the Table must be done by the calling function. -*/ -static void sqlite3DeleteIndex(Index *p){ - Index *pOld; - const char *zName = p->zName; - - pOld = sqlite3HashInsert(&p->pSchema->idxHash, zName, - sqlite3Strlen30(zName), 0); - assert( pOld==0 || pOld==p ); - freeIndex(p); -} - -/* ** For the index called zIdxName which is found in the database iDb, ** unlike that index from its Table then remove the index from ** the index hash table and free all memory structures associated @@ -67772,7 +74124,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3 *db, int iDb, const char p->pNext = pIndex->pNext; } } - freeIndex(pIndex); + freeIndex(db, pIndex); } db->flags |= SQLITE_InternChanges; } @@ -67843,13 +74195,12 @@ SQLITE_PRIVATE void sqlite3CommitInternalChanges(sqlite3 *db){ } /* -** Clear the column names from a table or view. +** Delete memory allocated for the column names of a table or view (the +** Table.aCol[] array). */ -static void sqliteResetColumnNames(Table *pTable){ +static void sqliteDeleteColumnNames(sqlite3 *db, Table *pTable){ int i; Column *pCol; - sqlite3 *db = pTable->dbMem; - testcase( db==0 ); assert( pTable!=0 ); if( (pCol = pTable->aCol)!=0 ){ for(i=0; inCol; i++, pCol++){ @@ -67861,8 +74212,6 @@ static void sqliteResetColumnNames(Table *pTable){ } sqlite3DbFree(db, pTable->aCol); } - pTable->aCol = 0; - pTable->nCol = 0; } /* @@ -67874,42 +74223,44 @@ static void sqliteResetColumnNames(Table *pTable){ ** memory structures of the indices and foreign keys associated with ** the table. */ -SQLITE_PRIVATE void sqlite3DeleteTable(Table *pTable){ +SQLITE_PRIVATE void sqlite3DeleteTable(sqlite3 *db, Table *pTable){ Index *pIndex, *pNext; - sqlite3 *db; - if( pTable==0 ) return; - db = pTable->dbMem; - testcase( db==0 ); + assert( !pTable || pTable->nRef>0 ); /* Do not delete the table until the reference count reaches zero. */ - pTable->nRef--; - if( pTable->nRef>0 ){ - return; - } - assert( pTable->nRef==0 ); + if( !pTable ) return; + if( ((!db || db->pnBytesFreed==0) && (--pTable->nRef)>0) ) return; - /* Delete all indices associated with this table - */ + /* Delete all indices associated with this table. */ for(pIndex = pTable->pIndex; pIndex; pIndex=pNext){ pNext = pIndex->pNext; assert( pIndex->pSchema==pTable->pSchema ); - sqlite3DeleteIndex(pIndex); + if( !db || db->pnBytesFreed==0 ){ + char *zName = pIndex->zName; + TESTONLY ( Index *pOld = ) sqlite3HashInsert( + &pIndex->pSchema->idxHash, zName, sqlite3Strlen30(zName), 0 + ); + assert( pOld==pIndex || pOld==0 ); + } + freeIndex(db, pIndex); } /* Delete any foreign keys attached to this table. */ - sqlite3FkDelete(pTable); + sqlite3FkDelete(db, pTable); /* Delete the Table structure itself. */ - sqliteResetColumnNames(pTable); + sqliteDeleteColumnNames(db, pTable); sqlite3DbFree(db, pTable->zName); sqlite3DbFree(db, pTable->zColAff); sqlite3SelectDelete(db, pTable->pSelect); #ifndef SQLITE_OMIT_CHECK sqlite3ExprDelete(db, pTable->pCheck); #endif - sqlite3VtabClear(pTable); +#ifndef SQLITE_OMIT_VIRTUALTABLE + sqlite3VtabClear(db, pTable); +#endif sqlite3DbFree(db, pTable); } @@ -67928,7 +74279,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTable(sqlite3 *db, int iDb, const char pDb = &db->aDb[iDb]; p = sqlite3HashInsert(&pDb->pSchema->tblHash, zTabName, sqlite3Strlen30(zTabName),0); - sqlite3DeleteTable(p); + sqlite3DeleteTable(db, p); db->flags |= SQLITE_InternChanges; } @@ -68196,7 +74547,6 @@ SQLITE_PRIVATE void sqlite3StartTable( pTable->iPKey = -1; pTable->pSchema = db->aDb[iDb].pSchema; pTable->nRef = 1; - pTable->dbMem = 0; assert( pParse->pNewTable==0 ); pParse->pNewTable = pTable; @@ -68748,7 +75098,7 @@ static char *createTableStmt(sqlite3 *db, Table *p){ zEnd = "\n)"; } n += 35 + 6*p->nCol; - zStmt = sqlite3Malloc( n ); + zStmt = sqlite3DbMallocRaw(0, n); if( zStmt==0 ){ db->mallocFailed = 1; return 0; @@ -68929,7 +75279,7 @@ SQLITE_PRIVATE void sqlite3EndTable( p->aCol = pSelTab->aCol; pSelTab->nCol = 0; pSelTab->aCol = 0; - sqlite3DeleteTable(pSelTab); + sqlite3DeleteTable(db, pSelTab); } } @@ -69173,7 +75523,7 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ pTable->aCol = pSelTab->aCol; pSelTab->nCol = 0; pSelTab->aCol = 0; - sqlite3DeleteTable(pSelTab); + sqlite3DeleteTable(db, pSelTab); pTable->pSchema->flags |= DB_UnresetViews; }else{ pTable->nCol = 0; @@ -69198,7 +75548,9 @@ static void sqliteViewResetAll(sqlite3 *db, int idx){ for(i=sqliteHashFirst(&db->aDb[idx].pSchema->tblHash); i;i=sqliteHashNext(i)){ Table *pTab = sqliteHashData(i); if( pTab->pSelect ){ - sqliteResetColumnNames(pTab); + sqliteDeleteColumnNames(db, pTab); + pTab->aCol = 0; + pTab->nCol = 0; } } DbClearProperty(db, idx, DB_UnresetViews); @@ -69988,6 +76340,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( if( j>=pTab->nCol ){ sqlite3ErrorMsg(pParse, "table %s has no column named %s", pTab->zName, zColName); + pParse->checkSchema = 1; goto exit_create_index; } pIndex->aiColumn[i] = j; @@ -70194,7 +76547,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( /* Clean up before exiting */ exit_create_index: if( pIndex ){ - sqlite3_free(pIndex->zColAff); + sqlite3DbFree(db, pIndex->zColAff); sqlite3DbFree(db, pIndex); } sqlite3ExprListDelete(db, pList); @@ -70573,7 +76926,7 @@ SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){ sqlite3DbFree(db, pItem->zName); sqlite3DbFree(db, pItem->zAlias); sqlite3DbFree(db, pItem->zIndex); - sqlite3DeleteTable(pItem->pTab); + sqlite3DeleteTable(db, pItem->pTab); sqlite3SelectDelete(db, pItem->pSelect); sqlite3ExprDelete(db, pItem->pOn); sqlite3IdListDelete(db, pItem->pUsing); @@ -70756,7 +77109,7 @@ SQLITE_PRIVATE void sqlite3Savepoint(Parse *pParse, int op, Token *pName){ if( zName ){ Vdbe *v = sqlite3GetVdbe(pParse); #ifndef SQLITE_OMIT_AUTHORIZATION - static const char *az[] = { "BEGIN", "RELEASE", "ROLLBACK" }; + static const char * const az[] = { "BEGIN", "RELEASE", "ROLLBACK" }; assert( !SAVEPOINT_BEGIN && SAVEPOINT_RELEASE==1 && SAVEPOINT_ROLLBACK==2 ); #endif if( !v || sqlite3AuthCheck(pParse, SQLITE_SAVEPOINT, az[op], zName, 0) ){ @@ -70796,7 +77149,6 @@ SQLITE_PRIVATE int sqlite3OpenTempDatabase(Parse *pParse){ db->mallocFailed = 1; return 1; } - sqlite3PagerJournalMode(sqlite3BtreePager(pBt), db->dfltJournalMode); } return 0; } @@ -71436,14 +77788,19 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( /* If no match is found, search the built-in functions. ** + ** If the SQLITE_PreferBuiltin flag is set, then search the built-in + ** functions even if a prior app-defined function was found. And give + ** priority to built-in functions. + ** ** Except, if createFlag is true, that means that we are trying to ** install a new function. Whatever FuncDef structure is returned will ** have fields overwritten with new information appropriate for the ** new function. But the FuncDefs for built-in functions are read-only. ** So we must not search for built-ins when creating a new function. */ - if( !createFlag && !pBest ){ + if( !createFlag && (pBest==0 || (db->flags & SQLITE_PreferBuiltin)!=0) ){ FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); + bestScore = 0; p = functionSearch(pHash, h, zName, nName); while( p ){ int score = matchQuality(p, nArg, enc); @@ -71500,8 +77857,7 @@ SQLITE_PRIVATE void sqlite3SchemaFree(void *p){ sqlite3HashInit(&pSchema->tblHash); for(pElem=sqliteHashFirst(&temp1); pElem; pElem=sqliteHashNext(pElem)){ Table *pTab = sqliteHashData(pElem); - assert( pTab->dbMem==0 ); - sqlite3DeleteTable(pTab); + sqlite3DeleteTable(0, pTab); } sqlite3HashClear(&temp1); sqlite3HashClear(&pSchema->fkeyHash); @@ -71518,7 +77874,7 @@ SQLITE_PRIVATE Schema *sqlite3SchemaGet(sqlite3 *db, Btree *pBt){ if( pBt ){ p = (Schema *)sqlite3BtreeSchema(pBt, sizeof(Schema), sqlite3SchemaFree); }else{ - p = (Schema *)sqlite3MallocZero(sizeof(Schema)); + p = (Schema *)sqlite3DbMallocZero(0, sizeof(Schema)); } if( !p ){ db->mallocFailed = 1; @@ -71559,7 +77915,7 @@ SQLITE_PRIVATE Table *sqlite3SrcListLookup(Parse *pParse, SrcList *pSrc){ Table *pTab; assert( pItem && pSrc->nSrc==1 ); pTab = sqlite3LocateTable(pParse, 0, pItem->zName, pItem->zDatabase); - sqlite3DeleteTable(pItem->pTab); + sqlite3DeleteTable(pParse->db, pItem->pTab); pItem->pTab = pTab; if( pTab ){ pTab->nRef++; @@ -72043,9 +78399,7 @@ SQLITE_PRIVATE void sqlite3GenerateRowDelete( sqlite3VdbeAddOp2(v, OP_Copy, iRowid, iOld); for(iCol=0; iColnCol; iCol++){ if( mask==0xffffffff || mask&(1<aLimit[SQLITE_LIMIT_LENGTH] ); if( nOut-1>db->aLimit[SQLITE_LIMIT_LENGTH] ){ sqlite3_result_error_toobig(context); - sqlite3DbFree(db, zOut); + sqlite3_free(zOut); return; } zOld = zOut; zOut = sqlite3_realloc(zOut, (int)nOut); if( zOut==0 ){ sqlite3_result_error_nomem(context); - sqlite3DbFree(db, zOld); + sqlite3_free(zOld); return; } memcpy(&zOut[j], zRep, nRep); @@ -73548,7 +79905,7 @@ static void groupConcatStep( if( pAccum ){ sqlite3 *db = sqlite3_context_db_handle(context); int firstTerm = pAccum->useMalloc==0; - pAccum->useMalloc = 1; + pAccum->useMalloc = 2; pAccum->mxAlloc = db->aLimit[SQLITE_LIMIT_LENGTH]; if( !firstTerm ){ if( argc==2 ){ @@ -73581,20 +79938,15 @@ static void groupConcatFinalize(sqlite3_context *context){ } /* -** This function registered all of the above C functions as SQL -** functions. This should be the only routine in this file with -** external linkage. +** This routine does per-connection function registration. Most +** of the built-in functions above are part of the global function set. +** This routine only deals with those that are not global. */ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(sqlite3 *db){ -#ifndef SQLITE_OMIT_ALTERTABLE - sqlite3AlterFunctions(db); -#endif - if( !db->mallocFailed ){ - int rc = sqlite3_overload_function(db, "MATCH", 2); - assert( rc==SQLITE_NOMEM || rc==SQLITE_OK ); - if( rc==SQLITE_NOMEM ){ - db->mallocFailed = 1; - } + int rc = sqlite3_overload_function(db, "MATCH", 2); + assert( rc==SQLITE_NOMEM || rc==SQLITE_OK ); + if( rc==SQLITE_NOMEM ){ + db->mallocFailed = 1; } } @@ -73762,6 +80114,9 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ sqlite3FuncDefInsert(pHash, &aFunc[i]); } sqlite3RegisterDateTimeFunctions(); +#ifndef SQLITE_OMIT_ALTERTABLE + sqlite3AlterFunctions(); +#endif } /************** End of func.c ************************************************/ @@ -74267,7 +80622,8 @@ static void fkScanChildren( if( pIdx ){ Column *pCol; iCol = pIdx->aiColumn[i]; - pCol = &pIdx->pTable->aCol[iCol]; + pCol = &pTab->aCol[iCol]; + if( pTab->iPKey==iCol ) iCol = -1; pLeft->iTable = regData+iCol+1; pLeft->affinity = pCol->affinity; pLeft->pColl = sqlite3LocateCollSeq(pParse, pCol->zColl); @@ -74828,11 +81184,7 @@ static Trigger *fkActionTrigger( pWhere = 0; } - /* In the current implementation, pTab->dbMem==0 for all tables except - ** for temporary tables used to describe subqueries. And temporary - ** tables do not have foreign key constraints. Hence, pTab->dbMem - ** should always be 0 there. - */ + /* Disable lookaside memory allocation */ enableLookaside = db->lookaside.bEnabled; db->lookaside.bEnabled = 0; @@ -74922,37 +81274,39 @@ SQLITE_PRIVATE void sqlite3FkActions( ** table pTab. Remove the deleted foreign keys from the Schema.fkeyHash ** hash table. */ -SQLITE_PRIVATE void sqlite3FkDelete(Table *pTab){ +SQLITE_PRIVATE void sqlite3FkDelete(sqlite3 *db, Table *pTab){ FKey *pFKey; /* Iterator variable */ FKey *pNext; /* Copy of pFKey->pNextFrom */ for(pFKey=pTab->pFKey; pFKey; pFKey=pNext){ /* Remove the FK from the fkeyHash hash table. */ - if( pFKey->pPrevTo ){ - pFKey->pPrevTo->pNextTo = pFKey->pNextTo; - }else{ - void *data = (void *)pFKey->pNextTo; - const char *z = (data ? pFKey->pNextTo->zTo : pFKey->zTo); - sqlite3HashInsert(&pTab->pSchema->fkeyHash, z, sqlite3Strlen30(z), data); - } - if( pFKey->pNextTo ){ - pFKey->pNextTo->pPrevTo = pFKey->pPrevTo; + if( !db || db->pnBytesFreed==0 ){ + if( pFKey->pPrevTo ){ + pFKey->pPrevTo->pNextTo = pFKey->pNextTo; + }else{ + void *p = (void *)pFKey->pNextTo; + const char *z = (p ? pFKey->pNextTo->zTo : pFKey->zTo); + sqlite3HashInsert(&pTab->pSchema->fkeyHash, z, sqlite3Strlen30(z), p); + } + if( pFKey->pNextTo ){ + pFKey->pNextTo->pPrevTo = pFKey->pPrevTo; + } } - /* Delete any triggers created to implement actions for this FK. */ -#ifndef SQLITE_OMIT_TRIGGER - fkTriggerDelete(pTab->dbMem, pFKey->apTrigger[0]); - fkTriggerDelete(pTab->dbMem, pFKey->apTrigger[1]); -#endif - /* EV: R-30323-21917 Each foreign key constraint in SQLite is ** classified as either immediate or deferred. */ assert( pFKey->isDeferred==0 || pFKey->isDeferred==1 ); + /* Delete any triggers created to implement actions for this FK. */ +#ifndef SQLITE_OMIT_TRIGGER + fkTriggerDelete(db, pFKey->apTrigger[0]); + fkTriggerDelete(db, pFKey->apTrigger[1]); +#endif + pNext = pFKey->pNextFrom; - sqlite3DbFree(pTab->dbMem, pFKey); + sqlite3DbFree(db, pFKey); } } #endif /* ifndef SQLITE_OMIT_FOREIGN_KEY */ @@ -75027,7 +81381,7 @@ SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(Vdbe *v, Index *pIdx){ int n; Table *pTab = pIdx->pTable; sqlite3 *db = sqlite3VdbeDb(v); - pIdx->zColAff = (char *)sqlite3Malloc(pIdx->nColumn+2); + pIdx->zColAff = (char *)sqlite3DbMallocRaw(0, pIdx->nColumn+2); if( !pIdx->zColAff ){ db->mallocFailed = 1; return 0; @@ -75069,7 +81423,7 @@ SQLITE_PRIVATE void sqlite3TableAffinityStr(Vdbe *v, Table *pTab){ int i; sqlite3 *db = sqlite3VdbeDb(v); - zColAff = (char *)sqlite3Malloc(pTab->nCol+1); + zColAff = (char *)sqlite3DbMallocRaw(0, pTab->nCol+1); if( !zColAff ){ db->mallocFailed = 1; return; @@ -75687,7 +82041,7 @@ SQLITE_PRIVATE void sqlite3Insert( }else{ sqlite3ErrorMsg(pParse, "table %S has no column named %s", pTabList, 0, pColumn->a[i].zName); - pParse->nErr++; + pParse->checkSchema = 1; goto insert_cleanup; } } @@ -75806,7 +82160,7 @@ SQLITE_PRIVATE void sqlite3Insert( if( pColumn->a[j].idx==i ) break; } } - if( pColumn && j>=pColumn->nId ){ + if( (!useTempTable && !pList) || (pColumn && j>=pColumn->nId) ){ sqlite3ExprCode(pParse, pTab->aCol[i].pDflt, regCols+i+1); }else if( useTempTable ){ sqlite3VdbeAddOp3(v, OP_Column, srcTab, j, regCols+i+1); @@ -76180,6 +82534,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( if( onError==OE_Ignore ){ sqlite3VdbeAddOp2(v, OP_Goto, 0, ignoreDest); }else{ + if( onError==OE_Replace ) onError = OE_Abort; /* IMP: R-15569-63625 */ sqlite3HaltConstraint(pParse, onError, 0, 0); } sqlite3VdbeResolveLabel(v, allOk); @@ -77694,13 +84049,11 @@ static int sqlite3LoadExtension( handle = sqlite3OsDlOpen(pVfs, zFile); if( handle==0 ){ if( pzErrMsg ){ - zErrmsg = sqlite3StackAllocZero(db, nMsg); + *pzErrMsg = zErrmsg = sqlite3_malloc(nMsg); if( zErrmsg ){ sqlite3_snprintf(nMsg, zErrmsg, "unable to open shared library [%s]", zFile); sqlite3OsDlError(pVfs, nMsg-1, zErrmsg); - *pzErrMsg = sqlite3DbStrDup(0, zErrmsg); - sqlite3StackFree(db, zErrmsg); } } return SQLITE_ERROR; @@ -77709,13 +84062,11 @@ static int sqlite3LoadExtension( sqlite3OsDlSym(pVfs, handle, zProc); if( xInit==0 ){ if( pzErrMsg ){ - zErrmsg = sqlite3StackAllocZero(db, nMsg); + *pzErrMsg = zErrmsg = sqlite3_malloc(nMsg); if( zErrmsg ){ sqlite3_snprintf(nMsg, zErrmsg, "no entry point [%s] in shared library [%s]", zProc,zFile); sqlite3OsDlError(pVfs, nMsg-1, zErrmsg); - *pzErrMsg = sqlite3DbStrDup(0, zErrmsg); - sqlite3StackFree(db, zErrmsg); } sqlite3OsDlClose(pVfs, handle); } @@ -78102,6 +84453,9 @@ static int flagPragma(Parse *pParse, const char *zLeft, const char *zRight){ { "legacy_file_format", SQLITE_LegacyFileFmt }, { "fullfsync", SQLITE_FullFSync }, { "reverse_unordered_selects", SQLITE_ReverseOrder }, +#ifndef SQLITE_OMIT_AUTOMATIC_INDEX + { "automatic_index", SQLITE_AutoIndex }, +#endif #ifdef SQLITE_DEBUG { "sql_trace", SQLITE_SqlTrace }, { "vdbe_listing", SQLITE_VdbeListing }, @@ -78183,6 +84537,31 @@ static const char *actionName(u8 action){ } #endif + +/* +** Parameter eMode must be one of the PAGER_JOURNALMODE_XXX constants +** defined in pager.h. This function returns the associated lowercase +** journal-mode name. +*/ +SQLITE_PRIVATE const char *sqlite3JournalModename(int eMode){ + static char * const azModeName[] = { + "delete", "persist", "off", "truncate", "memory" +#ifndef SQLITE_OMIT_WAL + , "wal" +#endif + }; + assert( PAGER_JOURNALMODE_DELETE==0 ); + assert( PAGER_JOURNALMODE_PERSIST==1 ); + assert( PAGER_JOURNALMODE_OFF==2 ); + assert( PAGER_JOURNALMODE_TRUNCATE==3 ); + assert( PAGER_JOURNALMODE_MEMORY==4 ); + assert( PAGER_JOURNALMODE_WAL==5 ); + assert( eMode>=0 && eMode<=ArraySize(azModeName) ); + + if( eMode==ArraySize(azModeName) ) return 0; + return azModeName[eMode]; +} + /* ** Process a pragma statement. ** @@ -78255,11 +84634,11 @@ SQLITE_PRIVATE void sqlite3Pragma( ** page cache size value and the persistent page cache size value ** stored in the database file. ** - ** The default cache size is stored in meta-value 2 of page 1 of the - ** database file. The cache size is actually the absolute value of - ** this memory location. The sign of meta-value 2 determines the - ** synchronous setting. A negative value means synchronous is off - ** and a positive value means synchronous is on. + ** Older versions of SQLite would set the default cache size to a + ** negative number to indicate synchronous=OFF. These days, synchronous + ** is always on by default regardless of the sign of the default cache + ** size. But continue to take the absolute value of the default cache + ** size of historical compatibility. */ if( sqlite3StrICmp(zLeft,"default_cache_size")==0 ){ static const VdbeOpList getCacheSize[] = { @@ -78288,10 +84667,6 @@ SQLITE_PRIVATE void sqlite3Pragma( if( size<0 ) size = -size; sqlite3BeginWriteOperation(pParse, 0, iDb); sqlite3VdbeAddOp2(v, OP_Integer, size, 1); - sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, 2, BTREE_DEFAULT_CACHE_SIZE); - addr = sqlite3VdbeAddOp2(v, OP_IfPos, 2, 0); - sqlite3VdbeAddOp2(v, OP_Integer, -size, 1); - sqlite3VdbeJumpHere(v, addr); sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_DEFAULT_CACHE_SIZE, 1); pDb->pSchema->cache_size = size; sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size); @@ -78436,62 +84811,49 @@ SQLITE_PRIVATE void sqlite3Pragma( /* ** PRAGMA [database.]journal_mode - ** PRAGMA [database.]journal_mode = (delete|persist|off|truncate|memory) + ** PRAGMA [database.]journal_mode = + ** (delete|persist|off|truncate|memory|wal|off) */ if( sqlite3StrICmp(zLeft,"journal_mode")==0 ){ - int eMode; - static char * const azModeName[] = { - "delete", "persist", "off", "truncate", "memory" - }; + int eMode; /* One of the PAGER_JOURNALMODE_XXX symbols */ + int ii; /* Loop counter */ + + /* Force the schema to be loaded on all databases. This cases all + ** database files to be opened and the journal_modes set. */ + if( sqlite3ReadSchema(pParse) ){ + goto pragma_out; + } + + sqlite3VdbeSetNumCols(v, 1); + sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "journal_mode", SQLITE_STATIC); if( zRight==0 ){ + /* If there is no "=MODE" part of the pragma, do a query for the + ** current mode */ eMode = PAGER_JOURNALMODE_QUERY; }else{ + const char *zMode; int n = sqlite3Strlen30(zRight); - eMode = sizeof(azModeName)/sizeof(azModeName[0]) - 1; - while( eMode>=0 && sqlite3StrNICmp(zRight, azModeName[eMode], n)!=0 ){ - eMode--; + for(eMode=0; (zMode = sqlite3JournalModename(eMode))!=0; eMode++){ + if( sqlite3StrNICmp(zRight, zMode, n)==0 ) break; + } + if( !zMode ){ + /* If the "=MODE" part does not match any known journal mode, + ** then do a query */ + eMode = PAGER_JOURNALMODE_QUERY; } } - if( pId2->n==0 && eMode==PAGER_JOURNALMODE_QUERY ){ - /* Simple "PRAGMA journal_mode;" statement. This is a query for - ** the current default journal mode (which may be different to - ** the journal-mode of the main database). - */ - eMode = db->dfltJournalMode; - }else{ - Pager *pPager; - if( pId2->n==0 ){ - /* This indicates that no database name was specified as part - ** of the PRAGMA command. In this case the journal-mode must be - ** set on all attached databases, as well as the main db file. - ** - ** Also, the sqlite3.dfltJournalMode variable is set so that - ** any subsequently attached databases also use the specified - ** journal mode. - */ - int ii; - assert(pDb==&db->aDb[0]); - for(ii=1; iinDb; ii++){ - if( db->aDb[ii].pBt ){ - pPager = sqlite3BtreePager(db->aDb[ii].pBt); - sqlite3PagerJournalMode(pPager, eMode); - } - } - db->dfltJournalMode = (u8)eMode; + if( eMode==PAGER_JOURNALMODE_QUERY && pId2->n==0 ){ + /* Convert "PRAGMA journal_mode" into "PRAGMA main.journal_mode" */ + iDb = 0; + pId2->n = 1; + } + for(ii=db->nDb-1; ii>=0; ii--){ + if( db->aDb[ii].pBt && (ii==iDb || pId2->n==0) ){ + sqlite3VdbeUsesBtree(v, ii); + sqlite3VdbeAddOp3(v, OP_JournalMode, ii, 1, eMode); } - pPager = sqlite3BtreePager(pDb->pBt); - eMode = sqlite3PagerJournalMode(pPager, eMode); } - assert( eMode==PAGER_JOURNALMODE_DELETE - || eMode==PAGER_JOURNALMODE_TRUNCATE - || eMode==PAGER_JOURNALMODE_PERSIST - || eMode==PAGER_JOURNALMODE_OFF - || eMode==PAGER_JOURNALMODE_MEMORY ); - sqlite3VdbeSetNumCols(v, 1); - sqlite3VdbeSetColName(v, 0, COLNAME_NAME, "journal_mode", SQLITE_STATIC); - sqlite3VdbeAddOp4(v, OP_String8, 0, 1, 0, - azModeName[eMode], P4_STATIC); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 1); }else @@ -78683,7 +85045,7 @@ SQLITE_PRIVATE void sqlite3Pragma( } sqlite3_free(sqlite3_temp_directory); if( zRight[0] ){ - sqlite3_temp_directory = sqlite3DbStrDup(0, zRight); + sqlite3_temp_directory = sqlite3_mprintf("%s", zRight); }else{ sqlite3_temp_directory = 0; } @@ -79309,6 +85671,36 @@ SQLITE_PRIVATE void sqlite3Pragma( }else #endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ +#ifndef SQLITE_OMIT_WAL + /* + ** PRAGMA [database.]wal_checkpoint + ** + ** Checkpoint the database. + */ + if( sqlite3StrICmp(zLeft, "wal_checkpoint")==0 ){ + if( sqlite3ReadSchema(pParse) ) goto pragma_out; + sqlite3VdbeAddOp3(v, OP_Checkpoint, pId2->z?iDb:SQLITE_MAX_ATTACHED, 0, 0); + }else + + /* + ** PRAGMA wal_autocheckpoint + ** PRAGMA wal_autocheckpoint = N + ** + ** Configure a database connection to automatically checkpoint a database + ** after accumulating N frames in the log. Or query for the current value + ** of N. + */ + if( sqlite3StrICmp(zLeft, "wal_autocheckpoint")==0 ){ + if( zRight ){ + int nAuto = atoi(zRight); + sqlite3_wal_autocheckpoint(db, nAuto); + } + returnSingleInt(pParse, "wal_autocheckpoint", + db->xWalCallback==sqlite3WalDefaultHook ? + SQLITE_PTR_TO_INT(db->pWalArg) : 0); + }else +#endif + #if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) /* ** Report the current state of file logs for all databases @@ -79477,15 +85869,18 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char ** or executed. All the parser does is build the internal data ** structures that describe the table, index, or view. */ - char *zErr; int rc; + sqlite3_stmt *pStmt; + TESTONLY(int rcp); /* Return code from sqlite3_prepare() */ + assert( db->init.busy ); db->init.iDb = iDb; db->init.newTnum = atoi(argv[1]); db->init.orphanTrigger = 0; - rc = sqlite3_exec(db, argv[2], 0, 0, &zErr); + TESTONLY(rcp = ) sqlite3_prepare(db, argv[2], -1, &pStmt, 0); + rc = db->errCode; + assert( (rc&0xFF)==(rcp&0xFF) ); db->init.iDb = 0; - assert( rc!=SQLITE_OK || zErr==0 ); if( SQLITE_OK!=rc ){ if( db->init.orphanTrigger ){ assert( iDb==1 ); @@ -79493,12 +85888,12 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char pData->rc = rc; if( rc==SQLITE_NOMEM ){ db->mallocFailed = 1; - }else if( rc!=SQLITE_INTERRUPT && rc!=SQLITE_LOCKED ){ - corruptSchema(pData, argv[0], zErr); + }else if( rc!=SQLITE_INTERRUPT && (rc&0xFF)!=SQLITE_LOCKED ){ + corruptSchema(pData, argv[0], sqlite3_errmsg(db)); } } - sqlite3DbFree(db, zErr); } + sqlite3_finalize(pStmt); }else if( argv[0]==0 ){ corruptSchema(pData, 0, 0); }else{ @@ -79983,6 +86378,7 @@ static int sqlite3Prepare( sqlite3VtabUnlockList(db); pParse->db = db; + pParse->nQueryLoop = (double)1; if( nBytes>=0 && (nBytes==0 || zSql[nBytes-1]!=0) ){ char *zSqlCopy; int mxLen = db->aLimit[SQLITE_LIMIT_SQL_LENGTH]; @@ -80004,6 +86400,7 @@ static int sqlite3Prepare( }else{ sqlite3RunParser(pParse, zSql, &zErrMsg); } + assert( 1==(int)pParse->nQueryLoop ); if( db->mallocFailed ){ pParse->rc = SQLITE_NOMEM; @@ -80069,7 +86466,6 @@ static int sqlite3Prepare( while( pParse->pTriggerPrg ){ TriggerPrg *pT = pParse->pTriggerPrg; pParse->pTriggerPrg = pT->pNext; - sqlite3VdbeProgramDelete(db, pT->pProgram, 0); sqlite3DbFree(db, pT); } @@ -81560,16 +87956,15 @@ SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ return 0; } /* The sqlite3ResultSetOfSelect() is only used n contexts where lookaside - ** is disabled, so we might as well hard-code pTab->dbMem to NULL. */ + ** is disabled */ assert( db->lookaside.bEnabled==0 ); - pTab->dbMem = 0; pTab->nRef = 1; pTab->zName = 0; selectColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol); selectAddColumnTypeAndCollation(pParse, pTab->nCol, pTab->aCol, pSelect); pTab->iPKey = -1; if( db->mallocFailed ){ - sqlite3DeleteTable(pTab); + sqlite3DeleteTable(db, pTab); return 0; } return pTab; @@ -82061,7 +88456,7 @@ multi_select_end: ** regReturn is the number of the register holding the subroutine ** return address. ** -** If regPrev>0 then it is a the first register in a vector that +** If regPrev>0 then it is the first register in a vector that ** records the previous output. mem[regPrev] is a flag that is false ** if there has been no previous output. If regPrev>0 then code is ** generated to suppress duplicates. pKeyInfo is used for comparing @@ -82758,12 +89153,13 @@ static void substSelect( ** (2) The subquery is not an aggregate or the outer query is not a join. ** ** (3) The subquery is not the right operand of a left outer join -** (Originally ticket #306. Strenghtened by ticket #3300) +** (Originally ticket #306. Strengthened by ticket #3300) ** -** (4) The subquery is not DISTINCT or the outer query is not a join. +** (4) The subquery is not DISTINCT. ** -** (5) The subquery is not DISTINCT or the outer query does not use -** aggregates. +** (**) At one point restrictions (4) and (5) defined a subset of DISTINCT +** sub-queries that were excluded from this optimization. Restriction +** (4) has since been expanded to exclude all DISTINCT subqueries. ** ** (6) The subquery does not use aggregates or the outer query is not ** DISTINCT. @@ -82783,13 +89179,13 @@ static void substSelect( ** (**) Not implemented. Subsumed into restriction (3). Was previously ** a separate restriction deriving from ticket #350. ** -** (13) The subquery and outer query do not both use LIMIT +** (13) The subquery and outer query do not both use LIMIT. ** -** (14) The subquery does not use OFFSET +** (14) The subquery does not use OFFSET. ** ** (15) The outer query is not part of a compound select or the -** subquery does not have both an ORDER BY and a LIMIT clause. -** (See ticket #2339) +** subquery does not have a LIMIT clause. +** (See ticket #2339 and ticket [02a8e81d44]). ** ** (16) The outer query is not an aggregate or the subquery does ** not contain ORDER BY. (Ticket #2942) This used to not matter @@ -82872,13 +89268,13 @@ static int flattenSubquery( ** and (14). */ if( pSub->pLimit && p->pLimit ) return 0; /* Restriction (13) */ if( pSub->pOffset ) return 0; /* Restriction (14) */ - if( p->pRightmost && pSub->pLimit && pSub->pOrderBy ){ + if( p->pRightmost && pSub->pLimit ){ return 0; /* Restriction (15) */ } if( pSubSrc->nSrc==0 ) return 0; /* Restriction (7) */ - if( ((pSub->selFlags & SF_Distinct)!=0 || pSub->pLimit) - && (pSrc->nSrc>1 || isAgg) ){ /* Restrictions (4)(5)(8)(9) */ - return 0; + if( pSub->selFlags & SF_Distinct ) return 0; /* Restriction (5) */ + if( pSub->pLimit && (pSrc->nSrc>1 || isAgg) ){ + return 0; /* Restrictions (8)(9) */ } if( (p->selFlags & SF_Distinct)!=0 && subqueryIsAgg ){ return 0; /* Restriction (6) */ @@ -83282,6 +89678,7 @@ SQLITE_PRIVATE int sqlite3IndexedByLookup(Parse *pParse, struct SrcList_item *pF ); if( !pIdx ){ sqlite3ErrorMsg(pParse, "no such index: %s", zIndex, 0); + pParse->checkSchema = 1; return SQLITE_ERROR; } pFrom->pIndex = pIdx; @@ -83357,7 +89754,6 @@ static int selectExpander(Walker *pWalker, Select *p){ sqlite3WalkSelect(pWalker, pSel); pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); if( pTab==0 ) return WRC_Abort; - pTab->dbMem = db->lookaside.bEnabled ? db : 0; pTab->nRef = 1; pTab->zName = sqlite3MPrintf(db, "sqlite_subquery_%p_", (void*)pTab); while( pSel->pPrior ){ pSel = pSel->pPrior; } @@ -83760,6 +90156,18 @@ static void updateAccumulator(Parse *pParse, AggInfo *pAggInfo){ sqlite3ExprCacheClear(pParse); } } + + /* Before populating the accumulator registers, clear the column cache. + ** Otherwise, if any of the required column values are already present + ** in registers, sqlite3ExprCode() may use OP_SCopy to copy the value + ** to pC->iMem. But by the time the value is used, the original register + ** may have been used, invalidating the underlying buffer holding the + ** text or blob value. See ticket [883034dcb5]. + ** + ** Another solution would be to change the OP_SCopy used to copy cached + ** values to an OP_Copy. + */ + sqlite3ExprCacheClear(pParse); for(i=0, pC=pAggInfo->aCol; inAccumulator; i++, pC++){ sqlite3ExprCode(pParse, pC->pExpr, pC->iMem); } @@ -83968,6 +90376,18 @@ SQLITE_PRIVATE int sqlite3Select( isDistinct = 0; } + /* If there is both a GROUP BY and an ORDER BY clause and they are + ** identical, then disable the ORDER BY clause since the GROUP BY + ** will cause elements to come out in the correct order. This is + ** an optimization - the correct answer should result regardless. + ** Use the SQLITE_GroupByOrder flag with SQLITE_TESTCTRL_OPTIMIZER + ** to disable this optimization for testing purposes. + */ + if( sqlite3ExprListCompare(p->pGroupBy, pOrderBy)==0 + && (db->flags & SQLITE_GroupByOrder)==0 ){ + pOrderBy = 0; + } + /* If there is an ORDER BY clause, then this sorting ** index might end up being unused if the data can be ** extracted in pre-sorted order. If that is the case, then the @@ -85243,6 +91663,7 @@ SQLITE_PRIVATE void sqlite3DropTrigger(Parse *pParse, SrcList *pName, int noErr) if( !noErr ){ sqlite3ErrorMsg(pParse, "no such trigger: %S", pName, 0); } + pParse->checkSchema = 1; goto drop_trigger_cleanup; } sqlite3DropTriggerPtr(pParse, pTrigger); @@ -85546,6 +91967,7 @@ static TriggerPrg *codeRowTrigger( int iEndTrigger = 0; /* Label to jump to if WHEN is false */ assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) ); + assert( pTop->pVdbe ); /* Allocate the TriggerPrg and SubProgram objects. To ensure that they ** are freed if an error occurs, link them into the Parse.pTriggerPrg @@ -85556,7 +91978,7 @@ static TriggerPrg *codeRowTrigger( pTop->pTriggerPrg = pPrg; pPrg->pProgram = pProgram = sqlite3DbMallocZero(db, sizeof(SubProgram)); if( !pProgram ) return 0; - pProgram->nRef = 1; + sqlite3VdbeLinkSubProgram(pTop->pVdbe, pProgram); pPrg->pTrigger = pTrigger; pPrg->orconf = orconf; pPrg->aColmask[0] = 0xffffffff; @@ -85573,6 +91995,7 @@ static TriggerPrg *codeRowTrigger( pSubParse->pToplevel = pTop; pSubParse->zAuthContext = pTrigger->zName; pSubParse->eTriggerOp = pTrigger->op; + pSubParse->nQueryLoop = pParse->nQueryLoop; v = sqlite3GetVdbe(pSubParse); if( v ){ @@ -85689,8 +92112,9 @@ SQLITE_PRIVATE void sqlite3CodeRowTriggerDirect( /* Code the OP_Program opcode in the parent VDBE. P4 of the OP_Program ** is a pointer to the sub-vdbe containing the trigger program. */ if( pPrg ){ + int bRecursive = (p->zName && 0==(pParse->db->flags&SQLITE_RecTriggers)); + sqlite3VdbeAddOp3(v, OP_Program, reg, ignoreJump, ++pParse->nMem); - pPrg->pProgram->nRef++; sqlite3VdbeChangeP4(v, -1, (const char *)pPrg->pProgram, P4_SUBPROGRAM); VdbeComment( (v, "Call: %s.%s", (p->zName?p->zName:"fkey"), onErrorText(orconf))); @@ -85700,7 +92124,7 @@ SQLITE_PRIVATE void sqlite3CodeRowTriggerDirect( ** invocation is disallowed if (a) the sub-program is really a trigger, ** not a foreign key action, and (b) the flag to enable recursive triggers ** is clear. */ - sqlite3VdbeChangeP5(v, (u8)(p->zName && !(pParse->db->flags&SQLITE_RecTriggers))); + sqlite3VdbeChangeP5(v, (u8)bRecursive); } } @@ -86052,6 +92476,7 @@ SQLITE_PRIVATE void sqlite3Update( pRowidExpr = pChanges->a[i].pExpr; }else{ sqlite3ErrorMsg(pParse, "no such column: %s", pChanges->a[i].zName); + pParse->checkSchema = 1; goto update_cleanup; } } @@ -86236,8 +92661,7 @@ SQLITE_PRIVATE void sqlite3Update( ); for(i=0; inCol; i++){ if( aXRef[i]<0 || oldmask==0xffffffff || (oldmask & (1<xTrace */ Db *pDb = 0; /* Database to detach at end of vacuum */ int isMemDb; /* True if vacuuming a :memory: database */ - int nRes; + int nRes; /* Bytes of reserved space at the end of each page */ + int nDb; /* Number of attached databases */ if( !db->autoCommit ){ sqlite3SetString(pzErrMsg, db, "cannot VACUUM from within a transaction"); @@ -86624,7 +93049,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ saved_nChange = db->nChange; saved_nTotalChange = db->nTotalChange; saved_xTrace = db->xTrace; - db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks; + db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks | SQLITE_PreferBuiltin; db->flags &= ~(SQLITE_ForeignKeys | SQLITE_ReverseOrder); db->xTrace = 0; @@ -86645,15 +93070,18 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ ** time to parse and run the PRAGMA to turn journalling off than it does ** to write the journal header file. */ + nDb = db->nDb; if( sqlite3TempInMemory(db) ){ zSql = "ATTACH ':memory:' AS vacuum_db;"; }else{ zSql = "ATTACH '' AS vacuum_db;"; } rc = execSql(db, pzErrMsg, zSql); + if( db->nDb>nDb ){ + pDb = &db->aDb[db->nDb-1]; + assert( strcmp(pDb->zName,"vacuum_db")==0 ); + } if( rc!=SQLITE_OK ) goto end_of_vacuum; - pDb = &db->aDb[db->nDb-1]; - assert( strcmp(db->aDb[db->nDb-1].zName,"vacuum_db")==0 ); pTemp = db->aDb[db->nDb-1].pBt; /* The call to execSql() to attach the temp database has left the file @@ -86675,6 +93103,12 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ } #endif + /* Do not attempt to change the page size for a WAL database */ + if( sqlite3PagerGetJournalMode(sqlite3BtreePager(pMain)) + ==PAGER_JOURNALMODE_WAL ){ + db->nextPagesize = 0; + } + if( sqlite3BtreeSetPageSize(pTemp, sqlite3BtreeGetPageSize(pMain), nRes, 0) || (!isMemDb && sqlite3BtreeSetPageSize(pTemp, db->nextPagesize, nRes, 0)) || NEVER(db->mallocFailed) @@ -86811,6 +93245,7 @@ end_of_vacuum: db->nChange = saved_nChange; db->nTotalChange = saved_nTotalChange; db->xTrace = saved_xTrace; + sqlite3BtreeSetPageSize(pMain, -1, -1, 1); /* Currently there is an SQL level transaction open on the vacuum ** database. No locks are held on any other files (since the main file @@ -87057,14 +93492,14 @@ SQLITE_PRIVATE void sqlite3VtabUnlockList(sqlite3 *db){ ** in the list are moved to the sqlite3.pDisconnect list of the associated ** database connection. */ -SQLITE_PRIVATE void sqlite3VtabClear(Table *p){ - vtabDisconnectAll(0, p); +SQLITE_PRIVATE void sqlite3VtabClear(sqlite3 *db, Table *p){ + if( !db || db->pnBytesFreed==0 ) vtabDisconnectAll(0, p); if( p->azModuleArg ){ int i; for(i=0; inModuleArg; i++){ - sqlite3DbFree(p->dbMem, p->azModuleArg[i]); + sqlite3DbFree(db, p->azModuleArg[i]); } - sqlite3DbFree(p->dbMem, p->azModuleArg); + sqlite3DbFree(db, p->azModuleArg); } } @@ -87229,7 +93664,6 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){ assert( pTab==pOld ); /* Malloc must have failed inside HashInsert() */ return; } - pSchema->db = pParse->db; pParse->pNewTable = 0; } } @@ -87303,7 +93737,7 @@ static int vtabCallConstructor( *pzErr = sqlite3MPrintf(db, "vtable constructor failed: %s", zModuleName); }else { *pzErr = sqlite3MPrintf(db, "%s", zErr); - sqlite3DbFree(db, zErr); + sqlite3_free(zErr); } sqlite3DbFree(db, pVTable); }else if( ALWAYS(pVTable->pVtab) ){ @@ -87493,6 +93927,7 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ }else{ pParse->declareVtab = 1; pParse->db = db; + pParse->nQueryLoop = 1; if( SQLITE_OK==sqlite3RunParser(pParse, zCreateTable, &zErr) && pParse->pNewTable @@ -87517,7 +93952,7 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ if( pParse->pVdbe ){ sqlite3VdbeFinalize(pParse->pVdbe); } - sqlite3DeleteTable(pParse->pNewTable); + sqlite3DeleteTable(db, pParse->pNewTable); sqlite3StackFree(db, pParse); } @@ -87604,8 +94039,8 @@ SQLITE_PRIVATE int sqlite3VtabSync(sqlite3 *db, char **pzErrmsg){ if( pVtab && (x = pVtab->pModule->xSync)!=0 ){ rc = x(pVtab); sqlite3DbFree(db, *pzErrmsg); - *pzErrmsg = pVtab->zErrMsg; - pVtab->zErrMsg = 0; + *pzErrmsg = sqlite3DbStrDup(db, pVtab->zErrMsg); + sqlite3_free(pVtab->zErrMsg); } } db->aVTrans = aVTrans; @@ -88013,6 +94448,7 @@ struct WhereCost { #define WHERE_COLUMN_IN 0x00040000 /* x IN (...) */ #define WHERE_COLUMN_NULL 0x00080000 /* x IS NULL */ #define WHERE_INDEXED 0x000f0000 /* Anything that uses an index */ +#define WHERE_NOT_FULLSCAN 0x000f3000 /* Does not do a full table scan */ #define WHERE_IN_ABLE 0x000f1000 /* Able to support an IN operator */ #define WHERE_TOP_LIMIT 0x00100000 /* xEXPR or x>=EXPR constraint */ @@ -88022,6 +94458,7 @@ struct WhereCost { #define WHERE_UNIQUE 0x04000000 /* Selects no more than one row */ #define WHERE_VIRTUALTABLE 0x08000000 /* Use virtual-table processing */ #define WHERE_MULTI_OR 0x10000000 /* OR using multiple indices */ +#define WHERE_TEMP_INDEX 0x20000000 /* Uses an ephemeral index */ /* ** Initialize a preallocated WhereClause structure. @@ -88103,6 +94540,7 @@ static void whereClauseClear(WhereClause *pWC){ static int whereClauseInsert(WhereClause *pWC, Expr *p, u8 wtFlags){ WhereTerm *pTerm; int idx; + testcase( wtFlags & TERM_VIRTUAL ); /* EV: R-00211-15100 */ if( pWC->nTerm>=pWC->nSlot ){ WhereTerm *pOld = pWC->a; sqlite3 *db = pWC->pParse->db; @@ -88248,6 +94686,13 @@ static Bitmask exprSelectTableUsage(WhereMaskSet *pMaskSet, Select *pS){ ** Return TRUE if the given operator is one of the operators that is ** allowed for an indexable WHERE clause term. The allowed operators are ** "=", "<", ">", "<=", ">=", and "IN". +** +** IMPLEMENTATION-OF: R-59926-26393 To be usable by an index a term must be +** of one of the following forms: column = expression column > expression +** column >= expression column < expression column <= expression +** expression = column expression > column expression >= column +** expression < column expression <= column column IN +** (expression-list) column IN (subquery) column IS NULL */ static int allowedOp(int op){ assert( TK_GT>TK_EQ && TK_GTdb; /* Database connection */ sqlite3_value *pVal = 0; int op; /* Opcode of pRight */ @@ -88430,19 +94874,6 @@ static int isLikeOrGlob( return 0; } assert( pLeft->iColumn!=(-1) ); /* Because IPK never has AFF_TEXT */ - pColl = sqlite3ExprCollSeq(pParse, pLeft); - if( pColl==0 ) return 0; /* Happens when LHS has an undefined collation */ - if( (pColl->type!=SQLITE_COLL_BINARY || *pnoCase) && - (pColl->type!=SQLITE_COLL_NOCASE || !*pnoCase) ){ - /* IMP: R-09003-32046 For the GLOB operator, the column must use the - ** default BINARY collating sequence. - ** IMP: R-41408-28306 For the LIKE operator, if case_sensitive_like mode - ** is enabled then the column must use the default BINARY collating - ** sequence, or if case_sensitive_like mode is disabled then the column - ** must use the built-in NOCASE collating sequence. - */ - return 0; - } pRight = pList->a[0].pExpr; op = pRight->op; @@ -88465,9 +94896,9 @@ static int isLikeOrGlob( while( (c=z[cnt])!=0 && c!=wc[0] && c!=wc[1] && c!=wc[2] ){ cnt++; } - if( cnt!=0 && c!=0 && 255!=(u8)z[cnt-1] ){ + if( cnt!=0 && 255!=(u8)z[cnt-1] ){ Expr *pPrefix; - *pisComplete = z[cnt]==wc[0] && z[cnt+1]==0; + *pisComplete = c==wc[0] && z[cnt+1]==0; pPrefix = sqlite3Expr(db, TK_STRING, z); if( pPrefix ) pPrefix->u.zToken[cnt] = 0; *ppPrefix = pPrefix; @@ -88806,6 +95237,8 @@ static void exprAnalyzeOrTerm( /* At this point, okToChngToIN is true if original pTerm satisfies ** case 1. In that case, construct a new virtual term that is ** pTerm converted into an IN operator. + ** + ** EV: R-00211-15100 */ if( okToChngToIN ){ Expr *pDup; /* A transient duplicate expression */ @@ -89022,6 +95455,7 @@ static void exprAnalyze( Expr *pNewExpr2; int idxNew1; int idxNew2; + CollSeq *pColl; /* Collating sequence to use */ pLeft = pExpr->x.pList->a[1].pExpr; pStr2 = sqlite3ExprDup(db, pStr1, 0); @@ -89036,17 +95470,23 @@ static void exprAnalyze( ** inequality. To avoid this, make sure to also run the full ** LIKE on all candidate expressions by clearing the isComplete flag */ - if( c=='A'-1 ) isComplete = 0; + if( c=='A'-1 ) isComplete = 0; /* EV: R-64339-08207 */ + c = sqlite3UpperToLower[c]; } *pC = c + 1; } - pNewExpr1 = sqlite3PExpr(pParse, TK_GE, sqlite3ExprDup(db,pLeft,0),pStr1,0); + pColl = sqlite3FindCollSeq(db, SQLITE_UTF8, noCase ? "NOCASE" : "BINARY",0); + pNewExpr1 = sqlite3PExpr(pParse, TK_GE, + sqlite3ExprSetColl(sqlite3ExprDup(db,pLeft,0), pColl), + pStr1, 0); idxNew1 = whereClauseInsert(pWC, pNewExpr1, TERM_VIRTUAL|TERM_DYNAMIC); testcase( idxNew1==0 ); exprAnalyze(pSrc, pWC, idxNew1); - pNewExpr2 = sqlite3PExpr(pParse, TK_LT, sqlite3ExprDup(db,pLeft,0),pStr2,0); + pNewExpr2 = sqlite3PExpr(pParse, TK_LT, + sqlite3ExprSetColl(sqlite3ExprDup(db,pLeft,0), pColl), + pStr2, 0); idxNew2 = whereClauseInsert(pWC, pNewExpr2, TERM_VIRTUAL|TERM_DYNAMIC); testcase( idxNew2==0 ); exprAnalyze(pSrc, pWC, idxNew2); @@ -89351,6 +95791,11 @@ static void bestOrClauseIndex( WhereTerm * const pWCEnd = &pWC->a[pWC->nTerm]; /* End of pWC->a[] */ WhereTerm *pTerm; /* A single term of the WHERE clause */ + /* No OR-clause optimization allowed if the NOT INDEXED clause is used */ + if( pSrc->notIndexed ){ + return; + } + /* Search the WHERE clause terms for a usable WO_OR term. */ for(pTerm=pWC->a; pTermeOperator==WO_OR @@ -89393,8 +95838,9 @@ static void bestOrClauseIndex( /* If there is an ORDER BY clause, increase the scan cost to account ** for the cost of the sort. */ if( pOrderBy!=0 ){ + WHERETRACE(("... sorting increases OR cost %.9g to %.9g\n", + rTotal, rTotal+nRow*estLog(nRow))); rTotal += nRow*estLog(nRow); - WHERETRACE(("... sorting increases OR cost to %.9g\n", rTotal)); } /* If the cost of scanning using this OR term for optimization is @@ -89413,6 +95859,247 @@ static void bestOrClauseIndex( #endif /* SQLITE_OMIT_OR_OPTIMIZATION */ } +#ifndef SQLITE_OMIT_AUTOMATIC_INDEX +/* +** Return TRUE if the WHERE clause term pTerm is of a form where it +** could be used with an index to access pSrc, assuming an appropriate +** index existed. +*/ +static int termCanDriveIndex( + WhereTerm *pTerm, /* WHERE clause term to check */ + struct SrcList_item *pSrc, /* Table we are trying to access */ + Bitmask notReady /* Tables in outer loops of the join */ +){ + char aff; + if( pTerm->leftCursor!=pSrc->iCursor ) return 0; + if( pTerm->eOperator!=WO_EQ ) return 0; + if( (pTerm->prereqRight & notReady)!=0 ) return 0; + aff = pSrc->pTab->aCol[pTerm->u.leftColumn].affinity; + if( !sqlite3IndexAffinityOk(pTerm->pExpr, aff) ) return 0; + return 1; +} +#endif + +#ifndef SQLITE_OMIT_AUTOMATIC_INDEX +/* +** If the query plan for pSrc specified in pCost is a full table scan +** and indexing is allows (if there is no NOT INDEXED clause) and it +** possible to construct a transient index that would perform better +** than a full table scan even when the cost of constructing the index +** is taken into account, then alter the query plan to use the +** transient index. +*/ +static void bestAutomaticIndex( + Parse *pParse, /* The parsing context */ + WhereClause *pWC, /* The WHERE clause */ + struct SrcList_item *pSrc, /* The FROM clause term to search */ + Bitmask notReady, /* Mask of cursors that are not available */ + WhereCost *pCost /* Lowest cost query plan */ +){ + double nTableRow; /* Rows in the input table */ + double logN; /* log(nTableRow) */ + double costTempIdx; /* per-query cost of the transient index */ + WhereTerm *pTerm; /* A single term of the WHERE clause */ + WhereTerm *pWCEnd; /* End of pWC->a[] */ + Table *pTable; /* Table tht might be indexed */ + + if( (pParse->db->flags & SQLITE_AutoIndex)==0 ){ + /* Automatic indices are disabled at run-time */ + return; + } + if( (pCost->plan.wsFlags & WHERE_NOT_FULLSCAN)!=0 ){ + /* We already have some kind of index in use for this query. */ + return; + } + if( pSrc->notIndexed ){ + /* The NOT INDEXED clause appears in the SQL. */ + return; + } + + assert( pParse->nQueryLoop >= (double)1 ); + pTable = pSrc->pTab; + nTableRow = pTable->pIndex ? pTable->pIndex->aiRowEst[0] : 1000000; + logN = estLog(nTableRow); + costTempIdx = 2*logN*(nTableRow/pParse->nQueryLoop + 1); + if( costTempIdx>=pCost->rCost ){ + /* The cost of creating the transient table would be greater than + ** doing the full table scan */ + return; + } + + /* Search for any equality comparison term */ + pWCEnd = &pWC->a[pWC->nTerm]; + for(pTerm=pWC->a; pTermrCost, costTempIdx)); + pCost->rCost = costTempIdx; + pCost->nRow = logN + 1; + pCost->plan.wsFlags = WHERE_TEMP_INDEX; + pCost->used = pTerm->prereqRight; + break; + } + } +} +#else +# define bestAutomaticIndex(A,B,C,D,E) /* no-op */ +#endif /* SQLITE_OMIT_AUTOMATIC_INDEX */ + + +#ifndef SQLITE_OMIT_AUTOMATIC_INDEX +/* +** Generate code to construct the Index object for an automatic index +** and to set up the WhereLevel object pLevel so that the code generator +** makes use of the automatic index. +*/ +static void constructAutomaticIndex( + Parse *pParse, /* The parsing context */ + WhereClause *pWC, /* The WHERE clause */ + struct SrcList_item *pSrc, /* The FROM clause term to get the next index */ + Bitmask notReady, /* Mask of cursors that are not available */ + WhereLevel *pLevel /* Write new index here */ +){ + int nColumn; /* Number of columns in the constructed index */ + WhereTerm *pTerm; /* A single term of the WHERE clause */ + WhereTerm *pWCEnd; /* End of pWC->a[] */ + int nByte; /* Byte of memory needed for pIdx */ + Index *pIdx; /* Object describing the transient index */ + Vdbe *v; /* Prepared statement under construction */ + int regIsInit; /* Register set by initialization */ + int addrInit; /* Address of the initialization bypass jump */ + Table *pTable; /* The table being indexed */ + KeyInfo *pKeyinfo; /* Key information for the index */ + int addrTop; /* Top of the index fill loop */ + int regRecord; /* Register holding an index record */ + int n; /* Column counter */ + int i; /* Loop counter */ + int mxBitCol; /* Maximum column in pSrc->colUsed */ + CollSeq *pColl; /* Collating sequence to on a column */ + Bitmask idxCols; /* Bitmap of columns used for indexing */ + Bitmask extraCols; /* Bitmap of additional columns */ + + /* Generate code to skip over the creation and initialization of the + ** transient index on 2nd and subsequent iterations of the loop. */ + v = pParse->pVdbe; + assert( v!=0 ); + regIsInit = ++pParse->nMem; + addrInit = sqlite3VdbeAddOp1(v, OP_If, regIsInit); + sqlite3VdbeAddOp2(v, OP_Integer, 1, regIsInit); + + /* Count the number of columns that will be added to the index + ** and used to match WHERE clause constraints */ + nColumn = 0; + pTable = pSrc->pTab; + pWCEnd = &pWC->a[pWC->nTerm]; + idxCols = 0; + for(pTerm=pWC->a; pTermu.leftColumn; + Bitmask cMask = iCol>=BMS ? ((Bitmask)1)<<(BMS-1) : ((Bitmask)1)<0 ); + pLevel->plan.nEq = nColumn; + + /* Count the number of additional columns needed to create a + ** covering index. A "covering index" is an index that contains all + ** columns that are needed by the query. With a covering index, the + ** original table never needs to be accessed. Automatic indices must + ** be a covering index because the index will not be updated if the + ** original table changes and the index and table cannot both be used + ** if they go out of sync. + */ + extraCols = pSrc->colUsed & (~idxCols | (((Bitmask)1)<<(BMS-1))); + mxBitCol = (pTable->nCol >= BMS-1) ? BMS-1 : pTable->nCol; + testcase( pTable->nCol==BMS-1 ); + testcase( pTable->nCol==BMS-2 ); + for(i=0; icolUsed & (((Bitmask)1)<<(BMS-1)) ){ + nColumn += pTable->nCol - BMS + 1; + } + pLevel->plan.wsFlags |= WHERE_COLUMN_EQ | WHERE_IDX_ONLY | WO_EQ; + + /* Construct the Index object to describe this index */ + nByte = sizeof(Index); + nByte += nColumn*sizeof(int); /* Index.aiColumn */ + nByte += nColumn*sizeof(char*); /* Index.azColl */ + nByte += nColumn; /* Index.aSortOrder */ + pIdx = sqlite3DbMallocZero(pParse->db, nByte); + if( pIdx==0 ) return; + pLevel->plan.u.pIdx = pIdx; + pIdx->azColl = (char**)&pIdx[1]; + pIdx->aiColumn = (int*)&pIdx->azColl[nColumn]; + pIdx->aSortOrder = (u8*)&pIdx->aiColumn[nColumn]; + pIdx->zName = "auto-index"; + pIdx->nColumn = nColumn; + pIdx->pTable = pTable; + n = 0; + idxCols = 0; + for(pTerm=pWC->a; pTermu.leftColumn; + Bitmask cMask = iCol>=BMS ? ((Bitmask)1)<<(BMS-1) : ((Bitmask)1)<pExpr; + idxCols |= cMask; + pIdx->aiColumn[n] = pTerm->u.leftColumn; + pColl = sqlite3BinaryCompareCollSeq(pParse, pX->pLeft, pX->pRight); + pIdx->azColl[n] = pColl->zName; + n++; + } + } + } + assert( (u32)n==pLevel->plan.nEq ); + + /* Add additional columns needed to make the automatic index into + ** a covering index */ + for(i=0; iaiColumn[n] = i; + pIdx->azColl[n] = "BINARY"; + n++; + } + } + if( pSrc->colUsed & (((Bitmask)1)<<(BMS-1)) ){ + for(i=BMS-1; inCol; i++){ + pIdx->aiColumn[n] = i; + pIdx->azColl[n] = "BINARY"; + n++; + } + } + assert( n==nColumn ); + + /* Create the automatic index */ + pKeyinfo = sqlite3IndexKeyinfo(pParse, pIdx); + assert( pLevel->iIdxCur>=0 ); + sqlite3VdbeAddOp4(v, OP_OpenAutoindex, pLevel->iIdxCur, nColumn+1, 0, + (char*)pKeyinfo, P4_KEYINFO_HANDOFF); + VdbeComment((v, "for %s", pTable->zName)); + + /* Fill the automatic index with content */ + addrTop = sqlite3VdbeAddOp1(v, OP_Rewind, pLevel->iTabCur); + regRecord = sqlite3GetTempReg(pParse); + sqlite3GenerateIndexKey(pParse, pIdx, pLevel->iTabCur, regRecord, 1); + sqlite3VdbeAddOp2(v, OP_IdxInsert, pLevel->iIdxCur, regRecord); + sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); + sqlite3VdbeAddOp2(v, OP_Next, pLevel->iTabCur, addrTop+1); + sqlite3VdbeChangeP5(v, SQLITE_STMTSTATUS_AUTOINDEX); + sqlite3VdbeJumpHere(v, addrTop); + sqlite3ReleaseTempReg(pParse, regRecord); + + /* Jump here when skipping the initialization */ + sqlite3VdbeJumpHere(v, addrInit); +} +#endif /* SQLITE_OMIT_AUTOMATIC_INDEX */ + #ifndef SQLITE_OMIT_VIRTUALTABLE /* ** Allocate and populate an sqlite3_index_info structure. It is the @@ -89551,7 +96238,7 @@ static int vtabBestIndex(Parse *pParse, Table *pTab, sqlite3_index_info *p){ sqlite3ErrorMsg(pParse, "%s", pVtab->zErrMsg); } } - sqlite3DbFree(pParse->db, pVtab->zErrMsg); + sqlite3_free(pVtab->zErrMsg); pVtab->zErrMsg = 0; for(i=0; inConstraint; i++){ @@ -89597,6 +96284,7 @@ static void bestVirtualIndex( WhereTerm *pTerm; int i, j; int nOrderBy; + double rCost; /* Make sure wsFlags is initialized to some sane value. Otherwise, if the ** malloc in allocateIndexInfo() fails and this function returns leaving @@ -89683,6 +96371,15 @@ static void bestVirtualIndex( } } + /* If there is an ORDER BY clause, and the selected virtual table index + ** does not satisfy it, increase the cost of the scan accordingly. This + ** matches the processing for non-virtual tables in bestBtreeIndex(). + */ + rCost = pIdxInfo->estimatedCost; + if( pOrderBy && pIdxInfo->orderByConsumed==0 ){ + rCost += estLog(rCost)*rCost; + } + /* The cost is not allowed to be larger than SQLITE_BIG_DBL (the ** inital value of lowestCost in this loop. If it is, then the ** (costestimatedCost ){ + if( (SQLITE_BIG_DBL/((double)2))rCost = (SQLITE_BIG_DBL/((double)2)); }else{ - pCost->rCost = pIdxInfo->estimatedCost; + pCost->rCost = rCost; } pCost->plan.u.pVtabIdx = pIdxInfo; if( pIdxInfo->orderByConsumed ){ @@ -90094,14 +96791,14 @@ static void bestBtreeIndex( ** Set to true if there was at least one "x IN (SELECT ...)" term used ** in determining the value of nInMul. ** - ** nBound: + ** estBound: ** An estimate on the amount of the table that must be searched. A ** value of 100 means the entire table is searched. Range constraints ** might reduce this to a value less than 100 to indicate that only ** a fraction of the table needs searching. In the absence of ** sqlite_stat2 ANALYZE data, a single inequality reduces the search ** space to 1/3rd its original size. So an x>? constraint reduces - ** nBound to 33. Two constraints (x>? AND x? AND xnColumn; nEq++){ - WhereTerm *pTerm; /* A single term of the WHERE clause */ int j = pProbe->aiColumn[nEq]; pTerm = findTerm(pWC, iCur, j, notReady, eqTermMask, pIdx); if( pTerm==0 ) break; @@ -90140,7 +96838,7 @@ static void bestBtreeIndex( if( ExprHasProperty(pExpr, EP_xIsSelect) ){ nInMul *= 25; bInEst = 1; - }else if( pExpr->x.pList ){ + }else if( ALWAYS(pExpr->x.pList) ){ nInMul *= pExpr->x.pList->nExpr + 1; } }else if( pTerm->eOperator & WO_ISNULL ){ @@ -90149,18 +96847,20 @@ static void bestBtreeIndex( used |= pTerm->prereqRight; } - /* Determine the value of nBound. */ + /* Determine the value of estBound. */ if( nEqnColumn ){ int j = pProbe->aiColumn[nEq]; if( findTerm(pWC, iCur, j, notReady, WO_LT|WO_LE|WO_GT|WO_GE, pIdx) ){ WhereTerm *pTop = findTerm(pWC, iCur, j, notReady, WO_LT|WO_LE, pIdx); WhereTerm *pBtm = findTerm(pWC, iCur, j, notReady, WO_GT|WO_GE, pIdx); - whereRangeScanEst(pParse, pProbe, nEq, pBtm, pTop, &nBound); + whereRangeScanEst(pParse, pProbe, nEq, pBtm, pTop, &estBound); if( pTop ){ + nBound = 1; wsFlags |= WHERE_TOP_LIMIT; used |= pTop->prereqRight; } if( pBtm ){ + nBound++; wsFlags |= WHERE_BTM_LIMIT; used |= pBtm->prereqRight; } @@ -90191,7 +96891,7 @@ static void bestBtreeIndex( /* If currently calculating the cost of using an index (not the IPK ** index), determine if all required column data may be obtained without - ** seeking to entries in the main table (i.e. if the index is a covering + ** using the main table (i.e. if the index is a covering ** index for this query). If it is, set the WHERE_IDX_ONLY flag in ** wsFlags. Otherwise, set the bLookup variable to true. */ if( pIdx && wsFlags ){ @@ -90210,8 +96910,7 @@ static void bestBtreeIndex( } } - /**** Begin adding up the cost of using this index (Needs improvements) - ** + /* ** Estimate the number of rows of output. For an IN operator, ** do not let the estimate exceed half the rows in the table. */ @@ -90230,8 +96929,8 @@ static void bestBtreeIndex( /* Adjust the number of rows and the cost downward to reflect rows ** that are excluded by range constraints. */ - nRow = (nRow * (double)nBound) / (double)100; - cost = (cost * (double)nBound) / (double)100; + nRow = (nRow * (double)estBound) / (double)100; + cost = (cost * (double)estBound) / (double)100; /* Add in the estimated cost of sorting the result */ @@ -90248,17 +96947,75 @@ static void bestBtreeIndex( } /**** Cost of using this index has now been computed ****/ + /* If there are additional constraints on this table that cannot + ** be used with the current index, but which might lower the number + ** of output rows, adjust the nRow value accordingly. This only + ** matters if the current index is the least costly, so do not bother + ** with this step if we already know this index will not be chosen. + ** Also, never reduce the output row count below 2 using this step. + ** + ** Do not reduce the output row count if pSrc is the only table that + ** is notReady; if notReady is a power of two. This will be the case + ** when the main sqlite3WhereBegin() loop is scanning for a table with + ** and "optimal" index, and on such a scan the output row count + ** reduction is not valid because it does not update the "pCost->used" + ** bitmap. The notReady bitmap will also be a power of two when we + ** are scanning for the last table in a 64-way join. We are willing + ** to bypass this optimization in that corner case. + */ + if( nRow>2 && cost<=pCost->rCost && (notReady & (notReady-1))!=0 ){ + int k; /* Loop counter */ + int nSkipEq = nEq; /* Number of == constraints to skip */ + int nSkipRange = nBound; /* Number of < constraints to skip */ + Bitmask thisTab; /* Bitmap for pSrc */ + + thisTab = getMask(pWC->pMaskSet, iCur); + for(pTerm=pWC->a, k=pWC->nTerm; nRow>2 && k; k--, pTerm++){ + if( pTerm->wtFlags & TERM_VIRTUAL ) continue; + if( (pTerm->prereqAll & notReady)!=thisTab ) continue; + if( pTerm->eOperator & (WO_EQ|WO_IN|WO_ISNULL) ){ + if( nSkipEq ){ + /* Ignore the first nEq equality matches since the index + ** has already accounted for these */ + nSkipEq--; + }else{ + /* Assume each additional equality match reduces the result + ** set size by a factor of 10 */ + nRow /= 10; + } + }else if( pTerm->eOperator & (WO_LT|WO_LE|WO_GT|WO_GE) ){ + if( nSkipRange ){ + /* Ignore the first nBound range constraints since the index + ** has already accounted for these */ + nSkipRange--; + }else{ + /* Assume each additional range constraint reduces the result + ** set size by a factor of 3 */ + nRow /= 3; + } + }else{ + /* Any other expression lowers the output row count by half */ + nRow /= 2; + } + } + if( nRow<2 ) nRow = 2; + } + + WHERETRACE(( - "tbl=%s idx=%s nEq=%d nInMul=%d nBound=%d bSort=%d bLookup=%d" - " wsFlags=%d (nRow=%.2f cost=%.2f)\n", + "%s(%s): nEq=%d nInMul=%d estBound=%d bSort=%d bLookup=%d wsFlags=0x%x\n" + " notReady=0x%llx nRow=%.2f cost=%.2f used=0x%llx\n", pSrc->pTab->zName, (pIdx ? pIdx->zName : "ipk"), - nEq, nInMul, nBound, bSort, bLookup, wsFlags, nRow, cost + nEq, nInMul, estBound, bSort, bLookup, wsFlags, + notReady, nRow, cost, used )); /* If this index is the best we have seen so far, then record this ** index and its cost in the pCost structure. */ - if( (!pIdx || wsFlags) && costrCost ){ + if( (!pIdx || wsFlags) + && (costrCost || (cost<=pCost->rCost && nRownRow)) + ){ pCost->rCost = cost; pCost->nRow = nRow; pCost->used = used; @@ -90293,10 +97050,12 @@ static void bestBtreeIndex( ); WHERETRACE(("best index is: %s\n", - (pCost->plan.u.pIdx ? pCost->plan.u.pIdx->zName : "ipk") + ((pCost->plan.wsFlags & WHERE_NOT_FULLSCAN)==0 ? "none" : + pCost->plan.u.pIdx ? pCost->plan.u.pIdx->zName : "ipk") )); bestOrClauseIndex(pParse, pWC, pSrc, notReady, pOrderBy, pCost); + bestAutomaticIndex(pParse, pWC, pSrc, notReady, pCost); pCost->plan.wsFlags |= eqTermMask; } @@ -90344,6 +97103,9 @@ static void bestIndex( ** in the ON clause. The term is disabled in (3) because it is not part ** of a LEFT OUTER JOIN. In (1), the term is not disabled. ** +** IMPLEMENTATION-OF: R-24597-58655 No tests are done for terms that are +** completely satisfied by indices. +** ** Disabling a term causes that term to not be tested in the inner loop ** of the join. Disabling is an optimization. When terms are satisfied ** by indices, we disable them to prevent redundant tests in the inner @@ -90354,7 +97116,7 @@ static void bestIndex( */ static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){ if( pTerm - && ALWAYS((pTerm->wtFlags & TERM_CODED)==0) + && (pTerm->wtFlags & TERM_CODED)==0 && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin)) ){ pTerm->wtFlags |= TERM_CODED; @@ -90552,7 +97314,10 @@ static int codeAllEqualityTerms( int k = pIdx->aiColumn[j]; pTerm = findTerm(pWC, iCur, k, notReady, pLevel->plan.wsFlags, pIdx); if( NEVER(pTerm==0) ) break; - assert( (pTerm->wtFlags & TERM_CODED)==0 ); + /* The following true for indices with redundant columns. + ** Ex: CREATE INDEX i1 ON t1(a,b,a); SELECT * FROM t1 WHERE a=0 AND b=0; */ + testcase( (pTerm->wtFlags & TERM_CODED)!=0 ); + testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */ r1 = codeEqualityTerm(pParse, pTerm, pLevel, regBase+j); if( r1!=regBase+j ){ if( nReg==1 ){ @@ -90696,6 +97461,7 @@ static Bitmask codeOneLoopStart( assert( pTerm->pExpr!=0 ); assert( pTerm->leftCursor==iCur ); assert( omitTable==0 ); + testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */ iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, iReleaseReg); addrNxt = pLevel->addrNxt; sqlite3VdbeAddOp2(v, OP_MustBeInt, iRowidReg, addrNxt); @@ -90736,6 +97502,7 @@ static Bitmask codeOneLoopStart( assert( TK_LT==TK_GT+2 ); /* ... of the TK_xx values... */ assert( TK_GE==TK_GT+3 ); /* ... is correcct. */ + testcase( pStart->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */ pX = pStart->pExpr; assert( pX!=0 ); assert( pStart->leftCursor==iCur ); @@ -90753,6 +97520,7 @@ static Bitmask codeOneLoopStart( pX = pEnd->pExpr; assert( pX!=0 ); assert( pEnd->leftCursor==iCur ); + testcase( pEnd->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */ memEndValue = ++pParse->nMem; sqlite3ExprCode(pParse, pX->pRight, memEndValue); if( pX->op==TK_LT || pX->op==TK_GT ){ @@ -90766,7 +97534,11 @@ static Bitmask codeOneLoopStart( pLevel->op = bRev ? OP_Prev : OP_Next; pLevel->p1 = iCur; pLevel->p2 = start; - pLevel->p5 = (pStart==0 && pEnd==0) ?1:0; + if( pStart==0 && pEnd==0 ){ + pLevel->p5 = SQLITE_STMTSTATUS_FULLSCAN_STEP; + }else{ + assert( pLevel->p5==0 ); + } if( testOp!=OP_Noop ){ iRowidReg = iReleaseReg = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp2(v, OP_Rowid, iCur, iRowidReg); @@ -90806,7 +97578,7 @@ static Bitmask codeOneLoopStart( ** constraints but an index is selected anyway, in order ** to force the output order to conform to an ORDER BY. */ - int aStartOp[] = { + static const u8 aStartOp[] = { 0, 0, OP_Rewind, /* 2: (!start_constraints && startEq && !bRev) */ @@ -90816,12 +97588,12 @@ static Bitmask codeOneLoopStart( OP_SeekGe, /* 6: (start_constraints && startEq && !bRev) */ OP_SeekLe /* 7: (start_constraints && startEq && bRev) */ }; - int aEndOp[] = { + static const u8 aEndOp[] = { OP_Noop, /* 0: (!end_constraints) */ OP_IdxGE, /* 1: (end_constraints && !bRev) */ OP_IdxLT /* 2: (end_constraints && bRev) */ }; - int nEq = pLevel->plan.nEq; + int nEq = pLevel->plan.nEq; /* Number of == or IN terms */ int isMinQuery = 0; /* If this is an optimized SELECT min(x).. */ int regBase; /* Base register holding constraint values */ int r1; /* Temp register */ @@ -90831,11 +97603,12 @@ static Bitmask codeOneLoopStart( int endEq; /* True if range end uses ==, >= or <= */ int start_constraints; /* Start of range is constrained */ int nConstraint; /* Number of constraint terms */ - Index *pIdx; /* The index we will be using */ - int iIdxCur; /* The VDBE cursor for the index */ - int nExtraReg = 0; /* Number of extra registers needed */ - int op; /* Instruction opcode */ - char *zAff; + Index *pIdx; /* The index we will be using */ + int iIdxCur; /* The VDBE cursor for the index */ + int nExtraReg = 0; /* Number of extra registers needed */ + int op; /* Instruction opcode */ + char *zStartAff; /* Affinity for start of range constraint */ + char *zEndAff; /* Affinity for end of range constraint */ pIdx = pLevel->plan.u.pIdx; iIdxCur = pLevel->iIdxCur; @@ -90876,15 +97649,16 @@ static Bitmask codeOneLoopStart( ** starting at regBase. */ regBase = codeAllEqualityTerms( - pParse, pLevel, pWC, notReady, nExtraReg, &zAff + pParse, pLevel, pWC, notReady, nExtraReg, &zStartAff ); + zEndAff = sqlite3DbStrDup(pParse->db, zStartAff); addrNxt = pLevel->addrNxt; /* If we are doing a reverse order scan on an ascending index, or ** a forward order scan on a descending index, interchange the ** start and end terms (pRangeStart and pRangeEnd). */ - if( bRev==(pIdx->aSortOrder[nEq]==SQLITE_SO_ASC) ){ + if( nEqnColumn && bRev==(pIdx->aSortOrder[nEq]==SQLITE_SO_ASC) ){ SWAP(WhereTerm *, pRangeEnd, pRangeStart); } @@ -90902,25 +97676,26 @@ static Bitmask codeOneLoopStart( Expr *pRight = pRangeStart->pExpr->pRight; sqlite3ExprCode(pParse, pRight, regBase+nEq); sqlite3ExprCodeIsNullJump(v, pRight, regBase+nEq, addrNxt); - if( zAff ){ - if( sqlite3CompareAffinity(pRight, zAff[nConstraint])==SQLITE_AFF_NONE){ + if( zStartAff ){ + if( sqlite3CompareAffinity(pRight, zStartAff[nEq])==SQLITE_AFF_NONE){ /* Since the comparison is to be performed with no conversions ** applied to the operands, set the affinity to apply to pRight to ** SQLITE_AFF_NONE. */ - zAff[nConstraint] = SQLITE_AFF_NONE; + zStartAff[nEq] = SQLITE_AFF_NONE; } - if( sqlite3ExprNeedsNoAffinityChange(pRight, zAff[nConstraint]) ){ - zAff[nConstraint] = SQLITE_AFF_NONE; + if( sqlite3ExprNeedsNoAffinityChange(pRight, zStartAff[nEq]) ){ + zStartAff[nEq] = SQLITE_AFF_NONE; } } nConstraint++; + testcase( pRangeStart->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */ }else if( isMinQuery ){ sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); nConstraint++; startEq = 0; start_constraints = 1; } - codeApplyAffinity(pParse, regBase, nConstraint, zAff); + codeApplyAffinity(pParse, regBase, nConstraint, zStartAff); op = aStartOp[(start_constraints<<2) + (startEq<<1) + bRev]; assert( op!=0 ); testcase( op==OP_Rewind ); @@ -90940,21 +97715,23 @@ static Bitmask codeOneLoopStart( sqlite3ExprCacheRemove(pParse, regBase+nEq, 1); sqlite3ExprCode(pParse, pRight, regBase+nEq); sqlite3ExprCodeIsNullJump(v, pRight, regBase+nEq, addrNxt); - if( zAff ){ - if( sqlite3CompareAffinity(pRight, zAff[nConstraint])==SQLITE_AFF_NONE){ + if( zEndAff ){ + if( sqlite3CompareAffinity(pRight, zEndAff[nEq])==SQLITE_AFF_NONE){ /* Since the comparison is to be performed with no conversions ** applied to the operands, set the affinity to apply to pRight to ** SQLITE_AFF_NONE. */ - zAff[nConstraint] = SQLITE_AFF_NONE; + zEndAff[nEq] = SQLITE_AFF_NONE; } - if( sqlite3ExprNeedsNoAffinityChange(pRight, zAff[nConstraint]) ){ - zAff[nConstraint] = SQLITE_AFF_NONE; + if( sqlite3ExprNeedsNoAffinityChange(pRight, zEndAff[nEq]) ){ + zEndAff[nEq] = SQLITE_AFF_NONE; } } - codeApplyAffinity(pParse, regBase, nEq+1, zAff); + codeApplyAffinity(pParse, regBase, nEq+1, zEndAff); nConstraint++; + testcase( pRangeEnd->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */ } - sqlite3DbFree(pParse->db, zAff); + sqlite3DbFree(pParse->db, zStartAff); + sqlite3DbFree(pParse->db, zEndAff); /* Top of the loop body */ pLevel->p2 = sqlite3VdbeCurrentAddr(v); @@ -91158,11 +97935,15 @@ static Bitmask codeOneLoopStart( /* Insert code to test every subexpression that can be completely ** computed using the current set of tables. + ** + ** IMPLEMENTATION-OF: R-49525-50935 Terms that cannot be satisfied through + ** the use of indices become tests that are evaluated against each row of + ** the relevant input tables. */ k = 0; for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ Expr *pE; - testcase( pTerm->wtFlags & TERM_VIRTUAL ); + testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */ testcase( pTerm->wtFlags & TERM_CODED ); if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; if( (pTerm->prereqAll & notReady)!=0 ){ @@ -91190,7 +97971,7 @@ static Bitmask codeOneLoopStart( VdbeComment((v, "record LEFT JOIN hit")); sqlite3ExprCacheClear(pParse); for(pTerm=pWC->a, j=0; jnTerm; j++, pTerm++){ - testcase( pTerm->wtFlags & TERM_VIRTUAL ); + testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */ testcase( pTerm->wtFlags & TERM_CODED ); if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; if( (pTerm->prereqAll & notReady)!=0 ){ @@ -91224,7 +98005,7 @@ static int nQPlan = 0; /* Next free slow in _query_plan[] */ ** Free a WhereInfo structure */ static void whereInfoFree(sqlite3 *db, WhereInfo *pWInfo){ - if( pWInfo ){ + if( ALWAYS(pWInfo) ){ int i; for(i=0; inLevel; i++){ sqlite3_index_info *pInfo = pWInfo->a[i].pIdxInfo; @@ -91235,6 +98016,13 @@ static void whereInfoFree(sqlite3 *db, WhereInfo *pWInfo){ } sqlite3DbFree(db, pInfo); } + if( pWInfo->a[i].plan.wsFlags & WHERE_TEMP_INDEX ){ + Index *pIdx = pWInfo->a[i].plan.u.pIdx; + if( pIdx ){ + sqlite3DbFree(db, pIdx->zColAff); + sqlite3DbFree(db, pIdx); + } + } } whereClauseClear(pWInfo->pWC); sqlite3DbFree(db, pWInfo); @@ -91354,6 +98142,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( /* The number of tables in the FROM clause is limited by the number of ** bits in a Bitmask */ + testcase( pTabList->nSrc==BMS ); if( pTabList->nSrc>BMS ){ sqlite3ErrorMsg(pParse, "at most %d tables in a join", BMS); return 0; @@ -91381,6 +98170,8 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( sizeof(WhereMaskSet) ); if( db->mallocFailed ){ + sqlite3DbFree(db, pWInfo); + pWInfo = 0; goto whereBeginError; } pWInfo->nLevel = nTabList; @@ -91389,6 +98180,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( pWInfo->iBreak = sqlite3VdbeMakeLabel(v); pWInfo->pWC = pWC = (WhereClause *)&((u8 *)pWInfo)[nByteWInfo]; pWInfo->wctrlFlags = wctrlFlags; + pWInfo->savedNQueryLoop = pParse->nQueryLoop; pMaskSet = (WhereMaskSet*)&pWC[1]; /* Split the WHERE clause into separate subexpressions where each @@ -91397,7 +98189,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( initMaskSet(pMaskSet); whereClauseInit(pWC, pParse, pMaskSet); sqlite3ExprCodeConstants(pParse, pWhere); - whereSplit(pWC, pWhere, TK_AND); + whereSplit(pWC, pWhere, TK_AND); /* IMP: R-15842-53296 */ /* Special case: a WHERE clause that is constant. Evaluate the ** expression and either jump over all of the code or fall thru. @@ -91485,25 +98277,32 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( int bestJ = -1; /* The value of j */ Bitmask m; /* Bitmask value for j or bestJ */ int isOptimal; /* Iterator for optimal/non-optimal search */ + int nUnconstrained; /* Number tables without INDEXED BY */ + Bitmask notIndexed; /* Mask of tables that cannot use an index */ memset(&bestPlan, 0, sizeof(bestPlan)); bestPlan.rCost = SQLITE_BIG_DBL; /* Loop through the remaining entries in the FROM clause to find the - ** next nested loop. The FROM clause entries may be iterated through + ** next nested loop. The loop tests all FROM clause entries ** either once or twice. ** - ** The first iteration, which is always performed, searches for the - ** FROM clause entry that permits the lowest-cost, "optimal" scan. In + ** The first test is always performed if there are two or more entries + ** remaining and never performed if there is only one FROM clause entry + ** to choose from. The first test looks for an "optimal" scan. In ** this context an optimal scan is one that uses the same strategy ** for the given FROM clause entry as would be selected if the entry ** were used as the innermost nested loop. In other words, a table ** is chosen such that the cost of running that table cannot be reduced - ** by waiting for other tables to run first. + ** by waiting for other tables to run first. This "optimal" test works + ** by first assuming that the FROM clause is on the inner loop and finding + ** its query plan, then checking to see if that query plan uses any + ** other FROM clause terms that are notReady. If no notReady terms are + ** used then the "optimal" query plan works. ** - ** The second iteration is only performed if no optimal scan strategies - ** were found by the first. This iteration is used to search for the - ** lowest cost scan overall. + ** The second loop iteration is only performed if no optimal scan + ** strategies were found by the first loop. This 2nd iteration is used to + ** search for the lowest cost scan overall. ** ** Previous versions of SQLite performed only the second iteration - ** the next outermost loop was always that with the lowest overall @@ -91521,9 +98320,10 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( ** algorithm may choose to use t2 for the outer loop, which is a much ** costlier approach. */ - for(isOptimal=1; isOptimal>=0 && bestJ<0; isOptimal--){ - Bitmask mask = (isOptimal ? 0 : notReady); - assert( (nTabList-iFrom)>1 || isOptimal ); + nUnconstrained = 0; + notIndexed = 0; + for(isOptimal=(iFrom=0; isOptimal--){ + Bitmask mask; /* Mask of tables not yet ready */ for(j=iFrom, pTabItem=&pTabList->a[j]; jpIndex==0 ) nUnconstrained++; assert( pTabItem->pTab ); #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -91550,9 +98352,46 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } assert( isOptimal || (sCost.used¬Ready)==0 ); - if( (sCost.used¬Ready)==0 - && (j==iFrom || sCost.rCostpIndex==0 + || (sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)==0 + || sCost.plan.u.pIdx==pTabItem->pIndex ); + + if( isOptimal && (sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)==0 ){ + notIndexed |= m; + } + + /* Conditions under which this table becomes the best so far: + ** + ** (1) The table must not depend on other tables that have not + ** yet run. + ** + ** (2) A full-table-scan plan cannot supercede another plan unless + ** it is an "optimal" plan as defined above. + ** + ** (3) All tables have an INDEXED BY clause or this table lacks an + ** INDEXED BY clause or this table uses the specific + ** index specified by its INDEXED BY clause. This rule ensures + ** that a best-so-far is always selected even if an impossible + ** combination of INDEXED BY clauses are given. The error + ** will be detected and relayed back to the application later. + ** The NEVER() comes about because rule (2) above prevents + ** An indexable full-table-scan from reaching rule (3). + ** + ** (4) The plan cost must be lower than prior plans or else the + ** cost must be the same and the number of rows must be lower. + */ + if( (sCost.used¬Ready)==0 /* (1) */ + && (bestJ<0 || (notIndexed&m)!=0 /* (2) */ + || (sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)!=0) + && (nUnconstrained==0 || pTabItem->pIndex==0 /* (3) */ + || NEVER((sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)!=0)) + && (bestJ<0 || sCost.rCostplan = bestPlan.plan; - if( bestPlan.plan.wsFlags & WHERE_INDEXED ){ + testcase( bestPlan.plan.wsFlags & WHERE_INDEXED ); + testcase( bestPlan.plan.wsFlags & WHERE_TEMP_INDEX ); + if( bestPlan.plan.wsFlags & (WHERE_INDEXED|WHERE_TEMP_INDEX) ){ pLevel->iIdxCur = pParse->nTab++; }else{ pLevel->iIdxCur = -1; } notReady &= ~getMask(pMaskSet, pTabList->a[bestJ].iCursor); pLevel->iFrom = (u8)bestJ; + if( bestPlan.nRow>=(double)1 ) pParse->nQueryLoop *= bestPlan.nRow; /* Check that if the table scanned by this loop iteration had an ** INDEXED BY clause attached to it, that the named index is being @@ -91621,6 +98463,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( ** searching those tables. */ sqlite3CodeVerifySchema(pParse, -1); /* Insert the cookie verifier Goto */ + notReady = ~(Bitmask)0; for(i=0, pLevel=pWInfo->a; izAlias ){ zMsg = sqlite3MAppendf(db, zMsg, "%s AS %s", zMsg, pItem->zAlias); } - if( (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 ){ + if( (pLevel->plan.wsFlags & WHERE_TEMP_INDEX)!=0 ){ + zMsg = sqlite3MAppendf(db, zMsg, "%s WITH AUTOMATIC INDEX", zMsg); + }else if( (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 ){ zMsg = sqlite3MAppendf(db, zMsg, "%s WITH INDEX %s", zMsg, pLevel->plan.u.pIdx->zName); }else if( pLevel->plan.wsFlags & WHERE_MULTI_OR ){ @@ -91656,8 +98501,11 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( #endif /* SQLITE_OMIT_EXPLAIN */ pTabItem = &pTabList->a[pLevel->iFrom]; pTab = pTabItem->pTab; + pLevel->iTabCur = pTabItem->iCursor; iDb = sqlite3SchemaToIndex(db, pTab->pSchema); - if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ) continue; + if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ){ + /* Do nothing */ + }else #ifndef SQLITE_OMIT_VIRTUALTABLE if( (pLevel->plan.wsFlags & WHERE_VIRTUALTABLE)!=0 ){ const char *pVTab = (const char *)sqlite3GetVTable(db, pTab); @@ -91669,6 +98517,8 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( && (wctrlFlags & WHERE_OMIT_OPEN)==0 ){ int op = pWInfo->okOnePass ? OP_OpenWrite : OP_OpenRead; sqlite3OpenTable(pParse, pTabItem->iCursor, iDb, pTab, op); + testcase( pTab->nCol==BMS-1 ); + testcase( pTab->nCol==BMS ); if( !pWInfo->okOnePass && pTab->nColcolUsed; int n = 0; @@ -91680,7 +98530,11 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( }else{ sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName); } - pLevel->iTabCur = pTabItem->iCursor; +#ifndef SQLITE_OMIT_AUTOMATIC_INDEX + if( (pLevel->plan.wsFlags & WHERE_TEMP_INDEX)!=0 ){ + constructAutomaticIndex(pParse, pWC, pTabItem, notReady, pLevel); + }else +#endif if( (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 ){ Index *pIx = pLevel->plan.u.pIdx; KeyInfo *pKey = sqlite3IndexKeyinfo(pParse, pIx); @@ -91692,8 +98546,10 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( VdbeComment((v, "%s", pIx->zName)); } sqlite3CodeVerifySchema(pParse, iDb); + notReady &= ~getMask(pWC->pMaskSet, pTabItem->iCursor); } pWInfo->iTop = sqlite3VdbeCurrentAddr(v); + if( db->mallocFailed ) goto whereBeginError; /* Generate the code to do the search. Each iteration of the for ** loop below generates code for a single nested loop of the VM @@ -91761,7 +98617,10 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( /* Jump here if malloc fails */ whereBeginError: - whereInfoFree(db, pWInfo); + if( pWInfo ){ + pParse->nQueryLoop = pWInfo->savedNQueryLoop; + whereInfoFree(db, pWInfo); + } return 0; } @@ -91831,12 +98690,15 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ struct SrcList_item *pTabItem = &pTabList->a[pLevel->iFrom]; Table *pTab = pTabItem->pTab; assert( pTab!=0 ); - if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ) continue; - if( (pWInfo->wctrlFlags & WHERE_OMIT_CLOSE)==0 ){ - if( !pWInfo->okOnePass && (pLevel->plan.wsFlags & WHERE_IDX_ONLY)==0 ){ + if( (pTab->tabFlags & TF_Ephemeral)==0 + && pTab->pSelect==0 + && (pWInfo->wctrlFlags & WHERE_OMIT_CLOSE)==0 + ){ + int ws = pLevel->plan.wsFlags; + if( !pWInfo->okOnePass && (ws & WHERE_IDX_ONLY)==0 ){ sqlite3VdbeAddOp1(v, OP_Close, pTabItem->iCursor); } - if( (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 ){ + if( (ws & WHERE_INDEXED)!=0 && (ws & WHERE_TEMP_INDEX)==0 ){ sqlite3VdbeAddOp1(v, OP_Close, pLevel->iIdxCur); } } @@ -91884,6 +98746,7 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ /* Final cleanup */ + pParse->nQueryLoop = pWInfo->savedNQueryLoop; whereInfoFree(db, pWInfo); return; } @@ -92071,26 +98934,26 @@ struct AttachKey { int type; Token key; }; ** defined, then do no error processing. */ #define YYCODETYPE unsigned char -#define YYNOCODE 254 +#define YYNOCODE 253 #define YYACTIONTYPE unsigned short int #define YYWILDCARD 67 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; - Select* yy3; - ExprList* yy14; - SrcList* yy65; - struct LikeOp yy96; - Expr* yy132; - u8 yy186; - int yy328; - ExprSpan yy346; - struct TrigEvent yy378; - IdList* yy408; - struct {int value; int mask;} yy429; - TriggerStep* yy473; - struct LimitVal yy476; + int yy4; + struct TrigEvent yy90; + ExprSpan yy118; + TriggerStep* yy203; + u8 yy210; + struct {int value; int mask;} yy215; + SrcList* yy259; + struct LimitVal yy292; + Expr* yy314; + ExprList* yy322; + struct LikeOp yy342; + IdList* yy384; + Select* yy387; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -92099,8 +98962,8 @@ typedef union { #define sqlite3ParserARG_PDECL ,Parse *pParse #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse #define sqlite3ParserARG_STORE yypParser->pParse = pParse -#define YYNSTATE 631 -#define YYNRULE 330 +#define YYNSTATE 630 +#define YYNRULE 329 #define YYFALLBACK 1 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) @@ -92170,472 +99033,473 @@ static const YYMINORTYPE yyzerominor = { 0 }; ** shifting non-terminals after a reduce. ** yy_default[] Default action for each state. */ -#define YY_ACTTAB_COUNT (1550) +#define YY_ACTTAB_COUNT (1557) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 313, 49, 556, 46, 147, 172, 628, 598, 55, 55, - /* 10 */ 55, 55, 302, 53, 53, 53, 53, 52, 52, 51, - /* 20 */ 51, 51, 50, 238, 603, 66, 624, 623, 604, 598, - /* 30 */ 591, 585, 48, 53, 53, 53, 53, 52, 52, 51, - /* 40 */ 51, 51, 50, 238, 51, 51, 51, 50, 238, 56, - /* 50 */ 57, 47, 583, 582, 584, 584, 54, 54, 55, 55, - /* 60 */ 55, 55, 609, 53, 53, 53, 53, 52, 52, 51, - /* 70 */ 51, 51, 50, 238, 313, 598, 672, 330, 411, 217, + /* 0 */ 313, 960, 186, 419, 2, 172, 627, 597, 55, 55, + /* 10 */ 55, 55, 48, 53, 53, 53, 53, 52, 52, 51, + /* 20 */ 51, 51, 50, 238, 302, 283, 623, 622, 516, 515, + /* 30 */ 590, 584, 55, 55, 55, 55, 282, 53, 53, 53, + /* 40 */ 53, 52, 52, 51, 51, 51, 50, 238, 6, 56, + /* 50 */ 57, 47, 582, 581, 583, 583, 54, 54, 55, 55, + /* 60 */ 55, 55, 608, 53, 53, 53, 53, 52, 52, 51, + /* 70 */ 51, 51, 50, 238, 313, 597, 409, 330, 579, 579, /* 80 */ 32, 53, 53, 53, 53, 52, 52, 51, 51, 51, - /* 90 */ 50, 238, 330, 414, 621, 620, 166, 598, 673, 382, - /* 100 */ 379, 378, 602, 73, 591, 585, 307, 424, 166, 58, - /* 110 */ 377, 382, 379, 378, 516, 515, 624, 623, 254, 200, - /* 120 */ 199, 198, 377, 56, 57, 47, 583, 582, 584, 584, - /* 130 */ 54, 54, 55, 55, 55, 55, 581, 53, 53, 53, - /* 140 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 270, - /* 150 */ 226, 422, 283, 133, 177, 139, 284, 385, 279, 384, - /* 160 */ 169, 197, 251, 282, 253, 226, 411, 275, 440, 167, - /* 170 */ 139, 284, 385, 279, 384, 169, 571, 236, 591, 585, - /* 180 */ 240, 414, 275, 622, 621, 620, 674, 437, 441, 442, - /* 190 */ 602, 88, 352, 266, 439, 268, 438, 56, 57, 47, - /* 200 */ 583, 582, 584, 584, 54, 54, 55, 55, 55, 55, + /* 90 */ 50, 238, 330, 217, 620, 619, 166, 411, 624, 382, + /* 100 */ 379, 378, 7, 491, 590, 584, 200, 199, 198, 58, + /* 110 */ 377, 300, 414, 621, 481, 66, 623, 622, 621, 580, + /* 120 */ 254, 601, 94, 56, 57, 47, 582, 581, 583, 583, + /* 130 */ 54, 54, 55, 55, 55, 55, 671, 53, 53, 53, + /* 140 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 532, + /* 150 */ 226, 506, 507, 133, 177, 139, 284, 385, 279, 384, + /* 160 */ 169, 197, 342, 398, 251, 226, 253, 275, 388, 167, + /* 170 */ 139, 284, 385, 279, 384, 169, 570, 236, 590, 584, + /* 180 */ 672, 240, 275, 157, 620, 619, 554, 437, 51, 51, + /* 190 */ 51, 50, 238, 343, 439, 553, 438, 56, 57, 47, + /* 200 */ 582, 581, 583, 583, 54, 54, 55, 55, 55, 55, /* 210 */ 465, 53, 53, 53, 53, 52, 52, 51, 51, 51, - /* 220 */ 50, 238, 313, 471, 52, 52, 51, 51, 51, 50, - /* 230 */ 238, 234, 166, 491, 567, 382, 379, 378, 1, 440, - /* 240 */ 252, 176, 624, 623, 608, 67, 377, 513, 622, 443, - /* 250 */ 237, 577, 591, 585, 622, 172, 466, 598, 554, 441, - /* 260 */ 340, 409, 526, 580, 580, 349, 596, 553, 194, 482, - /* 270 */ 175, 56, 57, 47, 583, 582, 584, 584, 54, 54, - /* 280 */ 55, 55, 55, 55, 562, 53, 53, 53, 53, 52, - /* 290 */ 52, 51, 51, 51, 50, 238, 313, 594, 594, 594, - /* 300 */ 561, 578, 469, 65, 259, 351, 258, 411, 624, 623, - /* 310 */ 621, 620, 332, 576, 575, 240, 560, 568, 520, 411, - /* 320 */ 341, 237, 414, 624, 623, 598, 591, 585, 542, 519, - /* 330 */ 171, 602, 95, 68, 414, 624, 623, 624, 623, 38, - /* 340 */ 877, 506, 507, 602, 88, 56, 57, 47, 583, 582, - /* 350 */ 584, 584, 54, 54, 55, 55, 55, 55, 532, 53, + /* 220 */ 50, 238, 313, 390, 52, 52, 51, 51, 51, 50, + /* 230 */ 238, 391, 166, 491, 566, 382, 379, 378, 409, 440, + /* 240 */ 579, 579, 252, 440, 607, 66, 377, 513, 621, 49, + /* 250 */ 46, 147, 590, 584, 621, 16, 466, 189, 621, 441, + /* 260 */ 442, 673, 526, 441, 340, 577, 595, 64, 194, 482, + /* 270 */ 434, 56, 57, 47, 582, 581, 583, 583, 54, 54, + /* 280 */ 55, 55, 55, 55, 30, 53, 53, 53, 53, 52, + /* 290 */ 52, 51, 51, 51, 50, 238, 313, 593, 593, 593, + /* 300 */ 387, 578, 606, 493, 259, 351, 258, 411, 1, 623, + /* 310 */ 622, 496, 623, 622, 65, 240, 623, 622, 597, 443, + /* 320 */ 237, 239, 414, 341, 237, 602, 590, 584, 18, 603, + /* 330 */ 166, 601, 87, 382, 379, 378, 67, 623, 622, 38, + /* 340 */ 623, 622, 176, 270, 377, 56, 57, 47, 582, 581, + /* 350 */ 583, 583, 54, 54, 55, 55, 55, 55, 175, 53, /* 360 */ 53, 53, 53, 52, 52, 51, 51, 51, 50, 238, - /* 370 */ 313, 411, 579, 398, 531, 237, 621, 620, 388, 625, - /* 380 */ 500, 206, 167, 396, 233, 312, 414, 387, 569, 492, - /* 390 */ 216, 621, 620, 566, 622, 602, 74, 533, 210, 491, - /* 400 */ 591, 585, 548, 621, 620, 621, 620, 300, 598, 466, - /* 410 */ 481, 67, 603, 35, 622, 601, 604, 547, 6, 56, - /* 420 */ 57, 47, 583, 582, 584, 584, 54, 54, 55, 55, - /* 430 */ 55, 55, 601, 53, 53, 53, 53, 52, 52, 51, - /* 440 */ 51, 51, 50, 238, 313, 411, 184, 409, 528, 580, - /* 450 */ 580, 551, 962, 186, 419, 2, 353, 259, 351, 258, - /* 460 */ 414, 409, 411, 580, 580, 44, 411, 544, 240, 602, - /* 470 */ 94, 190, 7, 62, 591, 585, 598, 414, 350, 607, - /* 480 */ 493, 414, 409, 317, 580, 580, 602, 95, 496, 565, - /* 490 */ 602, 80, 203, 56, 57, 47, 583, 582, 584, 584, - /* 500 */ 54, 54, 55, 55, 55, 55, 535, 53, 53, 53, - /* 510 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 202, - /* 520 */ 564, 293, 511, 49, 562, 46, 147, 411, 394, 183, - /* 530 */ 563, 549, 505, 549, 174, 409, 322, 580, 580, 39, - /* 540 */ 561, 37, 414, 624, 623, 192, 473, 383, 591, 585, - /* 550 */ 474, 602, 80, 601, 504, 544, 560, 364, 402, 210, - /* 560 */ 421, 952, 361, 952, 365, 201, 144, 56, 57, 47, - /* 570 */ 583, 582, 584, 584, 54, 54, 55, 55, 55, 55, - /* 580 */ 559, 53, 53, 53, 53, 52, 52, 51, 51, 51, - /* 590 */ 50, 238, 313, 601, 232, 264, 272, 321, 374, 484, - /* 600 */ 510, 146, 342, 146, 328, 425, 485, 407, 576, 575, - /* 610 */ 622, 621, 620, 49, 168, 46, 147, 353, 546, 491, - /* 620 */ 204, 240, 591, 585, 421, 951, 549, 951, 549, 168, - /* 630 */ 429, 67, 390, 343, 622, 434, 307, 423, 338, 360, - /* 640 */ 391, 56, 57, 47, 583, 582, 584, 584, 54, 54, - /* 650 */ 55, 55, 55, 55, 601, 53, 53, 53, 53, 52, - /* 660 */ 52, 51, 51, 51, 50, 238, 313, 34, 318, 425, - /* 670 */ 237, 21, 359, 273, 411, 167, 411, 276, 411, 540, - /* 680 */ 411, 422, 13, 318, 619, 618, 617, 622, 275, 414, - /* 690 */ 336, 414, 622, 414, 622, 414, 591, 585, 602, 69, - /* 700 */ 602, 97, 602, 100, 602, 98, 631, 629, 334, 475, - /* 710 */ 475, 367, 319, 148, 327, 56, 57, 47, 583, 582, - /* 720 */ 584, 584, 54, 54, 55, 55, 55, 55, 411, 53, + /* 370 */ 313, 396, 233, 411, 531, 565, 317, 620, 619, 44, + /* 380 */ 620, 619, 240, 206, 620, 619, 597, 266, 414, 268, + /* 390 */ 409, 597, 579, 579, 352, 184, 505, 601, 73, 533, + /* 400 */ 590, 584, 466, 548, 190, 620, 619, 576, 620, 619, + /* 410 */ 547, 383, 551, 35, 332, 575, 574, 600, 504, 56, + /* 420 */ 57, 47, 582, 581, 583, 583, 54, 54, 55, 55, + /* 430 */ 55, 55, 567, 53, 53, 53, 53, 52, 52, 51, + /* 440 */ 51, 51, 50, 238, 313, 411, 561, 561, 528, 364, + /* 450 */ 259, 351, 258, 183, 361, 549, 524, 374, 411, 597, + /* 460 */ 414, 240, 560, 560, 409, 604, 579, 579, 328, 601, + /* 470 */ 93, 623, 622, 414, 590, 584, 237, 564, 559, 559, + /* 480 */ 520, 402, 601, 87, 409, 210, 579, 579, 168, 421, + /* 490 */ 950, 519, 950, 56, 57, 47, 582, 581, 583, 583, + /* 500 */ 54, 54, 55, 55, 55, 55, 192, 53, 53, 53, + /* 510 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 600, + /* 520 */ 293, 563, 511, 234, 357, 146, 475, 475, 367, 411, + /* 530 */ 562, 411, 358, 542, 425, 171, 411, 215, 144, 620, + /* 540 */ 619, 544, 318, 353, 414, 203, 414, 275, 590, 584, + /* 550 */ 549, 414, 174, 601, 94, 601, 79, 558, 471, 61, + /* 560 */ 601, 79, 421, 949, 350, 949, 34, 56, 57, 47, + /* 570 */ 582, 581, 583, 583, 54, 54, 55, 55, 55, 55, + /* 580 */ 535, 53, 53, 53, 53, 52, 52, 51, 51, 51, + /* 590 */ 50, 238, 313, 307, 424, 394, 272, 49, 46, 147, + /* 600 */ 349, 322, 4, 411, 491, 312, 321, 425, 568, 492, + /* 610 */ 216, 264, 407, 575, 574, 429, 66, 549, 414, 621, + /* 620 */ 540, 602, 590, 584, 13, 603, 621, 601, 72, 12, + /* 630 */ 618, 617, 616, 202, 210, 621, 546, 469, 422, 319, + /* 640 */ 148, 56, 57, 47, 582, 581, 583, 583, 54, 54, + /* 650 */ 55, 55, 55, 55, 338, 53, 53, 53, 53, 52, + /* 660 */ 52, 51, 51, 51, 50, 238, 313, 600, 600, 411, + /* 670 */ 39, 21, 37, 170, 237, 875, 411, 572, 572, 201, + /* 680 */ 144, 473, 538, 331, 414, 474, 143, 146, 630, 628, + /* 690 */ 334, 414, 353, 601, 68, 168, 590, 584, 132, 365, + /* 700 */ 601, 96, 307, 423, 530, 336, 49, 46, 147, 568, + /* 710 */ 406, 216, 549, 360, 529, 56, 57, 47, 582, 581, + /* 720 */ 583, 583, 54, 54, 55, 55, 55, 55, 411, 53, /* 730 */ 53, 53, 53, 52, 52, 51, 51, 51, 50, 238, - /* 740 */ 313, 411, 331, 414, 411, 49, 276, 46, 147, 569, - /* 750 */ 406, 216, 602, 106, 573, 573, 414, 354, 524, 414, - /* 760 */ 411, 622, 411, 224, 4, 602, 104, 605, 602, 108, - /* 770 */ 591, 585, 622, 20, 375, 414, 167, 414, 215, 144, - /* 780 */ 470, 239, 167, 225, 602, 109, 602, 134, 18, 56, - /* 790 */ 57, 47, 583, 582, 584, 584, 54, 54, 55, 55, + /* 740 */ 313, 411, 605, 414, 484, 510, 172, 422, 597, 318, + /* 750 */ 496, 485, 601, 99, 411, 142, 414, 411, 231, 411, + /* 760 */ 540, 411, 359, 629, 2, 601, 97, 426, 308, 414, + /* 770 */ 590, 584, 414, 20, 414, 621, 414, 621, 601, 106, + /* 780 */ 503, 601, 105, 601, 108, 601, 109, 204, 28, 56, + /* 790 */ 57, 47, 582, 581, 583, 583, 54, 54, 55, 55, /* 800 */ 55, 55, 411, 53, 53, 53, 53, 52, 52, 51, - /* 810 */ 51, 51, 50, 238, 313, 411, 276, 414, 12, 459, - /* 820 */ 276, 171, 411, 16, 223, 189, 602, 135, 354, 170, - /* 830 */ 414, 622, 630, 2, 411, 622, 540, 414, 143, 602, - /* 840 */ 61, 359, 132, 622, 591, 585, 602, 105, 458, 414, - /* 850 */ 23, 622, 446, 326, 23, 538, 622, 325, 602, 103, - /* 860 */ 427, 530, 309, 56, 57, 47, 583, 582, 584, 584, + /* 810 */ 51, 51, 50, 238, 313, 411, 597, 414, 411, 276, + /* 820 */ 214, 600, 411, 366, 213, 381, 601, 134, 274, 500, + /* 830 */ 414, 167, 130, 414, 621, 411, 354, 414, 376, 601, + /* 840 */ 135, 129, 601, 100, 590, 584, 601, 104, 522, 521, + /* 850 */ 414, 621, 224, 273, 600, 167, 327, 282, 600, 601, + /* 860 */ 103, 468, 521, 56, 57, 47, 582, 581, 583, 583, /* 870 */ 54, 54, 55, 55, 55, 55, 411, 53, 53, 53, /* 880 */ 53, 52, 52, 51, 51, 51, 50, 238, 313, 411, - /* 890 */ 264, 414, 411, 276, 359, 219, 157, 214, 357, 366, - /* 900 */ 602, 96, 522, 521, 414, 622, 358, 414, 622, 622, - /* 910 */ 411, 613, 612, 602, 102, 142, 602, 77, 591, 585, - /* 920 */ 529, 540, 231, 426, 308, 414, 622, 622, 468, 521, - /* 930 */ 324, 601, 257, 263, 602, 99, 622, 56, 45, 47, - /* 940 */ 583, 582, 584, 584, 54, 54, 55, 55, 55, 55, + /* 890 */ 27, 414, 411, 375, 276, 167, 359, 544, 50, 238, + /* 900 */ 601, 95, 128, 223, 414, 411, 165, 414, 411, 621, + /* 910 */ 411, 621, 612, 601, 102, 372, 601, 76, 590, 584, + /* 920 */ 414, 570, 236, 414, 470, 414, 167, 621, 188, 601, + /* 930 */ 98, 225, 601, 138, 601, 137, 232, 56, 45, 47, + /* 940 */ 582, 581, 583, 583, 54, 54, 55, 55, 55, 55, /* 950 */ 411, 53, 53, 53, 53, 52, 52, 51, 51, 51, - /* 960 */ 50, 238, 313, 264, 264, 414, 411, 213, 209, 544, - /* 970 */ 544, 207, 611, 28, 602, 138, 50, 238, 622, 622, - /* 980 */ 381, 414, 503, 140, 323, 222, 274, 622, 590, 589, - /* 990 */ 602, 137, 591, 585, 629, 334, 606, 30, 622, 571, - /* 1000 */ 236, 601, 601, 130, 496, 601, 453, 451, 288, 286, - /* 1010 */ 587, 586, 57, 47, 583, 582, 584, 584, 54, 54, + /* 960 */ 50, 238, 313, 276, 276, 414, 411, 276, 544, 459, + /* 970 */ 359, 171, 209, 479, 601, 136, 628, 334, 621, 621, + /* 980 */ 125, 414, 621, 368, 411, 621, 257, 540, 589, 588, + /* 990 */ 601, 75, 590, 584, 458, 446, 23, 23, 124, 414, + /* 1000 */ 326, 325, 621, 427, 324, 309, 600, 288, 601, 92, + /* 1010 */ 586, 585, 57, 47, 582, 581, 583, 583, 54, 54, /* 1020 */ 55, 55, 55, 55, 411, 53, 53, 53, 53, 52, - /* 1030 */ 52, 51, 51, 51, 50, 238, 313, 588, 411, 414, - /* 1040 */ 411, 264, 410, 129, 595, 400, 27, 376, 602, 136, - /* 1050 */ 128, 165, 479, 414, 282, 414, 622, 622, 411, 622, - /* 1060 */ 622, 411, 602, 76, 602, 93, 591, 585, 188, 372, - /* 1070 */ 368, 125, 476, 414, 261, 160, 414, 171, 124, 472, - /* 1080 */ 123, 15, 602, 92, 450, 602, 75, 47, 583, 582, - /* 1090 */ 584, 584, 54, 54, 55, 55, 55, 55, 464, 53, + /* 1030 */ 52, 51, 51, 51, 50, 238, 313, 587, 411, 414, + /* 1040 */ 411, 207, 611, 476, 171, 472, 160, 123, 601, 91, + /* 1050 */ 323, 261, 15, 414, 464, 414, 411, 621, 411, 354, + /* 1060 */ 222, 411, 601, 74, 601, 90, 590, 584, 159, 264, + /* 1070 */ 158, 414, 461, 414, 621, 600, 414, 121, 120, 25, + /* 1080 */ 601, 89, 601, 101, 621, 601, 88, 47, 582, 581, + /* 1090 */ 583, 583, 54, 54, 55, 55, 55, 55, 544, 53, /* 1100 */ 53, 53, 53, 52, 52, 51, 51, 51, 50, 238, - /* 1110 */ 43, 405, 264, 3, 558, 264, 545, 415, 623, 159, - /* 1120 */ 541, 158, 539, 278, 25, 461, 121, 622, 408, 622, - /* 1130 */ 622, 622, 24, 43, 405, 622, 3, 622, 622, 120, - /* 1140 */ 415, 623, 11, 456, 411, 156, 452, 403, 509, 277, - /* 1150 */ 118, 408, 489, 113, 205, 449, 271, 567, 221, 414, - /* 1160 */ 269, 267, 155, 622, 622, 111, 411, 622, 602, 95, - /* 1170 */ 403, 622, 411, 110, 10, 622, 622, 40, 41, 534, - /* 1180 */ 567, 414, 64, 264, 42, 413, 412, 414, 601, 596, - /* 1190 */ 602, 91, 445, 436, 150, 435, 602, 90, 622, 265, - /* 1200 */ 40, 41, 337, 242, 411, 191, 333, 42, 413, 412, - /* 1210 */ 398, 420, 596, 316, 622, 399, 260, 107, 230, 414, - /* 1220 */ 594, 594, 594, 593, 592, 14, 220, 411, 602, 101, - /* 1230 */ 240, 622, 43, 405, 362, 3, 149, 315, 626, 415, - /* 1240 */ 623, 127, 414, 594, 594, 594, 593, 592, 14, 622, - /* 1250 */ 408, 602, 89, 411, 181, 33, 405, 463, 3, 411, - /* 1260 */ 264, 462, 415, 623, 616, 615, 614, 355, 414, 403, - /* 1270 */ 417, 416, 622, 408, 414, 622, 622, 602, 87, 567, - /* 1280 */ 418, 627, 622, 602, 86, 8, 241, 180, 126, 255, - /* 1290 */ 600, 178, 403, 240, 208, 455, 395, 294, 444, 40, - /* 1300 */ 41, 297, 567, 248, 622, 296, 42, 413, 412, 247, - /* 1310 */ 622, 596, 244, 622, 30, 60, 31, 243, 430, 624, - /* 1320 */ 623, 292, 40, 41, 622, 295, 145, 622, 601, 42, - /* 1330 */ 413, 412, 622, 622, 596, 393, 622, 397, 599, 59, - /* 1340 */ 235, 622, 594, 594, 594, 593, 592, 14, 218, 291, - /* 1350 */ 622, 36, 344, 305, 304, 303, 179, 301, 411, 567, - /* 1360 */ 454, 557, 173, 185, 622, 594, 594, 594, 593, 592, - /* 1370 */ 14, 411, 29, 414, 151, 289, 246, 523, 411, 196, - /* 1380 */ 195, 335, 602, 85, 411, 245, 414, 526, 392, 543, - /* 1390 */ 411, 596, 287, 414, 285, 602, 72, 537, 153, 414, - /* 1400 */ 466, 411, 602, 71, 154, 414, 411, 152, 602, 84, - /* 1410 */ 386, 536, 329, 411, 602, 83, 414, 518, 280, 411, - /* 1420 */ 513, 414, 594, 594, 594, 602, 82, 517, 414, 311, - /* 1430 */ 602, 81, 411, 514, 414, 512, 131, 602, 70, 229, - /* 1440 */ 228, 227, 494, 602, 17, 411, 488, 414, 259, 346, - /* 1450 */ 249, 389, 487, 486, 314, 164, 602, 79, 310, 240, - /* 1460 */ 414, 373, 480, 163, 262, 371, 414, 162, 369, 602, - /* 1470 */ 78, 212, 478, 26, 477, 602, 9, 161, 467, 363, - /* 1480 */ 141, 122, 339, 187, 119, 457, 348, 347, 117, 116, - /* 1490 */ 115, 112, 114, 448, 182, 22, 320, 433, 432, 431, - /* 1500 */ 19, 428, 610, 597, 574, 193, 572, 63, 298, 404, - /* 1510 */ 555, 552, 290, 281, 510, 460, 498, 499, 495, 447, - /* 1520 */ 356, 497, 256, 380, 306, 570, 5, 250, 345, 238, - /* 1530 */ 299, 550, 527, 490, 508, 525, 502, 401, 501, 963, - /* 1540 */ 211, 963, 483, 963, 963, 963, 963, 963, 963, 370, + /* 1110 */ 43, 405, 263, 3, 610, 264, 140, 415, 622, 24, + /* 1120 */ 410, 11, 456, 594, 118, 155, 219, 452, 408, 621, + /* 1130 */ 621, 621, 156, 43, 405, 621, 3, 286, 621, 113, + /* 1140 */ 415, 622, 111, 445, 411, 400, 557, 403, 545, 10, + /* 1150 */ 411, 408, 264, 110, 205, 436, 541, 566, 453, 414, + /* 1160 */ 621, 621, 63, 621, 435, 414, 411, 621, 601, 94, + /* 1170 */ 403, 621, 411, 337, 601, 86, 150, 40, 41, 534, + /* 1180 */ 566, 414, 242, 264, 42, 413, 412, 414, 600, 595, + /* 1190 */ 601, 85, 191, 333, 107, 451, 601, 84, 621, 539, + /* 1200 */ 40, 41, 420, 230, 411, 149, 316, 42, 413, 412, + /* 1210 */ 398, 127, 595, 315, 621, 399, 278, 625, 181, 414, + /* 1220 */ 593, 593, 593, 592, 591, 14, 450, 411, 601, 71, + /* 1230 */ 240, 621, 43, 405, 264, 3, 615, 180, 264, 415, + /* 1240 */ 622, 614, 414, 593, 593, 593, 592, 591, 14, 621, + /* 1250 */ 408, 601, 70, 621, 417, 33, 405, 613, 3, 411, + /* 1260 */ 264, 411, 415, 622, 418, 626, 178, 509, 8, 403, + /* 1270 */ 241, 416, 126, 408, 414, 621, 414, 449, 208, 566, + /* 1280 */ 240, 221, 621, 601, 83, 601, 82, 599, 297, 277, + /* 1290 */ 296, 30, 403, 31, 395, 264, 295, 397, 489, 40, + /* 1300 */ 41, 411, 566, 220, 621, 294, 42, 413, 412, 271, + /* 1310 */ 621, 595, 600, 621, 59, 60, 414, 269, 267, 623, + /* 1320 */ 622, 36, 40, 41, 621, 601, 81, 598, 235, 42, + /* 1330 */ 413, 412, 621, 621, 595, 265, 344, 411, 248, 556, + /* 1340 */ 173, 185, 593, 593, 593, 592, 591, 14, 218, 29, + /* 1350 */ 621, 543, 414, 305, 304, 303, 179, 301, 411, 566, + /* 1360 */ 454, 601, 80, 289, 335, 593, 593, 593, 592, 591, + /* 1370 */ 14, 411, 287, 414, 151, 392, 246, 260, 411, 196, + /* 1380 */ 195, 523, 601, 69, 411, 245, 414, 526, 537, 285, + /* 1390 */ 389, 595, 621, 414, 536, 601, 17, 362, 153, 414, + /* 1400 */ 466, 463, 601, 78, 154, 414, 462, 152, 601, 77, + /* 1410 */ 355, 255, 621, 455, 601, 9, 621, 386, 444, 517, + /* 1420 */ 247, 621, 593, 593, 593, 621, 621, 244, 621, 243, + /* 1430 */ 430, 518, 292, 621, 329, 621, 145, 393, 280, 513, + /* 1440 */ 291, 131, 621, 514, 621, 621, 311, 621, 259, 346, + /* 1450 */ 249, 621, 621, 229, 314, 621, 228, 512, 227, 240, + /* 1460 */ 494, 488, 310, 164, 487, 486, 373, 480, 163, 262, + /* 1470 */ 369, 371, 162, 26, 212, 478, 477, 161, 141, 363, + /* 1480 */ 467, 122, 339, 187, 119, 348, 347, 117, 116, 115, + /* 1490 */ 114, 112, 182, 457, 320, 22, 433, 432, 448, 19, + /* 1500 */ 609, 431, 428, 62, 193, 596, 573, 298, 555, 552, + /* 1510 */ 571, 404, 290, 380, 498, 510, 495, 306, 281, 499, + /* 1520 */ 250, 5, 497, 460, 345, 447, 569, 550, 238, 299, + /* 1530 */ 527, 525, 508, 961, 502, 501, 961, 401, 961, 211, + /* 1540 */ 490, 356, 256, 961, 483, 961, 961, 961, 961, 961, + /* 1550 */ 961, 961, 961, 961, 961, 961, 370, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 19, 222, 223, 224, 225, 24, 1, 26, 77, 78, - /* 10 */ 79, 80, 15, 82, 83, 84, 85, 86, 87, 88, - /* 20 */ 89, 90, 91, 92, 113, 22, 26, 27, 117, 26, - /* 30 */ 49, 50, 81, 82, 83, 84, 85, 86, 87, 88, - /* 40 */ 89, 90, 91, 92, 88, 89, 90, 91, 92, 68, + /* 0 */ 19, 142, 143, 144, 145, 24, 1, 26, 77, 78, + /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + /* 20 */ 89, 90, 91, 92, 15, 98, 26, 27, 7, 8, + /* 30 */ 49, 50, 77, 78, 79, 80, 109, 82, 83, 84, + /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 22, 68, /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, /* 60 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, - /* 70 */ 89, 90, 91, 92, 19, 94, 118, 19, 150, 22, + /* 70 */ 89, 90, 91, 92, 19, 94, 112, 19, 114, 115, /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90, - /* 90 */ 91, 92, 19, 165, 94, 95, 96, 94, 118, 99, - /* 100 */ 100, 101, 174, 175, 49, 50, 22, 23, 96, 54, - /* 110 */ 110, 99, 100, 101, 7, 8, 26, 27, 16, 105, - /* 120 */ 106, 107, 110, 68, 69, 70, 71, 72, 73, 74, - /* 130 */ 75, 76, 77, 78, 79, 80, 113, 82, 83, 84, - /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 16, - /* 150 */ 92, 67, 98, 24, 96, 97, 98, 99, 100, 101, - /* 160 */ 102, 25, 60, 109, 62, 92, 150, 109, 150, 25, + /* 90 */ 91, 92, 19, 22, 94, 95, 96, 150, 150, 99, + /* 100 */ 100, 101, 76, 150, 49, 50, 105, 106, 107, 54, + /* 110 */ 110, 158, 165, 165, 161, 162, 26, 27, 165, 113, + /* 120 */ 16, 174, 175, 68, 69, 70, 71, 72, 73, 74, + /* 130 */ 75, 76, 77, 78, 79, 80, 118, 82, 83, 84, + /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 23, + /* 150 */ 92, 97, 98, 24, 96, 97, 98, 99, 100, 101, + /* 160 */ 102, 25, 97, 216, 60, 92, 62, 109, 221, 25, /* 170 */ 97, 98, 99, 100, 101, 102, 86, 87, 49, 50, - /* 180 */ 116, 165, 109, 165, 94, 95, 118, 97, 170, 171, - /* 190 */ 174, 175, 128, 60, 104, 62, 106, 68, 69, 70, + /* 180 */ 118, 116, 109, 25, 94, 95, 32, 97, 88, 89, + /* 190 */ 90, 91, 92, 128, 104, 41, 106, 68, 69, 70, /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, /* 210 */ 11, 82, 83, 84, 85, 86, 87, 88, 89, 90, - /* 220 */ 91, 92, 19, 21, 86, 87, 88, 89, 90, 91, - /* 230 */ 92, 215, 96, 150, 66, 99, 100, 101, 22, 150, - /* 240 */ 138, 118, 26, 27, 161, 162, 110, 103, 165, 231, - /* 250 */ 232, 23, 49, 50, 165, 24, 57, 26, 32, 170, - /* 260 */ 171, 112, 94, 114, 115, 63, 98, 41, 185, 186, - /* 270 */ 118, 68, 69, 70, 71, 72, 73, 74, 75, 76, - /* 280 */ 77, 78, 79, 80, 12, 82, 83, 84, 85, 86, + /* 220 */ 91, 92, 19, 19, 86, 87, 88, 89, 90, 91, + /* 230 */ 92, 27, 96, 150, 66, 99, 100, 101, 112, 150, + /* 240 */ 114, 115, 138, 150, 161, 162, 110, 103, 165, 222, + /* 250 */ 223, 224, 49, 50, 165, 22, 57, 24, 165, 170, + /* 260 */ 171, 118, 94, 170, 171, 23, 98, 25, 185, 186, + /* 270 */ 243, 68, 69, 70, 71, 72, 73, 74, 75, 76, + /* 280 */ 77, 78, 79, 80, 126, 82, 83, 84, 85, 86, /* 290 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 131, - /* 300 */ 28, 23, 100, 25, 105, 106, 107, 150, 26, 27, - /* 310 */ 94, 95, 169, 170, 171, 116, 44, 23, 46, 150, - /* 320 */ 231, 232, 165, 26, 27, 94, 49, 50, 23, 57, - /* 330 */ 25, 174, 175, 22, 165, 26, 27, 26, 27, 136, - /* 340 */ 138, 97, 98, 174, 175, 68, 69, 70, 71, 72, - /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82, + /* 300 */ 88, 23, 172, 173, 105, 106, 107, 150, 22, 26, + /* 310 */ 27, 181, 26, 27, 22, 116, 26, 27, 26, 230, + /* 320 */ 231, 197, 165, 230, 231, 113, 49, 50, 204, 117, + /* 330 */ 96, 174, 175, 99, 100, 101, 22, 26, 27, 136, + /* 340 */ 26, 27, 118, 16, 110, 68, 69, 70, 71, 72, + /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 118, 82, /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - /* 370 */ 19, 150, 23, 216, 23, 232, 94, 95, 221, 150, - /* 380 */ 23, 160, 25, 214, 215, 163, 165, 88, 166, 167, - /* 390 */ 168, 94, 95, 23, 165, 174, 175, 88, 160, 150, - /* 400 */ 49, 50, 120, 94, 95, 94, 95, 158, 26, 57, - /* 410 */ 161, 162, 113, 136, 165, 194, 117, 120, 22, 68, + /* 370 */ 19, 214, 215, 150, 23, 23, 155, 94, 95, 22, + /* 380 */ 94, 95, 116, 160, 94, 95, 94, 60, 165, 62, + /* 390 */ 112, 26, 114, 115, 128, 23, 36, 174, 175, 88, + /* 400 */ 49, 50, 57, 120, 22, 94, 95, 23, 94, 95, + /* 410 */ 120, 51, 25, 136, 169, 170, 171, 194, 58, 68, /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - /* 430 */ 79, 80, 194, 82, 83, 84, 85, 86, 87, 88, - /* 440 */ 89, 90, 91, 92, 19, 150, 23, 112, 23, 114, - /* 450 */ 115, 25, 142, 143, 144, 145, 218, 105, 106, 107, - /* 460 */ 165, 112, 150, 114, 115, 22, 150, 166, 116, 174, - /* 470 */ 175, 22, 76, 235, 49, 50, 94, 165, 240, 172, - /* 480 */ 173, 165, 112, 155, 114, 115, 174, 175, 181, 11, - /* 490 */ 174, 175, 22, 68, 69, 70, 71, 72, 73, 74, - /* 500 */ 75, 76, 77, 78, 79, 80, 205, 82, 83, 84, - /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 160, - /* 520 */ 23, 226, 23, 222, 12, 224, 225, 150, 216, 23, - /* 530 */ 23, 25, 36, 25, 25, 112, 220, 114, 115, 135, - /* 540 */ 28, 137, 165, 26, 27, 119, 30, 51, 49, 50, - /* 550 */ 34, 174, 175, 194, 58, 166, 44, 229, 46, 160, - /* 560 */ 22, 23, 234, 25, 48, 206, 207, 68, 69, 70, + /* 430 */ 79, 80, 23, 82, 83, 84, 85, 86, 87, 88, + /* 440 */ 89, 90, 91, 92, 19, 150, 12, 12, 23, 228, + /* 450 */ 105, 106, 107, 23, 233, 25, 165, 19, 150, 94, + /* 460 */ 165, 116, 28, 28, 112, 174, 114, 115, 108, 174, + /* 470 */ 175, 26, 27, 165, 49, 50, 231, 11, 44, 44, + /* 480 */ 46, 46, 174, 175, 112, 160, 114, 115, 50, 22, + /* 490 */ 23, 57, 25, 68, 69, 70, 71, 72, 73, 74, + /* 500 */ 75, 76, 77, 78, 79, 80, 119, 82, 83, 84, + /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 194, + /* 520 */ 225, 23, 23, 215, 19, 95, 105, 106, 107, 150, + /* 530 */ 23, 150, 27, 23, 67, 25, 150, 206, 207, 94, + /* 540 */ 95, 166, 104, 218, 165, 22, 165, 109, 49, 50, + /* 550 */ 120, 165, 25, 174, 175, 174, 175, 23, 21, 234, + /* 560 */ 174, 175, 22, 23, 239, 25, 25, 68, 69, 70, /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - /* 580 */ 23, 82, 83, 84, 85, 86, 87, 88, 89, 90, - /* 590 */ 91, 92, 19, 194, 205, 150, 23, 220, 19, 181, - /* 600 */ 182, 95, 97, 95, 108, 67, 188, 169, 170, 171, - /* 610 */ 165, 94, 95, 222, 50, 224, 225, 218, 120, 150, - /* 620 */ 160, 116, 49, 50, 22, 23, 120, 25, 120, 50, - /* 630 */ 161, 162, 19, 128, 165, 244, 22, 23, 193, 240, - /* 640 */ 27, 68, 69, 70, 71, 72, 73, 74, 75, 76, - /* 650 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86, - /* 660 */ 87, 88, 89, 90, 91, 92, 19, 25, 104, 67, - /* 670 */ 232, 24, 150, 23, 150, 25, 150, 150, 150, 150, - /* 680 */ 150, 67, 25, 104, 7, 8, 9, 165, 109, 165, - /* 690 */ 245, 165, 165, 165, 165, 165, 49, 50, 174, 175, - /* 700 */ 174, 175, 174, 175, 174, 175, 0, 1, 2, 105, - /* 710 */ 106, 107, 248, 249, 187, 68, 69, 70, 71, 72, + /* 580 */ 205, 82, 83, 84, 85, 86, 87, 88, 89, 90, + /* 590 */ 91, 92, 19, 22, 23, 216, 23, 222, 223, 224, + /* 600 */ 63, 220, 35, 150, 150, 163, 220, 67, 166, 167, + /* 610 */ 168, 150, 169, 170, 171, 161, 162, 25, 165, 165, + /* 620 */ 150, 113, 49, 50, 25, 117, 165, 174, 175, 35, + /* 630 */ 7, 8, 9, 160, 160, 165, 120, 100, 67, 247, + /* 640 */ 248, 68, 69, 70, 71, 72, 73, 74, 75, 76, + /* 650 */ 77, 78, 79, 80, 193, 82, 83, 84, 85, 86, + /* 660 */ 87, 88, 89, 90, 91, 92, 19, 194, 194, 150, + /* 670 */ 135, 24, 137, 35, 231, 138, 150, 129, 130, 206, + /* 680 */ 207, 30, 27, 213, 165, 34, 118, 95, 0, 1, + /* 690 */ 2, 165, 218, 174, 175, 50, 49, 50, 22, 48, + /* 700 */ 174, 175, 22, 23, 23, 244, 222, 223, 224, 166, + /* 710 */ 167, 168, 120, 239, 23, 68, 69, 70, 71, 72, /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82, /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - /* 740 */ 19, 150, 213, 165, 150, 222, 150, 224, 225, 166, - /* 750 */ 167, 168, 174, 175, 129, 130, 165, 150, 165, 165, - /* 760 */ 150, 165, 150, 241, 35, 174, 175, 174, 174, 175, - /* 770 */ 49, 50, 165, 52, 23, 165, 25, 165, 206, 207, - /* 780 */ 23, 197, 25, 187, 174, 175, 174, 175, 204, 68, + /* 740 */ 19, 150, 173, 165, 181, 182, 24, 67, 26, 104, + /* 750 */ 181, 188, 174, 175, 150, 39, 165, 150, 52, 150, + /* 760 */ 150, 150, 150, 144, 145, 174, 175, 249, 250, 165, + /* 770 */ 49, 50, 165, 52, 165, 165, 165, 165, 174, 175, + /* 780 */ 29, 174, 175, 174, 175, 174, 175, 160, 22, 68, /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88, - /* 810 */ 89, 90, 91, 92, 19, 150, 150, 165, 35, 23, - /* 820 */ 150, 25, 150, 22, 217, 24, 174, 175, 150, 35, - /* 830 */ 165, 165, 144, 145, 150, 165, 150, 165, 118, 174, - /* 840 */ 175, 150, 22, 165, 49, 50, 174, 175, 23, 165, - /* 850 */ 25, 165, 23, 187, 25, 27, 165, 187, 174, 175, - /* 860 */ 23, 23, 25, 68, 69, 70, 71, 72, 73, 74, + /* 810 */ 89, 90, 91, 92, 19, 150, 94, 165, 150, 150, + /* 820 */ 160, 194, 150, 213, 160, 52, 174, 175, 23, 23, + /* 830 */ 165, 25, 22, 165, 165, 150, 150, 165, 52, 174, + /* 840 */ 175, 22, 174, 175, 49, 50, 174, 175, 190, 191, + /* 850 */ 165, 165, 240, 23, 194, 25, 187, 109, 194, 174, + /* 860 */ 175, 190, 191, 68, 69, 70, 71, 72, 73, 74, /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84, /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150, - /* 890 */ 150, 165, 150, 150, 150, 217, 25, 160, 19, 213, - /* 900 */ 174, 175, 190, 191, 165, 165, 27, 165, 165, 165, - /* 910 */ 150, 150, 150, 174, 175, 39, 174, 175, 49, 50, - /* 920 */ 23, 150, 52, 250, 251, 165, 165, 165, 190, 191, - /* 930 */ 187, 194, 241, 193, 174, 175, 165, 68, 69, 70, + /* 890 */ 22, 165, 150, 23, 150, 25, 150, 166, 91, 92, + /* 900 */ 174, 175, 22, 217, 165, 150, 102, 165, 150, 165, + /* 910 */ 150, 165, 150, 174, 175, 19, 174, 175, 49, 50, + /* 920 */ 165, 86, 87, 165, 23, 165, 25, 165, 24, 174, + /* 930 */ 175, 187, 174, 175, 174, 175, 205, 68, 69, 70, /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90, - /* 960 */ 91, 92, 19, 150, 150, 165, 150, 160, 160, 166, - /* 970 */ 166, 160, 150, 22, 174, 175, 91, 92, 165, 165, - /* 980 */ 52, 165, 29, 150, 213, 241, 23, 165, 49, 50, - /* 990 */ 174, 175, 49, 50, 1, 2, 173, 126, 165, 86, - /* 1000 */ 87, 194, 194, 22, 181, 194, 193, 193, 205, 205, + /* 960 */ 91, 92, 19, 150, 150, 165, 150, 150, 166, 23, + /* 970 */ 150, 25, 160, 20, 174, 175, 1, 2, 165, 165, + /* 980 */ 104, 165, 165, 43, 150, 165, 240, 150, 49, 50, + /* 990 */ 174, 175, 49, 50, 23, 23, 25, 25, 53, 165, + /* 1000 */ 187, 187, 165, 23, 187, 25, 194, 205, 174, 175, /* 1010 */ 71, 72, 69, 70, 71, 72, 73, 74, 75, 76, /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86, /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 98, 150, 165, - /* 1040 */ 150, 150, 150, 22, 150, 150, 22, 52, 174, 175, - /* 1050 */ 22, 102, 20, 165, 109, 165, 165, 165, 150, 165, - /* 1060 */ 165, 150, 174, 175, 174, 175, 49, 50, 24, 19, - /* 1070 */ 43, 104, 59, 165, 138, 104, 165, 25, 53, 53, - /* 1080 */ 22, 5, 174, 175, 193, 174, 175, 70, 71, 72, - /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 1, 82, + /* 1040 */ 150, 160, 150, 59, 25, 53, 104, 22, 174, 175, + /* 1050 */ 213, 138, 5, 165, 1, 165, 150, 165, 150, 150, + /* 1060 */ 240, 150, 174, 175, 174, 175, 49, 50, 118, 150, + /* 1070 */ 35, 165, 27, 165, 165, 194, 165, 108, 127, 76, + /* 1080 */ 174, 175, 174, 175, 165, 174, 175, 70, 71, 72, + /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 166, 82, /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - /* 1110 */ 19, 20, 150, 22, 150, 150, 150, 26, 27, 118, - /* 1120 */ 150, 35, 150, 150, 76, 27, 108, 165, 37, 165, - /* 1130 */ 165, 165, 76, 19, 20, 165, 22, 165, 165, 127, - /* 1140 */ 26, 27, 22, 1, 150, 16, 20, 56, 150, 150, - /* 1150 */ 119, 37, 150, 119, 160, 193, 150, 66, 193, 165, - /* 1160 */ 150, 150, 121, 165, 165, 108, 150, 165, 174, 175, - /* 1170 */ 56, 165, 150, 127, 22, 165, 165, 86, 87, 88, - /* 1180 */ 66, 165, 16, 150, 93, 94, 95, 165, 194, 98, - /* 1190 */ 174, 175, 128, 23, 15, 23, 174, 175, 165, 150, - /* 1200 */ 86, 87, 65, 140, 150, 22, 3, 93, 94, 95, - /* 1210 */ 216, 4, 98, 252, 165, 221, 150, 164, 180, 165, + /* 1110 */ 19, 20, 193, 22, 150, 150, 150, 26, 27, 76, + /* 1120 */ 150, 22, 1, 150, 119, 121, 217, 20, 37, 165, + /* 1130 */ 165, 165, 16, 19, 20, 165, 22, 205, 165, 119, + /* 1140 */ 26, 27, 108, 128, 150, 150, 150, 56, 150, 22, + /* 1150 */ 150, 37, 150, 127, 160, 23, 150, 66, 193, 165, + /* 1160 */ 165, 165, 16, 165, 23, 165, 150, 165, 174, 175, + /* 1170 */ 56, 165, 150, 65, 174, 175, 15, 86, 87, 88, + /* 1180 */ 66, 165, 140, 150, 93, 94, 95, 165, 194, 98, + /* 1190 */ 174, 175, 22, 3, 164, 193, 174, 175, 165, 150, + /* 1200 */ 86, 87, 4, 180, 150, 248, 251, 93, 94, 95, + /* 1210 */ 216, 180, 98, 251, 165, 221, 150, 149, 6, 165, /* 1220 */ 129, 130, 131, 132, 133, 134, 193, 150, 174, 175, - /* 1230 */ 116, 165, 19, 20, 150, 22, 249, 252, 149, 26, - /* 1240 */ 27, 180, 165, 129, 130, 131, 132, 133, 134, 165, - /* 1250 */ 37, 174, 175, 150, 6, 19, 20, 150, 22, 150, - /* 1260 */ 150, 150, 26, 27, 149, 149, 13, 150, 165, 56, - /* 1270 */ 149, 159, 165, 37, 165, 165, 165, 174, 175, 66, - /* 1280 */ 146, 147, 165, 174, 175, 25, 152, 151, 154, 150, - /* 1290 */ 194, 151, 56, 116, 160, 150, 123, 202, 150, 86, - /* 1300 */ 87, 199, 66, 193, 165, 200, 93, 94, 95, 150, - /* 1310 */ 165, 98, 150, 165, 126, 22, 124, 150, 150, 26, - /* 1320 */ 27, 150, 86, 87, 165, 201, 150, 165, 194, 93, - /* 1330 */ 94, 95, 165, 165, 98, 150, 165, 122, 203, 125, - /* 1340 */ 227, 165, 129, 130, 131, 132, 133, 134, 5, 150, - /* 1350 */ 165, 135, 218, 10, 11, 12, 13, 14, 150, 66, - /* 1360 */ 17, 157, 118, 157, 165, 129, 130, 131, 132, 133, - /* 1370 */ 134, 150, 104, 165, 31, 210, 33, 176, 150, 86, - /* 1380 */ 87, 247, 174, 175, 150, 42, 165, 94, 121, 211, - /* 1390 */ 150, 98, 210, 165, 210, 174, 175, 211, 55, 165, + /* 1230 */ 116, 165, 19, 20, 150, 22, 149, 151, 150, 26, + /* 1240 */ 27, 149, 165, 129, 130, 131, 132, 133, 134, 165, + /* 1250 */ 37, 174, 175, 165, 149, 19, 20, 13, 22, 150, + /* 1260 */ 150, 150, 26, 27, 146, 147, 151, 150, 25, 56, + /* 1270 */ 152, 159, 154, 37, 165, 165, 165, 193, 160, 66, + /* 1280 */ 116, 193, 165, 174, 175, 174, 175, 194, 199, 150, + /* 1290 */ 200, 126, 56, 124, 123, 150, 201, 122, 150, 86, + /* 1300 */ 87, 150, 66, 193, 165, 202, 93, 94, 95, 150, + /* 1310 */ 165, 98, 194, 165, 125, 22, 165, 150, 150, 26, + /* 1320 */ 27, 135, 86, 87, 165, 174, 175, 203, 226, 93, + /* 1330 */ 94, 95, 165, 165, 98, 150, 218, 150, 193, 157, + /* 1340 */ 118, 157, 129, 130, 131, 132, 133, 134, 5, 104, + /* 1350 */ 165, 211, 165, 10, 11, 12, 13, 14, 150, 66, + /* 1360 */ 17, 174, 175, 210, 246, 129, 130, 131, 132, 133, + /* 1370 */ 134, 150, 210, 165, 31, 121, 33, 150, 150, 86, + /* 1380 */ 87, 176, 174, 175, 150, 42, 165, 94, 211, 210, + /* 1390 */ 150, 98, 165, 165, 211, 174, 175, 150, 55, 165, /* 1400 */ 57, 150, 174, 175, 61, 165, 150, 64, 174, 175, - /* 1410 */ 104, 211, 47, 150, 174, 175, 165, 176, 176, 150, - /* 1420 */ 103, 165, 129, 130, 131, 174, 175, 184, 165, 179, - /* 1430 */ 174, 175, 150, 178, 165, 176, 22, 174, 175, 230, - /* 1440 */ 92, 230, 184, 174, 175, 150, 176, 165, 105, 106, - /* 1450 */ 107, 150, 176, 176, 111, 156, 174, 175, 179, 116, - /* 1460 */ 165, 18, 157, 156, 238, 157, 165, 156, 45, 174, - /* 1470 */ 175, 157, 157, 135, 239, 174, 175, 156, 189, 157, - /* 1480 */ 68, 189, 139, 219, 22, 199, 157, 18, 192, 192, - /* 1490 */ 192, 189, 192, 199, 219, 243, 157, 40, 157, 157, - /* 1500 */ 243, 38, 153, 166, 233, 196, 233, 246, 198, 228, - /* 1510 */ 177, 177, 209, 177, 182, 199, 166, 177, 166, 199, - /* 1520 */ 242, 177, 242, 178, 148, 166, 196, 209, 209, 92, - /* 1530 */ 195, 208, 174, 186, 183, 174, 183, 191, 183, 253, - /* 1540 */ 236, 253, 186, 253, 253, 253, 253, 253, 253, 237, + /* 1410 */ 150, 150, 165, 150, 174, 175, 165, 104, 150, 184, + /* 1420 */ 150, 165, 129, 130, 131, 165, 165, 150, 165, 150, + /* 1430 */ 150, 176, 150, 165, 47, 165, 150, 150, 176, 103, + /* 1440 */ 150, 22, 165, 178, 165, 165, 179, 165, 105, 106, + /* 1450 */ 107, 165, 165, 229, 111, 165, 92, 176, 229, 116, + /* 1460 */ 184, 176, 179, 156, 176, 176, 18, 157, 156, 237, + /* 1470 */ 45, 157, 156, 135, 157, 157, 238, 156, 68, 157, + /* 1480 */ 189, 189, 139, 219, 22, 157, 18, 192, 192, 192, + /* 1490 */ 192, 189, 219, 199, 157, 242, 40, 157, 199, 242, + /* 1500 */ 153, 157, 38, 245, 196, 166, 232, 198, 177, 177, + /* 1510 */ 232, 227, 209, 178, 166, 182, 166, 148, 177, 177, + /* 1520 */ 209, 196, 177, 199, 209, 199, 166, 208, 92, 195, + /* 1530 */ 174, 174, 183, 252, 183, 183, 252, 191, 252, 235, + /* 1540 */ 186, 241, 241, 252, 186, 252, 252, 252, 252, 252, + /* 1550 */ 252, 252, 252, 252, 252, 252, 236, }; -#define YY_SHIFT_USE_DFLT (-90) +#define YY_SHIFT_USE_DFLT (-74) #define YY_SHIFT_COUNT (418) -#define YY_SHIFT_MIN (-89) -#define YY_SHIFT_MAX (1469) +#define YY_SHIFT_MIN (-73) +#define YY_SHIFT_MAX (1468) static const short yy_shift_ofst[] = { - /* 0 */ 993, 1114, 1343, 1114, 1213, 1213, 90, 90, 0, -19, - /* 10 */ 1213, 1213, 1213, 1213, 1213, 352, 517, 721, 1091, 1213, + /* 0 */ 975, 1114, 1343, 1114, 1213, 1213, 90, 90, 0, -19, + /* 10 */ 1213, 1213, 1213, 1213, 1213, 345, 445, 721, 1091, 1213, /* 20 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, /* 30 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, /* 40 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1236, 1213, 1213, /* 50 */ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, - /* 60 */ 1213, -49, 199, 517, 517, 913, 913, 382, 1177, 55, - /* 70 */ 647, 573, 499, 425, 351, 277, 203, 129, 795, 795, + /* 60 */ 1213, 199, 445, 445, 835, 835, 365, 1164, 55, 647, + /* 70 */ 573, 499, 425, 351, 277, 203, 129, 795, 795, 795, /* 80 */ 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, - /* 90 */ 795, 795, 795, 795, 795, 795, 869, 795, 943, 1017, - /* 100 */ 1017, -69, -69, -69, -69, -1, -1, 58, 138, -44, - /* 110 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 120 */ 517, 517, 517, 517, 517, 517, 202, 579, 517, 517, - /* 130 */ 517, 517, 517, 382, 885, 1437, -90, -90, -90, 1293, - /* 140 */ 73, 272, 272, 309, 311, 297, 282, 216, 602, 538, - /* 150 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 160 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 170 */ 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - /* 180 */ 517, 517, 505, 231, 231, 231, 706, 64, 1177, 1177, - /* 190 */ 1177, -90, -90, -90, 136, 168, 168, 12, 496, 496, - /* 200 */ 496, 506, 423, 512, 370, 349, 335, 149, 149, 149, - /* 210 */ 149, 604, 516, 149, 149, 508, 3, 299, 677, 871, - /* 220 */ 613, 613, 879, 871, 879, 144, 382, 226, 382, 226, - /* 230 */ 564, 226, 613, 226, 226, 404, 625, 625, 382, 426, - /* 240 */ -89, 801, 1463, 1244, 1244, 1457, 1457, 1244, 1462, 1412, - /* 250 */ 1188, 1469, 1469, 1469, 1469, 1244, 1188, 1462, 1412, 1412, - /* 260 */ 1244, 1443, 1338, 1423, 1244, 1244, 1443, 1244, 1443, 1244, - /* 270 */ 1443, 1414, 1306, 1306, 1306, 1365, 1348, 1348, 1414, 1306, - /* 280 */ 1317, 1306, 1365, 1306, 1306, 1267, 1268, 1267, 1268, 1267, - /* 290 */ 1268, 1244, 1244, 1216, 1214, 1215, 1192, 1173, 1188, 1177, - /* 300 */ 1260, 1253, 1253, 1248, 1248, 1248, 1248, -90, -90, -90, - /* 310 */ -90, -90, -90, 939, 102, 614, 84, 133, 14, 837, - /* 320 */ 396, 829, 825, 796, 757, 751, 650, 357, 244, 107, - /* 330 */ 54, 305, 278, 1207, 1203, 1183, 1063, 1179, 1137, 1166, - /* 340 */ 1172, 1170, 1064, 1152, 1046, 1057, 1034, 1126, 1041, 1129, - /* 350 */ 1142, 1031, 1120, 1012, 1056, 1048, 1018, 1098, 1086, 1001, - /* 360 */ 1097, 1076, 1058, 971, 936, 1026, 1052, 1025, 1013, 1027, - /* 370 */ 967, 1044, 1032, 1050, 945, 949, 1028, 995, 1024, 1021, - /* 380 */ 963, 981, 928, 953, 951, 870, 876, 897, 838, 720, - /* 390 */ 828, 794, 820, 498, 642, 783, 657, 729, 642, 557, - /* 400 */ 507, 509, 497, 470, 478, 449, 294, 228, 443, 23, - /* 410 */ 152, 123, 68, -20, -42, 57, 39, -3, 5, + /* 90 */ 795, 795, 795, 795, 795, 869, 795, 943, 1017, 1017, + /* 100 */ -69, -45, -45, -45, -45, -45, -1, 58, 138, 100, + /* 110 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + /* 120 */ 445, 445, 445, 445, 445, 445, 537, 438, 445, 445, + /* 130 */ 445, 445, 445, 365, 807, 1436, -74, -74, -74, 1293, + /* 140 */ 73, 434, 434, 311, 314, 290, 283, 286, 540, 467, + /* 150 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + /* 160 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + /* 170 */ 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + /* 180 */ 445, 445, 65, 722, 722, 722, 688, 266, 1164, 1164, + /* 190 */ 1164, -74, -74, -74, 136, 168, 168, 234, 360, 360, + /* 200 */ 360, 430, 372, 435, 352, 278, 126, -36, -36, -36, + /* 210 */ -36, 421, 651, -36, -36, 592, 292, 212, 623, 158, + /* 220 */ 204, 204, 505, 158, 505, 144, 365, 154, 365, 154, + /* 230 */ 645, 154, 204, 154, 154, 535, 548, 548, 365, 387, + /* 240 */ 508, 233, 1464, 1222, 1222, 1456, 1456, 1222, 1462, 1410, + /* 250 */ 1165, 1468, 1468, 1468, 1468, 1222, 1165, 1462, 1410, 1410, + /* 260 */ 1222, 1448, 1338, 1425, 1222, 1222, 1448, 1222, 1448, 1222, + /* 270 */ 1448, 1419, 1313, 1313, 1313, 1387, 1364, 1364, 1419, 1313, + /* 280 */ 1336, 1313, 1387, 1313, 1313, 1254, 1245, 1254, 1245, 1254, + /* 290 */ 1245, 1222, 1222, 1186, 1189, 1175, 1169, 1171, 1165, 1164, + /* 300 */ 1243, 1244, 1244, 1212, 1212, 1212, 1212, -74, -74, -74, + /* 310 */ -74, -74, -74, 939, 104, 680, 571, 327, 1, 980, + /* 320 */ 26, 972, 971, 946, 901, 870, 830, 806, 54, 21, + /* 330 */ -73, 510, 242, 1198, 1190, 1170, 1042, 1161, 1108, 1146, + /* 340 */ 1141, 1132, 1015, 1127, 1026, 1034, 1020, 1107, 1004, 1116, + /* 350 */ 1121, 1005, 1099, 951, 1043, 1003, 969, 1045, 1035, 950, + /* 360 */ 1053, 1047, 1025, 942, 913, 992, 1019, 945, 984, 940, + /* 370 */ 876, 904, 953, 896, 748, 804, 880, 786, 868, 819, + /* 380 */ 805, 810, 773, 751, 766, 706, 716, 691, 681, 568, + /* 390 */ 655, 638, 676, 516, 541, 594, 599, 567, 541, 534, + /* 400 */ 507, 527, 498, 523, 466, 382, 409, 384, 357, 6, + /* 410 */ 240, 224, 143, 62, 18, 71, 39, 9, 5, }; -#define YY_REDUCE_USE_DFLT (-222) +#define YY_REDUCE_USE_DFLT (-142) #define YY_REDUCE_COUNT (312) -#define YY_REDUCE_MIN (-221) -#define YY_REDUCE_MAX (1376) +#define YY_REDUCE_MIN (-141) +#define YY_REDUCE_MAX (1369) static const short yy_reduce_ofst[] = { - /* 0 */ 310, 994, 1134, 221, 169, 157, 89, 18, 83, 301, - /* 10 */ 377, 316, 312, 16, 295, 238, 249, 391, 1301, 1295, - /* 20 */ 1282, 1269, 1263, 1256, 1251, 1240, 1234, 1228, 1221, 1208, - /* 30 */ 1109, 1103, 1077, 1054, 1022, 1016, 911, 908, 890, 888, - /* 40 */ 874, 816, 800, 760, 742, 739, 726, 684, 672, 665, - /* 50 */ 652, 612, 610, 594, 591, 578, 530, 528, 526, 524, - /* 60 */ -72, -221, 399, 469, 445, 438, 143, 222, 359, 523, - /* 70 */ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - /* 80 */ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - /* 90 */ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - /* 100 */ 523, 523, 523, 523, 523, 523, 523, 307, 523, 523, - /* 110 */ 1110, 678, 1033, 965, 962, 891, 814, 813, 744, 771, - /* 120 */ 691, 607, 522, 743, 686, 740, 328, 418, 670, 666, - /* 130 */ 596, 527, 529, 583, 523, 523, 523, 523, 523, 593, - /* 140 */ 823, 738, 712, 892, 1199, 1185, 1176, 1171, 673, 673, - /* 150 */ 1168, 1167, 1162, 1159, 1148, 1145, 1139, 1117, 1111, 1107, - /* 160 */ 1084, 1066, 1049, 1011, 1010, 1006, 1002, 999, 998, 973, - /* 170 */ 972, 970, 966, 964, 895, 894, 892, 833, 822, 762, - /* 180 */ 761, 229, 811, 804, 803, 389, 688, 808, 807, 737, - /* 190 */ 460, 464, 572, 584, 1356, 1361, 1358, 1347, 1355, 1353, - /* 200 */ 1351, 1323, 1335, 1346, 1335, 1335, 1335, 1335, 1335, 1335, - /* 210 */ 1335, 1312, 1304, 1335, 1335, 1323, 1359, 1330, 1376, 1320, - /* 220 */ 1319, 1318, 1280, 1316, 1278, 1345, 1352, 1344, 1350, 1340, - /* 230 */ 1332, 1336, 1303, 1334, 1333, 1281, 1273, 1271, 1337, 1310, - /* 240 */ 1309, 1349, 1261, 1342, 1341, 1257, 1252, 1339, 1275, 1302, - /* 250 */ 1294, 1300, 1298, 1297, 1296, 1329, 1286, 1264, 1292, 1289, - /* 260 */ 1322, 1321, 1235, 1226, 1315, 1314, 1311, 1308, 1307, 1305, - /* 270 */ 1299, 1279, 1277, 1276, 1270, 1258, 1211, 1209, 1250, 1259, - /* 280 */ 1255, 1242, 1243, 1241, 1201, 1200, 1184, 1186, 1182, 1178, - /* 290 */ 1165, 1206, 1204, 1113, 1135, 1095, 1124, 1105, 1102, 1096, - /* 300 */ 1112, 1140, 1136, 1121, 1116, 1115, 1089, 985, 961, 987, - /* 310 */ 1061, 1038, 1053, + /* 0 */ -141, 994, 1118, 223, 157, -53, 93, 89, 83, 375, + /* 10 */ 386, 381, 379, 308, 295, 325, -47, 27, 1240, 1234, + /* 20 */ 1228, 1221, 1208, 1187, 1151, 1111, 1109, 1077, 1054, 1022, + /* 30 */ 1016, 1000, 911, 908, 906, 890, 888, 874, 834, 816, + /* 40 */ 800, 760, 758, 755, 742, 739, 726, 685, 672, 668, + /* 50 */ 665, 652, 611, 609, 607, 604, 591, 578, 526, 519, + /* 60 */ 453, 474, 454, 461, 443, 245, 442, 473, 484, 484, + /* 70 */ 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, + /* 80 */ 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, + /* 90 */ 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, + /* 100 */ 484, 484, 484, 484, 484, 484, 484, 130, 484, 484, + /* 110 */ 1145, 909, 1110, 1088, 1084, 1033, 1002, 965, 820, 837, + /* 120 */ 746, 686, 612, 817, 610, 919, 221, 563, 814, 813, + /* 130 */ 744, 669, 470, 543, 484, 484, 484, 484, 484, 291, + /* 140 */ 569, 671, 658, 970, 1290, 1287, 1286, 1282, 518, 518, + /* 150 */ 1280, 1279, 1277, 1270, 1268, 1263, 1261, 1260, 1256, 1251, + /* 160 */ 1247, 1227, 1185, 1168, 1167, 1159, 1148, 1139, 1117, 1066, + /* 170 */ 1049, 1006, 998, 996, 995, 973, 970, 966, 964, 892, + /* 180 */ 762, -52, 881, 932, 802, 731, 619, 812, 664, 660, + /* 190 */ 627, 392, 331, 124, 1358, 1357, 1356, 1354, 1352, 1351, + /* 200 */ 1349, 1319, 1334, 1346, 1334, 1334, 1334, 1334, 1334, 1334, + /* 210 */ 1334, 1320, 1304, 1334, 1334, 1319, 1360, 1325, 1369, 1326, + /* 220 */ 1315, 1311, 1301, 1324, 1300, 1335, 1350, 1345, 1348, 1342, + /* 230 */ 1333, 1341, 1303, 1332, 1331, 1284, 1278, 1274, 1339, 1309, + /* 240 */ 1308, 1347, 1258, 1344, 1340, 1257, 1253, 1337, 1273, 1302, + /* 250 */ 1299, 1298, 1297, 1296, 1295, 1328, 1294, 1264, 1292, 1291, + /* 260 */ 1322, 1321, 1238, 1232, 1318, 1317, 1316, 1314, 1312, 1310, + /* 270 */ 1307, 1283, 1289, 1288, 1285, 1276, 1229, 1224, 1267, 1281, + /* 280 */ 1265, 1262, 1235, 1255, 1205, 1183, 1179, 1177, 1162, 1140, + /* 290 */ 1153, 1184, 1182, 1102, 1124, 1103, 1095, 1090, 1089, 1093, + /* 300 */ 1112, 1115, 1086, 1105, 1092, 1087, 1068, 962, 955, 957, + /* 310 */ 1031, 1023, 1030, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 636, 872, 961, 961, 961, 872, 901, 901, 961, 760, - /* 10 */ 961, 961, 961, 961, 870, 961, 961, 935, 961, 961, - /* 20 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 30 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 40 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 50 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 60 */ 961, 844, 961, 961, 961, 901, 901, 675, 764, 795, - /* 70 */ 961, 961, 961, 961, 961, 961, 961, 961, 934, 936, - /* 80 */ 810, 809, 803, 802, 914, 775, 800, 793, 786, 797, - /* 90 */ 873, 866, 867, 865, 869, 874, 961, 796, 832, 850, - /* 100 */ 831, 849, 856, 848, 834, 843, 833, 667, 835, 836, - /* 110 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 120 */ 961, 961, 961, 961, 961, 961, 662, 729, 961, 961, - /* 130 */ 961, 961, 961, 961, 837, 838, 853, 852, 851, 961, - /* 140 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 150 */ 961, 941, 939, 961, 885, 961, 961, 961, 961, 961, - /* 160 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 170 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 180 */ 961, 642, 961, 760, 760, 760, 636, 961, 961, 961, - /* 190 */ 961, 953, 764, 754, 720, 961, 961, 961, 961, 961, - /* 200 */ 961, 961, 961, 961, 961, 961, 961, 805, 743, 924, - /* 210 */ 926, 961, 907, 741, 664, 762, 677, 752, 644, 799, - /* 220 */ 777, 777, 919, 799, 919, 701, 961, 789, 961, 789, - /* 230 */ 698, 789, 777, 789, 789, 868, 961, 961, 961, 761, - /* 240 */ 752, 961, 946, 768, 768, 938, 938, 768, 811, 733, - /* 250 */ 799, 740, 740, 740, 740, 768, 799, 811, 733, 733, - /* 260 */ 768, 659, 913, 911, 768, 768, 659, 768, 659, 768, - /* 270 */ 659, 878, 731, 731, 731, 716, 882, 882, 878, 731, - /* 280 */ 701, 731, 716, 731, 731, 781, 776, 781, 776, 781, - /* 290 */ 776, 768, 768, 961, 794, 782, 792, 790, 799, 961, - /* 300 */ 719, 652, 652, 641, 641, 641, 641, 958, 958, 953, - /* 310 */ 703, 703, 685, 961, 961, 961, 961, 961, 961, 961, - /* 320 */ 887, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 330 */ 961, 961, 961, 961, 637, 948, 961, 961, 945, 961, - /* 340 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 350 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 917, - /* 360 */ 961, 961, 961, 961, 961, 961, 910, 909, 961, 961, - /* 370 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 380 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 961, - /* 390 */ 961, 961, 961, 961, 791, 961, 783, 961, 871, 961, - /* 400 */ 961, 961, 961, 961, 961, 961, 961, 961, 961, 746, - /* 410 */ 820, 961, 819, 823, 818, 669, 961, 650, 961, 633, - /* 420 */ 638, 957, 960, 959, 956, 955, 954, 949, 947, 944, - /* 430 */ 943, 942, 940, 937, 933, 891, 889, 896, 895, 894, - /* 440 */ 893, 892, 890, 888, 886, 806, 804, 801, 798, 932, - /* 450 */ 884, 742, 739, 738, 658, 950, 916, 925, 923, 812, - /* 460 */ 922, 921, 920, 918, 915, 902, 808, 807, 734, 876, - /* 470 */ 875, 661, 906, 905, 904, 908, 912, 903, 770, 660, - /* 480 */ 657, 666, 723, 722, 730, 728, 727, 726, 725, 724, - /* 490 */ 721, 668, 676, 687, 715, 700, 699, 881, 883, 880, - /* 500 */ 879, 708, 707, 713, 712, 711, 710, 709, 706, 705, - /* 510 */ 704, 697, 696, 702, 695, 718, 717, 714, 694, 737, - /* 520 */ 736, 735, 732, 693, 692, 691, 823, 690, 689, 829, - /* 530 */ 828, 816, 860, 757, 756, 755, 767, 766, 779, 778, - /* 540 */ 814, 813, 780, 765, 759, 758, 774, 773, 772, 771, - /* 550 */ 763, 753, 785, 788, 787, 784, 845, 862, 769, 859, - /* 560 */ 931, 930, 929, 928, 927, 864, 863, 830, 827, 680, - /* 570 */ 681, 900, 898, 899, 897, 683, 682, 679, 678, 861, - /* 580 */ 748, 747, 857, 854, 846, 841, 858, 855, 847, 842, - /* 590 */ 840, 839, 825, 824, 822, 821, 817, 826, 671, 749, - /* 600 */ 745, 744, 815, 751, 750, 688, 686, 684, 665, 663, - /* 610 */ 656, 654, 653, 655, 651, 649, 648, 647, 646, 645, - /* 620 */ 674, 673, 672, 670, 669, 643, 640, 639, 635, 634, - /* 630 */ 632, + /* 0 */ 635, 870, 959, 959, 959, 870, 899, 899, 959, 759, + /* 10 */ 959, 959, 959, 959, 868, 959, 959, 933, 959, 959, + /* 20 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 30 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 40 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 50 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 60 */ 959, 959, 959, 959, 899, 899, 674, 763, 794, 959, + /* 70 */ 959, 959, 959, 959, 959, 959, 959, 932, 934, 809, + /* 80 */ 808, 802, 801, 912, 774, 799, 792, 785, 796, 871, + /* 90 */ 864, 865, 863, 867, 872, 959, 795, 831, 848, 830, + /* 100 */ 842, 847, 854, 846, 843, 833, 832, 666, 834, 835, + /* 110 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 120 */ 959, 959, 959, 959, 959, 959, 661, 728, 959, 959, + /* 130 */ 959, 959, 959, 959, 836, 837, 851, 850, 849, 959, + /* 140 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 150 */ 959, 939, 937, 959, 883, 959, 959, 959, 959, 959, + /* 160 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 170 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 180 */ 959, 641, 959, 759, 759, 759, 635, 959, 959, 959, + /* 190 */ 959, 951, 763, 753, 719, 959, 959, 959, 959, 959, + /* 200 */ 959, 959, 959, 959, 959, 959, 959, 804, 742, 922, + /* 210 */ 924, 959, 905, 740, 663, 761, 676, 751, 643, 798, + /* 220 */ 776, 776, 917, 798, 917, 700, 959, 788, 959, 788, + /* 230 */ 697, 788, 776, 788, 788, 866, 959, 959, 959, 760, + /* 240 */ 751, 959, 944, 767, 767, 936, 936, 767, 810, 732, + /* 250 */ 798, 739, 739, 739, 739, 767, 798, 810, 732, 732, + /* 260 */ 767, 658, 911, 909, 767, 767, 658, 767, 658, 767, + /* 270 */ 658, 876, 730, 730, 730, 715, 880, 880, 876, 730, + /* 280 */ 700, 730, 715, 730, 730, 780, 775, 780, 775, 780, + /* 290 */ 775, 767, 767, 959, 793, 781, 791, 789, 798, 959, + /* 300 */ 718, 651, 651, 640, 640, 640, 640, 956, 956, 951, + /* 310 */ 702, 702, 684, 959, 959, 959, 959, 959, 959, 959, + /* 320 */ 885, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 330 */ 959, 959, 959, 959, 636, 946, 959, 959, 943, 959, + /* 340 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 350 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 915, + /* 360 */ 959, 959, 959, 959, 959, 959, 908, 907, 959, 959, + /* 370 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 380 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 959, + /* 390 */ 959, 959, 959, 959, 790, 959, 782, 959, 869, 959, + /* 400 */ 959, 959, 959, 959, 959, 959, 959, 959, 959, 745, + /* 410 */ 819, 959, 818, 822, 817, 668, 959, 649, 959, 632, + /* 420 */ 637, 955, 958, 957, 954, 953, 952, 947, 945, 942, + /* 430 */ 941, 940, 938, 935, 931, 889, 887, 894, 893, 892, + /* 440 */ 891, 890, 888, 886, 884, 805, 803, 800, 797, 930, + /* 450 */ 882, 741, 738, 737, 657, 948, 914, 923, 921, 811, + /* 460 */ 920, 919, 918, 916, 913, 900, 807, 806, 733, 874, + /* 470 */ 873, 660, 904, 903, 902, 906, 910, 901, 769, 659, + /* 480 */ 656, 665, 722, 721, 729, 727, 726, 725, 724, 723, + /* 490 */ 720, 667, 675, 686, 714, 699, 698, 879, 881, 878, + /* 500 */ 877, 707, 706, 712, 711, 710, 709, 708, 705, 704, + /* 510 */ 703, 696, 695, 701, 694, 717, 716, 713, 693, 736, + /* 520 */ 735, 734, 731, 692, 691, 690, 822, 689, 688, 828, + /* 530 */ 827, 815, 858, 756, 755, 754, 766, 765, 778, 777, + /* 540 */ 813, 812, 779, 764, 758, 757, 773, 772, 771, 770, + /* 550 */ 762, 752, 784, 787, 786, 783, 860, 768, 857, 929, + /* 560 */ 928, 927, 926, 925, 862, 861, 829, 826, 679, 680, + /* 570 */ 898, 896, 897, 895, 682, 681, 678, 677, 859, 747, + /* 580 */ 746, 855, 852, 844, 840, 856, 853, 845, 841, 839, + /* 590 */ 838, 824, 823, 821, 820, 816, 825, 670, 748, 744, + /* 600 */ 743, 814, 750, 749, 687, 685, 683, 664, 662, 655, + /* 610 */ 653, 652, 654, 650, 648, 647, 646, 645, 644, 673, + /* 620 */ 672, 671, 669, 668, 642, 639, 638, 634, 633, 631, }; /* The next table maps tokens into fallback tokens. If a construct @@ -92849,15 +99713,14 @@ static const char *const yyTokenName[] = { "joinop", "indexed_opt", "on_opt", "using_opt", "joinop2", "inscollist", "sortlist", "sortitem", "nexprlist", "setlist", "insert_cmd", "inscollist_opt", - "itemlist", "exprlist", "likeop", "escape", - "between_op", "in_op", "case_operand", "case_exprlist", - "case_else", "uniqueflag", "collate", "nmnum", - "plus_opt", "number", "trigger_decl", "trigger_cmd_list", - "trigger_time", "trigger_event", "foreach_clause", "when_clause", - "trigger_cmd", "trnm", "tridxby", "database_kw_opt", - "key_opt", "add_column_fullname", "kwcolumn_opt", "create_vtab", - "vtabarglist", "vtabarg", "vtabargtoken", "lp", - "anylist", + "itemlist", "exprlist", "likeop", "between_op", + "in_op", "case_operand", "case_exprlist", "case_else", + "uniqueflag", "collate", "nmnum", "plus_opt", + "number", "trigger_decl", "trigger_cmd_list", "trigger_time", + "trigger_event", "foreach_clause", "when_clause", "trigger_cmd", + "trnm", "tridxby", "database_kw_opt", "key_opt", + "add_column_fullname", "kwcolumn_opt", "create_vtab", "vtabarglist", + "vtabarg", "vtabargtoken", "lp", "anylist", }; #endif /* NDEBUG */ @@ -93077,124 +99940,123 @@ static const char *const yyRuleName[] = { /* 209 */ "likeop ::= NOT LIKE_KW", /* 210 */ "likeop ::= MATCH", /* 211 */ "likeop ::= NOT MATCH", - /* 212 */ "escape ::= ESCAPE expr", - /* 213 */ "escape ::=", - /* 214 */ "expr ::= expr likeop expr escape", - /* 215 */ "expr ::= expr ISNULL|NOTNULL", - /* 216 */ "expr ::= expr NOT NULL", - /* 217 */ "expr ::= expr IS expr", - /* 218 */ "expr ::= expr IS NOT expr", - /* 219 */ "expr ::= NOT expr", - /* 220 */ "expr ::= BITNOT expr", - /* 221 */ "expr ::= MINUS expr", - /* 222 */ "expr ::= PLUS expr", - /* 223 */ "between_op ::= BETWEEN", - /* 224 */ "between_op ::= NOT BETWEEN", - /* 225 */ "expr ::= expr between_op expr AND expr", - /* 226 */ "in_op ::= IN", - /* 227 */ "in_op ::= NOT IN", - /* 228 */ "expr ::= expr in_op LP exprlist RP", - /* 229 */ "expr ::= LP select RP", - /* 230 */ "expr ::= expr in_op LP select RP", - /* 231 */ "expr ::= expr in_op nm dbnm", - /* 232 */ "expr ::= EXISTS LP select RP", - /* 233 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 234 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 235 */ "case_exprlist ::= WHEN expr THEN expr", - /* 236 */ "case_else ::= ELSE expr", - /* 237 */ "case_else ::=", - /* 238 */ "case_operand ::= expr", - /* 239 */ "case_operand ::=", - /* 240 */ "exprlist ::= nexprlist", - /* 241 */ "exprlist ::=", - /* 242 */ "nexprlist ::= nexprlist COMMA expr", - /* 243 */ "nexprlist ::= expr", - /* 244 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP", - /* 245 */ "uniqueflag ::= UNIQUE", - /* 246 */ "uniqueflag ::=", - /* 247 */ "idxlist_opt ::=", - /* 248 */ "idxlist_opt ::= LP idxlist RP", - /* 249 */ "idxlist ::= idxlist COMMA nm collate sortorder", - /* 250 */ "idxlist ::= nm collate sortorder", - /* 251 */ "collate ::=", - /* 252 */ "collate ::= COLLATE ids", - /* 253 */ "cmd ::= DROP INDEX ifexists fullname", - /* 254 */ "cmd ::= VACUUM", - /* 255 */ "cmd ::= VACUUM nm", - /* 256 */ "cmd ::= PRAGMA nm dbnm", - /* 257 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 258 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 259 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 260 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 261 */ "nmnum ::= plus_num", - /* 262 */ "nmnum ::= nm", - /* 263 */ "nmnum ::= ON", - /* 264 */ "nmnum ::= DELETE", - /* 265 */ "nmnum ::= DEFAULT", - /* 266 */ "plus_num ::= plus_opt number", - /* 267 */ "minus_num ::= MINUS number", - /* 268 */ "number ::= INTEGER|FLOAT", - /* 269 */ "plus_opt ::= PLUS", - /* 270 */ "plus_opt ::=", - /* 271 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", - /* 272 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 273 */ "trigger_time ::= BEFORE", - /* 274 */ "trigger_time ::= AFTER", - /* 275 */ "trigger_time ::= INSTEAD OF", - /* 276 */ "trigger_time ::=", - /* 277 */ "trigger_event ::= DELETE|INSERT", - /* 278 */ "trigger_event ::= UPDATE", - /* 279 */ "trigger_event ::= UPDATE OF inscollist", - /* 280 */ "foreach_clause ::=", - /* 281 */ "foreach_clause ::= FOR EACH ROW", - /* 282 */ "when_clause ::=", - /* 283 */ "when_clause ::= WHEN expr", - /* 284 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 285 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 286 */ "trnm ::= nm", - /* 287 */ "trnm ::= nm DOT nm", - /* 288 */ "tridxby ::=", - /* 289 */ "tridxby ::= INDEXED BY nm", - /* 290 */ "tridxby ::= NOT INDEXED", - /* 291 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", - /* 292 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP itemlist RP", - /* 293 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", - /* 294 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", - /* 295 */ "trigger_cmd ::= select", - /* 296 */ "expr ::= RAISE LP IGNORE RP", - /* 297 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 298 */ "raisetype ::= ROLLBACK", - /* 299 */ "raisetype ::= ABORT", - /* 300 */ "raisetype ::= FAIL", - /* 301 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 302 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 303 */ "cmd ::= DETACH database_kw_opt expr", - /* 304 */ "key_opt ::=", - /* 305 */ "key_opt ::= KEY expr", - /* 306 */ "database_kw_opt ::= DATABASE", - /* 307 */ "database_kw_opt ::=", - /* 308 */ "cmd ::= REINDEX", - /* 309 */ "cmd ::= REINDEX nm dbnm", - /* 310 */ "cmd ::= ANALYZE", - /* 311 */ "cmd ::= ANALYZE nm dbnm", - /* 312 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 313 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", - /* 314 */ "add_column_fullname ::= fullname", - /* 315 */ "kwcolumn_opt ::=", - /* 316 */ "kwcolumn_opt ::= COLUMNKW", - /* 317 */ "cmd ::= create_vtab", - /* 318 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 319 */ "create_vtab ::= createkw VIRTUAL TABLE nm dbnm USING nm", - /* 320 */ "vtabarglist ::= vtabarg", - /* 321 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 322 */ "vtabarg ::=", - /* 323 */ "vtabarg ::= vtabarg vtabargtoken", - /* 324 */ "vtabargtoken ::= ANY", - /* 325 */ "vtabargtoken ::= lp anylist RP", - /* 326 */ "lp ::= LP", - /* 327 */ "anylist ::=", - /* 328 */ "anylist ::= anylist LP anylist RP", - /* 329 */ "anylist ::= anylist ANY", + /* 212 */ "expr ::= expr likeop expr", + /* 213 */ "expr ::= expr likeop expr ESCAPE expr", + /* 214 */ "expr ::= expr ISNULL|NOTNULL", + /* 215 */ "expr ::= expr NOT NULL", + /* 216 */ "expr ::= expr IS expr", + /* 217 */ "expr ::= expr IS NOT expr", + /* 218 */ "expr ::= NOT expr", + /* 219 */ "expr ::= BITNOT expr", + /* 220 */ "expr ::= MINUS expr", + /* 221 */ "expr ::= PLUS expr", + /* 222 */ "between_op ::= BETWEEN", + /* 223 */ "between_op ::= NOT BETWEEN", + /* 224 */ "expr ::= expr between_op expr AND expr", + /* 225 */ "in_op ::= IN", + /* 226 */ "in_op ::= NOT IN", + /* 227 */ "expr ::= expr in_op LP exprlist RP", + /* 228 */ "expr ::= LP select RP", + /* 229 */ "expr ::= expr in_op LP select RP", + /* 230 */ "expr ::= expr in_op nm dbnm", + /* 231 */ "expr ::= EXISTS LP select RP", + /* 232 */ "expr ::= CASE case_operand case_exprlist case_else END", + /* 233 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 234 */ "case_exprlist ::= WHEN expr THEN expr", + /* 235 */ "case_else ::= ELSE expr", + /* 236 */ "case_else ::=", + /* 237 */ "case_operand ::= expr", + /* 238 */ "case_operand ::=", + /* 239 */ "exprlist ::= nexprlist", + /* 240 */ "exprlist ::=", + /* 241 */ "nexprlist ::= nexprlist COMMA expr", + /* 242 */ "nexprlist ::= expr", + /* 243 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP", + /* 244 */ "uniqueflag ::= UNIQUE", + /* 245 */ "uniqueflag ::=", + /* 246 */ "idxlist_opt ::=", + /* 247 */ "idxlist_opt ::= LP idxlist RP", + /* 248 */ "idxlist ::= idxlist COMMA nm collate sortorder", + /* 249 */ "idxlist ::= nm collate sortorder", + /* 250 */ "collate ::=", + /* 251 */ "collate ::= COLLATE ids", + /* 252 */ "cmd ::= DROP INDEX ifexists fullname", + /* 253 */ "cmd ::= VACUUM", + /* 254 */ "cmd ::= VACUUM nm", + /* 255 */ "cmd ::= PRAGMA nm dbnm", + /* 256 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", + /* 257 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", + /* 258 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", + /* 259 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", + /* 260 */ "nmnum ::= plus_num", + /* 261 */ "nmnum ::= nm", + /* 262 */ "nmnum ::= ON", + /* 263 */ "nmnum ::= DELETE", + /* 264 */ "nmnum ::= DEFAULT", + /* 265 */ "plus_num ::= plus_opt number", + /* 266 */ "minus_num ::= MINUS number", + /* 267 */ "number ::= INTEGER|FLOAT", + /* 268 */ "plus_opt ::= PLUS", + /* 269 */ "plus_opt ::=", + /* 270 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", + /* 271 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", + /* 272 */ "trigger_time ::= BEFORE", + /* 273 */ "trigger_time ::= AFTER", + /* 274 */ "trigger_time ::= INSTEAD OF", + /* 275 */ "trigger_time ::=", + /* 276 */ "trigger_event ::= DELETE|INSERT", + /* 277 */ "trigger_event ::= UPDATE", + /* 278 */ "trigger_event ::= UPDATE OF inscollist", + /* 279 */ "foreach_clause ::=", + /* 280 */ "foreach_clause ::= FOR EACH ROW", + /* 281 */ "when_clause ::=", + /* 282 */ "when_clause ::= WHEN expr", + /* 283 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 284 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 285 */ "trnm ::= nm", + /* 286 */ "trnm ::= nm DOT nm", + /* 287 */ "tridxby ::=", + /* 288 */ "tridxby ::= INDEXED BY nm", + /* 289 */ "tridxby ::= NOT INDEXED", + /* 290 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", + /* 291 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP itemlist RP", + /* 292 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", + /* 293 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", + /* 294 */ "trigger_cmd ::= select", + /* 295 */ "expr ::= RAISE LP IGNORE RP", + /* 296 */ "expr ::= RAISE LP raisetype COMMA nm RP", + /* 297 */ "raisetype ::= ROLLBACK", + /* 298 */ "raisetype ::= ABORT", + /* 299 */ "raisetype ::= FAIL", + /* 300 */ "cmd ::= DROP TRIGGER ifexists fullname", + /* 301 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", + /* 302 */ "cmd ::= DETACH database_kw_opt expr", + /* 303 */ "key_opt ::=", + /* 304 */ "key_opt ::= KEY expr", + /* 305 */ "database_kw_opt ::= DATABASE", + /* 306 */ "database_kw_opt ::=", + /* 307 */ "cmd ::= REINDEX", + /* 308 */ "cmd ::= REINDEX nm dbnm", + /* 309 */ "cmd ::= ANALYZE", + /* 310 */ "cmd ::= ANALYZE nm dbnm", + /* 311 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 312 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", + /* 313 */ "add_column_fullname ::= fullname", + /* 314 */ "kwcolumn_opt ::=", + /* 315 */ "kwcolumn_opt ::= COLUMNKW", + /* 316 */ "cmd ::= create_vtab", + /* 317 */ "cmd ::= create_vtab LP vtabarglist RP", + /* 318 */ "create_vtab ::= createkw VIRTUAL TABLE nm dbnm USING nm", + /* 319 */ "vtabarglist ::= vtabarg", + /* 320 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 321 */ "vtabarg ::=", + /* 322 */ "vtabarg ::= vtabarg vtabargtoken", + /* 323 */ "vtabargtoken ::= ANY", + /* 324 */ "vtabargtoken ::= lp anylist RP", + /* 325 */ "lp ::= LP", + /* 326 */ "anylist ::=", + /* 327 */ "anylist ::= anylist LP anylist RP", + /* 328 */ "anylist ::= anylist ANY", }; #endif /* NDEBUG */ @@ -93276,14 +100138,13 @@ static void yy_destructor( case 160: /* select */ case 194: /* oneselect */ { -sqlite3SelectDelete(pParse->db, (yypminor->yy3)); +sqlite3SelectDelete(pParse->db, (yypminor->yy387)); } break; case 174: /* term */ case 175: /* expr */ - case 223: /* escape */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy346).pExpr); +sqlite3ExprDelete(pParse->db, (yypminor->yy118).pExpr); } break; case 179: /* idxlist_opt */ @@ -93297,9 +100158,9 @@ sqlite3ExprDelete(pParse->db, (yypminor->yy346).pExpr); case 217: /* setlist */ case 220: /* itemlist */ case 221: /* exprlist */ - case 227: /* case_exprlist */ + case 226: /* case_exprlist */ { -sqlite3ExprListDelete(pParse->db, (yypminor->yy14)); +sqlite3ExprListDelete(pParse->db, (yypminor->yy322)); } break; case 193: /* fullname */ @@ -93307,37 +100168,37 @@ sqlite3ExprListDelete(pParse->db, (yypminor->yy14)); case 206: /* seltablist */ case 207: /* stl_prefix */ { -sqlite3SrcListDelete(pParse->db, (yypminor->yy65)); +sqlite3SrcListDelete(pParse->db, (yypminor->yy259)); } break; case 199: /* where_opt */ case 201: /* having_opt */ case 210: /* on_opt */ case 215: /* sortitem */ - case 226: /* case_operand */ - case 228: /* case_else */ - case 239: /* when_clause */ - case 244: /* key_opt */ + case 225: /* case_operand */ + case 227: /* case_else */ + case 238: /* when_clause */ + case 243: /* key_opt */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy132)); +sqlite3ExprDelete(pParse->db, (yypminor->yy314)); } break; case 211: /* using_opt */ case 213: /* inscollist */ case 219: /* inscollist_opt */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy408)); +sqlite3IdListDelete(pParse->db, (yypminor->yy384)); } break; - case 235: /* trigger_cmd_list */ - case 240: /* trigger_cmd */ + case 234: /* trigger_cmd_list */ + case 239: /* trigger_cmd */ { -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy473)); +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy203)); } break; - case 237: /* trigger_event */ + case 236: /* trigger_event */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy378).b); +sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); } break; default: break; /* If no destructor action specified: do nothing */ @@ -93795,9 +100656,8 @@ static const struct { { 222, 2 }, { 222, 1 }, { 222, 2 }, - { 223, 2 }, - { 223, 0 }, - { 175, 4 }, + { 175, 3 }, + { 175, 5 }, { 175, 2 }, { 175, 3 }, { 175, 3 }, @@ -93806,36 +100666,36 @@ static const struct { { 175, 2 }, { 175, 2 }, { 175, 2 }, + { 223, 1 }, + { 223, 2 }, + { 175, 5 }, { 224, 1 }, { 224, 2 }, { 175, 5 }, - { 225, 1 }, - { 225, 2 }, - { 175, 5 }, { 175, 3 }, { 175, 5 }, { 175, 4 }, { 175, 4 }, { 175, 5 }, - { 227, 5 }, - { 227, 4 }, - { 228, 2 }, - { 228, 0 }, - { 226, 1 }, - { 226, 0 }, + { 226, 5 }, + { 226, 4 }, + { 227, 2 }, + { 227, 0 }, + { 225, 1 }, + { 225, 0 }, { 221, 1 }, { 221, 0 }, { 216, 3 }, { 216, 1 }, { 147, 11 }, - { 229, 1 }, - { 229, 0 }, + { 228, 1 }, + { 228, 0 }, { 179, 0 }, { 179, 3 }, { 187, 5 }, { 187, 3 }, - { 230, 0 }, - { 230, 2 }, + { 229, 0 }, + { 229, 2 }, { 147, 4 }, { 147, 1 }, { 147, 2 }, @@ -93844,41 +100704,41 @@ static const struct { { 147, 6 }, { 147, 5 }, { 147, 6 }, - { 231, 1 }, - { 231, 1 }, - { 231, 1 }, - { 231, 1 }, - { 231, 1 }, + { 230, 1 }, + { 230, 1 }, + { 230, 1 }, + { 230, 1 }, + { 230, 1 }, { 170, 2 }, { 171, 2 }, - { 233, 1 }, { 232, 1 }, - { 232, 0 }, + { 231, 1 }, + { 231, 0 }, { 147, 5 }, - { 234, 11 }, + { 233, 11 }, + { 235, 1 }, + { 235, 1 }, + { 235, 2 }, + { 235, 0 }, { 236, 1 }, { 236, 1 }, - { 236, 2 }, - { 236, 0 }, - { 237, 1 }, - { 237, 1 }, + { 236, 3 }, + { 237, 0 }, { 237, 3 }, { 238, 0 }, - { 238, 3 }, - { 239, 0 }, - { 239, 2 }, - { 235, 3 }, - { 235, 2 }, - { 241, 1 }, - { 241, 3 }, - { 242, 0 }, - { 242, 3 }, - { 242, 2 }, - { 240, 7 }, - { 240, 8 }, - { 240, 5 }, - { 240, 5 }, + { 238, 2 }, + { 234, 3 }, + { 234, 2 }, { 240, 1 }, + { 240, 3 }, + { 241, 0 }, + { 241, 3 }, + { 241, 2 }, + { 239, 7 }, + { 239, 8 }, + { 239, 5 }, + { 239, 5 }, + { 239, 1 }, { 175, 4 }, { 175, 6 }, { 191, 1 }, @@ -93887,32 +100747,32 @@ static const struct { { 147, 4 }, { 147, 6 }, { 147, 3 }, - { 244, 0 }, - { 244, 2 }, - { 243, 1 }, { 243, 0 }, + { 243, 2 }, + { 242, 1 }, + { 242, 0 }, { 147, 1 }, { 147, 3 }, { 147, 1 }, { 147, 3 }, { 147, 6 }, { 147, 6 }, + { 244, 1 }, + { 245, 0 }, { 245, 1 }, - { 246, 0 }, - { 246, 1 }, { 147, 1 }, { 147, 4 }, - { 247, 7 }, - { 248, 1 }, - { 248, 3 }, - { 249, 0 }, - { 249, 2 }, + { 246, 7 }, + { 247, 1 }, + { 247, 3 }, + { 248, 0 }, + { 248, 2 }, + { 249, 1 }, + { 249, 3 }, { 250, 1 }, - { 250, 3 }, - { 251, 1 }, - { 252, 0 }, - { 252, 4 }, - { 252, 2 }, + { 251, 0 }, + { 251, 4 }, + { 251, 2 }, }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -93980,17 +100840,17 @@ static void yy_reduce( { sqlite3FinishCoding(pParse); } break; case 9: /* cmd ::= BEGIN transtype trans_opt */ -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy328);} +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy4);} break; case 13: /* transtype ::= */ -{yygotominor.yy328 = TK_DEFERRED;} +{yygotominor.yy4 = TK_DEFERRED;} break; case 14: /* transtype ::= DEFERRED */ case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==117); -{yygotominor.yy328 = yymsp[0].major;} +{yygotominor.yy4 = yymsp[0].major;} break; case 17: /* cmd ::= COMMIT trans_opt */ case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); @@ -94016,7 +100876,7 @@ static void yy_reduce( break; case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy328,0,0,yymsp[-2].minor.yy328); + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy4,0,0,yymsp[-2].minor.yy4); } break; case 27: /* createkw ::= CREATE */ @@ -94035,9 +100895,9 @@ static void yy_reduce( case 109: /* ifexists ::= */ yytestcase(yyruleno==109); case 120: /* distinct ::= ALL */ yytestcase(yyruleno==120); case 121: /* distinct ::= */ yytestcase(yyruleno==121); - case 223: /* between_op ::= BETWEEN */ yytestcase(yyruleno==223); - case 226: /* in_op ::= IN */ yytestcase(yyruleno==226); -{yygotominor.yy328 = 0;} + case 222: /* between_op ::= BETWEEN */ yytestcase(yyruleno==222); + case 225: /* in_op ::= IN */ yytestcase(yyruleno==225); +{yygotominor.yy4 = 0;} break; case 29: /* ifnotexists ::= IF NOT EXISTS */ case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); @@ -94045,9 +100905,9 @@ static void yy_reduce( case 86: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==86); case 108: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==108); case 119: /* distinct ::= DISTINCT */ yytestcase(yyruleno==119); - case 224: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==224); - case 227: /* in_op ::= NOT IN */ yytestcase(yyruleno==227); -{yygotominor.yy328 = 1;} + case 223: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==223); + case 226: /* in_op ::= NOT IN */ yytestcase(yyruleno==226); +{yygotominor.yy4 = 1;} break; case 32: /* create_table_args ::= LP columnlist conslist_opt RP */ { @@ -94056,8 +100916,8 @@ static void yy_reduce( break; case 33: /* create_table_args ::= AS select */ { - sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy3); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3); + sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy387); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); } break; case 36: /* column ::= columnid type carglist */ @@ -94084,16 +100944,16 @@ static void yy_reduce( case 128: /* as ::= ids */ yytestcase(yyruleno==128); case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138); case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147); - case 252: /* collate ::= COLLATE ids */ yytestcase(yyruleno==252); - case 261: /* nmnum ::= plus_num */ yytestcase(yyruleno==261); - case 262: /* nmnum ::= nm */ yytestcase(yyruleno==262); - case 263: /* nmnum ::= ON */ yytestcase(yyruleno==263); - case 264: /* nmnum ::= DELETE */ yytestcase(yyruleno==264); - case 265: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==265); - case 266: /* plus_num ::= plus_opt number */ yytestcase(yyruleno==266); - case 267: /* minus_num ::= MINUS number */ yytestcase(yyruleno==267); - case 268: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==268); - case 286: /* trnm ::= nm */ yytestcase(yyruleno==286); + case 251: /* collate ::= COLLATE ids */ yytestcase(yyruleno==251); + case 260: /* nmnum ::= plus_num */ yytestcase(yyruleno==260); + case 261: /* nmnum ::= nm */ yytestcase(yyruleno==261); + case 262: /* nmnum ::= ON */ yytestcase(yyruleno==262); + case 263: /* nmnum ::= DELETE */ yytestcase(yyruleno==263); + case 264: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==264); + case 265: /* plus_num ::= plus_opt number */ yytestcase(yyruleno==265); + case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266); + case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267); + case 285: /* trnm ::= nm */ yytestcase(yyruleno==285); {yygotominor.yy0 = yymsp[0].minor.yy0;} break; case 45: /* type ::= typetoken */ @@ -94116,17 +100976,17 @@ static void yy_reduce( break; case 57: /* ccons ::= DEFAULT term */ case 59: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==59); -{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy346);} +{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy118);} break; case 58: /* ccons ::= DEFAULT LP expr RP */ -{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy346);} +{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy118);} break; case 60: /* ccons ::= DEFAULT MINUS term */ { ExprSpan v; - v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy346.pExpr, 0, 0); + v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy118.pExpr, 0, 0); v.zStart = yymsp[-1].minor.yy0.z; - v.zEnd = yymsp[0].minor.yy346.zEnd; + v.zEnd = yymsp[0].minor.yy118.zEnd; sqlite3AddDefaultValue(pParse,&v); } break; @@ -94138,62 +100998,62 @@ static void yy_reduce( } break; case 63: /* ccons ::= NOT NULL onconf */ -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy328);} +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy4);} break; case 64: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy328,yymsp[0].minor.yy328,yymsp[-2].minor.yy328);} +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy4,yymsp[0].minor.yy4,yymsp[-2].minor.yy4);} break; case 65: /* ccons ::= UNIQUE onconf */ -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy328,0,0,0,0);} +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy4,0,0,0,0);} break; case 66: /* ccons ::= CHECK LP expr RP */ -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy346.pExpr);} +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy118.pExpr);} break; case 67: /* ccons ::= REFERENCES nm idxlist_opt refargs */ -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy14,yymsp[0].minor.yy328);} +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy322,yymsp[0].minor.yy4);} break; case 68: /* ccons ::= defer_subclause */ -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy328);} +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy4);} break; case 69: /* ccons ::= COLLATE ids */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; case 72: /* refargs ::= */ -{ yygotominor.yy328 = OE_None*0x0101; /* EV: R-19803-45884 */} +{ yygotominor.yy4 = OE_None*0x0101; /* EV: R-19803-45884 */} break; case 73: /* refargs ::= refargs refarg */ -{ yygotominor.yy328 = (yymsp[-1].minor.yy328 & ~yymsp[0].minor.yy429.mask) | yymsp[0].minor.yy429.value; } +{ yygotominor.yy4 = (yymsp[-1].minor.yy4 & ~yymsp[0].minor.yy215.mask) | yymsp[0].minor.yy215.value; } break; case 74: /* refarg ::= MATCH nm */ case 75: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==75); -{ yygotominor.yy429.value = 0; yygotominor.yy429.mask = 0x000000; } +{ yygotominor.yy215.value = 0; yygotominor.yy215.mask = 0x000000; } break; case 76: /* refarg ::= ON DELETE refact */ -{ yygotominor.yy429.value = yymsp[0].minor.yy328; yygotominor.yy429.mask = 0x0000ff; } +{ yygotominor.yy215.value = yymsp[0].minor.yy4; yygotominor.yy215.mask = 0x0000ff; } break; case 77: /* refarg ::= ON UPDATE refact */ -{ yygotominor.yy429.value = yymsp[0].minor.yy328<<8; yygotominor.yy429.mask = 0x00ff00; } +{ yygotominor.yy215.value = yymsp[0].minor.yy4<<8; yygotominor.yy215.mask = 0x00ff00; } break; case 78: /* refact ::= SET NULL */ -{ yygotominor.yy328 = OE_SetNull; /* EV: R-33326-45252 */} +{ yygotominor.yy4 = OE_SetNull; /* EV: R-33326-45252 */} break; case 79: /* refact ::= SET DEFAULT */ -{ yygotominor.yy328 = OE_SetDflt; /* EV: R-33326-45252 */} +{ yygotominor.yy4 = OE_SetDflt; /* EV: R-33326-45252 */} break; case 80: /* refact ::= CASCADE */ -{ yygotominor.yy328 = OE_Cascade; /* EV: R-33326-45252 */} +{ yygotominor.yy4 = OE_Cascade; /* EV: R-33326-45252 */} break; case 81: /* refact ::= RESTRICT */ -{ yygotominor.yy328 = OE_Restrict; /* EV: R-33326-45252 */} +{ yygotominor.yy4 = OE_Restrict; /* EV: R-33326-45252 */} break; case 82: /* refact ::= NO ACTION */ -{ yygotominor.yy328 = OE_None; /* EV: R-33326-45252 */} +{ yygotominor.yy4 = OE_None; /* EV: R-33326-45252 */} break; case 84: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ case 99: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==99); case 101: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==101); case 104: /* resolvetype ::= raisetype */ yytestcase(yyruleno==104); -{yygotominor.yy328 = yymsp[0].minor.yy328;} +{yygotominor.yy4 = yymsp[0].minor.yy4;} break; case 88: /* conslist_opt ::= */ {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} @@ -94202,101 +101062,101 @@ static void yy_reduce( {yygotominor.yy0 = yymsp[-1].minor.yy0;} break; case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy14,yymsp[0].minor.yy328,yymsp[-2].minor.yy328,0);} +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy322,yymsp[0].minor.yy4,yymsp[-2].minor.yy4,0);} break; case 95: /* tcons ::= UNIQUE LP idxlist RP onconf */ -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy14,yymsp[0].minor.yy328,0,0,0,0);} +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy322,yymsp[0].minor.yy4,0,0,0,0);} break; case 96: /* tcons ::= CHECK LP expr RP onconf */ -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy346.pExpr);} +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy118.pExpr);} break; case 97: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ { - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy14, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy14, yymsp[-1].minor.yy328); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy328); + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy322, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy4); + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy4); } break; case 100: /* onconf ::= */ -{yygotominor.yy328 = OE_Default;} +{yygotominor.yy4 = OE_Default;} break; case 102: /* orconf ::= */ -{yygotominor.yy186 = OE_Default;} +{yygotominor.yy210 = OE_Default;} break; case 103: /* orconf ::= OR resolvetype */ -{yygotominor.yy186 = (u8)yymsp[0].minor.yy328;} +{yygotominor.yy210 = (u8)yymsp[0].minor.yy4;} break; case 105: /* resolvetype ::= IGNORE */ -{yygotominor.yy328 = OE_Ignore;} +{yygotominor.yy4 = OE_Ignore;} break; case 106: /* resolvetype ::= REPLACE */ -{yygotominor.yy328 = OE_Replace;} +{yygotominor.yy4 = OE_Replace;} break; case 107: /* cmd ::= DROP TABLE ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy65, 0, yymsp[-1].minor.yy328); + sqlite3DropTable(pParse, yymsp[0].minor.yy259, 0, yymsp[-1].minor.yy4); } break; case 110: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ { - sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy3, yymsp[-6].minor.yy328, yymsp[-4].minor.yy328); + sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy387, yymsp[-6].minor.yy4, yymsp[-4].minor.yy4); } break; case 111: /* cmd ::= DROP VIEW ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy65, 1, yymsp[-1].minor.yy328); + sqlite3DropTable(pParse, yymsp[0].minor.yy259, 1, yymsp[-1].minor.yy4); } break; case 112: /* cmd ::= select */ { SelectDest dest = {SRT_Output, 0, 0, 0, 0}; - sqlite3Select(pParse, yymsp[0].minor.yy3, &dest); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3); + sqlite3Select(pParse, yymsp[0].minor.yy387, &dest); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); } break; case 113: /* select ::= oneselect */ -{yygotominor.yy3 = yymsp[0].minor.yy3;} +{yygotominor.yy387 = yymsp[0].minor.yy387;} break; case 114: /* select ::= select multiselect_op oneselect */ { - if( yymsp[0].minor.yy3 ){ - yymsp[0].minor.yy3->op = (u8)yymsp[-1].minor.yy328; - yymsp[0].minor.yy3->pPrior = yymsp[-2].minor.yy3; + if( yymsp[0].minor.yy387 ){ + yymsp[0].minor.yy387->op = (u8)yymsp[-1].minor.yy4; + yymsp[0].minor.yy387->pPrior = yymsp[-2].minor.yy387; }else{ - sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy3); + sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy387); } - yygotominor.yy3 = yymsp[0].minor.yy3; + yygotominor.yy387 = yymsp[0].minor.yy387; } break; case 116: /* multiselect_op ::= UNION ALL */ -{yygotominor.yy328 = TK_ALL;} +{yygotominor.yy4 = TK_ALL;} break; case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { - yygotominor.yy3 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy14,yymsp[-5].minor.yy65,yymsp[-4].minor.yy132,yymsp[-3].minor.yy14,yymsp[-2].minor.yy132,yymsp[-1].minor.yy14,yymsp[-7].minor.yy328,yymsp[0].minor.yy476.pLimit,yymsp[0].minor.yy476.pOffset); + yygotominor.yy387 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy322,yymsp[-5].minor.yy259,yymsp[-4].minor.yy314,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yymsp[-1].minor.yy322,yymsp[-7].minor.yy4,yymsp[0].minor.yy292.pLimit,yymsp[0].minor.yy292.pOffset); } break; case 122: /* sclp ::= selcollist COMMA */ - case 248: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==248); -{yygotominor.yy14 = yymsp[-1].minor.yy14;} + case 247: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==247); +{yygotominor.yy322 = yymsp[-1].minor.yy322;} break; case 123: /* sclp ::= */ case 151: /* orderby_opt ::= */ yytestcase(yyruleno==151); case 159: /* groupby_opt ::= */ yytestcase(yyruleno==159); - case 241: /* exprlist ::= */ yytestcase(yyruleno==241); - case 247: /* idxlist_opt ::= */ yytestcase(yyruleno==247); -{yygotominor.yy14 = 0;} + case 240: /* exprlist ::= */ yytestcase(yyruleno==240); + case 246: /* idxlist_opt ::= */ yytestcase(yyruleno==246); +{yygotominor.yy322 = 0;} break; case 124: /* selcollist ::= sclp expr as */ { - yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy14, yymsp[-1].minor.yy346.pExpr); - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[0].minor.yy0, 1); - sqlite3ExprListSetSpan(pParse,yygotominor.yy14,&yymsp[-1].minor.yy346); + yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy322, yymsp[-1].minor.yy118.pExpr); + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[0].minor.yy0, 1); + sqlite3ExprListSetSpan(pParse,yygotominor.yy322,&yymsp[-1].minor.yy118); } break; case 125: /* selcollist ::= sclp STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); - yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy14, p); + yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy322, p); } break; case 126: /* selcollist ::= sclp nm DOT STAR */ @@ -94304,50 +101164,50 @@ static void yy_reduce( Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14, pDot); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322, pDot); } break; case 129: /* as ::= */ {yygotominor.yy0.n = 0;} break; case 130: /* from ::= */ -{yygotominor.yy65 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy65));} +{yygotominor.yy259 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy259));} break; case 131: /* from ::= FROM seltablist */ { - yygotominor.yy65 = yymsp[0].minor.yy65; - sqlite3SrcListShiftJoinType(yygotominor.yy65); + yygotominor.yy259 = yymsp[0].minor.yy259; + sqlite3SrcListShiftJoinType(yygotominor.yy259); } break; case 132: /* stl_prefix ::= seltablist joinop */ { - yygotominor.yy65 = yymsp[-1].minor.yy65; - if( ALWAYS(yygotominor.yy65 && yygotominor.yy65->nSrc>0) ) yygotominor.yy65->a[yygotominor.yy65->nSrc-1].jointype = (u8)yymsp[0].minor.yy328; + yygotominor.yy259 = yymsp[-1].minor.yy259; + if( ALWAYS(yygotominor.yy259 && yygotominor.yy259->nSrc>0) ) yygotominor.yy259->a[yygotominor.yy259->nSrc-1].jointype = (u8)yymsp[0].minor.yy4; } break; case 133: /* stl_prefix ::= */ -{yygotominor.yy65 = 0;} +{yygotominor.yy259 = 0;} break; case 134: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ { - yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy132,yymsp[0].minor.yy408); - sqlite3SrcListIndexedBy(pParse, yygotominor.yy65, &yymsp[-2].minor.yy0); + yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + sqlite3SrcListIndexedBy(pParse, yygotominor.yy259, &yymsp[-2].minor.yy0); } break; case 135: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ { - yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy3,yymsp[-1].minor.yy132,yymsp[0].minor.yy408); + yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy387,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); } break; case 136: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ { - if( yymsp[-6].minor.yy65==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy132==0 && yymsp[0].minor.yy408==0 ){ - yygotominor.yy65 = yymsp[-4].minor.yy65; + if( yymsp[-6].minor.yy259==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy314==0 && yymsp[0].minor.yy384==0 ){ + yygotominor.yy259 = yymsp[-4].minor.yy259; }else{ Select *pSubquery; - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy65); - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy65,0,0,0,0,0,0,0); - yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy132,yymsp[0].minor.yy408); + sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy259); + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy259,0,0,0,0,0,0,0); + yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); } } break; @@ -94356,158 +101216,157 @@ static void yy_reduce( {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} break; case 139: /* fullname ::= nm dbnm */ -{yygotominor.yy65 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} +{yygotominor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} break; case 140: /* joinop ::= COMMA|JOIN */ -{ yygotominor.yy328 = JT_INNER; } +{ yygotominor.yy4 = JT_INNER; } break; case 141: /* joinop ::= JOIN_KW JOIN */ -{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } +{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } break; case 142: /* joinop ::= JOIN_KW nm JOIN */ -{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } +{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } break; case 143: /* joinop ::= JOIN_KW nm nm JOIN */ -{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } +{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } break; case 144: /* on_opt ::= ON expr */ case 155: /* sortitem ::= expr */ yytestcase(yyruleno==155); case 162: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==162); case 169: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==169); - case 236: /* case_else ::= ELSE expr */ yytestcase(yyruleno==236); - case 238: /* case_operand ::= expr */ yytestcase(yyruleno==238); -{yygotominor.yy132 = yymsp[0].minor.yy346.pExpr;} + case 235: /* case_else ::= ELSE expr */ yytestcase(yyruleno==235); + case 237: /* case_operand ::= expr */ yytestcase(yyruleno==237); +{yygotominor.yy314 = yymsp[0].minor.yy118.pExpr;} break; case 145: /* on_opt ::= */ case 161: /* having_opt ::= */ yytestcase(yyruleno==161); case 168: /* where_opt ::= */ yytestcase(yyruleno==168); - case 237: /* case_else ::= */ yytestcase(yyruleno==237); - case 239: /* case_operand ::= */ yytestcase(yyruleno==239); -{yygotominor.yy132 = 0;} + case 236: /* case_else ::= */ yytestcase(yyruleno==236); + case 238: /* case_operand ::= */ yytestcase(yyruleno==238); +{yygotominor.yy314 = 0;} break; case 148: /* indexed_opt ::= NOT INDEXED */ {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} break; case 149: /* using_opt ::= USING LP inscollist RP */ case 181: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==181); -{yygotominor.yy408 = yymsp[-1].minor.yy408;} +{yygotominor.yy384 = yymsp[-1].minor.yy384;} break; case 150: /* using_opt ::= */ case 180: /* inscollist_opt ::= */ yytestcase(yyruleno==180); -{yygotominor.yy408 = 0;} +{yygotominor.yy384 = 0;} break; case 152: /* orderby_opt ::= ORDER BY sortlist */ case 160: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==160); - case 240: /* exprlist ::= nexprlist */ yytestcase(yyruleno==240); -{yygotominor.yy14 = yymsp[0].minor.yy14;} + case 239: /* exprlist ::= nexprlist */ yytestcase(yyruleno==239); +{yygotominor.yy322 = yymsp[0].minor.yy322;} break; case 153: /* sortlist ::= sortlist COMMA sortitem sortorder */ { - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14,yymsp[-1].minor.yy132); - if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy328; + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322,yymsp[-1].minor.yy314); + if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy4; } break; case 154: /* sortlist ::= sortitem sortorder */ { - yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy132); - if( yygotominor.yy14 && ALWAYS(yygotominor.yy14->a) ) yygotominor.yy14->a[0].sortOrder = (u8)yymsp[0].minor.yy328; + yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy314); + if( yygotominor.yy322 && ALWAYS(yygotominor.yy322->a) ) yygotominor.yy322->a[0].sortOrder = (u8)yymsp[0].minor.yy4; } break; case 156: /* sortorder ::= ASC */ case 158: /* sortorder ::= */ yytestcase(yyruleno==158); -{yygotominor.yy328 = SQLITE_SO_ASC;} +{yygotominor.yy4 = SQLITE_SO_ASC;} break; case 157: /* sortorder ::= DESC */ -{yygotominor.yy328 = SQLITE_SO_DESC;} +{yygotominor.yy4 = SQLITE_SO_DESC;} break; case 163: /* limit_opt ::= */ -{yygotominor.yy476.pLimit = 0; yygotominor.yy476.pOffset = 0;} +{yygotominor.yy292.pLimit = 0; yygotominor.yy292.pOffset = 0;} break; case 164: /* limit_opt ::= LIMIT expr */ -{yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr; yygotominor.yy476.pOffset = 0;} +{yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr; yygotominor.yy292.pOffset = 0;} break; case 165: /* limit_opt ::= LIMIT expr OFFSET expr */ -{yygotominor.yy476.pLimit = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pOffset = yymsp[0].minor.yy346.pExpr;} +{yygotominor.yy292.pLimit = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pOffset = yymsp[0].minor.yy118.pExpr;} break; case 166: /* limit_opt ::= LIMIT expr COMMA expr */ -{yygotominor.yy476.pOffset = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr;} +{yygotominor.yy292.pOffset = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr;} break; case 167: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ { - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy65, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy65,yymsp[0].minor.yy132); + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314); } break; case 170: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */ { - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy65, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy14,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy65,yymsp[-1].minor.yy14,yymsp[0].minor.yy132,yymsp[-5].minor.yy186); + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); + sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].minor.yy314,yymsp[-5].minor.yy210); } break; case 171: /* setlist ::= setlist COMMA nm EQ expr */ { - yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy14, yymsp[0].minor.yy346.pExpr); - sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); + yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[0].minor.yy118.pExpr); + sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); } break; case 172: /* setlist ::= nm EQ expr */ { - yygotominor.yy14 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy346.pExpr); - sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); + yygotominor.yy322 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy118.pExpr); + sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); } break; case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist RP */ -{sqlite3Insert(pParse, yymsp[-5].minor.yy65, yymsp[-1].minor.yy14, 0, yymsp[-4].minor.yy408, yymsp[-7].minor.yy186);} +{sqlite3Insert(pParse, yymsp[-5].minor.yy259, yymsp[-1].minor.yy322, 0, yymsp[-4].minor.yy384, yymsp[-7].minor.yy210);} break; case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ -{sqlite3Insert(pParse, yymsp[-2].minor.yy65, 0, yymsp[0].minor.yy3, yymsp[-1].minor.yy408, yymsp[-4].minor.yy186);} +{sqlite3Insert(pParse, yymsp[-2].minor.yy259, 0, yymsp[0].minor.yy387, yymsp[-1].minor.yy384, yymsp[-4].minor.yy210);} break; case 175: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ -{sqlite3Insert(pParse, yymsp[-3].minor.yy65, 0, 0, yymsp[-2].minor.yy408, yymsp[-5].minor.yy186);} +{sqlite3Insert(pParse, yymsp[-3].minor.yy259, 0, 0, yymsp[-2].minor.yy384, yymsp[-5].minor.yy210);} break; case 176: /* insert_cmd ::= INSERT orconf */ -{yygotominor.yy186 = yymsp[0].minor.yy186;} +{yygotominor.yy210 = yymsp[0].minor.yy210;} break; case 177: /* insert_cmd ::= REPLACE */ -{yygotominor.yy186 = OE_Replace;} +{yygotominor.yy210 = OE_Replace;} break; case 178: /* itemlist ::= itemlist COMMA expr */ - case 242: /* nexprlist ::= nexprlist COMMA expr */ yytestcase(yyruleno==242); -{yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[0].minor.yy346.pExpr);} + case 241: /* nexprlist ::= nexprlist COMMA expr */ yytestcase(yyruleno==241); +{yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[0].minor.yy118.pExpr);} break; case 179: /* itemlist ::= expr */ - case 243: /* nexprlist ::= expr */ yytestcase(yyruleno==243); -{yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy346.pExpr);} + case 242: /* nexprlist ::= expr */ yytestcase(yyruleno==242); +{yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy118.pExpr);} break; case 182: /* inscollist ::= inscollist COMMA nm */ -{yygotominor.yy408 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy408,&yymsp[0].minor.yy0);} +{yygotominor.yy384 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy384,&yymsp[0].minor.yy0);} break; case 183: /* inscollist ::= nm */ -{yygotominor.yy408 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} +{yygotominor.yy384 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} break; case 184: /* expr ::= term */ - case 212: /* escape ::= ESCAPE expr */ yytestcase(yyruleno==212); -{yygotominor.yy346 = yymsp[0].minor.yy346;} +{yygotominor.yy118 = yymsp[0].minor.yy118;} break; case 185: /* expr ::= LP expr RP */ -{yygotominor.yy346.pExpr = yymsp[-1].minor.yy346.pExpr; spanSet(&yygotominor.yy346,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} +{yygotominor.yy118.pExpr = yymsp[-1].minor.yy118.pExpr; spanSet(&yygotominor.yy118,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} break; case 186: /* term ::= NULL */ case 191: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==191); case 192: /* term ::= STRING */ yytestcase(yyruleno==192); -{spanExpr(&yygotominor.yy346, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} +{spanExpr(&yygotominor.yy118, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} break; case 187: /* expr ::= id */ case 188: /* expr ::= JOIN_KW */ yytestcase(yyruleno==188); -{spanExpr(&yygotominor.yy346, pParse, TK_ID, &yymsp[0].minor.yy0);} +{spanExpr(&yygotominor.yy118, pParse, TK_ID, &yymsp[0].minor.yy0);} break; case 189: /* expr ::= nm DOT nm */ { Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); - spanSet(&yygotominor.yy346,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); + spanSet(&yygotominor.yy118,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); } break; case 190: /* expr ::= nm DOT nm DOT nm */ @@ -94516,8 +101375,8 @@ static void yy_reduce( Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); - spanSet(&yygotominor.yy346,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); + spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); } break; case 193: /* expr ::= REGISTER */ @@ -94527,61 +101386,61 @@ static void yy_reduce( ** in the virtual machine. #N is the N-th register. */ if( pParse->nested==0 ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); - yygotominor.yy346.pExpr = 0; + yygotominor.yy118.pExpr = 0; }else{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0); - if( yygotominor.yy346.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy346.pExpr->iTable); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0); + if( yygotominor.yy118.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy118.pExpr->iTable); } - spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); + spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } break; case 194: /* expr ::= VARIABLE */ { - spanExpr(&yygotominor.yy346, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); - sqlite3ExprAssignVarNumber(pParse, yygotominor.yy346.pExpr); - spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); + spanExpr(&yygotominor.yy118, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); + sqlite3ExprAssignVarNumber(pParse, yygotominor.yy118.pExpr); + spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } break; case 195: /* expr ::= expr COLLATE ids */ { - yygotominor.yy346.pExpr = sqlite3ExprSetColl(pParse, yymsp[-2].minor.yy346.pExpr, &yymsp[0].minor.yy0); - yygotominor.yy346.zStart = yymsp[-2].minor.yy346.zStart; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yygotominor.yy118.pExpr = sqlite3ExprSetCollByToken(pParse, yymsp[-2].minor.yy118.pExpr, &yymsp[0].minor.yy0); + yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; case 196: /* expr ::= CAST LP expr AS typetoken RP */ { - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy346.pExpr, 0, &yymsp[-1].minor.yy0); - spanSet(&yygotominor.yy346,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy118.pExpr, 0, &yymsp[-1].minor.yy0); + spanSet(&yygotominor.yy118,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); } break; case 197: /* expr ::= ID LP distinct exprlist RP */ { - if( yymsp[-1].minor.yy14 && yymsp[-1].minor.yy14->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ + if( yymsp[-1].minor.yy322 && yymsp[-1].minor.yy322->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); } - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy14, &yymsp[-4].minor.yy0); - spanSet(&yygotominor.yy346,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); - if( yymsp[-2].minor.yy328 && yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->flags |= EP_Distinct; + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy322, &yymsp[-4].minor.yy0); + spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); + if( yymsp[-2].minor.yy4 && yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->flags |= EP_Distinct; } } break; case 198: /* expr ::= ID LP STAR RP */ { - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); - spanSet(&yygotominor.yy346,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); + spanSet(&yygotominor.yy118,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); } break; case 199: /* term ::= CTIME_KW */ { /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are ** treated as functions that return constants */ - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->op = TK_CONST_FUNC; + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->op = TK_CONST_FUNC; } - spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); + spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } break; case 200: /* expr ::= expr AND expr */ @@ -94592,295 +101451,315 @@ static void yy_reduce( case 205: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==205); case 206: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==206); case 207: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==207); -{spanBinaryExpr(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy346);} +{spanBinaryExpr(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy118);} break; case 208: /* likeop ::= LIKE_KW */ case 210: /* likeop ::= MATCH */ yytestcase(yyruleno==210); -{yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.not = 0;} +{yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.not = 0;} break; case 209: /* likeop ::= NOT LIKE_KW */ case 211: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==211); -{yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.not = 1;} +{yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.not = 1;} break; - case 213: /* escape ::= */ -{memset(&yygotominor.yy346,0,sizeof(yygotominor.yy346));} + case 212: /* expr ::= expr likeop expr */ +{ + ExprList *pList; + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy118.pExpr); + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy342.eOperator); + if( yymsp[-1].minor.yy342.not ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; + if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; +} break; - case 214: /* expr ::= expr likeop expr escape */ + case 213: /* expr ::= expr likeop expr ESCAPE expr */ { ExprList *pList; - pList = sqlite3ExprListAppend(pParse,0, yymsp[-1].minor.yy346.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-3].minor.yy346.pExpr); - if( yymsp[0].minor.yy346.pExpr ){ - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); - } - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-2].minor.yy96.eOperator); - if( yymsp[-2].minor.yy96.not ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-3].minor.yy346.zStart; - yygotominor.yy346.zEnd = yymsp[-1].minor.yy346.zEnd; - if( yygotominor.yy346.pExpr ) yygotominor.yy346.pExpr->flags |= EP_InfixFunc; + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy342.eOperator); + if( yymsp[-3].minor.yy342.not ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; + if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; } break; - case 215: /* expr ::= expr ISNULL|NOTNULL */ -{spanUnaryPostfix(&yygotominor.yy346,pParse,yymsp[0].major,&yymsp[-1].minor.yy346,&yymsp[0].minor.yy0);} + case 214: /* expr ::= expr ISNULL|NOTNULL */ +{spanUnaryPostfix(&yygotominor.yy118,pParse,yymsp[0].major,&yymsp[-1].minor.yy118,&yymsp[0].minor.yy0);} break; - case 216: /* expr ::= expr NOT NULL */ -{spanUnaryPostfix(&yygotominor.yy346,pParse,TK_NOTNULL,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy0);} + case 215: /* expr ::= expr NOT NULL */ +{spanUnaryPostfix(&yygotominor.yy118,pParse,TK_NOTNULL,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy0);} break; - case 217: /* expr ::= expr IS expr */ + case 216: /* expr ::= expr IS expr */ { - spanBinaryExpr(&yygotominor.yy346,pParse,TK_IS,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy346); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy346.pExpr, yygotominor.yy346.pExpr, TK_ISNULL); + spanBinaryExpr(&yygotominor.yy118,pParse,TK_IS,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy118); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExpr, TK_ISNULL); } break; - case 218: /* expr ::= expr IS NOT expr */ + case 217: /* expr ::= expr IS NOT expr */ { - spanBinaryExpr(&yygotominor.yy346,pParse,TK_ISNOT,&yymsp[-3].minor.yy346,&yymsp[0].minor.yy346); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy346.pExpr, yygotominor.yy346.pExpr, TK_NOTNULL); + spanBinaryExpr(&yygotominor.yy118,pParse,TK_ISNOT,&yymsp[-3].minor.yy118,&yymsp[0].minor.yy118); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExpr, TK_NOTNULL); } break; - case 219: /* expr ::= NOT expr */ - case 220: /* expr ::= BITNOT expr */ yytestcase(yyruleno==220); -{spanUnaryPrefix(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);} + case 218: /* expr ::= NOT expr */ + case 219: /* expr ::= BITNOT expr */ yytestcase(yyruleno==219); +{spanUnaryPrefix(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} break; - case 221: /* expr ::= MINUS expr */ -{spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UMINUS,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);} + case 220: /* expr ::= MINUS expr */ +{spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UMINUS,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} break; - case 222: /* expr ::= PLUS expr */ -{spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UPLUS,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);} + case 221: /* expr ::= PLUS expr */ +{spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UPLUS,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} break; - case 225: /* expr ::= expr between_op expr AND expr */ + case 224: /* expr ::= expr between_op expr AND expr */ { - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pList = pList; + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } - if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; - yygotominor.yy346.zEnd = yymsp[0].minor.yy346.zEnd; + if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; } break; - case 228: /* expr ::= expr in_op LP exprlist RP */ + case 227: /* expr ::= expr in_op LP exprlist RP */ { - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy14; - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); + if( yymsp[-1].minor.yy322==0 ){ + /* Expressions of the form + ** + ** expr1 IN () + ** expr1 NOT IN () + ** + ** simplify to constants 0 (false) and 1 (true), respectively, + ** regardless of the value of expr1. + */ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy4]); + sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy118.pExpr); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy14); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pList = yymsp[-1].minor.yy322; + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); + }else{ + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); + } + if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); } - if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 229: /* expr ::= LP select RP */ + case 228: /* expr ::= LP select RP */ { - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; - ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; + ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); } - yygotominor.yy346.zStart = yymsp[-2].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yygotominor.yy118.zStart = yymsp[-2].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 230: /* expr ::= expr in_op LP select RP */ + case 229: /* expr ::= expr in_op LP select RP */ { - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; - ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; + ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); } - if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 231: /* expr ::= expr in_op nm dbnm */ + case 230: /* expr ::= expr in_op nm dbnm */ { SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); - ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); + ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); }else{ sqlite3SrcListDelete(pParse->db, pSrc); } - if( yymsp[-2].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-3].minor.yy346.zStart; - yygotominor.yy346.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; + if( yymsp[-2].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-3].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; } break; - case 232: /* expr ::= EXISTS LP select RP */ + case 231: /* expr ::= EXISTS LP select RP */ { - Expr *p = yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); + Expr *p = yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); if( p ){ - p->x.pSelect = yymsp[-1].minor.yy3; + p->x.pSelect = yymsp[-1].minor.yy387; ExprSetProperty(p, EP_xIsSelect); sqlite3ExprSetHeight(pParse, p); }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); } - yygotominor.yy346.zStart = yymsp[-3].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 233: /* expr ::= CASE case_operand case_exprlist case_else END */ + case 232: /* expr ::= CASE case_operand case_exprlist case_else END */ { - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy132, yymsp[-1].minor.yy132, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pList = yymsp[-2].minor.yy14; - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy314, yymsp[-1].minor.yy314, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pList = yymsp[-2].minor.yy322; + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy14); + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy322); } - yygotominor.yy346.zStart = yymsp[-4].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yygotominor.yy118.zStart = yymsp[-4].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 234: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 233: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, yymsp[-2].minor.yy346.pExpr); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[-2].minor.yy118.pExpr); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].minor.yy118.pExpr); } break; - case 235: /* case_exprlist ::= WHEN expr THEN expr */ + case 234: /* case_exprlist ::= WHEN expr THEN expr */ { - yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].minor.yy118.pExpr); } break; - case 244: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */ + case 243: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP */ { sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy0, &yymsp[-5].minor.yy0, - sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), yymsp[-1].minor.yy14, yymsp[-9].minor.yy328, - &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy328); + sqlite3SrcListAppend(pParse->db,0,&yymsp[-3].minor.yy0,0), yymsp[-1].minor.yy322, yymsp[-9].minor.yy4, + &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy4); } break; - case 245: /* uniqueflag ::= UNIQUE */ - case 299: /* raisetype ::= ABORT */ yytestcase(yyruleno==299); -{yygotominor.yy328 = OE_Abort;} + case 244: /* uniqueflag ::= UNIQUE */ + case 298: /* raisetype ::= ABORT */ yytestcase(yyruleno==298); +{yygotominor.yy4 = OE_Abort;} break; - case 246: /* uniqueflag ::= */ -{yygotominor.yy328 = OE_None;} + case 245: /* uniqueflag ::= */ +{yygotominor.yy4 = OE_None;} break; - case 249: /* idxlist ::= idxlist COMMA nm collate sortorder */ + case 248: /* idxlist ::= idxlist COMMA nm collate sortorder */ { Expr *p = 0; if( yymsp[-1].minor.yy0.n>0 ){ p = sqlite3Expr(pParse->db, TK_COLUMN, 0); - sqlite3ExprSetColl(pParse, p, &yymsp[-1].minor.yy0); + sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); } - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, p); - sqlite3ExprListSetName(pParse,yygotominor.yy14,&yymsp[-2].minor.yy0,1); - sqlite3ExprListCheckLength(pParse, yygotominor.yy14, "index"); - if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy328; + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, p); + sqlite3ExprListSetName(pParse,yygotominor.yy322,&yymsp[-2].minor.yy0,1); + sqlite3ExprListCheckLength(pParse, yygotominor.yy322, "index"); + if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy4; } break; - case 250: /* idxlist ::= nm collate sortorder */ + case 249: /* idxlist ::= nm collate sortorder */ { Expr *p = 0; if( yymsp[-1].minor.yy0.n>0 ){ p = sqlite3PExpr(pParse, TK_COLUMN, 0, 0, 0); - sqlite3ExprSetColl(pParse, p, &yymsp[-1].minor.yy0); + sqlite3ExprSetCollByToken(pParse, p, &yymsp[-1].minor.yy0); } - yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, p); - sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); - sqlite3ExprListCheckLength(pParse, yygotominor.yy14, "index"); - if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy328; + yygotominor.yy322 = sqlite3ExprListAppend(pParse,0, p); + sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); + sqlite3ExprListCheckLength(pParse, yygotominor.yy322, "index"); + if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy4; } break; - case 251: /* collate ::= */ + case 250: /* collate ::= */ {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} break; - case 253: /* cmd ::= DROP INDEX ifexists fullname */ -{sqlite3DropIndex(pParse, yymsp[0].minor.yy65, yymsp[-1].minor.yy328);} + case 252: /* cmd ::= DROP INDEX ifexists fullname */ +{sqlite3DropIndex(pParse, yymsp[0].minor.yy259, yymsp[-1].minor.yy4);} break; - case 254: /* cmd ::= VACUUM */ - case 255: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==255); + case 253: /* cmd ::= VACUUM */ + case 254: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==254); {sqlite3Vacuum(pParse);} break; - case 256: /* cmd ::= PRAGMA nm dbnm */ + case 255: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; - case 257: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 256: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; - case 258: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 257: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; - case 259: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ + case 258: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; - case 260: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ + case 259: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} break; - case 271: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + case 270: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { Token all; all.z = yymsp[-3].minor.yy0.z; all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy473, &all); + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy203, &all); } break; - case 272: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + case 271: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ { - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy328, yymsp[-4].minor.yy378.a, yymsp[-4].minor.yy378.b, yymsp[-2].minor.yy65, yymsp[0].minor.yy132, yymsp[-10].minor.yy328, yymsp[-8].minor.yy328); + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy4, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy259, yymsp[0].minor.yy314, yymsp[-10].minor.yy4, yymsp[-8].minor.yy4); yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); } break; - case 273: /* trigger_time ::= BEFORE */ - case 276: /* trigger_time ::= */ yytestcase(yyruleno==276); -{ yygotominor.yy328 = TK_BEFORE; } + case 272: /* trigger_time ::= BEFORE */ + case 275: /* trigger_time ::= */ yytestcase(yyruleno==275); +{ yygotominor.yy4 = TK_BEFORE; } break; - case 274: /* trigger_time ::= AFTER */ -{ yygotominor.yy328 = TK_AFTER; } + case 273: /* trigger_time ::= AFTER */ +{ yygotominor.yy4 = TK_AFTER; } break; - case 275: /* trigger_time ::= INSTEAD OF */ -{ yygotominor.yy328 = TK_INSTEAD;} + case 274: /* trigger_time ::= INSTEAD OF */ +{ yygotominor.yy4 = TK_INSTEAD;} break; - case 277: /* trigger_event ::= DELETE|INSERT */ - case 278: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==278); -{yygotominor.yy378.a = yymsp[0].major; yygotominor.yy378.b = 0;} + case 276: /* trigger_event ::= DELETE|INSERT */ + case 277: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==277); +{yygotominor.yy90.a = yymsp[0].major; yygotominor.yy90.b = 0;} break; - case 279: /* trigger_event ::= UPDATE OF inscollist */ -{yygotominor.yy378.a = TK_UPDATE; yygotominor.yy378.b = yymsp[0].minor.yy408;} + case 278: /* trigger_event ::= UPDATE OF inscollist */ +{yygotominor.yy90.a = TK_UPDATE; yygotominor.yy90.b = yymsp[0].minor.yy384;} break; - case 282: /* when_clause ::= */ - case 304: /* key_opt ::= */ yytestcase(yyruleno==304); -{ yygotominor.yy132 = 0; } + case 281: /* when_clause ::= */ + case 303: /* key_opt ::= */ yytestcase(yyruleno==303); +{ yygotominor.yy314 = 0; } break; - case 283: /* when_clause ::= WHEN expr */ - case 305: /* key_opt ::= KEY expr */ yytestcase(yyruleno==305); -{ yygotominor.yy132 = yymsp[0].minor.yy346.pExpr; } + case 282: /* when_clause ::= WHEN expr */ + case 304: /* key_opt ::= KEY expr */ yytestcase(yyruleno==304); +{ yygotominor.yy314 = yymsp[0].minor.yy118.pExpr; } break; - case 284: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 283: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { - assert( yymsp[-2].minor.yy473!=0 ); - yymsp[-2].minor.yy473->pLast->pNext = yymsp[-1].minor.yy473; - yymsp[-2].minor.yy473->pLast = yymsp[-1].minor.yy473; - yygotominor.yy473 = yymsp[-2].minor.yy473; + assert( yymsp[-2].minor.yy203!=0 ); + yymsp[-2].minor.yy203->pLast->pNext = yymsp[-1].minor.yy203; + yymsp[-2].minor.yy203->pLast = yymsp[-1].minor.yy203; + yygotominor.yy203 = yymsp[-2].minor.yy203; } break; - case 285: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 284: /* trigger_cmd_list ::= trigger_cmd SEMI */ { - assert( yymsp[-1].minor.yy473!=0 ); - yymsp[-1].minor.yy473->pLast = yymsp[-1].minor.yy473; - yygotominor.yy473 = yymsp[-1].minor.yy473; + assert( yymsp[-1].minor.yy203!=0 ); + yymsp[-1].minor.yy203->pLast = yymsp[-1].minor.yy203; + yygotominor.yy203 = yymsp[-1].minor.yy203; } break; - case 287: /* trnm ::= nm DOT nm */ + case 286: /* trnm ::= nm DOT nm */ { yygotominor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, @@ -94888,121 +101767,121 @@ static void yy_reduce( "statements within triggers"); } break; - case 289: /* tridxby ::= INDEXED BY nm */ + case 288: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 290: /* tridxby ::= NOT INDEXED */ + case 289: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 291: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ -{ yygotominor.yy473 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy14, yymsp[0].minor.yy132, yymsp[-5].minor.yy186); } + case 290: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ +{ yygotominor.yy203 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy322, yymsp[0].minor.yy314, yymsp[-5].minor.yy210); } break; - case 292: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP itemlist RP */ -{yygotominor.yy473 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy408, yymsp[-1].minor.yy14, 0, yymsp[-7].minor.yy186);} + case 291: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt VALUES LP itemlist RP */ +{yygotominor.yy203 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy384, yymsp[-1].minor.yy322, 0, yymsp[-7].minor.yy210);} break; - case 293: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ -{yygotominor.yy473 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy408, 0, yymsp[0].minor.yy3, yymsp[-4].minor.yy186);} + case 292: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ +{yygotominor.yy203 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy384, 0, yymsp[0].minor.yy387, yymsp[-4].minor.yy210);} break; - case 294: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ -{yygotominor.yy473 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy132);} + case 293: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ +{yygotominor.yy203 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy314);} break; - case 295: /* trigger_cmd ::= select */ -{yygotominor.yy473 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy3); } + case 294: /* trigger_cmd ::= select */ +{yygotominor.yy203 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy387); } break; - case 296: /* expr ::= RAISE LP IGNORE RP */ + case 295: /* expr ::= RAISE LP IGNORE RP */ { - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->affinity = OE_Ignore; + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->affinity = OE_Ignore; } - yygotominor.yy346.zStart = yymsp[-3].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 297: /* expr ::= RAISE LP raisetype COMMA nm RP */ + case 296: /* expr ::= RAISE LP raisetype COMMA nm RP */ { - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); - if( yygotominor.yy346.pExpr ) { - yygotominor.yy346.pExpr->affinity = (char)yymsp[-3].minor.yy328; + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); + if( yygotominor.yy118.pExpr ) { + yygotominor.yy118.pExpr->affinity = (char)yymsp[-3].minor.yy4; } - yygotominor.yy346.zStart = yymsp[-5].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yygotominor.yy118.zStart = yymsp[-5].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 298: /* raisetype ::= ROLLBACK */ -{yygotominor.yy328 = OE_Rollback;} + case 297: /* raisetype ::= ROLLBACK */ +{yygotominor.yy4 = OE_Rollback;} break; - case 300: /* raisetype ::= FAIL */ -{yygotominor.yy328 = OE_Fail;} + case 299: /* raisetype ::= FAIL */ +{yygotominor.yy4 = OE_Fail;} break; - case 301: /* cmd ::= DROP TRIGGER ifexists fullname */ + case 300: /* cmd ::= DROP TRIGGER ifexists fullname */ { - sqlite3DropTrigger(pParse,yymsp[0].minor.yy65,yymsp[-1].minor.yy328); + sqlite3DropTrigger(pParse,yymsp[0].minor.yy259,yymsp[-1].minor.yy4); } break; - case 302: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + case 301: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ { - sqlite3Attach(pParse, yymsp[-3].minor.yy346.pExpr, yymsp[-1].minor.yy346.pExpr, yymsp[0].minor.yy132); + sqlite3Attach(pParse, yymsp[-3].minor.yy118.pExpr, yymsp[-1].minor.yy118.pExpr, yymsp[0].minor.yy314); } break; - case 303: /* cmd ::= DETACH database_kw_opt expr */ + case 302: /* cmd ::= DETACH database_kw_opt expr */ { - sqlite3Detach(pParse, yymsp[0].minor.yy346.pExpr); + sqlite3Detach(pParse, yymsp[0].minor.yy118.pExpr); } break; - case 308: /* cmd ::= REINDEX */ + case 307: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; - case 309: /* cmd ::= REINDEX nm dbnm */ + case 308: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 310: /* cmd ::= ANALYZE */ + case 309: /* cmd ::= ANALYZE */ {sqlite3Analyze(pParse, 0, 0);} break; - case 311: /* cmd ::= ANALYZE nm dbnm */ + case 310: /* cmd ::= ANALYZE nm dbnm */ {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 312: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 311: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy65,&yymsp[0].minor.yy0); + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy259,&yymsp[0].minor.yy0); } break; - case 313: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ + case 312: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ { sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); } break; - case 314: /* add_column_fullname ::= fullname */ + case 313: /* add_column_fullname ::= fullname */ { pParse->db->lookaside.bEnabled = 0; - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy65); + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); } break; - case 317: /* cmd ::= create_vtab */ + case 316: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 318: /* cmd ::= create_vtab LP vtabarglist RP */ + case 317: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 319: /* create_vtab ::= createkw VIRTUAL TABLE nm dbnm USING nm */ + case 318: /* create_vtab ::= createkw VIRTUAL TABLE nm dbnm USING nm */ { sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 322: /* vtabarg ::= */ + case 321: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 324: /* vtabargtoken ::= ANY */ - case 325: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==325); - case 326: /* lp ::= LP */ yytestcase(yyruleno==326); + case 323: /* vtabargtoken ::= ANY */ + case 324: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==324); + case 325: /* lp ::= LP */ yytestcase(yyruleno==325); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} break; default: @@ -95031,21 +101910,21 @@ static void yy_reduce( /* (91) conslist ::= conslist tcons */ yytestcase(yyruleno==91); /* (92) conslist ::= tcons */ yytestcase(yyruleno==92); /* (93) tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93); - /* (269) plus_opt ::= PLUS */ yytestcase(yyruleno==269); - /* (270) plus_opt ::= */ yytestcase(yyruleno==270); - /* (280) foreach_clause ::= */ yytestcase(yyruleno==280); - /* (281) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==281); - /* (288) tridxby ::= */ yytestcase(yyruleno==288); - /* (306) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==306); - /* (307) database_kw_opt ::= */ yytestcase(yyruleno==307); - /* (315) kwcolumn_opt ::= */ yytestcase(yyruleno==315); - /* (316) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==316); - /* (320) vtabarglist ::= vtabarg */ yytestcase(yyruleno==320); - /* (321) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==321); - /* (323) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==323); - /* (327) anylist ::= */ yytestcase(yyruleno==327); - /* (328) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==328); - /* (329) anylist ::= anylist ANY */ yytestcase(yyruleno==329); + /* (268) plus_opt ::= PLUS */ yytestcase(yyruleno==268); + /* (269) plus_opt ::= */ yytestcase(yyruleno==269); + /* (279) foreach_clause ::= */ yytestcase(yyruleno==279); + /* (280) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==280); + /* (287) tridxby ::= */ yytestcase(yyruleno==287); + /* (305) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==305); + /* (306) database_kw_opt ::= */ yytestcase(yyruleno==306); + /* (314) kwcolumn_opt ::= */ yytestcase(yyruleno==314); + /* (315) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==315); + /* (319) vtabarglist ::= vtabarg */ yytestcase(yyruleno==319); + /* (320) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==320); + /* (322) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==322); + /* (326) anylist ::= */ yytestcase(yyruleno==326); + /* (327) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==327); + /* (328) anylist ::= anylist ANY */ yytestcase(yyruleno==328); break; }; yygoto = yyRuleInfo[yyruleno].lhs; @@ -96073,7 +102952,7 @@ abort_parse: } #endif #ifndef SQLITE_OMIT_VIRTUALTABLE - sqlite3DbFree(db, pParse->apVtabLock); + sqlite3_free(pParse->apVtabLock); #endif if( !IN_DECLARE_VTAB ){ @@ -96081,7 +102960,7 @@ abort_parse: ** structure built up in pParse->pNewTable. The calling code (see vtab.c) ** will take responsibility for freeing the Table structure. */ - sqlite3DeleteTable(pParse->pNewTable); + sqlite3DeleteTable(db, pParse->pNewTable); } sqlite3DeleteTrigger(db, pParse->pNewTrigger); @@ -96095,7 +102974,7 @@ abort_parse: while( pParse->pZombieTab ){ Table *p = pParse->pZombieTab; pParse->pZombieTab = p->pNextZombie; - sqlite3DeleteTable(p); + sqlite3DeleteTable(db, p); } if( nErr>0 && pParse->rc==SQLITE_OK ){ pParse->rc = SQLITE_ERROR; @@ -97259,7 +104138,7 @@ SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){ /* SQLITE_NOTFOUND */ 0, /* SQLITE_FULL */ "database or disk is full", /* SQLITE_CANTOPEN */ "unable to open database file", - /* SQLITE_PROTOCOL */ 0, + /* SQLITE_PROTOCOL */ "locking protocol", /* SQLITE_EMPTY */ "table contains no data", /* SQLITE_SCHEMA */ "database schema has changed", /* SQLITE_TOOBIG */ "string or blob too big", @@ -97669,6 +104548,136 @@ SQLITE_API void *sqlite3_rollback_hook( return pRet; } +#ifndef SQLITE_OMIT_WAL +/* +** The sqlite3_wal_hook() callback registered by sqlite3_wal_autocheckpoint(). +** Invoke sqlite3_wal_checkpoint if the number of frames in the log file +** is greater than sqlite3.pWalArg cast to an integer (the value configured by +** wal_autocheckpoint()). +*/ +SQLITE_PRIVATE int sqlite3WalDefaultHook( + void *pClientData, /* Argument */ + sqlite3 *db, /* Connection */ + const char *zDb, /* Database */ + int nFrame /* Size of WAL */ +){ + if( nFrame>=SQLITE_PTR_TO_INT(pClientData) ){ + sqlite3BeginBenignMalloc(); + sqlite3_wal_checkpoint(db, zDb); + sqlite3EndBenignMalloc(); + } + return SQLITE_OK; +} +#endif /* SQLITE_OMIT_WAL */ + +/* +** Configure an sqlite3_wal_hook() callback to automatically checkpoint +** a database after committing a transaction if there are nFrame or +** more frames in the log file. Passing zero or a negative value as the +** nFrame parameter disables automatic checkpoints entirely. +** +** The callback registered by this function replaces any existing callback +** registered using sqlite3_wal_hook(). Likewise, registering a callback +** using sqlite3_wal_hook() disables the automatic checkpoint mechanism +** configured by this function. +*/ +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int nFrame){ +#ifndef SQLITE_OMIT_WAL + if( nFrame>0 ){ + sqlite3_wal_hook(db, sqlite3WalDefaultHook, SQLITE_INT_TO_PTR(nFrame)); + }else{ + sqlite3_wal_hook(db, 0, 0); + } +#endif + return SQLITE_OK; +} + +/* +** Register a callback to be invoked each time a transaction is written +** into the write-ahead-log by this database connection. +*/ +SQLITE_API void *sqlite3_wal_hook( + sqlite3 *db, /* Attach the hook to this db handle */ + int(*xCallback)(void *, sqlite3*, const char*, int), + void *pArg /* First argument passed to xCallback() */ +){ +#ifndef SQLITE_OMIT_WAL + void *pRet; + sqlite3_mutex_enter(db->mutex); + pRet = db->pWalArg; + db->xWalCallback = xCallback; + db->pWalArg = pArg; + sqlite3_mutex_leave(db->mutex); + return pRet; +#else + return 0; +#endif +} + + +/* +** Checkpoint database zDb. If zDb is NULL, or if the buffer zDb points +** to contains a zero-length string, all attached databases are +** checkpointed. +*/ +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb){ +#ifdef SQLITE_OMIT_WAL + return SQLITE_OK; +#else + int rc; /* Return code */ + int iDb = SQLITE_MAX_ATTACHED; /* sqlite3.aDb[] index of db to checkpoint */ + + sqlite3_mutex_enter(db->mutex); + if( zDb && zDb[0] ){ + iDb = sqlite3FindDbName(db, zDb); + } + if( iDb<0 ){ + rc = SQLITE_ERROR; + sqlite3Error(db, SQLITE_ERROR, "unknown database: %s", zDb); + }else{ + rc = sqlite3Checkpoint(db, iDb); + sqlite3Error(db, rc, 0); + } + rc = sqlite3ApiExit(db, rc); + sqlite3_mutex_leave(db->mutex); + return rc; +#endif +} + +#ifndef SQLITE_OMIT_WAL +/* +** Run a checkpoint on database iDb. This is a no-op if database iDb is +** not currently open in WAL mode. +** +** If a transaction is open on the database being checkpointed, this +** function returns SQLITE_LOCKED and a checkpoint is not attempted. If +** an error occurs while running the checkpoint, an SQLite error code is +** returned (i.e. SQLITE_IOERR). Otherwise, SQLITE_OK. +** +** The mutex on database handle db should be held by the caller. The mutex +** associated with the specific b-tree being checkpointed is taken by +** this function while the checkpoint is running. +** +** If iDb is passed SQLITE_MAX_ATTACHED, then all attached databases are +** checkpointed. If an error is encountered it is returned immediately - +** no attempt is made to checkpoint any remaining databases. +*/ +SQLITE_PRIVATE int sqlite3Checkpoint(sqlite3 *db, int iDb){ + int rc = SQLITE_OK; /* Return code */ + int i; /* Used to iterate through attached dbs */ + + assert( sqlite3_mutex_held(db->mutex) ); + + for(i=0; inDb && rc==SQLITE_OK; i++){ + if( i==iDb || iDb==SQLITE_MAX_ATTACHED ){ + rc = sqlite3BtreeCheckpoint(db->aDb[i].pBt); + } + } + + return rc; +} +#endif /* SQLITE_OMIT_WAL */ + /* ** This function returns true if main-memory should be used instead of ** a temporary file for transient pager files and statement journals. @@ -98107,7 +105116,7 @@ static int openDatabase( db->autoCommit = 1; db->nextAutovac = -1; db->nextPagesize = 0; - db->flags |= SQLITE_ShortColNames + db->flags |= SQLITE_ShortColNames | SQLITE_AutoIndex #if SQLITE_DEFAULT_FILE_FORMAT<4 | SQLITE_LegacyFileFmt #endif @@ -98246,6 +105255,8 @@ static int openDatabase( setupLookaside(db, 0, sqlite3GlobalConfig.szLookaside, sqlite3GlobalConfig.nLookaside); + sqlite3_wal_autocheckpoint(db, SQLITE_DEFAULT_WAL_AUTOCHECKPOINT); + opendb_out: if( db ){ assert( db->mutex!=0 || isThreadsafe==0 || sqlite3GlobalConfig.bFullMutex==0 ); @@ -98420,7 +105431,6 @@ SQLITE_API int sqlite3_collation_needed16( } #endif /* SQLITE_OMIT_UTF16 */ -#ifndef SQLITE_OMIT_GLOBALRECOVER #ifndef SQLITE_OMIT_DEPRECATED /* ** This function is now an anachronism. It used to be used to recover from a @@ -98430,7 +105440,6 @@ SQLITE_API int sqlite3_global_recover(void){ return SQLITE_OK; } #endif -#endif /* ** Test to see whether or not the database connection is in autocommit @@ -98458,17 +105467,22 @@ SQLITE_API int sqlite3_get_autocommit(sqlite3 *db){ SQLITE_PRIVATE int sqlite3CorruptError(int lineno){ testcase( sqlite3GlobalConfig.xLog!=0 ); sqlite3_log(SQLITE_CORRUPT, - "database corruption found by source line %d", lineno); + "database corruption at line %d of [%.10s]", + lineno, 20+sqlite3_sourceid()); return SQLITE_CORRUPT; } SQLITE_PRIVATE int sqlite3MisuseError(int lineno){ testcase( sqlite3GlobalConfig.xLog!=0 ); - sqlite3_log(SQLITE_MISUSE, "misuse detected by source line %d", lineno); + sqlite3_log(SQLITE_MISUSE, + "misuse at line %d of [%.10s]", + lineno, 20+sqlite3_sourceid()); return SQLITE_MISUSE; } SQLITE_PRIVATE int sqlite3CantopenError(int lineno){ testcase( sqlite3GlobalConfig.xLog!=0 ); - sqlite3_log(SQLITE_CANTOPEN, "cannot open file at source line %d", lineno); + sqlite3_log(SQLITE_CANTOPEN, + "cannot open file at line %d of [%.10s]", + lineno, 20+sqlite3_sourceid()); return SQLITE_CANTOPEN; } @@ -98740,9 +105754,13 @@ SQLITE_API int sqlite3_test_control(int op, ...){ ** dileterious behavior. */ case SQLITE_TESTCTRL_PENDING_BYTE: { - unsigned int newVal = va_arg(ap, unsigned int); - rc = sqlite3PendingByte; - if( newVal ) sqlite3PendingByte = newVal; + rc = PENDING_BYTE; +#ifndef SQLITE_OMIT_WSD + { + unsigned int newVal = va_arg(ap, unsigned int); + if( newVal ) sqlite3PendingByte = newVal; + } +#endif break; } @@ -98846,6 +105864,15 @@ SQLITE_API int sqlite3_test_control(int op, ...){ } #endif + /* sqlite3_test_control(SQLITE_TESTCTRL_PGHDRSZ) + ** + ** Return the size of a pcache header in bytes. + */ + case SQLITE_TESTCTRL_PGHDRSZ: { + rc = sizeof(PgHdr); + break; + } + } va_end(ap); #endif /* SQLITE_OMIT_BUILTIN_TEST */ @@ -99011,6 +106038,7 @@ SQLITE_API int sqlite3_unlock_notify( if( xNotify==0 ){ removeFromBlockedList(db); + db->pBlockingConnection = 0; db->pUnlockConnection = 0; db->xUnlockNotify = 0; db->pUnlockArg = 0; @@ -99108,7 +106136,7 @@ SQLITE_PRIVATE void sqlite3ConnectionUnlocked(sqlite3 *db){ assert( aArg==aDyn || (aDyn==0 && aArg==aStatic) ); assert( nArg<=(int)ArraySize(aStatic) || aArg==aDyn ); if( (!aDyn && nArg==(int)ArraySize(aStatic)) - || (aDyn && nArg==(int)(sqlite3DbMallocSize(db, aDyn)/sizeof(void*))) + || (aDyn && nArg==(int)(sqlite3MallocSize(aDyn)/sizeof(void*))) ){ /* The aArg[] array needs to grow. */ void **pNew = (void **)sqlite3Malloc(nArg*sizeof(void *)*2); @@ -99236,7 +106264,7 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db){ ** This is similar in concept to how sqlite encodes "varints" but ** the encoding is not the same. SQLite varints are big-endian ** are are limited to 9 bytes in length whereas FTS3 varints are -** little-endian and can be upt to 10 bytes in length (in theory). +** little-endian and can be up to 10 bytes in length (in theory). ** ** Example encodings: ** @@ -99247,26 +106275,26 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db){ ** **** Document lists **** ** A doclist (document list) holds a docid-sorted list of hits for a -** given term. Doclists hold docids, and can optionally associate -** token positions and offsets with docids. A position is the index -** of a word within the document. The first word of the document has -** a position of 0. +** given term. Doclists hold docids and associated token positions. +** A docid is the unique integer identifier for a single document. +** A position is the index of a word within the document. The first +** word of the document has a position of 0. ** ** FTS3 used to optionally store character offsets using a compile-time ** option. But that functionality is no longer supported. ** -** A DL_POSITIONS_OFFSETS doclist is stored like this: +** A doclist is stored like this: ** ** array { ** varint docid; ** array { (position list for column 0) -** varint position; (delta from previous position plus POS_BASE) +** varint position; (2 more than the delta from previous position) ** } ** array { ** varint POS_COLUMN; (marks start of position list for new column) ** varint column; (index of new column) ** array { -** varint position; (delta from previous position plus POS_BASE) +** varint position; (2 more than the delta from previous position) ** } ** } ** varint POS_END; (marks end of positions for this document. @@ -99278,7 +106306,7 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db){ ** in the same logical place as the position element, and act as sentinals ** ending a position list array. POS_END is 0. POS_COLUMN is 1. ** The positions numbers are not stored literally but rather as two more -** the difference from the prior position, or the just the position plus +** than the difference from the prior position, or the just the position plus ** 2 for the first position. Example: ** ** label: A B C D E F G H I J K @@ -99292,14 +106320,14 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db){ ** 234 at I is the next docid. It has one position 72 (72-2) and then ** terminates with the 0 at K. ** -** A DL_POSITIONS doclist omits the startOffset and endOffset -** information. A DL_DOCIDS doclist omits both the position and -** offset information, becoming an array of varint-encoded docids. -** -** On-disk data is stored as type DL_DEFAULT, so we don't serialize -** the type. Due to how deletion is implemented in the segmentation -** system, on-disk doclists MUST store at least positions. +** A "position-list" is the list of positions for multiple columns for +** a single docid. A "column-list" is the set of positions for a single +** column. Hence, a position-list consists of one or more column-lists, +** a document record consists of a docid followed by a position-list and +** a doclist consists of one or more document records. ** +** A bare doclist omits the position information, becoming an +** array of varint-encoded docids. ** **** Segment leaf nodes **** ** Segment leaf nodes store terms and doclists, ordered by term. Leaf @@ -99814,6 +106842,20 @@ SQLITE_PRIVATE Fts3HashElem *sqlite3Fts3HashFindElem(const Fts3Hash *, const voi #define FTS3_VARINT_MAX 10 /* +** The testcase() macro is only used by the amalgamation. If undefined, +** make it a no-op. +*/ +#ifndef testcase +# define testcase(X) +#endif + +/* +** Terminator values for position-lists and column-lists. +*/ +#define POS_COLUMN (1) /* Column-list terminator */ +#define POS_END (0) /* Position-list terminator */ + +/* ** This section provides definitions to allow the ** FTS3 extension to be compiled outside of the ** amalgamation. @@ -100124,8 +107166,7 @@ SQLITE_PRIVATE int sqlite3Fts3GetVarint32(const char *p, int *pi){ } /* -** Return the number of bytes required to store the value passed as the -** first argument in varint form. +** Return the number of bytes required to encode v as a varint */ SQLITE_PRIVATE int sqlite3Fts3VarintLen(sqlite3_uint64 v){ int i = 0; @@ -100176,7 +107217,7 @@ SQLITE_PRIVATE void sqlite3Fts3Dequote(char *z){ /* ** Read a single varint from the doclist at *pp and advance *pp to point -** to the next element of the varlist. Add the value of the varint +** to the first byte past the end of the varint. Add the value of the varint ** to *pVal. */ static void fts3GetDeltaVarint(char **pp, sqlite3_int64 *pVal){ @@ -100232,7 +107273,7 @@ static int fts3DisconnectMethod(sqlite3_vtab *pVtab){ ** ** If *pRc is initially non-zero then this routine is a no-op. */ -void fts3DbExec( +static void fts3DbExec( int *pRc, /* Success code */ sqlite3 *db, /* Database in which to run SQL */ const char *zFormat, /* Format string for SQL */ @@ -100312,6 +107353,10 @@ static int fts3DeclareVtab(Fts3Table *p){ ** Create the backing store tables (%_content, %_segments and %_segdir) ** required by the FTS3 table passed as the only argument. This is done ** as part of the vtab xCreate() method. +** +** If the p->bHasDocsize boolean is true (indicating that this is an +** FTS4 table, not an FTS3 table) then also create the %_docsize and +** %_stat tables required by FTS4. */ static int fts3CreateTables(Fts3Table *p){ int rc = SQLITE_OK; /* Return code */ @@ -100369,6 +107414,9 @@ static int fts3CreateTables(Fts3Table *p){ ** An sqlite3_exec() callback for fts3TableExists. */ static int fts3TableExistsCallback(void *pArg, int n, char **pp1, char **pp2){ + UNUSED_PARAMETER(n); + UNUSED_PARAMETER(pp1); + UNUSED_PARAMETER(pp2); *(int*)pArg = 1; return 1; } @@ -100394,7 +107442,7 @@ static void fts3TableExists( ); rc = sqlite3_exec(db, zSql, fts3TableExistsCallback, &res, 0); sqlite3_free(zSql); - *pResult = res & 0xff; + *pResult = (u8)(res & 0xff); if( rc!=SQLITE_ABORT ) *pRc = rc; } @@ -100404,7 +107452,7 @@ static void fts3TableExists( ** ** The argv[] array contains the following: ** -** argv[0] -> module name +** argv[0] -> module name ("fts3" or "fts4") ** argv[1] -> database name ** argv[2] -> table name ** argv[...] -> "column name" and other module argument fields. @@ -100423,12 +107471,12 @@ static int fts3InitVtab( int rc; /* Return code */ int i; /* Iterator variable */ int nByte; /* Size of allocation used for *p */ - int iCol; - int nString = 0; - int nCol = 0; - char *zCsr; - int nDb; - int nName; + int iCol; /* Column index */ + int nString = 0; /* Bytes required to hold all column names */ + int nCol = 0; /* Number of columns in the FTS table */ + char *zCsr; /* Space for holding column names */ + int nDb; /* Bytes required to hold database name */ + int nName; /* Bytes required to hold table name */ const char *zTokenizer = 0; /* Name of tokenizer to use */ sqlite3_tokenizer *pTokenizer = 0; /* Tokenizer for this table */ @@ -100658,6 +107706,11 @@ static int fulltextClose(sqlite3_vtab_cursor *pCursor){ return SQLITE_OK; } +/* +** Position the pCsr->pStmt statement so that it is on the row +** of the %_content table that contains the last match. Return +** SQLITE_OK on success. +*/ static int fts3CursorSeek(sqlite3_context *pContext, Fts3Cursor *pCsr){ if( pCsr->isRequireSeek ){ pCsr->isRequireSeek = 0; @@ -100684,6 +107737,17 @@ static int fts3CursorSeek(sqlite3_context *pContext, Fts3Cursor *pCsr){ } } +/* +** Advance the cursor to the next row in the %_content table that +** matches the search criteria. For a MATCH search, this will be +** the next row that matches. For a full-table scan, this will be +** simply the next row in the %_content table. For a docid lookup, +** this routine simply sets the EOF flag. +** +** Return SQLITE_OK if nothing goes wrong. SQLITE_OK is returned +** even if we reach end-of-file. The fts3EofMethod() will be called +** subsequently to determine whether or not an EOF was hit. +*/ static int fts3NextMethod(sqlite3_vtab_cursor *pCursor){ int rc = SQLITE_OK; /* Return code */ Fts3Cursor *pCsr = (Fts3Cursor *)pCursor; @@ -100820,6 +107884,11 @@ static void fts3PutDeltaVarint( ** start of a position-list. After it returns, *ppPoslist points to the ** first byte after the position-list. ** +** A position list is list of positions (delta encoded) and columns for +** a single document record of a doclist. So, in other words, this +** routine advances *ppPoslist so that it points to the next docid in +** the doclist, or to the first byte past the end of the doclist. +** ** If pp is not NULL, then the contents of the position list are copied ** to *pp. *pp is set to point to the first byte past the last byte copied ** before this function returns. @@ -100829,17 +107898,20 @@ static void fts3PoslistCopy(char **pp, char **ppPoslist){ char c = 0; /* The end of a position list is marked by a zero encoded as an FTS3 - ** varint. A single 0x00 byte. Except, if the 0x00 byte is preceded by + ** varint. A single POS_END (0) byte. Except, if the 0 byte is preceded by ** a byte with the 0x80 bit set, then it is not a varint 0, but the tail ** of some other, multi-byte, value. ** - ** The following block moves pEnd to point to the first byte that is not + ** The following while-loop moves pEnd to point to the first byte that is not ** immediately preceded by a byte with the 0x80 bit set. Then increments ** pEnd once more so that it points to the byte immediately following the ** last byte in the position-list. */ - while( *pEnd | c ) c = *pEnd++ & 0x80; - pEnd++; + while( *pEnd | c ){ + c = *pEnd++ & 0x80; + testcase( c!=0 && (*pEnd)==0 ); + } + pEnd++; /* Advance past the POS_END terminator byte */ if( pp ){ int n = (int)(pEnd - *ppPoslist); @@ -100851,12 +107923,34 @@ static void fts3PoslistCopy(char **pp, char **ppPoslist){ *ppPoslist = pEnd; } +/* +** When this function is called, *ppPoslist is assumed to point to the +** start of a column-list. After it returns, *ppPoslist points to the +** to the terminator (POS_COLUMN or POS_END) byte of the column-list. +** +** A column-list is list of delta-encoded positions for a single column +** within a single document within a doclist. +** +** The column-list is terminated either by a POS_COLUMN varint (1) or +** a POS_END varint (0). This routine leaves *ppPoslist pointing to +** the POS_COLUMN or POS_END that terminates the column-list. +** +** If pp is not NULL, then the contents of the column-list are copied +** to *pp. *pp is set to point to the first byte past the last byte copied +** before this function returns. The POS_COLUMN or POS_END terminator +** is not copied into *pp. +*/ static void fts3ColumnlistCopy(char **pp, char **ppPoslist){ char *pEnd = *ppPoslist; char c = 0; - /* A column-list is terminated by either a 0x01 or 0x00. */ - while( 0xFE & (*pEnd | c) ) c = *pEnd++ & 0x80; + /* A column-list is terminated by either a 0x01 or 0x00 byte that is + ** not part of a multi-byte varint. + */ + while( 0xFE & (*pEnd | c) ){ + c = *pEnd++ & 0x80; + testcase( c!=0 && ((*pEnd)&0xfe)==0 ); + } if( pp ){ int n = (int)(pEnd - *ppPoslist); char *p = *pp; @@ -100868,37 +107962,45 @@ static void fts3ColumnlistCopy(char **pp, char **ppPoslist){ } /* -** Value used to signify the end of an offset-list. This is safe because +** Value used to signify the end of an position-list. This is safe because ** it is not possible to have a document with 2^31 terms. */ -#define OFFSET_LIST_END 0x7fffffff +#define POSITION_LIST_END 0x7fffffff /* -** This function is used to help parse offset-lists. When this function is -** called, *pp may point to the start of the next varint in the offset-list -** being parsed, or it may point to 1 byte past the end of the offset-list -** (in which case **pp will be 0x00 or 0x01). +** This function is used to help parse position-lists. When this function is +** called, *pp may point to the start of the next varint in the position-list +** being parsed, or it may point to 1 byte past the end of the position-list +** (in which case **pp will be a terminator bytes POS_END (0) or +** (1)). ** -** If *pp points past the end of the current offset list, set *pi to -** OFFSET_LIST_END and return. Otherwise, read the next varint from *pp, +** If *pp points past the end of the current position-list, set *pi to +** POSITION_LIST_END and return. Otherwise, read the next varint from *pp, ** increment the current value of *pi by the value read, and set *pp to ** point to the next value before returning. +** +** Before calling this routine *pi must be initialized to the value of +** the previous position, or zero if we are reading the first position +** in the position-list. Because positions are delta-encoded, the value +** of the previous position is needed in order to compute the value of +** the next position. */ static void fts3ReadNextPos( - char **pp, /* IN/OUT: Pointer into offset-list buffer */ - sqlite3_int64 *pi /* IN/OUT: Value read from offset-list */ + char **pp, /* IN/OUT: Pointer into position-list buffer */ + sqlite3_int64 *pi /* IN/OUT: Value read from position-list */ ){ - if( **pp&0xFE ){ + if( (**pp)&0xFE ){ fts3GetDeltaVarint(pp, pi); *pi -= 2; }else{ - *pi = OFFSET_LIST_END; + *pi = POSITION_LIST_END; } } /* -** If parameter iCol is not 0, write an 0x01 byte followed by the value of -** iCol encoded as a varint to *pp. +** If parameter iCol is not 0, write an POS_COLUMN (1) byte followed by +** the value of iCol encoded as a varint to *pp. This will start a new +** column list. ** ** Set *pp to point to the byte just after the last byte written before ** returning (do not modify it if iCol==0). Return the total number of bytes @@ -100916,7 +108018,11 @@ static int fts3PutColNumber(char **pp, int iCol){ } /* -** +** Compute the union of two position lists. The output written +** into *pp contains all positions of both *pp1 and *pp2 in sorted +** order and with any duplicates removed. All pointers are +** updated appropriately. The caller is responsible for insuring +** that there is enough space in *pp to hold the complete output. */ static void fts3PoslistMerge( char **pp, /* Output buffer */ @@ -100928,32 +108034,33 @@ static void fts3PoslistMerge( char *p2 = *pp2; while( *p1 || *p2 ){ - int iCol1; - int iCol2; + int iCol1; /* The current column index in pp1 */ + int iCol2; /* The current column index in pp2 */ - if( *p1==0x01 ) sqlite3Fts3GetVarint32(&p1[1], &iCol1); - else if( *p1==0x00 ) iCol1 = OFFSET_LIST_END; + if( *p1==POS_COLUMN ) sqlite3Fts3GetVarint32(&p1[1], &iCol1); + else if( *p1==POS_END ) iCol1 = POSITION_LIST_END; else iCol1 = 0; - if( *p2==0x01 ) sqlite3Fts3GetVarint32(&p2[1], &iCol2); - else if( *p2==0x00 ) iCol2 = OFFSET_LIST_END; + if( *p2==POS_COLUMN ) sqlite3Fts3GetVarint32(&p2[1], &iCol2); + else if( *p2==POS_END ) iCol2 = POSITION_LIST_END; else iCol2 = 0; if( iCol1==iCol2 ){ - sqlite3_int64 i1 = 0; - sqlite3_int64 i2 = 0; + sqlite3_int64 i1 = 0; /* Last position from pp1 */ + sqlite3_int64 i2 = 0; /* Last position from pp2 */ sqlite3_int64 iPrev = 0; int n = fts3PutColNumber(&p, iCol1); p1 += n; p2 += n; - /* At this point, both p1 and p2 point to the start of offset-lists. - ** An offset-list is a list of non-negative delta-encoded varints, each - ** incremented by 2 before being stored. Each list is terminated by a 0 - ** or 1 value (0x00 or 0x01). The following block merges the two lists + /* At this point, both p1 and p2 point to the start of column-lists + ** for the same column (the column with index iCol1 and iCol2). + ** A column-list is a list of non-negative delta-encoded varints, each + ** incremented by 2 before being stored. Each list is terminated by a + ** POS_END (0) or POS_COLUMN (1). The following block merges the two lists ** and writes the results to buffer p. p is left pointing to the byte - ** after the list written. No terminator (0x00 or 0x01) is written to - ** the output. + ** after the list written. No terminator (POS_END or POS_COLUMN) is + ** written to the output. */ fts3GetDeltaVarint(&p1, &i1); fts3GetDeltaVarint(&p2, &i2); @@ -100968,7 +108075,7 @@ static void fts3PoslistMerge( }else{ fts3ReadNextPos(&p2, &i2); } - }while( i1!=OFFSET_LIST_END || i2!=OFFSET_LIST_END ); + }while( i1!=POSITION_LIST_END || i2!=POSITION_LIST_END ); }else if( iCol1isReqPos ? MERGE_POS_OR : MERGE_OR); + char *aOut = 0; + int nOut = 0; + int i; + + /* Loop through the doclists in the aaOutput[] array. Merge them all + ** into a single doclist. + */ + for(i=0; iaaOutput); i++){ + if( pTS->aaOutput[i] ){ + if( !aOut ){ + aOut = pTS->aaOutput[i]; + nOut = pTS->anOutput[i]; + pTS->aaOutput[0] = 0; + }else{ + int nNew = nOut + pTS->anOutput[i]; + char *aNew = sqlite3_malloc(nNew); + if( !aNew ){ + sqlite3_free(aOut); + return SQLITE_NOMEM; + } + fts3DoclistMerge(mergetype, 0, 0, + aNew, &nNew, pTS->aaOutput[i], pTS->anOutput[i], aOut, nOut + ); + sqlite3_free(pTS->aaOutput[i]); + sqlite3_free(aOut); + pTS->aaOutput[i] = 0; + aOut = aNew; + nOut = nNew; + } + } + } + + pTS->aaOutput[0] = aOut; + pTS->anOutput[0] = nOut; + return SQLITE_OK; +} + +/* ** This function is used as the sqlite3Fts3SegReaderIterate() callback when ** querying the full-text index for a doclist associated with a term or ** term-prefix. @@ -101337,38 +108494,63 @@ static int fts3TermSelectCb( int nDoclist ){ TermSelect *pTS = (TermSelect *)pContext; - int nNew = pTS->nOutput + nDoclist; - char *aNew = sqlite3_malloc(nNew); UNUSED_PARAMETER(p); UNUSED_PARAMETER(zTerm); UNUSED_PARAMETER(nTerm); - if( !aNew ){ - return SQLITE_NOMEM; - } - - if( pTS->nOutput==0 ){ + if( pTS->aaOutput[0]==0 ){ /* If this is the first term selected, copy the doclist to the output ** buffer using memcpy(). TODO: Add a way to transfer control of the ** aDoclist buffer from the caller so as to avoid the memcpy(). */ - memcpy(aNew, aDoclist, nDoclist); + pTS->aaOutput[0] = sqlite3_malloc(nDoclist); + pTS->anOutput[0] = nDoclist; + if( pTS->aaOutput[0] ){ + memcpy(pTS->aaOutput[0], aDoclist, nDoclist); + }else{ + return SQLITE_NOMEM; + } }else{ - /* The output buffer is not empty. Merge doclist aDoclist with the - ** existing output. This can only happen with prefix-searches (as - ** searches for exact terms return exactly one doclist). - */ int mergetype = (pTS->isReqPos ? MERGE_POS_OR : MERGE_OR); - fts3DoclistMerge(mergetype, 0, 0, - aNew, &nNew, pTS->aOutput, pTS->nOutput, aDoclist, nDoclist - ); - } + char *aMerge = aDoclist; + int nMerge = nDoclist; + int iOut; + + for(iOut=0; iOutaaOutput); iOut++){ + char *aNew; + int nNew; + if( pTS->aaOutput[iOut]==0 ){ + assert( iOut>0 ); + pTS->aaOutput[iOut] = aMerge; + pTS->anOutput[iOut] = nMerge; + break; + } + + nNew = nMerge + pTS->anOutput[iOut]; + aNew = sqlite3_malloc(nNew); + if( !aNew ){ + if( aMerge!=aDoclist ){ + sqlite3_free(aMerge); + } + return SQLITE_NOMEM; + } + fts3DoclistMerge(mergetype, 0, 0, + aNew, &nNew, pTS->aaOutput[iOut], pTS->anOutput[iOut], aMerge, nMerge + ); - sqlite3_free(pTS->aOutput); - pTS->aOutput = aNew; - pTS->nOutput = nNew; + if( iOut>0 ) sqlite3_free(aMerge); + sqlite3_free(pTS->aaOutput[iOut]); + pTS->aaOutput[iOut] = 0; + aMerge = aNew; + nMerge = nNew; + if( (iOut+1)==SizeofArray(pTS->aaOutput) ){ + pTS->aaOutput[iOut] = aMerge; + pTS->anOutput[iOut] = nMerge; + } + } + } return SQLITE_OK; } @@ -101378,9 +108560,9 @@ static int fts3TermSelectCb( ** ** The returned doclist may be in one of two formats, depending on the ** value of parameter isReqPos. If isReqPos is zero, then the doclist is -** a sorted list of delta-compressed docids. If isReqPos is non-zero, -** then the returned list is in the same format as is stored in the -** database without the found length specifier at the start of on-disk +** a sorted list of delta-compressed docids (a bare doclist). If isReqPos +** is non-zero, then the returned list is in the same format as is stored +** in the database without the found length specifier at the start of on-disk ** doclists. */ static int fts3TermSelect( @@ -101492,12 +108674,17 @@ static int fts3TermSelect( rc = sqlite3Fts3SegReaderIterate(p, apSegment, nSegment, &filter, fts3TermSelectCb, (void *)&tsc ); + if( rc==SQLITE_OK ){ + rc = fts3TermSelectMerge(&tsc); + } if( rc==SQLITE_OK ){ - *ppOut = tsc.aOutput; - *pnOut = tsc.nOutput; + *ppOut = tsc.aaOutput[0]; + *pnOut = tsc.anOutput[0]; }else{ - sqlite3_free(tsc.aOutput); + for(i=0; idelim[c]; } +static int fts3_isalnum(int x){ + return (x>='0' && x<='9') || (x>='A' && x<='Z') || (x>='a' && x<='z'); +} /* ** Create a new tokenizer instance. @@ -104894,7 +112086,7 @@ static int simpleCreate( /* Mark non-alphanumeric ASCII characters as delimiters */ int i; for(i=1; i<0x80; i++){ - t->delim[i] = !isalnum(i) ? -1 : 0; + t->delim[i] = !fts3_isalnum(i) ? -1 : 0; } } @@ -105000,7 +112192,7 @@ static int simpleNext( ** case-insensitivity. */ unsigned char ch = p[iStartOffset+i]; - c->pToken[i] = (char)(ch<0x80 ? tolower(ch) : ch); + c->pToken[i] = (char)((ch>='A' && ch<='Z') ? ch-'A'+'a' : ch); } *ppToken = c->pToken; *pnBytes = n; @@ -108200,7 +115392,7 @@ static int fts3StringAppend( ** is no way for fts3BestSnippet() to know whether or not the document ** actually contains terms that follow the final highlighted term. */ -int fts3SnippetShift( +static int fts3SnippetShift( Fts3Table *pTab, /* FTS3 table snippet comes from */ int nSnippet, /* Number of tokens desired for snippet */ const char *zDoc, /* Document text to extract snippet from */ @@ -109906,11 +117098,10 @@ static int rtreeFilter( ** idxNum idxStr Strategy ** ------------------------------------------------ ** 1 Unused Direct lookup by rowid. -** 2 See below R-tree query. -** 3 Unused Full table scan. +** 2 See below R-tree query or full-table scan. ** ------------------------------------------------ ** -** If strategy 1 or 3 is used, then idxStr is not meaningful. If strategy +** If strategy 1 is used, then idxStr is not meaningful. If strategy ** 2 is used, idxStr is formatted to contain 2 bytes for each ** constraint used. The first two bytes of idxStr correspond to ** the constraint in sqlite3_index_info.aConstraintUsage[] with @@ -111317,6 +118508,7 @@ static int rtreeUpdate( } rc = sqlite3_reset(pRtree->pReadRowid); } + *pRowid = cell.iRowid; if( rc==SQLITE_OK ){ rc = ChooseLeaf(pRtree, &cell, 0, &pLeaf); diff --git a/ext/sqlite/sqlite-3.6.23.1+/sqlite3.h b/ext/sqlite/sqlite-3.7.2+/sqlite3.h similarity index 94% rename from ext/sqlite/sqlite-3.6.23.1+/sqlite3.h rename to ext/sqlite/sqlite-3.7.2+/sqlite3.h index a3fa2c8..fffe557 100644 --- a/ext/sqlite/sqlite-3.6.23.1+/sqlite3.h +++ b/ext/sqlite/sqlite-3.7.2+/sqlite3.h @@ -97,7 +97,7 @@ extern "C" { ** ** Since version 3.6.18, SQLite source code has been stored in the ** Fossil configuration management -** system. ^The SQLITE_SOURCE_ID macro evalutes to +** system. ^The SQLITE_SOURCE_ID macro evaluates to ** a string which identifies a particular check-in of SQLite ** within its configuration management system. ^The SQLITE_SOURCE_ID ** string contains the date and time of the check-in (UTC) and an SHA1 @@ -107,9 +107,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.6.23.1+" -#define SQLITE_VERSION_NUMBER 3006023 -#define SQLITE_SOURCE_ID "2010-03-26 22:28:06 b078b588d617e07886ad156e9f54ade6d823568e" +#define SQLITE_VERSION "3.7.2+" +#define SQLITE_VERSION_NUMBER 3007002 +#define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -146,7 +146,6 @@ SQLITE_API const char *sqlite3_libversion(void); SQLITE_API const char *sqlite3_sourceid(void); SQLITE_API int sqlite3_libversion_number(void); -#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS /* ** CAPI3REF: Run-Time Library Compilation Options Diagnostics ** @@ -155,7 +154,7 @@ SQLITE_API int sqlite3_libversion_number(void); ** compile time. ^The SQLITE_ prefix may be omitted from the ** option name passed to sqlite3_compileoption_used(). ** -** ^The sqlite3_compileoption_get() function allows interating +** ^The sqlite3_compileoption_get() function allows iterating ** over the list of options that were defined at compile time by ** returning the N-th compile time option string. ^If N is out of range, ** sqlite3_compileoption_get() returns a NULL pointer. ^The SQLITE_ @@ -163,15 +162,16 @@ SQLITE_API int sqlite3_libversion_number(void); ** sqlite3_compileoption_get(). ** ** ^Support for the diagnostic functions sqlite3_compileoption_used() -** and sqlite3_compileoption_get() may be omitted by specifing the +** and sqlite3_compileoption_get() may be omitted by specifying the ** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time. ** ** See also: SQL functions [sqlite_compileoption_used()] and ** [sqlite_compileoption_get()] and the [compile_options pragma]. */ +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS SQLITE_API int sqlite3_compileoption_used(const char *zOptName); SQLITE_API const char *sqlite3_compileoption_get(int N); -#endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ +#endif /* ** CAPI3REF: Test To See If The Library Is Threadsafe @@ -268,7 +268,7 @@ typedef sqlite_uint64 sqlite3_uint64; ** ** ^The sqlite3_close() routine is the destructor for the [sqlite3] object. ** ^Calls to sqlite3_close() return SQLITE_OK if the [sqlite3] object is -** successfullly destroyed and all associated resources are deallocated. +** successfully destroyed and all associated resources are deallocated. ** ** Applications must [sqlite3_finalize | finalize] all [prepared statements] ** and [sqlite3_blob_close | close] all [BLOB handles] associated with @@ -393,7 +393,7 @@ SQLITE_API int sqlite3_exec( #define SQLITE_NOTFOUND 12 /* NOT USED. Table or record not found */ #define SQLITE_FULL 13 /* Insertion failed because database is full */ #define SQLITE_CANTOPEN 14 /* Unable to open the database file */ -#define SQLITE_PROTOCOL 15 /* NOT USED. Database lock protocol error */ +#define SQLITE_PROTOCOL 15 /* Database lock protocol error */ #define SQLITE_EMPTY 16 /* Database is empty */ #define SQLITE_SCHEMA 17 /* The database schema changed */ #define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */ @@ -449,7 +449,12 @@ SQLITE_API int sqlite3_exec( #define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) #define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8)) #define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8)) -#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8) ) +#define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8)) +#define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) +#define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) +#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) +#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) +#define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) /* ** CAPI3REF: Flags For File Open Operations @@ -476,11 +481,12 @@ SQLITE_API int sqlite3_exec( #define SQLITE_OPEN_FULLMUTEX 0x00010000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_SHAREDCACHE 0x00020000 /* Ok for sqlite3_open_v2() */ #define SQLITE_OPEN_PRIVATECACHE 0x00040000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_WAL 0x00080000 /* VFS only */ /* ** CAPI3REF: Device Characteristics ** -** The xDeviceCapabilities method of the [sqlite3_io_methods] +** The xDeviceCharacteristics method of the [sqlite3_io_methods] ** object returns an integer which is a vector of the these ** bit values expressing I/O characteristics of the mass storage ** device that holds the file that the [sqlite3_io_methods] @@ -497,17 +503,18 @@ SQLITE_API int sqlite3_exec( ** information is written to disk in the same order as calls ** to xWrite(). */ -#define SQLITE_IOCAP_ATOMIC 0x00000001 -#define SQLITE_IOCAP_ATOMIC512 0x00000002 -#define SQLITE_IOCAP_ATOMIC1K 0x00000004 -#define SQLITE_IOCAP_ATOMIC2K 0x00000008 -#define SQLITE_IOCAP_ATOMIC4K 0x00000010 -#define SQLITE_IOCAP_ATOMIC8K 0x00000020 -#define SQLITE_IOCAP_ATOMIC16K 0x00000040 -#define SQLITE_IOCAP_ATOMIC32K 0x00000080 -#define SQLITE_IOCAP_ATOMIC64K 0x00000100 -#define SQLITE_IOCAP_SAFE_APPEND 0x00000200 -#define SQLITE_IOCAP_SEQUENTIAL 0x00000400 +#define SQLITE_IOCAP_ATOMIC 0x00000001 +#define SQLITE_IOCAP_ATOMIC512 0x00000002 +#define SQLITE_IOCAP_ATOMIC1K 0x00000004 +#define SQLITE_IOCAP_ATOMIC2K 0x00000008 +#define SQLITE_IOCAP_ATOMIC4K 0x00000010 +#define SQLITE_IOCAP_ATOMIC8K 0x00000020 +#define SQLITE_IOCAP_ATOMIC16K 0x00000040 +#define SQLITE_IOCAP_ATOMIC32K 0x00000080 +#define SQLITE_IOCAP_ATOMIC64K 0x00000100 +#define SQLITE_IOCAP_SAFE_APPEND 0x00000200 +#define SQLITE_IOCAP_SEQUENTIAL 0x00000400 +#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800 /* ** CAPI3REF: File Locking Levels @@ -658,6 +665,12 @@ struct sqlite3_io_methods { int (*xFileControl)(sqlite3_file*, int op, void *pArg); int (*xSectorSize)(sqlite3_file*); int (*xDeviceCharacteristics)(sqlite3_file*); + /* Methods above are valid for version 1 */ + int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**); + int (*xShmLock)(sqlite3_file*, int offset, int n, int flags); + void (*xShmBarrier)(sqlite3_file*); + int (*xShmUnmap)(sqlite3_file*, int deleteFlag); + /* Methods above are valid for version 2 */ /* Additional methods may be added in future releases */ }; @@ -675,11 +688,28 @@ struct sqlite3_io_methods { ** into an integer that the pArg argument points to. This capability ** is used during testing and only needs to be supported when SQLITE_TEST ** is defined. +** +** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS +** layer a hint of how large the database file will grow to be during the +** current transaction. This hint is not guaranteed to be accurate but it +** is often close. The underlying VFS might choose to preallocate database +** file space based on this hint in order to help writes to the database +** file run faster. +** +** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS +** extends and truncates the database file in chunks of a size specified +** by the user. The fourth argument to [sqlite3_file_control()] should +** point to an integer (type int) containing the new chunk-size to use +** for the nominated database. Allocating database file space in large +** chunks (say 1MB at a time), may reduce file-system fragmentation and +** improve performance on some systems. */ #define SQLITE_FCNTL_LOCKSTATE 1 #define SQLITE_GET_LOCKPROXYFILE 2 #define SQLITE_SET_LOCKPROXYFILE 3 #define SQLITE_LAST_ERRNO 4 +#define SQLITE_FCNTL_SIZE_HINT 5 +#define SQLITE_FCNTL_CHUNK_SIZE 6 /* ** CAPI3REF: Mutex Handle @@ -811,20 +841,27 @@ typedef struct sqlite3_mutex sqlite3_mutex; ** handled as a fatal error by SQLite, vfs implementations should endeavor ** to prevent this by setting mxPathname to a sufficiently large value. ** -** The xRandomness(), xSleep(), and xCurrentTime() interfaces -** are not strictly a part of the filesystem, but they are +** The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() +** interfaces are not strictly a part of the filesystem, but they are ** included in the VFS structure for completeness. ** The xRandomness() function attempts to return nBytes bytes ** of good-quality randomness into zOut. The return value is ** the actual number of bytes of randomness obtained. ** The xSleep() method causes the calling thread to sleep for at ** least the number of microseconds given. The xCurrentTime() -** method returns a Julian Day Number for the current date and time. -** +** method returns a Julian Day Number for the current date and time as +** a floating point value. +** The xCurrentTimeInt64() method returns, as an integer, the Julian +** Day Number multipled by 86400000 (the number of milliseconds in +** a 24-hour day). +** ^SQLite will use the xCurrentTimeInt64() method to get the current +** date and time if that method is available (if iVersion is 2 or +** greater and the function pointer is not NULL) and will fall back +** to xCurrentTime() if xCurrentTimeInt64() is unavailable. */ typedef struct sqlite3_vfs sqlite3_vfs; struct sqlite3_vfs { - int iVersion; /* Structure version number */ + int iVersion; /* Structure version number (currently 2) */ int szOsFile; /* Size of subclassed sqlite3_file */ int mxPathname; /* Maximum file pathname length */ sqlite3_vfs *pNext; /* Next registered VFS */ @@ -843,8 +880,16 @@ struct sqlite3_vfs { int (*xSleep)(sqlite3_vfs*, int microseconds); int (*xCurrentTime)(sqlite3_vfs*, double*); int (*xGetLastError)(sqlite3_vfs*, int, char *); - /* New fields may be appended in figure versions. The iVersion - ** value will increment whenever this happens. */ + /* + ** The methods above are in version 1 of the sqlite_vfs object + ** definition. Those that follow are added in version 2 or later + */ + int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*); + /* + ** The methods above are in versions 1 and 2 of the sqlite_vfs object. + ** New fields may be appended in figure versions. The iVersion + ** value will increment whenever this happens. + */ }; /* @@ -856,13 +901,58 @@ struct sqlite3_vfs { ** With SQLITE_ACCESS_EXISTS, the xAccess method ** simply checks whether the file exists. ** With SQLITE_ACCESS_READWRITE, the xAccess method -** checks whether the file is both readable and writable. +** checks whether the named directory is both readable and writable +** (in other words, if files can be added, removed, and renamed within +** the directory). +** The SQLITE_ACCESS_READWRITE constant is currently used only by the +** [temp_store_directory pragma], though this could change in a future +** release of SQLite. ** With SQLITE_ACCESS_READ, the xAccess method -** checks whether the file is readable. +** checks whether the file is readable. The SQLITE_ACCESS_READ constant is +** currently unused, though it might be used in a future release of +** SQLite. */ #define SQLITE_ACCESS_EXISTS 0 -#define SQLITE_ACCESS_READWRITE 1 -#define SQLITE_ACCESS_READ 2 +#define SQLITE_ACCESS_READWRITE 1 /* Used by PRAGMA temp_store_directory */ +#define SQLITE_ACCESS_READ 2 /* Unused */ + +/* +** CAPI3REF: Flags for the xShmLock VFS method +** +** These integer constants define the various locking operations +** allowed by the xShmLock method of [sqlite3_io_methods]. The +** following are the only legal combinations of flags to the +** xShmLock method: +** +**
    +**
  • SQLITE_SHM_LOCK | SQLITE_SHM_SHARED +**
  • SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE +**
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED +**
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE +**
+** +** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as +** was given no the corresponding lock. +** +** The xShmLock method can transition between unlocked and SHARED or +** between unlocked and EXCLUSIVE. It cannot transition between SHARED +** and EXCLUSIVE. +*/ +#define SQLITE_SHM_UNLOCK 1 +#define SQLITE_SHM_LOCK 2 +#define SQLITE_SHM_SHARED 4 +#define SQLITE_SHM_EXCLUSIVE 8 + +/* +** CAPI3REF: Maximum xShmLock index +** +** The xShmLock method on [sqlite3_io_methods] may use values +** between 0 and this upper bound as its "offset" argument. +** The SQLite core will never attempt to acquire or release a +** lock outside of this range +*/ +#define SQLITE_SHM_NLOCK 8 + /* ** CAPI3REF: Initialize The SQLite Library @@ -973,11 +1063,10 @@ SQLITE_API int sqlite3_os_end(void); ** ^If the option is unknown or SQLite is unable to set the option ** then this routine returns a non-zero [error code]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_config(int, ...); +SQLITE_API int sqlite3_config(int, ...); /* ** CAPI3REF: Configure database connections -** EXPERIMENTAL ** ** The sqlite3_db_config() interface is used to make configuration ** changes to a [database connection]. The interface is similar to @@ -997,11 +1086,10 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_config(int, ...); ** ^Calls to sqlite3_db_config() return SQLITE_OK if and only if ** the call is considered successful. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_config(sqlite3*, int op, ...); +SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...); /* ** CAPI3REF: Memory Allocation Routines -** EXPERIMENTAL ** ** An instance of this object defines the interface between SQLite ** and low-level memory allocation routines. @@ -1083,7 +1171,6 @@ struct sqlite3_mem_methods { /* ** CAPI3REF: Configuration Options -** EXPERIMENTAL ** ** These constants are the available integer configuration options that ** can be passed as the first argument to the [sqlite3_config()] interface. @@ -1269,6 +1356,24 @@ struct sqlite3_mem_methods { ** [sqlite3_pcache_methods] object. SQLite copies of the current ** page cache implementation into that object.)^ ** +**
SQLITE_CONFIG_LOG
+**
^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a +** function with a call signature of void(*)(void*,int,const char*), +** and a pointer to void. ^If the function pointer is not NULL, it is +** invoked by [sqlite3_log()] to process each logging event. ^If the +** function pointer is NULL, the [sqlite3_log()] interface becomes a no-op. +** ^The void pointer that is the second argument to SQLITE_CONFIG_LOG is +** passed through as the first parameter to the application-defined logger +** function whenever that function is invoked. ^The second parameter to +** the logger function is a copy of the first parameter to the corresponding +** [sqlite3_log()] call and is intended to be a [result code] or an +** [extended result code]. ^The third parameter passed to the logger is +** log message after formatting via [sqlite3_snprintf()]. +** The SQLite logging interface is not reentrant; the logger function +** supplied by the application must not invoke any SQLite interface. +** In a multi-threaded application, the application-defined logger +** function must be threadsafe.
+** ** */ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ @@ -1289,8 +1394,7 @@ struct sqlite3_mem_methods { #define SQLITE_CONFIG_LOG 16 /* xFunc, void* */ /* -** CAPI3REF: Configuration Options -** EXPERIMENTAL +** CAPI3REF: Database Connection Configuration Options ** ** These constants are the available integer configuration options that ** can be passed as the second argument to the [sqlite3_db_config()] interface. @@ -2066,7 +2170,6 @@ SQLITE_API int sqlite3_set_authorizer( /* ** CAPI3REF: Tracing And Profiling Functions -** EXPERIMENTAL ** ** These routines register callback functions that can be used for ** tracing and profiling the execution of SQL statements. @@ -2082,9 +2185,15 @@ SQLITE_API int sqlite3_set_authorizer( ** ^The callback function registered by sqlite3_profile() is invoked ** as each SQL statement finishes. ^The profile callback contains ** the original statement text and an estimate of wall-clock time -** of how long that statement took to run. -*/ -SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); +** of how long that statement took to run. ^The profile callback +** time is in units of nanoseconds, however the current implementation +** is only capable of millisecond resolution so the six least significant +** digits in the time are meaningless. Future versions of SQLite +** might provide greater resolution on the profiler callback. The +** sqlite3_profile() function is considered experimental and is +** subject to change in future versions of SQLite. +*/ +SQLITE_API void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_profile(sqlite3*, void(*xProfile)(void*,const char*,sqlite3_uint64), void*); @@ -2563,7 +2672,7 @@ typedef struct sqlite3_context sqlite3_context; ** ** ** In the templates above, NNN represents an integer literal, -** and VVV represents an alphanumeric identifer.)^ ^The values of these +** and VVV represents an alphanumeric identifier.)^ ^The values of these ** parameters (also called "host parameter names" or "SQL parameters") ** can be set using the sqlite3_bind_*() routines defined here. ** @@ -2877,6 +2986,14 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); ** be the case that the same database connection is being used by two or ** more threads at the same moment in time. ** +** For all versions of SQLite up to and including 3.6.23.1, it was required +** after sqlite3_step() returned anything other than [SQLITE_ROW] that +** [sqlite3_reset()] be called before any subsequent invocation of +** sqlite3_step(). Failure to invoke [sqlite3_reset()] in this way would +** result in an [SQLITE_MISUSE] return from sqlite3_step(). But after +** version 3.6.23.1, sqlite3_step() began calling [sqlite3_reset()] +** automatically in this circumstance rather than returning [SQLITE_MISUSE]. +** ** Goofy Interface Alert: In the legacy interface, the sqlite3_step() ** API always returns a generic error code, [SQLITE_ERROR], following any ** error other than [SQLITE_BUSY] and [SQLITE_MISUSE]. You must call @@ -3334,7 +3451,7 @@ SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); /* ** CAPI3REF: Obtain Aggregate Function Context ** -** Implementions of aggregate SQL functions use this +** Implementations of aggregate SQL functions use this ** routine to allocate memory for storing their state. ** ** ^The first time the sqlite3_aggregate_context(C,N) routine is called @@ -3606,7 +3723,7 @@ SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n); ** ** A pointer to the user supplied routine must be passed as the fifth ** argument. ^If it is NULL, this is the same as deleting the collation -** sequence (so that SQLite cannot call it anymore). +** sequence (so that SQLite cannot call it any more). ** ^Each time the application supplied function is invoked, it is passed ** as its first parameter a copy of the void* passed as the fourth argument ** to sqlite3_create_collation() or sqlite3_create_collation16(). @@ -3689,7 +3806,7 @@ SQLITE_API int sqlite3_collation_needed16( void(*)(void*,sqlite3*,int eTextRep,const void*) ); -#if SQLITE_HAS_CODEC +#ifdef SQLITE_HAS_CODEC /* ** Specify the key for an encrypted database. This routine should be ** called right after sqlite3_open(). @@ -3872,8 +3989,6 @@ SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); ** an error or constraint causes an implicit rollback to occur. ** ^The rollback callback is not invoked if a transaction is ** automatically rolled back because the database connection is closed. -** ^The rollback callback is not invoked if a transaction is -** rolled back because a commit callback returned non-zero. ** ** See also the [sqlite3_update_hook()] interface. */ @@ -4159,8 +4274,6 @@ SQLITE_API int sqlite3_auto_extension(void (*xEntryPoint)(void)); SQLITE_API void sqlite3_reset_auto_extension(void); /* -****** EXPERIMENTAL - subject to change without notice ************** -** ** The interface to the virtual-table mechanism is currently considered ** to be experimental. The interface might change in incompatible ways. ** If this is a problem for you, do not use the interface at this time. @@ -4180,7 +4293,6 @@ typedef struct sqlite3_module sqlite3_module; /* ** CAPI3REF: Virtual Table Object ** KEYWORDS: sqlite3_module {virtual table module} -** EXPERIMENTAL ** ** This structure, sometimes called a a "virtual table module", ** defines the implementation of a [virtual tables]. @@ -4227,9 +4339,9 @@ struct sqlite3_module { /* ** CAPI3REF: Virtual Table Indexing Information ** KEYWORDS: sqlite3_index_info -** EXPERIMENTAL ** -** The sqlite3_index_info structure and its substructures is used to +** The sqlite3_index_info structure and its substructures is used as part +** of the [virtual table] interface to ** pass information into and receive the reply from the [xBestIndex] ** method of a [virtual table module]. The fields under **Inputs** are the ** inputs to xBestIndex and are read-only. xBestIndex inserts its @@ -4237,10 +4349,12 @@ struct sqlite3_module { ** ** ^(The aConstraint[] array records WHERE clause constraints of the form: ** -**
column OP expr
+**
column OP expr
** ** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is -** stored in aConstraint[].op.)^ ^(The index of the column is stored in +** stored in aConstraint[].op using one of the +** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^ +** ^(The index of the column is stored in ** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the ** expr on the right-hand side can be evaluated (and thus the constraint ** is usable) and false if it cannot.)^ @@ -4300,6 +4414,15 @@ struct sqlite3_index_info { int orderByConsumed; /* True if output is already ordered */ double estimatedCost; /* Estimated cost of using this index */ }; + +/* +** CAPI3REF: Virtual Table Constraint Operator Codes +** +** These macros defined the allowed values for the +** [sqlite3_index_info].aConstraint[].op field. Each value represents +** an operator that is part of a constraint term in the wHERE clause of +** a query that uses a [virtual table]. +*/ #define SQLITE_INDEX_CONSTRAINT_EQ 2 #define SQLITE_INDEX_CONSTRAINT_GT 4 #define SQLITE_INDEX_CONSTRAINT_LE 8 @@ -4309,7 +4432,6 @@ struct sqlite3_index_info { /* ** CAPI3REF: Register A Virtual Table Implementation -** EXPERIMENTAL ** ** ^These routines are used to register a new [virtual table module] name. ** ^Module names must be registered before @@ -4331,13 +4453,13 @@ struct sqlite3_index_info { ** interface is equivalent to sqlite3_create_module_v2() with a NULL ** destructor. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module( +SQLITE_API int sqlite3_create_module( sqlite3 *db, /* SQLite connection to register module with */ const char *zName, /* Name of the module */ const sqlite3_module *p, /* Methods for the module */ void *pClientData /* Client data for xCreate/xConnect */ ); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module_v2( +SQLITE_API int sqlite3_create_module_v2( sqlite3 *db, /* SQLite connection to register module with */ const char *zName, /* Name of the module */ const sqlite3_module *p, /* Methods for the module */ @@ -4348,7 +4470,6 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_create_module_v2( /* ** CAPI3REF: Virtual Table Instance Object ** KEYWORDS: sqlite3_vtab -** EXPERIMENTAL ** ** Every [virtual table module] implementation uses a subclass ** of this object to describe a particular instance @@ -4374,7 +4495,6 @@ struct sqlite3_vtab { /* ** CAPI3REF: Virtual Table Cursor Object ** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor} -** EXPERIMENTAL ** ** Every [virtual table module] implementation uses a subclass of the ** following structure to describe cursors that point into the @@ -4396,18 +4516,16 @@ struct sqlite3_vtab_cursor { /* ** CAPI3REF: Declare The Schema Of A Virtual Table -** EXPERIMENTAL ** ** ^The [xCreate] and [xConnect] methods of a ** [virtual table module] call this interface ** to declare the format (the names and datatypes of the columns) of ** the virtual tables they implement. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zSQL); +SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL); /* ** CAPI3REF: Overload A Function For A Virtual Table -** EXPERIMENTAL ** ** ^(Virtual tables can provide alternative implementations of functions ** using the [xFindFunction] method of the [virtual table module]. @@ -4422,7 +4540,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_declare_vtab(sqlite3*, const char *zS ** purpose is to be a placeholder function that can be overloaded ** by a [virtual table]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); +SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); /* ** The interface to the virtual-table mechanism defined above (back up @@ -4432,8 +4550,6 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_overload_function(sqlite3*, const cha ** ** When the virtual-table mechanism stabilizes, we will declare the ** interface fixed, support it indefinitely, and remove this comment. -** -****** EXPERIMENTAL - subject to change without notice ************** */ /* @@ -4776,7 +4892,6 @@ SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*); /* ** CAPI3REF: Mutex Methods Object -** EXPERIMENTAL ** ** An instance of this structure defines the low-level routines ** used to allocate and use mutexes. @@ -4826,7 +4941,7 @@ SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*); ** it is passed a NULL pointer). ** ** The xMutexInit() method must be threadsafe. ^It must be harmless to -** invoke xMutexInit() mutiple times within the same process and without +** invoke xMutexInit() multiple times within the same process and without ** intervening calls to xMutexEnd(). Second and subsequent calls to ** xMutexInit() must be no-ops. ** @@ -4989,14 +5104,14 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_RESERVE 14 #define SQLITE_TESTCTRL_OPTIMIZATIONS 15 #define SQLITE_TESTCTRL_ISKEYWORD 16 -#define SQLITE_TESTCTRL_LAST 16 +#define SQLITE_TESTCTRL_PGHDRSZ 17 +#define SQLITE_TESTCTRL_LAST 17 /* ** CAPI3REF: SQLite Runtime Status -** EXPERIMENTAL ** ** ^This interface is used to retrieve runtime status information -** about the preformance of SQLite, and optionally to reset various +** about the performance of SQLite, and optionally to reset various ** highwater marks. ^The first argument is an integer code for ** the specific parameter to measure. ^(Recognized integer codes ** are of the form [SQLITE_STATUS_MEMORY_USED | SQLITE_STATUS_...].)^ @@ -5021,12 +5136,11 @@ SQLITE_API int sqlite3_test_control(int op, ...); ** ** See also: [sqlite3_db_status()] */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag); +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag); /* ** CAPI3REF: Status Parameters -** EXPERIMENTAL ** ** These integer constants designate various run-time status parameters ** that can be returned by [sqlite3_status()]. @@ -5049,6 +5163,9 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pH ** *pHighwater parameter to [sqlite3_status()] is of interest. ** The value written into the *pCurrent parameter is undefined.)^ ** +** ^(
SQLITE_STATUS_MALLOC_COUNT
+**
This parameter records the number of separate memory allocations.
)^ +** ** ^(
SQLITE_STATUS_PAGECACHE_USED
**
This parameter returns the number of pages used out of the ** [pagecache memory allocator] that was configured using @@ -5110,17 +5227,19 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pH #define SQLITE_STATUS_PARSER_STACK 6 #define SQLITE_STATUS_PAGECACHE_SIZE 7 #define SQLITE_STATUS_SCRATCH_SIZE 8 +#define SQLITE_STATUS_MALLOC_COUNT 9 /* ** CAPI3REF: Database Connection Status -** EXPERIMENTAL ** ** ^This interface is used to retrieve runtime status information ** about a single [database connection]. ^The first argument is the ** database connection object to be interrogated. ^The second argument -** is the parameter to interrogate. ^Currently, the only allowed value -** for the second parameter is [SQLITE_DBSTATUS_LOOKASIDE_USED]. -** Additional options will likely appear in future releases of SQLite. +** is an integer constant, taken from the set of +** [SQLITE_DBSTATUS_LOOKASIDE_USED | SQLITE_DBSTATUS_*] macros, that +** determines the parameter to interrogate. The set of +** [SQLITE_DBSTATUS_LOOKASIDE_USED | SQLITE_DBSTATUS_*] macros is likely +** to grow in future releases of SQLite. ** ** ^The current value of the requested parameter is written into *pCur ** and the highest instantaneous value is written into *pHiwtr. ^If @@ -5129,11 +5248,10 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_status(int op, int *pCurrent, int *pH ** ** See also: [sqlite3_status()] and [sqlite3_stmt_status()]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); +SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); /* ** CAPI3REF: Status Parameters for database connections -** EXPERIMENTAL ** ** These constants are the available integer "verbs" that can be passed as ** the second argument to the [sqlite3_db_status()] interface. @@ -5148,14 +5266,38 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur ** ^(
SQLITE_DBSTATUS_LOOKASIDE_USED
**
This parameter returns the number of lookaside memory slots currently ** checked out.
)^ +** +** ^(
SQLITE_DBSTATUS_CACHE_USED
+**
This parameter returns the approximate number of of bytes of heap +** memory used by all pager caches associated with the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. +** +** ^(
SQLITE_DBSTATUS_SCHEMA_USED
+**
This parameter returns the approximate number of of bytes of heap +** memory used to store the schema for all databases associated +** with the connection - main, temp, and any [ATTACH]-ed databases.)^ +** ^The full amount of memory used by the schemas is reported, even if the +** schema memory is shared with other database connections due to +** [shared cache mode] being enabled. +** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. +** +** ^(
SQLITE_DBSTATUS_STMT_USED
+**
This parameter returns the approximate number of of bytes of heap +** and lookaside memory used by all prepared statements associated with +** the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. +**
** */ #define SQLITE_DBSTATUS_LOOKASIDE_USED 0 +#define SQLITE_DBSTATUS_CACHE_USED 1 +#define SQLITE_DBSTATUS_SCHEMA_USED 2 +#define SQLITE_DBSTATUS_STMT_USED 3 +#define SQLITE_DBSTATUS_MAX 3 /* Largest defined DBSTATUS */ /* ** CAPI3REF: Prepared Statement Status -** EXPERIMENTAL ** ** ^(Each prepared statement maintains various ** [SQLITE_STMTSTATUS_SORT | counters] that measure the number @@ -5177,11 +5319,10 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_db_status(sqlite3*, int op, int *pCur ** ** See also: [sqlite3_status()] and [sqlite3_db_status()]. */ -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); +SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); /* ** CAPI3REF: Status Parameters for prepared statements -** EXPERIMENTAL ** ** These preprocessor macros define integer codes that name counter ** values associated with the [sqlite3_stmt_status()] interface. @@ -5199,14 +5340,21 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_stmt_status(sqlite3_stmt*, int op,int ** A non-zero value in this counter may indicate an opportunity to ** improvement performance through careful use of indices. ** +**
SQLITE_STMTSTATUS_AUTOINDEX
+**
^This is the number of rows inserted into transient indices that +** were created automatically in order to help joins run faster. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance by adding permanent indices that do not +** need to be reinitialized each time the statement is run.
+** ** */ #define SQLITE_STMTSTATUS_FULLSCAN_STEP 1 #define SQLITE_STMTSTATUS_SORT 2 +#define SQLITE_STMTSTATUS_AUTOINDEX 3 /* ** CAPI3REF: Custom Page Cache Object -** EXPERIMENTAL ** ** The sqlite3_pcache type is opaque. It is implemented by ** the pluggable module. The SQLite core has no knowledge of @@ -5221,7 +5369,6 @@ typedef struct sqlite3_pcache sqlite3_pcache; /* ** CAPI3REF: Application Defined Page Cache. ** KEYWORDS: {page cache} -** EXPERIMENTAL ** ** ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE], ...) interface can ** register an alternative page cache implementation by passing in an @@ -5363,7 +5510,6 @@ struct sqlite3_pcache_methods { /* ** CAPI3REF: Online Backup Object -** EXPERIMENTAL ** ** The sqlite3_backup object records state information about an ongoing ** online backup operation. ^The sqlite3_backup object is created by @@ -5376,7 +5522,6 @@ typedef struct sqlite3_backup sqlite3_backup; /* ** CAPI3REF: Online Backup API. -** EXPERIMENTAL ** ** The backup API copies the content of one database into another. ** It is useful either for creating backups of databases or @@ -5445,10 +5590,14 @@ typedef struct sqlite3_backup sqlite3_backup; ** [SQLITE_NOMEM], [SQLITE_BUSY], [SQLITE_LOCKED], or an ** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX] extended error code. ** -** ^The sqlite3_backup_step() might return [SQLITE_READONLY] if the destination -** database was opened read-only or if -** the destination is an in-memory database with a different page size -** from the source database. +** ^(The sqlite3_backup_step() might return [SQLITE_READONLY] if +**
    +**
  1. the destination database was opened read-only, or +**
  2. the destination database is using write-ahead-log journaling +** and the destination and source page sizes differ, or +**
  3. The destination database is an in-memory database and the +** destination and source page sizes differ. +**
)^ ** ** ^If sqlite3_backup_step() cannot obtain a required file-system lock, then ** the [sqlite3_busy_handler | busy-handler function] @@ -5510,7 +5659,7 @@ typedef struct sqlite3_backup sqlite3_backup; ** ** ^Each call to sqlite3_backup_step() sets two values inside ** the [sqlite3_backup] object: the number of pages still to be backed -** up and the total number of pages in the source databae file. +** up and the total number of pages in the source database file. ** The sqlite3_backup_remaining() and sqlite3_backup_pagecount() interfaces ** retrieve these two values, respectively. ** @@ -5564,7 +5713,6 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); /* ** CAPI3REF: Unlock Notification -** EXPERIMENTAL ** ** ^When running in shared-cache mode, a database operation may fail with ** an [SQLITE_LOCKED] error if the required locks on the shared-cache or @@ -5607,7 +5755,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); ** blocked connection already has a registered unlock-notify callback, ** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is ** called with a NULL pointer as its second argument, then any existing -** unlock-notify callback is cancelled. ^The blocked connections +** unlock-notify callback is canceled. ^The blocked connections ** unlock-notify callback may also be canceled by closing the blocked ** connection using [sqlite3_close()]. ** @@ -5686,23 +5834,21 @@ SQLITE_API int sqlite3_unlock_notify( /* ** CAPI3REF: String Comparison -** EXPERIMENTAL ** ** ^The [sqlite3_strnicmp()] API allows applications and extensions to ** compare the contents of two buffers containing UTF-8 strings in a -** case-indendent fashion, using the same definition of case independence +** case-independent fashion, using the same definition of case independence ** that SQLite uses internally when comparing identifiers. */ SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); /* ** CAPI3REF: Error Logging Interface -** EXPERIMENTAL ** ** ^The [sqlite3_log()] interface writes a message into the error log ** established by the [SQLITE_CONFIG_LOG] option to [sqlite3_config()]. ** ^If logging is enabled, the zFormat string and subsequent arguments are -** passed through to [sqlite3_vmprintf()] to generate the final output string. +** used with [sqlite3_snprintf()] to generate the final output string. ** ** The sqlite3_log() interface is intended for use by extensions such as ** virtual tables, collating functions, and SQL functions. While there is @@ -5720,6 +5866,89 @@ SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); /* +** CAPI3REF: Write-Ahead Log Commit Hook +** +** ^The [sqlite3_wal_hook()] function is used to register a callback that +** will be invoked each time a database connection commits data to a +** [write-ahead log] (i.e. whenever a transaction is committed in +** [journal_mode | journal_mode=WAL mode]). +** +** ^The callback is invoked by SQLite after the commit has taken place and +** the associated write-lock on the database released, so the implementation +** may read, write or [checkpoint] the database as required. +** +** ^The first parameter passed to the callback function when it is invoked +** is a copy of the third parameter passed to sqlite3_wal_hook() when +** registering the callback. ^The second is a copy of the database handle. +** ^The third parameter is the name of the database that was written to - +** either "main" or the name of an [ATTACH]-ed database. ^The fourth parameter +** is the number of pages currently in the write-ahead log file, +** including those that were just committed. +** +** The callback function should normally return [SQLITE_OK]. ^If an error +** code is returned, that error will propagate back up through the +** SQLite code base to cause the statement that provoked the callback +** to report an error, though the commit will have still occurred. If the +** callback returns [SQLITE_ROW] or [SQLITE_DONE], or if it returns a value +** that does not correspond to any valid SQLite error code, the results +** are undefined. +** +** A single database handle may have at most a single write-ahead log callback +** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any +** previously registered write-ahead log callback. ^Note that the +** [sqlite3_wal_autocheckpoint()] interface and the +** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will +** those overwrite any prior [sqlite3_wal_hook()] settings. +*/ +SQLITE_API void *sqlite3_wal_hook( + sqlite3*, + int(*)(void *,sqlite3*,const char*,int), + void* +); + +/* +** CAPI3REF: Configure an auto-checkpoint +** +** ^The [sqlite3_wal_autocheckpoint(D,N)] is a wrapper around +** [sqlite3_wal_hook()] that causes any database on [database connection] D +** to automatically [checkpoint] +** after committing a transaction if there are N or +** more frames in the [write-ahead log] file. ^Passing zero or +** a negative value as the nFrame parameter disables automatic +** checkpoints entirely. +** +** ^The callback registered by this function replaces any existing callback +** registered using [sqlite3_wal_hook()]. ^Likewise, registering a callback +** using [sqlite3_wal_hook()] disables the automatic checkpoint mechanism +** configured by this function. +** +** ^The [wal_autocheckpoint pragma] can be used to invoke this interface +** from SQL. +** +** ^Every new [database connection] defaults to having the auto-checkpoint +** enabled with a threshold of 1000 pages. The use of this interface +** is only necessary if the default setting is found to be suboptimal +** for a particular application. +*/ +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N); + +/* +** CAPI3REF: Checkpoint a database +** +** ^The [sqlite3_wal_checkpoint(D,X)] interface causes database named X +** on [database connection] D to be [checkpointed]. ^If X is NULL or an +** empty string, then a checkpoint is run on all databases of +** connection D. ^If the database connection D is not in +** [WAL | write-ahead log mode] then this interface is a harmless no-op. +** +** ^The [wal_checkpoint pragma] can be used to invoke this interface +** from SQL. ^The [sqlite3_wal_autocheckpoint()] interface and the +** [wal_autocheckpoint pragma] can be used to cause this interface to be +** run whenever the WAL reaches a certain size threshold. +*/ +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); + +/* ** Undo the hack that converts floating point types to integer for ** builds on processors without floating point support. */ diff --git a/ext/sqlite/sqlite-3.6.23.1+/sqlite3.pc.in b/ext/sqlite/sqlite-3.7.2+/sqlite3.pc.in similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/sqlite3.pc.in rename to ext/sqlite/sqlite-3.7.2+/sqlite3.pc.in diff --git a/ext/sqlite/sqlite-3.6.23.1+/sqlite3ext.h b/ext/sqlite/sqlite-3.7.2+/sqlite3ext.h similarity index 100% rename from ext/sqlite/sqlite-3.6.23.1+/sqlite3ext.h rename to ext/sqlite/sqlite-3.7.2+/sqlite3ext.h diff --git a/ext/sqlite/sqlite-3.6.23.1-patch b/ext/sqlite/sqlite-3.7.2-patch similarity index 70% rename from ext/sqlite/sqlite-3.6.23.1-patch rename to ext/sqlite/sqlite-3.7.2-patch index e053329..827483f 100644 --- a/ext/sqlite/sqlite-3.6.23.1-patch +++ b/ext/sqlite/sqlite-3.7.2-patch @@ -1,6 +1,6 @@ -diff -ruN sqlite-3.6.23.1/Makefile.am sqlite-3.6.23.1+/Makefile.am ---- sqlite-3.6.23.1/Makefile.am 2009-12-01 22:33:01.000000000 +0900 -+++ sqlite-3.6.23.1+/Makefile.am 2010-04-11 01:13:48.000000000 +0900 +diff -ruN sqlite-3.7.2/Makefile.am sqlite-3.7.2+/Makefile.am +--- sqlite-3.7.2/Makefile.am 2009-12-01 22:33:01.000000000 +0900 ++++ sqlite-3.7.2+/Makefile.am 2010-09-25 01:25:56.000000000 +0900 @@ -1,5 +1,5 @@ -AM_CFLAGS = @THREADSAFE_FLAGS@ @DYNAMIC_EXTENSION_FLAGS@ -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE @@ -8,9 +8,9 @@ diff -ruN sqlite-3.6.23.1/Makefile.am sqlite-3.6.23.1+/Makefile.am lib_LTLIBRARIES = libsqlite3.la libsqlite3_la_SOURCES = sqlite3.c -diff -ruN sqlite-3.6.23.1/Makefile.in sqlite-3.6.23.1+/Makefile.in ---- sqlite-3.6.23.1/Makefile.in 2010-03-30 04:52:10.000000000 +0900 -+++ sqlite-3.6.23.1+/Makefile.in 2010-04-11 01:13:48.000000000 +0900 +diff -ruN sqlite-3.7.2/Makefile.in sqlite-3.7.2+/Makefile.in +--- sqlite-3.7.2/Makefile.in 2010-08-24 08:03:10.000000000 +0900 ++++ sqlite-3.7.2+/Makefile.in 2010-09-25 01:25:56.000000000 +0900 @@ -209,7 +209,7 @@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ @@ -20,9 +20,9 @@ diff -ruN sqlite-3.6.23.1/Makefile.in sqlite-3.6.23.1+/Makefile.in lib_LTLIBRARIES = libsqlite3.la libsqlite3_la_SOURCES = sqlite3.c libsqlite3_la_LDFLAGS = -no-undefined -version-info 8:6:8 -diff -ruN sqlite-3.6.23.1/aclocal.m4 sqlite-3.6.23.1+/aclocal.m4 ---- sqlite-3.6.23.1/aclocal.m4 2010-03-30 04:52:08.000000000 +0900 -+++ sqlite-3.6.23.1+/aclocal.m4 2010-04-11 01:13:48.000000000 +0900 +diff -ruN sqlite-3.7.2/aclocal.m4 sqlite-3.7.2+/aclocal.m4 +--- sqlite-3.7.2/aclocal.m4 2010-08-24 08:03:08.000000000 +0900 ++++ sqlite-3.7.2+/aclocal.m4 2010-09-25 01:25:56.000000000 +0900 @@ -6319,7 +6319,7 @@ AC_DEFUN([LT_AC_PROG_GCJ], @@ -32,9 +32,9 @@ diff -ruN sqlite-3.6.23.1/aclocal.m4 sqlite-3.6.23.1+/aclocal.m4 AC_SUBST(GCJFLAGS) ]) -diff -ruN sqlite-3.6.23.1/configure sqlite-3.6.23.1+/configure ---- sqlite-3.6.23.1/configure 2010-03-30 04:52:11.000000000 +0900 -+++ sqlite-3.6.23.1+/configure 2010-04-11 01:13:48.000000000 +0900 +diff -ruN sqlite-3.7.2/configure sqlite-3.7.2+/configure +--- sqlite-3.7.2/configure 2010-08-24 08:03:10.000000000 +0900 ++++ sqlite-3.7.2+/configure 2010-09-25 01:25:56.000000000 +0900 @@ -3381,7 +3381,7 @@ CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then @@ -71,19 +71,19 @@ diff -ruN sqlite-3.6.23.1/configure sqlite-3.6.23.1+/configure else FFLAGS="-g" fi -diff -ruN sqlite-3.6.23.1/sqlite3.c sqlite-3.6.23.1+/sqlite3.c ---- sqlite-3.6.23.1/sqlite3.c 2010-03-30 04:51:07.000000000 +0900 -+++ sqlite-3.6.23.1+/sqlite3.c 2010-04-11 01:15:39.000000000 +0900 -@@ -628,7 +628,7 @@ +diff -ruN sqlite-3.7.2/sqlite3.c sqlite-3.7.2+/sqlite3.c +--- sqlite-3.7.2/sqlite3.c 2010-08-24 08:01:05.000000000 +0900 ++++ sqlite-3.7.2+/sqlite3.c 2010-09-25 01:26:59.000000000 +0900 +@@ -644,7 +644,7 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ --#define SQLITE_VERSION "3.6.23.1" -+#define SQLITE_VERSION "3.6.23.1+" - #define SQLITE_VERSION_NUMBER 3006023 - #define SQLITE_SOURCE_ID "2010-03-26 22:28:06 b078b588d617e07886ad156e9f54ade6d823568e" +-#define SQLITE_VERSION "3.7.2" ++#define SQLITE_VERSION "3.7.2+" + #define SQLITE_VERSION_NUMBER 3007002 + #define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3" -@@ -8447,6 +8447,7 @@ +@@ -8720,6 +8720,7 @@ void (*xUnlockNotify)(void **, int); /* Unlock notify callback */ sqlite3 *pNextBlocked; /* Next in list of all blocked connections */ #endif @@ -91,7 +91,7 @@ diff -ruN sqlite-3.6.23.1/sqlite3.c sqlite-3.6.23.1+/sqlite3.c }; /* -@@ -66690,9 +66691,24 @@ +@@ -73062,9 +73063,24 @@ ** it to obtain the database schema. At this point the schema may ** or may not be initialised. */ @@ -119,7 +119,7 @@ diff -ruN sqlite-3.6.23.1/sqlite3.c sqlite-3.6.23.1+/sqlite3.c db->nDb++; if( rc==SQLITE_CONSTRAINT ){ rc = SQLITE_ERROR; -@@ -97180,6 +97196,10 @@ +@@ -104059,6 +104075,10 @@ if( db->lookaside.bMalloced ){ sqlite3_free(db->lookaside.pStart); } @@ -130,7 +130,7 @@ diff -ruN sqlite-3.6.23.1/sqlite3.c sqlite-3.6.23.1+/sqlite3.c sqlite3_free(db); return SQLITE_OK; } -@@ -97992,6 +98012,22 @@ +@@ -105001,6 +105021,22 @@ return oldLimit; } @@ -153,7 +153,7 @@ diff -ruN sqlite-3.6.23.1/sqlite3.c sqlite-3.6.23.1+/sqlite3.c /* ** This routine does the work of opening a database on behalf of ** sqlite3_open() and sqlite3_open16(). The database filename "zFilename" -@@ -98118,6 +98154,7 @@ +@@ -105127,6 +105163,7 @@ /* Open the backend database driver */ db->openFlags = flags; @@ -161,15 +161,15 @@ diff -ruN sqlite-3.6.23.1/sqlite3.c sqlite-3.6.23.1+/sqlite3.c rc = sqlite3BtreeFactory(db, zFilename, 0, SQLITE_DEFAULT_CACHE_SIZE, flags | SQLITE_OPEN_MAIN_DB, &db->aDb[0].pBt); -diff -ruN sqlite-3.6.23.1/sqlite3.h sqlite-3.6.23.1+/sqlite3.h ---- sqlite-3.6.23.1/sqlite3.h 2010-03-30 04:51:07.000000000 +0900 -+++ sqlite-3.6.23.1+/sqlite3.h 2010-04-11 01:14:54.000000000 +0900 +diff -ruN sqlite-3.7.2/sqlite3.h sqlite-3.7.2+/sqlite3.h +--- sqlite-3.7.2/sqlite3.h 2010-08-24 08:01:05.000000000 +0900 ++++ sqlite-3.7.2+/sqlite3.h 2010-09-25 01:27:26.000000000 +0900 @@ -107,7 +107,7 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ --#define SQLITE_VERSION "3.6.23.1" -+#define SQLITE_VERSION "3.6.23.1+" - #define SQLITE_VERSION_NUMBER 3006023 - #define SQLITE_SOURCE_ID "2010-03-26 22:28:06 b078b588d617e07886ad156e9f54ade6d823568e" +-#define SQLITE_VERSION "3.7.2" ++#define SQLITE_VERSION "3.7.2+" + #define SQLITE_VERSION_NUMBER 3007002 + #define SQLITE_SOURCE_ID "2010-08-23 18:52:01 42537b60566f288167f1b5864a5435986838e3a3" diff --git a/ext/sqlite/sqlite-amalgamation-3.6.23.1.tar.gz b/ext/sqlite/sqlite-amalgamation-3.6.23.1.tar.gz deleted file mode 100644 index 80ee4ecacccafafadc8901afddf47211c16d714f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1421265 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�l12kr63kTfWR;Uoy^FnJ%12n@Tg15N(bc6@wKX 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

Dtv-Y5YEuVuWoZF+59`=LEs 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ཙDzK3)^ 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 z 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

    S0aqVq;KY!yR70-q^lG*UWT4C}omKiQ)cL!M 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 z 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

    G#We3*`2DNUctA@qM8=}d9 zSz9nBw!u%catab)Bgs|Rg!gnK`n1ly<=u8~9|H3sj^#zS_kQimK2LOZvu7IsVL+b0 zm>B-~@*gim=niL9P{Aer8Bm>koZ)IopI!G zm|ta%E)p>WvWOHCMVJ};yRqv6Eb_UnQ)xq$nh~w`w~g(pk}T%vqM*r#B|IhRl)-oZK85V(29W) z^m^Q&wCth+{n$!IsCY(<0Hy65y${v7;rWB&K|H1xnphR%^XHv#kdF>(!hKcJ7mor{=ZF!d`}~ zZ%Vm1V>YmKa+J%}YSf5JWWp-NDroUC%nyqjF%i}YtRe4$^AY1)kY~}%$-m}l0d)k~ zyh2*=)J+HNGJn)WQ^uI}W}B#B+dL)Zcs3yU?}4TrReXVQ#bDux#IkNYL4qrPNY~hC zZ_>L`kd@JXv-kG(>*M`jyQsIrC%x|O+nw$%JcQd3pPd~3*gZHrc>N1J4Z{FX#fiN+ zHUy{1}Hf3oA{{_vW%&(62!aKncj+XgxskEE&wk*#O#jgd=D=TrN(bQM*Kv z^@KfS(Q81#3j0*TM}=X`U(>!JD)~8Ntso!o%i_i`Y<;WDwMf)i3L@-4BVOB{s|9Eh zW-ntV7iNx~>BZkQUJVDuAXDGF8t}u%38A#&PK33q_CSAYnUu$@;CyT`wGjw%1Ujd` z6k*K)SL+4!rbQt%GmOAZA?_Q8y*0EcUSyz`e2U7Aq_NRt{Ban%&2S?DG7dUAm|L84 zV6d^0&89ei+}_?MWM4q73j>gWvY)|?T@?s6p^fuZldJ>pqvc|9wWn__ZRQqq9oa1Dlzi#!`mgc{*y zAT0NiDe@hheTSGrnhTgH=hRPNoVd`tvxyG?NT`5iUbfgvC?8p5QiP&5M`|XxD%Zsa z_IE;WPV@jZl`}SLcB%X4ptY;@UZXwZ0#Yhm7Dfsh&_bPyyyU}A^XSo)3D~2dq<1!= zzRj8fbH_Ox5dJ$&{JC~?Q|j~5T_^kK4v41tTBC z%C*?GE?MlO*~rhWpC&&-$5_PrZ#U~shGkFYor@Qy_hzS#F%eh*J^H~;F$1tY_*>ZgK$v-TAU z79>g`av?u_P#;GMu;+ztFeG|Vdo9s}{g7YhLvnf7T9DZo z0yeYTem0&m>vEoqKfa*t$PU@CdhDWx25xx`r>87u*R+DTnB51r|I%d?&TLKQUaVJB}*zW&>$1ft>7ANd#MLy@$A{7{+YhmY1^_%2~|(6 zDl5X1*eU{F*j{>rDz4zr%3<|%d%QqQikdQOuH(ul-6jVgnTN;^@g79Ev#KOh(Uz8| zI*dvPVm9?Sr5O7z`P#6UD$Lap(TOD^8*-ygNqCpTo&qA_bw^VGKC>~N$sEvTTR!w* zGG`<96c{;%XAv8;<<)?+U#7R?)uY%Yv1*O1&3l28co7qYw}Ck9&ts%0UNRa7V836F zSvAy|s#-JVs}(!GX@kQCXseHJ2P_?1jdhAtYPz9MdRTTusA$%`I*b2? z73wH#R%5R2V<3%9TObMev$sBPo@&12=~}Pfj-TcRMfspK7l3Yod4xm{jSAF3mW>t1 zAF}mIo)|(1ax2;2mA@#-tsnX>DFC^~emY_VSTcGKj0AhfDW8PtM?NQ?U_7;{3zF}& z+ikX@Izt);2ZNFw_}I)We19so08xv3iiM!(&~ffEWgfyo$jq5eMF>Q*rE+cU58Pv_ zhbh&hZ(pE!0R%iSG0Z07pH9iU7%%`*c#_X5XSK9KaEK&=W&6GA)Az{ z)maHxB7t_0%`Arao@EkUO<{XroRClR(Hgs5Pcqm6qMVoal5#jH`b97v{k>ta@M93lD`j|vt+ zjs1nN-DXntn6Ff|_B`+IP}<;*emWxGC;27vp@l!P1u=vfI$z%@`;~QPBG_QvK}=0w z@#)uI7UCTrIOv0|K<1A+n8Ncq$R?ZGzGc6%PI$bD%wrimm*5ol?5C=p)Z7(ZgU<@^ zcONllo|-GeF6$3fso=w7L$?-x2&McF&Du^89myM!ed?7RfF;S^#QYFk_PlT5fnQ=9 z@__ke@X^-X3(-(5N?C1ABPR?ue|^Zan=(uhnG%pmQd|Qd11V6&dH-yd4+l)(Mk>d+ zyK9AZTV>!mYh)|jt+`9sBn_7VSU;;pkfaudSm)PSN!S!nR8pRyGSLH>fhg+-Yz}GY zlvVHcyFVccfAlS9_h=^nd!@F_@!J>w@wVIhr5O@3xr!cDuSJiH*>V*s=H4hIg?vk^ zmFLhYQ7&7G1Oh*t{E?~m`8otF2gKl!eZ97UVav_M^p09tiq1jBae{U{=|@NgJXIdL zOu>0lgn*mMnD9Jga%g>Z;~zLm^>D09Q!@8QkgvqyGw_k#l^b&5;g^!lN*(v7I__IJ z+zUR&VwJBU-W9VEXyPCb!@{|}iZrpoXO*JmQ8Ato5{y^eJ+BM|G1V6j1dCM$Vi>r6 z28-A2xyRuLV`)xZBlw65LUOZ?F3%5KX}cK+m&3ev-qe%{t(ToYejI9H`RfHDylY0} zc<;7y^&F1suQ^+!_UpG8V%n*4?Lie-uJU=m7``oo8Rus;S4%(!sXa>tUGp9hlv3p4 zXn$4c-hUEHHrgM=Db@bKXS`~fq@r`UEvn$N_^m3TG@Yu_Nt(mu$)sPtj!OPD1T7!< zr_%ghZZio2T;)LdH>wZcsV-D`A^Yl!w$qY(i2yg}D%=E<)16@cly1x_10mm;N0F}( zgS1|Y!VsmE&lv4!9UIv_ zo1{b4D^!Yf?W6AL;UMV3sH1LhRQ6q`M|> zpLOJ?4*ZL2zS1olPdO4u1*zxJrjZoCWsgohP7b+q&<=(m7!lC&IW8epQw=#?X1MY# z#3yg*C!-qA2sHLUN7Cju+&(revlGl;>cxt0%%7aG<$YvCdSV|xW@d;@$gD(MSF8a% zX*Q$kDyzuS+ztU+tkASP#d%su9BKx@WxzpVnv$OjYzD;Co?~Dko7ZYW&|K!JMNl09 zS&d*RL%DYP+xs?gfI?qc<%8GFBJ&&CG|7;{ z7qh9kY@mIP=b*^qvrI@Qk;@nvMyL^@zjc61cf=!w0~oc%V;Eh;S|GuaP2n3aiqqvspow427gmi;f(s zp#KYx9Jc@8>&QWu{tJ#A`hdY~JfcZS{3J+FGCXz*nT^x-{DfSTJHa;Ft)5&yhb|aVO$Pm0{Lq6;pAz&@>s%eJj zZ~r`YauSy2t%>-W{EY#Yg=9HCoMjC6-{l>;2mU{_hxq-kv(d%$vbxp%y-ccv5Xt8d zL(^P_tLxh(@()qgaoivdk%cD!(Ja(n>2yq$&83Sz-cXx3UhFwkxGdIyB>pus`&GHx zN_fEGqV77N0TR8cgmJ0$sKXpk^u$hezQFukl`!w&=$O`OOdr>l~Z+#=~e0T&!85WWPr6^p2UVK`K7UPaMNa9KS*txcpnH`DWsY;$)-(IVOp4Hm!mpj}B<>#t> zeNapxlyE_*LkE7?#0D!62;kMH8s)`#G^Rg7WV01X_{Z-N_Z%kn328`xPypDqFis(2 zpF^EnK|gXRb9exbo^Ox$4_+qyA+W?H1=E5BEg9q`GoMMA;irUm4eu2)mD&XJKR&3u#Gtx z={I`(4u|ZfX7Mg*yK@dL}x-wML;&Qq_%asmmj_-o_KBy#tu50MH`?|Yx z!r{*3-{>Dq@-Jkc5PmVvMLNyFi)Q~gEWT4WyVg8^V1(ROe9P4}eRYsgE~fJf%GIEhcdiO5TakMlMH#QYB+^p>9WL8eyRy-UyBk4+%S>?n)>bLuj%H*c)*W14|E> z7OcyCH~LTvKNzyFwLi&7%-RJdCU!gp2ToPiDU$!?z}tLa&P zwaLPzBEt&F6{1K5TQye2*QScEn*z@`R&UJcm#I>N)h`o?(RKXl8Fi2l(vZ z;AN+S$1|fsXUKrqdHa9X=2pDi;w9Q_Zp{<4$B7^(JBCBjGhqyInUtV~;Mia0!_RSd zM)FZjWTlZ6nN1lZ6=GGbhcp&teC9`EjIVPUyZo&IthPd7C9q3k;1T;czX&_TfrK^v zTE~8orhuDH%v55^<-t;GuunCHd0r_>(91^bLeRbB4K{%m^MKNg4ux3hltD6?RtOV5 zQuC0O2cx`APZKfzXmB4f@RzsuYGXgEZE_VFzB+-uCO`t|hT_GC|!n>SxaGt&Xlv+u>te zs6xIj+yUA8BmmAi;6n|wTR!X4%#b7Q>`Cu!*CDxwSs`aG4`wl*=GXbhl!!bi1g`RN za%d)~#02(~Q3I(mV&>$<@fP!<@f|NSGNG$Jek9{uLzSggXP1A13Bb$svRY0S+t( z0d|sV%|Sokk4~3p__69HO%6vdrA&fVD#hf|P&c@108a`QI-1&QTfro8|-;~nT;T?394P)=FSfx7{60V2NOWq(5md&8nIOyiW^B%~M`o5fs% zcmwgz(V6E7lFgl%3p--%I)wbTI^0l%G18beacsphTId~==%A*5H}eBVfp-H_!=n#j zz8#o^ce^jThNl=%Y@3^Rl~6}%(prgyHM0Xz>&DzEkP1yxon0AbIxs??z-oC*MF4=Z z*bog8RDuiaRRRM|h}L`SUSf(kYhVkmVs}Tt=jR~u-;rnmRi^TU>Xx+U2r=blIiGjY zU~*2`sN7fG+PqzuBtL07DaRXWGNe!l=r)TWir#MrS5OOJSmA(Bh>s)Gm?C3Rj4nu4 zL_)oo3Lj+IpgbsKEIT-#K1FVk{mV?HPn*##>HNIY;TE>{_D&BD54ujxxbfeXggfSz zMa^IwDp_h}h;QF?d;2>v?w08OqPlzC?br9Lm@k<{HJ@~UK8byfmrwZdMyw>OYi(I; z_*#3OV{p%Nf@}m*GFEJpgvzGL&a3Xuj|x$;qIVoy^!#T!`7EGy-+vXFQHK6s(Tn!e zk_5VY4Y8NKlIxJmqMhI1w z!2t}l1gAeQE$bNKx(o2=Ww_cA!oi}?0TAR58I?nfUx|k_+jg4u{dHcN>vNC~ z3=6PVO!h~I<7vY>Xa_Nh9K;v8BEYjCwk{TS5l0l8VCu?C3`NZcsIM`rVCI$A!I{sj z(|>K9-yk+I#q^I6?Ko12@~m$h@15=<_HBRqr}=yP;$i|EN?>RmP8 z%{?o!zmqUhh=!Z&nrmkNzzp&#ySphSvOSX2e&}p`I1irdtc&+xxZ9+X#22ORm%YQc zN6Cv{WaE3wLT)khmW69UrxULV-4Tk4i1mYqN}p4PTT|QN-rjLH*dcUQm*~n*ue!ai z*A))M;h-DOvBLcJow6W+7QDIwd4jtzm_+N-eA9POk2xIREj z`{lcQGM%MEY^@oaouDGA1-~M^4<3@lRoMV4-=T>8RpM*#4W)SH%Q5%V3lMzcmZ0mL z+S}HO`9NEB{X^Gdu9o2#;4X*|U?^XQvx!VS-y=TMwp?6rOTqQzvWcRm zYx;GW{9c@q_9`(P^8hx8jb=GpLjcwQT7)xjL!)@15UL-lyGjb-C(NtzG9OF()Huu` zW;Fm$RFojuOwZu7@?i^gUSnWdEH;Y=T9ac4FV{_21u!zur?YP>cfDa@OmL619IOdd z!IqqCY=&?xJBg442sj0t@_rUxkyBIoh8RJ24l)M-Sc|hJcnikK2uj^i2)k|pV?f?E zrSrAfKQL_LZue*6tCBUs4WcoF*20ZDP5jZeg9`9}m#hG%C#;}*^vZmm%&P$T8baR3 zU1TGdBL9tTq&UuhW*5L=`557u(_HdA!RA9)dftJ;>GG|eTRheh4+7>$HcXp#UE-q8 z=o~&Ly7CMge(tM)!JIzbL$1KFXQqjDrMuyN3Eqx%p`r~=)>d*wAwhi_+2mjWR2!XA ztApVVR)V0Rf*G=T=CHll2xMz+00^;pW`|b||3a^w*(f(Rf>};Jzh@b__OsL3C=pr3 z$OLb;4gLAC`wObRrz@PcElu7Y>>JvoWg{@=(nGs}mY7eV=8NW(S28(I%c-75ATp>V ztV~;c&RA2e=S@#l{lHOg3^W6@6kH4C$3W$bt;Ea>kg_3UD@P}MdeL^0fj3CgCV7Hk zj{@q617mz*bEu%0kP-Cn16>EKCmH~5E-|AD^c7RC`Z+=@desP1aG_p}Qo*wBtw1aq z2=O4@xH)4PyaY0>lT%aPz@PC-`K6Wo+FVsoS7dTQ-`l|ELN@?eQY6O%gR*dT1l(AY z*$DKhyctrZ`PEsP1cKSVW%yTs>z#7?*usbwcE7c~{zXhe)IB##HrNt7*Af(Jw}Eq7 zV$Ue+;ymlSjeA2B*6xx~Ra0YfC33u}Q){}Q3fFI&_XD=OsZBd72w3l6Ht|>j;s+af zJ8NqS3Y(cZp9TxG!nT-gLF8Jv$)-E9p5@$)Sj_|FjbX@MoLWrzgxYh?U{75_6|mU{ z3>=KkUZsFuBc=~-Qy^9!2IzliWI%xKH+@hsy%D!nG=*}HIvwnT5!(1#FeL31RmL52 z8L%AzuEW?Nf^yI0Lp#P!vO&*2af|v?QQl)StdYR+E#C?j#F&EOe2NpElG8y3;(a=~ zTP(iUD|q${RofpS0!mGa;Ge~Jz;00=H(_gDj0Lc>w6l0!PbkosZ}NqmM%`z#W{uzX>_laX!=^xO(mN;}{KcC@#&(F3<1W zxkft|p>B^czk}$!*mi?l2gZL>1(^T^2m{8**JFVW_fS%Q4#8@Fz;QWzT0x0|1GoM9 zr|n;k8#>J-%99TtMioip&=ymTiK^@ei^OD(&L~q>EI%S#358m8+o}YJ+q+!nmu0jy zFJ0}hK4b=d|t1j=p^?vJKRK_~S%yau#? zwsl5iCO02+_G`0cpQ(_0T>Uo~1*lT}zLD5kF0efqOf2L#{&MSNt)v@bB|UFpmDX*l z)|@KdZX5Ok{|i79!S!-$Wqzs^!)l;Z&&;E3Pi_xiW)3Td?tt0&m6W}PdE=qqEpp#wwa`4H8%pLtpv&_0`QOGv)9f9_-rRLrOx1|sy1 zXs?ll3euphv3?_;+WQAt58yichIJbl>f!2P6GNm|ZI$u>(rg`Pf0zmAng6xR{vsb4 zmSYEdoN*buOmGi~3mr#zDZF^P<%H+9wrmfvRwQWlA)=g1w&!l5aBd_yIHzB-HHvD8 zL@zU?t_Bit4YS;Ge}XZ(%=wC(mE@Dl5^R_Uf=$O}K3reK+H9`IranH>pVQ(BSqG#o zshP9i;55E(%ll5p{PpLbG2^qFKnleh+;*565@=llkKi)Jz0Xm9s$DA3f&Vez9Avjs zLI-o4$IW<@Y9%_au~FN5k*FtYf3A6kWQ#A zH~dem14Co2W8STDOL6Sz(?bH*@5PzN3!tC(oAmCLspWtKTy`L+EJ^q1l>#Ml6J_Vn zpS_^g*ks~;O4Z5Dpxh;JL6S{n z1L)w93S5z~5{)<(I60z@0vO-Y@QjA0CvifeZncNepOKj-06P&8>2nQ)7D?adQ1K;)OTkta>$d?yx<< zrQ3#^W}05HniZ9es3yN4g{Ah){UAC09P*&kpZ)*Yd;7LFj%;7_e?CQhBem?dg<4Td2AuKz?6=li)vD@hNjRC=`<%1$>^(-^Rn_&n zYQ6pz>!>$}i&wsW)wL$r*+xW{9hgVpH3;M6*=_avU>d;{vNHrcJ?Wrn5GB3l#PDRE zf;1Q<-q5MJIL0Jk;jR(tV+N>0^s2kiF1iin@|Fb$`MwwpN|#F=Tmww^p*>CSInX4H zVMO}5Rm)`iw`hRgXjEmb0V4m_VC-aDQreE)s+YF@r~wbz`=3;7mNC`{+*6a!W% z0?L_zi4YDdj+vxsb7~BCI0MZCsg@}ZTs8Rvi0@_Qz8p zb<$-Uc&l6bk^Dq+44Z{3m6Bkno*oj^h1k0;i%(PqUE7%{;J6W(wV9pE4|C*=`k5&1 zKV{0xh_gjaGXdE{kIY2evH1VI5mT?Am_{NGUL4y+;sfQjDkVN zgHbkc8~i$j>$_VOYE5C+&MR4TiqxU_4so}@u)$#r3Gy=JMRflb;KLdS*m;ag%l69{m zLocQohu>g>D5mN3RyRk7*!O>7XF8at6vstj5sx}ncQk1hX|E?Kc8SeWHubBtiH{0gF1M?p!!@W%y zBqH@X>6BGeMdftGZU^Z#LkKLbyL9f*K~vg0+I2&0^*wH2x5ZxkkWhMsvRigZ{6YiYM7My_M$kg@hJ0@w7onCZ6M zm(Zg=psLZcX^|@{C$h55{LQr#%GoNa4Ien&G5`Nq9dG1o?P$Htua0J5IEx*J`prtw z)Af6_sk#GLz=dHg#j!WoC$P?nozU|)ZF@r7x!DOu*wbMI7`DUXYJI4k^i|B;vDAwZW zbjBM90EZTj_bg|Ve$Fr-Vjtn_MZy(6W{})sn)%H*nGAh7vYV_w2dDgktl-btA9{#d z9?)}n7=|(K_Byj_Cv;#`pRlfuTe|i)fl15COCX!Y(ZbB!H$#(_+65Hud|n)z{Rw+P zTHI_CzLKuy=`=jcm%nB`@d6H34!v2&aPbjwQ=EYIq0)9EU16-V*Ir}Tz^PkqA46Z zJ$<|!uv)M3d^$C}F)Uu=Q}a={u*>EtI!V*VK`W8@skb-3G>7aIHFG$agsJ!gA-NmY1Y zR5d4``2kT@gmBpb`T&?j8Zg*PlxG56`&}cF-$2y>rQ{yF`q-|L!h#0dB0WA(ArYA+|mfJ*D$~ zTZ;6$D#UCE-VkdI6ofUkgX*iv(-u6}Jc$TUfs12Yyfhq`uRU#QXt;QHfAwY03>Tz> zlB(yTvXuA3>bd#2b~UOv?Lc>(#f_G5-Ki#mTcFaV9v+nCy|Q}VyLF7$w%V<=${oTG z^Ikp{vnmp6?yYAvr{62YyA_Jvo&kHvLYrt&BqY@H%=NB z_RecOge>HzEOJG^X*I?GpkjVn_X*75&LecOab*;0N<=Z1e^8nO%r?3>43!)nq@=(J zyR~FG%=JDX-vhGzUR$uk3Z#{3)FI$4KK;QW@# zR}e*KJFYjdEAu)m0ZyEX*IB{jZVm2wlc>~QcHUcY{IuxqP{R$HLIc$TC^pd!BF2{j1~SZA`Tp8NJT4>}g$~b02r!=j4XzhoJ4&gq&4oV%m-X zkDOZ-AGBVm~Pp$^?d^0YN_9(;y(=6LInqk0wT?PY{hq!ViR4*m(i9 zg~tS3nyIsw0pI`P0UC*4^fY(o9#(tG`ZXNn?;y&un1?|Kv<)BtTJSGC1+TLtIw3^g z7Shn!j2t%*s+uVQBXE`ToR(!M%kk=4wjMhH+D@}lZN?%ETy%v5Uop*UIfLdi>i#ZwrDWc~Q$9ILKt01v+GEe=eH zL6tF|h%QWx)pGNg@}W&p?MLJzKB)4-DEPtxoW;C92i9A;;Z>C;;r=#<(w#MiO;~)? z)Nc2LT6N@T5Uq$OZxpw}+4FyVsxGHp~+MdXYjZy3M>nP~Dg^4H)HZ*OglH`{N?9^*iTUS?Ms z7Vz`WZ$;Fik4%e8LwRl!26YA<-6koC2yOw>S0fK=TKN3)_$|(8+Gpe@7sACxF9^JX zTj8CTLTiS(0Wh;KU}Mp>hk58cz$G$dRTM;Ug`8&TD8A6233~_O)H48pZP|Ed3&PA^ zTc7Wtqd%=FrG}!(q+`MDz40WM?yNWfOyvikRJt4MO=lsXkJDq)t2Q}3AIvtO$3T5f zZy;{1rmW_ZUC$GaCBx)4u3w+ufCAiZ_fIyVv)89O0S9IdDHzNM{_*(@+C>4B+(PtA zROX$xrx*!kJDS}{fJ`^D|MPdHcxA*6VdbNP*wHRvFpm51X$ef!+}3&)Cks7yim zpT50QuT+*Ox2&hjh-q);{Wum50zprg(Y`_Z>p=L>js7Z zJfjD4+MXo$OT-e8asDM)-&{|gB2-tHA6WF7?moROtx#B$jE3{S1+IlX(@1^dyN8ND@J zru<56n()=nVKa{&y(I*w94&Ls!l-(|US2o@79JnH7g&a1FMgU2&L*YAbAF8qMTAFG z?`*V&12pvN3T<2|hYfuH4B82&TQJ>P7LcoDQ_J{?)iHP}A0JKU@+%+Q@UO_C?P`QJ zXziKJ332KpOp+~waF}cc6Caiw`t_`{i9jZZx%7DF&wu((+B*Qvo1JTE)N1z;;h*M* z+()R3KqbZRv8*hX0(;{K4biZu_}F914>2r1*7 zirU=!zK%cBL0UrGBO`L@?AMeYW111H5d;ic)C@kFF8Hq72V}I-Eh%bD@2lGv6d&Xy zH$oeXkwrQAg9^)c9@Qw9P(}szJ0&%SfONrzmZ^RtQ>d?Eo&sTzkN11eU%yxrms@}p z>)1mq8*ewspYqHc18n$Scklb2dHCp&DUOb}rnzL>kHx$$M&NaHRdC!OPL4BD@aR#g zh!g10;+QC5#w&2^7qPt4L7YT>Bse?>cV`JuNC&Nw-+5J-x<_W#M(V!LahUj27b9Zi zC>1^(P3M)Gd*hjl&XMgxv`vw9ozca#$;wzeyn8e}eni8&$HOCfD9oXpPr_`un#^vK za)fC;2Xl!RaM~5ujVIo635_wL8gcs(or86Jg4_~()?0|v5 z-FL^3W{*fSeDUVbL;4TtG}36`W-y=2?>5I~EKm89jt`S>*>DEiDXQV?5|o%lHJ>S2 z3qUd-RJ!;x6?|*+SuS7J_@dS37b%ej0p-BK#{=+Ge}VAQ>UCR}E-YXB{Tk8W+j z|2`U<|1tL+P*;L$0FI8Km=SH`)qMJnqsYLg6+{o$prc*hm9iqEaEhcb$|+E)Hjq!E z{6T({q8A%Z;v+0%?#Om6i}1T_NN^YkIW@E|n+5QR(!qdSU+@o6c6yal=YW8Tuwf_A9W}6NI?1g^gPcr2kBFES zE3Y=1r@ghtNs1gO*xP#ea9>7u8u1!DRz`Z6W<1z3Cy;OpuQHitpYmc}CdUc%#R1fy zet%3^OcThdQv&{n1J%KANm^J$W{0ztQ``#J@UT6Y?svuN(@{)fJO9|<>@~Yt?#<(8 zEXmr7v^ty5I>%Hd@-ErzB*(kI_nj#G2z@^G+28Sa{76{y*w8=)StAaEVI9#CrnCuA zaxWt(`tOY)3+Wg%Md_zBA5q+E$=IAu{7Dic5q->N$sZnn_vin3l2CiVacg86mv2}k zGveyNls=l}6Vo;!&7%G7Qo4rey};^Vs$78$ZlNz4?w@=t@=YBDU1=-*&fHM0gy#62 z_N6A5th4hW8*d2ORFW9;6}k!jP)?Fvvr)>3XpCN-?#!z2d=hEZLIPUB& zAi&WIt9waoTbL7>0~Kfo&6I4yexEi`fQM)5V1Fdlj8ZpF9bOA2lQuh>Q?)=u1`HBn z6WINWXtVRg5_d_&H71**!|Fp5G0t$VL+x<7d8XOj0HRt}NtkTfdXdfO15vlgyLdz@ zH0+ketwy!&L{B06#bta+rFa$L&EQ~z_Bbv!1od|Hbq*&{ON^9PrOJ?lh7DBC7ODX+ zFRt$eSWKPgB(A4;NiNc;EPB<7nuycW ze|!d7&6^V11cUi-KsE@|oBahb(s^>8zz;@~ zulFe{CaMRrJ=GjoBrkZgPXSy|k4{6iM$F%zbZ#1NJN`AE?VN)Ee03`NlPd0tIjfaf znuwltg)8WH=RST{-rI(<4e2rh&8qT0ru;D&T8HfLlyYgAiJy~2)X7TbGM~=KkYw($ z{0x4sJhef5W$ePo2CaJ4d>-eaM&`0Lr54rLt-Y6v1le$;+U5&LbluqU1M_>!h?MXz z%am*4Q3OzZ=Y@HBUhu1}dJay~gE2&Uy20cZw ziA7f7%pkec8Ee|T- zK{f=Bv<8nAb<0iiIQ3raotSQRU-T}{duQj(cnV~Yb{!)+R!SM3ee?aKVZ`3iyv#pk z66qu$#gY~~qOYk>H_x7Qd=E2BtAuJU+p-v^jWnitCEg5$+4v7P0N1oRHWJ z5tXyr`+;)HFk+$wV#5Pl2!>+_Gix0Xkv?cG;k%qNUC~X25|5-cGspiEphiS{fi%G! zi!(SEaO(Mpta94FPp5<0(_U2v!Vx@~m|`cBT@{$K7SV--kb@mzC0B`s0lmq|#CMo9 za?c4ObZ`Ks{ou*OPaAwPfe2w(n@-103ozR7V$ybcLw@kos${Kt+BISNz|*PQJZ@nH#ra(>*$cTDgem*NiC&`Hiu?f8`TNPwwZc5d(mQkHu3vwWu z$rQ?XT!=2+frDEHTG(hp(uNxEQ@T8Evl%5=;*C|gHDJ2&Yf*xMZzAqaw8_OhyS5-vnG*4L z1M@gdXBQ~S(_o6_*m~2d9X!F^#nd~Q9!#^0@?&{rmt)BY5@E1(+i#m2VQ0cz^cC<` zAU)MVJ@ee7s)(&YM7*FS1|5nt45?+j0XFxg@kVj)|*9Z;&lcuYIqr75pG=Gw2>rN+)6wX%EIVAPXm$E(*bRv z{Ni&m^g{f(ULU_c>+N5>>YjFA_RfLj#x}Ip;ckOv(|*l0XCbS^B8D6QAfsr+D+JPC z^CH7Q{W}At^vu61MQf*(z3bE&N|JjTL4+qts6(Zh+)2VpzY(zQ#_|6*GPt#;v#j+eMQxYy`*NA- zTgyVO;HFZIq0;yKhYN_}37m}amBszBnpj3HufmmgU%UX(^7TsvTi$*54iU;XCi0iV z66YtDe3MkmPcMwbZfa2?(+5(PlV(Y%mU;SC`x@VK6WdNK4B;d0)K64i{Rv$&)tzX$WnL>K63wl!)JJHqs%n zL89w|drJ+-81DG~$LFRSHB09uy-gkkm1?k}q;{>vFN6vJTg7tL)$dFt#xPi~FLAge zoe%(Vo>W!<75NbG72B2Oy=GSkkJ4YpSMIwu>ZTr^Od=!{I+=EV4O z`u1Y~r{nI+!@ZRc!JF>sVfXn_&#iNyDg516QAHCiT4}GCx*fcQ-1alBF4R0WJ>B9P z&V}POz-q-u^zUPbV^8!qQg+9crR9i}`F88G>#2XIv3lBi+G*wRbxHu~6Pr)S7MqX9 z=~d`at+(!!hbRxNSR+vMv(HiKV^K(_a5&0G@E3I%`qR(1k-`AjCA*mXaHS6 zqQ6P`QqnQ_jG-D3d?|HHs(ch;o#)OuLHE;!33r@QiFdD)t_z*>Ry(0FyXa0Q-4?NJ^ zo>dr>I`boBB7m}#aVP1X8Ijk_VAF^DNQXnyr{bcR?5-{3r(!CQx{1M{Ev{(f%wN3&ngi}UPe7Iq9PA~B-(@Xp+9rk#78uo<8n zi|XSo6R!{X0hZQ3=8Ooj`kduvVSO``NzL~qHO|8Nz}D5&hu~(f|4u(!nZYGxaF&*o zk(pRh32Y zMGDufb789iHs{*yMSMw!DFJjt=!DRnqjMk2+b}NP?-#-Q7s31E;CJtDRsJ78gKKy+ ztL|F-D80?1Z(mT|7xB6;sP2n+-QM5uZSR-p+heMGoW*t?BP$=BFM8Qq@bbl?nlBdB z?EP)Q%VSkjBkWm{o?T692>Juj_qhgkR&3xDG`+5c9Z!bjG(9z64Vo~gB_gMb&X4ys zZ`-r;lhfX-oycU!NIIIUt-RjxUe}B90igZi+3|_GjVnuVc(!1Du=0PaCBoaZVY>%D zq_oMN&>{GDE@fgpOh5?l{q0}9wB6%4u^5~%o&_hL#P8YYsm?syQTbSJ0y`eYh?3v)o# z2l47S0pvn5zof8;STQpxSm-pnN^>-M#7fajVZrD5tggp6cT%XP-#D3AWO9?0OYm3SXl|L@x1JW4x-2^Y6-*EjiioNsDd}Bp>Zigj~R^qWL16U*D!-Gfr1$lj`Gy5^{FkoZDgy z=DC>X1t8LebMKc}C8c+;VgJ=jR+GZF?bc{zSWwZLZZ3rcg^#Yl#lCoPaq#+h@BHv2 zYRg}2$VW;G4?4bz_G`&&Eg08TUIGd}IDEf*H%06|fa7X3*DEUD<`TQ_guM$6=HtHS zUa+N|0G6tV4GVF0j#K9!nCfJzbfgDn^_15MJ~d+!zof*xo`ash^p&n-UC-7&w!XuQ z>ccSi&E2^%G5@<8dI8y*7_*U6L@FT;`8_xsMDj@-W#f0V_g0B4ZGpuDe1j0?&9&nh zB3*l7Pq4Q4ajf_6PrA7jei}*G25^XQZa!&AG0SPx@78br2LE@2fP{4{n-?4K`Sj9MGJO{Hb^1$ zG))A=vz7=-t{U0#h5~MF5Dmny=&n^9f}H(Fd_)2AeTu0LuO=fjFM2`!5YRN+G{<=F zqB z-BlGIWZI!FOL&AorueNk#^w=i&x4f4wXP!qe=dxG8j+VsbV+n<%=)@K@5;(!&+Es& z3b=Jm&Qq9;)2u8;pJc7-#vg8ey=jn==p=X%8O*bY;1boWd}WsG^+1R!J6XE(?am(u zkH5Y25)TJ6C_I8clP;OSic`13r$bq^?UCrHsQu>f^!#=A=p39+92t34lw}Th!4L;K zD$;?^1aL9~I?i&60aQdKdjCZD10HxqET_i-Iy4OP8%JuA#?j#qy;kz#=;V1TIqkjZ z{ry!7J-1(W&-cD>Qqm-y#G=d$H!!eWX<;mm?P5!klGv_-YX+wAE_552^EXc|B+ob; zi-Nu!K*EqF8%LTWPIGDNpBLWF5oUPl8d!1}Fu|;$Sgb$x7qt%xs&V{m3T5dJ8F0S5TnIX4n zZF>M0-R{ar?y64|D{d>^v?FjFxlUw*%)7#;7`ejweCYzph#iZf&M%MZ~ z&ov320~aT_u+JbK*UzzQov~N&6FxllHEKHd=u*Bk$aJ~1{9WCUtGPjgF?uPi?vU4I zfeLN`hgZ#Sx4N2ad-V@^BUr)b#ml3@+3F-)8)p4|-aG%X*E>#b6EKH;UQ=9+KvIMk zYfuK7dDfx&H%~iZ6My%E&9#zpOUnFIQ^xR``ZBTQ|8sHqwqM@&_~8NH#dyS#K*IiB zm?gS`8i(+2s2eaH*!5c`L#io<6-?Xk+$IWIuGal}b6%|-@3-0IrjJ*#2Ti|SrBu}E zg1s%c`{>@Z$kPG>K?ILYW1hwmE7ZcC?|NU1Q>hdFWrYL*6Bf0RxUck4-H zizUh4X%9l+QC*bG+Ksf8Tv`GW?8Y&z0jAiQnr_bs&x@0C#@nCZjhZBz&(HoE>wX??e;TL3QXEh)u1yKtGh z0N@aYWVp=QIpoN_RY_6?jUwXNiJnMp>wu1ZSpz{g1&ItBEfTl{A$G}8o| zY1^tyV1?`FM!MYzV@#?6dUe@ib+02q*q-9d=WPOs&XCcor2E84W_#VUo)PkX{N6}- zSvxt0e~rLFzjyfePO`PN#m|oU*>Tc4GF5Mr-tm4Q(BVg(hadU&9Ssu1O%dpDi1gXW3XMJ3b1e^O?JF8|%I4K8y~*<@I-dU031M2?BWTdBT&0 zs{i+(g^kJIcNa||cA~xmh7rp!_fpoCjgiZeeprh=w=PE+>&71DU$??%o z4aTZ=X+h%Ym6GPy`S>_qj8$V57OD}d&d6iteqtD?PDklQxqQ6%GgXjwTCKy5-8)z! zP}fmw?!{QEhUAp5p!i0M(%%DJVl#*jryXSq!N!QVBv1Zs{lXdhrn#h;goAsY;P{m- zn;2`Mvg+?KCF4?Eq5X&;H%UKS0eb*#ncm-GZ$$_DfRCFqMe^o<;Er-&n9=q`qIr2I zH+=Z7tNBCtvHgGd?R!pIFul0vkKOCO=oalRv*tc!?ejew+}IXYvVY0-u!>)h+9mLf z1^Y=`SjmRrb_G;z+3#8<<6mFDd_}%h(J!jeJQ8*MN*j7%#n=|F^YV!`6mj&alg?fg zvjWXda`0F8Z&}45NanK|ZQw)^-cNVl!wYdIU35>~R4f_R5=f0@X1g!JRZ;I+|Hp zdh&yLCQU_Ay|$MeKWJ{xV%3Ew-f31A0MA(G+c?6LN_w-{JVun_4wf`QvmN_6aVn_l z7FZS__8p(>ryXM;)HTu#6@J>W7=mmCQd_l9#gk>#l}12MV_2T(+t0d-0U=HU7`fn~ zj}yr7nPD({_Lax@33BWwqhwZns-)y0g1N{yW)jYOfLW zzPIBDW48)j9DxfigB;puY{48Iv|THeS6jimfc0A3+}*E$eI0)tWOfLaiSWSsB9G(6 zR`G2VSUR8z&C1JNUY+bt%18@#(Crs-8!U2leuK_!$q%MT23}lvXa_IW>amt z&4so(((tXLgtT7C)^Jq}D8IVbL|M2@?Wixpyb_%LK$1wPTn$Kd@(?YKQbZ{{>H4HK zsOC}tUN+PT-`Yf+_(jtd&P{QPMO;>kf()($58=8pK|-i0-{^{GraK-)Gu?a*(6xW8 zYR}0EC&ZpZeELmwaw!D}DM?Y$WwylO@mcTm95gki5lw6#y zI=wu6QE_S+QL$@z3l*odlYjiacWTwnhK+;R8S;caD?kD7tTxJO-_iygAvI4C_Kp>ggrsPNQ6L zn8IT?H%C6BX7JGDlq|GNP(y1<_Oa_`YZ5NEN>wN#={+ryg7-07QE@leC{6gQCPhG< z?BvlZs4s~YJab=1eZ=-@CxpmW@2cvVFZJvf^GfHZuX~_Bw@GKxv5Qw!B!&{IlyILJ zc6yqpl!^xZ=F`5pEHSnD996w(GAfD*>{D0R+mGfrKVk9$w>YKM4nHPzfZXu&6&k7)U)QWD$TY5SBB=*9(bkwR^GnVxOj&hQ?Q)X!VT(nm zr!!+;kuHP7M|T+XaMe3N8){JhRIIl$}tmgFKlk(my$H3Y%S-Q{JV3#fogP$C`D z{((Z5tf|V^2`vTz;uN$oOdSw5!Z#71pE?ax#dX!1hkuQiQ1@zE-KmHA9$obs1!{p; zY5W>x@!!k3<1@#B9)y#DyDWm*4o^iDmk{Lc2}mk@70Dxvs_|nw`Uv*l3H{-5(>Ti> zvkkEOr2u^X1EQ`jM_%^zQ|Z7}~&_%q6gc0QC$q-^j6Ai{W7#Mm2QdQ}*}8 zM$xZBZXf_FH0%1|>p8mDS52t3ffN!)5!hqNs<)fu&%my?xoJcva_0A}bDA?(F8z>Z zR{xf3^`9N@UR@b>TQ2B&F2WB&w2HDA<4^iA&WdwaJ(*6cJ8j?VOu^f5Rh8IR3JO)( z!*)M%+7$VN=Y~R<%|Fi+C44o_EXA^Pu$*6Nu8D01tLxlAjqs8bAXG`~J*r=UkBIU> zi=Zq&NJ_9F)pz zdf}+7Bd*jb_y!W}2iLr}DDQZ^)@w2^-?PrkCKk=i1!AN!lJG?>6Uq0MjB?CUi`3EL z#+dT4gtzG|P>?B=z4KGzk1FNWifSJVU=UtLEsGameo?NmF~a5`F%1Z5%Mt%@m?U=v ziOM9*&w1c5OZH+-8*?1j}5b6luo5xlu=dXaNObO@fX{=RMwJ7n514Yc0 zV?$gUHI5K<#_i0kp zIU@x;3k`yjI8qeMkMg@fs4GRX`u3MuX);G$7{ap^zZUcmVCTBUj9dp4(Y2&gh{ zMw!)dt@4{RbrLL!cn^jeD;-NUlGJKASp8PTXK4fP?5eNY`kvsbH* zBB~G>94ZW_J09%np~51{?tr`5U)n@X6x^h!Sx~j9G`a5jCDCVPSC_=*f|AgqzXy8sP zPuu2;p7+?cNt5KgvO%$7B(n{@mh$APE}uB+`Oo9u;CJ;OX{(Q5&D9(h=_{erA~g_W zVu6~vQxjMZ$@dLj`0ZnmEFDsJWSVh%bj*KlStECGt01FLZ;Syg>A+A^l=#7aun(X# z={r8)PJ!gc+o4z`_kDg)aq9e<%J=S6`QC5&^1VBJ`QC3C^S$3P=6k-H(hnjQeuChS;~k#Dy|blYRJn#dZ2Jb~)8q4$1+Nir?%%?@{tuf@wvQ|I`_wsVT{t49)4Lj>)dhZ~5~_vPCnibpnrCjdz^=)%$tT)-Io`+qI;MRgPoT9%>SzQO0U1)1Apk~{k#m6XQzH} zQSa$m6pWM8n8j-OMAnRn=V-~0e#4~HCzp+<4q9a-3zz%O9r>TsUjI9%_FB4g{?E(( zRlCLiC+*k&Mrprj75}YCzE(t5tQ6~OPIJFuz)(HN+65mOW-RC5GfE9URs`&HHm|7v?R zVVC&a|4XD@5l`M%?xP1gdU3E?Y%)Rf9vUeLU68WP!?uB6+W!rkaO$y86GjbNe_K|9 zVKu9QX}Ac2M-97g9<-ay|J818dQW7(zoE~F=QQfr#O)$F3G%@pBAH_rc&C~Z%(=xq z_AXvWHm$3qS;v|>Jyl!;)p${}k5zZFMMaO!RnZrVi|P)DlpQbnLbrOfu+7D8 zqoMjb4V4cQ6IWD)W&V5WtHNHg+RALaCq8h}|0Qax|4}sk21V2MZ%{N1^{4AVh-x)M z!Ms$moZc-r$elhKjP|ZcHNO0ps+bHX{(p*=$?2H(!S#Cp!P^FjcT5$-0#T@Kg!lXT6z2px1B%hvG&NJTiStWZ zM1ZSB-KF4X0Pe<>`Sb{$n%O8v#WjNJ4`hTi8g}+cA^c7xd>$^vWsfj#0-T|%bYxTE ztrGD-+yQGAyH>~e++o3p&Ti5*6yl%%oIJ0_8N;(l*RUbmh6ULXr^V14)=RqE^)v4N zvj@@kgLyw2G=0H3TKoC3+A7y?_)X=3Yh?6Fq30DhU2mv%bQFr+^If6}TmVGxP?b48tc!p9l~vCKnH8{go-3eM6|d0^ z0as}(0SK$#IS-Jt+Jc|$Pielppw#Yq&cPuXrYij$N%g#8LS9n98cIgT?ZgVmZE=9#-`_}_5GN!)P zJ;(36m-!k)WePlwSrSZ>a)(uc?3e#F%K~4%`=UUt6;>q)mj&w8tqabRhVy?2fH!ch2uSqxo|e^ zb9AfxB}Mo*6mlC#{*prcdqpG2ix+%tga8ZpY^iF`)nBgS3(EmcKiHe$sB(^Mm4}9M zT>ubDq0&xS5BP)Alb0%~HNl^8$y63D`DG3vxn5ow!6x9jyoYz&uOTD?zYP%)_;Cdk zK{zY>er*1VhTM8z;ibATLpC2Vgl{(ja~|c%ZHU_fw%o%|_mekC0Po&>TAE|w^-XdD zp$wX$xfZgD02&sh0?JaswxY0pjLB!X4O}FzF(j#kqN0{=@rrFFNzg{vB*kAF$!|QH z-r6iBE)vNP9g>V!{W-X?Fd9|TMN@$K$fY!2!(rv-B*p^o0{)|BOW z>{RlpMN8Ks4_1nv71LQZwass~YX)UgWO%qPYQxycnY@@5^U3qu*rKCT6N3==|0$@2 z7tg(|E$vn7)F2+5Lu{~V;l*>0eA-M3@@^a(3mu#faBw~Vn861;D9~i&q-e1eT7_ak zX4%R-^}=fkv!&eWtdS4XolaZ*ihtOR7LFdz>Y^*2xDLxxEL8bQQqC`d56QFAOFL_pKF6E@gCJF* z{{eM;A}p>#oEyw1Bfz;uHb|hPU64ze(27LkrP6yd4t1|Z@)SB#FD_kit$Miq1G zOUiKu*By8)Q_tbnDf&E+7246koW*xpB=-*D#dwSdO3YqUW&!Mk3tTC{QW1O)%K1oY zd;&w7g0-5%IseX70?E90yr;MqpXc^C9hCp0d``%x=g+E>@s)URq7We;X;d zkfV_Eyqt~sx|AM%KYZ=SK|UTF@EOoExfZ>HgQOZxO*zWOkGC5^f##xCM6vvrB%bW- z3FRc}>(m_;u`6Pli14#Ky|#q&Cm$P%8s4du#8owIgskJ2C8tWjt!N_<2r}!^Gzw-_ zuZ9OHMs-z7mA4D;%J^ktaikW5=`Bzpm4{u|vOxOkEV!vi3Y6zb<9_b~%X!|P9s z_g#h7Hnf)h#>SYA^PA{NFOU^JxD+h~%7@;zFGCBG8q z1W1RJcg72cf!xZM8O6Eq4#8Lp>%xKFFtANw1AuCCh4_`KMl{?#cZD?!H*X!XVeKZT z3b;{8E$KOLYgMKNZCQeaNc#xBy+j#Ixh@EaPXp;PIC=mO=$io)q9J71Dpgz)$RzL# z!={S)m@+8P43wnh?gKdddm{$jZP5__Fur06<8WmtK}#64IdlOqV8skvW#<-7ICj

    cG9jGVo<6~Lo&}#(H?e|f6f}=s(6^ceE;*& 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%0A%u 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[a_Ep11@S-}uTM zq~*C&3|Ns-VpGd#RDw!wUc+cVkpn=DHpzS;6SIfy9?`_f~?5*N2 zfmppx^{(VG?MpJU1J0 zgkL%DDM^R4V%d91!C;*S9eQVe1F{CCiGkXNWpphGe2i-&QZEI+Y#p#CgG5VKX(tkd z^a+5RBt=5aQnVLp0lJD-g|_M3=dXXt?lzkd6F`h$s1xXu4EqgI&K%t*HrgS?_QGbM z(0eHK-Xl)$RS}PhpG_x+dpF~T-#r_Z6{&j9A2vO-u)2Z250iwy7o1F7tuR}-_QA{J zxx9m1lOd!f_wsz#O*)BB_^?DaAU5HqKdzclRkDiLk|dA9jtaSRbhjXb#fq#4er7 zA~(n6#^m0ir|6ATr%+xXO!$i;vc)^&v;e}r`-pI!&j%^nOqUi8id*I*LuoOi93?3lA8Pp=T# zqca*DQYV4MliP|SdN{|i2>hUe9W=vht~H?N^>$NfQMtZHq86w~HN%U((3+TXdj#Vh z+ckZEwEUo;jnJ7r>hW8nu92oL&!9Npl4Lc zXx(0&t*sjJp$jY<_EE8VeO2hkGA6Qpr*x4-aoTUWPBs_VGLoj0`GY-}=c20NJ5Xa? z{V&?U$MFr^ds=7k^W*N~YOs66-o^A`drNFgb$OT4wk)-$fxe~Ul;eztASY;NV{*sk zYs+|IEys#tOpt?;mjX7BHR@Tbof$~A6Qv~LH*CHnhh$A^!6=H1p#B6zOU3J~lP-9U z)GA#Fui!Pm?!ZFP2bsn}<=f(0aXO>tf9OArQ3uKQ3K7oHLGNM0euL-SrFxwJeX1CiRqY@+KY34%N&z9)^J11W)bern z=S|LwOh{$Lt+|%R#Wb@XWjZ;sWF+Aut_3RPFPkznNEi;WRo3lYCN!Z(FB+V?Lm1(%) zxW!{JV56uu?J&cBE1Z5{?j!9QIk&?Zxy{SW9}UoQa7ed$btfx)8c!gHvpcAwHM7HE z?O9}0{O@w`XJPHH*nq`AUG)~?SF>{ZB0B`1sbE*_W!y_gbkx8+uUzd@>xIg)`XPFE zqC#q1lw}ScY0jKzAKY8CaY~ppq(uU*8;QLRD2t|*eNZ8uj%e&rz5t>9EV8iMSfX=@ zFHjB!5{o*s@3o{EoIWksd(yuz+I!8zfqIWJ`R;C>G?x*f$4<=%(sV=vH}@EOscy#m zmqWMl>-l=yzgmCD{e2&Fklg3;{+_#QB%D1+V_v<(@58(6PdzyQzS|{h8u|R2bA~ub z^o2aNzB{wM15EZg_9Y?L$C2UD$<>8%E`?1IrpK}=PJPIOLFJ@PT*;BxERJ=JNO*Zm+`lI6nCGth`nmA0{RN z%4V3{$z6a$rM*)9nsibOGg#aV@0?GpXon;Vh&dl(lcZL%PyNiCCx-^SoW>delZee? z7umGTBJ*K69HErbQmeQ(6E8Vgp!cZfpKX*T`gaId^_IbsIS(MRR+LZeDWug>^rO~N zi_bJ^cMRiSNlI@Sg6I0J_~SVr-=Dw_zmsF~`$>}e zTv8itRSYKFIr_Qtx3h++(X@$ z(kgq8)90dd*L-P)I6NHlQ0K*s!m2H$eoL)yU0XHGa>RxZjy(qAzkq=+{rN$U7BAkn zr7Xv+2Um5)CkwSZu?(H_95M7#{89T5yM8nSjasW-O>V#&o$v_wWctrx%Xx)p)Ip^h z!bh~_k{nv`T+&ACIBt(G(x@0qixdRZeMMjqT6wdcYhgLBHN)}aMllQ)gS6Ie>`+-r z*|BLGGIIov`-}o8&{0NefWu=e@>q*PLP4|Y=0JZwEtByu?SsYkte^^)IpcLo55y^x zdIcmufd0|#Ow$kK8p@bBW7D2we0R=|F82-1ft^e@Ba%S<8Mk|(?jPt6^U*BZsh7F} zaggrWT<;P8(P0@UBE%|6qwLC_vx+t%R_PN+rpbnsjXWs-Ez;`yXXr~ma?6LYwY4&A z^Q(o}>W==QBCKjY`NLVT_qD_S$MS5J6KW%E1yWTddaMs|>Z~+xI*fBj{?r7mK0T0U$7>S`| zwrvpy%%^YhjBskqu)$a99fnHy95hsmfX9uoGxRRqq>#Xg zJl`i&t0K|JX7Aa0h+0r<_mzpUakUlmxG=H~($T6U+)5tW32@DDO%6WzunE+EC}Amy zp6qXja?TnRFN=k9KrdIzbF|zV8qH0C)RG#~8FNgBht zl)>Qe=Eid;Fz3%{3A{K3XVV0-kaP}uh9UT4btBkjOf>?QsEuu<9H~)_Xd8S6L8jB< zW{&y2<$3m!_o(w1tHyuG;;Z#!-&ZzUg`=r^6XqxRkk>#Ar1OKBoGr8_-$YyIoA6BB zwGYcuj@uU z{(Bex;9E(-r?<+jJe;~{+2JgcIa_3h1!#Np*$5-=FKmTS=sJ4Hu}Q*bAUP-U;4d99CUH=yN(y72<$Tkscz0_N84og5u^UUkpmuU4|^ zE%mAmzdY-8dWU^3P`CiFlY{Fu7tF!FBDpBxH#pUZ)2NZ5)0=d7m6DJO zF`2{%D=?zuPd+x0hh!vY(U!6w_~p>?!WN?61f+~p%2b&9L7{g*RV<#;I;$2}>x7m-%bKe0ay#q_2Xi$}V zV4Ld@Z1+o>2OjEEYu=LS9&kpK@5Rh zQae*MM@l+^wX@P0d}tQ8DS$|ghj~ATz-GiHx&+TJAI=?DI_MJz>n*bk6|(E4BkoHl zg2&YXA_JN+e8YhZ^f7V-35j^`pb^g-C}Wb4WAF-LdC^D>w_z$)&sUJW2kp8#ohND- z3H%R^8ywi2a~SBn&?Tokv3;>C?K^a@QkCy8n2xQ4mjs?J?#Z|0MrOTm4cEcf2pFA- zLTSQvkS-FJ!^ar_BXu~<#xNg2$gO0LQV8hjbP5)Jn>>R<#3ETvF~~g3q8-tD!0b;Ed_bdYYV`938#rz}Px3PC#Hg=o}uklGE<%qt0HJMtu14 z_~g`*^28|slIh(zOOg)tPJe!egZU#0$%HPy;s4PeB$aP#|6o(#>frs6(c>?8s>z;0 zes*qECIzOXMgEU-`z-jwOvgEZgES<=y*Yk2?7?iVBw!}Oh*3xLcTViM-#5gS4jS-35DZ;lZsT<3oIlEVwoUy0! z&JcS-zCJ2L_|N1gO$z{zD+p?sxfEhSP#)v0f*6yDVI?Tngv-PTt(+iSy;ov)_oREi zPrIV>pNdE>IV)^C%q^0Ij~fgM>n2@`(vsbI@t{(Vvox%^EAyNamN@YZh-0HNfPLfT zXR+A|U@wsg^pY8@vf^nKA!>#?Qv=q*#*s5YZ&>JtShS!YJ}Z9X-1d6z62EQOLX^lG zceUmD$d3wUCvrn^??@n!V!sEzQIq|JmB-^b zX=G75>&)f%ND`tlRJ39l17drRi8)bjnFbjvoaaNeCA{wjbcU!XHQ*lHwgRcv}6#H_5!QY+f*QZGxZO#IM6-w zL`X7YUhVP4tMrZyLX3w0ruVeo?p9}ZLnR`Pt(re#s1n80=ZTS|D4^b%aF4-g$+=`f zI+rjBkj^!*$1jjx3z*n6yHb1nzP%GpfzgE=yih)(+&|vD6hWND0+loFP=G65kaB=rojuxFpJ4~wiCo5APKnFP8~;+3SvHb0Be`JYRtZIw z{B_7w6TqQiL6g@%SvJ6%{K;@2QDzONfq3}PUN}G_abG-D{)G$itHt-^;{ySm(TM;o zLc0o@>A4(8HgFk0)@jHX)uuz-cB0W~6!^x*zYL$dq2ms<;4NDH0O3aaQO)y^^1XM+ z;X$a$Zs0O9B40xnm#jI7W7za&&>j}jbnAg;I_w}^hhE{Gz&9_(xJ23zn8ncJSXY-5 z2v(q~Ta4$gG{0dv4PN6cQG(Ns{v0cZ9|H8HH4z8jG4TyPm9dM7#JoBEYdZq9wctW7 z-98OHV&Wbau9i&VY4ACW_i5rBY&b>OtMbaZG(|mDA1iRo!%K82TS*rFsR*LVR?gRE zJy(ukFc8=ItJf2ANiG{M0SO@Ll$(Dh7ZA9d7bH`yE*gxNmBK$WA&71F?K$DLPfmx|zkdtP%Si6vQ3(bxLiA6QgnUome1vf@Bf)Pbw`w9r-(*RD}#5S(y0Jozv` zjMzmu_dj5cs$Kj3uLR3^cnJ?{u%I-^7IkH8`ejrOZp^6~=!uht>})NSP$`@B)6#?h?eL#X^SmUsvG<7dtEQ&TBRlBOQHSe&1ExEPX005 zuyqhA-_$8HbHmX6M)WRbFWGIQDbUfj8Bi;Vt_-CV&aUSS7tYv5Vgft-PrUI^dKZCfrQO+<0LIo@HXP)FBJHS?lu=AX$tGwN?`eV+dA6HzbP#gaj9;3ZsPr;3T=h zoG36xNJoI{s2fsiibAC zt)B99(hYj-*UlB&y%DOJ zFhWuD?4-{6BZjZ9cg>*VEAFer+Fvaaim0aAQ&7oY$8paQp6Vs9#|pcy%8Aw0+Kz-0 zSivmfMPi6J`qzl2J!gzu)bLYz@rs2lhWGM@Lgj2azGN^1XD1k*v><2`Loi(kyG`ww zB?~z8Qaorx&6xtSaB@}nYB{s_5cqK)Uu`f^t^2r8h+C*Z_jgu8guq{+-aE>lXEkvY z4D%r$M+_YS2uzAX0)~I~`w%J3K5p8rNm9lHkcM%bDx4FCv01DT9r&pWL}EX&2P%~2 zRO;9KofrBEVRbdZpNpf(T&OL8F6IlO$mTReS_v>cRohx3bIqa=EeWlUwy$8(TmIpw zHW=!t#77zSJj5CSFJwo?wCV;N%A_>4sN;}h15=^M2Y|{5Z!f}nh4%B2MZ<7j7ce;T zme&RWPfo?&#E>&bXZ??)9&CTfc?7z2oD-CC767JSHXn4Ln*LYOk?W_(1LcV6as2iq z`i?6_M+EX@ST8Qb15HA08pJ(h*5>LvXgbcGkr^CqI$fM!WAR-S!xCLgN$eF<0z9$W z*Ecwlmh&@!zuNG)uFQ46x;oVvqt1IL=dXLG4LWkoxpj>YZE8H;_NVm~r?@7}6|N-b z3@hvQfzP?W4gUjdBfm=Gx+hiMgJhIYbBGem=_-2n>H_2Dh^kJ~q-E zrMaUviQ8@^+gqBGr0+H(sn*#hV*0cMQBb7Y$q&h@*u7Vir}9g(x)Y6d_aEvo+?^+) zjhm>s51#J#?^I6on)!Ax-qg()Mjyc0*eR{H^l%q9g|U`iQ(sn=tLt6B$V#$cC|3X% z)V~$0LC>)3D(fD1YhJ>ci#((+9+#}EDzXEx`?hV8Rwob>~d zkR%DaA*VAj?MN)GkK(T#Gt}&vUNxVic0# z|30t9Qx)xp+w;$IQ2c!kg#_&IB2UX!)xD9hGC}J)yyN3##4f7hnlQsU%d!s?=Bt`O zrk#ueZ_c`B-R@7P-Lp4GJ+d7b+0HxzznXP;M<*e00#r_ZD>`R`?|Wu`oqeB-^AG1p zk#_=TxD_us;eWlO7w}Fn?0YJHF!_Vwt-e^7F8E}ly_4k6QDw5Rp}e|0*WrryRjrH2 z;FBc6vr>wuCwQmycm5W~lz6N^_?B8fIO@DS_clF90aoYiwrnEBB~>BNhsK`qQtK@P zr@FjyBkan8WduR=ymn!lIOn9;=e|1H(DuY{ZvyjwZ|V z+4618!I1PBwo{UL`$%-S1ye(xesTFn#i=sSGLD`O{X{2^bZYZ-!82#$9jdX+q_ZHk8a~sLD;+E3ie+M^T;}EP&_rzK>V9LzZ6IHMDt{A)^x3q4(yVpfXkw z@KbhoIJzv%%77Mr*Ha^#PXLS1vkQc&chZh}zkJjz9sGX@f6Ewvd z%~=C97HdryE0Ttvx_>)7J~%lyw08gG;Gix=J7hQGF39WCqpUiM)H4@oB&1S(>kx1W z$dVpLiXR0OLqm52x`MA?uY1kGv=7NuRE($j zP5wERU_Fi%lXOqWaU!9?Z01*pWH6hI3yepAaM}&HXueNdym3kf$suW!dIJWo{45|5 zC%_|33r%r4uMah~Isar@HVvO+ILMB2&{IoVzD+f^C|IgdzGkvP? zgP_n>aA<<8htQ?z1{?Zf5l%vdIw^3+XOliB{^ecyz1OtT zhZhi|njEZcthx=PoD^dJY=}Cz(Pf%F!ZIeB%1-z0M%zs$eA-P$~@FKa@0R6g}~lecxu1_ag;>V9pn<0 zUbF=OaV5*Vq&ymr|?r*YJ~G z5knG=4$WiDndTMFRO7q4ju2q0%t5o5G)M~r2h8vYgQg_>1CdMjW3{Td$+)JB#*Jr# z^W3Y$VT7{lg7_iq33?Xi7@M|+j%k@pQs*Be_!8I$J!S>2zs-_Jltj!&gA4>rV8l*i zt*F}sTO@};`exw=4-0rA4TmTlLWZ+J0sj8d2yHda01Crq-OS7z1%8^QxAY1om}+PP zPn|AMBfV4bX`r(b-XD8)7~Y3KKloso4H)DU#_C804AbH~dCjq|8gLH5cQkX2TQG#k z=ngtZXWbabcB0y@Q$bs)wN3%;La3F-nq3m`08&VePyhwJQ?c8oy8T8_2v_ zWLKQFgkhA*_-Z)gz+fm=S($Z zW)y2@K|^*`Vo(9GHAOFazODZXvU164CIatBLb z?kh3IG4|dx% zBi1e8GUNVcpVB@+SAu6JU@isHsNX^Q>(;x?04#h?FMV1gW*&j-oL!hZC_d5EPJYG- z#~bFeE@9{tI7;lYw=UIIQFMH9cb|4gmhrB%4FaE!RAk9%%51xEY_T7}sS&J;T?L3BN`klBGt4m+oc%@T_N^ zo1SZ(_&jjyvjZp2Pp=1lVvP?tpe|)t83D&we~SZNF@BLXT+NqCw{nl6qiX-|J4jFW zV7K?vdFSZp9-|Ql8Nk9#hwK|<_RYw_G9pgJ&M|rDD`JDe&1EvwJ}(h&RfHQ)deuPq zM%8Tf-j}Hl>on+_wzC3m7$&jRqJtayCS)=B~LIRwPK&yO$yox2N{Em zt+%m66)`6}Fj3ZsbA*)KHzc87gK5BlV(@SK%%QriFm2Uy2Aaa!fOkh@U9#5jz(b?N zSNkNk<~>%ZcWZshWAT2^K-b(I^ySn3h=RB#1+ZO%b|#aAr*p{N@OVXsr_M> z|MkZ~BZ*mbWOOZQpy}s<^9={kfkvPT7g<^p9VKbUv-PuttyZUVEv`!_GZm+I^BL_6A7emT^dU=-v`kDJ|u5!Y|IUJ|`+U*4u27U*1to%O6nB z#01a~v;zcXWkh9F^c$xxF<*0X(-)9*RJTtm*s+ZusC9bDsia?}<@x+rZl$5$uxFGg zNE0T*Fin8F-On&cYNdF}0Qs+el2#Vz?$voWzcKOdW+d zCN;A_G>m&p;Z}t76`Nz##d^aN=+Zh+s*Vxow%G^Q5g5tY>7E1?N*ffu;L1HbQ1=aYnLsGjJgdJJ|}{9V54c6~`C&?->79-f`H0R>v+g zacqQ!?;L*T`t@3G;05JEHdEz~U$`ygs853nfSFL!y&Sxg>}nO^Gu1ST8+W(?+1hJdRaor1rMm!LM_D%f(6A zP19GLhm|8P@$AO^Tj-koo9Ay`(~$FMrZr%Rdn-C(gyXK~lsiX1cm8%J zUpD{A9JABMVVPt>WVhrtRK#gB9UzwL7SE#ED$F7fcU4@VT8Q!bXk#b;N zZeF}4OH2$oD!X>>4B5Hi7ypdO*{;0VE&X0Ebu!GA$FWuE#~cdcVs1hr(q7PA}_vtwUe`KJk3yr*#1@rq0Xk)#RM4n{xHpNz}I+uH$lNdqEgu(0i2)6Wr+fOi%X0_ z#eoe$Mle!QE3rT@2?$x>rK?dE>#8V7YC_@SV?Nvr%3S6YrE`^k%tq+? zWQJ+JFz0x9DIq-YC8eV&!}{elW*eJi+0f7f_OmC9sT)cMXoNl}2yL(@)gSZ+M)E3^ zjgyEVbBG{*Wtd+~(#f68Ac=la)r_6im5p&?i>pa$DC&e0fx-rGERAdM)HR0wTsGGy z`LL0XxTy`Oc_5Nq+{vI|Ih`XH2w0ey4g9Rh)xi{>SZ_}0aRnXv>5O#=g#;Rulft1) zD&qj(qokZ+)8Bw+nUMi0*PxL_F{z9ZD=EHLERrbCrdJ$3d_&F{#RVmtvi^5BXw+^r z1xyTlm;gorK*!1KGi4VxZcgQ;7lq`H?iV~l_PkWrw*Yq!0 zSRIO_nbx>7xw1J{Z6LP};)da=X2_yzKiEZOEshDaiu@_ZZ4f4~K(fPSejcjM$q5yDC zp3G~CMZ~8N8^BohHCX0W%!TIwnOXNf)DDB%JPv9;o{6j9Pwb*3YO1XuX1{W9*gkLu2Vzn{DV-(88!7((c!%G zoRrAaguyllfPnVaN(vUk9RsqEU-AEA@88?nII?|l{C{3Wn|a2OupkIKo@^65j{xB? z;o=QAm&x(NuaO#PTS$sp0^`KzwSQ~fs#aB3w}hRUGyC^!pM55xyQ;dbtJd|iLNnC_ z%dj`7sx0fbUjTfLH$~zfWtUho!hv-sPY3zOOnWvx62)nHnL+Sx)_Z^azR}l_eY_Nh z`=@VCyXV_Kygm~i1vV%}X2UN4tXalDL7CYbvpGMUL!j0KGjikKUi2|+1aEr#*$8&5P#FO~qGf#=I@(rie4XSmJ~GoHX?f?4=-Y z@q)G!9|BQ6>P>Zl8XjFc@km%C|2yn?MhWh_A)@>(R0{WrAln@Ow6$fvY1Tu@Y4UdW z_^6Ao!A9thybh|&lrBN&fI(3@(DZ<0aUp|g^+0wkZLt_fhj>B%GntxxKAO$Hvn!w~kfMPhEU(hN2R z1R*x~$mCuRafOu-a+*y|Yd}WIlX6Ecde~Ldra;moETv)|>_=@Qi@1!B*VMhj?)|8su`_6w;)Csr-w>&;1hKa-5ra-D{y@_@68m z)so&kk195gCZh{=J<{>u3w+6XGpD#054J9Tp(ye%8n^=Qq6S~mO=cm;I2x{Q6q9SI z4E_c)%^&1YjnX0tNGfJKl7b&-u;kIv5XjrOSil^Qmjq}T3}_0 z$pqM2V8M`$vAneAWB8FdM2672;OId%e7fFHE!`AX*w7|}i+!{eZJI2U__#sEkgSB? zO+aewjqe-wO)DvXsg?Lmc|gPZxE&oIb`Lj~>dy%l^7Gp$t4`2CJvv!$WnP)|9s>~q zfWWkP-^ANpuPQUEgDkzx0%n!@;7N}oIHUTi&(JN+*H?|wz9G>MX;kT}o+tm98PV=< z|EsC`musrdMD64pY*0p(G>`pz!(~9^?BE_3)zJB=;nOid5HvEP0}1q7s2mEsns$y) zz*qAxl(b1dHN=48n+w92G3|lE!tlcxy7o~xnCy4hSJ&uyL%uZOHr&V1-pnt~>YJOq z521Ik>nnC>?Y8!N@W0#oKYLqWXK9~xpb2fdLhn_lOGPL@REa`e?0TQKa*lNnXwtzs z-i$dhOA$K`>Ck<_@czRdtlMd{QRu=@vQXoWL>MW*U8ksJCGB5w-r-hfj9)^$q{{?{ zK>Kv<8V{nJ!*e=vPrE;#oqvD6BnL5gyaenq6z7;rxnoK3fAs1F9sq<~AdH)wywQPqzDpq>TObTD z9XMLt01}&kzIeH9ZitNTKRRW$mz1yw^slfz8APSrMv0*K&9DmDj5wP(-%4o1=H?k) z%AnD&Nqof_Ws8U{XrJkTeZ~6{ny|a*5yenfuhZ{VIhr(9(yJ>-`ZLYWIc~byaFP)| zSZN`XwtYX%h!cfBgPOBpq@FH(VMxdM#b9*dih-gM+isDl4_)GKwcvMSrP;t|%~C`C z(ag+9tSNpIR>*b#Txob5Df;|btS~*{_hGH!Y%qvaDwVUCap9z4m73z{eiwd0=}25! zQ>{cUw*&ftMLOzlg>bF#lZ&ktG}L~+z_QP4=r$e9vg&r^ITrJ0a#q}*Q+)lz*2k*$ zYd8fh`fyltn%`vR==e308}BTT$7SKlcrU@^T=7bx3(g^)FYBw1P`|u6X?Z=!&dki7 zWMjP~&AP_bDm=V-wJ7cZZZKA$R2=Rkw-}qYS6Cd$$pgzr_fb`i*a36WZ*WSuj@Y$o zk4b#|Ue#zv>%N=y25`kjhgbJeu2=m%B8X~QDrslcJjQ9KE3N6GUoA>UUB&oRJbdOq zXTnE@pUyw$W2)jqzlmPvpYcgoZ{8PYLk86>eL7Cf!?h@Vxr%mI?Ul+s>~9vK(yn3^ zad$OU-)?U5>G}0&^uB_cM<{uZ!OWZ5u3#$1%D{*f(F;pq@~v}ATvZ=}yRl`j7Vn-Z z-FqbhTk$22e#b7)FaMU9pK1o>K87pOSoyGLD#f|RmcQJ*Fi;1ao*!BVb(s-1vt}H% zQ}!P`5<8HaQGceWwZ9xb<3mMP%6lJfra8Bvb@_ne7tAbGF{h@8xps`)aeiw^Q@n5b z``Hi)7>O$9J%HzKHUgfL^~A2R{zZ(El4>^Kr2^VTW%SB>ANr8>DyB2^IN{BKFM~G5 zV3)07-Y;40UOC~|TPQfmGND@Gb0Yjr@~~YY&kOyLt897>F$6>qgW=lgpi&=T6U4V^ z*d%{7zT>bfSdIUuJUaw&dk$!5;68wZ^Tvh(^JF%jehB&;auS0SV4YCdKBt_pv4yvr z!$`m^N2`x=r`)@9!oUpswbEE2i=Nw>w&9!c#5}w7?vB>l+M50VpkMn1q^m1ovEY7* z7i9O08ba*tEbn!!p;}59Z34_7{OL~kE07?RupmBtnx;e zt z;VD7v*_FKFA?NIWt;{|Ybj@5F$>(FO0wuzm)c%gqgks)p<#TM_99eo@42580uS$Ig zNO$3JaHYGP#4napZnA0Wb#7&`QA5}8!AkIlyGh}Hyt$ZOLu#Y*-XKedvvK)On~tXD zo{g)X?5a;EkOe+m?GI=4xJ0!h>n}mP=b(iHPoz*xE6<$$`V2Fk)b2Qx^7Nc|zdZs| zx&+`0hC4WqZPNg;*bn4R{kP;XpKc?vwFZdLQ^ct;oYX^gPa432*c7$ z%HRL~cjvfl_&LK>f>kCaIs5M1AX`!(D5}jnlPkaBi~Hp1+S9f6Q{6l>Z|AogU&sh5 zJ}}nU;;bM`r-mj~5`@UOo~^a@usq?mdT=%Jtrevqj%zZyCt{NDP2hk0o3(ZQaWp2F zn`~5Nj?$c@DQ-%IqyV0+gk^j+f4mGy2@kqDq&+<3-V)&#N}qr`Bj`oT(|LpyFtjGD z5z&>Dl@rduP`f`rLp4=p3j)b{K&DE=&dmF!r*R~jX@oh97COJqudeURASO=Ut0)Ox zFY5C39IQ}mL{F{GO#5Ie`t06C^ zDo!Yf^qi)qG+Zs0oDWB)R2}mll%I}97x`6<8QE}ZgA7=;;H$;xa(aH9rDH>`Q4ta@ z=g6$6lXTx|=RqO*Xa7B8Vh1v!?^fDcai(YAuqxgKG zL6znO3*~-q^(dgJu`+~Cz#po7`QFiYZUc4qm0C;)ftvBiJvJOt$yGS6+@!t9s1PqS z<(6ihU>qtwrXxbfm8_owP$Ys%nv&?rWh!zqDCMN#d__DYf98&Nn z_H639Am6t5k>W-rvnu|BW@5ohYQ#wpl;a;SL&~l>iQ(z;K0_EmZS6+EJSzVQh zH^2@&wGD8YQUk1AN$R#Vmnqi;fuI~#=huZY<(h%#PPArFW^NzI#EMFU=$g&H!0n%hwIpu`2JZctKYUK=vK zb#2u2B)B=Et;BB*=QEVd+hlq5@`SfXMfJ$-p*)G^eZOv5c{S(OubxBYUR2qFDziW{ z*q=GgRQJdE9#xOXm6_iP%}#wQHN6S$v1mK7d(87^nqR-B2kN9%wor4@!n-h5KYkY~ zx2Kv8*fO#D=-pI%8*!P+%03$quN<4aKwlKC9+a8eNc27{m8ojR2HMy3Mas-;BThEM zGF7dRUbAXab(#7W&Tlv7wqVMX8gcGH)obg@l&gzcpk`m$GUeLJlc=(`DpP78;#^c} zAX28>4mlvzGHYBWR`(`=hl$lSWh$x$$0}MivVp*tDVf7yLYapOr0m}`r(G;lC5Vax zR9zENrd)ZFW%I@bWug`7BB`%PWlGh3hpKpWzf46FXuq!PfhrTNUmifYJ`dnw>*{-E zRW$CEsajs^!d25v=jK(aUUKY;R4l%E{Bo>r^_SfZS6w@H!)ep!+>gf_ zK)1I!BgZnax}KL?MP088wQKvcJ>{LkjqkIGJ-|JwZe)iWqA z9`jqc$m-h|EYL>vZmN~RbeVDk+J&yF0bQolg6~WhZ^189(L_CqQPi*);vH8<52Q@F z@-!RIyLX^WsbbWNE~pqSQ*Oy~i;H)`FH>$pd(Ksi!Yfm50sQCY%mbErD34b1wu?9H zm#JdYl>1#}FIAaxeQ~a<8Ko^#s_lI3s%yJ4Rn-H%akP3=Z|r&J&95J!TiR!@z6TZ8 zmvzre=FLFt=1|Uk^J_;gj zgQP7JuU@w6m8-|?de#RpnNvL~x>@(Wd9|TTyf(pT*Vo1}bG5I$3u?8mv0b43_o@{` zu1r~K4*d6`QgcwIsuA>|sT93knR0#S^H*Kpm8qzYet~o9W0{KjB|TZBepFAUJPGGi z$1)Z50Wxvk=S`WY3L>OJF%?8?`}husRV=(NQ!5gZlVZI{NM-7qA>YONW~fY=qXwVG zc^oyADcAJ<9^*CrGUa=TeIje`B`y=KEMAaxm8DFy0q00r-GD1oAq{|!W%U4*BWBey zhL=ig87nW9l56H1CBu2tilE&!D@6)brrZtd%~_+Uuw^1PzQE5jYU2yaL~I8U|Id=` zAW|lxpVdnED)nw`Q(I5bnwqvu`B?onNal*TzYQXyF}Rb?6OExvIgboFDk40h4}{qL z`K)_%x_^9hzJIiT))qYTq5|1#MZ1zBZfI?L8;#qh*FjU~c5_K}&xe7lOK|fUD2Q=n z#T|lc2WQ(mL@vC8OgER{#R_S3=Aej{5hhXKJ~-~|y1|QU@2Mf|zV|LVl$tFCuDW-C z)pnas@{w89OT*dBCR75dW*-o3kCKf5vf?Zs^c{K|xUJ4EifKND3@9ljR%VbpsE&yC z!~5hWM?6O8L=kgJ?H)lgbF)1T-W(pCA9l|=yPdPn(qEFr{FBxfD`^C?>XM-c$RZ_4 z(yJ~RdbuoA5*v+_tk5j2+g!wcGG5#doi}ISAD`_1vvUU9q10rBmaewRH)newye5lz zP{v0b^Vh3c!@z5+x@72=RI`RbPopKHz96xZagUAalA%LIq-2G`JW{g4(iJILVVtTf z>GQ9Vk`;!B>XHl0e1#r;UdcgS$qMz%oRUfpGpFPrTVU6H4mElJjSW>FN1S=ip$wv-3l2V+B^i+6I5zKRJ8TIXHvMq4F@XU(x!U z0nDX?>o)$c?lf&(|V`hmgJw z%hv<)O*&H2fm_?g%pctWUv%$|cSI*?%p zp?h!fh2a}%A5@Wm^@~gzp$D64HxdbTF`7;d3s?gCC1_xWOFRY}`{XvO!X=ikcHJOx zB!EF}zHSJqmGQz#(D1Ue1hgK^Bp3}`JeW;Usy z>LK+8;i(}etp^FWD!%5ea;9_QL3IcNLniqmy96k37#YlaK3yX?V>3^^I?>0as(=g` zzpMDcQhZixo=q;P3e7S#Az_0lu-=mMkd%Y3TH!-750xH6;9=z1^Jk@}VAwA`3}TUL z-eZVS&3m{cORs6Fk{BmjdW<)|_f$pYl%8|2jegE{R__sJYSj+{2D$E?-$xan5_=4U zw(5Dbq0)TE_?UU`qb&%k zdh$!`MSN0A8&|o|2al1}i#-dz7YIFd@1iw@GS<9`)+2UKzi?jL-c!-tc@Gu4r=LgI zH}5rhLhxxgT3a~H(12EDYD_SAaM>d%&ZV!fC4;*URNc0j)*$5ihLnV|I} z;3C7n{l#RdIPxeghdg}n$dh~YJ9cRF9~Id&cp&bFk;i4KsKxTC=YFT1Z(jVVPe+v_ zUgU8|v^+7r^2J3~`6@cN5>4}5()0^o&sBa?+V|oY<~^HcWBqqjANPQ>?)z@lA9>G7 z%j*P4gAe&==u%bxUF9^TziNG$ffR9->l$J*Ja{5IU8 zT9;Gx{35G*6YFc~yNc!**%EVJf^FBDedk^jy(@y}zB5qdQ(#3wY_ae=p@OTj?l)`eVO>u->4FrSuSJ zTj?RHS?U%x2BJ5#iLh$-}u2%m}HLipTy zG}P?PZ^OOm{1_s`i0#>u*MWCODrW+(lJybrrJca^U)k~JXFrn5y?=8S@ z1E2E%YkEt8HFYSryv>#6(ylpLE%cN%m8e`Kl@x;}ecUrY%tdg9>A=9t2`>tuy&qps zMm_Ti|7!^NJ!I!vhX(Gh^WL?&D~c>h8U83WBlQ|UduPL&6TB1v)u@R8Mdomt*54G^ z55B^rC9ItT_7r78?<0;84*SGQZGZej0$0+E0Gl8!pIDPmPL59iC8;ncVR{W0%@trU z-AzWrD`{*065*gQ;%3zA%_h`@O-IU?03S~@*9lngY*tQ7{q zjCD1zPlg$F75B7{>Iw1;HwWmRvS?nuK)csqAnse`)?imjYhAZ-XiFr^@tv~_E6NC$ z)Q(#YJJi=k_Vky8vO-?cVnXfa?;&K~_{U37rb7By_~~$Wi2x|1J4g?%(HIeYv{kLH z)$ps(*Bh7TmcFo(es8})&ENr|e7H~7*D*)2pEoy5nM*jJXL;|v;T`|d{`UD(*ny)Y z#V@1@-m$o~GPBF`={<0WhP%F@yq1`yk9n~1c#!w-B4!TI+&KC0eUe^*sbk9e`EnA! zmg5Ce(()tB*^Inc&egUv?V1yu_0h}4Y&=dH>kV=J?#o9)hVu{$_697Y2+ ze2cCEoA8gxWQPm51}{BrD~r(82;(~4G*5V8`?v5?eW|HDNFCK{BY!P8L-rt89BZK z@Q(S9-UnWHc0jc9R%Ri>VDqZuy5Ywj+k^9184H_VK(XjT?VHO3ER_IF3HoQeCtf6f zEtbOpQkS(Vy5SdCWZZS65OA-@V>IMmqt!Uv1WfMO1`7l|wd6ZVCzJGkjR-zpzj}2K zQ*Rp=hDwhv8{D@Qyd8$Nu_x`OJv!W$Iz0Xuj*btzhjPZDg5T6jTg@y*}Chv2)fX zMw>f~)W-RBG}OMcbDKl=!5e2XZ3F|o&IWxo&ICtlnCM2nwZ56;-}xuRJbChjk93LR ziLeo#%3t%h4>`ehZo9-50iDhZ{HZhnmK*Md&(JhS75bb4UgYp%1i9E@?^#|;1c>X= zfU_U&wZSa_s%{P9}SIg;7MuK8yv_emKWOTnD;-nqTIW^HpB9dx03%` zS>Yjj-XnqK7>J0YJ_j6#zZsZlSCv;6MB1dNcmgM#i6OWJ3SZ{*fOG?k4$I_ZASVHN zE>30x`~=q}Xs^w6esgp0xf6+*0Hi_z#>Q`(?wb$K28M8Du?>V0&25?wV0lsfks}VZ zG(w-^=EePgPUymeJ)sPR{IqGE_oCi=qlF_zir|5U6`5Dir-7 zl){54$7(RKbb}!7HZ+JzOIH7QD(BO)&e{IX`C;eutb4MAGA<-lKuPxk===b}Fu?7T z(8r;(Q~4537#Nda#{7Ku9n){KPY?1U_GnWkk^Az~>26JZA%8%>Hhu8{E>1#@GIIqi zcuuDuDABKP&E|DQ9p?TDyp? zI=KSlylLmotX)dqF)SmriHwD6Jpm=kY`6-pVDKes;s)()qnjJ*4r)_52&keTwim6$ zjM+#R1Xw@GE;FF`fVw}p=i3p!u{Xa*$7kd^=LJ}>5vedNbF_GGfO8uAHLV@gS9<+ z1VOpoUfd_yZDyE0kU1heOWo}UZK`We68n%!5s!&t?~*Njjl|6Roi}I45Zo3pYv)!z z%Nq8EGzEN#g!so#G|6IlV)>9*AoEH2+}Zah-Olc5XRqtYb(|Q6{$sy?2!Em?pixZ% zo15;dNwBz^<&W^q?=D)8>2lTAh;})yi$<>sAjQhxZf%i@rI}n9n*Cl&txzG~+6o$V zf-;iG?fWT+jE$g_5e8RSHVePG{?-crmOdV3cPd{B{DVhoDcLb7Y^+5c@N_FsQwg59 z)M^u1(Gv&ixF3J|v2~CEO=Fu??|%&j4N~9-w{SrXoR%js{a1{g(km<+cw^Fgy#B#3 zgj-v%jW;9P*m1!phyf=wA5U z!4ZbwNd+~sBmB4;nSr*y&~mgCTdjbi!JMjt|1|^_17Cqm#fv0MC+41mtPo(ag#Xh0 zW!M&EGL4Ma`)y|U2Xis<7W-PAFp+&MxxE@``sx|B{;hY$yd8^V{AD#67Zv-ukS1I( z{>vkff2K0Nd=qUxfFcG4M5V7!9zR}O0c<}+8gQtgm8^l%y^fAv8j&ySM^(VVgw`vB z`K(9d?d!wf9}sW9Z8*RorIs2`(yN>FK}~+mv}j{}{b|w}Px3+X+=_%5+w(w^Vi@cE z211_3_mdnGU`ezWWvl{$ngoII00Q|&mrLaRW+eLoNYZ&PYq939fPnh}$%8NWYv$i! zdXL7;{>V)7sE=+7DF5H)gSDUxVxE}OdzIg2h?oJwy?HSyvcVAX7ZpkQT2h9n&%#r>-xbv1{0y3rux1Y?)H5eN=Jv|ua@C673VR>O~Qg)cPaX4(h3 zGoCQZfpZKJHp~vRnt%t>)QA~o+6HFP*?nal7vXqs4`s+U{dELdoTKBD!_EON%LYE) zBUeqX*k(M11blz)p#n4jE>^wK)ex-7_Un_Y8BB}Zjz^=Z3Qc>Y_yVRt>nMVZ}Y4D{8O~rK{mXaUQ@LVtn;*$e1rdMDnE-?`Vp2J z>m%W zZT!ipbK6SGKJUQuKBco$-fP?RIHb$GlBFg!a4Z%+4r z>~79!&k*RFbWqTx?ER5!d$ZY%Ke6%f zaCG5@0Sz<56fNV~Mhdi?4|@~5t5SGkNG?*dUN0L{gjK>9k?BW1NjQ2T$qaXHzG$iy zFYq|>?O>$SF^Dc^o7_iM8Q9DpvD2|dwvtNCf(*U2-99_%cGc{e)i~;yTP3N2TcX`ZOu^}b zhZG!lll}!Mj4^Adce{&oF2pgx^=C?tD2pfyt!8&^u!$x!Rr{;k0|@hn3mD{E1`L$a za$~Mb$UD@6fKKxnR7zV9yz(A8Gv7X)8rG?bPW-z5_T|=B>t6x+g+IRA`fB5=;0A!_ z$!cOs`Ti=g4P*MW+$_6KwCC2OLC5ND1m-?|ye?u#$vWpP=>r!Yv$LWV0M@uLQy?~TPo61`y-M#p={dR4Z6h&{r$hUn~2PMJUc z@L0qBVt;s&rTsGqKWq3cRS2es#Z`kkVHVgO1DUs8Is}==@P<6&@UA^GwEn z=AI;1m$UBSYp3-xTMk2Z5&~Aqr?|6j(#d;YJ62$ak%AOxH3k|s$(%Ox}J})(8rpKR-Q##KYk3KS_4Gd!082XX=HBVj&r##jV`9E#EnZ%beYhGkeiZ!8+_w zGq2d@f;-OlvFSee=I1*S(YUuHhEZy35hGtxXK; z`VM#SsFggXxZ+4P?~QfkT7fEBJ2%6@*P{^z}2tq?|o} zruQ4PVPxi`+0D*qP(VBF$ZPWsyw>2gX>{lK;HYzGm|^ojtwg4l*P8UDVH?=Z4esU% z#wDFVR44Yc-K=Dl_YOL*0&=n=xHmOe_5vybExyJ#^&8a;A$WuX zr0dahNMSb$Y7__wTTi{pux^_rzeAoF*0bXtPmA}PzGmUjJhEJ#^HHLdE?D(blG4{n z&d0`nC$3w=nSg4R|MBAPnG(FI3e!wWY8Ka{$uwS7_7{|}Rb5Sl-jL|@<(5{G2<|JC zFuRU$zFbXIWZ7W3l*0F^39(#4Z~29;N%|v-5WNKHaT@ma084<2 z->>Y*>2HHG2lwVWa%+zDIrs({`WsZ{nsD$Bs6e@9{G+O-`{*YdnHnPzJKuMAevqbf zRI{FAZ1_2zgGp+3x0)PM#3B(Xbkn@&eOcPD7C#zEKFL0e4e=l$P!5gxnmEdw6PKb# zBkoQRY)nkoA9i&Rq~soyA8Jwn2^RyFL4gw8zel4Je$A6&`+U56`~tM)7syDFl63eL zazx`%QREz}LWhH8wzU6dNDwSj!>yzH{R+}3pl(yt{evO^fOAt6@yUA!=Ac+pbAb2} zGuM>rx*f3hEpIPF$fIf7?1ucxT=b>WZYJxDUwI=&l{|D7^sb}f0AoYJ%xXG+F`8Zj z*~-jjSbYz{{vfkZE28?90mBdxEDmK9!k7be;WdoKs#L-68E$d^)zSG6-Cvp@ct#7I zo$S9dd{5J!dFs-+=~59tFnd(u2UEb?nNIKNLi8fke`TyRn5|^I#l+cHX7WQ)W|~r- zMl+Oa={6d#zQlXPS6tR{tniPyE9-Jn%VueBi(8cI=+f#8V1wN!$W)~ak;l#OZQ7LG zNJHox{M7m76wtPn@*GtKc#j4SDoKfplv`N_-SUI+#*kvNc;BQx+I9ke7I&w@)KHbp z^5tr7*4&7s^S)?X8U!}U+b4lNFD4E+A1tGi=W}1VXN$w9Dd4q5 zXo{$G7kju3CH94P~-IJ_QKf?eW*(nbO&(u z4P8@w->O*Q%s}(Yd)81H0)53IiiKtbW6_c~RjkRHB#q1nq#hsATuV+zh+>%zjl3&j z4k2v8o{qMJG31KeGRy~c4Rv_Jzp-4T8qo_>#eaA4^JH7mTX-p$E3Nt}StQn@l3s~v zSJK{z2zS@Bn{>De=Ni3CG1eZ9iix|i$$fT)F&L@yj)}?$ju8^xE|x7-%) zwKAIw9QIv4?OivxoNP*Tjy*QK5J*ac!HXop3SdY(?Vcf+&9Xh-%AHTu+r1o2!+NZO z;Hr^&J898N`dMg>~`JfV)ahIsF(N52W`ER?y0$ucFv;xWNqIIw|8v4qvNEr z1IX=AvBDTBgqtR9YwH-86(d*~8g4(LwhmABrvT*^B7hJ?L3X!20fzFhspGXWmJ13j zaNf!@ArTY&ucAa+dz<%@U$^MAyj4b%yl)!MFLO9tBt!zR>P3bQx)aeav9*OqLDWRHl#q_r(TyDeh136B8{gq(a|A;165t2CH{V-<54Q9*hj6^(bb?_M{wkZ57%;e>tG%IX zpBnZX`deKcR}%4Yy>@;ijf}KIkAZA`himyVsD}5y-2krIWQJOcH2G@vD_m2z*xZl} zvQruX)avR;h{3A45={GeHN838Tm4oHJm2O0mpaOi^&_rE8_4l-CZN82dV6Cs_WQ>ot z^nJO5m{5lCv#PpV&f3?u~@!IUXZ~^iGQ8h^cpoJb{kj<4mWEnVY!gH)`I5kTwaY3e;wB9d^DT# z)xUtT$l+T>E^ua02o(1mwBipax^;ww9oiuQx&z-}Rt>}?x&eE$$pjPuW5AXvrts59 zWvISlEhz6qvi(7J1!&%560AQP->Nt1hx}%CBRBl$(lt?t#=*5G9%yt&VFyhQ3Q}pP zE=K#oJrE168b!1q!zO}7r(beP2bJbpFl!Q%s~SQKerW*UM^~v28*p^-t8G5S)QsQ0 zU{vYm3=28Kuqce5xIh^|MkbS|fUA@T1I-* zE|Vc3(1W&%D&H6hweSi9#ku5;z*MK8V$0`N8G7(OQ8mkQdFOiG1fFaI*Us@6}}W%y^|IaS84-Se!L;IJnM}<^2t^7^*$SX+JKYG26K7{dtr?U%CCr?}4qAS=ATKwEk zw-=qY=cQS*wyuQT7=tf<+O#&9wBMg>hPpVIcQ)JGYb!=&J&xo}krn7S03yG+4^>3M zBfd~VJzkY1uw10h8n~=BZ_FkL|2*dC$rky?pd4w&@AF}(w}4#^A9FfPz2%!N?*zp9 zyo1`9*KKG7zM-e2w&0WY;zgggoPi}g3C&1M2Zm(=)f0Cy(u3)MI(Ust7MELv{|0@* zkODL_7%pdmw9ww#>y^Ft^g(vBL-Q5OjuoC-1Fj=i93 zI3o&`t!I?r(yix@Y>9`mMNwYJ-spJS(=9$s5V^OCnW?Kw3Qf&WL4>();1MPu^F;~J za^GiD5-AANx4*!pYp27zYjLHF$cX+_vPgbRsQ91NP*!!s*(!mqW`Fng!>eri+Vp|8 z1H69W0>Y|n6ROvAYGVWj)!djh8;k%DCq=GNvW~)f@*zqKHv6F#2VHN#V{FN4r!Qug zm!hPSx~P?g%x9AfS}EA?DhwWOijLY|j)+o|eZZm5p@KSm*m~&7QPNY_Dz$1T1cVWI z#s!2+!EWtg=$OPv`mw=_oHfJSpW{NH&VRvTf6A#VNfo|85o5EN?Nx^{CH&sPGY#jO z9o`-ZGCEX{V4Ya^7C31BG%R}BFw{M}J4`<~$HwXt7#=`dv%I%lq`f|x<(hiGnJ2Kb z(2;~T92JY8l{<07qk?QfFbUXF`j&t#dViNm3QqY+cJ<}r)Xu1%{g_Si%X_byCsvscMIA(| zSy-SWlr4&wO=zN7Uqy+MP};Gfa|O5uh;JT&DvNK6tUgD8K}Lvdp+ewLOu<)w*qE;7 z{FT>Dcx&%FPi8<1B)H4bg6xpK97Lnp(_L|}vD(&FMaY*s@?dE~uh3+f2d}%kxvZ7@ z0#%lxkLo=T2*-74$}AcI^-w0P)#Y(JMze&L)z>895(qxW+ z=JYQII8pE@!fd`qW)Q4*=D(VIQ`4u&oA_`+z7cTi;gH|qC@>{~G1QR-whJsNmkAz7 z5Oqx$R}j{ca=4Kg%55#dvGF9CI*iwtxMUk0pF$C*Kxo2dtmY6C#Q@RzsSyW%0qlkYy*_&|; zRupT^QP@HD2HU8;!BEcwo5H_{@L70^dCo#&8HR%TXi{@6+LaN%m87&!IZ`2Wd)Ae% z>6|bQ_8W2z9?~=RqT$J`BpVb^`o|xY1#I}L;!x%nRw&s_09~|fB*f@XxjH<09M}C- z1umST>G@lU^#)LD(`}~;THs1-OP?3HqTY>WAlueoQMwT9Bw~dAV7tm6qsz-brjywa z$k!iajacB)(v6lF7PV1D*^ieP-)QMacn=HUsri>JhqlapgP*2*@E_^nvWrj@t@Bci zW2EeO+G77WesglvInbfaQFUfCtlk&s?NOq@7B{5k*QG~5bdpskoujiN@BWu`9ftw; zVv$shVDYy`+G;-X?;w1!x*Fr2=iK|H`KY`1^@@Mtz0XZO?B3@}UvlsNgPQmsdi8q~ z@c;1YSF`xahwJh+ANu%yCWGL!2x?j@Sp>}_l-UKnF#kf1VO~c+ zd3uRTg0tH_=$>^0Ps~65sIG8!^5zIqa6X{Q>+Z?v{^{8RYLJ#`(b9+A!(*VDf4=Kp#ExD>b;DQVjSih6qHR}@?zxRj`H$5KG}Bx9|m6+qgGwZ(ZE z_fe0d@$Q91jtzv<<_FlVtz>nhS|cZJO4E_4V(qM%#2r+S3mAPUyhcp-6aSPO4u-ql&RYn;%4I;5x!FBGhe|iY|a2; zs9S}y^^c}#+80T(o&YvW(nj#GWFrA^lw@bbU3D{LlP+Qwx_$Iy%>iFznhrU^ zFuAv~CEMc+OPEl-bd20&|Duw|)A-zCJoR^0ixxt$O$6Jm0fWtI(R71@E!^<*dm{+n zGL!#PXlmB`^F{)p2$hBrssKySi-+>Cms*HRpZSCe{QQ1>{x&px`pwWBZ&QY8XoOK` zxpK>qjY`NAA@PF{6S&(2SdkLjBF)G9Z)f9ZEZwX$BO#M5)zsVTw{Qk!u_^6{od3N{-Bl&&HTEN0m;fG^U1u;K;!A`2~DZxl3gW zDYB%k#T`!<IL`^v-_~CknXy1b#^*<3 zfOr4kAwd{^1@Im8bfbXD=G+HWghVNdLXxn=<0F2dzNtj`WV z5Us_2nJYjMEugcCqhQpp1vC&9krJQf?h%#cDy1XO&3&Hl?w{%Q{r}kGSdO=YgR6W2 zR!80*%YTUR=?_BKEc*p1H3S`EPZ^e%^m@a7PNk8Be%uz@Jg%{ zcaz%UtqdFf0v%iFd{CCx52lNNSQ>6}y{~z5Tex!)hz zFW6?P<;o35RgpNSVtwf)t|Gz4BOpAkxy2843RZ|mpNc#RH~^4wp5m~H*t$*2gjRv^ z+7A_3I_X_=gAi*QDdR9+8HFH<5$QJY!u!k3)cl>Ma}r?-u773U$GU)|hu8%CTq4nq zS4Ap4#8?m?mk+V>5DS44Md*;l7&SB+xZiwzTd#9=B~k`cGDVsB0jGv(`Q8Y#(&RyU9%NF9%)7)d=7jQuO@1 z^ZK zRpSeD)8RWro*bvs>*Xcugb=;!yjw18wtT_W-*8wdxZEr+M9E|E8+gS@ujbq*L7(Pd zB@ebP3Lc942+o|Tdc-*ZypslFTp91tv}@BKJYsWT7*cp#z{{P{a5@yzW3f7#nV2rs7K-{YX0_EXxwCK$=T=?X3XE3Mw2ai0dG`x7tH&)z_vw>g3f zw~{`?9l5|pI(^tiQjlH&O-C}A{QJHS$EME%hnT3iUlJl7 zZlhFi32_~-x~-yDfh3t;;{PcLFFFp(0YEHNXzO@y?~mi7KiDA{?B)-ZUNq*!zd%an zpj}_#^B^giMOr5+&x!MLaCZjuKtg^Isoe&_poO1%n!Y0-TLI+(VJ6q9aB5dn-_jN z2r)=KxgUowDepTPYVb9yEzIf+30gC;AbDRM9TT|bSExW^NU&b19i~i|gXuYvr57Gv z5m749x>4;GV(<;`*A`KA*mWZ+1c`<`I&y|$>dM&s_Y1-ep}ONH_VQsL+eL&g4YcJx zfi?UfQ_XV>zt8*qY^cRDUV@de`LQ_<{^fZbuw^TG{yDHPdB2h?tZb%TY6i7>4{m3p z)DCRChqv>z+#lMt4{z#OsVTR8AKuzG3%^wkv`RcGJ(GkZ&jD1ox?Z{t(j%9NU!7GFuk-0;Oh@;;wk*EzSp@mglYe~_t%SLd3iC}#*VE)_08S`Fk;hQ z8!$tfW>W=fIQ|Ym4@XsRwPX0kOCaM~3P7VnB<`x-LszNY=4UM^^&l@^Px6}|vU^RQ z78M7dH*0V{YAyf-+pN0)_7RN}uuea0{+Ty|Y0tkA@I!Ss0@R4#2z!KCjl5l3fDFcu+|w^Qa*$o--+bi0kO`Zg?mboOQ*~k=dS(~X<$V#~_Ml@s8|J^w>e`|xQJBZ(BKK0& z8GI10fJZ-aNEW%*u8I zXsX%a8}S{!@gKLtVQ-GvU;x9zvwE(x>)LML_f++eqTNQf|q2!BgpN-P?iR%-6RbjRAROPj)-G(Z$SRKo>XT&D3 zTK(`pjA7dQ!SPEl0Bt~$zXp$8+WXC2I_+K0=Ti56XogAS z-f5-{i0nIH0N#CP%8IJ(T>!OUQ@xnCa8{rsN^kGXm8(>}UfJUzp#cKXrAJMbDvR3a z-~%82!E53TuD}9KwBN=d93H@rFHq;5FBCse>V^J(JR5~9{9kIuTUPWI1!p{&N|-IJ5!lk>yQ&r5#^Too%z zChhh0+Ssn3CM^zG*puboW;rBIhIr^@j&1gGA5XIWtY?-15=?^u*DR1Eq%tIUl27lc zvgs|PVj&kD$iLEq9HPb4d4u#ulgVuCthaah^xANhREiDV5d3g$SW);pO(00zePk90iF%sELIEZr=K zjLP0B@Y@)NF6Ww7029TZx&dv6-vmA57(AaB#TG&6M&} za@E0But{laNkyPn#h#mP!Vt=7WF#n2Vx>!IWFi@3_AieBrna_Dm>kAZeh#R9+NzBd zFXvc!T9ISLtzPlpu)M&t;CdVGW^3!K-@ax=>R|maGn8L zZ3r4qnmv$JD?m67>lI3sNSLz2Q><73BBtA`XOk>j3Q+hA>BG2i$e(H!W&bWs-| zC>tuVwzh_s4tYzBMpF*RB?qX&wS=jOfo%b4x=SZsg8|O=h(Hhy0Z_8|1DY07Bf?z=rSd{;}f$jRg2~? z?YV)9LDTw{XX8S{1O4xovOzq|Mne_jy(smgl+PLyqDb<{Vs?3%_i_mSc5w7=kGN~s zWuEua%zL!_JN))DO~wLRkMB1lJ=!I2+ly61uL^c~&B1!A=LTx*yhjyKZ#b>ceKJ(W zH&7Aalolrd1&Ng#U!t~;rM+CCMDv!0{?&|kW##`2m&-CPwb~g0RxTEPS~uK?kh!sV7OL286tPGM3*@(^WazUVY(3zX4G%rIFOirz zWCL!9N6hm4Ye`6scnzcR*=TIX=rq1U2jcdrhulHPyi7;qnoHQcd#A8zoP7O;)v&?9OZ{3aMG3 zC&J}#@Ki%jEQ}2H;NE8um5#ENEKKxUB@HGjK5xbwAr#W2y}1BlR^A7;t_m+J6kQ-C zl*;#5BYdFr5tUW6^f9{2`%20I>ak$+-?ZjKR+TC}Z_P)h5<-Ump7B7Q#`@%y{AS^j z&+AHt@>o(i;bA^b9H1NAf6a#kTX&VJAhjlKZDS%C8n@>U*}cwl{ef)2p^g!@W#oiC zgLn}-HGAen^kGkv5pmKMMunZmp7?s~g|l4Jwr;j~f6sxydZv?BE>B=rCd*}z+WFPZ z3@j%%d4ZYSFbaUOjek~S&jRn5xh;eg_{o1QQW6&FL4Kt~hRjSc4Smv{e<5(u01Ep{ zNnaIFGmM<679naeC_6>0B4y@zNS&NX(%41ArX=F*o2cE`1(EUwA?rm_Tr(EgT zBE71j<`L3~jc=%4J&%8&T=FS_8YI5sOTze>8xaB|Jry;1jC-K4fFTXSRF03-hU z()83h;sm7|OXM64Ev5>xO*cp7ifj^_Ndia@j*ANXTfT{vRnS(zz*8<^FsYj;B-CBUur}60U zd#+EI!elsFC7G<0UnF6a3)7I~=}iX{BO2Y4f<=8e$lj4p9rT?C(Pc-DrWUaYI;5p& z7ck@xl5VOFIe=xHDl~VQy^Ud_kp=|kiy@RsLD5r)e72pFuGl8^DnMsB^wBOnXaRbd z*aLd$(tL0iIk_%0**QDw?0hdtPe5I;q%fw@>Soh|Kr)qh2fdUgYRkANQhyR;`NCxb zo#@wKJ>ah+3?OyUPILAl>&>P#b%dSW2ekMLLS~-E_BU}c-VIU-H?ac+M+LK1K3gd@OJbbK5%oB^>fn@WNNvbX0ctEFJP^d z&U^M}k4Ge>P|_XtfS4!0d*~)e;DxBqzJ@qbtJ`do8rQ zlB--aT9TAnlwl{y2Bb9r1Bl=AmYJ@uy?@3Vd zqEvD_S`x@S%+Y%JW;Y#kR}eOFWG<>7yX9`tEPrMbz~6~oY*VGg40g`SxGTHEM@L}s zdpWqymVFKQgUz1{!O}dy*lGK2r1PJaWx>)H~Q0z6Ovh;C{w zGz)H9;BLq7!*w$lrG5Tn?!b3lTf*$f*K^0QM6PS-mz^-15!+Mw!{M`R`=iG0#rJ9P zdII<6^d1c>W?S!WpVOf{z}__xWZPD%s?xm~Pw$&a8LbX&dWKqTJ+|9w{q1G~k65Un zKO#B6*0;98tB(D`RqbY&8Z6kf;FO1@VXgkIe!qy2Lf=F1!p!med8xpV{;B>fh*UTm z7PB$HR+}}HMSGF_6)5_OCU)Dm|4Fwj=tTP z9gXQ18yELVz(ARElJpG$8KWFQz7g;Yl@!f2)qU$L$U;vdO>rO4jRw)8BoC&N7BET7 z5KW|lVt_fRNq$cx4{sg+`b1ojPq``9>n&DLnUaJY^+9doK zL~HK5zNWn?t%`J7kbP$tfZ%I|ikl4XxxBc61t4KVZb*NRFJp2VnELz5&4+-}0Oy|L zr~7b$P5}4|b|t_@4Zv>_nK1NQlhsQL7`6s%bdH#7$(tf0pO{`cgC~!I4e4!lRwb}_ z72ki7p440TbUYqFavcP^M(>*8eKMX+#v_~dqEJ?A*>g3jQym&2-63o528;{{viHcEo`)%E?4K$nWN#?-k=NB*_hY-hF8?KU&6XPMpS}y~i$3*=R(Ijc z)d)=U1EN{SxS2FH9$A_=?54y*%&!F_~e&_o^=5olcE}367@=db$TrlkErl zzx!RRPz-S%`37{%9f@( zAMnG&1=yDCbB#KH?`^|?1bHdkz$tIlvKI^KWiUZ(@*aa^gAy%I{$A=mK=Un%kj-nm zw{vuMfY8%0YRIthuDKNl$adXTN9Ntziu@4^AYf2?pRXKt7#OicbLu+$zH@4**lu^H zo^-s=?knIdWED&a4{gFVG{}Ze*F8p)I#m0?NjCqJSmv`n>g1P3#rLnX54Hn;{88RF z)zw_jn?bbVwON>Jre1iwKmL&2|N3nGZ9qO6*WfD2;Pm-hy!xQ4*Bk2blQzBp3bVCg zx1y=}WGnfvl}7uqY31e1=Z>>CwcV=??-lkV|9S(6JbdMGvi@QH(p*+a1Ns7gUN*n` z?pZTTFv+2NPv3GGGw2T&rEA*l4MdDIABqVDkyQ1F0yQO8Sp{3BFxOW{iG?@c+Bhk?5!QV8?^em z9@6{{^s>pQ4_$aZrwdrncH()d6Q$5{^W=BK9HHeR=^mVRlinZ&W6H|cpO!rCMv(Ih zg|OaIiMun5FunxncSIdWwEYmp-=>x%IQE(>tziyLdsUXe;e%X#8l64J)~BJ|OJEa- ze}(zUAIn8z#7h5!eaXpu~uv(18H#%2K81KkrI0oaaMCGt*88)kwl(BVmp0gm+R z74Kitr9f!<{#q|tdCm%=+pqA4RIyM2M?;Se6+1*$W+E}AL{z?C6Zu5ec47exIu#;l{ zW=x(M1P(7ceI^mSx{c-%!wpO>Q&7=22_4)a z*M%7-ZdZ7?mvcN8M1t=kfIhlTfE@z$bQ zILUfoaKAqU|IrYB!;FF?3-|^6`QMj4DGDejva=2D!1$x-@nLZV5`_@UWz!AlKj%fz z=B~zHize7@P3sD+j3>ZeSSvx}POdoYj6wLM(8iTgALdH{%YQABRWcrzt5ZKTKeCj_ zOk)DS(j5O?X7%X!uzTnXRM5YKqhGVUG>3a2pES z2yzK0#)lI+27M$b_-B)v+r8KsWa-3nb1~mnjxL*uE%VL}A9tTBGa=^v;dFcCl1<9WPkM0X zV=qa9GQUJKli069LqyTIg>|+j9wLWv4G1zraDM6@zCQcq{G@yO=HTpnr*m+y-P!r! z6kQF72)p*oUQ~2*k^VcihHO96U;e2~jbP-IAZ5adV&gJq`%7hmo`F!%O7@R-yFbJJ z{&Bzi)0&{sY|r2l>LGUyvjK!;?P6A-6&<WbM=pyLO zx<7(a8ds>fbM|^E|go zC)*koe3hOWDFlV!4G9N9JqLYUch_&e{(yb-gEl|Km2z6Jauq(6kLLQ^qrL7OYI|_m z7ZNTN&YcA3V~`HtgD>Jumg3b&JU}XOMsO_iuGA+agA@)4vH>2oV8}Q6YH>Z9nPZFS8|*hJjbPA$7h!Oh2?657 zb3wB}8SXM{%q9bKX}^HqF#P7E?*qVi*Eciu=IYjm-@+d_@P7JTm8`?=2&)|4y%1ar zoxH;WBq)3J8AZbwaj4guP1qN9BEGC{y}Se zjm-Wtb&%?=TfaOVITbMVOrQC5lD>ewy6El8tqt7{DnDi)@3q2=3| zyjlRVKBk}~A)mzQq?l1sVe=jmf126Q0(8Li9uIAbY+y-S!h~85SA;5Dd3SMJ!yvY2 z76X0hXvT6G3H~6Pzp>zHb*8O;x0^$&DyNZ`+ zM>0|Y`5GX3Yl!;<%I_GIrd&@fX4u!tdG7|>a=U`gE)WK--T>@NybZ*zTQ<^CL+7-E z(LhT_Xj#)=UXpVv-1tAkWiFIp);|<)TKXvxrP9;s#o#>tMh>Dl*m^I`$FYWc)`TCM zQB5sjsYQp18P4a97pR>#XjSb$XXI>#`U?YzmWP(CE5z0XgqTuR3Aoi5-Yj{jv=*>} z&Nma);@<;8-ysxl_+Q(eVtqm}_0AHK){k)hP7P;2#{8EeWsuq{6$C^)7pxK_4^>5# z3(|EJ+{oCl9ODTD`dNZ$PZX*Mmb_pTq>%a;v!2E27HkLXRc9r-M&6 zENH+Ah84I$ys8LR|cojF4TmOx5gtNs)(8t)##>ugKCrI_Og4jp~^afNbjD$ z75PLc=^E-AMA5*{Jh93?MajWRD&8xl$djK+so`l+9!n)eiDAU^l_vI2IB!@s{aIcs z?0|YsyaPtb;k_q8a;Vj-OR3-{vXYyGE_4ol>ilxrz(kJH2Zr!VFZNLD`o~sswui2V z5KUl}7qGU-WSd*TFq{Q(_JEM-?{&CyWUr2K(jV*oNJqqg6=-wAoz4BF4X%QLb}vq| zsi(ndmt&i>ahTaKZ>?oq`lf~B73%qK@|-%Ui=H9zOtsyvdq`4c+hFsKADvk zmO<_YLg+E1+-pKbkQ>o!$%{23e-jrG4K@-6l$Nl6Ia-=Dc7bK|bJgPv>oWVrK7x@U zi{Q$7yHl4(qncmX>AM1XSv#bZRq}mWrk_g&LEda|gil0H?%E;JJ4$WO-wp zPFt_>t1K|O059fio1HV|A-qGkUqakV3sw&oFT^2}csWDFj37irPQ3Rix4Nl`1|f`M zVKPXz;WfXBHZ%dLiW2Gy#yC>>L3%H-KeqS=ei1|hz9jI%$B37pjdYl!+ezfF6y*$o7gWKF;7v$uG}{HXc0r2PT|y_1a>6wPe-ny378yX&{`4YcqE z^lm}i7rlP|7R6-_J;J>6wl99kzd^~_5CjPS#kW;2{wsJvZ;edI>7SX;>8k)iBX{24 zT#NHL@gO77#_H-jzX+FjeNA}>@P@vXuG+fQl zSHjUO0@N+RC#)rV#Ng0`c%ify9w5WQ0NUxO5|hNk#|7&uhWr@zYYN-BkEDSxNUT|v zLw;>*OtD3S!CYFQd*E?SYF^H|KcAgEvDgwdLQ%kC zn@<0rX0`9-DP2qP-={?e;zC&OFGo0%b$7=C9v>IF8}Ov%E|*bKywzP+I$h0JA~LyqRd<<{qJU{UWp1ZzuPW07 zIDK0(nVU-<<0WPA;y4GbhIYS(>&2rXyWPDG8JP?*IX~V1XBX*+b?>tErLOfc59@6z zXFVwU9qe1Kv?|(_q_UT=Ic=f9KWYa`A)O7pqay7z6>mU91D$s13Id%7d&!R84k9wAjmI-C}YRaXwW|tbCri)$K_u-o=Z+{#i^}6vBF)R<-PZYvj1h{ z+x2HJlH@10LLk$hDo3B8KskUR!F`{jZ+c*s#uDHj*1JE~GsK8S=zv&^IG0HBV`t~h zn?n>87{>^*-Hh&rSCh1#1u@GQmp%g~2UXT6%MI_*#7WT+qM{(IY3ry2!Kuj&8=r42 zI)!(!^5tkmw#uFIa?1jtD<7Y&7i{$uZ*ARm3 zUlK%JU3Q+CWeMFA;hS-NWarJ<_s1vu|Lj0;54NQ$(-|FesBNvr5`-2yfI5gc(w%@!sD;<4@8D&~_>#u+Nu528WBsVN zGr%J-D`CB>6zqd}0>-Xlc2Q*39_|w&u#VGEHJTmCF>b7cX_DWh6Km0C$O8+f2&&-` z=9{=nQnGllROQ)Hi1OJKPqzY11hA3l4{EM^mA``RnncH~4YiupjHuSi>Qf=vfYeFm zbi#4qVdIs8V=ovCk4<>sVSg_vHSA4f${hlS4L28f?ZM)eRb0(AksM1OSz-?Xo_)AR zLBrol-a-Ggl9eyB(k=gjk5E~`6cORcec#u)eG1fa2boy`U1X{Bt&;1CIkD>5{;}ar ze5aNwcNS%U27+fT&?=FYj@e}3!_^9)Op@3TBvaDv0k+N*C)b>y(FClzbpMk7HLw@T zxzqp7lES4V*b_#2wC7D3hEr?o6_TJB4zl6Z z^xDCRT3OFhT6BappIw{p?&+JotE}C5OBuX-xRcMVi`-W7sC;M8y~FBG-0TlC?Ul)g z&!zDuwyHG$8UwpmEUXnyP#MQ8FViqMR;46aAtxiA1Kft4HLdcF2?O){3sazF9Tm@Ob%m30))dVLo4^#NmD8XnGR3>uXneAA30h<0XbJZIp(VZ0g8X zfNLm_hMl2u%OQ_B=nz(~qeco76dm?4(j1^coy$!~5&|!B3;p*%Hv$`PqJ+TsHo+x+ zEFaPv#j(>7BbQY0oKY=MfN6zNkd<#_UcDVuwinu#gon(-RFHe`K5^J@X2F+;_e6;v zZX(qeb7BP<0PO(Wf@#$M)Dmj)--CUU?NoT$T}!3VB&xq({0O>)$a2;#9J^j^mK?39 zH(n@!)I@8 zo{`x41M=Epc#E<>h_yUS>G)?_u>VvWcFc-hhQo$FS!+o)O;-urRFAyQX1%TRSl1e? zw>{jI&ttUb`Hp|`T7Tp#An@2r$x4g0#Wjm)zVy!U5=;glvusGwQZu1gG0dd7|Bc8z zb(x1(Z?c<_Vcz*WMxqAr6ppxT+29C6TktflMJbDqTjv`!Ve(`4NN3>eX)Gt0za9g* z#oWk3i>F;4j|_YL3+HwRHY8a$H8vMyj~g;Gj!We2#7Z$RE(mT9Zi$;?~5V~}|RQZ6zNOCN;(ujC$U4|9ROqhZg= ze3JrinUdA)0hd3m+}Viy-#wXx$@&Vfu9Hc?D%4)bf68nvzJ%u6U>9LAiLX^D&#W(n zOBDk9*~h8kY!M&EleHeIS0?wI7r<=$(Ex%B9NUY^7uqDb^KEbBYv$OIDoF{l7xyTt zUaS_`!0^e z#8BVcC@U1VsU=&VWrBRjIVE}f;f{1$3-C(8Qp>jg5qk!kwn2M_jYHanD^4o`+sJ&r zVLH{rFm%4B$g2kL@1_9YiqLOb8j;%0P&Ar>>)B*V{Kz1sNPD$cXM>#SlA^G!`JoLZ86aL@`(PAp14 ziN*_Du~a?fWEFAO_}8pG^*Ody3ABATOnp&~2}f1Gs#4Qat`7YeZr@L{qE&{8KR_J_ zszhj5=5S4c2ewrUBOaSq;J4UHN?aPMbI12CXx0)}*(SyGhC}25y~vQClZ=(g-Z*|d zaJkrhM5%%z)zSQ z%~1MSg{E4}$Vdtvqf&nVS-sEX;yT0_&25@;Uy;zcT@)BeU_z zl%GgWBvmR|deHvuKIJLNL{7%20JwEWPP<~?VM_6fBKvJ-nl;ztWCYj+Y?uJ!8r1IR zm&j~Py?QuK(kkZ@0+3-=hf_}EJmd&bxf+oGKbZ|90>mA17hoU5$j5AIW;cWs7kAYp z+06?wFmW|Br1_Zi7`=d-1UMZs(3!!?vg6(bM@iCWAdg%m4Q5AtsP@plV-9$u=^Qhk z0-RlE*q3{&*#vip+#%Y7_+t+MS)XVZaRbCxnV}85cGzpHeiDnB1zLXu*N&^F_ZE)HqZBPbTNWdAOqs4IV&2^o@wG{ zE%0TfBO<6%C*98O`J1DiDy(FJvBxdB%F$dv<1sYfco9BdbCjw-wOMFfK?! zfhsfvqB;inP$jUHmBInDvwPw9&r7i7rv|~BY0^`;pPot;zAVW>6!vjqn3iG+QbQw& zV&bIzH;M)}0}sRC5(|6_mmK%W!yUtrIb?*J4~EB+X*|fyNF>YA!9Id0|M$W9LHFp@+4t;h=w?K|OieUv zUq5MUU;-WiR}7?gw_XBuTSH7yBYI+tsO`(h)+v%oM~d(AwYm~y&gY1K0dh%fnEOa8c&vGP&`0B6CxDiK)3OKH}HR-;{QIw|NUl} zV8Y>uJ5Rmk(WIYY6QFa2|C;O2jK2&Wy$33?mLX~Cmhy)I4#P3PaD_4L%|t7C>MkQ} z-i*z9^WOlfM7v#$TUy`rx8grR%XQBb&Xt69mc4n;d?2XT4 zN)(6jLa}?OG;zh;cx zM>_I9K;P)B_P*Ndk&snKLe|5`W5O{;_0{ov9k%7iXdmvMzB%olZ~yT6Ebyab%~*!s zpH4Nl84G|0?E!nv=nXErFyyIQ{uYFVgrO<4)Bor4Si|XP22zjmqJ4 zJoT`F)ovfYWe?g{ScvL;dHjqnZmFg^&d5{VrQ-%}5;OhS?Xf=9=!S5aO}2B4-ZDHs zmI-+_T?N`g8S-?Rjmc`GKM)qRY-Cub45#5d+0O1p67^q*R(EuHnfLN^kaS+}uO$hE zdJ&X)b_dpN0!eqVZ_toUzKSgv&Ix*>u2<6a0->~tQ_I)g62ta@lK3(tSN0V9bX@r~ zKypgZ_}eMX#t?8IorT`d@8$$##v!2tOLka~Gy*6C1hn;1pEhEbhk=gT5+6-w%)Dw6 zV}oM;r?FZ8i7ZY%g~9pZ(XN~S$6Z#Jw1Z6z!mylu(EQ<93yBZxp6u`a@*>%5KV9G8 zM1S6OUBC7~a{qVv|DDU<{`W3_T-k;h!Ylkn+Ry)V$C38)&)H;&T_A!W{|}Vqpuj@1 z+@HQ@X-Yn0&k8K8bt7|@ShCSw+>bA{+XQq z|1SM!Eq(jn%Hziq=^=kmpGWV(Iq&A?(W8)t2Q{hk=(Us6Y;0ByuG#kgX4CtBl1*=i zT(tePc+g2!*m9Z%N}01n&a^}?62?4I8r&RtVslg|LmscR7-2c0oq2md>Xz@#P$O0GmZk2T?`T0PEMqfc#-R0Y^7&TU~uQ?!q(82%S!P zkz%Jlw*-v^C4PeK7nX^%^vW#4c>8`%Yu~50X1grV+%fp6_|4JqgL1DY`Dildqv(k@ zr_Ax?Wsz~N&oZV+BHu35`o*jw6iMv&x0qrWwrXN!4F92w4Vn9yzfLDNxVHFy^(DSz zz&iZB>E2;sK!Ae(s^_WUR)^s0&LW`{r_}EH(a=6}x^5e^K+eRa4US1D1;NC-%~Ir6 zYbQtcuQxwO*QCZ&1!3s6gYsvf5CU>vX-l~Y4_#x%nnJ(95i+l12sT#_3QgfIdq0?m&_ z9<=s0_Hm>>Jyt^iVCWmuFx$u0gP!^RS9m^jd-%YOQnm|a^|aoo>n&XXhJW_MdFSAu zweH%7ugO&dbBRAT-HTK5raUEHlpo?jfyekmz2M^julT2WNxL83(J%FiH#xlHpYEl( zUnvQ|mfGNuF?8?T{`G>1B32lUO;Iya;tteTX#KW$A@%2Jjp6I~%kv?jN6al#Rcjli z`ry%dY-YYYzP_Ox607Zsx9!@u8}4n~WmfPZ6?cJ`pO`@1?t8Q)yA7~x%Pv{225-*w zAk>pi-=~0u0xCk8nWEPUa9E>DM0bM#BkSe1=rxPic@4jWqq83T;Ve`;pz(IMqj`lx zXu~b=G|Bsh{^gfBXx9uigdi+Y@%`g?|44{s3!_dzJDo|=Dol}M#{14(q6!vlD9LUt zq%ASE5Zet2;3SsJ)TY!?3AAf({4m)uZudeH!JjVe;488&98o^Zak$ z{#R1*t17Y8#~-r$Gs8@wclokemDwa6WS3K1HV{-{5%b|NoAf55qQJ~GUMrjuhtAUM zTNN7nHA~n-#>N+JfsIc3)2wke)d6#DvRTryz!F(*W2hC`t}4iX7Jud+c5~dM#d|9C zDM^2zHk2>DDa)e)CP5?rrs zKKM;5DVHzTBgKK#dnWbp#FRhi>ft%G_5Q0B^fRdM>fy3Wy^W{xJ)|0S{luMO>wW9h z`$Nc#U+>eVgX(*S_a>eMyamS{_W&=x@wR(_cinhr(~rJ;iWz;eK>k+y^TVBPpIiU` zcTnq{%4Q+^#4u^^0+a+JAr7~;>_&R`b`7_zPIhj-Z9S4FNBcWB<3@u}h)v~>V4jkl zubY7=0BGD#(U>?=@yAx8%j0&RkILWz$KEmX@s5*?y@RL?`tMWz?=$}IH~in{I=bxL z%dN-^xvuJtnpO641E}tOax5vmY}ksAlZM_WxF4HlJ|a&|2g|kPt4+gMnYT7?takZ; z9k84%`&oa-+mHMdzvCSS{Wle!JP~An?WliPTv-lzc{Y4M9Ni5oZ>SfE&9|`p*R$lW zXMZjJdbVuV+uRdyL71TD@y%3c`b=#`-(kX#=#FVxZHtgf zg_d04G;0c-k&Tnj`5qutjc|NaCd`(2jmmb9?Cg3G(|$_PDd1wCQ!lD6tqFM zW+yExfA0B>}DwK-nZe2aF*{78Hky z{3K<^Z%rP@%m;&H(G#mCQ>C4JEhxBc*G0aa>RBRfYDHj(GagJr(%!4Ht z7LR~lq}RdsO0jfy@}{eJL0CrqFc;YC9GrH;HN@|BFu{vm%PJ)gpmP9G!_GLJ4o$07 zi5x{tKu6ZB?$5YcQoyP58wq!h7=w;fPDCF59YF}`C9?gXsrH?EenMDadpukhP`cJt zVQChrN?&=qrZ%W+P3`;goB&w0>G&8qzFYA=w^O5ZOn5x}%KOp}o(Q`yV8R$o#fIu& z7tJ|=+W|+mg+bY5dfFZV*EmUrS&p9VFrTO^3ZwLoydw&q+43lW%t%g?!N=2G6Hw)) zzOM1^z~i89a6TYgbd>Eg`W((g0I|oLyFEAEvhNZl*@(f_t>0&9kW@=(|3ERcxHn|* z10PX5&RQ|avZalQ2u&jd>JIu~Xq{nBn8(z+lT{0CI4TzMa8A(WyBsFNEd zkT%R-X&bI)(1ygG>BR>8-e_`xJKTRzM8wG4tj$-`YfEM9`No}w{t2cLDGhBjpvseW z)6`l^h&UwpJplG#+GHLd0Ij5B-EIltf`$;)+m$;(cAN@sluS2f1yHSZX6C6{t34mg zD6X3JjnVMlqeEI{?amwwtW_yR+T+J=bSb0kkmw#ez*X%<&NA9rU9+y46S|P*^{L2u zBU({f>vCtR8j5$uYfovuk3lp8*|8OA=gjKB33oajG82STq%_wnW7cg(dvo+P+U?Im zqktUSktMTr3ToDociZ}p4gJS&o~t0P{&zIrzQUS_+|c~*%j(yL20{Zw2P+C-Wmf`} zlijvcFH??HI(MQ;W*&vNrfe!wigq^^tII2IH-UWmH|6kvb*z%+hx6`#x1e+IKN~t? z25JFxo!baP$e{(DKf;u3CEeHOdxpJ&a()1E@(9X*pBA0reW?m+c8-UG`#;PdCs}{i z!${{%{hfVCp)ub)lCtevTwx-!&@SC{Gh8d`$G+`jpc{qSO)#a1J?qkKK^taT$h{GE zWDoNc00b!R0>!E@SF}R+?6ggL33t(S114+QUQ4&88*3N96v1B~wzOLiF*7_P@X>;> z$}Tg?bAWy+Dx;`vfOaA{4-Ys<6<=>4(=DahjDW74W{h{~eT#%VWPwfL$>`2vSLZ{Z zR|p%Bu^W&1*rTm)2u4r1pJ7+V_UMfNeVQ5Em{+@?OGus6Enl*0UNYKXc6 z7`G{?>E+yxX4CO(Y7zDd2kTnKanEquAo1s0k=-kBCn04QEQCrr|6nTrc{E-qd?kH% zq&@KlhHfo%ebT5lt)>%RVPkk9ROM5U)hg`n@y-S62+D#0CQ~@V_0x2L=u?kCpz-Jd zBGiZJB=xThkHF#PWNkZqpHsjP@G#f*StV#nlORX(J>Hl5;_H3L*0+W%q_+1^OQVKi02#b6zmtZiB}n>Iq&3)tMFUQSpdBFtfHW;XE< z!`fK1Y}WPQw9y!sR?2%!!YR<%+$v5uI~sW5B4R4zY?lJEUegYREgu@(e8a9MENw>F z?+!38R!|E4dz>f$c8F?|o5p!9#I}ZpFz&*+>Gloyz?ga2bY8=kvaJXO1E$p?U_|TF z@f9pu@*Ise04y(iS&+X4^3eFjt>m%r=<8_ppjPoY6!?`=ooXGX6$w_`s3K``9sC7# ztky)7r0|fm9QYFeVbY6DuL!olW$?Eyq~tG7{s8>=QTNC0NkbYJ?+Iy$bUs0fBW?u9 zrhKJBUG9=h{3N-kgbI~Cn_4KGm8lR+n@UVKxfdzZ0=-V}MzZ5D=@Hm3M>jXX)9Pp& zkUpaQl|K1OCYiwFp_>x(=Nn|L%E_Y3HjC6FxtJCS_)_emmmPW;BxuL`q4dD|ncR24*GWqqT>Whuk>*L;@XaFmxt07vn%sY~j}R)_2xM9#YwP~M zfLEQhpSQNxe#V9Dto>qs|H8ljX@37xs-I+F>{L!glF5n;8KEHRbOrL!%%pWDWJE zeaS^Fe;GESzY?~EGsBHNpe?$MqW1z#Wg5E>M zVq5VpnR%2K*@ao5=HjoASe1W!tV6Plkmc+f?(gX3@*vA>gu978>h+2b{hjG#i&fw&t1E7W| zH(|h$udH*$SEK2u+%}{||K3ngD1`m2_`LM>0JHU$cfp)$+(s=} z;tm1;Qg*OW0Y^&c_&_c(V5bzPY0A>tHXQl#-E>}|WoMeH8v|`iKOP1oSI2b$wJp(E z()>{1x;BB662v+{+cfpyiu67olaCQO=*g{Q{dvf-Rkko#K&8D$&b>tr#bW!)wHNHI z+6{b^UFoWG_AqQk3{bM&>qRS3zuM3-f2fn3HNM&7@?nI}u9 zwmA{Mj-Ir2_3>yt2DnU4>#4Y&OUn=)CE0)juf>s6re!U5(j;E1f)!GpG~~R~7rW}T zkE7wt~x>%euWN z6G0#K%UAIWZSCSpR)EY@hSkB6#b2h*@ZJBqf=QXItx&#?jI$Mz&eaJ zx#gzhB*H9T79yd|VaU$4%$(Mr(CA8DM*K~&qX-f(DxB<&uB zZz~)lYkgO~s1hBogXL{nANbD8HhRS4i>VI?2-w3s0_MX4l3v+l z$Pmy2c6atWkuEA9>tfOqZ|)&0L4YWu;QkT0%c&SkINaBb1wAC8bOtwoIFMkT5y`hF zshzopIEp*+HQ>*^TxZMYkP5=Y%?NWDE)mr~{=W148QiPSEO8bLGntpDo>{zOHr*8hK*{aLg&C>dvFa>c4N3_Eoqp!j1}**d)J+Q07u{& zdbwqIKgV}TL$C$?Yc@)&sG09acj$eS7h_0r$Va6_t}KV??*xy{7DFVdFo&=$z}LpL zu?=BRrLEz$fss;(CRsYPi|R*m`C;xF;gvR{eyj^%Iau8Y%*SS_@268HYMf?pHc>x&ZM1!7eY6d8sT+KL(88?&;Ot+@jBXuZ-G>|a-p!V|dLl16Uavicx z-?AB+NVVq~i$~XnmZ{}{%y9hk<(9?kl(Vu$Ip`kg3O1O{N}9I_`tD0Uk}n1iIql=$ z43WT0qBI(dL5g>ykX&irO^@jzzYT6AuLzA$Dc~&Fgu|NAh!Y+Hjci^(pAnsi4@jd{ z%S$$cub+hPsgsEx+2`8Z+EQItDXDpHtF2`UZ&uBa@{*AGsmd4Sak@fMg(~MQ_vt5j zGe{7J-^K&-2ziq(1XC0~WGP;yiq|5K^zP5*M4vX+*4CQpW+qfeb3x3~ftZ{4{?M$| z)ae^U5`zttPXe3MTpj2FT2Q{$>?E`_FLsPhes+YKuW~!jI?7ei8@qw$P#BeE6PlPKQrOj|JJ%akfI@7^S7C0?-ZgK3z2zw{ zu#uknkfIi2*N~+%6mD`aM4N3Xz(82b0l{mEziU&52dY((bbGjS^P+yW{LvHEz7$T05P-+ zl>$zb_%kE9n_1}ai-ufe;8D9ahTE(aqAt$e?x1L%vSazxARQVB8W2+{6FsOK-y_;Q z{y7>?^BcgQQ(am;3Bdl_SS_gRk8D{ds5pSv}!u(?Nc$wu9Kn zeK#55fn{&d5%=xX+~fijsP^K1z)}BHcZGA>H{f?MN;`nWM3Ws~?RZUJrf}N>Fx!P$ zt*T2FB$Vn))((&`&2WMV4zVnphTuF!d> zYL5SiY-iq|dV5wbAsP;qQY*TMpQ>3aXu0mbvL1NAePwKl6bB>Jil>9Y1=t-eTEYl* z(%QOW^C2v0N=CUMZ6T7Rl}U!6n<+m+F*X-p&LOSR3Yb6z2~g`@<*JMBgq;z$A8>&r z7`sgp<=SlJIousJHh))r37P#2{_w$^;6v!5uU#q4*YA}B5g&zL@(eSUDmCPsgH)n{ zGt9o8JqtWxQ0Dg_xQ4j5W?v1REZ1RK^tOacw_4`h?MRGfAM zP&G^9`s8Z~%kmPtso4rGwv1Rup%TWbAIU#J&Eb``;U_<2_xr=kk%Ey`>V-lgDSM;A zfMl40Ju019P_>>9J)BkfV37aUTDbgKg=;0m?zRR~+G?f)&`!C}(30XQE)kuSk>^SB zy3HrJXW1nPV??!on(4KTrHJ&?=kc@wcu9$9U(z!IqNUEMo~2Gb3m1`0<>?qwU4Vbg zXwa|z^ymUYBIw#AAY-N-uz7hlH3(904}&UK;SB&-tZp6P1fc8WO$8|}`rt9uuj&w= z+SkvF=mufC#66D2Xm>{i547|8+4&FMU-pmoj?cgE9PJ+O?a2bn3RuBAf*ga?5YRUc zw9P%24f*!Ud-?%E=vI#&Sf`c271KS;gO9Nu81RSv&=~%+>4H(ERf$I3pR#3ytc;+U z7hmka4umZ&0-z4%n#mJtXr;l=%{4YS&3;>HK4~|dy^R_bTN3!b=( zO%9xex5_}oLjyQq^UG=-;154&iwipL2O0v9b@B5SmhBN$)?xs+2GHN*-AlBWlu*XJ zY03#lRre^IUoJzvDCB7rqm1{FOD3^jvSovLMksjSDn^H+;pz}BN5?4qoB-&D*giHHv*X`@jVJv8``LGz#%9RRAf_1 zjFQKRRD$`1WJ__ElS){yh24d*_`_V1celG$&LB}Y5FlhA*u-5e9MYhjKU*C*6zi?E(O-eA&ZLP}PVM#e;jP5qQzw$o4<^cPWfBYsJyGM8P1i3&u zVkyygmMe)&dKRpi-u(IG$!0Ax2w4kWW8Ic(qs2W91sWNtb=lXBa`sj2;DAc87kb;J zp)AMTjGTX|-I7g8)*9GH^)9P*c9nxftp?FcrY~(7HnkEngFetg^e?pgRGUnAA?8|) zLOmz1cwPPZ<`ZA+nrGp7xOHGrEi#Ox?FLh=NPd8fk8OUA={KCw0FC=|6p-_DgwWTL zg78n%@LG8~BAi5ZAj%=#MyharJRwTavtJ37|SMl-Z|+)j+?X2_CZ%?b-oOs6Umw;u_|ZmXCL;4K;ur1f7;(=HHoRV ze{|MG#cvlnIk@Lo8?D-7C~5E?$ol{Y=Ah`oa&{p;^dD5F>;g4;s6V~{2c#TA-ne5V zW~_p?%h&L6iYY%)QbdnkBovxc?hh`Fg5O@V_>kO;DaRo|7e=VoZyKLfqUje&FM9M! zm+hRo=eA1ao*^fWdk^&+0n;%y$t7AS&|6Mz>DKJY<)Xq%0x-Avl+Pf-p9WHf4BI zo(6&>1)w0Gu`IRaF`2x|LE{bzkV~CL%Fwzg=F{im5}XhjDsUPxK2=-08C9_4mNkO( zeEAJRd-XFiO`25%x!D(8B*A31u7^li&6L?#6>n7+z=}1hQ^};?IUXtc>}P8h~EoW zEM?C_W@N_Z6L%c~7_!$NeSN-AZ*-x==Pjn~2HaH445*D0yZ@$`5u!;K8lx?5R(uD! z33VAYk&~e8-=h!#I$5TsmxYngEg3Sk%64Gub>2hx5CJq7j7PX;%xY3F8(5P3*%{5Q zu3=)?OC4}W>BVlZN3XQ=SW$SjtTV$!1Yc|&;ISPDW-)-8dRevJ?=7oHql ze>qr-Wi}iW=CWlzZ5TEcWIRRM*&)d?) zz-F3D6?CynaWh)g4hi0!>8GGEbJIEasq@Qe1DM~3#Oe(VqK6gSHJ#nx2jUmPYGCDVT(c4%v|F4;>VsyaZ zF1;^oY;hq6Z%sGwwfaM|qQ%jUzFe3gMYtU|QR%NRA?(nri<{b(^N~6XvFjCq8;7o+ z(kn9U$kl{@=`zBxsw4Wi0PcAV`2sD6Y=5J)`q=TLPHm-bI_vAiJA)EBjZb^m*-hFE zFFhnrWt>!tbq;51v$XfV1GZMUBWyo^{X=%YS*lM-npQFOU_+n5TpUC=7KgQpzU5p&;c6ScWetF$p5Vjz4&cY4OdNGz4yC*O zy#wjxY@|J42B^l@JpzG-Mf3B+?pbHIbJi)>g^lGjPLY>N;}m(TG){}0OLr>OnWVIZ zON#W~!eZRa3Jz$_!2|XVM1=9ZpOA9Zaj~cyw9fHFTRG=Zk5$)_q#`DWyrV6)=*sKrf@31pe@=X+!!L%MjHDIuqJa?d7b_b%UdhxLbJmsu|>^S zj7LXY#Lh9S$7hg20^*)W{=~Q3Ps=3mYeovb&G9>whvXw=CS@E0ZcPF`=8#gDpZ{c1 zI-go{qV#!Ao{;<<2ipQI#AJ%UH{;Qt-Jf3{boP&yO3_mQD}k?C0wsxFwAomBr1O^{ z0axnM=IPje7bUGL^k}mdkaf<81{zbv{0Xcn`TXvsIVdYM&PuF_ErQUp!v;4`XykH` zUKPn>8SkEX&&Q;oTp)>>pNdMSP@q)HJ9)e&D^Nk~mddPs->J&x3N= z@aqyVxx;yIfbQW}JP}|K(gOcuamFjiq)J~t4%OOVEQzSan_36$dajHGoBm)_E?up( zcMAIu@ty_aP+#2)(eFi9Tvmo}ZH+|{Zk8ZWV)=Z1Su1XRZRcvl7ZkTYU)YX|+8?7* zbRa{2Ttp()?jeuVNdxPJJFIaxkvaR$3tq7f=cm)j?rcnnLcPs>I!=d8yG?h0F^%l+ zL;}R3z4A}Z`eq6CpTB?j+HgbDOZ@!uUyHTB0^Yq6{=HPvUvkW%{r{X<{8+`7c!2o2 z_0L+NFIyk+uZhV;*6qjM&eSg9el7y=LQIXHlO6NApkaIM z*+H_@cLwW~kJ{JMuqmMl_~77$>@YZpZ;tklj||y5Sl;wyYpDPlv6E9&wtN%~8U9^W zq5Jbr_x0He`vv-Yd9x(FTTeTsQL8x0?;GU26`Ch#`7zm^_HmMB`2h?< z#jFP@_b84mmH2jK#E37~=(DXQ8z+xBMj;#a7%l?r$2$Ezl)oq5=Z=mKyN9K;e|Ti5 z!-W_2RFBIU4V9>Y(nMwpHx63-XI(oUGS z2uBbtO&%$T?s7>LOy{v-Bi$0P0Usa2WQ^f1ru3Y*)!eu{P?~Bkfk=a0Zp@;+u~<{=$Bg&Br@+>m&YUICbcahhzfWZerJN~@ zR5}h|!^!RYdPc(2Nq}XoLObId~1xI}5-DdDH>H3AQZ&Fi9Lc zRw+h&=s`noxXjEptx5CHpCvBEU zi%mb1j4Nm{;##~DGM(73R1M>(d5d*b6 zo|w^Gi!}ssH<)E$ND6g0W^C7;xG@Msju#<5!r<@;Is_t;TE9;hEYqqsEeaF=KdPF!# z%4rU~(m`TE#Xi$!5K~bzMV-Whe)0$5v|mIF?4bsX^s=JeIwb z=M9^y%&gR&SR?k%IY_GCEY%ny4{xh^fWXJlm^4)V65_WNzVo}dlZ_OrR!#=%EQAh%|Egvq2fV;jU<;S|Lv4tY^HL=gDfCo^-MEzI=YsuNHu zl?P1FzD2XeO~OwEh?$bzmVs!8lBx5_b17_)|81Y>gX1F21^d)aEpJ;aQOh=2!i zP_rq;H&I~6YTI0Gc*QaBr_BatAq>PiW>%bf3hb|`zYz_hFE4 zJd%8w0e^^y+O*4@U@Oq|%}@30z(DH#QUsgGF;H%ZL657@Uk+!*bUWK0PCtK)mGkH2 zY7d6xw8?JwDGAVJ>fTD+uh`!5Q>Hz6!bai_Zwqp+FbC3IdvM($HG9I8%&N)jrd1Ms z`)Ruuo7kXAX=XWVcX?`&V%267e?2PZ_o=j_*K6xkCAzN$W-@=Mbq=QLNqf$odP3v> zjB(fR@zStY+p$h9FmkJ0Slq`-1$Sv?p#q^9*)&jlOs`#lY(xR!tjafI$V$Ch%CovW zUN-mAiIOPtO9c-NErXJGII?_8xl0;`r>4Ww2}wDDXc_Obp$ES+$S$X=H=|;T5NJLI zxgeV}lt;N2mSwPdNMtfjMLtE1(j1-vgwWqTRpv=H)pr^z9r#W=K}r+(j3x$HrA2KA zD2?2Jl_<5p>PzoBJ)!&7`mBbkOut8Usv)IawG^DrSt44bBn-KBvNzswo{5BTALz zkCP)_$j6KWq|{uAFCb5t;e=;qFWhE>`?W+7oFH4lbTl>cGkreg1i~5SMx16tg7i&w zl2Fe3jfOV@7R6PEdAq(Za0)n|6p(nvRBrFG3 zCEy*rY@%@B#~c1*0kC?i#a@L;R*-6`pUlRf7$gLe;zjwhx*_)YvA_O*tMKn-QtFE> zp*)2mm?z>ZNZS2_WqLlhqUJiRg#4T28>y-0deRKZZ#Gt*l}n?s5BbVM4C=)t1p zOU$JJz7Mp$r%!1|a2_L2;{U@crf^Zm;&o6Jt+^~{;;Hw6x!WhjaG^rX9 zyqwWHi0La~f~%4DIf1tb6=uf{QC~&yCOSE>-*M76Gcp%AOI}0B7(n=;TyJ-U%LA%q zb};sAdVQ{NdR;1e&{%z(PT1iA(gHvuo)%tvP&5t)_e&P=Xpn*ny4xpBJKvI54=*bK zMI(WHSpHZUjT1wi9KXf$!dft!-QsFyD7D$jqN2J1Tqt)|uPF?(>>TodLQFJ<0UMjV}^2e#dEc4D>mTXy7 zWA)wgms@|zUjCXaRhmsu8ND>=iFZ?g^1y8nm3V60C=@oR31X~ES0cILZ_^=xypOW zrIR=+J0~p3Kkm!Ku=;WA85888{m8mj@cQVFmAk>qOk?js{|i=)F5}Am(Q3V@E#i+h znmkREYPCAGAZM9!1}*9BFqcSr4SCNEain{Kv$!cW-lqi?Ae??5{R+Hw(FZgDJY z;a+V^ z>L-CWXhMyaI)5upB5zwIcv+1 z1n71ZO#@$|Z{Ra}@93Lein_pyM~+}Te*DN0iZK4-rwjo|$+()9*4ts7Ufes^HIi#I zvLefi5k$aJ_z*L_j@urRt^69D<;fIcXgzB9)J?y@KT@-#$x~F5h(gN>#1)-VaQx0~ z77gTs(H(hal=@TEmNQwpd`S;!OU@+t$yr9LIu7F})?i6aEn+ZH<^))wa4}WRKfQLS z^kAXYCf&4+LwwxQ-{^A(X<5Kn?|Ho^&Djv*kP?#m+~i`@^sY&@+vB5IA|Bvv)#(bsyO zsG9SOGHEqzV4Q)oQ*WiH(Rgz)zNNfsbD0;jJpWB5fk6riY`ETyOyz&0$sVDT>=Fo$ zI^Jsz$Z=aVK30LG%C$%l1af%`uWxj@u|e(w!_2Hj&E9afh`%B~YuDtL@n2eCQIoH} z9DLR1K=oRecY#~;(t_tPHa^$8K%bl8t=YjYi#f~4C2auM9KfdsaH!F?<5nf-uu?!w zum=#rX)*zOix3_m8CzTK9>PEdyDJ}ArlT3>N>qX0!|=_a%08T*PSeSBA;KD0ag>uC zDW&ILKB3qMjmaub-uP1cc-zw68(lR9XeI{`!YQPpfS{C-Y4drB7MD~k>2SJ8!MNj^ zq6>lhPF*^vyL{N!_im{wtykcGOS{T6HSsz|x57RoAO)xcPwsb)+U{ea2BuZX_^p%c z#ACYZye$&)=xbkH+ zm%Q{jOfs#i+cJx@$8(wE&tQ$C^t+NF_Sj%fhZ|gOkV&AuT$=t02H4wnEyvo?G(Cs~ z_L}-vvcZ+Z-dHYO&=1`i8;k6W_S~J(j_r(pKWpqQ$(p3=)dX!0gB)Mee~pIkU&Tr; z)tHS156F%aQPiBjjooF6eiFs3Vg)07*kW8*9S`=|9N6daUls>(LEdXY&g-Fk*F3I^ z2zgLRd!5F!D_3!4{x?Qb@&0+mQNOR+NMUz=sTv?@>P5W`K;bNEyYeNAJ^3G7CB zS-3Up`@E78ki#Oa$v7wqcR)yOGCfsDb=6pP{uq}k%@tc)R?9K8=*A^9xWsm^I^erX zp5-`jyHL$1@S&9kKj+C>X+pyKrV3GdWIt&yUhUy#abf1Lsm!Fh=`~xyw9-A=Y4k;H z>|PG{FuCkj(wMcMHz|3?lFGN;N@z*9g5?SzCa91C&*7ag$JgCZR*w-`-`bLjiurJD zK@|3Q_i`{5xDX8jWV?-M;czZ$An5+N2yu1+$b z-}piHodFz|hoktSoC$VS;>ndOE8%PQY_9Ggq7%%gL9DFyEk6@AG_|pk(7_qX70Ux4RFnS68nm+3m}9I(?)^Pu0<}jbk>_TeFyWccvWl z+{37N&X;|gk7k7%=}mU?E4NQ)8muo@76kG#g`^~)yq9=(n|*#biZoa5Ehj65Hk=I~ zye(#9Lbe8pnmqap+(!JtbN4)GpKK01(Ih&7D6<$V!$S%=d>ak5!U015-G-hY#Xeh#@&Pk*hM%|n89$pMGBfx9v~prvN{y61k+KiDjfSBh-&05n>Y)^~_xeho`=+o(luT&-q=0ZV2 zMDcy8fQK7G@8OT42ch-ie&Ih8?{eR>a6yd~l-yXPr1F(hVaj-LFd(Z=k@FE z(e9#3x{Zfx^L*Ugxj9KmsJSCoa`aQ9T_+LbfXEHtMTRokJmhO@Yt3cK>H(@Gi>fP$ zk|&u%D{-jti1awJu>`&M=GGIGf0qCcOOf3Lqlcz!b;0ZHVstg5(-A)kr`a^z@g)n3 z?3Jypz^dYK3YWtCEKHFd@?k7-sofUR(gQWcRo6kqrf<{6d#t){9yTL34n%a3zSEYB z(c}3iXTSfU>ID1=`_ynes1QO|8G<{5?V_U|D14At{c8qDy9X$nB>Rw~Z9CABwV2=M z%qMA&T!~Tcj_;u^G*q~4w8&kgXG8mMomrNMm5`hd5WrX^m{$nVb%-D?o?|oNKEHMj-yo(bM6tWECji_rOKfe|R6PVzGaL8L2phQ5bo1goYy*1%VOhEqi?l`Osm0m>c#YlNED@ zRmsw+g3*Ua!E{JE5GnMRk@~u6ic&U5mvI1%0BB>nC^jC#Z`}vE4QXo6d)s>04qQuY z23xz;(C!Is7%nLpjagyg!2T%0la}Hf(q1;2pgfR(1BYcZ1eqUbvkjN?Hm&uODp7_K zhbT7e`Sx1wcbq-^g3GboMulY$C1d7ZGDN_0^d{H(8K;a1txkC?;I_<*hA~*qQEasx zkK6NgY`jzf1YD&xmIa#XQz*(3t2ZI>N9js5;Jpfu53zx8$Fa(3L>OE^;86R>{N)m% z_wfp^%& zJpkdqnN43SD~Din=Hv*vwpd;SNvzx0Di z(m>=+rvbL=D48Yw&u$`9kwY#>S9RJwIYVU?T{+y>6p60ryY)XpoMi}Vv+mn#O*eLP zBx&qBd~-QzE@zblI)CDpRLcxq>3p}XX0em~_W3PsZFx;yeL<&Q>Xy2r%TB2!^4*6_ zOxNb%;6k``7#+X%_QPs#YvWAWoI}_dQv?|VBB&04xfwA#%}DT(%G3oeV?HO9neGCz=n-(8Bp6RX2=WZ@U&| zHb35jeb-UI zxnZ(x5WJcHiJxsBZKDAn#w-TIubFysN_WLHU~ave(QP^qdAQa{KzvDV8Fpytj{2{S zq;`_Uvx)5q)^H?P;l5dNfG}y?2u4Ml`W>140ocjvuGEo-<=wQHXfuyW?Ou(w16c@k;}U!94<}rQ2Wjz7>t(F4NoVd zf#IF6@?OHY$cE5QM<5y>D^OnYir)kTFC%1LA2`iY@fP;7Wr;|#tajWo0HzhQ7W?jh! z^J-)&%7MBUWEc{1))Jpmp`-^*&5X!2K>x}zn}FL~Q>bM_qLvLmaDgY>jYF~*BdwMS zS&kZmgN=mH;aSwcZkQ)XM!|r;2u|hyf1z{!UYXf9p40a~3OlZ2kqLH{c8DB4{xQO_?xcb}k>Q@cqcs32@H98&cb~ilv`QOkE*sW+`zWOqN!}4x(EJ-t6rB?M`~-D+Fqck?FE_wdR^C)5ss_t z8Y*8~*NDT_m9OS}_~mxhzCev(XVc3tsB?t)$G=o_`*Ugn%Ny*)WC99TPbF>9Py%l{ z*Ayo5qHrvg^3XvCF>(;AQT=KHHdIqhLkvMZxRnRMu6SdHhxX{80Y_$?^k?bdYBVvo z)J@Qk;a$8X^BYo<3M7AbD17DywX+M7w-DJy5AJi$4^jd_I$SWFMi51ab}8Yu@0 zIB+O}WNTT7s+I$=!k5)ZtK8Hf%;jd1%xMay9MP`; zUih=XQ4^by5<;no{n>P^OQ>LV$vsusNK6BmdaY%(vXPbawJA57W_pJmreh4TK$ViM zN(}-KunUn;IYF1AG0dg3n7m4ihh#pse3%Z?tE|6Fyb8n^5vD2#tag88L-*o7>guDsyBX=}Al;+F`3=GXV81<4%^4`L4%IT?({Ts0Z`Dq+541vk+tL}-9x`kghRVeFf zMFMIz*qdT1X{X9cAC{S|<@g+u>Zo^aUj|4(9n7fiOs5uI2%2k_TL8}~nSm!y-mc{o zzlD)Yc{vay44f3B3SS6gq@Q#lfV})ZyN5f%I>eyy8iYo-^>vkUqGY8Yqbi;q8|4Pj zS}9{eV%eT;l;MjJ@Mz$FV{W;8Dha=A*5!&*Lq|$d(2KbP*f`F}z#~w(8?362A}Y-x z&w!x;yHblZ7TB;$Di-v`f%5V-R1T9nN$+%8RC8%HSB4tx31g&B~9ZHw%xO^mY zbtLoHk&GWmgb{X6%5=jWS?MlCAE`>os-X3LvH^C;h$LHKHu>o6IL@W{L0g6{@+bFO%O0HfLxUhJILEux#Q zUy*{gb3v~h6%1F8_Ml%px&gSPKa+*LjSxH#6(n&Jq6QO~EBBUe`FQh3ZX=SXQnEW*(SER4t>b=TZMUo?z5IxuQtJ;oy?9NQwPqC9+d$1iZEDPUf}c90Im zH_@JL4?w7#^THQ4`?(z^w$lUGgS46M7C~StAyZXXQu!%Ecq;TjBzs46mf4I^^$sl)H5Du0 zfwH{jUA$febQ)TRTE2sK%MPnKr{;E5&24+#qULa%7E?~2Jwd&zw$B3rQFeT03U1Pz z6AF{k6K$VNMxsHH>neXOX{4OBr9R*@^kvn-@?aBXi6;u_%-yA)B0UV<^6X{5O6J(k zvWC$SE8meBo|oDH;R<7(1=IshZ{X)=P)DLuTDf?#iB8n-wjwAJc5|(tE_=&++b24@ zu3q!#*uG>40B3OuTVq zVYlUlqC}`ZtWRvQ-3%L4rjD>hZO(Ym?%007?%00F?kG)ZX?rMR6!PO_*(p5eMOL(+ z{fagS`)si{68bE$Nl2BA!CzIL+heKjI^W?MjoM8{hc2?@g3Y-0C6t74Pq*|^VRQRBOiID zcAiPKKJ4b}mPo-5|86Ipxu3b2=KU!_UXO!^7HDPv(o&zGrMevVW^isL?GCA^R!6{+ z`NNYz{7Eam{g4&!lvZ4=V%4H;Gwv(;M1)IHxns7=JH~5q{sMMBZvi`Y0Xq*`z|I2~ zaJwdD8F&_;pDt0jl+v|!zT2)nXr0x;G&XPI`cZp$YG&Xe<6mf5ye+)gc?L^q`J%3y ztgWr>dhM2Ywea>t=NQ?ZbN6+mqMK;K=~iN9#d2l8Rc~|pz@NDPs#oBFYw*BL`*Pl< zy{g`{SM&Mk#jg3!BHf=J$bBw!r+BCTGxk2l@Zx+M(hdPqy^I_Ot=lx(#KE)wYAq5n z83DpsP=`AA#Fop?8>LJ>?%$S{u^&)zTUXrvlc`YE+R!;SbYe>91CTaIuf>P}VDh0jX=BeRaEP5D@b9l(l(|bFzvOUJ09)o!Kf44R%tj2vqY3w0 zw8W45-JhCE_G2ugju8N4a z#HS`dbLdM@Xlw)NbK1G9(`#seV)7uA95*aPIB%QdW2nS!=DubX$0x@>?eEGrDO#q7 z*b99dksP9GjFpS6%7})MeEr#kLgRR6VBFl@HEbm1CkX+=w8pUeId_7DM5l!t1L%qY zS>xpRP^{pXzfyFVGc=WRKpMI$(sl*wY<@K)Um}UW-a9_At?(BLp4JdMUbIqVK^_%60O zF34;&z%(XHG<4bksl%g!ihv+ORnNz6eN(@(S)O)|58fOep(heOr#^0N@nI4aNmr52 zk_Mc%O&S_%+B|x5aKJuE+O@^`3zl%saCDEze=_(?l|z)RilxT~+2wT0Yk(}kUgFTQ zuOj$&;JsiG(f~|Av%mb$Te!4!4=x-VQlAQe!^thtde*2?HE=`vnu5Pwx5dlCPF?6M zqb32yXLr7Bi(j_v7W8tPcr#Yn0KTng0VV~CeV-PuCt#og;5nMP?(6dp`vu($DsiyB zK-5=0tc~em#fQ8dr>7BSV2K5NeE&-gh!ZqWaCf@H1#1G zSxVr?L_wSfw4Cx93i4SbB%mRj!rF^Tw8R4HXgUHflo!dk!pnIq$4Ol0%DXBo5nZfL zv1Q?1^ZAPsjr{z&oc^O`QH0_ywk#83Xg+&QPA5ICa0+1V)?JmKhu*5*5)t|yX65jth-C32E6}1y#*Gjv`y@*%9@0Y9jl0Ms{5#^k4ORWubg5&3@F6& zZ?7MC!%4`yx14!gphw$H32S(P1>u4N2R!&~&W!nAI9XPR;iT*Ew&@2OxC++&7@vUa z@k=;|tE*+7lxG45|j$ z7$`=QCBjm>Qy+);Dz%E?z!fb;461<5)Jh{rjzt|$E(6VBBj2UIc!r2oh z#U>qq4Gsb`j(U-9IUls;{@P%P&lc5IZTIBb_H)2w4+Z#UR>kY9E{ z*R{+|o!{DsW_wb;Syw}Q8XH<2A;GzE^`F(wKBaGPrR69^wvI*6E}@gsx~buozlHOS zUDN=jh>qq#Q?F?nbDCv#QZ}AG{ja9$=kw}*#%QD0A@vC;&k3PyuRu{N0p1(`^^8cc zLi>d}HwaUxHzh(F-Qnds8TDs9f;395K!Q03ZY`ZQn%1TOAj5Vn>iDk)hc%dKjI)vC zPA;lh^}|+Rz5}7qW@AvZ8kT2(EZT51Ty-0ye&r93ZtM?s?T3|si==3-AKI!ao^ck zf8gBYJj%$$RfbJgFb{wG+f$(K!0`egpgBnC2dlj|9xo$A@=b5bh+E8qt=~gnJv$WrvzX*aSff`@??rffM%0W_fF^t&pADjn*{; zn;`58?+33F{(i7`vr@SF`^s;sW^4IPp{fk&1n7Mx$;wAWSnABC*E>9o4kzZLdc5hu z@!>>zkIaH?`m;?_!b*?{f;-|L%fUjKnr#R8^x8kT6C2XV>|H)o)Rh|Y6vbW_0t<1t zPs8f73vQvhy1&AKrDL;{XhfTBOJBzQ!BeTWhc;OINjag1x?z_lTQ#`3K!$5JOQNoL zvm){HS*SH42cM`C-t-H8sj2hlN!cs{U?L9vyv};>Db*uxXPEzb@blJeLZNWQWMeTpX$XGv5K%$9-## zZ1^d5>~hN6duHJ-GKp>O1B^2K&Ij45;f^xmpWe~|vw0FLn1BPsG+JpoA#~Fz_E}qL=d{T=o z3t73epS8B7rELdGn>#w@f3*5@r8b{8>(3P#br(NZv_3@hj<-*b54vaFWas$suzPft zv|rGf)>WRq&=RT=P(cmb@<8bP5{?j}-iZx7WgY!c>E{7>`$Gy86(!8O>wC!~x#F}g zL_4Xg^u}s@+Q~t8?<_ffb7rK{e;h-4%jpLFm@>hl8k8PWE^?JG3}_$H*Q;zA`9dS| ziK)4C_!FuI`9oM?jI|JXe_+28G+mbSxb z(njm$M$*|frFd_gDZ>;bXT4)^Sj7puts%gVDa{Uaz#gm1Njifvs6Od~WgonYw=;6R zLK`Etbay=($mW%u$l=G)?HKtc>#iSm6nY zuk;kleZCy2HE!C^Fh^H|=i9GYrx2A=T^GTmZLG@${>ipN7nxxN=G@!JSP1j*2vUHS zzNcCSpB)tBw@4AdLcM#`wm}HLmoiQ_xPaz_w$FQKQI%dt3Kk6EaVJi{;*cA4zEgC0Y46diVZ~aAas8dT3 z&Y}J7n(T{^t7_`x%z5r%Xp#G4{+%lCydZr{t)N*HUvt6`EjwsOfkZKmgzgQ@!l;6g zTGi@-6$&?DjJnzMdNhI1z_Q{drs48r=8q8ZqawMm9B3(Q5D@DEgz9jB8UxBiTQ8~F zY&_i}gw3fbnZz|N?ma<{C`$WpD8{wFr8~B1%?z08+YvvpNo%Vb6%?`3d6z&QM*nu^ zE`0~G<|-yxWY4Yd>>yq?lke_;qg^Eyc_h z@NBc1J$65l+Xgmf`I<5P7wZK^2_MM?>y&(S?|3L6cGazQ#aWY_vCGXY^V}5+mOg3o zLV28)cw8|jmtJ^p?NDNM?mweWdQmh!t{6s6s&2Sa*01l;);G>1)z+ zu;;=+7mk9IP!|`>qHF4|RwJhB9*OEPAP&p3v`7~p^Z?#Jcm+3?~#IGiR7 z)AU|OzV)dzV{S!7o9%;;%3a*ntT!QY1;PhvpjVAp!3q8@L+=Krq!BCdl2YaJJ=>1! zsFyfT68cM`GzZ5$$6#|*+LHwWgx<6$M!g)pJtfnwFTn&+$-5VOlZ=Cn+(j=5Cv@C) zyd_nWaOEb@Xm@!!?io+O@qsZK8Vt*m+ zK$~OkLct*??^VFh#)wo@Q-Mc`VS^2QBDYrzV;!3hNC#)8S|(+hz{_=CiWfF2k1Os zy2O|xbhM_CLLhL_o8%XuY(zGebQE`#j=DcWUuPprU!q&kGy6f^%t2QQng!?_ zz&hMyz(l%Md;_x0A;z4lXN=YzOaw5Ljf|4{oK240Dr(gzr?rt2Kqt)psF`VTNEzZ; zbqXcX?OliMnu&VPDc)_<%EgPESulJ|21KFawgeI~-6F$>BjiMh(!c;&yC=)QJ83w& z!=QN-C5Ju>Mg7_uZzkgJkl1JRUl%}C#a1C;IQtdggW0!<)r2|LC1&8XIr9AN;LEXz zw9a*{l3=qc(UCVPo@w8iuI=b*`VsMHP?{>R#+DL6@Z@cc#SBmQ8(`-2&=K$$iRDR8 zS6Q1FA!Whm9=XqL4Ey4sB^wpKUDSL$HY1A3Brga~tpa?2)&l6+@K`_B$0|s8_!mh{ zy23xVBSEm(PDoms87X0r9xW}d!3}fb+ z34OU?I-cUh7Lf@s^9M=U)V$k4s5Tl1m6Z4UyhKf#_J)yO>`;l~a%LOS#el{G+C~=b zj+ibz&u*5VQ8&2}`kpj{J;Xe>P?u3K?nZ84Hh?f#D>Wo2Z;5Exzqw-FoU)P0)l0=3 zg@-G8#=64+B*o;;Uy>@$Nemt$jj#!E;Swv&B@R{z z_Dw6fSZS{Z(WWa;G2XBRs-AWDc_E>PF4**9(>3>hqOJu0=Uo4Dqjt}}RyKV_x%`T@ z0Zl~CYyW*64EQI!&EA8>noxz5J8yX!@oJ=UghX@)1~9v=m(yi@;^Os}&4evi)Jm2w zO2uJTm%Sr_PLtmCigDSS;dvQX=9RN}4UDRQ(sXdy`rfXF^pWPr)q!Vznj@AA@l7+x zYZQJ>XH+?zT67hvTh1-?Ngb;QYJfizE!p-h;S56nlHBvDscq5W7u2+=$#E4tK~SK+ z!B2DTmjS~T$N)8jg$f z1$C*u9)2$FWfhrSTD6MFwQKGkk(Y3(q;#a}{hzXX;tjf)>oDJ4ZgqjYD%C3>jjT7z z;7j3os+dTA8&9vLK4nj3e7Q^0T{WA6`?26;Ms{I&F1bzmuiD>Q3Spf|)^~A_;^F{4 z+F5Ra%qSkfXD5S*NvXM(c-Mq<$lBrmkh33mU{K76e2DM(wY4?>(uW6Zauf^TMU$U= zkSF({fN)H~H#VNeuqecSgL7?)cj5(NC89g9N@-NEKQDX2VPiHN?QS%AujY($Ac1QZ zI2h!ly7ZW7&xtU?Pg^^ODi=`6z=)z#dG6)I975__q+14;AxhS%GqiYtz+_1f<#G=& z@0?E%69nBrzedmuPOfH>m4@RHa*SX@tNcwq zY&2mP-=rVR4;I-tECIR1bF}7d|8jn~e*^`Chn=6HMQjgd6QgL?Ni%tugEZNhLfCeJ zr#N+IL(o*jt%yK1usdI?zL>^caBLe)=5Ww+r66FlKwWU^Myy_$dvuIE1?=L0Y^)z| zW9Z=rJ7XW3=!b8b{vcish%spyejN`s`xa^+rXMiiqG7FxxYZRj;bshAN@eK7-9>PI zijzdACfRiUA{`x{9CpyCXL0B(Sl+ryjOk$ul3UNKSLb_gj&{xvg}VeqNM1gRpvE=B zuo62e5AJQ#8`%~+ZdDF*eKVK|Hy&>Y43Ri@dgNAoR6Qg~VBB=UCPE9Qll`5Waf3fU zTl;u6dY=tj%VyD+n_DI4z|!gRaqH){ntoWI)y~hGK2%MpIUD)ll>V9cTzo zNXSZF_|fJ;RBC1pdLK$lVf2@EHauH#6*DN)X=c|LXv87~lhKQV1DWLIh40lP2cBPJ zkXU1d9W%b0UJPDx5jwMEfyHy%7mFrCAQ41>i++a#f177_Yoc7VF|&Bz-C%Baa_U0( zf}uo=hoQTkEpw7FX=ETN>|%m2O0Za9hd35W+JY!C^+pjEHtXfZDLUNj;ILKXsNtY7 zUFpi0f8mx<#=y;x0O_-!z~Yjoqdk`Ef)g4f4~0XzM2>*tz}L@vM#uG3vTsG5XUUr9 zLeQiZcY9pUU+NPz%jrTZj~|=ym>FF>)SV{L(ncCs>)lpTRT-V38QvjP_^m42?(Q8D@7za5D4& zc{!#~Xvgw7TyH#O{MYM~{U1ALT?$@i?Iu*r`rG#hqtSaK2nC_t@#s?cs6+YXF7W2$ zKR;5B%2s8372JV3u$zO|Q`I@#x`Adb{z|--1 zYrB=m;6GKMx5qFF@n-lb9lST>8+_L;(%yU2>n@Yc0sPbyPPg2bc=;`NU6GqC9iry9 zKk@<26z&Vgn;zN-m~zx~!8kt|+$swA8?}`h%tdTlWuuvbYr$~TJutm6^9wsc$R|-( zbJ1smzBP+TU^$wm_4i0z32jI}0a1V(vk<6_GKcPg*IYtpf?hC9yH?n}BU)oZ7nR7&zA6=B^w%qj=q^NW(Y((-f#O|MVKy#b41xBD z9WJnSLOf6jzDThJu? zmZR;62stnV>EF|G8^Q|#7kzR&Aia@cN`?SK%y?-?0?}EEiK62ekG`55>N46YLF@ zH#bl%Njxls4%%|sd&T;0iI8V)kB3NS{+Ufis8?m9KCX1r_eYZNN2!o_g905pLa^9=@I!f_#bnT&8E|vdPc?IzBh- zYXbsRSDGkKN?Vf0=@eaCB|b8dwN#HcU9Jh7P)cl3!2DU;o+TSpkL|6Gc^IaK{UbGh zH2nePuYbtEwzC=x)Es3?WzP(i9bcOhGf4-VlI*Bt;rSY)vJESd4=sqZ&<&(kvHe%x za}`@Fx@DFE1K0tIptw_HR@PhkeAz!dU-^gbC)gU0BC--3omBQpp`Qe=PtM+S4v=SP z2H$t;2~)kKj&Sz-uhA=lA_|F6T`Cz`skclKKod@B9qfF2`pX~9t5?}HmLV+AgOp~Z zymHiiZ}F1gWo2}Wo&YWJ)sq&l?WXgG(mU0+#@Kf)qT>LB>fyZ?Xj-8I zuyclTeksm4m^*EudJVayiXvpn89p?^eiw@WPJD zNFv4*b5dQrf#o5AlFd=Yf7_4m?>4ozN_7j`kSh4est$|H^FGXZ^?P8yr{Iq(BmNTE zo{EmhmyH?Tw!n=5CP#2$HY;WQ4P?R8TCr%#0+Bfph?gfm;kd25Q=ntq)TiBkq=;eY z!3Cs$@a^_2Q3@NvB4w(VycB;)p@I@kNFbS4g(q^dmfIB>jD}ZuCz)c60KaZ;HW-*& z3twy4g5VzjNCh=duML^ARn2X+xn%XD^LDqlzr%g~;GL`YoB%2i!MsZB2uYQE56DC{<@TL^!+PkW~4;KrfyT(mF?>CkGhTI#L{cAfve^6mqS&HuIU#m92oAr z-Y($U+*lyY0LoZtP)6GZa zZow6m4`-Df(R;V83&A410~-78J13-?zk*2)l6I~T<=gc8Ky&QP4oJDbzKc*0Tig^F z(vkRDQtmKlC9`&TDAZZd%Q=ErX$FWTRRv&XPA3+RT%B>wh#a(pTR17aUhKqrfcZ+M zSX!deG>r45%BBlujmdkm=6-dZ_xsuKtE6Grbnu{q1O*WAIUX4bbuq}imJq}Q#B`K2 znWb#D1Pv=6_6D;)GAhg}2(b!VAr@j4SO{T_)q8&m$k_fp_LIcU#$#{wn&ED<XBn7Hhem@KI|6@YEhoUw26~wq#7C;%83mjE-ldCvn3Tn z?1BbLyUZ(1H~@-=%9KSfuLN^bdL{7GvNK z51L6MM*8run=fN??M8`RVZ)!6d3nUXJt;Oy!mVKqlbsJ%NDbZC*FJy1{$DQls^gPT zp@Fi64BKx}h!DUjl?fG-nUHCrd3GEz@Pyu-rNhwzDhfAfI4GNRwxZuc{Y&*ED=5eQ zV?|*HiCJhRe8WrX+4WK@{#YVALd{W3;riENjXVUnoAHVEr_<8@`sEF|3NMpy#uLYntj5 z0n41k*Q!yKmT<>XN$Wpzgy}oPfkto|P$9QEg~NA;`daZ9_{joND4!ejTcBbeV1zs3 zdLtp(B4a^==%5WsENr;%fup62nR1aKTb2R~1<`|`0~wC`;HL5#MtWlw{l3M1q2>Ny zSThWzx>Gn7eoGo?`yNbi$|l; z*m@Kkjizr3$g4usp8wpy9q{Jp&1rY{{B`G~bJ#uWo@_L1XyU7TcD(m+M9!2RDZd^!a3J}E@)6LG1HovHu z2E;58|7!5q=^KL8o3ba;$WX!?(D@0xiCGiT&%r6 zN|g6tsmq=>A?{Q?F=s}?0Egj56XR;Yef%=**}b|awh6GIG90BP9W4ynB9UY5BeaAk zQ68B84yaLg;5^TC<+ni?H0*^I>ZX?j)gqlLj}Di=_F=7|KQQI{GUX}TGbH%(9jBU@ z))v`#8JD@U28{2eMg*;m2t^flDSIuVE56Hk+Xu&cbIGHtPaoyn`)o=sAdJ1!=e)+4 z4cXlYuzVn8Bifg1N1ffZs0&!9-qq7~{$o2P`nN@qL=U!@ayt@{= z@gnr(UwHZPN`8v3rJ>@5x6d8R1DBj*mxwW1vardL&##BbjCpYlDH~i~QS-m(48P+$ zXQqUh>A7XUIB3gnah@!dKL0~0v0$~a!8F+F~l86!c z6sV&E5|zXN;L65=V#=q%NLJ&@bcZ^JAxJp$a~|3nrQJo+9k^SFXXSK8B$D zqaDKXNinMxy@J(d3p-_!Lz1q%p#3n{F*+}c6BN8F`AJ)Gz4GGp>c_ZY=ayreQ#?25 z`YJJRRg-+3Q_F!bm-#=Qk}vv1nda%PTY=H^BqN^9g@~G?KD&W1tkFcXjL`z@l}vdD zZ?c;ac-&`$0lPc^;+kcWjhK{k8gO%X3c4SGSpyR|UMf0LHNx5^jmB*&IevY9G#d=ijG-bO!GHrf5)QMQ zrv46gc`FEsY$fH-$R2_p)2K9}Fc&@|`8iTHCoSA)U*fBc?wWp6hR*G5sOC z=PfJ0w!kwHe#IS--3ZH`n|9Hj@uD4%v!T72TcwUM1Z55SO#>{lD^2NKD|!9w{D zan}Bx=u-r)`!zd7{O_R`L~zVDfq?7X?jDmTyCL3;ZFro%hrGK78AXkH0B+>{gf;}@ z6>Egy@ulhI_V2tgBCm|lW!~(dhQMuxes1`}=^-2ecHK}0j-Avnmpg+jooJNr zFWqQ}FWi}2Iln(6Ax@4c-;8n?G?Q+c+WdEIP7BND2sQN50q+gD7P(j1^enp> zpFr|5OC_Ox7%_wMYNoqPQpsb08m@rW;ts8sda+&(HLAJ=)nu#l2=Q?T=|whZ+?Ha1 z;HwA?FE4;%O54g6-XrPqnO4%4K{aEY)F27U+Y?|Cj=J65onvsmmA-=t<23sX_Obb; zXCm&RI^Ks2&ni9CyOQT7lz!y0EZe{HOV>Sg?zX+LsvUN2GDC;YY>lnn>JfGC@#Ey( zcevBR;fafRo=-9iZ*Slb-L&o#ioIt%{-oFs{#c|{t*{^OUJk$sb`UmEMU%N779P4q zmvCa}E4)J53e$1g{cmqwYiRuGG#g_}vd1m8|6GFZeQxI(4&Uo<;De3Xw@r2WLYmgO zG}m-Ky{9U6uBBh)nkR-<7~)?(;*lz_DE5$rKnT!LmfQHaxuXTrG^l^?D?`-*u zc|eQR?IR?4C*-z;Ho48WV`(P*^!WUWJ7j%P`6Ac${h2^8Z7 zVf>IU^}Pd88ACBNKoqR&Dzs(`U$4H*u(1S^!9zFY?W+10{ypcPG;w-zc5X!d@oY+) z$IfXg*+NJ3wn5HP%mY(DPDXb+`d$Ac#<=N%WT3TD2!X-`z@9+(rTjYvN5osh4fiEv zjq7QIHu6VUtLnw+bi}D*$uP@KkOByW&$!h|^;l5Xb_JLV6Il=doxEZAri*mgAK8&j zD`!N3La|-}f}YKV$HpnpY#M=WnV=Zk%i-jJFSqp!b<^Qe-Ti;;{d-p&N0v7V|IepL z(aUlbD$0QEZjVr@4}y}+SOPU5U&fCfR#KIql#0sgx^R)L`Rs4(YwU=OERfqXbIy9l zGi_6u5s`7-v9G@!&WVg3X1}RVyu{oRgLgT}4Oa?Ppmx07tf`%y$%J!_=1d!rhM)OS>Zsbgc~ zCWl#?EiOe>F0t+qKs2t+ihKgNDh}^o-hE0#F=sD^)Ia8gW7t`jd=N-DQVh=nmZGnPE_8<$_NBJ#o;d-6io&an|K~~D^V*3ly^|A%X7Ag!&g>6)?a9-br`RE7KQ5M5v~8D<&yo{q&T8$Y*wYo^3*H zBPoa5Bp~%oT?17wC-4S5+S~ZEPL2S(2_FxbuerVA-9>IThh(IvL;D1u^hqhj*fA|H zF2JsGjXGcQn_o;P6~bgJ+Yo>%uufUGk!KK1QQG_>iy!9AL`R+(B{Bg&Hu??h3p7xS z5!Vo)Qw3yj3>ZsJnw_HhyXFUkr>jKWgywSXPeHwy>=ed_9UPuu+=5|xEW<;fapl+> z^J)%78UZmR?4&!e)Y#(28hhzvzh9G8wvz=AHod&axh zz~WG_IQq7MCZ*QObU{ovqhF5js3WOe6;#btYNUoU5!4g+x zcU%lw#*W~$=yzfA5U#y81s3t*DvTY-p{In=RdYh zNQw6$kvk!TtSu#I5+}Al9@dYs=?+FfjfVl>A3!^y`M7>E6=v2Q#&MxtUt&vUyHN_$ zA+Xwp7!I2@8vS!~en&}ECDV?~s!g&Z&)Nn(^Q_du6pjsV0#3OE$r51M5gAa88doB#1(YCrQCLC`?M32{|3YjYb&Ya6wAs zyq>UG1 zKfXV3+I_tSXvr@srQfIS(CF5jk%GGJXt*OM6CCXV4Bx)j$p)!?CC@8g>k3nG6{z9i z*0j1Z7{nD}{nYwMt=F|s>>RUh9LpkSKl*kfEYLl%{;gU5flq+^@L}5ZQM7eQ_fOCh zyNP&c(KRKLmf?IrB#IJUbAIFfFsZSq%y9)F5BExt!$C~lRI8l5X3Sl1Bk_TCdJe~f zDY0ebpg#V-z&JX_;(1rt07cB2Hk&69EHJo)VE082N4Z2fj-pT}T$VlGm7^g)kv1R+ zFgpa*!c6cInrD!nT8g(!yiWh;*GH#&{nsbouLr|u^8mWWC;Y7RUj(rU7_(w}g-J0e zMWMSIfO`jTZt!@%ggB=npOupBwSenv0IC*l2NRO!$f#YG^KP7O1Wzf?>!V)H?`TS| zT9dY47Q87!v=|?r!c;ClbK?7%IJ^0Y_Ap7jLGY9(GMv;7I&C6O!XmDXmWDY78yoFt z+a^X>Gf2TFjnzXajfp?6J1uKpYL*n^9TAw^q8uO)?OM8f5{^+P(4?rTrX(lEI+R}R zsH70}1oBFe-WIN9{G10!tDiX?wl}VQwHA@?wXc?B7)+3F1zC>v*81|jwanQY?NxX1 z4$CetZ}&)DSQ@?N^E}y9P$s>RLA%E{K7*7dQo^faW_)MrH<-MneVugn-93Eu`tZ%c z95CS`%)2B?~AOz@fGjTOGky;YzIJop0<84}oiu@kbYCD1Exk>(@Q8@QV(&mvt z#fhYu^xY|NL{xCY;spkTY#b|8IwljnyAS8Y$)GPCfHBhSgM7W1u(ED3MzNh45fGz= z31PTAQY?}B+Hr2{&@6al!3`lPp>qx89OR}GoRxj4egU%-p8?wlHhwarph^NFD%_Eg z)b7_{47dOlX|*uc86G5$uk`R+s`?o`V*49 zSY%?7YkPmpZu=-vK*YXuravAocMxM7CA?ve*pd{)A3zf-z#pR3Pj%LGLYAlhyJ!=QSpG-!uE&NOnyhCSkmRpt)6t|sC*#J z{=}eNW~0Oh#|I{*R26X8u1D@J6#0l3ka(Fwb5Kw|$&$NwB z=JU}fDZ2{DI&lxhRq^TXj?XFR(1xc>~>xim!YBOIeJQgcUH~@4mA9cFONF1D{E{U zdv?#p97A@6Zg$C5+)e==bKAFK>qCSWPL(SHN3a}_#DeG0{XckL&KoHv$}@%dLJ{6K z>hr50Ce8H`9C;!1e_2yJ(;m!^rWC-k{RpD|U%x8{@3H|!h;njSsDN(77#46<*yb*X zj>6HC6+f!30UhCzam*-%8!);$oyg|eR^aQ_h{apl%|W#LkO%jX=__i5Mt3Mg(P1E$ z8~`f|n56l2Q6vF_O)BKr0$NM#v zwTysUgER1caXEqiBJR;OfGAO-VA`RPX)}{uwT%7KZ&l+f0B%3|L9(v`;?j(+t}rbt z>>RMbg=uvt?XsA3#q<)VTa-ovEOk2RQLgMD3y*F^HEtg426oMZUBQ%ef2M-v`GvSJ z^fHUW!7rury-ba#{FZ-p$H&B5kZJ^4kz?`qEZP{4Hhp>$t#76GKy(ihp<}9OR|Q#B z8fuD5Z7v+jfOvdaFIvmy7qr1~iqZ_#31b3uCX5$4>@R)JVW<`n1pL>10SzVcaV$-N zK3a(qah8ni+!(`o*Tgim7Y9Ik&3huSx{>pI-M}W0lbTUy%`%KmR0chxBm!h$0@D#& znZVihh73qiV+fe0E#8Ax*QG4%vim`dvgbWSgu`nMc;z_f3&!4T);y4Q)~{yk&#>3| zv_xW!#44zVd?qtW5yXv?sD~ugi*0v zZ@yFOo0Fj_lSUSZ)I?p8p)pBEYqd|R$>BMv&yj@$MU&-WFts|id8kwP{PZ^^~Li&LVISq;0?Nq`)e=woO}CZu%E(ff0;hR@X(2FcADqrXrX;0SPSl#H1)Ov?Sdc#v z33O8s^J-FE*OLfTA`pcGkN*+4i(CWq;I2sM3VdQF$+}@k$0%oxMP%!^77Y!Yb6YmP z$oG;EjmBOfD?K*1yJ>7}(Zo?2MeO?vM)B^}$XCNEyr^d2)*w5)aZtAa6Je zX?&*^&=jldH;rFsHJO)}j_wd#4Li;bi%|*krmU;7Kr}zI$|nEtR|w*HKtJ5#v2my# zn}XlqE5kN3fK<5%P6*x~Qw2M`21Ohcmz*yPR?i7>P3C=BVjD!utXEYmPmY2LjGUNI z6vG#|Ex|7xOyX!05lh`qh0efaF?$yzNb#|TcrykUbtj{y1iQiKzv|dFP{oS79CZN+ zoj7V#S zUvTfW=p);}d-LXzd7hNH>exUg0e}icf&m1*Ev8iGY43du@eQqcUWI!TK1kt-^W5GA zv|zJc-Yb6kUWg1zOt=@xJcTvlcFfK^og`btO+6aNY}lW)IBC=m+!7DtMT>L9K)Lm& zcdaDu?oHR;d$+f0dtXazZHIX{rdu)4!LZOwlsf0jY`21KK;WJo>8`Mq{PTp&tkcbQ zJ)OdI^Fhz`qn3Z5aVdAJ2`v9sqPpT6ck0eeU7n0-kYp8AD* z>{7QE_c3*1dYdk5%Yq>k7ZwWPJ~d+a1V4a84$y?j<&G7r8b`!>P18t?-&3Xx>aE&@ zGuooNQUhUW^E1iLC&M-Nukz7CuCkg9hWyAh>K0i%$F-hqy8mr;yM|?Koo!%Rpimql zZv7Ef!T3@9xk-seXQ*wRziV5@vlz1~W_gb;AX_2bnc*wnmPS^qQ3!5ypQFe}q2{iC zIdsYn=_@1QsDdPva(1aL2-h)k&b^kvCZ&pQ(I_(&&B+UWfPX zC7I2%Y8{@b;qt0oTHyZwUR9roZ{8aR1~){9L`ZI_6SE(G5WG$M^M3O)R<}0e|Gv1K zxT)QQ&AmZ?1kza;;6VY|i}4H%B84!BUeAO!@|ihbWHr|?5U*VTs1Zcd_i2T7!^5|H z6KC#Jeh?Qm&~07Azs8k(twT0CEQVp)AIizZXKGwqiv&a*$)K8mB}LAuiXQ5L>ga_d z7iU|YfLstyT*1+EC(j)`*DVfyg81HGe{z8U-Kq4XL^lcJv- zgNa+`^b8Pfn*>SO?XTPrbjS0KuP3o z8}(bMuH?WNjn7hY+(W#seTG!BW(6Y+hXu?_E%;2)@fdUf5p^ghw3o_suL4+0v$6mV z^!M(7K+oQL#;cB_Cwo9y+xshkHa|-NgwCjNT{TWn-$#n7`-{~wHeV%;Sf>b|*2v4~ z#n^6;$v=mQYH|#c4{jzIm_v=5B;3moj^^{VL4WuN>er)1fsJHz07}ee_wU=BVqyI` zP24N_5CQdI6G_T@5pEtrWsXje3)hIU@ZHUO%?ph=;r_hVm2e|A80E7xgdy> zkHxg=L{mW4l`*7p!uG;*Y8*)DP7rFX-u6h5_}WU{5~YOv(Jf(==rNzlz(R`qBCY{+ zS&5nkP~c%SoYsb~FlaQ%Hi}j5kMI>qT5%73G*Zy}5b90-0NKdGt)HrtLX4|dSYluJ z%yIKI#TzX8-lMJN8Nkc;Okgu4_5`+~hpYKl=Ou}-d*?*}%)tKn^W0HL&nuI!LOi}r z4VwS=H?LmrKL|Jq#E77*ewE*cgwqOD7) zAL^{93JQ-6u7eA$zde@_;M8spxtAIO`~CTV#Iyu$lP?F14}*`CpL8^mjXX6^PI0af z9`><}3a;bKqK`9{$X>zNrK#YmXD3Jf{_f$MgOhrC8*8g*alV^!c8rGZT|{h|*f~g~ zuz`CcsL(dpRD^Iygf-5+LVnAUk{vo8rce`LzG`~;*c7()GI7=tj2Vine=ZD^1#Tifwjg?Z&Fj?Ey*EwT6vDOaSsc5X4S+%|cq6HTaq;b2WeyR$@;l5Bg9 zVgfb-Bg!aErRfm`_pD9Oqh^VF>i(QBG>zLbjigZYHxlqo=t0H)j?kYms=@;A9N(j7 z#cZBx$D5vU2B7dcMw^0aFQ3Lns`99+=9)NtK3-hbv2U;ltSY)zamV~z#c~5k;y*eP zcz#Rk;wAFEv$~XlC--G#kZD}8j_D6wnLg`%+ZYhguPUDo-YFky;xyhd>?JyhXZa>!mc4Rj8TY1J}LaBMPoBtQfmlhme4_N?YYL}Ak-eNtRw^1 zRrX+Xenx4z0|MaYMK?6JAwMl4{^z1(SdOt{t1ehu5ZY7S7n(@&KB$Qxnd_iv_ykT7 z#nYgt570cM(h$pRn_}QP*OL!LF%iT15zw!9`DAjNq)8ai?v8(tX$=5UK&`){R1rm> z7w%sinO?JpKA>}oh$v8s?Q>7?vHpxLPja~NBlpOxOywcYCusJGPvjP5T$V#m#qrde z*M>|nFdhoO`G_Ugl_9;$g|a8XRmtj0GdSv6V1+U!-g{5B{L@mjwr`0 zEki-NM+mUOnG(M}f_TJ7aa+LOG~SWW>(CP|J|Zn-RNiUq+|bQ21kYfATKp}#@d2C} z)Z7HY=}tjg1~M4|!;+hz1B`$LFmSh5;?`zv+s)2z#aH}GfrI!`JhzdNa_1bOXTbvt zVJB@MkKZK4@1OqSz`@^X}xGmOmrsvN({Z>$GfmMy-c&DVnk zcW?heKvdD4f<=P+q&dfoi5mlIzdY~+uVC%hU1%P*NsT?}Y=o_mW`P^6x%cq59RKj3 z83`)r7k?CJ9O|-M<1if$dI-IGic9?Lm(y4K2ie~@A8%|gX@fhCc6^N&Yi4>v=SyK` z(QM1Nm{-IA%Ra6Wc&w4AZb&S+O91b6=}sLY?tB+URJ-6C!FJtYN&3zT-9U)1!~x59mrP#( zyJCRRffJrB20;JL7b6hU2pK)ofHjU#69#pI<^&RWh!Nb;SVpavjvy%XhI|fi45m&7 zg&00$CTK|z*qQL^K`-i&?ZH@f1&}yXM^Vr<1gxRjN$3hXlAi~8iSg5(K0TH#K#7uX z1(Zb4k7Qr+vLkV%9E*k8 zIs`rJC`Ut+X`ukV zfX({2tOBFunAP!|A-b$b3Z?p;0*)#D#H=`&a=_-AC-vY=AQN2$II@tH2VP*~)ncxn zbQ^Ysy_((?qY2~iAu2zjqd2COpvgc5Rj{2K5=nSbS1oPO&~PyoR+=;^EYnGdZyfQS zo)PRFOe5ONhaifOF$Fy|P1bLkTuO#Dq*Rx*Jd|i03_}QMLuZCtiyNWkrPMBN9>@z+ z0kBqa&dyhDDvlC;ka?%*?zk)Y_-kkgR-?rL`;?pEJjIeD`@KJ&BT{`E5A*udMfc-L z^`RI?uv&Z20c`xdwc7e(w%W0UW5kzqr6E;fx13J~rt>9a=veZ>Y&8tk_oI~BwI&G- z^AER))!PxScu>E+iuu~^vlbXT5hd#MIWxAS6x24SW88iB?%E`X2n-f9v%Xma zDhP(s(YcW1z;}&`(Kk)v5gf`GZW^0LKKRTRYco2UtuH3+Y_-GX-Pczo;d^rCLR7I- z%l~J*+BWIu0hU5WOj^v3ucwae-x%y}`jel#t9lg_ajP|)1#YblHGU`9xKzwdI7!2- z__=uW*N*f_nMc#d)gUA6d$gH|?1=}^_5=71mNV4M+TNo5 z>aM;Lc`+4|={=>t1_Q8h@MxfVoPB{kH5KpC{zpQVx#J7j&T$rW8*3%ojW*T#=3Q-f zR@)7^Nt1`bLqW@NAkgO}v=H_nrHlzqa5S2FqS}i4bVeye7&Ug^ zE`>NQO+DgtH20pI0O{qvU5TWnroN~I_gS+OLf9#a zSaBjo{iJ_`4y*j-P+jLbgc8l z(Fw3IZ+>f1wdRZYJ7D+9nUl}UOE9%hZYio9g>H1m!DxBR^O2!#7+PN1_G8mm> zO@2wb>sefX_AW=(x+q4s9fpve=O17fT~Z!XCkaDAXoLCnKUEL|0M2q$gpNdf4o)wM z`6;ewt4*p7eh&SW7b^rjSxnFKffuVt5}1)R@g7Vy*He&UFkc-youI8Kr}T5R`nWy$ zV<5}4+DoK2#8FVR0~ifDX9>#kZQuqlD#ss+A%66n-io|~4gw%XB%SPD^iNJtcAmZL zOD1A=2on-uz?i`z#lBc3TU#)h^LK6p7nq|pRvKv*ENT(8A}GKb?Gtu$emg0km&|Xu zTbnZUq8XRiyS4lyJ!7OH)xSd61*s!YgTc%oCI3?wsD6+zaE`GBRy9)%z##9_V~r6n z$6^Z}k17y%8AgWzj=4*}zBM%&TFKWuP)8GiNievAzMjN1C+dkaPE*xAw?ILDHR>$k ziH}V;-Bxam(T}#hCSDmP$61`;?8qp^g7v3;3{^k*#o7+GlX0|Xc^M$YmnBptdJExL zv+R9!wnC14fCvtIp3C~J;rFY_3<;En*N9MOF)K3r+=HP+($3(v15vyj*c6R^XP*wv zFax{e_jjfj9bKc2?#JoHmHu!mbcL6?@825OdRqE>tqtvL^Sn~R;uug0zfly!rA~OX zwuGmP;bl(#NbJLMds!rT5^Iu=&i2x3J5kyMpMP2P(GaAa%@$K*QYywkBiIQn>@=!M zD@POH!nj52tpd%9#u{QN@G$rcdjJnJ2yFdAcH#^nu;F`z5DaT(+=8+B9xm(JR;1rB z?;e z;~_ntj*9Wu8!c|BZE-?^O~6NIoJEG%JJ%lJQU{aU*2j+Y*RirS+5BExB$Mq;=op{8 zsRC?9!RNtICt99^!&m)R#=NnK)(yH~|3P7B2D}>rG!}E4_XQJXQ{EfTkD1H2gBK%B zRGXZ!kvI!AHW#x&aHOoD^U^1NN0CI041>{P7LjDb?fL}iWDI~bHuD0VdmR%$QJMsH zf?_l@nYODlATGr0;vFD8=YgBRIPl!A=91ajBSR3H0NPzv(Bl@Ts$+*lu?Fn_lk&$3 zqy>ziUy;yW&JB%T7DMKuokUg6-T@Roxm^SaqIX{Jr#X*Sm}9k*rBfg)Zad^|K?H7z zNnzhpW@jl%fbaI>e~vnd^wF*onKm?T!!QJ9WjaCCpEL`R<={vlRX${GGRBbB#3+3I z@iG><)}CNY+^0QZojsf4o8#e4gb*j23sQ~Gw6^N@DZ86z``lO1B5bxZ6F9sq)EC+h zBzzCii*25@;EnVWUizzJgGj`zn|NfKz~ABb@DcJdjIMzXgiqPhGL|YG{vc1y=pwQk z@+hWJ)!*Ct_BsH+EH~e~g!mB?LVr=kZ$3qR`gP;24su{Rh++$zC^`ozp1+eloI+f~ z#9r6p^2Q^JKGlBOvu|)p+0m`uDen6IffKi?I-3+D!=oza=Jr`9SV*4x0|5&*B#l2qR%cgfZ^I9dy!Au||q1l&|g@ zlF&|^W8z!X6B75+pfM!U#!5AFfm^Goo!YwEs-{}u+kzuFk*R6avFU|_OUrd70@I9}#edpq=c z3k#?@q9L?HRh7$>|9?PHf4A~~T7oaf=d{Yo|NqtV|BvYT74O`G@}C^-zj)CYqvyVpA?Gz)^f0U~2qUt5BIeQsIK;6-Hz}fCR{EFM1=+Hpvoyh2e_YSyCs8pBFuoO}P3{8g^!`q;X z9IGikP)T@N7})FKu!I9a-fgu$h*rJ->UB25IA#IkksA`w%N%J&(+3_uC|Vy2S$+@= zdu-fR!!F_st|*8aAuo{T;PMP1lA(Yq3@Y-K!(;&|K9^{#BmsnDl6p;3ei= zYd!Q0tv`ic!YjvPKmu-47!G4=(pK)*k01U*!;Cy>`&z(7n+PcCw<|}EMD*2O*nN?V z9zM)AdOfeG+~2*Nw74?oKDEwB5@lesT=ADU_c!_eL6Ri=@8f7^*)SSS&*Wa!b86!f z@S5D+XvijeKnz3JJ)4v#zsk!I9v{V!B}@5Ox38P&Yfn3OG~zVs31PKE z-aHyTsSL4CwA#;6%f~H&F4b7QdG;`r4;YkrFj#UpHpnR)qjeW=fqbfb(5-GnHmquo z9J?i#B2RwPdXfB0zQJn~*r=OfYhcic?z4KGt$Wsi-7ue?&M!l);vuhp; z9slL^oS>5YzJCy;mqOuh2GG)-K&d-j6cQ;2ciG|5&e1QB80Q)gxZOAyF36ajtNwHv z8JZUpOgP73FVdcNnK_c;#tnO>B5Fu!FEDCyW83cr74$s!;J^G=XPDe&itO{8D;36?Yk87U^ke@^sOA%Pt10`k;NF`3(NBo z@)DoX7Q%Xt?JaL0X4CyAs&|as(v|CKHC3pXy=QL1ZtR%@kodUwm|6(qq0hslu#%e; zxgTNyM5RCkf)onW1U+$goaa9w8n2U`E#@eWQUQQ&0#Ort6tuRb>Ir#VO?o{&$KV>s z5BL=N2YjZZ%1_bkUrnBXKGiFr>ByKY&im)Y^I@PEgyzGwlS${fyT35iKC(^5#M~+`LNz(Z%@&UYg{62t>dp}_`VsedBNCq@sOoC*52rk7I z(g~jpT7Y`;-sj~7+^rHWG(0oM&J15OcyVIr(r4baP*x|`l^fg~zU2eK_&Sj*;^D-2 zW#gLcojozrwS0I{0{UQiU=7Xj=}6vI76ws;0&~te=~sNx6hsT!LuqCc?`+B@8XaH! zscWVd*cE}z5GIf=gqKzIVKFgCa~qv7$FKBDV!o&yq^fM3l;FWZzQ9vOtQetXpB1C( zI`FA@;4dI_rEQ3HZ<=42T?W@n4#Wob(O2|T!KWNAH1D1*X1DBdqenr0gG`%wra54y zd%e2!qH0dRon`U+V{tO#Ddf{RcNJ%zgyB=#1G1&Dw7$oR0shx2x4p{e0wc6Sdf_VZ0%!|<=Kl*9^MMVz;7cjos5F5A;nN-9 zMu&6pn@7w%DF+|i`TEP(-)(LfJoW<&y#r060@COHqzB)Ei*f&TJJ7ia@! z?W&xWjHWYh;4%ojq$0~iI6U$O_VkFo9UM*O{;B?k1AoE)(;y13R@2G5eC(%iHCu-X z7XtsTLfw;}Xc_)xi8|*R+^{Y=HSC$bO?w$F+n}&<_Gdqq)43zr2<+L8tZ(%@lZPz? z+Nh(hs2v7ilW&}>ELw(j(K`j3_U3sYm+`7Gl+%4KTvf`W`srMaltQ0 zQ;EDFX)?nz_))01+9e-|jsbgoc=q0Hnc$xNcyGdBXcXyJ#>3XbmQY}Kf|UjvO-mC@ zFMhUD^VFi=Xm@Z>Bx>A)FXFlV;v|waR_#39y~AjQ_bBz;KoW%O%Av>o?F?f2<{s11 zOpY7O0jqOVfzuJ+yi?bizqO5}_4BqYeBORs_NyX!x^^VF(p@7I$=IszKy{38E+7to z)JZvY=r4RRb5b7QL2&IA0eO)oLVr!ZttlMQ-Bl>RKj;~`{PU*aiCXHS@Z%)2HJlg+{9mp=fB1m~47!Cq^KPidCMn>HWe95pcN-nT-Z@YLp zl7(6E%A(ibGsEf;nR}eMQbr!Y7J-X!^iKq~hCaIcJM5@AzB`NgJ0zC6XwXJSC{}Q& zxts0#iXnG=NS%F133a^tegD-C*|S?Tymn`!<38HHx7b5w^612SUDOPLSP8(1pdR@F?`IY`FI9VH{`C*LQkz9lD{(iAm!RY)G4?iHBAu6 zJ5CxUU^7o|!n4mG;hEw$o+wyK_)KGrgdM5yqNIk6VoIz4Vg&el@9Y&y0RK@;E5aKg zUmH=7`w(<~VjPMSt0tu+D7u&F`S9ARpd4L6J#XZ6w~wNs8EFGi#e871Z@^oGQa5>2 zR;?O}jhrlpuw|{qckL<~m8^oNo4nwE7v-`%c&rbQVn_V|J!gmlr(-4+X#eNeM|*Ex zpC0x1-t6|{A+ze%Ah`|$6ghq$=!OzjfSxFy67P%+-O<%(sUIhyYW(VivR7c=4&<&z zGq@cN2mFVijznCh*KX9VpBK~oGSvKn zZ$PX*##fA8IU7vNvqBBzH0sE7lh(Q$g|=C&ZLtkd(X#@twi6$xf|jT^>EsiY_l(5NAxljLEfC=Fuk9u6omgQJLo85XH!UWdb(z%W%T}h5 z=BWGkLI218QOk-27%2aMS`BX?T2p%u$z{VfX1#>&oq&K$(3BL6lOIArSnK{ee&ZK7?F0-fyO+p$hx zsa*xO3tIU(2&(-?`jQt+L*%?5E5ikbVS$f7Plby$2jyqJ1E>>hS;t&uc3Hsf!aSfIn2KJN7o6iKkmGI z(?4!~$=(05^Tj{l|2H~cMnw9He}38aP@Dl<#&Sm}8Gu;8;>k+r9KxO?A0vzp!*hgh z2=INksy>uOB0)t{+EXk@hn-IV!DDjySFgh`#cYUYMPV2ig{tyxj&`G%$_@7?(aJllzct-kd0xu{RbPJp5ELUam zQ8qi7De!Mb9~xK@ye8C#jKV;S)kA)JcHBEICGsCNL`8BdxJT4V7;68$p0D;vSMh8_ z6JQ&%(T~>ZVf@H59S^%Mg-%7bC&m@9N3{ZzUXl=4<~q%@27G;*_1$i01ZgxjB)3iA z14aI#G1wsBjI*LxbVmT#aS8cJ$jb>FIoc=#lP9;Z7C`^IncynKIj2&7#x{DAov$QK zt>Lf59}8T&XQ>_&Hpy8vyd}&>CQTR%+2o-}Y;EYJNW-nWGb>6QyY>E7~2Jao37#KSGCn?U2%lkdmkIO5t#6~n_*O`;(8h8<73xsW7ECJ?vvn9Wkkm7tae zX{dHeK8sqC_o{x=1JZ`Ha(<^TcZyOHPl1%OVUOSCW+t1}mDqr}gV`zZvGKy^oF5cdu1L4!D;eGv9fg*u z-CKCkf{6;fBe_XE{X}tVM;M-tN+5ir3rN`U?lNmRqP#;nd);401qNDmvSL2yw(oh& znZcm(gHCz_6JE*1&|@1;SnNSmOn%3tvz?+ODSC;qL*B17;kc0^AWfH9cy)@pR8}RS zbgebTJFF)<%48wkJuId>sjn~zYmikHqx+*#DUfsggdDoI<7O}t9{U5a(nt0O0%Cy2H#+^jAdl-57EIi zAtYKu`8kHogv%!fI8nMa3P>WwPrA#+QXKD-JuPA)PROd(Gdo3}nh8`lqEP!6<7!F- zs{O~bx!iKh9F9;ZL~0EEKlr+;mK zV-W070U}^|Rg7+V&b_X}>nT1b8af#X?Uz824ni9{b@OgTj+%wNvOS$jBr?w5S;{Nc znqsB{d-igRZq0ao$LDLIdFd!KbP@H0h~W~={3&F|qm6_(S8i8~4 zmXvYEvE>>mEr!Kgl%APj$&g&fcqp&u5G5yMOWj<7Zo!TIzB;4uT0`54n?W(bq{8$3 zLotg@}o&7y4|L#FRdr!GcE?+g@Vg=0316 z4@d{z#3jPlZrw7IaL=;FnXoCc&$yWo5R>o%K#Z4W z&a#`W+?yc6^2PWB$w{CI%Y>(cu^RhwGfDGK94nvcnqVE@0%MSC`re+n%iM6u8dx(o2T^#~-(&~= zh?{N1Wp#AkEYQ^%G&M&r(R9WJ-2Qkg3U6S8R%rc?fQkE|J#-wNA3FwSvX z{Qd9X`B?Y4{LH2f^^KY>~{|g3;SeD=VlhU zRI^QqVfnrGnoXy%Hs1;0eE|C=A3(;w(I$9@5@JsFq#Qo&Jt=M`)29%magHchTm||Mqc?r}8kgwx2rgpI23o>e1Dz%2 z%Z2*ag!!R*ETX zZ4VB`(ozm=6Mj9Pnm|2cW`{aV^SFm!Aj(Y#5v;%Jhwfp7aipm zw&juGHrk<)>#CTF%cJoPazYfCZ#dddbfhL>MBQsA*LT>LsE>zQd3RlWB3qrZ@xV0()IQ0?Zt=GA+)F>6Fu0=kg8Qy97jO z5^wB`SwGE$Zzz54YMr`8u@LO>2247&C-gQn{uJxKxg*0_e zKth^GiNS-TypBubm<%Zqpou70#xB1-a^=0Dr657LSj)Y3{n)1=1NAIFC(FKiA96&^ zu|@aiqC1dZd>H76HUMqN?pn*6+C;*7zBO~}Q}uEV-{r>t`M#PeHu%+JX^iG&gLOtv zds{VqZBk`sy9PQg3j?aUE()!oOvN@UtTnrUliRwWv0R3?AKSD5?c;a`V850R)pit|lW#AxDv((}!@`$5#)6n+~0_eFPZQ z;{Ws}26npLggJJ2knJ8GJb$^rd*bd4H&?fGSqSDBW;3K+gxM;K$qHlIM3z1dw(JTx zSmaGO$SJucv?98HLF%apCiq=Gq~vB3*9}LZP1jgBSs-2RW`{tkLEPxTBW-8da4f)if}1Bf4w8g6Kg3)|Md3h-2lLvfU7(NXR7yvIcQ?-T1y@faiC*`bI8`|HxldMzR4 z)x^_iyv&s|ew@{Es*od`a+oG|FucE&1w{{W3%AqcZ58=t!Q~dTpYklR&L_1B(PZfx zgE_2*N1NY8=71J2F$bbP`X8Hv*wNLx!#354uml3X*FSgONY+Zs8)=dNDe6y}yT*NR z?>-Od$UF|O2@+>Cjs}21{b0n6*4-pC`1f}7M*YE?9h2kr+FnU7Z~>YP4CaMDJK6Ek z$?0A>1I5vjYG&^E3sk@PGYzpu4YT$s^Maqu)&o0R5yPk2?hV#<9~HA=z6&W^+uKQe z?+xU^{!*SBLn9_nZ}J?HJkL(*LiS>}x`e9+b7VV7Cnrn>l!1ViL(Pg_uXBM$lSISr z)sT^_$@r(xQLGDG{>E&on9qj*YNTk4=o%Y7S3U zw}Vng6(vD@tfi*>Bq|7wG>>hPqgBY!7`H|d1dn~8DLskGkst44(^!d5qGEe;nzR_7 zuhmFOUmbsyufigWU6a-|)DU@xhY8ROFicS1a)i~8C08W0+2U;d%B?*#)QXs>c9%oK zC>#u0!jP~j3gCbR1ad1QlzRAeP18snz+4rTU3#>7NPX-*F0DEkoKzj<=%EQ*awRqJ zMDwSz(8LeN=;;#L>8n~X6DXi%YX$20FzAi_V{o zjseY-s5$&5HSvDQ3X&7>_lrwR zWl^5fw82e^cA*FrJ+wS4#mUcly(VL2Mv+8cnRs9muM4{XXn>h0I`p$HbPds%F^E811y^^+)tm<2mcaM?WeoI?KaJP_&|O zla%Y2)YUn>ZTcZ;4fwXOw)4z`(g(F2Upw|v$n@mt@*`RzMFQO%8acD z=g$dtA*SEoGr?ia9%qciY9!8<9i&a#;Ofy|SZ{e1Rs{WB0C?_Eg~Og)75XcxVgNr0 zfu_MX^Wge;E2O;S)e-dj;eG9LcXANRo4x`*Z0q#!`%BLtU#8gO?7Jh_cyOz??1=I zX-Jve2=>V0KbsgL(}ZwIddJJED`tPflw!MF52fnxwbb_LV5HPT*bv?u^(_(H6=ql1 z8BS?GctLrtgV}2*Jg#aA6X*^XtdUID6cfzV&b{bjTLztwTfOGU((H7MPLP(_^9lLk zB-~{uZkHWS(907#{LruzhZFdXT+aAaezP+Tb7-5A@UTi)&xjObDNVt9C8;=z+bncgpd=ANAnXe?Xqe z0ux(oH&r)WV^p1|IzW>`{>De^ndLXeQDi-7X_iE+9I<$Jg@IOGSFgSD@db5@60M1EM#3<{CuB!?V8h3F~h5GD5dCQZUcG5>#?BB3^& ze^jAh?7Xqw;HawR_fQp+|?SwRR` z?A;MKcEntVNg{(JN#BDeS2c`7N)8ayUfOLg4<^K+97lqdYbNP%F*s#S=(Jc0i zoRdLe7%_$rLoyoyQXa}KdFQq^Y%Hn9gj7Nn!kKE{;j$kV-^1AHWt8moG78p70+@X+ z1q)S}Gg8DW-NIRpG;~MBg_}IbXW0AZ@a0~Y(jXo5e{z3WC=^csJ9lYRy^hT0Iw=qJVK`9ZRz$nP&P2Lb)9G^tg|W4v@Q|;uHsw+q;({cQ4owL5;6Py zwcx-~wGM3>zkr?W(IXoy)3$6~sQHrQHA`gZmbC-6!$v5w=*_d&M~5$tc3vfTd9Mfn zrheB=zUS(}e-^LDzsnzwSI<8bx2x^t3_iw%lMwUzTk;b3vW!`fGTgq9O6+4X1r@P~ z%Toc*aAmK6c8kBdy>V4en`Mwv+ijm~$m6BJ8`79*A}ETfGV*qfLqxnr$gSobUOUnj zX8eGIR=8z_%&-i=PuUV%XVe-*r@+XHF_IQP8k0dpHYG%EPrcAzU+`~Xg}|pqmjxN@ zmOVTe4)c)dt(yRGlW(_^`30g3%Y4M9#XlDqD)9X9DC_U+exDs3{$%K3H4WkiDCVGc z9r@sZIz@FYw8R~rm0Io*shipyNlu~HoUF0pJB-xgKYhD$bhxL20;m>=nX<7H`(HWn?x5n z)&Y1=w|RMKoIvF<&b<%h7&Gae$9@Wsr*FLq@ExakXf#q+F#eti#uwJ4cQan=j_-bckq^d?Pw(w#!c9#dx5xQB7Wm2hzXs z;_{5L#hE}7zwyulpSyPx>?vs~$4*RccO-C1`VKSi1+N_TBoKqyW1b<1U81r~9(Oqq zgkG-yp?|2Z>%^lCf9(UGFs-i3p?|v>zGdD4hBPY9=j)dhkb44J<6%-=aPBkzxSzhw zgT^+ekf5l!QLOB{1k6m--GfJ4e|~rUHx2uAS9hWQbGO?ZAH`a1Ia(d2Y_k5*MIW$e zAS^*klugrd1^EEvG}7xP_GpKbO5SRQ0WaXY&LH9NGX5>gbdKy!0SVhj!hvT$`g(|I z2`!A|nJ~V+&Trd@JCq%lm*ps*Le9@~8Z2x14IS|Z5i)2i?@sHZ)3CypPR<+3!=yV5 zV)|;s33~4Y!>YsA0kl->NXK_1k~@shF*8)vb&RP$-LD`;^UX;;hD4@LELmKHg3Ux=~ z`QH${*c?3vB9Mm8$>ke{&hfc!4xPhnq;xmqZA|;~R`?8?>rFd?%tR;Mk-%ox$!fuJ z|3xz8$=&yFYgRbgbXHvz?f+r1(uDa1AAZ9}-tDw05i~lXs`J4W3LQY264cjH*rzhq zrwy&HPV|CSFR0oIKHTp0TC%AgV6ZUCHXN1cW89;_L=}JXaXG)GkVJRKJZ3C63dN5# zK0s|lXeG(Y4CI;OsvUtU$DEzm*ObU!$teRe0e>W)`Svu>W13M84IdL6W_MQOk_zk^ zX=MVo>`Mh0Xn3!f1OXU<_o@cr-xf2nOq|Eu3zvJs>np2&T?naUDaMG0){3g}qAQv} zU9IyZQRs_%hm)=ZX3u4Mt(uC&sO+qMpq)g{5LpgY&vaL(FL~mw-C`5NJ((4YVYQAs zff$I;jhU2`AR~OewSMOIhWj4|vzFr_c)S6R#1WUwbhCJX!bkWmhVO8)@PY*ADF+?_ z;~*JvS@!hquGkVQ)EBdu%^((|px7M@Tg~wXdzW9afqhivLxEZ-$$%mf20{^`0r#@F ztUz%NazJt8Byk*=kEK=t6q3bVx-%&}!!tJ}8!~1Mp`;liz%z=*Pjb7$F5t1|Au2n$ zm~j_=b>02l&EVVa6Ib=AmyEjj^-cdF0gIfukvXyfpR`{jUJDf$B*QB&=U4%iJB97L ztjO_g>{dRIsDgNZ1s6yJ@)M*4GN`a!iks{L73))NHX3us_*L127%Cd8Q~acwX`*)( z?q#ZBc~J_Htw%q278t`IVB5{+Q|=pyAQMOnLf^-@rA%<(X0{6JDn9 zBE%lJ1r2XOcibuO2>Hd%f_aNF-fBW@lGq2M#n988=xn5V03XxMY@)maT~60ZI9K&P zCDb^7s7pG0+au^oifLZBy&NJQu=)MJk!SwX_+8w|5x={MHEHWP`hzp(PAfiDeGSdy zQoi}VAQOKA-<+}`?d^unW*zp-N~$4Ob4X8 z2Kc9OhLKZloP>fuDlYO7T%jeTXc7HVo&jeD42M^7y0dzl-ByciSY;PgMeZnY_ZC;> zs2i1m+-R_AQ7;d?CmbjD!tIICxyUf^lJGZXasAml@u>&0P8z3q{(I;$R@&EC;=ZZ{t8E##P~aeERytt{c->3vTJm)=b$2K5QZ zxuO`s)TUvKI1=XwSUUJya*p(Upp69K0fT=zS#ZDyF@YWmDgXJXh*Tl390!JZo8clc z@(fYa@0frkCTG)!m#a`tYBu8Gkt`w>}HAviXZ z-zd>}4ry`&xY9ga<@)@cl}7?Aoxu%q{10giUVmd0vPRMizG8Kz$e|JF*Z9_2n1TX? zPU0DKZ`nG##atWDciy~IL_Xdh&=OZc(qE!VlR6HAXC9mrTu>*TF$d2`XG}}Co$)M=I?_=n^w=SoY_2`ARQrt{&&4~5`my}Pyj_| z2L)8}V&OjI$PKIbi1U^KFqBkk46chRrozxgRF$o>8!x!7T75NSDR3S!S{i{B5ql1m zj-znO%)WzMYh+J!x6#6l4|as4bIe-cP=*&1FE~g44YfTJ_D92k?KPQJS0$orkyIh^ z1VikSZb>@=D23_>b_X>=whTe+Qq$7yGXh~$m-KoX>2BMfK}t5!sc#KHu!QMSTR+Q2 z;h7a5S-*(LNl3qB`e@Qn6n7KZwRtO0q=YD4pr5UF;BSWB2NOIO$fJQ*xJMrYgsa;L zVZr*jo@rKC{=g|y7mn!j7IrgM@XzASHg?R>+%Xs&213;HsK`e<=eXT&?HOUu2GO`< zLtXWpz&l9L6k!@&Pbf>!yZ}i+H#zoJHFUzPL9OrB&u-`7CQ^}_4c(HYqNCT-A(5t; zY--F}dbdpnmWlm*#RTv*`^AmGc1Vnmec!|*Ki5FmPf=f+2{o*@! zkpi|@|6sReJ2NxhCeVJ z+CbVf3c(6A*RR>pIR&z-!ieZA6tW13+3EGo?MKAw&3gda+#52-RXq6?bEKbV2ZtvZ znYGOV2mSMZPU)Yo^e^|PdGS?LPXGC8WzDXwfM!tO8*;e3=FA-i8{sEXuP#TaCM2U~ z%(W$eYo4X&&UETZ69q^#MiJt=5v+H%6m}F_!crs?P|e|z41UQZVO^5@&I-C(y~ajo z)7JjJx;C;E?*D0yNWM^b7UCmzviI9HtMSXKnt-SGc&>UboB6#F;kBOd5WWF!P!R?I zpauXIpJl%zZ>ibbAd!urL)akB*8cdsf|-N=ZhJGUw}9klg5y?Ch1dWn5XoYS3t5aW zfT5=Zwy2W_%;cMB62MIcI*Awe6+(Fq%Yk)J9!HfJjX+(nqymb~04hoo2@QHh=~;?yTNRt zR5WEcVIKE9=r5ZrP_G=1{JusD8qQt_RxC1Syy)X0R9MdLSe|`#Mdl!e8*24lpqI8Ho+4gjzP+ z3CF6`V^mD4KN?4z%gqW_oLRu9`CDNIMqz7cILg8SaCN3lcQZ+(#0fk?^k&BgeOOEa z9Cl6AOE3cY8Knbl=- ziQ08opKO3U=}h^sOHj#rz;*J?V{bjfgLG;Co+u|M?OdYWj$=<3=>BrH5Pu=#9p!PS zgquO6De`sC@^f;iu{qxH15V012FqQRLrf<0j6;HDM8z20Em3RKAq+z|Ac!aKS~4O@ zOE%tiOJ>V^$hsSX2#5w0jE075$7A>Sh#+;?&Pc|f7w%u7A-mqnCkfmI9dABz3r{Se z<*%@VpNC(h;6?aY#O0n2b6c-k;@gaB6F!a18|Gbk7xHw<%6q)*M82S%(X1jvsa2W6 z{7_AFWXsi)F1q|AkWn-X=<@4Yea^M0ja1c++o>NQc+G7nCA$HOtEM*wp&}=9Xi0a1 zN&#|*+mobn4d=uuQ#o;(@MDZnRKD#Z%CJeo(QuB%F93S+9(wUUIM46313?!gy{u7n z`3$pBM@VHDz==>>?|Zzr%hx}+V`|=pv$VNw(EwsVoxh8%;FB7%FZ@aWB7*cD2vWHm z`&Q@r{nMT$jEOmLWE#5CN)FeKreQ4i9*KeIyjNaa+Hj8<&neYA--*Uu;b-JN89_4z zP)4qDAZ^&p7me96l~XY4=4J^z%aWU}F$Dyz8SsIMG<@)jU7lrAKz`g|eb$?r7R>fq z->gla*VMXyp+xBC}V@@C1rlArG0T3#=tGPF0{vt*uLzTst z@tXbJFCZA8GV4M5#QR>49n`V`DHB!;em_-;zKQopGZec0Q^l3%O z>}U1;eUKyEO|So~CoLwqEcld#k?&0CEghj^8#dXXTtfKmF)_3D3evIScBf)_N#z`E zdHXaZ@yoiBAi$npTT(0=8V?r_U3ePu61yOn4*_;zecKZ31wkoXE}&VFv~b&*@UQ}l z5-0?ix-#0+J(8?$N@mf!y_iUeYkh!b>X1xI{9!gLzyOP&c#4@2<@%B}Nw_=30<2IU zFSA+qAfic4l$q=mg0VmjJi5WusH0CB&q$C8S*e|Bm^3bn7ux7uXorYmCAss0#Pm+A zBy!9Xq^gx5!|Efsv%{x7BR5$Y&YwsGI%@vZ(tZ+_I+SVX&hpNXS|`ym%__oh65$4+ zmgNA0&BM}eXn{7W-q(xSJKa1+=VNa0b|8JAngZ$m^p>MZXzf`A(Lo3Zl1|(Wf!#t6 z1jb$}Chr{cKb3RfH5O@SRS@Od2-~pCm37%*UxB+42~6-dx}C)~2f|xBv28zB?6LQ9 zVBcFYP$+k!M^1~ol>?S^2D0vKkdNhaO&O057NZeLhvw8#ntC+3d76uz!H=Y949%Wv z2FH4Oc+h{nbA0R=v*Z1v{+`#OVWUgQv?}Z2m|*esr(S`tt8qylz}|TgoL#O8;E0@1 z847vbyCwlgO>1AD2=wFdz4FIhRkW$=aLK1!CHJV~o2Y+N7PT+lYj#P|`WTN17oZRM z=WxzEyjQ3tP?fic&Y()RTe9VI13#2|46jAdKGOkAW%CMVMKtZ7GcWt(`y*RXTJf`i z%Mc!HH#|j$oj`CJtv^{M#kM+ATZvS&W)f2Oue zy?*e`(*7j-bZ;hG^b2?nCYgL~?p+ z>Kdqn`qmQ9>&nr>J}Mt=c6h$#PCTQ9ZsO=#;2gEqhTfoO)DQh%_79#Po_@b`uy^?U zx%qsYx)1i$Q~6-lZiqkulUFqnJs4Sms(-NQ<2W#!S>$ zbki-f14jrd)lqH7IQRg&rXVJOaelGm=&+TsoQd6lU`rLPMy5)R(H$~``@^)}>)Gxo z6H?O*7>sU+n)j5%NO-2DcKQaEWA@6)q0b6;57#Sw3RZ0@e7}jeMA!fdeD?Vr(%4rx zVWf((kZBYtDKQI<-?5m1I!luXv>Sp68Q~cKqN&{9y)N#M-bJ>%#|r2!b${bxZbN?_wkH6x`+OugscANxk0CTj1pg*6DnjIpx7FA|7xJqB;EB({$?m75e;HLR{)8>W^Uu|Ve zB&TIJUAVmWyXm4WQM*f?BMj+S-4&VGL?}M*@`;n=W}Ldf`0mdb#0uzHF(vp@bi^k0 z1R#%E^n3{DoK}$E)bLBGo!NxBEa%LJrO+5V76vq69Z|g?#gFGxnV_)L?p?_5NslsJ zi8R3pu5_k8Bxe|us}l|+Rj@B1z9Jg2*03gR5hE*_7|I?{laO4+ZgwE5%UJ_FuE$~K z7)?Iy1%NMAP6}LiB1AsdZE$TOV8ebHq+{tn-fy6OW+^W`m9A-5766XO^Q|1Ki;T22 ztOf{Qn-kKZId=c5Y$tL;InRbAVIokk-II=n_}Z13&4IFom!syPhpR0FPEtIn`ue>T zG%Ldgcr>_?wvgfoSXbfM4+#`4r)DjMr(j<&I)RY4f|ij~%{rH#&)h$Jn3WHjTxkAB z=~_bl3R;Z!o7)YlCNTB+FdsZcHUx-#jLE0JvXM*3BhR|gew54)yIK(aPG*r6M>Y7u z>U&KXtLPw1P(+Epo89{uanSMIqvbn2XP>p$-=O02ZnFKA{sAbinq(df3 zMi3Ti9v$yczl0$EBrA9@^!J-fbXm1Cy^+$fMJwQ5q56_@BBkb^ryA=Ul7L)`1Z)KQ znU2tixj5HH!w7T$2@i>;JB>Q2!)r?2Wi^8DH)Y8`cRe?ngv=;mnJBEHRb^9;5ABK1 zz%InnyWvnX)&rqw^ZQM|iQS8KGw>*Y_Ox@nyR+x6SO^w{cu=@s;BSGJP@HrV#)9$) zQbi6v#F&H@W6z;qQbkzu=;hERjsBkChw zu2p*6%uVQsb*Xg&C`am0Ern(n5a4gzAY2o#f65YnPn#|1_Hk2lf16eOc09Wykgw5T zPu@4`f%eC(LHDu+HEOD$L)MhD5p2$TRn&tGz`?}F7=(+NJF+NtvFG0{LMjLyMo*FP zJaE&#%x}ue#bqYYkaP~1siM_H0EZG|rjZyykehezSj?-^pC_E?Ks>3tVL^<2{ooi~ zpZ8etO{2NnyMXagrao|u`Rx(6s+IxC#PCO$`ZG~;k-akhYwpBERmWb#9@p!w~_;-OZ0us4&kWwv6Y zQl^B%;8k-TDzLTFCg^cTa~=1akG#JUu|(B11OBz1ami_MRn7_tF%@@k)H}4?3Kg4e zuCU7$3=tyuo0?U_vn!D54LGr4|t!XE=w~ zglbF3K~P+57z>7?!X{ARGFgm95Jd?zdXC|jytU&A5iMPg<;`&a7k{t;f3Rb|{QqtI z!7%-w-oWr^J8N;&#XNvc7#!=qTq2vC`{_aUU&kQHE zCb&`oX2(fmHJ%BIL#sg;6ql1~nmgiQU^R3_@H|9-FjNgU(mN-#d&wRL5e~q^I&3#6 zi!2aL2q?3Chi++39!JK_h_Shn6`x~j5RXhY#_9G+b{u=er@IEJ5=Obla1`UhEVYHA zn*2xs=LVl@t!*M1h)xLmfh+^9>z-rgAdBeS=W^sNmEIfPPNb2P>KKFCP%o2N_fHcU zFWWL=eRe>(>EoFomed!(oSTZF`sBKvi?kFHo_iA!7-P-rizD)2KSN zb_z&NA-+sewN4IHM)gi~gOiAft((yQR7R3zyrQKO zs+5ejZW4aLfwC_>>S!C*-1TVlQHwSaWUx`$`n(iJ|7bvwuEL*Q@V;(6gd^-EpQDr0 z6LOJ~ZwA5$R`T;rzdIS$)-Hs+E(o9C5T5E2uy6ru#AO-KmEP*IkrtD9;D4P|4#tbBb5}9qXhGbs`!80*?sfoRh+WuRW+M?gR|twmUcNMPjv}!!l=l$ zsBD;F((YRN0xESB<-Q@h4U0C%x9yyq?CgHu=6&@X)CdsKlV^@ohxFaU08B%D`xxfD zAjLk(!;(1$giR545n1xmt$0on-rD42e+ozh-OMUdnX|`TX(V4l-i1>l9cvk;S$W0N z+58e^7WbbHv&Q-%MX4m90Sht!6h|9IP~NpRHli%1D;<*b<6?e{$jU8gAJ7DRPuzen zXBUqAcm|PkXTawbeYH>M(%Hx3e~u7(T)6$=Sy$#orZ+h&08j1ehSL#^yc5U@@F^Ti zV$z_iKmNFLdU){imzGRcCNYl>u$LN#g`MLqba42p|H?+R%GUbfK~KKJ8wp7=v_z1) z4|%mV+W*=NYmdx(m@p_H9rHuO)o+_AC?+kx;=%(?2M+|l0kUixRcpK(>6*cT=zhEJ zGLxE6BrM7JR@~%+IVDc2#-b+aYD-8l+}U&8Bky>QCXkj>`=tM;?-e;t(RsRasr|9i z2|oP6t%o@xt^}HYbSt?P==Bl{rW+DEAjbjMLxIAv;NUuLR!Tzz#VcC2%e7aHfV)KAF+oDWFr305{{b zZkO(?U}hEXh#Y>0^MJp0*Vo0gaPy;h?ql#GL}kuqccXg)G~d0(__2C3*)^da=ak3! zVt96WIxXC#pO0ZK+F9kJokMi5nd|Gb#oRl}Yl6Ei_t}jOe-wOAN7eX(kO*hli@j&B zCr1z;vpnyi<6-Q6seAsUO6Vxr}9Bw z{TU|PSev|ZOw=+QVe-GD10&jJsSEnV6nwO*8MT#bVX{dvz>r!(;X*iR5)4fGAg}QQ zsQ=+98c!|a@G(60PSv<`)rljjJSMHpc2ngcie;n-kE@*TzjA;TJxV1)2 z+?-6^!Ed+V;abNk3%5;Ypdl(rP3)by$wutSjqN6|TuKB9ww&BuHY6+Yl$*?UPVkQ~ zcMY;F6(_{m#{^XL*e{`nzCJ1_NFP}eL~vTnD@a99&hN=WtPb)qNGMF1aGL@lVXyIg zJflGC)sVB`&E7vcIy|y5YcOkpi(I%BWCXMykP=ZIOVF#F6`4f2a2g7>1JO4zrW`G5 zphAY`u37G1mxRTx)sBZ3bRr+>W_G{t@BSbHl>!DE7jTWV^n2PZuiGXZNOg zZFgL+wh4Vf-cdcXy$IP=PRj2}PB8eGQw#qt5BD(zFZpDK6(9Dp{}fr~IgR#*;&$e% z9)X-VD-I!LM_cM@e>QM8AtmD80VLSQ+wSBUF*&qtJ#~NWWSHqbJRP11Glet>U$n3# zuhQF@ zmL5CMTsim2dj?>Cr35m0Hkjr!#wkPu%NfTLbr~FUUR+Ee$x6I$fjNLJlcUD~c!N_T z-V@JsxNXmmfPPow1Y#%cb85;?A_Uew2ga{WNoas6v0-I9(CoatbQ_%#Z6QB#h9n5= zY&kMZ?<;qDa^PnsuqccI+Ik5HEsxvTK6tVt64D%9Z&qI)?Ywxklj%})xq(yQi+YF8 zpRWQsr~zoyG|CtPXZW1y!X4I8bqxVB*^gizE9xjmfz~ zTI3HS1Q=jA2WA&5N4yzE)!>6WB^+?b>K?CX1Hlwd`jr)6eQq~T2y{O{3_A&{MBOp% zTg8ciyV;vDd=YjLeogL5Byg~=#$V2b6v9!TOe=TSU3yGl88i|Scl!fDJ|?l^tQdiJ zOQ0!cdIOw83ul&yHgFi8+GC*?0LTEGY{BGRsk@3d#8PNBmjVe7Kmc++sbV~s-cB$} znaJqIoryQq_dCa@yN7%IUEXiFzTlcBZSiq%j|vbZgUnLHV&MAeu0FYx)-Z`w2aB!I zk2R5Vfs=AY=@;|D`a99&kjy8Vb_)m7o!ue zfPalk(7}ZQNeMm=v5*hss($$JuBPK2`o^TSgZ_{GqgIS44{xo)A=ZCo4J6?XB2&MA z%$>A1&mBr?9h33 zS)!hn3X5NE1LvogpAMp*8VJwpDtlslxqH+Hv7PKxez$xHJ9f4>bC(Jn{?6t%?QB)* zX4&(j!&gx{Lh?<5EPlN&QK0w|Q+7ef--F(lkz@ClrY$Tst*SZDx2GGc5}AGf>+uhb zc>iFp|MT(@-)F$?S@v@Ohkn%V7hh(p{~e=vbFlx9H+K(aYx91~R~t>x{uf{Vkxh?Y zQgcUo0G(cQL1?bjXzvUDIe4QBC~vm9e{kGCI&s}NIW(iZxw%niEgBOv29LK_DV_Y} z)*~aZ$LUPdzy4WADBU?+f`2ZmdC?jp7Prp7d;Vpr-?bW0aN8dhUou=eE#Qx!>;63s zq1_Vy;vp1gugR^r=z?5nqd5N9-0r#mx^0Lub*R`dCI6)d_rG|z zeEuBNCt>^Zm*1?vK@xHN4}hpL4$M^uBCKhQ0}84sr+AsFTglMyK?b98%r#f*+_Ne$6qQ4y6;*P<+nwL+p3Vl{`_sxSu& z2vRAX5o>V}i8JSX-J{~F7=_IzFDimda*X`-EK_}25M32%pGYkh>8$)G>%$^Yw=vq7 z(0ijp0xa%E?k9PyK+pjy>fHSC0U|{i$g!X@VYM%2Ql|;UHtg5bXD zr5r*cUDQM2vCb}wdG2Mz(qdjH;M5RuH(#PPhny^-68(!^fx%4&e7r$qj-esg-zm%b zR{*Ih(aGdFVp@@~I*eW#4$V>LTm%?HW5NI(wU|sm16IW?d7~zOTpA(Or?g;9srZlp z7?k}VRMm<0mAyNufN{JzF`Jz#vav(->}odXPvH5+Y=f-Ja|-i!tZKL?Jzg4f-qK z+AC_qvy-EK|MYnG`~It)Qzx???;jpeV8dod9NAG-!`*`D_i#WS4~N>~sO;0-9oOjT z@&14GQT9g^GhWjmAvw?%cbWz;8j$wm_D=dgpPcp&b`SUV4_mfI$p;PoFr69;F`9s;&v*H z3)V9uVBLbR3N;_`&qteYgETCpi3#|cb|ZJE_!hO#D{1F`i^i|P?W3{%M8kmw@pIa{ zQ$4d(K||wMqE5jcd36fUjdySA*$&2Dadp*M@_V6XO|)_daS;smv7+3Ilc0}R3~boO zZtj2f0^>Ws@}|kqxGt|l(`3Sm9-9KKrBa0?GU}3Hh23Ds=1O1A*|1es*^q+@mFjfe zy(>m&90QaL9~L{yTHfk|{D)V_GsDH+p$wZ~xDtZlH?5WYUW+5#s4gdNBSJR;-MN`+rhQ(+usry&GX{gvEdV95om zQ~qoU*c3Ojz!8@6#l_9R(;#U*?saa`G$O;3Hxuf#kAfyAe+!Ck8$mPQ+GJ;O(`f=i zldR|{t8@Oe8!}9Mb+b#dN#GE61Hog{>Xw|rvbDAigr;vpSQvzYRvyL%+R(C@jSg;xQ?9`&?~a0!EdC+Sl2`Z&Znbd{Pjl5haN&>5Y{S-V^w#M*>>{ z6*!rZYY0o)7rgKgO-O$QFWmye8}}dkSXRotl0W6%Dn_Z<`97b$BLuG&`5?${t=Ux-_pLpo9*;46hBWGL50Yz(A}#%K%%8^rGN42<^?@p?f1`jdqjo zWYO8A8l!@2f!2!<0vTMuv&r;L#)I9#bYlIf_Sd;~Zf!QkpK+NKN zopZ;HYx|9+x=W}}LFpCrod@;h4ATI2*sSBq-0bO|baKRH;e^y71uA$XSZenkdyrfc z6T2`%Z=pTuCc|pl+^Zn4(Cpl&8{sQqhV%1cev97jhabohmfX~R&GmKVZT-VKp5ZCT z`>w;jbGrCk+c0;^p#qENXK!*BbN8cw4}3CVN;p#!I*1`aS|lq1Awc6?R*1~V79%*! zy6>_P;E#xLg*wrl_-^8RLGLc7#-hApba1hyCZfioR73F5YBH%@zX624n-K#rC?<0} zyMU69o0mMYfw04=Wh5{RddBqG5ti~wU@PLv=z7ZzHqm&k&?}n{R@4uBXEaJ5`tZab z6{_+IHZe&f{&25kwhIy-0cNBbV+->PA@7^DD9vFzi5dNDe*6w&$93|J2fgYv=6<7~ zMwHcm==$%jspFy$uW?X);`U&d0Yopu{p5ig z3?vMLVFdRacG|Ne<~wpVrEWKMv1{6I9$_&co{&fi;y%v!$QbQ99?=AzI|tv+=y0B` zqX9v7@JzfB76Kb+h?SZx_>iu!A4M%441|zOt9ijlVvS?M)Jk3hSU+TNeMoL59A^${ zTy*5{TH(!h_Ux7ep#=3-l5KF74VZeRM>;WV9>L$N{LPZ2%!EoH7iZJ(_7s#@j)gjF zTY&dLNqm;oqG&AGX!y?i`M@n13^JZzx?cFJGPOH1Oh5!6A#O#J6XS&}-8QrG(pAXE zMYWi@4Yb1MFZZmRAm}O>$7fxRgr}eDa1q>}F~qAT4wF`5$q_pdC5j&DT^q52p6I)s z^NKdEaD=tOtf7KAGYTpu`2n}*QQXRD@tQ$ijy398a5FM6v*+xK ziV!v=2G~8jol__w*{9g7wAR{uRIi59%g7sM){w@Voze5FbyT3SL~&iC`R?%db&r{M zMooY@mi!)j4}0wWlhXaGabGoj@YnZm@6Z!`lyTm(MKP+?CQIEkOjhk+e}nOjXD@p7 zX!EUi^2kzOg+z~b0Rki*jEkP)butT6ItW8|j_|*;0@%xp<8s*MPH|hbmpz!;iPw&U z&$!nJ;AqoW9T$O z=_Z;m#?kvS1u%Y6eJB9t4b4p|5j%ZCUO9G5{4>>+3=e!Zb+F2wK3DRNuf^kOd0gZ%J(pJ|GOxtv5 z=6HXGIBxEXNv|z-of)-1hMX8SB~jw0sihuz7p8ra6g_y0ATICAezf)`p{czq?VY#r zwqs6VZ3hOC`Dv6fLJ2X1)AM?iVw7(zCvq#Za#g2t zvorRhg*L*CHBfilL=FV=IhuzQ&nHLhq=Gvx0q17(N6lR6?nf|n?Y#VH=a=JFjY29! zNnl=&!T7`W3@64PGzy5xgO(#MsJaI7-imy?X6L>-jm7ht*^+zc^V1 z1lQUZOz6`N;9kvrHYrNVSi5{tXchJtl|LM(lnUC-vY!gtNf5t?7+;cp(A_)uJ+){^ ziqChUj_|tp@(KZTDLG^}lMmV$z#m`vge@F)C}XAkb&g6w3YwWoCWPicX(TZ1CH9|t zKBw>vJ}rve2AUyhrI{!3iE8g=phNaKOQjEFnkvD=oR#Q{e{{c?X=pQr!Jh;mAr#=; z`{Exy#u~>FFpOvyqbQYUgHH3IXu^3VrMtm-bseYdQRx#&;0Is) z^UKwa9dtcaVvz6w`$HQ6dnGw~KXPi7*WaA({c^DLinAmx$s9p`ciafcj?I8Sc2#P= z-M07YpRE~kF(q4$u311ZL>r$vPKNI;$LoX!CrFw|cbMd=!%2~e+n{#_5(OlgO-)kS zxymDihnKnv(eDdW8is(eWC+znNEmP~0k@&!LxiwE&L|v~Y2guxnsQp?s2>t$!P%2( z^2F~`dORyA9&L?Tc7%b^fN4 z>d!{-Jan=*IZpVJgof_nJ{~4#>h-AJHYa_98f3>sH;r?u?AE7rLY(Pc+egECW=wqr zq~}R~y~dk*4diDk7g4Qfb|+lHtO<1c&}!gg4Imn0mop&u;m;jEiYbTcV$&bsc0`?7#clohzfF=O<)vW#N&Y zjp^Aq)`in{mwHdIUOTQRiXl`7i4usa#M0qDr5BF1JSt4N#b~kn0Xu1D=&wx#x2;|t zkt3~-HLE0pG2o3*ro5atdbOB322b_eYCwgO(`rx*7t?yO5HP~IO|$DeSaYb4@>oVO zOdZz$w$^U6k+ug`Bm`~1MKMx7{<+q%j+bj|9elNhe2fKFUx^%Yy}DI%lvt`uZRa0p zFrI>9XXQx#3;|xEXfzM8ZV-0LQLhmvW2WzH>)VR>pzNV zWy8CuoX`9BAnm(mSvsS!-M%YriSczqe~oSXj3d!By3P22vACzRr+^_l>$hh;n~Tqc z123S}o=sRtd%I!JT-Aq0x9#H$w^Mz&J{ivCj>f448D+zM@UNG;GLMQVmQ0j?!K|w0 z&#mLXJN}_OF9+&g$~D@LGba~g+{S>&QZRgEJ47J10&L*C&4C8xc{W?1Pt*Bg)K!5n z>{J|MsK2+v!r(0KIV8cF<((`O9T%;K z=_ct_WELrgVpVwl$T<{MH;|vt1FYu*y;yx$4u{2f zwd>n+L!DI}%_2Yv2)pI%dn`#%4+!>+Q8}h9@UZgD;Bx>hBwq}_2@}q@Va!M%vK!A@ zdCl+9&BgT&Jzd;?!^Db^uh2Us=w)?65Q;W|sr%R4F22~-(s&ovAC=ylSdPL2YO;-U zTaFi|#+W}=6L8>pJ8Z_6IoRL5oU~+J+;@n3CiC|Z&Ka;BetNZ$a^oxc&-vH!>QfV)#Z`rF%H@5}$Qfw+aiGuN@8 zR@8+Iy0slWI&(bXhw$O2mDJy#f(hi2hMzDFD`s6O7W%K*BR>K+rGL*hv&X7q@$>k; zS8ivm_m7}j`$>=I^L=eTsj2tqPC|cTmABg~>4D&#$n(q7=jOD0x)IM3^9fvbeUm44 zJMndR3jm?6v8K<~cD^2LBLn*?pTewEck@k_d)e4-$YmGdKg^h;S66YC&8P8>NJV*^tx~xYJ{o(5n+uL81LaKP-Bp zIE-m|KBXVM41!~f#lk2wZ<)m}xQCGijR6;eTx?d`;n5yh_ofaL4~@S>n_^9}=A7Ya zPX6!*tG|1RY|Jusl??*^$Sid%w*0#BwvPP}fEzq7os=Cx8-U1GC(3|rU?dZZHxSP$ zvrG-W@&3}VlU~g(RNcEeu7E9*!0V8eZEvqM@+XEnsf%G;Cnd+qk`Vjf3Aw!Wr*ft& z&%ZRUUE{!Fj=IsSPl|k6X&?>YDw;UcNKu$;B49~z&&_{Cd_8m-4FvmqI6SH7W$3M0 z56q+mhDtj}M?1fq?jP(Pxheft6J1Z)PcHf>cg0Zv-Nb4*M4$RGmHWas+cq+gbYzX2 zGrG~p9W)HkY-ejh^X?`yA7HybziMy-mB@EI8B{cI0_9U6t>_MD5Q=5RFN;gZH?|(i zqL@y;MO#36JZrV?n|^_hrJo-mAh1s;wwQMXXA+B7$m4<4yY%SMTj49W!?f8iRdle? zT85I{`zpH{QobQ`k&)8tj#~`$jYD^>!I^7x{=x5?XQSby|S= z8>zqdy&iGq!o$pF_9z)C(mbm|Ysy6!YW7l>W&J{Bhe3a|;F9roAbq^Sc`CSXfrnmp z(>`#d0+KL?l2Cj5{{wfZcRS%esH=~G8o`vLl+gzrpzXovWa6ely52cD$t4=42(F;v zjvQFGe>v+FY~5~lC@=|-g8*v2L-%Iu?qTo!rAnm6yZoLP`5(Wu*}^&rFVj0TOJddZ z`Xse$>gJhO)=LL7i;cYHf{3-d>q?(`SPxRyPhp4^>fPa*8Ac<$;;h)4+vIUh)m+L; z)M&H7?}%>0=W40J4se7Ygps0WA?xlD)-VZCvaQ>r= z%$7FMS4rFTTkM2SjO~5sU(8_M3!jbYp$dOq?{1WYmV30oS+Dkw-yHY7f5Y7fTJeoc zEu234;q{5A=!MYUNnqJWoMy`?Yx2Q|os?-o?3g|t3x6B7E}8AgoO~77XkC$sQQ_N5 zb81;oc1)K|wKhi!3c8poD{i-e@b#=L1Q3?kx~y*=#9Dp-rdA0o{sp*5X_;1{Or!L; z5~zZ7n~+w*YCp`=gwrOy*^Ww&8%vMF(&+-Bg0JD5w$LZzQV{4pBAs&6=EtkybF2}~ zD(oejYa`f4IxKWcjHNqxs0qh|qDkQnBj#)fiFJ4m4m6%AZ$0rA{{SkXH61+MxH&&} zI|U3#+e?7=rh`9(xc5gHcL53f7dUtPDDmo;lKdT}r`S6>e9e9Y5D@?{Qx$X8%d}1( z|7CrXz#QI>qrNW>{jc!H)`I5BF$Wwl!0uT)mY^rhONC*x$|gjR{s}a5-einw6kr<( z6r`B)ycg?{w}1qOd>?DB$_dgG5E{^AGIBhcMsKCKCOwl@UeFon^(HtgY(UYJpNfex zw`8bpN!hqN2>;V(@KqeYV=yIdjw+7aAr1&pxPxPZ{y3@QQ-d}MR4troMO$KbJUG2W zI5y{{KfoN5BmO*&Wv|Z99p|^&VfaG|`Ne2Se4zn<3jaliF6fWo7^+#XYtgMq9R%p) z1!8KDuMy6WcqmFx(+uSJFyaJW5#@y&y>=+6mpGWb_@O87NSLNupTZ zujSili!6l(tAT^5KTJE;^!U3K@N3svRBo+SuHBLlXb&`&J(4L1ZD%)GJG(LP5ucVD zgYQsLnrSe)sIlszHc|?zjkFUKo`vJv@j&(zhyWg?V)>3on*?ooMi=zT8C1fE_dL0= z(F@8p!^)rvJ)k^QDe3FfqiRx2jVGva7Z3yscOpmvzMNfnRTAPOo-NML3;r78PM(1l zVgz|`1P;hx_3-?*#R83SfTFv)bl=6aR}6Cqx7?NELGO8y!Du3}$S8hX-=h;84?1w`aF-X%4M{nHfPK@FtE`FP z^ph9*WWZL??{G3Sy=H=^h7V?utWl?%x?}7K(%a-dr^q5i)$fimk!E8@AatgC>@(>_ z4Z9~K+c0}Xri`AOE{%?kq(JhfdN|=;K+1a2S^!C>XQouRuh%ypah0$q9E*@rp=R zv9QLrEwRCZu?z2HzF|4z7wR zgdYXI`GLa10IG@F9YdV%h)N+qOb~n;+(uOMEi)NEaM6o#qmXfdiosiPVn1&?nVQZJjfV+k!o&|5M^vE?IchIkzEpr7+}rf~fmKwUr-m=>@?m~e;! zl_t~5&G04L!1aqTBZR*H+{9E&s@beO8{PV;C;G-g0Ud*>Lou%b1VbF8fpu{+uF;<4 zy3Z5)xTquSM<$5`R~+d5B8#n{{KN1(pUsd%6p5iNLN+-kehRZH*#bjUpcw3l;bM2!~q6~l?;+l*8zu;wtn|M6D52w3_FW5Anc4K*}=cH(#S|*(kWxHzF=dcAc2VcWu%Y zPr-F=O(GIet;i~%ISgPh0s;pl;qF)@q#W($AZYmKQ9b(EtY4U&%C)v^tQnCi(5~sR zbH9D2DN(FFgvY;b;;M1FDpN4nL7k=D$4Det7c=E;_Te!I}YZXP5(VKID zhs7AG5tuku^3@(-Y~nxfzevyC}0#3Q4g`RtO}ULLg_^k9*JhVd_zgyq>A8jSybk z`ndP7y#hdt8H&XIW9Xd*S*$=dL5l}8!(UU2nsx)Cu3=$vxEgijdva z^$d4`6ABBqgA^l=BCY;n6GRk3qhdZCyd%T?uwv*scX_}j(WYIK&nUBckQA*x82*|f z;9)m9xR95)Yx5CaOb}Lx#!258hrF-;a{&p!K&^S{h~0D*FAPyjV6JL+txOh>Tx2k< zW}NAjc%5R{VuEneKR#(gR7doDum9}Li}n(ABjUqIPV5a$AKv(hhYuS*@fUth`{U$j zXSd(_xs61&_NlgaJ~>-lkW*&%v-`HAj13J*$5ucHt)|!cbm-yCVNxJeai~&%h9BFd zO=|w$PL_L>&pv>)%>GE1Je=;2&nx?Py4=oq=nL|XbjjUnX8zi?8Y$Wud|2FOTg)(x z1@kFxKLG+;K8Bqyo6G1tP!B_CgMlr|N4FnYX}vfrZXg}n3>7wPG`GhZ^3s8QAD^L_ zo+dJ=Nj~bJ@tTW%7ddXEe_+GkIoR_G9!ws$m?5AXq5#h-CwG;X#VqcRZ_~ALc%rQ^!b(j3F z{y{msaaVfJ7vY*ekw4JfJwfNwbB48;UPf)xKR;(rs>##r2@L-!7r>jzE0W%UW7;4bIGklv5Bk1>j$+qcR2&lEUo7YqeS(pcm=hjQc}7QrYSI&W0;KQf zuAQRdko&+b>2-l!CMBD@h0FP+J6@SPv=v5PGcAFo{^{`a=H@0lD@NcaE{avYWD-?X z#FGy*0MlYd5<1X%XyKoWa`0hvOXYFzaIU7g+u<~HFZoriIqeZZ9Cz;n@Ru-aDw;je-BaNJn6n31p0ytt^QCET#M z$IY-d7+c+(SyWrnNRTjsEa)c0B;{~zU4ZQ~qHCyV9MjCv+|DE(XE6aTVOmY5l;Z-^ z%Pb(Yfe|(Fduq+~JBDE$Fh@m^gZqSW)c7eF%mcvHn*b`>KaXgifnfoE0}bSZ>Ux9p zB{->c{ux6478qOLY}~yGh!mq+ka`0eDfgbaHNbQ-0!FY-29U_QW9U;UY3U(653>QG z)Q-JgLHJRa7hWW(W}W(hicNZp_Ow!z9`zCmvhpzJ|p75?GprVDvC;PWf zw&_-I3;ySxe6vXwk8i%UTa;%WH=|BDv=3JnMo-5Bz}W}uZZTK{oy2(o$!ts+Gv@EI zjc7XA^mbN&fs5<}g-}-1Vu-hn&M_~bpV#B6BM*5xC?%hr6zMBoW8zbE2?)@9Lra%k z2ZhJ~n{~g_wPr$%Yx};Uj8r4HC+6Ne(3gb{3jlS~vEjLQ*G;|{;ZFVQH&_v5L`aC^ zm|534lQYUa#xNW#{$M|5G{3Gc;Mo+{0#P{YHnE_1`t`5vmD;=CLPN`Tlz!lKh@urz zDzR(foq$AEZ9e7e9PY8WxxI2miZbh?^7KL27O*lW1s9+Ef|f zR(G%Byh+2N*3$0bUVo2f!?pB{ERICi&*-EOg zxe?9;D7P9pO6Gs!2HnY#7B_CT?$w~2QrBXlf8Y|r{riTSdjorGxWIf;hezwYaha;a zL$7by8LLR`WjB!(J(EP>(BxX~$pUe{7$6wQ(yyFgKjM^?EY^{Eg9IrQ=2(945-y`5 z)RYsvF4cx|uc@zshN6DY}49Ydn=AVwON1^9lX)p*CRc3!?bJwDml{h=LvEavn8pFAB)PMsOiQ)#-Dk8xc|tt-G|eF=RJ%|iq8k`UfAj?hl<*8l zOFz6F=a-zv&0@sgdG>0jf_hQv6LTFRBMSx&(A}o4P5yXXwy# zk;r$KDNA_YET1sg%x1=fw*A*mnSAB0IXkKGn`cwRi32(pj`DtV^FvX9c7KX-MW7eB zB)UTq%={Wa08+9WaPlaXaNA0YN~`BGazwHb(9T@a`mq!eSeeoNYdV1BuBYxYzwDMq zX$CiWw=}!F zVSUjgx^Ztld9ow@2_*fpt`yJAK_I&lO6%}huPd27&a!Vh*|(?(*!nm3*WWtX-@c}P z&@witUcAuk=G_&n8m1YS(aX=@O7{;c$&`U1aD1b4bm_PNW+$JP;2#Kj0mO^n59E0y zGhU>Z7HG>}R8Ic>K>R)oasBDnZfxsMH{C$jpKife*Pm{n`sv%htv~%12EG3D8~2gJ zsc5VJw)tICXy(TbaF zXna&%o6EZ|LozA_wy1*jIK2H~3nt}DVOd2`B}j4@V=(E@R#w>cRF_J%(qOu*gV=AANdpXKvHiW`~^Hj1E5QPgM92eK%!G-9P&$AIh~i1@d$ zX`lE1q0hJM^Oq-NzQ7_+p0per{_kMWWp>+>f#9fY_+^9Az3!6Tru@4BOCzE0Jm=Xyhd;1bnc)Rk1H*=R8~=#fDcHl;GqQgu(B|1K zs*x!PQQN2K0=mk!jA`)_e44skm+n5dd&yC72;mWzl;;A1xV@o{Pje~f!y8&GZwC>o zjtV*Ihe%0|UT$tNZ-ed`#q^3?{DFaSqlQtqQOY3khSTKK_1=1m5gV%ohYb(Q@3{GX z*Uf|t0Si{1hq+-9(~JC;C~GaIeg|)HP$PE|A7<5a{cF~2km@Q>12l&TNyydqx>`+E zO-u^tQ~=2Vg%PNs8F*&Z=n7NE{nL#Z?BRs>or3|8VpHhsn8##+!4DHZOCM)1>g3p= zAs9Z4s2qF%3)Ww@HvjfF+(quM@BS?$Pr!Vg9v%L)zh~)@qf{Gk%D!6TG*kVbUmw9a zqfA|nqP4o+ZlHIwEgkI~041T8wt|+PU`wtuUrB3E@ky;Ea>wURVN1{@YUxJ%bL0C$ zzm7F?ak4q;88)}&n+rO1v%Et@&9Q}Vd<#pagzI6qsNQ$BUQ>tn5BB;$8`a~+#<^D8 z88gN@UU=fNf--Zep;Po;G!5zE?g$JzMU6r$ZXjyyueEh@`1;S-r=l1E3TH!yGX1!|s67OA>ZVAi}eyAVa+G7}H*4ZH*Pbj^`l zqHJ>@Z&ia5Hv;9L4786VU!^w#6=Abb5Dgd_FL8!zeT0ln*8xhF&0o?sAr+t1Z(~Gh z>^PTc?726W{+V5Gbl!`PN}xC)7zELFfZ=E;sx1@7N(ls+rk&T$YJ1sfu5B4S%ONsJ zU>&H#y!+E5Snm{B;g85V_=?c)d^;M;rdWq$Q2zbkuO*d=E@ifd3Mh_I$)@0kU;r;*B{EqX#uWpEOCYP2C@1;B@eTr=K^ z-ZuP#O?u#XZHA@5RyKl{Wvcc76^zWU=V)^tE((GK;=G!i$&xW>8F!aayNIOtw~)~Z zl*Y(usw8?qpN_hi#H8|rU|;6>g>25;IRU*%i7{)eoK4DvOR9X z&2c{9ph!w{w*Zk6LQpIx<0(wwnPWX^wXZ&tBv;Aaq1E01Ak2bd+^oAf04tl+hTF9G-u19MKi zd|LrTW^3_XyP5=892Qn00n$+^dS?9^!jJOjHri1Pu<5BU=V-&r;(XqLo^3BJhMtmI zEv;~pI^w89!sD5s|>2ki#M;~Tc z%LzuVm^%TZ+jevu=iucE6jej8$=~bDJERHV6&cKUiNJ6pkux}(zD7>9 z0aK--8wko=63Jlmy*uHwB&0{{WUJD0^QXCy89Ez~A>Kq$qB9u*wh<0x>GszI+@q1* z@K8(a5#e6feZS1*mT)?%NG?~GOTvH4RVZz818xvKnVArC-Kg_H6Lj%n6IlB9JBq_~uAn0@-0$<* z>nZThb0;9V8F+nqvp=JGYzJfDmTOB8w13m(j2VlR>>!rl~13!q2i^5 zqV5@fAh?Me*BWcovC#3kqrDUxCmhlV`V|UGESsj%2;&Iyf(%Rpa{{+z+^lo0J|semyPW zYE3Rs$Z?(=z3Gd}lQ>NkO?|k0${}ke3eRf>hZ18o()&OH1L=c#CaK_C%Sn`7?X5al z=n4GmDgK4OpTfU^cCYRqtk%+8Qd@_UmJvmSPeE^}r|9Ga&>Q&k33@(-XnN>}6_k6~ zSgs$I>o=5p(MPJ<|Hq?mG7I|5)OP;>;6_^2*6j>HFKE)NGds&l5L?k`MqvU|rR*atm(k3`u*8ou)1p*}>uN z&T*f{kexvkgkvLcr~aHM^UG>iHPL5`fCDb>i2+xt;>W?gLr*XsRk#LjI;Z4Po^A6!??~uZ|Di5wdvx5O>u1K&-Ii`Wce(#yQeZt2#meDM7}n$kph3J%Vwg3f62S9^ zA)GfHhuC8@U%B-K^X_5TkM_2&2-m%>2fvq9lXK^Zf$A0zb0>rYb!U%6ldxCVqE~nJ zak!(=aq&;hE*8`X+MphOMia`>;3?%&Yn@b|I*E^@25`=*(x&PD&v4?h-({-n1F1C? zu0XOS3R0C3LA_`=o!Zy~Ef7+|7bkM12ei3I?;fe9zD{Xh_S0{LuBTo-!FutlT951w zViGNN^f^qH-*xL)vHgFy+K=$BNV{~Rk_#F)U6Gp`f8~+`BgH8ret*HXYOYYsDUGNy?D5991fwsG?}aLwh3 z8=#(W^RMkh;W&w*oLlOMyBh}>{v{pTP82;b#SW51+?LQHvOS_AFHd|C_jj^L-xTR5 zi@Y$cyhyk5!n7iLi}?kMvwlo|`^aZCqrwQRL3B-90Du}&l6U*z8>D0)0gY(|O-%ws zN!8Sc!4@W!fH!MsXtptH82&TYm_7bHGmA#QNvu^WnSZnM*vc#H*;g)U>{ zMQs5aV7Q%z=n=1}c=`RYt%6h5$(G_VXcdub+_;V)%3S++=WnNH*J863`z4=WoE5@ zMhH}IC-o`7n00Vv;4l9iVUEk;O@4m99poi@?|%ktTxeS7G=EqL8-drZ>x7dosX%|_ zxp>=kCBWQq8|Ef^z?=~7u^ldQ_@OoVxx>u@xH{OW%JIT}6T$K?z_!MKSSi+5GdJTc zs(#WC#Ut&YcN?E_ciztzBLWRTj0p7lv`!~KJN|!84!2IUHEj^!h@-Ywjx8rQTA1yw zFY}fD$vb@Vv*mQy^dItv&&qK=z1>A-zo;>aKdTuF|MWa(_!(@{-5%l*F{WIpS`NgBv*zrKI_Kz8zW_TK1%WbFt8|NYY*RUA{HiD59{8O#%Gc@ zgPknjNxV=?Z!!H#c|Hc^?=np!;u^l2pcD+%WIp zqrtvca0UP#5g9WL%{3vjIoRul1GjH+_XPT_a`v+PP#jKQjHmP67gO8ZxY`9DMjZ<`w}9LXgPbg{ za7{Q0&M8+wCZbnzCW1`AsACRbRB$2T*uw$?3x_*1;GuY4*_~jGq-t%!BdVdYM|>?C z+A-?>2pb09KmabKOwqhEiH2Zu2HQ>1)Q4c=*4cD({81oUu-`@gi%B z92SfddOi5{>v}M@YwIVe9aoDOnwSSCHo(9*;Q3UxI`S3tZi0=;gKRa*hyzJ>a!qqi z683h}RHFG4W2_Z+Yb9cS@Ca)L5Cyk#|DoO6akCU>OyiWQj)y8) zGGoqUYy;BdHf*3mO%H3=)TFb?CLM1+LS;{wJjZbuMyn;PT#GoI2a-~3=lS!~lm5@D z!~v9?SFayuN9!9~8-M+F{hNRL=C9v!AgcRDp!W1TIVSo*R9Bc2J7Zi+P-%j$l$pLl zF?NysU>}4f?P{L1U}}xRhX%~t(1TuUeG}9r7{tzM-2K--us;RZpLLj&2jw1Gzfk1` zuOoXbqlY=N1u%)=FAZB7KIVqF7z@&`=YlmMlCV`^1kiBr+5W-K(J!!cvR6PG z$~;wbHCAZ5Y7cz9`hx!3#>Us{UvF)E^H)_g2g}wGwjEXl??uv16ta{8C&}F$)J}F+ zO7bVa+5BeXyY;Q_zTWVk3}_$9qd?kEXKorx08=?d;EhXnMx`;h5XOYhI2TlrL@yh= zC+$ct5s!Pxcj1GI2pN4*+6q2=wkSvQbw`zXAsQzpwX0!2ir!sM_=Y**sHzmzu=mnq zW#3W%#s2Y0|47z5D!pZs4sn$qcaHWk^iY!056^&t9u@9d0KvwPVgHb|r$lBYnTx9k zIkA8Qw|vo#eqS{#hT0q)9`vo>GqmU>52EL%u*X~Qs;$WnEtSf$k0votRMqiLR5g(| z8+v>UJ)T~omxK%xp4Yk^YngRY!&wATE_~(JB&nZe4vfe0(X7{^`|$)Ir|hDAR7Ebj zNpFaMBpTFPgWktq-HW%FG}%q#;6cw_;2UrK-<#&|t+###U9Crt;=m~P&^Ltt-TL-h zM_(7;wedUao2CWkp@`M=X_q~}=(-kRMgGZb0kxHZ7LP(JD*44@CWFOl>?sl%y zmcRVm;RpRhL67_gqRuWk6#igb+4BI8w&MtbXjfe|?IihRFh`(SikAOZJIg);DjEvk z&4Q~p7Q#f`(NT;W&IxQ6cf*EGD32`$(Q7hD5$5ESpE>s7RF%@Fz*n@|VLLmo_q*8%`TFHk z1paU>Ty~%j04=w;yu1zih}nH?8((Esw*nayH-j{QC&i_scNaG8R3fTm*Igzj`ShZg zd%l7tj_GEq5^SVh%<=j9YuHBiF)icHa5!yUwIOnHBh|tYrL+(G7k%zin6=iMgNPUf zS)HFxHbO`2h0@gp&i6yl+Fv zcv=|krV0m2f#zg>O(*<(=jCy~Ta)x(0gV6QIUVv=B8BKOX}$ehLVjFH=EH;>b2xEH zkt4|Jtg1U|KuAhw6;lqZ;yuyOO0xu_K5FcX_Mo@5tSdD^1?{a5dRfhDF|N(OH=8$8 zA`6&_Z=5{KL*zORE}8pC9XE@PqPzj%AfMHVe2@vNhB!Vj_@1*ni-G3BoVt#)n=zDr z<+#qN+l_Va3u)osU8AqKQj7P;9@SAl4Cpn5Wbhl4W)NQnz7)@=)g`pL9aJchvcPll z-PM}Wi*42bW)C7TR-9gd6gDRnoiUOHkKa7|$D97qFKxxdBxNhxIZ<^6Y8tl_=xjFN zOQBAWp-IVSz8u@^A>D3Q!kt=q@7p%TG@bSSM)6Gl2LBoMHoxW<_-8HgjQ!{TCjLo< z+_EBe#(Lu!1aWfCk;`&892J2<7jc#(QmbnK=?n3j zW)R5GMLr!uPB(SzTg(U5rB7+VMcovB4+4js!W!had*(Kl4ScT`^?^y2r$QVL(oKW)H*-)2#Ptz^|;C*+L$Z19<

    Wtn+gWSnB1 zG&@9wy;Y?n4gmq!-+fe7?niI;T`u@g@#;Om@S*^P3sW94$9wl%=2Y_G_-v*k$UkhaC++ z0iag+kq)+x|Nc5yi>+mA;eC8Dnkk%QzVj$sP@NQbBYE(TBMX{cseyL5%SXS9B&Qbl zLF_$sLo-jwL3hixstv6AOtm4am#wx_1w;*49ewF5o^~Zgo=qGX9;OLrtZ5$f3cPA57 z4B_z$=Hd0Ayy7lPkdwjS=8{VZ{SJfaDU1#Q36m|K&JTs#LKfDtxb6hYXF!fQwaZ*F zIxym@f;3bmepul?(b^_{0wt=CEjLEbiyPoFJg$V$b#J>vP6SB4+ZmK|Yl_e3@4_~= zZI&-g+4oMcE-VaW0L!5Wj}rYPpT~%Cu#iz`RzBCS`$acn!Boxg0djJ1-Lbg<3%SE~ z6bre}Tn8R@$9T@pZ&9b2Z81=GDapvl>3>!c^8E~h=dt8w))L0X-CMP2Ma|5CBc)cZ z^V=C3kRYNB+vrf*E#~>)(KUuqyX733hg{0qv2n zIM&b-TyQim_UvHL9X0T}ll_C#BbsdS#OKKiCz4#`U0HAY4#Jet6<|>!0?I`{wc(vnN0Aka0ED*_cd5w|rYTVnqa}MsA=P zw`VHprjSQCaK@#FeE7Oc+%AZ*3_UO0U!BOJcQ4nAPF!Ok3b?=t!#f8KZ;;m2?1$ui z$5)W!T8Ya@`)(|A*NPKgC32W7F^$H(YP6HazI`FO2RwOeA*&lk6KXah&$e3HrVtsZ z^1Reiq`qDVtcTXTlU!1_nQScN5tH5d4;bL9Y63UR*juZ^jd3{rX<$=dIKB)HH&}-W zf2y83BY?h{+C(gv@aot}A9KlnA&CLuGp2STg_op7N<;zILSv|Ffm7<>-T309+CK;! zAx? zNY%ev6u5S~C*HHQxCOL89J0MgU06i`2jC(3D}wg<4@YJ#T$1dlwl`hVgBZ>u8ieD` zO~0`KZdo7}!pdI{wpX$miXfKjSjyH>2!Xa%U?dMNOTH91WGoVS+7XS%!a9r^u9_W; z&L>n+&?*crG5c|s6fXj?VbZ8I9FUniA?}{q(kLd25D^WLO9pP!Eq)lfFe@N>JAlJ#NcXoA_@!p`7Ini0u_9V7J^{SZ z?FlfOo?M)Dmb~>(I(8Qnn0CA!ngXT1v6zK4-W4FssVL7iz49)q34d#$jc2yUnV%{n zK=rbCVokaDobgm8O8VvOvDjt`;YjdM@~7lf8hA;2HnIG&!)faA5tS;^AAeX~S4^Gs znZ??s6riTSQA!=)$nm^hz*<1rDVjb(=LWxp2j~40`N81^?;kz#B_mI1v*EdbAejaB zGzJRw@rhw!id2jm&fGrvJ&D1fm3^E;^tDebslSbzw$h%5z3gneZo(64AD>N|`cV4| zMwJic#N@L)M~N6Rk^cmK`d8%)bQg04&X=^X;tqr))#oFE%Qr~(=-Iu<#HdF~#&DK~ zt&ouy=)upxXhGAee|tjruSQ$bzszrC|T6kg0h_;)+&w{?S~a; zmM&6UbUvnbY?1(pVYewZgWNd24S|{?9$PhC702-BcVWU%V*3aUd{ah_ zzqa_-Dky$=T&g6~+&G|Ws!*jAY=r=l!M4r95I>b~h-njiSRvsvRU~sI&R7+$r5}?n zs68SkJDbHYG(+X@Zuac2t<|hW7YynMFU3LuxftEfL{3l}>-E~8nqzcl4J`58I{356 zQEmG~+|`GZYS$9jI23_43IeB>G;~+cO$8$U%AIBcNC~_&5kxBKF0v7MZAJM!d^2Pb zsWo$AGZpxS@Vm$~@;(fMNUK0tLg$nfHZ~c*L|RGgItl!kT?4Emc+kl2duly`iCpM{ z7!;Z@?-v&6@o?nx+J~f}1f+ImGg9(Y(;1r`FiNmT=bNl;4;1in!kDyA+(|>+*|0GHc&|pI zYlgiXQv!)O1~N=;9d&j+a{Y3>Yr`amGDO%EEHK{ln1_|AX|xJnKD3wS`#eX1}vWhy9vU)DsQABI`&9{ zYjUPuvKI!Jm&$F?^hC#2sxl^^hS=g#4K>f2vN{H%<*5pW`OwwEW8dy7eIGu|O3K?y9;a4{K`nCB#p370mEo4LpeY^>!lY1p6%5k-5z zJ85G(H1)o`U+sh9dOKk#Rx^B5cM0R$WII_xE<=+^E%%e#Xmm*>F8I%)w6(%X26;*O zBydf@r@MU+9%uJ}bAqJEK^P|@t8c2qlO2d+9kxO{0b@tF=7R<}7CA*a;=4Hr*L`4_ zfF+|KYVSJ@8^;%Yjj>_UM+6R|J|aZ_MyMi&nsyVATL)}JZ=gtd=|e>}Qzq8xK@H9r zi${pYX3E@aji!(w&ut6VLnCZTq=2nkp7eKXZ%!IpsLhD&3a~-QT!XkESl0Hp$xXzU z&=;=e+pf>y!bPLD0E*^aiAjPs8?@QcezfU$4E(Q2$x~M@b3``laUGq$oXm`4f>(^& z$dU(3VjoagPlY^C_|jKvK9w2dBSj5kn1IibdvALPlaCM&&S?ZzajUIzf@97NQ?jxn zdtaRqeT}mFRpOze*$9H{Ho(A4s>xy`DH74i0cAgib(h2<(nU^6t*Jh3U`=DJRklh_ zx8zFu^D5YkE&yy^U`g3E4MmH&>l7eJU`6n^4N>my|4pvW9WVLqY|H&k)(ss{)j#Uf{Vn-$4I0r zEKN&-yT;;@-v&n08wx! zfL~3@mUe1{0FFSUptotqge|~JM?aXBusgE%&y}zj+u$$2vRWyG1c8=U$(0If+zL zI}x@_LsMkS59${;?wS`#Y9pMJKD^6@1u#I6eXl@u_sjnClkDFQ_YZ=pIi6z}a9zzV zD3FX1^i_z4;8!L8Pg z{oczMz#^b)H)uQrfU5)Rze)*5*-%!Gsaa__`lJs=1sI!P;euDP2n-Bsu)f~d{FaXM zrT) z_7cJ0CJgi+S?(6tkis?8S=j5KX0*9W`bO2leWY)+%y_xG_D$AfJPd{BSWR%3EWKPV zZ<4kf{k=)PXb{SIts?kh9>>IXPUh2QoKQWIT?{>L?qQ@fqVeD3s9?E!ofNMSX_+hg zcSASZfJ$NBwZpH3S4l$~sVWJ|=ZiF+T$+{O{5GJqKI@VS&pO#Xb*8?;SDl$CgZ-s6g7^=izLCB!FMB}kB}yz3hZ8(HND*;P^(KmZDy zw`no138~y|o>b!oV_f9e;Yda(O9vp8Lq_D2=6y`ehjKE(bhw984OX|syyK#p@e%#q z_Ku@;qVG!6;zi|cd_k~^RD&yp(#YatSPOH%h9-wPu8cu9&N3F{3EOq?o!hXpUjfML zH_W%tq2x`UB1|@D$!L~?=L}ZU>uH)1lUi*n%%|p!6qef6Z!js*q>+YBmv1}S%F@WR zrt41u#5dZV&u<~l_=e3`o%lU8&Ft-e=Y6+S*L*)s^IiAZ{j|)VR#G<~!ycv~gi^#4 zWy(Jj6^9IT2~Zq{fT_@ZG{nWx;5UzDa>l;M?g$?q1(w5Qr}OZrCQQbMbUVfi=V04# zy-bq&Wy{qx)3HXKC;1-W;}Q;OQNcmoG%bdUfy8j31LJIx4+!Hu0Hb9$S36;RHS7?^ zh5%j%n%x_QP07y&Uwnz`T~Q6A{nm6QzN8SP<7p3SQa1LRC+_bd|81L%Zm9?52x;SZ3v4mj_in>*AUt_I$)@g`WIWEcTrd64$1<5nA# zUhcmZ1^gjn%&ue!VaiyCUoKaPS-slUw)LJRg)-^e*6-4+#l(AaJMnPKTsKHiHsc3d z>^T%kgnV1Yu*(_tZmU6*p*h#3%H`NO^);9XOo9#wDl^vP9|jOo6}0y|+$h z21lO}E3OOE+L!;&mmMOT=)O2v%-$iU3UhF_rF=Abm!B2DLJ+%3mZ1Ub4%ICO8@hy0 zro{yN6r>)}bOgYuRas6@Ztnnt3qk@o8lWQQqUnO{O6QBw$hJash(ZIr&skwIGCHPg zFmm)uVmpjx7_<8&+=0-Yz1RD4=gaj?CtgOnWS>4{;P>Pkz|=pfUIKppuYuGi0GCn^z@tz`z_wgYI2?$=+w$=(MQ@>MmwG6m zyt9ABtW*;9VjlxI3j-4|V$bACdfIGc+qYr9@h} z7SGhZ_2*jlekyb=9);WE)YnTbr*q3>*d~qaz4Wp1T(MR$dUQ8wtzqVh<@^c;72AtK zOAp1^5C9^QH6S?vIjeH1=5W&x-O40^CK?LJx;}QezW$go-78d^(wzgCUlltCVN{G) zemn;jv)k>y)eu*Nl?)PQLOX2M^6{?7harA2g(OC3&)UEY!@mg_r&Wh=?nEvZD5OTc zoxhtoA#^rh=DN|5)R2=2%squV=>!wdmjy(^aVK(1J`+hNbF|N?9UFJgF-e@|-okgwzNgUtH{xcEdfw0Gf5rf$bs8dg@@-DNOCre0lu=i zXPg7-wT8|@r(|T~K3ue7*zgUoryuGJpb15*!llVEpBM^tcWQT>bN5)pq$W&7X!e|urQ86IJ7Pe0T5vm`GxD+%py}t=m`bxVME8e zpyt}^AMau;NwQ7u;3Vh9*w~S0Zw~hV@urV{eAvEYAYs!<2)y5XWSQZ~5|6&M$=OkH zCHXZeB_H|fZHgfx?gGZ*jIg^D%PXP!PzzE8uV^TFvZ5Pq9eV$`nu1dkA#x_u>}5-R zkD7>XlH`VawoZUeM&3@sV~*yTgI$4tg4UJTp5;M@)47W!3kG$ElOR`UGmG=k@$nB* zD91DFy~yxLb(-_WQQzfc;Qi6-1zK5?+Yh%!+}5$#9@-DLw74IFESH_^{q|>J`JpW5 zW&wws_Nn_B)aEh_*nQdssF)4QsYOe~DM|WYCZ@(8UmuLm0Yb7Ir;a}lTskRgC&0r< ztW2Y0+)9Xch6}Ccudxpv#}|BsT7)!$M%z$iv}|X3u|Q&tgcC`P1PG&g46=0tshOw}5eAi; z74yj?pCV()QJ0M65rFhjs#?rj3;CH^K}KAN69v0vm|l0|ZLddZ7Z*i@~Wu*8u2$G0Laf;$*a7n>-*eSO^;`Z?F$_x>%7wQx|}KoSSP! zBP5wcL(r4>2GSdk)Fd9~<159rBUCO4$Ks8Lpj@;c!NBk&Oi64_uL-Z?MhH=zeglA+ zOh2iyWwq3kp@T3Tcv#|Np&|%73crF}vJ&B52mgpVT>?vO@Wyo`WZC*AHb%>08#3Rf zhNvLWM<>MN-+1G*hyq{W17W%pq(r5O0AiK<6cK}TBF;p6q#kK-eof`4@hK<8hY{KI z2feevbO5(nJ{BBcLoaZ;$6k*mCmr=&ApnsN$&UF`9%jv_KMEaZCHFm2K$`e3G~rMk zuQlZ+z_K&hJ0Hz`I(OrFX9y9Vgz&igMDt!_5t60ytu@A!Lczk!?&a$rirc{T&LY#q z5CX^M#^kT*BlEqFJiZ|9x4aHq#Zq4jzOqqk(YIEvgSG)<=`$F|$SZbLHh zzKMFPN|l*+-ew`0)Gb8F3oL?!*06n_)-=G+u?#dRgdOX2o|mJUp|)ddISN>cj<$06 zgQFk+4wrLD0ywAFsgaqK;i#6QU7ZHXUaw(0n&1_k78bkYiUDbcwI}Rm?1mG-dxUrm zp>JV&)@pMz6e>`gM>}g8;KhyAq-eABUZ6?MmCZ*L0_w%Qg+DUDf4RM>M{|9%=8Z%o zR5{fi)u=zN)%2%`>(~ccI=H|U+t7IiZ+wGdr}NPZ0Fr zL0bFgWi2m2zVDz!7ZRdNeqGS`5A4ryeg|Y|~gp*SJIq#skAR%hK^3 z*!Ni#bU*5tmo~vv4`z2z*bd8c9>_{`ZUOsj9J+)dCIkzlJ--zm^fY+j{nH*Xs6J70 zvw}wWeMB2~%OmDJNipHRu%g6BAKIBB6hqWm#ObX!gWP#YU8-?^It7H5!~W?3Ocd}A z5w+&Q|7*LmK5Fef(O^VgWN)POtXRmjK)fJD6Yo{|#F*6>MF{IPQ(8(vW zx!c}z-Nd8nBA+^{b?I+phzmzeSyy7kokX)3IWmXZHjc_EZt@_f2a;3WH2fKpCuCmD zQ2?Bw6bxfwlu+`EVlNlR)gQK8pAOnUKMz|6_%~@l!2#fgoLnSdIs&A;2NomGE*4Ji z>ad>9E!_n;j004{MKQc(eI2w$fxwQ0&yoE;w_3VkwE(8v_5Njb(c)hRxa;@_w!kJa zegtt*n;XU=aPag-b}ANsq$V`SnMql*UQoy^*~xV!dU8s_;waL1F2XYE11Vb(=xsT_ zENxFa_^R8|`9ztS3mT&u5NEHkYahQ(~KbhzAl(^$=GXo~yzsbM=DzB&1S$9`CVnU5wSpI%(K z%MUlfWjVj++M}HiMvc`m1mcc@(6}yPx>w-Pu(;$NKs)pRYcAF8*)Dlcim0V`{F`c2%dA=X2&+K{DlL4YII?zop>jk1YV-k0nprx zZ1#+KCaj>%oQ4R5h;PC=;KQl7qfmhu(!p28l|$XkTF1ugxL>SwXS@egy1S=rgzl&| zUhBDmuYsO7VdQ1^Dxbm&t_F}OQE@g0{EmxTK?O66FtNbmuLZTfJUsd`085C}*LeUY z(amh;R6-k!(*9V@7OLvN4N#1gEHC9Ns6rtT+zX|W$tgEDvUFW6fqO5I{35Ikp_!p)@)vR6S6j%gdxX{?%!TCq< z*Ap7xwrCQJRJe%>I*C!Lf6?nZd)**NQVm*=!6CWf9T!1?z-S z-f}c$c@C$XTBg>hPcf5NRj4NG3V(A-4YRh1&~i?jW}@sUy?KvT=mnZv}7=lW$ zcrZOd$;arE`NjCCy0(vHPag=vN|b1AE_MDhk9t@gBcqmw<<>1r>!0Pw9V+0@sn;6 zf+kUH3Fb>w6fs*UTq^N4_eh9|w_=aqTt0OVsrYBk-Ea3qrRFo^1ZQokI}P_Po}Qop zJn`@G6#Z`B!;^5&(Py6a@V;ArieGSIKm^$wD@3P7+DWZLAwW6n5rO}r>k`}%2IvD~ zRFC2tBN`E`QcdUG(0CL0OZ=9YAQ<%;D=gse_LAexsyyxI3=yBXi(hpAjks-UyWMV{ z0qwN%n3VAq^;&%I-~gGkln?`J2F0vQ?7%9K4A`tsorufQ0pE&I&f$}+{V*-Tt&7X+ z=dCvG%aE)MP_%Hv&BoK}x)%++gHsx&Yoj+$!hK>eC+zbcm)?$FGrbSDDZgWyA8t{8 z2YgoddiI{C^_UB?sAnqSh z-UO+HFrl)Ox~2?PJ_aFRbnA+a{2`O}FyZ|zSZrpZDMMc%SDU1Iqx_aA6J)}gxo`)Fc?(5nx`?Z(2av7wTp=efJ( zQ&exbTBv;3PI0-?SKDYxDdWCNi3eArBMX_oAnPTOD%8tE4In6A%!KnG*#UeB*p}W_ zAE;df}*xM{Q-<#Yj zu~^D(Vr*Lw`&t>^8Hu1YQcKHOUZ$+&r8V&FJwv=3n`%78Nc^G*$ zrr)A;X~h$6xchB zngps`rM)b)>`~UT<$?0G-9vqb)T-TH!_Bw6A=?g*-__G4-Zmyr%~2fagV6~3YIdQ# z@@lm}Zt1ePtfsfCe1P2av4yF<0hs+5^Ie6v?emw1?m|9zar*jj|KJ2znb7jL5u75( z50Q_`kI~gA$q|<K3|et89w!^*ALL9y2rQa&g4eKsv$cHn_6pyT?|YP)=wZ&(2v31xNCP#NYF|i ze9kftYs+UQY{ig{kgHg`=NvV4il_RH=+b-rBb-ap7x;fK@%vrkdK})X?aq7M))Pnt z#l6uIyuRuMPftHME=+m%5BB;$y9@T<*fFGz?4Ba5898~CL-(c9i6ul-S5%k>e{{62;|e>rv6z+; zk93Zn5=^;e3t$$GUa#q!K0}A8@baX&!poCXh5nKX{X~TqOTO?T^@SHpzVIUT1q@bh zu0uEgX;;K}i}wHVJ5CDzyZ<|OAODSiV@sOT;=OR30ehA*aNn0Jv&6g%PC?)boGc9X z?0VyYw61<2z$P*T{xhCOAOlkbp~;MvOUR7KH6jELs(*q8`&CF zYA(lD)rVph;Y761ONYQBM0^jqat-56a3UhBQ{T~tggzksHdz+(aaI6}Makf19S$|3 zqfXifj~7fO0XYXQ5X3&jpv-E#{?T!q8WN~lf^LT1XxAlhZX5QE`iePr&Pk^jwaQk} zyVzf71|!S0gEAf`JySN)DcSO*$L71@(=;bfth$;6-J?>P5>RS*%RPnwyGyMoh9}i? z2x8*L;1uinG+Xfrp2??65`o2mj8|?!{lZ8356b_#29kLvYxc&FH_(=Q_9Og9g@PBw z{6}mjkO-j3wv+jx>~`SL0g>*5x+1}{rKmh0%|WO$$m+fWgk_4RMEn>i+pFOMf)>n% z$5*bos15Nkn2LA&kr*a|*|OaO_*w9BBCjdollL<@!I*#Qq)8_K_niZBxBzzAb- zE9!m`dNG)i4BWVwFTwVS$n}b5j=aQ8FHW8&jSnT97thPMxPM98(j1lEl@KwwK>j=m{7})3ziCGc~|p=_68^r1hJSdA=pXB z8raAk54CfPu@eIvLkP6uRyA#x#ib+cE#5&JMmvjUe!9Yw=1TI7v1Y^VQ0u>xpkVSX z3^*vpD%p<&URdMwBVyc%ECAtaV5i5`bvL1t_B(rtn%8Xqo~>M8Gxam^juLW!+j00z z^bwm2XeE^<_I{VEb`NXK)U<^`O1R!Qv%%c4Q|54?K%Zi3G1po(rM9>f2i!m=HDAcx zGzZl+1ZE+lAj;o?`%zu8nwncF=D4{T3uj-EfBiv3s?*G{G(jR3HL zGk2b^tHo%@a0-x?W+>RMC;@h}l^7lZxybw@i6T4G3uJBMhre#TC7p*VG_zKOo?)Y zRv4uBwre(h-J9Y>JSzo6#)BN40Y3foLQp@WC2T2`f{WP+`lQu%8)bx|9WFc)Gtfg< z)uhX?j-^R7ObxW415bRlHX0P&_ea3V0oOPN*&aFscQ%t)`u7{RIahTrt!4noux7(|lt6@zn4r%D zbh2L7BvRDRec0nbkosLDDRh#0_Dkxkt0R_)0`}aADzD0+WP@p?`uu1Uf?qEP zc^#u6;cs^pE58Rko_ze0ZB637O=F^gii(3;fVMV$Biw+cWWbyK6Lpistt#b;8}6Wo zuahropAV{#xzmYtgxBGOP;WS7WYhD-s1vDBocxK|XbKQIO2?ydYdk0X3AFhA==wS; zkvZ&;vU_b(@_Y$`3H_o?)XKT`Suwu`S$jjY$LWQ@D1wnYYge4pT+};iK*AN`6l!qR z4qve)l<)^6F&zr;pb_O+m+w1Kp&GiEvyR!pWPOT_oql8pgrbz0V)~71c>e%S*y-`f z&dHWF6ru!o1c^9`S;dW8XPhBm*W<6LHQl*KOOpPjZeRUI>X;4 z`;QMCgP+C8?WFMLQySyx+&!d^a3~pk8;ctMib0i%n zLPK0cxf4#73_E=K46;wPwIlUSKn47Qd;~Vh52zik_!%bLvg^GRRWR`5A?Q0tf%MyN zPM&|~Gcm-uTtmD=(x4&SA?U753n&?`Si4ggN|?)^c!0A3y2!Ow!u^PH$%eEh?CFl9q(0tdvu zdqT9ciNv%_(FZ*&+xAo>6(QyJ|^k?(CY-|gUiOTsDc0@4}ZINFY1#RPjl3(Phr$4=ns8d)XcsaG0CyaMv5bkNc9qA5UpY=>IUS7 z!8nG>S;pZeUN_>sYGDWJTY!EU)EGJNorCKDr9g0hXZd6@DoGfT5X3Q$RC*qfwvtk(7b3rINf|&$twpN=MeVpJG zQi70YU7hxMH+WnO7El|*SePp|52Qdwhz}bvE zTTqk$XP^a7Kip0RSsGPJ;PCA>9o{mXXg8;jk5@2VH7S18!E`dMC{sAAQQa=@k`=bL zA^cugVVkkr4(?)achuV+?m_ZOD`(61Nssr*neLb~vtw2Sa~o!G_70sd&I&tyMAV>jF3%FvW5S2ul}fX7zWm8Pje$P@P^cY{$Pc(>h<;vr#~ zxY9RBCLIT}`IY;sNsd;F}PKHha=>#MJ)LvS4a9>0(an3(Y;Y27^idz&FP5XBe4hN+1i`7c?mRMY9~1po!`w4J}lR z*n8k)eOeM+@JWzk>1|hpAfrfU{-6oX0pD^48sK5Q$)6*Ot`bbCGNj0ZKGex+#{do{ zaOm&{oM;+sQ*ZF?zuFsF2?sN>PMDcRN#6A zXW-Ob)~DxAqCd+AAL2Nvpie%p=0H*mTSJx3K*x98%>nJH02@m7f!~8v=&P;T_stx9 z&iAF;@O}I{{64R|-|sE%$)mJ=`cbyo4m$T|%|y5IEE||;6_lLOzE94z5Sm*K5K&lsPk)-0B%&h&Uxd*v zl;d;84p?J0<@@Lv4zr#uSOb>(l(Uc}Mny8qgO5yL4SwXh)F>};^a2%El#?O9L;x#t zG1-0nh9LXP*@tZZt3yqB>bPkQ@Pa^H_|ihb&y-U|&mf$%d@$EQqjG#cqHJnBUdQ|o z3onqk-A7t2@pM|M)o_b6EgiEw#Kf*ND{S&9u8S#q>4GCsw;g;UihdS+LUhtcRbY2n zaqp&&iA6z01hY7*st=2adhcpqd^SyXMnYSC5Im^>kJseugQu>)XE3Q+9I%AkXd7IL z9otR|;(e=0vKQf1a|^4loz)^SwiWpt%y7A8W*sqD-KVfb$33x5;+BH8NZ+H5C9#8s?*&Y{llQlASxqM+1(w=LucRz?0`XzqP8}?BMW3Co-Hx zw}|`X3H1QD0-W^ZgtE|qGa4mq=5f0@VTUx%cS92jTk?B%3a@~BmiY|M25QtO{qY== z_6)CbCq`TpfxG-HJ6n{a`MT=_rV`Uc#K}-blOptgvB>|svB)zWq_8B?8^gHRMWjt!XCGJbT%Hevkr+rfdgy78eNQwDJeZWov0Unj-san|RZgzw9v-@dAV_Tg zmXueuczU<+I1j;#aNYf;^W0dVpTOo1fGg>7YgQQ*(Ph{1jkgVA4P}6fe=zg2i%uhyb_n$Xz9wKg~KpCD(n9C_Hx z$)g_P#WS)jQYiadi2(lw$`w9Ay0Bs#$ciOIQb|$(VfwPFCK-@tj5m;s^B~Y^8VU*c zg#403<7{U4?MzrTXud~3_&;vn!#3u{V-HKqa!7g*b3mo0Jfg0%H#FSeX||5g@kxr~ z1>lu7xj#}>`%UsT2p(vFAuk%Ah<#dIZKurF7~ex4?PQjN2HecfB+S*c;n5m+>olYy z;lu9H4t=aQaK9dX4IKE@H~~gNh)2L67&)Ia%0mT>Fw+d8nrr)fj47ZS7nJf~op_w-uPi<eyvb1n0{t!G>{39uQtSF9mNP{J{SB)nfEG zvmb$ZTP?@y96nVR)77r#&WwoVyXu-CcxOfN!RE&_?Kwsdlv$|!;AEOI-(tVYP$z^q z41w|8LykyeffxyP>1aT{O#c64?_ImwxRpfF@BS4X?UO{bDTUq5XJmO6Ezu4qdU#8+ z6HmrhixOKFV~W(~!?v>R^V=`#0ib|JH!0hDX6`*FE27D6pztabstWZ`CwH_NSEHmF zr4_zohe!2l)Tl=0MxE{G`RG0CBhYGa zetDhU3@8(^W1eA=l|~?d(SXZ`yBkGu@WqqeD9Kl}o#vj#+xbF9%anaovhm#HRFfH? zaGEwg;@q;zV|#nMvcc*O0S%{Md9g)W4Me9oxf7y4I;u~T2JHzWdM#&gZ;xJS0+ilp zFk3W|T<pZ)4cY>N(lD_O42DK*b21aS(ZuP9NHY4OojP2L&2p-5<1y%^M=fEmdriV9W`uK|;V9 zLBc}21VDSROF(`4RLPj5iDLYap;E|#4whh9AS?|SsN6_TwKZ#+f~@vo>RNtyrU^Kk zwoaVib{CLIUE!_7w5QXl!cRpX&m7bZX7>>qZw`wIg#<9gT4XaEC}b4h9Br%78UsH| zm%THOeX6GmhcJN|*d-YH(oqe@!?WSMk{{FolF^?_2X&?6Ur+}ia>t!EL`0iG0HHUD z-wR`mMyPeM1*%OaHmE(t#vcZE5bYT5I|Up~bWm}s)!1+%2`MZynVXS{EGM`VFv^MF zDN-0X2#*wmO>%twFmWat zhR_tmx|!aB%N@?T@1hE0a}X|v31`PI&JX&B{WFQs76+!c0TjslpW&#>8+v+nSkjQH zzp|l1x`JAwLVdF1l1;s3Ok@4$ce}^E^COTa%m}REk8bn_pO{#O#Fd3*dJJ{}wIw%8 zRb-edqvClP=jQh1QUC8RdqMN2l_@5TQM}|O?OiuAlls)243y}HzHO*$5!zP6yAgX? zHBKOCqJ2Aq?A>&srD1_P7>y$kytJ^hnk&K1YEa1UIz1YQXlh=E=(yKfrfpXj>jj|t z(#0|>1+JF!Q!+tuqR_Z$q%Hoooc5xhqgs(0y=I!?5~Q=fh1#sc1pjojnTAK+WD6X)sJ3VVEOAvR>^M}RK{z&; z2JuqIs+nGZ(KZK%hD=#TMVMu%_67ecjy9Mx++jIuBwb!cl1+EI#-fNSfK~$)83s$E z9L*{Q@;^FwjoSe1c{KJ0c7Z`wW<;&iCh0^xv<0=dLN&df22)HLb8}gvChMh02#RN~ zjIr@2Fsy$*rho&6S^YETME}vo5z)u>pKsj5=i}q2ho@Vydo0{UKfwLK<|cQo5?3BS z{uuCU{wy}&%_{n*r?v=L4Le_iuIj(&Y4#Q<#}GwR4x8#CDqkNVsve<2WOSpb+j|rW z=f0k@SK`2@{-w~S+a%(lU6`?hsA>?yDT?u9#s;H(%06C##oqN`EWBJs;?mK%W#S~U zIw;wux&HwMD|*OGs4z}tepX==W&%#+jgd&|M_|P}Z2=rv=?ij;RWONg^i$+CT=Ch- zE?uCZN@k!l_u8QI19X}pSHibyJ1nkmMwhyfn6N=~F`B>yE@_gqA4`>YGg?a+doy=w zI0=is7KTZ^9YfZq>Dy!z=XDD-P8E*+?^bqNr9h!(1un^wg7QoAPqOj(bn3!Um>%dQew zFd#u8gR!g8$85M=$z2sQoo9OHP(^I#C%elN_eTBUL;ns@5HpI1{(<6lo75gq=O>ys znE~g4PFQj=-u-?K1{&}Ws5-vaIuQJZs}J9BrSJ=P`}^UB2BJwhyp9OxcE8_Fu5>=_ zT&(B+pFu1B>T<9#qhl*|47~Q_xsF(yRC@oRfs@$e$62NV66Zup&ArS(x~oo@hxp^%bg+- zrpSnzCmSuF`Ch~FZuVN&TJXwk<=97QU6yY8Bm-s)colosH38EVb0>-svBAoKVg5_Z zo*c6~WAjub%dySg3Ej@4L?J>((^aCuPrAXk!K#f1E8C&6MLu3UWJ4Vk)+*@{PtaEa z{1`Z%J_yB%%v6D*p`jdx1O+jf&Gje}yR3rQB1Y5YOfmbn8N>W>+R4j+> z=+G%l-Z-=?uwQb7lWc}O>I0jz1@R;jP)Xy?p?7q)rQgs+4{aBL@{xDO$b_3>ds-Ba z1+L$aHz@|gLveUA1eFf-YVLFjon0||K=fP2>5Ja7x{FO#Y>*MOxd!ti)f#$6K}2Sr zBooUUhNYc9X3GhM6kNdhg~62c;>{q{3t39(eyij2W_fwdC+P=_lxsA|Lo-c_=@iS6 z6}TNYApk7ohwMijh4$F|Fq@*9drs}2W{^yV97Wo3nmbY%9$p{f@o=C(>*OdO7Wx)L;ojl--tm5KA2`8^t+7c>DC&EVT`m4y%_K9Gxw~?4 z^Nv^M5at2OSC9$&r%m8u+f}TSZ8(=JexwMqLY5~|ry&Q5%5lsF!%cHm45zkpUA(!q zMYTYYeLWfv{cAKi&w6gDMlMo-a}Ml5NEr|(UYvJzAj9b`2ATnNB?Km9{Kbn26YLOT zJ}Er-OI3P6`3+E(#Mtg?x6U9)EYD0s)^LE5rznj~dCcs?x*|YPb8zN$rPnyttJzfB)X9B{MAice_4*Uvk-Yh zt@FCftBScm(U$K6sGP`W5u3nJ)hvK=SWRGG)d|j%b~9Dy`yKb^3KJ|y&>Y)7x2vFQ zU055vW`2@sH2fLpZ)$=$POd7CNCSZcqlfQB0B?*us6!J#Ie}nCvMNft>_i*Xp$T-Y z_vG!N)AW%t7(>{jr4jP6??&v`P=p9PiDt=d=CI6~iFw#*oYpYz|7J9Kf}vJmaDUX^ zm3fqay+nv;lRW zZd);bV)N{X@Q~f%@c1^_d|#EotBeejN-hZH-Zf~@U(}(-mSRL;Fu8(28u!5OTmz(9 zh69z*KZ`&V&w1m}UZUWQZ2jf<5`@gaw#i6Y1o~n=0TtYA#Qys(C3I8Y(0Urornikz z7%Me3J8{ABZB<`}G7NMG#b21HoG_CqJDqQl~CfwQq(AT{;&= zt}GziC}gHd)*7kJfBBB@*BmEO*^rrm2U-uW=?EvCCTrGPVXBJ(ib3V1eTu9p;O~CW zGMKj>F9)781w!&l;aD8^Ra?H$9FSHHS4{x%_y`3Axw|nwW-wA@W)Jia(-~fx>#P~L zyl0SbW#Jepawn?f#s$tEl93BsXJ5<@VXCu%MBkl!9X4j*Vr7^w3HuE)QXkE`569v9-I4XQ5v2$rsmr;`fJa%a-N)d@Ds)5MYYF%oB@y7zR+9`*C(g&C~k z6*LmvQKwnu1ed=Q6AVt}8vD>=RL`o*d7&}HV5a7IKoab>UT?nM<2}r8!fu!5;91y(*wD74FKVrJUC(st&=6G$q zJ9P?)xjPZKz{XEZwgvJZth(XVL0iem@gQ)8lfRDjYihco%W7#bEu*kEn}gCK(-sRk zPFRec?Bk#%2)m$GRCJ1#9aA2vw+|?^i=NY`URn)Et%MT1b!*l6J-~u%3C6oJ`0jw# z?)J`xH4iFRoIvFR6DR>qUPPXa{fk3Gw{0-Lqaq2`PaVN0_tg#Yz9L zd-6K^wf7oa#CE8#b(J-$`0i=6NUAnWIB3(=X|zbTFLp}kK-G0b!


    im`P)=xwAD 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

    acy(Jw0jv{q6oq8#3k^Cbn_2L4P*m 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

    =CBgrm2bKAh6hbbd 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 diff --git a/ext/sqlite/sqlite-amalgamation-3.7.2.tar.gz b/ext/sqlite/sqlite-amalgamation-3.7.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3fb93da0f2a2212700fb855b1c721e3dbdbd95aa GIT binary patch literal 1499007 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 -BdpTF5y-PA$){b0WDz} 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 z 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

    q7|@;iv_rYtu2YN{(r{c9V_+!(pvs{j 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

    lno(Kcny)1 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

    RYw6-(7%=BYNuxU(buk8a}4@F`0 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

    #;(IyTk>VA2!&vNe;jL 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%0A-`Qmo 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%0AvIyQTOZaBJD+=uhAUTQQm&WN3MaSGr`MYJ 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

    S+n|3wGxNKu*Jfh3)1 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

    8+)(t3qbq{snm{_7ejW2O`3)Uup>Z{1Rs=eP9c zA+fImOZ_ZfNrIZ9HxBtaj}J=Yl^m{f6qe>wqx`VFm$l)`cr7HEj4lXe=+RYB#`5Xe zs2Y6u+q{|;&z`yke?~#rIPq-3ozn=N=gGoHSXQqYEBEIX#HZwi7_5Q>VJ9?o4s)ybX?i9sG8rq|rEm_#E9cBW@RiUp4 zJ(0B>vt-0%(HA2&17Aq>Z!(9=v(G_qu=Z_892hi@lv! zM<=r6(S9|FjZFFR6@13S+tRm#OQ+f z1V!5dPNab~dneBdRFIK0 zyb%F7gZlZbh}c7S_}Sb<11Z2j_Ty!t3}~wBv}&j(w9T!av_u%zAn-wwvdV3l~IsF}Rzlj?PE<1=*PWQEv>sQEwZs&h{2rkL}5p z%i|VT_ls=9y!7XDVB5h3A2dS5!_#3Av^VdD|K325oR=4l#D|K>VtQ8VtacCfU+%p+ zJ=)uU^}0_(1^r6+>zjA4kN4z9wwX7I9QXf%EIVpb1AH@&h_#rmx>I~z(?&IR$L~I! z3#hNxfK1A6dma0Ur2|u>J91L{%1Ok`0L6>64vrh>DUn@Q(_t;}`Y}#hY6=X$@8*I1 z;y%J|)FC^_9jSl{FA|z0kllVuep~-0)DvQ*Ax5MD4u_$T?7ATVBvx)4Yt*yuHN1TJ-{ysZJp`6} zsHS0XRv@4`N21(SVH5QD1E*TyVqaJ&YRY4X7CDx*_1+L>qE$1(H=7UfyO5)zp8$}` zF;bDekCn0lY+3iLOn6_C3!F$+tXXYPFlk6r@zQW-n~tXGLM-dSXeJa6O9L_!h+$4r zGdY{rx2JG@+{+5naf^tO%^5zlfZ^#qNv@onRSl7l=3{f6WJTd%MmPpig8!R1j}ITL zJ$H}89;*nB0b($v#spCBhY#e#96#~7dtMB3c=9!i*cbr!s=8jAI4Kk^j(cd(h|VlJ zbb40KR4*};PSwi-m4kK0v!Tb6D{=NE*j7!�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≫3qY57M_ys{866CNA3GB8mp3M*;ca+oNt9_0)7w1Hf9;ggK z!`mMNw=Ml7PZP|?h)ZHUR$x{C4*uq5+hR03xuu4oK$#Z^2~W*U;sh zgSIS|Am?m6RFWa&=f!Dq@d7xLW~=Oi_b1a42OCu4K#K^+(z;AE_uc_&Ica1zjs{#w2n$qszD0rCp!LHu#pgFVNFh+h z879|bo%r#Ym-RMiT@gc~5NMtE55B!7B003}h_sE|jYfq$+=d4f%aN>agF8aADapUx z>uXUnPLOrvIk0K53-~oyWid}NfP87Sb?v+>Ka^d zo9C{xd9GbFZpsRPt32zc&t+vB{EP!&+SiJ2FvI&VR_V zT)uySN4YrcjHtg25bL5saUpQ6ey|m-gUh#Pd(6W{i{|1TaAl+=BDYGOh;E{@#E6SO zAj)3?yS=RvP$Cb9`5STKJc7Rcq+9oy2$EHS@lxv*)@ZKuP;fg)c+4Lo=Xi@w2qigdzeT*nSc!S%Nn?GR(3iY#vpV2(0s!KVAai zSd??uU9>aZ_(2IA0Ovf&DLxtVDRHC=8oVx7ri$53nM6a$WT-bvxUHYq$eS@(XVa&- z2EW;dSOW+EhCDpFq`g$EW1;6>YeN$pwN>75))6ON3Vr5L;RVG|sG$Eh(?EX6Y#c=1 z#i?_Bf9?-eD2JTouM#2j(TNKWhrZ6wa|@`}*X|}{&KGwmw)<}ZYgCU^w7Em}fC!*b zAEHelql()M&s{{Go4Qo;;n)I-he$qcY-5(qd z`7&(i2fhr3J+-joPAySn=!gJl<*aBkwV8CVzYw4Z;=KS-n)5~e4w%tER*-k`X|@@- zw6XwGIA;@5k%8g`_+<|GF*A%|16bM>AdTXxiKR(>~ z^9~*iX`gqe&HiIo5>?rfC{o>#J;jrJo7v%g5s!9;Q=mhV36L5C6LNCmft#@Wl z=xF7Xz3WH#LjdXEh>hmU1cQL1E8&U|1$CQ>fd~XtL^#H4(jPk*LFVklP4FffnoRVF zlEHwfg3#U}_LH6Y4_O_@&Qh8;Y#Svgf5VZIqm>$|BOtdJD5Fktes+W$F@z1?<521` zmd7F1gCeyXjKe8);mgC~mg8Y7=kK>}X^1^V{gRN(F=u%L!uwF=^=a!P>eK_*68#ea z&}oNOi<;`lLl9g|CjpWtVdMZf`AC?b=$|p1Tjgo+B?{g;-bCwE7eU`u2xZuH5+EsX z7Ies*U>XexGq_Li9{oW_6_`W5RH+F`zQ>Z%SuZC*IFAe)+LK0Y+H%+Kx@K_B)2as1 zFMF1pgB9lyhD$3^!|xu835_qsdzQnLP_X2Q!JuiG$lA1^i~zF>Sy0Wo0|2K}#-mBc zhLd}sOtI(j&t8~e73*w^sw!w`7P&38K)~^mC}$& zs=twD*rgdqcW7doz=IotrMjFJm-3=|5vSwKTG1r+?Kq#@xPw7nL#k2h6J;i7);`>G z!mm?rB%xFd0!oD0dc+h}xfGE4c;-4v3^x1o8v*LGCT2gOvW6F+0J|3R+lL(th5Do3 zX`1ui*+OTRWqFZbdUpX5(#mdAO*7?$F}{uUEVF)QAO~@>5z{i=y%_h&5g=_{DU9Gh z`|Ulc12q!TS=*~IEk*n~#64#L7;m8%QoPKghYd+D>3$@o3_D|n7h_XDKl|jL(bLBC zoVVy{<9e>9)8D(Vp!;gw&WuJLd2AE#M1KQ*s2ih>%FWgHWOe+X8_exTLb10<;`r!T z#?>Ac(#d;}5%mZp91{OXKC=n=%qnaN@U68^LsweMWypn;=?o_B^3g^qVGrwSF^fn;Jfwkyf)z>AGS= zBqSu;B0CcmE|D5xP0ep&u<~w{5K@f%MjDw~u7%#@Zbtu^)7idt+UC+Ks;s5S<|9Ob zz++b}&=YW3ICCXBc(Mk&?kqk--T{RV6(>6lnP)uf%$kM+2Y%Ny z{jk0PlDnF^2KO^{?UpSm-}>fZ-m)!`)!KuBo2!$2^=oUREFHC`t#2VOmcOB@3XpJ> z!#LbE&7dsu;X`lmUJN(GhwsxM?&9}60=1}&md1Zw+ZX?owtevS`bx(_J!0)xZGD5+ zX&eV0&0vSwb+Sv43Si?!4b3R4S^yF>f-8hII6#IhbIZ98EC+u-N(cMnxoH9v~8wOxd11(bBu%3@@Iwc9e3sPBfx#vO(9 z7nu%H)LN6afGfF#KqG6q*JzM_zHi10@pF1JNXS{YreR{JiN&^r$LW}!>^;cVf*Z>t z(pYv9@G5Y)#8s1wUz6mwqmuk~RFb#cT{tJ`ca%=6QsW8Y@Xjc+5LkV+Db)W^|;tQn_U~MKGBu zqP>%i)DNBfU~ygSW9U`w?@~lz)Z=68M{bjVcA3+wROm!S_a*+W8VB|gWS!d_cZ zxgcOkaQGspCBOpRBJOtp?v6GnOzUdwNVFFYhZJ=s^%o9`jZ$Ey3!@=?SpZ3TI1@gG zWteiQPG;5-3w_QP*-Y%D4pz7BFIihOREk{NQ`fcN3R=g8A-tP}JlsXEJbz(uQ&>qV zmxcL3g`tB>6I?it6EF1^kB+jy)?IIc0utE14ztc}6$j8}SiKOk4q@4n5Q{BgK(u>| z(zbc;{VpI_EyTA9VbnBh8+^Y7gq*jo|CT-q?3<~{36F#;|A5|m2za{ljDM$b?|$d` zjW}e=UOvRVlI)6$m?b`p>;*Y8bFo1(_AD}>5k8%jeW?%N@ANiZhx=lK^z5A~xqe(A zkGT6cGycR(@l}im5Zx$KjdT;|4U`%xOkv{r+PdCYc(bJWL_+!+=ew^t1Iwpl)JCLt zY8oL1!0};W+6M|@Xgl;4A6v@@ME~4H>v%g!1{LM+Kr1K)b_NMn_7BW}%EoiapJ98n zO+B(p?cBG&wf93kM!Opk;H+D(s8sbGz@hKTy|-n3YI!khlgA81*lg~j^ZJ=7xK6;g zFi;g}G(E|wE+GjxNll#cBqvU;gV{hO@Ab@yX|Y`%0$~e#RJ&p8`7MYmqFRw%>LZrd zPcypJM??v#*FvsT7l0|Ck%Qe8*1m3FK3 zf~ar5_0?(;v2J>tahw01Rl(W) zSFH-OWbdb#+d^(WnGG(?98h!~XMw!TIjs{LZp<}0b3s82@|$3%@uD_zNoA7~ zsP~ahYmrsul!LY{S{>o$a0nj8+yI|DXAcdD2!gco)KrgE=<#8J8#ngGEb+?4KKRtCbEUgT42`oJ96I0S<1wK+5s41Fg8Os@Z63<+J@JWW61 zUry+)n`!TDFYP5`!&!kA=4MNLqtJC*x-#Le*c4^XOBdA^B;2Gft%07cda;=QZIEx3 zPBM~O0Wx&q{GwIIQ2f!U=h&eQasA)~b5QGtwTi<ldTw+ueRx#a;GhR|kr95eVbNI`4H#tzxVtD3sg+Z|=06cZ1r?IW?Zr(k3xns; zewDuSGltqALBA8EY&KFZhr09bHN%*Mfi-VnLC+C$;oL4J1ovLf(lgWvMAr>ojO3Z} zjCqHL-IqNVrO-7AqdQ-K5R@%o16WbHy+7>w;(46GtU1eIWHzv4s7N$Vud*o~n`kFJ zDTX_0lgv>c$OFe=15-G+!;Xt67oiBHSms!Qd=j35ie?$EBpUSerYqupzVsP>BvyEk zVf%-a>sFJ`@@_Wea3hC1zh?ebf;eC*>aH@v0DU(coE!#FkJz$pGn%8p+;qq(td`~W zZaIS#imy1nL8m)4Kac2FGi})~&A=E^E{cr-ew}P)fa>^>tqkNX9?NNxqpF#S5s(VM zFI~EGwN*3uq3@R=#RS{{d^NJ3r(SBDSFk_W!1Lz$;H&+^GZ!M+SPxQ27rN%|(W_Vc zL&{Zra&&O;yua&G2bjMCbH$4o_ta410OH1FiUl@ct!dzBt$|7dV>;#;&2k6sO4sUpu`pMHNv-t8Kp_vGaD@$hWRa#Ud#EI6N+ z!CWJ>>6EgN?uuBi3A)0q(DsFgFbeLb8%1_by%{Mj#~*UkP35q}^Qs1bg^5`a4OuQg z9qXgE8O-;}V$U?BYBhYzG^?eKXXFCKfrfDmpt)>vgY)tp_{U51AyHf=m`j*rD^b2g zP$!J8j$~nvoo0&!6*z{)72gu`y$kklpqlLBpfJR5*EOEO*bt+=iCrbG zFGbnVRAp#Qg(+d#6^O#y`SiQP-Bk|WUWC!Gc_w&3d&Ka@P`_dRakV%1x{#qA9Y_`u zkss>R0t$o%=0YR%O5!kb4G(~mVw;fjuh+X{H>sJzZgSgf?L5|wKet!B9Upi9~+Y_mv&n8zQ3o^);I7Oo?nZ+|H5#m zYN+|bGj6!?I)Es^K*E^nNwPr|H>gXT9sY8W&adnqK4EG?nlRcI7XOkYp{jP=T-t4Q zWN_>?7-BhXc+zN!SuVo4BdsXW0uYn0IZ37@coXb&g$|)!=gy5f&h9K*2`qM+eUXg) z1^soj=6Rwf_E#0m#wn6gwI8sqg@020!o))8D4AS~L{C7bW^a=aQX?@hcv0u8#k{OC z$Af^+MV+KqX^!(}bylRwauQQchy?G!QPA{bLndKE^Q#r>_rdg0`tlS)1r(KeZH`X4 zXe;16)7YY$q>=>L$n0td2$JY&mQj7^j|gAhDF0n#4!xz}f+6p-(8bI@>#I2=W#OCa z%!{sS0h`kl->GF)7ZsgZNWhJ$$HyPUoOm+-uVYEv#MOOc>H>;l!5CZ< z4Gk$B!&?q+Sa$^qSRUsSWW&8ZFPy-O+FR>hI3ky2qS=RM|L}BhGE}Oey}`j?7;)k` z-s{6-Ga#@N;x$xg`d*PMvnn9}+9%mxoj-F@--B5f}?>EUYl{{2$hawlAheU>c~;Zj8K z?{ZOTGD>0CFnZ`Rn;VyOlc$8XV-??<=#Nbs<$RV_0*A&=#PLa|&5#kXaoA@9ySnpo zMaTL#UO8WNOiDtI%6JScUB?MS>G)k{ zS;C&^F4SJ@oE_gR7v?ARm9$UTazag8gd-va$iEg@B136E#tGAN#ekYMm3vh7`$WvbglNd<$XBGiY zAX(Z{JE+NsdHFdG2c7!5XuBfUn0x*gKX6x^1Mfxsya#B8NsboD9!W6C=@qK^j#J30 zxND@_(7IJoff4-liz2j2l~2YUv_yG=5me=^;vW)u4boHdc}6bc3B`^WLQq+}=Gelb zQp)bkGo`2YxR)LdjstVV0L2zH&yjbrvc0h;u1L9w*&WK!^#`0SJ4p2ouOaJ3xy-@g znyl_Un`4Cd6{3V`<*1%bPVlJrY41TVL5SNDHbnIqBB~W>_)VCeK&wXAs=2r2j++XTDk0&VkP8B=F3Dg73!#m>X$; zw5GT%7?YUo?yxb8U@J1S+e$!6`y8*t+nENjO=kv-=w~hFJetRIdi^=RyUFva&%O`C zGI;^M4==NHp1cy@hX}F^&H-mCZ%k;5ZWN3a%igS4&@j6*;KU0a9&0kp0>c?Md}R$U z51T+wkBfj^nC2JYykypa`)uRiX~MNJW1e18?7Lxn7Df~kAE}h%S5SL_`B9*|u`Utc z-8dEc0(L%qjGfCqd^j@{NkSG(Ytlx)DYK_ty0@jv*Jj=R+P#6j4mB+J{tVPTNk2Kr zLD_Xw(2}3#KgGQ`%Za(YO^Neq9(rDIxJsIAK&g!cODN95C7aWW&j6zso#drYbL=W= z_)j*x&ROL{AIs;g1y{bf7zwQ&yib3s(j?dR2;((({w zlgh2&_s(T0*7J$oP%)i6Wg?H{la?NG*cUM8*pX^AnHYkB!Sp<*XmNZe8RqF_$oY|L z98Hc2Vd8qM8)cZI;s#tM#6e2LFehK*<(rKi=2YK-;F_I_9yf$K2)E^7fSJEwXZ&z& z;Dw%@vc5tnfuK)^%k_YQmK#R){>n_Gr|A$+Ro5lFus)ewXR^U0$JAS>djnV`Pp9r?tjD1rZat5>{Eu@>DIIqRmB35sJ(=Z8zrU@ZNy} z&8h$wj_28Bj(#qrAZ+SiY-O=Gk}|p^A6|TEMVYJuRPd%fBL23ZVVMI?KBiL;0Kjq? zyR(RI)i2yfUc&3QcPwTZFdca{!>agVQ5s-ZRtRo9aVWFz@-c?T^9$Od1VSp_a5oGf zeBCg4uOtObAK92b#J8?y1-bYP*(cZeeuQkE%kqWQQ<>orgsMS1=y5F%J&Bo=XDRY~ zm~dWcPS!XDg*X@>q_%^#aBtuo)pX0G!tB-+geuX2`1Nb|FHZsL>GIhBGl&cHSQOHk zZGgA$MmO02erf|naB$pSE`gT*4w+t-3p28rmodXGRR$?vGoC37ns^7uY=G-P)4gO5XT*&gWmODKr(yE_nI~us z+fDRn#`VQCR(ir+*rfS21g$ybWhw>t&b^Ynb#H2@zpqrnB<)dlz2FmE>MPeWwZVq{ zlwn)^oYO4>?vb&=cGPLEsgtPG!o{`}7Inq-Y*`tHsbMB5x zxN5Xi_tlE}>8p9S)m6S7v1$8}eIyTbM%6_YX}^Y#GelwVF;JClBP& ze38!}a_Mb$^Ela&r(n|uAN2*&G%o(dedtT5p7O9Vre!Mf9|?b?SYWr33Zk5~FT~SUxm;ig(x=neX1$i%~*@RftqBW;5$Nw%DdG^kl zrmW^@v6xktn_GT1dl$Wor&NV6PgwRqH4N(TY|2v)ZX}4LJvw;(>hS#4VA$X55Bq1y z?l#z3XvP4B>t=RQPLo?WuH!_W(=49L<+Uy%`u;tg;+eg@RU|aW&hA|h{!Ju^n)nGe zjnr!*i|i^x0JSp;*NYQ(ZOdc#kWQ%b%3^VE{u6WrZc!ws%r}w@#m37hu}&%@51vp*e=#+KfsYatTGQMFKUcbaTgahB4^8wK=AoazP${ zty_VZ8FS>5wViTQ9LU7BB@+SQfE9=ifGG3}5R9^-a!g9-^A5xV1w_80GAVD5hBd>% zgpQGnM2&pV(z&hPs9;5EMHHym?qZ(18+7foig7uu*`(|#DZJ!OW9mLWFEi>0QH zIK#Gw`rOP#!{p-3+1n5YD25xiA~upfV9tC)b8W-u1Z%A*H9^hBOT*9+qyxll$&8@0 zr%jt2T3G8u9*&)m>qB*F*a#LJT2k7|yXvjM!Iahp?%ef2qFMl8I&BnuE1ZD`>K?e~ zwxAv0vDG!oRwS-*LIY5Lv8pn=Pkc8=RdTBOtZ@rl^=%058p*X%L zYP6<;Nr~@ASqoe(i@w|dHwxiE)Xy39npm}VokJO&Zs_B_eq7RL#E>0@`K&o-b)Q_1V6e(Syi5S zq2-tb3&km%-{ZA$46{$3Qd_Yjb^=T74q7vL4|I$mjN5z5s>P zHt7J|WdOEeGP$yK&D<#qmtmMd$BnoI9-C8+b5|L10+&!D+5oQU5{)Q;veC2IT*PaN z^MRu#>84ykN)o)EZPr>Pc~CWkZ{caRK{`$2F=X;0pXNVhRX4e2TqM>w2`BB|Fv;Iz z0vm>50#gOWt>@rkMfbT8)yj9w#DZHPnRD)2C^F~#rcDvtJ<$g`AQqR@oZRMIUI$au z`|_lzB=qt9Ii#kJJbKdB{y7L63UFLKYpgdb$E#@;e2tvhZ+OI{b2vg|Cf_MBXz?HZ z9MRKXtlMy2Imf~-NmEG4td%)UHexMobQ6{X5$(oHgq(`cZkoLD>Q-#j4{`%ex%E|gdr0{JTLQ|?L zTm1y=PwQ%Bl-Gatn=WI6b9JQFbQJe!UQHwoy{elcGy zD@>@P_*QrZm%DojshrSFJRNVNYh9v$rl3qrX2ZTPs2pcCBAhI8kf=~m3|;U83({R{ zM|pF`(!CjexiEeG_T}JYz+r02-cq>?Ad8u`$|{pTn?sI{LAF?U-T+*hvQe4>X7!$S zlm9(kKB0f%%O!j<#2Y?5C8$d5ssf22=TVHBLuIs8ZF|G%m2(!?9UQJ!^Y0(-4Zb_y zJvuxcp7i$*hv$R;H~Bef`jOoFD%MAEpKzlpbayrb*$yFx;`J#fn#|+!e_K`JT`)X( zJy1!aU>?OY5HY;Buh65%$a126VjUxdNRq4Vs&bjZtosO_7I+DvePHYiyvKTy_I!U0 zjwS>JNvJ=;ZD&r@%-avi2KLn~EzQP;cps7DE1?Ed7=1r++F07F-hN|slV|C;B!>XZ zChZlbZrDwa9jUI$>jHcQ-(d*Pyd>8@$Nt8)J{qFUkuPCzkymKFF*p>zOI@(D+Mhll zAZO{nuZ))rg~FXbfO`@Qq)h!)jrZ zp#}Tf9xm-$=C2*NLCW@*{dQqyVJ5hE@~Ul6>!W@!N9WCV&=>G#sSmMNIu~6CMeAzF z9cy~d1!i>2+7yf?V&lIk3(!H=+Yy{siKLutgj!=zYpZw#{~QvhN%h9>kCzLkMtn8E zg0ugIB;hDjI!2y&Sz6jWp?S{Uq!O6GFG2(kcBINNu`}dB7?u#%v(H6niahggNxKo| z6{kme?UTa~>x`vu_unAnD_;2sDVY~8qt#-8`a02~6Xw}X^vp;?IS2|+2)%}Fr7)>w zHjieOL92CT2p;UCUC81=+$l%#@GovdR;WK5m+ZO99!x?5re*ndHHTO(+!RR#gc|t- z+5>om4skmIbQ>E~0SE=RuxnDGPC9UN#L?0DWfFpIYp$aw&Si{r>X;M6Pyz@hB7LR5 z7b80cuQ!na=~{Ub@nqvYAQu8hGTg8RANHoQ{FBb3zP6_bxZM@rD+HYO&4p@b>ifkt zY#MyQ_mX)Sco@hixmkhQeKB%JXf6F>4@X-B2CLVnPYk{d>W6XdsU*rIkPi zbmZcBS}!*%Ds&`NXxA*RpOblp7CMXIAwhzGLB{NWa+Q8lr|Dc=GY3D zK-ffs0cPmhl#JS{gJqkSvKPwap?$gBE=fHBxij$);yc%*9BzI@mQ<$@BQH=(TXcl2 ztsAcDiYui@Vq_-_TJrqmnMF+(7x|L>y{5V3t8%Zkr&ptsvcZ(y-q-@dh$>=;II~7E zNsJunAnSDs-VlL-6e1H?5EeTb;812Z&qct8Hyf~&9*-hrFgLZD3-l$m$xM_PElih7 zQu{7W6}Udb;z_y{j+|vsw56Xz*INBIbBTY0+ZgN%t5~byT1>AA$R_`PoVFHZ$dCzWpCES=|qv ztfnNq(gxo#vGdg64;tDS*n-~Xg8-%srYD1Uz;`rUeE|h##-v(Z80Mv_w1t{-QIU%% zL>D4Hxsvy_eLil15H?F%w^Zf=!b|gM$u6iWL~O)VBe;pYPFs*S#$0ta^_5}V=uMPX zf*BIYT3^ShVHp;Zu#FT)bcU2aG6M~8GBNS;)Cza>^Ox=iGLIl@i1#%vt8E5Q zC^*R*{y&LU z8+bd(7awJtSP}jkpZD;$FU`#IX3nOJbUcRtVafzkhY!W=q&D(0SVxD%8zFFrqNl(7 zb}FSzTh5W(*-bUYqIdF{=hz&rDGpe0F+PGg!G1^6(nyUK**@e2&579MS3o^s^{h1D z=guO=9-TUppA-D=S&$b{Ne|>1i&u)r!PnYD{|;ynKUl4|-!&PMG$MNFZo-Oa_%J9Z z_+L^|2`C!*MOda-5q$0e)A=a*6pzJ8E_v*%KNO49?82wluUY|@36|IEf^LMK=SSxV zJ;%anhjXU-ys=B0(Y9iVzQa~%pZ3>@ew2XNz1<1@iqMU~X-fPvDOZ&E>HO0VE{8B8 zAv+~(Lxdgi4z!o@?iQj@T0b-P$TC2vj_2bOq`XxVGN2`!D*t;yVV2;nS^1XbYKwI# zwPRNiXr7(0Hr}3JkE^5{%sf8RRE_arM}|gWh+sbvpBK*A8lA??fI$GpfTLQ>7DJ6U zf;@%mYzFORnowXZp1(~Uf z75b_K@8WErGHEQ7IquP-iNNwZls9EZrGrgrq`|PY(it!4M`9%zKgn7&09=6Qna;kqz=Jyj`c{a1s$d|8$P#L2+Gh8PF?< zd46#8JV4@wM{Mx_#rswXYu7L8Uf(QDI$gWXl!Yyng;Qf${^r7v6bvFVyp4@9H@g{Y z?B72+ldbPz1tvcbf9g_k5O9iO&vX=)eF;lLcpnMZRWFHt-JVyu|2tSzY6#8v3*Z=K zUUV~q%;6B60-G}UV(FxsSzOzZN^zFq6f|`Kp)&n2YK^H`nZ2c(Nze^r$w<)+K@-rh z_a$~)!bTHS#kPsCS(MEAW%jw`?usf8OCofKp zUcq~M{CcuXO9FwX*yATLG!+KRnM~8m%2#zqQs>ah*(kjUDwk914Mf|A0N^xinalFi z(16sT9$8hdc$3+vW9w{Hvym0zB)G89GSJvt!>>(vW1FjwI`sxF@BFgBUzOGV438^E z$9K8!q+R}?z9er(SGie5)BKtDcA0YrSMTAiiJ=AKtQqp5Ah1Qaa4ERFs=@eQ7@lj9 zT6{XfUjdy~1gOr5BJ+8cf{XD?zQCC>GWL+U-4a@D(r^E0*cqJ z0YL>i<9m53w9K;Oy>Lg$xO7r%W=EAJ2_28n9+g^PU|`L2ml>W7JMqg5u3vr=IeK2E zi!mZ73%UX$gMjWj&8NWe2e~%gX4tn0R#-EcXu9sD9k*FdfLkTJFPos|jbyNam%=ry za*CXx_tQ3GzkBHc^}FB=hIb@qdGON(@3##P^nS@s5uiTxy+=745a){TCIAa;DUF5N za1hhravkXa5-7x)wcr9iDE)1@21YDR6CQ{6B3KkjRVIlFamT6@LH*}PCqt$Yo4cGv znGc@iT*Ef4KG+TiUx|9*1!R0%hDpm@wSkJ z1RhszYTHinc1AQ67$s7{QUngoj^X*mmwQ?nJ1TRjp2O`8Md~R)Fbu-`-RCle`d+N^ z>2lkUi#JmC%tLz7>}VGjgke6rOj0?2GRVNQ`O-)j(9AY?P4m<#9O96fwIDaXmdI-M z%mzebT#5*%s|5f;W$9ZydH}NwC&|A#*j>=yOcyrAK$GnwWaJx#VkaBu+$eQ`vu+f* ztQ!X?>nhD5#eN|V%hm+s{&W$X)O$jmqbYo+ghY>1^HP9(iQHfmsui`o+3V>-Wc0zG z33AEh?GpfVeJtrPio>{oBNBCB!U$~{b^ww%bE2_&GUuu*8?zzb4}r=jZ&adpNUCwB zaHj|$7U&9eVU~_FO}e_ID75JTF#SPZxZE!;ju$tCPIx)t%p5?kCb`2r-joTm^s$@( z4K);cB)K?=*5Ng=A{%O6y(LuIQtlfg6A^P!k^6U7y>FVo1;=H4j^|h93%L$u08XJu z$)UJKay&<`a)MJtIx8!UPV}HM$Qa*8Bn-Jc&@;|g`i1W^Q)g3ea|X}>+>yD@7-+mP zYaxZZ$rnSaB@CNKqLbUy(Lh9-s5!f26BUGJELLn2{?KZ};F8S74dj3|09&Nv5eN}8 zFWcpOEr}pn;-Ag0j!gGSz0v~bGTKw1|G-4ojb?$df`sVpyYrv?0WL8cYN zpcFuFy7A~9b7DIV1@@_RwnL|W3K}BX4vIs8XcpHtxyr=Q^MrObV{^tXKkw!n)==_| zEcCXbB(MHh=&G?mu&m&*OU@Q?J0qF^mrZ)|s zG%9WeHvu`vV3yt3J;S`EO{lQg26ZJS6S!Cbwn9%*++cJG0^Xx_Zk|hA50y*)LS6wJ znQE1XU4os$xd*X-f(d~r_MqpfSNz{#ATCXe^ue~D6=Qwgx*h;4qap@UsJZMMf_XaT zz^_BZuC?!kcHC=8A@hOlIsV`+T;Vv7F{^tKG2Ug z;?_vpNNAyRM}hJ&;znD&jkx{LLftH}08>D$ztI%VdMDqG!UgJMzk9K49yXcaH6uwn z6)@_M_%h#&DWe;=D6|E%Y^z&K=26RAcQWYj9UUHgf7XjH!b}2_Rcce_Bs>=ANn+E} zgnD6QVgy~+aTz!_Dq_X#nBKqPa$v2Cy&qzi!mnt~qDq7oo`3tTKxc^#(eH67n2GzA zq&}^taxxDafK_ra|83F-)@MbOS&Tvu=(DIkNG|9OhT)g11#UAC9!154;wEO>gTPcI z)WRk&T|9*qgQ?@vr$C9wpo$klyur8v5;fFwg7ht}Nv6QJx+gzgl>fGil2yTL?@3zD z@S-Gr6J3`-v5Usq>r&j75asxk(vh6*0$Vl24XNT9fs2!JbS5cJ6_FbiRhpX?fHv54zOfx)8Mur069s&K_D{dG>M%F3Nm z+FgV=jz<2NnL9UoXdDA;594}ZcodrjlDrFNJ0zF71?RJ`08SHJ&ca_&YfI!E9U@*2 zUu^%09kQ#QVkcZ$wRAbU>T+O>I~ab>7p(QuHB_IWrhkfVG zll->1rGP;Ss_r3Sc&}ui)%0z)H<^;El?{eUqJo}7>H02+AkczxFE9SKlBA}?5}T)M z&g~b+(y9J*T@VapZv;3D??m|hgifL_-153~n1noCI!6c&fL!amNhEcfP$6V=g=kU3 zc#Q1Q_;a5o&iXCO$_b^x48S|5>sjLBud-&FLWOF=TOFXUT4#5>^r`51hQ?r5=@SWe z8BucnaRk@2xrChQUa-Ikr}3)HM~+Cyh5{NQk%oB5d6Zf8*X32WhuJd#@X2V7uJZP_ zddT>DvL)IZP?M&ch*ADmhWx$PLDw!?Yas;N54NSb5m%GyrWjo<$|C=XB6Ca=;wOKD z`w!L(c?PH_s1M}hnmO>7F7bJ|y#NcmqT}FbJ~7C1AXrPzqqRb>0F}5+y4b6ahOJ5X z5^>&e$2oAvbzYzlfesVon#Qcz`aY>UkRm~0han$BDqTuepKbIA6r3-6U10UVHyE>E zyF@{BwA3P5kEGR)emWk$1Zk}4=Wic1);v5qIwmhB z^JX8sr&cZu2|yh?2w7&HWo|9EfRNP%YLcel@b#8>vT^JxC*UlyixUU1O`8)Y-^Ck= zJvW?{E+>Ae%?H_~!l{Vu6kMN3ugoZqPVYbLCa;V9JvH~Op$Fx4<#|fj{asJ^gkp1&mjZ;Gtnv9rlO& zyXUV=3xkt2Wd^U-7I@fR;`rq7tM(EHC$HBQc-TNRNjC@Fot?a7vo=w6x@6~wbvFnI z7F{gszCrX7xEm~BAt2-daexr21koxI-`}t-qA>;EN6apm0d-0jIXLW>k=i&6u4P50 zD3RcsfBW{$75c5o>Fc9;sXg;?bgFl^BFDNnWfl22qDhIVuW@=^zTve;fF^ z)n4Du`zDNW+pnc-f?`}oT65vw#A8f3PxOru&(uqG`sDi56Xy`0{D@;TKt>hLeObRs z?}^PQQ8y!RT4if$0SXb_PUMR!m!uPV>D>?phK^xySHt2%#G6e$zm$|HR2ZWRm7Bk! zb39dEb2RcRCnsVhj3c37wO%t1z)|YL0=Voy6g(t3TySUGyg=TxDiVau)*=JVC+F&- z8q`GZTH%<})CG>PcFg?5JYY>ObA! zC=-#IAZFy%32K>VOe)530RAt_#f@8lO6(BK$Y3?0heDVOappzywSqe@i%V~br{7{L z7g3Fu*eysEWIYk~`HrDW(3I%9tzZ)!zRyu0E&#~KkWClz$xRan?=OTHqcZm0Pn^<6 z^&uhbO}DhdSkonK$R$v!?0pJXepf`pzQCHUYNYR8zRKPuQH#qaCJ z%2~mHBMO*d@V8~C6v9gfX9Ltj_2WQ$Hf5(%MAPP6xTOoC96|i7Zx(42tEO4{PSaG_ zO_k+oC|ZkXwaSqtn>ey-6A^Oc?ZU`fY9+d2xhBwW&4!u!O^flLBwF!{t5wp(G(g>A zLTGky4jZ>uiwUzP`x@uP)F-;WUB2q$lZi?gt<7icfF$n9Jk<=&R7SZcx666eV#cD^ zfTwNEPn~|kLq3gJxx8{to2t12O4-qrO-x(E5DRnmG^H_IRR8k+rDrMPC+ z0#{kYm8S4ohn}JHL>b0?dusO9)LTk%aB(+yF-Ec_G>hN!x32G{Lr(Ku5qKIy{|GKuGlZdsd_NiMZR1y(juvlBC-)sPlSx(0H|>`pO!Z> z@(@{ADvKe1Xb*Nwyp<{~Gy}qoL=ZT9g;&@1+rmLIe8s$+ucrL1ZD|-9KG3LGjaCY{ zc~0xrrWM2csXunk*WER*)=|bto7puTkYH_W8M1$fS}N`yZ0QxQS_G#CiM6X8Mf~1> zH5k?gV2S;E-0b@Wc=r>)g=HFV!hxWIlJkyMfRZEo!m=1wcvRs`}Y`io#Z8i@2YF9rSLv&i5F7+Lrm$6j5nmSf;Sf>FzJJ?2Eb zy(5U6xnP?i@Z$S988gti6XR;|iZJs7yN#1q+K?TUBb9r>tQS+VaK~hPib)_Mo+WId zwm*bhwsRK&jFg#*u2y}4+#H?x31cWv9IBNu1W*RjyiA+atv--fWQFNFU^#bfm+`)( zFT=%+d^~{LLB70%SQRtFu8BjsIJev^2HBLAzrp4Lrxv#3^kys6!zQexd=nMC&yp|h zo1a?>N)Cl}<(NHLUl19V^~IQZSzl1tk9Fl7FXD>&+F8_u0n;lA2-;sZL^rS{eD~dV zE}qwLiiU4n*gPEwby7hvIc!OWxd(v-cB`lS!5ku?w}qkaEEb_RBc(2+^F{ttl)pZL zFSN7}f_CRxFfczSqjKAZ(JV7SeKjnOUPt}>d|K2Gozq@e%`AK&vfM#UfbG)Y7&->xi3Qrc`3W;|1Cv z)9y=VB7;WL8`T~qDhvBh?STrOpqM@VyPX&<^(!=FwFa_FkX?#hAndLnI8uz_tvJQZIm3`_I};k3@X-(;nf>2 zr@Lb=V^WY(W z3rsx&gmnSLLpdQkHw#f0IqgQwnTT-IY>S0!6!9;WMZ~&VjNj#wvkAE#l5_cr;mk={ zq$3VmjjoZZc1yC5qx**^oQ{{cXLv4pd`|ZU&tHFqZhG)y$n6f6p17zi1F>dBxn$*f z3%Za`{I?Kk(cZ?U#G(9#bTxFf3(_TU&^#;qmNu)8vuMJXeBpTjn5Hpwx?JEZ;Bz<8 z9A?)V*E~&_C+gJgn<1xR^$0#>q3J(CPVf-O{b58g|L9xZOITCZWI~qdg~BYd)ZSrV zfHalo30%@LxHF`MYH4m=?gHvfotcVeQ_^vP)y%#hQu$T$)dG~0yv^}WA~cn%cWZ?o zAJdxl&d({w(yPDLJD~U^0M!h%BcpN!HMdRu6}kz74;8_7!VR*RY5|UecWn&4wV&hg z&=hN$e@5o4r%~hyLn$YAWUal?E|xviH4jE_E(A&v2UMpEs|R{ zI)^|+%=|+#_DBePZjFE1zl*HfU;!)RHXBPxeTh_d)3mZL*dh8te%$_IQf8QZ0-Q0Q z?siQizVgGAm(tN%tv>=@!=&lL8G zf&b&Ua*WX`3rqb)Y2i?xi|qX}YH^1kodpwN2bDrQcUoTJ`;ePvQv<VLwJ=R*s2 z-d6AEcyOre@q3>y4JUVm5k2c#0GBLk;Zv{Y3v)4+v-R~4PG0lKKg0Ud#mb0`m*DbP zEpJhohy8iHat!}rk!PG}nYI-PB@yToFEp|>Af$E(&us1n*wmD^XF=M>ieV!pZY~aa z#-SyJcNN)uH&~CZcO=ge2X-ni8TY(^)L2pNs|!rUE0C7uJBJVu0S;h9VuW(N0cm_e zPb{cy%;a)VUT+_uwPe@aBa3nh_#AsOKM)*MMWLA>BnlIin<_r#n=$1Z=a|e>E+ZyG zfWV%~t5~KKO}kSZmm*BrRkeb)V@AEi91bdwlGx?S2+Fzxi~1p;A5nxt0tR$hQ#?RH z^N?Twbq+R!4wNE@+$KQZ%rLcK9di7!RCkFwfTa3Ss0?_hVYO(_^?ja5n>|eD5knb< z$smD4DNZC%dh3B8NL~i5N+FX) zHj3~b8m>pyPZw7y+jUq}y;=mxPh2g6lwZl_PkR>_#^Sg+j1F^ajWD1nZD9y|9fZ<4 z8DMa;7Yvp#$wO~s0*4!CPF9#@;5fpf54mQPoV1PfEnbMHLtgEVdt)w4Fn`&mgfdv z>>dse&JT`uzlQ5;aMluE>JhXC7;x$|g(a19LTHFm)nP_Hn)@m%K+Vkq5_&ok>Kk%= zWMmAubFP%Ad~i;h3FGVK1yV{;2p8n)no9s^W>Jb5Xx*wVg6w!4-ReNWT%3{(kGEn1 z`80LWMIY0EVj5{%6%K`fIg`%T9d-}-$QwQEZqd9zM6}{r5i?#AU{vKamt24z(RH3u=EUGS^ zK(cU>gthPF>%-sZ8r4}?pe=!v1*ZF{?zhfXKHID9F1D8gj-Vy;MF0vCz$-G z(Jw;Fbu4#_y}^qZ)R%2NjchP9FZ{G77z_ue!``BU@o`>zj%=lh4|jxlVQ`ulV9TLy>w zUmY4@^}t+C=P!?rzCI<{_CfPl28Vn5W;oBkA9};z*=elOKRq3sL>6Y}VRMy(Z~Nb$ zMyfn&tOE0UQeVhq=aa@NN5{kcSNnf466MjMe%Vg*>hGU&I)?BqEvx_4%e|A+ztlU{ zy!r?I_(nEWY6OXC=Lw)`8de5kAXZg_1nXVtEDtZZVuckG$lVNig4p9Vy(m{~Yo|mH z;^ZXJ!*tP#FBG*5dLr;_DzPKUmARI#Q_MJ-F5U+By(MiqyKssAX`G2v;^ipx@Q@5a zgA_REZ+&8T<;#L0xm_bp>p!tskSt>c?AYs5P@){2e1DF5lb;j+H**b~IqY&3z@piH zk7=={MC5($&3CDWlVxB&Afm}I29WWG6KV%lO~scoZ|o}1R1)X+1p_F6)?1|}@SD~R zW0ph^{h$fec7TaQp3;gsv%;4fRPR7FK0=iy3E|$CRmd}do|6+IdT7`B{Q{5d4U60} z#xn7nM-)2hy2bsmVL1LCW0a<)_MEHt7w(}cL@0PIH}_cdQ`*ME^srlc^lG)T!5OZ9TbuLs?jAz04; z0i8`O02yWE^nyyfOhevz<$NR(#wa+yY<~3m?QdE$QwsX4!5dp`i8h&!%LwBM|Fv(H zulCjSz#bN0QR`O%P2;gXi;gv{srV6S{1VV;glfYs*w(i~CSkN%sgS<^fSJ?=h4%wTB({t3^X1eU? z@AN_#Ln7aZkW&ZPl<_kixy&*rmn6eMQv0NJRL1irQ;lP zm=hKai|^ihx_i3`*Lt5q{PAzFbJ2o zAgsLMb#TX>v6ELbxg4Dv5P?OZCcJVW*y3r5u*~B8s=Rwl->n|DXLiU~MQ_Kp6EU-= z`+pgDm z+gcM&zVS8XiQ_@q1BV8^3B4;rv#@9YsCDm3qbw&viOYw3s1!=DTZp(u8^+^pI8V!l>Lv)VGwm^`7-dFA79!)7!L2Px^) zBh=~*B{0ATDy_^$_0xuT-dY!z9jDfJg;+i#(SSq-n`oL%mSXX93-Ccp|Ieg$EeGL$ z0`=ni^HXCr8ca%8?5MhV~$jm*Z{H0z-1mz4$Bpe9Sdh;slr16mh1Mb^*hkIs>WyiMtUd9 z^*c~ImZChO$K=k|_x-o{>}F$c6re>ek!~?@+hiQU?(HfEBoP{_QN^ZdAc82b0gA^H zPIH6I;Iv$F_81Gd(xWht+irw^DxcSMc>gERz2pAL>EHyu?S6gR2^?qHJR>6=#E>GA z6`8_vmq3}V41k7^H>0e*`TqOiiFx&_{&(1gy}|MDrRMKp51`N}2(dL$6v^0yxG0dJ z7GzeKBTD;QvlT=Xe$9?wQ5Lhw`>T-~i@AVBt{&TsM{5eJc9Z0jrU5!3sKurc*$K_o zj4031WXFgc(q;=rM2t|ji<)-Bx&`gJTvflL);n=(Z+mSGVpg4AQ)XW;SxN7_uTeqQrlXIyZ8iLah>tPFO!U3swWuB4wc-Il zRLj}Y)66w0B%R*Ud7#v^lTI^f2JdMlFJpG|nobfe$&n+n&Va5FS?NS<7>4Mg+VIqp zHu;7%Ao=IYI$_3iwe_3|aR1<2{5z+0XC?!|NW+>A91apZv6iITS;=x;$ z!41^n!}T5%&XsCb zK=NR*K;mAI7C^;zDpc6WvC%fl&=?l9&^$Vo;`l+Ybw*B2l~?_L!IVG%$x8Q2gMFLoF|f3mC#ZXJeruHsNfMhnT=s5(RJj% zhs}lUP?`k~TiD2Gp(o0t1mi9aSfZAoNU4G$7&RW?SQhTorr+@y_f1SDQD0v?y96Dt z{7Re`$E%?X>*!=?7)*|?tIjNNGhd0a_XKDjZM`|dO^SmHyjPq}teYOv1j~|8oc4 z17;>o60}>N>oH;o_<1ecWi*1w23DA-Tzm_J3rdqW^?r#4Eh?5p#(`U*MJl_cP)6=b zATrA4S-U;YSjY+Axz5|jNi;Gqv0N}~q!6zv%(3YR@^}&-5@c2yW5Nx?g!9OWGKp!<{8q^=SWTIomN?dDttk@^;55y z@q?Em>W!|l={)&c3HSJ7RWKy`KYQ9P5I7wD)iZb$_McrGDLR?1AoOc;xN&0wE+gf# zmpw4Yf%sG3zyUTL$|iNPe`$Ds4_ivxHCB9GjYjTLdXQr5$uy zeYk)A*T_AlltRfKv)69H@X)X;`sw53AI@*!7Y{=3jSqEswi)^_kn;kCyLh*KL7GTO z6b6=NTn_}RaIXtdKQ3>^N7LR^GK#|#JWV2)&=f!oF_G5uS)fD_L3&^~9x#84`9 zMkXzot4>0Y3x2@7t!M+6gyvo1i2-q(PQEC2mu1(NAu%E~d4A)DOx!PCKXjthEB#cr z2okFE^#GeZlK4S55sYgv%Bzemi**-AbMLHXddSqnYov{AvsUS9MA_i5?un&FRpq#A zwcYb_3OKQj1^4v-7RHg!v+n(l=3@N+(WEUqyd5oo;tD=B{#5V|Bq-<3$D}fDvWXYbJb8Ys=Przezts6J+V&YEbqMa^&D5(7G7Uy;@^4j0Pg>X z4<3Zcr&cb{UiRKdKFNv9LP0Z+-LvKiGk+;E7cOGXM+~r?$9jN|mRD~*&py+slY}yi zR~!Vc0t6T`jc)uUh}1e86=stde6y~ZL9W&)b#7Z?W*5XpwE!<0ZUgRBKCn3e*@ zOVzbKaI0a4qdLNBK$={?6AbT$H`@w2QlLY{rGn2R)&ixIicsDKz=KTYeEu*z>xP7B z$FRXU$}E0eW#mWFaL&^A`D`_#j&CC|*bKe*d5c`!Y`J~sNgdW1AQDpFOSJlf)-~pu zt4`v^o8y!ISFif?rgP}j*@nf!!CX0gC!4AXX54t8waZ)KGV0yPZIWsh`}#!int89; zP<(eY0bNBcid&HYhcXfo;hD>Mf-OTW@~3;pi)=Z%ie7$`4Bd)}>glAHVdhQ75V{Km z?{<~`#}s=NoCGy0&8qf3QIvSE!c3)x%H(4V&9hs2QLVvJE$*iE6>W;0^9$cfqt zI`-yzo87o8a+c3<2bzb@0cfX}^cmk5RT&o$Jt&3?i3Ooq>AJg&?FNWhG0qm25!#^h zv=PGpXxF97Oy|a`MGGj+z8}L8Y%t`eVoP9a@)YA%19c2bYAkOVNwBAKLDhSRA*g;Y zgAUr1Hh_m*>bs(T80u@IEg>!$2*wRNDUA<2@N2vVfD*VEGk&BG+>g3yt4-(BNT{-W zx?`qcyu5n)r%(SM+G9^gh^kMz)8*pJFP2wd>Mr2-=QOz0f>`o~nXxNG?To)n9whjm zy^@RCByYepB2`ZS#txPakhXeWrzWsgw${XdMk zzRoM_fmDC#Lwe~ea5|z4e%WM#nX}4<{vQ$cuB2fL{}4eecVQK%UvUGeT%M09s$n?l zmu>L4cFvc_(qa|S!4Eq$MJ zHatwB4tFR)Z!Sm*p(8-l7jlak-fikogzyZql2qTmjC93$?;s_-)L~Nv@Gz931dB0K z-WMc*)JrW$z2Z2uWrVO(qP@)JLV;ZI*5e|a#)l5_UYHjrjr+=)Fw>~Z-K9p$xHzaJ zuA%7(NeaN+x}wPG(itQp1ItL7V)C5`3G?3Nh~{oRYkAVV6x`f*>Jn(>R9Xta8*G0xQ$j5{zF#Z?Tn(whnI`nZ0inz2k%!FrUN4 zsu*d-NLOuqWJY8Qr$i%dVqw?2oO5{4w2B>h)2u?ZMGi0$q6A72$Z@IcIiBZ4eqfln zWt>rPJ?(K~(i`y-V#KOThQOkccU`ttI57Dr2Wlm!!a~tm6DgKvr6FjsrZ;L?ygj&Q zII2Y%--TAnqv`RKE>Qnh~6>gn!uha)~V1@Ku9r!dqu7Zhb$lIU)Ndoh`dz3 z=L0E^@103>6}oOC4qDfTlEf4TOTG^zm1u(w8npnD>u0^at(Ho|e_YF@5!CvJWS_VP zs&AD&!e!O)Q&fnWQ2!QK03ovmtr%w2aH==+*~yGvt5&#ni7I$xg4tA;eUxte`FQA_oJh?LisoZ_}& z5EbyM@s^HFP%Qt4;bOrs_BmPGQ|`dLC?k913VU6 z^XbZgOry@tR3OwLq3I%DDkVa#!7DOM*#2-#?&3PVaT>GDp<;e(!+M->%Dht21ycIF zFD|}}9^o(UUwj!_lF^G-Ovb{L${*G4Chd)b$6uszC$F-jAbW*@%1FON%r!o=)^+KQ z1Ks_Gnn(i5=DrBY33?M`#dOS$?nsRBsqZA7^7|zxA7nsjB@^0ImRT*aNzh9#FR4lm z-%yQK(Z)u#tg>bj_i*+OtvpdRwY=9o?4EXCZQ1xar0LPr1JOvM7}d~`lJ;SNnAAEi zk&8(23c(7t!P|Eu;P&vKMEv78!o6cbBx2r4L4P%E_M8M({atc-0fvj&5df<71qBeuJMM0`SD4P8QjHAFcE z)5RkV%dl>K&XPShuR;6Lvg}&`XhiX;BphyY58)qLB{c8=vYA2>6^yMdv0Sm4v|C3 zF45_-%eS1(iA*nZdI@rmV@sN;-8dY#HBhUBT(S&_>H5N^(J;f9vWueCIA6%il#bCt zwgZ9*Zm2gF_VldxVSS?22QwtI(-IY1iPxr#9#tZCrnx&dpQr1?-qGQ}^`b_LkZ%*{ z)22Q;r7_$j8mrYyqJhTW45CK8DUgls^{A^PwD|FWlf?EHsd+N!o5}~@pLKP6hexjl zuYh*&_vf!qzgJ%&`@~@H46jW--2BV_(ct9dyuZ6UI6ZaX4D|H7@4h<&_ZLb->4xm9 zcpG|-!R}3c=TyPMFT~ zCrjIwn^A3`Ma7*lMy{m0(R=x@<>gU_6nR~E9ksoYOOx15R@Kcpsp=MHOTgD{`6}o9jIG&X3fjy`w$2rm+j0tR0>x78$O*M^ zAM6^54y>kYID3Nizz17zTio9sXtuy)fON3vq5F%o*90!Rjq~R2=`nyqQ$v~;YviAK zK1jqBeJyUgW^pl#UpiajDZpuraqz)O_VL1JM$*mE5eNv-C5F1^E|XU{1s^c}1SRdw z{mF;WjBbrAG3!z%18x**k(Vl;4{{|i80eNutkO1+9!K?|K>>)CT#(lMH8E>2m7reV z_ZygCN`IbsA+Vv;h>jo30ZLFwQ$bXEE2~5kx1&W`CyiOj*0U3kA5;5+5(OZOk<}5w z=~DiMngUUX1F^ndd1t_*;DH3JbXG&w#=t4o9i{1%_>JcZXfL8Wa|$raPU?j6(bl`s#+d1z zm1ANtXZd*hI_0P=&VA}v4kbo~O7cS!@9!fncGdHO@eRI&UaB%<1)F)mW>n3 z0tA_7P?5vDDe6&EJ~u@xODh=e0KZs+bPA+NV$s0bDzp{o1pDE$>a8n{pp={_atQ_AcV=eTRtL1h%*>>S{6ub$I z?H_585UvIes7l3OqK$2YsFlJU(uTEg+;-E3)rdKmI$+n9{3oHLGgV(rSRJ!0}w0JUm3Z3yx}25Gb&`vvev%!$u34Vp9?=URN%7FUHHL zy~0}@xo2xU2XEv>dAWegpY(|cH;@02RF!h{>)5Ooh*7e8%$65@E{6No(DUN^3aUo7 zmRDUL-Pow~bxI2{j(P@g|Io2`4)|a>g1i9D%+jLrln=Ms|KQ+_b~qvfGL;~$quCZRgS^=v{EcdS~?+^r1jvdX3t3Q1o89h=^GVab@UelGeH zPF)6Dk-aJr0(B;Z9NDpAb;BiAqdC9&hDP_x<9&CD8DS^KgK6e2eM_>W8xY-{>`E$* z^)41pq&^TagT!W{er>W^Y>|@Lkc@ZAw$N>)SSk)^lvg_30F^sBUAQPJ=6~u{%@{bB3>PMS8OJ zqzUazuT?nFjI~^V_vYFb_!6nLv9_Yy)E{2g?f6*Tn%my%0u_meaE%Lc&6TNn!hj=?UNPAcZ%~GMZSO9vE zydh?|25&>P8OJP}tlPMk1lClN@ECm1(Cq#^jKgVw16H`-L2@>X<0f zK|jX*_O_TPB{cuN!o6`0 zsm>=iI>b%91Zy)a_d;4(kB@qOc6%b}i2J89h@bOLWMt-|`-ua&C^e&tQ?@TsHd!rW z1z?of+|OD#ni@g#%!OJZmcH!n=KiUEIiCQf9}OqjiA!jhMmB9b2IA87%z!D1<|D=I zMtVcDizp5pXUjsXWU*X&{S_9T@_;n=SE1Jvt7e{EnVx386s&@2>Id?S)Gl=B)lq34UTux2norzy?Zgcs0sZqszS1(KsGQ4c6E z)g~4h^!5AsT8FpSS4Sehfdr=d&GEkZ0jh)=WP3fIrXxO-W)&nJw7H8q?K8#NqD!T? z`^7_Qou$IYCwGaF?3 zMM9>+Q-)VrOQ*@E4N-urQ$guq7E40V9+*s|Rq4pJo>L}e-wfEo zPA-9?2#tx2qa!{-c6MFC0{E;sChR1I8in^_n3wZCWmG4pND%snZ?GU|K3(?Zc1&gs zpn(=$f@@nJ#S|fw75EIijsbjN11uIPvO3f^#vrk9p}iQuxa}~@ABXtun*+_Hu*KlIwBaPx z3NiymXa?Tr?snB$k=nY7|EH1IK|O-t$gCcT?gMgqXH5|Xv~>N=_Ayx}^Cj3ffJCK=*cur|tS74ft3tXJ ziw{slVNZz89#S0htD*&cfIW~1XV#O;7J$dGJ>Zrg^_?!R(_FdOIHsA<@y(kur(7ou z8Vq%^T8OEH_wpvPBUM>2FuCa>iq{fL;G?p#Y@ndt^h~2~F>94;DH+rO_zqKor4$)9 zA^m~+`TM*6aTEV(d*V=;n9q#lyqIcjEVT2zZkq&7`&z$U9$>-3rr!*5#wbX$p#paU z`GJy$F@@mpaFIPnF*{!>+u_jcQjD0z`Kv}*0TA`RvNXJX*k#{cV1g~nycJsJajO^W zxM0pxF<&{|D2)J_T-A3B?s2SVgP@CG(q%hO<479Oe0iZ6eVUJL@&@9A!yW|Nr2nBr zQrKzQDitecbiXPpCC2RO5$>m8D?Z!2{`{k zM1TbWHe9PzXcu3?w%XV`IXX^;paR=S28i$H(^}C6g~8mU0X-s?LZxYXT^_&P{qe%@-Pv0_aQiKVOSAuVW3h)~OBT4SvO991%?Mvp3+0`t%2-EU1NE-@@MmVk#C~Fgz(-AQh@T^v#90XgE zm6L+B6bDCNof$DlwqPA#-}*I8xu<{)NQn^XaQ^fH;Z=C)h{s-CRDf4mELA9XN|BB( zQq^s-!rYL>a>AKaFS7!nc3JHYF7V}Q3Ct+Hq89;x!3pxSoWU0)8o;)I;Bj%IHz|t2 z#Nxcm7fWY)`|EUier0~tap!&pzqnD_u9QNMbeWZ!EUeI%ioirb zO@dZq70n52aF%T5y{w1i5^-wMx~zhRSG&k>IR5h-ybF?_6aDq+xBUb15!>>!OT;WY z4#rZY2BG-_$%}Hdqrx8dx6L-9f(|_EjAvYRsaiO1Lx7Mg*o<&mx*Tf=Mm=P~P%m}n zH<(uSEE7(b8Nrd-ySjma#r4I?PI3wO+ZYyD%TC@wbc0CW0zV@!bdB+8Zgq;u_ zszTZDBEHaB!6gAow(-g$tqS9oXy}o0qJc$pB4O_Eqy#OM>j2MGE9$mL2f;pf`5kf; zy=jU{+i{@y$bQ=Gt|@bU895rqg5w6k+7P&(cmeaoL5XXq3)@U3T0j&{W;}3L;_JZq z(8Zr=kq=s;c`p+cBxkW%uwk$ol;ScVW8hdya!$UMG5HTB)CL}Ah?s9D+RpD%)LPr)JFWos~V9KxUedE zA>XUjaKfBnx(SqV^PWgzUHg-}ukS&M)2%K`TlYG#8+%vW_K}Y>bFl3uq4CNN=5?=o zxOGN!^m+mQ3=0vl$P^gFup<;l# zAjYP_%K#N73M<8(Bn^G*h@AEmsG3eBjPW3Un~@qrU!bYiSaS<*l*paPNYyY6p9?-X zc{OAEhQy78gYssf?T`i;wD`C#y~NPgS;ibR+b~6YgHuF&*BPRjqK*wxj;8N~k*J>& z5gElT0_2VgJX_#O-g)rg0jD@2p4ns0sOB~T zDag1p0xYiOQZ&;`l*A%@wDV`!B+rEb8oCM~$Jr(gD6FBz7ErbOH z5C(p(U1lgAhypUqWS*K`x0s>ZMp15;^ZJSSJx)Wip2Yu}t24}N$84E5MqE0iPOHKR zT`;3CTZ;@)h+%!Q1-hVB1VhP(Yu#pU+Q@!jz=hk=uZuAWDp%Ig5|dm&qRPp%B&7+B z5};=*nqSK5&GuT%e}xX=*4?93_Xt_+vf+BwJyaU+oXiUmP6uhx>$s1pd48`KJ%?`wo4_j}Jb3^dCDr zj~;ybaOcxcc0T=&2Rl2TfBx`4lK=R>>5m6v|NDQ*U#I`-eD}pc|EtsFY4U9N65xMM z`!5FP`0QEoZ14NS{;U1n^TBt+!Qtut(V_gZz2^rAycnK7sy#dzo(u+^&NRO`KNueD zKR@Z8><{2o<_S}f-ZbsFZ|BqW{PgJc$u5?XBBP+h!Jc$^+mLZ9izVBfifB6#yZ%)89TU+&u3?4Q0k1Yt$?NFF)IY-205UTg4&t4FB}Z3Y+J7F<&j88SW|BE$252bW_;e-AZ=; z{O3=)@b9Pi?`Qb$=lJiR@ZUdoA;;?j{C5Zceb_avnEyV)Z=c}5pC-wRMV2L}s%F6NJ9Y$lpw`jRk5uTb=sU8 z+X&@G;JH|VFWD0Mi*jnYu$(D@Yp}t)o1|odB2@;7F*%7ObHjT>K4Zgt%NQ`QK1Ht$ z_a2+&@v59lid|=`qPz&u5kLd@c7OQt==Ct^AAWE6{*#mb;qd#e*bLC7xumfzd9A1E z^%Lp3X#)(A)~W$Mv)AANTTqbMtHH_cOVeWi`M$a8zlTA;*dHDO-r$R)lcaCzANNm& z`@63X`X|Zp>yzW7(}5Y>v(v%Q+$LWS%q}s1)nY`q(lh$>tOM7gd+NSD>wI(EAHLK@ z&8-CzB42Bp{CVsCv*Z5m*Zr>sSb{D)EI=QF-}$DMGVZG`r|)W0tk+3rMlu+ikGp%& ztEU@x?)>8~r!UXHF_*PrkN&gw%biX5;rw)9rlCJPI@#Jt{`db*M&r)@;pwn%L}xP) z{`jnesZgiW^Xf`2VCacF+e)@a$@VNUS$G{Tu2s*LV zq09jQ=nTK{emu8N&q0r{)j2#mdDTBScf)$zIX)Tq-;Yj*-UF`l`Y@~&Jb`-tBU}a3 z2XF~r!W`m*XPv9ETI$E}{aFLocV~0(-N5ioTODAV&UcSqy*fHHKLh9XYG8(nt80nc zIGa~nZfginww3&~^M^Z|v>CUw*px(`nq%t~cMKN%MBJeKW?!Ai$W2vx*t=YT+Je7S zs|!d-4Gt&?FYb1Al}wjl2J4wmNVkg1jwvWRx4(OEv}@-6)hCtH$^e=bhPGo<=jks(xn19qxOzX`G-4q)Qj)`{PV_-Po8jntYwPxgRDwN^ja)?PMd{V zh4)gM+Zpuohu%HYmUPpfFEgyY!Rc^s|76RO+YSHe1-jgtr)I6aAB>o>6DhBymq;x| zuQxzGR05`=IF_<)b$kgFd#R<;tx(9^e~wZg4A%eU==uK{><;z%Ps>hI5j+XeAGd%= z35|+%SqRuxM^Q4IM@!o9oJiBEUnt7n*@P!R?dm14Tft*P6$dZ+uMdD??;gC~!+F}? z@0tJEUDpw+15KR19GHm>hyxeEJz_p%7Nzr9dSkehr-?i;$LZCvIYijZ?k==p-hImd z_4=@d6XHID#^U%G6#z^&+*kV5e&J7M<@M{#!VZs)Oux6cm+9rx-Cgqmy-OGeA?Ojl z;)6P+dqi|C)~VgygFP93=V1Tv>-NqWI`tL{AM7=a)4q)LBk+^`xNXk!vyRht;Qp^` zU7${&8sW?G*Hz`SjkO>PJM0j6);T;mdhxF%aHx|8CV+42257}d7b>@m*nn~yW9-^8O9b0 zPZp}JC&@47|7p|ojjXW$4Ns30=q=Ml@A9Y4SAW?*J|7%@15{@F!gLsCVpZ_Xg4PB@ zI;$m;3{wg_-Q&JaOi#fL6f2FUSz6q-0<#&wEb_-^o&GDskDR~gADj;Gx%(==4NqRH zpWqw(GVGtwL-WCWr!Vm7_3#K-2K>&S>8WM9pSf@J3kXN@oCKx*w_oFfZ@+%ldH#C; zU{5J)_4j9nn!vN&UHD}B_v&bGKo9tfd2VakI>*QO_4pV+yWjb_^2;gfk1*Fj^E2K97ju>0}| z3c!Eq+xf11Ki}mihxW-KKN;F5L-XXTlK~DGKbY?*JKzKS^sMvZ^UvX{`H%T*JN1J5 zAl0e1rdmn_#P9A`C)zy=9=S4BuzTh|Q6+}vd#o+*hi4t9NPos3&9nXIh9973^bw!Q z1NsJc6hDBE=Goynl`#K(My!@?WoX-hT@54<9?R!v9pX~p8GU-zVJZlZtR&7K&Y!=A z`8+xqs$bnhSI%q<-2i@fzrsWuex-k>C$5A!&|wq&$dzFdt;_HuD5I4CR75{{);Z}P znwf!L=#zP(EeQC7Z&DBy3jE~MDaeN5Bluvx!y@B%`0%U~nsuV4o{k!e9YZ=gA1%*` zw#aAulxTzfBG36u*e}oUnwq4B_Gk0mT}NXhkHfM;bL&t2lHYw7Z&seyO2-=J$In>0 zK`ubb@K^e6N-pr{<8mp#t4CDk?SqIVM^q{;4&pPw*gnyt<=80V#S(msLkV?dU zF*Pb_w8Azkx2Y@H)dY8>2k1XBC2lHU>*ZJb?ODfcy30)M4*mVvzr?cr?=)=xH#K12 z+J5~{H(y7s*XC?K21m5*bk^zgPG7%xvH#uR^s)Mwm>KL%%cKYYfAKd%p|`iq5dasd z$DKbsd)$fYcpoQ8Tq7J;Dw~ETh%$tly*vN)BpH_=z9*#dyBn=^m$ZO?KsDZ-JLcKF zE%}}#sIt48jK;1bAfDaX6mbG{3V_p*UlvA;a}{q_1Iquw{F=Sbm&pTF9UtsG;U}n1 zgpcF0$nb;im(mlpyh)~yIvJ~ouUb>P(>p#H?Cu}EHcM)s$%n@cn)+~Wdx~bWXuLZA z<(A@}SHvv{58EoqdVX7O0h&t4jMkd86Jonba~W?Yx$}&-ps$SEay|H+8l(=BLb=mA zk&heA9%3Lc+<1TZ`qVcPfOe~)PjEz0{FgV^ntt4P665T&yyOB&2Z>Qvlz&4f?c_EqJNV~X%UJiD{$8~4mJ)F^HL1Uh=F-~ah% zP}vceu@$!gn8rXO^Ym{0J!S_25hN0L2TD0I2!7i5!U>omo{&Q?@7KvwS_W&e@K4Bw zuSP}fDG#0o8?h8@DWxFE$gosf=BVG9-vx498`%9jcP4i?)G7YGUP-o`jfPjs8!`Fw zV>5xdrM8`pRh@;4tXI@pRbib0g<<>sljPSd(Y#?98W+KKk93Aj(>k})y1t2qX_{}S zSwY=keMYwZ4ebpZcQ(BtdOUv3beXO_-H033?!Wor{+YSa!MG-4$KIK}V5)5-|Lduk z_=wmfF;aZS}PmZI7ZzBLypHJCKa zx-Gz(>0B^s6_u^xmaihi+!pPQ(=AKblr`;f%}lnAq*>!+3rUkQY6EyLX+11EPwm?O zOjh6f)*Io@o%{Fi{`e$D`7EDh`lTN4(DRTkI&1Kbvo3eRZrklXG53WCXj@Or+wZsz zxVO908>k;aQNPtn<|5Y2C;{bZ^a<$i^}Y!8RPV#(Wrp=ubX4!DMk4ybn;~Ylck2{v zjN7dnFI$AL#-=+$JoPNqh-WYjzk0xHH@`Ow*#7Fu^ByLykD+hRV`Ya_L?kB70;PIJ z?bbYmED3W}6|HJ{0SeoWJar)IcX~q;$tGsFe(1ILl$G9DvSQ_y=|ykU>1g|tr<&BN z#@>BcTCkoN#u2pw$EDUpet08%Cmc_`b~?RLuYBBz>1Y3tPmr5OySq8PuZAEvY`@ww z|2sDSdqLZen!j_eH=LIn=TdGLs<9q(0mV#&cI zuTM*;p8f-&;hVkx#a+&dV?IB-3u>QbSx%o8B^wBz_jkWOJ?Njle0GagsZURB=g`j2 z#x(fCE)`pmwxjLoc^{d%q;T25OJoppEl zw;j9bzk2a*vg*Ib>gl<6v+7?0+-XhRr=^lp^pA^4(gXH4K_4=GMbuj12a0>}f9&G

    fn{PRNiioG7bsg_$f05Yy@z12(l2-+@6p@%)y8S)aYBuod&ZhFGKG;7! zM!)L*SEm$`V@4-~Q{`0cNENz6%`E88uqT7VJt$#%wuxQCvRer{Gbg6$U-$}}z0J+t zHrd}Z-J$Vxz)Aga0;BD8;9oRh#%5FIq!yL+2XC@u3eCATEkDKA0s`36ALrL&>P6cE z{7+v2+d-sv7&vg=Kl$o(>&_jRFIg7p_+##|Gx%&5FfuL$G?Hh<@EicMbUw-7TMB~B zZ^;K80pmYV-LTe5?2g?g#OLLm5p5R?aiBnlkNf4Hx?j|0*=^h`)GpqayRziF;gb6g zcI!(Xu6d{P6)v!>2RlcMw_<(;uvpX(MluHuIr76LzF<2yKYyh{mzPUt_U-@h{dV&FGM+DMelV-BnldQbiKqhPjx7J}25ik10;;x^pl`#ms% ze^`(vE?hZ})>6~bP*b+M8v|dvm>)i}jX4BVezyJwIt&za2iBxSqV3vXP;N#$%iN+V zf8h6j4&7H&>solzHccFfHD`|biRI9GmPNB;)aNl@#Jh(wT~{pW-EPgE>f6$(s@b%) z-+CLqRTb^__o;xIH_f`rZt@B_%1&+E6^AQ37CS322jlzRJcJZ%>`^G3Lg~Dz3msRp zrCTr?Xr64(PwMr9e%DN+s;90I+t0Pt_4u7y%pN>$g$tO<_=flk>V>^GY1{1|w%10s zeg669USwPPpNs4F5Zm_GC!ny!CjVEx+9#iUl59g1W|i!O^>0x-2&cPUC3q!PQn9vm zbO>&Xnlo*|Wa3MwW?Y3jqUT-Ub z7U1Py)`R*Q2r|9-!qj{CL9fOd$@ZUPZ@c*EVf*V$p}&04+d$dB0GNfy+y2u2E^u2{ z?}D#-7v6Fbq1xJ6^p|g2{FH1X=J(DYu<^y;gXh7G*!T`?ejA;o|Hb=+F>uJ2Kf!1i zg1*IWAsIltOiZqsCIk&5KAi-~ilDH7=VNHZLB zwGEn`FD+hR0}mrDm_jX0{6!jA6?)f)o4%n1-lrcnEUuJ*RDb1ASLoV<>aVoJNfUHXUe&gn58423OIe^mo%(CAEbITr6^23`S z9{=^P_s<@`fq%RA4R2z3X4CXI!v+vZX!r{3klXi{v-vOg)7kcTw0+0?-QV!J?_fOk z$6inQQg3h5h5xkIGoLAp2VN44X2bC`2(1A7gK2Tl0tuaWa=1sK13upJ_wl=Y zZ5hf>wyu;ofZej(?HYA{rE3RL4^ijEYnoSL0K-~tLG_kyY{nGa{D*3B)9eGY+Gc6Z zFRNKvy-gk%zQ%l^txXN_*4j{EB5h-1joeeevOnX$vW;MZe`PCbM&q-p*1}e*mr~Iy zzYrV(o7(-F&PU-Fx51+&Z?$W}Cc-=8R*g8IgGSN!*``RN_M%P~qbtO=qg3}3jbLXk z!N-XREm}HNw;4&Op_awzQGoT{5;chszMX$uJ*n>Z?mxYM`DFg&{gYqr;$uVQ=vxHs z0d&@uz|~h4r%1$}AETu#`U7<5+OWsdAI<-=gdJvSwP}6^CnrZIk4ZO^OtXokO13RN z-bkM4EoX(XLaVPgLU~ICBA8=}XPwImK=sy!*X|_u-?MIDUSYdMlP~}G!vG88vD-3c zVx{|ctt5CCaKSt$VsB>r#t?rT(ewdZ9N{2^{lZJgP8Rhj5vAfEp6TU^0d?r5%Kn}_ zunMo{l`;lZt`^v=w0HBNb z$KtUjGd_7CI6Y_Fg*_h2(dj7Qt;b}Z2ZEm$AB4g6D*(6}ZFEjo<@A}PPYI2DPCue; zi*Bf9M&%=jz3vD2rhkQqbN4HJgJ0drb%z)OJ>6%!l3*NbWgO(4wYPLUiskVcx{IhF zdkj=M{+htw9So9Dl#ZKekn=M;1NZuBf3OWtBkb4nG?@@bk}p2vx)x|0$M* z2TxtajUT07o`)L($>yWS;?(B8J0-Av=0)PvVfOrBoXGEhQ=OCWw%88aen#U#nG*8Y zq?Dn|OZMohV*-MeVY+O^91>?wGf19E>T+d&(wKOyq+hqpe2lk)xLj;o^xp5Q9nlrakE<`K{Kr4mhw1sp5L~r4WZQyyRjuT z-}R)n)OhYg|HZ^N3v>W2;xUK|G$8!1**5^r@Hl~g`3O!*IC|*cNMEU3a9ACU@Qve% za_BW%Tw)*BcC!E7|6Mj%gyNtXyzXk-0fdXkiTMW`r~jI1omb{z zMb9dFq%RJAjp!9`a=Bo$q`%ThQ&eW+xfS|#gMH|geC$^=`=xjM^62n;Hr%ou4MZ&( zMWPT4SjLu}MaS3CmETH_(14tH3dF=IeiN&G7D|9x)5Pj(6H#v_R?X%%lTSUGiAtwck_hI9Z=Y6ET1Cp&ubgHs-rbe6$js^rb1-lu==KI(n;XbX_p zzdC%KAY#8^LLg68_MUQZLX~upV-`68%0B|7He{rOT$DG}GMgocc%N(nH*|VaeFHfs zA;Il(3t62DK#d<|*%(mjdxuAZ?*MA;@yApk|FiOcXn3A~S^ketA3WNj{2z}#eelV{ zhmim2;lqa?^MCwH{wPh`L$g51|5+7T^0~@NY#72TQWTD+X+Enk0S0CEz*G`oIm56l zOp^<#*Cn4erS?k=3As$Coa>^SaN2wG90(Dh(?907C4ky{dXw%nu7N^2p+c$x9(iJQjpD zI7Q&^^ha}RCIRvlX6*DsC|_jd$mHYtaHZdKMHUnWgaD` zC3D53m^%-LAaG!krVo?wofEv;qrrE>^OxtHKhm7k9!u*Rwv~-e2izv04a1bIMlNGv zI?vA+9o9tJwVNX1r2f{R+L+ibpvphat=TqcmH@F^DT0ll2P*8 z{>kC~;a89GRFn%?Yg1hq9!$S|oi4_xl$fW>{318~GrKVzk0F05WfJE-P}$Til7SG8 zp6w;*Wa0EpaL=0A&djA>Z-djv%W zW@`Xj0Ud-bl0bqTiW`t!%39^=kzU?R<8NWnb42CaP|3N1kIbez7*6@>|i0DvrULfnQUPAry z=A`TOARC&QJ;~;JNw(S=SF7;h&8tOm4{(E-*Q{nm)8S6?-EtcA3X3B-`M~ngebiJV zcEIMR=HJ*U;X0BNx%HUD$M02*cC_ui*=Pz^Y;<^SFXej8?<0b!rlpZ~HqB$4cDmA< zF8bA?bktRhPsNAN{I8kt(lFWiuX&lO_@VDy!ZrRYUg_$sd*jNmjF;eFS9^7wnulvq zdvg=*ZrUr2d)VJBLZw~BCgSdDs=m!;`SSd#EZ;Uz^9Use77$EKTbqhnn#!>{4*tJ)SchA)By&8dSc#}uJW0&V|f7fJHjMfawy$n}m^WOUxrc#`1 z?E1^i3j=jdm)ZP7>%7Q|bQ)nZTgK5kW&e#wVh1uS$16px{pIi(A1ZpUzW3o~T5}uP zRP#{$f|;cz=F}81*N%}p&fgi*6z`jUe^wv?BT?lXO|?>OuVR^xx_vvX+} z!E}1Q$VTNmV7Q?t-q=uJUaaQJ_d%aSPGXu?%X1R8jr4k*kE083H;0jcS&mjOFT|(Sa83@3(gmr5!$jA zLhS7<@8?)Ut&}j@6#g7+rum`-eN!MuxGSeV{__iKFBPcamfY*0PLSgQ6V2zl1uu$t7=MfN*3HvN4X3)tmgJv=3d zJ-dsNuCy|c!ke^yj?si_-EHM_Y~CDMdR-Mlu(4OQJ_Mw@ z@;JEKT~6W`%PF&LnR=bOce_zT*YLr;;ETIS;U8}G)x3VEEz703XXC0T zyXwnDI;zv__d|MIquP=6Ct#**agL6y#br%vQ=d8e_SJk0Tx{EpLn%+siTBwfFttkn z-e9kIM4;+Eg|1Z#rZ^i+pQE>AkF4F3KAsCJEmJ{>wk@Jw(+z36&6kFdh^ zB4396j_FG3$_Zy+Xx*Q`LN(Q73j)b{N~TJ~&a8WQYcq(2 zllK}*nj2=UE?>JHSB3zg*a#oa1KE+cC;gTcOT{=*&3pA?qzhPA%ACA+@nSSVRBE}n zX(Rv1Eq_Zu{Xu0!vake86W#V~Nd)ZR2#{!+YYz%xd?OUPT~CfP<8 zleBOSM_V!k^le#UNFu;Qq@xk|fw7xR+yO{B4^?r3at4cdzFN92$h*g-sROSU-zu3^ zsLm4$u2b|z{t;W0Wk}gICow#o+0Z$T6KZoJ$=#!qft1a`7nzeidTvpwto4bq!wbD* zD1uRqe*4Q>nXu)fSNlT%aXT68_J@PL)|ae`r9_=JzQmO2{Lvh;d{S%5y4fV&pVyQv z6R#~IOIvL!6R)4U5j56^4Dn5sL9kg@`Lj>r)j{2~?%hx(UOVv3iPjFvtZN9pcGfh6 zW!5!>d0^Kx1ZCpwxSiWPFSK);YVUluzV^;%@%kumt$90^saIE?JB`&4@z8s+6Ezc8_`fOzZ2n^gx}o#ui#mT6h=6>c{Uw<@VIl0b3?k zAHADeZzC?#SlMR-;+12Q7wC(k)q^r?8;Ra$wK7f3h`u&y>5G(E*G8OdhGm*sA-!hP zr0O#5Eu6o5xV8mTrq+ma4{BapSEgQF)B-L0%9g3uR-QzSwN;r~0})Ys zsg+sdGO@a|>M~hZ*OY0f8XT)=)yM|I2<9~mCY1S5ft3B5*0hUdngmgCfNE<(%G4__ zvTWVBpiHzPT_o)lsZ6c9?@$%5?w4t30`1q0Jy2z$_3Hzu*XIFz*t+_jSq+VQWtx`P zx^T60)46%os@EL5BGqeU>aAFxuI5g-GA-5FC9JhNm#MWvPGjwRmCDqslF_lfDwV0# z1r7eXBLZcj6>H=sQZYhq*n-$vmCH2M4c{EA+x%vC!!_5A-Ei9Ux%TDp2GH$o&B(D# ztgh$f)=<|gQ)`5M-C8@qWg>MU1AVflt|=3%Dc*5yHKj~b{Z_fqE7Q~h8a>wZ0L!#C z(4;)@%QQ97Dx118E!CT4Q(dO1fl#*@YapuIRQ_k{>PKZK&wp)w{pJ}I7mxKVTx9KS zOmERf^KNRD!E~8=1KNeIsR3Q4)`IU$7jMBY)6hgai&3?(7~&n*Mh~P+z49`fue*1k zOs!(ni!P`bEmLpFbBl|2!7o#9LVM0NjKV8ZZvp)0*31Kz`A{CM=4}^m*e}z>rYZNk z#$Kv2_4?vm*D^|5rdHee+BMg9Wtyr7dgEyIsNUG~&RbtULbtTfUV9H3t}pAJm#mwC z*v+Aw`_|WvTpV?;zoz=SOhYp@6H=s^==GtU_10H!T!rxRXl~#lYi(kBizXVEGF1OX zn}|;0Y(3F^*U0RLPKGg_JuLIzj*0et2Aj-bx=h@hC@wQ?=0qt|Z^3%=wHPFAnRxZO zU9Vm}Zr8IufXSNbQPIu1_pPf9W#YBb*KbX2EVEYo%DbRd`x@H?+JCQEG33hBrRKnY zFDf+$Wttj6ADTwd+m)%;cRqj3^<9~U`sf$9raqQws9)2QMe0ZOWXh9pO?52OP=C3& zN!GpIl!>Y!LMjwfLBzI??||6E!s{}vA|W{`wu^*Rro9>RU2JcL%G5b(@M&DfQA3$} zP2cY^UehmAzn9o2vh`l#GSSN71=&_v%0wG*j+D&}xH1jW0Qguo4?sC$HZ5a#sl=AC z@lvU|X0A~(oJXw)+Fi3zq)=t*-LT%AEs6?TCSv0Y{5+#JzMxFRb`bIZtl17CWg_}n zt%Pq<@5VN@^%QNXY0K1))!(PdS`qi}(}-vc?xgEPV<^Mo8iXlmN5y;hJGN1NKKO1p zI6U1yIy~P$+#l{xu0by(CJ&ypxA$=K-ImuuQ|H~2j_RI|4F^5^i0Ap6 z@IM*!|DOSk*^K}B@Zl$q9{$G;{5|;e(Wej1?>i4Z|LoyM{Lg>I-#!5ilj8$?0Viny z`)h{0>~wZ54(R6YR->JF( zufb^ZqFfbY>_gXdV$|z&h7LWlLZr@QT#i;V!*F6TOj(1CB#}lCx3lW33Z%e>i-v5P zd4{ZZA8md%z()i$=W4Xb=gTBrE+NG?I&Z<=`idURRcrCJpu5~8@UK}!=?VIT-0eUg$ysEaT<6QH9WFn_D*$hUh@LrYIm5Z(R;cEgX?-<^N#hZi;h2@#+%@gO$npvjfKV?k zZXl2%H7!Bi`67DOUtef$ zZ04z0RV&D>a)nA6Ji3Jcu6ANKnWIFNfHY@{aPmX&slF<&z4JCggjzzYzrM-u8UiFYoxO-JnvA_ z8b}rgL(9hIkRiEa%A|Kc#Q3D6yUC_0s2=5o*-AOn7)v=idXCMWNE0*}Lv{(?$mEk! zOzxWTes6k+VKK1Ko#1^rO@{QH3>-iWOh1g21!NXZvVI{>S|6w>|@5-7xGN>qm+JtvKC~Qhl3z}BsiGNf{Iq%Yo zB}J!d!h%>ck+fUm?tpZs^8W^xJDK4PEyqc9r@BhK9tl3P zI>Yo5%<*Q96%Mvcz+1~)m)weOUn+wT6O7 z?NPZ5lQ`q{XXc2dU;tYh;t$Q4y5>Hbm0X8V7qhr8Lh7DbI~S4^u7|rWU!&8Kt|)1%~^jOD_!=-QqkbCe-e1kIku= zmUDoTw*(t*vwX=%%@C9;&{qQQmMx__hG{7mbju&n%e@m3&*6 z3pc$mS8or=fJga~?QO%y&F?a&WY%U{0U5)~O_D(atT9otTW%`k|u7N6FF7^?PIfWn-_z}*hsnYIbMs+3FRT1LR=9Uqnw8%}KG^i;8|lsC$6ZQJ z2i!EzmtA!z`NI78%3S)nd3Vx>1h2~s16&(6L2XZb-+nSxE(Bog!(*B7hNvL?0wUD9 zKt3SIdZ64FVRel+5qLg;NRL>1f)_d(U;QMr)CZ;oEaKaJ{=d%}oncqN!8!XD^ z(?)^q;Vr9aKJCDskp4%n8#5<;%-L$+!Pg^(qGz49S9Ebi;gyhFWE0r5p7hdz`e{KF zShry&%2R&;08SN^^q*TnryE}C{GkeN45lFz*1hQbcz;zb?oUgz-uKNFeHU-5vUSb!S5?qM%!1~3 z6ZWMVQrFv@sP3SGaQ2B&!g-poaF-Hu>G5JVSw*k2r`a#!sc?c7t5z)`7Y6J`609#* z({#bF;iFi9%$Sp=A$QyZ=Ki7^*q!fbdIO^Cjk@GIaz9UVv-8X}P!iv#d;2GMS!l<# zaV(U&0RdwnA3>iwK*5n2k%`7DI(k7v?jA_u$M>>y&&-L{wSeC)Ovp756TfL7hjj2~ zmKf<}v7}n~C%lDHm=n7YoXtiELWh(I2nDf7?QS>1(rSXA_##OlMz3<)JqfmZM{jq0 zRk)u(;&ne#^G{D-zu+?=GDGr$C6P`Ox5c9c(eehhd&QC!kg$_ck+c0`&>y}&8Qirj z*s|<+yP57HE|$Q$k4P(~)JGad!-^q8P(oM*U91Z*qua;*-LLy!xemx1`FSTNnG7{B zy#FqX)plCZM7_UDIpg5f-zDFg{uvIC#Lz9`&pS>tLJ5Lq+zF6)+(g{Py(GO-^C5hv z>>VKOmqq@QaDy*!kMm4pX*r5Pf4aVe0*4Qdo?-gY#7s4WDmyZ8Ba}cpghBS zw79$M+JhnQ*RPY|m;t_*+<_GxU=a22u_ZgTgH1adD7h$;Pw5xov{>*5p|jJ*@sYg5 z8U2v)w(@i^IlvewO`1RY4vZcY3wTV&z){bDS7yK$l-A6CoT19lXBRMW5Qx&&(*%M|Add*ndkak$hkW?woB_Ybd z*hvFVs4zSVGpa5L9XX3ah7v=f=cmK(kL?M9U2nc(53(FDiwn%Ncm+Hb#wyE!A#toj z4GVwzW3?(iF$W)MuxX?$VA81~sX(syCNs^N9K03{4?L4)3wYs?LB;>NHa_~Rp3&%8! zJpLrlrenOxJ6^pUPKq3|G2IbP_r@8hJartOu8yd&P{a(E#p8HEk$R5nVpjCrsqHB} zHwuLd(``;AiuxzY2?x}vBZt>r6QnlaHHJf(O+ggU8=Z4#qTUxac*ooxYYv{Kv&-G?p>fSpmRqb z!MmiI|B+Y+GhE%tX<4!`_apHX_pz_{z4sFx%HA6$tD=41kHg5{(wOo@G}&^C2*W`0MKWrqZx&+#YKX^#yk#aaHvKR{<`TW?ow^nyDo)v7 z@huE{g;H#E`3k(PvL*AB9X&h{5{NRWj)HooyoR)nUApBggMcOwBcwZ~H@yVZFSeK3 zgGB2~2E)o+eTLr{D6e_0D6AHzZAjjh@_ES%s-mh5)=kAYew>{RZb1n z73Kdo{gbEI4;UoyKJCgUCjveMx%2+zXw>N-r%iVVi)U~=%ujduszvh--!i+7f^Mz~ z$lFP(_YU}UFY@u&*}!URx5augO8O}xc+g|)*G1|ZB@)@sF9!z)Pi>J-2b;s0ikEW^e1I*)QJlG3qq2TDrL7 zS^44?z&^+IC*oTNHcPN~&58WOi&-u+AFl4woE-!I0;gqVwurOMtL8i*f)rM0>obk9 z{tVjt#%m9nP|CGFo6oGZ&#I||oyrykoX7BG%0T^M|6ssn2L+KNv2;FWd3cN_>LjpG z<5i2s7qiizl`flI7AZ;9cpLeaQ8*o@q!4$Sll$ZB-F*l{gpJPj6|!YxH^9x9^quvCei(*lIBO9{iq{+CzRIb;>77e6Y zj6~N!bq<91H=93mrOQoBP1A8^_3O4nAn#6sAkCz$>xmt~86<1ZXq3&_Zb+(`E`c`Y z_28NN{H)UfW&2|Wd^LO{-5%!M_$(24Im60c0_N&BbS*tjp0Q%;{F}iExC%e( z9OM_(<7E5b&Ohj#za-mJ-pKe{&(PU-=GHQG!S?p7vpbolmr!N@&Ocn2e);G;{PFMO z-^ag?e;@xo{(b!W`1kSekAENkKK_0D`}p_q@8jRczmI<(|33bG{QLO#@$ci` f$G?w%AOAl7ef<0Q_wn!lzQ6wue-lI$0PtD>*r>8> literal 0 HcmV?d00001 -- 2.11.0

    F5O3@T$4- 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୨IWEE|~OJyllZo+-W>d4!xqsK;_$ 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 z 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

    hvVcpbGf=_p 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∋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 OnWD8OWg0puWOH@~L-~=Q%@Su}Ye)dLKmv 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%0A@7c2MRV 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