/ Hex Artifact Content
Login

Artifact 0336e0bdbe541b4af89d7e3dd0656e8e6b51e585:


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 20 21 53 51 4c 49  endif..#if !SQLI
0720: 54 45 5f 4f 53 5f 57 49 4e 43 45 20 26 26 20 21  TE_OS_WINCE && !
0730: 53 51 4c 49 54 45 5f 4f 53 5f 57 49 4e 52 54 0a  SQLITE_OS_WINRT.
0740: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0750: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0760: 74 69 6f 6e 73 22 2c 20 22 63 75 72 64 69 72 22  tions", "curdir"
0770: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
0780: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
0790: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
07a0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
07b0: 69 6f 6e 73 22 2c 20 22 63 75 72 64 69 72 22 2c  ions", "curdir",
07c0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
07d0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
07e0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 57 49  #ifdef SQLITE_WI
07f0: 4e 33 32 5f 4d 41 4c 4c 4f 43 0a 20 20 54 63 6c  N32_MALLOC.  Tcl
0800: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0810: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0820: 22 2c 20 22 77 69 6e 33 32 6d 61 6c 6c 6f 63 22  ", "win32malloc"
0830: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
0840: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
0850: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
0860: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
0870: 69 6f 6e 73 22 2c 20 22 77 69 6e 33 32 6d 61 6c  ions", "win32mal
0880: 6c 6f 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  loc", "0", TCL_G
0890: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
08a0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
08b0: 54 45 5f 44 45 42 55 47 0a 20 20 54 63 6c 5f 53  TE_DEBUG.  Tcl_S
08c0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
08d0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
08e0: 20 22 64 65 62 75 67 22 2c 20 22 31 22 2c 20 54   "debug", "1", T
08f0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
0900: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
0910: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
0920: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
0930: 64 65 62 75 67 22 2c 20 22 30 22 2c 20 54 43 4c  debug", "0", TCL
0940: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
0950: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
0960: 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f 56 45 52  LITE_DIRECT_OVER
0970: 46 4c 4f 57 5f 52 45 41 44 0a 20 20 54 63 6c 5f  FLOW_READ.  Tcl_
0980: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0990: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
09a0: 2c 20 22 64 69 72 65 63 74 5f 72 65 61 64 22 2c  , "direct_read",
09b0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
09c0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
09d0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
09e0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
09f0: 6f 6e 73 22 2c 20 22 64 69 72 65 63 74 5f 72 65  ons", "direct_re
0a00: 61 64 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ad", "0", TCL_GL
0a10: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
0a20: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
0a30: 45 5f 44 49 53 41 42 4c 45 5f 44 49 52 53 59 4e  E_DISABLE_DIRSYN
0a40: 43 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  C.  Tcl_SetVar2(
0a50: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0a60: 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69 72 73 79  options", "dirsy
0a70: 6e 63 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  nc", "0", TCL_GL
0a80: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
0a90: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
0aa0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0ab0: 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69 72 73 79  options", "dirsy
0ac0: 6e 63 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  nc", "1", TCL_GL
0ad0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
0ae0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
0af0: 45 5f 44 49 53 41 42 4c 45 5f 4c 46 53 0a 20 20  E_DISABLE_LFS.  
0b00: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0b10: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0b20: 6f 6e 73 22 2c 20 22 6c 66 73 22 2c 20 22 30 22  ons", "lfs", "0"
0b30: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0b40: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
0b50: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0b60: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
0b70: 2c 20 22 6c 66 73 22 2c 20 22 31 22 2c 20 54 43  , "lfs", "1", TC
0b80: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0b90: 23 65 6e 64 69 66 0a 0a 23 69 66 20 53 51 4c 49  #endif..#if SQLI
0ba0: 54 45 5f 4d 41 58 5f 4d 4d 41 50 5f 53 49 5a 45  TE_MAX_MMAP_SIZE
0bb0: 3e 30 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  >0.  Tcl_SetVar2
0bc0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
0bd0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 6d 61 70  _options", "mmap
0be0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
0bf0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
0c00: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0c10: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0c20: 74 69 6f 6e 73 22 2c 20 22 6d 6d 61 70 22 2c 20  tions", "mmap", 
0c30: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
0c40: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
0c50: 69 66 20 31 20 2f 2a 20 64 65 66 20 53 51 4c 49  if 1 /* def SQLI
0c60: 54 45 5f 4d 45 4d 44 45 42 55 47 20 2a 2f 0a 20  TE_MEMDEBUG */. 
0c70: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
0c80: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
0c90: 69 6f 6e 73 22 2c 20 22 6d 65 6d 64 65 62 75 67  ions", "memdebug
0ca0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
0cb0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
0cc0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0cd0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0ce0: 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 64 65 62 75  tions", "memdebu
0cf0: 67 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  g", "0", TCL_GLO
0d00: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
0d10: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
0d20: 5f 45 4e 41 42 4c 45 5f 38 5f 33 5f 4e 41 4d 45  _ENABLE_8_3_NAME
0d30: 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  S.  Tcl_SetVar2(
0d40: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0d50: 6f 70 74 69 6f 6e 73 22 2c 20 22 38 5f 33 5f 6e  options", "8_3_n
0d60: 61 6d 65 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f  ames", "1", TCL_
0d70: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0d80: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
0d90: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0da0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 38 5f 33  e_options", "8_3
0db0: 5f 6e 61 6d 65 73 22 2c 20 22 30 22 2c 20 54 43  _names", "0", TC
0dc0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
0dd0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
0de0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d  QLITE_ENABLE_MEM
0df0: 53 59 53 33 0a 20 20 54 63 6c 5f 53 65 74 56 61  SYS3.  Tcl_SetVa
0e00: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
0e10: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65  te_options", "me
0e20: 6d 33 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  m3", "1", TCL_GL
0e30: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
0e40: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
0e50: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0e60: 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 33 22  options", "mem3"
0e70: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
0e80: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
0e90: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45  .#ifdef SQLITE_E
0ea0: 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 0a 20 20  NABLE_MEMSYS5.  
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 6d 65 6d 35 22 2c 20 22 31  ons", "mem5", "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 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
0f00: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0f10: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0f20: 22 2c 20 22 6d 65 6d 35 22 2c 20 22 30 22 2c 20  ", "mem5", "0", 
0f30: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0f40: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
0f50: 20 53 51 4c 49 54 45 5f 4d 55 54 45 58 5f 4f 4d   SQLITE_MUTEX_OM
0f60: 49 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  IT.  Tcl_SetVar2
0f70: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
0f80: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 75 74 65  _options", "mute
0f90: 78 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  x", "0", TCL_GLO
0fa0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
0fb0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
0fc0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
0fd0: 70 74 69 6f 6e 73 22 2c 20 22 6d 75 74 65 78 22  ptions", "mutex"
0fe0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
0ff0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1000: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4d  .#ifdef SQLITE_M
1010: 55 54 45 58 5f 4e 4f 4f 50 0a 20 20 54 63 6c 5f  UTEX_NOOP.  Tcl_
1020: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1030: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1040: 2c 20 22 6d 75 74 65 78 5f 6e 6f 6f 70 22 2c 20  , "mutex_noop", 
1050: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1060: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1070: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1080: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1090: 6e 73 22 2c 20 22 6d 75 74 65 78 5f 6e 6f 6f 70  ns", "mutex_noop
10a0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
10b0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
10c0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
10d0: 4f 4d 49 54 5f 41 4c 54 45 52 54 41 42 4c 45 0a  OMIT_ALTERTABLE.
10e0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
10f0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1100: 74 69 6f 6e 73 22 2c 20 22 61 6c 74 65 72 74 61  tions", "alterta
1110: 62 6c 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ble", "0", TCL_G
1120: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1130: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1140: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1150: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6c 74 65  _options", "alte
1160: 72 74 61 62 6c 65 22 2c 20 22 31 22 2c 20 54 43  rtable", "1", TC
1170: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1180: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1190: 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 4e 41 4c 59  QLITE_OMIT_ANALY
11a0: 5a 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ZE.  Tcl_SetVar2
11b0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
11c0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6e 61 6c  _options", "anal
11d0: 79 7a 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  yze", "0", TCL_G
11e0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
11f0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1200: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1210: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6e 61 6c  _options", "anal
1220: 79 7a 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  yze", "1", TCL_G
1230: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1240: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1250: 54 45 5f 45 4e 41 42 4c 45 5f 41 54 4f 4d 49 43  TE_ENABLE_ATOMIC
1260: 5f 57 52 49 54 45 0a 20 20 54 63 6c 5f 53 65 74  _WRITE.  Tcl_Set
1270: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1280: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1290: 61 74 6f 6d 69 63 77 72 69 74 65 22 2c 20 22 31  atomicwrite", "1
12a0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
12b0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
12c0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
12d0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
12e0: 22 2c 20 22 61 74 6f 6d 69 63 77 72 69 74 65 22  ", "atomicwrite"
12f0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
1300: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1310: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
1320: 4d 49 54 5f 41 54 54 41 43 48 0a 20 20 54 63 6c  MIT_ATTACH.  Tcl
1330: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1340: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1350: 22 2c 20 22 61 74 74 61 63 68 22 2c 20 22 30 22  ", "attach", "0"
1360: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1370: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1380: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1390: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
13a0: 2c 20 22 61 74 74 61 63 68 22 2c 20 22 31 22 2c  , "attach", "1",
13b0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
13c0: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
13d0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55  f SQLITE_OMIT_AU
13e0: 54 48 4f 52 49 5a 41 54 49 4f 4e 0a 20 20 54 63  THORIZATION.  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 68 22 2c 20 22 30 22 2c  s", "auth", "0",
1420: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1430: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1440: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1450: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1460: 20 22 61 75 74 68 22 2c 20 22 31 22 2c 20 54 43   "auth", "1", TC
1470: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1480: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1490: 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 49  QLITE_OMIT_AUTOI
14a0: 4e 43 52 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53  NCREMENT.  Tcl_S
14b0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
14c0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
14d0: 20 22 61 75 74 6f 69 6e 63 22 2c 20 22 30 22 2c   "autoinc", "0",
14e0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
14f0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1500: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1510: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1520: 20 22 61 75 74 6f 69 6e 63 22 2c 20 22 31 22 2c   "autoinc", "1",
1530: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1540: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1550: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55  f SQLITE_OMIT_AU
1560: 54 4f 4d 41 54 49 43 5f 49 4e 44 45 58 0a 20 20  TOMATIC_INDEX.  
1570: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
1580: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
1590: 6f 6e 73 22 2c 20 22 61 75 74 6f 69 6e 64 65 78  ons", "autoindex
15a0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
15b0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
15c0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
15d0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
15e0: 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f 69 6e 64  tions", "autoind
15f0: 65 78 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ex", "1", TCL_GL
1600: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
1610: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
1620: 45 5f 4f 4d 49 54 5f 41 55 54 4f 52 45 53 45 54  E_OMIT_AUTORESET
1630: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1640: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1650: 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f 72 65  ptions", "autore
1660: 73 65 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  set", "0", TCL_G
1670: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1680: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1690: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
16a0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75 74 6f  _options", "auto
16b0: 72 65 73 65 74 22 2c 20 22 31 22 2c 20 54 43 4c  reset", "1", TCL
16c0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
16d0: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
16e0: 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 56 41  LITE_OMIT_AUTOVA
16f0: 43 55 55 4d 0a 20 20 54 63 6c 5f 53 65 74 56 61  CUUM.  Tcl_SetVa
1700: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1710: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61 75  te_options", "au
1720: 74 6f 76 61 63 75 75 6d 22 2c 20 22 30 22 2c 20  tovacuum", "0", 
1730: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1740: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
1750: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1760: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1770: 22 61 75 74 6f 76 61 63 75 75 6d 22 2c 20 22 31  "autovacuum", "1
1780: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1790: 4c 59 29 3b 0a 23 65 6e 64 69 66 20 2f 2a 20 53  LY);.#endif /* S
17a0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 56  QLITE_OMIT_AUTOV
17b0: 41 43 55 55 4d 20 2a 2f 0a 23 69 66 20 21 64 65  ACUUM */.#if !de
17c0: 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 44 45 46  fined(SQLITE_DEF
17d0: 41 55 4c 54 5f 41 55 54 4f 56 41 43 55 55 4d 29  AULT_AUTOVACUUM)
17e0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
17f0: 6e 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70  nterp,"sqlite_op
1800: 74 69 6f 6e 73 22 2c 22 64 65 66 61 75 6c 74 5f  tions","default_
1810: 61 75 74 6f 76 61 63 75 75 6d 22 2c 22 30 22 2c  autovacuum","0",
1820: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1830: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  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 64 65 66 61 75 6c 74 5f 61 75 74 6f 76 61 63  "default_autovac
1870: 75 75 6d 22 2c 20 0a 20 20 20 20 20 20 53 54 52  uum", .      STR
1880: 49 4e 47 56 41 4c 55 45 28 53 51 4c 49 54 45 5f  INGVALUE(SQLITE_
1890: 44 45 46 41 55 4c 54 5f 41 55 54 4f 56 41 43 55  DEFAULT_AUTOVACU
18a0: 55 4d 29 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  UM), TCL_GLOBAL_
18b0: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
18c0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
18d0: 54 5f 42 45 54 57 45 45 4e 5f 4f 50 54 49 4d 49  T_BETWEEN_OPTIMI
18e0: 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74  ZATION.  Tcl_Set
18f0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1900: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1910: 62 65 74 77 65 65 6e 5f 6f 70 74 22 2c 20 22 30  between_opt", "0
1920: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1930: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
1940: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1950: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1960: 22 2c 20 22 62 65 74 77 65 65 6e 5f 6f 70 74 22  ", "between_opt"
1970: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
1980: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
1990: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
19a0: 4d 49 54 5f 42 55 49 4c 54 49 4e 5f 54 45 53 54  MIT_BUILTIN_TEST
19b0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
19c0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
19d0: 70 74 69 6f 6e 73 22 2c 20 22 62 75 69 6c 74 69  ptions", "builti
19e0: 6e 5f 74 65 73 74 22 2c 20 22 30 22 2c 20 54 43  n_test", "0", TC
19f0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1a00: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1a10: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1a20: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62  ite_options", "b
1a30: 75 69 6c 74 69 6e 5f 74 65 73 74 22 2c 20 22 31  uiltin_test", "1
1a40: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1a50: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
1a60: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
1a70: 42 4c 4f 42 5f 4c 49 54 45 52 41 4c 0a 20 20 54  BLOB_LITERAL.  T
1a80: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1a90: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1aa0: 6e 73 22 2c 20 22 62 6c 6f 62 6c 69 74 22 2c 20  ns", "bloblit", 
1ab0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
1ac0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1ad0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1ae0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1af0: 6e 73 22 2c 20 22 62 6c 6f 62 6c 69 74 22 2c 20  ns", "bloblit", 
1b00: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1b10: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1b20: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
1b30: 54 5f 43 41 53 54 0a 20 20 54 63 6c 5f 53 65 74  T_CAST.  Tcl_Set
1b40: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1b50: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1b60: 63 61 73 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f  cast", "0", TCL_
1b70: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1b80: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
1b90: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1ba0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 61 73  e_options", "cas
1bb0: 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  t", "1", TCL_GLO
1bc0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
1bd0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
1be0: 5f 4f 4d 49 54 5f 43 48 45 43 4b 0a 20 20 54 63  _OMIT_CHECK.  Tc
1bf0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1c00: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1c10: 73 22 2c 20 22 63 68 65 63 6b 22 2c 20 22 30 22  s", "check", "0"
1c20: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1c30: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
1c40: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1c50: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1c60: 2c 20 22 63 68 65 63 6b 22 2c 20 22 31 22 2c 20  , "check", "1", 
1c70: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
1c80: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
1c90: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 54 45   SQLITE_OMIT_CTE
1ca0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
1cb0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
1cc0: 70 74 69 6f 6e 73 22 2c 20 22 63 74 65 22 2c 20  ptions", "cte", 
1cd0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
1ce0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1cf0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1d00: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1d10: 6e 73 22 2c 20 22 63 74 65 22 2c 20 22 31 22 2c  ns", "cte", "1",
1d20: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1d30: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
1d40: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
1d50: 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 0a  COLUMN_METADATA.
1d60: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
1d70: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
1d80: 74 69 6f 6e 73 22 2c 20 22 63 6f 6c 75 6d 6e 6d  tions", "columnm
1d90: 65 74 61 64 61 74 61 22 2c 20 22 31 22 2c 20 54  etadata", "1", T
1da0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1db0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1dc0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1dd0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1de0: 63 6f 6c 75 6d 6e 6d 65 74 61 64 61 74 61 22 2c  columnmetadata",
1df0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1e00: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
1e10: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e  #ifdef SQLITE_EN
1e20: 41 42 4c 45 5f 4f 56 45 52 53 49 5a 45 5f 43 45  ABLE_OVERSIZE_CE
1e30: 4c 4c 5f 43 48 45 43 4b 0a 20 20 54 63 6c 5f 53  LL_CHECK.  Tcl_S
1e40: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1e50: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1e60: 20 22 6f 76 65 72 73 69 7a 65 5f 63 65 6c 6c 5f   "oversize_cell_
1e70: 63 68 65 63 6b 22 2c 20 22 31 22 2c 0a 20 20 20  check", "1",.   
1e80: 20 20 20 20 20 20 20 20 20 20 20 54 43 4c 5f 47             TCL_G
1e90: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1ea0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1eb0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1ec0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 76 65 72  _options", "over
1ed0: 73 69 7a 65 5f 63 65 6c 6c 5f 63 68 65 63 6b 22  size_cell_check"
1ee0: 2c 20 22 30 22 2c 0a 20 20 20 20 20 20 20 20 20  , "0",.         
1ef0: 20 20 20 20 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f       TCL_GLOBAL_
1f00: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1f10: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
1f20: 54 5f 43 4f 4d 50 49 4c 45 4f 50 54 49 4f 4e 5f  T_COMPILEOPTION_
1f30: 44 49 41 47 53 0a 20 20 54 63 6c 5f 53 65 74 56  DIAGS.  Tcl_SetV
1f40: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1f50: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63  ite_options", "c
1f60: 6f 6d 70 69 6c 65 6f 70 74 69 6f 6e 5f 64 69 61  ompileoption_dia
1f70: 67 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  gs", "0", TCL_GL
1f80: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
1f90: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
1fa0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1fb0: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70 69  options", "compi
1fc0: 6c 65 6f 70 74 69 6f 6e 5f 64 69 61 67 73 22 2c  leoption_diags",
1fd0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
1fe0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
1ff0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
2000: 49 54 5f 43 4f 4d 50 4c 45 54 45 0a 20 20 54 63  IT_COMPLETE.  Tc
2010: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2020: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2030: 73 22 2c 20 22 63 6f 6d 70 6c 65 74 65 22 2c 20  s", "complete", 
2040: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2050: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
2060: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2070: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2080: 6e 73 22 2c 20 22 63 6f 6d 70 6c 65 74 65 22 2c  ns", "complete",
2090: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
20a0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
20b0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
20c0: 49 54 5f 43 4f 4d 50 4f 55 4e 44 5f 53 45 4c 45  IT_COMPOUND_SELE
20d0: 43 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  CT.  Tcl_SetVar2
20e0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
20f0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d 70  _options", "comp
2100: 6f 75 6e 64 22 2c 20 22 30 22 2c 20 54 43 4c 5f  ound", "0", TCL_
2110: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2120: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
2130: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2140: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d  e_options", "com
2150: 70 6f 75 6e 64 22 2c 20 22 31 22 2c 20 54 43 4c  pound", "1", TCL
2160: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2170: 65 6e 64 69 66 0a 0a 20 20 54 63 6c 5f 53 65 74  endif..  Tcl_Set
2180: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2190: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
21a0: 63 6f 6e 66 6c 69 63 74 22 2c 20 22 31 22 2c 20  conflict", "1", 
21b0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
21c0: 3b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  ;.  Tcl_SetVar2(
21d0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
21e0: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 72 61 73 68  options", "crash
21f0: 74 65 73 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  test", "1", TCL_
2200: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a 23  GLOBAL_ONLY);..#
2210: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
2220: 54 5f 44 41 54 45 54 49 4d 45 5f 46 55 4e 43 53  T_DATETIME_FUNCS
2230: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2240: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2250: 70 74 69 6f 6e 73 22 2c 20 22 64 61 74 65 74 69  ptions", "dateti
2260: 6d 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  me", "0", TCL_GL
2270: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
2280: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
2290: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
22a0: 6f 70 74 69 6f 6e 73 22 2c 20 22 64 61 74 65 74  options", "datet
22b0: 69 6d 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ime", "1", TCL_G
22c0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
22d0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
22e0: 54 45 5f 4f 4d 49 54 5f 44 45 43 4c 54 59 50 45  TE_OMIT_DECLTYPE
22f0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2300: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2310: 70 74 69 6f 6e 73 22 2c 20 22 64 65 63 6c 74 79  ptions", "declty
2320: 70 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  pe", "0", TCL_GL
2330: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
2340: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
2350: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2360: 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 63 6c 74  options", "declt
2370: 79 70 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ype", "1", TCL_G
2380: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2390: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
23a0: 54 45 5f 4f 4d 49 54 5f 44 45 50 52 45 43 41 54  TE_OMIT_DEPRECAT
23b0: 45 44 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ED.  Tcl_SetVar2
23c0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
23d0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 70 72  _options", "depr
23e0: 65 63 61 74 65 64 22 2c 20 22 30 22 2c 20 54 43  ecated", "0", TC
23f0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2400: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
2410: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2420: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64  ite_options", "d
2430: 65 70 72 65 63 61 74 65 64 22 2c 20 22 31 22 2c  eprecated", "1",
2440: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2450: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
2460: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 49  f SQLITE_OMIT_DI
2470: 53 4b 49 4f 0a 20 20 54 63 6c 5f 53 65 74 56 61  SKIO.  Tcl_SetVa
2480: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2490: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69  te_options", "di
24a0: 73 6b 69 6f 22 2c 20 22 30 22 2c 20 54 43 4c 5f  skio", "0", TCL_
24b0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
24c0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
24d0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
24e0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 69 73  e_options", "dis
24f0: 6b 69 6f 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  kio", "1", TCL_G
2500: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2510: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
2520: 54 45 5f 4f 4d 49 54 5f 45 58 50 4c 41 49 4e 0a  TE_OMIT_EXPLAIN.
2530: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2540: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2550: 74 69 6f 6e 73 22 2c 20 22 65 78 70 6c 61 69 6e  tions", "explain
2560: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
2570: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
2580: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2590: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
25a0: 74 69 6f 6e 73 22 2c 20 22 65 78 70 6c 61 69 6e  tions", "explain
25b0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
25c0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
25d0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
25e0: 4f 4d 49 54 5f 46 4c 4f 41 54 49 4e 47 5f 50 4f  OMIT_FLOATING_PO
25f0: 49 4e 54 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  INT.  Tcl_SetVar
2600: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2610: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 6c 6f  e_options", "flo
2620: 61 74 69 6e 67 70 6f 69 6e 74 22 2c 20 22 30 22  atingpoint", "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 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
2650: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2660: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2670: 2c 20 22 66 6c 6f 61 74 69 6e 67 70 6f 69 6e 74  , "floatingpoint
2680: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2690: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
26a0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
26b0: 4f 4d 49 54 5f 46 4f 52 45 49 47 4e 5f 4b 45 59  OMIT_FOREIGN_KEY
26c0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
26d0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
26e0: 70 74 69 6f 6e 73 22 2c 20 22 66 6f 72 65 69 67  ptions", "foreig
26f0: 6e 6b 65 79 22 2c 20 22 30 22 2c 20 54 43 4c 5f  nkey", "0", TCL_
2700: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2710: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
2720: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2730: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 6f 72  e_options", "for
2740: 65 69 67 6e 6b 65 79 22 2c 20 22 31 22 2c 20 54  eignkey", "1", T
2750: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2760: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
2770: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
2780: 53 31 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  S1.  Tcl_SetVar2
2790: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
27a0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 31  _options", "fts1
27b0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
27c0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
27d0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
27e0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
27f0: 74 69 6f 6e 73 22 2c 20 22 66 74 73 31 22 2c 20  tions", "fts1", 
2800: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2810: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
2820: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41  ifdef SQLITE_ENA
2830: 42 4c 45 5f 46 54 53 32 0a 20 20 54 63 6c 5f 53  BLE_FTS2.  Tcl_S
2840: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2850: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2860: 20 22 66 74 73 32 22 2c 20 22 31 22 2c 20 54 43   "fts2", "1", TC
2870: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2880: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
2890: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
28a0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
28b0: 74 73 32 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ts2", "0", TCL_G
28c0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
28d0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
28e0: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 33 0a 20  TE_ENABLE_FTS3. 
28f0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2900: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2910: 69 6f 6e 73 22 2c 20 22 66 74 73 33 22 2c 20 22  ions", "fts3", "
2920: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2930: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
2940: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2950: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2960: 73 22 2c 20 22 66 74 73 33 22 2c 20 22 30 22 2c  s", "fts3", "0",
2970: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2980: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64  );.#endif..#if d
2990: 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e  efined(SQLITE_EN
29a0: 41 42 4c 45 5f 46 54 53 33 29 20 26 26 20 64 65  ABLE_FTS3) && de
29b0: 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 45 4e 41  fined(SQLITE_ENA
29c0: 42 4c 45 5f 46 54 53 34 5f 55 4e 49 43 4f 44 45  BLE_FTS4_UNICODE
29d0: 36 31 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  61).  Tcl_SetVar
29e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
29f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73  e_options", "fts
2a00: 33 5f 75 6e 69 63 6f 64 65 22 2c 20 22 31 22 2c  3_unicode", "1",
2a10: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2a20: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
2a30: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2a40: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2a50: 20 22 66 74 73 33 5f 75 6e 69 63 6f 64 65 22 2c   "fts3_unicode",
2a60: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
2a70: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2a80: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 44 49  #ifdef SQLITE_DI
2a90: 53 41 42 4c 45 5f 46 54 53 34 5f 44 45 46 45 52  SABLE_FTS4_DEFER
2aa0: 52 45 44 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  RED.  Tcl_SetVar
2ab0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2ac0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73  e_options", "fts
2ad0: 34 5f 64 65 66 65 72 72 65 64 22 2c 20 22 30 22  4_deferred", "0"
2ae0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2af0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
2b00: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2b10: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2b20: 2c 20 22 66 74 73 34 5f 64 65 66 65 72 72 65 64  , "fts4_deferred
2b30: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
2b40: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
2b50: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
2b60: 4f 4d 49 54 5f 47 45 54 5f 54 41 42 4c 45 0a 20  OMIT_GET_TABLE. 
2b70: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2b80: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2b90: 69 6f 6e 73 22 2c 20 22 67 65 74 74 61 62 6c 65  ions", "gettable
2ba0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
2bb0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
2bc0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2bd0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2be0: 74 69 6f 6e 73 22 2c 20 22 67 65 74 74 61 62 6c  tions", "gettabl
2bf0: 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  e", "1", TCL_GLO
2c00: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
2c10: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
2c20: 5f 45 4e 41 42 4c 45 5f 49 43 55 0a 20 20 54 63  _ENABLE_ICU.  Tc
2c30: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2c40: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2c50: 73 22 2c 20 22 69 63 75 22 2c 20 22 31 22 2c 20  s", "icu", "1", 
2c60: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2c70: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
2c80: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
2c90: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
2ca0: 22 69 63 75 22 2c 20 22 30 22 2c 20 54 43 4c 5f  "icu", "0", TCL_
2cb0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2cc0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2cd0: 49 54 45 5f 4f 4d 49 54 5f 49 4e 43 52 42 4c 4f  ITE_OMIT_INCRBLO
2ce0: 42 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  B.  Tcl_SetVar2(
2cf0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2d00: 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 63 72 62  options", "incrb
2d10: 6c 6f 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  lob", "0", TCL_G
2d20: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
2d30: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
2d40: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2d50: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 63 72  _options", "incr
2d60: 62 6c 6f 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f  blob", "1", TCL_
2d70: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2d80: 6e 64 69 66 20 2f 2a 20 53 51 4c 49 54 45 5f 4f  ndif /* SQLITE_O
2d90: 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d 20 2a  MIT_AUTOVACUUM *
2da0: 2f 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  /..#ifdef SQLITE
2db0: 5f 4f 4d 49 54 5f 49 4e 54 45 47 52 49 54 59 5f  _OMIT_INTEGRITY_
2dc0: 43 48 45 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56  CHECK.  Tcl_SetV
2dd0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2de0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69  ite_options", "i
2df0: 6e 74 65 67 72 69 74 79 63 6b 22 2c 20 22 30 22  ntegrityck", "0"
2e00: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2e10: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
2e20: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2e30: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2e40: 2c 20 22 69 6e 74 65 67 72 69 74 79 63 6b 22 2c  , "integrityck",
2e50: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2e60: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2e70: 23 69 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49  #if defined(SQLI
2e80: 54 45 5f 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f  TE_DEFAULT_FILE_
2e90: 46 4f 52 4d 41 54 29 20 26 26 20 53 51 4c 49 54  FORMAT) && SQLIT
2ea0: 45 5f 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46  E_DEFAULT_FILE_F
2eb0: 4f 52 4d 41 54 3d 3d 31 0a 20 20 54 63 6c 5f 53  ORMAT==1.  Tcl_S
2ec0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
2ed0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
2ee0: 20 22 6c 65 67 61 63 79 66 6f 72 6d 61 74 22 2c   "legacyformat",
2ef0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2f00: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
2f10: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
2f20: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
2f30: 6f 6e 73 22 2c 20 22 6c 65 67 61 63 79 66 6f 72  ons", "legacyfor
2f40: 6d 61 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  mat", "0", TCL_G
2f50: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2f60: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
2f70: 54 45 5f 4f 4d 49 54 5f 4c 49 4b 45 5f 4f 50 54  TE_OMIT_LIKE_OPT
2f80: 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c 5f  IMIZATION.  Tcl_
2f90: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2fa0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2fb0: 2c 20 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22 30  , "like_opt", "0
2fc0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2fd0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2fe0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2ff0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3000: 22 2c 20 22 6c 69 6b 65 5f 6f 70 74 22 2c 20 22  ", "like_opt", "
3010: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
3020: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
3030: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
3040: 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f 4e 0a  _LOAD_EXTENSION.
3050: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3060: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3070: 74 69 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65 78  tions", "load_ex
3080: 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  t", "0", TCL_GLO
3090: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
30a0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
30b0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
30c0: 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 61 64 5f 65  ptions", "load_e
30d0: 78 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  xt", "1", TCL_GL
30e0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
30f0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
3100: 45 5f 4f 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45  E_OMIT_LOCALTIME
3110: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3120: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3130: 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61 6c 74  ptions", "localt
3140: 69 6d 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ime", "0", TCL_G
3150: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
3160: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
3170: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3180: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 63 61  _options", "loca
3190: 6c 74 69 6d 65 22 2c 20 22 31 22 2c 20 54 43 4c  ltime", "1", TCL
31a0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
31b0: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
31c0: 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 4f 4b 41 53  LITE_OMIT_LOOKAS
31d0: 49 44 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  IDE.  Tcl_SetVar
31e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
31f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 6f 6f  e_options", "loo
3200: 6b 61 73 69 64 65 22 2c 20 22 30 22 2c 20 54 43  kaside", "0", TC
3210: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3220: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
3230: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3240: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c  ite_options", "l
3250: 6f 6f 6b 61 73 69 64 65 22 2c 20 22 31 22 2c 20  ookaside", "1", 
3260: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3270: 3b 0a 23 65 6e 64 69 66 0a 0a 54 63 6c 5f 53 65  ;.#endif..Tcl_Se
3280: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3290: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
32a0: 22 6c 6f 6e 67 5f 64 6f 75 62 6c 65 22 2c 0a 20  "long_double",. 
32b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a               siz
32c0: 65 6f 66 28 4c 4f 4e 47 44 4f 55 42 4c 45 5f 54  eof(LONGDOUBLE_T
32d0: 59 50 45 29 3e 73 69 7a 65 6f 66 28 64 6f 75 62  YPE)>sizeof(doub
32e0: 6c 65 29 20 3f 20 22 31 22 20 3a 20 22 30 22 2c  le) ? "1" : "0",
32f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54  .              T
3300: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3310: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
3320: 4f 4d 49 54 5f 4d 45 4d 4f 52 59 44 42 0a 20 20  OMIT_MEMORYDB.  
3330: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3340: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3350: 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62 22  ons", "memorydb"
3360: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
3370: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
3380: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
3390: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
33a0: 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 64 62  ions", "memorydb
33b0: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
33c0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
33d0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
33e0: 45 4e 41 42 4c 45 5f 4d 45 4d 4f 52 59 5f 4d 41  ENABLE_MEMORY_MA
33f0: 4e 41 47 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53  NAGEMENT.  Tcl_S
3400: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3410: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3420: 20 22 6d 65 6d 6f 72 79 6d 61 6e 61 67 65 22 2c   "memorymanage",
3430: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
3440: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
3450: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
3460: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
3470: 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 6d 61 6e  ons", "memoryman
3480: 61 67 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  age", "0", TCL_G
3490: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
34a0: 64 69 66 0a 0a 54 63 6c 5f 53 65 74 56 61 72 32  dif..Tcl_SetVar2
34b0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
34c0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 72 67  _options", "merg
34d0: 65 73 6f 72 74 22 2c 20 22 31 22 2c 20 54 43 4c  esort", "1", TCL
34e0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 0a  _GLOBAL_ONLY);..
34f0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
3500: 49 54 5f 4f 52 5f 4f 50 54 49 4d 49 5a 41 54 49  IT_OR_OPTIMIZATI
3510: 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  ON.  Tcl_SetVar2
3520: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3530: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 72 5f 6f  _options", "or_o
3540: 70 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  pt", "0", TCL_GL
3550: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
3560: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
3570: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3580: 6f 70 74 69 6f 6e 73 22 2c 20 22 6f 72 5f 6f 70  options", "or_op
3590: 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  t", "1", TCL_GLO
35a0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
35b0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
35c0: 5f 4f 4d 49 54 5f 50 41 47 45 52 5f 50 52 41 47  _OMIT_PAGER_PRAG
35d0: 4d 41 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  MAS.  Tcl_SetVar
35e0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
35f0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61 67  e_options", "pag
3600: 65 72 5f 70 72 61 67 6d 61 73 22 2c 20 22 30 22  er_pragmas", "0"
3610: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3620: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
3630: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3640: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3650: 2c 20 22 70 61 67 65 72 5f 70 72 61 67 6d 61 73  , "pager_pragmas
3660: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
3670: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
3680: 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53 51  ..#if defined(SQ
3690: 4c 49 54 45 5f 4f 4d 49 54 5f 50 52 41 47 4d 41  LITE_OMIT_PRAGMA
36a0: 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 53 51 4c  ) || defined(SQL
36b0: 49 54 45 5f 4f 4d 49 54 5f 46 4c 41 47 5f 50 52  ITE_OMIT_FLAG_PR
36c0: 41 47 4d 41 53 29 0a 20 20 54 63 6c 5f 53 65 74  AGMAS).  Tcl_Set
36d0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
36e0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
36f0: 70 72 61 67 6d 61 22 2c 20 22 30 22 2c 20 54 43  pragma", "0", TC
3700: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3710: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3720: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3730: 74 69 6f 6e 73 22 2c 20 22 69 6e 74 65 67 72 69  tions", "integri
3740: 74 79 63 6b 22 2c 20 22 30 22 2c 20 54 43 4c 5f  tyck", "0", TCL_
3750: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3760: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
3770: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3780: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 72 61  e_options", "pra
3790: 67 6d 61 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  gma", "1", TCL_G
37a0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
37b0: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
37c0: 54 45 5f 4f 4d 49 54 5f 50 52 4f 47 52 45 53 53  TE_OMIT_PROGRESS
37d0: 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 54 63 6c 5f  _CALLBACK.  Tcl_
37e0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
37f0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3800: 2c 20 22 70 72 6f 67 72 65 73 73 22 2c 20 22 30  , "progress", "0
3810: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3820: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
3830: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3840: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3850: 22 2c 20 22 70 72 6f 67 72 65 73 73 22 2c 20 22  ", "progress", "
3860: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
3870: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
3880: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
3890: 5f 52 45 49 4e 44 45 58 0a 20 20 54 63 6c 5f 53  _REINDEX.  Tcl_S
38a0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
38b0: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
38c0: 20 22 72 65 69 6e 64 65 78 22 2c 20 22 30 22 2c   "reindex", "0",
38d0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
38e0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
38f0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3900: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3910: 20 22 72 65 69 6e 64 65 78 22 2c 20 22 31 22 2c   "reindex", "1",
3920: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3930: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
3940: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
3950: 52 54 52 45 45 0a 20 20 54 63 6c 5f 53 65 74 56  RTREE.  Tcl_SetV
3960: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3970: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72  ite_options", "r
3980: 74 72 65 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f  tree", "1", TCL_
3990: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
39a0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
39b0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
39c0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 72 74 72  e_options", "rtr
39d0: 65 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ee", "0", TCL_GL
39e0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
39f0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
3a00: 45 5f 52 54 52 45 45 5f 49 4e 54 5f 4f 4e 4c 59  E_RTREE_INT_ONLY
3a10: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3a20: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3a30: 70 74 69 6f 6e 73 22 2c 20 22 72 74 72 65 65 5f  ptions", "rtree_
3a40: 69 6e 74 5f 6f 6e 6c 79 22 2c 20 22 31 22 2c 20  int_only", "1", 
3a50: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3a60: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
3a70: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3a80: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3a90: 22 72 74 72 65 65 5f 69 6e 74 5f 6f 6e 6c 79 22  "rtree_int_only"
3aa0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
3ab0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
3ac0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
3ad0: 4d 49 54 5f 53 43 48 45 4d 41 5f 50 52 41 47 4d  MIT_SCHEMA_PRAGM
3ae0: 41 53 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  AS.  Tcl_SetVar2
3af0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
3b00: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68 65  _options", "sche
3b10: 6d 61 5f 70 72 61 67 6d 61 73 22 2c 20 22 30 22  ma_pragmas", "0"
3b20: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
3b30: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
3b40: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
3b50: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
3b60: 2c 20 22 73 63 68 65 6d 61 5f 70 72 61 67 6d 61  , "schema_pragma
3b70: 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  s", "1", TCL_GLO
3b80: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
3b90: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
3ba0: 5f 4f 4d 49 54 5f 53 43 48 45 4d 41 5f 56 45 52  _OMIT_SCHEMA_VER
3bb0: 53 49 4f 4e 5f 50 52 41 47 4d 41 53 0a 20 20 54  SION_PRAGMAS.  T
3bc0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
3bd0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
3be0: 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f 76 65 72  ns", "schema_ver
3bf0: 73 69 6f 6e 22 2c 20 22 30 22 2c 20 54 43 4c 5f  sion", "0", TCL_
3c00: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3c10: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
3c20: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
3c30: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 63 68  e_options", "sch
3c40: 65 6d 61 5f 76 65 72 73 69 6f 6e 22 2c 20 22 31  ema_version", "1
3c50: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
3c60: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
3c70: 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  def SQLITE_ENABL
3c80: 45 5f 53 54 41 54 34 0a 20 20 54 63 6c 5f 53 65  E_STAT4.  Tcl_Se
3c90: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
3ca0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
3cb0: 22 73 74 61 74 34 22 2c 20 22 31 22 2c 20 54 43  "stat4", "1", TC
3cc0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3cd0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
3ce0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3cf0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73  ite_options", "s
3d00: 74 61 74 34 22 2c 20 22 30 22 2c 20 54 43 4c 5f  tat4", "0", TCL_
3d10: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
3d20: 6e 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64  ndif.#if defined
3d30: 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53  (SQLITE_ENABLE_S
3d40: 54 41 54 33 29 20 26 26 20 21 64 65 66 69 6e 65  TAT3) && !define
3d50: 64 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  d(SQLITE_ENABLE_
3d60: 53 54 41 54 34 29 0a 20 20 54 63 6c 5f 53 65 74  STAT4).  Tcl_Set
3d70: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3d80: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3d90: 73 74 61 74 33 22 2c 20 22 31 22 2c 20 54 43 4c  stat3", "1", TCL
3da0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
3db0: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
3dc0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
3dd0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 74  te_options", "st
3de0: 61 74 33 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  at3", "0", TCL_G
3df0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
3e00: 64 69 66 0a 0a 23 69 66 20 21 64 65 66 69 6e 65  dif..#if !define
3e10: 64 28 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  d(SQLITE_ENABLE_
3e20: 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 29 0a 23  LOCKING_STYLE).#
3e30: 20 20 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 41    if defined(__A
3e40: 50 50 4c 45 5f 5f 29 0a 23 20 20 20 20 64 65 66  PPLE__).#    def
3e50: 69 6e 65 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  ine SQLITE_ENABL
3e60: 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45 20  E_LOCKING_STYLE 
3e70: 31 0a 23 20 20 65 6c 73 65 0a 23 20 20 20 20 64  1.#  else.#    d
3e80: 65 66 69 6e 65 20 53 51 4c 49 54 45 5f 45 4e 41  efine SQLITE_ENA
3e90: 42 4c 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c  BLE_LOCKING_STYL
3ea0: 45 20 30 0a 23 20 20 65 6e 64 69 66 0a 23 65 6e  E 0.#  endif.#en
3eb0: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45  dif.#if SQLITE_E
3ec0: 4e 41 42 4c 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54  NABLE_LOCKING_ST
3ed0: 59 4c 45 20 26 26 20 64 65 66 69 6e 65 64 28 5f  YLE && defined(_
3ee0: 5f 41 50 50 4c 45 5f 5f 29 0a 20 20 54 63 6c 5f  _APPLE__).  Tcl_
3ef0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 22  SetVar2(interp,"
3f00: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3f10: 22 6c 6f 63 6b 5f 70 72 6f 78 79 5f 70 72 61 67  "lock_proxy_prag
3f20: 6d 61 73 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f  mas","1",TCL_GLO
3f30: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
3f40: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3f50: 6e 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70  nterp,"sqlite_op
3f60: 74 69 6f 6e 73 22 2c 22 6c 6f 63 6b 5f 70 72 6f  tions","lock_pro
3f70: 78 79 5f 70 72 61 67 6d 61 73 22 2c 22 30 22 2c  xy_pragmas","0",
3f80: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
3f90: 3b 0a 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66  ;.#endif.#if def
3fa0: 69 6e 65 64 28 53 51 4c 49 54 45 5f 50 52 45 46  ined(SQLITE_PREF
3fb0: 45 52 5f 50 52 4f 58 59 5f 4c 4f 43 4b 49 4e 47  ER_PROXY_LOCKING
3fc0: 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 5f 41  ) && defined(__A
3fd0: 50 50 4c 45 5f 5f 29 0a 20 20 54 63 6c 5f 53 65  PPLE__).  Tcl_Se
3fe0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 22 73 71  tVar2(interp,"sq
3ff0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 70  lite_options","p
4000: 72 65 66 65 72 5f 70 72 6f 78 79 5f 6c 6f 63 6b  refer_proxy_lock
4010: 69 6e 67 22 2c 22 31 22 2c 54 43 4c 5f 47 4c 4f  ing","1",TCL_GLO
4020: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
4030: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
4040: 6e 74 65 72 70 2c 22 73 71 6c 69 74 65 5f 6f 70  nterp,"sqlite_op
4050: 74 69 6f 6e 73 22 2c 22 70 72 65 66 65 72 5f 70  tions","prefer_p
4060: 72 6f 78 79 5f 6c 6f 63 6b 69 6e 67 22 2c 22 30  roxy_locking","0
4070: 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  ",TCL_GLOBAL_ONL
4080: 59 29 3b 0a 23 65 6e 64 69 66 0a 20 20 20 20 0a  Y);.#endif.    .
4090: 20 20 20 20 0a 23 69 66 64 65 66 20 53 51 4c 49      .#ifdef SQLI
40a0: 54 45 5f 4f 4d 49 54 5f 53 48 41 52 45 44 5f 43  TE_OMIT_SHARED_C
40b0: 41 43 48 45 0a 20 20 54 63 6c 5f 53 65 74 56 61  ACHE.  Tcl_SetVa
40c0: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
40d0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 68  te_options", "sh
40e0: 61 72 65 64 5f 63 61 63 68 65 22 2c 20 22 30 22  ared_cache", "0"
40f0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4100: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
4110: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
4120: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
4130: 2c 20 22 73 68 61 72 65 64 5f 63 61 63 68 65 22  , "shared_cache"
4140: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
4150: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
4160: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
4170: 4d 49 54 5f 53 55 42 51 55 45 52 59 0a 20 20 54  MIT_SUBQUERY.  T
4180: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
4190: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
41a0: 6e 73 22 2c 20 22 73 75 62 71 75 65 72 79 22 2c  ns", "subquery",
41b0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
41c0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
41d0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
41e0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
41f0: 6f 6e 73 22 2c 20 22 73 75 62 71 75 65 72 79 22  ons", "subquery"
4200: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
4210: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
4220: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
4230: 4d 49 54 5f 54 43 4c 5f 56 41 52 49 41 42 4c 45  MIT_TCL_VARIABLE
4240: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
4250: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
4260: 70 74 69 6f 6e 73 22 2c 20 22 74 63 6c 76 61 72  ptions", "tclvar
4270: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
4280: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
4290: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
42a0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
42b0: 74 69 6f 6e 73 22 2c 20 22 74 63 6c 76 61 72 22  tions", "tclvar"
42c0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
42d0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
42e0: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
42f0: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
4300: 70 74 69 6f 6e 73 22 2c 20 22 74 68 72 65 61 64  ptions", "thread
4310: 73 61 66 65 22 2c 20 0a 20 20 20 20 20 20 53 54  safe", .      ST
4320: 52 49 4e 47 56 41 4c 55 45 28 53 51 4c 49 54 45  RINGVALUE(SQLITE
4330: 5f 54 48 52 45 41 44 53 41 46 45 29 2c 20 54 43  _THREADSAFE), TC
4340: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
4350: 20 20 61 73 73 65 72 74 28 20 73 71 6c 69 74 65    assert( sqlite
4360: 33 5f 74 68 72 65 61 64 73 61 66 65 28 29 3d 3d  3_threadsafe()==
4370: 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41 46  SQLITE_THREADSAF
4380: 45 20 29 3b 0a 0a 23 69 66 64 65 66 20 53 51 4c  E );..#ifdef SQL
4390: 49 54 45 5f 4f 4d 49 54 5f 54 45 4d 50 44 42 0a  ITE_OMIT_TEMPDB.
43a0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
43b0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
43c0: 74 69 6f 6e 73 22 2c 20 22 74 65 6d 70 64 62 22  tions", "tempdb"
43d0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
43e0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
43f0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4400: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4410: 69 6f 6e 73 22 2c 20 22 74 65 6d 70 64 62 22 2c  ions", "tempdb",
4420: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
4430: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
4440: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
4450: 49 54 5f 54 52 41 43 45 0a 20 20 54 63 6c 5f 53  IT_TRACE.  Tcl_S
4460: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4470: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4480: 20 22 74 72 61 63 65 22 2c 20 22 30 22 2c 20 54   "trace", "0", T
4490: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
44a0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
44b0: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
44c0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
44d0: 74 72 61 63 65 22 2c 20 22 31 22 2c 20 54 43 4c  trace", "1", TCL
44e0: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
44f0: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
4500: 4c 49 54 45 5f 4f 4d 49 54 5f 54 52 49 47 47 45  LITE_OMIT_TRIGGE
4510: 52 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  R.  Tcl_SetVar2(
4520: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
4530: 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 69 67 67  options", "trigg
4540: 65 72 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  er", "0", TCL_GL
4550: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
4560: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
4570: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
4580: 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 69 67 67  options", "trigg
4590: 65 72 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  er", "1", TCL_GL
45a0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
45b0: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
45c0: 45 5f 4f 4d 49 54 5f 54 52 55 4e 43 41 54 45 5f  E_OMIT_TRUNCATE_
45d0: 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54  OPTIMIZATION.  T
45e0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
45f0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
4600: 6e 73 22 2c 20 22 74 72 75 6e 63 61 74 65 5f 6f  ns", "truncate_o
4610: 70 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  pt", "0", TCL_GL
4620: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
4630: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
4640: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
4650: 6f 70 74 69 6f 6e 73 22 2c 20 22 74 72 75 6e 63  options", "trunc
4660: 61 74 65 5f 6f 70 74 22 2c 20 22 31 22 2c 20 54  ate_opt", "1", T
4670: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
4680: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
4690: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 55 54 46 31  SQLITE_OMIT_UTF1
46a0: 36 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  6.  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 74 66 31 36  options", "utf16
46d0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
46e0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
46f0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4700: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4710: 74 69 6f 6e 73 22 2c 20 22 75 74 66 31 36 22 2c  tions", "utf16",
4720: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
4730: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
4740: 23 69 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49  #if defined(SQLI
4750: 54 45 5f 4f 4d 49 54 5f 56 41 43 55 55 4d 29 20  TE_OMIT_VACUUM) 
4760: 7c 7c 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54  || defined(SQLIT
4770: 45 5f 4f 4d 49 54 5f 41 54 54 41 43 48 29 0a 20  E_OMIT_ATTACH). 
4780: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4790: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
47a0: 69 6f 6e 73 22 2c 20 22 76 61 63 75 75 6d 22 2c  ions", "vacuum",
47b0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
47c0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
47d0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
47e0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
47f0: 6f 6e 73 22 2c 20 22 76 61 63 75 75 6d 22 2c 20  ons", "vacuum", 
4800: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
4810: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
4820: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
4830: 54 5f 56 49 45 57 0a 20 20 54 63 6c 5f 53 65 74  T_VIEW.  Tcl_Set
4840: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
4850: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
4860: 76 69 65 77 22 2c 20 22 30 22 2c 20 54 43 4c 5f  view", "0", TCL_
4870: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
4880: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
4890: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
48a0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76 69 65  e_options", "vie
48b0: 77 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  w", "1", TCL_GLO
48c0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
48d0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
48e0: 5f 4f 4d 49 54 5f 56 49 52 54 55 41 4c 54 41 42  _OMIT_VIRTUALTAB
48f0: 4c 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  LE.  Tcl_SetVar2
4900: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
4910: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 76 74 61 62  _options", "vtab
4920: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
4930: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
4940: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
4950: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
4960: 74 69 6f 6e 73 22 2c 20 22 76 74 61 62 22 2c 20  tions", "vtab", 
4970: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
4980: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
4990: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
49a0: 54 5f 57 41 4c 0a 20 20 54 63 6c 5f 53 65 74 56  T_WAL.  Tcl_SetV
49b0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
49c0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77  ite_options", "w
49d0: 61 6c 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  al", "0", TCL_GL
49e0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
49f0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
4a00: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
4a10: 6f 70 74 69 6f 6e 73 22 2c 20 22 77 61 6c 22 2c  options", "wal",
4a20: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
4a30: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
4a40: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
4a50: 49 54 5f 57 53 44 0a 20 20 54 63 6c 5f 53 65 74  IT_WSD.  Tcl_Set
4a60: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
4a70: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
4a80: 77 73 64 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  wsd", "0", TCL_G
4a90: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
4aa0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
4ab0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
4ac0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 77 73 64 22  _options", "wsd"
4ad0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
4ae0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
4af0: 0a 23 69 66 20 64 65 66 69 6e 65 64 28 53 51 4c  .#if defined(SQL
4b00: 49 54 45 5f 45 4e 41 42 4c 45 5f 55 50 44 41 54  ITE_ENABLE_UPDAT
4b10: 45 5f 44 45 4c 45 54 45 5f 4c 49 4d 49 54 29 20  E_DELETE_LIMIT) 
4b20: 26 26 20 21 64 65 66 69 6e 65 64 28 53 51 4c 49  && !defined(SQLI
4b30: 54 45 5f 4f 4d 49 54 5f 53 55 42 51 55 45 52 59  TE_OMIT_SUBQUERY
4b40: 29 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  ).  Tcl_SetVar2(
4b50: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
4b60: 6f 70 74 69 6f 6e 73 22 2c 20 22 75 70 64 61 74  options", "updat
4b70: 65 5f 64 65 6c 65 74 65 5f 6c 69 6d 69 74 22 2c  e_delete_limit",
4b80: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
4b90: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
4ba0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
4bb0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
4bc0: 6f 6e 73 22 2c 20 22 75 70 64 61 74 65 5f 64 65  ons", "update_de
4bd0: 6c 65 74 65 5f 6c 69 6d 69 74 22 2c 20 22 30 22  lete_limit", "0"
4be0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
4bf0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20  Y);.#endif..#if 
4c00: 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 45  defined(SQLITE_E
4c10: 4e 41 42 4c 45 5f 55 4e 4c 4f 43 4b 5f 4e 4f 54  NABLE_UNLOCK_NOT
4c20: 49 46 59 29 0a 20 20 54 63 6c 5f 53 65 74 56 61  IFY).  Tcl_SetVa
4c30: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
4c40: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 75 6e  te_options", "un
4c50: 6c 6f 63 6b 5f 6e 6f 74 69 66 79 22 2c 20 22 31  lock_notify", "1
4c60: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
4c70: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
4c80: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
4c90: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
4ca0: 22 2c 20 22 75 6e 6c 6f 63 6b 5f 6e 6f 74 69 66  ", "unlock_notif
4cb0: 79 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  y", "0", TCL_GLO
4cc0: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
4cd0: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
4ce0: 5f 53 45 43 55 52 45 5f 44 45 4c 45 54 45 0a 20  _SECURE_DELETE. 
4cf0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
4d00: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
4d10: 69 6f 6e 73 22 2c 20 22 73 65 63 75 72 65 5f 64  ions", "secure_d
4d20: 65 6c 65 74 65 22 2c 20 22 31 22 2c 20 54 43 4c  elete", "1", TCL
4d30: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
4d40: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
4d50: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
4d60: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 65  te_options", "se
4d70: 63 75 72 65 5f 64 65 6c 65 74 65 22 2c 20 22 30  cure_delete", "0
4d80: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
4d90: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
4da0: 64 65 66 20 53 51 4c 49 54 45 5f 4d 55 4c 54 49  def SQLITE_MULTI
4db0: 50 4c 45 58 5f 45 58 54 5f 4f 56 57 52 0a 20 20  PLEX_EXT_OVWR.  
4dc0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
4dd0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
4de0: 6f 6e 73 22 2c 20 22 6d 75 6c 74 69 70 6c 65 78  ons", "multiplex
4df0: 5f 65 78 74 5f 6f 76 65 72 77 72 69 74 65 22 2c  _ext_overwrite",
4e00: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
4e10: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
4e20: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
4e30: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
4e40: 6f 6e 73 22 2c 20 22 6d 75 6c 74 69 70 6c 65 78  ons", "multiplex
4e50: 5f 65 78 74 5f 6f 76 65 72 77 72 69 74 65 22 2c  _ext_overwrite",
4e60: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
4e70: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
4e80: 23 69 66 64 65 66 20 59 59 54 52 41 43 4b 4d 41  #ifdef YYTRACKMA
4e90: 58 53 54 41 43 4b 44 45 50 54 48 0a 20 20 54 63  XSTACKDEPTH.  Tc
4ea0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
4eb0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
4ec0: 73 22 2c 20 22 79 79 74 72 61 63 6b 6d 61 78 73  s", "yytrackmaxs
4ed0: 74 61 63 6b 64 65 70 74 68 22 2c 20 22 31 22 2c  tackdepth", "1",
4ee0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
4ef0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
4f00: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
4f10: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
4f20: 20 22 79 79 74 72 61 63 6b 6d 61 78 73 74 61 63   "yytrackmaxstac
4f30: 6b 64 65 70 74 68 22 2c 20 22 30 22 2c 20 54 43  kdepth", "0", TC
4f40: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
4f50: 23 65 6e 64 69 66 0a 0a 23 64 65 66 69 6e 65 20  #endif..#define 
4f60: 4c 49 4e 4b 56 41 52 28 78 29 20 7b 20 5c 0a 20  LINKVAR(x) { \. 
4f70: 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20     static const 
4f80: 69 6e 74 20 63 76 5f 20 23 23 20 78 20 3d 20 53  int cv_ ## x = S
4f90: 51 4c 49 54 45 5f 20 23 23 20 78 3b 20 5c 0a 20  QLITE_ ## x; \. 
4fa0: 20 20 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28 69     Tcl_LinkVar(i
4fb0: 6e 74 65 72 70 2c 20 22 53 51 4c 49 54 45 5f 22  nterp, "SQLITE_"
4fc0: 20 23 78 2c 20 28 63 68 61 72 20 2a 29 26 28 63   #x, (char *)&(c
4fd0: 76 5f 20 23 23 20 78 29 2c 20 5c 0a 20 20 20 20  v_ ## x), \.    
4fe0: 20 20 20 20 20 20 20 20 20 20 20 20 54 43 4c 5f              TCL_
4ff0: 4c 49 4e 4b 5f 49 4e 54 20 7c 20 54 43 4c 5f 4c  LINK_INT | TCL_L
5000: 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c 59 29 3b 20  INK_READ_ONLY); 
5010: 7d 0a 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41  }..  LINKVAR( MA
5020: 58 5f 4c 45 4e 47 54 48 20 29 3b 0a 20 20 4c 49  X_LENGTH );.  LI
5030: 4e 4b 56 41 52 28 20 4d 41 58 5f 43 4f 4c 55 4d  NKVAR( MAX_COLUM
5040: 4e 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20  N );.  LINKVAR( 
5050: 4d 41 58 5f 53 51 4c 5f 4c 45 4e 47 54 48 20 29  MAX_SQL_LENGTH )
5060: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
5070: 5f 45 58 50 52 5f 44 45 50 54 48 20 29 3b 0a 20  _EXPR_DEPTH );. 
5080: 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 43 4f   LINKVAR( MAX_CO
5090: 4d 50 4f 55 4e 44 5f 53 45 4c 45 43 54 20 29 3b  MPOUND_SELECT );
50a0: 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f  .  LINKVAR( MAX_
50b0: 56 44 42 45 5f 4f 50 20 29 3b 0a 20 20 4c 49 4e  VDBE_OP );.  LIN
50c0: 4b 56 41 52 28 20 4d 41 58 5f 46 55 4e 43 54 49  KVAR( MAX_FUNCTI
50d0: 4f 4e 5f 41 52 47 20 29 3b 0a 20 20 4c 49 4e 4b  ON_ARG );.  LINK
50e0: 56 41 52 28 20 4d 41 58 5f 56 41 52 49 41 42 4c  VAR( MAX_VARIABL
50f0: 45 5f 4e 55 4d 42 45 52 20 29 3b 0a 20 20 4c 49  E_NUMBER );.  LI
5100: 4e 4b 56 41 52 28 20 4d 41 58 5f 50 41 47 45 5f  NKVAR( MAX_PAGE_
5110: 53 49 5a 45 20 29 3b 0a 20 20 4c 49 4e 4b 56 41  SIZE );.  LINKVA
5120: 52 28 20 4d 41 58 5f 50 41 47 45 5f 43 4f 55 4e  R( MAX_PAGE_COUN
5130: 54 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20  T );.  LINKVAR( 
5140: 4d 41 58 5f 4c 49 4b 45 5f 50 41 54 54 45 52 4e  MAX_LIKE_PATTERN
5150: 5f 4c 45 4e 47 54 48 20 29 3b 0a 20 20 4c 49 4e  _LENGTH );.  LIN
5160: 4b 56 41 52 28 20 4d 41 58 5f 54 52 49 47 47 45  KVAR( MAX_TRIGGE
5170: 52 5f 44 45 50 54 48 20 29 3b 0a 20 20 4c 49 4e  R_DEPTH );.  LIN
5180: 4b 56 41 52 28 20 44 45 46 41 55 4c 54 5f 54 45  KVAR( DEFAULT_TE
5190: 4d 50 5f 43 41 43 48 45 5f 53 49 5a 45 20 29 3b  MP_CACHE_SIZE );
51a0: 0a 20 20 4c 49 4e 4b 56 41 52 28 20 44 45 46 41  .  LINKVAR( DEFA
51b0: 55 4c 54 5f 43 41 43 48 45 5f 53 49 5a 45 20 29  ULT_CACHE_SIZE )
51c0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 44 45 46  ;.  LINKVAR( DEF
51d0: 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 20 29  AULT_PAGE_SIZE )
51e0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 44 45 46  ;.  LINKVAR( DEF
51f0: 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54  AULT_FILE_FORMAT
5200: 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d   );.  LINKVAR( M
5210: 41 58 5f 41 54 54 41 43 48 45 44 20 29 3b 0a 20  AX_ATTACHED );. 
5220: 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 44 45   LINKVAR( MAX_DE
5230: 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 20  FAULT_PAGE_SIZE 
5240: 29 3b 0a 0a 20 20 7b 0a 20 20 20 20 73 74 61 74  );..  {.    stat
5250: 69 63 20 63 6f 6e 73 74 20 69 6e 74 20 63 76 5f  ic const int cv_
5260: 54 45 4d 50 5f 53 54 4f 52 45 20 3d 20 53 51 4c  TEMP_STORE = SQL
5270: 49 54 45 5f 54 45 4d 50 5f 53 54 4f 52 45 3b 0a  ITE_TEMP_STORE;.
5280: 20 20 20 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28      Tcl_LinkVar(
5290: 69 6e 74 65 72 70 2c 20 22 54 45 4d 50 5f 53 54  interp, "TEMP_ST
52a0: 4f 52 45 22 2c 20 28 63 68 61 72 20 2a 29 26 28  ORE", (char *)&(
52b0: 63 76 5f 54 45 4d 50 5f 53 54 4f 52 45 29 2c 0a  cv_TEMP_STORE),.
52c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
52d0: 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 20 7c 20 54  TCL_LINK_INT | T
52e0: 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c  CL_LINK_READ_ONL
52f0: 59 29 3b 0a 20 20 7d 0a 0a 23 69 66 64 65 66 20  Y);.  }..#ifdef 
5300: 5f 4d 53 43 5f 56 45 52 0a 20 20 7b 0a 20 20 20  _MSC_VER.  {.   
5310: 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e   static const in
5320: 74 20 63 76 5f 5f 4d 53 43 5f 56 45 52 20 3d 20  t cv__MSC_VER = 
5330: 31 3b 0a 20 20 20 20 54 63 6c 5f 4c 69 6e 6b 56  1;.    Tcl_LinkV
5340: 61 72 28 69 6e 74 65 72 70 2c 20 22 5f 4d 53 43  ar(interp, "_MSC
5350: 5f 56 45 52 22 2c 20 28 63 68 61 72 20 2a 29 26  _VER", (char *)&
5360: 28 63 76 5f 5f 4d 53 43 5f 56 45 52 29 2c 0a 20  (cv__MSC_VER),. 
5370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54                 T
5380: 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 20 7c 20 54 43  CL_LINK_INT | TC
5390: 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c 59  L_LINK_READ_ONLY
53a0: 29 3b 0a 20 20 7d 0a 23 65 6e 64 69 66 0a 23 69  );.  }.#endif.#i
53b0: 66 64 65 66 20 5f 5f 47 4e 55 43 5f 5f 0a 20 20  fdef __GNUC__.  
53c0: 7b 0a 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e  {.    static con
53d0: 73 74 20 69 6e 74 20 63 76 5f 5f 5f 47 4e 55 43  st int cv___GNUC
53e0: 5f 5f 20 3d 20 31 3b 0a 20 20 20 20 54 63 6c 5f  __ = 1;.    Tcl_
53f0: 4c 69 6e 6b 56 61 72 28 69 6e 74 65 72 70 2c 20  LinkVar(interp, 
5400: 22 5f 5f 47 4e 55 43 5f 5f 22 2c 20 28 63 68 61  "__GNUC__", (cha
5410: 72 20 2a 29 26 28 63 76 5f 5f 5f 47 4e 55 43 5f  r *)&(cv___GNUC_
5420: 5f 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  _),.            
5430: 20 20 20 20 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54      TCL_LINK_INT
5440: 20 7c 20 54 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44   | TCL_LINK_READ
5450: 5f 4f 4e 4c 59 29 3b 0a 20 20 7d 0a 23 65 6e 64  _ONLY);.  }.#end
5460: 69 66 0a 7d 0a 0a 0a 2f 2a 0a 2a 2a 20 52 65 67  if.}.../*.** Reg
5470: 69 73 74 65 72 20 63 6f 6d 6d 61 6e 64 73 20 77  ister commands w
5480: 69 74 68 20 74 68 65 20 54 43 4c 20 69 6e 74 65  ith the TCL inte
5490: 72 70 72 65 74 65 72 2e 0a 2a 2f 0a 69 6e 74 20  rpreter..*/.int 
54a0: 53 71 6c 69 74 65 63 6f 6e 66 69 67 5f 49 6e 69  Sqliteconfig_Ini
54b0: 74 28 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e  t(Tcl_Interp *in
54c0: 74 65 72 70 29 7b 0a 20 20 73 65 74 5f 6f 70 74  terp){.  set_opt
54d0: 69 6f 6e 73 28 69 6e 74 65 72 70 29 3b 0a 20 20  ions(interp);.  
54e0: 72 65 74 75 72 6e 20 54 43 4c 5f 4f 4b 3b 0a 7d  return TCL_OK;.}
54f0: 0a                                               .