/ Hex Artifact Content
Login

Artifact a036a69b550ebc477ab9ca2b37269201f888436e:


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 48 41 56  erp){.#ifdef HAV
04a0: 45 5f 4d 41 4c 4c 4f 43 5f 55 53 41 42 4c 45 5f  E_MALLOC_USABLE_
04b0: 53 49 5a 45 0a 20 20 54 63 6c 5f 53 65 74 56 61  SIZE.  Tcl_SetVa
04c0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
04d0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 61  te_options", "ma
04e0: 6c 6c 6f 63 5f 75 73 61 62 6c 65 5f 73 69 7a 65  lloc_usable_size
04f0: 22 2c 20 22 31 22 2c 0a 20 20 20 20 20 20 20 20  ", "1",.        
0500: 20 20 20 20 20 20 54 43 4c 5f 47 4c 4f 42 41 4c        TCL_GLOBAL
0510: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0520: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0530: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0540: 6f 6e 73 22 2c 20 22 6d 61 6c 6c 6f 63 5f 75 73  ons", "malloc_us
0550: 61 62 6c 65 5f 73 69 7a 65 22 2c 20 22 30 22 2c  able_size", "0",
0560: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54  .              T
0570: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
0580: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
0590: 53 51 4c 49 54 45 5f 33 32 42 49 54 5f 52 4f 57  SQLITE_32BIT_ROW
05a0: 49 44 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ID.  Tcl_SetVar2
05b0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
05c0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72 6f 77 69  _options", "rowi
05d0: 64 33 32 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  d32", "1", TCL_G
05e0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
05f0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
0600: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
0610: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72 6f 77 69  _options", "rowi
0620: 64 33 32 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  d32", "0", TCL_G
0630: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
0640: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
0650: 54 45 5f 43 41 53 45 5f 53 45 4e 53 49 54 49 56  TE_CASE_SENSITIV
0660: 45 5f 4c 49 4b 45 0a 20 20 54 63 6c 5f 53 65 74  E_LIKE.  Tcl_Set
0670: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
0680: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 63  lite_options","c
0690: 61 73 65 73 65 6e 73 69 74 69 76 65 6c 69 6b 65  asesensitivelike
06a0: 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c  ","1",TCL_GLOBAL
06b0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
06c0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
06d0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
06e0: 6f 6e 73 22 2c 22 63 61 73 65 73 65 6e 73 69 74  ons","casesensit
06f0: 69 76 65 6c 69 6b 65 22 2c 22 30 22 2c 54 43 4c  ivelike","0",TCL
0700: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
0710: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
0720: 4c 49 54 45 5f 44 45 42 55 47 0a 20 20 54 63 6c  LITE_DEBUG.  Tcl
0730: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0740: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0750: 22 2c 20 22 64 65 62 75 67 22 2c 20 22 31 22 2c  ", "debug", "1",
0760: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
0770: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
0780: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
0790: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
07a0: 20 22 64 65 62 75 67 22 2c 20 22 30 22 2c 20 54   "debug", "0", T
07b0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
07c0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
07d0: 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f 56  SQLITE_DIRECT_OV
07e0: 45 52 46 4c 4f 57 5f 52 45 41 44 0a 20 20 54 63  ERFLOW_READ.  Tc
07f0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0800: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0810: 73 22 2c 20 22 64 69 72 65 63 74 5f 72 65 61 64  s", "direct_read
0820: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
0830: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
0840: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0850: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0860: 74 69 6f 6e 73 22 2c 20 22 64 69 72 65 63 74 5f  tions", "direct_
0870: 72 65 61 64 22 2c 20 22 30 22 2c 20 54 43 4c 5f  read", "0", TCL_
0880: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0890: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
08a0: 49 54 45 5f 44 49 53 41 42 4c 45 5f 44 49 52 53  ITE_DISABLE_DIRS
08b0: 59 4e 43 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  YNC.  Tcl_SetVar
08c0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
08d0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69 72  e_options", "dir
08e0: 73 79 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f  sync", "0", TCL_
08f0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0900: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
0910: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0920: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69 72  e_options", "dir
0930: 73 79 6e 63 22 2c 20 22 31 22 2c 20 54 43 4c 5f  sync", "1", TCL_
0940: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0950: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
0960: 49 54 45 5f 44 49 53 41 42 4c 45 5f 4c 46 53 0a  ITE_DISABLE_LFS.
0970: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0980: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0990: 74 69 6f 6e 73 22 2c 20 22 6c 66 73 22 2c 20 22  tions", "lfs", "
09a0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
09b0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
09c0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
09d0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
09e0: 73 22 2c 20 22 6c 66 73 22 2c 20 22 31 22 2c 20  s", "lfs", "1", 
09f0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0a00: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 31 20  ;.#endif..#if 1 
0a10: 2f 2a 20 64 65 66 20 53 51 4c 49 54 45 5f 4d 45  /* def SQLITE_ME
0a20: 4d 44 45 42 55 47 20 2a 2f 0a 20 20 54 63 6c 5f  MDEBUG */.  Tcl_
0a30: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0a40: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
0a50: 2c 20 22 6d 65 6d 64 65 62 75 67 22 2c 20 22 31  , "memdebug", "1
0a60: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0a70: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
0a80: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0a90: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0aa0: 22 2c 20 22 6d 65 6d 64 65 62 75 67 22 2c 20 22  ", "memdebug", "
0ab0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
0ac0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
0ad0: 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  fdef SQLITE_ENAB
0ae0: 4c 45 5f 38 5f 33 5f 4e 41 4d 45 53 0a 20 20 54  LE_8_3_NAMES.  T
0af0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
0b00: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
0b10: 6e 73 22 2c 20 22 38 5f 33 5f 6e 61 6d 65 73 22  ns", "8_3_names"
0b20: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
0b30: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
0b40: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
0b50: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
0b60: 69 6f 6e 73 22 2c 20 22 38 5f 33 5f 6e 61 6d 65  ions", "8_3_name
0b70: 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  s", "0", TCL_GLO
0b80: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
0b90: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
0ba0: 5f 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 33 0a  _ENABLE_MEMSYS3.
0bb0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0bc0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0bd0: 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 33 22 2c 20  tions", "mem3", 
0be0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
0bf0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
0c00: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
0c10: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
0c20: 6e 73 22 2c 20 22 6d 65 6d 33 22 2c 20 22 30 22  ns", "mem3", "0"
0c30: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0c40: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
0c50: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
0c60: 5f 4d 45 4d 53 59 53 35 0a 20 20 54 63 6c 5f 53  _MEMSYS5.  Tcl_S
0c70: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
0c80: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
0c90: 20 22 6d 65 6d 35 22 2c 20 22 31 22 2c 20 54 43   "mem5", "1", TC
0ca0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0cb0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
0cc0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0cd0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d  ite_options", "m
0ce0: 65 6d 35 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  em5", "0", TCL_G
0cf0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
0d00: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
0d10: 54 45 5f 4d 55 54 45 58 5f 4f 4d 49 54 0a 20 20  TE_MUTEX_OMIT.  
0d20: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0d30: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0d40: 6f 6e 73 22 2c 20 22 6d 75 74 65 78 22 2c 20 22  ons", "mutex", "
0d50: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
0d60: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
0d70: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0d80: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0d90: 73 22 2c 20 22 6d 75 74 65 78 22 2c 20 22 31 22  s", "mutex", "1"
0da0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0db0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
0dc0: 65 66 20 53 51 4c 49 54 45 5f 4d 55 54 45 58 5f  ef SQLITE_MUTEX_
0dd0: 4e 4f 4f 50 0a 20 20 54 63 6c 5f 53 65 74 56 61  NOOP.  Tcl_SetVa
0de0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
0df0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 75  te_options", "mu
0e00: 74 65 78 5f 6e 6f 6f 70 22 2c 20 22 31 22 2c 20  tex_noop", "1", 
0e10: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0e20: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
0e30: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0e40: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0e50: 22 6d 75 74 65 78 5f 6e 6f 6f 70 22 2c 20 22 30  "mutex_noop", "0
0e60: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0e70: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
0e80: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
0e90: 41 4c 54 45 52 54 41 42 4c 45 0a 20 20 54 63 6c  ALTERTABLE.  Tcl
0ea0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0eb0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0ec0: 22 2c 20 22 61 6c 74 65 72 74 61 62 6c 65 22 2c  ", "altertable",
0ed0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0ee0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0ef0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0f00: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0f10: 6f 6e 73 22 2c 20 22 61 6c 74 65 72 74 61 62 6c  ons", "altertabl
0f20: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
0f30: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
0f40: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
0f50: 5f 4f 4d 49 54 5f 41 4e 41 4c 59 5a 45 0a 20 20  _OMIT_ANALYZE.  
0f60: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0f70: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0f80: 6f 6e 73 22 2c 20 22 61 6e 61 6c 79 7a 65 22 2c  ons", "analyze",
0f90: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0fa0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0fb0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0fc0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0fd0: 6f 6e 73 22 2c 20 22 61 6e 61 6c 79 7a 65 22 2c  ons", "analyze",
0fe0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
0ff0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
1000: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
1010: 41 42 4c 45 5f 41 54 4f 4d 49 43 5f 57 52 49 54  ABLE_ATOMIC_WRIT
1020: 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  E.  Tcl_SetVar2(
1030: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1040: 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74 6f 6d 69  options", "atomi
1050: 63 77 72 69 74 65 22 2c 20 22 31 22 2c 20 54 43  cwrite", "1", TC
1060: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1070: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1080: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1090: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
10a0: 74 6f 6d 69 63 77 72 69 74 65 22 2c 20 22 30 22  tomicwrite", "0"
10b0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
10c0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
10d0: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41  ef SQLITE_OMIT_A
10e0: 54 54 41 43 48 0a 20 20 54 63 6c 5f 53 65 74 56  TTACH.  Tcl_SetV
10f0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1100: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
1110: 74 74 61 63 68 22 2c 20 22 30 22 2c 20 54 43 4c  ttach", "0", TCL
1120: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1130: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1140: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1150: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 74  te_options", "at
1160: 74 61 63 68 22 2c 20 22 31 22 2c 20 54 43 4c 5f  tach", "1", TCL_
1170: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1180: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1190: 49 54 45 5f 4f 4d 49 54 5f 41 55 54 48 4f 52 49  ITE_OMIT_AUTHORI
11a0: 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74  ZATION.  Tcl_Set
11b0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
11c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
11d0: 61 75 74 68 22 2c 20 22 30 22 2c 20 54 43 4c 5f  auth", "0", TCL_
11e0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
11f0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
1200: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1210: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74  e_options", "aut
1220: 68 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  h", "1", TCL_GLO
1230: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
1240: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
1250: 5f 4f 4d 49 54 5f 41 55 54 4f 49 4e 43 52 45 4d  _OMIT_AUTOINCREM
1260: 45 4e 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ENT.  Tcl_SetVar
1270: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1280: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74  e_options", "aut
1290: 6f 69 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f  oinc", "0", TCL_
12a0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
12b0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
12c0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
12d0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74  e_options", "aut
12e0: 6f 69 6e 63 22 2c 20 22 31 22 2c 20 54 43 4c 5f  oinc", "1", TCL_
12f0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1300: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1310: 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 4d 41 54  ITE_OMIT_AUTOMAT
1320: 49 43 5f 49 4e 44 45 58 0a 20 20 54 63 6c 5f 53  IC_INDEX.  Tcl_S
1330: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1340: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1350: 20 22 61 75 74 6f 69 6e 64 65 78 22 2c 20 22 30   "autoindex", "0
1360: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1370: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
1380: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1390: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
13a0: 22 2c 20 22 61 75 74 6f 69 6e 64 65 78 22 2c 20  ", "autoindex", 
13b0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
13c0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
13d0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
13e0: 54 5f 41 55 54 4f 52 45 53 45 54 0a 20 20 54 63  T_AUTORESET.  Tc
13f0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1400: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1410: 73 22 2c 20 22 61 75 74 6f 72 65 73 65 74 22 2c  s", "autoreset",
1420: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1430: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
1440: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
1450: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1460: 6f 6e 73 22 2c 20 22 61 75 74 6f 72 65 73 65 74  ons", "autoreset
1470: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
1480: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
1490: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
14a0: 4f 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d 0a  OMIT_AUTOVACUUM.
14b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
14c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
14d0: 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f 76 61 63  tions", "autovac
14e0: 75 75 6d 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  uum", "0", TCL_G
14f0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1500: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1510: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1520: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f  _options", "auto
1530: 76 61 63 75 75 6d 22 2c 20 22 31 22 2c 20 54 43  vacuum", "1", TC
1540: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1550: 23 65 6e 64 69 66 20 2f 2a 20 53 51 4c 49 54 45  #endif /* SQLITE
1560: 5f 4f 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d  _OMIT_AUTOVACUUM
1570: 20 2a 2f 0a 23 69 66 20 21 64 65 66 69 6e 65 64   */.#if !defined
1580: 28 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f  (SQLITE_DEFAULT_
1590: 41 55 54 4f 56 41 43 55 55 4d 29 0a 20 20 54 63  AUTOVACUUM).  Tc
15a0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
15b0: 2c 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73  ,"sqlite_options
15c0: 22 2c 22 64 65 66 61 75 6c 74 5f 61 75 74 6f 76  ","default_autov
15d0: 61 63 75 75 6d 22 2c 22 30 22 2c 54 43 4c 5f 47  acuum","0",TCL_G
15e0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
15f0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1600: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1610: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 66 61  _options", "defa
1620: 75 6c 74 5f 61 75 74 6f 76 61 63 75 75 6d 22 2c  ult_autovacuum",
1630: 20 0a 20 20 20 20 20 20 53 54 52 49 4e 47 56 41   .      STRINGVA
1640: 4c 55 45 28 53 51 4c 49 54 45 5f 44 45 46 41 55  LUE(SQLITE_DEFAU
1650: 4c 54 5f 41 55 54 4f 56 41 43 55 55 4d 29 2c 20  LT_AUTOVACUUM), 
1660: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1670: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
1680: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 42 45 54   SQLITE_OMIT_BET
1690: 57 45 45 4e 5f 4f 50 54 49 4d 49 5a 41 54 49 4f  WEEN_OPTIMIZATIO
16a0: 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  N.  Tcl_SetVar2(
16b0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
16c0: 6f 70 74 69 6f 6e 73 22 2c 20 22 62 65 74 77 65  options", "betwe
16d0: 65 6e 5f 6f 70 74 22 2c 20 22 30 22 2c 20 54 43  en_opt", "0", TC
16e0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
16f0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1700: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1710: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62  ite_options", "b
1720: 65 74 77 65 65 6e 5f 6f 70 74 22 2c 20 22 31 22  etween_opt", "1"
1730: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1740: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1750: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 42  ef SQLITE_OMIT_B
1760: 55 49 4c 54 49 4e 5f 54 45 53 54 0a 20 20 54 63  UILTIN_TEST.  Tc
1770: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1780: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1790: 73 22 2c 20 22 62 75 69 6c 74 69 6e 5f 74 65 73  s", "builtin_tes
17a0: 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  t", "0", TCL_GLO
17b0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
17c0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
17d0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
17e0: 70 74 69 6f 6e 73 22 2c 20 22 62 75 69 6c 74 69  ptions", "builti
17f0: 6e 5f 74 65 73 74 22 2c 20 22 31 22 2c 20 54 43  n_test", "1", TC
1800: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1810: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1820: 51 4c 49 54 45 5f 4f 4d 49 54 5f 42 4c 4f 42 5f  QLITE_OMIT_BLOB_
1830: 4c 49 54 45 52 41 4c 0a 20 20 54 63 6c 5f 53 65  LITERAL.  Tcl_Se
1840: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1850: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1860: 22 62 6c 6f 62 6c 69 74 22 2c 20 22 30 22 2c 20  "bloblit", "0", 
1870: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1880: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
1890: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
18a0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
18b0: 22 62 6c 6f 62 6c 69 74 22 2c 20 22 31 22 2c 20  "bloblit", "1", 
18c0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
18d0: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
18e0: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 41 53   SQLITE_OMIT_CAS
18f0: 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  T.  Tcl_SetVar2(
1900: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1910: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 61 73 74 22  options", "cast"
1920: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
1930: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
1940: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1950: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1960: 69 6f 6e 73 22 2c 20 22 63 61 73 74 22 2c 20 22  ions", "cast", "
1970: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
1980: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1990: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
19a0: 5f 43 48 45 43 4b 0a 20 20 54 63 6c 5f 53 65 74  _CHECK.  Tcl_Set
19b0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
19c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
19d0: 63 68 65 63 6b 22 2c 20 22 30 22 2c 20 54 43 4c  check", "0", TCL
19e0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
19f0: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1a00: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1a10: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 68  te_options", "ch
1a20: 65 63 6b 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  eck", "1", TCL_G
1a30: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1a40: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1a50: 54 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e  TE_ENABLE_COLUMN
1a60: 5f 4d 45 54 41 44 41 54 41 0a 20 20 54 63 6c 5f  _METADATA.  Tcl_
1a70: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1a80: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1a90: 2c 20 22 63 6f 6c 75 6d 6e 6d 65 74 61 64 61 74  , "columnmetadat
1aa0: 61 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  a", "1", TCL_GLO
1ab0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
1ac0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1ad0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1ae0: 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6c 75 6d 6e  ptions", "column
1af0: 6d 65 74 61 64 61 74 61 22 2c 20 22 30 22 2c 20  metadata", "0", 
1b00: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1b10: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
1b20: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f   SQLITE_ENABLE_O
1b30: 56 45 52 53 49 5a 45 5f 43 45 4c 4c 5f 43 48 45  VERSIZE_CELL_CHE
1b40: 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  CK.  Tcl_SetVar2
1b50: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1b60: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 76 65 72  _options", "over
1b70: 73 69 7a 65 5f 63 65 6c 6c 5f 63 68 65 63 6b 22  size_cell_check"
1b80: 2c 20 22 31 22 2c 0a 20 20 20 20 20 20 20 20 20  , "1",.         
1b90: 20 20 20 20 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f       TCL_GLOBAL_
1ba0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1bb0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1bc0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1bd0: 6e 73 22 2c 20 22 6f 76 65 72 73 69 7a 65 5f 63  ns", "oversize_c
1be0: 65 6c 6c 5f 63 68 65 63 6b 22 2c 20 22 30 22 2c  ell_check", "0",
1bf0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54  .              T
1c00: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1c10: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
1c20: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d 50  SQLITE_OMIT_COMP
1c30: 49 4c 45 4f 50 54 49 4f 4e 5f 44 49 41 47 53 0a  ILEOPTION_DIAGS.
1c40: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1c50: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1c60: 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70 69 6c 65  tions", "compile
1c70: 6f 70 74 69 6f 6e 5f 64 69 61 67 73 22 2c 20 22  option_diags", "
1c80: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1c90: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
1ca0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1cb0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1cc0: 73 22 2c 20 22 63 6f 6d 70 69 6c 65 6f 70 74 69  s", "compileopti
1cd0: 6f 6e 5f 64 69 61 67 73 22 2c 20 22 31 22 2c 20  on_diags", "1", 
1ce0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1cf0: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
1d00: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d   SQLITE_OMIT_COM
1d10: 50 4c 45 54 45 0a 20 20 54 63 6c 5f 53 65 74 56  PLETE.  Tcl_SetV
1d20: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1d30: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63  ite_options", "c
1d40: 6f 6d 70 6c 65 74 65 22 2c 20 22 30 22 2c 20 54  omplete", "0", T
1d50: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1d60: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1d70: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1d80: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1d90: 63 6f 6d 70 6c 65 74 65 22 2c 20 22 31 22 2c 20  complete", "1", 
1da0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1db0: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
1dc0: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d   SQLITE_OMIT_COM
1dd0: 50 4f 55 4e 44 5f 53 45 4c 45 43 54 0a 20 20 54  POUND_SELECT.  T
1de0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1df0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1e00: 6e 73 22 2c 20 22 63 6f 6d 70 6f 75 6e 64 22 2c  ns", "compound",
1e10: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1e20: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
1e30: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
1e40: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1e50: 6f 6e 73 22 2c 20 22 63 6f 6d 70 6f 75 6e 64 22  ons", "compound"
1e60: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
1e70: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1e80: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1e90: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1ea0: 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6e 66 6c 69  ptions", "confli
1eb0: 63 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ct", "1", TCL_GL
1ec0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a 23 69 66  OBAL_ONLY);..#if
1ed0: 20 53 51 4c 49 54 45 5f 4f 53 5f 55 4e 49 58 0a   SQLITE_OS_UNIX.
1ee0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1ef0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1f00: 74 69 6f 6e 73 22 2c 20 22 63 72 61 73 68 74 65  tions", "crashte
1f10: 73 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  st", "1", TCL_GL
1f20: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
1f30: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
1f40: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1f50: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 72 61 73 68  options", "crash
1f60: 74 65 73 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f  test", "0", TCL_
1f70: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1f80: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1f90: 49 54 45 5f 4f 4d 49 54 5f 44 41 54 45 54 49 4d  ITE_OMIT_DATETIM
1fa0: 45 5f 46 55 4e 43 53 0a 20 20 54 63 6c 5f 53 65  E_FUNCS.  Tcl_Se
1fb0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1fc0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1fd0: 22 64 61 74 65 74 69 6d 65 22 2c 20 22 30 22 2c  "datetime", "0",
1fe0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1ff0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2000: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2010: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2020: 20 22 64 61 74 65 74 69 6d 65 22 2c 20 22 31 22   "datetime", "1"
2030: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2040: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2050: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44  ef SQLITE_OMIT_D
2060: 45 43 4c 54 59 50 45 0a 20 20 54 63 6c 5f 53 65  ECLTYPE.  Tcl_Se
2070: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2080: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2090: 22 64 65 63 6c 74 79 70 65 22 2c 20 22 30 22 2c  "decltype", "0",
20a0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
20b0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
20c0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
20d0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
20e0: 20 22 64 65 63 6c 74 79 70 65 22 2c 20 22 31 22   "decltype", "1"
20f0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2100: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2110: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44  ef SQLITE_OMIT_D
2120: 45 50 52 45 43 41 54 45 44 0a 20 20 54 63 6c 5f  EPRECATED.  Tcl_
2130: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2140: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2150: 2c 20 22 64 65 70 72 65 63 61 74 65 64 22 2c 20  , "deprecated", 
2160: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2170: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2180: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2190: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
21a0: 6e 73 22 2c 20 22 64 65 70 72 65 63 61 74 65 64  ns", "deprecated
21b0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
21c0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
21d0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
21e0: 4f 4d 49 54 5f 44 49 53 4b 49 4f 0a 20 20 54 63  OMIT_DISKIO.  Tc
21f0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2200: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2210: 73 22 2c 20 22 64 69 73 6b 69 6f 22 2c 20 22 30  s", "diskio", "0
2220: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2230: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2240: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2250: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2260: 22 2c 20 22 64 69 73 6b 69 6f 22 2c 20 22 31 22  ", "diskio", "1"
2270: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2280: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2290: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 45  ef SQLITE_OMIT_E
22a0: 58 50 4c 41 49 4e 0a 20 20 54 63 6c 5f 53 65 74  XPLAIN.  Tcl_Set
22b0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
22c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
22d0: 65 78 70 6c 61 69 6e 22 2c 20 22 30 22 2c 20 54  explain", "0", T
22e0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
22f0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2300: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2310: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2320: 65 78 70 6c 61 69 6e 22 2c 20 22 31 22 2c 20 54  explain", "1", T
2330: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2340: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
2350: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4c 4f 41  SQLITE_OMIT_FLOA
2360: 54 49 4e 47 5f 50 4f 49 4e 54 0a 20 20 54 63 6c  TING_POINT.  Tcl
2370: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2380: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2390: 22 2c 20 22 66 6c 6f 61 74 69 6e 67 70 6f 69 6e  ", "floatingpoin
23a0: 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  t", "0", TCL_GLO
23b0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
23c0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
23d0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
23e0: 70 74 69 6f 6e 73 22 2c 20 22 66 6c 6f 61 74 69  ptions", "floati
23f0: 6e 67 70 6f 69 6e 74 22 2c 20 22 31 22 2c 20 54  ngpoint", "1", T
2400: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2410: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
2420: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4f 52 45  SQLITE_OMIT_FORE
2430: 49 47 4e 5f 4b 45 59 0a 20 20 54 63 6c 5f 53 65  IGN_KEY.  Tcl_Se
2440: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2450: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2460: 22 66 6f 72 65 69 67 6e 6b 65 79 22 2c 20 22 30  "foreignkey", "0
2470: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2480: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2490: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
24a0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
24b0: 22 2c 20 22 66 6f 72 65 69 67 6e 6b 65 79 22 2c  ", "foreignkey",
24c0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
24d0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
24e0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
24f0: 41 42 4c 45 5f 46 54 53 31 0a 20 20 54 63 6c 5f  ABLE_FTS1.  Tcl_
2500: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2510: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2520: 2c 20 22 66 74 73 31 22 2c 20 22 31 22 2c 20 54  , "fts1", "1", T
2530: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2540: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2550: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2560: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2570: 66 74 73 31 22 2c 20 22 30 22 2c 20 54 43 4c 5f  fts1", "0", TCL_
2580: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2590: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
25a0: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 32 0a  ITE_ENABLE_FTS2.
25b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
25c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
25d0: 74 69 6f 6e 73 22 2c 20 22 66 74 73 32 22 2c 20  tions", "fts2", 
25e0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
25f0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2600: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2610: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2620: 6e 73 22 2c 20 22 66 74 73 32 22 2c 20 22 30 22  ns", "fts2", "0"
2630: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2640: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2650: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
2660: 5f 46 54 53 33 0a 20 20 54 63 6c 5f 53 65 74 56  _FTS3.  Tcl_SetV
2670: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2680: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
2690: 74 73 33 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ts3", "1", TCL_G
26a0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
26b0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
26c0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
26d0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 33  _options", "fts3
26e0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
26f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2700: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2710: 4f 4d 49 54 5f 47 45 54 5f 54 41 42 4c 45 0a 20  OMIT_GET_TABLE. 
2720: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2730: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2740: 69 6f 6e 73 22 2c 20 22 67 65 74 74 61 62 6c 65  ions", "gettable
2750: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
2760: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
2770: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2780: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2790: 74 69 6f 6e 73 22 2c 20 22 67 65 74 74 61 62 6c  tions", "gettabl
27a0: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
27b0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
27c0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
27d0: 5f 45 4e 41 42 4c 45 5f 49 43 55 0a 20 20 54 63  _ENABLE_ICU.  Tc
27e0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
27f0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2800: 73 22 2c 20 22 69 63 75 22 2c 20 22 31 22 2c 20  s", "icu", "1", 
2810: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2820: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
2830: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2840: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2850: 22 69 63 75 22 2c 20 22 30 22 2c 20 54 43 4c 5f  "icu", "0", TCL_
2860: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2870: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2880: 49 54 45 5f 4f 4d 49 54 5f 49 4e 43 52 42 4c 4f  ITE_OMIT_INCRBLO
2890: 42 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  B.  Tcl_SetVar2(
28a0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
28b0: 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 63 72 62  options", "incrb
28c0: 6c 6f 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  lob", "0", TCL_G
28d0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
28e0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
28f0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2900: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 63 72  _options", "incr
2910: 62 6c 6f 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f  blob", "1", TCL_
2920: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2930: 6e 64 69 66 20 2f 2a 20 53 51 4c 49 54 45 5f 4f  ndif /* SQLITE_O
2940: 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d 20 2a  MIT_AUTOVACUUM *
2950: 2f 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  /..#ifdef SQLITE
2960: 5f 4f 4d 49 54 5f 49 4e 54 45 47 52 49 54 59 5f  _OMIT_INTEGRITY_
2970: 43 48 45 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56  CHECK.  Tcl_SetV
2980: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2990: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69  ite_options", "i
29a0: 6e 74 65 67 72 69 74 79 63 6b 22 2c 20 22 30 22  ntegrityck", "0"
29b0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
29c0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
29d0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
29e0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
29f0: 2c 20 22 69 6e 74 65 67 72 69 74 79 63 6b 22 2c  , "integrityck",
2a00: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2a10: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2a20: 23 69 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49  #if defined(SQLI
2a30: 54 45 5f 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f  TE_DEFAULT_FILE_
2a40: 46 4f 52 4d 41 54 29 20 26 26 20 53 51 4c 49 54  FORMAT) && SQLIT
2a50: 45 5f 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46  E_DEFAULT_FILE_F
2a60: 4f 52 4d 41 54 3d 3d 31 0a 20 20 54 63 6c 5f 53  ORMAT==1.  Tcl_S
2a70: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2a80: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2a90: 20 22 6c 65 67 61 63 79 66 6f 72 6d 61 74 22 2c   "legacyformat",
2aa0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2ab0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
2ac0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2ad0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2ae0: 6f 6e 73 22 2c 20 22 6c 65 67 61 63 79 66 6f 72  ons", "legacyfor
2af0: 6d 61 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  mat", "0", TCL_G
2b00: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2b10: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
2b20: 54 45 5f 4f 4d 49 54 5f 4c 49 4b 45 5f 4f 50 54  TE_OMIT_LIKE_OPT
2b30: 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f  IMIZATION.  Tcl_
2b40: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2b50: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2b60: 2c 20 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 30  , "like_opt", "0
2b70: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2b80: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2b90: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2ba0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2bb0: 22 2c 20 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22  ", "like_opt", "
2bc0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2bd0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
2be0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
2bf0: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a  _LOAD_EXTENSION.
2c00: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2c10: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2c20: 74 69 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78  tions", "load_ex
2c30: 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  t", "0", TCL_GLO
2c40: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
2c50: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2c60: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2c70: 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65  ptions", "load_e
2c80: 78 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  xt", "1", TCL_GL
2c90: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
2ca0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
2cb0: 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45  E_OMIT_LOCALTIME
2cc0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2cd0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2ce0: 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74  ptions", "localt
2cf0: 69 6d 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ime", "0", TCL_G
2d00: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
2d10: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
2d20: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2d30: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61  _options", "loca
2d40: 6c 74 69 6d 65 22 2c 20 22 31 22 2c 20 54 43 4c  ltime", "1", TCL
2d50: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2d60: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
2d70: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 4f 4b 41 53  LITE_OMIT_LOOKAS
2d80: 49 44 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  IDE.  Tcl_SetVar
2d90: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2da0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f  e_options", "loo
2db0: 6b 61 73 69 64 65 22 2c 20 22 30 22 2c 20 54 43  kaside", "0", TC
2dc0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2dd0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
2de0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2df0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c  ite_options", "l
2e00: 6f 6f 6b 61 73 69 64 65 22 2c 20 22 31 22 2c 20  ookaside", "1", 
2e10: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2e20: 3b 0a 23 65 6e 64 69 66 0a 0a 54 63 6c 5f 53 65  ;.#endif..Tcl_Se
2e30: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2e40: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2e50: 22 6c 6f 6e 67 5f 64 6f 75 62 6c 65 22 2c 0a 20  "long_double",. 
2e60: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a               siz
2e70: 65 6f 66 28 4c 4f 4e 47 44 4f 55 42 4c 45 5f 54  eof(LONGDOUBLE_T
2e80: 59 50 45 29 3e 73 69 7a 65 6f 66 28 64 6f 75 62  YPE)>sizeof(doub
2e90: 6c 65 29 20 3f 20 22 31 22 20 3a 20 22 30 22 2c  le) ? "1" : "0",
2ea0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54  .              T
2eb0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2ec0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2ed0: 4f 4d 49 54 5f 4d 45 4d 4f 52 59 44 42 0a 20 20  OMIT_MEMORYDB.  
2ee0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2ef0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2f00: 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22  ons", "memorydb"
2f10: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
2f20: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
2f30: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2f40: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2f50: 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62  ions", "memorydb
2f60: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2f70: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2f80: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2f90: 45 4e 41 42 4c 45 5f 4d 45 4d 4f 52 59 5f 4d 41  ENABLE_MEMORY_MA
2fa0: 4e 41 47 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53  NAGEMENT.  Tcl_S
2fb0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2fc0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2fd0: 20 22 6d 65 6d 6f 72 79 6d 61 6e 61 67 65 22 2c   "memorymanage",
2fe0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2ff0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
3000: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3010: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3020: 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 6d 61 6e  ons", "memoryman
3030: 61 67 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  age", "0", 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 4d 45 52 47 45 5f 53 4f  TE_OMIT_MERGE_SO
3070: 52 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  RT.  Tcl_SetVar2
3080: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3090: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 72 67  _options", "merg
30a0: 65 73 6f 72 74 22 2c 20 22 30 22 2c 20 54 43 4c  esort", "0", TCL
30b0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
30c0: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
30d0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
30e0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65  te_options", "me
30f0: 72 67 65 73 6f 72 74 22 2c 20 22 31 22 2c 20 54  rgesort", "1", T
3100: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3110: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
3120: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4f 52 5f 4f  SQLITE_OMIT_OR_O
3130: 50 54 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63  PTIMIZATION.  Tc
3140: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3150: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3160: 73 22 2c 20 22 6f 72 5f 6f 70 74 22 2c 20 22 30  s", "or_opt", "0
3170: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3180: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3190: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
31a0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
31b0: 22 2c 20 22 6f 72 5f 6f 70 74 22 2c 20 22 31 22  ", "or_opt", "1"
31c0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
31d0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
31e0: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50  ef SQLITE_OMIT_P
31f0: 41 47 45 52 5f 50 52 41 47 4d 41 53 0a 20 20 54  AGER_PRAGMAS.  T
3200: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3210: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3220: 6e 73 22 2c 20 22 70 61 67 65 72 5f 70 72 61 67  ns", "pager_prag
3230: 6d 61 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  mas", "0", TCL_G
3240: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
3250: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
3260: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3270: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61 67 65  _options", "page
3280: 72 5f 70 72 61 67 6d 61 73 22 2c 20 22 31 22 2c  r_pragmas", "1",
3290: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
32a0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64  );.#endif..#if d
32b0: 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d  efined(SQLITE_OM
32c0: 49 54 5f 50 52 41 47 4d 41 29 20 7c 7c 20 64 65  IT_PRAGMA) || de
32d0: 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49  fined(SQLITE_OMI
32e0: 54 5f 46 4c 41 47 5f 50 52 41 47 4d 41 53 29 0a  T_FLAG_PRAGMAS).
32f0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3300: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3310: 74 69 6f 6e 73 22 2c 20 22 70 72 61 67 6d 61 22  tions", "pragma"
3320: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
3330: 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 54 63 6c 5f 53  L_ONLY);.  Tcl_S
3340: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3350: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3360: 20 22 69 6e 74 65 67 72 69 74 79 63 6b 22 2c 20   "integrityck", 
3370: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
3380: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
3390: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
33a0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
33b0: 6e 73 22 2c 20 22 70 72 61 67 6d 61 22 2c 20 22  ns", "pragma", "
33c0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
33d0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
33e0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
33f0: 5f 50 52 4f 47 52 45 53 53 5f 43 41 4c 4c 42 41  _PROGRESS_CALLBA
3400: 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  CK.  Tcl_SetVar2
3410: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3420: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 72 6f 67  _options", "prog
3430: 72 65 73 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f  ress", "0", TCL_
3440: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3450: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
3460: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3470: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 72 6f  e_options", "pro
3480: 67 72 65 73 73 22 2c 20 22 31 22 2c 20 54 43 4c  gress", "1", TCL
3490: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
34a0: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
34b0: 4c 49 54 45 5f 4f 4d 49 54 5f 52 45 49 4e 44 45  LITE_OMIT_REINDE
34c0: 58 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  X.  Tcl_SetVar2(
34d0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
34e0: 6f 70 74 69 6f 6e 73 22 2c 20 22 72 65 69 6e 64  options", "reind
34f0: 65 78 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ex", "0", TCL_GL
3500: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
3510: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
3520: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3530: 6f 70 74 69 6f 6e 73 22 2c 20 22 72 65 69 6e 64  options", "reind
3540: 65 78 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ex", "1", TCL_GL
3550: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
3560: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
3570: 45 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 0a 20  E_ENABLE_RTREE. 
3580: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3590: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
35a0: 69 6f 6e 73 22 2c 20 22 72 74 72 65 65 22 2c 20  ions", "rtree", 
35b0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
35c0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
35d0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
35e0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
35f0: 6e 73 22 2c 20 22 72 74 72 65 65 22 2c 20 22 30  ns", "rtree", "0
3600: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3610: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
3620: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
3630: 53 43 48 45 4d 41 5f 50 52 41 47 4d 41 53 0a 20  SCHEMA_PRAGMAS. 
3640: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3650: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
3660: 69 6f 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f 70  ions", "schema_p
3670: 72 61 67 6d 61 73 22 2c 20 22 30 22 2c 20 54 43  ragmas", "0", TC
3680: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3690: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
36a0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
36b0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73  ite_options", "s
36c0: 63 68 65 6d 61 5f 70 72 61 67 6d 61 73 22 2c 20  chema_pragmas", 
36d0: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
36e0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
36f0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
3700: 54 5f 53 43 48 45 4d 41 5f 56 45 52 53 49 4f 4e  T_SCHEMA_VERSION
3710: 5f 50 52 41 47 4d 41 53 0a 20 20 54 63 6c 5f 53  _PRAGMAS.  Tcl_S
3720: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3730: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3740: 20 22 73 63 68 65 6d 61 5f 76 65 72 73 69 6f 6e   "schema_version
3750: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3760: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
3770: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3780: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3790: 74 69 6f 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f  tions", "schema_
37a0: 76 65 72 73 69 6f 6e 22 2c 20 22 31 22 2c 20 54  version", "1", T
37b0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
37c0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
37d0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54  SQLITE_ENABLE_ST
37e0: 41 54 33 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  AT3.  Tcl_SetVar
37f0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3800: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74 61  e_options", "sta
3810: 74 33 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  t3", "1", TCL_GL
3820: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
3830: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
3840: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3850: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74 61 74 33  options", "stat3
3860: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
3870: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3880: 0a 0a 23 69 66 20 21 64 65 66 69 6e 65 64 28 53  ..#if !defined(S
3890: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43  QLITE_ENABLE_LOC
38a0: 4b 49 4e 47 5f 53 54 59 4c 45 29 0a 23 20 20 69  KING_STYLE).#  i
38b0: 66 20 64 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c  f defined(__APPL
38c0: 45 5f 5f 29 0a 23 20 20 20 20 64 65 66 69 6e 65  E__).#    define
38d0: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c   SQLITE_ENABLE_L
38e0: 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 20 31 0a 23  OCKING_STYLE 1.#
38f0: 20 20 65 6c 73 65 0a 23 20 20 20 20 64 65 66 69    else.#    defi
3900: 6e 65 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ne SQLITE_ENABLE
3910: 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 20 30  _LOCKING_STYLE 0
3920: 0a 23 20 20 65 6e 64 69 66 0a 23 65 6e 64 69 66  .#  endif.#endif
3930: 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  .#if SQLITE_ENAB
3940: 4c 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45  LE_LOCKING_STYLE
3950: 20 26 26 20 64 65 66 69 6e 65 64 28 5f 5f 41 50   && defined(__AP
3960: 50 4c 45 5f 5f 29 0a 20 20 54 63 6c 5f 53 65 74  PLE__).  Tcl_Set
3970: 56 61 72 32 28 69 6e 74 65 72 70 2c 22 73 71 6c  Var2(interp,"sql
3980: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 6c 6f  ite_options","lo
3990: 63 6b 5f 70 72 6f 78 79 5f 70 72 61 67 6d 61 73  ck_proxy_pragmas
39a0: 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c  ","1",TCL_GLOBAL
39b0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
39c0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
39d0: 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  rp,"sqlite_optio
39e0: 6e 73 22 2c 22 6c 6f 63 6b 5f 70 72 6f 78 79 5f  ns","lock_proxy_
39f0: 70 72 61 67 6d 61 73 22 2c 22 30 22 2c 54 43 4c  pragmas","0",TCL
3a00: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3a10: 65 6e 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65  endif.#if define
3a20: 64 28 53 51 4c 49 54 45 5f 50 52 45 46 45 52 5f  d(SQLITE_PREFER_
3a30: 50 52 4f 58 59 5f 4c 4f 43 4b 49 4e 47 29 20 26  PROXY_LOCKING) &
3a40: 26 20 64 65 66 69 6e 65 64 28 5f 5f 41 50 50 4c  & defined(__APPL
3a50: 45 5f 5f 29 0a 20 20 54 63 6c 5f 53 65 74 56 61  E__).  Tcl_SetVa
3a60: 72 32 28 69 6e 74 65 72 70 2c 22 73 71 6c 69 74  r2(interp,"sqlit
3a70: 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 70 72 65 66  e_options","pref
3a80: 65 72 5f 70 72 6f 78 79 5f 6c 6f 63 6b 69 6e 67  er_proxy_locking
3a90: 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c  ","1",TCL_GLOBAL
3aa0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
3ab0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3ac0: 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  rp,"sqlite_optio
3ad0: 6e 73 22 2c 22 70 72 65 66 65 72 5f 70 72 6f 78  ns","prefer_prox
3ae0: 79 5f 6c 6f 63 6b 69 6e 67 22 2c 22 30 22 2c 54  y_locking","0",T
3af0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3b00: 0a 23 65 6e 64 69 66 0a 20 20 20 20 0a 20 20 20  .#endif.    .   
3b10: 20 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f   .#ifdef SQLITE_
3b20: 4f 4d 49 54 5f 53 48 41 52 45 44 5f 43 41 43 48  OMIT_SHARED_CACH
3b30: 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  E.  Tcl_SetVar2(
3b40: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3b50: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 68 61 72 65  options", "share
3b60: 64 5f 63 61 63 68 65 22 2c 20 22 30 22 2c 20 54  d_cache", "0", T
3b70: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3b80: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3b90: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3ba0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3bb0: 73 68 61 72 65 64 5f 63 61 63 68 65 22 2c 20 22  shared_cache", "
3bc0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
3bd0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
3be0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
3bf0: 5f 53 55 42 51 55 45 52 59 0a 20 20 54 63 6c 5f  _SUBQUERY.  Tcl_
3c00: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3c10: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3c20: 2c 20 22 73 75 62 71 75 65 72 79 22 2c 20 22 30  , "subquery", "0
3c30: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3c40: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3c50: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3c60: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3c70: 22 2c 20 22 73 75 62 71 75 65 72 79 22 2c 20 22  ", "subquery", "
3c80: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
3c90: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
3ca0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
3cb0: 5f 54 43 4c 5f 56 41 52 49 41 42 4c 45 0a 20 20  _TCL_VARIABLE.  
3cc0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3cd0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3ce0: 6f 6e 73 22 2c 20 22 74 63 6c 76 61 72 22 2c 20  ons", "tclvar", 
3cf0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
3d00: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
3d10: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3d20: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3d30: 6e 73 22 2c 20 22 74 63 6c 76 61 72 22 2c 20 22  ns", "tclvar", "
3d40: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
3d50: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20  NLY);.#endif..  
3d60: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3d70: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3d80: 6f 6e 73 22 2c 20 22 74 68 72 65 61 64 73 61 66  ons", "threadsaf
3d90: 65 22 2c 20 0a 20 20 20 20 20 20 53 54 52 49 4e  e", .      STRIN
3da0: 47 56 41 4c 55 45 28 53 51 4c 49 54 45 5f 54 48  GVALUE(SQLITE_TH
3db0: 52 45 41 44 53 41 46 45 29 2c 20 54 43 4c 5f 47  READSAFE), TCL_G
3dc0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 20 20 61  LOBAL_ONLY);.  a
3dd0: 73 73 65 72 74 28 20 73 71 6c 69 74 65 33 5f 74  ssert( sqlite3_t
3de0: 68 72 65 61 64 73 61 66 65 28 29 3d 3d 53 51 4c  hreadsafe()==SQL
3df0: 49 54 45 5f 54 48 52 45 41 44 53 41 46 45 20 29  ITE_THREADSAFE )
3e00: 3b 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  ;..#ifdef SQLITE
3e10: 5f 4f 4d 49 54 5f 54 45 4d 50 44 42 0a 20 20 54  _OMIT_TEMPDB.  T
3e20: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3e30: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3e40: 6e 73 22 2c 20 22 74 65 6d 70 64 62 22 2c 20 22  ns", "tempdb", "
3e50: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
3e60: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
3e70: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3e80: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3e90: 73 22 2c 20 22 74 65 6d 70 64 62 22 2c 20 22 31  s", "tempdb", "1
3ea0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3eb0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
3ec0: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
3ed0: 54 52 41 43 45 0a 20 20 54 63 6c 5f 53 65 74 56  TRACE.  Tcl_SetV
3ee0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3ef0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74  ite_options", "t
3f00: 72 61 63 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f  race", "0", TCL_
3f10: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3f20: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
3f30: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3f40: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 61  e_options", "tra
3f50: 63 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ce", "1", TCL_GL
3f60: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
3f70: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
3f80: 45 5f 4f 4d 49 54 5f 54 52 49 47 47 45 52 0a 20  E_OMIT_TRIGGER. 
3f90: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3fa0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
3fb0: 69 6f 6e 73 22 2c 20 22 74 72 69 67 67 65 72 22  ions", "trigger"
3fc0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
3fd0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
3fe0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3ff0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4000: 69 6f 6e 73 22 2c 20 22 74 72 69 67 67 65 72 22  ions", "trigger"
4010: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
4020: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
4030: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
4040: 4d 49 54 5f 54 52 55 4e 43 41 54 45 5f 4f 50 54  MIT_TRUNCATE_OPT
4050: 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f  IMIZATION.  Tcl_
4060: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4070: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4080: 2c 20 22 74 72 75 6e 63 61 74 65 5f 6f 70 74 22  , "truncate_opt"
4090: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
40a0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
40b0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
40c0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
40d0: 69 6f 6e 73 22 2c 20 22 74 72 75 6e 63 61 74 65  ions", "truncate
40e0: 5f 6f 70 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  _opt", "1", TCL_
40f0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4100: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
4110: 49 54 45 5f 4f 4d 49 54 5f 55 54 46 31 36 0a 20  ITE_OMIT_UTF16. 
4120: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4130: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4140: 69 6f 6e 73 22 2c 20 22 75 74 66 31 36 22 2c 20  ions", "utf16", 
4150: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
4160: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  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 74 66 31 36 22 2c 20 22 31  ns", "utf16", "1
41a0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
41b0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
41c0: 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f   defined(SQLITE_
41d0: 4f 4d 49 54 5f 56 41 43 55 55 4d 29 20 7c 7c 20  OMIT_VACUUM) || 
41e0: 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f  defined(SQLITE_O
41f0: 4d 49 54 5f 41 54 54 41 43 48 29 0a 20 20 54 63  MIT_ATTACH).  Tc
4200: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
4210: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
4220: 73 22 2c 20 22 76 61 63 75 75 6d 22 2c 20 22 30  s", "vacuum", "0
4230: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
4240: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
4250: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4260: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4270: 22 2c 20 22 76 61 63 75 75 6d 22 2c 20 22 31 22  ", "vacuum", "1"
4280: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4290: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
42a0: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 56  ef SQLITE_OMIT_V
42b0: 49 45 57 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  IEW.  Tcl_SetVar
42c0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
42d0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76 69 65  e_options", "vie
42e0: 77 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  w", "0", TCL_GLO
42f0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
4300: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
4310: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
4320: 70 74 69 6f 6e 73 22 2c 20 22 76 69 65 77 22 2c  ptions", "view",
4330: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
4340: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
4350: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
4360: 49 54 5f 56 49 52 54 55 41 4c 54 41 42 4c 45 0a  IT_VIRTUALTABLE.
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 76 74 61 62 22 2c 20  tions", "vtab", 
43a0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
43b0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
43c0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
43d0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
43e0: 6e 73 22 2c 20 22 76 74 61 62 22 2c 20 22 31 22  ns", "vtab", "1"
43f0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4400: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
4410: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 57  ef SQLITE_OMIT_W
4420: 41 4c 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  AL.  Tcl_SetVar2
4430: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
4440: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 61 6c 22  _options", "wal"
4450: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
4460: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
4470: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4480: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4490: 69 6f 6e 73 22 2c 20 22 77 61 6c 22 2c 20 22 31  ions", "wal", "1
44a0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
44b0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
44c0: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
44d0: 57 53 44 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  WSD.  Tcl_SetVar
44e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
44f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 73 64  e_options", "wsd
4500: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
4510: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
4520: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4530: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4540: 74 69 6f 6e 73 22 2c 20 22 77 73 64 22 2c 20 22  tions", "wsd", "
4550: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
4560: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
4570: 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45  f defined(SQLITE
4580: 5f 45 4e 41 42 4c 45 5f 55 50 44 41 54 45 5f 44  _ENABLE_UPDATE_D
4590: 45 4c 45 54 45 5f 4c 49 4d 49 54 29 20 26 26 20  ELETE_LIMIT) && 
45a0: 21 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f  !defined(SQLITE_
45b0: 4f 4d 49 54 5f 53 55 42 51 55 45 52 59 29 0a 20  OMIT_SUBQUERY). 
45c0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
45d0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
45e0: 69 6f 6e 73 22 2c 20 22 75 70 64 61 74 65 5f 64  ions", "update_d
45f0: 65 6c 65 74 65 5f 6c 69 6d 69 74 22 2c 20 22 31  elete_limit", "1
4600: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
4610: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
4620: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4630: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4640: 22 2c 20 22 75 70 64 61 74 65 5f 64 65 6c 65 74  ", "update_delet
4650: 65 5f 6c 69 6d 69 74 22 2c 20 22 30 22 2c 20 54  e_limit", "0", T
4660: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
4670: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66  .#endif..#if def
4680: 69 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e 41 42  ined(SQLITE_ENAB
4690: 4c 45 5f 55 4e 4c 4f 43 4b 5f 4e 4f 54 49 46 59  LE_UNLOCK_NOTIFY
46a0: 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  ).  Tcl_SetVar2(
46b0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
46c0: 6f 70 74 69 6f 6e 73 22 2c 20 22 75 6e 6c 6f 63  options", "unloc
46d0: 6b 5f 6e 6f 74 69 66 79 22 2c 20 22 31 22 2c 20  k_notify", "1", 
46e0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
46f0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
4700: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
4710: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
4720: 22 75 6e 6c 6f 63 6b 5f 6e 6f 74 69 66 79 22 2c  "unlock_notify",
4730: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
4740: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
4750: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 53 45  #ifdef SQLITE_SE
4760: 43 55 52 45 5f 44 45 4c 45 54 45 0a 20 20 54 63  CURE_DELETE.  Tc
4770: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
4780: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
4790: 73 22 2c 20 22 73 65 63 75 72 65 5f 64 65 6c 65  s", "secure_dele
47a0: 74 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  te", "1", TCL_GL
47b0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
47c0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
47d0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
47e0: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 65 63 75 72  options", "secur
47f0: 65 5f 64 65 6c 65 74 65 22 2c 20 22 30 22 2c 20  e_delete", "0", 
4800: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
4810: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
4820: 20 53 51 4c 49 54 45 5f 4d 55 4c 54 49 50 4c 45   SQLITE_MULTIPLE
4830: 58 5f 45 58 54 5f 4f 56 57 52 0a 20 20 54 63 6c  X_EXT_OVWR.  Tcl
4840: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4850: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4860: 22 2c 20 22 6d 75 6c 74 69 70 6c 65 78 5f 65 78  ", "multiplex_ex
4870: 74 5f 6f 76 65 72 77 72 69 74 65 22 2c 20 22 31  t_overwrite", "1
4880: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
4890: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
48a0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
48b0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
48c0: 22 2c 20 22 6d 75 6c 74 69 70 6c 65 78 5f 65 78  ", "multiplex_ex
48d0: 74 5f 6f 76 65 72 77 72 69 74 65 22 2c 20 22 30  t_overwrite", "0
48e0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
48f0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
4900: 64 65 66 20 59 59 54 52 41 43 4b 4d 41 58 53 54  def YYTRACKMAXST
4910: 41 43 4b 44 45 50 54 48 0a 20 20 54 63 6c 5f 53  ACKDEPTH.  Tcl_S
4920: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4930: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4940: 20 22 79 79 74 72 61 63 6b 6d 61 78 73 74 61 63   "yytrackmaxstac
4950: 6b 64 65 70 74 68 22 2c 20 22 31 22 2c 20 54 43  kdepth", "1", TC
4960: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
4970: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
4980: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
4990: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 79  ite_options", "y
49a0: 79 74 72 61 63 6b 6d 61 78 73 74 61 63 6b 64 65  ytrackmaxstackde
49b0: 70 74 68 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  pth", "0", TCL_G
49c0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
49d0: 64 69 66 0a 0a 23 64 65 66 69 6e 65 20 4c 49 4e  dif..#define LIN
49e0: 4b 56 41 52 28 78 29 20 7b 20 5c 0a 20 20 20 20  KVAR(x) { \.    
49f0: 73 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74  static const int
4a00: 20 63 76 5f 20 23 23 20 78 20 3d 20 53 51 4c 49   cv_ ## x = SQLI
4a10: 54 45 5f 20 23 23 20 78 3b 20 5c 0a 20 20 20 20  TE_ ## x; \.    
4a20: 54 63 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74 65  Tcl_LinkVar(inte
4a30: 72 70 2c 20 22 53 51 4c 49 54 45 5f 22 20 23 78  rp, "SQLITE_" #x
4a40: 2c 20 28 63 68 61 72 20 2a 29 26 28 63 76 5f 20  , (char *)&(cv_ 
4a50: 23 23 20 78 29 2c 20 5c 0a 20 20 20 20 20 20 20  ## x), \.       
4a60: 20 20 20 20 20 20 20 20 20 54 43 4c 5f 4c 49 4e           TCL_LIN
4a70: 4b 5f 49 4e 54 20 7c 20 54 43 4c 5f 4c 49 4e 4b  K_INT | TCL_LINK
4a80: 5f 52 45 41 44 5f 4f 4e 4c 59 29 3b 20 7d 0a 0a  _READ_ONLY); }..
4a90: 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 4c    LINKVAR( MAX_L
4aa0: 45 4e 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56  ENGTH );.  LINKV
4ab0: 41 52 28 20 4d 41 58 5f 43 4f 4c 55 4d 4e 20 29  AR( MAX_COLUMN )
4ac0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
4ad0: 5f 53 51 4c 5f 4c 45 4e 47 54 48 20 29 3b 0a 20  _SQL_LENGTH );. 
4ae0: 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 45 58   LINKVAR( MAX_EX
4af0: 50 52 5f 44 45 50 54 48 20 29 3b 0a 20 20 4c 49  PR_DEPTH );.  LI
4b00: 4e 4b 56 41 52 28 20 4d 41 58 5f 43 4f 4d 50 4f  NKVAR( MAX_COMPO
4b10: 55 4e 44 5f 53 45 4c 45 43 54 20 29 3b 0a 20 20  UND_SELECT );.  
4b20: 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 56 44 42  LINKVAR( MAX_VDB
4b30: 45 5f 4f 50 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  E_OP );.  LINKVA
4b40: 52 28 20 4d 41 58 5f 46 55 4e 43 54 49 4f 4e 5f  R( MAX_FUNCTION_
4b50: 41 52 47 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  ARG );.  LINKVAR
4b60: 28 20 4d 41 58 5f 56 41 52 49 41 42 4c 45 5f 4e  ( MAX_VARIABLE_N
4b70: 55 4d 42 45 52 20 29 3b 0a 20 20 4c 49 4e 4b 56  UMBER );.  LINKV
4b80: 41 52 28 20 4d 41 58 5f 50 41 47 45 5f 53 49 5a  AR( MAX_PAGE_SIZ
4b90: 45 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20  E );.  LINKVAR( 
4ba0: 4d 41 58 5f 50 41 47 45 5f 43 4f 55 4e 54 20 29  MAX_PAGE_COUNT )
4bb0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
4bc0: 5f 4c 49 4b 45 5f 50 41 54 54 45 52 4e 5f 4c 45  _LIKE_PATTERN_LE
4bd0: 4e 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  NGTH );.  LINKVA
4be0: 52 28 20 4d 41 58 5f 54 52 49 47 47 45 52 5f 44  R( MAX_TRIGGER_D
4bf0: 45 50 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  EPTH );.  LINKVA
4c00: 52 28 20 44 45 46 41 55 4c 54 5f 54 45 4d 50 5f  R( DEFAULT_TEMP_
4c10: 43 41 43 48 45 5f 53 49 5a 45 20 29 3b 0a 20 20  CACHE_SIZE );.  
4c20: 4c 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c 54  LINKVAR( DEFAULT
4c30: 5f 43 41 43 48 45 5f 53 49 5a 45 20 29 3b 0a 20  _CACHE_SIZE );. 
4c40: 20 4c 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c   LINKVAR( DEFAUL
4c50: 54 5f 50 41 47 45 5f 53 49 5a 45 20 29 3b 0a 20  T_PAGE_SIZE );. 
4c60: 20 4c 49 4e 4b 56 41 52 28 20 44 45 46 41 55 4c   LINKVAR( DEFAUL
4c70: 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54 20 29 3b  T_FILE_FORMAT );
4c80: 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f  .  LINKVAR( MAX_
4c90: 41 54 54 41 43 48 45 44 20 29 3b 0a 20 20 4c 49  ATTACHED );.  LI
4ca0: 4e 4b 56 41 52 28 20 4d 41 58 5f 44 45 46 41 55  NKVAR( MAX_DEFAU
4cb0: 4c 54 5f 50 41 47 45 5f 53 49 5a 45 20 29 3b 0a  LT_PAGE_SIZE );.
4cc0: 0a 20 20 7b 0a 20 20 20 20 73 74 61 74 69 63 20  .  {.    static 
4cd0: 63 6f 6e 73 74 20 69 6e 74 20 63 76 5f 54 45 4d  const int cv_TEM
4ce0: 50 5f 53 54 4f 52 45 20 3d 20 53 51 4c 49 54 45  P_STORE = SQLITE
4cf0: 5f 54 45 4d 50 5f 53 54 4f 52 45 3b 0a 20 20 20  _TEMP_STORE;.   
4d00: 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74   Tcl_LinkVar(int
4d10: 65 72 70 2c 20 22 54 45 4d 50 5f 53 54 4f 52 45  erp, "TEMP_STORE
4d20: 22 2c 20 28 63 68 61 72 20 2a 29 26 28 63 76 5f  ", (char *)&(cv_
4d30: 54 45 4d 50 5f 53 54 4f 52 45 29 2c 0a 20 20 20  TEMP_STORE),.   
4d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c               TCL
4d50: 5f 4c 49 4e 4b 5f 49 4e 54 20 7c 20 54 43 4c 5f  _LINK_INT | TCL_
4d60: 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c 59 29 3b  LINK_READ_ONLY);
4d70: 0a 20 20 7d 0a 7d 0a 0a 0a 2f 2a 0a 2a 2a 20 52  .  }.}.../*.** R
4d80: 65 67 69 73 74 65 72 20 63 6f 6d 6d 61 6e 64 73  egister commands
4d90: 20 77 69 74 68 20 74 68 65 20 54 43 4c 20 69 6e   with the TCL in
4da0: 74 65 72 70 72 65 74 65 72 2e 0a 2a 2f 0a 69 6e  terpreter..*/.in
4db0: 74 20 53 71 6c 69 74 65 63 6f 6e 66 69 67 5f 49  t Sqliteconfig_I
4dc0: 6e 69 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a  nit(Tcl_Interp *
4dd0: 69 6e 74 65 72 70 29 7b 0a 20 20 73 65 74 5f 6f  interp){.  set_o
4de0: 70 74 69 6f 6e 73 28 69 6e 74 65 72 70 29 3b 0a  ptions(interp);.
4df0: 20 20 72 65 74 75 72 6e 20 54 43 4c 5f 4f 4b 3b    return TCL_OK;
4e00: 0a 7d 0a                                         .}.