/ Hex Artifact Content
Login

Artifact d62039b5387cc0871ec1bd3b15065a7c7d421cb1:


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 30 20 53 65 70 20  .chng {2000 Sep 
0140: 33 30 20 28 31 2e 30 2e 38 29 7d 20 7b 0a 3c 6c  30 (1.0.8)} {.<l
0150: 69 3e 42 65 67 69 6e 20 77 72 69 74 69 6e 67 20  i>Begin writing 
0160: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e  documentation on
0170: 20 74 68 65 20 54 43 4c 20 69 6e 74 65 72 66 61   the TCL interfa
0180: 63 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  ce.</li>.}..chng
0190: 20 7b 32 30 30 30 20 53 65 70 20 32 39 20 28 4e   {2000 Sep 29 (N
01a0: 6f 74 20 52 65 6c 65 61 73 65 64 29 7d 20 7b 0a  ot Released)} {.
01b0: 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 3c 62  <li>Added the <b
01c0: 3e 73 71 6c 69 74 65 5f 67 65 74 5f 74 61 62 6c  >sqlite_get_tabl
01d0: 65 28 29 3c 2f 62 3e 20 41 50 49 3c 2f 6c 69 3e  e()</b> API</li>
01e0: 0a 3c 6c 69 3e 55 70 64 61 74 65 64 20 74 68 65  .<li>Updated the
01f0: 20 64 6f 63 75 6d 74 61 74 69 6f 6e 20 66 6f 72   documtation for
0200: 20 64 75 65 20 74 6f 20 74 68 65 20 61 62 6f 76   due to the abov
0210: 65 20 63 68 61 6e 67 65 2e 3c 2f 6c 69 3e 0a 3c  e change.</li>.<
0220: 6c 69 3e 4d 6f 64 69 66 69 65 64 20 74 68 65 20  li>Modified the 
0230: 3c 62 3e 73 71 6c 69 74 65 3c 2f 62 3e 20 73 68  <b>sqlite</b> sh
0240: 65 6c 6c 20 74 6f 20 6d 61 6b 65 20 75 73 65 20  ell to make use 
0250: 6f 66 20 74 68 65 20 6e 65 77 0a 20 20 20 20 73  of the new.    s
0260: 71 6c 69 74 65 5f 67 65 74 5f 74 61 62 6c 65 28  qlite_get_table(
0270: 29 20 41 50 49 20 69 6e 20 6f 72 64 65 72 20 74  ) API in order t
0280: 6f 20 70 72 69 6e 74 20 61 20 6c 69 73 74 20 6f  o print a list o
0290: 66 20 74 61 62 6c 65 73 0a 20 20 20 20 69 6e 20  f tables.    in 
02a0: 6d 75 6c 74 69 70 6c 65 20 63 6f 6c 75 6d 6e 73  multiple columns
02b0: 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65  , similar to the
02c0: 20 77 61 79 20 22 6c 73 22 20 70 72 69 6e 74 73   way "ls" prints
02d0: 20 66 69 6c 65 6e 61 6d 65 73 2e 3c 2f 6c 69 3e   filenames.</li>
02e0: 0a 3c 6c 69 3e 4d 6f 64 69 66 69 65 64 20 74 68  .<li>Modified th
02f0: 65 20 3c 62 3e 73 71 6c 69 74 65 3c 2f 62 3e 20  e <b>sqlite</b> 
0300: 73 68 65 6c 6c 20 74 6f 20 70 72 69 6e 74 20 61  shell to print a
0310: 20 73 65 6d 69 63 6f 6c 6f 6e 20 61 74 20 74 68   semicolon at th
0320: 65 0a 20 20 20 20 65 6e 64 20 6f 66 20 65 61 63  e.    end of eac
0330: 68 20 43 52 45 41 54 45 20 73 74 61 74 65 6d 65  h CREATE stateme
0340: 6e 74 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74  nt in the output
0350: 20 6f 66 20 74 68 65 20 22 2e 73 63 68 65 6d 61   of the ".schema
0360: 22 20 63 6f 6d 6d 61 6e 64 2e 3c 2f 6c 69 3e 0a  " command.</li>.
0370: 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 53 65  }..chng {2000 Se
0380: 70 20 32 31 20 28 4e 6f 74 20 52 65 6c 65 61 73  p 21 (Not Releas
0390: 65 64 29 7d 20 7b 0a 3c 6c 69 3e 43 68 61 6e 67  ed)} {.<li>Chang
03a0: 65 20 74 68 65 20 74 63 6c 73 71 6c 69 74 65 20  e the tclsqlite 
03b0: 22 65 76 61 6c 22 20 6d 65 74 68 6f 64 20 74 6f  "eval" method to
03c0: 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f   return a list o
03d0: 66 20 72 65 73 75 6c 74 73 20 69 66 0a 20 20 20  f results if.   
03e0: 20 6e 6f 20 63 61 6c 6c 62 61 63 6b 20 73 63 72   no callback scr
03f0: 69 70 74 20 69 73 20 73 70 65 63 69 66 69 65 64  ipt is specified
0400: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 43 68 61 6e 67  .</li>.<li>Chang
0410: 65 20 74 63 6c 73 71 6c 69 74 65 2e 63 20 74 6f  e tclsqlite.c to
0420: 20 75 73 65 20 74 68 65 20 54 63 6c 5f 4f 62 6a   use the Tcl_Obj
0430: 20 69 6e 74 65 72 66 61 63 65 3c 2f 6c 69 3e 0a   interface</li>.
0440: 3c 6c 69 3e 41 64 64 20 74 63 6c 73 71 6c 69 74  <li>Add tclsqlit
0450: 65 2e 63 20 74 6f 20 74 68 65 20 6c 69 62 73 71  e.c to the libsq
0460: 6c 69 74 65 2e 61 20 6c 69 62 72 61 72 79 3c 2f  lite.a library</
0470: 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30  li>.}..chng {200
0480: 30 20 53 65 70 20 31 33 20 28 56 65 72 73 69 6f  0 Sep 13 (Versio
0490: 6e 20 31 2e 30 2e 35 29 7d 20 7b 0a 3c 6c 69 3e  n 1.0.5)} {.<li>
04a0: 43 68 61 6e 67 65 64 20 74 68 65 20 70 72 69 6e  Changed the prin
04b0: 74 20 66 6f 72 6d 61 74 20 66 6f 72 20 66 6c 6f  t format for flo
04c0: 61 74 69 6e 67 20 70 6f 69 6e 74 20 76 61 6c 75  ating point valu
04d0: 65 73 20 66 72 6f 6d 20 22 25 67 22 20 74 6f 20  es from "%g" to 
04e0: 22 25 2e 31 35 67 22 2e 0a 20 20 20 20 3c 2f 6c  "%.15g"..    </l
04f0: 69 3e 0a 3c 6c 69 3e 43 68 61 6e 67 65 64 20 74  i>.<li>Changed t
0500: 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75  he comparison fu
0510: 6e 63 74 69 6f 6e 20 73 6f 20 74 68 61 74 20 6e  nction so that n
0520: 75 6d 62 65 72 73 20 69 6e 20 65 78 70 6f 6e 65  umbers in expone
0530: 6e 74 69 61 6c 20 6e 6f 74 61 74 69 6f 6e 0a 20  ntial notation. 
0540: 20 20 20 28 65 78 3a 20 31 2e 32 33 34 65 2b 30     (ex: 1.234e+0
0550: 35 29 20 73 6f 72 74 20 69 6e 20 6e 75 6d 65 72  5) sort in numer
0560: 69 63 61 6c 20 6f 72 64 65 72 2e 3c 2f 6c 69 3e  ical order.</li>
0570: 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 41  .}..chng {2000 A
0580: 75 67 20 32 38 20 28 56 65 72 73 69 6f 6e 20 31  ug 28 (Version 1
0590: 2e 30 2e 34 29 7d 20 7b 0a 3c 6c 69 3e 41 64 64  .0.4)} {.<li>Add
05a0: 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 3c 62 3e  ed functions <b>
05b0: 6c 65 6e 67 74 68 28 29 3c 2f 62 3e 20 61 6e 64  length()</b> and
05c0: 20 3c 62 3e 73 75 62 73 74 72 28 29 3c 2f 62 3e   <b>substr()</b>
05d0: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 69 78 20 61  .</li>.<li>Fix a
05e0: 20 62 75 67 20 69 6e 20 74 68 65 20 3c 62 3e 73   bug in the <b>s
05f0: 71 6c 69 74 65 3c 2f 62 3e 20 73 68 65 6c 6c 20  qlite</b> shell 
0600: 70 72 6f 67 72 61 6d 20 74 68 61 74 20 77 61 73  program that was
0610: 20 63 61 75 73 69 6e 67 0a 20 20 20 20 61 20 63   causing.    a c
0620: 6f 72 65 64 75 6d 70 20 77 68 65 6e 20 74 68 65  oredump when the
0630: 20 6f 75 74 70 75 74 20 6d 6f 64 65 20 77 61 73   output mode was
0640: 20 22 63 6f 6c 75 6d 6e 22 20 61 6e 64 20 74 68   "column" and th
0650: 65 20 66 69 72 73 74 20 72 6f 77 0a 20 20 20 20  e first row.    
0660: 6f 66 20 64 61 74 61 20 63 6f 6e 74 61 69 6e 65  of data containe
0670: 64 20 61 20 4e 55 4c 4c 2e 3c 2f 6c 69 3e 0a 7d  d a NULL.</li>.}
0680: 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 41 75 67  ..chng {2000 Aug
0690: 20 32 32 20 28 56 65 72 73 69 6f 6e 20 31 2e 30   22 (Version 1.0
06a0: 2e 33 29 7d 20 7b 0a 3c 6c 69 3e 49 6e 20 74 68  .3)} {.<li>In th
06b0: 65 20 73 71 6c 69 74 65 20 73 68 65 6c 6c 2c 20  e sqlite shell, 
06c0: 70 72 69 6e 74 20 74 68 65 20 22 44 61 74 61 62  print the "Datab
06d0: 61 73 65 20 6f 70 65 6e 65 64 20 52 45 41 44 20  ase opened READ 
06e0: 4f 4e 4c 59 22 20 6d 65 73 73 61 67 65 0a 20 20  ONLY" message.  
06f0: 20 20 74 6f 20 73 74 64 65 72 72 20 69 6e 73 74    to stderr inst
0700: 65 61 64 20 6f 66 20 73 74 64 6f 75 74 2e 3c 2f  ead of stdout.</
0710: 6c 69 3e 0a 3c 6c 69 3e 49 6e 20 74 68 65 20 73  li>.<li>In the s
0720: 71 6c 69 74 65 20 73 68 65 6c 6c 2c 20 6e 6f 77  qlite shell, now
0730: 20 70 72 69 6e 74 20 74 68 65 20 76 65 72 73 69   print the versi
0740: 6f 6e 20 6e 75 6d 62 65 72 20 6f 6e 20 69 6e 69  on number on ini
0750: 74 69 61 6c 20 73 74 61 72 74 75 70 2e 3c 2f 6c  tial startup.</l
0760: 69 3e 0a 3c 6c 69 3e 41 64 64 20 74 68 65 20 3c  i>.<li>Add the <
0770: 62 3e 73 71 6c 69 74 65 5f 76 65 72 73 69 6f 6e  b>sqlite_version
0780: 5b 5d 3c 2f 62 3e 20 73 74 72 69 6e 67 20 63 6f  []</b> string co
0790: 6e 73 74 61 6e 74 20 74 6f 20 74 68 65 20 6c 69  nstant to the li
07a0: 62 72 61 72 79 3c 2f 6c 69 3e 0a 3c 6c 69 3e 4d  brary</li>.<li>M
07b0: 61 6b 65 66 69 6c 65 20 75 70 64 61 74 65 73 3c  akefile updates<
07c0: 2f 6c 69 3e 0a 3c 6c 69 3e 42 75 67 20 66 69 78  /li>.<li>Bug fix
07d0: 3a 20 69 6e 63 6f 72 72 65 63 74 20 56 44 42 45  : incorrect VDBE
07e0: 20 63 6f 64 65 20 77 61 73 20 62 65 69 6e 67 20   code was being 
07f0: 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68  generated for th
0800: 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20  e following.    
0810: 63 69 72 63 75 6d 73 74 61 6e 63 65 3a 20 61 20  circumstance: a 
0820: 71 75 65 72 79 20 6f 6e 20 61 6e 20 69 6e 64 65  query on an inde
0830: 78 65 64 20 74 61 62 6c 65 20 63 6f 6e 74 61 69  xed table contai
0840: 6e 69 6e 67 20 61 20 57 48 45 52 45 20 63 6c 61  ning a WHERE cla
0850: 75 73 65 20 77 69 74 68 0a 20 20 20 20 61 6e 20  use with.    an 
0860: 49 4e 20 6f 70 65 72 61 74 6f 72 20 74 68 61 74  IN operator that
0870: 20 68 61 64 20 61 20 73 75 62 71 75 65 72 79 20   had a subquery 
0880: 6f 6e 20 69 74 73 20 72 69 67 68 74 2d 68 61 6e  on its right-han
0890: 64 20 73 69 64 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  d side.</li>.}..
08a0: 63 68 6e 67 20 7b 32 30 30 30 20 41 75 67 20 31  chng {2000 Aug 1
08b0: 38 20 28 56 65 72 73 69 6f 6e 20 31 2e 30 2e 31  8 (Version 1.0.1
08c0: 29 7d 20 7b 0a 3c 6c 69 3e 46 69 78 20 61 20 62  )} {.<li>Fix a b
08d0: 75 67 20 69 6e 20 74 68 65 20 63 6f 6e 66 69 67  ug in the config
08e0: 75 72 65 20 73 63 72 69 70 74 2e 3c 2f 6c 69 3e  ure script.</li>
08f0: 0a 3c 6c 69 3e 4d 69 6e 6f 72 20 72 65 76 69 73  .<li>Minor revis
0900: 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 65 62 73  ions to the webs
0910: 69 74 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e  ite.</li>.}..chn
0920: 67 20 7b 32 30 30 30 20 41 75 67 20 31 37 20 28  g {2000 Aug 17 (
0930: 56 65 72 73 69 6f 6e 20 31 2e 30 29 7d 20 7b 0a  Version 1.0)} {.
0940: 3c 6c 69 3e 43 68 61 6e 67 65 20 74 68 65 20 3c  <li>Change the <
0950: 62 3e 73 71 6c 69 74 65 3c 2f 62 3e 20 70 72 6f  b>sqlite</b> pro
0960: 67 72 61 6d 20 73 6f 20 74 68 61 74 20 69 74 20  gram so that it 
0970: 63 61 6e 20 72 65 61 64 0a 20 20 20 20 64 61 74  can read.    dat
0980: 61 62 61 73 65 73 20 66 6f 72 20 77 68 69 63 68  abases for which
0990: 20 69 74 20 6c 61 63 6b 73 20 77 72 69 74 65 20   it lacks write 
09a0: 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 28 49 74  permission.  (It
09b0: 20 75 73 65 64 20 74 6f 0a 20 20 20 20 72 65 66   used to.    ref
09c0: 75 73 65 20 61 6c 6c 20 61 63 63 65 73 73 20 69  use all access i
09d0: 66 20 69 74 20 63 6f 75 6c 64 20 6e 6f 74 20 77  f it could not w
09e0: 72 69 74 65 2e 29 3c 2f 6c 69 3e 0a 7d 0a 0a 63  rite.)</li>.}..c
09f0: 68 6e 67 20 7b 32 30 30 30 20 41 75 67 20 39 7d  hng {2000 Aug 9}
0a00: 20 7b 0a 3c 6c 69 3e 54 72 65 61 74 20 63 61 72   {.<li>Treat car
0a10: 72 69 61 67 65 20 72 65 74 75 72 6e 73 20 61 73  riage returns as
0a20: 20 77 68 69 74 65 20 73 70 61 63 65 2e 3c 2f 6c   white space.</l
0a30: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
0a40: 20 41 75 67 20 38 7d 20 7b 0a 3c 6c 69 3e 41 64   Aug 8} {.<li>Ad
0a50: 64 65 64 20 70 61 74 74 65 72 6e 20 6d 61 74 63  ded pattern matc
0a60: 68 69 6e 67 20 74 6f 20 74 68 65 20 22 2e 74 61  hing to the ".ta
0a70: 62 6c 65 22 20 63 6f 6d 6d 61 6e 64 20 69 6e 20  ble" command in 
0a80: 74 68 65 20 22 73 71 6c 69 74 65 22 0a 63 6f 6d  the "sqlite".com
0a90: 6d 61 6e 64 20 73 68 65 6c 6c 2e 3c 2f 6c 69 3e  mand shell.</li>
0aa0: 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 41  .}..chng {2000 A
0ab0: 75 67 20 34 7d 20 7b 0a 3c 6c 69 3e 44 6f 63 75  ug 4} {.<li>Docu
0ac0: 6d 65 6e 74 61 74 69 6f 6e 20 75 70 64 61 74 65  mentation update
0ad0: 73 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64  s</li>.<li>Added
0ae0: 20 22 62 75 73 79 22 20 61 6e 64 20 22 74 69 6d   "busy" and "tim
0af0: 65 6f 75 74 22 20 6d 65 74 68 6f 64 73 20 74 6f  eout" methods to
0b00: 20 74 68 65 20 54 63 6c 20 69 6e 74 65 72 66 61   the Tcl interfa
0b10: 63 65 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20  ce</li>.}..chng 
0b20: 7b 32 30 30 30 20 41 75 67 20 33 7d 20 7b 0a 3c  {2000 Aug 3} {.<
0b30: 6c 69 3e 46 69 6c 65 20 66 6f 72 6d 61 74 20 76  li>File format v
0b40: 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 77 61  ersion number wa
0b50: 73 20 62 65 69 6e 67 20 73 74 6f 72 65 64 20 69  s being stored i
0b60: 6e 20 73 71 6c 69 74 65 5f 6d 61 73 74 65 72 2e  n sqlite_master.
0b70: 74 63 6c 0a 20 20 20 20 6d 75 6c 74 69 70 6c 65  tcl.    multiple
0b80: 20 74 69 6d 65 73 2e 20 54 68 69 73 20 77 61 73   times. This was
0b90: 20 68 61 72 6d 6c 65 73 73 2c 20 62 75 74 20 75   harmless, but u
0ba0: 6e 6e 65 63 65 73 73 61 72 79 2e 20 49 74 20 69  nnecessary. It i
0bb0: 73 20 6e 6f 77 20 66 69 78 65 64 2e 3c 2f 6c 69  s now fixed.</li
0bc0: 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20  >.}..chng {2000 
0bd0: 41 75 67 20 32 7d 20 7b 0a 3c 6c 69 3e 54 68 65  Aug 2} {.<li>The
0be0: 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 66 6f 72   file format for
0bf0: 20 69 6e 64 69 63 65 73 20 77 61 73 20 63 68 61   indices was cha
0c00: 6e 67 65 64 20 73 6c 69 67 68 74 6c 79 20 69 6e  nged slightly in
0c10: 20 6f 72 64 65 72 20 74 6f 20 77 6f 72 6b 0a 20   order to work. 
0c20: 20 20 20 61 72 6f 75 6e 64 20 61 6e 20 69 6e 65     around an ine
0c30: 66 66 69 63 69 65 6e 63 79 20 74 68 61 74 20 63  fficiency that c
0c40: 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 63 6f 6d  an sometimes com
0c50: 65 20 75 70 20 77 69 74 68 20 47 44 42 4d 20 77  e up with GDBM w
0c60: 68 65 6e 0a 20 20 20 20 74 68 65 72 65 20 61 72  hen.    there ar
0c70: 65 20 6c 61 72 67 65 20 69 6e 64 69 63 65 73 20  e large indices 
0c80: 68 61 76 69 6e 67 20 6d 61 6e 79 20 65 6e 74 72  having many entr
0c90: 69 65 73 20 77 69 74 68 20 74 68 65 20 73 61 6d  ies with the sam
0ca0: 65 20 6b 65 79 2e 0a 20 20 20 20 3c 66 6f 6e 74  e key..    <font
0cb0: 20 63 6f 6c 6f 72 3d 22 72 65 64 22 3e 2a 2a 20   color="red">** 
0cc0: 49 6e 63 6f 6d 70 61 74 69 62 6c 65 20 43 68 61  Incompatible Cha
0cd0: 6e 67 65 20 2a 2a 3c 2f 66 6f 6e 74 3e 3c 2f 6c  nge **</font></l
0ce0: 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30  i>.}..chng {2000
0cf0: 20 41 75 67 20 31 7d 20 7b 0a 3c 6c 69 3e 54 68   Aug 1} {.<li>Th
0d00: 65 20 70 61 72 73 65 72 27 73 20 73 74 61 63 6b  e parser's stack
0d10: 20 77 61 73 20 6f 76 65 72 66 6c 6f 77 69 6e 67   was overflowing
0d20: 20 6f 6e 20 61 20 76 65 72 79 20 6c 6f 6e 67 20   on a very long 
0d30: 55 50 44 41 54 45 20 73 74 61 74 65 6d 65 6e 74  UPDATE statement
0d40: 2e 0a 20 20 20 20 54 68 69 73 20 69 73 20 6e 6f  ..    This is no
0d50: 77 20 66 69 78 65 64 2e 3c 2f 6c 69 3e 0a 7d 0a  w fixed.</li>.}.
0d60: 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6c 79  .chng {2000 July
0d70: 20 33 31 7d 20 7b 0a 3c 6c 69 3e 46 69 6e 69 73   31} {.<li>Finis
0d80: 68 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 76  h the <a href="v
0d90: 64 62 65 2e 68 74 6d 6c 22 3e 56 44 42 45 20 74  dbe.html">VDBE t
0da0: 75 74 6f 72 69 61 6c 3c 2f 61 3e 2e 3c 2f 6c 69  utorial</a>.</li
0db0: 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 64 6f 63 75  >.<li>Added docu
0dc0: 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e 20 63 6f 6d  mentation on com
0dd0: 70 69 6c 69 6e 67 20 74 6f 20 57 69 6e 64 6f 77  piling to Window
0de0: 73 4e 54 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 46 69  sNT.</li>.<li>Fi
0df0: 78 20 61 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  x a configuratio
0e00: 6e 20 70 72 6f 67 72 61 6d 20 66 6f 72 20 57 69  n program for Wi
0e10: 6e 64 6f 77 73 4e 54 2e 3c 2f 6c 69 3e 0a 3c 6c  ndowsNT.</li>.<l
0e20: 69 3e 46 69 78 20 61 20 63 6f 6e 66 69 67 75 72  i>Fix a configur
0e30: 61 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 20 66 6f  ation problem fo
0e40: 72 20 48 50 55 58 2e 3c 2f 6c 69 3e 0a 7d 0a 0a  r HPUX.</li>.}..
0e50: 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6c 79 20  chng {2000 July 
0e60: 32 39 7d 20 7b 0a 3c 6c 69 3e 42 65 74 74 65 72  29} {.<li>Better
0e70: 20 6c 61 62 65 6c 73 20 6f 6e 20 63 6f 6c 75 6d   labels on colum
0e80: 6e 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 20 72  n names of the r
0e90: 65 73 75 6c 74 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63  esult.</li>.}..c
0ea0: 68 6e 67 20 7b 32 30 30 30 20 4a 75 6c 79 20 32  hng {2000 July 2
0eb0: 38 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74  8} {.<li>Added t
0ec0: 68 65 20 3c 62 3e 73 71 6c 69 74 65 5f 62 75 73  he <b>sqlite_bus
0ed0: 79 5f 68 61 6e 64 6c 65 72 28 29 3c 2f 62 3e 20  y_handler()</b> 
0ee0: 0a 20 20 20 20 61 6e 64 20 3c 62 3e 73 71 6c 69  .    and <b>sqli
0ef0: 74 65 5f 62 75 73 79 5f 74 69 6d 65 6f 75 74 28  te_busy_timeout(
0f00: 29 3c 2f 62 3e 20 69 6e 74 65 72 66 61 63 65 2e  )</b> interface.
0f10: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
0f20: 30 30 30 20 4a 75 6e 65 20 32 33 7d 20 7b 0a 3c  000 June 23} {.<
0f30: 6c 69 3e 42 65 67 69 6e 20 77 72 69 74 69 6e 67  li>Begin writing
0f40: 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 76 64   the <a href="vd
0f50: 62 65 2e 68 74 6d 6c 22 3e 56 44 42 45 20 74 75  be.html">VDBE tu
0f60: 74 6f 72 69 61 6c 3c 2f 61 3e 2e 3c 2f 6c 69 3e  torial</a>.</li>
0f70: 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a  .}..chng {2000 J
0f80: 75 6e 65 20 32 31 7d 20 7b 0a 3c 6c 69 3e 43 6c  une 21} {.<li>Cl
0f90: 65 61 6e 20 75 70 20 63 6f 6d 6d 65 6e 74 73 20  ean up comments 
0fa0: 61 6e 64 20 76 61 72 69 61 62 6c 65 20 6e 61 6d  and variable nam
0fb0: 65 73 2e 20 20 43 68 61 6e 67 65 73 20 74 6f 20  es.  Changes to 
0fc0: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20  documentation.. 
0fd0: 20 20 20 4e 6f 20 66 75 6e 63 74 69 6f 6e 61 6c     No functional
0fe0: 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20   changes to the 
0ff0: 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68  code.</li>.}..ch
1000: 6e 67 20 7b 32 30 30 30 20 4a 75 6e 65 20 31 39  ng {2000 June 19
1010: 7d 20 7b 0a 3c 6c 69 3e 43 6f 6c 75 6d 6e 20 6e  } {.<li>Column n
1020: 61 6d 65 73 20 69 6e 20 55 50 44 41 54 45 20 73  ames in UPDATE s
1030: 74 61 74 65 6d 65 6e 74 73 20 77 65 72 65 20 63  tatements were c
1040: 61 73 65 20 73 65 6e 73 69 74 69 76 65 2e 0a 20  ase sensitive.. 
1050: 20 20 20 54 68 69 73 20 6d 69 73 74 61 6b 65 20     This mistake 
1060: 68 61 73 20 6e 6f 77 20 62 65 65 6e 20 66 69 78  has now been fix
1070: 65 64 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  ed.</li>.}..chng
1080: 20 7b 32 30 30 30 20 4a 75 6e 65 20 31 36 7d 20   {2000 June 16} 
1090: 7b 0a 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20  {.<li>Added the 
10a0: 63 6f 6e 63 61 74 65 6e 61 74 65 20 73 74 72 69  concatenate stri
10b0: 6e 67 20 6f 70 65 72 61 74 6f 72 20 28 7c 7c 29  ng operator (||)
10c0: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
10d0: 30 30 30 20 4a 75 6e 65 20 31 32 7d 20 7b 0a 3c  000 June 12} {.<
10e0: 6c 69 3e 41 64 64 65 64 20 74 68 65 20 66 63 6e  li>Added the fcn
10f0: 74 28 29 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20  t() function to 
1100: 74 68 65 20 53 51 4c 20 69 6e 74 65 72 70 72 65  the SQL interpre
1110: 74 65 72 2e 20 20 54 68 65 20 66 63 6e 74 28 29  ter.  The fcnt()
1120: 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 72 65   function.    re
1130: 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72  turns the number
1140: 20 6f 66 20 64 61 74 61 62 61 73 65 20 22 46 65   of database "Fe
1150: 74 63 68 22 20 6f 70 65 72 61 74 69 6f 6e 73 20  tch" operations 
1160: 74 68 61 74 20 68 61 76 65 20 6f 63 63 75 72 72  that have occurr
1170: 65 64 2e 0a 20 20 20 20 54 68 69 73 20 66 75 6e  ed..    This fun
1180: 63 74 69 6f 6e 20 69 73 20 64 65 73 69 67 6e 65  ction is designe
1190: 64 20 66 6f 72 20 75 73 65 20 69 6e 20 74 65 73  d for use in tes
11a0: 74 20 73 63 72 69 70 74 73 20 74 6f 20 76 65 72  t scripts to ver
11b0: 69 66 79 20 74 68 61 74 0a 20 20 20 20 71 75 65  ify that.    que
11c0: 72 69 65 73 20 61 72 65 20 65 66 66 69 63 69 65  ries are efficie
11d0: 6e 74 20 61 6e 64 20 61 70 70 72 6f 70 72 69 61  nt and appropria
11e0: 74 65 6c 79 20 6f 70 74 69 6d 69 7a 65 64 2e 20  tely optimized. 
11f0: 20 46 63 6e 74 28 29 20 68 61 73 20 6e 6f 20 6f   Fcnt() has no o
1200: 74 68 65 72 0a 20 20 20 20 75 73 65 66 75 6c 20  ther.    useful 
1210: 70 75 72 70 6f 73 65 2c 20 61 73 20 66 61 72 20  purpose, as far 
1220: 61 73 20 49 20 6b 6e 6f 77 2e 3c 2f 6c 69 3e 0a  as I know.</li>.
1230: 3c 6c 69 3e 41 64 64 65 64 20 61 20 62 75 6e 63  <li>Added a bunc
1240: 68 20 6d 6f 72 65 20 74 65 73 74 73 20 74 68 61  h more tests tha
1250: 74 20 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65  t take advantage
1260: 20 6f 66 20 74 68 65 20 6e 65 77 20 66 63 6e 74   of the new fcnt
1270: 28 29 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20  () function..   
1280: 20 54 68 65 20 6e 65 77 20 74 65 73 74 73 20 64   The new tests d
1290: 69 64 20 6e 6f 74 20 75 6e 63 6f 76 65 72 20 61  id not uncover a
12a0: 6e 79 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 2e  ny new problems.
12b0: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
12c0: 30 30 30 20 4a 75 6e 65 20 38 7d 20 7b 0a 3c 6c  000 June 8} {.<l
12d0: 69 3e 41 64 64 65 64 20 6c 6f 74 73 20 6f 66 20  i>Added lots of 
12e0: 6e 65 77 20 74 65 73 74 20 63 61 73 65 73 3c 2f  new test cases</
12f0: 6c 69 3e 0a 3c 6c 69 3e 46 69 78 20 61 20 66 65  li>.<li>Fix a fe
1300: 77 20 62 75 67 73 20 64 69 73 63 6f 76 65 72 65  w bugs discovere
1310: 64 20 77 68 69 6c 65 20 61 64 64 69 6e 67 20 74  d while adding t
1320: 65 73 74 20 63 61 73 65 73 3c 2f 6c 69 3e 0a 3c  est cases</li>.<
1330: 6c 69 3e 42 65 67 69 6e 20 61 64 64 69 6e 67 20  li>Begin adding 
1340: 6c 6f 74 73 20 6f 66 20 6e 65 77 20 64 6f 63 75  lots of new docu
1350: 6d 65 6e 74 61 74 69 6f 6e 3c 2f 6c 69 3e 0a 7d  mentation</li>.}
1360: 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4a 75 6e  ..chng {2000 Jun
1370: 65 20 36 7d 20 7b 0a 3c 6c 69 3e 41 64 64 65 64  e 6} {.<li>Added
1380: 20 63 6f 6d 70 6f 75 6e 64 20 73 65 6c 65 63 74   compound select
1390: 20 6f 70 65 72 61 74 6f 72 73 3a 20 3c 42 3e 55   operators: <B>U
13a0: 4e 49 4f 4e 3c 2f 62 3e 2c 20 3c 62 3e 55 4e 49  NION</b>, <b>UNI
13b0: 4f 4e 20 41 4c 4c 3c 2f 42 3e 2c 0a 3c 62 3e 49  ON ALL</B>,.<b>I
13c0: 4e 54 45 52 53 45 43 54 3c 2f 62 3e 2c 20 61 6e  NTERSECT</b>, an
13d0: 64 20 3c 62 3e 45 58 43 45 50 54 3c 2f 62 3e 3c  d <b>EXCEPT</b><
13e0: 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64 20 73  /li>.<li>Added s
13f0: 75 70 70 6f 72 74 20 66 6f 72 20 75 73 69 6e 67  upport for using
1400: 20 3c 62 3e 28 53 45 4c 45 43 54 20 2e 2e 2e 29   <b>(SELECT ...)
1410: 3c 2f 62 3e 20 77 69 74 68 69 6e 20 65 78 70 72  </b> within expr
1420: 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 3c 6c 69  essions</li>.<li
1430: 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66  >Added support f
1440: 6f 72 20 3c 62 3e 49 4e 3c 2f 62 3e 20 61 6e 64  or <b>IN</b> and
1450: 20 3c 62 3e 42 45 54 57 45 45 4e 3c 2f 62 3e 20   <b>BETWEEN</b> 
1460: 6f 70 65 72 61 74 6f 72 73 3c 2f 6c 69 3e 0a 3c  operators</li>.<
1470: 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74  li>Added support
1480: 20 66 6f 72 20 3c 62 3e 47 52 4f 55 50 20 42 59   for <b>GROUP BY
1490: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 48 41 56 49  </b> and <b>HAVI
14a0: 4e 47 3c 2f 62 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  NG</b></li>.<li>
14b0: 4e 55 4c 4c 20 76 61 6c 75 65 73 20 61 72 65 20  NULL values are 
14c0: 6e 6f 77 20 72 65 70 6f 72 74 65 64 20 6f 74 20  now reported ot 
14d0: 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 61 73 20  the callback as 
14e0: 61 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72 0a 20  a NULL pointer. 
14f0: 20 20 20 72 61 74 68 65 72 20 74 68 61 6e 20 61     rather than a
1500: 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 3c  n empty string.<
1510: 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30  /li>.}..chng {20
1520: 30 30 20 4a 75 6e 65 20 33 7d 20 7b 0a 3c 6c 69  00 June 3} {.<li
1530: 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66  >Added support f
1540: 6f 72 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65  or default value
1550: 73 20 6f 6e 20 63 6f 6c 75 6d 6e 73 20 6f 66 20  s on columns of 
1560: 61 20 74 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 3c 6c  a table.</li>.<l
1570: 69 3e 49 6d 70 72 6f 76 65 64 20 74 65 73 74 20  i>Improved test 
1580: 63 6f 76 65 72 61 67 65 2e 20 20 46 69 78 65 64  coverage.  Fixed
1590: 20 61 20 66 65 77 20 6f 62 73 63 75 72 65 20 62   a few obscure b
15a0: 75 67 73 20 66 6f 75 6e 64 20 62 79 20 74 68 65  ugs found by the
15b0: 0a 69 6d 70 72 6f 76 65 64 20 74 65 73 74 73 2e  .improved tests.
15c0: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
15d0: 30 30 30 20 4a 75 6e 65 20 32 7d 20 7b 0a 3c 6c  000 June 2} {.<l
15e0: 69 3e 41 6c 6c 20 64 61 74 61 62 61 73 65 20 66  i>All database f
15f0: 69 6c 65 73 20 74 6f 20 62 65 20 6d 6f 64 69 66  iles to be modif
1600: 69 65 64 20 62 79 20 61 6e 20 55 50 44 41 54 45  ied by an UPDATE
1610: 2c 20 49 4e 53 45 52 54 20 6f 72 20 44 45 4c 45  , INSERT or DELE
1620: 54 45 20 61 72 65 20 0a 6e 6f 77 20 6c 6f 63 6b  TE are .now lock
1630: 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 63 68  ed before any ch
1640: 61 6e 67 65 73 20 61 72 65 20 6d 61 64 65 20 74  anges are made t
1650: 6f 20 61 6e 79 20 66 69 6c 65 73 2e 20 20 0a 54  o any files.  .T
1660: 68 69 73 20 6d 61 6b 65 73 20 69 74 20 73 61 66  his makes it saf
1670: 65 20 28 49 20 74 68 69 6e 6b 29 20 74 6f 20 61  e (I think) to a
1680: 63 63 65 73 73 0a 74 68 65 20 73 61 6d 65 20 64  ccess.the same d
1690: 61 74 61 62 61 73 65 20 73 69 6d 75 6c 74 61 6e  atabase simultan
16a0: 65 6f 75 73 6c 79 20 66 72 6f 6d 20 6d 75 6c 74  eously from mult
16b0: 69 70 6c 65 20 70 72 6f 63 65 73 73 65 73 2e 3c  iple processes.<
16c0: 2f 6c 69 3e 0a 3c 6c 69 3e 54 68 65 20 63 6f 64  /li>.<li>The cod
16d0: 65 20 61 70 70 65 61 72 73 20 73 74 61 62 6c 65  e appears stable
16e0: 20 73 6f 20 77 65 20 61 72 65 20 6e 6f 77 20 63   so we are now c
16f0: 61 6c 6c 69 6e 67 20 69 74 20 22 62 65 74 61 22  alling it "beta"
1700: 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b  .</li>.}..chng {
1710: 32 30 30 30 20 4a 75 6e 65 20 31 7d 20 7b 0a 3c  2000 June 1} {.<
1720: 6c 69 3e 42 65 74 74 65 72 20 73 75 70 70 6f 72  li>Better suppor
1730: 74 20 66 6f 72 20 66 69 6c 65 20 6c 6f 63 6b 69  t for file locki
1740: 6e 67 20 73 6f 20 74 68 61 74 20 74 77 6f 20 6f  ng so that two o
1750: 72 20 6d 6f 72 65 20 70 72 6f 63 65 73 73 65 73  r more processes
1760: 20 0a 28 6f 72 20 74 68 72 65 61 64 73 29 0a 63   .(or threads).c
1770: 61 6e 20 61 63 63 65 73 73 20 74 68 65 20 73 61  an access the sa
1780: 6d 65 20 64 61 74 61 62 61 73 65 20 73 69 6d 75  me database simu
1790: 6c 74 61 6e 65 6f 75 73 6c 79 2e 20 20 4d 6f 72  ltaneously.  Mor
17a0: 65 20 77 6f 72 6b 20 6e 65 65 64 65 64 20 69 6e  e work needed in
17b0: 0a 74 68 69 73 20 61 72 65 61 2c 20 74 68 6f 75  .this area, thou
17c0: 67 68 2e 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67  gh.</li>.}..chng
17d0: 20 7b 32 30 30 30 20 4d 61 79 20 33 31 7d 20 7b   {2000 May 31} {
17e0: 0a 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f  .<li>Added suppo
17f0: 72 74 20 66 6f 72 20 61 67 67 72 65 67 61 74 65  rt for aggregate
1800: 20 66 75 6e 63 74 69 6f 6e 73 20 28 45 78 3a 20   functions (Ex: 
1810: 3c 62 3e 43 4f 55 4e 54 28 2a 29 3c 2f 62 3e 2c  <b>COUNT(*)</b>,
1820: 20 3c 62 3e 4d 49 4e 28 2e 2e 2e 29 3c 2f 62 3e   <b>MIN(...)</b>
1830: 29 0a 74 6f 20 74 68 65 20 53 45 4c 45 43 54 20  ).to the SELECT 
1840: 73 74 61 74 65 6d 65 6e 74 2e 3c 2f 6c 69 3e 0a  statement.</li>.
1850: 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72  <li>Added suppor
1860: 74 20 66 6f 72 20 3c 42 3e 53 45 4c 45 43 54 20  t for <B>SELECT 
1870: 44 49 53 54 49 4e 43 54 20 2e 2e 2e 3c 2f 42 3e  DISTINCT ...</B>
1880: 3c 2f 6c 69 3e 0a 7d 0a 0a 63 68 6e 67 20 7b 32  </li>.}..chng {2
1890: 30 30 30 20 4d 61 79 20 33 30 7d 20 7b 0a 3c 6c  000 May 30} {.<l
18a0: 69 3e 41 64 64 65 64 20 74 68 65 20 3c 62 3e 4c  i>Added the <b>L
18b0: 49 4b 45 3c 2f 62 3e 20 6f 70 65 72 61 74 6f 72  IKE</b> operator
18c0: 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 41 64 64 65 64  .</li>.<li>Added
18d0: 20 61 20 3c 62 3e 47 4c 4f 42 3c 2f 62 3e 20 6f   a <b>GLOB</b> o
18e0: 70 65 72 61 74 6f 72 3a 20 73 69 6d 69 6c 61 72  perator: similar
18f0: 20 74 6f 20 3c 42 3e 4c 49 4b 45 3c 2f 42 3e 20   to <B>LIKE</B> 
1900: 0a 62 75 74 20 69 74 20 75 73 65 73 20 55 6e 69  .but it uses Uni
1910: 78 20 73 68 65 6c 6c 20 67 6c 6f 62 62 69 6e 67  x shell globbing
1920: 20 77 69 6c 64 63 61 72 64 73 20 69 6e 73 74 65   wildcards inste
1930: 61 64 20 6f 66 20 74 68 65 20 27 25 27 20 0a 61  ad of the '%' .a
1940: 6e 64 20 27 5f 27 20 77 69 6c 64 63 61 72 64 73  nd '_' wildcards
1950: 20 6f 66 20 53 51 4c 2e 3c 2f 6c 69 3e 0a 3c 6c   of SQL.</li>.<l
1960: 69 3e 41 64 64 65 64 20 74 68 65 20 3c 42 3e 43  i>Added the <B>C
1970: 4f 50 59 3c 2f 62 3e 20 63 6f 6d 6d 61 6e 64 20  OPY</b> command 
1980: 70 61 74 74 65 72 6e 65 64 20 61 66 74 65 72 20  patterned after 
1990: 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f  .<a href="http:/
19a0: 2f 77 77 77 2e 70 6f 73 74 67 72 65 73 71 6c 2e  /www.postgresql.
19b0: 6f 72 67 2f 22 3e 50 6f 73 74 67 72 65 53 51 4c  org/">PostgreSQL
19c0: 3c 2f 61 3e 20 73 6f 20 74 68 61 74 20 53 51 4c  </a> so that SQL
19d0: 69 74 65 0a 63 61 6e 20 6e 6f 77 20 72 65 61 64  ite.can now read
19e0: 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 74   the output of t
19f0: 68 65 20 3c 62 3e 70 67 5f 64 75 6d 70 3c 2f 62  he <b>pg_dump</b
1a00: 3e 20 64 61 74 61 62 61 73 65 20 64 75 6d 70 20  > database dump 
1a10: 75 74 69 6c 69 74 79 0a 6f 66 20 50 6f 73 74 67  utility.of Postg
1a20: 72 65 53 51 4c 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  reSQL.</li>.<li>
1a30: 41 64 64 65 64 20 61 20 3c 42 3e 56 41 43 55 55  Added a <B>VACUU
1a40: 4d 3c 2f 42 3e 20 63 6f 6d 6d 61 6e 64 20 74 68  M</B> command th
1a50: 61 74 20 74 68 61 74 20 63 61 6c 6c 73 20 74 68  at that calls th
1a60: 65 20 0a 3c 62 3e 67 64 62 6d 5f 72 65 6f 72 67  e .<b>gdbm_reorg
1a70: 61 6e 69 7a 65 28 29 3c 2f 62 3e 20 66 75 6e 63  anize()</b> func
1a80: 74 69 6f 6e 20 6f 6e 20 74 68 65 20 75 6e 64 65  tion on the unde
1a90: 72 6c 79 69 6e 67 20 64 61 74 61 62 61 73 65 0a  rlying database.
1aa0: 66 69 6c 65 73 2e 3c 2f 6c 69 3e 0a 3c 6c 69 3e  files.</li>.<li>
1ab0: 41 6e 64 20 6d 61 6e 79 2c 20 6d 61 6e 79 20 62  And many, many b
1ac0: 75 67 20 66 69 78 65 73 2e 2e 2e 3c 2f 6c 69 3e  ug fixes...</li>
1ad0: 0a 7d 0a 0a 63 68 6e 67 20 7b 32 30 30 30 20 4d  .}..chng {2000 M
1ae0: 61 79 20 32 39 7d 20 7b 0a 3c 6c 69 3e 49 6e 69  ay 29} {.<li>Ini
1af0: 74 69 61 6c 20 50 75 62 6c 69 63 20 52 65 6c 65  tial Public Rele
1b00: 61 73 65 20 6f 66 20 41 6c 70 68 61 20 63 6f 64  ase of Alpha cod
1b10: 65 3c 2f 6c 69 3e 0a 7d 0a 0a 70 75 74 73 20 7b  e</li>.}..puts {
1b20: 0a 3c 2f 44 4c 3e 0a 3c 70 3e 3c 68 72 20 2f 3e  .</DL>.<p><hr />
1b30: 3c 2f 70 3e 0a 3c 70 3e 3c 61 20 68 72 65 66 3d  </p>.<p><a href=
1b40: 22 69 6e 64 65 78 2e 68 74 6d 6c 22 3e 3c 69 6d  "index.html"><im
1b50: 67 20 73 72 63 3d 22 2f 67 6f 62 61 63 6b 2e 6a  g src="/goback.j
1b60: 70 67 22 20 62 6f 72 64 65 72 3d 30 20 2f 3e 0a  pg" border=0 />.
1b70: 42 61 63 6b 20 74 6f 20 74 68 65 20 53 51 4c 69  Back to the SQLi
1b80: 74 65 20 48 6f 6d 65 20 50 61 67 65 3c 2f 61 3e  te Home Page</a>
1b90: 0a 3c 2f 70 3e 0a 0a 3c 2f 62 6f 64 79 3e 3c 2f  .</p>..</body></
1ba0: 68 74 6d 6c 3e 7d 0a                             html>}.