System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 52fc8c5de302eeb0833f71e15d4ca5d3f1033f6d:


0000: 3c 21 44 4f 43 54 59 50 45 20 48 54 4d 4c 20 50  <!DOCTYPE HTML P
0010: 55 42 4c 49 43 20 22 2d 2f 2f 57 33 43 2f 2f 44  UBLIC "-//W3C//D
0020: 54 44 20 48 54 4d 4c 20 34 2e 30 31 20 54 72 61  TD HTML 4.01 Tra
0030: 6e 73 69 74 69 6f 6e 61 6c 2f 2f 45 4e 22 3e 0d  nsitional//EN">.
0040: 0a 3c 68 74 6d 6c 3e 0d 0a 20 20 3c 68 65 61 64  .<html>..  <head
0050: 3e 0d 0a 20 20 20 20 3c 74 69 74 6c 65 3e 3c 2f  >..    <title></
0060: 74 69 74 6c 65 3e 0d 0a 20 20 3c 2f 68 65 61 64  title>..  </head
0070: 3e 0d 0a 20 20 3c 62 6f 64 79 3e 0d 0a 20 20 20  >..  <body>..   
0080: 20 41 44 4f 2e 4e 45 54 20 34 2e 30 20 53 51 4c   ADO.NET 4.0 SQL
0090: 69 74 65 20 44 61 74 61 20 50 72 6f 76 69 64 65  ite Data Provide
00a0: 72 3c 62 72 3e 0d 0a 20 20 20 20 56 65 72 73 69  r<br>..    Versi
00b0: 6f 6e 20 31 2e 30 2e 36 36 2e 31 20 41 70 72 69  on 1.0.66.1 Apri
00c0: 6c 20 31 38 2c 20 32 30 31 30 3c 62 72 3e 0d 0a  l 18, 2010<br>..
00d0: 20 20 20 20 55 73 69 6e 67 20 53 51 4c 69 74 65      Using SQLite
00e0: 20 33 2e 37 2e 30 2e 31 3c 62 72 3e 0d 0a 20 20   3.7.0.1<br>..  
00f0: 20 20 57 72 69 74 74 65 6e 20 62 79 20 52 6f 62    Written by Rob
0100: 65 72 74 20 53 69 6d 70 73 6f 6e 20 28 3c 61 20  ert Simpson (<a 
0110: 68 72 65 66 3d 22 6d 61 69 6c 74 6f 3a 72 6f 62  href="mailto:rob
0120: 65 72 74 40 62 6c 61 63 6b 63 61 73 74 6c 65 73  ert@blackcastles
0130: 6f 66 74 2e 63 6f 6d 22 3e 72 6f 62 65 72 74 40  oft.com">robert@
0140: 62 6c 61 63 6b 63 61 73 74 6c 65 73 6f 66 74 2e  blackcastlesoft.
0150: 63 6f 6d 3c 2f 61 3e 29 3c 62 72 3e 0d 0a 20 20  com</a>)<br>..  
0160: 20 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74 68    Released to th
0170: 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c  e public domain,
0180: 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e   use at your own
0190: 20 72 69 73 6b 21 3c 62 72 3e 0d 0a 20 20 20 20   risk!<br>..    
01a0: 4f 66 66 69 63 69 61 6c 20 70 72 6f 76 69 64 65  Official provide
01b0: 72 20 77 65 62 73 69 74 65 3a 26 6e 62 73 70 3b  r website:&nbsp;
01c0: 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f   <a href="http:/
01d0: 2f 73 71 6c 69 74 65 2e 70 68 78 73 6f 66 74 77  /sqlite.phxsoftw
01e0: 61 72 65 2e 63 6f 6d 22 3e 68 74 74 70 3a 2f 2f  are.com">http://
01f0: 73 71 6c 69 74 65 2e 70 68 78 73 6f 66 74 77 61  sqlite.phxsoftwa
0200: 72 65 2e 63 6f 6d 3c 2f 61 3e 3c 62 72 20 2f 3e  re.com</a><br />
0210: 0d 0a 20 20 20 20 3c 62 72 3e 0d 0a 20 20 20 20  ..    <br>..    
0220: 54 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69  The latest versi
0230: 6f 6e 20 63 61 6e 20 62 65 20 64 6f 77 6e 6c 6f  on can be downlo
0240: 61 64 65 64 20 3c 61 20 68 72 65 66 3d 22 68 74  aded <a href="ht
0250: 74 70 3a 2f 2f 73 6f 75 72 63 65 66 6f 72 67 65  tp://sourceforge
0260: 2e 6e 65 74 2f 70 72 6f 6a 65 63 74 73 2f 73 71  .net/projects/sq
0270: 6c 69 74 65 2d 64 6f 74 6e 65 74 32 22 3e 0d 0a  lite-dotnet2">..
0280: 20 20 20 20 20 20 68 65 72 65 3c 2f 61 3e 0d 0a        here</a>..
0290: 20 20 20 20 3c 62 72 3e 0d 0a 20 20 20 20 3c 62      <br>..    <b
02a0: 72 3e 0d 0a 20 20 20 20 3c 62 3e 3c 2f 62 3e 0d  r>..    <b></b>.
02b0: 0a 20 20 20 20 3c 68 32 3e 0d 0a 20 20 20 20 20  .    <h2>..     
02c0: 20 3c 62 3e 46 65 61 74 75 72 65 73 3a 3c 2f 62   <b>Features:</b
02d0: 3e 3c 62 72 3e 0d 0a 20 20 20 20 3c 2f 68 32 3e  ><br>..    </h2>
02e0: 0d 0a 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20  ..    <UL>..    
02f0: 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 57 72    <LI>..      Wr
0300: 69 74 74 65 6e 20 66 72 6f 6d 20 73 63 72 61 74  itten from scrat
0310: 63 68 20 6f 6e 20 56 53 32 30 30 38 20 73 70 65  ch on VS2008 spe
0320: 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 41 44  cifically for AD
0330: 4f 2e 4e 45 54 20 32 2e 30 2c 20 69 6d 70 6c 65  O.NET 2.0, imple
0340: 6d 65 6e 74 69 6e 67 20 61 6c 6c 20 74 68 65 0d  menting all the.
0350: 0a 20 20 20 20 20 20 62 61 73 65 20 63 6c 61 73  .      base clas
0360: 73 65 73 20 61 6e 64 20 66 65 61 74 75 72 65 73  ses and features
0370: 20 72 65 63 65 6e 74 6c 79 20 69 6e 74 72 6f 64   recently introd
0380: 75 63 65 64 20 69 6e 20 74 68 65 20 66 72 61 6d  uced in the fram
0390: 65 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67  ework, including
03a0: 20 61 75 74 6f 6d 61 74 69 63 0d 0a 20 20 20 20   automatic..    
03b0: 20 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 65 6e    transaction en
03c0: 6c 69 73 74 6d 65 6e 74 2e 3c 6c 69 3e 53 75 70  listment.<li>Sup
03d0: 70 6f 72 74 73 20 74 68 65 20 46 75 6c 6c 0d 0a  ports the Full..
03e0: 20 20 20 20 20 20 20 20 61 6e 64 20 43 6f 6d 70          and Comp
03f0: 61 63 74 20 2e 4e 45 54 20 46 72 61 6d 65 77 6f  act .NET Framewo
0400: 72 6b 2c 20 61 6e 64 20 6e 61 74 69 76 65 20 43  rk, and native C
0410: 2f 43 2b 2b 20 64 65 76 65 6c 6f 70 6d 65 6e 74  /C++ development
0420: 2e 26 6e 62 73 70 3b 20 31 30 30 25 20 62 69 6e  .&nbsp; 100% bin
0430: 61 72 79 0d 0a 20 20 20 20 20 20 20 20 63 6f 6d  ary..        com
0440: 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65  patible with the
0450: 20 6f 72 69 67 69 6e 61 6c 20 73 71 6c 69 74 65   original sqlite
0460: 33 2e 64 6c 6c 2e 3c 2f 6c 69 3e 0d 0a 20 20 20  3.dll.</li>..   
0470: 20 20 20 3c 6c 69 3e 46 75 6c 6c 20 73 75 70 70     <li>Full supp
0480: 6f 72 74 20 66 6f 72 20 4d 6f 6e 6f 20 76 69 61  ort for Mono via
0490: 20 61 20 26 71 75 6f 74 3b 6d 61 6e 61 67 65 64   a &quot;managed
04a0: 20 6f 6e 6c 79 26 71 75 6f 74 3b 20 70 72 6f 76   only&quot; prov
04b0: 69 64 65 72 20 74 68 61 74 20 72 75 6e 73 20 61  ider that runs a
04c0: 67 61 69 6e 73 74 20 74 68 65 20 0d 0a 20 20 20  gainst the ..   
04d0: 20 20 20 20 20 6f 66 66 69 63 69 61 6c 20 53 51       official SQ
04e0: 4c 69 74 65 20 33 2e 36 2e 31 20 6f 72 20 68 69  Lite 3.6.1 or hi
04f0: 67 68 65 72 20 6c 69 62 72 61 72 79 2e 3c 2f 6c  gher library.</l
0500: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 75  i>..      <li>Fu
0510: 6c 6c 20 45 6e 74 69 74 79 20 46 72 61 6d 65 77  ll Entity Framew
0520: 6f 72 6b 20 73 75 70 70 6f 72 74 20 28 41 44 4f  ork support (ADO
0530: 2e 4e 45 54 20 33 2e 35 20 53 50 31 29 3c 2f 6c  .NET 3.5 SP1)</l
0540: 69 3e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a  i>..      <LI>..
0550: 20 20 20 20 20 20 4f 6e 20 74 68 65 20 43 6f 6d        On the Com
0560: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2c 20  pact Framework, 
0570: 69 74 20 69 73 20 66 61 73 74 65 72 20 74 68 61  it is faster tha
0580: 6e 20 53 71 6c 20 53 65 72 76 65 72 20 0d 0a 20  n Sql Server .. 
0590: 20 20 20 20 20 4d 6f 62 69 6c 65 2e 20 20 53 51       Mobile.  SQ
05a0: 4c 69 74 65 27 73 20 69 6e 73 74 61 6c 6c 65 64  Lite's installed
05b0: 20 73 69 7a 65 20 69 73 20 61 20 66 72 61 63 74   size is a fract
05c0: 69 6f 6e 20 6f 66 20 53 71 6c 20 4d 6f 62 69 6c  ion of Sql Mobil
05d0: 65 27 73 2e 20 49 74 20 75 73 65 73 20 6c 65 73  e's. It uses les
05e0: 73 20 6d 65 6d 6f 72 79 20 61 74 20 72 75 6e 74  s memory at runt
05f0: 69 6d 65 2c 20 72 75 6e 73 20 71 75 65 72 69 65  ime, runs querie
0600: 73 20 66 61 73 74 65 72 2c 20 61 6e 64 20 68 61  s faster, and ha
0610: 73 20 61 20 73 6d 61 6c 6c 65 72 20 64 61 74 61  s a smaller data
0620: 62 61 73 65 20 66 69 6c 65 20 73 69 7a 65 20 61  base file size a
0630: 73 20 77 65 6c 6c 2e 0d 0a 20 20 20 20 20 20 3c  s well...      <
0640: 6c 69 3e 45 6e 63 72 79 70 74 65 64 20 64 61 74  li>Encrypted dat
0650: 61 62 61 73 65 20 73 75 70 70 6f 72 74 2e 26 6e  abase support.&n
0660: 62 73 70 3b 20 45 6e 63 72 79 70 74 65 64 20 64  bsp; Encrypted d
0670: 61 74 61 62 61 73 65 73 20 61 72 65 20 66 75 6c  atabases are ful
0680: 6c 79 20 65 6e 63 72 79 70 74 65 64 20 61 6e 64  ly encrypted and
0690: 0d 0a 20 20 20 20 20 20 20 20 73 75 70 70 6f 72  ..        suppor
06a0: 74 20 62 6f 74 68 20 62 69 6e 61 72 79 20 61 6e  t both binary an
06b0: 64 20 63 6c 65 61 72 74 65 78 74 20 70 61 73 73  d cleartext pass
06c0: 77 6f 72 64 20 74 79 70 65 73 2e 3c 2f 6c 69 3e  word types.</li>
06d0: 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20  ..      <LI>..  
06e0: 20 20 20 20 56 69 73 75 61 6c 20 53 74 75 64 69      Visual Studi
06f0: 6f 20 32 30 30 35 2f 32 30 30 38 20 44 65 73 69  o 2005/2008 Desi
0700: 67 6e 2d 54 69 6d 65 20 53 75 70 70 6f 72 74 2c  gn-Time Support,
0710: 20 77 6f 72 6b 73 20 77 69 74 68 20 61 6c 6c 20   works with all 
0720: 76 65 72 73 69 6f 6e 73 20 6f 66 20 56 53 32 30  versions of VS20
0730: 30 35 2f 32 30 30 38 2c 0d 0a 20 20 20 20 20 20  05/2008,..      
0740: 20 20 69 6e 63 6c 75 64 69 6e 67 0d 0a 20 20 20    including..   
0750: 20 20 20 61 6c 6c 20 45 78 70 72 65 73 73 20 45     all Express E
0760: 64 69 74 69 6f 6e 73 20 6f 66 20 56 53 32 30 30  ditions of VS200
0770: 35 2e 26 6e 62 73 70 3b 20 59 6f 75 20 63 61 6e  5.&nbsp; You can
0780: 20 61 64 64 20 61 20 53 51 4c 69 74 65 20 0d 0a   add a SQLite ..
0790: 20 20 20 20 20 20 64 61 74 61 62 61 73 65 20 74        database t
07a0: 6f 20 74 68 65 20 53 65 72 76 65 72 73 20 6c 69  o the Servers li
07b0: 73 74 2c 20 64 65 73 69 67 6e 20 71 75 65 72 69  st, design queri
07c0: 65 73 20 77 69 74 68 20 74 68 65 20 51 75 65 72  es with the Quer
07d0: 79 20 44 65 73 69 67 6e 65 72 2c 20 0d 0a 20 20  y Designer, ..  
07e0: 20 20 20 20 64 72 61 67 2d 61 6e 64 2d 64 72 6f      drag-and-dro
07f0: 70 20 74 61 62 6c 65 73 20 6f 6e 74 6f 20 61 20  p tables onto a 
0800: 54 79 70 65 64 20 44 61 74 61 53 65 74 2c 20 65  Typed DataSet, e
0810: 74 63 2e 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 20  tc.<LI>..       
0820: 20 46 75 6c 6c 20 53 51 4c 69 74 65 20 73 63 68   Full SQLite sch
0830: 65 6d 61 20 65 64 69 74 69 6e 67 20 69 6e 73 69  ema editing insi
0840: 64 65 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  de Visual Studio
0850: 2e 26 6e 62 73 70 3b 0d 0a 20 20 20 20 20 20 20  .&nbsp;..       
0860: 20 59 6f 75 20 63 61 6e 20 63 72 65 61 74 65 2f   You can create/
0870: 65 64 69 74 20 74 61 62 6c 65 73 2c 20 76 69 65  edit tables, vie
0880: 77 73 2c 20 74 72 69 67 67 65 72 73 2c 20 69 6e  ws, triggers, in
0890: 64 65 78 65 73 2c 20 63 68 65 63 6b 20 63 6f 6e  dexes, check con
08a0: 73 74 72 61 69 6e 74 73 20 61 6e 64 20 66 6f 72  straints and for
08b0: 65 69 67 6e 20 6b 65 79 73 2e 3c 4c 49 3e 0d 0a  eign keys.<LI>..
08c0: 20 20 20 20 20 20 53 69 6e 67 6c 65 20 66 69 6c        Single fil
08d0: 65 20 72 65 64 69 73 74 72 69 62 75 74 61 62 6c  e redistributabl
08e0: 65 20 28 65 78 63 65 70 74 20 6f 6e 20 43 6f 6d  e (except on Com
08f0: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 29 2e  pact Framework).
0900: 26 6e 62 73 70 3b 20 54 68 65 20 63 6f 72 65 20  &nbsp; The core 
0910: 73 71 6c 69 74 65 33 20 63 6f 64 65 62 61 73 65  sqlite3 codebase
0920: 20 61 6e 64 20 74 68 65 20 41 44 4f 2e 4e 45 54   and the ADO.NET
0930: 20 77 72 61 70 70 65 72 20 0d 0a 20 20 20 20 20   wrapper ..     
0940: 20 61 72 65 20 63 6f 6d 62 69 6e 65 64 20 69 6e   are combined in
0950: 74 6f 20 6f 6e 65 20 6d 75 6c 74 69 2d 6d 6f 64  to one multi-mod
0960: 75 6c 65 20 61 73 73 65 6d 62 6c 79 2e 0d 0a 20  ule assembly... 
0970: 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20       <LI>..     
0980: 20 20 20 20 20 20 20 20 20 42 69 6e 61 72 69 65           Binarie
0990: 73 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 49  s included for I
09a0: 74 61 6e 69 75 6d 2c 20 78 36 34 2c 20 78 38 36  tanium, x64, x86
09b0: 20 61 6e 64 20 41 52 4d 20 70 72 6f 63 65 73 73   and ARM process
09c0: 6f 72 73 2e 3c 4c 49 3e 0d 0a 20 20 20 20 20 20  ors.<LI>..      
09d0: 44 62 50 72 6f 76 69 64 65 72 46 61 63 74 6f 72  DbProviderFactor
09e0: 79 20 73 75 70 70 6f 72 74 2e 0d 0a 20 20 20 20  y support...    
09f0: 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 20 20    <LI>..        
0a00: 46 75 6c 6c 20 73 75 70 70 6f 72 74 20 66 6f 72  Full support for
0a10: 20 41 54 54 41 43 48 27 65 64 20 64 61 74 61 62   ATTACH'ed datab
0a20: 61 73 65 73 2e 26 6e 62 73 70 3b 20 45 78 70 6f  ases.&nbsp; Expo
0a30: 73 65 64 20 61 73 20 3c 49 3e 43 61 74 61 6c 6f  sed as <I>Catalo
0a40: 67 73 3c 2f 49 3e 0d 0a 20 20 20 20 20 20 69 6e  gs</I>..      in
0a50: 20 74 68 65 20 73 63 68 65 6d 61 2e 26 6e 62 73   the schema.&nbs
0a60: 70 3b 20 57 68 65 6e 20 63 6c 6f 6e 69 6e 67 20  p; When cloning 
0a70: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 61 6c  a connection, al
0a80: 6c 20 61 74 74 61 63 68 65 64 20 64 61 74 61 62  l attached datab
0a90: 61 73 65 73 20 61 72 65 20 0d 0a 20 20 20 20 20  ases are ..     
0aa0: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72   automatically r
0ab0: 65 2d 61 74 74 61 63 68 65 64 20 74 6f 20 74 68  e-attached to th
0ac0: 65 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e  e new connection
0ad0: 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20  ...      <LI>.. 
0ae0: 20 20 20 20 20 20 20 44 62 43 6f 6e 6e 65 63 74         DbConnect
0af0: 69 6f 6e 2e 47 65 74 53 63 68 65 6d 61 28 2e 2e  ion.GetSchema(..
0b00: 2e 29 20 73 75 70 70 6f 72 74 20 69 6e 63 6c 75  .) support inclu
0b10: 64 65 73 20 3c 49 3e 52 65 73 65 72 76 65 64 57  des <I>ReservedW
0b20: 6f 72 64 73 2c 20 4d 65 74 61 44 61 74 61 43 6f  ords, MetaDataCo
0b30: 6c 6c 65 63 74 69 6f 6e 73 3c 2f 49 3e 2c 20 3c  llections</I>, <
0b40: 49 3e 44 61 74 61 53 6f 75 72 63 65 49 6e 66 6f  I>DataSourceInfo
0b50: 72 6d 61 74 69 6f 6e 3c 2f 49 3e 2c 0d 0a 20 20  rmation</I>,..  
0b60: 20 20 20 20 20 20 3c 49 3e 44 61 74 61 54 79 70        <I>DataTyp
0b70: 65 73 2c 20 43 6f 6c 75 6d 6e 73 3c 2f 49 3e 2c  es, Columns</I>,
0b80: 20 3c 49 3e 54 61 62 6c 65 73 3c 2f 49 3e 2c 20   <I>Tables</I>, 
0b90: 3c 49 3e 56 69 65 77 73 2c 20 56 69 65 77 43 6f  <I>Views, ViewCo
0ba0: 6c 75 6d 6e 73 2c 20 3c 2f 49 3e 3c 49 3e 43 61  lumns, </I><I>Ca
0bb0: 74 61 6c 6f 67 73 2c 20 3c 2f 49 3e 3c 49 3e 49  talogs, </I><I>I
0bc0: 6e 64 65 78 65 73 2c 20 0d 0a 20 20 20 20 20 20  ndexes, ..      
0bd0: 20 20 20 20 49 6e 64 65 78 43 6f 6c 75 6d 6e 73      IndexColumns
0be0: 2c 20 3c 2f 49 3e 3c 45 4d 3e 46 6f 72 65 69 67  , </I><EM>Foreig
0bf0: 6e 4b 65 79 73 20 3c 2f 45 4d 3e 61 6e 64 3c 45  nKeys </EM>and<E
0c00: 4d 3e 20 54 72 69 67 67 65 72 73 3c 2f 45 4d 3e  M> Triggers</EM>
0c10: 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20  ...      <LI>.. 
0c20: 20 20 20 20 20 45 6e 68 61 6e 63 65 64 20 44 62       Enhanced Db
0c30: 44 61 74 61 52 65 61 64 65 72 2e 47 65 74 53 63  DataReader.GetSc
0c40: 68 65 6d 61 54 61 62 6c 65 28 29 20 66 75 6e 63  hemaTable() func
0c50: 74 69 6f 6e 61 6c 69 74 79 20 72 65 74 75 72 6e  tionality return
0c60: 73 20 63 61 74 61 6c 6f 67 2c 20 6e 61 6d 65 73  s catalog, names
0c70: 70 61 63 65 20 0d 0a 20 20 20 20 20 20 61 6e 64  pace ..      and
0c80: 20 64 65 74 61 69 6c 65 64 20 73 63 68 65 6d 61   detailed schema
0c90: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 65 76 65   information eve
0ca0: 6e 20 66 6f 72 20 63 6f 6d 70 6c 65 78 20 71 75  n for complex qu
0cb0: 65 72 69 65 73 2e 0d 0a 20 20 20 20 20 20 3c 4c  eries...      <L
0cc0: 49 3e 0d 0a 20 20 20 20 20 20 4e 61 6d 65 64 20  I>..      Named 
0cd0: 61 6e 64 20 75 6e 6e 61 6d 65 64 20 70 61 72 61  and unnamed para
0ce0: 6d 65 74 65 72 73 2e 0d 0a 20 20 20 20 20 20 3c  meters...      <
0cf0: 4c 49 3e 0d 0a 20 20 20 20 20 20 46 75 6c 6c 20  LI>..      Full 
0d00: 55 54 46 2d 38 20 61 6e 64 20 55 54 46 2d 31 36  UTF-8 and UTF-16
0d10: 20 73 75 70 70 6f 72 74 2c 20 65 61 63 68 20 77   support, each w
0d20: 69 74 68 20 6f 70 74 69 6d 69 7a 65 64 20 70 69  ith optimized pi
0d30: 70 65 6c 69 6e 65 73 20 69 6e 74 6f 20 74 68 65  pelines into the
0d40: 20 6e 61 74 69 76 65 20 0d 0a 20 20 20 20 20 20   native ..      
0d50: 64 61 74 61 62 61 73 65 20 63 6f 72 65 2e 0d 0a  database core...
0d60: 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
0d70: 20 20 4d 75 6c 74 69 70 6c 65 20 73 69 6d 75 6c    Multiple simul
0d80: 74 61 6e 65 6f 75 73 20 44 61 74 61 52 65 61 64  taneous DataRead
0d90: 65 72 73 20 28 6f 6e 65 20 44 61 74 61 52 65 61  ers (one DataRea
0da0: 64 65 72 20 70 65 72 20 43 6f 6d 6d 61 6e 64 20  der per Command 
0db0: 68 6f 77 65 76 65 72 29 2e 0d 0a 20 20 20 20 20  however)...     
0dc0: 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 46 75 6c   <LI>..      Ful
0dd0: 6c 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75 73  l support for us
0de0: 65 72 2d 64 65 66 69 6e 65 64 20 73 63 61 6c 61  er-defined scala
0df0: 72 20 61 6e 64 20 61 67 67 72 65 67 61 74 65 20  r and aggregate 
0e00: 66 75 6e 63 74 69 6f 6e 73 2c 20 65 6e 63 61 70  functions, encap
0e10: 73 75 6c 61 74 65 64 20 69 6e 74 6f 20 0d 0a 20  sulated into .. 
0e20: 20 20 20 20 20 61 6e 20 65 61 73 79 2d 74 6f 2d       an easy-to-
0e30: 75 73 65 20 62 61 73 65 20 63 6c 61 73 73 20 69  use base class i
0e40: 6e 20 77 68 69 63 68 20 6f 6e 6c 79 20 61 20 63  n which only a c
0e50: 6f 75 70 6c 65 20 6f 66 20 6f 76 65 72 72 69 64  ouple of overrid
0e60: 65 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79  es are necessary
0e70: 20 74 6f 20 0d 0a 20 20 20 20 20 20 69 6d 70 6c   to ..      impl
0e80: 65 6d 65 6e 74 20 6e 65 77 20 53 51 4c 20 66 75  ement new SQL fu
0e90: 6e 63 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 20 20  nctions...      
0ea0: 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 46 75 6c 6c  <LI>..      Full
0eb0: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75 73 65   support for use
0ec0: 72 2d 64 65 66 69 6e 65 64 20 63 6f 6c 6c 61 74  r-defined collat
0ed0: 69 6e 67 20 73 65 71 75 65 6e 63 65 73 2c 20 65  ing sequences, e
0ee0: 76 65 72 79 20 62 69 74 20 61 73 20 73 69 6d 70  very bit as simp
0ef0: 6c 65 20 74 6f 20 0d 0a 20 20 20 20 20 20 69 6d  le to ..      im
0f00: 70 6c 65 6d 65 6e 74 20 61 73 20 75 73 65 72 2d  plement as user-
0f10: 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e  defined function
0f20: 73 20 61 6e 64 20 75 73 65 73 20 74 68 65 20 73  s and uses the s
0f30: 61 6d 65 20 62 61 73 65 20 63 6c 61 73 73 2e 0d  ame base class..
0f40: 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20  .      <LI>..   
0f50: 20 20 20 20 20 46 75 6c 6c 20 73 6f 75 72 63 65       Full source
0f60: 20 66 6f 72 20 74 68 65 20 65 6e 74 69 72 65 20   for the entire 
0f70: 65 6e 67 69 6e 65 20 61 6e 64 20 77 72 61 70 70  engine and wrapp
0f80: 65 72 2e 26 6e 62 73 70 3b 20 4e 6f 20 63 6f 70  er.&nbsp; No cop
0f90: 79 72 69 67 68 74 73 2e 26 6e 62 73 70 3b 20 0d  yrights.&nbsp; .
0fa0: 0a 20 20 20 20 20 20 20 20 50 75 62 6c 69 63 20  .        Public 
0fb0: 44 6f 6d 61 69 6e 2e 26 6e 62 73 70 3b 20 31 30  Domain.&nbsp; 10
0fc0: 30 25 20 66 72 65 65 20 66 6f 72 20 63 6f 6d 6d  0% free for comm
0fd0: 65 72 63 69 61 6c 20 61 6e 64 20 6e 6f 6e 2d 63  ercial and non-c
0fe0: 6f 6d 6d 65 72 63 69 61 6c 20 75 73 65 2e 26 6e  ommercial use.&n
0ff0: 62 73 70 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0d 0a  bsp;</LI></UL>..
1000: 20 20 20 20 3c 73 74 72 6f 6e 67 3e 3c 2f 73 74      <strong></st
1010: 72 6f 6e 67 3e 0d 0a 20 20 20 20 3c 68 32 3e 0d  rong>..    <h2>.
1020: 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 44  .      <strong>D
1030: 65 73 69 67 6e 2d 54 69 6d 65 20 53 75 70 70 6f  esign-Time Suppo
1040: 72 74 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 68 32 3e  rt</strong></h2>
1050: 0d 0a 20 20 20 20 3c 50 3e 0d 0a 20 20 20 20 20  ..    <P>..     
1060: 20 49 6e 20 57 69 6e 64 6f 77 73 20 45 78 70 6c   In Windows Expl
1070: 6f 72 65 72 2c 20 6e 61 76 69 67 61 74 65 20 74  orer, navigate t
1080: 6f 20 74 68 65 20 3c 53 54 52 4f 4e 47 3e 53 51  o the <STRONG>SQ
1090: 4c 69 74 65 2e 4e 45 54 5c 62 69 6e 5c 44 65 73  Lite.NET\bin\Des
10a0: 69 67 6e 65 72 3c 2f 53 54 52 4f 4e 47 3e 0d 0a  igner</STRONG>..
10b0: 20 20 20 20 20 20 20 20 66 6f 6c 64 65 72 20 61          folder a
10c0: 6e 64 20 65 78 65 63 75 74 65 20 74 68 65 20 3c  nd execute the <
10d0: 53 54 52 4f 4e 47 3e 49 4e 53 54 41 4c 4c 2e 45  STRONG>INSTALL.E
10e0: 58 45 3c 2f 53 54 52 4f 4e 47 3e 0d 0a 20 20 20  XE</STRONG>..   
10f0: 20 20 20 66 69 6c 65 2e 26 6e 62 73 70 3b 20 54     file.&nbsp; T
1100: 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 0d  he program will.
1110: 0a 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69 63  .      automatic
1120: 61 6c 6c 79 20 64 65 74 65 63 74 20 77 68 61 74  ally detect what
1130: 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20 56   version(s) of V
1140: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 30  isual Studio 200
1150: 35 2f 32 30 30 38 20 61 72 65 20 69 6e 73 74 61  5/2008 are insta
1160: 6c 6c 65 64 20 61 6e 64 20 61 6c 6c 6f 77 0d 0a  lled and allow..
1170: 20 20 20 20 20 20 79 6f 75 20 74 6f 20 73 65 6c        you to sel
1180: 65 63 74 69 76 65 6c 79 20 69 6e 73 74 61 6c 6c  ectively install
1190: 20 61 6e 64 20 75 6e 69 6e 73 74 61 6c 6c 20 74   and uninstall t
11a0: 68 65 20 64 65 73 69 67 6e 65 72 20 66 6f 72 20  he designer for 
11b0: 65 61 63 68 20 65 64 69 74 69 6f 6e 2e 3c 2f 50  each edition.</P
11c0: 3e 0d 0a 20 20 20 20 3c 48 32 3e 3c 53 54 52 4f  >..    <H2><STRO
11d0: 4e 47 3e 44 62 46 61 63 74 6f 72 79 20 53 75 70  NG>DbFactory Sup
11e0: 70 6f 72 74 20 28 4e 6f 6e 2d 43 6f 6d 70 61 63  port (Non-Compac
11f0: 74 20 46 72 61 6d 65 77 6f 72 6b 29 3c 2f 53 54  t Framework)</ST
1200: 52 4f 4e 47 3e 3c 2f 48 32 3e 0d 0a 20 20 20 20  RONG></H2>..    
1210: 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20  In order to use 
1220: 74 68 65 20 53 51 4c 69 74 65 46 61 63 74 6f 72  the SQLiteFactor
1230: 79 20 61 6e 64 20 68 61 76 65 20 74 68 65 20 53  y and have the S
1240: 51 4c 69 74 65 20 64 61 74 61 20 70 72 6f 76 69  QLite data provi
1250: 64 65 72 20 65 6e 75 6d 65 72 61 74 65 64 20 0d  der enumerated .
1260: 0a 20 20 20 20 69 6e 20 74 68 65 20 44 62 50 72  .    in the DbPr
1270: 6f 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 20  oviderFactories 
1280: 6d 65 74 68 6f 64 73 2c 20 79 6f 75 20 6d 75 73  methods, you mus
1290: 74 20 61 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77  t add the follow
12a0: 69 6e 67 20 73 65 67 6d 65 6e 74 20 69 6e 74 6f  ing segment into
12b0: 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f   your applicatio
12c0: 6e 27 73 20 61 70 70 2e 63 6f 6e 66 69 67 20 66  n's app.config f
12d0: 69 6c 65 3a 3c 62 72 3e 0d 0a 20 20 20 20 3c 62  ile:<br>..    <b
12e0: 72 3e 0d 0a 20 20 20 20 3c 70 72 65 3e 26 6c 74  r>..    <pre>&lt
12f0: 3b 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 26 67  ;configuration&g
1300: 74 3b 0d 0a 20 20 26 6c 74 3b 73 79 73 74 65 6d  t;..  &lt;system
1310: 2e 64 61 74 61 26 67 74 3b 0d 0a 20 20 20 20 26  .data&gt;..    &
1320: 6c 74 3b 44 62 50 72 6f 76 69 64 65 72 46 61 63  lt;DbProviderFac
1330: 74 6f 72 69 65 73 26 67 74 3b 0d 0a 20 20 20 20  tories&gt;..    
1340: 20 20 26 6c 74 3b 72 65 6d 6f 76 65 20 69 6e 76    &lt;remove inv
1350: 61 72 69 61 6e 74 3d 22 53 79 73 74 65 6d 2e 44  ariant="System.D
1360: 61 74 61 2e 53 51 4c 69 74 65 22 2f 26 67 74 3b  ata.SQLite"/&gt;
1370: 0d 0a 20 20 20 20 20 20 26 6c 74 3b 61 64 64 20  ..      &lt;add 
1380: 6e 61 6d 65 3d 22 53 51 4c 69 74 65 20 44 61 74  name="SQLite Dat
1390: 61 20 50 72 6f 76 69 64 65 72 22 20 69 6e 76 61  a Provider" inva
13a0: 72 69 61 6e 74 3d 22 53 79 73 74 65 6d 2e 44 61  riant="System.Da
13b0: 74 61 2e 53 51 4c 69 74 65 22 20 64 65 73 63 72  ta.SQLite" descr
13c0: 69 70 74 69 6f 6e 3d 22 2e 4e 65 74 20 46 72 61  iption=".Net Fra
13d0: 6d 65 77 6f 72 6b 20 44 61 74 61 20 50 72 6f 76  mework Data Prov
13e0: 69 64 65 72 20 66 6f 72 20 53 51 4c 69 74 65 22  ider for SQLite"
13f0: 3c 42 52 20 3e 20 74 79 70 65 3d 22 53 79 73 74  <BR > type="Syst
1400: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 53  em.Data.SQLite.S
1410: 51 4c 69 74 65 46 61 63 74 6f 72 79 2c 20 53 79  QLiteFactory, Sy
1420: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
1430: 22 20 2f 26 67 74 3b 0d 0a 20 20 20 20 26 6c 74  " /&gt;..    &lt
1440: 3b 2f 44 62 50 72 6f 76 69 64 65 72 46 61 63 74  ;/DbProviderFact
1450: 6f 72 69 65 73 26 67 74 3b 0d 0a 20 20 26 6c 74  ories&gt;..  &lt
1460: 3b 2f 73 79 73 74 65 6d 2e 64 61 74 61 26 67 74  ;/system.data&gt
1470: 3b 0d 0a 26 6c 74 3b 2f 63 6f 6e 66 69 67 75 72  ;..&lt;/configur
1480: 61 74 69 6f 6e 26 67 74 3b 0d 0a 3c 2f 70 72 65  ation&gt;..</pre
1490: 3e 0d 0a 20 20 20 20 3c 70 3e 53 65 65 20 74 68  >..    <p>See th
14a0: 65 20 68 65 6c 70 20 64 6f 63 75 6d 65 6e 74 61  e help documenta
14b0: 74 69 6f 6e 20 66 6f 72 20 66 75 72 74 68 65 72  tion for further
14c0: 20 64 65 74 61 69 6c 73 20 6f 6e 20 69 6d 70 6c   details on impl
14d0: 65 6d 65 6e 74 69 6e 67 20 62 6f 74 68 20 76 65  ementing both ve
14e0: 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 28  rsion-specific (
14f0: 47 41 43 20 65 6e 61 62 6c 65 64 29 20 61 6e 64  GAC enabled) and
1500: 20 76 65 72 73 69 6f 6e 20 69 6e 64 65 70 65 6e   version indepen
1510: 64 65 6e 74 20 44 42 50 72 6f 76 69 64 65 72 46  dent DBProviderF
1520: 61 63 74 6f 72 69 65 73 20 73 75 70 70 6f 72 74  actories support
1530: 2e 0d 0a 20 20 20 20 20 20 3c 2f 70 3e 0d 0a 20  ...      </p>.. 
1540: 20 20 20 3c 68 33 3e 0d 0a 20 20 20 20 20 20 43     <h3>..      C
1550: 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65  ompiling for the
1560: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
1570: 72 6b 3c 2f 68 33 3e 0d 0a 20 20 20 20 3c 70 3e  rk</h3>..    <p>
1580: 0d 0a 20 20 20 20 20 20 4a 75 73 74 20 63 68 61  ..      Just cha
1590: 6e 67 65 20 74 68 65 20 74 61 72 67 65 74 20 70  nge the target p
15a0: 6c 61 74 66 6f 72 6d 20 66 72 6f 6d 20 57 69 6e  latform from Win
15b0: 33 32 20 74 6f 20 43 6f 6d 70 61 63 74 20 46 72  32 to Compact Fr
15c0: 61 6d 65 77 6f 72 6b 20 61 6e 64 20 0d 0a 20 20  amework and ..  
15d0: 20 20 20 20 72 65 63 6f 6d 70 69 6c 65 2e 26 6e      recompile.&n
15e0: 62 73 70 3b 20 3c 53 54 52 4f 4e 47 3e 54 68 65  bsp; <STRONG>The
15f0: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
1600: 72 6b 20 68 61 73 20 6e 6f 20 73 75 70 70 6f 72  rk has no suppor
1610: 74 20 66 6f 72 20 65 6e 75 6d 65 72 61 74 69 6e  t for enumeratin
1620: 67 20 0d 0a 20 20 20 20 20 20 20 20 61 74 74 72  g ..        attr
1630: 69 62 75 74 65 73 20 69 6e 20 61 6e 20 61 73 73  ibutes in an ass
1640: 65 6d 62 6c 79 2c 20 74 68 65 72 65 66 6f 72 65  embly, therefore
1650: 20 61 6c 6c 20 75 73 65 72 2d 64 65 66 69 6e 65   all user-define
1660: 64 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71 75  d collating sequ
1670: 65 6e 63 65 73 20 61 6e 64 20 0d 0a 20 20 20 20  ences and ..    
1680: 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75      functions mu
1690: 73 74 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79  st be explicitly
16a0: 20 72 65 67 69 73 74 65 72 65 64 2e 3c 2f 53 54   registered.</ST
16b0: 52 4f 4e 47 3e 26 6e 62 73 70 3b 20 53 65 65 20  RONG>&nbsp; See 
16c0: 74 68 65 20 3c 53 54 52 4f 4e 47 3e 74 65 73 74  the <STRONG>test
16d0: 63 65 3c 2f 53 54 52 4f 4e 47 3e 0d 0a 20 20 20  ce</STRONG>..   
16e0: 20 20 20 73 61 6d 70 6c 65 20 61 70 70 6c 69 63     sample applic
16f0: 61 74 69 6f 6e 20 66 6f 72 20 61 6e 20 65 78 61  ation for an exa
1700: 6d 70 6c 65 20 6f 66 20 68 6f 77 20 74 6f 20 65  mple of how to e
1710: 78 70 6c 69 63 69 74 6c 79 20 72 65 67 69 73 74  xplicitly regist
1720: 65 72 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20  er user-defined 
1730: 0d 0a 20 20 20 20 20 20 63 6f 6c 6c 61 74 69 6e  ..      collatin
1740: 67 20 73 65 71 75 65 6e 63 65 73 20 61 6e 64 20  g sequences and 
1750: 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0d 0a  functions.</p>..
1760: 20 20 20 20 3c 68 32 3e 0d 0a 20 20 20 20 20 20      <h2>..      
1770: 3c 62 3e 3c 41 20 6e 61 6d 65 3d 22 72 65 64 69  <b><A name="redi
1780: 73 74 22 3e 3c 2f 41 3e 44 69 73 74 72 69 62 75  st"></A>Distribu
1790: 74 69 6e 67 20 54 68 65 20 53 51 4c 69 74 65 20  ting The SQLite 
17a0: 45 6e 67 69 6e 65 20 61 6e 64 20 41 44 4f 2e 4e  Engine and ADO.N
17b0: 45 54 20 41 73 73 65 6d 62 6c 79 3c 2f 62 3e 3c  ET Assembly</b><
17c0: 2f 68 32 3e 0d 0a 20 20 20 20 3c 50 3e 0d 0a 20  /h2>..    <P>.. 
17d0: 20 20 20 20 20 4f 6e 20 74 68 65 20 64 65 73 6b       On the desk
17e0: 74 6f 70 2c 20 6f 6e 6c 79 20 74 68 65 20 3c 53  top, only the <S
17f0: 54 52 4f 4e 47 3e 53 79 73 74 65 6d 2e 44 61 74  TRONG>System.Dat
1800: 61 2e 53 51 4c 69 74 65 2e 44 4c 4c 3c 2f 53 54  a.SQLite.DLL</ST
1810: 52 4f 4e 47 3e 20 66 69 6c 65 20 6e 65 65 64 73  RONG> file needs
1820: 20 74 6f 20 62 65 20 64 69 73 74 72 69 62 75 74   to be distribut
1830: 65 64 20 77 69 74 68 20 79 6f 75 72 20 0d 0a 20  ed with your .. 
1840: 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e       application
1850: 28 73 29 2e 26 6e 62 73 70 3b 20 54 68 69 73 20  (s).&nbsp; This 
1860: 44 4c 4c 20 63 6f 6e 74 61 69 6e 73 20 62 6f 74  DLL contains bot
1870: 68 20 74 68 65 20 6d 61 6e 61 67 65 64 20 77 72  h the managed wr
1880: 61 70 70 65 72 20 61 6e 64 20 74 68 65 20 6e 61  apper and the na
1890: 74 69 76 65 20 0d 0a 20 20 20 20 20 20 53 51 4c  tive ..      SQL
18a0: 69 74 65 33 20 63 6f 64 65 62 61 73 65 2e 26 6e  ite3 codebase.&n
18b0: 62 73 70 3b 20 46 6f 72 20 74 68 65 20 43 6f 6d  bsp; For the Com
18c0: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2c 20  pact Framework, 
18d0: 79 6f 75 20 77 69 6c 6c 20 68 61 76 65 20 74 6f  you will have to
18e0: 20 64 69 73 74 72 69 62 75 74 65 20 0d 0a 20 20   distribute ..  
18f0: 20 20 20 20 62 6f 74 68 20 74 68 65 20 43 46 20      both the CF 
1900: 76 65 72 73 69 6f 6e 20 6f 66 20 53 79 73 74 65  version of Syste
1910: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 44 4c  m.Data.SQLite.DL
1920: 4c 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68  L, as well as th
1930: 65 20 0d 0a 20 20 20 20 20 20 53 51 4c 69 74 65  e ..      SQLite
1940: 2e 49 6e 74 65 72 6f 70 2e 58 58 58 2e 44 4c 4c  .Interop.XXX.DLL
1950: 2e 26 6e 62 73 70 3b 20 54 68 69 73 20 69 73 20  .&nbsp; This is 
1960: 61 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67  a breaking chang
1970: 65 20 61 73 20 6f 66 20 31 2e 30 2e 35 39 2e 30  e as of 1.0.59.0
1980: 2e 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20 20  .&nbsp; ..      
1990: 52 65 63 65 6e 74 20 57 69 6e 64 6f 77 73 20 4d  Recent Windows M
19a0: 6f 62 69 6c 65 20 66 72 61 6d 65 77 6f 72 6b 73  obile frameworks
19b0: 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74   are not support
19c0: 69 6e 67 20 74 68 65 20 6d 69 78 65 64 20 43 46  ing the mixed CF
19d0: 20 61 73 73 65 6d 62 6c 79 20 49 20 77 61 73 20   assembly I was 
19e0: 0d 0a 20 20 20 20 20 20 62 75 69 6c 64 69 6e 67  ..      building
19f0: 20 70 72 69 6f 72 20 74 6f 20 74 68 69 73 20 76   prior to this v
1a00: 65 72 73 69 6f 6e 2e 3c 2f 50 3e 0d 0a 20 20 20  ersion.</P>..   
1a10: 20 3c 48 32 3e 3c 42 3e 44 65 76 65 6c 6f 70 6d   <H2><B>Developm
1a20: 65 6e 74 20 4e 6f 74 65 73 20 52 65 67 61 72 64  ent Notes Regard
1a30: 69 6e 67 20 74 68 65 20 53 51 4c 69 74 65 20 33  ing the SQLite 3
1a40: 20 53 6f 75 72 63 65 20 43 6f 64 65 3c 2f 42 3e   Source Code</B>
1a50: 3c 2f 48 32 3e 0d 0a 20 20 20 20 3c 70 3e 0d 0a  </H2>..    <p>..
1a60: 20 20 20 20 20 20 54 68 65 20 63 6f 72 65 20 73        The core s
1a70: 71 6c 69 74 65 20 65 6e 67 69 6e 65 20 69 73 20  qlite engine is 
1a80: 63 6f 6d 70 69 6c 65 64 20 64 69 72 65 63 74 6c  compiled directl
1a90: 79 20 66 72 6f 6d 20 74 68 65 20 75 6e 6d 6f 64  y from the unmod
1aa0: 69 66 69 65 64 20 73 6f 75 72 63 65 20 63 6f 64  ified source cod
1ab0: 65 20 61 76 61 69 6c 61 62 6c 65 0d 0a 20 20 20  e available..   
1ac0: 20 20 20 61 74 20 74 68 65 20 73 71 6c 69 74 65     at the sqlite
1ad0: 2e 6f 72 67 20 77 65 62 73 69 74 65 2e 26 6e 62  .org website.&nb
1ae0: 73 70 3b 20 53 65 76 65 72 61 6c 20 61 64 64 69  sp; Several addi
1af0: 74 69 6f 6e 61 6c 20 70 69 65 63 65 73 20 61 72  tional pieces ar
1b00: 65 20 63 6f 6d 70 69 6c 65 64 20 6f 6e 20 74 6f  e compiled on to
1b10: 70 20 6f 66 0d 0a 20 20 20 20 20 20 69 74 20 74  p of..      it t
1b20: 6f 20 65 78 74 65 6e 64 20 69 74 73 20 66 75 6e  o extend its fun
1b30: 63 74 69 6f 6e 61 6c 69 74 79 2c 20 62 75 74 20  ctionality, but 
1b40: 74 68 65 20 63 6f 72 65 20 65 6e 67 69 6e 65 27  the core engine'
1b50: 73 20 73 6f 75 72 63 65 20 69 73 20 6e 6f 74 20  s source is not 
1b60: 63 68 61 6e 67 65 64 2e 3c 2f 70 3e 0d 0a 20 20  changed.</p>..  
1b70: 20 20 3c 70 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c    <p></p>..    <
1b80: 70 3e 0d 0a 20 20 20 20 20 20 3c 62 3e 56 65 72  p>..      <b>Ver
1b90: 73 69 6f 6e 20 48 69 73 74 6f 72 79 3c 2f 62 3e  sion History</b>
1ba0: 3c 2f 70 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e  </p>..    <p><b>
1bb0: 31 2e 30 2e 36 37 2e 30 20 2d 20 41 75 67 75 73  1.0.67.0 - Augus
1bc0: 74 20 58 2c 20 32 30 31 30 3c 2f 62 3e 3c 2f 70  t X, 2010</b></p
1bd0: 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20  >..    <ul>..   
1be0: 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67     <li>Code merg
1bf0: 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e  e with SQLite 3.
1c00: 37 2e 30 2e 31 3c 2f 6c 69 3e 0d 0a 20 20 20 20  7.0.1</li>..    
1c10: 20 20 3c 6c 69 3e 52 65 2d 65 6e 61 62 6c 65 64    <li>Re-enabled
1c20: 20 56 53 32 30 30 35 20 64 65 73 69 67 6e 65 72   VS2005 designer
1c30: 20 73 75 70 70 6f 72 74 2c 20 62 72 6f 6b 65 6e   support, broken
1c40: 20 69 6e 20 70 72 65 76 69 6f 75 73 20 76 65 72   in previous ver
1c50: 73 69 6f 6e 73 20 64 75 72 69 6e 67 20 74 68 65  sions during the
1c60: 20 32 30 30 38 20 74 72 61 6e 73 69 74 69 6f 6e   2008 transition
1c70: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
1c80: 3e 49 6d 70 6c 65 6d 65 6e 74 65 64 20 6e 65 77  >Implemented new
1c90: 20 66 6f 72 6d 73 20 6f 66 20 54 61 6b 65 2f 53   forms of Take/S
1ca0: 6b 69 70 20 69 6e 20 74 68 65 20 45 46 20 66 72  kip in the EF fr
1cb0: 61 6d 65 77 6f 72 6b 20 63 6f 75 72 74 65 73 79  amework courtesy
1cc0: 20 6a 6c 73 61 6e 74 69 61 67 6f 3c 2f 6c 69 3e   jlsantiago</li>
1cd0: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  ..      <li>Adde
1ce0: 64 20 22 46 6f 72 65 69 67 6e 20 4b 65 79 73 22  d "Foreign Keys"
1cf0: 20 74 6f 20 74 68 65 20 63 6f 6e 6e 65 63 74 69   to the connecti
1d00: 6f 6e 20 73 74 72 69 6e 67 20 70 61 72 61 6d 65  on string parame
1d10: 74 65 72 73 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  ters</li>..     
1d20: 20 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 54   <li>Added the T
1d30: 72 75 6e 63 61 74 65 20 6f 70 74 69 6f 6e 20 74  runcate option t
1d40: 6f 20 74 68 65 20 4a 6f 75 72 6e 61 6c 20 4d 6f  o the Journal Mo
1d50: 64 65 73 20 65 6e 75 6d 65 72 61 74 69 6f 6e 3c  des enumeration<
1d60: 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d  /li>..    </ul>.
1d70: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 36  .    <p><b>1.0.6
1d80: 36 2e 30 20 2d 20 41 70 72 69 6c 20 31 38 2c 20  6.0 - April 18, 
1d90: 32 30 31 30 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20  2010</b></p>..  
1da0: 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c    <ul>..      <l
1db0: 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74  i>Code merge wit
1dc0: 68 20 53 51 4c 69 74 65 20 33 2e 36 2e 32 33 2e  h SQLite 3.6.23.
1dd0: 31 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  1</li>..      <l
1de0: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e  i>Fixed a bug in
1df0: 20 74 68 65 20 69 6e 73 74 61 6c 6c 65 72 20 74   the installer t
1e00: 68 61 74 20 61 63 63 69 64 65 6e 74 61 6c 6c 79  hat accidentally
1e10: 20 6d 6f 64 69 66 69 65 64 20 74 68 65 20 6d 61   modified the ma
1e20: 63 68 69 6e 65 2e 63 6f 6e 66 69 67 20 6f 6e 20  chine.config on 
1e30: 2e 4e 45 54 20 76 65 72 73 69 6f 6e 73 20 70 72  .NET versions pr
1e40: 69 6f 72 20 74 6f 20 32 2e 30 2c 20 69 6e 76 61  ior to 2.0, inva
1e50: 6c 69 64 69 6e 67 20 74 68 65 20 63 6f 6e 66 69  liding the confi
1e60: 67 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0d 0a 20 20  g file.</li>..  
1e70: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 49 4e      <li>Fixed IN
1e80: 54 45 52 53 45 43 54 20 61 6e 64 20 45 58 43 45  TERSECT and EXCE
1e90: 50 54 20 75 6e 69 6f 6e 20 71 75 65 72 79 20 67  PT union query g
1ea0: 65 6e 65 72 61 74 69 6f 6e 20 69 6e 20 45 46 3c  eneration in EF<
1eb0: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
1ec0: 46 69 78 65 64 20 61 6e 20 6f 75 74 20 6f 66 20  Fixed an out of 
1ed0: 6d 65 6d 6f 72 79 20 65 72 72 6f 72 20 69 6e 20  memory error in 
1ee0: 74 68 65 20 74 72 69 67 67 65 72 20 64 65 73 69  the trigger desi
1ef0: 67 6e 65 72 20 69 6e 20 63 61 73 65 73 20 77 68  gner in cases wh
1f00: 65 72 65 20 61 20 57 48 45 4e 20 63 6c 61 75 73  ere a WHEN claus
1f10: 65 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65  e is used in the
1f20: 20 74 72 69 67 67 65 72 3c 2f 6c 69 3e 0d 0a 20   trigger</li>.. 
1f30: 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70     </ul>..    <p
1f40: 3e 3c 62 3e 31 2e 30 2e 36 35 2e 30 20 2d 20 4a  ><b>1.0.65.0 - J
1f50: 75 6c 79 20 32 36 2c 20 32 30 30 39 3c 2f 62 3e  uly 26, 2009</b>
1f60: 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a  </p>..    <ul>..
1f70: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
1f80: 61 20 62 75 67 20 69 6e 20 74 68 65 20 65 6e 63  a bug in the enc
1f90: 72 79 70 74 69 6f 6e 20 6d 6f 64 75 6c 65 20 74  ryption module t
1fa0: 6f 20 70 72 65 76 65 6e 74 20 61 20 64 6f 75 62  o prevent a doub
1fb0: 6c 65 20 66 72 65 65 28 29 20 77 68 65 6e 20 72  le free() when r
1fc0: 65 6b 65 79 69 6e 67 20 61 20 64 61 74 61 62 61  ekeying a databa
1fd0: 73 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  se.</li>..      
1fe0: 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20  <li>Fixed a bug 
1ff0: 69 6e 20 74 68 65 20 65 6e 63 72 79 70 74 69 6f  in the encryptio
2000: 6e 20 6d 6f 64 75 6c 65 20 77 68 65 6e 20 41 54  n module when AT
2010: 54 41 43 48 69 6e 67 20 61 6e 20 65 6e 63 72 79  TACHing an encry
2020: 70 74 65 64 20 64 61 74 61 62 61 73 65 2e 3c 2f  pted database.</
2030: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 49  li>..      <li>I
2040: 6e 63 6f 72 70 6f 72 61 74 65 64 20 74 68 65 20  ncorporated the 
2050: 57 69 6e 43 45 20 6c 6f 63 6b 69 6e 67 20 66 69  WinCE locking fi
2060: 78 20 66 72 6f 6d 20 74 69 63 6b 65 74 0d 0a 20  x from ticket.. 
2070: 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22         <a href="
2080: 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74  http://www.sqlit
2090: 65 2e 6f 72 67 2f 63 76 73 74 72 61 63 2f 74 6b  e.org/cvstrac/tk
20a0: 74 76 69 65 77 3f 74 6e 3d 33 39 39 31 22 3e 23  tview?tn=3991">#
20b0: 33 39 39 31 3c 2f 61 3e 3c 2f 6c 69 3e 0d 0a 20  3991</a></li>.. 
20c0: 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 26       <li>Added &
20d0: 71 75 6f 74 3b 62 69 67 69 6e 74 26 71 75 6f 74  quot;bigint&quot
20e0: 3b 20 74 6f 20 74 68 65 20 64 72 6f 70 64 6f 77  ; to the dropdow
20f0: 6e 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 64  n in the table d
2100: 65 73 69 67 6e 65 72 2c 20 70 6c 75 73 20 6f 74  esigner, plus ot
2110: 68 65 72 20 6d 69 6e 6f 72 20 74 61 62 6c 65 20  her minor table 
2120: 0d 0a 20 20 20 20 20 20 20 20 64 65 73 69 67 6e  ..        design
2130: 65 72 20 62 75 67 66 69 78 65 73 2e 3c 2f 6c 69  er bugfixes.</li
2140: 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20  >..    </ul>..  
2150: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 36 34 2e 30    <p><b>1.0.64.0
2160: 20 2d 20 4a 75 6c 79 20 39 2c 20 32 30 30 39 3c   - July 9, 2009<
2170: 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c  /b></p>..    <ul
2180: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  >..      <li>Fix
2190: 65 64 20 74 68 65 20 6d 69 73 73 69 6e 67 20 72  ed the missing r
21a0: 65 73 6f 75 72 63 65 73 20 70 72 6f 62 6c 65 6d  esources problem
21b0: 20 66 72 6f 6d 20 74 68 65 20 36 33 20 72 65 6c   from the 63 rel
21c0: 65 61 73 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  ease.</li>..    
21d0: 20 20 3c 6c 69 3e 41 64 64 65 64 20 70 72 65 6c    <li>Added prel
21e0: 69 6d 69 6e 61 72 79 20 73 75 70 70 6f 72 74 20  iminary support 
21f0: 66 6f 72 20 74 68 65 20 56 69 73 75 61 6c 20 53  for the Visual S
2200: 74 75 64 69 6f 20 32 30 31 30 20 62 65 74 61 2e  tudio 2010 beta.
2210: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
2220: 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20  >Fixed a bug in 
2230: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 74 68  SQLiteCommand th
2240: 61 74 20 74 68 72 65 77 20 61 20 6e 75 6c 6c 20  at threw a null 
2250: 72 65 66 65 72 65 6e 63 65 20 65 78 63 65 70 74  reference except
2260: 69 6f 6e 20 77 68 65 6e 20 0d 0a 20 20 20 20 20  ion when ..     
2270: 20 20 20 73 65 74 74 69 6e 67 20 74 68 65 20 54     setting the T
2280: 72 61 6e 73 61 63 74 69 6f 6e 20 6f 62 6a 65 63  ransaction objec
2290: 74 20 74 6f 20 6e 75 6c 6c 2e 3c 2f 6c 69 3e 0d  t to null.</li>.
22a0: 0a 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 53 51  .      <li>If SQ
22b0: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 45  LiteConnection.E
22c0: 6e 6c 69 73 74 54 72 61 6e 73 61 63 74 69 6f 6e  nlistTransaction
22d0: 20 69 73 20 63 61 6c 6c 65 64 20 6d 75 6c 74 69   is called multi
22e0: 70 6c 65 20 74 69 6d 65 73 20 66 6f 72 20 74 68  ple times for th
22f0: 65 20 73 61 6d 65 20 0d 0a 20 20 20 20 20 20 20  e same ..       
2300: 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 73 63 6f   transaction sco
2310: 70 65 2c 20 6a 75 73 74 20 72 65 74 75 72 6e 20  pe, just return 
2320: 77 69 74 68 6f 75 74 20 74 68 72 6f 77 69 6e 67  without throwing
2330: 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0d   an error.</li>.
2340: 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20  .    </ul>..    
2350: 3c 70 3e 3c 62 3e 31 2e 30 2e 36 33 2e 30 20 2d  <p><b>1.0.63.0 -
2360: 20 4a 75 6e 65 20 32 39 2c 20 32 30 30 39 3c 2f   June 29, 2009</
2370: 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e  b></p>..    <ul>
2380: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65  ..      <li>Code
2390: 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69   merge with SQLi
23a0: 74 65 20 33 2e 36 2e 31 36 3c 2f 6c 69 3e 0d 0a  te 3.6.16</li>..
23b0: 20 20 20 20 20 20 3c 6c 69 3e 43 68 65 63 6b 20        <li>Check 
23c0: 74 68 65 20 61 75 74 6f 63 6f 6d 6d 69 74 20 6d  the autocommit m
23d0: 6f 64 65 20 6f 66 20 74 68 65 20 63 6f 6e 6e 65  ode of the conne
23e0: 63 74 69 6f 6e 20 74 6f 20 77 68 69 63 68 20 61  ction to which a
23f0: 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20   transaction is 
2400: 62 6f 75 6e 64 20 0d 0a 20 20 20 20 20 20 20 20  bound ..        
2410: 64 75 72 69 6e 67 20 74 68 65 20 64 69 73 70 6f  during the dispo
2420: 73 61 6c 20 6f 66 20 74 68 65 20 74 72 61 6e 73  sal of the trans
2430: 61 63 74 69 6f 6e 2e 26 6e 62 73 70 3b 20 49 66  action.&nbsp; If
2440: 20 61 75 74 6f 63 6f 6d 6d 69 74 20 69 73 20 65   autocommit is e
2450: 6e 61 62 6c 65 64 2c 20 74 68 65 6e 20 74 68 65  nabled, then the
2460: 20 0d 0a 20 20 20 20 20 20 20 20 64 61 74 61 62   ..        datab
2470: 61 73 65 20 68 61 73 20 61 6c 72 65 61 64 79 20  ase has already 
2480: 72 6f 6c 6c 65 64 20 62 61 63 6b 20 74 68 65 20  rolled back the 
2490: 74 72 61 6e 73 61 63 74 69 6f 6e 20 61 6e 64 20  transaction and 
24a0: 77 65 20 64 6f 6e 26 23 33 39 3b 74 20 6e 65 65  we don&#39;t nee
24b0: 64 20 74 6f 20 64 6f 20 69 74 20 0d 0a 20 20 20  d to do it ..   
24c0: 20 20 20 20 20 64 75 72 69 6e 67 20 64 69 73 70       during disp
24d0: 6f 73 65 2c 20 61 6e 64 20 63 61 6e 20 71 75 69  ose, and can qui
24e0: 65 74 6c 79 20 69 67 6e 6f 72 65 20 74 68 65 20  etly ignore the 
24f0: 73 74 65 70 20 77 69 74 68 6f 75 74 20 74 68 72  step without thr
2500: 6f 77 69 6e 67 20 61 6e 20 65 72 72 6f 72 2e 3c  owing an error.<
2510: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
2520: 45 6c 69 6d 69 6e 61 74 65 64 20 74 68 65 20 6d  Eliminated the m
2530: 65 72 67 65 62 69 6e 20 73 74 65 70 20 61 6c 74  ergebin step alt
2540: 6f 67 65 74 68 65 72 2e 26 6e 62 73 70 3b 20 49  ogether.&nbsp; I
2550: 74 20 77 61 73 20 64 65 76 65 6c 6f 70 65 64 20  t was developed 
2560: 70 72 69 6d 61 72 69 6c 79 20 74 6f 20 0d 0a 20  primarily to .. 
2570: 20 20 20 20 20 20 20 6d 65 72 67 65 20 74 68 65         merge the
2580: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
2590: 72 6b 20 62 69 6e 61 72 69 65 73 20 74 6f 67 65  rk binaries toge
25a0: 74 68 65 72 2c 20 62 75 74 20 73 69 6e 63 65 20  ther, but since 
25b0: 77 65 26 23 33 39 3b 72 65 20 6e 6f 74 20 64 6f  we&#39;re not do
25c0: 69 6e 67 20 74 68 61 74 20 0d 0a 20 20 20 20 20  ing that ..     
25d0: 20 20 20 61 6e 79 6d 6f 72 65 2c 20 69 74 73 20     anymore, its 
25e0: 75 73 65 20 69 73 20 6c 69 6d 69 74 65 64 2e 26  use is limited.&
25f0: 6e 62 73 70 3b 20 49 74 73 20 6e 6f 6e 2d 73 74  nbsp; Its non-st
2600: 61 6e 64 61 72 64 20 6d 65 74 68 6f 64 20 6f 66  andard method of
2610: 20 6d 65 72 67 69 6e 67 20 61 20 62 69 6e 61 72   merging a binar
2620: 79 20 0d 0a 20 20 20 20 20 20 20 20 6f 6e 20 74  y ..        on t
2630: 68 65 20 64 65 73 6b 74 6f 70 20 66 72 61 6d 65  he desktop frame
2640: 77 6f 72 6b 20 69 73 20 72 65 64 75 6e 64 61 6e  work is redundan
2650: 74 20 61 73 20 77 65 6c 6c 2e 26 6e 62 73 70 3b  t as well.&nbsp;
2660: 20 54 68 65 20 64 65 73 6b 74 6f 70 20 62 69 6e   The desktop bin
2670: 61 72 79 20 6e 6f 77 20 0d 0a 20 20 20 20 20 20  ary now ..      
2680: 20 20 68 61 72 64 2d 6c 69 6e 6b 73 20 74 6f 20    hard-links to 
2690: 4d 53 43 4f 52 45 45 2c 20 62 75 74 20 61 73 20  MSCOREE, but as 
26a0: 6f 66 20 57 69 6e 64 6f 77 73 20 58 50 2c 20 74  of Windows XP, t
26b0: 68 69 73 20 77 61 73 20 72 65 64 75 6e 64 61 6e  his was redundan
26c0: 74 20 61 73 20 77 65 6c 6c 20 73 69 6e 63 65 20  t as well since 
26d0: 58 50 20 0d 0a 20 20 20 20 20 20 20 20 61 6e 64  XP ..        and
26e0: 20 62 65 79 6f 6e 64 20 61 75 74 6f 6d 61 74 69   beyond automati
26f0: 63 61 6c 6c 79 20 61 74 74 65 6d 70 74 20 74 6f  cally attempt to
2700: 20 6c 6f 61 64 20 4d 53 43 4f 52 45 45 20 6f 6e   load MSCOREE on
2710: 20 73 74 61 72 74 75 70 20 77 68 65 6e 20 61 20   startup when a 
2720: 44 4c 4c 20 68 61 73 20 61 20 0d 0a 20 20 20 20  DLL has a ..    
2730: 20 20 20 20 2e 4e 45 54 20 68 65 61 64 65 72 2e      .NET header.
2740: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
2750: 3e 4d 6f 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e  >More improvemen
2760: 74 73 20 74 6f 20 74 68 65 20 74 65 73 74 2e 65  ts to the test.e
2770: 78 65 20 70 72 6f 67 72 61 6d 20 66 6f 72 20 72  xe program for r
2780: 75 6e 6e 69 6e 67 20 74 68 65 20 74 65 73 74 73  unning the tests
2790: 20 61 67 61 69 6e 73 74 20 53 71 6c 20 0d 0a 20   against Sql .. 
27a0: 20 20 20 20 20 20 20 53 65 72 76 65 72 20 66 6f         Server fo
27b0: 72 20 63 6f 6d 70 61 72 69 73 6f 6e 20 70 75 72  r comparison pur
27c0: 70 6f 73 65 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20  poses.</li>..   
27d0: 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c   </ul>..    <p><
27e0: 62 3e 31 2e 30 2e 36 32 2e 30 20 2d 20 4a 75 6e  b>1.0.62.0 - Jun
27f0: 65 20 31 39 2c 20 32 30 30 39 3c 2f 62 3e 3c 2f  e 19, 2009</b></
2800: 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20  p>..    <ul>..  
2810: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
2820: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
2830: 2e 36 2e 31 35 3c 2f 6c 69 3e 0d 0a 20 20 20 20  .6.15</li>..    
2840: 20 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20    <li>Fixed the 
2850: 64 65 63 69 6d 61 6c 20 72 65 61 64 69 6e 67 20  decimal reading 
2860: 62 75 67 20 69 6e 20 74 68 65 20 53 51 4c 69 74  bug in the SQLit
2870: 65 44 61 74 61 52 65 61 64 65 72 3c 2f 6c 69 3e  eDataReader</li>
2880: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 43 68 61 6e  ..      <li>Chan
2890: 67 65 64 20 4a 6f 69 6e 28 29 26 23 33 39 3b 73  ged Join()&#39;s
28a0: 20 74 6f 20 53 6c 65 65 70 28 29 26 23 33 39 3b   to Sleep()&#39;
28b0: 73 20 69 6e 20 74 68 65 20 73 74 61 74 65 6d 65  s in the stateme
28c0: 6e 74 20 72 65 74 72 79 20 63 6f 64 65 20 74 6f  nt retry code to
28d0: 20 70 72 65 76 65 6e 74 20 6d 65 73 73 61 67 65   prevent message
28e0: 20 0d 0a 20 20 20 20 20 20 20 20 70 75 6d 70 69   ..        pumpi
28f0: 6e 67 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  ng</li>..      <
2900: 6c 69 3e 46 69 78 65 64 20 61 20 62 61 64 20 70  li>Fixed a bad p
2910: 6f 69 6e 74 65 72 20 63 6f 6e 76 65 72 73 69 6f  ointer conversio
2920: 6e 20 77 68 65 6e 20 72 65 74 72 69 65 76 69 6e  n when retrievin
2930: 67 20 62 6c 6f 62 73 20 75 73 69 6e 67 20 47 65  g blobs using Ge
2940: 74 42 79 74 65 73 28 29 20 69 6e 20 0d 0a 20 20  tBytes() in ..  
2950: 20 20 20 20 20 20 36 34 2d 62 69 74 20 6c 61 6e        64-bit lan
2960: 64 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  d</li>..      <l
2970: 69 3e 53 65 76 65 72 61 6c 20 63 68 61 6e 67 65  i>Several change
2980: 73 20 74 6f 20 74 68 65 20 54 65 73 74 20 70 72  s to the Test pr
2990: 6f 67 72 61 6d 20 74 68 61 74 20 63 6f 6d 65 73  ogram that comes
29a0: 20 77 69 74 68 20 74 68 65 20 70 72 6f 76 69 64   with the provid
29b0: 65 72 2e 26 6e 62 73 70 3b 20 54 65 73 74 73 20  er.&nbsp; Tests 
29c0: 0d 0a 20 20 20 20 20 20 20 20 63 61 6e 20 6e 6f  ..        can no
29d0: 77 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c 6c  w be individuall
29e0: 79 20 64 69 73 61 62 6c 65 64 2c 20 61 6e 64 20  y disabled, and 
29f0: 74 68 65 20 74 65 73 74 20 70 72 6f 67 72 61 6d  the test program
2a00: 20 63 61 6e 20 72 75 6e 20 61 67 61 69 6e 73 74   can run against
2a10: 20 73 65 76 65 72 61 6c 20 0d 0a 20 20 20 20 20   several ..     
2a20: 20 20 20 70 72 6f 76 69 64 65 72 20 62 61 63 6b     provider back
2a30: 2d 65 6e 64 73 3c 2f 6c 69 3e 0d 0a 20 20 20 20  -ends</li>..    
2a40: 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </ul>..    <p><b
2a50: 3e 31 2e 30 2e 36 31 2e 30 20 2d 20 41 70 72 69  >1.0.61.0 - Apri
2a60: 6c 20 32 38 2c 20 32 30 30 39 3c 2f 62 3e 3c 2f  l 28, 2009</b></
2a70: 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20  p>..    <ul>..  
2a80: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
2a90: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
2aa0: 2e 36 2e 31 33 2e 20 20 54 68 65 20 6e 65 77 20  .6.13.  The new 
2ab0: 62 61 63 6b 75 70 20 66 65 61 74 75 72 65 73 20  backup features 
2ac0: 61 72 65 20 61 73 20 79 65 74 20 75 6e 69 6d 70  are as yet unimp
2ad0: 6c 65 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20  lemented in the 
2ae0: 70 72 6f 76 69 64 65 72 2c 20 62 75 74 20 77 69  provider, but wi
2af0: 6c 6c 20 62 65 20 66 6f 72 74 68 63 6f 6d 69 6e  ll be forthcomin
2b00: 67 20 69 6e 20 61 20 73 75 62 73 65 71 75 65 6e  g in a subsequen
2b10: 74 20 72 65 6c 65 61 73 65 3c 2f 6c 69 3e 0d 0a  t release</li>..
2b20: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
2b30: 74 68 65 20 64 65 66 61 75 6c 74 2d 76 61 6c 75  the default-valu
2b40: 65 20 6c 6f 6f 6b 75 70 73 20 69 6e 20 53 51 4c  e lookups in SQL
2b50: 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72  iteConnectionStr
2b60: 69 6e 67 42 75 69 6c 64 65 72 20 77 68 65 6e 20  ingBuilder when 
2b70: 61 63 63 65 73 73 69 6e 67 20 70 72 6f 70 65 72  accessing proper
2b80: 74 69 65 73 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  ties</li>..     
2b90: 20 3c 6c 69 3e 4c 6f 63 6b 20 74 68 65 20 53 51   <li>Lock the SQ
2ba0: 4c 69 74 65 54 72 61 6e 73 61 63 74 69 6f 6e 20  LiteTransaction 
2bb0: 6f 62 6a 65 63 74 20 64 75 72 69 6e 67 20 64 69  object during di
2bc0: 73 70 6f 73 65 20 74 6f 20 61 76 6f 69 64 20 70  spose to avoid p
2bd0: 6f 74 65 6e 74 69 61 6c 20 72 61 63 65 20 63 6f  otential race co
2be0: 6e 64 69 74 69 6f 6e 20 64 75 72 69 6e 67 20 63  ndition during c
2bf0: 6c 65 61 6e 75 70 3c 2f 6c 69 3e 0d 0a 20 20 20  leanup</li>..   
2c00: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 53 51 4c     <li>Fixed SQL
2c10: 69 74 65 44 61 74 61 52 65 61 64 65 72 2e 47 65  iteDataReader.Ge
2c20: 74 44 65 63 69 6d 61 6c 28 29 20 70 72 6f 63 65  tDecimal() proce
2c30: 73 73 69 6e 67 20 61 6e 64 20 70 61 72 73 69 6e  ssing and parsin
2c40: 67 20 6f 66 20 64 65 63 69 6d 61 6c 20 76 61 6c  g of decimal val
2c50: 75 65 73 20 66 6f 72 20 63 61 73 65 73 20 77 68  ues for cases wh
2c60: 65 6e 20 53 51 4c 69 74 65 20 72 65 74 75 72 6e  en SQLite return
2c70: 73 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 22 31  s things like "1
2c80: 2e 30 65 2d 30 35 22 20 69 6e 73 74 65 61 64 20  .0e-05" instead 
2c90: 6f 66 20 22 30 2e 30 30 30 31 22 3c 2f 6c 69 3e  of "0.0001"</li>
2ca0: 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20  ..    </ul>..   
2cb0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 36 30 2e 30 20   <p><b>1.0.60.0 
2cc0: 2d 20 4f 63 74 6f 62 65 72 20 33 2c 20 32 30 30  - October 3, 200
2cd0: 38 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c  8</b></p>..    <
2ce0: 75 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 54  ul>..      <li>T
2cf0: 68 72 6f 77 20 61 20 4e 6f 74 53 75 70 70 6f 72  hrow a NotSuppor
2d00: 74 65 64 20 65 78 63 65 70 74 69 6f 6e 20 69 6e  ted exception in
2d10: 20 74 68 65 20 45 46 20 53 71 6c 20 47 65 6e 20   the EF Sql Gen 
2d20: 63 6f 64 65 20 69 6e 73 74 65 61 64 20 6f 66 20  code instead of 
2d30: 70 61 72 73 69 6e 67 20 0d 0a 20 20 20 20 20 20  parsing ..      
2d40: 20 20 69 6c 6c 65 67 61 6c 20 53 51 4c 20 64 75    illegal SQL du
2d50: 72 69 6e 67 20 61 6e 20 75 70 64 61 74 65 2f 69  ring an update/i
2d60: 6e 73 65 72 74 2f 64 65 6c 65 74 65 20 77 68 65  nsert/delete whe
2d70: 72 65 20 6e 6f 20 70 72 69 6d 61 72 79 20 6b 65  re no primary ke
2d80: 79 20 69 73 20 64 65 66 69 6e 65 64 2e 3c 2f 6c  y is defined.</l
2d90: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  i>..      <li>Fi
2da0: 78 65 64 20 74 68 65 20 43 6f 6d 70 61 63 74 20  xed the Compact 
2db0: 46 72 61 6d 65 77 6f 72 6b 20 69 6e 74 65 72 6f  Framework intero
2dc0: 70 20 6c 69 62 72 61 72 79 2e 26 6e 62 73 70 3b  p library.&nbsp;
2dd0: 20 53 69 6e 63 65 20 74 68 65 20 6c 69 6e 6b 65   Since the linke
2de0: 72 20 66 6c 61 67 20 0d 0a 20 20 20 20 20 20 20  r flag ..       
2df0: 20 2f 73 75 62 73 79 73 74 65 6d 20 68 61 64 20   /subsystem had 
2e00: 6e 6f 20 76 65 72 73 69 6f 6e 20 73 70 65 63 69  no version speci
2e10: 66 69 65 64 2c 20 69 74 20 77 61 73 20 63 61 75  fied, it was cau
2e20: 73 69 6e 67 20 61 20 70 72 6f 62 6c 65 6d 20 66  sing a problem f
2e30: 6f 72 20 6d 61 6e 79 20 43 45 2d 62 61 73 65 64  or many CE-based
2e40: 20 0d 0a 20 20 20 20 20 20 20 20 70 6c 61 74 66   ..        platf
2e50: 6f 72 6d 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  orms.</li>..    
2e60: 20 20 3c 6c 69 3e 49 6e 63 6f 72 70 6f 72 61 74    <li>Incorporat
2e70: 65 64 20 53 51 4c 69 74 65 20 70 61 74 63 68 20  ed SQLite patch 
2e80: 66 6f 72 20 74 69 63 6b 65 74 0d 0a 20 20 20 20  for ticket..    
2e90: 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74      <a href="htt
2ea0: 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f  p://www.sqlite.o
2eb0: 72 67 2f 63 76 73 74 72 61 63 2f 74 6b 74 76 69  rg/cvstrac/tktvi
2ec0: 65 77 3f 74 6e 3d 33 33 38 37 22 3e 23 33 33 38  ew?tn=3387">#338
2ed0: 37 3c 2f 61 3e 20 61 6e 64 20 72 65 76 65 72 74  7</a> and revert
2ee0: 65 64 20 0d 0a 20 20 20 20 20 20 20 20 6f 75 74  ed ..        out
2ef0: 20 74 68 65 20 76 66 73 20 6f 76 65 72 72 69 64   the vfs overrid
2f00: 65 20 63 6f 64 65 20 49 20 61 64 64 65 64 20 69  e code I added i
2f10: 6e 20 62 75 69 6c 64 20 35 39 20 74 6f 20 77 6f  n build 59 to wo
2f20: 72 6b 20 61 72 6f 75 6e 64 20 74 68 69 73 20 70  rk around this p
2f30: 72 6f 62 6c 65 6d 2e 3c 2f 6c 69 3e 0d 0a 20 20  roblem.</li>..  
2f40: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
2f50: 64 65 73 69 67 6e 65 72 20 69 73 73 75 65 20 77  designer issue w
2f60: 68 65 6e 20 63 72 65 61 74 69 6e 67 20 61 20 6e  hen creating a n
2f70: 65 77 20 74 61 62 6c 65 20 66 72 6f 6d 20 74 68  ew table from th
2f80: 65 20 53 65 72 76 65 72 20 45 78 70 6c 6f 72 65  e Server Explore
2f90: 72 2e 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20  r.&nbsp; ..     
2fa0: 20 20 20 41 66 74 65 72 20 69 6e 69 74 69 61 6c     After initial
2fb0: 6c 79 20 73 61 76 69 6e 67 20 69 74 2c 20 69 66  ly saving it, if
2fc0: 20 79 6f 75 20 74 68 65 6e 20 63 6f 6e 74 69 6e   you then contin
2fd0: 75 65 64 20 74 6f 20 65 64 69 74 20 69 74 20 61  ued to edit it a
2fe0: 6e 64 20 74 72 69 65 64 20 74 6f 20 73 61 76 65  nd tried to save
2ff0: 20 69 74 20 0d 0a 20 20 20 20 20 20 20 20 61 67   it ..        ag
3000: 61 69 6e 2c 20 69 74 20 77 6f 75 6c 64 20 67 65  ain, it would ge
3010: 6e 65 72 61 74 65 20 74 68 65 20 63 68 61 6e 67  nerate the chang
3020: 65 20 53 51 4c 20 75 73 69 6e 67 20 74 68 65 20  e SQL using the 
3030: 6f 6c 64 20 74 65 6d 70 6f 72 61 72 79 20 74 61  old temporary ta
3040: 62 6c 65 20 6e 61 6d 65 20 0d 0a 20 20 20 20 20  ble name ..     
3050: 20 20 20 72 61 74 68 65 72 20 74 68 61 6e 20 74     rather than t
3060: 68 65 20 6e 65 77 20 6e 61 6d 65 2e 3c 2f 6c 69  he new name.</li
3070: 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20  >..    </ul>..  
3080: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 35 39 2e 30    <p><b>1.0.59.0
3090: 20 2d 20 53 65 70 74 65 6d 62 65 72 20 32 32 2c   - September 22,
30a0: 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20   2008</b></p>.. 
30b0: 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c     <ul>..      <
30c0: 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69  li>Code merge wi
30d0: 74 68 20 53 51 4c 69 74 65 20 33 2e 36 2e 33 2e  th SQLite 3.6.3.
30e0: 26 6e 62 73 70 3b 20 53 6f 6c 76 65 73 20 0d 0a  &nbsp; Solves ..
30f0: 20 20 20 20 20 20 20 20 61 20 63 6f 75 70 6c 65          a couple
3100: 20 64 69 66 66 65 72 65 6e 74 20 45 46 20 69 73   different EF is
3110: 73 75 65 73 20 74 68 61 74 20 77 65 72 65 20 65  sues that were e
3120: 69 74 68 65 72 20 67 69 76 69 6e 67 20 69 6e 63  ither giving inc
3130: 6f 6e 73 69 73 74 65 6e 74 20 72 65 73 75 6c 74  onsistent result
3140: 73 20 6f 72 20 0d 0a 20 20 20 20 20 20 20 20 63  s or ..        c
3150: 72 61 73 68 69 6e 67 20 74 68 65 20 65 6e 67 69  rashing the engi
3160: 6e 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  ne.</li>..      
3170: 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 70 61  <li>Fixed the pa
3180: 72 73 69 6e 67 20 6f 66 20 6c 69 74 65 72 61 6c  rsing of literal
3190: 20 62 69 6e 61 72 69 65 73 20 69 6e 20 74 68 65   binaries in the
31a0: 20 45 46 20 53 71 6c 47 65 6e 20 63 6f 64 65 2e   EF SqlGen code.
31b0: 26 6e 62 73 70 3b 20 53 51 4c 69 74 65 20 6e 6f  &nbsp; SQLite no
31c0: 77 20 0d 0a 20 20 20 20 20 20 20 20 70 61 73 73  w ..        pass
31d0: 65 73 20 6e 65 61 72 6c 79 20 61 6c 6c 20 74 68  es nearly all th
31e0: 65 20 74 65 73 74 63 61 73 65 73 20 69 6e 20 0d  e testcases in .
31f0: 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66  .        <a href
3200: 3d 22 68 74 74 70 3a 2f 2f 73 71 6c 69 74 65 2e  ="http://sqlite.
3210: 70 68 78 73 6f 66 74 77 61 72 65 2e 63 6f 6d 2f  phxsoftware.com/
3220: 66 6f 72 75 6d 73 2f 70 2f 31 33 37 37 2f 35 39  forums/p/1377/59
3230: 32 31 2e 61 73 70 78 23 35 39 32 31 22 3e 4d 69  21.aspx#5921">Mi
3240: 63 72 6f 73 6f 66 74 27 73 20 45 46 20 51 75 65  crosoft's EF Que
3250: 72 79 20 53 61 6d 70 6c 65 73 3c 2f 61 3e 20 61  ry Samples</a> a
3260: 70 70 6c 69 63 61 74 69 6f 6e 20 2d 2d 20 0d 0a  pplication -- ..
3270: 20 20 20 20 20 20 20 20 74 68 65 20 65 78 63 65          the exce
3280: 70 74 69 6f 6e 20 62 65 69 6e 67 20 74 68 65 20  ption being the 
3290: 3c 69 3e 64 61 74 65 74 69 6d 65 6f 66 66 73 65  <i>datetimeoffse
32a0: 74 20 3c 2f 69 3e 61 6e 64 3c 69 3e 20 74 69 6d  t </i>and<i> tim
32b0: 65 3c 2f 69 3e 20 63 6f 6e 73 74 61 6e 74 73 20  e</i> constants 
32c0: 74 65 73 74 73 2c 20 61 6e 64 20 74 65 73 74 73  tests, and tests
32d0: 20 0d 0a 20 20 20 20 20 20 20 20 74 68 61 74 20   ..        that 
32e0: 75 73 65 20 74 68 65 20 3c 69 3e 41 50 50 4c 59  use the <i>APPLY
32f0: 20 3c 2f 69 3e 6b 65 79 77 6f 72 64 20 77 68 69   </i>keyword whi
3300: 63 68 20 61 72 65 20 75 6e 73 75 70 70 6f 72 74  ch are unsupport
3310: 65 64 20 66 6f 72 20 6e 6f 77 2e 3c 2f 6c 69 3e  ed for now.</li>
3320: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65 76 61  ..      <li>Reva
3330: 6d 70 65 64 20 74 68 65 20 43 6f 6d 70 61 63 74  mped the Compact
3340: 20 46 72 61 6d 65 77 6f 72 6b 20 6d 69 78 65 64   Framework mixed
3350: 2d 6d 6f 64 65 20 61 73 73 65 6d 62 6c 79 2e 26  -mode assembly.&
3360: 6e 62 73 70 3b 20 54 69 72 65 64 20 6f 66 20 70  nbsp; Tired of p
3370: 6c 61 79 69 6e 67 20 63 61 74 20 0d 0a 20 20 20  laying cat ..   
3380: 20 20 20 20 20 61 6e 64 20 6d 6f 75 73 65 20 77       and mouse w
3390: 69 74 68 20 74 68 65 20 43 6f 6d 70 61 63 74 20  ith the Compact 
33a0: 46 72 61 6d 65 77 6f 72 6b 26 23 33 39 3b 73 20  Framework&#39;s 
33b0: 73 75 70 70 6f 72 74 20 66 6f 72 20 6d 69 78 65  support for mixe
33c0: 64 2d 6d 6f 64 65 20 61 73 73 65 6d 62 6c 69 65  d-mode assemblie
33d0: 73 2e 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20  s.&nbsp; ..     
33e0: 20 20 20 54 68 65 20 43 46 20 62 75 69 6c 64 20     The CF build 
33f0: 6e 6f 77 20 72 65 71 75 69 72 65 73 20 74 68 61  now requires tha
3400: 74 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65  t you distribute
3410: 20 62 6f 74 68 20 74 68 65 20 53 79 73 74 65 6d   both the System
3420: 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 0d 0a 20  .Data.SQLite .. 
3430: 20 20 20 20 20 20 20 6c 69 62 72 61 72 79 20 61         library a
3440: 6e 64 20 74 68 65 20 70 61 69 72 65 64 20 53 51  nd the paired SQ
3450: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 58 58 58  Lite.Interop.XXX
3460: 20 6c 69 62 72 61 72 79 2e 26 6e 62 73 70 3b 26   library.&nbsp;&
3470: 6e 62 73 70 3b 20 54 68 65 20 58 58 58 20 64 65  nbsp; The XXX de
3480: 6e 6f 74 65 73 20 0d 0a 20 20 20 20 20 20 20 20  notes ..        
3490: 74 68 65 20 62 75 69 6c 64 20 6e 75 6d 62 65 72  the build number
34a0: 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 2e   of the library.
34b0: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
34c0: 3e 49 6d 70 6c 65 6d 65 6e 74 65 64 20 61 20 77  >Implemented a w
34d0: 6f 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 56 69  orkaround for Vi
34e0: 73 74 61 26 23 33 39 3b 73 20 6f 76 65 72 7a 65  sta&#39;s overze
34f0: 61 6c 6f 75 73 20 63 61 63 68 69 6e 67 20 62 79  alous caching by
3500: 20 74 75 72 6e 69 6e 67 20 6f 66 66 20 0d 0a 20   turning off .. 
3510: 20 20 20 20 20 20 20 46 49 4c 45 5f 46 4c 41 47         FILE_FLAG
3520: 5f 52 41 4e 44 4f 4d 5f 41 43 43 45 53 53 20 66  _RANDOM_ACCESS f
3530: 6f 72 20 4f 53 20 76 65 72 73 69 6f 6e 73 20 61  or OS versions a
3540: 62 6f 76 65 20 58 50 2e 26 6e 62 73 70 3b 20 54  bove XP.&nbsp; T
3550: 68 69 73 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74  his is implement
3560: 65 64 20 0d 0a 20 20 20 20 20 20 20 20 61 73 20  ed ..        as 
3570: 61 20 63 75 73 74 6f 6d 20 28 64 65 66 61 75 6c  a custom (defaul
3580: 74 20 6f 76 65 72 72 69 64 65 29 20 56 46 53 20  t override) VFS 
3590: 69 6e 20 74 68 65 20 69 6e 74 65 72 6f 70 2e 63  in the interop.c
35a0: 20 66 69 6c 65 2c 20 73 6f 20 6e 6f 20 63 68 61   file, so no cha
35b0: 6e 67 65 73 20 61 72 65 20 6d 61 64 65 20 0d 0a  nges are made ..
35c0: 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 53          to the S
35d0: 51 4c 69 74 65 20 73 6f 75 72 63 65 20 63 6f 64  QLite source cod
35e0: 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  e.</li>..      <
35f0: 6c 69 3e 46 69 78 65 64 20 73 6f 6d 65 20 72 65  li>Fixed some re
3600: 67 69 73 74 72 79 20 69 73 73 75 65 73 20 69 6e  gistry issues in
3610: 20 74 68 65 20 64 65 73 69 67 6e 65 72 20 69 6e   the designer in
3620: 73 74 61 6c 6c 2e 65 78 65 2c 20 77 68 69 63 68  stall.exe, which
3630: 20 70 72 65 76 65 6e 74 65 64 20 73 6f 6d 65 20   prevented some 
3640: 0d 0a 20 20 20 20 20 20 20 20 64 65 73 69 67 6e  ..        design
3650: 2d 74 69 6d 65 20 73 74 75 66 66 20 66 72 6f 6d  -time stuff from
3660: 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 74 68 65 20   working on the 
3670: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
3680: 6b 20 77 68 65 6e 20 2e 4e 45 54 20 33 2e 35 20  k when .NET 3.5 
3690: 77 61 73 20 0d 0a 20 20 20 20 20 20 20 20 69 6e  was ..        in
36a0: 73 74 61 6c 6c 65 64 2e 3c 2f 6c 69 3e 0d 0a 20  stalled.</li>.. 
36b0: 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70     </ul>..    <p
36c0: 3e 3c 62 3e 31 2e 30 2e 35 38 2e 30 20 2d 20 41  ><b>1.0.58.0 - A
36d0: 75 67 75 73 74 20 33 30 2c 20 32 30 30 38 3c 2f  ugust 30, 2008</
36e0: 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e  b></p>..    <ul>
36f0: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65  ..      <li>Code
3700: 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69   merge with SQLi
3710: 74 65 20 33 2e 36 2e 32 2e 26 6e 62 73 70 3b 20  te 3.6.2.&nbsp; 
3720: 49 66 20 6f 6e 6c 79 20 49 26 23 33 39 3b 64 20  If only I&#39;d 
3730: 77 61 69 74 65 64 20 6f 6e 65 20 6d 6f 72 65 20  waited one more 
3740: 64 61 79 20 74 6f 20 72 65 6c 65 61 73 65 20 0d  day to release .
3750: 0a 20 20 20 20 20 20 20 20 35 37 21 26 6e 62 73  .        57!&nbs
3760: 70 3b 20 53 65 76 65 72 61 6c 20 4c 49 4e 51 20  p; Several LINQ 
3770: 69 73 73 75 65 73 20 68 61 76 65 20 62 65 65 6e  issues have been
3780: 20 72 65 73 6f 6c 76 65 64 20 77 69 74 68 20 74   resolved with t
3790: 68 69 73 20 65 6e 67 69 6e 65 20 72 65 6c 65 61  his engine relea
37a0: 73 65 20 0d 0a 20 20 20 20 20 20 20 20 72 65 6c  se ..        rel
37b0: 61 74 69 6e 67 20 74 6f 20 64 65 65 70 6c 79 2d  ating to deeply-
37c0: 6e 65 73 74 65 64 20 73 75 62 71 75 65 72 69 65  nested subquerie
37d0: 73 20 74 68 61 74 20 74 68 65 20 45 46 20 53 71  s that the EF Sq
37e0: 6c 47 65 6e 20 63 72 65 61 74 65 73 2e 3c 2f 6c  lGen creates.</l
37f0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68  i>..      <li>Th
3800: 65 20 52 6f 6c 6c 62 61 63 6b 20 53 51 4c 69 74  e Rollback SQLit
3810: 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 65 76 65 6e  eConnection even
3820: 74 20 6e 6f 20 6c 6f 6e 67 65 72 20 72 65 71 75  t no longer requ
3830: 69 72 65 73 20 61 6e 20 6f 70 65 6e 20 63 6f 6e  ires an open con
3840: 6e 65 63 74 69 6f 6e 20 69 6e 20 0d 0a 20 20 20  nection in ..   
3850: 20 20 20 20 20 6f 72 64 65 72 20 74 6f 20 73 75       order to su
3860: 62 73 63 72 69 62 65 20 74 6f 20 69 74 2e 26 6e  bscribe to it.&n
3870: 62 73 70 3b 20 4d 69 73 73 65 64 20 74 68 69 73  bsp; Missed this
3880: 20 6f 6e 65 20 69 6e 20 74 68 65 20 35 37 20 72   one in the 57 r
3890: 65 6c 65 61 73 65 2e 3c 2f 6c 69 3e 0d 0a 20 20  elease.</li>..  
38a0: 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e    </ul>..    <p>
38b0: 3c 62 3e 31 2e 30 2e 35 37 2e 30 20 2d 20 41 75  <b>1.0.57.0 - Au
38c0: 67 75 73 74 20 32 39 2c 20 32 30 30 38 3c 2f 62  gust 29, 2008</b
38d0: 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d  ></p>..    <ul>.
38e0: 0a 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 69  .      <li>Compi
38f0: 6c 65 64 20 61 67 61 69 6e 73 74 20 33 2e 36 2e  led against 3.6.
3900: 31 20 77 69 74 68 20 63 68 65 63 6b 69 6e 0d 0a  1 with checkin..
3910: 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d          <a href=
3920: 22 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69  "http://www.sqli
3930: 74 65 2e 6f 72 67 2f 63 76 73 74 72 61 63 2f 74  te.org/cvstrac/t
3940: 6b 74 76 69 65 77 3f 74 6e 3d 33 33 30 30 22 3e  ktview?tn=3300">
3950: 23 33 33 30 30 3c 2f 61 3e 20 72 65 73 6f 6c 76  #3300</a> resolv
3960: 65 64 2c 20 0d 0a 20 20 20 20 20 20 20 20 77 68  ed, ..        wh
3970: 69 63 68 20 66 69 78 65 73 20 61 6e 20 45 6e 74  ich fixes an Ent
3980: 69 74 79 20 46 72 61 6d 65 77 6f 72 6b 20 62 75  ity Framework bu
3990: 67 20 49 20 77 61 73 20 73 65 65 69 6e 67 2e 26  g I was seeing.&
39a0: 6e 62 73 70 3b 20 49 20 63 75 72 72 65 6e 74 6c  nbsp; I currentl
39b0: 79 20 68 61 76 65 20 33 20 6f 74 68 65 72 20 0d  y have 3 other .
39c0: 0a 20 20 20 20 20 20 20 20 74 69 63 6b 65 74 73  .        tickets
39d0: 20 6f 75 74 20 6f 6e 20 74 68 65 20 65 6e 67 69   out on the engi
39e0: 6e 65 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f  ne, which are no
39f0: 74 20 79 65 74 20 72 65 73 6f 6c 76 65 64 20 61  t yet resolved a
3a00: 6e 64 20 72 65 6c 61 74 65 20 74 6f 20 45 46 2e  nd relate to EF.
3a10: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
3a20: 3e 46 69 78 65 64 20 64 65 63 69 6d 61 6c 20 74  >Fixed decimal t
3a30: 79 70 65 73 20 74 6f 20 73 74 6f 72 65 20 61 6e  ypes to store an
3a40: 64 20 66 65 74 63 68 20 75 73 69 6e 67 20 49 6e  d fetch using In
3a50: 76 61 72 69 61 6e 74 43 75 6c 74 75 72 65 2e 26  variantCulture.&
3a60: 6e 62 73 70 3b 20 49 66 20 79 6f 75 26 23 33 39  nbsp; If you&#39
3a70: 3b 72 65 20 0d 0a 20 20 20 20 20 20 20 20 75 73  ;re ..        us
3a80: 69 6e 67 20 64 65 63 69 6d 61 6c 20 64 61 74 61  ing decimal data
3a90: 74 79 70 65 73 20 69 6e 20 79 6f 75 72 20 64 61  types in your da
3aa0: 74 61 62 61 73 65 20 61 6e 64 20 77 65 72 65 20  tabase and were 
3ab0: 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20  affected by the 
3ac0: 35 36 20 72 65 6c 65 61 73 65 2c 20 0d 0a 20 20  56 release, ..  
3ad0: 20 20 20 20 20 20 70 6c 65 61 73 65 20 69 73 73        please iss
3ae0: 75 65 20 61 6e 20 55 50 44 41 54 45 20 26 6c 74  ue an UPDATE &lt
3af0: 3b 74 61 62 6c 65 26 67 74 3b 20 53 45 54 20 26  ;table&gt; SET &
3b00: 6c 74 3b 63 6f 6c 75 6d 6e 26 67 74 3b 20 3d 20  lt;column&gt; = 
3b10: 52 45 50 4c 41 43 45 28 26 6c 74 3b 63 6f 6c 75  REPLACE(&lt;colu
3b20: 6d 6e 26 67 74 3b 2c 20 26 23 33 39 3b 2c 26 23  mn&gt;, &#39;,&#
3b30: 33 39 3b 2c 20 26 23 33 39 3b 2e 26 23 33 39 3b  39;, &#39;.&#39;
3b40: 29 3b 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20  );&nbsp; ..     
3b50: 20 20 20 74 6f 20 66 69 78 20 74 68 65 20 64 65     to fix the de
3b60: 63 69 6d 61 6c 20 73 65 70 61 72 61 74 6f 72 73  cimal separators
3b70: 2e 26 6e 62 73 70 3b 20 41 70 6f 6c 6f 67 69 65  .&nbsp; Apologie
3b80: 73 20 66 6f 72 20 6e 6f 74 20 74 65 73 74 69 6e  s for not testin
3b90: 67 20 74 68 61 74 20 6d 6f 72 65 20 0d 0a 20 20  g that more ..  
3ba0: 20 20 20 20 20 20 74 68 6f 72 6f 75 67 68 6c 79        thoroughly
3bb0: 20 62 65 66 6f 72 65 20 72 65 6c 65 61 73 69 6e   before releasin
3bc0: 67 20 35 36 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  g 56.</li>..    
3bd0: 20 20 3c 6c 69 3e 54 6f 6f 20 6d 61 6e 79 20 4c    <li>Too many L
3be0: 49 4e 51 20 66 69 78 65 73 20 74 6f 20 6c 69 73  INQ fixes to lis
3bf0: 74 2e 26 6e 62 73 70 3b 20 46 69 78 65 64 20 76  t.&nbsp; Fixed v
3c00: 69 65 77 73 20 73 6f 20 74 68 65 79 20 67 65 6e  iews so they gen
3c10: 65 72 61 74 65 2c 20 0d 0a 20 20 20 20 20 20 20  erate, ..       
3c20: 20 66 69 78 65 64 20 74 68 65 20 4c 49 4d 49 54   fixed the LIMIT
3c30: 20 63 6c 61 75 73 65 2c 20 69 6d 70 6c 65 6d 65   clause, impleme
3c40: 6e 74 65 64 20 61 64 64 69 74 69 6f 6e 61 6c 20  nted additional 
3c50: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 6e  functionality an
3c60: 64 20 72 65 6d 6f 76 65 64 20 75 6e 6e 65 63 65  d removed unnece
3c70: 73 73 61 72 79 20 63 6f 64 65 2e 3c 2f 6c 69 3e  ssary code.</li>
3c80: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  ..      <li>Fixe
3c90: 64 20 66 6f 72 65 69 67 6e 20 6b 65 79 20 6e 61  d foreign key na
3ca0: 6d 65 73 20 69 6e 20 74 68 65 20 64 65 73 69 67  mes in the desig
3cb0: 6e 65 72 20 73 6f 20 76 69 65 77 69 6e 67 20 74  ner so viewing t
3cc0: 68 65 20 53 51 4c 20 73 63 72 69 70 74 20 6f 6e  he SQL script on
3cd0: 20 61 20 6e 65 77 20 0d 0a 20 20 20 20 20 20 20   a new ..       
3ce0: 20 75 6e 73 61 76 65 64 20 74 61 62 6c 65 20 61   unsaved table a
3cf0: 66 74 65 72 20 72 65 6e 61 6d 69 6e 67 20 69 74  fter renaming it
3d00: 20 69 6e 20 74 68 65 20 70 72 6f 70 65 72 74 69   in the properti
3d10: 65 73 20 74 6f 6f 6c 77 69 6e 64 6f 77 20 77 69  es toolwindow wi
3d20: 6c 6c 20 72 65 66 6c 65 63 74 20 69 6e 20 74 68  ll reflect in th
3d30: 65 20 0d 0a 20 20 20 20 20 20 20 20 73 63 72 69  e ..        scri
3d40: 70 74 20 70 72 6f 70 65 72 6c 79 2e 3c 2f 6c 69  pt properly.</li
3d50: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  >..      <li>Fix
3d60: 65 64 20 74 68 65 20 55 70 64 61 74 65 20 61 6e  ed the Update an
3d70: 64 20 43 6f 6d 6d 69 74 20 65 76 65 6e 74 73 20  d Commit events 
3d80: 6f 6e 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  on SQLiteConnect
3d90: 69 6f 6e 20 73 6f 20 74 68 65 79 20 64 6f 6e 26  ion so they don&
3da0: 23 33 39 3b 74 20 72 65 71 75 69 72 65 20 0d 0a  #39;t require ..
3db0: 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6e 6e          the conn
3dc0: 65 63 74 69 6f 6e 20 74 6f 20 62 65 20 6f 70 65  ection to be ope
3dd0: 6e 65 64 20 66 69 72 73 74 2e 3c 2f 6c 69 3e 0d  ned first.</li>.
3de0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
3df0: 20 75 73 65 72 64 65 66 20 61 67 67 72 65 67 61   userdef aggrega
3e00: 74 65 20 66 75 6e 63 74 69 6f 6e 73 20 73 6f 20  te functions so 
3e10: 74 68 65 79 20 70 6c 61 79 20 6e 69 63 65 20 77  they play nice w
3e20: 69 74 68 20 65 61 63 68 20 6f 74 68 65 72 20 77  ith each other w
3e30: 68 65 6e 20 0d 0a 20 20 20 20 20 20 20 20 61 70  hen ..        ap
3e40: 70 65 61 72 69 6e 67 20 6d 75 6c 74 69 70 6c 65  pearing multiple
3e50: 20 74 69 6d 65 73 20 69 6e 20 74 68 65 20 73 61   times in the sa
3e60: 6d 65 20 73 74 61 74 65 6d 65 6e 74 2e 3c 2f 6c  me statement.</l
3e70: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  i>..      <li>Fi
3e80: 78 65 64 20 74 68 65 20 65 64 69 74 69 6e 67 20  xed the editing 
3e90: 61 6e 64 20 73 61 76 69 6e 67 20 6f 66 20 64 65  and saving of de
3ea0: 66 61 75 6c 74 20 76 61 6c 75 65 73 20 69 6e 20  fault values in 
3eb0: 74 68 65 20 74 61 62 6c 65 20 64 65 73 69 67 6e  the table design
3ec0: 65 72 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  er.</li>..      
3ed0: 3c 6c 69 3e 46 69 78 65 64 20 46 6f 72 65 69 67  <li>Fixed Foreig
3ee0: 6e 4b 65 79 73 20 73 63 68 65 6d 61 20 74 6f 20  nKeys schema to 
3ef0: 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 2d 63 6f  support multi-co
3f00: 6c 75 6d 6e 20 66 6f 72 65 69 67 6e 20 6b 65 79  lumn foreign key
3f10: 73 2e 26 6e 62 73 70 3b 20 41 6c 73 6f 20 0d 0a  s.&nbsp; Also ..
3f20: 20 20 20 20 20 20 20 20 68 61 63 6b 65 64 20 73          hacked s
3f30: 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 6d 20  upport for them 
3f40: 69 6e 20 74 68 65 20 74 61 62 6c 65 20 64 65 73  in the table des
3f50: 69 67 6e 65 72 2c 20 70 72 6f 76 69 64 65 64 20  igner, provided 
3f60: 74 77 6f 20 66 6f 72 65 69 67 6e 20 6b 65 79 73  two foreign keys
3f70: 20 69 6e 20 74 68 65 20 0d 0a 20 20 20 20 20 20   in the ..      
3f80: 20 20 64 65 73 69 67 6e 65 72 20 68 61 76 65 20    designer have 
3f90: 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 61 6e  the same name an
3fa0: 64 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20  d reference the 
3fb0: 73 61 6d 65 20 66 6f 72 65 69 67 6e 20 74 61 62  same foreign tab
3fc0: 6c 65 20 61 6e 64 20 64 69 66 66 65 72 65 6e 74  le and different
3fd0: 20 0d 0a 20 20 20 20 20 20 20 20 63 6f 6c 75 6d   ..        colum
3fe0: 6e 73 2e 26 6e 62 73 70 3b 20 57 69 6c 6c 20 69  ns.&nbsp; Will i
3ff0: 6d 70 6c 65 6d 65 6e 74 20 66 69 72 73 74 2d 63  mplement first-c
4000: 6c 61 73 73 20 73 75 70 70 6f 72 74 20 66 6f 72  lass support for
4010: 20 74 68 69 73 20 69 6e 20 74 68 65 20 6e 65 78   this in the nex
4020: 74 20 72 65 6c 65 61 73 65 2e 3c 2f 6c 69 3e 0d  t release.</li>.
4030: 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20  .    </ul>..    
4040: 3c 70 3e 3c 62 3e 31 2e 30 2e 35 36 2e 30 20 2d  <p><b>1.0.56.0 -
4050: 20 41 75 67 75 73 74 20 31 31 2c 20 32 30 30 38   August 11, 2008
4060: 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75  </b></p>..    <u
4070: 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  l>..      <li>Fi
4080: 78 65 64 20 61 20 62 75 67 20 69 6e 20 74 68 65  xed a bug in the
4090: 20 74 61 62 6c 65 20 64 65 73 69 67 6e 65 72 20   table designer 
40a0: 77 68 65 6e 20 64 65 73 69 67 6e 69 6e 67 20 6e  when designing n
40b0: 65 77 20 74 61 62 6c 65 73 2c 20 77 68 65 72 65  ew tables, where
40c0: 69 6e 20 79 6f 75 20 68 61 64 20 74 6f 20 0d 0a  in you had to ..
40d0: 20 20 20 20 20 20 20 20 73 61 76 65 20 74 68 65          save the
40e0: 20 74 61 62 6c 65 20 66 69 72 73 74 20 62 65 66   table first bef
40f0: 6f 72 65 20 62 65 69 6e 67 20 61 62 6c 65 20 74  ore being able t
4100: 6f 20 63 72 65 61 74 65 20 69 6e 64 65 78 65 73  o create indexes
4110: 20 61 6e 64 20 66 6f 72 65 69 67 6e 20 6b 65 79   and foreign key
4120: 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  s.</li>..      <
4130: 6c 69 3e 54 77 65 61 6b 73 20 74 6f 20 64 65 63  li>Tweaks to dec
4140: 69 6d 61 6c 20 74 79 70 65 20 68 61 6e 64 6c 69  imal type handli
4150: 6e 67 2e 26 6e 62 73 70 3b 20 54 68 65 20 26 23  ng.&nbsp; The &#
4160: 33 39 3b 64 65 63 69 6d 61 6c 26 23 33 39 3b 20  39;decimal&#39; 
4170: 74 79 70 65 20 63 61 6e 26 23 33 39 3b 74 20 62  type can&#39;t b
4180: 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 0d 0a  e represented ..
4190: 20 20 20 20 20 20 20 20 62 79 20 49 6e 74 36 34          by Int64
41a0: 20 6f 72 20 44 6f 75 62 6c 65 20 28 77 69 74 68   or Double (with
41b0: 6f 75 74 20 6c 6f 73 73 20 6f 66 20 70 72 65 63  out loss of prec
41c0: 69 73 69 6f 6e 29 20 69 6e 20 53 51 4c 69 74 65  ision) in SQLite
41d0: 2c 20 73 6f 20 77 65 20 68 61 76 65 20 74 6f 20  , so we have to 
41e0: 66 75 64 67 65 20 69 74 20 0d 0a 20 20 20 20 20  fudge it ..     
41f0: 20 20 20 62 79 20 74 72 65 61 74 69 6e 67 20 69     by treating i
4200: 74 20 6c 69 6b 65 20 61 20 73 74 72 69 6e 67 20  t like a string 
4210: 61 6e 64 20 63 6f 6e 76 65 72 74 69 6e 67 20 69  and converting i
4220: 74 20 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 68  t back and forth
4230: 20 69 6e 20 74 68 65 20 70 72 6f 76 69 64 65 72   in the provider
4240: 2e 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20 20  .&nbsp; ..      
4250: 20 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20    Unfortunately 
4260: 62 61 63 6b 69 6e 67 20 69 74 20 74 6f 20 74 68  backing it to th
4270: 65 20 64 62 20 61 73 20 61 20 73 74 72 69 6e 67  e db as a string
4280: 20 63 61 75 73 65 73 20 73 6f 72 74 69 6e 67 20   causes sorting 
4290: 70 72 6f 62 6c 65 6d 73 2e 26 6e 62 73 70 3b 20  problems.&nbsp; 
42a0: 0d 0a 20 20 20 20 20 20 20 20 53 65 65 20 3c 61  ..        See <a
42b0: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 73 71   href="http://sq
42c0: 6c 69 74 65 2e 70 68 78 73 6f 66 74 77 61 72 65  lite.phxsoftware
42d0: 2e 63 6f 6d 2f 66 6f 72 75 6d 73 2f 70 2f 31 32  .com/forums/p/12
42e0: 39 36 2f 35 35 39 35 2e 61 73 70 78 23 35 35 39  96/5595.aspx#559
42f0: 35 22 3e 74 68 69 73 20 0d 0a 20 20 20 20 20 20  5">this ..      
4300: 20 20 70 6f 73 74 3c 2f 61 3e 20 0d 0a 20 20 20    post</a> ..   
4310: 20 20 20 20 20 66 6f 72 20 64 65 74 61 69 6c 73       for details
4320: 20 6f 6e 20 75 73 69 6e 67 20 61 20 63 75 73 74   on using a cust
4330: 6f 6d 20 63 6f 6c 6c 61 74 69 6f 6e 20 73 65 71  om collation seq
4340: 75 65 6e 63 65 20 74 6f 20 6f 76 65 72 63 6f 6d  uence to overcom
4350: 65 20 74 68 65 20 73 6f 72 74 69 6e 67 20 69 73  e the sorting is
4360: 73 75 65 20 61 72 69 73 69 6e 67 20 66 72 6f 6d  sue arising from
4370: 20 74 68 69 73 20 70 61 74 63 68 2e 3c 2f 6c 69   this patch.</li
4380: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 69 6e  >..      <li>Min
4390: 6f 72 20 74 77 65 61 6b 73 20 61 6e 64 20 62 75  or tweaks and bu
43a0: 67 66 69 78 65 73 20 74 6f 20 74 68 65 20 74 65  gfixes to the te
43b0: 73 74 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 74  st program and t
43c0: 68 65 20 70 72 6f 76 69 64 65 72 2e 3c 2f 6c 69  he provider.</li
43d0: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 6f 72  >..      <li>Mor
43e0: 65 20 61 64 6a 75 73 74 6d 65 6e 74 73 20 74 6f  e adjustments to
43f0: 20 6d 61 6b 65 20 74 68 65 20 6d 61 6e 61 67 65   make the manage
4400: 64 2d 6f 6e 6c 79 20 76 65 72 73 69 6f 6e 20 6f  d-only version o
4410: 66 20 74 68 65 20 70 72 6f 76 69 64 65 72 20 72  f the provider r
4420: 75 6e 20 61 6e 64 20 70 61 73 73 20 0d 0a 20 20  un and pass ..  
4430: 20 20 20 20 20 20 61 6c 6c 20 74 65 73 74 73 20        all tests 
4440: 6f 6e 20 4d 6f 6e 6f 2e 3c 2f 6c 69 3e 0d 0a 20  on Mono.</li>.. 
4450: 20 20 20 20 20 3c 6c 69 3e 4c 49 4e 51 20 74 6f       <li>LINQ to
4460: 20 45 6e 74 69 74 69 65 73 20 62 69 74 73 20 68   Entities bits h
4470: 65 61 76 69 6c 79 20 75 70 64 61 74 65 64 20 61  eavily updated a
4480: 6e 64 20 63 6f 6d 70 69 6c 65 64 20 61 67 61 69  nd compiled agai
4490: 6e 73 74 20 56 53 32 30 30 38 20 53 50 31 20 52  nst VS2008 SP1 R
44a0: 54 4d 2e 26 6e 62 73 70 3b 20 53 51 4c 69 74 65  TM.&nbsp; SQLite
44b0: 20 0d 0a 20 20 20 20 20 20 20 20 4c 49 4e 51 20   ..        LINQ 
44c0: 73 75 70 70 6f 72 74 20 69 73 20 73 74 69 6c 6c  support is still
44d0: 20 63 6f 6e 73 69 64 65 72 65 64 20 62 65 74 61   considered beta
44e0: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c  .</li>..    </ul
44f0: 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  >..    <p><b>1.0
4500: 2e 35 35 2e 30 20 2d 20 41 75 67 75 73 74 20 36  .55.0 - August 6
4510: 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0d 0a  , 2008</b></p>..
4520: 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20      <ul>..      
4530: 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77  <li>Code merge w
4540: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 36 2e 31  ith SQLite 3.6.1
4550: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
4560: 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66  >Added support f
4570: 6f 72 20 74 68 65 20 75 73 65 72 2d 63 6f 6e 74  or the user-cont
4580: 72 69 62 75 74 65 64 20 65 78 74 65 6e 73 69 6f  ributed extensio
4590: 6e 2d 66 75 6e 63 74 69 6f 6e 73 20 61 74 0d 0a  n-functions at..
45a0: 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d          <a href=
45b0: 22 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69  "http://www.sqli
45c0: 74 65 2e 6f 72 67 2f 63 6f 6e 74 72 69 62 22 3e  te.org/contrib">
45d0: 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74  http://www.sqlit
45e0: 65 2e 6f 72 67 2f 63 6f 6e 74 72 69 62 3c 2f 61  e.org/contrib</a
45f0: 3e 2e 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20  >.&nbsp; ..     
4600: 20 20 20 46 65 65 6c 20 66 72 65 65 20 74 6f 20     Feel free to 
4610: 6f 76 65 72 72 69 64 65 20 61 6e 79 20 6f 66 20  override any of 
4620: 74 68 65 6d 20 77 69 74 68 20 79 6f 75 72 20 6f  them with your o
4630: 77 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  wn implementatio
4640: 6e 2e 26 6e 62 73 70 3b 20 54 68 65 20 6e 65 77  n.&nbsp; The new
4650: 20 0d 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74   ..        funct
4660: 69 6f 6e 73 20 61 72 65 3a 20 3c 69 3e 61 63 6f  ions are: <i>aco
4670: 73 2c 20 61 73 69 6e 2c 20 61 74 61 6e 2c 20 61  s, asin, atan, a
4680: 74 6e 32 2c 20 61 74 61 6e 32 2c 20 61 63 6f 73  tn2, atan2, acos
4690: 68 2c 20 61 73 69 6e 68 2c 20 61 74 61 6e 68 2c  h, asinh, atanh,
46a0: 20 0d 0a 20 20 20 20 20 20 20 20 64 69 66 66 65   ..        diffe
46b0: 72 65 6e 63 65 2c 20 64 65 67 72 65 65 73 2c 20  rence, degrees, 
46c0: 72 61 64 69 61 6e 73 2c 20 63 6f 73 2c 20 73 69  radians, cos, si
46d0: 6e 2c 20 74 61 6e 2c 20 63 6f 74 2c 20 63 6f 73  n, tan, cot, cos
46e0: 68 2c 20 73 69 6e 68 2c 20 74 61 6e 68 2c 20 63  h, sinh, tanh, c
46f0: 6f 74 68 2c 20 65 78 70 2c 20 0d 0a 20 20 20 20  oth, exp, ..    
4700: 20 20 20 20 6c 6f 67 2c 20 6c 6f 67 31 30 2c 20      log, log10, 
4710: 70 6f 77 65 72 2c 20 73 69 67 6e 2c 20 73 71 72  power, sign, sqr
4720: 74 2c 20 73 71 75 61 72 65 2c 20 63 65 69 6c 2c  t, square, ceil,
4730: 20 66 6c 6f 6f 72 2c 20 70 69 2c 20 72 65 70 6c   floor, pi, repl
4740: 69 63 61 74 65 2c 20 63 68 61 72 69 6e 64 65 78  icate, charindex
4750: 2c 20 0d 0a 20 20 20 20 20 20 20 20 6c 65 66 74  , ..        left
4760: 73 74 72 2c 20 72 69 67 68 74 73 74 72 2c 20 72  str, rightstr, r
4770: 65 76 65 72 73 65 2c 20 70 72 6f 70 65 72 2c 20  everse, proper, 
4780: 70 61 64 6c 2c 20 70 61 64 72 2c 20 70 61 64 63  padl, padr, padc
4790: 2c 20 73 74 72 66 69 6c 74 65 72 2c 3c 2f 69 3e  , strfilter,</i>
47a0: 20 61 6e 64 20 0d 0a 20 20 20 20 20 20 20 20 61   and ..        a
47b0: 67 67 72 65 67 61 74 65 73 20 3c 69 3e 73 74 64  ggregates <i>std
47c0: 65 76 2c 20 76 61 72 69 61 6e 63 65 2c 20 6d 6f  ev, variance, mo
47d0: 64 65 2c 20 6d 65 64 69 61 6e 2c 20 6c 6f 77 65  de, median, lowe
47e0: 72 5f 71 75 61 72 74 69 6c 65 2c 20 75 70 70 65  r_quartile, uppe
47f0: 72 5f 71 75 61 72 74 69 6c 65 2e 3c 2f 69 3e 3c  r_quartile.</i><
4800: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
4810: 4d 6f 76 65 64 20 74 68 65 20 6c 61 73 74 5f 72  Moved the last_r
4820: 6f 77 73 5f 61 66 66 65 63 74 65 64 28 29 20 66  ows_affected() f
4830: 75 6e 63 74 69 6f 6e 20 74 6f 20 74 68 65 20 43  unction to the C
4840: 20 65 78 74 65 6e 73 69 6f 6e 20 6c 69 62 72 61   extension libra
4850: 72 79 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  ry.</li>..      
4860: 3c 6c 69 3e 41 64 64 65 64 20 61 20 6e 65 77 20  <li>Added a new 
4870: 63 6c 61 73 73 2c 20 53 51 4c 69 74 65 46 75 6e  class, SQLiteFun
4880: 63 74 69 6f 6e 45 78 20 77 68 69 63 68 20 65 78  ctionEx which ex
4890: 74 65 6e 64 73 20 53 51 4c 69 74 65 46 75 6e 63  tends SQLiteFunc
48a0: 74 69 6f 6e 20 61 6e 64 20 61 64 64 73 20 74 68  tion and adds th
48b0: 65 20 0d 0a 20 20 20 20 20 20 20 20 61 62 69 6c  e ..        abil
48c0: 69 74 79 20 66 6f 72 20 61 20 75 73 65 72 2d 64  ity for a user-d
48d0: 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20  efined function 
48e0: 74 6f 20 67 65 74 20 74 68 65 20 63 6f 6c 6c 61  to get the colla
48f0: 74 69 6e 67 20 73 65 71 75 65 6e 63 65 20 64 75  ting sequence du
4900: 72 69 6e 67 20 74 68 65 20 0d 0a 20 20 20 20 20  ring the ..     
4910: 20 20 20 49 6e 76 6f 6b 65 2f 53 74 65 70 20 6d     Invoke/Step m
4920: 65 74 68 6f 64 73 2e 26 6e 62 73 70 3b 20 55 73  ethods.&nbsp; Us
4930: 65 72 2d 64 65 66 69 6e 65 64 20 66 75 6e 63 74  er-defined funct
4940: 69 6f 6e 73 20 63 61 6e 20 75 73 65 20 74 68 65  ions can use the
4950: 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71 75 65   collating seque
4960: 6e 63 65 20 0d 0a 20 20 20 20 20 20 20 20 61 73  nce ..        as
4970: 20 61 20 68 65 6c 70 65 72 20 74 6f 20 63 6f 6d   a helper to com
4980: 70 61 72 65 20 76 61 6c 75 65 73 2e 3c 2f 6c 69  pare values.</li
4990: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 57 68 65  >..      <li>Whe
49a0: 6e 20 72 65 67 69 73 74 65 72 69 6e 67 20 75 73  n registering us
49b0: 65 72 2d 64 65 66 69 6e 65 64 20 63 6f 6c 6c 61  er-defined colla
49c0: 74 69 6f 6e 20 73 65 71 75 65 6e 63 65 73 20 61  tion sequences a
49d0: 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68  nd functions, th
49e0: 65 20 70 72 6f 76 69 64 65 72 20 0d 0a 20 20 20  e provider ..   
49f0: 20 20 20 20 20 77 69 6c 6c 20 6e 6f 77 20 72 65       will now re
4a00: 67 69 73 74 65 72 20 62 6f 74 68 20 61 20 55 54  gister both a UT
4a10: 46 38 20 61 6e 64 20 61 20 55 54 46 31 36 20 76  F8 and a UTF16 v
4a20: 65 72 73 69 6f 6e 20 69 6e 73 74 65 61 64 20 6f  ersion instead o
4a30: 66 20 6a 75 73 74 20 55 54 46 38 2e 3c 2f 6c 69  f just UTF8.</li
4a40: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65 76  >..      <li>Rev
4a50: 61 6d 70 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e  amped connection
4a60: 20 70 6f 6f 6c 69 6e 67 20 61 6e 64 20 61 64 64   pooling and add
4a70: 65 64 20 73 74 61 74 69 63 20 43 6c 65 61 72 50  ed static ClearP
4a80: 6f 6f 6c 28 29 20 61 6e 64 20 43 6c 65 61 72 41  ool() and ClearA
4a90: 6c 6c 50 6f 6f 6c 73 28 29 20 0d 0a 20 20 20 20  llPools() ..    
4aa0: 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f      functions to
4ab0: 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f   SQLiteConnectio
4ac0: 6e 2e 26 6e 62 73 70 3b 20 42 65 68 61 76 69 6f  n.&nbsp; Behavio
4ad0: 72 20 6f 66 20 74 68 65 20 70 6f 6f 6c 20 61 6e  r of the pool an
4ae0: 64 20 69 74 73 20 63 6c 65 61 72 69 6e 67 20 0d  d its clearing .
4af0: 0a 20 20 20 20 20 20 20 20 6d 65 63 68 61 6e 69  .        mechani
4b00: 63 73 20 6d 61 74 63 68 20 53 71 6c 43 6c 69 65  cs match SqlClie
4b10: 6e 74 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  nt.</li>..      
4b20: 3c 6c 69 3e 46 69 78 65 64 20 63 6f 6e 6e 65 63  <li>Fixed connec
4b30: 74 69 6f 6e 73 20 67 6f 69 6e 67 20 74 6f 20 74  tions going to t
4b40: 68 65 20 70 6f 6f 6c 20 73 6f 20 74 68 61 74 20  he pool so that 
4b50: 61 6e 79 20 75 6e 66 69 6e 61 6c 69 7a 65 64 20  any unfinalized 
4b60: 6c 69 6e 67 65 72 69 6e 67 20 63 6f 6d 6d 61 6e  lingering comman
4b70: 64 73 20 0d 0a 20 20 20 20 20 20 20 20 66 72 6f  ds ..        fro
4b80: 6d 20 75 6e 2d 63 6f 6c 6c 65 63 74 65 64 20 64  m un-collected d
4b90: 61 74 61 72 65 61 64 65 72 73 20 61 72 65 20 61  atareaders are a
4ba0: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 73  utomatically res
4bb0: 65 74 20 61 6e 64 20 61 6e 79 20 6c 75 72 6b 69  et and any lurki
4bc0: 6e 67 20 0d 0a 20 20 20 20 20 20 20 20 74 72 61  ng ..        tra
4bd0: 6e 73 61 63 74 69 6f 6e 73 20 6d 61 64 65 20 6f  nsactions made o
4be0: 6e 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  n the connection
4bf0: 20 61 72 65 20 72 6f 6c 6c 65 64 20 62 61 63 6b   are rolled back
4c00: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  .</li>..      <l
4c10: 69 3e 54 72 61 6e 73 61 63 74 69 6f 6e 20 69 73  i>Transaction is
4c20: 6f 6c 61 74 69 6f 6e 20 6c 65 76 65 6c 73 20 61  olation levels a
4c30: 72 65 20 6e 6f 77 20 70 61 72 74 69 61 6c 6c 79  re now partially
4c40: 20 73 75 70 70 6f 72 74 65 64 2e 26 6e 62 73 70   supported.&nbsp
4c50: 3b 20 53 65 72 69 61 6c 69 7a 61 62 6c 65 20 0d  ; Serializable .
4c60: 0a 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20  .        is the 
4c70: 64 65 66 61 75 6c 74 2c 20 77 68 69 63 68 20 6f  default, which o
4c80: 62 74 61 69 6e 73 20 72 65 61 64 2f 77 72 69 74  btains read/writ
4c90: 65 20 6c 6f 63 6b 73 20 69 6d 6d 65 64 69 61 74  e locks immediat
4ca0: 65 6c 79 20 2d 2d 20 74 68 69 73 20 69 73 20 63  ely -- this is c
4cb0: 6f 6d 70 61 74 69 62 6c 65 20 0d 0a 20 20 20 20  ompatible ..    
4cc0: 20 20 20 20 77 69 74 68 20 70 72 65 76 69 6f 75      with previou
4cd0: 73 20 72 65 6c 65 61 73 65 73 20 6f 66 20 74 68  s releases of th
4ce0: 65 20 70 72 6f 76 69 64 65 72 2e 26 6e 62 73 70  e provider.&nbsp
4cf0: 3b 20 55 6e 73 70 65 63 69 66 69 65 64 20 77 69  ; Unspecified wi
4d00: 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20 0d 0a  ll default to ..
4d10: 20 20 20 20 20 20 20 20 77 68 61 74 65 76 65 72          whatever
4d20: 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 73 6f   the default iso
4d30: 6c 61 74 69 6f 6e 20 6d 6f 64 65 20 69 73 20 73  lation mode is s
4d40: 65 74 20 74 6f 2c 20 61 6e 64 20 52 65 61 64 43  et to, and ReadC
4d50: 6f 6d 6d 69 74 74 65 64 20 77 69 6c 6c 20 63 61  ommitted will ca
4d60: 75 73 65 20 61 20 0d 0a 20 20 20 20 20 20 20 20  use a ..        
4d70: 64 65 66 65 72 72 65 64 20 6c 6f 63 6b 20 74 6f  deferred lock to
4d80: 20 62 65 20 6f 62 74 61 69 6e 65 64 2e 26 6e 62   be obtained.&nb
4d90: 73 70 3b 20 4e 6f 20 6f 74 68 65 72 20 76 61 6c  sp; No other val
4da0: 75 65 73 20 61 72 65 20 6c 65 67 61 6c 2e 3c 2f  ues are legal.</
4db0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 52  li>..      <li>R
4dc0: 65 76 61 6d 70 65 64 20 74 68 65 20 74 65 73 74  evamped the test
4dd0: 2e 65 78 65 20 70 72 6f 67 72 61 6d 2e 26 6e 62  .exe program.&nb
4de0: 73 70 3b 20 49 74 26 23 33 39 3b 73 20 6e 6f 77  sp; It&#39;s now
4df0: 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20   an interactive 
4e00: 47 55 49 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e  GUI application.
4e10: 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20 20 20  &nbsp; ..       
4e20: 20 45 61 73 69 65 72 20 66 6f 72 20 6d 65 20 74   Easier for me t
4e30: 6f 20 61 64 64 20 74 65 73 74 73 20 6e 6f 77 2e  o add tests now.
4e40: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
4e50: 3e 54 77 65 61 6b 73 20 74 6f 20 74 68 65 20 56  >Tweaks to the V
4e60: 53 20 64 65 73 69 67 6e 65 72 20 70 61 63 6b 61  S designer packa
4e70: 67 65 20 61 6e 64 20 69 6e 73 74 61 6c 6c 65 72  ge and installer
4e80: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  .</li>..      <l
4e90: 69 3e 4d 6f 72 65 20 61 64 6a 75 73 74 6d 65 6e  i>More adjustmen
4ea0: 74 73 20 74 6f 20 74 68 65 20 69 6e 74 65 72 6e  ts to the intern
4eb0: 61 6c 20 53 51 4c 69 74 65 33 2e 50 72 65 70 61  al SQLite3.Prepa
4ec0: 72 65 28 29 20 6d 65 74 68 6f 64 20 74 6f 20 61  re() method to a
4ed0: 63 63 6f 75 6e 74 20 66 6f 72 20 62 6f 74 68 20  ccount for both 
4ee0: 0d 0a 20 20 20 20 20 20 20 20 6b 69 6e 64 73 20  ..        kinds 
4ef0: 6f 66 20 6c 6f 63 6b 20 65 72 72 6f 72 73 20 77  of lock errors w
4f00: 68 65 6e 20 72 65 74 72 79 69 6e 67 2e 3c 2f 6c  hen retrying.</l
4f10: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 53 74  i>..      <li>St
4f20: 72 69 70 70 65 64 20 61 20 6c 6f 74 20 6f 66 20  ripped a lot of 
4f30: 75 6e 6e 65 63 65 73 73 61 72 79 20 69 6e 74 65  unnecessary inte
4f40: 72 6f 70 28 29 20 63 61 6c 6c 73 20 61 6e 64 20  rop() calls and 
4f50: 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 62 61  replaced with ba
4f60: 73 65 20 73 71 6c 69 74 65 20 63 61 6c 6c 73 2e  se sqlite calls.
4f70: 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20 20 20  &nbsp; ..       
4f80: 20 52 65 76 61 6d 70 65 64 20 6d 6f 73 74 20 6f   Revamped most o
4f90: 66 20 55 6e 73 61 66 65 4e 61 74 69 76 65 4d 65  f UnsafeNativeMe
4fa0: 74 68 6f 64 73 20 74 6f 20 6d 61 6b 65 20 69 74  thods to make it
4fb0: 20 65 61 73 69 65 72 20 74 6f 20 70 6f 72 74 20   easier to port 
4fc0: 74 68 65 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a  the code.</li>..
4fd0: 20 20 20 20 20 20 3c 6c 69 3e 52 65 72 69 67 67        <li>Rerigg
4fe0: 65 64 20 69 6e 74 65 72 6e 61 6c 20 63 61 6c 6c  ed internal call
4ff0: 62 61 63 6b 73 20 66 6f 72 20 75 73 65 72 64 65  backs for userde
5000: 66 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20  f functions and 
5010: 6f 74 68 65 72 20 6e 61 74 69 76 65 20 74 6f 20  other native to 
5020: 6d 61 6e 61 67 65 64 20 0d 0a 20 20 20 20 20 20  managed ..      
5030: 20 20 63 61 6c 6c 62 61 63 6b 73 2e 26 6e 62 73    callbacks.&nbs
5040: 70 3b 20 4d 6f 72 65 20 70 6f 72 74 61 62 6c 65  p; More portable
5050: 20 74 68 69 73 20 77 61 79 2e 3c 2f 6c 69 3e 0d   this way.</li>.
5060: 0a 20 20 20 20 20 20 3c 6c 69 3e 53 6f 75 72 63  .      <li>Sourc
5070: 65 20 63 61 6e 20 6e 6f 77 20 63 61 6e 20 62 65  e can now can be
5080: 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 74   compiled with t
5090: 68 65 20 53 51 4c 49 54 45 5f 53 54 41 4e 44 41  he SQLITE_STANDA
50a0: 52 44 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20  RD preprocessor 
50b0: 73 79 6d 62 6f 6c 20 74 6f 20 0d 0a 20 20 20 20  symbol to ..    
50c0: 20 20 20 20 66 6f 72 63 65 20 74 68 65 20 77 72      force the wr
50d0: 61 70 70 65 72 20 74 6f 20 75 73 65 20 74 68 65  apper to use the
50e0: 20 73 74 6f 63 6b 20 73 71 6c 69 74 65 33 20 6c   stock sqlite3 l
50f0: 69 62 72 61 72 79 2e 26 6e 62 73 70 3b 20 53 6f  ibrary.&nbsp; So
5100: 6d 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  me functionality
5110: 20 69 73 20 0d 0a 20 20 20 20 20 20 20 20 6d 69   is ..        mi
5120: 73 73 69 6e 67 2c 20 62 75 74 20 69 74 73 20 6d  ssing, but its m
5130: 69 6e 69 6d 61 6c 2e 26 6e 62 73 70 3b 20 4e 6f  inimal.&nbsp; No
5140: 6e 65 20 6f 66 20 74 68 65 20 70 72 65 63 6f 6d  ne of the precom
5150: 70 69 6c 65 64 20 62 69 6e 61 72 69 65 73 20 61  piled binaries a
5160: 72 65 20 63 6f 6d 70 69 6c 65 64 20 0d 0a 20 20  re compiled ..  
5170: 20 20 20 20 20 20 75 73 69 6e 67 20 74 68 69 73        using this
5180: 20 73 65 74 74 69 6e 67 2c 20 62 75 74 20 69 74   setting, but it
5190: 73 20 75 73 65 66 75 6c 20 66 6f 72 20 74 65 73  s useful for tes
51a0: 74 69 6e 67 20 70 6f 72 74 61 62 69 6c 69 74 79  ting portability
51b0: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  .</li>..      <l
51c0: 69 3e 41 64 64 65 64 20 26 71 75 6f 74 3b 62 6f  i>Added &quot;bo
51d0: 6f 6c 65 61 6e 26 71 75 6f 74 3b 20 61 6e 64 20  olean&quot; and 
51e0: 61 20 63 6f 75 70 6c 65 20 6f 74 68 65 72 20 6d  a couple other m
51f0: 69 73 73 69 6e 67 20 64 61 74 61 74 79 70 65 73  issing datatypes
5200: 20 74 6f 20 74 68 65 20 26 71 75 6f 74 3b 44 61   to the &quot;Da
5210: 74 61 54 79 70 65 73 26 71 75 6f 74 3b 20 73 63  taTypes&quot; sc
5220: 68 65 6d 61 20 0d 0a 20 20 20 20 20 20 20 20 78  hema ..        x
5230: 6d 6c 20 66 69 6c 65 2e 26 6e 62 73 70 3b 20 55  ml file.&nbsp; U
5240: 73 65 64 20 62 79 20 74 68 65 20 56 53 20 64 65  sed by the VS de
5250: 73 69 67 6e 65 72 20 77 68 65 6e 20 64 69 73 70  signer when disp
5260: 6c 61 79 69 6e 67 20 74 61 62 6c 65 73 20 61 6e  laying tables an
5270: 64 20 71 75 65 72 79 69 6e 67 2e 3c 2f 6c 69 3e  d querying.</li>
5280: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  ..      <li>Adde
5290: 64 20 61 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69  d a new connecti
52a0: 6f 6e 20 73 74 72 69 6e 67 20 6f 70 74 69 6f 6e  on string option
52b0: 20 26 71 75 6f 74 3b 52 65 61 64 20 4f 6e 6c 79   &quot;Read Only
52c0: 26 71 75 6f 74 3b 2e 26 6e 62 73 70 3b 20 57 68  &quot;.&nbsp; Wh
52d0: 65 6e 20 73 65 74 20 74 6f 20 54 72 75 65 2c 20  en set to True, 
52e0: 74 68 65 20 0d 0a 20 20 20 20 20 20 20 20 64 61  the ..        da
52f0: 74 61 62 61 73 65 20 77 69 6c 6c 20 62 65 20 6f  tabase will be o
5300: 70 65 6e 65 64 20 69 6e 20 72 65 61 64 2d 6f 6e  pened in read-on
5310: 6c 79 20 6d 6f 64 65 2e 3c 2f 6c 69 3e 0d 0a 20  ly mode.</li>.. 
5320: 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 61       <li>Added a
5330: 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 20   new connection 
5340: 73 74 72 69 6e 67 20 6f 70 74 69 6f 6e 20 26 71  string option &q
5350: 75 6f 74 3b 4d 61 78 20 50 6f 6f 6c 20 53 69 7a  uot;Max Pool Siz
5360: 65 26 71 75 6f 74 3b 20 74 6f 20 73 65 74 20 74  e&quot; to set t
5370: 68 65 20 6d 61 78 69 6d 75 6d 20 73 69 7a 65 20  he maximum size 
5380: 0d 0a 20 20 20 20 20 20 20 20 6f 66 20 74 68 65  ..        of the
5390: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 6f 6f 6c   connection pool
53a0: 20 66 6f 72 20 61 20 67 69 76 65 6e 20 64 62 20   for a given db 
53b0: 66 69 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e  file connection.
53c0: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
53d0: 3e 41 64 64 65 64 20 61 20 6e 65 77 20 63 6f 6e  >Added a new con
53e0: 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 6f  nection string o
53f0: 70 74 69 6f 6e 20 26 71 75 6f 74 3b 44 65 66 61  ption &quot;Defa
5400: 75 6c 74 20 49 73 6f 6c 61 74 69 6f 6e 4c 65 76  ult IsolationLev
5410: 65 6c 26 71 75 6f 74 3b 20 74 6f 20 73 65 74 20  el&quot; to set 
5420: 74 68 65 20 0d 0a 20 20 20 20 20 20 20 20 64 65  the ..        de
5430: 66 61 75 6c 74 20 69 73 6f 6c 61 74 69 6f 6e 20  fault isolation 
5440: 6c 65 76 65 6c 20 6f 66 20 74 72 61 6e 73 61 63  level of transac
5450: 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 20 50 6f 73  tions.&nbsp; Pos
5460: 73 69 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65  sible values are
5470: 20 53 65 72 69 61 6c 69 7a 61 62 6c 65 20 61 6e   Serializable an
5480: 64 20 0d 0a 20 20 20 20 20 20 20 20 52 65 61 64  d ..        Read
5490: 43 6f 6d 6d 69 74 74 65 64 2e 3c 2f 6c 69 3e 0d  Committed.</li>.
54a0: 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64  .      <li>Added
54b0: 20 61 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f   a new connectio
54c0: 6e 20 73 74 72 69 6e 67 20 6f 70 74 69 6f 6e 20  n string option 
54d0: 26 71 75 6f 74 3b 55 52 49 26 71 75 6f 74 3b 20  &quot;URI&quot; 
54e0: 61 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70  as an optional p
54f0: 61 72 61 6d 65 74 65 72 20 66 6f 72 20 0d 0a 20  arameter for .. 
5500: 20 20 20 20 20 20 20 63 6f 6d 70 61 74 69 62 69         compatibi
5510: 6c 69 74 79 20 77 69 74 68 20 6f 74 68 65 72 20  lity with other 
5520: 70 6f 72 74 73 20 6f 66 20 74 68 65 20 70 72 6f  ports of the pro
5530: 76 69 64 65 72 2e 3c 2f 6c 69 3e 0d 0a 20 20 20  vider.</li>..   
5540: 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c   </ul>..    <p><
5550: 62 3e 31 2e 30 2e 35 34 2e 30 20 2d 20 4a 75 6c  b>1.0.54.0 - Jul
5560: 79 20 32 35 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f  y 25, 2008</b></
5570: 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20  p>..    <ul>..  
5580: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74 68      <li>Fixed th
5590: 65 20 73 65 74 75 70 20 70 72 6f 6a 65 63 74 2c  e setup project,
55a0: 20 77 68 69 63 68 20 73 6f 6d 65 68 6f 77 20 26   which somehow &
55b0: 71 75 6f 74 3b 66 6f 72 67 6f 74 26 71 75 6f 74  quot;forgot&quot
55c0: 3b 20 74 6f 20 69 6e 63 6c 75 64 65 20 61 6c 6c  ; to include all
55d0: 20 74 68 65 20 62 69 6e 61 72 69 65 73 20 69 6e   the binaries in
55e0: 20 0d 0a 20 20 20 20 20 20 20 20 74 68 65 20 35   ..        the 5
55f0: 33 20 72 65 6c 65 61 73 65 2e 3c 2f 6c 69 3e 0d  3 release.</li>.
5600: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
5610: 20 61 20 63 72 61 73 68 20 69 6e 20 74 68 65 20   a crash in the 
5620: 74 61 62 6c 65 20 64 65 73 69 67 6e 65 72 20 77  table designer w
5630: 68 65 6e 20 63 72 65 61 74 69 6e 67 20 61 20 6e  hen creating a n
5640: 65 77 20 74 61 62 6c 65 20 61 6e 64 20 74 61 62  ew table and tab
5650: 62 69 6e 67 20 70 61 73 74 20 0d 0a 20 20 20 20  bing past ..    
5660: 20 20 20 20 74 68 65 20 26 71 75 6f 74 3b 41 6c      the &quot;Al
5670: 6c 6f 77 20 4e 75 6c 6c 73 26 71 75 6f 74 3b 20  low Nulls&quot; 
5680: 63 65 6c 6c 20 69 6e 20 74 68 65 20 67 72 69 64  cell in the grid
5690: 20 77 68 69 6c 65 20 63 72 65 61 74 69 6e 67 20   while creating 
56a0: 61 20 6e 65 77 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c  a new column.</l
56b0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  i>..      <li>Fi
56c0: 78 65 64 20 61 20 6d 6f 73 74 6c 79 2d 62 65 6e  xed a mostly-ben
56d0: 69 67 6e 20 62 75 67 20 69 6e 20 53 51 4c 69 74  ign bug in SQLit
56e0: 65 44 61 74 61 52 65 61 64 65 72 26 23 33 39 3b  eDataReader&#39;
56f0: 73 20 47 65 74 45 6e 75 6d 65 72 61 74 6f 72 2c  s GetEnumerator,
5700: 20 77 68 69 63 68 20 66 61 69 6c 65 64 20 74 6f   which failed to
5710: 20 0d 0a 20 20 20 20 20 20 20 20 70 61 73 73 20   ..        pass 
5720: 61 6c 6f 6e 67 20 61 20 66 6c 61 67 20 74 6f 20  along a flag to 
5730: 74 68 65 20 75 6e 64 65 72 79 6c 69 6e 67 20 44  the underyling D
5740: 62 45 6e 75 6d 65 72 61 74 6f 72 20 69 74 20 63  bEnumerator it c
5750: 72 65 61 74 65 73 2e 26 6e 62 73 70 3b 20 54 68  reates.&nbsp; Th
5760: 69 73 20 6f 6e 65 26 23 33 39 3b 73 20 0d 0a 20  is one&#39;s .. 
5770: 20 20 20 20 20 20 20 62 65 65 6e 20 61 72 6f 75         been arou
5780: 6e 64 20 73 69 6e 63 65 20 64 61 79 20 31 20 61  nd since day 1 a
5790: 6e 64 20 6e 6f 62 6f 64 79 26 23 33 39 3b 73 20  nd nobody&#39;s 
57a0: 6e 6f 74 69 63 65 64 20 69 74 20 69 6e 20 61 6c  noticed it in al
57b0: 6c 20 74 68 65 73 65 20 79 65 61 72 73 2e 3c 2f  l these years.</
57c0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41  li>..      <li>A
57d0: 64 64 65 64 20 61 20 6e 65 77 20 63 6f 6e 6e 65  dded a new conne
57e0: 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 70 61 72  ction string par
57f0: 61 6d 65 74 65 72 20 26 71 75 6f 74 3b 4a 6f 75  ameter &quot;Jou
5800: 72 6e 61 6c 20 4d 6f 64 65 26 71 75 6f 74 3b 20  rnal Mode&quot; 
5810: 74 68 61 74 20 61 6c 6c 6f 77 73 20 79 6f 75 20  that allows you 
5820: 74 6f 20 73 65 74 20 0d 0a 20 20 20 20 20 20 20  to set ..       
5830: 20 74 68 65 20 53 51 4c 69 74 65 20 6a 6f 75 72   the SQLite jour
5840: 6e 61 6c 20 6d 6f 64 65 20 74 6f 20 44 65 6c 65  nal mode to Dele
5850: 74 65 2c 20 50 65 72 73 69 73 74 20 6f 72 20 4f  te, Persist or O
5860: 66 66 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f  ff.</li>..    </
5870: 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  ul>..    <p><b>1
5880: 2e 30 2e 35 33 2e 30 20 2d 20 4a 75 6c 79 20 32  .0.53.0 - July 2
5890: 34 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0d  4, 2008</b></p>.
58a0: 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20  .    <ul>..     
58b0: 20 3c 6c 69 3e 45 6e 61 62 6c 65 64 20 73 71 6c   <li>Enabled sql
58c0: 69 74 65 5f 6c 6f 61 64 5f 65 78 74 65 6e 73 69  ite_load_extensi
58d0: 6f 6e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  on</li>..      <
58e0: 6c 69 3e 41 64 64 65 64 20 72 65 74 72 79 2f 74  li>Added retry/t
58f0: 69 6d 65 6f 75 74 20 63 6f 64 65 20 74 6f 20 53  imeout code to S
5900: 51 4c 69 74 65 33 2e 50 72 65 70 61 72 65 28 29  QLite3.Prepare()
5910: 20 77 68 65 6e 20 70 72 65 70 61 72 69 6e 67 20   when preparing 
5920: 73 74 61 74 65 6d 65 6e 74 73 20 66 6f 72 20 0d  statements for .
5930: 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74 69  .        executi
5940: 6f 6e 20 61 6e 64 20 61 20 53 51 4c 49 54 45 5f  on and a SQLITE_
5950: 42 55 53 59 20 65 72 72 6f 72 20 6f 63 63 75 72  BUSY error occur
5960: 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  s.</li>..      <
5970: 6c 69 3e 41 64 64 65 64 20 61 20 6e 65 77 20 73  li>Added a new s
5980: 63 68 65 6d 61 20 74 6f 20 53 51 4c 69 74 65 43  chema to SQLiteC
5990: 6f 6e 6e 65 63 74 69 6f 6e 2e 47 65 74 53 63 68  onnection.GetSch
59a0: 65 6d 61 28 29 20 63 61 6c 6c 65 64 20 3c 69 3e  ema() called <i>
59b0: 54 72 69 67 67 65 72 73 3c 2f 69 3e 2e 26 6e 62  Triggers</i>.&nb
59c0: 73 70 3b 20 0d 0a 20 20 20 20 20 20 20 20 55 73  sp; ..        Us
59d0: 65 64 20 74 6f 20 72 65 74 72 69 65 76 65 20 74  ed to retrieve t
59e0: 68 65 20 74 72 69 67 67 65 72 28 73 29 20 61 73  he trigger(s) as
59f0: 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20  sociated with a 
5a00: 64 61 74 61 62 61 73 65 20 61 6e 64 2f 6f 72 20  database and/or 
5a10: 74 61 62 6c 65 2f 76 69 65 77 2e 3c 2f 6c 69 3e  table/view.</li>
5a20: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 45 78 74 65  ..      <li>Exte
5a30: 6e 73 69 76 65 20 75 70 64 61 74 65 73 20 74 6f  nsive updates to
5a40: 20 74 61 62 6c 65 2f 76 69 65 77 20 65 64 69 74   table/view edit
5a50: 69 6e 67 20 63 61 70 61 62 69 6c 69 74 69 65 73  ing capabilities
5a60: 20 69 6e 73 69 64 65 20 56 69 73 75 61 6c 20 53   inside Visual S
5a70: 74 75 64 69 6f 26 23 33 39 3b 73 20 0d 0a 20 20  tudio&#39;s ..  
5a80: 20 20 20 20 20 20 53 65 72 76 65 72 20 45 78 70        Server Exp
5a90: 6c 6f 72 65 72 2e 26 6e 62 73 70 3b 20 54 68 65  lorer.&nbsp; The
5aa0: 20 70 72 6f 67 72 61 6d 20 6e 6f 77 20 70 61 72   program now par
5ab0: 73 65 73 20 61 6e 64 20 6c 65 74 73 20 79 6f 75  ses and lets you
5ac0: 20 65 64 69 74 20 43 48 45 43 4b 20 63 6f 6e 73   edit CHECK cons
5ad0: 74 72 61 69 6e 74 73 20 61 6e 64 20 0d 0a 20 20  traints and ..  
5ae0: 20 20 20 20 20 20 74 72 69 67 67 65 72 73 20 6f        triggers o
5af0: 6e 20 61 20 74 61 62 6c 65 2c 20 61 73 20 77 65  n a table, as we
5b00: 6c 6c 20 61 73 20 64 65 66 69 6e 65 20 74 72 69  ll as define tri
5b10: 67 67 65 72 73 20 6f 6e 20 76 69 65 77 73 2e 26  ggers on views.&
5b20: 6e 62 73 70 3b 20 45 78 70 65 72 69 6d 65 6e 74  nbsp; Experiment
5b30: 61 6c 20 0d 0a 20 20 20 20 20 20 20 20 73 74 69  al ..        sti
5b40: 6c 6c 2c 20 73 6f 20 65 2d 6d 61 69 6c 20 6d 65  ll, so e-mail me
5b50: 20 69 66 20 79 6f 75 20 68 61 76 65 20 69 73 73   if you have iss
5b60: 75 65 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  ues.</li>..     
5b70: 20 3c 6c 69 3e 4d 69 6e 6f 72 20 62 75 67 66 69   <li>Minor bugfi
5b80: 78 20 74 6f 20 74 68 65 20 56 69 65 77 43 6f 6c  x to the ViewCol
5b90: 75 6d 6e 73 20 73 63 68 65 6d 61 20 74 6f 20 72  umns schema to r
5ba0: 65 74 75 72 6e 20 74 68 65 20 70 72 6f 70 65 72  eturn the proper
5bb0: 20 62 61 73 65 20 63 6f 6c 75 6d 6e 20 6e 61 6d   base column nam
5bc0: 65 20 0d 0a 20 20 20 20 20 20 20 20 66 6f 72 20  e ..        for 
5bd0: 61 20 76 69 65 77 20 74 68 61 74 20 61 6c 69 61  a view that alia
5be0: 73 65 73 20 61 20 63 6f 6c 75 6d 6e 2e 3c 2f 6c  ses a column.</l
5bf0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  i>..      <li>Fi
5c00: 78 65 64 20 74 68 65 20 69 6e 73 65 72 74 2f 75  xed the insert/u
5c10: 70 64 61 74 65 2f 64 65 6c 65 74 65 20 44 4d 4c  pdate/delete DML
5c20: 20 73 75 70 70 6f 72 74 20 69 6e 20 74 68 65 20   support in the 
5c30: 4c 69 6e 71 20 6d 6f 64 75 6c 65 2e 3c 2f 6c 69  Linq module.</li
5c40: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 43 68 61  >..      <li>Cha
5c50: 6e 67 65 64 20 74 68 65 20 62 65 68 61 76 69 6f  nged the behavio
5c60: 72 20 6f 66 20 53 51 4c 69 74 65 43 6f 6d 6d 61  r of SQLiteComma
5c70: 6e 64 20 74 6f 20 61 6c 6c 6f 77 20 61 20 74 72  nd to allow a tr
5c80: 61 6e 73 61 63 74 69 6f 6e 20 74 6f 20 62 65 20  ansaction to be 
5c90: 73 65 74 20 65 76 65 6e 20 69 66 20 0d 0a 20 20  set even if ..  
5ca0: 20 20 20 20 20 20 74 68 65 20 63 6f 6d 6d 61 6e        the comman
5cb0: 64 20 68 61 73 6e 26 23 33 39 3b 74 20 62 65 65  d hasn&#39;t bee
5cc0: 6e 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74  n associated wit
5cd0: 68 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 79  h a connection y
5ce0: 65 74 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f  et.</li>..    </
5cf0: 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  ul>..    <p><b>1
5d00: 2e 30 2e 35 32 2e 30 20 2d 20 4a 75 6c 79 20 31  .0.52.0 - July 1
5d10: 36 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0d  6, 2008</b></p>.
5d20: 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20  .    <ul>..     
5d30: 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20   <li>Code merge 
5d40: 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 36 2e  with SQLite 3.6.
5d50: 30 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  0</li>..      <l
5d60: 69 3e 41 64 64 65 64 20 61 20 6c 6f 74 20 6f 66  i>Added a lot of
5d70: 20 70 72 65 76 69 6f 75 73 6c 79 2d 6d 69 73 73   previously-miss
5d80: 69 6e 67 20 65 78 70 6f 72 74 73 20 74 6f 20 74  ing exports to t
5d90: 68 65 20 44 45 46 20 66 69 6c 65 20 66 6f 72 20  he DEF file for 
5da0: 74 68 65 20 0d 0a 20 20 20 20 20 20 20 20 6e 61  the ..        na
5db0: 74 69 76 65 20 6c 69 62 72 61 72 79 2e 3c 2f 6c  tive library.</l
5dc0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  i>..      <li>Fi
5dd0: 78 65 64 20 53 51 4c 69 74 65 44 61 74 61 52 65  xed SQLiteDataRe
5de0: 61 64 65 72 20 74 6f 20 63 68 65 63 6b 20 66 6f  ader to check fo
5df0: 72 20 61 6e 20 69 6e 76 61 6c 69 64 20 63 6f 6e  r an invalid con
5e00: 6e 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 6f  nection before o
5e10: 70 65 72 61 74 69 6e 67 20 6f 6e 20 0d 0a 20 20  perating on ..  
5e20: 20 20 20 20 20 20 61 6e 20 6f 70 65 6e 20 63 75        an open cu
5e30: 72 73 6f 72 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  rsor.</li>..    
5e40: 20 20 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e 74 65    <li>Implemente
5e50: 64 20 74 68 65 20 43 61 6e 63 65 6c 28 29 20 66  d the Cancel() f
5e60: 75 6e 63 74 69 6f 6e 20 6f 66 20 53 51 4c 69 74  unction of SQLit
5e70: 65 43 6f 6d 6d 61 6e 64 20 74 6f 20 63 61 6e 63  eCommand to canc
5e80: 65 6c 20 61 6e 20 61 63 74 69 76 65 20 72 65 61  el an active rea
5e90: 64 65 72 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  der.</li>..     
5ea0: 20 3c 6c 69 3e 41 64 64 65 64 20 62 65 74 61 20   <li>Added beta 
5eb0: 74 61 62 6c 65 20 61 6e 64 20 76 69 65 77 20 64  table and view d
5ec0: 65 73 69 67 6e 65 72 73 20 74 6f 20 74 68 65 20  esigners to the 
5ed0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 53 65  Visual Studio Se
5ee0: 72 76 65 72 20 45 78 70 6c 6f 72 65 72 2e 26 6e  rver Explorer.&n
5ef0: 62 73 70 3b 20 59 6f 75 20 63 61 6e 20 6e 6f 77  bsp; You can now
5f00: 20 0d 0a 20 20 20 20 20 20 20 20 65 64 69 74 2f   ..        edit/
5f10: 63 72 65 61 74 65 20 74 61 62 6c 65 73 20 61 6e  create tables an
5f20: 64 20 76 69 65 77 73 2c 20 6d 61 6e 61 67 65 20  d views, manage 
5f30: 69 6e 64 65 78 65 73 20 61 6e 64 20 66 6f 72 65  indexes and fore
5f40: 69 67 6e 20 6b 65 79 73 20 66 72 6f 6d 20 56 69  ign keys from Vi
5f50: 73 75 61 6c 20 53 74 75 64 69 6f 2e 26 6e 62 73  sual Studio.&nbs
5f60: 70 3b 20 0d 0a 20 20 20 20 20 20 20 20 54 68 69  p; ..        Thi
5f70: 73 20 66 65 61 74 75 72 65 20 69 73 20 73 74 69  s feature is sti
5f80: 6c 6c 20 75 6e 64 65 72 67 6f 69 6e 67 20 74 65  ll undergoing te
5f90: 73 74 69 6e 67 20 73 6f 20 75 73 65 20 61 74 20  sting so use at 
5fa0: 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 21 3c 2f  your own risk!</
5fb0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
5fc0: 69 78 65 64 20 74 68 65 20 53 65 72 76 65 72 20  ixed the Server 
5fd0: 45 78 70 6c 6f 72 65 72 20 73 6f 20 56 53 32 30  Explorer so VS20
5fe0: 30 35 20 75 73 65 72 73 20 63 61 6e 20 6f 6e 63  05 users can onc
5ff0: 65 20 61 67 61 69 6e 20 72 69 67 68 74 2d 63 6c  e again right-cl
6000: 69 63 6b 20 74 61 62 6c 65 73 20 0d 0a 20 20 20  ick tables ..   
6010: 20 20 20 20 20 61 6e 64 20 76 69 65 77 73 20 61       and views a
6020: 6e 64 20 6f 70 65 6e 20 74 68 65 20 74 61 62 6c  nd open the tabl
6030: 65 20 64 61 74 61 2e 3c 2f 6c 69 3e 0d 0a 20 20  e data.</li>..  
6040: 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 6f      <li>Added so
6050: 6d 65 20 6e 65 77 20 69 6e 74 65 72 6f 70 20 63  me new interop c
6060: 6f 64 65 20 74 6f 20 61 73 73 69 73 74 20 69 6e  ode to assist in
6070: 20 72 65 74 75 72 6e 69 6e 67 20 6d 6f 72 65 20   returning more 
6080: 6d 65 74 61 64 61 74 61 20 6e 6f 74 20 6e 6f 72  metadata not nor
6090: 6d 61 6c 6c 79 20 0d 0a 20 20 20 20 20 20 20 20  mally ..        
60a0: 61 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67  available throug
60b0: 68 20 74 68 65 20 53 51 4c 69 74 65 20 41 50 49  h the SQLite API
60c0: 2e 26 6e 62 73 70 3b 20 53 70 65 63 69 66 69 63  .&nbsp; Specific
60d0: 61 6c 6c 79 2c 20 69 6e 64 65 78 20 63 6f 6c 75  ally, index colu
60e0: 6d 6e 20 73 6f 72 74 20 6d 6f 64 65 73 20 0d 0a  mn sort modes ..
60f0: 20 20 20 20 20 20 20 20 61 6e 64 20 63 6f 6c 6c          and coll
6100: 61 74 69 6e 67 20 73 65 71 75 65 6e 63 65 73 2e  ating sequences.
6110: 26 6e 62 73 70 3b 20 41 6c 73 6f 20 61 64 64 65  &nbsp; Also adde
6120: 64 20 63 6f 64 65 20 74 6f 20 64 65 74 65 63 74  d code to detect
6130: 20 28 62 75 74 20 6e 6f 74 20 70 61 72 73 65 29   (but not parse)
6140: 20 43 48 45 43 4b 20 0d 0a 20 20 20 20 20 20 20   CHECK ..       
6150: 20 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 73 6f   constraints, so
6160: 20 74 68 65 20 74 61 62 6c 65 20 64 65 73 69 67   the table desig
6170: 6e 65 72 20 63 61 6e 20 70 6f 70 20 75 70 20 61  ner can pop up a
6180: 20 77 61 72 6e 69 6e 67 20 77 68 65 6e 20 65 64   warning when ed
6190: 69 74 69 6e 67 20 61 20 74 61 62 6c 65 20 0d 0a  iting a table ..
61a0: 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65          with the
61b0: 73 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 26  se constraints.&
61c0: 6e 62 73 70 3b 20 53 69 6e 63 65 20 49 20 63 61  nbsp; Since I ca
61d0: 6e 26 23 33 39 3b 74 20 63 75 72 72 65 6e 74 6c  n&#39;t currentl
61e0: 79 20 70 61 72 73 65 20 74 68 65 6d 2e 3c 2f 6c  y parse them.</l
61f0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f  i>..      <li>Lo
6200: 74 73 20 6f 66 20 4c 49 4e 51 20 53 51 4c 20 67  ts of LINQ SQL g
6210: 65 6e 65 72 61 74 69 6f 6e 20 69 6d 70 72 6f 76  eneration improv
6220: 65 6d 65 6e 74 73 20 61 6e 64 20 66 69 78 65 73  ements and fixes
6230: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  .</li>..      <l
6240: 69 3e 4d 61 64 65 20 73 6f 6d 65 20 70 72 6f 67  i>Made some prog
6250: 72 65 73 73 20 63 6c 65 61 6e 69 6e 67 20 75 70  ress cleaning up
6260: 20 61 6e 64 20 66 69 78 69 6e 67 20 75 70 20 74   and fixing up t
6270: 68 65 20 73 63 68 65 6d 61 20 64 65 66 69 6e 69  he schema defini
6280: 74 69 6f 6e 73 20 61 6e 64 20 0d 0a 20 20 20 20  tions and ..    
6290: 20 20 20 20 6d 61 6e 69 66 65 73 74 73 20 66 6f      manifests fo
62a0: 72 20 45 64 6d 47 65 6e 2e 3c 2f 6c 69 3e 0d 0a  r EdmGen.</li>..
62b0: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
62c0: 61 20 62 75 69 6c 74 2d 69 6e 20 53 51 4c 69 74  a built-in SQLit
62d0: 65 46 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64  eFunction called
62e0: 20 6c 61 73 74 5f 72 6f 77 73 5f 61 66 66 65 63   last_rows_affec
62f0: 74 65 64 28 29 20 77 68 69 63 68 20 63 61 6e 20  ted() which can 
6300: 62 65 20 0d 0a 20 20 20 20 20 20 20 20 63 61 6c  be ..        cal
6310: 6c 65 64 20 66 72 6f 6d 20 53 51 4c 20 74 6f 20  led from SQL to 
6320: 67 65 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f  get the number o
6330: 66 20 72 6f 77 73 20 61 66 66 65 63 74 65 64 20  f rows affected 
6340: 62 79 20 74 68 65 20 6c 61 73 74 20 75 70 64 61  by the last upda
6350: 74 65 2f 69 6e 73 65 72 74 20 0d 0a 20 20 20 20  te/insert ..    
6360: 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 6f 6e      operation on
6370: 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e   the connection.
6380: 26 6e 62 73 70 3b 20 54 68 69 73 20 69 73 20 72  &nbsp; This is r
6390: 6f 75 67 68 6c 79 20 65 71 75 69 76 61 6c 65 6e  oughly equivalen
63a0: 74 20 74 6f 20 53 71 6c 20 53 65 72 76 65 72 26  t to Sql Server&
63b0: 23 33 39 3b 73 20 0d 0a 20 20 20 20 20 20 20 20  #39;s ..        
63c0: 40 40 52 4f 57 43 4f 55 4e 54 20 76 61 72 69 61  @@ROWCOUNT varia
63d0: 62 6c 65 2e 3c 2f 6c 69 3e 20 20 20 20 20 20 0d  ble.</li>      .
63e0: 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20  .    </ul>..    
63f0: 3c 70 3e 3c 62 3e 31 2e 30 2e 35 31 2e 30 20 2d  <p><b>1.0.51.0 -
6400: 20 4a 75 6c 79 20 31 2c 20 32 30 30 38 3c 2f 62   July 1, 2008</b
6410: 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d  ></p>..    <ul>.
6420: 0a 20 20 20 20 20 20 3c 6c 69 3e 3c 62 3e 56 53  .      <li><b>VS
6430: 32 30 30 38 20 53 50 31 20 42 65 74 61 31 20 4c  2008 SP1 Beta1 L
6440: 49 4e 51 20 53 75 70 70 6f 72 74 3c 2f 62 3e 3c  INQ Support</b><
6450: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
6460: 41 64 64 65 64 20 65 78 70 65 72 69 6d 65 6e 74  Added experiment
6470: 61 6c 20 45 6e 74 69 74 79 20 46 72 61 6d 65 77  al Entity Framew
6480: 6f 72 6b 20 73 75 70 70 6f 72 74 20 69 6e 20 61  ork support in a
6490: 20 6e 65 77 20 6c 69 62 72 61 72 79 2c 20 0d 0a   new library, ..
64a0: 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 44          System.D
64b0: 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 2e  ata.SQLite.Linq.
64c0: 26 6e 62 73 70 3b 20 53 6f 6d 65 20 74 68 69 6e  &nbsp; Some thin
64d0: 67 73 20 77 6f 72 6b 2c 20 73 6f 6d 65 20 64 6f  gs work, some do
64e0: 6e 26 23 33 39 3b 74 2e 26 6e 62 73 70 3b 20 49  n&#39;t.&nbsp; I
64f0: 20 68 61 76 65 6e 26 23 33 39 3b 74 20 0d 0a 20   haven&#39;t .. 
6500: 20 20 20 20 20 20 20 66 69 6e 69 73 68 65 64 20         finished 
6510: 72 69 67 67 69 6e 67 20 65 76 65 72 79 74 68 69  rigging everythi
6520: 6e 67 20 75 70 20 79 65 74 2e 26 6e 62 73 70 3b  ng up yet.&nbsp;
6530: 20 54 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72   The core librar
6540: 79 20 72 65 6d 61 69 6e 73 20 73 74 61 62 6c 65  y remains stable
6550: 2e 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20 20  .&nbsp; ..      
6560: 20 20 41 6c 6c 20 4c 49 4e 51 2d 73 70 65 63 69    All LINQ-speci
6570: 66 69 63 20 63 6f 64 65 20 69 73 20 63 6f 6d 70  fic code is comp
6580: 6c 65 74 65 6c 79 20 73 65 70 61 72 61 74 65 20  letely separate 
6590: 66 72 6f 6d 20 74 68 65 20 63 6f 72 65 2e 3c 2f  from the core.</
65a0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41  li>..      <li>A
65b0: 64 64 65 64 20 73 6f 6d 65 20 63 6f 6c 75 6d 6e  dded some column
65c0: 73 20 74 6f 20 73 65 76 65 72 61 6c 20 65 78 69  s to several exi
65d0: 73 74 69 6e 67 20 73 63 68 65 6d 61 73 20 74 6f  sting schemas to
65e0: 20 73 75 70 70 6f 72 74 20 73 6f 6d 65 20 6f 66   support some of
65f0: 20 74 68 65 20 0d 0a 20 20 20 20 20 20 20 20 45   the ..        E
6600: 44 4d 20 66 72 61 6d 65 77 6f 72 6b 20 73 74 75  DM framework stu
6610: 66 66 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  ff.</li>..      
6620: 3c 6c 69 3e 4d 69 6e 6f 72 20 74 77 65 61 6b 73  <li>Minor tweaks
6630: 20 74 6f 20 74 68 65 20 66 61 63 74 6f 72 79 20   to the factory 
6640: 74 6f 20 62 65 74 74 65 72 20 73 75 70 70 6f 72  to better suppor
6650: 74 20 64 79 6e 61 6d 69 63 20 6c 6f 61 64 69 6e  t dynamic loadin
6660: 67 20 6f 66 20 74 68 65 20 4c 69 6e 71 20 0d 0a  g of the Linq ..
6670: 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f          extensio
6680: 6e 20 6c 69 62 72 61 72 79 20 66 6f 72 20 53 51  n library for SQ
6690: 4c 69 74 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  Lite.</li>..    
66a0: 20 20 3c 6c 69 3e 53 51 4c 69 74 65 26 23 33 39    <li>SQLite&#39
66b0: 3b 73 20 62 75 73 79 20 68 61 6e 64 6c 65 72 20  ;s busy handler 
66c0: 77 61 73 20 69 6e 74 65 72 66 65 72 69 6e 67 20  was interfering 
66d0: 77 69 74 68 20 74 68 65 20 70 72 6f 76 69 64 65  with the provide
66e0: 72 26 23 33 39 3b 73 20 62 75 73 79 20 68 61 6e  r&#39;s busy han
66f0: 64 6c 69 6e 67 20 0d 0a 20 20 20 20 20 20 20 20  dling ..        
6700: 6d 65 63 68 61 6e 69 73 6d 2c 20 73 6f 20 69 74  mechanism, so it
6710: 73 20 62 65 65 6e 20 64 69 73 61 62 6c 65 64 2e  s been disabled.
6720: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e  </li>..    </ul>
6730: 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  ..    <p><b>1.0.
6740: 35 30 2e 30 20 2d 20 4a 75 6e 65 20 32 37 2c 20  50.0 - June 27, 
6750: 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20  2008</b></p>..  
6760: 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c    <ul>..      <l
6770: 69 3e 46 69 78 65 64 20 73 6f 6d 65 20 6c 69 6e  i>Fixed some lin
6780: 67 65 72 69 6e 67 20 64 69 73 70 6f 73 65 20 69  gering dispose i
6790: 73 73 75 65 73 20 61 6e 64 20 72 61 63 65 20 63  ssues and race c
67a0: 6f 6e 64 69 74 69 6f 6e 73 20 77 68 65 6e 20 73  onditions when s
67b0: 6f 6d 65 20 6f 62 6a 65 63 74 73 20 77 65 72 65  ome objects were
67c0: 20 66 69 6e 61 6c 69 7a 65 64 2e 3c 2f 6c 69 3e   finalized.</li>
67d0: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  ..      <li>Fixe
67e0: 64 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 76  d the SQLiteConv
67f0: 65 72 74 2e 53 70 6c 69 74 28 29 20 72 6f 75 74  ert.Split() rout
6800: 69 6e 65 20 74 6f 20 62 65 20 61 20 6c 69 74 74  ine to be a litt
6810: 6c 65 20 73 6d 61 72 74 65 72 20 77 68 65 6e 20  le smarter when 
6820: 73 70 6c 69 74 74 69 6e 67 20 0d 0a 20 20 20 20  splitting ..    
6830: 20 20 20 20 73 74 72 69 6e 67 73 2c 20 77 68 69      strings, whi
6840: 63 68 20 73 6f 6c 76 65 73 20 74 68 65 20 71 75  ch solves the qu
6850: 6f 74 65 64 20 64 61 74 61 20 73 6f 75 72 63 65  oted data source
6860: 20 66 69 6c 65 6e 61 6d 65 20 70 72 6f 62 6c 65   filename proble
6870: 6d 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  m.</li>..      <
6880: 6c 69 3e 45 6e 68 61 6e 63 65 64 20 74 68 65 20  li>Enhanced the 
6890: 6d 65 72 67 65 62 69 6e 20 75 74 69 6c 69 74 79  mergebin utility
68a0: 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20   to work around 
68b0: 74 68 65 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20  the strong name 
68c0: 76 61 6c 69 64 61 74 69 6f 6e 20 62 75 67 20 6f  validation bug o
68d0: 6e 20 0d 0a 20 20 20 20 20 20 20 20 74 68 65 20  n ..        the 
68e0: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
68f0: 6b 2e 26 6e 62 73 70 3b 20 54 68 65 20 6f 6c 64  k.&nbsp; The old
6900: 20 77 6f 72 6b 61 72 6f 75 6e 64 20 6b 6c 75 64   workaround klud
6910: 67 65 64 20 74 68 65 20 44 4c 4c 20 61 6e 64 20  ged the DLL and 
6920: 63 61 75 73 65 64 20 57 4d 36 2e 31 20 0d 0a 20  caused WM6.1 .. 
6930: 20 20 20 20 20 20 20 74 6f 20 66 61 69 6c 20 74         to fail t
6940: 6f 20 6c 6f 61 64 20 69 74 2e 26 6e 62 73 70 3b  o load it.&nbsp;
6950: 20 54 68 69 73 20 6e 65 77 20 73 6f 6c 75 74 69   This new soluti
6960: 6f 6e 20 69 73 20 70 65 72 6d 61 6e 65 6e 74 20  on is permanent 
6970: 61 6e 64 20 6e 6f 20 6c 6f 6e 67 65 72 20 6b 6c  and no longer kl
6980: 75 64 67 65 73 20 0d 0a 20 20 20 20 20 20 20 20  udges ..        
6990: 74 68 65 20 44 4c 4c 2e 3c 2f 6c 69 3e 0d 0a 20  the DLL.</li>.. 
69a0: 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70     </ul>..    <p
69b0: 3e 3c 62 3e 31 2e 30 2e 34 39 2e 30 20 2d 20 4d  ><b>1.0.49.0 - M
69c0: 61 79 20 32 38 2c 20 32 30 30 38 3c 2f 62 3e 3c  ay 28, 2008</b><
69d0: 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20  /p>..    <ul>.. 
69e0: 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65       <li>Code me
69f0: 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20  rge with SQLite 
6a00: 33 2e 35 2e 39 3c 2f 6c 69 3e 0d 0a 20 20 20 20  3.5.9</li>..    
6a10: 20 20 3c 6c 69 3e 46 69 78 65 64 20 73 63 68 65    <li>Fixed sche
6a20: 6d 61 20 70 72 6f 62 6c 65 6d 73 20 77 68 65 6e  ma problems when
6a30: 20 71 75 65 72 79 69 6e 67 20 74 68 65 20 54 45   querying the TE
6a40: 4d 50 20 63 61 74 61 6c 6f 67 2e 3c 2f 6c 69 3e  MP catalog.</li>
6a50: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 43 68 61 6e  ..      <li>Chan
6a60: 67 65 64 20 42 4c 4f 42 20 64 61 74 61 74 79 70  ged BLOB datatyp
6a70: 65 20 73 63 68 65 6d 61 20 74 6f 20 72 65 74 75  e schema to retu
6a80: 72 6e 20 49 73 4c 6f 6e 67 20 3d 20 46 61 6c 73  rn IsLong = Fals
6a90: 65 20 69 6e 73 74 65 61 64 20 6f 66 20 54 72 75  e instead of Tru
6aa0: 65 2e 26 6e 62 73 70 3b 20 54 68 69 73 0d 0a 20  e.&nbsp; This.. 
6ab0: 20 20 20 20 20 20 20 77 61 73 20 70 72 65 76 65         was preve
6ac0: 6e 74 69 6e 67 20 44 62 43 6f 6d 6d 61 6e 64 42  nting DbCommandB
6ad0: 75 69 6c 64 65 72 20 66 72 6f 6d 20 75 73 69 6e  uilder from usin
6ae0: 67 20 47 55 49 44 27 73 20 61 6e 64 20 42 4c 4f  g GUID's and BLO
6af0: 42 27 73 20 61 73 20 70 72 69 6d 61 72 79 20 6b  B's as primary k
6b00: 65 79 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  eys.</li>..     
6b10: 20 3c 6c 69 3e 46 69 78 20 72 6f 6c 6c 6f 76 65   <li>Fix rollove
6b20: 72 20 69 73 73 75 65 20 77 69 74 68 20 53 51 4c  r issue with SQL
6b30: 69 74 65 33 2e 52 65 73 65 74 28 29 20 75 73 69  ite3.Reset() usi
6b40: 6e 67 20 54 69 63 6b 43 6f 75 6e 74 2e 3c 2f 6c  ng TickCount.</l
6b50: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  i>..      <li>Fi
6b60: 78 65 64 20 53 51 4c 69 74 65 44 61 74 61 52 65  xed SQLiteDataRe
6b70: 61 64 65 72 20 74 6f 20 64 69 73 70 6f 73 65 20  ader to dispose 
6b80: 6f 66 20 69 74 73 20 63 6f 6d 6d 61 6e 64 20 28  of its command (
6b90: 69 66 20 63 61 6c 6c 65 64 20 66 6f 72 29 20 62  if called for) b
6ba0: 65 66 6f 72 65 20 0d 0a 20 20 20 20 20 20 20 20  efore ..        
6bb0: 63 6c 6f 73 69 6e 67 20 74 68 65 20 63 6f 6e 6e  closing the conn
6bc0: 65 63 74 69 6f 6e 20 28 77 68 65 6e 20 66 6c 61  ection (when fla
6bd0: 67 67 65 64 20 74 6f 20 64 6f 20 73 6f 29 20 69  gged to do so) i
6be0: 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6f 74  nstead of the ot
6bf0: 68 65 72 20 77 61 79 20 61 72 6f 75 6e 64 2e 3c  her way around.<
6c00: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
6c10: 46 69 78 65 64 20 61 20 44 62 4e 75 6c 6c 20 65  Fixed a DbNull e
6c20: 72 72 6f 72 20 77 68 65 6e 20 72 65 74 72 69 65  rror when retrie
6c30: 76 69 6e 67 20 69 74 65 6d 73 20 6e 6f 74 20 62  ving items not b
6c40: 61 63 6b 65 64 20 62 79 20 61 20 74 61 62 6c 65  acked by a table
6c50: 20 73 63 68 65 6d 61 2e 3c 2f 6c 69 3e 0d 0a 20   schema.</li>.. 
6c60: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 66       <li>Fixed f
6c70: 6f 72 65 69 67 6e 20 6b 65 79 20 63 6f 6e 73 74  oreign key const
6c80: 72 61 69 6e 74 20 70 61 72 73 69 6e 67 20 62 75  raint parsing bu
6c90: 67 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  g.</li>..      <
6ca0: 6c 69 3e 41 64 64 65 64 20 46 61 69 6c 49 66 4d  li>Added FailIfM
6cb0: 69 73 73 69 6e 67 20 70 72 6f 70 65 72 74 79 20  issing property 
6cc0: 74 6f 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e  to the SQLiteCon
6cd0: 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 42 75 69  nectionStringBui
6ce0: 6c 64 65 72 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  lder.</li>..    
6cf0: 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 65 64 20    <li>Converted 
6d00: 74 68 65 20 73 6f 75 72 63 65 20 70 72 6f 6a 65  the source proje
6d10: 63 74 73 20 74 6f 20 56 69 73 75 61 6c 20 53 74  cts to Visual St
6d20: 75 64 69 6f 20 32 30 30 38 2e 3c 2f 6c 69 3e 0d  udio 2008.</li>.
6d30: 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20  .    </ul>..    
6d40: 3c 70 3e 3c 62 3e 31 2e 30 2e 34 38 2e 30 20 2d  <p><b>1.0.48.0 -
6d50: 20 44 65 63 65 6d 62 65 72 20 32 38 2c 20 32 30   December 28, 20
6d60: 30 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20  07</b></p>..    
6d70: 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  <ul>..      <li>
6d80: 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20  Code merge with 
6d90: 53 51 4c 69 74 65 20 33 2e 35 2e 34 3c 2f 6c 69  SQLite 3.5.4</li
6da0: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 43 61 6c  >..      <li>Cal
6db0: 6c 69 6e 67 20 53 51 4c 69 74 65 44 61 74 61 52  ling SQLiteDataR
6dc0: 65 61 64 65 72 2e 47 65 74 46 69 65 6c 64 54 79  eader.GetFieldTy
6dd0: 70 65 28 29 20 6f 6e 20 61 20 63 6f 6c 75 6d 6e  pe() on a column
6de0: 20 77 69 74 68 20 6e 6f 20 73 63 68 65 6d 61 20   with no schema 
6df0: 69 6e 66 6f 72 6d 61 74 69 6f 6e 0d 0a 20 20 20  information..   
6e00: 20 20 20 20 20 61 6e 64 20 77 68 6f 73 20 66 69       and whos fi
6e10: 72 73 74 20 72 6f 77 20 69 73 20 69 6e 69 74 69  rst row is initi
6e20: 61 6c 6c 79 20 4e 55 4c 4c 20 6e 6f 77 20 72 65  ally NULL now re
6e30: 74 75 72 6e 73 20 74 79 70 65 20 4f 62 6a 65 63  turns type Objec
6e40: 74 20 69 6e 73 74 65 61 64 20 6f 66 20 74 79 70  t instead of typ
6e50: 65 20 44 62 4e 75 6c 6c 2e 3c 2f 6c 69 3e 0d 0a  e DbNull.</li>..
6e60: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
6e70: 73 75 70 70 6f 72 74 20 66 6f 72 20 61 20 6e 65  support for a ne
6e80: 77 20 44 61 74 65 54 69 6d 65 20 74 79 70 65 2c  w DateTime type,
6e90: 20 4a 75 6c 69 61 6e 44 61 79 2e 26 6e 62 73 70   JulianDay.&nbsp
6ea0: 3b 20 53 51 4c 69 74 65 20 75 73 65 73 20 4a 75  ; SQLite uses Ju
6eb0: 6c 69 61 6e 20 64 61 74 65 73 0d 0a 20 20 20 20  lian dates..    
6ec0: 20 20 20 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 3c      internally.<
6ed0: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
6ee0: 41 64 64 65 64 20 61 20 6e 65 77 20 63 6f 6e 6e  Added a new conn
6ef0: 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 70 61  ection string pa
6f00: 72 61 6d 65 74 65 72 20 22 44 65 66 61 75 6c 74  rameter "Default
6f10: 20 54 69 6d 65 6f 75 74 22 20 61 6e 64 20 61 20   Timeout" and a 
6f20: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0d 0a 20  corresponding.. 
6f30: 20 20 20 20 20 20 20 6d 65 74 68 6f 64 20 6f 6e         method on
6f40: 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65   the SQLiteConne
6f50: 63 74 69 6f 6e 20 6f 62 6a 65 63 74 20 74 6f 20  ction object to 
6f60: 63 68 61 6e 67 65 20 74 68 65 20 64 65 66 61 75  change the defau
6f70: 6c 74 20 63 6f 6d 6d 61 6e 64 20 74 69 6d 65 6f  lt command timeo
6f80: 75 74 2e 26 6e 62 73 70 3b 0d 0a 20 20 20 20 20  ut.&nbsp;..     
6f90: 20 20 20 54 68 69 73 20 69 73 20 65 73 70 65 63     This is espec
6fa0: 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72  ially useful for
6fb0: 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 74 69   changing the ti
6fc0: 6d 65 6f 75 74 20 6f 6e 20 74 72 61 6e 73 61 63  meout on transac
6fd0: 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 75 73 65  tions, which use
6fe0: 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 0d 0a   SQLiteCommand..
6ff0: 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 73 20          objects 
7000: 69 6e 74 65 72 6e 61 6c 6c 79 20 61 6e 64 20 68  internally and h
7010: 61 76 65 20 6e 6f 20 41 44 4f 2e 4e 45 54 2d 66  ave no ADO.NET-f
7020: 72 69 65 6e 64 6c 79 20 77 61 79 20 74 6f 20 61  riendly way to a
7030: 64 6a 75 73 74 20 74 68 65 20 63 6f 6d 6d 61 6e  djust the comman
7040: 64 20 74 69 6d 65 6f 75 74 0d 0a 20 20 20 20 20  d timeout..     
7050: 20 20 20 6f 6e 20 74 68 6f 73 65 20 63 6f 6d 6d     on those comm
7060: 61 6e 64 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  ands.</li>..    
7070: 20 20 3c 6c 69 3e 46 54 53 31 20 61 6e 64 20 46    <li>FTS1 and F
7080: 54 53 32 20 6d 6f 64 75 6c 65 73 20 77 65 72 65  TS2 modules were
7090: 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68   removed from th
70a0: 65 20 63 6f 64 65 62 61 73 65 2e 26 6e 62 73 70  e codebase.&nbsp
70b0: 3b 20 50 6c 65 61 73 65 20 75 70 67 72 61 64 65  ; Please upgrade
70c0: 20 61 6c 6c 0d 0a 20 20 20 20 20 20 20 20 66 75   all..        fu
70d0: 6c 6c 2d 74 65 78 74 20 69 6e 64 65 78 65 73 20  ll-text indexes 
70e0: 74 6f 20 75 73 65 20 74 68 65 20 46 54 53 33 20  to use the FTS3 
70f0: 6d 6f 64 75 6c 65 2e 26 6e 62 73 70 3b 3c 2f 6c  module.&nbsp;</l
7100: 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20  i>..    </ul>.. 
7110: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 37 2e     <p><b>1.0.47.
7120: 32 20 2d 20 44 65 63 65 6d 62 65 72 20 31 30 2c  2 - December 10,
7130: 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20   2007</b></p>.. 
7140: 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c     <ul>..      <
7150: 6c 69 3e 46 69 78 65 64 20 79 65 74 20 6f 6e 65  li>Fixed yet one
7160: 20 6d 6f 72 65 20 62 75 67 20 77 68 65 6e 20 63   more bug when c
7170: 6c 6f 73 69 6e 67 20 61 20 64 61 74 61 62 61 73  losing a databas
7180: 65 20 77 69 74 68 20 75 6e 66 69 6e 61 6c 69 7a  e with unfinaliz
7190: 65 64 20 63 6f 6d 6d 61 6e 64 20 6f 62 6a 65 63  ed command objec
71a0: 74 73 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  ts</li>..      <
71b0: 6c 69 3e 46 69 78 65 64 20 74 68 65 20 44 61 74  li>Fixed the Dat
71c0: 61 52 65 61 64 65 72 27 73 20 47 65 74 46 69 65  aReader's GetFie
71d0: 6c 64 54 79 70 65 20 66 75 6e 63 74 69 6f 6e 20  ldType function 
71e0: 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74  when dealing wit
71f0: 68 20 75 6e 74 79 70 65 64 20 53 51 4c 69 74 65  h untyped SQLite
7200: 20 61 66 66 69 6e 69 74 69 65 73 3c 2f 6c 69 3e   affinities</li>
7210: 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20  ..    </ul>..   
7220: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 37 2e 31 20   <p><b>1.0.47.1 
7230: 2d 20 44 65 63 65 6d 62 65 72 20 35 2c 20 32 30  - December 5, 20
7240: 30 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20  07</b></p>..    
7250: 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  <ul>..      <li>
7260: 46 69 78 65 64 20 61 20 6c 65 66 74 6f 76 65 72  Fixed a leftover
7270: 20 62 75 67 20 66 72 6f 6d 20 74 68 65 20 63 6f   bug from the co
7280: 64 65 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c  demerge with SQL
7290: 69 74 65 20 33 2e 35 2e 33 20 74 68 61 74 20 66  ite 3.5.3 that f
72a0: 61 69 6c 65 64 20 74 6f 20 63 6c 6f 73 65 20 61  ailed to close a
72b0: 20 64 61 74 61 62 61 73 65 2e 3c 2f 6c 69 3e 0d   database.</li>.
72c0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
72d0: 20 74 68 65 20 62 72 6f 6b 65 6e 20 43 6f 6d 70   the broken Comp
72e0: 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 20 64 69  act Framework di
72f0: 73 74 72 69 62 75 74 69 6f 6e 20 62 69 6e 61 72  stribution binar
7300: 79 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  y.</li>..      <
7310: 6c 69 3e 53 51 4c 69 74 65 20 33 2e 35 2e 78 20  li>SQLite 3.5.x 
7320: 63 68 61 6e 67 65 64 20 73 6f 6d 65 20 69 6e 74  changed some int
7330: 65 72 6e 61 6c 20 69 6e 66 72 61 73 74 72 75 63  ernal infrastruc
7340: 74 75 72 65 20 70 69 65 63 65 73 20 69 6e 20 74  ture pieces in t
7350: 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 20 69 6e  he encryption in
7360: 74 65 72 66 61 63 65 0d 0a 20 20 20 20 20 20 20  terface..       
7370: 20 77 68 69 63 68 20 49 20 64 69 64 6e 27 74 20   which I didn't 
7380: 63 61 74 63 68 20 69 6e 69 74 69 61 6c 6c 79 2e  catch initially.
7390: 26 6e 62 73 70 3b 20 46 69 78 65 64 2e 26 6e 62  &nbsp; Fixed.&nb
73a0: 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f  sp;</li>..    </
73b0: 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  ul>..    <p><b>1
73c0: 2e 30 2e 34 37 2e 30 20 2d 20 44 65 63 65 6d 62  .0.47.0 - Decemb
73d0: 65 72 20 34 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f  er 4, 2007</b></
73e0: 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20  p>..    <ul>..  
73f0: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
7400: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
7410: 2e 35 2e 33 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  .5.3</li>..     
7420: 20 3c 6c 69 3e 41 64 64 65 64 20 69 6e 73 74 61   <li>Added insta
7430: 6c 6c 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72  ller support for
7440: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32   Visual Studio 2
7450: 30 30 38 2e 26 6e 62 73 70 3b 20 43 6f 64 65 20  008.&nbsp; Code 
7460: 69 73 20 73 74 69 6c 6c 20 75 73 69 6e 67 20 74  is still using t
7470: 68 65 0d 0a 20 20 20 20 20 20 20 20 56 53 32 30  he..        VS20
7480: 30 35 20 53 44 4b 20 73 6f 20 6f 6e 65 20 6f 72  05 SDK so one or
7490: 20 74 77 6f 20 62 65 6c 6c 73 20 61 6e 64 20 77   two bells and w
74a0: 68 69 73 74 6c 65 73 20 61 72 65 20 6d 69 73 73  histles are miss
74b0: 69 6e 67 2c 20 62 75 74 20 6e 6f 74 68 69 6e 67  ing, but nothing
74c0: 20 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c   significant.</l
74d0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68  i>..      <li>Th
74e0: 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20 76  is is the last v
74f0: 65 72 73 69 6f 6e 20 74 68 61 74 20 74 68 65 20  ersion that the 
7500: 46 54 53 31 20 61 6e 64 20 46 54 53 32 20 65 78  FTS1 and FTS2 ex
7510: 74 65 6e 73 69 6f 6e 73 20 77 69 6c 6c 20 61 70  tensions will ap
7520: 70 65 61 72 2e 26 6e 62 73 70 3b 0d 0a 20 20 20  pear.&nbsp;..   
7530: 20 20 20 20 20 45 76 65 72 79 6f 6e 65 20 73 68       Everyone sh
7540: 6f 75 6c 64 20 72 65 62 75 69 6c 64 20 74 68 65  ould rebuild the
7550: 69 72 20 66 75 6c 6c 74 65 78 74 20 69 6e 64 65  ir fulltext inde
7560: 78 65 73 20 75 73 69 6e 67 20 74 68 65 20 6e 65  xes using the ne
7570: 77 20 46 54 53 33 20 6d 6f 64 75 6c 65 2e 26 6e  w FTS3 module.&n
7580: 62 73 70 3b 0d 0a 20 20 20 20 20 20 20 20 46 54  bsp;..        FT
7590: 53 31 20 61 6e 64 20 46 54 53 32 20 73 75 66 66  S1 and FTS2 suff
75a0: 65 72 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e  er from a design
75b0: 20 66 6c 61 77 20 74 68 61 74 20 63 6f 75 6c 64   flaw that could
75c0: 20 63 61 75 73 65 20 64 61 74 61 62 61 73 65 20   cause database 
75d0: 63 6f 72 72 75 70 74 69 6f 6e 20 77 69 74 68 0d  corruption with.
75e0: 0a 20 20 20 20 20 20 20 20 63 65 72 74 61 69 6e  .        certain
75f0: 20 76 61 63 75 75 6d 20 6f 70 65 72 61 74 69 6f   vacuum operatio
7600: 6e 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  ns.</li>..      
7610: 3c 6c 69 3e 46 69 78 65 64 20 70 6f 6f 6c 65 64  <li>Fixed pooled
7620: 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 73 6f 20   connections so 
7630: 74 68 65 79 20 72 6f 6c 6c 62 61 63 6b 20 61 6e  they rollback an
7640: 79 20 6f 75 74 73 74 61 6e 64 69 6e 67 20 74 72  y outstanding tr
7650: 61 6e 73 61 63 74 69 6f 6e 73 20 62 65 66 6f 72  ansactions befor
7660: 65 0d 0a 20 20 20 20 20 20 20 20 67 6f 69 6e 67  e..        going
7670: 20 74 6f 20 74 68 65 20 70 6f 6f 6c 2e 26 6e 62   to the pool.&nb
7680: 73 70 3b 20 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  sp; </li>..     
7690: 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 75   <li>Fixed the u
76a0: 6e 69 6e 74 65 6e 64 65 64 20 62 72 65 61 6b 69  nintended breaki
76b0: 6e 67 20 6f 66 20 74 68 65 20 54 59 50 45 53 20  ng of the TYPES 
76c0: 6b 65 79 77 6f 72 64 2c 20 61 6e 64 20 6d 69 73  keyword, and mis
76d0: 2d 74 79 70 69 6e 67 20 6f 66 20 75 6e 74 79 70  -typing of untyp
76e0: 65 64 0d 0a 20 20 20 20 20 20 20 20 6f 72 20 69  ed..        or i
76f0: 6e 64 65 74 65 72 6d 69 6e 61 74 65 20 63 6f 6c  ndeterminate col
7700: 75 6d 6e 20 74 79 70 65 73 2e 20 3c 2f 6c 69 3e  umn types. </li>
7710: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 73 73 65  ..      <li>Asse
7720: 72 74 20 61 20 46 69 6c 65 49 4f 50 65 72 6d 69  rt a FileIOPermi
7730: 73 73 69 6f 6e 28 29 20 72 65 71 75 69 72 65 6d  ssion() requirem
7740: 65 6e 74 20 69 6e 20 74 68 65 20 73 74 61 74 69  ent in the stati
7750: 63 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e  c SQLiteFunction
7760: 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 0d 0a 20   constructor... 
7770: 20 20 20 20 20 3c 2f 6c 69 3e 0d 0a 20 20 20 20       </li>..    
7780: 20 20 3c 6c 69 3e 54 68 65 20 43 45 2d 6f 6e 6c    <li>The CE-onl
7790: 79 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e  y SQLiteFunction
77a0: 2e 52 65 67 69 73 74 65 72 46 75 6e 63 74 69 6f  .RegisterFunctio
77b0: 6e 28 29 20 69 73 20 6e 6f 77 20 61 76 61 69 6c  n() is now avail
77c0: 61 62 6c 65 20 6f 6e 20 74 68 65 20 64 65 73 6b  able on the desk
77d0: 74 6f 70 0d 0a 20 20 20 20 20 20 20 20 70 6c 61  top..        pla
77e0: 74 66 6f 72 6d 20 66 6f 72 20 64 79 6e 61 6d 69  tform for dynami
77f0: 63 20 72 65 67 69 73 74 72 61 74 69 6f 6e 20 6f  c registration o
7800: 66 20 66 75 6e 63 74 69 6f 6e 73 2e 26 6e 62 73  f functions.&nbs
7810: 70 3b 20 59 6f 75 20 6d 75 73 74 20 73 74 69 6c  p; You must stil
7820: 6c 20 63 6c 6f 73 65 20 61 6e 64 20 72 65 2d 6f  l close and re-o
7830: 70 65 6e 0d 0a 20 20 20 20 20 20 20 20 61 20 63  pen..        a c
7840: 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 6f 72 64  onnection in ord
7850: 65 72 20 66 6f 72 20 74 68 65 20 6e 65 77 20 66  er for the new f
7860: 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 73 65  unction to be se
7870: 65 6e 20 62 79 20 61 20 63 6f 6e 6e 65 63 74 69  en by a connecti
7880: 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  on.</li>..      
7890: 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 22 64  <li>Fixed the "d
78a0: 61 74 61 62 61 73 65 20 69 73 20 6c 6f 63 6b 65  atabase is locke
78b0: 64 22 20 65 72 72 6f 72 73 20 62 79 20 69 6d 70  d" errors by imp
78c0: 6c 65 6d 65 6e 74 69 6e 67 20 62 65 68 61 76 69  lementing behavi
78d0: 6f 72 61 6c 20 63 68 61 6e 67 65 73 20 69 6e 20  oral changes in 
78e0: 74 68 65 0d 0a 20 20 20 20 20 20 20 20 69 6e 74  the..        int
78f0: 65 72 6f 70 2e 63 20 66 69 6c 65 20 66 6f 72 20  erop.c file for 
7900: 53 51 4c 69 74 65 2e 26 6e 62 73 70 3b 20 43 6c  SQLite.&nbsp; Cl
7910: 6f 73 69 6e 67 20 61 20 64 61 74 61 62 61 73 65  osing a database
7920: 20 66 6f 72 63 65 2d 66 69 6e 61 6c 69 7a 65 73   force-finalizes
7930: 20 61 6e 79 20 70 72 65 70 61 72 65 64 0d 0a 20   any prepared.. 
7940: 20 20 20 20 20 20 20 73 74 61 74 65 6d 65 6e 74         statement
7950: 73 20 6f 6e 20 74 68 65 20 64 61 74 61 62 61 73  s on the databas
7960: 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 65 20  e to ensure the 
7970: 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 66 75  connection is fu
7980: 6c 6c 79 20 63 6c 6f 73 65 64 2e 26 6e 62 73 70  lly closed.&nbsp
7990: 3b 20 54 68 69 73 0d 0a 20 20 20 20 20 20 20 20  ; This..        
79a0: 77 61 73 20 72 61 74 68 65 72 20 74 72 69 63 6b  was rather trick
79b0: 79 20 62 65 63 61 75 73 65 20 74 68 65 20 47 43  y because the GC
79c0: 20 74 68 72 65 61 64 20 63 6f 75 6c 64 20 73 74   thread could st
79d0: 69 6c 6c 20 62 65 20 66 69 6e 61 6c 69 7a 69 6e  ill be finalizin
79e0: 67 20 73 74 61 74 65 6d 65 6e 74 73 20 69 74 73  g statements its
79f0: 65 6c 66 2e 0d 0a 20 20 20 20 20 20 20 20 26 6e  elf...        &n
7a00: 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  bsp;</li>..     
7a10: 20 3c 6c 69 3e 4d 6f 64 69 66 65 64 20 74 68 65   <li>Modifed the
7a20: 20 6d 65 72 67 65 62 69 6e 20 75 74 69 6c 69 74   mergebin utilit
7a30: 79 20 74 6f 20 68 65 6c 70 20 63 69 72 63 75 6d  y to help circum
7a40: 76 65 6e 74 20 61 20 6c 6f 6e 67 2d 73 74 61 6e  vent a long-stan
7a50: 64 69 6e 67 20 73 74 72 6f 6e 67 20 6e 61 6d 65  ding strong name
7a60: 20 76 65 72 69 66 69 63 61 74 69 6f 6e 0d 0a 20   verification.. 
7a70: 20 20 20 20 20 20 20 62 75 67 20 69 6e 20 74 68         bug in th
7a80: 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77  e Compact Framew
7a90: 6f 72 6b 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c  ork.</li>..    <
7aa0: 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e  /ul>..    <p><b>
7ab0: 31 2e 30 2e 34 36 2e 30 20 2d 20 53 65 70 74 65  1.0.46.0 - Septe
7ac0: 6d 62 65 72 20 33 30 2c 20 32 30 30 37 3c 2f 62  mber 30, 2007</b
7ad0: 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d  ></p>..    <ul>.
7ae0: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 66  .    <li>Fixed f
7af0: 61 75 6c 74 79 20 6c 6f 67 69 63 20 69 6e 20 74  aulty logic in t
7b00: 79 70 65 20 64 69 73 63 6f 76 65 72 79 20 63 6f  ype discovery co
7b10: 64 65 20 77 68 65 6e 20 75 73 69 6e 67 20 53 51  de when using SQ
7b20: 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 2e 47  LiteDataReader.G
7b30: 65 74 56 61 6c 75 65 28 29 2e 3c 2f 6c 69 3e 0d  etValue().</li>.
7b40: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
7b50: 20 43 6f 6e 6e 65 63 74 69 6f 6e 2e 4f 70 65 6e   Connection.Open
7b60: 28 29 20 62 75 67 20 77 68 65 6e 20 64 65 61 6c  () bug when deal
7b70: 69 6e 67 20 77 69 74 68 20 3a 6d 65 6d 6f 72 79  ing with :memory
7b80: 3a 20 64 61 74 61 62 61 73 65 73 2e 3c 2f 6c 69  : databases.</li
7b90: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  >..      <li>Fix
7ba0: 65 64 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64  ed SQLiteCommand
7bb0: 2e 45 78 65 63 75 74 65 53 63 61 6c 61 72 28 29  .ExecuteScalar()
7bc0: 20 74 6f 20 72 65 74 75 72 6e 20 61 20 70 72 6f   to return a pro
7bd0: 70 65 72 6c 79 2d 74 79 70 65 64 20 76 61 6c 75  perly-typed valu
7be0: 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  e.</li>..      <
7bf0: 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74  li>Added support
7c00: 20 66 6f 72 20 53 51 4c 69 74 65 50 61 72 61 6d   for SQLiteParam
7c10: 65 74 65 72 2e 52 65 73 65 74 44 62 54 79 70 65  eter.ResetDbType
7c20: 28 29 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  ().</li>..      
7c30: 3c 6c 69 3e 41 64 64 65 64 20 74 65 73 74 20 63  <li>Added test c
7c40: 61 73 65 73 20 66 6f 72 20 72 69 67 69 64 20 61  ases for rigid a
7c50: 6e 64 20 66 6c 65 78 69 62 6c 65 20 74 79 70 65  nd flexible type
7c60: 20 74 65 73 74 69 6e 67 2e 3c 2f 6c 69 3e 0d 0a   testing.</li>..
7c70: 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c      </ul>..    <
7c80: 70 3e 3c 62 3e 31 2e 30 2e 34 35 2e 30 20 2d 20  p><b>1.0.45.0 - 
7c90: 53 65 70 74 65 6d 62 65 72 20 32 35 2c 20 32 30  September 25, 20
7ca0: 30 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20  07</b></p>..    
7cb0: 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 3c 73  <ul>..    <li><s
7cc0: 74 72 6f 6e 67 3e 42 72 65 61 6b 69 6e 67 20 63  trong>Breaking c
7cd0: 68 61 6e 67 65 20 69 6e 20 47 65 74 53 63 68 65  hange in GetSche
7ce0: 6d 61 28 22 49 6e 64 65 78 65 73 22 29 20 3c 2f  ma("Indexes") </
7cf0: 73 74 72 6f 6e 67 3e 2d 2d 20 4d 65 74 61 44 61  strong>-- MetaDa
7d00: 74 61 43 6f 6c 6c 65 63 74 69 6f 6e 73 0d 0a 20  taCollections.. 
7d10: 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e       restriction
7d20: 73 20 61 6e 64 20 69 64 65 6e 74 69 66 69 65 72  s and identifier
7d30: 20 70 61 72 74 73 20 63 6f 75 6e 74 73 20 77 65   parts counts we
7d40: 72 65 20 77 72 6f 6e 67 20 66 6f 72 20 74 68 69  re wrong for thi
7d50: 73 20 73 63 68 65 6d 61 20 61 6e 64 20 49 20 77  s schema and I w
7d60: 61 73 20 75 73 69 6e 67 0d 0a 20 20 20 20 20 20  as using..      
7d70: 74 68 65 20 77 72 6f 6e 67 20 66 69 6e 61 6c 20  the wrong final 
7d80: 70 61 72 61 6d 65 74 65 72 20 61 73 20 74 68 65  parameter as the
7d90: 20 66 69 6e 61 6c 20 72 65 73 74 72 69 63 74 69   final restricti
7da0: 6f 6e 2e 26 6e 62 73 70 3b 20 4d 65 61 6e 69 6e  on.&nbsp; Meanin
7db0: 67 2c 20 69 66 20 79 6f 75 20 75 73 65 20 74 68  g, if you use th
7dc0: 65 0d 0a 20 20 20 20 20 20 49 6e 64 65 78 65 73  e..      Indexes
7dd0: 20 73 63 68 65 6d 61 20 61 6e 64 20 61 72 65 20   schema and are 
7de0: 71 75 65 72 79 69 6e 67 20 66 6f 72 20 61 20 73  querying for a s
7df0: 70 65 63 69 66 69 63 20 69 6e 64 65 78 20 74 68  pecific index th
7e00: 65 20 61 72 72 61 79 20 73 68 6f 75 6c 64 20 6e  e array should n
7e10: 6f 77 20 62 65 20 7b 63 61 74 61 6c 6f 67 2c 0d  ow be {catalog,.
7e20: 0a 20 20 20 20 20 20 6e 75 6c 6c 2c 20 74 61 62  .      null, tab
7e30: 6c 65 2c 20 69 6e 64 65 78 20 7d 20 69 6e 73 74  le, index } inst
7e40: 65 61 64 20 6f 66 20 7b 63 61 74 61 6c 6f 67 2c  ead of {catalog,
7e50: 20 6e 75 6c 6c 2c 20 74 61 62 6c 65 2c 20 6e 75   null, table, nu
7e60: 6c 6c 2c 20 69 6e 64 65 78 7d 3c 2f 6c 69 3e 0d  ll, index}</li>.
7e70: 0a 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20  .      <li>Code 
7e80: 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74  merge with SQLit
7e90: 65 20 33 2e 34 2e 32 3c 2f 6c 69 3e 0d 0a 20 20  e 3.4.2</li>..  
7ea0: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 73 6f      <li>Fixed so
7eb0: 6d 65 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65  me errors in the
7ec0: 20 65 6e 63 72 79 70 74 69 6f 6e 20 6d 6f 64 75   encryption modu
7ed0: 6c 65 2c 20 6d 6f 73 74 20 6e 6f 74 61 62 6c 79  le, most notably
7ee0: 20 77 68 65 6e 20 61 20 6e 6f 6e 2d 64 65 66 61   when a non-defa
7ef0: 75 6c 74 20 70 61 67 65 0d 0a 20 20 20 20 20 20  ult page..      
7f00: 20 20 73 69 7a 65 20 69 73 20 73 70 65 63 69 66    size is specif
7f10: 69 65 64 20 69 6e 20 74 68 65 20 63 6f 6e 6e 65  ied in the conne
7f20: 63 74 69 6f 6e 20 73 74 72 69 6e 67 2e 20 3c 2f  ction string. </
7f30: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
7f40: 69 78 65 64 20 53 51 4c 69 74 65 44 61 74 61 52  ixed SQLiteDataR
7f50: 65 61 64 65 72 20 74 6f 20 62 65 74 74 65 72 20  eader to better 
7f60: 68 61 6e 64 6c 65 20 74 79 70 65 2d 6c 65 73 73  handle type-less
7f70: 20 75 73 61 67 65 20 73 63 65 6e 61 72 69 6f 73   usage scenarios
7f80: 2c 20 77 68 69 63 68 20 61 6c 73 6f 0d 0a 20 20  , which also..  
7f90: 20 20 20 20 20 20 66 69 78 65 73 20 70 72 6f 62        fixes prob
7fa0: 6c 65 6d 73 20 77 69 74 68 20 6e 75 6c 6c 20 76  lems with null v
7fb0: 61 6c 75 65 73 20 61 6e 64 20 64 61 74 65 74 69  alues and dateti
7fc0: 6d 65 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  mes.</li>..     
7fd0: 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 6c   <li>Fixed the l
7fe0: 65 66 74 6f 76 65 72 20 74 65 6d 70 20 66 69 6c  eftover temp fil
7ff0: 65 73 20 70 72 6f 62 6c 65 6d 20 6f 6e 20 57 69  es problem on Wi
8000: 6e 43 45 20 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  nCE </li>..     
8010: 20 3c 6c 69 3e 41 64 64 65 64 20 63 6f 6e 6e 65   <li>Added conne
8020: 63 74 69 6f 6e 20 70 6f 6f 6c 69 6e 67 2e 26 6e  ction pooling.&n
8030: 62 73 70 3b 20 54 68 65 20 64 65 66 61 75 6c 74  bsp; The default
8040: 20 69 73 20 64 69 73 61 62 6c 65 64 20 66 6f 72   is disabled for
8050: 20 6e 6f 77 2c 20 62 75 74 20 6d 61 79 20 63 68   now, but may ch
8060: 61 6e 67 65 0d 0a 20 20 20 20 20 20 69 6e 20 74  ange..      in t
8070: 68 65 20 66 75 74 75 72 65 2e 26 6e 62 73 70 3b  he future.&nbsp;
8080: 20 53 65 74 20 22 50 6f 6f 6c 69 6e 67 3d 54 72   Set "Pooling=Tr
8090: 75 65 22 20 69 6e 20 74 68 65 20 63 6f 6e 6e 65  ue" in the conne
80a0: 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 74 6f 20  ction string to 
80b0: 65 6e 61 62 6c 65 20 69 74 2e 20 3c 2f 6c 69 3e  enable it. </li>
80c0: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 53 70 65 64  ..      <li>Sped
80d0: 20 75 70 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63   up SQLiteConnec
80e0: 74 69 6f 6e 2e 4f 70 65 6e 28 29 20 63 6f 6e 73  tion.Open() cons
80f0: 69 64 65 72 61 62 6c 79 2e 3c 2f 6c 69 3e 0d 0a  iderably.</li>..
8100: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
8110: 73 6f 6d 65 20 6d 6f 72 65 20 72 6f 62 75 73 74  some more robust
8120: 20 63 6c 65 61 6e 75 70 20 63 6f 64 65 20 72 65   cleanup code re
8130: 67 61 72 64 69 6e 67 20 53 51 4c 69 74 65 46 75  garding SQLiteFu
8140: 6e 63 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0d 0a 20  nctions.</li>.. 
8150: 20 20 20 20 20 3c 6c 69 3e 4d 69 6e 6f 72 20 61       <li>Minor a
8160: 64 64 69 74 69 6f 6e 73 20 74 6f 20 74 68 65 20  dditions to the 
8170: 63 6f 64 65 20 74 6f 20 61 6c 6c 6f 77 20 66 6f  code to allow fo
8180: 72 20 66 75 74 75 72 65 20 4c 49 4e 51 20 69 6e  r future LINQ in
8190: 74 65 67 72 61 74 69 6f 6e 20 69 6e 74 6f 20 74  tegration into t
81a0: 68 65 20 6d 61 69 6e 0d 0a 20 20 20 20 20 20 20  he main..       
81b0: 20 63 6f 64 65 62 61 73 65 2e 3c 2f 6c 69 3e 0d   codebase.</li>.
81c0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
81d0: 20 61 20 6c 6f 6e 67 2d 73 74 61 6e 64 69 6e 67   a long-standing
81e0: 20 62 75 67 20 69 6e 20 74 68 65 20 4f 70 65 6e   bug in the Open
81f0: 28 29 20 63 6f 6d 6d 61 6e 64 20 6f 66 20 53 51  () command of SQ
8200: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 77  LiteConnection w
8210: 68 69 63 68 20 66 61 69 6c 65 64 0d 0a 20 20 20  hich failed..   
8220: 20 20 20 74 6f 20 68 6f 6e 6f 72 20 74 68 65 20     to honor the 
8230: 64 6f 63 75 6d 65 6e 74 65 64 20 64 65 66 61 75  documented defau
8240: 6c 74 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74  lt behavior of t
8250: 68 65 20 53 51 4c 69 74 65 2e 4e 45 54 20 70 72  he SQLite.NET pr
8260: 6f 76 69 64 65 72 20 74 6f 20 6f 70 65 6e 20 74  ovider to open t
8270: 68 65 0d 0a 20 20 20 20 20 20 64 61 74 61 62 61  he..      databa
8280: 73 65 20 69 6e 20 22 53 79 6e 63 68 72 6f 6e 6f  se in "Synchrono
8290: 75 73 3d 4e 6f 72 6d 61 6c 22 20 6d 6f 64 65 2e  us=Normal" mode.
82a0: 26 6e 62 73 70 3b 20 54 68 65 20 64 65 66 61 75  &nbsp; The defau
82b0: 6c 74 20 77 61 73 20 22 46 75 6c 6c 22 2e 20 3c  lt was "Full". <
82c0: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
82d0: 49 66 20 4f 70 65 6e 28 29 20 66 61 69 6c 73 2c  If Open() fails,
82e0: 20 69 74 20 6e 6f 20 6c 6f 6e 67 65 72 20 73 65   it no longer se
82f0: 74 73 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f  ts the connectio
8300: 6e 20 73 74 61 74 65 20 74 6f 20 42 72 6f 6b 65  n state to Broke
8310: 6e 2e 26 6e 62 73 70 3b 20 49 74 20 69 6e 73 74  n.&nbsp; It inst
8320: 65 61 64 0d 0a 20 20 20 20 20 20 20 20 72 65 76  ead..        rev
8330: 65 72 74 73 20 62 61 63 6b 20 74 6f 20 43 6c 6f  erts back to Clo
8340: 73 65 64 2c 20 61 6e 64 20 63 6c 65 61 6e 73 20  sed, and cleans 
8350: 75 70 20 61 66 74 65 72 20 69 74 73 65 6c 66 2e  up after itself.
8360: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
8370: 3e 41 64 64 65 64 20 73 65 76 65 72 61 6c 20 6e  >Added several n
8380: 65 77 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f  ew parameters to
8390: 20 74 68 65 20 43 6f 6e 6e 65 63 74 69 6f 6e 53   the ConnectionS
83a0: 74 72 69 6e 67 20 66 6f 72 20 73 65 74 74 69 6e  tring for settin
83b0: 67 20 6d 61 78 20 70 61 67 65 20 63 6f 75 6e 74  g max page count
83c0: 2c 0d 0a 20 20 20 20 20 20 20 20 6c 65 67 61 63  ,..        legac
83d0: 79 20 66 69 6c 65 20 66 6f 72 6d 61 74 2c 20 61  y file format, a
83e0: 6e 64 20 61 6e 6f 74 68 65 72 20 63 61 6c 6c 65  nd another calle
83f0: 64 20 46 61 69 6c 49 66 4d 69 73 73 69 6e 67 20  d FailIfMissing 
8400: 74 6f 20 72 61 69 73 65 20 61 6e 20 65 72 72 6f  to raise an erro
8410: 72 20 72 61 74 68 65 72 20 74 68 61 6e 0d 0a 20  r rather than.. 
8420: 20 20 20 20 20 20 20 63 72 65 61 74 65 20 74 68         create th
8430: 65 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 20  e database file 
8440: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 66  automatically if
8450: 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 61 6c 72   it does not alr
8460: 65 61 64 79 20 65 78 69 73 74 2e 3c 2f 6c 69 3e  eady exist.</li>
8470: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  ..      <li>Fixe
8480: 64 20 73 6f 6d 65 20 64 65 73 69 67 6e 65 72 20  d some designer 
8490: 74 6f 6f 6c 62 6f 78 20 72 65 66 65 72 65 6e 63  toolbox referenc
84a0: 65 73 20 74 6f 20 74 68 65 20 77 72 6f 6e 67 20  es to the wrong 
84b0: 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 53  version of the S
84c0: 51 4c 69 74 65 2e 44 65 73 69 67 6e 65 72 3c 2f  QLite.Designer</
84d0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
84e0: 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 74 68  ixed a bug in th
84f0: 65 20 6d 65 72 67 65 62 69 6e 20 75 74 69 6c 69  e mergebin utili
8500: 74 79 20 77 69 74 68 20 72 65 67 61 72 64 73 20  ty with regards 
8510: 74 6f 20 43 4f 52 32 30 20 6d 65 74 61 64 61 74  to COR20 metadat
8520: 61 20 72 6f 77 73 69 7a 65 20 63 6f 6d 70 75 74  a rowsize comput
8530: 61 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 0d 0a 20  ations.&nbsp;.. 
8540: 20 20 20 20 20 3c 2f 6c 69 3e 0d 0a 20 20 20 20       </li>..    
8550: 20 20 3c 6c 69 3e 4d 69 6e 6f 72 20 64 6f 63 75    <li>Minor docu
8560: 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 72 72 65 63  mentation correc
8570: 74 69 6f 6e 73 20 26 6e 62 73 70 3b 26 6e 62 73  tions &nbsp;&nbs
8580: 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75  p;</li>..    </u
8590: 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  l>..    <p><b>1.
85a0: 30 2e 34 34 2e 30 20 2d 20 4a 75 6c 79 20 32 31  0.44.0 - July 21
85b0: 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a  , 2007</b></p>..
85c0: 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c      <ul>..    <l
85d0: 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74  i>Code merge wit
85e0: 68 20 53 51 4c 69 74 65 20 33 2e 34 2e 31 3c 2f  h SQLite 3.4.1</
85f0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
8600: 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 53 51  ixed a bug in SQ
8610: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 4f  LiteConnection.O
8620: 70 65 6e 28 29 20 77 68 69 63 68 20 74 68 72 65  pen() which thre
8630: 77 20 74 68 65 20 77 72 6f 6e 67 20 6b 69 6e 64  w the wrong kind
8640: 20 6f 66 20 65 72 72 6f 72 20 69 6e 0d 0a 20 20   of error in..  
8650: 20 20 20 20 20 20 74 68 65 20 77 72 6f 6e 67 20        the wrong 
8660: 6b 69 6e 64 20 6f 66 20 77 61 79 20 77 68 65 6e  kind of way when
8670: 20 61 20 64 61 74 61 62 61 73 65 20 66 69 6c 65   a database file
8680: 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70   could not be op
8690: 65 6e 65 64 20 6f 72 20 63 72 65 61 74 65 64 2e  ened or created.
86a0: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20  &nbsp;</li>..   
86b0: 20 20 20 3c 6c 69 3e 53 6d 61 6c 6c 20 65 6e 68     <li>Small enh
86c0: 61 6e 63 65 6d 65 6e 74 73 20 74 6f 20 74 68 65  ancements to the
86d0: 20 54 59 50 45 53 20 6b 65 79 77 6f 72 64 2c 20   TYPES keyword, 
86e0: 61 6e 64 20 61 64 64 65 64 20 64 6f 63 75 6d 65  and added docume
86f0: 6e 74 61 74 69 6f 6e 20 66 6f 72 20 69 74 20 69  ntation for it i
8700: 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 68  n the..        h
8710: 65 6c 70 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0d 0a  elp file.</li>..
8720: 20 20 20 20 20 20 3c 6c 69 3e 48 6f 70 65 66 75        <li>Hopefu
8730: 6c 6c 79 20 66 69 78 65 64 20 74 68 65 20 6f 63  lly fixed the oc
8740: 63 61 73 69 6f 6e 61 6c 20 53 51 4c 49 54 45 5f  casional SQLITE_
8750: 42 55 53 59 20 65 72 72 6f 72 73 20 74 68 61 74  BUSY errors that
8760: 20 63 72 6f 70 70 65 64 20 75 70 20 77 68 65 6e   cropped up when
8770: 20 73 74 61 72 74 69 6e 67 0d 0a 20 20 20 20 20   starting..     
8780: 20 20 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e     a transaction
8790: 2e 26 6e 62 73 70 3b 20 55 73 75 61 6c 6c 79 20  .&nbsp; Usually 
87a0: 6f 63 63 75 72 72 65 64 20 69 6e 20 68 69 67 68  occurred in high
87b0: 2d 63 6f 6e 74 65 6e 74 69 6f 6e 20 73 63 65 6e  -contention scen
87c0: 61 72 69 6f 73 2c 20 61 6e 64 20 74 68 65 20 75  arios, and the u
87d0: 6e 64 65 72 6c 79 69 6e 67 0d 0a 20 20 20 20 20  nderlying..     
87e0: 20 20 20 53 51 4c 69 74 65 20 65 6e 67 69 6e 65     SQLite engine
87f0: 20 62 79 70 61 73 73 65 73 20 74 68 65 20 62 75   bypasses the bu
8800: 73 79 20 68 61 6e 64 6c 65 72 20 69 6e 20 74 68  sy handler in th
8810: 69 73 20 73 63 65 6e 61 72 69 6f 20 74 6f 20 72  is scenario to r
8820: 65 74 75 72 6e 20 69 6d 6d 65 64 69 61 74 65 6c  eturn immediatel
8830: 79 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75  y.</li>..    </u
8840: 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  l>..    <p><b>1.
8850: 30 2e 34 33 2e 30 20 2d 20 4a 75 6e 65 20 32 31  0.43.0 - June 21
8860: 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a  , 2007</b></p>..
8870: 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c      <ul>..    <l
8880: 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74  i>Code merge wit
8890: 68 20 53 51 4c 69 74 65 20 33 2e 34 2e 30 3c 2f  h SQLite 3.4.0</
88a0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
88b0: 69 78 65 64 20 61 20 72 65 75 73 65 20 62 75 67  ixed a reuse bug
88c0: 20 69 6e 20 74 68 65 20 53 51 4c 69 74 65 44 61   in the SQLiteDa
88d0: 74 61 41 64 61 70 74 65 72 20 69 6e 20 63 6f 6e  taAdapter in con
88e0: 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68  junction with th
88f0: 65 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 42  e SQLiteCommandB
8900: 75 69 6c 64 65 72 2e 26 6e 62 73 70 3b 0d 0a 20  uilder.&nbsp;.. 
8910: 20 20 20 20 20 49 74 27 73 20 62 65 65 6e 20 74       It's been t
8920: 68 65 72 65 20 75 6e 6e 6f 74 69 63 65 64 20 66  here unnoticed f
8930: 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 61 20 79  or more than a y
8940: 65 61 72 2c 20 73 6f 20 69 74 20 6c 6f 6f 6b 73  ear, so it looks
8950: 20 6c 69 6b 65 20 6d 6f 73 74 20 66 6f 6c 6b 73   like most folks
8960: 20 6e 65 76 65 72 0d 0a 20 20 20 20 20 20 65 6e   never..      en
8970: 63 6f 75 6e 74 65 72 65 64 20 69 74 2e 20 3c 2f  countered it. </
8980: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
8990: 69 78 65 64 20 61 6e 20 65 76 65 6e 74 20 68 61  ixed an event ha
89a0: 6e 64 6c 65 72 20 62 75 67 20 69 6e 20 53 51 4c  ndler bug in SQL
89b0: 69 74 65 43 6f 6d 6d 61 6e 64 42 75 69 6c 64 65  iteCommandBuilde
89c0: 72 20 69 6e 20 77 68 69 63 68 20 69 74 20 63 6f  r in which it co
89d0: 75 6c 64 20 66 61 69 6c 20 74 6f 20 75 6e 6c 61  uld fail to unla
89e0: 74 63 68 0d 0a 20 20 20 20 20 20 20 20 66 72 6f  tch..        fro
89f0: 6d 20 74 68 65 20 44 61 74 61 41 64 61 70 74 65  m the DataAdapte
8a00: 72 20 77 68 65 6e 20 72 65 75 73 65 64 2e 26 6e  r when reused.&n
8a10: 62 73 70 3b 20 52 65 6c 61 74 65 73 20 74 6f 20  bsp; Relates to 
8a20: 74 68 65 20 70 72 65 76 69 6f 75 73 20 62 75 67  the previous bug
8a30: 66 69 78 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  fix.</li>..     
8a40: 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 64 6f 75   <li>Fixed a dou
8a50: 62 6c 65 2d 64 69 73 70 6f 73 65 20 62 75 67 20  ble-dispose bug 
8a60: 69 6e 20 53 51 4c 69 74 65 53 74 61 74 65 6d 65  in SQLiteStateme
8a70: 6e 74 20 74 68 61 74 20 74 72 69 67 67 65 72 65  nt that triggere
8a80: 64 20 61 20 53 51 4c 69 74 65 45 78 63 65 70 74  d a SQLiteExcept
8a90: 69 6f 6e 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d  ion.&nbsp;</li>.
8aa0: 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20  .    </ul>..    
8ab0: 3c 70 3e 3c 62 3e 31 2e 30 2e 34 32 2e 30 20 2d  <p><b>1.0.42.0 -
8ac0: 20 4a 75 6e 65 20 31 2c 20 32 30 30 37 3c 2f 62   June 1, 2007</b
8ad0: 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d  ></p>..    <ul>.
8ae0: 0a 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65  .    <li>Code me
8af0: 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20  rge with SQLite 
8b00: 33 2e 33 2e 31 37 3c 2f 6c 69 3e 0d 0a 20 20 20  3.3.17</li>..   
8b10: 20 20 20 3c 6c 69 3e 43 68 61 6e 67 65 64 20 74     <li>Changed t
8b20: 68 65 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f  he SQLiteFunctio
8b30: 6e 20 73 74 61 74 69 63 20 63 6f 6e 73 74 72 75  n static constru
8b40: 63 74 6f 72 20 73 6f 20 69 74 20 6f 6e 6c 79 20  ctor so it only 
8b50: 65 6e 75 6d 65 72 61 74 65 73 20 6c 6f 61 64 65  enumerates loade
8b60: 64 20 6d 6f 64 75 6c 65 73 0d 0a 20 20 20 20 20  d modules..     
8b70: 20 20 20 74 68 61 74 20 68 61 76 65 20 72 65 66     that have ref
8b80: 65 72 65 6e 63 65 64 20 74 68 65 20 53 51 4c 69  erenced the SQLi
8b90: 74 65 20 61 73 73 65 6d 62 6c 79 2c 20 77 68 69  te assembly, whi
8ba0: 63 68 20 68 6f 70 65 66 75 6c 6c 79 20 73 68 6f  ch hopefully sho
8bb0: 75 6c 64 20 63 75 74 20 64 6f 77 6e 20 64 72 61  uld cut down dra
8bc0: 6d 61 74 69 63 61 6c 6c 79 0d 0a 20 20 20 20 20  matically..     
8bd0: 20 20 20 74 68 65 20 74 69 6d 65 20 69 74 20 74     the time it t
8be0: 61 6b 65 73 20 66 6f 72 20 74 68 61 74 20 66 75  akes for that fu
8bf0: 6e 63 74 69 6f 6e 20 74 6f 20 65 78 65 63 75 74  nction to execut
8c00: 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20  e.&nbsp;</li>.. 
8c10: 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 74       <li>Added t
8c20: 68 65 20 46 54 53 32 20 66 75 6c 6c 2d 74 65 78  he FTS2 full-tex
8c30: 74 20 73 65 61 72 63 68 20 65 78 74 65 6e 73 69  t search extensi
8c40: 6f 6e 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63  on to the projec
8c50: 74 2e 26 6e 62 73 70 3b 20 4c 6f 6f 6b 20 66 6f  t.&nbsp; Look fo
8c60: 72 20 46 54 53 31 0d 0a 20 20 20 20 20 20 20 20  r FTS1..        
8c70: 74 6f 20 64 69 73 61 70 70 65 61 72 20 77 69 74  to disappear wit
8c80: 68 69 6e 20 74 68 65 20 6e 65 78 74 20 63 6f 75  hin the next cou
8c90: 70 6c 65 20 6f 66 20 72 65 76 69 73 69 6f 6e 73  ple of revisions
8ca0: 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20  .&nbsp;</li>..  
8cb0: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
8cc0: 62 75 67 20 69 6e 74 72 6f 64 75 63 65 64 20 77  bug introduced w
8cd0: 69 74 68 20 74 68 65 20 66 69 6e 61 6c 69 7a 65  ith the finalize
8ce0: 72 73 20 74 68 61 74 20 74 72 69 67 67 65 72 65  rs that triggere
8cf0: 64 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20  d an error when 
8d00: 73 74 61 74 65 6d 65 6e 74 73 0d 0a 20 20 20 20  statements..    
8d10: 20 20 20 20 65 6e 64 65 64 20 77 69 74 68 20 61      ended with a
8d20: 20 73 65 6d 69 2d 63 6f 6c 6f 6e 20 6f 72 20 68   semi-colon or h
8d30: 61 64 20 6f 74 68 65 72 20 6e 6f 6e 2d 70 61 72  ad other non-par
8d40: 73 61 62 6c 65 20 63 6f 6d 6d 65 6e 74 73 20 61  sable comments a
8d50: 74 20 74 68 65 20 65 6e 64 20 6f 66 20 61 20 73  t the end of a s
8d60: 74 61 74 65 6d 65 6e 74 26 6e 62 73 70 3b 3c 2f  tatement&nbsp;</
8d70: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
8d80: 69 78 65 64 20 61 6e 20 69 6e 74 65 72 6d 69 74  ixed an intermit
8d90: 74 65 6e 74 20 6d 75 6c 74 69 2d 74 68 72 65 61  tent multi-threa
8da0: 64 65 64 20 72 61 63 65 20 63 6f 6e 64 69 74 69  ded race conditi
8db0: 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 67  on between the g
8dc0: 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 6f 72  arbage collector
8dd0: 0d 0a 20 20 20 20 20 20 20 20 74 68 72 65 61 64  ..        thread
8de0: 20 61 6e 64 20 74 68 65 20 6d 61 69 6e 20 61 70   and the main ap
8df0: 70 6c 69 63 61 74 69 6f 6e 20 74 68 72 65 61 64  plication thread
8e00: 20 77 68 69 63 68 20 6c 65 61 64 20 74 6f 20 61   which lead to a
8e10: 6e 20 6f 63 63 61 73 69 6f 6e 61 6c 20 53 51 4c  n occasional SQL
8e20: 49 54 45 5f 4d 49 53 55 53 45 0d 0a 20 20 20 20  ITE_MISUSE..    
8e30: 20 20 20 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0d      error.</li>.
8e40: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
8e50: 20 61 6e 6f 74 68 65 72 20 69 73 73 75 65 20 72   another issue r
8e60: 65 6c 61 74 69 6e 67 20 74 6f 20 53 51 4c 69 74  elating to SQLit
8e70: 65 27 73 20 69 6e 68 65 72 65 6e 74 20 74 79 70  e's inherent typ
8e80: 65 6c 65 73 73 6e 65 73 73 20 77 68 65 6e 20 64  elessness when d
8e90: 65 61 6c 69 6e 67 20 77 69 74 68 0d 0a 20 20 20  ealing with..   
8ea0: 20 20 20 20 20 61 67 67 72 65 67 61 74 65 20 66       aggregate f
8eb0: 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 63  unctions which c
8ec0: 6f 75 6c 64 20 72 65 74 75 72 6e 20 49 6e 74 36  ould return Int6
8ed0: 34 20 6f 72 20 44 6f 75 62 6c 65 20 6f 72 20 65  4 or Double or e
8ee0: 76 65 6e 20 53 74 72 69 6e 67 20 66 6f 72 20 61  ven String for a
8ef0: 20 67 69 76 65 6e 0d 0a 20 20 20 20 20 20 20 20   given..        
8f00: 72 6f 77 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e  row depending on
8f10: 20 77 68 61 74 20 77 61 73 20 61 67 67 72 65 67   what was aggreg
8f20: 61 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  ated.</li>..    
8f30: 20 20 3c 6c 69 3e 52 65 6d 65 6d 62 65 72 65 64    <li>Remembered
8f40: 20 74 6f 20 72 65 63 6f 6d 70 69 6c 65 20 74 68   to recompile th
8f50: 65 20 44 44 45 58 20 70 6f 72 74 69 6f 6e 20 6f  e DDEX portion o
8f60: 66 20 74 68 65 20 65 6e 67 69 6e 65 20 74 68 69  f the engine thi
8f70: 73 20 74 69 6d 65 2c 20 73 6f 20 43 6f 6d 70 61  s time, so Compa
8f80: 63 74 20 46 72 61 6d 65 77 6f 72 6b 0d 0a 20 20  ct Framework..  
8f90: 20 20 20 20 20 20 75 73 65 72 73 20 63 61 6e 20        users can 
8fa0: 6f 6e 63 65 20 61 67 61 69 6e 20 75 73 65 20 74  once again use t
8fb0: 68 65 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 66  he design-time f
8fc0: 75 6e 63 74 69 6f 6e 61 6c 69 74 79 3c 2f 6c 69  unctionality</li
8fd0: 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20  >..    </ul>..  
8fe0: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 31 2e 30    <p><b>1.0.41.0
8ff0: 20 2d 20 41 70 72 69 6c 20 32 33 2c 20 32 30 30   - April 23, 200
9000: 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c  7</b></p>..    <
9010: 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 43 6f 64  ul>..    <li>Cod
9020: 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c  e merge with SQL
9030: 69 74 65 20 33 2e 33 2e 31 36 3c 2f 6c 69 3e 0d  ite 3.3.16</li>.
9040: 0a 20 20 20 20 20 20 3c 6c 69 3e 53 65 63 6f 6e  .      <li>Secon
9050: 64 20 67 6f 20 61 74 20 69 6d 70 6c 65 6d 65 6e  d go at implemen
9060: 74 69 6e 67 20 70 72 6f 70 65 72 20 66 69 6e 61  ting proper fina
9070: 6c 69 7a 65 72 73 20 74 6f 20 63 6c 65 61 6e 75  lizers to cleanu
9080: 70 20 61 66 74 65 72 20 66 6f 6c 6b 73 20 77 68  p after folks wh
9090: 6f 27 76 65 20 66 6f 72 67 6f 74 74 65 6e 20 74  o've forgotten t
90a0: 6f 20 44 69 73 70 6f 73 65 28 29 20 6f 66 20 74  o Dispose() of t
90b0: 68 65 20 53 51 4c 69 74 65 20 6f 62 6a 65 63 74  he SQLite object
90c0: 73 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  s</li>..      <l
90d0: 69 3e 45 6e 68 61 6e 63 65 64 20 47 65 74 53 63  i>Enhanced GetSc
90e0: 68 65 6d 61 28 49 6e 64 65 78 43 6f 6c 75 6d 6e  hema(IndexColumn
90f0: 73 29 20 74 6f 20 70 72 6f 76 69 64 65 20 6e 75  s) to provide nu
9100: 6d 65 72 69 63 20 73 63 61 6c 65 20 61 6e 64 20  meric scale and 
9110: 70 72 65 63 69 73 69 6f 6e 20 76 61 6c 75 65 73  precision values
9120: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
9130: 3e 46 69 78 65 64 20 74 68 65 20 63 6f 6c 75 6d  >Fixed the colum
9140: 6e 20 6f 72 64 69 6e 61 6c 73 20 69 6e 20 47 65  n ordinals in Ge
9150: 74 53 63 68 65 6d 61 28 49 6e 64 65 78 43 6f 6c  tSchema(IndexCol
9160: 75 6d 6e 73 29 20 74 6f 20 72 65 70 6f 72 74 20  umns) to report 
9170: 74 68 65 20 6f 72 64 69 6e 61 6c 20 6f 66 20 74  the ordinal of t
9180: 68 65 20 63 6f 6c 75 6d 6e 20 69 6e 20 74 68 65  he column in the
9190: 20 69 6e 64 65 78 2c 20 6e 6f 74 20 74 68 65 20   index, not the 
91a0: 74 61 62 6c 65 3c 2f 6c 69 3e 0d 0a 20 20 20 20  table</li>..    
91b0: 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75    <li>Fixed a bu
91c0: 67 20 77 68 65 72 65 62 79 20 70 61 72 61 6d 65  g whereby parame
91d0: 74 65 72 73 20 6e 61 6d 65 64 20 77 69 74 68 20  ters named with 
91e0: 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20  an empty string 
91f0: 28 73 75 63 68 20 61 73 20 53 74 72 69 6e 67 2e  (such as String.
9200: 45 6d 70 74 79 29 20 77 65 72 65 20 74 72 65 61  Empty) were trea
9210: 74 65 64 20 6c 69 6b 65 20 61 20 6e 61 6d 65 64  ted like a named
9220: 20 70 61 72 61 6d 65 74 65 72 20 69 6e 73 74 65   parameter inste
9230: 61 64 20 6f 66 20 61 6e 20 75 6e 6e 61 6d 65 64  ad of an unnamed
9240: 20 70 61 72 61 6d 65 74 65 72 3c 2f 6c 69 3e 0d   parameter</li>.
9250: 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20  .    </ul>..    
9260: 3c 70 3e 3c 62 3e 31 2e 30 2e 34 30 2e 30 20 2d  <p><b>1.0.40.0 -
9270: 20 4a 61 6e 75 61 72 79 20 33 31 2c 20 32 30 30   January 31, 200
9280: 37 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c  7</b></p>..    <
9290: 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 43 6f 64  ul>..    <li>Cod
92a0: 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c  e merge with SQL
92b0: 69 74 65 20 33 2e 33 2e 31 32 3c 2f 6c 69 3e 0d  ite 3.3.12</li>.
92c0: 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74 73 20  .      <li>Lots 
92d0: 6f 66 20 6e 65 77 20 63 6f 64 65 20 74 6f 20 68  of new code to h
92e0: 61 6e 64 6c 65 20 6d 69 73 75 73 65 20 6f 66 20  andle misuse of 
92f0: 74 68 65 20 6c 69 62 72 61 72 79 2e 26 6e 62 73  the library.&nbs
9300: 70 3b 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 66  p; Implemented f
9310: 69 6e 61 6c 69 7a 65 72 73 0d 0a 20 20 20 20 20  inalizers..     
9320: 20 20 20 77 68 65 72 65 20 69 74 20 6d 61 64 65     where it made
9330: 20 73 65 6e 73 65 2c 20 66 69 78 65 64 20 6e 75   sense, fixed nu
9340: 6d 65 72 6f 75 73 20 67 61 72 62 61 67 65 20 63  merous garbage c
9350: 6f 6c 6c 65 63 74 6f 72 20 69 73 73 75 65 73 20  ollector issues 
9360: 77 68 65 6e 20 6f 62 6a 65 63 74 73 20 61 72 65  when objects are
9370: 20 6e 6f 74 0d 0a 20 20 20 20 20 20 20 20 64 69   not..        di
9380: 73 70 6f 73 65 64 20 70 72 6f 70 65 72 6c 79 2c  sposed properly,
9390: 20 26 6e 62 73 70 3b 66 69 78 65 64 20 73 6f 6d   &nbsp;fixed som
93a0: 65 20 6f 62 6a 65 63 74 20 6c 69 66 65 74 69 6d  e object lifetim
93b0: 65 20 69 73 73 75 65 73 2c 20 65 74 63 2e 3c 2f  e issues, etc.</
93c0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41  li>..      <li>A
93d0: 20 66 61 69 6c 65 64 20 43 6f 6d 6d 69 74 28 29   failed Commit()
93e0: 20 6f 6e 20 61 20 74 72 61 6e 73 61 63 74 69 6f   on a transactio
93f0: 6e 20 6e 6f 20 6c 6f 6e 67 65 72 20 6c 65 61 76  n no longer leav
9400: 65 73 20 74 68 65 20 74 72 61 6e 73 61 63 74 69  es the transacti
9410: 6f 6e 20 69 6e 20 61 6e 20 75 6e 75 73 61 62 6c  on in an unusabl
9420: 65 0d 0a 20 20 20 20 20 20 20 20 73 74 61 74 65  e..        state
9430: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c  .</li>..    </ul
9440: 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  >..    <p><b>1.0
9450: 2e 33 39 2e 31 20 2d 20 4a 61 6e 75 61 72 79 20  .39.1 - January 
9460: 31 31 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e  11, 2007</b></p>
9470: 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20  ..    <ul>..    
9480: 3c 6c 69 3e 46 69 78 65 64 20 61 20 72 65 61 6c  <li>Fixed a real
9490: 6c 79 20 64 75 6d 62 20 6d 69 73 74 61 6b 65 20  ly dumb mistake 
94a0: 74 68 61 74 20 66 6f 72 20 73 6f 6d 65 20 72 65  that for some re
94b0: 61 73 6f 6e 20 64 69 64 6e 27 74 20 74 72 69 67  ason didn't trig
94c0: 67 65 72 20 61 6e 79 20 65 72 72 6f 72 73 20 69  ger any errors i
94d0: 6e 0d 0a 20 20 20 20 20 20 74 68 65 20 74 65 73  n..      the tes
94e0: 74 63 61 73 65 73 2c 20 77 68 65 72 65 62 79 20  tcases, whereby 
94f0: 63 6f 6d 6d 61 6e 64 73 20 77 68 65 6e 20 61 73  commands when as
9500: 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20  sociated with a 
9510: 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 65 72 65 20  connection were 
9520: 6e 6f 74 20 61 64 64 69 6e 67 0d 0a 20 20 20 20  not adding..    
9530: 20 20 6f 72 20 72 65 6d 6f 76 69 6e 67 20 74 68    or removing th
9540: 65 6d 73 65 6c 76 65 73 20 66 72 6f 6d 20 61 6e  emselves from an
9550: 20 69 6e 74 65 72 6e 61 6c 20 6c 69 73 74 20 6f   internal list o
9560: 66 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 74  f commands for t
9570: 68 61 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 2d  hat connection -
9580: 2d 0d 0a 20 20 20 20 20 20 63 61 75 73 69 6e 67  -..      causing
9590: 20 61 20 22 64 61 74 61 62 61 73 65 20 69 73 20   a "database is 
95a0: 6c 6f 63 6b 65 64 22 20 65 72 72 6f 72 20 77 68  locked" error wh
95b0: 65 6e 20 74 72 79 69 6e 67 20 74 6f 20 63 6c 6f  en trying to clo
95c0: 73 65 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f  se the connectio
95d0: 6e 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75  n.</li>..    </u
95e0: 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  l>..    <p><b>1.
95f0: 30 2e 33 39 2e 30 20 2d 20 4a 61 6e 75 61 72 79  0.39.0 - January
9600: 20 31 30 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70   10, 2007</b></p
9610: 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20  >..    <ul>..   
9620: 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20   <li>Code merge 
9630: 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e  with SQLite 3.3.
9640: 31 30 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  10</li>..      <
9650: 6c 69 3e 46 69 78 65 64 20 61 20 6d 75 6c 74 69  li>Fixed a multi
9660: 2d 74 68 72 65 61 64 65 64 20 72 61 63 65 20 63  -threaded race c
9670: 6f 6e 64 69 74 69 6f 6e 20 62 75 67 20 69 6e 20  ondition bug in 
9680: 74 68 65 20 67 61 72 62 61 67 65 20 63 6f 6c 6c  the garbage coll
9690: 65 63 74 6f 72 20 77 68 65 6e 20 63 6f 6d 6d 61  ector when comma
96a0: 6e 64 73 0d 0a 20 20 20 20 20 20 20 20 61 6e 64  nds..        and
96b0: 2f 6f 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20  /or connections 
96c0: 61 72 65 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79  are not properly
96d0: 20 64 69 73 70 6f 73 65 64 20 62 79 20 74 68 65   disposed by the
96e0: 20 75 73 65 72 2e 20 3c 2f 6c 69 3e 0d 0a 20 20   user. </li>..  
96f0: 20 20 20 20 3c 6c 69 3e 53 77 69 74 63 68 65 64      <li>Switched
9700: 20 74 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 27   the encryption'
9710: 73 20 69 6e 74 65 72 6e 61 6c 20 64 65 61 6c 6c  s internal deall
9720: 6f 63 61 74 69 6f 6e 20 63 6f 64 65 20 74 6f 20  ocation code to 
9730: 75 73 65 20 73 71 6c 69 74 65 27 73 20 62 75 69  use sqlite's bui
9740: 6c 74 2d 69 6e 0d 0a 20 20 20 20 20 20 20 20 61  lt-in..        a
9750: 75 78 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 73  ux functions ins
9760: 74 65 61 64 20 6f 66 20 6d 6f 64 69 66 79 69 6e  tead of modifyin
9770: 67 20 74 68 65 20 70 61 67 65 72 2e 63 20 73 6f  g the pager.c so
9780: 75 72 63 65 20 74 6f 20 66 72 65 65 20 74 68 65  urce to free the
9790: 20 63 72 79 70 74 20 62 6c 6f 63 6b 2e 26 6e 62   crypt block.&nb
97a0: 73 70 3b 0d 0a 20 20 20 20 20 20 20 20 54 68 69  sp;..        Thi
97b0: 73 20 65 6c 69 6d 69 6e 61 74 65 73 20 74 68 65  s eliminates the
97c0: 20 6c 61 73 74 20 6f 66 20 74 68 65 20 63 6f 64   last of the cod
97d0: 65 20 63 68 61 6e 67 65 73 20 74 68 65 20 70 72  e changes the pr
97e0: 6f 76 69 64 65 72 20 6d 61 6b 65 73 20 74 6f 20  ovider makes to 
97f0: 74 68 65 20 6f 72 69 67 69 6e 61 6c 0d 0a 20 20  the original..  
9800: 20 20 20 20 20 20 73 71 6c 69 74 65 20 65 6e 67        sqlite eng
9810: 69 6e 65 20 73 6f 75 72 63 65 73 2e 26 6e 62 73  ine sources.&nbs
9820: 70 3b 20 50 72 6f 70 73 20 74 6f 20 52 61 6c 66  p; Props to Ralf
9830: 20 4a 75 6e 6b 65 72 20 66 6f 72 20 70 6f 69 6e   Junker for poin
9840: 74 69 6e 67 20 74 68 61 74 20 6f 75 74 2e 3c 2f  ting that out.</
9850: 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a  li>..    </ul>..
9860: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 38      <p><b>1.0.38
9870: 2e 30 20 2d 20 4e 6f 76 65 6d 62 65 72 20 32 32  .0 - November 22
9880: 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0d 0a  , 2006</b></p>..
9890: 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c      <ul>..    <l
98a0: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 77 68  i>Fixed a bug wh
98b0: 65 6e 20 75 73 69 6e 67 20 43 6f 6d 6d 61 6e 64  en using Command
98c0: 42 65 68 61 76 69 6f 72 2e 4b 65 79 49 6e 66 6f  Behavior.KeyInfo
98d0: 20 77 68 65 72 65 62 79 20 69 6e 74 65 67 65 72   whereby integer
98e0: 20 70 72 69 6d 61 72 79 20 6b 65 79 20 63 6f 6c   primary key col
98f0: 75 6d 6e 73 20 6d 61 79 20 62 65 20 64 75 70 6c  umns may be dupl
9900: 69 63 61 74 65 64 20 69 6e 20 74 68 65 20 72 65  icated in the re
9910: 73 75 6c 74 73 2e 20 3c 2f 6c 69 3e 0d 0a 20 20  sults. </li>..  
9920: 20 20 20 20 3c 6c 69 3e 45 6e 68 61 6e 63 65 64      <li>Enhanced
9930: 20 74 68 65 20 43 6f 6d 6d 61 6e 64 42 75 69 6c   the CommandBuil
9940: 64 65 72 20 73 6f 20 74 68 61 74 20 75 70 64 61  der so that upda
9950: 74 65 2f 64 65 6c 65 74 65 20 73 74 61 74 65 6d  te/delete statem
9960: 65 6e 74 73 20 61 72 65 20 6f 70 74 69 6d 69 7a  ents are optimiz
9970: 65 64 20 77 68 65 6e 20 74 68 65 20 61 66 66 65  ed when the affe
9980: 63 74 65 64 20 74 61 62 6c 65 20 63 6f 6e 74 61  cted table conta
9990: 69 6e 73 20 75 6e 69 71 75 65 20 63 6f 6e 73 74  ins unique const
99a0: 72 61 69 6e 74 73 20 61 6e 64 0d 0a 20 20 20 20  raints and..    
99b0: 20 20 61 20 70 72 69 6d 61 72 79 20 6b 65 79 20    a primary key 
99c0: 69 73 20 70 72 65 73 65 6e 74 2e 3c 2f 6c 69 3e  is present.</li>
99d0: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  ..      <li>Fixe
99e0: 64 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 44  d a bug in the D
99f0: 61 74 61 52 65 61 64 65 72 20 77 68 65 6e 20 75  ataReader when u
9a00: 73 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69  sed in conjuncti
9a10: 6f 6e 20 77 69 74 68 20 43 6f 6d 6d 61 6e 64 42  on with CommandB
9a20: 65 68 61 76 69 6f 72 2e 43 6c 6f 73 65 43 6f 6e  ehavior.CloseCon
9a30: 6e 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 3c 2f 75  nection.</li></u
9a40: 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  l>..    <p><b>1.
9a50: 30 2e 33 37 2e 30 20 2d 20 4e 6f 76 65 6d 62 65  0.37.0 - Novembe
9a60: 72 20 31 39 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f  r 19, 2006</b></
9a70: 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20  p>..    <ul>..  
9a80: 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70    <li>Added supp
9a90: 6f 72 74 20 66 6f 72 20 43 6f 6d 6d 61 6e 64 42  ort for CommandB
9aa0: 65 68 61 76 69 6f 72 2e 4b 65 79 49 6e 66 6f 2e  ehavior.KeyInfo.
9ab0: 26 6e 62 73 70 3b 20 0d 0a 20 20 20 20 20 20 57  &nbsp; ..      W
9ac0: 68 65 6e 20 73 70 65 63 69 66 69 65 64 20 69 6e  hen specified in
9ad0: 20 61 20 71 75 65 72 79 2c 20 61 64 64 69 74 69   a query, additi
9ae0: 6f 6e 61 6c 20 63 6f 6c 75 6d 6e 28 73 29 20 77  onal column(s) w
9af0: 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 20  ill be returned 
9b00: 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 0d 0a  describing the..
9b10: 20 20 20 20 20 20 6b 65 79 28 73 29 20 64 65 66        key(s) def
9b20: 69 6e 65 64 20 66 6f 72 20 74 68 65 20 74 61 62  ined for the tab
9b30: 6c 65 28 73 29 20 73 65 6c 65 63 74 65 64 20 69  le(s) selected i
9b40: 6e 20 74 68 65 20 71 75 65 72 79 2e 26 6e 62 73  n the query.&nbs
9b50: 70 3b 20 54 68 69 73 20 69 73 20 6f 70 74 69 6d  p; This is optim
9b60: 69 7a 65 64 20 77 68 65 6e 0d 0a 20 20 20 20 20  ized when..     
9b70: 20 49 4e 54 45 47 45 52 20 50 52 49 4d 41 52 59   INTEGER PRIMARY
9b80: 20 4b 45 59 20 69 73 20 73 65 74 20 66 6f 72 20   KEY is set for 
9b90: 74 68 65 20 67 69 76 65 6e 20 74 61 62 6c 65 73  the given tables
9ba0: 2c 20 62 75 74 20 64 6f 65 73 20 61 64 64 69 74  , but does addit
9bb0: 69 6f 6e 61 6c 20 77 6f 72 6b 20 66 6f 72 20 6f  ional work for o
9bc0: 74 68 65 72 0d 0a 20 20 20 20 20 20 6b 69 6e 64  ther..      kind
9bd0: 73 20 6f 66 20 70 72 69 6d 61 72 79 20 6b 65 79  s of primary key
9be0: 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  s.</li>..      <
9bf0: 6c 69 3e 52 65 6d 6f 76 65 64 20 74 68 65 20 64  li>Removed the d
9c00: 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 66 72  efault values fr
9c10: 6f 6d 20 53 51 4c 69 74 65 44 61 74 61 52 65 61  om SQLiteDataRea
9c20: 64 65 72 2e 47 65 74 54 61 62 6c 65 53 63 68 65  der.GetTableSche
9c30: 6d 61 28 29 2c 20 74 6f 20 62 65 74 74 65 72 20  ma(), to better 
9c40: 66 6f 6c 6c 6f 77 0d 0a 20 20 20 20 20 20 20 20  follow..        
9c50: 53 71 6c 20 53 65 72 76 65 72 27 73 20 70 61 74  Sql Server's pat
9c60: 74 65 72 6e 20 61 6e 64 20 73 75 70 70 72 65 73  tern and suppres
9c70: 73 20 73 63 68 65 6d 61 20 65 72 72 6f 72 73 20  s schema errors 
9c80: 77 68 65 6e 20 6c 6f 61 64 69 6e 67 20 74 68 65  when loading the
9c90: 20 72 65 63 6f 72 64 73 20 69 6e 74 6f 20 61 0d   records into a.
9ca0: 0a 20 20 20 20 20 20 20 20 64 61 74 61 73 65 74  .        dataset
9cb0: 2f 64 61 74 61 74 61 62 6c 65 2e 3c 2f 6c 69 3e  /datatable.</li>
9cc0: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 6f  ..      <li>Allo
9cd0: 77 20 69 6e 74 65 67 65 72 73 20 74 6f 20 69 6d  w integers to im
9ce0: 70 6c 69 63 69 74 6c 79 20 63 6f 6e 76 65 72 74  plicitly convert
9cf0: 20 74 6f 20 64 6f 75 62 6c 65 2f 64 65 63 69 6d   to double/decim
9d00: 61 6c 2f 73 69 6e 67 6c 65 2e 3c 2f 6c 69 3e 3c  al/single.</li><
9d10: 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e  /ul>..    <p><b>
9d20: 31 2e 30 2e 33 36 2e 31 20 2d 20 4f 63 74 6f 62  1.0.36.1 - Octob
9d30: 65 72 20 32 35 2c 20 32 30 30 36 3c 2f 62 3e 3c  er 25, 2006</b><
9d40: 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20  /p>..    <ul>.. 
9d50: 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 75 70     <li>Added sup
9d60: 70 6f 72 74 20 66 6f 72 20 4c 4f 4e 47 56 41 52  port for LONGVAR
9d70: 43 48 41 52 2c 20 53 4d 41 4c 4c 44 41 54 45 20  CHAR, SMALLDATE 
9d80: 61 6e 64 20 53 4d 41 4c 4c 44 41 54 45 54 49 4d  and SMALLDATETIM
9d90: 45 2e 20 20 54 68 65 73 65 20 77 65 72 65 20 61  E.  These were a
9da0: 63 74 75 61 6c 6c 79 20 61 64 64 65 64 20 69 6e  ctually added in
9db0: 20 31 2e 30 2e 33 36 2e 30 20 62 75 74 20 77 65   1.0.36.0 but we
9dc0: 72 65 20 75 6e 64 6f 63 75 6d 65 6e 74 65 64 2e  re undocumented.
9dd0: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e 46  </li>..    <li>F
9de0: 69 78 65 64 20 74 68 65 20 65 6d 62 65 64 64 65  ixed the embedde
9df0: 64 20 68 65 6c 70 66 69 6c 65 20 77 68 69 63 68  d helpfile which
9e00: 20 77 61 73 20 61 63 63 69 64 65 6e 74 61 6c 6c   was accidentall
9e10: 79 20 62 75 69 6c 74 20 66 72 6f 6d 20 6f 6c 64  y built from old
9e20: 20 73 6f 75 72 63 65 73 2e 20 3c 2f 6c 69 3e 0d   sources. </li>.
9e30: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61  .    <li>Fixed a
9e40: 6e 20 75 6e 66 6f 72 74 75 6e 61 74 65 20 72 65  n unfortunate re
9e50: 2d 65 6e 74 72 79 20 6f 66 20 61 20 62 75 67 20  -entry of a bug 
9e60: 69 6e 20 74 68 65 20 2e 33 36 20 63 6f 64 65 62  in the .36 codeb
9e70: 61 73 65 20 74 68 61 74 20 63 61 75 73 65 64 20  ase that caused 
9e80: 74 68 65 20 70 72 6f 76 69 64 65 72 20 74 6f 20  the provider to 
9e90: 22 66 6f 72 67 65 74 22 20 61 62 6f 75 74 20 63  "forget" about c
9ea0: 6f 6d 6d 61 6e 64 73 20 6f 6e 20 61 20 63 6f 6e  ommands on a con
9eb0: 6e 65 63 74 69 6f 6e 20 75 6e 64 65 72 20 63 65  nection under ce
9ec0: 72 74 61 69 6e 20 63 69 72 63 75 6d 73 74 61 6e  rtain circumstan
9ed0: 63 65 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c  ces.</li>..    <
9ee0: 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e  /ul>..    <p><b>
9ef0: 31 2e 30 2e 33 36 2e 30 20 2d 20 4f 63 74 6f 62  1.0.36.0 - Octob
9f00: 65 72 20 32 33 2c 20 32 30 30 36 3c 2f 62 3e 3c  er 23, 2006</b><
9f10: 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20  /p>..    <ul>.. 
9f20: 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67     <li>Code merg
9f30: 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e  e with SQLite 3.
9f40: 33 2e 38 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73  3.8, including s
9f50: 75 70 70 6f 72 74 20 66 6f 72 20 66 75 6c 6c 2d  upport for full-
9f60: 74 65 78 74 20 73 65 61 72 63 68 20 76 69 61 20  text search via 
9f70: 74 68 65 20 46 54 53 31 0d 0a 20 20 20 20 20 20  the FTS1..      
9f80: 65 78 74 65 6e 73 69 6f 6e 2e 26 6e 62 73 70 3b  extension.&nbsp;
9f90: 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78 65 64 20 61  </li><li>Fixed a
9fa0: 20 62 75 67 20 72 65 74 72 69 65 76 69 6e 67 20   bug retrieving 
9fb0: 64 61 74 61 20 74 79 70 65 73 20 77 68 65 6e 20  data types when 
9fc0: 55 73 65 55 74 66 31 36 45 6e 63 6f 64 69 6e 67  UseUtf16Encoding
9fd0: 20 69 73 20 74 72 75 65 2e 20 20 53 69 64 65 2d   is true.  Side-
9fe0: 65 66 66 65 63 74 20 6f 66 20 66 75 72 74 68 65  effect of furthe
9ff0: 72 20 6d 65 72 67 69 6e 67 20 74 68 65 20 63 6f  r merging the co
a000: 6d 6d 6f 6e 20 63 6f 64 65 20 62 65 74 77 65 65  mmon code betwee
a010: 6e 20 74 68 65 20 74 77 6f 20 62 61 73 65 20 63  n the two base c
a020: 6c 61 73 73 65 73 2e 3c 2f 6c 69 3e 0d 0a 20 20  lasses.</li>..  
a030: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
a040: 62 75 67 20 77 69 74 68 20 53 79 73 74 65 6d 2e  bug with System.
a050: 54 72 61 6e 73 61 63 74 69 6f 6e 73 20 77 68 65  Transactions whe
a060: 72 65 62 79 20 61 20 63 6f 6e 6e 65 63 74 69 6f  reby a connectio
a070: 6e 20 63 6c 6f 73 65 64 2f 64 69 73 70 6f 73 65  n closed/dispose
a080: 64 20 77 69 74 68 69 6e 0d 0a 20 20 20 20 20 20  d within..      
a090: 20 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20    a transaction 
a0a0: 73 63 6f 70 65 20 69 73 20 72 6f 6c 6c 65 64 20  scope is rolled 
a0b0: 62 61 63 6b 20 61 6e 64 20 63 61 6e 6e 6f 74 20  back and cannot 
a0c0: 62 65 20 63 6f 6d 6d 69 74 74 65 64 2e 3c 2f 6c  be committed.</l
a0d0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64  i>..      <li>Ad
a0e0: 64 65 64 20 6d 6f 72 65 20 65 72 72 6f 72 20 63  ded more error c
a0f0: 68 65 63 6b 69 6e 67 20 61 6e 64 20 72 65 70 6f  hecking and repo
a100: 72 74 69 6e 67 20 74 6f 20 74 72 61 6e 73 61 63  rting to transac
a110: 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 20 75 73  tions to help us
a120: 65 72 27 73 20 69 73 6f 6c 61 74 65 0d 0a 20 20  er's isolate..  
a130: 20 20 20 20 20 20 74 68 65 20 73 6f 75 72 63 65        the source
a140: 20 6f 66 20 74 72 61 6e 73 61 63 74 69 6f 6e 20   of transaction 
a150: 66 61 69 6c 75 72 65 73 2e 3c 2f 6c 69 3e 0d 0a  failures.</li>..
a160: 20 20 20 20 20 20 3c 6c 69 3e 49 6d 70 6c 65 6d        <li>Implem
a170: 65 6e 74 65 64 20 61 20 77 6f 72 6b 61 72 6f 75  ented a workarou
a180: 6e 64 20 66 6f 72 20 61 20 43 6f 6d 70 61 63 74  nd for a Compact
a190: 20 46 72 61 6d 65 77 6f 72 6b 20 69 73 73 75 65   Framework issue
a1a0: 20 72 65 67 61 72 64 69 6e 67 20 73 74 72 6f 6e   regarding stron
a1b0: 67 2d 6e 61 6d 65 64 0d 0a 20 20 20 20 20 20 20  g-named..       
a1c0: 20 61 73 73 65 6d 62 6c 69 65 73 20 63 6f 6e 74   assemblies cont
a1d0: 61 69 6e 69 6e 67 20 61 20 50 45 20 73 65 63 74  aining a PE sect
a1e0: 69 6f 6e 20 77 69 74 68 20 61 20 72 61 77 20 73  ion with a raw s
a1f0: 69 7a 65 20 6c 65 73 73 20 74 68 61 6e 20 74 68  ize less than th
a200: 65 20 76 69 72 74 75 61 6c 20 73 69 7a 65 2e 26  e virtual size.&
a210: 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20 20  nbsp;</li>..    
a220: 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </ul>..    <p><b
a230: 3e 31 2e 30 2e 33 35 2e 31 20 2d 20 53 65 70 74  >1.0.35.1 - Sept
a240: 65 6d 62 65 72 20 31 32 2c 20 32 30 30 36 3c 2f  ember 12, 2006</
a250: 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e  b></p>..    <ul>
a260: 0d 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  ..    <li>Fixed 
a270: 74 68 65 20 54 59 50 45 53 20 6b 65 79 77 6f 72  the TYPES keywor
a280: 64 20 74 6f 20 77 6f 72 6b 20 77 68 65 6e 20 55  d to work when U
a290: 73 65 55 54 46 31 36 45 6e 63 6f 64 69 6e 67 20  seUTF16Encoding 
a2a0: 69 73 20 74 72 75 65 2e 3c 2f 6c 69 3e 0d 0a 20  is true.</li>.. 
a2b0: 20 20 20 3c 6c 69 3e 46 69 78 20 61 6e 6f 74 68     <li>Fix anoth
a2c0: 65 72 20 62 75 67 20 72 65 76 65 61 6c 65 64 20  er bug revealed 
a2d0: 69 6e 20 31 2e 30 2e 33 35 2e 30 20 72 65 67 61  in 1.0.35.0 rega
a2e0: 72 64 69 6e 67 20 69 6e 66 69 6e 69 74 65 20 6c  rding infinite l
a2f0: 6f 6f 70 73 20 77 68 65 6e 20 74 68 65 20 32 6e  oops when the 2n
a300: 64 20 6f 72 20 73 75 62 73 65 71 75 65 6e 74 20  d or subsequent 
a310: 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 61 20  statements of a 
a320: 73 65 6d 69 2d 63 6f 6c 6f 6e 20 73 65 70 61 72  semi-colon separ
a330: 61 74 65 64 20 63 6f 6d 6d 61 6e 64 20 63 61 6e  ated command can
a340: 6e 6f 74 20 62 65 20 70 61 72 73 65 64 2e 3c 2f  not be parsed.</
a350: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 55  li>..      <li>U
a360: 70 64 61 74 65 64 20 74 68 65 20 68 65 6c 70 20  pdated the help 
a370: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 26 6e  documentation.&n
a380: 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c  bsp;</li>..    <
a390: 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e  /ul>..    <p><b>
a3a0: 31 2e 30 2e 33 35 2e 30 20 2d 20 53 65 70 74 65  1.0.35.0 - Septe
a3b0: 6d 62 65 72 20 31 30 2c 20 32 30 30 36 3c 2f 62  mber 10, 2006</b
a3c0: 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d  ></p>..    <ul>.
a3d0: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61  .    <li>Fixed a
a3e0: 6e 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 20  n infinite loop 
a3f0: 62 75 67 20 69 6e 20 53 51 4c 69 74 65 43 6f 6d  bug in SQLiteCom
a400: 6d 61 6e 64 20 63 61 75 73 65 64 20 77 68 65 6e  mand caused when
a410: 20 6d 75 6c 74 69 70 6c 65 20 73 65 6d 69 2d 63   multiple semi-c
a420: 6f 6c 6f 6e 20 73 65 70 61 72 61 74 65 64 0d 0a  olon separated..
a430: 20 20 20 20 20 20 73 74 61 74 65 6d 65 6e 74 73        statements
a440: 20 69 6e 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d   in a single com
a450: 6d 61 6e 64 20 61 72 65 20 65 78 65 63 75 74 65  mand are execute
a460: 64 20 76 69 61 20 64 61 74 61 72 65 61 64 65 72  d via datareader
a470: 20 61 6e 64 20 6f 6e 65 20 6f 66 20 74 68 65 20   and one of the 
a480: 73 74 61 74 65 6d 65 6e 74 73 0d 0a 20 20 20 20  statements..    
a490: 20 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 79 6e    contains a syn
a4a0: 74 61 78 20 65 72 72 6f 72 20 70 72 65 76 65 6e  tax error preven
a4b0: 74 69 6e 67 20 69 74 20 66 72 6f 6d 20 62 65 69  ting it from bei
a4c0: 6e 67 20 70 72 65 70 61 72 65 64 2e 26 6e 62 73  ng prepared.&nbs
a4d0: 70 3b 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64  p;</li><li>Added
a4e0: 20 74 68 65 20 54 59 50 45 53 20 70 72 65 70 61   the TYPES prepa
a4f0: 72 73 65 72 20 6b 65 79 77 6f 72 64 20 74 6f 20  rser keyword to 
a500: 62 65 20 70 6c 61 63 65 64 20 62 65 66 6f 72 65  be placed before
a510: 20 61 20 53 45 4c 45 43 54 20 73 74 61 74 65 6d   a SELECT statem
a520: 65 6e 74 20 74 6f 0d 0a 20 20 20 20 61 69 64 20  ent to..    aid 
a530: 74 68 65 20 77 72 61 70 70 65 72 20 69 6e 20 63  the wrapper in c
a540: 6f 6e 76 65 72 74 69 6e 67 20 65 78 70 72 65 73  onverting expres
a550: 73 69 6f 6e 73 20 69 6e 20 61 20 73 75 62 73 65  sions in a subse
a560: 71 75 65 6e 74 20 73 65 6c 65 63 74 20 63 6c 61  quent select cla
a570: 75 73 65 20 69 6e 74 6f 20 6d 6f 72 65 0d 0a 20  use into more.. 
a580: 20 20 20 72 6f 62 75 73 74 20 74 79 70 65 73 2e     robust types.
a590: 26 6e 62 73 70 3b 20 44 6f 63 75 6d 65 6e 74 61  &nbsp; Documenta
a5a0: 74 69 6f 6e 20 79 65 74 20 74 6f 20 62 65 20 69  tion yet to be i
a5b0: 6e 74 65 67 72 61 74 65 64 2c 20 62 75 74 20 61  ntegrated, but a
a5c0: 76 61 69 6c 61 62 6c 65 20 6f 6e 20 74 68 65 20  vailable on the 
a5d0: 66 6f 72 75 6d 73 2e 3c 2f 6c 69 3e 0d 0a 20 20  forums.</li>..  
a5e0: 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 61 20      <li>Added a 
a5f0: 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 74  new connectionst
a600: 72 69 6e 67 20 70 61 72 61 6d 65 74 65 72 20 22  ring parameter "
a610: 42 69 6e 61 72 79 47 55 49 44 3d 74 72 75 65 2f  BinaryGUID=true/
a620: 66 61 6c 73 65 22 20 28 64 65 66 61 75 6c 74 20  false" (default 
a630: 69 73 20 22 74 72 75 65 22 29 2e 26 6e 62 73 70  is "true").&nbsp
a640: 3b 0d 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20  ;..        When 
a650: 74 72 75 65 2c 20 67 75 69 64 20 74 79 70 65 73  true, guid types
a660: 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74   are stored in t
a670: 68 65 20 64 61 74 61 62 61 73 65 20 61 73 20 62  he database as b
a680: 69 6e 61 72 79 20 62 6c 6f 62 73 20 74 6f 20 73  inary blobs to s
a690: 61 76 65 20 73 70 61 63 65 2e 26 6e 62 73 70 3b  ave space.&nbsp;
a6a0: 0d 0a 20 20 20 20 20 20 20 20 42 69 6e 61 72 79  ..        Binary
a6b0: 20 68 61 73 20 62 65 65 6e 20 74 68 65 20 64 65   has been the de
a6c0: 66 61 75 6c 74 20 66 6f 72 6d 61 74 20 73 69 6e  fault format sin
a6d0: 63 65 20 31 2e 30 2e 33 32 2e 30 20 62 75 74 20  ce 1.0.32.0 but 
a6e0: 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 65  this parameter e
a6f0: 61 73 65 73 20 62 61 63 6b 77 61 72 64 0d 0a 20  ases backward.. 
a700: 20 20 20 20 20 20 20 63 6f 6d 70 61 74 69 62 69         compatibi
a710: 6c 69 74 79 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  lity.</li>..    
a720: 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </ul>..    <p><b
a730: 3e 31 2e 30 2e 33 34 2e 30 20 2d 20 53 65 70 74  >1.0.34.0 - Sept
a740: 65 6d 62 65 72 20 34 2c 20 32 30 30 36 3c 2f 62  ember 4, 2006</b
a750: 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d  ></p>..    <ul>.
a760: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61  .    <li>Fixed a
a770: 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65 50 61   bug in SQLitePa
a780: 72 61 6d 65 74 65 72 43 6f 6c 6c 65 63 74 69 6f  rameterCollectio
a790: 6e 2e 52 65 6d 6f 76 65 41 74 28 6e 61 6d 65 64  n.RemoveAt(named
a7a0: 70 61 72 61 6d 29 3c 2f 6c 69 3e 0d 0a 20 20 20  param)</li>..   
a7b0: 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67   <li>Fixed a bug
a7c0: 20 69 6e 20 53 51 4c 69 74 65 44 61 74 61 52 65   in SQLiteDataRe
a7d0: 61 64 65 72 20 69 6e 74 72 6f 64 75 63 65 64 20  ader introduced 
a7e0: 69 6e 20 31 2e 30 2e 33 30 20 74 68 61 74 20 62  in 1.0.30 that b
a7f0: 72 6f 6b 65 20 44 61 74 65 54 69 6d 65 73 20 75  roke DateTimes u
a800: 73 69 6e 67 20 74 68 65 20 54 69 63 6b 73 20 6f  sing the Ticks o
a810: 70 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 6f 6e  ption in the con
a820: 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 2e 3c  nection string.<
a830: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
a840: 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 74  Fixed a bug in t
a850: 68 65 20 72 65 63 65 6e 74 20 63 68 61 6e 67 65  he recent change
a860: 73 20 74 6f 20 67 75 69 64 20 62 65 68 61 76 69  s to guid behavi
a870: 6f 72 20 77 68 65 72 65 69 6e 20 75 73 69 6e 67  or wherein using
a880: 20 61 20 64 61 74 61 72 65 61 64 65 72 27 73 0d   a datareader's.
a890: 0a 20 20 20 20 20 20 20 20 69 6e 64 65 78 65 72  .        indexer
a8a0: 20 74 6f 20 66 65 74 63 68 20 61 20 67 75 69 64   to fetch a guid
a8b0: 20 66 72 6f 6d 20 61 20 63 6f 6c 75 6d 6e 20 63   from a column c
a8c0: 6f 6e 74 61 69 6e 69 6e 67 20 62 6f 74 68 20 62  ontaining both b
a8d0: 69 6e 61 72 79 20 61 6e 64 20 74 65 78 74 20 67  inary and text g
a8e0: 75 69 64 73 20 77 6f 75 6c 64 0d 0a 20 20 20 20  uids would..    
a8f0: 20 20 20 20 73 6f 6d 65 74 69 6d 65 73 20 72 65      sometimes re
a900: 74 75 72 6e 20 61 20 62 79 74 65 20 61 72 72 61  turn a byte arra
a910: 79 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 67  y instead of a g
a920: 75 69 64 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  uid.</li>..     
a930: 20 3c 6c 69 3e 45 6e 61 63 74 65 64 20 61 20 77   <li>Enacted a w
a940: 6f 72 6b 61 72 6f 75 6e 64 20 69 6e 76 6f 6c 76  orkaround involv
a950: 69 6e 67 20 74 79 70 65 64 20 64 61 74 61 73 65  ing typed datase
a960: 74 73 20 69 6e 20 43 6f 6d 70 61 63 74 20 46 72  ts in Compact Fr
a970: 61 6d 65 77 6f 72 6b 20 70 72 6f 6a 65 63 74 73  amework projects
a980: 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 77 68 69   in..        whi
a990: 63 68 20 69 74 20 74 6f 6f 6b 20 61 6e 20 65 78  ch it took an ex
a9a0: 63 65 73 73 69 76 65 20 61 6d 6f 75 6e 74 20 6f  cessive amount o
a9b0: 66 20 74 69 6d 65 20 74 6f 20 6f 70 65 6e 20 61  f time to open a
a9c0: 20 66 6f 72 6d 20 61 6e 64 20 67 65 6e 65 72 61   form and genera
a9d0: 74 65 64 20 61 20 6c 6f 74 20 6f 66 0d 0a 20 20  ted a lot of..  
a9e0: 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20        temporary 
a9f0: 66 69 6c 65 73 20 69 6e 20 74 68 65 20 75 73 65  files in the use
aa00: 72 27 73 20 4c 6f 63 61 6c 20 53 65 74 74 69 6e  r's Local Settin
aa10: 67 73 5c 41 70 70 6c 69 63 61 74 69 6f 6e 20 44  gs\Application D
aa20: 61 74 61 5c 4d 69 63 72 6f 73 6f 66 74 5c 56 69  ata\Microsoft\Vi
aa30: 73 75 61 6c 53 74 75 64 69 6f 5c 38 2e 30 5c 41  sualStudio\8.0\A
aa40: 73 73 65 6d 62 6c 79 0d 0a 20 20 20 20 20 20 20  ssembly..       
aa50: 20 52 65 66 65 72 65 6e 63 65 73 20 66 6f 6c 64   References fold
aa60: 65 72 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f  er.</li>..    </
aa70: 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  ul>..    <p><b>1
aa80: 2e 30 2e 33 33 2e 30 20 2d 20 41 75 67 75 73 74  .0.33.0 - August
aa90: 20 32 31 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70   21, 2006</b></p
aaa0: 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20  >..    <ul>..   
aab0: 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20   <li>Code merge 
aac0: 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e  with SQLite 3.3.
aad0: 37 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  7</li>..      <l
aae0: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e  i>Fixed a bug in
aaf0: 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f   SQLiteConnectio
ab00: 6e 20 74 68 61 74 20 63 61 75 73 65 64 20 69 74  n that caused it
ab10: 20 74 6f 20 22 66 6f 72 67 65 74 22 20 61 62 6f   to "forget" abo
ab20: 75 74 20 63 6f 6d 6d 61 6e 64 73 20 62 6f 75 6e  ut commands boun
ab30: 64 0d 0a 20 20 20 20 20 20 74 6f 20 69 74 20 61  d..      to it a
ab40: 6e 64 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 20  nd occasionally 
ab50: 74 68 72 6f 77 20 61 6e 20 65 72 72 6f 72 20 77  throw an error w
ab60: 68 65 6e 20 61 20 64 61 74 61 62 61 73 65 20 69  hen a database i
ab70: 73 20 63 6c 6f 73 65 64 20 61 6e 64 20 6f 70 65  s closed and ope
ab80: 6e 65 64 20 72 65 70 65 61 74 65 64 6c 79 2e 26  ned repeatedly.&
ab90: 6e 62 73 70 3b 0d 0a 20 20 20 20 20 20 3c 2f 6c  nbsp;..      </l
aba0: 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20  i>..    </ul>.. 
abb0: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 32 2e     <p><b>1.0.32.
abc0: 30 20 2d 20 41 75 67 75 73 74 20 36 2c 20 32 30  0 - August 6, 20
abd0: 30 36 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20  06</b></p>..    
abe0: 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 41 64  <ul>..    <li>Ad
abf0: 64 65 64 20 41 6c 6c 6f 77 50 61 72 74 69 61 6c  ded AllowPartial
ac00: 6c 79 54 72 75 73 74 65 64 43 61 6c 6c 65 72 73  lyTrustedCallers
ac10: 20 61 74 74 72 69 62 75 74 65 20 74 6f 20 74 68   attribute to th
ac20: 65 20 61 73 73 65 6d 62 6c 79 3c 2f 6c 69 3e 3c  e assembly</li><
ac30: 6c 69 3e 41 64 64 65 64 20 74 68 65 20 6d 69 73  li>Added the mis
ac40: 73 69 6e 67 20 22 6e 63 68 61 72 22 20 74 79 70  sing "nchar" typ
ac50: 65 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  e</li>..      <l
ac60: 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20  i>Added support 
ac70: 66 6f 72 20 62 69 6e 61 72 79 20 47 75 69 64 27  for binary Guid'
ac80: 73 2e 26 6e 62 73 70 3b 20 47 75 69 64 73 20 61  s.&nbsp; Guids a
ac90: 72 65 20 6e 6f 77 20 73 74 6f 72 65 64 20 61 73  re now stored as
aca0: 20 62 69 6e 61 72 79 20 62 79 20 64 65 66 61 75   binary by defau
acb0: 6c 74 0d 0a 20 20 20 20 20 20 20 20 77 68 65 6e  lt..        when
acc0: 20 75 73 69 6e 67 20 70 61 72 61 6d 65 74 65 72   using parameter
acd0: 69 7a 65 64 20 71 75 65 72 69 65 73 2e 26 6e 62  ized queries.&nb
ace0: 73 70 3b 20 54 65 78 74 20 67 75 69 64 73 20 61  sp; Text guids a
acf0: 72 65 20 73 74 69 6c 6c 20 66 75 6c 6c 79 20 73  re still fully s
ad00: 75 70 70 6f 72 74 65 64 2e 3c 2f 6c 69 3e 0d 0a  upported.</li>..
ad10: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
ad20: 61 20 54 72 61 6e 73 61 63 74 69 6f 6e 53 63 6f  a TransactionSco
ad30: 70 65 28 29 20 65 72 72 6f 72 20 74 68 61 74 20  pe() error that 
ad40: 63 61 75 73 65 64 20 74 68 65 20 74 72 61 6e 73  caused the trans
ad50: 61 63 74 69 6f 6e 20 6e 6f 74 20 74 6f 20 62 65  action not to be
ad60: 20 63 6f 6d 70 6c 65 74 65 64 2e 3c 2f 6c 69 3e   completed.</li>
ad70: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 45 6e 68 61  ..      <li>Enha
ad80: 6e 63 65 64 20 70 61 72 61 6d 65 74 65 72 20 6e  nced parameter n
ad90: 61 6d 65 73 20 73 6f 20 74 68 61 74 20 69 66 20  ames so that if 
ada0: 74 68 65 79 20 61 72 65 20 61 64 64 65 64 20 74  they are added t
adb0: 6f 20 74 68 65 20 50 61 72 61 6d 65 74 65 72 73  o the Parameters
adc0: 20 63 6f 6c 6c 65 63 74 69 6f 6e 0d 0a 20 20 20   collection..   
add0: 20 20 20 20 20 77 69 74 68 6f 75 74 20 74 68 65       without the
ade0: 69 72 20 70 72 65 66 69 78 20 63 68 61 72 61 63  ir prefix charac
adf0: 74 65 72 20 28 40 20 3a 20 6f 72 20 24 29 20 74  ter (@ : or $) t
ae00: 68 65 79 20 61 72 65 20 73 74 69 6c 6c 20 70 72  hey are still pr
ae10: 6f 70 65 72 6c 79 20 6d 61 70 70 65 64 2e 26 6e  operly mapped.&n
ae20: 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c  bsp;</li>..    <
ae30: 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e  /ul>..    <p><b>
ae40: 31 2e 30 2e 33 31 2e 30 20 2d 20 4a 75 6c 79 20  1.0.31.0 - July 
ae50: 31 36 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e  16, 2006</b></p>
ae60: 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20  ..    <ul>..    
ae70: 3c 6c 69 3e 52 65 2d 61 70 70 6c 69 65 64 20 74  <li>Re-applied t
ae80: 68 65 20 76 69 65 77 20 70 61 72 73 69 6e 67 20  he view parsing 
ae90: 62 75 67 66 69 78 20 69 6e 20 31 2e 30 2e 32 39  bugfix in 1.0.29
aea0: 2e 30 20 74 68 61 74 20 77 61 73 20 61 63 63 69  .0 that was acci
aeb0: 64 65 6e 74 61 6c 6c 79 20 72 65 76 65 72 74 65  dentally reverte
aec0: 64 0d 0a 20 20 20 20 20 20 6f 75 74 20 6f 66 20  d..      out of 
aed0: 74 68 65 20 33 30 20 62 75 69 6c 64 2e 3c 2f 6c  the 30 build.</l
aee0: 69 3e 3c 6c 69 3e 46 69 78 65 64 20 53 51 4c 69  i><li>Fixed SQLi
aef0: 74 65 43 6f 6d 6d 61 6e 64 2e 45 78 65 63 75 74  teCommand.Execut
af00: 65 53 63 61 6c 61 72 28 29 20 74 6f 20 72 65 74  eScalar() to ret
af10: 75 72 6e 20 6e 75 6c 6c 20 69 6e 73 74 65 61 64  urn null instead
af20: 20 6f 66 20 44 62 4e 75 6c 6c 2e 56 61 6c 75 65   of DbNull.Value
af30: 0d 0a 20 20 20 20 77 68 65 6e 20 6e 6f 20 72 6f  ..    when no ro
af40: 77 73 20 77 65 72 65 20 72 65 74 75 72 6e 65 64  ws were returned
af50: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  .</li>..      <l
af60: 69 3e 44 65 73 69 67 6e 2d 74 69 6d 65 20 69 6e  i>Design-time in
af70: 73 74 61 6c 6c 65 72 20 6e 6f 77 20 69 6e 73 74  staller now inst
af80: 61 6c 6c 73 20 74 68 65 20 70 61 63 6b 61 67 65  alls the package
af90: 2d 62 61 73 65 64 20 64 65 73 69 67 6e 65 72 20  -based designer 
afa0: 6f 6e 20 66 75 6c 6c 20 56 69 73 75 61 6c 20 53  on full Visual S
afb0: 74 75 64 69 6f 0d 0a 20 20 20 20 20 20 20 20 76  tudio..        v
afc0: 65 72 73 69 6f 6e 73 2e 26 6e 62 73 70 3b 20 45  ersions.&nbsp; E
afd0: 78 70 72 65 73 73 20 65 64 69 74 69 6f 6e 73 20  xpress editions 
afe0: 63 6f 6e 74 69 6e 75 65 20 74 6f 20 75 73 65 20  continue to use 
aff0: 74 68 65 20 70 61 63 6b 61 67 65 6c 65 73 73 20  the packageless 
b000: 64 65 73 69 67 6e 65 72 2e 3c 2f 6c 69 3e 0d 0a  designer.</li>..
b010: 20 20 20 20 20 20 3c 6c 69 3e 49 6e 20 56 69 73        <li>In Vis
b020: 75 61 6c 20 53 74 75 64 69 6f 20 28 6e 6f 74 20  ual Studio (not 
b030: 45 78 70 72 65 73 73 29 2c 20 79 6f 75 20 63 61  Express), you ca
b040: 6e 20 6e 6f 77 20 72 69 67 68 74 2d 63 6c 69 63  n now right-clic
b050: 6b 20 61 20 53 51 4c 69 74 65 20 63 6f 6e 6e 65  k a SQLite conne
b060: 63 74 69 6f 6e 20 69 6e 0d 0a 20 20 20 20 20 20  ction in..      
b070: 20 20 74 68 65 20 53 65 72 76 65 72 20 45 78 70    the Server Exp
b080: 6c 6f 72 65 72 20 61 6e 64 20 76 61 63 75 75 6d  lorer and vacuum
b090: 20 74 68 65 20 64 61 74 61 62 61 73 65 20 61 6e   the database an
b0a0: 64 20 63 68 61 6e 67 65 20 74 68 65 20 65 6e 63  d change the enc
b0b0: 72 79 70 74 69 6f 6e 20 70 61 73 73 77 6f 72 64  ryption password
b0c0: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c  .</li>..    </ul
b0d0: 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  >..    <p><b>1.0
b0e0: 2e 33 30 2e 31 20 2d 20 4a 75 6c 79 20 32 2c 20  .30.1 - July 2, 
b0f0: 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20  2006</b></p>..  
b100: 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e    <ul>..    <li>
b110: 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20  Code merge with 
b120: 53 51 4c 69 74 65 20 33 2e 33 2e 36 3c 2f 6c 69  SQLite 3.3.6</li
b130: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64  >..      <li>Add
b140: 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74  ed support for t
b150: 68 65 20 7c 44 61 74 61 44 69 72 65 63 74 6f 72  he |DataDirector
b160: 79 7c 20 6b 65 79 77 6f 72 64 20 69 6e 20 74 68  y| keyword in th
b170: 65 20 44 61 74 61 20 53 6f 75 72 63 65 20 66 69  e Data Source fi
b180: 6c 65 6e 61 6d 65 20 73 74 72 69 6e 67 2e 26 6e  lename string.&n
b190: 62 73 70 3b 0d 0a 20 20 20 20 20 20 3c 2f 6c 69  bsp;..      </li
b1a0: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64  >..      <li>Add
b1b0: 65 64 20 68 6f 6f 6b 20 6e 6f 74 69 66 69 63 61  ed hook notifica
b1c0: 74 69 6f 6e 20 73 75 70 70 6f 72 74 20 74 6f 20  tion support to 
b1d0: 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e  SQLiteConnection
b1e0: 2e 26 6e 62 73 70 3b 20 53 70 65 63 69 66 69 63  .&nbsp; Specific
b1f0: 61 6c 6c 79 2c 20 74 68 65 72 65 0d 0a 20 20 20  ally, there..   
b200: 20 20 20 61 72 65 20 74 68 72 65 65 20 6e 65 77     are three new
b210: 20 65 76 65 6e 74 73 20 6f 6e 20 74 68 65 20 53   events on the S
b220: 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20  QLiteConnection 
b230: 6f 62 6a 65 63 74 20 77 68 69 63 68 20 61 72 65  object which are
b240: 20 72 61 69 73 65 64 20 77 68 65 6e 20 61 6e 20   raised when an 
b250: 75 70 64 61 74 65 2f 69 6e 73 65 72 74 2f 64 65  update/insert/de
b260: 6c 65 74 65 0d 0a 20 20 20 20 20 20 6f 63 63 75  lete..      occu
b270: 72 73 20 61 6e 64 20 77 68 65 6e 20 74 72 61 6e  rs and when tran
b280: 73 61 63 74 69 6f 6e 73 20 61 72 65 20 63 6f 6d  sactions are com
b290: 6d 69 74 74 65 64 20 61 6e 64 20 72 6f 6c 6c 65  mitted and rolle
b2a0: 64 20 62 61 63 6b 2e 3c 2f 6c 69 3e 3c 6c 69 3e  d back.</li><li>
b2b0: 43 68 61 6e 67 65 64 20 53 51 4c 69 74 65 54 72  Changed SQLiteTr
b2c0: 61 6e 73 61 63 74 69 6f 6e 20 74 6f 20 64 65 66  ansaction to def
b2d0: 61 75 6c 74 20 74 6f 20 42 45 47 49 4e 20 49 4d  ault to BEGIN IM
b2e0: 4d 45 44 49 41 54 45 20 69 6e 73 74 65 61 64 20  MEDIATE instead 
b2f0: 6f 66 20 6a 75 73 74 20 42 45 47 49 4e 2c 0d 0a  of just BEGIN,..
b300: 20 20 20 20 77 68 69 63 68 20 73 6f 6c 76 65 73      which solves
b310: 20 61 20 6d 75 6c 74 69 74 68 72 65 61 64 65 64   a multithreaded
b320: 20 72 61 63 65 20 63 6f 6e 64 69 74 69 6f 6e 2e   race condition.
b330: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20  &nbsp;</li>..   
b340: 20 20 20 3c 6c 69 3e 43 68 61 6e 67 65 64 20 53     <li>Changed S
b350: 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 20  QLiteDataReader 
b360: 74 6f 20 62 65 74 74 65 72 20 73 75 70 70 6f 72  to better suppor
b370: 74 20 53 51 4c 69 74 65 27 73 20 74 79 70 65 6c  t SQLite's typel
b380: 65 73 73 6e 65 73 73 2e 26 6e 62 73 70 3b 20 54  essness.&nbsp; T
b390: 68 65 20 64 61 74 61 0d 0a 20 20 20 20 20 20 20  he data..       
b3a0: 20 72 65 61 64 65 72 20 6e 6f 20 6c 6f 6e 67 65   reader no longe
b3b0: 72 20 63 61 63 68 65 73 20 63 6f 6c 75 6d 6e 20  r caches column 
b3c0: 61 66 66 69 6e 69 74 79 2c 20 62 75 74 20 72 65  affinity, but re
b3d0: 2d 65 76 61 6c 75 61 74 65 73 20 69 74 20 66 6f  -evaluates it fo
b3e0: 72 20 65 61 63 68 20 63 6f 6c 75 6d 6e 2f 72 6f  r each column/ro
b3f0: 77 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  w.</li>..      <
b400: 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69  li>Fixed a bug i
b410: 6e 20 50 72 65 70 61 72 65 28 29 20 77 68 69 63  n Prepare() whic
b420: 68 20 63 61 75 73 65 64 20 61 6e 20 69 6e 74 65  h caused an inte
b430: 72 6d 69 74 74 61 6e 74 20 66 61 75 6c 74 20 64  rmittant fault d
b440: 75 65 20 74 6f 20 74 68 65 20 63 6f 64 65 20 61  ue to the code a
b450: 63 63 65 73 73 69 6e 67 0d 0a 20 20 20 20 20 20  ccessing..      
b460: 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 6f 66 20    the memory of 
b470: 61 6e 20 75 6e 70 69 6e 6e 65 64 20 76 61 72 69  an unpinned vari
b480: 61 62 6c 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e  able.&nbsp;</li>
b490: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  ..      <li>Fixe
b4a0: 64 20 61 20 6d 75 6c 74 69 74 68 72 65 61 64 65  d a multithreade
b4b0: 64 20 6c 6f 63 6b 2d 72 65 74 72 79 20 62 75 67  d lock-retry bug
b4c0: 20 69 6e 20 69 6e 20 53 51 4c 69 74 65 43 6f 6e   in in SQLiteCon
b4d0: 6e 65 63 74 69 6f 6e 2e 4f 70 65 6e 28 29 20 61  nection.Open() a
b4e0: 6e 64 20 69 6e 0d 0a 20 20 20 20 53 51 4c 69 74  nd in..    SQLit
b4f0: 65 54 72 61 6e 73 61 63 74 69 6f 6e 2c 20 77 68  eTransaction, wh
b500: 69 63 68 20 66 61 69 6c 65 64 20 74 6f 20 75 73  ich failed to us
b510: 65 20 61 20 63 6f 6d 6d 61 6e 64 20 74 69 6d 65  e a command time
b520: 6f 75 74 20 62 65 66 6f 72 65 20 67 69 76 69 6e  out before givin
b530: 67 20 75 70 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  g up.</li>..    
b540: 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </ul>..    <p><b
b550: 3e 31 2e 30 2e 32 39 2e 30 20 2d 20 4d 61 79 20  >1.0.29.0 - May 
b560: 31 36 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e  16, 2006</b></p>
b570: 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20  ..    <ul>..    
b580: 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20  <li>Fixed a bug 
b590: 69 6e 20 74 68 65 20 56 69 65 77 73 20 73 63 68  in the Views sch
b5a0: 65 6d 61 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20  ema information 
b5b0: 77 68 69 63 68 20 63 61 75 73 65 64 20 6d 75 6c  which caused mul
b5c0: 74 69 2d 6c 69 6e 65 20 76 69 65 77 20 64 65 66  ti-line view def
b5d0: 69 6e 69 74 69 6f 6e 20 73 74 61 74 65 6d 65 6e  inition statemen
b5e0: 74 73 20 6e 6f 74 20 74 6f 20 62 65 20 70 61 72  ts not to be par
b5f0: 73 65 64 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c  sed</li>..    <l
b600: 69 3e 46 69 78 65 64 20 61 20 70 61 72 73 69 6e  i>Fixed a parsin
b610: 67 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65 44  g bug in SQLiteD
b620: 61 74 61 52 65 61 64 65 72 2e 47 65 74 53 63 68  ataReader.GetSch
b630: 65 6d 61 54 61 62 6c 65 28 29 20 74 6f 20 61 63  emaTable() to ac
b640: 63 6f 75 6e 74 20 66 6f 72 20 6e 75 6d 65 72 69  count for numeri
b650: 63 28 78 2c 79 29 20 64 61 74 61 74 79 70 65 73  c(x,y) datatypes
b660: 20 77 69 74 68 20 73 70 65 63 69 66 69 65 64 20   with specified 
b670: 70 72 65 63 69 73 69 6f 6e 20 61 6e 64 20 73 63  precision and sc
b680: 61 6c 65 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c  ale</li>..    <l
b690: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e  i>Fixed a bug in
b6a0: 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f   SQLiteConnectio
b6b0: 6e 2e 4f 70 65 6e 28 29 20 77 68 69 63 68 20 74  n.Open() which t
b6c0: 72 69 65 64 20 74 6f 20 61 75 74 6f 6d 61 74 69  ried to automati
b6d0: 63 61 6c 6c 79 20 65 6e 6c 69 73 74 20 69 6e 20  cally enlist in 
b6e0: 61 6e 20 61 6d 62 69 65 6e 74 20 74 72 61 6e 73  an ambient trans
b6f0: 61 63 74 69 6f 6e 20 62 75 74 20 68 61 64 20 6e  action but had n
b700: 6f 74 20 79 65 74 20 73 65 74 20 74 68 65 20 73  ot yet set the s
b710: 74 61 74 65 20 6f 66 20 74 68 65 20 64 61 74 61  tate of the data
b720: 62 61 73 65 20 74 6f 20 4f 70 65 6e 65 64 2c 20  base to Opened, 
b730: 74 68 65 72 65 62 79 20 63 61 75 73 69 6e 67 20  thereby causing 
b740: 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 66 61  a transaction fa
b750: 75 6c 74 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c  ult</li>..    <l
b760: 69 3e 43 68 61 6e 67 65 64 20 53 51 4c 69 74 65  i>Changed SQLite
b770: 45 78 63 65 70 74 69 6f 6e 20 74 6f 20 69 6e 68  Exception to inh
b780: 65 72 69 74 20 66 72 6f 6d 20 44 62 45 78 63 65  erit from DbExce
b790: 70 74 69 6f 6e 20 6f 6e 20 74 68 65 20 66 75 6c  ption on the ful
b7a0: 6c 20 66 72 61 6d 65 77 6f 72 6b 3c 2f 6c 69 3e  l framework</li>
b7b0: 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20  ..    </ul>..   
b7c0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 38 2e 30 20   <p><b>1.0.28.0 
b7d0: 2d 20 41 70 72 69 6c 20 31 34 2c 20 32 30 30 36  - April 14, 2006
b7e0: 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75  </b></p>..    <u
b7f0: 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 43 6f 64 65  l>..    <li>Code
b800: 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69   merge with SQLi
b810: 74 65 20 33 2e 33 2e 35 3c 2f 6c 69 3e 0d 0a 20  te 3.3.5</li>.. 
b820: 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 63 61 6e       <li>You can
b830: 20 6e 6f 77 20 73 70 65 63 69 66 79 20 61 20 72   now specify a r
b840: 65 6c 61 74 69 76 65 20 70 61 74 68 20 69 6e 20  elative path in 
b850: 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d  the Compact Fram
b860: 65 77 6f 72 6b 27 73 20 22 44 61 74 61 20 53 6f  ework's "Data So
b870: 75 72 63 65 22 20 62 79 0d 0a 20 20 20 20 20 20  urce" by..      
b880: 20 20 70 72 65 66 69 78 69 6e 67 20 74 68 65 20    prefixing the 
b890: 66 69 6c 65 20 77 69 74 68 20 22 2e 5c 22 2e 26  file with ".\".&
b8a0: 6e 62 73 70 3b 20 69 2e 65 2e 20 22 44 61 74 61  nbsp; i.e. "Data
b8b0: 20 53 6f 75 72 63 65 3d 2e 5c 5c 6d 79 64 62 2e   Source=.\\mydb.
b8c0: 64 62 33 22 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  db3"</li>..     
b8d0: 20 3c 6c 69 3e 53 65 76 65 72 61 6c 20 6d 6f 72   <li>Several mor
b8e0: 65 20 63 68 61 6e 67 65 73 20 61 6e 64 20 65 6e  e changes and en
b8f0: 68 61 6e 63 65 6d 65 6e 74 73 20 74 6f 20 73 63  hancements to sc
b900: 68 65 6d 61 73 20 66 6f 72 20 62 65 74 74 65 72  hemas for better
b910: 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 3c   compatibility.<
b920: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
b930: 46 69 78 65 64 20 73 65 76 65 72 61 6c 20 62 75  Fixed several bu
b940: 67 73 20 77 69 74 68 20 74 68 65 20 36 34 2d 62  gs with the 64-b
b950: 69 74 20 62 75 69 6c 64 73 20 6f 66 20 74 68 65  it builds of the
b960: 20 70 72 6f 76 69 64 65 72 2e 26 6e 62 73 70 3b   provider.&nbsp;
b970: 20 54 68 65 20 78 36 34 20 62 69 6e 61 72 79 0d   The x64 binary.
b980: 0a 20 20 20 20 20 20 20 20 69 73 20 6e 6f 77 20  .        is now 
b990: 6f 70 74 69 6d 69 7a 65 64 2e 3c 2f 6c 69 3e 0d  optimized.</li>.
b9a0: 0a 20 20 20 20 20 20 3c 6c 69 3e 44 65 73 69 67  .      <li>Desig
b9b0: 6e 2d 74 69 6d 65 20 69 6e 73 74 61 6c 6c 65 72  n-time installer
b9c0: 20 6e 6f 77 20 74 72 69 65 73 20 74 6f 20 69 6e   now tries to in
b9d0: 73 74 61 6c 6c 20 74 68 65 20 36 34 2d 62 69 74  stall the 64-bit
b9e0: 20 62 75 69 6c 64 73 20 69 6e 74 6f 20 74 68 65   builds into the
b9f0: 20 47 41 43 20 61 6c 6f 6e 67 0d 0a 20 20 20 20   GAC along..    
ba00: 20 20 20 20 77 69 74 68 20 74 68 65 20 33 32 2d      with the 32-
ba10: 62 69 74 20 62 75 69 6c 64 2e 3c 2f 6c 69 3e 0d  bit build.</li>.
ba20: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
ba30: 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 53 51   a bug in the SQ
ba40: 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 2e 47  LiteDataReader.G
ba50: 65 74 53 63 68 65 6d 61 54 61 62 6c 65 28 29 20  etSchemaTable() 
ba60: 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 75 73  function when us
ba70: 65 64 20 77 69 74 68 20 74 61 62 6c 65 73 0d 0a  ed with tables..
ba80: 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69          containi
ba90: 6e 67 20 61 70 6f 73 74 72 6f 70 68 65 73 2e 3c  ng apostrophes.<
baa0: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
bab0: 46 69 78 65 64 20 61 6e 20 58 53 44 2d 72 65 6c  Fixed an XSD-rel
bac0: 61 74 65 64 20 62 75 67 20 77 68 65 72 65 62 79  ated bug whereby
bad0: 20 74 68 65 20 58 53 44 20 75 74 69 6c 69 74 79   the XSD utility
bae0: 20 77 61 73 20 75 6e 61 62 6c 65 20 74 6f 20 6c   was unable to l
baf0: 6f 63 61 74 65 20 74 68 65 20 70 72 6f 76 69 64  ocate the provid
bb00: 65 72 0d 0a 20 20 20 20 20 20 20 20 61 6e 64 20  er..        and 
bb10: 63 6f 75 6c 64 20 6e 6f 74 20 67 65 6e 65 72 61  could not genera
bb20: 74 65 20 74 79 70 65 64 20 64 61 74 61 73 65 74  te typed dataset
bb30: 73 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  s.</li>..      <
bb40: 6c 69 3e 41 64 64 65 64 20 4e 54 45 58 54 20 61  li>Added NTEXT a
bb50: 6e 64 20 53 54 52 49 4e 47 20 64 61 74 61 74 79  nd STRING dataty
bb60: 70 65 73 20 74 6f 20 74 68 65 20 6c 69 73 74 20  pes to the list 
bb70: 6f 66 20 72 65 63 6f 67 6e 69 7a 65 64 20 6b 65  of recognized ke
bb80: 79 77 6f 72 64 73 20 28 75 73 65 64 20 66 6f 72  ywords (used for
bb90: 0d 0a 20 20 20 20 20 20 20 20 73 63 68 65 6d 61  ..        schema
bba0: 20 72 65 74 72 69 65 76 61 6c 29 2e 3c 2f 6c 69   retrieval).</li
bbb0: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 44 75 65  >..      <li>Due
bbc0: 20 74 6f 20 74 68 65 20 58 53 44 20 62 75 67 20   to the XSD bug 
bbd0: 61 6e 64 20 6f 74 68 65 72 20 70 6f 74 65 6e 74  and other potent
bbe0: 69 61 6c 20 70 72 6f 62 6c 65 6d 73 20 72 65 6c  ial problems rel
bbf0: 61 74 65 64 20 74 6f 20 65 78 74 65 72 6e 61 6c  ated to external
bc00: 20 62 75 69 6c 64 20 75 74 69 6c 69 74 69 65 73   build utilities
bc10: 2c 0d 0a 20 20 20 20 20 20 20 20 63 68 61 6e 67  ,..        chang
bc20: 65 73 20 74 6f 20 74 68 65 20 69 6e 73 74 61 6c  es to the instal
bc30: 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65  lation of the de
bc40: 73 69 67 6e 65 72 20 68 61 76 65 20 68 61 64 20  signer have had 
bc50: 74 6f 20 62 65 20 6d 61 64 65 2e 26 6e 62 73 70  to be made.&nbsp
bc60: 3b 20 54 68 65 20 69 6e 73 74 61 6c 6c 65 72 0d  ; The installer.
bc70: 0a 20 20 20 20 20 20 20 20 75 73 65 64 20 74 6f  .        used to
bc80: 20 77 72 69 74 65 20 74 68 65 20 44 62 50 72 6f   write the DbPro
bc90: 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 20 58  viderFactories X
bca0: 4d 4c 20 69 6e 74 6f 20 74 68 65 20 64 65 76 65  ML into the deve
bcb0: 6e 76 2e 65 78 65 2e 63 6f 6e 66 69 67 20 66 69  nv.exe.config fi
bcc0: 6c 65 20 61 6e 64 20 69 74 73 0d 0a 20 20 20 20  le and its..    
bcd0: 20 20 20 20 65 78 70 72 65 73 73 20 63 6f 75 73      express cous
bce0: 69 6e 73 2c 20 62 75 74 20 6e 6f 77 20 68 61 73  ins, but now has
bcf0: 20 74 6f 20 77 72 69 74 65 20 69 6e 73 74 65 61   to write instea
bd00: 64 20 74 6f 20 74 68 65 20 6d 61 63 68 69 6e 65  d to the machine
bd10: 2e 63 6f 6e 66 69 67 2e 3c 2f 6c 69 3e 0d 0a 20  .config.</li>.. 
bd20: 20 20 20 20 20 3c 6c 69 3e 49 6e 73 74 61 6c 6c       <li>Install
bd30: 65 72 20 77 72 69 74 65 73 20 74 6f 20 62 6f 74  er writes to bot
bd40: 68 20 74 68 65 20 33 32 2d 62 69 74 20 6d 61 63  h the 32-bit mac
bd50: 68 69 6e 65 2e 63 6f 6e 66 69 67 20 61 6e 64 20  hine.config and 
bd60: 74 68 65 20 36 34 2d 62 69 74 20 6d 61 63 68 69  the 64-bit machi
bd70: 6e 65 2e 63 6f 6e 66 69 67 0d 0a 20 20 20 20 20  ne.config..     
bd80: 20 20 20 69 66 20 69 74 20 65 78 69 73 74 73 2e     if it exists.
bd90: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20  &nbsp;</li>..   
bda0: 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c   </ul>..    <p><
bdb0: 62 3e 31 2e 30 2e 32 37 2e 31 20 2d 20 46 65 62  b>1.0.27.1 - Feb
bdc0: 72 75 61 72 79 20 32 38 2c 20 32 30 30 36 3c 2f  ruary 28, 2006</
bdd0: 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e  b></p>..    <ul>
bde0: 0d 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  ..    <li>Fixed 
bdf0: 61 20 62 75 67 20 77 68 65 6e 20 64 6f 69 6e 67  a bug when doing
be00: 20 64 61 74 61 20 62 69 6e 64 69 6e 67 20 69 6e   data binding in
be10: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
be20: 72 6b 20 70 72 6f 6a 65 63 74 73 20 74 68 61 74  rk projects that
be30: 20 70 72 65 76 65 6e 74 65 64 0d 0a 20 20 20 20   prevented..    
be40: 20 20 79 6f 75 20 66 72 6f 6d 20 61 73 73 69 67    you from assig
be50: 6e 69 6e 67 20 61 20 74 79 70 65 64 20 64 61 74  ning a typed dat
be60: 61 73 65 74 20 74 6f 20 61 20 62 69 6e 64 69 6e  aset to a bindin
be70: 67 73 6f 75 72 63 65 2e 26 6e 62 73 70 3b 20 49  gsource.&nbsp; I
be80: 74 20 74 75 72 6e 73 20 6f 75 74 2c 20 74 68 65  t turns out, the
be90: 20 43 46 0d 0a 20 20 20 20 20 20 76 65 72 73 69   CF..      versi
bea0: 6f 6e 20 6f 66 20 74 68 65 20 53 51 4c 69 74 65  on of the SQLite
beb0: 20 70 72 6f 76 69 64 65 72 20 6e 65 65 64 73 20   provider needs 
bec0: 74 6f 20 62 65 20 66 6c 61 67 67 65 64 20 61 73  to be flagged as
bed0: 20 72 65 74 61 72 67 65 74 61 62 6c 65 20 73 6f   retargetable so
bee0: 20 69 74 27 6c 6c 20 77 6f 72 6b 0d 0a 20 20 20   it'll work..   
bef0: 20 20 20 69 6e 20 74 68 65 20 64 65 73 69 67 6e     in the design
bf00: 2d 74 69 6d 65 20 64 65 73 6b 74 6f 70 20 65 6e  -time desktop en
bf10: 76 69 72 6f 6e 6d 65 6e 74 2e 26 6e 62 73 70 3b  vironment.&nbsp;
bf20: 20 4e 6f 20 63 68 61 6e 67 65 73 20 77 65 72 65   No changes were
bf30: 20 6d 61 64 65 20 74 6f 20 74 68 65 20 64 65 73   made to the des
bf40: 6b 74 6f 70 0d 0a 20 20 20 20 20 20 62 75 69 6c  ktop..      buil
bf50: 64 2c 20 62 75 74 20 74 68 65 20 72 65 76 69 73  d, but the revis
bf60: 69 6f 6e 20 77 61 73 20 62 75 6d 70 65 64 20 6f  ion was bumped o
bf70: 6e 20 61 6c 6c 20 6c 69 62 72 61 72 69 65 73 20  n all libraries 
bf80: 61 6e 79 77 61 79 20 69 6e 20 6f 72 64 65 72 20  anyway in order 
bf90: 74 6f 20 6b 65 65 70 20 74 68 65 6d 0d 0a 20 20  to keep them..  
bfa0: 20 20 20 20 73 79 6e 63 27 64 2e 26 6e 62 73 70      sync'd.&nbsp
bfb0: 3b 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0d 0a 20 20 20  ;</li></ul>..   
bfc0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 37 2e 30 20   <p><b>1.0.27.0 
bfd0: 2d 20 46 65 62 72 75 61 72 79 20 32 37 2c 20 32  - February 27, 2
bfe0: 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20  006</b></p>..   
bff0: 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 4d   <ul>..    <li>M
c000: 61 6e 79 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e  any optimization
c010: 73 20 61 6e 64 20 61 20 66 65 77 20 6d 6f 72 65  s and a few more
c020: 20 6d 69 6e 6f 72 20 61 64 6a 75 73 74 6d 65 6e   minor adjustmen
c030: 74 73 20 74 6f 20 73 63 68 65 6d 61 73 20 61 6e  ts to schemas an
c040: 64 20 73 63 68 65 6d 61 20 72 65 74 72 69 65 76  d schema retriev
c050: 61 6c 0d 0a 20 20 20 20 20 20 70 65 72 66 6f 72  al..      perfor
c060: 6d 61 6e 63 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20  mance.</li>..   
c070: 20 20 20 3c 6c 69 3e 4c 6f 74 73 20 6f 66 20 64     <li>Lots of d
c080: 65 73 69 67 6e 2d 74 69 6d 65 20 61 74 74 72 69  esign-time attri
c090: 62 75 74 65 73 20 61 64 64 65 64 20 74 6f 20 74  butes added to t
c0a0: 68 65 20 63 6f 64 65 2e 26 6e 62 73 70 3b 20 54  he code.&nbsp; T
c0b0: 68 65 20 44 62 44 61 74 61 41 64 61 70 74 65 72  he DbDataAdapter
c0c0: 2c 20 44 62 43 6f 6d 6d 61 6e 64 2c 0d 0a 20 20  , DbCommand,..  
c0d0: 20 20 20 20 20 20 61 6e 64 20 44 62 43 6f 6e 6e        and DbConn
c0e0: 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 73 20 6e  ection objects n
c0f0: 6f 77 20 68 61 76 65 20 67 72 65 61 74 6c 79 20  ow have greatly 
c100: 65 6e 68 61 6e 63 65 64 20 64 65 73 69 67 6e 2d  enhanced design-
c110: 74 69 6d 65 20 63 61 70 61 62 69 6c 69 74 69 65  time capabilitie
c120: 73 20 77 68 65 6e 0d 0a 20 20 20 20 20 20 20 20  s when..        
c130: 61 64 64 65 64 20 74 6f 20 74 68 65 20 74 6f 6f  added to the too
c140: 6c 62 6f 78 20 61 6e 64 20 64 72 6f 70 70 65 64  lbox and dropped
c150: 20 6f 6e 20 61 20 66 6f 72 6d 2e 3c 2f 6c 69 3e   on a form.</li>
c160: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74 73  ..      <li>Lots
c170: 20 6f 66 20 53 65 72 76 65 72 20 45 78 70 6c 6f   of Server Explo
c180: 72 65 72 20 65 6e 68 61 6e 63 65 6d 65 6e 74 73  rer enhancements
c190: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  .</li>..      <l
c1a0: 69 3e 42 69 6e 61 72 69 65 73 20 61 72 65 20 6e  i>Binaries are n
c1b0: 6f 77 20 64 69 73 74 72 69 62 75 74 65 64 20 69  ow distributed i
c1c0: 6e 20 61 20 73 65 74 75 70 20 70 72 6f 67 72 61  n a setup progra
c1d0: 6d 20 66 6f 72 20 65 61 73 69 65 72 20 61 64 6d  m for easier adm
c1e0: 69 6e 69 73 74 72 61 74 69 6f 6e 20 61 6e 64 0d  inistration and.
c1f0: 0a 20 20 20 20 20 20 20 20 63 6f 6e 66 69 67 75  .        configu
c200: 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 70 72  ration of the pr
c210: 6f 76 69 64 65 72 2e 3c 2f 6c 69 3e 0d 0a 20 20  ovider.</li>..  
c220: 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e    </ul>..    <p>
c230: 3c 62 3e 31 2e 30 2e 32 36 2e 32 20 2d 20 46 65  <b>1.0.26.2 - Fe
c240: 62 72 75 61 72 79 20 31 35 2c 20 32 30 30 36 3c  bruary 15, 2006<
c250: 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c  /b></p>..    <ul
c260: 3e 0d 0a 20 20 20 20 3c 6c 69 3e 59 65 74 20 61  >..    <li>Yet a
c270: 6e 6f 74 68 65 72 20 62 75 67 66 69 78 20 74 6f  nother bugfix to
c280: 20 69 6e 64 65 78 20 73 63 68 65 6d 61 73 2c 20   index schemas, 
c290: 77 68 69 63 68 20 77 61 73 20 69 6e 63 6f 72 72  which was incorr
c2a0: 65 63 74 6c 79 20 6d 61 72 6b 69 6e 67 20 6d 6f  ectly marking mo
c2b0: 73 74 20 69 6e 64 65 78 65 73 0d 0a 20 20 20 20  st indexes..    
c2c0: 20 20 61 73 20 70 72 69 6d 61 72 79 20 6b 65 79    as primary key
c2d0: 20 69 6e 64 65 78 65 73 2e 3c 2f 6c 69 3e 3c 6c   indexes.</li><l
c2e0: 69 3e 46 69 78 65 64 20 47 65 74 53 63 68 65 6d  i>Fixed GetSchem
c2f0: 61 28 29 20 74 6f 20 61 63 63 65 70 74 20 61 20  a() to accept a 
c300: 6e 75 6c 6c 20 73 74 72 69 6e 67 20 61 72 72 61  null string arra
c310: 79 2e 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78 65 64  y.</li><li>Fixed
c320: 20 61 20 6d 69 73 73 70 65 6c 6c 65 64 20 65 78   a misspelled ex
c330: 70 6f 72 74 20 69 6e 20 74 68 65 20 63 6f 72 65  port in the core
c340: 20 43 20 6c 69 62 72 61 72 79 20 74 68 61 74 20   C library that 
c350: 70 72 65 76 65 6e 74 65 64 20 64 61 74 61 62 61  prevented databa
c360: 73 65 73 20 6f 70 65 6e 65 64 0d 0a 20 20 20 20  ses opened..    
c370: 77 69 74 68 20 55 54 46 31 36 45 6e 63 6f 64 69  with UTF16Encodi
c380: 6e 67 20 66 72 6f 6d 20 67 65 74 74 69 6e 67 20  ng from getting 
c390: 73 63 68 65 6d 61 20 69 6e 66 6f 72 6d 61 74 69  schema informati
c3a0: 6f 6e 20 61 6e 64 20 77 6f 75 6c 64 20 6c 69 6b  on and would lik
c3b0: 65 6c 79 20 63 61 75 73 65 20 61 6e 20 65 72 72  ely cause an err
c3c0: 6f 72 0d 0a 20 20 20 20 69 66 20 61 74 74 65 6d  or..    if attem
c3d0: 70 74 65 64 2e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0d  pted.</li></ul>.
c3e0: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32  .    <p><b>1.0.2
c3f0: 36 2e 31 20 2d 20 46 65 62 72 75 61 72 79 20 31  6.1 - February 1
c400: 34 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0d  4, 2006</b></p>.
c410: 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c  .    <ul>..    <
c420: 6c 69 3e 46 69 78 65 64 20 65 76 65 6e 20 6d 6f  li>Fixed even mo
c430: 72 65 20 6d 69 6e 6f 72 20 73 63 68 65 6d 61 20  re minor schema 
c440: 62 75 67 73 20 68 61 76 69 6e 67 20 74 6f 20 64  bugs having to d
c450: 6f 20 77 69 74 68 20 69 6e 64 65 78 65 73 2e 3c  o with indexes.<
c460: 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64 20 74 77  /li><li>Added tw
c470: 6f 20 6d 69 73 73 69 6e 67 20 70 69 65 63 65 73  o missing pieces
c480: 20 69 6e 20 74 68 65 20 53 51 4c 69 74 65 20 64   in the SQLite d
c490: 65 73 69 67 6e 65 72 20 77 68 69 63 68 20 77 65  esigner which we
c4a0: 72 65 20 70 72 65 76 65 6e 74 69 6e 67 20 69 74  re preventing it
c4b0: 20 66 72 6f 6d 0d 0a 20 20 20 20 62 65 69 6e 67   from..    being
c4c0: 20 75 73 65 64 20 66 72 6f 6d 20 77 69 74 68 69   used from withi
c4d0: 6e 20 56 53 20 45 78 70 72 65 73 73 20 65 64 69  n VS Express edi
c4e0: 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 3c 2f 6c 69  tions.&nbsp;</li
c4f0: 3e 3c 6c 69 3e 53 65 76 65 72 61 6c 20 62 75 67  ><li>Several bug
c500: 66 69 78 65 73 20 74 6f 20 74 68 65 20 64 65 73  fixes to the des
c510: 69 67 6e 2d 74 69 6d 65 20 69 6e 73 74 61 6c 6c  ign-time install
c520: 65 72 20 70 72 6f 67 72 61 6d 2c 20 69 6e 63 6c  er program, incl
c530: 75 64 69 6e 67 20 73 75 70 70 6f 72 74 69 6e 67  uding supporting
c540: 0d 0a 20 20 20 20 36 34 2d 62 69 74 20 65 6e 76  ..    64-bit env
c550: 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 3c  ironments.</li><
c560: 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e  /ul>..    <p><b>
c570: 31 2e 30 2e 32 36 2e 30 20 2d 20 46 65 62 72 75  1.0.26.0 - Febru
c580: 61 72 79 20 31 31 2c 20 32 30 30 36 3c 2f 62 3e  ary 11, 2006</b>
c590: 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a  </p>..    <ul>..
c5a0: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
c5b0: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
c5c0: 2e 33 2e 34 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78  .3.4</li><li>Fix
c5d0: 65 64 20 61 6e 20 65 6e 63 72 79 70 74 69 6f 6e  ed an encryption
c5e0: 20 62 75 67 20 77 68 65 6e 20 63 68 61 6e 67 69   bug when changi
c5f0: 6e 67 20 74 68 65 20 70 61 73 73 77 6f 72 64 20  ng the password 
c600: 6f 66 20 64 61 74 61 62 61 73 65 73 20 6f 76 65  of databases ove
c610: 72 20 31 67 62 20 69 6e 0d 0a 20 20 20 20 20 20  r 1gb in..      
c620: 73 69 7a 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e  size.&nbsp;</li>
c630: 3c 6c 69 3e 46 69 78 65 64 20 76 61 72 69 6f 75  <li>Fixed variou
c640: 73 20 64 65 73 69 67 6e 65 72 20 69 73 73 75 65  s designer issue
c650: 73 20 72 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e  s related to con
c660: 73 74 72 75 63 74 69 6f 6e 20 6f 66 20 6e 61 6d  struction of nam
c670: 65 64 20 70 61 72 61 6d 65 74 65 72 73 2e 3c 2f  ed parameters.</
c680: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 52  li>..      <li>R
c690: 65 74 6f 6f 6c 65 64 20 74 68 65 20 47 65 74 53  etooled the GetS
c6a0: 63 68 65 6d 61 28 29 20 6d 65 74 68 6f 64 20 6f  chema() method o
c6b0: 66 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64  f SQLiteDataRead
c6c0: 65 72 20 74 6f 20 75 73 65 20 74 68 65 20 6e 65  er to use the ne
c6d0: 77 20 33 2e 33 2e 34 20 41 50 49 20 66 75 6e 63  w 3.3.4 API func
c6e0: 74 69 6f 6e 73 2c 0d 0a 20 20 20 20 20 20 20 20  tions,..        
c6f0: 61 6e 64 20 6d 61 64 65 20 73 65 76 65 72 61 6c  and made several
c700: 20 65 6e 68 61 6e 63 65 6d 65 6e 74 73 20 61 6e   enhancements an
c710: 64 20 66 69 78 65 73 20 74 6f 20 73 63 68 65 6d  d fixes to schem
c720: 61 73 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a  as.&nbsp;</li>..
c730: 20 20 20 20 20 20 3c 6c 69 3e 49 6d 70 6c 65 6d        <li>Implem
c740: 65 6e 74 65 64 20 74 68 65 20 53 6f 75 72 63 65  ented the Source
c750: 43 6f 6c 75 6d 6e 4e 75 6c 6c 4d 61 70 70 69 6e  ColumnNullMappin
c760: 67 20 70 72 6f 70 65 72 74 79 20 6f 66 20 53 51  g property of SQ
c770: 4c 69 74 65 50 61 72 61 6d 65 74 65 72 20 74 6f  LiteParameter to
c780: 20 66 69 78 0d 0a 20 20 20 20 61 20 44 62 43 6f   fix..    a DbCo
c790: 6d 6d 61 6e 64 42 75 69 6c 64 65 72 20 63 6f 64  mmandBuilder cod
c7a0: 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 62 75 67  e generation bug
c7b0: 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 3c 6c 69 3e  .&nbsp;</li><li>
c7c0: 52 65 6d 6f 76 65 64 20 74 68 65 20 72 75 6e 74  Removed the runt
c7d0: 69 6d 65 20 64 65 70 65 6e 64 65 6e 63 79 20 6f  ime dependency o
c7e0: 6e 20 4d 53 56 43 52 38 30 2e 44 4c 4c 2e 26 6e  n MSVCR80.DLL.&n
c7f0: 62 73 70 3b 20 46 69 6c 65 20 73 69 7a 65 20 69  bsp; File size i
c800: 73 20 73 6f 6d 65 77 68 61 74 0d 0a 20 20 20 20  s somewhat..    
c810: 6c 61 72 67 65 72 20 66 6f 72 20 74 68 65 20 76  larger for the v
c820: 61 72 79 69 6e 67 20 64 65 73 6b 74 6f 70 20 76  arying desktop v
c830: 65 72 73 69 6f 6e 73 2e 3c 2f 6c 69 3e 3c 6c 69  ersions.</li><li
c840: 3e 43 72 65 61 74 65 64 20 61 6e 20 69 6e 73 74  >Created an inst
c850: 61 6c 6c 20 70 72 6f 67 72 61 6d 20 74 6f 20 6d  all program to m
c860: 61 6e 61 67 65 20 69 6e 73 74 61 6c 6c 61 74 69  anage installati
c870: 6f 6e 20 61 6e 64 20 75 6e 69 6e 73 74 61 6c 6c  on and uninstall
c880: 61 74 69 6f 6e 20 6f 66 20 74 68 65 0d 0a 20 20  ation of the..  
c890: 20 20 53 51 4c 69 74 65 20 64 65 73 69 67 6e 2d    SQLite design-
c8a0: 74 69 6d 65 20 73 75 70 70 6f 72 74 2e 3c 2f 6c  time support.</l
c8b0: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 44 65  i>..      <li>De
c8c0: 73 69 67 6e 65 72 20 73 75 70 70 6f 72 74 20 6e  signer support n
c8d0: 6f 77 20 77 6f 72 6b 73 20 66 6f 72 20 61 6c 6c  ow works for all
c8e0: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 65   Visual Studio e
c8f0: 64 69 74 69 6f 6e 73 2c 20 69 6e 63 6c 75 64 69  ditions, includi
c900: 6e 67 20 61 6c 6c 20 45 78 70 72 65 73 73 0d 0a  ng all Express..
c910: 20 20 20 20 20 20 20 20 45 64 69 74 69 6f 6e 73          Editions
c920: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c  .</li>..      <l
c930: 69 3e 44 65 73 69 67 6e 2d 74 69 6d 65 20 69 6e  i>Design-time in
c940: 73 74 61 6c 6c 65 72 20 77 69 6c 6c 20 6e 6f 77  staller will now
c950: 20 72 65 6d 6f 76 65 20 28 69 66 20 70 72 65 73   remove (if pres
c960: 65 6e 74 29 20 74 68 65 20 6d 61 63 68 69 6e 65  ent) the machine
c970: 2e 63 6f 6e 66 69 67 20 53 51 4c 69 74 65 20 65  .config SQLite e
c980: 6e 74 72 69 65 73 0d 0a 20 20 20 20 20 20 20 20  ntries..        
c990: 69 6e 20 66 61 76 6f 72 20 6f 66 20 69 6e 73 74  in favor of inst
c9a0: 61 6c 6c 69 6e 67 20 74 68 65 20 78 6d 6c 20 63  alling the xml c
c9b0: 6f 64 65 20 69 6e 74 6f 20 74 68 65 20 64 65 76  ode into the dev
c9c0: 65 6e 76 2e 65 78 65 2e 63 6f 6e 66 69 67 20 66  env.exe.config f
c9d0: 69 6c 65 20 28 6f 72 20 61 6e 79 20 6f 66 20 74  ile (or any of t
c9e0: 68 65 0d 0a 20 20 20 20 20 20 20 20 76 61 72 69  he..        vari
c9f0: 61 74 69 6f 6e 73 20 66 6f 72 20 65 78 70 72 65  ations for expre
ca00: 73 73 20 65 64 69 74 69 6f 6e 73 29 2e 26 6e 62  ss editions).&nb
ca10: 73 70 3b 20 54 68 65 20 6f 66 66 69 63 69 61 6c  sp; The official
ca20: 6c 79 2d 61 63 63 65 70 74 65 64 20 62 65 68 61  ly-accepted beha
ca30: 76 69 6f 72 20 6f 66 20 75 73 69 6e 67 0d 0a 20  vior of using.. 
ca40: 20 20 20 20 20 20 20 44 62 50 72 6f 76 69 64 65         DbProvide
ca50: 72 46 61 63 74 6f 72 69 65 73 20 69 73 20 74 6f  rFactories is to
ca60: 20 61 64 64 20 74 68 65 20 63 6f 64 65 20 74 6f   add the code to
ca70: 20 79 6f 75 72 20 61 70 70 2e 63 6f 6e 66 69 67   your app.config
ca80: 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 65 20 6d   file, and the m
ca90: 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67 0d 0a 20  achine.config.. 
caa0: 20 20 20 20 20 20 20 66 69 6c 65 20 73 68 6f 75         file shou
cab0: 6c 64 20 6e 6f 74 20 62 65 20 74 6f 75 63 68 65  ld not be touche
cac0: 64 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75  d.</li>..    </u
cad0: 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  l>..    <p><b>1.
cae0: 30 2e 32 35 2e 30 20 2d 20 4a 61 6e 75 61 72 79  0.25.0 - January
caf0: 20 33 31 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70   31, 2006</b></p
cb00: 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20  >..    <ul>..   
cb10: 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20   <li>Code merge 
cb20: 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e  with SQLite 3.3.
cb30: 33 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64 20  3</li><li>Added 
cb40: 61 75 74 6f 6d 61 74 69 63 20 64 69 73 74 72 69  automatic distri
cb50: 62 75 74 65 64 20 74 72 61 6e 73 61 63 74 69 6f  buted transactio
cb60: 6e 20 65 6e 6c 69 73 74 6d 65 6e 74 20 61 6e 64  n enlistment and
cb70: 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 74 68 65   implemented the
cb80: 20 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 2e 45 6e   DbConnection.En
cb90: 6c 69 73 74 54 72 61 6e 73 61 63 74 69 6f 6e 0d  listTransaction.
cba0: 0a 20 20 20 20 6d 65 74 68 6f 64 20 66 6f 72 20  .    method for 
cbb0: 6d 61 6e 75 61 6c 20 65 6e 6c 69 73 74 6d 65 6e  manual enlistmen
cbc0: 74 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  t.</li>..      <
cbd0: 6c 69 3e 4e 65 73 74 65 64 20 74 72 61 6e 73 61  li>Nested transa
cbe0: 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 77 20 73  ctions are now s
cbf0: 75 70 70 6f 72 74 65 64 2e 3c 2f 6c 69 3e 0d 0a  upported.</li>..
cc00: 20 20 20 20 20 20 3c 6c 69 3e 52 65 61 72 72 61        <li>Rearra
cc10: 6e 67 65 64 20 74 68 65 20 74 69 6d 69 6e 67 20  nged the timing 
cc20: 6f 66 20 53 65 74 50 61 73 73 77 6f 72 64 28 29  of SetPassword()
cc30: 2c 20 77 68 69 63 68 20 6e 6f 77 20 6d 75 73 74  , which now must
cc40: 20 62 65 20 63 61 6c 6c 65 64 20 62 65 66 6f 72   be called befor
cc50: 65 20 74 68 65 20 64 61 74 61 62 61 73 65 0d 0a  e the database..
cc60: 20 20 20 20 20 20 20 20 69 73 20 6f 70 65 6e 65          is opene
cc70: 64 20 69 6e 73 74 65 61 64 20 6f 66 20 61 66 74  d instead of aft
cc80: 65 72 77 61 72 64 73 2e 26 6e 62 73 70 3b 20 4f  erwards.&nbsp; O
cc90: 70 74 69 6f 6e 61 6c 6c 79 2c 20 74 68 65 20 70  ptionally, the p
cca0: 61 73 73 77 6f 72 64 20 63 61 6e 20 62 65 20 73  assword can be s
ccb0: 75 70 70 6c 69 65 64 0d 0a 20 20 20 20 20 20 20  upplied..       
ccc0: 20 69 6e 20 74 68 65 20 43 6f 6e 6e 65 63 74 69   in the Connecti
ccd0: 6f 6e 53 74 72 69 6e 67 2e 3c 2f 6c 69 3e 0d 0a  onString.</li>..
cce0: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
ccf0: 61 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65 46  a bug in SQLiteF
cd00: 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 75  unction that cau
cd10: 73 65 64 20 61 20 66 61 69 6c 75 72 65 20 77 68  sed a failure wh
cd20: 65 6e 20 61 6e 20 65 6d 70 74 79 20 72 65 73 75  en an empty resu
cd30: 6c 74 73 65 74 20 77 61 73 0d 0a 20 20 20 20 20  ltset was..     
cd40: 20 20 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20     returned and 
cd50: 61 20 63 75 73 74 6f 6d 20 75 73 65 72 20 61 67  a custom user ag
cd60: 67 72 65 67 61 74 65 20 66 75 6e 63 74 69 6f 6e  gregate function
cd70: 20 77 61 73 20 75 73 65 64 20 69 6e 20 74 68 65   was used in the
cd80: 20 71 75 65 72 79 2e 3c 2f 6c 69 3e 0d 0a 20 20   query.</li>..  
cd90: 20 20 20 20 3c 6c 69 3e 54 68 65 20 64 65 73 69      <li>The desi
cda0: 67 6e 65 72 20 68 61 73 20 68 61 64 20 61 6e 6f  gner has had ano
cdb0: 74 68 65 72 20 72 6f 75 6e 64 20 6f 66 20 63 6c  ther round of cl
cdc0: 65 61 6e 75 70 20 61 70 70 6c 69 65 64 2c 20 69  eanup applied, i
cdd0: 6e 20 70 72 65 70 61 72 61 74 69 6f 6e 20 66 6f  n preparation fo
cde0: 72 20 6d 6f 76 69 6e 67 0d 0a 20 20 20 20 20 20  r moving..      
cdf0: 20 20 74 6f 20 61 20 56 53 20 70 61 63 6b 61 67    to a VS packag
ce00: 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  e.</li>..      <
ce10: 6c 69 3e 41 64 64 65 64 20 53 51 4c 69 74 65 4d  li>Added SQLiteM
ce20: 65 74 61 44 61 74 61 43 6f 6c 6c 65 63 74 69 6f  etaDataCollectio
ce30: 6e 4e 61 6d 65 73 20 63 6c 61 73 73 2e 3c 2f 6c  nNames class.</l
ce40: 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d 0a 20  i>..    </ul>.. 
ce50: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34 2e     <p><b>1.0.24.
ce60: 36 20 62 65 74 61 20 2d 20 4a 61 6e 75 61 72 79  6 beta - January
ce70: 20 32 33 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70   23, 2006</b></p
ce80: 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20  >..    <ul>..   
ce90: 20 3c 6c 69 3e 54 68 69 73 20 62 65 74 61 20 69   <li>This beta i
cea0: 73 20 62 75 69 6c 74 20 66 72 6f 6d 20 73 71 6c  s built from sql
ceb0: 69 74 65 2e 6f 72 67 27 73 20 33 2e 33 2e 32 20  ite.org's 3.3.2 
cec0: 62 65 74 61 2e 3c 2f 6c 69 3e 3c 6c 69 3e 45 6c  beta.</li><li>El
ced0: 69 6d 69 6e 61 74 65 64 20 74 68 65 20 73 74 61  iminated the sta
cee0: 74 69 63 20 6c 69 6e 6b 69 6e 67 20 6f 66 20 6d  tic linking of m
cef0: 73 63 6f 72 65 65 20 66 72 6f 6d 20 61 6c 6c 20  scoree from all 
cf00: 62 69 6e 61 72 69 65 73 2e 26 6e 62 73 70 3b 20  binaries.&nbsp; 
cf10: 4e 61 74 69 76 65 20 70 72 6f 6a 65 63 74 73 0d  Native projects.
cf20: 0a 20 20 20 20 20 20 63 61 6e 20 6e 6f 77 20 75  .      can now u
cf30: 73 65 20 74 68 65 20 6c 69 62 72 61 72 79 20 77  se the library w
cf40: 69 74 68 6f 75 74 20 61 6e 79 20 64 65 70 65 6e  ithout any depen
cf50: 64 65 6e 63 69 65 73 20 6f 6e 20 74 68 65 20 2e  dencies on the .
cf60: 4e 45 54 20 66 72 61 6d 65 77 6f 72 6b 2c 20 77  NET framework, w
cf70: 68 69 6c 65 20 6d 61 6e 61 67 65 64 0d 0a 20 20  hile managed..  
cf80: 20 20 20 20 70 72 6f 6a 65 63 74 73 20 63 6f 6e      projects con
cf90: 74 69 6e 75 65 20 74 6f 20 62 65 20 61 62 6c 65  tinue to be able
cfa0: 20 74 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72   to use the libr
cfb0: 61 72 79 20 6e 6f 72 6d 61 6c 6c 79 2e 3c 2f 6c  ary normally.</l
cfc0: 69 3e 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e  i></ul>..    <p>
cfd0: 3c 62 3e 31 2e 30 2e 32 34 2e 35 20 62 65 74 61  <b>1.0.24.5 beta
cfe0: 20 2d 20 4a 61 6e 75 61 72 79 20 32 30 2c 20 32   - January 20, 2
cff0: 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20  006</b></p>..   
d000: 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 54   <ul>..    <li>T
d010: 68 69 73 20 62 65 74 61 20 69 73 20 62 75 69 6c  his beta is buil
d020: 74 20 66 72 6f 6d 20 73 71 6c 69 74 65 2e 6f 72  t from sqlite.or
d030: 67 27 73 20 33 2e 33 2e 31 20 61 6c 70 68 61 20  g's 3.3.1 alpha 
d040: 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 64 65 76  and contains dev
d050: 65 6c 6f 70 6d 65 6e 74 2d 69 6e 2d 70 72 6f 67  elopment-in-prog
d060: 72 65 73 73 20 63 6f 64 65 2e 26 6e 62 73 70 3b  ress code.&nbsp;
d070: 20 54 68 65 72 65 66 6f 72 65 20 6e 6f 20 67 75   Therefore no gu
d080: 61 72 61 6e 74 65 65 73 0d 0a 20 20 20 20 20 20  arantees..      
d090: 63 61 6e 20 62 65 20 6d 61 64 65 20 72 65 67 61  can be made rega
d0a0: 72 64 69 6e 67 20 69 74 73 20 73 75 69 74 61 62  rding its suitab
d0b0: 69 6c 69 74 79 20 66 6f 72 20 70 72 6f 64 75 63  ility for produc
d0c0: 74 69 6f 6e 20 75 73 65 2e 3c 2f 6c 69 3e 0d 0a  tion use.</li>..
d0d0: 20 20 20 20 3c 6c 69 3e 3c 73 74 72 6f 6e 67 3e      <li><strong>
d0e0: 59 6f 75 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65  You no longer ne
d0f0: 65 64 20 74 6f 20 64 69 73 74 72 69 62 75 74 65  ed to distribute
d100: 20 32 20 66 69 6c 65 73 20 6f 6e 20 74 68 65 20   2 files on the 
d110: 43 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f 72 6b  CompactFramework
d120: 2e 26 6e 62 73 70 3b 0d 0a 20 20 20 20 20 20 59  .&nbsp;..      Y
d130: 6f 75 20 63 61 6e 20 64 65 6c 65 74 65 20 53 51  ou can delete SQ
d140: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 44 4c 4c  Lite.Interop.DLL
d150: 20 65 6e 74 69 72 65 6c 79 2e 26 6e 62 73 70 3b   entirely.&nbsp;
d160: 20 3c 2f 73 74 72 6f 6e 67 3e 49 20 77 72 6f 74   </strong>I wrot
d170: 65 20 61 20 63 75 73 74 6f 6d 20 74 6f 6f 6c 0d  e a custom tool.
d180: 0a 20 20 20 20 20 20 63 61 6c 6c 65 64 20 22 6d  .      called "m
d190: 65 72 67 65 62 69 6e 22 20 28 61 76 61 69 6c 61  ergebin" (availa
d1a0: 62 6c 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63  ble in the sourc
d1b0: 65 20 7a 69 70 20 66 69 6c 65 29 20 77 68 69 63  e zip file) whic
d1c0: 68 20 63 6f 6d 62 69 6e 65 73 20 74 68 65 20 74  h combines the t
d1d0: 77 6f 20 6c 69 62 72 61 72 69 65 73 0d 0a 20 20  wo libraries..  
d1e0: 20 20 20 20 61 6e 64 20 67 65 74 73 20 61 72 6f      and gets aro
d1f0: 75 6e 64 20 61 20 67 6c 61 72 69 6e 67 20 64 65  und a glaring de
d200: 66 65 63 74 20 69 6e 20 74 68 65 20 56 53 32 30  fect in the VS20
d210: 30 35 20 6c 69 6e 6b 65 72 20 66 6f 72 20 41 52  05 linker for AR
d220: 4d 20 70 72 6f 63 65 73 73 6f 72 73 20 77 68 69  M processors whi
d230: 63 68 20 64 6f 65 73 6e 27 74 0d 0a 20 20 20 20  ch doesn't..    
d240: 20 20 61 6c 6c 6f 77 20 79 6f 75 20 74 6f 20 6c    allow you to l
d250: 69 6e 6b 20 6e 65 74 6d 6f 64 75 6c 65 73 2e 3c  ink netmodules.<
d260: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
d270: 3c 73 74 72 6f 6e 67 3e 78 36 34 20 61 6e 64 20  <strong>x64 and 
d280: 69 61 36 34 20 62 75 69 6c 64 73 20 6e 6f 77 20  ia64 builds now 
d290: 75 73 65 20 74 68 65 20 73 61 6d 65 20 73 74 72  use the same str
d2a0: 6f 6e 67 20 6e 61 6d 65 20 61 73 20 74 68 65 20  ong name as the 
d2b0: 78 38 36 20 62 75 69 6c 64 2e 3c 2f 73 74 72 6f  x86 build.</stro
d2c0: 6e 67 3e 26 6e 62 73 70 3b 0d 0a 20 20 20 20 20  ng>&nbsp;..     
d2d0: 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 62 72     This means br
d2e0: 65 61 6b 69 6e 67 20 62 61 63 6b 77 61 72 64 20  eaking backward 
d2f0: 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 62  compatibility, b
d300: 75 74 20 69 74 20 77 61 73 20 6e 65 63 65 73 73  ut it was necess
d310: 61 72 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ary in order to 
d320: 61 6c 6c 6f 77 0d 0a 20 20 20 20 20 20 20 20 79  allow..        y
d330: 6f 75 20 74 6f 20 64 72 6f 70 20 61 6e 79 20 6f  ou to drop any o
d340: 66 20 74 68 6f 73 65 20 33 20 62 75 69 6c 64 73  f those 3 builds
d350: 20 6f 6e 74 6f 20 61 20 50 43 20 61 6e 64 20 68   onto a PC and h
d360: 61 76 65 20 79 6f 75 72 20 2e 4e 45 54 20 70 72  ave your .NET pr
d370: 6f 67 72 61 6d 20 72 75 6e 20 70 72 6f 70 65 72  ogram run proper
d380: 6c 79 2e 26 6e 62 73 70 3b 0d 0a 20 20 20 20 20  ly.&nbsp;..     
d390: 20 20 20 50 72 69 6f 72 20 74 6f 20 74 68 69 73     Prior to this
d3a0: 2c 20 79 6f 75 27 64 20 67 65 74 20 61 6e 20 65  , you'd get an e
d3b0: 72 72 6f 72 20 69 66 20 79 6f 75 20 62 75 69 6c  rror if you buil
d3c0: 74 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 75  t your program u
d3d0: 73 69 6e 67 20 74 68 65 20 78 38 36 20 62 75 69  sing the x86 bui
d3e0: 6c 64 2c 0d 0a 20 20 20 20 20 20 20 20 61 6e 64  ld,..        and
d3f0: 20 74 68 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20   then installed 
d400: 74 68 65 20 78 36 34 20 76 65 72 73 69 6f 6e 20  the x64 version 
d410: 6f 6e 20 61 20 74 61 72 67 65 74 20 6d 61 63 68  on a target mach
d420: 69 6e 65 20 61 6e 64 20 74 72 69 65 64 20 74 6f  ine and tried to
d430: 20 72 75 6e 20 79 6f 75 72 20 70 72 6f 67 72 61   run your progra
d440: 6d 0d 0a 20 20 20 20 20 20 20 20 61 67 61 69 6e  m..        again
d450: 73 74 20 69 74 2e 3c 2f 6c 69 3e 0d 0a 20 20 20  st it.</li>..   
d460: 20 20 20 3c 6c 69 3e 54 68 65 20 65 6e 74 69 72     <li>The entir
d470: 65 20 73 6f 75 72 63 65 20 70 72 6f 6a 65 63 74  e source project
d480: 20 68 61 73 20 62 65 65 6e 20 67 6f 6e 65 20 6f   has been gone o
d490: 76 65 72 20 74 6f 70 20 74 6f 20 62 6f 74 74 6f  ver top to botto
d4a0: 6d 2e 26 6e 62 73 70 3b 20 41 20 64 65 62 75 67  m.&nbsp; A debug
d4b0: 20 62 75 69 6c 64 0d 0a 20 20 20 20 20 20 20 20   build..        
d4c0: 6e 6f 20 6c 6f 6e 67 65 72 20 63 6f 6d 62 69 6e  no longer combin
d4d0: 65 73 20 74 68 65 20 62 69 6e 61 72 69 65 73 20  es the binaries 
d4e0: 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 6d 6f  into a single mo
d4f0: 64 75 6c 65 2c 20 77 68 69 63 68 20 77 61 73 20  dule, which was 
d500: 70 72 65 76 65 6e 74 69 6e 67 20 70 72 6f 70 65  preventing prope
d510: 72 0d 0a 20 20 20 20 20 20 20 20 64 65 62 75 67  r..        debug
d520: 67 69 6e 67 2e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0d  ging.</li></ul>.
d530: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32  .    <p><b>1.0.2
d540: 34 2e 34 20 62 65 74 61 20 2d 20 4a 61 6e 75 61  4.4 beta - Janua
d550: 72 79 20 31 36 2c 20 32 30 30 36 3c 2f 62 3e 3c  ry 16, 2006</b><
d560: 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20  /p>..    <ul>.. 
d570: 20 20 20 3c 6c 69 3e 54 68 69 73 20 62 65 74 61     <li>This beta
d580: 20 69 73 20 62 75 69 6c 74 20 66 72 6f 6d 20 73   is built from s
d590: 71 6c 69 74 65 2e 6f 72 67 27 73 20 33 2e 33 2e  qlite.org's 3.3.
d5a0: 31 20 61 6c 70 68 61 20 61 6e 64 20 63 6f 6e 74  1 alpha and cont
d5b0: 61 69 6e 73 20 64 65 76 65 6c 6f 70 6d 65 6e 74  ains development
d5c0: 2d 69 6e 2d 70 72 6f 67 72 65 73 73 20 63 6f 64  -in-progress cod
d5d0: 65 2e 26 6e 62 73 70 3b 20 54 68 65 72 65 66 6f  e.&nbsp; Therefo
d5e0: 72 65 20 6e 6f 20 67 75 61 72 61 6e 74 65 65 73  re no guarantees
d5f0: 0d 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 6d  ..      can be m
d600: 61 64 65 20 72 65 67 61 72 64 69 6e 67 20 69 74  ade regarding it
d610: 73 20 73 75 69 74 61 62 69 6c 69 74 79 20 66 6f  s suitability fo
d620: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 65  r production use
d630: 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 6c 69 3e  .</li>..    <li>
d640: 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 74  Fixed a bug in t
d650: 68 65 20 55 54 46 2d 31 36 20 68 61 6e 64 6c 69  he UTF-16 handli
d660: 6e 67 20 63 6f 64 65 20 66 6f 72 20 70 72 65 70  ng code for prep
d670: 61 72 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 73  aring statements
d680: 20 64 75 65 20 74 6f 20 61 20 62 65 68 61 76 69   due to a behavi
d690: 6f 72 61 6c 0d 0a 20 20 20 20 20 20 63 68 61 6e  oral..      chan
d6a0: 67 65 20 69 6e 20 53 51 4c 69 74 65 20 33 2e 33  ge in SQLite 3.3
d6b0: 2e 30 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20  .0.</li>..      
d6c0: 3c 6c 69 3e 41 64 64 65 64 20 70 61 67 65 72 2e  <li>Added pager.
d6d0: 63 20 63 6f 64 65 20 6e 65 63 65 73 73 61 72 79  c code necessary
d6e0: 20 74 6f 20 63 6c 65 61 6e 75 70 20 61 66 74 65   to cleanup afte
d6f0: 72 20 61 6e 20 65 6e 63 72 79 70 74 65 64 20 66  r an encrypted f
d700: 69 6c 65 20 69 73 20 63 6c 6f 73 65 64 2e 3c 2f  ile is closed.</
d710: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46  li>..      <li>F
d720: 69 78 65 64 20 61 6e 20 65 6e 63 72 79 70 74 69  ixed an encrypti
d730: 6f 6e 20 62 75 67 20 74 68 61 74 20 63 61 75 73  on bug that caus
d740: 65 64 20 61 20 66 61 75 6c 74 20 77 68 65 6e 20  ed a fault when 
d750: 61 6e 20 65 6e 63 72 79 70 74 65 64 20 66 69 6c  an encrypted fil
d760: 65 20 77 61 73 20 72 6f 6c 6c 65 64 0d 0a 20 20  e was rolled..  
d770: 20 20 20 20 20 20 62 61 63 6b 2e 3c 2f 6c 69 3e        back.</li>
d780: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 6f 64 69  ..      <li>Modi
d790: 66 69 65 64 20 74 68 65 20 74 65 73 74 63 61 73  fied the testcas
d7a0: 65 20 63 6f 64 65 20 74 6f 20 74 61 6b 65 20 61  e code to take a
d7b0: 64 76 61 6e 74 61 67 65 20 6f 66 20 6f 70 74 69  dvantage of opti
d7c0: 6d 69 7a 61 74 69 6f 6e 73 20 72 65 67 61 72 64  mizations regard
d7d0: 69 6e 67 20 74 68 65 20 75 73 65 0d 0a 20 20 20  ing the use..   
d7e0: 20 20 20 20 20 6f 66 20 61 20 44 62 43 6f 6d 6d       of a DbComm
d7f0: 61 6e 64 42 75 69 6c 64 65 72 2e 26 6e 62 73 70  andBuilder.&nbsp
d800: 3b 20 44 61 74 61 41 64 61 70 74 65 72 20 69 6e  ; DataAdapter in
d810: 73 65 72 74 20 73 70 65 65 64 20 69 6e 63 72 65  sert speed incre
d820: 61 73 65 64 20 64 72 61 6d 61 74 69 63 61 6c 6c  ased dramaticall
d830: 79 20 61 73 0d 0a 20 20 20 20 20 20 20 20 61 20  y as..        a 
d840: 72 65 73 75 6c 74 2e 3c 2f 6c 69 3e 0d 0a 20 20  result.</li>..  
d850: 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e    </ul>..    <p>
d860: 3c 62 3e 31 2e 30 2e 32 34 2e 33 20 62 65 74 61  <b>1.0.24.3 beta
d870: 20 2d 20 4a 61 6e 75 61 72 79 20 31 30 2c 20 32   - January 10, 2
d880: 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20  006</b></p>..   
d890: 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 54   <ul>..    <li>T
d8a0: 68 69 73 20 62 65 74 61 20 69 73 20 62 75 69 6c  his beta is buil
d8b0: 74 20 66 72 6f 6d 20 73 71 6c 69 74 65 2e 6f 72  t from sqlite.or
d8c0: 67 27 73 20 33 2e 33 2e 30 20 61 6c 70 68 61 20  g's 3.3.0 alpha 
d8d0: 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 64 65 76  and contains dev
d8e0: 65 6c 6f 70 6d 65 6e 74 2d 69 6e 2d 70 72 6f 67  elopment-in-prog
d8f0: 72 65 73 73 20 63 6f 64 65 2e 26 6e 62 73 70 3b  ress code.&nbsp;
d900: 20 54 68 65 72 65 66 6f 72 65 20 6e 6f 20 67 75   Therefore no gu
d910: 61 72 61 6e 74 65 65 73 0d 0a 20 20 20 20 20 20  arantees..      
d920: 63 61 6e 20 62 65 20 6d 61 64 65 20 72 65 67 61  can be made rega
d930: 72 64 69 6e 67 20 69 74 73 20 73 75 69 74 61 62  rding its suitab
d940: 69 6c 69 74 79 20 66 6f 72 20 70 72 6f 64 75 63  ility for produc
d950: 74 69 6f 6e 20 75 73 65 2e 3c 2f 6c 69 3e 3c 6c  tion use.</li><l
d960: 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20  i>Added support 
d970: 66 6f 72 20 64 61 74 61 62 61 73 65 20 65 6e 63  for database enc
d980: 72 79 70 74 69 6f 6e 20 61 74 20 74 68 65 20 70  ryption at the p
d990: 61 67 65 72 20 6c 65 76 65 6c 2e 26 6e 62 73 70  ager level.&nbsp
d9a0: 3b 20 44 61 74 61 62 61 73 65 73 0d 0a 20 20 20  ; Databases..   
d9b0: 20 61 72 65 20 65 6e 63 72 79 70 74 65 64 20 75   are encrypted u
d9c0: 73 69 6e 67 20 61 20 31 32 38 2d 62 69 74 20 52  sing a 128-bit R
d9d0: 43 34 20 73 74 72 65 61 6d 20 61 6c 67 6f 72 69  C4 stream algori
d9e0: 74 68 6d 2e 26 6e 62 73 70 3b 20 54 6f 20 6f 70  thm.&nbsp; To op
d9f0: 65 6e 20 61 6e 20 65 78 69 73 74 69 6e 67 20 65  en an existing e
da00: 6e 63 72 79 70 74 65 64 0d 0a 20 20 20 20 64 61  ncrypted..    da
da10: 74 61 62 61 73 65 2c 20 79 6f 75 20 6d 61 79 20  tabase, you may 
da20: 6e 6f 77 20 73 70 65 63 69 66 79 20 61 20 22 50  now specify a "P
da30: 61 73 73 77 6f 72 64 3d 7b 70 61 73 73 77 6f 72  assword={passwor
da40: 64 7d 22 20 74 65 78 74 20 69 6e 20 74 68 65 20  d}" text in the 
da50: 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67  ConnectionString
da60: 2c 0d 0a 20 20 20 20 6f 72 20 79 6f 75 20 6d 61  ,..    or you ma
da70: 79 20 63 61 6c 6c 20 74 68 65 20 53 51 4c 69 74  y call the SQLit
da80: 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 53 65 74 50  eConnection.SetP
da90: 61 73 73 77 6f 72 64 28 29 20 66 75 6e 63 74 69  assword() functi
daa0: 6f 6e 20 74 6f 20 73 65 74 20 74 68 65 20 70 61  on to set the pa
dab0: 73 73 77 6f 72 64 0d 0a 20 20 20 20 6f 6e 20 61  ssword..    on a
dac0: 6e 20 6f 70 65 6e 20 63 6f 6e 6e 65 63 74 69 6f  n open connectio
dad0: 6e 2e 20 26 6e 62 73 70 3b 54 6f 20 65 6e 63 72  n. &nbsp;To encr
dae0: 79 70 74 20 65 78 69 73 74 69 6e 67 20 6e 6f 6e  ypt existing non
daf0: 2d 65 6e 63 72 79 70 74 65 64 20 64 61 74 61 62  -encrypted datab
db00: 61 73 65 73 20 6f 72 20 74 6f 20 63 68 61 6e 67  ases or to chang
db10: 65 0d 0a 20 20 20 20 74 68 65 20 70 61 73 73 77  e..    the passw
db20: 6f 72 64 20 6f 6e 20 61 6e 20 65 6e 63 72 79 70  ord on an encryp
db30: 74 65 64 20 64 61 74 61 62 61 73 65 2c 20 79 6f  ted database, yo
db40: 75 20 6d 75 73 74 20 75 73 65 20 74 68 65 20 53  u must use the S
db50: 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e  QLiteConnection.
db60: 43 68 61 6e 67 65 50 61 73 73 77 6f 72 64 28 29  ChangePassword()
db70: 0d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 26  ..    function.&
db80: 6e 62 73 70 3b 20 49 66 20 79 6f 75 20 75 73 65  nbsp; If you use
db90: 20 53 65 74 50 61 73 73 77 6f 72 64 28 29 20 69   SetPassword() i
dba0: 6e 73 74 65 61 64 20 6f 66 20 73 70 65 63 69 66  nstead of specif
dbb0: 79 69 6e 67 20 61 20 70 61 73 73 77 6f 72 64 20  ying a password 
dbc0: 69 6e 20 74 68 65 0d 0a 20 20 20 20 63 6f 6e 6e  in the..    conn
dbd0: 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 2c 20 6f  ection string, o
dbe0: 72 20 63 61 6c 6c 20 43 68 61 6e 67 65 50 61 73  r call ChangePas
dbf0: 73 77 6f 72 64 28 29 20 79 6f 75 20 6d 61 79 20  sword() you may 
dc00: 75 73 65 20 61 20 62 69 6e 61 72 79 20 62 79 74  use a binary byt
dc10: 65 20 61 72 72 61 79 20 6f 72 20 61 0d 0a 20 20  e array or a..  
dc20: 20 20 74 65 78 74 20 73 74 72 69 6e 67 20 61 73    text string as
dc30: 20 74 68 65 20 70 61 73 73 77 6f 72 64 2e 3c 2f   the password.</
dc40: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 52  li>..      <li>R
dc50: 65 77 72 6f 74 65 20 74 68 65 20 6c 6f 63 6b 69  ewrote the locki
dc60: 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ng implementatio
dc70: 6e 20 66 6f 72 20 74 68 65 20 43 6f 6d 70 61 63  n for the Compac
dc80: 74 20 46 72 61 6d 65 77 6f 72 6b 2e 26 6e 62 73  t Framework.&nbs
dc90: 70 3b 20 49 74 20 69 73 20 6e 6f 77 0d 0a 20 20  p; It is now..  
dca0: 20 20 20 20 20 20 6d 6f 72 65 20 72 6f 62 75 73        more robus
dcb0: 74 20 61 6e 64 20 69 6e 63 6f 72 70 6f 72 61 74  t and incorporat
dcc0: 65 73 20 69 6e 74 6f 20 74 68 65 20 53 51 4c 69  es into the SQLi
dcd0: 74 65 20 63 6f 64 65 62 61 73 65 20 6d 6f 72 65  te codebase more
dce0: 20 65 66 66 69 63 69 65 6e 74 6c 79 20 74 68 61   efficiently tha
dcf0: 6e 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 70  n the..        p
dd00: 72 65 76 69 6f 75 73 20 43 45 20 61 64 61 70 74  revious CE adapt
dd10: 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0d 0a 20 20 20  ation.</li>..   
dd20: 20 20 20 3c 6c 69 3e 4d 6f 76 65 64 20 73 6f 6d     <li>Moved som
dd30: 65 20 6f 66 20 74 68 65 20 65 6d 62 65 64 64 65  e of the embedde
dd40: 64 20 73 63 68 65 6d 61 20 58 4d 4c 20 64 61 74  d schema XML dat
dd50: 61 20 69 6e 74 6f 20 61 20 72 65 73 6f 75 72 63  a into a resourc
dd60: 65 20 66 69 6c 65 20 74 6f 20 65 61 73 65 20 63  e file to ease c
dd70: 6f 64 65 20 72 65 61 64 61 62 69 6c 69 74 79 2e  ode readability.
dd80: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
dd90: 3e 41 75 74 6f 6d 61 74 65 64 20 74 68 65 20 66  >Automated the f
dda0: 69 78 75 70 20 6f 66 20 74 68 65 20 6f 72 69 67  ixup of the orig
ddb0: 69 6e 61 6c 20 73 71 6c 69 74 65 20 63 6f 64 65  inal sqlite code
ddc0: 62 61 73 65 27 73 20 73 6f 75 72 63 65 20 70 72  base's source pr
ddd0: 69 6f 72 20 74 6f 20 63 6f 6d 70 69 6c 69 6e 67  ior to compiling
dde0: 2c 0d 0a 20 20 20 20 20 20 20 20 74 6f 20 65 61  ,..        to ea
ddf0: 73 65 20 6d 65 72 67 69 6e 67 20 77 69 74 68 20  se merging with 
de00: 73 71 6c 69 74 65 2e 6f 72 67 27 73 20 73 6f 75  sqlite.org's sou
de10: 72 63 65 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20  rce.</li>..     
de20: 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 6d 65 6d   <li>Fixed a mem
de30: 6f 72 79 20 6c 65 61 6b 20 69 6e 20 53 51 4c 69  ory leak in SQLi
de40: 74 65 43 6f 6d 6d 61 6e 64 20 64 75 65 20 74 6f  teCommand due to
de50: 20 69 74 20 6e 6f 74 20 72 65 6d 6f 76 69 6e 67   it not removing
de60: 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 72 65 66   an internal ref
de70: 65 72 65 6e 63 65 0d 0a 20 20 20 20 20 20 20 20  erence..        
de80: 74 6f 20 69 74 73 65 6c 66 20 69 6e 20 53 51 4c  to itself in SQL
de90: 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 26 6e  iteConnection.&n
dea0: 62 73 70 3b 20 3c 2f 6c 69 3e 0d 0a 20 20 20 20  bsp; </li>..    
deb0: 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </ul>..    <p><b
dec0: 3e 31 2e 30 2e 32 34 2e 32 20 2d 20 44 65 63 65  >1.0.24.2 - Dece
ded0: 6d 62 65 72 20 33 30 2c 20 32 30 30 35 3c 2f 62  mber 30, 2005</b
dee0: 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d  ></p>..    <ul>.
def0: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74  .    <li>Fixed t
df00: 68 65 20 53 51 4c 69 74 65 44 61 74 61 52 65 61  he SQLiteDataRea
df10: 64 65 72 2e 48 61 73 52 6f 77 73 20 70 72 6f 70  der.HasRows prop
df20: 65 72 74 79 20 74 6f 20 72 65 74 75 72 6e 20 74  erty to return t
df30: 68 65 20 70 72 6f 70 65 72 20 76 61 6c 75 65 2e  he proper value.
df40: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
df50: 3e 49 6d 70 6c 65 6d 65 6e 74 65 64 20 74 68 65  >Implemented the
df60: 20 69 6e 61 64 76 65 72 74 65 6e 74 6c 79 20 6e   inadvertently n
df70: 65 67 6c 65 63 74 65 64 20 52 65 63 6f 72 64 73  eglected Records
df80: 41 66 66 65 63 74 65 64 20 70 72 6f 70 65 72 74  Affected propert
df90: 79 20 6f 6e 20 53 51 4c 69 74 65 44 61 74 61 52  y on SQLiteDataR
dfa0: 65 61 64 65 72 2e 0d 0a 20 20 20 20 20 20 3c 2f  eader...      </
dfb0: 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 53  li>..      <li>S
dfc0: 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 20 73 74  QLiteFunction st
dfd0: 61 74 69 63 20 63 6f 6e 73 74 72 75 63 74 6f 72  atic constructor
dfe0: 20 77 61 73 20 63 68 61 6e 67 65 64 20 74 6f 20   was changed to 
dff0: 70 72 65 2d 66 69 6c 74 65 72 20 63 6c 61 73 73  pre-filter class
e000: 65 73 20 77 69 74 68 20 6f 6e 6c 79 20 74 68 65  es with only the
e010: 0d 0a 20 20 20 20 20 20 20 20 53 51 4c 69 74 65  ..        SQLite
e020: 46 75 6e 63 74 69 6f 6e 41 74 74 72 69 62 75 74  FunctionAttribut
e030: 65 2e 26 6e 62 73 70 3b 20 54 68 65 20 63 6f 64  e.&nbsp; The cod
e040: 65 20 77 61 73 20 74 68 72 6f 77 69 6e 67 20 61  e was throwing a
e050: 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 68 65 6e  n exception when
e060: 20 63 65 72 74 61 69 6e 0d 0a 20 20 20 20 20 20   certain..      
e070: 20 20 61 73 73 65 6d 62 6c 69 65 73 20 77 65 72    assemblies wer
e080: 65 20 72 65 66 65 72 65 6e 63 65 64 20 69 6e 20  e referenced in 
e090: 61 20 70 72 6f 6a 65 63 74 2e 20 3c 2f 6c 69 3e  a project. </li>
e0a0: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  ..      <li>Fixe
e0b0: 64 20 74 68 65 20 53 51 4c 69 74 65 44 61 74 61  d the SQLiteData
e0c0: 41 64 61 70 74 65 72 20 4f 6e 52 6f 77 55 70 64  Adapter OnRowUpd
e0d0: 61 74 65 64 20 65 76 65 6e 74 2c 20 77 68 69 63  ated event, whic
e0e0: 68 20 77 61 73 20 75 73 69 6e 67 20 74 68 65 20  h was using the 
e0f0: 77 72 6f 6e 67 20 76 61 72 69 61 62 6c 65 0d 0a  wrong variable..
e100: 20 20 20 20 20 20 20 20 74 6f 20 66 69 6e 64 20          to find 
e110: 74 68 65 20 61 74 74 61 63 68 65 64 20 65 76 65  the attached eve
e120: 6e 74 20 68 61 6e 64 6c 65 72 20 61 6e 64 20 73  nt handler and s
e130: 75 62 73 65 71 75 65 6e 74 6c 79 20 6e 6f 74 20  ubsequently not 
e140: 72 61 69 73 69 6e 67 20 74 68 65 20 65 76 65 6e  raising the even
e150: 74 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c  t.</li>..      <
e160: 6c 69 3e 53 6d 61 6c 6c 20 6f 70 74 69 6d 69 7a  li>Small optimiz
e170: 61 74 69 6f 6e 73 20 61 6e 64 20 66 69 78 65 73  ations and fixes
e180: 20 74 6f 20 53 51 4c 69 74 65 44 61 74 61 52 65   to SQLiteDataRe
e190: 61 64 65 72 2e 4e 65 78 74 52 65 73 75 6c 74 28  ader.NextResult(
e1a0: 29 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20  ).&nbsp;</li>.. 
e1b0: 20 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70     </ul>..    <p
e1c0: 3e 3c 62 3e 31 2e 30 2e 32 34 2e 31 20 2d 20 44  ><b>1.0.24.1 - D
e1d0: 65 63 65 6d 62 65 72 20 31 39 2c 20 32 30 30 35  ecember 19, 2005
e1e0: 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75  </b></p>..    <u
e1f0: 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 55 70 64 61  l>..    <li>Upda
e200: 74 65 20 63 6f 72 65 20 53 51 4c 69 74 65 20 65  te core SQLite e
e210: 6e 67 69 6e 65 20 74 6f 20 33 2e 32 2e 38 26 6e  ngine to 3.2.8&n
e220: 62 73 70 3b 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0d 0a  bsp;</li></ul>..
e230: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34      <p><b>1.0.24
e240: 20 2d 20 44 65 63 65 6d 62 65 72 20 39 2c 20 32   - December 9, 2
e250: 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20  005</b></p>..   
e260: 20 3c 75 6c 3e 0d 0a 20 20 20 20 3c 6c 69 3e 46   <ul>..    <li>F
e270: 69 78 65 64 20 74 68 65 3c 65 6d 3e 20 43 61 74  ixed the<em> Cat
e280: 61 6c 6f 67 73 3c 2f 65 6d 3e 20 73 63 68 65 6d  alogs</em> schem
e290: 61 20 62 75 67 20 74 68 61 74 20 63 61 75 73 65  a bug that cause
e2a0: 64 20 61 74 74 61 63 68 65 64 20 64 61 74 61 62  d attached datab
e2b0: 61 73 65 73 20 6e 6f 74 20 74 6f 20 62 65 20 72  ases not to be r
e2c0: 65 2d 61 74 74 61 63 68 65 64 20 74 6f 20 61 20  e-attached to a 
e2d0: 63 6c 6f 6e 65 64 20 63 6f 6e 6e 65 63 74 69 6f  cloned connectio
e2e0: 6e 0d 0a 20 20 20 20 3c 2f 6c 69 3e 0d 0a 20 20  n..    </li>..  
e2f0: 20 20 20 20 3c 6c 69 3e 45 6e 68 61 6e 63 65 64      <li>Enhanced
e300: 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 74 6f   transactions to
e310: 20 61 6c 6c 6f 77 20 66 6f 72 20 61 20 64 65 66   allow for a def
e320: 65 72 72 65 64 20 6f 72 20 69 6d 6d 65 64 69 61  erred or immedia
e330: 74 65 20 77 72 69 74 65 6c 6f 63 6b 2e 20 26 6e  te writelock. &n
e340: 62 73 70 3b 53 51 4c 69 74 65 43 6f 6e 6e 65 63  bsp;SQLiteConnec
e350: 74 69 6f 6e 2e 42 65 67 69 6e 54 72 61 6e 73 61  tion.BeginTransa
e360: 63 74 69 6f 6e 28 29 0d 0a 20 20 20 20 20 20 20  ction()..       
e370: 20 6e 6f 77 20 68 61 73 20 61 6e 20 61 64 64 69   now has an addi
e380: 74 69 6f 6e 61 6c 20 6f 76 65 72 6c 6f 61 64 20  tional overload 
e390: 74 6f 20 73 75 70 70 6f 72 74 20 69 74 26 6e 62  to support it&nb
e3a0: 73 70 3b 3c 2f 6c 69 3e 3c 6c 69 3e 43 6f 6d 6d  sp;</li><li>Comm
e3b0: 61 6e 64 73 20 61 72 65 20 6e 6f 77 20 70 72 65  ands are now pre
e3c0: 70 61 72 65 64 20 61 73 20 74 68 65 79 20 61 72  pared as they ar
e3d0: 65 20 65 78 65 63 75 74 65 64 20 69 6e 73 74 65  e executed inste
e3e0: 61 64 20 6f 66 20 62 65 66 6f 72 65 68 61 6e 64  ad of beforehand
e3f0: 2e 26 6e 62 73 70 3b 20 54 68 69 73 0d 0a 20 20  .&nbsp; This..  
e400: 20 20 20 20 66 69 78 65 73 20 61 20 62 75 67 20      fixes a bug 
e410: 77 68 65 72 65 62 79 20 61 20 6d 75 6c 74 69 2d  whereby a multi-
e420: 73 74 61 74 65 6d 65 6e 74 20 63 6f 6d 6d 61 6e  statement comman
e430: 64 20 74 68 61 74 20 61 6c 74 65 72 73 20 74 68  d that alters th
e440: 65 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 73  e database and s
e450: 75 62 73 65 71 75 65 6e 74 6c 79 0d 0a 20 20 20  ubsequently..   
e460: 20 20 20 72 65 66 65 72 65 6e 63 65 73 20 74 68     references th
e470: 65 20 61 6c 74 65 72 65 64 20 64 61 74 61 20 77  e altered data w
e480: 6f 75 6c 64 20 66 61 69 6c 20 64 75 72 69 6e 67  ould fail during
e490: 20 50 72 65 70 61 72 65 28 29 2e 3c 2f 6c 69 3e   Prepare().</li>
e4a0: 3c 6c 69 3e 54 69 67 68 74 65 6e 65 64 20 75 70  <li>Tightened up
e4b0: 20 74 68 65 20 53 51 4c 69 74 65 44 61 74 61 52   the SQLiteDataR
e4c0: 65 61 64 65 72 20 74 6f 20 70 72 65 76 65 6e 74  eader to prevent
e4d0: 20 72 65 61 64 69 6e 67 20 63 6f 6c 75 6d 6e 73   reading columns
e4e0: 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 0d   before calling.
e4f0: 0a 20 20 20 20 74 68 65 20 66 69 72 73 74 20 52  .    the first R
e500: 65 61 64 28 29 20 61 6e 64 20 74 6f 20 70 72 65  ead() and to pre
e510: 76 65 6e 74 20 72 65 61 64 69 6e 67 20 63 6f 6c  vent reading col
e520: 75 6d 6e 73 20 61 66 74 65 72 20 74 68 65 20 6c  umns after the l
e530: 61 73 74 20 52 65 61 64 28 29 2e 3c 2f 6c 69 3e  ast Read().</li>
e540: 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 41 20 6d 6f  ..      <li>A mo
e550: 72 65 20 64 65 73 63 72 69 70 74 69 76 65 20 65  re descriptive e
e560: 72 72 6f 72 20 69 73 20 74 68 72 6f 77 6e 20 69  rror is thrown i
e570: 66 20 74 68 65 72 65 20 61 72 65 6e 27 74 20 65  f there aren't e
e580: 6e 6f 75 67 68 20 70 61 72 61 6d 65 74 65 72 73  nough parameters
e590: 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0d   in the command.
e5a0: 0a 20 20 20 20 20 20 20 20 74 6f 20 73 61 74 69  .        to sati
e5b0: 73 66 79 20 74 68 65 20 70 61 72 61 6d 65 74 65  sfy the paramete
e5c0: 72 73 20 72 65 71 75 69 72 65 64 20 62 79 20 74  rs required by t
e5d0: 68 65 20 73 74 61 74 65 6d 65 6e 74 28 73 29 2e  he statement(s).
e5e0: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20  &nbsp;</li>..   
e5f0: 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c   </ul>..    <p><
e600: 62 3e 31 2e 30 2e 32 33 20 2d 20 4e 6f 76 65 6d  b>1.0.23 - Novem
e610: 62 65 72 20 32 31 2c 20 32 30 30 35 3c 2f 62 3e  ber 21, 2005</b>
e620: 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a  </p>..    <ul>..
e630: 20 20 20 20 3c 6c 69 3e 4e 61 6d 65 64 20 70 61      <li>Named pa
e640: 72 61 6d 65 74 65 72 73 20 6d 61 79 20 6e 6f 77  rameters may now
e650: 20 62 65 67 69 6e 20 77 69 74 68 20 3c 73 74 72   begin with <str
e660: 6f 6e 67 3e 40 3c 2f 73 74 72 6f 6e 67 3e 20 74  ong>@</strong> t
e670: 6f 20 65 61 73 65 20 70 6f 72 74 61 62 69 6c 69  o ease portabili
e680: 74 79 20 6f 66 0d 0a 20 20 20 20 20 20 74 68 65  ty of..      the
e690: 20 70 72 6f 76 69 64 65 72 2e 20 53 51 4c 69 74   provider. SQLit
e6a0: 65 27 73 20 6e 61 6d 65 64 20 70 61 72 61 6d 65  e's named parame
e6b0: 74 65 72 73 20 61 72 65 20 6f 72 64 69 6e 61 72  ters are ordinar
e6c0: 69 6c 79 20 70 72 65 66 69 78 65 64 20 77 69 74  ily prefixed wit
e6d0: 68 20 61 20 3c 73 74 72 6f 6e 67 3e 3a 20 3c 2f  h a <strong>: </
e6e0: 73 74 72 6f 6e 67 3e 0d 0a 20 20 20 20 20 20 6f  strong>..      o
e6f0: 72 3c 73 74 72 6f 6e 67 3e 20 24 3c 2f 73 74 72  r<strong> $</str
e700: 6f 6e 67 3e 2e 26 6e 62 73 70 3b 20 54 68 65 20  ong>.&nbsp; The 
e710: 64 65 73 69 67 6e 65 72 20 77 69 6c 6c 20 73 74  designer will st
e720: 69 6c 6c 20 75 73 65 20 74 68 65 20 3c 73 74 72  ill use the <str
e730: 6f 6e 67 3e 24 3c 2f 73 74 72 6f 6e 67 3e 0d 0a  ong>$</strong>..
e740: 20 20 20 20 20 20 70 72 65 66 69 78 20 68 6f 77        prefix how
e750: 65 76 65 72 2c 20 73 69 6e 63 65 20 69 74 73 20  ever, since its 
e760: 6d 6f 72 65 20 63 6f 6d 70 61 74 69 62 6c 65 20  more compatible 
e770: 77 69 74 68 20 74 68 65 20 64 65 66 61 75 6c 74  with the default
e780: 20 53 51 4c 69 74 65 20 65 6e 67 69 6e 65 2e 3c   SQLite engine.<
e790: 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64 20 73 65  /li><li>Added se
e7a0: 76 65 72 61 6c 20 61 6c 74 65 72 6e 61 74 65 20  veral alternate 
e7b0: 49 53 4f 38 36 30 31 20 64 61 74 65 2f 74 69 6d  ISO8601 date/tim
e7c0: 65 20 66 6f 72 6d 61 74 73 20 74 6f 20 53 51 4c  e formats to SQL
e7d0: 69 74 65 43 6f 6e 76 65 72 74 2e 63 73 20 74 6f  iteConvert.cs to
e7e0: 20 69 6e 63 72 65 61 73 65 0d 0a 20 20 20 20 63   increase..    c
e7f0: 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 3c 2f 6c  ompatibility.</l
e800: 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65  i>..      <li>Re
e810: 6c 61 78 65 64 20 63 6f 65 72 73 69 6f 6e 20 72  laxed coersion r
e820: 65 73 74 72 69 63 74 69 6f 6e 73 20 74 6f 20 77  estrictions to w
e830: 6f 72 6b 20 62 65 74 74 65 72 20 77 69 74 68 20  ork better with 
e840: 53 51 4c 69 74 65 27 73 20 69 6e 68 65 72 65 6e  SQLite's inheren
e850: 74 20 74 79 70 65 6c 65 73 73 6e 65 73 73 2e 26  t typelessness.&
e860: 6e 62 73 70 3b 3c 2f 6c 69 3e 0d 0a 20 20 20 20  nbsp;</li>..    
e870: 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </ul>..    <p><b
e880: 3e 31 2e 30 2e 32 32 20 2d 20 4e 6f 76 65 6d 62  >1.0.22 - Novemb
e890: 65 72 20 31 31 2c 20 32 30 30 35 3c 2f 62 3e 3c  er 11, 2005</b><
e8a0: 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20  /p>..    <ul>.. 
e8b0: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 73 6f 6d     <li>Fixed som
e8c0: 65 20 67 6c 6f 62 61 6c 69 7a 61 74 69 6f 6e 20  e globalization 
e8d0: 69 73 73 75 65 73 20 77 68 69 63 68 20 72 65 73  issues which res
e8e0: 75 6c 74 65 64 20 69 6e 20 69 6e 63 6f 72 72 65  ulted in incorre
e8f0: 63 74 20 63 61 73 65 2d 69 6e 73 65 6e 73 69 74  ct case-insensit
e900: 69 76 65 20 63 6f 6d 70 61 72 69 73 6f 6e 73 3c  ive comparisons<
e910: 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e  /li>..      <li>
e920: 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 74  Fixed a bug in t
e930: 68 65 20 72 6f 75 74 69 6e 65 20 74 68 61 74 20  he routine that 
e940: 66 69 6e 64 73 20 61 6c 6c 20 75 73 65 72 2d 64  finds all user-d
e950: 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 73  efined functions
e960: 20 69 6e 20 61 20 6c 6f 61 64 65 64 20 61 73 73   in a loaded ass
e970: 65 6d 62 6c 79 2e 26 6e 62 73 70 3b 0d 0a 20 20  embly.&nbsp;..  
e980: 20 20 20 20 20 20 49 74 20 77 6f 75 6c 64 20 74        It would t
e990: 68 72 6f 77 20 61 6e 20 65 78 63 65 70 74 69 6f  hrow an exceptio
e9a0: 6e 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20  n if any of the 
e9b0: 74 79 70 65 73 20 69 6e 20 74 68 65 20 61 73 73  types in the ass
e9c0: 65 6d 62 6c 79 20 63 6f 75 6c 64 20 6e 6f 74 20  embly could not 
e9d0: 62 65 20 6c 6f 61 64 65 64 2e 26 6e 62 73 70 3b  be loaded.&nbsp;
e9e0: 0d 0a 20 20 20 20 20 20 20 20 54 68 65 20 65 78  ..        The ex
e9f0: 63 65 70 74 69 6f 6e 20 69 73 20 6e 6f 77 20 63  ception is now c
ea00: 61 75 67 68 74 20 61 6e 64 20 68 61 6e 64 6c 65  aught and handle
ea10: 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e  d appropriately.
ea20: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e  </li>..    </ul>
ea30: 0d 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  ..    <p><b>1.0.
ea40: 32 31 20 2d 20 4e 6f 76 65 6d 62 65 72 20 34 2c  21 - November 4,
ea50: 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0d 0a 20   2005</b></p>.. 
ea60: 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20 20 3c     <UL>..      <
ea70: 6c 69 3e 46 69 78 65 64 20 61 20 64 65 73 69 67  li>Fixed a desig
ea80: 6e 65 72 20 62 75 67 20 77 68 65 6e 20 63 72 65  ner bug when cre
ea90: 61 74 69 6e 67 20 74 79 70 65 64 20 64 61 74 61  ating typed data
eaa0: 73 65 74 73 20 77 69 74 68 20 70 61 72 61 6d 65  sets with parame
eab0: 74 65 72 69 7a 65 64 20 71 75 65 72 69 65 73 2e  terized queries.
eac0: 3c 2f 6c 69 3e 0d 0a 20 20 20 20 20 20 3c 6c 69  </li>..      <li
ead0: 3e 54 68 65 20 61 62 6f 76 65 20 66 69 78 20 74  >The above fix t
eae0: 68 65 6e 20 65 78 70 6f 73 65 64 20 61 6e 6f 74  hen exposed anot
eaf0: 68 65 72 20 62 75 67 20 69 6e 20 74 68 65 20 64  her bug in the d
eb00: 61 74 61 72 65 61 64 65 72 27 73 20 61 62 69 6c  atareader's abil
eb10: 69 74 79 20 74 6f 20 71 75 65 72 79 20 73 63 68  ity to query sch
eb20: 65 6d 61 0d 0a 20 20 20 20 20 20 20 20 69 6e 66  ema..        inf
eb30: 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 70 61 72 61  ormation on para
eb40: 6d 65 74 65 72 69 7a 65 64 20 63 6f 6d 6d 61 6e  meterized comman
eb50: 64 73 2c 20 77 68 69 63 68 20 77 61 73 20 61 6c  ds, which was al
eb60: 73 6f 20 66 69 78 65 64 2e 3c 2f 6c 69 3e 0d 0a  so fixed.</li>..
eb70: 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 69 6c        <li>Compil
eb80: 65 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 52  ed against the R
eb90: 54 4d 20 76 65 72 73 69 6f 6e 20 6f 66 20 56 53  TM version of VS
eba0: 32 30 30 35 2e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  2005.</li>..    
ebb0: 20 20 3c 6c 69 3e 52 65 77 72 6f 74 65 20 74 68    <li>Rewrote th
ebc0: 65 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 69 6e  e design-time in
ebd0: 73 74 61 6c 6c 20 73 63 72 69 70 74 20 74 6f 20  stall script to 
ebe0: 75 73 65 20 74 68 65 20 58 4d 4c 20 44 4f 4d 20  use the XML DOM 
ebf0: 6f 62 6a 65 63 74 73 20 77 68 65 6e 20 77 72 69  objects when wri
ec00: 74 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 74 6f  ting..        to
ec10: 20 74 68 65 20 6d 61 63 68 69 6e 65 2e 63 6f 6e   the machine.con
ec20: 66 69 67 20 61 6e 64 20 74 6f 20 61 75 74 6f 6d  fig and to autom
ec30: 61 74 69 63 61 6c 6c 79 20 72 65 67 69 73 74 65  atically registe
ec40: 72 20 74 68 65 20 44 4c 4c 20 69 6e 20 74 68 65  r the DLL in the
ec50: 20 47 41 43 2e 3c 2f 6c 69 3e 3c 6c 69 3e 4d 61   GAC.</li><li>Ma
ec60: 64 65 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68  de changes to th
ec70: 65 20 61 70 70 2e 63 6f 6e 66 69 67 20 64 65 73  e app.config des
ec80: 63 72 69 70 74 69 6f 6e 73 20 61 6e 64 20 68 65  criptions and he
ec90: 6c 70 20 66 69 6c 65 20 74 6f 20 69 6d 70 72 6f  lp file to impro
eca0: 76 65 20 76 65 72 73 69 6f 6e 2d 69 6e 64 65 70  ve version-indep
ecb0: 65 6e 64 65 6e 74 0d 0a 20 20 20 20 20 20 20 20  endent..        
ecc0: 66 61 63 74 6f 72 79 20 73 75 70 70 6f 72 74 2e  factory support.
ecd0: 3c 2f 6c 69 3e 3c 2f 55 4c 3e 0d 0a 20 20 20 20  </li></UL>..    
ece0: 3c 70 3e 3c 62 3e 31 2e 30 2e 32 30 20 2d 20 4f  <p><b>1.0.20 - O
ecf0: 63 74 6f 62 65 72 20 31 39 2c 20 32 30 30 35 3c  ctober 19, 2005<
ed00: 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 55 4c  /b></p>..    <UL
ed10: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 0d 0a 20  >..      <li>.. 
ed20: 20 20 20 20 20 20 20 46 69 78 65 64 20 61 20 73         Fixed a s
ed30: 68 6f 72 74 63 75 74 20 69 6e 20 53 51 4c 69 74  hortcut in SQLit
ed40: 65 42 61 73 65 2e 47 65 74 56 61 6c 75 65 20 77  eBase.GetValue w
ed50: 68 69 63 68 20 77 61 73 20 69 6e 73 75 66 66 69  hich was insuffi
ed60: 63 69 65 6e 74 20 66 6f 72 20 0d 0a 20 20 20 20  cient for ..    
ed70: 20 20 20 20 69 6e 74 65 72 6e 61 74 69 6f 6e 61      internationa
ed80: 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 26  l environments.&
ed90: 6e 62 73 70 3b 20 54 68 65 20 73 68 6f 72 74 63  nbsp; The shortc
eda0: 75 74 20 77 61 73 20 72 65 6d 6f 76 65 64 20 61  ut was removed a
edb0: 6e 64 20 74 68 65 20 22 70 72 6f 70 65 72 22 20  nd the "proper" 
edc0: 0d 0a 20 20 20 20 20 20 20 20 70 72 6f 63 65 64  ..        proced
edd0: 75 72 65 20 70 75 74 20 69 6e 2e 3c 2f 6c 69 3e  ure put in.</li>
ede0: 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </UL>..    <p><b
edf0: 3e 31 2e 30 2e 31 39 20 2d 20 4f 63 74 6f 62 65  >1.0.19 - Octobe
ee00: 72 20 35 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70  r 5, 2005</b></p
ee10: 3e 0d 0a 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20  >..    <UL>..   
ee20: 20 20 20 3c 6c 69 3e 0d 0a 20 20 20 20 20 20 43     <li>..      C
ee30: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
ee40: 51 4c 69 74 65 20 33 2e 32 2e 37 0d 0a 20 20 20  QLite 3.2.7..   
ee50: 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 46     <LI>..      F
ee60: 69 78 65 64 20 62 75 67 73 20 69 6e 20 74 68 65  ixed bugs in the
ee70: 20 43 45 20 70 6f 72 74 20 63 6f 64 65 20 28 6f   CE port code (o
ee80: 73 5f 77 69 6e 63 65 2e 63 29 26 6e 62 73 70 3b  s_wince.c)&nbsp;
ee90: 77 68 69 63 68 20 77 65 72 65 20 62 72 6f 75 67  which were broug
eea0: 68 74 20 74 6f 20 0d 0a 20 20 20 20 20 20 6c 69  ht to ..      li
eeb0: 67 68 74 26 6e 62 73 70 3b 62 79 26 6e 62 73 70  ght&nbsp;by&nbsp
eec0: 3b 72 65 63 65 6e 74 20 63 68 61 6e 67 65 73 20  ;recent changes 
eed0: 69 6e 20 74 68 65 20 53 51 4c 69 74 65 20 65 6e  in the SQLite en
eee0: 67 69 6e 65 2e 0d 0a 20 20 20 20 20 20 3c 4c 49  gine...      <LI
eef0: 3e 0d 0a 20 20 20 20 20 20 20 20 52 65 63 6f 6d  >..        Recom
ef00: 70 69 6c 65 64 20 61 6e 64 20 6d 6f 64 69 66 69  piled and modifi
ef10: 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69  ed to be compati
ef20: 62 6c 65 20 77 69 74 68 20 74 68 65 20 53 65 70  ble with the Sep
ef30: 74 65 6d 62 65 72 20 56 53 32 30 30 35 20 52 65  tember VS2005 Re
ef40: 6c 65 61 73 65 20 0d 0a 20 20 20 20 20 20 20 20  lease ..        
ef50: 43 61 6e 64 69 64 61 74 65 2e 3c 62 72 3e 0d 0a  Candidate.<br>..
ef60: 20 20 20 20 20 20 20 20 42 65 74 61 20 32 20 75          Beta 2 u
ef70: 73 65 72 73 20 73 68 6f 75 6c 64 20 63 6f 6e 74  sers should cont
ef80: 69 6e 75 65 20 74 6f 20 75 73 65 20 31 2e 30 2e  inue to use 1.0.
ef90: 31 38 2e 31 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0d 0a  18.1</LI></UL>..
efa0: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31 38      <p><b>1.0.18
efb0: 2e 31 20 2d 20 53 65 70 74 65 6d 62 65 72 20 31  .1 - September 1
efc0: 39 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0d  9, 2005</b></p>.
efd0: 0a 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20  .    <UL>..     
efe0: 20 3c 6c 69 3e 0d 0a 20 20 20 20 20 20 20 20 43   <li>..        C
eff0: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
f000: 51 4c 69 74 65 20 33 2e 32 2e 36 3c 2f 6c 69 3e  QLite 3.2.6</li>
f010: 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </UL>..    <p><b
f020: 3e 31 2e 30 2e 31 38 20 2d 20 53 65 70 74 65 6d  >1.0.18 - Septem
f030: 62 65 72 20 31 2c 20 32 30 30 35 3c 2f 62 3e 3c  ber 1, 2005</b><
f040: 2f 70 3e 0d 0a 20 20 20 20 3c 55 4c 3e 0d 0a 20  /p>..    <UL>.. 
f050: 20 20 20 20 20 3c 6c 69 3e 0d 0a 20 20 20 20 20       <li>..     
f060: 20 20 20 41 64 64 65 64 20 74 79 70 65 2d 73 70     Added type-sp
f070: 65 63 69 66 69 63 20 6d 65 74 68 6f 64 20 63 61  ecific method ca
f080: 6c 6c 73 20 77 68 65 6e 20 75 73 69 6e 67 20 74  lls when using t
f090: 68 65 20 76 61 72 69 6f 75 73 20 53 51 4c 69 74  he various SQLit
f0a0: 65 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 0d  e classes that .
f0b0: 0a 20 20 20 20 20 20 20 20 77 6f 75 6c 64 27 76  .        would'v
f0c0: 65 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 74 75 72  e normally retur
f0d0: 6e 65 64 20 61 20 61 20 67 65 6e 65 72 69 63 20  ned a a generic 
f0e0: 44 62 20 62 61 73 65 20 63 6c 61 73 73 2c 20 77  Db base class, w
f0f0: 68 69 63 68 20 61 6c 69 67 6e 73 20 74 68 65 20  hich aligns the 
f100: 63 6f 64 65 20 0d 0a 20 20 20 20 20 20 20 20 62  code ..        b
f110: 65 74 74 65 72 20 77 69 74 68 20 74 68 65 20 4d  etter with the M
f120: 69 63 72 6f 73 6f 66 74 2d 73 75 70 70 6c 69 65  icrosoft-supplie
f130: 64 20 64 61 74 61 20 70 72 6f 76 69 64 65 72 73  d data providers
f140: 2e 3c 2f 6c 69 3e 3c 2f 55 4c 3e 0d 0a 20 20 20  .</li></UL>..   
f150: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31 37 20 2d 20   <p><b>1.0.17 - 
f160: 41 75 67 75 73 74 20 32 36 2c 20 32 30 30 35 3c  August 26, 2005<
f170: 2f 62 3e 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c  /b></p>..    <ul
f180: 3e 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 0d 0a 20  >..      <li>.. 
f190: 20 20 20 20 20 43 6f 64 65 20 6d 65 72 67 65 20       Code merge 
f1a0: 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 32 2e  with SQLite 3.2.
f1b0: 35 0d 0a 20 20 20 20 20 20 3c 6c 69 3e 0d 0a 20  5..      <li>.. 
f1c0: 20 20 20 20 20 41 64 64 65 64 20 49 74 61 6e 69       Added Itani
f1d0: 75 6d 20 61 6e 64 20 78 36 34 20 62 75 69 6c 64  um and x64 build
f1e0: 20 73 65 74 74 69 6e 67 73 20 74 6f 20 74 68 65   settings to the
f1f0: 20 70 72 6f 6a 65 63 74 20 28 6e 65 65 64 73 20   project (needs 
f200: 74 65 73 74 69 6e 67 29 0d 0a 20 20 20 20 20 20  testing)..      
f210: 3c 6c 69 3e 0d 0a 20 20 20 20 20 20 42 75 67 66  <li>..      Bugf
f220: 69 78 65 73 20 61 6e 64 20 65 6e 68 61 6e 63 65  ixes and enhance
f230: 6d 65 6e 74 73 20 74 6f 20 73 65 76 65 72 61 6c  ments to several
f240: 20 73 63 68 65 6d 61 20 74 79 70 65 73 0d 0a 20   schema types.. 
f250: 20 20 20 20 20 3c 6c 69 3e 0d 0a 20 20 20 20 20       <li>..     
f260: 20 41 64 64 69 74 69 6f 6e 61 6c 20 64 65 73 69   Additional desi
f270: 67 6e 2d 74 69 6d 65 20 73 75 70 70 6f 72 74 20  gn-time support 
f280: 74 6f 20 69 6e 63 6c 75 64 65 20 69 6e 64 65 78  to include index
f290: 20 61 6e 64 20 66 6f 72 65 69 67 6e 20 6b 65 79   and foreign key
f2a0: 20 0d 0a 20 20 20 20 20 20 65 6e 75 6d 65 72 61   ..      enumera
f2b0: 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 20 52 65 71  tions.&nbsp; Req
f2c0: 75 69 72 65 73 20 72 65 2d 72 65 67 69 73 74 65  uires re-registe
f2d0: 72 69 6e 67 20 74 68 65 20 64 65 73 69 67 6e 65  ring the designe
f2e0: 72 20 75 73 69 6e 67 20 0d 0a 20 20 20 20 20 20  r using ..      
f2f0: 49 4e 53 54 41 4c 4c 2e 43 4d 44 2e 26 6e 62 73  INSTALL.CMD.&nbs
f300: 70 3b 20 54 68 65 20 6e 65 77 20 64 65 73 69 67  p; The new desig
f310: 6e 65 72 20 63 6f 64 65 20 6e 6f 77 20 61 6c 6c  ner code now all
f320: 6f 77 73 20 74 68 65 20 56 53 20 71 75 65 72 79  ows the VS query
f330: 20 64 65 73 69 67 6e 65 72 20 61 6e 64 20 0d 0a   designer and ..
f340: 20 20 20 20 20 20 74 79 70 65 64 20 64 61 74 61        typed data
f350: 73 65 74 73 20 74 6f 20 61 75 74 6f 6d 61 74 69  sets to automati
f360: 63 61 6c 6c 79 20 6c 69 6e 6b 20 75 70 20 66 6f  cally link up fo
f370: 72 65 69 67 6e 20 6b 65 79 73 2c 20 75 73 65 20  reign keys, use 
f380: 69 6e 64 65 78 65 73 2c 20 61 6e 64 20 0d 0a 20  indexes, and .. 
f390: 20 20 20 20 20 61 75 74 6f 6d 61 74 69 63 61 6c       automatical
f3a0: 6c 79 20 67 65 6e 65 72 61 74 65 20 72 65 6c 61  ly generate rela
f3b0: 74 69 6f 6e 73 68 69 70 73 20 66 72 6f 6d 20 74  tionships from t
f3c0: 68 65 20 73 63 68 65 6d 61 2e 3c 6c 69 3e 0d 0a  he schema.<li>..
f3d0: 20 20 20 20 20 20 20 20 41 64 64 69 74 69 6f 6e          Addition
f3e0: 61 6c 20 73 74 61 74 69 63 20 6d 65 74 68 6f 64  al static method
f3f0: 73 20 6f 6e 20 53 51 4c 69 74 65 43 6f 6e 6e 65  s on SQLiteConne
f400: 63 74 69 6f 6e 20 74 6f 20 63 72 65 61 74 65 20  ction to create 
f410: 61 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 2c  a database file,
f420: 20 0d 0a 20 20 20 20 20 20 20 20 65 6e 63 72 79   ..        encry
f430: 70 74 20 61 20 66 69 6c 65 20 75 73 69 6e 67 20  pt a file using 
f440: 74 68 65 20 45 6e 63 72 79 70 74 65 64 20 46 69  the Encrypted Fi
f450: 6c 65 20 53 79 73 74 65 6d 20 28 45 46 53 29 20  le System (EFS) 
f460: 6f 6e 20 4e 54 46 53 20 28 72 65 71 75 69 72 65  on NTFS (require
f470: 73 20 4e 54 20 32 4b 20 6f 72 20 0d 0a 20 20 20  s NT 2K or ..   
f480: 20 20 20 20 20 61 62 6f 76 65 29 20 61 6e 64 20       above) and 
f490: 4e 54 46 53 20 66 69 6c 65 20 63 6f 6d 70 72 65  NTFS file compre
f4a0: 73 73 69 6f 6e 3c 2f 6c 69 3e 0d 0a 20 20 20 20  ssion</li>..    
f4b0: 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e 3c 62  </ul>..    <p><b
f4c0: 3e 31 2e 30 2e 31 36 20 2d 20 41 75 67 75 73 74  >1.0.16 - August
f4d0: 20 32 34 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70   24, 2005</b></p
f4e0: 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d 0a 20 20 20  >..    <ul>..   
f4f0: 20 20 20 3c 6c 69 3e 0d 0a 20 20 20 20 20 20 43     <li>..      C
f500: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
f510: 51 4c 69 74 65 20 33 2e 32 2e 34 20 77 69 74 68  QLite 3.2.4 with
f520: 20 74 68 65 20 6c 61 72 67 65 20 64 65 6c 65 74   the large delet
f530: 65 20 62 75 67 66 69 78 20 69 6e 20 43 56 53 20  e bugfix in CVS 
f540: 28 77 68 69 63 68 20 77 69 6c 6c 20 0d 0a 20 20  (which will ..  
f550: 20 20 20 20 62 65 63 6f 6d 65 20 33 2e 32 2e 35      become 3.2.5
f560: 20 73 6f 6f 6e 29 0d 0a 20 20 20 20 20 20 3c 6c   soon)..      <l
f570: 69 3e 0d 0a 20 20 20 20 20 20 20 20 41 64 64 65  i>..        Adde
f580: 64 20 6e 65 77 20 47 65 74 53 63 68 65 6d 61 28  d new GetSchema(
f590: 29 20 74 79 70 65 73 3a 20 49 6e 64 65 78 43 6f  ) types: IndexCo
f5a0: 6c 75 6d 6e 73 2c 20 56 69 65 77 43 6f 6c 75 6d  lumns, ViewColum
f5b0: 6e 73 2c 20 46 6f 72 65 69 67 6e 4b 65 79 73 3c  ns, ForeignKeys<
f5c0: 2f 6c 69 3e 0d 0a 20 20 20 20 3c 2f 75 6c 3e 0d  /li>..    </ul>.
f5d0: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31  .    <p><b>1.0.1
f5e0: 35 20 2d 20 41 75 67 75 73 74 20 32 32 2c 20 32  5 - August 22, 2
f5f0: 30 30 35 3c 2f 62 3e 3c 62 72 3e 0d 0a 20 20 20  005</b><br>..   
f600: 20 3c 2f 70 3e 0d 0a 20 20 20 20 3c 75 6c 3e 0d   </p>..    <ul>.
f610: 0a 20 20 20 20 20 20 3c 6c 69 3e 0d 0a 20 20 20  .      <li>..   
f620: 20 20 20 43 6f 64 65 20 6d 65 72 67 65 20 77 69     Code merge wi
f630: 74 68 20 53 51 4c 69 74 65 20 33 2e 32 2e 33 0d  th SQLite 3.2.3.
f640: 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20  .      <LI>..   
f650: 20 20 20 20 20 4d 69 6e 6f 72 20 75 70 64 61 74       Minor updat
f660: 65 73 20 66 6f 72 20 62 65 74 74 65 72 20 64 65  es for better de
f670: 73 69 67 6e 2d 74 69 6d 65 20 65 78 70 65 72 69  sign-time experi
f680: 65 6e 63 65 2e 20 4d 6f 72 65 20 64 65 73 69 67  ence. More desig
f690: 6e 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 0d  n-time code to .
f6a0: 0a 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 20  .        follow 
f6b0: 69 6e 20 73 75 62 73 65 71 75 65 6e 74 20 72 65  in subsequent re
f6c0: 6c 65 61 73 65 73 2e 3c 2f 4c 49 3e 0d 0a 20 20  leases.</LI>..  
f6d0: 20 20 3c 2f 75 6c 3e 0d 0a 20 20 20 20 3c 70 3e    </ul>..    <p>
f6e0: 3c 62 3e 31 2e 30 2e 31 34 20 2d 20 41 75 67 75  <b>1.0.14 - Augu
f6f0: 73 74 20 31 36 2c 20 32 30 30 35 3c 2f 62 3e 3c  st 16, 2005</b><
f700: 62 72 3e 0d 0a 20 20 20 20 3c 2f 70 3e 0d 0a 20  br>..    </p>.. 
f710: 20 20 20 3c 75 6c 3e 0d 0a 20 20 20 20 20 20 3c     <ul>..      <
f720: 6c 69 3e 0d 0a 20 20 20 20 20 20 46 69 78 65 64  li>..      Fixed
f730: 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 53 51   a bug in the SQ
f740: 4c 69 74 65 44 61 74 61 41 64 61 70 74 65 72 20  LiteDataAdapter 
f750: 64 75 65 20 74 6f 20 69 6e 73 75 66 66 69 63 69  due to insuffici
f760: 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ent implementati
f770: 6f 6e 20 6f 66 20 74 68 65 20 0d 0a 20 20 20 20  on of the ..    
f780: 20 20 63 6c 61 73 73 2e 26 6e 62 73 70 3b 20 54    class.&nbsp; T
f790: 68 65 20 52 6f 77 55 70 64 61 74 69 6e 67 20 61  he RowUpdating a
f7a0: 6e 64 20 52 6f 77 55 70 64 61 74 65 64 20 65 76  nd RowUpdated ev
f7b0: 65 6e 74 73 20 61 72 65 20 6e 6f 77 20 70 72 6f  ents are now pro
f7c0: 70 65 72 6c 79 20 0d 0a 20 20 20 20 20 20 69 6d  perly ..      im
f7d0: 70 6c 65 6d 65 6e 74 65 64 2c 20 62 75 74 20 75  plemented, but u
f7e0: 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 69 6e 73  nfortunately ins
f7f0: 65 72 74 69 6e 67 20 61 6e 64 20 75 70 64 61 74  erting and updat
f800: 69 6e 67 20 64 61 74 61 20 69 6e 20 61 20 44 61  ing data in a Da
f810: 74 61 54 61 62 6c 65 20 6f 72 20 0d 0a 20 20 20  taTable or ..   
f820: 20 20 20 44 61 74 61 53 65 74 20 69 73 20 6e 6f     DataSet is no
f830: 77 20 6d 75 63 68 20 73 6c 6f 77 65 72 2e 26 6e  w much slower.&n
f840: 62 73 70 3b 20 54 68 69 73 20 69 73 20 74 68 65  bsp; This is the
f850: 20 70 72 6f 70 65 72 20 64 65 73 69 67 6e 20 68   proper design h
f860: 6f 77 65 76 65 72 2c 20 73 6f 20 74 68 65 20 0d  owever, so the .
f870: 0a 20 20 20 20 20 20 63 68 61 6e 67 65 73 20 61  .      changes a
f880: 72 65 20 68 65 72 65 20 74 6f 20 73 74 61 79 2e  re here to stay.
f890: 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20  ..      <LI>..  
f8a0: 20 20 20 20 4c 6f 74 73 20 6f 66 20 73 63 68 65      Lots of sche
f8b0: 6d 61 20 63 68 61 6e 67 65 73 20 74 6f 20 73 75  ma changes to su
f8c0: 70 70 6f 72 74 20 56 69 73 75 61 6c 20 53 74 75  pport Visual Stu
f8d0: 64 69 6f 27 73 20 44 61 74 61 20 44 65 73 69 67  dio's Data Desig
f8e0: 6e 65 72 20 61 72 63 68 69 74 65 63 74 75 72 65  ner architecture
f8f0: 2e 3c 6c 69 3e 41 64 64 65 64 20 0d 0a 20 20 20  .<li>Added ..   
f900: 20 20 20 20 20 44 65 73 69 67 6e 65 72 20 73 75       Designer su
f910: 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 70 72  pport for the pr
f920: 6f 76 69 64 65 72 2e 26 6e 62 73 70 3b 20 49 74  ovider.&nbsp; It
f930: 27 73 20 6e 6f 74 20 31 30 30 25 2c 20 62 75 74  's not 100%, but
f940: 20 79 6f 75 20 63 61 6e 20 64 65 73 69 67 6e 20   you can design 
f950: 0d 0a 20 20 20 20 20 20 20 20 71 75 65 72 69 65  ..        querie
f960: 73 2c 20 61 64 64 20 74 79 70 65 64 20 64 61 74  s, add typed dat
f970: 61 73 65 74 73 20 61 6e 64 20 70 65 72 66 6f 72  asets and perfor
f980: 6d 20 71 75 69 74 65 20 61 20 6e 75 6d 62 65 72  m quite a number
f990: 20 6f 66 20 74 61 73 6b 73 20 61 6c 6c 20 77 69   of tasks all wi
f9a0: 74 68 69 6e 20 0d 0a 20 20 20 20 20 20 20 20 56  thin ..        V
f9b0: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 6e 6f 77  isual Studio now
f9c0: 2e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0d 0a 20 20 20  .</li></ul>..   
f9d0: 20 3c 50 3e 3c 42 3e 31 2e 30 2e 31 33 20 2d 20   <P><B>1.0.13 - 
f9e0: 41 75 67 75 73 74 20 38 2c 20 32 30 30 35 3c 2f  August 8, 2005</
f9f0: 42 3e 3c 42 52 3e 0d 0a 20 20 20 20 3c 2f 50 3e  B><BR>..    </P>
fa00: 0d 0a 20 20 20 20 3c 44 49 56 3e 0d 0a 20 20 20  ..    <DIV>..   
fa10: 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20 20 20     <UL>..       
fa20: 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 20 20 46   <LI>..        F
fa30: 69 78 65 64 20 61 20 6e 61 6d 65 64 20 70 61 72  ixed a named par
fa40: 61 6d 65 74 65 72 20 62 75 67 20 69 6e 20 74 68  ameter bug in th
fa50: 65 20 62 61 73 65 20 53 51 4c 69 74 65 5f 55 54  e base SQLite_UT
fa60: 46 31 36 20 63 6c 61 73 73 2c 20 77 68 69 63 68  F16 class, which
fa70: 20 6f 66 20 63 6f 75 72 73 65 20 0d 0a 20 20 20   of course ..   
fa80: 20 20 20 20 20 6f 6e 6c 79 20 73 68 6f 77 65 64       only showed
fa90: 20 75 70 20 77 68 65 6e 20 61 20 64 61 74 61 62   up when a datab
faa0: 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77  ase connection w
fab0: 61 73 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20  as opened using 
fac0: 74 68 65 20 0d 0a 20 20 20 20 20 20 20 20 55 73  the ..        Us
fad0: 65 55 54 46 31 36 45 6e 63 6f 64 69 6e 67 3d 54  eUTF16Encoding=T
fae0: 72 75 65 20 70 61 72 61 6d 65 74 65 72 2e 0d 0a  rue parameter...
faf0: 20 20 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20          <LI>..  
fb00: 20 20 20 20 20 20 20 20 46 69 78 65 64 20 61 20          Fixed a 
fb10: 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 73 73 75  performance issu
fb20: 65 20 69 6e 20 53 51 4c 69 74 65 5f 55 54 46 31  e in SQLite_UTF1
fb30: 36 20 69 6e 76 6f 6c 76 69 6e 67 20 73 74 72 69  6 involving stri
fb40: 6e 67 20 6d 61 72 73 68 61 6c 69 6e 67 2e 3c 2f  ng marshaling.</
fb50: 4c 49 3e 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 2f  LI></UL>..    </
fb60: 44 49 56 3e 0d 0a 20 20 20 20 3c 50 3e 3c 42 3e  DIV>..    <P><B>
fb70: 31 2e 30 2e 31 32 20 2d 20 41 75 67 75 73 74 20  1.0.12 - August 
fb80: 35 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0d  5, 2005</B><BR>.
fb90: 0a 20 20 20 20 3c 2f 50 3e 0d 0a 20 20 20 20 3c  .    </P>..    <
fba0: 44 49 56 3e 0d 0a 20 20 20 20 20 20 3c 55 4c 3e  DIV>..      <UL>
fbb0: 0d 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0d 0a  ..        <LI>..
fbc0: 20 20 20 20 20 20 20 20 20 20 46 75 6c 6c 20 73            Full s
fbd0: 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 43  upport for the C
fbe0: 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b  ompact Framework
fbf0: 2e 26 6e 62 73 70 3b 20 45 61 63 68 20 62 75 69  .&nbsp; Each bui
fc00: 6c 64 20 28 44 65 62 75 67 2f 52 65 6c 65 61 73  ld (Debug/Releas
fc10: 65 29 20 6e 6f 77 20 0d 0a 20 20 20 20 20 20 20  e) now ..       
fc20: 20 20 20 68 61 73 20 61 26 6e 62 73 70 3b 70 6c     has a&nbsp;pl
fc30: 61 74 66 6f 72 6d 2c 20 65 69 74 68 65 72 20 57  atform, either W
fc40: 69 6e 33 32 20 6f 72 20 43 6f 6d 70 61 63 74 20  in32 or Compact 
fc50: 46 72 61 6d 65 77 6f 72 6b 2e 26 6e 62 73 70 3b  Framework.&nbsp;
fc60: 20 54 68 65 20 63 6f 72 72 65 63 74 20 0d 0a 20   The correct .. 
fc70: 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74           project
fc80: 73 20 61 72 65 20 62 75 69 6c 74 20 61 63 63 6f  s are built acco
fc90: 72 64 69 6e 67 6c 79 2e 26 6e 62 73 70 3b 20 53  rdingly.&nbsp; S
fca0: 65 65 20 74 68 65 26 6e 62 73 70 3b 3c 41 20 68  ee the&nbsp;<A h
fcb0: 72 65 66 3d 22 23 72 65 64 69 73 74 22 3e 44 69  ref="#redist">Di
fcc0: 73 74 72 69 62 75 74 69 6e 67 20 0d 0a 20 20 20  stributing ..   
fcd0: 20 20 20 20 20 20 20 20 20 53 51 4c 69 74 65 3c           SQLite<
fce0: 2f 41 3e 0d 0a 20 20 20 20 20 20 20 20 73 65 63  /A>..        sec
fcf0: 74 69 6f 6e 20 66 6f 72 20 69 6e 66 6f 72 6d 61  tion for informa
fd00: 74 69 6f 6e 20 6f 6e 20 77 68 61 74 20 66 69 6c  tion on what fil
fd10: 65 73 20 6e 65 65 64 20 74 6f 20 62 65 20 64 69  es need to be di
fd20: 73 74 72 69 62 75 74 65 64 20 66 6f 72 20 65 61  stributed for ea
fd30: 63 68 20 0d 0a 20 20 20 20 20 20 20 20 70 6c 61  ch ..        pla
fd40: 74 66 6f 72 6d 2e 26 6e 62 73 70 3b 0d 0a 20 20  tform.&nbsp;..  
fd50: 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
fd60: 20 20 20 20 4d 6f 64 69 66 69 65 64 20 53 51 4c      Modified SQL
fd70: 69 74 65 33 2e 52 65 73 65 74 28 29 20 61 6e 64  ite3.Reset() and
fd80: 20 53 74 65 70 28 29 20 66 75 6e 63 74 69 6f 6e   Step() function
fd90: 73 20 74 6f 20 74 72 61 6e 73 70 61 72 65 6e 74  s to transparent
fda0: 6c 79 20 68 61 6e 64 6c 65 20 74 69 6d 65 6f 75  ly handle timeou
fdb0: 74 73 20 0d 0a 20 20 20 20 20 20 20 20 77 68 69  ts ..        whi
fdc0: 6c 65 20 77 61 69 74 69 6e 67 20 6f 6e 20 74 68  le waiting on th
fdd0: 65 20 64 61 74 61 62 61 73 65 20 74 6f 20 62 65  e database to be
fde0: 63 6f 6d 65 20 61 76 61 69 6c 61 62 6c 65 20 28  come available (
fdf0: 74 79 70 69 63 61 6c 6c 79 20 77 68 65 6e 20 61  typically when a
fe00: 20 77 72 69 74 65 72 20 69 73 20 0d 0a 20 20 20   writer is ..   
fe10: 20 20 20 20 20 77 61 69 74 69 6e 67 20 6f 6e 20       waiting on 
fe20: 61 20 72 65 61 64 65 72 20 74 6f 20 66 69 6e 69  a reader to fini
fe30: 73 68 2c 20 6f 72 20 61 20 72 65 61 64 65 72 20  sh, or a reader 
fe40: 69 73 20 77 61 69 74 69 6e 67 20 6f 6e 20 61 20  is waiting on a 
fe50: 77 72 69 74 65 72 20 74 6f 20 66 69 6e 69 73 68  writer to finish
fe60: 29 2e 0d 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e  )...        <LI>
fe70: 0d 0a 20 20 20 20 20 20 20 20 4c 6f 74 73 20 6f  ..        Lots o
fe80: 66 20 63 6f 64 65 20 63 6c 65 61 6e 75 70 26 6e  f code cleanup&n
fe90: 62 73 70 3b 61 73 20 73 75 67 67 65 73 74 65 64  bsp;as suggested
fea0: 26 6e 62 73 70 3b 62 79 20 74 68 65 20 43 6f 64  &nbsp;by the Cod
feb0: 65 20 41 6e 61 6c 79 7a 65 72 20 28 46 78 43 6f  e Analyzer (FxCo
fec0: 70 29 2e 0d 0a 20 20 20 20 20 20 20 20 3c 4c 49  p)...        <LI
fed0: 3e 0d 0a 20 20 20 20 20 20 20 20 4c 6f 74 73 20  >..        Lots 
fee0: 6f 66 20 75 70 64 61 74 65 73 20 74 6f 20 74 68  of updates to th
fef0: 65 20 68 65 6c 70 66 69 6c 65 20 28 61 73 20 79  e helpfile (as y
ff00: 6f 75 20 63 61 6e 20 73 65 65 29 2e 0d 0a 20 20  ou can see)...  
ff10: 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
ff20: 20 20 20 20 20 20 53 74 61 74 65 6d 65 6e 74 73        Statements
ff30: 26 6e 62 73 70 3b 77 65 72 65 20 61 6c 72 65 61  &nbsp;were alrea
ff40: 64 79 20 70 72 65 70 61 72 65 64 20 6c 61 7a 69  dy prepared lazi
ff50: 6c 79 26 6e 62 73 70 3b 69 6e 20 61 20 53 51 4c  ly&nbsp;in a SQL
ff60: 69 74 65 43 6f 6d 6d 61 6e 64 2c 20 62 75 74 20  iteCommand, but 
ff70: 6e 6f 77 20 0d 0a 20 20 20 20 20 20 20 20 20 20  now ..          
ff80: 69 74 73 20 65 76 65 6e 20 6d 6f 72 65 20 6c 61  its even more la
ff90: 7a 79 2e 26 6e 62 73 70 3b 20 53 74 61 74 65 6d  zy.&nbsp; Statem
ffa0: 65 6e 74 73 20 61 72 65 20 6e 6f 77 20 6f 6e 6c  ents are now onl
ffb0: 79 20 70 72 65 70 61 72 65 64 20 69 66 20 74 68  y prepared if th
ffc0: 65 20 73 74 61 74 65 6d 65 6e 74 73 20 0d 0a 20  e statements .. 
ffd0: 20 20 20 20 20 20 20 20 20 68 61 76 65 6e 27 74           haven't
ffe0: 20 62 65 65 6e 20 70 72 65 76 69 6f 75 73 6c 79   been previously
fff0: 20 70 72 65 70 61 72 65 64 20 61 6e 64 20 61 20   prepared and a 
10000 50 72 65 70 61 72 65 28 29 20 66 75 6e 63 74 69  Prepare() functi
10010 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 28 61 6e  on is called (an
10020 64 20 74 68 65 20 0d 0a 20 20 20 20 20 20 20 20  d the ..        
10030 20 20 63 6f 6d 6d 61 6e 64 20 69 73 20 61 73 73    command is ass
10040 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 63  ociated with a c
10050 6f 6e 6e 65 63 74 69 6f 6e 29 20 6f 72 20 6a 75  onnection) or ju
10060 73 74 20 70 72 69 6f 72 20 74 6f 20 74 68 65 20  st prior to the 
10070 63 6f 6d 6d 61 6e 64 20 62 65 69 6e 67 20 0d 0a  command being ..
10080 20 20 20 20 20 20 20 20 20 20 65 78 65 63 75 74            execut
10090 65 64 2e 26 6e 62 73 70 3b 3c 2f 4c 49 3e 3c 2f  ed.&nbsp;</LI></
100a0 55 4c 3e 0d 0a 20 20 20 20 3c 2f 44 49 56 3e 0d  UL>..    </DIV>.
100b0 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 31  .    <P><B>1.0.1
100c0 31 20 2d 20 41 75 67 75 73 74 20 31 2c 20 32 30  1 - August 1, 20
100d0 30 35 3c 2f 42 3e 3c 42 52 3e 0d 0a 20 20 20 20  05</B><BR>..    
100e0 3c 2f 50 3e 0d 0a 20 20 20 20 3c 55 4c 3e 0d 0a  </P>..    <UL>..
100f0 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
10100 20 20 20 20 3c 53 54 52 4f 4e 47 3e 46 6f 72 20      <STRONG>For 
10110 65 76 65 72 79 74 68 69 6e 67 20 65 78 63 65 70  everything excep
10120 74 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72  t the Compact Fr
10130 61 6d 65 77 6f 72 6b 2c 20 53 79 73 74 65 6d 2e  amework, System.
10140 44 61 74 61 2e 53 51 4c 69 74 65 2e 44 4c 4c 20  Data.SQLite.DLL 
10150 69 73 20 0d 0a 20 20 20 20 20 20 20 20 20 20 6e  is ..          n
10160 6f 77 20 74 68 65 20 3c 45 4d 3e 6f 6e 6c 79 3c  ow the <EM>only<
10170 2f 45 4d 3e 20 44 4c 4c 20 72 65 71 75 69 72 65  /EM> DLL require
10180 64 20 74 6f 20 75 73 65 20 74 68 69 73 20 70 72  d to use this pr
10190 6f 76 69 64 65 72 21 3c 2f 53 54 52 4f 4e 47 3e  ovider!</STRONG>
101a0 26 6e 62 73 70 3b 20 54 68 65 20 0d 0a 20 20 20  &nbsp; The ..   
101b0 20 20 20 61 73 73 65 6d 62 6c 79 20 69 73 20 6e     assembly is n
101c0 6f 77 20 61 20 6d 75 6c 74 69 2d 6d 6f 64 75 6c  ow a multi-modul
101d0 65 20 61 73 73 65 6d 62 6c 79 2c 20 63 6f 6e 74  e assembly, cont
101e0 61 69 6e 69 6e 67 20 62 6f 74 68 20 74 68 65 20  aining both the 
101f0 6e 61 74 69 76 65 20 53 51 4c 69 74 65 33 20 0d  native SQLite3 .
10200 0a 20 20 20 20 20 20 63 6f 64 65 62 61 73 65 20  .      codebase 
10210 61 6e 64 20 74 68 65 20 43 23 20 63 6c 61 73 73  and the C# class
10220 65 73 20 62 75 69 6c 74 20 6f 6e 20 74 6f 70 20  es built on top 
10230 6f 66 20 69 74 2e 26 6e 62 73 70 3b 20 54 68 65  of it.&nbsp; The
10240 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
10250 72 6b 20 0d 0a 20 20 20 20 20 20 76 65 72 73 69  rk ..      versi
10260 6f 6e 20 28 77 68 65 6e 20 63 6f 6d 70 6c 65 74  on (when complet
10270 65 64 29 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20  ed) will not be 
10280 61 62 6c 65 20 74 6f 20 73 75 70 70 6f 72 74 20  able to support 
10290 74 68 69 73 20 66 65 61 74 75 72 65 2c 20 73 6f  this feature, so
102a0 20 62 61 63 6b 77 61 72 64 73 20 0d 0a 20 20 20   backwards ..   
102b0 20 20 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79     compatibility
102c0 20 77 69 74 68 20 74 68 65 20 43 6f 6d 70 61 63   with the Compac
102d0 74 20 46 72 61 6d 65 77 6f 72 6b 20 68 61 73 20  t Framework has 
102e0 62 65 65 6e 20 70 72 65 73 65 72 76 65 64 20 66  been preserved f
102f0 6f 72 20 74 68 65 20 66 75 74 75 72 65 2e 0d 0a  or the future...
10300 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
10310 20 20 20 20 46 69 78 65 64 20 61 20 62 75 67 20      Fixed a bug 
10320 69 6e 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64  in SQLiteCommand
10330 2e 45 78 65 63 75 74 65 53 63 61 6c 61 72 28 29  .ExecuteScalar()
10340 20 74 68 61 74 20 63 61 75 73 65 64 20 69 74 20   that caused it 
10350 74 6f 20 73 74 6f 70 20 65 78 65 63 75 74 69 6e  to stop executin
10360 67 20 0d 0a 20 20 20 20 20 20 20 20 63 6f 6d 6d  g ..        comm
10370 61 6e 64 73 20 6f 6e 63 65 20 69 74 20 6f 62 74  ands once it obt
10380 61 69 6e 65 64 20 74 68 65 20 66 69 72 73 74 20  ained the first 
10390 63 6f 6c 75 6d 6e 20 6f 66 20 74 68 65 20 66 69  column of the fi
103a0 72 73 74 20 72 6f 77 2d 72 65 74 75 72 6e 69 6e  rst row-returnin
103b0 67 20 0d 0a 20 20 20 20 20 20 20 20 72 65 73 75  g ..        resu
103c0 6c 74 73 65 74 2e 26 6e 62 73 70 3b 20 41 6e 79  ltset.&nbsp; Any
103d0 20 72 65 6d 61 69 6e 69 6e 67 20 73 74 61 74 65   remaining state
103e0 6d 65 6e 74 73 20 61 66 74 65 72 20 74 68 65 20  ments after the 
103f0 72 6f 77 2d 72 65 74 75 72 6e 69 6e 67 20 73 74  row-returning st
10400 61 74 65 6d 65 6e 74 20 77 61 73 20 0d 0a 20 20  atement was ..  
10410 20 20 20 20 20 20 69 67 6e 6f 72 65 64 2e 0d 0a        ignored...
10420 20 20 20 20 20 20 3c 2f 4c 49 3e 0d 0a 20 20 20        </LI>..   
10430 20 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 50 3e 3c   </UL>..    <P><
10440 42 3e 31 2e 30 2e 31 30 20 2d 20 4a 75 6e 65 20  B>1.0.10 - June 
10450 31 30 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e  10, 2005</B><BR>
10460 0d 0a 20 20 20 20 3c 2f 50 3e 0d 0a 20 20 20 20  ..    </P>..    
10470 3c 55 4c 3e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e  <UL>..      <LI>
10480 0d 0a 20 20 20 20 20 20 46 69 78 65 64 20 61 20  ..      Fixed a 
10490 62 75 67 20 69 6e 20 74 68 65 20 53 51 4c 69 74  bug in the SQLit
104a0 65 33 2e 63 73 20 50 72 65 70 61 72 65 28 29 20  e3.cs Prepare() 
104b0 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 72  function that cr
104c0 65 61 74 65 64 20 61 20 73 74 61 74 65 6d 65 6e  eated a statemen
104d0 74 20 65 76 65 6e 20 0d 0a 20 20 20 20 20 20 77  t even ..      w
104e0 68 65 6e 20 74 68 65 20 53 51 4c 69 74 65 20 65  hen the SQLite e
104f0 6e 67 69 6e 65 20 72 65 74 75 72 6e 65 64 20 61  ngine returned a
10500 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72 2e 20 54   NULL pointer. T
10510 79 70 69 63 61 6c 6c 79 20 74 68 69 73 20 6f 63  ypically this oc
10520 63 75 72 73 20 77 68 65 6e 20 0d 0a 20 20 20 20  curs when ..    
10530 20 20 6d 75 6c 74 69 70 6c 65 20 73 74 61 74 65    multiple state
10540 6d 65 6e 74 73 20 61 72 65 20 70 72 6f 63 65 73  ments are proces
10550 73 65 64 20 61 6e 64 20 74 68 65 72 65 20 61 72  sed and there ar
10560 65 20 74 72 61 69 6c 69 6e 67 20 63 6f 6d 6d 65  e trailing comme
10570 6e 74 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f  nts at the end o
10580 66 20 0d 0a 20 20 20 20 20 20 74 68 65 20 73 74  f ..      the st
10590 61 74 65 6d 65 6e 74 2e 0d 0a 20 20 20 20 20 20  atement...      
105a0 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 20 20 46 69  <LI>..        Fi
105b0 78 65 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c  xed a bug in SQL
105c0 69 74 65 53 74 61 74 65 6d 65 6e 74 2e 63 73 20  iteStatement.cs 
105d0 74 68 61 74 20 72 65 74 72 69 65 76 65 64 20 70  that retrieved p
105e0 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 66  arameter names f
105f0 6f 72 20 61 20 0d 0a 20 20 20 20 20 20 20 20 70  or a ..        p
10600 61 72 61 6d 65 74 65 72 69 7a 65 64 20 71 75 65  arameterized que
10610 72 79 2e 26 6e 62 73 70 3b 20 53 51 4c 69 74 65  ry.&nbsp; SQLite
10620 27 73 20 70 61 72 61 6d 65 74 65 72 73 20 61 72  's parameters ar
10630 65 20 31 2d 62 61 73 65 64 2c 20 61 6e 64 20 74  e 1-based, and t
10640 68 65 20 66 75 6e 63 74 69 6f 6e 20 0d 0a 20 20  he function ..  
10650 20 20 20 20 20 20 77 61 73 20 73 74 61 72 74 69        was starti
10660 6e 67 20 61 74 20 30 2e 26 6e 62 73 70 3b 20 54  ng at 0.&nbsp; T
10670 68 69 73 20 77 61 73 20 66 69 6e 65 20 77 68 65  his was fine whe
10680 6e 20 61 6c 6c 20 70 61 72 61 6d 65 74 65 72 73  n all parameters
10690 20 77 65 72 65 20 75 6e 6e 61 6d 65 64 2c 20 62   were unnamed, b
106a0 75 74 20 0d 0a 20 20 20 20 20 20 20 20 66 6f 72  ut ..        for
106b0 20 6e 61 6d 65 64 20 70 61 72 61 6d 65 74 65 72   named parameter
106c0 73 20 69 74 20 63 61 75 73 65 64 20 74 68 65 20  s it caused the 
106d0 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 62 65  parameters to be
106e0 20 6f 75 74 20 6f 66 20 77 68 61 63 6b 2e 0d 0a   out of whack...
106f0 20 20 20 20 20 20 3c 2f 4c 49 3e 0d 0a 20 20 20        </LI>..   
10700 20 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 50 3e 3c   </UL>..    <P><
10710 42 3e 31 2e 30 2e 30 39 61 20 2d 20 4d 61 79 20  B>1.0.09a - May 
10720 32 35 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e  25, 2005</B><BR>
10730 0d 0a 20 20 20 20 3c 2f 50 3e 0d 0a 20 20 20 20  ..    </P>..    
10740 3c 55 4c 3e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e  <UL>..      <LI>
10750 0d 0a 20 20 20 20 20 20 46 69 78 65 64 20 61 20  ..      Fixed a 
10760 62 72 6f 6b 65 6e 20 68 65 6c 70 66 69 6c 65 20  broken helpfile 
10770 61 6e 64 20 63 6f 72 72 65 63 74 65 64 20 73 6f  and corrected so
10780 6d 65 20 6f 62 73 6f 6c 65 74 65 20 68 65 6c 70  me obsolete help
10790 20 72 65 6d 61 72 6b 73 20 69 6e 20 0d 0a 20 20   remarks in ..  
107a0 20 20 20 20 53 51 4c 69 74 65 46 75 6e 63 74 69      SQLiteFuncti
107b0 6f 6e 2e 63 73 0d 0a 20 20 20 20 20 20 3c 4c 49  on.cs..      <LI
107c0 3e 0d 0a 20 20 20 20 20 20 20 20 41 64 64 65 64  >..        Added
107d0 20 61 20 76 65 72 73 69 6f 6e 20 72 65 73 6f 75   a version resou
107e0 72 63 65 20 74 6f 20 74 68 65 20 53 51 4c 69 74  rce to the SQLit
107f0 65 2e 49 6e 74 65 72 6f 70 2e 44 4c 4c 2e 26 6e  e.Interop.DLL.&n
10800 62 73 70 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0d 0a  bsp;</LI></UL>..
10810 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 39      <P><B>1.0.09
10820 20 2d 20 4d 61 79 20 32 34 2c 20 32 30 30 35 3c   - May 24, 2005<
10830 2f 42 3e 3c 42 52 3e 0d 0a 20 20 20 20 3c 2f 50  /B><BR>..    </P
10840 3e 0d 0a 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20  >..    <UL>..   
10850 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 43     <LI>..      C
10860 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 74  ode merge with t
10870 68 65 20 6c 61 74 65 73 74 20 33 2e 32 31 20 76  he latest 3.21 v
10880 65 72 73 69 6f 6e 20 6f 66 20 53 51 4c 69 74 65  ersion of SQLite
10890 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20  ...      <LI>.. 
108a0 20 20 20 20 20 20 20 52 65 6d 6f 76 65 64 20 6f         Removed o
108b0 62 73 6f 6c 65 74 65 20 6d 65 74 68 6f 64 73 20  bsolete methods 
108c0 61 6e 64 20 70 72 6f 70 65 72 74 69 65 73 20 66  and properties f
108d0 6f 72 20 57 68 69 64 62 65 79 20 42 65 74 61 20  or Whidbey Beta 
108e0 32 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0d 0a 20 20 20  2</LI></UL>..   
108f0 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 38 20 52 65   <P><B>1.0.08 Re
10900 66 72 65 73 68 20 2d 20 4d 61 72 20 32 34 2c 20  fresh - Mar 24, 
10910 32 30 30 35 3c 42 52 3e 0d 0a 20 20 20 20 20 20  2005<BR>..      
10920 3c 2f 42 3e 0d 0a 20 20 20 20 3c 2f 50 3e 0d 0a  </B>..    </P>..
10930 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20 20      <UL>..      
10940 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 43 6f 64 65  <LI>..      Code
10950 20 6d 65 72 67 65 20 77 69 74 68 20 74 68 65 20   merge with the 
10960 6c 61 74 65 73 74 20 33 2e 32 30 20 76 65 72 73  latest 3.20 vers
10970 69 6f 6e 20 6f 66 20 53 51 4c 69 74 65 2e 0d 0a  ion of SQLite...
10980 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
10990 20 20 20 20 52 65 63 6f 6d 70 69 6c 65 64 20 74      Recompiled t
109a0 68 65 20 68 65 6c 70 20 66 69 6c 65 20 74 6f 20  he help file to 
109b0 66 69 78 20 61 20 62 75 69 6c 64 20 65 72 72 6f  fix a build erro
109c0 72 20 69 6e 20 69 74 2e 0d 0a 20 20 20 20 20 20  r in it...      
109d0 3c 2f 4c 49 3e 0d 0a 20 20 20 20 3c 2f 55 4c 3e  </LI>..    </UL>
109e0 0d 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e  ..    <P><B>1.0.
109f0 30 38 20 2d 20 4d 61 72 20 31 31 2c 20 32 30 30  08 - Mar 11, 200
10a00 35 3c 42 52 3e 0d 0a 20 20 20 20 20 20 3c 2f 42  5<BR>..      </B
10a10 3e 0d 0a 20 20 20 20 3c 2f 50 3e 0d 0a 20 20 20  >..    </P>..   
10a20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20 20 3c 4c 49   <UL>..      <LI
10a30 3e 0d 0a 20 20 20 20 20 20 41 64 64 65 64 20 61  >..      Added a
10a40 64 64 69 74 69 6f 6e 61 6c 20 23 69 66 20 73 74  dditional #if st
10a50 61 74 65 6d 65 6e 74 73 20 74 6f 20 73 75 70 70  atements to supp
10a60 6f 72 74 20 74 68 65 20 6f 6c 64 20 62 65 74 61  ort the old beta
10a70 20 31 20 65 64 69 74 69 6f 6e 20 6f 66 20 56 53   1 edition of VS
10a80 32 30 30 35 2e 0d 0a 20 20 20 20 20 20 3c 4c 49  2005...      <LI
10a90 3e 0d 0a 20 20 20 20 20 20 20 20 43 6f 64 65 20  >..        Code 
10aa0 6d 65 72 67 65 64 20 74 68 65 20 53 51 4c 69 74  merged the SQLit
10ab0 65 20 33 2e 31 34 20 73 6f 75 72 63 65 2e 0d 0a  e 3.14 source...
10ac0 20 20 20 20 20 20 3c 2f 4c 49 3e 0d 0a 20 20 20        </LI>..   
10ad0 20 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 50 3e 3c   </UL>..    <P><
10ae0 42 3e 31 2e 30 2e 30 37 20 2d 20 4d 61 72 20 35  B>1.0.07 - Mar 5
10af0 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0d 0a  , 2005</B><BR>..
10b00 20 20 20 20 3c 2f 50 3e 0d 0a 20 20 20 20 3c 55      </P>..    <U
10b10 4c 3e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a  L>..      <LI>..
10b20 20 20 20 20 20 20 4d 61 64 65 20 6d 6f 72 65 20        Made more 
10b30 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 74 6f  optimizations to
10b40 20 66 72 65 71 75 65 6e 74 6c 79 2d 63 61 6c 6c   frequently-call
10b50 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 72 65  ed functions, re
10b60 73 75 6c 74 69 6e 67 20 69 6e 20 0d 0a 20 20 20  sulting in ..   
10b70 20 20 20 73 69 67 6e 69 66 69 63 61 6e 74 20 70     significant p
10b80 65 72 66 6f 72 6d 61 6e 63 65 20 67 61 69 6e 73  erformance gains
10b90 20 69 6e 20 61 6c 6c 20 74 65 73 74 73 2e 0d 0a   in all tests...
10ba0 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
10bb0 20 20 20 20 52 65 63 6f 6d 70 69 6c 65 64 20 74      Recompiled t
10bc0 68 65 20 62 69 6e 61 72 69 65 73 20 75 73 69 6e  he binaries usin
10bd0 67 20 74 68 65 20 6c 61 74 65 73 74 20 56 53 32  g the latest VS2
10be0 30 30 35 20 46 65 62 72 75 61 72 79 20 43 54 50  005 February CTP
10bf0 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 79  , resulting in y
10c00 65 74 20 0d 0a 20 20 20 20 20 20 20 20 6d 6f 72  et ..        mor
10c10 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 73 70  e significant sp
10c20 65 65 64 20 67 61 69 6e 73 2e 26 6e 62 73 70 3b  eed gains.&nbsp;
10c30 20 54 68 65 20 31 30 30 6b 20 69 6e 73 65 72 74   The 100k insert
10c40 20 74 65 73 74 20 75 73 65 64 20 74 6f 20 74 61   test used to ta
10c50 6b 65 20 33 2e 35 20 0d 0a 20 20 20 20 20 20 20  ke 3.5 ..       
10c60 20 73 65 63 6f 6e 64 73 20 61 6e 64 20 74 68 65   seconds and the
10c70 20 69 6e 73 65 72 74 77 69 74 68 69 64 65 6e 74   insertwithident
10c80 69 74 79 20 74 6f 6f 6b 20 61 6c 6d 6f 73 74 20  ity took almost 
10c90 38 20 73 65 63 6f 6e 64 73 2e 26 6e 62 73 70 3b  8 seconds.&nbsp;
10ca0 20 57 69 74 68 20 74 68 65 20 61 62 6f 76 65 20   With the above 
10cb0 0d 0a 20 20 20 20 20 20 20 20 74 77 6f 20 63 68  ..        two ch
10cc0 61 6e 67 65 73 2c 20 74 68 6f 73 65 20 74 65 73  anges, those tes
10cd0 74 73 20 61 72 65 20 6e 6f 77 20 65 78 65 63 75  ts are now execu
10ce0 74 69 6e 67 20 69 6e 20 31 2e 39 20 61 6e 64 20  ting in 1.9 and 
10cf0 34 2e 39 20 73 65 63 6f 6e 64 73 20 72 65 73 70  4.9 seconds resp
10d00 65 63 74 69 76 65 6c 79 2e 3c 2f 4c 49 3e 3c 2f  ectively.</LI></
10d10 55 4c 3e 0d 0a 20 20 20 20 3c 50 3e 3c 42 3e 31  UL>..    <P><B>1
10d20 2e 30 2e 30 36 20 2d 20 4d 61 72 20 31 2c 20 32  .0.06 - Mar 1, 2
10d30 30 30 35 3c 42 52 3e 0d 0a 20 20 20 20 20 20 3c  005<BR>..      <
10d40 2f 42 3e 0d 0a 20 20 20 20 3c 2f 50 3e 0d 0a 20  /B>..    </P>.. 
10d50 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20 20 3c     <UL>..      <
10d60 4c 49 3e 0d 0a 20 20 20 20 20 20 53 70 65 65 64  LI>..      Speed
10d70 2d 75 70 73 20 74 6f 20 53 51 4c 69 74 65 44 61  -ups to SQLiteDa
10d80 74 61 52 65 61 64 65 72 2e 26 6e 62 73 70 3b 20  taReader.&nbsp; 
10d90 49 74 20 77 61 73 20 69 6e 74 65 72 6f 70 27 69  It was interop'i
10da0 6e 67 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79  ng unnecessarily
10db0 20 65 76 65 72 79 20 0d 0a 20 20 20 20 20 20 74   every ..      t
10dc0 69 6d 65 20 69 74 20 74 72 69 65 64 20 74 6f 20  ime it tried to 
10dd0 66 65 74 63 68 20 61 20 66 69 65 6c 64 20 64 75  fetch a field du
10de0 65 20 74 6f 20 61 20 6c 6f 67 69 63 20 65 72 72  e to a logic err
10df0 6f 72 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d  or...      <LI>.
10e00 0a 20 20 20 20 20 20 43 68 61 6e 67 65 64 2f 41  .      Changed/A
10e10 64 64 65 64 20 73 6f 6d 65 20 63 6f 64 65 20 74  dded some code t
10e20 6f 20 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 27  o SQLiteConvert'
10e30 73 20 69 6e 74 65 72 6e 61 6c 20 44 62 54 79 70  s internal DbTyp
10e40 65 2c 20 54 79 70 65 20 61 6e 64 20 0d 0a 20 20  e, Type and ..  
10e50 20 20 20 20 54 79 70 65 41 66 66 69 6e 69 74 79      TypeAffinity
10e60 20 66 75 6e 63 74 69 6f 6e 73 2e 0d 0a 20 20 20   functions...   
10e70 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 46     <LI>..      F
10e80 69 78 65 64 20 74 68 65 20 53 51 4c 69 74 65 44  ixed the SQLiteD
10e90 61 74 61 52 65 61 64 65 72 20 74 6f 20 6f 62 65  ataReader to obe
10ea0 79 20 74 68 65 20 66 6c 61 67 73 20 73 65 74 20  y the flags set 
10eb0 69 6e 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20  in the optional 
10ec0 0d 0a 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 42  ..      CommandB
10ed0 65 68 61 76 69 6f 72 20 66 6c 61 67 20 66 72 6f  ehavior flag fro
10ee0 6d 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e  m SQLiteCommand.
10ef0 45 78 65 63 75 74 65 52 65 61 64 65 72 28 29 2e  ExecuteReader().
10f00 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20  ..      <LI>..  
10f10 20 20 20 20 43 68 61 6e 67 65 64 20 74 68 65 20      Changed the 
10f20 64 65 66 61 75 6c 74 20 70 61 67 65 20 73 69 7a  default page siz
10f30 65 20 74 6f 20 31 30 32 34 20 74 6f 20 72 65 66  e to 1024 to ref
10f40 6c 65 63 74 20 74 68 65 20 64 65 66 61 75 6c 74  lect the default
10f50 73 20 6f 66 20 53 51 4c 69 74 65 2e 26 6e 62 73  s of SQLite.&nbs
10f60 70 3b 20 0d 0a 20 20 20 20 20 20 49 67 6e 6f 72  p; ..      Ignor
10f70 65 73 20 74 68 65 20 22 50 61 67 65 20 53 69 7a  es the "Page Siz
10f80 65 22 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74  e" connection st
10f90 72 69 6e 67 20 6f 70 74 69 6f 6e 20 66 6f 72 20  ring option for 
10fa0 6d 65 6d 6f 72 79 20 64 61 74 61 62 61 73 65 73  memory databases
10fb0 2c 20 61 73 20 74 65 73 74 73 20 0d 0a 20 20 20  , as tests ..   
10fc0 20 20 20 72 65 76 65 61 6c 65 64 20 74 68 61 74     revealed that
10fd0 20 63 68 61 6e 67 69 6e 67 20 69 74 20 72 65 73   changing it res
10fe0 75 6c 74 65 64 20 69 6e 20 6d 65 6d 6f 72 79 20  ulted in memory 
10ff0 63 6f 72 72 75 70 74 69 6f 6e 20 65 72 72 6f 72  corruption error
11000 73 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a  s...      <LI>..
11010 20 20 20 20 20 20 20 20 50 65 72 66 6f 72 6d 61          Performa
11020 6e 63 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 73  nce enhancements
11030 20 74 6f 20 74 68 65 20 53 51 4c 69 74 65 43 6f   to the SQLiteCo
11040 6d 6d 61 6e 64 20 61 6e 64 20 53 51 4c 69 74 65  mmand and SQLite
11050 53 74 61 74 65 6d 65 6e 74 20 63 6c 61 73 73 65  Statement classe
11060 73 20 77 68 69 63 68 20 0d 0a 20 20 20 20 20 20  s which ..      
11070 20 20 72 65 64 75 63 65 64 20 74 68 65 20 31 30    reduced the 10
11080 30 2c 30 30 30 20 72 6f 77 20 69 6e 73 65 72 74  0,000 row insert
11090 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d 65 20   execution time 
110a0 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20 76  as well as the v
110b0 61 72 69 6f 75 73 20 46 75 6e 63 74 69 6f 6e 20  arious Function 
110c0 0d 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74  ..        execut
110d0 69 6f 6e 20 74 69 6d 65 73 20 73 69 67 6e 69 66  ion times signif
110e0 69 63 61 6e 74 6c 79 2e 0d 0a 20 20 20 20 20 20  icantly...      
110f0 3c 2f 4c 49 3e 0d 0a 20 20 20 20 3c 2f 55 4c 3e  </LI>..    </UL>
11100 0d 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e  ..    <P><B>1.0.
11110 30 35 20 2d 20 46 65 62 20 32 35 2c 20 32 30 30  05 - Feb 25, 200
11120 35 3c 2f 42 3e 0d 0a 20 20 20 20 3c 2f 50 3e 0d  5</B>..    </P>.
11130 0a 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20  .    <UL>..     
11140 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 46 69 78   <LI>..      Fix
11150 65 64 20 74 68 65 20 53 51 4c 69 74 65 33 20 43  ed the SQLite3 C
11160 23 20 63 6c 61 73 73 20 73 74 65 70 2f 72 65 73  # class step/res
11170 65 74 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20  et functions to 
11180 61 63 63 6f 6d 6f 64 61 74 65 20 73 63 68 65 6d  accomodate schem
11190 61 20 63 68 61 6e 67 65 73 20 0d 0a 20 20 20 20  a changes ..    
111a0 20 20 74 68 61 74 20 69 6e 76 61 6c 69 64 61 74    that invalidat
111b0 65 20 61 20 70 72 65 70 61 72 65 64 20 73 74 61  e a prepared sta
111c0 74 65 6d 65 6e 74 2e 26 6e 62 73 70 3b 20 53 74  tement.&nbsp; St
111d0 61 74 65 6d 65 6e 74 73 20 61 72 65 20 72 65 63  atements are rec
111e0 6f 6d 70 69 6c 65 64 20 0d 0a 20 20 20 20 20 20  ompiled ..      
111f0 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 2e 0d 0a  transparently...
11200 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
11210 20 20 4d 6f 76 65 64 20 61 6c 6c 20 6e 61 74 69    Moved all nati
11220 76 65 20 44 4c 4c 20 64 65 63 6c 61 72 61 74 69  ve DLL declarati
11230 6f 6e 73 20 74 6f 20 61 6e 20 55 6e 73 61 66 65  ons to an Unsafe
11240 4e 61 74 69 76 65 4d 65 74 68 6f 64 73 20 63 6c  NativeMethods cl
11250 61 73 73 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e  ass...      <LI>
11260 0d 0a 20 20 20 20 20 20 53 70 6c 69 74 20 73 65  ..      Split se
11270 76 65 72 61 6c 20 63 6c 61 73 73 65 73 20 69 6e  veral classes in
11280 74 6f 20 74 68 65 69 72 20 6f 77 6e 20 6d 6f 64  to their own mod
11290 75 6c 65 73 20 66 6f 72 20 72 65 61 64 61 62 69  ules for readabi
112a0 6c 69 74 79 2e 0d 0a 20 20 20 20 20 20 3c 4c 49  lity...      <LI
112b0 3e 0d 0a 20 20 20 20 20 20 52 65 6e 61 6d 65 64  >..      Renamed
112c0 20 6d 61 6e 79 20 69 6e 74 65 72 6e 61 6c 20 76   many internal v
112d0 61 72 69 61 62 6c 65 73 2c 20 72 65 76 69 65 77  ariables, review
112e0 65 64 20 61 63 63 65 73 73 20 74 6f 20 76 61 72  ed access to var
112f0 69 61 62 6c 65 73 20 6d 61 72 6b 65 64 20 61 73  iables marked as
11300 20 0d 0a 20 20 20 20 20 20 69 6e 74 65 72 6e 61   ..      interna
11310 6c 20 61 6e 64 20 61 6c 74 65 72 65 64 20 74 68  l and altered th
11320 65 69 72 20 70 72 6f 74 65 63 74 69 6f 6e 20 6c  eir protection l
11330 65 76 65 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c  evels accordingl
11340 79 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a  y...      <LI>..
11350 20 20 20 20 20 20 44 75 65 20 74 6f 20 74 68 65        Due to the
11360 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 68 65   presence of the
11370 20 61 6c 74 65 72 65 64 20 73 71 6c 69 74 65 33   altered sqlite3
11380 20 63 6f 64 65 62 61 73 65 20 61 6e 64 20 73 6f   codebase and so
11390 20 6d 61 6e 79 20 61 64 64 65 64 20 69 6e 74 65   many added inte
113a0 72 6f 70 20 0d 0a 20 20 20 20 20 20 66 75 6e 63  rop ..      func
113b0 74 69 6f 6e 73 2c 20 49 20 64 65 63 69 64 65 64  tions, I decided
113c0 20 74 6f 20 72 65 6e 61 6d 65 20 74 68 65 20 73   to rename the s
113d0 71 6c 69 74 65 33 20 43 20 70 72 6f 6a 65 63 74  qlite3 C project
113e0 20 61 6e 64 20 74 68 65 20 44 4c 4c 20 74 6f 20   and the DLL to 
113f0 0d 0a 20 20 20 20 20 20 53 51 4c 69 74 65 2e 49  ..      SQLite.I
11400 6e 74 65 72 6f 70 2e 44 4c 4c 2e 26 6e 62 73 70  nterop.DLL.&nbsp
11410 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61  ; This is the sa
11420 6d 65 20 63 6f 72 65 20 73 71 6c 69 74 65 33 20  me core sqlite3 
11430 63 6f 64 65 62 61 73 65 20 62 75 74 20 64 65 73  codebase but des
11440 69 67 6e 65 64 20 0d 0a 20 20 20 20 20 20 73 70  igned ..      sp
11450 65 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 74  ecifically for t
11460 68 69 73 20 41 44 4f 2e 4e 45 54 20 70 72 6f 76  his ADO.NET prov
11470 69 64 65 72 2e 26 6e 62 73 70 3b 20 54 68 69 73  ider.&nbsp; This
11480 20 65 6c 69 6d 69 6e 61 74 65 73 20 61 6e 79 20   eliminates any 
11490 70 6f 73 73 69 62 69 6c 69 74 79 20 0d 0a 20 20  possibility ..  
114a0 20 20 20 20 6f 66 20 73 6f 6d 65 6f 6e 65 20 64      of someone d
114b0 72 6f 70 70 69 6e 67 20 61 6e 6f 74 68 65 72 20  ropping another 
114c0 62 75 69 6c 64 20 6f 66 20 73 71 6c 69 74 65 33  build of sqlite3
114d0 2e 64 6c 6c 20 69 6e 74 6f 20 74 68 65 20 73 79  .dll into the sy
114e0 73 74 65 6d 20 61 6e 64 20 72 65 6e 64 65 72 69  stem and renderi
114f0 6e 67 20 0d 0a 20 20 20 20 20 20 74 68 65 20 70  ng ..      the p
11500 72 6f 76 69 64 65 72 20 69 6e 6f 70 65 72 61 62  rovider inoperab
11510 6c 65 2e 26 6e 62 73 70 3b 20 49 6e 20 74 68 65  le.&nbsp; In the
11520 20 66 75 74 75 72 65 20 69 66 20 74 68 65 20 66   future if the f
11530 6f 6c 6b 73 20 61 74 20 73 71 6c 69 74 65 2e 6f  olks at sqlite.o
11540 72 67 20 66 69 6e 61 6c 6c 79 20 0d 0a 20 20 20  rg finally ..   
11550 20 20 20 69 6e 74 72 6f 64 75 63 65 20 61 20 6d     introduce a m
11560 65 74 68 6f 64 20 6f 66 20 72 65 74 72 69 65 76  ethod of retriev
11570 69 6e 67 20 63 6f 6c 75 6d 6e 20 75 73 61 67 65  ing column usage
11580 20 66 6f 72 20 61 6e 20 61 72 62 69 74 72 61 72   for an arbitrar
11590 79 20 70 72 65 70 61 72 65 64 20 0d 0a 20 20 20  y prepared ..   
115a0 20 20 20 73 74 61 74 65 6d 65 6e 74 2c 20 49 27     statement, I'
115b0 6c 6c 20 72 65 74 6f 6f 6c 20 74 68 69 73 20 6c  ll retool this l
115c0 69 62 72 61 72 79 20 74 6f 20 62 65 20 61 20 6c  ibrary to be a l
115d0 69 67 68 74 77 65 69 67 68 74 20 66 75 6e 63 74  ightweight funct
115e0 69 6f 6e 20 63 61 6c 6c 20 77 72 61 70 70 65 72  ion call wrapper
115f0 20 0d 0a 20 20 20 20 20 20 61 72 6f 75 6e 64 20   ..      around 
11600 74 68 65 20 63 6f 72 65 20 62 69 6e 61 72 79 20  the core binary 
11610 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0d 0a 20  distribution... 
11620 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20       <LI>..     
11630 20 41 64 64 65 64 20 5b 53 75 70 70 72 65 73 73   Added [Suppress
11640 55 6e 6d 61 6e 61 67 65 64 43 6f 64 65 53 65 63  UnmanagedCodeSec
11650 75 72 69 74 79 5d 20 61 74 74 72 69 62 75 74 65  urity] attribute
11660 20 74 6f 20 74 68 65 20 55 6e 73 61 66 65 4e 61   to the UnsafeNa
11670 74 69 76 65 4d 65 74 68 6f 64 73 20 0d 0a 20 20  tiveMethods ..  
11680 20 20 20 20 63 6c 61 73 73 20 77 68 69 63 68 20      class which 
11690 62 72 69 6e 67 73 20 56 53 32 30 30 35 20 4e 6f  brings VS2005 No
116a0 76 65 6d 62 65 72 20 43 54 50 20 65 78 65 63 75  vember CTP execu
116b0 74 69 6f 6e 20 73 70 65 65 64 73 20 69 6e 6c 69  tion speeds inli
116c0 6e 65 20 77 69 74 68 20 74 68 65 20 0d 0a 20 20  ne with the ..  
116d0 20 20 20 20 44 65 63 65 6d 62 65 72 20 43 54 50      December CTP
116e0 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20  ...      <LI>.. 
116f0 20 20 20 20 20 20 20 41 64 64 65 64 20 61 20 3c         Added a <
11700 42 3e 62 69 6e 3c 2f 42 3e 0d 0a 20 20 20 20 20  B>bin</B>..     
11710 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68   directory to th
11720 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 77  e project root w
11730 68 65 72 65 20 70 72 65 2d 63 6f 6d 70 69 6c 65  here pre-compile
11740 64 20 62 69 6e 61 72 69 65 73 20 63 61 6e 20 62  d binaries can b
11750 65 20 66 6f 75 6e 64 2e 0d 0a 20 20 20 20 20 20  e found...      
11760 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 20 20 41 64  <LI>..        Ad
11770 64 65 64 20 61 20 3c 42 3e 64 6f 63 3c 2f 42 3e  ded a <B>doc</B>
11780 0d 0a 20 20 20 20 20 20 64 69 72 65 63 74 6f 72  ..      director
11790 79 20 77 68 65 72 65 20 70 72 65 6c 69 6d 69 6e  y where prelimin
117a0 61 72 79 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  ary documentatio
117b0 6e 20 6f 6e 20 74 68 65 20 63 6c 61 73 73 20 6c  n on the class l
117c0 69 62 72 61 72 79 20 63 61 6e 20 62 65 20 66 6f  ibrary can be fo
117d0 75 6e 64 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e  und...      <LI>
117e0 0d 0a 20 20 20 20 20 20 20 20 44 6f 63 75 6d 65  ..        Docume
117f0 6e 74 65 64 20 61 20 6c 6f 74 20 6d 6f 72 65 20  nted a lot more 
11800 6f 66 20 74 68 65 20 63 6c 61 73 73 65 73 20 69  of the classes i
11810 6e 74 65 72 6e 61 6c 6c 79 2e 0d 0a 20 20 20 20  nternally...    
11820 20 20 3c 2f 4c 49 3e 0d 0a 20 20 20 20 3c 2f 55    </LI>..    </U
11830 4c 3e 0d 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e  L>..    <P><B>1.
11840 30 2e 30 34 20 2d 20 46 65 62 20 32 34 2c 20 32  0.04 - Feb 24, 2
11850 30 30 35 3c 2f 42 3e 0d 0a 20 20 20 20 3c 2f 50  005</B>..    </P
11860 3e 0d 0a 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20  >..    <UL>..   
11870 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 52     <LI>..      R
11880 65 6d 6f 76 65 64 20 74 68 65 20 53 51 4c 69 74  emoved the SQLit
11890 65 43 6f 6e 74 65 78 74 20 63 6c 61 73 73 20 61  eContext class a
118a0 6e 64 20 72 65 76 61 6d 70 65 64 20 74 68 65 20  nd revamped the 
118b0 77 61 79 20 55 73 65 72 46 75 6e 63 74 69 6f 6e  way UserFunction
118c0 73 20 77 6f 72 6b 20 74 6f 20 0d 0a 20 20 20 20  s work to ..    
118d0 20 20 73 69 6d 70 6c 69 66 79 20 74 68 65 20 69    simplify the i
118e0 6d 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0d 0a 20  mlementation... 
118f0 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20       <LI>..     
11900 20 46 69 78 65 64 20 61 20 63 6f 75 6e 74 69 6e   Fixed a countin
11910 67 20 62 75 67 20 69 6e 20 74 68 65 20 54 65 73  g bug in the Tes
11920 74 43 61 73 65 73 20 63 6c 61 73 73 2c 20 73 70  tCases class, sp
11930 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 20 74 68  ecifically in th
11940 65 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 73  e function tests
11950 20 0d 0a 20 20 20 20 20 20 77 68 65 72 65 20 49   ..      where I
11960 20 77 61 73 6e 27 74 20 72 65 73 65 74 74 69 6e   wasn't resettin
11970 67 20 74 68 65 20 63 6f 75 6e 74 65 72 20 61 6e  g the counter an
11980 64 20 69 74 20 77 61 73 20 63 6f 6e 73 65 71 75  d it was consequ
11990 65 6e 74 6c 79 20 72 65 70 6f 72 74 69 6e 67 20  ently reporting 
119a0 0d 0a 20 20 20 20 20 20 69 6e 74 72 69 6e 73 69  ..      intrinsi
119b0 63 20 61 6e 64 20 72 61 77 20 73 65 6c 65 63 74  c and raw select
119c0 20 63 61 6c 6c 73 20 61 73 20 62 65 69 6e 67 20   calls as being 
119d0 6d 75 63 68 20 6d 75 63 68 20 66 61 73 74 65 72  much much faster
119e0 20 74 68 61 6e 20 74 68 65 79 20 61 63 74 75 61   than they actua
119f0 6c 6c 79 20 0d 0a 20 20 20 20 20 20 77 65 72 65  lly ..      were
11a00 2e 26 6e 62 73 70 3b 20 54 68 65 20 6e 75 6d 62  .&nbsp; The numb
11a10 65 72 73 20 61 72 65 20 6e 6f 77 20 6d 75 63 68  ers are now much
11a20 20 63 6c 6f 73 65 72 20 74 6f 20 77 68 61 74 20   closer to what 
11a30 49 20 65 78 70 65 63 74 65 64 20 66 6f 72 20 70  I expected for p
11a40 65 72 66 6f 72 6d 61 6e 63 65 2c 20 0d 0a 20 20  erformance, ..  
11a50 20 20 20 20 77 69 74 68 20 2e 4e 45 54 20 75 73      with .NET us
11a60 65 72 2d 66 75 6e 63 74 69 6f 6e 73 20 73 74 69  er-functions sti
11a70 6c 6c 20 62 65 69 6e 67 20 74 68 65 20 73 6c 6f  ll being the slo
11a80 77 65 73 74 2c 20 62 75 74 20 6f 6e 6c 79 20 62  west, but only b
11a90 79 20 61 20 73 6d 61 6c 6c 20 6d 61 72 67 69 6e  y a small margin
11aa0 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20  ...      <LI>.. 
11ab0 20 20 20 20 20 53 6d 61 6c 6c 20 70 65 72 66 6f       Small perfo
11ac0 72 6d 61 6e 63 65 20 74 77 65 61 6b 73 20 74 6f  rmance tweaks to
11ad0 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64 65   SQLiteDataReade
11ae0 72 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d 0a  r...      <LI>..
11af0 20 20 20 20 20 20 41 64 64 65 64 20 50 61 67 65        Added Page
11b00 53 69 7a 65 20 74 6f 20 74 68 65 20 53 51 4c 69  Size to the SQLi
11b10 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69  teConnectionStri
11b20 6e 67 42 75 69 6c 64 65 72 20 61 6e 64 20 73 75  ngBuilder and su
11b30 62 73 65 71 75 65 6e 74 6c 79 20 74 6f 20 74 68  bsequently to th
11b40 65 20 0d 0a 20 20 20 20 20 20 53 51 4c 69 74 65  e ..      SQLite
11b50 43 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 20 20 20 20  Connection..    
11b60 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 20 20    <LI>..        
11b70 41 64 64 65 64 20 61 20 50 52 41 47 4d 41 20 65  Added a PRAGMA e
11b80 6e 63 6f 64 69 6e 67 3d 58 58 58 20 65 78 65 63  ncoding=XXX exec
11b90 75 74 69 6f 6e 20 73 74 61 74 65 6d 65 6e 74 20  ution statement 
11ba0 74 6f 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e  to the SQLiteCon
11bb0 6e 65 63 74 69 6f 6e 20 61 66 74 65 72 20 0d 0a  nection after ..
11bc0 20 20 20 20 20 20 20 20 6f 70 65 6e 69 6e 67 20          opening 
11bd0 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0d 0a 20  a connection... 
11be0 20 20 20 20 20 3c 2f 4c 49 3e 0d 0a 20 20 20 20       </LI>..    
11bf0 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 50 3e 3c 42  </UL>..    <P><B
11c00 3e 31 2e 30 2e 30 33 20 2d 20 46 65 62 20 32 33  >1.0.03 - Feb 23
11c10 2c 20 32 30 30 35 3c 2f 42 3e 0d 0a 20 20 20 20  , 2005</B>..    
11c20 3c 2f 50 3e 0d 0a 20 20 20 20 3c 55 4c 3e 0d 0a  </P>..    <UL>..
11c30 20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20        <LI>..    
11c40 20 20 46 69 78 65 64 20 75 70 20 53 51 4c 69 74    Fixed up SQLit
11c50 65 43 6f 6d 6d 61 6e 64 42 75 69 6c 64 65 72 20  eCommandBuilder 
11c60 74 6f 20 63 6f 72 72 65 63 74 20 69 6d 70 6c 65  to correct imple
11c70 6d 65 6e 74 61 74 69 6f 6e 20 65 72 72 6f 72 73  mentation errors
11c80 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74 65 64  , which resulted
11c90 20 0d 0a 20 20 20 20 20 20 69 6e 20 61 6e 20 65   ..      in an e
11ca0 6e 6f 72 6d 6f 75 73 20 70 65 72 66 6f 72 6d 61  normous performa
11cb0 6e 63 65 20 62 6f 6f 73 74 20 69 6e 20 74 68 65  nce boost in the
11cc0 20 49 6e 73 65 72 74 4d 61 6e 79 20 74 65 73 74   InsertMany test
11cd0 2e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 20 31 30  .&nbsp;&nbsp; 10
11ce0 2c 30 30 30 20 72 6f 77 20 0d 0a 20 20 20 20 20  ,000 row ..     
11cf0 20 69 6e 73 65 72 74 20 74 68 61 74 20 65 78 65   insert that exe
11d00 63 75 74 65 64 20 69 6e 20 31 35 30 30 6d 73 20  cuted in 1500ms 
11d10 6e 6f 77 20 65 78 65 63 75 74 65 73 20 69 6e 20  now executes in 
11d20 35 30 30 6d 73 2e 0d 0a 20 20 20 20 20 20 3c 4c  500ms...      <L
11d30 49 3e 0d 0a 20 20 20 20 20 20 46 69 78 65 64 20  I>..      Fixed 
11d40 73 65 76 65 72 61 6c 20 65 72 72 6f 72 73 20 69  several errors i
11d50 6e 20 74 68 65 20 53 51 4c 69 74 65 33 5f 55 54  n the SQLite3_UT
11d60 46 31 36 20 63 6c 61 73 73 2e 26 6e 62 73 70 3b  F16 class.&nbsp;
11d70 20 54 6f 53 74 72 69 6e 67 28 29 20 77 61 73 20   ToString() was 
11d80 77 6f 72 6b 69 6e 67 20 0d 0a 20 20 20 20 20 20  working ..      
11d90 69 6e 63 6f 72 72 65 63 74 6c 79 20 61 6e 64 20  incorrectly and 
11da0 74 68 65 20 4f 70 65 6e 28 29 20 6d 65 74 68 6f  the Open() metho
11db0 64 20 66 61 69 6c 65 64 20 74 6f 20 72 65 67 69  d failed to regi
11dc0 73 74 65 72 20 75 73 65 72 20 64 65 66 69 6e 65  ster user define
11dd0 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20  d functions and 
11de0 0d 0a 20 20 20 20 20 20 63 6f 6c 6c 61 74 69 6f  ..      collatio
11df0 6e 73 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d  ns...      <LI>.
11e00 0a 20 20 20 20 20 20 46 69 78 65 64 20 61 20 62  .      Fixed a b
11e10 75 67 20 69 6e 20 53 51 4c 69 74 65 43 6f 6d 6d  ug in SQLiteComm
11e20 61 6e 64 2e 43 6c 65 61 72 43 6f 6d 6d 61 6e 64  and.ClearCommand
11e30 73 28 29 20 77 68 65 72 65 62 79 20 6f 6e 6c 79  s() whereby only
11e40 20 74 68 65 20 66 69 72 73 74 20 73 74 61 74 65   the first state
11e50 6d 65 6e 74 20 0d 0a 20 20 20 20 20 20 77 61 73  ment ..      was
11e60 20 62 65 69 6e 67 20 70 72 6f 70 65 72 6c 79 20   being properly 
11e70 63 6c 65 61 6e 65 64 20 75 70 2e 0d 0a 20 20 20  cleaned up...   
11e80 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 46     <LI>..      F
11e90 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 53 51  ixed a bug in SQ
11ea0 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 20 77  LiteDataReader w
11eb0 68 65 72 65 62 79 20 63 61 6c 6c 69 6e 67 20 4e  hereby calling N
11ec0 65 78 74 52 65 73 75 6c 74 28 29 20 77 6f 75 6c  extResult() woul
11ed0 64 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79 20 0d  d not properly .
11ee0 0a 20 20 20 20 20 20 72 65 73 65 74 20 74 68 65  .      reset the
11ef0 20 70 72 65 76 69 6f 75 73 6c 79 2d 65 78 65 63   previously-exec
11f00 75 74 65 64 20 63 6f 6d 6d 61 6e 64 20 69 6e 20  uted command in 
11f10 74 68 65 20 73 65 71 75 65 6e 63 65 2e 0d 0a 20  the sequence... 
11f20 20 20 20 20 20 3c 4c 49 3e 0d 0a 20 20 20 20 20       <LI>..     
11f30 20 20 20 41 64 64 65 64 20 61 6e 20 49 6e 73 65     Added an Inse
11f40 72 74 4d 61 6e 79 57 69 74 68 49 64 65 6e 74 69  rtManyWithIdenti
11f50 74 79 46 65 74 63 68 20 74 65 73 74 2c 20 77 68  tyFetch test, wh
11f60 69 63 68 20 61 70 70 65 6e 64 73 20 61 20 73 65  ich appends a se
11f70 6c 65 63 74 20 63 6c 61 75 73 65 20 74 6f 20 0d  lect clause to .
11f80 0a 20 20 20 20 20 20 20 20 70 6f 70 75 6c 61 74  .        populat
11f90 65 20 74 68 65 20 49 44 20 6f 66 20 74 68 65 20  e the ID of the 
11fa0 6c 61 73 74 20 69 6e 73 65 72 74 65 64 20 72 6f  last inserted ro
11fb0 77 20 69 6e 74 6f 20 74 68 65 20 49 6e 73 65 72  w into the Inser
11fc0 74 43 6f 6d 6d 61 6e 64 2c 20 64 65 6d 6f 6e 73  tCommand, demons
11fd0 74 72 61 74 69 6e 67 20 0d 0a 20 20 20 20 20 20  trating ..      
11fe0 20 20 41 44 4f 2e 4e 45 54 27 73 20 61 62 69 6c    ADO.NET's abil
11ff0 69 74 79 20 74 6f 20 61 75 74 6f 2d 66 65 74 63  ity to auto-fetc
12000 68 20 69 64 65 6e 74 69 74 79 20 63 6f 6c 75 6d  h identity colum
12010 6e 73 20 6f 6e 20 69 6e 73 65 72 74 2e 0d 0a 20  ns on insert... 
12020 20 20 20 20 20 3c 2f 4c 49 3e 0d 0a 20 20 20 20       </LI>..    
12030 3c 2f 55 4c 3e 0d 0a 20 20 20 20 3c 50 3e 3c 42  </UL>..    <P><B
12040 3e 31 2e 30 2e 30 32 20 2d 20 46 65 62 20 32 31  >1.0.02 - Feb 21
12050 2c 20 32 30 30 35 3c 2f 42 3e 3c 2f 50 3e 0d 0a  , 2005</B></P>..
12060 20 20 20 20 3c 55 4c 3e 0d 0a 20 20 20 20 20 20      <UL>..      
12070 3c 4c 49 3e 0d 0a 20 20 20 20 20 20 54 77 65 61  <LI>..      Twea
12080 6b 73 20 74 6f 20 74 68 65 20 78 78 78 5f 69 6e  ks to the xxx_in
12090 74 65 72 6f 70 20 66 75 6e 63 74 69 6f 6e 73 20  terop functions 
120a0 74 68 61 74 20 72 65 74 75 72 6e 20 63 68 61 72  that return char
120b0 20 2a 27 73 2c 20 73 6f 20 74 68 65 79 20 61 6c   *'s, so they al
120c0 73 6f 20 72 65 74 75 72 6e 20 0d 0a 20 20 20 20  so return ..    
120d0 20 20 74 68 65 20 6c 65 6e 67 74 68 2e 26 6e 62    the length.&nb
120e0 73 70 3b 20 53 61 76 65 73 20 61 6e 20 69 6e 74  sp; Saves an int
120f0 65 72 6f 70 20 63 61 6c 6c 20 74 6f 20 67 65 74  erop call to get
12100 20 74 68 65 20 55 54 46 2d 38 20 73 74 72 69 6e   the UTF-8 strin
12110 67 20 6c 65 6e 67 74 68 20 64 75 72 69 6e 67 20  g length during 
12120 0d 0a 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69  ..      conversi
12130 6f 6e 20 74 6f 20 61 20 2e 4e 45 54 20 73 74 72  on to a .NET str
12140 69 6e 67 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e  ing...      <LI>
12150 0d 0a 20 20 20 20 20 20 52 65 77 6f 72 6b 65 64  ..      Reworked
12160 20 74 68 65 20 77 68 6f 6c 65 20 69 6e 74 65 72   the whole inter
12170 6f 70 2e 63 20 74 68 69 6e 67 20 69 6e 74 6f 20  op.c thing into 
12180 69 6e 74 65 72 6f 70 2e 68 20 61 6e 64 20 72 65  interop.h and re
12190 64 75 63 65 64 20 74 68 65 20 63 6f 64 65 20 72  duced the code r
121a0 65 71 75 69 72 65 64 20 0d 0a 20 20 20 20 20 20  equired ..      
121b0 74 6f 20 6d 65 72 67 65 20 74 68 65 20 6d 61 69  to merge the mai
121c0 6e 20 73 71 6c 69 74 65 33 20 63 6f 64 65 62 61  n sqlite3 codeba
121d0 73 65 2e 0d 0a 20 20 20 20 20 20 3c 4c 49 3e 0d  se...      <LI>.
121e0 0a 20 20 20 20 20 20 20 20 41 64 64 65 64 20 73  .        Added s
121f0 75 70 70 6f 72 74 20 66 6f 72 20 75 73 65 72 2d  upport for user-
12200 64 65 66 69 6e 65 64 20 63 6f 6c 6c 61 74 69 6f  defined collatio
12210 6e 73 2e 0d 0a 20 20 20 20 20 20 3c 2f 4c 49 3e  ns...      </LI>
12220 0d 0a 20 20 20 20 3c 2f 55 4c 3e 0d 0a 20 20 3c  ..    </UL>..  <
12230 2f 62 6f 64 79 3e 0d 0a 3c 2f 68 74 6d 6c 3e 0d  /body>..</html>.
12240 0a                                               .