/ Hex Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact 6fb459214b27952b143f45e35200d94096d54cc6:


0000: 2f 2a 0a 2a 2a 20 32 30 30 37 20 4d 61 79 20 37  /*.** 2007 May 7
0010: 0a 2a 2a 0a 2a 2a 20 54 68 65 20 61 75 74 68 6f  .**.** The autho
0020: 72 20 64 69 73 63 6c 61 69 6d 73 20 63 6f 70 79  r disclaims copy
0030: 72 69 67 68 74 20 74 6f 20 74 68 69 73 20 73 6f  right to this so
0040: 75 72 63 65 20 63 6f 64 65 2e 20 20 49 6e 20 70  urce code.  In p
0050: 6c 61 63 65 20 6f 66 0a 2a 2a 20 61 20 6c 65 67  lace of.** a leg
0060: 61 6c 20 6e 6f 74 69 63 65 2c 20 68 65 72 65 20  al notice, here 
0070: 69 73 20 61 20 62 6c 65 73 73 69 6e 67 3a 0a 2a  is a blessing:.*
0080: 2a 0a 2a 2a 20 20 20 20 4d 61 79 20 79 6f 75 20  *.**    May you 
0090: 64 6f 20 67 6f 6f 64 20 61 6e 64 20 6e 6f 74 20  do good and not 
00a0: 65 76 69 6c 2e 0a 2a 2a 20 20 20 20 4d 61 79 20  evil..**    May 
00b0: 79 6f 75 20 66 69 6e 64 20 66 6f 72 67 69 76 65  you find forgive
00c0: 6e 65 73 73 20 66 6f 72 20 79 6f 75 72 73 65 6c  ness for yoursel
00d0: 66 20 61 6e 64 20 66 6f 72 67 69 76 65 20 6f 74  f and forgive ot
00e0: 68 65 72 73 2e 0a 2a 2a 20 20 20 20 4d 61 79 20  hers..**    May 
00f0: 79 6f 75 20 73 68 61 72 65 20 66 72 65 65 6c 79  you share freely
0100: 2c 20 6e 65 76 65 72 20 74 61 6b 69 6e 67 20 6d  , never taking m
0110: 6f 72 65 20 74 68 61 6e 20 79 6f 75 20 67 69 76  ore than you giv
0120: 65 2e 0a 2a 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  e..**.**********
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a  ***************.
0170: 2a 2a 20 0a 2a 2a 20 54 68 69 73 20 66 69 6c 65  ** .** This file
0180: 20 63 6f 6e 74 61 69 6e 73 20 63 6f 64 65 20 75   contains code u
0190: 73 65 64 20 66 6f 72 20 74 65 73 74 69 6e 67 20  sed for testing 
01a0: 74 68 65 20 53 51 4c 69 74 65 20 73 79 73 74 65  the SQLite syste
01b0: 6d 2e 0a 2a 2a 20 4e 6f 6e 65 20 6f 66 20 74 68  m..** None of th
01c0: 65 20 63 6f 64 65 20 69 6e 20 74 68 69 73 20 66  e code in this f
01d0: 69 6c 65 20 67 6f 65 73 20 69 6e 74 6f 20 61 20  ile goes into a 
01e0: 64 65 6c 69 76 65 72 61 62 6c 65 20 62 75 69 6c  deliverable buil
01f0: 64 2e 0a 2a 2a 20 0a 2a 2a 20 54 68 65 20 66 6f  d..** .** The fo
0200: 63 75 73 20 6f 66 20 74 68 69 73 20 66 69 6c 65  cus of this file
0210: 20 69 73 20 70 72 6f 76 69 64 69 6e 67 20 74 68   is providing th
0220: 65 20 54 43 4c 20 74 65 73 74 69 6e 67 20 6c 61  e TCL testing la
0230: 79 65 72 0a 2a 2a 20 61 63 63 65 73 73 20 74 6f  yer.** access to
0240: 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f   compile-time co
0250: 6e 73 74 61 6e 74 73 2e 0a 2a 2a 0a 2a 2a 20 24  nstants..**.** $
0260: 49 64 3a 20 74 65 73 74 5f 63 6f 6e 66 69 67 2e  Id: test_config.
0270: 63 2c 76 20 31 2e 31 35 20 32 30 30 37 2f 30 39  c,v 1.15 2007/09
0280: 2f 30 33 20 31 35 3a 32 36 3a 32 31 20 64 72 68  /03 15:26:21 drh
0290: 20 45 78 70 20 24 0a 2a 2f 0a 0a 23 69 6e 63 6c   Exp $.*/..#incl
02a0: 75 64 65 20 22 73 71 6c 69 74 65 4c 69 6d 69 74  ude "sqliteLimit
02b0: 2e 68 22 0a 0a 69 6e 74 20 73 71 6c 69 74 65 33  .h"..int sqlite3
02c0: 4d 41 58 5f 4c 45 4e 47 54 48 20 3d 20 53 51 4c  MAX_LENGTH = SQL
02d0: 49 54 45 5f 4d 41 58 5f 4c 45 4e 47 54 48 3b 0a  ITE_MAX_LENGTH;.
02e0: 69 6e 74 20 73 71 6c 69 74 65 33 4d 41 58 5f 43  int sqlite3MAX_C
02f0: 4f 4c 55 4d 4e 20 3d 20 53 51 4c 49 54 45 5f 4d  OLUMN = SQLITE_M
0300: 41 58 5f 43 4f 4c 55 4d 4e 3b 0a 69 6e 74 20 73  AX_COLUMN;.int s
0310: 71 6c 69 74 65 33 4d 41 58 5f 53 51 4c 5f 4c 45  qlite3MAX_SQL_LE
0320: 4e 47 54 48 20 3d 20 53 51 4c 49 54 45 5f 4d 41  NGTH = SQLITE_MA
0330: 58 5f 53 51 4c 5f 4c 45 4e 47 54 48 3b 0a 69 6e  X_SQL_LENGTH;.in
0340: 74 20 73 71 6c 69 74 65 33 4d 41 58 5f 45 58 50  t sqlite3MAX_EXP
0350: 52 5f 44 45 50 54 48 20 3d 20 53 51 4c 49 54 45  R_DEPTH = SQLITE
0360: 5f 4d 41 58 5f 45 58 50 52 5f 44 45 50 54 48 3b  _MAX_EXPR_DEPTH;
0370: 0a 69 6e 74 20 73 71 6c 69 74 65 33 4d 41 58 5f  .int sqlite3MAX_
0380: 43 4f 4d 50 4f 55 4e 44 5f 53 45 4c 45 43 54 20  COMPOUND_SELECT 
0390: 3d 20 53 51 4c 49 54 45 5f 4d 41 58 5f 43 4f 4d  = SQLITE_MAX_COM
03a0: 50 4f 55 4e 44 5f 53 45 4c 45 43 54 3b 0a 69 6e  POUND_SELECT;.in
03b0: 74 20 73 71 6c 69 74 65 33 4d 41 58 5f 56 44 42  t sqlite3MAX_VDB
03c0: 45 5f 4f 50 20 3d 20 53 51 4c 49 54 45 5f 4d 41  E_OP = SQLITE_MA
03d0: 58 5f 56 44 42 45 5f 4f 50 3b 0a 69 6e 74 20 73  X_VDBE_OP;.int s
03e0: 71 6c 69 74 65 33 4d 41 58 5f 46 55 4e 43 54 49  qlite3MAX_FUNCTI
03f0: 4f 4e 5f 41 52 47 20 3d 20 53 51 4c 49 54 45 5f  ON_ARG = SQLITE_
0400: 4d 41 58 5f 46 55 4e 43 54 49 4f 4e 5f 41 52 47  MAX_FUNCTION_ARG
0410: 3b 0a 69 6e 74 20 73 71 6c 69 74 65 33 4d 41 58  ;.int sqlite3MAX
0420: 5f 56 41 52 49 41 42 4c 45 5f 4e 55 4d 42 45 52  _VARIABLE_NUMBER
0430: 20 3d 20 53 51 4c 49 54 45 5f 4d 41 58 5f 56 41   = SQLITE_MAX_VA
0440: 52 49 41 42 4c 45 5f 4e 55 4d 42 45 52 3b 0a 69  RIABLE_NUMBER;.i
0450: 6e 74 20 73 71 6c 69 74 65 33 4d 41 58 5f 50 41  nt sqlite3MAX_PA
0460: 47 45 5f 53 49 5a 45 20 3d 20 53 51 4c 49 54 45  GE_SIZE = SQLITE
0470: 5f 4d 41 58 5f 50 41 47 45 5f 53 49 5a 45 3b 0a  _MAX_PAGE_SIZE;.
0480: 69 6e 74 20 73 71 6c 69 74 65 33 4d 41 58 5f 50  int sqlite3MAX_P
0490: 41 47 45 5f 43 4f 55 4e 54 20 3d 20 53 51 4c 49  AGE_COUNT = SQLI
04a0: 54 45 5f 4d 41 58 5f 50 41 47 45 5f 43 4f 55 4e  TE_MAX_PAGE_COUN
04b0: 54 3b 0a 69 6e 74 20 73 71 6c 69 74 65 33 4d 41  T;.int sqlite3MA
04c0: 58 5f 4c 49 4b 45 5f 50 41 54 54 45 52 4e 5f 4c  X_LIKE_PATTERN_L
04d0: 45 4e 47 54 48 20 3d 20 53 51 4c 49 54 45 5f 4d  ENGTH = SQLITE_M
04e0: 41 58 5f 4c 49 4b 45 5f 50 41 54 54 45 52 4e 5f  AX_LIKE_PATTERN_
04f0: 4c 45 4e 47 54 48 3b 0a 0a 23 69 6e 63 6c 75 64  LENGTH;..#includ
0500: 65 20 22 73 71 6c 69 74 65 49 6e 74 2e 68 22 0a  e "sqliteInt.h".
0510: 23 69 6e 63 6c 75 64 65 20 22 74 63 6c 2e 68 22  #include "tcl.h"
0520: 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69  .#include <stdli
0530: 62 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73  b.h>.#include <s
0540: 74 72 69 6e 67 2e 68 3e 0a 0a 2f 2a 0a 2a 2a 20  tring.h>../*.** 
0550: 54 68 69 73 20 72 6f 75 74 69 6e 65 20 73 65 74  This routine set
0560: 73 20 65 6e 74 72 69 65 73 20 69 6e 20 74 68 65  s entries in the
0570: 20 67 6c 6f 62 61 6c 20 3a 3a 73 71 6c 69 74 65   global ::sqlite
0580: 5f 6f 70 74 69 6f 6e 73 28 29 20 61 72 72 61 79  _options() array
0590: 20 76 61 72 69 61 62 6c 65 0a 2a 2a 20 61 63 63   variable.** acc
05a0: 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 6f  ording to the co
05b0: 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 66 69  mpile-time confi
05c0: 67 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20  guration of the 
05d0: 64 61 74 61 62 61 73 65 2e 20 20 54 65 73 74 0a  database.  Test.
05e0: 2a 2a 20 70 72 6f 63 65 64 75 72 65 73 20 75 73  ** procedures us
05f0: 65 20 74 68 69 73 20 74 6f 20 64 65 74 65 72 6d  e this to determ
0600: 69 6e 65 20 77 68 65 6e 20 74 65 73 74 73 20 73  ine when tests s
0610: 68 6f 75 6c 64 20 62 65 20 6f 6d 69 74 74 65 64  hould be omitted
0620: 2e 0a 2a 2f 0a 73 74 61 74 69 63 20 76 6f 69 64  ..*/.static void
0630: 20 73 65 74 5f 6f 70 74 69 6f 6e 73 28 54 63 6c   set_options(Tcl
0640: 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65 72 70 29  _Interp *interp)
0650: 7b 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  {.#ifdef SQLITE_
0660: 33 32 42 49 54 5f 52 4f 57 49 44 0a 20 20 54 63  32BIT_ROWID.  Tc
0670: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0680: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0690: 73 22 2c 20 22 72 6f 77 69 64 33 32 22 2c 20 22  s", "rowid32", "
06a0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
06b0: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
06c0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
06d0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
06e0: 73 22 2c 20 22 72 6f 77 69 64 33 32 22 2c 20 22  s", "rowid32", "
06f0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
0700: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
0710: 66 64 65 66 20 53 51 4c 49 54 45 5f 43 41 53 45  fdef SQLITE_CASE
0720: 5f 53 45 4e 53 49 54 49 56 45 5f 4c 49 4b 45 0a  _SENSITIVE_LIKE.
0730: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0740: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0750: 74 69 6f 6e 73 22 2c 22 63 61 73 65 73 65 6e 73  tions","casesens
0760: 69 74 69 76 65 6c 69 6b 65 22 2c 22 31 22 2c 54  itivelike","1",T
0770: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
0780: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
0790: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
07a0: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 22 63  lite_options","c
07b0: 61 73 65 73 65 6e 73 69 74 69 76 65 6c 69 6b 65  asesensitivelike
07c0: 22 2c 22 30 22 2c 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 44 45  #ifdef SQLITE_DE
07f0: 42 55 47 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  BUG.  Tcl_SetVar
0800: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
0810: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 62  e_options", "deb
0820: 75 67 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ug", "1", TCL_GL
0830: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
0840: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
0850: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0860: 6f 70 74 69 6f 6e 73 22 2c 20 22 64 65 62 75 67  options", "debug
0870: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
0880: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
0890: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
08a0: 44 49 53 41 42 4c 45 5f 44 49 52 53 59 4e 43 0a  DISABLE_DIRSYNC.
08b0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
08c0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
08d0: 74 69 6f 6e 73 22 2c 20 22 64 69 72 73 79 6e 63  tions", "dirsync
08e0: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
08f0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
0900: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
0910: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
0920: 74 69 6f 6e 73 22 2c 20 22 64 69 72 73 79 6e 63  tions", "dirsync
0930: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
0940: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
0950: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
0960: 44 49 53 41 42 4c 45 5f 4c 46 53 0a 20 20 54 63  DISABLE_LFS.  Tc
0970: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
0980: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
0990: 73 22 2c 20 22 6c 66 73 22 2c 20 22 30 22 2c 20  s", "lfs", "0", 
09a0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
09b0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
09c0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
09d0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
09e0: 22 6c 66 73 22 2c 20 22 31 22 2c 20 54 43 4c 5f  "lfs", "1", TCL_
09f0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
0a00: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
0a10: 49 54 45 5f 4d 45 4d 44 45 42 55 47 0a 20 20 54  ITE_MEMDEBUG.  T
0a20: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
0a30: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
0a40: 6e 73 22 2c 20 22 6d 65 6d 64 65 62 75 67 22 2c  ns", "memdebug",
0a50: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
0a60: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
0a70: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
0a80: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
0a90: 6f 6e 73 22 2c 20 22 6d 65 6d 64 65 62 75 67 22  ons", "memdebug"
0aa0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
0ab0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
0ac0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
0ad0: 4d 49 54 5f 41 4c 54 45 52 54 41 42 4c 45 0a 20  MIT_ALTERTABLE. 
0ae0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
0af0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
0b00: 69 6f 6e 73 22 2c 20 22 61 6c 74 65 72 74 61 62  ions", "altertab
0b10: 6c 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  le", "0", TCL_GL
0b20: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
0b30: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
0b40: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0b50: 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6c 74 65 72  options", "alter
0b60: 74 61 62 6c 65 22 2c 20 22 31 22 2c 20 54 43 4c  table", "1", TCL
0b70: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
0b80: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
0b90: 4c 49 54 45 5f 4f 4d 49 54 5f 41 4e 41 4c 59 5a  LITE_OMIT_ANALYZ
0ba0: 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  E.  Tcl_SetVar2(
0bb0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0bc0: 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6e 61 6c 79  options", "analy
0bd0: 7a 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  ze", "0", TCL_GL
0be0: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
0bf0: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
0c00: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
0c10: 6f 70 74 69 6f 6e 73 22 2c 20 22 61 6e 61 6c 79  options", "analy
0c20: 7a 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ze", "1", TCL_GL
0c30: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
0c40: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
0c50: 45 5f 45 4e 41 42 4c 45 5f 41 54 4f 4d 49 43 5f  E_ENABLE_ATOMIC_
0c60: 57 52 49 54 45 0a 20 20 54 63 6c 5f 53 65 74 56  WRITE.  Tcl_SetV
0c70: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
0c80: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 61  ite_options", "a
0c90: 74 6f 6d 69 63 77 72 69 74 65 22 2c 20 22 31 22  tomicwrite", "1"
0ca0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
0cb0: 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f  Y);.#else.  Tcl_
0cc0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0cd0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
0ce0: 2c 20 22 61 74 6f 6d 69 63 77 72 69 74 65 22 2c  , "atomicwrite",
0cf0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
0d00: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
0d10: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
0d20: 49 54 5f 41 54 54 41 43 48 0a 20 20 54 63 6c 5f  IT_ATTACH.  Tcl_
0d30: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
0d40: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
0d50: 2c 20 22 61 74 74 61 63 68 22 2c 20 22 30 22 2c  , "attach", "0",
0d60: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
0d70: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
0d80: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
0d90: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
0da0: 20 22 61 74 74 61 63 68 22 2c 20 22 31 22 2c 20   "attach", "1", 
0db0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0dc0: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
0dd0: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54   SQLITE_OMIT_AUT
0de0: 48 4f 52 49 5a 41 54 49 4f 4e 0a 20 20 54 63 6c  HORIZATION.  Tcl
0df0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0e00: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0e10: 22 2c 20 22 61 75 74 68 22 2c 20 22 30 22 2c 20  ", "auth", "0", 
0e20: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0e30: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
0e40: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0e50: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0e60: 22 61 75 74 68 22 2c 20 22 31 22 2c 20 54 43 4c  "auth", "1", TCL
0e70: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
0e80: 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51  endif..#ifdef SQ
0e90: 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54 4f 49 4e  LITE_OMIT_AUTOIN
0ea0: 43 52 45 4d 45 4e 54 0a 20 20 54 63 6c 5f 53 65  CREMENT.  Tcl_Se
0eb0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0ec0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0ed0: 22 61 75 74 6f 69 6e 63 22 2c 20 22 30 22 2c 20  "autoinc", "0", 
0ee0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
0ef0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
0f00: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0f10: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0f20: 22 61 75 74 6f 69 6e 63 22 2c 20 22 31 22 2c 20  "autoinc", "1", 
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 4f 4d 49 54 5f 41 55 54   SQLITE_OMIT_AUT
0f60: 4f 56 41 43 55 55 4d 0a 20 20 54 63 6c 5f 53 65  OVACUUM.  Tcl_Se
0f70: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
0f80: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
0f90: 22 61 75 74 6f 76 61 63 75 75 6d 22 2c 20 22 30  "autovacuum", "0
0fa0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
0fb0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
0fc0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
0fd0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
0fe0: 22 2c 20 22 61 75 74 6f 76 61 63 75 75 6d 22 2c  ", "autovacuum",
0ff0: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
1000: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 20 2f  _ONLY);.#endif /
1010: 2a 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55  * SQLITE_OMIT_AU
1020: 54 4f 56 41 43 55 55 4d 20 2a 2f 0a 23 69 66 20  TOVACUUM */.#if 
1030: 21 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f  !defined(SQLITE_
1040: 44 45 46 41 55 4c 54 5f 41 55 54 4f 56 41 43 55  DEFAULT_AUTOVACU
1050: 55 4d 29 20 7c 7c 20 53 51 4c 49 54 45 5f 44 45  UM) || SQLITE_DE
1060: 46 41 55 4c 54 5f 41 55 54 4f 56 41 43 55 55 4d  FAULT_AUTOVACUUM
1070: 3d 3d 30 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ==0.  Tcl_SetVar
1080: 32 28 69 6e 74 65 72 70 2c 22 73 71 6c 69 74 65  2(interp,"sqlite
1090: 5f 6f 70 74 69 6f 6e 73 22 2c 22 64 65 66 61 75  _options","defau
10a0: 6c 74 5f 61 75 74 6f 76 61 63 75 75 6d 22 2c 22  lt_autovacuum","
10b0: 30 22 2c 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  0",TCL_GLOBAL_ON
10c0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
10d0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
10e0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
10f0: 2c 22 64 65 66 61 75 6c 74 5f 61 75 74 6f 76 61  ,"default_autova
1100: 63 75 75 6d 22 2c 22 31 22 2c 54 43 4c 5f 47 4c  cuum","1",TCL_GL
1110: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
1120: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
1130: 45 5f 4f 4d 49 54 5f 42 45 54 57 45 45 4e 5f 4f  E_OMIT_BETWEEN_O
1140: 50 54 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63  PTIMIZATION.  Tc
1150: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1160: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1170: 73 22 2c 20 22 62 65 74 77 65 65 6e 5f 6f 70 74  s", "between_opt
1180: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
1190: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a  AL_ONLY);.#else.
11a0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
11b0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
11c0: 74 69 6f 6e 73 22 2c 20 22 62 65 74 77 65 65 6e  tions", "between
11d0: 5f 6f 70 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  _opt", "1", TCL_
11e0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
11f0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
1200: 49 54 45 5f 4f 4d 49 54 5f 42 4c 4f 42 5f 4c 49  ITE_OMIT_BLOB_LI
1210: 54 45 52 41 4c 0a 20 20 54 63 6c 5f 53 65 74 56  TERAL.  Tcl_SetV
1220: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1230: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62  ite_options", "b
1240: 6c 6f 62 6c 69 74 22 2c 20 22 30 22 2c 20 54 43  loblit", "0", TC
1250: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1260: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
1270: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1280: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 62  ite_options", "b
1290: 6c 6f 62 6c 69 74 22 2c 20 22 31 22 2c 20 54 43  loblit", "1", TC
12a0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
12b0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
12c0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 41 53 54 0a  QLITE_OMIT_CAST.
12d0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
12e0: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
12f0: 74 69 6f 6e 73 22 2c 20 22 63 61 73 74 22 2c 20  tions", "cast", 
1300: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
1310: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1320: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1330: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1340: 6e 73 22 2c 20 22 63 61 73 74 22 2c 20 22 31 22  ns", "cast", "1"
1350: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1360: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1370: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43  ef SQLITE_OMIT_C
1380: 48 45 43 4b 0a 20 20 54 63 6c 5f 53 65 74 56 61  HECK.  Tcl_SetVa
1390: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
13a0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 68  te_options", "ch
13b0: 65 63 6b 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  eck", "0", TCL_G
13c0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
13d0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
13e0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
13f0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 68 65 63  _options", "chec
1400: 6b 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f  k", "1", TCL_GLO
1410: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69  BAL_ONLY);.#endi
1420: 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  f..#ifdef SQLITE
1430: 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d  _ENABLE_COLUMN_M
1440: 45 54 41 44 41 54 41 0a 20 20 54 63 6c 5f 53 65  ETADATA.  Tcl_Se
1450: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
1460: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1470: 22 63 6f 6c 75 6d 6e 6d 65 74 61 64 61 74 61 22  "columnmetadata"
1480: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
1490: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
14a0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
14b0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
14c0: 69 6f 6e 73 22 2c 20 22 63 6f 6c 75 6d 6e 6d 65  ions", "columnme
14d0: 74 61 64 61 74 61 22 2c 20 22 30 22 2c 20 54 43  tadata", "0", TC
14e0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
14f0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1500: 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d 50 4c  QLITE_OMIT_COMPL
1510: 45 54 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ETE.  Tcl_SetVar
1520: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1530: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6d  e_options", "com
1540: 70 6c 65 74 65 22 2c 20 22 30 22 2c 20 54 43 4c  plete", "0", TCL
1550: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1560: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1570: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1580: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f  te_options", "co
1590: 6d 70 6c 65 74 65 22 2c 20 22 31 22 2c 20 54 43  mplete", "1", TC
15a0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
15b0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
15c0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d 50 4f  QLITE_OMIT_COMPO
15d0: 55 4e 44 5f 53 45 4c 45 43 54 0a 20 20 54 63 6c  UND_SELECT.  Tcl
15e0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
15f0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1600: 22 2c 20 22 63 6f 6d 70 6f 75 6e 64 22 2c 20 22  ", "compound", "
1610: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1620: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
1630: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1640: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1650: 73 22 2c 20 22 63 6f 6d 70 6f 75 6e 64 22 2c 20  s", "compound", 
1660: 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "1", TCL_GLOBAL_
1670: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
1680: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
1690: 54 5f 43 4f 4e 46 4c 49 43 54 5f 43 4c 41 55 53  T_CONFLICT_CLAUS
16a0: 45 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  E.  Tcl_SetVar2(
16b0: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
16c0: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6e 66 6c  options", "confl
16d0: 69 63 74 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ict", "0", TCL_G
16e0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
16f0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1700: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1710: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 6f 6e 66  _options", "conf
1720: 6c 69 63 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  lict", "1", TCL_
1730: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
1740: 6e 64 69 66 0a 0a 23 69 66 20 4f 53 5f 55 4e 49  ndif..#if OS_UNI
1750: 58 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  X.  Tcl_SetVar2(
1760: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1770: 6f 70 74 69 6f 6e 73 22 2c 20 22 63 72 61 73 68  options", "crash
1780: 74 65 73 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f  test", "1", TCL_
1790: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
17a0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
17b0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
17c0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 63 72 61  e_options", "cra
17d0: 73 68 74 65 73 74 22 2c 20 22 30 22 2c 20 54 43  shtest", "0", TC
17e0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
17f0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1800: 51 4c 49 54 45 5f 4f 4d 49 54 5f 44 41 54 45 54  QLITE_OMIT_DATET
1810: 49 4d 45 5f 46 55 4e 43 53 0a 20 20 54 63 6c 5f  IME_FUNCS.  Tcl_
1820: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
1830: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
1840: 2c 20 22 64 61 74 65 74 69 6d 65 22 2c 20 22 30  , "datetime", "0
1850: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1860: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
1870: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
1880: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
1890: 22 2c 20 22 64 61 74 65 74 69 6d 65 22 2c 20 22  ", "datetime", "
18a0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
18b0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
18c0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
18d0: 5f 44 49 53 4b 49 4f 0a 20 20 54 63 6c 5f 53 65  _DISKIO.  Tcl_Se
18e0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
18f0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
1900: 22 64 69 73 6b 69 6f 22 2c 20 22 30 22 2c 20 54  "diskio", "0", T
1910: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1920: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1930: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1940: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1950: 64 69 73 6b 69 6f 22 2c 20 22 31 22 2c 20 54 43  diskio", "1", TC
1960: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1970: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1980: 51 4c 49 54 45 5f 4f 4d 49 54 5f 45 58 50 4c 41  QLITE_OMIT_EXPLA
1990: 49 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  IN.  Tcl_SetVar2
19a0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
19b0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 65 78 70 6c  _options", "expl
19c0: 61 69 6e 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ain", "0", TCL_G
19d0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
19e0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
19f0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1a00: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 65 78 70 6c  _options", "expl
1a10: 61 69 6e 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ain", "1", TCL_G
1a20: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1a30: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1a40: 54 45 5f 4f 4d 49 54 5f 46 4c 4f 41 54 49 4e 47  TE_OMIT_FLOATING
1a50: 5f 50 4f 49 4e 54 0a 20 20 54 63 6c 5f 53 65 74  _POINT.  Tcl_Set
1a60: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1a70: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1a80: 66 6c 6f 61 74 69 6e 67 70 6f 69 6e 74 22 2c 20  floatingpoint", 
1a90: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
1aa0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1ab0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1ac0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
1ad0: 6e 73 22 2c 20 22 66 6c 6f 61 74 69 6e 67 70 6f  ns", "floatingpo
1ae0: 69 6e 74 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  int", "1", TCL_G
1af0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
1b00: 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49  dif..#ifdef SQLI
1b10: 54 45 5f 4f 4d 49 54 5f 46 4f 52 45 49 47 4e 5f  TE_OMIT_FOREIGN_
1b20: 4b 45 59 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  KEY.  Tcl_SetVar
1b30: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
1b40: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 6f 72  e_options", "for
1b50: 65 69 67 6e 6b 65 79 22 2c 20 22 30 22 2c 20 54  eignkey", "0", T
1b60: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
1b70: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
1b80: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
1b90: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
1ba0: 66 6f 72 65 69 67 6e 6b 65 79 22 2c 20 22 31 22  foreignkey", "1"
1bb0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
1bc0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
1bd0: 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  ef SQLITE_ENABLE
1be0: 5f 46 54 53 31 0a 20 20 54 63 6c 5f 53 65 74 56  _FTS1.  Tcl_SetV
1bf0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1c00: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66  ite_options", "f
1c10: 74 73 31 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ts1", "1", TCL_G
1c20: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
1c30: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
1c40: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
1c50: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 31  _options", "fts1
1c60: 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "0", TCL_GLOB
1c70: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
1c80: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
1c90: 45 4e 41 42 4c 45 5f 46 54 53 32 0a 20 20 54 63  ENABLE_FTS2.  Tc
1ca0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1cb0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1cc0: 73 22 2c 20 22 66 74 73 32 22 2c 20 22 31 22 2c  s", "fts2", "1",
1cd0: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
1ce0: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
1cf0: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
1d00: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
1d10: 20 22 66 74 73 32 22 2c 20 22 30 22 2c 20 54 43   "fts2", "0", TC
1d20: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
1d30: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
1d40: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53  QLITE_ENABLE_FTS
1d50: 33 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  3.  Tcl_SetVar2(
1d60: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1d70: 6f 70 74 69 6f 6e 73 22 2c 20 22 66 74 73 33 22  options", "fts3"
1d80: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
1d90: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
1da0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1db0: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1dc0: 69 6f 6e 73 22 2c 20 22 66 74 73 33 22 2c 20 22  ions", "fts3", "
1dd0: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
1de0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
1df0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
1e00: 5f 47 4c 4f 42 41 4c 52 45 43 4f 56 45 52 0a 20  _GLOBALRECOVER. 
1e10: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
1e20: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
1e30: 69 6f 6e 73 22 2c 20 22 67 6c 6f 62 61 6c 72 65  ions", "globalre
1e40: 63 6f 76 65 72 22 2c 20 22 30 22 2c 20 54 43 4c  cover", "0", TCL
1e50: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
1e60: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
1e70: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
1e80: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 67 6c  te_options", "gl
1e90: 6f 62 61 6c 72 65 63 6f 76 65 72 22 2c 20 22 31  obalrecover", "1
1ea0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
1eb0: 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66  LY);.#endif..#if
1ec0: 64 65 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  def SQLITE_ENABL
1ed0: 45 5f 49 43 55 0a 20 20 54 63 6c 5f 53 65 74 56  E_ICU.  Tcl_SetV
1ee0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
1ef0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69  ite_options", "i
1f00: 63 75 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  cu", "1", TCL_GL
1f10: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
1f20: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
1f30: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
1f40: 6f 70 74 69 6f 6e 73 22 2c 20 22 69 63 75 22 2c  options", "icu",
1f50: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
1f60: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
1f70: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
1f80: 49 54 5f 49 4e 43 52 42 4c 4f 42 0a 20 20 54 63  IT_INCRBLOB.  Tc
1f90: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
1fa0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
1fb0: 73 22 2c 20 22 69 6e 63 72 62 6c 6f 62 22 2c 20  s", "incrblob", 
1fc0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
1fd0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
1fe0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
1ff0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2000: 6e 73 22 2c 20 22 69 6e 63 72 62 6c 6f 62 22 2c  ns", "incrblob",
2010: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2020: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 20 2f  _ONLY);.#endif /
2030: 2a 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55  * SQLITE_OMIT_AU
2040: 54 4f 56 41 43 55 55 4d 20 2a 2f 0a 0a 23 69 66  TOVACUUM */..#if
2050: 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  def SQLITE_OMIT_
2060: 49 4e 54 45 47 52 49 54 59 5f 43 48 45 43 4b 0a  INTEGRITY_CHECK.
2070: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2080: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2090: 74 69 6f 6e 73 22 2c 20 22 69 6e 74 65 67 72 69  tions", "integri
20a0: 74 79 63 6b 22 2c 20 22 30 22 2c 20 54 43 4c 5f  tyck", "0", TCL_
20b0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
20c0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
20d0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
20e0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 74  e_options", "int
20f0: 65 67 72 69 74 79 63 6b 22 2c 20 22 31 22 2c 20  egrityck", "1", 
2100: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
2110: 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65  ;.#endif..#if de
2120: 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 44 45 46  fined(SQLITE_DEF
2130: 41 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54  AULT_FILE_FORMAT
2140: 29 20 26 26 20 53 51 4c 49 54 45 5f 44 45 46 41  ) && SQLITE_DEFA
2150: 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54 3d  ULT_FILE_FORMAT=
2160: 3d 31 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  =1.  Tcl_SetVar2
2170: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2180: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 65 67 61  _options", "lega
2190: 63 79 66 6f 72 6d 61 74 22 2c 20 22 31 22 2c 20  cyformat", "1", 
21a0: 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29  TCL_GLOBAL_ONLY)
21b0: 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65  ;.#else.  Tcl_Se
21c0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
21d0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
21e0: 22 6c 65 67 61 63 79 66 6f 72 6d 61 74 22 2c 20  "legacyformat", 
21f0: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
2200: 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23  ONLY);.#endif..#
2210: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49  ifdef SQLITE_OMI
2220: 54 5f 4c 49 4b 45 5f 4f 50 54 49 4d 49 5a 41 54  T_LIKE_OPTIMIZAT
2230: 49 4f 4e 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  ION.  Tcl_SetVar
2240: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
2250: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 69 6b  e_options", "lik
2260: 65 5f 6f 70 74 22 2c 20 22 30 22 2c 20 54 43 4c  e_opt", "0", TCL
2270: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2280: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2290: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
22a0: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6c 69  te_options", "li
22b0: 6b 65 5f 6f 70 74 22 2c 20 22 31 22 2c 20 54 43  ke_opt", "1", TC
22c0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
22d0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
22e0: 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 4f 41 44 5f  QLITE_OMIT_LOAD_
22f0: 45 58 54 45 4e 53 49 4f 4e 0a 20 20 54 63 6c 5f  EXTENSION.  Tcl_
2300: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2310: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2320: 2c 20 22 6c 6f 61 64 5f 65 78 74 22 2c 20 22 30  , "load_ext", "0
2330: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2340: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2350: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2360: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2370: 22 2c 20 22 6c 6f 61 64 5f 65 78 74 22 2c 20 22  ", "load_ext", "
2380: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2390: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 54 63  NLY);.#endif..Tc
23a0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
23b0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
23c0: 73 22 2c 20 22 6c 6f 6e 67 5f 64 6f 75 62 6c 65  s", "long_double
23d0: 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ",.             
23e0: 20 73 69 7a 65 6f 66 28 4c 4f 4e 47 44 4f 55 42   sizeof(LONGDOUB
23f0: 4c 45 5f 54 59 50 45 29 3e 73 69 7a 65 6f 66 28  LE_TYPE)>sizeof(
2400: 64 6f 75 62 6c 65 29 20 3f 20 22 31 22 20 3a 20  double) ? "1" : 
2410: 22 30 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20  "0",.           
2420: 20 20 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e     TCL_GLOBAL_ON
2430: 4c 59 29 3b 0a 0a 23 69 66 64 65 66 20 53 51 4c  LY);..#ifdef SQL
2440: 49 54 45 5f 4f 4d 49 54 5f 4d 45 4d 4f 52 59 44  ITE_OMIT_MEMORYD
2450: 42 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  B.  Tcl_SetVar2(
2460: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2470: 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72  options", "memor
2480: 79 64 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ydb", "0", TCL_G
2490: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
24a0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
24b0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
24c0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f  _options", "memo
24d0: 72 79 64 62 22 2c 20 22 31 22 2c 20 54 43 4c 5f  rydb", "1", TCL_
24e0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
24f0: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2500: 49 54 45 5f 45 4e 41 42 4c 45 5f 4d 45 4d 4f 52  ITE_ENABLE_MEMOR
2510: 59 5f 4d 41 4e 41 47 45 4d 45 4e 54 0a 20 20 54  Y_MANAGEMENT.  T
2520: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2530: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2540: 6e 73 22 2c 20 22 6d 65 6d 6f 72 79 6d 61 6e 61  ns", "memorymana
2550: 67 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c  ge", "1", TCL_GL
2560: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73  OBAL_ONLY);.#els
2570: 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  e.  Tcl_SetVar2(
2580: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2590: 6f 70 74 69 6f 6e 73 22 2c 20 22 6d 65 6d 6f 72  options", "memor
25a0: 79 6d 61 6e 61 67 65 22 2c 20 22 30 22 2c 20 54  ymanage", "0", T
25b0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
25c0: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20  .#endif..#ifdef 
25d0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4f 52 5f 4f  SQLITE_OMIT_OR_O
25e0: 50 54 49 4d 49 5a 41 54 49 4f 4e 0a 20 20 54 63  PTIMIZATION.  Tc
25f0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2600: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2610: 73 22 2c 20 22 6f 72 5f 6f 70 74 22 2c 20 22 30  s", "or_opt", "0
2620: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2630: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2640: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
2650: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
2660: 22 2c 20 22 6f 72 5f 6f 70 74 22 2c 20 22 31 22  ", "or_opt", "1"
2670: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
2680: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
2690: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50  ef SQLITE_OMIT_P
26a0: 41 47 45 52 5f 50 52 41 47 4d 41 53 0a 20 20 54  AGER_PRAGMAS.  T
26b0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
26c0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
26d0: 6e 73 22 2c 20 22 70 61 67 65 72 5f 70 72 61 67  ns", "pager_prag
26e0: 6d 61 73 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  mas", "0", TCL_G
26f0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
2700: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
2710: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2720: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61 67 65  _options", "page
2730: 72 5f 70 72 61 67 6d 61 73 22 2c 20 22 31 22 2c  r_pragmas", "1",
2740: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
2750: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
2760: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50 41  f SQLITE_OMIT_PA
2770: 52 53 45 52 0a 20 20 54 63 6c 5f 53 65 74 56 61  RSER.  Tcl_SetVa
2780: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2790: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61  te_options", "pa
27a0: 72 73 65 72 22 2c 20 22 30 22 2c 20 54 43 4c 5f  rser", "0", TCL_
27b0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
27c0: 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72  lse.  Tcl_SetVar
27d0: 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74  2(interp, "sqlit
27e0: 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 70 61 72  e_options", "par
27f0: 73 65 72 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47  ser", "1", TCL_G
2800: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e  LOBAL_ONLY);.#en
2810: 64 69 66 0a 0a 23 69 66 20 64 65 66 69 6e 65 64  dif..#if defined
2820: 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50 52 41  (SQLITE_OMIT_PRA
2830: 47 4d 41 29 20 7c 7c 20 64 65 66 69 6e 65 64 28  GMA) || defined(
2840: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 46 4c 41 47  SQLITE_OMIT_FLAG
2850: 5f 50 52 41 47 4d 41 53 29 0a 20 20 54 63 6c 5f  _PRAGMAS).  Tcl_
2860: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2870: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2880: 2c 20 22 70 72 61 67 6d 61 22 2c 20 22 30 22 2c  , "pragma", "0",
2890: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
28a0: 29 3b 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  );.  Tcl_SetVar2
28b0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
28c0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 69 6e 74 65  _options", "inte
28d0: 67 72 69 74 79 63 6b 22 2c 20 22 30 22 2c 20 54  grityck", "0", T
28e0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
28f0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2900: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2910: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2920: 70 72 61 67 6d 61 22 2c 20 22 31 22 2c 20 54 43  pragma", "1", TC
2930: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
2940: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
2950: 51 4c 49 54 45 5f 4f 4d 49 54 5f 50 52 4f 47 52  QLITE_OMIT_PROGR
2960: 45 53 53 5f 43 41 4c 4c 42 41 43 4b 0a 20 20 54  ESS_CALLBACK.  T
2970: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2980: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2990: 6e 73 22 2c 20 22 70 72 6f 67 72 65 73 73 22 2c  ns", "progress",
29a0: 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "0", TCL_GLOBAL
29b0: 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20  _ONLY);.#else.  
29c0: 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65  Tcl_SetVar2(inte
29d0: 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69  rp, "sqlite_opti
29e0: 6f 6e 73 22 2c 20 22 70 72 6f 67 72 65 73 73 22  ons", "progress"
29f0: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
2a00: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a  L_ONLY);.#endif.
2a10: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f  .#ifdef SQLITE_O
2a20: 4d 49 54 5f 52 45 49 4e 44 45 58 0a 20 20 54 63  MIT_REINDEX.  Tc
2a30: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2a40: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2a50: 73 22 2c 20 22 72 65 69 6e 64 65 78 22 2c 20 22  s", "reindex", "
2a60: 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  0", TCL_GLOBAL_O
2a70: 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63  NLY);.#else.  Tc
2a80: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2a90: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2aa0: 73 22 2c 20 22 72 65 69 6e 64 65 78 22 2c 20 22  s", "reindex", "
2ab0: 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f  1", TCL_GLOBAL_O
2ac0: 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69  NLY);.#endif..#i
2ad0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  fdef SQLITE_OMIT
2ae0: 5f 53 43 48 45 4d 41 5f 50 52 41 47 4d 41 53 0a  _SCHEMA_PRAGMAS.
2af0: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
2b00: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
2b10: 74 69 6f 6e 73 22 2c 20 22 73 63 68 65 6d 61 5f  tions", "schema_
2b20: 70 72 61 67 6d 61 73 22 2c 20 22 30 22 2c 20 54  pragmas", "0", T
2b30: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
2b40: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
2b50: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
2b60: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
2b70: 73 63 68 65 6d 61 5f 70 72 61 67 6d 61 73 22 2c  schema_pragmas",
2b80: 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c   "1", TCL_GLOBAL
2b90: 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66 0a 0a  _ONLY);.#endif..
2ba0: 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4f 4d  #ifdef SQLITE_OM
2bb0: 49 54 5f 53 43 48 45 4d 41 5f 56 45 52 53 49 4f  IT_SCHEMA_VERSIO
2bc0: 4e 5f 50 52 41 47 4d 41 53 0a 20 20 54 63 6c 5f  N_PRAGMAS.  Tcl_
2bd0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2be0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2bf0: 2c 20 22 73 63 68 65 6d 61 5f 76 65 72 73 69 6f  , "schema_versio
2c00: 6e 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  n", "0", TCL_GLO
2c10: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
2c20: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
2c30: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
2c40: 70 74 69 6f 6e 73 22 2c 20 22 73 63 68 65 6d 61  ptions", "schema
2c50: 5f 76 65 72 73 69 6f 6e 22 2c 20 22 31 22 2c 20  _version", "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 6e 64 69 66 0a 0a 23 69 66 64 65 66  ;.#endif..#ifdef
2c80: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 48 41   SQLITE_OMIT_SHA
2c90: 52 45 44 5f 43 41 43 48 45 0a 20 20 54 63 6c 5f  RED_CACHE.  Tcl_
2ca0: 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20  SetVar2(interp, 
2cb0: 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22  "sqlite_options"
2cc0: 2c 20 22 73 68 61 72 65 64 5f 63 61 63 68 65 22  , "shared_cache"
2cd0: 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "0", TCL_GLOBA
2ce0: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
2cf0: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2d00: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2d10: 69 6f 6e 73 22 2c 20 22 73 68 61 72 65 64 5f 63  ions", "shared_c
2d20: 61 63 68 65 22 2c 20 22 31 22 2c 20 54 43 4c 5f  ache", "1", TCL_
2d30: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2d40: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2d50: 49 54 45 5f 4f 4d 49 54 5f 53 55 42 51 55 45 52  ITE_OMIT_SUBQUER
2d60: 59 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  Y.  Tcl_SetVar2(
2d70: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
2d80: 6f 70 74 69 6f 6e 73 22 2c 20 22 73 75 62 71 75  options", "subqu
2d90: 65 72 79 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47  ery", "0", TCL_G
2da0: 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c  LOBAL_ONLY);.#el
2db0: 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32  se.  Tcl_SetVar2
2dc0: 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65  (interp, "sqlite
2dd0: 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 73 75 62 71  _options", "subq
2de0: 75 65 72 79 22 2c 20 22 31 22 2c 20 54 43 4c 5f  uery", "1", TCL_
2df0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2e00: 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c  ndif..#ifdef SQL
2e10: 49 54 45 5f 4f 4d 49 54 5f 54 43 4c 5f 56 41 52  ITE_OMIT_TCL_VAR
2e20: 49 41 42 4c 45 0a 20 20 54 63 6c 5f 53 65 74 56  IABLE.  Tcl_SetV
2e30: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
2e40: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74  ite_options", "t
2e50: 63 6c 76 61 72 22 2c 20 22 30 22 2c 20 54 43 4c  clvar", "0", TCL
2e60: 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23  _GLOBAL_ONLY);.#
2e70: 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56 61  else.  Tcl_SetVa
2e80: 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c 69  r2(interp, "sqli
2e90: 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74 63  te_options", "tc
2ea0: 6c 76 61 72 22 2c 20 22 31 22 2c 20 54 43 4c 5f  lvar", "1", TCL_
2eb0: 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65  GLOBAL_ONLY);.#e
2ec0: 6e 64 69 66 0a 0a 23 69 66 20 53 51 4c 49 54 45  ndif..#if SQLITE
2ed0: 5f 54 48 52 45 41 44 53 41 46 45 0a 20 20 54 63  _THREADSAFE.  Tc
2ee0: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
2ef0: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
2f00: 73 22 2c 20 22 74 68 72 65 61 64 73 61 66 65 22  s", "threadsafe"
2f10: 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42 41  , "1", TCL_GLOBA
2f20: 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20  L_ONLY);.#else. 
2f30: 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74   Tcl_SetVar2(int
2f40: 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74  erp, "sqlite_opt
2f50: 69 6f 6e 73 22 2c 20 22 74 68 72 65 61 64 73 61  ions", "threadsa
2f60: 66 65 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c  fe", "0", TCL_GL
2f70: 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64  OBAL_ONLY);.#end
2f80: 69 66 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54  if..#ifdef SQLIT
2f90: 45 5f 4f 4d 49 54 5f 54 52 41 43 45 0a 20 20 54  E_OMIT_TRACE.  T
2fa0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
2fb0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
2fc0: 6e 73 22 2c 20 22 74 72 61 63 65 22 2c 20 22 30  ns", "trace", "0
2fd0: 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e  ", TCL_GLOBAL_ON
2fe0: 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c  LY);.#else.  Tcl
2ff0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
3000: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
3010: 22 2c 20 22 74 72 61 63 65 22 2c 20 22 31 22 2c  ", "trace", "1",
3020: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3030: 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64 65  );.#endif..#ifde
3040: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 52  f SQLITE_OMIT_TR
3050: 49 47 47 45 52 0a 20 20 54 63 6c 5f 53 65 74 56  IGGER.  Tcl_SetV
3060: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
3070: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74  ite_options", "t
3080: 72 69 67 67 65 72 22 2c 20 22 30 22 2c 20 54 43  rigger", "0", TC
3090: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
30a0: 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74 56  #else.  Tcl_SetV
30b0: 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71 6c  ar2(interp, "sql
30c0: 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22 74  ite_options", "t
30d0: 72 69 67 67 65 72 22 2c 20 22 31 22 2c 20 54 43  rigger", "1", TC
30e0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
30f0: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
3100: 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 45 4d 50 44  QLITE_OMIT_TEMPD
3110: 42 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28  B.  Tcl_SetVar2(
3120: 69 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f  interp, "sqlite_
3130: 6f 70 74 69 6f 6e 73 22 2c 20 22 74 65 6d 70 64  options", "tempd
3140: 62 22 2c 20 22 30 22 2c 20 54 43 4c 5f 47 4c 4f  b", "0", TCL_GLO
3150: 42 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65  BAL_ONLY);.#else
3160: 0a 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69  .  Tcl_SetVar2(i
3170: 6e 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f  nterp, "sqlite_o
3180: 70 74 69 6f 6e 73 22 2c 20 22 74 65 6d 70 64 62  ptions", "tempdb
3190: 22 2c 20 22 31 22 2c 20 54 43 4c 5f 47 4c 4f 42  ", "1", TCL_GLOB
31a0: 41 4c 5f 4f 4e 4c 59 29 3b 0a 23 65 6e 64 69 66  AL_ONLY);.#endif
31b0: 0a 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  ..#ifdef SQLITE_
31c0: 4f 4d 49 54 5f 55 54 46 31 36 0a 20 20 54 63 6c  OMIT_UTF16.  Tcl
31d0: 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c  _SetVar2(interp,
31e0: 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73   "sqlite_options
31f0: 22 2c 20 22 75 74 66 31 36 22 2c 20 22 30 22 2c  ", "utf16", "0",
3200: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3210: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3220: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3230: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3240: 20 22 75 74 66 31 36 22 2c 20 22 31 22 2c 20 54   "utf16", "1", T
3250: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
3260: 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 64 65 66  .#endif..#if def
3270: 69 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54  ined(SQLITE_OMIT
3280: 5f 56 41 43 55 55 4d 29 20 7c 7c 20 64 65 66 69  _VACUUM) || defi
3290: 6e 65 64 28 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  ned(SQLITE_OMIT_
32a0: 41 54 54 41 43 48 29 0a 20 20 54 63 6c 5f 53 65  ATTACH).  Tcl_Se
32b0: 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73  tVar2(interp, "s
32c0: 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20  qlite_options", 
32d0: 22 76 61 63 75 75 6d 22 2c 20 22 30 22 2c 20 54  "vacuum", "0", T
32e0: 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b  CL_GLOBAL_ONLY);
32f0: 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53 65 74  .#else.  Tcl_Set
3300: 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22 73 71  Var2(interp, "sq
3310: 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c 20 22  lite_options", "
3320: 76 61 63 75 75 6d 22 2c 20 22 31 22 2c 20 54 43  vacuum", "1", TC
3330: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
3340: 23 65 6e 64 69 66 0a 0a 23 69 66 64 65 66 20 53  #endif..#ifdef S
3350: 51 4c 49 54 45 5f 4f 4d 49 54 5f 56 49 45 57 0a  QLITE_OMIT_VIEW.
3360: 20 20 54 63 6c 5f 53 65 74 56 61 72 32 28 69 6e    Tcl_SetVar2(in
3370: 74 65 72 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70  terp, "sqlite_op
3380: 74 69 6f 6e 73 22 2c 20 22 76 69 65 77 22 2c 20  tions", "view", 
3390: 22 30 22 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f  "0", TCL_GLOBAL_
33a0: 4f 4e 4c 59 29 3b 0a 23 65 6c 73 65 0a 20 20 54  ONLY);.#else.  T
33b0: 63 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72  cl_SetVar2(inter
33c0: 70 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f  p, "sqlite_optio
33d0: 6e 73 22 2c 20 22 76 69 65 77 22 2c 20 22 31 22  ns", "view", "1"
33e0: 2c 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c  , TCL_GLOBAL_ONL
33f0: 59 29 3b 0a 23 65 6e 64 69 66 0a 0a 23 69 66 64  Y);.#endif..#ifd
3400: 65 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 56  ef SQLITE_OMIT_V
3410: 49 52 54 55 41 4c 54 41 42 4c 45 0a 20 20 54 63  IRTUALTABLE.  Tc
3420: 6c 5f 53 65 74 56 61 72 32 28 69 6e 74 65 72 70  l_SetVar2(interp
3430: 2c 20 22 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e  , "sqlite_option
3440: 73 22 2c 20 22 76 74 61 62 22 2c 20 22 30 22 2c  s", "vtab", "0",
3450: 20 54 43 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59   TCL_GLOBAL_ONLY
3460: 29 3b 0a 23 65 6c 73 65 0a 20 20 54 63 6c 5f 53  );.#else.  Tcl_S
3470: 65 74 56 61 72 32 28 69 6e 74 65 72 70 2c 20 22  etVar2(interp, "
3480: 73 71 6c 69 74 65 5f 6f 70 74 69 6f 6e 73 22 2c  sqlite_options",
3490: 20 22 76 74 61 62 22 2c 20 22 31 22 2c 20 54 43   "vtab", "1", TC
34a0: 4c 5f 47 4c 4f 42 41 4c 5f 4f 4e 4c 59 29 3b 0a  L_GLOBAL_ONLY);.
34b0: 23 65 6e 64 69 66 0a 0a 23 64 65 66 69 6e 65 20  #endif..#define 
34c0: 4c 49 4e 4b 56 41 52 28 78 29 20 5c 0a 20 20 20  LINKVAR(x) \.   
34d0: 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74   Tcl_LinkVar(int
34e0: 65 72 70 2c 20 22 53 51 4c 49 54 45 5f 22 20 23  erp, "SQLITE_" #
34f0: 78 2c 20 28 63 68 61 72 20 2a 29 26 28 73 71 6c  x, (char *)&(sql
3500: 69 74 65 33 20 23 23 20 78 29 2c 20 54 43 4c 5f  ite3 ## x), TCL_
3510: 4c 49 4e 4b 5f 49 4e 54 29 0a 0a 20 20 4c 49 4e  LINK_INT)..  LIN
3520: 4b 56 41 52 28 20 4d 41 58 5f 4c 45 4e 47 54 48  KVAR( MAX_LENGTH
3530: 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d   );.  LINKVAR( M
3540: 41 58 5f 43 4f 4c 55 4d 4e 20 29 3b 0a 20 20 4c  AX_COLUMN );.  L
3550: 49 4e 4b 56 41 52 28 20 4d 41 58 5f 53 51 4c 5f  INKVAR( MAX_SQL_
3560: 4c 45 4e 47 54 48 20 29 3b 0a 20 20 4c 49 4e 4b  LENGTH );.  LINK
3570: 56 41 52 28 20 4d 41 58 5f 45 58 50 52 5f 44 45  VAR( MAX_EXPR_DE
3580: 50 54 48 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52  PTH );.  LINKVAR
3590: 28 20 4d 41 58 5f 43 4f 4d 50 4f 55 4e 44 5f 53  ( MAX_COMPOUND_S
35a0: 45 4c 45 43 54 20 29 3b 0a 20 20 4c 49 4e 4b 56  ELECT );.  LINKV
35b0: 41 52 28 20 4d 41 58 5f 56 44 42 45 5f 4f 50 20  AR( MAX_VDBE_OP 
35c0: 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41  );.  LINKVAR( MA
35d0: 58 5f 46 55 4e 43 54 49 4f 4e 5f 41 52 47 20 29  X_FUNCTION_ARG )
35e0: 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58  ;.  LINKVAR( MAX
35f0: 5f 56 41 52 49 41 42 4c 45 5f 4e 55 4d 42 45 52  _VARIABLE_NUMBER
3600: 20 29 3b 0a 20 20 4c 49 4e 4b 56 41 52 28 20 4d   );.  LINKVAR( M
3610: 41 58 5f 50 41 47 45 5f 53 49 5a 45 20 29 3b 0a  AX_PAGE_SIZE );.
3620: 20 20 4c 49 4e 4b 56 41 52 28 20 4d 41 58 5f 50    LINKVAR( MAX_P
3630: 41 47 45 5f 43 4f 55 4e 54 20 29 3b 0a 20 20 4c  AGE_COUNT );.  L
3640: 49 4e 4b 56 41 52 28 20 4d 41 58 5f 4c 49 4b 45  INKVAR( MAX_LIKE
3650: 5f 50 41 54 54 45 52 4e 5f 4c 45 4e 47 54 48 20  _PATTERN_LENGTH 
3660: 29 3b 0a 0a 20 20 7b 0a 20 20 20 20 73 74 61 74  );..  {.    stat
3670: 69 63 20 69 6e 74 20 73 71 6c 69 74 65 5f 64 65  ic int sqlite_de
3680: 66 61 75 6c 74 5f 74 65 6d 70 5f 63 61 63 68 65  fault_temp_cache
3690: 5f 73 69 7a 65 20 3d 20 53 51 4c 49 54 45 5f 44  _size = SQLITE_D
36a0: 45 46 41 55 4c 54 5f 54 45 4d 50 5f 43 41 43 48  EFAULT_TEMP_CACH
36b0: 45 5f 53 49 5a 45 3b 0a 20 20 20 20 54 63 6c 5f  E_SIZE;.    Tcl_
36c0: 4c 69 6e 6b 56 61 72 28 69 6e 74 65 72 70 2c 20  LinkVar(interp, 
36d0: 22 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f  "SQLITE_DEFAULT_
36e0: 54 45 4d 50 5f 43 41 43 48 45 5f 53 49 5a 45 22  TEMP_CACHE_SIZE"
36f0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 68  ,.           (ch
3700: 61 72 2a 29 26 73 71 6c 69 74 65 5f 64 65 66 61  ar*)&sqlite_defa
3710: 75 6c 74 5f 74 65 6d 70 5f 63 61 63 68 65 5f 73  ult_temp_cache_s
3720: 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20  ize,.           
3730: 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 7c 54 43 4c  TCL_LINK_INT|TCL
3740: 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c 59 29  _LINK_READ_ONLY)
3750: 3b 0a 20 20 7d 0a 20 20 7b 0a 20 20 20 20 73 74  ;.  }.  {.    st
3760: 61 74 69 63 20 69 6e 74 20 73 71 6c 69 74 65 5f  atic int sqlite_
3770: 64 65 66 61 75 6c 74 5f 63 61 63 68 65 5f 73 69  default_cache_si
3780: 7a 65 20 3d 20 53 51 4c 49 54 45 5f 44 45 46 41  ze = SQLITE_DEFA
3790: 55 4c 54 5f 43 41 43 48 45 5f 53 49 5a 45 3b 0a  ULT_CACHE_SIZE;.
37a0: 20 20 20 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 28      Tcl_LinkVar(
37b0: 69 6e 74 65 72 70 2c 20 22 53 51 4c 49 54 45 5f  interp, "SQLITE_
37c0: 44 45 46 41 55 4c 54 5f 43 41 43 48 45 5f 53 49  DEFAULT_CACHE_SI
37d0: 5a 45 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20  ZE",.           
37e0: 28 63 68 61 72 2a 29 26 73 71 6c 69 74 65 5f 64  (char*)&sqlite_d
37f0: 65 66 61 75 6c 74 5f 63 61 63 68 65 5f 73 69 7a  efault_cache_siz
3800: 65 2c 20 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 7c  e, TCL_LINK_INT|
3810: 54 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e  TCL_LINK_READ_ON
3820: 4c 59 29 3b 0a 20 20 7d 0a 20 20 7b 0a 20 20 20  LY);.  }.  {.   
3830: 20 73 74 61 74 69 63 20 69 6e 74 20 73 71 6c 69   static int sqli
3840: 74 65 5f 64 65 66 61 75 6c 74 5f 70 61 67 65 5f  te_default_page_
3850: 73 69 7a 65 20 3d 20 53 51 4c 49 54 45 5f 44 45  size = SQLITE_DE
3860: 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3b  FAULT_PAGE_SIZE;
3870: 0a 20 20 20 20 54 63 6c 5f 4c 69 6e 6b 56 61 72  .    Tcl_LinkVar
3880: 28 69 6e 74 65 72 70 2c 20 22 53 51 4c 49 54 45  (interp, "SQLITE
3890: 5f 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49  _DEFAULT_PAGE_SI
38a0: 5a 45 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20  ZE",.           
38b0: 28 63 68 61 72 2a 29 26 73 71 6c 69 74 65 5f 64  (char*)&sqlite_d
38c0: 65 66 61 75 6c 74 5f 70 61 67 65 5f 73 69 7a 65  efault_page_size
38d0: 2c 20 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 7c 54  , TCL_LINK_INT|T
38e0: 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c  CL_LINK_READ_ONL
38f0: 59 29 3b 0a 20 20 7d 0a 20 20 7b 0a 20 20 20 20  Y);.  }.  {.    
3900: 73 74 61 74 69 63 20 69 6e 74 20 74 65 6d 70 5f  static int temp_
3910: 73 74 6f 72 65 20 3d 20 54 45 4d 50 5f 53 54 4f  store = TEMP_STO
3920: 52 45 3b 0a 20 20 20 20 54 63 6c 5f 4c 69 6e 6b  RE;.    Tcl_Link
3930: 56 61 72 28 69 6e 74 65 72 70 2c 20 22 54 45 4d  Var(interp, "TEM
3940: 50 5f 53 54 4f 52 45 22 2c 0a 20 20 20 20 20 20  P_STORE",.      
3950: 20 20 20 20 20 28 63 68 61 72 2a 29 26 74 65 6d       (char*)&tem
3960: 70 5f 73 74 6f 72 65 2c 20 54 43 4c 5f 4c 49 4e  p_store, TCL_LIN
3970: 4b 5f 49 4e 54 7c 54 43 4c 5f 4c 49 4e 4b 5f 52  K_INT|TCL_LINK_R
3980: 45 41 44 5f 4f 4e 4c 59 29 3b 0a 20 20 7d 0a 20  EAD_ONLY);.  }. 
3990: 20 7b 0a 20 20 20 20 73 74 61 74 69 63 20 69 6e   {.    static in
39a0: 74 20 73 71 6c 69 74 65 5f 64 65 66 61 75 6c 74  t sqlite_default
39b0: 5f 66 69 6c 65 5f 66 6f 72 6d 61 74 20 3d 20 53  _file_format = S
39c0: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46 49  QLITE_DEFAULT_FI
39d0: 4c 45 5f 46 4f 52 4d 41 54 3b 0a 20 20 20 20 54  LE_FORMAT;.    T
39e0: 63 6c 5f 4c 69 6e 6b 56 61 72 28 69 6e 74 65 72  cl_LinkVar(inter
39f0: 70 2c 20 22 53 51 4c 49 54 45 5f 44 45 46 41 55  p, "SQLITE_DEFAU
3a00: 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54 22 2c  LT_FILE_FORMAT",
3a10: 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 68 61  .           (cha
3a20: 72 2a 29 26 73 71 6c 69 74 65 5f 64 65 66 61 75  r*)&sqlite_defau
3a30: 6c 74 5f 66 69 6c 65 5f 66 6f 72 6d 61 74 2c 20  lt_file_format, 
3a40: 54 43 4c 5f 4c 49 4e 4b 5f 49 4e 54 7c 54 43 4c  TCL_LINK_INT|TCL
3a50: 5f 4c 49 4e 4b 5f 52 45 41 44 5f 4f 4e 4c 59 29  _LINK_READ_ONLY)
3a60: 3b 0a 20 20 7d 0a 20 20 7b 0a 20 20 20 20 73 74  ;.  }.  {.    st
3a70: 61 74 69 63 20 69 6e 74 20 73 71 6c 69 74 65 5f  atic int sqlite_
3a80: 6d 61 78 5f 61 74 74 61 63 68 65 64 20 3d 20 53  max_attached = S
3a90: 51 4c 49 54 45 5f 4d 41 58 5f 41 54 54 41 43 48  QLITE_MAX_ATTACH
3aa0: 45 44 3b 0a 20 20 20 20 54 63 6c 5f 4c 69 6e 6b  ED;.    Tcl_Link
3ab0: 56 61 72 28 69 6e 74 65 72 70 2c 20 22 53 51 4c  Var(interp, "SQL
3ac0: 49 54 45 5f 4d 41 58 5f 41 54 54 41 43 48 45 44  ITE_MAX_ATTACHED
3ad0: 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 28 63  ",.           (c
3ae0: 68 61 72 2a 29 26 73 71 6c 69 74 65 5f 6d 61 78  har*)&sqlite_max
3af0: 5f 61 74 74 61 63 68 65 64 2c 20 54 43 4c 5f 4c  _attached, TCL_L
3b00: 49 4e 4b 5f 49 4e 54 7c 54 43 4c 5f 4c 49 4e 4b  INK_INT|TCL_LINK
3b10: 5f 52 45 41 44 5f 4f 4e 4c 59 29 3b 0a 20 20 7d  _READ_ONLY);.  }
3b20: 0a 7d 0a 0a 0a 2f 2a 0a 2a 2a 20 52 65 67 69 73  .}.../*.** Regis
3b30: 74 65 72 20 63 6f 6d 6d 61 6e 64 73 20 77 69 74  ter commands wit
3b40: 68 20 74 68 65 20 54 43 4c 20 69 6e 74 65 72 70  h the TCL interp
3b50: 72 65 74 65 72 2e 0a 2a 2f 0a 69 6e 74 20 53 71  reter..*/.int Sq
3b60: 6c 69 74 65 63 6f 6e 66 69 67 5f 49 6e 69 74 28  liteconfig_Init(
3b70: 54 63 6c 5f 49 6e 74 65 72 70 20 2a 69 6e 74 65  Tcl_Interp *inte
3b80: 72 70 29 7b 0a 20 20 73 65 74 5f 6f 70 74 69 6f  rp){.  set_optio
3b90: 6e 73 28 69 6e 74 65 72 70 29 3b 0a 20 20 72 65  ns(interp);.  re
3ba0: 74 75 72 6e 20 54 43 4c 5f 4f 4b 3b 0a 7d 0a     turn TCL_OK;.}.