System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact e19dbe73e1a9bb4f865ccc08f2fb247aa1efeca2:


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 2f 33 2e 35 20 53 51 4c 69 74  ET 2.0/3.5 SQLit
0090: 65 20 44 61 74 61 20 50 72 6f 76 69 64 65 72 3c  e Data Provider<
00a0: 62 72 3e 0a 20 20 20 20 56 65 72 73 69 6f 6e 20  br>.    Version 
00b0: 31 2e 30 2e 36 36 2e 30 20 41 70 72 69 6c 20 31  1.0.66.0 April 1
00c0: 38 2c 20 32 30 31 30 3c 62 72 3e 0a 20 20 20 20  8, 2010<br>.    
00d0: 55 73 69 6e 67 20 53 51 4c 69 74 65 20 33 2e 36  Using SQLite 3.6
00e0: 2e 32 33 2e 31 3c 62 72 3e 0a 20 20 20 20 57 72  .23.1<br>.    Wr
00f0: 69 74 74 65 6e 20 62 79 20 52 6f 62 65 72 74 20  itten by Robert 
0100: 53 69 6d 70 73 6f 6e 20 28 3c 61 20 68 72 65 66  Simpson (<a href
0110: 3d 22 6d 61 69 6c 74 6f 3a 72 6f 62 65 72 74 40  ="mailto:robert@
0120: 62 6c 61 63 6b 63 61 73 74 6c 65 73 6f 66 74 2e  blackcastlesoft.
0130: 63 6f 6d 22 3e 72 6f 62 65 72 74 40 62 6c 61 63  com">robert@blac
0140: 6b 63 61 73 74 6c 65 73 6f 66 74 2e 63 6f 6d 3c  kcastlesoft.com<
0150: 2f 61 3e 29 3c 62 72 3e 0a 20 20 20 20 52 65 6c  /a>)<br>.    Rel
0160: 65 61 73 65 64 20 74 6f 20 74 68 65 20 70 75 62  eased to the pub
0170: 6c 69 63 20 64 6f 6d 61 69 6e 2c 20 75 73 65 20  lic domain, use 
0180: 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b  at your own risk
0190: 21 3c 62 72 3e 0a 20 20 20 20 4f 66 66 69 63 69  !<br>.    Offici
01a0: 61 6c 20 70 72 6f 76 69 64 65 72 20 77 65 62 73  al provider webs
01b0: 69 74 65 3a 26 6e 62 73 70 3b 20 3c 61 20 68 72  ite:&nbsp; <a hr
01c0: 65 66 3d 22 68 74 74 70 3a 2f 2f 73 71 6c 69 74  ef="http://sqlit
01d0: 65 2e 70 68 78 73 6f 66 74 77 61 72 65 2e 63 6f  e.phxsoftware.co
01e0: 6d 22 3e 68 74 74 70 3a 2f 2f 73 71 6c 69 74 65  m">http://sqlite
01f0: 2e 70 68 78 73 6f 66 74 77 61 72 65 2e 63 6f 6d  .phxsoftware.com
0200: 3c 2f 61 3e 3c 62 72 20 2f 3e 0a 20 20 20 20 3c  </a><br />.    <
0210: 62 72 3e 0a 20 20 20 20 54 68 65 20 6c 61 74 65  br>.    The late
0220: 73 74 20 76 65 72 73 69 6f 6e 20 63 61 6e 20 62  st version can b
0230: 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 3c 61 20  e downloaded <a 
0240: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 73 6f 75  href="http://sou
0250: 72 63 65 66 6f 72 67 65 2e 6e 65 74 2f 70 72 6f  rceforge.net/pro
0260: 6a 65 63 74 73 2f 73 71 6c 69 74 65 2d 64 6f 74  jects/sqlite-dot
0270: 6e 65 74 32 22 3e 0a 20 20 20 20 20 20 68 65 72  net2">.      her
0280: 65 3c 2f 61 3e 0a 20 20 20 20 3c 62 72 3e 0a 20  e</a>.    <br>. 
0290: 20 20 20 3c 62 72 3e 0a 20 20 20 20 3c 62 3e 3c     <br>.    <b><
02a0: 2f 62 3e 0a 20 20 20 20 3c 68 32 3e 0a 20 20 20  /b>.    <h2>.   
02b0: 20 20 20 3c 62 3e 46 65 61 74 75 72 65 73 3a 3c     <b>Features:<
02c0: 2f 62 3e 3c 62 72 3e 0a 20 20 20 20 3c 2f 68 32  /b><br>.    </h2
02d0: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
02e0: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 57 72 69 74   <LI>.      Writ
02f0: 74 65 6e 20 66 72 6f 6d 20 73 63 72 61 74 63 68  ten from scratch
0300: 20 6f 6e 20 56 53 32 30 30 38 20 73 70 65 63 69   on VS2008 speci
0310: 66 69 63 61 6c 6c 79 20 66 6f 72 20 41 44 4f 2e  fically for ADO.
0320: 4e 45 54 20 32 2e 30 2c 20 69 6d 70 6c 65 6d 65  NET 2.0, impleme
0330: 6e 74 69 6e 67 20 61 6c 6c 20 74 68 65 0a 20 20  nting all the.  
0340: 20 20 20 20 62 61 73 65 20 63 6c 61 73 73 65 73      base classes
0350: 20 61 6e 64 20 66 65 61 74 75 72 65 73 20 72 65   and features re
0360: 63 65 6e 74 6c 79 20 69 6e 74 72 6f 64 75 63 65  cently introduce
0370: 64 20 69 6e 20 74 68 65 20 66 72 61 6d 65 77 6f  d in the framewo
0380: 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 61 75  rk, including au
0390: 74 6f 6d 61 74 69 63 0a 20 20 20 20 20 20 74 72  tomatic.      tr
03a0: 61 6e 73 61 63 74 69 6f 6e 20 65 6e 6c 69 73 74  ansaction enlist
03b0: 6d 65 6e 74 2e 3c 6c 69 3e 53 75 70 70 6f 72 74  ment.<li>Support
03c0: 73 20 74 68 65 20 46 75 6c 6c 0a 20 20 20 20 20  s the Full.     
03d0: 20 20 20 61 6e 64 20 43 6f 6d 70 61 63 74 20 2e     and Compact .
03e0: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 2c 20 61  NET Framework, a
03f0: 6e 64 20 6e 61 74 69 76 65 20 43 2f 43 2b 2b 20  nd native C/C++ 
0400: 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 26 6e 62 73  development.&nbs
0410: 70 3b 20 31 30 30 25 20 62 69 6e 61 72 79 0a 20  p; 100% binary. 
0420: 20 20 20 20 20 20 20 63 6f 6d 70 61 74 69 62 6c         compatibl
0430: 65 20 77 69 74 68 20 74 68 65 20 6f 72 69 67 69  e with the origi
0440: 6e 61 6c 20 73 71 6c 69 74 65 33 2e 64 6c 6c 2e  nal sqlite3.dll.
0450: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
0460: 46 75 6c 6c 20 73 75 70 70 6f 72 74 20 66 6f 72  Full support for
0470: 20 4d 6f 6e 6f 20 76 69 61 20 61 20 26 71 75 6f   Mono via a &quo
0480: 74 3b 6d 61 6e 61 67 65 64 20 6f 6e 6c 79 26 71  t;managed only&q
0490: 75 6f 74 3b 20 70 72 6f 76 69 64 65 72 20 74 68  uot; provider th
04a0: 61 74 20 72 75 6e 73 20 61 67 61 69 6e 73 74 20  at runs against 
04b0: 74 68 65 20 0a 20 20 20 20 20 20 20 20 6f 66 66  the .        off
04c0: 69 63 69 61 6c 20 53 51 4c 69 74 65 20 33 2e 36  icial SQLite 3.6
04d0: 2e 31 20 6f 72 20 68 69 67 68 65 72 20 6c 69 62  .1 or higher lib
04e0: 72 61 72 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  rary.</li>.     
04f0: 20 3c 6c 69 3e 46 75 6c 6c 20 45 6e 74 69 74 79   <li>Full Entity
0500: 20 46 72 61 6d 65 77 6f 72 6b 20 73 75 70 70 6f   Framework suppo
0510: 72 74 20 28 41 44 4f 2e 4e 45 54 20 33 2e 35 20  rt (ADO.NET 3.5 
0520: 53 50 31 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  SP1)</li>.      
0530: 3c 4c 49 3e 0a 20 20 20 20 20 20 4f 6e 20 74 68  <LI>.      On th
0540: 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77  e Compact Framew
0550: 6f 72 6b 2c 20 69 74 20 69 73 20 66 61 73 74 65  ork, it is faste
0560: 72 20 74 68 61 6e 20 53 71 6c 20 53 65 72 76 65  r than Sql Serve
0570: 72 20 0a 20 20 20 20 20 20 4d 6f 62 69 6c 65 2e  r .      Mobile.
0580: 20 20 53 51 4c 69 74 65 27 73 20 69 6e 73 74 61    SQLite's insta
0590: 6c 6c 65 64 20 73 69 7a 65 20 69 73 20 61 20 66  lled size is a f
05a0: 72 61 63 74 69 6f 6e 20 6f 66 20 53 71 6c 20 4d  raction of Sql M
05b0: 6f 62 69 6c 65 27 73 2e 20 49 74 20 75 73 65 73  obile's. It uses
05c0: 20 6c 65 73 73 20 6d 65 6d 6f 72 79 20 61 74 20   less memory at 
05d0: 72 75 6e 74 69 6d 65 2c 20 72 75 6e 73 20 71 75  runtime, runs qu
05e0: 65 72 69 65 73 20 66 61 73 74 65 72 2c 20 61 6e  eries faster, an
05f0: 64 20 68 61 73 20 61 20 73 6d 61 6c 6c 65 72 20  d has a smaller 
0600: 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 73 69  database file si
0610: 7a 65 20 61 73 20 77 65 6c 6c 2e 0a 20 20 20 20  ze as well..    
0620: 20 20 3c 6c 69 3e 45 6e 63 72 79 70 74 65 64 20    <li>Encrypted 
0630: 64 61 74 61 62 61 73 65 20 73 75 70 70 6f 72 74  database support
0640: 2e 26 6e 62 73 70 3b 20 45 6e 63 72 79 70 74 65  .&nbsp; Encrypte
0650: 64 20 64 61 74 61 62 61 73 65 73 20 61 72 65 20  d databases are 
0660: 66 75 6c 6c 79 20 65 6e 63 72 79 70 74 65 64 20  fully encrypted 
0670: 61 6e 64 0a 20 20 20 20 20 20 20 20 73 75 70 70  and.        supp
0680: 6f 72 74 20 62 6f 74 68 20 62 69 6e 61 72 79 20  ort both binary 
0690: 61 6e 64 20 63 6c 65 61 72 74 65 78 74 20 70 61  and cleartext pa
06a0: 73 73 77 6f 72 64 20 74 79 70 65 73 2e 3c 2f 6c  ssword types.</l
06b0: 69 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  i>.      <LI>.  
06c0: 20 20 20 20 56 69 73 75 61 6c 20 53 74 75 64 69      Visual Studi
06d0: 6f 20 32 30 30 35 2f 32 30 30 38 20 44 65 73 69  o 2005/2008 Desi
06e0: 67 6e 2d 54 69 6d 65 20 53 75 70 70 6f 72 74 2c  gn-Time Support,
06f0: 20 77 6f 72 6b 73 20 77 69 74 68 20 61 6c 6c 20   works with all 
0700: 76 65 72 73 69 6f 6e 73 20 6f 66 20 56 53 32 30  versions of VS20
0710: 30 35 2f 32 30 30 38 2c 0a 20 20 20 20 20 20 20  05/2008,.       
0720: 20 69 6e 63 6c 75 64 69 6e 67 0a 20 20 20 20 20   including.     
0730: 20 61 6c 6c 20 45 78 70 72 65 73 73 20 45 64 69   all Express Edi
0740: 74 69 6f 6e 73 20 6f 66 20 56 53 32 30 30 35 2e  tions of VS2005.
0750: 26 6e 62 73 70 3b 20 59 6f 75 20 63 61 6e 20 61  &nbsp; You can a
0760: 64 64 20 61 20 53 51 4c 69 74 65 20 0a 20 20 20  dd a SQLite .   
0770: 20 20 20 64 61 74 61 62 61 73 65 20 74 6f 20 74     database to t
0780: 68 65 20 53 65 72 76 65 72 73 20 6c 69 73 74 2c  he Servers list,
0790: 20 64 65 73 69 67 6e 20 71 75 65 72 69 65 73 20   design queries 
07a0: 77 69 74 68 20 74 68 65 20 51 75 65 72 79 20 44  with the Query D
07b0: 65 73 69 67 6e 65 72 2c 20 0a 20 20 20 20 20 20  esigner, .      
07c0: 64 72 61 67 2d 61 6e 64 2d 64 72 6f 70 20 74 61  drag-and-drop ta
07d0: 62 6c 65 73 20 6f 6e 74 6f 20 61 20 54 79 70 65  bles onto a Type
07e0: 64 20 44 61 74 61 53 65 74 2c 20 65 74 63 2e 3c  d DataSet, etc.<
07f0: 4c 49 3e 0a 20 20 20 20 20 20 20 20 46 75 6c 6c  LI>.        Full
0800: 20 53 51 4c 69 74 65 20 73 63 68 65 6d 61 20 65   SQLite schema e
0810: 64 69 74 69 6e 67 20 69 6e 73 69 64 65 20 56 69  diting inside Vi
0820: 73 75 61 6c 20 53 74 75 64 69 6f 2e 26 6e 62 73  sual Studio.&nbs
0830: 70 3b 0a 20 20 20 20 20 20 20 20 59 6f 75 20 63  p;.        You c
0840: 61 6e 20 63 72 65 61 74 65 2f 65 64 69 74 20 74  an create/edit t
0850: 61 62 6c 65 73 2c 20 76 69 65 77 73 2c 20 74 72  ables, views, tr
0860: 69 67 67 65 72 73 2c 20 69 6e 64 65 78 65 73 2c  iggers, indexes,
0870: 20 63 68 65 63 6b 20 63 6f 6e 73 74 72 61 69 6e   check constrain
0880: 74 73 20 61 6e 64 20 66 6f 72 65 69 67 6e 20 6b  ts and foreign k
0890: 65 79 73 2e 3c 4c 49 3e 0a 20 20 20 20 20 20 53  eys.<LI>.      S
08a0: 69 6e 67 6c 65 20 66 69 6c 65 20 72 65 64 69 73  ingle file redis
08b0: 74 72 69 62 75 74 61 62 6c 65 20 28 65 78 63 65  tributable (exce
08c0: 70 74 20 6f 6e 20 43 6f 6d 70 61 63 74 20 46 72  pt on Compact Fr
08d0: 61 6d 65 77 6f 72 6b 29 2e 26 6e 62 73 70 3b 20  amework).&nbsp; 
08e0: 54 68 65 20 63 6f 72 65 20 73 71 6c 69 74 65 33  The core sqlite3
08f0: 20 63 6f 64 65 62 61 73 65 20 61 6e 64 20 74 68   codebase and th
0900: 65 20 41 44 4f 2e 4e 45 54 20 77 72 61 70 70 65  e ADO.NET wrappe
0910: 72 20 0a 20 20 20 20 20 20 61 72 65 20 63 6f 6d  r .      are com
0920: 62 69 6e 65 64 20 69 6e 74 6f 20 6f 6e 65 20 6d  bined into one m
0930: 75 6c 74 69 2d 6d 6f 64 75 6c 65 20 61 73 73 65  ulti-module asse
0940: 6d 62 6c 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  mbly..      <LI>
0950: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42  .              B
0960: 69 6e 61 72 69 65 73 20 69 6e 63 6c 75 64 65 64  inaries included
0970: 20 66 6f 72 20 49 74 61 6e 69 75 6d 2c 20 78 36   for Itanium, x6
0980: 34 2c 20 78 38 36 20 61 6e 64 20 41 52 4d 20 70  4, x86 and ARM p
0990: 72 6f 63 65 73 73 6f 72 73 2e 3c 4c 49 3e 0a 20  rocessors.<LI>. 
09a0: 20 20 20 20 20 44 62 50 72 6f 76 69 64 65 72 46       DbProviderF
09b0: 61 63 74 6f 72 79 20 73 75 70 70 6f 72 74 2e 0a  actory support..
09c0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
09d0: 20 20 20 46 75 6c 6c 20 73 75 70 70 6f 72 74 20     Full support 
09e0: 66 6f 72 20 41 54 54 41 43 48 27 65 64 20 64 61  for ATTACH'ed da
09f0: 74 61 62 61 73 65 73 2e 26 6e 62 73 70 3b 20 45  tabases.&nbsp; E
0a00: 78 70 6f 73 65 64 20 61 73 20 3c 49 3e 43 61 74  xposed as <I>Cat
0a10: 61 6c 6f 67 73 3c 2f 49 3e 0a 20 20 20 20 20 20  alogs</I>.      
0a20: 69 6e 20 74 68 65 20 73 63 68 65 6d 61 2e 26 6e  in the schema.&n
0a30: 62 73 70 3b 20 57 68 65 6e 20 63 6c 6f 6e 69 6e  bsp; When clonin
0a40: 67 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20  g a connection, 
0a50: 61 6c 6c 20 61 74 74 61 63 68 65 64 20 64 61 74  all attached dat
0a60: 61 62 61 73 65 73 20 61 72 65 20 0a 20 20 20 20  abases are .    
0a70: 20 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20    automatically 
0a80: 72 65 2d 61 74 74 61 63 68 65 64 20 74 6f 20 74  re-attached to t
0a90: 68 65 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f  he new connectio
0aa0: 6e 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  n..      <LI>.  
0ab0: 20 20 20 20 20 20 44 62 43 6f 6e 6e 65 63 74 69        DbConnecti
0ac0: 6f 6e 2e 47 65 74 53 63 68 65 6d 61 28 2e 2e 2e  on.GetSchema(...
0ad0: 29 20 73 75 70 70 6f 72 74 20 69 6e 63 6c 75 64  ) support includ
0ae0: 65 73 20 3c 49 3e 52 65 73 65 72 76 65 64 57 6f  es <I>ReservedWo
0af0: 72 64 73 2c 20 4d 65 74 61 44 61 74 61 43 6f 6c  rds, MetaDataCol
0b00: 6c 65 63 74 69 6f 6e 73 3c 2f 49 3e 2c 20 3c 49  lections</I>, <I
0b10: 3e 44 61 74 61 53 6f 75 72 63 65 49 6e 66 6f 72  >DataSourceInfor
0b20: 6d 61 74 69 6f 6e 3c 2f 49 3e 2c 0a 20 20 20 20  mation</I>,.    
0b30: 20 20 20 20 3c 49 3e 44 61 74 61 54 79 70 65 73      <I>DataTypes
0b40: 2c 20 43 6f 6c 75 6d 6e 73 3c 2f 49 3e 2c 20 3c  , Columns</I>, <
0b50: 49 3e 54 61 62 6c 65 73 3c 2f 49 3e 2c 20 3c 49  I>Tables</I>, <I
0b60: 3e 56 69 65 77 73 2c 20 56 69 65 77 43 6f 6c 75  >Views, ViewColu
0b70: 6d 6e 73 2c 20 3c 2f 49 3e 3c 49 3e 43 61 74 61  mns, </I><I>Cata
0b80: 6c 6f 67 73 2c 20 3c 2f 49 3e 3c 49 3e 49 6e 64  logs, </I><I>Ind
0b90: 65 78 65 73 2c 20 0a 20 20 20 20 20 20 20 20 20  exes, .         
0ba0: 20 49 6e 64 65 78 43 6f 6c 75 6d 6e 73 2c 20 3c   IndexColumns, <
0bb0: 2f 49 3e 3c 45 4d 3e 46 6f 72 65 69 67 6e 4b 65  /I><EM>ForeignKe
0bc0: 79 73 20 3c 2f 45 4d 3e 61 6e 64 3c 45 4d 3e 20  ys </EM>and<EM> 
0bd0: 54 72 69 67 67 65 72 73 3c 2f 45 4d 3e 2e 0a 20  Triggers</EM>.. 
0be0: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
0bf0: 45 6e 68 61 6e 63 65 64 20 44 62 44 61 74 61 52  Enhanced DbDataR
0c00: 65 61 64 65 72 2e 47 65 74 53 63 68 65 6d 61 54  eader.GetSchemaT
0c10: 61 62 6c 65 28 29 20 66 75 6e 63 74 69 6f 6e 61  able() functiona
0c20: 6c 69 74 79 20 72 65 74 75 72 6e 73 20 63 61 74  lity returns cat
0c30: 61 6c 6f 67 2c 20 6e 61 6d 65 73 70 61 63 65 20  alog, namespace 
0c40: 0a 20 20 20 20 20 20 61 6e 64 20 64 65 74 61 69  .      and detai
0c50: 6c 65 64 20 73 63 68 65 6d 61 20 69 6e 66 6f 72  led schema infor
0c60: 6d 61 74 69 6f 6e 20 65 76 65 6e 20 66 6f 72 20  mation even for 
0c70: 63 6f 6d 70 6c 65 78 20 71 75 65 72 69 65 73 2e  complex queries.
0c80: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
0c90: 20 20 4e 61 6d 65 64 20 61 6e 64 20 75 6e 6e 61    Named and unna
0ca0: 6d 65 64 20 70 61 72 61 6d 65 74 65 72 73 2e 0a  med parameters..
0cb0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
0cc0: 20 46 75 6c 6c 20 55 54 46 2d 38 20 61 6e 64 20   Full UTF-8 and 
0cd0: 55 54 46 2d 31 36 20 73 75 70 70 6f 72 74 2c 20  UTF-16 support, 
0ce0: 65 61 63 68 20 77 69 74 68 20 6f 70 74 69 6d 69  each with optimi
0cf0: 7a 65 64 20 70 69 70 65 6c 69 6e 65 73 20 69 6e  zed pipelines in
0d00: 74 6f 20 74 68 65 20 6e 61 74 69 76 65 20 0a 20  to the native . 
0d10: 20 20 20 20 20 64 61 74 61 62 61 73 65 20 63 6f       database co
0d20: 72 65 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  re..      <LI>. 
0d30: 20 20 20 20 20 4d 75 6c 74 69 70 6c 65 20 73 69       Multiple si
0d40: 6d 75 6c 74 61 6e 65 6f 75 73 20 44 61 74 61 52  multaneous DataR
0d50: 65 61 64 65 72 73 20 28 6f 6e 65 20 44 61 74 61  eaders (one Data
0d60: 52 65 61 64 65 72 20 70 65 72 20 43 6f 6d 6d 61  Reader per Comma
0d70: 6e 64 20 68 6f 77 65 76 65 72 29 2e 0a 20 20 20  nd however)..   
0d80: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 75     <LI>.      Fu
0d90: 6c 6c 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75  ll support for u
0da0: 73 65 72 2d 64 65 66 69 6e 65 64 20 73 63 61 6c  ser-defined scal
0db0: 61 72 20 61 6e 64 20 61 67 67 72 65 67 61 74 65  ar and aggregate
0dc0: 20 66 75 6e 63 74 69 6f 6e 73 2c 20 65 6e 63 61   functions, enca
0dd0: 70 73 75 6c 61 74 65 64 20 69 6e 74 6f 20 0a 20  psulated into . 
0de0: 20 20 20 20 20 61 6e 20 65 61 73 79 2d 74 6f 2d       an easy-to-
0df0: 75 73 65 20 62 61 73 65 20 63 6c 61 73 73 20 69  use base class i
0e00: 6e 20 77 68 69 63 68 20 6f 6e 6c 79 20 61 20 63  n which only a c
0e10: 6f 75 70 6c 65 20 6f 66 20 6f 76 65 72 72 69 64  ouple of overrid
0e20: 65 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79  es are necessary
0e30: 20 74 6f 20 0a 20 20 20 20 20 20 69 6d 70 6c 65   to .      imple
0e40: 6d 65 6e 74 20 6e 65 77 20 53 51 4c 20 66 75 6e  ment new SQL fun
0e50: 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 4c  ctions..      <L
0e60: 49 3e 0a 20 20 20 20 20 20 46 75 6c 6c 20 73 75  I>.      Full su
0e70: 70 70 6f 72 74 20 66 6f 72 20 75 73 65 72 2d 64  pport for user-d
0e80: 65 66 69 6e 65 64 20 63 6f 6c 6c 61 74 69 6e 67  efined collating
0e90: 20 73 65 71 75 65 6e 63 65 73 2c 20 65 76 65 72   sequences, ever
0ea0: 79 20 62 69 74 20 61 73 20 73 69 6d 70 6c 65 20  y bit as simple 
0eb0: 74 6f 20 0a 20 20 20 20 20 20 69 6d 70 6c 65 6d  to .      implem
0ec0: 65 6e 74 20 61 73 20 75 73 65 72 2d 64 65 66 69  ent as user-defi
0ed0: 6e 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e  ned functions an
0ee0: 64 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 20  d uses the same 
0ef0: 62 61 73 65 20 63 6c 61 73 73 2e 0a 20 20 20 20  base class..    
0f00: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 46    <LI>.        F
0f10: 75 6c 6c 20 73 6f 75 72 63 65 20 66 6f 72 20 74  ull source for t
0f20: 68 65 20 65 6e 74 69 72 65 20 65 6e 67 69 6e 65  he entire engine
0f30: 20 61 6e 64 20 77 72 61 70 70 65 72 2e 26 6e 62   and wrapper.&nb
0f40: 73 70 3b 20 4e 6f 20 63 6f 70 79 72 69 67 68 74  sp; No copyright
0f50: 73 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20  s.&nbsp; .      
0f60: 20 20 50 75 62 6c 69 63 20 44 6f 6d 61 69 6e 2e    Public Domain.
0f70: 26 6e 62 73 70 3b 20 31 30 30 25 20 66 72 65 65  &nbsp; 100% free
0f80: 20 66 6f 72 20 63 6f 6d 6d 65 72 63 69 61 6c 20   for commercial 
0f90: 61 6e 64 20 6e 6f 6e 2d 63 6f 6d 6d 65 72 63 69  and non-commerci
0fa0: 61 6c 20 75 73 65 2e 26 6e 62 73 70 3b 3c 2f 4c  al use.&nbsp;</L
0fb0: 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 73 74 72  I></UL>.    <str
0fc0: 6f 6e 67 3e 3c 2f 73 74 72 6f 6e 67 3e 0a 20 20  ong></strong>.  
0fd0: 20 20 3c 68 32 3e 0a 20 20 20 20 20 20 3c 73 74    <h2>.      <st
0fe0: 72 6f 6e 67 3e 44 65 73 69 67 6e 2d 54 69 6d 65  rong>Design-Time
0ff0: 20 53 75 70 70 6f 72 74 3c 2f 73 74 72 6f 6e 67   Support</strong
1000: 3e 3c 2f 68 32 3e 0a 20 20 20 20 3c 50 3e 0a 20  ></h2>.    <P>. 
1010: 20 20 20 20 20 49 6e 20 57 69 6e 64 6f 77 73 20       In Windows 
1020: 45 78 70 6c 6f 72 65 72 2c 20 6e 61 76 69 67 61  Explorer, naviga
1030: 74 65 20 74 6f 20 74 68 65 20 3c 53 54 52 4f 4e  te to the <STRON
1040: 47 3e 53 51 4c 69 74 65 2e 4e 45 54 5c 62 69 6e  G>SQLite.NET\bin
1050: 5c 44 65 73 69 67 6e 65 72 3c 2f 53 54 52 4f 4e  \Designer</STRON
1060: 47 3e 0a 20 20 20 20 20 20 20 20 66 6f 6c 64 65  G>.        folde
1070: 72 20 61 6e 64 20 65 78 65 63 75 74 65 20 74 68  r and execute th
1080: 65 20 3c 53 54 52 4f 4e 47 3e 49 4e 53 54 41 4c  e <STRONG>INSTAL
1090: 4c 2e 45 58 45 3c 2f 53 54 52 4f 4e 47 3e 0a 20  L.EXE</STRONG>. 
10a0: 20 20 20 20 20 66 69 6c 65 2e 26 6e 62 73 70 3b       file.&nbsp;
10b0: 20 54 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c   The program wil
10c0: 6c 0a 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69  l.      automati
10d0: 63 61 6c 6c 79 20 64 65 74 65 63 74 20 77 68 61  cally detect wha
10e0: 74 20 76 65 72 73 69 6f 6e 28 73 29 20 6f 66 20  t version(s) of 
10f0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30  Visual Studio 20
1100: 30 35 2f 32 30 30 38 20 61 72 65 20 69 6e 73 74  05/2008 are inst
1110: 61 6c 6c 65 64 20 61 6e 64 20 61 6c 6c 6f 77 0a  alled and allow.
1120: 20 20 20 20 20 20 79 6f 75 20 74 6f 20 73 65 6c        you to sel
1130: 65 63 74 69 76 65 6c 79 20 69 6e 73 74 61 6c 6c  ectively install
1140: 20 61 6e 64 20 75 6e 69 6e 73 74 61 6c 6c 20 74   and uninstall t
1150: 68 65 20 64 65 73 69 67 6e 65 72 20 66 6f 72 20  he designer for 
1160: 65 61 63 68 20 65 64 69 74 69 6f 6e 2e 3c 2f 50  each edition.</P
1170: 3e 0a 20 20 20 20 3c 48 32 3e 3c 53 54 52 4f 4e  >.    <H2><STRON
1180: 47 3e 44 62 46 61 63 74 6f 72 79 20 53 75 70 70  G>DbFactory Supp
1190: 6f 72 74 20 28 4e 6f 6e 2d 43 6f 6d 70 61 63 74  ort (Non-Compact
11a0: 20 46 72 61 6d 65 77 6f 72 6b 29 3c 2f 53 54 52   Framework)</STR
11b0: 4f 4e 47 3e 3c 2f 48 32 3e 0a 20 20 20 20 49 6e  ONG></H2>.    In
11c0: 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 74 68   order to use th
11d0: 65 20 53 51 4c 69 74 65 46 61 63 74 6f 72 79 20  e SQLiteFactory 
11e0: 61 6e 64 20 68 61 76 65 20 74 68 65 20 53 51 4c  and have the SQL
11f0: 69 74 65 20 64 61 74 61 20 70 72 6f 76 69 64 65  ite data provide
1200: 72 20 65 6e 75 6d 65 72 61 74 65 64 20 0a 20 20  r enumerated .  
1210: 20 20 69 6e 20 74 68 65 20 44 62 50 72 6f 76 69    in the DbProvi
1220: 64 65 72 46 61 63 74 6f 72 69 65 73 20 6d 65 74  derFactories met
1230: 68 6f 64 73 2c 20 79 6f 75 20 6d 75 73 74 20 61  hods, you must a
1240: 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  dd the following
1250: 20 73 65 67 6d 65 6e 74 20 69 6e 74 6f 20 79 6f   segment into yo
1260: 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 73  ur application's
1270: 20 61 70 70 2e 63 6f 6e 66 69 67 20 66 69 6c 65   app.config file
1280: 3a 3c 62 72 3e 0a 20 20 20 20 3c 62 72 3e 0a 20  :<br>.    <br>. 
1290: 20 20 20 3c 70 72 65 3e 26 6c 74 3b 63 6f 6e 66     <pre>&lt;conf
12a0: 69 67 75 72 61 74 69 6f 6e 26 67 74 3b 0a 20 20  iguration&gt;.  
12b0: 26 6c 74 3b 73 79 73 74 65 6d 2e 64 61 74 61 26  &lt;system.data&
12c0: 67 74 3b 0a 20 20 20 20 26 6c 74 3b 44 62 50 72  gt;.    &lt;DbPr
12d0: 6f 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 26  oviderFactories&
12e0: 67 74 3b 0a 20 20 20 20 20 20 26 6c 74 3b 72 65  gt;.      &lt;re
12f0: 6d 6f 76 65 20 69 6e 76 61 72 69 61 6e 74 3d 22  move invariant="
1300: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
1310: 74 65 22 2f 26 67 74 3b 0a 20 20 20 20 20 20 26  te"/&gt;.      &
1320: 6c 74 3b 61 64 64 20 6e 61 6d 65 3d 22 53 51 4c  lt;add name="SQL
1330: 69 74 65 20 44 61 74 61 20 50 72 6f 76 69 64 65  ite Data Provide
1340: 72 22 20 69 6e 76 61 72 69 61 6e 74 3d 22 53 79  r" invariant="Sy
1350: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
1360: 22 20 64 65 73 63 72 69 70 74 69 6f 6e 3d 22 2e  " description=".
1370: 4e 65 74 20 46 72 61 6d 65 77 6f 72 6b 20 44 61  Net Framework Da
1380: 74 61 20 50 72 6f 76 69 64 65 72 20 66 6f 72 20  ta Provider for 
1390: 53 51 4c 69 74 65 22 3c 42 52 20 3e 20 74 79 70  SQLite"<BR > typ
13a0: 65 3d 22 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  e="System.Data.S
13b0: 51 4c 69 74 65 2e 53 51 4c 69 74 65 46 61 63 74  QLite.SQLiteFact
13c0: 6f 72 79 2c 20 53 79 73 74 65 6d 2e 44 61 74 61  ory, System.Data
13d0: 2e 53 51 4c 69 74 65 22 20 2f 26 67 74 3b 0a 20  .SQLite" /&gt;. 
13e0: 20 20 20 26 6c 74 3b 2f 44 62 50 72 6f 76 69 64     &lt;/DbProvid
13f0: 65 72 46 61 63 74 6f 72 69 65 73 26 67 74 3b 0a  erFactories&gt;.
1400: 20 20 26 6c 74 3b 2f 73 79 73 74 65 6d 2e 64 61    &lt;/system.da
1410: 74 61 26 67 74 3b 0a 26 6c 74 3b 2f 63 6f 6e 66  ta&gt;.&lt;/conf
1420: 69 67 75 72 61 74 69 6f 6e 26 67 74 3b 0a 3c 2f  iguration&gt;.</
1430: 70 72 65 3e 0a 20 20 20 20 3c 70 3e 53 65 65 20  pre>.    <p>See 
1440: 74 68 65 20 68 65 6c 70 20 64 6f 63 75 6d 65 6e  the help documen
1450: 74 61 74 69 6f 6e 20 66 6f 72 20 66 75 72 74 68  tation for furth
1460: 65 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 69 6d  er details on im
1470: 70 6c 65 6d 65 6e 74 69 6e 67 20 62 6f 74 68 20  plementing both 
1480: 76 65 72 73 69 6f 6e 2d 73 70 65 63 69 66 69 63  version-specific
1490: 20 28 47 41 43 20 65 6e 61 62 6c 65 64 29 20 61   (GAC enabled) a
14a0: 6e 64 20 76 65 72 73 69 6f 6e 20 69 6e 64 65 70  nd version indep
14b0: 65 6e 64 65 6e 74 20 44 42 50 72 6f 76 69 64 65  endent DBProvide
14c0: 72 46 61 63 74 6f 72 69 65 73 20 73 75 70 70 6f  rFactories suppo
14d0: 72 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20  rt..      </p>. 
14e0: 20 20 20 3c 68 33 3e 0a 20 20 20 20 20 20 43 6f     <h3>.      Co
14f0: 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74 68 65 20  mpiling for the 
1500: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
1510: 6b 3c 2f 68 33 3e 0a 20 20 20 20 3c 70 3e 0a 20  k</h3>.    <p>. 
1520: 20 20 20 20 20 4a 75 73 74 20 63 68 61 6e 67 65       Just change
1530: 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74   the target plat
1540: 66 6f 72 6d 20 66 72 6f 6d 20 57 69 6e 33 32 20  form from Win32 
1550: 74 6f 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65  to Compact Frame
1560: 77 6f 72 6b 20 61 6e 64 20 0a 20 20 20 20 20 20  work and .      
1570: 72 65 63 6f 6d 70 69 6c 65 2e 26 6e 62 73 70 3b  recompile.&nbsp;
1580: 20 3c 53 54 52 4f 4e 47 3e 54 68 65 20 43 6f 6d   <STRONG>The Com
1590: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 20 68  pact Framework h
15a0: 61 73 20 6e 6f 20 73 75 70 70 6f 72 74 20 66 6f  as no support fo
15b0: 72 20 65 6e 75 6d 65 72 61 74 69 6e 67 20 0a 20  r enumerating . 
15c0: 20 20 20 20 20 20 20 61 74 74 72 69 62 75 74 65         attribute
15d0: 73 20 69 6e 20 61 6e 20 61 73 73 65 6d 62 6c 79  s in an assembly
15e0: 2c 20 74 68 65 72 65 66 6f 72 65 20 61 6c 6c 20  , therefore all 
15f0: 75 73 65 72 2d 64 65 66 69 6e 65 64 20 63 6f 6c  user-defined col
1600: 6c 61 74 69 6e 67 20 73 65 71 75 65 6e 63 65 73  lating sequences
1610: 20 61 6e 64 20 0a 20 20 20 20 20 20 20 20 66 75   and .        fu
1620: 6e 63 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20  nctions must be 
1630: 65 78 70 6c 69 63 69 74 6c 79 20 72 65 67 69 73  explicitly regis
1640: 74 65 72 65 64 2e 3c 2f 53 54 52 4f 4e 47 3e 26  tered.</STRONG>&
1650: 6e 62 73 70 3b 20 53 65 65 20 74 68 65 20 3c 53  nbsp; See the <S
1660: 54 52 4f 4e 47 3e 74 65 73 74 63 65 3c 2f 53 54  TRONG>testce</ST
1670: 52 4f 4e 47 3e 0a 20 20 20 20 20 20 73 61 6d 70  RONG>.      samp
1680: 6c 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 66  le application f
1690: 6f 72 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66  or an example of
16a0: 20 68 6f 77 20 74 6f 20 65 78 70 6c 69 63 69 74   how to explicit
16b0: 6c 79 20 72 65 67 69 73 74 65 72 20 75 73 65 72  ly register user
16c0: 2d 64 65 66 69 6e 65 64 20 0a 20 20 20 20 20 20  -defined .      
16d0: 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71 75 65 6e  collating sequen
16e0: 63 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e  ces and function
16f0: 73 2e 3c 2f 70 3e 0a 20 20 20 20 3c 68 32 3e 0a  s.</p>.    <h2>.
1700: 20 20 20 20 20 20 3c 62 3e 3c 41 20 6e 61 6d 65        <b><A name
1710: 3d 22 72 65 64 69 73 74 22 3e 3c 2f 41 3e 44 69  ="redist"></A>Di
1720: 73 74 72 69 62 75 74 69 6e 67 20 54 68 65 20 53  stributing The S
1730: 51 4c 69 74 65 20 45 6e 67 69 6e 65 20 61 6e 64  QLite Engine and
1740: 20 41 44 4f 2e 4e 45 54 20 41 73 73 65 6d 62 6c   ADO.NET Assembl
1750: 79 3c 2f 62 3e 3c 2f 68 32 3e 0a 20 20 20 20 3c  y</b></h2>.    <
1760: 50 3e 0a 20 20 20 20 20 20 4f 6e 20 74 68 65 20  P>.      On the 
1770: 64 65 73 6b 74 6f 70 2c 20 6f 6e 6c 79 20 74 68  desktop, only th
1780: 65 20 3c 53 54 52 4f 4e 47 3e 53 79 73 74 65 6d  e <STRONG>System
1790: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 44 4c 4c  .Data.SQLite.DLL
17a0: 3c 2f 53 54 52 4f 4e 47 3e 20 66 69 6c 65 20 6e  </STRONG> file n
17b0: 65 65 64 73 20 74 6f 20 62 65 20 64 69 73 74 72  eeds to be distr
17c0: 69 62 75 74 65 64 20 77 69 74 68 20 79 6f 75 72  ibuted with your
17d0: 20 0a 20 20 20 20 20 20 61 70 70 6c 69 63 61 74   .      applicat
17e0: 69 6f 6e 28 73 29 2e 26 6e 62 73 70 3b 20 54 68  ion(s).&nbsp; Th
17f0: 69 73 20 44 4c 4c 20 63 6f 6e 74 61 69 6e 73 20  is DLL contains 
1800: 62 6f 74 68 20 74 68 65 20 6d 61 6e 61 67 65 64  both the managed
1810: 20 77 72 61 70 70 65 72 20 61 6e 64 20 74 68 65   wrapper and the
1820: 20 6e 61 74 69 76 65 20 0a 20 20 20 20 20 20 53   native .      S
1830: 51 4c 69 74 65 33 20 63 6f 64 65 62 61 73 65 2e  QLite3 codebase.
1840: 26 6e 62 73 70 3b 20 46 6f 72 20 74 68 65 20 43  &nbsp; For the C
1850: 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b  ompact Framework
1860: 2c 20 79 6f 75 20 77 69 6c 6c 20 68 61 76 65 20  , you will have 
1870: 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 0a 20  to distribute . 
1880: 20 20 20 20 20 62 6f 74 68 20 74 68 65 20 43 46       both the CF
1890: 20 76 65 72 73 69 6f 6e 20 6f 66 20 53 79 73 74   version of Syst
18a0: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 44  em.Data.SQLite.D
18b0: 4c 4c 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 74  LL, as well as t
18c0: 68 65 20 0a 20 20 20 20 20 20 53 51 4c 69 74 65  he .      SQLite
18d0: 2e 49 6e 74 65 72 6f 70 2e 58 58 58 2e 44 4c 4c  .Interop.XXX.DLL
18e0: 2e 26 6e 62 73 70 3b 20 54 68 69 73 20 69 73 20  .&nbsp; This is 
18f0: 61 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67  a breaking chang
1900: 65 20 61 73 20 6f 66 20 31 2e 30 2e 35 39 2e 30  e as of 1.0.59.0
1910: 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20 52  .&nbsp; .      R
1920: 65 63 65 6e 74 20 57 69 6e 64 6f 77 73 20 4d 6f  ecent Windows Mo
1930: 62 69 6c 65 20 66 72 61 6d 65 77 6f 72 6b 73 20  bile frameworks 
1940: 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 69  are not supporti
1950: 6e 67 20 74 68 65 20 6d 69 78 65 64 20 43 46 20  ng the mixed CF 
1960: 61 73 73 65 6d 62 6c 79 20 49 20 77 61 73 20 0a  assembly I was .
1970: 20 20 20 20 20 20 62 75 69 6c 64 69 6e 67 20 70        building p
1980: 72 69 6f 72 20 74 6f 20 74 68 69 73 20 76 65 72  rior to this ver
1990: 73 69 6f 6e 2e 3c 2f 50 3e 0a 20 20 20 20 3c 48  sion.</P>.    <H
19a0: 32 3e 3c 42 3e 44 65 76 65 6c 6f 70 6d 65 6e 74  2><B>Development
19b0: 20 4e 6f 74 65 73 20 52 65 67 61 72 64 69 6e 67   Notes Regarding
19c0: 20 74 68 65 20 53 51 4c 69 74 65 20 33 20 53 6f   the SQLite 3 So
19d0: 75 72 63 65 20 43 6f 64 65 3c 2f 42 3e 3c 2f 48  urce Code</B></H
19e0: 32 3e 0a 20 20 20 20 3c 70 3e 0a 20 20 20 20 20  2>.    <p>.     
19f0: 20 54 68 65 20 63 6f 72 65 20 73 71 6c 69 74 65   The core sqlite
1a00: 20 65 6e 67 69 6e 65 20 69 73 20 63 6f 6d 70 69   engine is compi
1a10: 6c 65 64 20 64 69 72 65 63 74 6c 79 20 66 72 6f  led directly fro
1a20: 6d 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64  m the unmodified
1a30: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 76 61   source code ava
1a40: 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 61 74 20  ilable.      at 
1a50: 74 68 65 20 73 71 6c 69 74 65 2e 6f 72 67 20 77  the sqlite.org w
1a60: 65 62 73 69 74 65 2e 26 6e 62 73 70 3b 20 53 65  ebsite.&nbsp; Se
1a70: 76 65 72 61 6c 20 61 64 64 69 74 69 6f 6e 61 6c  veral additional
1a80: 20 70 69 65 63 65 73 20 61 72 65 20 63 6f 6d 70   pieces are comp
1a90: 69 6c 65 64 20 6f 6e 20 74 6f 70 20 6f 66 0a 20  iled on top of. 
1aa0: 20 20 20 20 20 69 74 20 74 6f 20 65 78 74 65 6e       it to exten
1ab0: 64 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 61 6c  d its functional
1ac0: 69 74 79 2c 20 62 75 74 20 74 68 65 20 63 6f 72  ity, but the cor
1ad0: 65 20 65 6e 67 69 6e 65 27 73 20 73 6f 75 72 63  e engine's sourc
1ae0: 65 20 69 73 20 6e 6f 74 20 63 68 61 6e 67 65 64  e is not changed
1af0: 2e 3c 2f 70 3e 0a 20 20 20 20 3c 70 3e 3c 2f 70  .</p>.    <p></p
1b00: 3e 0a 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20  >.    <p>.      
1b10: 3c 62 3e 56 65 72 73 69 6f 6e 20 48 69 73 74 6f  <b>Version Histo
1b20: 72 79 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c  ry</b></p>.    <
1b30: 70 3e 3c 62 3e 31 2e 30 2e 36 36 2e 30 20 2d 20  p><b>1.0.66.0 - 
1b40: 41 70 72 69 6c 20 31 38 2c 20 32 30 31 30 3c 2f  April 18, 2010</
1b50: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
1b60: 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d        <li>Code m
1b70: 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65  erge with SQLite
1b80: 20 33 2e 36 2e 32 33 2e 31 3c 2f 6c 69 3e 0a 20   3.6.23.1</li>. 
1b90: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61       <li>Fixed a
1ba0: 20 62 75 67 20 69 6e 20 74 68 65 20 69 6e 73 74   bug in the inst
1bb0: 61 6c 6c 65 72 20 74 68 61 74 20 61 63 63 69 64  aller that accid
1bc0: 65 6e 74 61 6c 6c 79 20 6d 6f 64 69 66 69 65 64  entally modified
1bd0: 20 74 68 65 20 6d 61 63 68 69 6e 65 2e 63 6f 6e   the machine.con
1be0: 66 69 67 20 6f 6e 20 2e 4e 45 54 20 76 65 72 73  fig on .NET vers
1bf0: 69 6f 6e 73 20 70 72 69 6f 72 20 74 6f 20 32 2e  ions prior to 2.
1c00: 30 2c 20 69 6e 76 61 6c 69 64 69 6e 67 20 74 68  0, invaliding th
1c10: 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 2e 3c 2f  e config file.</
1c20: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
1c30: 78 65 64 20 49 4e 54 45 52 53 45 43 54 20 61 6e  xed INTERSECT an
1c40: 64 20 45 58 43 45 50 54 20 75 6e 69 6f 6e 20 71  d EXCEPT union q
1c50: 75 65 72 79 20 67 65 6e 65 72 61 74 69 6f 6e 20  uery generation 
1c60: 69 6e 20 45 46 3c 2f 6c 69 3e 0a 20 20 20 20 20  in EF</li>.     
1c70: 20 3c 6c 69 3e 46 69 78 65 64 20 61 6e 20 6f 75   <li>Fixed an ou
1c80: 74 20 6f 66 20 6d 65 6d 6f 72 79 20 65 72 72 6f  t of memory erro
1c90: 72 20 69 6e 20 74 68 65 20 74 72 69 67 67 65 72  r in the trigger
1ca0: 20 64 65 73 69 67 6e 65 72 20 69 6e 20 63 61 73   designer in cas
1cb0: 65 73 20 77 68 65 72 65 20 61 20 57 48 45 4e 20  es where a WHEN 
1cc0: 63 6c 61 75 73 65 20 69 73 20 75 73 65 64 20 69  clause is used i
1cd0: 6e 20 74 68 65 20 74 72 69 67 67 65 72 3c 2f 6c  n the trigger</l
1ce0: 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20  i>.    </ul>.   
1cf0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 36 35 2e 30 20   <p><b>1.0.65.0 
1d00: 2d 20 4a 75 6c 79 20 32 36 2c 20 32 30 30 39 3c  - July 26, 2009<
1d10: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
1d20: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
1d30: 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 65 6e   a bug in the en
1d40: 63 72 79 70 74 69 6f 6e 20 6d 6f 64 75 6c 65 20  cryption module 
1d50: 74 6f 20 70 72 65 76 65 6e 74 20 61 20 64 6f 75  to prevent a dou
1d60: 62 6c 65 20 66 72 65 65 28 29 20 77 68 65 6e 20  ble free() when 
1d70: 72 65 6b 65 79 69 6e 67 20 61 20 64 61 74 61 62  rekeying a datab
1d80: 61 73 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ase.</li>.      
1d90: 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20  <li>Fixed a bug 
1da0: 69 6e 20 74 68 65 20 65 6e 63 72 79 70 74 69 6f  in the encryptio
1db0: 6e 20 6d 6f 64 75 6c 65 20 77 68 65 6e 20 41 54  n module when AT
1dc0: 54 41 43 48 69 6e 67 20 61 6e 20 65 6e 63 72 79  TACHing an encry
1dd0: 70 74 65 64 20 64 61 74 61 62 61 73 65 2e 3c 2f  pted database.</
1de0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 49 6e  li>.      <li>In
1df0: 63 6f 72 70 6f 72 61 74 65 64 20 74 68 65 20 57  corporated the W
1e00: 69 6e 43 45 20 6c 6f 63 6b 69 6e 67 20 66 69 78  inCE locking fix
1e10: 20 66 72 6f 6d 20 74 69 63 6b 65 74 0a 20 20 20   from ticket.   
1e20: 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74       <a href="ht
1e30: 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e  tp://www.sqlite.
1e40: 6f 72 67 2f 63 76 73 74 72 61 63 2f 74 6b 74 76  org/cvstrac/tktv
1e50: 69 65 77 3f 74 6e 3d 33 39 39 31 22 3e 23 33 39  iew?tn=3991">#39
1e60: 39 31 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20  91</a></li>.    
1e70: 20 20 3c 6c 69 3e 41 64 64 65 64 20 26 71 75 6f    <li>Added &quo
1e80: 74 3b 62 69 67 69 6e 74 26 71 75 6f 74 3b 20 74  t;bigint&quot; t
1e90: 6f 20 74 68 65 20 64 72 6f 70 64 6f 77 6e 20 69  o the dropdown i
1ea0: 6e 20 74 68 65 20 74 61 62 6c 65 20 64 65 73 69  n the table desi
1eb0: 67 6e 65 72 2c 20 70 6c 75 73 20 6f 74 68 65 72  gner, plus other
1ec0: 20 6d 69 6e 6f 72 20 74 61 62 6c 65 20 0a 20 20   minor table .  
1ed0: 20 20 20 20 20 20 64 65 73 69 67 6e 65 72 20 62        designer b
1ee0: 75 67 66 69 78 65 73 2e 3c 2f 6c 69 3e 0a 20 20  ugfixes.</li>.  
1ef0: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
1f00: 62 3e 31 2e 30 2e 36 34 2e 30 20 2d 20 4a 75 6c  b>1.0.64.0 - Jul
1f10: 79 20 39 2c 20 32 30 30 39 3c 2f 62 3e 3c 2f 70  y 9, 2009</b></p
1f20: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20  >.    <ul>.     
1f30: 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 6d   <li>Fixed the m
1f40: 69 73 73 69 6e 67 20 72 65 73 6f 75 72 63 65 73  issing resources
1f50: 20 70 72 6f 62 6c 65 6d 20 66 72 6f 6d 20 74 68   problem from th
1f60: 65 20 36 33 20 72 65 6c 65 61 73 65 2e 3c 2f 6c  e 63 release.</l
1f70: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64  i>.      <li>Add
1f80: 65 64 20 70 72 65 6c 69 6d 69 6e 61 72 79 20 73  ed preliminary s
1f90: 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 56  upport for the V
1fa0: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 31  isual Studio 201
1fb0: 30 20 62 65 74 61 2e 3c 2f 6c 69 3e 0a 20 20 20  0 beta.</li>.   
1fc0: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62     <li>Fixed a b
1fd0: 75 67 20 69 6e 20 53 51 4c 69 74 65 43 6f 6d 6d  ug in SQLiteComm
1fe0: 61 6e 64 20 74 68 61 74 20 74 68 72 65 77 20 61  and that threw a
1ff0: 20 6e 75 6c 6c 20 72 65 66 65 72 65 6e 63 65 20   null reference 
2000: 65 78 63 65 70 74 69 6f 6e 20 77 68 65 6e 20 0a  exception when .
2010: 20 20 20 20 20 20 20 20 73 65 74 74 69 6e 67 20          setting 
2020: 74 68 65 20 54 72 61 6e 73 61 63 74 69 6f 6e 20  the Transaction 
2030: 6f 62 6a 65 63 74 20 74 6f 20 6e 75 6c 6c 2e 3c  object to null.<
2040: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 49  /li>.      <li>I
2050: 66 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69  f SQLiteConnecti
2060: 6f 6e 2e 45 6e 6c 69 73 74 54 72 61 6e 73 61 63  on.EnlistTransac
2070: 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 6d  tion is called m
2080: 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 20 66 6f  ultiple times fo
2090: 72 20 74 68 65 20 73 61 6d 65 20 0a 20 20 20 20  r the same .    
20a0: 20 20 20 20 74 72 61 6e 73 61 63 74 69 6f 6e 20      transaction 
20b0: 73 63 6f 70 65 2c 20 6a 75 73 74 20 72 65 74 75  scope, just retu
20c0: 72 6e 20 77 69 74 68 6f 75 74 20 74 68 72 6f 77  rn without throw
20d0: 69 6e 67 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c  ing an error.</l
20e0: 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20  i>.    </ul>.   
20f0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 36 33 2e 30 20   <p><b>1.0.63.0 
2100: 2d 20 4a 75 6e 65 20 32 39 2c 20 32 30 30 39 3c  - June 29, 2009<
2110: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
2120: 0a 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20  .      <li>Code 
2130: 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74  merge with SQLit
2140: 65 20 33 2e 36 2e 31 36 3c 2f 6c 69 3e 0a 20 20  e 3.6.16</li>.  
2150: 20 20 20 20 3c 6c 69 3e 43 68 65 63 6b 20 74 68      <li>Check th
2160: 65 20 61 75 74 6f 63 6f 6d 6d 69 74 20 6d 6f 64  e autocommit mod
2170: 65 20 6f 66 20 74 68 65 20 63 6f 6e 6e 65 63 74  e of the connect
2180: 69 6f 6e 20 74 6f 20 77 68 69 63 68 20 61 20 74  ion to which a t
2190: 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 62 6f  ransaction is bo
21a0: 75 6e 64 20 0a 20 20 20 20 20 20 20 20 64 75 72  und .        dur
21b0: 69 6e 67 20 74 68 65 20 64 69 73 70 6f 73 61 6c  ing the disposal
21c0: 20 6f 66 20 74 68 65 20 74 72 61 6e 73 61 63 74   of the transact
21d0: 69 6f 6e 2e 26 6e 62 73 70 3b 20 49 66 20 61 75  ion.&nbsp; If au
21e0: 74 6f 63 6f 6d 6d 69 74 20 69 73 20 65 6e 61 62  tocommit is enab
21f0: 6c 65 64 2c 20 74 68 65 6e 20 74 68 65 20 0a 20  led, then the . 
2200: 20 20 20 20 20 20 20 64 61 74 61 62 61 73 65 20         database 
2210: 68 61 73 20 61 6c 72 65 61 64 79 20 72 6f 6c 6c  has already roll
2220: 65 64 20 62 61 63 6b 20 74 68 65 20 74 72 61 6e  ed back the tran
2230: 73 61 63 74 69 6f 6e 20 61 6e 64 20 77 65 20 64  saction and we d
2240: 6f 6e 26 23 33 39 3b 74 20 6e 65 65 64 20 74 6f  on&#39;t need to
2250: 20 64 6f 20 69 74 20 0a 20 20 20 20 20 20 20 20   do it .        
2260: 64 75 72 69 6e 67 20 64 69 73 70 6f 73 65 2c 20  during dispose, 
2270: 61 6e 64 20 63 61 6e 20 71 75 69 65 74 6c 79 20  and can quietly 
2280: 69 67 6e 6f 72 65 20 74 68 65 20 73 74 65 70 20  ignore the step 
2290: 77 69 74 68 6f 75 74 20 74 68 72 6f 77 69 6e 67  without throwing
22a0: 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a   an error.</li>.
22b0: 20 20 20 20 20 20 3c 6c 69 3e 45 6c 69 6d 69 6e        <li>Elimin
22c0: 61 74 65 64 20 74 68 65 20 6d 65 72 67 65 62 69  ated the mergebi
22d0: 6e 20 73 74 65 70 20 61 6c 74 6f 67 65 74 68 65  n step altogethe
22e0: 72 2e 26 6e 62 73 70 3b 20 49 74 20 77 61 73 20  r.&nbsp; It was 
22f0: 64 65 76 65 6c 6f 70 65 64 20 70 72 69 6d 61 72  developed primar
2300: 69 6c 79 20 74 6f 20 0a 20 20 20 20 20 20 20 20  ily to .        
2310: 6d 65 72 67 65 20 74 68 65 20 43 6f 6d 70 61 63  merge the Compac
2320: 74 20 46 72 61 6d 65 77 6f 72 6b 20 62 69 6e 61  t Framework bina
2330: 72 69 65 73 20 74 6f 67 65 74 68 65 72 2c 20 62  ries together, b
2340: 75 74 20 73 69 6e 63 65 20 77 65 26 23 33 39 3b  ut since we&#39;
2350: 72 65 20 6e 6f 74 20 64 6f 69 6e 67 20 74 68 61  re not doing tha
2360: 74 20 0a 20 20 20 20 20 20 20 20 61 6e 79 6d 6f  t .        anymo
2370: 72 65 2c 20 69 74 73 20 75 73 65 20 69 73 20 6c  re, its use is l
2380: 69 6d 69 74 65 64 2e 26 6e 62 73 70 3b 20 49 74  imited.&nbsp; It
2390: 73 20 6e 6f 6e 2d 73 74 61 6e 64 61 72 64 20 6d  s non-standard m
23a0: 65 74 68 6f 64 20 6f 66 20 6d 65 72 67 69 6e 67  ethod of merging
23b0: 20 61 20 62 69 6e 61 72 79 20 0a 20 20 20 20 20   a binary .     
23c0: 20 20 20 6f 6e 20 74 68 65 20 64 65 73 6b 74 6f     on the deskto
23d0: 70 20 66 72 61 6d 65 77 6f 72 6b 20 69 73 20 72  p framework is r
23e0: 65 64 75 6e 64 61 6e 74 20 61 73 20 77 65 6c 6c  edundant as well
23f0: 2e 26 6e 62 73 70 3b 20 54 68 65 20 64 65 73 6b  .&nbsp; The desk
2400: 74 6f 70 20 62 69 6e 61 72 79 20 6e 6f 77 20 0a  top binary now .
2410: 20 20 20 20 20 20 20 20 68 61 72 64 2d 6c 69 6e          hard-lin
2420: 6b 73 20 74 6f 20 4d 53 43 4f 52 45 45 2c 20 62  ks to MSCOREE, b
2430: 75 74 20 61 73 20 6f 66 20 57 69 6e 64 6f 77 73  ut as of Windows
2440: 20 58 50 2c 20 74 68 69 73 20 77 61 73 20 72 65   XP, this was re
2450: 64 75 6e 64 61 6e 74 20 61 73 20 77 65 6c 6c 20  dundant as well 
2460: 73 69 6e 63 65 20 58 50 20 0a 20 20 20 20 20 20  since XP .      
2470: 20 20 61 6e 64 20 62 65 79 6f 6e 64 20 61 75 74    and beyond aut
2480: 6f 6d 61 74 69 63 61 6c 6c 79 20 61 74 74 65 6d  omatically attem
2490: 70 74 20 74 6f 20 6c 6f 61 64 20 4d 53 43 4f 52  pt to load MSCOR
24a0: 45 45 20 6f 6e 20 73 74 61 72 74 75 70 20 77 68  EE on startup wh
24b0: 65 6e 20 61 20 44 4c 4c 20 68 61 73 20 61 20 0a  en a DLL has a .
24c0: 20 20 20 20 20 20 20 20 2e 4e 45 54 20 68 65 61          .NET hea
24d0: 64 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  der.</li>.      
24e0: 3c 6c 69 3e 4d 6f 72 65 20 69 6d 70 72 6f 76 65  <li>More improve
24f0: 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 74 65 73  ments to the tes
2500: 74 2e 65 78 65 20 70 72 6f 67 72 61 6d 20 66 6f  t.exe program fo
2510: 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 74 65  r running the te
2520: 73 74 73 20 61 67 61 69 6e 73 74 20 53 71 6c 20  sts against Sql 
2530: 0a 20 20 20 20 20 20 20 20 53 65 72 76 65 72 20  .        Server 
2540: 66 6f 72 20 63 6f 6d 70 61 72 69 73 6f 6e 20 70  for comparison p
2550: 75 72 70 6f 73 65 73 2e 3c 2f 6c 69 3e 0a 20 20  urposes.</li>.  
2560: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
2570: 62 3e 31 2e 30 2e 36 32 2e 30 20 2d 20 4a 75 6e  b>1.0.62.0 - Jun
2580: 65 20 31 39 2c 20 32 30 30 39 3c 2f 62 3e 3c 2f  e 19, 2009</b></
2590: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
25a0: 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65    <li>Code merge
25b0: 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 36   with SQLite 3.6
25c0: 2e 31 35 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  .15</li>.      <
25d0: 6c 69 3e 46 69 78 65 64 20 74 68 65 20 64 65 63  li>Fixed the dec
25e0: 69 6d 61 6c 20 72 65 61 64 69 6e 67 20 62 75 67  imal reading bug
25f0: 20 69 6e 20 74 68 65 20 53 51 4c 69 74 65 44 61   in the SQLiteDa
2600: 74 61 52 65 61 64 65 72 3c 2f 6c 69 3e 0a 20 20  taReader</li>.  
2610: 20 20 20 20 3c 6c 69 3e 43 68 61 6e 67 65 64 20      <li>Changed 
2620: 4a 6f 69 6e 28 29 26 23 33 39 3b 73 20 74 6f 20  Join()&#39;s to 
2630: 53 6c 65 65 70 28 29 26 23 33 39 3b 73 20 69 6e  Sleep()&#39;s in
2640: 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 72   the statement r
2650: 65 74 72 79 20 63 6f 64 65 20 74 6f 20 70 72 65  etry code to pre
2660: 76 65 6e 74 20 6d 65 73 73 61 67 65 20 0a 20 20  vent message .  
2670: 20 20 20 20 20 20 70 75 6d 70 69 6e 67 3c 2f 6c        pumping</l
2680: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
2690: 65 64 20 61 20 62 61 64 20 70 6f 69 6e 74 65 72  ed a bad pointer
26a0: 20 63 6f 6e 76 65 72 73 69 6f 6e 20 77 68 65 6e   conversion when
26b0: 20 72 65 74 72 69 65 76 69 6e 67 20 62 6c 6f 62   retrieving blob
26c0: 73 20 75 73 69 6e 67 20 47 65 74 42 79 74 65 73  s using GetBytes
26d0: 28 29 20 69 6e 20 0a 20 20 20 20 20 20 20 20 36  () in .        6
26e0: 34 2d 62 69 74 20 6c 61 6e 64 3c 2f 6c 69 3e 0a  4-bit land</li>.
26f0: 20 20 20 20 20 20 3c 6c 69 3e 53 65 76 65 72 61        <li>Severa
2700: 6c 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65  l changes to the
2710: 20 54 65 73 74 20 70 72 6f 67 72 61 6d 20 74 68   Test program th
2720: 61 74 20 63 6f 6d 65 73 20 77 69 74 68 20 74 68  at comes with th
2730: 65 20 70 72 6f 76 69 64 65 72 2e 26 6e 62 73 70  e provider.&nbsp
2740: 3b 20 54 65 73 74 73 20 0a 20 20 20 20 20 20 20  ; Tests .       
2750: 20 63 61 6e 20 6e 6f 77 20 62 65 20 69 6e 64 69   can now be indi
2760: 76 69 64 75 61 6c 6c 79 20 64 69 73 61 62 6c 65  vidually disable
2770: 64 2c 20 61 6e 64 20 74 68 65 20 74 65 73 74 20  d, and the test 
2780: 70 72 6f 67 72 61 6d 20 63 61 6e 20 72 75 6e 20  program can run 
2790: 61 67 61 69 6e 73 74 20 73 65 76 65 72 61 6c 20  against several 
27a0: 0a 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65  .        provide
27b0: 72 20 62 61 63 6b 2d 65 6e 64 73 3c 2f 6c 69 3e  r back-ends</li>
27c0: 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c  .    </ul>.    <
27d0: 70 3e 3c 62 3e 31 2e 30 2e 36 31 2e 30 20 2d 20  p><b>1.0.61.0 - 
27e0: 41 70 72 69 6c 20 32 38 2c 20 32 30 30 39 3c 2f  April 28, 2009</
27f0: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
2800: 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d        <li>Code m
2810: 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65  erge with SQLite
2820: 20 33 2e 36 2e 31 33 2e 20 20 54 68 65 20 6e 65   3.6.13.  The ne
2830: 77 20 62 61 63 6b 75 70 20 66 65 61 74 75 72 65  w backup feature
2840: 73 20 61 72 65 20 61 73 20 79 65 74 20 75 6e 69  s are as yet uni
2850: 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 74 68  mplemented in th
2860: 65 20 70 72 6f 76 69 64 65 72 2c 20 62 75 74 20  e provider, but 
2870: 77 69 6c 6c 20 62 65 20 66 6f 72 74 68 63 6f 6d  will be forthcom
2880: 69 6e 67 20 69 6e 20 61 20 73 75 62 73 65 71 75  ing in a subsequ
2890: 65 6e 74 20 72 65 6c 65 61 73 65 3c 2f 6c 69 3e  ent release</li>
28a0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
28b0: 20 74 68 65 20 64 65 66 61 75 6c 74 2d 76 61 6c   the default-val
28c0: 75 65 20 6c 6f 6f 6b 75 70 73 20 69 6e 20 53 51  ue lookups in SQ
28d0: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 53 74  LiteConnectionSt
28e0: 72 69 6e 67 42 75 69 6c 64 65 72 20 77 68 65 6e  ringBuilder when
28f0: 20 61 63 63 65 73 73 69 6e 67 20 70 72 6f 70 65   accessing prope
2900: 72 74 69 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20  rties</li>.     
2910: 20 3c 6c 69 3e 4c 6f 63 6b 20 74 68 65 20 53 51   <li>Lock the SQ
2920: 4c 69 74 65 54 72 61 6e 73 61 63 74 69 6f 6e 20  LiteTransaction 
2930: 6f 62 6a 65 63 74 20 64 75 72 69 6e 67 20 64 69  object during di
2940: 73 70 6f 73 65 20 74 6f 20 61 76 6f 69 64 20 70  spose to avoid p
2950: 6f 74 65 6e 74 69 61 6c 20 72 61 63 65 20 63 6f  otential race co
2960: 6e 64 69 74 69 6f 6e 20 64 75 72 69 6e 67 20 63  ndition during c
2970: 6c 65 61 6e 75 70 3c 2f 6c 69 3e 0a 20 20 20 20  leanup</li>.    
2980: 20 20 3c 6c 69 3e 46 69 78 65 64 20 53 51 4c 69    <li>Fixed SQLi
2990: 74 65 44 61 74 61 52 65 61 64 65 72 2e 47 65 74  teDataReader.Get
29a0: 44 65 63 69 6d 61 6c 28 29 20 70 72 6f 63 65 73  Decimal() proces
29b0: 73 69 6e 67 20 61 6e 64 20 70 61 72 73 69 6e 67  sing and parsing
29c0: 20 6f 66 20 64 65 63 69 6d 61 6c 20 76 61 6c 75   of decimal valu
29d0: 65 73 20 66 6f 72 20 63 61 73 65 73 20 77 68 65  es for cases whe
29e0: 6e 20 53 51 4c 69 74 65 20 72 65 74 75 72 6e 73  n SQLite returns
29f0: 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 22 31 2e   things like "1.
2a00: 30 65 2d 30 35 22 20 69 6e 73 74 65 61 64 20 6f  0e-05" instead o
2a10: 66 20 22 30 2e 30 30 30 31 22 3c 2f 6c 69 3e 0a  f "0.0001"</li>.
2a20: 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70      </ul>.    <p
2a30: 3e 3c 62 3e 31 2e 30 2e 36 30 2e 30 20 2d 20 4f  ><b>1.0.60.0 - O
2a40: 63 74 6f 62 65 72 20 33 2c 20 32 30 30 38 3c 2f  ctober 3, 2008</
2a50: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
2a60: 20 20 20 20 20 20 3c 6c 69 3e 54 68 72 6f 77 20        <li>Throw 
2a70: 61 20 4e 6f 74 53 75 70 70 6f 72 74 65 64 20 65  a NotSupported e
2a80: 78 63 65 70 74 69 6f 6e 20 69 6e 20 74 68 65 20  xception in the 
2a90: 45 46 20 53 71 6c 20 47 65 6e 20 63 6f 64 65 20  EF Sql Gen code 
2aa0: 69 6e 73 74 65 61 64 20 6f 66 20 70 61 72 73 69  instead of parsi
2ab0: 6e 67 20 0a 20 20 20 20 20 20 20 20 69 6c 6c 65  ng .        ille
2ac0: 67 61 6c 20 53 51 4c 20 64 75 72 69 6e 67 20 61  gal SQL during a
2ad0: 6e 20 75 70 64 61 74 65 2f 69 6e 73 65 72 74 2f  n update/insert/
2ae0: 64 65 6c 65 74 65 20 77 68 65 72 65 20 6e 6f 20  delete where no 
2af0: 70 72 69 6d 61 72 79 20 6b 65 79 20 69 73 20 64  primary key is d
2b00: 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20  efined.</li>.   
2b10: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65     <li>Fixed the
2b20: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
2b30: 72 6b 20 69 6e 74 65 72 6f 70 20 6c 69 62 72 61  rk interop libra
2b40: 72 79 2e 26 6e 62 73 70 3b 20 53 69 6e 63 65 20  ry.&nbsp; Since 
2b50: 74 68 65 20 6c 69 6e 6b 65 72 20 66 6c 61 67 20  the linker flag 
2b60: 0a 20 20 20 20 20 20 20 20 2f 73 75 62 73 79 73  .        /subsys
2b70: 74 65 6d 20 68 61 64 20 6e 6f 20 76 65 72 73 69  tem had no versi
2b80: 6f 6e 20 73 70 65 63 69 66 69 65 64 2c 20 69 74  on specified, it
2b90: 20 77 61 73 20 63 61 75 73 69 6e 67 20 61 20 70   was causing a p
2ba0: 72 6f 62 6c 65 6d 20 66 6f 72 20 6d 61 6e 79 20  roblem for many 
2bb0: 43 45 2d 62 61 73 65 64 20 0a 20 20 20 20 20 20  CE-based .      
2bc0: 20 20 70 6c 61 74 66 6f 72 6d 73 2e 3c 2f 6c 69    platforms.</li
2bd0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 49 6e 63 6f  >.      <li>Inco
2be0: 72 70 6f 72 61 74 65 64 20 53 51 4c 69 74 65 20  rporated SQLite 
2bf0: 70 61 74 63 68 20 66 6f 72 20 74 69 63 6b 65 74  patch for ticket
2c00: 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66  .        <a href
2c10: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c  ="http://www.sql
2c20: 69 74 65 2e 6f 72 67 2f 63 76 73 74 72 61 63 2f  ite.org/cvstrac/
2c30: 74 6b 74 76 69 65 77 3f 74 6e 3d 33 33 38 37 22  tktview?tn=3387"
2c40: 3e 23 33 33 38 37 3c 2f 61 3e 20 61 6e 64 20 72  >#3387</a> and r
2c50: 65 76 65 72 74 65 64 20 0a 20 20 20 20 20 20 20  everted .       
2c60: 20 6f 75 74 20 74 68 65 20 76 66 73 20 6f 76 65   out the vfs ove
2c70: 72 72 69 64 65 20 63 6f 64 65 20 49 20 61 64 64  rride code I add
2c80: 65 64 20 69 6e 20 62 75 69 6c 64 20 35 39 20 74  ed in build 59 t
2c90: 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 74 68  o work around th
2ca0: 69 73 20 70 72 6f 62 6c 65 6d 2e 3c 2f 6c 69 3e  is problem.</li>
2cb0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
2cc0: 20 61 20 64 65 73 69 67 6e 65 72 20 69 73 73 75   a designer issu
2cd0: 65 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 20  e when creating 
2ce0: 61 20 6e 65 77 20 74 61 62 6c 65 20 66 72 6f 6d  a new table from
2cf0: 20 74 68 65 20 53 65 72 76 65 72 20 45 78 70 6c   the Server Expl
2d00: 6f 72 65 72 2e 26 6e 62 73 70 3b 20 0a 20 20 20  orer.&nbsp; .   
2d10: 20 20 20 20 20 41 66 74 65 72 20 69 6e 69 74 69       After initi
2d20: 61 6c 6c 79 20 73 61 76 69 6e 67 20 69 74 2c 20  ally saving it, 
2d30: 69 66 20 79 6f 75 20 74 68 65 6e 20 63 6f 6e 74  if you then cont
2d40: 69 6e 75 65 64 20 74 6f 20 65 64 69 74 20 69 74  inued to edit it
2d50: 20 61 6e 64 20 74 72 69 65 64 20 74 6f 20 73 61   and tried to sa
2d60: 76 65 20 69 74 20 0a 20 20 20 20 20 20 20 20 61  ve it .        a
2d70: 67 61 69 6e 2c 20 69 74 20 77 6f 75 6c 64 20 67  gain, it would g
2d80: 65 6e 65 72 61 74 65 20 74 68 65 20 63 68 61 6e  enerate the chan
2d90: 67 65 20 53 51 4c 20 75 73 69 6e 67 20 74 68 65  ge SQL using the
2da0: 20 6f 6c 64 20 74 65 6d 70 6f 72 61 72 79 20 74   old temporary t
2db0: 61 62 6c 65 20 6e 61 6d 65 20 0a 20 20 20 20 20  able name .     
2dc0: 20 20 20 72 61 74 68 65 72 20 74 68 61 6e 20 74     rather than t
2dd0: 68 65 20 6e 65 77 20 6e 61 6d 65 2e 3c 2f 6c 69  he new name.</li
2de0: 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20  >.    </ul>.    
2df0: 3c 70 3e 3c 62 3e 31 2e 30 2e 35 39 2e 30 20 2d  <p><b>1.0.59.0 -
2e00: 20 53 65 70 74 65 6d 62 65 72 20 32 32 2c 20 32   September 22, 2
2e10: 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  008</b></p>.    
2e20: 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 43  <ul>.      <li>C
2e30: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
2e40: 51 4c 69 74 65 20 33 2e 36 2e 33 2e 26 6e 62 73  QLite 3.6.3.&nbs
2e50: 70 3b 20 53 6f 6c 76 65 73 20 0a 20 20 20 20 20  p; Solves .     
2e60: 20 20 20 61 20 63 6f 75 70 6c 65 20 64 69 66 66     a couple diff
2e70: 65 72 65 6e 74 20 45 46 20 69 73 73 75 65 73 20  erent EF issues 
2e80: 74 68 61 74 20 77 65 72 65 20 65 69 74 68 65 72  that were either
2e90: 20 67 69 76 69 6e 67 20 69 6e 63 6f 6e 73 69 73   giving inconsis
2ea0: 74 65 6e 74 20 72 65 73 75 6c 74 73 20 6f 72 20  tent results or 
2eb0: 0a 20 20 20 20 20 20 20 20 63 72 61 73 68 69 6e  .        crashin
2ec0: 67 20 74 68 65 20 65 6e 67 69 6e 65 2e 3c 2f 6c  g the engine.</l
2ed0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
2ee0: 65 64 20 74 68 65 20 70 61 72 73 69 6e 67 20 6f  ed the parsing o
2ef0: 66 20 6c 69 74 65 72 61 6c 20 62 69 6e 61 72 69  f literal binari
2f00: 65 73 20 69 6e 20 74 68 65 20 45 46 20 53 71 6c  es in the EF Sql
2f10: 47 65 6e 20 63 6f 64 65 2e 26 6e 62 73 70 3b 20  Gen code.&nbsp; 
2f20: 53 51 4c 69 74 65 20 6e 6f 77 20 0a 20 20 20 20  SQLite now .    
2f30: 20 20 20 20 70 61 73 73 65 73 20 6e 65 61 72 6c      passes nearl
2f40: 79 20 61 6c 6c 20 74 68 65 20 74 65 73 74 63 61  y all the testca
2f50: 73 65 73 20 69 6e 20 0a 20 20 20 20 20 20 20 20  ses in .        
2f60: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f  <a href="http://
2f70: 73 71 6c 69 74 65 2e 70 68 78 73 6f 66 74 77 61  sqlite.phxsoftwa
2f80: 72 65 2e 63 6f 6d 2f 66 6f 72 75 6d 73 2f 70 2f  re.com/forums/p/
2f90: 31 33 37 37 2f 35 39 32 31 2e 61 73 70 78 23 35  1377/5921.aspx#5
2fa0: 39 32 31 22 3e 4d 69 63 72 6f 73 6f 66 74 27 73  921">Microsoft's
2fb0: 20 45 46 20 51 75 65 72 79 20 53 61 6d 70 6c 65   EF Query Sample
2fc0: 73 3c 2f 61 3e 20 61 70 70 6c 69 63 61 74 69 6f  s</a> applicatio
2fd0: 6e 20 2d 2d 20 0a 20 20 20 20 20 20 20 20 74 68  n -- .        th
2fe0: 65 20 65 78 63 65 70 74 69 6f 6e 20 62 65 69 6e  e exception bein
2ff0: 67 20 74 68 65 20 3c 69 3e 64 61 74 65 74 69 6d  g the <i>datetim
3000: 65 6f 66 66 73 65 74 20 3c 2f 69 3e 61 6e 64 3c  eoffset </i>and<
3010: 69 3e 20 74 69 6d 65 3c 2f 69 3e 20 63 6f 6e 73  i> time</i> cons
3020: 74 61 6e 74 73 20 74 65 73 74 73 2c 20 61 6e 64  tants tests, and
3030: 20 74 65 73 74 73 20 0a 20 20 20 20 20 20 20 20   tests .        
3040: 74 68 61 74 20 75 73 65 20 74 68 65 20 3c 69 3e  that use the <i>
3050: 41 50 50 4c 59 20 3c 2f 69 3e 6b 65 79 77 6f 72  APPLY </i>keywor
3060: 64 20 77 68 69 63 68 20 61 72 65 20 75 6e 73 75  d which are unsu
3070: 70 70 6f 72 74 65 64 20 66 6f 72 20 6e 6f 77 2e  pported for now.
3080: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
3090: 52 65 76 61 6d 70 65 64 20 74 68 65 20 43 6f 6d  Revamped the Com
30a0: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 20 6d  pact Framework m
30b0: 69 78 65 64 2d 6d 6f 64 65 20 61 73 73 65 6d 62  ixed-mode assemb
30c0: 6c 79 2e 26 6e 62 73 70 3b 20 54 69 72 65 64 20  ly.&nbsp; Tired 
30d0: 6f 66 20 70 6c 61 79 69 6e 67 20 63 61 74 20 0a  of playing cat .
30e0: 20 20 20 20 20 20 20 20 61 6e 64 20 6d 6f 75 73          and mous
30f0: 65 20 77 69 74 68 20 74 68 65 20 43 6f 6d 70 61  e with the Compa
3100: 63 74 20 46 72 61 6d 65 77 6f 72 6b 26 23 33 39  ct Framework&#39
3110: 3b 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 6d  ;s support for m
3120: 69 78 65 64 2d 6d 6f 64 65 20 61 73 73 65 6d 62  ixed-mode assemb
3130: 6c 69 65 73 2e 26 6e 62 73 70 3b 20 0a 20 20 20  lies.&nbsp; .   
3140: 20 20 20 20 20 54 68 65 20 43 46 20 62 75 69 6c       The CF buil
3150: 64 20 6e 6f 77 20 72 65 71 75 69 72 65 73 20 74  d now requires t
3160: 68 61 74 20 79 6f 75 20 64 69 73 74 72 69 62 75  hat you distribu
3170: 74 65 20 62 6f 74 68 20 74 68 65 20 53 79 73 74  te both the Syst
3180: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 0a  em.Data.SQLite .
3190: 20 20 20 20 20 20 20 20 6c 69 62 72 61 72 79 20          library 
31a0: 61 6e 64 20 74 68 65 20 70 61 69 72 65 64 20 53  and the paired S
31b0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 58 58  QLite.Interop.XX
31c0: 58 20 6c 69 62 72 61 72 79 2e 26 6e 62 73 70 3b  X library.&nbsp;
31d0: 26 6e 62 73 70 3b 20 54 68 65 20 58 58 58 20 64  &nbsp; The XXX d
31e0: 65 6e 6f 74 65 73 20 0a 20 20 20 20 20 20 20 20  enotes .        
31f0: 74 68 65 20 62 75 69 6c 64 20 6e 75 6d 62 65 72  the build number
3200: 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 2e   of the library.
3210: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
3220: 49 6d 70 6c 65 6d 65 6e 74 65 64 20 61 20 77 6f  Implemented a wo
3230: 72 6b 61 72 6f 75 6e 64 20 66 6f 72 20 56 69 73  rkaround for Vis
3240: 74 61 26 23 33 39 3b 73 20 6f 76 65 72 7a 65 61  ta&#39;s overzea
3250: 6c 6f 75 73 20 63 61 63 68 69 6e 67 20 62 79 20  lous caching by 
3260: 74 75 72 6e 69 6e 67 20 6f 66 66 20 0a 20 20 20  turning off .   
3270: 20 20 20 20 20 46 49 4c 45 5f 46 4c 41 47 5f 52       FILE_FLAG_R
3280: 41 4e 44 4f 4d 5f 41 43 43 45 53 53 20 66 6f 72  ANDOM_ACCESS for
3290: 20 4f 53 20 76 65 72 73 69 6f 6e 73 20 61 62 6f   OS versions abo
32a0: 76 65 20 58 50 2e 26 6e 62 73 70 3b 20 54 68 69  ve XP.&nbsp; Thi
32b0: 73 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64  s is implemented
32c0: 20 0a 20 20 20 20 20 20 20 20 61 73 20 61 20 63   .        as a c
32d0: 75 73 74 6f 6d 20 28 64 65 66 61 75 6c 74 20 6f  ustom (default o
32e0: 76 65 72 72 69 64 65 29 20 56 46 53 20 69 6e 20  verride) VFS in 
32f0: 74 68 65 20 69 6e 74 65 72 6f 70 2e 63 20 66 69  the interop.c fi
3300: 6c 65 2c 20 73 6f 20 6e 6f 20 63 68 61 6e 67 65  le, so no change
3310: 73 20 61 72 65 20 6d 61 64 65 20 0a 20 20 20 20  s are made .    
3320: 20 20 20 20 74 6f 20 74 68 65 20 53 51 4c 69 74      to the SQLit
3330: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 3c 2f  e source code.</
3340: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
3350: 78 65 64 20 73 6f 6d 65 20 72 65 67 69 73 74 72  xed some registr
3360: 79 20 69 73 73 75 65 73 20 69 6e 20 74 68 65 20  y issues in the 
3370: 64 65 73 69 67 6e 65 72 20 69 6e 73 74 61 6c 6c  designer install
3380: 2e 65 78 65 2c 20 77 68 69 63 68 20 70 72 65 76  .exe, which prev
3390: 65 6e 74 65 64 20 73 6f 6d 65 20 0a 20 20 20 20  ented some .    
33a0: 20 20 20 20 64 65 73 69 67 6e 2d 74 69 6d 65 20      design-time 
33b0: 73 74 75 66 66 20 66 72 6f 6d 20 77 6f 72 6b 69  stuff from worki
33c0: 6e 67 20 6f 6e 20 74 68 65 20 43 6f 6d 70 61 63  ng on the Compac
33d0: 74 20 46 72 61 6d 65 77 6f 72 6b 20 77 68 65 6e  t Framework when
33e0: 20 2e 4e 45 54 20 33 2e 35 20 77 61 73 20 0a 20   .NET 3.5 was . 
33f0: 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64         installed
3400: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e  .</li>.    </ul>
3410: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 35  .    <p><b>1.0.5
3420: 38 2e 30 20 2d 20 41 75 67 75 73 74 20 33 30 2c  8.0 - August 30,
3430: 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2008</b></p>.  
3440: 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69    <ul>.      <li
3450: 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68  >Code merge with
3460: 20 53 51 4c 69 74 65 20 33 2e 36 2e 32 2e 26 6e   SQLite 3.6.2.&n
3470: 62 73 70 3b 20 49 66 20 6f 6e 6c 79 20 49 26 23  bsp; If only I&#
3480: 33 39 3b 64 20 77 61 69 74 65 64 20 6f 6e 65 20  39;d waited one 
3490: 6d 6f 72 65 20 64 61 79 20 74 6f 20 72 65 6c 65  more day to rele
34a0: 61 73 65 20 0a 20 20 20 20 20 20 20 20 35 37 21  ase .        57!
34b0: 26 6e 62 73 70 3b 20 53 65 76 65 72 61 6c 20 4c  &nbsp; Several L
34c0: 49 4e 51 20 69 73 73 75 65 73 20 68 61 76 65 20  INQ issues have 
34d0: 62 65 65 6e 20 72 65 73 6f 6c 76 65 64 20 77 69  been resolved wi
34e0: 74 68 20 74 68 69 73 20 65 6e 67 69 6e 65 20 72  th this engine r
34f0: 65 6c 65 61 73 65 20 0a 20 20 20 20 20 20 20 20  elease .        
3500: 72 65 6c 61 74 69 6e 67 20 74 6f 20 64 65 65 70  relating to deep
3510: 6c 79 2d 6e 65 73 74 65 64 20 73 75 62 71 75 65  ly-nested subque
3520: 72 69 65 73 20 74 68 61 74 20 74 68 65 20 45 46  ries that the EF
3530: 20 53 71 6c 47 65 6e 20 63 72 65 61 74 65 73 2e   SqlGen creates.
3540: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
3550: 54 68 65 20 52 6f 6c 6c 62 61 63 6b 20 53 51 4c  The Rollback SQL
3560: 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 65 76  iteConnection ev
3570: 65 6e 74 20 6e 6f 20 6c 6f 6e 67 65 72 20 72 65  ent no longer re
3580: 71 75 69 72 65 73 20 61 6e 20 6f 70 65 6e 20 63  quires an open c
3590: 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 0a 20 20  onnection in .  
35a0: 20 20 20 20 20 20 6f 72 64 65 72 20 74 6f 20 73        order to s
35b0: 75 62 73 63 72 69 62 65 20 74 6f 20 69 74 2e 26  ubscribe to it.&
35c0: 6e 62 73 70 3b 20 4d 69 73 73 65 64 20 74 68 69  nbsp; Missed thi
35d0: 73 20 6f 6e 65 20 69 6e 20 74 68 65 20 35 37 20  s one in the 57 
35e0: 72 65 6c 65 61 73 65 2e 3c 2f 6c 69 3e 0a 20 20  release.</li>.  
35f0: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
3600: 62 3e 31 2e 30 2e 35 37 2e 30 20 2d 20 41 75 67  b>1.0.57.0 - Aug
3610: 75 73 74 20 32 39 2c 20 32 30 30 38 3c 2f 62 3e  ust 29, 2008</b>
3620: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
3630: 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 69 6c 65 64      <li>Compiled
3640: 20 61 67 61 69 6e 73 74 20 33 2e 36 2e 31 20 77   against 3.6.1 w
3650: 69 74 68 20 63 68 65 63 6b 69 6e 0a 20 20 20 20  ith checkin.    
3660: 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74      <a href="htt
3670: 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f  p://www.sqlite.o
3680: 72 67 2f 63 76 73 74 72 61 63 2f 74 6b 74 76 69  rg/cvstrac/tktvi
3690: 65 77 3f 74 6e 3d 33 33 30 30 22 3e 23 33 33 30  ew?tn=3300">#330
36a0: 30 3c 2f 61 3e 20 72 65 73 6f 6c 76 65 64 2c 20  0</a> resolved, 
36b0: 0a 20 20 20 20 20 20 20 20 77 68 69 63 68 20 66  .        which f
36c0: 69 78 65 73 20 61 6e 20 45 6e 74 69 74 79 20 46  ixes an Entity F
36d0: 72 61 6d 65 77 6f 72 6b 20 62 75 67 20 49 20 77  ramework bug I w
36e0: 61 73 20 73 65 65 69 6e 67 2e 26 6e 62 73 70 3b  as seeing.&nbsp;
36f0: 20 49 20 63 75 72 72 65 6e 74 6c 79 20 68 61 76   I currently hav
3700: 65 20 33 20 6f 74 68 65 72 20 0a 20 20 20 20 20  e 3 other .     
3710: 20 20 20 74 69 63 6b 65 74 73 20 6f 75 74 20 6f     tickets out o
3720: 6e 20 74 68 65 20 65 6e 67 69 6e 65 2c 20 77 68  n the engine, wh
3730: 69 63 68 20 61 72 65 20 6e 6f 74 20 79 65 74 20  ich are not yet 
3740: 72 65 73 6f 6c 76 65 64 20 61 6e 64 20 72 65 6c  resolved and rel
3750: 61 74 65 20 74 6f 20 45 46 2e 3c 2f 6c 69 3e 0a  ate to EF.</li>.
3760: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
3770: 64 65 63 69 6d 61 6c 20 74 79 70 65 73 20 74 6f  decimal types to
3780: 20 73 74 6f 72 65 20 61 6e 64 20 66 65 74 63 68   store and fetch
3790: 20 75 73 69 6e 67 20 49 6e 76 61 72 69 61 6e 74   using Invariant
37a0: 43 75 6c 74 75 72 65 2e 26 6e 62 73 70 3b 20 49  Culture.&nbsp; I
37b0: 66 20 79 6f 75 26 23 33 39 3b 72 65 20 0a 20 20  f you&#39;re .  
37c0: 20 20 20 20 20 20 75 73 69 6e 67 20 64 65 63 69        using deci
37d0: 6d 61 6c 20 64 61 74 61 74 79 70 65 73 20 69 6e  mal datatypes in
37e0: 20 79 6f 75 72 20 64 61 74 61 62 61 73 65 20 61   your database a
37f0: 6e 64 20 77 65 72 65 20 61 66 66 65 63 74 65 64  nd were affected
3800: 20 62 79 20 74 68 65 20 35 36 20 72 65 6c 65 61   by the 56 relea
3810: 73 65 2c 20 0a 20 20 20 20 20 20 20 20 70 6c 65  se, .        ple
3820: 61 73 65 20 69 73 73 75 65 20 61 6e 20 55 50 44  ase issue an UPD
3830: 41 54 45 20 26 6c 74 3b 74 61 62 6c 65 26 67 74  ATE &lt;table&gt
3840: 3b 20 53 45 54 20 26 6c 74 3b 63 6f 6c 75 6d 6e  ; SET &lt;column
3850: 26 67 74 3b 20 3d 20 52 45 50 4c 41 43 45 28 26  &gt; = REPLACE(&
3860: 6c 74 3b 63 6f 6c 75 6d 6e 26 67 74 3b 2c 20 26  lt;column&gt;, &
3870: 23 33 39 3b 2c 26 23 33 39 3b 2c 20 26 23 33 39  #39;,&#39;, &#39
3880: 3b 2e 26 23 33 39 3b 29 3b 26 6e 62 73 70 3b 20  ;.&#39;);&nbsp; 
3890: 0a 20 20 20 20 20 20 20 20 74 6f 20 66 69 78 20  .        to fix 
38a0: 74 68 65 20 64 65 63 69 6d 61 6c 20 73 65 70 61  the decimal sepa
38b0: 72 61 74 6f 72 73 2e 26 6e 62 73 70 3b 20 41 70  rators.&nbsp; Ap
38c0: 6f 6c 6f 67 69 65 73 20 66 6f 72 20 6e 6f 74 20  ologies for not 
38d0: 74 65 73 74 69 6e 67 20 74 68 61 74 20 6d 6f 72  testing that mor
38e0: 65 20 0a 20 20 20 20 20 20 20 20 74 68 6f 72 6f  e .        thoro
38f0: 75 67 68 6c 79 20 62 65 66 6f 72 65 20 72 65 6c  ughly before rel
3900: 65 61 73 69 6e 67 20 35 36 2e 3c 2f 6c 69 3e 0a  easing 56.</li>.
3910: 20 20 20 20 20 20 3c 6c 69 3e 54 6f 6f 20 6d 61        <li>Too ma
3920: 6e 79 20 4c 49 4e 51 20 66 69 78 65 73 20 74 6f  ny LINQ fixes to
3930: 20 6c 69 73 74 2e 26 6e 62 73 70 3b 20 46 69 78   list.&nbsp; Fix
3940: 65 64 20 76 69 65 77 73 20 73 6f 20 74 68 65 79  ed views so they
3950: 20 67 65 6e 65 72 61 74 65 2c 20 0a 20 20 20 20   generate, .    
3960: 20 20 20 20 66 69 78 65 64 20 74 68 65 20 4c 49      fixed the LI
3970: 4d 49 54 20 63 6c 61 75 73 65 2c 20 69 6d 70 6c  MIT clause, impl
3980: 65 6d 65 6e 74 65 64 20 61 64 64 69 74 69 6f 6e  emented addition
3990: 61 6c 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  al functionality
39a0: 20 61 6e 64 20 72 65 6d 6f 76 65 64 20 75 6e 6e   and removed unn
39b0: 65 63 65 73 73 61 72 79 20 63 6f 64 65 2e 3c 2f  ecessary code.</
39c0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
39d0: 78 65 64 20 66 6f 72 65 69 67 6e 20 6b 65 79 20  xed foreign key 
39e0: 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 64 65 73  names in the des
39f0: 69 67 6e 65 72 20 73 6f 20 76 69 65 77 69 6e 67  igner so viewing
3a00: 20 74 68 65 20 53 51 4c 20 73 63 72 69 70 74 20   the SQL script 
3a10: 6f 6e 20 61 20 6e 65 77 20 0a 20 20 20 20 20 20  on a new .      
3a20: 20 20 75 6e 73 61 76 65 64 20 74 61 62 6c 65 20    unsaved table 
3a30: 61 66 74 65 72 20 72 65 6e 61 6d 69 6e 67 20 69  after renaming i
3a40: 74 20 69 6e 20 74 68 65 20 70 72 6f 70 65 72 74  t in the propert
3a50: 69 65 73 20 74 6f 6f 6c 77 69 6e 64 6f 77 20 77  ies toolwindow w
3a60: 69 6c 6c 20 72 65 66 6c 65 63 74 20 69 6e 20 74  ill reflect in t
3a70: 68 65 20 0a 20 20 20 20 20 20 20 20 73 63 72 69  he .        scri
3a80: 70 74 20 70 72 6f 70 65 72 6c 79 2e 3c 2f 6c 69  pt properly.</li
3a90: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  >.      <li>Fixe
3aa0: 64 20 74 68 65 20 55 70 64 61 74 65 20 61 6e 64  d the Update and
3ab0: 20 43 6f 6d 6d 69 74 20 65 76 65 6e 74 73 20 6f   Commit events o
3ac0: 6e 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69  n SQLiteConnecti
3ad0: 6f 6e 20 73 6f 20 74 68 65 79 20 64 6f 6e 26 23  on so they don&#
3ae0: 33 39 3b 74 20 72 65 71 75 69 72 65 20 0a 20 20  39;t require .  
3af0: 20 20 20 20 20 20 74 68 65 20 63 6f 6e 6e 65 63        the connec
3b00: 74 69 6f 6e 20 74 6f 20 62 65 20 6f 70 65 6e 65  tion to be opene
3b10: 64 20 66 69 72 73 74 2e 3c 2f 6c 69 3e 0a 20 20  d first.</li>.  
3b20: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 75 73      <li>Fixed us
3b30: 65 72 64 65 66 20 61 67 67 72 65 67 61 74 65 20  erdef aggregate 
3b40: 66 75 6e 63 74 69 6f 6e 73 20 73 6f 20 74 68 65  functions so the
3b50: 79 20 70 6c 61 79 20 6e 69 63 65 20 77 69 74 68  y play nice with
3b60: 20 65 61 63 68 20 6f 74 68 65 72 20 77 68 65 6e   each other when
3b70: 20 0a 20 20 20 20 20 20 20 20 61 70 70 65 61 72   .        appear
3b80: 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d  ing multiple tim
3b90: 65 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73  es in the same s
3ba0: 74 61 74 65 6d 65 6e 74 2e 3c 2f 6c 69 3e 0a 20  tatement.</li>. 
3bb0: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74       <li>Fixed t
3bc0: 68 65 20 65 64 69 74 69 6e 67 20 61 6e 64 20 73  he editing and s
3bd0: 61 76 69 6e 67 20 6f 66 20 64 65 66 61 75 6c 74  aving of default
3be0: 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 74   values in the t
3bf0: 61 62 6c 65 20 64 65 73 69 67 6e 65 72 2e 3c 2f  able designer.</
3c00: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
3c10: 78 65 64 20 46 6f 72 65 69 67 6e 4b 65 79 73 20  xed ForeignKeys 
3c20: 73 63 68 65 6d 61 20 74 6f 20 73 75 70 70 6f 72  schema to suppor
3c30: 74 20 6d 75 6c 74 69 2d 63 6f 6c 75 6d 6e 20 66  t multi-column f
3c40: 6f 72 65 69 67 6e 20 6b 65 79 73 2e 26 6e 62 73  oreign keys.&nbs
3c50: 70 3b 20 41 6c 73 6f 20 0a 20 20 20 20 20 20 20  p; Also .       
3c60: 20 68 61 63 6b 65 64 20 73 75 70 70 6f 72 74 20   hacked support 
3c70: 66 6f 72 20 74 68 65 6d 20 69 6e 20 74 68 65 20  for them in the 
3c80: 74 61 62 6c 65 20 64 65 73 69 67 6e 65 72 2c 20  table designer, 
3c90: 70 72 6f 76 69 64 65 64 20 74 77 6f 20 66 6f 72  provided two for
3ca0: 65 69 67 6e 20 6b 65 79 73 20 69 6e 20 74 68 65  eign keys in the
3cb0: 20 0a 20 20 20 20 20 20 20 20 64 65 73 69 67 6e   .        design
3cc0: 65 72 20 68 61 76 65 20 74 68 65 20 73 61 6d 65  er have the same
3cd0: 20 6e 61 6d 65 20 61 6e 64 20 72 65 66 65 72 65   name and refere
3ce0: 6e 63 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72  nce the same for
3cf0: 65 69 67 6e 20 74 61 62 6c 65 20 61 6e 64 20 64  eign table and d
3d00: 69 66 66 65 72 65 6e 74 20 0a 20 20 20 20 20 20  ifferent .      
3d10: 20 20 63 6f 6c 75 6d 6e 73 2e 26 6e 62 73 70 3b    columns.&nbsp;
3d20: 20 57 69 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 20   Will implement 
3d30: 66 69 72 73 74 2d 63 6c 61 73 73 20 73 75 70 70  first-class supp
3d40: 6f 72 74 20 66 6f 72 20 74 68 69 73 20 69 6e 20  ort for this in 
3d50: 74 68 65 20 6e 65 78 74 20 72 65 6c 65 61 73 65  the next release
3d60: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e  .</li>.    </ul>
3d70: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 35  .    <p><b>1.0.5
3d80: 36 2e 30 20 2d 20 41 75 67 75 73 74 20 31 31 2c  6.0 - August 11,
3d90: 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2008</b></p>.  
3da0: 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69    <ul>.      <li
3db0: 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20  >Fixed a bug in 
3dc0: 74 68 65 20 74 61 62 6c 65 20 64 65 73 69 67 6e  the table design
3dd0: 65 72 20 77 68 65 6e 20 64 65 73 69 67 6e 69 6e  er when designin
3de0: 67 20 6e 65 77 20 74 61 62 6c 65 73 2c 20 77 68  g new tables, wh
3df0: 65 72 65 69 6e 20 79 6f 75 20 68 61 64 20 74 6f  erein you had to
3e00: 20 0a 20 20 20 20 20 20 20 20 73 61 76 65 20 74   .        save t
3e10: 68 65 20 74 61 62 6c 65 20 66 69 72 73 74 20 62  he table first b
3e20: 65 66 6f 72 65 20 62 65 69 6e 67 20 61 62 6c 65  efore being able
3e30: 20 74 6f 20 63 72 65 61 74 65 20 69 6e 64 65 78   to create index
3e40: 65 73 20 61 6e 64 20 66 6f 72 65 69 67 6e 20 6b  es and foreign k
3e50: 65 79 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  eys.</li>.      
3e60: 3c 6c 69 3e 54 77 65 61 6b 73 20 74 6f 20 64 65  <li>Tweaks to de
3e70: 63 69 6d 61 6c 20 74 79 70 65 20 68 61 6e 64 6c  cimal type handl
3e80: 69 6e 67 2e 26 6e 62 73 70 3b 20 54 68 65 20 26  ing.&nbsp; The &
3e90: 23 33 39 3b 64 65 63 69 6d 61 6c 26 23 33 39 3b  #39;decimal&#39;
3ea0: 20 74 79 70 65 20 63 61 6e 26 23 33 39 3b 74 20   type can&#39;t 
3eb0: 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 0a  be represented .
3ec0: 20 20 20 20 20 20 20 20 62 79 20 49 6e 74 36 34          by Int64
3ed0: 20 6f 72 20 44 6f 75 62 6c 65 20 28 77 69 74 68   or Double (with
3ee0: 6f 75 74 20 6c 6f 73 73 20 6f 66 20 70 72 65 63  out loss of prec
3ef0: 69 73 69 6f 6e 29 20 69 6e 20 53 51 4c 69 74 65  ision) in SQLite
3f00: 2c 20 73 6f 20 77 65 20 68 61 76 65 20 74 6f 20  , so we have to 
3f10: 66 75 64 67 65 20 69 74 20 0a 20 20 20 20 20 20  fudge it .      
3f20: 20 20 62 79 20 74 72 65 61 74 69 6e 67 20 69 74    by treating it
3f30: 20 6c 69 6b 65 20 61 20 73 74 72 69 6e 67 20 61   like a string a
3f40: 6e 64 20 63 6f 6e 76 65 72 74 69 6e 67 20 69 74  nd converting it
3f50: 20 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 68 20   back and forth 
3f60: 69 6e 20 74 68 65 20 70 72 6f 76 69 64 65 72 2e  in the provider.
3f70: 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20 20 20  &nbsp; .        
3f80: 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 62 61  Unfortunately ba
3f90: 63 6b 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20  cking it to the 
3fa0: 64 62 20 61 73 20 61 20 73 74 72 69 6e 67 20 63  db as a string c
3fb0: 61 75 73 65 73 20 73 6f 72 74 69 6e 67 20 70 72  auses sorting pr
3fc0: 6f 62 6c 65 6d 73 2e 26 6e 62 73 70 3b 20 0a 20  oblems.&nbsp; . 
3fd0: 20 20 20 20 20 20 20 53 65 65 20 3c 61 20 68 72         See <a hr
3fe0: 65 66 3d 22 68 74 74 70 3a 2f 2f 73 71 6c 69 74  ef="http://sqlit
3ff0: 65 2e 70 68 78 73 6f 66 74 77 61 72 65 2e 63 6f  e.phxsoftware.co
4000: 6d 2f 66 6f 72 75 6d 73 2f 70 2f 31 32 39 36 2f  m/forums/p/1296/
4010: 35 35 39 35 2e 61 73 70 78 23 35 35 39 35 22 3e  5595.aspx#5595">
4020: 74 68 69 73 20 0a 20 20 20 20 20 20 20 20 70 6f  this .        po
4030: 73 74 3c 2f 61 3e 20 0a 20 20 20 20 20 20 20 20  st</a> .        
4040: 66 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 75  for details on u
4050: 73 69 6e 67 20 61 20 63 75 73 74 6f 6d 20 63 6f  sing a custom co
4060: 6c 6c 61 74 69 6f 6e 20 73 65 71 75 65 6e 63 65  llation sequence
4070: 20 74 6f 20 6f 76 65 72 63 6f 6d 65 20 74 68 65   to overcome the
4080: 20 73 6f 72 74 69 6e 67 20 69 73 73 75 65 20 61   sorting issue a
4090: 72 69 73 69 6e 67 20 66 72 6f 6d 20 74 68 69 73  rising from this
40a0: 20 70 61 74 63 68 2e 3c 2f 6c 69 3e 0a 20 20 20   patch.</li>.   
40b0: 20 20 20 3c 6c 69 3e 4d 69 6e 6f 72 20 74 77 65     <li>Minor twe
40c0: 61 6b 73 20 61 6e 64 20 62 75 67 66 69 78 65 73  aks and bugfixes
40d0: 20 74 6f 20 74 68 65 20 74 65 73 74 20 70 72 6f   to the test pro
40e0: 67 72 61 6d 20 61 6e 64 20 74 68 65 20 70 72 6f  gram and the pro
40f0: 76 69 64 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20  vider.</li>.    
4100: 20 20 3c 6c 69 3e 4d 6f 72 65 20 61 64 6a 75 73    <li>More adjus
4110: 74 6d 65 6e 74 73 20 74 6f 20 6d 61 6b 65 20 74  tments to make t
4120: 68 65 20 6d 61 6e 61 67 65 64 2d 6f 6e 6c 79 20  he managed-only 
4130: 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 70  version of the p
4140: 72 6f 76 69 64 65 72 20 72 75 6e 20 61 6e 64 20  rovider run and 
4150: 70 61 73 73 20 0a 20 20 20 20 20 20 20 20 61 6c  pass .        al
4160: 6c 20 74 65 73 74 73 20 6f 6e 20 4d 6f 6e 6f 2e  l tests on Mono.
4170: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
4180: 4c 49 4e 51 20 74 6f 20 45 6e 74 69 74 69 65 73  LINQ to Entities
4190: 20 62 69 74 73 20 68 65 61 76 69 6c 79 20 75 70   bits heavily up
41a0: 64 61 74 65 64 20 61 6e 64 20 63 6f 6d 70 69 6c  dated and compil
41b0: 65 64 20 61 67 61 69 6e 73 74 20 56 53 32 30 30  ed against VS200
41c0: 38 20 53 50 31 20 52 54 4d 2e 26 6e 62 73 70 3b  8 SP1 RTM.&nbsp;
41d0: 20 53 51 4c 69 74 65 20 0a 20 20 20 20 20 20 20   SQLite .       
41e0: 20 4c 49 4e 51 20 73 75 70 70 6f 72 74 20 69 73   LINQ support is
41f0: 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65   still considere
4200: 64 20 62 65 74 61 2e 3c 2f 6c 69 3e 0a 20 20 20  d beta.</li>.   
4210: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
4220: 3e 31 2e 30 2e 35 35 2e 30 20 2d 20 41 75 67 75  >1.0.55.0 - Augu
4230: 73 74 20 36 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f  st 6, 2008</b></
4240: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
4250: 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65    <li>Code merge
4260: 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 36   with SQLite 3.6
4270: 2e 31 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  .1</li>.      <l
4280: 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20  i>Added support 
4290: 66 6f 72 20 74 68 65 20 75 73 65 72 2d 63 6f 6e  for the user-con
42a0: 74 72 69 62 75 74 65 64 20 65 78 74 65 6e 73 69  tributed extensi
42b0: 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73 20 61 74 0a  on-functions at.
42c0: 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d          <a href=
42d0: 22 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69  "http://www.sqli
42e0: 74 65 2e 6f 72 67 2f 63 6f 6e 74 72 69 62 22 3e  te.org/contrib">
42f0: 68 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74  http://www.sqlit
4300: 65 2e 6f 72 67 2f 63 6f 6e 74 72 69 62 3c 2f 61  e.org/contrib</a
4310: 3e 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20  >.&nbsp; .      
4320: 20 20 46 65 65 6c 20 66 72 65 65 20 74 6f 20 6f    Feel free to o
4330: 76 65 72 72 69 64 65 20 61 6e 79 20 6f 66 20 74  verride any of t
4340: 68 65 6d 20 77 69 74 68 20 79 6f 75 72 20 6f 77  hem with your ow
4350: 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  n implementation
4360: 2e 26 6e 62 73 70 3b 20 54 68 65 20 6e 65 77 20  .&nbsp; The new 
4370: 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f  .        functio
4380: 6e 73 20 61 72 65 3a 20 3c 69 3e 61 63 6f 73 2c  ns are: <i>acos,
4390: 20 61 73 69 6e 2c 20 61 74 61 6e 2c 20 61 74 6e   asin, atan, atn
43a0: 32 2c 20 61 74 61 6e 32 2c 20 61 63 6f 73 68 2c  2, atan2, acosh,
43b0: 20 61 73 69 6e 68 2c 20 61 74 61 6e 68 2c 20 0a   asinh, atanh, .
43c0: 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e          differen
43d0: 63 65 2c 20 64 65 67 72 65 65 73 2c 20 72 61 64  ce, degrees, rad
43e0: 69 61 6e 73 2c 20 63 6f 73 2c 20 73 69 6e 2c 20  ians, cos, sin, 
43f0: 74 61 6e 2c 20 63 6f 74 2c 20 63 6f 73 68 2c 20  tan, cot, cosh, 
4400: 73 69 6e 68 2c 20 74 61 6e 68 2c 20 63 6f 74 68  sinh, tanh, coth
4410: 2c 20 65 78 70 2c 20 0a 20 20 20 20 20 20 20 20  , exp, .        
4420: 6c 6f 67 2c 20 6c 6f 67 31 30 2c 20 70 6f 77 65  log, log10, powe
4430: 72 2c 20 73 69 67 6e 2c 20 73 71 72 74 2c 20 73  r, sign, sqrt, s
4440: 71 75 61 72 65 2c 20 63 65 69 6c 2c 20 66 6c 6f  quare, ceil, flo
4450: 6f 72 2c 20 70 69 2c 20 72 65 70 6c 69 63 61 74  or, pi, replicat
4460: 65 2c 20 63 68 61 72 69 6e 64 65 78 2c 20 0a 20  e, charindex, . 
4470: 20 20 20 20 20 20 20 6c 65 66 74 73 74 72 2c 20         leftstr, 
4480: 72 69 67 68 74 73 74 72 2c 20 72 65 76 65 72 73  rightstr, revers
4490: 65 2c 20 70 72 6f 70 65 72 2c 20 70 61 64 6c 2c  e, proper, padl,
44a0: 20 70 61 64 72 2c 20 70 61 64 63 2c 20 73 74 72   padr, padc, str
44b0: 66 69 6c 74 65 72 2c 3c 2f 69 3e 20 61 6e 64 20  filter,</i> and 
44c0: 0a 20 20 20 20 20 20 20 20 61 67 67 72 65 67 61  .        aggrega
44d0: 74 65 73 20 3c 69 3e 73 74 64 65 76 2c 20 76 61  tes <i>stdev, va
44e0: 72 69 61 6e 63 65 2c 20 6d 6f 64 65 2c 20 6d 65  riance, mode, me
44f0: 64 69 61 6e 2c 20 6c 6f 77 65 72 5f 71 75 61 72  dian, lower_quar
4500: 74 69 6c 65 2c 20 75 70 70 65 72 5f 71 75 61 72  tile, upper_quar
4510: 74 69 6c 65 2e 3c 2f 69 3e 3c 2f 6c 69 3e 0a 20  tile.</i></li>. 
4520: 20 20 20 20 20 3c 6c 69 3e 4d 6f 76 65 64 20 74       <li>Moved t
4530: 68 65 20 6c 61 73 74 5f 72 6f 77 73 5f 61 66 66  he last_rows_aff
4540: 65 63 74 65 64 28 29 20 66 75 6e 63 74 69 6f 6e  ected() function
4550: 20 74 6f 20 74 68 65 20 43 20 65 78 74 65 6e 73   to the C extens
4560: 69 6f 6e 20 6c 69 62 72 61 72 79 2e 3c 2f 6c 69  ion library.</li
4570: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  >.      <li>Adde
4580: 64 20 61 20 6e 65 77 20 63 6c 61 73 73 2c 20 53  d a new class, S
4590: 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 45 78 20  QLiteFunctionEx 
45a0: 77 68 69 63 68 20 65 78 74 65 6e 64 73 20 53 51  which extends SQ
45b0: 4c 69 74 65 46 75 6e 63 74 69 6f 6e 20 61 6e 64  LiteFunction and
45c0: 20 61 64 64 73 20 74 68 65 20 0a 20 20 20 20 20   adds the .     
45d0: 20 20 20 61 62 69 6c 69 74 79 20 66 6f 72 20 61     ability for a
45e0: 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20 66 75   user-defined fu
45f0: 6e 63 74 69 6f 6e 20 74 6f 20 67 65 74 20 74 68  nction to get th
4600: 65 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71 75  e collating sequ
4610: 65 6e 63 65 20 64 75 72 69 6e 67 20 74 68 65 20  ence during the 
4620: 0a 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 2f  .        Invoke/
4630: 53 74 65 70 20 6d 65 74 68 6f 64 73 2e 26 6e 62  Step methods.&nb
4640: 73 70 3b 20 55 73 65 72 2d 64 65 66 69 6e 65 64  sp; User-defined
4650: 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 75   functions can u
4660: 73 65 20 74 68 65 20 63 6f 6c 6c 61 74 69 6e 67  se the collating
4670: 20 73 65 71 75 65 6e 63 65 20 0a 20 20 20 20 20   sequence .     
4680: 20 20 20 61 73 20 61 20 68 65 6c 70 65 72 20 74     as a helper t
4690: 6f 20 63 6f 6d 70 61 72 65 20 76 61 6c 75 65 73  o compare values
46a0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
46b0: 3e 57 68 65 6e 20 72 65 67 69 73 74 65 72 69 6e  >When registerin
46c0: 67 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20 63  g user-defined c
46d0: 6f 6c 6c 61 74 69 6f 6e 20 73 65 71 75 65 6e 63  ollation sequenc
46e0: 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73  es and functions
46f0: 2c 20 74 68 65 20 70 72 6f 76 69 64 65 72 20 0a  , the provider .
4700: 20 20 20 20 20 20 20 20 77 69 6c 6c 20 6e 6f 77          will now
4710: 20 72 65 67 69 73 74 65 72 20 62 6f 74 68 20 61   register both a
4720: 20 55 54 46 38 20 61 6e 64 20 61 20 55 54 46 31   UTF8 and a UTF1
4730: 36 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 65 61  6 version instea
4740: 64 20 6f 66 20 6a 75 73 74 20 55 54 46 38 2e 3c  d of just UTF8.<
4750: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 52  /li>.      <li>R
4760: 65 76 61 6d 70 65 64 20 63 6f 6e 6e 65 63 74 69  evamped connecti
4770: 6f 6e 20 70 6f 6f 6c 69 6e 67 20 61 6e 64 20 61  on pooling and a
4780: 64 64 65 64 20 73 74 61 74 69 63 20 43 6c 65 61  dded static Clea
4790: 72 50 6f 6f 6c 28 29 20 61 6e 64 20 43 6c 65 61  rPool() and Clea
47a0: 72 41 6c 6c 50 6f 6f 6c 73 28 29 20 0a 20 20 20  rAllPools() .   
47b0: 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 74       functions t
47c0: 6f 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69  o SQLiteConnecti
47d0: 6f 6e 2e 26 6e 62 73 70 3b 20 42 65 68 61 76 69  on.&nbsp; Behavi
47e0: 6f 72 20 6f 66 20 74 68 65 20 70 6f 6f 6c 20 61  or of the pool a
47f0: 6e 64 20 69 74 73 20 63 6c 65 61 72 69 6e 67 20  nd its clearing 
4800: 0a 20 20 20 20 20 20 20 20 6d 65 63 68 61 6e 69  .        mechani
4810: 63 73 20 6d 61 74 63 68 20 53 71 6c 43 6c 69 65  cs match SqlClie
4820: 6e 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  nt.</li>.      <
4830: 6c 69 3e 46 69 78 65 64 20 63 6f 6e 6e 65 63 74  li>Fixed connect
4840: 69 6f 6e 73 20 67 6f 69 6e 67 20 74 6f 20 74 68  ions going to th
4850: 65 20 70 6f 6f 6c 20 73 6f 20 74 68 61 74 20 61  e pool so that a
4860: 6e 79 20 75 6e 66 69 6e 61 6c 69 7a 65 64 20 6c  ny unfinalized l
4870: 69 6e 67 65 72 69 6e 67 20 63 6f 6d 6d 61 6e 64  ingering command
4880: 73 20 0a 20 20 20 20 20 20 20 20 66 72 6f 6d 20  s .        from 
4890: 75 6e 2d 63 6f 6c 6c 65 63 74 65 64 20 64 61 74  un-collected dat
48a0: 61 72 65 61 64 65 72 73 20 61 72 65 20 61 75 74  areaders are aut
48b0: 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 73 65 74  omatically reset
48c0: 20 61 6e 64 20 61 6e 79 20 6c 75 72 6b 69 6e 67   and any lurking
48d0: 20 0a 20 20 20 20 20 20 20 20 74 72 61 6e 73 61   .        transa
48e0: 63 74 69 6f 6e 73 20 6d 61 64 65 20 6f 6e 20 74  ctions made on t
48f0: 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 72  he connection ar
4900: 65 20 72 6f 6c 6c 65 64 20 62 61 63 6b 2e 3c 2f  e rolled back.</
4910: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 54 72  li>.      <li>Tr
4920: 61 6e 73 61 63 74 69 6f 6e 20 69 73 6f 6c 61 74  ansaction isolat
4930: 69 6f 6e 20 6c 65 76 65 6c 73 20 61 72 65 20 6e  ion levels are n
4940: 6f 77 20 70 61 72 74 69 61 6c 6c 79 20 73 75 70  ow partially sup
4950: 70 6f 72 74 65 64 2e 26 6e 62 73 70 3b 20 53 65  ported.&nbsp; Se
4960: 72 69 61 6c 69 7a 61 62 6c 65 20 0a 20 20 20 20  rializable .    
4970: 20 20 20 20 69 73 20 74 68 65 20 64 65 66 61 75      is the defau
4980: 6c 74 2c 20 77 68 69 63 68 20 6f 62 74 61 69 6e  lt, which obtain
4990: 73 20 72 65 61 64 2f 77 72 69 74 65 20 6c 6f 63  s read/write loc
49a0: 6b 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 2d  ks immediately -
49b0: 2d 20 74 68 69 73 20 69 73 20 63 6f 6d 70 61 74  - this is compat
49c0: 69 62 6c 65 20 0a 20 20 20 20 20 20 20 20 77 69  ible .        wi
49d0: 74 68 20 70 72 65 76 69 6f 75 73 20 72 65 6c 65  th previous rele
49e0: 61 73 65 73 20 6f 66 20 74 68 65 20 70 72 6f 76  ases of the prov
49f0: 69 64 65 72 2e 26 6e 62 73 70 3b 20 55 6e 73 70  ider.&nbsp; Unsp
4a00: 65 63 69 66 69 65 64 20 77 69 6c 6c 20 64 65 66  ecified will def
4a10: 61 75 6c 74 20 74 6f 20 0a 20 20 20 20 20 20 20  ault to .       
4a20: 20 77 68 61 74 65 76 65 72 20 74 68 65 20 64 65   whatever the de
4a30: 66 61 75 6c 74 20 69 73 6f 6c 61 74 69 6f 6e 20  fault isolation 
4a40: 6d 6f 64 65 20 69 73 20 73 65 74 20 74 6f 2c 20  mode is set to, 
4a50: 61 6e 64 20 52 65 61 64 43 6f 6d 6d 69 74 74 65  and ReadCommitte
4a60: 64 20 77 69 6c 6c 20 63 61 75 73 65 20 61 20 0a  d will cause a .
4a70: 20 20 20 20 20 20 20 20 64 65 66 65 72 72 65 64          deferred
4a80: 20 6c 6f 63 6b 20 74 6f 20 62 65 20 6f 62 74 61   lock to be obta
4a90: 69 6e 65 64 2e 26 6e 62 73 70 3b 20 4e 6f 20 6f  ined.&nbsp; No o
4aa0: 74 68 65 72 20 76 61 6c 75 65 73 20 61 72 65 20  ther values are 
4ab0: 6c 65 67 61 6c 2e 3c 2f 6c 69 3e 0a 20 20 20 20  legal.</li>.    
4ac0: 20 20 3c 6c 69 3e 52 65 76 61 6d 70 65 64 20 74    <li>Revamped t
4ad0: 68 65 20 74 65 73 74 2e 65 78 65 20 70 72 6f 67  he test.exe prog
4ae0: 72 61 6d 2e 26 6e 62 73 70 3b 20 49 74 26 23 33  ram.&nbsp; It&#3
4af0: 39 3b 73 20 6e 6f 77 20 61 6e 20 69 6e 74 65 72  9;s now an inter
4b00: 61 63 74 69 76 65 20 47 55 49 20 61 70 70 6c 69  active GUI appli
4b10: 63 61 74 69 6f 6e 2e 26 6e 62 73 70 3b 20 0a 20  cation.&nbsp; . 
4b20: 20 20 20 20 20 20 20 45 61 73 69 65 72 20 66 6f         Easier fo
4b30: 72 20 6d 65 20 74 6f 20 61 64 64 20 74 65 73 74  r me to add test
4b40: 73 20 6e 6f 77 2e 3c 2f 6c 69 3e 0a 20 20 20 20  s now.</li>.    
4b50: 20 20 3c 6c 69 3e 54 77 65 61 6b 73 20 74 6f 20    <li>Tweaks to 
4b60: 74 68 65 20 56 53 20 64 65 73 69 67 6e 65 72 20  the VS designer 
4b70: 70 61 63 6b 61 67 65 20 61 6e 64 20 69 6e 73 74  package and inst
4b80: 61 6c 6c 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20  aller.</li>.    
4b90: 20 20 3c 6c 69 3e 4d 6f 72 65 20 61 64 6a 75 73    <li>More adjus
4ba0: 74 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 69 6e  tments to the in
4bb0: 74 65 72 6e 61 6c 20 53 51 4c 69 74 65 33 2e 50  ternal SQLite3.P
4bc0: 72 65 70 61 72 65 28 29 20 6d 65 74 68 6f 64 20  repare() method 
4bd0: 74 6f 20 61 63 63 6f 75 6e 74 20 66 6f 72 20 62  to account for b
4be0: 6f 74 68 20 0a 20 20 20 20 20 20 20 20 6b 69 6e  oth .        kin
4bf0: 64 73 20 6f 66 20 6c 6f 63 6b 20 65 72 72 6f 72  ds of lock error
4c00: 73 20 77 68 65 6e 20 72 65 74 72 79 69 6e 67 2e  s when retrying.
4c10: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
4c20: 53 74 72 69 70 70 65 64 20 61 20 6c 6f 74 20 6f  Stripped a lot o
4c30: 66 20 75 6e 6e 65 63 65 73 73 61 72 79 20 69 6e  f unnecessary in
4c40: 74 65 72 6f 70 28 29 20 63 61 6c 6c 73 20 61 6e  terop() calls an
4c50: 64 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20  d replaced with 
4c60: 62 61 73 65 20 73 71 6c 69 74 65 20 63 61 6c 6c  base sqlite call
4c70: 73 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20  s.&nbsp; .      
4c80: 20 20 52 65 76 61 6d 70 65 64 20 6d 6f 73 74 20    Revamped most 
4c90: 6f 66 20 55 6e 73 61 66 65 4e 61 74 69 76 65 4d  of UnsafeNativeM
4ca0: 65 74 68 6f 64 73 20 74 6f 20 6d 61 6b 65 20 69  ethods to make i
4cb0: 74 20 65 61 73 69 65 72 20 74 6f 20 70 6f 72 74  t easier to port
4cc0: 20 74 68 65 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a   the code.</li>.
4cd0: 20 20 20 20 20 20 3c 6c 69 3e 52 65 72 69 67 67        <li>Rerigg
4ce0: 65 64 20 69 6e 74 65 72 6e 61 6c 20 63 61 6c 6c  ed internal call
4cf0: 62 61 63 6b 73 20 66 6f 72 20 75 73 65 72 64 65  backs for userde
4d00: 66 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20  f functions and 
4d10: 6f 74 68 65 72 20 6e 61 74 69 76 65 20 74 6f 20  other native to 
4d20: 6d 61 6e 61 67 65 64 20 0a 20 20 20 20 20 20 20  managed .       
4d30: 20 63 61 6c 6c 62 61 63 6b 73 2e 26 6e 62 73 70   callbacks.&nbsp
4d40: 3b 20 4d 6f 72 65 20 70 6f 72 74 61 62 6c 65 20  ; More portable 
4d50: 74 68 69 73 20 77 61 79 2e 3c 2f 6c 69 3e 0a 20  this way.</li>. 
4d60: 20 20 20 20 20 3c 6c 69 3e 53 6f 75 72 63 65 20       <li>Source 
4d70: 63 61 6e 20 6e 6f 77 20 63 61 6e 20 62 65 20 63  can now can be c
4d80: 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 74 68 65  ompiled with the
4d90: 20 53 51 4c 49 54 45 5f 53 54 41 4e 44 41 52 44   SQLITE_STANDARD
4da0: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 73 79   preprocessor sy
4db0: 6d 62 6f 6c 20 74 6f 20 0a 20 20 20 20 20 20 20  mbol to .       
4dc0: 20 66 6f 72 63 65 20 74 68 65 20 77 72 61 70 70   force the wrapp
4dd0: 65 72 20 74 6f 20 75 73 65 20 74 68 65 20 73 74  er to use the st
4de0: 6f 63 6b 20 73 71 6c 69 74 65 33 20 6c 69 62 72  ock sqlite3 libr
4df0: 61 72 79 2e 26 6e 62 73 70 3b 20 53 6f 6d 65 20  ary.&nbsp; Some 
4e00: 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 69 73  functionality is
4e10: 20 0a 20 20 20 20 20 20 20 20 6d 69 73 73 69 6e   .        missin
4e20: 67 2c 20 62 75 74 20 69 74 73 20 6d 69 6e 69 6d  g, but its minim
4e30: 61 6c 2e 26 6e 62 73 70 3b 20 4e 6f 6e 65 20 6f  al.&nbsp; None o
4e40: 66 20 74 68 65 20 70 72 65 63 6f 6d 70 69 6c 65  f the precompile
4e50: 64 20 62 69 6e 61 72 69 65 73 20 61 72 65 20 63  d binaries are c
4e60: 6f 6d 70 69 6c 65 64 20 0a 20 20 20 20 20 20 20  ompiled .       
4e70: 20 75 73 69 6e 67 20 74 68 69 73 20 73 65 74 74   using this sett
4e80: 69 6e 67 2c 20 62 75 74 20 69 74 73 20 75 73 65  ing, but its use
4e90: 66 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 20  ful for testing 
4ea0: 70 6f 72 74 61 62 69 6c 69 74 79 2e 3c 2f 6c 69  portability.</li
4eb0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  >.      <li>Adde
4ec0: 64 20 26 71 75 6f 74 3b 62 6f 6f 6c 65 61 6e 26  d &quot;boolean&
4ed0: 71 75 6f 74 3b 20 61 6e 64 20 61 20 63 6f 75 70  quot; and a coup
4ee0: 6c 65 20 6f 74 68 65 72 20 6d 69 73 73 69 6e 67  le other missing
4ef0: 20 64 61 74 61 74 79 70 65 73 20 74 6f 20 74 68   datatypes to th
4f00: 65 20 26 71 75 6f 74 3b 44 61 74 61 54 79 70 65  e &quot;DataType
4f10: 73 26 71 75 6f 74 3b 20 73 63 68 65 6d 61 20 0a  s&quot; schema .
4f20: 20 20 20 20 20 20 20 20 78 6d 6c 20 66 69 6c 65          xml file
4f30: 2e 26 6e 62 73 70 3b 20 55 73 65 64 20 62 79 20  .&nbsp; Used by 
4f40: 74 68 65 20 56 53 20 64 65 73 69 67 6e 65 72 20  the VS designer 
4f50: 77 68 65 6e 20 64 69 73 70 6c 61 79 69 6e 67 20  when displaying 
4f60: 74 61 62 6c 65 73 20 61 6e 64 20 71 75 65 72 79  tables and query
4f70: 69 6e 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ing.</li>.      
4f80: 3c 6c 69 3e 41 64 64 65 64 20 61 20 6e 65 77 20  <li>Added a new 
4f90: 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e  connection strin
4fa0: 67 20 6f 70 74 69 6f 6e 20 26 71 75 6f 74 3b 52  g option &quot;R
4fb0: 65 61 64 20 4f 6e 6c 79 26 71 75 6f 74 3b 2e 26  ead Only&quot;.&
4fc0: 6e 62 73 70 3b 20 57 68 65 6e 20 73 65 74 20 74  nbsp; When set t
4fd0: 6f 20 54 72 75 65 2c 20 74 68 65 20 0a 20 20 20  o True, the .   
4fe0: 20 20 20 20 20 64 61 74 61 62 61 73 65 20 77 69       database wi
4ff0: 6c 6c 20 62 65 20 6f 70 65 6e 65 64 20 69 6e 20  ll be opened in 
5000: 72 65 61 64 2d 6f 6e 6c 79 20 6d 6f 64 65 2e 3c  read-only mode.<
5010: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41  /li>.      <li>A
5020: 64 64 65 64 20 61 20 6e 65 77 20 63 6f 6e 6e 65  dded a new conne
5030: 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 6f 70 74  ction string opt
5040: 69 6f 6e 20 26 71 75 6f 74 3b 4d 61 78 20 50 6f  ion &quot;Max Po
5050: 6f 6c 20 53 69 7a 65 26 71 75 6f 74 3b 20 74 6f  ol Size&quot; to
5060: 20 73 65 74 20 74 68 65 20 6d 61 78 69 6d 75 6d   set the maximum
5070: 20 73 69 7a 65 20 0a 20 20 20 20 20 20 20 20 6f   size .        o
5080: 66 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  f the connection
5090: 20 70 6f 6f 6c 20 66 6f 72 20 61 20 67 69 76 65   pool for a give
50a0: 6e 20 64 62 20 66 69 6c 65 20 63 6f 6e 6e 65 63  n db file connec
50b0: 74 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  tion.</li>.     
50c0: 20 3c 6c 69 3e 41 64 64 65 64 20 61 20 6e 65 77   <li>Added a new
50d0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69   connection stri
50e0: 6e 67 20 6f 70 74 69 6f 6e 20 26 71 75 6f 74 3b  ng option &quot;
50f0: 44 65 66 61 75 6c 74 20 49 73 6f 6c 61 74 69 6f  Default Isolatio
5100: 6e 4c 65 76 65 6c 26 71 75 6f 74 3b 20 74 6f 20  nLevel&quot; to 
5110: 73 65 74 20 74 68 65 20 0a 20 20 20 20 20 20 20  set the .       
5120: 20 64 65 66 61 75 6c 74 20 69 73 6f 6c 61 74 69   default isolati
5130: 6f 6e 20 6c 65 76 65 6c 20 6f 66 20 74 72 61 6e  on level of tran
5140: 73 61 63 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 20  sactions.&nbsp; 
5150: 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20  Possible values 
5160: 61 72 65 20 53 65 72 69 61 6c 69 7a 61 62 6c 65  are Serializable
5170: 20 61 6e 64 20 0a 20 20 20 20 20 20 20 20 52 65   and .        Re
5180: 61 64 43 6f 6d 6d 69 74 74 65 64 2e 3c 2f 6c 69  adCommitted.</li
5190: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  >.      <li>Adde
51a0: 64 20 61 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69  d a new connecti
51b0: 6f 6e 20 73 74 72 69 6e 67 20 6f 70 74 69 6f 6e  on string option
51c0: 20 26 71 75 6f 74 3b 55 52 49 26 71 75 6f 74 3b   &quot;URI&quot;
51d0: 20 61 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20   as an optional 
51e0: 70 61 72 61 6d 65 74 65 72 20 66 6f 72 20 0a 20  parameter for . 
51f0: 20 20 20 20 20 20 20 63 6f 6d 70 61 74 69 62 69         compatibi
5200: 6c 69 74 79 20 77 69 74 68 20 6f 74 68 65 72 20  lity with other 
5210: 70 6f 72 74 73 20 6f 66 20 74 68 65 20 70 72 6f  ports of the pro
5220: 76 69 64 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20  vider.</li>.    
5230: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
5240: 31 2e 30 2e 35 34 2e 30 20 2d 20 4a 75 6c 79 20  1.0.54.0 - July 
5250: 32 35 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e  25, 2008</b></p>
5260: 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20  .    <ul>.      
5270: 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 73 65  <li>Fixed the se
5280: 74 75 70 20 70 72 6f 6a 65 63 74 2c 20 77 68 69  tup project, whi
5290: 63 68 20 73 6f 6d 65 68 6f 77 20 26 71 75 6f 74  ch somehow &quot
52a0: 3b 66 6f 72 67 6f 74 26 71 75 6f 74 3b 20 74 6f  ;forgot&quot; to
52b0: 20 69 6e 63 6c 75 64 65 20 61 6c 6c 20 74 68 65   include all the
52c0: 20 62 69 6e 61 72 69 65 73 20 69 6e 20 0a 20 20   binaries in .  
52d0: 20 20 20 20 20 20 74 68 65 20 35 33 20 72 65 6c        the 53 rel
52e0: 65 61 73 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  ease.</li>.     
52f0: 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 63 72 61   <li>Fixed a cra
5300: 73 68 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20  sh in the table 
5310: 64 65 73 69 67 6e 65 72 20 77 68 65 6e 20 63 72  designer when cr
5320: 65 61 74 69 6e 67 20 61 20 6e 65 77 20 74 61 62  eating a new tab
5330: 6c 65 20 61 6e 64 20 74 61 62 62 69 6e 67 20 70  le and tabbing p
5340: 61 73 74 20 0a 20 20 20 20 20 20 20 20 74 68 65  ast .        the
5350: 20 26 71 75 6f 74 3b 41 6c 6c 6f 77 20 4e 75 6c   &quot;Allow Nul
5360: 6c 73 26 71 75 6f 74 3b 20 63 65 6c 6c 20 69 6e  ls&quot; cell in
5370: 20 74 68 65 20 67 72 69 64 20 77 68 69 6c 65 20   the grid while 
5380: 63 72 65 61 74 69 6e 67 20 61 20 6e 65 77 20 63  creating a new c
5390: 6f 6c 75 6d 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20  olumn.</li>.    
53a0: 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 6d 6f    <li>Fixed a mo
53b0: 73 74 6c 79 2d 62 65 6e 69 67 6e 20 62 75 67 20  stly-benign bug 
53c0: 69 6e 20 53 51 4c 69 74 65 44 61 74 61 52 65 61  in SQLiteDataRea
53d0: 64 65 72 26 23 33 39 3b 73 20 47 65 74 45 6e 75  der&#39;s GetEnu
53e0: 6d 65 72 61 74 6f 72 2c 20 77 68 69 63 68 20 66  merator, which f
53f0: 61 69 6c 65 64 20 74 6f 20 0a 20 20 20 20 20 20  ailed to .      
5400: 20 20 70 61 73 73 20 61 6c 6f 6e 67 20 61 20 66    pass along a f
5410: 6c 61 67 20 74 6f 20 74 68 65 20 75 6e 64 65 72  lag to the under
5420: 79 6c 69 6e 67 20 44 62 45 6e 75 6d 65 72 61 74  yling DbEnumerat
5430: 6f 72 20 69 74 20 63 72 65 61 74 65 73 2e 26 6e  or it creates.&n
5440: 62 73 70 3b 20 54 68 69 73 20 6f 6e 65 26 23 33  bsp; This one&#3
5450: 39 3b 73 20 0a 20 20 20 20 20 20 20 20 62 65 65  9;s .        bee
5460: 6e 20 61 72 6f 75 6e 64 20 73 69 6e 63 65 20 64  n around since d
5470: 61 79 20 31 20 61 6e 64 20 6e 6f 62 6f 64 79 26  ay 1 and nobody&
5480: 23 33 39 3b 73 20 6e 6f 74 69 63 65 64 20 69 74  #39;s noticed it
5490: 20 69 6e 20 61 6c 6c 20 74 68 65 73 65 20 79 65   in all these ye
54a0: 61 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ars.</li>.      
54b0: 3c 6c 69 3e 41 64 64 65 64 20 61 20 6e 65 77 20  <li>Added a new 
54c0: 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e  connection strin
54d0: 67 20 70 61 72 61 6d 65 74 65 72 20 26 71 75 6f  g parameter &quo
54e0: 74 3b 4a 6f 75 72 6e 61 6c 20 4d 6f 64 65 26 71  t;Journal Mode&q
54f0: 75 6f 74 3b 20 74 68 61 74 20 61 6c 6c 6f 77 73  uot; that allows
5500: 20 79 6f 75 20 74 6f 20 73 65 74 20 0a 20 20 20   you to set .   
5510: 20 20 20 20 20 74 68 65 20 53 51 4c 69 74 65 20       the SQLite 
5520: 6a 6f 75 72 6e 61 6c 20 6d 6f 64 65 20 74 6f 20  journal mode to 
5530: 44 65 6c 65 74 65 2c 20 50 65 72 73 69 73 74 20  Delete, Persist 
5540: 6f 72 20 4f 66 66 2e 3c 2f 6c 69 3e 0a 20 20 20  or Off.</li>.   
5550: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
5560: 3e 31 2e 30 2e 35 33 2e 30 20 2d 20 4a 75 6c 79  >1.0.53.0 - July
5570: 20 32 34 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70   24, 2008</b></p
5580: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20  >.    <ul>.     
5590: 20 3c 6c 69 3e 45 6e 61 62 6c 65 64 20 73 71 6c   <li>Enabled sql
55a0: 69 74 65 5f 6c 6f 61 64 5f 65 78 74 65 6e 73 69  ite_load_extensi
55b0: 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  on</li>.      <l
55c0: 69 3e 41 64 64 65 64 20 72 65 74 72 79 2f 74 69  i>Added retry/ti
55d0: 6d 65 6f 75 74 20 63 6f 64 65 20 74 6f 20 53 51  meout code to SQ
55e0: 4c 69 74 65 33 2e 50 72 65 70 61 72 65 28 29 20  Lite3.Prepare() 
55f0: 77 68 65 6e 20 70 72 65 70 61 72 69 6e 67 20 73  when preparing s
5600: 74 61 74 65 6d 65 6e 74 73 20 66 6f 72 20 0a 20  tatements for . 
5610: 20 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e         execution
5620: 20 61 6e 64 20 61 20 53 51 4c 49 54 45 5f 42 55   and a SQLITE_BU
5630: 53 59 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2e  SY error occurs.
5640: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
5650: 41 64 64 65 64 20 61 20 6e 65 77 20 73 63 68 65  Added a new sche
5660: 6d 61 20 74 6f 20 53 51 4c 69 74 65 43 6f 6e 6e  ma to SQLiteConn
5670: 65 63 74 69 6f 6e 2e 47 65 74 53 63 68 65 6d 61  ection.GetSchema
5680: 28 29 20 63 61 6c 6c 65 64 20 3c 69 3e 54 72 69  () called <i>Tri
5690: 67 67 65 72 73 3c 2f 69 3e 2e 26 6e 62 73 70 3b  ggers</i>.&nbsp;
56a0: 20 0a 20 20 20 20 20 20 20 20 55 73 65 64 20 74   .        Used t
56b0: 6f 20 72 65 74 72 69 65 76 65 20 74 68 65 20 74  o retrieve the t
56c0: 72 69 67 67 65 72 28 73 29 20 61 73 73 6f 63 69  rigger(s) associ
56d0: 61 74 65 64 20 77 69 74 68 20 61 20 64 61 74 61  ated with a data
56e0: 62 61 73 65 20 61 6e 64 2f 6f 72 20 74 61 62 6c  base and/or tabl
56f0: 65 2f 76 69 65 77 2e 3c 2f 6c 69 3e 0a 20 20 20  e/view.</li>.   
5700: 20 20 20 3c 6c 69 3e 45 78 74 65 6e 73 69 76 65     <li>Extensive
5710: 20 75 70 64 61 74 65 73 20 74 6f 20 74 61 62 6c   updates to tabl
5720: 65 2f 76 69 65 77 20 65 64 69 74 69 6e 67 20 63  e/view editing c
5730: 61 70 61 62 69 6c 69 74 69 65 73 20 69 6e 73 69  apabilities insi
5740: 64 65 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  de Visual Studio
5750: 26 23 33 39 3b 73 20 0a 20 20 20 20 20 20 20 20  &#39;s .        
5760: 53 65 72 76 65 72 20 45 78 70 6c 6f 72 65 72 2e  Server Explorer.
5770: 26 6e 62 73 70 3b 20 54 68 65 20 70 72 6f 67 72  &nbsp; The progr
5780: 61 6d 20 6e 6f 77 20 70 61 72 73 65 73 20 61 6e  am now parses an
5790: 64 20 6c 65 74 73 20 79 6f 75 20 65 64 69 74 20  d lets you edit 
57a0: 43 48 45 43 4b 20 63 6f 6e 73 74 72 61 69 6e 74  CHECK constraint
57b0: 73 20 61 6e 64 20 0a 20 20 20 20 20 20 20 20 74  s and .        t
57c0: 72 69 67 67 65 72 73 20 6f 6e 20 61 20 74 61 62  riggers on a tab
57d0: 6c 65 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 64  le, as well as d
57e0: 65 66 69 6e 65 20 74 72 69 67 67 65 72 73 20 6f  efine triggers o
57f0: 6e 20 76 69 65 77 73 2e 26 6e 62 73 70 3b 20 45  n views.&nbsp; E
5800: 78 70 65 72 69 6d 65 6e 74 61 6c 20 0a 20 20 20  xperimental .   
5810: 20 20 20 20 20 73 74 69 6c 6c 2c 20 73 6f 20 65       still, so e
5820: 2d 6d 61 69 6c 20 6d 65 20 69 66 20 79 6f 75 20  -mail me if you 
5830: 68 61 76 65 20 69 73 73 75 65 73 2e 3c 2f 6c 69  have issues.</li
5840: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 69 6e 6f  >.      <li>Mino
5850: 72 20 62 75 67 66 69 78 20 74 6f 20 74 68 65 20  r bugfix to the 
5860: 56 69 65 77 43 6f 6c 75 6d 6e 73 20 73 63 68 65  ViewColumns sche
5870: 6d 61 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65  ma to return the
5880: 20 70 72 6f 70 65 72 20 62 61 73 65 20 63 6f 6c   proper base col
5890: 75 6d 6e 20 6e 61 6d 65 20 0a 20 20 20 20 20 20  umn name .      
58a0: 20 20 66 6f 72 20 61 20 76 69 65 77 20 74 68 61    for a view tha
58b0: 74 20 61 6c 69 61 73 65 73 20 61 20 63 6f 6c 75  t aliases a colu
58c0: 6d 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  mn.</li>.      <
58d0: 6c 69 3e 46 69 78 65 64 20 74 68 65 20 69 6e 73  li>Fixed the ins
58e0: 65 72 74 2f 75 70 64 61 74 65 2f 64 65 6c 65 74  ert/update/delet
58f0: 65 20 44 4d 4c 20 73 75 70 70 6f 72 74 20 69 6e  e DML support in
5900: 20 74 68 65 20 4c 69 6e 71 20 6d 6f 64 75 6c 65   the Linq module
5910: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
5920: 3e 43 68 61 6e 67 65 64 20 74 68 65 20 62 65 68  >Changed the beh
5930: 61 76 69 6f 72 20 6f 66 20 53 51 4c 69 74 65 43  avior of SQLiteC
5940: 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f 77 20  ommand to allow 
5950: 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 74 6f  a transaction to
5960: 20 62 65 20 73 65 74 20 65 76 65 6e 20 69 66 20   be set even if 
5970: 0a 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6d  .        the com
5980: 6d 61 6e 64 20 68 61 73 6e 26 23 33 39 3b 74 20  mand hasn&#39;t 
5990: 62 65 65 6e 20 61 73 73 6f 63 69 61 74 65 64 20  been associated 
59a0: 77 69 74 68 20 61 20 63 6f 6e 6e 65 63 74 69 6f  with a connectio
59b0: 6e 20 79 65 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20  n yet.</li>.    
59c0: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
59d0: 31 2e 30 2e 35 32 2e 30 20 2d 20 4a 75 6c 79 20  1.0.52.0 - July 
59e0: 31 36 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e  16, 2008</b></p>
59f0: 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20  .    <ul>.      
5a00: 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77  <li>Code merge w
5a10: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 36 2e 30  ith SQLite 3.6.0
5a20: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
5a30: 41 64 64 65 64 20 61 20 6c 6f 74 20 6f 66 20 70  Added a lot of p
5a40: 72 65 76 69 6f 75 73 6c 79 2d 6d 69 73 73 69 6e  reviously-missin
5a50: 67 20 65 78 70 6f 72 74 73 20 74 6f 20 74 68 65  g exports to the
5a60: 20 44 45 46 20 66 69 6c 65 20 66 6f 72 20 74 68   DEF file for th
5a70: 65 20 0a 20 20 20 20 20 20 20 20 6e 61 74 69 76  e .        nativ
5a80: 65 20 6c 69 62 72 61 72 79 2e 3c 2f 6c 69 3e 0a  e library.</li>.
5a90: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
5aa0: 53 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72  SQLiteDataReader
5ab0: 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 61 6e   to check for an
5ac0: 20 69 6e 76 61 6c 69 64 20 63 6f 6e 6e 65 63 74   invalid connect
5ad0: 69 6f 6e 20 62 65 66 6f 72 65 20 6f 70 65 72 61  ion before opera
5ae0: 74 69 6e 67 20 6f 6e 20 0a 20 20 20 20 20 20 20  ting on .       
5af0: 20 61 6e 20 6f 70 65 6e 20 63 75 72 73 6f 72 2e   an open cursor.
5b00: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
5b10: 49 6d 70 6c 65 6d 65 6e 74 65 64 20 74 68 65 20  Implemented the 
5b20: 43 61 6e 63 65 6c 28 29 20 66 75 6e 63 74 69 6f  Cancel() functio
5b30: 6e 20 6f 66 20 53 51 4c 69 74 65 43 6f 6d 6d 61  n of SQLiteComma
5b40: 6e 64 20 74 6f 20 63 61 6e 63 65 6c 20 61 6e 20  nd to cancel an 
5b50: 61 63 74 69 76 65 20 72 65 61 64 65 72 2e 3c 2f  active reader.</
5b60: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64  li>.      <li>Ad
5b70: 64 65 64 20 62 65 74 61 20 74 61 62 6c 65 20 61  ded beta table a
5b80: 6e 64 20 76 69 65 77 20 64 65 73 69 67 6e 65 72  nd view designer
5b90: 73 20 74 6f 20 74 68 65 20 56 69 73 75 61 6c 20  s to the Visual 
5ba0: 53 74 75 64 69 6f 20 53 65 72 76 65 72 20 45 78  Studio Server Ex
5bb0: 70 6c 6f 72 65 72 2e 26 6e 62 73 70 3b 20 59 6f  plorer.&nbsp; Yo
5bc0: 75 20 63 61 6e 20 6e 6f 77 20 0a 20 20 20 20 20  u can now .     
5bd0: 20 20 20 65 64 69 74 2f 63 72 65 61 74 65 20 74     edit/create t
5be0: 61 62 6c 65 73 20 61 6e 64 20 76 69 65 77 73 2c  ables and views,
5bf0: 20 6d 61 6e 61 67 65 20 69 6e 64 65 78 65 73 20   manage indexes 
5c00: 61 6e 64 20 66 6f 72 65 69 67 6e 20 6b 65 79 73  and foreign keys
5c10: 20 66 72 6f 6d 20 56 69 73 75 61 6c 20 53 74 75   from Visual Stu
5c20: 64 69 6f 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20  dio.&nbsp; .    
5c30: 20 20 20 20 54 68 69 73 20 66 65 61 74 75 72 65      This feature
5c40: 20 69 73 20 73 74 69 6c 6c 20 75 6e 64 65 72 67   is still underg
5c50: 6f 69 6e 67 20 74 65 73 74 69 6e 67 20 73 6f 20  oing testing so 
5c60: 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e 20  use at your own 
5c70: 72 69 73 6b 21 3c 2f 6c 69 3e 0a 20 20 20 20 20  risk!</li>.     
5c80: 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 53   <li>Fixed the S
5c90: 65 72 76 65 72 20 45 78 70 6c 6f 72 65 72 20 73  erver Explorer s
5ca0: 6f 20 56 53 32 30 30 35 20 75 73 65 72 73 20 63  o VS2005 users c
5cb0: 61 6e 20 6f 6e 63 65 20 61 67 61 69 6e 20 72 69  an once again ri
5cc0: 67 68 74 2d 63 6c 69 63 6b 20 74 61 62 6c 65 73  ght-click tables
5cd0: 20 0a 20 20 20 20 20 20 20 20 61 6e 64 20 76 69   .        and vi
5ce0: 65 77 73 20 61 6e 64 20 6f 70 65 6e 20 74 68 65  ews and open the
5cf0: 20 74 61 62 6c 65 20 64 61 74 61 2e 3c 2f 6c 69   table data.</li
5d00: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  >.      <li>Adde
5d10: 64 20 73 6f 6d 65 20 6e 65 77 20 69 6e 74 65 72  d some new inter
5d20: 6f 70 20 63 6f 64 65 20 74 6f 20 61 73 73 69 73  op code to assis
5d30: 74 20 69 6e 20 72 65 74 75 72 6e 69 6e 67 20 6d  t in returning m
5d40: 6f 72 65 20 6d 65 74 61 64 61 74 61 20 6e 6f 74  ore metadata not
5d50: 20 6e 6f 72 6d 61 6c 6c 79 20 0a 20 20 20 20 20   normally .     
5d60: 20 20 20 61 76 61 69 6c 61 62 6c 65 20 74 68 72     available thr
5d70: 6f 75 67 68 20 74 68 65 20 53 51 4c 69 74 65 20  ough the SQLite 
5d80: 41 50 49 2e 26 6e 62 73 70 3b 20 53 70 65 63 69  API.&nbsp; Speci
5d90: 66 69 63 61 6c 6c 79 2c 20 69 6e 64 65 78 20 63  fically, index c
5da0: 6f 6c 75 6d 6e 20 73 6f 72 74 20 6d 6f 64 65 73  olumn sort modes
5db0: 20 0a 20 20 20 20 20 20 20 20 61 6e 64 20 63 6f   .        and co
5dc0: 6c 6c 61 74 69 6e 67 20 73 65 71 75 65 6e 63 65  llating sequence
5dd0: 73 2e 26 6e 62 73 70 3b 20 41 6c 73 6f 20 61 64  s.&nbsp; Also ad
5de0: 64 65 64 20 63 6f 64 65 20 74 6f 20 64 65 74 65  ded code to dete
5df0: 63 74 20 28 62 75 74 20 6e 6f 74 20 70 61 72 73  ct (but not pars
5e00: 65 29 20 43 48 45 43 4b 20 0a 20 20 20 20 20 20  e) CHECK .      
5e10: 20 20 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 73    constraints, s
5e20: 6f 20 74 68 65 20 74 61 62 6c 65 20 64 65 73 69  o the table desi
5e30: 67 6e 65 72 20 63 61 6e 20 70 6f 70 20 75 70 20  gner can pop up 
5e40: 61 20 77 61 72 6e 69 6e 67 20 77 68 65 6e 20 65  a warning when e
5e50: 64 69 74 69 6e 67 20 61 20 74 61 62 6c 65 20 0a  diting a table .
5e60: 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65          with the
5e70: 73 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 26  se constraints.&
5e80: 6e 62 73 70 3b 20 53 69 6e 63 65 20 49 20 63 61  nbsp; Since I ca
5e90: 6e 26 23 33 39 3b 74 20 63 75 72 72 65 6e 74 6c  n&#39;t currentl
5ea0: 79 20 70 61 72 73 65 20 74 68 65 6d 2e 3c 2f 6c  y parse them.</l
5eb0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74  i>.      <li>Lot
5ec0: 73 20 6f 66 20 4c 49 4e 51 20 53 51 4c 20 67 65  s of LINQ SQL ge
5ed0: 6e 65 72 61 74 69 6f 6e 20 69 6d 70 72 6f 76 65  neration improve
5ee0: 6d 65 6e 74 73 20 61 6e 64 20 66 69 78 65 73 2e  ments and fixes.
5ef0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
5f00: 4d 61 64 65 20 73 6f 6d 65 20 70 72 6f 67 72 65  Made some progre
5f10: 73 73 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 61  ss cleaning up a
5f20: 6e 64 20 66 69 78 69 6e 67 20 75 70 20 74 68 65  nd fixing up the
5f30: 20 73 63 68 65 6d 61 20 64 65 66 69 6e 69 74 69   schema definiti
5f40: 6f 6e 73 20 61 6e 64 20 0a 20 20 20 20 20 20 20  ons and .       
5f50: 20 6d 61 6e 69 66 65 73 74 73 20 66 6f 72 20 45   manifests for E
5f60: 64 6d 47 65 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20  dmGen.</li>.    
5f70: 20 20 3c 6c 69 3e 41 64 64 65 64 20 61 20 62 75    <li>Added a bu
5f80: 69 6c 74 2d 69 6e 20 53 51 4c 69 74 65 46 75 6e  ilt-in SQLiteFun
5f90: 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 6c 61 73  ction called las
5fa0: 74 5f 72 6f 77 73 5f 61 66 66 65 63 74 65 64 28  t_rows_affected(
5fb0: 29 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 0a  ) which can be .
5fc0: 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 66          called f
5fd0: 72 6f 6d 20 53 51 4c 20 74 6f 20 67 65 74 20 74  rom SQL to get t
5fe0: 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77  he number of row
5ff0: 73 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68  s affected by th
6000: 65 20 6c 61 73 74 20 75 70 64 61 74 65 2f 69 6e  e last update/in
6010: 73 65 72 74 20 0a 20 20 20 20 20 20 20 20 6f 70  sert .        op
6020: 65 72 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 63  eration on the c
6030: 6f 6e 6e 65 63 74 69 6f 6e 2e 26 6e 62 73 70 3b  onnection.&nbsp;
6040: 20 54 68 69 73 20 69 73 20 72 6f 75 67 68 6c 79   This is roughly
6050: 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 53   equivalent to S
6060: 71 6c 20 53 65 72 76 65 72 26 23 33 39 3b 73 20  ql Server&#39;s 
6070: 0a 20 20 20 20 20 20 20 20 40 40 52 4f 57 43 4f  .        @@ROWCO
6080: 55 4e 54 20 76 61 72 69 61 62 6c 65 2e 3c 2f 6c  UNT variable.</l
6090: 69 3e 20 20 20 20 20 20 0a 20 20 20 20 3c 2f 75  i>      .    </u
60a0: 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  l>.    <p><b>1.0
60b0: 2e 35 31 2e 30 20 2d 20 4a 75 6c 79 20 31 2c 20  .51.0 - July 1, 
60c0: 32 30 30 38 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2008</b></p>.   
60d0: 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e   <ul>.      <li>
60e0: 3c 62 3e 56 53 32 30 30 38 20 53 50 31 20 42 65  <b>VS2008 SP1 Be
60f0: 74 61 31 20 4c 49 4e 51 20 53 75 70 70 6f 72 74  ta1 LINQ Support
6100: 3c 2f 62 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  </b></li>.      
6110: 3c 6c 69 3e 41 64 64 65 64 20 65 78 70 65 72 69  <li>Added experi
6120: 6d 65 6e 74 61 6c 20 45 6e 74 69 74 79 20 46 72  mental Entity Fr
6130: 61 6d 65 77 6f 72 6b 20 73 75 70 70 6f 72 74 20  amework support 
6140: 69 6e 20 61 20 6e 65 77 20 6c 69 62 72 61 72 79  in a new library
6150: 2c 20 0a 20 20 20 20 20 20 20 20 53 79 73 74 65  , .        Syste
6160: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69  m.Data.SQLite.Li
6170: 6e 71 2e 26 6e 62 73 70 3b 20 53 6f 6d 65 20 74  nq.&nbsp; Some t
6180: 68 69 6e 67 73 20 77 6f 72 6b 2c 20 73 6f 6d 65  hings work, some
6190: 20 64 6f 6e 26 23 33 39 3b 74 2e 26 6e 62 73 70   don&#39;t.&nbsp
61a0: 3b 20 49 20 68 61 76 65 6e 26 23 33 39 3b 74 20  ; I haven&#39;t 
61b0: 0a 20 20 20 20 20 20 20 20 66 69 6e 69 73 68 65  .        finishe
61c0: 64 20 72 69 67 67 69 6e 67 20 65 76 65 72 79 74  d rigging everyt
61d0: 68 69 6e 67 20 75 70 20 79 65 74 2e 26 6e 62 73  hing up yet.&nbs
61e0: 70 3b 20 54 68 65 20 63 6f 72 65 20 6c 69 62 72  p; The core libr
61f0: 61 72 79 20 72 65 6d 61 69 6e 73 20 73 74 61 62  ary remains stab
6200: 6c 65 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20 20  le.&nbsp; .     
6210: 20 20 20 41 6c 6c 20 4c 49 4e 51 2d 73 70 65 63     All LINQ-spec
6220: 69 66 69 63 20 63 6f 64 65 20 69 73 20 63 6f 6d  ific code is com
6230: 70 6c 65 74 65 6c 79 20 73 65 70 61 72 61 74 65  pletely separate
6240: 20 66 72 6f 6d 20 74 68 65 20 63 6f 72 65 2e 3c   from the core.<
6250: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41  /li>.      <li>A
6260: 64 64 65 64 20 73 6f 6d 65 20 63 6f 6c 75 6d 6e  dded some column
6270: 73 20 74 6f 20 73 65 76 65 72 61 6c 20 65 78 69  s to several exi
6280: 73 74 69 6e 67 20 73 63 68 65 6d 61 73 20 74 6f  sting schemas to
6290: 20 73 75 70 70 6f 72 74 20 73 6f 6d 65 20 6f 66   support some of
62a0: 20 74 68 65 20 0a 20 20 20 20 20 20 20 20 45 44   the .        ED
62b0: 4d 20 66 72 61 6d 65 77 6f 72 6b 20 73 74 75 66  M framework stuf
62c0: 66 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  f.</li>.      <l
62d0: 69 3e 4d 69 6e 6f 72 20 74 77 65 61 6b 73 20 74  i>Minor tweaks t
62e0: 6f 20 74 68 65 20 66 61 63 74 6f 72 79 20 74 6f  o the factory to
62f0: 20 62 65 74 74 65 72 20 73 75 70 70 6f 72 74 20   better support 
6300: 64 79 6e 61 6d 69 63 20 6c 6f 61 64 69 6e 67 20  dynamic loading 
6310: 6f 66 20 74 68 65 20 4c 69 6e 71 20 0a 20 20 20  of the Linq .   
6320: 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 20 6c       extension l
6330: 69 62 72 61 72 79 20 66 6f 72 20 53 51 4c 69 74  ibrary for SQLit
6340: 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  e.</li>.      <l
6350: 69 3e 53 51 4c 69 74 65 26 23 33 39 3b 73 20 62  i>SQLite&#39;s b
6360: 75 73 79 20 68 61 6e 64 6c 65 72 20 77 61 73 20  usy handler was 
6370: 69 6e 74 65 72 66 65 72 69 6e 67 20 77 69 74 68  interfering with
6380: 20 74 68 65 20 70 72 6f 76 69 64 65 72 26 23 33   the provider&#3
6390: 39 3b 73 20 62 75 73 79 20 68 61 6e 64 6c 69 6e  9;s busy handlin
63a0: 67 20 0a 20 20 20 20 20 20 20 20 6d 65 63 68 61  g .        mecha
63b0: 6e 69 73 6d 2c 20 73 6f 20 69 74 73 20 62 65 65  nism, so its bee
63c0: 6e 20 64 69 73 61 62 6c 65 64 2e 3c 2f 6c 69 3e  n disabled.</li>
63d0: 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c  .    </ul>.    <
63e0: 70 3e 3c 62 3e 31 2e 30 2e 35 30 2e 30 20 2d 20  p><b>1.0.50.0 - 
63f0: 4a 75 6e 65 20 32 37 2c 20 32 30 30 38 3c 2f 62  June 27, 2008</b
6400: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20  ></p>.    <ul>. 
6410: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 73       <li>Fixed s
6420: 6f 6d 65 20 6c 69 6e 67 65 72 69 6e 67 20 64 69  ome lingering di
6430: 73 70 6f 73 65 20 69 73 73 75 65 73 20 61 6e 64  spose issues and
6440: 20 72 61 63 65 20 63 6f 6e 64 69 74 69 6f 6e 73   race conditions
6450: 20 77 68 65 6e 20 73 6f 6d 65 20 6f 62 6a 65 63   when some objec
6460: 74 73 20 77 65 72 65 20 66 69 6e 61 6c 69 7a 65  ts were finalize
6470: 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  d.</li>.      <l
6480: 69 3e 46 69 78 65 64 20 74 68 65 20 53 51 4c 69  i>Fixed the SQLi
6490: 74 65 43 6f 6e 76 65 72 74 2e 53 70 6c 69 74 28  teConvert.Split(
64a0: 29 20 72 6f 75 74 69 6e 65 20 74 6f 20 62 65 20  ) routine to be 
64b0: 61 20 6c 69 74 74 6c 65 20 73 6d 61 72 74 65 72  a little smarter
64c0: 20 77 68 65 6e 20 73 70 6c 69 74 74 69 6e 67 20   when splitting 
64d0: 0a 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 73  .        strings
64e0: 2c 20 77 68 69 63 68 20 73 6f 6c 76 65 73 20 74  , which solves t
64f0: 68 65 20 71 75 6f 74 65 64 20 64 61 74 61 20 73  he quoted data s
6500: 6f 75 72 63 65 20 66 69 6c 65 6e 61 6d 65 20 70  ource filename p
6510: 72 6f 62 6c 65 6d 2e 3c 2f 6c 69 3e 0a 20 20 20  roblem.</li>.   
6520: 20 20 20 3c 6c 69 3e 45 6e 68 61 6e 63 65 64 20     <li>Enhanced 
6530: 74 68 65 20 6d 65 72 67 65 62 69 6e 20 75 74 69  the mergebin uti
6540: 6c 69 74 79 20 74 6f 20 77 6f 72 6b 20 61 72 6f  lity to work aro
6550: 75 6e 64 20 74 68 65 20 73 74 72 6f 6e 67 20 6e  und the strong n
6560: 61 6d 65 20 76 61 6c 69 64 61 74 69 6f 6e 20 62  ame validation b
6570: 75 67 20 6f 6e 20 0a 20 20 20 20 20 20 20 20 74  ug on .        t
6580: 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65  he Compact Frame
6590: 77 6f 72 6b 2e 26 6e 62 73 70 3b 20 54 68 65 20  work.&nbsp; The 
65a0: 6f 6c 64 20 77 6f 72 6b 61 72 6f 75 6e 64 20 6b  old workaround k
65b0: 6c 75 64 67 65 64 20 74 68 65 20 44 4c 4c 20 61  ludged the DLL a
65c0: 6e 64 20 63 61 75 73 65 64 20 57 4d 36 2e 31 20  nd caused WM6.1 
65d0: 0a 20 20 20 20 20 20 20 20 74 6f 20 66 61 69 6c  .        to fail
65e0: 20 74 6f 20 6c 6f 61 64 20 69 74 2e 26 6e 62 73   to load it.&nbs
65f0: 70 3b 20 54 68 69 73 20 6e 65 77 20 73 6f 6c 75  p; This new solu
6600: 74 69 6f 6e 20 69 73 20 70 65 72 6d 61 6e 65 6e  tion is permanen
6610: 74 20 61 6e 64 20 6e 6f 20 6c 6f 6e 67 65 72 20  t and no longer 
6620: 6b 6c 75 64 67 65 73 20 0a 20 20 20 20 20 20 20  kludges .       
6630: 20 74 68 65 20 44 4c 4c 2e 3c 2f 6c 69 3e 0a 20   the DLL.</li>. 
6640: 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e     </ul>.    <p>
6650: 3c 62 3e 31 2e 30 2e 34 39 2e 30 20 2d 20 4d 61  <b>1.0.49.0 - Ma
6660: 79 20 32 38 2c 20 32 30 30 38 3c 2f 62 3e 3c 2f  y 28, 2008</b></
6670: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
6680: 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65    <li>Code merge
6690: 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 35   with SQLite 3.5
66a0: 2e 39 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  .9</li>.      <l
66b0: 69 3e 46 69 78 65 64 20 73 63 68 65 6d 61 20 70  i>Fixed schema p
66c0: 72 6f 62 6c 65 6d 73 20 77 68 65 6e 20 71 75 65  roblems when que
66d0: 72 79 69 6e 67 20 74 68 65 20 54 45 4d 50 20 63  rying the TEMP c
66e0: 61 74 61 6c 6f 67 2e 3c 2f 6c 69 3e 0a 20 20 20  atalog.</li>.   
66f0: 20 20 20 3c 6c 69 3e 43 68 61 6e 67 65 64 20 42     <li>Changed B
6700: 4c 4f 42 20 64 61 74 61 74 79 70 65 20 73 63 68  LOB datatype sch
6710: 65 6d 61 20 74 6f 20 72 65 74 75 72 6e 20 49 73  ema to return Is
6720: 4c 6f 6e 67 20 3d 20 46 61 6c 73 65 20 69 6e 73  Long = False ins
6730: 74 65 61 64 20 6f 66 20 54 72 75 65 2e 26 6e 62  tead of True.&nb
6740: 73 70 3b 20 54 68 69 73 0a 20 20 20 20 20 20 20  sp; This.       
6750: 20 77 61 73 20 70 72 65 76 65 6e 74 69 6e 67 20   was preventing 
6760: 44 62 43 6f 6d 6d 61 6e 64 42 75 69 6c 64 65 72  DbCommandBuilder
6770: 20 66 72 6f 6d 20 75 73 69 6e 67 20 47 55 49 44   from using GUID
6780: 27 73 20 61 6e 64 20 42 4c 4f 42 27 73 20 61 73  's and BLOB's as
6790: 20 70 72 69 6d 61 72 79 20 6b 65 79 73 2e 3c 2f   primary keys.</
67a0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
67b0: 78 20 72 6f 6c 6c 6f 76 65 72 20 69 73 73 75 65  x rollover issue
67c0: 20 77 69 74 68 20 53 51 4c 69 74 65 33 2e 52 65   with SQLite3.Re
67d0: 73 65 74 28 29 20 75 73 69 6e 67 20 54 69 63 6b  set() using Tick
67e0: 43 6f 75 6e 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20  Count.</li>.    
67f0: 20 20 3c 6c 69 3e 46 69 78 65 64 20 53 51 4c 69    <li>Fixed SQLi
6800: 74 65 44 61 74 61 52 65 61 64 65 72 20 74 6f 20  teDataReader to 
6810: 64 69 73 70 6f 73 65 20 6f 66 20 69 74 73 20 63  dispose of its c
6820: 6f 6d 6d 61 6e 64 20 28 69 66 20 63 61 6c 6c 65  ommand (if calle
6830: 64 20 66 6f 72 29 20 62 65 66 6f 72 65 20 0a 20  d for) before . 
6840: 20 20 20 20 20 20 20 63 6c 6f 73 69 6e 67 20 74         closing t
6850: 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 77  he connection (w
6860: 68 65 6e 20 66 6c 61 67 67 65 64 20 74 6f 20 64  hen flagged to d
6870: 6f 20 73 6f 29 20 69 6e 73 74 65 61 64 20 6f 66  o so) instead of
6880: 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 20 61   the other way a
6890: 72 6f 75 6e 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20  round.</li>.    
68a0: 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 44 62    <li>Fixed a Db
68b0: 4e 75 6c 6c 20 65 72 72 6f 72 20 77 68 65 6e 20  Null error when 
68c0: 72 65 74 72 69 65 76 69 6e 67 20 69 74 65 6d 73  retrieving items
68d0: 20 6e 6f 74 20 62 61 63 6b 65 64 20 62 79 20 61   not backed by a
68e0: 20 74 61 62 6c 65 20 73 63 68 65 6d 61 2e 3c 2f   table schema.</
68f0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69  li>.      <li>Fi
6900: 78 65 64 20 66 6f 72 65 69 67 6e 20 6b 65 79 20  xed foreign key 
6910: 63 6f 6e 73 74 72 61 69 6e 74 20 70 61 72 73 69  constraint parsi
6920: 6e 67 20 62 75 67 2e 3c 2f 6c 69 3e 0a 20 20 20  ng bug.</li>.   
6930: 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 46 61 69     <li>Added Fai
6940: 6c 49 66 4d 69 73 73 69 6e 67 20 70 72 6f 70 65  lIfMissing prope
6950: 72 74 79 20 74 6f 20 74 68 65 20 53 51 4c 69 74  rty to the SQLit
6960: 65 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e  eConnectionStrin
6970: 67 42 75 69 6c 64 65 72 2e 3c 2f 6c 69 3e 0a 20  gBuilder.</li>. 
6980: 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74       <li>Convert
6990: 65 64 20 74 68 65 20 73 6f 75 72 63 65 20 70 72  ed the source pr
69a0: 6f 6a 65 63 74 73 20 74 6f 20 56 69 73 75 61 6c  ojects to Visual
69b0: 20 53 74 75 64 69 6f 20 32 30 30 38 2e 3c 2f 6c   Studio 2008.</l
69c0: 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20  i>.    </ul>.   
69d0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 38 2e 30 20   <p><b>1.0.48.0 
69e0: 2d 20 44 65 63 65 6d 62 65 72 20 32 38 2c 20 32  - December 28, 2
69f0: 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  007</b></p>.    
6a00: 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 43  <ul>.      <li>C
6a10: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
6a20: 51 4c 69 74 65 20 33 2e 35 2e 34 3c 2f 6c 69 3e  QLite 3.5.4</li>
6a30: 0a 20 20 20 20 20 20 3c 6c 69 3e 43 61 6c 6c 69  .      <li>Calli
6a40: 6e 67 20 53 51 4c 69 74 65 44 61 74 61 52 65 61  ng SQLiteDataRea
6a50: 64 65 72 2e 47 65 74 46 69 65 6c 64 54 79 70 65  der.GetFieldType
6a60: 28 29 20 6f 6e 20 61 20 63 6f 6c 75 6d 6e 20 77  () on a column w
6a70: 69 74 68 20 6e 6f 20 73 63 68 65 6d 61 20 69 6e  ith no schema in
6a80: 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20  formation.      
6a90: 20 20 61 6e 64 20 77 68 6f 73 20 66 69 72 73 74    and whos first
6aa0: 20 72 6f 77 20 69 73 20 69 6e 69 74 69 61 6c 6c   row is initiall
6ab0: 79 20 4e 55 4c 4c 20 6e 6f 77 20 72 65 74 75 72  y NULL now retur
6ac0: 6e 73 20 74 79 70 65 20 4f 62 6a 65 63 74 20 69  ns type Object i
6ad0: 6e 73 74 65 61 64 20 6f 66 20 74 79 70 65 20 44  nstead of type D
6ae0: 62 4e 75 6c 6c 2e 3c 2f 6c 69 3e 0a 20 20 20 20  bNull.</li>.    
6af0: 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 75 70 70    <li>Added supp
6b00: 6f 72 74 20 66 6f 72 20 61 20 6e 65 77 20 44 61  ort for a new Da
6b10: 74 65 54 69 6d 65 20 74 79 70 65 2c 20 4a 75 6c  teTime type, Jul
6b20: 69 61 6e 44 61 79 2e 26 6e 62 73 70 3b 20 53 51  ianDay.&nbsp; SQ
6b30: 4c 69 74 65 20 75 73 65 73 20 4a 75 6c 69 61 6e  Lite uses Julian
6b40: 20 64 61 74 65 73 0a 20 20 20 20 20 20 20 20 69   dates.        i
6b50: 6e 74 65 72 6e 61 6c 6c 79 2e 3c 2f 6c 69 3e 0a  nternally.</li>.
6b60: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
6b70: 61 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e  a new connection
6b80: 20 73 74 72 69 6e 67 20 70 61 72 61 6d 65 74 65   string paramete
6b90: 72 20 22 44 65 66 61 75 6c 74 20 54 69 6d 65 6f  r "Default Timeo
6ba0: 75 74 22 20 61 6e 64 20 61 20 63 6f 72 72 65 73  ut" and a corres
6bb0: 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20  ponding.        
6bc0: 6d 65 74 68 6f 64 20 6f 6e 20 74 68 65 20 53 51  method on the SQ
6bd0: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 6f  LiteConnection o
6be0: 62 6a 65 63 74 20 74 6f 20 63 68 61 6e 67 65 20  bject to change 
6bf0: 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6d 6d  the default comm
6c00: 61 6e 64 20 74 69 6d 65 6f 75 74 2e 26 6e 62 73  and timeout.&nbs
6c10: 70 3b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20  p;.        This 
6c20: 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73  is especially us
6c30: 65 66 75 6c 20 66 6f 72 20 63 68 61 6e 67 69 6e  eful for changin
6c40: 67 20 74 68 65 20 74 69 6d 65 6f 75 74 20 6f 6e  g the timeout on
6c50: 20 74 72 61 6e 73 61 63 74 69 6f 6e 73 2c 20 77   transactions, w
6c60: 68 69 63 68 20 75 73 65 20 53 51 4c 69 74 65 43  hich use SQLiteC
6c70: 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 6f  ommand.        o
6c80: 62 6a 65 63 74 73 20 69 6e 74 65 72 6e 61 6c 6c  bjects internall
6c90: 79 20 61 6e 64 20 68 61 76 65 20 6e 6f 20 41 44  y and have no AD
6ca0: 4f 2e 4e 45 54 2d 66 72 69 65 6e 64 6c 79 20 77  O.NET-friendly w
6cb0: 61 79 20 74 6f 20 61 64 6a 75 73 74 20 74 68 65  ay to adjust the
6cc0: 20 63 6f 6d 6d 61 6e 64 20 74 69 6d 65 6f 75 74   command timeout
6cd0: 0a 20 20 20 20 20 20 20 20 6f 6e 20 74 68 6f 73  .        on thos
6ce0: 65 20 63 6f 6d 6d 61 6e 64 73 2e 3c 2f 6c 69 3e  e commands.</li>
6cf0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 54 53 31 20  .      <li>FTS1 
6d00: 61 6e 64 20 46 54 53 32 20 6d 6f 64 75 6c 65 73  and FTS2 modules
6d10: 20 77 65 72 65 20 72 65 6d 6f 76 65 64 20 66 72   were removed fr
6d20: 6f 6d 20 74 68 65 20 63 6f 64 65 62 61 73 65 2e  om the codebase.
6d30: 26 6e 62 73 70 3b 20 50 6c 65 61 73 65 20 75 70  &nbsp; Please up
6d40: 67 72 61 64 65 20 61 6c 6c 0a 20 20 20 20 20 20  grade all.      
6d50: 20 20 66 75 6c 6c 2d 74 65 78 74 20 69 6e 64 65    full-text inde
6d60: 78 65 73 20 74 6f 20 75 73 65 20 74 68 65 20 46  xes to use the F
6d70: 54 53 33 20 6d 6f 64 75 6c 65 2e 26 6e 62 73 70  TS3 module.&nbsp
6d80: 3b 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e  ;</li>.    </ul>
6d90: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34  .    <p><b>1.0.4
6da0: 37 2e 32 20 2d 20 44 65 63 65 6d 62 65 72 20 31  7.2 - December 1
6db0: 30 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a  0, 2007</b></p>.
6dc0: 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c      <ul>.      <
6dd0: 6c 69 3e 46 69 78 65 64 20 79 65 74 20 6f 6e 65  li>Fixed yet one
6de0: 20 6d 6f 72 65 20 62 75 67 20 77 68 65 6e 20 63   more bug when c
6df0: 6c 6f 73 69 6e 67 20 61 20 64 61 74 61 62 61 73  losing a databas
6e00: 65 20 77 69 74 68 20 75 6e 66 69 6e 61 6c 69 7a  e with unfinaliz
6e10: 65 64 20 63 6f 6d 6d 61 6e 64 20 6f 62 6a 65 63  ed command objec
6e20: 74 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  ts</li>.      <l
6e30: 69 3e 46 69 78 65 64 20 74 68 65 20 44 61 74 61  i>Fixed the Data
6e40: 52 65 61 64 65 72 27 73 20 47 65 74 46 69 65 6c  Reader's GetFiel
6e50: 64 54 79 70 65 20 66 75 6e 63 74 69 6f 6e 20 77  dType function w
6e60: 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68  hen dealing with
6e70: 20 75 6e 74 79 70 65 64 20 53 51 4c 69 74 65 20   untyped SQLite 
6e80: 61 66 66 69 6e 69 74 69 65 73 3c 2f 6c 69 3e 0a  affinities</li>.
6e90: 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70      </ul>.    <p
6ea0: 3e 3c 62 3e 31 2e 30 2e 34 37 2e 31 20 2d 20 44  ><b>1.0.47.1 - D
6eb0: 65 63 65 6d 62 65 72 20 35 2c 20 32 30 30 37 3c  ecember 5, 2007<
6ec0: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
6ed0: 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64  .      <li>Fixed
6ee0: 20 61 20 6c 65 66 74 6f 76 65 72 20 62 75 67 20   a leftover bug 
6ef0: 66 72 6f 6d 20 74 68 65 20 63 6f 64 65 6d 65 72  from the codemer
6f00: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
6f10: 2e 35 2e 33 20 74 68 61 74 20 66 61 69 6c 65 64  .5.3 that failed
6f20: 20 74 6f 20 63 6c 6f 73 65 20 61 20 64 61 74 61   to close a data
6f30: 62 61 73 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  base.</li>.     
6f40: 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 62   <li>Fixed the b
6f50: 72 6f 6b 65 6e 20 43 6f 6d 70 61 63 74 20 46 72  roken Compact Fr
6f60: 61 6d 65 77 6f 72 6b 20 64 69 73 74 72 69 62 75  amework distribu
6f70: 74 69 6f 6e 20 62 69 6e 61 72 79 2e 3c 2f 6c 69  tion binary.</li
6f80: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 53 51 4c 69  >.      <li>SQLi
6f90: 74 65 20 33 2e 35 2e 78 20 63 68 61 6e 67 65 64  te 3.5.x changed
6fa0: 20 73 6f 6d 65 20 69 6e 74 65 72 6e 61 6c 20 69   some internal i
6fb0: 6e 66 72 61 73 74 72 75 63 74 75 72 65 20 70 69  nfrastructure pi
6fc0: 65 63 65 73 20 69 6e 20 74 68 65 20 65 6e 63 72  eces in the encr
6fd0: 79 70 74 69 6f 6e 20 69 6e 74 65 72 66 61 63 65  yption interface
6fe0: 0a 20 20 20 20 20 20 20 20 77 68 69 63 68 20 49  .        which I
6ff0: 20 64 69 64 6e 27 74 20 63 61 74 63 68 20 69 6e   didn't catch in
7000: 69 74 69 61 6c 6c 79 2e 26 6e 62 73 70 3b 20 46  itially.&nbsp; F
7010: 69 78 65 64 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e  ixed.&nbsp;</li>
7020: 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c  .    </ul>.    <
7030: 70 3e 3c 62 3e 31 2e 30 2e 34 37 2e 30 20 2d 20  p><b>1.0.47.0 - 
7040: 44 65 63 65 6d 62 65 72 20 34 2c 20 32 30 30 37  December 4, 2007
7050: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
7060: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 43 6f 64 65  >.      <li>Code
7070: 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69   merge with SQLi
7080: 74 65 20 33 2e 35 2e 33 3c 2f 6c 69 3e 0a 20 20  te 3.5.3</li>.  
7090: 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 69 6e      <li>Added in
70a0: 73 74 61 6c 6c 65 72 20 73 75 70 70 6f 72 74 20  staller support 
70b0: 66 6f 72 20 56 69 73 75 61 6c 20 53 74 75 64 69  for Visual Studi
70c0: 6f 20 32 30 30 38 2e 26 6e 62 73 70 3b 20 43 6f  o 2008.&nbsp; Co
70d0: 64 65 20 69 73 20 73 74 69 6c 6c 20 75 73 69 6e  de is still usin
70e0: 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 56 53  g the.        VS
70f0: 32 30 30 35 20 53 44 4b 20 73 6f 20 6f 6e 65 20  2005 SDK so one 
7100: 6f 72 20 74 77 6f 20 62 65 6c 6c 73 20 61 6e 64  or two bells and
7110: 20 77 68 69 73 74 6c 65 73 20 61 72 65 20 6d 69   whistles are mi
7120: 73 73 69 6e 67 2c 20 62 75 74 20 6e 6f 74 68 69  ssing, but nothi
7130: 6e 67 20 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c  ng significant.<
7140: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 54  /li>.      <li>T
7150: 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20  his is the last 
7160: 76 65 72 73 69 6f 6e 20 74 68 61 74 20 74 68 65  version that the
7170: 20 46 54 53 31 20 61 6e 64 20 46 54 53 32 20 65   FTS1 and FTS2 e
7180: 78 74 65 6e 73 69 6f 6e 73 20 77 69 6c 6c 20 61  xtensions will a
7190: 70 70 65 61 72 2e 26 6e 62 73 70 3b 0a 20 20 20  ppear.&nbsp;.   
71a0: 20 20 20 20 20 45 76 65 72 79 6f 6e 65 20 73 68       Everyone sh
71b0: 6f 75 6c 64 20 72 65 62 75 69 6c 64 20 74 68 65  ould rebuild the
71c0: 69 72 20 66 75 6c 6c 74 65 78 74 20 69 6e 64 65  ir fulltext inde
71d0: 78 65 73 20 75 73 69 6e 67 20 74 68 65 20 6e 65  xes using the ne
71e0: 77 20 46 54 53 33 20 6d 6f 64 75 6c 65 2e 26 6e  w FTS3 module.&n
71f0: 62 73 70 3b 0a 20 20 20 20 20 20 20 20 46 54 53  bsp;.        FTS
7200: 31 20 61 6e 64 20 46 54 53 32 20 73 75 66 66 65  1 and FTS2 suffe
7210: 72 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 20  r from a design 
7220: 66 6c 61 77 20 74 68 61 74 20 63 6f 75 6c 64 20  flaw that could 
7230: 63 61 75 73 65 20 64 61 74 61 62 61 73 65 20 63  cause database c
7240: 6f 72 72 75 70 74 69 6f 6e 20 77 69 74 68 0a 20  orruption with. 
7250: 20 20 20 20 20 20 20 63 65 72 74 61 69 6e 20 76         certain v
7260: 61 63 75 75 6d 20 6f 70 65 72 61 74 69 6f 6e 73  acuum operations
7270: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
7280: 3e 46 69 78 65 64 20 70 6f 6f 6c 65 64 20 63 6f  >Fixed pooled co
7290: 6e 6e 65 63 74 69 6f 6e 73 20 73 6f 20 74 68 65  nnections so the
72a0: 79 20 72 6f 6c 6c 62 61 63 6b 20 61 6e 79 20 6f  y rollback any o
72b0: 75 74 73 74 61 6e 64 69 6e 67 20 74 72 61 6e 73  utstanding trans
72c0: 61 63 74 69 6f 6e 73 20 62 65 66 6f 72 65 0a 20  actions before. 
72d0: 20 20 20 20 20 20 20 67 6f 69 6e 67 20 74 6f 20         going to 
72e0: 74 68 65 20 70 6f 6f 6c 2e 26 6e 62 73 70 3b 20  the pool.&nbsp; 
72f0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
7300: 46 69 78 65 64 20 74 68 65 20 75 6e 69 6e 74 65  Fixed the uninte
7310: 6e 64 65 64 20 62 72 65 61 6b 69 6e 67 20 6f 66  nded breaking of
7320: 20 74 68 65 20 54 59 50 45 53 20 6b 65 79 77 6f   the TYPES keywo
7330: 72 64 2c 20 61 6e 64 20 6d 69 73 2d 74 79 70 69  rd, and mis-typi
7340: 6e 67 20 6f 66 20 75 6e 74 79 70 65 64 0a 20 20  ng of untyped.  
7350: 20 20 20 20 20 20 6f 72 20 69 6e 64 65 74 65 72        or indeter
7360: 6d 69 6e 61 74 65 20 63 6f 6c 75 6d 6e 20 74 79  minate column ty
7370: 70 65 73 2e 20 3c 2f 6c 69 3e 0a 20 20 20 20 20  pes. </li>.     
7380: 20 3c 6c 69 3e 41 73 73 65 72 74 20 61 20 46 69   <li>Assert a Fi
7390: 6c 65 49 4f 50 65 72 6d 69 73 73 69 6f 6e 28 29  leIOPermission()
73a0: 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20   requirement in 
73b0: 74 68 65 20 73 74 61 74 69 63 20 53 51 4c 69 74  the static SQLit
73c0: 65 46 75 6e 63 74 69 6f 6e 20 63 6f 6e 73 74 72  eFunction constr
73d0: 75 63 74 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 6c  uctor..      </l
73e0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68 65  i>.      <li>The
73f0: 20 43 45 2d 6f 6e 6c 79 20 53 51 4c 69 74 65 46   CE-only SQLiteF
7400: 75 6e 63 74 69 6f 6e 2e 52 65 67 69 73 74 65 72  unction.Register
7410: 46 75 6e 63 74 69 6f 6e 28 29 20 69 73 20 6e 6f  Function() is no
7420: 77 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 74  w available on t
7430: 68 65 20 64 65 73 6b 74 6f 70 0a 20 20 20 20 20  he desktop.     
7440: 20 20 20 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20     platform for 
7450: 64 79 6e 61 6d 69 63 20 72 65 67 69 73 74 72 61  dynamic registra
7460: 74 69 6f 6e 20 6f 66 20 66 75 6e 63 74 69 6f 6e  tion of function
7470: 73 2e 26 6e 62 73 70 3b 20 59 6f 75 20 6d 75 73  s.&nbsp; You mus
7480: 74 20 73 74 69 6c 6c 20 63 6c 6f 73 65 20 61 6e  t still close an
7490: 64 20 72 65 2d 6f 70 65 6e 0a 20 20 20 20 20 20  d re-open.      
74a0: 20 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69    a connection i
74b0: 6e 20 6f 72 64 65 72 20 66 6f 72 20 74 68 65 20  n order for the 
74c0: 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20  new function to 
74d0: 62 65 20 73 65 65 6e 20 62 79 20 61 20 63 6f 6e  be seen by a con
74e0: 6e 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20  nection.</li>.  
74f0: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74 68      <li>Fixed th
7500: 65 20 22 64 61 74 61 62 61 73 65 20 69 73 20 6c  e "database is l
7510: 6f 63 6b 65 64 22 20 65 72 72 6f 72 73 20 62 79  ocked" errors by
7520: 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 62 65   implementing be
7530: 68 61 76 69 6f 72 61 6c 20 63 68 61 6e 67 65 73  havioral changes
7540: 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20   in the.        
7550: 69 6e 74 65 72 6f 70 2e 63 20 66 69 6c 65 20 66  interop.c file f
7560: 6f 72 20 53 51 4c 69 74 65 2e 26 6e 62 73 70 3b  or SQLite.&nbsp;
7570: 20 43 6c 6f 73 69 6e 67 20 61 20 64 61 74 61 62   Closing a datab
7580: 61 73 65 20 66 6f 72 63 65 2d 66 69 6e 61 6c 69  ase force-finali
7590: 7a 65 73 20 61 6e 79 20 70 72 65 70 61 72 65 64  zes any prepared
75a0: 0a 20 20 20 20 20 20 20 20 73 74 61 74 65 6d 65  .        stateme
75b0: 6e 74 73 20 6f 6e 20 74 68 65 20 64 61 74 61 62  nts on the datab
75c0: 61 73 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68  ase to ensure th
75d0: 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20  e connection is 
75e0: 66 75 6c 6c 79 20 63 6c 6f 73 65 64 2e 26 6e 62  fully closed.&nb
75f0: 73 70 3b 20 54 68 69 73 0a 20 20 20 20 20 20 20  sp; This.       
7600: 20 77 61 73 20 72 61 74 68 65 72 20 74 72 69 63   was rather tric
7610: 6b 79 20 62 65 63 61 75 73 65 20 74 68 65 20 47  ky because the G
7620: 43 20 74 68 72 65 61 64 20 63 6f 75 6c 64 20 73  C thread could s
7630: 74 69 6c 6c 20 62 65 20 66 69 6e 61 6c 69 7a 69  till be finalizi
7640: 6e 67 20 73 74 61 74 65 6d 65 6e 74 73 20 69 74  ng statements it
7650: 73 65 6c 66 2e 0a 20 20 20 20 20 20 20 20 26 6e  self..        &n
7660: 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  bsp;</li>.      
7670: 3c 6c 69 3e 4d 6f 64 69 66 65 64 20 74 68 65 20  <li>Modifed the 
7680: 6d 65 72 67 65 62 69 6e 20 75 74 69 6c 69 74 79  mergebin utility
7690: 20 74 6f 20 68 65 6c 70 20 63 69 72 63 75 6d 76   to help circumv
76a0: 65 6e 74 20 61 20 6c 6f 6e 67 2d 73 74 61 6e 64  ent a long-stand
76b0: 69 6e 67 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20  ing strong name 
76c0: 76 65 72 69 66 69 63 61 74 69 6f 6e 0a 20 20 20  verification.   
76d0: 20 20 20 20 20 62 75 67 20 69 6e 20 74 68 65 20       bug in the 
76e0: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
76f0: 6b 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c  k.</li>.    </ul
7700: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
7710: 34 36 2e 30 20 2d 20 53 65 70 74 65 6d 62 65 72  46.0 - September
7720: 20 33 30 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70   30, 2007</b></p
7730: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c  >.    <ul>.    <
7740: 6c 69 3e 46 69 78 65 64 20 66 61 75 6c 74 79 20  li>Fixed faulty 
7750: 6c 6f 67 69 63 20 69 6e 20 74 79 70 65 20 64 69  logic in type di
7760: 73 63 6f 76 65 72 79 20 63 6f 64 65 20 77 68 65  scovery code whe
7770: 6e 20 75 73 69 6e 67 20 53 51 4c 69 74 65 44 61  n using SQLiteDa
7780: 74 61 52 65 61 64 65 72 2e 47 65 74 56 61 6c 75  taReader.GetValu
7790: 65 28 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  e().</li>.      
77a0: 3c 6c 69 3e 46 69 78 65 64 20 43 6f 6e 6e 65 63  <li>Fixed Connec
77b0: 74 69 6f 6e 2e 4f 70 65 6e 28 29 20 62 75 67 20  tion.Open() bug 
77c0: 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74  when dealing wit
77d0: 68 20 3a 6d 65 6d 6f 72 79 3a 20 64 61 74 61 62  h :memory: datab
77e0: 61 73 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  ases.</li>.     
77f0: 20 3c 6c 69 3e 46 69 78 65 64 20 53 51 4c 69 74   <li>Fixed SQLit
7800: 65 43 6f 6d 6d 61 6e 64 2e 45 78 65 63 75 74 65  eCommand.Execute
7810: 53 63 61 6c 61 72 28 29 20 74 6f 20 72 65 74 75  Scalar() to retu
7820: 72 6e 20 61 20 70 72 6f 70 65 72 6c 79 2d 74 79  rn a properly-ty
7830: 70 65 64 20 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a  ped value.</li>.
7840: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
7850: 73 75 70 70 6f 72 74 20 66 6f 72 20 53 51 4c 69  support for SQLi
7860: 74 65 50 61 72 61 6d 65 74 65 72 2e 52 65 73 65  teParameter.Rese
7870: 74 44 62 54 79 70 65 28 29 2e 3c 2f 6c 69 3e 0a  tDbType().</li>.
7880: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
7890: 74 65 73 74 20 63 61 73 65 73 20 66 6f 72 20 72  test cases for r
78a0: 69 67 69 64 20 61 6e 64 20 66 6c 65 78 69 62 6c  igid and flexibl
78b0: 65 20 74 79 70 65 20 74 65 73 74 69 6e 67 2e 3c  e type testing.<
78c0: 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20  /li>.    </ul>. 
78d0: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 35 2e     <p><b>1.0.45.
78e0: 30 20 2d 20 53 65 70 74 65 6d 62 65 72 20 32 35  0 - September 25
78f0: 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2007</b></p>. 
7900: 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e     <ul>.    <li>
7910: 3c 73 74 72 6f 6e 67 3e 42 72 65 61 6b 69 6e 67  <strong>Breaking
7920: 20 63 68 61 6e 67 65 20 69 6e 20 47 65 74 53 63   change in GetSc
7930: 68 65 6d 61 28 22 49 6e 64 65 78 65 73 22 29 20  hema("Indexes") 
7940: 3c 2f 73 74 72 6f 6e 67 3e 2d 2d 20 4d 65 74 61  </strong>-- Meta
7950: 44 61 74 61 43 6f 6c 6c 65 63 74 69 6f 6e 73 0a  DataCollections.
7960: 20 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f        restrictio
7970: 6e 73 20 61 6e 64 20 69 64 65 6e 74 69 66 69 65  ns and identifie
7980: 72 20 70 61 72 74 73 20 63 6f 75 6e 74 73 20 77  r parts counts w
7990: 65 72 65 20 77 72 6f 6e 67 20 66 6f 72 20 74 68  ere wrong for th
79a0: 69 73 20 73 63 68 65 6d 61 20 61 6e 64 20 49 20  is schema and I 
79b0: 77 61 73 20 75 73 69 6e 67 0a 20 20 20 20 20 20  was using.      
79c0: 74 68 65 20 77 72 6f 6e 67 20 66 69 6e 61 6c 20  the wrong final 
79d0: 70 61 72 61 6d 65 74 65 72 20 61 73 20 74 68 65  parameter as the
79e0: 20 66 69 6e 61 6c 20 72 65 73 74 72 69 63 74 69   final restricti
79f0: 6f 6e 2e 26 6e 62 73 70 3b 20 4d 65 61 6e 69 6e  on.&nbsp; Meanin
7a00: 67 2c 20 69 66 20 79 6f 75 20 75 73 65 20 74 68  g, if you use th
7a10: 65 0a 20 20 20 20 20 20 49 6e 64 65 78 65 73 20  e.      Indexes 
7a20: 73 63 68 65 6d 61 20 61 6e 64 20 61 72 65 20 71  schema and are q
7a30: 75 65 72 79 69 6e 67 20 66 6f 72 20 61 20 73 70  uerying for a sp
7a40: 65 63 69 66 69 63 20 69 6e 64 65 78 20 74 68 65  ecific index the
7a50: 20 61 72 72 61 79 20 73 68 6f 75 6c 64 20 6e 6f   array should no
7a60: 77 20 62 65 20 7b 63 61 74 61 6c 6f 67 2c 0a 20  w be {catalog,. 
7a70: 20 20 20 20 20 6e 75 6c 6c 2c 20 74 61 62 6c 65       null, table
7a80: 2c 20 69 6e 64 65 78 20 7d 20 69 6e 73 74 65 61  , index } instea
7a90: 64 20 6f 66 20 7b 63 61 74 61 6c 6f 67 2c 20 6e  d of {catalog, n
7aa0: 75 6c 6c 2c 20 74 61 62 6c 65 2c 20 6e 75 6c 6c  ull, table, null
7ab0: 2c 20 69 6e 64 65 78 7d 3c 2f 6c 69 3e 0a 20 20  , index}</li>.  
7ac0: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
7ad0: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
7ae0: 2e 34 2e 32 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  .4.2</li>.      
7af0: 3c 6c 69 3e 46 69 78 65 64 20 73 6f 6d 65 20 65  <li>Fixed some e
7b00: 72 72 6f 72 73 20 69 6e 20 74 68 65 20 65 6e 63  rrors in the enc
7b10: 72 79 70 74 69 6f 6e 20 6d 6f 64 75 6c 65 2c 20  ryption module, 
7b20: 6d 6f 73 74 20 6e 6f 74 61 62 6c 79 20 77 68 65  most notably whe
7b30: 6e 20 61 20 6e 6f 6e 2d 64 65 66 61 75 6c 74 20  n a non-default 
7b40: 70 61 67 65 0a 20 20 20 20 20 20 20 20 73 69 7a  page.        siz
7b50: 65 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69  e is specified i
7b60: 6e 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  n the connection
7b70: 20 73 74 72 69 6e 67 2e 20 3c 2f 6c 69 3e 0a 20   string. </li>. 
7b80: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 53       <li>Fixed S
7b90: 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 20  QLiteDataReader 
7ba0: 74 6f 20 62 65 74 74 65 72 20 68 61 6e 64 6c 65  to better handle
7bb0: 20 74 79 70 65 2d 6c 65 73 73 20 75 73 61 67 65   type-less usage
7bc0: 20 73 63 65 6e 61 72 69 6f 73 2c 20 77 68 69 63   scenarios, whic
7bd0: 68 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 66  h also.        f
7be0: 69 78 65 73 20 70 72 6f 62 6c 65 6d 73 20 77 69  ixes problems wi
7bf0: 74 68 20 6e 75 6c 6c 20 76 61 6c 75 65 73 20 61  th null values a
7c00: 6e 64 20 64 61 74 65 74 69 6d 65 73 2e 3c 2f 6c  nd datetimes.</l
7c10: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
7c20: 65 64 20 74 68 65 20 6c 65 66 74 6f 76 65 72 20  ed the leftover 
7c30: 74 65 6d 70 20 66 69 6c 65 73 20 70 72 6f 62 6c  temp files probl
7c40: 65 6d 20 6f 6e 20 57 69 6e 43 45 20 3c 2f 6c 69  em on WinCE </li
7c50: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65  >.      <li>Adde
7c60: 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 70 6f 6f  d connection poo
7c70: 6c 69 6e 67 2e 26 6e 62 73 70 3b 20 54 68 65 20  ling.&nbsp; The 
7c80: 64 65 66 61 75 6c 74 20 69 73 20 64 69 73 61 62  default is disab
7c90: 6c 65 64 20 66 6f 72 20 6e 6f 77 2c 20 62 75 74  led for now, but
7ca0: 20 6d 61 79 20 63 68 61 6e 67 65 0a 20 20 20 20   may change.    
7cb0: 20 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e    in the future.
7cc0: 26 6e 62 73 70 3b 20 53 65 74 20 22 50 6f 6f 6c  &nbsp; Set "Pool
7cd0: 69 6e 67 3d 54 72 75 65 22 20 69 6e 20 74 68 65  ing=True" in the
7ce0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69   connection stri
7cf0: 6e 67 20 74 6f 20 65 6e 61 62 6c 65 20 69 74 2e  ng to enable it.
7d00: 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69   </li>.      <li
7d10: 3e 53 70 65 64 20 75 70 20 53 51 4c 69 74 65 43  >Sped up SQLiteC
7d20: 6f 6e 6e 65 63 74 69 6f 6e 2e 4f 70 65 6e 28 29  onnection.Open()
7d30: 20 63 6f 6e 73 69 64 65 72 61 62 6c 79 2e 3c 2f   considerably.</
7d40: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64  li>.      <li>Ad
7d50: 64 65 64 20 73 6f 6d 65 20 6d 6f 72 65 20 72 6f  ded some more ro
7d60: 62 75 73 74 20 63 6c 65 61 6e 75 70 20 63 6f 64  bust cleanup cod
7d70: 65 20 72 65 67 61 72 64 69 6e 67 20 53 51 4c 69  e regarding SQLi
7d80: 74 65 46 75 6e 63 74 69 6f 6e 73 2e 3c 2f 6c 69  teFunctions.</li
7d90: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 69 6e 6f  >.      <li>Mino
7da0: 72 20 61 64 64 69 74 69 6f 6e 73 20 74 6f 20 74  r additions to t
7db0: 68 65 20 63 6f 64 65 20 74 6f 20 61 6c 6c 6f 77  he code to allow
7dc0: 20 66 6f 72 20 66 75 74 75 72 65 20 4c 49 4e 51   for future LINQ
7dd0: 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 69 6e 74   integration int
7de0: 6f 20 74 68 65 20 6d 61 69 6e 0a 20 20 20 20 20  o the main.     
7df0: 20 20 20 63 6f 64 65 62 61 73 65 2e 3c 2f 6c 69     codebase.</li
7e00: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  >.      <li>Fixe
7e10: 64 20 61 20 6c 6f 6e 67 2d 73 74 61 6e 64 69 6e  d a long-standin
7e20: 67 20 62 75 67 20 69 6e 20 74 68 65 20 4f 70 65  g bug in the Ope
7e30: 6e 28 29 20 63 6f 6d 6d 61 6e 64 20 6f 66 20 53  n() command of S
7e40: 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20  QLiteConnection 
7e50: 77 68 69 63 68 20 66 61 69 6c 65 64 0a 20 20 20  which failed.   
7e60: 20 20 20 74 6f 20 68 6f 6e 6f 72 20 74 68 65 20     to honor the 
7e70: 64 6f 63 75 6d 65 6e 74 65 64 20 64 65 66 61 75  documented defau
7e80: 6c 74 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74  lt behavior of t
7e90: 68 65 20 53 51 4c 69 74 65 2e 4e 45 54 20 70 72  he SQLite.NET pr
7ea0: 6f 76 69 64 65 72 20 74 6f 20 6f 70 65 6e 20 74  ovider to open t
7eb0: 68 65 0a 20 20 20 20 20 20 64 61 74 61 62 61 73  he.      databas
7ec0: 65 20 69 6e 20 22 53 79 6e 63 68 72 6f 6e 6f 75  e in "Synchronou
7ed0: 73 3d 4e 6f 72 6d 61 6c 22 20 6d 6f 64 65 2e 26  s=Normal" mode.&
7ee0: 6e 62 73 70 3b 20 54 68 65 20 64 65 66 61 75 6c  nbsp; The defaul
7ef0: 74 20 77 61 73 20 22 46 75 6c 6c 22 2e 20 3c 2f  t was "Full". </
7f00: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 49 66  li>.      <li>If
7f10: 20 4f 70 65 6e 28 29 20 66 61 69 6c 73 2c 20 69   Open() fails, i
7f20: 74 20 6e 6f 20 6c 6f 6e 67 65 72 20 73 65 74 73  t no longer sets
7f30: 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20   the connection 
7f40: 73 74 61 74 65 20 74 6f 20 42 72 6f 6b 65 6e 2e  state to Broken.
7f50: 26 6e 62 73 70 3b 20 49 74 20 69 6e 73 74 65 61  &nbsp; It instea
7f60: 64 0a 20 20 20 20 20 20 20 20 72 65 76 65 72 74  d.        revert
7f70: 73 20 62 61 63 6b 20 74 6f 20 43 6c 6f 73 65 64  s back to Closed
7f80: 2c 20 61 6e 64 20 63 6c 65 61 6e 73 20 75 70 20  , and cleans up 
7f90: 61 66 74 65 72 20 69 74 73 65 6c 66 2e 3c 2f 6c  after itself.</l
7fa0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64  i>.      <li>Add
7fb0: 65 64 20 73 65 76 65 72 61 6c 20 6e 65 77 20 70  ed several new p
7fc0: 61 72 61 6d 65 74 65 72 73 20 74 6f 20 74 68 65  arameters to the
7fd0: 20 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e   ConnectionStrin
7fe0: 67 20 66 6f 72 20 73 65 74 74 69 6e 67 20 6d 61  g for setting ma
7ff0: 78 20 70 61 67 65 20 63 6f 75 6e 74 2c 0a 20 20  x page count,.  
8000: 20 20 20 20 20 20 6c 65 67 61 63 79 20 66 69 6c        legacy fil
8010: 65 20 66 6f 72 6d 61 74 2c 20 61 6e 64 20 61 6e  e format, and an
8020: 6f 74 68 65 72 20 63 61 6c 6c 65 64 20 46 61 69  other called Fai
8030: 6c 49 66 4d 69 73 73 69 6e 67 20 74 6f 20 72 61  lIfMissing to ra
8040: 69 73 65 20 61 6e 20 65 72 72 6f 72 20 72 61 74  ise an error rat
8050: 68 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 20  her than.       
8060: 20 63 72 65 61 74 65 20 74 68 65 20 64 61 74 61   create the data
8070: 62 61 73 65 20 66 69 6c 65 20 61 75 74 6f 6d 61  base file automa
8080: 74 69 63 61 6c 6c 79 20 69 66 20 69 74 20 64 6f  tically if it do
8090: 65 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 65  es not already e
80a0: 78 69 73 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  xist.</li>.     
80b0: 20 3c 6c 69 3e 46 69 78 65 64 20 73 6f 6d 65 20   <li>Fixed some 
80c0: 64 65 73 69 67 6e 65 72 20 74 6f 6f 6c 62 6f 78  designer toolbox
80d0: 20 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 74   references to t
80e0: 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e  he wrong version
80f0: 20 6f 66 20 74 68 65 20 53 51 4c 69 74 65 2e 44   of the SQLite.D
8100: 65 73 69 67 6e 65 72 3c 2f 6c 69 3e 0a 20 20 20  esigner</li>.   
8110: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62     <li>Fixed a b
8120: 75 67 20 69 6e 20 74 68 65 20 6d 65 72 67 65 62  ug in the mergeb
8130: 69 6e 20 75 74 69 6c 69 74 79 20 77 69 74 68 20  in utility with 
8140: 72 65 67 61 72 64 73 20 74 6f 20 43 4f 52 32 30  regards to COR20
8150: 20 6d 65 74 61 64 61 74 61 20 72 6f 77 73 69 7a   metadata rowsiz
8160: 65 20 63 6f 6d 70 75 74 61 74 69 6f 6e 73 2e 26  e computations.&
8170: 6e 62 73 70 3b 0a 20 20 20 20 20 20 3c 2f 6c 69  nbsp;.      </li
8180: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 69 6e 6f  >.      <li>Mino
8190: 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20  r documentation 
81a0: 63 6f 72 72 65 63 74 69 6f 6e 73 20 26 6e 62 73  corrections &nbs
81b0: 70 3b 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20  p;&nbsp;</li>.  
81c0: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
81d0: 62 3e 31 2e 30 2e 34 34 2e 30 20 2d 20 4a 75 6c  b>1.0.44.0 - Jul
81e0: 79 20 32 31 2c 20 32 30 30 37 3c 2f 62 3e 3c 2f  y 21, 2007</b></
81f0: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
8200: 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77  <li>Code merge w
8210: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 34 2e 31  ith SQLite 3.4.1
8220: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
8230: 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 53  Fixed a bug in S
8240: 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e  QLiteConnection.
8250: 4f 70 65 6e 28 29 20 77 68 69 63 68 20 74 68 72  Open() which thr
8260: 65 77 20 74 68 65 20 77 72 6f 6e 67 20 6b 69 6e  ew the wrong kin
8270: 64 20 6f 66 20 65 72 72 6f 72 20 69 6e 0a 20 20  d of error in.  
8280: 20 20 20 20 20 20 74 68 65 20 77 72 6f 6e 67 20        the wrong 
8290: 6b 69 6e 64 20 6f 66 20 77 61 79 20 77 68 65 6e  kind of way when
82a0: 20 61 20 64 61 74 61 62 61 73 65 20 66 69 6c 65   a database file
82b0: 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70   could not be op
82c0: 65 6e 65 64 20 6f 72 20 63 72 65 61 74 65 64 2e  ened or created.
82d0: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20  &nbsp;</li>.    
82e0: 20 20 3c 6c 69 3e 53 6d 61 6c 6c 20 65 6e 68 61    <li>Small enha
82f0: 6e 63 65 6d 65 6e 74 73 20 74 6f 20 74 68 65 20  ncements to the 
8300: 54 59 50 45 53 20 6b 65 79 77 6f 72 64 2c 20 61  TYPES keyword, a
8310: 6e 64 20 61 64 64 65 64 20 64 6f 63 75 6d 65 6e  nd added documen
8320: 74 61 74 69 6f 6e 20 66 6f 72 20 69 74 20 69 6e  tation for it in
8330: 20 74 68 65 0a 20 20 20 20 20 20 20 20 68 65 6c   the.        hel
8340: 70 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20  p file.</li>.   
8350: 20 20 20 3c 6c 69 3e 48 6f 70 65 66 75 6c 6c 79     <li>Hopefully
8360: 20 66 69 78 65 64 20 74 68 65 20 6f 63 63 61 73   fixed the occas
8370: 69 6f 6e 61 6c 20 53 51 4c 49 54 45 5f 42 55 53  ional SQLITE_BUS
8380: 59 20 65 72 72 6f 72 73 20 74 68 61 74 20 63 72  Y errors that cr
8390: 6f 70 70 65 64 20 75 70 20 77 68 65 6e 20 73 74  opped up when st
83a0: 61 72 74 69 6e 67 0a 20 20 20 20 20 20 20 20 61  arting.        a
83b0: 20 74 72 61 6e 73 61 63 74 69 6f 6e 2e 26 6e 62   transaction.&nb
83c0: 73 70 3b 20 55 73 75 61 6c 6c 79 20 6f 63 63 75  sp; Usually occu
83d0: 72 72 65 64 20 69 6e 20 68 69 67 68 2d 63 6f 6e  rred in high-con
83e0: 74 65 6e 74 69 6f 6e 20 73 63 65 6e 61 72 69 6f  tention scenario
83f0: 73 2c 20 61 6e 64 20 74 68 65 20 75 6e 64 65 72  s, and the under
8400: 6c 79 69 6e 67 0a 20 20 20 20 20 20 20 20 53 51  lying.        SQ
8410: 4c 69 74 65 20 65 6e 67 69 6e 65 20 62 79 70 61  Lite engine bypa
8420: 73 73 65 73 20 74 68 65 20 62 75 73 79 20 68 61  sses the busy ha
8430: 6e 64 6c 65 72 20 69 6e 20 74 68 69 73 20 73 63  ndler in this sc
8440: 65 6e 61 72 69 6f 20 74 6f 20 72 65 74 75 72 6e  enario to return
8450: 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 3c 2f 6c   immediately.</l
8460: 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20  i>.    </ul>.   
8470: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 33 2e 30 20   <p><b>1.0.43.0 
8480: 2d 20 4a 75 6e 65 20 32 31 2c 20 32 30 30 37 3c  - June 21, 2007<
8490: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
84a0: 0a 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65  .    <li>Code me
84b0: 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20  rge with SQLite 
84c0: 33 2e 34 2e 30 3c 2f 6c 69 3e 0a 20 20 20 20 20  3.4.0</li>.     
84d0: 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 72 65 75   <li>Fixed a reu
84e0: 73 65 20 62 75 67 20 69 6e 20 74 68 65 20 53 51  se bug in the SQ
84f0: 4c 69 74 65 44 61 74 61 41 64 61 70 74 65 72 20  LiteDataAdapter 
8500: 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77  in conjunction w
8510: 69 74 68 20 74 68 65 20 53 51 4c 69 74 65 43 6f  ith the SQLiteCo
8520: 6d 6d 61 6e 64 42 75 69 6c 64 65 72 2e 26 6e 62  mmandBuilder.&nb
8530: 73 70 3b 0a 20 20 20 20 20 20 49 74 27 73 20 62  sp;.      It's b
8540: 65 65 6e 20 74 68 65 72 65 20 75 6e 6e 6f 74 69  een there unnoti
8550: 63 65 64 20 66 6f 72 20 6d 6f 72 65 20 74 68 61  ced for more tha
8560: 6e 20 61 20 79 65 61 72 2c 20 73 6f 20 69 74 20  n a year, so it 
8570: 6c 6f 6f 6b 73 20 6c 69 6b 65 20 6d 6f 73 74 20  looks like most 
8580: 66 6f 6c 6b 73 20 6e 65 76 65 72 0a 20 20 20 20  folks never.    
8590: 20 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 69 74    encountered it
85a0: 2e 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  . </li>.      <l
85b0: 69 3e 46 69 78 65 64 20 61 6e 20 65 76 65 6e 74  i>Fixed an event
85c0: 20 68 61 6e 64 6c 65 72 20 62 75 67 20 69 6e 20   handler bug in 
85d0: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 42 75 69  SQLiteCommandBui
85e0: 6c 64 65 72 20 69 6e 20 77 68 69 63 68 20 69 74  lder in which it
85f0: 20 63 6f 75 6c 64 20 66 61 69 6c 20 74 6f 20 75   could fail to u
8600: 6e 6c 61 74 63 68 0a 20 20 20 20 20 20 20 20 66  nlatch.        f
8610: 72 6f 6d 20 74 68 65 20 44 61 74 61 41 64 61 70  rom the DataAdap
8620: 74 65 72 20 77 68 65 6e 20 72 65 75 73 65 64 2e  ter when reused.
8630: 26 6e 62 73 70 3b 20 52 65 6c 61 74 65 73 20 74  &nbsp; Relates t
8640: 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 62  o the previous b
8650: 75 67 66 69 78 2e 3c 2f 6c 69 3e 0a 20 20 20 20  ugfix.</li>.    
8660: 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 64 6f    <li>Fixed a do
8670: 75 62 6c 65 2d 64 69 73 70 6f 73 65 20 62 75 67  uble-dispose bug
8680: 20 69 6e 20 53 51 4c 69 74 65 53 74 61 74 65 6d   in SQLiteStatem
8690: 65 6e 74 20 74 68 61 74 20 74 72 69 67 67 65 72  ent that trigger
86a0: 65 64 20 61 20 53 51 4c 69 74 65 45 78 63 65 70  ed a SQLiteExcep
86b0: 74 69 6f 6e 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e  tion.&nbsp;</li>
86c0: 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c  .    </ul>.    <
86d0: 70 3e 3c 62 3e 31 2e 30 2e 34 32 2e 30 20 2d 20  p><b>1.0.42.0 - 
86e0: 4a 75 6e 65 20 31 2c 20 32 30 30 37 3c 2f 62 3e  June 1, 2007</b>
86f0: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
8700: 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65    <li>Code merge
8710: 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 33   with SQLite 3.3
8720: 2e 31 37 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  .17</li>.      <
8730: 6c 69 3e 43 68 61 6e 67 65 64 20 74 68 65 20 53  li>Changed the S
8740: 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 20 73 74  QLiteFunction st
8750: 61 74 69 63 20 63 6f 6e 73 74 72 75 63 74 6f 72  atic constructor
8760: 20 73 6f 20 69 74 20 6f 6e 6c 79 20 65 6e 75 6d   so it only enum
8770: 65 72 61 74 65 73 20 6c 6f 61 64 65 64 20 6d 6f  erates loaded mo
8780: 64 75 6c 65 73 0a 20 20 20 20 20 20 20 20 74 68  dules.        th
8790: 61 74 20 68 61 76 65 20 72 65 66 65 72 65 6e 63  at have referenc
87a0: 65 64 20 74 68 65 20 53 51 4c 69 74 65 20 61 73  ed the SQLite as
87b0: 73 65 6d 62 6c 79 2c 20 77 68 69 63 68 20 68 6f  sembly, which ho
87c0: 70 65 66 75 6c 6c 79 20 73 68 6f 75 6c 64 20 63  pefully should c
87d0: 75 74 20 64 6f 77 6e 20 64 72 61 6d 61 74 69 63  ut down dramatic
87e0: 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 74 68 65  ally.        the
87f0: 20 74 69 6d 65 20 69 74 20 74 61 6b 65 73 20 66   time it takes f
8800: 6f 72 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e  or that function
8810: 20 74 6f 20 65 78 65 63 75 74 65 2e 26 6e 62 73   to execute.&nbs
8820: 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  p;</li>.      <l
8830: 69 3e 41 64 64 65 64 20 74 68 65 20 46 54 53 32  i>Added the FTS2
8840: 20 66 75 6c 6c 2d 74 65 78 74 20 73 65 61 72 63   full-text searc
8850: 68 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 74  h extension to t
8860: 68 65 20 70 72 6f 6a 65 63 74 2e 26 6e 62 73 70  he project.&nbsp
8870: 3b 20 4c 6f 6f 6b 20 66 6f 72 20 46 54 53 31 0a  ; Look for FTS1.
8880: 20 20 20 20 20 20 20 20 74 6f 20 64 69 73 61 70          to disap
8890: 70 65 61 72 20 77 69 74 68 69 6e 20 74 68 65 20  pear within the 
88a0: 6e 65 78 74 20 63 6f 75 70 6c 65 20 6f 66 20 72  next couple of r
88b0: 65 76 69 73 69 6f 6e 73 2e 26 6e 62 73 70 3b 3c  evisions.&nbsp;<
88c0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  /li>.      <li>F
88d0: 69 78 65 64 20 61 20 62 75 67 20 69 6e 74 72 6f  ixed a bug intro
88e0: 64 75 63 65 64 20 77 69 74 68 20 74 68 65 20 66  duced with the f
88f0: 69 6e 61 6c 69 7a 65 72 73 20 74 68 61 74 20 74  inalizers that t
8900: 72 69 67 67 65 72 65 64 20 61 6e 20 65 72 72 6f  riggered an erro
8910: 72 20 77 68 65 6e 20 73 74 61 74 65 6d 65 6e 74  r when statement
8920: 73 0a 20 20 20 20 20 20 20 20 65 6e 64 65 64 20  s.        ended 
8930: 77 69 74 68 20 61 20 73 65 6d 69 2d 63 6f 6c 6f  with a semi-colo
8940: 6e 20 6f 72 20 68 61 64 20 6f 74 68 65 72 20 6e  n or had other n
8950: 6f 6e 2d 70 61 72 73 61 62 6c 65 20 63 6f 6d 6d  on-parsable comm
8960: 65 6e 74 73 20 61 74 20 74 68 65 20 65 6e 64 20  ents at the end 
8970: 6f 66 20 61 20 73 74 61 74 65 6d 65 6e 74 26 6e  of a statement&n
8980: 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  bsp;</li>.      
8990: 3c 6c 69 3e 46 69 78 65 64 20 61 6e 20 69 6e 74  <li>Fixed an int
89a0: 65 72 6d 69 74 74 65 6e 74 20 6d 75 6c 74 69 2d  ermittent multi-
89b0: 74 68 72 65 61 64 65 64 20 72 61 63 65 20 63 6f  threaded race co
89c0: 6e 64 69 74 69 6f 6e 20 62 65 74 77 65 65 6e 20  ndition between 
89d0: 74 68 65 20 67 61 72 62 61 67 65 20 63 6f 6c 6c  the garbage coll
89e0: 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 74 68  ector.        th
89f0: 72 65 61 64 20 61 6e 64 20 74 68 65 20 6d 61 69  read and the mai
8a00: 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 68  n application th
8a10: 72 65 61 64 20 77 68 69 63 68 20 6c 65 61 64 20  read which lead 
8a20: 74 6f 20 61 6e 20 6f 63 63 61 73 69 6f 6e 61 6c  to an occasional
8a30: 20 53 51 4c 49 54 45 5f 4d 49 53 55 53 45 0a 20   SQLITE_MISUSE. 
8a40: 20 20 20 20 20 20 20 65 72 72 6f 72 2e 3c 2f 6c         error.</l
8a50: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
8a60: 65 64 20 61 6e 6f 74 68 65 72 20 69 73 73 75 65  ed another issue
8a70: 20 72 65 6c 61 74 69 6e 67 20 74 6f 20 53 51 4c   relating to SQL
8a80: 69 74 65 27 73 20 69 6e 68 65 72 65 6e 74 20 74  ite's inherent t
8a90: 79 70 65 6c 65 73 73 6e 65 73 73 20 77 68 65 6e  ypelessness when
8aa0: 20 64 65 61 6c 69 6e 67 20 77 69 74 68 0a 20 20   dealing with.  
8ab0: 20 20 20 20 20 20 61 67 67 72 65 67 61 74 65 20        aggregate 
8ac0: 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20  functions which 
8ad0: 63 6f 75 6c 64 20 72 65 74 75 72 6e 20 49 6e 74  could return Int
8ae0: 36 34 20 6f 72 20 44 6f 75 62 6c 65 20 6f 72 20  64 or Double or 
8af0: 65 76 65 6e 20 53 74 72 69 6e 67 20 66 6f 72 20  even String for 
8b00: 61 20 67 69 76 65 6e 0a 20 20 20 20 20 20 20 20  a given.        
8b10: 72 6f 77 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e  row depending on
8b20: 20 77 68 61 74 20 77 61 73 20 61 67 67 72 65 67   what was aggreg
8b30: 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  ated.</li>.     
8b40: 20 3c 6c 69 3e 52 65 6d 65 6d 62 65 72 65 64 20   <li>Remembered 
8b50: 74 6f 20 72 65 63 6f 6d 70 69 6c 65 20 74 68 65  to recompile the
8b60: 20 44 44 45 58 20 70 6f 72 74 69 6f 6e 20 6f 66   DDEX portion of
8b70: 20 74 68 65 20 65 6e 67 69 6e 65 20 74 68 69 73   the engine this
8b80: 20 74 69 6d 65 2c 20 73 6f 20 43 6f 6d 70 61 63   time, so Compac
8b90: 74 20 46 72 61 6d 65 77 6f 72 6b 0a 20 20 20 20  t Framework.    
8ba0: 20 20 20 20 75 73 65 72 73 20 63 61 6e 20 6f 6e      users can on
8bb0: 63 65 20 61 67 61 69 6e 20 75 73 65 20 74 68 65  ce again use the
8bc0: 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 66 75 6e   design-time fun
8bd0: 63 74 69 6f 6e 61 6c 69 74 79 3c 2f 6c 69 3e 0a  ctionality</li>.
8be0: 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70      </ul>.    <p
8bf0: 3e 3c 62 3e 31 2e 30 2e 34 31 2e 30 20 2d 20 41  ><b>1.0.41.0 - A
8c00: 70 72 69 6c 20 32 33 2c 20 32 30 30 37 3c 2f 62  pril 23, 2007</b
8c10: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20  ></p>.    <ul>. 
8c20: 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67     <li>Code merg
8c30: 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e  e with SQLite 3.
8c40: 33 2e 31 36 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  3.16</li>.      
8c50: 3c 6c 69 3e 53 65 63 6f 6e 64 20 67 6f 20 61 74  <li>Second go at
8c60: 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 70 72   implementing pr
8c70: 6f 70 65 72 20 66 69 6e 61 6c 69 7a 65 72 73 20  oper finalizers 
8c80: 74 6f 20 63 6c 65 61 6e 75 70 20 61 66 74 65 72  to cleanup after
8c90: 20 66 6f 6c 6b 73 20 77 68 6f 27 76 65 20 66 6f   folks who've fo
8ca0: 72 67 6f 74 74 65 6e 20 74 6f 20 44 69 73 70 6f  rgotten to Dispo
8cb0: 73 65 28 29 20 6f 66 20 74 68 65 20 53 51 4c 69  se() of the SQLi
8cc0: 74 65 20 6f 62 6a 65 63 74 73 3c 2f 6c 69 3e 0a  te objects</li>.
8cd0: 20 20 20 20 20 20 3c 6c 69 3e 45 6e 68 61 6e 63        <li>Enhanc
8ce0: 65 64 20 47 65 74 53 63 68 65 6d 61 28 49 6e 64  ed GetSchema(Ind
8cf0: 65 78 43 6f 6c 75 6d 6e 73 29 20 74 6f 20 70 72  exColumns) to pr
8d00: 6f 76 69 64 65 20 6e 75 6d 65 72 69 63 20 73 63  ovide numeric sc
8d10: 61 6c 65 20 61 6e 64 20 70 72 65 63 69 73 69 6f  ale and precisio
8d20: 6e 20 76 61 6c 75 65 73 3c 2f 6c 69 3e 0a 20 20  n values</li>.  
8d30: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74 68      <li>Fixed th
8d40: 65 20 63 6f 6c 75 6d 6e 20 6f 72 64 69 6e 61 6c  e column ordinal
8d50: 73 20 69 6e 20 47 65 74 53 63 68 65 6d 61 28 49  s in GetSchema(I
8d60: 6e 64 65 78 43 6f 6c 75 6d 6e 73 29 20 74 6f 20  ndexColumns) to 
8d70: 72 65 70 6f 72 74 20 74 68 65 20 6f 72 64 69 6e  report the ordin
8d80: 61 6c 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d 6e  al of the column
8d90: 20 69 6e 20 74 68 65 20 69 6e 64 65 78 2c 20 6e   in the index, n
8da0: 6f 74 20 74 68 65 20 74 61 62 6c 65 3c 2f 6c 69  ot the table</li
8db0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65  >.      <li>Fixe
8dc0: 64 20 61 20 62 75 67 20 77 68 65 72 65 62 79 20  d a bug whereby 
8dd0: 70 61 72 61 6d 65 74 65 72 73 20 6e 61 6d 65 64  parameters named
8de0: 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 73   with an empty s
8df0: 74 72 69 6e 67 20 28 73 75 63 68 20 61 73 20 53  tring (such as S
8e00: 74 72 69 6e 67 2e 45 6d 70 74 79 29 20 77 65 72  tring.Empty) wer
8e10: 65 20 74 72 65 61 74 65 64 20 6c 69 6b 65 20 61  e treated like a
8e20: 20 6e 61 6d 65 64 20 70 61 72 61 6d 65 74 65 72   named parameter
8e30: 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 75   instead of an u
8e40: 6e 6e 61 6d 65 64 20 70 61 72 61 6d 65 74 65 72  nnamed parameter
8e50: 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a  </li>.    </ul>.
8e60: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 34 30      <p><b>1.0.40
8e70: 2e 30 20 2d 20 4a 61 6e 75 61 72 79 20 33 31 2c  .0 - January 31,
8e80: 20 32 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2007</b></p>.  
8e90: 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 43    <ul>.    <li>C
8ea0: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
8eb0: 51 4c 69 74 65 20 33 2e 33 2e 31 32 3c 2f 6c 69  QLite 3.3.12</li
8ec0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74 73  >.      <li>Lots
8ed0: 20 6f 66 20 6e 65 77 20 63 6f 64 65 20 74 6f 20   of new code to 
8ee0: 68 61 6e 64 6c 65 20 6d 69 73 75 73 65 20 6f 66  handle misuse of
8ef0: 20 74 68 65 20 6c 69 62 72 61 72 79 2e 26 6e 62   the library.&nb
8f00: 73 70 3b 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20  sp; Implemented 
8f10: 66 69 6e 61 6c 69 7a 65 72 73 0a 20 20 20 20 20  finalizers.     
8f20: 20 20 20 77 68 65 72 65 20 69 74 20 6d 61 64 65     where it made
8f30: 20 73 65 6e 73 65 2c 20 66 69 78 65 64 20 6e 75   sense, fixed nu
8f40: 6d 65 72 6f 75 73 20 67 61 72 62 61 67 65 20 63  merous garbage c
8f50: 6f 6c 6c 65 63 74 6f 72 20 69 73 73 75 65 73 20  ollector issues 
8f60: 77 68 65 6e 20 6f 62 6a 65 63 74 73 20 61 72 65  when objects are
8f70: 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 64 69 73   not.        dis
8f80: 70 6f 73 65 64 20 70 72 6f 70 65 72 6c 79 2c 20  posed properly, 
8f90: 26 6e 62 73 70 3b 66 69 78 65 64 20 73 6f 6d 65  &nbsp;fixed some
8fa0: 20 6f 62 6a 65 63 74 20 6c 69 66 65 74 69 6d 65   object lifetime
8fb0: 20 69 73 73 75 65 73 2c 20 65 74 63 2e 3c 2f 6c   issues, etc.</l
8fc0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 20 66  i>.      <li>A f
8fd0: 61 69 6c 65 64 20 43 6f 6d 6d 69 74 28 29 20 6f  ailed Commit() o
8fe0: 6e 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20  n a transaction 
8ff0: 6e 6f 20 6c 6f 6e 67 65 72 20 6c 65 61 76 65 73  no longer leaves
9000: 20 74 68 65 20 74 72 61 6e 73 61 63 74 69 6f 6e   the transaction
9010: 20 69 6e 20 61 6e 20 75 6e 75 73 61 62 6c 65 0a   in an unusable.
9020: 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 3c 2f          state.</
9030: 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20  li>.    </ul>.  
9040: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 39 2e 31    <p><b>1.0.39.1
9050: 20 2d 20 4a 61 6e 75 61 72 79 20 31 31 2c 20 32   - January 11, 2
9060: 30 30 37 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  007</b></p>.    
9070: 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78  <ul>.    <li>Fix
9080: 65 64 20 61 20 72 65 61 6c 6c 79 20 64 75 6d 62  ed a really dumb
9090: 20 6d 69 73 74 61 6b 65 20 74 68 61 74 20 66 6f   mistake that fo
90a0: 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 20 64 69  r some reason di
90b0: 64 6e 27 74 20 74 72 69 67 67 65 72 20 61 6e 79  dn't trigger any
90c0: 20 65 72 72 6f 72 73 20 69 6e 0a 20 20 20 20 20   errors in.     
90d0: 20 74 68 65 20 74 65 73 74 63 61 73 65 73 2c 20   the testcases, 
90e0: 77 68 65 72 65 62 79 20 63 6f 6d 6d 61 6e 64 73  whereby commands
90f0: 20 77 68 65 6e 20 61 73 73 6f 63 69 61 74 65 64   when associated
9100: 20 77 69 74 68 20 61 20 63 6f 6e 6e 65 63 74 69   with a connecti
9110: 6f 6e 20 77 65 72 65 20 6e 6f 74 20 61 64 64 69  on were not addi
9120: 6e 67 0a 20 20 20 20 20 20 6f 72 20 72 65 6d 6f  ng.      or remo
9130: 76 69 6e 67 20 74 68 65 6d 73 65 6c 76 65 73 20  ving themselves 
9140: 66 72 6f 6d 20 61 6e 20 69 6e 74 65 72 6e 61 6c  from an internal
9150: 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64   list of command
9160: 73 20 66 6f 72 20 74 68 61 74 20 63 6f 6e 6e 65  s for that conne
9170: 63 74 69 6f 6e 20 2d 2d 0a 20 20 20 20 20 20 63  ction --.      c
9180: 61 75 73 69 6e 67 20 61 20 22 64 61 74 61 62 61  ausing a "databa
9190: 73 65 20 69 73 20 6c 6f 63 6b 65 64 22 20 65 72  se is locked" er
91a0: 72 6f 72 20 77 68 65 6e 20 74 72 79 69 6e 67 20  ror when trying 
91b0: 74 6f 20 63 6c 6f 73 65 20 74 68 65 20 63 6f 6e  to close the con
91c0: 6e 65 63 74 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20  nection.</li>.  
91d0: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
91e0: 62 3e 31 2e 30 2e 33 39 2e 30 20 2d 20 4a 61 6e  b>1.0.39.0 - Jan
91f0: 75 61 72 79 20 31 30 2c 20 32 30 30 37 3c 2f 62  uary 10, 2007</b
9200: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20  ></p>.    <ul>. 
9210: 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67     <li>Code merg
9220: 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e  e with SQLite 3.
9230: 33 2e 31 30 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  3.10</li>.      
9240: 3c 6c 69 3e 46 69 78 65 64 20 61 20 6d 75 6c 74  <li>Fixed a mult
9250: 69 2d 74 68 72 65 61 64 65 64 20 72 61 63 65 20  i-threaded race 
9260: 63 6f 6e 64 69 74 69 6f 6e 20 62 75 67 20 69 6e  condition bug in
9270: 20 74 68 65 20 67 61 72 62 61 67 65 20 63 6f 6c   the garbage col
9280: 6c 65 63 74 6f 72 20 77 68 65 6e 20 63 6f 6d 6d  lector when comm
9290: 61 6e 64 73 0a 20 20 20 20 20 20 20 20 61 6e 64  ands.        and
92a0: 2f 6f 72 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20  /or connections 
92b0: 61 72 65 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79  are not properly
92c0: 20 64 69 73 70 6f 73 65 64 20 62 79 20 74 68 65   disposed by the
92d0: 20 75 73 65 72 2e 20 3c 2f 6c 69 3e 0a 20 20 20   user. </li>.   
92e0: 20 20 20 3c 6c 69 3e 53 77 69 74 63 68 65 64 20     <li>Switched 
92f0: 74 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 27 73  the encryption's
9300: 20 69 6e 74 65 72 6e 61 6c 20 64 65 61 6c 6c 6f   internal deallo
9310: 63 61 74 69 6f 6e 20 63 6f 64 65 20 74 6f 20 75  cation code to u
9320: 73 65 20 73 71 6c 69 74 65 27 73 20 62 75 69 6c  se sqlite's buil
9330: 74 2d 69 6e 0a 20 20 20 20 20 20 20 20 61 75 78  t-in.        aux
9340: 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 73 74 65   functions inste
9350: 61 64 20 6f 66 20 6d 6f 64 69 66 79 69 6e 67 20  ad of modifying 
9360: 74 68 65 20 70 61 67 65 72 2e 63 20 73 6f 75 72  the pager.c sour
9370: 63 65 20 74 6f 20 66 72 65 65 20 74 68 65 20 63  ce to free the c
9380: 72 79 70 74 20 62 6c 6f 63 6b 2e 26 6e 62 73 70  rypt block.&nbsp
9390: 3b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 65  ;.        This e
93a0: 6c 69 6d 69 6e 61 74 65 73 20 74 68 65 20 6c 61  liminates the la
93b0: 73 74 20 6f 66 20 74 68 65 20 63 6f 64 65 20 63  st of the code c
93c0: 68 61 6e 67 65 73 20 74 68 65 20 70 72 6f 76 69  hanges the provi
93d0: 64 65 72 20 6d 61 6b 65 73 20 74 6f 20 74 68 65  der makes to the
93e0: 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 20   original.      
93f0: 20 20 73 71 6c 69 74 65 20 65 6e 67 69 6e 65 20    sqlite engine 
9400: 73 6f 75 72 63 65 73 2e 26 6e 62 73 70 3b 20 50  sources.&nbsp; P
9410: 72 6f 70 73 20 74 6f 20 52 61 6c 66 20 4a 75 6e  rops to Ralf Jun
9420: 6b 65 72 20 66 6f 72 20 70 6f 69 6e 74 69 6e 67  ker for pointing
9430: 20 74 68 61 74 20 6f 75 74 2e 3c 2f 6c 69 3e 0a   that out.</li>.
9440: 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70      </ul>.    <p
9450: 3e 3c 62 3e 31 2e 30 2e 33 38 2e 30 20 2d 20 4e  ><b>1.0.38.0 - N
9460: 6f 76 65 6d 62 65 72 20 32 32 2c 20 32 30 30 36  ovember 22, 2006
9470: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
9480: 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  >.    <li>Fixed 
9490: 61 20 62 75 67 20 77 68 65 6e 20 75 73 69 6e 67  a bug when using
94a0: 20 43 6f 6d 6d 61 6e 64 42 65 68 61 76 69 6f 72   CommandBehavior
94b0: 2e 4b 65 79 49 6e 66 6f 20 77 68 65 72 65 62 79  .KeyInfo whereby
94c0: 20 69 6e 74 65 67 65 72 20 70 72 69 6d 61 72 79   integer primary
94d0: 20 6b 65 79 20 63 6f 6c 75 6d 6e 73 20 6d 61 79   key columns may
94e0: 20 62 65 20 64 75 70 6c 69 63 61 74 65 64 20 69   be duplicated i
94f0: 6e 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 3c  n the results. <
9500: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 45  /li>.      <li>E
9510: 6e 68 61 6e 63 65 64 20 74 68 65 20 43 6f 6d 6d  nhanced the Comm
9520: 61 6e 64 42 75 69 6c 64 65 72 20 73 6f 20 74 68  andBuilder so th
9530: 61 74 20 75 70 64 61 74 65 2f 64 65 6c 65 74 65  at update/delete
9540: 20 73 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20   statements are 
9550: 6f 70 74 69 6d 69 7a 65 64 20 77 68 65 6e 20 74  optimized when t
9560: 68 65 20 61 66 66 65 63 74 65 64 20 74 61 62 6c  he affected tabl
9570: 65 20 63 6f 6e 74 61 69 6e 73 20 75 6e 69 71 75  e contains uniqu
9580: 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 6e  e constraints an
9590: 64 0a 20 20 20 20 20 20 61 20 70 72 69 6d 61 72  d.      a primar
95a0: 79 20 6b 65 79 20 69 73 20 70 72 65 73 65 6e 74  y key is present
95b0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
95c0: 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20  >Fixed a bug in 
95d0: 74 68 65 20 44 61 74 61 52 65 61 64 65 72 20 77  the DataReader w
95e0: 68 65 6e 20 75 73 65 64 20 69 6e 20 63 6f 6e 6a  hen used in conj
95f0: 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 43 6f 6d  unction with Com
9600: 6d 61 6e 64 42 65 68 61 76 69 6f 72 2e 43 6c 6f  mandBehavior.Clo
9610: 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 3c 2f 6c  seConnection.</l
9620: 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c  i></ul>.    <p><
9630: 62 3e 31 2e 30 2e 33 37 2e 30 20 2d 20 4e 6f 76  b>1.0.37.0 - Nov
9640: 65 6d 62 65 72 20 31 39 2c 20 32 30 30 36 3c 2f  ember 19, 2006</
9650: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
9660: 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 73 75      <li>Added su
9670: 70 70 6f 72 74 20 66 6f 72 20 43 6f 6d 6d 61 6e  pport for Comman
9680: 64 42 65 68 61 76 69 6f 72 2e 4b 65 79 49 6e 66  dBehavior.KeyInf
9690: 6f 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20  o.&nbsp; .      
96a0: 57 68 65 6e 20 73 70 65 63 69 66 69 65 64 20 69  When specified i
96b0: 6e 20 61 20 71 75 65 72 79 2c 20 61 64 64 69 74  n a query, addit
96c0: 69 6f 6e 61 6c 20 63 6f 6c 75 6d 6e 28 73 29 20  ional column(s) 
96d0: 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64  will be returned
96e0: 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 0a   describing the.
96f0: 20 20 20 20 20 20 6b 65 79 28 73 29 20 64 65 66        key(s) def
9700: 69 6e 65 64 20 66 6f 72 20 74 68 65 20 74 61 62  ined for the tab
9710: 6c 65 28 73 29 20 73 65 6c 65 63 74 65 64 20 69  le(s) selected i
9720: 6e 20 74 68 65 20 71 75 65 72 79 2e 26 6e 62 73  n the query.&nbs
9730: 70 3b 20 54 68 69 73 20 69 73 20 6f 70 74 69 6d  p; This is optim
9740: 69 7a 65 64 20 77 68 65 6e 0a 20 20 20 20 20 20  ized when.      
9750: 49 4e 54 45 47 45 52 20 50 52 49 4d 41 52 59 20  INTEGER PRIMARY 
9760: 4b 45 59 20 69 73 20 73 65 74 20 66 6f 72 20 74  KEY is set for t
9770: 68 65 20 67 69 76 65 6e 20 74 61 62 6c 65 73 2c  he given tables,
9780: 20 62 75 74 20 64 6f 65 73 20 61 64 64 69 74 69   but does additi
9790: 6f 6e 61 6c 20 77 6f 72 6b 20 66 6f 72 20 6f 74  onal work for ot
97a0: 68 65 72 0a 20 20 20 20 20 20 6b 69 6e 64 73 20  her.      kinds 
97b0: 6f 66 20 70 72 69 6d 61 72 79 20 6b 65 79 73 2e  of primary keys.
97c0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
97d0: 52 65 6d 6f 76 65 64 20 74 68 65 20 64 65 66 61  Removed the defa
97e0: 75 6c 74 20 76 61 6c 75 65 73 20 66 72 6f 6d 20  ult values from 
97f0: 53 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72  SQLiteDataReader
9800: 2e 47 65 74 54 61 62 6c 65 53 63 68 65 6d 61 28  .GetTableSchema(
9810: 29 2c 20 74 6f 20 62 65 74 74 65 72 20 66 6f 6c  ), to better fol
9820: 6c 6f 77 0a 20 20 20 20 20 20 20 20 53 71 6c 20  low.        Sql 
9830: 53 65 72 76 65 72 27 73 20 70 61 74 74 65 72 6e  Server's pattern
9840: 20 61 6e 64 20 73 75 70 70 72 65 73 73 20 73 63   and suppress sc
9850: 68 65 6d 61 20 65 72 72 6f 72 73 20 77 68 65 6e  hema errors when
9860: 20 6c 6f 61 64 69 6e 67 20 74 68 65 20 72 65 63   loading the rec
9870: 6f 72 64 73 20 69 6e 74 6f 20 61 0a 20 20 20 20  ords into a.    
9880: 20 20 20 20 64 61 74 61 73 65 74 2f 64 61 74 61      dataset/data
9890: 74 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20  table.</li>.    
98a0: 20 20 3c 6c 69 3e 41 6c 6c 6f 77 20 69 6e 74 65    <li>Allow inte
98b0: 67 65 72 73 20 74 6f 20 69 6d 70 6c 69 63 69 74  gers to implicit
98c0: 6c 79 20 63 6f 6e 76 65 72 74 20 74 6f 20 64 6f  ly convert to do
98d0: 75 62 6c 65 2f 64 65 63 69 6d 61 6c 2f 73 69 6e  uble/decimal/sin
98e0: 67 6c 65 2e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20  gle.</li></ul>. 
98f0: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 36 2e     <p><b>1.0.36.
9900: 31 20 2d 20 4f 63 74 6f 62 65 72 20 32 35 2c 20  1 - October 25, 
9910: 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2006</b></p>.   
9920: 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 41 64   <ul>.    <li>Ad
9930: 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
9940: 4c 4f 4e 47 56 41 52 43 48 41 52 2c 20 53 4d 41  LONGVARCHAR, SMA
9950: 4c 4c 44 41 54 45 20 61 6e 64 20 53 4d 41 4c 4c  LLDATE and SMALL
9960: 44 41 54 45 54 49 4d 45 2e 20 20 54 68 65 73 65  DATETIME.  These
9970: 20 77 65 72 65 20 61 63 74 75 61 6c 6c 79 20 61   were actually a
9980: 64 64 65 64 20 69 6e 20 31 2e 30 2e 33 36 2e 30  dded in 1.0.36.0
9990: 20 62 75 74 20 77 65 72 65 20 75 6e 64 6f 63 75   but were undocu
99a0: 6d 65 6e 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20  mented.</li>.   
99b0: 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65 20 65   <li>Fixed the e
99c0: 6d 62 65 64 64 65 64 20 68 65 6c 70 66 69 6c 65  mbedded helpfile
99d0: 20 77 68 69 63 68 20 77 61 73 20 61 63 63 69 64   which was accid
99e0: 65 6e 74 61 6c 6c 79 20 62 75 69 6c 74 20 66 72  entally built fr
99f0: 6f 6d 20 6f 6c 64 20 73 6f 75 72 63 65 73 2e 20  om old sources. 
9a00: 3c 2f 6c 69 3e 0a 20 20 20 20 3c 6c 69 3e 46 69  </li>.    <li>Fi
9a10: 78 65 64 20 61 6e 20 75 6e 66 6f 72 74 75 6e 61  xed an unfortuna
9a20: 74 65 20 72 65 2d 65 6e 74 72 79 20 6f 66 20 61  te re-entry of a
9a30: 20 62 75 67 20 69 6e 20 74 68 65 20 2e 33 36 20   bug in the .36 
9a40: 63 6f 64 65 62 61 73 65 20 74 68 61 74 20 63 61  codebase that ca
9a50: 75 73 65 64 20 74 68 65 20 70 72 6f 76 69 64 65  used the provide
9a60: 72 20 74 6f 20 22 66 6f 72 67 65 74 22 20 61 62  r to "forget" ab
9a70: 6f 75 74 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20  out commands on 
9a80: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 75 6e 64  a connection und
9a90: 65 72 20 63 65 72 74 61 69 6e 20 63 69 72 63 75  er certain circu
9aa0: 6d 73 74 61 6e 63 65 73 2e 3c 2f 6c 69 3e 0a 20  mstances.</li>. 
9ab0: 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e     </ul>.    <p>
9ac0: 3c 62 3e 31 2e 30 2e 33 36 2e 30 20 2d 20 4f 63  <b>1.0.36.0 - Oc
9ad0: 74 6f 62 65 72 20 32 33 2c 20 32 30 30 36 3c 2f  tober 23, 2006</
9ae0: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
9af0: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
9b00: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
9b10: 2e 33 2e 38 2c 20 69 6e 63 6c 75 64 69 6e 67 20  .3.8, including 
9b20: 73 75 70 70 6f 72 74 20 66 6f 72 20 66 75 6c 6c  support for full
9b30: 2d 74 65 78 74 20 73 65 61 72 63 68 20 76 69 61  -text search via
9b40: 20 74 68 65 20 46 54 53 31 0a 20 20 20 20 20 20   the FTS1.      
9b50: 65 78 74 65 6e 73 69 6f 6e 2e 26 6e 62 73 70 3b  extension.&nbsp;
9b60: 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78 65 64 20 61  </li><li>Fixed a
9b70: 20 62 75 67 20 72 65 74 72 69 65 76 69 6e 67 20   bug retrieving 
9b80: 64 61 74 61 20 74 79 70 65 73 20 77 68 65 6e 20  data types when 
9b90: 55 73 65 55 74 66 31 36 45 6e 63 6f 64 69 6e 67  UseUtf16Encoding
9ba0: 20 69 73 20 74 72 75 65 2e 20 20 53 69 64 65 2d   is true.  Side-
9bb0: 65 66 66 65 63 74 20 6f 66 20 66 75 72 74 68 65  effect of furthe
9bc0: 72 20 6d 65 72 67 69 6e 67 20 74 68 65 20 63 6f  r merging the co
9bd0: 6d 6d 6f 6e 20 63 6f 64 65 20 62 65 74 77 65 65  mmon code betwee
9be0: 6e 20 74 68 65 20 74 77 6f 20 62 61 73 65 20 63  n the two base c
9bf0: 6c 61 73 73 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20  lasses.</li>.   
9c00: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62     <li>Fixed a b
9c10: 75 67 20 77 69 74 68 20 53 79 73 74 65 6d 2e 54  ug with System.T
9c20: 72 61 6e 73 61 63 74 69 6f 6e 73 20 77 68 65 72  ransactions wher
9c30: 65 62 79 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e  eby a connection
9c40: 20 63 6c 6f 73 65 64 2f 64 69 73 70 6f 73 65 64   closed/disposed
9c50: 20 77 69 74 68 69 6e 0a 20 20 20 20 20 20 20 20   within.        
9c60: 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 73 63  a transaction sc
9c70: 6f 70 65 20 69 73 20 72 6f 6c 6c 65 64 20 62 61  ope is rolled ba
9c80: 63 6b 20 61 6e 64 20 63 61 6e 6e 6f 74 20 62 65  ck and cannot be
9c90: 20 63 6f 6d 6d 69 74 74 65 64 2e 3c 2f 6c 69 3e   committed.</li>
9ca0: 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64  .      <li>Added
9cb0: 20 6d 6f 72 65 20 65 72 72 6f 72 20 63 68 65 63   more error chec
9cc0: 6b 69 6e 67 20 61 6e 64 20 72 65 70 6f 72 74 69  king and reporti
9cd0: 6e 67 20 74 6f 20 74 72 61 6e 73 61 63 74 69 6f  ng to transactio
9ce0: 6e 73 20 74 6f 20 68 65 6c 70 20 75 73 65 72 27  ns to help user'
9cf0: 73 20 69 73 6f 6c 61 74 65 0a 20 20 20 20 20 20  s isolate.      
9d00: 20 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20    the source of 
9d10: 74 72 61 6e 73 61 63 74 69 6f 6e 20 66 61 69 6c  transaction fail
9d20: 75 72 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  ures.</li>.     
9d30: 20 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e 74 65 64   <li>Implemented
9d40: 20 61 20 77 6f 72 6b 61 72 6f 75 6e 64 20 66 6f   a workaround fo
9d50: 72 20 61 20 43 6f 6d 70 61 63 74 20 46 72 61 6d  r a Compact Fram
9d60: 65 77 6f 72 6b 20 69 73 73 75 65 20 72 65 67 61  ework issue rega
9d70: 72 64 69 6e 67 20 73 74 72 6f 6e 67 2d 6e 61 6d  rding strong-nam
9d80: 65 64 0a 20 20 20 20 20 20 20 20 61 73 73 65 6d  ed.        assem
9d90: 62 6c 69 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67  blies containing
9da0: 20 61 20 50 45 20 73 65 63 74 69 6f 6e 20 77 69   a PE section wi
9db0: 74 68 20 61 20 72 61 77 20 73 69 7a 65 20 6c 65  th a raw size le
9dc0: 73 73 20 74 68 61 6e 20 74 68 65 20 76 69 72 74  ss than the virt
9dd0: 75 61 6c 20 73 69 7a 65 2e 26 6e 62 73 70 3b 3c  ual size.&nbsp;<
9de0: 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20  /li>.    </ul>. 
9df0: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 35 2e     <p><b>1.0.35.
9e00: 31 20 2d 20 53 65 70 74 65 6d 62 65 72 20 31 32  1 - September 12
9e10: 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2006</b></p>. 
9e20: 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e     <ul>.    <li>
9e30: 46 69 78 65 64 20 74 68 65 20 54 59 50 45 53 20  Fixed the TYPES 
9e40: 6b 65 79 77 6f 72 64 20 74 6f 20 77 6f 72 6b 20  keyword to work 
9e50: 77 68 65 6e 20 55 73 65 55 54 46 31 36 45 6e 63  when UseUTF16Enc
9e60: 6f 64 69 6e 67 20 69 73 20 74 72 75 65 2e 3c 2f  oding is true.</
9e70: 6c 69 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 20  li>.    <li>Fix 
9e80: 61 6e 6f 74 68 65 72 20 62 75 67 20 72 65 76 65  another bug reve
9e90: 61 6c 65 64 20 69 6e 20 31 2e 30 2e 33 35 2e 30  aled in 1.0.35.0
9ea0: 20 72 65 67 61 72 64 69 6e 67 20 69 6e 66 69 6e   regarding infin
9eb0: 69 74 65 20 6c 6f 6f 70 73 20 77 68 65 6e 20 74  ite loops when t
9ec0: 68 65 20 32 6e 64 20 6f 72 20 73 75 62 73 65 71  he 2nd or subseq
9ed0: 75 65 6e 74 20 73 74 61 74 65 6d 65 6e 74 73 20  uent statements 
9ee0: 6f 66 20 61 20 73 65 6d 69 2d 63 6f 6c 6f 6e 20  of a semi-colon 
9ef0: 73 65 70 61 72 61 74 65 64 20 63 6f 6d 6d 61 6e  separated comman
9f00: 64 20 63 61 6e 6e 6f 74 20 62 65 20 70 61 72 73  d cannot be pars
9f10: 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ed.</li>.      <
9f20: 6c 69 3e 55 70 64 61 74 65 64 20 74 68 65 20 68  li>Updated the h
9f30: 65 6c 70 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  elp documentatio
9f40: 6e 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20  n.&nbsp;</li>.  
9f50: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
9f60: 62 3e 31 2e 30 2e 33 35 2e 30 20 2d 20 53 65 70  b>1.0.35.0 - Sep
9f70: 74 65 6d 62 65 72 20 31 30 2c 20 32 30 30 36 3c  tember 10, 2006<
9f80: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
9f90: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61  .    <li>Fixed a
9fa0: 6e 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 20  n infinite loop 
9fb0: 62 75 67 20 69 6e 20 53 51 4c 69 74 65 43 6f 6d  bug in SQLiteCom
9fc0: 6d 61 6e 64 20 63 61 75 73 65 64 20 77 68 65 6e  mand caused when
9fd0: 20 6d 75 6c 74 69 70 6c 65 20 73 65 6d 69 2d 63   multiple semi-c
9fe0: 6f 6c 6f 6e 20 73 65 70 61 72 61 74 65 64 0a 20  olon separated. 
9ff0: 20 20 20 20 20 73 74 61 74 65 6d 65 6e 74 73 20       statements 
a000: 69 6e 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 6d  in a single comm
a010: 61 6e 64 20 61 72 65 20 65 78 65 63 75 74 65 64  and are executed
a020: 20 76 69 61 20 64 61 74 61 72 65 61 64 65 72 20   via datareader 
a030: 61 6e 64 20 6f 6e 65 20 6f 66 20 74 68 65 20 73  and one of the s
a040: 74 61 74 65 6d 65 6e 74 73 0a 20 20 20 20 20 20  tatements.      
a050: 63 6f 6e 74 61 69 6e 73 20 61 20 73 79 6e 74 61  contains a synta
a060: 78 20 65 72 72 6f 72 20 70 72 65 76 65 6e 74 69  x error preventi
a070: 6e 67 20 69 74 20 66 72 6f 6d 20 62 65 69 6e 67  ng it from being
a080: 20 70 72 65 70 61 72 65 64 2e 26 6e 62 73 70 3b   prepared.&nbsp;
a090: 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64 20 74  </li><li>Added t
a0a0: 68 65 20 54 59 50 45 53 20 70 72 65 70 61 72 73  he TYPES prepars
a0b0: 65 72 20 6b 65 79 77 6f 72 64 20 74 6f 20 62 65  er keyword to be
a0c0: 20 70 6c 61 63 65 64 20 62 65 66 6f 72 65 20 61   placed before a
a0d0: 20 53 45 4c 45 43 54 20 73 74 61 74 65 6d 65 6e   SELECT statemen
a0e0: 74 20 74 6f 0a 20 20 20 20 61 69 64 20 74 68 65  t to.    aid the
a0f0: 20 77 72 61 70 70 65 72 20 69 6e 20 63 6f 6e 76   wrapper in conv
a100: 65 72 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f  erting expressio
a110: 6e 73 20 69 6e 20 61 20 73 75 62 73 65 71 75 65  ns in a subseque
a120: 6e 74 20 73 65 6c 65 63 74 20 63 6c 61 75 73 65  nt select clause
a130: 20 69 6e 74 6f 20 6d 6f 72 65 0a 20 20 20 20 72   into more.    r
a140: 6f 62 75 73 74 20 74 79 70 65 73 2e 26 6e 62 73  obust types.&nbs
a150: 70 3b 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  p; Documentation
a160: 20 79 65 74 20 74 6f 20 62 65 20 69 6e 74 65 67   yet to be integ
a170: 72 61 74 65 64 2c 20 62 75 74 20 61 76 61 69 6c  rated, but avail
a180: 61 62 6c 65 20 6f 6e 20 74 68 65 20 66 6f 72 75  able on the foru
a190: 6d 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ms.</li>.      <
a1a0: 6c 69 3e 41 64 64 65 64 20 61 20 6e 65 77 20 63  li>Added a new c
a1b0: 6f 6e 6e 65 63 74 69 6f 6e 73 74 72 69 6e 67 20  onnectionstring 
a1c0: 70 61 72 61 6d 65 74 65 72 20 22 42 69 6e 61 72  parameter "Binar
a1d0: 79 47 55 49 44 3d 74 72 75 65 2f 66 61 6c 73 65  yGUID=true/false
a1e0: 22 20 28 64 65 66 61 75 6c 74 20 69 73 20 22 74  " (default is "t
a1f0: 72 75 65 22 29 2e 26 6e 62 73 70 3b 0a 20 20 20  rue").&nbsp;.   
a200: 20 20 20 20 20 57 68 65 6e 20 74 72 75 65 2c 20       When true, 
a210: 67 75 69 64 20 74 79 70 65 73 20 61 72 65 20 73  guid types are s
a220: 74 6f 72 65 64 20 69 6e 20 74 68 65 20 64 61 74  tored in the dat
a230: 61 62 61 73 65 20 61 73 20 62 69 6e 61 72 79 20  abase as binary 
a240: 62 6c 6f 62 73 20 74 6f 20 73 61 76 65 20 73 70  blobs to save sp
a250: 61 63 65 2e 26 6e 62 73 70 3b 0a 20 20 20 20 20  ace.&nbsp;.     
a260: 20 20 20 42 69 6e 61 72 79 20 68 61 73 20 62 65     Binary has be
a270: 65 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 66  en the default f
a280: 6f 72 6d 61 74 20 73 69 6e 63 65 20 31 2e 30 2e  ormat since 1.0.
a290: 33 32 2e 30 20 62 75 74 20 74 68 69 73 20 70 61  32.0 but this pa
a2a0: 72 61 6d 65 74 65 72 20 65 61 73 65 73 20 62 61  rameter eases ba
a2b0: 63 6b 77 61 72 64 0a 20 20 20 20 20 20 20 20 63  ckward.        c
a2c0: 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 3c 2f 6c  ompatibility.</l
a2d0: 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20  i>.    </ul>.   
a2e0: 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 34 2e 30 20   <p><b>1.0.34.0 
a2f0: 2d 20 53 65 70 74 65 6d 62 65 72 20 34 2c 20 32  - September 4, 2
a300: 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  006</b></p>.    
a310: 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78  <ul>.    <li>Fix
a320: 65 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c 69  ed a bug in SQLi
a330: 74 65 50 61 72 61 6d 65 74 65 72 43 6f 6c 6c 65  teParameterColle
a340: 63 74 69 6f 6e 2e 52 65 6d 6f 76 65 41 74 28 6e  ction.RemoveAt(n
a350: 61 6d 65 64 70 61 72 61 6d 29 3c 2f 6c 69 3e 0a  amedparam)</li>.
a360: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
a370: 62 75 67 20 69 6e 20 53 51 4c 69 74 65 44 61 74  bug in SQLiteDat
a380: 61 52 65 61 64 65 72 20 69 6e 74 72 6f 64 75 63  aReader introduc
a390: 65 64 20 69 6e 20 31 2e 30 2e 33 30 20 74 68 61  ed in 1.0.30 tha
a3a0: 74 20 62 72 6f 6b 65 20 44 61 74 65 54 69 6d 65  t broke DateTime
a3b0: 73 20 75 73 69 6e 67 20 74 68 65 20 54 69 63 6b  s using the Tick
a3c0: 73 20 6f 70 74 69 6f 6e 20 69 6e 20 74 68 65 20  s option in the 
a3d0: 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e  connection strin
a3e0: 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  g.</li>.      <l
a3f0: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e  i>Fixed a bug in
a400: 20 74 68 65 20 72 65 63 65 6e 74 20 63 68 61 6e   the recent chan
a410: 67 65 73 20 74 6f 20 67 75 69 64 20 62 65 68 61  ges to guid beha
a420: 76 69 6f 72 20 77 68 65 72 65 69 6e 20 75 73 69  vior wherein usi
a430: 6e 67 20 61 20 64 61 74 61 72 65 61 64 65 72 27  ng a datareader'
a440: 73 0a 20 20 20 20 20 20 20 20 69 6e 64 65 78 65  s.        indexe
a450: 72 20 74 6f 20 66 65 74 63 68 20 61 20 67 75 69  r to fetch a gui
a460: 64 20 66 72 6f 6d 20 61 20 63 6f 6c 75 6d 6e 20  d from a column 
a470: 63 6f 6e 74 61 69 6e 69 6e 67 20 62 6f 74 68 20  containing both 
a480: 62 69 6e 61 72 79 20 61 6e 64 20 74 65 78 74 20  binary and text 
a490: 67 75 69 64 73 20 77 6f 75 6c 64 0a 20 20 20 20  guids would.    
a4a0: 20 20 20 20 73 6f 6d 65 74 69 6d 65 73 20 72 65      sometimes re
a4b0: 74 75 72 6e 20 61 20 62 79 74 65 20 61 72 72 61  turn a byte arra
a4c0: 79 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 67  y instead of a g
a4d0: 75 69 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  uid.</li>.      
a4e0: 3c 6c 69 3e 45 6e 61 63 74 65 64 20 61 20 77 6f  <li>Enacted a wo
a4f0: 72 6b 61 72 6f 75 6e 64 20 69 6e 76 6f 6c 76 69  rkaround involvi
a500: 6e 67 20 74 79 70 65 64 20 64 61 74 61 73 65 74  ng typed dataset
a510: 73 20 69 6e 20 43 6f 6d 70 61 63 74 20 46 72 61  s in Compact Fra
a520: 6d 65 77 6f 72 6b 20 70 72 6f 6a 65 63 74 73 20  mework projects 
a530: 69 6e 0a 20 20 20 20 20 20 20 20 77 68 69 63 68  in.        which
a540: 20 69 74 20 74 6f 6f 6b 20 61 6e 20 65 78 63 65   it took an exce
a550: 73 73 69 76 65 20 61 6d 6f 75 6e 74 20 6f 66 20  ssive amount of 
a560: 74 69 6d 65 20 74 6f 20 6f 70 65 6e 20 61 20 66  time to open a f
a570: 6f 72 6d 20 61 6e 64 20 67 65 6e 65 72 61 74 65  orm and generate
a580: 64 20 61 20 6c 6f 74 20 6f 66 0a 20 20 20 20 20  d a lot of.     
a590: 20 20 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c     temporary fil
a5a0: 65 73 20 69 6e 20 74 68 65 20 75 73 65 72 27 73  es in the user's
a5b0: 20 4c 6f 63 61 6c 20 53 65 74 74 69 6e 67 73 5c   Local Settings\
a5c0: 41 70 70 6c 69 63 61 74 69 6f 6e 20 44 61 74 61  Application Data
a5d0: 5c 4d 69 63 72 6f 73 6f 66 74 5c 56 69 73 75 61  \Microsoft\Visua
a5e0: 6c 53 74 75 64 69 6f 5c 38 2e 30 5c 41 73 73 65  lStudio\8.0\Asse
a5f0: 6d 62 6c 79 0a 20 20 20 20 20 20 20 20 52 65 66  mbly.        Ref
a600: 65 72 65 6e 63 65 73 20 66 6f 6c 64 65 72 2e 3c  erences folder.<
a610: 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20  /li>.    </ul>. 
a620: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 33 2e     <p><b>1.0.33.
a630: 30 20 2d 20 41 75 67 75 73 74 20 32 31 2c 20 32  0 - August 21, 2
a640: 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  006</b></p>.    
a650: 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 43 6f 64  <ul>.    <li>Cod
a660: 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c  e merge with SQL
a670: 69 74 65 20 33 2e 33 2e 37 3c 2f 6c 69 3e 0a 20  ite 3.3.7</li>. 
a680: 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61       <li>Fixed a
a690: 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65 43 6f   bug in SQLiteCo
a6a0: 6e 6e 65 63 74 69 6f 6e 20 74 68 61 74 20 63 61  nnection that ca
a6b0: 75 73 65 64 20 69 74 20 74 6f 20 22 66 6f 72 67  used it to "forg
a6c0: 65 74 22 20 61 62 6f 75 74 20 63 6f 6d 6d 61 6e  et" about comman
a6d0: 64 73 20 62 6f 75 6e 64 0a 20 20 20 20 20 20 74  ds bound.      t
a6e0: 6f 20 69 74 20 61 6e 64 20 6f 63 63 61 73 69 6f  o it and occasio
a6f0: 6e 61 6c 6c 79 20 74 68 72 6f 77 20 61 6e 20 65  nally throw an e
a700: 72 72 6f 72 20 77 68 65 6e 20 61 20 64 61 74 61  rror when a data
a710: 62 61 73 65 20 69 73 20 63 6c 6f 73 65 64 20 61  base is closed a
a720: 6e 64 20 6f 70 65 6e 65 64 20 72 65 70 65 61 74  nd opened repeat
a730: 65 64 6c 79 2e 26 6e 62 73 70 3b 0a 20 20 20 20  edly.&nbsp;.    
a740: 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c    </li>.    </ul
a750: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
a760: 33 32 2e 30 20 2d 20 41 75 67 75 73 74 20 36 2c  32.0 - August 6,
a770: 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2006</b></p>.  
a780: 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 41    <ul>.    <li>A
a790: 64 64 65 64 20 41 6c 6c 6f 77 50 61 72 74 69 61  dded AllowPartia
a7a0: 6c 6c 79 54 72 75 73 74 65 64 43 61 6c 6c 65 72  llyTrustedCaller
a7b0: 73 20 61 74 74 72 69 62 75 74 65 20 74 6f 20 74  s attribute to t
a7c0: 68 65 20 61 73 73 65 6d 62 6c 79 3c 2f 6c 69 3e  he assembly</li>
a7d0: 3c 6c 69 3e 41 64 64 65 64 20 74 68 65 20 6d 69  <li>Added the mi
a7e0: 73 73 69 6e 67 20 22 6e 63 68 61 72 22 20 74 79  ssing "nchar" ty
a7f0: 70 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  pe</li>.      <l
a800: 69 3e 41 64 64 65 64 20 73 75 70 70 6f 72 74 20  i>Added support 
a810: 66 6f 72 20 62 69 6e 61 72 79 20 47 75 69 64 27  for binary Guid'
a820: 73 2e 26 6e 62 73 70 3b 20 47 75 69 64 73 20 61  s.&nbsp; Guids a
a830: 72 65 20 6e 6f 77 20 73 74 6f 72 65 64 20 61 73  re now stored as
a840: 20 62 69 6e 61 72 79 20 62 79 20 64 65 66 61 75   binary by defau
a850: 6c 74 0a 20 20 20 20 20 20 20 20 77 68 65 6e 20  lt.        when 
a860: 75 73 69 6e 67 20 70 61 72 61 6d 65 74 65 72 69  using parameteri
a870: 7a 65 64 20 71 75 65 72 69 65 73 2e 26 6e 62 73  zed queries.&nbs
a880: 70 3b 20 54 65 78 74 20 67 75 69 64 73 20 61 72  p; Text guids ar
a890: 65 20 73 74 69 6c 6c 20 66 75 6c 6c 79 20 73 75  e still fully su
a8a0: 70 70 6f 72 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20  pported.</li>.  
a8b0: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
a8c0: 54 72 61 6e 73 61 63 74 69 6f 6e 53 63 6f 70 65  TransactionScope
a8d0: 28 29 20 65 72 72 6f 72 20 74 68 61 74 20 63 61  () error that ca
a8e0: 75 73 65 64 20 74 68 65 20 74 72 61 6e 73 61 63  used the transac
a8f0: 74 69 6f 6e 20 6e 6f 74 20 74 6f 20 62 65 20 63  tion not to be c
a900: 6f 6d 70 6c 65 74 65 64 2e 3c 2f 6c 69 3e 0a 20  ompleted.</li>. 
a910: 20 20 20 20 20 3c 6c 69 3e 45 6e 68 61 6e 63 65       <li>Enhance
a920: 64 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65  d parameter name
a930: 73 20 73 6f 20 74 68 61 74 20 69 66 20 74 68 65  s so that if the
a940: 79 20 61 72 65 20 61 64 64 65 64 20 74 6f 20 74  y are added to t
a950: 68 65 20 50 61 72 61 6d 65 74 65 72 73 20 63 6f  he Parameters co
a960: 6c 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20  llection.       
a970: 20 77 69 74 68 6f 75 74 20 74 68 65 69 72 20 70   without their p
a980: 72 65 66 69 78 20 63 68 61 72 61 63 74 65 72 20  refix character 
a990: 28 40 20 3a 20 6f 72 20 24 29 20 74 68 65 79 20  (@ : or $) they 
a9a0: 61 72 65 20 73 74 69 6c 6c 20 70 72 6f 70 65 72  are still proper
a9b0: 6c 79 20 6d 61 70 70 65 64 2e 26 6e 62 73 70 3b  ly mapped.&nbsp;
a9c0: 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a  </li>.    </ul>.
a9d0: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 33 31      <p><b>1.0.31
a9e0: 2e 30 20 2d 20 4a 75 6c 79 20 31 36 2c 20 32 30  .0 - July 16, 20
a9f0: 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c  06</b></p>.    <
aa00: 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 52 65 2d 61  ul>.    <li>Re-a
aa10: 70 70 6c 69 65 64 20 74 68 65 20 76 69 65 77 20  pplied the view 
aa20: 70 61 72 73 69 6e 67 20 62 75 67 66 69 78 20 69  parsing bugfix i
aa30: 6e 20 31 2e 30 2e 32 39 2e 30 20 74 68 61 74 20  n 1.0.29.0 that 
aa40: 77 61 73 20 61 63 63 69 64 65 6e 74 61 6c 6c 79  was accidentally
aa50: 20 72 65 76 65 72 74 65 64 0a 20 20 20 20 20 20   reverted.      
aa60: 6f 75 74 20 6f 66 20 74 68 65 20 33 30 20 62 75  out of the 30 bu
aa70: 69 6c 64 2e 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78  ild.</li><li>Fix
aa80: 65 64 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64  ed SQLiteCommand
aa90: 2e 45 78 65 63 75 74 65 53 63 61 6c 61 72 28 29  .ExecuteScalar()
aaa0: 20 74 6f 20 72 65 74 75 72 6e 20 6e 75 6c 6c 20   to return null 
aab0: 69 6e 73 74 65 61 64 20 6f 66 20 44 62 4e 75 6c  instead of DbNul
aac0: 6c 2e 56 61 6c 75 65 0a 20 20 20 20 77 68 65 6e  l.Value.    when
aad0: 20 6e 6f 20 72 6f 77 73 20 77 65 72 65 20 72 65   no rows were re
aae0: 74 75 72 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20  turned.</li>.   
aaf0: 20 20 20 3c 6c 69 3e 44 65 73 69 67 6e 2d 74 69     <li>Design-ti
ab00: 6d 65 20 69 6e 73 74 61 6c 6c 65 72 20 6e 6f 77  me installer now
ab10: 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 61   installs the pa
ab20: 63 6b 61 67 65 2d 62 61 73 65 64 20 64 65 73 69  ckage-based desi
ab30: 67 6e 65 72 20 6f 6e 20 66 75 6c 6c 20 56 69 73  gner on full Vis
ab40: 75 61 6c 20 53 74 75 64 69 6f 0a 20 20 20 20 20  ual Studio.     
ab50: 20 20 20 76 65 72 73 69 6f 6e 73 2e 26 6e 62 73     versions.&nbs
ab60: 70 3b 20 45 78 70 72 65 73 73 20 65 64 69 74 69  p; Express editi
ab70: 6f 6e 73 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20  ons continue to 
ab80: 75 73 65 20 74 68 65 20 70 61 63 6b 61 67 65 6c  use the packagel
ab90: 65 73 73 20 64 65 73 69 67 6e 65 72 2e 3c 2f 6c  ess designer.</l
aba0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 49 6e 20  i>.      <li>In 
abb0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 28 6e  Visual Studio (n
abc0: 6f 74 20 45 78 70 72 65 73 73 29 2c 20 79 6f 75  ot Express), you
abd0: 20 63 61 6e 20 6e 6f 77 20 72 69 67 68 74 2d 63   can now right-c
abe0: 6c 69 63 6b 20 61 20 53 51 4c 69 74 65 20 63 6f  lick a SQLite co
abf0: 6e 6e 65 63 74 69 6f 6e 20 69 6e 0a 20 20 20 20  nnection in.    
ac00: 20 20 20 20 74 68 65 20 53 65 72 76 65 72 20 45      the Server E
ac10: 78 70 6c 6f 72 65 72 20 61 6e 64 20 76 61 63 75  xplorer and vacu
ac20: 75 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 20  um the database 
ac30: 61 6e 64 20 63 68 61 6e 67 65 20 74 68 65 20 65  and change the e
ac40: 6e 63 72 79 70 74 69 6f 6e 20 70 61 73 73 77 6f  ncryption passwo
ac50: 72 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75  rd.</li>.    </u
ac60: 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  l>.    <p><b>1.0
ac70: 2e 33 30 2e 31 20 2d 20 4a 75 6c 79 20 32 2c 20  .30.1 - July 2, 
ac80: 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2006</b></p>.   
ac90: 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 43 6f   <ul>.    <li>Co
aca0: 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51  de merge with SQ
acb0: 4c 69 74 65 20 33 2e 33 2e 36 3c 2f 6c 69 3e 0a  Lite 3.3.6</li>.
acc0: 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20        <li>Added 
acd0: 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20  support for the 
ace0: 7c 44 61 74 61 44 69 72 65 63 74 6f 72 79 7c 20  |DataDirectory| 
acf0: 6b 65 79 77 6f 72 64 20 69 6e 20 74 68 65 20 44  keyword in the D
ad00: 61 74 61 20 53 6f 75 72 63 65 20 66 69 6c 65 6e  ata Source filen
ad10: 61 6d 65 20 73 74 72 69 6e 67 2e 26 6e 62 73 70  ame string.&nbsp
ad20: 3b 0a 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20  ;.      </li>.  
ad30: 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 68 6f      <li>Added ho
ad40: 6f 6b 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 20  ok notification 
ad50: 73 75 70 70 6f 72 74 20 74 6f 20 53 51 4c 69 74  support to SQLit
ad60: 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 26 6e 62 73  eConnection.&nbs
ad70: 70 3b 20 53 70 65 63 69 66 69 63 61 6c 6c 79 2c  p; Specifically,
ad80: 20 74 68 65 72 65 0a 20 20 20 20 20 20 61 72 65   there.      are
ad90: 20 74 68 72 65 65 20 6e 65 77 20 65 76 65 6e 74   three new event
ada0: 73 20 6f 6e 20 74 68 65 20 53 51 4c 69 74 65 43  s on the SQLiteC
adb0: 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74  onnection object
adc0: 20 77 68 69 63 68 20 61 72 65 20 72 61 69 73 65   which are raise
add0: 64 20 77 68 65 6e 20 61 6e 20 75 70 64 61 74 65  d when an update
ade0: 2f 69 6e 73 65 72 74 2f 64 65 6c 65 74 65 0a 20  /insert/delete. 
adf0: 20 20 20 20 20 6f 63 63 75 72 73 20 61 6e 64 20       occurs and 
ae00: 77 68 65 6e 20 74 72 61 6e 73 61 63 74 69 6f 6e  when transaction
ae10: 73 20 61 72 65 20 63 6f 6d 6d 69 74 74 65 64 20  s are committed 
ae20: 61 6e 64 20 72 6f 6c 6c 65 64 20 62 61 63 6b 2e  and rolled back.
ae30: 3c 2f 6c 69 3e 3c 6c 69 3e 43 68 61 6e 67 65 64  </li><li>Changed
ae40: 20 53 51 4c 69 74 65 54 72 61 6e 73 61 63 74 69   SQLiteTransacti
ae50: 6f 6e 20 74 6f 20 64 65 66 61 75 6c 74 20 74 6f  on to default to
ae60: 20 42 45 47 49 4e 20 49 4d 4d 45 44 49 41 54 45   BEGIN IMMEDIATE
ae70: 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74   instead of just
ae80: 20 42 45 47 49 4e 2c 0a 20 20 20 20 77 68 69 63   BEGIN,.    whic
ae90: 68 20 73 6f 6c 76 65 73 20 61 20 6d 75 6c 74 69  h solves a multi
aea0: 74 68 72 65 61 64 65 64 20 72 61 63 65 20 63 6f  threaded race co
aeb0: 6e 64 69 74 69 6f 6e 2e 26 6e 62 73 70 3b 3c 2f  ndition.&nbsp;</
aec0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 43 68  li>.      <li>Ch
aed0: 61 6e 67 65 64 20 53 51 4c 69 74 65 44 61 74 61  anged SQLiteData
aee0: 52 65 61 64 65 72 20 74 6f 20 62 65 74 74 65 72  Reader to better
aef0: 20 73 75 70 70 6f 72 74 20 53 51 4c 69 74 65 27   support SQLite'
af00: 73 20 74 79 70 65 6c 65 73 73 6e 65 73 73 2e 26  s typelessness.&
af10: 6e 62 73 70 3b 20 54 68 65 20 64 61 74 61 0a 20  nbsp; The data. 
af20: 20 20 20 20 20 20 20 72 65 61 64 65 72 20 6e 6f         reader no
af30: 20 6c 6f 6e 67 65 72 20 63 61 63 68 65 73 20 63   longer caches c
af40: 6f 6c 75 6d 6e 20 61 66 66 69 6e 69 74 79 2c 20  olumn affinity, 
af50: 62 75 74 20 72 65 2d 65 76 61 6c 75 61 74 65 73  but re-evaluates
af60: 20 69 74 20 66 6f 72 20 65 61 63 68 20 63 6f 6c   it for each col
af70: 75 6d 6e 2f 72 6f 77 2e 3c 2f 6c 69 3e 0a 20 20  umn/row.</li>.  
af80: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20      <li>Fixed a 
af90: 62 75 67 20 69 6e 20 50 72 65 70 61 72 65 28 29  bug in Prepare()
afa0: 20 77 68 69 63 68 20 63 61 75 73 65 64 20 61 6e   which caused an
afb0: 20 69 6e 74 65 72 6d 69 74 74 61 6e 74 20 66 61   intermittant fa
afc0: 75 6c 74 20 64 75 65 20 74 6f 20 74 68 65 20 63  ult due to the c
afd0: 6f 64 65 20 61 63 63 65 73 73 69 6e 67 0a 20 20  ode accessing.  
afe0: 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79        the memory
aff0: 20 6f 66 20 61 6e 20 75 6e 70 69 6e 6e 65 64 20   of an unpinned 
b000: 76 61 72 69 61 62 6c 65 2e 26 6e 62 73 70 3b 3c  variable.&nbsp;<
b010: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  /li>.      <li>F
b020: 69 78 65 64 20 61 20 6d 75 6c 74 69 74 68 72 65  ixed a multithre
b030: 61 64 65 64 20 6c 6f 63 6b 2d 72 65 74 72 79 20  aded lock-retry 
b040: 62 75 67 20 69 6e 20 69 6e 20 53 51 4c 69 74 65  bug in in SQLite
b050: 43 6f 6e 6e 65 63 74 69 6f 6e 2e 4f 70 65 6e 28  Connection.Open(
b060: 29 20 61 6e 64 20 69 6e 0a 20 20 20 20 53 51 4c  ) and in.    SQL
b070: 69 74 65 54 72 61 6e 73 61 63 74 69 6f 6e 2c 20  iteTransaction, 
b080: 77 68 69 63 68 20 66 61 69 6c 65 64 20 74 6f 20  which failed to 
b090: 75 73 65 20 61 20 63 6f 6d 6d 61 6e 64 20 74 69  use a command ti
b0a0: 6d 65 6f 75 74 20 62 65 66 6f 72 65 20 67 69 76  meout before giv
b0b0: 69 6e 67 20 75 70 2e 3c 2f 6c 69 3e 0a 20 20 20  ing up.</li>.   
b0c0: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
b0d0: 3e 31 2e 30 2e 32 39 2e 30 20 2d 20 4d 61 79 20  >1.0.29.0 - May 
b0e0: 31 36 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e  16, 2006</b></p>
b0f0: 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c  .    <ul>.    <l
b100: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e  i>Fixed a bug in
b110: 20 74 68 65 20 56 69 65 77 73 20 73 63 68 65 6d   the Views schem
b120: 61 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 68  a information wh
b130: 69 63 68 20 63 61 75 73 65 64 20 6d 75 6c 74 69  ich caused multi
b140: 2d 6c 69 6e 65 20 76 69 65 77 20 64 65 66 69 6e  -line view defin
b150: 69 74 69 6f 6e 20 73 74 61 74 65 6d 65 6e 74 73  ition statements
b160: 20 6e 6f 74 20 74 6f 20 62 65 20 70 61 72 73 65   not to be parse
b170: 64 3c 2f 6c 69 3e 0a 20 20 20 20 3c 6c 69 3e 46  d</li>.    <li>F
b180: 69 78 65 64 20 61 20 70 61 72 73 69 6e 67 20 62  ixed a parsing b
b190: 75 67 20 69 6e 20 53 51 4c 69 74 65 44 61 74 61  ug in SQLiteData
b1a0: 52 65 61 64 65 72 2e 47 65 74 53 63 68 65 6d 61  Reader.GetSchema
b1b0: 54 61 62 6c 65 28 29 20 74 6f 20 61 63 63 6f 75  Table() to accou
b1c0: 6e 74 20 66 6f 72 20 6e 75 6d 65 72 69 63 28 78  nt for numeric(x
b1d0: 2c 79 29 20 64 61 74 61 74 79 70 65 73 20 77 69  ,y) datatypes wi
b1e0: 74 68 20 73 70 65 63 69 66 69 65 64 20 70 72 65  th specified pre
b1f0: 63 69 73 69 6f 6e 20 61 6e 64 20 73 63 61 6c 65  cision and scale
b200: 3c 2f 6c 69 3e 0a 20 20 20 20 3c 6c 69 3e 46 69  </li>.    <li>Fi
b210: 78 65 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c  xed a bug in SQL
b220: 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 4f 70  iteConnection.Op
b230: 65 6e 28 29 20 77 68 69 63 68 20 74 72 69 65 64  en() which tried
b240: 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c   to automaticall
b250: 79 20 65 6e 6c 69 73 74 20 69 6e 20 61 6e 20 61  y enlist in an a
b260: 6d 62 69 65 6e 74 20 74 72 61 6e 73 61 63 74 69  mbient transacti
b270: 6f 6e 20 62 75 74 20 68 61 64 20 6e 6f 74 20 79  on but had not y
b280: 65 74 20 73 65 74 20 74 68 65 20 73 74 61 74 65  et set the state
b290: 20 6f 66 20 74 68 65 20 64 61 74 61 62 61 73 65   of the database
b2a0: 20 74 6f 20 4f 70 65 6e 65 64 2c 20 74 68 65 72   to Opened, ther
b2b0: 65 62 79 20 63 61 75 73 69 6e 67 20 61 20 74 72  eby causing a tr
b2c0: 61 6e 73 61 63 74 69 6f 6e 20 66 61 75 6c 74 3c  ansaction fault<
b2d0: 2f 6c 69 3e 0a 20 20 20 20 3c 6c 69 3e 43 68 61  /li>.    <li>Cha
b2e0: 6e 67 65 64 20 53 51 4c 69 74 65 45 78 63 65 70  nged SQLiteExcep
b2f0: 74 69 6f 6e 20 74 6f 20 69 6e 68 65 72 69 74 20  tion to inherit 
b300: 66 72 6f 6d 20 44 62 45 78 63 65 70 74 69 6f 6e  from DbException
b310: 20 6f 6e 20 74 68 65 20 66 75 6c 6c 20 66 72 61   on the full fra
b320: 6d 65 77 6f 72 6b 3c 2f 6c 69 3e 0a 20 20 20 20  mework</li>.    
b330: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
b340: 31 2e 30 2e 32 38 2e 30 20 2d 20 41 70 72 69 6c  1.0.28.0 - April
b350: 20 31 34 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70   14, 2006</b></p
b360: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c  >.    <ul>.    <
b370: 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69  li>Code merge wi
b380: 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e 35 3c  th SQLite 3.3.5<
b390: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 59  /li>.      <li>Y
b3a0: 6f 75 20 63 61 6e 20 6e 6f 77 20 73 70 65 63 69  ou can now speci
b3b0: 66 79 20 61 20 72 65 6c 61 74 69 76 65 20 70 61  fy a relative pa
b3c0: 74 68 20 69 6e 20 74 68 65 20 43 6f 6d 70 61 63  th in the Compac
b3d0: 74 20 46 72 61 6d 65 77 6f 72 6b 27 73 20 22 44  t Framework's "D
b3e0: 61 74 61 20 53 6f 75 72 63 65 22 20 62 79 0a 20  ata Source" by. 
b3f0: 20 20 20 20 20 20 20 70 72 65 66 69 78 69 6e 67         prefixing
b400: 20 74 68 65 20 66 69 6c 65 20 77 69 74 68 20 22   the file with "
b410: 2e 5c 22 2e 26 6e 62 73 70 3b 20 69 2e 65 2e 20  .\".&nbsp; i.e. 
b420: 22 44 61 74 61 20 53 6f 75 72 63 65 3d 2e 5c 5c  "Data Source=.\\
b430: 6d 79 64 62 2e 64 62 33 22 3c 2f 6c 69 3e 0a 20  mydb.db3"</li>. 
b440: 20 20 20 20 20 3c 6c 69 3e 53 65 76 65 72 61 6c       <li>Several
b450: 20 6d 6f 72 65 20 63 68 61 6e 67 65 73 20 61 6e   more changes an
b460: 64 20 65 6e 68 61 6e 63 65 6d 65 6e 74 73 20 74  d enhancements t
b470: 6f 20 73 63 68 65 6d 61 73 20 66 6f 72 20 62 65  o schemas for be
b480: 74 74 65 72 20 63 6f 6d 70 61 74 69 62 69 6c 69  tter compatibili
b490: 74 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ty.</li>.      <
b4a0: 6c 69 3e 46 69 78 65 64 20 73 65 76 65 72 61 6c  li>Fixed several
b4b0: 20 62 75 67 73 20 77 69 74 68 20 74 68 65 20 36   bugs with the 6
b4c0: 34 2d 62 69 74 20 62 75 69 6c 64 73 20 6f 66 20  4-bit builds of 
b4d0: 74 68 65 20 70 72 6f 76 69 64 65 72 2e 26 6e 62  the provider.&nb
b4e0: 73 70 3b 20 54 68 65 20 78 36 34 20 62 69 6e 61  sp; The x64 bina
b4f0: 72 79 0a 20 20 20 20 20 20 20 20 69 73 20 6e 6f  ry.        is no
b500: 77 20 6f 70 74 69 6d 69 7a 65 64 2e 3c 2f 6c 69  w optimized.</li
b510: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 44 65 73 69  >.      <li>Desi
b520: 67 6e 2d 74 69 6d 65 20 69 6e 73 74 61 6c 6c 65  gn-time installe
b530: 72 20 6e 6f 77 20 74 72 69 65 73 20 74 6f 20 69  r now tries to i
b540: 6e 73 74 61 6c 6c 20 74 68 65 20 36 34 2d 62 69  nstall the 64-bi
b550: 74 20 62 75 69 6c 64 73 20 69 6e 74 6f 20 74 68  t builds into th
b560: 65 20 47 41 43 20 61 6c 6f 6e 67 0a 20 20 20 20  e GAC along.    
b570: 20 20 20 20 77 69 74 68 20 74 68 65 20 33 32 2d      with the 32-
b580: 62 69 74 20 62 75 69 6c 64 2e 3c 2f 6c 69 3e 0a  bit build.</li>.
b590: 20 20 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20        <li>Fixed 
b5a0: 61 20 62 75 67 20 69 6e 20 74 68 65 20 53 51 4c  a bug in the SQL
b5b0: 69 74 65 44 61 74 61 52 65 61 64 65 72 2e 47 65  iteDataReader.Ge
b5c0: 74 53 63 68 65 6d 61 54 61 62 6c 65 28 29 20 66  tSchemaTable() f
b5d0: 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 75 73 65  unction when use
b5e0: 64 20 77 69 74 68 20 74 61 62 6c 65 73 0a 20 20  d with tables.  
b5f0: 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67        containing
b600: 20 61 70 6f 73 74 72 6f 70 68 65 73 2e 3c 2f 6c   apostrophes.</l
b610: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
b620: 65 64 20 61 6e 20 58 53 44 2d 72 65 6c 61 74 65  ed an XSD-relate
b630: 64 20 62 75 67 20 77 68 65 72 65 62 79 20 74 68  d bug whereby th
b640: 65 20 58 53 44 20 75 74 69 6c 69 74 79 20 77 61  e XSD utility wa
b650: 73 20 75 6e 61 62 6c 65 20 74 6f 20 6c 6f 63 61  s unable to loca
b660: 74 65 20 74 68 65 20 70 72 6f 76 69 64 65 72 0a  te the provider.
b670: 20 20 20 20 20 20 20 20 61 6e 64 20 63 6f 75 6c          and coul
b680: 64 20 6e 6f 74 20 67 65 6e 65 72 61 74 65 20 74  d not generate t
b690: 79 70 65 64 20 64 61 74 61 73 65 74 73 2e 3c 2f  yped datasets.</
b6a0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64  li>.      <li>Ad
b6b0: 64 65 64 20 4e 54 45 58 54 20 61 6e 64 20 53 54  ded NTEXT and ST
b6c0: 52 49 4e 47 20 64 61 74 61 74 79 70 65 73 20 74  RING datatypes t
b6d0: 6f 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65  o the list of re
b6e0: 63 6f 67 6e 69 7a 65 64 20 6b 65 79 77 6f 72 64  cognized keyword
b6f0: 73 20 28 75 73 65 64 20 66 6f 72 0a 20 20 20 20  s (used for.    
b700: 20 20 20 20 73 63 68 65 6d 61 20 72 65 74 72 69      schema retri
b710: 65 76 61 6c 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20  eval).</li>.    
b720: 20 20 3c 6c 69 3e 44 75 65 20 74 6f 20 74 68 65    <li>Due to the
b730: 20 58 53 44 20 62 75 67 20 61 6e 64 20 6f 74 68   XSD bug and oth
b740: 65 72 20 70 6f 74 65 6e 74 69 61 6c 20 70 72 6f  er potential pro
b750: 62 6c 65 6d 73 20 72 65 6c 61 74 65 64 20 74 6f  blems related to
b760: 20 65 78 74 65 72 6e 61 6c 20 62 75 69 6c 64 20   external build 
b770: 75 74 69 6c 69 74 69 65 73 2c 0a 20 20 20 20 20  utilities,.     
b780: 20 20 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68     changes to th
b790: 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f  e installation o
b7a0: 66 20 74 68 65 20 64 65 73 69 67 6e 65 72 20 68  f the designer h
b7b0: 61 76 65 20 68 61 64 20 74 6f 20 62 65 20 6d 61  ave had to be ma
b7c0: 64 65 2e 26 6e 62 73 70 3b 20 54 68 65 20 69 6e  de.&nbsp; The in
b7d0: 73 74 61 6c 6c 65 72 0a 20 20 20 20 20 20 20 20  staller.        
b7e0: 75 73 65 64 20 74 6f 20 77 72 69 74 65 20 74 68  used to write th
b7f0: 65 20 44 62 50 72 6f 76 69 64 65 72 46 61 63 74  e DbProviderFact
b800: 6f 72 69 65 73 20 58 4d 4c 20 69 6e 74 6f 20 74  ories XML into t
b810: 68 65 20 64 65 76 65 6e 76 2e 65 78 65 2e 63 6f  he devenv.exe.co
b820: 6e 66 69 67 20 66 69 6c 65 20 61 6e 64 20 69 74  nfig file and it
b830: 73 0a 20 20 20 20 20 20 20 20 65 78 70 72 65 73  s.        expres
b840: 73 20 63 6f 75 73 69 6e 73 2c 20 62 75 74 20 6e  s cousins, but n
b850: 6f 77 20 68 61 73 20 74 6f 20 77 72 69 74 65 20  ow has to write 
b860: 69 6e 73 74 65 61 64 20 74 6f 20 74 68 65 20 6d  instead to the m
b870: 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67 2e 3c 2f  achine.config.</
b880: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 49 6e  li>.      <li>In
b890: 73 74 61 6c 6c 65 72 20 77 72 69 74 65 73 20 74  staller writes t
b8a0: 6f 20 62 6f 74 68 20 74 68 65 20 33 32 2d 62 69  o both the 32-bi
b8b0: 74 20 6d 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67  t machine.config
b8c0: 20 61 6e 64 20 74 68 65 20 36 34 2d 62 69 74 20   and the 64-bit 
b8d0: 6d 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67 0a 20  machine.config. 
b8e0: 20 20 20 20 20 20 20 69 66 20 69 74 20 65 78 69         if it exi
b8f0: 73 74 73 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a  sts.&nbsp;</li>.
b900: 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70      </ul>.    <p
b910: 3e 3c 62 3e 31 2e 30 2e 32 37 2e 31 20 2d 20 46  ><b>1.0.27.1 - F
b920: 65 62 72 75 61 72 79 20 32 38 2c 20 32 30 30 36  ebruary 28, 2006
b930: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
b940: 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  >.    <li>Fixed 
b950: 61 20 62 75 67 20 77 68 65 6e 20 64 6f 69 6e 67  a bug when doing
b960: 20 64 61 74 61 20 62 69 6e 64 69 6e 67 20 69 6e   data binding in
b970: 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f   Compact Framewo
b980: 72 6b 20 70 72 6f 6a 65 63 74 73 20 74 68 61 74  rk projects that
b990: 20 70 72 65 76 65 6e 74 65 64 0a 20 20 20 20 20   prevented.     
b9a0: 20 79 6f 75 20 66 72 6f 6d 20 61 73 73 69 67 6e   you from assign
b9b0: 69 6e 67 20 61 20 74 79 70 65 64 20 64 61 74 61  ing a typed data
b9c0: 73 65 74 20 74 6f 20 61 20 62 69 6e 64 69 6e 67  set to a binding
b9d0: 73 6f 75 72 63 65 2e 26 6e 62 73 70 3b 20 49 74  source.&nbsp; It
b9e0: 20 74 75 72 6e 73 20 6f 75 74 2c 20 74 68 65 20   turns out, the 
b9f0: 43 46 0a 20 20 20 20 20 20 76 65 72 73 69 6f 6e  CF.      version
ba00: 20 6f 66 20 74 68 65 20 53 51 4c 69 74 65 20 70   of the SQLite p
ba10: 72 6f 76 69 64 65 72 20 6e 65 65 64 73 20 74 6f  rovider needs to
ba20: 20 62 65 20 66 6c 61 67 67 65 64 20 61 73 20 72   be flagged as r
ba30: 65 74 61 72 67 65 74 61 62 6c 65 20 73 6f 20 69  etargetable so i
ba40: 74 27 6c 6c 20 77 6f 72 6b 0a 20 20 20 20 20 20  t'll work.      
ba50: 69 6e 20 74 68 65 20 64 65 73 69 67 6e 2d 74 69  in the design-ti
ba60: 6d 65 20 64 65 73 6b 74 6f 70 20 65 6e 76 69 72  me desktop envir
ba70: 6f 6e 6d 65 6e 74 2e 26 6e 62 73 70 3b 20 4e 6f  onment.&nbsp; No
ba80: 20 63 68 61 6e 67 65 73 20 77 65 72 65 20 6d 61   changes were ma
ba90: 64 65 20 74 6f 20 74 68 65 20 64 65 73 6b 74 6f  de to the deskto
baa0: 70 0a 20 20 20 20 20 20 62 75 69 6c 64 2c 20 62  p.      build, b
bab0: 75 74 20 74 68 65 20 72 65 76 69 73 69 6f 6e 20  ut the revision 
bac0: 77 61 73 20 62 75 6d 70 65 64 20 6f 6e 20 61 6c  was bumped on al
bad0: 6c 20 6c 69 62 72 61 72 69 65 73 20 61 6e 79 77  l libraries anyw
bae0: 61 79 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6b  ay in order to k
baf0: 65 65 70 20 74 68 65 6d 0a 20 20 20 20 20 20 73  eep them.      s
bb00: 79 6e 63 27 64 2e 26 6e 62 73 70 3b 3c 2f 6c 69  ync'd.&nbsp;</li
bb10: 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62  ></ul>.    <p><b
bb20: 3e 31 2e 30 2e 32 37 2e 30 20 2d 20 46 65 62 72  >1.0.27.0 - Febr
bb30: 75 61 72 79 20 32 37 2c 20 32 30 30 36 3c 2f 62  uary 27, 2006</b
bb40: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20  ></p>.    <ul>. 
bb50: 20 20 20 3c 6c 69 3e 4d 61 6e 79 20 6f 70 74 69     <li>Many opti
bb60: 6d 69 7a 61 74 69 6f 6e 73 20 61 6e 64 20 61 20  mizations and a 
bb70: 66 65 77 20 6d 6f 72 65 20 6d 69 6e 6f 72 20 61  few more minor a
bb80: 64 6a 75 73 74 6d 65 6e 74 73 20 74 6f 20 73 63  djustments to sc
bb90: 68 65 6d 61 73 20 61 6e 64 20 73 63 68 65 6d 61  hemas and schema
bba0: 20 72 65 74 72 69 65 76 61 6c 0a 20 20 20 20 20   retrieval.     
bbb0: 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 6c   performance.</l
bbc0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74  i>.      <li>Lot
bbd0: 73 20 6f 66 20 64 65 73 69 67 6e 2d 74 69 6d 65  s of design-time
bbe0: 20 61 74 74 72 69 62 75 74 65 73 20 61 64 64 65   attributes adde
bbf0: 64 20 74 6f 20 74 68 65 20 63 6f 64 65 2e 26 6e  d to the code.&n
bc00: 62 73 70 3b 20 54 68 65 20 44 62 44 61 74 61 41  bsp; The DbDataA
bc10: 64 61 70 74 65 72 2c 20 44 62 43 6f 6d 6d 61 6e  dapter, DbComman
bc20: 64 2c 0a 20 20 20 20 20 20 20 20 61 6e 64 20 44  d,.        and D
bc30: 62 43 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65  bConnection obje
bc40: 63 74 73 20 6e 6f 77 20 68 61 76 65 20 67 72 65  cts now have gre
bc50: 61 74 6c 79 20 65 6e 68 61 6e 63 65 64 20 64 65  atly enhanced de
bc60: 73 69 67 6e 2d 74 69 6d 65 20 63 61 70 61 62 69  sign-time capabi
bc70: 6c 69 74 69 65 73 20 77 68 65 6e 0a 20 20 20 20  lities when.    
bc80: 20 20 20 20 61 64 64 65 64 20 74 6f 20 74 68 65      added to the
bc90: 20 74 6f 6f 6c 62 6f 78 20 61 6e 64 20 64 72 6f   toolbox and dro
bca0: 70 70 65 64 20 6f 6e 20 61 20 66 6f 72 6d 2e 3c  pped on a form.<
bcb0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4c  /li>.      <li>L
bcc0: 6f 74 73 20 6f 66 20 53 65 72 76 65 72 20 45 78  ots of Server Ex
bcd0: 70 6c 6f 72 65 72 20 65 6e 68 61 6e 63 65 6d 65  plorer enhanceme
bce0: 6e 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  nts.</li>.      
bcf0: 3c 6c 69 3e 42 69 6e 61 72 69 65 73 20 61 72 65  <li>Binaries are
bd00: 20 6e 6f 77 20 64 69 73 74 72 69 62 75 74 65 64   now distributed
bd10: 20 69 6e 20 61 20 73 65 74 75 70 20 70 72 6f 67   in a setup prog
bd20: 72 61 6d 20 66 6f 72 20 65 61 73 69 65 72 20 61  ram for easier a
bd30: 64 6d 69 6e 69 73 74 72 61 74 69 6f 6e 20 61 6e  dministration an
bd40: 64 0a 20 20 20 20 20 20 20 20 63 6f 6e 66 69 67  d.        config
bd50: 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 70  uration of the p
bd60: 72 6f 76 69 64 65 72 2e 3c 2f 6c 69 3e 0a 20 20  rovider.</li>.  
bd70: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
bd80: 62 3e 31 2e 30 2e 32 36 2e 32 20 2d 20 46 65 62  b>1.0.26.2 - Feb
bd90: 72 75 61 72 79 20 31 35 2c 20 32 30 30 36 3c 2f  ruary 15, 2006</
bda0: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
bdb0: 20 20 20 20 3c 6c 69 3e 59 65 74 20 61 6e 6f 74      <li>Yet anot
bdc0: 68 65 72 20 62 75 67 66 69 78 20 74 6f 20 69 6e  her bugfix to in
bdd0: 64 65 78 20 73 63 68 65 6d 61 73 2c 20 77 68 69  dex schemas, whi
bde0: 63 68 20 77 61 73 20 69 6e 63 6f 72 72 65 63 74  ch was incorrect
bdf0: 6c 79 20 6d 61 72 6b 69 6e 67 20 6d 6f 73 74 20  ly marking most 
be00: 69 6e 64 65 78 65 73 0a 20 20 20 20 20 20 61 73  indexes.      as
be10: 20 70 72 69 6d 61 72 79 20 6b 65 79 20 69 6e 64   primary key ind
be20: 65 78 65 73 2e 3c 2f 6c 69 3e 3c 6c 69 3e 46 69  exes.</li><li>Fi
be30: 78 65 64 20 47 65 74 53 63 68 65 6d 61 28 29 20  xed GetSchema() 
be40: 74 6f 20 61 63 63 65 70 74 20 61 20 6e 75 6c 6c  to accept a null
be50: 20 73 74 72 69 6e 67 20 61 72 72 61 79 2e 3c 2f   string array.</
be60: 6c 69 3e 3c 6c 69 3e 46 69 78 65 64 20 61 20 6d  li><li>Fixed a m
be70: 69 73 73 70 65 6c 6c 65 64 20 65 78 70 6f 72 74  isspelled export
be80: 20 69 6e 20 74 68 65 20 63 6f 72 65 20 43 20 6c   in the core C l
be90: 69 62 72 61 72 79 20 74 68 61 74 20 70 72 65 76  ibrary that prev
bea0: 65 6e 74 65 64 20 64 61 74 61 62 61 73 65 73 20  ented databases 
beb0: 6f 70 65 6e 65 64 0a 20 20 20 20 77 69 74 68 20  opened.    with 
bec0: 55 54 46 31 36 45 6e 63 6f 64 69 6e 67 20 66 72  UTF16Encoding fr
bed0: 6f 6d 20 67 65 74 74 69 6e 67 20 73 63 68 65 6d  om getting schem
bee0: 61 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e  a information an
bef0: 64 20 77 6f 75 6c 64 20 6c 69 6b 65 6c 79 20 63  d would likely c
bf00: 61 75 73 65 20 61 6e 20 65 72 72 6f 72 0a 20 20  ause an error.  
bf10: 20 20 69 66 20 61 74 74 65 6d 70 74 65 64 2e 3c    if attempted.<
bf20: 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70  /li></ul>.    <p
bf30: 3e 3c 62 3e 31 2e 30 2e 32 36 2e 31 20 2d 20 46  ><b>1.0.26.1 - F
bf40: 65 62 72 75 61 72 79 20 31 34 2c 20 32 30 30 36  ebruary 14, 2006
bf50: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
bf60: 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  >.    <li>Fixed 
bf70: 65 76 65 6e 20 6d 6f 72 65 20 6d 69 6e 6f 72 20  even more minor 
bf80: 73 63 68 65 6d 61 20 62 75 67 73 20 68 61 76 69  schema bugs havi
bf90: 6e 67 20 74 6f 20 64 6f 20 77 69 74 68 20 69 6e  ng to do with in
bfa0: 64 65 78 65 73 2e 3c 2f 6c 69 3e 3c 6c 69 3e 41  dexes.</li><li>A
bfb0: 64 64 65 64 20 74 77 6f 20 6d 69 73 73 69 6e 67  dded two missing
bfc0: 20 70 69 65 63 65 73 20 69 6e 20 74 68 65 20 53   pieces in the S
bfd0: 51 4c 69 74 65 20 64 65 73 69 67 6e 65 72 20 77  QLite designer w
bfe0: 68 69 63 68 20 77 65 72 65 20 70 72 65 76 65 6e  hich were preven
bff0: 74 69 6e 67 20 69 74 20 66 72 6f 6d 0a 20 20 20  ting it from.   
c000: 20 62 65 69 6e 67 20 75 73 65 64 20 66 72 6f 6d   being used from
c010: 20 77 69 74 68 69 6e 20 56 53 20 45 78 70 72 65   within VS Expre
c020: 73 73 20 65 64 69 74 69 6f 6e 73 2e 26 6e 62 73  ss editions.&nbs
c030: 70 3b 3c 2f 6c 69 3e 3c 6c 69 3e 53 65 76 65 72  p;</li><li>Sever
c040: 61 6c 20 62 75 67 66 69 78 65 73 20 74 6f 20 74  al bugfixes to t
c050: 68 65 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 69  he design-time i
c060: 6e 73 74 61 6c 6c 65 72 20 70 72 6f 67 72 61 6d  nstaller program
c070: 2c 20 69 6e 63 6c 75 64 69 6e 67 20 73 75 70 70  , including supp
c080: 6f 72 74 69 6e 67 0a 20 20 20 20 36 34 2d 62 69  orting.    64-bi
c090: 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c  t environments.<
c0a0: 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70  /li></ul>.    <p
c0b0: 3e 3c 62 3e 31 2e 30 2e 32 36 2e 30 20 2d 20 46  ><b>1.0.26.0 - F
c0c0: 65 62 72 75 61 72 79 20 31 31 2c 20 32 30 30 36  ebruary 11, 2006
c0d0: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
c0e0: 3e 0a 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d  >.    <li>Code m
c0f0: 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65  erge with SQLite
c100: 20 33 2e 33 2e 34 3c 2f 6c 69 3e 3c 6c 69 3e 46   3.3.4</li><li>F
c110: 69 78 65 64 20 61 6e 20 65 6e 63 72 79 70 74 69  ixed an encrypti
c120: 6f 6e 20 62 75 67 20 77 68 65 6e 20 63 68 61 6e  on bug when chan
c130: 67 69 6e 67 20 74 68 65 20 70 61 73 73 77 6f 72  ging the passwor
c140: 64 20 6f 66 20 64 61 74 61 62 61 73 65 73 20 6f  d of databases o
c150: 76 65 72 20 31 67 62 20 69 6e 0a 20 20 20 20 20  ver 1gb in.     
c160: 20 73 69 7a 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69   size.&nbsp;</li
c170: 3e 3c 6c 69 3e 46 69 78 65 64 20 76 61 72 69 6f  ><li>Fixed vario
c180: 75 73 20 64 65 73 69 67 6e 65 72 20 69 73 73 75  us designer issu
c190: 65 73 20 72 65 6c 61 74 65 64 20 74 6f 20 63 6f  es related to co
c1a0: 6e 73 74 72 75 63 74 69 6f 6e 20 6f 66 20 6e 61  nstruction of na
c1b0: 6d 65 64 20 70 61 72 61 6d 65 74 65 72 73 2e 3c  med parameters.<
c1c0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 52  /li>.      <li>R
c1d0: 65 74 6f 6f 6c 65 64 20 74 68 65 20 47 65 74 53  etooled the GetS
c1e0: 63 68 65 6d 61 28 29 20 6d 65 74 68 6f 64 20 6f  chema() method o
c1f0: 66 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64  f SQLiteDataRead
c200: 65 72 20 74 6f 20 75 73 65 20 74 68 65 20 6e 65  er to use the ne
c210: 77 20 33 2e 33 2e 34 20 41 50 49 20 66 75 6e 63  w 3.3.4 API func
c220: 74 69 6f 6e 73 2c 0a 20 20 20 20 20 20 20 20 61  tions,.        a
c230: 6e 64 20 6d 61 64 65 20 73 65 76 65 72 61 6c 20  nd made several 
c240: 65 6e 68 61 6e 63 65 6d 65 6e 74 73 20 61 6e 64  enhancements and
c250: 20 66 69 78 65 73 20 74 6f 20 73 63 68 65 6d 61   fixes to schema
c260: 73 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20  s.&nbsp;</li>.  
c270: 20 20 20 20 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e      <li>Implemen
c280: 74 65 64 20 74 68 65 20 53 6f 75 72 63 65 43 6f  ted the SourceCo
c290: 6c 75 6d 6e 4e 75 6c 6c 4d 61 70 70 69 6e 67 20  lumnNullMapping 
c2a0: 70 72 6f 70 65 72 74 79 20 6f 66 20 53 51 4c 69  property of SQLi
c2b0: 74 65 50 61 72 61 6d 65 74 65 72 20 74 6f 20 66  teParameter to f
c2c0: 69 78 0a 20 20 20 20 61 20 44 62 43 6f 6d 6d 61  ix.    a DbComma
c2d0: 6e 64 42 75 69 6c 64 65 72 20 63 6f 64 65 20 67  ndBuilder code g
c2e0: 65 6e 65 72 61 74 69 6f 6e 20 62 75 67 2e 26 6e  eneration bug.&n
c2f0: 62 73 70 3b 3c 2f 6c 69 3e 3c 6c 69 3e 52 65 6d  bsp;</li><li>Rem
c300: 6f 76 65 64 20 74 68 65 20 72 75 6e 74 69 6d 65  oved the runtime
c310: 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 4d   dependency on M
c320: 53 56 43 52 38 30 2e 44 4c 4c 2e 26 6e 62 73 70  SVCR80.DLL.&nbsp
c330: 3b 20 46 69 6c 65 20 73 69 7a 65 20 69 73 20 73  ; File size is s
c340: 6f 6d 65 77 68 61 74 0a 20 20 20 20 6c 61 72 67  omewhat.    larg
c350: 65 72 20 66 6f 72 20 74 68 65 20 76 61 72 79 69  er for the varyi
c360: 6e 67 20 64 65 73 6b 74 6f 70 20 76 65 72 73 69  ng desktop versi
c370: 6f 6e 73 2e 3c 2f 6c 69 3e 3c 6c 69 3e 43 72 65  ons.</li><li>Cre
c380: 61 74 65 64 20 61 6e 20 69 6e 73 74 61 6c 6c 20  ated an install 
c390: 70 72 6f 67 72 61 6d 20 74 6f 20 6d 61 6e 61 67  program to manag
c3a0: 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 61  e installation a
c3b0: 6e 64 20 75 6e 69 6e 73 74 61 6c 6c 61 74 69 6f  nd uninstallatio
c3c0: 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 53 51 4c  n of the.    SQL
c3d0: 69 74 65 20 64 65 73 69 67 6e 2d 74 69 6d 65 20  ite design-time 
c3e0: 73 75 70 70 6f 72 74 2e 3c 2f 6c 69 3e 0a 20 20  support.</li>.  
c3f0: 20 20 20 20 3c 6c 69 3e 44 65 73 69 67 6e 65 72      <li>Designer
c400: 20 73 75 70 70 6f 72 74 20 6e 6f 77 20 77 6f 72   support now wor
c410: 6b 73 20 66 6f 72 20 61 6c 6c 20 56 69 73 75 61  ks for all Visua
c420: 6c 20 53 74 75 64 69 6f 20 65 64 69 74 69 6f 6e  l Studio edition
c430: 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 61 6c 6c  s, including all
c440: 20 45 78 70 72 65 73 73 0a 20 20 20 20 20 20 20   Express.       
c450: 20 45 64 69 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0a   Editions.</li>.
c460: 20 20 20 20 20 20 3c 6c 69 3e 44 65 73 69 67 6e        <li>Design
c470: 2d 74 69 6d 65 20 69 6e 73 74 61 6c 6c 65 72 20  -time installer 
c480: 77 69 6c 6c 20 6e 6f 77 20 72 65 6d 6f 76 65 20  will now remove 
c490: 28 69 66 20 70 72 65 73 65 6e 74 29 20 74 68 65  (if present) the
c4a0: 20 6d 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67 20   machine.config 
c4b0: 53 51 4c 69 74 65 20 65 6e 74 72 69 65 73 0a 20  SQLite entries. 
c4c0: 20 20 20 20 20 20 20 69 6e 20 66 61 76 6f 72 20         in favor 
c4d0: 6f 66 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68  of installing th
c4e0: 65 20 78 6d 6c 20 63 6f 64 65 20 69 6e 74 6f 20  e xml code into 
c4f0: 74 68 65 20 64 65 76 65 6e 76 2e 65 78 65 2e 63  the devenv.exe.c
c500: 6f 6e 66 69 67 20 66 69 6c 65 20 28 6f 72 20 61  onfig file (or a
c510: 6e 79 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20  ny of the.      
c520: 20 20 76 61 72 69 61 74 69 6f 6e 73 20 66 6f 72    variations for
c530: 20 65 78 70 72 65 73 73 20 65 64 69 74 69 6f 6e   express edition
c540: 73 29 2e 26 6e 62 73 70 3b 20 54 68 65 20 6f 66  s).&nbsp; The of
c550: 66 69 63 69 61 6c 6c 79 2d 61 63 63 65 70 74 65  ficially-accepte
c560: 64 20 62 65 68 61 76 69 6f 72 20 6f 66 20 75 73  d behavior of us
c570: 69 6e 67 0a 20 20 20 20 20 20 20 20 44 62 50 72  ing.        DbPr
c580: 6f 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 20  oviderFactories 
c590: 69 73 20 74 6f 20 61 64 64 20 74 68 65 20 63 6f  is to add the co
c5a0: 64 65 20 74 6f 20 79 6f 75 72 20 61 70 70 2e 63  de to your app.c
c5b0: 6f 6e 66 69 67 20 66 69 6c 65 2c 20 61 6e 64 20  onfig file, and 
c5c0: 74 68 65 20 6d 61 63 68 69 6e 65 2e 63 6f 6e 66  the machine.conf
c5d0: 69 67 0a 20 20 20 20 20 20 20 20 66 69 6c 65 20  ig.        file 
c5e0: 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 74 6f  should not be to
c5f0: 75 63 68 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20  uched.</li>.    
c600: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
c610: 31 2e 30 2e 32 35 2e 30 20 2d 20 4a 61 6e 75 61  1.0.25.0 - Janua
c620: 72 79 20 33 31 2c 20 32 30 30 36 3c 2f 62 3e 3c  ry 31, 2006</b><
c630: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
c640: 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20   <li>Code merge 
c650: 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e  with SQLite 3.3.
c660: 33 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64 20  3</li><li>Added 
c670: 61 75 74 6f 6d 61 74 69 63 20 64 69 73 74 72 69  automatic distri
c680: 62 75 74 65 64 20 74 72 61 6e 73 61 63 74 69 6f  buted transactio
c690: 6e 20 65 6e 6c 69 73 74 6d 65 6e 74 20 61 6e 64  n enlistment and
c6a0: 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 74 68 65   implemented the
c6b0: 20 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 2e 45 6e   DbConnection.En
c6c0: 6c 69 73 74 54 72 61 6e 73 61 63 74 69 6f 6e 0a  listTransaction.
c6d0: 20 20 20 20 6d 65 74 68 6f 64 20 66 6f 72 20 6d      method for m
c6e0: 61 6e 75 61 6c 20 65 6e 6c 69 73 74 6d 65 6e 74  anual enlistment
c6f0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
c700: 3e 4e 65 73 74 65 64 20 74 72 61 6e 73 61 63 74  >Nested transact
c710: 69 6f 6e 73 20 61 72 65 20 6e 6f 77 20 73 75 70  ions are now sup
c720: 70 6f 72 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20  ported.</li>.   
c730: 20 20 20 3c 6c 69 3e 52 65 61 72 72 61 6e 67 65     <li>Rearrange
c740: 64 20 74 68 65 20 74 69 6d 69 6e 67 20 6f 66 20  d the timing of 
c750: 53 65 74 50 61 73 73 77 6f 72 64 28 29 2c 20 77  SetPassword(), w
c760: 68 69 63 68 20 6e 6f 77 20 6d 75 73 74 20 62 65  hich now must be
c770: 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 74   called before t
c780: 68 65 20 64 61 74 61 62 61 73 65 0a 20 20 20 20  he database.    
c790: 20 20 20 20 69 73 20 6f 70 65 6e 65 64 20 69 6e      is opened in
c7a0: 73 74 65 61 64 20 6f 66 20 61 66 74 65 72 77 61  stead of afterwa
c7b0: 72 64 73 2e 26 6e 62 73 70 3b 20 4f 70 74 69 6f  rds.&nbsp; Optio
c7c0: 6e 61 6c 6c 79 2c 20 74 68 65 20 70 61 73 73 77  nally, the passw
c7d0: 6f 72 64 20 63 61 6e 20 62 65 20 73 75 70 70 6c  ord can be suppl
c7e0: 69 65 64 0a 20 20 20 20 20 20 20 20 69 6e 20 74  ied.        in t
c7f0: 68 65 20 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72  he ConnectionStr
c800: 69 6e 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ing.</li>.      
c810: 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20  <li>Fixed a bug 
c820: 69 6e 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f  in SQLiteFunctio
c830: 6e 20 74 68 61 74 20 63 61 75 73 65 64 20 61 20  n that caused a 
c840: 66 61 69 6c 75 72 65 20 77 68 65 6e 20 61 6e 20  failure when an 
c850: 65 6d 70 74 79 20 72 65 73 75 6c 74 73 65 74 20  empty resultset 
c860: 77 61 73 0a 20 20 20 20 20 20 20 20 72 65 74 75  was.        retu
c870: 72 6e 65 64 20 61 6e 64 20 61 20 63 75 73 74 6f  rned and a custo
c880: 6d 20 75 73 65 72 20 61 67 67 72 65 67 61 74 65  m user aggregate
c890: 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 75 73   function was us
c8a0: 65 64 20 69 6e 20 74 68 65 20 71 75 65 72 79 2e  ed in the query.
c8b0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
c8c0: 54 68 65 20 64 65 73 69 67 6e 65 72 20 68 61 73  The designer has
c8d0: 20 68 61 64 20 61 6e 6f 74 68 65 72 20 72 6f 75   had another rou
c8e0: 6e 64 20 6f 66 20 63 6c 65 61 6e 75 70 20 61 70  nd of cleanup ap
c8f0: 70 6c 69 65 64 2c 20 69 6e 20 70 72 65 70 61 72  plied, in prepar
c900: 61 74 69 6f 6e 20 66 6f 72 20 6d 6f 76 69 6e 67  ation for moving
c910: 0a 20 20 20 20 20 20 20 20 74 6f 20 61 20 56 53  .        to a VS
c920: 20 70 61 63 6b 61 67 65 2e 3c 2f 6c 69 3e 0a 20   package.</li>. 
c930: 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 53       <li>Added S
c940: 51 4c 69 74 65 4d 65 74 61 44 61 74 61 43 6f 6c  QLiteMetaDataCol
c950: 6c 65 63 74 69 6f 6e 4e 61 6d 65 73 20 63 6c 61  lectionNames cla
c960: 73 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75  ss.</li>.    </u
c970: 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  l>.    <p><b>1.0
c980: 2e 32 34 2e 36 20 62 65 74 61 20 2d 20 4a 61 6e  .24.6 beta - Jan
c990: 75 61 72 79 20 32 33 2c 20 32 30 30 36 3c 2f 62  uary 23, 2006</b
c9a0: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20  ></p>.    <ul>. 
c9b0: 20 20 20 3c 6c 69 3e 54 68 69 73 20 62 65 74 61     <li>This beta
c9c0: 20 69 73 20 62 75 69 6c 74 20 66 72 6f 6d 20 73   is built from s
c9d0: 71 6c 69 74 65 2e 6f 72 67 27 73 20 33 2e 33 2e  qlite.org's 3.3.
c9e0: 32 20 62 65 74 61 2e 3c 2f 6c 69 3e 3c 6c 69 3e  2 beta.</li><li>
c9f0: 45 6c 69 6d 69 6e 61 74 65 64 20 74 68 65 20 73  Eliminated the s
ca00: 74 61 74 69 63 20 6c 69 6e 6b 69 6e 67 20 6f 66  tatic linking of
ca10: 20 6d 73 63 6f 72 65 65 20 66 72 6f 6d 20 61 6c   mscoree from al
ca20: 6c 20 62 69 6e 61 72 69 65 73 2e 26 6e 62 73 70  l binaries.&nbsp
ca30: 3b 20 4e 61 74 69 76 65 20 70 72 6f 6a 65 63 74  ; Native project
ca40: 73 0a 20 20 20 20 20 20 63 61 6e 20 6e 6f 77 20  s.      can now 
ca50: 75 73 65 20 74 68 65 20 6c 69 62 72 61 72 79 20  use the library 
ca60: 77 69 74 68 6f 75 74 20 61 6e 79 20 64 65 70 65  without any depe
ca70: 6e 64 65 6e 63 69 65 73 20 6f 6e 20 74 68 65 20  ndencies on the 
ca80: 2e 4e 45 54 20 66 72 61 6d 65 77 6f 72 6b 2c 20  .NET framework, 
ca90: 77 68 69 6c 65 20 6d 61 6e 61 67 65 64 0a 20 20  while managed.  
caa0: 20 20 20 20 70 72 6f 6a 65 63 74 73 20 63 6f 6e      projects con
cab0: 74 69 6e 75 65 20 74 6f 20 62 65 20 61 62 6c 65  tinue to be able
cac0: 20 74 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72   to use the libr
cad0: 61 72 79 20 6e 6f 72 6d 61 6c 6c 79 2e 3c 2f 6c  ary normally.</l
cae0: 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c  i></ul>.    <p><
caf0: 62 3e 31 2e 30 2e 32 34 2e 35 20 62 65 74 61 20  b>1.0.24.5 beta 
cb00: 2d 20 4a 61 6e 75 61 72 79 20 32 30 2c 20 32 30  - January 20, 20
cb10: 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c  06</b></p>.    <
cb20: 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 54 68 69 73  ul>.    <li>This
cb30: 20 62 65 74 61 20 69 73 20 62 75 69 6c 74 20 66   beta is built f
cb40: 72 6f 6d 20 73 71 6c 69 74 65 2e 6f 72 67 27 73  rom sqlite.org's
cb50: 20 33 2e 33 2e 31 20 61 6c 70 68 61 20 61 6e 64   3.3.1 alpha and
cb60: 20 63 6f 6e 74 61 69 6e 73 20 64 65 76 65 6c 6f   contains develo
cb70: 70 6d 65 6e 74 2d 69 6e 2d 70 72 6f 67 72 65 73  pment-in-progres
cb80: 73 20 63 6f 64 65 2e 26 6e 62 73 70 3b 20 54 68  s code.&nbsp; Th
cb90: 65 72 65 66 6f 72 65 20 6e 6f 20 67 75 61 72 61  erefore no guara
cba0: 6e 74 65 65 73 0a 20 20 20 20 20 20 63 61 6e 20  ntees.      can 
cbb0: 62 65 20 6d 61 64 65 20 72 65 67 61 72 64 69 6e  be made regardin
cbc0: 67 20 69 74 73 20 73 75 69 74 61 62 69 6c 69 74  g its suitabilit
cbd0: 79 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e  y for production
cbe0: 20 75 73 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c   use.</li>.    <
cbf0: 6c 69 3e 3c 73 74 72 6f 6e 67 3e 59 6f 75 20 6e  li><strong>You n
cc00: 6f 20 6c 6f 6e 67 65 72 20 6e 65 65 64 20 74 6f  o longer need to
cc10: 20 64 69 73 74 72 69 62 75 74 65 20 32 20 66 69   distribute 2 fi
cc20: 6c 65 73 20 6f 6e 20 74 68 65 20 43 6f 6d 70 61  les on the Compa
cc30: 63 74 46 72 61 6d 65 77 6f 72 6b 2e 26 6e 62 73  ctFramework.&nbs
cc40: 70 3b 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e  p;.      You can
cc50: 20 64 65 6c 65 74 65 20 53 51 4c 69 74 65 2e 49   delete SQLite.I
cc60: 6e 74 65 72 6f 70 2e 44 4c 4c 20 65 6e 74 69 72  nterop.DLL entir
cc70: 65 6c 79 2e 26 6e 62 73 70 3b 20 3c 2f 73 74 72  ely.&nbsp; </str
cc80: 6f 6e 67 3e 49 20 77 72 6f 74 65 20 61 20 63 75  ong>I wrote a cu
cc90: 73 74 6f 6d 20 74 6f 6f 6c 0a 20 20 20 20 20 20  stom tool.      
cca0: 63 61 6c 6c 65 64 20 22 6d 65 72 67 65 62 69 6e  called "mergebin
ccb0: 22 20 28 61 76 61 69 6c 61 62 6c 65 20 69 6e 20  " (available in 
ccc0: 74 68 65 20 73 6f 75 72 63 65 20 7a 69 70 20 66  the source zip f
ccd0: 69 6c 65 29 20 77 68 69 63 68 20 63 6f 6d 62 69  ile) which combi
cce0: 6e 65 73 20 74 68 65 20 74 77 6f 20 6c 69 62 72  nes the two libr
ccf0: 61 72 69 65 73 0a 20 20 20 20 20 20 61 6e 64 20  aries.      and 
cd00: 67 65 74 73 20 61 72 6f 75 6e 64 20 61 20 67 6c  gets around a gl
cd10: 61 72 69 6e 67 20 64 65 66 65 63 74 20 69 6e 20  aring defect in 
cd20: 74 68 65 20 56 53 32 30 30 35 20 6c 69 6e 6b 65  the VS2005 linke
cd30: 72 20 66 6f 72 20 41 52 4d 20 70 72 6f 63 65 73  r for ARM proces
cd40: 73 6f 72 73 20 77 68 69 63 68 20 64 6f 65 73 6e  sors which doesn
cd50: 27 74 0a 20 20 20 20 20 20 61 6c 6c 6f 77 20 79  't.      allow y
cd60: 6f 75 20 74 6f 20 6c 69 6e 6b 20 6e 65 74 6d 6f  ou to link netmo
cd70: 64 75 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20  dules.</li>.    
cd80: 20 20 3c 6c 69 3e 3c 73 74 72 6f 6e 67 3e 78 36    <li><strong>x6
cd90: 34 20 61 6e 64 20 69 61 36 34 20 62 75 69 6c 64  4 and ia64 build
cda0: 73 20 6e 6f 77 20 75 73 65 20 74 68 65 20 73 61  s now use the sa
cdb0: 6d 65 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20 61  me strong name a
cdc0: 73 20 74 68 65 20 78 38 36 20 62 75 69 6c 64 2e  s the x86 build.
cdd0: 3c 2f 73 74 72 6f 6e 67 3e 26 6e 62 73 70 3b 0a  </strong>&nbsp;.
cde0: 20 20 20 20 20 20 20 20 54 68 69 73 20 6d 65 61          This mea
cdf0: 6e 73 20 62 72 65 61 6b 69 6e 67 20 62 61 63 6b  ns breaking back
ce00: 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69  ward compatibili
ce10: 74 79 2c 20 62 75 74 20 69 74 20 77 61 73 20 6e  ty, but it was n
ce20: 65 63 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65  ecessary in orde
ce30: 72 20 74 6f 20 61 6c 6c 6f 77 0a 20 20 20 20 20  r to allow.     
ce40: 20 20 20 79 6f 75 20 74 6f 20 64 72 6f 70 20 61     you to drop a
ce50: 6e 79 20 6f 66 20 74 68 6f 73 65 20 33 20 62 75  ny of those 3 bu
ce60: 69 6c 64 73 20 6f 6e 74 6f 20 61 20 50 43 20 61  ilds onto a PC a
ce70: 6e 64 20 68 61 76 65 20 79 6f 75 72 20 2e 4e 45  nd have your .NE
ce80: 54 20 70 72 6f 67 72 61 6d 20 72 75 6e 20 70 72  T program run pr
ce90: 6f 70 65 72 6c 79 2e 26 6e 62 73 70 3b 0a 20 20  operly.&nbsp;.  
cea0: 20 20 20 20 20 20 50 72 69 6f 72 20 74 6f 20 74        Prior to t
ceb0: 68 69 73 2c 20 79 6f 75 27 64 20 67 65 74 20 61  his, you'd get a
cec0: 6e 20 65 72 72 6f 72 20 69 66 20 79 6f 75 20 62  n error if you b
ced0: 75 69 6c 74 20 79 6f 75 72 20 70 72 6f 67 72 61  uilt your progra
cee0: 6d 20 75 73 69 6e 67 20 74 68 65 20 78 38 36 20  m using the x86 
cef0: 62 75 69 6c 64 2c 0a 20 20 20 20 20 20 20 20 61  build,.        a
cf00: 6e 64 20 74 68 65 6e 20 69 6e 73 74 61 6c 6c 65  nd then installe
cf10: 64 20 74 68 65 20 78 36 34 20 76 65 72 73 69 6f  d the x64 versio
cf20: 6e 20 6f 6e 20 61 20 74 61 72 67 65 74 20 6d 61  n on a target ma
cf30: 63 68 69 6e 65 20 61 6e 64 20 74 72 69 65 64 20  chine and tried 
cf40: 74 6f 20 72 75 6e 20 79 6f 75 72 20 70 72 6f 67  to run your prog
cf50: 72 61 6d 0a 20 20 20 20 20 20 20 20 61 67 61 69  ram.        agai
cf60: 6e 73 74 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20  nst it.</li>.   
cf70: 20 20 20 3c 6c 69 3e 54 68 65 20 65 6e 74 69 72     <li>The entir
cf80: 65 20 73 6f 75 72 63 65 20 70 72 6f 6a 65 63 74  e source project
cf90: 20 68 61 73 20 62 65 65 6e 20 67 6f 6e 65 20 6f   has been gone o
cfa0: 76 65 72 20 74 6f 70 20 74 6f 20 62 6f 74 74 6f  ver top to botto
cfb0: 6d 2e 26 6e 62 73 70 3b 20 41 20 64 65 62 75 67  m.&nbsp; A debug
cfc0: 20 62 75 69 6c 64 0a 20 20 20 20 20 20 20 20 6e   build.        n
cfd0: 6f 20 6c 6f 6e 67 65 72 20 63 6f 6d 62 69 6e 65  o longer combine
cfe0: 73 20 74 68 65 20 62 69 6e 61 72 69 65 73 20 69  s the binaries i
cff0: 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 6d 6f 64  nto a single mod
d000: 75 6c 65 2c 20 77 68 69 63 68 20 77 61 73 20 70  ule, which was p
d010: 72 65 76 65 6e 74 69 6e 67 20 70 72 6f 70 65 72  reventing proper
d020: 0a 20 20 20 20 20 20 20 20 64 65 62 75 67 67 69  .        debuggi
d030: 6e 67 2e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20  ng.</li></ul>.  
d040: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34 2e 34    <p><b>1.0.24.4
d050: 20 62 65 74 61 20 2d 20 4a 61 6e 75 61 72 79 20   beta - January 
d060: 31 36 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e  16, 2006</b></p>
d070: 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c  .    <ul>.    <l
d080: 69 3e 54 68 69 73 20 62 65 74 61 20 69 73 20 62  i>This beta is b
d090: 75 69 6c 74 20 66 72 6f 6d 20 73 71 6c 69 74 65  uilt from sqlite
d0a0: 2e 6f 72 67 27 73 20 33 2e 33 2e 31 20 61 6c 70  .org's 3.3.1 alp
d0b0: 68 61 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20  ha and contains 
d0c0: 64 65 76 65 6c 6f 70 6d 65 6e 74 2d 69 6e 2d 70  development-in-p
d0d0: 72 6f 67 72 65 73 73 20 63 6f 64 65 2e 26 6e 62  rogress code.&nb
d0e0: 73 70 3b 20 54 68 65 72 65 66 6f 72 65 20 6e 6f  sp; Therefore no
d0f0: 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20   guarantees.    
d100: 20 20 63 61 6e 20 62 65 20 6d 61 64 65 20 72 65    can be made re
d110: 67 61 72 64 69 6e 67 20 69 74 73 20 73 75 69 74  garding its suit
d120: 61 62 69 6c 69 74 79 20 66 6f 72 20 70 72 6f 64  ability for prod
d130: 75 63 74 69 6f 6e 20 75 73 65 2e 3c 2f 6c 69 3e  uction use.</li>
d140: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61  .    <li>Fixed a
d150: 20 62 75 67 20 69 6e 20 74 68 65 20 55 54 46 2d   bug in the UTF-
d160: 31 36 20 68 61 6e 64 6c 69 6e 67 20 63 6f 64 65  16 handling code
d170: 20 66 6f 72 20 70 72 65 70 61 72 69 6e 67 20 73   for preparing s
d180: 74 61 74 65 6d 65 6e 74 73 20 64 75 65 20 74 6f  tatements due to
d190: 20 61 20 62 65 68 61 76 69 6f 72 61 6c 0a 20 20   a behavioral.  
d1a0: 20 20 20 20 63 68 61 6e 67 65 20 69 6e 20 53 51      change in SQ
d1b0: 4c 69 74 65 20 33 2e 33 2e 30 2e 3c 2f 6c 69 3e  Lite 3.3.0.</li>
d1c0: 0a 20 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64  .      <li>Added
d1d0: 20 70 61 67 65 72 2e 63 20 63 6f 64 65 20 6e 65   pager.c code ne
d1e0: 63 65 73 73 61 72 79 20 74 6f 20 63 6c 65 61 6e  cessary to clean
d1f0: 75 70 20 61 66 74 65 72 20 61 6e 20 65 6e 63 72  up after an encr
d200: 79 70 74 65 64 20 66 69 6c 65 20 69 73 20 63 6c  ypted file is cl
d210: 6f 73 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  osed.</li>.     
d220: 20 3c 6c 69 3e 46 69 78 65 64 20 61 6e 20 65 6e   <li>Fixed an en
d230: 63 72 79 70 74 69 6f 6e 20 62 75 67 20 74 68 61  cryption bug tha
d240: 74 20 63 61 75 73 65 64 20 61 20 66 61 75 6c 74  t caused a fault
d250: 20 77 68 65 6e 20 61 6e 20 65 6e 63 72 79 70 74   when an encrypt
d260: 65 64 20 66 69 6c 65 20 77 61 73 20 72 6f 6c 6c  ed file was roll
d270: 65 64 0a 20 20 20 20 20 20 20 20 62 61 63 6b 2e  ed.        back.
d280: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
d290: 4d 6f 64 69 66 69 65 64 20 74 68 65 20 74 65 73  Modified the tes
d2a0: 74 63 61 73 65 20 63 6f 64 65 20 74 6f 20 74 61  tcase code to ta
d2b0: 6b 65 20 61 64 76 61 6e 74 61 67 65 20 6f 66 20  ke advantage of 
d2c0: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 72 65  optimizations re
d2d0: 67 61 72 64 69 6e 67 20 74 68 65 20 75 73 65 0a  garding the use.
d2e0: 20 20 20 20 20 20 20 20 6f 66 20 61 20 44 62 43          of a DbC
d2f0: 6f 6d 6d 61 6e 64 42 75 69 6c 64 65 72 2e 26 6e  ommandBuilder.&n
d300: 62 73 70 3b 20 44 61 74 61 41 64 61 70 74 65 72  bsp; DataAdapter
d310: 20 69 6e 73 65 72 74 20 73 70 65 65 64 20 69 6e   insert speed in
d320: 63 72 65 61 73 65 64 20 64 72 61 6d 61 74 69 63  creased dramatic
d330: 61 6c 6c 79 20 61 73 0a 20 20 20 20 20 20 20 20  ally as.        
d340: 61 20 72 65 73 75 6c 74 2e 3c 2f 6c 69 3e 0a 20  a result.</li>. 
d350: 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e     </ul>.    <p>
d360: 3c 62 3e 31 2e 30 2e 32 34 2e 33 20 62 65 74 61  <b>1.0.24.3 beta
d370: 20 2d 20 4a 61 6e 75 61 72 79 20 31 30 2c 20 32   - January 10, 2
d380: 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  006</b></p>.    
d390: 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 54 68 69  <ul>.    <li>Thi
d3a0: 73 20 62 65 74 61 20 69 73 20 62 75 69 6c 74 20  s beta is built 
d3b0: 66 72 6f 6d 20 73 71 6c 69 74 65 2e 6f 72 67 27  from sqlite.org'
d3c0: 73 20 33 2e 33 2e 30 20 61 6c 70 68 61 20 61 6e  s 3.3.0 alpha an
d3d0: 64 20 63 6f 6e 74 61 69 6e 73 20 64 65 76 65 6c  d contains devel
d3e0: 6f 70 6d 65 6e 74 2d 69 6e 2d 70 72 6f 67 72 65  opment-in-progre
d3f0: 73 73 20 63 6f 64 65 2e 26 6e 62 73 70 3b 20 54  ss code.&nbsp; T
d400: 68 65 72 65 66 6f 72 65 20 6e 6f 20 67 75 61 72  herefore no guar
d410: 61 6e 74 65 65 73 0a 20 20 20 20 20 20 63 61 6e  antees.      can
d420: 20 62 65 20 6d 61 64 65 20 72 65 67 61 72 64 69   be made regardi
d430: 6e 67 20 69 74 73 20 73 75 69 74 61 62 69 6c 69  ng its suitabili
d440: 74 79 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f  ty for productio
d450: 6e 20 75 73 65 2e 3c 2f 6c 69 3e 3c 6c 69 3e 41  n use.</li><li>A
d460: 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72  dded support for
d470: 20 64 61 74 61 62 61 73 65 20 65 6e 63 72 79 70   database encryp
d480: 74 69 6f 6e 20 61 74 20 74 68 65 20 70 61 67 65  tion at the page
d490: 72 20 6c 65 76 65 6c 2e 26 6e 62 73 70 3b 20 44  r level.&nbsp; D
d4a0: 61 74 61 62 61 73 65 73 0a 20 20 20 20 61 72 65  atabases.    are
d4b0: 20 65 6e 63 72 79 70 74 65 64 20 75 73 69 6e 67   encrypted using
d4c0: 20 61 20 31 32 38 2d 62 69 74 20 52 43 34 20 73   a 128-bit RC4 s
d4d0: 74 72 65 61 6d 20 61 6c 67 6f 72 69 74 68 6d 2e  tream algorithm.
d4e0: 26 6e 62 73 70 3b 20 54 6f 20 6f 70 65 6e 20 61  &nbsp; To open a
d4f0: 6e 20 65 78 69 73 74 69 6e 67 20 65 6e 63 72 79  n existing encry
d500: 70 74 65 64 0a 20 20 20 20 64 61 74 61 62 61 73  pted.    databas
d510: 65 2c 20 79 6f 75 20 6d 61 79 20 6e 6f 77 20 73  e, you may now s
d520: 70 65 63 69 66 79 20 61 20 22 50 61 73 73 77 6f  pecify a "Passwo
d530: 72 64 3d 7b 70 61 73 73 77 6f 72 64 7d 22 20 74  rd={password}" t
d540: 65 78 74 20 69 6e 20 74 68 65 20 43 6f 6e 6e 65  ext in the Conne
d550: 63 74 69 6f 6e 53 74 72 69 6e 67 2c 0a 20 20 20  ctionString,.   
d560: 20 6f 72 20 79 6f 75 20 6d 61 79 20 63 61 6c 6c   or you may call
d570: 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65   the SQLiteConne
d580: 63 74 69 6f 6e 2e 53 65 74 50 61 73 73 77 6f 72  ction.SetPasswor
d590: 64 28 29 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20  d() function to 
d5a0: 73 65 74 20 74 68 65 20 70 61 73 73 77 6f 72 64  set the password
d5b0: 0a 20 20 20 20 6f 6e 20 61 6e 20 6f 70 65 6e 20  .    on an open 
d5c0: 63 6f 6e 6e 65 63 74 69 6f 6e 2e 20 26 6e 62 73  connection. &nbs
d5d0: 70 3b 54 6f 20 65 6e 63 72 79 70 74 20 65 78 69  p;To encrypt exi
d5e0: 73 74 69 6e 67 20 6e 6f 6e 2d 65 6e 63 72 79 70  sting non-encryp
d5f0: 74 65 64 20 64 61 74 61 62 61 73 65 73 20 6f 72  ted databases or
d600: 20 74 6f 20 63 68 61 6e 67 65 0a 20 20 20 20 74   to change.    t
d610: 68 65 20 70 61 73 73 77 6f 72 64 20 6f 6e 20 61  he password on a
d620: 6e 20 65 6e 63 72 79 70 74 65 64 20 64 61 74 61  n encrypted data
d630: 62 61 73 65 2c 20 79 6f 75 20 6d 75 73 74 20 75  base, you must u
d640: 73 65 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e  se the SQLiteCon
d650: 6e 65 63 74 69 6f 6e 2e 43 68 61 6e 67 65 50 61  nection.ChangePa
d660: 73 73 77 6f 72 64 28 29 0a 20 20 20 20 66 75 6e  ssword().    fun
d670: 63 74 69 6f 6e 2e 26 6e 62 73 70 3b 20 49 66 20  ction.&nbsp; If 
d680: 79 6f 75 20 75 73 65 20 53 65 74 50 61 73 73 77  you use SetPassw
d690: 6f 72 64 28 29 20 69 6e 73 74 65 61 64 20 6f 66  ord() instead of
d6a0: 20 73 70 65 63 69 66 79 69 6e 67 20 61 20 70 61   specifying a pa
d6b0: 73 73 77 6f 72 64 20 69 6e 20 74 68 65 0a 20 20  ssword in the.  
d6c0: 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72    connection str
d6d0: 69 6e 67 2c 20 6f 72 20 63 61 6c 6c 20 43 68 61  ing, or call Cha
d6e0: 6e 67 65 50 61 73 73 77 6f 72 64 28 29 20 79 6f  ngePassword() yo
d6f0: 75 20 6d 61 79 20 75 73 65 20 61 20 62 69 6e 61  u may use a bina
d700: 72 79 20 62 79 74 65 20 61 72 72 61 79 20 6f 72  ry byte array or
d710: 20 61 0a 20 20 20 20 74 65 78 74 20 73 74 72 69   a.    text stri
d720: 6e 67 20 61 73 20 74 68 65 20 70 61 73 73 77 6f  ng as the passwo
d730: 72 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  rd.</li>.      <
d740: 6c 69 3e 52 65 77 72 6f 74 65 20 74 68 65 20 6c  li>Rewrote the l
d750: 6f 63 6b 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74  ocking implement
d760: 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 43 6f  ation for the Co
d770: 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2e  mpact Framework.
d780: 26 6e 62 73 70 3b 20 49 74 20 69 73 20 6e 6f 77  &nbsp; It is now
d790: 0a 20 20 20 20 20 20 20 20 6d 6f 72 65 20 72 6f  .        more ro
d7a0: 62 75 73 74 20 61 6e 64 20 69 6e 63 6f 72 70 6f  bust and incorpo
d7b0: 72 61 74 65 73 20 69 6e 74 6f 20 74 68 65 20 53  rates into the S
d7c0: 51 4c 69 74 65 20 63 6f 64 65 62 61 73 65 20 6d  QLite codebase m
d7d0: 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20  ore efficiently 
d7e0: 74 68 61 6e 20 74 68 65 0a 20 20 20 20 20 20 20  than the.       
d7f0: 20 70 72 65 76 69 6f 75 73 20 43 45 20 61 64 61   previous CE ada
d800: 70 74 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20  ptation.</li>.  
d810: 20 20 20 20 3c 6c 69 3e 4d 6f 76 65 64 20 73 6f      <li>Moved so
d820: 6d 65 20 6f 66 20 74 68 65 20 65 6d 62 65 64 64  me of the embedd
d830: 65 64 20 73 63 68 65 6d 61 20 58 4d 4c 20 64 61  ed schema XML da
d840: 74 61 20 69 6e 74 6f 20 61 20 72 65 73 6f 75 72  ta into a resour
d850: 63 65 20 66 69 6c 65 20 74 6f 20 65 61 73 65 20  ce file to ease 
d860: 63 6f 64 65 20 72 65 61 64 61 62 69 6c 69 74 79  code readability
d870: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
d880: 3e 41 75 74 6f 6d 61 74 65 64 20 74 68 65 20 66  >Automated the f
d890: 69 78 75 70 20 6f 66 20 74 68 65 20 6f 72 69 67  ixup of the orig
d8a0: 69 6e 61 6c 20 73 71 6c 69 74 65 20 63 6f 64 65  inal sqlite code
d8b0: 62 61 73 65 27 73 20 73 6f 75 72 63 65 20 70 72  base's source pr
d8c0: 69 6f 72 20 74 6f 20 63 6f 6d 70 69 6c 69 6e 67  ior to compiling
d8d0: 2c 0a 20 20 20 20 20 20 20 20 74 6f 20 65 61 73  ,.        to eas
d8e0: 65 20 6d 65 72 67 69 6e 67 20 77 69 74 68 20 73  e merging with s
d8f0: 71 6c 69 74 65 2e 6f 72 67 27 73 20 73 6f 75 72  qlite.org's sour
d900: 63 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ce.</li>.      <
d910: 6c 69 3e 46 69 78 65 64 20 61 20 6d 65 6d 6f 72  li>Fixed a memor
d920: 79 20 6c 65 61 6b 20 69 6e 20 53 51 4c 69 74 65  y leak in SQLite
d930: 43 6f 6d 6d 61 6e 64 20 64 75 65 20 74 6f 20 69  Command due to i
d940: 74 20 6e 6f 74 20 72 65 6d 6f 76 69 6e 67 20 61  t not removing a
d950: 6e 20 69 6e 74 65 72 6e 61 6c 20 72 65 66 65 72  n internal refer
d960: 65 6e 63 65 0a 20 20 20 20 20 20 20 20 74 6f 20  ence.        to 
d970: 69 74 73 65 6c 66 20 69 6e 20 53 51 4c 69 74 65  itself in SQLite
d980: 43 6f 6e 6e 65 63 74 69 6f 6e 2e 26 6e 62 73 70  Connection.&nbsp
d990: 3b 20 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c  ; </li>.    </ul
d9a0: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
d9b0: 32 34 2e 32 20 2d 20 44 65 63 65 6d 62 65 72 20  24.2 - December 
d9c0: 33 30 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e  30, 2005</b></p>
d9d0: 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c  .    <ul>.    <l
d9e0: 69 3e 46 69 78 65 64 20 74 68 65 20 53 51 4c 69  i>Fixed the SQLi
d9f0: 74 65 44 61 74 61 52 65 61 64 65 72 2e 48 61 73  teDataReader.Has
da00: 52 6f 77 73 20 70 72 6f 70 65 72 74 79 20 74 6f  Rows property to
da10: 20 72 65 74 75 72 6e 20 74 68 65 20 70 72 6f 70   return the prop
da20: 65 72 20 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a 20  er value.</li>. 
da30: 20 20 20 20 20 3c 6c 69 3e 49 6d 70 6c 65 6d 65       <li>Impleme
da40: 6e 74 65 64 20 74 68 65 20 69 6e 61 64 76 65 72  nted the inadver
da50: 74 65 6e 74 6c 79 20 6e 65 67 6c 65 63 74 65 64  tently neglected
da60: 20 52 65 63 6f 72 64 73 41 66 66 65 63 74 65 64   RecordsAffected
da70: 20 70 72 6f 70 65 72 74 79 20 6f 6e 20 53 51 4c   property on SQL
da80: 69 74 65 44 61 74 61 52 65 61 64 65 72 2e 0a 20  iteDataReader.. 
da90: 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20       </li>.     
daa0: 20 3c 6c 69 3e 53 51 4c 69 74 65 46 75 6e 63 74   <li>SQLiteFunct
dab0: 69 6f 6e 20 73 74 61 74 69 63 20 63 6f 6e 73 74  ion static const
dac0: 72 75 63 74 6f 72 20 77 61 73 20 63 68 61 6e 67  ructor was chang
dad0: 65 64 20 74 6f 20 70 72 65 2d 66 69 6c 74 65 72  ed to pre-filter
dae0: 20 63 6c 61 73 73 65 73 20 77 69 74 68 20 6f 6e   classes with on
daf0: 6c 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 53  ly the.        S
db00: 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 41 74 74  QLiteFunctionAtt
db10: 72 69 62 75 74 65 2e 26 6e 62 73 70 3b 20 54 68  ribute.&nbsp; Th
db20: 65 20 63 6f 64 65 20 77 61 73 20 74 68 72 6f 77  e code was throw
db30: 69 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e  ing an exception
db40: 20 77 68 65 6e 20 63 65 72 74 61 69 6e 0a 20 20   when certain.  
db50: 20 20 20 20 20 20 61 73 73 65 6d 62 6c 69 65 73        assemblies
db60: 20 77 65 72 65 20 72 65 66 65 72 65 6e 63 65 64   were referenced
db70: 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 2e 20 3c   in a project. <
db80: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  /li>.      <li>F
db90: 69 78 65 64 20 74 68 65 20 53 51 4c 69 74 65 44  ixed the SQLiteD
dba0: 61 74 61 41 64 61 70 74 65 72 20 4f 6e 52 6f 77  ataAdapter OnRow
dbb0: 55 70 64 61 74 65 64 20 65 76 65 6e 74 2c 20 77  Updated event, w
dbc0: 68 69 63 68 20 77 61 73 20 75 73 69 6e 67 20 74  hich was using t
dbd0: 68 65 20 77 72 6f 6e 67 20 76 61 72 69 61 62 6c  he wrong variabl
dbe0: 65 0a 20 20 20 20 20 20 20 20 74 6f 20 66 69 6e  e.        to fin
dbf0: 64 20 74 68 65 20 61 74 74 61 63 68 65 64 20 65  d the attached e
dc00: 76 65 6e 74 20 68 61 6e 64 6c 65 72 20 61 6e 64  vent handler and
dc10: 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 6e 6f   subsequently no
dc20: 74 20 72 61 69 73 69 6e 67 20 74 68 65 20 65 76  t raising the ev
dc30: 65 6e 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  ent.</li>.      
dc40: 3c 6c 69 3e 53 6d 61 6c 6c 20 6f 70 74 69 6d 69  <li>Small optimi
dc50: 7a 61 74 69 6f 6e 73 20 61 6e 64 20 66 69 78 65  zations and fixe
dc60: 73 20 74 6f 20 53 51 4c 69 74 65 44 61 74 61 52  s to SQLiteDataR
dc70: 65 61 64 65 72 2e 4e 65 78 74 52 65 73 75 6c 74  eader.NextResult
dc80: 28 29 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20  ().&nbsp;</li>. 
dc90: 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e     </ul>.    <p>
dca0: 3c 62 3e 31 2e 30 2e 32 34 2e 31 20 2d 20 44 65  <b>1.0.24.1 - De
dcb0: 63 65 6d 62 65 72 20 31 39 2c 20 32 30 30 35 3c  cember 19, 2005<
dcc0: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
dcd0: 0a 20 20 20 20 3c 6c 69 3e 55 70 64 61 74 65 20  .    <li>Update 
dce0: 63 6f 72 65 20 53 51 4c 69 74 65 20 65 6e 67 69  core SQLite engi
dcf0: 6e 65 20 74 6f 20 33 2e 32 2e 38 26 6e 62 73 70  ne to 3.2.8&nbsp
dd00: 3b 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20  ;</li></ul>.    
dd10: 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34 20 2d 20 44  <p><b>1.0.24 - D
dd20: 65 63 65 6d 62 65 72 20 39 2c 20 32 30 30 35 3c  ecember 9, 2005<
dd30: 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e  /b></p>.    <ul>
dd40: 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74  .    <li>Fixed t
dd50: 68 65 3c 65 6d 3e 20 43 61 74 61 6c 6f 67 73 3c  he<em> Catalogs<
dd60: 2f 65 6d 3e 20 73 63 68 65 6d 61 20 62 75 67 20  /em> schema bug 
dd70: 74 68 61 74 20 63 61 75 73 65 64 20 61 74 74 61  that caused atta
dd80: 63 68 65 64 20 64 61 74 61 62 61 73 65 73 20 6e  ched databases n
dd90: 6f 74 20 74 6f 20 62 65 20 72 65 2d 61 74 74 61  ot to be re-atta
dda0: 63 68 65 64 20 74 6f 20 61 20 63 6c 6f 6e 65 64  ched to a cloned
ddb0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20   connection.    
ddc0: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
ddd0: 45 6e 68 61 6e 63 65 64 20 74 72 61 6e 73 61 63  Enhanced transac
dde0: 74 69 6f 6e 73 20 74 6f 20 61 6c 6c 6f 77 20 66  tions to allow f
ddf0: 6f 72 20 61 20 64 65 66 65 72 72 65 64 20 6f 72  or a deferred or
de00: 20 69 6d 6d 65 64 69 61 74 65 20 77 72 69 74 65   immediate write
de10: 6c 6f 63 6b 2e 20 26 6e 62 73 70 3b 53 51 4c 69  lock. &nbsp;SQLi
de20: 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 2e 42 65 67  teConnection.Beg
de30: 69 6e 54 72 61 6e 73 61 63 74 69 6f 6e 28 29 0a  inTransaction().
de40: 20 20 20 20 20 20 20 20 6e 6f 77 20 68 61 73 20          now has 
de50: 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 76  an additional ov
de60: 65 72 6c 6f 61 64 20 74 6f 20 73 75 70 70 6f 72  erload to suppor
de70: 74 20 69 74 26 6e 62 73 70 3b 3c 2f 6c 69 3e 3c  t it&nbsp;</li><
de80: 6c 69 3e 43 6f 6d 6d 61 6e 64 73 20 61 72 65 20  li>Commands are 
de90: 6e 6f 77 20 70 72 65 70 61 72 65 64 20 61 73 20  now prepared as 
dea0: 74 68 65 79 20 61 72 65 20 65 78 65 63 75 74 65  they are execute
deb0: 64 20 69 6e 73 74 65 61 64 20 6f 66 20 62 65 66  d instead of bef
dec0: 6f 72 65 68 61 6e 64 2e 26 6e 62 73 70 3b 20 54  orehand.&nbsp; T
ded0: 68 69 73 0a 20 20 20 20 20 20 66 69 78 65 73 20  his.      fixes 
dee0: 61 20 62 75 67 20 77 68 65 72 65 62 79 20 61 20  a bug whereby a 
def0: 6d 75 6c 74 69 2d 73 74 61 74 65 6d 65 6e 74 20  multi-statement 
df00: 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 61 6c 74  command that alt
df10: 65 72 73 20 74 68 65 20 64 61 74 61 62 61 73 65  ers the database
df20: 20 61 6e 64 20 73 75 62 73 65 71 75 65 6e 74 6c   and subsequentl
df30: 79 0a 20 20 20 20 20 20 72 65 66 65 72 65 6e 63  y.      referenc
df40: 65 73 20 74 68 65 20 61 6c 74 65 72 65 64 20 64  es the altered d
df50: 61 74 61 20 77 6f 75 6c 64 20 66 61 69 6c 20 64  ata would fail d
df60: 75 72 69 6e 67 20 50 72 65 70 61 72 65 28 29 2e  uring Prepare().
df70: 3c 2f 6c 69 3e 3c 6c 69 3e 54 69 67 68 74 65 6e  </li><li>Tighten
df80: 65 64 20 75 70 20 74 68 65 20 53 51 4c 69 74 65  ed up the SQLite
df90: 44 61 74 61 52 65 61 64 65 72 20 74 6f 20 70 72  DataReader to pr
dfa0: 65 76 65 6e 74 20 72 65 61 64 69 6e 67 20 63 6f  event reading co
dfb0: 6c 75 6d 6e 73 20 62 65 66 6f 72 65 20 63 61 6c  lumns before cal
dfc0: 6c 69 6e 67 0a 20 20 20 20 74 68 65 20 66 69 72  ling.    the fir
dfd0: 73 74 20 52 65 61 64 28 29 20 61 6e 64 20 74 6f  st Read() and to
dfe0: 20 70 72 65 76 65 6e 74 20 72 65 61 64 69 6e 67   prevent reading
dff0: 20 63 6f 6c 75 6d 6e 73 20 61 66 74 65 72 20 74   columns after t
e000: 68 65 20 6c 61 73 74 20 52 65 61 64 28 29 2e 3c  he last Read().<
e010: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41  /li>.      <li>A
e020: 20 6d 6f 72 65 20 64 65 73 63 72 69 70 74 69 76   more descriptiv
e030: 65 20 65 72 72 6f 72 20 69 73 20 74 68 72 6f 77  e error is throw
e040: 6e 20 69 66 20 74 68 65 72 65 20 61 72 65 6e 27  n if there aren'
e050: 74 20 65 6e 6f 75 67 68 20 70 61 72 61 6d 65 74  t enough paramet
e060: 65 72 73 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61  ers in the comma
e070: 6e 64 0a 20 20 20 20 20 20 20 20 74 6f 20 73 61  nd.        to sa
e080: 74 69 73 66 79 20 74 68 65 20 70 61 72 61 6d 65  tisfy the parame
e090: 74 65 72 73 20 72 65 71 75 69 72 65 64 20 62 79  ters required by
e0a0: 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 28 73   the statement(s
e0b0: 29 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20  ).&nbsp;</li>.  
e0c0: 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c    </ul>.    <p><
e0d0: 62 3e 31 2e 30 2e 32 33 20 2d 20 4e 6f 76 65 6d  b>1.0.23 - Novem
e0e0: 62 65 72 20 32 31 2c 20 32 30 30 35 3c 2f 62 3e  ber 21, 2005</b>
e0f0: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
e100: 20 20 3c 6c 69 3e 4e 61 6d 65 64 20 70 61 72 61    <li>Named para
e110: 6d 65 74 65 72 73 20 6d 61 79 20 6e 6f 77 20 62  meters may now b
e120: 65 67 69 6e 20 77 69 74 68 20 3c 73 74 72 6f 6e  egin with <stron
e130: 67 3e 40 3c 2f 73 74 72 6f 6e 67 3e 20 74 6f 20  g>@</strong> to 
e140: 65 61 73 65 20 70 6f 72 74 61 62 69 6c 69 74 79  ease portability
e150: 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 70 72   of.      the pr
e160: 6f 76 69 64 65 72 2e 20 53 51 4c 69 74 65 27 73  ovider. SQLite's
e170: 20 6e 61 6d 65 64 20 70 61 72 61 6d 65 74 65 72   named parameter
e180: 73 20 61 72 65 20 6f 72 64 69 6e 61 72 69 6c 79  s are ordinarily
e190: 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61   prefixed with a
e1a0: 20 3c 73 74 72 6f 6e 67 3e 3a 20 3c 2f 73 74 72   <strong>: </str
e1b0: 6f 6e 67 3e 0a 20 20 20 20 20 20 6f 72 3c 73 74  ong>.      or<st
e1c0: 72 6f 6e 67 3e 20 24 3c 2f 73 74 72 6f 6e 67 3e  rong> $</strong>
e1d0: 2e 26 6e 62 73 70 3b 20 54 68 65 20 64 65 73 69  .&nbsp; The desi
e1e0: 67 6e 65 72 20 77 69 6c 6c 20 73 74 69 6c 6c 20  gner will still 
e1f0: 75 73 65 20 74 68 65 20 3c 73 74 72 6f 6e 67 3e  use the <strong>
e200: 24 3c 2f 73 74 72 6f 6e 67 3e 0a 20 20 20 20 20  $</strong>.     
e210: 20 70 72 65 66 69 78 20 68 6f 77 65 76 65 72 2c   prefix however,
e220: 20 73 69 6e 63 65 20 69 74 73 20 6d 6f 72 65 20   since its more 
e230: 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20  compatible with 
e240: 74 68 65 20 64 65 66 61 75 6c 74 20 53 51 4c 69  the default SQLi
e250: 74 65 20 65 6e 67 69 6e 65 2e 3c 2f 6c 69 3e 3c  te engine.</li><
e260: 6c 69 3e 41 64 64 65 64 20 73 65 76 65 72 61 6c  li>Added several
e270: 20 61 6c 74 65 72 6e 61 74 65 20 49 53 4f 38 36   alternate ISO86
e280: 30 31 20 64 61 74 65 2f 74 69 6d 65 20 66 6f 72  01 date/time for
e290: 6d 61 74 73 20 74 6f 20 53 51 4c 69 74 65 43 6f  mats to SQLiteCo
e2a0: 6e 76 65 72 74 2e 63 73 20 74 6f 20 69 6e 63 72  nvert.cs to incr
e2b0: 65 61 73 65 0a 20 20 20 20 63 6f 6d 70 61 74 69  ease.    compati
e2c0: 62 69 6c 69 74 79 2e 3c 2f 6c 69 3e 0a 20 20 20  bility.</li>.   
e2d0: 20 20 20 3c 6c 69 3e 52 65 6c 61 78 65 64 20 63     <li>Relaxed c
e2e0: 6f 65 72 73 69 6f 6e 20 72 65 73 74 72 69 63 74  oersion restrict
e2f0: 69 6f 6e 73 20 74 6f 20 77 6f 72 6b 20 62 65 74  ions to work bet
e300: 74 65 72 20 77 69 74 68 20 53 51 4c 69 74 65 27  ter with SQLite'
e310: 73 20 69 6e 68 65 72 65 6e 74 20 74 79 70 65 6c  s inherent typel
e320: 65 73 73 6e 65 73 73 2e 26 6e 62 73 70 3b 3c 2f  essness.&nbsp;</
e330: 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20  li>.    </ul>.  
e340: 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 32 20 2d    <p><b>1.0.22 -
e350: 20 4e 6f 76 65 6d 62 65 72 20 31 31 2c 20 32 30   November 11, 20
e360: 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c  05</b></p>.    <
e370: 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65  ul>.    <li>Fixe
e380: 64 20 73 6f 6d 65 20 67 6c 6f 62 61 6c 69 7a 61  d some globaliza
e390: 74 69 6f 6e 20 69 73 73 75 65 73 20 77 68 69 63  tion issues whic
e3a0: 68 20 72 65 73 75 6c 74 65 64 20 69 6e 20 69 6e  h resulted in in
e3b0: 63 6f 72 72 65 63 74 20 63 61 73 65 2d 69 6e 73  correct case-ins
e3c0: 65 6e 73 69 74 69 76 65 20 63 6f 6d 70 61 72 69  ensitive compari
e3d0: 73 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  sons</li>.      
e3e0: 3c 6c 69 3e 46 69 78 65 64 20 61 20 62 75 67 20  <li>Fixed a bug 
e3f0: 69 6e 20 74 68 65 20 72 6f 75 74 69 6e 65 20 74  in the routine t
e400: 68 61 74 20 66 69 6e 64 73 20 61 6c 6c 20 75 73  hat finds all us
e410: 65 72 2d 64 65 66 69 6e 65 64 20 66 75 6e 63 74  er-defined funct
e420: 69 6f 6e 73 20 69 6e 20 61 20 6c 6f 61 64 65 64  ions in a loaded
e430: 20 61 73 73 65 6d 62 6c 79 2e 26 6e 62 73 70 3b   assembly.&nbsp;
e440: 0a 20 20 20 20 20 20 20 20 49 74 20 77 6f 75 6c  .        It woul
e450: 64 20 74 68 72 6f 77 20 61 6e 20 65 78 63 65 70  d throw an excep
e460: 74 69 6f 6e 20 69 66 20 61 6e 79 20 6f 66 20 74  tion if any of t
e470: 68 65 20 74 79 70 65 73 20 69 6e 20 74 68 65 20  he types in the 
e480: 61 73 73 65 6d 62 6c 79 20 63 6f 75 6c 64 20 6e  assembly could n
e490: 6f 74 20 62 65 20 6c 6f 61 64 65 64 2e 26 6e 62  ot be loaded.&nb
e4a0: 73 70 3b 0a 20 20 20 20 20 20 20 20 54 68 65 20  sp;.        The 
e4b0: 65 78 63 65 70 74 69 6f 6e 20 69 73 20 6e 6f 77  exception is now
e4c0: 20 63 61 75 67 68 74 20 61 6e 64 20 68 61 6e 64   caught and hand
e4d0: 6c 65 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c  led appropriatel
e4e0: 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c  y.</li>.    </ul
e4f0: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
e500: 32 31 20 2d 20 4e 6f 76 65 6d 62 65 72 20 34 2c  21 - November 4,
e510: 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20   2005</b></p>.  
e520: 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 6c 69    <UL>.      <li
e530: 3e 46 69 78 65 64 20 61 20 64 65 73 69 67 6e 65  >Fixed a designe
e540: 72 20 62 75 67 20 77 68 65 6e 20 63 72 65 61 74  r bug when creat
e550: 69 6e 67 20 74 79 70 65 64 20 64 61 74 61 73 65  ing typed datase
e560: 74 73 20 77 69 74 68 20 70 61 72 61 6d 65 74 65  ts with paramete
e570: 72 69 7a 65 64 20 71 75 65 72 69 65 73 2e 3c 2f  rized queries.</
e580: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68  li>.      <li>Th
e590: 65 20 61 62 6f 76 65 20 66 69 78 20 74 68 65 6e  e above fix then
e5a0: 20 65 78 70 6f 73 65 64 20 61 6e 6f 74 68 65 72   exposed another
e5b0: 20 62 75 67 20 69 6e 20 74 68 65 20 64 61 74 61   bug in the data
e5c0: 72 65 61 64 65 72 27 73 20 61 62 69 6c 69 74 79  reader's ability
e5d0: 20 74 6f 20 71 75 65 72 79 20 73 63 68 65 6d 61   to query schema
e5e0: 0a 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61  .        informa
e5f0: 74 69 6f 6e 20 6f 6e 20 70 61 72 61 6d 65 74 65  tion on paramete
e600: 72 69 7a 65 64 20 63 6f 6d 6d 61 6e 64 73 2c 20  rized commands, 
e610: 77 68 69 63 68 20 77 61 73 20 61 6c 73 6f 20 66  which was also f
e620: 69 78 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  ixed.</li>.     
e630: 20 3c 6c 69 3e 43 6f 6d 70 69 6c 65 64 20 61 67   <li>Compiled ag
e640: 61 69 6e 73 74 20 74 68 65 20 52 54 4d 20 76 65  ainst the RTM ve
e650: 72 73 69 6f 6e 20 6f 66 20 56 53 32 30 30 35 2e  rsion of VS2005.
e660: 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e  </li>.      <li>
e670: 52 65 77 72 6f 74 65 20 74 68 65 20 64 65 73 69  Rewrote the desi
e680: 67 6e 2d 74 69 6d 65 20 69 6e 73 74 61 6c 6c 20  gn-time install 
e690: 73 63 72 69 70 74 20 74 6f 20 75 73 65 20 74 68  script to use th
e6a0: 65 20 58 4d 4c 20 44 4f 4d 20 6f 62 6a 65 63 74  e XML DOM object
e6b0: 73 20 77 68 65 6e 20 77 72 69 74 69 6e 67 0a 20  s when writing. 
e6c0: 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 6d 61         to the ma
e6d0: 63 68 69 6e 65 2e 63 6f 6e 66 69 67 20 61 6e 64  chine.config and
e6e0: 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c   to automaticall
e6f0: 79 20 72 65 67 69 73 74 65 72 20 74 68 65 20 44  y register the D
e700: 4c 4c 20 69 6e 20 74 68 65 20 47 41 43 2e 3c 2f  LL in the GAC.</
e710: 6c 69 3e 3c 6c 69 3e 4d 61 64 65 20 63 68 61 6e  li><li>Made chan
e720: 67 65 73 20 74 6f 20 74 68 65 20 61 70 70 2e 63  ges to the app.c
e730: 6f 6e 66 69 67 20 64 65 73 63 72 69 70 74 69 6f  onfig descriptio
e740: 6e 73 20 61 6e 64 20 68 65 6c 70 20 66 69 6c 65  ns and help file
e750: 20 74 6f 20 69 6d 70 72 6f 76 65 20 76 65 72 73   to improve vers
e760: 69 6f 6e 2d 69 6e 64 65 70 65 6e 64 65 6e 74 0a  ion-independent.
e770: 20 20 20 20 20 20 20 20 66 61 63 74 6f 72 79 20          factory 
e780: 73 75 70 70 6f 72 74 2e 3c 2f 6c 69 3e 3c 2f 55  support.</li></U
e790: 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  L>.    <p><b>1.0
e7a0: 2e 32 30 20 2d 20 4f 63 74 6f 62 65 72 20 31 39  .20 - October 19
e7b0: 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2005</b></p>. 
e7c0: 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 6c     <UL>.      <l
e7d0: 69 3e 0a 20 20 20 20 20 20 20 20 46 69 78 65 64  i>.        Fixed
e7e0: 20 61 20 73 68 6f 72 74 63 75 74 20 69 6e 20 53   a shortcut in S
e7f0: 51 4c 69 74 65 42 61 73 65 2e 47 65 74 56 61 6c  QLiteBase.GetVal
e800: 75 65 20 77 68 69 63 68 20 77 61 73 20 69 6e 73  ue which was ins
e810: 75 66 66 69 63 69 65 6e 74 20 66 6f 72 20 0a 20  ufficient for . 
e820: 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 74 69         internati
e830: 6f 6e 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  onal environment
e840: 73 2e 26 6e 62 73 70 3b 20 54 68 65 20 73 68 6f  s.&nbsp; The sho
e850: 72 74 63 75 74 20 77 61 73 20 72 65 6d 6f 76 65  rtcut was remove
e860: 64 20 61 6e 64 20 74 68 65 20 22 70 72 6f 70 65  d and the "prope
e870: 72 22 20 0a 20 20 20 20 20 20 20 20 70 72 6f 63  r" .        proc
e880: 65 64 75 72 65 20 70 75 74 20 69 6e 2e 3c 2f 6c  edure put in.</l
e890: 69 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c  i></UL>.    <p><
e8a0: 62 3e 31 2e 30 2e 31 39 20 2d 20 4f 63 74 6f 62  b>1.0.19 - Octob
e8b0: 65 72 20 35 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f  er 5, 2005</b></
e8c0: 70 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20  p>.    <UL>.    
e8d0: 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 43 6f 64    <li>.      Cod
e8e0: 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c  e merge with SQL
e8f0: 69 74 65 20 33 2e 32 2e 37 0a 20 20 20 20 20 20  ite 3.2.7.      
e900: 3c 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65 64  <LI>.      Fixed
e910: 20 62 75 67 73 20 69 6e 20 74 68 65 20 43 45 20   bugs in the CE 
e920: 70 6f 72 74 20 63 6f 64 65 20 28 6f 73 5f 77 69  port code (os_wi
e930: 6e 63 65 2e 63 29 26 6e 62 73 70 3b 77 68 69 63  nce.c)&nbsp;whic
e940: 68 20 77 65 72 65 20 62 72 6f 75 67 68 74 20 74  h were brought t
e950: 6f 20 0a 20 20 20 20 20 20 6c 69 67 68 74 26 6e  o .      light&n
e960: 62 73 70 3b 62 79 26 6e 62 73 70 3b 72 65 63 65  bsp;by&nbsp;rece
e970: 6e 74 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68  nt changes in th
e980: 65 20 53 51 4c 69 74 65 20 65 6e 67 69 6e 65 2e  e SQLite engine.
e990: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
e9a0: 20 20 20 20 52 65 63 6f 6d 70 69 6c 65 64 20 61      Recompiled a
e9b0: 6e 64 20 6d 6f 64 69 66 69 65 64 20 74 6f 20 62  nd modified to b
e9c0: 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74  e compatible wit
e9d0: 68 20 74 68 65 20 53 65 70 74 65 6d 62 65 72 20  h the September 
e9e0: 56 53 32 30 30 35 20 52 65 6c 65 61 73 65 20 0a  VS2005 Release .
e9f0: 20 20 20 20 20 20 20 20 43 61 6e 64 69 64 61 74          Candidat
ea00: 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 42  e.<br>.        B
ea10: 65 74 61 20 32 20 75 73 65 72 73 20 73 68 6f 75  eta 2 users shou
ea20: 6c 64 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 75  ld continue to u
ea30: 73 65 20 31 2e 30 2e 31 38 2e 31 3c 2f 4c 49 3e  se 1.0.18.1</LI>
ea40: 3c 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </UL>.    <p><b>
ea50: 31 2e 30 2e 31 38 2e 31 20 2d 20 53 65 70 74 65  1.0.18.1 - Septe
ea60: 6d 62 65 72 20 31 39 2c 20 32 30 30 35 3c 2f 62  mber 19, 2005</b
ea70: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20  ></p>.    <UL>. 
ea80: 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20       <li>.      
ea90: 20 20 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74    Code merge wit
eaa0: 68 20 53 51 4c 69 74 65 20 33 2e 32 2e 36 3c 2f  h SQLite 3.2.6</
eab0: 6c 69 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e  li></UL>.    <p>
eac0: 3c 62 3e 31 2e 30 2e 31 38 20 2d 20 53 65 70 74  <b>1.0.18 - Sept
ead0: 65 6d 62 65 72 20 31 2c 20 32 30 30 35 3c 2f 62  ember 1, 2005</b
eae0: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20  ></p>.    <UL>. 
eaf0: 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20       <li>.      
eb00: 20 20 41 64 64 65 64 20 74 79 70 65 2d 73 70 65    Added type-spe
eb10: 63 69 66 69 63 20 6d 65 74 68 6f 64 20 63 61 6c  cific method cal
eb20: 6c 73 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68  ls when using th
eb30: 65 20 76 61 72 69 6f 75 73 20 53 51 4c 69 74 65  e various SQLite
eb40: 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 0a 20   classes that . 
eb50: 20 20 20 20 20 20 20 77 6f 75 6c 64 27 76 65 20         would've 
eb60: 6e 6f 72 6d 61 6c 6c 79 20 72 65 74 75 72 6e 65  normally returne
eb70: 64 20 61 20 61 20 67 65 6e 65 72 69 63 20 44 62  d a a generic Db
eb80: 20 62 61 73 65 20 63 6c 61 73 73 2c 20 77 68 69   base class, whi
eb90: 63 68 20 61 6c 69 67 6e 73 20 74 68 65 20 63 6f  ch aligns the co
eba0: 64 65 20 0a 20 20 20 20 20 20 20 20 62 65 74 74  de .        bett
ebb0: 65 72 20 77 69 74 68 20 74 68 65 20 4d 69 63 72  er with the Micr
ebc0: 6f 73 6f 66 74 2d 73 75 70 70 6c 69 65 64 20 64  osoft-supplied d
ebd0: 61 74 61 20 70 72 6f 76 69 64 65 72 73 2e 3c 2f  ata providers.</
ebe0: 6c 69 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e  li></UL>.    <p>
ebf0: 3c 62 3e 31 2e 30 2e 31 37 20 2d 20 41 75 67 75  <b>1.0.17 - Augu
ec00: 73 74 20 32 36 2c 20 32 30 30 35 3c 2f 62 3e 3c  st 26, 2005</b><
ec10: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
ec20: 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 43 6f     <li>.      Co
ec30: 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53 51  de merge with SQ
ec40: 4c 69 74 65 20 33 2e 32 2e 35 0a 20 20 20 20 20  Lite 3.2.5.     
ec50: 20 3c 6c 69 3e 0a 20 20 20 20 20 20 41 64 64 65   <li>.      Adde
ec60: 64 20 49 74 61 6e 69 75 6d 20 61 6e 64 20 78 36  d Itanium and x6
ec70: 34 20 62 75 69 6c 64 20 73 65 74 74 69 6e 67 73  4 build settings
ec80: 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 20   to the project 
ec90: 28 6e 65 65 64 73 20 74 65 73 74 69 6e 67 29 0a  (needs testing).
eca0: 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20        <li>.     
ecb0: 20 42 75 67 66 69 78 65 73 20 61 6e 64 20 65 6e   Bugfixes and en
ecc0: 68 61 6e 63 65 6d 65 6e 74 73 20 74 6f 20 73 65  hancements to se
ecd0: 76 65 72 61 6c 20 73 63 68 65 6d 61 20 74 79 70  veral schema typ
ece0: 65 73 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20  es.      <li>.  
ecf0: 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 64      Additional d
ed00: 65 73 69 67 6e 2d 74 69 6d 65 20 73 75 70 70 6f  esign-time suppo
ed10: 72 74 20 74 6f 20 69 6e 63 6c 75 64 65 20 69 6e  rt to include in
ed20: 64 65 78 20 61 6e 64 20 66 6f 72 65 69 67 6e 20  dex and foreign 
ed30: 6b 65 79 20 0a 20 20 20 20 20 20 65 6e 75 6d 65  key .      enume
ed40: 72 61 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 20 52  rations.&nbsp; R
ed50: 65 71 75 69 72 65 73 20 72 65 2d 72 65 67 69 73  equires re-regis
ed60: 74 65 72 69 6e 67 20 74 68 65 20 64 65 73 69 67  tering the desig
ed70: 6e 65 72 20 75 73 69 6e 67 20 0a 20 20 20 20 20  ner using .     
ed80: 20 49 4e 53 54 41 4c 4c 2e 43 4d 44 2e 26 6e 62   INSTALL.CMD.&nb
ed90: 73 70 3b 20 54 68 65 20 6e 65 77 20 64 65 73 69  sp; The new desi
eda0: 67 6e 65 72 20 63 6f 64 65 20 6e 6f 77 20 61 6c  gner code now al
edb0: 6c 6f 77 73 20 74 68 65 20 56 53 20 71 75 65 72  lows the VS quer
edc0: 79 20 64 65 73 69 67 6e 65 72 20 61 6e 64 20 0a  y designer and .
edd0: 20 20 20 20 20 20 74 79 70 65 64 20 64 61 74 61        typed data
ede0: 73 65 74 73 20 74 6f 20 61 75 74 6f 6d 61 74 69  sets to automati
edf0: 63 61 6c 6c 79 20 6c 69 6e 6b 20 75 70 20 66 6f  cally link up fo
ee00: 72 65 69 67 6e 20 6b 65 79 73 2c 20 75 73 65 20  reign keys, use 
ee10: 69 6e 64 65 78 65 73 2c 20 61 6e 64 20 0a 20 20  indexes, and .  
ee20: 20 20 20 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c      automaticall
ee30: 79 20 67 65 6e 65 72 61 74 65 20 72 65 6c 61 74  y generate relat
ee40: 69 6f 6e 73 68 69 70 73 20 66 72 6f 6d 20 74 68  ionships from th
ee50: 65 20 73 63 68 65 6d 61 2e 3c 6c 69 3e 0a 20 20  e schema.<li>.  
ee60: 20 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c        Additional
ee70: 20 73 74 61 74 69 63 20 6d 65 74 68 6f 64 73 20   static methods 
ee80: 6f 6e 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  on SQLiteConnect
ee90: 69 6f 6e 20 74 6f 20 63 72 65 61 74 65 20 61 20  ion to create a 
eea0: 64 61 74 61 62 61 73 65 20 66 69 6c 65 2c 20 0a  database file, .
eeb0: 20 20 20 20 20 20 20 20 65 6e 63 72 79 70 74 20          encrypt 
eec0: 61 20 66 69 6c 65 20 75 73 69 6e 67 20 74 68 65  a file using the
eed0: 20 45 6e 63 72 79 70 74 65 64 20 46 69 6c 65 20   Encrypted File 
eee0: 53 79 73 74 65 6d 20 28 45 46 53 29 20 6f 6e 20  System (EFS) on 
eef0: 4e 54 46 53 20 28 72 65 71 75 69 72 65 73 20 4e  NTFS (requires N
ef00: 54 20 32 4b 20 6f 72 20 0a 20 20 20 20 20 20 20  T 2K or .       
ef10: 20 61 62 6f 76 65 29 20 61 6e 64 20 4e 54 46 53   above) and NTFS
ef20: 20 66 69 6c 65 20 63 6f 6d 70 72 65 73 73 69 6f   file compressio
ef30: 6e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e  n</li>.    </ul>
ef40: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31  .    <p><b>1.0.1
ef50: 36 20 2d 20 41 75 67 75 73 74 20 32 34 2c 20 32  6 - August 24, 2
ef60: 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  005</b></p>.    
ef70: 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a  <ul>.      <li>.
ef80: 20 20 20 20 20 20 43 6f 64 65 20 6d 65 72 67 65        Code merge
ef90: 20 77 69 74 68 20 53 51 4c 69 74 65 20 33 2e 32   with SQLite 3.2
efa0: 2e 34 20 77 69 74 68 20 74 68 65 20 6c 61 72 67  .4 with the larg
efb0: 65 20 64 65 6c 65 74 65 20 62 75 67 66 69 78 20  e delete bugfix 
efc0: 69 6e 20 43 56 53 20 28 77 68 69 63 68 20 77 69  in CVS (which wi
efd0: 6c 6c 20 0a 20 20 20 20 20 20 62 65 63 6f 6d 65  ll .      become
efe0: 20 33 2e 32 2e 35 20 73 6f 6f 6e 29 0a 20 20 20   3.2.5 soon).   
eff0: 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20     <li>.        
f000: 41 64 64 65 64 20 6e 65 77 20 47 65 74 53 63 68  Added new GetSch
f010: 65 6d 61 28 29 20 74 79 70 65 73 3a 20 49 6e 64  ema() types: Ind
f020: 65 78 43 6f 6c 75 6d 6e 73 2c 20 56 69 65 77 43  exColumns, ViewC
f030: 6f 6c 75 6d 6e 73 2c 20 46 6f 72 65 69 67 6e 4b  olumns, ForeignK
f040: 65 79 73 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75  eys</li>.    </u
f050: 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30  l>.    <p><b>1.0
f060: 2e 31 35 20 2d 20 41 75 67 75 73 74 20 32 32 2c  .15 - August 22,
f070: 20 32 30 30 35 3c 2f 62 3e 3c 62 72 3e 0a 20 20   2005</b><br>.  
f080: 20 20 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a    </p>.    <ul>.
f090: 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20        <li>.     
f0a0: 20 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68   Code merge with
f0b0: 20 53 51 4c 69 74 65 20 33 2e 32 2e 33 0a 20 20   SQLite 3.2.3.  
f0c0: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20      <LI>.       
f0d0: 20 4d 69 6e 6f 72 20 75 70 64 61 74 65 73 20 66   Minor updates f
f0e0: 6f 72 20 62 65 74 74 65 72 20 64 65 73 69 67 6e  or better design
f0f0: 2d 74 69 6d 65 20 65 78 70 65 72 69 65 6e 63 65  -time experience
f100: 2e 20 4d 6f 72 65 20 64 65 73 69 67 6e 2d 74 69  . More design-ti
f110: 6d 65 20 63 6f 64 65 20 74 6f 20 0a 20 20 20 20  me code to .    
f120: 20 20 20 20 66 6f 6c 6c 6f 77 20 69 6e 20 73 75      follow in su
f130: 62 73 65 71 75 65 6e 74 20 72 65 6c 65 61 73 65  bsequent release
f140: 73 2e 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 75 6c  s.</LI>.    </ul
f150: 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e  >.    <p><b>1.0.
f160: 31 34 20 2d 20 41 75 67 75 73 74 20 31 36 2c 20  14 - August 16, 
f170: 32 30 30 35 3c 2f 62 3e 3c 62 72 3e 0a 20 20 20  2005</b><br>.   
f180: 20 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20   </p>.    <ul>. 
f190: 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20       <li>.      
f1a0: 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 74  Fixed a bug in t
f1b0: 68 65 20 53 51 4c 69 74 65 44 61 74 61 41 64 61  he SQLiteDataAda
f1c0: 70 74 65 72 20 64 75 65 20 74 6f 20 69 6e 73 75  pter due to insu
f1d0: 66 66 69 63 69 65 6e 74 20 69 6d 70 6c 65 6d 65  fficient impleme
f1e0: 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 0a  ntation of the .
f1f0: 20 20 20 20 20 20 63 6c 61 73 73 2e 26 6e 62 73        class.&nbs
f200: 70 3b 20 54 68 65 20 52 6f 77 55 70 64 61 74 69  p; The RowUpdati
f210: 6e 67 20 61 6e 64 20 52 6f 77 55 70 64 61 74 65  ng and RowUpdate
f220: 64 20 65 76 65 6e 74 73 20 61 72 65 20 6e 6f 77  d events are now
f230: 20 70 72 6f 70 65 72 6c 79 20 0a 20 20 20 20 20   properly .     
f240: 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 62 75   implemented, bu
f250: 74 20 75 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20  t unfortunately 
f260: 69 6e 73 65 72 74 69 6e 67 20 61 6e 64 20 75 70  inserting and up
f270: 64 61 74 69 6e 67 20 64 61 74 61 20 69 6e 20 61  dating data in a
f280: 20 44 61 74 61 54 61 62 6c 65 20 6f 72 20 0a 20   DataTable or . 
f290: 20 20 20 20 20 44 61 74 61 53 65 74 20 69 73 20       DataSet is 
f2a0: 6e 6f 77 20 6d 75 63 68 20 73 6c 6f 77 65 72 2e  now much slower.
f2b0: 26 6e 62 73 70 3b 20 54 68 69 73 20 69 73 20 74  &nbsp; This is t
f2c0: 68 65 20 70 72 6f 70 65 72 20 64 65 73 69 67 6e  he proper design
f2d0: 20 68 6f 77 65 76 65 72 2c 20 73 6f 20 74 68 65   however, so the
f2e0: 20 0a 20 20 20 20 20 20 63 68 61 6e 67 65 73 20   .      changes 
f2f0: 61 72 65 20 68 65 72 65 20 74 6f 20 73 74 61 79  are here to stay
f300: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
f310: 20 20 20 4c 6f 74 73 20 6f 66 20 73 63 68 65 6d     Lots of schem
f320: 61 20 63 68 61 6e 67 65 73 20 74 6f 20 73 75 70  a changes to sup
f330: 70 6f 72 74 20 56 69 73 75 61 6c 20 53 74 75 64  port Visual Stud
f340: 69 6f 27 73 20 44 61 74 61 20 44 65 73 69 67 6e  io's Data Design
f350: 65 72 20 61 72 63 68 69 74 65 63 74 75 72 65 2e  er architecture.
f360: 3c 6c 69 3e 41 64 64 65 64 20 0a 20 20 20 20 20  <li>Added .     
f370: 20 20 20 44 65 73 69 67 6e 65 72 20 73 75 70 70     Designer supp
f380: 6f 72 74 20 66 6f 72 20 74 68 65 20 70 72 6f 76  ort for the prov
f390: 69 64 65 72 2e 26 6e 62 73 70 3b 20 49 74 27 73  ider.&nbsp; It's
f3a0: 20 6e 6f 74 20 31 30 30 25 2c 20 62 75 74 20 79   not 100%, but y
f3b0: 6f 75 20 63 61 6e 20 64 65 73 69 67 6e 20 0a 20  ou can design . 
f3c0: 20 20 20 20 20 20 20 71 75 65 72 69 65 73 2c 20         queries, 
f3d0: 61 64 64 20 74 79 70 65 64 20 64 61 74 61 73 65  add typed datase
f3e0: 74 73 20 61 6e 64 20 70 65 72 66 6f 72 6d 20 71  ts and perform q
f3f0: 75 69 74 65 20 61 20 6e 75 6d 62 65 72 20 6f 66  uite a number of
f400: 20 74 61 73 6b 73 20 61 6c 6c 20 77 69 74 68 69   tasks all withi
f410: 6e 20 0a 20 20 20 20 20 20 20 20 56 69 73 75 61  n .        Visua
f420: 6c 20 53 74 75 64 69 6f 20 6e 6f 77 2e 3c 2f 6c  l Studio now.</l
f430: 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 50 3e 3c  i></ul>.    <P><
f440: 42 3e 31 2e 30 2e 31 33 20 2d 20 41 75 67 75 73  B>1.0.13 - Augus
f450: 74 20 38 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52  t 8, 2005</B><BR
f460: 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c  >.    </P>.    <
f470: 44 49 56 3e 0a 20 20 20 20 20 20 3c 55 4c 3e 0a  DIV>.      <UL>.
f480: 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20          <LI>.   
f490: 20 20 20 20 20 46 69 78 65 64 20 61 20 6e 61 6d       Fixed a nam
f4a0: 65 64 20 70 61 72 61 6d 65 74 65 72 20 62 75 67  ed parameter bug
f4b0: 20 69 6e 20 74 68 65 20 62 61 73 65 20 53 51 4c   in the base SQL
f4c0: 69 74 65 5f 55 54 46 31 36 20 63 6c 61 73 73 2c  ite_UTF16 class,
f4d0: 20 77 68 69 63 68 20 6f 66 20 63 6f 75 72 73 65   which of course
f4e0: 20 0a 20 20 20 20 20 20 20 20 6f 6e 6c 79 20 73   .        only s
f4f0: 68 6f 77 65 64 20 75 70 20 77 68 65 6e 20 61 20  howed up when a 
f500: 64 61 74 61 62 61 73 65 20 63 6f 6e 6e 65 63 74  database connect
f510: 69 6f 6e 20 77 61 73 20 6f 70 65 6e 65 64 20 75  ion was opened u
f520: 73 69 6e 67 20 74 68 65 20 0a 20 20 20 20 20 20  sing the .      
f530: 20 20 55 73 65 55 54 46 31 36 45 6e 63 6f 64 69    UseUTF16Encodi
f540: 6e 67 3d 54 72 75 65 20 70 61 72 61 6d 65 74 65  ng=True paramete
f550: 72 2e 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a  r..        <LI>.
f560: 20 20 20 20 20 20 20 20 20 20 46 69 78 65 64 20            Fixed 
f570: 61 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 73  a performance is
f580: 73 75 65 20 69 6e 20 53 51 4c 69 74 65 5f 55 54  sue in SQLite_UT
f590: 46 31 36 20 69 6e 76 6f 6c 76 69 6e 67 20 73 74  F16 involving st
f5a0: 72 69 6e 67 20 6d 61 72 73 68 61 6c 69 6e 67 2e  ring marshaling.
f5b0: 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c  </LI></UL>.    <
f5c0: 2f 44 49 56 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e  /DIV>.    <P><B>
f5d0: 31 2e 30 2e 31 32 20 2d 20 41 75 67 75 73 74 20  1.0.12 - August 
f5e0: 35 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a  5, 2005</B><BR>.
f5f0: 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 44 49      </P>.    <DI
f600: 56 3e 0a 20 20 20 20 20 20 3c 55 4c 3e 0a 20 20  V>.      <UL>.  
f610: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
f620: 20 20 20 20 20 46 75 6c 6c 20 73 75 70 70 6f 72       Full suppor
f630: 74 20 66 6f 72 20 74 68 65 20 43 6f 6d 70 61 63  t for the Compac
f640: 74 20 46 72 61 6d 65 77 6f 72 6b 2e 26 6e 62 73  t Framework.&nbs
f650: 70 3b 20 45 61 63 68 20 62 75 69 6c 64 20 28 44  p; Each build (D
f660: 65 62 75 67 2f 52 65 6c 65 61 73 65 29 20 6e 6f  ebug/Release) no
f670: 77 20 0a 20 20 20 20 20 20 20 20 20 20 68 61 73  w .          has
f680: 20 61 26 6e 62 73 70 3b 70 6c 61 74 66 6f 72 6d   a&nbsp;platform
f690: 2c 20 65 69 74 68 65 72 20 57 69 6e 33 32 20 6f  , either Win32 o
f6a0: 72 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77  r Compact Framew
f6b0: 6f 72 6b 2e 26 6e 62 73 70 3b 20 54 68 65 20 63  ork.&nbsp; The c
f6c0: 6f 72 72 65 63 74 20 0a 20 20 20 20 20 20 20 20  orrect .        
f6d0: 20 20 70 72 6f 6a 65 63 74 73 20 61 72 65 20 62    projects are b
f6e0: 75 69 6c 74 20 61 63 63 6f 72 64 69 6e 67 6c 79  uilt accordingly
f6f0: 2e 26 6e 62 73 70 3b 20 53 65 65 20 74 68 65 26  .&nbsp; See the&
f700: 6e 62 73 70 3b 3c 41 20 68 72 65 66 3d 22 23 72  nbsp;<A href="#r
f710: 65 64 69 73 74 22 3e 44 69 73 74 72 69 62 75 74  edist">Distribut
f720: 69 6e 67 20 0a 20 20 20 20 20 20 20 20 20 20 20  ing .           
f730: 20 53 51 4c 69 74 65 3c 2f 41 3e 0a 20 20 20 20   SQLite</A>.    
f740: 20 20 20 20 73 65 63 74 69 6f 6e 20 66 6f 72 20      section for 
f750: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 77  information on w
f760: 68 61 74 20 66 69 6c 65 73 20 6e 65 65 64 20 74  hat files need t
f770: 6f 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64  o be distributed
f780: 20 66 6f 72 20 65 61 63 68 20 0a 20 20 20 20 20   for each .     
f790: 20 20 20 70 6c 61 74 66 6f 72 6d 2e 26 6e 62 73     platform.&nbs
f7a0: 70 3b 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a  p;.        <LI>.
f7b0: 20 20 20 20 20 20 20 20 4d 6f 64 69 66 69 65 64          Modified
f7c0: 20 53 51 4c 69 74 65 33 2e 52 65 73 65 74 28 29   SQLite3.Reset()
f7d0: 20 61 6e 64 20 53 74 65 70 28 29 20 66 75 6e 63   and Step() func
f7e0: 74 69 6f 6e 73 20 74 6f 20 74 72 61 6e 73 70 61  tions to transpa
f7f0: 72 65 6e 74 6c 79 20 68 61 6e 64 6c 65 20 74 69  rently handle ti
f800: 6d 65 6f 75 74 73 20 0a 20 20 20 20 20 20 20 20  meouts .        
f810: 77 68 69 6c 65 20 77 61 69 74 69 6e 67 20 6f 6e  while waiting on
f820: 20 74 68 65 20 64 61 74 61 62 61 73 65 20 74 6f   the database to
f830: 20 62 65 63 6f 6d 65 20 61 76 61 69 6c 61 62 6c   become availabl
f840: 65 20 28 74 79 70 69 63 61 6c 6c 79 20 77 68 65  e (typically whe
f850: 6e 20 61 20 77 72 69 74 65 72 20 69 73 20 0a 20  n a writer is . 
f860: 20 20 20 20 20 20 20 77 61 69 74 69 6e 67 20 6f         waiting o
f870: 6e 20 61 20 72 65 61 64 65 72 20 74 6f 20 66 69  n a reader to fi
f880: 6e 69 73 68 2c 20 6f 72 20 61 20 72 65 61 64 65  nish, or a reade
f890: 72 20 69 73 20 77 61 69 74 69 6e 67 20 6f 6e 20  r is waiting on 
f8a0: 61 20 77 72 69 74 65 72 20 74 6f 20 66 69 6e 69  a writer to fini
f8b0: 73 68 29 2e 0a 20 20 20 20 20 20 20 20 3c 4c 49  sh)..        <LI
f8c0: 3e 0a 20 20 20 20 20 20 20 20 4c 6f 74 73 20 6f  >.        Lots o
f8d0: 66 20 63 6f 64 65 20 63 6c 65 61 6e 75 70 26 6e  f code cleanup&n
f8e0: 62 73 70 3b 61 73 20 73 75 67 67 65 73 74 65 64  bsp;as suggested
f8f0: 26 6e 62 73 70 3b 62 79 20 74 68 65 20 43 6f 64  &nbsp;by the Cod
f900: 65 20 41 6e 61 6c 79 7a 65 72 20 28 46 78 43 6f  e Analyzer (FxCo
f910: 70 29 2e 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e  p)..        <LI>
f920: 0a 20 20 20 20 20 20 20 20 4c 6f 74 73 20 6f 66  .        Lots of
f930: 20 75 70 64 61 74 65 73 20 74 6f 20 74 68 65 20   updates to the 
f940: 68 65 6c 70 66 69 6c 65 20 28 61 73 20 79 6f 75  helpfile (as you
f950: 20 63 61 6e 20 73 65 65 29 2e 0a 20 20 20 20 20   can see)..     
f960: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20     <LI>.        
f970: 20 20 53 74 61 74 65 6d 65 6e 74 73 26 6e 62 73    Statements&nbs
f980: 70 3b 77 65 72 65 20 61 6c 72 65 61 64 79 20 70  p;were already p
f990: 72 65 70 61 72 65 64 20 6c 61 7a 69 6c 79 26 6e  repared lazily&n
f9a0: 62 73 70 3b 69 6e 20 61 20 53 51 4c 69 74 65 43  bsp;in a SQLiteC
f9b0: 6f 6d 6d 61 6e 64 2c 20 62 75 74 20 6e 6f 77 20  ommand, but now 
f9c0: 0a 20 20 20 20 20 20 20 20 20 20 69 74 73 20 65  .          its e
f9d0: 76 65 6e 20 6d 6f 72 65 20 6c 61 7a 79 2e 26 6e  ven more lazy.&n
f9e0: 62 73 70 3b 20 53 74 61 74 65 6d 65 6e 74 73 20  bsp; Statements 
f9f0: 61 72 65 20 6e 6f 77 20 6f 6e 6c 79 20 70 72 65  are now only pre
fa00: 70 61 72 65 64 20 69 66 20 74 68 65 20 73 74 61  pared if the sta
fa10: 74 65 6d 65 6e 74 73 20 0a 20 20 20 20 20 20 20  tements .       
fa20: 20 20 20 68 61 76 65 6e 27 74 20 62 65 65 6e 20     haven't been 
fa30: 70 72 65 76 69 6f 75 73 6c 79 20 70 72 65 70 61  previously prepa
fa40: 72 65 64 20 61 6e 64 20 61 20 50 72 65 70 61 72  red and a Prepar
fa50: 65 28 29 20 66 75 6e 63 74 69 6f 6e 20 69 73 20  e() function is 
fa60: 63 61 6c 6c 65 64 20 28 61 6e 64 20 74 68 65 20  called (and the 
fa70: 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61  .          comma
fa80: 6e 64 20 69 73 20 61 73 73 6f 63 69 61 74 65 64  nd is associated
fa90: 20 77 69 74 68 20 61 20 63 6f 6e 6e 65 63 74 69   with a connecti
faa0: 6f 6e 29 20 6f 72 20 6a 75 73 74 20 70 72 69 6f  on) or just prio
fab0: 72 20 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64  r to the command
fac0: 20 62 65 69 6e 67 20 0a 20 20 20 20 20 20 20 20   being .        
fad0: 20 20 65 78 65 63 75 74 65 64 2e 26 6e 62 73 70    executed.&nbsp
fae0: 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20  ;</LI></UL>.    
faf0: 3c 2f 44 49 56 3e 0a 20 20 20 20 3c 50 3e 3c 42  </DIV>.    <P><B
fb00: 3e 31 2e 30 2e 31 31 20 2d 20 41 75 67 75 73 74  >1.0.11 - August
fb10: 20 31 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e   1, 2005</B><BR>
fb20: 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55  .    </P>.    <U
fb30: 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  L>.      <LI>.  
fb40: 20 20 20 20 20 20 3c 53 54 52 4f 4e 47 3e 46 6f        <STRONG>Fo
fb50: 72 20 65 76 65 72 79 74 68 69 6e 67 20 65 78 63  r everything exc
fb60: 65 70 74 20 74 68 65 20 43 6f 6d 70 61 63 74 20  ept the Compact 
fb70: 46 72 61 6d 65 77 6f 72 6b 2c 20 53 79 73 74 65  Framework, Syste
fb80: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 44 4c  m.Data.SQLite.DL
fb90: 4c 20 69 73 20 0a 20 20 20 20 20 20 20 20 20 20  L is .          
fba0: 6e 6f 77 20 74 68 65 20 3c 45 4d 3e 6f 6e 6c 79  now the <EM>only
fbb0: 3c 2f 45 4d 3e 20 44 4c 4c 20 72 65 71 75 69 72  </EM> DLL requir
fbc0: 65 64 20 74 6f 20 75 73 65 20 74 68 69 73 20 70  ed to use this p
fbd0: 72 6f 76 69 64 65 72 21 3c 2f 53 54 52 4f 4e 47  rovider!</STRONG
fbe0: 3e 26 6e 62 73 70 3b 20 54 68 65 20 0a 20 20 20  >&nbsp; The .   
fbf0: 20 20 20 61 73 73 65 6d 62 6c 79 20 69 73 20 6e     assembly is n
fc00: 6f 77 20 61 20 6d 75 6c 74 69 2d 6d 6f 64 75 6c  ow a multi-modul
fc10: 65 20 61 73 73 65 6d 62 6c 79 2c 20 63 6f 6e 74  e assembly, cont
fc20: 61 69 6e 69 6e 67 20 62 6f 74 68 20 74 68 65 20  aining both the 
fc30: 6e 61 74 69 76 65 20 53 51 4c 69 74 65 33 20 0a  native SQLite3 .
fc40: 20 20 20 20 20 20 63 6f 64 65 62 61 73 65 20 61        codebase a
fc50: 6e 64 20 74 68 65 20 43 23 20 63 6c 61 73 73 65  nd the C# classe
fc60: 73 20 62 75 69 6c 74 20 6f 6e 20 74 6f 70 20 6f  s built on top o
fc70: 66 20 69 74 2e 26 6e 62 73 70 3b 20 54 68 65 20  f it.&nbsp; The 
fc80: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
fc90: 6b 20 0a 20 20 20 20 20 20 76 65 72 73 69 6f 6e  k .      version
fca0: 20 28 77 68 65 6e 20 63 6f 6d 70 6c 65 74 65 64   (when completed
fcb0: 29 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 62  ) will not be ab
fcc0: 6c 65 20 74 6f 20 73 75 70 70 6f 72 74 20 74 68  le to support th
fcd0: 69 73 20 66 65 61 74 75 72 65 2c 20 73 6f 20 62  is feature, so b
fce0: 61 63 6b 77 61 72 64 73 20 0a 20 20 20 20 20 20  ackwards .      
fcf0: 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69  compatibility wi
fd00: 74 68 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46  th the Compact F
fd10: 72 61 6d 65 77 6f 72 6b 20 68 61 73 20 62 65 65  ramework has bee
fd20: 6e 20 70 72 65 73 65 72 76 65 64 20 66 6f 72 20  n preserved for 
fd30: 74 68 65 20 66 75 74 75 72 65 2e 0a 20 20 20 20  the future..    
fd40: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 46    <LI>.        F
fd50: 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 53 51  ixed a bug in SQ
fd60: 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e 45 78 65 63  LiteCommand.Exec
fd70: 75 74 65 53 63 61 6c 61 72 28 29 20 74 68 61 74  uteScalar() that
fd80: 20 63 61 75 73 65 64 20 69 74 20 74 6f 20 73 74   caused it to st
fd90: 6f 70 20 65 78 65 63 75 74 69 6e 67 20 0a 20 20  op executing .  
fda0: 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 73 20 6f        commands o
fdb0: 6e 63 65 20 69 74 20 6f 62 74 61 69 6e 65 64 20  nce it obtained 
fdc0: 74 68 65 20 66 69 72 73 74 20 63 6f 6c 75 6d 6e  the first column
fdd0: 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 72 6f   of the first ro
fde0: 77 2d 72 65 74 75 72 6e 69 6e 67 20 0a 20 20 20  w-returning .   
fdf0: 20 20 20 20 20 72 65 73 75 6c 74 73 65 74 2e 26       resultset.&
fe00: 6e 62 73 70 3b 20 41 6e 79 20 72 65 6d 61 69 6e  nbsp; Any remain
fe10: 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 73 20 61  ing statements a
fe20: 66 74 65 72 20 74 68 65 20 72 6f 77 2d 72 65 74  fter the row-ret
fe30: 75 72 6e 69 6e 67 20 73 74 61 74 65 6d 65 6e 74  urning statement
fe40: 20 77 61 73 20 0a 20 20 20 20 20 20 20 20 69 67   was .        ig
fe50: 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 4c  nored..      </L
fe60: 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20  I>.    </UL>.   
fe70: 20 3c 50 3e 3c 42 3e 31 2e 30 2e 31 30 20 2d 20   <P><B>1.0.10 - 
fe80: 4a 75 6e 65 20 31 30 2c 20 32 30 30 35 3c 2f 42  June 10, 2005</B
fe90: 3e 3c 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20  ><BR>.    </P>. 
fea0: 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c     <UL>.      <L
feb0: 49 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20 61  I>.      Fixed a
fec0: 20 62 75 67 20 69 6e 20 74 68 65 20 53 51 4c 69   bug in the SQLi
fed0: 74 65 33 2e 63 73 20 50 72 65 70 61 72 65 28 29  te3.cs Prepare()
fee0: 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63   function that c
fef0: 72 65 61 74 65 64 20 61 20 73 74 61 74 65 6d 65  reated a stateme
ff00: 6e 74 20 65 76 65 6e 20 0a 20 20 20 20 20 20 77  nt even .      w
ff10: 68 65 6e 20 74 68 65 20 53 51 4c 69 74 65 20 65  hen the SQLite e
ff20: 6e 67 69 6e 65 20 72 65 74 75 72 6e 65 64 20 61  ngine returned a
ff30: 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72 2e 20 54   NULL pointer. T
ff40: 79 70 69 63 61 6c 6c 79 20 74 68 69 73 20 6f 63  ypically this oc
ff50: 63 75 72 73 20 77 68 65 6e 20 0a 20 20 20 20 20  curs when .     
ff60: 20 6d 75 6c 74 69 70 6c 65 20 73 74 61 74 65 6d   multiple statem
ff70: 65 6e 74 73 20 61 72 65 20 70 72 6f 63 65 73 73  ents are process
ff80: 65 64 20 61 6e 64 20 74 68 65 72 65 20 61 72 65  ed and there are
ff90: 20 74 72 61 69 6c 69 6e 67 20 63 6f 6d 6d 65 6e   trailing commen
ffa0: 74 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66  ts at the end of
ffb0: 20 0a 20 20 20 20 20 20 74 68 65 20 73 74 61 74   .      the stat
ffc0: 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 4c 49  ement..      <LI
ffd0: 3e 0a 20 20 20 20 20 20 20 20 46 69 78 65 64 20  >.        Fixed 
ffe0: 61 20 62 75 67 20 69 6e 20 53 51 4c 69 74 65 53  a bug in SQLiteS
fff0: 74 61 74 65 6d 65 6e 74 2e 63 73 20 74 68 61 74  tatement.cs that
10000 20 72 65 74 72 69 65 76 65 64 20 70 61 72 61 6d   retrieved param
10010 65 74 65 72 20 6e 61 6d 65 73 20 66 6f 72 20 61  eter names for a
10020 20 0a 20 20 20 20 20 20 20 20 70 61 72 61 6d 65   .        parame
10030 74 65 72 69 7a 65 64 20 71 75 65 72 79 2e 26 6e  terized query.&n
10040 62 73 70 3b 20 53 51 4c 69 74 65 27 73 20 70 61  bsp; SQLite's pa
10050 72 61 6d 65 74 65 72 73 20 61 72 65 20 31 2d 62  rameters are 1-b
10060 61 73 65 64 2c 20 61 6e 64 20 74 68 65 20 66 75  ased, and the fu
10070 6e 63 74 69 6f 6e 20 0a 20 20 20 20 20 20 20 20  nction .        
10080 77 61 73 20 73 74 61 72 74 69 6e 67 20 61 74 20  was starting at 
10090 30 2e 26 6e 62 73 70 3b 20 54 68 69 73 20 77 61  0.&nbsp; This wa
100a0 73 20 66 69 6e 65 20 77 68 65 6e 20 61 6c 6c 20  s fine when all 
100b0 70 61 72 61 6d 65 74 65 72 73 20 77 65 72 65 20  parameters were 
100c0 75 6e 6e 61 6d 65 64 2c 20 62 75 74 20 0a 20 20  unnamed, but .  
100d0 20 20 20 20 20 20 66 6f 72 20 6e 61 6d 65 64 20        for named 
100e0 70 61 72 61 6d 65 74 65 72 73 20 69 74 20 63 61  parameters it ca
100f0 75 73 65 64 20 74 68 65 20 70 61 72 61 6d 65 74  used the paramet
10100 65 72 73 20 74 6f 20 62 65 20 6f 75 74 20 6f 66  ers to be out of
10110 20 77 68 61 63 6b 2e 0a 20 20 20 20 20 20 3c 2f   whack..      </
10120 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20  LI>.    </UL>.  
10130 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 39 61 20    <P><B>1.0.09a 
10140 2d 20 4d 61 79 20 32 35 2c 20 32 30 30 35 3c 2f  - May 25, 2005</
10150 42 3e 3c 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a  B><BR>.    </P>.
10160 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c      <UL>.      <
10170 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20  LI>.      Fixed 
10180 61 20 62 72 6f 6b 65 6e 20 68 65 6c 70 66 69 6c  a broken helpfil
10190 65 20 61 6e 64 20 63 6f 72 72 65 63 74 65 64 20  e and corrected 
101a0 73 6f 6d 65 20 6f 62 73 6f 6c 65 74 65 20 68 65  some obsolete he
101b0 6c 70 20 72 65 6d 61 72 6b 73 20 69 6e 20 0a 20  lp remarks in . 
101c0 20 20 20 20 20 53 51 4c 69 74 65 46 75 6e 63 74       SQLiteFunct
101d0 69 6f 6e 2e 63 73 0a 20 20 20 20 20 20 3c 4c 49  ion.cs.      <LI
101e0 3e 0a 20 20 20 20 20 20 20 20 41 64 64 65 64 20  >.        Added 
101f0 61 20 76 65 72 73 69 6f 6e 20 72 65 73 6f 75 72  a version resour
10200 63 65 20 74 6f 20 74 68 65 20 53 51 4c 69 74 65  ce to the SQLite
10210 2e 49 6e 74 65 72 6f 70 2e 44 4c 4c 2e 26 6e 62  .Interop.DLL.&nb
10220 73 70 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20  sp;</LI></UL>.  
10230 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 39 20 2d    <P><B>1.0.09 -
10240 20 4d 61 79 20 32 34 2c 20 32 30 30 35 3c 2f 42   May 24, 2005</B
10250 3e 3c 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20  ><BR>.    </P>. 
10260 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c     <UL>.      <L
10270 49 3e 0a 20 20 20 20 20 20 43 6f 64 65 20 6d 65  I>.      Code me
10280 72 67 65 20 77 69 74 68 20 74 68 65 20 6c 61 74  rge with the lat
10290 65 73 74 20 33 2e 32 31 20 76 65 72 73 69 6f 6e  est 3.21 version
102a0 20 6f 66 20 53 51 4c 69 74 65 2e 0a 20 20 20 20   of SQLite..    
102b0 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 52    <LI>.        R
102c0 65 6d 6f 76 65 64 20 6f 62 73 6f 6c 65 74 65 20  emoved obsolete 
102d0 6d 65 74 68 6f 64 73 20 61 6e 64 20 70 72 6f 70  methods and prop
102e0 65 72 74 69 65 73 20 66 6f 72 20 57 68 69 64 62  erties for Whidb
102f0 65 79 20 42 65 74 61 20 32 3c 2f 4c 49 3e 3c 2f  ey Beta 2</LI></
10300 55 4c 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e  UL>.    <P><B>1.
10310 30 2e 30 38 20 52 65 66 72 65 73 68 20 2d 20 4d  0.08 Refresh - M
10320 61 72 20 32 34 2c 20 32 30 30 35 3c 42 52 3e 0a  ar 24, 2005<BR>.
10330 20 20 20 20 20 20 3c 2f 42 3e 0a 20 20 20 20 3c        </B>.    <
10340 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20  /P>.    <UL>.   
10350 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 43 6f     <LI>.      Co
10360 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 74 68  de merge with th
10370 65 20 6c 61 74 65 73 74 20 33 2e 32 30 20 76 65  e latest 3.20 ve
10380 72 73 69 6f 6e 20 6f 66 20 53 51 4c 69 74 65 2e  rsion of SQLite.
10390 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
103a0 20 20 20 20 52 65 63 6f 6d 70 69 6c 65 64 20 74      Recompiled t
103b0 68 65 20 68 65 6c 70 20 66 69 6c 65 20 74 6f 20  he help file to 
103c0 66 69 78 20 61 20 62 75 69 6c 64 20 65 72 72 6f  fix a build erro
103d0 72 20 69 6e 20 69 74 2e 0a 20 20 20 20 20 20 3c  r in it..      <
103e0 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20  /LI>.    </UL>. 
103f0 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 38 20     <P><B>1.0.08 
10400 2d 20 4d 61 72 20 31 31 2c 20 32 30 30 35 3c 42  - Mar 11, 2005<B
10410 52 3e 0a 20 20 20 20 20 20 3c 2f 42 3e 0a 20 20  R>.      </B>.  
10420 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a    </P>.    <UL>.
10430 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
10440 20 41 64 64 65 64 20 61 64 64 69 74 69 6f 6e 61   Added additiona
10450 6c 20 23 69 66 20 73 74 61 74 65 6d 65 6e 74 73  l #if statements
10460 20 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65 20   to support the 
10470 6f 6c 64 20 62 65 74 61 20 31 20 65 64 69 74 69  old beta 1 editi
10480 6f 6e 20 6f 66 20 56 53 32 30 30 35 2e 0a 20 20  on of VS2005..  
10490 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20      <LI>.       
104a0 20 43 6f 64 65 20 6d 65 72 67 65 64 20 74 68 65   Code merged the
104b0 20 53 51 4c 69 74 65 20 33 2e 31 34 20 73 6f 75   SQLite 3.14 sou
104c0 72 63 65 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e  rce..      </LI>
104d0 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c  .    </UL>.    <
104e0 50 3e 3c 42 3e 31 2e 30 2e 30 37 20 2d 20 4d 61  P><B>1.0.07 - Ma
104f0 72 20 35 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52  r 5, 2005</B><BR
10500 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c  >.    </P>.    <
10510 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  UL>.      <LI>. 
10520 20 20 20 20 20 4d 61 64 65 20 6d 6f 72 65 20 6f       Made more o
10530 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 74 6f 20  ptimizations to 
10540 66 72 65 71 75 65 6e 74 6c 79 2d 63 61 6c 6c 65  frequently-calle
10550 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 72 65 73  d functions, res
10560 75 6c 74 69 6e 67 20 69 6e 20 0a 20 20 20 20 20  ulting in .     
10570 20 73 69 67 6e 69 66 69 63 61 6e 74 20 70 65 72   significant per
10580 66 6f 72 6d 61 6e 63 65 20 67 61 69 6e 73 20 69  formance gains i
10590 6e 20 61 6c 6c 20 74 65 73 74 73 2e 0a 20 20 20  n all tests..   
105a0 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20     <LI>.        
105b0 52 65 63 6f 6d 70 69 6c 65 64 20 74 68 65 20 62  Recompiled the b
105c0 69 6e 61 72 69 65 73 20 75 73 69 6e 67 20 74 68  inaries using th
105d0 65 20 6c 61 74 65 73 74 20 56 53 32 30 30 35 20  e latest VS2005 
105e0 46 65 62 72 75 61 72 79 20 43 54 50 2c 20 72 65  February CTP, re
105f0 73 75 6c 74 69 6e 67 20 69 6e 20 79 65 74 20 0a  sulting in yet .
10600 20 20 20 20 20 20 20 20 6d 6f 72 65 20 73 69 67          more sig
10610 6e 69 66 69 63 61 6e 74 20 73 70 65 65 64 20 67  nificant speed g
10620 61 69 6e 73 2e 26 6e 62 73 70 3b 20 54 68 65 20  ains.&nbsp; The 
10630 31 30 30 6b 20 69 6e 73 65 72 74 20 74 65 73 74  100k insert test
10640 20 75 73 65 64 20 74 6f 20 74 61 6b 65 20 33 2e   used to take 3.
10650 35 20 0a 20 20 20 20 20 20 20 20 73 65 63 6f 6e  5 .        secon
10660 64 73 20 61 6e 64 20 74 68 65 20 69 6e 73 65 72  ds and the inser
10670 74 77 69 74 68 69 64 65 6e 74 69 74 79 20 74 6f  twithidentity to
10680 6f 6b 20 61 6c 6d 6f 73 74 20 38 20 73 65 63 6f  ok almost 8 seco
10690 6e 64 73 2e 26 6e 62 73 70 3b 20 57 69 74 68 20  nds.&nbsp; With 
106a0 74 68 65 20 61 62 6f 76 65 20 0a 20 20 20 20 20  the above .     
106b0 20 20 20 74 77 6f 20 63 68 61 6e 67 65 73 2c 20     two changes, 
106c0 74 68 6f 73 65 20 74 65 73 74 73 20 61 72 65 20  those tests are 
106d0 6e 6f 77 20 65 78 65 63 75 74 69 6e 67 20 69 6e  now executing in
106e0 20 31 2e 39 20 61 6e 64 20 34 2e 39 20 73 65 63   1.9 and 4.9 sec
106f0 6f 6e 64 73 20 72 65 73 70 65 63 74 69 76 65 6c  onds respectivel
10700 79 2e 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20  y.</LI></UL>.   
10710 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 36 20 2d 20   <P><B>1.0.06 - 
10720 4d 61 72 20 31 2c 20 32 30 30 35 3c 42 52 3e 0a  Mar 1, 2005<BR>.
10730 20 20 20 20 20 20 3c 2f 42 3e 0a 20 20 20 20 3c        </B>.    <
10740 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20  /P>.    <UL>.   
10750 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53 70     <LI>.      Sp
10760 65 65 64 2d 75 70 73 20 74 6f 20 53 51 4c 69 74  eed-ups to SQLit
10770 65 44 61 74 61 52 65 61 64 65 72 2e 26 6e 62 73  eDataReader.&nbs
10780 70 3b 20 49 74 20 77 61 73 20 69 6e 74 65 72 6f  p; It was intero
10790 70 27 69 6e 67 20 75 6e 6e 65 63 65 73 73 61 72  p'ing unnecessar
107a0 69 6c 79 20 65 76 65 72 79 20 0a 20 20 20 20 20  ily every .     
107b0 20 74 69 6d 65 20 69 74 20 74 72 69 65 64 20 74   time it tried t
107c0 6f 20 66 65 74 63 68 20 61 20 66 69 65 6c 64 20  o fetch a field 
107d0 64 75 65 20 74 6f 20 61 20 6c 6f 67 69 63 20 65  due to a logic e
107e0 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  rror..      <LI>
107f0 0a 20 20 20 20 20 20 43 68 61 6e 67 65 64 2f 41  .      Changed/A
10800 64 64 65 64 20 73 6f 6d 65 20 63 6f 64 65 20 74  dded some code t
10810 6f 20 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 27  o SQLiteConvert'
10820 73 20 69 6e 74 65 72 6e 61 6c 20 44 62 54 79 70  s internal DbTyp
10830 65 2c 20 54 79 70 65 20 61 6e 64 20 0a 20 20 20  e, Type and .   
10840 20 20 20 54 79 70 65 41 66 66 69 6e 69 74 79 20     TypeAffinity 
10850 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20  functions..     
10860 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65   <LI>.      Fixe
10870 64 20 74 68 65 20 53 51 4c 69 74 65 44 61 74 61  d the SQLiteData
10880 52 65 61 64 65 72 20 74 6f 20 6f 62 65 79 20 74  Reader to obey t
10890 68 65 20 66 6c 61 67 73 20 73 65 74 20 69 6e 20  he flags set in 
108a0 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 0a 20 20  the optional .  
108b0 20 20 20 20 43 6f 6d 6d 61 6e 64 42 65 68 61 76      CommandBehav
108c0 69 6f 72 20 66 6c 61 67 20 66 72 6f 6d 20 53 51  ior flag from SQ
108d0 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e 45 78 65 63  LiteCommand.Exec
108e0 75 74 65 52 65 61 64 65 72 28 29 2e 0a 20 20 20  uteReader()..   
108f0 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 43 68     <LI>.      Ch
10900 61 6e 67 65 64 20 74 68 65 20 64 65 66 61 75 6c  anged the defaul
10910 74 20 70 61 67 65 20 73 69 7a 65 20 74 6f 20 31  t page size to 1
10920 30 32 34 20 74 6f 20 72 65 66 6c 65 63 74 20 74  024 to reflect t
10930 68 65 20 64 65 66 61 75 6c 74 73 20 6f 66 20 53  he defaults of S
10940 51 4c 69 74 65 2e 26 6e 62 73 70 3b 20 0a 20 20  QLite.&nbsp; .  
10950 20 20 20 20 49 67 6e 6f 72 65 73 20 74 68 65 20      Ignores the 
10960 22 50 61 67 65 20 53 69 7a 65 22 20 63 6f 6e 6e  "Page Size" conn
10970 65 63 74 69 6f 6e 20 73 74 72 69 6e 67 20 6f 70  ection string op
10980 74 69 6f 6e 20 66 6f 72 20 6d 65 6d 6f 72 79 20  tion for memory 
10990 64 61 74 61 62 61 73 65 73 2c 20 61 73 20 74 65  databases, as te
109a0 73 74 73 20 0a 20 20 20 20 20 20 72 65 76 65 61  sts .      revea
109b0 6c 65 64 20 74 68 61 74 20 63 68 61 6e 67 69 6e  led that changin
109c0 67 20 69 74 20 72 65 73 75 6c 74 65 64 20 69 6e  g it resulted in
109d0 20 6d 65 6d 6f 72 79 20 63 6f 72 72 75 70 74 69   memory corrupti
109e0 6f 6e 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20  on errors..     
109f0 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 50 65   <LI>.        Pe
10a00 72 66 6f 72 6d 61 6e 63 65 20 65 6e 68 61 6e 63  rformance enhanc
10a10 65 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 53 51  ements to the SQ
10a20 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 61 6e 64 20  LiteCommand and 
10a30 53 51 4c 69 74 65 53 74 61 74 65 6d 65 6e 74 20  SQLiteStatement 
10a40 63 6c 61 73 73 65 73 20 77 68 69 63 68 20 0a 20  classes which . 
10a50 20 20 20 20 20 20 20 72 65 64 75 63 65 64 20 74         reduced t
10a60 68 65 20 31 30 30 2c 30 30 30 20 72 6f 77 20 69  he 100,000 row i
10a70 6e 73 65 72 74 20 65 78 65 63 75 74 69 6f 6e 20  nsert execution 
10a80 74 69 6d 65 20 61 73 20 77 65 6c 6c 20 61 73 20  time as well as 
10a90 74 68 65 20 76 61 72 69 6f 75 73 20 46 75 6e 63  the various Func
10aa0 74 69 6f 6e 20 0a 20 20 20 20 20 20 20 20 65 78  tion .        ex
10ab0 65 63 75 74 69 6f 6e 20 74 69 6d 65 73 20 73 69  ecution times si
10ac0 67 6e 69 66 69 63 61 6e 74 6c 79 2e 0a 20 20 20  gnificantly..   
10ad0 20 20 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55     </LI>.    </U
10ae0 4c 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30  L>.    <P><B>1.0
10af0 2e 30 35 20 2d 20 46 65 62 20 32 35 2c 20 32 30  .05 - Feb 25, 20
10b00 30 35 3c 2f 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a  05</B>.    </P>.
10b10 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c      <UL>.      <
10b20 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20  LI>.      Fixed 
10b30 74 68 65 20 53 51 4c 69 74 65 33 20 43 23 20 63  the SQLite3 C# c
10b40 6c 61 73 73 20 73 74 65 70 2f 72 65 73 65 74 20  lass step/reset 
10b50 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 61 63 63  functions to acc
10b60 6f 6d 6f 64 61 74 65 20 73 63 68 65 6d 61 20 63  omodate schema c
10b70 68 61 6e 67 65 73 20 0a 20 20 20 20 20 20 74 68  hanges .      th
10b80 61 74 20 69 6e 76 61 6c 69 64 61 74 65 20 61 20  at invalidate a 
10b90 70 72 65 70 61 72 65 64 20 73 74 61 74 65 6d 65  prepared stateme
10ba0 6e 74 2e 26 6e 62 73 70 3b 20 53 74 61 74 65 6d  nt.&nbsp; Statem
10bb0 65 6e 74 73 20 61 72 65 20 72 65 63 6f 6d 70 69  ents are recompi
10bc0 6c 65 64 20 0a 20 20 20 20 20 20 74 72 61 6e 73  led .      trans
10bd0 70 61 72 65 6e 74 6c 79 2e 0a 20 20 20 20 20 20  parently..      
10be0 3c 4c 49 3e 0a 20 20 20 20 20 20 4d 6f 76 65 64  <LI>.      Moved
10bf0 20 61 6c 6c 20 6e 61 74 69 76 65 20 44 4c 4c 20   all native DLL 
10c00 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 74 6f 20  declarations to 
10c10 61 6e 20 55 6e 73 61 66 65 4e 61 74 69 76 65 4d  an UnsafeNativeM
10c20 65 74 68 6f 64 73 20 63 6c 61 73 73 2e 0a 20 20  ethods class..  
10c30 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53      <LI>.      S
10c40 70 6c 69 74 20 73 65 76 65 72 61 6c 20 63 6c 61  plit several cla
10c50 73 73 65 73 20 69 6e 74 6f 20 74 68 65 69 72 20  sses into their 
10c60 6f 77 6e 20 6d 6f 64 75 6c 65 73 20 66 6f 72 20  own modules for 
10c70 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 20 20 20  readability..   
10c80 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 52 65     <LI>.      Re
10c90 6e 61 6d 65 64 20 6d 61 6e 79 20 69 6e 74 65 72  named many inter
10ca0 6e 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 72  nal variables, r
10cb0 65 76 69 65 77 65 64 20 61 63 63 65 73 73 20 74  eviewed access t
10cc0 6f 20 76 61 72 69 61 62 6c 65 73 20 6d 61 72 6b  o variables mark
10cd0 65 64 20 61 73 20 0a 20 20 20 20 20 20 69 6e 74  ed as .      int
10ce0 65 72 6e 61 6c 20 61 6e 64 20 61 6c 74 65 72 65  ernal and altere
10cf0 64 20 74 68 65 69 72 20 70 72 6f 74 65 63 74 69  d their protecti
10d00 6f 6e 20 6c 65 76 65 6c 73 20 61 63 63 6f 72 64  on levels accord
10d10 69 6e 67 6c 79 2e 0a 20 20 20 20 20 20 3c 4c 49  ingly..      <LI
10d20 3e 0a 20 20 20 20 20 20 44 75 65 20 74 6f 20 74  >.      Due to t
10d30 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74  he presence of t
10d40 68 65 20 61 6c 74 65 72 65 64 20 73 71 6c 69 74  he altered sqlit
10d50 65 33 20 63 6f 64 65 62 61 73 65 20 61 6e 64 20  e3 codebase and 
10d60 73 6f 20 6d 61 6e 79 20 61 64 64 65 64 20 69 6e  so many added in
10d70 74 65 72 6f 70 20 0a 20 20 20 20 20 20 66 75 6e  terop .      fun
10d80 63 74 69 6f 6e 73 2c 20 49 20 64 65 63 69 64 65  ctions, I decide
10d90 64 20 74 6f 20 72 65 6e 61 6d 65 20 74 68 65 20  d to rename the 
10da0 73 71 6c 69 74 65 33 20 43 20 70 72 6f 6a 65 63  sqlite3 C projec
10db0 74 20 61 6e 64 20 74 68 65 20 44 4c 4c 20 74 6f  t and the DLL to
10dc0 20 0a 20 20 20 20 20 20 53 51 4c 69 74 65 2e 49   .      SQLite.I
10dd0 6e 74 65 72 6f 70 2e 44 4c 4c 2e 26 6e 62 73 70  nterop.DLL.&nbsp
10de0 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61  ; This is the sa
10df0 6d 65 20 63 6f 72 65 20 73 71 6c 69 74 65 33 20  me core sqlite3 
10e00 63 6f 64 65 62 61 73 65 20 62 75 74 20 64 65 73  codebase but des
10e10 69 67 6e 65 64 20 0a 20 20 20 20 20 20 73 70 65  igned .      spe
10e20 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 74 68  cifically for th
10e30 69 73 20 41 44 4f 2e 4e 45 54 20 70 72 6f 76 69  is ADO.NET provi
10e40 64 65 72 2e 26 6e 62 73 70 3b 20 54 68 69 73 20  der.&nbsp; This 
10e50 65 6c 69 6d 69 6e 61 74 65 73 20 61 6e 79 20 70  eliminates any p
10e60 6f 73 73 69 62 69 6c 69 74 79 20 0a 20 20 20 20  ossibility .    
10e70 20 20 6f 66 20 73 6f 6d 65 6f 6e 65 20 64 72 6f    of someone dro
10e80 70 70 69 6e 67 20 61 6e 6f 74 68 65 72 20 62 75  pping another bu
10e90 69 6c 64 20 6f 66 20 73 71 6c 69 74 65 33 2e 64  ild of sqlite3.d
10ea0 6c 6c 20 69 6e 74 6f 20 74 68 65 20 73 79 73 74  ll into the syst
10eb0 65 6d 20 61 6e 64 20 72 65 6e 64 65 72 69 6e 67  em and rendering
10ec0 20 0a 20 20 20 20 20 20 74 68 65 20 70 72 6f 76   .      the prov
10ed0 69 64 65 72 20 69 6e 6f 70 65 72 61 62 6c 65 2e  ider inoperable.
10ee0 26 6e 62 73 70 3b 20 49 6e 20 74 68 65 20 66 75  &nbsp; In the fu
10ef0 74 75 72 65 20 69 66 20 74 68 65 20 66 6f 6c 6b  ture if the folk
10f00 73 20 61 74 20 73 71 6c 69 74 65 2e 6f 72 67 20  s at sqlite.org 
10f10 66 69 6e 61 6c 6c 79 20 0a 20 20 20 20 20 20 69  finally .      i
10f20 6e 74 72 6f 64 75 63 65 20 61 20 6d 65 74 68 6f  ntroduce a metho
10f30 64 20 6f 66 20 72 65 74 72 69 65 76 69 6e 67 20  d of retrieving 
10f40 63 6f 6c 75 6d 6e 20 75 73 61 67 65 20 66 6f 72  column usage for
10f50 20 61 6e 20 61 72 62 69 74 72 61 72 79 20 70 72   an arbitrary pr
10f60 65 70 61 72 65 64 20 0a 20 20 20 20 20 20 73 74  epared .      st
10f70 61 74 65 6d 65 6e 74 2c 20 49 27 6c 6c 20 72 65  atement, I'll re
10f80 74 6f 6f 6c 20 74 68 69 73 20 6c 69 62 72 61 72  tool this librar
10f90 79 20 74 6f 20 62 65 20 61 20 6c 69 67 68 74 77  y to be a lightw
10fa0 65 69 67 68 74 20 66 75 6e 63 74 69 6f 6e 20 63  eight function c
10fb0 61 6c 6c 20 77 72 61 70 70 65 72 20 0a 20 20 20  all wrapper .   
10fc0 20 20 20 61 72 6f 75 6e 64 20 74 68 65 20 63 6f     around the co
10fd0 72 65 20 62 69 6e 61 72 79 20 64 69 73 74 72 69  re binary distri
10fe0 62 75 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 4c  bution..      <L
10ff0 49 3e 0a 20 20 20 20 20 20 41 64 64 65 64 20 5b  I>.      Added [
11000 53 75 70 70 72 65 73 73 55 6e 6d 61 6e 61 67 65  SuppressUnmanage
11010 64 43 6f 64 65 53 65 63 75 72 69 74 79 5d 20 61  dCodeSecurity] a
11020 74 74 72 69 62 75 74 65 20 74 6f 20 74 68 65 20  ttribute to the 
11030 55 6e 73 61 66 65 4e 61 74 69 76 65 4d 65 74 68  UnsafeNativeMeth
11040 6f 64 73 20 0a 20 20 20 20 20 20 63 6c 61 73 73  ods .      class
11050 20 77 68 69 63 68 20 62 72 69 6e 67 73 20 56 53   which brings VS
11060 32 30 30 35 20 4e 6f 76 65 6d 62 65 72 20 43 54  2005 November CT
11070 50 20 65 78 65 63 75 74 69 6f 6e 20 73 70 65 65  P execution spee
11080 64 73 20 69 6e 6c 69 6e 65 20 77 69 74 68 20 74  ds inline with t
11090 68 65 20 0a 20 20 20 20 20 20 44 65 63 65 6d 62  he .      Decemb
110a0 65 72 20 43 54 50 2e 0a 20 20 20 20 20 20 3c 4c  er CTP..      <L
110b0 49 3e 0a 20 20 20 20 20 20 20 20 41 64 64 65 64  I>.        Added
110c0 20 61 20 3c 42 3e 62 69 6e 3c 2f 42 3e 0a 20 20   a <B>bin</B>.  
110d0 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 74 6f      directory to
110e0 20 74 68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f   the project roo
110f0 74 20 77 68 65 72 65 20 70 72 65 2d 63 6f 6d 70  t where pre-comp
11100 69 6c 65 64 20 62 69 6e 61 72 69 65 73 20 63 61  iled binaries ca
11110 6e 20 62 65 20 66 6f 75 6e 64 2e 0a 20 20 20 20  n be found..    
11120 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 41    <LI>.        A
11130 64 64 65 64 20 61 20 3c 42 3e 64 6f 63 3c 2f 42  dded a <B>doc</B
11140 3e 0a 20 20 20 20 20 20 64 69 72 65 63 74 6f 72  >.      director
11150 79 20 77 68 65 72 65 20 70 72 65 6c 69 6d 69 6e  y where prelimin
11160 61 72 79 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  ary documentatio
11170 6e 20 6f 6e 20 74 68 65 20 63 6c 61 73 73 20 6c  n on the class l
11180 69 62 72 61 72 79 20 63 61 6e 20 62 65 20 66 6f  ibrary can be fo
11190 75 6e 64 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  und..      <LI>.
111a0 20 20 20 20 20 20 20 20 44 6f 63 75 6d 65 6e 74          Document
111b0 65 64 20 61 20 6c 6f 74 20 6d 6f 72 65 20 6f 66  ed a lot more of
111c0 20 74 68 65 20 63 6c 61 73 73 65 73 20 69 6e 74   the classes int
111d0 65 72 6e 61 6c 6c 79 2e 0a 20 20 20 20 20 20 3c  ernally..      <
111e0 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20  /LI>.    </UL>. 
111f0 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 34 20     <P><B>1.0.04 
11200 2d 20 46 65 62 20 32 34 2c 20 32 30 30 35 3c 2f  - Feb 24, 2005</
11210 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20  B>.    </P>.    
11220 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  <UL>.      <LI>.
11230 20 20 20 20 20 20 52 65 6d 6f 76 65 64 20 74 68        Removed th
11240 65 20 53 51 4c 69 74 65 43 6f 6e 74 65 78 74 20  e SQLiteContext 
11250 63 6c 61 73 73 20 61 6e 64 20 72 65 76 61 6d 70  class and revamp
11260 65 64 20 74 68 65 20 77 61 79 20 55 73 65 72 46  ed the way UserF
11270 75 6e 63 74 69 6f 6e 73 20 77 6f 72 6b 20 74 6f  unctions work to
11280 20 0a 20 20 20 20 20 20 73 69 6d 70 6c 69 66 79   .      simplify
11290 20 74 68 65 20 69 6d 6c 65 6d 65 6e 74 61 74 69   the imlementati
112a0 6f 6e 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  on..      <LI>. 
112b0 20 20 20 20 20 46 69 78 65 64 20 61 20 63 6f 75       Fixed a cou
112c0 6e 74 69 6e 67 20 62 75 67 20 69 6e 20 74 68 65  nting bug in the
112d0 20 54 65 73 74 43 61 73 65 73 20 63 6c 61 73 73   TestCases class
112e0 2c 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69  , specifically i
112f0 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74  n the function t
11300 65 73 74 73 20 0a 20 20 20 20 20 20 77 68 65 72  ests .      wher
11310 65 20 49 20 77 61 73 6e 27 74 20 72 65 73 65 74  e I wasn't reset
11320 74 69 6e 67 20 74 68 65 20 63 6f 75 6e 74 65 72  ting the counter
11330 20 61 6e 64 20 69 74 20 77 61 73 20 63 6f 6e 73   and it was cons
11340 65 71 75 65 6e 74 6c 79 20 72 65 70 6f 72 74 69  equently reporti
11350 6e 67 20 0a 20 20 20 20 20 20 69 6e 74 72 69 6e  ng .      intrin
11360 73 69 63 20 61 6e 64 20 72 61 77 20 73 65 6c 65  sic and raw sele
11370 63 74 20 63 61 6c 6c 73 20 61 73 20 62 65 69 6e  ct calls as bein
11380 67 20 6d 75 63 68 20 6d 75 63 68 20 66 61 73 74  g much much fast
11390 65 72 20 74 68 61 6e 20 74 68 65 79 20 61 63 74  er than they act
113a0 75 61 6c 6c 79 20 0a 20 20 20 20 20 20 77 65 72  ually .      wer
113b0 65 2e 26 6e 62 73 70 3b 20 54 68 65 20 6e 75 6d  e.&nbsp; The num
113c0 62 65 72 73 20 61 72 65 20 6e 6f 77 20 6d 75 63  bers are now muc
113d0 68 20 63 6c 6f 73 65 72 20 74 6f 20 77 68 61 74  h closer to what
113e0 20 49 20 65 78 70 65 63 74 65 64 20 66 6f 72 20   I expected for 
113f0 70 65 72 66 6f 72 6d 61 6e 63 65 2c 20 0a 20 20  performance, .  
11400 20 20 20 20 77 69 74 68 20 2e 4e 45 54 20 75 73      with .NET us
11410 65 72 2d 66 75 6e 63 74 69 6f 6e 73 20 73 74 69  er-functions sti
11420 6c 6c 20 62 65 69 6e 67 20 74 68 65 20 73 6c 6f  ll being the slo
11430 77 65 73 74 2c 20 62 75 74 20 6f 6e 6c 79 20 62  west, but only b
11440 79 20 61 20 73 6d 61 6c 6c 20 6d 61 72 67 69 6e  y a small margin
11450 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
11460 20 20 20 53 6d 61 6c 6c 20 70 65 72 66 6f 72 6d     Small perform
11470 61 6e 63 65 20 74 77 65 61 6b 73 20 74 6f 20 53  ance tweaks to S
11480 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 2e  QLiteDataReader.
11490 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
114a0 20 20 41 64 64 65 64 20 50 61 67 65 53 69 7a 65    Added PageSize
114b0 20 74 6f 20 74 68 65 20 53 51 4c 69 74 65 43 6f   to the SQLiteCo
114c0 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 42 75  nnectionStringBu
114d0 69 6c 64 65 72 20 61 6e 64 20 73 75 62 73 65 71  ilder and subseq
114e0 75 65 6e 74 6c 79 20 74 6f 20 74 68 65 20 0a 20  uently to the . 
114f0 20 20 20 20 20 53 51 4c 69 74 65 43 6f 6e 6e 65       SQLiteConne
11500 63 74 69 6f 6e 0a 20 20 20 20 20 20 3c 4c 49 3e  ction.      <LI>
11510 0a 20 20 20 20 20 20 20 20 41 64 64 65 64 20 61  .        Added a
11520 20 50 52 41 47 4d 41 20 65 6e 63 6f 64 69 6e 67   PRAGMA encoding
11530 3d 58 58 58 20 65 78 65 63 75 74 69 6f 6e 20 73  =XXX execution s
11540 74 61 74 65 6d 65 6e 74 20 74 6f 20 74 68 65 20  tatement to the 
11550 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e  SQLiteConnection
11560 20 61 66 74 65 72 20 0a 20 20 20 20 20 20 20 20   after .        
11570 6f 70 65 6e 69 6e 67 20 61 20 63 6f 6e 6e 65 63  opening a connec
11580 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 4c 49  tion..      </LI
11590 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20  >.    </UL>.    
115a0 3c 50 3e 3c 42 3e 31 2e 30 2e 30 33 20 2d 20 46  <P><B>1.0.03 - F
115b0 65 62 20 32 33 2c 20 32 30 30 35 3c 2f 42 3e 0a  eb 23, 2005</B>.
115c0 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c      </P>.    <UL
115d0 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  >.      <LI>.   
115e0 20 20 20 46 69 78 65 64 20 75 70 20 53 51 4c 69     Fixed up SQLi
115f0 74 65 43 6f 6d 6d 61 6e 64 42 75 69 6c 64 65 72  teCommandBuilder
11600 20 74 6f 20 63 6f 72 72 65 63 74 20 69 6d 70 6c   to correct impl
11610 65 6d 65 6e 74 61 74 69 6f 6e 20 65 72 72 6f 72  ementation error
11620 73 2c 20 77 68 69 63 68 20 72 65 73 75 6c 74 65  s, which resulte
11630 64 20 0a 20 20 20 20 20 20 69 6e 20 61 6e 20 65  d .      in an e
11640 6e 6f 72 6d 6f 75 73 20 70 65 72 66 6f 72 6d 61  normous performa
11650 6e 63 65 20 62 6f 6f 73 74 20 69 6e 20 74 68 65  nce boost in the
11660 20 49 6e 73 65 72 74 4d 61 6e 79 20 74 65 73 74   InsertMany test
11670 2e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 20 31 30  .&nbsp;&nbsp; 10
11680 2c 30 30 30 20 72 6f 77 20 0a 20 20 20 20 20 20  ,000 row .      
11690 69 6e 73 65 72 74 20 74 68 61 74 20 65 78 65 63  insert that exec
116a0 75 74 65 64 20 69 6e 20 31 35 30 30 6d 73 20 6e  uted in 1500ms n
116b0 6f 77 20 65 78 65 63 75 74 65 73 20 69 6e 20 35  ow executes in 5
116c0 30 30 6d 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  00ms..      <LI>
116d0 0a 20 20 20 20 20 20 46 69 78 65 64 20 73 65 76  .      Fixed sev
116e0 65 72 61 6c 20 65 72 72 6f 72 73 20 69 6e 20 74  eral errors in t
116f0 68 65 20 53 51 4c 69 74 65 33 5f 55 54 46 31 36  he SQLite3_UTF16
11700 20 63 6c 61 73 73 2e 26 6e 62 73 70 3b 20 54 6f   class.&nbsp; To
11710 53 74 72 69 6e 67 28 29 20 77 61 73 20 77 6f 72  String() was wor
11720 6b 69 6e 67 20 0a 20 20 20 20 20 20 69 6e 63 6f  king .      inco
11730 72 72 65 63 74 6c 79 20 61 6e 64 20 74 68 65 20  rrectly and the 
11740 4f 70 65 6e 28 29 20 6d 65 74 68 6f 64 20 66 61  Open() method fa
11750 69 6c 65 64 20 74 6f 20 72 65 67 69 73 74 65 72  iled to register
11760 20 75 73 65 72 20 64 65 66 69 6e 65 64 20 66 75   user defined fu
11770 6e 63 74 69 6f 6e 73 20 61 6e 64 20 0a 20 20 20  nctions and .   
11780 20 20 20 63 6f 6c 6c 61 74 69 6f 6e 73 2e 0a 20     collations.. 
11790 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
117a0 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20 53  Fixed a bug in S
117b0 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e 43 6c 65  QLiteCommand.Cle
117c0 61 72 43 6f 6d 6d 61 6e 64 73 28 29 20 77 68 65  arCommands() whe
117d0 72 65 62 79 20 6f 6e 6c 79 20 74 68 65 20 66 69  reby only the fi
117e0 72 73 74 20 73 74 61 74 65 6d 65 6e 74 20 0a 20  rst statement . 
117f0 20 20 20 20 20 77 61 73 20 62 65 69 6e 67 20 70       was being p
11800 72 6f 70 65 72 6c 79 20 63 6c 65 61 6e 65 64 20  roperly cleaned 
11810 75 70 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  up..      <LI>. 
11820 20 20 20 20 20 46 69 78 65 64 20 61 20 62 75 67       Fixed a bug
11830 20 69 6e 20 53 51 4c 69 74 65 44 61 74 61 52 65   in SQLiteDataRe
11840 61 64 65 72 20 77 68 65 72 65 62 79 20 63 61 6c  ader whereby cal
11850 6c 69 6e 67 20 4e 65 78 74 52 65 73 75 6c 74 28  ling NextResult(
11860 29 20 77 6f 75 6c 64 20 6e 6f 74 20 70 72 6f 70  ) would not prop
11870 65 72 6c 79 20 0a 20 20 20 20 20 20 72 65 73 65  erly .      rese
11880 74 20 74 68 65 20 70 72 65 76 69 6f 75 73 6c 79  t the previously
11890 2d 65 78 65 63 75 74 65 64 20 63 6f 6d 6d 61 6e  -executed comman
118a0 64 20 69 6e 20 74 68 65 20 73 65 71 75 65 6e 63  d in the sequenc
118b0 65 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  e..      <LI>.  
118c0 20 20 20 20 20 20 41 64 64 65 64 20 61 6e 20 49        Added an I
118d0 6e 73 65 72 74 4d 61 6e 79 57 69 74 68 49 64 65  nsertManyWithIde
118e0 6e 74 69 74 79 46 65 74 63 68 20 74 65 73 74 2c  ntityFetch test,
118f0 20 77 68 69 63 68 20 61 70 70 65 6e 64 73 20 61   which appends a
11900 20 73 65 6c 65 63 74 20 63 6c 61 75 73 65 20 74   select clause t
11910 6f 20 0a 20 20 20 20 20 20 20 20 70 6f 70 75 6c  o .        popul
11920 61 74 65 20 74 68 65 20 49 44 20 6f 66 20 74 68  ate the ID of th
11930 65 20 6c 61 73 74 20 69 6e 73 65 72 74 65 64 20  e last inserted 
11940 72 6f 77 20 69 6e 74 6f 20 74 68 65 20 49 6e 73  row into the Ins
11950 65 72 74 43 6f 6d 6d 61 6e 64 2c 20 64 65 6d 6f  ertCommand, demo
11960 6e 73 74 72 61 74 69 6e 67 20 0a 20 20 20 20 20  nstrating .     
11970 20 20 20 41 44 4f 2e 4e 45 54 27 73 20 61 62 69     ADO.NET's abi
11980 6c 69 74 79 20 74 6f 20 61 75 74 6f 2d 66 65 74  lity to auto-fet
11990 63 68 20 69 64 65 6e 74 69 74 79 20 63 6f 6c 75  ch identity colu
119a0 6d 6e 73 20 6f 6e 20 69 6e 73 65 72 74 2e 0a 20  mns on insert.. 
119b0 20 20 20 20 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c       </LI>.    <
119c0 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31  /UL>.    <P><B>1
119d0 2e 30 2e 30 32 20 2d 20 46 65 62 20 32 31 2c 20  .0.02 - Feb 21, 
119e0 32 30 30 35 3c 2f 42 3e 3c 2f 50 3e 0a 20 20 20  2005</B></P>.   
119f0 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e   <UL>.      <LI>
11a00 0a 20 20 20 20 20 20 54 77 65 61 6b 73 20 74 6f  .      Tweaks to
11a10 20 74 68 65 20 78 78 78 5f 69 6e 74 65 72 6f 70   the xxx_interop
11a20 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20   functions that 
11a30 72 65 74 75 72 6e 20 63 68 61 72 20 2a 27 73 2c  return char *'s,
11a40 20 73 6f 20 74 68 65 79 20 61 6c 73 6f 20 72 65   so they also re
11a50 74 75 72 6e 20 0a 20 20 20 20 20 20 74 68 65 20  turn .      the 
11a60 6c 65 6e 67 74 68 2e 26 6e 62 73 70 3b 20 53 61  length.&nbsp; Sa
11a70 76 65 73 20 61 6e 20 69 6e 74 65 72 6f 70 20 63  ves an interop c
11a80 61 6c 6c 20 74 6f 20 67 65 74 20 74 68 65 20 55  all to get the U
11a90 54 46 2d 38 20 73 74 72 69 6e 67 20 6c 65 6e 67  TF-8 string leng
11aa0 74 68 20 64 75 72 69 6e 67 20 0a 20 20 20 20 20  th during .     
11ab0 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74 6f 20 61   conversion to a
11ac0 20 2e 4e 45 54 20 73 74 72 69 6e 67 2e 0a 20 20   .NET string..  
11ad0 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 52      <LI>.      R
11ae0 65 77 6f 72 6b 65 64 20 74 68 65 20 77 68 6f 6c  eworked the whol
11af0 65 20 69 6e 74 65 72 6f 70 2e 63 20 74 68 69 6e  e interop.c thin
11b00 67 20 69 6e 74 6f 20 69 6e 74 65 72 6f 70 2e 68  g into interop.h
11b10 20 61 6e 64 20 72 65 64 75 63 65 64 20 74 68 65   and reduced the
11b20 20 63 6f 64 65 20 72 65 71 75 69 72 65 64 20 0a   code required .
11b30 20 20 20 20 20 20 74 6f 20 6d 65 72 67 65 20 74        to merge t
11b40 68 65 20 6d 61 69 6e 20 73 71 6c 69 74 65 33 20  he main sqlite3 
11b50 63 6f 64 65 62 61 73 65 2e 0a 20 20 20 20 20 20  codebase..      
11b60 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 41 64 64  <LI>.        Add
11b70 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75  ed support for u
11b80 73 65 72 2d 64 65 66 69 6e 65 64 20 63 6f 6c 6c  ser-defined coll
11b90 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f  ations..      </
11ba0 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20  LI>.    </UL>.  
11bb0 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a  </body>.</html>.