/ Hex Artifact Content
Login

Artifact abf6fc1fe9d041b699578c42e3db81f8831c4f5b804f1927958102ee8f2b773e:


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 4d 45 4d 53 59 53 33 0a 20  ENABLE_MEMSYS3. 
1290: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
12a0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
12b0: 69 6f 6e 73 22 2c 20 22 6d 65 6d 33 22 2c 20 22  ions", "mem3", "
12c0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
12d0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
12e0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
12f0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1300: 73 22 2c 20 22 6d 65 6d 33 22 2c 20 22 30 22 2c  s", "mem3", "0",
1310: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1320: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1330: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
1340: 4d 45 4d 53 59 53 35 0a 20 20 54 63 6c 5f 53 65  MEMSYS5.  Tcl_Se
1350: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1360: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1370: 22 6d 65 6d 35 22 2c 20 22 31 22 2c 20 54 43 4c  "mem5", "1", TCL
1380: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1390: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
13a0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
13b0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65  te_options", "me
13c0: 6d 35 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  m5", "0", TCL_GL
13d0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
13e0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
13f0: 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41  E_ENABLE_PREUPDA
1400: 54 45 5f 48 4f 4f 4b 0a 20 20 54 63 6c 5f 53 65  TE_HOOK.  Tcl_Se
1410: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1420: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1430: 22 70 72 65 75 70 64 61 74 65 22 2c 20 22 31 22  "preupdate", "1"
1440: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1450: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1460: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1470: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1480: 2c 20 22 70 72 65 75 70 64 61 74 65 22 2c 20 22  , "preupdate", "
1490: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
14a0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
14b0: 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  fdef SQLITE_ENAB
14c0: 4c 45 5f 53 4e 41 50 53 48 4f 54 0a 20 20 54 63  LE_SNAPSHOT.  Tc
14d0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
14e0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
14f0: 73 22 2c 20 22 73 6e 61 70 73 68 6f 74 22 2c 20  s", "snapshot", 
1500: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1510: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1520: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1530: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1540: 6e 73 22 2c 20 22 73 6e 61 70 73 68 6f 74 22 2c  ns", "snapshot",
1550: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1560: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
1570: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 55  #ifdef SQLITE_MU
1580: 54 45 58 5f 4f 4d 49 54 0a 20 20 54 63 6c 5f 53  TEX_OMIT.  Tcl_S
1590: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
15a0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
15b0: 20 22 6d 75 74 65 78 22 2c 20 22 30 22 2c 20 54   "mutex", "0", T
15c0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
15d0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
15e0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
15f0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1600: 6d 75 74 65 78 22 2c 20 22 31 22 2c 20 54 43 4c  mutex", "1", TCL
1610: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1620: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
1630: 4c 49 54 45 5f 4d 55 54 45 58 5f 4e 4f 4f 50 0a  LITE_MUTEX_NOOP.
1640: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1650: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1660: 74 69 6f 6e 73 22 2c 20 22 6d 75 74 65 78 5f 6e  tions", "mutex_n
1670: 6f 6f 70 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  oop", "1", TCL_G
1680: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1690: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
16a0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
16b0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 75 74 65  _options", "mute
16c0: 78 5f 6e 6f 6f 70 22 2c 20 22 30 22 2c 20 54 43  x_noop", "0", TC
16d0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
16e0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
16f0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 4c 54 45 52  QLITE_OMIT_ALTER
1700: 54 41 42 4c 45 0a 20 20 54 63 6c 5f 53 65 74 56  TABLE.  Tcl_SetV
1710: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1720: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
1730: 6c 74 65 72 74 61 62 6c 65 22 2c 20 22 30 22 2c  ltertable", "0",
1740: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1750: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1760: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1770: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1780: 20 22 61 6c 74 65 72 74 61 62 6c 65 22 2c 20 22   "altertable", "
1790: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
17a0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
17b0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
17c0: 5f 41 4e 41 4c 59 5a 45 0a 20 20 54 63 6c 5f 53  _ANALYZE.  Tcl_S
17d0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
17e0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
17f0: 20 22 61 6e 61 6c 79 7a 65 22 2c 20 22 30 22 2c   "analyze", "0",
1800: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1810: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1820: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1830: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1840: 20 22 61 6e 61 6c 79 7a 65 22 2c 20 22 31 22 2c   "analyze", "1",
1850: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1860: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1870: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
1880: 41 50 49 5f 41 52 4d 4f 52 0a 20 20 54 63 6c 5f  API_ARMOR.  Tcl_
1890: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
18a0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
18b0: 2c 20 22 61 70 69 5f 61 72 6d 6f 72 22 2c 20 22  , "api_armor", "
18c0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
18d0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
18e0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
18f0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1900: 73 22 2c 20 22 61 70 69 5f 61 72 6d 6f 72 22 2c  s", "api_armor",
1910: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1920: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
1930: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
1940: 41 42 4c 45 5f 41 54 4f 4d 49 43 5f 57 52 49 54  ABLE_ATOMIC_WRIT
1950: 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  E.  Tcl_SetVar2(
1960: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1970: 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74 6f 6d 69  options", "atomi
1980: 63 77 72 69 74 65 22 2c 20 22 31 22 2c 20 54 43  cwrite", "1", TC
1990: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
19a0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
19b0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
19c0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
19d0: 74 6f 6d 69 63 77 72 69 74 65 22 2c 20 22 30 22  tomicwrite", "0"
19e0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
19f0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1a00: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
1a10: 5f 4a 53 4f 4e 31 0a 20 20 54 63 6c 5f 53 65 74  _JSON1.  Tcl_Set
1a20: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1a30: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1a40: 6a 73 6f 6e 31 22 2c 20 22 31 22 2c 20 54 43 4c  json1", "1", TCL
1a50: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1a60: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1a70: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1a80: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6a 73  te_options", "js
1a90: 6f 6e 31 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  on1", "0", TCL_G
1aa0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1ab0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1ac0: 54 45 5f 4c 49 4b 45 5f 44 4f 45 53 4e 54 5f 4d  TE_LIKE_DOESNT_M
1ad0: 41 54 43 48 5f 42 4c 4f 42 53 0a 20 20 54 63 6c  ATCH_BLOBS.  Tcl
1ae0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1af0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1b00: 22 2c 20 22 6c 69 6b 65 5f 6d 61 74 63 68 5f 62  ", "like_match_b
1b10: 6c 6f 62 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f  lobs", "0", TCL_
1b20: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1b30: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
1b40: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1b50: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 69 6b  e_options", "lik
1b60: 65 5f 6d 61 74 63 68 5f 62 6c 6f 62 73 22 2c 20  e_match_blobs", 
1b70: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1b80: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1b90: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
1ba0: 54 5f 41 54 54 41 43 48 0a 20 20 54 63 6c 5f 53  T_ATTACH.  Tcl_S
1bb0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1bc0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1bd0: 20 22 61 74 74 61 63 68 22 2c 20 22 30 22 2c 20   "attach", "0", 
1be0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1bf0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
1c00: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1c10: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1c20: 22 61 74 74 61 63 68 22 2c 20 22 31 22 2c 20 54  "attach", "1", T
1c30: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1c40: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
1c50: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 48  SQLITE_OMIT_AUTH
1c60: 4f 52 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f  ORIZATION.  Tcl_
1c70: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1c80: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1c90: 2c 20 22 61 75 74 68 22 2c 20 22 30 22 2c 20 54  , "auth", "0", T
1ca0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1cb0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1cc0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1cd0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1ce0: 61 75 74 68 22 2c 20 22 31 22 2c 20 54 43 4c 5f  auth", "1", TCL_
1cf0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1d00: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1d10: 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 49 4e 43  ITE_OMIT_AUTOINC
1d20: 52 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53 65 74  REMENT.  Tcl_Set
1d30: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1d40: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1d50: 61 75 74 6f 69 6e 63 22 2c 20 22 30 22 2c 20 54  autoinc", "0", T
1d60: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1d70: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1d80: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1d90: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1da0: 61 75 74 6f 69 6e 63 22 2c 20 22 31 22 2c 20 54  autoinc", "1", T
1db0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1dc0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
1dd0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f  SQLITE_OMIT_AUTO
1de0: 4d 41 54 49 43 5f 49 4e 44 45 58 0a 20 20 54 63  MATIC_INDEX.  Tc
1df0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1e00: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1e10: 73 22 2c 20 22 61 75 74 6f 69 6e 64 65 78 22 2c  s", "autoindex",
1e20: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1e30: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
1e40: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
1e50: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1e60: 6f 6e 73 22 2c 20 22 61 75 74 6f 69 6e 64 65 78  ons", "autoindex
1e70: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
1e80: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
1e90: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
1ea0: 4f 4d 49 54 5f 41 55 54 4f 52 45 53 45 54 0a 20  OMIT_AUTORESET. 
1eb0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1ec0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1ed0: 69 6f 6e 73 22 2c 20 22 61 75 74 6f 72 65 73 65  ions", "autorese
1ee0: 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  t", "0", TCL_GLO
1ef0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
1f00: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1f10: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1f20: 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f 72 65  ptions", "autore
1f30: 73 65 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  set", "1", TCL_G
1f40: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1f50: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1f60: 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 56 41 43 55  TE_OMIT_AUTOVACU
1f70: 55 4d 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  UM.  Tcl_SetVar2
1f80: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1f90: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f  _options", "auto
1fa0: 76 61 63 75 75 6d 22 2c 20 22 30 22 2c 20 54 43  vacuum", "0", TC
1fb0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1fc0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1fd0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1fe0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
1ff0: 75 74 6f 76 61 63 75 75 6d 22 2c 20 22 31 22 2c  utovacuum", "1",
2000: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2010: 29 3b 0a 23 65 6e 64 69 66 20 2f 2a 20 53 51 4c  );.#endif /* SQL
2020: 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 56 41 43  ITE_OMIT_AUTOVAC
2030: 55 55 4d 20 2a 2f 0a 23 69 66 20 21 64 65 66 69  UUM */.#if !defi
2040: 6e 65 64 28 53 51 4c 49 54 45 5f 44 45 46 41 55  ned(SQLITE_DEFAU
2050: 4c 54 5f 41 55 54 4f 56 41 43 55 55 4d 29 0a 20  LT_AUTOVACUUM). 
2060: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2070: 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70 74 69  erp,"sqlite_opti
2080: 6f 6e 73 22 2c 22 64 65 66 61 75 6c 74 5f 61 75  ons","default_au
2090: 74 6f 76 61 63 75 75 6d 22 2c 22 30 22 2c 54 43  tovacuum","0",TC
20a0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
20b0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
20c0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
20d0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64  ite_options", "d
20e0: 65 66 61 75 6c 74 5f 61 75 74 6f 76 61 63 75 75  efault_autovacuu
20f0: 6d 22 2c 20 0a 20 20 20 20 20 20 53 54 52 49 4e  m", .      STRIN
2100: 47 56 41 4c 55 45 28 53 51 4c 49 54 45 5f 44 45  GVALUE(SQLITE_DE
2110: 46 41 55 4c 54 5f 41 55 54 4f 56 41 43 55 55 4d  FAULT_AUTOVACUUM
2120: 29 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ), TCL_GLOBAL_ON
2130: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
2140: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
2150: 42 45 54 57 45 45 4e 5f 4f 50 54 49 4d 49 5a 41  BETWEEN_OPTIMIZA
2160: 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61  TION.  Tcl_SetVa
2170: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2180: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62 65  te_options", "be
2190: 74 77 65 65 6e 5f 6f 70 74 22 2c 20 22 30 22 2c  tween_opt", "0",
21a0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
21b0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
21c0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
21d0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
21e0: 20 22 62 65 74 77 65 65 6e 5f 6f 70 74 22 2c 20   "between_opt", 
21f0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
2200: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
2210: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 55 4e 54  ifdef SQLITE_UNT
2220: 45 53 54 41 42 4c 45 0a 20 20 54 63 6c 5f 53 65  ESTABLE.  Tcl_Se
2230: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2240: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2250: 22 62 75 69 6c 74 69 6e 5f 74 65 73 74 22 2c 20  "builtin_test", 
2260: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2270: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2280: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2290: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
22a0: 6e 73 22 2c 20 22 62 75 69 6c 74 69 6e 5f 74 65  ns", "builtin_te
22b0: 73 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  st", "1", TCL_GL
22c0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
22d0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
22e0: 45 5f 4f 4d 49 54 5f 42 4c 4f 42 5f 4c 49 54 45  E_OMIT_BLOB_LITE
22f0: 52 41 4c 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  RAL.  Tcl_SetVar
2300: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2310: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62 6c 6f  e_options", "blo
2320: 62 6c 69 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f  blit", "0", TCL_
2330: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2340: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
2350: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2360: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62 6c 6f  e_options", "blo
2370: 62 6c 69 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  blit", "1", TCL_
2380: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2390: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
23a0: 49 54 45 5f 4f 4d 49 54 5f 43 41 53 54 0a 20 20  ITE_OMIT_CAST.  
23b0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
23c0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
23d0: 6f 6e 73 22 2c 20 22 63 61 73 74 22 2c 20 22 30  ons", "cast", "0
23e0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
23f0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2400: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2410: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2420: 22 2c 20 22 63 61 73 74 22 2c 20 22 31 22 2c 20  ", "cast", "1", 
2430: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2440: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
2450: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 48 45   SQLITE_OMIT_CHE
2460: 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  CK.  Tcl_SetVar2
2470: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2480: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 68 65 63  _options", "chec
2490: 6b 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  k", "0", TCL_GLO
24a0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
24b0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
24c0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
24d0: 70 74 69 6f 6e 73 22 2c 20 22 63 68 65 63 6b 22  ptions", "check"
24e0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
24f0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
2500: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
2510: 4d 49 54 5f 43 54 45 0a 20 20 54 63 6c 5f 53 65  MIT_CTE.  Tcl_Se
2520: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2530: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2540: 22 63 74 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f  "cte", "0", TCL_
2550: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2560: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
2570: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2580: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 74 65  e_options", "cte
2590: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
25a0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
25b0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
25c0: 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d 45  ENABLE_COLUMN_ME
25d0: 54 41 44 41 54 41 0a 20 20 54 63 6c 5f 53 65 74  TADATA.  Tcl_Set
25e0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
25f0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2600: 63 6f 6c 75 6d 6e 6d 65 74 61 64 61 74 61 22 2c  columnmetadata",
2610: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2620: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
2630: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2640: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2650: 6f 6e 73 22 2c 20 22 63 6f 6c 75 6d 6e 6d 65 74  ons", "columnmet
2660: 61 64 61 74 61 22 2c 20 22 30 22 2c 20 54 43 4c  adata", "0", TCL
2670: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2680: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
2690: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 56 45 52  LITE_ENABLE_OVER
26a0: 53 49 5a 45 5f 43 45 4c 4c 5f 43 48 45 43 4b 0a  SIZE_CELL_CHECK.
26b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
26c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
26d0: 74 69 6f 6e 73 22 2c 20 22 6f 76 65 72 73 69 7a  tions", "oversiz
26e0: 65 5f 63 65 6c 6c 5f 63 68 65 63 6b 22 2c 20 22  e_cell_check", "
26f0: 31 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  1",.            
2700: 20 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c    TCL_GLOBAL_ONL
2710: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
2720: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2730: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2740: 2c 20 22 6f 76 65 72 73 69 7a 65 5f 63 65 6c 6c  , "oversize_cell
2750: 5f 63 68 65 63 6b 22 2c 20 22 30 22 2c 0a 20 20  _check", "0",.  
2760: 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c 5f              TCL_
2770: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2780: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2790: 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d 50 49 4c 45  ITE_OMIT_COMPILE
27a0: 4f 50 54 49 4f 4e 5f 44 49 41 47 53 0a 20 20 54  OPTION_DIAGS.  T
27b0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
27c0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
27d0: 6e 73 22 2c 20 22 63 6f 6d 70 69 6c 65 6f 70 74  ns", "compileopt
27e0: 69 6f 6e 5f 64 69 61 67 73 22 2c 20 22 30 22 2c  ion_diags", "0",
27f0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2800: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2810: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2820: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2830: 20 22 63 6f 6d 70 69 6c 65 6f 70 74 69 6f 6e 5f   "compileoption_
2840: 64 69 61 67 73 22 2c 20 22 31 22 2c 20 54 43 4c  diags", "1", TCL
2850: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2860: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
2870: 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d 50 4c 45  LITE_OMIT_COMPLE
2880: 54 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  TE.  Tcl_SetVar2
2890: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
28a0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70  _options", "comp
28b0: 6c 65 74 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f  lete", "0", TCL_
28c0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
28d0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
28e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
28f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d  e_options", "com
2900: 70 6c 65 74 65 22 2c 20 22 31 22 2c 20 54 43 4c  plete", "1", TCL
2910: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2920: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
2930: 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d 50 4f 55  LITE_OMIT_COMPOU
2940: 4e 44 5f 53 45 4c 45 43 54 0a 20 20 54 63 6c 5f  ND_SELECT.  Tcl_
2950: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2960: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2970: 2c 20 22 63 6f 6d 70 6f 75 6e 64 22 2c 20 22 30  , "compound", "0
2980: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2990: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
29a0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
29b0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
29c0: 22 2c 20 22 63 6f 6d 70 6f 75 6e 64 22 2c 20 22  ", "compound", "
29d0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
29e0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20  NLY);.#endif..  
29f0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2a00: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2a10: 6f 6e 73 22 2c 20 22 63 6f 6e 66 6c 69 63 74 22  ons", "conflict"
2a20: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
2a30: 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 54 63 6c 5f 53  L_ONLY);.  Tcl_S
2a40: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2a50: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2a60: 20 22 63 72 61 73 68 74 65 73 74 22 2c 20 22 31   "crashtest", "1
2a70: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2a80: 4c 59 29 3b 0a 0a 23 69 66 64 65 66 20 53 51 4c  LY);..#ifdef SQL
2a90: 49 54 45 5f 4f 4d 49 54 5f 44 41 54 45 54 49 4d  ITE_OMIT_DATETIM
2aa0: 45 5f 46 55 4e 43 53 0a 20 20 54 63 6c 5f 53 65  E_FUNCS.  Tcl_Se
2ab0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2ac0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2ad0: 22 64 61 74 65 74 69 6d 65 22 2c 20 22 30 22 2c  "datetime", "0",
2ae0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2af0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2b00: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2b10: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2b20: 20 22 64 61 74 65 74 69 6d 65 22 2c 20 22 31 22   "datetime", "1"
2b30: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2b40: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2b50: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44  ef SQLITE_OMIT_D
2b60: 45 43 4c 54 59 50 45 0a 20 20 54 63 6c 5f 53 65  ECLTYPE.  Tcl_Se
2b70: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2b80: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2b90: 22 64 65 63 6c 74 79 70 65 22 2c 20 22 30 22 2c  "decltype", "0",
2ba0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2bb0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2bc0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2bd0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2be0: 20 22 64 65 63 6c 74 79 70 65 22 2c 20 22 31 22   "decltype", "1"
2bf0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2c00: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2c10: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44  ef SQLITE_OMIT_D
2c20: 45 50 52 45 43 41 54 45 44 0a 20 20 54 63 6c 5f  EPRECATED.  Tcl_
2c30: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2c40: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2c50: 2c 20 22 64 65 70 72 65 63 61 74 65 64 22 2c 20  , "deprecated", 
2c60: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2c70: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2c80: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2c90: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2ca0: 6e 73 22 2c 20 22 64 65 70 72 65 63 61 74 65 64  ns", "deprecated
2cb0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2cc0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2cd0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2ce0: 4f 4d 49 54 5f 44 49 53 4b 49 4f 0a 20 20 54 63  OMIT_DISKIO.  Tc
2cf0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2d00: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2d10: 73 22 2c 20 22 64 69 73 6b 69 6f 22 2c 20 22 30  s", "diskio", "0
2d20: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2d30: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2d40: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2d50: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2d60: 22 2c 20 22 64 69 73 6b 69 6f 22 2c 20 22 31 22  ", "diskio", "1"
2d70: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2d80: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2d90: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 45  ef SQLITE_OMIT_E
2da0: 58 50 4c 41 49 4e 0a 20 20 54 63 6c 5f 53 65 74  XPLAIN.  Tcl_Set
2db0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2dc0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2dd0: 65 78 70 6c 61 69 6e 22 2c 20 22 30 22 2c 20 54  explain", "0", T
2de0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2df0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2e00: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2e10: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2e20: 65 78 70 6c 61 69 6e 22 2c 20 22 31 22 2c 20 54  explain", "1", T
2e30: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2e40: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
2e50: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4c 4f 41  SQLITE_OMIT_FLOA
2e60: 54 49 4e 47 5f 50 4f 49 4e 54 0a 20 20 54 63 6c  TING_POINT.  Tcl
2e70: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2e80: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2e90: 22 2c 20 22 66 6c 6f 61 74 69 6e 67 70 6f 69 6e  ", "floatingpoin
2ea0: 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  t", "0", TCL_GLO
2eb0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
2ec0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2ed0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2ee0: 70 74 69 6f 6e 73 22 2c 20 22 66 6c 6f 61 74 69  ptions", "floati
2ef0: 6e 67 70 6f 69 6e 74 22 2c 20 22 31 22 2c 20 54  ngpoint", "1", T
2f00: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2f10: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
2f20: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 52 45  SQLITE_OMIT_FORE
2f30: 49 47 4e 5f 4b 45 59 0a 20 20 54 63 6c 5f 53 65  IGN_KEY.  Tcl_Se
2f40: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2f50: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2f60: 22 66 6f 72 65 69 67 6e 6b 65 79 22 2c 20 22 30  "foreignkey", "0
2f70: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2f80: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2f90: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2fa0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2fb0: 22 2c 20 22 66 6f 72 65 69 67 6e 6b 65 79 22 2c  ", "foreignkey",
2fc0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2fd0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2fe0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
2ff0: 41 42 4c 45 5f 46 54 53 31 0a 20 20 54 63 6c 5f  ABLE_FTS1.  Tcl_
3000: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3010: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3020: 2c 20 22 66 74 73 31 22 2c 20 22 31 22 2c 20 54  , "fts1", "1", T
3030: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3040: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3050: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3060: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3070: 66 74 73 31 22 2c 20 22 30 22 2c 20 54 43 4c 5f  fts1", "0", TCL_
3080: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3090: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
30a0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 32 0a  ITE_ENABLE_FTS2.
30b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
30c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
30d0: 74 69 6f 6e 73 22 2c 20 22 66 74 73 32 22 2c 20  tions", "fts2", 
30e0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
30f0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
3100: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3110: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3120: 6e 73 22 2c 20 22 66 74 73 32 22 2c 20 22 30 22  ns", "fts2", "0"
3130: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3140: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
3150: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
3160: 5f 46 54 53 33 0a 20 20 54 63 6c 5f 53 65 74 56  _FTS3.  Tcl_SetV
3170: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3180: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
3190: 74 73 33 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ts3", "1", TCL_G
31a0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
31b0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
31c0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
31d0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 33  _options", "fts3
31e0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
31f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3200: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
3210: 45 4e 41 42 4c 45 5f 46 54 53 35 0a 20 20 54 63  ENABLE_FTS5.  Tc
3220: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3230: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3240: 73 22 2c 20 22 66 74 73 35 22 2c 20 22 31 22 2c  s", "fts5", "1",
3250: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3260: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3270: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3280: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3290: 20 22 66 74 73 35 22 2c 20 22 30 22 2c 20 54 43   "fts5", "0", TC
32a0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
32b0: 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66 69  #endif..#if defi
32c0: 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ned(SQLITE_ENABL
32d0: 45 5f 46 54 53 33 29 20 26 26 20 21 64 65 66 69  E_FTS3) && !defi
32e0: 6e 65 64 28 53 51 4c 49 54 45 5f 44 49 53 41 42  ned(SQLITE_DISAB
32f0: 4c 45 5f 46 54 53 33 5f 55 4e 49 43 4f 44 45 29  LE_FTS3_UNICODE)
3300: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3310: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3320: 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 33 5f 75  ptions", "fts3_u
3330: 6e 69 63 6f 64 65 22 2c 20 22 31 22 2c 20 54 43  nicode", "1", TC
3340: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3350: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
3360: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3370: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
3380: 74 73 33 5f 75 6e 69 63 6f 64 65 22 2c 20 22 30  ts3_unicode", "0
3390: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
33a0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
33b0: 64 65 66 20 53 51 4c 49 54 45 5f 44 49 53 41 42  def SQLITE_DISAB
33c0: 4c 45 5f 46 54 53 34 5f 44 45 46 45 52 52 45 44  LE_FTS4_DEFERRED
33d0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
33e0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
33f0: 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 34 5f 64  ptions", "fts4_d
3400: 65 66 65 72 72 65 64 22 2c 20 22 30 22 2c 20 54  eferred", "0", T
3410: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3420: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3430: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3440: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3450: 66 74 73 34 5f 64 65 66 65 72 72 65 64 22 2c 20  fts4_deferred", 
3460: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
3470: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
3480: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
3490: 54 5f 47 45 54 5f 54 41 42 4c 45 0a 20 20 54 63  T_GET_TABLE.  Tc
34a0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
34b0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
34c0: 73 22 2c 20 22 67 65 74 74 61 62 6c 65 22 2c 20  s", "gettable", 
34d0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
34e0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
34f0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3500: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3510: 6e 73 22 2c 20 22 67 65 74 74 61 62 6c 65 22 2c  ns", "gettable",
3520: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
3530: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
3540: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
3550: 41 42 4c 45 5f 49 43 55 0a 20 20 54 63 6c 5f 53  ABLE_ICU.  Tcl_S
3560: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3570: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3580: 20 22 69 63 75 22 2c 20 22 31 22 2c 20 54 43 4c   "icu", "1", TCL
3590: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
35a0: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
35b0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
35c0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 63  te_options", "ic
35d0: 75 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  u", "0", TCL_GLO
35e0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
35f0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
3600: 5f 4f 4d 49 54 5f 49 4e 43 52 42 4c 4f 42 0a 20  _OMIT_INCRBLOB. 
3610: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3620: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
3630: 69 6f 6e 73 22 2c 20 22 69 6e 63 72 62 6c 6f 62  ions", "incrblob
3640: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3650: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
3660: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3670: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3680: 74 69 6f 6e 73 22 2c 20 22 69 6e 63 72 62 6c 6f  tions", "incrblo
3690: 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  b", "1", TCL_GLO
36a0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
36b0: 66 20 2f 2a 20 53 51 4c 49 54 45 5f 4f 4d 49 54  f /* SQLITE_OMIT
36c0: 5f 41 55 54 4f 56 41 43 55 55 4d 20 2a 2f 0a 0a  _AUTOVACUUM */..
36d0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
36e0: 49 54 5f 49 4e 54 45 47 52 49 54 59 5f 43 48 45  IT_INTEGRITY_CHE
36f0: 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  CK.  Tcl_SetVar2
3700: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3710: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 74 65  _options", "inte
3720: 67 72 69 74 79 63 6b 22 2c 20 22 30 22 2c 20 54  grityck", "0", T
3730: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3740: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3750: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3760: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3770: 69 6e 74 65 67 72 69 74 79 63 6b 22 2c 20 22 31  integrityck", "1
3780: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3790: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
37a0: 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f   defined(SQLITE_
37b0: 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52  DEFAULT_FILE_FOR
37c0: 4d 41 54 29 20 26 26 20 53 51 4c 49 54 45 5f 44  MAT) && SQLITE_D
37d0: 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d  EFAULT_FILE_FORM
37e0: 41 54 3d 3d 31 0a 20 20 54 63 6c 5f 53 65 74 56  AT==1.  Tcl_SetV
37f0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3800: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c  ite_options", "l
3810: 65 67 61 63 79 66 6f 72 6d 61 74 22 2c 20 22 31  egacyformat", "1
3820: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3830: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3840: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3850: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3860: 22 2c 20 22 6c 65 67 61 63 79 66 6f 72 6d 61 74  ", "legacyformat
3870: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3880: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3890: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
38a0: 4f 4d 49 54 5f 4c 49 4b 45 5f 4f 50 54 49 4d 49  OMIT_LIKE_OPTIMI
38b0: 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74  ZATION.  Tcl_Set
38c0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
38d0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
38e0: 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 30 22 2c 20  like_opt", "0", 
38f0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3900: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
3910: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3920: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3930: 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 31 22 2c  "like_opt", "1",
3940: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3950: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
3960: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f  f SQLITE_OMIT_LO
3970: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a 20 20 54  AD_EXTENSION.  T
3980: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3990: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
39a0: 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78 74 22 2c  ns", "load_ext",
39b0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
39c0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
39d0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
39e0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
39f0: 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78 74 22  ons", "load_ext"
3a00: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
3a10: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
3a20: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
3a30: 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45 0a 20 20  MIT_LOCALTIME.  
3a40: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3a50: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3a60: 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74 69 6d 65  ons", "localtime
3a70: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3a80: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
3a90: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3aa0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3ab0: 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74 69  tions", "localti
3ac0: 6d 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  me", "1", TCL_GL
3ad0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
3ae0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
3af0: 45 5f 4f 4d 49 54 5f 4c 4f 4f 4b 41 53 49 44 45  E_OMIT_LOOKASIDE
3b00: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3b10: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3b20: 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f 6b 61 73  ptions", "lookas
3b30: 69 64 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ide", "0", TCL_G
3b40: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
3b50: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
3b60: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3b70: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f 6b  _options", "look
3b80: 61 73 69 64 65 22 2c 20 22 31 22 2c 20 54 43 4c  aside", "1", TCL
3b90: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3ba0: 65 6e 64 69 66 0a 0a 54 63 6c 5f 53 65 74 56 61  endif..Tcl_SetVa
3bb0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
3bc0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f  te_options", "lo
3bd0: 6e 67 5f 64 6f 75 62 6c 65 22 2c 0a 20 20 20 20  ng_double",.    
3be0: 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 6f 66            sizeof
3bf0: 28 4c 4f 4e 47 44 4f 55 42 4c 45 5f 54 59 50 45  (LONGDOUBLE_TYPE
3c00: 29 3e 73 69 7a 65 6f 66 28 64 6f 75 62 6c 65 29  )>sizeof(double)
3c10: 20 3f 20 22 31 22 20 3a 20 22 30 22 2c 0a 20 20   ? "1" : "0",.  
3c20: 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c 5f              TCL_
3c30: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a 23  GLOBAL_ONLY);..#
3c40: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
3c50: 54 5f 4d 45 4d 4f 52 59 44 42 0a 20 20 54 63 6c  T_MEMORYDB.  Tcl
3c60: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3c70: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3c80: 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22 2c 20 22  ", "memorydb", "
3c90: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
3ca0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
3cb0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3cc0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3cd0: 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22 2c 20  s", "memorydb", 
3ce0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
3cf0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
3d00: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41  ifdef SQLITE_ENA
3d10: 42 4c 45 5f 4d 45 4d 4f 52 59 5f 4d 41 4e 41 47  BLE_MEMORY_MANAG
3d20: 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53 65 74 56  EMENT.  Tcl_SetV
3d30: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3d40: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d  ite_options", "m
3d50: 65 6d 6f 72 79 6d 61 6e 61 67 65 22 2c 20 22 31  emorymanage", "1
3d60: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3d70: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3d80: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3d90: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3da0: 22 2c 20 22 6d 65 6d 6f 72 79 6d 61 6e 61 67 65  ", "memorymanage
3db0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3dc0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3dd0: 0a 0a 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e  ..Tcl_SetVar2(in
3de0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3df0: 74 69 6f 6e 73 22 2c 20 22 6d 65 72 67 65 73 6f  tions", "mergeso
3e00: 72 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  rt", "1", TCL_GL
3e10: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a 23 69 66  OBAL_ONLY);..#if
3e20: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
3e30: 4f 52 5f 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 0a  OR_OPTIMIZATION.
3e40: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3e50: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3e60: 74 69 6f 6e 73 22 2c 20 22 6f 72 5f 6f 70 74 22  tions", "or_opt"
3e70: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
3e80: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
3e90: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3ea0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
3eb0: 69 6f 6e 73 22 2c 20 22 6f 72 5f 6f 70 74 22 2c  ions", "or_opt",
3ec0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
3ed0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
3ee0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
3ef0: 41 42 4c 45 5f 52 42 55 0a 20 20 54 63 6c 5f 53  ABLE_RBU.  Tcl_S
3f00: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3f10: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3f20: 20 22 72 62 75 22 2c 20 22 31 22 2c 20 54 43 4c   "rbu", "1", TCL
3f30: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3f40: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
3f50: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
3f60: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72 62  te_options", "rb
3f70: 75 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  u", "0", TCL_GLO
3f80: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
3f90: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
3fa0: 5f 4f 4d 49 54 5f 50 41 47 45 52 5f 50 52 41 47  _OMIT_PAGER_PRAG
3fb0: 4d 41 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  MAS.  Tcl_SetVar
3fc0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3fd0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61 67  e_options", "pag
3fe0: 65 72 5f 70 72 61 67 6d 61 73 22 2c 20 22 30 22  er_pragmas", "0"
3ff0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4000: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
4010: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4020: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4030: 2c 20 22 70 61 67 65 72 5f 70 72 61 67 6d 61 73  , "pager_pragmas
4040: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
4050: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
4060: 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53 51  ..#if defined(SQ
4070: 4c 49 54 45 5f 4f 4d 49 54 5f 50 52 41 47 4d 41  LITE_OMIT_PRAGMA
4080: 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 53 51 4c  ) || defined(SQL
4090: 49 54 45 5f 4f 4d 49 54 5f 46 4c 41 47 5f 50 52  ITE_OMIT_FLAG_PR
40a0: 41 47 4d 41 53 29 0a 20 20 54 63 6c 5f 53 65 74  AGMAS).  Tcl_Set
40b0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
40c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
40d0: 70 72 61 67 6d 61 22 2c 20 22 30 22 2c 20 54 43  pragma", "0", TC
40e0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
40f0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4100: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4110: 74 69 6f 6e 73 22 2c 20 22 69 6e 74 65 67 72 69  tions", "integri
4120: 74 79 63 6b 22 2c 20 22 30 22 2c 20 54 43 4c 5f  tyck", "0", TCL_
4130: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4140: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4150: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
4160: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 72 61  e_options", "pra
4170: 67 6d 61 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  gma", "1", TCL_G
4180: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
4190: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
41a0: 54 45 5f 4f 4d 49 54 5f 50 52 4f 47 52 45 53 53  TE_OMIT_PROGRESS
41b0: 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 54 63 6c 5f  _CALLBACK.  Tcl_
41c0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
41d0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
41e0: 2c 20 22 70 72 6f 67 72 65 73 73 22 2c 20 22 30  , "progress", "0
41f0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
4200: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
4210: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4220: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4230: 22 2c 20 22 70 72 6f 67 72 65 73 73 22 2c 20 22  ", "progress", "
4240: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
4250: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
4260: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
4270: 5f 52 45 49 4e 44 45 58 0a 20 20 54 63 6c 5f 53  _REINDEX.  Tcl_S
4280: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4290: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
42a0: 20 22 72 65 69 6e 64 65 78 22 2c 20 22 30 22 2c   "reindex", "0",
42b0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
42c0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
42d0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
42e0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
42f0: 20 22 72 65 69 6e 64 65 78 22 2c 20 22 31 22 2c   "reindex", "1",
4300: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4310: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
4320: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
4330: 52 54 52 45 45 0a 20 20 54 63 6c 5f 53 65 74 56  RTREE.  Tcl_SetV
4340: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
4350: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72  ite_options", "r
4360: 74 72 65 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f  tree", "1", TCL_
4370: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4380: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4390: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
43a0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72 74 72  e_options", "rtr
43b0: 65 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ee", "0", TCL_GL
43c0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
43d0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
43e0: 45 5f 52 54 52 45 45 5f 49 4e 54 5f 4f 4e 4c 59  E_RTREE_INT_ONLY
43f0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
4400: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
4410: 70 74 69 6f 6e 73 22 2c 20 22 72 74 72 65 65 5f  ptions", "rtree_
4420: 69 6e 74 5f 6f 6e 6c 79 22 2c 20 22 31 22 2c 20  int_only", "1", 
4430: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
4440: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
4450: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
4460: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
4470: 22 72 74 72 65 65 5f 69 6e 74 5f 6f 6e 6c 79 22  "rtree_int_only"
4480: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
4490: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
44a0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
44b0: 4d 49 54 5f 53 43 48 45 4d 41 5f 50 52 41 47 4d  MIT_SCHEMA_PRAGM
44c0: 41 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  AS.  Tcl_SetVar2
44d0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
44e0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68 65  _options", "sche
44f0: 6d 61 5f 70 72 61 67 6d 61 73 22 2c 20 22 30 22  ma_pragmas", "0"
4500: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4510: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
4520: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4530: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4540: 2c 20 22 73 63 68 65 6d 61 5f 70 72 61 67 6d 61  , "schema_pragma
4550: 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  s", "1", TCL_GLO
4560: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
4570: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
4580: 5f 4f 4d 49 54 5f 53 43 48 45 4d 41 5f 56 45 52  _OMIT_SCHEMA_VER
4590: 53 49 4f 4e 5f 50 52 41 47 4d 41 53 0a 20 20 54  SION_PRAGMAS.  T
45a0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
45b0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
45c0: 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f 76 65 72  ns", "schema_ver
45d0: 73 69 6f 6e 22 2c 20 22 30 22 2c 20 54 43 4c 5f  sion", "0", TCL_
45e0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
45f0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4600: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
4610: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68  e_options", "sch
4620: 65 6d 61 5f 76 65 72 73 69 6f 6e 22 2c 20 22 31  ema_version", "1
4630: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
4640: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
4650: 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  def SQLITE_ENABL
4660: 45 5f 53 45 53 53 49 4f 4e 0a 20 20 54 63 6c 5f  E_SESSION.  Tcl_
4670: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4680: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4690: 2c 20 22 73 65 73 73 69 6f 6e 22 2c 20 22 31 22  , "session", "1"
46a0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
46b0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
46c0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
46d0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
46e0: 2c 20 22 73 65 73 73 69 6f 6e 22 2c 20 22 30 22  , "session", "0"
46f0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4700: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
4710: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
4720: 5f 53 54 41 54 34 0a 20 20 54 63 6c 5f 53 65 74  _STAT4.  Tcl_Set
4730: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
4740: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
4750: 73 74 61 74 34 22 2c 20 22 31 22 2c 20 54 43 4c  stat4", "1", TCL
4760: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
4770: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
4780: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
4790: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74  te_options", "st
47a0: 61 74 34 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  at4", "0", TCL_G
47b0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
47c0: 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64 28  dif.#if defined(
47d0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54  SQLITE_ENABLE_ST
47e0: 41 54 33 29 20 26 26 20 21 64 65 66 69 6e 65 64  AT3) && !defined
47f0: 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  (SQLITE_ENABLE_S
4800: 54 41 54 34 29 0a 20 20 54 63 6c 5f 53 65 74 56  TAT4).  Tcl_SetV
4810: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
4820: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73  ite_options", "s
4830: 74 61 74 33 22 2c 20 22 31 22 2c 20 54 43 4c 5f  tat3", "1", TCL_
4840: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4850: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4860: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
4870: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74 61  e_options", "sta
4880: 74 33 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  t3", "0", TCL_GL
4890: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
48a0: 69 66 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28  if..#if defined(
48b0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54  SQLITE_ENABLE_ST
48c0: 4d 54 56 54 41 42 29 20 26 26 20 21 64 65 66 69  MTVTAB) && !defi
48d0: 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  ned(SQLITE_OMIT_
48e0: 56 49 52 54 55 41 4c 54 41 42 4c 45 29 0a 20 20  VIRTUALTABLE).  
48f0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
4900: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
4910: 6f 6e 73 22 2c 20 22 73 74 6d 74 76 74 61 62 22  ons", "stmtvtab"
4920: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
4930: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
4940: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4950: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4960: 69 6f 6e 73 22 2c 20 22 73 74 6d 74 76 74 61 62  ions", "stmtvtab
4970: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
4980: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
4990: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
49a0: 45 4e 41 42 4c 45 5f 53 54 4d 54 5f 53 43 41 4e  ENABLE_STMT_SCAN
49b0: 53 54 41 54 55 53 0a 20 20 54 63 6c 5f 53 65 74  STATUS.  Tcl_Set
49c0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
49d0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
49e0: 73 63 61 6e 73 74 61 74 75 73 22 2c 20 22 31 22  scanstatus", "1"
49f0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4a00: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
4a10: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4a20: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4a30: 2c 20 22 73 63 61 6e 73 74 61 74 75 73 22 2c 20  , "scanstatus", 
4a40: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
4a50: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
4a60: 69 66 20 21 64 65 66 69 6e 65 64 28 53 51 4c 49  if !defined(SQLI
4a70: 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49 4e  TE_ENABLE_LOCKIN
4a80: 47 5f 53 54 59 4c 45 29 0a 23 20 20 69 66 20 64  G_STYLE).#  if d
4a90: 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c 45 5f 5f  efined(__APPLE__
4aa0: 29 0a 23 20 20 20 20 64 65 66 69 6e 65 20 53 51  ).#    define SQ
4ab0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b  LITE_ENABLE_LOCK
4ac0: 49 4e 47 5f 53 54 59 4c 45 20 31 0a 23 20 20 65  ING_STYLE 1.#  e
4ad0: 6c 73 65 0a 23 20 20 20 20 64 65 66 69 6e 65 20  lse.#    define 
4ae0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f  SQLITE_ENABLE_LO
4af0: 43 4b 49 4e 47 5f 53 54 59 4c 45 20 30 0a 23 20  CKING_STYLE 0.# 
4b00: 20 65 6e 64 69 66 0a 23 65 6e 64 69 66 0a 23 69   endif.#endif.#i
4b10: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
4b20: 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 20 26 26  LOCKING_STYLE &&
4b30: 20 64 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c 45   defined(__APPLE
4b40: 5f 5f 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  __).  Tcl_SetVar
4b50: 32 28 69 6e 74 65 72 70 2c 22 73 71 6c 69 74 65  2(interp,"sqlite
4b60: 5f 6f 70 74 69 6f 6e 73 22 2c 22 6c 6f 63 6b 5f  _options","lock_
4b70: 70 72 6f 78 79 5f 70 72 61 67 6d 61 73 22 2c 22  proxy_pragmas","
4b80: 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  1",TCL_GLOBAL_ON
4b90: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
4ba0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4bb0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4bc0: 2c 22 6c 6f 63 6b 5f 70 72 6f 78 79 5f 70 72 61  ,"lock_proxy_pra
4bd0: 67 6d 61 73 22 2c 22 30 22 2c 54 43 4c 5f 47 4c  gmas","0",TCL_GL
4be0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
4bf0: 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53  if.#if defined(S
4c00: 51 4c 49 54 45 5f 50 52 45 46 45 52 5f 50 52 4f  QLITE_PREFER_PRO
4c10: 58 59 5f 4c 4f 43 4b 49 4e 47 29 20 26 26 20 64  XY_LOCKING) && d
4c20: 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c 45 5f 5f  efined(__APPLE__
4c30: 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  ).  Tcl_SetVar2(
4c40: 69 6e 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f  interp,"sqlite_o
4c50: 70 74 69 6f 6e 73 22 2c 22 70 72 65 66 65 72 5f  ptions","prefer_
4c60: 70 72 6f 78 79 5f 6c 6f 63 6b 69 6e 67 22 2c 22  proxy_locking","
4c70: 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  1",TCL_GLOBAL_ON
4c80: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
4c90: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4ca0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4cb0: 2c 22 70 72 65 66 65 72 5f 70 72 6f 78 79 5f 6c  ,"prefer_proxy_l
4cc0: 6f 63 6b 69 6e 67 22 2c 22 30 22 2c 54 43 4c 5f  ocking","0",TCL_
4cd0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4ce0: 6e 64 69 66 0a 20 20 20 20 0a 20 20 20 20 0a 23  ndif.    .    .#
4cf0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
4d00: 54 5f 53 48 41 52 45 44 5f 43 41 43 48 45 0a 20  T_SHARED_CACHE. 
4d10: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4d20: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4d30: 69 6f 6e 73 22 2c 20 22 73 68 61 72 65 64 5f 63  ions", "shared_c
4d40: 61 63 68 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f  ache", "0", TCL_
4d50: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4d60: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4d70: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
4d80: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 68 61  e_options", "sha
4d90: 72 65 64 5f 63 61 63 68 65 22 2c 20 22 31 22 2c  red_cache", "1",
4da0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4db0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
4dc0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 55  f SQLITE_OMIT_SU
4dd0: 42 51 55 45 52 59 0a 20 20 54 63 6c 5f 53 65 74  BQUERY.  Tcl_Set
4de0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
4df0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
4e00: 73 75 62 71 75 65 72 79 22 2c 20 22 30 22 2c 20  subquery", "0", 
4e10: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
4e20: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
4e30: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
4e40: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
4e50: 22 73 75 62 71 75 65 72 79 22 2c 20 22 31 22 2c  "subquery", "1",
4e60: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4e70: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
4e80: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 43  f SQLITE_OMIT_TC
4e90: 4c 5f 56 41 52 49 41 42 4c 45 0a 20 20 54 63 6c  L_VARIABLE.  Tcl
4ea0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4eb0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4ec0: 22 2c 20 22 74 63 6c 76 61 72 22 2c 20 22 30 22  ", "tclvar", "0"
4ed0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4ee0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
4ef0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4f00: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4f10: 2c 20 22 74 63 6c 76 61 72 22 2c 20 22 31 22 2c  , "tclvar", "1",
4f20: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4f30: 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 54 63 6c  );.#endif..  Tcl
4f40: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4f50: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4f60: 22 2c 20 22 74 68 72 65 61 64 73 61 66 65 22 2c  ", "threadsafe",
4f70: 20 0a 20 20 20 20 20 20 53 51 4c 49 54 45 5f 54   .      SQLITE_T
4f80: 48 52 45 41 44 53 41 46 45 20 3f 20 22 31 22 20  HREADSAFE ? "1" 
4f90: 3a 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  : "0", TCL_GLOBA
4fa0: 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 54 63 6c 5f 53  L_ONLY);.  Tcl_S
4fb0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4fc0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4fd0: 20 22 74 68 72 65 61 64 73 61 66 65 31 22 2c 20   "threadsafe1", 
4fe0: 0a 20 20 20 20 20 20 53 51 4c 49 54 45 5f 54 48  .      SQLITE_TH
4ff0: 52 45 41 44 53 41 46 45 3d 3d 31 20 3f 20 22 31  READSAFE==1 ? "1
5000: 22 20 3a 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  " : "0", TCL_GLO
5010: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 54 63 6c  BAL_ONLY);.  Tcl
5020: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
5030: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
5040: 22 2c 20 22 74 68 72 65 61 64 73 61 66 65 32 22  ", "threadsafe2"
5050: 2c 20 0a 20 20 20 20 20 20 53 51 4c 49 54 45 5f  , .      SQLITE_
5060: 54 48 52 45 41 44 53 41 46 45 3d 3d 32 20 3f 20  THREADSAFE==2 ? 
5070: 22 31 22 20 3a 20 22 30 22 2c 20 54 43 4c 5f 47  "1" : "0", TCL_G
5080: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 61  LOBAL_ONLY);.  a
5090: 73 73 65 72 74 28 20 73 71 6c 69 74 65 33 5f 74  ssert( sqlite3_t
50a0: 68 72 65 61 64 73 61 66 65 28 29 3d 3d 53 51 4c  hreadsafe()==SQL
50b0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 20 29  ITE_THREADSAFE )
50c0: 3b 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  ;..#ifdef SQLITE
50d0: 5f 4f 4d 49 54 5f 54 45 4d 50 44 42 0a 20 20 54  _OMIT_TEMPDB.  T
50e0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
50f0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
5100: 6e 73 22 2c 20 22 74 65 6d 70 64 62 22 2c 20 22  ns", "tempdb", "
5110: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
5120: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
5130: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
5140: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
5150: 73 22 2c 20 22 74 65 6d 70 64 62 22 2c 20 22 31  s", "tempdb", "1
5160: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
5170: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
5180: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
5190: 54 52 41 43 45 0a 20 20 54 63 6c 5f 53 65 74 56  TRACE.  Tcl_SetV
51a0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
51b0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74  ite_options", "t
51c0: 72 61 63 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f  race", "0", TCL_
51d0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
51e0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
51f0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
5200: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 61  e_options", "tra
5210: 63 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ce", "1", TCL_GL
5220: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
5230: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
5240: 45 5f 4f 4d 49 54 5f 54 52 49 47 47 45 52 0a 20  E_OMIT_TRIGGER. 
5250: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
5260: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
5270: 69 6f 6e 73 22 2c 20 22 74 72 69 67 67 65 72 22  ions", "trigger"
5280: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
5290: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
52a0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
52b0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
52c0: 69 6f 6e 73 22 2c 20 22 74 72 69 67 67 65 72 22  ions", "trigger"
52d0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
52e0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
52f0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
5300: 4d 49 54 5f 54 52 55 4e 43 41 54 45 5f 4f 50 54  MIT_TRUNCATE_OPT
5310: 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f  IMIZATION.  Tcl_
5320: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
5330: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
5340: 2c 20 22 74 72 75 6e 63 61 74 65 5f 6f 70 74 22  , "truncate_opt"
5350: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
5360: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
5370: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
5380: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
5390: 69 6f 6e 73 22 2c 20 22 74 72 75 6e 63 61 74 65  ions", "truncate
53a0: 5f 6f 70 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  _opt", "1", TCL_
53b0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
53c0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
53d0: 49 54 45 5f 4f 4d 49 54 5f 55 54 46 31 36 0a 20  ITE_OMIT_UTF16. 
53e0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
53f0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
5400: 69 6f 6e 73 22 2c 20 22 75 74 66 31 36 22 2c 20  ions", "utf16", 
5410: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
5420: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
5430: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
5440: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
5450: 6e 73 22 2c 20 22 75 74 66 31 36 22 2c 20 22 31  ns", "utf16", "1
5460: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
5470: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
5480: 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f   defined(SQLITE_
5490: 4f 4d 49 54 5f 56 41 43 55 55 4d 29 20 7c 7c 20  OMIT_VACUUM) || 
54a0: 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f  defined(SQLITE_O
54b0: 4d 49 54 5f 41 54 54 41 43 48 29 0a 20 20 54 63  MIT_ATTACH).  Tc
54c0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
54d0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
54e0: 73 22 2c 20 22 76 61 63 75 75 6d 22 2c 20 22 30  s", "vacuum", "0
54f0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
5500: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
5510: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
5520: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
5530: 22 2c 20 22 76 61 63 75 75 6d 22 2c 20 22 31 22  ", "vacuum", "1"
5540: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
5550: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
5560: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 56  ef SQLITE_OMIT_V
5570: 49 45 57 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  IEW.  Tcl_SetVar
5580: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
5590: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76 69 65  e_options", "vie
55a0: 77 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  w", "0", TCL_GLO
55b0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
55c0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
55d0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
55e0: 70 74 69 6f 6e 73 22 2c 20 22 76 69 65 77 22 2c  ptions", "view",
55f0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
5600: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
5610: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
5620: 49 54 5f 56 49 52 54 55 41 4c 54 41 42 4c 45 0a  IT_VIRTUALTABLE.
5630: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
5640: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
5650: 74 69 6f 6e 73 22 2c 20 22 76 74 61 62 22 2c 20  tions", "vtab", 
5660: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
5670: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
5680: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
5690: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
56a0: 6e 73 22 2c 20 22 76 74 61 62 22 2c 20 22 31 22  ns", "vtab", "1"
56b0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
56c0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
56d0: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 57  ef SQLITE_OMIT_W
56e0: 41 4c 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  AL.  Tcl_SetVar2
56f0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
5700: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 61 6c 22  _options", "wal"
5710: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
5720: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
5730: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
5740: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
5750: 69 6f 6e 73 22 2c 20 22 77 61 6c 22 2c 20 22 31  ions", "wal", "1
5760: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
5770: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
5780: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
5790: 57 53 44 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  WSD.  Tcl_SetVar
57a0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
57b0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 73 64  e_options", "wsd
57c0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
57d0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
57e0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
57f0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
5800: 74 69 6f 6e 73 22 2c 20 22 77 73 64 22 2c 20 22  tions", "wsd", "
5810: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
5820: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
5830: 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45  f defined(SQLITE
5840: 5f 45 4e 41 42 4c 45 5f 55 50 44 41 54 45 5f 44  _ENABLE_UPDATE_D
5850: 45 4c 45 54 45 5f 4c 49 4d 49 54 29 20 26 26 20  ELETE_LIMIT) && 
5860: 21 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f  !defined(SQLITE_
5870: 4f 4d 49 54 5f 53 55 42 51 55 45 52 59 29 0a 20  OMIT_SUBQUERY). 
5880: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
5890: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
58a0: 69 6f 6e 73 22 2c 20 22 75 70 64 61 74 65 5f 64  ions", "update_d
58b0: 65 6c 65 74 65 5f 6c 69 6d 69 74 22 2c 20 22 31  elete_limit", "1
58c0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
58d0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
58e0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
58f0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
5900: 22 2c 20 22 75 70 64 61 74 65 5f 64 65 6c 65 74  ", "update_delet
5910: 65 5f 6c 69 6d 69 74 22 2c 20 22 30 22 2c 20 54  e_limit", "0", T
5920: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
5930: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66  .#endif..#if def
5940: 69 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e 41 42  ined(SQLITE_ENAB
5950: 4c 45 5f 55 4e 4c 4f 43 4b 5f 4e 4f 54 49 46 59  LE_UNLOCK_NOTIFY
5960: 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  ).  Tcl_SetVar2(
5970: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
5980: 6f 70 74 69 6f 6e 73 22 2c 20 22 75 6e 6c 6f 63  options", "unloc
5990: 6b 5f 6e 6f 74 69 66 79 22 2c 20 22 31 22 2c 20  k_notify", "1", 
59a0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
59b0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
59c0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
59d0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
59e0: 22 75 6e 6c 6f 63 6b 5f 6e 6f 74 69 66 79 22 2c  "unlock_notify",
59f0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
5a00: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
5a10: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 53 45  #ifdef SQLITE_SE
5a20: 43 55 52 45 5f 44 45 4c 45 54 45 0a 20 20 54 63  CURE_DELETE.  Tc
5a30: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
5a40: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
5a50: 73 22 2c 20 22 73 65 63 75 72 65 5f 64 65 6c 65  s", "secure_dele
5a60: 74 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  te", "1", TCL_GL
5a70: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
5a80: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
5a90: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
5aa0: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 65 63 75 72  options", "secur
5ab0: 65 5f 64 65 6c 65 74 65 22 2c 20 22 30 22 2c 20  e_delete", "0", 
5ac0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
5ad0: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
5ae0: 20 53 51 4c 49 54 45 5f 55 53 45 52 5f 41 55 54   SQLITE_USER_AUT
5af0: 48 45 4e 54 49 43 41 54 49 4f 4e 0a 20 20 54 63  HENTICATION.  Tc
5b00: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
5b10: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
5b20: 73 22 2c 20 22 75 73 65 72 61 75 74 68 22 2c 20  s", "userauth", 
5b30: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
5b40: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
5b50: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
5b60: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
5b70: 6e 73 22 2c 20 22 75 73 65 72 61 75 74 68 22 2c  ns", "userauth",
5b80: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
5b90: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
5ba0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 55  #ifdef SQLITE_MU
5bb0: 4c 54 49 50 4c 45 58 5f 45 58 54 5f 4f 56 57 52  LTIPLEX_EXT_OVWR
5bc0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
5bd0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
5be0: 70 74 69 6f 6e 73 22 2c 20 22 6d 75 6c 74 69 70  ptions", "multip
5bf0: 6c 65 78 5f 65 78 74 5f 6f 76 65 72 77 72 69 74  lex_ext_overwrit
5c00: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
5c10: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
5c20: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
5c30: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
5c40: 70 74 69 6f 6e 73 22 2c 20 22 6d 75 6c 74 69 70  ptions", "multip
5c50: 6c 65 78 5f 65 78 74 5f 6f 76 65 72 77 72 69 74  lex_ext_overwrit
5c60: 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  e", "0", TCL_GLO
5c70: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
5c80: 66 0a 0a 23 69 66 64 65 66 20 59 59 54 52 41 43  f..#ifdef YYTRAC
5c90: 4b 4d 41 58 53 54 41 43 4b 44 45 50 54 48 0a 20  KMAXSTACKDEPTH. 
5ca0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
5cb0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
5cc0: 69 6f 6e 73 22 2c 20 22 79 79 74 72 61 63 6b 6d  ions", "yytrackm
5cd0: 61 78 73 74 61 63 6b 64 65 70 74 68 22 2c 20 22  axstackdepth", "
5ce0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
5cf0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
5d00: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
5d10: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
5d20: 73 22 2c 20 22 79 79 74 72 61 63 6b 6d 61 78 73  s", "yytrackmaxs
5d30: 74 61 63 6b 64 65 70 74 68 22 2c 20 22 30 22 2c  tackdepth", "0",
5d40: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
5d50: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
5d60: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
5d70: 53 51 4c 4c 4f 47 0a 20 20 54 63 6c 5f 53 65 74  SQLLOG.  Tcl_Set
5d80: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
5d90: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
5da0: 73 71 6c 6c 6f 67 22 2c 20 22 31 22 2c 20 54 43  sqllog", "1", TC
5db0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
5dc0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
5dd0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
5de0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73  ite_options", "s
5df0: 71 6c 6c 6f 67 22 2c 20 22 30 22 2c 20 54 43 4c  qllog", "0", TCL
5e00: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
5e10: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
5e20: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 55 52 49 5f  LITE_ENABLE_URI_
5e30: 30 30 5f 45 52 52 4f 52 0a 20 20 54 63 6c 5f 53  00_ERROR.  Tcl_S
5e40: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
5e50: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
5e60: 20 22 75 72 69 5f 30 30 5f 65 72 72 6f 72 22 2c   "uri_00_error",
5e70: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
5e80: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
5e90: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
5ea0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
5eb0: 6f 6e 73 22 2c 20 22 75 72 69 5f 30 30 5f 65 72  ons", "uri_00_er
5ec0: 72 6f 72 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ror", "0", TCL_G
5ed0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
5ee0: 64 69 66 0a 0a 23 64 65 66 69 6e 65 20 4c 49 4e  dif..#define LIN
5ef0: 4b 56 41 52 28 78 29 20 7b 20 5c 0a 20 20 20 20  KVAR(x) { \.    
5f00: 73 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74  static const int
5f10: 20 63 76 5f 20 23 23 20 78 20 3d 20 53 51 4c 49   cv_ ## x = SQLI
5f20: 54 45 5f 20 23 23 20 78 3b 20 5c 0a 20 20 20 20  TE_ ## x; \.    
5f30: 54 63 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74 65  Tcl_LinkVar(inte
5f40: 72 70 2c 20 22 53 51 4c 49 54 45 5f 22 20 23 78  rp, "SQLITE_" #x
5f50: 2c 20 28 63 68 61 72 20 2a 29 26 28 63 76 5f 20  , (char *)&(cv_ 
5f60: 23 23 20 78 29 2c 20 5c 0a 20 20 20 20 20 20 20  ## x), \.       
5f70: 20 20 20 20 20 20 20 20 20 54 43 4c 5f 4c 49 4e           TCL_LIN
5f80: 4b 5f 49 4e 54 20 7c 20 54 43 4c 5f 4c 49 4e 4b  K_INT | TCL_LINK
5f90: 5f 52 45 41 44 5f 4f 4e 4c 59 29 3b 20 7d 0a 0a  _READ_ONLY); }..
5fa0: 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 4c    LINKVAR( MAX_L
5fb0: 45 4e 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56  ENGTH );.  LINKV
5fc0: 41 52 28 20 4d 41 58 5f 43 4f 4c 55 4d 4e 20 29  AR( MAX_COLUMN )
5fd0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
5fe0: 5f 53 51 4c 5f 4c 45 4e 47 54 48 20 29 3b 0a 20  _SQL_LENGTH );. 
5ff0: 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 45 58   LINKVAR( MAX_EX
6000: 50 52 5f 44 45 50 54 48 20 29 3b 0a 20 20 4c 49  PR_DEPTH );.  LI
6010: 4e 4b 56 41 52 28 20 4d 41 58 5f 43 4f 4d 50 4f  NKVAR( MAX_COMPO
6020: 55 4e 44 5f 53 45 4c 45 43 54 20 29 3b 0a 20 20  UND_SELECT );.  
6030: 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 56 44 42  LINKVAR( MAX_VDB
6040: 45 5f 4f 50 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  E_OP );.  LINKVA
6050: 52 28 20 4d 41 58 5f 46 55 4e 43 54 49 4f 4e 5f  R( MAX_FUNCTION_
6060: 41 52 47 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  ARG );.  LINKVAR
6070: 28 20 4d 41 58 5f 56 41 52 49 41 42 4c 45 5f 4e  ( MAX_VARIABLE_N
6080: 55 4d 42 45 52 20 29 3b 0a 20 20 4c 49 4e 4b 56  UMBER );.  LINKV
6090: 41 52 28 20 4d 41 58 5f 50 41 47 45 5f 53 49 5a  AR( MAX_PAGE_SIZ
60a0: 45 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20  E );.  LINKVAR( 
60b0: 4d 41 58 5f 50 41 47 45 5f 43 4f 55 4e 54 20 29  MAX_PAGE_COUNT )
60c0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
60d0: 5f 4c 49 4b 45 5f 50 41 54 54 45 52 4e 5f 4c 45  _LIKE_PATTERN_LE
60e0: 4e 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  NGTH );.  LINKVA
60f0: 52 28 20 4d 41 58 5f 54 52 49 47 47 45 52 5f 44  R( MAX_TRIGGER_D
6100: 45 50 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  EPTH );.  LINKVA
6110: 52 28 20 44 45 46 41 55 4c 54 5f 43 41 43 48 45  R( DEFAULT_CACHE
6120: 5f 53 49 5a 45 20 29 3b 0a 20 20 4c 49 4e 4b 56  _SIZE );.  LINKV
6130: 41 52 28 20 44 45 46 41 55 4c 54 5f 50 41 47 45  AR( DEFAULT_PAGE
6140: 5f 53 49 5a 45 20 29 3b 0a 20 20 4c 49 4e 4b 56  _SIZE );.  LINKV
6150: 41 52 28 20 44 45 46 41 55 4c 54 5f 46 49 4c 45  AR( DEFAULT_FILE
6160: 5f 46 4f 52 4d 41 54 20 29 3b 0a 20 20 4c 49 4e  _FORMAT );.  LIN
6170: 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f 53 59  KVAR( DEFAULT_SY
6180: 4e 43 48 52 4f 4e 4f 55 53 20 29 3b 0a 20 20 4c  NCHRONOUS );.  L
6190: 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f  INKVAR( DEFAULT_
61a0: 57 41 4c 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 20  WAL_SYNCHRONOUS 
61b0: 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41  );.  LINKVAR( MA
61c0: 58 5f 41 54 54 41 43 48 45 44 20 29 3b 0a 20 20  X_ATTACHED );.  
61d0: 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 44 45 46  LINKVAR( MAX_DEF
61e0: 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 20 29  AULT_PAGE_SIZE )
61f0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
6200: 5f 57 4f 52 4b 45 52 5f 54 48 52 45 41 44 53 20  _WORKER_THREADS 
6210: 29 3b 0a 0a 20 20 7b 0a 20 20 20 20 73 74 61 74  );..  {.    stat
6220: 69 63 20 63 6f 6e 73 74 20 69 6e 74 20 63 76 5f  ic const int cv_
6230: 54 45 4d 50 5f 53 54 4f 52 45 20 3d 20 53 51 4c  TEMP_STORE = SQL
6240: 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3b 0a  ITE_TEMP_STORE;.
6250: 20 20 20 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28      Tcl_LinkVar(
6260: 69 6e 74 65 72 70 2c 20 22 54 45 4d 50 5f 53 54  interp, "TEMP_ST
6270: 4f 52 45 22 2c 20 28 63 68 61 72 20 2a 29 26 28  ORE", (char *)&(
6280: 63 76 5f 54 45 4d 50 5f 53 54 4f 52 45 29 2c 0a  cv_TEMP_STORE),.
6290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
62a0: 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 20 7c 20 54  TCL_LINK_INT | T
62b0: 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c  CL_LINK_READ_ONL
62c0: 59 29 3b 0a 20 20 7d 0a 0a 23 69 66 64 65 66 20  Y);.  }..#ifdef 
62d0: 5f 4d 53 43 5f 56 45 52 0a 20 20 7b 0a 20 20 20  _MSC_VER.  {.   
62e0: 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e   static const in
62f0: 74 20 63 76 5f 5f 4d 53 43 5f 56 45 52 20 3d 20  t cv__MSC_VER = 
6300: 31 3b 0a 20 20 20 20 54 63 6c 5f 4c 69 6e 6b 56  1;.    Tcl_LinkV
6310: 61 72 28 69 6e 74 65 72 70 2c 20 22 5f 4d 53 43  ar(interp, "_MSC
6320: 5f 56 45 52 22 2c 20 28 63 68 61 72 20 2a 29 26  _VER", (char *)&
6330: 28 63 76 5f 5f 4d 53 43 5f 56 45 52 29 2c 0a 20  (cv__MSC_VER),. 
6340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54                 T
6350: 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 20 7c 20 54 43  CL_LINK_INT | TC
6360: 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c 59  L_LINK_READ_ONLY
6370: 29 3b 0a 20 20 7d 0a 23 65 6e 64 69 66 0a 23 69  );.  }.#endif.#i
6380: 66 64 65 66 20 5f 5f 47 4e 55 43 5f 5f 0a 20 20  fdef __GNUC__.  
6390: 7b 0a 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e  {.    static con
63a0: 73 74 20 69 6e 74 20 63 76 5f 5f 5f 47 4e 55 43  st int cv___GNUC
63b0: 5f 5f 20 3d 20 31 3b 0a 20 20 20 20 54 63 6c 5f  __ = 1;.    Tcl_
63c0: 4c 69 6e 6b 56 61 72 28 69 6e 74 65 72 70 2c 20  LinkVar(interp, 
63d0: 22 5f 5f 47 4e 55 43 5f 5f 22 2c 20 28 63 68 61  "__GNUC__", (cha
63e0: 72 20 2a 29 26 28 63 76 5f 5f 5f 47 4e 55 43 5f  r *)&(cv___GNUC_
63f0: 5f 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  _),.            
6400: 20 20 20 20 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54      TCL_LINK_INT
6410: 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44   | TCL_LINK_READ
6420: 5f 4f 4e 4c 59 29 3b 0a 20 20 7d 0a 23 65 6e 64  _ONLY);.  }.#end
6430: 69 66 0a 7d 0a 0a 0a 2f 2a 0a 2a 2a 20 52 65 67  if.}.../*.** Reg
6440: 69 73 74 65 72 20 63 6f 6d 6d 61 6e 64 73 20 77  ister commands w
6450: 69 74 68 20 74 68 65 20 54 43 4c 20 69 6e 74 65  ith the TCL inte
6460: 72 70 72 65 74 65 72 2e 0a 2a 2f 0a 69 6e 74 20  rpreter..*/.int 
6470: 53 71 6c 69 74 65 63 6f 6e 66 69 67 5f 49 6e 69  Sqliteconfig_Ini
6480: 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e  t(Tcl_Interp *in
6490: 74 65 72 70 29 7b 0a 20 20 73 65 74 5f 6f 70 74  terp){.  set_opt
64a0: 69 6f 6e 73 28 69 6e 74 65 72 70 29 3b 0a 20 20  ions(interp);.  
64b0: 72 65 74 75 72 6e 20 54 43 4c 5f 4f 4b 3b 0a 7d  return TCL_OK;.}
64c0: 0a                                               .