/ Hex Artifact Content
Login

Artifact 6c3f341ece48020c4ddbce055643a91c653283b3a6853c46ea18d22e5c72847d:


0000: 2f 2a 0a 2a 2a 20 32 30 30 37 20 4d 61 79 20 37  /*.** 2007 May 7
0010: 0a 2a 2a 0a 2a 2a 20 54 68 65 20 61 75 74 68 6f  .**.** The autho
0020: 72 20 64 69 73 63 6c 61 69 6d 73 20 63 6f 70 79  r disclaims copy
0030: 72 69 67 68 74 20 74 6f 20 74 68 69 73 20 73 6f  right to this so
0040: 75 72 63 65 20 63 6f 64 65 2e 20 20 49 6e 20 70  urce code.  In p
0050: 6c 61 63 65 20 6f 66 0a 2a 2a 20 61 20 6c 65 67  lace of.** a leg
0060: 61 6c 20 6e 6f 74 69 63 65 2c 20 68 65 72 65 20  al notice, here 
0070: 69 73 20 61 20 62 6c 65 73 73 69 6e 67 3a 0a 2a  is a blessing:.*
0080: 2a 0a 2a 2a 20 20 20 20 4d 61 79 20 79 6f 75 20  *.**    May you 
0090: 64 6f 20 67 6f 6f 64 20 61 6e 64 20 6e 6f 74 20  do good and not 
00a0: 65 76 69 6c 2e 0a 2a 2a 20 20 20 20 4d 61 79 20  evil..**    May 
00b0: 79 6f 75 20 66 69 6e 64 20 66 6f 72 67 69 76 65  you find forgive
00c0: 6e 65 73 73 20 66 6f 72 20 79 6f 75 72 73 65 6c  ness for yoursel
00d0: 66 20 61 6e 64 20 66 6f 72 67 69 76 65 20 6f 74  f and forgive ot
00e0: 68 65 72 73 2e 0a 2a 2a 20 20 20 20 4d 61 79 20  hers..**    May 
00f0: 79 6f 75 20 73 68 61 72 65 20 66 72 65 65 6c 79  you share freely
0100: 2c 20 6e 65 76 65 72 20 74 61 6b 69 6e 67 20 6d  , never taking m
0110: 6f 72 65 20 74 68 61 6e 20 79 6f 75 20 67 69 76  ore than you giv
0120: 65 2e 0a 2a 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  e..**.**********
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a  ***************.
0170: 2a 2a 20 0a 2a 2a 20 54 68 69 73 20 66 69 6c 65  ** .** This file
0180: 20 63 6f 6e 74 61 69 6e 73 20 63 6f 64 65 20 75   contains code u
0190: 73 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 20  sed for testing 
01a0: 74 68 65 20 53 51 4c 69 74 65 20 73 79 73 74 65  the SQLite syste
01b0: 6d 2e 0a 2a 2a 20 4e 6f 6e 65 20 6f 66 20 74 68  m..** None of th
01c0: 65 20 63 6f 64 65 20 69 6e 20 74 68 69 73 20 66  e code in this f
01d0: 69 6c 65 20 67 6f 65 73 20 69 6e 74 6f 20 61 20  ile goes into a 
01e0: 64 65 6c 69 76 65 72 61 62 6c 65 20 62 75 69 6c  deliverable buil
01f0: 64 2e 0a 2a 2a 20 0a 2a 2a 20 54 68 65 20 66 6f  d..** .** The fo
0200: 63 75 73 20 6f 66 20 74 68 69 73 20 66 69 6c 65  cus of this file
0210: 20 69 73 20 70 72 6f 76 69 64 69 6e 67 20 74 68   is providing th
0220: 65 20 54 43 4c 20 74 65 73 74 69 6e 67 20 6c 61  e TCL testing la
0230: 79 65 72 0a 2a 2a 20 61 63 63 65 73 73 20 74 6f  yer.** access to
0240: 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f   compile-time co
0250: 6e 73 74 61 6e 74 73 2e 0a 2a 2f 0a 0a 23 69 6e  nstants..*/..#in
0260: 63 6c 75 64 65 20 22 73 71 6c 69 74 65 4c 69 6d  clude "sqliteLim
0270: 69 74 2e 68 22 0a 0a 23 69 6e 63 6c 75 64 65 20  it.h"..#include 
0280: 22 73 71 6c 69 74 65 49 6e 74 2e 68 22 0a 23 69  "sqliteInt.h".#i
0290: 66 20 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 0a  f SQLITE_OS_WIN.
02a0: 23 20 20 69 6e 63 6c 75 64 65 20 22 6f 73 5f 77  #  include "os_w
02b0: 69 6e 2e 68 22 0a 23 65 6e 64 69 66 0a 0a 23 69  in.h".#endif..#i
02c0: 66 20 64 65 66 69 6e 65 64 28 49 4e 43 4c 55 44  f defined(INCLUD
02d0: 45 5f 53 51 4c 49 54 45 5f 54 43 4c 5f 48 29 0a  E_SQLITE_TCL_H).
02e0: 23 20 20 69 6e 63 6c 75 64 65 20 22 73 71 6c 69  #  include "sqli
02f0: 74 65 5f 74 63 6c 2e 68 22 0a 23 65 6c 73 65 0a  te_tcl.h".#else.
0300: 23 20 20 69 6e 63 6c 75 64 65 20 22 74 63 6c 2e  #  include "tcl.
0310: 68 22 0a 23 65 6e 64 69 66 0a 23 69 6e 63 6c 75  h".#endif.#inclu
0320: 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 0a 23 69  de <stdlib.h>.#i
0330: 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68  nclude <string.h
0340: 3e 0a 0a 2f 2a 0a 2a 2a 20 4d 61 63 72 6f 20 74  >../*.** Macro t
0350: 6f 20 73 74 72 69 6e 67 69 66 79 20 74 68 65 20  o stringify the 
0360: 72 65 73 75 6c 74 73 20 6f 66 20 74 68 65 20 65  results of the e
0370: 76 61 6c 75 61 74 69 6f 6e 20 61 20 70 72 65 2d  valuation a pre-
0380: 70 72 6f 63 65 73 73 6f 72 0a 2a 2a 20 6d 61 63  processor.** mac
0390: 72 6f 2e 20 69 2e 65 2e 20 73 6f 20 74 68 61 74  ro. i.e. so that
03a0: 20 53 54 52 49 4e 47 56 41 4c 55 45 28 53 51 4c   STRINGVALUE(SQL
03b0: 49 54 45 5f 4e 4f 4d 45 4d 29 20 2d 3e 20 22 37  ITE_NOMEM) -> "7
03c0: 22 2e 0a 2a 2f 0a 23 64 65 66 69 6e 65 20 53 54  "..*/.#define ST
03d0: 52 49 4e 47 56 41 4c 55 45 32 28 78 29 20 23 78  RINGVALUE2(x) #x
03e0: 0a 23 64 65 66 69 6e 65 20 53 54 52 49 4e 47 56  .#define STRINGV
03f0: 41 4c 55 45 28 78 29 20 53 54 52 49 4e 47 56 41  ALUE(x) STRINGVA
0400: 4c 55 45 32 28 78 29 0a 0a 2f 2a 0a 2a 2a 20 54  LUE2(x)../*.** T
0410: 68 69 73 20 72 6f 75 74 69 6e 65 20 73 65 74 73  his routine sets
0420: 20 65 6e 74 72 69 65 73 20 69 6e 20 74 68 65 20   entries in the 
0430: 67 6c 6f 62 61 6c 20 3a 3a 73 71 6c 69 74 65 5f  global ::sqlite_
0440: 6f 70 74 69 6f 6e 73 28 29 20 61 72 72 61 79 20  options() array 
0450: 76 61 72 69 61 62 6c 65 0a 2a 2a 20 61 63 63 6f  variable.** acco
0460: 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d  rding to the com
0470: 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 66 69 67  pile-time config
0480: 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 64  uration of the d
0490: 61 74 61 62 61 73 65 2e 20 20 54 65 73 74 0a 2a  atabase.  Test.*
04a0: 2a 20 70 72 6f 63 65 64 75 72 65 73 20 75 73 65  * procedures use
04b0: 20 74 68 69 73 20 74 6f 20 64 65 74 65 72 6d 69   this to determi
04c0: 6e 65 20 77 68 65 6e 20 74 65 73 74 73 20 73 68  ne when tests sh
04d0: 6f 75 6c 64 20 62 65 20 6f 6d 69 74 74 65 64 2e  ould be omitted.
04e0: 0a 2a 2f 0a 73 74 61 74 69 63 20 76 6f 69 64 20  .*/.static void 
04f0: 73 65 74 5f 6f 70 74 69 6f 6e 73 28 54 63 6c 5f  set_options(Tcl_
0500: 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29 7b  Interp *interp){
0510: 0a 23 69 66 20 48 41 56 45 5f 4d 41 4c 4c 4f 43  .#if HAVE_MALLOC
0520: 5f 55 53 41 42 4c 45 5f 53 49 5a 45 0a 20 20 54  _USABLE_SIZE.  T
0530: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
0540: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
0550: 6e 73 22 2c 20 22 6d 61 6c 6c 6f 63 5f 75 73 61  ns", "malloc_usa
0560: 62 6c 65 5f 73 69 7a 65 22 2c 20 22 31 22 2c 0a  ble_size", "1",.
0570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 43                TC
0580: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0590: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
05a0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
05b0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d  ite_options", "m
05c0: 61 6c 6c 6f 63 5f 75 73 61 62 6c 65 5f 73 69 7a  alloc_usable_siz
05d0: 65 22 2c 20 22 30 22 2c 0a 20 20 20 20 20 20 20  e", "0",.       
05e0: 20 20 20 20 20 20 20 54 43 4c 5f 47 4c 4f 42 41         TCL_GLOBA
05f0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
0600: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 33  .#ifdef SQLITE_3
0610: 32 42 49 54 5f 52 4f 57 49 44 0a 20 20 54 63 6c  2BIT_ROWID.  Tcl
0620: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0630: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0640: 22 2c 20 22 72 6f 77 69 64 33 32 22 2c 20 22 31  ", "rowid32", "1
0650: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0660: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
0670: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0680: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0690: 22 2c 20 22 72 6f 77 69 64 33 32 22 2c 20 22 30  ", "rowid32", "0
06a0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
06b0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
06c0: 64 65 66 20 53 51 4c 49 54 45 5f 43 41 53 45 5f  def SQLITE_CASE_
06d0: 53 45 4e 53 49 54 49 56 45 5f 4c 49 4b 45 0a 20  SENSITIVE_LIKE. 
06e0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
06f0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
0700: 69 6f 6e 73 22 2c 22 63 61 73 65 73 65 6e 73 69  ions","casesensi
0710: 74 69 76 65 6c 69 6b 65 22 2c 22 31 22 2c 54 43  tivelike","1",TC
0720: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0730: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
0740: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0750: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 63 61  ite_options","ca
0760: 73 65 73 65 6e 73 69 74 69 76 65 6c 69 6b 65 22  sesensitivelike"
0770: 2c 22 30 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f  ,"0",TCL_GLOBAL_
0780: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
0790: 69 66 20 21 53 51 4c 49 54 45 5f 4f 53 5f 57 49  if !SQLITE_OS_WI
07a0: 4e 43 45 20 26 26 20 21 53 51 4c 49 54 45 5f 4f  NCE && !SQLITE_O
07b0: 53 5f 57 49 4e 52 54 0a 20 20 54 63 6c 5f 53 65  S_WINRT.  Tcl_Se
07c0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
07d0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
07e0: 22 63 75 72 64 69 72 22 2c 20 22 31 22 2c 20 54  "curdir", "1", T
07f0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
0800: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
0810: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
0820: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
0830: 63 75 72 64 69 72 22 2c 20 22 30 22 2c 20 54 43  curdir", "0", TC
0840: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0850: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
0860: 51 4c 49 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c  QLITE_WIN32_MALL
0870: 4f 43 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  OC.  Tcl_SetVar2
0880: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
0890: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 69 6e 33  _options", "win3
08a0: 32 6d 61 6c 6c 6f 63 22 2c 20 22 31 22 2c 20 54  2malloc", "1", T
08b0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
08c0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
08d0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
08e0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
08f0: 77 69 6e 33 32 6d 61 6c 6c 6f 63 22 2c 20 22 30  win32malloc", "0
0900: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0910: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
0920: 64 65 66 20 53 51 4c 49 54 45 5f 44 45 42 55 47  def SQLITE_DEBUG
0930: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
0940: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
0950: 70 74 69 6f 6e 73 22 2c 20 22 64 65 62 75 67 22  ptions", "debug"
0960: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
0970: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
0980: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
0990: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
09a0: 69 6f 6e 73 22 2c 20 22 64 65 62 75 67 22 2c 20  ions", "debug", 
09b0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
09c0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
09d0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 44 45 46  ifdef SQLITE_DEF
09e0: 41 55 4c 54 5f 43 4b 50 54 46 55 4c 4c 46 53 59  AULT_CKPTFULLFSY
09f0: 4e 43 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  NC.  Tcl_SetVar2
0a00: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
0a10: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 66 61  _options", "defa
0a20: 75 6c 74 5f 63 6b 70 74 66 75 6c 6c 66 73 79 6e  ult_ckptfullfsyn
0a30: 63 22 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20  c", .           
0a40: 20 20 20 53 51 4c 49 54 45 5f 44 45 46 41 55 4c     SQLITE_DEFAUL
0a50: 54 5f 43 4b 50 54 46 55 4c 4c 46 53 59 4e 43 20  T_CKPTFULLFSYNC 
0a60: 3f 20 22 31 22 20 3a 20 22 30 22 2c 20 54 43 4c  ? "1" : "0", TCL
0a70: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
0a80: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
0a90: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
0aa0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65  te_options", "de
0ab0: 66 61 75 6c 74 5f 63 6b 70 74 66 75 6c 6c 66 73  fault_ckptfullfs
0ac0: 79 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ync", "0", TCL_G
0ad0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
0ae0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
0af0: 54 45 5f 44 49 52 45 43 54 5f 4f 56 45 52 46 4c  TE_DIRECT_OVERFL
0b00: 4f 57 5f 52 45 41 44 0a 20 20 54 63 6c 5f 53 65  OW_READ.  Tcl_Se
0b10: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0b20: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0b30: 22 64 69 72 65 63 74 5f 72 65 61 64 22 2c 20 22  "direct_read", "
0b40: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
0b50: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
0b60: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0b70: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0b80: 73 22 2c 20 22 64 69 72 65 63 74 5f 72 65 61 64  s", "direct_read
0b90: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
0ba0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
0bb0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
0bc0: 44 49 53 41 42 4c 45 5f 44 49 52 53 59 4e 43 0a  DISABLE_DIRSYNC.
0bd0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0be0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0bf0: 74 69 6f 6e 73 22 2c 20 22 64 69 72 73 79 6e 63  tions", "dirsync
0c00: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
0c10: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
0c20: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0c30: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0c40: 74 69 6f 6e 73 22 2c 20 22 64 69 72 73 79 6e 63  tions", "dirsync
0c50: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
0c60: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
0c70: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
0c80: 44 49 53 41 42 4c 45 5f 4c 46 53 0a 20 20 54 63  DISABLE_LFS.  Tc
0c90: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0ca0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0cb0: 73 22 2c 20 22 6c 66 73 22 2c 20 22 30 22 2c 20  s", "lfs", "0", 
0cc0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0cd0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
0ce0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0cf0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0d00: 22 6c 66 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f  "lfs", "1", TCL_
0d10: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0d20: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
0d30: 49 54 45 5f 44 49 53 41 42 4c 45 5f 50 41 47 45  ITE_DISABLE_PAGE
0d40: 43 41 43 48 45 5f 4f 56 45 52 46 4c 4f 57 5f 53  CACHE_OVERFLOW_S
0d50: 54 41 54 53 0a 20 20 54 63 6c 5f 53 65 74 56 61  TATS.  Tcl_SetVa
0d60: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
0d70: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61  te_options", "pa
0d80: 67 65 63 61 63 68 65 5f 6f 76 65 72 66 6c 6f 77  gecache_overflow
0d90: 5f 73 74 61 74 73 22 2c 22 30 22 2c 54 43 4c 5f  _stats","0",TCL_
0da0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0db0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
0dc0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0dd0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61 67  e_options", "pag
0de0: 65 63 61 63 68 65 5f 6f 76 65 72 66 6c 6f 77 5f  ecache_overflow_
0df0: 73 74 61 74 73 22 2c 22 31 22 2c 54 43 4c 5f 47  stats","1",TCL_G
0e00: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
0e10: 64 69 66 0a 0a 23 69 66 20 53 51 4c 49 54 45 5f  dif..#if SQLITE_
0e20: 4d 41 58 5f 4d 4d 41 50 5f 53 49 5a 45 3e 30 0a  MAX_MMAP_SIZE>0.
0e30: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0e40: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0e50: 74 69 6f 6e 73 22 2c 20 22 6d 6d 61 70 22 2c 20  tions", "mmap", 
0e60: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
0e70: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
0e80: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
0e90: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
0ea0: 6e 73 22 2c 20 22 6d 6d 61 70 22 2c 20 22 30 22  ns", "mmap", "0"
0eb0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0ec0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 54 63  Y);.#endif..  Tc
0ed0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0ee0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0ef0: 73 22 2c 20 22 77 6f 72 6b 65 72 5f 74 68 72 65  s", "worker_thre
0f00: 61 64 73 22 2c 20 0a 20 20 20 20 20 20 53 54 52  ads", .      STR
0f10: 49 4e 47 56 41 4c 55 45 28 53 51 4c 49 54 45 5f  INGVALUE(SQLITE_
0f20: 4d 41 58 5f 57 4f 52 4b 45 52 5f 54 48 52 45 41  MAX_WORKER_THREA
0f30: 44 53 29 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  DS), TCL_GLOBAL_
0f40: 4f 4e 4c 59 0a 20 20 29 3b 0a 0a 23 69 66 20 31  ONLY.  );..#if 1
0f50: 20 2f 2a 20 64 65 66 20 53 51 4c 49 54 45 5f 4d   /* def SQLITE_M
0f60: 45 4d 44 45 42 55 47 20 2a 2f 0a 20 20 54 63 6c  EMDEBUG */.  Tcl
0f70: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0f80: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0f90: 22 2c 20 22 6d 65 6d 64 65 62 75 67 22 2c 20 22  ", "memdebug", "
0fa0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
0fb0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
0fc0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0fd0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0fe0: 73 22 2c 20 22 6d 65 6d 64 65 62 75 67 22 2c 20  s", "memdebug", 
0ff0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
1000: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1010: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41  ifdef SQLITE_ENA
1020: 42 4c 45 5f 38 5f 33 5f 4e 41 4d 45 53 0a 20 20  BLE_8_3_NAMES.  
1030: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
1040: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1050: 6f 6e 73 22 2c 20 22 38 5f 33 5f 6e 61 6d 65 73  ons", "8_3_names
1060: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
1070: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
1080: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1090: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
10a0: 74 69 6f 6e 73 22 2c 20 22 38 5f 33 5f 6e 61 6d  tions", "8_3_nam
10b0: 65 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  es", "0", TCL_GL
10c0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
10d0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
10e0: 45 5f 45 4e 41 42 4c 45 5f 43 55 52 53 4f 52 5f  E_ENABLE_CURSOR_
10f0: 48 49 4e 54 53 0a 20 20 54 63 6c 5f 53 65 74 56  HINTS.  Tcl_SetV
1100: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1110: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63  ite_options", "c
1120: 75 72 73 6f 72 68 69 6e 74 73 22 2c 20 22 31 22  ursorhints", "1"
1130: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1140: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1150: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1160: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1170: 2c 20 22 63 75 72 73 6f 72 68 69 6e 74 73 22 2c  , "cursorhints",
1180: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1190: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
11a0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
11b0: 41 42 4c 45 5f 48 49 44 44 45 4e 5f 43 4f 4c 55  ABLE_HIDDEN_COLU
11c0: 4d 4e 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  MNS.  Tcl_SetVar
11d0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
11e0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 68 69 64  e_options", "hid
11f0: 64 65 6e 63 6f 6c 75 6d 6e 73 22 2c 20 22 31 22  dencolumns", "1"
1200: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1210: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1220: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1230: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1240: 2c 20 22 68 69 64 64 65 6e 63 6f 6c 75 6d 6e 73  , "hiddencolumns
1250: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
1260: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
1270: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
1280: 45 4e 41 42 4c 45 5f 44 45 53 45 52 49 41 4c 49  ENABLE_DESERIALI
1290: 5a 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ZE.  Tcl_SetVar2
12a0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
12b0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 73 65  _options", "dese
12c0: 72 69 61 6c 69 7a 65 22 2c 20 22 31 22 2c 20 54  rialize", "1", T
12d0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
12e0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
12f0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1300: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1310: 64 65 73 65 72 69 61 6c 69 7a 65 22 2c 20 22 30  deserialize", "0
1320: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1330: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
1340: 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  def SQLITE_ENABL
1350: 45 5f 4d 45 4d 53 59 53 33 0a 20 20 54 63 6c 5f  E_MEMSYS3.  Tcl_
1360: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1370: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1380: 2c 20 22 6d 65 6d 33 22 2c 20 22 31 22 2c 20 54  , "mem3", "1", T
1390: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
13a0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
13b0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
13c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
13d0: 6d 65 6d 33 22 2c 20 22 30 22 2c 20 54 43 4c 5f  mem3", "0", TCL_
13e0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
13f0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1400: 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53 59  ITE_ENABLE_MEMSY
1410: 53 35 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  S5.  Tcl_SetVar2
1420: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1430: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 35  _options", "mem5
1440: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
1450: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
1460: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1470: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1480: 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 35 22 2c 20  tions", "mem5", 
1490: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
14a0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
14b0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41  ifdef SQLITE_ENA
14c0: 42 4c 45 5f 4f 46 46 53 45 54 5f 53 51 4c 5f 46  BLE_OFFSET_SQL_F
14d0: 55 4e 43 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  UNC.  Tcl_SetVar
14e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
14f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 66 66  e_options", "off
1500: 73 65 74 5f 73 71 6c 5f 66 75 6e 63 22 2c 22 31  set_sql_func","1
1510: 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  ",TCL_GLOBAL_ONL
1520: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1530: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1540: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1550: 2c 20 22 6f 66 66 73 65 74 5f 73 71 6c 5f 66 75  , "offset_sql_fu
1560: 6e 63 22 2c 22 30 22 2c 54 43 4c 5f 47 4c 4f 42  nc","0",TCL_GLOB
1570: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
1580: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
1590: 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41 54 45  ENABLE_PREUPDATE
15a0: 5f 48 4f 4f 4b 0a 20 20 54 63 6c 5f 53 65 74 56  _HOOK.  Tcl_SetV
15b0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
15c0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70  ite_options", "p
15d0: 72 65 75 70 64 61 74 65 22 2c 20 22 31 22 2c 20  reupdate", "1", 
15e0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
15f0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
1600: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1610: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1620: 22 70 72 65 75 70 64 61 74 65 22 2c 20 22 30 22  "preupdate", "0"
1630: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1640: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1650: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
1660: 5f 53 4e 41 50 53 48 4f 54 0a 20 20 54 63 6c 5f  _SNAPSHOT.  Tcl_
1670: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1680: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1690: 2c 20 22 73 6e 61 70 73 68 6f 74 22 2c 20 22 31  , "snapshot", "1
16a0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
16b0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
16c0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
16d0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
16e0: 22 2c 20 22 73 6e 61 70 73 68 6f 74 22 2c 20 22  ", "snapshot", "
16f0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1700: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1710: 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 55 54 45  fdef SQLITE_MUTE
1720: 58 5f 4f 4d 49 54 0a 20 20 54 63 6c 5f 53 65 74  X_OMIT.  Tcl_Set
1730: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1740: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1750: 6d 75 74 65 78 22 2c 20 22 30 22 2c 20 54 43 4c  mutex", "0", TCL
1760: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1770: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1780: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1790: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 75  te_options", "mu
17a0: 74 65 78 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  tex", "1", TCL_G
17b0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
17c0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
17d0: 54 45 5f 4d 55 54 45 58 5f 4e 4f 4f 50 0a 20 20  TE_MUTEX_NOOP.  
17e0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
17f0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1800: 6f 6e 73 22 2c 20 22 6d 75 74 65 78 5f 6e 6f 6f  ons", "mutex_noo
1810: 70 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  p", "1", TCL_GLO
1820: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
1830: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1840: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1850: 70 74 69 6f 6e 73 22 2c 20 22 6d 75 74 65 78 5f  ptions", "mutex_
1860: 6e 6f 6f 70 22 2c 20 22 30 22 2c 20 54 43 4c 5f  noop", "0", TCL_
1870: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1880: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1890: 49 54 45 5f 4f 4d 49 54 5f 41 4c 54 45 52 54 41  ITE_OMIT_ALTERTA
18a0: 42 4c 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  BLE.  Tcl_SetVar
18b0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
18c0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6c 74  e_options", "alt
18d0: 65 72 74 61 62 6c 65 22 2c 20 22 30 22 2c 20 54  ertable", "0", T
18e0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
18f0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1900: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1910: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1920: 61 6c 74 65 72 74 61 62 6c 65 22 2c 20 22 31 22  altertable", "1"
1930: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1940: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1950: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41  ef SQLITE_OMIT_A
1960: 4e 41 4c 59 5a 45 0a 20 20 54 63 6c 5f 53 65 74  NALYZE.  Tcl_Set
1970: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1980: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1990: 61 6e 61 6c 79 7a 65 22 2c 20 22 30 22 2c 20 54  analyze", "0", T
19a0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
19b0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
19c0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
19d0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
19e0: 61 6e 61 6c 79 7a 65 22 2c 20 22 31 22 2c 20 54  analyze", "1", T
19f0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1a00: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
1a10: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50  SQLITE_ENABLE_AP
1a20: 49 5f 41 52 4d 4f 52 0a 20 20 54 63 6c 5f 53 65  I_ARMOR.  Tcl_Se
1a30: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1a40: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1a50: 22 61 70 69 5f 61 72 6d 6f 72 22 2c 20 22 31 22  "api_armor", "1"
1a60: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1a70: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1a80: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1a90: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1aa0: 2c 20 22 61 70 69 5f 61 72 6d 6f 72 22 2c 20 22  , "api_armor", "
1ab0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1ac0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1ad0: 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  fdef SQLITE_ENAB
1ae0: 4c 45 5f 41 54 4f 4d 49 43 5f 57 52 49 54 45 0a  LE_ATOMIC_WRITE.
1af0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1b00: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1b10: 74 69 6f 6e 73 22 2c 20 22 61 74 6f 6d 69 63 77  tions", "atomicw
1b20: 72 69 74 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f  rite", "1", TCL_
1b30: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1b40: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
1b50: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1b60: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74 6f  e_options", "ato
1b70: 6d 69 63 77 72 69 74 65 22 2c 20 22 30 22 2c 20  micwrite", "0", 
1b80: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1b90: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
1ba0: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4a   SQLITE_ENABLE_J
1bb0: 53 4f 4e 31 0a 20 20 54 63 6c 5f 53 65 74 56 61  SON1.  Tcl_SetVa
1bc0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1bd0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6a 73  te_options", "js
1be0: 6f 6e 31 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  on1", "1", TCL_G
1bf0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1c00: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1c10: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1c20: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6a 73 6f 6e  _options", "json
1c30: 31 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  1", "0", TCL_GLO
1c40: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
1c50: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
1c60: 5f 48 41 53 5f 43 4f 44 45 43 0a 20 20 54 63 6c  _HAS_CODEC.  Tcl
1c70: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1c80: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1c90: 22 2c 20 22 68 61 73 5f 63 6f 64 65 63 22 2c 20  ", "has_codec", 
1ca0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1cb0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1cc0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1cd0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1ce0: 6e 73 22 2c 20 22 68 61 73 5f 63 6f 64 65 63 22  ns", "has_codec"
1cf0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
1d00: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1d10: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4c  .#ifdef SQLITE_L
1d20: 49 4b 45 5f 44 4f 45 53 4e 54 5f 4d 41 54 43 48  IKE_DOESNT_MATCH
1d30: 5f 42 4c 4f 42 53 0a 20 20 54 63 6c 5f 53 65 74  _BLOBS.  Tcl_Set
1d40: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1d50: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1d60: 6c 69 6b 65 5f 6d 61 74 63 68 5f 62 6c 6f 62 73  like_match_blobs
1d70: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
1d80: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
1d90: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1da0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1db0: 74 69 6f 6e 73 22 2c 20 22 6c 69 6b 65 5f 6d 61  tions", "like_ma
1dc0: 74 63 68 5f 62 6c 6f 62 73 22 2c 20 22 31 22 2c  tch_blobs", "1",
1dd0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1de0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1df0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 54  f SQLITE_OMIT_AT
1e00: 54 41 43 48 0a 20 20 54 63 6c 5f 53 65 74 56 61  TACH.  Tcl_SetVa
1e10: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1e20: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74  te_options", "at
1e30: 74 61 63 68 22 2c 20 22 30 22 2c 20 54 43 4c 5f  tach", "0", TCL_
1e40: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1e50: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
1e60: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1e70: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74 74  e_options", "att
1e80: 61 63 68 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ach", "1", TCL_G
1e90: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1ea0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1eb0: 54 45 5f 4f 4d 49 54 5f 41 55 54 48 4f 52 49 5a  TE_OMIT_AUTHORIZ
1ec0: 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56  ATION.  Tcl_SetV
1ed0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1ee0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
1ef0: 75 74 68 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  uth", "0", TCL_G
1f00: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1f10: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1f20: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1f30: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 68  _options", "auth
1f40: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
1f50: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
1f60: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
1f70: 4f 4d 49 54 5f 41 55 54 4f 49 4e 43 52 45 4d 45  OMIT_AUTOINCREME
1f80: 4e 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  NT.  Tcl_SetVar2
1f90: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1fa0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f  _options", "auto
1fb0: 69 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  inc", "0", TCL_G
1fc0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1fd0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1fe0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1ff0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f  _options", "auto
2000: 69 6e 63 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  inc", "1", TCL_G
2010: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2020: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
2030: 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 4d 41 54 49  TE_OMIT_AUTOMATI
2040: 43 5f 49 4e 44 45 58 0a 20 20 54 63 6c 5f 53 65  C_INDEX.  Tcl_Se
2050: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2060: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2070: 22 61 75 74 6f 69 6e 64 65 78 22 2c 20 22 30 22  "autoindex", "0"
2080: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2090: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
20a0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
20b0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
20c0: 2c 20 22 61 75 74 6f 69 6e 64 65 78 22 2c 20 22  , "autoindex", "
20d0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
20e0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
20f0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
2100: 5f 41 55 54 4f 52 45 53 45 54 0a 20 20 54 63 6c  _AUTORESET.  Tcl
2110: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2120: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2130: 22 2c 20 22 61 75 74 6f 72 65 73 65 74 22 2c 20  ", "autoreset", 
2140: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2150: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2160: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2170: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2180: 6e 73 22 2c 20 22 61 75 74 6f 72 65 73 65 74 22  ns", "autoreset"
2190: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
21a0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
21b0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
21c0: 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d 0a 20  MIT_AUTOVACUUM. 
21d0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
21e0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
21f0: 69 6f 6e 73 22 2c 20 22 61 75 74 6f 76 61 63 75  ions", "autovacu
2200: 75 6d 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  um", "0", TCL_GL
2210: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
2220: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
2230: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2240: 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f 76  options", "autov
2250: 61 63 75 75 6d 22 2c 20 22 31 22 2c 20 54 43 4c  acuum", "1", TCL
2260: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2270: 65 6e 64 69 66 20 2f 2a 20 53 51 4c 49 54 45 5f  endif /* SQLITE_
2280: 4f 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d 20  OMIT_AUTOVACUUM 
2290: 2a 2f 0a 23 69 66 20 21 64 65 66 69 6e 65 64 28  */.#if !defined(
22a0: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 41  SQLITE_DEFAULT_A
22b0: 55 54 4f 56 41 43 55 55 4d 29 0a 20 20 54 63 6c  UTOVACUUM).  Tcl
22c0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
22d0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
22e0: 2c 22 64 65 66 61 75 6c 74 5f 61 75 74 6f 76 61  ,"default_autova
22f0: 63 75 75 6d 22 2c 22 30 22 2c 54 43 4c 5f 47 4c  cuum","0",TCL_GL
2300: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
2310: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
2320: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2330: 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 66 61 75  options", "defau
2340: 6c 74 5f 61 75 74 6f 76 61 63 75 75 6d 22 2c 20  lt_autovacuum", 
2350: 0a 20 20 20 20 20 20 53 54 52 49 4e 47 56 41 4c  .      STRINGVAL
2360: 55 45 28 53 51 4c 49 54 45 5f 44 45 46 41 55 4c  UE(SQLITE_DEFAUL
2370: 54 5f 41 55 54 4f 56 41 43 55 55 4d 29 2c 20 54  T_AUTOVACUUM), T
2380: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2390: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
23a0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 42 45 54 57  SQLITE_OMIT_BETW
23b0: 45 45 4e 5f 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  EEN_OPTIMIZATION
23c0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
23d0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
23e0: 70 74 69 6f 6e 73 22 2c 20 22 62 65 74 77 65 65  ptions", "betwee
23f0: 6e 5f 6f 70 74 22 2c 20 22 30 22 2c 20 54 43 4c  n_opt", "0", TCL
2400: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2410: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2420: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2430: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62 65  te_options", "be
2440: 74 77 65 65 6e 5f 6f 70 74 22 2c 20 22 31 22 2c  tween_opt", "1",
2450: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2460: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
2470: 66 20 53 51 4c 49 54 45 5f 55 4e 54 45 53 54 41  f SQLITE_UNTESTA
2480: 42 4c 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  BLE.  Tcl_SetVar
2490: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
24a0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62 75 69  e_options", "bui
24b0: 6c 74 69 6e 5f 74 65 73 74 22 2c 20 22 30 22 2c  ltin_test", "0",
24c0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
24d0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
24e0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
24f0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2500: 20 22 62 75 69 6c 74 69 6e 5f 74 65 73 74 22 2c   "builtin_test",
2510: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2520: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2530: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
2540: 49 54 5f 42 4c 4f 42 5f 4c 49 54 45 52 41 4c 0a  IT_BLOB_LITERAL.
2550: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2560: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2570: 74 69 6f 6e 73 22 2c 20 22 62 6c 6f 62 6c 69 74  tions", "bloblit
2580: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
2590: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
25a0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
25b0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
25c0: 74 69 6f 6e 73 22 2c 20 22 62 6c 6f 62 6c 69 74  tions", "bloblit
25d0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
25e0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
25f0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2600: 4f 4d 49 54 5f 43 41 53 54 0a 20 20 54 63 6c 5f  OMIT_CAST.  Tcl_
2610: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2620: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2630: 2c 20 22 63 61 73 74 22 2c 20 22 30 22 2c 20 54  , "cast", "0", T
2640: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2650: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2660: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2670: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2680: 63 61 73 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  cast", "1", TCL_
2690: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
26a0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
26b0: 49 54 45 5f 4f 4d 49 54 5f 43 48 45 43 4b 0a 20  ITE_OMIT_CHECK. 
26c0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
26d0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
26e0: 69 6f 6e 73 22 2c 20 22 63 68 65 63 6b 22 2c 20  ions", "check", 
26f0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2700: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2710: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2720: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2730: 6e 73 22 2c 20 22 63 68 65 63 6b 22 2c 20 22 31  ns", "check", "1
2740: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2750: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
2760: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
2770: 43 54 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  CTE.  Tcl_SetVar
2780: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2790: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 74 65  e_options", "cte
27a0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
27b0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
27c0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
27d0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
27e0: 74 69 6f 6e 73 22 2c 20 22 63 74 65 22 2c 20 22  tions", "cte", "
27f0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2800: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
2810: 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  fdef SQLITE_ENAB
2820: 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41  LE_COLUMN_METADA
2830: 54 41 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  TA.  Tcl_SetVar2
2840: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2850: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6c 75  _options", "colu
2860: 6d 6e 6d 65 74 61 64 61 74 61 22 2c 20 22 31 22  mnmetadata", "1"
2870: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2880: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
2890: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
28a0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
28b0: 2c 20 22 63 6f 6c 75 6d 6e 6d 65 74 61 64 61 74  , "columnmetadat
28c0: 61 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  a", "0", TCL_GLO
28d0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
28e0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
28f0: 5f 45 4e 41 42 4c 45 5f 4f 56 45 52 53 49 5a 45  _ENABLE_OVERSIZE
2900: 5f 43 45 4c 4c 5f 43 48 45 43 4b 0a 20 20 54 63  _CELL_CHECK.  Tc
2910: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2920: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2930: 73 22 2c 20 22 6f 76 65 72 73 69 7a 65 5f 63 65  s", "oversize_ce
2940: 6c 6c 5f 63 68 65 63 6b 22 2c 20 22 31 22 2c 0a  ll_check", "1",.
2950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 43                TC
2960: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2970: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
2980: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2990: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f  ite_options", "o
29a0: 76 65 72 73 69 7a 65 5f 63 65 6c 6c 5f 63 68 65  versize_cell_che
29b0: 63 6b 22 2c 20 22 30 22 2c 0a 20 20 20 20 20 20  ck", "0",.      
29c0: 20 20 20 20 20 20 20 20 54 43 4c 5f 47 4c 4f 42          TCL_GLOB
29d0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
29e0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
29f0: 4f 4d 49 54 5f 43 4f 4d 50 49 4c 45 4f 50 54 49  OMIT_COMPILEOPTI
2a00: 4f 4e 5f 44 49 41 47 53 0a 20 20 54 63 6c 5f 53  ON_DIAGS.  Tcl_S
2a10: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2a20: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2a30: 20 22 63 6f 6d 70 69 6c 65 6f 70 74 69 6f 6e 5f   "compileoption_
2a40: 64 69 61 67 73 22 2c 20 22 30 22 2c 20 54 43 4c  diags", "0", TCL
2a50: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2a60: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2a70: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2a80: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f  te_options", "co
2a90: 6d 70 69 6c 65 6f 70 74 69 6f 6e 5f 64 69 61 67  mpileoption_diag
2aa0: 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  s", "1", TCL_GLO
2ab0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
2ac0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
2ad0: 5f 4f 4d 49 54 5f 43 4f 4d 50 4c 45 54 45 0a 20  _OMIT_COMPLETE. 
2ae0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2af0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2b00: 69 6f 6e 73 22 2c 20 22 63 6f 6d 70 6c 65 74 65  ions", "complete
2b10: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
2b20: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
2b30: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2b40: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2b50: 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70 6c 65 74  tions", "complet
2b60: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
2b70: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
2b80: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
2b90: 5f 4f 4d 49 54 5f 43 4f 4d 50 4f 55 4e 44 5f 53  _OMIT_COMPOUND_S
2ba0: 45 4c 45 43 54 0a 20 20 54 63 6c 5f 53 65 74 56  ELECT.  Tcl_SetV
2bb0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2bc0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63  ite_options", "c
2bd0: 6f 6d 70 6f 75 6e 64 22 2c 20 22 30 22 2c 20 54  ompound", "0", T
2be0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2bf0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2c00: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2c10: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2c20: 63 6f 6d 70 6f 75 6e 64 22 2c 20 22 31 22 2c 20  compound", "1", 
2c30: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2c40: 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 54 63 6c 5f  ;.#endif..  Tcl_
2c50: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2c60: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2c70: 2c 20 22 63 6f 6e 66 6c 69 63 74 22 2c 20 22 31  , "conflict", "1
2c80: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2c90: 4c 59 29 3b 0a 20 20 54 63 6c 5f 53 65 74 56 61  LY);.  Tcl_SetVa
2ca0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2cb0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 72  te_options", "cr
2cc0: 61 73 68 74 65 73 74 22 2c 20 22 31 22 2c 20 54  ashtest", "1", T
2cd0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2ce0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2cf0: 4f 4d 49 54 5f 44 41 54 45 54 49 4d 45 5f 46 55  OMIT_DATETIME_FU
2d00: 4e 43 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  NCS.  Tcl_SetVar
2d10: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2d20: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 61 74  e_options", "dat
2d30: 65 74 69 6d 65 22 2c 20 22 30 22 2c 20 54 43 4c  etime", "0", TCL
2d40: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2d50: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2d60: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2d70: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 61  te_options", "da
2d80: 74 65 74 69 6d 65 22 2c 20 22 31 22 2c 20 54 43  tetime", "1", TC
2d90: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2da0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
2db0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45 43 4c 54  QLITE_OMIT_DECLT
2dc0: 59 50 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  YPE.  Tcl_SetVar
2dd0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2de0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 63  e_options", "dec
2df0: 6c 74 79 70 65 22 2c 20 22 30 22 2c 20 54 43 4c  ltype", "0", TCL
2e00: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2e10: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2e20: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2e30: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65  te_options", "de
2e40: 63 6c 74 79 70 65 22 2c 20 22 31 22 2c 20 54 43  cltype", "1", TC
2e50: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2e60: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
2e70: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45 50 52 45  QLITE_OMIT_DEPRE
2e80: 43 41 54 45 44 0a 20 20 54 63 6c 5f 53 65 74 56  CATED.  Tcl_SetV
2e90: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2ea0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64  ite_options", "d
2eb0: 65 70 72 65 63 61 74 65 64 22 2c 20 22 30 22 2c  eprecated", "0",
2ec0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2ed0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2ee0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2ef0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2f00: 20 22 64 65 70 72 65 63 61 74 65 64 22 2c 20 22   "deprecated", "
2f10: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2f20: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
2f30: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
2f40: 5f 44 49 53 4b 49 4f 0a 20 20 54 63 6c 5f 53 65  _DISKIO.  Tcl_Se
2f50: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2f60: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2f70: 22 64 69 73 6b 69 6f 22 2c 20 22 30 22 2c 20 54  "diskio", "0", T
2f80: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2f90: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2fa0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2fb0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2fc0: 64 69 73 6b 69 6f 22 2c 20 22 31 22 2c 20 54 43  diskio", "1", TC
2fd0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2fe0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
2ff0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 45 58 50 4c 41  QLITE_OMIT_EXPLA
3000: 49 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  IN.  Tcl_SetVar2
3010: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3020: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 65 78 70 6c  _options", "expl
3030: 61 69 6e 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ain", "0", TCL_G
3040: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
3050: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
3060: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3070: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 65 78 70 6c  _options", "expl
3080: 61 69 6e 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ain", "1", TCL_G
3090: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
30a0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
30b0: 54 45 5f 4f 4d 49 54 5f 46 4c 4f 41 54 49 4e 47  TE_OMIT_FLOATING
30c0: 5f 50 4f 49 4e 54 0a 20 20 54 63 6c 5f 53 65 74  _POINT.  Tcl_Set
30d0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
30e0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
30f0: 66 6c 6f 61 74 69 6e 67 70 6f 69 6e 74 22 2c 20  floatingpoint", 
3100: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
3110: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
3120: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3130: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3140: 6e 73 22 2c 20 22 66 6c 6f 61 74 69 6e 67 70 6f  ns", "floatingpo
3150: 69 6e 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  int", "1", TCL_G
3160: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
3170: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
3180: 54 45 5f 4f 4d 49 54 5f 46 4f 52 45 49 47 4e 5f  TE_OMIT_FOREIGN_
3190: 4b 45 59 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  KEY.  Tcl_SetVar
31a0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
31b0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 6f 72  e_options", "for
31c0: 65 69 67 6e 6b 65 79 22 2c 20 22 30 22 2c 20 54  eignkey", "0", T
31d0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
31e0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
31f0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3200: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3210: 66 6f 72 65 69 67 6e 6b 65 79 22 2c 20 22 31 22  foreignkey", "1"
3220: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3230: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
3240: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
3250: 5f 46 54 53 31 0a 20 20 54 63 6c 5f 53 65 74 56  _FTS1.  Tcl_SetV
3260: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3270: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
3280: 74 73 31 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ts1", "1", TCL_G
3290: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
32a0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
32b0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
32c0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 31  _options", "fts1
32d0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
32e0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
32f0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
3300: 45 4e 41 42 4c 45 5f 46 54 53 32 0a 20 20 54 63  ENABLE_FTS2.  Tc
3310: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3320: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3330: 73 22 2c 20 22 66 74 73 32 22 2c 20 22 31 22 2c  s", "fts2", "1",
3340: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3350: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3360: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3370: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3380: 20 22 66 74 73 32 22 2c 20 22 30 22 2c 20 54 43   "fts2", "0", TC
3390: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
33a0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
33b0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
33c0: 33 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  3.  Tcl_SetVar2(
33d0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
33e0: 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 33 22  options", "fts3"
33f0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
3400: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
3410: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3420: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
3430: 69 6f 6e 73 22 2c 20 22 66 74 73 33 22 2c 20 22  ions", "fts3", "
3440: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
3450: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
3460: 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  fdef SQLITE_ENAB
3470: 4c 45 5f 46 54 53 35 0a 20 20 54 63 6c 5f 53 65  LE_FTS5.  Tcl_Se
3480: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3490: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
34a0: 22 66 74 73 35 22 2c 20 22 31 22 2c 20 54 43 4c  "fts5", "1", TCL
34b0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
34c0: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
34d0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
34e0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74  te_options", "ft
34f0: 73 35 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  s5", "0", TCL_GL
3500: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
3510: 69 66 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28  if..#if defined(
3520: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
3530: 53 33 29 20 26 26 20 21 64 65 66 69 6e 65 64 28  S3) && !defined(
3540: 53 51 4c 49 54 45 5f 44 49 53 41 42 4c 45 5f 46  SQLITE_DISABLE_F
3550: 54 53 33 5f 55 4e 49 43 4f 44 45 29 0a 20 20 54  TS3_UNICODE).  T
3560: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3570: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3580: 6e 73 22 2c 20 22 66 74 73 33 5f 75 6e 69 63 6f  ns", "fts3_unico
3590: 64 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  de", "1", TCL_GL
35a0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
35b0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
35c0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
35d0: 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 33 5f  options", "fts3_
35e0: 75 6e 69 63 6f 64 65 22 2c 20 22 30 22 2c 20 54  unicode", "0", T
35f0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3600: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
3610: 53 51 4c 49 54 45 5f 44 49 53 41 42 4c 45 5f 46  SQLITE_DISABLE_F
3620: 54 53 34 5f 44 45 46 45 52 52 45 44 0a 20 20 54  TS4_DEFERRED.  T
3630: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3640: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3650: 6e 73 22 2c 20 22 66 74 73 34 5f 64 65 66 65 72  ns", "fts4_defer
3660: 72 65 64 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  red", "0", TCL_G
3670: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
3680: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
3690: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
36a0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 34  _options", "fts4
36b0: 5f 64 65 66 65 72 72 65 64 22 2c 20 22 31 22 2c  _deferred", "1",
36c0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
36d0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
36e0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 47 45  f SQLITE_OMIT_GE
36f0: 54 5f 54 41 42 4c 45 0a 20 20 54 63 6c 5f 53 65  T_TABLE.  Tcl_Se
3700: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3710: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3720: 22 67 65 74 74 61 62 6c 65 22 2c 20 22 30 22 2c  "gettable", "0",
3730: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3740: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3750: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3760: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3770: 20 22 67 65 74 74 61 62 6c 65 22 2c 20 22 31 22   "gettable", "1"
3780: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3790: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
37a0: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
37b0: 5f 49 43 55 0a 20 20 54 63 6c 5f 53 65 74 56 61  _ICU.  Tcl_SetVa
37c0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
37d0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 63  te_options", "ic
37e0: 75 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  u", "1", TCL_GLO
37f0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
3800: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3810: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3820: 70 74 69 6f 6e 73 22 2c 20 22 69 63 75 22 2c 20  ptions", "icu", 
3830: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
3840: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
3850: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41  ifdef SQLITE_ENA
3860: 42 4c 45 5f 49 43 55 5f 43 4f 4c 4c 41 54 49 4f  BLE_ICU_COLLATIO
3870: 4e 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  NS.  Tcl_SetVar2
3880: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3890: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 63 75 5f  _options", "icu_
38a0: 63 6f 6c 6c 61 74 69 6f 6e 73 22 2c 20 22 31 22  collations", "1"
38b0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
38c0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
38d0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
38e0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
38f0: 2c 20 22 69 63 75 5f 63 6f 6c 6c 61 74 69 6f 6e  , "icu_collation
3900: 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  s", "0", TCL_GLO
3910: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
3920: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
3930: 5f 4f 4d 49 54 5f 49 4e 43 52 42 4c 4f 42 0a 20  _OMIT_INCRBLOB. 
3940: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3950: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
3960: 69 6f 6e 73 22 2c 20 22 69 6e 63 72 62 6c 6f 62  ions", "incrblob
3970: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3980: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
3990: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
39a0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
39b0: 74 69 6f 6e 73 22 2c 20 22 69 6e 63 72 62 6c 6f  tions", "incrblo
39c0: 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  b", "1", TCL_GLO
39d0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
39e0: 66 20 2f 2a 20 53 51 4c 49 54 45 5f 4f 4d 49 54  f /* SQLITE_OMIT
39f0: 5f 41 55 54 4f 56 41 43 55 55 4d 20 2a 2f 0a 0a  _AUTOVACUUM */..
3a00: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
3a10: 49 54 5f 49 4e 54 45 47 52 49 54 59 5f 43 48 45  IT_INTEGRITY_CHE
3a20: 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  CK.  Tcl_SetVar2
3a30: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3a40: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 74 65  _options", "inte
3a50: 67 72 69 74 79 63 6b 22 2c 20 22 30 22 2c 20 54  grityck", "0", T
3a60: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3a70: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3a80: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3a90: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3aa0: 69 6e 74 65 67 72 69 74 79 63 6b 22 2c 20 22 31  integrityck", "1
3ab0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3ac0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
3ad0: 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f   defined(SQLITE_
3ae0: 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52  DEFAULT_FILE_FOR
3af0: 4d 41 54 29 20 26 26 20 53 51 4c 49 54 45 5f 44  MAT) && SQLITE_D
3b00: 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d  EFAULT_FILE_FORM
3b10: 41 54 3d 3d 31 0a 20 20 54 63 6c 5f 53 65 74 56  AT==1.  Tcl_SetV
3b20: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3b30: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c  ite_options", "l
3b40: 65 67 61 63 79 66 6f 72 6d 61 74 22 2c 20 22 31  egacyformat", "1
3b50: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3b60: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3b70: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3b80: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3b90: 22 2c 20 22 6c 65 67 61 63 79 66 6f 72 6d 61 74  ", "legacyformat
3ba0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3bb0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3bc0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
3bd0: 4f 4d 49 54 5f 4c 49 4b 45 5f 4f 50 54 49 4d 49  OMIT_LIKE_OPTIMI
3be0: 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74  ZATION.  Tcl_Set
3bf0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3c00: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3c10: 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 30 22 2c 20  like_opt", "0", 
3c20: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3c30: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
3c40: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3c50: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3c60: 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 31 22 2c  "like_opt", "1",
3c70: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3c80: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
3c90: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  f SQLITE_OMIT_LO
3ca0: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 20 20 54  AD_EXTENSION.  T
3cb0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3cc0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3cd0: 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78 74 22 2c  ns", "load_ext",
3ce0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
3cf0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
3d00: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3d10: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3d20: 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78 74 22  ons", "load_ext"
3d30: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
3d40: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
3d50: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
3d60: 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45 0a 20 20  MIT_LOCALTIME.  
3d70: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3d80: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3d90: 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74 69 6d 65  ons", "localtime
3da0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3db0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
3dc0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3dd0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3de0: 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74 69  tions", "localti
3df0: 6d 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  me", "1", TCL_GL
3e00: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
3e10: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
3e20: 45 5f 4f 4d 49 54 5f 4c 4f 4f 4b 41 53 49 44 45  E_OMIT_LOOKASIDE
3e30: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3e40: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3e50: 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f 6b 61 73  ptions", "lookas
3e60: 69 64 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ide", "0", TCL_G
3e70: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
3e80: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
3e90: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3ea0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f 6b  _options", "look
3eb0: 61 73 69 64 65 22 2c 20 22 31 22 2c 20 54 43 4c  aside", "1", TCL
3ec0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3ed0: 65 6e 64 69 66 0a 0a 54 63 6c 5f 53 65 74 56 61  endif..Tcl_SetVa
3ee0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
3ef0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f  te_options", "lo
3f00: 6e 67 5f 64 6f 75 62 6c 65 22 2c 0a 20 20 20 20  ng_double",.    
3f10: 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 6f 66            sizeof
3f20: 28 4c 4f 4e 47 44 4f 55 42 4c 45 5f 54 59 50 45  (LONGDOUBLE_TYPE
3f30: 29 3e 73 69 7a 65 6f 66 28 64 6f 75 62 6c 65 29  )>sizeof(double)
3f40: 20 3f 20 22 31 22 20 3a 20 22 30 22 2c 0a 20 20   ? "1" : "0",.  
3f50: 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c 5f              TCL_
3f60: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a 23  GLOBAL_ONLY);..#
3f70: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
3f80: 54 5f 4d 45 4d 4f 52 59 44 42 0a 20 20 54 63 6c  T_MEMORYDB.  Tcl
3f90: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3fa0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3fb0: 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22 2c 20 22  ", "memorydb", "
3fc0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
3fd0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
3fe0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3ff0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
4000: 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22 2c 20  s", "memorydb", 
4010: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
4020: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
4030: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41  ifdef SQLITE_ENA
4040: 42 4c 45 5f 4d 45 4d 4f 52 59 5f 4d 41 4e 41 47  BLE_MEMORY_MANAG
4050: 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53 65 74 56  EMENT.  Tcl_SetV
4060: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
4070: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d  ite_options", "m
4080: 65 6d 6f 72 79 6d 61 6e 61 67 65 22 2c 20 22 31  emorymanage", "1
4090: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
40a0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
40b0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
40c0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
40d0: 22 2c 20 22 6d 65 6d 6f 72 79 6d 61 6e 61 67 65  ", "memorymanage
40e0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
40f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
4100: 0a 0a 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e  ..Tcl_SetVar2(in
4110: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4120: 74 69 6f 6e 73 22 2c 20 22 6d 65 72 67 65 73 6f  tions", "mergeso
4130: 72 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  rt", "1", TCL_GL
4140: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a 23 69 66  OBAL_ONLY);..#if
4150: 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  def SQLITE_ENABL
4160: 45 5f 4e 55 4c 4c 5f 54 52 49 4d 0a 20 20 54 63  E_NULL_TRIM.  Tc
4170: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
4180: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
4190: 73 22 2c 20 22 6e 75 6c 6c 5f 74 72 69 6d 22 2c  s", "null_trim",
41a0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
41b0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
41c0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
41d0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
41e0: 6f 6e 73 22 2c 20 22 6e 75 6c 6c 5f 74 72 69 6d  ons", "null_trim
41f0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
4200: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
4210: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
4220: 4f 4d 49 54 5f 4f 52 5f 4f 50 54 49 4d 49 5a 41  OMIT_OR_OPTIMIZA
4230: 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61  TION.  Tcl_SetVa
4240: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
4250: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 72  te_options", "or
4260: 5f 6f 70 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f  _opt", "0", TCL_
4270: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4280: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4290: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
42a0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 72 5f  e_options", "or_
42b0: 6f 70 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  opt", "1", TCL_G
42c0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
42d0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
42e0: 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55 0a 20 20  TE_ENABLE_RBU.  
42f0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
4300: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
4310: 6f 6e 73 22 2c 20 22 72 62 75 22 2c 20 22 31 22  ons", "rbu", "1"
4320: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4330: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
4340: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4350: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4360: 2c 20 22 72 62 75 22 2c 20 22 30 22 2c 20 54 43  , "rbu", "0", TC
4370: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
4380: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
4390: 51 4c 49 54 45 5f 4f 4d 49 54 5f 50 41 47 45 52  QLITE_OMIT_PAGER
43a0: 5f 50 52 41 47 4d 41 53 0a 20 20 54 63 6c 5f 53  _PRAGMAS.  Tcl_S
43b0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
43c0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
43d0: 20 22 70 61 67 65 72 5f 70 72 61 67 6d 61 73 22   "pager_pragmas"
43e0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
43f0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
4400: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4410: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4420: 69 6f 6e 73 22 2c 20 22 70 61 67 65 72 5f 70 72  ions", "pager_pr
4430: 61 67 6d 61 73 22 2c 20 22 31 22 2c 20 54 43 4c  agmas", "1", TCL
4440: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
4450: 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66 69 6e  endif..#if defin
4460: 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50  ed(SQLITE_OMIT_P
4470: 52 41 47 4d 41 29 20 7c 7c 20 64 65 66 69 6e 65  RAGMA) || define
4480: 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4c  d(SQLITE_OMIT_FL
4490: 41 47 5f 50 52 41 47 4d 41 53 29 0a 20 20 54 63  AG_PRAGMAS).  Tc
44a0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
44b0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
44c0: 73 22 2c 20 22 70 72 61 67 6d 61 22 2c 20 22 30  s", "pragma", "0
44d0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
44e0: 4c 59 29 3b 0a 20 20 54 63 6c 5f 53 65 74 56 61  LY);.  Tcl_SetVa
44f0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
4500: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e  te_options", "in
4510: 74 65 67 72 69 74 79 63 6b 22 2c 20 22 30 22 2c  tegrityck", "0",
4520: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4530: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
4540: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4550: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4560: 20 22 70 72 61 67 6d 61 22 2c 20 22 31 22 2c 20   "pragma", "1", 
4570: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
4580: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
4590: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50 52 4f   SQLITE_OMIT_PRO
45a0: 47 52 45 53 53 5f 43 41 4c 4c 42 41 43 4b 0a 20  GRESS_CALLBACK. 
45b0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
45c0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
45d0: 69 6f 6e 73 22 2c 20 22 70 72 6f 67 72 65 73 73  ions", "progress
45e0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
45f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
4600: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4610: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4620: 74 69 6f 6e 73 22 2c 20 22 70 72 6f 67 72 65 73  tions", "progres
4630: 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  s", "1", TCL_GLO
4640: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
4650: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
4660: 5f 4f 4d 49 54 5f 52 45 49 4e 44 45 58 0a 20 20  _OMIT_REINDEX.  
4670: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
4680: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
4690: 6f 6e 73 22 2c 20 22 72 65 69 6e 64 65 78 22 2c  ons", "reindex",
46a0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
46b0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
46c0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
46d0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
46e0: 6f 6e 73 22 2c 20 22 72 65 69 6e 64 65 78 22 2c  ons", "reindex",
46f0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
4700: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
4710: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
4720: 41 42 4c 45 5f 52 54 52 45 45 0a 20 20 54 63 6c  ABLE_RTREE.  Tcl
4730: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4740: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4750: 22 2c 20 22 72 74 72 65 65 22 2c 20 22 31 22 2c  ", "rtree", "1",
4760: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4770: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
4780: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4790: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
47a0: 20 22 72 74 72 65 65 22 2c 20 22 30 22 2c 20 54   "rtree", "0", T
47b0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
47c0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
47d0: 53 51 4c 49 54 45 5f 52 54 52 45 45 5f 49 4e 54  SQLITE_RTREE_INT
47e0: 5f 4f 4e 4c 59 0a 20 20 54 63 6c 5f 53 65 74 56  _ONLY.  Tcl_SetV
47f0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
4800: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72  ite_options", "r
4810: 74 72 65 65 5f 69 6e 74 5f 6f 6e 6c 79 22 2c 20  tree_int_only", 
4820: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
4830: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
4840: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
4850: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
4860: 6e 73 22 2c 20 22 72 74 72 65 65 5f 69 6e 74 5f  ns", "rtree_int_
4870: 6f 6e 6c 79 22 2c 20 22 30 22 2c 20 54 43 4c 5f  only", "0", TCL_
4880: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4890: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
48a0: 49 54 45 5f 4f 4d 49 54 5f 53 43 48 45 4d 41 5f  ITE_OMIT_SCHEMA_
48b0: 50 52 41 47 4d 41 53 0a 20 20 54 63 6c 5f 53 65  PRAGMAS.  Tcl_Se
48c0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
48d0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
48e0: 22 73 63 68 65 6d 61 5f 70 72 61 67 6d 61 73 22  "schema_pragmas"
48f0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
4900: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
4910: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4920: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4930: 69 6f 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f 70  ions", "schema_p
4940: 72 61 67 6d 61 73 22 2c 20 22 31 22 2c 20 54 43  ragmas", "1", TC
4950: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
4960: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
4970: 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 43 48 45 4d  QLITE_OMIT_SCHEM
4980: 41 5f 56 45 52 53 49 4f 4e 5f 50 52 41 47 4d 41  A_VERSION_PRAGMA
4990: 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  S.  Tcl_SetVar2(
49a0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
49b0: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68 65 6d  options", "schem
49c0: 61 5f 76 65 72 73 69 6f 6e 22 2c 20 22 30 22 2c  a_version", "0",
49d0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
49e0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
49f0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4a00: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4a10: 20 22 73 63 68 65 6d 61 5f 76 65 72 73 69 6f 6e   "schema_version
4a20: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
4a30: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
4a40: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
4a50: 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 0a 20  ENABLE_SESSION. 
4a60: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4a70: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4a80: 69 6f 6e 73 22 2c 20 22 73 65 73 73 69 6f 6e 22  ions", "session"
4a90: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
4aa0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
4ab0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4ac0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4ad0: 69 6f 6e 73 22 2c 20 22 73 65 73 73 69 6f 6e 22  ions", "session"
4ae0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
4af0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
4b00: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45  .#ifdef SQLITE_E
4b10: 4e 41 42 4c 45 5f 53 54 41 54 34 0a 20 20 54 63  NABLE_STAT4.  Tc
4b20: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
4b30: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
4b40: 73 22 2c 20 22 73 74 61 74 34 22 2c 20 22 31 22  s", "stat4", "1"
4b50: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4b60: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
4b70: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4b80: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4b90: 2c 20 22 73 74 61 74 34 22 2c 20 22 30 22 2c 20  , "stat4", "0", 
4ba0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
4bb0: 3b 0a 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66  ;.#endif.#if def
4bc0: 69 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e 41 42  ined(SQLITE_ENAB
4bd0: 4c 45 5f 53 54 41 54 33 29 20 26 26 20 21 64 65  LE_STAT3) && !de
4be0: 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e 41  fined(SQLITE_ENA
4bf0: 42 4c 45 5f 53 54 41 54 34 29 0a 20 20 54 63 6c  BLE_STAT4).  Tcl
4c00: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4c10: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4c20: 22 2c 20 22 73 74 61 74 33 22 2c 20 22 31 22 2c  ", "stat3", "1",
4c30: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4c40: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
4c50: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4c60: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4c70: 20 22 73 74 61 74 33 22 2c 20 22 30 22 2c 20 54   "stat3", "0", T
4c80: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
4c90: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66  .#endif..#if def
4ca0: 69 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e 41 42  ined(SQLITE_ENAB
4cb0: 4c 45 5f 53 54 4d 54 56 54 41 42 29 20 26 26 20  LE_STMTVTAB) && 
4cc0: 21 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f  !defined(SQLITE_
4cd0: 4f 4d 49 54 5f 56 49 52 54 55 41 4c 54 41 42 4c  OMIT_VIRTUALTABL
4ce0: 45 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  E).  Tcl_SetVar2
4cf0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
4d00: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74 6d 74  _options", "stmt
4d10: 76 74 61 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f  vtab", "1", TCL_
4d20: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4d30: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4d40: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
4d50: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74 6d  e_options", "stm
4d60: 74 76 74 61 62 22 2c 20 22 30 22 2c 20 54 43 4c  tvtab", "0", TCL
4d70: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
4d80: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
4d90: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d 54  LITE_ENABLE_STMT
4da0: 5f 53 43 41 4e 53 54 41 54 55 53 0a 20 20 54 63  _SCANSTATUS.  Tc
4db0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
4dc0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
4dd0: 73 22 2c 20 22 73 63 61 6e 73 74 61 74 75 73 22  s", "scanstatus"
4de0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
4df0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
4e00: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4e10: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4e20: 69 6f 6e 73 22 2c 20 22 73 63 61 6e 73 74 61 74  ions", "scanstat
4e30: 75 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  us", "0", TCL_GL
4e40: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
4e50: 69 66 0a 0a 23 69 66 20 21 64 65 66 69 6e 65 64  if..#if !defined
4e60: 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c  (SQLITE_ENABLE_L
4e70: 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 29 0a 23 20  OCKING_STYLE).# 
4e80: 20 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 41 50   if defined(__AP
4e90: 50 4c 45 5f 5f 29 0a 23 20 20 20 20 64 65 66 69  PLE__).#    defi
4ea0: 6e 65 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ne SQLITE_ENABLE
4eb0: 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 20 31  _LOCKING_STYLE 1
4ec0: 0a 23 20 20 65 6c 73 65 0a 23 20 20 20 20 64 65  .#  else.#    de
4ed0: 66 69 6e 65 20 53 51 4c 49 54 45 5f 45 4e 41 42  fine SQLITE_ENAB
4ee0: 4c 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45  LE_LOCKING_STYLE
4ef0: 20 30 0a 23 20 20 65 6e 64 69 66 0a 23 65 6e 64   0.#  endif.#end
4f00: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e  if.#if SQLITE_EN
4f10: 41 42 4c 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59  ABLE_LOCKING_STY
4f20: 4c 45 20 26 26 20 64 65 66 69 6e 65 64 28 5f 5f  LE && defined(__
4f30: 41 50 50 4c 45 5f 5f 29 0a 20 20 54 63 6c 5f 53  APPLE__).  Tcl_S
4f40: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 22 73  etVar2(interp,"s
4f50: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22  qlite_options","
4f60: 6c 6f 63 6b 5f 70 72 6f 78 79 5f 70 72 61 67 6d  lock_proxy_pragm
4f70: 61 73 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f 42  as","1",TCL_GLOB
4f80: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
4f90: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4fa0: 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70 74  terp,"sqlite_opt
4fb0: 69 6f 6e 73 22 2c 22 6c 6f 63 6b 5f 70 72 6f 78  ions","lock_prox
4fc0: 79 5f 70 72 61 67 6d 61 73 22 2c 22 30 22 2c 54  y_pragmas","0",T
4fd0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
4fe0: 0a 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66 69  .#endif.#if defi
4ff0: 6e 65 64 28 53 51 4c 49 54 45 5f 50 52 45 46 45  ned(SQLITE_PREFE
5000: 52 5f 50 52 4f 58 59 5f 4c 4f 43 4b 49 4e 47 29  R_PROXY_LOCKING)
5010: 20 26 26 20 64 65 66 69 6e 65 64 28 5f 5f 41 50   && defined(__AP
5020: 50 4c 45 5f 5f 29 0a 20 20 54 63 6c 5f 53 65 74  PLE__).  Tcl_Set
5030: 56 61 72 32 28 69 6e 74 65 72 70 2c 22 73 71 6c  Var2(interp,"sql
5040: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 70 72  ite_options","pr
5050: 65 66 65 72 5f 70 72 6f 78 79 5f 6c 6f 63 6b 69  efer_proxy_locki
5060: 6e 67 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f 42  ng","1",TCL_GLOB
5070: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
5080: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
5090: 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70 74  terp,"sqlite_opt
50a0: 69 6f 6e 73 22 2c 22 70 72 65 66 65 72 5f 70 72  ions","prefer_pr
50b0: 6f 78 79 5f 6c 6f 63 6b 69 6e 67 22 2c 22 30 22  oxy_locking","0"
50c0: 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59  ,TCL_GLOBAL_ONLY
50d0: 29 3b 0a 23 65 6e 64 69 66 0a 20 20 20 20 0a 20  );.#endif.    . 
50e0: 20 20 20 0a 23 69 66 64 65 66 20 53 51 4c 49 54     .#ifdef SQLIT
50f0: 45 5f 4f 4d 49 54 5f 53 48 41 52 45 44 5f 43 41  E_OMIT_SHARED_CA
5100: 43 48 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  CHE.  Tcl_SetVar
5110: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
5120: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 68 61  e_options", "sha
5130: 72 65 64 5f 63 61 63 68 65 22 2c 20 22 30 22 2c  red_cache", "0",
5140: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
5150: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
5160: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
5170: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
5180: 20 22 73 68 61 72 65 64 5f 63 61 63 68 65 22 2c   "shared_cache",
5190: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
51a0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
51b0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
51c0: 49 54 5f 53 55 42 51 55 45 52 59 0a 20 20 54 63  IT_SUBQUERY.  Tc
51d0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
51e0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
51f0: 73 22 2c 20 22 73 75 62 71 75 65 72 79 22 2c 20  s", "subquery", 
5200: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
5210: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
5220: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
5230: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
5240: 6e 73 22 2c 20 22 73 75 62 71 75 65 72 79 22 2c  ns", "subquery",
5250: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
5260: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
5270: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
5280: 49 54 5f 54 43 4c 5f 56 41 52 49 41 42 4c 45 0a  IT_TCL_VARIABLE.
5290: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
52a0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
52b0: 74 69 6f 6e 73 22 2c 20 22 74 63 6c 76 61 72 22  tions", "tclvar"
52c0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
52d0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
52e0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
52f0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
5300: 69 6f 6e 73 22 2c 20 22 74 63 6c 76 61 72 22 2c  ions", "tclvar",
5310: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
5320: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
5330: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
5340: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
5350: 74 69 6f 6e 73 22 2c 20 22 74 68 72 65 61 64 73  tions", "threads
5360: 61 66 65 22 2c 20 0a 20 20 20 20 20 20 53 51 4c  afe", .      SQL
5370: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 20 3f  ITE_THREADSAFE ?
5380: 20 22 31 22 20 3a 20 22 30 22 2c 20 54 43 4c 5f   "1" : "0", TCL_
5390: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 20 20  GLOBAL_ONLY);.  
53a0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
53b0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
53c0: 6f 6e 73 22 2c 20 22 74 68 72 65 61 64 73 61 66  ons", "threadsaf
53d0: 65 31 22 2c 20 0a 20 20 20 20 20 20 53 51 4c 49  e1", .      SQLI
53e0: 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d 3d 31  TE_THREADSAFE==1
53f0: 20 3f 20 22 31 22 20 3a 20 22 30 22 2c 20 54 43   ? "1" : "0", TC
5400: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
5410: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
5420: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
5430: 74 69 6f 6e 73 22 2c 20 22 74 68 72 65 61 64 73  tions", "threads
5440: 61 66 65 32 22 2c 20 0a 20 20 20 20 20 20 53 51  afe2", .      SQ
5450: 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 3d  LITE_THREADSAFE=
5460: 3d 32 20 3f 20 22 31 22 20 3a 20 22 30 22 2c 20  =2 ? "1" : "0", 
5470: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
5480: 3b 0a 20 20 61 73 73 65 72 74 28 20 73 71 6c 69  ;.  assert( sqli
5490: 74 65 33 5f 74 68 72 65 61 64 73 61 66 65 28 29  te3_threadsafe()
54a0: 3d 3d 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  ==SQLITE_THREADS
54b0: 41 46 45 20 29 3b 0a 0a 23 69 66 64 65 66 20 53  AFE );..#ifdef S
54c0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 45 4d 50 44  QLITE_OMIT_TEMPD
54d0: 42 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  B.  Tcl_SetVar2(
54e0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
54f0: 6f 70 74 69 6f 6e 73 22 2c 20 22 74 65 6d 70 64  options", "tempd
5500: 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  b", "0", TCL_GLO
5510: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
5520: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
5530: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
5540: 70 74 69 6f 6e 73 22 2c 20 22 74 65 6d 70 64 62  ptions", "tempdb
5550: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
5560: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
5570: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
5580: 4f 4d 49 54 5f 54 52 41 43 45 0a 20 20 54 63 6c  OMIT_TRACE.  Tcl
5590: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
55a0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
55b0: 22 2c 20 22 74 72 61 63 65 22 2c 20 22 30 22 2c  ", "trace", "0",
55c0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
55d0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
55e0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
55f0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
5600: 20 22 74 72 61 63 65 22 2c 20 22 31 22 2c 20 54   "trace", "1", T
5610: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
5620: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
5630: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 52 49 47  SQLITE_OMIT_TRIG
5640: 47 45 52 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  GER.  Tcl_SetVar
5650: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
5660: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 69  e_options", "tri
5670: 67 67 65 72 22 2c 20 22 30 22 2c 20 54 43 4c 5f  gger", "0", TCL_
5680: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
5690: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
56a0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
56b0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 69  e_options", "tri
56c0: 67 67 65 72 22 2c 20 22 31 22 2c 20 54 43 4c 5f  gger", "1", TCL_
56d0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
56e0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
56f0: 49 54 45 5f 4f 4d 49 54 5f 54 52 55 4e 43 41 54  ITE_OMIT_TRUNCAT
5700: 45 5f 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 0a 20  E_OPTIMIZATION. 
5710: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
5720: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
5730: 69 6f 6e 73 22 2c 20 22 74 72 75 6e 63 61 74 65  ions", "truncate
5740: 5f 6f 70 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f  _opt", "0", TCL_
5750: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
5760: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
5770: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
5780: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 75  e_options", "tru
5790: 6e 63 61 74 65 5f 6f 70 74 22 2c 20 22 31 22 2c  ncate_opt", "1",
57a0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
57b0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
57c0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 55 54  f SQLITE_OMIT_UT
57d0: 46 31 36 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  F16.  Tcl_SetVar
57e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
57f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 75 74 66  e_options", "utf
5800: 31 36 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  16", "0", TCL_GL
5810: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
5820: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
5830: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
5840: 6f 70 74 69 6f 6e 73 22 2c 20 22 75 74 66 31 36  options", "utf16
5850: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
5860: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
5870: 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53 51  ..#if defined(SQ
5880: 4c 49 54 45 5f 4f 4d 49 54 5f 56 41 43 55 55 4d  LITE_OMIT_VACUUM
5890: 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 53 51 4c  ) || defined(SQL
58a0: 49 54 45 5f 4f 4d 49 54 5f 41 54 54 41 43 48 29  ITE_OMIT_ATTACH)
58b0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
58c0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
58d0: 70 74 69 6f 6e 73 22 2c 20 22 76 61 63 75 75 6d  ptions", "vacuum
58e0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
58f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
5900: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
5910: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
5920: 74 69 6f 6e 73 22 2c 20 22 76 61 63 75 75 6d 22  tions", "vacuum"
5930: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
5940: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
5950: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
5960: 4d 49 54 5f 56 49 45 57 0a 20 20 54 63 6c 5f 53  MIT_VIEW.  Tcl_S
5970: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
5980: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
5990: 20 22 76 69 65 77 22 2c 20 22 30 22 2c 20 54 43   "view", "0", TC
59a0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
59b0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
59c0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
59d0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76  ite_options", "v
59e0: 69 65 77 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  iew", "1", TCL_G
59f0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
5a00: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
5a10: 54 45 5f 4f 4d 49 54 5f 56 49 52 54 55 41 4c 54  TE_OMIT_VIRTUALT
5a20: 41 42 4c 45 0a 20 20 54 63 6c 5f 53 65 74 56 61  ABLE.  Tcl_SetVa
5a30: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
5a40: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76 74  te_options", "vt
5a50: 61 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ab", "0", TCL_GL
5a60: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
5a70: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
5a80: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
5a90: 6f 70 74 69 6f 6e 73 22 2c 20 22 76 74 61 62 22  options", "vtab"
5aa0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
5ab0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
5ac0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
5ad0: 4d 49 54 5f 57 41 4c 0a 20 20 54 63 6c 5f 53 65  MIT_WAL.  Tcl_Se
5ae0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
5af0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
5b00: 22 77 61 6c 22 2c 20 22 30 22 2c 20 54 43 4c 5f  "wal", "0", TCL_
5b10: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
5b20: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
5b30: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
5b40: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 61 6c  e_options", "wal
5b50: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
5b60: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
5b70: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
5b80: 4f 4d 49 54 5f 57 53 44 0a 20 20 54 63 6c 5f 53  OMIT_WSD.  Tcl_S
5b90: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
5ba0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
5bb0: 20 22 77 73 64 22 2c 20 22 30 22 2c 20 54 43 4c   "wsd", "0", TCL
5bc0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
5bd0: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
5be0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
5bf0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 73  te_options", "ws
5c00: 64 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  d", "1", TCL_GLO
5c10: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
5c20: 66 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53  f..#if defined(S
5c30: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 55 50 44  QLITE_ENABLE_UPD
5c40: 41 54 45 5f 44 45 4c 45 54 45 5f 4c 49 4d 49 54  ATE_DELETE_LIMIT
5c50: 29 20 26 26 20 21 64 65 66 69 6e 65 64 28 53 51  ) && !defined(SQ
5c60: 4c 49 54 45 5f 4f 4d 49 54 5f 53 55 42 51 55 45  LITE_OMIT_SUBQUE
5c70: 52 59 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  RY).  Tcl_SetVar
5c80: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
5c90: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 75 70 64  e_options", "upd
5ca0: 61 74 65 5f 64 65 6c 65 74 65 5f 6c 69 6d 69 74  ate_delete_limit
5cb0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
5cc0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
5cd0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
5ce0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
5cf0: 74 69 6f 6e 73 22 2c 20 22 75 70 64 61 74 65 5f  tions", "update_
5d00: 64 65 6c 65 74 65 5f 6c 69 6d 69 74 22 2c 20 22  delete_limit", "
5d10: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
5d20: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
5d30: 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45  f defined(SQLITE
5d40: 5f 45 4e 41 42 4c 45 5f 55 4e 4c 4f 43 4b 5f 4e  _ENABLE_UNLOCK_N
5d50: 4f 54 49 46 59 29 0a 20 20 54 63 6c 5f 53 65 74  OTIFY).  Tcl_Set
5d60: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
5d70: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
5d80: 75 6e 6c 6f 63 6b 5f 6e 6f 74 69 66 79 22 2c 20  unlock_notify", 
5d90: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
5da0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
5db0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
5dc0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
5dd0: 6e 73 22 2c 20 22 75 6e 6c 6f 63 6b 5f 6e 6f 74  ns", "unlock_not
5de0: 69 66 79 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ify", "0", TCL_G
5df0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
5e00: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
5e10: 54 45 5f 46 41 53 54 5f 53 45 43 55 52 45 5f 44  TE_FAST_SECURE_D
5e20: 45 4c 45 54 45 0a 20 20 54 63 6c 5f 53 65 74 56  ELETE.  Tcl_SetV
5e30: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
5e40: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
5e50: 61 73 74 5f 73 65 63 75 72 65 5f 64 65 6c 65 74  ast_secure_delet
5e60: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
5e70: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
5e80: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
5e90: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
5ea0: 70 74 69 6f 6e 73 22 2c 20 22 66 61 73 74 5f 73  ptions", "fast_s
5eb0: 65 63 75 72 65 5f 64 65 6c 65 74 65 22 2c 20 22  ecure_delete", "
5ec0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
5ed0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
5ee0: 66 64 65 66 20 53 51 4c 49 54 45 5f 53 45 43 55  fdef SQLITE_SECU
5ef0: 52 45 5f 44 45 4c 45 54 45 0a 20 20 54 63 6c 5f  RE_DELETE.  Tcl_
5f00: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
5f10: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
5f20: 2c 20 22 73 65 63 75 72 65 5f 64 65 6c 65 74 65  , "secure_delete
5f30: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
5f40: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
5f50: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
5f60: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
5f70: 74 69 6f 6e 73 22 2c 20 22 73 65 63 75 72 65 5f  tions", "secure_
5f80: 64 65 6c 65 74 65 22 2c 20 22 30 22 2c 20 54 43  delete", "0", TC
5f90: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
5fa0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
5fb0: 51 4c 49 54 45 5f 55 53 45 52 5f 41 55 54 48 45  QLITE_USER_AUTHE
5fc0: 4e 54 49 43 41 54 49 4f 4e 0a 20 20 54 63 6c 5f  NTICATION.  Tcl_
5fd0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
5fe0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
5ff0: 2c 20 22 75 73 65 72 61 75 74 68 22 2c 20 22 31  , "userauth", "1
6000: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
6010: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
6020: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
6030: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
6040: 22 2c 20 22 75 73 65 72 61 75 74 68 22 2c 20 22  ", "userauth", "
6050: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
6060: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
6070: 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 55 4c 54  fdef SQLITE_MULT
6080: 49 50 4c 45 58 5f 45 58 54 5f 4f 56 57 52 0a 20  IPLEX_EXT_OVWR. 
6090: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
60a0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
60b0: 69 6f 6e 73 22 2c 20 22 6d 75 6c 74 69 70 6c 65  ions", "multiple
60c0: 78 5f 65 78 74 5f 6f 76 65 72 77 72 69 74 65 22  x_ext_overwrite"
60d0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
60e0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
60f0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
6100: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
6110: 69 6f 6e 73 22 2c 20 22 6d 75 6c 74 69 70 6c 65  ions", "multiple
6120: 78 5f 65 78 74 5f 6f 76 65 72 77 72 69 74 65 22  x_ext_overwrite"
6130: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
6140: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
6150: 0a 23 69 66 64 65 66 20 59 59 54 52 41 43 4b 4d  .#ifdef YYTRACKM
6160: 41 58 53 54 41 43 4b 44 45 50 54 48 0a 20 20 54  AXSTACKDEPTH.  T
6170: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
6180: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
6190: 6e 73 22 2c 20 22 79 79 74 72 61 63 6b 6d 61 78  ns", "yytrackmax
61a0: 73 74 61 63 6b 64 65 70 74 68 22 2c 20 22 31 22  stackdepth", "1"
61b0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
61c0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
61d0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
61e0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
61f0: 2c 20 22 79 79 74 72 61 63 6b 6d 61 78 73 74 61  , "yytrackmaxsta
6200: 63 6b 64 65 70 74 68 22 2c 20 22 30 22 2c 20 54  ckdepth", "0", T
6210: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
6220: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
6230: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 51  SQLITE_ENABLE_SQ
6240: 4c 4c 4f 47 0a 20 20 54 63 6c 5f 53 65 74 56 61  LLOG.  Tcl_SetVa
6250: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
6260: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 71  te_options", "sq
6270: 6c 6c 6f 67 22 2c 20 22 31 22 2c 20 54 43 4c 5f  llog", "1", TCL_
6280: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
6290: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
62a0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
62b0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 71 6c  e_options", "sql
62c0: 6c 6f 67 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  log", "0", TCL_G
62d0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
62e0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
62f0: 54 45 5f 45 4e 41 42 4c 45 5f 55 52 49 5f 30 30  TE_ENABLE_URI_00
6300: 5f 45 52 52 4f 52 0a 20 20 54 63 6c 5f 53 65 74  _ERROR.  Tcl_Set
6310: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
6320: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
6330: 75 72 69 5f 30 30 5f 65 72 72 6f 72 22 2c 20 22  uri_00_error", "
6340: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
6350: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
6360: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
6370: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
6380: 73 22 2c 20 22 75 72 69 5f 30 30 5f 65 72 72 6f  s", "uri_00_erro
6390: 72 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  r", "0", TCL_GLO
63a0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
63b0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
63c0: 5f 4f 4d 49 54 5f 57 49 4e 44 4f 57 46 55 4e 43  _OMIT_WINDOWFUNC
63d0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
63e0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
63f0: 70 74 69 6f 6e 73 22 2c 20 22 77 69 6e 64 6f 77  ptions", "window
6400: 66 75 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f  func", "0", TCL_
6410: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
6420: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
6430: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
6440: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 69 6e  e_options", "win
6450: 64 6f 77 66 75 6e 63 22 2c 20 22 31 22 2c 20 54  dowfunc", "1", T
6460: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
6470: 0a 23 65 6e 64 69 66 0a 0a 23 64 65 66 69 6e 65  .#endif..#define
6480: 20 4c 49 4e 4b 56 41 52 28 78 29 20 7b 20 5c 0a   LINKVAR(x) { \.
6490: 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74      static const
64a0: 20 69 6e 74 20 63 76 5f 20 23 23 20 78 20 3d 20   int cv_ ## x = 
64b0: 53 51 4c 49 54 45 5f 20 23 23 20 78 3b 20 5c 0a  SQLITE_ ## x; \.
64c0: 20 20 20 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28      Tcl_LinkVar(
64d0: 69 6e 74 65 72 70 2c 20 22 53 51 4c 49 54 45 5f  interp, "SQLITE_
64e0: 22 20 23 78 2c 20 28 63 68 61 72 20 2a 29 26 28  " #x, (char *)&(
64f0: 63 76 5f 20 23 23 20 78 29 2c 20 5c 0a 20 20 20  cv_ ## x), \.   
6500: 20 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c               TCL
6510: 5f 4c 49 4e 4b 5f 49 4e 54 20 7c 20 54 43 4c 5f  _LINK_INT | TCL_
6520: 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c 59 29 3b  LINK_READ_ONLY);
6530: 20 7d 0a 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d   }..  LINKVAR( M
6540: 41 58 5f 4c 45 4e 47 54 48 20 29 3b 0a 20 20 4c  AX_LENGTH );.  L
6550: 49 4e 4b 56 41 52 28 20 4d 41 58 5f 43 4f 4c 55  INKVAR( MAX_COLU
6560: 4d 4e 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28  MN );.  LINKVAR(
6570: 20 4d 41 58 5f 53 51 4c 5f 4c 45 4e 47 54 48 20   MAX_SQL_LENGTH 
6580: 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41  );.  LINKVAR( MA
6590: 58 5f 45 58 50 52 5f 44 45 50 54 48 20 29 3b 0a  X_EXPR_DEPTH );.
65a0: 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 43    LINKVAR( MAX_C
65b0: 4f 4d 50 4f 55 4e 44 5f 53 45 4c 45 43 54 20 29  OMPOUND_SELECT )
65c0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
65d0: 5f 56 44 42 45 5f 4f 50 20 29 3b 0a 20 20 4c 49  _VDBE_OP );.  LI
65e0: 4e 4b 56 41 52 28 20 4d 41 58 5f 46 55 4e 43 54  NKVAR( MAX_FUNCT
65f0: 49 4f 4e 5f 41 52 47 20 29 3b 0a 20 20 4c 49 4e  ION_ARG );.  LIN
6600: 4b 56 41 52 28 20 4d 41 58 5f 56 41 52 49 41 42  KVAR( MAX_VARIAB
6610: 4c 45 5f 4e 55 4d 42 45 52 20 29 3b 0a 20 20 4c  LE_NUMBER );.  L
6620: 49 4e 4b 56 41 52 28 20 4d 41 58 5f 50 41 47 45  INKVAR( MAX_PAGE
6630: 5f 53 49 5a 45 20 29 3b 0a 20 20 4c 49 4e 4b 56  _SIZE );.  LINKV
6640: 41 52 28 20 4d 41 58 5f 50 41 47 45 5f 43 4f 55  AR( MAX_PAGE_COU
6650: 4e 54 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28  NT );.  LINKVAR(
6660: 20 4d 41 58 5f 4c 49 4b 45 5f 50 41 54 54 45 52   MAX_LIKE_PATTER
6670: 4e 5f 4c 45 4e 47 54 48 20 29 3b 0a 20 20 4c 49  N_LENGTH );.  LI
6680: 4e 4b 56 41 52 28 20 4d 41 58 5f 54 52 49 47 47  NKVAR( MAX_TRIGG
6690: 45 52 5f 44 45 50 54 48 20 29 3b 0a 20 20 4c 49  ER_DEPTH );.  LI
66a0: 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f 43  NKVAR( DEFAULT_C
66b0: 41 43 48 45 5f 53 49 5a 45 20 29 3b 0a 20 20 4c  ACHE_SIZE );.  L
66c0: 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f  INKVAR( DEFAULT_
66d0: 50 41 47 45 5f 53 49 5a 45 20 29 3b 0a 20 20 4c  PAGE_SIZE );.  L
66e0: 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f  INKVAR( DEFAULT_
66f0: 46 49 4c 45 5f 46 4f 52 4d 41 54 20 29 3b 0a 20  FILE_FORMAT );. 
6700: 20 4c 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c   LINKVAR( DEFAUL
6710: 54 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 20 29 3b  T_SYNCHRONOUS );
6720: 0a 20 20 4c 49 4e 4b 56 41 52 28 20 44 45 46 41  .  LINKVAR( DEFA
6730: 55 4c 54 5f 57 41 4c 5f 53 59 4e 43 48 52 4f 4e  ULT_WAL_SYNCHRON
6740: 4f 55 53 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  OUS );.  LINKVAR
6750: 28 20 4d 41 58 5f 41 54 54 41 43 48 45 44 20 29  ( MAX_ATTACHED )
6760: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
6770: 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49  _DEFAULT_PAGE_SI
6780: 5a 45 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28  ZE );.  LINKVAR(
6790: 20 4d 41 58 5f 57 4f 52 4b 45 52 5f 54 48 52 45   MAX_WORKER_THRE
67a0: 41 44 53 20 29 3b 0a 0a 20 20 7b 0a 20 20 20 20  ADS );..  {.    
67b0: 73 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74  static const int
67c0: 20 63 76 5f 54 45 4d 50 5f 53 54 4f 52 45 20 3d   cv_TEMP_STORE =
67d0: 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54 4f   SQLITE_TEMP_STO
67e0: 52 45 3b 0a 20 20 20 20 54 63 6c 5f 4c 69 6e 6b  RE;.    Tcl_Link
67f0: 56 61 72 28 69 6e 74 65 72 70 2c 20 22 54 45 4d  Var(interp, "TEM
6800: 50 5f 53 54 4f 52 45 22 2c 20 28 63 68 61 72 20  P_STORE", (char 
6810: 2a 29 26 28 63 76 5f 54 45 4d 50 5f 53 54 4f 52  *)&(cv_TEMP_STOR
6820: 45 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  E),.            
6830: 20 20 20 20 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54      TCL_LINK_INT
6840: 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44   | TCL_LINK_READ
6850: 5f 4f 4e 4c 59 29 3b 0a 20 20 7d 0a 0a 23 69 66  _ONLY);.  }..#if
6860: 64 65 66 20 5f 4d 53 43 5f 56 45 52 0a 20 20 7b  def _MSC_VER.  {
6870: 0a 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73  .    static cons
6880: 74 20 69 6e 74 20 63 76 5f 5f 4d 53 43 5f 56 45  t int cv__MSC_VE
6890: 52 20 3d 20 31 3b 0a 20 20 20 20 54 63 6c 5f 4c  R = 1;.    Tcl_L
68a0: 69 6e 6b 56 61 72 28 69 6e 74 65 72 70 2c 20 22  inkVar(interp, "
68b0: 5f 4d 53 43 5f 56 45 52 22 2c 20 28 63 68 61 72  _MSC_VER", (char
68c0: 20 2a 29 26 28 63 76 5f 5f 4d 53 43 5f 56 45 52   *)&(cv__MSC_VER
68d0: 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ),.             
68e0: 20 20 20 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 20     TCL_LINK_INT 
68f0: 7c 20 54 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f  | TCL_LINK_READ_
6900: 4f 4e 4c 59 29 3b 0a 20 20 7d 0a 23 65 6e 64 69  ONLY);.  }.#endi
6910: 66 0a 23 69 66 64 65 66 20 5f 5f 47 4e 55 43 5f  f.#ifdef __GNUC_
6920: 5f 0a 20 20 7b 0a 20 20 20 20 73 74 61 74 69 63  _.  {.    static
6930: 20 63 6f 6e 73 74 20 69 6e 74 20 63 76 5f 5f 5f   const int cv___
6940: 47 4e 55 43 5f 5f 20 3d 20 31 3b 0a 20 20 20 20  GNUC__ = 1;.    
6950: 54 63 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74 65  Tcl_LinkVar(inte
6960: 72 70 2c 20 22 5f 5f 47 4e 55 43 5f 5f 22 2c 20  rp, "__GNUC__", 
6970: 28 63 68 61 72 20 2a 29 26 28 63 76 5f 5f 5f 47  (char *)&(cv___G
6980: 4e 55 43 5f 5f 29 2c 0a 20 20 20 20 20 20 20 20  NUC__),.        
6990: 20 20 20 20 20 20 20 20 54 43 4c 5f 4c 49 4e 4b          TCL_LINK
69a0: 5f 49 4e 54 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f  _INT | TCL_LINK_
69b0: 52 45 41 44 5f 4f 4e 4c 59 29 3b 0a 20 20 7d 0a  READ_ONLY);.  }.
69c0: 23 65 6e 64 69 66 0a 7d 0a 0a 0a 2f 2a 0a 2a 2a  #endif.}.../*.**
69d0: 20 52 65 67 69 73 74 65 72 20 63 6f 6d 6d 61 6e   Register comman
69e0: 64 73 20 77 69 74 68 20 74 68 65 20 54 43 4c 20  ds with the TCL 
69f0: 69 6e 74 65 72 70 72 65 74 65 72 2e 0a 2a 2f 0a  interpreter..*/.
6a00: 69 6e 74 20 53 71 6c 69 74 65 63 6f 6e 66 69 67  int Sqliteconfig
6a10: 5f 49 6e 69 74 28 54 63 6c 5f 49 6e 74 65 72 70  _Init(Tcl_Interp
6a20: 20 2a 69 6e 74 65 72 70 29 7b 0a 20 20 73 65 74   *interp){.  set
6a30: 5f 6f 70 74 69 6f 6e 73 28 69 6e 74 65 72 70 29  _options(interp)
6a40: 3b 0a 20 20 72 65 74 75 72 6e 20 54 43 4c 5f 4f  ;.  return TCL_O
6a50: 4b 3b 0a 7d 0a                                   K;.}.