/ Hex Artifact Content
Login

Artifact b157b01081f92442f8b0218ddb93ddce8ebddad36dbddeecfdd771561dd4f387:


0000: 2f 2a 0a 2a 2a 20 32 30 31 30 20 46 65 62 72 75  /*.** 2010 Febru
0010: 61 72 79 20 32 33 0a 2a 2a 0a 2a 2a 20 54 68 65  ary 23.**.** The
0020: 20 61 75 74 68 6f 72 20 64 69 73 63 6c 61 69 6d   author disclaim
0030: 73 20 63 6f 70 79 72 69 67 68 74 20 74 6f 20 74  s copyright to t
0040: 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e  his source code.
0050: 20 20 49 6e 20 70 6c 61 63 65 20 6f 66 0a 2a 2a    In place of.**
0060: 20 61 20 6c 65 67 61 6c 20 6e 6f 74 69 63 65 2c   a legal notice,
0070: 20 68 65 72 65 20 69 73 20 61 20 62 6c 65 73 73   here is a bless
0080: 69 6e 67 3a 0a 2a 2a 0a 2a 2a 20 20 20 20 4d 61  ing:.**.**    Ma
0090: 79 20 79 6f 75 20 64 6f 20 67 6f 6f 64 20 61 6e  y you do good an
00a0: 64 20 6e 6f 74 20 65 76 69 6c 2e 0a 2a 2a 20 20  d not evil..**  
00b0: 20 20 4d 61 79 20 79 6f 75 20 66 69 6e 64 20 66    May you find f
00c0: 6f 72 67 69 76 65 6e 65 73 73 20 66 6f 72 20 79  orgiveness for y
00d0: 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f 72 67  ourself and forg
00e0: 69 76 65 20 6f 74 68 65 72 73 2e 0a 2a 2a 20 20  ive others..**  
00f0: 20 20 4d 61 79 20 79 6f 75 20 73 68 61 72 65 20    May you share 
0100: 66 72 65 65 6c 79 2c 20 6e 65 76 65 72 20 74 61  freely, never ta
0110: 6b 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 79  king more than y
0120: 6f 75 20 67 69 76 65 2e 0a 2a 2a 0a 2a 2a 2a 2a  ou give..**.****
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 2a  ****************
0170: 2a 2a 2a 2a 2a 0a 2a 2a 0a 2a 2a 20 54 68 69 73  *****.**.** This
0180: 20 66 69 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73   file implements
0190: 20 72 6f 75 74 69 6e 65 73 20 75 73 65 64 20 74   routines used t
01a0: 6f 20 72 65 70 6f 72 74 20 77 68 61 74 20 63 6f  o report what co
01b0: 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f  mpile-time optio
01c0: 6e 73 0a 2a 2a 20 53 51 4c 69 74 65 20 77 61 73  ns.** SQLite was
01d0: 20 62 75 69 6c 74 20 77 69 74 68 2e 0a 2a 2f 0a   built with..*/.
01e0: 0a 23 69 66 6e 64 65 66 20 53 51 4c 49 54 45 5f  .#ifndef SQLITE_
01f0: 4f 4d 49 54 5f 43 4f 4d 50 49 4c 45 4f 50 54 49  OMIT_COMPILEOPTI
0200: 4f 4e 5f 44 49 41 47 53 0a 0a 2f 2a 0a 2a 2a 20  ON_DIAGS../*.** 
0210: 49 6e 63 6c 75 64 65 20 74 68 65 20 63 6f 6e 66  Include the conf
0220: 69 67 75 72 61 74 69 6f 6e 20 68 65 61 64 65 72  iguration header
0230: 20 6f 75 74 70 75 74 20 62 79 20 27 63 6f 6e 66   output by 'conf
0240: 69 67 75 72 65 27 20 69 66 20 77 65 27 72 65 20  igure' if we're 
0250: 75 73 69 6e 67 20 74 68 65 0a 2a 2a 20 61 75 74  using the.** aut
0260: 6f 63 6f 6e 66 2d 62 61 73 65 64 20 62 75 69 6c  oconf-based buil
0270: 64 0a 2a 2f 0a 23 69 66 20 64 65 66 69 6e 65 64  d.*/.#if defined
0280: 28 5f 48 41 56 45 5f 53 51 4c 49 54 45 5f 43 4f  (_HAVE_SQLITE_CO
0290: 4e 46 49 47 5f 48 29 20 26 26 20 21 64 65 66 69  NFIG_H) && !defi
02a0: 6e 65 64 28 53 51 4c 49 54 45 43 4f 4e 46 49 47  ned(SQLITECONFIG
02b0: 5f 48 29 0a 23 69 6e 63 6c 75 64 65 20 22 63 6f  _H).#include "co
02c0: 6e 66 69 67 2e 68 22 0a 23 64 65 66 69 6e 65 20  nfig.h".#define 
02d0: 53 51 4c 49 54 45 43 4f 4e 46 49 47 5f 48 20 31  SQLITECONFIG_H 1
02e0: 0a 23 65 6e 64 69 66 0a 0a 2f 2a 20 54 68 65 73  .#endif../* Thes
02f0: 65 20 6d 61 63 72 6f 73 20 61 72 65 20 70 72 6f  e macros are pro
0300: 76 69 64 65 64 20 74 6f 20 22 73 74 72 69 6e 67  vided to "string
0310: 69 66 79 22 20 74 68 65 20 76 61 6c 75 65 20 6f  ify" the value o
0320: 66 20 74 68 65 20 64 65 66 69 6e 65 0a 2a 2a 20  f the define.** 
0330: 66 6f 72 20 74 68 6f 73 65 20 6f 70 74 69 6f 6e  for those option
0340: 73 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 76  s in which the v
0350: 61 6c 75 65 20 69 73 20 6d 65 61 6e 69 6e 67 66  alue is meaningf
0360: 75 6c 2e 20 2a 2f 0a 23 64 65 66 69 6e 65 20 43  ul. */.#define C
0370: 54 49 4d 45 4f 50 54 5f 56 41 4c 5f 28 6f 70 74  TIMEOPT_VAL_(opt
0380: 29 20 23 6f 70 74 0a 23 64 65 66 69 6e 65 20 43  ) #opt.#define C
0390: 54 49 4d 45 4f 50 54 5f 56 41 4c 28 6f 70 74 29  TIMEOPT_VAL(opt)
03a0: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 5f 28 6f   CTIMEOPT_VAL_(o
03b0: 70 74 29 0a 0a 2f 2a 20 4c 69 6b 65 20 43 54 49  pt)../* Like CTI
03c0: 4d 45 4f 50 54 5f 56 41 4c 2c 20 62 75 74 20 65  MEOPT_VAL, but e
03d0: 73 70 65 63 69 61 6c 6c 79 20 66 6f 72 20 53 51  specially for SQ
03e0: 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 4c 4f 4f  LITE_DEFAULT_LOO
03f0: 4b 41 53 49 44 45 2e 20 54 68 69 73 0a 2a 2a 20  KASIDE. This.** 
0400: 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20  option requires 
0410: 61 20 73 65 70 61 72 61 74 65 20 6d 61 63 72 6f  a separate macro
0420: 20 62 65 63 61 75 73 65 20 6c 65 67 61 6c 20 76   because legal v
0430: 61 6c 75 65 73 20 63 6f 6e 74 61 69 6e 20 61 20  alues contain a 
0440: 73 69 6e 67 6c 65 0a 2a 2a 20 63 6f 6d 6d 61 2e  single.** comma.
0450: 20 65 2e 67 2e 20 28 2d 44 53 51 4c 49 54 45 5f   e.g. (-DSQLITE_
0460: 44 45 46 41 55 4c 54 5f 4c 4f 4f 4b 41 53 49 44  DEFAULT_LOOKASID
0470: 45 3d 22 31 30 30 2c 31 30 30 22 29 20 2a 2f 0a  E="100,100") */.
0480: 23 64 65 66 69 6e 65 20 43 54 49 4d 45 4f 50 54  #define CTIMEOPT
0490: 5f 56 41 4c 32 5f 28 6f 70 74 31 2c 6f 70 74 32  _VAL2_(opt1,opt2
04a0: 29 20 23 6f 70 74 31 20 22 2c 22 20 23 6f 70 74  ) #opt1 "," #opt
04b0: 32 0a 23 64 65 66 69 6e 65 20 43 54 49 4d 45 4f  2.#define CTIMEO
04c0: 50 54 5f 56 41 4c 32 28 6f 70 74 29 20 43 54 49  PT_VAL2(opt) CTI
04d0: 4d 45 4f 50 54 5f 56 41 4c 32 5f 28 6f 70 74 29  MEOPT_VAL2_(opt)
04e0: 0a 0a 2f 2a 0a 2a 2a 20 41 6e 20 61 72 72 61 79  ../*.** An array
04f0: 20 6f 66 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c   of names of all
0500: 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70   compile-time op
0510: 74 69 6f 6e 73 2e 20 20 54 68 69 73 20 61 72 72  tions.  This arr
0520: 61 79 20 73 68 6f 75 6c 64 20 0a 2a 2a 20 62 65  ay should .** be
0530: 20 73 6f 72 74 65 64 20 41 2d 5a 2e 0a 2a 2a 0a   sorted A-Z..**.
0540: 2a 2a 20 54 68 69 73 20 61 72 72 61 79 20 6c 6f  ** This array lo
0550: 6f 6b 73 20 6c 61 72 67 65 2c 20 62 75 74 20 69  oks large, but i
0560: 6e 20 61 20 74 79 70 69 63 61 6c 20 69 6e 73 74  n a typical inst
0570: 61 6c 6c 61 74 69 6f 6e 20 61 63 74 75 61 6c 6c  allation actuall
0580: 79 20 75 73 65 73 0a 2a 2a 20 6f 6e 6c 79 20 61  y uses.** only a
0590: 20 68 61 6e 64 66 75 6c 20 6f 66 20 63 6f 6d 70   handful of comp
05a0: 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6f 6e 73  ile-time options
05b0: 2c 20 73 6f 20 6d 6f 73 74 20 74 69 6d 65 73 20  , so most times 
05c0: 74 68 69 73 20 61 72 72 61 79 20 69 73 20 75 73  this array is us
05d0: 75 61 6c 6c 79 0a 2a 2a 20 72 61 74 68 65 72 20  ually.** rather 
05e0: 73 68 6f 72 74 20 61 6e 64 20 75 73 65 73 20 6c  short and uses l
05f0: 69 74 74 6c 65 20 6d 65 6d 6f 72 79 20 73 70 61  ittle memory spa
0600: 63 65 2e 0a 2a 2f 0a 73 74 61 74 69 63 20 63 6f  ce..*/.static co
0610: 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74  nst char * const
0620: 20 73 71 6c 69 74 65 33 61 7a 43 6f 6d 70 69 6c   sqlite3azCompil
0630: 65 4f 70 74 5b 5d 20 3d 20 7b 0a 0a 2f 2a 20 0a  eOpt[] = {../* .
0640: 2a 2a 20 42 45 47 49 4e 20 43 4f 44 45 20 47 45  ** BEGIN CODE GE
0650: 4e 45 52 41 54 45 44 20 42 59 20 74 6f 6f 6c 2f  NERATED BY tool/
0660: 6d 6b 63 74 69 6d 65 2e 74 63 6c 20 0a 2a 2f 0a  mkctime.tcl .*/.
0670: 23 69 66 20 53 51 4c 49 54 45 5f 33 32 42 49 54  #if SQLITE_32BIT
0680: 5f 52 4f 57 49 44 0a 20 20 22 33 32 42 49 54 5f  _ROWID.  "32BIT_
0690: 52 4f 57 49 44 22 2c 0a 23 65 6e 64 69 66 0a 23  ROWID",.#endif.#
06a0: 69 66 20 53 51 4c 49 54 45 5f 34 5f 42 59 54 45  if SQLITE_4_BYTE
06b0: 5f 41 4c 49 47 4e 45 44 5f 4d 41 4c 4c 4f 43 0a  _ALIGNED_MALLOC.
06c0: 20 20 22 34 5f 42 59 54 45 5f 41 4c 49 47 4e 45    "4_BYTE_ALIGNE
06d0: 44 5f 4d 41 4c 4c 4f 43 22 2c 0a 23 65 6e 64 69  D_MALLOC",.#endi
06e0: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 36 34 42  f.#if SQLITE_64B
06f0: 49 54 5f 53 54 41 54 53 0a 20 20 22 36 34 42 49  IT_STATS.  "64BI
0700: 54 5f 53 54 41 54 53 22 2c 0a 23 65 6e 64 69 66  T_STATS",.#endif
0710: 0a 23 69 66 20 53 51 4c 49 54 45 5f 41 4c 4c 4f  .#if SQLITE_ALLO
0720: 57 5f 43 4f 56 45 52 49 4e 47 5f 49 4e 44 45 58  W_COVERING_INDEX
0730: 5f 53 43 41 4e 0a 20 20 22 41 4c 4c 4f 57 5f 43  _SCAN.  "ALLOW_C
0740: 4f 56 45 52 49 4e 47 5f 49 4e 44 45 58 5f 53 43  OVERING_INDEX_SC
0750: 41 4e 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  AN",.#endif.#if 
0760: 53 51 4c 49 54 45 5f 41 4c 4c 4f 57 5f 55 52 49  SQLITE_ALLOW_URI
0770: 5f 41 55 54 48 4f 52 49 54 59 0a 20 20 22 41 4c  _AUTHORITY.  "AL
0780: 4c 4f 57 5f 55 52 49 5f 41 55 54 48 4f 52 49 54  LOW_URI_AUTHORIT
0790: 59 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 64 65  Y",.#endif.#ifde
07a0: 66 20 53 51 4c 49 54 45 5f 42 49 54 4d 41 53 4b  f SQLITE_BITMASK
07b0: 5f 54 59 50 45 0a 20 20 22 42 49 54 4d 41 53 4b  _TYPE.  "BITMASK
07c0: 5f 54 59 50 45 3d 22 20 43 54 49 4d 45 4f 50 54  _TYPE=" CTIMEOPT
07d0: 5f 56 41 4c 28 53 51 4c 49 54 45 5f 42 49 54 4d  _VAL(SQLITE_BITM
07e0: 41 53 4b 5f 54 59 50 45 29 2c 0a 23 65 6e 64 69  ASK_TYPE),.#endi
07f0: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 42 55 47  f.#if SQLITE_BUG
0800: 5f 43 4f 4d 50 41 54 49 42 4c 45 5f 32 30 31 36  _COMPATIBLE_2016
0810: 30 38 31 39 0a 20 20 22 42 55 47 5f 43 4f 4d 50  0819.  "BUG_COMP
0820: 41 54 49 42 4c 45 5f 32 30 31 36 30 38 31 39 22  ATIBLE_20160819"
0830: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
0840: 49 54 45 5f 43 41 53 45 5f 53 45 4e 53 49 54 49  ITE_CASE_SENSITI
0850: 56 45 5f 4c 49 4b 45 0a 20 20 22 43 41 53 45 5f  VE_LIKE.  "CASE_
0860: 53 45 4e 53 49 54 49 56 45 5f 4c 49 4b 45 22 2c  SENSITIVE_LIKE",
0870: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
0880: 54 45 5f 43 48 45 43 4b 5f 50 41 47 45 53 0a 20  TE_CHECK_PAGES. 
0890: 20 22 43 48 45 43 4b 5f 50 41 47 45 53 22 2c 0a   "CHECK_PAGES",.
08a0: 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66 69 6e  #endif.#if defin
08b0: 65 64 28 5f 5f 63 6c 61 6e 67 5f 5f 29 20 26 26  ed(__clang__) &&
08c0: 20 64 65 66 69 6e 65 64 28 5f 5f 63 6c 61 6e 67   defined(__clang
08d0: 5f 6d 61 6a 6f 72 5f 5f 29 0a 20 20 22 43 4f 4d  _major__).  "COM
08e0: 50 49 4c 45 52 3d 63 6c 61 6e 67 2d 22 20 43 54  PILER=clang-" CT
08f0: 49 4d 45 4f 50 54 5f 56 41 4c 28 5f 5f 63 6c 61  IMEOPT_VAL(__cla
0900: 6e 67 5f 6d 61 6a 6f 72 5f 5f 29 20 22 2e 22 0a  ng_major__) ".".
0910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0920: 20 20 20 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c      CTIMEOPT_VAL
0930: 28 5f 5f 63 6c 61 6e 67 5f 6d 69 6e 6f 72 5f 5f  (__clang_minor__
0940: 29 20 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20  ) ".".          
0950: 20 20 20 20 20 20 20 20 20 20 43 54 49 4d 45 4f            CTIMEO
0960: 50 54 5f 56 41 4c 28 5f 5f 63 6c 61 6e 67 5f 70  PT_VAL(__clang_p
0970: 61 74 63 68 6c 65 76 65 6c 5f 5f 29 2c 0a 23 65  atchlevel__),.#e
0980: 6c 69 66 20 64 65 66 69 6e 65 64 28 5f 4d 53 43  lif defined(_MSC
0990: 5f 56 45 52 29 0a 20 20 22 43 4f 4d 50 49 4c 45  _VER).  "COMPILE
09a0: 52 3d 6d 73 76 63 2d 22 20 43 54 49 4d 45 4f 50  R=msvc-" CTIMEOP
09b0: 54 5f 56 41 4c 28 5f 4d 53 43 5f 56 45 52 29 2c  T_VAL(_MSC_VER),
09c0: 0a 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28 5f  .#elif defined(_
09d0: 5f 47 4e 55 43 5f 5f 29 20 26 26 20 64 65 66 69  _GNUC__) && defi
09e0: 6e 65 64 28 5f 5f 56 45 52 53 49 4f 4e 5f 5f 29  ned(__VERSION__)
09f0: 0a 20 20 22 43 4f 4d 50 49 4c 45 52 3d 67 63 63  .  "COMPILER=gcc
0a00: 2d 22 20 5f 5f 56 45 52 53 49 4f 4e 5f 5f 2c 0a  -" __VERSION__,.
0a10: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
0a20: 45 5f 43 4f 56 45 52 41 47 45 5f 54 45 53 54 0a  E_COVERAGE_TEST.
0a30: 20 20 22 43 4f 56 45 52 41 47 45 5f 54 45 53 54    "COVERAGE_TEST
0a40: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
0a50: 4c 49 54 45 5f 44 45 42 55 47 0a 20 20 22 44 45  LITE_DEBUG.  "DE
0a60: 42 55 47 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  BUG",.#endif.#if
0a70: 20 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f   SQLITE_DEFAULT_
0a80: 41 55 54 4f 4d 41 54 49 43 5f 49 4e 44 45 58 0a  AUTOMATIC_INDEX.
0a90: 20 20 22 44 45 46 41 55 4c 54 5f 41 55 54 4f 4d    "DEFAULT_AUTOM
0aa0: 41 54 49 43 5f 49 4e 44 45 58 22 2c 0a 23 65 6e  ATIC_INDEX",.#en
0ab0: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 44  dif.#if SQLITE_D
0ac0: 45 46 41 55 4c 54 5f 41 55 54 4f 56 41 43 55 55  EFAULT_AUTOVACUU
0ad0: 4d 0a 20 20 22 44 45 46 41 55 4c 54 5f 41 55 54  M.  "DEFAULT_AUT
0ae0: 4f 56 41 43 55 55 4d 22 2c 0a 23 65 6e 64 69 66  OVACUUM",.#endif
0af0: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 44  .#ifdef SQLITE_D
0b00: 45 46 41 55 4c 54 5f 43 41 43 48 45 5f 53 49 5a  EFAULT_CACHE_SIZ
0b10: 45 0a 20 20 22 44 45 46 41 55 4c 54 5f 43 41 43  E.  "DEFAULT_CAC
0b20: 48 45 5f 53 49 5a 45 3d 22 20 43 54 49 4d 45 4f  HE_SIZE=" CTIMEO
0b30: 50 54 5f 56 41 4c 28 53 51 4c 49 54 45 5f 44 45  PT_VAL(SQLITE_DE
0b40: 46 41 55 4c 54 5f 43 41 43 48 45 5f 53 49 5a 45  FAULT_CACHE_SIZE
0b50: 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ),.#endif.#if SQ
0b60: 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 43 4b 50  LITE_DEFAULT_CKP
0b70: 54 46 55 4c 4c 46 53 59 4e 43 0a 20 20 22 44 45  TFULLFSYNC.  "DE
0b80: 46 41 55 4c 54 5f 43 4b 50 54 46 55 4c 4c 46 53  FAULT_CKPTFULLFS
0b90: 59 4e 43 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  YNC",.#endif.#if
0ba0: 64 65 66 20 53 51 4c 49 54 45 5f 44 45 46 41 55  def SQLITE_DEFAU
0bb0: 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54 0a 20  LT_FILE_FORMAT. 
0bc0: 20 22 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 46   "DEFAULT_FILE_F
0bd0: 4f 52 4d 41 54 3d 22 20 43 54 49 4d 45 4f 50 54  ORMAT=" CTIMEOPT
0be0: 5f 56 41 4c 28 53 51 4c 49 54 45 5f 44 45 46 41  _VAL(SQLITE_DEFA
0bf0: 55 4c 54 5f 46 49 4c 45 5f 46 4f 52 4d 41 54 29  ULT_FILE_FORMAT)
0c00: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20  ,.#endif.#ifdef 
0c10: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 46  SQLITE_DEFAULT_F
0c20: 49 4c 45 5f 50 45 52 4d 49 53 53 49 4f 4e 53 0a  ILE_PERMISSIONS.
0c30: 20 20 22 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f    "DEFAULT_FILE_
0c40: 50 45 52 4d 49 53 53 49 4f 4e 53 3d 22 20 43 54  PERMISSIONS=" CT
0c50: 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54  IMEOPT_VAL(SQLIT
0c60: 45 5f 44 45 46 41 55 4c 54 5f 46 49 4c 45 5f 50  E_DEFAULT_FILE_P
0c70: 45 52 4d 49 53 53 49 4f 4e 53 29 2c 0a 23 65 6e  ERMISSIONS),.#en
0c80: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 44  dif.#if SQLITE_D
0c90: 45 46 41 55 4c 54 5f 46 4f 52 45 49 47 4e 5f 4b  EFAULT_FOREIGN_K
0ca0: 45 59 53 0a 20 20 22 44 45 46 41 55 4c 54 5f 46  EYS.  "DEFAULT_F
0cb0: 4f 52 45 49 47 4e 5f 4b 45 59 53 22 2c 0a 23 65  OREIGN_KEYS",.#e
0cc0: 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49  ndif.#ifdef SQLI
0cd0: 54 45 5f 44 45 46 41 55 4c 54 5f 4a 4f 55 52 4e  TE_DEFAULT_JOURN
0ce0: 41 4c 5f 53 49 5a 45 5f 4c 49 4d 49 54 0a 20 20  AL_SIZE_LIMIT.  
0cf0: 22 44 45 46 41 55 4c 54 5f 4a 4f 55 52 4e 41 4c  "DEFAULT_JOURNAL
0d00: 5f 53 49 5a 45 5f 4c 49 4d 49 54 3d 22 20 43 54  _SIZE_LIMIT=" CT
0d10: 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54  IMEOPT_VAL(SQLIT
0d20: 45 5f 44 45 46 41 55 4c 54 5f 4a 4f 55 52 4e 41  E_DEFAULT_JOURNA
0d30: 4c 5f 53 49 5a 45 5f 4c 49 4d 49 54 29 2c 0a 23  L_SIZE_LIMIT),.#
0d40: 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c  endif.#ifdef SQL
0d50: 49 54 45 5f 44 45 46 41 55 4c 54 5f 4c 4f 43 4b  ITE_DEFAULT_LOCK
0d60: 49 4e 47 5f 4d 4f 44 45 0a 20 20 22 44 45 46 41  ING_MODE.  "DEFA
0d70: 55 4c 54 5f 4c 4f 43 4b 49 4e 47 5f 4d 4f 44 45  ULT_LOCKING_MODE
0d80: 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28  =" CTIMEOPT_VAL(
0d90: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 4c  SQLITE_DEFAULT_L
0da0: 4f 43 4b 49 4e 47 5f 4d 4f 44 45 29 2c 0a 23 65  OCKING_MODE),.#e
0db0: 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49  ndif.#ifdef SQLI
0dc0: 54 45 5f 44 45 46 41 55 4c 54 5f 4c 4f 4f 4b 41  TE_DEFAULT_LOOKA
0dd0: 53 49 44 45 0a 20 20 22 44 45 46 41 55 4c 54 5f  SIDE.  "DEFAULT_
0de0: 4c 4f 4f 4b 41 53 49 44 45 3d 22 20 43 54 49 4d  LOOKASIDE=" CTIM
0df0: 45 4f 50 54 5f 56 41 4c 32 28 53 51 4c 49 54 45  EOPT_VAL2(SQLITE
0e00: 5f 44 45 46 41 55 4c 54 5f 4c 4f 4f 4b 41 53 49  _DEFAULT_LOOKASI
0e10: 44 45 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  DE),.#endif.#if 
0e20: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 4d  SQLITE_DEFAULT_M
0e30: 45 4d 53 54 41 54 55 53 0a 20 20 22 44 45 46 41  EMSTATUS.  "DEFA
0e40: 55 4c 54 5f 4d 45 4d 53 54 41 54 55 53 22 2c 0a  ULT_MEMSTATUS",.
0e50: 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51  #endif.#ifdef SQ
0e60: 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 4d 4d 41  LITE_DEFAULT_MMA
0e70: 50 5f 53 49 5a 45 0a 20 20 22 44 45 46 41 55 4c  P_SIZE.  "DEFAUL
0e80: 54 5f 4d 4d 41 50 5f 53 49 5a 45 3d 22 20 43 54  T_MMAP_SIZE=" CT
0e90: 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54  IMEOPT_VAL(SQLIT
0ea0: 45 5f 44 45 46 41 55 4c 54 5f 4d 4d 41 50 5f 53  E_DEFAULT_MMAP_S
0eb0: 49 5a 45 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66  IZE),.#endif.#if
0ec0: 64 65 66 20 53 51 4c 49 54 45 5f 44 45 46 41 55  def SQLITE_DEFAU
0ed0: 4c 54 5f 50 41 47 45 5f 53 49 5a 45 0a 20 20 22  LT_PAGE_SIZE.  "
0ee0: 44 45 46 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a  DEFAULT_PAGE_SIZ
0ef0: 45 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c  E=" CTIMEOPT_VAL
0f00: 28 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f  (SQLITE_DEFAULT_
0f10: 50 41 47 45 5f 53 49 5a 45 29 2c 0a 23 65 6e 64  PAGE_SIZE),.#end
0f20: 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45  if.#ifdef SQLITE
0f30: 5f 44 45 46 41 55 4c 54 5f 50 43 41 43 48 45 5f  _DEFAULT_PCACHE_
0f40: 49 4e 49 54 53 5a 0a 20 20 22 44 45 46 41 55 4c  INITSZ.  "DEFAUL
0f50: 54 5f 50 43 41 43 48 45 5f 49 4e 49 54 53 5a 3d  T_PCACHE_INITSZ=
0f60: 22 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53  " CTIMEOPT_VAL(S
0f70: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 43  QLITE_DEFAULT_PC
0f80: 41 43 48 45 5f 49 4e 49 54 53 5a 29 2c 0a 23 65  ACHE_INITSZ),.#e
0f90: 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49  ndif.#ifdef SQLI
0fa0: 54 45 5f 44 45 46 41 55 4c 54 5f 50 52 4f 58 59  TE_DEFAULT_PROXY
0fb0: 44 49 52 5f 50 45 52 4d 49 53 53 49 4f 4e 53 0a  DIR_PERMISSIONS.
0fc0: 20 20 22 44 45 46 41 55 4c 54 5f 50 52 4f 58 59    "DEFAULT_PROXY
0fd0: 44 49 52 5f 50 45 52 4d 49 53 53 49 4f 4e 53 3d  DIR_PERMISSIONS=
0fe0: 22 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53  " CTIMEOPT_VAL(S
0ff0: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 50 52  QLITE_DEFAULT_PR
1000: 4f 58 59 44 49 52 5f 50 45 52 4d 49 53 53 49 4f  OXYDIR_PERMISSIO
1010: 4e 53 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  NS),.#endif.#if 
1020: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 52  SQLITE_DEFAULT_R
1030: 45 43 55 52 53 49 56 45 5f 54 52 49 47 47 45 52  ECURSIVE_TRIGGER
1040: 53 0a 20 20 22 44 45 46 41 55 4c 54 5f 52 45 43  S.  "DEFAULT_REC
1050: 55 52 53 49 56 45 5f 54 52 49 47 47 45 52 53 22  URSIVE_TRIGGERS"
1060: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20  ,.#endif.#ifdef 
1070: 53 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 52  SQLITE_DEFAULT_R
1080: 4f 57 45 53 54 0a 20 20 22 44 45 46 41 55 4c 54  OWEST.  "DEFAULT
1090: 5f 52 4f 57 45 53 54 3d 22 20 43 54 49 4d 45 4f  _ROWEST=" CTIMEO
10a0: 50 54 5f 56 41 4c 28 53 51 4c 49 54 45 5f 44 45  PT_VAL(SQLITE_DE
10b0: 46 41 55 4c 54 5f 52 4f 57 45 53 54 29 2c 0a 23  FAULT_ROWEST),.#
10c0: 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c  endif.#ifdef SQL
10d0: 49 54 45 5f 44 45 46 41 55 4c 54 5f 53 45 43 54  ITE_DEFAULT_SECT
10e0: 4f 52 5f 53 49 5a 45 0a 20 20 22 44 45 46 41 55  OR_SIZE.  "DEFAU
10f0: 4c 54 5f 53 45 43 54 4f 52 5f 53 49 5a 45 3d 22  LT_SECTOR_SIZE="
1100: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51   CTIMEOPT_VAL(SQ
1110: 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 53 45 43  LITE_DEFAULT_SEC
1120: 54 4f 52 5f 53 49 5a 45 29 2c 0a 23 65 6e 64 69  TOR_SIZE),.#endi
1130: 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  f.#ifdef SQLITE_
1140: 44 45 46 41 55 4c 54 5f 53 59 4e 43 48 52 4f 4e  DEFAULT_SYNCHRON
1150: 4f 55 53 0a 20 20 22 44 45 46 41 55 4c 54 5f 53  OUS.  "DEFAULT_S
1160: 59 4e 43 48 52 4f 4e 4f 55 53 3d 22 20 43 54 49  YNCHRONOUS=" CTI
1170: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
1180: 5f 44 45 46 41 55 4c 54 5f 53 59 4e 43 48 52 4f  _DEFAULT_SYNCHRO
1190: 4e 4f 55 53 29 2c 0a 23 65 6e 64 69 66 0a 23 69  NOUS),.#endif.#i
11a0: 66 64 65 66 20 53 51 4c 49 54 45 5f 44 45 46 41  fdef SQLITE_DEFA
11b0: 55 4c 54 5f 57 41 4c 5f 41 55 54 4f 43 48 45 43  ULT_WAL_AUTOCHEC
11c0: 4b 50 4f 49 4e 54 0a 20 20 22 44 45 46 41 55 4c  KPOINT.  "DEFAUL
11d0: 54 5f 57 41 4c 5f 41 55 54 4f 43 48 45 43 4b 50  T_WAL_AUTOCHECKP
11e0: 4f 49 4e 54 3d 22 20 43 54 49 4d 45 4f 50 54 5f  OINT=" CTIMEOPT_
11f0: 56 41 4c 28 53 51 4c 49 54 45 5f 44 45 46 41 55  VAL(SQLITE_DEFAU
1200: 4c 54 5f 57 41 4c 5f 41 55 54 4f 43 48 45 43 4b  LT_WAL_AUTOCHECK
1210: 50 4f 49 4e 54 29 2c 0a 23 65 6e 64 69 66 0a 23  POINT),.#endif.#
1220: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 44 45 46  ifdef SQLITE_DEF
1230: 41 55 4c 54 5f 57 41 4c 5f 53 59 4e 43 48 52 4f  AULT_WAL_SYNCHRO
1240: 4e 4f 55 53 0a 20 20 22 44 45 46 41 55 4c 54 5f  NOUS.  "DEFAULT_
1250: 57 41 4c 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 3d  WAL_SYNCHRONOUS=
1260: 22 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53  " CTIMEOPT_VAL(S
1270: 51 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 57 41  QLITE_DEFAULT_WA
1280: 4c 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 29 2c 0a  L_SYNCHRONOUS),.
1290: 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51  #endif.#ifdef SQ
12a0: 4c 49 54 45 5f 44 45 46 41 55 4c 54 5f 57 4f 52  LITE_DEFAULT_WOR
12b0: 4b 45 52 5f 54 48 52 45 41 44 53 0a 20 20 22 44  KER_THREADS.  "D
12c0: 45 46 41 55 4c 54 5f 57 4f 52 4b 45 52 5f 54 48  EFAULT_WORKER_TH
12d0: 52 45 41 44 53 3d 22 20 43 54 49 4d 45 4f 50 54  READS=" CTIMEOPT
12e0: 5f 56 41 4c 28 53 51 4c 49 54 45 5f 44 45 46 41  _VAL(SQLITE_DEFA
12f0: 55 4c 54 5f 57 4f 52 4b 45 52 5f 54 48 52 45 41  ULT_WORKER_THREA
1300: 44 53 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  DS),.#endif.#if 
1310: 53 51 4c 49 54 45 5f 44 49 52 45 43 54 5f 4f 56  SQLITE_DIRECT_OV
1320: 45 52 46 4c 4f 57 5f 52 45 41 44 0a 20 20 22 44  ERFLOW_READ.  "D
1330: 49 52 45 43 54 5f 4f 56 45 52 46 4c 4f 57 5f 52  IRECT_OVERFLOW_R
1340: 45 41 44 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  EAD",.#endif.#if
1350: 20 53 51 4c 49 54 45 5f 44 49 53 41 42 4c 45 5f   SQLITE_DISABLE_
1360: 44 49 52 53 59 4e 43 0a 20 20 22 44 49 53 41 42  DIRSYNC.  "DISAB
1370: 4c 45 5f 44 49 52 53 59 4e 43 22 2c 0a 23 65 6e  LE_DIRSYNC",.#en
1380: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 44  dif.#if SQLITE_D
1390: 49 53 41 42 4c 45 5f 46 54 53 33 5f 55 4e 49 43  ISABLE_FTS3_UNIC
13a0: 4f 44 45 0a 20 20 22 44 49 53 41 42 4c 45 5f 46  ODE.  "DISABLE_F
13b0: 54 53 33 5f 55 4e 49 43 4f 44 45 22 2c 0a 23 65  TS3_UNICODE",.#e
13c0: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
13d0: 44 49 53 41 42 4c 45 5f 46 54 53 34 5f 44 45 46  DISABLE_FTS4_DEF
13e0: 45 52 52 45 44 0a 20 20 22 44 49 53 41 42 4c 45  ERRED.  "DISABLE
13f0: 5f 46 54 53 34 5f 44 45 46 45 52 52 45 44 22 2c  _FTS4_DEFERRED",
1400: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
1410: 54 45 5f 44 49 53 41 42 4c 45 5f 49 4e 54 52 49  TE_DISABLE_INTRI
1420: 4e 53 49 43 0a 20 20 22 44 49 53 41 42 4c 45 5f  NSIC.  "DISABLE_
1430: 49 4e 54 52 49 4e 53 49 43 22 2c 0a 23 65 6e 64  INTRINSIC",.#end
1440: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 44 49  if.#if SQLITE_DI
1450: 53 41 42 4c 45 5f 4c 46 53 0a 20 20 22 44 49 53  SABLE_LFS.  "DIS
1460: 41 42 4c 45 5f 4c 46 53 22 2c 0a 23 65 6e 64 69  ABLE_LFS",.#endi
1470: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 44 49 53  f.#if SQLITE_DIS
1480: 41 42 4c 45 5f 50 41 47 45 43 41 43 48 45 5f 4f  ABLE_PAGECACHE_O
1490: 56 45 52 46 4c 4f 57 5f 53 54 41 54 53 0a 20 20  VERFLOW_STATS.  
14a0: 22 44 49 53 41 42 4c 45 5f 50 41 47 45 43 41 43  "DISABLE_PAGECAC
14b0: 48 45 5f 4f 56 45 52 46 4c 4f 57 5f 53 54 41 54  HE_OVERFLOW_STAT
14c0: 53 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53  S",.#endif.#if S
14d0: 51 4c 49 54 45 5f 44 49 53 41 42 4c 45 5f 53 4b  QLITE_DISABLE_SK
14e0: 49 50 41 48 45 41 44 5f 44 49 53 54 49 4e 43 54  IPAHEAD_DISTINCT
14f0: 0a 20 20 22 44 49 53 41 42 4c 45 5f 53 4b 49 50  .  "DISABLE_SKIP
1500: 41 48 45 41 44 5f 44 49 53 54 49 4e 43 54 22 2c  AHEAD_DISTINCT",
1510: 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53  .#endif.#ifdef S
1520: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 38 5f 33  QLITE_ENABLE_8_3
1530: 5f 4e 41 4d 45 53 0a 20 20 22 45 4e 41 42 4c 45  _NAMES.  "ENABLE
1540: 5f 38 5f 33 5f 4e 41 4d 45 53 3d 22 20 43 54 49  _8_3_NAMES=" CTI
1550: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
1560: 5f 45 4e 41 42 4c 45 5f 38 5f 33 5f 4e 41 4d 45  _ENABLE_8_3_NAME
1570: 53 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53  S),.#endif.#if S
1580: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 41 50 49  QLITE_ENABLE_API
1590: 5f 41 52 4d 4f 52 0a 20 20 22 45 4e 41 42 4c 45  _ARMOR.  "ENABLE
15a0: 5f 41 50 49 5f 41 52 4d 4f 52 22 2c 0a 23 65 6e  _API_ARMOR",.#en
15b0: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45  dif.#if SQLITE_E
15c0: 4e 41 42 4c 45 5f 41 54 4f 4d 49 43 5f 57 52 49  NABLE_ATOMIC_WRI
15d0: 54 45 0a 20 20 22 45 4e 41 42 4c 45 5f 41 54 4f  TE.  "ENABLE_ATO
15e0: 4d 49 43 5f 57 52 49 54 45 22 2c 0a 23 65 6e 64  MIC_WRITE",.#end
15f0: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e  if.#if SQLITE_EN
1600: 41 42 4c 45 5f 42 41 54 43 48 5f 41 54 4f 4d 49  ABLE_BATCH_ATOMI
1610: 43 5f 57 52 49 54 45 0a 20 20 22 45 4e 41 42 4c  C_WRITE.  "ENABL
1620: 45 5f 42 41 54 43 48 5f 41 54 4f 4d 49 43 5f 57  E_BATCH_ATOMIC_W
1630: 52 49 54 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69  RITE",.#endif.#i
1640: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
1650: 43 45 52 4f 44 0a 20 20 22 45 4e 41 42 4c 45 5f  CEROD.  "ENABLE_
1660: 43 45 52 4f 44 3d 22 20 43 54 49 4d 45 4f 50 54  CEROD=" CTIMEOPT
1670: 5f 56 41 4c 28 53 51 4c 49 54 45 5f 45 4e 41 42  _VAL(SQLITE_ENAB
1680: 4c 45 5f 43 45 52 4f 44 29 2c 0a 23 65 6e 64 69  LE_CEROD),.#endi
1690: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41  f.#if SQLITE_ENA
16a0: 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 4d 45 54 41 44  BLE_COLUMN_METAD
16b0: 41 54 41 0a 20 20 22 45 4e 41 42 4c 45 5f 43 4f  ATA.  "ENABLE_CO
16c0: 4c 55 4d 4e 5f 4d 45 54 41 44 41 54 41 22 2c 0a  LUMN_METADATA",.
16d0: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
16e0: 45 5f 45 4e 41 42 4c 45 5f 43 4f 4c 55 4d 4e 5f  E_ENABLE_COLUMN_
16f0: 55 53 45 44 5f 4d 41 53 4b 0a 20 20 22 45 4e 41  USED_MASK.  "ENA
1700: 42 4c 45 5f 43 4f 4c 55 4d 4e 5f 55 53 45 44 5f  BLE_COLUMN_USED_
1710: 4d 41 53 4b 22 2c 0a 23 65 6e 64 69 66 0a 23 69  MASK",.#endif.#i
1720: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
1730: 43 4f 53 54 4d 55 4c 54 0a 20 20 22 45 4e 41 42  COSTMULT.  "ENAB
1740: 4c 45 5f 43 4f 53 54 4d 55 4c 54 22 2c 0a 23 65  LE_COSTMULT",.#e
1750: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
1760: 45 4e 41 42 4c 45 5f 43 55 52 53 4f 52 5f 48 49  ENABLE_CURSOR_HI
1770: 4e 54 53 0a 20 20 22 45 4e 41 42 4c 45 5f 43 55  NTS.  "ENABLE_CU
1780: 52 53 4f 52 5f 48 49 4e 54 53 22 2c 0a 23 65 6e  RSOR_HINTS",.#en
1790: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45  dif.#if SQLITE_E
17a0: 4e 41 42 4c 45 5f 44 42 53 54 41 54 5f 56 54 41  NABLE_DBSTAT_VTA
17b0: 42 0a 20 20 22 45 4e 41 42 4c 45 5f 44 42 53 54  B.  "ENABLE_DBST
17c0: 41 54 5f 56 54 41 42 22 2c 0a 23 65 6e 64 69 66  AT_VTAB",.#endif
17d0: 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  .#if SQLITE_ENAB
17e0: 4c 45 5f 45 58 50 45 4e 53 49 56 45 5f 41 53 53  LE_EXPENSIVE_ASS
17f0: 45 52 54 0a 20 20 22 45 4e 41 42 4c 45 5f 45 58  ERT.  "ENABLE_EX
1800: 50 45 4e 53 49 56 45 5f 41 53 53 45 52 54 22 2c  PENSIVE_ASSERT",
1810: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
1820: 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 31 0a 20  TE_ENABLE_FTS1. 
1830: 20 22 45 4e 41 42 4c 45 5f 46 54 53 31 22 2c 0a   "ENABLE_FTS1",.
1840: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
1850: 45 5f 45 4e 41 42 4c 45 5f 46 54 53 32 0a 20 20  E_ENABLE_FTS2.  
1860: 22 45 4e 41 42 4c 45 5f 46 54 53 32 22 2c 0a 23  "ENABLE_FTS2",.#
1870: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
1880: 5f 45 4e 41 42 4c 45 5f 46 54 53 33 0a 20 20 22  _ENABLE_FTS3.  "
1890: 45 4e 41 42 4c 45 5f 46 54 53 33 22 2c 0a 23 65  ENABLE_FTS3",.#e
18a0: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
18b0: 45 4e 41 42 4c 45 5f 46 54 53 33 5f 50 41 52 45  ENABLE_FTS3_PARE
18c0: 4e 54 48 45 53 49 53 0a 20 20 22 45 4e 41 42 4c  NTHESIS.  "ENABL
18d0: 45 5f 46 54 53 33 5f 50 41 52 45 4e 54 48 45 53  E_FTS3_PARENTHES
18e0: 49 53 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  IS",.#endif.#if 
18f0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54  SQLITE_ENABLE_FT
1900: 53 33 5f 54 4f 4b 45 4e 49 5a 45 52 0a 20 20 22  S3_TOKENIZER.  "
1910: 45 4e 41 42 4c 45 5f 46 54 53 33 5f 54 4f 4b 45  ENABLE_FTS3_TOKE
1920: 4e 49 5a 45 52 22 2c 0a 23 65 6e 64 69 66 0a 23  NIZER",.#endif.#
1930: 69 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45  if SQLITE_ENABLE
1940: 5f 46 54 53 34 0a 20 20 22 45 4e 41 42 4c 45 5f  _FTS4.  "ENABLE_
1950: 46 54 53 34 22 2c 0a 23 65 6e 64 69 66 0a 23 69  FTS4",.#endif.#i
1960: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
1970: 46 54 53 35 0a 20 20 22 45 4e 41 42 4c 45 5f 46  FTS5.  "ENABLE_F
1980: 54 53 35 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  TS5",.#endif.#if
1990: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 48   SQLITE_ENABLE_H
19a0: 49 44 44 45 4e 5f 43 4f 4c 55 4d 4e 53 0a 20 20  IDDEN_COLUMNS.  
19b0: 22 45 4e 41 42 4c 45 5f 48 49 44 44 45 4e 5f 43  "ENABLE_HIDDEN_C
19c0: 4f 4c 55 4d 4e 53 22 2c 0a 23 65 6e 64 69 66 0a  OLUMNS",.#endif.
19d0: 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  #if SQLITE_ENABL
19e0: 45 5f 49 43 55 0a 20 20 22 45 4e 41 42 4c 45 5f  E_ICU.  "ENABLE_
19f0: 49 43 55 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  ICU",.#endif.#if
1a00: 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 49   SQLITE_ENABLE_I
1a10: 4f 54 52 41 43 45 0a 20 20 22 45 4e 41 42 4c 45  OTRACE.  "ENABLE
1a20: 5f 49 4f 54 52 41 43 45 22 2c 0a 23 65 6e 64 69  _IOTRACE",.#endi
1a30: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41  f.#if SQLITE_ENA
1a40: 42 4c 45 5f 4a 53 4f 4e 31 0a 20 20 22 45 4e 41  BLE_JSON1.  "ENA
1a50: 42 4c 45 5f 4a 53 4f 4e 31 22 2c 0a 23 65 6e 64  BLE_JSON1",.#end
1a60: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e  if.#if SQLITE_EN
1a70: 41 42 4c 45 5f 4c 4f 41 44 5f 45 58 54 45 4e 53  ABLE_LOAD_EXTENS
1a80: 49 4f 4e 0a 20 20 22 45 4e 41 42 4c 45 5f 4c 4f  ION.  "ENABLE_LO
1a90: 41 44 5f 45 58 54 45 4e 53 49 4f 4e 22 2c 0a 23  AD_EXTENSION",.#
1aa0: 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c  endif.#ifdef SQL
1ab0: 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f 43 4b 49  ITE_ENABLE_LOCKI
1ac0: 4e 47 5f 53 54 59 4c 45 0a 20 20 22 45 4e 41 42  NG_STYLE.  "ENAB
1ad0: 4c 45 5f 4c 4f 43 4b 49 4e 47 5f 53 54 59 4c 45  LE_LOCKING_STYLE
1ae0: 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28  =" CTIMEOPT_VAL(
1af0: 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4c 4f  SQLITE_ENABLE_LO
1b00: 43 4b 49 4e 47 5f 53 54 59 4c 45 29 2c 0a 23 65  CKING_STYLE),.#e
1b10: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
1b20: 45 4e 41 42 4c 45 5f 4d 45 4d 4f 52 59 5f 4d 41  ENABLE_MEMORY_MA
1b30: 4e 41 47 45 4d 45 4e 54 0a 20 20 22 45 4e 41 42  NAGEMENT.  "ENAB
1b40: 4c 45 5f 4d 45 4d 4f 52 59 5f 4d 41 4e 41 47 45  LE_MEMORY_MANAGE
1b50: 4d 45 4e 54 22 2c 0a 23 65 6e 64 69 66 0a 23 69  MENT",.#endif.#i
1b60: 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f  f SQLITE_ENABLE_
1b70: 4d 45 4d 53 59 53 33 0a 20 20 22 45 4e 41 42 4c  MEMSYS3.  "ENABL
1b80: 45 5f 4d 45 4d 53 59 53 33 22 2c 0a 23 65 6e 64  E_MEMSYS3",.#end
1b90: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e  if.#if SQLITE_EN
1ba0: 41 42 4c 45 5f 4d 45 4d 53 59 53 35 0a 20 20 22  ABLE_MEMSYS5.  "
1bb0: 45 4e 41 42 4c 45 5f 4d 45 4d 53 59 53 35 22 2c  ENABLE_MEMSYS5",
1bc0: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
1bd0: 54 45 5f 45 4e 41 42 4c 45 5f 4d 55 4c 54 49 50  TE_ENABLE_MULTIP
1be0: 4c 45 58 0a 20 20 22 45 4e 41 42 4c 45 5f 4d 55  LEX.  "ENABLE_MU
1bf0: 4c 54 49 50 4c 45 58 22 2c 0a 23 65 6e 64 69 66  LTIPLEX",.#endif
1c00: 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41 42  .#if SQLITE_ENAB
1c10: 4c 45 5f 4e 55 4c 4c 5f 54 52 49 4d 0a 20 20 22  LE_NULL_TRIM.  "
1c20: 45 4e 41 42 4c 45 5f 4e 55 4c 4c 5f 54 52 49 4d  ENABLE_NULL_TRIM
1c30: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
1c40: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 4f 56 45 52  LITE_ENABLE_OVER
1c50: 53 49 5a 45 5f 43 45 4c 4c 5f 43 48 45 43 4b 0a  SIZE_CELL_CHECK.
1c60: 20 20 22 45 4e 41 42 4c 45 5f 4f 56 45 52 53 49    "ENABLE_OVERSI
1c70: 5a 45 5f 43 45 4c 4c 5f 43 48 45 43 4b 22 2c 0a  ZE_CELL_CHECK",.
1c80: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
1c90: 45 5f 45 4e 41 42 4c 45 5f 50 52 45 55 50 44 41  E_ENABLE_PREUPDA
1ca0: 54 45 5f 48 4f 4f 4b 0a 20 20 22 45 4e 41 42 4c  TE_HOOK.  "ENABL
1cb0: 45 5f 50 52 45 55 50 44 41 54 45 5f 48 4f 4f 4b  E_PREUPDATE_HOOK
1cc0: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
1cd0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 51 50 53 47  LITE_ENABLE_QPSG
1ce0: 0a 20 20 22 45 4e 41 42 4c 45 5f 51 50 53 47 22  .  "ENABLE_QPSG"
1cf0: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
1d00: 49 54 45 5f 45 4e 41 42 4c 45 5f 52 42 55 0a 20  ITE_ENABLE_RBU. 
1d10: 20 22 45 4e 41 42 4c 45 5f 52 42 55 22 2c 0a 23   "ENABLE_RBU",.#
1d20: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
1d30: 5f 45 4e 41 42 4c 45 5f 52 54 52 45 45 0a 20 20  _ENABLE_RTREE.  
1d40: 22 45 4e 41 42 4c 45 5f 52 54 52 45 45 22 2c 0a  "ENABLE_RTREE",.
1d50: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
1d60: 45 5f 45 4e 41 42 4c 45 5f 53 45 4c 45 43 54 54  E_ENABLE_SELECTT
1d70: 52 41 43 45 0a 20 20 22 45 4e 41 42 4c 45 5f 53  RACE.  "ENABLE_S
1d80: 45 4c 45 43 54 54 52 41 43 45 22 2c 0a 23 65 6e  ELECTTRACE",.#en
1d90: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45  dif.#if SQLITE_E
1da0: 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 0a 20 20  NABLE_SESSION.  
1db0: 22 45 4e 41 42 4c 45 5f 53 45 53 53 49 4f 4e 22  "ENABLE_SESSION"
1dc0: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
1dd0: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 4e 41 50 53  ITE_ENABLE_SNAPS
1de0: 48 4f 54 0a 20 20 22 45 4e 41 42 4c 45 5f 53 4e  HOT.  "ENABLE_SN
1df0: 41 50 53 48 4f 54 22 2c 0a 23 65 6e 64 69 66 0a  APSHOT",.#endif.
1e00: 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41 42 4c  #if SQLITE_ENABL
1e10: 45 5f 53 4f 52 54 45 52 5f 52 45 46 45 52 45 4e  E_SORTER_REFEREN
1e20: 43 45 53 0a 20 20 22 45 4e 41 42 4c 45 5f 53 4f  CES.  "ENABLE_SO
1e30: 52 54 45 52 5f 52 45 46 45 52 45 4e 43 45 53 22  RTER_REFERENCES"
1e40: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
1e50: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 51 4c 4c 4f  ITE_ENABLE_SQLLO
1e60: 47 0a 20 20 22 45 4e 41 42 4c 45 5f 53 51 4c 4c  G.  "ENABLE_SQLL
1e70: 4f 47 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  OG",.#endif.#if 
1e80: 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45 5f 45  defined(SQLITE_E
1e90: 4e 41 42 4c 45 5f 53 54 41 54 34 29 0a 20 20 22  NABLE_STAT4).  "
1ea0: 45 4e 41 42 4c 45 5f 53 54 41 54 34 22 2c 0a 23  ENABLE_STAT4",.#
1eb0: 65 6c 69 66 20 64 65 66 69 6e 65 64 28 53 51 4c  elif defined(SQL
1ec0: 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 41 54 33  ITE_ENABLE_STAT3
1ed0: 29 0a 20 20 22 45 4e 41 42 4c 45 5f 53 54 41 54  ).  "ENABLE_STAT
1ee0: 33 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53  3",.#endif.#if S
1ef0: 51 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 53 54 4d  QLITE_ENABLE_STM
1f00: 54 56 54 41 42 0a 20 20 22 45 4e 41 42 4c 45 5f  TVTAB.  "ENABLE_
1f10: 53 54 4d 54 56 54 41 42 22 2c 0a 23 65 6e 64 69  STMTVTAB",.#endi
1f20: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e 41  f.#if SQLITE_ENA
1f30: 42 4c 45 5f 53 54 4d 54 5f 53 43 41 4e 53 54 41  BLE_STMT_SCANSTA
1f40: 54 55 53 0a 20 20 22 45 4e 41 42 4c 45 5f 53 54  TUS.  "ENABLE_ST
1f50: 4d 54 5f 53 43 41 4e 53 54 41 54 55 53 22 2c 0a  MT_SCANSTATUS",.
1f60: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
1f70: 45 5f 45 4e 41 42 4c 45 5f 55 4e 4b 4e 4f 57 4e  E_ENABLE_UNKNOWN
1f80: 5f 53 51 4c 5f 46 55 4e 43 54 49 4f 4e 0a 20 20  _SQL_FUNCTION.  
1f90: 22 45 4e 41 42 4c 45 5f 55 4e 4b 4e 4f 57 4e 5f  "ENABLE_UNKNOWN_
1fa0: 53 51 4c 5f 46 55 4e 43 54 49 4f 4e 22 2c 0a 23  SQL_FUNCTION",.#
1fb0: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
1fc0: 5f 45 4e 41 42 4c 45 5f 55 4e 4c 4f 43 4b 5f 4e  _ENABLE_UNLOCK_N
1fd0: 4f 54 49 46 59 0a 20 20 22 45 4e 41 42 4c 45 5f  OTIFY.  "ENABLE_
1fe0: 55 4e 4c 4f 43 4b 5f 4e 4f 54 49 46 59 22 2c 0a  UNLOCK_NOTIFY",.
1ff0: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
2000: 45 5f 45 4e 41 42 4c 45 5f 55 50 44 41 54 45 5f  E_ENABLE_UPDATE_
2010: 44 45 4c 45 54 45 5f 4c 49 4d 49 54 0a 20 20 22  DELETE_LIMIT.  "
2020: 45 4e 41 42 4c 45 5f 55 50 44 41 54 45 5f 44 45  ENABLE_UPDATE_DE
2030: 4c 45 54 45 5f 4c 49 4d 49 54 22 2c 0a 23 65 6e  LETE_LIMIT",.#en
2040: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45  dif.#if SQLITE_E
2050: 4e 41 42 4c 45 5f 55 52 49 5f 30 30 5f 45 52 52  NABLE_URI_00_ERR
2060: 4f 52 0a 20 20 22 45 4e 41 42 4c 45 5f 55 52 49  OR.  "ENABLE_URI
2070: 5f 30 30 5f 45 52 52 4f 52 22 2c 0a 23 65 6e 64  _00_ERROR",.#end
2080: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 45 4e  if.#if SQLITE_EN
2090: 41 42 4c 45 5f 56 46 53 54 52 41 43 45 0a 20 20  ABLE_VFSTRACE.  
20a0: 22 45 4e 41 42 4c 45 5f 56 46 53 54 52 41 43 45  "ENABLE_VFSTRACE
20b0: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
20c0: 4c 49 54 45 5f 45 4e 41 42 4c 45 5f 57 48 45 52  LITE_ENABLE_WHER
20d0: 45 54 52 41 43 45 0a 20 20 22 45 4e 41 42 4c 45  ETRACE.  "ENABLE
20e0: 5f 57 48 45 52 45 54 52 41 43 45 22 2c 0a 23 65  _WHERETRACE",.#e
20f0: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
2100: 45 4e 41 42 4c 45 5f 5a 49 50 56 46 53 0a 20 20  ENABLE_ZIPVFS.  
2110: 22 45 4e 41 42 4c 45 5f 5a 49 50 56 46 53 22 2c  "ENABLE_ZIPVFS",
2120: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
2130: 54 45 5f 45 58 50 4c 41 49 4e 5f 45 53 54 49 4d  TE_EXPLAIN_ESTIM
2140: 41 54 45 44 5f 52 4f 57 53 0a 20 20 22 45 58 50  ATED_ROWS.  "EXP
2150: 4c 41 49 4e 5f 45 53 54 49 4d 41 54 45 44 5f 52  LAIN_ESTIMATED_R
2160: 4f 57 53 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  OWS",.#endif.#if
2170: 20 53 51 4c 49 54 45 5f 45 58 54 52 41 5f 49 46   SQLITE_EXTRA_IF
2180: 4e 55 4c 4c 52 4f 57 0a 20 20 22 45 58 54 52 41  NULLROW.  "EXTRA
2190: 5f 49 46 4e 55 4c 4c 52 4f 57 22 2c 0a 23 65 6e  _IFNULLROW",.#en
21a0: 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54  dif.#ifdef SQLIT
21b0: 45 5f 45 58 54 52 41 5f 49 4e 49 54 0a 20 20 22  E_EXTRA_INIT.  "
21c0: 45 58 54 52 41 5f 49 4e 49 54 3d 22 20 43 54 49  EXTRA_INIT=" CTI
21d0: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
21e0: 5f 45 58 54 52 41 5f 49 4e 49 54 29 2c 0a 23 65  _EXTRA_INIT),.#e
21f0: 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49  ndif.#ifdef SQLI
2200: 54 45 5f 45 58 54 52 41 5f 53 48 55 54 44 4f 57  TE_EXTRA_SHUTDOW
2210: 4e 0a 20 20 22 45 58 54 52 41 5f 53 48 55 54 44  N.  "EXTRA_SHUTD
2220: 4f 57 4e 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56  OWN=" CTIMEOPT_V
2230: 41 4c 28 53 51 4c 49 54 45 5f 45 58 54 52 41 5f  AL(SQLITE_EXTRA_
2240: 53 48 55 54 44 4f 57 4e 29 2c 0a 23 65 6e 64 69  SHUTDOWN),.#endi
2250: 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  f.#ifdef SQLITE_
2260: 46 54 53 33 5f 4d 41 58 5f 45 58 50 52 5f 44 45  FTS3_MAX_EXPR_DE
2270: 50 54 48 0a 20 20 22 46 54 53 33 5f 4d 41 58 5f  PTH.  "FTS3_MAX_
2280: 45 58 50 52 5f 44 45 50 54 48 3d 22 20 43 54 49  EXPR_DEPTH=" CTI
2290: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
22a0: 5f 46 54 53 33 5f 4d 41 58 5f 45 58 50 52 5f 44  _FTS3_MAX_EXPR_D
22b0: 45 50 54 48 29 2c 0a 23 65 6e 64 69 66 0a 23 69  EPTH),.#endif.#i
22c0: 66 20 53 51 4c 49 54 45 5f 46 54 53 35 5f 45 4e  f SQLITE_FTS5_EN
22d0: 41 42 4c 45 5f 54 45 53 54 5f 4d 49 0a 20 20 22  ABLE_TEST_MI.  "
22e0: 46 54 53 35 5f 45 4e 41 42 4c 45 5f 54 45 53 54  FTS5_ENABLE_TEST
22f0: 5f 4d 49 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  _MI",.#endif.#if
2300: 20 53 51 4c 49 54 45 5f 46 54 53 35 5f 4e 4f 5f   SQLITE_FTS5_NO_
2310: 57 49 54 48 4f 55 54 5f 52 4f 57 49 44 0a 20 20  WITHOUT_ROWID.  
2320: 22 46 54 53 35 5f 4e 4f 5f 57 49 54 48 4f 55 54  "FTS5_NO_WITHOUT
2330: 5f 52 4f 57 49 44 22 2c 0a 23 65 6e 64 69 66 0a  _ROWID",.#endif.
2340: 23 69 66 20 53 51 4c 49 54 45 5f 48 41 53 5f 43  #if SQLITE_HAS_C
2350: 4f 44 45 43 0a 20 20 22 48 41 53 5f 43 4f 44 45  ODEC.  "HAS_CODE
2360: 43 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 48  C",.#endif.#if H
2370: 41 56 45 5f 49 53 4e 41 4e 20 7c 7c 20 53 51 4c  AVE_ISNAN || SQL
2380: 49 54 45 5f 48 41 56 45 5f 49 53 4e 41 4e 0a 20  ITE_HAVE_ISNAN. 
2390: 20 22 48 41 56 45 5f 49 53 4e 41 4e 22 2c 0a 23   "HAVE_ISNAN",.#
23a0: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
23b0: 5f 48 4f 4d 45 47 52 4f 57 4e 5f 52 45 43 55 52  _HOMEGROWN_RECUR
23c0: 53 49 56 45 5f 4d 55 54 45 58 0a 20 20 22 48 4f  SIVE_MUTEX.  "HO
23d0: 4d 45 47 52 4f 57 4e 5f 52 45 43 55 52 53 49 56  MEGROWN_RECURSIV
23e0: 45 5f 4d 55 54 45 58 22 2c 0a 23 65 6e 64 69 66  E_MUTEX",.#endif
23f0: 0a 23 69 66 20 53 51 4c 49 54 45 5f 49 47 4e 4f  .#if SQLITE_IGNO
2400: 52 45 5f 41 46 50 5f 4c 4f 43 4b 5f 45 52 52 4f  RE_AFP_LOCK_ERRO
2410: 52 53 0a 20 20 22 49 47 4e 4f 52 45 5f 41 46 50  RS.  "IGNORE_AFP
2420: 5f 4c 4f 43 4b 5f 45 52 52 4f 52 53 22 2c 0a 23  _LOCK_ERRORS",.#
2430: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
2440: 5f 49 47 4e 4f 52 45 5f 46 4c 4f 43 4b 5f 4c 4f  _IGNORE_FLOCK_LO
2450: 43 4b 5f 45 52 52 4f 52 53 0a 20 20 22 49 47 4e  CK_ERRORS.  "IGN
2460: 4f 52 45 5f 46 4c 4f 43 4b 5f 4c 4f 43 4b 5f 45  ORE_FLOCK_LOCK_E
2470: 52 52 4f 52 53 22 2c 0a 23 65 6e 64 69 66 0a 23  RRORS",.#endif.#
2480: 69 66 20 53 51 4c 49 54 45 5f 49 4e 4c 49 4e 45  if SQLITE_INLINE
2490: 5f 4d 45 4d 43 50 59 0a 20 20 22 49 4e 4c 49 4e  _MEMCPY.  "INLIN
24a0: 45 5f 4d 45 4d 43 50 59 22 2c 0a 23 65 6e 64 69  E_MEMCPY",.#endi
24b0: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 49 4e 54  f.#if SQLITE_INT
24c0: 36 34 5f 54 59 50 45 0a 20 20 22 49 4e 54 36 34  64_TYPE.  "INT64
24d0: 5f 54 59 50 45 22 2c 0a 23 65 6e 64 69 66 0a 23  _TYPE",.#endif.#
24e0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 49 4e 54  ifdef SQLITE_INT
24f0: 45 47 52 49 54 59 5f 43 48 45 43 4b 5f 45 52 52  EGRITY_CHECK_ERR
2500: 4f 52 5f 4d 41 58 0a 20 20 22 49 4e 54 45 47 52  OR_MAX.  "INTEGR
2510: 49 54 59 5f 43 48 45 43 4b 5f 45 52 52 4f 52 5f  ITY_CHECK_ERROR_
2520: 4d 41 58 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56  MAX=" CTIMEOPT_V
2530: 41 4c 28 53 51 4c 49 54 45 5f 49 4e 54 45 47 52  AL(SQLITE_INTEGR
2540: 49 54 59 5f 43 48 45 43 4b 5f 45 52 52 4f 52 5f  ITY_CHECK_ERROR_
2550: 4d 41 58 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66  MAX),.#endif.#if
2560: 20 53 51 4c 49 54 45 5f 4c 49 4b 45 5f 44 4f 45   SQLITE_LIKE_DOE
2570: 53 4e 54 5f 4d 41 54 43 48 5f 42 4c 4f 42 53 0a  SNT_MATCH_BLOBS.
2580: 20 20 22 4c 49 4b 45 5f 44 4f 45 53 4e 54 5f 4d    "LIKE_DOESNT_M
2590: 41 54 43 48 5f 42 4c 4f 42 53 22 2c 0a 23 65 6e  ATCH_BLOBS",.#en
25a0: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4c  dif.#if SQLITE_L
25b0: 4f 43 4b 5f 54 52 41 43 45 0a 20 20 22 4c 4f 43  OCK_TRACE.  "LOC
25c0: 4b 5f 54 52 41 43 45 22 2c 0a 23 65 6e 64 69 66  K_TRACE",.#endif
25d0: 0a 23 69 66 20 53 51 4c 49 54 45 5f 4c 4f 47 5f  .#if SQLITE_LOG_
25e0: 43 41 43 48 45 5f 53 50 49 4c 4c 0a 20 20 22 4c  CACHE_SPILL.  "L
25f0: 4f 47 5f 43 41 43 48 45 5f 53 50 49 4c 4c 22 2c  OG_CACHE_SPILL",
2600: 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53  .#endif.#ifdef S
2610: 51 4c 49 54 45 5f 4d 41 4c 4c 4f 43 5f 53 4f 46  QLITE_MALLOC_SOF
2620: 54 5f 4c 49 4d 49 54 0a 20 20 22 4d 41 4c 4c 4f  T_LIMIT.  "MALLO
2630: 43 5f 53 4f 46 54 5f 4c 49 4d 49 54 3d 22 20 43  C_SOFT_LIMIT=" C
2640: 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49  TIMEOPT_VAL(SQLI
2650: 54 45 5f 4d 41 4c 4c 4f 43 5f 53 4f 46 54 5f 4c  TE_MALLOC_SOFT_L
2660: 49 4d 49 54 29 2c 0a 23 65 6e 64 69 66 0a 23 69  IMIT),.#endif.#i
2670: 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 41 58 5f  fdef SQLITE_MAX_
2680: 41 54 54 41 43 48 45 44 0a 20 20 22 4d 41 58 5f  ATTACHED.  "MAX_
2690: 41 54 54 41 43 48 45 44 3d 22 20 43 54 49 4d 45  ATTACHED=" CTIME
26a0: 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45 5f 4d  OPT_VAL(SQLITE_M
26b0: 41 58 5f 41 54 54 41 43 48 45 44 29 2c 0a 23 65  AX_ATTACHED),.#e
26c0: 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49  ndif.#ifdef SQLI
26d0: 54 45 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 0a 20 20  TE_MAX_COLUMN.  
26e0: 22 4d 41 58 5f 43 4f 4c 55 4d 4e 3d 22 20 43 54  "MAX_COLUMN=" CT
26f0: 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54  IMEOPT_VAL(SQLIT
2700: 45 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 29 2c 0a 23  E_MAX_COLUMN),.#
2710: 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c  endif.#ifdef SQL
2720: 49 54 45 5f 4d 41 58 5f 43 4f 4d 50 4f 55 4e 44  ITE_MAX_COMPOUND
2730: 5f 53 45 4c 45 43 54 0a 20 20 22 4d 41 58 5f 43  _SELECT.  "MAX_C
2740: 4f 4d 50 4f 55 4e 44 5f 53 45 4c 45 43 54 3d 22  OMPOUND_SELECT="
2750: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51   CTIMEOPT_VAL(SQ
2760: 4c 49 54 45 5f 4d 41 58 5f 43 4f 4d 50 4f 55 4e  LITE_MAX_COMPOUN
2770: 44 5f 53 45 4c 45 43 54 29 2c 0a 23 65 6e 64 69  D_SELECT),.#endi
2780: 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  f.#ifdef SQLITE_
2790: 4d 41 58 5f 44 45 46 41 55 4c 54 5f 50 41 47 45  MAX_DEFAULT_PAGE
27a0: 5f 53 49 5a 45 0a 20 20 22 4d 41 58 5f 44 45 46  _SIZE.  "MAX_DEF
27b0: 41 55 4c 54 5f 50 41 47 45 5f 53 49 5a 45 3d 22  AULT_PAGE_SIZE="
27c0: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51   CTIMEOPT_VAL(SQ
27d0: 4c 49 54 45 5f 4d 41 58 5f 44 45 46 41 55 4c 54  LITE_MAX_DEFAULT
27e0: 5f 50 41 47 45 5f 53 49 5a 45 29 2c 0a 23 65 6e  _PAGE_SIZE),.#en
27f0: 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54  dif.#ifdef SQLIT
2800: 45 5f 4d 41 58 5f 45 58 50 52 5f 44 45 50 54 48  E_MAX_EXPR_DEPTH
2810: 0a 20 20 22 4d 41 58 5f 45 58 50 52 5f 44 45 50  .  "MAX_EXPR_DEP
2820: 54 48 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56 41  TH=" CTIMEOPT_VA
2830: 4c 28 53 51 4c 49 54 45 5f 4d 41 58 5f 45 58 50  L(SQLITE_MAX_EXP
2840: 52 5f 44 45 50 54 48 29 2c 0a 23 65 6e 64 69 66  R_DEPTH),.#endif
2850: 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4d  .#ifdef SQLITE_M
2860: 41 58 5f 46 55 4e 43 54 49 4f 4e 5f 41 52 47 0a  AX_FUNCTION_ARG.
2870: 20 20 22 4d 41 58 5f 46 55 4e 43 54 49 4f 4e 5f    "MAX_FUNCTION_
2880: 41 52 47 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56  ARG=" CTIMEOPT_V
2890: 41 4c 28 53 51 4c 49 54 45 5f 4d 41 58 5f 46 55  AL(SQLITE_MAX_FU
28a0: 4e 43 54 49 4f 4e 5f 41 52 47 29 2c 0a 23 65 6e  NCTION_ARG),.#en
28b0: 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54  dif.#ifdef SQLIT
28c0: 45 5f 4d 41 58 5f 4c 45 4e 47 54 48 0a 20 20 22  E_MAX_LENGTH.  "
28d0: 4d 41 58 5f 4c 45 4e 47 54 48 3d 22 20 43 54 49  MAX_LENGTH=" CTI
28e0: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
28f0: 5f 4d 41 58 5f 4c 45 4e 47 54 48 29 2c 0a 23 65  _MAX_LENGTH),.#e
2900: 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49  ndif.#ifdef SQLI
2910: 54 45 5f 4d 41 58 5f 4c 49 4b 45 5f 50 41 54 54  TE_MAX_LIKE_PATT
2920: 45 52 4e 5f 4c 45 4e 47 54 48 0a 20 20 22 4d 41  ERN_LENGTH.  "MA
2930: 58 5f 4c 49 4b 45 5f 50 41 54 54 45 52 4e 5f 4c  X_LIKE_PATTERN_L
2940: 45 4e 47 54 48 3d 22 20 43 54 49 4d 45 4f 50 54  ENGTH=" CTIMEOPT
2950: 5f 56 41 4c 28 53 51 4c 49 54 45 5f 4d 41 58 5f  _VAL(SQLITE_MAX_
2960: 4c 49 4b 45 5f 50 41 54 54 45 52 4e 5f 4c 45 4e  LIKE_PATTERN_LEN
2970: 47 54 48 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66  GTH),.#endif.#if
2980: 64 65 66 20 53 51 4c 49 54 45 5f 4d 41 58 5f 4d  def SQLITE_MAX_M
2990: 45 4d 4f 52 59 0a 20 20 22 4d 41 58 5f 4d 45 4d  EMORY.  "MAX_MEM
29a0: 4f 52 59 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56  ORY=" CTIMEOPT_V
29b0: 41 4c 28 53 51 4c 49 54 45 5f 4d 41 58 5f 4d 45  AL(SQLITE_MAX_ME
29c0: 4d 4f 52 59 29 2c 0a 23 65 6e 64 69 66 0a 23 69  MORY),.#endif.#i
29d0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 41 58 5f  fdef SQLITE_MAX_
29e0: 4d 4d 41 50 5f 53 49 5a 45 0a 20 20 22 4d 41 58  MMAP_SIZE.  "MAX
29f0: 5f 4d 4d 41 50 5f 53 49 5a 45 3d 22 20 43 54 49  _MMAP_SIZE=" CTI
2a00: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
2a10: 5f 4d 41 58 5f 4d 4d 41 50 5f 53 49 5a 45 29 2c  _MAX_MMAP_SIZE),
2a20: 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 53  .#endif.#ifdef S
2a30: 51 4c 49 54 45 5f 4d 41 58 5f 4d 4d 41 50 5f 53  QLITE_MAX_MMAP_S
2a40: 49 5a 45 5f 0a 20 20 22 4d 41 58 5f 4d 4d 41 50  IZE_.  "MAX_MMAP
2a50: 5f 53 49 5a 45 5f 3d 22 20 43 54 49 4d 45 4f 50  _SIZE_=" CTIMEOP
2a60: 54 5f 56 41 4c 28 53 51 4c 49 54 45 5f 4d 41 58  T_VAL(SQLITE_MAX
2a70: 5f 4d 4d 41 50 5f 53 49 5a 45 5f 29 2c 0a 23 65  _MMAP_SIZE_),.#e
2a80: 6e 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49  ndif.#ifdef SQLI
2a90: 54 45 5f 4d 41 58 5f 50 41 47 45 5f 43 4f 55 4e  TE_MAX_PAGE_COUN
2aa0: 54 0a 20 20 22 4d 41 58 5f 50 41 47 45 5f 43 4f  T.  "MAX_PAGE_CO
2ab0: 55 4e 54 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56  UNT=" CTIMEOPT_V
2ac0: 41 4c 28 53 51 4c 49 54 45 5f 4d 41 58 5f 50 41  AL(SQLITE_MAX_PA
2ad0: 47 45 5f 43 4f 55 4e 54 29 2c 0a 23 65 6e 64 69  GE_COUNT),.#endi
2ae0: 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  f.#ifdef SQLITE_
2af0: 4d 41 58 5f 50 41 47 45 5f 53 49 5a 45 0a 20 20  MAX_PAGE_SIZE.  
2b00: 22 4d 41 58 5f 50 41 47 45 5f 53 49 5a 45 3d 22  "MAX_PAGE_SIZE="
2b10: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51   CTIMEOPT_VAL(SQ
2b20: 4c 49 54 45 5f 4d 41 58 5f 50 41 47 45 5f 53 49  LITE_MAX_PAGE_SI
2b30: 5a 45 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 64  ZE),.#endif.#ifd
2b40: 65 66 20 53 51 4c 49 54 45 5f 4d 41 58 5f 53 43  ef SQLITE_MAX_SC
2b50: 48 45 4d 41 5f 52 45 54 52 59 0a 20 20 22 4d 41  HEMA_RETRY.  "MA
2b60: 58 5f 53 43 48 45 4d 41 5f 52 45 54 52 59 3d 22  X_SCHEMA_RETRY="
2b70: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51   CTIMEOPT_VAL(SQ
2b80: 4c 49 54 45 5f 4d 41 58 5f 53 43 48 45 4d 41 5f  LITE_MAX_SCHEMA_
2b90: 52 45 54 52 59 29 2c 0a 23 65 6e 64 69 66 0a 23  RETRY),.#endif.#
2ba0: 69 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 41 58  ifdef SQLITE_MAX
2bb0: 5f 53 51 4c 5f 4c 45 4e 47 54 48 0a 20 20 22 4d  _SQL_LENGTH.  "M
2bc0: 41 58 5f 53 51 4c 5f 4c 45 4e 47 54 48 3d 22 20  AX_SQL_LENGTH=" 
2bd0: 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c  CTIMEOPT_VAL(SQL
2be0: 49 54 45 5f 4d 41 58 5f 53 51 4c 5f 4c 45 4e 47  ITE_MAX_SQL_LENG
2bf0: 54 48 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 64  TH),.#endif.#ifd
2c00: 65 66 20 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52  ef SQLITE_MAX_TR
2c10: 49 47 47 45 52 5f 44 45 50 54 48 0a 20 20 22 4d  IGGER_DEPTH.  "M
2c20: 41 58 5f 54 52 49 47 47 45 52 5f 44 45 50 54 48  AX_TRIGGER_DEPTH
2c30: 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28  =" CTIMEOPT_VAL(
2c40: 53 51 4c 49 54 45 5f 4d 41 58 5f 54 52 49 47 47  SQLITE_MAX_TRIGG
2c50: 45 52 5f 44 45 50 54 48 29 2c 0a 23 65 6e 64 69  ER_DEPTH),.#endi
2c60: 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  f.#ifdef SQLITE_
2c70: 4d 41 58 5f 56 41 52 49 41 42 4c 45 5f 4e 55 4d  MAX_VARIABLE_NUM
2c80: 42 45 52 0a 20 20 22 4d 41 58 5f 56 41 52 49 41  BER.  "MAX_VARIA
2c90: 42 4c 45 5f 4e 55 4d 42 45 52 3d 22 20 43 54 49  BLE_NUMBER=" CTI
2ca0: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
2cb0: 5f 4d 41 58 5f 56 41 52 49 41 42 4c 45 5f 4e 55  _MAX_VARIABLE_NU
2cc0: 4d 42 45 52 29 2c 0a 23 65 6e 64 69 66 0a 23 69  MBER),.#endif.#i
2cd0: 66 64 65 66 20 53 51 4c 49 54 45 5f 4d 41 58 5f  fdef SQLITE_MAX_
2ce0: 56 44 42 45 5f 4f 50 0a 20 20 22 4d 41 58 5f 56  VDBE_OP.  "MAX_V
2cf0: 44 42 45 5f 4f 50 3d 22 20 43 54 49 4d 45 4f 50  DBE_OP=" CTIMEOP
2d00: 54 5f 56 41 4c 28 53 51 4c 49 54 45 5f 4d 41 58  T_VAL(SQLITE_MAX
2d10: 5f 56 44 42 45 5f 4f 50 29 2c 0a 23 65 6e 64 69  _VDBE_OP),.#endi
2d20: 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  f.#ifdef SQLITE_
2d30: 4d 41 58 5f 57 4f 52 4b 45 52 5f 54 48 52 45 41  MAX_WORKER_THREA
2d40: 44 53 0a 20 20 22 4d 41 58 5f 57 4f 52 4b 45 52  DS.  "MAX_WORKER
2d50: 5f 54 48 52 45 41 44 53 3d 22 20 43 54 49 4d 45  _THREADS=" CTIME
2d60: 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45 5f 4d  OPT_VAL(SQLITE_M
2d70: 41 58 5f 57 4f 52 4b 45 52 5f 54 48 52 45 41 44  AX_WORKER_THREAD
2d80: 53 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53  S),.#endif.#if S
2d90: 51 4c 49 54 45 5f 4d 45 4d 44 45 42 55 47 0a 20  QLITE_MEMDEBUG. 
2da0: 20 22 4d 45 4d 44 45 42 55 47 22 2c 0a 23 65 6e   "MEMDEBUG",.#en
2db0: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4d  dif.#if SQLITE_M
2dc0: 49 58 45 44 5f 45 4e 44 49 41 4e 5f 36 34 42 49  IXED_ENDIAN_64BI
2dd0: 54 5f 46 4c 4f 41 54 0a 20 20 22 4d 49 58 45 44  T_FLOAT.  "MIXED
2de0: 5f 45 4e 44 49 41 4e 5f 36 34 42 49 54 5f 46 4c  _ENDIAN_64BIT_FL
2df0: 4f 41 54 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  OAT",.#endif.#if
2e00: 20 53 51 4c 49 54 45 5f 4d 4d 41 50 5f 52 45 41   SQLITE_MMAP_REA
2e10: 44 57 52 49 54 45 0a 20 20 22 4d 4d 41 50 5f 52  DWRITE.  "MMAP_R
2e20: 45 41 44 57 52 49 54 45 22 2c 0a 23 65 6e 64 69  EADWRITE",.#endi
2e30: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4d 55 54  f.#if SQLITE_MUT
2e40: 45 58 5f 4e 4f 4f 50 0a 20 20 22 4d 55 54 45 58  EX_NOOP.  "MUTEX
2e50: 5f 4e 4f 4f 50 22 2c 0a 23 65 6e 64 69 66 0a 23  _NOOP",.#endif.#
2e60: 69 66 20 53 51 4c 49 54 45 5f 4d 55 54 45 58 5f  if SQLITE_MUTEX_
2e70: 4e 52 45 46 0a 20 20 22 4d 55 54 45 58 5f 4e 52  NREF.  "MUTEX_NR
2e80: 45 46 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  EF",.#endif.#if 
2e90: 53 51 4c 49 54 45 5f 4d 55 54 45 58 5f 4f 4d 49  SQLITE_MUTEX_OMI
2ea0: 54 0a 20 20 22 4d 55 54 45 58 5f 4f 4d 49 54 22  T.  "MUTEX_OMIT"
2eb0: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
2ec0: 49 54 45 5f 4d 55 54 45 58 5f 50 54 48 52 45 41  ITE_MUTEX_PTHREA
2ed0: 44 53 0a 20 20 22 4d 55 54 45 58 5f 50 54 48 52  DS.  "MUTEX_PTHR
2ee0: 45 41 44 53 22 2c 0a 23 65 6e 64 69 66 0a 23 69  EADS",.#endif.#i
2ef0: 66 20 53 51 4c 49 54 45 5f 4d 55 54 45 58 5f 57  f SQLITE_MUTEX_W
2f00: 33 32 0a 20 20 22 4d 55 54 45 58 5f 57 33 32 22  32.  "MUTEX_W32"
2f10: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
2f20: 49 54 45 5f 4e 45 45 44 5f 45 52 52 5f 4e 41 4d  ITE_NEED_ERR_NAM
2f30: 45 0a 20 20 22 4e 45 45 44 5f 45 52 52 5f 4e 41  E.  "NEED_ERR_NA
2f40: 4d 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  ME",.#endif.#if 
2f50: 53 51 4c 49 54 45 5f 4e 4f 49 4e 4c 49 4e 45 0a  SQLITE_NOINLINE.
2f60: 20 20 22 4e 4f 49 4e 4c 49 4e 45 22 2c 0a 23 65    "NOINLINE",.#e
2f70: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
2f80: 4e 4f 5f 53 59 4e 43 0a 20 20 22 4e 4f 5f 53 59  NO_SYNC.  "NO_SY
2f90: 4e 43 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  NC",.#endif.#if 
2fa0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 4c 54 45  SQLITE_OMIT_ALTE
2fb0: 52 54 41 42 4c 45 0a 20 20 22 4f 4d 49 54 5f 41  RTABLE.  "OMIT_A
2fc0: 4c 54 45 52 54 41 42 4c 45 22 2c 0a 23 65 6e 64  LTERTABLE",.#end
2fd0: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d  if.#if SQLITE_OM
2fe0: 49 54 5f 41 4e 41 4c 59 5a 45 0a 20 20 22 4f 4d  IT_ANALYZE.  "OM
2ff0: 49 54 5f 41 4e 41 4c 59 5a 45 22 2c 0a 23 65 6e  IT_ANALYZE",.#en
3000: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f  dif.#if SQLITE_O
3010: 4d 49 54 5f 41 54 54 41 43 48 0a 20 20 22 4f 4d  MIT_ATTACH.  "OM
3020: 49 54 5f 41 54 54 41 43 48 22 2c 0a 23 65 6e 64  IT_ATTACH",.#end
3030: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d  if.#if SQLITE_OM
3040: 49 54 5f 41 55 54 48 4f 52 49 5a 41 54 49 4f 4e  IT_AUTHORIZATION
3050: 0a 20 20 22 4f 4d 49 54 5f 41 55 54 48 4f 52 49  .  "OMIT_AUTHORI
3060: 5a 41 54 49 4f 4e 22 2c 0a 23 65 6e 64 69 66 0a  ZATION",.#endif.
3070: 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  #if SQLITE_OMIT_
3080: 41 55 54 4f 49 4e 43 52 45 4d 45 4e 54 0a 20 20  AUTOINCREMENT.  
3090: 22 4f 4d 49 54 5f 41 55 54 4f 49 4e 43 52 45 4d  "OMIT_AUTOINCREM
30a0: 45 4e 54 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  ENT",.#endif.#if
30b0: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 41 55 54   SQLITE_OMIT_AUT
30c0: 4f 49 4e 49 54 0a 20 20 22 4f 4d 49 54 5f 41 55  OINIT.  "OMIT_AU
30d0: 54 4f 49 4e 49 54 22 2c 0a 23 65 6e 64 69 66 0a  TOINIT",.#endif.
30e0: 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  #if SQLITE_OMIT_
30f0: 41 55 54 4f 4d 41 54 49 43 5f 49 4e 44 45 58 0a  AUTOMATIC_INDEX.
3100: 20 20 22 4f 4d 49 54 5f 41 55 54 4f 4d 41 54 49    "OMIT_AUTOMATI
3110: 43 5f 49 4e 44 45 58 22 2c 0a 23 65 6e 64 69 66  C_INDEX",.#endif
3120: 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  .#if SQLITE_OMIT
3130: 5f 41 55 54 4f 52 45 53 45 54 0a 20 20 22 4f 4d  _AUTORESET.  "OM
3140: 49 54 5f 41 55 54 4f 52 45 53 45 54 22 2c 0a 23  IT_AUTORESET",.#
3150: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
3160: 5f 4f 4d 49 54 5f 41 55 54 4f 56 41 43 55 55 4d  _OMIT_AUTOVACUUM
3170: 0a 20 20 22 4f 4d 49 54 5f 41 55 54 4f 56 41 43  .  "OMIT_AUTOVAC
3180: 55 55 4d 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  UUM",.#endif.#if
3190: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 42 45 54   SQLITE_OMIT_BET
31a0: 57 45 45 4e 5f 4f 50 54 49 4d 49 5a 41 54 49 4f  WEEN_OPTIMIZATIO
31b0: 4e 0a 20 20 22 4f 4d 49 54 5f 42 45 54 57 45 45  N.  "OMIT_BETWEE
31c0: 4e 5f 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 22 2c  N_OPTIMIZATION",
31d0: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
31e0: 54 45 5f 4f 4d 49 54 5f 42 4c 4f 42 5f 4c 49 54  TE_OMIT_BLOB_LIT
31f0: 45 52 41 4c 0a 20 20 22 4f 4d 49 54 5f 42 4c 4f  ERAL.  "OMIT_BLO
3200: 42 5f 4c 49 54 45 52 41 4c 22 2c 0a 23 65 6e 64  B_LITERAL",.#end
3210: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d  if.#if SQLITE_OM
3220: 49 54 5f 42 54 52 45 45 43 4f 55 4e 54 0a 20 20  IT_BTREECOUNT.  
3230: 22 4f 4d 49 54 5f 42 54 52 45 45 43 4f 55 4e 54  "OMIT_BTREECOUNT
3240: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
3250: 4c 49 54 45 5f 4f 4d 49 54 5f 43 41 53 54 0a 20  LITE_OMIT_CAST. 
3260: 20 22 4f 4d 49 54 5f 43 41 53 54 22 2c 0a 23 65   "OMIT_CAST",.#e
3270: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
3280: 4f 4d 49 54 5f 43 48 45 43 4b 0a 20 20 22 4f 4d  OMIT_CHECK.  "OM
3290: 49 54 5f 43 48 45 43 4b 22 2c 0a 23 65 6e 64 69  IT_CHECK",.#endi
32a0: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49  f.#if SQLITE_OMI
32b0: 54 5f 43 4f 4d 50 4c 45 54 45 0a 20 20 22 4f 4d  T_COMPLETE.  "OM
32c0: 49 54 5f 43 4f 4d 50 4c 45 54 45 22 2c 0a 23 65  IT_COMPLETE",.#e
32d0: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
32e0: 4f 4d 49 54 5f 43 4f 4d 50 4f 55 4e 44 5f 53 45  OMIT_COMPOUND_SE
32f0: 4c 45 43 54 0a 20 20 22 4f 4d 49 54 5f 43 4f 4d  LECT.  "OMIT_COM
3300: 50 4f 55 4e 44 5f 53 45 4c 45 43 54 22 2c 0a 23  POUND_SELECT",.#
3310: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
3320: 5f 4f 4d 49 54 5f 43 4f 4e 46 4c 49 43 54 5f 43  _OMIT_CONFLICT_C
3330: 4c 41 55 53 45 0a 20 20 22 4f 4d 49 54 5f 43 4f  LAUSE.  "OMIT_CO
3340: 4e 46 4c 49 43 54 5f 43 4c 41 55 53 45 22 2c 0a  NFLICT_CLAUSE",.
3350: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
3360: 45 5f 4f 4d 49 54 5f 43 54 45 0a 20 20 22 4f 4d  E_OMIT_CTE.  "OM
3370: 49 54 5f 43 54 45 22 2c 0a 23 65 6e 64 69 66 0a  IT_CTE",.#endif.
3380: 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  #if SQLITE_OMIT_
3390: 44 41 54 45 54 49 4d 45 5f 46 55 4e 43 53 0a 20  DATETIME_FUNCS. 
33a0: 20 22 4f 4d 49 54 5f 44 41 54 45 54 49 4d 45 5f   "OMIT_DATETIME_
33b0: 46 55 4e 43 53 22 2c 0a 23 65 6e 64 69 66 0a 23  FUNCS",.#endif.#
33c0: 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 44  if SQLITE_OMIT_D
33d0: 45 43 4c 54 59 50 45 0a 20 20 22 4f 4d 49 54 5f  ECLTYPE.  "OMIT_
33e0: 44 45 43 4c 54 59 50 45 22 2c 0a 23 65 6e 64 69  DECLTYPE",.#endi
33f0: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49  f.#if SQLITE_OMI
3400: 54 5f 44 45 50 52 45 43 41 54 45 44 0a 20 20 22  T_DEPRECATED.  "
3410: 4f 4d 49 54 5f 44 45 50 52 45 43 41 54 45 44 22  OMIT_DEPRECATED"
3420: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
3430: 49 54 45 5f 4f 4d 49 54 5f 44 49 53 4b 49 4f 0a  ITE_OMIT_DISKIO.
3440: 20 20 22 4f 4d 49 54 5f 44 49 53 4b 49 4f 22 2c    "OMIT_DISKIO",
3450: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
3460: 54 45 5f 4f 4d 49 54 5f 45 58 50 4c 41 49 4e 0a  TE_OMIT_EXPLAIN.
3470: 20 20 22 4f 4d 49 54 5f 45 58 50 4c 41 49 4e 22    "OMIT_EXPLAIN"
3480: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
3490: 49 54 45 5f 4f 4d 49 54 5f 46 4c 41 47 5f 50 52  ITE_OMIT_FLAG_PR
34a0: 41 47 4d 41 53 0a 20 20 22 4f 4d 49 54 5f 46 4c  AGMAS.  "OMIT_FL
34b0: 41 47 5f 50 52 41 47 4d 41 53 22 2c 0a 23 65 6e  AG_PRAGMAS",.#en
34c0: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f  dif.#if SQLITE_O
34d0: 4d 49 54 5f 46 4c 4f 41 54 49 4e 47 5f 50 4f 49  MIT_FLOATING_POI
34e0: 4e 54 0a 20 20 22 4f 4d 49 54 5f 46 4c 4f 41 54  NT.  "OMIT_FLOAT
34f0: 49 4e 47 5f 50 4f 49 4e 54 22 2c 0a 23 65 6e 64  ING_POINT",.#end
3500: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d  if.#if SQLITE_OM
3510: 49 54 5f 46 4f 52 45 49 47 4e 5f 4b 45 59 0a 20  IT_FOREIGN_KEY. 
3520: 20 22 4f 4d 49 54 5f 46 4f 52 45 49 47 4e 5f 4b   "OMIT_FOREIGN_K
3530: 45 59 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  EY",.#endif.#if 
3540: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 47 45 54 5f  SQLITE_OMIT_GET_
3550: 54 41 42 4c 45 0a 20 20 22 4f 4d 49 54 5f 47 45  TABLE.  "OMIT_GE
3560: 54 5f 54 41 42 4c 45 22 2c 0a 23 65 6e 64 69 66  T_TABLE",.#endif
3570: 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  .#if SQLITE_OMIT
3580: 5f 48 45 58 5f 49 4e 54 45 47 45 52 0a 20 20 22  _HEX_INTEGER.  "
3590: 4f 4d 49 54 5f 48 45 58 5f 49 4e 54 45 47 45 52  OMIT_HEX_INTEGER
35a0: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
35b0: 4c 49 54 45 5f 4f 4d 49 54 5f 49 4e 43 52 42 4c  LITE_OMIT_INCRBL
35c0: 4f 42 0a 20 20 22 4f 4d 49 54 5f 49 4e 43 52 42  OB.  "OMIT_INCRB
35d0: 4c 4f 42 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  LOB",.#endif.#if
35e0: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 49 4e 54   SQLITE_OMIT_INT
35f0: 45 47 52 49 54 59 5f 43 48 45 43 4b 0a 20 20 22  EGRITY_CHECK.  "
3600: 4f 4d 49 54 5f 49 4e 54 45 47 52 49 54 59 5f 43  OMIT_INTEGRITY_C
3610: 48 45 43 4b 22 2c 0a 23 65 6e 64 69 66 0a 23 69  HECK",.#endif.#i
3620: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4c 49  f SQLITE_OMIT_LI
3630: 4b 45 5f 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 0a  KE_OPTIMIZATION.
3640: 20 20 22 4f 4d 49 54 5f 4c 49 4b 45 5f 4f 50 54    "OMIT_LIKE_OPT
3650: 49 4d 49 5a 41 54 49 4f 4e 22 2c 0a 23 65 6e 64  IMIZATION",.#end
3660: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d  if.#if SQLITE_OM
3670: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
3680: 4e 0a 20 20 22 4f 4d 49 54 5f 4c 4f 41 44 5f 45  N.  "OMIT_LOAD_E
3690: 58 54 45 4e 53 49 4f 4e 22 2c 0a 23 65 6e 64 69  XTENSION",.#endi
36a0: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49  f.#if SQLITE_OMI
36b0: 54 5f 4c 4f 43 41 4c 54 49 4d 45 0a 20 20 22 4f  T_LOCALTIME.  "O
36c0: 4d 49 54 5f 4c 4f 43 41 4c 54 49 4d 45 22 2c 0a  MIT_LOCALTIME",.
36d0: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
36e0: 45 5f 4f 4d 49 54 5f 4c 4f 4f 4b 41 53 49 44 45  E_OMIT_LOOKASIDE
36f0: 0a 20 20 22 4f 4d 49 54 5f 4c 4f 4f 4b 41 53 49  .  "OMIT_LOOKASI
3700: 44 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  DE",.#endif.#if 
3710: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4d 45 4d 4f  SQLITE_OMIT_MEMO
3720: 52 59 44 42 0a 20 20 22 4f 4d 49 54 5f 4d 45 4d  RYDB.  "OMIT_MEM
3730: 4f 52 59 44 42 22 2c 0a 23 65 6e 64 69 66 0a 23  ORYDB",.#endif.#
3740: 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 4f  if SQLITE_OMIT_O
3750: 52 5f 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 0a 20  R_OPTIMIZATION. 
3760: 20 22 4f 4d 49 54 5f 4f 52 5f 4f 50 54 49 4d 49   "OMIT_OR_OPTIMI
3770: 5a 41 54 49 4f 4e 22 2c 0a 23 65 6e 64 69 66 0a  ZATION",.#endif.
3780: 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  #if SQLITE_OMIT_
3790: 50 41 47 45 52 5f 50 52 41 47 4d 41 53 0a 20 20  PAGER_PRAGMAS.  
37a0: 22 4f 4d 49 54 5f 50 41 47 45 52 5f 50 52 41 47  "OMIT_PAGER_PRAG
37b0: 4d 41 53 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  MAS",.#endif.#if
37c0: 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 50 41 52   SQLITE_OMIT_PAR
37d0: 53 45 52 5f 54 52 41 43 45 0a 20 20 22 4f 4d 49  SER_TRACE.  "OMI
37e0: 54 5f 50 41 52 53 45 52 5f 54 52 41 43 45 22 2c  T_PARSER_TRACE",
37f0: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
3800: 54 45 5f 4f 4d 49 54 5f 50 4f 50 45 4e 0a 20 20  TE_OMIT_POPEN.  
3810: 22 4f 4d 49 54 5f 50 4f 50 45 4e 22 2c 0a 23 65  "OMIT_POPEN",.#e
3820: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
3830: 4f 4d 49 54 5f 50 52 41 47 4d 41 0a 20 20 22 4f  OMIT_PRAGMA.  "O
3840: 4d 49 54 5f 50 52 41 47 4d 41 22 2c 0a 23 65 6e  MIT_PRAGMA",.#en
3850: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f  dif.#if SQLITE_O
3860: 4d 49 54 5f 50 52 4f 47 52 45 53 53 5f 43 41 4c  MIT_PROGRESS_CAL
3870: 4c 42 41 43 4b 0a 20 20 22 4f 4d 49 54 5f 50 52  LBACK.  "OMIT_PR
3880: 4f 47 52 45 53 53 5f 43 41 4c 4c 42 41 43 4b 22  OGRESS_CALLBACK"
3890: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
38a0: 49 54 45 5f 4f 4d 49 54 5f 51 55 49 43 4b 42 41  ITE_OMIT_QUICKBA
38b0: 4c 41 4e 43 45 0a 20 20 22 4f 4d 49 54 5f 51 55  LANCE.  "OMIT_QU
38c0: 49 43 4b 42 41 4c 41 4e 43 45 22 2c 0a 23 65 6e  ICKBALANCE",.#en
38d0: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f  dif.#if SQLITE_O
38e0: 4d 49 54 5f 52 45 49 4e 44 45 58 0a 20 20 22 4f  MIT_REINDEX.  "O
38f0: 4d 49 54 5f 52 45 49 4e 44 45 58 22 2c 0a 23 65  MIT_REINDEX",.#e
3900: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
3910: 4f 4d 49 54 5f 53 43 48 45 4d 41 5f 50 52 41 47  OMIT_SCHEMA_PRAG
3920: 4d 41 53 0a 20 20 22 4f 4d 49 54 5f 53 43 48 45  MAS.  "OMIT_SCHE
3930: 4d 41 5f 50 52 41 47 4d 41 53 22 2c 0a 23 65 6e  MA_PRAGMAS",.#en
3940: 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f  dif.#if SQLITE_O
3950: 4d 49 54 5f 53 43 48 45 4d 41 5f 56 45 52 53 49  MIT_SCHEMA_VERSI
3960: 4f 4e 5f 50 52 41 47 4d 41 53 0a 20 20 22 4f 4d  ON_PRAGMAS.  "OM
3970: 49 54 5f 53 43 48 45 4d 41 5f 56 45 52 53 49 4f  IT_SCHEMA_VERSIO
3980: 4e 5f 50 52 41 47 4d 41 53 22 2c 0a 23 65 6e 64  N_PRAGMAS",.#end
3990: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d  if.#if SQLITE_OM
39a0: 49 54 5f 53 48 41 52 45 44 5f 43 41 43 48 45 0a  IT_SHARED_CACHE.
39b0: 20 20 22 4f 4d 49 54 5f 53 48 41 52 45 44 5f 43    "OMIT_SHARED_C
39c0: 41 43 48 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69  ACHE",.#endif.#i
39d0: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 53 48  f SQLITE_OMIT_SH
39e0: 55 54 44 4f 57 4e 5f 44 49 52 45 43 54 4f 52 49  UTDOWN_DIRECTORI
39f0: 45 53 0a 20 20 22 4f 4d 49 54 5f 53 48 55 54 44  ES.  "OMIT_SHUTD
3a00: 4f 57 4e 5f 44 49 52 45 43 54 4f 52 49 45 53 22  OWN_DIRECTORIES"
3a10: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
3a20: 49 54 45 5f 4f 4d 49 54 5f 53 55 42 51 55 45 52  ITE_OMIT_SUBQUER
3a30: 59 0a 20 20 22 4f 4d 49 54 5f 53 55 42 51 55 45  Y.  "OMIT_SUBQUE
3a40: 52 59 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  RY",.#endif.#if 
3a50: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 43 4c 5f  SQLITE_OMIT_TCL_
3a60: 56 41 52 49 41 42 4c 45 0a 20 20 22 4f 4d 49 54  VARIABLE.  "OMIT
3a70: 5f 54 43 4c 5f 56 41 52 49 41 42 4c 45 22 2c 0a  _TCL_VARIABLE",.
3a80: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
3a90: 45 5f 4f 4d 49 54 5f 54 45 4d 50 44 42 0a 20 20  E_OMIT_TEMPDB.  
3aa0: 22 4f 4d 49 54 5f 54 45 4d 50 44 42 22 2c 0a 23  "OMIT_TEMPDB",.#
3ab0: 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45  endif.#if SQLITE
3ac0: 5f 4f 4d 49 54 5f 54 45 53 54 5f 43 4f 4e 54 52  _OMIT_TEST_CONTR
3ad0: 4f 4c 0a 20 20 22 4f 4d 49 54 5f 54 45 53 54 5f  OL.  "OMIT_TEST_
3ae0: 43 4f 4e 54 52 4f 4c 22 2c 0a 23 65 6e 64 69 66  CONTROL",.#endif
3af0: 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54  .#if SQLITE_OMIT
3b00: 5f 54 52 41 43 45 0a 20 20 22 4f 4d 49 54 5f 54  _TRACE.  "OMIT_T
3b10: 52 41 43 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69  RACE",.#endif.#i
3b20: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54 52  f SQLITE_OMIT_TR
3b30: 49 47 47 45 52 0a 20 20 22 4f 4d 49 54 5f 54 52  IGGER.  "OMIT_TR
3b40: 49 47 47 45 52 22 2c 0a 23 65 6e 64 69 66 0a 23  IGGER",.#endif.#
3b50: 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 54  if SQLITE_OMIT_T
3b60: 52 55 4e 43 41 54 45 5f 4f 50 54 49 4d 49 5a 41  RUNCATE_OPTIMIZA
3b70: 54 49 4f 4e 0a 20 20 22 4f 4d 49 54 5f 54 52 55  TION.  "OMIT_TRU
3b80: 4e 43 41 54 45 5f 4f 50 54 49 4d 49 5a 41 54 49  NCATE_OPTIMIZATI
3b90: 4f 4e 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20  ON",.#endif.#if 
3ba0: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 55 54 46 31  SQLITE_OMIT_UTF1
3bb0: 36 0a 20 20 22 4f 4d 49 54 5f 55 54 46 31 36 22  6.  "OMIT_UTF16"
3bc0: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
3bd0: 49 54 45 5f 4f 4d 49 54 5f 56 41 43 55 55 4d 0a  ITE_OMIT_VACUUM.
3be0: 20 20 22 4f 4d 49 54 5f 56 41 43 55 55 4d 22 2c    "OMIT_VACUUM",
3bf0: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
3c00: 54 45 5f 4f 4d 49 54 5f 56 49 45 57 0a 20 20 22  TE_OMIT_VIEW.  "
3c10: 4f 4d 49 54 5f 56 49 45 57 22 2c 0a 23 65 6e 64  OMIT_VIEW",.#end
3c20: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d  if.#if SQLITE_OM
3c30: 49 54 5f 56 49 52 54 55 41 4c 54 41 42 4c 45 0a  IT_VIRTUALTABLE.
3c40: 20 20 22 4f 4d 49 54 5f 56 49 52 54 55 41 4c 54    "OMIT_VIRTUALT
3c50: 41 42 4c 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69  ABLE",.#endif.#i
3c60: 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 57 41  f SQLITE_OMIT_WA
3c70: 4c 0a 20 20 22 4f 4d 49 54 5f 57 41 4c 22 2c 0a  L.  "OMIT_WAL",.
3c80: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
3c90: 45 5f 4f 4d 49 54 5f 57 53 44 0a 20 20 22 4f 4d  E_OMIT_WSD.  "OM
3ca0: 49 54 5f 57 53 44 22 2c 0a 23 65 6e 64 69 66 0a  IT_WSD",.#endif.
3cb0: 23 69 66 20 53 51 4c 49 54 45 5f 4f 4d 49 54 5f  #if SQLITE_OMIT_
3cc0: 58 46 45 52 5f 4f 50 54 0a 20 20 22 4f 4d 49 54  XFER_OPT.  "OMIT
3cd0: 5f 58 46 45 52 5f 4f 50 54 22 2c 0a 23 65 6e 64  _XFER_OPT",.#end
3ce0: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 50 43  if.#if SQLITE_PC
3cf0: 41 43 48 45 5f 53 45 50 41 52 41 54 45 5f 48 45  ACHE_SEPARATE_HE
3d00: 41 44 45 52 0a 20 20 22 50 43 41 43 48 45 5f 53  ADER.  "PCACHE_S
3d10: 45 50 41 52 41 54 45 5f 48 45 41 44 45 52 22 2c  EPARATE_HEADER",
3d20: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
3d30: 54 45 5f 50 45 52 46 4f 52 4d 41 4e 43 45 5f 54  TE_PERFORMANCE_T
3d40: 52 41 43 45 0a 20 20 22 50 45 52 46 4f 52 4d 41  RACE.  "PERFORMA
3d50: 4e 43 45 5f 54 52 41 43 45 22 2c 0a 23 65 6e 64  NCE_TRACE",.#end
3d60: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 50 4f  if.#if SQLITE_PO
3d70: 57 45 52 53 41 46 45 5f 4f 56 45 52 57 52 49 54  WERSAFE_OVERWRIT
3d80: 45 0a 20 20 22 50 4f 57 45 52 53 41 46 45 5f 4f  E.  "POWERSAFE_O
3d90: 56 45 52 57 52 49 54 45 22 2c 0a 23 65 6e 64 69  VERWRITE",.#endi
3da0: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 50 52 45  f.#if SQLITE_PRE
3db0: 46 45 52 5f 50 52 4f 58 59 5f 4c 4f 43 4b 49 4e  FER_PROXY_LOCKIN
3dc0: 47 0a 20 20 22 50 52 45 46 45 52 5f 50 52 4f 58  G.  "PREFER_PROX
3dd0: 59 5f 4c 4f 43 4b 49 4e 47 22 2c 0a 23 65 6e 64  Y_LOCKING",.#end
3de0: 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 50 52  if.#if SQLITE_PR
3df0: 4f 58 59 5f 44 45 42 55 47 0a 20 20 22 50 52 4f  OXY_DEBUG.  "PRO
3e00: 58 59 5f 44 45 42 55 47 22 2c 0a 23 65 6e 64 69  XY_DEBUG",.#endi
3e10: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 52 45 56  f.#if SQLITE_REV
3e20: 45 52 53 45 5f 55 4e 4f 52 44 45 52 45 44 5f 53  ERSE_UNORDERED_S
3e30: 45 4c 45 43 54 53 0a 20 20 22 52 45 56 45 52 53  ELECTS.  "REVERS
3e40: 45 5f 55 4e 4f 52 44 45 52 45 44 5f 53 45 4c 45  E_UNORDERED_SELE
3e50: 43 54 53 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  CTS",.#endif.#if
3e60: 20 53 51 4c 49 54 45 5f 52 54 52 45 45 5f 49 4e   SQLITE_RTREE_IN
3e70: 54 5f 4f 4e 4c 59 0a 20 20 22 52 54 52 45 45 5f  T_ONLY.  "RTREE_
3e80: 49 4e 54 5f 4f 4e 4c 59 22 2c 0a 23 65 6e 64 69  INT_ONLY",.#endi
3e90: 66 0a 23 69 66 20 53 51 4c 49 54 45 5f 53 45 43  f.#if SQLITE_SEC
3ea0: 55 52 45 5f 44 45 4c 45 54 45 0a 20 20 22 53 45  URE_DELETE.  "SE
3eb0: 43 55 52 45 5f 44 45 4c 45 54 45 22 2c 0a 23 65  CURE_DELETE",.#e
3ec0: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
3ed0: 53 4d 41 4c 4c 5f 53 54 41 43 4b 0a 20 20 22 53  SMALL_STACK.  "S
3ee0: 4d 41 4c 4c 5f 53 54 41 43 4b 22 2c 0a 23 65 6e  MALL_STACK",.#en
3ef0: 64 69 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54  dif.#ifdef SQLIT
3f00: 45 5f 53 4f 52 54 45 52 5f 50 4d 41 53 5a 0a 20  E_SORTER_PMASZ. 
3f10: 20 22 53 4f 52 54 45 52 5f 50 4d 41 53 5a 3d 22   "SORTER_PMASZ="
3f20: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51   CTIMEOPT_VAL(SQ
3f30: 4c 49 54 45 5f 53 4f 52 54 45 52 5f 50 4d 41 53  LITE_SORTER_PMAS
3f40: 5a 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53  Z),.#endif.#if S
3f50: 51 4c 49 54 45 5f 53 4f 55 4e 44 45 58 0a 20 20  QLITE_SOUNDEX.  
3f60: 22 53 4f 55 4e 44 45 58 22 2c 0a 23 65 6e 64 69  "SOUNDEX",.#endi
3f70: 66 0a 23 69 66 64 65 66 20 53 51 4c 49 54 45 5f  f.#ifdef SQLITE_
3f80: 53 54 41 54 34 5f 53 41 4d 50 4c 45 53 0a 20 20  STAT4_SAMPLES.  
3f90: 22 53 54 41 54 34 5f 53 41 4d 50 4c 45 53 3d 22  "STAT4_SAMPLES="
3fa0: 20 43 54 49 4d 45 4f 50 54 5f 56 41 4c 28 53 51   CTIMEOPT_VAL(SQ
3fb0: 4c 49 54 45 5f 53 54 41 54 34 5f 53 41 4d 50 4c  LITE_STAT4_SAMPL
3fc0: 45 53 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66 64  ES),.#endif.#ifd
3fd0: 65 66 20 53 51 4c 49 54 45 5f 53 54 4d 54 4a 52  ef SQLITE_STMTJR
3fe0: 4e 4c 5f 53 50 49 4c 4c 0a 20 20 22 53 54 4d 54  NL_SPILL.  "STMT
3ff0: 4a 52 4e 4c 5f 53 50 49 4c 4c 3d 22 20 43 54 49  JRNL_SPILL=" CTI
4000: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
4010: 5f 53 54 4d 54 4a 52 4e 4c 5f 53 50 49 4c 4c 29  _STMTJRNL_SPILL)
4020: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
4030: 49 54 45 5f 53 55 42 53 54 52 5f 43 4f 4d 50 41  ITE_SUBSTR_COMPA
4040: 54 49 42 49 4c 49 54 59 0a 20 20 22 53 55 42 53  TIBILITY.  "SUBS
4050: 54 52 5f 43 4f 4d 50 41 54 49 42 49 4c 49 54 59  TR_COMPATIBILITY
4060: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
4070: 4c 49 54 45 5f 53 59 53 54 45 4d 5f 4d 41 4c 4c  LITE_SYSTEM_MALL
4080: 4f 43 0a 20 20 22 53 59 53 54 45 4d 5f 4d 41 4c  OC.  "SYSTEM_MAL
4090: 4c 4f 43 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66  LOC",.#endif.#if
40a0: 20 53 51 4c 49 54 45 5f 54 43 4c 0a 20 20 22 54   SQLITE_TCL.  "T
40b0: 43 4c 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 64  CL",.#endif.#ifd
40c0: 65 66 20 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53  ef SQLITE_TEMP_S
40d0: 54 4f 52 45 0a 20 20 22 54 45 4d 50 5f 53 54 4f  TORE.  "TEMP_STO
40e0: 52 45 3d 22 20 43 54 49 4d 45 4f 50 54 5f 56 41  RE=" CTIMEOPT_VA
40f0: 4c 28 53 51 4c 49 54 45 5f 54 45 4d 50 5f 53 54  L(SQLITE_TEMP_ST
4100: 4f 52 45 29 2c 0a 23 65 6e 64 69 66 0a 23 69 66  ORE),.#endif.#if
4110: 20 53 51 4c 49 54 45 5f 54 45 53 54 0a 20 20 22   SQLITE_TEST.  "
4120: 54 45 53 54 22 2c 0a 23 65 6e 64 69 66 0a 23 69  TEST",.#endif.#i
4130: 66 20 64 65 66 69 6e 65 64 28 53 51 4c 49 54 45  f defined(SQLITE
4140: 5f 54 48 52 45 41 44 53 41 46 45 29 0a 20 20 22  _THREADSAFE).  "
4150: 54 48 52 45 41 44 53 41 46 45 3d 22 20 43 54 49  THREADSAFE=" CTI
4160: 4d 45 4f 50 54 5f 56 41 4c 28 53 51 4c 49 54 45  MEOPT_VAL(SQLITE
4170: 5f 54 48 52 45 41 44 53 41 46 45 29 2c 0a 23 65  _THREADSAFE),.#e
4180: 6c 69 66 20 64 65 66 69 6e 65 64 28 54 48 52 45  lif defined(THRE
4190: 41 44 53 41 46 45 29 0a 20 20 22 54 48 52 45 41  ADSAFE).  "THREA
41a0: 44 53 41 46 45 3d 22 20 43 54 49 4d 45 4f 50 54  DSAFE=" CTIMEOPT
41b0: 5f 56 41 4c 28 54 48 52 45 41 44 53 41 46 45 29  _VAL(THREADSAFE)
41c0: 2c 0a 23 65 6c 73 65 0a 20 20 22 54 48 52 45 41  ,.#else.  "THREA
41d0: 44 53 41 46 45 3d 31 22 2c 0a 23 65 6e 64 69 66  DSAFE=1",.#endif
41e0: 0a 23 69 66 20 53 51 4c 49 54 45 5f 55 4e 4c 49  .#if SQLITE_UNLI
41f0: 4e 4b 5f 41 46 54 45 52 5f 43 4c 4f 53 45 0a 20  NK_AFTER_CLOSE. 
4200: 20 22 55 4e 4c 49 4e 4b 5f 41 46 54 45 52 5f 43   "UNLINK_AFTER_C
4210: 4c 4f 53 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69  LOSE",.#endif.#i
4220: 66 20 53 51 4c 49 54 45 5f 55 4e 54 45 53 54 41  f SQLITE_UNTESTA
4230: 42 4c 45 0a 20 20 22 55 4e 54 45 53 54 41 42 4c  BLE.  "UNTESTABL
4240: 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53  E",.#endif.#if S
4250: 51 4c 49 54 45 5f 55 53 45 52 5f 41 55 54 48 45  QLITE_USER_AUTHE
4260: 4e 54 49 43 41 54 49 4f 4e 0a 20 20 22 55 53 45  NTICATION.  "USE
4270: 52 5f 41 55 54 48 45 4e 54 49 43 41 54 49 4f 4e  R_AUTHENTICATION
4280: 22 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51  ",.#endif.#if SQ
4290: 4c 49 54 45 5f 55 53 45 5f 41 4c 4c 4f 43 41 0a  LITE_USE_ALLOCA.
42a0: 20 20 22 55 53 45 5f 41 4c 4c 4f 43 41 22 2c 0a    "USE_ALLOCA",.
42b0: 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54  #endif.#if SQLIT
42c0: 45 5f 55 53 45 5f 46 43 4e 54 4c 5f 54 52 41 43  E_USE_FCNTL_TRAC
42d0: 45 0a 20 20 22 55 53 45 5f 46 43 4e 54 4c 5f 54  E.  "USE_FCNTL_T
42e0: 52 41 43 45 22 2c 0a 23 65 6e 64 69 66 0a 23 69  RACE",.#endif.#i
42f0: 66 20 53 51 4c 49 54 45 5f 55 53 45 5f 55 52 49  f SQLITE_USE_URI
4300: 0a 20 20 22 55 53 45 5f 55 52 49 22 2c 0a 23 65  .  "USE_URI",.#e
4310: 6e 64 69 66 0a 23 69 66 20 53 51 4c 49 54 45 5f  ndif.#if SQLITE_
4320: 56 44 42 45 5f 43 4f 56 45 52 41 47 45 0a 20 20  VDBE_COVERAGE.  
4330: 22 56 44 42 45 5f 43 4f 56 45 52 41 47 45 22 2c  "VDBE_COVERAGE",
4340: 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c 49  .#endif.#if SQLI
4350: 54 45 5f 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 0a  TE_WIN32_MALLOC.
4360: 20 20 22 57 49 4e 33 32 5f 4d 41 4c 4c 4f 43 22    "WIN32_MALLOC"
4370: 2c 0a 23 65 6e 64 69 66 0a 23 69 66 20 53 51 4c  ,.#endif.#if SQL
4380: 49 54 45 5f 5a 45 52 4f 5f 4d 41 4c 4c 4f 43 0a  ITE_ZERO_MALLOC.
4390: 20 20 22 5a 45 52 4f 5f 4d 41 4c 4c 4f 43 22 2c    "ZERO_MALLOC",
43a0: 0a 23 65 6e 64 69 66 0a 2f 2a 20 0a 2a 2a 20 45  .#endif./* .** E
43b0: 4e 44 20 43 4f 44 45 20 47 45 4e 45 52 41 54 45  ND CODE GENERATE
43c0: 44 20 42 59 20 74 6f 6f 6c 2f 6d 6b 63 74 69 6d  D BY tool/mkctim
43d0: 65 2e 74 63 6c 20 0a 2a 2f 0a 7d 3b 0a 0a 63 6f  e.tcl .*/.};..co
43e0: 6e 73 74 20 63 68 61 72 20 2a 2a 73 71 6c 69 74  nst char **sqlit
43f0: 65 33 43 6f 6d 70 69 6c 65 4f 70 74 69 6f 6e 73  e3CompileOptions
4400: 28 69 6e 74 20 2a 70 6e 4f 70 74 29 7b 0a 20 20  (int *pnOpt){.  
4410: 2a 70 6e 4f 70 74 20 3d 20 73 69 7a 65 6f 66 28  *pnOpt = sizeof(
4420: 73 71 6c 69 74 65 33 61 7a 43 6f 6d 70 69 6c 65  sqlite3azCompile
4430: 4f 70 74 29 20 2f 20 73 69 7a 65 6f 66 28 73 71  Opt) / sizeof(sq
4440: 6c 69 74 65 33 61 7a 43 6f 6d 70 69 6c 65 4f 70  lite3azCompileOp
4450: 74 5b 30 5d 29 3b 0a 20 20 72 65 74 75 72 6e 20  t[0]);.  return 
4460: 28 63 6f 6e 73 74 20 63 68 61 72 2a 2a 29 73 71  (const char**)sq
4470: 6c 69 74 65 33 61 7a 43 6f 6d 70 69 6c 65 4f 70  lite3azCompileOp
4480: 74 3b 0a 7d 0a 0a 23 65 6e 64 69 66 20 2f 2a 20  t;.}..#endif /* 
4490: 53 51 4c 49 54 45 5f 4f 4d 49 54 5f 43 4f 4d 50  SQLITE_OMIT_COMP
44a0: 49 4c 45 4f 50 54 49 4f 4e 5f 44 49 41 47 53 20  ILEOPTION_DIAGS 
44b0: 2a 2f 0a                                         */.