/ Hex Artifact Content
Login

Artifact a8cbb3496ae35184fabc5f7b47242bf33a5637d1:


0000: 23 0a 23 20 52 75 6e 20 74 68 69 73 20 73 63 72  #.# Run this scr
0010: 69 70 74 20 74 6f 20 67 65 6e 65 72 61 74 65 64  ipt to generated
0020: 20 61 20 63 68 61 6e 67 65 73 2e 68 74 6d 6c 20   a changes.html 
0030: 6f 75 74 70 75 74 20 66 69 6c 65 0a 23 0a 70 75  output file.#.pu
0040: 74 73 20 7b 3c 68 74 6d 6c 3e 0a 3c 68 65 61 64  ts {<html>.<head
0050: 3e 0a 20 20 3c 74 69 74 6c 65 3e 53 51 4c 69 74  >.  <title>SQLit
0060: 65 20 43 68 61 6e 67 65 20 4c 6f 67 3c 2f 74 69  e Change Log</ti
0070: 74 6c 65 3e 0a 3c 2f 68 65 61 64 3e 0a 3c 62 6f  tle>.</head>.<bo
0080: 64 79 20 62 67 63 6f 6c 6f 72 3d 22 77 68 69 74  dy bgcolor="whit
0090: 65 22 3e 0a 3c 68 31 20 61 6c 69 67 6e 3d 22 63  e">.<h1 align="c
00a0: 65 6e 74 65 72 22 3e 52 65 63 65 6e 74 20 43 68  enter">Recent Ch
00b0: 61 6e 67 65 73 20 54 6f 20 53 51 4c 69 74 65 3c  anges To SQLite<
00c0: 2f 68 31 3e 0a 0a 3c 44 4c 3e 0a 7d 0a 0a 0a 70  /h1>..<DL>.}...p
00d0: 72 6f 63 20 63 68 6e 67 20 7b 64 61 74 65 20 64  roc chng {date d
00e0: 65 73 63 7d 20 7b 0a 20 20 70 75 74 73 20 22 3c  esc} {.  puts "<
00f0: 44 54 3e 3c 42 3e 24 64 61 74 65 3c 2f 42 3e 3c  DT><B>$date</B><
0100: 2f 44 54 3e 22 0a 20 20 70 75 74 73 20 22 3c 44  /DT>".  puts "<D
0110: 44 3e 3c 50 3e 3c 55 4c 3e 24 64 65 73 63 3c 2f  D><P><UL>$desc</
0120: 55 4c 3e 3c 2f 50 3e 3c 2f 44 44 3e 22 0a 7d 0a  UL></P></DD>".}.
0130: 0a 63 68 6e 67 20 7b 32 30 30 31 20 4d 61 72 20  .chng {2001 Mar 
0140: 31 34 20 31 39 20 28 31 2e 30 2e 32 34 29 7d 20  14 19 (1.0.24)} 
0150: 7b 0a 3c 6c 69 3e 46 69 78 20 61 20 62 75 67 20  {.<li>Fix a bug 
0160: 77 68 69 63 68 20 77 61 73 20 63 61 75 73 69 6e  which was causin
0170: 67 20 0a 20 20 20 20 74 68 65 20 55 50 44 41 54  g .    the UPDAT
0180: 45 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 66 61 69  E command to fai
0190: 6c 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65  l on systems whe
01a0: 72 65 20 22 6d 61 6c 6c 6f 63 28 30 29 22 20 72  re "malloc(0)" r
01b0: 65 74 75 72 6e 73 0a 20 20 20 20 4e 55 4c 4c 2e  eturns.    NULL.
01c0: 20 20 54 68 65 20 70 72 6f 62 6c 65 6d 20 64 6f    The problem do
01d0: 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 57 69  es not appear Wi
01e0: 6e 64 6f 77 73 2c 20 4c 69 6e 75 78 2c 20 6f 72  ndows, Linux, or
01f0: 20 48 50 55 58 20 62 75 74 20 64 6f 65 73 20 0a   HPUX but does .
0200: 20 20 20 20 63 61 75 73 65 20 74 68 65 20 6c 69      cause the li
0210: 62 72 61 72 79 20 74 6f 20 66 61 69 6c 20 6f 6e  brary to fail on
0220: 20 51 4e 58 2e 0a 20 20 20 20 3c 2f 6c 69 3e 0a   QNX..    </li>.
0230: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20 46 65  }..chng {2001 Fe
0240: 62 20 31 39 20 28 31 2e 30 2e 32 33 29 7d 20 7b  b 19 (1.0.23)} {
0250: 0a 3c 6c 69 3e 41 6e 20 75 6e 72 65 6c 61 74 65  .<li>An unrelate
0260: 64 20 28 61 6e 64 20 6d 69 6e 6f 72 29 20 62 75  d (and minor) bu
0270: 67 20 66 72 6f 6d 20 4d 61 72 6b 20 4d 75 72 61  g from Mark Mura
0280: 6e 77 73 6b 69 20 66 69 78 65 64 2e 20 20 54 68  nwski fixed.  Th
0290: 65 20 61 6c 67 6f 72 69 74 68 6d 0a 20 20 20 20  e algorithm.    
02a0: 66 6f 72 20 66 69 67 75 72 69 6e 67 20 6f 75 74  for figuring out
02b0: 20 77 68 65 72 65 20 74 6f 20 70 75 74 20 74 65   where to put te
02c0: 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 66 6f  mporary files fo
02d0: 72 20 61 20 22 6d 65 6d 6f 72 79 3a 22 20 64 61  r a "memory:" da
02e0: 74 61 62 61 73 65 0a 20 20 20 20 77 61 73 20 6e  tabase.    was n
02f0: 6f 74 20 77 6f 72 6b 69 6e 67 20 71 75 69 74 65  ot working quite
0300: 20 72 69 67 68 74 2e 0a 20 20 20 20 3c 2f 6c 69   right..    </li
0310: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20  >.}..chng {2001 
0320: 46 65 62 20 31 39 20 28 31 2e 30 2e 32 32 29 7d  Feb 19 (1.0.22)}
0330: 20 7b 0a 3c 6c 69 3e 54 68 65 20 70 72 65 76 69   {.<li>The previ
0340: 6f 75 73 20 66 69 78 20 77 61 73 20 6e 6f 74 20  ous fix was not 
0350: 71 75 69 74 65 20 72 69 67 68 74 2e 20 20 54 68  quite right.  Th
0360: 69 73 20 6f 6e 65 20 73 65 65 6d 73 20 74 6f 20  is one seems to 
0370: 77 6f 72 6b 20 62 65 74 74 65 72 2e 0a 20 20 20  work better..   
0380: 20 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b   </li>.}..chng {
0390: 32 30 30 31 20 46 65 62 20 31 39 20 28 31 2e 30  2001 Feb 19 (1.0
03a0: 2e 32 31 29 7d 20 7b 0a 3c 6c 69 3e 54 68 65 20  .21)} {.<li>The 
03b0: 55 50 44 41 54 45 20 73 74 61 74 65 6d 65 6e 74  UPDATE statement
03c0: 20 77 61 73 20 6e 6f 74 20 77 6f 72 6b 69 6e 67   was not working
03d0: 20 77 68 65 6e 20 74 68 65 20 57 48 45 52 45 20   when the WHERE 
03e0: 63 6c 61 75 73 65 20 63 6f 6e 74 61 69 6e 65 64  clause contained
03f0: 0a 20 20 20 20 73 6f 6d 65 20 74 65 72 6d 73 20  .    some terms 
0400: 74 68 61 74 20 63 6f 75 6c 64 20 62 65 20 73 61  that could be sa
0410: 74 69 73 66 69 65 64 20 75 73 69 6e 67 20 69 6e  tisfied using in
0420: 64 69 63 65 73 20 61 6e 64 20 6f 74 68 65 72 20  dices and other 
0430: 74 65 72 6d 73 20 74 68 61 74 0a 20 20 20 20 63  terms that.    c
0440: 6f 75 6c 64 20 6e 6f 74 2e 20 20 46 69 78 65 64  ould not.  Fixed
0450: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
0460: 32 30 30 31 20 46 65 62 20 31 31 20 28 31 2e 30  2001 Feb 11 (1.0
0470: 2e 32 30 29 7d 20 7b 0a 3c 6c 69 3e 4d 65 72 67  .20)} {.<li>Merg
0480: 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 63 68  e development ch
0490: 61 6e 67 65 73 20 69 6e 74 6f 20 74 68 65 20 6d  anges into the m
04a0: 61 69 6e 20 74 72 75 6e 6b 2e 20 20 46 75 74 75  ain trunk.  Futu
04b0: 72 65 20 77 6f 72 6b 20 74 6f 77 61 72 64 0a 20  re work toward. 
04c0: 20 20 20 75 73 69 6e 67 20 61 20 42 54 72 65 65     using a BTree
04d0: 20 66 69 6c 65 20 73 74 72 75 63 74 75 72 65 20   file structure 
04e0: 77 69 6c 6c 20 75 73 65 20 61 20 73 65 70 61 72  will use a separ
04f0: 61 74 65 20 43 56 53 20 73 6f 75 72 63 65 20 74  ate CVS source t
0500: 72 65 65 2e 20 20 54 68 69 73 0a 20 20 20 20 43  ree.  This.    C
0510: 56 53 20 74 72 65 65 20 77 69 6c 6c 20 63 6f 6e  VS tree will con
0520: 74 69 6e 75 65 20 74 6f 20 73 75 70 70 6f 72 74  tinue to support
0530: 20 74 68 65 20 47 44 42 4d 20 76 65 72 73 69 6f   the GDBM versio
0540: 6e 20 6f 66 20 53 51 4c 69 74 65 20 6f 6e 6c 79  n of SQLite only
0550: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
0560: 32 30 30 31 20 46 65 62 20 36 20 28 31 2e 30 2e  2001 Feb 6 (1.0.
0570: 31 39 29 7d 20 7b 0a 3c 6c 69 3e 46 69 78 20 61  19)} {.<li>Fix a
0580: 20 73 74 72 61 6e 67 65 20 28 62 75 74 20 76 61   strange (but va
0590: 6c 69 64 29 20 43 20 64 65 63 6c 61 72 61 74 69  lid) C declarati
05a0: 6f 6e 20 74 68 61 74 20 77 61 73 20 63 61 75 73  on that was caus
05b0: 69 6e 67 20 70 72 6f 62 6c 65 6d 73 0a 20 20 20  ing problems.   
05c0: 20 66 6f 72 20 51 4e 58 2e 20 20 4e 6f 20 6c 6f   for QNX.  No lo
05d0: 67 69 63 61 6c 20 63 68 61 6e 67 65 73 2e 3c 2f  gical changes.</
05e0: 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30  li>.}..chng {200
05f0: 31 20 4a 61 6e 20 34 20 28 31 2e 30 2e 31 38 29  1 Jan 4 (1.0.18)
0600: 7d 20 7b 0a 3c 6c 69 3e 50 72 69 6e 74 20 74 68  } {.<li>Print th
0610: 65 20 6f 66 66 65 6e 64 69 6e 67 20 53 51 4c 20  e offending SQL 
0620: 73 74 61 74 65 6d 65 6e 74 20 77 68 65 6e 20 61  statement when a
0630: 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2e 3c  n error occurs.<
0640: 2f 6c 69 3e 0a 3c 6c 69 3e 44 6f 20 6e 6f 74 20  /li>.<li>Do not 
0650: 72 65 71 75 69 72 65 20 63 6f 6d 6d 61 73 20 62  require commas b
0660: 65 74 77 65 65 6e 20 63 6f 6e 73 74 72 61 69 6e  etween constrain
0670: 74 73 20 69 6e 20 43 52 45 41 54 45 20 54 41 42  ts in CREATE TAB
0680: 4c 45 20 73 74 61 74 65 6d 65 6e 74 73 2e 3c 2f  LE statements.</
0690: 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68  li>.<li>Added th
06a0: 65 20 22 2d 65 63 68 6f 22 20 6f 70 74 69 6f 6e  e "-echo" option
06b0: 20 74 6f 20 74 68 65 20 73 68 65 6c 6c 2e 3c 2f   to the shell.</
06c0: 6c 69 3e 0a 3c 6c 69 3e 43 68 61 6e 67 65 73 20  li>.<li>Changes 
06d0: 74 6f 20 63 6f 6d 6d 65 6e 74 73 2e 3c 2f 6c 69  to comments.</li
06e0: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20  >.}..chng {2000 
06f0: 44 65 63 20 31 30 20 28 31 2e 30 2e 31 37 29 7d  Dec 10 (1.0.17)}
0700: 20 7b 0a 3c 6c 69 3e 52 65 77 72 6f 74 65 20 3c   {.<li>Rewrote <
0710: 62 3e 73 71 6c 69 74 65 5f 63 6f 6d 70 6c 65 74  b>sqlite_complet
0720: 65 28 29 3c 2f 62 3e 20 74 6f 20 6d 61 6b 65 20  e()</b> to make 
0730: 69 74 20 66 61 73 74 65 72 2e 3c 2f 6c 69 3e 0a  it faster.</li>.
0740: 3c 6c 69 3e 4d 69 6e 6f 72 20 74 77 65 61 6b 73  <li>Minor tweaks
0750: 20 74 6f 20 6f 74 68 65 72 20 63 6f 64 65 20 74   to other code t
0760: 6f 20 6d 61 6b 65 20 69 74 20 72 75 6e 20 61 20  o make it run a 
0770: 6c 69 74 74 6c 65 20 66 61 73 74 65 72 2e 3c 2f  little faster.</
0780: 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 6e 65  li>.<li>Added ne
0790: 77 20 74 65 73 74 73 20 66 6f 72 20 3c 62 3e 73  w tests for <b>s
07a0: 71 6c 69 74 65 5f 63 6f 6d 70 6c 65 74 65 28 29  qlite_complete()
07b0: 3c 2f 62 3e 20 61 6e 64 20 66 6f 72 20 6d 65 6d  </b> and for mem
07c0: 6f 72 79 20 6c 65 61 6b 73 2e 3c 2f 6c 69 3e 0a  ory leaks.</li>.
07d0: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 44 65  }..chng {2000 De
07e0: 63 20 34 20 28 31 2e 30 2e 31 36 29 7d 20 7b 0a  c 4 (1.0.16)} {.
07f0: 3c 6c 69 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f  <li>Documentatio
0800: 6e 20 75 70 64 61 74 65 73 2e 20 20 4d 6f 73 74  n updates.  Most
0810: 6c 79 20 66 69 78 69 6e 67 20 6f 66 20 74 79 70  ly fixing of typ
0820: 6f 73 20 61 6e 64 20 73 70 65 6c 6c 69 6e 67 20  os and spelling 
0830: 65 72 72 6f 72 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  errors.</li>.}..
0840: 63 68 6e 67 20 7b 32 30 30 30 20 4f 63 74 20 32  chng {2000 Oct 2
0850: 33 20 28 31 2e 30 2e 31 35 29 7d 20 7b 0a 3c 6c  3 (1.0.15)} {.<l
0860: 69 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20  i>Documentation 
0870: 75 70 64 61 74 65 73 3c 2f 6c 69 3e 0a 3c 6c 69  updates</li>.<li
0880: 3e 53 6f 6d 65 20 73 61 6e 69 74 79 20 63 68 65  >Some sanity che
0890: 63 6b 69 6e 67 20 63 6f 64 65 20 77 61 73 20 72  cking code was r
08a0: 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20  emoved from the 
08b0: 69 6e 6e 65 72 20 6c 6f 6f 70 20 6f 66 20 76 64  inner loop of vd
08c0: 62 65 2e 63 0a 20 20 20 20 74 6f 20 68 65 6c 70  be.c.    to help
08d0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 74 6f 20   the library to 
08e0: 72 75 6e 20 61 20 6c 69 74 74 6c 65 20 66 61 73  run a little fas
08f0: 74 65 72 2e 20 20 54 68 65 20 63 6f 64 65 20 69  ter.  The code i
0900: 73 20 6f 6e 6c 79 0a 20 20 20 20 72 65 6d 6f 76  s only.    remov
0910: 65 64 20 69 66 20 79 6f 75 20 63 6f 6d 70 69 6c  ed if you compil
0920: 65 20 77 69 74 68 20 2d 44 4e 44 45 42 55 47 2e  e with -DNDEBUG.
0930: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
0940: 30 30 30 20 4f 63 74 20 31 39 20 28 31 2e 30 2e  000 Oct 19 (1.0.
0950: 31 34 29 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64  14)} {.<li>Added
0960: 20 61 20 22 6d 65 6d 6f 72 79 3a 22 20 62 61 63   a "memory:" bac
0970: 6b 65 6e 64 20 64 72 69 76 65 72 20 74 68 61 74  kend driver that
0980: 20 73 74 6f 72 65 73 20 69 74 73 20 64 61 74 61   stores its data
0990: 62 61 73 65 20 69 6e 20 61 6e 0a 20 20 20 20 69  base in an.    i
09a0: 6e 2d 6d 65 6d 6f 72 79 20 68 61 73 68 20 74 61  n-memory hash ta
09b0: 62 6c 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e  ble.</li>.}..chn
09c0: 67 20 7b 32 30 30 30 20 4f 63 74 20 31 38 20 28  g {2000 Oct 18 (
09d0: 31 2e 30 2e 31 33 29 7d 20 7b 0a 3c 6c 69 3e 42  1.0.13)} {.<li>B
09e0: 72 65 61 6b 20 6f 75 74 20 74 68 65 20 47 44 42  reak out the GDB
09f0: 4d 20 64 72 69 76 65 72 20 69 6e 74 6f 20 61 20  M driver into a 
0a00: 73 65 70 61 72 61 74 65 20 66 69 6c 65 20 69 6e  separate file in
0a10: 20 61 6e 74 69 63 69 70 61 74 69 6f 6e 0a 20 20   anticipation.  
0a20: 20 20 74 6f 20 61 64 64 65 64 20 6e 65 77 20 64    to added new d
0a30: 72 69 76 65 72 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69  rivers.</li>.<li
0a40: 3e 41 6c 6c 6f 77 20 74 68 65 20 6e 61 6d 65 20  >Allow the name 
0a50: 6f 66 20 61 20 64 61 74 61 62 61 73 65 20 74 6f  of a database to
0a60: 20 62 65 20 70 72 65 66 69 78 65 64 20 62 79 20   be prefixed by 
0a70: 74 68 65 20 64 72 69 76 65 72 20 74 79 70 65 2e  the driver type.
0a80: 0a 20 20 20 20 46 6f 72 20 6e 6f 77 2c 20 74 68  .    For now, th
0a90: 65 20 6f 6e 6c 79 20 64 72 69 76 65 72 20 74 79  e only driver ty
0aa0: 70 65 20 69 73 20 22 67 64 62 6d 3a 22 2e 3c 2f  pe is "gdbm:".</
0ab0: 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30  li>.}..chng {200
0ac0: 30 20 4f 63 74 20 31 36 20 28 31 2e 30 2e 31 32  0 Oct 16 (1.0.12
0ad0: 29 7d 20 7b 0a 3c 6c 69 3e 46 69 78 65 64 20 61  )} {.<li>Fixed a
0ae0: 6e 20 6f 66 66 2d 62 79 2d 6f 6e 65 20 65 72 72  n off-by-one err
0af0: 6f 72 20 74 68 61 74 20 77 61 73 20 63 61 75 73  or that was caus
0b00: 69 6e 67 20 61 20 63 6f 72 65 64 75 6d 70 20 69  ing a coredump i
0b10: 6e 20 0a 20 20 20 20 74 68 65 20 27 25 71 27 20  n .    the '%q' 
0b20: 66 6f 72 6d 61 74 20 64 69 72 65 63 74 69 76 65  format directive
0b30: 20 6f 66 20 74 68 65 20 6e 65 77 0a 20 20 20 20   of the new.    
0b40: 3c 62 3e 73 71 6c 69 74 65 5f 2e 2e 2e 5f 70 72  <b>sqlite_..._pr
0b50: 69 6e 74 66 28 29 3c 2f 62 3e 20 72 6f 75 74 69  intf()</b> routi
0b60: 6e 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64  nes.</li>.<li>Ad
0b70: 64 65 64 20 74 68 65 20 3c 62 3e 73 71 6c 69 74  ded the <b>sqlit
0b80: 65 5f 69 6e 74 65 72 72 75 70 74 28 29 3c 2f 62  e_interrupt()</b
0b90: 3e 20 69 6e 74 65 72 66 61 63 65 2e 3c 2f 6c 69  > interface.</li
0ba0: 3e 0a 3c 6c 69 3e 49 6e 20 74 68 65 20 73 68 65  >.<li>In the she
0bb0: 6c 6c 2c 20 3c 62 3e 73 71 6c 69 74 65 5f 69 6e  ll, <b>sqlite_in
0bc0: 74 65 72 72 75 70 74 28 29 3c 2f 62 3e 20 69 73  terrupt()</b> is
0bd0: 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68   invoked when th
0be0: 65 0a 20 20 20 20 75 73 65 72 20 70 72 65 73 73  e.    user press
0bf0: 65 73 20 43 6f 6e 74 72 6f 6c 2d 43 3c 2f 6c 69  es Control-C</li
0c00: 3e 0a 3c 6c 69 3e 46 69 78 65 64 20 73 6f 6d 65  >.<li>Fixed some
0c10: 20 69 6e 73 74 61 6e 63 65 73 20 77 68 65 72 65   instances where
0c20: 20 3c 62 3e 73 71 6c 69 74 65 5f 65 78 65 63 28   <b>sqlite_exec(
0c30: 29 3c 2f 62 3e 20 77 61 73 0a 20 20 20 20 72 65  )</b> was.    re
0c40: 74 75 72 6e 69 6e 67 20 74 68 65 20 77 72 6f 6e  turning the wron
0c50: 67 20 65 72 72 6f 72 20 63 6f 64 65 2e 3c 2f 6c  g error code.</l
0c60: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
0c70: 20 4f 63 74 20 31 31 20 28 31 2e 30 2e 31 30 29   Oct 11 (1.0.10)
0c80: 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 6e 6f  } {.<li>Added no
0c90: 74 65 73 20 6f 6e 20 68 6f 77 20 74 6f 20 63 6f  tes on how to co
0ca0: 6d 70 69 6c 65 20 66 6f 72 20 57 69 6e 64 6f 77  mpile for Window
0cb0: 73 39 35 2f 39 38 2e 3c 2f 6c 69 3e 0a 3c 6c 69  s95/98.</li>.<li
0cc0: 3e 52 65 6d 6f 76 65 64 20 61 20 66 65 77 20 76  >Removed a few v
0cd0: 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 77 65  ariables that we
0ce0: 72 65 20 6e 6f 74 20 62 65 69 6e 67 20 75 73 65  re not being use
0cf0: 64 2e 20 20 45 74 63 2e 3c 2f 6c 69 3e 0a 7d 0a  d.  Etc.</li>.}.
0d00: 0a 63 68 6e 67 20 7b 32 30 30 30 20 4f 63 74 20  .chng {2000 Oct 
0d10: 38 20 28 31 2e 30 2e 39 29 7d 20 7b 0a 3c 6c 69  8 (1.0.9)} {.<li
0d20: 3e 41 64 64 65 64 20 74 68 65 20 3c 62 3e 73 71  >Added the <b>sq
0d30: 6c 69 74 65 5f 2e 2e 2e 5f 70 72 69 6e 74 66 28  lite_..._printf(
0d40: 29 3c 2f 62 3e 20 69 6e 74 65 72 66 61 63 65 20  )</b> interface 
0d50: 72 6f 75 74 69 6e 65 73 2e 3c 2f 6c 69 3e 0a 3c  routines.</li>.<
0d60: 6c 69 3e 4d 6f 64 69 66 69 65 64 20 74 68 65 20  li>Modified the 
0d70: 3c 62 3e 73 71 6c 69 74 65 3c 2f 62 3e 20 73 68  <b>sqlite</b> sh
0d80: 65 6c 6c 20 70 72 6f 67 72 61 6d 20 74 6f 20 75  ell program to u
0d90: 73 65 20 74 68 65 20 6e 65 77 20 69 6e 74 65 72  se the new inter
0da0: 66 61 63 65 20 0a 20 20 20 20 72 6f 75 74 69 6e  face .    routin
0db0: 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 4d 6f 64  es.</li>.<li>Mod
0dc0: 69 66 69 65 64 20 74 68 65 20 3c 62 3e 73 71 6c  ified the <b>sql
0dd0: 69 74 65 3c 2f 62 3e 20 73 68 65 6c 6c 20 70 72  ite</b> shell pr
0de0: 6f 67 72 61 6d 20 74 6f 20 70 72 69 6e 74 20 74  ogram to print t
0df0: 68 65 20 73 63 68 65 6d 61 20 66 6f 72 0a 20 20  he schema for.  
0e00: 20 20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 53    the built-in S
0e10: 51 4c 49 54 45 5f 4d 41 53 54 45 52 20 74 61 62  QLITE_MASTER tab
0e20: 6c 65 2c 20 69 66 20 65 78 70 6c 69 63 69 74 6c  le, if explicitl
0e30: 79 20 72 65 71 75 65 73 74 65 64 2e 3c 2f 6c 69  y requested.</li
0e40: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20  >.}..chng {2000 
0e50: 53 65 70 20 33 30 20 28 31 2e 30 2e 38 29 7d 20  Sep 30 (1.0.8)} 
0e60: 7b 0a 3c 6c 69 3e 42 65 67 69 6e 20 77 72 69 74  {.<li>Begin writ
0e70: 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  ing documentatio
0e80: 6e 20 6f 6e 20 74 68 65 20 54 43 4c 20 69 6e 74  n on the TCL int
0e90: 65 72 66 61 63 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  erface.</li>.}..
0ea0: 63 68 6e 67 20 7b 32 30 30 30 20 53 65 70 20 32  chng {2000 Sep 2
0eb0: 39 20 28 4e 6f 74 20 52 65 6c 65 61 73 65 64 29  9 (Not Released)
0ec0: 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68  } {.<li>Added th
0ed0: 65 20 3c 62 3e 73 71 6c 69 74 65 5f 67 65 74 5f  e <b>sqlite_get_
0ee0: 74 61 62 6c 65 28 29 3c 2f 62 3e 20 41 50 49 3c  table()</b> API<
0ef0: 2f 6c 69 3e 0a 3c 6c 69 3e 55 70 64 61 74 65 64  /li>.<li>Updated
0f00: 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69   the documentati
0f10: 6f 6e 20 66 6f 72 20 64 75 65 20 74 6f 20 74 68  on for due to th
0f20: 65 20 61 62 6f 76 65 20 63 68 61 6e 67 65 2e 3c  e above change.<
0f30: 2f 6c 69 3e 0a 3c 6c 69 3e 4d 6f 64 69 66 69 65  /li>.<li>Modifie
0f40: 64 20 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 3c  d the <b>sqlite<
0f50: 2f 62 3e 20 73 68 65 6c 6c 20 74 6f 20 6d 61 6b  /b> shell to mak
0f60: 65 20 75 73 65 20 6f 66 20 74 68 65 20 6e 65 77  e use of the new
0f70: 0a 20 20 20 20 73 71 6c 69 74 65 5f 67 65 74 5f  .    sqlite_get_
0f80: 74 61 62 6c 65 28 29 20 41 50 49 20 69 6e 20 6f  table() API in o
0f90: 72 64 65 72 20 74 6f 20 70 72 69 6e 74 20 61 20  rder to print a 
0fa0: 6c 69 73 74 20 6f 66 20 74 61 62 6c 65 73 0a 20  list of tables. 
0fb0: 20 20 20 69 6e 20 6d 75 6c 74 69 70 6c 65 20 63     in multiple c
0fc0: 6f 6c 75 6d 6e 73 2c 20 73 69 6d 69 6c 61 72 20  olumns, similar 
0fd0: 74 6f 20 74 68 65 20 77 61 79 20 22 6c 73 22 20  to the way "ls" 
0fe0: 70 72 69 6e 74 73 20 66 69 6c 65 6e 61 6d 65 73  prints filenames
0ff0: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 4d 6f 64 69 66  .</li>.<li>Modif
1000: 69 65 64 20 74 68 65 20 3c 62 3e 73 71 6c 69 74  ied the <b>sqlit
1010: 65 3c 2f 62 3e 20 73 68 65 6c 6c 20 74 6f 20 70  e</b> shell to p
1020: 72 69 6e 74 20 61 20 73 65 6d 69 63 6f 6c 6f 6e  rint a semicolon
1030: 20 61 74 20 74 68 65 0a 20 20 20 20 65 6e 64 20   at the.    end 
1040: 6f 66 20 65 61 63 68 20 43 52 45 41 54 45 20 73  of each CREATE s
1050: 74 61 74 65 6d 65 6e 74 20 69 6e 20 74 68 65 20  tatement in the 
1060: 6f 75 74 70 75 74 20 6f 66 20 74 68 65 20 22 2e  output of the ".
1070: 73 63 68 65 6d 61 22 20 63 6f 6d 6d 61 6e 64 2e  schema" command.
1080: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
1090: 30 30 30 20 53 65 70 20 32 31 20 28 4e 6f 74 20  000 Sep 21 (Not 
10a0: 52 65 6c 65 61 73 65 64 29 7d 20 7b 0a 3c 6c 69  Released)} {.<li
10b0: 3e 43 68 61 6e 67 65 20 74 68 65 20 74 63 6c 73  >Change the tcls
10c0: 71 6c 69 74 65 20 22 65 76 61 6c 22 20 6d 65 74  qlite "eval" met
10d0: 68 6f 64 20 74 6f 20 72 65 74 75 72 6e 20 61 20  hod to return a 
10e0: 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 20  list of results 
10f0: 69 66 0a 20 20 20 20 6e 6f 20 63 61 6c 6c 62 61  if.    no callba
1100: 63 6b 20 73 63 72 69 70 74 20 69 73 20 73 70 65  ck script is spe
1110: 63 69 66 69 65 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69  cified.</li>.<li
1120: 3e 43 68 61 6e 67 65 20 74 63 6c 73 71 6c 69 74  >Change tclsqlit
1130: 65 2e 63 20 74 6f 20 75 73 65 20 74 68 65 20 54  e.c to use the T
1140: 63 6c 5f 4f 62 6a 20 69 6e 74 65 72 66 61 63 65  cl_Obj interface
1150: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 20 74 63  </li>.<li>Add tc
1160: 6c 73 71 6c 69 74 65 2e 63 20 74 6f 20 74 68 65  lsqlite.c to the
1170: 20 6c 69 62 73 71 6c 69 74 65 2e 61 20 6c 69 62   libsqlite.a lib
1180: 72 61 72 79 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e  rary</li>.}..chn
1190: 67 20 7b 32 30 30 30 20 53 65 70 20 31 33 20 28  g {2000 Sep 13 (
11a0: 56 65 72 73 69 6f 6e 20 31 2e 30 2e 35 29 7d 20  Version 1.0.5)} 
11b0: 7b 0a 3c 6c 69 3e 43 68 61 6e 67 65 64 20 74 68  {.<li>Changed th
11c0: 65 20 70 72 69 6e 74 20 66 6f 72 6d 61 74 20 66  e print format f
11d0: 6f 72 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e  or floating poin
11e0: 74 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 22 25  t values from "%
11f0: 67 22 20 74 6f 20 22 25 2e 31 35 67 22 2e 0a 20  g" to "%.15g".. 
1200: 20 20 20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 68 61     </li>.<li>Cha
1210: 6e 67 65 64 20 74 68 65 20 63 6f 6d 70 61 72 69  nged the compari
1220: 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 73 6f 20  son function so 
1230: 74 68 61 74 20 6e 75 6d 62 65 72 73 20 69 6e 20  that numbers in 
1240: 65 78 70 6f 6e 65 6e 74 69 61 6c 20 6e 6f 74 61  exponential nota
1250: 74 69 6f 6e 0a 20 20 20 20 28 65 78 3a 20 31 2e  tion.    (ex: 1.
1260: 32 33 34 65 2b 30 35 29 20 73 6f 72 74 20 69 6e  234e+05) sort in
1270: 20 6e 75 6d 65 72 69 63 61 6c 20 6f 72 64 65 72   numerical order
1280: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
1290: 32 30 30 30 20 41 75 67 20 32 38 20 28 56 65 72  2000 Aug 28 (Ver
12a0: 73 69 6f 6e 20 31 2e 30 2e 34 29 7d 20 7b 0a 3c  sion 1.0.4)} {.<
12b0: 6c 69 3e 41 64 64 65 64 20 66 75 6e 63 74 69 6f  li>Added functio
12c0: 6e 73 20 3c 62 3e 6c 65 6e 67 74 68 28 29 3c 2f  ns <b>length()</
12d0: 62 3e 20 61 6e 64 20 3c 62 3e 73 75 62 73 74 72  b> and <b>substr
12e0: 28 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0a 3c 6c 69  ()</b>.</li>.<li
12f0: 3e 46 69 78 20 61 20 62 75 67 20 69 6e 20 74 68  >Fix a bug in th
1300: 65 20 3c 62 3e 73 71 6c 69 74 65 3c 2f 62 3e 20  e <b>sqlite</b> 
1310: 73 68 65 6c 6c 20 70 72 6f 67 72 61 6d 20 74 68  shell program th
1320: 61 74 20 77 61 73 20 63 61 75 73 69 6e 67 0a 20  at was causing. 
1330: 20 20 20 61 20 63 6f 72 65 64 75 6d 70 20 77 68     a coredump wh
1340: 65 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6d 6f  en the output mo
1350: 64 65 20 77 61 73 20 22 63 6f 6c 75 6d 6e 22 20  de was "column" 
1360: 61 6e 64 20 74 68 65 20 66 69 72 73 74 20 72 6f  and the first ro
1370: 77 0a 20 20 20 20 6f 66 20 64 61 74 61 20 63 6f  w.    of data co
1380: 6e 74 61 69 6e 65 64 20 61 20 4e 55 4c 4c 2e 3c  ntained a NULL.<
1390: 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30  /li>.}..chng {20
13a0: 30 30 20 41 75 67 20 32 32 20 28 56 65 72 73 69  00 Aug 22 (Versi
13b0: 6f 6e 20 31 2e 30 2e 33 29 7d 20 7b 0a 3c 6c 69  on 1.0.3)} {.<li
13c0: 3e 49 6e 20 74 68 65 20 73 71 6c 69 74 65 20 73  >In the sqlite s
13d0: 68 65 6c 6c 2c 20 70 72 69 6e 74 20 74 68 65 20  hell, print the 
13e0: 22 44 61 74 61 62 61 73 65 20 6f 70 65 6e 65 64  "Database opened
13f0: 20 52 45 41 44 20 4f 4e 4c 59 22 20 6d 65 73 73   READ ONLY" mess
1400: 61 67 65 0a 20 20 20 20 74 6f 20 73 74 64 65 72  age.    to stder
1410: 72 20 69 6e 73 74 65 61 64 20 6f 66 20 73 74 64  r instead of std
1420: 6f 75 74 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 49 6e  out.</li>.<li>In
1430: 20 74 68 65 20 73 71 6c 69 74 65 20 73 68 65 6c   the sqlite shel
1440: 6c 2c 20 6e 6f 77 20 70 72 69 6e 74 20 74 68 65  l, now print the
1450: 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20   version number 
1460: 6f 6e 20 69 6e 69 74 69 61 6c 20 73 74 61 72 74  on initial start
1470: 75 70 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64  up.</li>.<li>Add
1480: 20 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 5f 76   the <b>sqlite_v
1490: 65 72 73 69 6f 6e 5b 5d 3c 2f 62 3e 20 73 74 72  ersion[]</b> str
14a0: 69 6e 67 20 63 6f 6e 73 74 61 6e 74 20 74 6f 20  ing constant to 
14b0: 74 68 65 20 6c 69 62 72 61 72 79 3c 2f 6c 69 3e  the library</li>
14c0: 0a 3c 6c 69 3e 4d 61 6b 65 66 69 6c 65 20 75 70  .<li>Makefile up
14d0: 64 61 74 65 73 3c 2f 6c 69 3e 0a 3c 6c 69 3e 42  dates</li>.<li>B
14e0: 75 67 20 66 69 78 3a 20 69 6e 63 6f 72 72 65 63  ug fix: incorrec
14f0: 74 20 56 44 42 45 20 63 6f 64 65 20 77 61 73 20  t VDBE code was 
1500: 62 65 69 6e 67 20 67 65 6e 65 72 61 74 65 64 20  being generated 
1510: 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e  for the followin
1520: 67 0a 20 20 20 20 63 69 72 63 75 6d 73 74 61 6e  g.    circumstan
1530: 63 65 3a 20 61 20 71 75 65 72 79 20 6f 6e 20 61  ce: a query on a
1540: 6e 20 69 6e 64 65 78 65 64 20 74 61 62 6c 65 20  n indexed table 
1550: 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 57 48 45  containing a WHE
1560: 52 45 20 63 6c 61 75 73 65 20 77 69 74 68 0a 20  RE clause with. 
1570: 20 20 20 61 6e 20 49 4e 20 6f 70 65 72 61 74 6f     an IN operato
1580: 72 20 74 68 61 74 20 68 61 64 20 61 20 73 75 62  r that had a sub
1590: 71 75 65 72 79 20 6f 6e 20 69 74 73 20 72 69 67  query on its rig
15a0: 68 74 2d 68 61 6e 64 20 73 69 64 65 2e 3c 2f 6c  ht-hand side.</l
15b0: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
15c0: 20 41 75 67 20 31 38 20 28 56 65 72 73 69 6f 6e   Aug 18 (Version
15d0: 20 31 2e 30 2e 31 29 7d 20 7b 0a 3c 6c 69 3e 46   1.0.1)} {.<li>F
15e0: 69 78 20 61 20 62 75 67 20 69 6e 20 74 68 65 20  ix a bug in the 
15f0: 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74  configure script
1600: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 4d 69 6e 6f 72  .</li>.<li>Minor
1610: 20 72 65 76 69 73 69 6f 6e 73 20 74 6f 20 74 68   revisions to th
1620: 65 20 77 65 62 73 69 74 65 2e 3c 2f 6c 69 3e 0a  e website.</li>.
1630: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 41 75  }..chng {2000 Au
1640: 67 20 31 37 20 28 56 65 72 73 69 6f 6e 20 31 2e  g 17 (Version 1.
1650: 30 29 7d 20 7b 0a 3c 6c 69 3e 43 68 61 6e 67 65  0)} {.<li>Change
1660: 20 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 3c 2f   the <b>sqlite</
1670: 62 3e 20 70 72 6f 67 72 61 6d 20 73 6f 20 74 68  b> program so th
1680: 61 74 20 69 74 20 63 61 6e 20 72 65 61 64 0a 20  at it can read. 
1690: 20 20 20 64 61 74 61 62 61 73 65 73 20 66 6f 72     databases for
16a0: 20 77 68 69 63 68 20 69 74 20 6c 61 63 6b 73 20   which it lacks 
16b0: 77 72 69 74 65 20 70 65 72 6d 69 73 73 69 6f 6e  write permission
16c0: 2e 20 20 28 49 74 20 75 73 65 64 20 74 6f 0a 20  .  (It used to. 
16d0: 20 20 20 72 65 66 75 73 65 20 61 6c 6c 20 61 63     refuse all ac
16e0: 63 65 73 73 20 69 66 20 69 74 20 63 6f 75 6c 64  cess if it could
16f0: 20 6e 6f 74 20 77 72 69 74 65 2e 29 3c 2f 6c 69   not write.)</li
1700: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20  >.}..chng {2000 
1710: 41 75 67 20 39 7d 20 7b 0a 3c 6c 69 3e 54 72 65  Aug 9} {.<li>Tre
1720: 61 74 20 63 61 72 72 69 61 67 65 20 72 65 74 75  at carriage retu
1730: 72 6e 73 20 61 73 20 77 68 69 74 65 20 73 70 61  rns as white spa
1740: 63 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  ce.</li>.}..chng
1750: 20 7b 32 30 30 30 20 41 75 67 20 38 7d 20 7b 0a   {2000 Aug 8} {.
1760: 3c 6c 69 3e 41 64 64 65 64 20 70 61 74 74 65 72  <li>Added patter
1770: 6e 20 6d 61 74 63 68 69 6e 67 20 74 6f 20 74 68  n matching to th
1780: 65 20 22 2e 74 61 62 6c 65 22 20 63 6f 6d 6d 61  e ".table" comma
1790: 6e 64 20 69 6e 20 74 68 65 20 22 73 71 6c 69 74  nd in the "sqlit
17a0: 65 22 0a 63 6f 6d 6d 61 6e 64 20 73 68 65 6c 6c  e".command shell
17b0: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
17c0: 32 30 30 30 20 41 75 67 20 34 7d 20 7b 0a 3c 6c  2000 Aug 4} {.<l
17d0: 69 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20  i>Documentation 
17e0: 75 70 64 61 74 65 73 3c 2f 6c 69 3e 0a 3c 6c 69  updates</li>.<li
17f0: 3e 41 64 64 65 64 20 22 62 75 73 79 22 20 61 6e  >Added "busy" an
1800: 64 20 22 74 69 6d 65 6f 75 74 22 20 6d 65 74 68  d "timeout" meth
1810: 6f 64 73 20 74 6f 20 74 68 65 20 54 63 6c 20 69  ods to the Tcl i
1820: 6e 74 65 72 66 61 63 65 3c 2f 6c 69 3e 0a 7d 0a  nterface</li>.}.
1830: 0a 63 68 6e 67 20 7b 32 30 30 30 20 41 75 67 20  .chng {2000 Aug 
1840: 33 7d 20 7b 0a 3c 6c 69 3e 46 69 6c 65 20 66 6f  3} {.<li>File fo
1850: 72 6d 61 74 20 76 65 72 73 69 6f 6e 20 6e 75 6d  rmat version num
1860: 62 65 72 20 77 61 73 20 62 65 69 6e 67 20 73 74  ber was being st
1870: 6f 72 65 64 20 69 6e 20 73 71 6c 69 74 65 5f 6d  ored in sqlite_m
1880: 61 73 74 65 72 2e 74 63 6c 0a 20 20 20 20 6d 75  aster.tcl.    mu
1890: 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 20 54 68  ltiple times. Th
18a0: 69 73 20 77 61 73 20 68 61 72 6d 6c 65 73 73 2c  is was harmless,
18b0: 20 62 75 74 20 75 6e 6e 65 63 65 73 73 61 72 79   but unnecessary
18c0: 2e 20 49 74 20 69 73 20 6e 6f 77 20 66 69 78 65  . It is now fixe
18d0: 64 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  d.</li>.}..chng 
18e0: 7b 32 30 30 30 20 41 75 67 20 32 7d 20 7b 0a 3c  {2000 Aug 2} {.<
18f0: 6c 69 3e 54 68 65 20 66 69 6c 65 20 66 6f 72 6d  li>The file form
1900: 61 74 20 66 6f 72 20 69 6e 64 69 63 65 73 20 77  at for indices w
1910: 61 73 20 63 68 61 6e 67 65 64 20 73 6c 69 67 68  as changed sligh
1920: 74 6c 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  tly in order to 
1930: 77 6f 72 6b 0a 20 20 20 20 61 72 6f 75 6e 64 20  work.    around 
1940: 61 6e 20 69 6e 65 66 66 69 63 69 65 6e 63 79 20  an inefficiency 
1950: 74 68 61 74 20 63 61 6e 20 73 6f 6d 65 74 69 6d  that can sometim
1960: 65 73 20 63 6f 6d 65 20 75 70 20 77 69 74 68 20  es come up with 
1970: 47 44 42 4d 20 77 68 65 6e 0a 20 20 20 20 74 68  GDBM when.    th
1980: 65 72 65 20 61 72 65 20 6c 61 72 67 65 20 69 6e  ere are large in
1990: 64 69 63 65 73 20 68 61 76 69 6e 67 20 6d 61 6e  dices having man
19a0: 79 20 65 6e 74 72 69 65 73 20 77 69 74 68 20 74  y entries with t
19b0: 68 65 20 73 61 6d 65 20 6b 65 79 2e 0a 20 20 20  he same key..   
19c0: 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 72 65   <font color="re
19d0: 64 22 3e 2a 2a 20 49 6e 63 6f 6d 70 61 74 69 62  d">** Incompatib
19e0: 6c 65 20 43 68 61 6e 67 65 20 2a 2a 3c 2f 66 6f  le Change **</fo
19f0: 6e 74 3e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  nt></li>.}..chng
1a00: 20 7b 32 30 30 30 20 41 75 67 20 31 7d 20 7b 0a   {2000 Aug 1} {.
1a10: 3c 6c 69 3e 54 68 65 20 70 61 72 73 65 72 27 73  <li>The parser's
1a20: 20 73 74 61 63 6b 20 77 61 73 20 6f 76 65 72 66   stack was overf
1a30: 6c 6f 77 69 6e 67 20 6f 6e 20 61 20 76 65 72 79  lowing on a very
1a40: 20 6c 6f 6e 67 20 55 50 44 41 54 45 20 73 74 61   long UPDATE sta
1a50: 74 65 6d 65 6e 74 2e 0a 20 20 20 20 54 68 69 73  tement..    This
1a60: 20 69 73 20 6e 6f 77 20 66 69 78 65 64 2e 3c 2f   is now fixed.</
1a70: 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30  li>.}..chng {200
1a80: 30 20 4a 75 6c 79 20 33 31 7d 20 7b 0a 3c 6c 69  0 July 31} {.<li
1a90: 3e 46 69 6e 69 73 68 20 74 68 65 20 3c 61 20 68  >Finish the <a h
1aa0: 72 65 66 3d 22 76 64 62 65 2e 68 74 6d 6c 22 3e  ref="vdbe.html">
1ab0: 56 44 42 45 20 74 75 74 6f 72 69 61 6c 3c 2f 61  VDBE tutorial</a
1ac0: 3e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65  >.</li>.<li>Adde
1ad0: 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20  d documentation 
1ae0: 6f 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 6f 20  on compiling to 
1af0: 57 69 6e 64 6f 77 73 4e 54 2e 3c 2f 6c 69 3e 0a  WindowsNT.</li>.
1b00: 3c 6c 69 3e 46 69 78 20 61 20 63 6f 6e 66 69 67  <li>Fix a config
1b10: 75 72 61 74 69 6f 6e 20 70 72 6f 67 72 61 6d 20  uration program 
1b20: 66 6f 72 20 57 69 6e 64 6f 77 73 4e 54 2e 3c 2f  for WindowsNT.</
1b30: 6c 69 3e 0a 3c 6c 69 3e 46 69 78 20 61 20 63 6f  li>.<li>Fix a co
1b40: 6e 66 69 67 75 72 61 74 69 6f 6e 20 70 72 6f 62  nfiguration prob
1b50: 6c 65 6d 20 66 6f 72 20 48 50 55 58 2e 3c 2f 6c  lem for HPUX.</l
1b60: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
1b70: 20 4a 75 6c 79 20 32 39 7d 20 7b 0a 3c 6c 69 3e   July 29} {.<li>
1b80: 42 65 74 74 65 72 20 6c 61 62 65 6c 73 20 6f 6e  Better labels on
1b90: 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 20 6f 66   column names of
1ba0: 20 74 68 65 20 72 65 73 75 6c 74 2e 3c 2f 6c 69   the result.</li
1bb0: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20  >.}..chng {2000 
1bc0: 4a 75 6c 79 20 32 38 7d 20 7b 0a 3c 6c 69 3e 41  July 28} {.<li>A
1bd0: 64 64 65 64 20 74 68 65 20 3c 62 3e 73 71 6c 69  dded the <b>sqli
1be0: 74 65 5f 62 75 73 79 5f 68 61 6e 64 6c 65 72 28  te_busy_handler(
1bf0: 29 3c 2f 62 3e 20 0a 20 20 20 20 61 6e 64 20 3c  )</b> .    and <
1c00: 62 3e 73 71 6c 69 74 65 5f 62 75 73 79 5f 74 69  b>sqlite_busy_ti
1c10: 6d 65 6f 75 74 28 29 3c 2f 62 3e 20 69 6e 74 65  meout()</b> inte
1c20: 72 66 61 63 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  rface.</li>.}..c
1c30: 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20 32  hng {2000 June 2
1c40: 33 7d 20 7b 0a 3c 6c 69 3e 42 65 67 69 6e 20 77  3} {.<li>Begin w
1c50: 72 69 74 69 6e 67 20 74 68 65 20 3c 61 20 68 72  riting the <a hr
1c60: 65 66 3d 22 76 64 62 65 2e 68 74 6d 6c 22 3e 56  ef="vdbe.html">V
1c70: 44 42 45 20 74 75 74 6f 72 69 61 6c 3c 2f 61 3e  DBE tutorial</a>
1c80: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
1c90: 32 30 30 30 20 4a 75 6e 65 20 32 31 7d 20 7b 0a  2000 June 21} {.
1ca0: 3c 6c 69 3e 43 6c 65 61 6e 20 75 70 20 63 6f 6d  <li>Clean up com
1cb0: 6d 65 6e 74 73 20 61 6e 64 20 76 61 72 69 61 62  ments and variab
1cc0: 6c 65 20 6e 61 6d 65 73 2e 20 20 43 68 61 6e 67  le names.  Chang
1cd0: 65 73 20 74 6f 20 64 6f 63 75 6d 65 6e 74 61 74  es to documentat
1ce0: 69 6f 6e 2e 0a 20 20 20 20 4e 6f 20 66 75 6e 63  ion..    No func
1cf0: 74 69 6f 6e 61 6c 20 63 68 61 6e 67 65 73 20 74  tional changes t
1d00: 6f 20 74 68 65 20 63 6f 64 65 2e 3c 2f 6c 69 3e  o the code.</li>
1d10: 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a  .}..chng {2000 J
1d20: 75 6e 65 20 31 39 7d 20 7b 0a 3c 6c 69 3e 43 6f  une 19} {.<li>Co
1d30: 6c 75 6d 6e 20 6e 61 6d 65 73 20 69 6e 20 55 50  lumn names in UP
1d40: 44 41 54 45 20 73 74 61 74 65 6d 65 6e 74 73 20  DATE statements 
1d50: 77 65 72 65 20 63 61 73 65 20 73 65 6e 73 69 74  were case sensit
1d60: 69 76 65 2e 0a 20 20 20 20 54 68 69 73 20 6d 69  ive..    This mi
1d70: 73 74 61 6b 65 20 68 61 73 20 6e 6f 77 20 62 65  stake has now be
1d80: 65 6e 20 66 69 78 65 64 2e 3c 2f 6c 69 3e 0a 7d  en fixed.</li>.}
1d90: 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e  ..chng {2000 Jun
1da0: 65 20 31 36 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65  e 16} {.<li>Adde
1db0: 64 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74  d the concatenat
1dc0: 65 20 73 74 72 69 6e 67 20 6f 70 65 72 61 74 6f  e string operato
1dd0: 72 20 28 7c 7c 29 3c 2f 6c 69 3e 0a 7d 0a 0a 63  r (||)</li>.}..c
1de0: 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20 31  hng {2000 June 1
1df0: 32 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74  2} {.<li>Added t
1e00: 68 65 20 66 63 6e 74 28 29 20 66 75 6e 63 74 69  he fcnt() functi
1e10: 6f 6e 20 74 6f 20 74 68 65 20 53 51 4c 20 69 6e  on to the SQL in
1e20: 74 65 72 70 72 65 74 65 72 2e 20 20 54 68 65 20  terpreter.  The 
1e30: 66 63 6e 74 28 29 20 66 75 6e 63 74 69 6f 6e 0a  fcnt() function.
1e40: 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 65 20      returns the 
1e50: 6e 75 6d 62 65 72 20 6f 66 20 64 61 74 61 62 61  number of databa
1e60: 73 65 20 22 46 65 74 63 68 22 20 6f 70 65 72 61  se "Fetch" opera
1e70: 74 69 6f 6e 73 20 74 68 61 74 20 68 61 76 65 20  tions that have 
1e80: 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 54 68  occurred..    Th
1e90: 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64  is function is d
1ea0: 65 73 69 67 6e 65 64 20 66 6f 72 20 75 73 65 20  esigned for use 
1eb0: 69 6e 20 74 65 73 74 20 73 63 72 69 70 74 73 20  in test scripts 
1ec0: 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 0a 20  to verify that. 
1ed0: 20 20 20 71 75 65 72 69 65 73 20 61 72 65 20 65     queries are e
1ee0: 66 66 69 63 69 65 6e 74 20 61 6e 64 20 61 70 70  fficient and app
1ef0: 72 6f 70 72 69 61 74 65 6c 79 20 6f 70 74 69 6d  ropriately optim
1f00: 69 7a 65 64 2e 20 20 46 63 6e 74 28 29 20 68 61  ized.  Fcnt() ha
1f10: 73 20 6e 6f 20 6f 74 68 65 72 0a 20 20 20 20 75  s no other.    u
1f20: 73 65 66 75 6c 20 70 75 72 70 6f 73 65 2c 20 61  seful purpose, a
1f30: 73 20 66 61 72 20 61 73 20 49 20 6b 6e 6f 77 2e  s far as I know.
1f40: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20  </li>.<li>Added 
1f50: 61 20 62 75 6e 63 68 20 6d 6f 72 65 20 74 65 73  a bunch more tes
1f60: 74 73 20 74 68 61 74 20 74 61 6b 65 20 61 64 76  ts that take adv
1f70: 61 6e 74 61 67 65 20 6f 66 20 74 68 65 20 6e 65  antage of the ne
1f80: 77 20 66 63 6e 74 28 29 20 66 75 6e 63 74 69 6f  w fcnt() functio
1f90: 6e 2e 0a 20 20 20 20 54 68 65 20 6e 65 77 20 74  n..    The new t
1fa0: 65 73 74 73 20 64 69 64 20 6e 6f 74 20 75 6e 63  ests did not unc
1fb0: 6f 76 65 72 20 61 6e 79 20 6e 65 77 20 70 72 6f  over any new pro
1fc0: 62 6c 65 6d 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  blems.</li>.}..c
1fd0: 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20 38  hng {2000 June 8
1fe0: 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 6c 6f  } {.<li>Added lo
1ff0: 74 73 20 6f 66 20 6e 65 77 20 74 65 73 74 20 63  ts of new test c
2000: 61 73 65 73 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 69  ases</li>.<li>Fi
2010: 78 20 61 20 66 65 77 20 62 75 67 73 20 64 69 73  x a few bugs dis
2020: 63 6f 76 65 72 65 64 20 77 68 69 6c 65 20 61 64  covered while ad
2030: 64 69 6e 67 20 74 65 73 74 20 63 61 73 65 73 3c  ding test cases<
2040: 2f 6c 69 3e 0a 3c 6c 69 3e 42 65 67 69 6e 20 61  /li>.<li>Begin a
2050: 64 64 69 6e 67 20 6c 6f 74 73 20 6f 66 20 6e 65  dding lots of ne
2060: 77 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c  w documentation<
2070: 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30  /li>.}..chng {20
2080: 30 30 20 4a 75 6e 65 20 36 7d 20 7b 0a 3c 6c 69  00 June 6} {.<li
2090: 3e 41 64 64 65 64 20 63 6f 6d 70 6f 75 6e 64 20  >Added compound 
20a0: 73 65 6c 65 63 74 20 6f 70 65 72 61 74 6f 72 73  select operators
20b0: 3a 20 3c 42 3e 55 4e 49 4f 4e 3c 2f 62 3e 2c 20  : <B>UNION</b>, 
20c0: 3c 62 3e 55 4e 49 4f 4e 20 41 4c 4c 3c 2f 42 3e  <b>UNION ALL</B>
20d0: 2c 0a 3c 62 3e 49 4e 54 45 52 53 45 43 54 3c 2f  ,.<b>INTERSECT</
20e0: 62 3e 2c 20 61 6e 64 20 3c 62 3e 45 58 43 45 50  b>, and <b>EXCEP
20f0: 54 3c 2f 62 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41  T</b></li>.<li>A
2100: 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72  dded support for
2110: 20 75 73 69 6e 67 20 3c 62 3e 28 53 45 4c 45 43   using <b>(SELEC
2120: 54 20 2e 2e 2e 29 3c 2f 62 3e 20 77 69 74 68 69  T ...)</b> withi
2130: 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c  n expressions</l
2140: 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 73 75 70  i>.<li>Added sup
2150: 70 6f 72 74 20 66 6f 72 20 3c 62 3e 49 4e 3c 2f  port for <b>IN</
2160: 62 3e 20 61 6e 64 20 3c 62 3e 42 45 54 57 45 45  b> and <b>BETWEE
2170: 4e 3c 2f 62 3e 20 6f 70 65 72 61 74 6f 72 73 3c  N</b> operators<
2180: 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 73  /li>.<li>Added s
2190: 75 70 70 6f 72 74 20 66 6f 72 20 3c 62 3e 47 52  upport for <b>GR
21a0: 4f 55 50 20 42 59 3c 2f 62 3e 20 61 6e 64 20 3c  OUP BY</b> and <
21b0: 62 3e 48 41 56 49 4e 47 3c 2f 62 3e 3c 2f 6c 69  b>HAVING</b></li
21c0: 3e 0a 3c 6c 69 3e 4e 55 4c 4c 20 76 61 6c 75 65  >.<li>NULL value
21d0: 73 20 61 72 65 20 6e 6f 77 20 72 65 70 6f 72 74  s are now report
21e0: 65 64 20 6f 74 20 74 68 65 20 63 61 6c 6c 62 61  ed ot the callba
21f0: 63 6b 20 61 73 20 61 20 4e 55 4c 4c 20 70 6f 69  ck as a NULL poi
2200: 6e 74 65 72 0a 20 20 20 20 72 61 74 68 65 72 20  nter.    rather 
2210: 74 68 61 6e 20 61 6e 20 65 6d 70 74 79 20 73 74  than an empty st
2220: 72 69 6e 67 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68  ring.</li>.}..ch
2230: 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20 33 7d  ng {2000 June 3}
2240: 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 73 75 70   {.<li>Added sup
2250: 70 6f 72 74 20 66 6f 72 20 64 65 66 61 75 6c 74  port for default
2260: 20 76 61 6c 75 65 73 20 6f 6e 20 63 6f 6c 75 6d   values on colum
2270: 6e 73 20 6f 66 20 61 20 74 61 62 6c 65 2e 3c 2f  ns of a table.</
2280: 6c 69 3e 0a 3c 6c 69 3e 49 6d 70 72 6f 76 65 64  li>.<li>Improved
2290: 20 74 65 73 74 20 63 6f 76 65 72 61 67 65 2e 20   test coverage. 
22a0: 20 46 69 78 65 64 20 61 20 66 65 77 20 6f 62 73   Fixed a few obs
22b0: 63 75 72 65 20 62 75 67 73 20 66 6f 75 6e 64 20  cure bugs found 
22c0: 62 79 20 74 68 65 0a 69 6d 70 72 6f 76 65 64 20  by the.improved 
22d0: 74 65 73 74 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  tests.</li>.}..c
22e0: 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20 32  hng {2000 June 2
22f0: 7d 20 7b 0a 3c 6c 69 3e 41 6c 6c 20 64 61 74 61  } {.<li>All data
2300: 62 61 73 65 20 66 69 6c 65 73 20 74 6f 20 62 65  base files to be
2310: 20 6d 6f 64 69 66 69 65 64 20 62 79 20 61 6e 20   modified by an 
2320: 55 50 44 41 54 45 2c 20 49 4e 53 45 52 54 20 6f  UPDATE, INSERT o
2330: 72 20 44 45 4c 45 54 45 20 61 72 65 20 0a 6e 6f  r DELETE are .no
2340: 77 20 6c 6f 63 6b 65 64 20 62 65 66 6f 72 65 20  w locked before 
2350: 61 6e 79 20 63 68 61 6e 67 65 73 20 61 72 65 20  any changes are 
2360: 6d 61 64 65 20 74 6f 20 61 6e 79 20 66 69 6c 65  made to any file
2370: 73 2e 20 20 0a 54 68 69 73 20 6d 61 6b 65 73 20  s.  .This makes 
2380: 69 74 20 73 61 66 65 20 28 49 20 74 68 69 6e 6b  it safe (I think
2390: 29 20 74 6f 20 61 63 63 65 73 73 0a 74 68 65 20  ) to access.the 
23a0: 73 61 6d 65 20 64 61 74 61 62 61 73 65 20 73 69  same database si
23b0: 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 66 72 6f  multaneously fro
23c0: 6d 20 6d 75 6c 74 69 70 6c 65 20 70 72 6f 63 65  m multiple proce
23d0: 73 73 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54  sses.</li>.<li>T
23e0: 68 65 20 63 6f 64 65 20 61 70 70 65 61 72 73 20  he code appears 
23f0: 73 74 61 62 6c 65 20 73 6f 20 77 65 20 61 72 65  stable so we are
2400: 20 6e 6f 77 20 63 61 6c 6c 69 6e 67 20 69 74 20   now calling it 
2410: 22 62 65 74 61 22 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  "beta".</li>.}..
2420: 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20  chng {2000 June 
2430: 31 7d 20 7b 0a 3c 6c 69 3e 42 65 74 74 65 72 20  1} {.<li>Better 
2440: 73 75 70 70 6f 72 74 20 66 6f 72 20 66 69 6c 65  support for file
2450: 20 6c 6f 63 6b 69 6e 67 20 73 6f 20 74 68 61 74   locking so that
2460: 20 74 77 6f 20 6f 72 20 6d 6f 72 65 20 70 72 6f   two or more pro
2470: 63 65 73 73 65 73 20 0a 28 6f 72 20 74 68 72 65  cesses .(or thre
2480: 61 64 73 29 0a 63 61 6e 20 61 63 63 65 73 73 20  ads).can access 
2490: 74 68 65 20 73 61 6d 65 20 64 61 74 61 62 61 73  the same databas
24a0: 65 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79  e simultaneously
24b0: 2e 20 20 4d 6f 72 65 20 77 6f 72 6b 20 6e 65 65  .  More work nee
24c0: 64 65 64 20 69 6e 0a 74 68 69 73 20 61 72 65 61  ded in.this area
24d0: 2c 20 74 68 6f 75 67 68 2e 3c 2f 6c 69 3e 0a 7d  , though.</li>.}
24e0: 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4d 61 79  ..chng {2000 May
24f0: 20 33 31 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64   31} {.<li>Added
2500: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 61 67 67   support for agg
2510: 72 65 67 61 74 65 20 66 75 6e 63 74 69 6f 6e 73  regate functions
2520: 20 28 45 78 3a 20 3c 62 3e 43 4f 55 4e 54 28 2a   (Ex: <b>COUNT(*
2530: 29 3c 2f 62 3e 2c 20 3c 62 3e 4d 49 4e 28 2e 2e  )</b>, <b>MIN(..
2540: 2e 29 3c 2f 62 3e 29 0a 74 6f 20 74 68 65 20 53  .)</b>).to the S
2550: 45 4c 45 43 54 20 73 74 61 74 65 6d 65 6e 74 2e  ELECT statement.
2560: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20  </li>.<li>Added 
2570: 73 75 70 70 6f 72 74 20 66 6f 72 20 3c 42 3e 53  support for <B>S
2580: 45 4c 45 43 54 20 44 49 53 54 49 4e 43 54 20 2e  ELECT DISTINCT .
2590: 2e 2e 3c 2f 42 3e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  ..</B></li>.}..c
25a0: 68 6e 67 20 7b 32 30 30 30 20 4d 61 79 20 33 30  hng {2000 May 30
25b0: 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68  } {.<li>Added th
25c0: 65 20 3c 62 3e 4c 49 4b 45 3c 2f 62 3e 20 6f 70  e <b>LIKE</b> op
25d0: 65 72 61 74 6f 72 2e 3c 2f 6c 69 3e 0a 3c 6c 69  erator.</li>.<li
25e0: 3e 41 64 64 65 64 20 61 20 3c 62 3e 47 4c 4f 42  >Added a <b>GLOB
25f0: 3c 2f 62 3e 20 6f 70 65 72 61 74 6f 72 3a 20 73  </b> operator: s
2600: 69 6d 69 6c 61 72 20 74 6f 20 3c 42 3e 4c 49 4b  imilar to <B>LIK
2610: 45 3c 2f 42 3e 20 0a 62 75 74 20 69 74 20 75 73  E</B> .but it us
2620: 65 73 20 55 6e 69 78 20 73 68 65 6c 6c 20 67 6c  es Unix shell gl
2630: 6f 62 62 69 6e 67 20 77 69 6c 64 63 61 72 64 73  obbing wildcards
2640: 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20   instead of the 
2650: 27 25 27 20 0a 61 6e 64 20 27 5f 27 20 77 69 6c  '%' .and '_' wil
2660: 64 63 61 72 64 73 20 6f 66 20 53 51 4c 2e 3c 2f  dcards of SQL.</
2670: 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68  li>.<li>Added th
2680: 65 20 3c 42 3e 43 4f 50 59 3c 2f 62 3e 20 63 6f  e <B>COPY</b> co
2690: 6d 6d 61 6e 64 20 70 61 74 74 65 72 6e 65 64 20  mmand patterned 
26a0: 61 66 74 65 72 20 0a 3c 61 20 68 72 65 66 3d 22  after .<a href="
26b0: 68 74 74 70 3a 2f 2f 77 77 77 2e 70 6f 73 74 67  http://www.postg
26c0: 72 65 73 71 6c 2e 6f 72 67 2f 22 3e 50 6f 73 74  resql.org/">Post
26d0: 67 72 65 53 51 4c 3c 2f 61 3e 20 73 6f 20 74 68  greSQL</a> so th
26e0: 61 74 20 53 51 4c 69 74 65 0a 63 61 6e 20 6e 6f  at SQLite.can no
26f0: 77 20 72 65 61 64 20 74 68 65 20 6f 75 74 70 75  w read the outpu
2700: 74 20 6f 66 20 74 68 65 20 3c 62 3e 70 67 5f 64  t of the <b>pg_d
2710: 75 6d 70 3c 2f 62 3e 20 64 61 74 61 62 61 73 65  ump</b> database
2720: 20 64 75 6d 70 20 75 74 69 6c 69 74 79 0a 6f 66   dump utility.of
2730: 20 50 6f 73 74 67 72 65 53 51 4c 2e 3c 2f 6c 69   PostgreSQL.</li
2740: 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 61 20 3c 42  >.<li>Added a <B
2750: 3e 56 41 43 55 55 4d 3c 2f 42 3e 20 63 6f 6d 6d  >VACUUM</B> comm
2760: 61 6e 64 20 74 68 61 74 20 74 68 61 74 20 63 61  and that that ca
2770: 6c 6c 73 20 74 68 65 20 0a 3c 62 3e 67 64 62 6d  lls the .<b>gdbm
2780: 5f 72 65 6f 72 67 61 6e 69 7a 65 28 29 3c 2f 62  _reorganize()</b
2790: 3e 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68  > function on th
27a0: 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 64 61 74  e underlying dat
27b0: 61 62 61 73 65 0a 66 69 6c 65 73 2e 3c 2f 6c 69  abase.files.</li
27c0: 3e 0a 3c 6c 69 3e 41 6e 64 20 6d 61 6e 79 2c 20  >.<li>And many, 
27d0: 6d 61 6e 79 20 62 75 67 20 66 69 78 65 73 2e 2e  many bug fixes..
27e0: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
27f0: 32 30 30 30 20 4d 61 79 20 32 39 7d 20 7b 0a 3c  2000 May 29} {.<
2800: 6c 69 3e 49 6e 69 74 69 61 6c 20 50 75 62 6c 69  li>Initial Publi
2810: 63 20 52 65 6c 65 61 73 65 20 6f 66 20 41 6c 70  c Release of Alp
2820: 68 61 20 63 6f 64 65 3c 2f 6c 69 3e 0a 7d 0a 0a  ha code</li>.}..
2830: 70 75 74 73 20 7b 0a 3c 2f 44 4c 3e 0a 3c 70 3e  puts {.</DL>.<p>
2840: 3c 68 72 20 2f 3e 3c 2f 70 3e 0a 3c 70 3e 3c 61  <hr /></p>.<p><a
2850: 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 68 74 6d   href="index.htm
2860: 6c 22 3e 3c 69 6d 67 20 73 72 63 3d 22 2f 67 6f  l"><img src="/go
2870: 62 61 63 6b 2e 6a 70 67 22 20 62 6f 72 64 65 72  back.jpg" border
2880: 3d 30 20 2f 3e 0a 42 61 63 6b 20 74 6f 20 74 68  =0 />.Back to th
2890: 65 20 53 51 4c 69 74 65 20 48 6f 6d 65 20 50 61  e SQLite Home Pa
28a0: 67 65 3c 2f 61 3e 0a 3c 2f 70 3e 0a 0a 3c 2f 62  ge</a>.</p>..</b
28b0: 6f 64 79 3e 3c 2f 68 74 6d 6c 3e 7d 0a           ody></html>}.