/ Hex Artifact Content
Login

Artifact 9419dcf548bcdd46e85ec07b72447c8b53d495c9:


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 32 20 4a 61 6e 20  .chng {2002 Jan 
0140: 38 20 28 32 2e 32 2e 31 29 7d 20 7b 0a 3c 6c 69  8 (2.2.1)} {.<li
0150: 3e 42 75 67 20 66 69 78 3a 20 41 6e 20 61 74 74  >Bug fix: An att
0160: 65 6d 70 74 20 74 6f 20 64 65 6c 65 74 65 20 61  empt to delete a
0170: 20 73 69 6e 67 6c 65 20 72 6f 77 20 6f 66 20 61   single row of a
0180: 20 74 61 62 6c 65 20 77 69 74 68 20 61 20 57 48   table with a WH
0190: 45 52 45 0a 20 20 20 20 63 6c 61 75 73 65 20 6f  ERE.    clause o
01a0: 66 20 22 52 4f 57 49 44 3d 78 22 20 77 68 65 6e  f "ROWID=x" when
01b0: 20 6e 6f 20 73 75 63 68 20 72 6f 77 69 64 20 65   no such rowid e
01c0: 78 69 73 74 73 20 77 61 73 20 63 61 75 73 69 6e  xists was causin
01d0: 67 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e  g an error.</li>
01e0: 0a 3c 6c 69 3e 42 75 67 20 66 69 78 3a 20 50 61  .<li>Bug fix: Pa
01f0: 73 73 69 6e 67 20 69 6e 20 61 20 4e 55 4c 4c 20  ssing in a NULL 
0200: 61 73 20 74 68 65 20 33 72 64 20 70 61 72 61 6d  as the 3rd param
0210: 65 74 65 72 20 74 6f 20 3c 62 3e 73 71 6c 69 74  eter to <b>sqlit
0220: 65 5f 6f 70 65 6e 28 29 3c 2f 62 3e 0a 20 20 20  e_open()</b>.   
0230: 20 77 6f 75 6c 64 20 73 6f 6d 65 74 69 6d 65 73   would sometimes
0240: 20 63 61 75 73 65 20 61 20 63 6f 72 65 64 75 6d   cause a coredum
0250: 70 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 42 75 67 20  p.</li>.<li>Bug 
0260: 66 69 78 3a 20 44 52 4f 50 20 54 41 42 4c 45 20  fix: DROP TABLE 
0270: 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 43 52  followed by a CR
0280: 45 41 54 45 20 54 41 42 4c 45 20 77 69 74 68 20  EATE TABLE with 
0290: 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 61 6c  the same name al
02a0: 6c 0a 20 20 20 20 77 69 74 68 69 6e 20 61 20 73  l.    within a s
02b0: 69 6e 67 6c 65 20 74 72 61 6e 73 61 63 74 69 6f  ingle transactio
02c0: 6e 20 77 61 73 20 63 61 75 73 69 6e 67 20 61 20  n was causing a 
02d0: 63 6f 72 65 64 75 6d 70 2e 3c 2f 6c 69 3e 0a 3c  coredump.</li>.<
02e0: 6c 69 3e 4d 61 6b 65 66 69 6c 65 20 75 70 64 61  li>Makefile upda
02f0: 74 65 73 20 66 72 6f 6d 20 41 2e 20 52 6f 74 74  tes from A. Rott
0300: 6d 61 6e 6e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e  mann</li>.}..chn
0310: 67 20 7b 32 30 30 31 20 44 65 63 20 32 32 20 28  g {2001 Dec 22 (
0320: 32 2e 32 2e 30 29 7d 20 7b 0a 3c 6c 69 3e 43 6f  2.2.0)} {.<li>Co
0330: 6c 75 6d 6e 73 20 6f 66 20 74 79 70 65 20 49 4e  lumns of type IN
0340: 54 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45  TEGER PRIMARY KE
0350: 59 20 61 72 65 20 61 63 74 75 61 6c 6c 79 20 75  Y are actually u
0360: 73 65 64 20 61 73 20 74 68 65 20 70 72 69 6d 61  sed as the prima
0370: 72 79 0a 20 20 20 20 6b 65 79 20 69 6e 20 75 6e  ry.    key in un
0380: 64 65 72 6c 79 69 6e 67 20 42 2d 54 72 65 65 20  derlying B-Tree 
0390: 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f  representation o
03a0: 66 20 74 68 65 20 74 61 62 6c 65 2e 3c 2f 6c 69  f the table.</li
03b0: 3e 0a 3c 6c 69 3e 53 65 76 65 72 61 6c 20 6f 62  >.<li>Several ob
03c0: 73 63 75 72 65 2c 20 75 6e 72 65 6c 61 74 65 64  scure, unrelated
03d0: 20 62 75 67 73 20 77 65 72 65 20 66 6f 75 6e 64   bugs were found
03e0: 20 61 6e 64 20 66 69 78 65 64 20 77 68 69 6c 65   and fixed while
03f0: 20 0a 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 65   .    implemente
0400: 64 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 72  d the integer pr
0410: 69 6d 61 72 79 20 6b 65 79 20 63 68 61 6e 67 65  imary key change
0420: 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73   of the previous
0430: 20 62 75 6c 6c 65 74 2e 3c 2f 6c 69 3e 0a 3c 6c   bullet.</li>.<l
0440: 69 3e 41 64 64 65 64 20 74 68 65 20 61 62 69 6c  i>Added the abil
0450: 69 74 79 20 74 6f 20 73 70 65 63 69 66 79 20 22  ity to specify "
0460: 2a 22 20 61 73 20 70 61 72 74 20 6f 66 20 61 20  *" as part of a 
0470: 6c 61 72 67 65 72 20 63 6f 6c 75 6d 6e 20 6c 69  larger column li
0480: 73 74 20 69 6e 0a 20 20 20 20 74 68 65 20 72 65  st in.    the re
0490: 73 75 6c 74 20 73 65 63 74 69 6f 6e 20 6f 66 20  sult section of 
04a0: 61 20 53 45 4c 45 43 54 20 73 74 61 74 65 6d 65  a SELECT stateme
04b0: 6e 74 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65  nt.  For example
04c0: 3a 0a 20 20 20 20 3c 6e 6f 62 72 3e 22 3c 62 3e  :.    <nobr>"<b>
04d0: 53 45 4c 45 43 54 20 72 6f 77 69 64 2c 20 2a 20  SELECT rowid, * 
04e0: 46 52 4f 4d 20 74 61 62 6c 65 31 3b 3c 2f 62 3e  FROM table1;</b>
04f0: 22 3c 2f 6e 6f 62 72 3e 2e 3c 2f 6c 69 3e 0a 3c  "</nobr>.</li>.<
0500: 6c 69 3e 55 70 64 61 74 65 73 20 74 6f 20 63 6f  li>Updates to co
0510: 6d 6d 65 6e 74 73 20 61 6e 64 20 64 6f 63 75 6d  mments and docum
0520: 65 6e 74 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0a 7d  entation.</li>.}
0530: 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20 44 65 63  ..chng {2001 Dec
0540: 20 31 34 20 28 32 2e 31 2e 37 29 7d 20 7b 0a 3c   14 (2.1.7)} {.<
0550: 6c 69 3e 46 69 78 20 61 20 62 75 67 20 69 6e 20  li>Fix a bug in 
0560: 3c 62 3e 43 52 45 41 54 45 20 54 45 4d 50 4f 52  <b>CREATE TEMPOR
0570: 41 52 59 20 54 41 42 4c 45 3c 2f 62 3e 20 77 68  ARY TABLE</b> wh
0580: 69 63 68 20 77 61 73 20 63 61 75 73 69 6e 67 20  ich was causing 
0590: 74 68 65 0a 20 20 20 20 74 61 62 6c 65 20 74 6f  the.    table to
05a0: 20 62 65 20 69 6e 69 74 69 61 6c 6c 79 20 61 6c   be initially al
05b0: 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 6d  located in the m
05c0: 61 69 6e 20 64 61 74 61 62 61 73 65 20 66 69 6c  ain database fil
05d0: 65 20 69 6e 73 74 65 61 64 0a 20 20 20 20 6f 66  e instead.    of
05e0: 20 69 6e 20 74 68 65 20 73 65 70 61 72 61 74 65   in the separate
05f0: 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 2e   temporary file.
0600: 20 20 54 68 69 73 20 62 75 67 20 63 6f 75 6c 64    This bug could
0610: 20 63 61 75 73 65 20 74 68 65 20 6c 69 62 72 61   cause the libra
0620: 72 79 0a 20 20 20 20 74 6f 20 73 75 66 66 65 72  ry.    to suffer
0630: 20 61 6e 20 61 73 73 65 72 74 69 6f 6e 20 66 61   an assertion fa
0640: 69 6c 75 72 65 20 61 6e 64 20 69 74 20 63 6f 75  ilure and it cou
0650: 6c 64 20 63 61 75 73 65 20 22 70 61 67 65 20 6c  ld cause "page l
0660: 65 61 6b 73 22 20 69 6e 20 74 68 65 0a 20 20 20  eaks" in the.   
0670: 20 6d 61 69 6e 20 64 61 74 61 62 61 73 65 20 66   main database f
0680: 69 6c 65 2e 0a 3c 6c 69 3e 46 69 78 20 61 20 62  ile..<li>Fix a b
0690: 75 67 20 69 6e 20 74 68 65 20 62 2d 74 72 65 65  ug in the b-tree
06a0: 20 73 75 62 73 79 73 74 65 6d 20 74 68 61 74 20   subsystem that 
06b0: 63 6f 75 6c 64 20 73 6f 6d 65 74 69 6d 65 73 20  could sometimes 
06c0: 63 61 75 73 65 20 74 68 65 20 66 69 72 73 74 0a  cause the first.
06d0: 20 20 20 20 72 6f 77 20 6f 66 20 61 20 74 61 62      row of a tab
06e0: 6c 65 20 74 6f 20 62 65 20 72 65 70 65 61 74 65  le to be repeate
06f0: 64 20 64 75 72 69 6e 67 20 61 20 64 61 74 61 62  d during a datab
0700: 61 73 65 20 73 63 61 6e 2e 3c 2f 6c 69 3e 0a 7d  ase scan.</li>.}
0710: 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20 44 65 63  ..chng {2001 Dec
0720: 20 31 34 20 28 32 2e 31 2e 36 29 7d 20 7b 0a 3c   14 (2.1.6)} {.<
0730: 6c 69 3e 46 69 78 20 74 68 65 20 6c 6f 63 6b 69  li>Fix the locki
0740: 6e 67 20 6d 65 63 68 61 6e 69 73 6d 20 79 65 74  ng mechanism yet
0750: 20 61 67 61 69 6e 20 74 6f 20 70 72 65 76 65 6e   again to preven
0760: 74 0a 20 20 20 20 3c 62 3e 73 71 6c 69 74 65 5f  t.    <b>sqlite_
0770: 65 78 65 63 28 29 3c 2f 62 3e 20 66 72 6f 6d 20  exec()</b> from 
0780: 72 65 74 75 72 6e 69 6e 67 20 53 51 4c 49 54 45  returning SQLITE
0790: 5f 50 52 4f 54 4f 43 4f 4c 0a 20 20 20 20 75 6e  _PROTOCOL.    un
07a0: 6e 65 63 65 73 73 61 72 69 6c 79 2e 20 20 54 68  necessarily.  Th
07b0: 69 73 20 74 69 6d 65 20 74 68 65 20 62 75 67 20  is time the bug 
07c0: 77 61 73 20 61 20 72 61 63 65 20 63 6f 6e 64 69  was a race condi
07d0: 74 69 6f 6e 20 69 6e 0a 20 20 20 20 74 68 65 20  tion in.    the 
07e0: 6c 6f 63 6b 69 6e 67 20 63 6f 64 65 2e 20 20 54  locking code.  T
07f0: 68 69 73 20 63 68 61 6e 67 65 20 65 66 66 65 63  his change effec
0800: 74 73 20 62 6f 74 68 20 50 4f 53 49 58 20 61 6e  ts both POSIX an
0810: 64 20 57 69 6e 64 6f 77 73 20 75 73 65 72 73 2e  d Windows users.
0820: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
0830: 30 30 31 20 44 65 63 20 36 20 28 32 2e 31 2e 35  001 Dec 6 (2.1.5
0840: 29 7d 20 7b 0a 3c 6c 69 3e 46 69 78 20 66 6f 72  )} {.<li>Fix for
0850: 20 61 6e 6f 74 68 65 72 20 70 72 6f 62 6c 65 6d   another problem
0860: 20 28 75 6e 72 65 6c 61 74 65 64 20 74 6f 20 74   (unrelated to t
0870: 68 65 20 6f 6e 65 20 66 69 78 65 64 20 69 6e 20  he one fixed in 
0880: 32 2e 31 2e 34 29 20 0a 20 20 20 20 74 68 61 74  2.1.4) .    that
0890: 20 73 6f 6d 65 74 69 6d 65 73 20 63 61 75 73 65   sometimes cause
08a0: 73 20 3c 62 3e 73 71 6c 69 74 65 5f 65 78 65 63  s <b>sqlite_exec
08b0: 28 29 3c 2f 62 3e 20 74 6f 20 72 65 74 75 72 6e  ()</b> to return
08c0: 20 53 51 4c 49 54 45 5f 50 52 4f 54 4f 43 4f 4c   SQLITE_PROTOCOL
08d0: 0a 20 20 20 20 75 6e 6e 65 63 65 73 73 61 72 69  .    unnecessari
08e0: 6c 79 2e 20 20 54 68 69 73 20 74 69 6d 65 20 74  ly.  This time t
08f0: 68 65 20 62 75 67 20 77 61 73 0a 20 20 20 20 69  he bug was.    i
0900: 6e 20 74 68 65 20 50 4f 53 49 58 20 6c 6f 63 6b  n the POSIX lock
0910: 69 6e 67 20 63 6f 64 65 20 61 6e 64 20 73 68 6f  ing code and sho
0920: 75 6c 64 20 6e 6f 74 20 65 66 66 65 63 74 20 77  uld not effect w
0930: 69 6e 64 6f 77 73 20 75 73 65 72 73 2e 3c 2f 6c  indows users.</l
0940: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31  i>.}..chng {2001
0950: 20 44 65 63 20 34 20 28 32 2e 31 2e 34 29 7d 20   Dec 4 (2.1.4)} 
0960: 7b 0a 3c 6c 69 3e 53 6f 6d 65 74 69 6d 65 73 20  {.<li>Sometimes 
0970: 3c 62 3e 73 71 6c 69 74 65 5f 65 78 65 63 28 29  <b>sqlite_exec()
0980: 3c 2f 62 3e 20 77 6f 75 6c 64 20 72 65 74 75 72  </b> would retur
0990: 6e 20 53 51 4c 49 54 45 5f 50 52 4f 54 4f 43 4f  n SQLITE_PROTOCO
09a0: 4c 20 77 68 65 6e 20 69 74 0a 20 20 20 20 73 68  L when it.    sh
09b0: 6f 75 6c 64 20 68 61 76 65 20 72 65 74 75 72 6e  ould have return
09c0: 65 64 20 53 51 4c 49 54 45 5f 42 55 53 59 2e 3c  ed SQLITE_BUSY.<
09d0: 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 65 20 66 69 78  /li>.<li>The fix
09e0: 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73   to the previous
09f0: 20 62 75 67 20 75 6e 63 6f 76 65 72 65 64 20 61   bug uncovered a
0a00: 20 64 65 61 64 6c 6f 63 6b 20 77 68 69 63 68 20   deadlock which 
0a10: 77 61 73 20 61 6c 73 6f 0a 20 20 20 20 66 69 78  was also.    fix
0a20: 65 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64  ed.</li>.<li>Add
0a30: 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20   the ability to 
0a40: 70 75 74 20 61 20 73 69 6e 67 6c 65 20 2e 63 6f  put a single .co
0a50: 6d 6d 61 6e 64 20 69 6e 20 74 68 65 20 73 65 63  mmand in the sec
0a60: 6f 6e 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20  ond argument.   
0a70: 20 6f 66 20 74 68 65 20 73 71 6c 69 74 65 20 73   of the sqlite s
0a80: 68 65 6c 6c 3c 2f 6c 69 3e 0a 3c 6c 69 3e 55 70  hell</li>.<li>Up
0a90: 64 61 74 65 73 20 74 6f 20 74 68 65 20 46 41 51  dates to the FAQ
0aa0: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
0ab0: 30 30 31 20 4e 6f 76 20 32 33 20 28 32 2e 31 2e  001 Nov 23 (2.1.
0ac0: 33 29 7d 20 7b 0a 3c 6c 69 3e 46 69 78 20 74 68  3)} {.<li>Fix th
0ad0: 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 63 6f  e behavior of co
0ae0: 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f  mparison operato
0af0: 72 73 20 0a 20 20 20 20 28 65 78 3a 20 22 3c 62  rs .    (ex: "<b
0b00: 3e 26 6c 74 3c 2f 62 3e 22 2c 20 22 3c 62 3e 3d  >&lt</b>", "<b>=
0b10: 3d 3c 2f 62 3e 22 2c 20 65 74 63 2e 29 0a 20 20  =</b>", etc.).  
0b20: 20 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 61    so that they a
0b30: 72 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69  re consistent wi
0b40: 74 68 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20  th the order of 
0b50: 65 6e 74 72 69 65 73 20 69 6e 20 61 6e 20 69 6e  entries in an in
0b60: 64 65 78 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 6f  dex.</li>.<li>Co
0b70: 72 72 65 63 74 20 68 61 6e 64 6c 69 6e 67 20 6f  rrect handling o
0b80: 66 20 69 6e 74 65 67 65 72 73 20 69 6e 20 53 51  f integers in SQ
0b90: 4c 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68  L expressions th
0ba0: 61 74 20 61 72 65 20 6c 61 72 67 65 72 20 74 68  at are larger th
0bb0: 61 6e 0a 20 20 20 20 77 68 61 74 20 63 61 6e 20  an.    what can 
0bc0: 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62  be represented b
0bd0: 79 20 74 68 65 20 6d 61 63 68 69 6e 65 20 69 6e  y the machine in
0be0: 74 65 67 65 72 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  teger.</li>.}..c
0bf0: 68 6e 67 20 7b 32 30 30 31 20 4e 6f 76 20 32 32  hng {2001 Nov 22
0c00: 20 28 32 2e 31 2e 32 29 7d 20 7b 0a 3c 6c 69 3e   (2.1.2)} {.<li>
0c10: 43 68 61 6e 67 65 73 20 74 6f 20 73 75 70 70 6f  Changes to suppo
0c20: 72 74 20 36 34 2d 62 69 74 20 61 72 63 68 69 74  rt 64-bit archit
0c30: 65 63 74 75 72 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c  ectures.</li>.<l
0c40: 69 3e 46 69 78 20 61 20 62 75 67 20 69 6e 20 74  i>Fix a bug in t
0c50: 68 65 20 6c 6f 63 6b 69 6e 67 20 70 72 6f 74 6f  he locking proto
0c60: 63 6f 6c 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 69  col.</li>.<li>Fi
0c70: 78 20 61 20 62 75 67 20 74 68 61 74 20 63 6f 75  x a bug that cou
0c80: 6c 64 20 28 72 61 72 65 6c 79 29 20 63 61 75 73  ld (rarely) caus
0c90: 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 74  e the database t
0ca0: 6f 20 62 65 63 6f 6d 65 20 0a 20 20 20 20 75 6e  o become .    un
0cb0: 72 65 61 64 61 62 6c 65 20 61 66 74 65 72 20 61  readable after a
0cc0: 20 44 52 4f 50 20 54 41 42 4c 45 20 64 75 65 20   DROP TABLE due 
0cd0: 74 6f 20 63 6f 72 72 75 70 74 69 6f 6e 20 74 6f  to corruption to
0ce0: 20 74 68 65 20 53 51 4c 49 54 45 5f 4d 41 53 54   the SQLITE_MAST
0cf0: 45 52 0a 20 20 20 20 74 61 62 6c 65 2e 3c 2f 6c  ER.    table.</l
0d00: 69 3e 0a 3c 6c 69 3e 43 68 61 6e 67 65 20 74 68  i>.<li>Change th
0d10: 65 20 63 6f 64 65 20 73 6f 20 74 68 61 74 20 76  e code so that v
0d20: 65 72 73 69 6f 6e 20 32 2e 31 2e 31 20 64 61 74  ersion 2.1.1 dat
0d30: 61 62 61 73 65 73 20 74 68 61 74 20 77 65 72 65  abases that were
0d40: 20 72 65 6e 64 65 72 65 64 20 0a 20 20 20 20 75   rendered .    u
0d50: 6e 72 65 61 64 61 62 6c 65 20 62 79 20 74 68 65  nreadable by the
0d60: 20 61 62 6f 76 65 20 62 75 67 20 63 61 6e 20 62   above bug can b
0d70: 65 20 72 65 61 64 20 62 79 20 74 68 69 73 20 76  e read by this v
0d80: 65 72 73 69 6f 6e 20 6f 66 0a 20 20 20 20 74 68  ersion of.    th
0d90: 65 20 6c 69 62 72 61 72 79 20 65 76 65 6e 20 74  e library even t
0da0: 68 6f 75 67 68 20 74 68 65 20 53 51 4c 49 54 45  hough the SQLITE
0db0: 5f 4d 41 53 54 45 52 20 74 61 62 6c 65 20 69 73  _MASTER table is
0dc0: 20 28 73 6c 69 67 68 74 6c 79 29 0a 20 20 20 20   (slightly).    
0dd0: 63 6f 72 72 75 70 74 65 64 2e 3c 2f 6c 69 3e 0a  corrupted.</li>.
0de0: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20 4e 6f  }..chng {2001 No
0df0: 76 20 31 33 20 28 32 2e 31 2e 31 29 7d 20 7b 0a  v 13 (2.1.1)} {.
0e00: 3c 6c 69 3e 42 75 67 20 66 69 78 3a 20 53 6f 6d  <li>Bug fix: Som
0e10: 65 74 69 6d 65 73 20 61 72 62 69 72 61 72 79 20  etimes arbirary 
0e20: 73 74 72 69 6e 67 73 20 77 65 72 65 20 70 61 73  strings were pas
0e30: 73 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 62  sed to the callb
0e40: 61 63 6b 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e  ack.    function
0e50: 20 77 68 65 6e 20 74 68 65 20 61 63 74 75 61 6c   when the actual
0e60: 20 76 61 6c 75 65 20 6f 66 20 61 20 63 6f 6c 75   value of a colu
0e70: 6d 6e 20 77 61 73 20 4e 55 4c 4c 2e 3c 2f 6c 69  mn was NULL.</li
0e80: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20  >.}..chng {2001 
0e90: 4e 6f 76 20 31 32 20 28 32 2e 31 2e 30 29 7d 20  Nov 12 (2.1.0)} 
0ea0: 7b 0a 3c 6c 69 3e 43 68 61 6e 67 65 20 74 68 65  {.<li>Change the
0eb0: 20 66 6f 72 6d 61 74 20 6f 66 20 64 61 74 61 20   format of data 
0ec0: 72 65 63 6f 72 64 73 20 73 6f 20 74 68 61 74 20  records so that 
0ed0: 72 65 63 6f 72 64 73 20 75 70 20 74 6f 20 31 36  records up to 16
0ee0: 4d 42 20 69 6e 20 73 69 7a 65 0a 20 20 20 20 63  MB in size.    c
0ef0: 61 6e 20 62 65 20 73 74 6f 72 65 64 2e 3c 2f 6c  an be stored.</l
0f00: 69 3e 0a 3c 6c 69 3e 43 68 61 6e 67 65 20 74 68  i>.<li>Change th
0f10: 65 20 66 6f 72 6d 61 74 20 6f 66 20 69 6e 64 69  e format of indi
0f20: 63 65 73 20 74 6f 20 61 6c 6c 6f 77 20 66 6f 72  ces to allow for
0f30: 20 62 65 74 74 65 72 20 71 75 65 72 79 20 6f 70   better query op
0f40: 74 69 6d 69 7a 61 74 69 6f 6e 2e 3c 2f 6c 69 3e  timization.</li>
0f50: 0a 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e 74 20 74  .<li>Implement t
0f60: 68 65 20 22 4c 49 4d 49 54 20 2e 2e 2e 20 4f 46  he "LIMIT ... OF
0f70: 46 53 45 54 20 2e 2e 2e 22 20 63 6c 61 75 73 65  FSET ..." clause
0f80: 20 6f 6e 20 53 45 4c 45 43 54 20 73 74 61 74 65   on SELECT state
0f90: 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  ments.</li>.}..c
0fa0: 68 6e 67 20 7b 32 30 30 31 20 4e 6f 76 20 33 20  hng {2001 Nov 3 
0fb0: 28 32 2e 30 2e 38 29 7d 20 7b 0a 3c 6c 69 3e 4d  (2.0.8)} {.<li>M
0fc0: 61 64 65 20 73 65 6c 65 63 74 65 64 20 70 61 72  ade selected par
0fd0: 61 6d 65 74 65 72 73 20 69 6e 20 41 50 49 20 66  ameters in API f
0fe0: 75 6e 63 74 69 6f 6e 73 20 3c 62 3e 63 6f 6e 73  unctions <b>cons
0ff0: 74 3c 2f 62 3e 2e 20 54 68 69 73 20 73 68 6f 75  t</b>. This shou
1000: 6c 64 0a 20 20 20 20 62 65 20 66 75 6c 6c 79 20  ld.    be fully 
1010: 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74  backwards compat
1020: 69 62 6c 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 44  ible.</li>.<li>D
1030: 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 75 70 64  ocumentation upd
1040: 61 74 65 73 3c 2f 6c 69 3e 0a 3c 6c 69 3e 53 69  ates</li>.<li>Si
1050: 6d 70 6c 69 66 79 20 74 68 65 20 64 65 73 69 67  mplify the desig
1060: 6e 20 6f 66 20 74 68 65 20 56 44 42 45 20 62 79  n of the VDBE by
1070: 20 72 65 73 74 72 69 63 74 69 6e 67 20 74 68 65   restricting the
1080: 20 6e 75 6d 62 65 72 20 6f 66 20 73 6f 72 74 65   number of sorte
1090: 72 73 0a 20 20 20 20 61 6e 64 20 6c 69 73 74 73  rs.    and lists
10a0: 20 74 6f 20 31 2e 0a 20 20 20 20 49 6e 20 70 72   to 1..    In pr
10b0: 61 63 74 69 63 65 2c 20 6e 6f 20 6d 6f 72 65 20  actice, no more 
10c0: 74 68 61 6e 20 6f 6e 65 20 73 6f 72 74 65 72 20  than one sorter 
10d0: 61 6e 64 20 6f 6e 65 20 6c 69 73 74 20 77 61 73  and one list was
10e0: 20 65 76 65 72 20 75 73 65 64 20 61 6e 79 68 6f   ever used anyho
10f0: 77 2e 0a 20 20 20 20 3c 2f 6c 69 3e 0a 7d 0a 0a  w..    </li>.}..
1100: 63 68 6e 67 20 7b 32 30 30 31 20 4f 63 74 20 32  chng {2001 Oct 2
1110: 31 20 28 32 2e 30 2e 37 29 7d 20 7b 0a 3c 6c 69  1 (2.0.7)} {.<li
1120: 3e 41 6e 79 20 55 54 46 2d 38 20 63 68 61 72 61  >Any UTF-8 chara
1130: 63 74 65 72 20 6f 72 20 49 53 4f 38 38 35 39 20  cter or ISO8859 
1140: 63 68 61 72 61 63 74 65 72 20 63 61 6e 20 62 65  character can be
1150: 20 75 73 65 64 20 61 73 20 70 61 72 74 20 6f 66   used as part of
1160: 0a 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69  .    an identifi
1170: 65 72 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 50 61 74  er.</li>.<li>Pat
1180: 63 68 65 73 20 66 72 6f 6d 20 43 68 72 69 73 74  ches from Christ
1190: 69 61 6e 20 57 65 72 6e 65 72 20 74 6f 20 69 6d  ian Werner to im
11a0: 70 72 6f 76 65 20 4f 44 42 43 20 63 6f 6d 70 61  prove ODBC compa
11b0: 74 69 62 69 6c 69 74 79 20 61 6e 64 20 74 6f 0a  tibility and to.
11c0: 20 20 20 20 66 69 78 20 61 20 62 75 67 20 69 6e      fix a bug in
11d0: 20 74 68 65 20 72 6f 75 6e 64 28 29 20 66 75 6e   the round() fun
11e0: 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  ction.</li>.<li>
11f0: 50 6c 75 67 20 73 6f 6d 65 20 6d 65 6d 6f 72 79  Plug some memory
1200: 20 6c 65 61 6b 73 20 74 68 61 74 20 75 73 65 20   leaks that use 
1210: 74 6f 20 6f 63 63 75 72 20 69 66 20 6d 61 6c 6c  to occur if mall
1220: 6f 63 28 29 20 66 61 69 6c 65 64 2e 0a 20 20 20  oc() failed..   
1230: 20 57 65 20 68 61 76 65 20 62 65 65 6e 20 61 6e   We have been an
1240: 64 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 62 65  d continue to be
1250: 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 20 66 72 65   memory leak fre
1260: 65 20 61 73 20 6c 6f 6e 67 20 61 73 0a 20 20 20  e as long as.   
1270: 20 6d 61 6c 6c 6f 63 28 29 20 77 6f 72 6b 73 2e   malloc() works.
1280: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 68 61 6e 67 65  </li>.<li>Change
1290: 73 20 74 6f 20 73 6f 6d 65 20 74 65 73 74 20 73  s to some test s
12a0: 63 72 69 70 74 73 20 73 6f 20 74 68 61 74 20 74  cripts so that t
12b0: 68 65 79 20 77 6f 72 6b 20 6f 6e 20 57 69 6e 64  hey work on Wind
12c0: 6f 77 73 20 69 6e 0a 20 20 20 20 61 64 64 69 74  ows in.    addit
12d0: 69 6f 6e 20 74 6f 20 55 6e 69 78 2e 3c 2f 6c 69  ion to Unix.</li
12e0: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20  >.}..chng {2001 
12f0: 4f 63 74 20 31 39 20 28 32 2e 30 2e 36 29 7d 20  Oct 19 (2.0.6)} 
1300: 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20  {.<li>Added the 
1310: 45 4d 50 54 59 5f 52 45 53 55 4c 54 5f 43 41 4c  EMPTY_RESULT_CAL
1320: 4c 42 41 43 4b 53 20 70 72 61 67 6d 61 3c 2f 6c  LBACKS pragma</l
1330: 69 3e 0a 3c 6c 69 3e 53 75 70 70 6f 72 74 20 66  i>.<li>Support f
1340: 6f 72 20 55 54 46 2d 38 20 61 6e 64 20 49 53 4f  or UTF-8 and ISO
1350: 38 38 35 39 20 63 68 61 72 61 63 74 65 72 73 20  8859 characters 
1360: 69 6e 20 63 6f 6c 75 6d 6e 20 61 6e 64 20 74 61  in column and ta
1370: 62 6c 65 20 6e 61 6d 65 73 2e 3c 2f 6c 69 3e 0a  ble names.</li>.
1380: 3c 6c 69 3e 42 75 67 20 66 69 78 3a 20 43 6f 6d  <li>Bug fix: Com
1390: 70 75 74 65 20 63 6f 72 72 65 63 74 20 74 61 62  pute correct tab
13a0: 6c 65 20 6e 61 6d 65 73 20 77 69 74 68 20 74 68  le names with th
13b0: 65 20 46 55 4c 4c 5f 43 4f 4c 55 4d 4e 5f 4e 41  e FULL_COLUMN_NA
13c0: 4d 45 53 20 70 72 61 67 6d 61 0a 20 20 20 20 69  MES pragma.    i
13d0: 73 20 74 75 72 6e 65 64 20 6f 6e 2e 3c 2f 6c 69  s turned on.</li
13e0: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20  >.}..chng {2001 
13f0: 4f 63 74 20 31 34 20 28 32 2e 30 2e 35 29 7d 20  Oct 14 (2.0.5)} 
1400: 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20  {.<li>Added the 
1410: 43 4f 55 4e 54 5f 43 48 41 4e 47 45 53 20 70 72  COUNT_CHANGES pr
1420: 61 67 6d 61 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43  agma.</li>.<li>C
1430: 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 46 55  hanges to the FU
1440: 4c 4c 5f 43 4f 4c 55 4d 4e 5f 4e 41 4d 45 53 20  LL_COLUMN_NAMES 
1450: 70 72 61 67 6d 61 20 74 6f 20 68 65 6c 70 20 6f  pragma to help o
1460: 75 74 20 74 68 65 20 4f 44 42 43 20 64 72 69 76  ut the ODBC driv
1470: 65 72 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 42 75 67  er.</li>.<li>Bug
1480: 20 66 69 78 3a 20 22 53 45 4c 45 43 54 20 63 6f   fix: "SELECT co
1490: 75 6e 74 28 2a 29 22 20 77 61 73 20 72 65 74 75  unt(*)" was retu
14a0: 72 6e 69 6e 67 20 4e 55 4c 4c 20 66 6f 72 20 65  rning NULL for e
14b0: 6d 70 74 79 20 74 61 62 6c 65 73 2e 0a 20 20 20  mpty tables..   
14c0: 20 4e 6f 77 20 69 74 20 72 65 74 75 72 6e 73 20   Now it returns 
14d0: 30 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  0.</li>.}..chng 
14e0: 7b 32 30 30 31 20 4f 63 74 20 31 33 20 28 32 2e  {2001 Oct 13 (2.
14f0: 30 2e 34 29 7d 20 7b 0a 3c 6c 69 3e 42 75 67 20  0.4)} {.<li>Bug 
1500: 66 69 78 3a 20 61 6e 20 61 62 73 63 75 72 65 20  fix: an abscure 
1510: 61 6e 64 20 72 65 6c 61 74 69 76 65 6c 79 20 68  and relatively h
1520: 61 72 6d 6c 65 73 73 20 62 75 67 20 77 61 73 20  armless bug was 
1530: 63 61 75 73 69 6e 67 20 6f 6e 65 20 6f 66 0a 20  causing one of. 
1540: 20 20 20 74 68 65 20 74 65 73 74 73 20 74 6f 20     the tests to 
1550: 66 61 69 6c 20 77 68 65 6e 20 67 63 63 20 6f 70  fail when gcc op
1560: 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20  timizations are 
1570: 74 75 72 6e 65 64 20 6f 6e 2e 20 20 54 68 69 73  turned on.  This
1580: 20 72 65 6c 65 61 73 65 0a 20 20 20 20 66 69 78   release.    fix
1590: 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 2e 3c  es the problem.<
15a0: 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30  /li>.}..chng {20
15b0: 30 31 20 4f 63 74 20 31 33 20 28 32 2e 30 2e 33  01 Oct 13 (2.0.3
15c0: 29 7d 20 7b 0a 3c 6c 69 3e 42 75 67 20 66 69 78  )} {.<li>Bug fix
15d0: 3a 20 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 5f  : the <b>sqlite_
15e0: 62 75 73 79 5f 74 69 6d 65 6f 75 74 28 29 3c 2f  busy_timeout()</
15f0: 62 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20  b> function was 
1600: 64 65 6c 61 79 69 6e 67 20 31 30 30 30 0a 20 20  delaying 1000.  
1610: 20 20 74 69 6d 65 73 20 74 6f 6f 20 6c 6f 6e 67    times too long
1620: 20 62 65 66 6f 72 65 20 66 61 69 6c 69 6e 67 2e   before failing.
1630: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 42 75 67 20 66 69  </li>.<li>Bug fi
1640: 78 3a 20 61 6e 20 61 73 73 65 72 74 69 6f 6e 20  x: an assertion 
1650: 77 61 73 20 66 61 69 6c 69 6e 67 20 69 66 20 74  was failing if t
1660: 68 65 20 64 69 73 6b 20 68 6f 6c 64 69 6e 67 20  he disk holding 
1670: 74 68 65 20 64 61 74 61 62 61 73 65 0a 20 20 20  the database.   
1680: 20 66 69 6c 65 20 62 65 63 61 6d 65 20 66 75 6c   file became ful
1690: 6c 20 6f 72 20 73 74 6f 70 70 65 64 20 61 63 63  l or stopped acc
16a0: 65 70 74 69 6e 67 20 77 72 69 74 65 73 20 66 6f  epting writes fo
16b0: 72 20 73 6f 6d 65 20 6f 74 68 65 72 20 72 65 61  r some other rea
16c0: 73 6f 6e 2e 0a 20 20 20 20 4e 65 77 20 74 65 73  son..    New tes
16d0: 74 73 20 77 65 72 65 20 61 64 64 65 64 20 74 6f  ts were added to
16e0: 20 64 65 74 65 63 74 20 73 69 6d 69 6c 61 72 20   detect similar 
16f0: 70 72 6f 62 6c 65 6d 73 20 69 6e 20 74 68 65 20  problems in the 
1700: 66 75 74 75 72 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69  future.</li>.<li
1710: 3e 41 64 64 65 64 20 6e 65 77 20 6f 70 65 72 61  >Added new opera
1720: 74 6f 72 73 3a 20 3c 62 3e 26 61 6d 70 3b 3c 2f  tors: <b>&amp;</
1730: 62 3e 20 28 62 69 74 77 69 73 65 2d 61 6e 64 29  b> (bitwise-and)
1740: 0a 20 20 20 20 3c 62 3e 7c 3c 2f 62 3e 20 28 62  .    <b>|</b> (b
1750: 69 74 77 69 73 65 2d 6f 72 29 2c 20 3c 62 3e 7e  itwise-or), <b>~
1760: 3c 2f 62 3e 20 28 6f 6e 65 73 2d 63 6f 6d 70 6c  </b> (ones-compl
1770: 65 6d 65 6e 74 29 2c 0a 20 20 20 20 3c 62 3e 26  ement),.    <b>&
1780: 6c 74 3b 26 6c 74 3b 3c 2f 62 3e 20 28 73 68 69  lt;&lt;</b> (shi
1790: 66 74 20 6c 65 66 74 29 2c 20 3c 62 3e 26 67 74  ft left), <b>&gt
17a0: 3b 26 67 74 3b 3c 2f 62 3e 20 28 73 68 69 66 74  ;&gt;</b> (shift
17b0: 20 72 69 67 68 74 29 2e 3c 2f 6c 69 3e 0a 3c 6c   right).</li>.<l
17c0: 69 3e 41 64 64 65 64 20 6e 65 77 20 66 75 6e 63  i>Added new func
17d0: 74 69 6f 6e 73 3a 20 3c 62 3e 72 6f 75 6e 64 28  tions: <b>round(
17e0: 29 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 61 62 73  )</b> and <b>abs
17f0: 28 29 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  ()</b>.</li>.}..
1800: 63 68 6e 67 20 7b 32 30 30 31 20 4f 63 74 20 39  chng {2001 Oct 9
1810: 20 28 32 2e 30 2e 32 29 7d 20 7b 0a 3c 6c 69 3e   (2.0.2)} {.<li>
1820: 46 69 78 20 74 77 6f 20 62 75 67 73 20 69 6e 20  Fix two bugs in 
1830: 74 68 65 20 6c 6f 63 6b 69 6e 67 20 70 72 6f 74  the locking prot
1840: 6f 63 6f 6c 2e 20 20 28 4f 6e 65 20 77 61 73 20  ocol.  (One was 
1850: 6d 61 73 6b 69 6e 67 20 74 68 65 20 6f 74 68 65  masking the othe
1860: 72 2e 29 3c 2f 6c 69 3e 0a 3c 6c 69 3e 52 65 6d  r.)</li>.<li>Rem
1870: 6f 76 65 64 20 73 6f 6d 65 20 75 6e 75 73 65 64  oved some unused
1880: 20 22 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73   "#include <unis
1890: 74 64 2e 68 3e 22 20 74 68 61 74 20 77 65 72 65  td.h>" that were
18a0: 20 63 61 75 73 69 6e 67 20 70 72 6f 62 6c 65 6d   causing problem
18b0: 73 0a 20 20 20 20 66 6f 72 20 56 43 2b 2b 2e 3c  s.    for VC++.<
18c0: 2f 6c 69 3e 0a 3c 6c 69 3e 46 69 78 65 64 20 3c  /li>.<li>Fixed <
18d0: 62 3e 73 71 6c 69 74 65 2e 68 3c 2f 62 3e 20 73  b>sqlite.h</b> s
18e0: 6f 20 74 68 61 74 20 69 74 20 69 73 20 75 73 61  o that it is usa
18f0: 62 6c 65 20 66 72 6f 6d 20 43 2b 2b 3c 2f 6c 69  ble from C++</li
1900: 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20  >.<li>Added the 
1910: 46 55 4c 4c 5f 43 4f 4c 55 4d 4e 5f 4e 41 4d 45  FULL_COLUMN_NAME
1920: 53 20 70 72 61 67 6d 61 2e 20 20 57 68 65 6e 20  S pragma.  When 
1930: 73 65 74 20 74 6f 20 22 4f 4e 22 2c 20 74 68 65  set to "ON", the
1940: 20 6e 61 6d 65 73 20 6f 66 0a 20 20 20 20 63 6f   names of.    co
1950: 6c 75 6d 6e 73 20 61 72 65 20 72 65 70 6f 72 74  lumns are report
1960: 65 64 20 62 61 63 6b 20 61 73 20 54 41 42 4c 45  ed back as TABLE
1970: 2e 43 4f 4c 55 4d 4e 20 69 6e 73 74 65 61 64 20  .COLUMN instead 
1980: 6f 66 20 6a 75 73 74 20 43 4f 4c 55 4d 4e 2e 3c  of just COLUMN.<
1990: 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 74  /li>.<li>Added t
19a0: 68 65 20 54 41 42 4c 45 5f 49 4e 46 4f 28 29 20  he TABLE_INFO() 
19b0: 61 6e 64 20 49 4e 44 45 58 5f 49 4e 46 4f 28 29  and INDEX_INFO()
19c0: 20 70 72 61 67 6d 61 73 20 74 6f 20 68 65 6c 70   pragmas to help
19d0: 20 73 75 70 70 6f 72 74 20 74 68 65 0a 20 20 20   support the.   
19e0: 20 4f 44 42 43 20 69 6e 74 65 72 66 61 63 65 2e   ODBC interface.
19f0: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20  </li>.<li>Added 
1a00: 73 75 70 70 6f 72 74 20 66 6f 72 20 54 45 4d 50  support for TEMP
1a10: 4f 52 41 52 59 20 74 61 62 6c 65 73 20 61 6e 64  ORARY tables and
1a20: 20 69 6e 64 69 63 65 73 2e 3c 2f 6c 69 3e 0a 7d   indices.</li>.}
1a30: 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20 4f 63 74  ..chng {2001 Oct
1a40: 20 32 20 28 32 2e 30 2e 31 29 7d 20 7b 0a 3c 6c   2 (2.0.1)} {.<l
1a50: 69 3e 52 65 6d 6f 76 65 20 73 6f 6d 65 20 43 2b  i>Remove some C+
1a60: 2b 20 73 74 79 6c 65 20 63 6f 6d 6d 65 6e 74 73  + style comments
1a70: 20 66 72 6f 6d 20 62 74 72 65 65 2e 63 20 73 6f   from btree.c so
1a80: 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 63 6f   that it will co
1a90: 6d 70 69 6c 65 0a 20 20 20 20 75 73 69 6e 67 20  mpile.    using 
1aa0: 63 6f 6d 70 69 6c 65 72 73 20 6f 74 68 65 72 20  compilers other 
1ab0: 74 68 61 6e 20 67 63 63 2e 3c 2f 6c 69 3e 0a 3c  than gcc.</li>.<
1ac0: 6c 69 3e 54 68 65 20 22 2e 64 75 6d 70 22 20 6f  li>The ".dump" o
1ad0: 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 73  utput from the s
1ae0: 68 65 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 77 6f  hell does not wo
1af0: 72 6b 20 69 66 20 74 68 65 72 65 20 61 72 65 20  rk if there are 
1b00: 65 6d 62 65 64 64 65 64 0a 20 20 20 20 6e 65 77  embedded.    new
1b10: 6c 69 6e 65 73 20 61 6e 79 77 68 65 72 65 20 69  lines anywhere i
1b20: 6e 20 74 68 65 20 64 61 74 61 2e 20 20 54 68 69  n the data.  Thi
1b30: 73 20 69 73 20 61 6e 20 6f 6c 64 20 62 75 67 20  s is an old bug 
1b40: 74 68 61 74 20 77 61 73 20 63 61 72 72 69 65 64  that was carried
1b50: 0a 20 20 20 20 66 6f 72 77 61 72 64 20 66 72 6f  .    forward fro
1b60: 6d 20 76 65 72 73 69 6f 6e 20 31 2e 30 2e 20 20  m version 1.0.  
1b70: 54 6f 20 66 69 78 20 69 74 2c 20 74 68 65 20 22  To fix it, the "
1b80: 2e 64 75 6d 70 22 20 6f 75 74 70 75 74 20 6e 6f  .dump" output no
1b90: 20 6c 6f 6e 67 65 72 0a 20 20 20 20 75 73 65 73   longer.    uses
1ba0: 20 74 68 65 20 43 4f 50 59 20 63 6f 6d 6d 61 6e   the COPY comman
1bb0: 64 2e 20 20 49 74 20 69 6e 73 74 65 61 64 20 67  d.  It instead g
1bc0: 65 6e 65 72 61 74 65 73 20 49 4e 53 45 52 54 20  enerates INSERT 
1bd0: 73 74 61 74 65 6d 65 6e 74 73 2e 3c 2f 6c 69 3e  statements.</li>
1be0: 0a 3c 6c 69 3e 45 78 74 65 6e 64 20 74 68 65 20  .<li>Extend the 
1bf0: 65 78 70 72 65 73 73 69 6f 6e 20 73 79 6e 74 61  expression synta
1c00: 78 20 74 6f 20 73 75 70 70 6f 72 74 20 22 65 78  x to support "ex
1c10: 70 72 20 4e 4f 54 20 4e 55 4c 4c 22 20 28 77 69  pr NOT NULL" (wi
1c20: 74 68 20 61 0a 20 20 20 20 73 70 61 63 65 20 62  th a.    space b
1c30: 65 74 77 65 65 6e 20 74 68 65 20 22 4e 4f 54 22  etween the "NOT"
1c40: 20 61 6e 64 20 74 68 65 20 22 4e 55 4c 4c 22 29   and the "NULL")
1c50: 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20   in addition to 
1c60: 22 65 78 70 72 20 4e 4f 54 4e 55 4c 4c 22 0a 20  "expr NOTNULL". 
1c70: 20 20 20 28 77 69 74 68 20 6e 6f 20 73 70 61 63     (with no spac
1c80: 65 29 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  e).</li>.}..chng
1c90: 20 7b 32 30 30 31 20 53 65 70 20 32 38 20 28 32   {2001 Sep 28 (2
1ca0: 2e 30 2e 30 29 7d 20 7b 0a 3c 6c 69 3e 41 75 74  .0.0)} {.<li>Aut
1cb0: 6f 6d 61 74 69 63 61 6c 6c 79 20 62 75 69 6c 64  omatically build
1cc0: 20 62 69 6e 61 72 69 65 73 20 66 6f 72 20 4c 69   binaries for Li
1cd0: 6e 75 78 20 61 6e 64 20 57 69 6e 64 6f 77 73 20  nux and Windows 
1ce0: 61 6e 64 20 70 75 74 20 74 68 65 6d 20 6f 6e 0a  and put them on.
1cf0: 20 20 20 20 74 68 65 20 77 65 62 73 69 74 65 2e      the website.
1d00: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
1d10: 30 30 31 20 53 65 70 20 32 38 20 28 32 2e 30 2d  001 Sep 28 (2.0-
1d20: 61 6c 70 68 61 2d 34 29 7d 20 7b 0a 3c 6c 69 3e  alpha-4)} {.<li>
1d30: 49 6e 63 6f 72 70 6f 72 61 74 65 20 6d 61 6b 65  Incorporate make
1d40: 66 69 6c 65 20 70 61 74 63 68 65 73 20 66 6f 72  file patches for
1d50: 6d 20 41 2e 20 52 6f 74 74 6d 61 6e 6e 20 74 6f  m A. Rottmann to
1d60: 20 75 73 65 20 4c 49 42 54 4f 4f 4c 3c 2f 6c 69   use LIBTOOL</li
1d70: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20  >.}..chng {2001 
1d80: 53 65 70 20 32 37 20 28 32 2e 30 2d 61 6c 70 68  Sep 27 (2.0-alph
1d90: 61 2d 33 29 7d 20 7b 0a 3c 6c 69 3e 53 51 4c 69  a-3)} {.<li>SQLi
1da0: 74 65 20 6e 6f 77 20 68 6f 6e 6f 72 73 20 74 68  te now honors th
1db0: 65 20 55 4e 49 51 55 45 20 6b 65 79 77 6f 72 64  e UNIQUE keyword
1dc0: 20 69 6e 20 43 52 45 41 54 45 20 55 4e 49 51 55   in CREATE UNIQU
1dd0: 45 20 49 4e 44 45 58 2e 20 20 50 72 69 6d 61 72  E INDEX.  Primar
1de0: 79 0a 20 20 20 20 6b 65 79 73 20 61 72 65 20 72  y.    keys are r
1df0: 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 75 6e  equired to be un
1e00: 69 71 75 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46  ique.</li>.<li>F
1e10: 69 6c 65 20 66 6f 72 6d 61 74 20 63 68 61 6e 67  ile format chang
1e20: 65 64 20 62 61 63 6b 20 74 6f 20 77 68 61 74 20  ed back to what 
1e30: 69 74 20 77 61 73 20 66 6f 72 20 61 6c 70 68 61  it was for alpha
1e40: 2d 31 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 69 78 65  -1</li>.<li>Fixe
1e50: 73 20 74 6f 20 74 68 65 20 72 6f 6c 6c 62 61 63  s to the rollbac
1e60: 6b 20 61 6e 64 20 6c 6f 63 6b 69 6e 67 20 62 65  k and locking be
1e70: 68 61 76 69 6f 72 3c 2f 6c 69 3e 0a 7d 0a 0a 63  havior</li>.}..c
1e80: 68 6e 67 20 7b 32 30 30 31 20 53 65 70 20 32 30  hng {2001 Sep 20
1e90: 20 28 32 2e 30 2d 61 6c 70 68 61 2d 32 29 7d 20   (2.0-alpha-2)} 
1ea0: 7b 0a 3c 6c 69 3e 49 6e 69 74 69 61 6c 20 72 65  {.<li>Initial re
1eb0: 6c 65 61 73 65 20 6f 66 20 76 65 72 73 69 6f 6e  lease of version
1ec0: 20 32 2e 30 2e 20 20 54 68 65 20 69 64 65 61 20   2.0.  The idea 
1ed0: 6f 66 20 72 65 6e 61 6d 69 6e 67 20 74 68 65 20  of renaming the 
1ee0: 6c 69 62 72 61 72 79 0a 20 20 20 20 74 6f 20 22  library.    to "
1ef0: 53 51 4c 75 73 22 20 77 61 73 20 61 62 61 6e 64  SQLus" was aband
1f00: 6f 6e 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66  oned in favor of
1f10: 20 6b 65 65 70 69 6e 67 20 74 68 65 20 22 53 51   keeping the "SQ
1f20: 4c 69 74 65 22 20 6e 61 6d 65 20 61 6e 64 0a 20  Lite" name and. 
1f30: 20 20 20 62 75 6d 70 69 6e 67 20 74 68 65 20 6d     bumping the m
1f40: 61 6a 6f 72 20 76 65 72 73 69 6f 6e 20 6e 75 6d  ajor version num
1f50: 62 65 72 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68  ber.</li>.<li>Th
1f60: 65 20 70 61 67 65 72 20 61 6e 64 20 62 74 72 65  e pager and btre
1f70: 65 20 73 75 62 73 79 73 74 65 6d 73 20 61 64 64  e subsystems add
1f80: 65 64 20 62 61 63 6b 2e 20 54 68 65 79 20 61 72  ed back. They ar
1f90: 65 20 6e 6f 77 20 74 68 65 20 6f 6e 6c 79 0a 20  e now the only. 
1fa0: 20 20 20 61 76 61 69 6c 61 62 6c 65 20 62 61 63     available bac
1fb0: 6b 65 6e 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54  kend.</li>.<li>T
1fc0: 68 65 20 44 62 62 65 20 61 62 73 74 72 61 63 74  he Dbbe abstract
1fd0: 69 6f 6e 20 61 6e 64 20 74 68 65 20 47 44 42 4d  ion and the GDBM
1fe0: 20 61 6e 64 20 6d 65 6d 6f 72 79 20 64 72 69 76   and memory driv
1ff0: 65 72 73 20 77 65 72 65 20 72 65 6d 6f 76 65 64  ers were removed
2000: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 6f 70 79 72  .</li>.<li>Copyr
2010: 69 67 68 74 20 6f 6e 20 61 6c 6c 20 63 6f 64 65  ight on all code
2020: 20 77 61 73 20 64 69 73 63 6c 61 69 6d 65 64 2e   was disclaimed.
2030: 20 20 54 68 65 20 6c 69 62 72 61 72 79 20 69 73    The library is
2040: 20 6e 6f 77 20 69 6e 20 74 68 65 0a 20 20 20 20   now in the.    
2050: 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 3c 2f  public domain.</
2060: 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30  li>.}..chng {200
2070: 31 20 4a 75 6c 20 32 33 20 28 31 2e 30 2e 33 32  1 Jul 23 (1.0.32
2080: 29 7d 20 7b 0a 3c 6c 69 3e 50 61 67 65 72 20 61  )} {.<li>Pager a
2090: 6e 64 20 62 74 72 65 65 20 73 75 62 73 79 73 74  nd btree subsyst
20a0: 65 6d 73 20 72 65 6d 6f 76 65 64 2e 20 20 54 68  ems removed.  Th
20b0: 65 73 65 20 77 69 6c 6c 20 62 65 20 75 73 65 64  ese will be used
20c0: 20 69 6e 20 61 20 66 6f 6c 6c 6f 77 2d 6f 6e 0a   in a follow-on.
20d0: 20 20 20 20 53 51 4c 20 73 65 72 76 65 72 20 6c      SQL server l
20e0: 69 62 72 61 72 79 20 6e 61 6d 65 64 20 22 53 51  ibrary named "SQ
20f0: 4c 75 73 22 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41  Lus".</li>.<li>A
2100: 64 64 20 74 68 65 20 61 62 69 6c 69 74 79 20 74  dd the ability t
2110: 6f 20 75 73 65 20 71 75 6f 74 65 64 20 73 74 72  o use quoted str
2120: 69 6e 67 73 20 61 73 20 74 61 62 6c 65 20 61 6e  ings as table an
2130: 64 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 20 69  d column names i
2140: 6e 0a 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e  n.    expression
2150: 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  s.</li>.}..chng 
2160: 7b 32 30 30 31 20 41 70 72 20 31 34 20 28 31 2e  {2001 Apr 14 (1.
2170: 30 2e 33 31 29 7d 20 7b 0a 3c 6c 69 3e 50 61 67  0.31)} {.<li>Pag
2180: 65 72 20 73 75 62 73 79 73 74 65 6d 20 61 64 64  er subsystem add
2190: 65 64 20 62 75 74 20 6e 6f 74 20 79 65 74 20 75  ed but not yet u
21a0: 73 65 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 4d 6f  sed.</li>.<li>Mo
21b0: 72 65 20 72 6f 62 75 73 74 20 68 61 6e 64 6c 69  re robust handli
21c0: 6e 67 20 6f 66 20 6f 75 74 2d 6f 66 2d 6d 65 6d  ng of out-of-mem
21d0: 6f 72 79 20 65 72 72 6f 72 73 2e 3c 2f 6c 69 3e  ory errors.</li>
21e0: 0a 3c 6c 69 3e 4e 65 77 20 74 65 73 74 73 20 61  .<li>New tests a
21f0: 64 64 65 64 20 74 6f 20 74 68 65 20 74 65 73 74  dded to the test
2200: 20 73 75 69 74 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a   suite.</li>.}..
2210: 63 68 6e 67 20 7b 32 30 30 31 20 41 70 72 20 36  chng {2001 Apr 6
2220: 20 28 31 2e 30 2e 33 30 29 7d 20 7b 0a 3c 6c 69   (1.0.30)} {.<li
2230: 3e 52 65 6d 6f 76 65 20 74 68 65 20 3c 62 3e 73  >Remove the <b>s
2240: 71 6c 69 74 65 5f 65 6e 63 6f 64 69 6e 67 3c 2f  qlite_encoding</
2250: 62 3e 20 54 43 4c 20 76 61 72 69 61 62 6c 65 20  b> TCL variable 
2260: 74 68 61 74 20 77 61 73 20 69 6e 74 72 6f 64 75  that was introdu
2270: 63 65 64 0a 20 20 20 20 69 6e 20 74 68 65 20 70  ced.    in the p
2280: 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 2e  revious version.
2290: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 20 6f 70  </li>.<li>Add op
22a0: 74 69 6f 6e 73 20 3c 62 3e 2d 65 6e 63 6f 64 69  tions <b>-encodi
22b0: 6e 67 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 2d 74  ng</b> and <b>-t
22c0: 63 6c 2d 75 73 65 73 2d 75 74 66 3c 2f 62 3e 20  cl-uses-utf</b> 
22d0: 74 6f 20 74 68 65 0a 20 20 20 20 3c 62 3e 73 71  to the.    <b>sq
22e0: 6c 69 74 65 3c 2f 62 3e 20 54 43 4c 20 63 6f 6d  lite</b> TCL com
22f0: 6d 61 6e 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41  mand.</li>.<li>A
2300: 64 64 20 74 65 73 74 73 20 74 6f 20 6d 61 6b 65  dd tests to make
2310: 20 73 75 72 65 20 74 68 61 74 20 74 63 6c 73 71   sure that tclsq
2320: 6c 69 74 65 20 77 61 73 20 63 6f 6d 70 69 6c 65  lite was compile
2330: 64 20 75 73 69 6e 67 20 54 63 6c 20 68 65 61 64  d using Tcl head
2340: 65 72 0a 20 20 20 20 66 69 6c 65 73 20 61 6e 64  er.    files and
2350: 20 6c 69 62 72 61 72 69 65 73 20 74 68 61 74 20   libraries that 
2360: 6d 61 74 63 68 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  match.</li>.}..c
2370: 68 6e 67 20 7b 32 30 30 31 20 41 70 72 20 35 20  hng {2001 Apr 5 
2380: 28 31 2e 30 2e 32 39 29 7d 20 7b 0a 3c 6c 69 3e  (1.0.29)} {.<li>
2390: 54 68 65 20 6c 69 62 72 61 72 79 20 6e 6f 77 20  The library now 
23a0: 61 73 73 75 6d 65 73 20 64 61 74 61 20 69 73 20  assumes data is 
23b0: 73 74 6f 72 65 64 20 61 73 20 55 54 46 2d 38 20  stored as UTF-8 
23c0: 69 66 20 74 68 65 20 2d 2d 65 6e 61 62 6c 65 2d  if the --enable-
23d0: 75 74 66 38 0a 20 20 20 20 6f 70 74 69 6f 6e 20  utf8.    option 
23e0: 69 73 20 67 69 76 65 6e 20 74 6f 20 63 6f 6e 66  is given to conf
23f0: 69 67 75 72 65 2e 20 20 54 68 65 20 64 65 66 61  igure.  The defa
2400: 75 6c 74 20 62 65 68 61 76 69 6f 72 20 69 73 20  ult behavior is 
2410: 74 6f 20 61 73 73 75 6d 65 0a 20 20 20 20 69 73  to assume.    is
2420: 6f 38 38 35 39 2d 78 2c 20 61 73 20 69 74 20 68  o8859-x, as it h
2430: 61 73 20 61 6c 77 61 79 73 20 64 6f 6e 65 2e 20  as always done. 
2440: 20 54 68 69 73 20 6f 6e 6c 79 20 6d 61 6b 65 73   This only makes
2450: 20 61 20 64 69 66 66 65 72 65 6e 63 65 20 66 6f   a difference fo
2460: 72 0a 20 20 20 20 4c 49 4b 45 20 61 6e 64 20 47  r.    LIKE and G
2470: 4c 4f 42 20 6f 70 65 72 61 74 6f 72 73 20 61 6e  LOB operators an
2480: 64 20 74 68 65 20 4c 45 4e 47 54 48 20 61 6e 64  d the LENGTH and
2490: 20 53 55 42 53 54 52 20 66 75 6e 63 74 69 6f 6e   SUBSTR function
24a0: 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 49 66 20 74  s.</li>.<li>If t
24b0: 68 65 20 6c 69 62 72 61 72 79 20 69 73 20 6e 6f  he library is no
24c0: 74 20 63 6f 6e 66 69 67 75 72 65 64 20 66 6f 72  t configured for
24d0: 20 55 54 46 2d 38 20 61 6e 64 20 74 68 65 20 54   UTF-8 and the T
24e0: 63 6c 20 6c 69 62 72 61 72 79 0a 20 20 20 20 69  cl library.    i
24f0: 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 6e 65 77  s one of the new
2500: 65 72 20 6f 6e 65 73 20 74 68 61 74 20 75 73 65  er ones that use
2510: 73 20 55 54 46 2d 38 20 69 6e 74 65 72 6e 61 6c  s UTF-8 internal
2520: 6c 79 2c 0a 20 20 20 20 74 68 65 6e 20 61 20 63  ly,.    then a c
2530: 6f 6e 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 55  onversion from U
2540: 54 46 2d 38 20 74 6f 20 69 73 6f 38 38 35 39 20  TF-8 to iso8859 
2550: 61 6e 64 0a 20 20 20 20 62 61 63 6b 20 61 67 61  and.    back aga
2560: 69 6e 20 69 73 20 64 6f 6e 65 20 69 6e 73 69 64  in is done insid
2570: 65 20 74 68 65 20 54 43 4c 20 69 6e 74 65 72 66  e the TCL interf
2580: 61 63 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e  ace.</li>.}..chn
2590: 67 20 7b 32 30 30 31 20 41 70 72 20 34 20 28 31  g {2001 Apr 4 (1
25a0: 2e 30 2e 32 38 29 7d 20 7b 0a 3c 6c 69 3e 41 64  .0.28)} {.<li>Ad
25b0: 64 65 64 20 6c 69 6d 69 74 65 64 20 73 75 70 70  ded limited supp
25c0: 6f 72 74 20 66 6f 72 20 74 72 61 6e 73 61 63 74  ort for transact
25d0: 69 6f 6e 73 2e 20 20 41 74 20 74 68 69 73 20 70  ions.  At this p
25e0: 6f 69 6e 74 2c 20 74 72 61 6e 73 61 63 74 69 6f  oint, transactio
25f0: 6e 73 0a 20 20 20 20 77 69 6c 6c 20 64 6f 20 74  ns.    will do t
2600: 61 62 6c 65 20 6c 6f 63 6b 69 6e 67 20 6f 6e 20  able locking on 
2610: 74 68 65 20 47 44 42 4d 20 62 61 63 6b 65 6e 64  the GDBM backend
2620: 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 73  .  There is no s
2630: 75 70 70 6f 72 74 20 28 79 65 74 29 0a 20 20 20  upport (yet).   
2640: 20 66 6f 72 20 72 6f 6c 6c 62 61 63 6b 20 6f 72   for rollback or
2650: 20 61 74 6f 6d 69 63 20 63 6f 6d 6d 69 74 2e 3c   atomic commit.<
2660: 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 73  /li>.<li>Added s
2670: 70 65 63 69 61 6c 20 63 6f 6c 75 6d 6e 20 6e 61  pecial column na
2680: 6d 65 73 20 52 4f 57 49 44 2c 20 4f 49 44 2c 20  mes ROWID, OID, 
2690: 61 6e 64 20 5f 52 4f 57 49 44 5f 20 74 68 61 74  and _ROWID_ that
26a0: 20 72 65 66 65 72 20 74 6f 20 74 68 65 0a 20 20   refer to the.  
26b0: 20 20 75 6e 69 71 75 65 20 72 61 6e 64 6f 6d 20    unique random 
26c0: 69 6e 74 65 67 65 72 20 6b 65 79 20 61 73 73 6f  integer key asso
26d0: 63 69 61 74 65 64 20 77 69 74 68 20 65 76 65 72  ciated with ever
26e0: 79 20 72 6f 77 20 6f 66 20 65 76 65 72 79 20 74  y row of every t
26f0: 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41  able.</li>.<li>A
2700: 64 64 69 74 69 6f 6e 61 6c 20 74 65 73 74 73 20  dditional tests 
2710: 61 64 64 65 64 20 74 6f 20 74 68 65 20 72 65 67  added to the reg
2720: 72 65 73 73 69 6f 6e 20 73 75 69 74 65 20 74 6f  ression suite to
2730: 20 63 6f 76 65 72 20 74 68 65 20 6e 65 77 20 52   cover the new R
2740: 4f 57 49 44 0a 20 20 20 20 66 65 61 74 75 72 65  OWID.    feature
2750: 20 61 6e 64 20 74 68 65 20 54 43 4c 20 69 6e 74   and the TCL int
2760: 65 72 66 61 63 65 20 62 75 67 73 20 6d 65 6e 74  erface bugs ment
2770: 69 6f 6e 65 64 20 62 65 6c 6f 77 2e 3c 2f 6c 69  ioned below.</li
2780: 3e 0a 3c 6c 69 3e 43 68 61 6e 67 65 73 20 74 6f  >.<li>Changes to
2790: 20 74 68 65 20 22 6c 65 6d 6f 6e 22 20 70 61 72   the "lemon" par
27a0: 73 65 72 20 67 65 6e 65 72 61 74 6f 72 20 74 6f  ser generator to
27b0: 20 68 65 6c 70 20 69 74 20 77 6f 72 6b 20 62 65   help it work be
27c0: 74 74 65 72 20 77 68 65 6e 0a 20 20 20 20 63 6f  tter when.    co
27d0: 6d 70 69 6c 65 64 20 75 73 69 6e 67 20 4d 53 56  mpiled using MSV
27e0: 43 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 42 75 67 20  C.</li>.<li>Bug 
27f0: 66 69 78 65 73 20 69 6e 20 74 68 65 20 54 43 4c  fixes in the TCL
2800: 20 69 6e 74 65 72 66 61 63 65 20 69 64 65 6e 74   interface ident
2810: 69 66 69 65 64 20 62 79 20 4f 6c 65 67 20 4f 6c  ified by Oleg Ol
2820: 65 69 6e 69 63 6b 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  einick.</li>.}..
2830: 63 68 6e 67 20 7b 32 30 30 31 20 4d 61 72 20 32  chng {2001 Mar 2
2840: 30 20 28 31 2e 30 2e 32 37 29 7d 20 7b 0a 3c 6c  0 (1.0.27)} {.<l
2850: 69 3e 57 68 65 6e 20 64 6f 69 6e 67 20 44 45 4c  i>When doing DEL
2860: 45 54 45 20 61 6e 64 20 55 50 44 41 54 45 2c 20  ETE and UPDATE, 
2870: 74 68 65 20 6c 69 62 72 61 72 79 20 75 73 65 64  the library used
2880: 20 74 6f 20 77 72 69 74 65 20 74 68 65 20 72 65   to write the re
2890: 63 6f 72 64 0a 20 20 20 20 6e 75 6d 62 65 72 73  cord.    numbers
28a0: 20 6f 66 20 72 65 63 6f 72 64 73 20 74 6f 20 62   of records to b
28b0: 65 20 64 65 6c 65 74 65 64 20 6f 72 20 75 70 64  e deleted or upd
28c0: 61 74 65 64 20 69 6e 74 6f 20 61 20 74 65 6d 70  ated into a temp
28d0: 6f 72 61 72 79 20 66 69 6c 65 2e 0a 20 20 20 20  orary file..    
28e0: 54 68 69 73 20 69 73 20 63 68 61 6e 67 65 64 20  This is changed 
28f0: 73 6f 20 74 68 61 74 20 74 68 65 20 72 65 63 6f  so that the reco
2900: 72 64 20 6e 75 6d 62 65 72 73 20 61 72 65 20 68  rd numbers are h
2910: 65 6c 64 20 69 6e 20 6d 65 6d 6f 72 79 2e 3c 2f  eld in memory.</
2920: 6c 69 3e 0a 3c 6c 69 3e 54 68 65 20 44 45 4c 45  li>.<li>The DELE
2930: 54 45 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 6f  TE command witho
2940: 75 74 20 61 20 57 48 49 4c 45 20 63 6c 61 75 73  ut a WHILE claus
2950: 65 20 6a 75 73 74 20 72 65 6d 6f 76 65 73 20 74  e just removes t
2960: 68 65 20 64 61 74 61 62 61 73 65 0a 20 20 20 20  he database.    
2970: 66 69 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 64  files from the d
2980: 69 73 6b 2c 20 72 61 74 68 65 72 20 74 68 61 6e  isk, rather than
2990: 20 67 6f 69 6e 67 20 74 68 72 6f 75 67 68 20 61   going through a
29a0: 6e 64 20 64 65 6c 65 74 69 6e 67 20 72 65 63 6f  nd deleting reco
29b0: 72 64 0a 20 20 20 20 62 79 20 72 65 63 6f 72 64  rd.    by record
29c0: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
29d0: 32 30 30 31 20 4d 61 72 20 32 30 20 28 31 2e 30  2001 Mar 20 (1.0
29e0: 2e 32 36 29 7d 20 7b 0a 3c 6c 69 3e 41 20 73 65  .26)} {.<li>A se
29f0: 72 69 6f 75 73 20 62 75 67 20 66 69 78 65 64 20  rious bug fixed 
2a00: 6f 6e 20 57 69 6e 64 6f 77 73 2e 20 20 57 69 6e  on Windows.  Win
2a10: 64 6f 77 73 20 75 73 65 72 73 20 73 68 6f 75 6c  dows users shoul
2a20: 64 20 75 70 67 72 61 64 65 2e 0a 20 20 20 20 4e  d upgrade..    N
2a30: 6f 20 69 6d 70 61 63 74 20 74 6f 20 55 6e 69 78  o impact to Unix
2a40: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
2a50: 32 30 30 31 20 4d 61 72 20 31 35 20 28 31 2e 30  2001 Mar 15 (1.0
2a60: 2e 32 35 29 7d 20 7b 0a 3c 6c 69 3e 4d 6f 64 69  .25)} {.<li>Modi
2a70: 66 79 20 74 68 65 20 74 65 73 74 20 73 63 72 69  fy the test scri
2a80: 70 74 73 20 74 6f 20 69 64 65 6e 74 69 66 79 20  pts to identify 
2a90: 74 65 73 74 73 20 74 68 61 74 20 64 65 70 65 6e  tests that depen
2aa0: 64 20 6f 6e 20 73 79 73 74 65 6d 0a 20 20 20 20  d on system.    
2ab0: 6c 6f 61 64 20 61 6e 64 20 70 72 6f 63 65 73 73  load and process
2ac0: 6f 72 20 73 70 65 65 64 20 61 6e 64 0a 20 20 20  or speed and.   
2ad0: 20 74 6f 20 77 61 72 6e 20 74 68 65 20 75 73 65   to warn the use
2ae0: 72 20 74 68 61 74 20 61 20 66 61 69 6c 75 72 65  r that a failure
2af0: 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68 6f 73 65   of one of those
2b00: 20 28 72 61 72 65 29 20 74 65 73 74 73 20 64 6f   (rare) tests do
2b10: 65 73 0a 20 20 20 20 6e 6f 74 20 6e 65 63 65 73  es.    not neces
2b20: 73 61 72 69 6c 79 20 6d 65 61 6e 20 74 68 65 20  sarily mean the 
2b30: 6c 69 62 72 61 72 79 20 69 73 20 6d 61 6c 66 75  library is malfu
2b40: 6e 63 74 69 6f 6e 69 6e 67 2e 20 20 4e 6f 20 63  nctioning.  No c
2b50: 68 61 6e 67 65 73 20 74 6f 0a 20 20 20 20 63 6f  hanges to.    co
2b60: 64 65 2e 0a 20 20 20 20 3c 2f 6c 69 3e 0a 7d 0a  de..    </li>.}.
2b70: 0a 63 68 6e 67 20 7b 32 30 30 31 20 4d 61 72 20  .chng {2001 Mar 
2b80: 31 34 20 28 31 2e 30 2e 32 34 29 7d 20 7b 0a 3c  14 (1.0.24)} {.<
2b90: 6c 69 3e 46 69 78 20 61 20 62 75 67 20 77 68 69  li>Fix a bug whi
2ba0: 63 68 20 77 61 73 20 63 61 75 73 69 6e 67 0a 20  ch was causing. 
2bb0: 20 20 20 74 68 65 20 55 50 44 41 54 45 20 63 6f     the UPDATE co
2bc0: 6d 6d 61 6e 64 20 74 6f 20 66 61 69 6c 20 6f 6e  mmand to fail on
2bd0: 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 22   systems where "
2be0: 6d 61 6c 6c 6f 63 28 30 29 22 20 72 65 74 75 72  malloc(0)" retur
2bf0: 6e 73 0a 20 20 20 20 4e 55 4c 4c 2e 20 20 54 68  ns.    NULL.  Th
2c00: 65 20 70 72 6f 62 6c 65 6d 20 64 6f 65 73 20 6e  e problem does n
2c10: 6f 74 20 61 70 70 65 61 72 20 57 69 6e 64 6f 77  ot appear Window
2c20: 73 2c 20 4c 69 6e 75 78 2c 20 6f 72 20 48 50 55  s, Linux, or HPU
2c30: 58 20 62 75 74 20 64 6f 65 73 20 0a 20 20 20 20  X but does .    
2c40: 63 61 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  cause the librar
2c50: 79 20 74 6f 20 66 61 69 6c 20 6f 6e 20 51 4e 58  y to fail on QNX
2c60: 2e 0a 20 20 20 20 3c 2f 6c 69 3e 0a 7d 0a 0a 63  ..    </li>.}..c
2c70: 68 6e 67 20 7b 32 30 30 31 20 46 65 62 20 31 39  hng {2001 Feb 19
2c80: 20 28 31 2e 30 2e 32 33 29 7d 20 7b 0a 3c 6c 69   (1.0.23)} {.<li
2c90: 3e 41 6e 20 75 6e 72 65 6c 61 74 65 64 20 28 61  >An unrelated (a
2ca0: 6e 64 20 6d 69 6e 6f 72 29 20 62 75 67 20 66 72  nd minor) bug fr
2cb0: 6f 6d 20 4d 61 72 6b 20 4d 75 72 61 6e 77 73 6b  om Mark Muranwsk
2cc0: 69 20 66 69 78 65 64 2e 20 20 54 68 65 20 61 6c  i fixed.  The al
2cd0: 67 6f 72 69 74 68 6d 0a 20 20 20 20 66 6f 72 20  gorithm.    for 
2ce0: 66 69 67 75 72 69 6e 67 20 6f 75 74 20 77 68 65  figuring out whe
2cf0: 72 65 20 74 6f 20 70 75 74 20 74 65 6d 70 6f 72  re to put tempor
2d00: 61 72 79 20 66 69 6c 65 73 20 66 6f 72 20 61 20  ary files for a 
2d10: 22 6d 65 6d 6f 72 79 3a 22 20 64 61 74 61 62 61  "memory:" databa
2d20: 73 65 0a 20 20 20 20 77 61 73 20 6e 6f 74 20 77  se.    was not w
2d30: 6f 72 6b 69 6e 67 20 71 75 69 74 65 20 72 69 67  orking quite rig
2d40: 68 74 2e 0a 20 20 20 20 3c 2f 6c 69 3e 0a 7d 0a  ht..    </li>.}.
2d50: 0a 63 68 6e 67 20 7b 32 30 30 31 20 46 65 62 20  .chng {2001 Feb 
2d60: 31 39 20 28 31 2e 30 2e 32 32 29 7d 20 7b 0a 3c  19 (1.0.22)} {.<
2d70: 6c 69 3e 54 68 65 20 70 72 65 76 69 6f 75 73 20  li>The previous 
2d80: 66 69 78 20 77 61 73 20 6e 6f 74 20 71 75 69 74  fix was not quit
2d90: 65 20 72 69 67 68 74 2e 20 20 54 68 69 73 20 6f  e right.  This o
2da0: 6e 65 20 73 65 65 6d 73 20 74 6f 20 77 6f 72 6b  ne seems to work
2db0: 20 62 65 74 74 65 72 2e 0a 20 20 20 20 3c 2f 6c   better..    </l
2dc0: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31  i>.}..chng {2001
2dd0: 20 46 65 62 20 31 39 20 28 31 2e 30 2e 32 31 29   Feb 19 (1.0.21)
2de0: 7d 20 7b 0a 3c 6c 69 3e 54 68 65 20 55 50 44 41  } {.<li>The UPDA
2df0: 54 45 20 73 74 61 74 65 6d 65 6e 74 20 77 61 73  TE statement was
2e00: 20 6e 6f 74 20 77 6f 72 6b 69 6e 67 20 77 68 65   not working whe
2e10: 6e 20 74 68 65 20 57 48 45 52 45 20 63 6c 61 75  n the WHERE clau
2e20: 73 65 20 63 6f 6e 74 61 69 6e 65 64 0a 20 20 20  se contained.   
2e30: 20 73 6f 6d 65 20 74 65 72 6d 73 20 74 68 61 74   some terms that
2e40: 20 63 6f 75 6c 64 20 62 65 20 73 61 74 69 73 66   could be satisf
2e50: 69 65 64 20 75 73 69 6e 67 20 69 6e 64 69 63 65  ied using indice
2e60: 73 20 61 6e 64 20 6f 74 68 65 72 20 74 65 72 6d  s and other term
2e70: 73 20 74 68 61 74 0a 20 20 20 20 63 6f 75 6c 64  s that.    could
2e80: 20 6e 6f 74 2e 20 20 46 69 78 65 64 2e 3c 2f 6c   not.  Fixed.</l
2e90: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31  i>.}..chng {2001
2ea0: 20 46 65 62 20 31 31 20 28 31 2e 30 2e 32 30 29   Feb 11 (1.0.20)
2eb0: 7d 20 7b 0a 3c 6c 69 3e 4d 65 72 67 65 20 64 65  } {.<li>Merge de
2ec0: 76 65 6c 6f 70 6d 65 6e 74 20 63 68 61 6e 67 65  velopment change
2ed0: 73 20 69 6e 74 6f 20 74 68 65 20 6d 61 69 6e 20  s into the main 
2ee0: 74 72 75 6e 6b 2e 20 20 46 75 74 75 72 65 20 77  trunk.  Future w
2ef0: 6f 72 6b 20 74 6f 77 61 72 64 0a 20 20 20 20 75  ork toward.    u
2f00: 73 69 6e 67 20 61 20 42 54 72 65 65 20 66 69 6c  sing a BTree fil
2f10: 65 20 73 74 72 75 63 74 75 72 65 20 77 69 6c 6c  e structure will
2f20: 20 75 73 65 20 61 20 73 65 70 61 72 61 74 65 20   use a separate 
2f30: 43 56 53 20 73 6f 75 72 63 65 20 74 72 65 65 2e  CVS source tree.
2f40: 20 20 54 68 69 73 0a 20 20 20 20 43 56 53 20 74    This.    CVS t
2f50: 72 65 65 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75  ree will continu
2f60: 65 20 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65  e to support the
2f70: 20 47 44 42 4d 20 76 65 72 73 69 6f 6e 20 6f 66   GDBM version of
2f80: 20 53 51 4c 69 74 65 20 6f 6e 6c 79 2e 3c 2f 6c   SQLite only.</l
2f90: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31  i>.}..chng {2001
2fa0: 20 46 65 62 20 36 20 28 31 2e 30 2e 31 39 29 7d   Feb 6 (1.0.19)}
2fb0: 20 7b 0a 3c 6c 69 3e 46 69 78 20 61 20 73 74 72   {.<li>Fix a str
2fc0: 61 6e 67 65 20 28 62 75 74 20 76 61 6c 69 64 29  ange (but valid)
2fd0: 20 43 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74   C declaration t
2fe0: 68 61 74 20 77 61 73 20 63 61 75 73 69 6e 67 20  hat was causing 
2ff0: 70 72 6f 62 6c 65 6d 73 0a 20 20 20 20 66 6f 72  problems.    for
3000: 20 51 4e 58 2e 20 20 4e 6f 20 6c 6f 67 69 63 61   QNX.  No logica
3010: 6c 20 63 68 61 6e 67 65 73 2e 3c 2f 6c 69 3e 0a  l changes.</li>.
3020: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 31 20 4a 61  }..chng {2001 Ja
3030: 6e 20 34 20 28 31 2e 30 2e 31 38 29 7d 20 7b 0a  n 4 (1.0.18)} {.
3040: 3c 6c 69 3e 50 72 69 6e 74 20 74 68 65 20 6f 66  <li>Print the of
3050: 66 65 6e 64 69 6e 67 20 53 51 4c 20 73 74 61 74  fending SQL stat
3060: 65 6d 65 6e 74 20 77 68 65 6e 20 61 6e 20 65 72  ement when an er
3070: 72 6f 72 20 6f 63 63 75 72 73 2e 3c 2f 6c 69 3e  ror occurs.</li>
3080: 0a 3c 6c 69 3e 44 6f 20 6e 6f 74 20 72 65 71 75  .<li>Do not requ
3090: 69 72 65 20 63 6f 6d 6d 61 73 20 62 65 74 77 65  ire commas betwe
30a0: 65 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 69  en constraints i
30b0: 6e 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 73  n CREATE TABLE s
30c0: 74 61 74 65 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a  tatements.</li>.
30d0: 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 22 2d  <li>Added the "-
30e0: 65 63 68 6f 22 20 6f 70 74 69 6f 6e 20 74 6f 20  echo" option to 
30f0: 74 68 65 20 73 68 65 6c 6c 2e 3c 2f 6c 69 3e 0a  the shell.</li>.
3100: 3c 6c 69 3e 43 68 61 6e 67 65 73 20 74 6f 20 63  <li>Changes to c
3110: 6f 6d 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a 7d 0a  omments.</li>.}.
3120: 0a 63 68 6e 67 20 7b 32 30 30 30 20 44 65 63 20  .chng {2000 Dec 
3130: 31 30 20 28 31 2e 30 2e 31 37 29 7d 20 7b 0a 3c  10 (1.0.17)} {.<
3140: 6c 69 3e 52 65 77 72 6f 74 65 20 3c 62 3e 73 71  li>Rewrote <b>sq
3150: 6c 69 74 65 5f 63 6f 6d 70 6c 65 74 65 28 29 3c  lite_complete()<
3160: 2f 62 3e 20 74 6f 20 6d 61 6b 65 20 69 74 20 66  /b> to make it f
3170: 61 73 74 65 72 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  aster.</li>.<li>
3180: 4d 69 6e 6f 72 20 74 77 65 61 6b 73 20 74 6f 20  Minor tweaks to 
3190: 6f 74 68 65 72 20 63 6f 64 65 20 74 6f 20 6d 61  other code to ma
31a0: 6b 65 20 69 74 20 72 75 6e 20 61 20 6c 69 74 74  ke it run a litt
31b0: 6c 65 20 66 61 73 74 65 72 2e 3c 2f 6c 69 3e 0a  le faster.</li>.
31c0: 3c 6c 69 3e 41 64 64 65 64 20 6e 65 77 20 74 65  <li>Added new te
31d0: 73 74 73 20 66 6f 72 20 3c 62 3e 73 71 6c 69 74  sts for <b>sqlit
31e0: 65 5f 63 6f 6d 70 6c 65 74 65 28 29 3c 2f 62 3e  e_complete()</b>
31f0: 20 61 6e 64 20 66 6f 72 20 6d 65 6d 6f 72 79 20   and for memory 
3200: 6c 65 61 6b 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  leaks.</li>.}..c
3210: 68 6e 67 20 7b 32 30 30 30 20 44 65 63 20 34 20  hng {2000 Dec 4 
3220: 28 31 2e 30 2e 31 36 29 7d 20 7b 0a 3c 6c 69 3e  (1.0.16)} {.<li>
3230: 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 75 70  Documentation up
3240: 64 61 74 65 73 2e 20 20 4d 6f 73 74 6c 79 20 66  dates.  Mostly f
3250: 69 78 69 6e 67 20 6f 66 20 74 79 70 6f 73 20 61  ixing of typos a
3260: 6e 64 20 73 70 65 6c 6c 69 6e 67 20 65 72 72 6f  nd spelling erro
3270: 72 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  rs.</li>.}..chng
3280: 20 7b 32 30 30 30 20 4f 63 74 20 32 33 20 28 31   {2000 Oct 23 (1
3290: 2e 30 2e 31 35 29 7d 20 7b 0a 3c 6c 69 3e 44 6f  .0.15)} {.<li>Do
32a0: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 75 70 64 61  cumentation upda
32b0: 74 65 73 3c 2f 6c 69 3e 0a 3c 6c 69 3e 53 6f 6d  tes</li>.<li>Som
32c0: 65 20 73 61 6e 69 74 79 20 63 68 65 63 6b 69 6e  e sanity checkin
32d0: 67 20 63 6f 64 65 20 77 61 73 20 72 65 6d 6f 76  g code was remov
32e0: 65 64 20 66 72 6f 6d 20 74 68 65 20 69 6e 6e 65  ed from the inne
32f0: 72 20 6c 6f 6f 70 20 6f 66 20 76 64 62 65 2e 63  r loop of vdbe.c
3300: 0a 20 20 20 20 74 6f 20 68 65 6c 70 20 74 68 65  .    to help the
3310: 20 6c 69 62 72 61 72 79 20 74 6f 20 72 75 6e 20   library to run 
3320: 61 20 6c 69 74 74 6c 65 20 66 61 73 74 65 72 2e  a little faster.
3330: 20 20 54 68 65 20 63 6f 64 65 20 69 73 20 6f 6e    The code is on
3340: 6c 79 0a 20 20 20 20 72 65 6d 6f 76 65 64 20 69  ly.    removed i
3350: 66 20 79 6f 75 20 63 6f 6d 70 69 6c 65 20 77 69  f you compile wi
3360: 74 68 20 2d 44 4e 44 45 42 55 47 2e 3c 2f 6c 69  th -DNDEBUG.</li
3370: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20  >.}..chng {2000 
3380: 4f 63 74 20 31 39 20 28 31 2e 30 2e 31 34 29 7d  Oct 19 (1.0.14)}
3390: 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 61 20 22   {.<li>Added a "
33a0: 6d 65 6d 6f 72 79 3a 22 20 62 61 63 6b 65 6e 64  memory:" backend
33b0: 20 64 72 69 76 65 72 20 74 68 61 74 20 73 74 6f   driver that sto
33c0: 72 65 73 20 69 74 73 20 64 61 74 61 62 61 73 65  res its database
33d0: 20 69 6e 20 61 6e 0a 20 20 20 20 69 6e 2d 6d 65   in an.    in-me
33e0: 6d 6f 72 79 20 68 61 73 68 20 74 61 62 6c 65 2e  mory hash table.
33f0: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
3400: 30 30 30 20 4f 63 74 20 31 38 20 28 31 2e 30 2e  000 Oct 18 (1.0.
3410: 31 33 29 7d 20 7b 0a 3c 6c 69 3e 42 72 65 61 6b  13)} {.<li>Break
3420: 20 6f 75 74 20 74 68 65 20 47 44 42 4d 20 64 72   out the GDBM dr
3430: 69 76 65 72 20 69 6e 74 6f 20 61 20 73 65 70 61  iver into a sepa
3440: 72 61 74 65 20 66 69 6c 65 20 69 6e 20 61 6e 74  rate file in ant
3450: 69 63 69 70 61 74 69 6f 6e 0a 20 20 20 20 74 6f  icipation.    to
3460: 20 61 64 64 65 64 20 6e 65 77 20 64 72 69 76 65   added new drive
3470: 72 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 6c 6c  rs.</li>.<li>All
3480: 6f 77 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61  ow the name of a
3490: 20 64 61 74 61 62 61 73 65 20 74 6f 20 62 65 20   database to be 
34a0: 70 72 65 66 69 78 65 64 20 62 79 20 74 68 65 20  prefixed by the 
34b0: 64 72 69 76 65 72 20 74 79 70 65 2e 0a 20 20 20  driver type..   
34c0: 20 46 6f 72 20 6e 6f 77 2c 20 74 68 65 20 6f 6e   For now, the on
34d0: 6c 79 20 64 72 69 76 65 72 20 74 79 70 65 20 69  ly driver type i
34e0: 73 20 22 67 64 62 6d 3a 22 2e 3c 2f 6c 69 3e 0a  s "gdbm:".</li>.
34f0: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4f 63  }..chng {2000 Oc
3500: 74 20 31 36 20 28 31 2e 30 2e 31 32 29 7d 20 7b  t 16 (1.0.12)} {
3510: 0a 3c 6c 69 3e 46 69 78 65 64 20 61 6e 20 6f 66  .<li>Fixed an of
3520: 66 2d 62 79 2d 6f 6e 65 20 65 72 72 6f 72 20 74  f-by-one error t
3530: 68 61 74 20 77 61 73 20 63 61 75 73 69 6e 67 20  hat was causing 
3540: 61 20 63 6f 72 65 64 75 6d 70 20 69 6e 20 0a 20  a coredump in . 
3550: 20 20 20 74 68 65 20 27 25 71 27 20 66 6f 72 6d     the '%q' form
3560: 61 74 20 64 69 72 65 63 74 69 76 65 20 6f 66 20  at directive of 
3570: 74 68 65 20 6e 65 77 0a 20 20 20 20 3c 62 3e 73  the new.    <b>s
3580: 71 6c 69 74 65 5f 2e 2e 2e 5f 70 72 69 6e 74 66  qlite_..._printf
3590: 28 29 3c 2f 62 3e 20 72 6f 75 74 69 6e 65 73 2e  ()</b> routines.
35a0: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20  </li>.<li>Added 
35b0: 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 5f 69 6e  the <b>sqlite_in
35c0: 74 65 72 72 75 70 74 28 29 3c 2f 62 3e 20 69 6e  terrupt()</b> in
35d0: 74 65 72 66 61 63 65 2e 3c 2f 6c 69 3e 0a 3c 6c  terface.</li>.<l
35e0: 69 3e 49 6e 20 74 68 65 20 73 68 65 6c 6c 2c 20  i>In the shell, 
35f0: 3c 62 3e 73 71 6c 69 74 65 5f 69 6e 74 65 72 72  <b>sqlite_interr
3600: 75 70 74 28 29 3c 2f 62 3e 20 69 73 20 69 6e 76  upt()</b> is inv
3610: 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 0a 20 20  oked when the.  
3620: 20 20 75 73 65 72 20 70 72 65 73 73 65 73 20 43    user presses C
3630: 6f 6e 74 72 6f 6c 2d 43 3c 2f 6c 69 3e 0a 3c 6c  ontrol-C</li>.<l
3640: 69 3e 46 69 78 65 64 20 73 6f 6d 65 20 69 6e 73  i>Fixed some ins
3650: 74 61 6e 63 65 73 20 77 68 65 72 65 20 3c 62 3e  tances where <b>
3660: 73 71 6c 69 74 65 5f 65 78 65 63 28 29 3c 2f 62  sqlite_exec()</b
3670: 3e 20 77 61 73 0a 20 20 20 20 72 65 74 75 72 6e  > was.    return
3680: 69 6e 67 20 74 68 65 20 77 72 6f 6e 67 20 65 72  ing the wrong er
3690: 72 6f 72 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 7d  ror code.</li>.}
36a0: 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4f 63 74  ..chng {2000 Oct
36b0: 20 31 31 20 28 31 2e 30 2e 31 30 29 7d 20 7b 0a   11 (1.0.10)} {.
36c0: 3c 6c 69 3e 41 64 64 65 64 20 6e 6f 74 65 73 20  <li>Added notes 
36d0: 6f 6e 20 68 6f 77 20 74 6f 20 63 6f 6d 70 69 6c  on how to compil
36e0: 65 20 66 6f 72 20 57 69 6e 64 6f 77 73 39 35 2f  e for Windows95/
36f0: 39 38 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 52 65 6d  98.</li>.<li>Rem
3700: 6f 76 65 64 20 61 20 66 65 77 20 76 61 72 69 61  oved a few varia
3710: 62 6c 65 73 20 74 68 61 74 20 77 65 72 65 20 6e  bles that were n
3720: 6f 74 20 62 65 69 6e 67 20 75 73 65 64 2e 20 20  ot being used.  
3730: 45 74 63 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e  Etc.</li>.}..chn
3740: 67 20 7b 32 30 30 30 20 4f 63 74 20 38 20 28 31  g {2000 Oct 8 (1
3750: 2e 30 2e 39 29 7d 20 7b 0a 3c 6c 69 3e 41 64 64  .0.9)} {.<li>Add
3760: 65 64 20 74 68 65 20 3c 62 3e 73 71 6c 69 74 65  ed the <b>sqlite
3770: 5f 2e 2e 2e 5f 70 72 69 6e 74 66 28 29 3c 2f 62  _..._printf()</b
3780: 3e 20 69 6e 74 65 72 66 61 63 65 20 72 6f 75 74  > interface rout
3790: 69 6e 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 4d  ines.</li>.<li>M
37a0: 6f 64 69 66 69 65 64 20 74 68 65 20 3c 62 3e 73  odified the <b>s
37b0: 71 6c 69 74 65 3c 2f 62 3e 20 73 68 65 6c 6c 20  qlite</b> shell 
37c0: 70 72 6f 67 72 61 6d 20 74 6f 20 75 73 65 20 74  program to use t
37d0: 68 65 20 6e 65 77 20 69 6e 74 65 72 66 61 63 65  he new interface
37e0: 20 0a 20 20 20 20 72 6f 75 74 69 6e 65 73 2e 3c   .    routines.<
37f0: 2f 6c 69 3e 0a 3c 6c 69 3e 4d 6f 64 69 66 69 65  /li>.<li>Modifie
3800: 64 20 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 3c  d the <b>sqlite<
3810: 2f 62 3e 20 73 68 65 6c 6c 20 70 72 6f 67 72 61  /b> shell progra
3820: 6d 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 73  m to print the s
3830: 63 68 65 6d 61 20 66 6f 72 0a 20 20 20 20 74 68  chema for.    th
3840: 65 20 62 75 69 6c 74 2d 69 6e 20 53 51 4c 49 54  e built-in SQLIT
3850: 45 5f 4d 41 53 54 45 52 20 74 61 62 6c 65 2c 20  E_MASTER table, 
3860: 69 66 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65  if explicitly re
3870: 71 75 65 73 74 65 64 2e 3c 2f 6c 69 3e 0a 7d 0a  quested.</li>.}.
3880: 0a 63 68 6e 67 20 7b 32 30 30 30 20 53 65 70 20  .chng {2000 Sep 
3890: 33 30 20 28 31 2e 30 2e 38 29 7d 20 7b 0a 3c 6c  30 (1.0.8)} {.<l
38a0: 69 3e 42 65 67 69 6e 20 77 72 69 74 69 6e 67 20  i>Begin writing 
38b0: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e  documentation on
38c0: 20 74 68 65 20 54 43 4c 20 69 6e 74 65 72 66 61   the TCL interfa
38d0: 63 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  ce.</li>.}..chng
38e0: 20 7b 32 30 30 30 20 53 65 70 20 32 39 20 28 4e   {2000 Sep 29 (N
38f0: 6f 74 20 52 65 6c 65 61 73 65 64 29 7d 20 7b 0a  ot Released)} {.
3900: 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 3c 62  <li>Added the <b
3910: 3e 73 71 6c 69 74 65 5f 67 65 74 5f 74 61 62 6c  >sqlite_get_tabl
3920: 65 28 29 3c 2f 62 3e 20 41 50 49 3c 2f 6c 69 3e  e()</b> API</li>
3930: 0a 3c 6c 69 3e 55 70 64 61 74 65 64 20 74 68 65  .<li>Updated the
3940: 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66   documentation f
3950: 6f 72 20 64 75 65 20 74 6f 20 74 68 65 20 61 62  or due to the ab
3960: 6f 76 65 20 63 68 61 6e 67 65 2e 3c 2f 6c 69 3e  ove change.</li>
3970: 0a 3c 6c 69 3e 4d 6f 64 69 66 69 65 64 20 74 68  .<li>Modified th
3980: 65 20 3c 62 3e 73 71 6c 69 74 65 3c 2f 62 3e 20  e <b>sqlite</b> 
3990: 73 68 65 6c 6c 20 74 6f 20 6d 61 6b 65 20 75 73  shell to make us
39a0: 65 20 6f 66 20 74 68 65 20 6e 65 77 0a 20 20 20  e of the new.   
39b0: 20 73 71 6c 69 74 65 5f 67 65 74 5f 74 61 62 6c   sqlite_get_tabl
39c0: 65 28 29 20 41 50 49 20 69 6e 20 6f 72 64 65 72  e() API in order
39d0: 20 74 6f 20 70 72 69 6e 74 20 61 20 6c 69 73 74   to print a list
39e0: 20 6f 66 20 74 61 62 6c 65 73 0a 20 20 20 20 69   of tables.    i
39f0: 6e 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6c 75 6d  n multiple colum
3a00: 6e 73 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 74  ns, similar to t
3a10: 68 65 20 77 61 79 20 22 6c 73 22 20 70 72 69 6e  he way "ls" prin
3a20: 74 73 20 66 69 6c 65 6e 61 6d 65 73 2e 3c 2f 6c  ts filenames.</l
3a30: 69 3e 0a 3c 6c 69 3e 4d 6f 64 69 66 69 65 64 20  i>.<li>Modified 
3a40: 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 3c 2f 62  the <b>sqlite</b
3a50: 3e 20 73 68 65 6c 6c 20 74 6f 20 70 72 69 6e 74  > shell to print
3a60: 20 61 20 73 65 6d 69 63 6f 6c 6f 6e 20 61 74 20   a semicolon at 
3a70: 74 68 65 0a 20 20 20 20 65 6e 64 20 6f 66 20 65  the.    end of e
3a80: 61 63 68 20 43 52 45 41 54 45 20 73 74 61 74 65  ach CREATE state
3a90: 6d 65 6e 74 20 69 6e 20 74 68 65 20 6f 75 74 70  ment in the outp
3aa0: 75 74 20 6f 66 20 74 68 65 20 22 2e 73 63 68 65  ut of the ".sche
3ab0: 6d 61 22 20 63 6f 6d 6d 61 6e 64 2e 3c 2f 6c 69  ma" command.</li
3ac0: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20  >.}..chng {2000 
3ad0: 53 65 70 20 32 31 20 28 4e 6f 74 20 52 65 6c 65  Sep 21 (Not Rele
3ae0: 61 73 65 64 29 7d 20 7b 0a 3c 6c 69 3e 43 68 61  ased)} {.<li>Cha
3af0: 6e 67 65 20 74 68 65 20 74 63 6c 73 71 6c 69 74  nge the tclsqlit
3b00: 65 20 22 65 76 61 6c 22 20 6d 65 74 68 6f 64 20  e "eval" method 
3b10: 74 6f 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74  to return a list
3b20: 20 6f 66 20 72 65 73 75 6c 74 73 20 69 66 0a 20   of results if. 
3b30: 20 20 20 6e 6f 20 63 61 6c 6c 62 61 63 6b 20 73     no callback s
3b40: 63 72 69 70 74 20 69 73 20 73 70 65 63 69 66 69  cript is specifi
3b50: 65 64 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 68 61  ed.</li>.<li>Cha
3b60: 6e 67 65 20 74 63 6c 73 71 6c 69 74 65 2e 63 20  nge tclsqlite.c 
3b70: 74 6f 20 75 73 65 20 74 68 65 20 54 63 6c 5f 4f  to use the Tcl_O
3b80: 62 6a 20 69 6e 74 65 72 66 61 63 65 3c 2f 6c 69  bj interface</li
3b90: 3e 0a 3c 6c 69 3e 41 64 64 20 74 63 6c 73 71 6c  >.<li>Add tclsql
3ba0: 69 74 65 2e 63 20 74 6f 20 74 68 65 20 6c 69 62  ite.c to the lib
3bb0: 73 71 6c 69 74 65 2e 61 20 6c 69 62 72 61 72 79  sqlite.a library
3bc0: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
3bd0: 30 30 30 20 53 65 70 20 31 33 20 28 56 65 72 73  000 Sep 13 (Vers
3be0: 69 6f 6e 20 31 2e 30 2e 35 29 7d 20 7b 0a 3c 6c  ion 1.0.5)} {.<l
3bf0: 69 3e 43 68 61 6e 67 65 64 20 74 68 65 20 70 72  i>Changed the pr
3c00: 69 6e 74 20 66 6f 72 6d 61 74 20 66 6f 72 20 66  int format for f
3c10: 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 76 61  loating point va
3c20: 6c 75 65 73 20 66 72 6f 6d 20 22 25 67 22 20 74  lues from "%g" t
3c30: 6f 20 22 25 2e 31 35 67 22 2e 0a 20 20 20 20 3c  o "%.15g"..    <
3c40: 2f 6c 69 3e 0a 3c 6c 69 3e 43 68 61 6e 67 65 64  /li>.<li>Changed
3c50: 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20   the comparison 
3c60: 66 75 6e 63 74 69 6f 6e 20 73 6f 20 74 68 61 74  function so that
3c70: 20 6e 75 6d 62 65 72 73 20 69 6e 20 65 78 70 6f   numbers in expo
3c80: 6e 65 6e 74 69 61 6c 20 6e 6f 74 61 74 69 6f 6e  nential notation
3c90: 0a 20 20 20 20 28 65 78 3a 20 31 2e 32 33 34 65  .    (ex: 1.234e
3ca0: 2b 30 35 29 20 73 6f 72 74 20 69 6e 20 6e 75 6d  +05) sort in num
3cb0: 65 72 69 63 61 6c 20 6f 72 64 65 72 2e 3c 2f 6c  erical order.</l
3cc0: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
3cd0: 20 41 75 67 20 32 38 20 28 56 65 72 73 69 6f 6e   Aug 28 (Version
3ce0: 20 31 2e 30 2e 34 29 7d 20 7b 0a 3c 6c 69 3e 41   1.0.4)} {.<li>A
3cf0: 64 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 3c  dded functions <
3d00: 62 3e 6c 65 6e 67 74 68 28 29 3c 2f 62 3e 20 61  b>length()</b> a
3d10: 6e 64 20 3c 62 3e 73 75 62 73 74 72 28 29 3c 2f  nd <b>substr()</
3d20: 62 3e 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 69 78  b>.</li>.<li>Fix
3d30: 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 3c 62   a bug in the <b
3d40: 3e 73 71 6c 69 74 65 3c 2f 62 3e 20 73 68 65 6c  >sqlite</b> shel
3d50: 6c 20 70 72 6f 67 72 61 6d 20 74 68 61 74 20 77  l program that w
3d60: 61 73 20 63 61 75 73 69 6e 67 0a 20 20 20 20 61  as causing.    a
3d70: 20 63 6f 72 65 64 75 6d 70 20 77 68 65 6e 20 74   coredump when t
3d80: 68 65 20 6f 75 74 70 75 74 20 6d 6f 64 65 20 77  he output mode w
3d90: 61 73 20 22 63 6f 6c 75 6d 6e 22 20 61 6e 64 20  as "column" and 
3da0: 74 68 65 20 66 69 72 73 74 20 72 6f 77 0a 20 20  the first row.  
3db0: 20 20 6f 66 20 64 61 74 61 20 63 6f 6e 74 61 69    of data contai
3dc0: 6e 65 64 20 61 20 4e 55 4c 4c 2e 3c 2f 6c 69 3e  ned a NULL.</li>
3dd0: 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 41  .}..chng {2000 A
3de0: 75 67 20 32 32 20 28 56 65 72 73 69 6f 6e 20 31  ug 22 (Version 1
3df0: 2e 30 2e 33 29 7d 20 7b 0a 3c 6c 69 3e 49 6e 20  .0.3)} {.<li>In 
3e00: 74 68 65 20 73 71 6c 69 74 65 20 73 68 65 6c 6c  the sqlite shell
3e10: 2c 20 70 72 69 6e 74 20 74 68 65 20 22 44 61 74  , print the "Dat
3e20: 61 62 61 73 65 20 6f 70 65 6e 65 64 20 52 45 41  abase opened REA
3e30: 44 20 4f 4e 4c 59 22 20 6d 65 73 73 61 67 65 0a  D ONLY" message.
3e40: 20 20 20 20 74 6f 20 73 74 64 65 72 72 20 69 6e      to stderr in
3e50: 73 74 65 61 64 20 6f 66 20 73 74 64 6f 75 74 2e  stead of stdout.
3e60: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 49 6e 20 74 68 65  </li>.<li>In the
3e70: 20 73 71 6c 69 74 65 20 73 68 65 6c 6c 2c 20 6e   sqlite shell, n
3e80: 6f 77 20 70 72 69 6e 74 20 74 68 65 20 76 65 72  ow print the ver
3e90: 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 6e 20 69  sion number on i
3ea0: 6e 69 74 69 61 6c 20 73 74 61 72 74 75 70 2e 3c  nitial startup.<
3eb0: 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 20 74 68 65  /li>.<li>Add the
3ec0: 20 3c 62 3e 73 71 6c 69 74 65 5f 76 65 72 73 69   <b>sqlite_versi
3ed0: 6f 6e 5b 5d 3c 2f 62 3e 20 73 74 72 69 6e 67 20  on[]</b> string 
3ee0: 63 6f 6e 73 74 61 6e 74 20 74 6f 20 74 68 65 20  constant to the 
3ef0: 6c 69 62 72 61 72 79 3c 2f 6c 69 3e 0a 3c 6c 69  library</li>.<li
3f00: 3e 4d 61 6b 65 66 69 6c 65 20 75 70 64 61 74 65  >Makefile update
3f10: 73 3c 2f 6c 69 3e 0a 3c 6c 69 3e 42 75 67 20 66  s</li>.<li>Bug f
3f20: 69 78 3a 20 69 6e 63 6f 72 72 65 63 74 20 56 44  ix: incorrect VD
3f30: 42 45 20 63 6f 64 65 20 77 61 73 20 62 65 69 6e  BE code was bein
3f40: 67 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20  g generated for 
3f50: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20  the following.  
3f60: 20 20 63 69 72 63 75 6d 73 74 61 6e 63 65 3a 20    circumstance: 
3f70: 61 20 71 75 65 72 79 20 6f 6e 20 61 6e 20 69 6e  a query on an in
3f80: 64 65 78 65 64 20 74 61 62 6c 65 20 63 6f 6e 74  dexed table cont
3f90: 61 69 6e 69 6e 67 20 61 20 57 48 45 52 45 20 63  aining a WHERE c
3fa0: 6c 61 75 73 65 20 77 69 74 68 0a 20 20 20 20 61  lause with.    a
3fb0: 6e 20 49 4e 20 6f 70 65 72 61 74 6f 72 20 74 68  n IN operator th
3fc0: 61 74 20 68 61 64 20 61 20 73 75 62 71 75 65 72  at had a subquer
3fd0: 79 20 6f 6e 20 69 74 73 20 72 69 67 68 74 2d 68  y on its right-h
3fe0: 61 6e 64 20 73 69 64 65 2e 3c 2f 6c 69 3e 0a 7d  and side.</li>.}
3ff0: 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 41 75 67  ..chng {2000 Aug
4000: 20 31 38 20 28 56 65 72 73 69 6f 6e 20 31 2e 30   18 (Version 1.0
4010: 2e 31 29 7d 20 7b 0a 3c 6c 69 3e 46 69 78 20 61  .1)} {.<li>Fix a
4020: 20 62 75 67 20 69 6e 20 74 68 65 20 63 6f 6e 66   bug in the conf
4030: 69 67 75 72 65 20 73 63 72 69 70 74 2e 3c 2f 6c  igure script.</l
4040: 69 3e 0a 3c 6c 69 3e 4d 69 6e 6f 72 20 72 65 76  i>.<li>Minor rev
4050: 69 73 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 65  isions to the we
4060: 62 73 69 74 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  bsite.</li>.}..c
4070: 68 6e 67 20 7b 32 30 30 30 20 41 75 67 20 31 37  hng {2000 Aug 17
4080: 20 28 56 65 72 73 69 6f 6e 20 31 2e 30 29 7d 20   (Version 1.0)} 
4090: 7b 0a 3c 6c 69 3e 43 68 61 6e 67 65 20 74 68 65  {.<li>Change the
40a0: 20 3c 62 3e 73 71 6c 69 74 65 3c 2f 62 3e 20 70   <b>sqlite</b> p
40b0: 72 6f 67 72 61 6d 20 73 6f 20 74 68 61 74 20 69  rogram so that i
40c0: 74 20 63 61 6e 20 72 65 61 64 0a 20 20 20 20 64  t can read.    d
40d0: 61 74 61 62 61 73 65 73 20 66 6f 72 20 77 68 69  atabases for whi
40e0: 63 68 20 69 74 20 6c 61 63 6b 73 20 77 72 69 74  ch it lacks writ
40f0: 65 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 28  e permission.  (
4100: 49 74 20 75 73 65 64 20 74 6f 0a 20 20 20 20 72  It used to.    r
4110: 65 66 75 73 65 20 61 6c 6c 20 61 63 63 65 73 73  efuse all access
4120: 20 69 66 20 69 74 20 63 6f 75 6c 64 20 6e 6f 74   if it could not
4130: 20 77 72 69 74 65 2e 29 3c 2f 6c 69 3e 0a 7d 0a   write.)</li>.}.
4140: 0a 63 68 6e 67 20 7b 32 30 30 30 20 41 75 67 20  .chng {2000 Aug 
4150: 39 7d 20 7b 0a 3c 6c 69 3e 54 72 65 61 74 20 63  9} {.<li>Treat c
4160: 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 73 20  arriage returns 
4170: 61 73 20 77 68 69 74 65 20 73 70 61 63 65 2e 3c  as white space.<
4180: 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30  /li>.}..chng {20
4190: 30 30 20 41 75 67 20 38 7d 20 7b 0a 3c 6c 69 3e  00 Aug 8} {.<li>
41a0: 41 64 64 65 64 20 70 61 74 74 65 72 6e 20 6d 61  Added pattern ma
41b0: 74 63 68 69 6e 67 20 74 6f 20 74 68 65 20 22 2e  tching to the ".
41c0: 74 61 62 6c 65 22 20 63 6f 6d 6d 61 6e 64 20 69  table" command i
41d0: 6e 20 74 68 65 20 22 73 71 6c 69 74 65 22 0a 63  n the "sqlite".c
41e0: 6f 6d 6d 61 6e 64 20 73 68 65 6c 6c 2e 3c 2f 6c  ommand shell.</l
41f0: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
4200: 20 41 75 67 20 34 7d 20 7b 0a 3c 6c 69 3e 44 6f   Aug 4} {.<li>Do
4210: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 75 70 64 61  cumentation upda
4220: 74 65 73 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64  tes</li>.<li>Add
4230: 65 64 20 22 62 75 73 79 22 20 61 6e 64 20 22 74  ed "busy" and "t
4240: 69 6d 65 6f 75 74 22 20 6d 65 74 68 6f 64 73 20  imeout" methods 
4250: 74 6f 20 74 68 65 20 54 63 6c 20 69 6e 74 65 72  to the Tcl inter
4260: 66 61 63 65 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e  face</li>.}..chn
4270: 67 20 7b 32 30 30 30 20 41 75 67 20 33 7d 20 7b  g {2000 Aug 3} {
4280: 0a 3c 6c 69 3e 46 69 6c 65 20 66 6f 72 6d 61 74  .<li>File format
4290: 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20   version number 
42a0: 77 61 73 20 62 65 69 6e 67 20 73 74 6f 72 65 64  was being stored
42b0: 20 69 6e 20 73 71 6c 69 74 65 5f 6d 61 73 74 65   in sqlite_maste
42c0: 72 2e 74 63 6c 0a 20 20 20 20 6d 75 6c 74 69 70  r.tcl.    multip
42d0: 6c 65 20 74 69 6d 65 73 2e 20 54 68 69 73 20 77  le times. This w
42e0: 61 73 20 68 61 72 6d 6c 65 73 73 2c 20 62 75 74  as harmless, but
42f0: 20 75 6e 6e 65 63 65 73 73 61 72 79 2e 20 49 74   unnecessary. It
4300: 20 69 73 20 6e 6f 77 20 66 69 78 65 64 2e 3c 2f   is now fixed.</
4310: 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30  li>.}..chng {200
4320: 30 20 41 75 67 20 32 7d 20 7b 0a 3c 6c 69 3e 54  0 Aug 2} {.<li>T
4330: 68 65 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 66  he file format f
4340: 6f 72 20 69 6e 64 69 63 65 73 20 77 61 73 20 63  or indices was c
4350: 68 61 6e 67 65 64 20 73 6c 69 67 68 74 6c 79 20  hanged slightly 
4360: 69 6e 20 6f 72 64 65 72 20 74 6f 20 77 6f 72 6b  in order to work
4370: 0a 20 20 20 20 61 72 6f 75 6e 64 20 61 6e 20 69  .    around an i
4380: 6e 65 66 66 69 63 69 65 6e 63 79 20 74 68 61 74  nefficiency that
4390: 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 63   can sometimes c
43a0: 6f 6d 65 20 75 70 20 77 69 74 68 20 47 44 42 4d  ome up with GDBM
43b0: 20 77 68 65 6e 0a 20 20 20 20 74 68 65 72 65 20   when.    there 
43c0: 61 72 65 20 6c 61 72 67 65 20 69 6e 64 69 63 65  are large indice
43d0: 73 20 68 61 76 69 6e 67 20 6d 61 6e 79 20 65 6e  s having many en
43e0: 74 72 69 65 73 20 77 69 74 68 20 74 68 65 20 73  tries with the s
43f0: 61 6d 65 20 6b 65 79 2e 0a 20 20 20 20 3c 66 6f  ame key..    <fo
4400: 6e 74 20 63 6f 6c 6f 72 3d 22 72 65 64 22 3e 2a  nt color="red">*
4410: 2a 20 49 6e 63 6f 6d 70 61 74 69 62 6c 65 20 43  * Incompatible C
4420: 68 61 6e 67 65 20 2a 2a 3c 2f 66 6f 6e 74 3e 3c  hange **</font><
4430: 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30  /li>.}..chng {20
4440: 30 30 20 41 75 67 20 31 7d 20 7b 0a 3c 6c 69 3e  00 Aug 1} {.<li>
4450: 54 68 65 20 70 61 72 73 65 72 27 73 20 73 74 61  The parser's sta
4460: 63 6b 20 77 61 73 20 6f 76 65 72 66 6c 6f 77 69  ck was overflowi
4470: 6e 67 20 6f 6e 20 61 20 76 65 72 79 20 6c 6f 6e  ng on a very lon
4480: 67 20 55 50 44 41 54 45 20 73 74 61 74 65 6d 65  g UPDATE stateme
4490: 6e 74 2e 0a 20 20 20 20 54 68 69 73 20 69 73 20  nt..    This is 
44a0: 6e 6f 77 20 66 69 78 65 64 2e 3c 2f 6c 69 3e 0a  now fixed.</li>.
44b0: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a 75  }..chng {2000 Ju
44c0: 6c 79 20 33 31 7d 20 7b 0a 3c 6c 69 3e 46 69 6e  ly 31} {.<li>Fin
44d0: 69 73 68 20 74 68 65 20 3c 61 20 68 72 65 66 3d  ish the <a href=
44e0: 22 76 64 62 65 2e 68 74 6d 6c 22 3e 56 44 42 45  "vdbe.html">VDBE
44f0: 20 74 75 74 6f 72 69 61 6c 3c 2f 61 3e 2e 3c 2f   tutorial</a>.</
4500: 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 64 6f  li>.<li>Added do
4510: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e 20 63  cumentation on c
4520: 6f 6d 70 69 6c 69 6e 67 20 74 6f 20 57 69 6e 64  ompiling to Wind
4530: 6f 77 73 4e 54 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  owsNT.</li>.<li>
4540: 46 69 78 20 61 20 63 6f 6e 66 69 67 75 72 61 74  Fix a configurat
4550: 69 6f 6e 20 70 72 6f 67 72 61 6d 20 66 6f 72 20  ion program for 
4560: 57 69 6e 64 6f 77 73 4e 54 2e 3c 2f 6c 69 3e 0a  WindowsNT.</li>.
4570: 3c 6c 69 3e 46 69 78 20 61 20 63 6f 6e 66 69 67  <li>Fix a config
4580: 75 72 61 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 20  uration problem 
4590: 66 6f 72 20 48 50 55 58 2e 3c 2f 6c 69 3e 0a 7d  for HPUX.</li>.}
45a0: 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6c  ..chng {2000 Jul
45b0: 79 20 32 39 7d 20 7b 0a 3c 6c 69 3e 42 65 74 74  y 29} {.<li>Bett
45c0: 65 72 20 6c 61 62 65 6c 73 20 6f 6e 20 63 6f 6c  er labels on col
45d0: 75 6d 6e 20 6e 61 6d 65 73 20 6f 66 20 74 68 65  umn names of the
45e0: 20 72 65 73 75 6c 74 2e 3c 2f 6c 69 3e 0a 7d 0a   result.</li>.}.
45f0: 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6c 79  .chng {2000 July
4600: 20 32 38 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64   28} {.<li>Added
4610: 20 74 68 65 20 3c 62 3e 73 71 6c 69 74 65 5f 62   the <b>sqlite_b
4620: 75 73 79 5f 68 61 6e 64 6c 65 72 28 29 3c 2f 62  usy_handler()</b
4630: 3e 20 0a 20 20 20 20 61 6e 64 20 3c 62 3e 73 71  > .    and <b>sq
4640: 6c 69 74 65 5f 62 75 73 79 5f 74 69 6d 65 6f 75  lite_busy_timeou
4650: 74 28 29 3c 2f 62 3e 20 69 6e 74 65 72 66 61 63  t()</b> interfac
4660: 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  e.</li>.}..chng 
4670: 7b 32 30 30 30 20 4a 75 6e 65 20 32 33 7d 20 7b  {2000 June 23} {
4680: 0a 3c 6c 69 3e 42 65 67 69 6e 20 77 72 69 74 69  .<li>Begin writi
4690: 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22  ng the <a href="
46a0: 76 64 62 65 2e 68 74 6d 6c 22 3e 56 44 42 45 20  vdbe.html">VDBE 
46b0: 74 75 74 6f 72 69 61 6c 3c 2f 61 3e 2e 3c 2f 6c  tutorial</a>.</l
46c0: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
46d0: 20 4a 75 6e 65 20 32 31 7d 20 7b 0a 3c 6c 69 3e   June 21} {.<li>
46e0: 43 6c 65 61 6e 20 75 70 20 63 6f 6d 6d 65 6e 74  Clean up comment
46f0: 73 20 61 6e 64 20 76 61 72 69 61 62 6c 65 20 6e  s and variable n
4700: 61 6d 65 73 2e 20 20 43 68 61 6e 67 65 73 20 74  ames.  Changes t
4710: 6f 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e  o documentation.
4720: 0a 20 20 20 20 4e 6f 20 66 75 6e 63 74 69 6f 6e  .    No function
4730: 61 6c 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68  al changes to th
4740: 65 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  e code.</li>.}..
4750: 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20  chng {2000 June 
4760: 31 39 7d 20 7b 0a 3c 6c 69 3e 43 6f 6c 75 6d 6e  19} {.<li>Column
4770: 20 6e 61 6d 65 73 20 69 6e 20 55 50 44 41 54 45   names in UPDATE
4780: 20 73 74 61 74 65 6d 65 6e 74 73 20 77 65 72 65   statements were
4790: 20 63 61 73 65 20 73 65 6e 73 69 74 69 76 65 2e   case sensitive.
47a0: 0a 20 20 20 20 54 68 69 73 20 6d 69 73 74 61 6b  .    This mistak
47b0: 65 20 68 61 73 20 6e 6f 77 20 62 65 65 6e 20 66  e has now been f
47c0: 69 78 65 64 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68  ixed.</li>.}..ch
47d0: 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20 31 36  ng {2000 June 16
47e0: 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68  } {.<li>Added th
47f0: 65 20 63 6f 6e 63 61 74 65 6e 61 74 65 20 73 74  e concatenate st
4800: 72 69 6e 67 20 6f 70 65 72 61 74 6f 72 20 28 7c  ring operator (|
4810: 7c 29 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  |)</li>.}..chng 
4820: 7b 32 30 30 30 20 4a 75 6e 65 20 31 32 7d 20 7b  {2000 June 12} {
4830: 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 66  .<li>Added the f
4840: 63 6e 74 28 29 20 66 75 6e 63 74 69 6f 6e 20 74  cnt() function t
4850: 6f 20 74 68 65 20 53 51 4c 20 69 6e 74 65 72 70  o the SQL interp
4860: 72 65 74 65 72 2e 20 20 54 68 65 20 66 63 6e 74  reter.  The fcnt
4870: 28 29 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20  () function.    
4880: 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62  returns the numb
4890: 65 72 20 6f 66 20 64 61 74 61 62 61 73 65 20 22  er of database "
48a0: 46 65 74 63 68 22 20 6f 70 65 72 61 74 69 6f 6e  Fetch" operation
48b0: 73 20 74 68 61 74 20 68 61 76 65 20 6f 63 63 75  s that have occu
48c0: 72 72 65 64 2e 0a 20 20 20 20 54 68 69 73 20 66  rred..    This f
48d0: 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 73 69 67  unction is desig
48e0: 6e 65 64 20 66 6f 72 20 75 73 65 20 69 6e 20 74  ned for use in t
48f0: 65 73 74 20 73 63 72 69 70 74 73 20 74 6f 20 76  est scripts to v
4900: 65 72 69 66 79 20 74 68 61 74 0a 20 20 20 20 71  erify that.    q
4910: 75 65 72 69 65 73 20 61 72 65 20 65 66 66 69 63  ueries are effic
4920: 69 65 6e 74 20 61 6e 64 20 61 70 70 72 6f 70 72  ient and appropr
4930: 69 61 74 65 6c 79 20 6f 70 74 69 6d 69 7a 65 64  iately optimized
4940: 2e 20 20 46 63 6e 74 28 29 20 68 61 73 20 6e 6f  .  Fcnt() has no
4950: 20 6f 74 68 65 72 0a 20 20 20 20 75 73 65 66 75   other.    usefu
4960: 6c 20 70 75 72 70 6f 73 65 2c 20 61 73 20 66 61  l purpose, as fa
4970: 72 20 61 73 20 49 20 6b 6e 6f 77 2e 3c 2f 6c 69  r as I know.</li
4980: 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 61 20 62 75  >.<li>Added a bu
4990: 6e 63 68 20 6d 6f 72 65 20 74 65 73 74 73 20 74  nch more tests t
49a0: 68 61 74 20 74 61 6b 65 20 61 64 76 61 6e 74 61  hat take advanta
49b0: 67 65 20 6f 66 20 74 68 65 20 6e 65 77 20 66 63  ge of the new fc
49c0: 6e 74 28 29 20 66 75 6e 63 74 69 6f 6e 2e 0a 20  nt() function.. 
49d0: 20 20 20 54 68 65 20 6e 65 77 20 74 65 73 74 73     The new tests
49e0: 20 64 69 64 20 6e 6f 74 20 75 6e 63 6f 76 65 72   did not uncover
49f0: 20 61 6e 79 20 6e 65 77 20 70 72 6f 62 6c 65 6d   any new problem
4a00: 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  s.</li>.}..chng 
4a10: 7b 32 30 30 30 20 4a 75 6e 65 20 38 7d 20 7b 0a  {2000 June 8} {.
4a20: 3c 6c 69 3e 41 64 64 65 64 20 6c 6f 74 73 20 6f  <li>Added lots o
4a30: 66 20 6e 65 77 20 74 65 73 74 20 63 61 73 65 73  f new test cases
4a40: 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 69 78 20 61 20  </li>.<li>Fix a 
4a50: 66 65 77 20 62 75 67 73 20 64 69 73 63 6f 76 65  few bugs discove
4a60: 72 65 64 20 77 68 69 6c 65 20 61 64 64 69 6e 67  red while adding
4a70: 20 74 65 73 74 20 63 61 73 65 73 3c 2f 6c 69 3e   test cases</li>
4a80: 0a 3c 6c 69 3e 42 65 67 69 6e 20 61 64 64 69 6e  .<li>Begin addin
4a90: 67 20 6c 6f 74 73 20 6f 66 20 6e 65 77 20 64 6f  g lots of new do
4aa0: 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 6c 69 3e  cumentation</li>
4ab0: 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a  .}..chng {2000 J
4ac0: 75 6e 65 20 36 7d 20 7b 0a 3c 6c 69 3e 41 64 64  une 6} {.<li>Add
4ad0: 65 64 20 63 6f 6d 70 6f 75 6e 64 20 73 65 6c 65  ed compound sele
4ae0: 63 74 20 6f 70 65 72 61 74 6f 72 73 3a 20 3c 42  ct operators: <B
4af0: 3e 55 4e 49 4f 4e 3c 2f 62 3e 2c 20 3c 62 3e 55  >UNION</b>, <b>U
4b00: 4e 49 4f 4e 20 41 4c 4c 3c 2f 42 3e 2c 0a 3c 62  NION ALL</B>,.<b
4b10: 3e 49 4e 54 45 52 53 45 43 54 3c 2f 62 3e 2c 20  >INTERSECT</b>, 
4b20: 61 6e 64 20 3c 62 3e 45 58 43 45 50 54 3c 2f 62  and <b>EXCEPT</b
4b30: 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64  ></li>.<li>Added
4b40: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75 73 69   support for usi
4b50: 6e 67 20 3c 62 3e 28 53 45 4c 45 43 54 20 2e 2e  ng <b>(SELECT ..
4b60: 2e 29 3c 2f 62 3e 20 77 69 74 68 69 6e 20 65 78  .)</b> within ex
4b70: 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 3c  pressions</li>.<
4b80: 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74  li>Added support
4b90: 20 66 6f 72 20 3c 62 3e 49 4e 3c 2f 62 3e 20 61   for <b>IN</b> a
4ba0: 6e 64 20 3c 62 3e 42 45 54 57 45 45 4e 3c 2f 62  nd <b>BETWEEN</b
4bb0: 3e 20 6f 70 65 72 61 74 6f 72 73 3c 2f 6c 69 3e  > operators</li>
4bc0: 0a 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f  .<li>Added suppo
4bd0: 72 74 20 66 6f 72 20 3c 62 3e 47 52 4f 55 50 20  rt for <b>GROUP 
4be0: 42 59 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 48 41  BY</b> and <b>HA
4bf0: 56 49 4e 47 3c 2f 62 3e 3c 2f 6c 69 3e 0a 3c 6c  VING</b></li>.<l
4c00: 69 3e 4e 55 4c 4c 20 76 61 6c 75 65 73 20 61 72  i>NULL values ar
4c10: 65 20 6e 6f 77 20 72 65 70 6f 72 74 65 64 20 74  e now reported t
4c20: 6f 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 61  o the callback a
4c30: 73 20 61 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72  s a NULL pointer
4c40: 0a 20 20 20 20 72 61 74 68 65 72 20 74 68 61 6e  .    rather than
4c50: 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67   an empty string
4c60: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
4c70: 32 30 30 30 20 4a 75 6e 65 20 33 7d 20 7b 0a 3c  2000 June 3} {.<
4c80: 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74  li>Added support
4c90: 20 66 6f 72 20 64 65 66 61 75 6c 74 20 76 61 6c   for default val
4ca0: 75 65 73 20 6f 6e 20 63 6f 6c 75 6d 6e 73 20 6f  ues on columns o
4cb0: 66 20 61 20 74 61 62 6c 65 2e 3c 2f 6c 69 3e 0a  f a table.</li>.
4cc0: 3c 6c 69 3e 49 6d 70 72 6f 76 65 64 20 74 65 73  <li>Improved tes
4cd0: 74 20 63 6f 76 65 72 61 67 65 2e 20 20 46 69 78  t coverage.  Fix
4ce0: 65 64 20 61 20 66 65 77 20 6f 62 73 63 75 72 65  ed a few obscure
4cf0: 20 62 75 67 73 20 66 6f 75 6e 64 20 62 79 20 74   bugs found by t
4d00: 68 65 0a 69 6d 70 72 6f 76 65 64 20 74 65 73 74  he.improved test
4d10: 73 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  s.</li>.}..chng 
4d20: 7b 32 30 30 30 20 4a 75 6e 65 20 32 7d 20 7b 0a  {2000 June 2} {.
4d30: 3c 6c 69 3e 41 6c 6c 20 64 61 74 61 62 61 73 65  <li>All database
4d40: 20 66 69 6c 65 73 20 74 6f 20 62 65 20 6d 6f 64   files to be mod
4d50: 69 66 69 65 64 20 62 79 20 61 6e 20 55 50 44 41  ified by an UPDA
4d60: 54 45 2c 20 49 4e 53 45 52 54 20 6f 72 20 44 45  TE, INSERT or DE
4d70: 4c 45 54 45 20 61 72 65 20 0a 6e 6f 77 20 6c 6f  LETE are .now lo
4d80: 63 6b 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20  cked before any 
4d90: 63 68 61 6e 67 65 73 20 61 72 65 20 6d 61 64 65  changes are made
4da0: 20 74 6f 20 61 6e 79 20 66 69 6c 65 73 2e 20 20   to any files.  
4db0: 0a 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 73  .This makes it s
4dc0: 61 66 65 20 28 49 20 74 68 69 6e 6b 29 20 74 6f  afe (I think) to
4dd0: 20 61 63 63 65 73 73 0a 74 68 65 20 73 61 6d 65   access.the same
4de0: 20 64 61 74 61 62 61 73 65 20 73 69 6d 75 6c 74   database simult
4df0: 61 6e 65 6f 75 73 6c 79 20 66 72 6f 6d 20 6d 75  aneously from mu
4e00: 6c 74 69 70 6c 65 20 70 72 6f 63 65 73 73 65 73  ltiple processes
4e10: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 65 20 63  .</li>.<li>The c
4e20: 6f 64 65 20 61 70 70 65 61 72 73 20 73 74 61 62  ode appears stab
4e30: 6c 65 20 73 6f 20 77 65 20 61 72 65 20 6e 6f 77  le so we are now
4e40: 20 63 61 6c 6c 69 6e 67 20 69 74 20 22 62 65 74   calling it "bet
4e50: 61 22 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  a".</li>.}..chng
4e60: 20 7b 32 30 30 30 20 4a 75 6e 65 20 31 7d 20 7b   {2000 June 1} {
4e70: 0a 3c 6c 69 3e 42 65 74 74 65 72 20 73 75 70 70  .<li>Better supp
4e80: 6f 72 74 20 66 6f 72 20 66 69 6c 65 20 6c 6f 63  ort for file loc
4e90: 6b 69 6e 67 20 73 6f 20 74 68 61 74 20 74 77 6f  king so that two
4ea0: 20 6f 72 20 6d 6f 72 65 20 70 72 6f 63 65 73 73   or more process
4eb0: 65 73 20 0a 28 6f 72 20 74 68 72 65 61 64 73 29  es .(or threads)
4ec0: 0a 63 61 6e 20 61 63 63 65 73 73 20 74 68 65 20  .can access the 
4ed0: 73 61 6d 65 20 64 61 74 61 62 61 73 65 20 73 69  same database si
4ee0: 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 2e 20 20 4d  multaneously.  M
4ef0: 6f 72 65 20 77 6f 72 6b 20 6e 65 65 64 65 64 20  ore work needed 
4f00: 69 6e 0a 74 68 69 73 20 61 72 65 61 2c 20 74 68  in.this area, th
4f10: 6f 75 67 68 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68  ough.</li>.}..ch
4f20: 6e 67 20 7b 32 30 30 30 20 4d 61 79 20 33 31 7d  ng {2000 May 31}
4f30: 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 73 75 70   {.<li>Added sup
4f40: 70 6f 72 74 20 66 6f 72 20 61 67 67 72 65 67 61  port for aggrega
4f50: 74 65 20 66 75 6e 63 74 69 6f 6e 73 20 28 45 78  te functions (Ex
4f60: 3a 20 3c 62 3e 43 4f 55 4e 54 28 2a 29 3c 2f 62  : <b>COUNT(*)</b
4f70: 3e 2c 20 3c 62 3e 4d 49 4e 28 2e 2e 2e 29 3c 2f  >, <b>MIN(...)</
4f80: 62 3e 29 0a 74 6f 20 74 68 65 20 53 45 4c 45 43  b>).to the SELEC
4f90: 54 20 73 74 61 74 65 6d 65 6e 74 2e 3c 2f 6c 69  T statement.</li
4fa0: 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70  >.<li>Added supp
4fb0: 6f 72 74 20 66 6f 72 20 3c 42 3e 53 45 4c 45 43  ort for <B>SELEC
4fc0: 54 20 44 49 53 54 49 4e 43 54 20 2e 2e 2e 3c 2f  T DISTINCT ...</
4fd0: 42 3e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  B></li>.}..chng 
4fe0: 7b 32 30 30 30 20 4d 61 79 20 33 30 7d 20 7b 0a  {2000 May 30} {.
4ff0: 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 3c 62  <li>Added the <b
5000: 3e 4c 49 4b 45 3c 2f 62 3e 20 6f 70 65 72 61 74  >LIKE</b> operat
5010: 6f 72 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64  or.</li>.<li>Add
5020: 65 64 20 61 20 3c 62 3e 47 4c 4f 42 3c 2f 62 3e  ed a <b>GLOB</b>
5030: 20 6f 70 65 72 61 74 6f 72 3a 20 73 69 6d 69 6c   operator: simil
5040: 61 72 20 74 6f 20 3c 42 3e 4c 49 4b 45 3c 2f 42  ar to <B>LIKE</B
5050: 3e 20 0a 62 75 74 20 69 74 20 75 73 65 73 20 55  > .but it uses U
5060: 6e 69 78 20 73 68 65 6c 6c 20 67 6c 6f 62 62 69  nix shell globbi
5070: 6e 67 20 77 69 6c 64 63 61 72 64 73 20 69 6e 73  ng wildcards ins
5080: 74 65 61 64 20 6f 66 20 74 68 65 20 27 25 27 20  tead of the '%' 
5090: 0a 61 6e 64 20 27 5f 27 20 77 69 6c 64 63 61 72  .and '_' wildcar
50a0: 64 73 20 6f 66 20 53 51 4c 2e 3c 2f 6c 69 3e 0a  ds of SQL.</li>.
50b0: 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 3c 42  <li>Added the <B
50c0: 3e 43 4f 50 59 3c 2f 62 3e 20 63 6f 6d 6d 61 6e  >COPY</b> comman
50d0: 64 20 70 61 74 74 65 72 6e 65 64 20 61 66 74 65  d patterned afte
50e0: 72 20 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70  r .<a href="http
50f0: 3a 2f 2f 77 77 77 2e 70 6f 73 74 67 72 65 73 71  ://www.postgresq
5100: 6c 2e 6f 72 67 2f 22 3e 50 6f 73 74 67 72 65 53  l.org/">PostgreS
5110: 51 4c 3c 2f 61 3e 20 73 6f 20 74 68 61 74 20 53  QL</a> so that S
5120: 51 4c 69 74 65 0a 63 61 6e 20 6e 6f 77 20 72 65  QLite.can now re
5130: 61 64 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66  ad the output of
5140: 20 74 68 65 20 3c 62 3e 70 67 5f 64 75 6d 70 3c   the <b>pg_dump<
5150: 2f 62 3e 20 64 61 74 61 62 61 73 65 20 64 75 6d  /b> database dum
5160: 70 20 75 74 69 6c 69 74 79 0a 6f 66 20 50 6f 73  p utility.of Pos
5170: 74 67 72 65 53 51 4c 2e 3c 2f 6c 69 3e 0a 3c 6c  tgreSQL.</li>.<l
5180: 69 3e 41 64 64 65 64 20 61 20 3c 42 3e 56 41 43  i>Added a <B>VAC
5190: 55 55 4d 3c 2f 42 3e 20 63 6f 6d 6d 61 6e 64 20  UUM</B> command 
51a0: 74 68 61 74 20 74 68 61 74 20 63 61 6c 6c 73 20  that that calls 
51b0: 74 68 65 20 0a 3c 62 3e 67 64 62 6d 5f 72 65 6f  the .<b>gdbm_reo
51c0: 72 67 61 6e 69 7a 65 28 29 3c 2f 62 3e 20 66 75  rganize()</b> fu
51d0: 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 75 6e  nction on the un
51e0: 64 65 72 6c 79 69 6e 67 20 64 61 74 61 62 61 73  derlying databas
51f0: 65 0a 66 69 6c 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c  e.files.</li>.<l
5200: 69 3e 41 6e 64 20 6d 61 6e 79 2c 20 6d 61 6e 79  i>And many, many
5210: 20 62 75 67 20 66 69 78 65 73 2e 2e 2e 3c 2f 6c   bug fixes...</l
5220: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
5230: 20 4d 61 79 20 32 39 7d 20 7b 0a 3c 6c 69 3e 49   May 29} {.<li>I
5240: 6e 69 74 69 61 6c 20 50 75 62 6c 69 63 20 52 65  nitial Public Re
5250: 6c 65 61 73 65 20 6f 66 20 41 6c 70 68 61 20 63  lease of Alpha c
5260: 6f 64 65 3c 2f 6c 69 3e 0a 7d 0a 0a 70 75 74 73  ode</li>.}..puts
5270: 20 7b 0a 3c 2f 44 4c 3e 0a 3c 70 3e 3c 68 72 20   {.</DL>.<p><hr 
5280: 2f 3e 3c 2f 70 3e 0a 3c 70 3e 3c 61 20 68 72 65  /></p>.<p><a hre
5290: 66 3d 22 69 6e 64 65 78 2e 68 74 6d 6c 22 3e 3c  f="index.html"><
52a0: 69 6d 67 20 73 72 63 3d 22 2f 67 6f 62 61 63 6b  img src="/goback
52b0: 2e 6a 70 67 22 20 62 6f 72 64 65 72 3d 30 20 2f  .jpg" border=0 /
52c0: 3e 0a 42 61 63 6b 20 74 6f 20 74 68 65 20 53 51  >.Back to the SQ
52d0: 4c 69 74 65 20 48 6f 6d 65 20 50 61 67 65 3c 2f  Lite Home Page</
52e0: 61 3e 0a 3c 2f 70 3e 0a 0a 3c 2f 62 6f 64 79 3e  a>.</p>..</body>
52f0: 3c 2f 68 74 6d 6c 3e 7d 0a                       </html>}.