/ Hex Artifact Content
Login

Artifact 9dd62f4bb725ad87d28b187b07377cb4f4a43197:


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 2a 0a 2a 2a 20 24  nstants..**.** $
0260: 49 64 3a 20 74 65 73 74 5f 63 6f 6e 66 69 67 2e  Id: test_config.
0270: 63 2c 76 20 31 2e 34 37 20 32 30 30 39 2f 30 31  c,v 1.47 2009/01
0280: 2f 31 32 20 31 34 3a 30 31 3a 34 35 20 64 61 6e  /12 14:01:45 dan
0290: 69 65 6c 6b 31 39 37 37 20 45 78 70 20 24 0a 2a  ielk1977 Exp $.*
02a0: 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 22 73 71 6c  /..#include "sql
02b0: 69 74 65 4c 69 6d 69 74 2e 68 22 0a 0a 23 69 6e  iteLimit.h"..#in
02c0: 63 6c 75 64 65 20 22 73 71 6c 69 74 65 49 6e 74  clude "sqliteInt
02d0: 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 74 63  .h".#include "tc
02e0: 6c 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 3c 73  l.h".#include <s
02f0: 74 64 6c 69 62 2e 68 3e 0a 23 69 6e 63 6c 75 64  tdlib.h>.#includ
0300: 65 20 3c 73 74 72 69 6e 67 2e 68 3e 0a 0a 2f 2a  e <string.h>../*
0310: 0a 2a 2a 20 4d 61 63 72 6f 20 74 6f 20 73 74 72  .** Macro to str
0320: 69 6e 67 69 66 79 20 74 68 65 20 72 65 73 75 6c  ingify the resul
0330: 74 73 20 6f 66 20 74 68 65 20 65 76 61 6c 75 61  ts of the evalua
0340: 74 69 6f 6e 20 61 20 70 72 65 2d 70 72 6f 63 65  tion a pre-proce
0350: 73 73 6f 72 0a 2a 2a 20 6d 61 63 72 6f 2e 20 69  ssor.** macro. i
0360: 2e 65 2e 20 73 6f 20 74 68 61 74 20 53 54 52 49  .e. so that STRI
0370: 4e 47 56 41 4c 55 45 28 53 51 4c 49 54 45 5f 4e  NGVALUE(SQLITE_N
0380: 4f 4d 45 4d 29 20 2d 3e 20 22 37 22 2e 0a 2a 2f  OMEM) -> "7"..*/
0390: 0a 23 64 65 66 69 6e 65 20 53 54 52 49 4e 47 56  .#define STRINGV
03a0: 41 4c 55 45 32 28 78 29 20 23 78 0a 23 64 65 66  ALUE2(x) #x.#def
03b0: 69 6e 65 20 53 54 52 49 4e 47 56 41 4c 55 45 28  ine STRINGVALUE(
03c0: 78 29 20 53 54 52 49 4e 47 56 41 4c 55 45 32 28  x) STRINGVALUE2(
03d0: 78 29 0a 0a 2f 2a 0a 2a 2a 20 54 68 69 73 20 72  x)../*.** This r
03e0: 6f 75 74 69 6e 65 20 73 65 74 73 20 65 6e 74 72  outine sets entr
03f0: 69 65 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61  ies in the globa
0400: 6c 20 3a 3a 73 71 6c 69 74 65 5f 6f 70 74 69 6f  l ::sqlite_optio
0410: 6e 73 28 29 20 61 72 72 61 79 20 76 61 72 69 61  ns() array varia
0420: 62 6c 65 0a 2a 2a 20 61 63 63 6f 72 64 69 6e 67  ble.** according
0430: 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d   to the compile-
0440: 74 69 6d 65 20 63 6f 6e 66 69 67 75 72 61 74 69  time configurati
0450: 6f 6e 20 6f 66 20 74 68 65 20 64 61 74 61 62 61  on of the databa
0460: 73 65 2e 20 20 54 65 73 74 0a 2a 2a 20 70 72 6f  se.  Test.** pro
0470: 63 65 64 75 72 65 73 20 75 73 65 20 74 68 69 73  cedures use this
0480: 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68   to determine wh
0490: 65 6e 20 74 65 73 74 73 20 73 68 6f 75 6c 64 20  en tests should 
04a0: 62 65 20 6f 6d 69 74 74 65 64 2e 0a 2a 2f 0a 73  be omitted..*/.s
04b0: 74 61 74 69 63 20 76 6f 69 64 20 73 65 74 5f 6f  tatic void set_o
04c0: 70 74 69 6f 6e 73 28 54 63 6c 5f 49 6e 74 65 72  ptions(Tcl_Inter
04d0: 70 20 2a 69 6e 74 65 72 70 29 7b 0a 23 69 66 64  p *interp){.#ifd
04e0: 65 66 20 53 51 4c 49 54 45 5f 33 32 42 49 54 5f  ef SQLITE_32BIT_
04f0: 52 4f 57 49 44 0a 20 20 54 63 6c 5f 53 65 74 56  ROWID.  Tcl_SetV
0500: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0510: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72  ite_options", "r
0520: 6f 77 69 64 33 32 22 2c 20 22 31 22 2c 20 54 43  owid32", "1", TC
0530: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0540: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
0550: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0560: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72  ite_options", "r
0570: 6f 77 69 64 33 32 22 2c 20 22 30 22 2c 20 54 43  owid32", "0", TC
0580: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0590: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
05a0: 51 4c 49 54 45 5f 43 41 53 45 5f 53 45 4e 53 49  QLITE_CASE_SENSI
05b0: 54 49 56 45 5f 4c 49 4b 45 0a 20 20 54 63 6c 5f  TIVE_LIKE.  Tcl_
05c0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
05d0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
05e0: 2c 22 63 61 73 65 73 65 6e 73 69 74 69 76 65 6c  ,"casesensitivel
05f0: 69 6b 65 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f  ike","1",TCL_GLO
0600: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
0610: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
0620: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
0630: 70 74 69 6f 6e 73 22 2c 22 63 61 73 65 73 65 6e  ptions","casesen
0640: 73 69 74 69 76 65 6c 69 6b 65 22 2c 22 30 22 2c  sitivelike","0",
0650: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0660: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
0670: 20 53 51 4c 49 54 45 5f 44 45 42 55 47 0a 20 20   SQLITE_DEBUG.  
0680: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0690: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
06a0: 6f 6e 73 22 2c 20 22 64 65 62 75 67 22 2c 20 22  ons", "debug", "
06b0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
06c0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
06d0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
06e0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
06f0: 73 22 2c 20 22 64 65 62 75 67 22 2c 20 22 30 22  s", "debug", "0"
0700: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0710: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
0720: 65 66 20 53 51 4c 49 54 45 5f 44 49 53 41 42 4c  ef SQLITE_DISABL
0730: 45 5f 44 49 52 53 59 4e 43 0a 20 20 54 63 6c 5f  E_DIRSYNC.  Tcl_
0740: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0750: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
0760: 2c 20 22 64 69 72 73 79 6e 63 22 2c 20 22 30 22  , "dirsync", "0"
0770: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0780: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
0790: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
07a0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
07b0: 2c 20 22 64 69 72 73 79 6e 63 22 2c 20 22 31 22  , "dirsync", "1"
07c0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
07d0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
07e0: 65 66 20 53 51 4c 49 54 45 5f 44 49 53 41 42 4c  ef SQLITE_DISABL
07f0: 45 5f 4c 46 53 0a 20 20 54 63 6c 5f 53 65 74 56  E_LFS.  Tcl_SetV
0800: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0810: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c  ite_options", "l
0820: 66 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  fs", "0", TCL_GL
0830: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
0840: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
0850: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0860: 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 66 73 22 2c  options", "lfs",
0870: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
0880: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
0890: 23 69 66 20 31 20 2f 2a 20 64 65 66 20 53 51 4c  #if 1 /* def SQL
08a0: 49 54 45 5f 4d 45 4d 44 45 42 55 47 20 2a 2f 0a  ITE_MEMDEBUG */.
08b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
08c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
08d0: 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 64 65 62 75  tions", "memdebu
08e0: 67 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  g", "1", TCL_GLO
08f0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
0900: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
0910: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
0920: 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 64 65 62  ptions", "memdeb
0930: 75 67 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ug", "0", TCL_GL
0940: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
0950: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
0960: 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 33  E_ENABLE_MEMSYS3
0970: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
0980: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
0990: 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 33 22 2c  ptions", "mem3",
09a0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
09b0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
09c0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
09d0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
09e0: 6f 6e 73 22 2c 20 22 6d 65 6d 33 22 2c 20 22 30  ons", "mem3", "0
09f0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0a00: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
0a10: 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  def SQLITE_ENABL
0a20: 45 5f 4d 45 4d 53 59 53 35 0a 20 20 54 63 6c 5f  E_MEMSYS5.  Tcl_
0a30: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0a40: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
0a50: 2c 20 22 6d 65 6d 35 22 2c 20 22 31 22 2c 20 54  , "mem5", "1", T
0a60: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
0a70: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
0a80: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
0a90: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
0aa0: 6d 65 6d 35 22 2c 20 22 30 22 2c 20 54 43 4c 5f  mem5", "0", TCL_
0ab0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0ac0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
0ad0: 49 54 45 5f 4d 55 54 45 58 5f 4f 4d 49 54 0a 20  ITE_MUTEX_OMIT. 
0ae0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
0af0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
0b00: 69 6f 6e 73 22 2c 20 22 6d 75 74 65 78 22 2c 20  ions", "mutex", 
0b10: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
0b20: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
0b30: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
0b40: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
0b50: 6e 73 22 2c 20 22 6d 75 74 65 78 22 2c 20 22 31  ns", "mutex", "1
0b60: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0b70: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
0b80: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
0b90: 41 4c 54 45 52 54 41 42 4c 45 0a 20 20 54 63 6c  ALTERTABLE.  Tcl
0ba0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0bb0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0bc0: 22 2c 20 22 61 6c 74 65 72 74 61 62 6c 65 22 2c  ", "altertable",
0bd0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0be0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0bf0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0c00: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0c10: 6f 6e 73 22 2c 20 22 61 6c 74 65 72 74 61 62 6c  ons", "altertabl
0c20: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
0c30: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
0c40: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
0c50: 5f 4f 4d 49 54 5f 41 4e 41 4c 59 5a 45 0a 20 20  _OMIT_ANALYZE.  
0c60: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0c70: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0c80: 6f 6e 73 22 2c 20 22 61 6e 61 6c 79 7a 65 22 2c  ons", "analyze",
0c90: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0ca0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0cb0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0cc0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0cd0: 6f 6e 73 22 2c 20 22 61 6e 61 6c 79 7a 65 22 2c  ons", "analyze",
0ce0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
0cf0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
0d00: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
0d10: 41 42 4c 45 5f 41 54 4f 4d 49 43 5f 57 52 49 54  ABLE_ATOMIC_WRIT
0d20: 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  E.  Tcl_SetVar2(
0d30: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0d40: 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74 6f 6d 69  options", "atomi
0d50: 63 77 72 69 74 65 22 2c 20 22 31 22 2c 20 54 43  cwrite", "1", TC
0d60: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0d70: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
0d80: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0d90: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
0da0: 74 6f 6d 69 63 77 72 69 74 65 22 2c 20 22 30 22  tomicwrite", "0"
0db0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0dc0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
0dd0: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41  ef SQLITE_OMIT_A
0de0: 54 54 41 43 48 0a 20 20 54 63 6c 5f 53 65 74 56  TTACH.  Tcl_SetV
0df0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0e00: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
0e10: 74 74 61 63 68 22 2c 20 22 30 22 2c 20 54 43 4c  ttach", "0", TCL
0e20: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
0e30: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
0e40: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
0e50: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74  te_options", "at
0e60: 74 61 63 68 22 2c 20 22 31 22 2c 20 54 43 4c 5f  tach", "1", TCL_
0e70: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0e80: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
0e90: 49 54 45 5f 4f 4d 49 54 5f 41 55 54 48 4f 52 49  ITE_OMIT_AUTHORI
0ea0: 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74  ZATION.  Tcl_Set
0eb0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
0ec0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
0ed0: 61 75 74 68 22 2c 20 22 30 22 2c 20 54 43 4c 5f  auth", "0", TCL_
0ee0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0ef0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
0f00: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0f10: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74  e_options", "aut
0f20: 68 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  h", "1", TCL_GLO
0f30: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
0f40: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
0f50: 5f 4f 4d 49 54 5f 41 55 54 4f 49 4e 43 52 45 4d  _OMIT_AUTOINCREM
0f60: 45 4e 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ENT.  Tcl_SetVar
0f70: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0f80: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74  e_options", "aut
0f90: 6f 69 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f  oinc", "0", TCL_
0fa0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0fb0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
0fc0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0fd0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74  e_options", "aut
0fe0: 6f 69 6e 63 22 2c 20 22 31 22 2c 20 54 43 4c 5f  oinc", "1", TCL_
0ff0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1000: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1010: 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 56 41 43  ITE_OMIT_AUTOVAC
1020: 55 55 4d 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  UUM.  Tcl_SetVar
1030: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1040: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74  e_options", "aut
1050: 6f 76 61 63 75 75 6d 22 2c 20 22 30 22 2c 20 54  ovacuum", "0", T
1060: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1070: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1080: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1090: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
10a0: 61 75 74 6f 76 61 63 75 75 6d 22 2c 20 22 31 22  autovacuum", "1"
10b0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
10c0: 59 29 3b 0a 23 65 6e 64 69 66 20 2f 2a 20 53 51  Y);.#endif /* SQ
10d0: 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 56 41  LITE_OMIT_AUTOVA
10e0: 43 55 55 4d 20 2a 2f 0a 23 69 66 20 21 64 65 66  CUUM */.#if !def
10f0: 69 6e 65 64 28 53 51 4c 49 54 45 5f 44 45 46 41  ined(SQLITE_DEFA
1100: 55 4c 54 5f 41 55 54 4f 56 41 43 55 55 4d 29 0a  ULT_AUTOVACUUM).
1110: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1120: 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70 74  terp,"sqlite_opt
1130: 69 6f 6e 73 22 2c 22 64 65 66 61 75 6c 74 5f 61  ions","default_a
1140: 75 74 6f 76 61 63 75 75 6d 22 2c 22 30 22 2c 54  utovacuum","0",T
1150: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1160: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1170: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1180: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1190: 64 65 66 61 75 6c 74 5f 61 75 74 6f 76 61 63 75  default_autovacu
11a0: 75 6d 22 2c 20 0a 20 20 20 20 20 20 53 54 52 49  um", .      STRI
11b0: 4e 47 56 41 4c 55 45 28 53 51 4c 49 54 45 5f 44  NGVALUE(SQLITE_D
11c0: 45 46 41 55 4c 54 5f 41 55 54 4f 56 41 43 55 55  EFAULT_AUTOVACUU
11d0: 4d 29 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  M), TCL_GLOBAL_O
11e0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
11f0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
1200: 5f 42 45 54 57 45 45 4e 5f 4f 50 54 49 4d 49 5a  _BETWEEN_OPTIMIZ
1210: 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56  ATION.  Tcl_SetV
1220: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1230: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62  ite_options", "b
1240: 65 74 77 65 65 6e 5f 6f 70 74 22 2c 20 22 30 22  etween_opt", "0"
1250: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1260: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1270: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1280: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1290: 2c 20 22 62 65 74 77 65 65 6e 5f 6f 70 74 22 2c  , "between_opt",
12a0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
12b0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
12c0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
12d0: 49 54 5f 42 55 49 4c 54 49 4e 5f 54 45 53 54 0a  IT_BUILTIN_TEST.
12e0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
12f0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1300: 74 69 6f 6e 73 22 2c 20 22 62 75 69 6c 74 69 6e  tions", "builtin
1310: 5f 74 65 73 74 22 2c 20 22 30 22 2c 20 54 43 4c  _test", "0", TCL
1320: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1330: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1340: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1350: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62 75  te_options", "bu
1360: 69 6c 74 69 6e 5f 74 65 73 74 22 2c 20 22 31 22  iltin_test", "1"
1370: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1380: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1390: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 42  ef SQLITE_OMIT_B
13a0: 4c 4f 42 5f 4c 49 54 45 52 41 4c 0a 20 20 54 63  LOB_LITERAL.  Tc
13b0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
13c0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
13d0: 73 22 2c 20 22 62 6c 6f 62 6c 69 74 22 2c 20 22  s", "bloblit", "
13e0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
13f0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
1400: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1410: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1420: 73 22 2c 20 22 62 6c 6f 62 6c 69 74 22 2c 20 22  s", "bloblit", "
1430: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
1440: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1450: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
1460: 5f 43 41 53 54 0a 20 20 54 63 6c 5f 53 65 74 56  _CAST.  Tcl_SetV
1470: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1480: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63  ite_options", "c
1490: 61 73 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ast", "0", TCL_G
14a0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
14b0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
14c0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
14d0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 61 73 74  _options", "cast
14e0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
14f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
1500: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
1510: 4f 4d 49 54 5f 43 48 45 43 4b 0a 20 20 54 63 6c  OMIT_CHECK.  Tcl
1520: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1530: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1540: 22 2c 20 22 63 68 65 63 6b 22 2c 20 22 30 22 2c  ", "check", "0",
1550: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1560: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1570: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1580: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1590: 20 22 63 68 65 63 6b 22 2c 20 22 31 22 2c 20 54   "check", "1", T
15a0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
15b0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
15c0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 43 4f  SQLITE_ENABLE_CO
15d0: 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 0a 20 20  LUMN_METADATA.  
15e0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
15f0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1600: 6f 6e 73 22 2c 20 22 63 6f 6c 75 6d 6e 6d 65 74  ons", "columnmet
1610: 61 64 61 74 61 22 2c 20 22 31 22 2c 20 54 43 4c  adata", "1", TCL
1620: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1630: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1640: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1650: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f  te_options", "co
1660: 6c 75 6d 6e 6d 65 74 61 64 61 74 61 22 2c 20 22  lumnmetadata", "
1670: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1680: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1690: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
16a0: 5f 43 4f 4d 50 4c 45 54 45 0a 20 20 54 63 6c 5f  _COMPLETE.  Tcl_
16b0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
16c0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
16d0: 2c 20 22 63 6f 6d 70 6c 65 74 65 22 2c 20 22 30  , "complete", "0
16e0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
16f0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
1700: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1710: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1720: 22 2c 20 22 63 6f 6d 70 6c 65 74 65 22 2c 20 22  ", "complete", "
1730: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
1740: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1750: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
1760: 5f 43 4f 4d 50 4f 55 4e 44 5f 53 45 4c 45 43 54  _COMPOUND_SELECT
1770: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1780: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1790: 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70 6f 75  ptions", "compou
17a0: 6e 64 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  nd", "0", TCL_GL
17b0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
17c0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
17d0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
17e0: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70 6f  options", "compo
17f0: 75 6e 64 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  und", "1", TCL_G
1800: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1810: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1820: 54 45 5f 4f 4d 49 54 5f 43 4f 4e 46 4c 49 43 54  TE_OMIT_CONFLICT
1830: 5f 43 4c 41 55 53 45 0a 20 20 54 63 6c 5f 53 65  _CLAUSE.  Tcl_Se
1840: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1850: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1860: 22 63 6f 6e 66 6c 69 63 74 22 2c 20 22 30 22 2c  "conflict", "0",
1870: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1880: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1890: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
18a0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
18b0: 20 22 63 6f 6e 66 6c 69 63 74 22 2c 20 22 31 22   "conflict", "1"
18c0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
18d0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20  Y);.#endif..#if 
18e0: 53 51 4c 49 54 45 5f 4f 53 5f 55 4e 49 58 0a 20  SQLITE_OS_UNIX. 
18f0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1900: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1910: 69 6f 6e 73 22 2c 20 22 63 72 61 73 68 74 65 73  ions", "crashtes
1920: 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  t", "1", TCL_GLO
1930: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
1940: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1950: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1960: 70 74 69 6f 6e 73 22 2c 20 22 63 72 61 73 68 74  ptions", "crasht
1970: 65 73 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  est", "0", TCL_G
1980: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1990: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
19a0: 54 45 5f 4f 4d 49 54 5f 44 41 54 45 54 49 4d 45  TE_OMIT_DATETIME
19b0: 5f 46 55 4e 43 53 0a 20 20 54 63 6c 5f 53 65 74  _FUNCS.  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: 64 61 74 65 74 69 6d 65 22 2c 20 22 30 22 2c 20  datetime", "0", 
19f0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1a00: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
1a10: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1a20: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1a30: 22 64 61 74 65 74 69 6d 65 22 2c 20 22 31 22 2c  "datetime", "1",
1a40: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1a50: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1a60: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45  f SQLITE_OMIT_DE
1a70: 43 4c 54 59 50 45 0a 20 20 54 63 6c 5f 53 65 74  CLTYPE.  Tcl_Set
1a80: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1a90: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1aa0: 64 65 63 6c 74 79 70 65 22 2c 20 22 30 22 2c 20  decltype", "0", 
1ab0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1ac0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
1ad0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1ae0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1af0: 22 64 65 63 6c 74 79 70 65 22 2c 20 22 31 22 2c  "decltype", "1",
1b00: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1b10: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1b20: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 45  f SQLITE_OMIT_DE
1b30: 50 52 45 43 41 54 45 44 0a 20 20 54 63 6c 5f 53  PRECATED.  Tcl_S
1b40: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1b50: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1b60: 20 22 64 65 70 72 65 63 61 74 65 64 22 2c 20 22   "deprecated", "
1b70: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1b80: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
1b90: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1ba0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1bb0: 73 22 2c 20 22 64 65 70 72 65 63 61 74 65 64 22  s", "deprecated"
1bc0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
1bd0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1be0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
1bf0: 4d 49 54 5f 44 49 53 4b 49 4f 0a 20 20 54 63 6c  MIT_DISKIO.  Tcl
1c00: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1c10: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1c20: 22 2c 20 22 64 69 73 6b 69 6f 22 2c 20 22 30 22  ", "diskio", "0"
1c30: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1c40: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1c50: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1c60: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1c70: 2c 20 22 64 69 73 6b 69 6f 22 2c 20 22 31 22 2c  , "diskio", "1",
1c80: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1c90: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1ca0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 45 58  f SQLITE_OMIT_EX
1cb0: 50 4c 41 49 4e 0a 20 20 54 63 6c 5f 53 65 74 56  PLAIN.  Tcl_SetV
1cc0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1cd0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 65  ite_options", "e
1ce0: 78 70 6c 61 69 6e 22 2c 20 22 30 22 2c 20 54 43  xplain", "0", TC
1cf0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1d00: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1d10: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1d20: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 65  ite_options", "e
1d30: 78 70 6c 61 69 6e 22 2c 20 22 31 22 2c 20 54 43  xplain", "1", TC
1d40: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1d50: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1d60: 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4c 4f 41 54  QLITE_OMIT_FLOAT
1d70: 49 4e 47 5f 50 4f 49 4e 54 0a 20 20 54 63 6c 5f  ING_POINT.  Tcl_
1d80: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1d90: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1da0: 2c 20 22 66 6c 6f 61 74 69 6e 67 70 6f 69 6e 74  , "floatingpoint
1db0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
1dc0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
1dd0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1de0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1df0: 74 69 6f 6e 73 22 2c 20 22 66 6c 6f 61 74 69 6e  tions", "floatin
1e00: 67 70 6f 69 6e 74 22 2c 20 22 31 22 2c 20 54 43  gpoint", "1", TC
1e10: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1e20: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1e30: 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 52 45 49  QLITE_OMIT_FOREI
1e40: 47 4e 5f 4b 45 59 0a 20 20 54 63 6c 5f 53 65 74  GN_KEY.  Tcl_Set
1e50: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1e60: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1e70: 66 6f 72 65 69 67 6e 6b 65 79 22 2c 20 22 30 22  foreignkey", "0"
1e80: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1e90: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1ea0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1eb0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1ec0: 2c 20 22 66 6f 72 65 69 67 6e 6b 65 79 22 2c 20  , "foreignkey", 
1ed0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1ee0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1ef0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41  ifdef SQLITE_ENA
1f00: 42 4c 45 5f 46 54 53 31 0a 20 20 54 63 6c 5f 53  BLE_FTS1.  Tcl_S
1f10: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1f20: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1f30: 20 22 66 74 73 31 22 2c 20 22 31 22 2c 20 54 43   "fts1", "1", TC
1f40: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1f50: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1f60: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1f70: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
1f80: 74 73 31 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ts1", "0", TCL_G
1f90: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1fa0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1fb0: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 32 0a 20  TE_ENABLE_FTS2. 
1fc0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1fd0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1fe0: 69 6f 6e 73 22 2c 20 22 66 74 73 32 22 2c 20 22  ions", "fts2", "
1ff0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2000: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
2010: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2020: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2030: 73 22 2c 20 22 66 74 73 32 22 2c 20 22 30 22 2c  s", "fts2", "0",
2040: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2050: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
2060: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
2070: 46 54 53 33 0a 20 20 54 63 6c 5f 53 65 74 56 61  FTS3.  Tcl_SetVa
2080: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2090: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74  te_options", "ft
20a0: 73 33 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  s3", "1", TCL_GL
20b0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
20c0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
20d0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
20e0: 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 33 22  options", "fts3"
20f0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
2100: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
2110: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
2120: 4d 49 54 5f 47 45 54 5f 54 41 42 4c 45 0a 20 20  MIT_GET_TABLE.  
2130: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2140: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2150: 6f 6e 73 22 2c 20 22 67 65 74 74 61 62 6c 65 22  ons", "gettable"
2160: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
2170: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
2180: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2190: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
21a0: 69 6f 6e 73 22 2c 20 22 67 65 74 74 61 62 6c 65  ions", "gettable
21b0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
21c0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
21d0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
21e0: 4f 4d 49 54 5f 47 4c 4f 42 41 4c 52 45 43 4f 56  OMIT_GLOBALRECOV
21f0: 45 52 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ER.  Tcl_SetVar2
2200: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2210: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 67 6c 6f 62  _options", "glob
2220: 61 6c 72 65 63 6f 76 65 72 22 2c 20 22 30 22 2c  alrecover", "0",
2230: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2240: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2250: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2260: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2270: 20 22 67 6c 6f 62 61 6c 72 65 63 6f 76 65 72 22   "globalrecover"
2280: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
2290: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
22a0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45  .#ifdef SQLITE_E
22b0: 4e 41 42 4c 45 5f 49 43 55 0a 20 20 54 63 6c 5f  NABLE_ICU.  Tcl_
22c0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
22d0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
22e0: 2c 20 22 69 63 75 22 2c 20 22 31 22 2c 20 54 43  , "icu", "1", TC
22f0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2300: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
2310: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2320: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69  ite_options", "i
2330: 63 75 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  cu", "0", TCL_GL
2340: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
2350: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
2360: 45 5f 4f 4d 49 54 5f 49 4e 43 52 42 4c 4f 42 0a  E_OMIT_INCRBLOB.
2370: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2380: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2390: 74 69 6f 6e 73 22 2c 20 22 69 6e 63 72 62 6c 6f  tions", "incrblo
23a0: 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  b", "0", TCL_GLO
23b0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
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 69 6e 63 72 62 6c  ptions", "incrbl
23f0: 6f 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ob", "1", TCL_GL
2400: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
2410: 69 66 20 2f 2a 20 53 51 4c 49 54 45 5f 4f 4d 49  if /* SQLITE_OMI
2420: 54 5f 41 55 54 4f 56 41 43 55 55 4d 20 2a 2f 0a  T_AUTOVACUUM */.
2430: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
2440: 4d 49 54 5f 49 4e 54 45 47 52 49 54 59 5f 43 48  MIT_INTEGRITY_CH
2450: 45 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ECK.  Tcl_SetVar
2460: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2470: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 74  e_options", "int
2480: 65 67 72 69 74 79 63 6b 22 2c 20 22 30 22 2c 20  egrityck", "0", 
2490: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
24a0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
24b0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
24c0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
24d0: 22 69 6e 74 65 67 72 69 74 79 63 6b 22 2c 20 22  "integrityck", "
24e0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
24f0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
2500: 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45  f defined(SQLITE
2510: 5f 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46 4f  _DEFAULT_FILE_FO
2520: 52 4d 41 54 29 20 26 26 20 53 51 4c 49 54 45 5f  RMAT) && SQLITE_
2530: 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52  DEFAULT_FILE_FOR
2540: 4d 41 54 3d 3d 31 0a 20 20 54 63 6c 5f 53 65 74  MAT==1.  Tcl_Set
2550: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2560: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2570: 6c 65 67 61 63 79 66 6f 72 6d 61 74 22 2c 20 22  legacyformat", "
2580: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2590: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
25a0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
25b0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
25c0: 73 22 2c 20 22 6c 65 67 61 63 79 66 6f 72 6d 61  s", "legacyforma
25d0: 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  t", "0", TCL_GLO
25e0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
25f0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
2600: 5f 4f 4d 49 54 5f 4c 49 4b 45 5f 4f 50 54 49 4d  _OMIT_LIKE_OPTIM
2610: 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65  IZATION.  Tcl_Se
2620: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2630: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2640: 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 30 22 2c  "like_opt", "0",
2650: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2660: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2670: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2680: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2690: 20 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 31 22   "like_opt", "1"
26a0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
26b0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
26c0: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c  ef SQLITE_OMIT_L
26d0: 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 20 20  OAD_EXTENSION.  
26e0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
26f0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2700: 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78 74 22  ons", "load_ext"
2710: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
2720: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
2730: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2740: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2750: 69 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78 74  ions", "load_ext
2760: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2770: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2780: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2790: 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45 0a 20  OMIT_LOCALTIME. 
27a0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
27b0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
27c0: 69 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74 69 6d  ions", "localtim
27d0: 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  e", "0", TCL_GLO
27e0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
27f0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2800: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2810: 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74  ptions", "localt
2820: 69 6d 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ime", "1", TCL_G
2830: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2840: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
2850: 54 45 5f 4f 4d 49 54 5f 4c 4f 4f 4b 41 53 49 44  TE_OMIT_LOOKASID
2860: 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  E.  Tcl_SetVar2(
2870: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2880: 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f 6b 61  options", "looka
2890: 73 69 64 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f  side", "0", TCL_
28a0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
28b0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
28c0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
28d0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f  e_options", "loo
28e0: 6b 61 73 69 64 65 22 2c 20 22 31 22 2c 20 54 43  kaside", "1", TC
28f0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2900: 23 65 6e 64 69 66 0a 0a 54 63 6c 5f 53 65 74 56  #endif..Tcl_SetV
2910: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2920: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c  ite_options", "l
2930: 6f 6e 67 5f 64 6f 75 62 6c 65 22 2c 0a 20 20 20  ong_double",.   
2940: 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 6f             sizeo
2950: 66 28 4c 4f 4e 47 44 4f 55 42 4c 45 5f 54 59 50  f(LONGDOUBLE_TYP
2960: 45 29 3e 73 69 7a 65 6f 66 28 64 6f 75 62 6c 65  E)>sizeof(double
2970: 29 20 3f 20 22 31 22 20 3a 20 22 30 22 2c 0a 20  ) ? "1" : "0",. 
2980: 20 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c               TCL
2990: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a  _GLOBAL_ONLY);..
29a0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
29b0: 49 54 5f 4d 45 4d 4f 52 59 44 42 0a 20 20 54 63  IT_MEMORYDB.  Tc
29c0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
29d0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
29e0: 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22 2c 20  s", "memorydb", 
29f0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2a00: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2a10: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2a20: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2a30: 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22 2c  ns", "memorydb",
2a40: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2a50: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2a60: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
2a70: 41 42 4c 45 5f 4d 45 4d 4f 52 59 5f 4d 41 4e 41  ABLE_MEMORY_MANA
2a80: 47 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53 65 74  GEMENT.  Tcl_Set
2a90: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2aa0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2ab0: 6d 65 6d 6f 72 79 6d 61 6e 61 67 65 22 2c 20 22  memorymanage", "
2ac0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2ad0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
2ae0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2af0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2b00: 73 22 2c 20 22 6d 65 6d 6f 72 79 6d 61 6e 61 67  s", "memorymanag
2b10: 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  e", "0", TCL_GLO
2b20: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
2b30: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
2b40: 5f 4f 4d 49 54 5f 4f 52 5f 4f 50 54 49 4d 49 5a  _OMIT_OR_OPTIMIZ
2b50: 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56  ATION.  Tcl_SetV
2b60: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2b70: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f  ite_options", "o
2b80: 72 5f 6f 70 74 22 2c 20 22 30 22 2c 20 54 43 4c  r_opt", "0", TCL
2b90: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2ba0: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2bb0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2bc0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 72  te_options", "or
2bd0: 5f 6f 70 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  _opt", "1", TCL_
2be0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2bf0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2c00: 49 54 45 5f 4f 4d 49 54 5f 50 41 47 45 52 5f 50  ITE_OMIT_PAGER_P
2c10: 52 41 47 4d 41 53 0a 20 20 54 63 6c 5f 53 65 74  RAGMAS.  Tcl_Set
2c20: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2c30: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2c40: 70 61 67 65 72 5f 70 72 61 67 6d 61 73 22 2c 20  pager_pragmas", 
2c50: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2c60: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2c70: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2c80: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2c90: 6e 73 22 2c 20 22 70 61 67 65 72 5f 70 72 61 67  ns", "pager_prag
2ca0: 6d 61 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  mas", "1", TCL_G
2cb0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2cc0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
2cd0: 54 45 5f 4f 4d 49 54 5f 50 41 52 53 45 52 0a 20  TE_OMIT_PARSER. 
2ce0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2cf0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2d00: 69 6f 6e 73 22 2c 20 22 70 61 72 73 65 72 22 2c  ions", "parser",
2d10: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
2d20: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
2d30: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2d40: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2d50: 6f 6e 73 22 2c 20 22 70 61 72 73 65 72 22 2c 20  ons", "parser", 
2d60: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
2d70: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
2d80: 69 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54  if defined(SQLIT
2d90: 45 5f 4f 4d 49 54 5f 50 52 41 47 4d 41 29 20 7c  E_OMIT_PRAGMA) |
2da0: 7c 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45  | defined(SQLITE
2db0: 5f 4f 4d 49 54 5f 46 4c 41 47 5f 50 52 41 47 4d  _OMIT_FLAG_PRAGM
2dc0: 41 53 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  AS).  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 70 72 61  e_options", "pra
2df0: 67 6d 61 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  gma", "0", TCL_G
2e00: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 54  LOBAL_ONLY);.  T
2e10: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2e20: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2e30: 6e 73 22 2c 20 22 69 6e 74 65 67 72 69 74 79 63  ns", "integrityc
2e40: 6b 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  k", "0", TCL_GLO
2e50: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
2e60: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2e70: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2e80: 70 74 69 6f 6e 73 22 2c 20 22 70 72 61 67 6d 61  ptions", "pragma
2e90: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2ea0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2eb0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2ec0: 4f 4d 49 54 5f 50 52 4f 47 52 45 53 53 5f 43 41  OMIT_PROGRESS_CA
2ed0: 4c 4c 42 41 43 4b 0a 20 20 54 63 6c 5f 53 65 74  LLBACK.  Tcl_Set
2ee0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2ef0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2f00: 70 72 6f 67 72 65 73 73 22 2c 20 22 30 22 2c 20  progress", "0", 
2f10: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2f20: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
2f30: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2f40: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2f50: 22 70 72 6f 67 72 65 73 73 22 2c 20 22 31 22 2c  "progress", "1",
2f60: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2f70: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
2f80: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 52 45  f SQLITE_OMIT_RE
2f90: 49 4e 44 45 58 0a 20 20 54 63 6c 5f 53 65 74 56  INDEX.  Tcl_SetV
2fa0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2fb0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72  ite_options", "r
2fc0: 65 69 6e 64 65 78 22 2c 20 22 30 22 2c 20 54 43  eindex", "0", TC
2fd0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2fe0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
2ff0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3000: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72  ite_options", "r
3010: 65 69 6e 64 65 78 22 2c 20 22 31 22 2c 20 54 43  eindex", "1", TC
3020: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3030: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
3040: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 52 54 52  QLITE_ENABLE_RTR
3050: 45 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  EE.  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 72 74 72 65  _options", "rtre
3080: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
3090: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
30a0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
30b0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
30c0: 70 74 69 6f 6e 73 22 2c 20 22 72 74 72 65 65 22  ptions", "rtree"
30d0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
30e0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
30f0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
3100: 4d 49 54 5f 53 43 48 45 4d 41 5f 50 52 41 47 4d  MIT_SCHEMA_PRAGM
3110: 41 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  AS.  Tcl_SetVar2
3120: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3130: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68 65  _options", "sche
3140: 6d 61 5f 70 72 61 67 6d 61 73 22 2c 20 22 30 22  ma_pragmas", "0"
3150: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3160: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
3170: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3180: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3190: 2c 20 22 73 63 68 65 6d 61 5f 70 72 61 67 6d 61  , "schema_pragma
31a0: 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  s", "1", TCL_GLO
31b0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
31c0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
31d0: 5f 4f 4d 49 54 5f 53 43 48 45 4d 41 5f 56 45 52  _OMIT_SCHEMA_VER
31e0: 53 49 4f 4e 5f 50 52 41 47 4d 41 53 0a 20 20 54  SION_PRAGMAS.  T
31f0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3200: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3210: 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f 76 65 72  ns", "schema_ver
3220: 73 69 6f 6e 22 2c 20 22 30 22 2c 20 54 43 4c 5f  sion", "0", TCL_
3230: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3240: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
3250: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3260: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68  e_options", "sch
3270: 65 6d 61 5f 76 65 72 73 69 6f 6e 22 2c 20 22 31  ema_version", "1
3280: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3290: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
32a0: 20 21 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45   !defined(SQLITE
32b0: 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49 4e 47 5f  _ENABLE_LOCKING_
32c0: 53 54 59 4c 45 29 0a 23 20 20 69 66 20 64 65 66  STYLE).#  if def
32d0: 69 6e 65 64 28 5f 5f 41 50 50 4c 45 5f 5f 29 0a  ined(__APPLE__).
32e0: 23 20 20 20 20 64 65 66 69 6e 65 20 53 51 4c 49  #    define SQLI
32f0: 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49 4e  TE_ENABLE_LOCKIN
3300: 47 5f 53 54 59 4c 45 20 31 0a 23 20 20 65 6c 73  G_STYLE 1.#  els
3310: 65 0a 23 20 20 20 20 64 65 66 69 6e 65 20 53 51  e.#    define SQ
3320: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b  LITE_ENABLE_LOCK
3330: 49 4e 47 5f 53 54 59 4c 45 20 30 0a 23 20 20 65  ING_STYLE 0.#  e
3340: 6e 64 69 66 0a 23 65 6e 64 69 66 0a 23 69 66 20  ndif.#endif.#if 
3350: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f  SQLITE_ENABLE_LO
3360: 43 4b 49 4e 47 5f 53 54 59 4c 45 20 26 26 20 64  CKING_STYLE && d
3370: 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c 45 5f 5f  efined(__APPLE__
3380: 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  ).  Tcl_SetVar2(
3390: 69 6e 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f  interp,"sqlite_o
33a0: 70 74 69 6f 6e 73 22 2c 22 6c 6f 63 6b 5f 70 72  ptions","lock_pr
33b0: 6f 78 79 5f 70 72 61 67 6d 61 73 22 2c 22 31 22  oxy_pragmas","1"
33c0: 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59  ,TCL_GLOBAL_ONLY
33d0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
33e0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 22 73  etVar2(interp,"s
33f0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22  qlite_options","
3400: 6c 6f 63 6b 5f 70 72 6f 78 79 5f 70 72 61 67 6d  lock_proxy_pragm
3410: 61 73 22 2c 22 30 22 2c 54 43 4c 5f 47 4c 4f 42  as","0",TCL_GLOB
3420: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3430: 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53 51 4c  .#if defined(SQL
3440: 49 54 45 5f 50 52 45 46 45 52 5f 50 52 4f 58 59  ITE_PREFER_PROXY
3450: 5f 4c 4f 43 4b 49 4e 47 29 20 26 26 20 64 65 66  _LOCKING) && def
3460: 69 6e 65 64 28 5f 5f 41 50 50 4c 45 5f 5f 29 0a  ined(__APPLE__).
3470: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3480: 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70 74  terp,"sqlite_opt
3490: 69 6f 6e 73 22 2c 22 70 72 65 66 65 72 5f 70 72  ions","prefer_pr
34a0: 6f 78 79 5f 6c 6f 63 6b 69 6e 67 22 2c 22 31 22  oxy_locking","1"
34b0: 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59  ,TCL_GLOBAL_ONLY
34c0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
34d0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 22 73  etVar2(interp,"s
34e0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22  qlite_options","
34f0: 70 72 65 66 65 72 5f 70 72 6f 78 79 5f 6c 6f 63  prefer_proxy_loc
3500: 6b 69 6e 67 22 2c 22 30 22 2c 54 43 4c 5f 47 4c  king","0",TCL_GL
3510: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
3520: 69 66 0a 20 20 20 20 0a 20 20 20 20 0a 23 69 66  if.    .    .#if
3530: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
3540: 53 48 41 52 45 44 5f 43 41 43 48 45 0a 20 20 54  SHARED_CACHE.  T
3550: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3560: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3570: 6e 73 22 2c 20 22 73 68 61 72 65 64 5f 63 61 63  ns", "shared_cac
3580: 68 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  he", "0", TCL_GL
3590: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
35a0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
35b0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
35c0: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 68 61 72 65  options", "share
35d0: 64 5f 63 61 63 68 65 22 2c 20 22 31 22 2c 20 54  d_cache", "1", T
35e0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
35f0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
3600: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 55 42 51  SQLITE_OMIT_SUBQ
3610: 55 45 52 59 0a 20 20 54 63 6c 5f 53 65 74 56 61  UERY.  Tcl_SetVa
3620: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
3630: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 75  te_options", "su
3640: 62 71 75 65 72 79 22 2c 20 22 30 22 2c 20 54 43  bquery", "0", TC
3650: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3660: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
3670: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3680: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73  ite_options", "s
3690: 75 62 71 75 65 72 79 22 2c 20 22 31 22 2c 20 54  ubquery", "1", T
36a0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
36b0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
36c0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 43 4c 5f  SQLITE_OMIT_TCL_
36d0: 56 41 52 49 41 42 4c 45 0a 20 20 54 63 6c 5f 53  VARIABLE.  Tcl_S
36e0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
36f0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3700: 20 22 74 63 6c 76 61 72 22 2c 20 22 30 22 2c 20   "tclvar", "0", 
3710: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3720: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
3730: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3740: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3750: 22 74 63 6c 76 61 72 22 2c 20 22 31 22 2c 20 54  "tclvar", "1", T
3760: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3770: 0a 23 65 6e 64 69 66 0a 0a 20 20 54 63 6c 5f 53  .#endif..  Tcl_S
3780: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3790: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
37a0: 20 22 74 68 72 65 61 64 73 61 66 65 22 2c 20 0a   "threadsafe", .
37b0: 20 20 20 20 20 20 53 54 52 49 4e 47 56 41 4c 55        STRINGVALU
37c0: 45 28 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53  E(SQLITE_THREADS
37d0: 41 46 45 29 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c  AFE), TCL_GLOBAL
37e0: 5f 4f 4e 4c 59 29 3b 0a 20 20 61 73 73 65 72 74  _ONLY);.  assert
37f0: 28 20 73 71 6c 69 74 65 33 5f 74 68 72 65 61 64  ( sqlite3_thread
3800: 73 61 66 65 28 29 3d 3d 53 51 4c 49 54 45 5f 54  safe()==SQLITE_T
3810: 48 52 45 41 44 53 41 46 45 20 29 3b 0a 0a 23 69  HREADSAFE );..#i
3820: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
3830: 5f 54 45 4d 50 44 42 0a 20 20 54 63 6c 5f 53 65  _TEMPDB.  Tcl_Se
3840: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3850: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3860: 22 74 65 6d 70 64 62 22 2c 20 22 30 22 2c 20 54  "tempdb", "0", T
3870: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3880: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3890: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
38a0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
38b0: 74 65 6d 70 64 62 22 2c 20 22 31 22 2c 20 54 43  tempdb", "1", TC
38c0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
38d0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
38e0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 52 41 43 45  QLITE_OMIT_TRACE
38f0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3900: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3910: 70 74 69 6f 6e 73 22 2c 20 22 74 72 61 63 65 22  ptions", "trace"
3920: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
3930: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
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 74 72 61 63 65 22 2c 20  ions", "trace", 
3970: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
3980: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
3990: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
39a0: 54 5f 54 52 49 47 47 45 52 0a 20 20 54 63 6c 5f  T_TRIGGER.  Tcl_
39b0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
39c0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
39d0: 2c 20 22 74 72 69 67 67 65 72 22 2c 20 22 30 22  , "trigger", "0"
39e0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
39f0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
3a00: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3a10: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3a20: 2c 20 22 74 72 69 67 67 65 72 22 2c 20 22 31 22  , "trigger", "1"
3a30: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3a40: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
3a50: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54  ef SQLITE_OMIT_T
3a60: 52 55 43 41 54 45 5f 4f 50 54 49 4d 49 5a 41 54  RUCATE_OPTIMIZAT
3a70: 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ION.  Tcl_SetVar
3a80: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3a90: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 75  e_options", "tru
3aa0: 6e 63 61 74 65 5f 6f 70 74 22 2c 20 22 30 22 2c  ncate_opt", "0",
3ab0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3ac0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3ad0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3ae0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3af0: 20 22 74 72 75 6e 63 61 74 65 5f 6f 70 74 22 2c   "truncate_opt",
3b00: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
3b10: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
3b20: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
3b30: 49 54 5f 55 54 46 31 36 0a 20 20 54 63 6c 5f 53  IT_UTF16.  Tcl_S
3b40: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3b50: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3b60: 20 22 75 74 66 31 36 22 2c 20 22 30 22 2c 20 54   "utf16", "0", T
3b70: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3b80: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3b90: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3ba0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3bb0: 75 74 66 31 36 22 2c 20 22 31 22 2c 20 54 43 4c  utf16", "1", TCL
3bc0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3bd0: 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66 69 6e  endif..#if defin
3be0: 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 56  ed(SQLITE_OMIT_V
3bf0: 41 43 55 55 4d 29 20 7c 7c 20 64 65 66 69 6e 65  ACUUM) || define
3c00: 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 54  d(SQLITE_OMIT_AT
3c10: 54 41 43 48 29 0a 20 20 54 63 6c 5f 53 65 74 56  TACH).  Tcl_SetV
3c20: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3c30: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76  ite_options", "v
3c40: 61 63 75 75 6d 22 2c 20 22 30 22 2c 20 54 43 4c  acuum", "0", TCL
3c50: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3c60: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
3c70: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
3c80: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76 61  te_options", "va
3c90: 63 75 75 6d 22 2c 20 22 31 22 2c 20 54 43 4c 5f  cuum", "1", TCL_
3ca0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3cb0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
3cc0: 49 54 45 5f 4f 4d 49 54 5f 56 49 45 57 0a 20 20  ITE_OMIT_VIEW.  
3cd0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3ce0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3cf0: 6f 6e 73 22 2c 20 22 76 69 65 77 22 2c 20 22 30  ons", "view", "0
3d00: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3d10: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3d20: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3d30: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3d40: 22 2c 20 22 76 69 65 77 22 2c 20 22 31 22 2c 20  ", "view", "1", 
3d50: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3d60: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
3d70: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 56 49 52   SQLITE_OMIT_VIR
3d80: 54 55 41 4c 54 41 42 4c 45 0a 20 20 54 63 6c 5f  TUALTABLE.  Tcl_
3d90: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3da0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3db0: 2c 20 22 76 74 61 62 22 2c 20 22 30 22 2c 20 54  , "vtab", "0", T
3dc0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3dd0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3de0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3df0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3e00: 76 74 61 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f  vtab", "1", TCL_
3e10: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3e20: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
3e30: 49 54 45 5f 4f 4d 49 54 5f 57 53 44 0a 20 20 54  ITE_OMIT_WSD.  T
3e40: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3e50: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3e60: 6e 73 22 2c 20 22 77 73 64 22 2c 20 22 30 22 2c  ns", "wsd", "0",
3e70: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3e80: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3e90: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3ea0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3eb0: 20 22 77 73 64 22 2c 20 22 31 22 2c 20 54 43 4c   "wsd", "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 23 69 66 20 64 65 66 69 6e  endif..#if defin
3ee0: 65 64 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ed(SQLITE_ENABLE
3ef0: 5f 55 50 44 41 54 45 5f 44 45 4c 45 54 45 5f 4c  _UPDATE_DELETE_L
3f00: 49 4d 49 54 29 20 26 26 20 21 64 65 66 69 6e 65  IMIT) && !define
3f10: 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 55  d(SQLITE_OMIT_SU
3f20: 42 51 55 45 52 59 29 0a 20 20 54 63 6c 5f 53 65  BQUERY).  Tcl_Se
3f30: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3f40: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3f50: 22 75 70 64 61 74 65 5f 64 65 6c 65 74 65 5f 6c  "update_delete_l
3f60: 69 6d 69 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  imit", "1", TCL_
3f70: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3f80: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
3f90: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3fa0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 75 70 64  e_options", "upd
3fb0: 61 74 65 5f 64 65 6c 65 74 65 5f 6c 69 6d 69 74  ate_delete_limit
3fc0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3fd0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3fe0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
3ff0: 53 45 43 55 52 45 5f 44 45 4c 45 54 45 0a 20 20  SECURE_DELETE.  
4000: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
4010: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
4020: 6f 6e 73 22 2c 20 22 73 65 63 75 72 65 5f 64 65  ons", "secure_de
4030: 6c 65 74 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f  lete", "1", TCL_
4040: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4050: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4060: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
4070: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 65 63  e_options", "sec
4080: 75 72 65 5f 64 65 6c 65 74 65 22 2c 20 22 30 22  ure_delete", "0"
4090: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
40a0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
40b0: 65 66 20 59 59 54 52 41 43 4b 4d 41 58 53 54 41  ef YYTRACKMAXSTA
40c0: 43 4b 44 45 50 54 48 0a 20 20 54 63 6c 5f 53 65  CKDEPTH.  Tcl_Se
40d0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
40e0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
40f0: 22 79 79 74 72 61 63 6b 6d 61 78 73 74 61 63 6b  "yytrackmaxstack
4100: 64 65 70 74 68 22 2c 20 22 31 22 2c 20 54 43 4c  depth", "1", TCL
4110: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
4120: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
4130: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
4140: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 79 79  te_options", "yy
4150: 74 72 61 63 6b 6d 61 78 73 74 61 63 6b 64 65 70  trackmaxstackdep
4160: 74 68 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  th", "0", TCL_GL
4170: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
4180: 69 66 0a 0a 23 64 65 66 69 6e 65 20 4c 49 4e 4b  if..#define LINK
4190: 56 41 52 28 78 29 20 7b 20 5c 0a 20 20 20 20 73  VAR(x) { \.    s
41a0: 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74 20  tatic const int 
41b0: 63 76 5f 20 23 23 20 78 20 3d 20 53 51 4c 49 54  cv_ ## x = SQLIT
41c0: 45 5f 20 23 23 20 78 3b 20 5c 0a 20 20 20 20 54  E_ ## x; \.    T
41d0: 63 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74 65 72  cl_LinkVar(inter
41e0: 70 2c 20 22 53 51 4c 49 54 45 5f 22 20 23 78 2c  p, "SQLITE_" #x,
41f0: 20 28 63 68 61 72 20 2a 29 26 28 63 76 5f 20 23   (char *)&(cv_ #
4200: 23 20 78 29 2c 20 5c 0a 20 20 20 20 20 20 20 20  # x), \.        
4210: 20 20 20 20 20 20 20 20 54 43 4c 5f 4c 49 4e 4b          TCL_LINK
4220: 5f 49 4e 54 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f  _INT | TCL_LINK_
4230: 52 45 41 44 5f 4f 4e 4c 59 29 3b 20 7d 0a 0a 20  READ_ONLY); }.. 
4240: 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 4c 45   LINKVAR( MAX_LE
4250: 4e 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  NGTH );.  LINKVA
4260: 52 28 20 4d 41 58 5f 43 4f 4c 55 4d 4e 20 29 3b  R( MAX_COLUMN );
4270: 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f  .  LINKVAR( MAX_
4280: 53 51 4c 5f 4c 45 4e 47 54 48 20 29 3b 0a 20 20  SQL_LENGTH );.  
4290: 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 45 58 50  LINKVAR( MAX_EXP
42a0: 52 5f 44 45 50 54 48 20 29 3b 0a 20 20 4c 49 4e  R_DEPTH );.  LIN
42b0: 4b 56 41 52 28 20 4d 41 58 5f 43 4f 4d 50 4f 55  KVAR( MAX_COMPOU
42c0: 4e 44 5f 53 45 4c 45 43 54 20 29 3b 0a 20 20 4c  ND_SELECT );.  L
42d0: 49 4e 4b 56 41 52 28 20 4d 41 58 5f 56 44 42 45  INKVAR( MAX_VDBE
42e0: 5f 4f 50 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  _OP );.  LINKVAR
42f0: 28 20 4d 41 58 5f 46 55 4e 43 54 49 4f 4e 5f 41  ( MAX_FUNCTION_A
4300: 52 47 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28  RG );.  LINKVAR(
4310: 20 4d 41 58 5f 56 41 52 49 41 42 4c 45 5f 4e 55   MAX_VARIABLE_NU
4320: 4d 42 45 52 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  MBER );.  LINKVA
4330: 52 28 20 4d 41 58 5f 50 41 47 45 5f 53 49 5a 45  R( MAX_PAGE_SIZE
4340: 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d   );.  LINKVAR( M
4350: 41 58 5f 50 41 47 45 5f 43 4f 55 4e 54 20 29 3b  AX_PAGE_COUNT );
4360: 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f  .  LINKVAR( MAX_
4370: 4c 49 4b 45 5f 50 41 54 54 45 52 4e 5f 4c 45 4e  LIKE_PATTERN_LEN
4380: 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  GTH );.  LINKVAR
4390: 28 20 44 45 46 41 55 4c 54 5f 54 45 4d 50 5f 43  ( DEFAULT_TEMP_C
43a0: 41 43 48 45 5f 53 49 5a 45 20 29 3b 0a 20 20 4c  ACHE_SIZE );.  L
43b0: 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f  INKVAR( DEFAULT_
43c0: 43 41 43 48 45 5f 53 49 5a 45 20 29 3b 0a 20 20  CACHE_SIZE );.  
43d0: 4c 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54  LINKVAR( DEFAULT
43e0: 5f 50 41 47 45 5f 53 49 5a 45 20 29 3b 0a 20 20  _PAGE_SIZE );.  
43f0: 4c 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54  LINKVAR( DEFAULT
4400: 5f 46 49 4c 45 5f 46 4f 52 4d 41 54 20 29 3b 0a  _FILE_FORMAT );.
4410: 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 41    LINKVAR( MAX_A
4420: 54 54 41 43 48 45 44 20 29 3b 0a 0a 20 20 7b 0a  TTACHED );..  {.
4430: 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74      static const
4440: 20 69 6e 74 20 63 76 5f 54 45 4d 50 5f 53 54 4f   int cv_TEMP_STO
4450: 52 45 20 3d 20 53 51 4c 49 54 45 5f 54 45 4d 50  RE = SQLITE_TEMP
4460: 5f 53 54 4f 52 45 3b 0a 20 20 20 20 54 63 6c 5f  _STORE;.    Tcl_
4470: 4c 69 6e 6b 56 61 72 28 69 6e 74 65 72 70 2c 20  LinkVar(interp, 
4480: 22 54 45 4d 50 5f 53 54 4f 52 45 22 2c 20 28 63  "TEMP_STORE", (c
4490: 68 61 72 20 2a 29 26 28 63 76 5f 54 45 4d 50 5f  har *)&(cv_TEMP_
44a0: 53 54 4f 52 45 29 2c 0a 20 20 20 20 20 20 20 20  STORE),.        
44b0: 20 20 20 20 20 20 20 20 54 43 4c 5f 4c 49 4e 4b          TCL_LINK
44c0: 5f 49 4e 54 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f  _INT | TCL_LINK_
44d0: 52 45 41 44 5f 4f 4e 4c 59 29 3b 0a 20 20 7d 0a  READ_ONLY);.  }.
44e0: 7d 0a 0a 0a 2f 2a 0a 2a 2a 20 52 65 67 69 73 74  }.../*.** Regist
44f0: 65 72 20 63 6f 6d 6d 61 6e 64 73 20 77 69 74 68  er commands with
4500: 20 74 68 65 20 54 43 4c 20 69 6e 74 65 72 70 72   the TCL interpr
4510: 65 74 65 72 2e 0a 2a 2f 0a 69 6e 74 20 53 71 6c  eter..*/.int Sql
4520: 69 74 65 63 6f 6e 66 69 67 5f 49 6e 69 74 28 54  iteconfig_Init(T
4530: 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72  cl_Interp *inter
4540: 70 29 7b 0a 20 20 73 65 74 5f 6f 70 74 69 6f 6e  p){.  set_option
4550: 73 28 69 6e 74 65 72 70 29 3b 0a 20 20 72 65 74  s(interp);.  ret
4560: 75 72 6e 20 54 43 4c 5f 4f 4b 3b 0a 7d 0a        urn TCL_OK;.}.