System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 528ad677c874ab3073bb23712fcdacba3adf88c6:


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 0a  nsitional//EN">.
0040: 3c 68 74 6d 6c 3e 0a 20 20 3c 68 65 61 64 3e 0a  <html>.  <head>.
0050: 20 20 20 20 3c 74 69 74 6c 65 3e 3c 2f 74 69 74      <title></tit
0060: 6c 65 3e 0a 20 20 3c 2f 68 65 61 64 3e 0a 20 20  le>.  </head>.  
0070: 3c 62 6f 64 79 3e 0a 20 20 20 20 41 44 4f 2e 4e  <body>.    ADO.N
0080: 45 54 20 32 2e 30 20 53 51 4c 69 74 65 20 44 61  ET 2.0 SQLite Da
0090: 74 61 20 50 72 6f 76 69 64 65 72 3c 62 72 3e 0a  ta Provider<br>.
00a0: 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 30 2e      Version 1.0.
00b0: 35 34 2e 30 20 4a 75 6c 79 20 32 35 2c 20 32 30  54.0 July 25, 20
00c0: 30 38 3c 62 72 3e 0a 20 20 20 20 55 73 69 6e 67  08<br>.    Using
00d0: 20 53 51 4c 69 74 65 20 33 2e 36 2e 30 3c 62 72   SQLite 3.6.0<br
00e0: 3e 0a 20 20 20 20 57 72 69 74 74 65 6e 20 62 79  >.    Written by
00f0: 20 52 6f 62 65 72 74 20 53 69 6d 70 73 6f 6e 20   Robert Simpson 
0100: 28 3c 61 20 68 72 65 66 3d 22 6d 61 69 6c 74 6f  (<a href="mailto
0110: 3a 72 6f 62 65 72 74 40 62 6c 61 63 6b 63 61 73  :robert@blackcas
0120: 74 6c 65 73 6f 66 74 2e 63 6f 6d 22 3e 72 6f 62  tlesoft.com">rob
0130: 65 72 74 40 62 6c 61 63 6b 63 61 73 74 6c 65 73  ert@blackcastles
0140: 6f 66 74 2e 63 6f 6d 3c 2f 61 3e 29 3c 62 72 3e  oft.com</a>)<br>
0150: 0a 20 20 20 20 52 65 6c 65 61 73 65 64 20 74 6f  .    Released to
0160: 20 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61   the public doma
0170: 69 6e 2c 20 75 73 65 20 61 74 20 79 6f 75 72 20  in, use at your 
0180: 6f 77 6e 20 72 69 73 6b 21 3c 62 72 3e 0a 20 20  own risk!<br>.  
0190: 20 20 4f 66 66 69 63 69 61 6c 20 70 72 6f 76 69    Official provi
01a0: 64 65 72 20 77 65 62 73 69 74 65 3a 26 6e 62 73  der website:&nbs
01b0: 70 3b 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  p; <a href="http
01c0: 3a 2f 2f 73 71 6c 69 74 65 2e 70 68 78 73 6f 66  ://sqlite.phxsof
01d0: 74 77 61 72 65 2e 63 6f 6d 22 3e 68 74 74 70 3a  tware.com">http:
01e0: 2f 2f 73 71 6c 69 74 65 2e 70 68 78 73 6f 66 74  //sqlite.phxsoft
01f0: 77 61 72 65 2e 63 6f 6d 3c 2f 61 3e 3c 62 72 20  ware.com</a><br 
0200: 2f 3e 0a 20 20 20 20 3c 62 72 3e 0a 20 20 20 20  />.    <br>.    
0210: 54 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69  The latest versi
0220: 6f 6e 20 63 61 6e 20 62 65 20 64 6f 77 6e 6c 6f  on can be downlo
0230: 61 64 65 64 20 3c 61 20 68 72 65 66 3d 22 68 74  aded <a href="ht
0240: 74 70 3a 2f 2f 73 6f 75 72 63 65 66 6f 72 67 65  tp://sourceforge
0250: 2e 6e 65 74 2f 70 72 6f 6a 65 63 74 73 2f 73 71  .net/projects/sq
0260: 6c 69 74 65 2d 64 6f 74 6e 65 74 32 22 3e 0a 20  lite-dotnet2">. 
0270: 20 20 20 20 20 68 65 72 65 3c 2f 61 3e 0a 20 20       here</a>.  
0280: 20 20 3c 62 72 3e 0a 20 20 20 20 3c 62 72 3e 0a    <br>.    <br>.
0290: 20 20 20 20 3c 62 3e 3c 2f 62 3e 0a 20 20 20 20      <b></b>.    
02a0: 3c 68 32 3e 0a 20 20 20 20 20 20 3c 62 3e 46 65  <h2>.      <b>Fe
02b0: 61 74 75 72 65 73 3a 3c 2f 62 3e 3c 62 72 3e 0a  atures:</b><br>.
02c0: 20 20 20 20 3c 2f 68 32 3e 0a 20 20 20 20 3c 55      </h2>.    <U
02d0: 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  L>.      <LI>.  
02e0: 20 20 20 20 57 72 69 74 74 65 6e 20 66 72 6f 6d      Written from
02f0: 20 73 63 72 61 74 63 68 20 6f 6e 20 56 53 32 30   scratch on VS20
0300: 30 38 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20  08 specifically 
0310: 66 6f 72 20 41 44 4f 2e 4e 45 54 20 32 2e 30 2c  for ADO.NET 2.0,
0320: 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6c   implementing al
0330: 6c 20 74 68 65 0a 20 20 20 20 20 20 62 61 73 65  l the.      base
0340: 20 63 6c 61 73 73 65 73 20 61 6e 64 20 66 65 61   classes and fea
0350: 74 75 72 65 73 20 72 65 63 65 6e 74 6c 79 20 69  tures recently i
0360: 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 74 68 65  ntroduced in the
0370: 20 66 72 61 6d 65 77 6f 72 6b 2c 20 69 6e 63 6c   framework, incl
0380: 75 64 69 6e 67 20 61 75 74 6f 6d 61 74 69 63 0a  uding automatic.
0390: 20 20 20 20 20 20 74 72 61 6e 73 61 63 74 69 6f        transactio
03a0: 6e 20 65 6e 6c 69 73 74 6d 65 6e 74 2e 3c 6c 69  n enlistment.<li
03b0: 3e 53 75 70 70 6f 72 74 73 20 74 68 65 20 46 75  >Supports the Fu
03c0: 6c 6c 0a 20 20 20 20 20 20 20 20 61 6e 64 20 43  ll.        and C
03d0: 6f 6d 70 61 63 74 20 2e 4e 45 54 20 46 72 61 6d  ompact .NET Fram
03e0: 65 77 6f 72 6b 2c 20 61 73 20 77 65 6c 6c 20 61  ework, as well a
03f0: 73 20 6e 61 74 69 76 65 20 43 2f 43 2b 2b 20 64  s native C/C++ d
0400: 65 76 65 6c 6f 70 6d 65 6e 74 2e 26 6e 62 73 70  evelopment.&nbsp
0410: 3b 20 31 30 30 25 20 62 69 6e 61 72 79 0a 20 20  ; 100% binary.  
0420: 20 20 20 20 20 20 63 6f 6d 70 61 74 69 62 6c 65        compatible
0430: 20 77 69 74 68 20 74 68 65 20 6f 72 69 67 69 6e   with the origin
0440: 61 6c 20 73 71 6c 69 74 65 33 2e 64 6c 6c 2e 3c  al sqlite3.dll.<
0450: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  /li>.      <LI>.
0460: 20 20 20 20 20 20 4f 6e 20 74 68 65 20 43 6f 6d        On the Com
0470: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2c 20  pact Framework, 
0480: 69 74 20 69 73 20 66 61 73 74 65 72 20 74 68 61  it is faster tha
0490: 6e 20 53 71 6c 20 53 65 72 76 65 72 20 0a 20 20  n Sql Server .  
04a0: 20 20 20 20 4d 6f 62 69 6c 65 2e 20 20 53 51 4c      Mobile.  SQL
04b0: 69 74 65 27 73 20 69 6e 73 74 61 6c 6c 65 64 20  ite's installed 
04c0: 73 69 7a 65 20 69 73 20 61 20 66 72 61 63 74 69  size is a fracti
04d0: 6f 6e 20 6f 66 20 53 71 6c 20 4d 6f 62 69 6c 65  on of Sql Mobile
04e0: 27 73 2e 20 49 74 20 75 73 65 73 20 6c 65 73 73  's. It uses less
04f0: 20 6d 65 6d 6f 72 79 20 61 74 20 72 75 6e 74 69   memory at runti
0500: 6d 65 2c 20 72 75 6e 73 20 71 75 65 72 69 65 73  me, runs queries
0510: 20 66 61 73 74 65 72 2c 20 61 6e 64 20 68 61 73   faster, and has
0520: 20 61 20 73 6d 61 6c 6c 65 72 20 64 61 74 61 62   a smaller datab
0530: 61 73 65 20 66 69 6c 65 20 73 69 7a 65 20 61 73  ase file size as
0540: 20 77 65 6c 6c 2e 0a 20 20 20 20 20 20 3c 6c 69   well..      <li
0550: 3e 45 6e 63 72 79 70 74 65 64 20 64 61 74 61 62  >Encrypted datab
0560: 61 73 65 20 73 75 70 70 6f 72 74 2e 26 6e 62 73  ase support.&nbs
0570: 70 3b 20 45 6e 63 72 79 70 74 65 64 20 64 61 74  p; Encrypted dat
0580: 61 62 61 73 65 73 20 61 72 65 20 66 75 6c 6c 79  abases are fully
0590: 20 65 6e 63 72 79 70 74 65 64 20 61 6e 64 0a 20   encrypted and. 
05a0: 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 20 62         support b
05b0: 6f 74 68 20 62 69 6e 61 72 79 20 61 6e 64 20 63  oth binary and c
05c0: 6c 65 61 72 74 65 78 74 20 70 61 73 73 77 6f 72  leartext passwor
05d0: 64 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20  d types.</li>.  
05e0: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 56      <LI>.      V
05f0: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 30  isual Studio 200
0600: 35 2f 32 30 30 38 20 44 65 73 69 67 6e 2d 54 69  5/2008 Design-Ti
0610: 6d 65 20 53 75 70 70 6f 72 74 2c 20 77 6f 72 6b  me Support, work
0620: 73 20 77 69 74 68 20 61 6c 6c 20 76 65 72 73 69  s with all versi
0630: 6f 6e 73 20 6f 66 20 56 53 32 30 30 35 2f 32 30  ons of VS2005/20
0640: 30 38 2c 0a 20 20 20 20 20 20 20 20 69 6e 63 6c  08,.        incl
0650: 75 64 69 6e 67 0a 20 20 20 20 20 20 61 6c 6c 20  uding.      all 
0660: 45 78 70 72 65 73 73 20 45 64 69 74 69 6f 6e 73  Express Editions
0670: 20 6f 66 20 56 53 32 30 30 35 2e 26 6e 62 73 70   of VS2005.&nbsp
0680: 3b 20 59 6f 75 20 63 61 6e 20 61 64 64 20 61 20  ; You can add a 
0690: 53 51 4c 69 74 65 20 0a 20 20 20 20 20 20 64 61  SQLite .      da
06a0: 74 61 62 61 73 65 20 74 6f 20 74 68 65 20 53 65  tabase to the Se
06b0: 72 76 65 72 73 20 6c 69 73 74 2c 20 64 65 73 69  rvers list, desi
06c0: 67 6e 20 71 75 65 72 69 65 73 20 77 69 74 68 20  gn queries with 
06d0: 74 68 65 20 51 75 65 72 79 20 44 65 73 69 67 6e  the Query Design
06e0: 65 72 2c 20 0a 20 20 20 20 20 20 64 72 61 67 2d  er, .      drag-
06f0: 61 6e 64 2d 64 72 6f 70 20 74 61 62 6c 65 73 20  and-drop tables 
0700: 6f 6e 74 6f 20 61 20 54 79 70 65 64 20 44 61 74  onto a Typed Dat
0710: 61 53 65 74 2c 20 65 74 63 2e 3c 4c 49 3e 0a 20  aSet, etc.<LI>. 
0720: 20 20 20 20 20 20 20 46 75 6c 6c 20 53 51 4c 69         Full SQLi
0730: 74 65 20 73 63 68 65 6d 61 20 65 64 69 74 69 6e  te schema editin
0740: 67 20 69 6e 73 69 64 65 20 56 69 73 75 61 6c 20  g inside Visual 
0750: 53 74 75 64 69 6f 2e 26 6e 62 73 70 3b 0a 20 20  Studio.&nbsp;.  
0760: 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 63 72        You can cr
0770: 65 61 74 65 2f 65 64 69 74 20 74 61 62 6c 65 73  eate/edit tables
0780: 2c 20 76 69 65 77 73 2c 20 74 72 69 67 67 65 72  , views, trigger
0790: 73 2c 20 69 6e 64 65 78 65 73 2c 20 63 68 65 63  s, indexes, chec
07a0: 6b 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 6e  k constraints an
07b0: 64 20 66 6f 72 65 69 67 6e 20 6b 65 79 73 2e 3c  d foreign keys.<
07c0: 4c 49 3e 0a 20 20 20 20 20 20 53 69 6e 67 6c 65  LI>.      Single
07d0: 20 66 69 6c 65 20 72 65 64 69 73 74 72 69 62 75   file redistribu
07e0: 74 61 62 6c 65 2e 26 6e 62 73 70 3b 20 54 68 65  table.&nbsp; The
07f0: 20 63 6f 72 65 20 73 71 6c 69 74 65 33 20 63 6f   core sqlite3 co
0800: 64 65 62 61 73 65 20 61 6e 64 20 74 68 65 20 41  debase and the A
0810: 44 4f 2e 4e 45 54 20 77 72 61 70 70 65 72 20 0a  DO.NET wrapper .
0820: 20 20 20 20 20 20 61 72 65 20 63 6f 6d 62 69 6e        are combin
0830: 65 64 20 69 6e 74 6f 20 6f 6e 65 20 6d 75 6c 74  ed into one mult
0840: 69 2d 6d 6f 64 75 6c 65 20 61 73 73 65 6d 62 6c  i-module assembl
0850: 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  y..      <LI>.  
0860: 20 20 20 20 42 69 6e 61 72 69 65 73 20 69 6e 63      Binaries inc
0870: 6c 75 64 65 64 20 66 6f 72 20 49 74 61 6e 69 75  luded for Itaniu
0880: 6d 2c 20 78 36 34 2c 20 78 38 36 20 61 6e 64 20  m, x64, x86 and 
0890: 41 52 4d 20 70 72 6f 63 65 73 73 6f 72 73 2e 0a  ARM processors..
08a0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
08b0: 20 44 62 50 72 6f 76 69 64 65 72 46 61 63 74 6f   DbProviderFacto
08c0: 72 79 20 73 75 70 70 6f 72 74 2e 0a 20 20 20 20  ry support..    
08d0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 46    <LI>.        F
08e0: 75 6c 6c 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ull support for 
08f0: 41 54 54 41 43 48 27 65 64 20 64 61 74 61 62 61  ATTACH'ed databa
0900: 73 65 73 2e 26 6e 62 73 70 3b 20 45 78 70 6f 73  ses.&nbsp; Expos
0910: 65 64 20 61 73 20 3c 49 3e 43 61 74 61 6c 6f 67  ed as <I>Catalog
0920: 73 3c 2f 49 3e 0a 20 20 20 20 20 20 69 6e 20 74  s</I>.      in t
0930: 68 65 20 73 63 68 65 6d 61 2e 26 6e 62 73 70 3b  he schema.&nbsp;
0940: 20 57 68 65 6e 20 63 6c 6f 6e 69 6e 67 20 61 20   When cloning a 
0950: 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 61 6c 6c 20  connection, all 
0960: 61 74 74 61 63 68 65 64 20 64 61 74 61 62 61 73  attached databas
0970: 65 73 20 61 72 65 20 0a 20 20 20 20 20 20 61 75  es are .      au
0980: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 2d 61  tomatically re-a
0990: 74 74 61 63 68 65 64 20 74 6f 20 74 68 65 20 6e  ttached to the n
09a0: 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20  ew connection.. 
09b0: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
09c0: 20 20 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 2e 47    DbConnection.G
09d0: 65 74 53 63 68 65 6d 61 28 2e 2e 2e 29 20 73 75  etSchema(...) su
09e0: 70 70 6f 72 74 20 69 6e 63 6c 75 64 65 73 20 3c  pport includes <
09f0: 49 3e 52 65 73 65 72 76 65 64 57 6f 72 64 73 2c  I>ReservedWords,
0a00: 20 4d 65 74 61 44 61 74 61 43 6f 6c 6c 65 63 74   MetaDataCollect
0a10: 69 6f 6e 73 3c 2f 49 3e 2c 20 3c 49 3e 44 61 74  ions</I>, <I>Dat
0a20: 61 53 6f 75 72 63 65 49 6e 66 6f 72 6d 61 74 69  aSourceInformati
0a30: 6f 6e 3c 2f 49 3e 2c 0a 20 20 20 20 20 20 20 20  on</I>,.        
0a40: 3c 49 3e 44 61 74 61 54 79 70 65 73 2c 20 43 6f  <I>DataTypes, Co
0a50: 6c 75 6d 6e 73 3c 2f 49 3e 2c 20 3c 49 3e 54 61  lumns</I>, <I>Ta
0a60: 62 6c 65 73 3c 2f 49 3e 2c 20 3c 49 3e 56 69 65  bles</I>, <I>Vie
0a70: 77 73 2c 20 56 69 65 77 43 6f 6c 75 6d 6e 73 2c  ws, ViewColumns,
0a80: 20 3c 2f 49 3e 3c 49 3e 43 61 74 61 6c 6f 67 73   </I><I>Catalogs
0a90: 2c 20 3c 2f 49 3e 3c 49 3e 49 6e 64 65 78 65 73  , </I><I>Indexes
0aa0: 2c 20 0a 20 20 20 20 20 20 20 20 20 20 49 6e 64  , .          Ind
0ab0: 65 78 43 6f 6c 75 6d 6e 73 2c 20 3c 2f 49 3e 3c  exColumns, </I><
0ac0: 45 4d 3e 46 6f 72 65 69 67 6e 4b 65 79 73 20 3c  EM>ForeignKeys <
0ad0: 2f 45 4d 3e 61 6e 64 3c 45 4d 3e 20 54 72 69 67  /EM>and<EM> Trig
0ae0: 67 65 72 73 3c 2f 45 4d 3e 2e 0a 20 20 20 20 20  gers</EM>..     
0af0: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 45 6e 68 61   <LI>.      Enha
0b00: 6e 63 65 64 20 44 62 44 61 74 61 52 65 61 64 65  nced DbDataReade
0b10: 72 2e 47 65 74 53 63 68 65 6d 61 54 61 62 6c 65  r.GetSchemaTable
0b20: 28 29 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  () functionality
0b30: 20 72 65 74 75 72 6e 73 20 63 61 74 61 6c 6f 67   returns catalog
0b40: 2c 20 6e 61 6d 65 73 70 61 63 65 20 0a 20 20 20  , namespace .   
0b50: 20 20 20 61 6e 64 20 64 65 74 61 69 6c 65 64 20     and detailed 
0b60: 73 63 68 65 6d 61 20 69 6e 66 6f 72 6d 61 74 69  schema informati
0b70: 6f 6e 20 65 76 65 6e 20 66 6f 72 20 63 6f 6d 70  on even for comp
0b80: 6c 65 78 20 71 75 65 72 69 65 73 2e 0a 20 20 20  lex queries..   
0b90: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 4e 61     <LI>.      Na
0ba0: 6d 65 64 20 61 6e 64 20 75 6e 6e 61 6d 65 64 20  med and unnamed 
0bb0: 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 20 20  parameters..    
0bc0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 75 6c    <LI>.      Ful
0bd0: 6c 20 55 54 46 2d 38 20 61 6e 64 20 55 54 46 2d  l UTF-8 and UTF-
0be0: 31 36 20 73 75 70 70 6f 72 74 2c 20 65 61 63 68  16 support, each
0bf0: 20 77 69 74 68 20 6f 70 74 69 6d 69 7a 65 64 20   with optimized 
0c00: 70 69 70 65 6c 69 6e 65 73 20 69 6e 74 6f 20 74  pipelines into t
0c10: 68 65 20 6e 61 74 69 76 65 20 0a 20 20 20 20 20  he native .     
0c20: 20 64 61 74 61 62 61 73 65 20 63 6f 72 65 2e 0a   database core..
0c30: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
0c40: 20 4d 75 6c 74 69 70 6c 65 20 73 69 6d 75 6c 74   Multiple simult
0c50: 61 6e 65 6f 75 73 20 44 61 74 61 52 65 61 64 65  aneous DataReade
0c60: 72 73 20 28 6f 6e 65 20 44 61 74 61 52 65 61 64  rs (one DataRead
0c70: 65 72 20 70 65 72 20 43 6f 6d 6d 61 6e 64 20 68  er per Command h
0c80: 6f 77 65 76 65 72 29 2e 0a 20 20 20 20 20 20 3c  owever)..      <
0c90: 4c 49 3e 0a 20 20 20 20 20 20 46 75 6c 6c 20 73  LI>.      Full s
0ca0: 75 70 70 6f 72 74 20 66 6f 72 20 75 73 65 72 2d  upport for user-
0cb0: 64 65 66 69 6e 65 64 20 73 63 61 6c 61 72 20 61  defined scalar a
0cc0: 6e 64 20 61 67 67 72 65 67 61 74 65 20 66 75 6e  nd aggregate fun
0cd0: 63 74 69 6f 6e 73 2c 20 65 6e 63 61 70 73 75 6c  ctions, encapsul
0ce0: 61 74 65 64 20 69 6e 74 6f 20 0a 20 20 20 20 20  ated into .     
0cf0: 20 61 6e 20 65 61 73 79 2d 74 6f 2d 75 73 65 20   an easy-to-use 
0d00: 62 61 73 65 20 63 6c 61 73 73 20 69 6e 20 77 68  base class in wh
0d10: 69 63 68 20 6f 6e 6c 79 20 61 20 63 6f 75 70 6c  ich only a coupl
0d20: 65 20 6f 66 20 6f 76 65 72 72 69 64 65 73 20 61  e of overrides a
0d30: 72 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20  re necessary to 
0d40: 0a 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74  .      implement
0d50: 20 6e 65 77 20 53 51 4c 20 66 75 6e 63 74 69 6f   new SQL functio
0d60: 6e 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  ns..      <LI>. 
0d70: 20 20 20 20 20 46 75 6c 6c 20 73 75 70 70 6f 72       Full suppor
0d80: 74 20 66 6f 72 20 75 73 65 72 2d 64 65 66 69 6e  t for user-defin
0d90: 65 64 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71  ed collating seq
0da0: 75 65 6e 63 65 73 2c 20 65 76 65 72 79 20 62 69  uences, every bi
0db0: 74 20 61 73 20 73 69 6d 70 6c 65 20 74 6f 20 0a  t as simple to .
0dc0: 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 20        implement 
0dd0: 61 73 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20  as user-defined 
0de0: 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 75 73  functions and us
0df0: 65 73 20 74 68 65 20 73 61 6d 65 20 62 61 73 65  es the same base
0e00: 20 63 6c 61 73 73 2e 0a 20 20 20 20 20 20 3c 4c   class..      <L
0e10: 49 3e 0a 20 20 20 20 20 20 20 20 46 75 6c 6c 20  I>.        Full 
0e20: 73 6f 75 72 63 65 20 66 6f 72 20 74 68 65 20 65  source for the e
0e30: 6e 74 69 72 65 20 65 6e 67 69 6e 65 20 61 6e 64  ntire engine and
0e40: 20 77 72 61 70 70 65 72 2e 26 6e 62 73 70 3b 20   wrapper.&nbsp; 
0e50: 4e 6f 20 63 6f 70 79 72 69 67 68 74 73 2e 26 6e  No copyrights.&n
0e60: 62 73 70 3b 20 0a 20 20 20 20 20 20 20 20 50 75  bsp; .        Pu
0e70: 62 6c 69 63 20 44 6f 6d 61 69 6e 2e 26 6e 62 73  blic Domain.&nbs
0e80: 70 3b 20 31 30 30 25 20 66 72 65 65 20 66 6f 72  p; 100% free for
0e90: 20 63 6f 6d 6d 65 72 63 69 61 6c 20 61 6e 64 20   commercial and 
0ea0: 6e 6f 6e 2d 63 6f 6d 6d 65 72 63 69 61 6c 20 75  non-commercial u
0eb0: 73 65 2e 26 6e 62 73 70 3b 3c 2f 4c 49 3e 3c 2f  se.&nbsp;</LI></
0ec0: 55 4c 3e 0a 20 20 20 20 3c 73 74 72 6f 6e 67 3e  UL>.    <strong>
0ed0: 3c 2f 73 74 72 6f 6e 67 3e 0a 20 20 20 20 3c 68  </strong>.    <h
0ee0: 32 3e 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67  2>.      <strong
0ef0: 3e 44 65 73 69 67 6e 2d 54 69 6d 65 20 53 75 70  >Design-Time Sup
0f00: 70 6f 72 74 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 68  port</strong></h
0f10: 32 3e 0a 20 20 20 20 3c 50 3e 0a 20 20 20 20 20  2>.    <P>.     
0f20: 20 49 6e 20 57 69 6e 64 6f 77 73 20 45 78 70 6c   In Windows Expl
0f30: 6f 72 65 72 2c 20 6e 61 76 69 67 61 74 65 20 74  orer, navigate t
0f40: 6f 20 74 68 65 20 3c 53 54 52 4f 4e 47 3e 53 51  o the <STRONG>SQ
0f50: 4c 69 74 65 2e 4e 45 54 5c 62 69 6e 5c 44 65 73  Lite.NET\bin\Des
0f60: 69 67 6e 65 72 3c 2f 53 54 52 4f 4e 47 3e 0a 20  igner</STRONG>. 
0f70: 20 20 20 20 20 20 20 66 6f 6c 64 65 72 20 61 6e         folder an
0f80: 64 20 65 78 65 63 75 74 65 20 74 68 65 20 3c 53  d execute the <S
0f90: 54 52 4f 4e 47 3e 49 4e 53 54 41 4c 4c 2e 45 58  TRONG>INSTALL.EX
0fa0: 45 3c 2f 53 54 52 4f 4e 47 3e 0a 20 20 20 20 20  E</STRONG>.     
0fb0: 20 66 69 6c 65 2e 26 6e 62 73 70 3b 20 54 68 65   file.&nbsp; The
0fc0: 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 0a 20 20   program will.  
0fd0: 20 20 20 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c      automaticall
0fe0: 79 20 64 65 74 65 63 74 20 77 68 61 74 20 76 65  y detect what ve
0ff0: 72 73 69 6f 6e 28 73 29 20 6f 66 20 56 69 73 75  rsion(s) of Visu
1000: 61 6c 20 53 74 75 64 69 6f 20 32 30 30 35 2f 32  al Studio 2005/2
1010: 30 30 38 20 61 72 65 20 69 6e 73 74 61 6c 6c 65  008 are installe
1020: 64 20 61 6e 64 20 61 6c 6c 6f 77 0a 20 20 20 20  d and allow.    
1030: 20 20 79 6f 75 20 74 6f 20 73 65 6c 65 63 74 69    you to selecti
1040: 76 65 6c 79 20 69 6e 73 74 61 6c 6c 20 61 6e 64  vely install and
1050: 20 75 6e 69 6e 73 74 61 6c 6c 20 74 68 65 20 64   uninstall the d
1060: 65 73 69 67 6e 65 72 20 66 6f 72 20 65 61 63 68  esigner for each
1070: 20 65 64 69 74 69 6f 6e 2e 3c 2f 50 3e 0a 20 20   edition.</P>.  
1080: 20 20 3c 48 32 3e 3c 53 54 52 4f 4e 47 3e 44 62    <H2><STRONG>Db
1090: 46 61 63 74 6f 72 79 20 53 75 70 70 6f 72 74 20  Factory Support 
10a0: 28 4e 6f 6e 2d 43 6f 6d 70 61 63 74 20 46 72 61  (Non-Compact Fra
10b0: 6d 65 77 6f 72 6b 29 3c 2f 53 54 52 4f 4e 47 3e  mework)</STRONG>
10c0: 3c 2f 48 32 3e 0a 20 20 20 20 49 6e 20 6f 72 64  </H2>.    In ord
10d0: 65 72 20 74 6f 20 75 73 65 20 74 68 65 20 53 51  er to use the SQ
10e0: 4c 69 74 65 46 61 63 74 6f 72 79 20 61 6e 64 20  LiteFactory and 
10f0: 68 61 76 65 20 74 68 65 20 53 51 4c 69 74 65 20  have the SQLite 
1100: 64 61 74 61 20 70 72 6f 76 69 64 65 72 20 65 6e  data provider en
1110: 75 6d 65 72 61 74 65 64 20 0a 20 20 20 20 69 6e  umerated .    in
1120: 20 74 68 65 20 44 62 50 72 6f 76 69 64 65 72 46   the DbProviderF
1130: 61 63 74 6f 72 69 65 73 20 6d 65 74 68 6f 64 73  actories methods
1140: 2c 20 79 6f 75 20 6d 75 73 74 20 61 64 64 20 74  , you must add t
1150: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 67  he following seg
1160: 6d 65 6e 74 20 69 6e 74 6f 20 79 6f 75 72 20 61  ment into your a
1170: 70 70 6c 69 63 61 74 69 6f 6e 27 73 20 61 70 70  pplication's app
1180: 2e 63 6f 6e 66 69 67 20 66 69 6c 65 3a 3c 62 72  .config file:<br
1190: 3e 0a 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 3c  >.    <br>.    <
11a0: 70 72 65 3e 26 6c 74 3b 63 6f 6e 66 69 67 75 72  pre>&lt;configur
11b0: 61 74 69 6f 6e 26 67 74 3b 0a 20 20 26 6c 74 3b  ation&gt;.  &lt;
11c0: 73 79 73 74 65 6d 2e 64 61 74 61 26 67 74 3b 0a  system.data&gt;.
11d0: 20 20 20 20 26 6c 74 3b 44 62 50 72 6f 76 69 64      &lt;DbProvid
11e0: 65 72 46 61 63 74 6f 72 69 65 73 26 67 74 3b 0a  erFactories&gt;.
11f0: 20 20 20 20 20 20 26 6c 74 3b 72 65 6d 6f 76 65        &lt;remove
1200: 20 69 6e 76 61 72 69 61 6e 74 3d 22 53 79 73 74   invariant="Syst
1210: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 22 2f  em.Data.SQLite"/
1220: 26 67 74 3b 0a 20 20 20 20 20 20 26 6c 74 3b 61  &gt;.      &lt;a
1230: 64 64 20 6e 61 6d 65 3d 22 53 51 4c 69 74 65 20  dd name="SQLite 
1240: 44 61 74 61 20 50 72 6f 76 69 64 65 72 22 20 69  Data Provider" i
1250: 6e 76 61 72 69 61 6e 74 3d 22 53 79 73 74 65 6d  nvariant="System
1260: 2e 44 61 74 61 2e 53 51 4c 69 74 65 22 20 64 65  .Data.SQLite" de
1270: 73 63 72 69 70 74 69 6f 6e 3d 22 2e 4e 65 74 20  scription=".Net 
1280: 46 72 61 6d 65 77 6f 72 6b 20 44 61 74 61 20 50  Framework Data P
1290: 72 6f 76 69 64 65 72 20 66 6f 72 20 53 51 4c 69  rovider for SQLi
12a0: 74 65 22 3c 42 52 20 3e 20 74 79 70 65 3d 22 53  te"<BR > type="S
12b0: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
12c0: 65 2e 53 51 4c 69 74 65 46 61 63 74 6f 72 79 2c  e.SQLiteFactory,
12d0: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c   System.Data.SQL
12e0: 69 74 65 22 20 2f 26 67 74 3b 0a 20 20 20 20 26  ite" /&gt;.    &
12f0: 6c 74 3b 2f 44 62 50 72 6f 76 69 64 65 72 46 61  lt;/DbProviderFa
1300: 63 74 6f 72 69 65 73 26 67 74 3b 0a 20 20 26 6c  ctories&gt;.  &l
1310: 74 3b 2f 73 79 73 74 65 6d 2e 64 61 74 61 26 67  t;/system.data&g
1320: 74 3b 0a 26 6c 74 3b 2f 63 6f 6e 66 69 67 75 72  t;.&lt;/configur
1330: 61 74 69 6f 6e 26 67 74 3b 0a 3c 2f 70 72 65 3e  ation&gt;.</pre>
1340: 0a 20 20 20 20 3c 70 3e 53 65 65 20 74 68 65 20  .    <p>See the 
1350: 68 65 6c 70 20 64 6f 63 75 6d 65 6e 74 61 74 69  help documentati
1360: 6f 6e 20 66 6f 72 20 66 75 72 74 68 65 72 20 64  on for further d
1370: 65 74 61 69 6c 73 20 6f 6e 20 69 6d 70 6c 65 6d  etails on implem
1380: 65 6e 74 69 6e 67 20 62 6f 74 68 20 76 65 72 73  enting both vers
1390: 69 6f 6e 2d 73 70 65 63 69 66 69 63 20 28 47 41  ion-specific (GA
13a0: 43 20 65 6e 61 62 6c 65 64 29 20 61 6e 64 20 76  C enabled) and v
13b0: 65 72 73 69 6f 6e 20 69 6e 64 65 70 65 6e 64 65  ersion independe
13c0: 6e 74 20 44 42 50 72 6f 76 69 64 65 72 46 61 63  nt DBProviderFac
13d0: 74 6f 72 69 65 73 20 73 75 70 70 6f 72 74 2e 0a  tories support..
13e0: 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 3c        </p>.    <
13f0: 68 33 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c  h3>.      Compil
1400: 69 6e 67 20 66 6f 72 20 74 68 65 20 43 6f 6d 70  ing for the Comp
1410: 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 3c 2f 68  act Framework</h
1420: 33 3e 0a 20 20 20 20 3c 70 3e 0a 20 20 20 20 20  3>.    <p>.     
1430: 20 4a 75 73 74 20 63 68 61 6e 67 65 20 74 68 65   Just change the
1440: 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d   target platform
1450: 20 66 72 6f 6d 20 57 69 6e 33 32 20 74 6f 20 43   from Win32 to C
1460: 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b  ompact Framework
1470: 20 61 6e 64 20 0a 20 20 20 20 20 20 72 65 63 6f   and .      reco
1480: 6d 70 69 6c 65 2e 26 6e 62 73 70 3b 20 3c 53 54  mpile.&nbsp; <ST
1490: 52 4f 4e 47 3e 54 68 65 20 43 6f 6d 70 61 63 74  RONG>The Compact
14a0: 20 46 72 61 6d 65 77 6f 72 6b 20 68 61 73 20 6e   Framework has n
14b0: 6f 20 73 75 70 70 6f 72 74 20 66 6f 72 20 65 6e  o support for en
14c0: 75 6d 65 72 61 74 69 6e 67 20 0a 20 20 20 20 20  umerating .     
14d0: 20 20 20 61 74 74 72 69 62 75 74 65 73 20 69 6e     attributes in
14e0: 20 61 6e 20 61 73 73 65 6d 62 6c 79 2c 20 74 68   an assembly, th
14f0: 65 72 65 66 6f 72 65 20 61 6c 6c 20 75 73 65 72  erefore all user
1500: 2d 64 65 66 69 6e 65 64 20 63 6f 6c 6c 61 74 69  -defined collati
1510: 6e 67 20 73 65 71 75 65 6e 63 65 73 20 61 6e 64  ng sequences and
1520: 20 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69   .        functi
1530: 6f 6e 73 20 6d 75 73 74 20 62 65 20 65 78 70 6c  ons must be expl
1540: 69 63 69 74 6c 79 20 72 65 67 69 73 74 65 72 65  icitly registere
1550: 64 2e 3c 2f 53 54 52 4f 4e 47 3e 26 6e 62 73 70  d.</STRONG>&nbsp
1560: 3b 20 53 65 65 20 74 68 65 20 3c 53 54 52 4f 4e  ; See the <STRON
1570: 47 3e 74 65 73 74 63 65 3c 2f 53 54 52 4f 4e 47  G>testce</STRONG
1580: 3e 0a 20 20 20 20 20 20 73 61 6d 70 6c 65 20 61  >.      sample a
1590: 70 70 6c 69 63 61 74 69 6f 6e 20 66 6f 72 20 61  pplication for a
15a0: 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 68 6f 77  n example of how
15b0: 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 72   to explicitly r
15c0: 65 67 69 73 74 65 72 20 75 73 65 72 2d 64 65 66  egister user-def
15d0: 69 6e 65 64 20 0a 20 20 20 20 20 20 63 6f 6c 6c  ined .      coll
15e0: 61 74 69 6e 67 20 73 65 71 75 65 6e 63 65 73 20  ating sequences 
15f0: 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f  and functions.</
1600: 70 3e 0a 20 20 20 20 3c 68 32 3e 0a 20 20 20 20  p>.    <h2>.    
1610: 20 20 3c 62 3e 3c 41 20 6e 61 6d 65 3d 22 72 65    <b><A name="re
1620: 64 69 73 74 22 3e 3c 2f 41 3e 44 69 73 74 72 69  dist"></A>Distri
1630: 62 75 74 69 6e 67 20 54 68 65 20 53 51 4c 69 74  buting The SQLit
1640: 65 20 45 6e 67 69 6e 65 20 61 6e 64 20 41 44 4f  e Engine and ADO
1650: 2e 4e 45 54 20 41 73 73 65 6d 62 6c 79 3c 2f 62  .NET Assembly</b
1660: 3e 3c 2f 68 32 3e 0a 20 20 20 20 3c 50 3e 0a 20  ></h2>.    <P>. 
1670: 20 20 20 20 20 4f 6e 6c 79 20 74 68 65 20 3c 53       Only the <S
1680: 54 52 4f 4e 47 3e 53 79 73 74 65 6d 2e 44 61 74  TRONG>System.Dat
1690: 61 2e 53 51 4c 69 74 65 2e 44 4c 4c 3c 2f 53 54  a.SQLite.DLL</ST
16a0: 52 4f 4e 47 3e 20 66 69 6c 65 20 6e 65 65 64 73  RONG> file needs
16b0: 20 74 6f 20 62 65 20 64 69 73 74 72 69 62 75 74   to be distribut
16c0: 65 64 20 77 69 74 68 20 79 6f 75 72 20 0a 20 20  ed with your .  
16d0: 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 28      application(
16e0: 73 29 2e 26 6e 62 73 70 3b 20 54 68 69 73 20 44  s).&nbsp; This D
16f0: 4c 4c 20 63 6f 6e 74 61 69 6e 73 20 62 6f 74 68  LL contains both
1700: 20 74 68 65 20 6d 61 6e 61 67 65 64 20 77 72 61   the managed wra
1710: 70 70 65 72 20 61 6e 64 20 74 68 65 20 6e 61 74  pper and the nat
1720: 69 76 65 20 0a 20 20 20 20 20 20 53 51 4c 69 74  ive .      SQLit
1730: 65 33 20 63 6f 64 65 62 61 73 65 2e 3c 2f 50 3e  e3 codebase.</P>
1740: 0a 20 20 20 20 3c 48 32 3e 3c 42 3e 44 65 76 65  .    <H2><B>Deve
1750: 6c 6f 70 6d 65 6e 74 20 4e 6f 74 65 73 20 52 65  lopment Notes Re
1760: 67 61 72 64 69 6e 67 20 74 68 65 20 53 51 4c 69  garding the SQLi
1770: 74 65 20 33 20 53 6f 75 72 63 65 20 43 6f 64 65  te 3 Source Code
1780: 3c 2f 42 3e 3c 2f 48 32 3e 0a 20 20 20 20 3c 70  </B></H2>.    <p
1790: 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 72 65  >.      The core
17a0: 20 73 71 6c 69 74 65 20 65 6e 67 69 6e 65 20 69   sqlite engine i
17b0: 73 20 63 6f 6d 70 69 6c 65 64 20 64 69 72 65 63  s compiled direc
17c0: 74 6c 79 20 66 72 6f 6d 20 74 68 65 20 75 6e 6d  tly from the unm
17d0: 6f 64 69 66 69 65 64 20 73 6f 75 72 63 65 20 63  odified source c
17e0: 6f 64 65 20 61 76 61 69 6c 61 62 6c 65 0a 20 20  ode available.  
17f0: 20 20 20 20 61 74 20 74 68 65 20 73 71 6c 69 74      at the sqlit
1800: 65 2e 6f 72 67 20 77 65 62 73 69 74 65 2e 26 6e  e.org website.&n
1810: 62 73 70 3b 20 53 65 76 65 72 61 6c 20 61 64 64  bsp; Several add
1820: 69 74 69 6f 6e 61 6c 20 70 69 65 63 65 73 20 61  itional pieces a
1830: 72 65 20 63 6f 6d 70 69 6c 65 64 20 6f 6e 20 74  re compiled on t
1840: 6f 70 20 6f 66 0a 20 20 20 20 20 20 69 74 20 74  op of.      it t
1850: 6f 20 65 78 74 65 6e 64 20 69 74 73 20 66 75 6e  o extend its fun
1860: 63 74 69 6f 6e 61 6c 69 74 79 2c 20 62 75 74 20  ctionality, but 
1870: 74 68 65 20 63 6f 72 65 20 65 6e 67 69 6e 65 27  the core engine'
1880: 73 20 73 6f 75 72 63 65 20 69 73 20 6e 6f 74 20  s source is not 
1890: 63 68 61 6e 67 65 64 2e 3c 2f 70 3e 0a 20 20 20  changed.</p>.   
18a0: 20 3c 70 3e 3c 2f 70 3e 0a 20 20 20 20 3c 70 3e   <p></p>.    <p>
18b0: 0a 20 20 20 20 20 20 3c 62 3e 56 65 72 73 69 6f  .      <b>Versio
18c0: 6e 20 48 69 73 74 6f 72 79 3c 2f 62 3e 3c 2f 70  n History</b></p
18d0: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
18e0: 35 34 2e 30 20 2d 20 4a 75 6c 79 20 32 35 2c 20  54.0 - July 25, 
18f0: 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2008</b></p>.   
1900: 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e   <ul>.      <li>
1910: 46 69 78 65 64 20 74 68 65 20 73 65 74 75 70 20  Fixed the setup 
1920: 70 72 6f 6a 65 63 74 2c 20 77 68 69 63 68 20 73  project, which s
1930: 6f 6d 65 68 6f 77 20 26 71 75 6f 74 3b 66 6f 72  omehow &quot;for
1940: 67 6f 74 26 71 75 6f 74 3b 20 74 6f 20 69 6e 63  got&quot; to inc
1950: 6c 75 64 65 20 61 6c 6c 20 74 68 65 20 62 69 6e  lude all the bin
1960: 61 72 69 65 73 20 69 6e 20 0a 20 20 20 20 20 20  aries in .      
1970: 20 20 74 68 65 20 35 33 20 72 65 6c 65 61 73 65    the 53 release
1980: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
1990: 3e 46 69 78 65 64 20 61 20 63 72 61 73 68 20 69  >Fixed a crash i
19a0: 6e 20 74 68 65 20 74 61 62 6c 65 20 64 65 73 69  n the table desi
19b0: 67 6e 65 72 20 77 68 65 6e 20 63 72 65 61 74 69  gner when creati
19c0: 6e 67 20 61 20 6e 65 77 20 74 61 62 6c 65 20 61  ng a new table a
19d0: 6e 64 20 74 61 62 62 69 6e 67 20 70 61 73 74 20  nd tabbing past 
19e0: 0a 20 20 20 20 20 20 20 20 74 68 65 20 26 71 75  .        the &qu
19f0: 6f 74 3b 41 6c 6c 6f 77 20 4e 75 6c 6c 73 26 71  ot;Allow Nulls&q
1a00: 75 6f 74 3b 20 63 65 6c 6c 20 69 6e 20 74 68 65  uot; cell in the
1a10: 20 67 72 69 64 20 77 68 69 6c 65 20 63 72 65 61   grid while crea
1a20: 74 69 6e 67 20 61 20 6e 65 77 20 63 6f 6c 75 6d  ting a new colum
1a30: 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  n.</li>.      <l
1a40: 69 3e 46 69 78 65 64 20 61 20 6d 6f 73 74 6c 79  i>Fixed a mostly
1a50: 2d 62 65 6e 69 67 6e 20 62 75 67 20 69 6e 20 53  -benign bug in S
1a60: 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 26  QLiteDataReader&
1a70: 23 33 39 3b 73 20 47 65 74 45 6e 75 6d 65 72 61  #39;s GetEnumera
1a80: 74 6f 72 2c 20 77 68 69 63 68 20 66 61 69 6c 65  tor, which faile
1a90: 64 20 74 6f 20 0a 20 20 20 20 20 20 20 20 70 61  d to .        pa
1aa0: 73 73 20 61 6c 6f 6e 67 20 61 20 66 6c 61 67 20  ss along a flag 
1ab0: 74 6f 20 74 68 65 20 75 6e 64 65 72 79 6c 69 6e  to the underylin
1ac0: 67 20 44 62 45 6e 75 6d 65 72 61 74 6f 72 20 69  g DbEnumerator i
1ad0: 74 20 63 72 65 61 74 65 73 2e 26 6e 62 73 70 3b  t creates.&nbsp;
1ae0: 20 54 68 69 73 20 6f 6e 65 26 23 33 39 3b 73 20   This one&#39;s 
1af0: 0a 20 20 20 20 20 20 20 20 62 65 65 6e 20 61 72  .        been ar
1b00: 6f 75 6e 64 20 73 69 6e 63 65 20 64 61 79 20 31  ound since day 1
1b10: 20 61 6e 64 20 6e 6f 62 6f 64 79 26 23 33 39 3b   and nobody&#39;
1b20: 73 20 6e 6f 74 69 63 65 64 20 69 74 20 69 6e 20  s noticed it in 
1b30: 61 6c 6c 20 74 68 65 73 65 20 79 65 61 72 73 2e  all these years.
1b40: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
1b50: 41 64 64 65 64 20 61 20 6e 65 77 20 63 6f 6e 6e  Added a new conn
1b60: 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 70 61  ection string pa
1b70: 72 61 6d 65 74 65 72 20 26 71 75 6f 74 3b 4a 6f  rameter &quot;Jo
1b80: 75 72 6e 61 6c 20 4d 6f 64 65 26 71 75 6f 74 3b  urnal Mode&quot;
1b90: 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 79 6f 75   that allows you
1ba0: 20 74 6f 20 73 65 74 20 0a 20 20 20 20 20 20 20   to set .       
1bb0: 20 74 68 65 20 53 51 4c 69 74 65 20 6a 6f 75 72   the SQLite jour
1bc0: 6e 61 6c 20 6d 6f 64 65 20 74 6f 20 44 65 6c 65  nal mode to Dele
1bd0: 74 65 2c 20 50 65 72 73 69 73 74 20 6f 72 20 4f  te, Persist or O
1be0: 66 66 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75  ff.</li>.    </u
1bf0: 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  l>.    <p><b>1.0
1c00: 2e 35 33 2e 30 20 2d 20 4a 75 6c 79 20 32 34 2c  .53.0 - July 24,
1c10: 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2008</b></p>.  
1c20: 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69    <ul>.      <li
1c30: 3e 45 6e 61 62 6c 65 64 20 73 71 6c 69 74 65 5f  >Enabled sqlite_
1c40: 6c 6f 61 64 5f 65 78 74 65 6e 73 69 6f 6e 3c 2f  load_extension</
1c50: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64  li>.      <li>Ad
1c60: 64 65 64 20 72 65 74 72 79 2f 74 69 6d 65 6f 75  ded retry/timeou
1c70: 74 20 63 6f 64 65 20 74 6f 20 53 51 4c 69 74 65  t code to SQLite
1c80: 33 2e 50 72 65 70 61 72 65 28 29 20 77 68 65 6e  3.Prepare() when
1c90: 20 70 72 65 70 61 72 69 6e 67 20 73 74 61 74 65   preparing state
1ca0: 6d 65 6e 74 73 20 66 6f 72 20 0a 20 20 20 20 20  ments for .     
1cb0: 20 20 20 65 78 65 63 75 74 69 6f 6e 20 61 6e 64     execution and
1cc0: 20 61 20 53 51 4c 49 54 45 5f 42 55 53 59 20 65   a SQLITE_BUSY e
1cd0: 72 72 6f 72 20 6f 63 63 75 72 73 2e 3c 2f 6c 69  rror occurs.</li
1ce0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  >.      <li>Adde
1cf0: 64 20 61 20 6e 65 77 20 73 63 68 65 6d 61 20 74  d a new schema t
1d00: 6f 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69  o SQLiteConnecti
1d10: 6f 6e 2e 47 65 74 53 63 68 65 6d 61 28 29 20 63  on.GetSchema() c
1d20: 61 6c 6c 65 64 20 3c 69 3e 54 72 69 67 67 65 72  alled <i>Trigger
1d30: 73 3c 2f 69 3e 2e 26 6e 62 73 70 3b 20 0a 20 20  s</i>.&nbsp; .  
1d40: 20 20 20 20 20 20 55 73 65 64 20 74 6f 20 72 65        Used to re
1d50: 74 72 69 65 76 65 20 74 68 65 20 74 72 69 67 67  trieve the trigg
1d60: 65 72 28 73 29 20 61 73 73 6f 63 69 61 74 65 64  er(s) associated
1d70: 20 77 69 74 68 20 61 20 64 61 74 61 62 61 73 65   with a database
1d80: 20 61 6e 64 2f 6f 72 20 74 61 62 6c 65 2f 76 69   and/or table/vi
1d90: 65 77 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ew.</li>.      <
1da0: 6c 69 3e 45 78 74 65 6e 73 69 76 65 20 75 70 64  li>Extensive upd
1db0: 61 74 65 73 20 74 6f 20 74 61 62 6c 65 2f 76 69  ates to table/vi
1dc0: 65 77 20 65 64 69 74 69 6e 67 20 63 61 70 61 62  ew editing capab
1dd0: 69 6c 69 74 69 65 73 20 69 6e 73 69 64 65 20 56  ilities inside V
1de0: 69 73 75 61 6c 20 53 74 75 64 69 6f 26 23 33 39  isual Studio&#39
1df0: 3b 73 20 0a 20 20 20 20 20 20 20 20 53 65 72 76  ;s .        Serv
1e00: 65 72 20 45 78 70 6c 6f 72 65 72 2e 26 6e 62 73  er Explorer.&nbs
1e10: 70 3b 20 54 68 65 20 70 72 6f 67 72 61 6d 20 6e  p; The program n
1e20: 6f 77 20 70 61 72 73 65 73 20 61 6e 64 20 6c 65  ow parses and le
1e30: 74 73 20 79 6f 75 20 65 64 69 74 20 43 48 45 43  ts you edit CHEC
1e40: 4b 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 6e  K constraints an
1e50: 64 20 0a 20 20 20 20 20 20 20 20 74 72 69 67 67  d .        trigg
1e60: 65 72 73 20 6f 6e 20 61 20 74 61 62 6c 65 2c 20  ers on a table, 
1e70: 61 73 20 77 65 6c 6c 20 61 73 20 64 65 66 69 6e  as well as defin
1e80: 65 20 74 72 69 67 67 65 72 73 20 6f 6e 20 76 69  e triggers on vi
1e90: 65 77 73 2e 26 6e 62 73 70 3b 20 45 78 70 65 72  ews.&nbsp; Exper
1ea0: 69 6d 65 6e 74 61 6c 20 0a 20 20 20 20 20 20 20  imental .       
1eb0: 20 73 74 69 6c 6c 2c 20 73 6f 20 65 2d 6d 61 69   still, so e-mai
1ec0: 6c 20 6d 65 20 69 66 20 79 6f 75 20 68 61 76 65  l me if you have
1ed0: 20 69 73 73 75 65 73 2e 3c 2f 6c 69 3e 0a 20 20   issues.</li>.  
1ee0: 20 20 20 20 3c 6c 69 3e 4d 69 6e 6f 72 20 62 75      <li>Minor bu
1ef0: 67 66 69 78 20 74 6f 20 74 68 65 20 56 69 65 77  gfix to the View
1f00: 43 6f 6c 75 6d 6e 73 20 73 63 68 65 6d 61 20 74  Columns schema t
1f10: 6f 20 72 65 74 75 72 6e 20 74 68 65 20 70 72 6f  o return the pro
1f20: 70 65 72 20 62 61 73 65 20 63 6f 6c 75 6d 6e 20  per base column 
1f30: 6e 61 6d 65 20 0a 20 20 20 20 20 20 20 20 66 6f  name .        fo
1f40: 72 20 61 20 76 69 65 77 20 74 68 61 74 20 61 6c  r a view that al
1f50: 69 61 73 65 73 20 61 20 63 6f 6c 75 6d 6e 2e 3c  iases a column.<
1f60: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  /li>.      <li>F
1f70: 69 78 65 64 20 74 68 65 20 69 6e 73 65 72 74 2f  ixed the insert/
1f80: 75 70 64 61 74 65 2f 64 65 6c 65 74 65 20 44 4d  update/delete DM
1f90: 4c 20 73 75 70 70 6f 72 74 20 69 6e 20 74 68 65  L support in the
1fa0: 20 4c 69 6e 71 20 6d 6f 64 75 6c 65 2e 3c 2f 6c   Linq module.</l
1fb0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 43 68 61  i>.      <li>Cha
1fc0: 6e 67 65 64 20 74 68 65 20 62 65 68 61 76 69 6f  nged the behavio
1fd0: 72 20 6f 66 20 53 51 4c 69 74 65 43 6f 6d 6d 61  r of SQLiteComma
1fe0: 6e 64 20 74 6f 20 61 6c 6c 6f 77 20 61 20 74 72  nd to allow a tr
1ff0: 61 6e 73 61 63 74 69 6f 6e 20 74 6f 20 62 65 20  ansaction to be 
2000: 73 65 74 20 65 76 65 6e 20 69 66 20 0a 20 20 20  set even if .   
2010: 20 20 20 20 20 74 68 65 20 63 6f 6d 6d 61 6e 64       the command
2020: 20 68 61 73 6e 26 23 33 39 3b 74 20 62 65 65 6e   hasn&#39;t been
2030: 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68   associated with
2040: 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 79 65   a connection ye
2050: 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c  t.</li>.    </ul
2060: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
2070: 35 32 2e 30 20 2d 20 4a 75 6c 79 20 31 36 2c 20  52.0 - July 16, 
2080: 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2008</b></p>.   
2090: 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e   <ul>.      <li>
20a0: 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20  Code merge with 
20b0: 53 51 4c 69 74 65 20 33 2e 36 2e 30 3c 2f 6c 69  SQLite 3.6.0</li
20c0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  >.      <li>Adde
20d0: 64 20 61 20 6c 6f 74 20 6f 66 20 70 72 65 76 69  d a lot of previ
20e0: 6f 75 73 6c 79 2d 6d 69 73 73 69 6e 67 20 65 78  ously-missing ex
20f0: 70 6f 72 74 73 20 74 6f 20 74 68 65 20 44 45 46  ports to the DEF
2100: 20 66 69 6c 65 20 66 6f 72 20 74 68 65 20 0a 20   file for the . 
2110: 20 20 20 20 20 20 20 6e 61 74 69 76 65 20 6c 69         native li
2120: 62 72 61 72 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20  brary.</li>.    
2130: 20 20 3c 6c 69 3e 46 69 78 65 64 20 53 51 4c 69    <li>Fixed SQLi
2140: 74 65 44 61 74 61 52 65 61 64 65 72 20 74 6f 20  teDataReader to 
2150: 63 68 65 63 6b 20 66 6f 72 20 61 6e 20 69 6e 76  check for an inv
2160: 61 6c 69 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  alid connection 
2170: 62 65 66 6f 72 65 20 6f 70 65 72 61 74 69 6e 67  before operating
2180: 20 6f 6e 20 0a 20 20 20 20 20 20 20 20 61 6e 20   on .        an 
2190: 6f 70 65 6e 20 63 75 72 73 6f 72 2e 3c 2f 6c 69  open cursor.</li
21a0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 49 6d 70 6c  >.      <li>Impl
21b0: 65 6d 65 6e 74 65 64 20 74 68 65 20 43 61 6e 63  emented the Canc
21c0: 65 6c 28 29 20 66 75 6e 63 74 69 6f 6e 20 6f 66  el() function of
21d0: 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 74   SQLiteCommand t
21e0: 6f 20 63 61 6e 63 65 6c 20 61 6e 20 61 63 74 69  o cancel an acti
21f0: 76 65 20 72 65 61 64 65 72 2e 3c 2f 6c 69 3e 0a  ve reader.</li>.
2200: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
2210: 62 65 74 61 20 74 61 62 6c 65 20 61 6e 64 20 76  beta table and v
2220: 69 65 77 20 64 65 73 69 67 6e 65 72 73 20 74 6f  iew designers to
2230: 20 74 68 65 20 56 69 73 75 61 6c 20 53 74 75 64   the Visual Stud
2240: 69 6f 20 53 65 72 76 65 72 20 45 78 70 6c 6f 72  io Server Explor
2250: 65 72 2e 26 6e 62 73 70 3b 20 59 6f 75 20 63 61  er.&nbsp; You ca
2260: 6e 20 6e 6f 77 20 0a 20 20 20 20 20 20 20 20 65  n now .        e
2270: 64 69 74 2f 63 72 65 61 74 65 20 74 61 62 6c 65  dit/create table
2280: 73 20 61 6e 64 20 76 69 65 77 73 2c 20 6d 61 6e  s and views, man
2290: 61 67 65 20 69 6e 64 65 78 65 73 20 61 6e 64 20  age indexes and 
22a0: 66 6f 72 65 69 67 6e 20 6b 65 79 73 20 66 72 6f  foreign keys fro
22b0: 6d 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 2e  m Visual Studio.
22c0: 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20 20 20  &nbsp; .        
22d0: 54 68 69 73 20 66 65 61 74 75 72 65 20 69 73 20  This feature is 
22e0: 73 74 69 6c 6c 20 75 6e 64 65 72 67 6f 69 6e 67  still undergoing
22f0: 20 74 65 73 74 69 6e 67 20 73 6f 20 75 73 65 20   testing so use 
2300: 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b  at your own risk
2310: 21 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  !</li>.      <li
2320: 3e 46 69 78 65 64 20 74 68 65 20 53 65 72 76 65  >Fixed the Serve
2330: 72 20 45 78 70 6c 6f 72 65 72 20 73 6f 20 56 53  r Explorer so VS
2340: 32 30 30 35 20 75 73 65 72 73 20 63 61 6e 20 6f  2005 users can o
2350: 6e 63 65 20 61 67 61 69 6e 20 72 69 67 68 74 2d  nce again right-
2360: 63 6c 69 63 6b 20 74 61 62 6c 65 73 20 0a 20 20  click tables .  
2370: 20 20 20 20 20 20 61 6e 64 20 76 69 65 77 73 20        and views 
2380: 61 6e 64 20 6f 70 65 6e 20 74 68 65 20 74 61 62  and open the tab
2390: 6c 65 20 64 61 74 61 2e 3c 2f 6c 69 3e 0a 20 20  le data.</li>.  
23a0: 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 6f      <li>Added so
23b0: 6d 65 20 6e 65 77 20 69 6e 74 65 72 6f 70 20 63  me new interop c
23c0: 6f 64 65 20 74 6f 20 61 73 73 69 73 74 20 69 6e  ode to assist in
23d0: 20 72 65 74 75 72 6e 69 6e 67 20 6d 6f 72 65 20   returning more 
23e0: 6d 65 74 61 64 61 74 61 20 6e 6f 74 20 6e 6f 72  metadata not nor
23f0: 6d 61 6c 6c 79 20 0a 20 20 20 20 20 20 20 20 61  mally .        a
2400: 76 61 69 6c 61 62 6c 65 20 74 68 72 6f 75 67 68  vailable through
2410: 20 74 68 65 20 53 51 4c 69 74 65 20 41 50 49 2e   the SQLite API.
2420: 26 6e 62 73 70 3b 20 53 70 65 63 69 66 69 63 61  &nbsp; Specifica
2430: 6c 6c 79 2c 20 69 6e 64 65 78 20 63 6f 6c 75 6d  lly, index colum
2440: 6e 20 73 6f 72 74 20 6d 6f 64 65 73 20 0a 20 20  n sort modes .  
2450: 20 20 20 20 20 20 61 6e 64 20 63 6f 6c 6c 61 74        and collat
2460: 69 6e 67 20 73 65 71 75 65 6e 63 65 73 2e 26 6e  ing sequences.&n
2470: 62 73 70 3b 20 41 6c 73 6f 20 61 64 64 65 64 20  bsp; Also added 
2480: 63 6f 64 65 20 74 6f 20 64 65 74 65 63 74 20 28  code to detect (
2490: 62 75 74 20 6e 6f 74 20 70 61 72 73 65 29 20 43  but not parse) C
24a0: 48 45 43 4b 20 0a 20 20 20 20 20 20 20 20 63 6f  HECK .        co
24b0: 6e 73 74 72 61 69 6e 74 73 2c 20 73 6f 20 74 68  nstraints, so th
24c0: 65 20 74 61 62 6c 65 20 64 65 73 69 67 6e 65 72  e table designer
24d0: 20 63 61 6e 20 70 6f 70 20 75 70 20 61 20 77 61   can pop up a wa
24e0: 72 6e 69 6e 67 20 77 68 65 6e 20 65 64 69 74 69  rning when editi
24f0: 6e 67 20 61 20 74 61 62 6c 65 20 0a 20 20 20 20  ng a table .    
2500: 20 20 20 20 77 69 74 68 20 74 68 65 73 65 20 63      with these c
2510: 6f 6e 73 74 72 61 69 6e 74 73 2e 26 6e 62 73 70  onstraints.&nbsp
2520: 3b 20 53 69 6e 63 65 20 49 20 63 61 6e 26 23 33  ; Since I can&#3
2530: 39 3b 74 20 63 75 72 72 65 6e 74 6c 79 20 70 61  9;t currently pa
2540: 72 73 65 20 74 68 65 6d 2e 3c 2f 6c 69 3e 0a 20  rse them.</li>. 
2550: 20 20 20 20 20 3c 6c 69 3e 4c 6f 74 73 20 6f 66       <li>Lots of
2560: 20 4c 49 4e 51 20 53 51 4c 20 67 65 6e 65 72 61   LINQ SQL genera
2570: 74 69 6f 6e 20 69 6d 70 72 6f 76 65 6d 65 6e 74  tion improvement
2580: 73 20 61 6e 64 20 66 69 78 65 73 2e 3c 2f 6c 69  s and fixes.</li
2590: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 61 64 65  >.      <li>Made
25a0: 20 73 6f 6d 65 20 70 72 6f 67 72 65 73 73 20 63   some progress c
25b0: 6c 65 61 6e 69 6e 67 20 75 70 20 61 6e 64 20 66  leaning up and f
25c0: 69 78 69 6e 67 20 75 70 20 74 68 65 20 73 63 68  ixing up the sch
25d0: 65 6d 61 20 64 65 66 69 6e 69 74 69 6f 6e 73 20  ema definitions 
25e0: 61 6e 64 20 0a 20 20 20 20 20 20 20 20 6d 61 6e  and .        man
25f0: 69 66 65 73 74 73 20 66 6f 72 20 45 64 6d 47 65  ifests for EdmGe
2600: 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  n.</li>.      <l
2610: 69 3e 41 64 64 65 64 20 61 20 62 75 69 6c 74 2d  i>Added a built-
2620: 69 6e 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f  in SQLiteFunctio
2630: 6e 20 63 61 6c 6c 65 64 20 6c 61 73 74 5f 72 6f  n called last_ro
2640: 77 73 5f 61 66 66 65 63 74 65 64 28 29 20 77 68  ws_affected() wh
2650: 69 63 68 20 63 61 6e 20 62 65 20 0a 20 20 20 20  ich can be .    
2660: 20 20 20 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20      called from 
2670: 53 51 4c 20 74 6f 20 67 65 74 20 74 68 65 20 6e  SQL to get the n
2680: 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 66  umber of rows af
2690: 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6c 61  fected by the la
26a0: 73 74 20 75 70 64 61 74 65 2f 69 6e 73 65 72 74  st update/insert
26b0: 20 0a 20 20 20 20 20 20 20 20 6f 70 65 72 61 74   .        operat
26c0: 69 6f 6e 20 6f 6e 20 74 68 65 20 63 6f 6e 6e 65  ion on the conne
26d0: 63 74 69 6f 6e 2e 26 6e 62 73 70 3b 20 54 68 69  ction.&nbsp; Thi
26e0: 73 20 69 73 20 72 6f 75 67 68 6c 79 20 65 71 75  s is roughly equ
26f0: 69 76 61 6c 65 6e 74 20 74 6f 20 53 71 6c 20 53  ivalent to Sql S
2700: 65 72 76 65 72 26 23 33 39 3b 73 20 0a 20 20 20  erver&#39;s .   
2710: 20 20 20 20 20 40 40 52 4f 57 43 4f 55 4e 54 20       @@ROWCOUNT 
2720: 76 61 72 69 61 62 6c 65 2e 3c 2f 6c 69 3e 20 20  variable.</li>  
2730: 20 20 20 20 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20      .    </ul>. 
2740: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 35 31 2e     <p><b>1.0.51.
2750: 30 20 2d 20 4a 75 6c 79 20 31 2c 20 32 30 30 38  0 - July 1, 2008
2760: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
2770: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 3c 62 3e 56  >.      <li><b>V
2780: 53 32 30 30 38 20 53 50 31 20 42 65 74 61 31 20  S2008 SP1 Beta1 
2790: 4c 49 4e 51 20 53 75 70 70 6f 72 74 3c 2f 62 3e  LINQ Support</b>
27a0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
27b0: 41 64 64 65 64 20 65 78 70 65 72 69 6d 65 6e 74  Added experiment
27c0: 61 6c 20 45 6e 74 69 74 79 20 46 72 61 6d 65 77  al Entity Framew
27d0: 6f 72 6b 20 73 75 70 70 6f 72 74 20 69 6e 20 61  ork support in a
27e0: 20 6e 65 77 20 6c 69 62 72 61 72 79 2c 20 0a 20   new library, . 
27f0: 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e 44 61         System.Da
2800: 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 2e 26  ta.SQLite.Linq.&
2810: 6e 62 73 70 3b 20 53 6f 6d 65 20 74 68 69 6e 67  nbsp; Some thing
2820: 73 20 77 6f 72 6b 2c 20 73 6f 6d 65 20 64 6f 6e  s work, some don
2830: 26 23 33 39 3b 74 2e 26 6e 62 73 70 3b 20 49 20  &#39;t.&nbsp; I 
2840: 68 61 76 65 6e 26 23 33 39 3b 74 20 0a 20 20 20  haven&#39;t .   
2850: 20 20 20 20 20 66 69 6e 69 73 68 65 64 20 72 69       finished ri
2860: 67 67 69 6e 67 20 65 76 65 72 79 74 68 69 6e 67  gging everything
2870: 20 75 70 20 79 65 74 2e 26 6e 62 73 70 3b 20 54   up yet.&nbsp; T
2880: 68 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20  he core library 
2890: 72 65 6d 61 69 6e 73 20 73 74 61 62 6c 65 2e 26  remains stable.&
28a0: 6e 62 73 70 3b 20 0a 20 20 20 20 20 20 20 20 41  nbsp; .        A
28b0: 6c 6c 20 4c 49 4e 51 2d 73 70 65 63 69 66 69 63  ll LINQ-specific
28c0: 20 63 6f 64 65 20 69 73 20 63 6f 6d 70 6c 65 74   code is complet
28d0: 65 6c 79 20 73 65 70 61 72 61 74 65 20 66 72 6f  ely separate fro
28e0: 6d 20 74 68 65 20 63 6f 72 65 2e 3c 2f 6c 69 3e  m the core.</li>
28f0: 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64  .      <li>Added
2900: 20 73 6f 6d 65 20 63 6f 6c 75 6d 6e 73 20 74 6f   some columns to
2910: 20 73 65 76 65 72 61 6c 20 65 78 69 73 74 69 6e   several existin
2920: 67 20 73 63 68 65 6d 61 73 20 74 6f 20 73 75 70  g schemas to sup
2930: 70 6f 72 74 20 73 6f 6d 65 20 6f 66 20 74 68 65  port some of the
2940: 20 0a 20 20 20 20 20 20 20 20 45 44 4d 20 66 72   .        EDM fr
2950: 61 6d 65 77 6f 72 6b 20 73 74 75 66 66 2e 3c 2f  amework stuff.</
2960: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 69  li>.      <li>Mi
2970: 6e 6f 72 20 74 77 65 61 6b 73 20 74 6f 20 74 68  nor tweaks to th
2980: 65 20 66 61 63 74 6f 72 79 20 74 6f 20 62 65 74  e factory to bet
2990: 74 65 72 20 73 75 70 70 6f 72 74 20 64 79 6e 61  ter support dyna
29a0: 6d 69 63 20 6c 6f 61 64 69 6e 67 20 6f 66 20 74  mic loading of t
29b0: 68 65 20 4c 69 6e 71 20 0a 20 20 20 20 20 20 20  he Linq .       
29c0: 20 65 78 74 65 6e 73 69 6f 6e 20 6c 69 62 72 61   extension libra
29d0: 72 79 20 66 6f 72 20 53 51 4c 69 74 65 2e 3c 2f  ry for SQLite.</
29e0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 53 51  li>.      <li>SQ
29f0: 4c 69 74 65 26 23 33 39 3b 73 20 62 75 73 79 20  Lite&#39;s busy 
2a00: 68 61 6e 64 6c 65 72 20 77 61 73 20 69 6e 74 65  handler was inte
2a10: 72 66 65 72 69 6e 67 20 77 69 74 68 20 74 68 65  rfering with the
2a20: 20 70 72 6f 76 69 64 65 72 26 23 33 39 3b 73 20   provider&#39;s 
2a30: 62 75 73 79 20 68 61 6e 64 6c 69 6e 67 20 0a 20  busy handling . 
2a40: 20 20 20 20 20 20 20 6d 65 63 68 61 6e 69 73 6d         mechanism
2a50: 2c 20 73 6f 20 69 74 73 20 62 65 65 6e 20 64 69  , so its been di
2a60: 73 61 62 6c 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20  sabled.</li>.   
2a70: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
2a80: 3e 31 2e 30 2e 35 30 2e 30 20 2d 20 4a 75 6e 65  >1.0.50.0 - June
2a90: 20 32 37 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70   27, 2008</b></p
2aa0: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20  >.    <ul>.     
2ab0: 20 3c 6c 69 3e 46 69 78 65 64 20 73 6f 6d 65 20   <li>Fixed some 
2ac0: 6c 69 6e 67 65 72 69 6e 67 20 64 69 73 70 6f 73  lingering dispos
2ad0: 65 20 69 73 73 75 65 73 20 61 6e 64 20 72 61 63  e issues and rac
2ae0: 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 77 68 65  e conditions whe
2af0: 6e 20 73 6f 6d 65 20 6f 62 6a 65 63 74 73 20 77  n some objects w
2b00: 65 72 65 20 66 69 6e 61 6c 69 7a 65 64 2e 3c 2f  ere finalized.</
2b10: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
2b20: 78 65 64 20 74 68 65 20 53 51 4c 69 74 65 43 6f  xed the SQLiteCo
2b30: 6e 76 65 72 74 2e 53 70 6c 69 74 28 29 20 72 6f  nvert.Split() ro
2b40: 75 74 69 6e 65 20 74 6f 20 62 65 20 61 20 6c 69  utine to be a li
2b50: 74 74 6c 65 20 73 6d 61 72 74 65 72 20 77 68 65  ttle smarter whe
2b60: 6e 20 73 70 6c 69 74 74 69 6e 67 20 0a 20 20 20  n splitting .   
2b70: 20 20 20 20 20 73 74 72 69 6e 67 73 2c 20 77 68       strings, wh
2b80: 69 63 68 20 73 6f 6c 76 65 73 20 74 68 65 20 71  ich solves the q
2b90: 75 6f 74 65 64 20 64 61 74 61 20 73 6f 75 72 63  uoted data sourc
2ba0: 65 20 66 69 6c 65 6e 61 6d 65 20 70 72 6f 62 6c  e filename probl
2bb0: 65 6d 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  em.</li>.      <
2bc0: 6c 69 3e 45 6e 68 61 6e 63 65 64 20 74 68 65 20  li>Enhanced the 
2bd0: 6d 65 72 67 65 62 69 6e 20 75 74 69 6c 69 74 79  mergebin utility
2be0: 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20   to work around 
2bf0: 74 68 65 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20  the strong name 
2c00: 76 61 6c 69 64 61 74 69 6f 6e 20 62 75 67 20 6f  validation bug o
2c10: 6e 20 0a 20 20 20 20 20 20 20 20 74 68 65 20 43  n .        the C
2c20: 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b  ompact Framework
2c30: 2e 26 6e 62 73 70 3b 20 54 68 65 20 6f 6c 64 20  .&nbsp; The old 
2c40: 77 6f 72 6b 61 72 6f 75 6e 64 20 6b 6c 75 64 67  workaround kludg
2c50: 65 64 20 74 68 65 20 44 4c 4c 20 61 6e 64 20 63  ed the DLL and c
2c60: 61 75 73 65 64 20 57 4d 36 2e 31 20 0a 20 20 20  aused WM6.1 .   
2c70: 20 20 20 20 20 74 6f 20 66 61 69 6c 20 74 6f 20       to fail to 
2c80: 6c 6f 61 64 20 69 74 2e 26 6e 62 73 70 3b 20 54  load it.&nbsp; T
2c90: 68 69 73 20 6e 65 77 20 73 6f 6c 75 74 69 6f 6e  his new solution
2ca0: 20 69 73 20 70 65 72 6d 61 6e 65 6e 74 20 61 6e   is permanent an
2cb0: 64 20 6e 6f 20 6c 6f 6e 67 65 72 20 6b 6c 75 64  d no longer klud
2cc0: 67 65 73 20 0a 20 20 20 20 20 20 20 20 74 68 65  ges .        the
2cd0: 20 44 4c 4c 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c   DLL.</li>.    <
2ce0: 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  /ul>.    <p><b>1
2cf0: 2e 30 2e 34 39 2e 30 20 2d 20 4d 61 79 20 32 38  .0.49.0 - May 28
2d00: 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2008</b></p>. 
2d10: 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c     <ul>.      <l
2d20: 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74  i>Code merge wit
2d30: 68 20 53 51 4c 69 74 65 20 33 2e 35 2e 39 3c 2f  h SQLite 3.5.9</
2d40: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
2d50: 78 65 64 20 73 63 68 65 6d 61 20 70 72 6f 62 6c  xed schema probl
2d60: 65 6d 73 20 77 68 65 6e 20 71 75 65 72 79 69 6e  ems when queryin
2d70: 67 20 74 68 65 20 54 45 4d 50 20 63 61 74 61 6c  g the TEMP catal
2d80: 6f 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  og.</li>.      <
2d90: 6c 69 3e 43 68 61 6e 67 65 64 20 42 4c 4f 42 20  li>Changed BLOB 
2da0: 64 61 74 61 74 79 70 65 20 73 63 68 65 6d 61 20  datatype schema 
2db0: 74 6f 20 72 65 74 75 72 6e 20 49 73 4c 6f 6e 67  to return IsLong
2dc0: 20 3d 20 46 61 6c 73 65 20 69 6e 73 74 65 61 64   = False instead
2dd0: 20 6f 66 20 54 72 75 65 2e 26 6e 62 73 70 3b 20   of True.&nbsp; 
2de0: 54 68 69 73 0a 20 20 20 20 20 20 20 20 77 61 73  This.        was
2df0: 20 70 72 65 76 65 6e 74 69 6e 67 20 44 62 43 6f   preventing DbCo
2e00: 6d 6d 61 6e 64 42 75 69 6c 64 65 72 20 66 72 6f  mmandBuilder fro
2e10: 6d 20 75 73 69 6e 67 20 47 55 49 44 27 73 20 61  m using GUID's a
2e20: 6e 64 20 42 4c 4f 42 27 73 20 61 73 20 70 72 69  nd BLOB's as pri
2e30: 6d 61 72 79 20 6b 65 79 73 2e 3c 2f 6c 69 3e 0a  mary keys.</li>.
2e40: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 20 72 6f        <li>Fix ro
2e50: 6c 6c 6f 76 65 72 20 69 73 73 75 65 20 77 69 74  llover issue wit
2e60: 68 20 53 51 4c 69 74 65 33 2e 52 65 73 65 74 28  h SQLite3.Reset(
2e70: 29 20 75 73 69 6e 67 20 54 69 63 6b 43 6f 75 6e  ) using TickCoun
2e80: 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  t.</li>.      <l
2e90: 69 3e 46 69 78 65 64 20 53 51 4c 69 74 65 44 61  i>Fixed SQLiteDa
2ea0: 74 61 52 65 61 64 65 72 20 74 6f 20 64 69 73 70  taReader to disp
2eb0: 6f 73 65 20 6f 66 20 69 74 73 20 63 6f 6d 6d 61  ose of its comma
2ec0: 6e 64 20 28 69 66 20 63 61 6c 6c 65 64 20 66 6f  nd (if called fo
2ed0: 72 29 20 62 65 66 6f 72 65 20 0a 20 20 20 20 20  r) before .     
2ee0: 20 20 20 63 6c 6f 73 69 6e 67 20 74 68 65 20 63     closing the c
2ef0: 6f 6e 6e 65 63 74 69 6f 6e 20 28 77 68 65 6e 20  onnection (when 
2f00: 66 6c 61 67 67 65 64 20 74 6f 20 64 6f 20 73 6f  flagged to do so
2f10: 29 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65  ) instead of the
2f20: 20 6f 74 68 65 72 20 77 61 79 20 61 72 6f 75 6e   other way aroun
2f30: 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  d.</li>.      <l
2f40: 69 3e 46 69 78 65 64 20 61 20 44 62 4e 75 6c 6c  i>Fixed a DbNull
2f50: 20 65 72 72 6f 72 20 77 68 65 6e 20 72 65 74 72   error when retr
2f60: 69 65 76 69 6e 67 20 69 74 65 6d 73 20 6e 6f 74  ieving items not
2f70: 20 62 61 63 6b 65 64 20 62 79 20 61 20 74 61 62   backed by a tab
2f80: 6c 65 20 73 63 68 65 6d 61 2e 3c 2f 6c 69 3e 0a  le schema.</li>.
2f90: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
2fa0: 66 6f 72 65 69 67 6e 20 6b 65 79 20 63 6f 6e 73  foreign key cons
2fb0: 74 72 61 69 6e 74 20 70 61 72 73 69 6e 67 20 62  traint parsing b
2fc0: 75 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ug.</li>.      <
2fd0: 6c 69 3e 41 64 64 65 64 20 46 61 69 6c 49 66 4d  li>Added FailIfM
2fe0: 69 73 73 69 6e 67 20 70 72 6f 70 65 72 74 79 20  issing property 
2ff0: 74 6f 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e  to the SQLiteCon
3000: 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 42 75 69  nectionStringBui
3010: 6c 64 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  lder.</li>.     
3020: 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 65 64 20 74   <li>Converted t
3030: 68 65 20 73 6f 75 72 63 65 20 70 72 6f 6a 65 63  he source projec
3040: 74 73 20 74 6f 20 56 69 73 75 61 6c 20 53 74 75  ts to Visual Stu
3050: 64 69 6f 20 32 30 30 38 2e 3c 2f 6c 69 3e 0a 20  dio 2008.</li>. 
3060: 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e     </ul>.    <p>
3070: 3c 62 3e 31 2e 30 2e 34 38 2e 30 20 2d 20 44 65  <b>1.0.48.0 - De
3080: 63 65 6d 62 65 72 20 32 38 2c 20 32 30 30 37 3c  cember 28, 2007<
3090: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
30a0: 0a 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20  .      <li>Code 
30b0: 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74  merge with SQLit
30c0: 65 20 33 2e 35 2e 34 3c 2f 6c 69 3e 0a 20 20 20  e 3.5.4</li>.   
30d0: 20 20 20 3c 6c 69 3e 43 61 6c 6c 69 6e 67 20 53     <li>Calling S
30e0: 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 2e  QLiteDataReader.
30f0: 47 65 74 46 69 65 6c 64 54 79 70 65 28 29 20 6f  GetFieldType() o
3100: 6e 20 61 20 63 6f 6c 75 6d 6e 20 77 69 74 68 20  n a column with 
3110: 6e 6f 20 73 63 68 65 6d 61 20 69 6e 66 6f 72 6d  no schema inform
3120: 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 61 6e  ation.        an
3130: 64 20 77 68 6f 73 20 66 69 72 73 74 20 72 6f 77  d whos first row
3140: 20 69 73 20 69 6e 69 74 69 61 6c 6c 79 20 4e 55   is initially NU
3150: 4c 4c 20 6e 6f 77 20 72 65 74 75 72 6e 73 20 74  LL now returns t
3160: 79 70 65 20 4f 62 6a 65 63 74 20 69 6e 73 74 65  ype Object inste
3170: 61 64 20 6f 66 20 74 79 70 65 20 44 62 4e 75 6c  ad of type DbNul
3180: 6c 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  l.</li>.      <l
3190: 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20  i>Added support 
31a0: 66 6f 72 20 61 20 6e 65 77 20 44 61 74 65 54 69  for a new DateTi
31b0: 6d 65 20 74 79 70 65 2c 20 4a 75 6c 69 61 6e 44  me type, JulianD
31c0: 61 79 2e 26 6e 62 73 70 3b 20 53 51 4c 69 74 65  ay.&nbsp; SQLite
31d0: 20 75 73 65 73 20 4a 75 6c 69 61 6e 20 64 61 74   uses Julian dat
31e0: 65 73 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72  es.        inter
31f0: 6e 61 6c 6c 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20  nally.</li>.    
3200: 20 20 3c 6c 69 3e 41 64 64 65 64 20 61 20 6e 65    <li>Added a ne
3210: 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72  w connection str
3220: 69 6e 67 20 70 61 72 61 6d 65 74 65 72 20 22 44  ing parameter "D
3230: 65 66 61 75 6c 74 20 54 69 6d 65 6f 75 74 22 20  efault Timeout" 
3240: 61 6e 64 20 61 20 63 6f 72 72 65 73 70 6f 6e 64  and a correspond
3250: 69 6e 67 0a 20 20 20 20 20 20 20 20 6d 65 74 68  ing.        meth
3260: 6f 64 20 6f 6e 20 74 68 65 20 53 51 4c 69 74 65  od on the SQLite
3270: 43 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63  Connection objec
3280: 74 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20  t to change the 
3290: 64 65 66 61 75 6c 74 20 63 6f 6d 6d 61 6e 64 20  default command 
32a0: 74 69 6d 65 6f 75 74 2e 26 6e 62 73 70 3b 0a 20  timeout.&nbsp;. 
32b0: 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 65         This is e
32c0: 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c  specially useful
32d0: 20 66 6f 72 20 63 68 61 6e 67 69 6e 67 20 74 68   for changing th
32e0: 65 20 74 69 6d 65 6f 75 74 20 6f 6e 20 74 72 61  e timeout on tra
32f0: 6e 73 61 63 74 69 6f 6e 73 2c 20 77 68 69 63 68  nsactions, which
3300: 20 75 73 65 20 53 51 4c 69 74 65 43 6f 6d 6d 61   use SQLiteComma
3310: 6e 64 0a 20 20 20 20 20 20 20 20 6f 62 6a 65 63  nd.        objec
3320: 74 73 20 69 6e 74 65 72 6e 61 6c 6c 79 20 61 6e  ts internally an
3330: 64 20 68 61 76 65 20 6e 6f 20 41 44 4f 2e 4e 45  d have no ADO.NE
3340: 54 2d 66 72 69 65 6e 64 6c 79 20 77 61 79 20 74  T-friendly way t
3350: 6f 20 61 64 6a 75 73 74 20 74 68 65 20 63 6f 6d  o adjust the com
3360: 6d 61 6e 64 20 74 69 6d 65 6f 75 74 0a 20 20 20  mand timeout.   
3370: 20 20 20 20 20 6f 6e 20 74 68 6f 73 65 20 63 6f       on those co
3380: 6d 6d 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20  mmands.</li>.   
3390: 20 20 20 3c 6c 69 3e 46 54 53 31 20 61 6e 64 20     <li>FTS1 and 
33a0: 46 54 53 32 20 6d 6f 64 75 6c 65 73 20 77 65 72  FTS2 modules wer
33b0: 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74  e removed from t
33c0: 68 65 20 63 6f 64 65 62 61 73 65 2e 26 6e 62 73  he codebase.&nbs
33d0: 70 3b 20 50 6c 65 61 73 65 20 75 70 67 72 61 64  p; Please upgrad
33e0: 65 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 66 75  e all.        fu
33f0: 6c 6c 2d 74 65 78 74 20 69 6e 64 65 78 65 73 20  ll-text indexes 
3400: 74 6f 20 75 73 65 20 74 68 65 20 46 54 53 33 20  to use the FTS3 
3410: 6d 6f 64 75 6c 65 2e 26 6e 62 73 70 3b 3c 2f 6c  module.&nbsp;</l
3420: 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20  i>.    </ul>.   
3430: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 37 2e 32 20   <p><b>1.0.47.2 
3440: 2d 20 44 65 63 65 6d 62 65 72 20 31 30 2c 20 32  - December 10, 2
3450: 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  007</b></p>.    
3460: 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  <ul>.      <li>F
3470: 69 78 65 64 20 79 65 74 20 6f 6e 65 20 6d 6f 72  ixed yet one mor
3480: 65 20 62 75 67 20 77 68 65 6e 20 63 6c 6f 73 69  e bug when closi
3490: 6e 67 20 61 20 64 61 74 61 62 61 73 65 20 77 69  ng a database wi
34a0: 74 68 20 75 6e 66 69 6e 61 6c 69 7a 65 64 20 63  th unfinalized c
34b0: 6f 6d 6d 61 6e 64 20 6f 62 6a 65 63 74 73 3c 2f  ommand objects</
34c0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
34d0: 78 65 64 20 74 68 65 20 44 61 74 61 52 65 61 64  xed the DataRead
34e0: 65 72 27 73 20 47 65 74 46 69 65 6c 64 54 79 70  er's GetFieldTyp
34f0: 65 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20  e function when 
3500: 64 65 61 6c 69 6e 67 20 77 69 74 68 20 75 6e 74  dealing with unt
3510: 79 70 65 64 20 53 51 4c 69 74 65 20 61 66 66 69  yped SQLite affi
3520: 6e 69 74 69 65 73 3c 2f 6c 69 3e 0a 20 20 20 20  nities</li>.    
3530: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
3540: 31 2e 30 2e 34 37 2e 31 20 2d 20 44 65 63 65 6d  1.0.47.1 - Decem
3550: 62 65 72 20 35 2c 20 32 30 30 37 3c 2f 62 3e 3c  ber 5, 2007</b><
3560: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
3570: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 6c     <li>Fixed a l
3580: 65 66 74 6f 76 65 72 20 62 75 67 20 66 72 6f 6d  eftover bug from
3590: 20 74 68 65 20 63 6f 64 65 6d 65 72 67 65 20 77   the codemerge w
35a0: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 35 2e 33  ith SQLite 3.5.3
35b0: 20 74 68 61 74 20 66 61 69 6c 65 64 20 74 6f 20   that failed to 
35c0: 63 6c 6f 73 65 20 61 20 64 61 74 61 62 61 73 65  close a database
35d0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
35e0: 3e 46 69 78 65 64 20 74 68 65 20 62 72 6f 6b 65  >Fixed the broke
35f0: 6e 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77  n Compact Framew
3600: 6f 72 6b 20 64 69 73 74 72 69 62 75 74 69 6f 6e  ork distribution
3610: 20 62 69 6e 61 72 79 2e 3c 2f 6c 69 3e 0a 20 20   binary.</li>.  
3620: 20 20 20 20 3c 6c 69 3e 53 51 4c 69 74 65 20 33      <li>SQLite 3
3630: 2e 35 2e 78 20 63 68 61 6e 67 65 64 20 73 6f 6d  .5.x changed som
3640: 65 20 69 6e 74 65 72 6e 61 6c 20 69 6e 66 72 61  e internal infra
3650: 73 74 72 75 63 74 75 72 65 20 70 69 65 63 65 73  structure pieces
3660: 20 69 6e 20 74 68 65 20 65 6e 63 72 79 70 74 69   in the encrypti
3670: 6f 6e 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20  on interface.   
3680: 20 20 20 20 20 77 68 69 63 68 20 49 20 64 69 64       which I did
3690: 6e 27 74 20 63 61 74 63 68 20 69 6e 69 74 69 61  n't catch initia
36a0: 6c 6c 79 2e 26 6e 62 73 70 3b 20 46 69 78 65 64  lly.&nbsp; Fixed
36b0: 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20  .&nbsp;</li>.   
36c0: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
36d0: 3e 31 2e 30 2e 34 37 2e 30 20 2d 20 44 65 63 65  >1.0.47.0 - Dece
36e0: 6d 62 65 72 20 34 2c 20 32 30 30 37 3c 2f 62 3e  mber 4, 2007</b>
36f0: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
3700: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
3710: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
3720: 2e 35 2e 33 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  .5.3</li>.      
3730: 3c 6c 69 3e 41 64 64 65 64 20 69 6e 73 74 61 6c  <li>Added instal
3740: 6c 65 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ler support for 
3750: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30  Visual Studio 20
3760: 30 38 2e 26 6e 62 73 70 3b 20 43 6f 64 65 20 69  08.&nbsp; Code i
3770: 73 20 73 74 69 6c 6c 20 75 73 69 6e 67 20 74 68  s still using th
3780: 65 0a 20 20 20 20 20 20 20 20 56 53 32 30 30 35  e.        VS2005
3790: 20 53 44 4b 20 73 6f 20 6f 6e 65 20 6f 72 20 74   SDK so one or t
37a0: 77 6f 20 62 65 6c 6c 73 20 61 6e 64 20 77 68 69  wo bells and whi
37b0: 73 74 6c 65 73 20 61 72 65 20 6d 69 73 73 69 6e  stles are missin
37c0: 67 2c 20 62 75 74 20 6e 6f 74 68 69 6e 67 20 73  g, but nothing s
37d0: 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c 69 3e  ignificant.</li>
37e0: 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68 69 73 20  .      <li>This 
37f0: 69 73 20 74 68 65 20 6c 61 73 74 20 76 65 72 73  is the last vers
3800: 69 6f 6e 20 74 68 61 74 20 74 68 65 20 46 54 53  ion that the FTS
3810: 31 20 61 6e 64 20 46 54 53 32 20 65 78 74 65 6e  1 and FTS2 exten
3820: 73 69 6f 6e 73 20 77 69 6c 6c 20 61 70 70 65 61  sions will appea
3830: 72 2e 26 6e 62 73 70 3b 0a 20 20 20 20 20 20 20  r.&nbsp;.       
3840: 20 45 76 65 72 79 6f 6e 65 20 73 68 6f 75 6c 64   Everyone should
3850: 20 72 65 62 75 69 6c 64 20 74 68 65 69 72 20 66   rebuild their f
3860: 75 6c 6c 74 65 78 74 20 69 6e 64 65 78 65 73 20  ulltext indexes 
3870: 75 73 69 6e 67 20 74 68 65 20 6e 65 77 20 46 54  using the new FT
3880: 53 33 20 6d 6f 64 75 6c 65 2e 26 6e 62 73 70 3b  S3 module.&nbsp;
3890: 0a 20 20 20 20 20 20 20 20 46 54 53 31 20 61 6e  .        FTS1 an
38a0: 64 20 46 54 53 32 20 73 75 66 66 65 72 20 66 72  d FTS2 suffer fr
38b0: 6f 6d 20 61 20 64 65 73 69 67 6e 20 66 6c 61 77  om a design flaw
38c0: 20 74 68 61 74 20 63 6f 75 6c 64 20 63 61 75 73   that could caus
38d0: 65 20 64 61 74 61 62 61 73 65 20 63 6f 72 72 75  e database corru
38e0: 70 74 69 6f 6e 20 77 69 74 68 0a 20 20 20 20 20  ption with.     
38f0: 20 20 20 63 65 72 74 61 69 6e 20 76 61 63 75 75     certain vacuu
3900: 6d 20 6f 70 65 72 61 74 69 6f 6e 73 2e 3c 2f 6c  m operations.</l
3910: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
3920: 65 64 20 70 6f 6f 6c 65 64 20 63 6f 6e 6e 65 63  ed pooled connec
3930: 74 69 6f 6e 73 20 73 6f 20 74 68 65 79 20 72 6f  tions so they ro
3940: 6c 6c 62 61 63 6b 20 61 6e 79 20 6f 75 74 73 74  llback any outst
3950: 61 6e 64 69 6e 67 20 74 72 61 6e 73 61 63 74 69  anding transacti
3960: 6f 6e 73 20 62 65 66 6f 72 65 0a 20 20 20 20 20  ons before.     
3970: 20 20 20 67 6f 69 6e 67 20 74 6f 20 74 68 65 20     going to the 
3980: 70 6f 6f 6c 2e 26 6e 62 73 70 3b 20 3c 2f 6c 69  pool.&nbsp; </li
3990: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  >.      <li>Fixe
39a0: 64 20 74 68 65 20 75 6e 69 6e 74 65 6e 64 65 64  d the unintended
39b0: 20 62 72 65 61 6b 69 6e 67 20 6f 66 20 74 68 65   breaking of the
39c0: 20 54 59 50 45 53 20 6b 65 79 77 6f 72 64 2c 20   TYPES keyword, 
39d0: 61 6e 64 20 6d 69 73 2d 74 79 70 69 6e 67 20 6f  and mis-typing o
39e0: 66 20 75 6e 74 79 70 65 64 0a 20 20 20 20 20 20  f untyped.      
39f0: 20 20 6f 72 20 69 6e 64 65 74 65 72 6d 69 6e 61    or indetermina
3a00: 74 65 20 63 6f 6c 75 6d 6e 20 74 79 70 65 73 2e  te column types.
3a10: 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69   </li>.      <li
3a20: 3e 41 73 73 65 72 74 20 61 20 46 69 6c 65 49 4f  >Assert a FileIO
3a30: 50 65 72 6d 69 73 73 69 6f 6e 28 29 20 72 65 71  Permission() req
3a40: 75 69 72 65 6d 65 6e 74 20 69 6e 20 74 68 65 20  uirement in the 
3a50: 73 74 61 74 69 63 20 53 51 4c 69 74 65 46 75 6e  static SQLiteFun
3a60: 63 74 69 6f 6e 20 63 6f 6e 73 74 72 75 63 74 6f  ction constructo
3a70: 72 2e 0a 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20  r..      </li>. 
3a80: 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 43 45 2d       <li>The CE-
3a90: 6f 6e 6c 79 20 53 51 4c 69 74 65 46 75 6e 63 74  only SQLiteFunct
3aa0: 69 6f 6e 2e 52 65 67 69 73 74 65 72 46 75 6e 63  ion.RegisterFunc
3ab0: 74 69 6f 6e 28 29 20 69 73 20 6e 6f 77 20 61 76  tion() is now av
3ac0: 61 69 6c 61 62 6c 65 20 6f 6e 20 74 68 65 20 64  ailable on the d
3ad0: 65 73 6b 74 6f 70 0a 20 20 20 20 20 20 20 20 70  esktop.        p
3ae0: 6c 61 74 66 6f 72 6d 20 66 6f 72 20 64 79 6e 61  latform for dyna
3af0: 6d 69 63 20 72 65 67 69 73 74 72 61 74 69 6f 6e  mic registration
3b00: 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 2e 26 6e   of functions.&n
3b10: 62 73 70 3b 20 59 6f 75 20 6d 75 73 74 20 73 74  bsp; You must st
3b20: 69 6c 6c 20 63 6c 6f 73 65 20 61 6e 64 20 72 65  ill close and re
3b30: 2d 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 61 20  -open.        a 
3b40: 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 6f 72  connection in or
3b50: 64 65 72 20 66 6f 72 20 74 68 65 20 6e 65 77 20  der for the new 
3b60: 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 73  function to be s
3b70: 65 65 6e 20 62 79 20 61 20 63 6f 6e 6e 65 63 74  een by a connect
3b80: 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ion.</li>.      
3b90: 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 22 64  <li>Fixed the "d
3ba0: 61 74 61 62 61 73 65 20 69 73 20 6c 6f 63 6b 65  atabase is locke
3bb0: 64 22 20 65 72 72 6f 72 73 20 62 79 20 69 6d 70  d" errors by imp
3bc0: 6c 65 6d 65 6e 74 69 6e 67 20 62 65 68 61 76 69  lementing behavi
3bd0: 6f 72 61 6c 20 63 68 61 6e 67 65 73 20 69 6e 20  oral changes in 
3be0: 74 68 65 0a 20 20 20 20 20 20 20 20 69 6e 74 65  the.        inte
3bf0: 72 6f 70 2e 63 20 66 69 6c 65 20 66 6f 72 20 53  rop.c file for S
3c00: 51 4c 69 74 65 2e 26 6e 62 73 70 3b 20 43 6c 6f  QLite.&nbsp; Clo
3c10: 73 69 6e 67 20 61 20 64 61 74 61 62 61 73 65 20  sing a database 
3c20: 66 6f 72 63 65 2d 66 69 6e 61 6c 69 7a 65 73 20  force-finalizes 
3c30: 61 6e 79 20 70 72 65 70 61 72 65 64 0a 20 20 20  any prepared.   
3c40: 20 20 20 20 20 73 74 61 74 65 6d 65 6e 74 73 20       statements 
3c50: 6f 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20  on the database 
3c60: 74 6f 20 65 6e 73 75 72 65 20 74 68 65 20 63 6f  to ensure the co
3c70: 6e 6e 65 63 74 69 6f 6e 20 69 73 20 66 75 6c 6c  nnection is full
3c80: 79 20 63 6c 6f 73 65 64 2e 26 6e 62 73 70 3b 20  y closed.&nbsp; 
3c90: 54 68 69 73 0a 20 20 20 20 20 20 20 20 77 61 73  This.        was
3ca0: 20 72 61 74 68 65 72 20 74 72 69 63 6b 79 20 62   rather tricky b
3cb0: 65 63 61 75 73 65 20 74 68 65 20 47 43 20 74 68  ecause the GC th
3cc0: 72 65 61 64 20 63 6f 75 6c 64 20 73 74 69 6c 6c  read could still
3cd0: 20 62 65 20 66 69 6e 61 6c 69 7a 69 6e 67 20 73   be finalizing s
3ce0: 74 61 74 65 6d 65 6e 74 73 20 69 74 73 65 6c 66  tatements itself
3cf0: 2e 0a 20 20 20 20 20 20 20 20 26 6e 62 73 70 3b  ..        &nbsp;
3d00: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
3d10: 4d 6f 64 69 66 65 64 20 74 68 65 20 6d 65 72 67  Modifed the merg
3d20: 65 62 69 6e 20 75 74 69 6c 69 74 79 20 74 6f 20  ebin utility to 
3d30: 68 65 6c 70 20 63 69 72 63 75 6d 76 65 6e 74 20  help circumvent 
3d40: 61 20 6c 6f 6e 67 2d 73 74 61 6e 64 69 6e 67 20  a long-standing 
3d50: 73 74 72 6f 6e 67 20 6e 61 6d 65 20 76 65 72 69  strong name veri
3d60: 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20  fication.       
3d70: 20 62 75 67 20 69 6e 20 74 68 65 20 43 6f 6d 70   bug in the Comp
3d80: 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2e 3c 2f  act Framework.</
3d90: 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20  li>.    </ul>.  
3da0: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 36 2e 30    <p><b>1.0.46.0
3db0: 20 2d 20 53 65 70 74 65 6d 62 65 72 20 33 30 2c   - September 30,
3dc0: 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2007</b></p>.  
3dd0: 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 46    <ul>.    <li>F
3de0: 69 78 65 64 20 66 61 75 6c 74 79 20 6c 6f 67 69  ixed faulty logi
3df0: 63 20 69 6e 20 74 79 70 65 20 64 69 73 63 6f 76  c in type discov
3e00: 65 72 79 20 63 6f 64 65 20 77 68 65 6e 20 75 73  ery code when us
3e10: 69 6e 67 20 53 51 4c 69 74 65 44 61 74 61 52 65  ing SQLiteDataRe
3e20: 61 64 65 72 2e 47 65 74 56 61 6c 75 65 28 29 2e  ader.GetValue().
3e30: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
3e40: 46 69 78 65 64 20 43 6f 6e 6e 65 63 74 69 6f 6e  Fixed Connection
3e50: 2e 4f 70 65 6e 28 29 20 62 75 67 20 77 68 65 6e  .Open() bug when
3e60: 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 3a 6d   dealing with :m
3e70: 65 6d 6f 72 79 3a 20 64 61 74 61 62 61 73 65 73  emory: databases
3e80: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
3e90: 3e 46 69 78 65 64 20 53 51 4c 69 74 65 43 6f 6d  >Fixed SQLiteCom
3ea0: 6d 61 6e 64 2e 45 78 65 63 75 74 65 53 63 61 6c  mand.ExecuteScal
3eb0: 61 72 28 29 20 74 6f 20 72 65 74 75 72 6e 20 61  ar() to return a
3ec0: 20 70 72 6f 70 65 72 6c 79 2d 74 79 70 65 64 20   properly-typed 
3ed0: 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20  value.</li>.    
3ee0: 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70    <li>Added supp
3ef0: 6f 72 74 20 66 6f 72 20 53 51 4c 69 74 65 50 61  ort for SQLitePa
3f00: 72 61 6d 65 74 65 72 2e 52 65 73 65 74 44 62 54  rameter.ResetDbT
3f10: 79 70 65 28 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20  ype().</li>.    
3f20: 20 20 3c 6c 69 3e 41 64 64 65 64 20 74 65 73 74    <li>Added test
3f30: 20 63 61 73 65 73 20 66 6f 72 20 72 69 67 69 64   cases for rigid
3f40: 20 61 6e 64 20 66 6c 65 78 69 62 6c 65 20 74 79   and flexible ty
3f50: 70 65 20 74 65 73 74 69 6e 67 2e 3c 2f 6c 69 3e  pe testing.</li>
3f60: 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c  .    </ul>.    <
3f70: 70 3e 3c 62 3e 31 2e 30 2e 34 35 2e 30 20 2d 20  p><b>1.0.45.0 - 
3f80: 53 65 70 74 65 6d 62 65 72 20 32 35 2c 20 32 30  September 25, 20
3f90: 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c  07</b></p>.    <
3fa0: 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 3c 73 74 72  ul>.    <li><str
3fb0: 6f 6e 67 3e 42 72 65 61 6b 69 6e 67 20 63 68 61  ong>Breaking cha
3fc0: 6e 67 65 20 69 6e 20 47 65 74 53 63 68 65 6d 61  nge in GetSchema
3fd0: 28 22 49 6e 64 65 78 65 73 22 29 20 3c 2f 73 74  ("Indexes") </st
3fe0: 72 6f 6e 67 3e 2d 2d 20 4d 65 74 61 44 61 74 61  rong>-- MetaData
3ff0: 43 6f 6c 6c 65 63 74 69 6f 6e 73 0a 20 20 20 20  Collections.    
4000: 20 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 61    restrictions a
4010: 6e 64 20 69 64 65 6e 74 69 66 69 65 72 20 70 61  nd identifier pa
4020: 72 74 73 20 63 6f 75 6e 74 73 20 77 65 72 65 20  rts counts were 
4030: 77 72 6f 6e 67 20 66 6f 72 20 74 68 69 73 20 73  wrong for this s
4040: 63 68 65 6d 61 20 61 6e 64 20 49 20 77 61 73 20  chema and I was 
4050: 75 73 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20  using.      the 
4060: 77 72 6f 6e 67 20 66 69 6e 61 6c 20 70 61 72 61  wrong final para
4070: 6d 65 74 65 72 20 61 73 20 74 68 65 20 66 69 6e  meter as the fin
4080: 61 6c 20 72 65 73 74 72 69 63 74 69 6f 6e 2e 26  al restriction.&
4090: 6e 62 73 70 3b 20 4d 65 61 6e 69 6e 67 2c 20 69  nbsp; Meaning, i
40a0: 66 20 79 6f 75 20 75 73 65 20 74 68 65 0a 20 20  f you use the.  
40b0: 20 20 20 20 49 6e 64 65 78 65 73 20 73 63 68 65      Indexes sche
40c0: 6d 61 20 61 6e 64 20 61 72 65 20 71 75 65 72 79  ma and are query
40d0: 69 6e 67 20 66 6f 72 20 61 20 73 70 65 63 69 66  ing for a specif
40e0: 69 63 20 69 6e 64 65 78 20 74 68 65 20 61 72 72  ic index the arr
40f0: 61 79 20 73 68 6f 75 6c 64 20 6e 6f 77 20 62 65  ay should now be
4100: 20 7b 63 61 74 61 6c 6f 67 2c 0a 20 20 20 20 20   {catalog,.     
4110: 20 6e 75 6c 6c 2c 20 74 61 62 6c 65 2c 20 69 6e   null, table, in
4120: 64 65 78 20 7d 20 69 6e 73 74 65 61 64 20 6f 66  dex } instead of
4130: 20 7b 63 61 74 61 6c 6f 67 2c 20 6e 75 6c 6c 2c   {catalog, null,
4140: 20 74 61 62 6c 65 2c 20 6e 75 6c 6c 2c 20 69 6e   table, null, in
4150: 64 65 78 7d 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  dex}</li>.      
4160: 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77  <li>Code merge w
4170: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 34 2e 32  ith SQLite 3.4.2
4180: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
4190: 46 69 78 65 64 20 73 6f 6d 65 20 65 72 72 6f 72  Fixed some error
41a0: 73 20 69 6e 20 74 68 65 20 65 6e 63 72 79 70 74  s in the encrypt
41b0: 69 6f 6e 20 6d 6f 64 75 6c 65 2c 20 6d 6f 73 74  ion module, most
41c0: 20 6e 6f 74 61 62 6c 79 20 77 68 65 6e 20 61 20   notably when a 
41d0: 6e 6f 6e 2d 64 65 66 61 75 6c 74 20 70 61 67 65  non-default page
41e0: 0a 20 20 20 20 20 20 20 20 73 69 7a 65 20 69 73  .        size is
41f0: 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68   specified in th
4200: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72  e connection str
4210: 69 6e 67 2e 20 3c 2f 6c 69 3e 0a 20 20 20 20 20  ing. </li>.     
4220: 20 3c 6c 69 3e 46 69 78 65 64 20 53 51 4c 69 74   <li>Fixed SQLit
4230: 65 44 61 74 61 52 65 61 64 65 72 20 74 6f 20 62  eDataReader to b
4240: 65 74 74 65 72 20 68 61 6e 64 6c 65 20 74 79 70  etter handle typ
4250: 65 2d 6c 65 73 73 20 75 73 61 67 65 20 73 63 65  e-less usage sce
4260: 6e 61 72 69 6f 73 2c 20 77 68 69 63 68 20 61 6c  narios, which al
4270: 73 6f 0a 20 20 20 20 20 20 20 20 66 69 78 65 73  so.        fixes
4280: 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 6e   problems with n
4290: 75 6c 6c 20 76 61 6c 75 65 73 20 61 6e 64 20 64  ull values and d
42a0: 61 74 65 74 69 6d 65 73 2e 3c 2f 6c 69 3e 0a 20  atetimes.</li>. 
42b0: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74       <li>Fixed t
42c0: 68 65 20 6c 65 66 74 6f 76 65 72 20 74 65 6d 70  he leftover temp
42d0: 20 66 69 6c 65 73 20 70 72 6f 62 6c 65 6d 20 6f   files problem o
42e0: 6e 20 57 69 6e 43 45 20 3c 2f 6c 69 3e 0a 20 20  n WinCE </li>.  
42f0: 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 63 6f      <li>Added co
4300: 6e 6e 65 63 74 69 6f 6e 20 70 6f 6f 6c 69 6e 67  nnection pooling
4310: 2e 26 6e 62 73 70 3b 20 54 68 65 20 64 65 66 61  .&nbsp; The defa
4320: 75 6c 74 20 69 73 20 64 69 73 61 62 6c 65 64 20  ult is disabled 
4330: 66 6f 72 20 6e 6f 77 2c 20 62 75 74 20 6d 61 79  for now, but may
4340: 20 63 68 61 6e 67 65 0a 20 20 20 20 20 20 69 6e   change.      in
4350: 20 74 68 65 20 66 75 74 75 72 65 2e 26 6e 62 73   the future.&nbs
4360: 70 3b 20 53 65 74 20 22 50 6f 6f 6c 69 6e 67 3d  p; Set "Pooling=
4370: 54 72 75 65 22 20 69 6e 20 74 68 65 20 63 6f 6e  True" in the con
4380: 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 74  nection string t
4390: 6f 20 65 6e 61 62 6c 65 20 69 74 2e 20 3c 2f 6c  o enable it. </l
43a0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 53 70 65  i>.      <li>Spe
43b0: 64 20 75 70 20 53 51 4c 69 74 65 43 6f 6e 6e 65  d up SQLiteConne
43c0: 63 74 69 6f 6e 2e 4f 70 65 6e 28 29 20 63 6f 6e  ction.Open() con
43d0: 73 69 64 65 72 61 62 6c 79 2e 3c 2f 6c 69 3e 0a  siderably.</li>.
43e0: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
43f0: 73 6f 6d 65 20 6d 6f 72 65 20 72 6f 62 75 73 74  some more robust
4400: 20 63 6c 65 61 6e 75 70 20 63 6f 64 65 20 72 65   cleanup code re
4410: 67 61 72 64 69 6e 67 20 53 51 4c 69 74 65 46 75  garding SQLiteFu
4420: 6e 63 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0a 20 20  nctions.</li>.  
4430: 20 20 20 20 3c 6c 69 3e 4d 69 6e 6f 72 20 61 64      <li>Minor ad
4440: 64 69 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 63  ditions to the c
4450: 6f 64 65 20 74 6f 20 61 6c 6c 6f 77 20 66 6f 72  ode to allow for
4460: 20 66 75 74 75 72 65 20 4c 49 4e 51 20 69 6e 74   future LINQ int
4470: 65 67 72 61 74 69 6f 6e 20 69 6e 74 6f 20 74 68  egration into th
4480: 65 20 6d 61 69 6e 0a 20 20 20 20 20 20 20 20 63  e main.        c
4490: 6f 64 65 62 61 73 65 2e 3c 2f 6c 69 3e 0a 20 20  odebase.</li>.  
44a0: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
44b0: 6c 6f 6e 67 2d 73 74 61 6e 64 69 6e 67 20 62 75  long-standing bu
44c0: 67 20 69 6e 20 74 68 65 20 4f 70 65 6e 28 29 20  g in the Open() 
44d0: 63 6f 6d 6d 61 6e 64 20 6f 66 20 53 51 4c 69 74  command of SQLit
44e0: 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 77 68 69 63  eConnection whic
44f0: 68 20 66 61 69 6c 65 64 0a 20 20 20 20 20 20 74  h failed.      t
4500: 6f 20 68 6f 6e 6f 72 20 74 68 65 20 64 6f 63 75  o honor the docu
4510: 6d 65 6e 74 65 64 20 64 65 66 61 75 6c 74 20 62  mented default b
4520: 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 20 53  ehavior of the S
4530: 51 4c 69 74 65 2e 4e 45 54 20 70 72 6f 76 69 64  QLite.NET provid
4540: 65 72 20 74 6f 20 6f 70 65 6e 20 74 68 65 0a 20  er to open the. 
4550: 20 20 20 20 20 64 61 74 61 62 61 73 65 20 69 6e       database in
4560: 20 22 53 79 6e 63 68 72 6f 6e 6f 75 73 3d 4e 6f   "Synchronous=No
4570: 72 6d 61 6c 22 20 6d 6f 64 65 2e 26 6e 62 73 70  rmal" mode.&nbsp
4580: 3b 20 54 68 65 20 64 65 66 61 75 6c 74 20 77 61  ; The default wa
4590: 73 20 22 46 75 6c 6c 22 2e 20 3c 2f 6c 69 3e 0a  s "Full". </li>.
45a0: 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 4f 70 65        <li>If Ope
45b0: 6e 28 29 20 66 61 69 6c 73 2c 20 69 74 20 6e 6f  n() fails, it no
45c0: 20 6c 6f 6e 67 65 72 20 73 65 74 73 20 74 68 65   longer sets the
45d0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 61 74   connection stat
45e0: 65 20 74 6f 20 42 72 6f 6b 65 6e 2e 26 6e 62 73  e to Broken.&nbs
45f0: 70 3b 20 49 74 20 69 6e 73 74 65 61 64 0a 20 20  p; It instead.  
4600: 20 20 20 20 20 20 72 65 76 65 72 74 73 20 62 61        reverts ba
4610: 63 6b 20 74 6f 20 43 6c 6f 73 65 64 2c 20 61 6e  ck to Closed, an
4620: 64 20 63 6c 65 61 6e 73 20 75 70 20 61 66 74 65  d cleans up afte
4630: 72 20 69 74 73 65 6c 66 2e 3c 2f 6c 69 3e 0a 20  r itself.</li>. 
4640: 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 73       <li>Added s
4650: 65 76 65 72 61 6c 20 6e 65 77 20 70 61 72 61 6d  everal new param
4660: 65 74 65 72 73 20 74 6f 20 74 68 65 20 43 6f 6e  eters to the Con
4670: 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 20 66 6f  nectionString fo
4680: 72 20 73 65 74 74 69 6e 67 20 6d 61 78 20 70 61  r setting max pa
4690: 67 65 20 63 6f 75 6e 74 2c 0a 20 20 20 20 20 20  ge count,.      
46a0: 20 20 6c 65 67 61 63 79 20 66 69 6c 65 20 66 6f    legacy file fo
46b0: 72 6d 61 74 2c 20 61 6e 64 20 61 6e 6f 74 68 65  rmat, and anothe
46c0: 72 20 63 61 6c 6c 65 64 20 46 61 69 6c 49 66 4d  r called FailIfM
46d0: 69 73 73 69 6e 67 20 74 6f 20 72 61 69 73 65 20  issing to raise 
46e0: 61 6e 20 65 72 72 6f 72 20 72 61 74 68 65 72 20  an error rather 
46f0: 74 68 61 6e 0a 20 20 20 20 20 20 20 20 63 72 65  than.        cre
4700: 61 74 65 20 74 68 65 20 64 61 74 61 62 61 73 65  ate the database
4710: 20 66 69 6c 65 20 61 75 74 6f 6d 61 74 69 63 61   file automatica
4720: 6c 6c 79 20 69 66 20 69 74 20 64 6f 65 73 20 6e  lly if it does n
4730: 6f 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74  ot already exist
4740: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
4750: 3e 46 69 78 65 64 20 73 6f 6d 65 20 64 65 73 69  >Fixed some desi
4760: 67 6e 65 72 20 74 6f 6f 6c 62 6f 78 20 72 65 66  gner toolbox ref
4770: 65 72 65 6e 63 65 73 20 74 6f 20 74 68 65 20 77  erences to the w
4780: 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 6f 66 20  rong version of 
4790: 74 68 65 20 53 51 4c 69 74 65 2e 44 65 73 69 67  the SQLite.Desig
47a0: 6e 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ner</li>.      <
47b0: 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69  li>Fixed a bug i
47c0: 6e 20 74 68 65 20 6d 65 72 67 65 62 69 6e 20 75  n the mergebin u
47d0: 74 69 6c 69 74 79 20 77 69 74 68 20 72 65 67 61  tility with rega
47e0: 72 64 73 20 74 6f 20 43 4f 52 32 30 20 6d 65 74  rds to COR20 met
47f0: 61 64 61 74 61 20 72 6f 77 73 69 7a 65 20 63 6f  adata rowsize co
4800: 6d 70 75 74 61 74 69 6f 6e 73 2e 26 6e 62 73 70  mputations.&nbsp
4810: 3b 0a 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20  ;.      </li>.  
4820: 20 20 20 20 3c 6c 69 3e 4d 69 6e 6f 72 20 64 6f      <li>Minor do
4830: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 72 72  cumentation corr
4840: 65 63 74 69 6f 6e 73 20 26 6e 62 73 70 3b 26 6e  ections &nbsp;&n
4850: 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f  bsp;</li>.    </
4860: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
4870: 30 2e 34 34 2e 30 20 2d 20 4a 75 6c 79 20 32 31  0.44.0 - July 21
4880: 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2007</b></p>. 
4890: 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e     <ul>.    <li>
48a0: 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20  Code merge with 
48b0: 53 51 4c 69 74 65 20 33 2e 34 2e 31 3c 2f 6c 69  SQLite 3.4.1</li
48c0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  >.      <li>Fixe
48d0: 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c 69 74  d a bug in SQLit
48e0: 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 4f 70 65 6e  eConnection.Open
48f0: 28 29 20 77 68 69 63 68 20 74 68 72 65 77 20 74  () which threw t
4900: 68 65 20 77 72 6f 6e 67 20 6b 69 6e 64 20 6f 66  he wrong kind of
4910: 20 65 72 72 6f 72 20 69 6e 0a 20 20 20 20 20 20   error in.      
4920: 20 20 74 68 65 20 77 72 6f 6e 67 20 6b 69 6e 64    the wrong kind
4930: 20 6f 66 20 77 61 79 20 77 68 65 6e 20 61 20 64   of way when a d
4940: 61 74 61 62 61 73 65 20 66 69 6c 65 20 63 6f 75  atabase file cou
4950: 6c 64 20 6e 6f 74 20 62 65 20 6f 70 65 6e 65 64  ld not be opened
4960: 20 6f 72 20 63 72 65 61 74 65 64 2e 26 6e 62 73   or created.&nbs
4970: 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  p;</li>.      <l
4980: 69 3e 53 6d 61 6c 6c 20 65 6e 68 61 6e 63 65 6d  i>Small enhancem
4990: 65 6e 74 73 20 74 6f 20 74 68 65 20 54 59 50 45  ents to the TYPE
49a0: 53 20 6b 65 79 77 6f 72 64 2c 20 61 6e 64 20 61  S keyword, and a
49b0: 64 64 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69  dded documentati
49c0: 6f 6e 20 66 6f 72 20 69 74 20 69 6e 20 74 68 65  on for it in the
49d0: 0a 20 20 20 20 20 20 20 20 68 65 6c 70 20 66 69  .        help fi
49e0: 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  le.</li>.      <
49f0: 6c 69 3e 48 6f 70 65 66 75 6c 6c 79 20 66 69 78  li>Hopefully fix
4a00: 65 64 20 74 68 65 20 6f 63 63 61 73 69 6f 6e 61  ed the occasiona
4a10: 6c 20 53 51 4c 49 54 45 5f 42 55 53 59 20 65 72  l SQLITE_BUSY er
4a20: 72 6f 72 73 20 74 68 61 74 20 63 72 6f 70 70 65  rors that croppe
4a30: 64 20 75 70 20 77 68 65 6e 20 73 74 61 72 74 69  d up when starti
4a40: 6e 67 0a 20 20 20 20 20 20 20 20 61 20 74 72 61  ng.        a tra
4a50: 6e 73 61 63 74 69 6f 6e 2e 26 6e 62 73 70 3b 20  nsaction.&nbsp; 
4a60: 55 73 75 61 6c 6c 79 20 6f 63 63 75 72 72 65 64  Usually occurred
4a70: 20 69 6e 20 68 69 67 68 2d 63 6f 6e 74 65 6e 74   in high-content
4a80: 69 6f 6e 20 73 63 65 6e 61 72 69 6f 73 2c 20 61  ion scenarios, a
4a90: 6e 64 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e  nd the underlyin
4aa0: 67 0a 20 20 20 20 20 20 20 20 53 51 4c 69 74 65  g.        SQLite
4ab0: 20 65 6e 67 69 6e 65 20 62 79 70 61 73 73 65 73   engine bypasses
4ac0: 20 74 68 65 20 62 75 73 79 20 68 61 6e 64 6c 65   the busy handle
4ad0: 72 20 69 6e 20 74 68 69 73 20 73 63 65 6e 61 72  r in this scenar
4ae0: 69 6f 20 74 6f 20 72 65 74 75 72 6e 20 69 6d 6d  io to return imm
4af0: 65 64 69 61 74 65 6c 79 2e 3c 2f 6c 69 3e 0a 20  ediately.</li>. 
4b00: 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e     </ul>.    <p>
4b10: 3c 62 3e 31 2e 30 2e 34 33 2e 30 20 2d 20 4a 75  <b>1.0.43.0 - Ju
4b20: 6e 65 20 32 31 2c 20 32 30 30 37 3c 2f 62 3e 3c  ne 21, 2007</b><
4b30: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
4b40: 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20   <li>Code merge 
4b50: 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 34 2e  with SQLite 3.4.
4b60: 30 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  0</li>.      <li
4b70: 3e 46 69 78 65 64 20 61 20 72 65 75 73 65 20 62  >Fixed a reuse b
4b80: 75 67 20 69 6e 20 74 68 65 20 53 51 4c 69 74 65  ug in the SQLite
4b90: 44 61 74 61 41 64 61 70 74 65 72 20 69 6e 20 63  DataAdapter in c
4ba0: 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20  onjunction with 
4bb0: 74 68 65 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e  the SQLiteComman
4bc0: 64 42 75 69 6c 64 65 72 2e 26 6e 62 73 70 3b 0a  dBuilder.&nbsp;.
4bd0: 20 20 20 20 20 20 49 74 27 73 20 62 65 65 6e 20        It's been 
4be0: 74 68 65 72 65 20 75 6e 6e 6f 74 69 63 65 64 20  there unnoticed 
4bf0: 66 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 61 20  for more than a 
4c00: 79 65 61 72 2c 20 73 6f 20 69 74 20 6c 6f 6f 6b  year, so it look
4c10: 73 20 6c 69 6b 65 20 6d 6f 73 74 20 66 6f 6c 6b  s like most folk
4c20: 73 20 6e 65 76 65 72 0a 20 20 20 20 20 20 65 6e  s never.      en
4c30: 63 6f 75 6e 74 65 72 65 64 20 69 74 2e 20 3c 2f  countered it. </
4c40: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
4c50: 78 65 64 20 61 6e 20 65 76 65 6e 74 20 68 61 6e  xed an event han
4c60: 64 6c 65 72 20 62 75 67 20 69 6e 20 53 51 4c 69  dler bug in SQLi
4c70: 74 65 43 6f 6d 6d 61 6e 64 42 75 69 6c 64 65 72  teCommandBuilder
4c80: 20 69 6e 20 77 68 69 63 68 20 69 74 20 63 6f 75   in which it cou
4c90: 6c 64 20 66 61 69 6c 20 74 6f 20 75 6e 6c 61 74  ld fail to unlat
4ca0: 63 68 0a 20 20 20 20 20 20 20 20 66 72 6f 6d 20  ch.        from 
4cb0: 74 68 65 20 44 61 74 61 41 64 61 70 74 65 72 20  the DataAdapter 
4cc0: 77 68 65 6e 20 72 65 75 73 65 64 2e 26 6e 62 73  when reused.&nbs
4cd0: 70 3b 20 52 65 6c 61 74 65 73 20 74 6f 20 74 68  p; Relates to th
4ce0: 65 20 70 72 65 76 69 6f 75 73 20 62 75 67 66 69  e previous bugfi
4cf0: 78 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  x.</li>.      <l
4d00: 69 3e 46 69 78 65 64 20 61 20 64 6f 75 62 6c 65  i>Fixed a double
4d10: 2d 64 69 73 70 6f 73 65 20 62 75 67 20 69 6e 20  -dispose bug in 
4d20: 53 51 4c 69 74 65 53 74 61 74 65 6d 65 6e 74 20  SQLiteStatement 
4d30: 74 68 61 74 20 74 72 69 67 67 65 72 65 64 20 61  that triggered a
4d40: 20 53 51 4c 69 74 65 45 78 63 65 70 74 69 6f 6e   SQLiteException
4d50: 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20  .&nbsp;</li>.   
4d60: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
4d70: 3e 31 2e 30 2e 34 32 2e 30 20 2d 20 4a 75 6e 65  >1.0.42.0 - June
4d80: 20 31 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e   1, 2007</b></p>
4d90: 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c  .    <ul>.    <l
4da0: 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74  i>Code merge wit
4db0: 68 20 53 51 4c 69 74 65 20 33 2e 33 2e 31 37 3c  h SQLite 3.3.17<
4dc0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 43  /li>.      <li>C
4dd0: 68 61 6e 67 65 64 20 74 68 65 20 53 51 4c 69 74  hanged the SQLit
4de0: 65 46 75 6e 63 74 69 6f 6e 20 73 74 61 74 69 63  eFunction static
4df0: 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 73 6f 20   constructor so 
4e00: 69 74 20 6f 6e 6c 79 20 65 6e 75 6d 65 72 61 74  it only enumerat
4e10: 65 73 20 6c 6f 61 64 65 64 20 6d 6f 64 75 6c 65  es loaded module
4e20: 73 0a 20 20 20 20 20 20 20 20 74 68 61 74 20 68  s.        that h
4e30: 61 76 65 20 72 65 66 65 72 65 6e 63 65 64 20 74  ave referenced t
4e40: 68 65 20 53 51 4c 69 74 65 20 61 73 73 65 6d 62  he SQLite assemb
4e50: 6c 79 2c 20 77 68 69 63 68 20 68 6f 70 65 66 75  ly, which hopefu
4e60: 6c 6c 79 20 73 68 6f 75 6c 64 20 63 75 74 20 64  lly should cut d
4e70: 6f 77 6e 20 64 72 61 6d 61 74 69 63 61 6c 6c 79  own dramatically
4e80: 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 69 6d  .        the tim
4e90: 65 20 69 74 20 74 61 6b 65 73 20 66 6f 72 20 74  e it takes for t
4ea0: 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20  hat function to 
4eb0: 65 78 65 63 75 74 65 2e 26 6e 62 73 70 3b 3c 2f  execute.&nbsp;</
4ec0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64  li>.      <li>Ad
4ed0: 64 65 64 20 74 68 65 20 46 54 53 32 20 66 75 6c  ded the FTS2 ful
4ee0: 6c 2d 74 65 78 74 20 73 65 61 72 63 68 20 65 78  l-text search ex
4ef0: 74 65 6e 73 69 6f 6e 20 74 6f 20 74 68 65 20 70  tension to the p
4f00: 72 6f 6a 65 63 74 2e 26 6e 62 73 70 3b 20 4c 6f  roject.&nbsp; Lo
4f10: 6f 6b 20 66 6f 72 20 46 54 53 31 0a 20 20 20 20  ok for FTS1.    
4f20: 20 20 20 20 74 6f 20 64 69 73 61 70 70 65 61 72      to disappear
4f30: 20 77 69 74 68 69 6e 20 74 68 65 20 6e 65 78 74   within the next
4f40: 20 63 6f 75 70 6c 65 20 6f 66 20 72 65 76 69 73   couple of revis
4f50: 69 6f 6e 73 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e  ions.&nbsp;</li>
4f60: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
4f70: 20 61 20 62 75 67 20 69 6e 74 72 6f 64 75 63 65   a bug introduce
4f80: 64 20 77 69 74 68 20 74 68 65 20 66 69 6e 61 6c  d with the final
4f90: 69 7a 65 72 73 20 74 68 61 74 20 74 72 69 67 67  izers that trigg
4fa0: 65 72 65 64 20 61 6e 20 65 72 72 6f 72 20 77 68  ered an error wh
4fb0: 65 6e 20 73 74 61 74 65 6d 65 6e 74 73 0a 20 20  en statements.  
4fc0: 20 20 20 20 20 20 65 6e 64 65 64 20 77 69 74 68        ended with
4fd0: 20 61 20 73 65 6d 69 2d 63 6f 6c 6f 6e 20 6f 72   a semi-colon or
4fe0: 20 68 61 64 20 6f 74 68 65 72 20 6e 6f 6e 2d 70   had other non-p
4ff0: 61 72 73 61 62 6c 65 20 63 6f 6d 6d 65 6e 74 73  arsable comments
5000: 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 61   at the end of a
5010: 20 73 74 61 74 65 6d 65 6e 74 26 6e 62 73 70 3b   statement&nbsp;
5020: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
5030: 46 69 78 65 64 20 61 6e 20 69 6e 74 65 72 6d 69  Fixed an intermi
5040: 74 74 65 6e 74 20 6d 75 6c 74 69 2d 74 68 72 65  ttent multi-thre
5050: 61 64 65 64 20 72 61 63 65 20 63 6f 6e 64 69 74  aded race condit
5060: 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20  ion between the 
5070: 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 6f  garbage collecto
5080: 72 0a 20 20 20 20 20 20 20 20 74 68 72 65 61 64  r.        thread
5090: 20 61 6e 64 20 74 68 65 20 6d 61 69 6e 20 61 70   and the main ap
50a0: 70 6c 69 63 61 74 69 6f 6e 20 74 68 72 65 61 64  plication thread
50b0: 20 77 68 69 63 68 20 6c 65 61 64 20 74 6f 20 61   which lead to a
50c0: 6e 20 6f 63 63 61 73 69 6f 6e 61 6c 20 53 51 4c  n occasional SQL
50d0: 49 54 45 5f 4d 49 53 55 53 45 0a 20 20 20 20 20  ITE_MISUSE.     
50e0: 20 20 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20     error.</li>. 
50f0: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61       <li>Fixed a
5100: 6e 6f 74 68 65 72 20 69 73 73 75 65 20 72 65 6c  nother issue rel
5110: 61 74 69 6e 67 20 74 6f 20 53 51 4c 69 74 65 27  ating to SQLite'
5120: 73 20 69 6e 68 65 72 65 6e 74 20 74 79 70 65 6c  s inherent typel
5130: 65 73 73 6e 65 73 73 20 77 68 65 6e 20 64 65 61  essness when dea
5140: 6c 69 6e 67 20 77 69 74 68 0a 20 20 20 20 20 20  ling with.      
5150: 20 20 61 67 67 72 65 67 61 74 65 20 66 75 6e 63    aggregate func
5160: 74 69 6f 6e 73 20 77 68 69 63 68 20 63 6f 75 6c  tions which coul
5170: 64 20 72 65 74 75 72 6e 20 49 6e 74 36 34 20 6f  d return Int64 o
5180: 72 20 44 6f 75 62 6c 65 20 6f 72 20 65 76 65 6e  r Double or even
5190: 20 53 74 72 69 6e 67 20 66 6f 72 20 61 20 67 69   String for a gi
51a0: 76 65 6e 0a 20 20 20 20 20 20 20 20 72 6f 77 20  ven.        row 
51b0: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 61  depending on wha
51c0: 74 20 77 61 73 20 61 67 67 72 65 67 61 74 65 64  t was aggregated
51d0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
51e0: 3e 52 65 6d 65 6d 62 65 72 65 64 20 74 6f 20 72  >Remembered to r
51f0: 65 63 6f 6d 70 69 6c 65 20 74 68 65 20 44 44 45  ecompile the DDE
5200: 58 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65  X portion of the
5210: 20 65 6e 67 69 6e 65 20 74 68 69 73 20 74 69 6d   engine this tim
5220: 65 2c 20 73 6f 20 43 6f 6d 70 61 63 74 20 46 72  e, so Compact Fr
5230: 61 6d 65 77 6f 72 6b 0a 20 20 20 20 20 20 20 20  amework.        
5240: 75 73 65 72 73 20 63 61 6e 20 6f 6e 63 65 20 61  users can once a
5250: 67 61 69 6e 20 75 73 65 20 74 68 65 20 64 65 73  gain use the des
5260: 69 67 6e 2d 74 69 6d 65 20 66 75 6e 63 74 69 6f  ign-time functio
5270: 6e 61 6c 69 74 79 3c 2f 6c 69 3e 0a 20 20 20 20  nality</li>.    
5280: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
5290: 31 2e 30 2e 34 31 2e 30 20 2d 20 41 70 72 69 6c  1.0.41.0 - April
52a0: 20 32 33 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70   23, 2007</b></p
52b0: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c  >.    <ul>.    <
52c0: 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69  li>Code merge wi
52d0: 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e 31 36  th SQLite 3.3.16
52e0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
52f0: 53 65 63 6f 6e 64 20 67 6f 20 61 74 20 69 6d 70  Second go at imp
5300: 6c 65 6d 65 6e 74 69 6e 67 20 70 72 6f 70 65 72  lementing proper
5310: 20 66 69 6e 61 6c 69 7a 65 72 73 20 74 6f 20 63   finalizers to c
5320: 6c 65 61 6e 75 70 20 61 66 74 65 72 20 66 6f 6c  leanup after fol
5330: 6b 73 20 77 68 6f 27 76 65 20 66 6f 72 67 6f 74  ks who've forgot
5340: 74 65 6e 20 74 6f 20 44 69 73 70 6f 73 65 28 29  ten to Dispose()
5350: 20 6f 66 20 74 68 65 20 53 51 4c 69 74 65 20 6f   of the SQLite o
5360: 62 6a 65 63 74 73 3c 2f 6c 69 3e 0a 20 20 20 20  bjects</li>.    
5370: 20 20 3c 6c 69 3e 45 6e 68 61 6e 63 65 64 20 47    <li>Enhanced G
5380: 65 74 53 63 68 65 6d 61 28 49 6e 64 65 78 43 6f  etSchema(IndexCo
5390: 6c 75 6d 6e 73 29 20 74 6f 20 70 72 6f 76 69 64  lumns) to provid
53a0: 65 20 6e 75 6d 65 72 69 63 20 73 63 61 6c 65 20  e numeric scale 
53b0: 61 6e 64 20 70 72 65 63 69 73 69 6f 6e 20 76 61  and precision va
53c0: 6c 75 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  lues</li>.      
53d0: 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 63 6f  <li>Fixed the co
53e0: 6c 75 6d 6e 20 6f 72 64 69 6e 61 6c 73 20 69 6e  lumn ordinals in
53f0: 20 47 65 74 53 63 68 65 6d 61 28 49 6e 64 65 78   GetSchema(Index
5400: 43 6f 6c 75 6d 6e 73 29 20 74 6f 20 72 65 70 6f  Columns) to repo
5410: 72 74 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 6f  rt the ordinal o
5420: 66 20 74 68 65 20 63 6f 6c 75 6d 6e 20 69 6e 20  f the column in 
5430: 74 68 65 20 69 6e 64 65 78 2c 20 6e 6f 74 20 74  the index, not t
5440: 68 65 20 74 61 62 6c 65 3c 2f 6c 69 3e 0a 20 20  he table</li>.  
5450: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
5460: 62 75 67 20 77 68 65 72 65 62 79 20 70 61 72 61  bug whereby para
5470: 6d 65 74 65 72 73 20 6e 61 6d 65 64 20 77 69 74  meters named wit
5480: 68 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e  h an empty strin
5490: 67 20 28 73 75 63 68 20 61 73 20 53 74 72 69 6e  g (such as Strin
54a0: 67 2e 45 6d 70 74 79 29 20 77 65 72 65 20 74 72  g.Empty) were tr
54b0: 65 61 74 65 64 20 6c 69 6b 65 20 61 20 6e 61 6d  eated like a nam
54c0: 65 64 20 70 61 72 61 6d 65 74 65 72 20 69 6e 73  ed parameter ins
54d0: 74 65 61 64 20 6f 66 20 61 6e 20 75 6e 6e 61 6d  tead of an unnam
54e0: 65 64 20 70 61 72 61 6d 65 74 65 72 3c 2f 6c 69  ed parameter</li
54f0: 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20  >.    </ul>.    
5500: 3c 70 3e 3c 62 3e 31 2e 30 2e 34 30 2e 30 20 2d  <p><b>1.0.40.0 -
5510: 20 4a 61 6e 75 61 72 79 20 33 31 2c 20 32 30 30   January 31, 200
5520: 37 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75  7</b></p>.    <u
5530: 6c 3e 0a 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20  l>.    <li>Code 
5540: 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74  merge with SQLit
5550: 65 20 33 2e 33 2e 31 32 3c 2f 6c 69 3e 0a 20 20  e 3.3.12</li>.  
5560: 20 20 20 20 3c 6c 69 3e 4c 6f 74 73 20 6f 66 20      <li>Lots of 
5570: 6e 65 77 20 63 6f 64 65 20 74 6f 20 68 61 6e 64  new code to hand
5580: 6c 65 20 6d 69 73 75 73 65 20 6f 66 20 74 68 65  le misuse of the
5590: 20 6c 69 62 72 61 72 79 2e 26 6e 62 73 70 3b 20   library.&nbsp; 
55a0: 49 6d 70 6c 65 6d 65 6e 74 65 64 20 66 69 6e 61  Implemented fina
55b0: 6c 69 7a 65 72 73 0a 20 20 20 20 20 20 20 20 77  lizers.        w
55c0: 68 65 72 65 20 69 74 20 6d 61 64 65 20 73 65 6e  here it made sen
55d0: 73 65 2c 20 66 69 78 65 64 20 6e 75 6d 65 72 6f  se, fixed numero
55e0: 75 73 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65  us garbage colle
55f0: 63 74 6f 72 20 69 73 73 75 65 73 20 77 68 65 6e  ctor issues when
5600: 20 6f 62 6a 65 63 74 73 20 61 72 65 20 6e 6f 74   objects are not
5610: 0a 20 20 20 20 20 20 20 20 64 69 73 70 6f 73 65  .        dispose
5620: 64 20 70 72 6f 70 65 72 6c 79 2c 20 26 6e 62 73  d properly, &nbs
5630: 70 3b 66 69 78 65 64 20 73 6f 6d 65 20 6f 62 6a  p;fixed some obj
5640: 65 63 74 20 6c 69 66 65 74 69 6d 65 20 69 73 73  ect lifetime iss
5650: 75 65 73 2c 20 65 74 63 2e 3c 2f 6c 69 3e 0a 20  ues, etc.</li>. 
5660: 20 20 20 20 20 3c 6c 69 3e 41 20 66 61 69 6c 65       <li>A faile
5670: 64 20 43 6f 6d 6d 69 74 28 29 20 6f 6e 20 61 20  d Commit() on a 
5680: 74 72 61 6e 73 61 63 74 69 6f 6e 20 6e 6f 20 6c  transaction no l
5690: 6f 6e 67 65 72 20 6c 65 61 76 65 73 20 74 68 65  onger leaves the
56a0: 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69 6e 20   transaction in 
56b0: 61 6e 20 75 6e 75 73 61 62 6c 65 0a 20 20 20 20  an unusable.    
56c0: 20 20 20 20 73 74 61 74 65 2e 3c 2f 6c 69 3e 0a      state.</li>.
56d0: 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70      </ul>.    <p
56e0: 3e 3c 62 3e 31 2e 30 2e 33 39 2e 31 20 2d 20 4a  ><b>1.0.39.1 - J
56f0: 61 6e 75 61 72 79 20 31 31 2c 20 32 30 30 37 3c  anuary 11, 2007<
5700: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
5710: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61  .    <li>Fixed a
5720: 20 72 65 61 6c 6c 79 20 64 75 6d 62 20 6d 69 73   really dumb mis
5730: 74 61 6b 65 20 74 68 61 74 20 66 6f 72 20 73 6f  take that for so
5740: 6d 65 20 72 65 61 73 6f 6e 20 64 69 64 6e 27 74  me reason didn't
5750: 20 74 72 69 67 67 65 72 20 61 6e 79 20 65 72 72   trigger any err
5760: 6f 72 73 20 69 6e 0a 20 20 20 20 20 20 74 68 65  ors in.      the
5770: 20 74 65 73 74 63 61 73 65 73 2c 20 77 68 65 72   testcases, wher
5780: 65 62 79 20 63 6f 6d 6d 61 6e 64 73 20 77 68 65  eby commands whe
5790: 6e 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74  n associated wit
57a0: 68 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77  h a connection w
57b0: 65 72 65 20 6e 6f 74 20 61 64 64 69 6e 67 0a 20  ere not adding. 
57c0: 20 20 20 20 20 6f 72 20 72 65 6d 6f 76 69 6e 67       or removing
57d0: 20 74 68 65 6d 73 65 6c 76 65 73 20 66 72 6f 6d   themselves from
57e0: 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 6c 69 73   an internal lis
57f0: 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 66 6f  t of commands fo
5800: 72 20 74 68 61 74 20 63 6f 6e 6e 65 63 74 69 6f  r that connectio
5810: 6e 20 2d 2d 0a 20 20 20 20 20 20 63 61 75 73 69  n --.      causi
5820: 6e 67 20 61 20 22 64 61 74 61 62 61 73 65 20 69  ng a "database i
5830: 73 20 6c 6f 63 6b 65 64 22 20 65 72 72 6f 72 20  s locked" error 
5840: 77 68 65 6e 20 74 72 79 69 6e 67 20 74 6f 20 63  when trying to c
5850: 6c 6f 73 65 20 74 68 65 20 63 6f 6e 6e 65 63 74  lose the connect
5860: 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f  ion.</li>.    </
5870: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
5880: 30 2e 33 39 2e 30 20 2d 20 4a 61 6e 75 61 72 79  0.39.0 - January
5890: 20 31 30 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70   10, 2007</b></p
58a0: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c  >.    <ul>.    <
58b0: 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69  li>Code merge wi
58c0: 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e 31 30  th SQLite 3.3.10
58d0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
58e0: 46 69 78 65 64 20 61 20 6d 75 6c 74 69 2d 74 68  Fixed a multi-th
58f0: 72 65 61 64 65 64 20 72 61 63 65 20 63 6f 6e 64  readed race cond
5900: 69 74 69 6f 6e 20 62 75 67 20 69 6e 20 74 68 65  ition bug in the
5910: 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74   garbage collect
5920: 6f 72 20 77 68 65 6e 20 63 6f 6d 6d 61 6e 64 73  or when commands
5930: 0a 20 20 20 20 20 20 20 20 61 6e 64 2f 6f 72 20  .        and/or 
5940: 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 61 72 65 20  connections are 
5950: 6e 6f 74 20 70 72 6f 70 65 72 6c 79 20 64 69 73  not properly dis
5960: 70 6f 73 65 64 20 62 79 20 74 68 65 20 75 73 65  posed by the use
5970: 72 2e 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  r. </li>.      <
5980: 6c 69 3e 53 77 69 74 63 68 65 64 20 74 68 65 20  li>Switched the 
5990: 65 6e 63 72 79 70 74 69 6f 6e 27 73 20 69 6e 74  encryption's int
59a0: 65 72 6e 61 6c 20 64 65 61 6c 6c 6f 63 61 74 69  ernal deallocati
59b0: 6f 6e 20 63 6f 64 65 20 74 6f 20 75 73 65 20 73  on code to use s
59c0: 71 6c 69 74 65 27 73 20 62 75 69 6c 74 2d 69 6e  qlite's built-in
59d0: 0a 20 20 20 20 20 20 20 20 61 75 78 20 66 75 6e  .        aux fun
59e0: 63 74 69 6f 6e 73 20 69 6e 73 74 65 61 64 20 6f  ctions instead o
59f0: 66 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 20  f modifying the 
5a00: 70 61 67 65 72 2e 63 20 73 6f 75 72 63 65 20 74  pager.c source t
5a10: 6f 20 66 72 65 65 20 74 68 65 20 63 72 79 70 74  o free the crypt
5a20: 20 62 6c 6f 63 6b 2e 26 6e 62 73 70 3b 0a 20 20   block.&nbsp;.  
5a30: 20 20 20 20 20 20 54 68 69 73 20 65 6c 69 6d 69        This elimi
5a40: 6e 61 74 65 73 20 74 68 65 20 6c 61 73 74 20 6f  nates the last o
5a50: 66 20 74 68 65 20 63 6f 64 65 20 63 68 61 6e 67  f the code chang
5a60: 65 73 20 74 68 65 20 70 72 6f 76 69 64 65 72 20  es the provider 
5a70: 6d 61 6b 65 73 20 74 6f 20 74 68 65 20 6f 72 69  makes to the ori
5a80: 67 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 73 71  ginal.        sq
5a90: 6c 69 74 65 20 65 6e 67 69 6e 65 20 73 6f 75 72  lite engine sour
5aa0: 63 65 73 2e 26 6e 62 73 70 3b 20 50 72 6f 70 73  ces.&nbsp; Props
5ab0: 20 74 6f 20 52 61 6c 66 20 4a 75 6e 6b 65 72 20   to Ralf Junker 
5ac0: 66 6f 72 20 70 6f 69 6e 74 69 6e 67 20 74 68 61  for pointing tha
5ad0: 74 20 6f 75 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20  t out.</li>.    
5ae0: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
5af0: 31 2e 30 2e 33 38 2e 30 20 2d 20 4e 6f 76 65 6d  1.0.38.0 - Novem
5b00: 62 65 72 20 32 32 2c 20 32 30 30 36 3c 2f 62 3e  ber 22, 2006</b>
5b10: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
5b20: 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75    <li>Fixed a bu
5b30: 67 20 77 68 65 6e 20 75 73 69 6e 67 20 43 6f 6d  g when using Com
5b40: 6d 61 6e 64 42 65 68 61 76 69 6f 72 2e 4b 65 79  mandBehavior.Key
5b50: 49 6e 66 6f 20 77 68 65 72 65 62 79 20 69 6e 74  Info whereby int
5b60: 65 67 65 72 20 70 72 69 6d 61 72 79 20 6b 65 79  eger primary key
5b70: 20 63 6f 6c 75 6d 6e 73 20 6d 61 79 20 62 65 20   columns may be 
5b80: 64 75 70 6c 69 63 61 74 65 64 20 69 6e 20 74 68  duplicated in th
5b90: 65 20 72 65 73 75 6c 74 73 2e 20 3c 2f 6c 69 3e  e results. </li>
5ba0: 0a 20 20 20 20 20 20 3c 6c 69 3e 45 6e 68 61 6e  .      <li>Enhan
5bb0: 63 65 64 20 74 68 65 20 43 6f 6d 6d 61 6e 64 42  ced the CommandB
5bc0: 75 69 6c 64 65 72 20 73 6f 20 74 68 61 74 20 75  uilder so that u
5bd0: 70 64 61 74 65 2f 64 65 6c 65 74 65 20 73 74 61  pdate/delete sta
5be0: 74 65 6d 65 6e 74 73 20 61 72 65 20 6f 70 74 69  tements are opti
5bf0: 6d 69 7a 65 64 20 77 68 65 6e 20 74 68 65 20 61  mized when the a
5c00: 66 66 65 63 74 65 64 20 74 61 62 6c 65 20 63 6f  ffected table co
5c10: 6e 74 61 69 6e 73 20 75 6e 69 71 75 65 20 63 6f  ntains unique co
5c20: 6e 73 74 72 61 69 6e 74 73 20 61 6e 64 0a 20 20  nstraints and.  
5c30: 20 20 20 20 61 20 70 72 69 6d 61 72 79 20 6b 65      a primary ke
5c40: 79 20 69 73 20 70 72 65 73 65 6e 74 2e 3c 2f 6c  y is present.</l
5c50: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
5c60: 65 64 20 61 20 62 75 67 20 69 6e 20 74 68 65 20  ed a bug in the 
5c70: 44 61 74 61 52 65 61 64 65 72 20 77 68 65 6e 20  DataReader when 
5c80: 75 73 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74  used in conjunct
5c90: 69 6f 6e 20 77 69 74 68 20 43 6f 6d 6d 61 6e 64  ion with Command
5ca0: 42 65 68 61 76 69 6f 72 2e 43 6c 6f 73 65 43 6f  Behavior.CloseCo
5cb0: 6e 6e 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 3c 2f  nnection.</li></
5cc0: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
5cd0: 30 2e 33 37 2e 30 20 2d 20 4e 6f 76 65 6d 62 65  0.37.0 - Novembe
5ce0: 72 20 31 39 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f  r 19, 2006</b></
5cf0: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
5d00: 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72  <li>Added suppor
5d10: 74 20 66 6f 72 20 43 6f 6d 6d 61 6e 64 42 65 68  t for CommandBeh
5d20: 61 76 69 6f 72 2e 4b 65 79 49 6e 66 6f 2e 26 6e  avior.KeyInfo.&n
5d30: 62 73 70 3b 20 0a 20 20 20 20 20 20 57 68 65 6e  bsp; .      When
5d40: 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 61 20   specified in a 
5d50: 71 75 65 72 79 2c 20 61 64 64 69 74 69 6f 6e 61  query, additiona
5d60: 6c 20 63 6f 6c 75 6d 6e 28 73 29 20 77 69 6c 6c  l column(s) will
5d70: 20 62 65 20 72 65 74 75 72 6e 65 64 20 64 65 73   be returned des
5d80: 63 72 69 62 69 6e 67 20 74 68 65 0a 20 20 20 20  cribing the.    
5d90: 20 20 6b 65 79 28 73 29 20 64 65 66 69 6e 65 64    key(s) defined
5da0: 20 66 6f 72 20 74 68 65 20 74 61 62 6c 65 28 73   for the table(s
5db0: 29 20 73 65 6c 65 63 74 65 64 20 69 6e 20 74 68  ) selected in th
5dc0: 65 20 71 75 65 72 79 2e 26 6e 62 73 70 3b 20 54  e query.&nbsp; T
5dd0: 68 69 73 20 69 73 20 6f 70 74 69 6d 69 7a 65 64  his is optimized
5de0: 20 77 68 65 6e 0a 20 20 20 20 20 20 49 4e 54 45   when.      INTE
5df0: 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 20  GER PRIMARY KEY 
5e00: 69 73 20 73 65 74 20 66 6f 72 20 74 68 65 20 67  is set for the g
5e10: 69 76 65 6e 20 74 61 62 6c 65 73 2c 20 62 75 74  iven tables, but
5e20: 20 64 6f 65 73 20 61 64 64 69 74 69 6f 6e 61 6c   does additional
5e30: 20 77 6f 72 6b 20 66 6f 72 20 6f 74 68 65 72 0a   work for other.
5e40: 20 20 20 20 20 20 6b 69 6e 64 73 20 6f 66 20 70        kinds of p
5e50: 72 69 6d 61 72 79 20 6b 65 79 73 2e 3c 2f 6c 69  rimary keys.</li
5e60: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65 6d 6f  >.      <li>Remo
5e70: 76 65 64 20 74 68 65 20 64 65 66 61 75 6c 74 20  ved the default 
5e80: 76 61 6c 75 65 73 20 66 72 6f 6d 20 53 51 4c 69  values from SQLi
5e90: 74 65 44 61 74 61 52 65 61 64 65 72 2e 47 65 74  teDataReader.Get
5ea0: 54 61 62 6c 65 53 63 68 65 6d 61 28 29 2c 20 74  TableSchema(), t
5eb0: 6f 20 62 65 74 74 65 72 20 66 6f 6c 6c 6f 77 0a  o better follow.
5ec0: 20 20 20 20 20 20 20 20 53 71 6c 20 53 65 72 76          Sql Serv
5ed0: 65 72 27 73 20 70 61 74 74 65 72 6e 20 61 6e 64  er's pattern and
5ee0: 20 73 75 70 70 72 65 73 73 20 73 63 68 65 6d 61   suppress schema
5ef0: 20 65 72 72 6f 72 73 20 77 68 65 6e 20 6c 6f 61   errors when loa
5f00: 64 69 6e 67 20 74 68 65 20 72 65 63 6f 72 64 73  ding the records
5f10: 20 69 6e 74 6f 20 61 0a 20 20 20 20 20 20 20 20   into a.        
5f20: 64 61 74 61 73 65 74 2f 64 61 74 61 74 61 62 6c  dataset/datatabl
5f30: 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  e.</li>.      <l
5f40: 69 3e 41 6c 6c 6f 77 20 69 6e 74 65 67 65 72 73  i>Allow integers
5f50: 20 74 6f 20 69 6d 70 6c 69 63 69 74 6c 79 20 63   to implicitly c
5f60: 6f 6e 76 65 72 74 20 74 6f 20 64 6f 75 62 6c 65  onvert to double
5f70: 2f 64 65 63 69 6d 61 6c 2f 73 69 6e 67 6c 65 2e  /decimal/single.
5f80: 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c  </li></ul>.    <
5f90: 70 3e 3c 62 3e 31 2e 30 2e 33 36 2e 31 20 2d 20  p><b>1.0.36.1 - 
5fa0: 4f 63 74 6f 62 65 72 20 32 35 2c 20 32 30 30 36  October 25, 2006
5fb0: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
5fc0: 3e 0a 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20  >.    <li>Added 
5fd0: 73 75 70 70 6f 72 74 20 66 6f 72 20 4c 4f 4e 47  support for LONG
5fe0: 56 41 52 43 48 41 52 2c 20 53 4d 41 4c 4c 44 41  VARCHAR, SMALLDA
5ff0: 54 45 20 61 6e 64 20 53 4d 41 4c 4c 44 41 54 45  TE and SMALLDATE
6000: 54 49 4d 45 2e 20 20 54 68 65 73 65 20 77 65 72  TIME.  These wer
6010: 65 20 61 63 74 75 61 6c 6c 79 20 61 64 64 65 64  e actually added
6020: 20 69 6e 20 31 2e 30 2e 33 36 2e 30 20 62 75 74   in 1.0.36.0 but
6030: 20 77 65 72 65 20 75 6e 64 6f 63 75 6d 65 6e 74   were undocument
6040: 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 6c 69  ed.</li>.    <li
6050: 3e 46 69 78 65 64 20 74 68 65 20 65 6d 62 65 64  >Fixed the embed
6060: 64 65 64 20 68 65 6c 70 66 69 6c 65 20 77 68 69  ded helpfile whi
6070: 63 68 20 77 61 73 20 61 63 63 69 64 65 6e 74 61  ch was accidenta
6080: 6c 6c 79 20 62 75 69 6c 74 20 66 72 6f 6d 20 6f  lly built from o
6090: 6c 64 20 73 6f 75 72 63 65 73 2e 20 3c 2f 6c 69  ld sources. </li
60a0: 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  >.    <li>Fixed 
60b0: 61 6e 20 75 6e 66 6f 72 74 75 6e 61 74 65 20 72  an unfortunate r
60c0: 65 2d 65 6e 74 72 79 20 6f 66 20 61 20 62 75 67  e-entry of a bug
60d0: 20 69 6e 20 74 68 65 20 2e 33 36 20 63 6f 64 65   in the .36 code
60e0: 62 61 73 65 20 74 68 61 74 20 63 61 75 73 65 64  base that caused
60f0: 20 74 68 65 20 70 72 6f 76 69 64 65 72 20 74 6f   the provider to
6100: 20 22 66 6f 72 67 65 74 22 20 61 62 6f 75 74 20   "forget" about 
6110: 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20 61 20 63 6f  commands on a co
6120: 6e 6e 65 63 74 69 6f 6e 20 75 6e 64 65 72 20 63  nnection under c
6130: 65 72 74 61 69 6e 20 63 69 72 63 75 6d 73 74 61  ertain circumsta
6140: 6e 63 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c  nces.</li>.    <
6150: 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  /ul>.    <p><b>1
6160: 2e 30 2e 33 36 2e 30 20 2d 20 4f 63 74 6f 62 65  .0.36.0 - Octobe
6170: 72 20 32 33 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f  r 23, 2006</b></
6180: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
6190: 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77  <li>Code merge w
61a0: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e 38  ith SQLite 3.3.8
61b0: 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 75 70 70  , including supp
61c0: 6f 72 74 20 66 6f 72 20 66 75 6c 6c 2d 74 65 78  ort for full-tex
61d0: 74 20 73 65 61 72 63 68 20 76 69 61 20 74 68 65  t search via the
61e0: 20 46 54 53 31 0a 20 20 20 20 20 20 65 78 74 65   FTS1.      exte
61f0: 6e 73 69 6f 6e 2e 26 6e 62 73 70 3b 3c 2f 6c 69  nsion.&nbsp;</li
6200: 3e 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67  ><li>Fixed a bug
6210: 20 72 65 74 72 69 65 76 69 6e 67 20 64 61 74 61   retrieving data
6220: 20 74 79 70 65 73 20 77 68 65 6e 20 55 73 65 55   types when UseU
6230: 74 66 31 36 45 6e 63 6f 64 69 6e 67 20 69 73 20  tf16Encoding is 
6240: 74 72 75 65 2e 20 20 53 69 64 65 2d 65 66 66 65  true.  Side-effe
6250: 63 74 20 6f 66 20 66 75 72 74 68 65 72 20 6d 65  ct of further me
6260: 72 67 69 6e 67 20 74 68 65 20 63 6f 6d 6d 6f 6e  rging the common
6270: 20 63 6f 64 65 20 62 65 74 77 65 65 6e 20 74 68   code between th
6280: 65 20 74 77 6f 20 62 61 73 65 20 63 6c 61 73 73  e two base class
6290: 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  es.</li>.      <
62a0: 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 77  li>Fixed a bug w
62b0: 69 74 68 20 53 79 73 74 65 6d 2e 54 72 61 6e 73  ith System.Trans
62c0: 61 63 74 69 6f 6e 73 20 77 68 65 72 65 62 79 20  actions whereby 
62d0: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6c 6f  a connection clo
62e0: 73 65 64 2f 64 69 73 70 6f 73 65 64 20 77 69 74  sed/disposed wit
62f0: 68 69 6e 0a 20 20 20 20 20 20 20 20 61 20 74 72  hin.        a tr
6300: 61 6e 73 61 63 74 69 6f 6e 20 73 63 6f 70 65 20  ansaction scope 
6310: 69 73 20 72 6f 6c 6c 65 64 20 62 61 63 6b 20 61  is rolled back a
6320: 6e 64 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6d  nd cannot be com
6330: 6d 69 74 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20  mitted.</li>.   
6340: 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 6d 6f 72     <li>Added mor
6350: 65 20 65 72 72 6f 72 20 63 68 65 63 6b 69 6e 67  e error checking
6360: 20 61 6e 64 20 72 65 70 6f 72 74 69 6e 67 20 74   and reporting t
6370: 6f 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 74  o transactions t
6380: 6f 20 68 65 6c 70 20 75 73 65 72 27 73 20 69 73  o help user's is
6390: 6f 6c 61 74 65 0a 20 20 20 20 20 20 20 20 74 68  olate.        th
63a0: 65 20 73 6f 75 72 63 65 20 6f 66 20 74 72 61 6e  e source of tran
63b0: 73 61 63 74 69 6f 6e 20 66 61 69 6c 75 72 65 73  saction failures
63c0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
63d0: 3e 49 6d 70 6c 65 6d 65 6e 74 65 64 20 61 20 77  >Implemented a w
63e0: 6f 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 61 20  orkaround for a 
63f0: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
6400: 6b 20 69 73 73 75 65 20 72 65 67 61 72 64 69 6e  k issue regardin
6410: 67 20 73 74 72 6f 6e 67 2d 6e 61 6d 65 64 0a 20  g strong-named. 
6420: 20 20 20 20 20 20 20 61 73 73 65 6d 62 6c 69 65         assemblie
6430: 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 50  s containing a P
6440: 45 20 73 65 63 74 69 6f 6e 20 77 69 74 68 20 61  E section with a
6450: 20 72 61 77 20 73 69 7a 65 20 6c 65 73 73 20 74   raw size less t
6460: 68 61 6e 20 74 68 65 20 76 69 72 74 75 61 6c 20  han the virtual 
6470: 73 69 7a 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e  size.&nbsp;</li>
6480: 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c  .    </ul>.    <
6490: 70 3e 3c 62 3e 31 2e 30 2e 33 35 2e 31 20 2d 20  p><b>1.0.35.1 - 
64a0: 53 65 70 74 65 6d 62 65 72 20 31 32 2c 20 32 30  September 12, 20
64b0: 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c  06</b></p>.    <
64c0: 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65  ul>.    <li>Fixe
64d0: 64 20 74 68 65 20 54 59 50 45 53 20 6b 65 79 77  d the TYPES keyw
64e0: 6f 72 64 20 74 6f 20 77 6f 72 6b 20 77 68 65 6e  ord to work when
64f0: 20 55 73 65 55 54 46 31 36 45 6e 63 6f 64 69 6e   UseUTF16Encodin
6500: 67 20 69 73 20 74 72 75 65 2e 3c 2f 6c 69 3e 0a  g is true.</li>.
6510: 20 20 20 20 3c 6c 69 3e 46 69 78 20 61 6e 6f 74      <li>Fix anot
6520: 68 65 72 20 62 75 67 20 72 65 76 65 61 6c 65 64  her bug revealed
6530: 20 69 6e 20 31 2e 30 2e 33 35 2e 30 20 72 65 67   in 1.0.35.0 reg
6540: 61 72 64 69 6e 67 20 69 6e 66 69 6e 69 74 65 20  arding infinite 
6550: 6c 6f 6f 70 73 20 77 68 65 6e 20 74 68 65 20 32  loops when the 2
6560: 6e 64 20 6f 72 20 73 75 62 73 65 71 75 65 6e 74  nd or subsequent
6570: 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 61   statements of a
6580: 20 73 65 6d 69 2d 63 6f 6c 6f 6e 20 73 65 70 61   semi-colon sepa
6590: 72 61 74 65 64 20 63 6f 6d 6d 61 6e 64 20 63 61  rated command ca
65a0: 6e 6e 6f 74 20 62 65 20 70 61 72 73 65 64 2e 3c  nnot be parsed.<
65b0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 55  /li>.      <li>U
65c0: 70 64 61 74 65 64 20 74 68 65 20 68 65 6c 70 20  pdated the help 
65d0: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 26 6e  documentation.&n
65e0: 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f  bsp;</li>.    </
65f0: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
6600: 30 2e 33 35 2e 30 20 2d 20 53 65 70 74 65 6d 62  0.35.0 - Septemb
6610: 65 72 20 31 30 2c 20 32 30 30 36 3c 2f 62 3e 3c  er 10, 2006</b><
6620: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
6630: 20 3c 6c 69 3e 46 69 78 65 64 20 61 6e 20 69 6e   <li>Fixed an in
6640: 66 69 6e 69 74 65 20 6c 6f 6f 70 20 62 75 67 20  finite loop bug 
6650: 69 6e 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64  in SQLiteCommand
6660: 20 63 61 75 73 65 64 20 77 68 65 6e 20 6d 75 6c   caused when mul
6670: 74 69 70 6c 65 20 73 65 6d 69 2d 63 6f 6c 6f 6e  tiple semi-colon
6680: 20 73 65 70 61 72 61 74 65 64 0a 20 20 20 20 20   separated.     
6690: 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61   statements in a
66a0: 20 73 69 6e 67 6c 65 20 63 6f 6d 6d 61 6e 64 20   single command 
66b0: 61 72 65 20 65 78 65 63 75 74 65 64 20 76 69 61  are executed via
66c0: 20 64 61 74 61 72 65 61 64 65 72 20 61 6e 64 20   datareader and 
66d0: 6f 6e 65 20 6f 66 20 74 68 65 20 73 74 61 74 65  one of the state
66e0: 6d 65 6e 74 73 0a 20 20 20 20 20 20 63 6f 6e 74  ments.      cont
66f0: 61 69 6e 73 20 61 20 73 79 6e 74 61 78 20 65 72  ains a syntax er
6700: 72 6f 72 20 70 72 65 76 65 6e 74 69 6e 67 20 69  ror preventing i
6710: 74 20 66 72 6f 6d 20 62 65 69 6e 67 20 70 72 65  t from being pre
6720: 70 61 72 65 64 2e 26 6e 62 73 70 3b 3c 2f 6c 69  pared.&nbsp;</li
6730: 3e 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 54  ><li>Added the T
6740: 59 50 45 53 20 70 72 65 70 61 72 73 65 72 20 6b  YPES preparser k
6750: 65 79 77 6f 72 64 20 74 6f 20 62 65 20 70 6c 61  eyword to be pla
6760: 63 65 64 20 62 65 66 6f 72 65 20 61 20 53 45 4c  ced before a SEL
6770: 45 43 54 20 73 74 61 74 65 6d 65 6e 74 20 74 6f  ECT statement to
6780: 0a 20 20 20 20 61 69 64 20 74 68 65 20 77 72 61  .    aid the wra
6790: 70 70 65 72 20 69 6e 20 63 6f 6e 76 65 72 74 69  pper in converti
67a0: 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69  ng expressions i
67b0: 6e 20 61 20 73 75 62 73 65 71 75 65 6e 74 20 73  n a subsequent s
67c0: 65 6c 65 63 74 20 63 6c 61 75 73 65 20 69 6e 74  elect clause int
67d0: 6f 20 6d 6f 72 65 0a 20 20 20 20 72 6f 62 75 73  o more.    robus
67e0: 74 20 74 79 70 65 73 2e 26 6e 62 73 70 3b 20 44  t types.&nbsp; D
67f0: 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 79 65 74  ocumentation yet
6800: 20 74 6f 20 62 65 20 69 6e 74 65 67 72 61 74 65   to be integrate
6810: 64 2c 20 62 75 74 20 61 76 61 69 6c 61 62 6c 65  d, but available
6820: 20 6f 6e 20 74 68 65 20 66 6f 72 75 6d 73 2e 3c   on the forums.<
6830: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41  /li>.      <li>A
6840: 64 64 65 64 20 61 20 6e 65 77 20 63 6f 6e 6e 65  dded a new conne
6850: 63 74 69 6f 6e 73 74 72 69 6e 67 20 70 61 72 61  ctionstring para
6860: 6d 65 74 65 72 20 22 42 69 6e 61 72 79 47 55 49  meter "BinaryGUI
6870: 44 3d 74 72 75 65 2f 66 61 6c 73 65 22 20 28 64  D=true/false" (d
6880: 65 66 61 75 6c 74 20 69 73 20 22 74 72 75 65 22  efault is "true"
6890: 29 2e 26 6e 62 73 70 3b 0a 20 20 20 20 20 20 20  ).&nbsp;.       
68a0: 20 57 68 65 6e 20 74 72 75 65 2c 20 67 75 69 64   When true, guid
68b0: 20 74 79 70 65 73 20 61 72 65 20 73 74 6f 72 65   types are store
68c0: 64 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73  d in the databas
68d0: 65 20 61 73 20 62 69 6e 61 72 79 20 62 6c 6f 62  e as binary blob
68e0: 73 20 74 6f 20 73 61 76 65 20 73 70 61 63 65 2e  s to save space.
68f0: 26 6e 62 73 70 3b 0a 20 20 20 20 20 20 20 20 42  &nbsp;.        B
6900: 69 6e 61 72 79 20 68 61 73 20 62 65 65 6e 20 74  inary has been t
6910: 68 65 20 64 65 66 61 75 6c 74 20 66 6f 72 6d 61  he default forma
6920: 74 20 73 69 6e 63 65 20 31 2e 30 2e 33 32 2e 30  t since 1.0.32.0
6930: 20 62 75 74 20 74 68 69 73 20 70 61 72 61 6d 65   but this parame
6940: 74 65 72 20 65 61 73 65 73 20 62 61 63 6b 77 61  ter eases backwa
6950: 72 64 0a 20 20 20 20 20 20 20 20 63 6f 6d 70 61  rd.        compa
6960: 74 69 62 69 6c 69 74 79 2e 3c 2f 6c 69 3e 0a 20  tibility.</li>. 
6970: 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e     </ul>.    <p>
6980: 3c 62 3e 31 2e 30 2e 33 34 2e 30 20 2d 20 53 65  <b>1.0.34.0 - Se
6990: 70 74 65 6d 62 65 72 20 34 2c 20 32 30 30 36 3c  ptember 4, 2006<
69a0: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
69b0: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61  .    <li>Fixed a
69c0: 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65 50 61   bug in SQLitePa
69d0: 72 61 6d 65 74 65 72 43 6f 6c 6c 65 63 74 69 6f  rameterCollectio
69e0: 6e 2e 52 65 6d 6f 76 65 41 74 28 6e 61 6d 65 64  n.RemoveAt(named
69f0: 70 61 72 61 6d 29 3c 2f 6c 69 3e 0a 20 20 20 20  param)</li>.    
6a00: 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20  <li>Fixed a bug 
6a10: 69 6e 20 53 51 4c 69 74 65 44 61 74 61 52 65 61  in SQLiteDataRea
6a20: 64 65 72 20 69 6e 74 72 6f 64 75 63 65 64 20 69  der introduced i
6a30: 6e 20 31 2e 30 2e 33 30 20 74 68 61 74 20 62 72  n 1.0.30 that br
6a40: 6f 6b 65 20 44 61 74 65 54 69 6d 65 73 20 75 73  oke DateTimes us
6a50: 69 6e 67 20 74 68 65 20 54 69 63 6b 73 20 6f 70  ing the Ticks op
6a60: 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 6f 6e 6e  tion in the conn
6a70: 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 2e 3c 2f  ection string.</
6a80: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
6a90: 78 65 64 20 61 20 62 75 67 20 69 6e 20 74 68 65  xed a bug in the
6aa0: 20 72 65 63 65 6e 74 20 63 68 61 6e 67 65 73 20   recent changes 
6ab0: 74 6f 20 67 75 69 64 20 62 65 68 61 76 69 6f 72  to guid behavior
6ac0: 20 77 68 65 72 65 69 6e 20 75 73 69 6e 67 20 61   wherein using a
6ad0: 20 64 61 74 61 72 65 61 64 65 72 27 73 0a 20 20   datareader's.  
6ae0: 20 20 20 20 20 20 69 6e 64 65 78 65 72 20 74 6f        indexer to
6af0: 20 66 65 74 63 68 20 61 20 67 75 69 64 20 66 72   fetch a guid fr
6b00: 6f 6d 20 61 20 63 6f 6c 75 6d 6e 20 63 6f 6e 74  om a column cont
6b10: 61 69 6e 69 6e 67 20 62 6f 74 68 20 62 69 6e 61  aining both bina
6b20: 72 79 20 61 6e 64 20 74 65 78 74 20 67 75 69 64  ry and text guid
6b30: 73 20 77 6f 75 6c 64 0a 20 20 20 20 20 20 20 20  s would.        
6b40: 73 6f 6d 65 74 69 6d 65 73 20 72 65 74 75 72 6e  sometimes return
6b50: 20 61 20 62 79 74 65 20 61 72 72 61 79 20 69 6e   a byte array in
6b60: 73 74 65 61 64 20 6f 66 20 61 20 67 75 69 64 2e  stead of a guid.
6b70: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
6b80: 45 6e 61 63 74 65 64 20 61 20 77 6f 72 6b 61 72  Enacted a workar
6b90: 6f 75 6e 64 20 69 6e 76 6f 6c 76 69 6e 67 20 74  ound involving t
6ba0: 79 70 65 64 20 64 61 74 61 73 65 74 73 20 69 6e  yped datasets in
6bb0: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
6bc0: 72 6b 20 70 72 6f 6a 65 63 74 73 20 69 6e 0a 20  rk projects in. 
6bd0: 20 20 20 20 20 20 20 77 68 69 63 68 20 69 74 20         which it 
6be0: 74 6f 6f 6b 20 61 6e 20 65 78 63 65 73 73 69 76  took an excessiv
6bf0: 65 20 61 6d 6f 75 6e 74 20 6f 66 20 74 69 6d 65  e amount of time
6c00: 20 74 6f 20 6f 70 65 6e 20 61 20 66 6f 72 6d 20   to open a form 
6c10: 61 6e 64 20 67 65 6e 65 72 61 74 65 64 20 61 20  and generated a 
6c20: 6c 6f 74 20 6f 66 0a 20 20 20 20 20 20 20 20 74  lot of.        t
6c30: 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 69  emporary files i
6c40: 6e 20 74 68 65 20 75 73 65 72 27 73 20 4c 6f 63  n the user's Loc
6c50: 61 6c 20 53 65 74 74 69 6e 67 73 5c 41 70 70 6c  al Settings\Appl
6c60: 69 63 61 74 69 6f 6e 20 44 61 74 61 5c 4d 69 63  ication Data\Mic
6c70: 72 6f 73 6f 66 74 5c 56 69 73 75 61 6c 53 74 75  rosoft\VisualStu
6c80: 64 69 6f 5c 38 2e 30 5c 41 73 73 65 6d 62 6c 79  dio\8.0\Assembly
6c90: 0a 20 20 20 20 20 20 20 20 52 65 66 65 72 65 6e  .        Referen
6ca0: 63 65 73 20 66 6f 6c 64 65 72 2e 3c 2f 6c 69 3e  ces folder.</li>
6cb0: 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c  .    </ul>.    <
6cc0: 70 3e 3c 62 3e 31 2e 30 2e 33 33 2e 30 20 2d 20  p><b>1.0.33.0 - 
6cd0: 41 75 67 75 73 74 20 32 31 2c 20 32 30 30 36 3c  August 21, 2006<
6ce0: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
6cf0: 0a 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65  .    <li>Code me
6d00: 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20  rge with SQLite 
6d10: 33 2e 33 2e 37 3c 2f 6c 69 3e 0a 20 20 20 20 20  3.3.7</li>.     
6d20: 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67   <li>Fixed a bug
6d30: 20 69 6e 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63   in SQLiteConnec
6d40: 74 69 6f 6e 20 74 68 61 74 20 63 61 75 73 65 64  tion that caused
6d50: 20 69 74 20 74 6f 20 22 66 6f 72 67 65 74 22 20   it to "forget" 
6d60: 61 62 6f 75 74 20 63 6f 6d 6d 61 6e 64 73 20 62  about commands b
6d70: 6f 75 6e 64 0a 20 20 20 20 20 20 74 6f 20 69 74  ound.      to it
6d80: 20 61 6e 64 20 6f 63 63 61 73 69 6f 6e 61 6c 6c   and occasionall
6d90: 79 20 74 68 72 6f 77 20 61 6e 20 65 72 72 6f 72  y throw an error
6da0: 20 77 68 65 6e 20 61 20 64 61 74 61 62 61 73 65   when a database
6db0: 20 69 73 20 63 6c 6f 73 65 64 20 61 6e 64 20 6f   is closed and o
6dc0: 70 65 6e 65 64 20 72 65 70 65 61 74 65 64 6c 79  pened repeatedly
6dd0: 2e 26 6e 62 73 70 3b 0a 20 20 20 20 20 20 3c 2f  .&nbsp;.      </
6de0: 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20  li>.    </ul>.  
6df0: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 32 2e 30    <p><b>1.0.32.0
6e00: 20 2d 20 41 75 67 75 73 74 20 36 2c 20 32 30 30   - August 6, 200
6e10: 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75  6</b></p>.    <u
6e20: 6c 3e 0a 20 20 20 20 3c 6c 69 3e 41 64 64 65 64  l>.    <li>Added
6e30: 20 41 6c 6c 6f 77 50 61 72 74 69 61 6c 6c 79 54   AllowPartiallyT
6e40: 72 75 73 74 65 64 43 61 6c 6c 65 72 73 20 61 74  rustedCallers at
6e50: 74 72 69 62 75 74 65 20 74 6f 20 74 68 65 20 61  tribute to the a
6e60: 73 73 65 6d 62 6c 79 3c 2f 6c 69 3e 3c 6c 69 3e  ssembly</li><li>
6e70: 41 64 64 65 64 20 74 68 65 20 6d 69 73 73 69 6e  Added the missin
6e80: 67 20 22 6e 63 68 61 72 22 20 74 79 70 65 3c 2f  g "nchar" type</
6e90: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64  li>.      <li>Ad
6ea0: 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
6eb0: 62 69 6e 61 72 79 20 47 75 69 64 27 73 2e 26 6e  binary Guid's.&n
6ec0: 62 73 70 3b 20 47 75 69 64 73 20 61 72 65 20 6e  bsp; Guids are n
6ed0: 6f 77 20 73 74 6f 72 65 64 20 61 73 20 62 69 6e  ow stored as bin
6ee0: 61 72 79 20 62 79 20 64 65 66 61 75 6c 74 0a 20  ary by default. 
6ef0: 20 20 20 20 20 20 20 77 68 65 6e 20 75 73 69 6e         when usin
6f00: 67 20 70 61 72 61 6d 65 74 65 72 69 7a 65 64 20  g parameterized 
6f10: 71 75 65 72 69 65 73 2e 26 6e 62 73 70 3b 20 54  queries.&nbsp; T
6f20: 65 78 74 20 67 75 69 64 73 20 61 72 65 20 73 74  ext guids are st
6f30: 69 6c 6c 20 66 75 6c 6c 79 20 73 75 70 70 6f 72  ill fully suppor
6f40: 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ted.</li>.      
6f50: 3c 6c 69 3e 46 69 78 65 64 20 61 20 54 72 61 6e  <li>Fixed a Tran
6f60: 73 61 63 74 69 6f 6e 53 63 6f 70 65 28 29 20 65  sactionScope() e
6f70: 72 72 6f 72 20 74 68 61 74 20 63 61 75 73 65 64  rror that caused
6f80: 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e   the transaction
6f90: 20 6e 6f 74 20 74 6f 20 62 65 20 63 6f 6d 70 6c   not to be compl
6fa0: 65 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  eted.</li>.     
6fb0: 20 3c 6c 69 3e 45 6e 68 61 6e 63 65 64 20 70 61   <li>Enhanced pa
6fc0: 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 73 6f  rameter names so
6fd0: 20 74 68 61 74 20 69 66 20 74 68 65 79 20 61 72   that if they ar
6fe0: 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 50  e added to the P
6ff0: 61 72 61 6d 65 74 65 72 73 20 63 6f 6c 6c 65 63  arameters collec
7000: 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 77 69 74  tion.        wit
7010: 68 6f 75 74 20 74 68 65 69 72 20 70 72 65 66 69  hout their prefi
7020: 78 20 63 68 61 72 61 63 74 65 72 20 28 40 20 3a  x character (@ :
7030: 20 6f 72 20 24 29 20 74 68 65 79 20 61 72 65 20   or $) they are 
7040: 73 74 69 6c 6c 20 70 72 6f 70 65 72 6c 79 20 6d  still properly m
7050: 61 70 70 65 64 2e 26 6e 62 73 70 3b 3c 2f 6c 69  apped.&nbsp;</li
7060: 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20  >.    </ul>.    
7070: 3c 70 3e 3c 62 3e 31 2e 30 2e 33 31 2e 30 20 2d  <p><b>1.0.31.0 -
7080: 20 4a 75 6c 79 20 31 36 2c 20 32 30 30 36 3c 2f   July 16, 2006</
7090: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
70a0: 20 20 20 20 3c 6c 69 3e 52 65 2d 61 70 70 6c 69      <li>Re-appli
70b0: 65 64 20 74 68 65 20 76 69 65 77 20 70 61 72 73  ed the view pars
70c0: 69 6e 67 20 62 75 67 66 69 78 20 69 6e 20 31 2e  ing bugfix in 1.
70d0: 30 2e 32 39 2e 30 20 74 68 61 74 20 77 61 73 20  0.29.0 that was 
70e0: 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 72 65 76  accidentally rev
70f0: 65 72 74 65 64 0a 20 20 20 20 20 20 6f 75 74 20  erted.      out 
7100: 6f 66 20 74 68 65 20 33 30 20 62 75 69 6c 64 2e  of the 30 build.
7110: 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78 65 64 20 53  </li><li>Fixed S
7120: 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e 45 78 65  QLiteCommand.Exe
7130: 63 75 74 65 53 63 61 6c 61 72 28 29 20 74 6f 20  cuteScalar() to 
7140: 72 65 74 75 72 6e 20 6e 75 6c 6c 20 69 6e 73 74  return null inst
7150: 65 61 64 20 6f 66 20 44 62 4e 75 6c 6c 2e 56 61  ead of DbNull.Va
7160: 6c 75 65 0a 20 20 20 20 77 68 65 6e 20 6e 6f 20  lue.    when no 
7170: 72 6f 77 73 20 77 65 72 65 20 72 65 74 75 72 6e  rows were return
7180: 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ed.</li>.      <
7190: 6c 69 3e 44 65 73 69 67 6e 2d 74 69 6d 65 20 69  li>Design-time i
71a0: 6e 73 74 61 6c 6c 65 72 20 6e 6f 77 20 69 6e 73  nstaller now ins
71b0: 74 61 6c 6c 73 20 74 68 65 20 70 61 63 6b 61 67  talls the packag
71c0: 65 2d 62 61 73 65 64 20 64 65 73 69 67 6e 65 72  e-based designer
71d0: 20 6f 6e 20 66 75 6c 6c 20 56 69 73 75 61 6c 20   on full Visual 
71e0: 53 74 75 64 69 6f 0a 20 20 20 20 20 20 20 20 76  Studio.        v
71f0: 65 72 73 69 6f 6e 73 2e 26 6e 62 73 70 3b 20 45  ersions.&nbsp; E
7200: 78 70 72 65 73 73 20 65 64 69 74 69 6f 6e 73 20  xpress editions 
7210: 63 6f 6e 74 69 6e 75 65 20 74 6f 20 75 73 65 20  continue to use 
7220: 74 68 65 20 70 61 63 6b 61 67 65 6c 65 73 73 20  the packageless 
7230: 64 65 73 69 67 6e 65 72 2e 3c 2f 6c 69 3e 0a 20  designer.</li>. 
7240: 20 20 20 20 20 3c 6c 69 3e 49 6e 20 56 69 73 75       <li>In Visu
7250: 61 6c 20 53 74 75 64 69 6f 20 28 6e 6f 74 20 45  al Studio (not E
7260: 78 70 72 65 73 73 29 2c 20 79 6f 75 20 63 61 6e  xpress), you can
7270: 20 6e 6f 77 20 72 69 67 68 74 2d 63 6c 69 63 6b   now right-click
7280: 20 61 20 53 51 4c 69 74 65 20 63 6f 6e 6e 65 63   a SQLite connec
7290: 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 20 20 20  tion in.        
72a0: 74 68 65 20 53 65 72 76 65 72 20 45 78 70 6c 6f  the Server Explo
72b0: 72 65 72 20 61 6e 64 20 76 61 63 75 75 6d 20 74  rer and vacuum t
72c0: 68 65 20 64 61 74 61 62 61 73 65 20 61 6e 64 20  he database and 
72d0: 63 68 61 6e 67 65 20 74 68 65 20 65 6e 63 72 79  change the encry
72e0: 70 74 69 6f 6e 20 70 61 73 73 77 6f 72 64 2e 3c  ption password.<
72f0: 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20  /li>.    </ul>. 
7300: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 30 2e     <p><b>1.0.30.
7310: 31 20 2d 20 4a 75 6c 79 20 32 2c 20 32 30 30 36  1 - July 2, 2006
7320: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
7330: 3e 0a 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d  >.    <li>Code m
7340: 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65  erge with SQLite
7350: 20 33 2e 33 2e 36 3c 2f 6c 69 3e 0a 20 20 20 20   3.3.6</li>.    
7360: 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70    <li>Added supp
7370: 6f 72 74 20 66 6f 72 20 74 68 65 20 7c 44 61 74  ort for the |Dat
7380: 61 44 69 72 65 63 74 6f 72 79 7c 20 6b 65 79 77  aDirectory| keyw
7390: 6f 72 64 20 69 6e 20 74 68 65 20 44 61 74 61 20  ord in the Data 
73a0: 53 6f 75 72 63 65 20 66 69 6c 65 6e 61 6d 65 20  Source filename 
73b0: 73 74 72 69 6e 67 2e 26 6e 62 73 70 3b 0a 20 20  string.&nbsp;.  
73c0: 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20      </li>.      
73d0: 3c 6c 69 3e 41 64 64 65 64 20 68 6f 6f 6b 20 6e  <li>Added hook n
73e0: 6f 74 69 66 69 63 61 74 69 6f 6e 20 73 75 70 70  otification supp
73f0: 6f 72 74 20 74 6f 20 53 51 4c 69 74 65 43 6f 6e  ort to SQLiteCon
7400: 6e 65 63 74 69 6f 6e 2e 26 6e 62 73 70 3b 20 53  nection.&nbsp; S
7410: 70 65 63 69 66 69 63 61 6c 6c 79 2c 20 74 68 65  pecifically, the
7420: 72 65 0a 20 20 20 20 20 20 61 72 65 20 74 68 72  re.      are thr
7430: 65 65 20 6e 65 77 20 65 76 65 6e 74 73 20 6f 6e  ee new events on
7440: 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65   the SQLiteConne
7450: 63 74 69 6f 6e 20 6f 62 6a 65 63 74 20 77 68 69  ction object whi
7460: 63 68 20 61 72 65 20 72 61 69 73 65 64 20 77 68  ch are raised wh
7470: 65 6e 20 61 6e 20 75 70 64 61 74 65 2f 69 6e 73  en an update/ins
7480: 65 72 74 2f 64 65 6c 65 74 65 0a 20 20 20 20 20  ert/delete.     
7490: 20 6f 63 63 75 72 73 20 61 6e 64 20 77 68 65 6e   occurs and when
74a0: 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 61 72   transactions ar
74b0: 65 20 63 6f 6d 6d 69 74 74 65 64 20 61 6e 64 20  e committed and 
74c0: 72 6f 6c 6c 65 64 20 62 61 63 6b 2e 3c 2f 6c 69  rolled back.</li
74d0: 3e 3c 6c 69 3e 43 68 61 6e 67 65 64 20 53 51 4c  ><li>Changed SQL
74e0: 69 74 65 54 72 61 6e 73 61 63 74 69 6f 6e 20 74  iteTransaction t
74f0: 6f 20 64 65 66 61 75 6c 74 20 74 6f 20 42 45 47  o default to BEG
7500: 49 4e 20 49 4d 4d 45 44 49 41 54 45 20 69 6e 73  IN IMMEDIATE ins
7510: 74 65 61 64 20 6f 66 20 6a 75 73 74 20 42 45 47  tead of just BEG
7520: 49 4e 2c 0a 20 20 20 20 77 68 69 63 68 20 73 6f  IN,.    which so
7530: 6c 76 65 73 20 61 20 6d 75 6c 74 69 74 68 72 65  lves a multithre
7540: 61 64 65 64 20 72 61 63 65 20 63 6f 6e 64 69 74  aded race condit
7550: 69 6f 6e 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a  ion.&nbsp;</li>.
7560: 20 20 20 20 20 20 3c 6c 69 3e 43 68 61 6e 67 65        <li>Change
7570: 64 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64  d SQLiteDataRead
7580: 65 72 20 74 6f 20 62 65 74 74 65 72 20 73 75 70  er to better sup
7590: 70 6f 72 74 20 53 51 4c 69 74 65 27 73 20 74 79  port SQLite's ty
75a0: 70 65 6c 65 73 73 6e 65 73 73 2e 26 6e 62 73 70  pelessness.&nbsp
75b0: 3b 20 54 68 65 20 64 61 74 61 0a 20 20 20 20 20  ; The data.     
75c0: 20 20 20 72 65 61 64 65 72 20 6e 6f 20 6c 6f 6e     reader no lon
75d0: 67 65 72 20 63 61 63 68 65 73 20 63 6f 6c 75 6d  ger caches colum
75e0: 6e 20 61 66 66 69 6e 69 74 79 2c 20 62 75 74 20  n affinity, but 
75f0: 72 65 2d 65 76 61 6c 75 61 74 65 73 20 69 74 20  re-evaluates it 
7600: 66 6f 72 20 65 61 63 68 20 63 6f 6c 75 6d 6e 2f  for each column/
7610: 72 6f 77 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  row.</li>.      
7620: 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20  <li>Fixed a bug 
7630: 69 6e 20 50 72 65 70 61 72 65 28 29 20 77 68 69  in Prepare() whi
7640: 63 68 20 63 61 75 73 65 64 20 61 6e 20 69 6e 74  ch caused an int
7650: 65 72 6d 69 74 74 61 6e 74 20 66 61 75 6c 74 20  ermittant fault 
7660: 64 75 65 20 74 6f 20 74 68 65 20 63 6f 64 65 20  due to the code 
7670: 61 63 63 65 73 73 69 6e 67 0a 20 20 20 20 20 20  accessing.      
7680: 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 6f 66 20    the memory of 
7690: 61 6e 20 75 6e 70 69 6e 6e 65 64 20 76 61 72 69  an unpinned vari
76a0: 61 62 6c 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e  able.&nbsp;</li>
76b0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
76c0: 20 61 20 6d 75 6c 74 69 74 68 72 65 61 64 65 64   a multithreaded
76d0: 20 6c 6f 63 6b 2d 72 65 74 72 79 20 62 75 67 20   lock-retry bug 
76e0: 69 6e 20 69 6e 20 53 51 4c 69 74 65 43 6f 6e 6e  in in SQLiteConn
76f0: 65 63 74 69 6f 6e 2e 4f 70 65 6e 28 29 20 61 6e  ection.Open() an
7700: 64 20 69 6e 0a 20 20 20 20 53 51 4c 69 74 65 54  d in.    SQLiteT
7710: 72 61 6e 73 61 63 74 69 6f 6e 2c 20 77 68 69 63  ransaction, whic
7720: 68 20 66 61 69 6c 65 64 20 74 6f 20 75 73 65 20  h failed to use 
7730: 61 20 63 6f 6d 6d 61 6e 64 20 74 69 6d 65 6f 75  a command timeou
7740: 74 20 62 65 66 6f 72 65 20 67 69 76 69 6e 67 20  t before giving 
7750: 75 70 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75  up.</li>.    </u
7760: 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  l>.    <p><b>1.0
7770: 2e 32 39 2e 30 20 2d 20 4d 61 79 20 31 36 2c 20  .29.0 - May 16, 
7780: 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2006</b></p>.   
7790: 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 46 69   <ul>.    <li>Fi
77a0: 78 65 64 20 61 20 62 75 67 20 69 6e 20 74 68 65  xed a bug in the
77b0: 20 56 69 65 77 73 20 73 63 68 65 6d 61 20 69 6e   Views schema in
77c0: 66 6f 72 6d 61 74 69 6f 6e 20 77 68 69 63 68 20  formation which 
77d0: 63 61 75 73 65 64 20 6d 75 6c 74 69 2d 6c 69 6e  caused multi-lin
77e0: 65 20 76 69 65 77 20 64 65 66 69 6e 69 74 69 6f  e view definitio
77f0: 6e 20 73 74 61 74 65 6d 65 6e 74 73 20 6e 6f 74  n statements not
7800: 20 74 6f 20 62 65 20 70 61 72 73 65 64 3c 2f 6c   to be parsed</l
7810: 69 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  i>.    <li>Fixed
7820: 20 61 20 70 61 72 73 69 6e 67 20 62 75 67 20 69   a parsing bug i
7830: 6e 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64  n SQLiteDataRead
7840: 65 72 2e 47 65 74 53 63 68 65 6d 61 54 61 62 6c  er.GetSchemaTabl
7850: 65 28 29 20 74 6f 20 61 63 63 6f 75 6e 74 20 66  e() to account f
7860: 6f 72 20 6e 75 6d 65 72 69 63 28 78 2c 79 29 20  or numeric(x,y) 
7870: 64 61 74 61 74 79 70 65 73 20 77 69 74 68 20 73  datatypes with s
7880: 70 65 63 69 66 69 65 64 20 70 72 65 63 69 73 69  pecified precisi
7890: 6f 6e 20 61 6e 64 20 73 63 61 6c 65 3c 2f 6c 69  on and scale</li
78a0: 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  >.    <li>Fixed 
78b0: 61 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65 43  a bug in SQLiteC
78c0: 6f 6e 6e 65 63 74 69 6f 6e 2e 4f 70 65 6e 28 29  onnection.Open()
78d0: 20 77 68 69 63 68 20 74 72 69 65 64 20 74 6f 20   which tried to 
78e0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e  automatically en
78f0: 6c 69 73 74 20 69 6e 20 61 6e 20 61 6d 62 69 65  list in an ambie
7900: 6e 74 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 62  nt transaction b
7910: 75 74 20 68 61 64 20 6e 6f 74 20 79 65 74 20 73  ut had not yet s
7920: 65 74 20 74 68 65 20 73 74 61 74 65 20 6f 66 20  et the state of 
7930: 74 68 65 20 64 61 74 61 62 61 73 65 20 74 6f 20  the database to 
7940: 4f 70 65 6e 65 64 2c 20 74 68 65 72 65 62 79 20  Opened, thereby 
7950: 63 61 75 73 69 6e 67 20 61 20 74 72 61 6e 73 61  causing a transa
7960: 63 74 69 6f 6e 20 66 61 75 6c 74 3c 2f 6c 69 3e  ction fault</li>
7970: 0a 20 20 20 20 3c 6c 69 3e 43 68 61 6e 67 65 64  .    <li>Changed
7980: 20 53 51 4c 69 74 65 45 78 63 65 70 74 69 6f 6e   SQLiteException
7990: 20 74 6f 20 69 6e 68 65 72 69 74 20 66 72 6f 6d   to inherit from
79a0: 20 44 62 45 78 63 65 70 74 69 6f 6e 20 6f 6e 20   DbException on 
79b0: 74 68 65 20 66 75 6c 6c 20 66 72 61 6d 65 77 6f  the full framewo
79c0: 72 6b 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c  rk</li>.    </ul
79d0: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
79e0: 32 38 2e 30 20 2d 20 41 70 72 69 6c 20 31 34 2c  28.0 - April 14,
79f0: 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2006</b></p>.  
7a00: 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 43    <ul>.    <li>C
7a10: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
7a20: 51 4c 69 74 65 20 33 2e 33 2e 35 3c 2f 6c 69 3e  QLite 3.3.5</li>
7a30: 0a 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 63  .      <li>You c
7a40: 61 6e 20 6e 6f 77 20 73 70 65 63 69 66 79 20 61  an now specify a
7a50: 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 69   relative path i
7a60: 6e 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72  n the Compact Fr
7a70: 61 6d 65 77 6f 72 6b 27 73 20 22 44 61 74 61 20  amework's "Data 
7a80: 53 6f 75 72 63 65 22 20 62 79 0a 20 20 20 20 20  Source" by.     
7a90: 20 20 20 70 72 65 66 69 78 69 6e 67 20 74 68 65     prefixing the
7aa0: 20 66 69 6c 65 20 77 69 74 68 20 22 2e 5c 22 2e   file with ".\".
7ab0: 26 6e 62 73 70 3b 20 69 2e 65 2e 20 22 44 61 74  &nbsp; i.e. "Dat
7ac0: 61 20 53 6f 75 72 63 65 3d 2e 5c 5c 6d 79 64 62  a Source=.\\mydb
7ad0: 2e 64 62 33 22 3c 2f 6c 69 3e 0a 20 20 20 20 20  .db3"</li>.     
7ae0: 20 3c 6c 69 3e 53 65 76 65 72 61 6c 20 6d 6f 72   <li>Several mor
7af0: 65 20 63 68 61 6e 67 65 73 20 61 6e 64 20 65 6e  e changes and en
7b00: 68 61 6e 63 65 6d 65 6e 74 73 20 74 6f 20 73 63  hancements to sc
7b10: 68 65 6d 61 73 20 66 6f 72 20 62 65 74 74 65 72  hemas for better
7b20: 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 3c   compatibility.<
7b30: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  /li>.      <li>F
7b40: 69 78 65 64 20 73 65 76 65 72 61 6c 20 62 75 67  ixed several bug
7b50: 73 20 77 69 74 68 20 74 68 65 20 36 34 2d 62 69  s with the 64-bi
7b60: 74 20 62 75 69 6c 64 73 20 6f 66 20 74 68 65 20  t builds of the 
7b70: 70 72 6f 76 69 64 65 72 2e 26 6e 62 73 70 3b 20  provider.&nbsp; 
7b80: 54 68 65 20 78 36 34 20 62 69 6e 61 72 79 0a 20  The x64 binary. 
7b90: 20 20 20 20 20 20 20 69 73 20 6e 6f 77 20 6f 70         is now op
7ba0: 74 69 6d 69 7a 65 64 2e 3c 2f 6c 69 3e 0a 20 20  timized.</li>.  
7bb0: 20 20 20 20 3c 6c 69 3e 44 65 73 69 67 6e 2d 74      <li>Design-t
7bc0: 69 6d 65 20 69 6e 73 74 61 6c 6c 65 72 20 6e 6f  ime installer no
7bd0: 77 20 74 72 69 65 73 20 74 6f 20 69 6e 73 74 61  w tries to insta
7be0: 6c 6c 20 74 68 65 20 36 34 2d 62 69 74 20 62 75  ll the 64-bit bu
7bf0: 69 6c 64 73 20 69 6e 74 6f 20 74 68 65 20 47 41  ilds into the GA
7c00: 43 20 61 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20  C along.        
7c10: 77 69 74 68 20 74 68 65 20 33 32 2d 62 69 74 20  with the 32-bit 
7c20: 62 75 69 6c 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20  build.</li>.    
7c30: 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75    <li>Fixed a bu
7c40: 67 20 69 6e 20 74 68 65 20 53 51 4c 69 74 65 44  g in the SQLiteD
7c50: 61 74 61 52 65 61 64 65 72 2e 47 65 74 53 63 68  ataReader.GetSch
7c60: 65 6d 61 54 61 62 6c 65 28 29 20 66 75 6e 63 74  emaTable() funct
7c70: 69 6f 6e 20 77 68 65 6e 20 75 73 65 64 20 77 69  ion when used wi
7c80: 74 68 20 74 61 62 6c 65 73 0a 20 20 20 20 20 20  th tables.      
7c90: 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 70 6f    containing apo
7ca0: 73 74 72 6f 70 68 65 73 2e 3c 2f 6c 69 3e 0a 20  strophes.</li>. 
7cb0: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61       <li>Fixed a
7cc0: 6e 20 58 53 44 2d 72 65 6c 61 74 65 64 20 62 75  n XSD-related bu
7cd0: 67 20 77 68 65 72 65 62 79 20 74 68 65 20 58 53  g whereby the XS
7ce0: 44 20 75 74 69 6c 69 74 79 20 77 61 73 20 75 6e  D utility was un
7cf0: 61 62 6c 65 20 74 6f 20 6c 6f 63 61 74 65 20 74  able to locate t
7d00: 68 65 20 70 72 6f 76 69 64 65 72 0a 20 20 20 20  he provider.    
7d10: 20 20 20 20 61 6e 64 20 63 6f 75 6c 64 20 6e 6f      and could no
7d20: 74 20 67 65 6e 65 72 61 74 65 20 74 79 70 65 64  t generate typed
7d30: 20 64 61 74 61 73 65 74 73 2e 3c 2f 6c 69 3e 0a   datasets.</li>.
7d40: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
7d50: 4e 54 45 58 54 20 61 6e 64 20 53 54 52 49 4e 47  NTEXT and STRING
7d60: 20 64 61 74 61 74 79 70 65 73 20 74 6f 20 74 68   datatypes to th
7d70: 65 20 6c 69 73 74 20 6f 66 20 72 65 63 6f 67 6e  e list of recogn
7d80: 69 7a 65 64 20 6b 65 79 77 6f 72 64 73 20 28 75  ized keywords (u
7d90: 73 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20  sed for.        
7da0: 73 63 68 65 6d 61 20 72 65 74 72 69 65 76 61 6c  schema retrieval
7db0: 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  ).</li>.      <l
7dc0: 69 3e 44 75 65 20 74 6f 20 74 68 65 20 58 53 44  i>Due to the XSD
7dd0: 20 62 75 67 20 61 6e 64 20 6f 74 68 65 72 20 70   bug and other p
7de0: 6f 74 65 6e 74 69 61 6c 20 70 72 6f 62 6c 65 6d  otential problem
7df0: 73 20 72 65 6c 61 74 65 64 20 74 6f 20 65 78 74  s related to ext
7e00: 65 72 6e 61 6c 20 62 75 69 6c 64 20 75 74 69 6c  ernal build util
7e10: 69 74 69 65 73 2c 0a 20 20 20 20 20 20 20 20 63  ities,.        c
7e20: 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 69 6e  hanges to the in
7e30: 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 74 68  stallation of th
7e40: 65 20 64 65 73 69 67 6e 65 72 20 68 61 76 65 20  e designer have 
7e50: 68 61 64 20 74 6f 20 62 65 20 6d 61 64 65 2e 26  had to be made.&
7e60: 6e 62 73 70 3b 20 54 68 65 20 69 6e 73 74 61 6c  nbsp; The instal
7e70: 6c 65 72 0a 20 20 20 20 20 20 20 20 75 73 65 64  ler.        used
7e80: 20 74 6f 20 77 72 69 74 65 20 74 68 65 20 44 62   to write the Db
7e90: 50 72 6f 76 69 64 65 72 46 61 63 74 6f 72 69 65  ProviderFactorie
7ea0: 73 20 58 4d 4c 20 69 6e 74 6f 20 74 68 65 20 64  s XML into the d
7eb0: 65 76 65 6e 76 2e 65 78 65 2e 63 6f 6e 66 69 67  evenv.exe.config
7ec0: 20 66 69 6c 65 20 61 6e 64 20 69 74 73 0a 20 20   file and its.  
7ed0: 20 20 20 20 20 20 65 78 70 72 65 73 73 20 63 6f        express co
7ee0: 75 73 69 6e 73 2c 20 62 75 74 20 6e 6f 77 20 68  usins, but now h
7ef0: 61 73 20 74 6f 20 77 72 69 74 65 20 69 6e 73 74  as to write inst
7f00: 65 61 64 20 74 6f 20 74 68 65 20 6d 61 63 68 69  ead to the machi
7f10: 6e 65 2e 63 6f 6e 66 69 67 2e 3c 2f 6c 69 3e 0a  ne.config.</li>.
7f20: 20 20 20 20 20 20 3c 6c 69 3e 49 6e 73 74 61 6c        <li>Instal
7f30: 6c 65 72 20 77 72 69 74 65 73 20 74 6f 20 62 6f  ler writes to bo
7f40: 74 68 20 74 68 65 20 33 32 2d 62 69 74 20 6d 61  th the 32-bit ma
7f50: 63 68 69 6e 65 2e 63 6f 6e 66 69 67 20 61 6e 64  chine.config and
7f60: 20 74 68 65 20 36 34 2d 62 69 74 20 6d 61 63 68   the 64-bit mach
7f70: 69 6e 65 2e 63 6f 6e 66 69 67 0a 20 20 20 20 20  ine.config.     
7f80: 20 20 20 69 66 20 69 74 20 65 78 69 73 74 73 2e     if it exists.
7f90: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20  &nbsp;</li>.    
7fa0: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
7fb0: 31 2e 30 2e 32 37 2e 31 20 2d 20 46 65 62 72 75  1.0.27.1 - Febru
7fc0: 61 72 79 20 32 38 2c 20 32 30 30 36 3c 2f 62 3e  ary 28, 2006</b>
7fd0: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
7fe0: 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75    <li>Fixed a bu
7ff0: 67 20 77 68 65 6e 20 64 6f 69 6e 67 20 64 61 74  g when doing dat
8000: 61 20 62 69 6e 64 69 6e 67 20 69 6e 20 43 6f 6d  a binding in Com
8010: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 20 70  pact Framework p
8020: 72 6f 6a 65 63 74 73 20 74 68 61 74 20 70 72 65  rojects that pre
8030: 76 65 6e 74 65 64 0a 20 20 20 20 20 20 79 6f 75  vented.      you
8040: 20 66 72 6f 6d 20 61 73 73 69 67 6e 69 6e 67 20   from assigning 
8050: 61 20 74 79 70 65 64 20 64 61 74 61 73 65 74 20  a typed dataset 
8060: 74 6f 20 61 20 62 69 6e 64 69 6e 67 73 6f 75 72  to a bindingsour
8070: 63 65 2e 26 6e 62 73 70 3b 20 49 74 20 74 75 72  ce.&nbsp; It tur
8080: 6e 73 20 6f 75 74 2c 20 74 68 65 20 43 46 0a 20  ns out, the CF. 
8090: 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20       version of 
80a0: 74 68 65 20 53 51 4c 69 74 65 20 70 72 6f 76 69  the SQLite provi
80b0: 64 65 72 20 6e 65 65 64 73 20 74 6f 20 62 65 20  der needs to be 
80c0: 66 6c 61 67 67 65 64 20 61 73 20 72 65 74 61 72  flagged as retar
80d0: 67 65 74 61 62 6c 65 20 73 6f 20 69 74 27 6c 6c  getable so it'll
80e0: 20 77 6f 72 6b 0a 20 20 20 20 20 20 69 6e 20 74   work.      in t
80f0: 68 65 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 64  he design-time d
8100: 65 73 6b 74 6f 70 20 65 6e 76 69 72 6f 6e 6d 65  esktop environme
8110: 6e 74 2e 26 6e 62 73 70 3b 20 4e 6f 20 63 68 61  nt.&nbsp; No cha
8120: 6e 67 65 73 20 77 65 72 65 20 6d 61 64 65 20 74  nges were made t
8130: 6f 20 74 68 65 20 64 65 73 6b 74 6f 70 0a 20 20  o the desktop.  
8140: 20 20 20 20 62 75 69 6c 64 2c 20 62 75 74 20 74      build, but t
8150: 68 65 20 72 65 76 69 73 69 6f 6e 20 77 61 73 20  he revision was 
8160: 62 75 6d 70 65 64 20 6f 6e 20 61 6c 6c 20 6c 69  bumped on all li
8170: 62 72 61 72 69 65 73 20 61 6e 79 77 61 79 20 69  braries anyway i
8180: 6e 20 6f 72 64 65 72 20 74 6f 20 6b 65 65 70 20  n order to keep 
8190: 74 68 65 6d 0a 20 20 20 20 20 20 73 79 6e 63 27  them.      sync'
81a0: 64 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 3c 2f 75  d.&nbsp;</li></u
81b0: 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  l>.    <p><b>1.0
81c0: 2e 32 37 2e 30 20 2d 20 46 65 62 72 75 61 72 79  .27.0 - February
81d0: 20 32 37 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70   27, 2006</b></p
81e0: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c  >.    <ul>.    <
81f0: 6c 69 3e 4d 61 6e 79 20 6f 70 74 69 6d 69 7a 61  li>Many optimiza
8200: 74 69 6f 6e 73 20 61 6e 64 20 61 20 66 65 77 20  tions and a few 
8210: 6d 6f 72 65 20 6d 69 6e 6f 72 20 61 64 6a 75 73  more minor adjus
8220: 74 6d 65 6e 74 73 20 74 6f 20 73 63 68 65 6d 61  tments to schema
8230: 73 20 61 6e 64 20 73 63 68 65 6d 61 20 72 65 74  s and schema ret
8240: 72 69 65 76 61 6c 0a 20 20 20 20 20 20 70 65 72  rieval.      per
8250: 66 6f 72 6d 61 6e 63 65 2e 3c 2f 6c 69 3e 0a 20  formance.</li>. 
8260: 20 20 20 20 20 3c 6c 69 3e 4c 6f 74 73 20 6f 66       <li>Lots of
8270: 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 61 74 74   design-time att
8280: 72 69 62 75 74 65 73 20 61 64 64 65 64 20 74 6f  ributes added to
8290: 20 74 68 65 20 63 6f 64 65 2e 26 6e 62 73 70 3b   the code.&nbsp;
82a0: 20 54 68 65 20 44 62 44 61 74 61 41 64 61 70 74   The DbDataAdapt
82b0: 65 72 2c 20 44 62 43 6f 6d 6d 61 6e 64 2c 0a 20  er, DbCommand,. 
82c0: 20 20 20 20 20 20 20 61 6e 64 20 44 62 43 6f 6e         and DbCon
82d0: 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74 73 20  nection objects 
82e0: 6e 6f 77 20 68 61 76 65 20 67 72 65 61 74 6c 79  now have greatly
82f0: 20 65 6e 68 61 6e 63 65 64 20 64 65 73 69 67 6e   enhanced design
8300: 2d 74 69 6d 65 20 63 61 70 61 62 69 6c 69 74 69  -time capabiliti
8310: 65 73 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20  es when.        
8320: 61 64 64 65 64 20 74 6f 20 74 68 65 20 74 6f 6f  added to the too
8330: 6c 62 6f 78 20 61 6e 64 20 64 72 6f 70 70 65 64  lbox and dropped
8340: 20 6f 6e 20 61 20 66 6f 72 6d 2e 3c 2f 6c 69 3e   on a form.</li>
8350: 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74 73 20  .      <li>Lots 
8360: 6f 66 20 53 65 72 76 65 72 20 45 78 70 6c 6f 72  of Server Explor
8370: 65 72 20 65 6e 68 61 6e 63 65 6d 65 6e 74 73 2e  er enhancements.
8380: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
8390: 42 69 6e 61 72 69 65 73 20 61 72 65 20 6e 6f 77  Binaries are now
83a0: 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20   distributed in 
83b0: 61 20 73 65 74 75 70 20 70 72 6f 67 72 61 6d 20  a setup program 
83c0: 66 6f 72 20 65 61 73 69 65 72 20 61 64 6d 69 6e  for easier admin
83d0: 69 73 74 72 61 74 69 6f 6e 20 61 6e 64 0a 20 20  istration and.  
83e0: 20 20 20 20 20 20 63 6f 6e 66 69 67 75 72 61 74        configurat
83f0: 69 6f 6e 20 6f 66 20 74 68 65 20 70 72 6f 76 69  ion of the provi
8400: 64 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f  der.</li>.    </
8410: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
8420: 30 2e 32 36 2e 32 20 2d 20 46 65 62 72 75 61 72  0.26.2 - Februar
8430: 79 20 31 35 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f  y 15, 2006</b></
8440: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
8450: 3c 6c 69 3e 59 65 74 20 61 6e 6f 74 68 65 72 20  <li>Yet another 
8460: 62 75 67 66 69 78 20 74 6f 20 69 6e 64 65 78 20  bugfix to index 
8470: 73 63 68 65 6d 61 73 2c 20 77 68 69 63 68 20 77  schemas, which w
8480: 61 73 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 6d  as incorrectly m
8490: 61 72 6b 69 6e 67 20 6d 6f 73 74 20 69 6e 64 65  arking most inde
84a0: 78 65 73 0a 20 20 20 20 20 20 61 73 20 70 72 69  xes.      as pri
84b0: 6d 61 72 79 20 6b 65 79 20 69 6e 64 65 78 65 73  mary key indexes
84c0: 2e 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78 65 64 20  .</li><li>Fixed 
84d0: 47 65 74 53 63 68 65 6d 61 28 29 20 74 6f 20 61  GetSchema() to a
84e0: 63 63 65 70 74 20 61 20 6e 75 6c 6c 20 73 74 72  ccept a null str
84f0: 69 6e 67 20 61 72 72 61 79 2e 3c 2f 6c 69 3e 3c  ing array.</li><
8500: 6c 69 3e 46 69 78 65 64 20 61 20 6d 69 73 73 70  li>Fixed a missp
8510: 65 6c 6c 65 64 20 65 78 70 6f 72 74 20 69 6e 20  elled export in 
8520: 74 68 65 20 63 6f 72 65 20 43 20 6c 69 62 72 61  the core C libra
8530: 72 79 20 74 68 61 74 20 70 72 65 76 65 6e 74 65  ry that prevente
8540: 64 20 64 61 74 61 62 61 73 65 73 20 6f 70 65 6e  d databases open
8550: 65 64 0a 20 20 20 20 77 69 74 68 20 55 54 46 31  ed.    with UTF1
8560: 36 45 6e 63 6f 64 69 6e 67 20 66 72 6f 6d 20 67  6Encoding from g
8570: 65 74 74 69 6e 67 20 73 63 68 65 6d 61 20 69 6e  etting schema in
8580: 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 77 6f  formation and wo
8590: 75 6c 64 20 6c 69 6b 65 6c 79 20 63 61 75 73 65  uld likely cause
85a0: 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 69 66   an error.    if
85b0: 20 61 74 74 65 6d 70 74 65 64 2e 3c 2f 6c 69 3e   attempted.</li>
85c0: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
85d0: 31 2e 30 2e 32 36 2e 31 20 2d 20 46 65 62 72 75  1.0.26.1 - Febru
85e0: 61 72 79 20 31 34 2c 20 32 30 30 36 3c 2f 62 3e  ary 14, 2006</b>
85f0: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
8600: 20 20 3c 6c 69 3e 46 69 78 65 64 20 65 76 65 6e    <li>Fixed even
8610: 20 6d 6f 72 65 20 6d 69 6e 6f 72 20 73 63 68 65   more minor sche
8620: 6d 61 20 62 75 67 73 20 68 61 76 69 6e 67 20 74  ma bugs having t
8630: 6f 20 64 6f 20 77 69 74 68 20 69 6e 64 65 78 65  o do with indexe
8640: 73 2e 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64  s.</li><li>Added
8650: 20 74 77 6f 20 6d 69 73 73 69 6e 67 20 70 69 65   two missing pie
8660: 63 65 73 20 69 6e 20 74 68 65 20 53 51 4c 69 74  ces in the SQLit
8670: 65 20 64 65 73 69 67 6e 65 72 20 77 68 69 63 68  e designer which
8680: 20 77 65 72 65 20 70 72 65 76 65 6e 74 69 6e 67   were preventing
8690: 20 69 74 20 66 72 6f 6d 0a 20 20 20 20 62 65 69   it from.    bei
86a0: 6e 67 20 75 73 65 64 20 66 72 6f 6d 20 77 69 74  ng used from wit
86b0: 68 69 6e 20 56 53 20 45 78 70 72 65 73 73 20 65  hin VS Express e
86c0: 64 69 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 3c 2f  ditions.&nbsp;</
86d0: 6c 69 3e 3c 6c 69 3e 53 65 76 65 72 61 6c 20 62  li><li>Several b
86e0: 75 67 66 69 78 65 73 20 74 6f 20 74 68 65 20 64  ugfixes to the d
86f0: 65 73 69 67 6e 2d 74 69 6d 65 20 69 6e 73 74 61  esign-time insta
8700: 6c 6c 65 72 20 70 72 6f 67 72 61 6d 2c 20 69 6e  ller program, in
8710: 63 6c 75 64 69 6e 67 20 73 75 70 70 6f 72 74 69  cluding supporti
8720: 6e 67 0a 20 20 20 20 36 34 2d 62 69 74 20 65 6e  ng.    64-bit en
8730: 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 6c 69 3e  vironments.</li>
8740: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
8750: 31 2e 30 2e 32 36 2e 30 20 2d 20 46 65 62 72 75  1.0.26.0 - Febru
8760: 61 72 79 20 31 31 2c 20 32 30 30 36 3c 2f 62 3e  ary 11, 2006</b>
8770: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
8780: 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65    <li>Code merge
8790: 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 33   with SQLite 3.3
87a0: 2e 34 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78 65 64  .4</li><li>Fixed
87b0: 20 61 6e 20 65 6e 63 72 79 70 74 69 6f 6e 20 62   an encryption b
87c0: 75 67 20 77 68 65 6e 20 63 68 61 6e 67 69 6e 67  ug when changing
87d0: 20 74 68 65 20 70 61 73 73 77 6f 72 64 20 6f 66   the password of
87e0: 20 64 61 74 61 62 61 73 65 73 20 6f 76 65 72 20   databases over 
87f0: 31 67 62 20 69 6e 0a 20 20 20 20 20 20 73 69 7a  1gb in.      siz
8800: 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 3c 6c 69  e.&nbsp;</li><li
8810: 3e 46 69 78 65 64 20 76 61 72 69 6f 75 73 20 64  >Fixed various d
8820: 65 73 69 67 6e 65 72 20 69 73 73 75 65 73 20 72  esigner issues r
8830: 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 73 74 72  elated to constr
8840: 75 63 74 69 6f 6e 20 6f 66 20 6e 61 6d 65 64 20  uction of named 
8850: 70 61 72 61 6d 65 74 65 72 73 2e 3c 2f 6c 69 3e  parameters.</li>
8860: 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65 74 6f 6f  .      <li>Retoo
8870: 6c 65 64 20 74 68 65 20 47 65 74 53 63 68 65 6d  led the GetSchem
8880: 61 28 29 20 6d 65 74 68 6f 64 20 6f 66 20 53 51  a() method of SQ
8890: 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 20 74  LiteDataReader t
88a0: 6f 20 75 73 65 20 74 68 65 20 6e 65 77 20 33 2e  o use the new 3.
88b0: 33 2e 34 20 41 50 49 20 66 75 6e 63 74 69 6f 6e  3.4 API function
88c0: 73 2c 0a 20 20 20 20 20 20 20 20 61 6e 64 20 6d  s,.        and m
88d0: 61 64 65 20 73 65 76 65 72 61 6c 20 65 6e 68 61  ade several enha
88e0: 6e 63 65 6d 65 6e 74 73 20 61 6e 64 20 66 69 78  ncements and fix
88f0: 65 73 20 74 6f 20 73 63 68 65 6d 61 73 2e 26 6e  es to schemas.&n
8900: 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  bsp;</li>.      
8910: 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e 74 65 64 20  <li>Implemented 
8920: 74 68 65 20 53 6f 75 72 63 65 43 6f 6c 75 6d 6e  the SourceColumn
8930: 4e 75 6c 6c 4d 61 70 70 69 6e 67 20 70 72 6f 70  NullMapping prop
8940: 65 72 74 79 20 6f 66 20 53 51 4c 69 74 65 50 61  erty of SQLitePa
8950: 72 61 6d 65 74 65 72 20 74 6f 20 66 69 78 0a 20  rameter to fix. 
8960: 20 20 20 61 20 44 62 43 6f 6d 6d 61 6e 64 42 75     a DbCommandBu
8970: 69 6c 64 65 72 20 63 6f 64 65 20 67 65 6e 65 72  ilder code gener
8980: 61 74 69 6f 6e 20 62 75 67 2e 26 6e 62 73 70 3b  ation bug.&nbsp;
8990: 3c 2f 6c 69 3e 3c 6c 69 3e 52 65 6d 6f 76 65 64  </li><li>Removed
89a0: 20 74 68 65 20 72 75 6e 74 69 6d 65 20 64 65 70   the runtime dep
89b0: 65 6e 64 65 6e 63 79 20 6f 6e 20 4d 53 56 43 52  endency on MSVCR
89c0: 38 30 2e 44 4c 4c 2e 26 6e 62 73 70 3b 20 46 69  80.DLL.&nbsp; Fi
89d0: 6c 65 20 73 69 7a 65 20 69 73 20 73 6f 6d 65 77  le size is somew
89e0: 68 61 74 0a 20 20 20 20 6c 61 72 67 65 72 20 66  hat.    larger f
89f0: 6f 72 20 74 68 65 20 76 61 72 79 69 6e 67 20 64  or the varying d
8a00: 65 73 6b 74 6f 70 20 76 65 72 73 69 6f 6e 73 2e  esktop versions.
8a10: 3c 2f 6c 69 3e 3c 6c 69 3e 43 72 65 61 74 65 64  </li><li>Created
8a20: 20 61 6e 20 69 6e 73 74 61 6c 6c 20 70 72 6f 67   an install prog
8a30: 72 61 6d 20 74 6f 20 6d 61 6e 61 67 65 20 69 6e  ram to manage in
8a40: 73 74 61 6c 6c 61 74 69 6f 6e 20 61 6e 64 20 75  stallation and u
8a50: 6e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66  ninstallation of
8a60: 20 74 68 65 0a 20 20 20 20 53 51 4c 69 74 65 20   the.    SQLite 
8a70: 64 65 73 69 67 6e 2d 74 69 6d 65 20 73 75 70 70  design-time supp
8a80: 6f 72 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ort.</li>.      
8a90: 3c 6c 69 3e 44 65 73 69 67 6e 65 72 20 73 75 70  <li>Designer sup
8aa0: 70 6f 72 74 20 6e 6f 77 20 77 6f 72 6b 73 20 66  port now works f
8ab0: 6f 72 20 61 6c 6c 20 56 69 73 75 61 6c 20 53 74  or all Visual St
8ac0: 75 64 69 6f 20 65 64 69 74 69 6f 6e 73 2c 20 69  udio editions, i
8ad0: 6e 63 6c 75 64 69 6e 67 20 61 6c 6c 20 45 78 70  ncluding all Exp
8ae0: 72 65 73 73 0a 20 20 20 20 20 20 20 20 45 64 69  ress.        Edi
8af0: 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20  tions.</li>.    
8b00: 20 20 3c 6c 69 3e 44 65 73 69 67 6e 2d 74 69 6d    <li>Design-tim
8b10: 65 20 69 6e 73 74 61 6c 6c 65 72 20 77 69 6c 6c  e installer will
8b20: 20 6e 6f 77 20 72 65 6d 6f 76 65 20 28 69 66 20   now remove (if 
8b30: 70 72 65 73 65 6e 74 29 20 74 68 65 20 6d 61 63  present) the mac
8b40: 68 69 6e 65 2e 63 6f 6e 66 69 67 20 53 51 4c 69  hine.config SQLi
8b50: 74 65 20 65 6e 74 72 69 65 73 0a 20 20 20 20 20  te entries.     
8b60: 20 20 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 69     in favor of i
8b70: 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 78 6d  nstalling the xm
8b80: 6c 20 63 6f 64 65 20 69 6e 74 6f 20 74 68 65 20  l code into the 
8b90: 64 65 76 65 6e 76 2e 65 78 65 2e 63 6f 6e 66 69  devenv.exe.confi
8ba0: 67 20 66 69 6c 65 20 28 6f 72 20 61 6e 79 20 6f  g file (or any o
8bb0: 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 76 61  f the.        va
8bc0: 72 69 61 74 69 6f 6e 73 20 66 6f 72 20 65 78 70  riations for exp
8bd0: 72 65 73 73 20 65 64 69 74 69 6f 6e 73 29 2e 26  ress editions).&
8be0: 6e 62 73 70 3b 20 54 68 65 20 6f 66 66 69 63 69  nbsp; The offici
8bf0: 61 6c 6c 79 2d 61 63 63 65 70 74 65 64 20 62 65  ally-accepted be
8c00: 68 61 76 69 6f 72 20 6f 66 20 75 73 69 6e 67 0a  havior of using.
8c10: 20 20 20 20 20 20 20 20 44 62 50 72 6f 76 69 64          DbProvid
8c20: 65 72 46 61 63 74 6f 72 69 65 73 20 69 73 20 74  erFactories is t
8c30: 6f 20 61 64 64 20 74 68 65 20 63 6f 64 65 20 74  o add the code t
8c40: 6f 20 79 6f 75 72 20 61 70 70 2e 63 6f 6e 66 69  o your app.confi
8c50: 67 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 65 20  g file, and the 
8c60: 6d 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67 0a 20  machine.config. 
8c70: 20 20 20 20 20 20 20 66 69 6c 65 20 73 68 6f 75         file shou
8c80: 6c 64 20 6e 6f 74 20 62 65 20 74 6f 75 63 68 65  ld not be touche
8c90: 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c  d.</li>.    </ul
8ca0: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
8cb0: 32 35 2e 30 20 2d 20 4a 61 6e 75 61 72 79 20 33  25.0 - January 3
8cc0: 31 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a  1, 2006</b></p>.
8cd0: 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69      <ul>.    <li
8ce0: 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68  >Code merge with
8cf0: 20 53 51 4c 69 74 65 20 33 2e 33 2e 33 3c 2f 6c   SQLite 3.3.3</l
8d00: 69 3e 3c 6c 69 3e 41 64 64 65 64 20 61 75 74 6f  i><li>Added auto
8d10: 6d 61 74 69 63 20 64 69 73 74 72 69 62 75 74 65  matic distribute
8d20: 64 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 65 6e  d transaction en
8d30: 6c 69 73 74 6d 65 6e 74 20 61 6e 64 20 69 6d 70  listment and imp
8d40: 6c 65 6d 65 6e 74 65 64 20 74 68 65 20 44 62 43  lemented the DbC
8d50: 6f 6e 6e 65 63 74 69 6f 6e 2e 45 6e 6c 69 73 74  onnection.Enlist
8d60: 54 72 61 6e 73 61 63 74 69 6f 6e 0a 20 20 20 20  Transaction.    
8d70: 6d 65 74 68 6f 64 20 66 6f 72 20 6d 61 6e 75 61  method for manua
8d80: 6c 20 65 6e 6c 69 73 74 6d 65 6e 74 2e 3c 2f 6c  l enlistment.</l
8d90: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4e 65 73  i>.      <li>Nes
8da0: 74 65 64 20 74 72 61 6e 73 61 63 74 69 6f 6e 73  ted transactions
8db0: 20 61 72 65 20 6e 6f 77 20 73 75 70 70 6f 72 74   are now support
8dc0: 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ed.</li>.      <
8dd0: 6c 69 3e 52 65 61 72 72 61 6e 67 65 64 20 74 68  li>Rearranged th
8de0: 65 20 74 69 6d 69 6e 67 20 6f 66 20 53 65 74 50  e timing of SetP
8df0: 61 73 73 77 6f 72 64 28 29 2c 20 77 68 69 63 68  assword(), which
8e00: 20 6e 6f 77 20 6d 75 73 74 20 62 65 20 63 61 6c   now must be cal
8e10: 6c 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 64  led before the d
8e20: 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20  atabase.        
8e30: 69 73 20 6f 70 65 6e 65 64 20 69 6e 73 74 65 61  is opened instea
8e40: 64 20 6f 66 20 61 66 74 65 72 77 61 72 64 73 2e  d of afterwards.
8e50: 26 6e 62 73 70 3b 20 4f 70 74 69 6f 6e 61 6c 6c  &nbsp; Optionall
8e60: 79 2c 20 74 68 65 20 70 61 73 73 77 6f 72 64 20  y, the password 
8e70: 63 61 6e 20 62 65 20 73 75 70 70 6c 69 65 64 0a  can be supplied.
8e80: 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 43          in the C
8e90: 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 2e  onnectionString.
8ea0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
8eb0: 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 53  Fixed a bug in S
8ec0: 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 20 74 68  QLiteFunction th
8ed0: 61 74 20 63 61 75 73 65 64 20 61 20 66 61 69 6c  at caused a fail
8ee0: 75 72 65 20 77 68 65 6e 20 61 6e 20 65 6d 70 74  ure when an empt
8ef0: 79 20 72 65 73 75 6c 74 73 65 74 20 77 61 73 0a  y resultset was.
8f00: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64          returned
8f10: 20 61 6e 64 20 61 20 63 75 73 74 6f 6d 20 75 73   and a custom us
8f20: 65 72 20 61 67 67 72 65 67 61 74 65 20 66 75 6e  er aggregate fun
8f30: 63 74 69 6f 6e 20 77 61 73 20 75 73 65 64 20 69  ction was used i
8f40: 6e 20 74 68 65 20 71 75 65 72 79 2e 3c 2f 6c 69  n the query.</li
8f50: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20  >.      <li>The 
8f60: 64 65 73 69 67 6e 65 72 20 68 61 73 20 68 61 64  designer has had
8f70: 20 61 6e 6f 74 68 65 72 20 72 6f 75 6e 64 20 6f   another round o
8f80: 66 20 63 6c 65 61 6e 75 70 20 61 70 70 6c 69 65  f cleanup applie
8f90: 64 2c 20 69 6e 20 70 72 65 70 61 72 61 74 69 6f  d, in preparatio
8fa0: 6e 20 66 6f 72 20 6d 6f 76 69 6e 67 0a 20 20 20  n for moving.   
8fb0: 20 20 20 20 20 74 6f 20 61 20 56 53 20 70 61 63       to a VS pac
8fc0: 6b 61 67 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  kage.</li>.     
8fd0: 20 3c 6c 69 3e 41 64 64 65 64 20 53 51 4c 69 74   <li>Added SQLit
8fe0: 65 4d 65 74 61 44 61 74 61 43 6f 6c 6c 65 63 74  eMetaDataCollect
8ff0: 69 6f 6e 4e 61 6d 65 73 20 63 6c 61 73 73 2e 3c  ionNames class.<
9000: 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20  /li>.    </ul>. 
9010: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34 2e     <p><b>1.0.24.
9020: 36 20 62 65 74 61 20 2d 20 4a 61 6e 75 61 72 79  6 beta - January
9030: 20 32 33 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70   23, 2006</b></p
9040: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c  >.    <ul>.    <
9050: 6c 69 3e 54 68 69 73 20 62 65 74 61 20 69 73 20  li>This beta is 
9060: 62 75 69 6c 74 20 66 72 6f 6d 20 73 71 6c 69 74  built from sqlit
9070: 65 2e 6f 72 67 27 73 20 33 2e 33 2e 32 20 62 65  e.org's 3.3.2 be
9080: 74 61 2e 3c 2f 6c 69 3e 3c 6c 69 3e 45 6c 69 6d  ta.</li><li>Elim
9090: 69 6e 61 74 65 64 20 74 68 65 20 73 74 61 74 69  inated the stati
90a0: 63 20 6c 69 6e 6b 69 6e 67 20 6f 66 20 6d 73 63  c linking of msc
90b0: 6f 72 65 65 20 66 72 6f 6d 20 61 6c 6c 20 62 69  oree from all bi
90c0: 6e 61 72 69 65 73 2e 26 6e 62 73 70 3b 20 4e 61  naries.&nbsp; Na
90d0: 74 69 76 65 20 70 72 6f 6a 65 63 74 73 0a 20 20  tive projects.  
90e0: 20 20 20 20 63 61 6e 20 6e 6f 77 20 75 73 65 20      can now use 
90f0: 74 68 65 20 6c 69 62 72 61 72 79 20 77 69 74 68  the library with
9100: 6f 75 74 20 61 6e 79 20 64 65 70 65 6e 64 65 6e  out any dependen
9110: 63 69 65 73 20 6f 6e 20 74 68 65 20 2e 4e 45 54  cies on the .NET
9120: 20 66 72 61 6d 65 77 6f 72 6b 2c 20 77 68 69 6c   framework, whil
9130: 65 20 6d 61 6e 61 67 65 64 0a 20 20 20 20 20 20  e managed.      
9140: 70 72 6f 6a 65 63 74 73 20 63 6f 6e 74 69 6e 75  projects continu
9150: 65 20 74 6f 20 62 65 20 61 62 6c 65 20 74 6f 20  e to be able to 
9160: 75 73 65 20 74 68 65 20 6c 69 62 72 61 72 79 20  use the library 
9170: 6e 6f 72 6d 61 6c 6c 79 2e 3c 2f 6c 69 3e 3c 2f  normally.</li></
9180: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
9190: 30 2e 32 34 2e 35 20 62 65 74 61 20 2d 20 4a 61  0.24.5 beta - Ja
91a0: 6e 75 61 72 79 20 32 30 2c 20 32 30 30 36 3c 2f  nuary 20, 2006</
91b0: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
91c0: 20 20 20 20 3c 6c 69 3e 54 68 69 73 20 62 65 74      <li>This bet
91d0: 61 20 69 73 20 62 75 69 6c 74 20 66 72 6f 6d 20  a is built from 
91e0: 73 71 6c 69 74 65 2e 6f 72 67 27 73 20 33 2e 33  sqlite.org's 3.3
91f0: 2e 31 20 61 6c 70 68 61 20 61 6e 64 20 63 6f 6e  .1 alpha and con
9200: 74 61 69 6e 73 20 64 65 76 65 6c 6f 70 6d 65 6e  tains developmen
9210: 74 2d 69 6e 2d 70 72 6f 67 72 65 73 73 20 63 6f  t-in-progress co
9220: 64 65 2e 26 6e 62 73 70 3b 20 54 68 65 72 65 66  de.&nbsp; Theref
9230: 6f 72 65 20 6e 6f 20 67 75 61 72 61 6e 74 65 65  ore no guarantee
9240: 73 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 6d  s.      can be m
9250: 61 64 65 20 72 65 67 61 72 64 69 6e 67 20 69 74  ade regarding it
9260: 73 20 73 75 69 74 61 62 69 6c 69 74 79 20 66 6f  s suitability fo
9270: 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73 65  r production use
9280: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 6c 69 3e 3c  .</li>.    <li><
9290: 73 74 72 6f 6e 67 3e 59 6f 75 20 6e 6f 20 6c 6f  strong>You no lo
92a0: 6e 67 65 72 20 6e 65 65 64 20 74 6f 20 64 69 73  nger need to dis
92b0: 74 72 69 62 75 74 65 20 32 20 66 69 6c 65 73 20  tribute 2 files 
92c0: 6f 6e 20 74 68 65 20 43 6f 6d 70 61 63 74 46 72  on the CompactFr
92d0: 61 6d 65 77 6f 72 6b 2e 26 6e 62 73 70 3b 0a 20  amework.&nbsp;. 
92e0: 20 20 20 20 20 59 6f 75 20 63 61 6e 20 64 65 6c       You can del
92f0: 65 74 65 20 53 51 4c 69 74 65 2e 49 6e 74 65 72  ete SQLite.Inter
9300: 6f 70 2e 44 4c 4c 20 65 6e 74 69 72 65 6c 79 2e  op.DLL entirely.
9310: 26 6e 62 73 70 3b 20 3c 2f 73 74 72 6f 6e 67 3e  &nbsp; </strong>
9320: 49 20 77 72 6f 74 65 20 61 20 63 75 73 74 6f 6d  I wrote a custom
9330: 20 74 6f 6f 6c 0a 20 20 20 20 20 20 63 61 6c 6c   tool.      call
9340: 65 64 20 22 6d 65 72 67 65 62 69 6e 22 20 28 61  ed "mergebin" (a
9350: 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20  vailable in the 
9360: 73 6f 75 72 63 65 20 7a 69 70 20 66 69 6c 65 29  source zip file)
9370: 20 77 68 69 63 68 20 63 6f 6d 62 69 6e 65 73 20   which combines 
9380: 74 68 65 20 74 77 6f 20 6c 69 62 72 61 72 69 65  the two librarie
9390: 73 0a 20 20 20 20 20 20 61 6e 64 20 67 65 74 73  s.      and gets
93a0: 20 61 72 6f 75 6e 64 20 61 20 67 6c 61 72 69 6e   around a glarin
93b0: 67 20 64 65 66 65 63 74 20 69 6e 20 74 68 65 20  g defect in the 
93c0: 56 53 32 30 30 35 20 6c 69 6e 6b 65 72 20 66 6f  VS2005 linker fo
93d0: 72 20 41 52 4d 20 70 72 6f 63 65 73 73 6f 72 73  r ARM processors
93e0: 20 77 68 69 63 68 20 64 6f 65 73 6e 27 74 0a 20   which doesn't. 
93f0: 20 20 20 20 20 61 6c 6c 6f 77 20 79 6f 75 20 74       allow you t
9400: 6f 20 6c 69 6e 6b 20 6e 65 74 6d 6f 64 75 6c 65  o link netmodule
9410: 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  s.</li>.      <l
9420: 69 3e 3c 73 74 72 6f 6e 67 3e 78 36 34 20 61 6e  i><strong>x64 an
9430: 64 20 69 61 36 34 20 62 75 69 6c 64 73 20 6e 6f  d ia64 builds no
9440: 77 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 73  w use the same s
9450: 74 72 6f 6e 67 20 6e 61 6d 65 20 61 73 20 74 68  trong name as th
9460: 65 20 78 38 36 20 62 75 69 6c 64 2e 3c 2f 73 74  e x86 build.</st
9470: 72 6f 6e 67 3e 26 6e 62 73 70 3b 0a 20 20 20 20  rong>&nbsp;.    
9480: 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 62      This means b
9490: 72 65 61 6b 69 6e 67 20 62 61 63 6b 77 61 72 64  reaking backward
94a0: 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20   compatibility, 
94b0: 62 75 74 20 69 74 20 77 61 73 20 6e 65 63 65 73  but it was neces
94c0: 73 61 72 79 20 69 6e 20 6f 72 64 65 72 20 74 6f  sary in order to
94d0: 20 61 6c 6c 6f 77 0a 20 20 20 20 20 20 20 20 79   allow.        y
94e0: 6f 75 20 74 6f 20 64 72 6f 70 20 61 6e 79 20 6f  ou to drop any o
94f0: 66 20 74 68 6f 73 65 20 33 20 62 75 69 6c 64 73  f those 3 builds
9500: 20 6f 6e 74 6f 20 61 20 50 43 20 61 6e 64 20 68   onto a PC and h
9510: 61 76 65 20 79 6f 75 72 20 2e 4e 45 54 20 70 72  ave your .NET pr
9520: 6f 67 72 61 6d 20 72 75 6e 20 70 72 6f 70 65 72  ogram run proper
9530: 6c 79 2e 26 6e 62 73 70 3b 0a 20 20 20 20 20 20  ly.&nbsp;.      
9540: 20 20 50 72 69 6f 72 20 74 6f 20 74 68 69 73 2c    Prior to this,
9550: 20 79 6f 75 27 64 20 67 65 74 20 61 6e 20 65 72   you'd get an er
9560: 72 6f 72 20 69 66 20 79 6f 75 20 62 75 69 6c 74  ror if you built
9570: 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 75 73   your program us
9580: 69 6e 67 20 74 68 65 20 78 38 36 20 62 75 69 6c  ing the x86 buil
9590: 64 2c 0a 20 20 20 20 20 20 20 20 61 6e 64 20 74  d,.        and t
95a0: 68 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 74 68  hen installed th
95b0: 65 20 78 36 34 20 76 65 72 73 69 6f 6e 20 6f 6e  e x64 version on
95c0: 20 61 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e   a target machin
95d0: 65 20 61 6e 64 20 74 72 69 65 64 20 74 6f 20 72  e and tried to r
95e0: 75 6e 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 0a  un your program.
95f0: 20 20 20 20 20 20 20 20 61 67 61 69 6e 73 74 20          against 
9600: 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  it.</li>.      <
9610: 6c 69 3e 54 68 65 20 65 6e 74 69 72 65 20 73 6f  li>The entire so
9620: 75 72 63 65 20 70 72 6f 6a 65 63 74 20 68 61 73  urce project has
9630: 20 62 65 65 6e 20 67 6f 6e 65 20 6f 76 65 72 20   been gone over 
9640: 74 6f 70 20 74 6f 20 62 6f 74 74 6f 6d 2e 26 6e  top to bottom.&n
9650: 62 73 70 3b 20 41 20 64 65 62 75 67 20 62 75 69  bsp; A debug bui
9660: 6c 64 0a 20 20 20 20 20 20 20 20 6e 6f 20 6c 6f  ld.        no lo
9670: 6e 67 65 72 20 63 6f 6d 62 69 6e 65 73 20 74 68  nger combines th
9680: 65 20 62 69 6e 61 72 69 65 73 20 69 6e 74 6f 20  e binaries into 
9690: 61 20 73 69 6e 67 6c 65 20 6d 6f 64 75 6c 65 2c  a single module,
96a0: 20 77 68 69 63 68 20 77 61 73 20 70 72 65 76 65   which was preve
96b0: 6e 74 69 6e 67 20 70 72 6f 70 65 72 0a 20 20 20  nting proper.   
96c0: 20 20 20 20 20 64 65 62 75 67 67 69 6e 67 2e 3c       debugging.<
96d0: 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70  /li></ul>.    <p
96e0: 3e 3c 62 3e 31 2e 30 2e 32 34 2e 34 20 62 65 74  ><b>1.0.24.4 bet
96f0: 61 20 2d 20 4a 61 6e 75 61 72 79 20 31 36 2c 20  a - January 16, 
9700: 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2006</b></p>.   
9710: 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 54 68   <ul>.    <li>Th
9720: 69 73 20 62 65 74 61 20 69 73 20 62 75 69 6c 74  is beta is built
9730: 20 66 72 6f 6d 20 73 71 6c 69 74 65 2e 6f 72 67   from sqlite.org
9740: 27 73 20 33 2e 33 2e 31 20 61 6c 70 68 61 20 61  's 3.3.1 alpha a
9750: 6e 64 20 63 6f 6e 74 61 69 6e 73 20 64 65 76 65  nd contains deve
9760: 6c 6f 70 6d 65 6e 74 2d 69 6e 2d 70 72 6f 67 72  lopment-in-progr
9770: 65 73 73 20 63 6f 64 65 2e 26 6e 62 73 70 3b 20  ess code.&nbsp; 
9780: 54 68 65 72 65 66 6f 72 65 20 6e 6f 20 67 75 61  Therefore no gua
9790: 72 61 6e 74 65 65 73 0a 20 20 20 20 20 20 63 61  rantees.      ca
97a0: 6e 20 62 65 20 6d 61 64 65 20 72 65 67 61 72 64  n be made regard
97b0: 69 6e 67 20 69 74 73 20 73 75 69 74 61 62 69 6c  ing its suitabil
97c0: 69 74 79 20 66 6f 72 20 70 72 6f 64 75 63 74 69  ity for producti
97d0: 6f 6e 20 75 73 65 2e 3c 2f 6c 69 3e 0a 20 20 20  on use.</li>.   
97e0: 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67   <li>Fixed a bug
97f0: 20 69 6e 20 74 68 65 20 55 54 46 2d 31 36 20 68   in the UTF-16 h
9800: 61 6e 64 6c 69 6e 67 20 63 6f 64 65 20 66 6f 72  andling code for
9810: 20 70 72 65 70 61 72 69 6e 67 20 73 74 61 74 65   preparing state
9820: 6d 65 6e 74 73 20 64 75 65 20 74 6f 20 61 20 62  ments due to a b
9830: 65 68 61 76 69 6f 72 61 6c 0a 20 20 20 20 20 20  ehavioral.      
9840: 63 68 61 6e 67 65 20 69 6e 20 53 51 4c 69 74 65  change in SQLite
9850: 20 33 2e 33 2e 30 2e 3c 2f 6c 69 3e 0a 20 20 20   3.3.0.</li>.   
9860: 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 70 61 67     <li>Added pag
9870: 65 72 2e 63 20 63 6f 64 65 20 6e 65 63 65 73 73  er.c code necess
9880: 61 72 79 20 74 6f 20 63 6c 65 61 6e 75 70 20 61  ary to cleanup a
9890: 66 74 65 72 20 61 6e 20 65 6e 63 72 79 70 74 65  fter an encrypte
98a0: 64 20 66 69 6c 65 20 69 73 20 63 6c 6f 73 65 64  d file is closed
98b0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
98c0: 3e 46 69 78 65 64 20 61 6e 20 65 6e 63 72 79 70  >Fixed an encryp
98d0: 74 69 6f 6e 20 62 75 67 20 74 68 61 74 20 63 61  tion bug that ca
98e0: 75 73 65 64 20 61 20 66 61 75 6c 74 20 77 68 65  used a fault whe
98f0: 6e 20 61 6e 20 65 6e 63 72 79 70 74 65 64 20 66  n an encrypted f
9900: 69 6c 65 20 77 61 73 20 72 6f 6c 6c 65 64 0a 20  ile was rolled. 
9910: 20 20 20 20 20 20 20 62 61 63 6b 2e 3c 2f 6c 69         back.</li
9920: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 6f 64 69  >.      <li>Modi
9930: 66 69 65 64 20 74 68 65 20 74 65 73 74 63 61 73  fied the testcas
9940: 65 20 63 6f 64 65 20 74 6f 20 74 61 6b 65 20 61  e code to take a
9950: 64 76 61 6e 74 61 67 65 20 6f 66 20 6f 70 74 69  dvantage of opti
9960: 6d 69 7a 61 74 69 6f 6e 73 20 72 65 67 61 72 64  mizations regard
9970: 69 6e 67 20 74 68 65 20 75 73 65 0a 20 20 20 20  ing the use.    
9980: 20 20 20 20 6f 66 20 61 20 44 62 43 6f 6d 6d 61      of a DbComma
9990: 6e 64 42 75 69 6c 64 65 72 2e 26 6e 62 73 70 3b  ndBuilder.&nbsp;
99a0: 20 44 61 74 61 41 64 61 70 74 65 72 20 69 6e 73   DataAdapter ins
99b0: 65 72 74 20 73 70 65 65 64 20 69 6e 63 72 65 61  ert speed increa
99c0: 73 65 64 20 64 72 61 6d 61 74 69 63 61 6c 6c 79  sed dramatically
99d0: 20 61 73 0a 20 20 20 20 20 20 20 20 61 20 72 65   as.        a re
99e0: 73 75 6c 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c  sult.</li>.    <
99f0: 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  /ul>.    <p><b>1
9a00: 2e 30 2e 32 34 2e 33 20 62 65 74 61 20 2d 20 4a  .0.24.3 beta - J
9a10: 61 6e 75 61 72 79 20 31 30 2c 20 32 30 30 36 3c  anuary 10, 2006<
9a20: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
9a30: 0a 20 20 20 20 3c 6c 69 3e 54 68 69 73 20 62 65  .    <li>This be
9a40: 74 61 20 69 73 20 62 75 69 6c 74 20 66 72 6f 6d  ta is built from
9a50: 20 73 71 6c 69 74 65 2e 6f 72 67 27 73 20 33 2e   sqlite.org's 3.
9a60: 33 2e 30 20 61 6c 70 68 61 20 61 6e 64 20 63 6f  3.0 alpha and co
9a70: 6e 74 61 69 6e 73 20 64 65 76 65 6c 6f 70 6d 65  ntains developme
9a80: 6e 74 2d 69 6e 2d 70 72 6f 67 72 65 73 73 20 63  nt-in-progress c
9a90: 6f 64 65 2e 26 6e 62 73 70 3b 20 54 68 65 72 65  ode.&nbsp; There
9aa0: 66 6f 72 65 20 6e 6f 20 67 75 61 72 61 6e 74 65  fore no guarante
9ab0: 65 73 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20  es.      can be 
9ac0: 6d 61 64 65 20 72 65 67 61 72 64 69 6e 67 20 69  made regarding i
9ad0: 74 73 20 73 75 69 74 61 62 69 6c 69 74 79 20 66  ts suitability f
9ae0: 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75 73  or production us
9af0: 65 2e 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64  e.</li><li>Added
9b00: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 64 61 74   support for dat
9b10: 61 62 61 73 65 20 65 6e 63 72 79 70 74 69 6f 6e  abase encryption
9b20: 20 61 74 20 74 68 65 20 70 61 67 65 72 20 6c 65   at the pager le
9b30: 76 65 6c 2e 26 6e 62 73 70 3b 20 44 61 74 61 62  vel.&nbsp; Datab
9b40: 61 73 65 73 0a 20 20 20 20 61 72 65 20 65 6e 63  ases.    are enc
9b50: 72 79 70 74 65 64 20 75 73 69 6e 67 20 61 20 31  rypted using a 1
9b60: 32 38 2d 62 69 74 20 52 43 34 20 73 74 72 65 61  28-bit RC4 strea
9b70: 6d 20 61 6c 67 6f 72 69 74 68 6d 2e 26 6e 62 73  m algorithm.&nbs
9b80: 70 3b 20 54 6f 20 6f 70 65 6e 20 61 6e 20 65 78  p; To open an ex
9b90: 69 73 74 69 6e 67 20 65 6e 63 72 79 70 74 65 64  isting encrypted
9ba0: 0a 20 20 20 20 64 61 74 61 62 61 73 65 2c 20 79  .    database, y
9bb0: 6f 75 20 6d 61 79 20 6e 6f 77 20 73 70 65 63 69  ou may now speci
9bc0: 66 79 20 61 20 22 50 61 73 73 77 6f 72 64 3d 7b  fy a "Password={
9bd0: 70 61 73 73 77 6f 72 64 7d 22 20 74 65 78 74 20  password}" text 
9be0: 69 6e 20 74 68 65 20 43 6f 6e 6e 65 63 74 69 6f  in the Connectio
9bf0: 6e 53 74 72 69 6e 67 2c 0a 20 20 20 20 6f 72 20  nString,.    or 
9c00: 79 6f 75 20 6d 61 79 20 63 61 6c 6c 20 74 68 65  you may call the
9c10: 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f   SQLiteConnectio
9c20: 6e 2e 53 65 74 50 61 73 73 77 6f 72 64 28 29 20  n.SetPassword() 
9c30: 66 75 6e 63 74 69 6f 6e 20 74 6f 20 73 65 74 20  function to set 
9c40: 74 68 65 20 70 61 73 73 77 6f 72 64 0a 20 20 20  the password.   
9c50: 20 6f 6e 20 61 6e 20 6f 70 65 6e 20 63 6f 6e 6e   on an open conn
9c60: 65 63 74 69 6f 6e 2e 20 26 6e 62 73 70 3b 54 6f  ection. &nbsp;To
9c70: 20 65 6e 63 72 79 70 74 20 65 78 69 73 74 69 6e   encrypt existin
9c80: 67 20 6e 6f 6e 2d 65 6e 63 72 79 70 74 65 64 20  g non-encrypted 
9c90: 64 61 74 61 62 61 73 65 73 20 6f 72 20 74 6f 20  databases or to 
9ca0: 63 68 61 6e 67 65 0a 20 20 20 20 74 68 65 20 70  change.    the p
9cb0: 61 73 73 77 6f 72 64 20 6f 6e 20 61 6e 20 65 6e  assword on an en
9cc0: 63 72 79 70 74 65 64 20 64 61 74 61 62 61 73 65  crypted database
9cd0: 2c 20 79 6f 75 20 6d 75 73 74 20 75 73 65 20 74  , you must use t
9ce0: 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  he SQLiteConnect
9cf0: 69 6f 6e 2e 43 68 61 6e 67 65 50 61 73 73 77 6f  ion.ChangePasswo
9d00: 72 64 28 29 0a 20 20 20 20 66 75 6e 63 74 69 6f  rd().    functio
9d10: 6e 2e 26 6e 62 73 70 3b 20 49 66 20 79 6f 75 20  n.&nbsp; If you 
9d20: 75 73 65 20 53 65 74 50 61 73 73 77 6f 72 64 28  use SetPassword(
9d30: 29 20 69 6e 73 74 65 61 64 20 6f 66 20 73 70 65  ) instead of spe
9d40: 63 69 66 79 69 6e 67 20 61 20 70 61 73 73 77 6f  cifying a passwo
9d50: 72 64 20 69 6e 20 74 68 65 0a 20 20 20 20 63 6f  rd in the.    co
9d60: 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 2c  nnection string,
9d70: 20 6f 72 20 63 61 6c 6c 20 43 68 61 6e 67 65 50   or call ChangeP
9d80: 61 73 73 77 6f 72 64 28 29 20 79 6f 75 20 6d 61  assword() you ma
9d90: 79 20 75 73 65 20 61 20 62 69 6e 61 72 79 20 62  y use a binary b
9da0: 79 74 65 20 61 72 72 61 79 20 6f 72 20 61 0a 20  yte array or a. 
9db0: 20 20 20 74 65 78 74 20 73 74 72 69 6e 67 20 61     text string a
9dc0: 73 20 74 68 65 20 70 61 73 73 77 6f 72 64 2e 3c  s the password.<
9dd0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 52  /li>.      <li>R
9de0: 65 77 72 6f 74 65 20 74 68 65 20 6c 6f 63 6b 69  ewrote the locki
9df0: 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ng implementatio
9e00: 6e 20 66 6f 72 20 74 68 65 20 43 6f 6d 70 61 63  n for the Compac
9e10: 74 20 46 72 61 6d 65 77 6f 72 6b 2e 26 6e 62 73  t Framework.&nbs
9e20: 70 3b 20 49 74 20 69 73 20 6e 6f 77 0a 20 20 20  p; It is now.   
9e30: 20 20 20 20 20 6d 6f 72 65 20 72 6f 62 75 73 74       more robust
9e40: 20 61 6e 64 20 69 6e 63 6f 72 70 6f 72 61 74 65   and incorporate
9e50: 73 20 69 6e 74 6f 20 74 68 65 20 53 51 4c 69 74  s into the SQLit
9e60: 65 20 63 6f 64 65 62 61 73 65 20 6d 6f 72 65 20  e codebase more 
9e70: 65 66 66 69 63 69 65 6e 74 6c 79 20 74 68 61 6e  efficiently than
9e80: 20 74 68 65 0a 20 20 20 20 20 20 20 20 70 72 65   the.        pre
9e90: 76 69 6f 75 73 20 43 45 20 61 64 61 70 74 61 74  vious CE adaptat
9ea0: 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ion.</li>.      
9eb0: 3c 6c 69 3e 4d 6f 76 65 64 20 73 6f 6d 65 20 6f  <li>Moved some o
9ec0: 66 20 74 68 65 20 65 6d 62 65 64 64 65 64 20 73  f the embedded s
9ed0: 63 68 65 6d 61 20 58 4d 4c 20 64 61 74 61 20 69  chema XML data i
9ee0: 6e 74 6f 20 61 20 72 65 73 6f 75 72 63 65 20 66  nto a resource f
9ef0: 69 6c 65 20 74 6f 20 65 61 73 65 20 63 6f 64 65  ile to ease code
9f00: 20 72 65 61 64 61 62 69 6c 69 74 79 2e 3c 2f 6c   readability.</l
9f10: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 75 74  i>.      <li>Aut
9f20: 6f 6d 61 74 65 64 20 74 68 65 20 66 69 78 75 70  omated the fixup
9f30: 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c   of the original
9f40: 20 73 71 6c 69 74 65 20 63 6f 64 65 62 61 73 65   sqlite codebase
9f50: 27 73 20 73 6f 75 72 63 65 20 70 72 69 6f 72 20  's source prior 
9f60: 74 6f 20 63 6f 6d 70 69 6c 69 6e 67 2c 0a 20 20  to compiling,.  
9f70: 20 20 20 20 20 20 74 6f 20 65 61 73 65 20 6d 65        to ease me
9f80: 72 67 69 6e 67 20 77 69 74 68 20 73 71 6c 69 74  rging with sqlit
9f90: 65 2e 6f 72 67 27 73 20 73 6f 75 72 63 65 2e 3c  e.org's source.<
9fa0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  /li>.      <li>F
9fb0: 69 78 65 64 20 61 20 6d 65 6d 6f 72 79 20 6c 65  ixed a memory le
9fc0: 61 6b 20 69 6e 20 53 51 4c 69 74 65 43 6f 6d 6d  ak in SQLiteComm
9fd0: 61 6e 64 20 64 75 65 20 74 6f 20 69 74 20 6e 6f  and due to it no
9fe0: 74 20 72 65 6d 6f 76 69 6e 67 20 61 6e 20 69 6e  t removing an in
9ff0: 74 65 72 6e 61 6c 20 72 65 66 65 72 65 6e 63 65  ternal reference
a000: 0a 20 20 20 20 20 20 20 20 74 6f 20 69 74 73 65  .        to itse
a010: 6c 66 20 69 6e 20 53 51 4c 69 74 65 43 6f 6e 6e  lf in SQLiteConn
a020: 65 63 74 69 6f 6e 2e 26 6e 62 73 70 3b 20 3c 2f  ection.&nbsp; </
a030: 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20  li>.    </ul>.  
a040: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34 2e 32    <p><b>1.0.24.2
a050: 20 2d 20 44 65 63 65 6d 62 65 72 20 33 30 2c 20   - December 30, 
a060: 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2005</b></p>.   
a070: 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 46 69   <ul>.    <li>Fi
a080: 78 65 64 20 74 68 65 20 53 51 4c 69 74 65 44 61  xed the SQLiteDa
a090: 74 61 52 65 61 64 65 72 2e 48 61 73 52 6f 77 73  taReader.HasRows
a0a0: 20 70 72 6f 70 65 72 74 79 20 74 6f 20 72 65 74   property to ret
a0b0: 75 72 6e 20 74 68 65 20 70 72 6f 70 65 72 20 76  urn the proper v
a0c0: 61 6c 75 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  alue.</li>.     
a0d0: 20 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e 74 65 64   <li>Implemented
a0e0: 20 74 68 65 20 69 6e 61 64 76 65 72 74 65 6e 74   the inadvertent
a0f0: 6c 79 20 6e 65 67 6c 65 63 74 65 64 20 52 65 63  ly neglected Rec
a100: 6f 72 64 73 41 66 66 65 63 74 65 64 20 70 72 6f  ordsAffected pro
a110: 70 65 72 74 79 20 6f 6e 20 53 51 4c 69 74 65 44  perty on SQLiteD
a120: 61 74 61 52 65 61 64 65 72 2e 0a 20 20 20 20 20  ataReader..     
a130: 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69   </li>.      <li
a140: 3e 53 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 20  >SQLiteFunction 
a150: 73 74 61 74 69 63 20 63 6f 6e 73 74 72 75 63 74  static construct
a160: 6f 72 20 77 61 73 20 63 68 61 6e 67 65 64 20 74  or was changed t
a170: 6f 20 70 72 65 2d 66 69 6c 74 65 72 20 63 6c 61  o pre-filter cla
a180: 73 73 65 73 20 77 69 74 68 20 6f 6e 6c 79 20 74  sses with only t
a190: 68 65 0a 20 20 20 20 20 20 20 20 53 51 4c 69 74  he.        SQLit
a1a0: 65 46 75 6e 63 74 69 6f 6e 41 74 74 72 69 62 75  eFunctionAttribu
a1b0: 74 65 2e 26 6e 62 73 70 3b 20 54 68 65 20 63 6f  te.&nbsp; The co
a1c0: 64 65 20 77 61 73 20 74 68 72 6f 77 69 6e 67 20  de was throwing 
a1d0: 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 68 65  an exception whe
a1e0: 6e 20 63 65 72 74 61 69 6e 0a 20 20 20 20 20 20  n certain.      
a1f0: 20 20 61 73 73 65 6d 62 6c 69 65 73 20 77 65 72    assemblies wer
a200: 65 20 72 65 66 65 72 65 6e 63 65 64 20 69 6e 20  e referenced in 
a210: 61 20 70 72 6f 6a 65 63 74 2e 20 3c 2f 6c 69 3e  a project. </li>
a220: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
a230: 20 74 68 65 20 53 51 4c 69 74 65 44 61 74 61 41   the SQLiteDataA
a240: 64 61 70 74 65 72 20 4f 6e 52 6f 77 55 70 64 61  dapter OnRowUpda
a250: 74 65 64 20 65 76 65 6e 74 2c 20 77 68 69 63 68  ted event, which
a260: 20 77 61 73 20 75 73 69 6e 67 20 74 68 65 20 77   was using the w
a270: 72 6f 6e 67 20 76 61 72 69 61 62 6c 65 0a 20 20  rong variable.  
a280: 20 20 20 20 20 20 74 6f 20 66 69 6e 64 20 74 68        to find th
a290: 65 20 61 74 74 61 63 68 65 64 20 65 76 65 6e 74  e attached event
a2a0: 20 68 61 6e 64 6c 65 72 20 61 6e 64 20 73 75 62   handler and sub
a2b0: 73 65 71 75 65 6e 74 6c 79 20 6e 6f 74 20 72 61  sequently not ra
a2c0: 69 73 69 6e 67 20 74 68 65 20 65 76 65 6e 74 2e  ising the event.
a2d0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
a2e0: 53 6d 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69  Small optimizati
a2f0: 6f 6e 73 20 61 6e 64 20 66 69 78 65 73 20 74 6f  ons and fixes to
a300: 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64 65   SQLiteDataReade
a310: 72 2e 4e 65 78 74 52 65 73 75 6c 74 28 29 2e 26  r.NextResult().&
a320: 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 3c  nbsp;</li>.    <
a330: 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  /ul>.    <p><b>1
a340: 2e 30 2e 32 34 2e 31 20 2d 20 44 65 63 65 6d 62  .0.24.1 - Decemb
a350: 65 72 20 31 39 2c 20 32 30 30 35 3c 2f 62 3e 3c  er 19, 2005</b><
a360: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
a370: 20 3c 6c 69 3e 55 70 64 61 74 65 20 63 6f 72 65   <li>Update core
a380: 20 53 51 4c 69 74 65 20 65 6e 67 69 6e 65 20 74   SQLite engine t
a390: 6f 20 33 2e 32 2e 38 26 6e 62 73 70 3b 3c 2f 6c  o 3.2.8&nbsp;</l
a3a0: 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c  i></ul>.    <p><
a3b0: 62 3e 31 2e 30 2e 32 34 20 2d 20 44 65 63 65 6d  b>1.0.24 - Decem
a3c0: 62 65 72 20 39 2c 20 32 30 30 35 3c 2f 62 3e 3c  ber 9, 2005</b><
a3d0: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
a3e0: 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 3c 65   <li>Fixed the<e
a3f0: 6d 3e 20 43 61 74 61 6c 6f 67 73 3c 2f 65 6d 3e  m> Catalogs</em>
a400: 20 73 63 68 65 6d 61 20 62 75 67 20 74 68 61 74   schema bug that
a410: 20 63 61 75 73 65 64 20 61 74 74 61 63 68 65 64   caused attached
a420: 20 64 61 74 61 62 61 73 65 73 20 6e 6f 74 20 74   databases not t
a430: 6f 20 62 65 20 72 65 2d 61 74 74 61 63 68 65 64  o be re-attached
a440: 20 74 6f 20 61 20 63 6c 6f 6e 65 64 20 63 6f 6e   to a cloned con
a450: 6e 65 63 74 69 6f 6e 0a 20 20 20 20 3c 2f 6c 69  nection.    </li
a460: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 45 6e 68 61  >.      <li>Enha
a470: 6e 63 65 64 20 74 72 61 6e 73 61 63 74 69 6f 6e  nced transaction
a480: 73 20 74 6f 20 61 6c 6c 6f 77 20 66 6f 72 20 61  s to allow for a
a490: 20 64 65 66 65 72 72 65 64 20 6f 72 20 69 6d 6d   deferred or imm
a4a0: 65 64 69 61 74 65 20 77 72 69 74 65 6c 6f 63 6b  ediate writelock
a4b0: 2e 20 26 6e 62 73 70 3b 53 51 4c 69 74 65 43 6f  . &nbsp;SQLiteCo
a4c0: 6e 6e 65 63 74 69 6f 6e 2e 42 65 67 69 6e 54 72  nnection.BeginTr
a4d0: 61 6e 73 61 63 74 69 6f 6e 28 29 0a 20 20 20 20  ansaction().    
a4e0: 20 20 20 20 6e 6f 77 20 68 61 73 20 61 6e 20 61      now has an a
a4f0: 64 64 69 74 69 6f 6e 61 6c 20 6f 76 65 72 6c 6f  dditional overlo
a500: 61 64 20 74 6f 20 73 75 70 70 6f 72 74 20 69 74  ad to support it
a510: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 3c 6c 69 3e 43  &nbsp;</li><li>C
a520: 6f 6d 6d 61 6e 64 73 20 61 72 65 20 6e 6f 77 20  ommands are now 
a530: 70 72 65 70 61 72 65 64 20 61 73 20 74 68 65 79  prepared as they
a540: 20 61 72 65 20 65 78 65 63 75 74 65 64 20 69 6e   are executed in
a550: 73 74 65 61 64 20 6f 66 20 62 65 66 6f 72 65 68  stead of beforeh
a560: 61 6e 64 2e 26 6e 62 73 70 3b 20 54 68 69 73 0a  and.&nbsp; This.
a570: 20 20 20 20 20 20 66 69 78 65 73 20 61 20 62 75        fixes a bu
a580: 67 20 77 68 65 72 65 62 79 20 61 20 6d 75 6c 74  g whereby a mult
a590: 69 2d 73 74 61 74 65 6d 65 6e 74 20 63 6f 6d 6d  i-statement comm
a5a0: 61 6e 64 20 74 68 61 74 20 61 6c 74 65 72 73 20  and that alters 
a5b0: 74 68 65 20 64 61 74 61 62 61 73 65 20 61 6e 64  the database and
a5c0: 20 73 75 62 73 65 71 75 65 6e 74 6c 79 0a 20 20   subsequently.  
a5d0: 20 20 20 20 72 65 66 65 72 65 6e 63 65 73 20 74      references t
a5e0: 68 65 20 61 6c 74 65 72 65 64 20 64 61 74 61 20  he altered data 
a5f0: 77 6f 75 6c 64 20 66 61 69 6c 20 64 75 72 69 6e  would fail durin
a600: 67 20 50 72 65 70 61 72 65 28 29 2e 3c 2f 6c 69  g Prepare().</li
a610: 3e 3c 6c 69 3e 54 69 67 68 74 65 6e 65 64 20 75  ><li>Tightened u
a620: 70 20 74 68 65 20 53 51 4c 69 74 65 44 61 74 61  p the SQLiteData
a630: 52 65 61 64 65 72 20 74 6f 20 70 72 65 76 65 6e  Reader to preven
a640: 74 20 72 65 61 64 69 6e 67 20 63 6f 6c 75 6d 6e  t reading column
a650: 73 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67  s before calling
a660: 0a 20 20 20 20 74 68 65 20 66 69 72 73 74 20 52  .    the first R
a670: 65 61 64 28 29 20 61 6e 64 20 74 6f 20 70 72 65  ead() and to pre
a680: 76 65 6e 74 20 72 65 61 64 69 6e 67 20 63 6f 6c  vent reading col
a690: 75 6d 6e 73 20 61 66 74 65 72 20 74 68 65 20 6c  umns after the l
a6a0: 61 73 74 20 52 65 61 64 28 29 2e 3c 2f 6c 69 3e  ast Read().</li>
a6b0: 0a 20 20 20 20 20 20 3c 6c 69 3e 41 20 6d 6f 72  .      <li>A mor
a6c0: 65 20 64 65 73 63 72 69 70 74 69 76 65 20 65 72  e descriptive er
a6d0: 72 6f 72 20 69 73 20 74 68 72 6f 77 6e 20 69 66  ror is thrown if
a6e0: 20 74 68 65 72 65 20 61 72 65 6e 27 74 20 65 6e   there aren't en
a6f0: 6f 75 67 68 20 70 61 72 61 6d 65 74 65 72 73 20  ough parameters 
a700: 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 20  in the command. 
a710: 20 20 20 20 20 20 20 74 6f 20 73 61 74 69 73 66         to satisf
a720: 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73  y the parameters
a730: 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65   required by the
a740: 20 73 74 61 74 65 6d 65 6e 74 28 73 29 2e 26 6e   statement(s).&n
a750: 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f  bsp;</li>.    </
a760: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
a770: 30 2e 32 33 20 2d 20 4e 6f 76 65 6d 62 65 72 20  0.23 - November 
a780: 32 31 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e  21, 2005</b></p>
a790: 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c  .    <ul>.    <l
a7a0: 69 3e 4e 61 6d 65 64 20 70 61 72 61 6d 65 74 65  i>Named paramete
a7b0: 72 73 20 6d 61 79 20 6e 6f 77 20 62 65 67 69 6e  rs may now begin
a7c0: 20 77 69 74 68 20 3c 73 74 72 6f 6e 67 3e 40 3c   with <strong>@<
a7d0: 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 65 61 73 65  /strong> to ease
a7e0: 20 70 6f 72 74 61 62 69 6c 69 74 79 20 6f 66 0a   portability of.
a7f0: 20 20 20 20 20 20 74 68 65 20 70 72 6f 76 69 64        the provid
a800: 65 72 2e 20 53 51 4c 69 74 65 27 73 20 6e 61 6d  er. SQLite's nam
a810: 65 64 20 70 61 72 61 6d 65 74 65 72 73 20 61 72  ed parameters ar
a820: 65 20 6f 72 64 69 6e 61 72 69 6c 79 20 70 72 65  e ordinarily pre
a830: 66 69 78 65 64 20 77 69 74 68 20 61 20 3c 73 74  fixed with a <st
a840: 72 6f 6e 67 3e 3a 20 3c 2f 73 74 72 6f 6e 67 3e  rong>: </strong>
a850: 0a 20 20 20 20 20 20 6f 72 3c 73 74 72 6f 6e 67  .      or<strong
a860: 3e 20 24 3c 2f 73 74 72 6f 6e 67 3e 2e 26 6e 62  > $</strong>.&nb
a870: 73 70 3b 20 54 68 65 20 64 65 73 69 67 6e 65 72  sp; The designer
a880: 20 77 69 6c 6c 20 73 74 69 6c 6c 20 75 73 65 20   will still use 
a890: 74 68 65 20 3c 73 74 72 6f 6e 67 3e 24 3c 2f 73  the <strong>$</s
a8a0: 74 72 6f 6e 67 3e 0a 20 20 20 20 20 20 70 72 65  trong>.      pre
a8b0: 66 69 78 20 68 6f 77 65 76 65 72 2c 20 73 69 6e  fix however, sin
a8c0: 63 65 20 69 74 73 20 6d 6f 72 65 20 63 6f 6d 70  ce its more comp
a8d0: 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20  atible with the 
a8e0: 64 65 66 61 75 6c 74 20 53 51 4c 69 74 65 20 65  default SQLite e
a8f0: 6e 67 69 6e 65 2e 3c 2f 6c 69 3e 3c 6c 69 3e 41  ngine.</li><li>A
a900: 64 64 65 64 20 73 65 76 65 72 61 6c 20 61 6c 74  dded several alt
a910: 65 72 6e 61 74 65 20 49 53 4f 38 36 30 31 20 64  ernate ISO8601 d
a920: 61 74 65 2f 74 69 6d 65 20 66 6f 72 6d 61 74 73  ate/time formats
a930: 20 74 6f 20 53 51 4c 69 74 65 43 6f 6e 76 65 72   to SQLiteConver
a940: 74 2e 63 73 20 74 6f 20 69 6e 63 72 65 61 73 65  t.cs to increase
a950: 0a 20 20 20 20 63 6f 6d 70 61 74 69 62 69 6c 69  .    compatibili
a960: 74 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ty.</li>.      <
a970: 6c 69 3e 52 65 6c 61 78 65 64 20 63 6f 65 72 73  li>Relaxed coers
a980: 69 6f 6e 20 72 65 73 74 72 69 63 74 69 6f 6e 73  ion restrictions
a990: 20 74 6f 20 77 6f 72 6b 20 62 65 74 74 65 72 20   to work better 
a9a0: 77 69 74 68 20 53 51 4c 69 74 65 27 73 20 69 6e  with SQLite's in
a9b0: 68 65 72 65 6e 74 20 74 79 70 65 6c 65 73 73 6e  herent typelessn
a9c0: 65 73 73 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a  ess.&nbsp;</li>.
a9d0: 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70      </ul>.    <p
a9e0: 3e 3c 62 3e 31 2e 30 2e 32 32 20 2d 20 4e 6f 76  ><b>1.0.22 - Nov
a9f0: 65 6d 62 65 72 20 31 31 2c 20 32 30 30 35 3c 2f  ember 11, 2005</
aa00: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
aa10: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 73 6f      <li>Fixed so
aa20: 6d 65 20 67 6c 6f 62 61 6c 69 7a 61 74 69 6f 6e  me globalization
aa30: 20 69 73 73 75 65 73 20 77 68 69 63 68 20 72 65   issues which re
aa40: 73 75 6c 74 65 64 20 69 6e 20 69 6e 63 6f 72 72  sulted in incorr
aa50: 65 63 74 20 63 61 73 65 2d 69 6e 73 65 6e 73 69  ect case-insensi
aa60: 74 69 76 65 20 63 6f 6d 70 61 72 69 73 6f 6e 73  tive comparisons
aa70: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
aa80: 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 74  Fixed a bug in t
aa90: 68 65 20 72 6f 75 74 69 6e 65 20 74 68 61 74 20  he routine that 
aaa0: 66 69 6e 64 73 20 61 6c 6c 20 75 73 65 72 2d 64  finds all user-d
aab0: 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 73  efined functions
aac0: 20 69 6e 20 61 20 6c 6f 61 64 65 64 20 61 73 73   in a loaded ass
aad0: 65 6d 62 6c 79 2e 26 6e 62 73 70 3b 0a 20 20 20  embly.&nbsp;.   
aae0: 20 20 20 20 20 49 74 20 77 6f 75 6c 64 20 74 68       It would th
aaf0: 72 6f 77 20 61 6e 20 65 78 63 65 70 74 69 6f 6e  row an exception
ab00: 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20 74   if any of the t
ab10: 79 70 65 73 20 69 6e 20 74 68 65 20 61 73 73 65  ypes in the asse
ab20: 6d 62 6c 79 20 63 6f 75 6c 64 20 6e 6f 74 20 62  mbly could not b
ab30: 65 20 6c 6f 61 64 65 64 2e 26 6e 62 73 70 3b 0a  e loaded.&nbsp;.
ab40: 20 20 20 20 20 20 20 20 54 68 65 20 65 78 63 65          The exce
ab50: 70 74 69 6f 6e 20 69 73 20 6e 6f 77 20 63 61 75  ption is now cau
ab60: 67 68 74 20 61 6e 64 20 68 61 6e 64 6c 65 64 20  ght and handled 
ab70: 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 3c 2f  appropriately.</
ab80: 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20  li>.    </ul>.  
ab90: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 31 20 2d    <p><b>1.0.21 -
aba0: 20 4e 6f 76 65 6d 62 65 72 20 34 2c 20 32 30 30   November 4, 200
abb0: 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 55  5</b></p>.    <U
abc0: 4c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  L>.      <li>Fix
abd0: 65 64 20 61 20 64 65 73 69 67 6e 65 72 20 62 75  ed a designer bu
abe0: 67 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 20  g when creating 
abf0: 74 79 70 65 64 20 64 61 74 61 73 65 74 73 20 77  typed datasets w
ac00: 69 74 68 20 70 61 72 61 6d 65 74 65 72 69 7a 65  ith parameterize
ac10: 64 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69 3e 0a  d queries.</li>.
ac20: 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 61 62        <li>The ab
ac30: 6f 76 65 20 66 69 78 20 74 68 65 6e 20 65 78 70  ove fix then exp
ac40: 6f 73 65 64 20 61 6e 6f 74 68 65 72 20 62 75 67  osed another bug
ac50: 20 69 6e 20 74 68 65 20 64 61 74 61 72 65 61 64   in the dataread
ac60: 65 72 27 73 20 61 62 69 6c 69 74 79 20 74 6f 20  er's ability to 
ac70: 71 75 65 72 79 20 73 63 68 65 6d 61 0a 20 20 20  query schema.   
ac80: 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e       information
ac90: 20 6f 6e 20 70 61 72 61 6d 65 74 65 72 69 7a 65   on parameterize
aca0: 64 20 63 6f 6d 6d 61 6e 64 73 2c 20 77 68 69 63  d commands, whic
acb0: 68 20 77 61 73 20 61 6c 73 6f 20 66 69 78 65 64  h was also fixed
acc0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
acd0: 3e 43 6f 6d 70 69 6c 65 64 20 61 67 61 69 6e 73  >Compiled agains
ace0: 74 20 74 68 65 20 52 54 4d 20 76 65 72 73 69 6f  t the RTM versio
acf0: 6e 20 6f 66 20 56 53 32 30 30 35 2e 3c 2f 6c 69  n of VS2005.</li
ad00: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65 77 72  >.      <li>Rewr
ad10: 6f 74 65 20 74 68 65 20 64 65 73 69 67 6e 2d 74  ote the design-t
ad20: 69 6d 65 20 69 6e 73 74 61 6c 6c 20 73 63 72 69  ime install scri
ad30: 70 74 20 74 6f 20 75 73 65 20 74 68 65 20 58 4d  pt to use the XM
ad40: 4c 20 44 4f 4d 20 6f 62 6a 65 63 74 73 20 77 68  L DOM objects wh
ad50: 65 6e 20 77 72 69 74 69 6e 67 0a 20 20 20 20 20  en writing.     
ad60: 20 20 20 74 6f 20 74 68 65 20 6d 61 63 68 69 6e     to the machin
ad70: 65 2e 63 6f 6e 66 69 67 20 61 6e 64 20 74 6f 20  e.config and to 
ad80: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65  automatically re
ad90: 67 69 73 74 65 72 20 74 68 65 20 44 4c 4c 20 69  gister the DLL i
ada0: 6e 20 74 68 65 20 47 41 43 2e 3c 2f 6c 69 3e 3c  n the GAC.</li><
adb0: 6c 69 3e 4d 61 64 65 20 63 68 61 6e 67 65 73 20  li>Made changes 
adc0: 74 6f 20 74 68 65 20 61 70 70 2e 63 6f 6e 66 69  to the app.confi
add0: 67 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 61  g descriptions a
ade0: 6e 64 20 68 65 6c 70 20 66 69 6c 65 20 74 6f 20  nd help file to 
adf0: 69 6d 70 72 6f 76 65 20 76 65 72 73 69 6f 6e 2d  improve version-
ae00: 69 6e 64 65 70 65 6e 64 65 6e 74 0a 20 20 20 20  independent.    
ae10: 20 20 20 20 66 61 63 74 6f 72 79 20 73 75 70 70      factory supp
ae20: 6f 72 74 2e 3c 2f 6c 69 3e 3c 2f 55 4c 3e 0a 20  ort.</li></UL>. 
ae30: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 30 20     <p><b>1.0.20 
ae40: 2d 20 4f 63 74 6f 62 65 72 20 31 39 2c 20 32 30  - October 19, 20
ae50: 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c  05</b></p>.    <
ae60: 55 4c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20  UL>.      <li>. 
ae70: 20 20 20 20 20 20 20 46 69 78 65 64 20 61 20 73         Fixed a s
ae80: 68 6f 72 74 63 75 74 20 69 6e 20 53 51 4c 69 74  hortcut in SQLit
ae90: 65 42 61 73 65 2e 47 65 74 56 61 6c 75 65 20 77  eBase.GetValue w
aea0: 68 69 63 68 20 77 61 73 20 69 6e 73 75 66 66 69  hich was insuffi
aeb0: 63 69 65 6e 74 20 66 6f 72 20 0a 20 20 20 20 20  cient for .     
aec0: 20 20 20 69 6e 74 65 72 6e 61 74 69 6f 6e 61 6c     international
aed0: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 26 6e   environments.&n
aee0: 62 73 70 3b 20 54 68 65 20 73 68 6f 72 74 63 75  bsp; The shortcu
aef0: 74 20 77 61 73 20 72 65 6d 6f 76 65 64 20 61 6e  t was removed an
af00: 64 20 74 68 65 20 22 70 72 6f 70 65 72 22 20 0a  d the "proper" .
af10: 20 20 20 20 20 20 20 20 70 72 6f 63 65 64 75 72          procedur
af20: 65 20 70 75 74 20 69 6e 2e 3c 2f 6c 69 3e 3c 2f  e put in.</li></
af30: 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  UL>.    <p><b>1.
af40: 30 2e 31 39 20 2d 20 4f 63 74 6f 62 65 72 20 35  0.19 - October 5
af50: 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2005</b></p>. 
af60: 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 6c     <UL>.      <l
af70: 69 3e 0a 20 20 20 20 20 20 43 6f 64 65 20 6d 65  i>.      Code me
af80: 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20  rge with SQLite 
af90: 33 2e 32 2e 37 0a 20 20 20 20 20 20 3c 4c 49 3e  3.2.7.      <LI>
afa0: 0a 20 20 20 20 20 20 46 69 78 65 64 20 62 75 67  .      Fixed bug
afb0: 73 20 69 6e 20 74 68 65 20 43 45 20 70 6f 72 74  s in the CE port
afc0: 20 63 6f 64 65 20 28 6f 73 5f 77 69 6e 63 65 2e   code (os_wince.
afd0: 63 29 26 6e 62 73 70 3b 77 68 69 63 68 20 77 65  c)&nbsp;which we
afe0: 72 65 20 62 72 6f 75 67 68 74 20 74 6f 20 0a 20  re brought to . 
aff0: 20 20 20 20 20 6c 69 67 68 74 26 6e 62 73 70 3b       light&nbsp;
b000: 62 79 26 6e 62 73 70 3b 72 65 63 65 6e 74 20 63  by&nbsp;recent c
b010: 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 53 51  hanges in the SQ
b020: 4c 69 74 65 20 65 6e 67 69 6e 65 2e 0a 20 20 20  Lite engine..   
b030: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20     <LI>.        
b040: 52 65 63 6f 6d 70 69 6c 65 64 20 61 6e 64 20 6d  Recompiled and m
b050: 6f 64 69 66 69 65 64 20 74 6f 20 62 65 20 63 6f  odified to be co
b060: 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68  mpatible with th
b070: 65 20 53 65 70 74 65 6d 62 65 72 20 56 53 32 30  e September VS20
b080: 30 35 20 52 65 6c 65 61 73 65 20 0a 20 20 20 20  05 Release .    
b090: 20 20 20 20 43 61 6e 64 69 64 61 74 65 2e 3c 62      Candidate.<b
b0a0: 72 3e 0a 20 20 20 20 20 20 20 20 42 65 74 61 20  r>.        Beta 
b0b0: 32 20 75 73 65 72 73 20 73 68 6f 75 6c 64 20 63  2 users should c
b0c0: 6f 6e 74 69 6e 75 65 20 74 6f 20 75 73 65 20 31  ontinue to use 1
b0d0: 2e 30 2e 31 38 2e 31 3c 2f 4c 49 3e 3c 2f 55 4c  .0.18.1</LI></UL
b0e0: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
b0f0: 31 38 2e 31 20 2d 20 53 65 70 74 65 6d 62 65 72  18.1 - September
b100: 20 31 39 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70   19, 2005</b></p
b110: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
b120: 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 43 6f   <li>.        Co
b130: 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51  de merge with SQ
b140: 4c 69 74 65 20 33 2e 32 2e 36 3c 2f 6c 69 3e 3c  Lite 3.2.6</li><
b150: 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  /UL>.    <p><b>1
b160: 2e 30 2e 31 38 20 2d 20 53 65 70 74 65 6d 62 65  .0.18 - Septembe
b170: 72 20 31 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70  r 1, 2005</b></p
b180: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
b190: 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 41 64   <li>.        Ad
b1a0: 64 65 64 20 74 79 70 65 2d 73 70 65 63 69 66 69  ded type-specifi
b1b0: 63 20 6d 65 74 68 6f 64 20 63 61 6c 6c 73 20 77  c method calls w
b1c0: 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 76 61  hen using the va
b1d0: 72 69 6f 75 73 20 53 51 4c 69 74 65 20 63 6c 61  rious SQLite cla
b1e0: 73 73 65 73 20 74 68 61 74 20 0a 20 20 20 20 20  sses that .     
b1f0: 20 20 20 77 6f 75 6c 64 27 76 65 20 6e 6f 72 6d     would've norm
b200: 61 6c 6c 79 20 72 65 74 75 72 6e 65 64 20 61 20  ally returned a 
b210: 61 20 67 65 6e 65 72 69 63 20 44 62 20 62 61 73  a generic Db bas
b220: 65 20 63 6c 61 73 73 2c 20 77 68 69 63 68 20 61  e class, which a
b230: 6c 69 67 6e 73 20 74 68 65 20 63 6f 64 65 20 0a  ligns the code .
b240: 20 20 20 20 20 20 20 20 62 65 74 74 65 72 20 77          better w
b250: 69 74 68 20 74 68 65 20 4d 69 63 72 6f 73 6f 66  ith the Microsof
b260: 74 2d 73 75 70 70 6c 69 65 64 20 64 61 74 61 20  t-supplied data 
b270: 70 72 6f 76 69 64 65 72 73 2e 3c 2f 6c 69 3e 3c  providers.</li><
b280: 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  /UL>.    <p><b>1
b290: 2e 30 2e 31 37 20 2d 20 41 75 67 75 73 74 20 32  .0.17 - August 2
b2a0: 36 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a  6, 2005</b></p>.
b2b0: 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c      <ul>.      <
b2c0: 6c 69 3e 0a 20 20 20 20 20 20 43 6f 64 65 20 6d  li>.      Code m
b2d0: 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65  erge with SQLite
b2e0: 20 33 2e 32 2e 35 0a 20 20 20 20 20 20 3c 6c 69   3.2.5.      <li
b2f0: 3e 0a 20 20 20 20 20 20 41 64 64 65 64 20 49 74  >.      Added It
b300: 61 6e 69 75 6d 20 61 6e 64 20 78 36 34 20 62 75  anium and x64 bu
b310: 69 6c 64 20 73 65 74 74 69 6e 67 73 20 74 6f 20  ild settings to 
b320: 74 68 65 20 70 72 6f 6a 65 63 74 20 28 6e 65 65  the project (nee
b330: 64 73 20 74 65 73 74 69 6e 67 29 0a 20 20 20 20  ds testing).    
b340: 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 42 75 67    <li>.      Bug
b350: 66 69 78 65 73 20 61 6e 64 20 65 6e 68 61 6e 63  fixes and enhanc
b360: 65 6d 65 6e 74 73 20 74 6f 20 73 65 76 65 72 61  ements to severa
b370: 6c 20 73 63 68 65 6d 61 20 74 79 70 65 73 0a 20  l schema types. 
b380: 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20       <li>.      
b390: 41 64 64 69 74 69 6f 6e 61 6c 20 64 65 73 69 67  Additional desig
b3a0: 6e 2d 74 69 6d 65 20 73 75 70 70 6f 72 74 20 74  n-time support t
b3b0: 6f 20 69 6e 63 6c 75 64 65 20 69 6e 64 65 78 20  o include index 
b3c0: 61 6e 64 20 66 6f 72 65 69 67 6e 20 6b 65 79 20  and foreign key 
b3d0: 0a 20 20 20 20 20 20 65 6e 75 6d 65 72 61 74 69  .      enumerati
b3e0: 6f 6e 73 2e 26 6e 62 73 70 3b 20 52 65 71 75 69  ons.&nbsp; Requi
b3f0: 72 65 73 20 72 65 2d 72 65 67 69 73 74 65 72 69  res re-registeri
b400: 6e 67 20 74 68 65 20 64 65 73 69 67 6e 65 72 20  ng the designer 
b410: 75 73 69 6e 67 20 0a 20 20 20 20 20 20 49 4e 53  using .      INS
b420: 54 41 4c 4c 2e 43 4d 44 2e 26 6e 62 73 70 3b 20  TALL.CMD.&nbsp; 
b430: 54 68 65 20 6e 65 77 20 64 65 73 69 67 6e 65 72  The new designer
b440: 20 63 6f 64 65 20 6e 6f 77 20 61 6c 6c 6f 77 73   code now allows
b450: 20 74 68 65 20 56 53 20 71 75 65 72 79 20 64 65   the VS query de
b460: 73 69 67 6e 65 72 20 61 6e 64 20 0a 20 20 20 20  signer and .    
b470: 20 20 74 79 70 65 64 20 64 61 74 61 73 65 74 73    typed datasets
b480: 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c   to automaticall
b490: 79 20 6c 69 6e 6b 20 75 70 20 66 6f 72 65 69 67  y link up foreig
b4a0: 6e 20 6b 65 79 73 2c 20 75 73 65 20 69 6e 64 65  n keys, use inde
b4b0: 78 65 73 2c 20 61 6e 64 20 0a 20 20 20 20 20 20  xes, and .      
b4c0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65  automatically ge
b4d0: 6e 65 72 61 74 65 20 72 65 6c 61 74 69 6f 6e 73  nerate relations
b4e0: 68 69 70 73 20 66 72 6f 6d 20 74 68 65 20 73 63  hips from the sc
b4f0: 68 65 6d 61 2e 3c 6c 69 3e 0a 20 20 20 20 20 20  hema.<li>.      
b500: 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 73 74 61    Additional sta
b510: 74 69 63 20 6d 65 74 68 6f 64 73 20 6f 6e 20 53  tic methods on S
b520: 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20  QLiteConnection 
b530: 74 6f 20 63 72 65 61 74 65 20 61 20 64 61 74 61  to create a data
b540: 62 61 73 65 20 66 69 6c 65 2c 20 0a 20 20 20 20  base file, .    
b550: 20 20 20 20 65 6e 63 72 79 70 74 20 61 20 66 69      encrypt a fi
b560: 6c 65 20 75 73 69 6e 67 20 74 68 65 20 45 6e 63  le using the Enc
b570: 72 79 70 74 65 64 20 46 69 6c 65 20 53 79 73 74  rypted File Syst
b580: 65 6d 20 28 45 46 53 29 20 6f 6e 20 4e 54 46 53  em (EFS) on NTFS
b590: 20 28 72 65 71 75 69 72 65 73 20 4e 54 20 32 4b   (requires NT 2K
b5a0: 20 6f 72 20 0a 20 20 20 20 20 20 20 20 61 62 6f   or .        abo
b5b0: 76 65 29 20 61 6e 64 20 4e 54 46 53 20 66 69 6c  ve) and NTFS fil
b5c0: 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 3c 2f 6c  e compression</l
b5d0: 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20  i>.    </ul>.   
b5e0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31 36 20 2d 20   <p><b>1.0.16 - 
b5f0: 41 75 67 75 73 74 20 32 34 2c 20 32 30 30 35 3c  August 24, 2005<
b600: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
b610: 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20  .      <li>.    
b620: 20 20 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74    Code merge wit
b630: 68 20 53 51 4c 69 74 65 20 33 2e 32 2e 34 20 77  h SQLite 3.2.4 w
b640: 69 74 68 20 74 68 65 20 6c 61 72 67 65 20 64 65  ith the large de
b650: 6c 65 74 65 20 62 75 67 66 69 78 20 69 6e 20 43  lete bugfix in C
b660: 56 53 20 28 77 68 69 63 68 20 77 69 6c 6c 20 0a  VS (which will .
b670: 20 20 20 20 20 20 62 65 63 6f 6d 65 20 33 2e 32        become 3.2
b680: 2e 35 20 73 6f 6f 6e 29 0a 20 20 20 20 20 20 3c  .5 soon).      <
b690: 6c 69 3e 0a 20 20 20 20 20 20 20 20 41 64 64 65  li>.        Adde
b6a0: 64 20 6e 65 77 20 47 65 74 53 63 68 65 6d 61 28  d new GetSchema(
b6b0: 29 20 74 79 70 65 73 3a 20 49 6e 64 65 78 43 6f  ) types: IndexCo
b6c0: 6c 75 6d 6e 73 2c 20 56 69 65 77 43 6f 6c 75 6d  lumns, ViewColum
b6d0: 6e 73 2c 20 46 6f 72 65 69 67 6e 4b 65 79 73 3c  ns, ForeignKeys<
b6e0: 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20  /li>.    </ul>. 
b6f0: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31 35 20     <p><b>1.0.15 
b700: 2d 20 41 75 67 75 73 74 20 32 32 2c 20 32 30 30  - August 22, 200
b710: 35 3c 2f 62 3e 3c 62 72 3e 0a 20 20 20 20 3c 2f  5</b><br>.    </
b720: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
b730: 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 43 6f 64    <li>.      Cod
b740: 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c  e merge with SQL
b750: 69 74 65 20 33 2e 32 2e 33 0a 20 20 20 20 20 20  ite 3.2.3.      
b760: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 4d 69 6e  <LI>.        Min
b770: 6f 72 20 75 70 64 61 74 65 73 20 66 6f 72 20 62  or updates for b
b780: 65 74 74 65 72 20 64 65 73 69 67 6e 2d 74 69 6d  etter design-tim
b790: 65 20 65 78 70 65 72 69 65 6e 63 65 2e 20 4d 6f  e experience. Mo
b7a0: 72 65 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 63  re design-time c
b7b0: 6f 64 65 20 74 6f 20 0a 20 20 20 20 20 20 20 20  ode to .        
b7c0: 66 6f 6c 6c 6f 77 20 69 6e 20 73 75 62 73 65 71  follow in subseq
b7d0: 75 65 6e 74 20 72 65 6c 65 61 73 65 73 2e 3c 2f  uent releases.</
b7e0: 4c 49 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20  LI>.    </ul>.  
b7f0: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31 34 20 2d    <p><b>1.0.14 -
b800: 20 41 75 67 75 73 74 20 31 36 2c 20 32 30 30 35   August 16, 2005
b810: 3c 2f 62 3e 3c 62 72 3e 0a 20 20 20 20 3c 2f 70  </b><br>.    </p
b820: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20  >.    <ul>.     
b830: 20 3c 6c 69 3e 0a 20 20 20 20 20 20 46 69 78 65   <li>.      Fixe
b840: 64 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 53  d a bug in the S
b850: 51 4c 69 74 65 44 61 74 61 41 64 61 70 74 65 72  QLiteDataAdapter
b860: 20 64 75 65 20 74 6f 20 69 6e 73 75 66 66 69 63   due to insuffic
b870: 69 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74  ient implementat
b880: 69 6f 6e 20 6f 66 20 74 68 65 20 0a 20 20 20 20  ion of the .    
b890: 20 20 63 6c 61 73 73 2e 26 6e 62 73 70 3b 20 54    class.&nbsp; T
b8a0: 68 65 20 52 6f 77 55 70 64 61 74 69 6e 67 20 61  he RowUpdating a
b8b0: 6e 64 20 52 6f 77 55 70 64 61 74 65 64 20 65 76  nd RowUpdated ev
b8c0: 65 6e 74 73 20 61 72 65 20 6e 6f 77 20 70 72 6f  ents are now pro
b8d0: 70 65 72 6c 79 20 0a 20 20 20 20 20 20 69 6d 70  perly .      imp
b8e0: 6c 65 6d 65 6e 74 65 64 2c 20 62 75 74 20 75 6e  lemented, but un
b8f0: 66 6f 72 74 75 6e 61 74 65 6c 79 20 69 6e 73 65  fortunately inse
b900: 72 74 69 6e 67 20 61 6e 64 20 75 70 64 61 74 69  rting and updati
b910: 6e 67 20 64 61 74 61 20 69 6e 20 61 20 44 61 74  ng data in a Dat
b920: 61 54 61 62 6c 65 20 6f 72 20 0a 20 20 20 20 20  aTable or .     
b930: 20 44 61 74 61 53 65 74 20 69 73 20 6e 6f 77 20   DataSet is now 
b940: 6d 75 63 68 20 73 6c 6f 77 65 72 2e 26 6e 62 73  much slower.&nbs
b950: 70 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 70  p; This is the p
b960: 72 6f 70 65 72 20 64 65 73 69 67 6e 20 68 6f 77  roper design how
b970: 65 76 65 72 2c 20 73 6f 20 74 68 65 20 0a 20 20  ever, so the .  
b980: 20 20 20 20 63 68 61 6e 67 65 73 20 61 72 65 20      changes are 
b990: 68 65 72 65 20 74 6f 20 73 74 61 79 2e 0a 20 20  here to stay..  
b9a0: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 4c      <LI>.      L
b9b0: 6f 74 73 20 6f 66 20 73 63 68 65 6d 61 20 63 68  ots of schema ch
b9c0: 61 6e 67 65 73 20 74 6f 20 73 75 70 70 6f 72 74  anges to support
b9d0: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 27 73   Visual Studio's
b9e0: 20 44 61 74 61 20 44 65 73 69 67 6e 65 72 20 61   Data Designer a
b9f0: 72 63 68 69 74 65 63 74 75 72 65 2e 3c 6c 69 3e  rchitecture.<li>
ba00: 41 64 64 65 64 20 0a 20 20 20 20 20 20 20 20 44  Added .        D
ba10: 65 73 69 67 6e 65 72 20 73 75 70 70 6f 72 74 20  esigner support 
ba20: 66 6f 72 20 74 68 65 20 70 72 6f 76 69 64 65 72  for the provider
ba30: 2e 26 6e 62 73 70 3b 20 49 74 27 73 20 6e 6f 74  .&nbsp; It's not
ba40: 20 31 30 30 25 2c 20 62 75 74 20 79 6f 75 20 63   100%, but you c
ba50: 61 6e 20 64 65 73 69 67 6e 20 0a 20 20 20 20 20  an design .     
ba60: 20 20 20 71 75 65 72 69 65 73 2c 20 61 64 64 20     queries, add 
ba70: 74 79 70 65 64 20 64 61 74 61 73 65 74 73 20 61  typed datasets a
ba80: 6e 64 20 70 65 72 66 6f 72 6d 20 71 75 69 74 65  nd perform quite
ba90: 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 74 61 73   a number of tas
baa0: 6b 73 20 61 6c 6c 20 77 69 74 68 69 6e 20 0a 20  ks all within . 
bab0: 20 20 20 20 20 20 20 56 69 73 75 61 6c 20 53 74         Visual St
bac0: 75 64 69 6f 20 6e 6f 77 2e 3c 2f 6c 69 3e 3c 2f  udio now.</li></
bad0: 75 6c 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e  ul>.    <P><B>1.
bae0: 30 2e 31 33 20 2d 20 41 75 67 75 73 74 20 38 2c  0.13 - August 8,
baf0: 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a 20 20   2005</B><BR>.  
bb00: 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 44 49 56 3e    </P>.    <DIV>
bb10: 0a 20 20 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20  .      <UL>.    
bb20: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20      <LI>.       
bb30: 20 46 69 78 65 64 20 61 20 6e 61 6d 65 64 20 70   Fixed a named p
bb40: 61 72 61 6d 65 74 65 72 20 62 75 67 20 69 6e 20  arameter bug in 
bb50: 74 68 65 20 62 61 73 65 20 53 51 4c 69 74 65 5f  the base SQLite_
bb60: 55 54 46 31 36 20 63 6c 61 73 73 2c 20 77 68 69  UTF16 class, whi
bb70: 63 68 20 6f 66 20 63 6f 75 72 73 65 20 0a 20 20  ch of course .  
bb80: 20 20 20 20 20 20 6f 6e 6c 79 20 73 68 6f 77 65        only showe
bb90: 64 20 75 70 20 77 68 65 6e 20 61 20 64 61 74 61  d up when a data
bba0: 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  base connection 
bbb0: 77 61 73 20 6f 70 65 6e 65 64 20 75 73 69 6e 67  was opened using
bbc0: 20 74 68 65 20 0a 20 20 20 20 20 20 20 20 55 73   the .        Us
bbd0: 65 55 54 46 31 36 45 6e 63 6f 64 69 6e 67 3d 54  eUTF16Encoding=T
bbe0: 72 75 65 20 70 61 72 61 6d 65 74 65 72 2e 0a 20  rue parameter.. 
bbf0: 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20         <LI>.    
bc00: 20 20 20 20 20 20 46 69 78 65 64 20 61 20 70 65        Fixed a pe
bc10: 72 66 6f 72 6d 61 6e 63 65 20 69 73 73 75 65 20  rformance issue 
bc20: 69 6e 20 53 51 4c 69 74 65 5f 55 54 46 31 36 20  in SQLite_UTF16 
bc30: 69 6e 76 6f 6c 76 69 6e 67 20 73 74 72 69 6e 67  involving string
bc40: 20 6d 61 72 73 68 61 6c 69 6e 67 2e 3c 2f 4c 49   marshaling.</LI
bc50: 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 2f 44 49 56  ></UL>.    </DIV
bc60: 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e  >.    <P><B>1.0.
bc70: 31 32 20 2d 20 41 75 67 75 73 74 20 35 2c 20 32  12 - August 5, 2
bc80: 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a 20 20 20 20  005</B><BR>.    
bc90: 3c 2f 50 3e 0a 20 20 20 20 3c 44 49 56 3e 0a 20  </P>.    <DIV>. 
bca0: 20 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20       <UL>.      
bcb0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20    <LI>.         
bcc0: 20 46 75 6c 6c 20 73 75 70 70 6f 72 74 20 66 6f   Full support fo
bcd0: 72 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72  r the Compact Fr
bce0: 61 6d 65 77 6f 72 6b 2e 26 6e 62 73 70 3b 20 45  amework.&nbsp; E
bcf0: 61 63 68 20 62 75 69 6c 64 20 28 44 65 62 75 67  ach build (Debug
bd00: 2f 52 65 6c 65 61 73 65 29 20 6e 6f 77 20 0a 20  /Release) now . 
bd10: 20 20 20 20 20 20 20 20 20 68 61 73 20 61 26 6e           has a&n
bd20: 62 73 70 3b 70 6c 61 74 66 6f 72 6d 2c 20 65 69  bsp;platform, ei
bd30: 74 68 65 72 20 57 69 6e 33 32 20 6f 72 20 43 6f  ther Win32 or Co
bd40: 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2e  mpact Framework.
bd50: 26 6e 62 73 70 3b 20 54 68 65 20 63 6f 72 72 65  &nbsp; The corre
bd60: 63 74 20 0a 20 20 20 20 20 20 20 20 20 20 70 72  ct .          pr
bd70: 6f 6a 65 63 74 73 20 61 72 65 20 62 75 69 6c 74  ojects are built
bd80: 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 26 6e 62   accordingly.&nb
bd90: 73 70 3b 20 53 65 65 20 74 68 65 26 6e 62 73 70  sp; See the&nbsp
bda0: 3b 3c 41 20 68 72 65 66 3d 22 23 72 65 64 69 73  ;<A href="#redis
bdb0: 74 22 3e 44 69 73 74 72 69 62 75 74 69 6e 67 20  t">Distributing 
bdc0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 51 4c  .            SQL
bdd0: 69 74 65 3c 2f 41 3e 0a 20 20 20 20 20 20 20 20  ite</A>.        
bde0: 73 65 63 74 69 6f 6e 20 66 6f 72 20 69 6e 66 6f  section for info
bdf0: 72 6d 61 74 69 6f 6e 20 6f 6e 20 77 68 61 74 20  rmation on what 
be00: 66 69 6c 65 73 20 6e 65 65 64 20 74 6f 20 62 65  files need to be
be10: 20 64 69 73 74 72 69 62 75 74 65 64 20 66 6f 72   distributed for
be20: 20 65 61 63 68 20 0a 20 20 20 20 20 20 20 20 70   each .        p
be30: 6c 61 74 66 6f 72 6d 2e 26 6e 62 73 70 3b 0a 20  latform.&nbsp;. 
be40: 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20         <LI>.    
be50: 20 20 20 20 4d 6f 64 69 66 69 65 64 20 53 51 4c      Modified SQL
be60: 69 74 65 33 2e 52 65 73 65 74 28 29 20 61 6e 64  ite3.Reset() and
be70: 20 53 74 65 70 28 29 20 66 75 6e 63 74 69 6f 6e   Step() function
be80: 73 20 74 6f 20 74 72 61 6e 73 70 61 72 65 6e 74  s to transparent
be90: 6c 79 20 68 61 6e 64 6c 65 20 74 69 6d 65 6f 75  ly handle timeou
bea0: 74 73 20 0a 20 20 20 20 20 20 20 20 77 68 69 6c  ts .        whil
beb0: 65 20 77 61 69 74 69 6e 67 20 6f 6e 20 74 68 65  e waiting on the
bec0: 20 64 61 74 61 62 61 73 65 20 74 6f 20 62 65 63   database to bec
bed0: 6f 6d 65 20 61 76 61 69 6c 61 62 6c 65 20 28 74  ome available (t
bee0: 79 70 69 63 61 6c 6c 79 20 77 68 65 6e 20 61 20  ypically when a 
bef0: 77 72 69 74 65 72 20 69 73 20 0a 20 20 20 20 20  writer is .     
bf00: 20 20 20 77 61 69 74 69 6e 67 20 6f 6e 20 61 20     waiting on a 
bf10: 72 65 61 64 65 72 20 74 6f 20 66 69 6e 69 73 68  reader to finish
bf20: 2c 20 6f 72 20 61 20 72 65 61 64 65 72 20 69 73  , or a reader is
bf30: 20 77 61 69 74 69 6e 67 20 6f 6e 20 61 20 77 72   waiting on a wr
bf40: 69 74 65 72 20 74 6f 20 66 69 6e 69 73 68 29 2e  iter to finish).
bf50: 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  .        <LI>.  
bf60: 20 20 20 20 20 20 4c 6f 74 73 20 6f 66 20 63 6f        Lots of co
bf70: 64 65 20 63 6c 65 61 6e 75 70 26 6e 62 73 70 3b  de cleanup&nbsp;
bf80: 61 73 20 73 75 67 67 65 73 74 65 64 26 6e 62 73  as suggested&nbs
bf90: 70 3b 62 79 20 74 68 65 20 43 6f 64 65 20 41 6e  p;by the Code An
bfa0: 61 6c 79 7a 65 72 20 28 46 78 43 6f 70 29 2e 0a  alyzer (FxCop)..
bfb0: 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20          <LI>.   
bfc0: 20 20 20 20 20 4c 6f 74 73 20 6f 66 20 75 70 64       Lots of upd
bfd0: 61 74 65 73 20 74 6f 20 74 68 65 20 68 65 6c 70  ates to the help
bfe0: 66 69 6c 65 20 28 61 73 20 79 6f 75 20 63 61 6e  file (as you can
bff0: 20 73 65 65 29 2e 0a 20 20 20 20 20 20 20 20 3c   see)..        <
c000: 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 20 53 74  LI>.          St
c010: 61 74 65 6d 65 6e 74 73 26 6e 62 73 70 3b 77 65  atements&nbsp;we
c020: 72 65 20 61 6c 72 65 61 64 79 20 70 72 65 70 61  re already prepa
c030: 72 65 64 20 6c 61 7a 69 6c 79 26 6e 62 73 70 3b  red lazily&nbsp;
c040: 69 6e 20 61 20 53 51 4c 69 74 65 43 6f 6d 6d 61  in a SQLiteComma
c050: 6e 64 2c 20 62 75 74 20 6e 6f 77 20 0a 20 20 20  nd, but now .   
c060: 20 20 20 20 20 20 20 69 74 73 20 65 76 65 6e 20         its even 
c070: 6d 6f 72 65 20 6c 61 7a 79 2e 26 6e 62 73 70 3b  more lazy.&nbsp;
c080: 20 53 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20   Statements are 
c090: 6e 6f 77 20 6f 6e 6c 79 20 70 72 65 70 61 72 65  now only prepare
c0a0: 64 20 69 66 20 74 68 65 20 73 74 61 74 65 6d 65  d if the stateme
c0b0: 6e 74 73 20 0a 20 20 20 20 20 20 20 20 20 20 68  nts .          h
c0c0: 61 76 65 6e 27 74 20 62 65 65 6e 20 70 72 65 76  aven't been prev
c0d0: 69 6f 75 73 6c 79 20 70 72 65 70 61 72 65 64 20  iously prepared 
c0e0: 61 6e 64 20 61 20 50 72 65 70 61 72 65 28 29 20  and a Prepare() 
c0f0: 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c  function is call
c100: 65 64 20 28 61 6e 64 20 74 68 65 20 0a 20 20 20  ed (and the .   
c110: 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 69         command i
c120: 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74  s associated wit
c130: 68 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 29 20  h a connection) 
c140: 6f 72 20 6a 75 73 74 20 70 72 69 6f 72 20 74 6f  or just prior to
c150: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 62 65 69   the command bei
c160: 6e 67 20 0a 20 20 20 20 20 20 20 20 20 20 65 78  ng .          ex
c170: 65 63 75 74 65 64 2e 26 6e 62 73 70 3b 3c 2f 4c  ecuted.&nbsp;</L
c180: 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 2f 44 49  I></UL>.    </DI
c190: 56 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30  V>.    <P><B>1.0
c1a0: 2e 31 31 20 2d 20 41 75 67 75 73 74 20 31 2c 20  .11 - August 1, 
c1b0: 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a 20 20 20  2005</B><BR>.   
c1c0: 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20   </P>.    <UL>. 
c1d0: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
c1e0: 20 20 3c 53 54 52 4f 4e 47 3e 46 6f 72 20 65 76    <STRONG>For ev
c1f0: 65 72 79 74 68 69 6e 67 20 65 78 63 65 70 74 20  erything except 
c200: 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d  the Compact Fram
c210: 65 77 6f 72 6b 2c 20 53 79 73 74 65 6d 2e 44 61  ework, System.Da
c220: 74 61 2e 53 51 4c 69 74 65 2e 44 4c 4c 20 69 73  ta.SQLite.DLL is
c230: 20 0a 20 20 20 20 20 20 20 20 20 20 6e 6f 77 20   .          now 
c240: 74 68 65 20 3c 45 4d 3e 6f 6e 6c 79 3c 2f 45 4d  the <EM>only</EM
c250: 3e 20 44 4c 4c 20 72 65 71 75 69 72 65 64 20 74  > DLL required t
c260: 6f 20 75 73 65 20 74 68 69 73 20 70 72 6f 76 69  o use this provi
c270: 64 65 72 21 3c 2f 53 54 52 4f 4e 47 3e 26 6e 62  der!</STRONG>&nb
c280: 73 70 3b 20 54 68 65 20 0a 20 20 20 20 20 20 61  sp; The .      a
c290: 73 73 65 6d 62 6c 79 20 69 73 20 6e 6f 77 20 61  ssembly is now a
c2a0: 20 6d 75 6c 74 69 2d 6d 6f 64 75 6c 65 20 61 73   multi-module as
c2b0: 73 65 6d 62 6c 79 2c 20 63 6f 6e 74 61 69 6e 69  sembly, containi
c2c0: 6e 67 20 62 6f 74 68 20 74 68 65 20 6e 61 74 69  ng both the nati
c2d0: 76 65 20 53 51 4c 69 74 65 33 20 0a 20 20 20 20  ve SQLite3 .    
c2e0: 20 20 63 6f 64 65 62 61 73 65 20 61 6e 64 20 74    codebase and t
c2f0: 68 65 20 43 23 20 63 6c 61 73 73 65 73 20 62 75  he C# classes bu
c300: 69 6c 74 20 6f 6e 20 74 6f 70 20 6f 66 20 69 74  ilt on top of it
c310: 2e 26 6e 62 73 70 3b 20 54 68 65 20 43 6f 6d 70  .&nbsp; The Comp
c320: 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 20 0a 20  act Framework . 
c330: 20 20 20 20 20 76 65 72 73 69 6f 6e 20 28 77 68       version (wh
c340: 65 6e 20 63 6f 6d 70 6c 65 74 65 64 29 20 77 69  en completed) wi
c350: 6c 6c 20 6e 6f 74 20 62 65 20 61 62 6c 65 20 74  ll not be able t
c360: 6f 20 73 75 70 70 6f 72 74 20 74 68 69 73 20 66  o support this f
c370: 65 61 74 75 72 65 2c 20 73 6f 20 62 61 63 6b 77  eature, so backw
c380: 61 72 64 73 20 0a 20 20 20 20 20 20 63 6f 6d 70  ards .      comp
c390: 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 74  atibility with t
c3a0: 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65  he Compact Frame
c3b0: 77 6f 72 6b 20 68 61 73 20 62 65 65 6e 20 70 72  work has been pr
c3c0: 65 73 65 72 76 65 64 20 66 6f 72 20 74 68 65 20  eserved for the 
c3d0: 66 75 74 75 72 65 2e 0a 20 20 20 20 20 20 3c 4c  future..      <L
c3e0: 49 3e 0a 20 20 20 20 20 20 20 20 46 69 78 65 64  I>.        Fixed
c3f0: 20 61 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65   a bug in SQLite
c400: 43 6f 6d 6d 61 6e 64 2e 45 78 65 63 75 74 65 53  Command.ExecuteS
c410: 63 61 6c 61 72 28 29 20 74 68 61 74 20 63 61 75  calar() that cau
c420: 73 65 64 20 69 74 20 74 6f 20 73 74 6f 70 20 65  sed it to stop e
c430: 78 65 63 75 74 69 6e 67 20 0a 20 20 20 20 20 20  xecuting .      
c440: 20 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 63 65 20    commands once 
c450: 69 74 20 6f 62 74 61 69 6e 65 64 20 74 68 65 20  it obtained the 
c460: 66 69 72 73 74 20 63 6f 6c 75 6d 6e 20 6f 66 20  first column of 
c470: 74 68 65 20 66 69 72 73 74 20 72 6f 77 2d 72 65  the first row-re
c480: 74 75 72 6e 69 6e 67 20 0a 20 20 20 20 20 20 20  turning .       
c490: 20 72 65 73 75 6c 74 73 65 74 2e 26 6e 62 73 70   resultset.&nbsp
c4a0: 3b 20 41 6e 79 20 72 65 6d 61 69 6e 69 6e 67 20  ; Any remaining 
c4b0: 73 74 61 74 65 6d 65 6e 74 73 20 61 66 74 65 72  statements after
c4c0: 20 74 68 65 20 72 6f 77 2d 72 65 74 75 72 6e 69   the row-returni
c4d0: 6e 67 20 73 74 61 74 65 6d 65 6e 74 20 77 61 73  ng statement was
c4e0: 20 0a 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65   .        ignore
c4f0: 64 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a 20  d..      </LI>. 
c500: 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e     </UL>.    <P>
c510: 3c 42 3e 31 2e 30 2e 31 30 20 2d 20 4a 75 6e 65  <B>1.0.10 - June
c520: 20 31 30 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52   10, 2005</B><BR
c530: 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c  >.    </P>.    <
c540: 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  UL>.      <LI>. 
c550: 20 20 20 20 20 46 69 78 65 64 20 61 20 62 75 67       Fixed a bug
c560: 20 69 6e 20 74 68 65 20 53 51 4c 69 74 65 33 2e   in the SQLite3.
c570: 63 73 20 50 72 65 70 61 72 65 28 29 20 66 75 6e  cs Prepare() fun
c580: 63 74 69 6f 6e 20 74 68 61 74 20 63 72 65 61 74  ction that creat
c590: 65 64 20 61 20 73 74 61 74 65 6d 65 6e 74 20 65  ed a statement e
c5a0: 76 65 6e 20 0a 20 20 20 20 20 20 77 68 65 6e 20  ven .      when 
c5b0: 74 68 65 20 53 51 4c 69 74 65 20 65 6e 67 69 6e  the SQLite engin
c5c0: 65 20 72 65 74 75 72 6e 65 64 20 61 20 4e 55 4c  e returned a NUL
c5d0: 4c 20 70 6f 69 6e 74 65 72 2e 20 54 79 70 69 63  L pointer. Typic
c5e0: 61 6c 6c 79 20 74 68 69 73 20 6f 63 63 75 72 73  ally this occurs
c5f0: 20 77 68 65 6e 20 0a 20 20 20 20 20 20 6d 75 6c   when .      mul
c600: 74 69 70 6c 65 20 73 74 61 74 65 6d 65 6e 74 73  tiple statements
c610: 20 61 72 65 20 70 72 6f 63 65 73 73 65 64 20 61   are processed a
c620: 6e 64 20 74 68 65 72 65 20 61 72 65 20 74 72 61  nd there are tra
c630: 69 6c 69 6e 67 20 63 6f 6d 6d 65 6e 74 73 20 61  iling comments a
c640: 74 20 74 68 65 20 65 6e 64 20 6f 66 20 0a 20 20  t the end of .  
c650: 20 20 20 20 74 68 65 20 73 74 61 74 65 6d 65 6e      the statemen
c660: 74 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  t..      <LI>.  
c670: 20 20 20 20 20 20 46 69 78 65 64 20 61 20 62 75        Fixed a bu
c680: 67 20 69 6e 20 53 51 4c 69 74 65 53 74 61 74 65  g in SQLiteState
c690: 6d 65 6e 74 2e 63 73 20 74 68 61 74 20 72 65 74  ment.cs that ret
c6a0: 72 69 65 76 65 64 20 70 61 72 61 6d 65 74 65 72  rieved parameter
c6b0: 20 6e 61 6d 65 73 20 66 6f 72 20 61 20 0a 20 20   names for a .  
c6c0: 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 69        parameteri
c6d0: 7a 65 64 20 71 75 65 72 79 2e 26 6e 62 73 70 3b  zed query.&nbsp;
c6e0: 20 53 51 4c 69 74 65 27 73 20 70 61 72 61 6d 65   SQLite's parame
c6f0: 74 65 72 73 20 61 72 65 20 31 2d 62 61 73 65 64  ters are 1-based
c700: 2c 20 61 6e 64 20 74 68 65 20 66 75 6e 63 74 69  , and the functi
c710: 6f 6e 20 0a 20 20 20 20 20 20 20 20 77 61 73 20  on .        was 
c720: 73 74 61 72 74 69 6e 67 20 61 74 20 30 2e 26 6e  starting at 0.&n
c730: 62 73 70 3b 20 54 68 69 73 20 77 61 73 20 66 69  bsp; This was fi
c740: 6e 65 20 77 68 65 6e 20 61 6c 6c 20 70 61 72 61  ne when all para
c750: 6d 65 74 65 72 73 20 77 65 72 65 20 75 6e 6e 61  meters were unna
c760: 6d 65 64 2c 20 62 75 74 20 0a 20 20 20 20 20 20  med, but .      
c770: 20 20 66 6f 72 20 6e 61 6d 65 64 20 70 61 72 61    for named para
c780: 6d 65 74 65 72 73 20 69 74 20 63 61 75 73 65 64  meters it caused
c790: 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20   the parameters 
c7a0: 74 6f 20 62 65 20 6f 75 74 20 6f 66 20 77 68 61  to be out of wha
c7b0: 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a  ck..      </LI>.
c7c0: 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50      </UL>.    <P
c7d0: 3e 3c 42 3e 31 2e 30 2e 30 39 61 20 2d 20 4d 61  ><B>1.0.09a - Ma
c7e0: 79 20 32 35 2c 20 32 30 30 35 3c 2f 42 3e 3c 42  y 25, 2005</B><B
c7f0: 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20  R>.    </P>.    
c800: 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  <UL>.      <LI>.
c810: 20 20 20 20 20 20 46 69 78 65 64 20 61 20 62 72        Fixed a br
c820: 6f 6b 65 6e 20 68 65 6c 70 66 69 6c 65 20 61 6e  oken helpfile an
c830: 64 20 63 6f 72 72 65 63 74 65 64 20 73 6f 6d 65  d corrected some
c840: 20 6f 62 73 6f 6c 65 74 65 20 68 65 6c 70 20 72   obsolete help r
c850: 65 6d 61 72 6b 73 20 69 6e 20 0a 20 20 20 20 20  emarks in .     
c860: 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 2e   SQLiteFunction.
c870: 63 73 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  cs.      <LI>.  
c880: 20 20 20 20 20 20 41 64 64 65 64 20 61 20 76 65        Added a ve
c890: 72 73 69 6f 6e 20 72 65 73 6f 75 72 63 65 20 74  rsion resource t
c8a0: 6f 20 74 68 65 20 53 51 4c 69 74 65 2e 49 6e 74  o the SQLite.Int
c8b0: 65 72 6f 70 2e 44 4c 4c 2e 26 6e 62 73 70 3b 3c  erop.DLL.&nbsp;<
c8c0: 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50  /LI></UL>.    <P
c8d0: 3e 3c 42 3e 31 2e 30 2e 30 39 20 2d 20 4d 61 79  ><B>1.0.09 - May
c8e0: 20 32 34 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52   24, 2005</B><BR
c8f0: 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c  >.    </P>.    <
c900: 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  UL>.      <LI>. 
c910: 20 20 20 20 20 43 6f 64 65 20 6d 65 72 67 65 20       Code merge 
c920: 77 69 74 68 20 74 68 65 20 6c 61 74 65 73 74 20  with the latest 
c930: 33 2e 32 31 20 76 65 72 73 69 6f 6e 20 6f 66 20  3.21 version of 
c940: 53 51 4c 69 74 65 2e 0a 20 20 20 20 20 20 3c 4c  SQLite..      <L
c950: 49 3e 0a 20 20 20 20 20 20 20 20 52 65 6d 6f 76  I>.        Remov
c960: 65 64 20 6f 62 73 6f 6c 65 74 65 20 6d 65 74 68  ed obsolete meth
c970: 6f 64 73 20 61 6e 64 20 70 72 6f 70 65 72 74 69  ods and properti
c980: 65 73 20 66 6f 72 20 57 68 69 64 62 65 79 20 42  es for Whidbey B
c990: 65 74 61 20 32 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a  eta 2</LI></UL>.
c9a0: 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 38      <P><B>1.0.08
c9b0: 20 52 65 66 72 65 73 68 20 2d 20 4d 61 72 20 32   Refresh - Mar 2
c9c0: 34 2c 20 32 30 30 35 3c 42 52 3e 0a 20 20 20 20  4, 2005<BR>.    
c9d0: 20 20 3c 2f 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a    </B>.    </P>.
c9e0: 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c      <UL>.      <
c9f0: 4c 49 3e 0a 20 20 20 20 20 20 43 6f 64 65 20 6d  LI>.      Code m
ca00: 65 72 67 65 20 77 69 74 68 20 74 68 65 20 6c 61  erge with the la
ca10: 74 65 73 74 20 33 2e 32 30 20 76 65 72 73 69 6f  test 3.20 versio
ca20: 6e 20 6f 66 20 53 51 4c 69 74 65 2e 0a 20 20 20  n of SQLite..   
ca30: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20     <LI>.        
ca40: 52 65 63 6f 6d 70 69 6c 65 64 20 74 68 65 20 68  Recompiled the h
ca50: 65 6c 70 20 66 69 6c 65 20 74 6f 20 66 69 78 20  elp file to fix 
ca60: 61 20 62 75 69 6c 64 20 65 72 72 6f 72 20 69 6e  a build error in
ca70: 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e   it..      </LI>
ca80: 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c  .    </UL>.    <
ca90: 50 3e 3c 42 3e 31 2e 30 2e 30 38 20 2d 20 4d 61  P><B>1.0.08 - Ma
caa0: 72 20 31 31 2c 20 32 30 30 35 3c 42 52 3e 0a 20  r 11, 2005<BR>. 
cab0: 20 20 20 20 20 3c 2f 42 3e 0a 20 20 20 20 3c 2f       </B>.    </
cac0: 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20  P>.    <UL>.    
cad0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 41 64 64    <LI>.      Add
cae0: 65 64 20 61 64 64 69 74 69 6f 6e 61 6c 20 23 69  ed additional #i
caf0: 66 20 73 74 61 74 65 6d 65 6e 74 73 20 74 6f 20  f statements to 
cb00: 73 75 70 70 6f 72 74 20 74 68 65 20 6f 6c 64 20  support the old 
cb10: 62 65 74 61 20 31 20 65 64 69 74 69 6f 6e 20 6f  beta 1 edition o
cb20: 66 20 56 53 32 30 30 35 2e 0a 20 20 20 20 20 20  f VS2005..      
cb30: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 43 6f 64  <LI>.        Cod
cb40: 65 20 6d 65 72 67 65 64 20 74 68 65 20 53 51 4c  e merged the SQL
cb50: 69 74 65 20 33 2e 31 34 20 73 6f 75 72 63 65 2e  ite 3.14 source.
cb60: 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a 20 20 20  .      </LI>.   
cb70: 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e 3c 42   </UL>.    <P><B
cb80: 3e 31 2e 30 2e 30 37 20 2d 20 4d 61 72 20 35 2c  >1.0.07 - Mar 5,
cb90: 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a 20 20   2005</B><BR>.  
cba0: 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a    </P>.    <UL>.
cbb0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
cbc0: 20 4d 61 64 65 20 6d 6f 72 65 20 6f 70 74 69 6d   Made more optim
cbd0: 69 7a 61 74 69 6f 6e 73 20 74 6f 20 66 72 65 71  izations to freq
cbe0: 75 65 6e 74 6c 79 2d 63 61 6c 6c 65 64 20 66 75  uently-called fu
cbf0: 6e 63 74 69 6f 6e 73 2c 20 72 65 73 75 6c 74 69  nctions, resulti
cc00: 6e 67 20 69 6e 20 0a 20 20 20 20 20 20 73 69 67  ng in .      sig
cc10: 6e 69 66 69 63 61 6e 74 20 70 65 72 66 6f 72 6d  nificant perform
cc20: 61 6e 63 65 20 67 61 69 6e 73 20 69 6e 20 61 6c  ance gains in al
cc30: 6c 20 74 65 73 74 73 2e 0a 20 20 20 20 20 20 3c  l tests..      <
cc40: 4c 49 3e 0a 20 20 20 20 20 20 20 20 52 65 63 6f  LI>.        Reco
cc50: 6d 70 69 6c 65 64 20 74 68 65 20 62 69 6e 61 72  mpiled the binar
cc60: 69 65 73 20 75 73 69 6e 67 20 74 68 65 20 6c 61  ies using the la
cc70: 74 65 73 74 20 56 53 32 30 30 35 20 46 65 62 72  test VS2005 Febr
cc80: 75 61 72 79 20 43 54 50 2c 20 72 65 73 75 6c 74  uary CTP, result
cc90: 69 6e 67 20 69 6e 20 79 65 74 20 0a 20 20 20 20  ing in yet .    
cca0: 20 20 20 20 6d 6f 72 65 20 73 69 67 6e 69 66 69      more signifi
ccb0: 63 61 6e 74 20 73 70 65 65 64 20 67 61 69 6e 73  cant speed gains
ccc0: 2e 26 6e 62 73 70 3b 20 54 68 65 20 31 30 30 6b  .&nbsp; The 100k
ccd0: 20 69 6e 73 65 72 74 20 74 65 73 74 20 75 73 65   insert test use
cce0: 64 20 74 6f 20 74 61 6b 65 20 33 2e 35 20 0a 20  d to take 3.5 . 
ccf0: 20 20 20 20 20 20 20 73 65 63 6f 6e 64 73 20 61         seconds a
cd00: 6e 64 20 74 68 65 20 69 6e 73 65 72 74 77 69 74  nd the insertwit
cd10: 68 69 64 65 6e 74 69 74 79 20 74 6f 6f 6b 20 61  hidentity took a
cd20: 6c 6d 6f 73 74 20 38 20 73 65 63 6f 6e 64 73 2e  lmost 8 seconds.
cd30: 26 6e 62 73 70 3b 20 57 69 74 68 20 74 68 65 20  &nbsp; With the 
cd40: 61 62 6f 76 65 20 0a 20 20 20 20 20 20 20 20 74  above .        t
cd50: 77 6f 20 63 68 61 6e 67 65 73 2c 20 74 68 6f 73  wo changes, thos
cd60: 65 20 74 65 73 74 73 20 61 72 65 20 6e 6f 77 20  e tests are now 
cd70: 65 78 65 63 75 74 69 6e 67 20 69 6e 20 31 2e 39  executing in 1.9
cd80: 20 61 6e 64 20 34 2e 39 20 73 65 63 6f 6e 64 73   and 4.9 seconds
cd90: 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 3c 2f   respectively.</
cda0: 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e  LI></UL>.    <P>
cdb0: 3c 42 3e 31 2e 30 2e 30 36 20 2d 20 4d 61 72 20  <B>1.0.06 - Mar 
cdc0: 31 2c 20 32 30 30 35 3c 42 52 3e 0a 20 20 20 20  1, 2005<BR>.    
cdd0: 20 20 3c 2f 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a    </B>.    </P>.
cde0: 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c      <UL>.      <
cdf0: 4c 49 3e 0a 20 20 20 20 20 20 53 70 65 65 64 2d  LI>.      Speed-
ce00: 75 70 73 20 74 6f 20 53 51 4c 69 74 65 44 61 74  ups to SQLiteDat
ce10: 61 52 65 61 64 65 72 2e 26 6e 62 73 70 3b 20 49  aReader.&nbsp; I
ce20: 74 20 77 61 73 20 69 6e 74 65 72 6f 70 27 69 6e  t was interop'in
ce30: 67 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79 20  g unnecessarily 
ce40: 65 76 65 72 79 20 0a 20 20 20 20 20 20 74 69 6d  every .      tim
ce50: 65 20 69 74 20 74 72 69 65 64 20 74 6f 20 66 65  e it tried to fe
ce60: 74 63 68 20 61 20 66 69 65 6c 64 20 64 75 65 20  tch a field due 
ce70: 74 6f 20 61 20 6c 6f 67 69 63 20 65 72 72 6f 72  to a logic error
ce80: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
ce90: 20 20 20 43 68 61 6e 67 65 64 2f 41 64 64 65 64     Changed/Added
cea0: 20 73 6f 6d 65 20 63 6f 64 65 20 74 6f 20 53 51   some code to SQ
ceb0: 4c 69 74 65 43 6f 6e 76 65 72 74 27 73 20 69 6e  LiteConvert's in
cec0: 74 65 72 6e 61 6c 20 44 62 54 79 70 65 2c 20 54  ternal DbType, T
ced0: 79 70 65 20 61 6e 64 20 0a 20 20 20 20 20 20 54  ype and .      T
cee0: 79 70 65 41 66 66 69 6e 69 74 79 20 66 75 6e 63  ypeAffinity func
cef0: 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 4c 49  tions..      <LI
cf00: 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20 74 68  >.      Fixed th
cf10: 65 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64  e SQLiteDataRead
cf20: 65 72 20 74 6f 20 6f 62 65 79 20 74 68 65 20 66  er to obey the f
cf30: 6c 61 67 73 20 73 65 74 20 69 6e 20 74 68 65 20  lags set in the 
cf40: 6f 70 74 69 6f 6e 61 6c 20 0a 20 20 20 20 20 20  optional .      
cf50: 43 6f 6d 6d 61 6e 64 42 65 68 61 76 69 6f 72 20  CommandBehavior 
cf60: 66 6c 61 67 20 66 72 6f 6d 20 53 51 4c 69 74 65  flag from SQLite
cf70: 43 6f 6d 6d 61 6e 64 2e 45 78 65 63 75 74 65 52  Command.ExecuteR
cf80: 65 61 64 65 72 28 29 2e 0a 20 20 20 20 20 20 3c  eader()..      <
cf90: 4c 49 3e 0a 20 20 20 20 20 20 43 68 61 6e 67 65  LI>.      Change
cfa0: 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 61  d the default pa
cfb0: 67 65 20 73 69 7a 65 20 74 6f 20 31 30 32 34 20  ge size to 1024 
cfc0: 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 64  to reflect the d
cfd0: 65 66 61 75 6c 74 73 20 6f 66 20 53 51 4c 69 74  efaults of SQLit
cfe0: 65 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20  e.&nbsp; .      
cff0: 49 67 6e 6f 72 65 73 20 74 68 65 20 22 50 61 67  Ignores the "Pag
d000: 65 20 53 69 7a 65 22 20 63 6f 6e 6e 65 63 74 69  e Size" connecti
d010: 6f 6e 20 73 74 72 69 6e 67 20 6f 70 74 69 6f 6e  on string option
d020: 20 66 6f 72 20 6d 65 6d 6f 72 79 20 64 61 74 61   for memory data
d030: 62 61 73 65 73 2c 20 61 73 20 74 65 73 74 73 20  bases, as tests 
d040: 0a 20 20 20 20 20 20 72 65 76 65 61 6c 65 64 20  .      revealed 
d050: 74 68 61 74 20 63 68 61 6e 67 69 6e 67 20 69 74  that changing it
d060: 20 72 65 73 75 6c 74 65 64 20 69 6e 20 6d 65 6d   resulted in mem
d070: 6f 72 79 20 63 6f 72 72 75 70 74 69 6f 6e 20 65  ory corruption e
d080: 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 3c 4c 49  rrors..      <LI
d090: 3e 0a 20 20 20 20 20 20 20 20 50 65 72 66 6f 72  >.        Perfor
d0a0: 6d 61 6e 63 65 20 65 6e 68 61 6e 63 65 6d 65 6e  mance enhancemen
d0b0: 74 73 20 74 6f 20 74 68 65 20 53 51 4c 69 74 65  ts to the SQLite
d0c0: 43 6f 6d 6d 61 6e 64 20 61 6e 64 20 53 51 4c 69  Command and SQLi
d0d0: 74 65 53 74 61 74 65 6d 65 6e 74 20 63 6c 61 73  teStatement clas
d0e0: 73 65 73 20 77 68 69 63 68 20 0a 20 20 20 20 20  ses which .     
d0f0: 20 20 20 72 65 64 75 63 65 64 20 74 68 65 20 31     reduced the 1
d100: 30 30 2c 30 30 30 20 72 6f 77 20 69 6e 73 65 72  00,000 row inser
d110: 74 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d 65  t execution time
d120: 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20   as well as the 
d130: 76 61 72 69 6f 75 73 20 46 75 6e 63 74 69 6f 6e  various Function
d140: 20 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74   .        execut
d150: 69 6f 6e 20 74 69 6d 65 73 20 73 69 67 6e 69 66  ion times signif
d160: 69 63 61 6e 74 6c 79 2e 0a 20 20 20 20 20 20 3c  icantly..      <
d170: 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20  /LI>.    </UL>. 
d180: 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 35 20     <P><B>1.0.05 
d190: 2d 20 46 65 62 20 32 35 2c 20 32 30 30 35 3c 2f  - Feb 25, 2005</
d1a0: 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20  B>.    </P>.    
d1b0: 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  <UL>.      <LI>.
d1c0: 20 20 20 20 20 20 46 69 78 65 64 20 74 68 65 20        Fixed the 
d1d0: 53 51 4c 69 74 65 33 20 43 23 20 63 6c 61 73 73  SQLite3 C# class
d1e0: 20 73 74 65 70 2f 72 65 73 65 74 20 66 75 6e 63   step/reset func
d1f0: 74 69 6f 6e 73 20 74 6f 20 61 63 63 6f 6d 6f 64  tions to accomod
d200: 61 74 65 20 73 63 68 65 6d 61 20 63 68 61 6e 67  ate schema chang
d210: 65 73 20 0a 20 20 20 20 20 20 74 68 61 74 20 69  es .      that i
d220: 6e 76 61 6c 69 64 61 74 65 20 61 20 70 72 65 70  nvalidate a prep
d230: 61 72 65 64 20 73 74 61 74 65 6d 65 6e 74 2e 26  ared statement.&
d240: 6e 62 73 70 3b 20 53 74 61 74 65 6d 65 6e 74 73  nbsp; Statements
d250: 20 61 72 65 20 72 65 63 6f 6d 70 69 6c 65 64 20   are recompiled 
d260: 0a 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65  .      transpare
d270: 6e 74 6c 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  ntly..      <LI>
d280: 0a 20 20 20 20 20 20 4d 6f 76 65 64 20 61 6c 6c  .      Moved all
d290: 20 6e 61 74 69 76 65 20 44 4c 4c 20 64 65 63 6c   native DLL decl
d2a0: 61 72 61 74 69 6f 6e 73 20 74 6f 20 61 6e 20 55  arations to an U
d2b0: 6e 73 61 66 65 4e 61 74 69 76 65 4d 65 74 68 6f  nsafeNativeMetho
d2c0: 64 73 20 63 6c 61 73 73 2e 0a 20 20 20 20 20 20  ds class..      
d2d0: 3c 4c 49 3e 0a 20 20 20 20 20 20 53 70 6c 69 74  <LI>.      Split
d2e0: 20 73 65 76 65 72 61 6c 20 63 6c 61 73 73 65 73   several classes
d2f0: 20 69 6e 74 6f 20 74 68 65 69 72 20 6f 77 6e 20   into their own 
d300: 6d 6f 64 75 6c 65 73 20 66 6f 72 20 72 65 61 64  modules for read
d310: 61 62 69 6c 69 74 79 2e 0a 20 20 20 20 20 20 3c  ability..      <
d320: 4c 49 3e 0a 20 20 20 20 20 20 52 65 6e 61 6d 65  LI>.      Rename
d330: 64 20 6d 61 6e 79 20 69 6e 74 65 72 6e 61 6c 20  d many internal 
d340: 76 61 72 69 61 62 6c 65 73 2c 20 72 65 76 69 65  variables, revie
d350: 77 65 64 20 61 63 63 65 73 73 20 74 6f 20 76 61  wed access to va
d360: 72 69 61 62 6c 65 73 20 6d 61 72 6b 65 64 20 61  riables marked a
d370: 73 20 0a 20 20 20 20 20 20 69 6e 74 65 72 6e 61  s .      interna
d380: 6c 20 61 6e 64 20 61 6c 74 65 72 65 64 20 74 68  l and altered th
d390: 65 69 72 20 70 72 6f 74 65 63 74 69 6f 6e 20 6c  eir protection l
d3a0: 65 76 65 6c 73 20 61 63 63 6f 72 64 69 6e 67 6c  evels accordingl
d3b0: 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  y..      <LI>.  
d3c0: 20 20 20 20 44 75 65 20 74 6f 20 74 68 65 20 70      Due to the p
d3d0: 72 65 73 65 6e 63 65 20 6f 66 20 74 68 65 20 61  resence of the a
d3e0: 6c 74 65 72 65 64 20 73 71 6c 69 74 65 33 20 63  ltered sqlite3 c
d3f0: 6f 64 65 62 61 73 65 20 61 6e 64 20 73 6f 20 6d  odebase and so m
d400: 61 6e 79 20 61 64 64 65 64 20 69 6e 74 65 72 6f  any added intero
d410: 70 20 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f  p .      functio
d420: 6e 73 2c 20 49 20 64 65 63 69 64 65 64 20 74 6f  ns, I decided to
d430: 20 72 65 6e 61 6d 65 20 74 68 65 20 73 71 6c 69   rename the sqli
d440: 74 65 33 20 43 20 70 72 6f 6a 65 63 74 20 61 6e  te3 C project an
d450: 64 20 74 68 65 20 44 4c 4c 20 74 6f 20 0a 20 20  d the DLL to .  
d460: 20 20 20 20 53 51 4c 69 74 65 2e 49 6e 74 65 72      SQLite.Inter
d470: 6f 70 2e 44 4c 4c 2e 26 6e 62 73 70 3b 20 54 68  op.DLL.&nbsp; Th
d480: 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 63  is is the same c
d490: 6f 72 65 20 73 71 6c 69 74 65 33 20 63 6f 64 65  ore sqlite3 code
d4a0: 62 61 73 65 20 62 75 74 20 64 65 73 69 67 6e 65  base but designe
d4b0: 64 20 0a 20 20 20 20 20 20 73 70 65 63 69 66 69  d .      specifi
d4c0: 63 61 6c 6c 79 20 66 6f 72 20 74 68 69 73 20 41  cally for this A
d4d0: 44 4f 2e 4e 45 54 20 70 72 6f 76 69 64 65 72 2e  DO.NET provider.
d4e0: 26 6e 62 73 70 3b 20 54 68 69 73 20 65 6c 69 6d  &nbsp; This elim
d4f0: 69 6e 61 74 65 73 20 61 6e 79 20 70 6f 73 73 69  inates any possi
d500: 62 69 6c 69 74 79 20 0a 20 20 20 20 20 20 6f 66  bility .      of
d510: 20 73 6f 6d 65 6f 6e 65 20 64 72 6f 70 70 69 6e   someone droppin
d520: 67 20 61 6e 6f 74 68 65 72 20 62 75 69 6c 64 20  g another build 
d530: 6f 66 20 73 71 6c 69 74 65 33 2e 64 6c 6c 20 69  of sqlite3.dll i
d540: 6e 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 61  nto the system a
d550: 6e 64 20 72 65 6e 64 65 72 69 6e 67 20 0a 20 20  nd rendering .  
d560: 20 20 20 20 74 68 65 20 70 72 6f 76 69 64 65 72      the provider
d570: 20 69 6e 6f 70 65 72 61 62 6c 65 2e 26 6e 62 73   inoperable.&nbs
d580: 70 3b 20 49 6e 20 74 68 65 20 66 75 74 75 72 65  p; In the future
d590: 20 69 66 20 74 68 65 20 66 6f 6c 6b 73 20 61 74   if the folks at
d5a0: 20 73 71 6c 69 74 65 2e 6f 72 67 20 66 69 6e 61   sqlite.org fina
d5b0: 6c 6c 79 20 0a 20 20 20 20 20 20 69 6e 74 72 6f  lly .      intro
d5c0: 64 75 63 65 20 61 20 6d 65 74 68 6f 64 20 6f 66  duce a method of
d5d0: 20 72 65 74 72 69 65 76 69 6e 67 20 63 6f 6c 75   retrieving colu
d5e0: 6d 6e 20 75 73 61 67 65 20 66 6f 72 20 61 6e 20  mn usage for an 
d5f0: 61 72 62 69 74 72 61 72 79 20 70 72 65 70 61 72  arbitrary prepar
d600: 65 64 20 0a 20 20 20 20 20 20 73 74 61 74 65 6d  ed .      statem
d610: 65 6e 74 2c 20 49 27 6c 6c 20 72 65 74 6f 6f 6c  ent, I'll retool
d620: 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 74 6f   this library to
d630: 20 62 65 20 61 20 6c 69 67 68 74 77 65 69 67 68   be a lightweigh
d640: 74 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20  t function call 
d650: 77 72 61 70 70 65 72 20 0a 20 20 20 20 20 20 61  wrapper .      a
d660: 72 6f 75 6e 64 20 74 68 65 20 63 6f 72 65 20 62  round the core b
d670: 69 6e 61 72 79 20 64 69 73 74 72 69 62 75 74 69  inary distributi
d680: 6f 6e 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  on..      <LI>. 
d690: 20 20 20 20 20 41 64 64 65 64 20 5b 53 75 70 70       Added [Supp
d6a0: 72 65 73 73 55 6e 6d 61 6e 61 67 65 64 43 6f 64  ressUnmanagedCod
d6b0: 65 53 65 63 75 72 69 74 79 5d 20 61 74 74 72 69  eSecurity] attri
d6c0: 62 75 74 65 20 74 6f 20 74 68 65 20 55 6e 73 61  bute to the Unsa
d6d0: 66 65 4e 61 74 69 76 65 4d 65 74 68 6f 64 73 20  feNativeMethods 
d6e0: 0a 20 20 20 20 20 20 63 6c 61 73 73 20 77 68 69  .      class whi
d6f0: 63 68 20 62 72 69 6e 67 73 20 56 53 32 30 30 35  ch brings VS2005
d700: 20 4e 6f 76 65 6d 62 65 72 20 43 54 50 20 65 78   November CTP ex
d710: 65 63 75 74 69 6f 6e 20 73 70 65 65 64 73 20 69  ecution speeds i
d720: 6e 6c 69 6e 65 20 77 69 74 68 20 74 68 65 20 0a  nline with the .
d730: 20 20 20 20 20 20 44 65 63 65 6d 62 65 72 20 43        December C
d740: 54 50 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  TP..      <LI>. 
d750: 20 20 20 20 20 20 20 41 64 64 65 64 20 61 20 3c         Added a <
d760: 42 3e 62 69 6e 3c 2f 42 3e 0a 20 20 20 20 20 20  B>bin</B>.      
d770: 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65  directory to the
d780: 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 77 68   project root wh
d790: 65 72 65 20 70 72 65 2d 63 6f 6d 70 69 6c 65 64  ere pre-compiled
d7a0: 20 62 69 6e 61 72 69 65 73 20 63 61 6e 20 62 65   binaries can be
d7b0: 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 3c 4c   found..      <L
d7c0: 49 3e 0a 20 20 20 20 20 20 20 20 41 64 64 65 64  I>.        Added
d7d0: 20 61 20 3c 42 3e 64 6f 63 3c 2f 42 3e 0a 20 20   a <B>doc</B>.  
d7e0: 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 77 68      directory wh
d7f0: 65 72 65 20 70 72 65 6c 69 6d 69 6e 61 72 79 20  ere preliminary 
d800: 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e  documentation on
d810: 20 74 68 65 20 63 6c 61 73 73 20 6c 69 62 72 61   the class libra
d820: 72 79 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e  ry can be found.
d830: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
d840: 20 20 20 20 44 6f 63 75 6d 65 6e 74 65 64 20 61      Documented a
d850: 20 6c 6f 74 20 6d 6f 72 65 20 6f 66 20 74 68 65   lot more of the
d860: 20 63 6c 61 73 73 65 73 20 69 6e 74 65 72 6e 61   classes interna
d870: 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e  lly..      </LI>
d880: 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c  .    </UL>.    <
d890: 50 3e 3c 42 3e 31 2e 30 2e 30 34 20 2d 20 46 65  P><B>1.0.04 - Fe
d8a0: 62 20 32 34 2c 20 32 30 30 35 3c 2f 42 3e 0a 20  b 24, 2005</B>. 
d8b0: 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e     </P>.    <UL>
d8c0: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
d8d0: 20 20 52 65 6d 6f 76 65 64 20 74 68 65 20 53 51    Removed the SQ
d8e0: 4c 69 74 65 43 6f 6e 74 65 78 74 20 63 6c 61 73  LiteContext clas
d8f0: 73 20 61 6e 64 20 72 65 76 61 6d 70 65 64 20 74  s and revamped t
d900: 68 65 20 77 61 79 20 55 73 65 72 46 75 6e 63 74  he way UserFunct
d910: 69 6f 6e 73 20 77 6f 72 6b 20 74 6f 20 0a 20 20  ions work to .  
d920: 20 20 20 20 73 69 6d 70 6c 69 66 79 20 74 68 65      simplify the
d930: 20 69 6d 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a   imlementation..
d940: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
d950: 20 46 69 78 65 64 20 61 20 63 6f 75 6e 74 69 6e   Fixed a countin
d960: 67 20 62 75 67 20 69 6e 20 74 68 65 20 54 65 73  g bug in the Tes
d970: 74 43 61 73 65 73 20 63 6c 61 73 73 2c 20 73 70  tCases class, sp
d980: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 20 74 68  ecifically in th
d990: 65 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 73  e function tests
d9a0: 20 0a 20 20 20 20 20 20 77 68 65 72 65 20 49 20   .      where I 
d9b0: 77 61 73 6e 27 74 20 72 65 73 65 74 74 69 6e 67  wasn't resetting
d9c0: 20 74 68 65 20 63 6f 75 6e 74 65 72 20 61 6e 64   the counter and
d9d0: 20 69 74 20 77 61 73 20 63 6f 6e 73 65 71 75 65   it was conseque
d9e0: 6e 74 6c 79 20 72 65 70 6f 72 74 69 6e 67 20 0a  ntly reporting .
d9f0: 20 20 20 20 20 20 69 6e 74 72 69 6e 73 69 63 20        intrinsic 
da00: 61 6e 64 20 72 61 77 20 73 65 6c 65 63 74 20 63  and raw select c
da10: 61 6c 6c 73 20 61 73 20 62 65 69 6e 67 20 6d 75  alls as being mu
da20: 63 68 20 6d 75 63 68 20 66 61 73 74 65 72 20 74  ch much faster t
da30: 68 61 6e 20 74 68 65 79 20 61 63 74 75 61 6c 6c  han they actuall
da40: 79 20 0a 20 20 20 20 20 20 77 65 72 65 2e 26 6e  y .      were.&n
da50: 62 73 70 3b 20 54 68 65 20 6e 75 6d 62 65 72 73  bsp; The numbers
da60: 20 61 72 65 20 6e 6f 77 20 6d 75 63 68 20 63 6c   are now much cl
da70: 6f 73 65 72 20 74 6f 20 77 68 61 74 20 49 20 65  oser to what I e
da80: 78 70 65 63 74 65 64 20 66 6f 72 20 70 65 72 66  xpected for perf
da90: 6f 72 6d 61 6e 63 65 2c 20 0a 20 20 20 20 20 20  ormance, .      
daa0: 77 69 74 68 20 2e 4e 45 54 20 75 73 65 72 2d 66  with .NET user-f
dab0: 75 6e 63 74 69 6f 6e 73 20 73 74 69 6c 6c 20 62  unctions still b
dac0: 65 69 6e 67 20 74 68 65 20 73 6c 6f 77 65 73 74  eing the slowest
dad0: 2c 20 62 75 74 20 6f 6e 6c 79 20 62 79 20 61 20  , but only by a 
dae0: 73 6d 61 6c 6c 20 6d 61 72 67 69 6e 2e 0a 20 20  small margin..  
daf0: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53      <LI>.      S
db00: 6d 61 6c 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65  mall performance
db10: 20 74 77 65 61 6b 73 20 74 6f 20 53 51 4c 69 74   tweaks to SQLit
db20: 65 44 61 74 61 52 65 61 64 65 72 2e 0a 20 20 20  eDataReader..   
db30: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 41 64     <LI>.      Ad
db40: 64 65 64 20 50 61 67 65 53 69 7a 65 20 74 6f 20  ded PageSize to 
db50: 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63  the SQLiteConnec
db60: 74 69 6f 6e 53 74 72 69 6e 67 42 75 69 6c 64 65  tionStringBuilde
db70: 72 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74  r and subsequent
db80: 6c 79 20 74 6f 20 74 68 65 20 0a 20 20 20 20 20  ly to the .     
db90: 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f   SQLiteConnectio
dba0: 6e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  n.      <LI>.   
dbb0: 20 20 20 20 20 41 64 64 65 64 20 61 20 50 52 41       Added a PRA
dbc0: 47 4d 41 20 65 6e 63 6f 64 69 6e 67 3d 58 58 58  GMA encoding=XXX
dbd0: 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61 74 65   execution state
dbe0: 6d 65 6e 74 20 74 6f 20 74 68 65 20 53 51 4c 69  ment to the SQLi
dbf0: 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 61 66 74  teConnection aft
dc00: 65 72 20 0a 20 20 20 20 20 20 20 20 6f 70 65 6e  er .        open
dc10: 69 6e 67 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e  ing a connection
dc20: 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a 20 20  ..      </LI>.  
dc30: 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e 3c    </UL>.    <P><
dc40: 42 3e 31 2e 30 2e 30 33 20 2d 20 46 65 62 20 32  B>1.0.03 - Feb 2
dc50: 33 2c 20 32 30 30 35 3c 2f 42 3e 0a 20 20 20 20  3, 2005</B>.    
dc60: 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20  </P>.    <UL>.  
dc70: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46      <LI>.      F
dc80: 69 78 65 64 20 75 70 20 53 51 4c 69 74 65 43 6f  ixed up SQLiteCo
dc90: 6d 6d 61 6e 64 42 75 69 6c 64 65 72 20 74 6f 20  mmandBuilder to 
dca0: 63 6f 72 72 65 63 74 20 69 6d 70 6c 65 6d 65 6e  correct implemen
dcb0: 74 61 74 69 6f 6e 20 65 72 72 6f 72 73 2c 20 77  tation errors, w
dcc0: 68 69 63 68 20 72 65 73 75 6c 74 65 64 20 0a 20  hich resulted . 
dcd0: 20 20 20 20 20 69 6e 20 61 6e 20 65 6e 6f 72 6d       in an enorm
dce0: 6f 75 73 20 70 65 72 66 6f 72 6d 61 6e 63 65 20  ous performance 
dcf0: 62 6f 6f 73 74 20 69 6e 20 74 68 65 20 49 6e 73  boost in the Ins
dd00: 65 72 74 4d 61 6e 79 20 74 65 73 74 2e 26 6e 62  ertMany test.&nb
dd10: 73 70 3b 26 6e 62 73 70 3b 20 31 30 2c 30 30 30  sp;&nbsp; 10,000
dd20: 20 72 6f 77 20 0a 20 20 20 20 20 20 69 6e 73 65   row .      inse
dd30: 72 74 20 74 68 61 74 20 65 78 65 63 75 74 65 64  rt that executed
dd40: 20 69 6e 20 31 35 30 30 6d 73 20 6e 6f 77 20 65   in 1500ms now e
dd50: 78 65 63 75 74 65 73 20 69 6e 20 35 30 30 6d 73  xecutes in 500ms
dd60: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
dd70: 20 20 20 46 69 78 65 64 20 73 65 76 65 72 61 6c     Fixed several
dd80: 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 53   errors in the S
dd90: 51 4c 69 74 65 33 5f 55 54 46 31 36 20 63 6c 61  QLite3_UTF16 cla
dda0: 73 73 2e 26 6e 62 73 70 3b 20 54 6f 53 74 72 69  ss.&nbsp; ToStri
ddb0: 6e 67 28 29 20 77 61 73 20 77 6f 72 6b 69 6e 67  ng() was working
ddc0: 20 0a 20 20 20 20 20 20 69 6e 63 6f 72 72 65 63   .      incorrec
ddd0: 74 6c 79 20 61 6e 64 20 74 68 65 20 4f 70 65 6e  tly and the Open
dde0: 28 29 20 6d 65 74 68 6f 64 20 66 61 69 6c 65 64  () method failed
ddf0: 20 74 6f 20 72 65 67 69 73 74 65 72 20 75 73 65   to register use
de00: 72 20 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69  r defined functi
de10: 6f 6e 73 20 61 6e 64 20 0a 20 20 20 20 20 20 63  ons and .      c
de20: 6f 6c 6c 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20  ollations..     
de30: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65   <LI>.      Fixe
de40: 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c 69 74  d a bug in SQLit
de50: 65 43 6f 6d 6d 61 6e 64 2e 43 6c 65 61 72 43 6f  eCommand.ClearCo
de60: 6d 6d 61 6e 64 73 28 29 20 77 68 65 72 65 62 79  mmands() whereby
de70: 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 73 74 20   only the first 
de80: 73 74 61 74 65 6d 65 6e 74 20 0a 20 20 20 20 20  statement .     
de90: 20 77 61 73 20 62 65 69 6e 67 20 70 72 6f 70 65   was being prope
dea0: 72 6c 79 20 63 6c 65 61 6e 65 64 20 75 70 2e 0a  rly cleaned up..
deb0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
dec0: 20 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20   Fixed a bug in 
ded0: 53 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72  SQLiteDataReader
dee0: 20 77 68 65 72 65 62 79 20 63 61 6c 6c 69 6e 67   whereby calling
def0: 20 4e 65 78 74 52 65 73 75 6c 74 28 29 20 77 6f   NextResult() wo
df00: 75 6c 64 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79  uld not properly
df10: 20 0a 20 20 20 20 20 20 72 65 73 65 74 20 74 68   .      reset th
df20: 65 20 70 72 65 76 69 6f 75 73 6c 79 2d 65 78 65  e previously-exe
df30: 63 75 74 65 64 20 63 6f 6d 6d 61 6e 64 20 69 6e  cuted command in
df40: 20 74 68 65 20 73 65 71 75 65 6e 63 65 2e 0a 20   the sequence.. 
df50: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
df60: 20 20 41 64 64 65 64 20 61 6e 20 49 6e 73 65 72    Added an Inser
df70: 74 4d 61 6e 79 57 69 74 68 49 64 65 6e 74 69 74  tManyWithIdentit
df80: 79 46 65 74 63 68 20 74 65 73 74 2c 20 77 68 69  yFetch test, whi
df90: 63 68 20 61 70 70 65 6e 64 73 20 61 20 73 65 6c  ch appends a sel
dfa0: 65 63 74 20 63 6c 61 75 73 65 20 74 6f 20 0a 20  ect clause to . 
dfb0: 20 20 20 20 20 20 20 70 6f 70 75 6c 61 74 65 20         populate 
dfc0: 74 68 65 20 49 44 20 6f 66 20 74 68 65 20 6c 61  the ID of the la
dfd0: 73 74 20 69 6e 73 65 72 74 65 64 20 72 6f 77 20  st inserted row 
dfe0: 69 6e 74 6f 20 74 68 65 20 49 6e 73 65 72 74 43  into the InsertC
dff0: 6f 6d 6d 61 6e 64 2c 20 64 65 6d 6f 6e 73 74 72  ommand, demonstr
e000: 61 74 69 6e 67 20 0a 20 20 20 20 20 20 20 20 41  ating .        A
e010: 44 4f 2e 4e 45 54 27 73 20 61 62 69 6c 69 74 79  DO.NET's ability
e020: 20 74 6f 20 61 75 74 6f 2d 66 65 74 63 68 20 69   to auto-fetch i
e030: 64 65 6e 74 69 74 79 20 63 6f 6c 75 6d 6e 73 20  dentity columns 
e040: 6f 6e 20 69 6e 73 65 72 74 2e 0a 20 20 20 20 20  on insert..     
e050: 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e   </LI>.    </UL>
e060: 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30  .    <P><B>1.0.0
e070: 32 20 2d 20 46 65 62 20 32 31 2c 20 32 30 30 35  2 - Feb 21, 2005
e080: 3c 2f 42 3e 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c  </B></P>.    <UL
e090: 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  >.      <LI>.   
e0a0: 20 20 20 54 77 65 61 6b 73 20 74 6f 20 74 68 65     Tweaks to the
e0b0: 20 78 78 78 5f 69 6e 74 65 72 6f 70 20 66 75 6e   xxx_interop fun
e0c0: 63 74 69 6f 6e 73 20 74 68 61 74 20 72 65 74 75  ctions that retu
e0d0: 72 6e 20 63 68 61 72 20 2a 27 73 2c 20 73 6f 20  rn char *'s, so 
e0e0: 74 68 65 79 20 61 6c 73 6f 20 72 65 74 75 72 6e  they also return
e0f0: 20 0a 20 20 20 20 20 20 74 68 65 20 6c 65 6e 67   .      the leng
e100: 74 68 2e 26 6e 62 73 70 3b 20 53 61 76 65 73 20  th.&nbsp; Saves 
e110: 61 6e 20 69 6e 74 65 72 6f 70 20 63 61 6c 6c 20  an interop call 
e120: 74 6f 20 67 65 74 20 74 68 65 20 55 54 46 2d 38  to get the UTF-8
e130: 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 64   string length d
e140: 75 72 69 6e 67 20 0a 20 20 20 20 20 20 63 6f 6e  uring .      con
e150: 76 65 72 73 69 6f 6e 20 74 6f 20 61 20 2e 4e 45  version to a .NE
e160: 54 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20  T string..      
e170: 3c 4c 49 3e 0a 20 20 20 20 20 20 52 65 77 6f 72  <LI>.      Rewor
e180: 6b 65 64 20 74 68 65 20 77 68 6f 6c 65 20 69 6e  ked the whole in
e190: 74 65 72 6f 70 2e 63 20 74 68 69 6e 67 20 69 6e  terop.c thing in
e1a0: 74 6f 20 69 6e 74 65 72 6f 70 2e 68 20 61 6e 64  to interop.h and
e1b0: 20 72 65 64 75 63 65 64 20 74 68 65 20 63 6f 64   reduced the cod
e1c0: 65 20 72 65 71 75 69 72 65 64 20 0a 20 20 20 20  e required .    
e1d0: 20 20 74 6f 20 6d 65 72 67 65 20 74 68 65 20 6d    to merge the m
e1e0: 61 69 6e 20 73 71 6c 69 74 65 33 20 63 6f 64 65  ain sqlite3 code
e1f0: 62 61 73 65 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  base..      <LI>
e200: 0a 20 20 20 20 20 20 20 20 41 64 64 65 64 20 73  .        Added s
e210: 75 70 70 6f 72 74 20 66 6f 72 20 75 73 65 72 2d  upport for user-
e220: 64 65 66 69 6e 65 64 20 63 6f 6c 6c 61 74 69 6f  defined collatio
e230: 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a  ns..      </LI>.
e240: 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 3c 2f 62 6f      </UL>.  </bo
e250: 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a              dy>.</html>.