15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 2007 May 7 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** The author disclaims copyright to this source code. In place of 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** a legal notice, here is a blessing: 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** May you do good and not evil. 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** May you find forgiveness for yourself and forgive others. 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** May you share freely, never taking more than you give. 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)************************************************************************* 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** This file contains code used for testing the SQLite system. 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** None of the code in this file goes into a deliverable build. 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** The focus of this file is providing the TCL testing layer 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** access to compile-time constants. 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sqliteLimit.h" 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sqliteInt.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "tcl.h" 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stdlib.h> 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string.h> 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Macro to stringify the results of the evaluation a pre-processor 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** macro. i.e. so that STRINGVALUE(SQLITE_NOMEM) -> "7". 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define STRINGVALUE2(x) #x 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define STRINGVALUE(x) STRINGVALUE2(x) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** This routine sets entries in the global ::sqlite_options() array variable 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** according to the compile-time configuration of the database. Test 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** procedures use this to determine when tests should be omitted. 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)static void set_options(Tcl_Interp *interp){ 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_32BIT_ROWID 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "rowid32", "1", TCL_GLOBAL_ONLY); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "rowid32", "0", TCL_GLOBAL_ONLY); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_CASE_SENSITIVE_LIKE 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","1",TCL_GLOBAL_ONLY); 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","0",TCL_GLOBAL_ONLY); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_DEBUG 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "debug", "1", TCL_GLOBAL_ONLY); 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "debug", "0", TCL_GLOBAL_ONLY); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_DISABLE_DIRSYNC 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "dirsync", "0", TCL_GLOBAL_ONLY); 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "dirsync", "1", TCL_GLOBAL_ONLY); 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_DISABLE_LFS 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "lfs", "0", TCL_GLOBAL_ONLY); 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "lfs", "1", TCL_GLOBAL_ONLY); 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if 1 /* def SQLITE_MEMDEBUG */ 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "memdebug", "1", TCL_GLOBAL_ONLY); 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "memdebug", "0", TCL_GLOBAL_ONLY); 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_MEMSYS3 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mem3", "1", TCL_GLOBAL_ONLY); 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mem3", "0", TCL_GLOBAL_ONLY); 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_MEMSYS5 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mem5", "1", TCL_GLOBAL_ONLY); 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mem5", "0", TCL_GLOBAL_ONLY); 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_MUTEX_OMIT 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mutex", "0", TCL_GLOBAL_ONLY); 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mutex", "1", TCL_GLOBAL_ONLY); 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_MUTEX_NOOP 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mutex_noop", "1", TCL_GLOBAL_ONLY); 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "mutex_noop", "0", TCL_GLOBAL_ONLY); 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_ALTERTABLE 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "altertable", "0", TCL_GLOBAL_ONLY); 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "altertable", "1", TCL_GLOBAL_ONLY); 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_ANALYZE 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "analyze", "0", TCL_GLOBAL_ONLY); 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "analyze", "1", TCL_GLOBAL_ONLY); 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_ATOMIC_WRITE 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "atomicwrite", "1", TCL_GLOBAL_ONLY); 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "atomicwrite", "0", TCL_GLOBAL_ONLY); 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_ATTACH 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "attach", "0", TCL_GLOBAL_ONLY); 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "attach", "1", TCL_GLOBAL_ONLY); 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_AUTHORIZATION 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "auth", "0", TCL_GLOBAL_ONLY); 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "auth", "1", TCL_GLOBAL_ONLY); 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_AUTOINCREMENT 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autoinc", "0", TCL_GLOBAL_ONLY); 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autoinc", "1", TCL_GLOBAL_ONLY); 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_AUTOMATIC_INDEX 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autoindex", "0", TCL_GLOBAL_ONLY); 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autoindex", "1", TCL_GLOBAL_ONLY); 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_AUTORESET 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autoreset", "0", TCL_GLOBAL_ONLY); 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autoreset", "1", TCL_GLOBAL_ONLY); 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_AUTOVACUUM 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autovacuum", "0", TCL_GLOBAL_ONLY); 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "autovacuum", "1", TCL_GLOBAL_ONLY); 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* SQLITE_OMIT_AUTOVACUUM */ 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(SQLITE_DEFAULT_AUTOVACUUM) 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp,"sqlite_options","default_autovacuum","0",TCL_GLOBAL_ONLY); 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "default_autovacuum", 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) STRINGVALUE(SQLITE_DEFAULT_AUTOVACUUM), TCL_GLOBAL_ONLY); 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_BETWEEN_OPTIMIZATION 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "between_opt", "0", TCL_GLOBAL_ONLY); 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "between_opt", "1", TCL_GLOBAL_ONLY); 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_BUILTIN_TEST 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "builtin_test", "0", TCL_GLOBAL_ONLY); 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "builtin_test", "1", TCL_GLOBAL_ONLY); 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_BLOB_LITERAL 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "bloblit", "0", TCL_GLOBAL_ONLY); 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "bloblit", "1", TCL_GLOBAL_ONLY); 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_CAST 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "cast", "0", TCL_GLOBAL_ONLY); 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "cast", "1", TCL_GLOBAL_ONLY); 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_CHECK 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "check", "0", TCL_GLOBAL_ONLY); 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "check", "1", TCL_GLOBAL_ONLY); 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_COLUMN_METADATA 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "1", TCL_GLOBAL_ONLY); 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "0", TCL_GLOBAL_ONLY); 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "oversize_cell_check", "1", 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TCL_GLOBAL_ONLY); 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "oversize_cell_check", "0", 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TCL_GLOBAL_ONLY); 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_COMPILEOPTION_DIAGS 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "compileoption_diags", "0", TCL_GLOBAL_ONLY); 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "compileoption_diags", "1", TCL_GLOBAL_ONLY); 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_COMPLETE 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "complete", "0", TCL_GLOBAL_ONLY); 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "complete", "1", TCL_GLOBAL_ONLY); 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_COMPOUND_SELECT 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "compound", "0", TCL_GLOBAL_ONLY); 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "compound", "1", TCL_GLOBAL_ONLY); 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_CONFLICT_CLAUSE 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "conflict", "0", TCL_GLOBAL_ONLY); 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "conflict", "1", TCL_GLOBAL_ONLY); 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if SQLITE_OS_UNIX 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "crashtest", "1", TCL_GLOBAL_ONLY); 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "crashtest", "0", TCL_GLOBAL_ONLY); 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_DATETIME_FUNCS 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "datetime", "0", TCL_GLOBAL_ONLY); 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "datetime", "1", TCL_GLOBAL_ONLY); 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_DECLTYPE 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "decltype", "0", TCL_GLOBAL_ONLY); 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "decltype", "1", TCL_GLOBAL_ONLY); 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_DEPRECATED 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "deprecated", "0", TCL_GLOBAL_ONLY); 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "deprecated", "1", TCL_GLOBAL_ONLY); 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_DISKIO 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "diskio", "0", TCL_GLOBAL_ONLY); 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "diskio", "1", TCL_GLOBAL_ONLY); 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_EXPLAIN 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "explain", "0", TCL_GLOBAL_ONLY); 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "explain", "1", TCL_GLOBAL_ONLY); 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_FLOATING_POINT 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "floatingpoint", "0", TCL_GLOBAL_ONLY); 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "floatingpoint", "1", TCL_GLOBAL_ONLY); 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_FOREIGN_KEY 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "foreignkey", "0", TCL_GLOBAL_ONLY); 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "foreignkey", "1", TCL_GLOBAL_ONLY); 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_FTS1 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "fts1", "1", TCL_GLOBAL_ONLY); 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "fts1", "0", TCL_GLOBAL_ONLY); 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_FTS2 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "fts2", "1", TCL_GLOBAL_ONLY); 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "fts2", "0", TCL_GLOBAL_ONLY); 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_FTS3 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "fts3", "1", TCL_GLOBAL_ONLY); 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "fts3", "0", TCL_GLOBAL_ONLY); 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_GET_TABLE 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "gettable", "0", TCL_GLOBAL_ONLY); 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "gettable", "1", TCL_GLOBAL_ONLY); 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_ICU 3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "icu", "1", TCL_GLOBAL_ONLY); 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "icu", "0", TCL_GLOBAL_ONLY); 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_INCRBLOB 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "incrblob", "0", TCL_GLOBAL_ONLY); 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "incrblob", "1", TCL_GLOBAL_ONLY); 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* SQLITE_OMIT_AUTOVACUUM */ 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_INTEGRITY_CHECK 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "integrityck", "0", TCL_GLOBAL_ONLY); 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "integrityck", "1", TCL_GLOBAL_ONLY); 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(SQLITE_DEFAULT_FILE_FORMAT) && SQLITE_DEFAULT_FILE_FORMAT==1 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "legacyformat", "1", TCL_GLOBAL_ONLY); 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "legacyformat", "0", TCL_GLOBAL_ONLY); 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_LIKE_OPTIMIZATION 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "like_opt", "0", TCL_GLOBAL_ONLY); 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "like_opt", "1", TCL_GLOBAL_ONLY); 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_LOAD_EXTENSION 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "load_ext", "0", TCL_GLOBAL_ONLY); 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "load_ext", "1", TCL_GLOBAL_ONLY); 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_LOCALTIME 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "localtime", "0", TCL_GLOBAL_ONLY); 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "localtime", "1", TCL_GLOBAL_ONLY); 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_LOOKASIDE 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "lookaside", "0", TCL_GLOBAL_ONLY); 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "lookaside", "1", TCL_GLOBAL_ONLY); 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Tcl_SetVar2(interp, "sqlite_options", "long_double", 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) sizeof(LONGDOUBLE_TYPE)>sizeof(double) ? "1" : "0", 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TCL_GLOBAL_ONLY); 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_MEMORYDB 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "memorydb", "0", TCL_GLOBAL_ONLY); 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "memorydb", "1", TCL_GLOBAL_ONLY); 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "1", TCL_GLOBAL_ONLY); 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "0", TCL_GLOBAL_ONLY); 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_OR_OPTIMIZATION 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "or_opt", "0", TCL_GLOBAL_ONLY); 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "or_opt", "1", TCL_GLOBAL_ONLY); 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_PAGER_PRAGMAS 3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "0", TCL_GLOBAL_ONLY); 3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "1", TCL_GLOBAL_ONLY); 3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(SQLITE_OMIT_PRAGMA) || defined(SQLITE_OMIT_FLAG_PRAGMAS) 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "pragma", "0", TCL_GLOBAL_ONLY); 3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "integrityck", "0", TCL_GLOBAL_ONLY); 3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "pragma", "1", TCL_GLOBAL_ONLY); 3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_PROGRESS_CALLBACK 3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "progress", "0", TCL_GLOBAL_ONLY); 3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY); 3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_REINDEX 3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY); 3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "reindex", "1", TCL_GLOBAL_ONLY); 3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_RTREE 3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "rtree", "1", TCL_GLOBAL_ONLY); 3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "rtree", "0", TCL_GLOBAL_ONLY); 3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_SCHEMA_PRAGMAS 4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "0", TCL_GLOBAL_ONLY); 4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "1", TCL_GLOBAL_ONLY); 4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS 4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "schema_version", "0", TCL_GLOBAL_ONLY); 4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "schema_version", "1", TCL_GLOBAL_ONLY); 4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_ENABLE_STAT2 4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "stat2", "1", TCL_GLOBAL_ONLY); 4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "stat2", "0", TCL_GLOBAL_ONLY); 4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(SQLITE_ENABLE_LOCKING_STYLE) 4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# if defined(__APPLE__) 4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define SQLITE_ENABLE_LOCKING_STYLE 1 4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# else 4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# define SQLITE_ENABLE_LOCKING_STYLE 0 4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# endif 4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if SQLITE_ENABLE_LOCKING_STYLE && defined(__APPLE__) 4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp,"sqlite_options","lock_proxy_pragmas","1",TCL_GLOBAL_ONLY); 4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp,"sqlite_options","lock_proxy_pragmas","0",TCL_GLOBAL_ONLY); 4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(SQLITE_PREFER_PROXY_LOCKING) && defined(__APPLE__) 4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp,"sqlite_options","prefer_proxy_locking","1",TCL_GLOBAL_ONLY); 4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp,"sqlite_options","prefer_proxy_locking","0",TCL_GLOBAL_ONLY); 4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_SHARED_CACHE 4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "shared_cache", "0", TCL_GLOBAL_ONLY); 4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "shared_cache", "1", TCL_GLOBAL_ONLY); 4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_SUBQUERY 4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "subquery", "0", TCL_GLOBAL_ONLY); 4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "subquery", "1", TCL_GLOBAL_ONLY); 4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_TCL_VARIABLE 4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "tclvar", "0", TCL_GLOBAL_ONLY); 4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "tclvar", "1", TCL_GLOBAL_ONLY); 4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "threadsafe", 4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) STRINGVALUE(SQLITE_THREADSAFE), TCL_GLOBAL_ONLY); 4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert( sqlite3_threadsafe()==SQLITE_THREADSAFE ); 4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_TEMPDB 4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "tempdb", "0", TCL_GLOBAL_ONLY); 4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "tempdb", "1", TCL_GLOBAL_ONLY); 4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_TRACE 4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "trace", "0", TCL_GLOBAL_ONLY); 4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "trace", "1", TCL_GLOBAL_ONLY); 4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_TRIGGER 4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "trigger", "0", TCL_GLOBAL_ONLY); 4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "trigger", "1", TCL_GLOBAL_ONLY); 4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_TRUNCATE_OPTIMIZATION 4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "0", TCL_GLOBAL_ONLY); 4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "1", TCL_GLOBAL_ONLY); 4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_UTF16 4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY); 4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "utf16", "1", TCL_GLOBAL_ONLY); 4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(SQLITE_OMIT_VACUUM) || defined(SQLITE_OMIT_ATTACH) 4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "vacuum", "0", TCL_GLOBAL_ONLY); 4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "vacuum", "1", TCL_GLOBAL_ONLY); 4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_VIEW 4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "view", "0", TCL_GLOBAL_ONLY); 4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "view", "1", TCL_GLOBAL_ONLY); 5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_VIRTUALTABLE 5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "vtab", "0", TCL_GLOBAL_ONLY); 5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "vtab", "1", TCL_GLOBAL_ONLY); 5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_WAL 5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "wal", "0", TCL_GLOBAL_ONLY); 5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "wal", "1", TCL_GLOBAL_ONLY); 5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_OMIT_WSD 5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "wsd", "0", TCL_GLOBAL_ONLY); 5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "wsd", "1", TCL_GLOBAL_ONLY); 5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(SQLITE_ENABLE_UPDATE_DELETE_LIMIT) && !defined(SQLITE_OMIT_SUBQUERY) 5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "update_delete_limit", "1", TCL_GLOBAL_ONLY); 5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "update_delete_limit", "0", TCL_GLOBAL_ONLY); 5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(SQLITE_ENABLE_UNLOCK_NOTIFY) 5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "unlock_notify", "1", TCL_GLOBAL_ONLY); 5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "unlock_notify", "0", TCL_GLOBAL_ONLY); 5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_SECURE_DELETE 5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "1", TCL_GLOBAL_ONLY); 5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "0", TCL_GLOBAL_ONLY); 5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef SQLITE_MULTIPLEX_EXT_OVWR 5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "1", TCL_GLOBAL_ONLY); 5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "0", TCL_GLOBAL_ONLY); 5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef YYTRACKMAXSTACKDEPTH 5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "1", TCL_GLOBAL_ONLY); 5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "0", TCL_GLOBAL_ONLY); 5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define LINKVAR(x) { \ 5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static const int cv_ ## x = SQLITE_ ## x; \ 5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_LinkVar(interp, "SQLITE_" #x, (char *)&(cv_ ## x), \ 5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TCL_LINK_INT | TCL_LINK_READ_ONLY); } 5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_LENGTH ); 5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_COLUMN ); 5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_SQL_LENGTH ); 5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_EXPR_DEPTH ); 5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_COMPOUND_SELECT ); 5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_VDBE_OP ); 5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_FUNCTION_ARG ); 5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_VARIABLE_NUMBER ); 5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_PAGE_SIZE ); 5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_PAGE_COUNT ); 5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_LIKE_PATTERN_LENGTH ); 5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_TRIGGER_DEPTH ); 5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( DEFAULT_TEMP_CACHE_SIZE ); 5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( DEFAULT_CACHE_SIZE ); 5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( DEFAULT_PAGE_SIZE ); 5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( DEFAULT_FILE_FORMAT ); 5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) LINKVAR( MAX_ATTACHED ); 5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) { 5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static const int cv_TEMP_STORE = SQLITE_TEMP_STORE; 5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Tcl_LinkVar(interp, "TEMP_STORE", (char *)&(cv_TEMP_STORE), 5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TCL_LINK_INT | TCL_LINK_READ_ONLY); 5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Register commands with the TCL interpreter. 5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/ 5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int Sqliteconfig_Init(Tcl_Interp *interp){ 5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) set_options(interp); 5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return TCL_OK; 5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 588