Documentation Source Text

Hex Artifact Content
Login

Artifact 84ea8e63895b1e20810affcc39fa8809fdc312a7:


0000: 3c 74 69 74 6c 65 3e 53 51 4c 69 74 65 20 44 6f  <title>SQLite Do
0010: 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 74 69 74  cumentation</tit
0020: 6c 65 3e 0a 0a 3c 68 32 3e 41 76 61 69 6c 61 62  le>..<h2>Availab
0030: 6c 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  le Documentation
0040: 3c 2f 68 32 3e 0a 3c 74 61 62 6c 65 20 77 69 64  </h2>.<table wid
0050: 74 68 3d 22 31 30 30 25 22 20 63 65 6c 6c 70 61  th="100%" cellpa
0060: 64 64 69 6e 67 3d 22 35 22 3e 0a 0a 3c 74 63 6c  dding="5">..<tcl
0070: 3e 0a 70 72 6f 63 20 64 6f 63 20 7b 6e 61 6d 65  >.proc doc {name
0080: 20 75 72 6c 20 64 65 73 63 7d 20 7b 0a 20 20 70   url desc} {.  p
0090: 75 74 73 20 7b 3c 74 72 3e 3c 74 64 20 76 61 6c  uts {<tr><td val
00a0: 69 67 6e 3d 22 74 6f 70 22 20 61 6c 69 67 6e 3d  ign="top" align=
00b0: 22 72 69 67 68 74 22 3e 7d 0a 20 20 72 65 67 73  "right">}.  regs
00c0: 75 62 20 2d 61 6c 6c 20 7b 20 2b 7d 20 24 6e 61  ub -all { +} $na
00d0: 6d 65 20 7b 5c 26 6e 62 73 70 3b 7d 20 6e 61 6d  me {\&nbsp;} nam
00e0: 65 0a 20 20 70 75 74 73 20 22 3c 61 20 68 72 65  e.  puts "<a hre
00f0: 66 3d 5c 22 24 75 72 6c 5c 22 3e 24 6e 61 6d 65  f=\"$url\">$name
0100: 3c 2f 61 3e 3c 2f 74 64 3e 22 0a 20 20 70 75 74  </a></td>".  put
0110: 73 20 7b 3c 74 64 20 77 69 64 74 68 3d 22 31 30  s {<td width="10
0120: 22 3e 3c 2f 74 64 3e 7d 0a 20 20 70 75 74 73 20  "></td>}.  puts 
0130: 7b 3c 74 64 20 76 61 6c 69 67 6e 3d 22 74 6f 70  {<td valign="top
0140: 22 20 61 6c 69 67 6e 3d 22 6c 65 66 74 22 3e 7d  " align="left">}
0150: 0a 20 20 70 75 74 73 20 24 64 65 73 63 0a 20 20  .  puts $desc.  
0160: 70 75 74 73 20 7b 3c 2f 74 64 3e 3c 2f 74 72 3e  puts {</td></tr>
0170: 7d 0a 7d 0a 0a 64 6f 63 20 7b 41 70 70 72 6f 70  }.}..doc {Approp
0180: 72 69 61 74 65 20 55 73 65 73 20 46 6f 72 20 53  riate Uses For S
0190: 51 4c 69 74 65 7d 20 7b 77 68 65 6e 74 6f 75 73  QLite} {whentous
01a0: 65 2e 68 74 6d 6c 7d 20 7b 0a 20 20 54 68 69 73  e.html} {.  This
01b0: 20 64 6f 63 75 6d 65 6e 74 20 64 65 73 63 72 69   document descri
01c0: 62 65 73 20 73 69 74 75 61 74 69 6f 6e 73 20 77  bes situations w
01d0: 68 65 72 65 20 53 51 4c 69 74 65 20 69 73 20 61  here SQLite is a
01e0: 6e 20 61 70 70 72 6f 72 69 61 74 65 0a 20 20 64  n approriate.  d
01f0: 61 74 61 62 61 73 65 20 65 6e 67 69 6e 65 20 74  atabase engine t
0200: 6f 20 75 73 65 20 76 65 72 73 75 73 20 73 69 74  o use versus sit
0210: 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 61 20  uations where a 
0220: 63 6c 69 65 6e 74 2f 73 65 72 76 65 72 0a 20 20  client/server.  
0230: 64 61 74 61 62 61 73 65 20 65 6e 67 69 6e 65 20  database engine 
0240: 6d 69 67 68 74 20 62 65 20 61 20 62 65 74 74 65  might be a bette
0250: 72 20 63 68 6f 69 63 65 2e 0a 7d 0a 0a 64 6f 63  r choice..}..doc
0260: 20 7b 44 69 73 74 69 6e 63 74 69 76 65 20 46 65   {Distinctive Fe
0270: 61 74 75 72 65 73 7d 20 7b 64 69 66 66 65 72 65  atures} {differe
0280: 6e 74 2e 68 74 6d 6c 7d 20 7b 0a 20 20 54 68 69  nt.html} {.  Thi
0290: 73 20 64 6f 63 75 6d 65 6e 74 20 65 6e 75 6d 65  s document enume
02a0: 72 61 74 65 73 20 61 6e 64 20 64 65 73 63 72 69  rates and descri
02b0: 62 65 73 20 73 6f 6d 65 20 6f 66 20 74 68 65 20  bes some of the 
02c0: 66 65 61 74 75 72 65 73 20 6f 66 0a 20 20 53 51  features of.  SQ
02d0: 4c 69 74 65 20 74 68 61 74 20 6d 61 6b 65 20 69  Lite that make i
02e0: 74 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d  t different from
02f0: 20 6f 74 68 65 72 20 53 51 4c 20 64 61 74 61 62   other SQL datab
0300: 61 73 65 20 65 6e 67 69 6e 65 73 2e 0a 7d 0a 0a  ase engines..}..
0310: 64 6f 63 20 7b 53 51 4c 69 74 65 20 49 6e 20 35  doc {SQLite In 5
0320: 20 4d 69 6e 75 74 65 73 20 4f 72 20 4c 65 73 73   Minutes Or Less
0330: 7d 20 7b 71 75 69 63 6b 73 74 61 72 74 2e 68 74  } {quickstart.ht
0340: 6d 6c 7d 20 7b 0a 20 20 41 20 76 65 72 79 20 71  ml} {.  A very q
0350: 75 69 63 6b 20 69 6e 74 72 6f 64 75 63 74 69 6f  uick introductio
0360: 6e 20 74 6f 20 70 72 6f 67 72 61 6d 6d 69 6e 67  n to programming
0370: 20 77 69 74 68 20 53 51 4c 69 74 65 2e 0a 7d 0a   with SQLite..}.
0380: 0a 64 6f 63 20 7b 53 51 4c 20 53 79 6e 74 61 78  .doc {SQL Syntax
0390: 7d 20 7b 6c 61 6e 67 2e 68 74 6d 6c 7d 20 7b 0a  } {lang.html} {.
03a0: 20 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20    This document 
03b0: 64 65 73 63 72 69 62 65 73 20 74 68 65 20 53 51  describes the SQ
03c0: 4c 20 6c 61 6e 67 75 61 67 65 20 74 68 61 74 20  L language that 
03d0: 69 73 20 75 6e 64 65 72 73 74 6f 6f 64 20 62 79  is understood by
03e0: 0a 20 20 53 51 4c 69 74 65 2e 20 20 0a 7d 0a 64  .  SQLite.  .}.d
03f0: 6f 63 20 7b 56 65 72 73 69 6f 6e 20 33 20 43 2f  oc {Version 3 C/
0400: 43 2b 2b 20 41 50 49 3c 62 72 3e 52 65 66 65 72  C++ API<br>Refer
0410: 65 6e 63 65 7d 20 7b 63 33 72 65 66 2f 69 6e 74  ence} {c3ref/int
0420: 72 6f 2e 68 74 6d 6c 7d 20 7b 0a 20 20 54 68 69  ro.html} {.  Thi
0430: 73 20 64 6f 63 75 6d 65 6e 74 20 64 65 73 63 72  s document descr
0440: 69 62 65 73 20 65 61 63 68 20 41 50 49 20 66 75  ibes each API fu
0450: 6e 63 74 69 6f 6e 20 73 65 70 61 72 61 74 65 6c  nction separatel
0460: 79 2e 0a 7d 0a 64 6f 63 20 7b 46 72 65 71 75 65  y..}.doc {Freque
0470: 6e 74 6c 79 20 41 73 6b 65 64 20 51 75 65 73 74  ntly Asked Quest
0480: 69 6f 6e 73 7d 20 7b 66 61 71 2e 68 74 6d 6c 7d  ions} {faq.html}
0490: 20 7b 0a 20 20 54 68 65 20 74 69 74 6c 65 20 6f   {.  The title o
04a0: 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 73  f the document s
04b0: 61 79 73 20 61 6c 6c 2e 2e 2e 0a 7d 0a 64 6f 63  ays all....}.doc
04c0: 20 7b 53 68 61 72 69 6e 67 20 43 61 63 68 65 20   {Sharing Cache 
04d0: 4d 6f 64 65 7d 20 7b 73 68 61 72 65 64 63 61 63  Mode} {sharedcac
04e0: 68 65 2e 68 74 6d 6c 7d 20 7b 0a 20 20 56 65 72  he.html} {.  Ver
04f0: 73 69 6f 6e 20 33 2e 33 2e 30 20 61 6e 64 20 6c  sion 3.3.0 and l
0500: 61 74 65 72 20 73 75 70 70 6f 72 74 73 20 74 68  ater supports th
0510: 65 20 61 62 69 6c 69 74 79 20 66 6f 72 20 74 77  e ability for tw
0520: 6f 20 6f 72 20 6d 6f 72 65 0a 20 20 64 61 74 61  o or more.  data
0530: 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 73  base connections
0540: 20 74 6f 20 73 68 61 72 65 20 74 68 65 20 73 61   to share the sa
0550: 6d 65 20 70 61 67 65 20 61 6e 64 20 73 63 68 65  me page and sche
0560: 6d 61 20 63 61 63 68 65 2e 0a 20 20 54 68 69 73  ma cache..  This
0570: 20 66 65 61 74 75 72 65 20 69 73 20 75 73 65 66   feature is usef
0580: 75 6c 20 66 6f 72 20 63 65 72 74 61 69 6e 20 73  ul for certain s
0590: 70 65 63 69 61 6c 69 7a 65 64 20 61 70 70 6c 69  pecialized appli
05a0: 63 61 74 69 6f 6e 73 2e 0a 7d 0a 64 6f 63 20 7b  cations..}.doc {
05b0: 54 63 6c 20 41 50 49 7d 20 7b 74 63 6c 73 71 6c  Tcl API} {tclsql
05c0: 69 74 65 2e 68 74 6d 6c 7d 20 7b 0a 20 20 41 20  ite.html} {.  A 
05d0: 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74  description of t
05e0: 68 65 20 54 43 4c 20 69 6e 74 65 72 66 61 63 65  he TCL interface
05f0: 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 53 51   bindings for SQ
0600: 4c 69 74 65 2e 0a 7d 0a 0a 64 6f 63 20 7b 48 6f  Lite..}..doc {Ho
0610: 77 20 53 51 4c 69 74 65 20 49 6d 70 6c 65 6d 65  w SQLite Impleme
0620: 6e 74 73 20 41 74 6f 6d 69 63 20 43 6f 6d 6d 69  nts Atomic Commi
0630: 74 7d 20 7b 61 74 6f 6d 69 63 63 6f 6d 6d 69 74  t} {atomiccommit
0640: 2e 68 74 6d 6c 7d 20 7b 0a 20 20 41 20 64 65 73  .html} {.  A des
0650: 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20  cription of the 
0660: 6c 6f 67 69 63 20 77 69 74 68 69 6e 20 53 51 4c  logic within SQL
0670: 69 74 65 20 74 68 61 74 20 69 6d 70 6c 65 6d 65  ite that impleme
0680: 6e 74 73 0a 20 20 74 72 61 6e 73 61 63 74 69 6f  nts.  transactio
0690: 6e 73 20 77 69 74 68 20 61 74 6f 6d 69 63 20 63  ns with atomic c
06a0: 6f 6d 6d 69 74 2c 20 65 76 65 6e 20 69 6e 20 74  ommit, even in t
06b0: 68 65 20 66 61 63 65 20 6f 66 20 70 6f 77 65 72  he face of power
06c0: 0a 20 20 66 61 69 6c 75 72 65 73 2e 0a 7d 0a 64  .  failures..}.d
06d0: 6f 63 20 7b 4d 6f 76 69 6e 67 20 46 72 6f 6d 20  oc {Moving From 
06e0: 53 51 4c 69 74 65 20 33 2e 34 20 74 6f 20 33 2e  SQLite 3.4 to 3.
06f0: 35 7d 20 7b 33 34 74 6f 33 35 2e 68 74 6d 6c 7d  5} {34to35.html}
0700: 20 7b 0a 20 20 41 20 64 6f 63 75 6d 65 6e 74 20   {.  A document 
0710: 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 64  describing the d
0720: 69 66 66 65 72 65 6e 63 65 73 20 62 65 74 77 65  ifferences betwe
0730: 65 6e 20 53 51 4c 69 74 65 20 76 65 72 73 69 6f  en SQLite versio
0740: 6e 20 33 2e 34 2e 32 0a 20 20 61 6e 64 20 33 2e  n 3.4.2.  and 3.
0750: 35 2e 30 2e 0a 7d 0a 0a 64 6f 63 20 7b 50 72 61  5.0..}..doc {Pra
0760: 67 6d 61 20 63 6f 6d 6d 61 6e 64 73 7d 20 7b 70  gma commands} {p
0770: 72 61 67 6d 61 2e 68 74 6d 6c 7d 20 7b 0a 20 20  ragma.html} {.  
0780: 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 64 65  This document de
0790: 73 63 72 69 62 65 73 20 53 51 4c 69 74 65 20 70  scribes SQLite p
07a0: 65 72 66 6f 72 6d 61 6e 63 65 20 74 75 6e 69 6e  erformance tunin
07b0: 67 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 6f 74  g options and ot
07c0: 68 65 72 20 0a 20 20 73 70 65 63 69 61 6c 20 70  her .  special p
07d0: 75 72 70 6f 73 65 20 64 61 74 61 62 61 73 65 20  urpose database 
07e0: 63 6f 6d 6d 61 6e 64 73 2e 0a 7d 0a 64 6f 63 20  commands..}.doc 
07f0: 7b 53 51 4c 69 74 65 20 56 65 72 73 69 6f 6e 20  {SQLite Version 
0800: 33 7d 20 7b 76 65 72 73 69 6f 6e 33 2e 68 74 6d  3} {version3.htm
0810: 6c 7d 20 7b 0a 20 20 41 20 73 75 6d 6d 61 72 79  l} {.  A summary
0820: 20 6f 66 20 6f 66 20 74 68 65 20 63 68 61 6e 67   of of the chang
0830: 65 73 20 62 65 74 77 65 65 6e 20 53 51 4c 69 74  es between SQLit
0840: 65 20 76 65 72 73 69 6f 6e 20 32 2e 38 20 61 6e  e version 2.8 an
0850: 64 20 53 51 4c 69 74 65 20 76 65 72 73 69 6f 6e  d SQLite version
0860: 20 33 2e 30 2e 0a 7d 0a 64 6f 63 20 7b 56 65 72   3.0..}.doc {Ver
0870: 73 69 6f 6e 20 33 20 43 2f 43 2b 2b 20 41 50 49  sion 3 C/C++ API
0880: 7d 20 7b 63 61 70 69 33 2e 68 74 6d 6c 7d 20 7b  } {capi3.html} {
0890: 0a 20 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e  .  A description
08a0: 20 6f 66 20 74 68 65 20 43 2f 43 2b 2b 20 69 6e   of the C/C++ in
08b0: 74 65 72 66 61 63 65 20 62 69 6e 64 69 6e 67 73  terface bindings
08c0: 20 66 6f 72 20 53 51 4c 69 74 65 20 76 65 72 73   for SQLite vers
08d0: 69 6f 6e 20 33 2e 30 2e 30 0a 20 20 61 6e 64 20  ion 3.0.0.  and 
08e0: 66 6f 6c 6c 6f 77 69 6e 67 2e 0a 7d 0a 64 6f 63  following..}.doc
08f0: 20 7b 56 65 72 73 69 6f 6e 20 33 20 44 61 74 61   {Version 3 Data
0900: 54 79 70 65 73 20 7d 20 7b 64 61 74 61 74 79 70  Types } {datatyp
0910: 65 33 2e 68 74 6d 6c 7d 20 7b 0a 20 20 53 51 4c  e3.html} {.  SQL
0920: 69 74 65 20 76 65 72 73 69 6f 6e 20 33 20 69 6e  ite version 3 in
0930: 74 72 6f 64 75 63 65 73 20 74 68 65 20 63 6f 6e  troduces the con
0940: 63 65 70 74 20 6f 66 20 6d 61 6e 69 66 65 73 74  cept of manifest
0950: 20 74 79 70 69 6e 67 2c 20 77 68 65 72 65 20 74   typing, where t
0960: 68 65 0a 20 20 74 79 70 65 20 6f 66 20 61 20 76  he.  type of a v
0970: 61 6c 75 65 20 69 73 20 61 73 73 6f 63 69 61 74  alue is associat
0980: 65 64 20 77 69 74 68 20 74 68 65 20 76 61 6c 75  ed with the valu
0990: 65 20 69 74 73 65 6c 66 2c 20 6e 6f 74 20 74 68  e itself, not th
09a0: 65 20 63 6f 6c 75 6d 6e 20 74 68 61 74 0a 20 20  e column that.  
09b0: 69 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 2e  it is stored in.
09c0: 0a 20 20 54 68 69 73 20 70 61 67 65 20 64 65 73  .  This page des
09d0: 63 72 69 62 65 73 20 64 61 74 61 20 74 79 70 69  cribes data typi
09e0: 6e 67 20 66 6f 72 20 53 51 4c 69 74 65 20 76 65  ng for SQLite ve
09f0: 72 73 69 6f 6e 20 33 20 69 6e 20 66 75 72 74 68  rsion 3 in furth
0a00: 65 72 20 64 65 74 61 69 6c 2e 0a 7d 0a 0a 64 6f  er detail..}..do
0a10: 63 20 7b 4c 6f 63 6b 69 6e 67 20 41 6e 64 20 43  c {Locking And C
0a20: 6f 6e 63 75 72 72 65 6e 63 79 3c 62 72 3e 49 6e  oncurrency<br>In
0a30: 20 53 51 4c 69 74 65 20 56 65 72 73 69 6f 6e 20   SQLite Version 
0a40: 33 7d 20 7b 6c 6f 63 6b 69 6e 67 76 33 2e 68 74  3} {lockingv3.ht
0a50: 6d 6c 7d 20 7b 0a 20 20 41 20 64 65 73 63 72 69  ml} {.  A descri
0a60: 70 74 69 6f 6e 20 6f 66 20 68 6f 77 20 74 68 65  ption of how the
0a70: 20 6e 65 77 20 6c 6f 63 6b 69 6e 67 20 63 6f 64   new locking cod
0a80: 65 20 69 6e 20 76 65 72 73 69 6f 6e 20 33 20 69  e in version 3 i
0a90: 6e 63 72 65 61 73 65 73 0a 20 20 63 6f 6e 63 75  ncreases.  concu
0aa0: 72 72 61 6e 63 79 20 61 6e 64 20 64 65 63 72 65  rrancy and decre
0ab0: 61 73 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d  ases the problem
0ac0: 20 6f 66 20 77 72 69 74 65 72 20 73 74 61 72 76   of writer starv
0ad0: 61 74 69 6f 6e 2e 0a 7d 0a 0a 64 6f 63 20 7b 4f  ation..}..doc {O
0ae0: 76 65 72 76 69 65 77 20 4f 66 20 54 68 65 20 4f  verview Of The O
0af0: 70 74 69 6d 69 7a 65 72 7d 20 7b 6f 70 74 6f 76  ptimizer} {optov
0b00: 65 72 76 69 65 77 2e 68 74 6d 6c 7d 20 7b 0a 20  erview.html} {. 
0b10: 20 41 20 71 75 69 63 6b 20 6f 76 65 72 76 69 65   A quick overvie
0b20: 77 20 6f 66 20 74 68 65 20 76 61 72 69 6f 75 73  w of the various
0b30: 20 71 75 65 72 79 20 6f 70 74 69 6d 69 7a 61 74   query optimizat
0b40: 69 6f 6e 73 20 74 68 61 74 20 61 72 65 0a 20 20  ions that are.  
0b50: 61 74 74 65 6d 70 74 65 64 20 62 79 20 74 68 65  attempted by the
0b60: 20 53 51 4c 69 74 65 20 63 6f 64 65 20 67 65 6e   SQLite code gen
0b70: 65 72 61 74 6f 72 2e 0a 7d 0a 0a 0a 64 6f 63 20  erator..}...doc 
0b80: 7b 4e 75 6c 6c 20 48 61 6e 64 6c 69 6e 67 7d 20  {Null Handling} 
0b90: 7b 6e 75 6c 6c 73 2e 68 74 6d 6c 7d 20 7b 0a 20  {nulls.html} {. 
0ba0: 20 44 69 66 66 65 72 65 6e 74 20 53 51 4c 20 64   Different SQL d
0bb0: 61 74 61 62 61 73 65 20 65 6e 67 69 6e 65 73 20  atabase engines 
0bc0: 68 61 6e 64 6c 65 20 4e 55 4c 4c 73 20 69 6e 20  handle NULLs in 
0bd0: 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 2e 20  different ways. 
0be0: 20 54 68 65 0a 20 20 53 51 4c 20 73 74 61 6e 64   The.  SQL stand
0bf0: 61 72 64 73 20 61 72 65 20 61 6d 62 69 67 75 6f  ards are ambiguo
0c00: 75 73 2e 20 20 54 68 69 73 20 64 6f 63 75 6d 65  us.  This docume
0c10: 6e 74 20 64 65 73 63 72 69 62 65 73 20 68 6f 77  nt describes how
0c20: 20 53 51 4c 69 74 65 20 68 61 6e 64 6c 65 73 0a   SQLite handles.
0c30: 20 20 4e 55 4c 4c 73 20 69 6e 20 63 6f 6d 70 61    NULLs in compa
0c40: 72 69 73 6f 6e 20 77 69 74 68 20 6f 74 68 65 72  rison with other
0c50: 20 53 51 4c 20 64 61 74 61 62 61 73 65 20 65 6e   SQL database en
0c60: 67 69 6e 65 73 2e 0a 7d 0a 0a 64 6f 63 20 7b 43  gines..}..doc {C
0c70: 6f 70 79 72 69 67 68 74 7d 20 7b 63 6f 70 79 72  opyright} {copyr
0c80: 69 67 68 74 2e 68 74 6d 6c 7d 20 7b 0a 20 20 53  ight.html} {.  S
0c90: 51 4c 69 74 65 20 69 73 20 69 6e 20 74 68 65 20  QLite is in the 
0ca0: 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 20 20  public domain.  
0cb0: 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 64 65  This document de
0cc0: 73 63 72 69 62 65 73 20 77 68 61 74 20 74 68 61  scribes what tha
0cd0: 74 20 6d 65 61 6e 73 0a 20 20 61 6e 64 20 74 68  t means.  and th
0ce0: 65 20 69 6d 70 6c 69 63 61 74 69 6f 6e 73 20 66  e implications f
0cf0: 6f 72 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e  or contributors.
0d00: 0a 7d 0a 0a 64 6f 63 20 7b 55 6e 73 75 70 70 6f  .}..doc {Unsuppo
0d10: 72 74 65 64 20 53 51 4c 7d 20 7b 6f 6d 69 74 74  rted SQL} {omitt
0d20: 65 64 2e 68 74 6d 6c 7d 20 7b 0a 20 20 54 68 69  ed.html} {.  Thi
0d30: 73 20 70 61 67 65 20 64 65 73 63 72 69 62 65 73  s page describes
0d40: 20 66 65 61 74 75 72 65 73 20 6f 66 20 53 51 4c   features of SQL
0d50: 20 74 68 61 74 20 53 51 4c 69 74 65 20 64 6f 65   that SQLite doe
0d60: 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 2e 0a 7d  s not support..}
0d70: 0a 0a 64 6f 63 20 7b 56 65 72 73 69 6f 6e 20 32  ..doc {Version 2
0d80: 20 43 2f 43 2b 2b 20 41 50 49 7d 20 7b 63 5f 69   C/C++ API} {c_i
0d90: 6e 74 65 72 66 61 63 65 2e 68 74 6d 6c 7d 20 7b  nterface.html} {
0da0: 0a 20 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e  .  A description
0db0: 20 6f 66 20 74 68 65 20 43 2f 43 2b 2b 20 69 6e   of the C/C++ in
0dc0: 74 65 72 66 61 63 65 20 62 69 6e 64 69 6e 67 73  terface bindings
0dd0: 20 66 6f 72 20 53 51 4c 69 74 65 20 74 68 72 6f   for SQLite thro
0de0: 75 67 68 20 76 65 72 73 69 6f 6e 20 0a 20 20 32  ugh version .  2
0df0: 2e 38 0a 7d 0a 0a 0a 64 6f 63 20 7b 56 65 72 73  .8.}...doc {Vers
0e00: 69 6f 6e 20 32 20 44 61 74 61 54 79 70 65 73 20  ion 2 DataTypes 
0e10: 7d 20 7b 64 61 74 61 74 79 70 65 73 2e 68 74 6d  } {datatypes.htm
0e20: 6c 7d 20 7b 0a 20 20 41 20 64 65 73 63 72 69 70  l} {.  A descrip
0e30: 74 69 6f 6e 20 6f 66 20 68 6f 77 20 53 51 4c 69  tion of how SQLi
0e40: 74 65 20 76 65 72 73 69 6f 6e 20 32 20 68 61 6e  te version 2 han
0e50: 64 6c 65 73 20 53 51 4c 20 64 61 74 61 74 79 70  dles SQL datatyp
0e60: 65 73 2e 0a 20 20 53 68 6f 72 74 20 73 75 6d 6d  es..  Short summ
0e70: 61 72 79 3a 20 20 45 76 65 72 79 74 68 69 6e 67  ary:  Everything
0e80: 20 69 73 20 61 20 73 74 72 69 6e 67 2e 0a 7d 0a   is a string..}.
0e90: 0a 64 6f 63 20 7b 52 65 6c 65 61 73 65 20 48 69  .doc {Release Hi
0ea0: 73 74 6f 72 79 7d 20 7b 63 68 61 6e 67 65 73 2e  story} {changes.
0eb0: 68 74 6d 6c 7d 20 7b 0a 20 20 41 20 63 68 72 6f  html} {.  A chro
0ec0: 6e 6f 6c 6f 67 79 20 6f 66 20 53 51 4c 69 74 65  nology of SQLite
0ed0: 20 72 65 6c 65 61 73 65 73 20 67 6f 69 6e 67 20   releases going 
0ee0: 62 61 63 6b 20 74 6f 20 76 65 72 73 69 6f 6e 20  back to version 
0ef0: 31 2e 30 2e 30 0a 7d 0a 0a 0a 64 6f 63 20 7b 53  1.0.0.}...doc {S
0f00: 70 65 65 64 20 43 6f 6d 70 61 72 69 73 6f 6e 7d  peed Comparison}
0f10: 20 7b 73 70 65 65 64 2e 68 74 6d 6c 7d 20 7b 0a   {speed.html} {.
0f20: 20 20 54 68 65 20 73 70 65 65 64 20 6f 66 20 76    The speed of v
0f30: 65 72 73 69 6f 6e 20 32 2e 37 2e 36 20 6f 66 20  ersion 2.7.6 of 
0f40: 53 51 4c 69 74 65 20 69 73 20 63 6f 6d 70 61 72  SQLite is compar
0f50: 65 64 20 61 67 61 69 6e 73 74 20 50 6f 73 74 67  ed against Postg
0f60: 72 65 53 51 4c 20 61 6e 64 0a 20 20 4d 79 53 51  reSQL and.  MySQ
0f70: 4c 2e 0a 7d 0a 0a 64 6f 63 20 7b 41 72 63 68 69  L..}..doc {Archi
0f80: 74 65 63 74 75 72 65 7d 20 7b 61 72 63 68 2e 68  tecture} {arch.h
0f90: 74 6d 6c 7d 20 7b 0a 20 20 41 6e 20 61 72 63 68  tml} {.  An arch
0fa0: 69 74 65 63 74 75 72 61 6c 20 6f 76 65 72 76 69  itectural overvi
0fb0: 65 77 20 6f 66 20 74 68 65 20 53 51 4c 69 74 65  ew of the SQLite
0fc0: 20 6c 69 62 72 61 72 79 2c 20 75 73 65 66 75 6c   library, useful
0fd0: 20 66 6f 72 20 74 68 6f 73 65 20 77 68 6f 20 77   for those who w
0fe0: 61 6e 74 0a 20 20 74 6f 20 68 61 63 6b 20 74 68  ant.  to hack th
0ff0: 65 20 63 6f 64 65 2e 0a 7d 0a 0a 64 6f 63 20 7b  e code..}..doc {
1000: 56 44 42 45 20 54 75 74 6f 72 69 61 6c 7d 20 7b  VDBE Tutorial} {
1010: 76 64 62 65 2e 68 74 6d 6c 7d 20 7b 0a 20 20 54  vdbe.html} {.  T
1020: 68 65 20 56 44 42 45 20 69 73 20 74 68 65 20 73  he VDBE is the s
1030: 75 62 73 79 73 74 65 6d 20 77 69 74 68 69 6e 20  ubsystem within 
1040: 53 51 4c 69 74 65 20 74 68 61 74 20 64 6f 65 73  SQLite that does
1050: 20 74 68 65 20 61 63 74 75 61 6c 20 77 6f 72 6b   the actual work
1060: 20 6f 66 0a 20 20 65 78 65 63 75 74 69 6e 67 20   of.  executing 
1070: 53 51 4c 20 73 74 61 74 65 6d 65 6e 74 73 2e 20  SQL statements. 
1080: 20 54 68 69 73 20 70 61 67 65 20 64 65 73 63 72   This page descr
1090: 69 62 65 73 20 74 68 65 20 70 72 69 6e 63 69 70  ibes the princip
10a0: 6c 65 73 20 6f 66 20 6f 70 65 72 61 74 69 6f 6e  les of operation
10b0: 0a 20 20 66 6f 72 20 74 68 65 20 56 44 42 45 20  .  for the VDBE 
10c0: 69 6e 20 53 51 4c 69 74 65 20 76 65 72 73 69 6f  in SQLite versio
10d0: 6e 20 32 2e 37 2e 20 20 54 68 69 73 20 69 73 20  n 2.7.  This is 
10e0: 65 73 73 65 6e 74 69 61 6c 20 72 65 61 64 69 6e  essential readin
10f0: 67 20 66 6f 72 20 61 6e 79 6f 6e 65 0a 20 20 77  g for anyone.  w
1100: 68 6f 20 77 61 6e 74 20 74 6f 20 6d 6f 64 69 66  ho want to modif
1110: 79 20 74 68 65 20 53 51 4c 69 74 65 20 73 6f 75  y the SQLite sou
1120: 72 63 65 73 2e 0a 7d 0a 0a 64 6f 63 20 7b 56 44  rces..}..doc {VD
1130: 42 45 20 4f 70 63 6f 64 65 73 7d 20 7b 6f 70 63  BE Opcodes} {opc
1140: 6f 64 65 2e 68 74 6d 6c 7d 20 7b 0a 20 20 54 68  ode.html} {.  Th
1150: 69 73 20 64 6f 63 75 6d 65 6e 74 20 69 73 20 61  is document is a
1160: 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  n automatically 
1170: 67 65 6e 65 72 61 74 65 64 20 64 65 73 63 72 69  generated descri
1180: 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 76 61 72  ption of the var
1190: 69 6f 75 73 0a 20 20 6f 70 63 6f 64 65 73 20 74  ious.  opcodes t
11a0: 68 61 74 20 74 68 65 20 56 44 42 45 20 75 6e 64  hat the VDBE und
11b0: 65 72 73 74 61 6e 64 73 2e 20 20 50 72 6f 67 72  erstands.  Progr
11c0: 61 6d 6d 65 72 73 20 63 61 6e 20 75 73 65 20 74  ammers can use t
11d0: 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 73 0a  his document as.
11e0: 20 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f    a reference to
11f0: 20 62 65 74 74 65 72 20 75 6e 64 65 72 73 74 61   better understa
1200: 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66  nd the output of
1210: 20 45 58 50 4c 41 49 4e 20 6c 69 73 74 69 6e 67   EXPLAIN listing
1220: 73 20 66 72 6f 6d 0a 20 20 53 51 4c 69 74 65 2e  s from.  SQLite.
1230: 0a 7d 0a 0a 64 6f 63 20 7b 43 6f 6d 70 69 6c 61  .}..doc {Compila
1240: 74 69 6f 6e 20 4f 70 74 69 6f 6e 73 7d 20 7b 63  tion Options} {c
1250: 6f 6d 70 69 6c 65 2e 68 74 6d 6c 7d 20 7b 0a 20  ompile.html} {. 
1260: 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 64   This document d
1270: 65 73 63 72 69 62 65 73 20 74 68 65 20 63 6f 6d  escribes the com
1280: 70 69 6c 65 20 74 69 6d 65 20 6f 70 74 69 6f 6e  pile time option
1290: 73 20 74 68 61 74 20 6d 61 79 20 62 65 20 73 65  s that may be se
12a0: 74 20 74 6f 20 0a 20 20 6d 6f 64 69 66 79 20 74  t to .  modify t
12b0: 68 65 20 64 65 66 61 75 6c 74 20 62 65 68 61 76  he default behav
12c0: 69 6f 75 72 20 6f 66 20 74 68 65 20 6c 69 62 72  iour of the libr
12d0: 61 72 79 20 6f 72 20 6f 6d 69 74 20 6f 70 74 69  ary or omit opti
12e0: 6f 6e 61 6c 20 66 65 61 74 75 72 65 73 0a 20 20  onal features.  
12f0: 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 64 75  in order to redu
1300: 63 65 20 62 69 6e 61 72 79 20 73 69 7a 65 2e 0a  ce binary size..
1310: 7d 0a 0a 64 6f 63 20 7b 42 61 63 6b 77 61 72 64  }..doc {Backward
1320: 73 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 7d  s Compatibility}
1330: 20 7b 66 6f 72 6d 61 74 63 68 6e 67 2e 68 74 6d   {formatchng.htm
1340: 6c 7d 20 7b 0a 20 20 54 68 69 73 20 64 6f 63 75  l} {.  This docu
1350: 6d 65 6e 74 20 64 65 74 61 69 6c 73 20 61 6c 6c  ment details all
1360: 20 6f 66 20 74 68 65 20 69 6e 63 6f 6d 70 61 74   of the incompat
1370: 69 62 6c 65 20 63 68 61 6e 67 65 73 20 74 6f 20  ible changes to 
1380: 74 68 65 20 53 51 4c 69 74 65 0a 20 20 66 69 6c  the SQLite.  fil
1390: 65 20 66 6f 72 6d 61 74 20 74 68 61 74 20 68 61  e format that ha
13a0: 76 65 20 6f 63 63 75 72 72 65 64 20 73 69 6e 63  ve occurred sinc
13b0: 65 20 76 65 72 73 69 6f 6e 20 31 2e 30 2e 30 2e  e version 1.0.0.
13c0: 0a 7d 0a 3c 2f 74 63 6c 3e 0a 3c 2f 74 61 62 6c  .}.</tcl>.</tabl
13d0: 65 3e 0a                                         e>.