/ Hex Artifact Content
Login

Artifact 55918873f0a2ebbd5b52417319987f9f99c401fa:


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: 6e 63 6c 75 64 65 20 22 74 63 6c 2e 68 22 0a 23  nclude "tcl.h".#
02a0: 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e  include <stdlib.
02b0: 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72  h>.#include <str
02c0: 69 6e 67 2e 68 3e 0a 0a 2f 2a 0a 2a 2a 20 4d 61  ing.h>../*.** Ma
02d0: 63 72 6f 20 74 6f 20 73 74 72 69 6e 67 69 66 79  cro to stringify
02e0: 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20   the results of 
02f0: 74 68 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 61  the evaluation a
0300: 20 70 72 65 2d 70 72 6f 63 65 73 73 6f 72 0a 2a   pre-processor.*
0310: 2a 20 6d 61 63 72 6f 2e 20 69 2e 65 2e 20 73 6f  * macro. i.e. so
0320: 20 74 68 61 74 20 53 54 52 49 4e 47 56 41 4c 55   that STRINGVALU
0330: 45 28 53 51 4c 49 54 45 5f 4e 4f 4d 45 4d 29 20  E(SQLITE_NOMEM) 
0340: 2d 3e 20 22 37 22 2e 0a 2a 2f 0a 23 64 65 66 69  -> "7"..*/.#defi
0350: 6e 65 20 53 54 52 49 4e 47 56 41 4c 55 45 32 28  ne STRINGVALUE2(
0360: 78 29 20 23 78 0a 23 64 65 66 69 6e 65 20 53 54  x) #x.#define ST
0370: 52 49 4e 47 56 41 4c 55 45 28 78 29 20 53 54 52  RINGVALUE(x) STR
0380: 49 4e 47 56 41 4c 55 45 32 28 78 29 0a 0a 2f 2a  INGVALUE2(x)../*
0390: 0a 2a 2a 20 54 68 69 73 20 72 6f 75 74 69 6e 65  .** This routine
03a0: 20 73 65 74 73 20 65 6e 74 72 69 65 73 20 69 6e   sets entries in
03b0: 20 74 68 65 20 67 6c 6f 62 61 6c 20 3a 3a 73 71   the global ::sq
03c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 28 29 20 61  lite_options() a
03d0: 72 72 61 79 20 76 61 72 69 61 62 6c 65 0a 2a 2a  rray variable.**
03e0: 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68   according to th
03f0: 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63  e compile-time c
0400: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 66 20  onfiguration of 
0410: 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 20 54  the database.  T
0420: 65 73 74 0a 2a 2a 20 70 72 6f 63 65 64 75 72 65  est.** procedure
0430: 73 20 75 73 65 20 74 68 69 73 20 74 6f 20 64 65  s use this to de
0440: 74 65 72 6d 69 6e 65 20 77 68 65 6e 20 74 65 73  termine when tes
0450: 74 73 20 73 68 6f 75 6c 64 20 62 65 20 6f 6d 69  ts should be omi
0460: 74 74 65 64 2e 0a 2a 2f 0a 73 74 61 74 69 63 20  tted..*/.static 
0470: 76 6f 69 64 20 73 65 74 5f 6f 70 74 69 6f 6e 73  void set_options
0480: 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74  (Tcl_Interp *int
0490: 65 72 70 29 7b 0a 23 69 66 64 65 66 20 53 51 4c  erp){.#ifdef SQL
04a0: 49 54 45 5f 33 32 42 49 54 5f 52 4f 57 49 44 0a  ITE_32BIT_ROWID.
04b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
04c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
04d0: 74 69 6f 6e 73 22 2c 20 22 72 6f 77 69 64 33 32  tions", "rowid32
04e0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
04f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
0500: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0510: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0520: 74 69 6f 6e 73 22 2c 20 22 72 6f 77 69 64 33 32  tions", "rowid32
0530: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
0540: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
0550: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
0560: 43 41 53 45 5f 53 45 4e 53 49 54 49 56 45 5f 4c  CASE_SENSITIVE_L
0570: 49 4b 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  IKE.  Tcl_SetVar
0580: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0590: 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 63 61 73 65  e_options","case
05a0: 73 65 6e 73 69 74 69 76 65 6c 69 6b 65 22 2c 22  sensitivelike","
05b0: 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  1",TCL_GLOBAL_ON
05c0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
05d0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
05e0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
05f0: 22 2c 22 63 61 73 65 73 65 6e 73 69 74 69 76 65  ","casesensitive
0600: 6c 69 6b 65 22 2c 22 30 22 2c 54 43 4c 5f 47 4c  like","0",TCL_GL
0610: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
0620: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
0630: 45 5f 44 45 42 55 47 0a 20 20 54 63 6c 5f 53 65  E_DEBUG.  Tcl_Se
0640: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0650: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0660: 22 64 65 62 75 67 22 2c 20 22 31 22 2c 20 54 43  "debug", "1", TC
0670: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0680: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
0690: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
06a0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64  ite_options", "d
06b0: 65 62 75 67 22 2c 20 22 30 22 2c 20 54 43 4c 5f  ebug", "0", TCL_
06c0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
06d0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
06e0: 49 54 45 5f 44 49 53 41 42 4c 45 5f 44 49 52 53  ITE_DISABLE_DIRS
06f0: 59 4e 43 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  YNC.  Tcl_SetVar
0700: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0710: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69 72  e_options", "dir
0720: 73 79 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f  sync", "0", TCL_
0730: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0740: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
0750: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0760: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69 72  e_options", "dir
0770: 73 79 6e 63 22 2c 20 22 31 22 2c 20 54 43 4c 5f  sync", "1", TCL_
0780: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0790: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
07a0: 49 54 45 5f 44 49 53 41 42 4c 45 5f 4c 46 53 0a  ITE_DISABLE_LFS.
07b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
07c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
07d0: 74 69 6f 6e 73 22 2c 20 22 6c 66 73 22 2c 20 22  tions", "lfs", "
07e0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
07f0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
0800: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0810: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0820: 73 22 2c 20 22 6c 66 73 22 2c 20 22 31 22 2c 20  s", "lfs", "1", 
0830: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0840: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 31 20  ;.#endif..#if 1 
0850: 2f 2a 20 64 65 66 20 53 51 4c 49 54 45 5f 4d 45  /* def SQLITE_ME
0860: 4d 44 45 42 55 47 20 2a 2f 0a 20 20 54 63 6c 5f  MDEBUG */.  Tcl_
0870: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0880: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
0890: 2c 20 22 6d 65 6d 64 65 62 75 67 22 2c 20 22 31  , "memdebug", "1
08a0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
08b0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
08c0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
08d0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
08e0: 22 2c 20 22 6d 65 6d 64 65 62 75 67 22 2c 20 22  ", "memdebug", "
08f0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
0900: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
0910: 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  fdef SQLITE_ENAB
0920: 4c 45 5f 4d 45 4d 53 59 53 33 0a 20 20 54 63 6c  LE_MEMSYS3.  Tcl
0930: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0940: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0950: 22 2c 20 22 6d 65 6d 33 22 2c 20 22 31 22 2c 20  ", "mem3", "1", 
0960: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0970: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
0980: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0990: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
09a0: 22 6d 65 6d 33 22 2c 20 22 30 22 2c 20 54 43 4c  "mem3", "0", TCL
09b0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
09c0: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
09d0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53  LITE_ENABLE_MEMS
09e0: 59 53 35 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  YS5.  Tcl_SetVar
09f0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0a00: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d  e_options", "mem
0a10: 35 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  5", "1", TCL_GLO
0a20: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
0a30: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
0a40: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
0a50: 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 35 22 2c  ptions", "mem5",
0a60: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0a70: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
0a80: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 55  #ifdef SQLITE_MU
0a90: 54 45 58 5f 4f 4d 49 54 0a 20 20 54 63 6c 5f 53  TEX_OMIT.  Tcl_S
0aa0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
0ab0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
0ac0: 20 22 6d 75 74 65 78 22 2c 20 22 30 22 2c 20 54   "mutex", "0", T
0ad0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
0ae0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
0af0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
0b00: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
0b10: 6d 75 74 65 78 22 2c 20 22 31 22 2c 20 54 43 4c  mutex", "1", TCL
0b20: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
0b30: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
0b40: 4c 49 54 45 5f 4f 4d 49 54 5f 41 4c 54 45 52 54  LITE_OMIT_ALTERT
0b50: 41 42 4c 45 0a 20 20 54 63 6c 5f 53 65 74 56 61  ABLE.  Tcl_SetVa
0b60: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
0b70: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6c  te_options", "al
0b80: 74 65 72 74 61 62 6c 65 22 2c 20 22 30 22 2c 20  tertable", "0", 
0b90: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0ba0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
0bb0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0bc0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0bd0: 22 61 6c 74 65 72 74 61 62 6c 65 22 2c 20 22 31  "altertable", "1
0be0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0bf0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
0c00: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
0c10: 41 4e 41 4c 59 5a 45 0a 20 20 54 63 6c 5f 53 65  ANALYZE.  Tcl_Se
0c20: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0c30: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0c40: 22 61 6e 61 6c 79 7a 65 22 2c 20 22 30 22 2c 20  "analyze", "0", 
0c50: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0c60: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
0c70: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0c80: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0c90: 22 61 6e 61 6c 79 7a 65 22 2c 20 22 31 22 2c 20  "analyze", "1", 
0ca0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0cb0: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
0cc0: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41   SQLITE_ENABLE_A
0cd0: 54 4f 4d 49 43 5f 57 52 49 54 45 0a 20 20 54 63  TOMIC_WRITE.  Tc
0ce0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0cf0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0d00: 73 22 2c 20 22 61 74 6f 6d 69 63 77 72 69 74 65  s", "atomicwrite
0d10: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
0d20: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
0d30: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0d40: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0d50: 74 69 6f 6e 73 22 2c 20 22 61 74 6f 6d 69 63 77  tions", "atomicw
0d60: 72 69 74 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f  rite", "0", TCL_
0d70: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0d80: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
0d90: 49 54 45 5f 4f 4d 49 54 5f 41 54 54 41 43 48 0a  ITE_OMIT_ATTACH.
0da0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0db0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0dc0: 74 69 6f 6e 73 22 2c 20 22 61 74 74 61 63 68 22  tions", "attach"
0dd0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
0de0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
0df0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
0e00: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
0e10: 69 6f 6e 73 22 2c 20 22 61 74 74 61 63 68 22 2c  ions", "attach",
0e20: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
0e30: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
0e40: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
0e50: 49 54 5f 41 55 54 48 4f 52 49 5a 41 54 49 4f 4e  IT_AUTHORIZATION
0e60: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
0e70: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
0e80: 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 68 22 2c  ptions", "auth",
0e90: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0ea0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0eb0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0ec0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0ed0: 6f 6e 73 22 2c 20 22 61 75 74 68 22 2c 20 22 31  ons", "auth", "1
0ee0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0ef0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
0f00: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
0f10: 41 55 54 4f 49 4e 43 52 45 4d 45 4e 54 0a 20 20  AUTOINCREMENT.  
0f20: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0f30: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0f40: 6f 6e 73 22 2c 20 22 61 75 74 6f 69 6e 63 22 2c  ons", "autoinc",
0f50: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0f60: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0f70: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0f80: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0f90: 6f 6e 73 22 2c 20 22 61 75 74 6f 69 6e 63 22 2c  ons", "autoinc",
0fa0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
0fb0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
0fc0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
0fd0: 49 54 5f 41 55 54 4f 4d 41 54 49 43 5f 49 4e 44  IT_AUTOMATIC_IND
0fe0: 45 58 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  EX.  Tcl_SetVar2
0ff0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1000: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f  _options", "auto
1010: 69 6e 64 65 78 22 2c 20 22 30 22 2c 20 54 43 4c  index", "0", TCL
1020: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1030: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1040: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1050: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75  te_options", "au
1060: 74 6f 69 6e 64 65 78 22 2c 20 22 31 22 2c 20 54  toindex", "1", T
1070: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1080: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
1090: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f  SQLITE_OMIT_AUTO
10a0: 56 41 43 55 55 4d 0a 20 20 54 63 6c 5f 53 65 74  VACUUM.  Tcl_Set
10b0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
10c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
10d0: 61 75 74 6f 76 61 63 75 75 6d 22 2c 20 22 30 22  autovacuum", "0"
10e0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
10f0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1100: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1110: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1120: 2c 20 22 61 75 74 6f 76 61 63 75 75 6d 22 2c 20  , "autovacuum", 
1130: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1140: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 20 2f 2a  ONLY);.#endif /*
1150: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54   SQLITE_OMIT_AUT
1160: 4f 56 41 43 55 55 4d 20 2a 2f 0a 23 69 66 20 21  OVACUUM */.#if !
1170: 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 44  defined(SQLITE_D
1180: 45 46 41 55 4c 54 5f 41 55 54 4f 56 41 43 55 55  EFAULT_AUTOVACUU
1190: 4d 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  M).  Tcl_SetVar2
11a0: 28 69 6e 74 65 72 70 2c 22 73 71 6c 69 74 65 5f  (interp,"sqlite_
11b0: 6f 70 74 69 6f 6e 73 22 2c 22 64 65 66 61 75 6c  options","defaul
11c0: 74 5f 61 75 74 6f 76 61 63 75 75 6d 22 2c 22 30  t_autovacuum","0
11d0: 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  ",TCL_GLOBAL_ONL
11e0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
11f0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1200: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1210: 2c 20 22 64 65 66 61 75 6c 74 5f 61 75 74 6f 76  , "default_autov
1220: 61 63 75 75 6d 22 2c 20 0a 20 20 20 20 20 20 53  acuum", .      S
1230: 54 52 49 4e 47 56 41 4c 55 45 28 53 51 4c 49 54  TRINGVALUE(SQLIT
1240: 45 5f 44 45 46 41 55 4c 54 5f 41 55 54 4f 56 41  E_DEFAULT_AUTOVA
1250: 43 55 55 4d 29 2c 20 54 43 4c 5f 47 4c 4f 42 41  CUUM), TCL_GLOBA
1260: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1270: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
1280: 4d 49 54 5f 42 45 54 57 45 45 4e 5f 4f 50 54 49  MIT_BETWEEN_OPTI
1290: 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53  MIZATION.  Tcl_S
12a0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
12b0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
12c0: 20 22 62 65 74 77 65 65 6e 5f 6f 70 74 22 2c 20   "between_opt", 
12d0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
12e0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
12f0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1300: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1310: 6e 73 22 2c 20 22 62 65 74 77 65 65 6e 5f 6f 70  ns", "between_op
1320: 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  t", "1", TCL_GLO
1330: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
1340: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
1350: 5f 4f 4d 49 54 5f 42 55 49 4c 54 49 4e 5f 54 45  _OMIT_BUILTIN_TE
1360: 53 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ST.  Tcl_SetVar2
1370: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1380: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62 75 69 6c  _options", "buil
1390: 74 69 6e 5f 74 65 73 74 22 2c 20 22 30 22 2c 20  tin_test", "0", 
13a0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
13b0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
13c0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
13d0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
13e0: 22 62 75 69 6c 74 69 6e 5f 74 65 73 74 22 2c 20  "builtin_test", 
13f0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1400: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1410: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
1420: 54 5f 42 4c 4f 42 5f 4c 49 54 45 52 41 4c 0a 20  T_BLOB_LITERAL. 
1430: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1440: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1450: 69 6f 6e 73 22 2c 20 22 62 6c 6f 62 6c 69 74 22  ions", "bloblit"
1460: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
1470: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
1480: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1490: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
14a0: 69 6f 6e 73 22 2c 20 22 62 6c 6f 62 6c 69 74 22  ions", "bloblit"
14b0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
14c0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
14d0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
14e0: 4d 49 54 5f 43 41 53 54 0a 20 20 54 63 6c 5f 53  MIT_CAST.  Tcl_S
14f0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1500: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1510: 20 22 63 61 73 74 22 2c 20 22 30 22 2c 20 54 43   "cast", "0", TC
1520: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1530: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1540: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1550: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63  ite_options", "c
1560: 61 73 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ast", "1", TCL_G
1570: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1580: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1590: 54 45 5f 4f 4d 49 54 5f 43 48 45 43 4b 0a 20 20  TE_OMIT_CHECK.  
15a0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
15b0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
15c0: 6f 6e 73 22 2c 20 22 63 68 65 63 6b 22 2c 20 22  ons", "check", "
15d0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
15e0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
15f0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1600: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1610: 73 22 2c 20 22 63 68 65 63 6b 22 2c 20 22 31 22  s", "check", "1"
1620: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1630: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1640: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
1650: 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41  _COLUMN_METADATA
1660: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1670: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1680: 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6c 75 6d 6e  ptions", "column
1690: 6d 65 74 61 64 61 74 61 22 2c 20 22 31 22 2c 20  metadata", "1", 
16a0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
16b0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
16c0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
16d0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
16e0: 22 63 6f 6c 75 6d 6e 6d 65 74 61 64 61 74 61 22  "columnmetadata"
16f0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
1700: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1710: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45  .#ifdef SQLITE_E
1720: 4e 41 42 4c 45 5f 4f 56 45 52 53 49 5a 45 5f 43  NABLE_OVERSIZE_C
1730: 45 4c 4c 5f 43 48 45 43 4b 0a 20 20 54 63 6c 5f  ELL_CHECK.  Tcl_
1740: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1750: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1760: 2c 20 22 6f 76 65 72 73 69 7a 65 5f 63 65 6c 6c  , "oversize_cell
1770: 5f 63 68 65 63 6b 22 2c 20 22 31 22 2c 0a 20 20  _check", "1",.  
1780: 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c 5f              TCL_
1790: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
17a0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
17b0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
17c0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 76 65  e_options", "ove
17d0: 72 73 69 7a 65 5f 63 65 6c 6c 5f 63 68 65 63 6b  rsize_cell_check
17e0: 22 2c 20 22 30 22 2c 0a 20 20 20 20 20 20 20 20  ", "0",.        
17f0: 20 20 20 20 20 20 54 43 4c 5f 47 4c 4f 42 41 4c        TCL_GLOBAL
1800: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
1810: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
1820: 49 54 5f 43 4f 4d 50 49 4c 45 4f 50 54 49 4f 4e  IT_COMPILEOPTION
1830: 5f 44 49 41 47 53 0a 20 20 54 63 6c 5f 53 65 74  _DIAGS.  Tcl_Set
1840: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1850: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1860: 63 6f 6d 70 69 6c 65 6f 70 74 69 6f 6e 5f 64 69  compileoption_di
1870: 61 67 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ags", "0", TCL_G
1880: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1890: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
18a0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
18b0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70  _options", "comp
18c0: 69 6c 65 6f 70 74 69 6f 6e 5f 64 69 61 67 73 22  ileoption_diags"
18d0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
18e0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
18f0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
1900: 4d 49 54 5f 43 4f 4d 50 4c 45 54 45 0a 20 20 54  MIT_COMPLETE.  T
1910: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1920: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1930: 6e 73 22 2c 20 22 63 6f 6d 70 6c 65 74 65 22 2c  ns", "complete",
1940: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1950: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
1960: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
1970: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1980: 6f 6e 73 22 2c 20 22 63 6f 6d 70 6c 65 74 65 22  ons", "complete"
1990: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
19a0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
19b0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
19c0: 4d 49 54 5f 43 4f 4d 50 4f 55 4e 44 5f 53 45 4c  MIT_COMPOUND_SEL
19d0: 45 43 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ECT.  Tcl_SetVar
19e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
19f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d  e_options", "com
1a00: 70 6f 75 6e 64 22 2c 20 22 30 22 2c 20 54 43 4c  pound", "0", TCL
1a10: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1a20: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1a30: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1a40: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f  te_options", "co
1a50: 6d 70 6f 75 6e 64 22 2c 20 22 31 22 2c 20 54 43  mpound", "1", TC
1a60: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1a70: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1a80: 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4e 46 4c  QLITE_OMIT_CONFL
1a90: 49 43 54 5f 43 4c 41 55 53 45 0a 20 20 54 63 6c  ICT_CLAUSE.  Tcl
1aa0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1ab0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1ac0: 22 2c 20 22 63 6f 6e 66 6c 69 63 74 22 2c 20 22  ", "conflict", "
1ad0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1ae0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
1af0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1b00: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1b10: 73 22 2c 20 22 63 6f 6e 66 6c 69 63 74 22 2c 20  s", "conflict", 
1b20: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1b30: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1b40: 69 66 20 53 51 4c 49 54 45 5f 4f 53 5f 55 4e 49  if SQLITE_OS_UNI
1b50: 58 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  X.  Tcl_SetVar2(
1b60: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1b70: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 72 61 73 68  options", "crash
1b80: 74 65 73 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  test", "1", TCL_
1b90: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1ba0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
1bb0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1bc0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 72 61  e_options", "cra
1bd0: 73 68 74 65 73 74 22 2c 20 22 30 22 2c 20 54 43  shtest", "0", TC
1be0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1bf0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1c00: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 41 54 45 54  QLITE_OMIT_DATET
1c10: 49 4d 45 5f 46 55 4e 43 53 0a 20 20 54 63 6c 5f  IME_FUNCS.  Tcl_
1c20: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1c30: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1c40: 2c 20 22 64 61 74 65 74 69 6d 65 22 2c 20 22 30  , "datetime", "0
1c50: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1c60: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
1c70: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1c80: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1c90: 22 2c 20 22 64 61 74 65 74 69 6d 65 22 2c 20 22  ", "datetime", "
1ca0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
1cb0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1cc0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
1cd0: 5f 44 45 43 4c 54 59 50 45 0a 20 20 54 63 6c 5f  _DECLTYPE.  Tcl_
1ce0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1cf0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1d00: 2c 20 22 64 65 63 6c 74 79 70 65 22 2c 20 22 30  , "decltype", "0
1d10: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1d20: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
1d30: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1d40: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1d50: 22 2c 20 22 64 65 63 6c 74 79 70 65 22 2c 20 22  ", "decltype", "
1d60: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
1d70: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1d80: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
1d90: 5f 44 45 50 52 45 43 41 54 45 44 0a 20 20 54 63  _DEPRECATED.  Tc
1da0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1db0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1dc0: 73 22 2c 20 22 64 65 70 72 65 63 61 74 65 64 22  s", "deprecated"
1dd0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
1de0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
1df0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1e00: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1e10: 69 6f 6e 73 22 2c 20 22 64 65 70 72 65 63 61 74  ions", "deprecat
1e20: 65 64 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ed", "1", TCL_GL
1e30: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
1e40: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
1e50: 45 5f 4f 4d 49 54 5f 44 49 53 4b 49 4f 0a 20 20  E_OMIT_DISKIO.  
1e60: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
1e70: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1e80: 6f 6e 73 22 2c 20 22 64 69 73 6b 69 6f 22 2c 20  ons", "diskio", 
1e90: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
1ea0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1eb0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1ec0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1ed0: 6e 73 22 2c 20 22 64 69 73 6b 69 6f 22 2c 20 22  ns", "diskio", "
1ee0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
1ef0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1f00: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
1f10: 5f 45 58 50 4c 41 49 4e 0a 20 20 54 63 6c 5f 53  _EXPLAIN.  Tcl_S
1f20: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1f30: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1f40: 20 22 65 78 70 6c 61 69 6e 22 2c 20 22 30 22 2c   "explain", "0",
1f50: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1f60: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1f70: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1f80: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1f90: 20 22 65 78 70 6c 61 69 6e 22 2c 20 22 31 22 2c   "explain", "1",
1fa0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1fb0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1fc0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4c  f SQLITE_OMIT_FL
1fd0: 4f 41 54 49 4e 47 5f 50 4f 49 4e 54 0a 20 20 54  OATING_POINT.  T
1fe0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1ff0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2000: 6e 73 22 2c 20 22 66 6c 6f 61 74 69 6e 67 70 6f  ns", "floatingpo
2010: 69 6e 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  int", "0", TCL_G
2020: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
2030: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
2040: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2050: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 6c 6f 61  _options", "floa
2060: 74 69 6e 67 70 6f 69 6e 74 22 2c 20 22 31 22 2c  tingpoint", "1",
2070: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2080: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
2090: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f  f SQLITE_OMIT_FO
20a0: 52 45 49 47 4e 5f 4b 45 59 0a 20 20 54 63 6c 5f  REIGN_KEY.  Tcl_
20b0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
20c0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
20d0: 2c 20 22 66 6f 72 65 69 67 6e 6b 65 79 22 2c 20  , "foreignkey", 
20e0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
20f0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2100: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2110: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2120: 6e 73 22 2c 20 22 66 6f 72 65 69 67 6e 6b 65 79  ns", "foreignkey
2130: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2140: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2150: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2160: 45 4e 41 42 4c 45 5f 46 54 53 31 0a 20 20 54 63  ENABLE_FTS1.  Tc
2170: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2180: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2190: 73 22 2c 20 22 66 74 73 31 22 2c 20 22 31 22 2c  s", "fts1", "1",
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 66 74 73 31 22 2c 20 22 30 22 2c 20 54 43   "fts1", "0", TC
21f0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2200: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
2210: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
2220: 32 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  2.  Tcl_SetVar2(
2230: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2240: 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 32 22  options", "fts2"
2250: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
2260: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
2270: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2280: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2290: 69 6f 6e 73 22 2c 20 22 66 74 73 32 22 2c 20 22  ions", "fts2", "
22a0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
22b0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
22c0: 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  fdef SQLITE_ENAB
22d0: 4c 45 5f 46 54 53 33 0a 20 20 54 63 6c 5f 53 65  LE_FTS3.  Tcl_Se
22e0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
22f0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2300: 22 66 74 73 33 22 2c 20 22 31 22 2c 20 54 43 4c  "fts3", "1", TCL
2310: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2320: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2330: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2340: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74  te_options", "ft
2350: 73 33 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  s3", "0", TCL_GL
2360: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
2370: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
2380: 45 5f 4f 4d 49 54 5f 47 45 54 5f 54 41 42 4c 45  E_OMIT_GET_TABLE
2390: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
23a0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
23b0: 70 74 69 6f 6e 73 22 2c 20 22 67 65 74 74 61 62  ptions", "gettab
23c0: 6c 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  le", "0", TCL_GL
23d0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
23e0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
23f0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2400: 6f 70 74 69 6f 6e 73 22 2c 20 22 67 65 74 74 61  options", "getta
2410: 62 6c 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ble", "1", TCL_G
2420: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2430: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
2440: 54 45 5f 45 4e 41 42 4c 45 5f 49 43 55 0a 20 20  TE_ENABLE_ICU.  
2450: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2460: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2470: 6f 6e 73 22 2c 20 22 69 63 75 22 2c 20 22 31 22  ons", "icu", "1"
2480: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2490: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
24a0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
24b0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
24c0: 2c 20 22 69 63 75 22 2c 20 22 30 22 2c 20 54 43  , "icu", "0", TC
24d0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
24e0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
24f0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 49 4e 43 52 42  QLITE_OMIT_INCRB
2500: 4c 4f 42 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  LOB.  Tcl_SetVar
2510: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2520: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 63  e_options", "inc
2530: 72 62 6c 6f 62 22 2c 20 22 30 22 2c 20 54 43 4c  rblob", "0", TCL
2540: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2550: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2560: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2570: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e  te_options", "in
2580: 63 72 62 6c 6f 62 22 2c 20 22 31 22 2c 20 54 43  crblob", "1", TC
2590: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
25a0: 23 65 6e 64 69 66 20 2f 2a 20 53 51 4c 49 54 45  #endif /* SQLITE
25b0: 5f 4f 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d  _OMIT_AUTOVACUUM
25c0: 20 2a 2f 0a 0a 23 69 66 64 65 66 20 53 51 4c 49   */..#ifdef SQLI
25d0: 54 45 5f 4f 4d 49 54 5f 49 4e 54 45 47 52 49 54  TE_OMIT_INTEGRIT
25e0: 59 5f 43 48 45 43 4b 0a 20 20 54 63 6c 5f 53 65  Y_CHECK.  Tcl_Se
25f0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2600: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2610: 22 69 6e 74 65 67 72 69 74 79 63 6b 22 2c 20 22  "integrityck", "
2620: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
2630: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
2640: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2650: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2660: 73 22 2c 20 22 69 6e 74 65 67 72 69 74 79 63 6b  s", "integrityck
2670: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2680: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2690: 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53 51  ..#if defined(SQ
26a0: 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49 4c  LITE_DEFAULT_FIL
26b0: 45 5f 46 4f 52 4d 41 54 29 20 26 26 20 53 51 4c  E_FORMAT) && SQL
26c0: 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49 4c 45  ITE_DEFAULT_FILE
26d0: 5f 46 4f 52 4d 41 54 3d 3d 31 0a 20 20 54 63 6c  _FORMAT==1.  Tcl
26e0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
26f0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2700: 22 2c 20 22 6c 65 67 61 63 79 66 6f 72 6d 61 74  ", "legacyformat
2710: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2720: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
2730: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2740: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2750: 74 69 6f 6e 73 22 2c 20 22 6c 65 67 61 63 79 66  tions", "legacyf
2760: 6f 72 6d 61 74 22 2c 20 22 30 22 2c 20 54 43 4c  ormat", "0", TCL
2770: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2780: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
2790: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 49 4b 45 5f 4f  LITE_OMIT_LIKE_O
27a0: 50 54 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63  PTIMIZATION.  Tc
27b0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
27c0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
27d0: 73 22 2c 20 22 6c 69 6b 65 5f 6f 70 74 22 2c 20  s", "like_opt", 
27e0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
27f0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2800: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2810: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2820: 6e 73 22 2c 20 22 6c 69 6b 65 5f 6f 70 74 22 2c  ns", "like_opt",
2830: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2840: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2850: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
2860: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
2870: 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  N.  Tcl_SetVar2(
2880: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2890: 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f  options", "load_
28a0: 65 78 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ext", "0", TCL_G
28b0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
28c0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
28d0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
28e0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 61 64  _options", "load
28f0: 5f 65 78 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  _ext", "1", TCL_
2900: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2910: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2920: 49 54 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49  ITE_OMIT_LOCALTI
2930: 4d 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ME.  Tcl_SetVar2
2940: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2950: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61  _options", "loca
2960: 6c 74 69 6d 65 22 2c 20 22 30 22 2c 20 54 43 4c  ltime", "0", TCL
2970: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2980: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2990: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
29a0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f  te_options", "lo
29b0: 63 61 6c 74 69 6d 65 22 2c 20 22 31 22 2c 20 54  caltime", "1", T
29c0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
29d0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
29e0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 4f 4b  SQLITE_OMIT_LOOK
29f0: 41 53 49 44 45 0a 20 20 54 63 6c 5f 53 65 74 56  ASIDE.  Tcl_SetV
2a00: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2a10: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c  ite_options", "l
2a20: 6f 6f 6b 61 73 69 64 65 22 2c 20 22 30 22 2c 20  ookaside", "0", 
2a30: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2a40: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
2a50: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2a60: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2a70: 22 6c 6f 6f 6b 61 73 69 64 65 22 2c 20 22 31 22  "lookaside", "1"
2a80: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2a90: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 54 63 6c 5f  Y);.#endif..Tcl_
2aa0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2ab0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2ac0: 2c 20 22 6c 6f 6e 67 5f 64 6f 75 62 6c 65 22 2c  , "long_double",
2ad0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73  .              s
2ae0: 69 7a 65 6f 66 28 4c 4f 4e 47 44 4f 55 42 4c 45  izeof(LONGDOUBLE
2af0: 5f 54 59 50 45 29 3e 73 69 7a 65 6f 66 28 64 6f  _TYPE)>sizeof(do
2b00: 75 62 6c 65 29 20 3f 20 22 31 22 20 3a 20 22 30  uble) ? "1" : "0
2b10: 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ",.             
2b20: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2b30: 29 3b 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  );..#ifdef SQLIT
2b40: 45 5f 4f 4d 49 54 5f 4d 45 4d 4f 52 59 44 42 0a  E_OMIT_MEMORYDB.
2b50: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2b60: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2b70: 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 64  tions", "memoryd
2b80: 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  b", "0", TCL_GLO
2b90: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
2ba0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2bb0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2bc0: 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79  ptions", "memory
2bd0: 64 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  db", "1", TCL_GL
2be0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
2bf0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
2c00: 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 4f 52 59 5f  E_ENABLE_MEMORY_
2c10: 4d 41 4e 41 47 45 4d 45 4e 54 0a 20 20 54 63 6c  MANAGEMENT.  Tcl
2c20: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2c30: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2c40: 22 2c 20 22 6d 65 6d 6f 72 79 6d 61 6e 61 67 65  ", "memorymanage
2c50: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2c60: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
2c70: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2c80: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2c90: 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 6d  tions", "memorym
2ca0: 61 6e 61 67 65 22 2c 20 22 30 22 2c 20 54 43 4c  anage", "0", TCL
2cb0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2cc0: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
2cd0: 4c 49 54 45 5f 4f 4d 49 54 5f 4f 52 5f 4f 50 54  LITE_OMIT_OR_OPT
2ce0: 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f  IMIZATION.  Tcl_
2cf0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2d00: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2d10: 2c 20 22 6f 72 5f 6f 70 74 22 2c 20 22 30 22 2c  , "or_opt", "0",
2d20: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2d30: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2d40: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2d50: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2d60: 20 22 6f 72 5f 6f 70 74 22 2c 20 22 31 22 2c 20   "or_opt", "1", 
2d70: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2d80: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
2d90: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50 41 47   SQLITE_OMIT_PAG
2da0: 45 52 5f 50 52 41 47 4d 41 53 0a 20 20 54 63 6c  ER_PRAGMAS.  Tcl
2db0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2dc0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2dd0: 22 2c 20 22 70 61 67 65 72 5f 70 72 61 67 6d 61  ", "pager_pragma
2de0: 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  s", "0", TCL_GLO
2df0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
2e00: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2e10: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2e20: 70 74 69 6f 6e 73 22 2c 20 22 70 61 67 65 72 5f  ptions", "pager_
2e30: 70 72 61 67 6d 61 73 22 2c 20 22 31 22 2c 20 54  pragmas", "1", T
2e40: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2e50: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66  .#endif..#if def
2e60: 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54  ined(SQLITE_OMIT
2e70: 5f 50 52 41 47 4d 41 29 20 7c 7c 20 64 65 66 69  _PRAGMA) || defi
2e80: 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  ned(SQLITE_OMIT_
2e90: 46 4c 41 47 5f 50 52 41 47 4d 41 53 29 0a 20 20  FLAG_PRAGMAS).  
2ea0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2eb0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2ec0: 6f 6e 73 22 2c 20 22 70 72 61 67 6d 61 22 2c 20  ons", "pragma", 
2ed0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2ee0: 4f 4e 4c 59 29 3b 0a 20 20 54 63 6c 5f 53 65 74  ONLY);.  Tcl_Set
2ef0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2f00: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2f10: 69 6e 74 65 67 72 69 74 79 63 6b 22 2c 20 22 30  integrityck", "0
2f20: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2f30: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2f40: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2f50: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2f60: 22 2c 20 22 70 72 61 67 6d 61 22 2c 20 22 31 22  ", "pragma", "1"
2f70: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2f80: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2f90: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50  ef SQLITE_OMIT_P
2fa0: 52 4f 47 52 45 53 53 5f 43 41 4c 4c 42 41 43 4b  ROGRESS_CALLBACK
2fb0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2fc0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2fd0: 70 74 69 6f 6e 73 22 2c 20 22 70 72 6f 67 72 65  ptions", "progre
2fe0: 73 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ss", "0", TCL_GL
2ff0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
3000: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
3010: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3020: 6f 70 74 69 6f 6e 73 22 2c 20 22 70 72 6f 67 72  options", "progr
3030: 65 73 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ess", "1", TCL_G
3040: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
3050: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
3060: 54 45 5f 4f 4d 49 54 5f 52 45 49 4e 44 45 58 0a  TE_OMIT_REINDEX.
3070: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3080: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3090: 74 69 6f 6e 73 22 2c 20 22 72 65 69 6e 64 65 78  tions", "reindex
30a0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
30b0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
30c0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
30d0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
30e0: 74 69 6f 6e 73 22 2c 20 22 72 65 69 6e 64 65 78  tions", "reindex
30f0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
3100: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3110: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
3120: 45 4e 41 42 4c 45 5f 52 54 52 45 45 0a 20 20 54  ENABLE_RTREE.  T
3130: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3140: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3150: 6e 73 22 2c 20 22 72 74 72 65 65 22 2c 20 22 31  ns", "rtree", "1
3160: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3170: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3180: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3190: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
31a0: 22 2c 20 22 72 74 72 65 65 22 2c 20 22 30 22 2c  ", "rtree", "0",
31b0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
31c0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
31d0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 43  f SQLITE_OMIT_SC
31e0: 48 45 4d 41 5f 50 52 41 47 4d 41 53 0a 20 20 54  HEMA_PRAGMAS.  T
31f0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3200: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3210: 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f 70 72 61  ns", "schema_pra
3220: 67 6d 61 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f  gmas", "0", TCL_
3230: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3240: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
3250: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3260: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68  e_options", "sch
3270: 65 6d 61 5f 70 72 61 67 6d 61 73 22 2c 20 22 31  ema_pragmas", "1
3280: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3290: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
32a0: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
32b0: 53 43 48 45 4d 41 5f 56 45 52 53 49 4f 4e 5f 50  SCHEMA_VERSION_P
32c0: 52 41 47 4d 41 53 0a 20 20 54 63 6c 5f 53 65 74  RAGMAS.  Tcl_Set
32d0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
32e0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
32f0: 73 63 68 65 6d 61 5f 76 65 72 73 69 6f 6e 22 2c  schema_version",
3300: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
3310: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
3320: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3330: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3340: 6f 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f 76 65  ons", "schema_ve
3350: 72 73 69 6f 6e 22 2c 20 22 31 22 2c 20 54 43 4c  rsion", "1", TCL
3360: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3370: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
3380: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54  LITE_ENABLE_STAT
3390: 32 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  2.  Tcl_SetVar2(
33a0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
33b0: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74 61 74 32  options", "stat2
33c0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
33d0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
33e0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
33f0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3400: 74 69 6f 6e 73 22 2c 20 22 73 74 61 74 32 22 2c  tions", "stat2",
3410: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
3420: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
3430: 23 69 66 20 21 64 65 66 69 6e 65 64 28 53 51 4c  #if !defined(SQL
3440: 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49  ITE_ENABLE_LOCKI
3450: 4e 47 5f 53 54 59 4c 45 29 0a 23 20 20 69 66 20  NG_STYLE).#  if 
3460: 64 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c 45 5f  defined(__APPLE_
3470: 5f 29 0a 23 20 20 20 20 64 65 66 69 6e 65 20 53  _).#    define S
3480: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43  QLITE_ENABLE_LOC
3490: 4b 49 4e 47 5f 53 54 59 4c 45 20 31 0a 23 20 20  KING_STYLE 1.#  
34a0: 65 6c 73 65 0a 23 20 20 20 20 64 65 66 69 6e 65  else.#    define
34b0: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c   SQLITE_ENABLE_L
34c0: 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 20 30 0a 23  OCKING_STYLE 0.#
34d0: 20 20 65 6e 64 69 66 0a 23 65 6e 64 69 66 0a 23    endif.#endif.#
34e0: 69 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  if SQLITE_ENABLE
34f0: 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 20 26  _LOCKING_STYLE &
3500: 26 20 64 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c  & defined(__APPL
3510: 45 5f 5f 29 0a 20 20 54 63 6c 5f 53 65 74 56 61  E__).  Tcl_SetVa
3520: 72 32 28 69 6e 74 65 72 70 2c 22 73 71 6c 69 74  r2(interp,"sqlit
3530: 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 6c 6f 63 6b  e_options","lock
3540: 5f 70 72 6f 78 79 5f 70 72 61 67 6d 61 73 22 2c  _proxy_pragmas",
3550: 22 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  "1",TCL_GLOBAL_O
3560: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
3570: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3580: 2c 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73  ,"sqlite_options
3590: 22 2c 22 6c 6f 63 6b 5f 70 72 6f 78 79 5f 70 72  ","lock_proxy_pr
35a0: 61 67 6d 61 73 22 2c 22 30 22 2c 54 43 4c 5f 47  agmas","0",TCL_G
35b0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
35c0: 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64 28  dif.#if defined(
35d0: 53 51 4c 49 54 45 5f 50 52 45 46 45 52 5f 50 52  SQLITE_PREFER_PR
35e0: 4f 58 59 5f 4c 4f 43 4b 49 4e 47 29 20 26 26 20  OXY_LOCKING) && 
35f0: 64 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c 45 5f  defined(__APPLE_
3600: 5f 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  _).  Tcl_SetVar2
3610: 28 69 6e 74 65 72 70 2c 22 73 71 6c 69 74 65 5f  (interp,"sqlite_
3620: 6f 70 74 69 6f 6e 73 22 2c 22 70 72 65 66 65 72  options","prefer
3630: 5f 70 72 6f 78 79 5f 6c 6f 63 6b 69 6e 67 22 2c  _proxy_locking",
3640: 22 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  "1",TCL_GLOBAL_O
3650: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
3660: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3670: 2c 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73  ,"sqlite_options
3680: 22 2c 22 70 72 65 66 65 72 5f 70 72 6f 78 79 5f  ","prefer_proxy_
3690: 6c 6f 63 6b 69 6e 67 22 2c 22 30 22 2c 54 43 4c  locking","0",TCL
36a0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
36b0: 65 6e 64 69 66 0a 20 20 20 20 0a 20 20 20 20 0a  endif.    .    .
36c0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
36d0: 49 54 5f 53 48 41 52 45 44 5f 43 41 43 48 45 0a  IT_SHARED_CACHE.
36e0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
36f0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3700: 74 69 6f 6e 73 22 2c 20 22 73 68 61 72 65 64 5f  tions", "shared_
3710: 63 61 63 68 65 22 2c 20 22 30 22 2c 20 54 43 4c  cache", "0", TCL
3720: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3730: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
3740: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
3750: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 68  te_options", "sh
3760: 61 72 65 64 5f 63 61 63 68 65 22 2c 20 22 31 22  ared_cache", "1"
3770: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3780: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
3790: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 53  ef SQLITE_OMIT_S
37a0: 55 42 51 55 45 52 59 0a 20 20 54 63 6c 5f 53 65  UBQUERY.  Tcl_Se
37b0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
37c0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
37d0: 22 73 75 62 71 75 65 72 79 22 2c 20 22 30 22 2c  "subquery", "0",
37e0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
37f0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3800: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3810: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3820: 20 22 73 75 62 71 75 65 72 79 22 2c 20 22 31 22   "subquery", "1"
3830: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3840: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
3850: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54  ef SQLITE_OMIT_T
3860: 43 4c 5f 56 41 52 49 41 42 4c 45 0a 20 20 54 63  CL_VARIABLE.  Tc
3870: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3880: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3890: 73 22 2c 20 22 74 63 6c 76 61 72 22 2c 20 22 30  s", "tclvar", "0
38a0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
38b0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
38c0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
38d0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
38e0: 22 2c 20 22 74 63 6c 76 61 72 22 2c 20 22 31 22  ", "tclvar", "1"
38f0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3900: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 54 63  Y);.#endif..  Tc
3910: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3920: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3930: 73 22 2c 20 22 74 68 72 65 61 64 73 61 66 65 22  s", "threadsafe"
3940: 2c 20 0a 20 20 20 20 20 20 53 54 52 49 4e 47 56  , .      STRINGV
3950: 41 4c 55 45 28 53 51 4c 49 54 45 5f 54 48 52 45  ALUE(SQLITE_THRE
3960: 41 44 53 41 46 45 29 2c 20 54 43 4c 5f 47 4c 4f  ADSAFE), TCL_GLO
3970: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 61 73 73  BAL_ONLY);.  ass
3980: 65 72 74 28 20 73 71 6c 69 74 65 33 5f 74 68 72  ert( sqlite3_thr
3990: 65 61 64 73 61 66 65 28 29 3d 3d 53 51 4c 49 54  eadsafe()==SQLIT
39a0: 45 5f 54 48 52 45 41 44 53 41 46 45 20 29 3b 0a  E_THREADSAFE );.
39b0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
39c0: 4d 49 54 5f 54 45 4d 50 44 42 0a 20 20 54 63 6c  MIT_TEMPDB.  Tcl
39d0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
39e0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
39f0: 22 2c 20 22 74 65 6d 70 64 62 22 2c 20 22 30 22  ", "tempdb", "0"
3a00: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3a10: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
3a20: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3a30: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3a40: 2c 20 22 74 65 6d 70 64 62 22 2c 20 22 31 22 2c  , "tempdb", "1",
3a50: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3a60: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
3a70: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 52  f SQLITE_OMIT_TR
3a80: 41 43 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ACE.  Tcl_SetVar
3a90: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3aa0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 61  e_options", "tra
3ab0: 63 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ce", "0", TCL_GL
3ac0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
3ad0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
3ae0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3af0: 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 61 63 65  options", "trace
3b00: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
3b10: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3b20: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
3b30: 4f 4d 49 54 5f 54 52 49 47 47 45 52 0a 20 20 54  OMIT_TRIGGER.  T
3b40: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3b50: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3b60: 6e 73 22 2c 20 22 74 72 69 67 67 65 72 22 2c 20  ns", "trigger", 
3b70: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
3b80: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
3b90: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3ba0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3bb0: 6e 73 22 2c 20 22 74 72 69 67 67 65 72 22 2c 20  ns", "trigger", 
3bc0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
3bd0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
3be0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
3bf0: 54 5f 54 52 55 4e 43 41 54 45 5f 4f 50 54 49 4d  T_TRUNCATE_OPTIM
3c00: 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65  IZATION.  Tcl_Se
3c10: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3c20: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3c30: 22 74 72 75 6e 63 61 74 65 5f 6f 70 74 22 2c 20  "truncate_opt", 
3c40: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
3c50: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
3c60: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3c70: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3c80: 6e 73 22 2c 20 22 74 72 75 6e 63 61 74 65 5f 6f  ns", "truncate_o
3c90: 70 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  pt", "1", TCL_GL
3ca0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
3cb0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
3cc0: 45 5f 4f 4d 49 54 5f 55 54 46 31 36 0a 20 20 54  E_OMIT_UTF16.  T
3cd0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3ce0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3cf0: 6e 73 22 2c 20 22 75 74 66 31 36 22 2c 20 22 30  ns", "utf16", "0
3d00: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3d10: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3d20: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3d30: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3d40: 22 2c 20 22 75 74 66 31 36 22 2c 20 22 31 22 2c  ", "utf16", "1",
3d50: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3d60: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64  );.#endif..#if d
3d70: 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d  efined(SQLITE_OM
3d80: 49 54 5f 56 41 43 55 55 4d 29 20 7c 7c 20 64 65  IT_VACUUM) || de
3d90: 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49  fined(SQLITE_OMI
3da0: 54 5f 41 54 54 41 43 48 29 0a 20 20 54 63 6c 5f  T_ATTACH).  Tcl_
3db0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3dc0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3dd0: 2c 20 22 76 61 63 75 75 6d 22 2c 20 22 30 22 2c  , "vacuum", "0",
3de0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3df0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3e00: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3e10: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3e20: 20 22 76 61 63 75 75 6d 22 2c 20 22 31 22 2c 20   "vacuum", "1", 
3e30: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3e40: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
3e50: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 56 49 45   SQLITE_OMIT_VIE
3e60: 57 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  W.  Tcl_SetVar2(
3e70: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3e80: 6f 70 74 69 6f 6e 73 22 2c 20 22 76 69 65 77 22  options", "view"
3e90: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
3ea0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
3eb0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3ec0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
3ed0: 69 6f 6e 73 22 2c 20 22 76 69 65 77 22 2c 20 22  ions", "view", "
3ee0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
3ef0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
3f00: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
3f10: 5f 56 49 52 54 55 41 4c 54 41 42 4c 45 0a 20 20  _VIRTUALTABLE.  
3f20: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3f30: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3f40: 6f 6e 73 22 2c 20 22 76 74 61 62 22 2c 20 22 30  ons", "vtab", "0
3f50: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3f60: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3f70: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3f80: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3f90: 22 2c 20 22 76 74 61 62 22 2c 20 22 31 22 2c 20  ", "vtab", "1", 
3fa0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3fb0: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
3fc0: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 57 41 4c   SQLITE_OMIT_WAL
3fd0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3fe0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3ff0: 70 74 69 6f 6e 73 22 2c 20 22 77 61 6c 22 2c 20  ptions", "wal", 
4000: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
4010: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
4020: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
4030: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
4040: 6e 73 22 2c 20 22 77 61 6c 22 2c 20 22 31 22 2c  ns", "wal", "1",
4050: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4060: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
4070: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 57 53  f SQLITE_OMIT_WS
4080: 44 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  D.  Tcl_SetVar2(
4090: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
40a0: 6f 70 74 69 6f 6e 73 22 2c 20 22 77 73 64 22 2c  options", "wsd",
40b0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
40c0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
40d0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
40e0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
40f0: 6f 6e 73 22 2c 20 22 77 73 64 22 2c 20 22 31 22  ons", "wsd", "1"
4100: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4110: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20  Y);.#endif..#if 
4120: 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 45  defined(SQLITE_E
4130: 4e 41 42 4c 45 5f 55 50 44 41 54 45 5f 44 45 4c  NABLE_UPDATE_DEL
4140: 45 54 45 5f 4c 49 4d 49 54 29 20 26 26 20 21 64  ETE_LIMIT) && !d
4150: 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d  efined(SQLITE_OM
4160: 49 54 5f 53 55 42 51 55 45 52 59 29 0a 20 20 54  IT_SUBQUERY).  T
4170: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
4180: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
4190: 6e 73 22 2c 20 22 75 70 64 61 74 65 5f 64 65 6c  ns", "update_del
41a0: 65 74 65 5f 6c 69 6d 69 74 22 2c 20 22 31 22 2c  ete_limit", "1",
41b0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
41c0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
41d0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
41e0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
41f0: 20 22 75 70 64 61 74 65 5f 64 65 6c 65 74 65 5f   "update_delete_
4200: 6c 69 6d 69 74 22 2c 20 22 30 22 2c 20 54 43 4c  limit", "0", TCL
4210: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
4220: 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66 69 6e  endif..#if defin
4230: 65 64 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ed(SQLITE_ENABLE
4240: 5f 55 4e 4c 4f 43 4b 5f 4e 4f 54 49 46 59 29 0a  _UNLOCK_NOTIFY).
4250: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4260: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4270: 74 69 6f 6e 73 22 2c 20 22 75 6e 6c 6f 63 6b 5f  tions", "unlock_
4280: 6e 6f 74 69 66 79 22 2c 20 22 31 22 2c 20 54 43  notify", "1", TC
4290: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
42a0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
42b0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
42c0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 75  ite_options", "u
42d0: 6e 6c 6f 63 6b 5f 6e 6f 74 69 66 79 22 2c 20 22  nlock_notify", "
42e0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
42f0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
4300: 66 64 65 66 20 53 51 4c 49 54 45 5f 53 45 43 55  fdef SQLITE_SECU
4310: 52 45 5f 44 45 4c 45 54 45 0a 20 20 54 63 6c 5f  RE_DELETE.  Tcl_
4320: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4330: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4340: 2c 20 22 73 65 63 75 72 65 5f 64 65 6c 65 74 65  , "secure_delete
4350: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
4360: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
4370: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4380: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4390: 74 69 6f 6e 73 22 2c 20 22 73 65 63 75 72 65 5f  tions", "secure_
43a0: 64 65 6c 65 74 65 22 2c 20 22 30 22 2c 20 54 43  delete", "0", TC
43b0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
43c0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
43d0: 51 4c 49 54 45 5f 4d 55 4c 54 49 50 4c 45 58 5f  QLITE_MULTIPLEX_
43e0: 45 58 54 5f 4f 56 57 52 0a 20 20 54 63 6c 5f 53  EXT_OVWR.  Tcl_S
43f0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4400: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4410: 20 22 6d 75 6c 74 69 70 6c 65 78 5f 65 78 74 5f   "multiplex_ext_
4420: 6f 76 65 72 77 72 69 74 65 22 2c 20 22 31 22 2c  overwrite", "1",
4430: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4440: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
4450: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4460: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4470: 20 22 6d 75 6c 74 69 70 6c 65 78 5f 65 78 74 5f   "multiplex_ext_
4480: 6f 76 65 72 77 72 69 74 65 22 2c 20 22 30 22 2c  overwrite", "0",
4490: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
44a0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
44b0: 66 20 59 59 54 52 41 43 4b 4d 41 58 53 54 41 43  f YYTRACKMAXSTAC
44c0: 4b 44 45 50 54 48 0a 20 20 54 63 6c 5f 53 65 74  KDEPTH.  Tcl_Set
44d0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
44e0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
44f0: 79 79 74 72 61 63 6b 6d 61 78 73 74 61 63 6b 64  yytrackmaxstackd
4500: 65 70 74 68 22 2c 20 22 31 22 2c 20 54 43 4c 5f  epth", "1", TCL_
4510: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4520: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4530: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
4540: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 79 79 74  e_options", "yyt
4550: 72 61 63 6b 6d 61 78 73 74 61 63 6b 64 65 70 74  rackmaxstackdept
4560: 68 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  h", "0", TCL_GLO
4570: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
4580: 66 0a 0a 23 64 65 66 69 6e 65 20 4c 49 4e 4b 56  f..#define LINKV
4590: 41 52 28 78 29 20 7b 20 5c 0a 20 20 20 20 73 74  AR(x) { \.    st
45a0: 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74 20 63  atic const int c
45b0: 76 5f 20 23 23 20 78 20 3d 20 53 51 4c 49 54 45  v_ ## x = SQLITE
45c0: 5f 20 23 23 20 78 3b 20 5c 0a 20 20 20 20 54 63  _ ## x; \.    Tc
45d0: 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74 65 72 70  l_LinkVar(interp
45e0: 2c 20 22 53 51 4c 49 54 45 5f 22 20 23 78 2c 20  , "SQLITE_" #x, 
45f0: 28 63 68 61 72 20 2a 29 26 28 63 76 5f 20 23 23  (char *)&(cv_ ##
4600: 20 78 29 2c 20 5c 0a 20 20 20 20 20 20 20 20 20   x), \.         
4610: 20 20 20 20 20 20 20 54 43 4c 5f 4c 49 4e 4b 5f         TCL_LINK_
4620: 49 4e 54 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f 52  INT | TCL_LINK_R
4630: 45 41 44 5f 4f 4e 4c 59 29 3b 20 7d 0a 0a 20 20  EAD_ONLY); }..  
4640: 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 4c 45 4e  LINKVAR( MAX_LEN
4650: 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  GTH );.  LINKVAR
4660: 28 20 4d 41 58 5f 43 4f 4c 55 4d 4e 20 29 3b 0a  ( MAX_COLUMN );.
4670: 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 53    LINKVAR( MAX_S
4680: 51 4c 5f 4c 45 4e 47 54 48 20 29 3b 0a 20 20 4c  QL_LENGTH );.  L
4690: 49 4e 4b 56 41 52 28 20 4d 41 58 5f 45 58 50 52  INKVAR( MAX_EXPR
46a0: 5f 44 45 50 54 48 20 29 3b 0a 20 20 4c 49 4e 4b  _DEPTH );.  LINK
46b0: 56 41 52 28 20 4d 41 58 5f 43 4f 4d 50 4f 55 4e  VAR( MAX_COMPOUN
46c0: 44 5f 53 45 4c 45 43 54 20 29 3b 0a 20 20 4c 49  D_SELECT );.  LI
46d0: 4e 4b 56 41 52 28 20 4d 41 58 5f 56 44 42 45 5f  NKVAR( MAX_VDBE_
46e0: 4f 50 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28  OP );.  LINKVAR(
46f0: 20 4d 41 58 5f 46 55 4e 43 54 49 4f 4e 5f 41 52   MAX_FUNCTION_AR
4700: 47 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20  G );.  LINKVAR( 
4710: 4d 41 58 5f 56 41 52 49 41 42 4c 45 5f 4e 55 4d  MAX_VARIABLE_NUM
4720: 42 45 52 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  BER );.  LINKVAR
4730: 28 20 4d 41 58 5f 50 41 47 45 5f 53 49 5a 45 20  ( MAX_PAGE_SIZE 
4740: 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41  );.  LINKVAR( MA
4750: 58 5f 50 41 47 45 5f 43 4f 55 4e 54 20 29 3b 0a  X_PAGE_COUNT );.
4760: 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 4c    LINKVAR( MAX_L
4770: 49 4b 45 5f 50 41 54 54 45 52 4e 5f 4c 45 4e 47  IKE_PATTERN_LENG
4780: 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28  TH );.  LINKVAR(
4790: 20 4d 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50   MAX_TRIGGER_DEP
47a0: 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28  TH );.  LINKVAR(
47b0: 20 44 45 46 41 55 4c 54 5f 54 45 4d 50 5f 43 41   DEFAULT_TEMP_CA
47c0: 43 48 45 5f 53 49 5a 45 20 29 3b 0a 20 20 4c 49  CHE_SIZE );.  LI
47d0: 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f 43  NKVAR( DEFAULT_C
47e0: 41 43 48 45 5f 53 49 5a 45 20 29 3b 0a 20 20 4c  ACHE_SIZE );.  L
47f0: 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f  INKVAR( DEFAULT_
4800: 50 41 47 45 5f 53 49 5a 45 20 29 3b 0a 20 20 4c  PAGE_SIZE );.  L
4810: 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f  INKVAR( DEFAULT_
4820: 46 49 4c 45 5f 46 4f 52 4d 41 54 20 29 3b 0a 20  FILE_FORMAT );. 
4830: 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 41 54   LINKVAR( MAX_AT
4840: 54 41 43 48 45 44 20 29 3b 0a 0a 20 20 7b 0a 20  TACHED );..  {. 
4850: 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20     static const 
4860: 69 6e 74 20 63 76 5f 54 45 4d 50 5f 53 54 4f 52  int cv_TEMP_STOR
4870: 45 20 3d 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f  E = SQLITE_TEMP_
4880: 53 54 4f 52 45 3b 0a 20 20 20 20 54 63 6c 5f 4c  STORE;.    Tcl_L
4890: 69 6e 6b 56 61 72 28 69 6e 74 65 72 70 2c 20 22  inkVar(interp, "
48a0: 54 45 4d 50 5f 53 54 4f 52 45 22 2c 20 28 63 68  TEMP_STORE", (ch
48b0: 61 72 20 2a 29 26 28 63 76 5f 54 45 4d 50 5f 53  ar *)&(cv_TEMP_S
48c0: 54 4f 52 45 29 2c 0a 20 20 20 20 20 20 20 20 20  TORE),.         
48d0: 20 20 20 20 20 20 20 54 43 4c 5f 4c 49 4e 4b 5f         TCL_LINK_
48e0: 49 4e 54 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f 52  INT | TCL_LINK_R
48f0: 45 41 44 5f 4f 4e 4c 59 29 3b 0a 20 20 7d 0a 7d  EAD_ONLY);.  }.}
4900: 0a 0a 0a 2f 2a 0a 2a 2a 20 52 65 67 69 73 74 65  .../*.** Registe
4910: 72 20 63 6f 6d 6d 61 6e 64 73 20 77 69 74 68 20  r commands with 
4920: 74 68 65 20 54 43 4c 20 69 6e 74 65 72 70 72 65  the TCL interpre
4930: 74 65 72 2e 0a 2a 2f 0a 69 6e 74 20 53 71 6c 69  ter..*/.int Sqli
4940: 74 65 63 6f 6e 66 69 67 5f 49 6e 69 74 28 54 63  teconfig_Init(Tc
4950: 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70  l_Interp *interp
4960: 29 7b 0a 20 20 73 65 74 5f 6f 70 74 69 6f 6e 73  ){.  set_options
4970: 28 69 6e 74 65 72 70 29 3b 0a 20 20 72 65 74 75  (interp);.  retu
4980: 72 6e 20 54 43 4c 5f 4f 4b 3b 0a 7d 0a           rn TCL_OK;.}.