System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 1fb3c79f57060a8682aa6c30bb0e6ae193295e68:


0000: 3c 21 44 4f 43 54 59 50 45 20 48 54 4d 4c 20 50  <!DOCTYPE HTML P
0010: 55 42 4c 49 43 20 22 2d 2f 2f 57 33 43 2f 2f 44  UBLIC "-//W3C//D
0020: 54 44 20 48 54 4d 4c 20 34 2e 30 31 20 54 72 61  TD HTML 4.01 Tra
0030: 6e 73 69 74 69 6f 6e 61 6c 2f 2f 45 4e 22 3e 0a  nsitional//EN">.
0040: 3c 68 74 6d 6c 3e 0a 20 20 3c 68 65 61 64 3e 0a  <html>.  <head>.
0050: 20 20 20 20 3c 74 69 74 6c 65 3e 3c 2f 74 69 74      <title></tit
0060: 6c 65 3e 0a 20 20 3c 2f 68 65 61 64 3e 0a 20 20  le>.  </head>.  
0070: 3c 62 6f 64 79 3e 0a 20 20 20 20 41 44 4f 2e 4e  <body>.    ADO.N
0080: 45 54 20 32 2e 30 20 53 51 4c 69 74 65 20 44 61  ET 2.0 SQLite Da
0090: 74 61 20 50 72 6f 76 69 64 65 72 3c 62 72 3e 0a  ta Provider<br>.
00a0: 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 30 2e      Version 1.0.
00b0: 31 38 2d 20 53 65 70 20 31 2c 20 32 30 30 35 3c  18- Sep 1, 2005<
00c0: 62 72 3e 0a 20 20 20 20 49 6e 74 65 72 6f 70 20  br>.    Interop 
00d0: 75 73 69 6e 67 20 53 51 4c 69 74 65 20 33 2e 32  using SQLite 3.2
00e0: 2e 35 3c 62 72 3e 0a 20 20 20 20 57 72 69 74 74  .5<br>.    Writt
00f0: 65 6e 20 62 79 20 52 6f 62 65 72 74 20 53 69 6d  en by Robert Sim
0100: 70 73 6f 6e 20 28 3c 61 20 68 72 65 66 3d 22 6d  pson (<a href="m
0110: 61 69 6c 74 6f 3a 72 6f 62 65 72 74 40 62 6c 61  ailto:robert@bla
0120: 63 6b 63 61 73 74 6c 65 73 6f 66 74 2e 63 6f 6d  ckcastlesoft.com
0130: 22 3e 72 6f 62 65 72 74 40 62 6c 61 63 6b 63 61  ">robert@blackca
0140: 73 74 6c 65 73 6f 66 74 2e 63 6f 6d 3c 2f 61 3e  stlesoft.com</a>
0150: 29 3c 62 72 3e 0a 20 20 20 20 52 65 6c 65 61 73  )<br>.    Releas
0160: 65 64 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63  ed to the public
0170: 20 64 6f 6d 61 69 6e 2c 20 75 73 65 20 61 74 20   domain, use at 
0180: 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 21 3c 62  your own risk!<b
0190: 72 3e 0a 20 20 20 20 3c 62 72 3e 0a 20 20 20 20  r>.    <br>.    
01a0: 54 68 69 73 20 70 72 6f 76 69 64 65 72 20 77 61  This provider wa
01b0: 73 20 77 72 69 74 74 65 6e 20 61 6e 64 20 74 65  s written and te
01c0: 73 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 56  sted using the V
01d0: 69 73 75 61 6c 20 53 74 75 64 69 6f 20 32 30 30  isual Studio 200
01e0: 35 20 42 65 74 61 20 32 20 0a 20 20 20 20 72 65  5 Beta 2 .    re
01f0: 6c 65 61 73 65 2e 3c 62 72 3e 0a 20 20 20 20 3c  lease.<br>.    <
0200: 62 72 3e 0a 20 20 20 20 54 68 65 20 6c 61 74 65  br>.    The late
0210: 73 74 20 76 65 72 73 69 6f 6e 20 63 61 6e 20 62  st version can b
0220: 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 3c 61 20  e downloaded <a 
0230: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 73 6f 75  href="http://sou
0240: 72 63 65 66 6f 72 67 65 2e 6e 65 74 2f 70 72 6f  rceforge.net/pro
0250: 6a 65 63 74 73 2f 73 71 6c 69 74 65 2d 64 6f 74  jects/sqlite-dot
0260: 6e 65 74 32 22 3e 0a 20 20 20 20 20 20 68 65 72  net2">.      her
0270: 65 3c 2f 61 3e 0a 20 20 20 20 3c 62 72 3e 0a 20  e</a>.    <br>. 
0280: 20 20 20 3c 62 72 3e 0a 20 20 20 20 3c 62 3e 3c     <br>.    <b><
0290: 2f 62 3e 0a 20 20 20 20 3c 68 32 3e 0a 20 20 20  /b>.    <h2>.   
02a0: 20 20 20 3c 62 3e 46 65 61 74 75 72 65 73 3a 3c     <b>Features:<
02b0: 2f 62 3e 3c 62 72 3e 0a 20 20 20 20 3c 2f 68 32  /b><br>.    </h2
02c0: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
02d0: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53 75 70 70   <LI>.      Supp
02e0: 6f 72 74 73 26 6e 62 73 70 3b 74 68 65 20 46 75  orts&nbsp;the Fu
02f0: 6c 6c 20 61 6e 64 20 43 6f 6d 70 61 63 74 20 2e  ll and Compact .
0300: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 2e 0a 20  NET Framework.. 
0310: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
0320: 4f 6e 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46  On the Compact F
0330: 72 61 6d 65 77 6f 72 6b 2c 20 69 74 20 69 73 20  ramework, it is 
0340: 66 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 20  faster than the 
0350: 6e 65 77 6c 79 2d 69 6e 74 72 6f 64 75 63 65 64  newly-introduced
0360: 20 53 71 6c 20 53 65 72 76 65 72 20 0a 20 20 20   Sql Server .   
0370: 20 20 20 4d 6f 62 69 6c 65 2c 20 6f 66 74 65 6e     Mobile, often
0380: 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 78 20 66   more than 10x f
0390: 61 73 74 65 72 20 61 74 20 69 6e 73 65 72 74 73  aster at inserts
03a0: 2f 75 70 64 61 74 65 73 2e 26 6e 62 73 70 3b 20  /updates.&nbsp; 
03b0: 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 73  SQLite databases
03c0: 20 0a 20 20 20 20 20 20 61 72 65 20 61 6c 73 6f   .      are also
03d0: 20 61 20 66 72 61 63 74 69 6f 6e 20 6f 66 20 74   a fraction of t
03e0: 68 65 20 73 69 7a 65 20 6f 66 20 53 71 6c 20 4d  he size of Sql M
03f0: 6f 62 69 6c 65 20 64 61 74 61 62 61 73 65 73 2e  obile databases.
0400: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
0410: 20 20 46 75 6c 6c 20 56 69 73 75 61 6c 20 53 74    Full Visual St
0420: 75 64 69 6f 20 32 30 30 35 20 44 65 73 69 67 6e  udio 2005 Design
0430: 2d 54 69 6d 65 20 53 75 70 70 6f 72 74 2e 26 6e  -Time Support.&n
0440: 62 73 70 3b 20 59 6f 75 20 63 61 6e 20 61 64 64  bsp; You can add
0450: 20 61 20 53 51 4c 69 74 65 20 0a 20 20 20 20 20   a SQLite .     
0460: 20 64 61 74 61 62 61 73 65 20 74 6f 20 74 68 65   database to the
0470: 20 53 65 72 76 65 72 73 20 6c 69 73 74 2c 20 64   Servers list, d
0480: 65 73 69 67 6e 20 71 75 65 72 69 65 73 20 77 69  esign queries wi
0490: 74 68 20 74 68 65 20 51 75 65 72 79 20 44 65 73  th the Query Des
04a0: 69 67 6e 65 72 2c 20 0a 20 20 20 20 20 20 64 72  igner, .      dr
04b0: 61 67 2d 61 6e 64 2d 64 72 6f 70 20 74 61 62 6c  ag-and-drop tabl
04c0: 65 73 20 6f 6e 74 6f 20 61 20 54 79 70 65 64 20  es onto a Typed 
04d0: 44 61 74 61 53 65 74 2c 20 65 74 63 2e 0a 20 20  DataSet, etc..  
04e0: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53      <LI>.      S
04f0: 69 6e 67 6c 65 20 66 69 6c 65 20 72 65 64 69 73  ingle file redis
0500: 74 72 69 62 75 74 61 62 6c 65 20 66 6f 72 20 74  tributable for t
0510: 68 65 20 66 75 6c 6c 20 2e 6e 65 74 20 66 72 61  he full .net fra
0520: 6d 65 77 6f 72 6b 20 28 43 6f 6d 70 61 63 74 20  mework (Compact 
0530: 46 72 61 6d 65 77 6f 72 6b 20 0a 20 20 20 20 20  Framework .     
0540: 20 72 65 71 75 69 72 65 73 20 32 20 62 69 6e 61   requires 2 bina
0550: 72 69 65 73 29 2e 26 6e 62 73 70 3b 20 54 68 65  ries).&nbsp; The
0560: 20 63 6f 72 65 20 73 71 6c 69 74 65 33 20 63 6f   core sqlite3 co
0570: 64 65 62 61 73 65 20 61 6e 64 20 74 68 65 20 41  debase and the A
0580: 44 4f 2e 4e 45 54 20 77 72 61 70 70 65 72 20 0a  DO.NET wrapper .
0590: 20 20 20 20 20 20 61 72 65 20 63 6f 6d 62 69 6e        are combin
05a0: 65 64 20 69 6e 74 6f 20 6f 6e 65 20 6d 75 6c 74  ed into one mult
05b0: 69 2d 6d 6f 64 75 6c 65 20 61 73 73 65 6d 62 6c  i-module assembl
05c0: 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  y..      <LI>.  
05d0: 20 20 20 20 4e 61 74 69 76 65 20 36 34 2d 62 69      Native 64-bi
05e0: 74 20 6d 75 6c 74 69 2d 6d 6f 64 75 6c 65 20 61  t multi-module a
05f0: 73 73 65 6d 62 6c 69 65 73 20 66 6f 72 20 49 74  ssemblies for It
0600: 61 6e 69 75 6d 20 61 6e 64 20 58 36 34 20 70 72  anium and X64 pr
0610: 6f 63 65 73 73 6f 72 73 2e 0a 20 20 20 20 20 20  ocessors..      
0620: 3c 4c 49 3e 0a 20 20 20 20 20 20 44 62 50 72 6f  <LI>.      DbPro
0630: 76 69 64 65 72 46 61 63 74 6f 72 79 20 73 75 70  viderFactory sup
0640: 70 6f 72 74 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  port..      <LI>
0650: 0a 20 20 20 20 20 20 20 20 46 75 6c 6c 20 73 75  .        Full su
0660: 70 70 6f 72 74 20 66 6f 72 20 41 54 54 41 43 48  pport for ATTACH
0670: 27 65 64 20 64 61 74 61 62 61 73 65 73 2e 26 6e  'ed databases.&n
0680: 62 73 70 3b 20 45 78 70 6f 73 65 64 20 61 73 20  bsp; Exposed as 
0690: 3c 49 3e 43 61 74 61 6c 6f 67 73 3c 2f 49 3e 0a  <I>Catalogs</I>.
06a0: 20 20 20 20 20 20 69 6e 20 74 68 65 20 73 63 68        in the sch
06b0: 65 6d 61 2e 26 6e 62 73 70 3b 20 57 68 65 6e 20  ema.&nbsp; When 
06c0: 63 6c 6f 6e 69 6e 67 20 61 20 63 6f 6e 6e 65 63  cloning a connec
06d0: 74 69 6f 6e 2c 20 61 6c 6c 20 61 74 74 61 63 68  tion, all attach
06e0: 65 64 20 64 61 74 61 62 61 73 65 73 20 61 72 65  ed databases are
06f0: 20 0a 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69   .      automati
0700: 63 61 6c 6c 79 20 72 65 2d 61 74 74 61 63 68 65  cally re-attache
0710: 64 20 74 6f 20 74 68 65 20 6e 65 77 20 63 6f 6e  d to the new con
0720: 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c  nection..      <
0730: 4c 49 3e 0a 20 20 20 20 20 20 20 20 44 62 43 6f  LI>.        DbCo
0740: 6e 6e 65 63 74 69 6f 6e 2e 47 65 74 53 63 68 65  nnection.GetSche
0750: 6d 61 28 2e 2e 2e 29 20 73 75 70 70 6f 72 74 20  ma(...) support 
0760: 69 6e 63 6c 75 64 65 73 20 74 68 65 20 3c 49 3e  includes the <I>
0770: 4d 65 74 61 44 61 74 61 43 6f 6c 6c 65 63 74 69  MetaDataCollecti
0780: 6f 6e 73 3c 2f 49 3e 2c 20 3c 49 3e 44 61 74 61  ons</I>, <I>Data
0790: 53 6f 75 72 63 65 49 6e 66 6f 72 6d 61 74 69 6f  SourceInformatio
07a0: 6e 3c 2f 49 3e 2c 0a 20 20 20 20 20 20 20 20 3c  n</I>,.        <
07b0: 49 3e 43 6f 6c 75 6d 6e 73 3c 2f 49 3e 2c 20 3c  I>Columns</I>, <
07c0: 49 3e 54 61 62 6c 65 73 3c 2f 49 3e 2c 20 3c 49  I>Tables</I>, <I
07d0: 3e 56 69 65 77 73 2c 20 56 69 65 77 43 6f 6c 75  >Views, ViewColu
07e0: 6d 6e 73 2c 20 3c 2f 49 3e 3c 49 3e 43 61 74 61  mns, </I><I>Cata
07f0: 6c 6f 67 73 2c 20 3c 2f 49 3e 3c 49 3e 49 6e 64  logs, </I><I>Ind
0800: 65 78 65 73 2c 20 0a 20 20 20 20 20 20 20 20 20  exes, .         
0810: 20 49 6e 64 65 78 43 6f 6c 75 6d 6e 73 20 3c 2f   IndexColumns </
0820: 49 3e 61 6e 64 20 3c 45 4d 3e 46 6f 72 65 69 67  I>and <EM>Foreig
0830: 6e 4b 65 79 73 3c 2f 45 4d 3e 0a 20 20 20 20 20  nKeys</EM>.     
0840: 20 6b 65 79 77 6f 72 64 73 2e 0a 20 20 20 20 20   keywords..     
0850: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 45 6e 68 61   <LI>.      Enha
0860: 6e 63 65 64 20 44 62 44 61 74 61 52 65 61 64 65  nced DbDataReade
0870: 72 2e 47 65 74 53 63 68 65 6d 61 54 61 62 6c 65  r.GetSchemaTable
0880: 28 29 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79  () functionality
0890: 20 72 65 74 75 72 6e 73 20 63 61 74 61 6c 6f 67   returns catalog
08a0: 2c 20 6e 61 6d 65 73 70 61 63 65 20 0a 20 20 20  , namespace .   
08b0: 20 20 20 61 6e 64 20 64 65 74 61 69 6c 65 64 20     and detailed 
08c0: 73 63 68 65 6d 61 20 69 6e 66 6f 72 6d 61 74 69  schema informati
08d0: 6f 6e 20 65 76 65 6e 20 66 6f 72 20 63 6f 6d 70  on even for comp
08e0: 6c 65 78 20 71 75 65 72 69 65 73 2e 0a 20 20 20  lex queries..   
08f0: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 4e 61     <LI>.      Na
0900: 6d 65 64 20 61 6e 64 20 75 6e 6e 61 6d 65 64 20  med and unnamed 
0910: 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 20 20  parameters..    
0920: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 75 6c    <LI>.      Ful
0930: 6c 20 55 54 46 2d 38 20 61 6e 64 20 55 54 46 2d  l UTF-8 and UTF-
0940: 31 36 20 73 75 70 70 6f 72 74 2c 20 65 61 63 68  16 support, each
0950: 20 77 69 74 68 20 6f 70 74 69 6d 69 7a 65 64 20   with optimized 
0960: 70 69 70 65 6c 69 6e 65 73 20 69 6e 74 6f 20 74  pipelines into t
0970: 68 65 20 6e 61 74 69 76 65 20 0a 20 20 20 20 20  he native .     
0980: 20 64 61 74 61 62 61 73 65 20 63 6f 72 65 2e 0a   database core..
0990: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
09a0: 20 4d 75 6c 74 69 70 6c 65 20 73 69 6d 75 6c 74   Multiple simult
09b0: 61 6e 65 6f 75 73 20 44 61 74 61 52 65 61 64 65  aneous DataReade
09c0: 72 73 20 28 6f 6e 65 20 44 61 74 61 52 65 61 64  rs (one DataRead
09d0: 65 72 20 70 65 72 20 43 6f 6d 6d 61 6e 64 20 68  er per Command h
09e0: 6f 77 65 76 65 72 29 2e 0a 20 20 20 20 20 20 3c  owever)..      <
09f0: 4c 49 3e 0a 20 20 20 20 20 20 46 75 6c 6c 20 73  LI>.      Full s
0a00: 75 70 70 6f 72 74 20 66 6f 72 20 75 73 65 72 2d  upport for user-
0a10: 64 65 66 69 6e 65 64 20 73 63 61 6c 61 72 20 61  defined scalar a
0a20: 6e 64 20 61 67 67 72 65 67 61 74 65 20 66 75 6e  nd aggregate fun
0a30: 63 74 69 6f 6e 73 2c 20 65 6e 63 61 70 73 75 6c  ctions, encapsul
0a40: 61 74 65 64 20 69 6e 74 6f 20 0a 20 20 20 20 20  ated into .     
0a50: 20 61 6e 20 65 61 73 79 2d 74 6f 2d 75 73 65 20   an easy-to-use 
0a60: 62 61 73 65 20 63 6c 61 73 73 20 69 6e 20 77 68  base class in wh
0a70: 69 63 68 20 6f 6e 6c 79 20 61 20 63 6f 75 70 6c  ich only a coupl
0a80: 65 20 6f 66 20 6f 76 65 72 72 69 64 65 73 20 61  e of overrides a
0a90: 72 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20  re necessary to 
0aa0: 0a 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74  .      implement
0ab0: 20 6e 65 77 20 53 51 4c 20 66 75 6e 63 74 69 6f   new SQL functio
0ac0: 6e 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  ns..      <LI>. 
0ad0: 20 20 20 20 20 46 75 6c 6c 20 73 75 70 70 6f 72       Full suppor
0ae0: 74 20 66 6f 72 20 75 73 65 72 2d 64 65 66 69 6e  t for user-defin
0af0: 65 64 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71  ed collating seq
0b00: 75 65 6e 63 65 73 2c 20 65 76 65 72 79 20 62 69  uences, every bi
0b10: 74 20 61 73 20 73 69 6d 70 6c 65 20 74 6f 20 0a  t as simple to .
0b20: 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 20        implement 
0b30: 61 73 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20  as user-defined 
0b40: 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 75 73  functions and us
0b50: 65 73 20 74 68 65 20 73 61 6d 65 20 62 61 73 65  es the same base
0b60: 20 63 6c 61 73 73 2e 0a 20 20 20 20 20 20 3c 4c   class..      <L
0b70: 49 3e 0a 20 20 20 20 20 20 43 72 65 61 74 65 20  I>.      Create 
0b80: 61 6e 64 20 65 6e 63 72 79 70 74 20 64 61 74 61  and encrypt data
0b90: 62 61 73 65 73 20 75 73 69 6e 67 20 57 69 6e 32  bases using Win2
0ba0: 4b 2b 20 45 6e 63 72 79 70 74 69 6e 67 20 46 69  K+ Encrypting Fi
0bb0: 6c 65 20 53 79 73 74 65 6d 20 28 45 46 53 29 2e  le System (EFS).
0bc0: 20 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73   .      Supports
0bd0: 20 63 72 65 61 74 69 6e 67 20 4e 54 46 53 20 63   creating NTFS c
0be0: 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 62 61  ompressed databa
0bf0: 73 65 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 20  se files..      
0c00: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 46 75 6c  <LI>.        Ful
0c10: 6c 20 73 6f 75 72 63 65 20 66 6f 72 20 74 68 65  l source for the
0c20: 20 65 6e 74 69 72 65 20 65 6e 67 69 6e 65 20 61   entire engine a
0c30: 6e 64 20 77 72 61 70 70 65 72 2e 26 6e 62 73 70  nd wrapper.&nbsp
0c40: 3b 20 4e 6f 20 63 6f 70 79 72 69 67 68 74 73 2e  ; No copyrights.
0c50: 26 6e 62 73 70 3b 20 0a 20 20 20 20 20 20 20 20  &nbsp; .        
0c60: 50 75 62 6c 69 63 20 44 6f 6d 61 69 6e 2e 26 6e  Public Domain.&n
0c70: 62 73 70 3b 20 31 30 30 25 20 66 72 65 65 2e 26  bsp; 100% free.&
0c80: 6e 62 73 70 3b 20 49 66 20 79 6f 75 20 77 61 6e  nbsp; If you wan
0c90: 74 20 74 6f 20 6b 6e 6f 77 20 69 66 20 79 6f 75  t to know if you
0ca0: 20 63 61 6e 20 75 73 65 20 69 74 20 69 6e 20 0a   can use it in .
0cb0: 20 20 20 20 20 20 20 20 79 6f 75 72 20 63 6f 6d          your com
0cc0: 6d 65 72 63 69 61 6c 20 70 72 6f 6a 65 63 74 2c  mercial project,
0cd0: 20 70 6c 65 61 73 65 20 72 65 61 64 20 74 68 65   please read the
0ce0: 20 70 72 65 76 69 6f 75 73 20 73 65 6e 74 65 6e   previous senten
0cf0: 63 65 20 61 67 61 69 6e 20 2d 2d 20 6f 6e 6c 79  ce again -- only
0d00: 20 73 6c 6f 77 65 72 20 0a 20 20 20 20 20 20 20   slower .       
0d10: 20 61 6e 64 20 73 6f 75 6e 64 20 6f 75 74 20 74   and sound out t
0d20: 68 65 20 77 6f 72 64 73 20 74 68 69 73 20 74 69  he words this ti
0d30: 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a  me..      </LI>.
0d40: 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 73      </UL>.    <s
0d50: 74 72 6f 6e 67 3e 3c 2f 73 74 72 6f 6e 67 3e 0a  trong></strong>.
0d60: 20 20 20 20 3c 68 32 3e 0a 20 20 20 20 20 20 3c      <h2>.      <
0d70: 73 74 72 6f 6e 67 3e 44 65 73 69 67 6e 2d 54 69  strong>Design-Ti
0d80: 6d 65 20 53 75 70 70 6f 72 74 20 28 6e 65 77 20  me Support (new 
0d90: 61 73 20 6f 66 20 31 2e 30 2e 31 34 29 3c 2f 73  as of 1.0.14)</s
0da0: 74 72 6f 6e 67 3e 3c 2f 68 32 3e 0a 20 20 20 20  trong></h2>.    
0db0: 3c 50 3e 55 6e 74 69 6c 20 61 6e 20 69 6e 73 74  <P>Until an inst
0dc0: 61 6c 6c 65 72 20 69 73 20 63 72 65 61 74 65 64  aller is created
0dd0: 2c 20 74 68 65 20 73 74 65 70 73 20 66 6f 72 20  , the steps for 
0de0: 72 65 67 69 73 74 65 72 69 6e 67 20 74 68 65 20  registering the 
0df0: 70 72 6f 76 69 64 65 72 20 66 6f 72 20 0a 20 20  provider for .  
0e00: 20 20 20 20 64 65 73 69 67 6e 2d 74 69 6d 65 20      design-time 
0e10: 73 75 70 70 6f 72 74 20 61 72 65 3a 3c 2f 50 3e  support are:</P>
0e20: 0a 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 20 20 20  .    <OL>.      
0e30: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 52 65 67  <LI>.        Reg
0e40: 69 73 74 65 72 20 74 68 65 20 3c 53 54 52 4f 4e  ister the <STRON
0e50: 47 3e 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  G>System.Data.SQ
0e60: 4c 69 74 65 2e 44 4c 4c 3c 2f 53 54 52 4f 4e 47  Lite.DLL</STRONG
0e70: 3e 20 69 6e 20 74 68 65 20 47 6c 6f 62 61 6c 20  > in the Global 
0e80: 41 73 73 65 6d 62 6c 79 20 0a 20 20 20 20 20 20  Assembly .      
0e90: 20 20 43 61 63 68 65 20 65 69 74 68 65 72 20 62    Cache either b
0ea0: 79 20 75 73 69 6e 67 20 74 68 65 20 2e 4e 65 74  y using the .Net
0eb0: 20 32 2e 30 20 76 65 72 73 69 6f 6e 20 6f 66 20   2.0 version of 
0ec0: 47 41 43 55 54 49 4c 2c 20 6f 72 20 74 68 72 6f  GACUTIL, or thro
0ed0: 75 67 68 20 3c 53 54 52 4f 4e 47 3e 41 64 6d 69  ugh <STRONG>Admi
0ee0: 6e 69 73 74 72 61 74 69 76 65 20 0a 20 20 20 20  nistrative .    
0ef0: 20 20 20 20 20 20 54 6f 6f 6c 73 20 2d 26 67 74        Tools -&gt
0f00: 3b 20 4d 69 63 72 6f 73 6f 66 74 20 2e 4e 45 54  ; Microsoft .NET
0f10: 20 46 72 61 6d 65 77 6f 72 6b 20 32 2e 30 20 43   Framework 2.0 C
0f20: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 3c 2f 53 54  onfiguration</ST
0f30: 52 4f 4e 47 3e 2e 0a 20 20 20 20 20 20 3c 4c 49  RONG>..      <LI
0f40: 3e 0a 20 20 20 20 20 20 20 20 54 68 72 6f 75 67  >.        Throug
0f50: 68 20 61 20 63 6f 6d 6d 61 6e 64 2d 70 72 6f 6d  h a command-prom
0f60: 70 74 20 6f 72 20 57 69 6e 64 6f 77 73 20 45 78  pt or Windows Ex
0f70: 70 6c 6f 72 65 72 2c 20 6e 61 76 69 67 61 74 65  plorer, navigate
0f80: 20 74 6f 20 74 68 65 20 3c 53 54 52 4f 4e 47 3e   to the <STRONG>
0f90: 53 51 4c 69 74 65 2e 4e 45 54 5c 62 69 6e 5c 44  SQLite.NET\bin\D
0fa0: 65 73 69 67 6e 65 72 3c 2f 53 54 52 4f 4e 47 3e  esigner</STRONG>
0fb0: 0a 20 20 20 20 20 20 20 20 66 6f 6c 64 65 72 20  .        folder 
0fc0: 61 6e 64 20 65 78 65 63 75 74 65 20 74 68 65 20  and execute the 
0fd0: 3c 53 54 52 4f 4e 47 3e 49 4e 53 54 41 4c 4c 2e  <STRONG>INSTALL.
0fe0: 43 4d 44 3c 2f 53 54 52 4f 4e 47 3e 0a 20 20 20  CMD</STRONG>.   
0ff0: 20 20 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c     file..      <
1000: 4c 49 3e 0a 20 20 20 20 20 20 20 20 3c 53 54 52  LI>.        <STR
1010: 4f 4e 47 3e 4e 4f 54 45 3a 26 6e 62 73 70 3b 20  ONG>NOTE:&nbsp; 
1020: 45 6e 61 62 6c 69 6e 67 20 44 65 73 69 67 6e 2d  Enabling Design-
1030: 54 69 6d 65 20 73 75 70 70 6f 72 74 20 66 6f 72  Time support for
1040: 20 53 51 4c 69 74 65 20 63 61 75 73 65 73 20 74   SQLite causes t
1050: 68 65 20 53 51 4c 69 74 65 20 0a 20 20 20 20 20  he SQLite .     
1060: 20 20 20 20 20 50 72 6f 76 69 64 65 72 20 74 6f       Provider to
1070: 20 62 65 20 72 65 67 69 73 74 65 72 65 64 20 69   be registered i
1080: 6e 20 79 6f 75 72 20 6d 61 63 68 69 6e 65 2e 63  n your machine.c
1090: 6f 6e 66 69 67 2e 3c 2f 53 54 52 4f 4e 47 3e 26  onfig.</STRONG>&
10a0: 6e 62 73 70 3b 26 6e 62 73 70 3b 20 49 66 20 79  nbsp;&nbsp; If y
10b0: 6f 75 20 0a 20 20 20 20 20 20 20 20 68 61 76 65  ou .        have
10c0: 20 61 6c 72 65 61 64 79 20 61 64 64 65 64 20 74   already added t
10d0: 68 65 20 58 4d 4c 20 73 68 6f 77 6e 20 62 65 6c  he XML shown bel
10e0: 6f 77 20 74 6f 20 79 6f 75 72 20 3c 53 54 52 4f  ow to your <STRO
10f0: 4e 47 3e 61 70 70 2e 63 6f 6e 66 69 67 3c 2f 53  NG>app.config</S
1100: 54 52 4f 4e 47 3e 20 69 6e 20 0a 20 20 20 20 20  TRONG> in .     
1110: 20 20 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74     your applicat
1120: 69 6f 6e 73 2c 20 3c 53 54 52 4f 4e 47 3e 79 6f  ions, <STRONG>yo
1130: 75 20 6e 65 65 64 20 74 6f 20 72 65 6d 6f 76 65  u need to remove
1140: 20 69 74 2e 3c 2f 53 54 52 4f 4e 47 3e 26 6e 62   it.</STRONG>&nb
1150: 73 70 3b 20 49 66 20 79 6f 75 20 0a 20 20 20 20  sp; If you .    
1160: 20 20 64 6f 6e 27 74 2c 20 69 74 20 77 69 6c 6c    don't, it will
1170: 20 63 61 75 73 65 20 61 20 75 6e 69 71 75 65 20   cause a unique 
1180: 63 6f 6e 73 74 72 61 69 6e 74 20 76 69 6f 6c 61  constraint viola
1190: 74 69 6f 6e 20 77 68 65 6e 20 79 6f 75 20 72 75  tion when you ru
11a0: 6e 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e 0a  n your program..
11b0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
11c0: 20 20 20 44 65 6c 65 74 65 20 74 68 65 20 3c 53     Delete the <S
11d0: 54 52 4f 4e 47 3e 74 65 73 74 2e 65 78 65 2e 63  TRONG>test.exe.c
11e0: 6f 6e 66 69 67 3c 2f 53 54 52 4f 4e 47 3e 20 66  onfig</STRONG> f
11f0: 69 6c 65 20 66 72 6f 6d 20 74 68 65 20 3c 53 54  ile from the <ST
1200: 52 4f 4e 47 3e 53 51 4c 69 74 65 2e 4e 45 54 5c  RONG>SQLite.NET\
1210: 62 69 6e 3c 2f 53 54 52 4f 4e 47 3e 0a 20 20 20  bin</STRONG>.   
1220: 20 20 20 20 20 66 6f 6c 64 65 72 20 2d 2d 20 69       folder -- i
1230: 74 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e  t is no longer n
1240: 65 63 65 73 73 61 72 79 2e 3c 2f 4c 49 3e 3c 2f  ecessary.</LI></
1250: 4f 4c 3e 0a 20 20 20 20 3c 48 32 3e 3c 53 54 52  OL>.    <H2><STR
1260: 4f 4e 47 3e 44 62 46 61 63 74 6f 72 79 20 53 75  ONG>DbFactory Su
1270: 70 70 6f 72 74 20 28 4e 6f 6e 2d 43 6f 6d 70 61  pport (Non-Compa
1280: 63 74 20 46 72 61 6d 65 77 6f 72 6b 29 3c 2f 53  ct Framework)</S
1290: 54 52 4f 4e 47 3e 3c 2f 48 32 3e 0a 20 20 20 20  TRONG></H2>.    
12a0: 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20  In order to use 
12b0: 74 68 65 20 53 51 4c 69 74 65 46 61 63 74 6f 72  the SQLiteFactor
12c0: 79 20 61 6e 64 20 68 61 76 65 20 74 68 65 20 53  y and have the S
12d0: 51 4c 69 74 65 20 64 61 74 61 20 70 72 6f 76 69  QLite data provi
12e0: 64 65 72 20 65 6e 75 6d 65 72 61 74 65 64 20 0a  der enumerated .
12f0: 20 20 20 20 69 6e 20 74 68 65 20 44 62 50 72 6f      in the DbPro
1300: 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 20 6d  viderFactories m
1310: 65 74 68 6f 64 73 2c 20 79 6f 75 20 6d 75 73 74  ethods, you must
1320: 20 61 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69   add the followi
1330: 6e 67 20 73 65 67 6d 65 6e 74 20 69 6e 74 6f 20  ng segment into 
1340: 0a 20 20 20 20 65 69 74 68 65 72 20 79 6f 75 72  .    either your
1350: 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 73 20 61   application's a
1360: 70 70 2e 63 6f 6e 66 69 67 20 6f 72 20 74 68 65  pp.config or the
1370: 20 73 79 73 74 65 6d 27 73 20 6d 61 63 68 69 6e   system's machin
1380: 65 2e 63 6f 6e 66 69 67 20 6c 6f 63 61 74 65 64  e.config located
1390: 20 69 6e 20 0a 20 20 20 20 74 68 65 20 25 53 79   in .    the %Sy
13a0: 73 74 65 6d 52 6f 6f 74 25 5c 4d 69 63 72 6f 73  stemRoot%\Micros
13b0: 6f 66 74 2e 4e 65 74 5c 46 72 61 6d 65 77 6f 72  oft.Net\Framewor
13c0: 6b 5c 76 32 2e 78 78 78 78 5c 43 6f 6e 66 69 67  k\v2.xxxx\Config
13d0: 20 66 6f 6c 64 65 72 3a 3c 62 72 3e 0a 20 20 20   folder:<br>.   
13e0: 20 3c 62 72 3e 0a 20 20 20 20 3c 70 72 65 3e 0a   <br>.    <pre>.
13f0: 26 6c 74 3b 63 6f 6e 66 69 67 75 72 61 74 69 6f  &lt;configuratio
1400: 6e 26 67 74 3b 0a 20 20 26 6c 74 3b 73 79 73 74  n&gt;.  &lt;syst
1410: 65 6d 2e 64 61 74 61 26 67 74 3b 0a 20 20 20 20  em.data&gt;.    
1420: 26 6c 74 3b 44 62 50 72 6f 76 69 64 65 72 46 61  &lt;DbProviderFa
1430: 63 74 6f 72 69 65 73 26 67 74 3b 0a 20 20 20 20  ctories&gt;.    
1440: 20 20 26 6c 74 3b 61 64 64 20 6e 61 6d 65 3d 22    &lt;add name="
1450: 53 51 4c 69 74 65 20 44 61 74 61 20 50 72 6f 76  SQLite Data Prov
1460: 69 64 65 72 22 20 69 6e 76 61 72 69 61 6e 74 3d  ider" invariant=
1470: 22 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  "System.Data.SQL
1480: 69 74 65 22 20 64 65 73 63 72 69 70 74 69 6f 6e  ite" description
1490: 3d 22 2e 4e 65 74 20 46 72 61 6d 65 77 6f 72 6b  =".Net Framework
14a0: 20 44 61 74 61 20 50 72 6f 76 69 64 65 72 20 66   Data Provider f
14b0: 6f 72 20 53 51 4c 69 74 65 22 3c 42 52 20 3e 20  or SQLite"<BR > 
14c0: 74 79 70 65 3d 22 53 79 73 74 65 6d 2e 44 61 74  type="System.Dat
14d0: 61 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74 65 46  a.SQLite.SQLiteF
14e0: 61 63 74 6f 72 79 2c 20 53 79 73 74 65 6d 2e 44  actory, System.D
14f0: 61 74 61 2e 53 51 4c 69 74 65 2c 20 56 65 72 73  ata.SQLite, Vers
1500: 69 6f 6e 3d 31 2e 30 2e 31 38 2e 30 2c 20 43 75  ion=1.0.18.0, Cu
1510: 6c 74 75 72 65 3d 6e 65 75 74 72 61 6c 2c 20 50  lture=neutral, P
1520: 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 64 62  ublicKeyToken=db
1530: 39 33 37 62 63 32 64 34 34 66 66 31 33 39 22 20  937bc2d44ff139" 
1540: 2f 26 67 74 3b 0a 20 20 20 20 26 6c 74 3b 2f 44  /&gt;.    &lt;/D
1550: 62 50 72 6f 76 69 64 65 72 46 61 63 74 6f 72 69  bProviderFactori
1560: 65 73 26 67 74 3b 0a 20 20 26 6c 74 3b 2f 73 79  es&gt;.  &lt;/sy
1570: 73 74 65 6d 2e 64 61 74 61 26 67 74 3b 0a 26 6c  stem.data&gt;.&l
1580: 74 3b 2f 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  t;/configuration
1590: 26 67 74 3b 0a 3c 2f 70 72 65 3e 0a 20 20 20 20  &gt;.</pre>.    
15a0: 3c 50 3e 49 66 20 79 6f 75 20 63 68 6f 6f 73 65  <P>If you choose
15b0: 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 20   to install the 
15c0: 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20 44 65  Visual Studio De
15d0: 73 69 67 6e 2d 54 69 6d 65 20 73 75 70 70 6f 72  sign-Time suppor
15e0: 74 20 66 6f 72 20 53 51 4c 69 74 65 2c 20 79 6f  t for SQLite, yo
15f0: 75 20 0a 20 20 20 20 20 20 6d 75 73 74 20 6e 6f  u .      must no
1600: 74 20 61 64 64 20 74 68 65 20 61 62 6f 76 65 20  t add the above 
1610: 58 4d 4c 20 74 6f 20 79 6f 75 72 20 61 70 70 2e  XML to your app.
1620: 63 6f 6e 66 69 67 2e 26 6e 62 73 70 3b 20 54 68  config.&nbsp; Th
1630: 65 20 69 6e 73 74 61 6c 6c 65 72 20 77 69 6c 6c  e installer will
1640: 20 68 61 76 65 20 0a 20 20 20 20 20 20 61 6c 72   have .      alr
1650: 65 61 64 79 20 61 64 64 65 64 20 69 74 20 74 6f  eady added it to
1660: 20 79 6f 75 72 20 6d 61 63 68 69 6e 65 27 73 20   your machine's 
1670: 6d 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67 20 66  machine.config f
1680: 69 6c 65 2e 3c 2f 50 3e 0a 20 20 20 20 3c 68 33  ile.</P>.    <h3
1690: 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c 69 6e  >.      Compilin
16a0: 67 20 66 6f 72 20 74 68 65 20 43 6f 6d 70 61 63  g for the Compac
16b0: 74 20 46 72 61 6d 65 77 6f 72 6b 3c 2f 68 33 3e  t Framework</h3>
16c0: 0a 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a  .    <p>.      J
16d0: 75 73 74 20 63 68 61 6e 67 65 20 74 68 65 20 74  ust change the t
16e0: 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 20 66  arget platform f
16f0: 72 6f 6d 20 57 69 6e 33 32 20 74 6f 20 43 6f 6d  rom Win32 to Com
1700: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 20 61  pact Framework a
1710: 6e 64 20 0a 20 20 20 20 20 20 72 65 63 6f 6d 70  nd .      recomp
1720: 69 6c 65 2e 26 6e 62 73 70 3b 20 3c 53 54 52 4f  ile.&nbsp; <STRO
1730: 4e 47 3e 54 68 65 20 43 6f 6d 70 61 63 74 20 46  NG>The Compact F
1740: 72 61 6d 65 77 6f 72 6b 20 68 61 73 20 6e 6f 20  ramework has no 
1750: 73 75 70 70 6f 72 74 20 66 6f 72 20 65 6e 75 6d  support for enum
1760: 65 72 61 74 69 6e 67 20 0a 20 20 20 20 20 20 20  erating .       
1770: 20 61 74 74 72 69 62 75 74 65 73 20 69 6e 20 61   attributes in a
1780: 6e 20 61 73 73 65 6d 62 6c 79 2c 20 74 68 65 72  n assembly, ther
1790: 65 66 6f 72 65 20 61 6c 6c 20 75 73 65 72 2d 64  efore all user-d
17a0: 65 66 69 6e 65 64 20 63 6f 6c 6c 61 74 69 6e 67  efined collating
17b0: 20 73 65 71 75 65 6e 63 65 73 20 61 6e 64 20 0a   sequences and .
17c0: 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e          function
17d0: 73 20 6d 75 73 74 20 62 65 20 65 78 70 6c 69 63  s must be explic
17e0: 69 74 6c 79 20 72 65 67 69 73 74 65 72 65 64 2e  itly registered.
17f0: 3c 2f 53 54 52 4f 4e 47 3e 26 6e 62 73 70 3b 20  </STRONG>&nbsp; 
1800: 53 65 65 20 74 68 65 20 3c 53 54 52 4f 4e 47 3e  See the <STRONG>
1810: 74 65 73 74 63 65 3c 2f 53 54 52 4f 4e 47 3e 0a  testce</STRONG>.
1820: 20 20 20 20 20 20 73 61 6d 70 6c 65 20 61 70 70        sample app
1830: 6c 69 63 61 74 69 6f 6e 20 66 6f 72 20 61 6e 20  lication for an 
1840: 65 78 61 6d 70 6c 65 20 6f 66 20 68 6f 77 20 74  example of how t
1850: 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65 67  o explicitly reg
1860: 69 73 74 65 72 20 75 73 65 72 2d 64 65 66 69 6e  ister user-defin
1870: 65 64 20 0a 20 20 20 20 20 20 63 6f 6c 6c 61 74  ed .      collat
1880: 69 6e 67 20 73 65 71 75 65 6e 63 65 73 20 61 6e  ing sequences an
1890: 64 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e  d functions.</p>
18a0: 0a 20 20 20 20 3c 50 3e 4d 61 6e 79 20 74 68 61  .    <P>Many tha
18b0: 6e 6b 73 20 74 6f 20 74 68 65 20 66 69 6e 65 20  nks to the fine 
18c0: 66 6f 6c 6b 73 20 61 74 20 3c 41 20 68 72 65 66  folks at <A href
18d0: 3d 22 68 74 74 70 3a 2f 2f 73 6f 75 72 63 65 66  ="http://sourcef
18e0: 6f 72 67 65 2e 6e 65 74 2f 70 72 6f 6a 65 63 74  orge.net/project
18f0: 73 2f 73 71 6c 69 74 65 2d 77 69 6e 63 65 22 3e  s/sqlite-wince">
1900: 0a 20 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f  .        http://
1910: 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 2f  sourceforge.net/
1920: 70 72 6f 6a 65 63 74 73 2f 73 71 6c 69 74 65 2d  projects/sqlite-
1930: 77 69 6e 63 65 3c 2f 41 3e 20 66 6f 72 20 74 68  wince</A> for th
1940: 65 20 57 69 6e 64 6f 77 73 20 43 45 20 63 6f 64  e Windows CE cod
1950: 65 21 3c 2f 50 3e 0a 20 20 20 20 3c 68 32 3e 0a  e!</P>.    <h2>.
1960: 20 20 20 20 20 20 3c 62 3e 3c 41 20 6e 61 6d 65        <b><A name
1970: 3d 22 72 65 64 69 73 74 22 3e 3c 2f 41 3e 44 69  ="redist"></A>Di
1980: 73 74 72 69 62 75 74 69 6e 67 20 54 68 65 20 53  stributing The S
1990: 51 4c 69 74 65 20 45 6e 67 69 6e 65 20 61 6e 64  QLite Engine and
19a0: 20 41 44 4f 2e 4e 45 54 20 41 73 73 65 6d 62 6c   ADO.NET Assembl
19b0: 79 3c 2f 62 3e 3c 2f 68 32 3e 0a 20 20 20 20 3c  y</b></h2>.    <
19c0: 50 3e 46 6f 72 20 57 69 6e 33 32 20 70 6c 61 74  P>For Win32 plat
19d0: 66 6f 72 6d 73 2c 20 6f 6e 6c 79 20 74 68 65 20  forms, only the 
19e0: 3c 53 54 52 4f 4e 47 3e 53 79 73 74 65 6d 2e 44  <STRONG>System.D
19f0: 61 74 61 2e 53 51 4c 69 74 65 2e 44 4c 4c 3c 2f  ata.SQLite.DLL</
1a00: 53 54 52 4f 4e 47 3e 20 66 69 6c 65 20 69 6e 20  STRONG> file in 
1a10: 0a 20 20 20 20 20 20 74 68 65 20 3c 53 54 52 4f  .      the <STRO
1a20: 4e 47 3e 62 69 6e 3c 2f 53 54 52 4f 4e 47 3e 20  NG>bin</STRONG> 
1a30: 66 6f 6c 64 65 72 20 73 68 6f 75 6c 64 20 62 65  folder should be
1a40: 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74   distributed wit
1a50: 68 20 79 6f 75 72 20 0a 20 20 20 20 20 20 61 70  h your .      ap
1a60: 70 6c 69 63 61 74 69 6f 6e 28 73 29 2e 26 6e 62  plication(s).&nb
1a70: 73 70 3b 20 54 68 69 73 20 44 4c 4c 20 63 6f 6e  sp; This DLL con
1a80: 74 61 69 6e 73 20 62 6f 74 68 20 74 68 65 20 6d  tains both the m
1a90: 61 6e 61 67 65 64 20 77 72 61 70 70 65 72 20 61  anaged wrapper a
1aa0: 6e 64 20 74 68 65 20 6e 61 74 69 76 65 20 0a 20  nd the native . 
1ab0: 20 20 20 20 20 53 51 4c 69 74 65 33 20 63 6f 64       SQLite3 cod
1ac0: 65 62 61 73 65 2e 3c 2f 50 3e 0a 20 20 20 20 3c  ebase.</P>.    <
1ad0: 50 3e 46 6f 72 20 43 6f 6d 70 61 63 74 20 46 72  P>For Compact Fr
1ae0: 61 6d 65 77 6f 72 6b 20 70 6c 61 74 66 6f 72 6d  amework platform
1af0: 73 2c 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74  s, your applicat
1b00: 69 6f 6e 20 73 68 6f 75 6c 64 20 72 65 66 65 72  ion should refer
1b10: 65 6e 63 65 20 74 68 65 20 3c 53 54 52 4f 4e 47  ence the <STRONG
1b20: 3e 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  >System.Data.SQL
1b30: 69 74 65 2e 44 4c 4c 3c 2f 53 54 52 4f 4e 47 3e  ite.DLL</STRONG>
1b40: 0a 20 20 20 20 20 20 66 69 6c 65 20 69 6e 20 74  .      file in t
1b50: 68 65 20 3c 53 54 52 4f 4e 47 3e 62 69 6e 5c 43  he <STRONG>bin\C
1b60: 6f 6d 70 61 63 74 46 72 61 6d 65 77 6f 72 6b 3c  ompactFramework<
1b70: 2f 53 54 52 4f 4e 47 3e 20 66 6f 6c 64 65 72 2e  /STRONG> folder.
1b80: 26 6e 62 73 70 3b 20 54 68 65 20 3c 53 54 52 4f  &nbsp; The <STRO
1b90: 4e 47 3e 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  NG>System.Data.S
1ba0: 51 4c 69 74 65 2e 44 4c 4c 3c 2f 53 54 52 4f 4e  QLite.DLL</STRON
1bb0: 47 3e 0a 20 20 20 20 20 20 61 6e 64 20 3c 53 54  G>.      and <ST
1bc0: 52 4f 4e 47 3e 53 51 4c 69 74 65 2e 49 6e 74 65  RONG>SQLite.Inte
1bd0: 72 6f 70 2e 44 4c 4c 3c 2f 53 54 52 4f 4e 47 3e  rop.DLL</STRONG>
1be0: 20 66 69 6c 65 73 20 66 72 6f 6d 20 74 68 65 20   files from the 
1bf0: 3c 53 54 52 4f 4e 47 3e 62 69 6e 5c 43 6f 6d 70  <STRONG>bin\Comp
1c00: 61 63 74 46 72 61 6d 65 77 6f 72 6b 3c 2f 53 54  actFramework</ST
1c10: 52 4f 4e 47 3e 0a 20 20 20 20 20 20 66 6f 6c 64  RONG>.      fold
1c20: 65 72 20 6d 75 73 74 20 62 65 20 64 69 73 74 72  er must be distr
1c30: 69 62 75 74 65 64 20 77 69 74 68 20 79 6f 75 72  ibuted with your
1c40: 20 61 70 70 6c 69 63 61 74 69 6f 6e 28 73 29 2e   application(s).
1c50: 26 6e 62 73 70 3b 20 54 68 65 79 20 63 6f 6e 74  &nbsp; They cont
1c60: 61 69 6e 20 74 68 65 20 0a 20 20 20 20 20 20 6d  ain the .      m
1c70: 61 6e 61 67 65 64 20 77 72 61 70 70 65 72 20 61  anaged wrapper a
1c80: 6e 64 20 74 68 65 20 6e 61 74 69 76 65 20 53 51  nd the native SQ
1c90: 4c 69 74 65 33 20 63 6f 64 65 62 61 73 65 20 72  Lite3 codebase r
1ca0: 65 73 70 65 63 74 69 76 65 6c 79 2e 26 6e 62 73  espectively.&nbs
1cb0: 70 3b 20 54 68 65 20 43 6f 6d 70 61 63 74 20 0a  p; The Compact .
1cc0: 20 20 20 20 20 20 46 72 61 6d 65 77 6f 72 6b 20        Framework 
1cd0: 64 6f 65 73 20 6e 6f 74 20 63 75 72 72 65 6e 74  does not current
1ce0: 6c 79 20 73 75 70 70 6f 72 74 20 6d 61 6e 61 67  ly support manag
1cf0: 65 64 20 43 2b 2b 2c 20 74 68 75 73 20 74 68 65  ed C++, thus the
1d00: 20 72 65 61 73 6f 6e 20 66 6f 72 20 74 77 6f 20   reason for two 
1d10: 0a 20 20 20 20 20 20 66 69 6c 65 73 2e 3c 2f 50  .      files.</P
1d20: 3e 0a 20 20 20 20 3c 48 32 3e 3c 42 3e 44 65 76  >.    <H2><B>Dev
1d30: 65 6c 6f 70 6d 65 6e 74 20 4e 6f 74 65 73 20 52  elopment Notes R
1d40: 65 67 61 72 64 69 6e 67 20 74 68 65 20 53 51 4c  egarding the SQL
1d50: 69 74 65 20 33 20 53 6f 75 72 63 65 20 43 6f 64  ite 3 Source Cod
1d60: 65 3c 2f 42 3e 3c 2f 48 32 3e 0a 20 20 20 20 3c  e</B></H2>.    <
1d70: 70 3e 3c 2f 70 3e 0a 20 20 20 20 3c 70 3e 0a 20  p></p>.    <p>. 
1d80: 20 20 20 20 20 53 74 65 70 73 20 66 6f 72 20 6d       Steps for m
1d90: 65 72 67 69 6e 67 20 74 68 65 20 73 71 6c 69 74  erging the sqlit
1da0: 65 33 20 63 6f 72 65 20 63 6f 64 65 62 61 73 65  e3 core codebase
1db0: 3a 3c 2f 70 3e 0a 20 20 20 20 3c 70 3e 0a 20 20  :</p>.    <p>.  
1dc0: 20 20 20 20 3c 73 74 72 6f 6e 67 3e 54 68 69 73      <strong>This
1dd0: 20 73 65 63 74 69 6f 6e 20 69 73 20 6f 62 73 6f   section is obso
1de0: 6c 65 74 65 2c 20 62 75 74 20 72 65 6d 61 69 6e  lete, but remain
1df0: 73 20 66 6f 72 20 68 69 73 74 6f 72 69 63 61 6c  s for historical
1e00: 20 70 75 72 70 6f 73 65 73 2e 26 6e 62 73 70 3b   purposes.&nbsp;
1e10: 20 54 68 65 20 0a 20 20 20 20 20 20 20 20 31 2e   The .        1.
1e20: 30 2e 31 31 2b 20 76 65 72 73 69 6f 6e 73 20 6f  0.11+ versions o
1e30: 66 20 74 68 65 20 41 44 4f 2e 4e 45 54 20 32 2e  f the ADO.NET 2.
1e40: 30 20 53 51 4c 69 74 65 20 70 72 6f 76 69 64 65  0 SQLite provide
1e50: 72 20 6d 61 6b 65 20 73 69 67 6e 69 66 69 63 61  r make significa
1e60: 6e 74 20 63 68 61 6e 67 65 73 20 74 6f 20 0a 20  nt changes to . 
1e70: 20 20 20 20 20 20 20 74 68 65 20 63 6f 72 65 20         the core 
1e80: 73 71 6c 69 74 65 33 20 63 6f 64 65 62 61 73 65  sqlite3 codebase
1e90: 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 75 70   in order to sup
1ea0: 70 6f 72 74 20 43 2b 2b 20 2f 63 6c 72 20 63 6f  port C++ /clr co
1eb0: 6d 70 69 6c 69 6e 67 2e 26 6e 62 73 70 3b 20 0a  mpiling.&nbsp; .
1ec0: 20 20 20 20 20 20 20 20 53 70 65 63 69 66 69 63          Specific
1ed0: 61 6c 6c 79 2c 20 61 6c 6c 20 74 68 65 20 69 6d  ally, all the im
1ee0: 70 6c 69 63 69 74 20 63 61 73 74 73 20 74 68 72  plicit casts thr
1ef0: 6f 75 67 68 6f 75 74 20 74 68 65 20 63 6f 72 65  oughout the core
1f00: 20 63 6f 64 65 62 61 73 65 20 6d 75 73 74 20 62   codebase must b
1f10: 65 20 0a 20 20 20 20 20 20 20 20 6d 6f 64 69 66  e .        modif
1f20: 69 65 64 2e 26 6e 62 73 70 3b 20 54 68 65 72 65  ied.&nbsp; There
1f30: 20 61 72 65 20 73 65 76 65 72 61 6c 20 68 75 6e   are several hun
1f40: 64 72 65 64 20 6f 66 20 74 68 65 73 65 20 63 61  dred of these ca
1f50: 73 74 73 20 61 6e 64 20 74 68 65 79 20 6d 75 73  sts and they mus
1f60: 74 20 62 65 20 66 69 78 65 64 20 0a 20 20 20 20  t be fixed .    
1f70: 20 20 20 20 75 70 20 65 76 65 72 79 20 74 69 6d      up every tim
1f80: 65 20 61 20 6e 65 77 20 73 71 6c 69 74 65 20 76  e a new sqlite v
1f90: 65 72 73 69 6f 6e 20 69 73 20 72 65 6c 65 61 73  ersion is releas
1fa0: 65 64 2e 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 70 3e  ed.</strong></p>
1fb0: 0a 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20  .    <ol>.      
1fc0: 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 46 4f  <li>.        <FO
1fd0: 4e 54 20 63 6f 6c 6f 72 3d 22 73 69 6c 76 65 72  NT color="silver
1fe0: 22 3e 44 6f 77 6e 6c 6f 61 64 20 74 68 65 20 6c  ">Download the l
1ff0: 61 74 65 73 74 20 73 71 6c 69 74 65 33 20 73 6f  atest sqlite3 so
2000: 75 72 63 65 20 66 72 6f 6d 20 3c 2f 46 4f 4e 54  urce from </FONT
2010: 3e 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f  ><a href="http:/
2020: 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f  /www.sqlite.org/
2030: 64 6f 77 6e 6c 6f 61 64 2e 68 74 6d 6c 22 3e 0a  download.html">.
2040: 20 20 20 20 20 20 20 20 20 20 3c 46 4f 4e 54 20            <FONT 
2050: 63 6f 6c 6f 72 3d 22 73 69 6c 76 65 72 22 3e 68  color="silver">h
2060: 74 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65  ttp://www.sqlite
2070: 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2e 68 74  .org/download.ht
2080: 6d 6c 3c 2f 46 4f 4e 54 3e 3c 2f 61 3e 3c 46 4f  ml</FONT></a><FO
2090: 4e 54 20 63 6f 6c 6f 72 3d 22 73 69 6c 76 65 72  NT color="silver
20a0: 22 3e 0a 20 20 20 20 20 20 20 20 3c 2f 46 4f 4e  ">.        </FON
20b0: 54 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20  T>.      <li>.  
20c0: 20 20 20 20 20 20 3c 46 4f 4e 54 20 63 6f 6c 6f        <FONT colo
20d0: 72 3d 22 73 69 6c 76 65 72 22 3e 45 78 74 72 61  r="silver">Extra
20e0: 63 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f  ct the source co
20f0: 64 65 20 74 6f 20 74 68 65 20 3c 62 3e 53 51 4c  de to the <b>SQL
2100: 69 74 65 2e 49 6e 74 65 72 6f 70 5c 73 72 63 3c  ite.Interop\src<
2110: 2f 62 3e 20 64 69 72 65 63 74 6f 72 79 20 0a 20  /b> directory . 
2120: 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 69 73           of this
2130: 20 70 72 6f 6a 65 63 74 20 3c 2f 46 4f 4e 54 3e   project </FONT>
2140: 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20  .      <li>.    
2150: 20 20 20 20 3c 46 4f 4e 54 20 63 6f 6c 6f 72 3d      <FONT color=
2160: 22 73 69 6c 76 65 72 22 3e 4f 70 65 6e 20 74 68  "silver">Open th
2170: 65 20 3c 62 3e 73 72 63 5c 73 65 6c 65 63 74 2e  e <b>src\select.
2180: 63 3c 2f 62 3e 20 66 69 6c 65 2e 20 3c 2f 46 4f  c</b> file. </FO
2190: 4e 54 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20  NT>.      <li>. 
21a0: 20 20 20 20 20 20 20 3c 46 4f 4e 54 20 63 6f 6c         <FONT col
21b0: 6f 72 3d 22 73 69 6c 76 65 72 22 3e 41 64 64 20  or="silver">Add 
21c0: 3c 62 3e 23 69 6e 63 6c 75 64 65 20 22 2e 2e 2f  <b>#include "../
21d0: 69 6e 74 65 72 6f 70 2e 68 22 20 3c 2f 62 3e 74  interop.h" </b>t
21e0: 6f 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65  o the top of the
21f0: 20 66 69 6c 65 20 0a 20 20 20 20 20 20 20 20 20   file .         
2200: 20 77 68 65 72 65 20 74 68 65 20 6f 74 68 65 72   where the other
2210: 20 69 6e 63 6c 75 64 65 27 73 20 61 72 65 2e 20   include's are. 
2220: 3c 2f 46 4f 4e 54 3e 0a 20 20 20 20 20 20 3c 6c  </FONT>.      <l
2230: 69 3e 0a 20 20 20 20 20 20 20 20 3c 46 4f 4e 54  i>.        <FONT
2240: 20 63 6f 6c 6f 72 3d 22 73 69 6c 76 65 72 22 3e   color="silver">
2250: 53 63 72 6f 6c 6c 20 64 6f 77 6e 20 74 68 65 20  Scroll down the 
2260: 3c 62 3e 73 65 6c 65 63 74 2e 63 3c 2f 62 3e 20  <b>select.c</b> 
2270: 66 69 6c 65 20 74 6f 20 61 72 6f 75 6e 64 20 6c  file to around l
2280: 69 6e 65 20 3c 62 3e 37 34 38 3c 2f 62 3e 2e 26  ine <b>748</b>.&
2290: 6e 62 73 70 3b 20 0a 20 20 20 20 20 20 20 20 20  nbsp; .         
22a0: 20 43 68 61 6e 67 65 20 74 68 65 20 6e 61 6d 65   Change the name
22b0: 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e   of the function
22c0: 20 3c 62 3e 73 74 61 74 69 63 20 76 6f 69 64 20   <b>static void 
22d0: 67 65 6e 65 72 61 74 65 43 6f 6c 75 6d 6e 4e 61  generateColumnNa
22e0: 6d 65 73 20 3c 2f 62 3e 74 6f 20 3c 62 3e 73 74  mes </b>to <b>st
22f0: 61 74 69 63 20 0a 20 20 20 20 20 20 20 20 20 20  atic .          
2300: 20 20 76 6f 69 64 20 5f 67 65 6e 65 72 61 74 65    void _generate
2310: 43 6f 6c 75 6d 6e 4e 61 6d 65 73 3c 2f 62 3e 20  ColumnNames</b> 
2320: 28 3c 69 3e 6e 6f 74 65 20 74 68 65 20 75 6e 64  (<i>note the und
2330: 65 72 73 63 6f 72 65 20 69 6e 20 66 72 6f 6e 74  erscore in front
2340: 20 6f 66 20 74 68 65 20 6e 61 6d 65 3c 2f 69 3e   of the name</i>
2350: 29 2e 0a 20 20 20 20 20 20 20 20 3c 2f 46 4f 4e  )..        </FON
2360: 54 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20  T>.      <li>.  
2370: 20 20 20 20 20 20 3c 46 4f 4e 54 20 63 6f 6c 6f        <FONT colo
2380: 72 3d 22 73 69 6c 76 65 72 22 3e 43 6f 6d 70 69  r="silver">Compi
2390: 6c 65 20 69 74 2e 20 3c 2f 46 4f 4e 54 3e 0a 20  le it. </FONT>. 
23a0: 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 3c       </li>.    <
23b0: 2f 6f 6c 3e 0a 20 20 20 20 3c 62 3e 3c 2f 62 3e  /ol>.    <b></b>
23c0: 0a 20 20 20 20 3c 68 32 3e 0a 20 20 20 20 20 20  .    <h2>.      
23d0: 3c 62 3e 56 65 72 73 69 6f 6e 20 48 69 73 74 6f  <b>Version Histo
23e0: 72 79 3c 2f 62 3e 3c 2f 68 32 3e 0a 20 20 20 20  ry</b></h2>.    
23f0: 3c 70 3e 3c 62 3e 31 2e 30 2e 31 38 20 2d 20 53  <p><b>1.0.18 - S
2400: 65 70 74 65 6d 62 65 72 20 31 2c 20 32 30 30 35  eptember 1, 2005
2410: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 55 4c  </b></p>.    <UL
2420: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20  >.      <li>.   
2430: 20 20 20 20 20 41 64 64 65 64 20 74 79 70 65 2d       Added type-
2440: 73 70 65 63 69 66 69 63 20 6d 65 74 68 6f 64 20  specific method 
2450: 63 61 6c 6c 73 20 77 68 65 6e 20 75 73 69 6e 67  calls when using
2460: 20 74 68 65 20 76 61 72 69 6f 75 73 20 53 51 4c   the various SQL
2470: 69 74 65 20 63 6c 61 73 73 65 73 20 74 68 61 74  ite classes that
2480: 20 0a 20 20 20 20 20 20 20 20 77 6f 75 6c 64 27   .        would'
2490: 76 65 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 74 75  ve normally retu
24a0: 72 6e 65 64 20 61 20 61 20 67 65 6e 65 72 69 63  rned a a generic
24b0: 20 44 62 20 62 61 73 65 20 63 6c 61 73 73 2c 20   Db base class, 
24c0: 77 68 69 63 68 20 61 6c 69 67 6e 73 20 74 68 65  which aligns the
24d0: 20 63 6f 64 65 20 0a 20 20 20 20 20 20 20 20 62   code .        b
24e0: 65 74 74 65 72 20 77 69 74 68 20 74 68 65 20 4d  etter with the M
24f0: 69 63 72 6f 73 6f 66 74 2d 73 75 70 70 6c 69 65  icrosoft-supplie
2500: 64 20 64 61 74 61 20 70 72 6f 76 69 64 65 72 73  d data providers
2510: 2e 3c 2f 6c 69 3e 3c 2f 55 4c 3e 0a 20 20 20 20  .</li></UL>.    
2520: 3c 70 3e 3c 62 3e 31 2e 30 2e 31 37 20 2d 20 41  <p><b>1.0.17 - A
2530: 75 67 75 73 74 20 32 36 2c 20 32 30 30 35 3c 2f  ugust 26, 2005</
2540: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
2550: 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20        <li>.     
2560: 20 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68   Code merge with
2570: 20 53 51 4c 69 74 65 20 33 2e 32 2e 35 0a 20 20   SQLite 3.2.5.  
2580: 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 41      <li>.      A
2590: 64 64 65 64 20 49 74 61 6e 69 75 6d 20 61 6e 64  dded Itanium and
25a0: 20 78 36 34 20 62 75 69 6c 64 20 73 65 74 74 69   x64 build setti
25b0: 6e 67 73 20 74 6f 20 74 68 65 20 70 72 6f 6a 65  ngs to the proje
25c0: 63 74 20 28 6e 65 65 64 73 20 74 65 73 74 69 6e  ct (needs testin
25d0: 67 29 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20  g).      <li>.  
25e0: 20 20 20 20 42 75 67 66 69 78 65 73 20 61 6e 64      Bugfixes and
25f0: 20 65 6e 68 61 6e 63 65 6d 65 6e 74 73 20 74 6f   enhancements to
2600: 20 73 65 76 65 72 61 6c 20 73 63 68 65 6d 61 20   several schema 
2610: 74 79 70 65 73 0a 20 20 20 20 20 20 3c 6c 69 3e  types.      <li>
2620: 0a 20 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61  .      Additiona
2630: 6c 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 73 75  l design-time su
2640: 70 70 6f 72 74 20 74 6f 20 69 6e 63 6c 75 64 65  pport to include
2650: 20 69 6e 64 65 78 20 61 6e 64 20 66 6f 72 65 69   index and forei
2660: 67 6e 20 6b 65 79 20 0a 20 20 20 20 20 20 65 6e  gn key .      en
2670: 75 6d 65 72 61 74 69 6f 6e 73 2e 26 6e 62 73 70  umerations.&nbsp
2680: 3b 20 52 65 71 75 69 72 65 73 20 72 65 2d 72 65  ; Requires re-re
2690: 67 69 73 74 65 72 69 6e 67 20 74 68 65 20 64 65  gistering the de
26a0: 73 69 67 6e 65 72 20 75 73 69 6e 67 20 0a 20 20  signer using .  
26b0: 20 20 20 20 49 4e 53 54 41 4c 4c 2e 43 4d 44 2e      INSTALL.CMD.
26c0: 26 6e 62 73 70 3b 20 54 68 65 20 6e 65 77 20 64  &nbsp; The new d
26d0: 65 73 69 67 6e 65 72 20 63 6f 64 65 20 6e 6f 77  esigner code now
26e0: 20 61 6c 6c 6f 77 73 20 74 68 65 20 56 53 20 71   allows the VS q
26f0: 75 65 72 79 20 64 65 73 69 67 6e 65 72 20 61 6e  uery designer an
2700: 64 20 0a 20 20 20 20 20 20 74 79 70 65 64 20 64  d .      typed d
2710: 61 74 61 73 65 74 73 20 74 6f 20 61 75 74 6f 6d  atasets to autom
2720: 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 20 75 70  atically link up
2730: 20 66 6f 72 65 69 67 6e 20 6b 65 79 73 2c 20 75   foreign keys, u
2740: 73 65 20 69 6e 64 65 78 65 73 2c 20 61 6e 64 20  se indexes, and 
2750: 0a 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69 63  .      automatic
2760: 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 20 72 65  ally generate re
2770: 6c 61 74 69 6f 6e 73 68 69 70 73 20 66 72 6f 6d  lationships from
2780: 20 74 68 65 20 73 63 68 65 6d 61 2e 3c 6c 69 3e   the schema.<li>
2790: 0a 20 20 20 20 20 20 20 20 41 64 64 69 74 69 6f  .        Additio
27a0: 6e 61 6c 20 73 74 61 74 69 63 20 6d 65 74 68 6f  nal static metho
27b0: 64 73 20 6f 6e 20 53 51 4c 69 74 65 43 6f 6e 6e  ds on SQLiteConn
27c0: 65 63 74 69 6f 6e 20 74 6f 20 63 72 65 61 74 65  ection to create
27d0: 20 61 20 64 61 74 61 62 61 73 65 20 66 69 6c 65   a database file
27e0: 2c 20 0a 20 20 20 20 20 20 20 20 65 6e 63 72 79  , .        encry
27f0: 70 74 20 61 20 66 69 6c 65 20 75 73 69 6e 67 20  pt a file using 
2800: 74 68 65 20 45 6e 63 72 79 70 74 65 64 20 46 69  the Encrypted Fi
2810: 6c 65 20 53 79 73 74 65 6d 20 28 45 46 53 29 20  le System (EFS) 
2820: 6f 6e 20 4e 54 46 53 20 28 72 65 71 75 69 72 65  on NTFS (require
2830: 73 20 4e 54 20 32 4b 20 6f 72 20 0a 20 20 20 20  s NT 2K or .    
2840: 20 20 20 20 61 62 6f 76 65 29 20 61 6e 64 20 4e      above) and N
2850: 54 46 53 20 66 69 6c 65 20 63 6f 6d 70 72 65 73  TFS file compres
2860: 73 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f  sion</li>.    </
2870: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
2880: 30 2e 31 36 20 2d 20 41 75 67 75 73 74 20 32 34  0.16 - August 24
2890: 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2005</b></p>. 
28a0: 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c     <ul>.      <l
28b0: 69 3e 0a 20 20 20 20 20 20 43 6f 64 65 20 6d 65  i>.      Code me
28c0: 72 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20  rge with SQLite 
28d0: 33 2e 32 2e 34 20 77 69 74 68 20 74 68 65 20 6c  3.2.4 with the l
28e0: 61 72 67 65 20 64 65 6c 65 74 65 20 62 75 67 66  arge delete bugf
28f0: 69 78 20 69 6e 20 43 56 53 20 28 77 68 69 63 68  ix in CVS (which
2900: 20 77 69 6c 6c 20 0a 20 20 20 20 20 20 62 65 63   will .      bec
2910: 6f 6d 65 20 33 2e 32 2e 35 20 73 6f 6f 6e 29 0a  ome 3.2.5 soon).
2920: 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20        <li>.     
2930: 20 20 20 41 64 64 65 64 20 6e 65 77 20 47 65 74     Added new Get
2940: 53 63 68 65 6d 61 28 29 20 74 79 70 65 73 3a 20  Schema() types: 
2950: 49 6e 64 65 78 43 6f 6c 75 6d 6e 73 2c 20 56 69  IndexColumns, Vi
2960: 65 77 43 6f 6c 75 6d 6e 73 2c 20 46 6f 72 65 69  ewColumns, Forei
2970: 67 6e 4b 65 79 73 3c 2f 6c 69 3e 0a 20 20 20 20  gnKeys</li>.    
2980: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
2990: 31 2e 30 2e 31 35 20 2d 20 41 75 67 75 73 74 20  1.0.15 - August 
29a0: 32 32 2c 20 32 30 30 35 3c 2f 62 3e 3c 62 72 3e  22, 2005</b><br>
29b0: 0a 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 3c 75  .    </p>.    <u
29c0: 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20  l>.      <li>.  
29d0: 20 20 20 20 43 6f 64 65 20 6d 65 72 67 65 20 77      Code merge w
29e0: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 32 2e 33  ith SQLite 3.2.3
29f0: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
2a00: 20 20 20 20 4d 69 6e 6f 72 20 75 70 64 61 74 65      Minor update
2a10: 73 20 66 6f 72 20 62 65 74 74 65 72 20 64 65 73  s for better des
2a20: 69 67 6e 2d 74 69 6d 65 20 65 78 70 65 72 69 65  ign-time experie
2a30: 6e 63 65 2e 20 4d 6f 72 65 20 64 65 73 69 67 6e  nce. More design
2a40: 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 0a 20  -time code to . 
2a50: 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 20 69 6e         follow in
2a60: 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 6c 65   subsequent rele
2a70: 61 73 65 73 2e 3c 2f 4c 49 3e 0a 20 20 20 20 3c  ases.</LI>.    <
2a80: 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  /ul>.    <p><b>1
2a90: 2e 30 2e 31 34 20 2d 20 41 75 67 75 73 74 20 31  .0.14 - August 1
2aa0: 36 2c 20 32 30 30 35 3c 2f 62 3e 3c 62 72 3e 0a  6, 2005</b><br>.
2ab0: 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c      </p>.    <ul
2ac0: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20  >.      <li>.   
2ad0: 20 20 20 46 69 78 65 64 20 61 20 62 75 67 20 69     Fixed a bug i
2ae0: 6e 20 74 68 65 20 53 51 4c 69 74 65 44 61 74 61  n the SQLiteData
2af0: 41 64 61 70 74 65 72 20 64 75 65 20 74 6f 20 69  Adapter due to i
2b00: 6e 73 75 66 66 69 63 69 65 6e 74 20 69 6d 70 6c  nsufficient impl
2b10: 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68  ementation of th
2b20: 65 20 0a 20 20 20 20 20 20 63 6c 61 73 73 2e 26  e .      class.&
2b30: 6e 62 73 70 3b 20 54 68 65 20 52 6f 77 55 70 64  nbsp; The RowUpd
2b40: 61 74 69 6e 67 20 61 6e 64 20 52 6f 77 55 70 64  ating and RowUpd
2b50: 61 74 65 64 20 65 76 65 6e 74 73 20 61 72 65 20  ated events are 
2b60: 6e 6f 77 20 70 72 6f 70 65 72 6c 79 20 0a 20 20  now properly .  
2b70: 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2c      implemented,
2b80: 20 62 75 74 20 75 6e 66 6f 72 74 75 6e 61 74 65   but unfortunate
2b90: 6c 79 20 69 6e 73 65 72 74 69 6e 67 20 61 6e 64  ly inserting and
2ba0: 20 75 70 64 61 74 69 6e 67 20 64 61 74 61 20 69   updating data i
2bb0: 6e 20 61 20 44 61 74 61 54 61 62 6c 65 20 6f 72  n a DataTable or
2bc0: 20 0a 20 20 20 20 20 20 44 61 74 61 53 65 74 20   .      DataSet 
2bd0: 69 73 20 6e 6f 77 20 6d 75 63 68 20 73 6c 6f 77  is now much slow
2be0: 65 72 2e 26 6e 62 73 70 3b 20 54 68 69 73 20 69  er.&nbsp; This i
2bf0: 73 20 74 68 65 20 70 72 6f 70 65 72 20 64 65 73  s the proper des
2c00: 69 67 6e 20 68 6f 77 65 76 65 72 2c 20 73 6f 20  ign however, so 
2c10: 74 68 65 20 0a 20 20 20 20 20 20 63 68 61 6e 67  the .      chang
2c20: 65 73 20 61 72 65 20 68 65 72 65 20 74 6f 20 73  es are here to s
2c30: 74 61 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  tay..      <LI>.
2c40: 20 20 20 20 20 20 4c 6f 74 73 20 6f 66 20 73 63        Lots of sc
2c50: 68 65 6d 61 20 63 68 61 6e 67 65 73 20 74 6f 20  hema changes to 
2c60: 73 75 70 70 6f 72 74 20 56 69 73 75 61 6c 20 53  support Visual S
2c70: 74 75 64 69 6f 27 73 20 44 61 74 61 20 44 65 73  tudio's Data Des
2c80: 69 67 6e 65 72 20 61 72 63 68 69 74 65 63 74 75  igner architectu
2c90: 72 65 2e 3c 6c 69 3e 41 64 64 65 64 20 0a 20 20  re.<li>Added .  
2ca0: 20 20 20 20 20 20 44 65 73 69 67 6e 65 72 20 73        Designer s
2cb0: 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 70  upport for the p
2cc0: 72 6f 76 69 64 65 72 2e 26 6e 62 73 70 3b 20 49  rovider.&nbsp; I
2cd0: 74 27 73 20 6e 6f 74 20 31 30 30 25 2c 20 62 75  t's not 100%, bu
2ce0: 74 20 79 6f 75 20 63 61 6e 20 64 65 73 69 67 6e  t you can design
2cf0: 20 0a 20 20 20 20 20 20 20 20 71 75 65 72 69 65   .        querie
2d00: 73 2c 20 61 64 64 20 74 79 70 65 64 20 64 61 74  s, add typed dat
2d10: 61 73 65 74 73 20 61 6e 64 20 70 65 72 66 6f 72  asets and perfor
2d20: 6d 20 71 75 69 74 65 20 61 20 6e 75 6d 62 65 72  m quite a number
2d30: 20 6f 66 20 74 61 73 6b 73 20 61 6c 6c 20 77 69   of tasks all wi
2d40: 74 68 69 6e 20 0a 20 20 20 20 20 20 20 20 56 69  thin .        Vi
2d50: 73 75 61 6c 20 53 74 75 64 69 6f 20 6e 6f 77 2e  sual Studio now.
2d60: 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c  </li></ul>.    <
2d70: 50 3e 3c 42 3e 31 2e 30 2e 31 33 20 2d 20 41 75  P><B>1.0.13 - Au
2d80: 67 75 73 74 20 38 2c 20 32 30 30 35 3c 2f 42 3e  gust 8, 2005</B>
2d90: 3c 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20  <BR>.    </P>.  
2da0: 20 20 3c 44 49 56 3e 0a 20 20 20 20 20 20 3c 55    <DIV>.      <U
2db0: 4c 3e 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a  L>.        <LI>.
2dc0: 20 20 20 20 20 20 20 20 46 69 78 65 64 20 61 20          Fixed a 
2dd0: 6e 61 6d 65 64 20 70 61 72 61 6d 65 74 65 72 20  named parameter 
2de0: 62 75 67 20 69 6e 20 74 68 65 20 62 61 73 65 20  bug in the base 
2df0: 53 51 4c 69 74 65 5f 55 54 46 31 36 20 63 6c 61  SQLite_UTF16 cla
2e00: 73 73 2c 20 77 68 69 63 68 20 6f 66 20 63 6f 75  ss, which of cou
2e10: 72 73 65 20 0a 20 20 20 20 20 20 20 20 6f 6e 6c  rse .        onl
2e20: 79 20 73 68 6f 77 65 64 20 75 70 20 77 68 65 6e  y showed up when
2e30: 20 61 20 64 61 74 61 62 61 73 65 20 63 6f 6e 6e   a database conn
2e40: 65 63 74 69 6f 6e 20 77 61 73 20 6f 70 65 6e 65  ection was opene
2e50: 64 20 75 73 69 6e 67 20 74 68 65 20 0a 20 20 20  d using the .   
2e60: 20 20 20 20 20 55 73 65 55 54 46 31 36 45 6e 63       UseUTF16Enc
2e70: 6f 64 69 6e 67 3d 54 72 75 65 20 70 61 72 61 6d  oding=True param
2e80: 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 3c 4c  eter..        <L
2e90: 49 3e 0a 20 20 20 20 20 20 20 20 20 20 46 69 78  I>.          Fix
2ea0: 65 64 20 61 20 70 65 72 66 6f 72 6d 61 6e 63 65  ed a performance
2eb0: 20 69 73 73 75 65 20 69 6e 20 53 51 4c 69 74 65   issue in SQLite
2ec0: 5f 55 54 46 31 36 20 69 6e 76 6f 6c 76 69 6e 67  _UTF16 involving
2ed0: 20 73 74 72 69 6e 67 20 6d 61 72 73 68 61 6c 69   string marshali
2ee0: 6e 67 2e 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20  ng.</LI></UL>.  
2ef0: 20 20 3c 2f 44 49 56 3e 0a 20 20 20 20 3c 50 3e    </DIV>.    <P>
2f00: 3c 42 3e 31 2e 30 2e 31 32 20 2d 20 41 75 67 75  <B>1.0.12 - Augu
2f10: 73 74 20 35 2c 20 32 30 30 35 3c 2f 42 3e 3c 42  st 5, 2005</B><B
2f20: 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20  R>.    </P>.    
2f30: 3c 44 49 56 3e 0a 20 20 20 20 20 20 3c 55 4c 3e  <DIV>.      <UL>
2f40: 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  .        <LI>.  
2f50: 20 20 20 20 20 20 20 20 46 75 6c 6c 20 73 75 70          Full sup
2f60: 70 6f 72 74 20 66 6f 72 20 74 68 65 20 43 6f 6d  port for the Com
2f70: 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2e 26  pact Framework.&
2f80: 6e 62 73 70 3b 20 45 61 63 68 20 62 75 69 6c 64  nbsp; Each build
2f90: 20 28 44 65 62 75 67 2f 52 65 6c 65 61 73 65 29   (Debug/Release)
2fa0: 20 6e 6f 77 20 0a 20 20 20 20 20 20 20 20 20 20   now .          
2fb0: 68 61 73 20 61 26 6e 62 73 70 3b 70 6c 61 74 66  has a&nbsp;platf
2fc0: 6f 72 6d 2c 20 65 69 74 68 65 72 20 57 69 6e 33  orm, either Win3
2fd0: 32 20 6f 72 20 43 6f 6d 70 61 63 74 20 46 72 61  2 or Compact Fra
2fe0: 6d 65 77 6f 72 6b 2e 26 6e 62 73 70 3b 20 54 68  mework.&nbsp; Th
2ff0: 65 20 63 6f 72 72 65 63 74 20 0a 20 20 20 20 20  e correct .     
3000: 20 20 20 20 20 70 72 6f 6a 65 63 74 73 20 61 72       projects ar
3010: 65 20 62 75 69 6c 74 20 61 63 63 6f 72 64 69 6e  e built accordin
3020: 67 6c 79 2e 26 6e 62 73 70 3b 20 53 65 65 20 74  gly.&nbsp; See t
3030: 68 65 26 6e 62 73 70 3b 3c 41 20 68 72 65 66 3d  he&nbsp;<A href=
3040: 22 23 72 65 64 69 73 74 22 3e 44 69 73 74 72 69  "#redist">Distri
3050: 62 75 74 69 6e 67 20 0a 20 20 20 20 20 20 20 20  buting .        
3060: 20 20 20 20 53 51 4c 69 74 65 3c 2f 41 3e 0a 20      SQLite</A>. 
3070: 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 66         section f
3080: 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f  or information o
3090: 6e 20 77 68 61 74 20 66 69 6c 65 73 20 6e 65 65  n what files nee
30a0: 64 20 74 6f 20 62 65 20 64 69 73 74 72 69 62 75  d to be distribu
30b0: 74 65 64 20 66 6f 72 20 65 61 63 68 20 0a 20 20  ted for each .  
30c0: 20 20 20 20 20 20 70 6c 61 74 66 6f 72 6d 2e 26        platform.&
30d0: 6e 62 73 70 3b 0a 20 20 20 20 20 20 20 20 3c 4c  nbsp;.        <L
30e0: 49 3e 0a 20 20 20 20 20 20 20 20 4d 6f 64 69 66  I>.        Modif
30f0: 69 65 64 20 53 51 4c 69 74 65 33 2e 52 65 73 65  ied SQLite3.Rese
3100: 74 28 29 20 61 6e 64 20 53 74 65 70 28 29 20 66  t() and Step() f
3110: 75 6e 63 74 69 6f 6e 73 20 74 6f 20 74 72 61 6e  unctions to tran
3120: 73 70 61 72 65 6e 74 6c 79 20 68 61 6e 64 6c 65  sparently handle
3130: 20 74 69 6d 65 6f 75 74 73 20 0a 20 20 20 20 20   timeouts .     
3140: 20 20 20 77 68 69 6c 65 20 77 61 69 74 69 6e 67     while waiting
3150: 20 6f 6e 20 74 68 65 20 64 61 74 61 62 61 73 65   on the database
3160: 20 74 6f 20 62 65 63 6f 6d 65 20 61 76 61 69 6c   to become avail
3170: 61 62 6c 65 20 28 74 79 70 69 63 61 6c 6c 79 20  able (typically 
3180: 77 68 65 6e 20 61 20 77 72 69 74 65 72 20 69 73  when a writer is
3190: 20 0a 20 20 20 20 20 20 20 20 77 61 69 74 69 6e   .        waitin
31a0: 67 20 6f 6e 20 61 20 72 65 61 64 65 72 20 74 6f  g on a reader to
31b0: 20 66 69 6e 69 73 68 2c 20 6f 72 20 61 20 72 65   finish, or a re
31c0: 61 64 65 72 20 69 73 20 77 61 69 74 69 6e 67 20  ader is waiting 
31d0: 6f 6e 20 61 20 77 72 69 74 65 72 20 74 6f 20 66  on a writer to f
31e0: 69 6e 69 73 68 29 2e 0a 20 20 20 20 20 20 20 20  inish)..        
31f0: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 4c 6f 74  <LI>.        Lot
3200: 73 20 6f 66 20 63 6f 64 65 20 63 6c 65 61 6e 75  s of code cleanu
3210: 70 26 6e 62 73 70 3b 61 73 20 73 75 67 67 65 73  p&nbsp;as sugges
3220: 74 65 64 26 6e 62 73 70 3b 62 79 20 74 68 65 20  ted&nbsp;by the 
3230: 43 6f 64 65 20 41 6e 61 6c 79 7a 65 72 20 28 46  Code Analyzer (F
3240: 78 43 6f 70 29 2e 0a 20 20 20 20 20 20 20 20 3c  xCop)..        <
3250: 4c 49 3e 0a 20 20 20 20 20 20 20 20 4c 6f 74 73  LI>.        Lots
3260: 20 6f 66 20 75 70 64 61 74 65 73 20 74 6f 20 74   of updates to t
3270: 68 65 20 68 65 6c 70 66 69 6c 65 20 28 61 73 20  he helpfile (as 
3280: 79 6f 75 20 63 61 6e 20 73 65 65 29 2e 0a 20 20  you can see)..  
3290: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
32a0: 20 20 20 20 20 53 74 61 74 65 6d 65 6e 74 73 26       Statements&
32b0: 6e 62 73 70 3b 77 65 72 65 20 61 6c 72 65 61 64  nbsp;were alread
32c0: 79 20 70 72 65 70 61 72 65 64 20 6c 61 7a 69 6c  y prepared lazil
32d0: 79 26 6e 62 73 70 3b 69 6e 20 61 20 53 51 4c 69  y&nbsp;in a SQLi
32e0: 74 65 43 6f 6d 6d 61 6e 64 2c 20 62 75 74 20 6e  teCommand, but n
32f0: 6f 77 20 0a 20 20 20 20 20 20 20 20 20 20 69 74  ow .          it
3300: 73 20 65 76 65 6e 20 6d 6f 72 65 20 6c 61 7a 79  s even more lazy
3310: 2e 26 6e 62 73 70 3b 20 53 74 61 74 65 6d 65 6e  .&nbsp; Statemen
3320: 74 73 20 61 72 65 20 6e 6f 77 20 6f 6e 6c 79 20  ts are now only 
3330: 70 72 65 70 61 72 65 64 20 69 66 20 74 68 65 20  prepared if the 
3340: 73 74 61 74 65 6d 65 6e 74 73 20 0a 20 20 20 20  statements .    
3350: 20 20 20 20 20 20 68 61 76 65 6e 27 74 20 62 65        haven't be
3360: 65 6e 20 70 72 65 76 69 6f 75 73 6c 79 20 70 72  en previously pr
3370: 65 70 61 72 65 64 20 61 6e 64 20 61 20 50 72 65  epared and a Pre
3380: 70 61 72 65 28 29 20 66 75 6e 63 74 69 6f 6e 20  pare() function 
3390: 69 73 20 63 61 6c 6c 65 64 20 28 61 6e 64 20 74  is called (and t
33a0: 68 65 20 0a 20 20 20 20 20 20 20 20 20 20 63 6f  he .          co
33b0: 6d 6d 61 6e 64 20 69 73 20 61 73 73 6f 63 69 61  mmand is associa
33c0: 74 65 64 20 77 69 74 68 20 61 20 63 6f 6e 6e 65  ted with a conne
33d0: 63 74 69 6f 6e 29 20 6f 72 20 6a 75 73 74 20 70  ction) or just p
33e0: 72 69 6f 72 20 74 6f 20 74 68 65 20 63 6f 6d 6d  rior to the comm
33f0: 61 6e 64 20 62 65 69 6e 67 20 0a 20 20 20 20 20  and being .     
3400: 20 20 20 20 20 65 78 65 63 75 74 65 64 2e 26 6e       executed.&n
3410: 62 73 70 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20  bsp;</LI></UL>. 
3420: 20 20 20 3c 2f 44 49 56 3e 0a 20 20 20 20 3c 50     </DIV>.    <P
3430: 3e 3c 42 3e 31 2e 30 2e 31 31 20 2d 20 41 75 67  ><B>1.0.11 - Aug
3440: 75 73 74 20 31 2c 20 32 30 30 35 3c 2f 42 3e 3c  ust 1, 2005</B><
3450: 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20  BR>.    </P>.   
3460: 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e   <UL>.      <LI>
3470: 0a 20 20 20 20 20 20 20 20 3c 53 54 52 4f 4e 47  .        <STRONG
3480: 3e 46 6f 72 20 65 76 65 72 79 74 68 69 6e 67 20  >For everything 
3490: 65 78 63 65 70 74 20 74 68 65 20 43 6f 6d 70 61  except the Compa
34a0: 63 74 20 46 72 61 6d 65 77 6f 72 6b 2c 20 53 79  ct Framework, Sy
34b0: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
34c0: 2e 44 4c 4c 20 69 73 20 0a 20 20 20 20 20 20 20  .DLL is .       
34d0: 20 20 20 6e 6f 77 20 74 68 65 20 3c 45 4d 3e 6f     now the <EM>o
34e0: 6e 6c 79 3c 2f 45 4d 3e 20 44 4c 4c 20 72 65 71  nly</EM> DLL req
34f0: 75 69 72 65 64 20 74 6f 20 75 73 65 20 74 68 69  uired to use thi
3500: 73 20 70 72 6f 76 69 64 65 72 21 3c 2f 53 54 52  s provider!</STR
3510: 4f 4e 47 3e 26 6e 62 73 70 3b 20 54 68 65 20 0a  ONG>&nbsp; The .
3520: 20 20 20 20 20 20 61 73 73 65 6d 62 6c 79 20 69        assembly i
3530: 73 20 6e 6f 77 20 61 20 6d 75 6c 74 69 2d 6d 6f  s now a multi-mo
3540: 64 75 6c 65 20 61 73 73 65 6d 62 6c 79 2c 20 63  dule assembly, c
3550: 6f 6e 74 61 69 6e 69 6e 67 20 62 6f 74 68 20 74  ontaining both t
3560: 68 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74 65  he native SQLite
3570: 33 20 0a 20 20 20 20 20 20 63 6f 64 65 62 61 73  3 .      codebas
3580: 65 20 61 6e 64 20 74 68 65 20 43 23 20 63 6c 61  e and the C# cla
3590: 73 73 65 73 20 62 75 69 6c 74 20 6f 6e 20 74 6f  sses built on to
35a0: 70 20 6f 66 20 69 74 2e 26 6e 62 73 70 3b 20 54  p of it.&nbsp; T
35b0: 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65  he Compact Frame
35c0: 77 6f 72 6b 20 0a 20 20 20 20 20 20 76 65 72 73  work .      vers
35d0: 69 6f 6e 20 28 77 68 65 6e 20 63 6f 6d 70 6c 65  ion (when comple
35e0: 74 65 64 29 20 77 69 6c 6c 20 6e 6f 74 20 62 65  ted) will not be
35f0: 20 61 62 6c 65 20 74 6f 20 73 75 70 70 6f 72 74   able to support
3600: 20 74 68 69 73 20 66 65 61 74 75 72 65 2c 20 73   this feature, s
3610: 6f 20 62 61 63 6b 77 61 72 64 73 20 0a 20 20 20  o backwards .   
3620: 20 20 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79     compatibility
3630: 20 77 69 74 68 20 74 68 65 20 43 6f 6d 70 61 63   with the Compac
3640: 74 20 46 72 61 6d 65 77 6f 72 6b 20 68 61 73 20  t Framework has 
3650: 62 65 65 6e 20 70 72 65 73 65 72 76 65 64 20 66  been preserved f
3660: 6f 72 20 74 68 65 20 66 75 74 75 72 65 2e 0a 20  or the future.. 
3670: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
3680: 20 20 46 69 78 65 64 20 61 20 62 75 67 20 69 6e    Fixed a bug in
3690: 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e 45   SQLiteCommand.E
36a0: 78 65 63 75 74 65 53 63 61 6c 61 72 28 29 20 74  xecuteScalar() t
36b0: 68 61 74 20 63 61 75 73 65 64 20 69 74 20 74 6f  hat caused it to
36c0: 20 73 74 6f 70 20 65 78 65 63 75 74 69 6e 67 20   stop executing 
36d0: 0a 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64  .        command
36e0: 73 20 6f 6e 63 65 20 69 74 20 6f 62 74 61 69 6e  s once it obtain
36f0: 65 64 20 74 68 65 20 66 69 72 73 74 20 63 6f 6c  ed the first col
3700: 75 6d 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74  umn of the first
3710: 20 72 6f 77 2d 72 65 74 75 72 6e 69 6e 67 20 0a   row-returning .
3720: 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 73 65          resultse
3730: 74 2e 26 6e 62 73 70 3b 20 41 6e 79 20 72 65 6d  t.&nbsp; Any rem
3740: 61 69 6e 69 6e 67 20 73 74 61 74 65 6d 65 6e 74  aining statement
3750: 73 20 61 66 74 65 72 20 74 68 65 20 72 6f 77 2d  s after the row-
3760: 72 65 74 75 72 6e 69 6e 67 20 73 74 61 74 65 6d  returning statem
3770: 65 6e 74 20 77 61 73 20 0a 20 20 20 20 20 20 20  ent was .       
3780: 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20   ignored..      
3790: 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a  </LI>.    </UL>.
37a0: 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 31 30      <P><B>1.0.10
37b0: 20 2d 20 4a 75 6e 65 20 31 30 2c 20 32 30 30 35   - June 10, 2005
37c0: 3c 2f 42 3e 3c 42 52 3e 0a 20 20 20 20 3c 2f 50  </B><BR>.    </P
37d0: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
37e0: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65   <LI>.      Fixe
37f0: 64 20 61 20 62 75 67 20 69 6e 20 74 68 65 20 53  d a bug in the S
3800: 51 4c 69 74 65 33 2e 63 73 20 50 72 65 70 61 72  QLite3.cs Prepar
3810: 65 28 29 20 66 75 6e 63 74 69 6f 6e 20 74 68 61  e() function tha
3820: 74 20 63 72 65 61 74 65 64 20 61 20 73 74 61 74  t created a stat
3830: 65 6d 65 6e 74 20 65 76 65 6e 20 0a 20 20 20 20  ement even .    
3840: 20 20 77 68 65 6e 20 74 68 65 20 53 51 4c 69 74    when the SQLit
3850: 65 20 65 6e 67 69 6e 65 20 72 65 74 75 72 6e 65  e engine returne
3860: 64 20 61 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72  d a NULL pointer
3870: 2e 20 54 79 70 69 63 61 6c 6c 79 20 74 68 69 73  . Typically this
3880: 20 6f 63 63 75 72 73 20 77 68 65 6e 20 0a 20 20   occurs when .  
3890: 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 73 74 61      multiple sta
38a0: 74 65 6d 65 6e 74 73 20 61 72 65 20 70 72 6f 63  tements are proc
38b0: 65 73 73 65 64 20 61 6e 64 20 74 68 65 72 65 20  essed and there 
38c0: 61 72 65 20 74 72 61 69 6c 69 6e 67 20 63 6f 6d  are trailing com
38d0: 6d 65 6e 74 73 20 61 74 20 74 68 65 20 65 6e 64  ments at the end
38e0: 20 6f 66 20 0a 20 20 20 20 20 20 74 68 65 20 73   of .      the s
38f0: 74 61 74 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20  tatement..      
3900: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 46 69 78  <LI>.        Fix
3910: 65 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c 69  ed a bug in SQLi
3920: 74 65 53 74 61 74 65 6d 65 6e 74 2e 63 73 20 74  teStatement.cs t
3930: 68 61 74 20 72 65 74 72 69 65 76 65 64 20 70 61  hat retrieved pa
3940: 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 66 6f  rameter names fo
3950: 72 20 61 20 0a 20 20 20 20 20 20 20 20 70 61 72  r a .        par
3960: 61 6d 65 74 65 72 69 7a 65 64 20 71 75 65 72 79  ameterized query
3970: 2e 26 6e 62 73 70 3b 20 53 51 4c 69 74 65 27 73  .&nbsp; SQLite's
3980: 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20   parameters are 
3990: 31 2d 62 61 73 65 64 2c 20 61 6e 64 20 74 68 65  1-based, and the
39a0: 20 66 75 6e 63 74 69 6f 6e 20 0a 20 20 20 20 20   function .     
39b0: 20 20 20 77 61 73 20 73 74 61 72 74 69 6e 67 20     was starting 
39c0: 61 74 20 30 2e 26 6e 62 73 70 3b 20 54 68 69 73  at 0.&nbsp; This
39d0: 20 77 61 73 20 66 69 6e 65 20 77 68 65 6e 20 61   was fine when a
39e0: 6c 6c 20 70 61 72 61 6d 65 74 65 72 73 20 77 65  ll parameters we
39f0: 72 65 20 75 6e 6e 61 6d 65 64 2c 20 62 75 74 20  re unnamed, but 
3a00: 0a 20 20 20 20 20 20 20 20 66 6f 72 20 6e 61 6d  .        for nam
3a10: 65 64 20 70 61 72 61 6d 65 74 65 72 73 20 69 74  ed parameters it
3a20: 20 63 61 75 73 65 64 20 74 68 65 20 70 61 72 61   caused the para
3a30: 6d 65 74 65 72 73 20 74 6f 20 62 65 20 6f 75 74  meters to be out
3a40: 20 6f 66 20 77 68 61 63 6b 2e 0a 20 20 20 20 20   of whack..     
3a50: 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e   </LI>.    </UL>
3a60: 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30  .    <P><B>1.0.0
3a70: 39 61 20 2d 20 4d 61 79 20 32 35 2c 20 32 30 30  9a - May 25, 200
3a80: 35 3c 2f 42 3e 3c 42 52 3e 0a 20 20 20 20 3c 2f  5</B><BR>.    </
3a90: 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20  P>.    <UL>.    
3aa0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 69 78    <LI>.      Fix
3ab0: 65 64 20 61 20 62 72 6f 6b 65 6e 20 68 65 6c 70  ed a broken help
3ac0: 66 69 6c 65 20 61 6e 64 20 63 6f 72 72 65 63 74  file and correct
3ad0: 65 64 20 73 6f 6d 65 20 6f 62 73 6f 6c 65 74 65  ed some obsolete
3ae0: 20 68 65 6c 70 20 72 65 6d 61 72 6b 73 20 69 6e   help remarks in
3af0: 20 0a 20 20 20 20 20 20 53 51 4c 69 74 65 46 75   .      SQLiteFu
3b00: 6e 63 74 69 6f 6e 2e 63 73 0a 20 20 20 20 20 20  nction.cs.      
3b10: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 41 64 64  <LI>.        Add
3b20: 65 64 20 61 20 76 65 72 73 69 6f 6e 20 72 65 73  ed a version res
3b30: 6f 75 72 63 65 20 74 6f 20 74 68 65 20 53 51 4c  ource to the SQL
3b40: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 44 4c 4c 2e  ite.Interop.DLL.
3b50: 26 6e 62 73 70 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e  &nbsp;</LI></UL>
3b60: 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30  .    <P><B>1.0.0
3b70: 39 20 2d 20 4d 61 79 20 32 34 2c 20 32 30 30 35  9 - May 24, 2005
3b80: 3c 2f 42 3e 3c 42 52 3e 0a 20 20 20 20 3c 2f 50  </B><BR>.    </P
3b90: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
3ba0: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 43 6f 64 65   <LI>.      Code
3bb0: 20 6d 65 72 67 65 20 77 69 74 68 20 74 68 65 20   merge with the 
3bc0: 6c 61 74 65 73 74 20 33 2e 32 31 20 76 65 72 73  latest 3.21 vers
3bd0: 69 6f 6e 20 6f 66 20 53 51 4c 69 74 65 2e 0a 20  ion of SQLite.. 
3be0: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
3bf0: 20 20 52 65 6d 6f 76 65 64 20 6f 62 73 6f 6c 65    Removed obsole
3c00: 74 65 20 6d 65 74 68 6f 64 73 20 61 6e 64 20 70  te methods and p
3c10: 72 6f 70 65 72 74 69 65 73 20 66 6f 72 20 57 68  roperties for Wh
3c20: 69 64 62 65 79 20 42 65 74 61 20 32 3c 2f 4c 49  idbey Beta 2</LI
3c30: 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e 3c 42  ></UL>.    <P><B
3c40: 3e 31 2e 30 2e 30 38 20 52 65 66 72 65 73 68 20  >1.0.08 Refresh 
3c50: 2d 20 4d 61 72 20 32 34 2c 20 32 30 30 35 3c 42  - Mar 24, 2005<B
3c60: 52 3e 0a 20 20 20 20 20 20 3c 2f 42 3e 0a 20 20  R>.      </B>.  
3c70: 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a    </P>.    <UL>.
3c80: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
3c90: 20 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68   Code merge with
3ca0: 20 74 68 65 20 6c 61 74 65 73 74 20 33 2e 32 30   the latest 3.20
3cb0: 20 76 65 72 73 69 6f 6e 20 6f 66 20 53 51 4c 69   version of SQLi
3cc0: 74 65 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  te..      <LI>. 
3cd0: 20 20 20 20 20 20 20 52 65 63 6f 6d 70 69 6c 65         Recompile
3ce0: 64 20 74 68 65 20 68 65 6c 70 20 66 69 6c 65 20  d the help file 
3cf0: 74 6f 20 66 69 78 20 61 20 62 75 69 6c 64 20 65  to fix a build e
3d00: 72 72 6f 72 20 69 6e 20 69 74 2e 0a 20 20 20 20  rror in it..    
3d10: 20 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c    </LI>.    </UL
3d20: 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e  >.    <P><B>1.0.
3d30: 30 38 20 2d 20 4d 61 72 20 31 31 2c 20 32 30 30  08 - Mar 11, 200
3d40: 35 3c 42 52 3e 0a 20 20 20 20 20 20 3c 2f 42 3e  5<BR>.      </B>
3d50: 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55  .    </P>.    <U
3d60: 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  L>.      <LI>.  
3d70: 20 20 20 20 41 64 64 65 64 20 61 64 64 69 74 69      Added additi
3d80: 6f 6e 61 6c 20 23 69 66 20 73 74 61 74 65 6d 65  onal #if stateme
3d90: 6e 74 73 20 74 6f 20 73 75 70 70 6f 72 74 20 74  nts to support t
3da0: 68 65 20 6f 6c 64 20 62 65 74 61 20 31 20 65 64  he old beta 1 ed
3db0: 69 74 69 6f 6e 20 6f 66 20 56 53 32 30 30 35 2e  ition of VS2005.
3dc0: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
3dd0: 20 20 20 20 43 6f 64 65 20 6d 65 72 67 65 64 20      Code merged 
3de0: 74 68 65 20 53 51 4c 69 74 65 20 33 2e 31 34 20  the SQLite 3.14 
3df0: 73 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 3c 2f  source..      </
3e00: 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20  LI>.    </UL>.  
3e10: 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 37 20 2d    <P><B>1.0.07 -
3e20: 20 4d 61 72 20 35 2c 20 32 30 30 35 3c 2f 42 3e   Mar 5, 2005</B>
3e30: 3c 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20  <BR>.    </P>.  
3e40: 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49    <UL>.      <LI
3e50: 3e 0a 20 20 20 20 20 20 4d 61 64 65 20 6d 6f 72  >.      Made mor
3e60: 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20  e optimizations 
3e70: 74 6f 20 66 72 65 71 75 65 6e 74 6c 79 2d 63 61  to frequently-ca
3e80: 6c 6c 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20  lled functions, 
3e90: 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 0a 20 20  resulting in .  
3ea0: 20 20 20 20 73 69 67 6e 69 66 69 63 61 6e 74 20      significant 
3eb0: 70 65 72 66 6f 72 6d 61 6e 63 65 20 67 61 69 6e  performance gain
3ec0: 73 20 69 6e 20 61 6c 6c 20 74 65 73 74 73 2e 0a  s in all tests..
3ed0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
3ee0: 20 20 20 52 65 63 6f 6d 70 69 6c 65 64 20 74 68     Recompiled th
3ef0: 65 20 62 69 6e 61 72 69 65 73 20 75 73 69 6e 67  e binaries using
3f00: 20 74 68 65 20 6c 61 74 65 73 74 20 56 53 32 30   the latest VS20
3f10: 30 35 20 46 65 62 72 75 61 72 79 20 43 54 50 2c  05 February CTP,
3f20: 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 79 65   resulting in ye
3f30: 74 20 0a 20 20 20 20 20 20 20 20 6d 6f 72 65 20  t .        more 
3f40: 73 69 67 6e 69 66 69 63 61 6e 74 20 73 70 65 65  significant spee
3f50: 64 20 67 61 69 6e 73 2e 26 6e 62 73 70 3b 20 54  d gains.&nbsp; T
3f60: 68 65 20 31 30 30 6b 20 69 6e 73 65 72 74 20 74  he 100k insert t
3f70: 65 73 74 20 75 73 65 64 20 74 6f 20 74 61 6b 65  est used to take
3f80: 20 33 2e 35 20 0a 20 20 20 20 20 20 20 20 73 65   3.5 .        se
3f90: 63 6f 6e 64 73 20 61 6e 64 20 74 68 65 20 69 6e  conds and the in
3fa0: 73 65 72 74 77 69 74 68 69 64 65 6e 74 69 74 79  sertwithidentity
3fb0: 20 74 6f 6f 6b 20 61 6c 6d 6f 73 74 20 38 20 73   took almost 8 s
3fc0: 65 63 6f 6e 64 73 2e 26 6e 62 73 70 3b 20 57 69  econds.&nbsp; Wi
3fd0: 74 68 20 74 68 65 20 61 62 6f 76 65 20 0a 20 20  th the above .  
3fe0: 20 20 20 20 20 20 74 77 6f 20 63 68 61 6e 67 65        two change
3ff0: 73 2c 20 74 68 6f 73 65 20 74 65 73 74 73 20 61  s, those tests a
4000: 72 65 20 6e 6f 77 20 65 78 65 63 75 74 69 6e 67  re now executing
4010: 20 69 6e 20 31 2e 39 20 61 6e 64 20 34 2e 39 20   in 1.9 and 4.9 
4020: 73 65 63 6f 6e 64 73 20 72 65 73 70 65 63 74 69  seconds respecti
4030: 76 65 6c 79 2e 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a  vely.</LI></UL>.
4040: 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 36      <P><B>1.0.06
4050: 20 2d 20 4d 61 72 20 31 2c 20 32 30 30 35 3c 42   - Mar 1, 2005<B
4060: 52 3e 0a 20 20 20 20 20 20 3c 2f 42 3e 0a 20 20  R>.      </B>.  
4070: 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a    </P>.    <UL>.
4080: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
4090: 20 53 70 65 65 64 2d 75 70 73 20 74 6f 20 53 51   Speed-ups to SQ
40a0: 4c 69 74 65 44 61 74 61 52 65 61 64 65 72 2e 26  LiteDataReader.&
40b0: 6e 62 73 70 3b 20 49 74 20 77 61 73 20 69 6e 74  nbsp; It was int
40c0: 65 72 6f 70 27 69 6e 67 20 75 6e 6e 65 63 65 73  erop'ing unneces
40d0: 73 61 72 69 6c 79 20 65 76 65 72 79 20 0a 20 20  sarily every .  
40e0: 20 20 20 20 74 69 6d 65 20 69 74 20 74 72 69 65      time it trie
40f0: 64 20 74 6f 20 66 65 74 63 68 20 61 20 66 69 65  d to fetch a fie
4100: 6c 64 20 64 75 65 20 74 6f 20 61 20 6c 6f 67 69  ld due to a logi
4110: 63 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c  c error..      <
4120: 4c 49 3e 0a 20 20 20 20 20 20 43 68 61 6e 67 65  LI>.      Change
4130: 64 2f 41 64 64 65 64 20 73 6f 6d 65 20 63 6f 64  d/Added some cod
4140: 65 20 74 6f 20 53 51 4c 69 74 65 43 6f 6e 76 65  e to SQLiteConve
4150: 72 74 27 73 20 69 6e 74 65 72 6e 61 6c 20 44 62  rt's internal Db
4160: 54 79 70 65 2c 20 54 79 70 65 20 61 6e 64 20 0a  Type, Type and .
4170: 20 20 20 20 20 20 54 79 70 65 41 66 66 69 6e 69        TypeAffini
4180: 74 79 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20  ty functions..  
4190: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46      <LI>.      F
41a0: 69 78 65 64 20 74 68 65 20 53 51 4c 69 74 65 44  ixed the SQLiteD
41b0: 61 74 61 52 65 61 64 65 72 20 74 6f 20 6f 62 65  ataReader to obe
41c0: 79 20 74 68 65 20 66 6c 61 67 73 20 73 65 74 20  y the flags set 
41d0: 69 6e 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20  in the optional 
41e0: 0a 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 42 65  .      CommandBe
41f0: 68 61 76 69 6f 72 20 66 6c 61 67 20 66 72 6f 6d  havior flag from
4200: 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e 45   SQLiteCommand.E
4210: 78 65 63 75 74 65 52 65 61 64 65 72 28 29 2e 0a  xecuteReader()..
4220: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
4230: 20 43 68 61 6e 67 65 64 20 74 68 65 20 64 65 66   Changed the def
4240: 61 75 6c 74 20 70 61 67 65 20 73 69 7a 65 20 74  ault page size t
4250: 6f 20 31 30 32 34 20 74 6f 20 72 65 66 6c 65 63  o 1024 to reflec
4260: 74 20 74 68 65 20 64 65 66 61 75 6c 74 73 20 6f  t the defaults o
4270: 66 20 53 51 4c 69 74 65 2e 26 6e 62 73 70 3b 20  f SQLite.&nbsp; 
4280: 0a 20 20 20 20 20 20 49 67 6e 6f 72 65 73 20 74  .      Ignores t
4290: 68 65 20 22 50 61 67 65 20 53 69 7a 65 22 20 63  he "Page Size" c
42a0: 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e 67  onnection string
42b0: 20 6f 70 74 69 6f 6e 20 66 6f 72 20 6d 65 6d 6f   option for memo
42c0: 72 79 20 64 61 74 61 62 61 73 65 73 2c 20 61 73  ry databases, as
42d0: 20 74 65 73 74 73 20 0a 20 20 20 20 20 20 72 65   tests .      re
42e0: 76 65 61 6c 65 64 20 74 68 61 74 20 63 68 61 6e  vealed that chan
42f0: 67 69 6e 67 20 69 74 20 72 65 73 75 6c 74 65 64  ging it resulted
4300: 20 69 6e 20 6d 65 6d 6f 72 79 20 63 6f 72 72 75   in memory corru
4310: 70 74 69 6f 6e 20 65 72 72 6f 72 73 2e 0a 20 20  ption errors..  
4320: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20      <LI>.       
4330: 20 50 65 72 66 6f 72 6d 61 6e 63 65 20 65 6e 68   Performance enh
4340: 61 6e 63 65 6d 65 6e 74 73 20 74 6f 20 74 68 65  ancements to the
4350: 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 61   SQLiteCommand a
4360: 6e 64 20 53 51 4c 69 74 65 53 74 61 74 65 6d 65  nd SQLiteStateme
4370: 6e 74 20 63 6c 61 73 73 65 73 20 77 68 69 63 68  nt classes which
4380: 20 0a 20 20 20 20 20 20 20 20 72 65 64 75 63 65   .        reduce
4390: 64 20 74 68 65 20 31 30 30 2c 30 30 30 20 72 6f  d the 100,000 ro
43a0: 77 20 69 6e 73 65 72 74 20 65 78 65 63 75 74 69  w insert executi
43b0: 6f 6e 20 74 69 6d 65 20 61 73 20 77 65 6c 6c 20  on time as well 
43c0: 61 73 20 74 68 65 20 76 61 72 69 6f 75 73 20 46  as the various F
43d0: 75 6e 63 74 69 6f 6e 20 0a 20 20 20 20 20 20 20  unction .       
43e0: 20 65 78 65 63 75 74 69 6f 6e 20 74 69 6d 65 73   execution times
43f0: 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 2e 0a   significantly..
4400: 20 20 20 20 20 20 3c 2f 4c 49 3e 0a 20 20 20 20        </LI>.    
4410: 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e  </UL>.    <P><B>
4420: 31 2e 30 2e 30 35 20 2d 20 46 65 62 20 32 35 2c  1.0.05 - Feb 25,
4430: 20 32 30 30 35 3c 2f 42 3e 0a 20 20 20 20 3c 2f   2005</B>.    </
4440: 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20  P>.    <UL>.    
4450: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 69 78    <LI>.      Fix
4460: 65 64 20 74 68 65 20 53 51 4c 69 74 65 33 20 43  ed the SQLite3 C
4470: 23 20 63 6c 61 73 73 20 73 74 65 70 2f 72 65 73  # class step/res
4480: 65 74 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20  et functions to 
4490: 61 63 63 6f 6d 6f 64 61 74 65 20 73 63 68 65 6d  accomodate schem
44a0: 61 20 63 68 61 6e 67 65 73 20 0a 20 20 20 20 20  a changes .     
44b0: 20 74 68 61 74 20 69 6e 76 61 6c 69 64 61 74 65   that invalidate
44c0: 20 61 20 70 72 65 70 61 72 65 64 20 73 74 61 74   a prepared stat
44d0: 65 6d 65 6e 74 2e 26 6e 62 73 70 3b 20 53 74 61  ement.&nbsp; Sta
44e0: 74 65 6d 65 6e 74 73 20 61 72 65 20 72 65 63 6f  tements are reco
44f0: 6d 70 69 6c 65 64 20 0a 20 20 20 20 20 20 74 72  mpiled .      tr
4500: 61 6e 73 70 61 72 65 6e 74 6c 79 2e 0a 20 20 20  ansparently..   
4510: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 4d 6f     <LI>.      Mo
4520: 76 65 64 20 61 6c 6c 20 6e 61 74 69 76 65 20 44  ved all native D
4530: 4c 4c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20  LL declarations 
4540: 74 6f 20 61 6e 20 55 6e 73 61 66 65 4e 61 74 69  to an UnsafeNati
4550: 76 65 4d 65 74 68 6f 64 73 20 63 6c 61 73 73 2e  veMethods class.
4560: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
4570: 20 20 53 70 6c 69 74 20 73 65 76 65 72 61 6c 20    Split several 
4580: 63 6c 61 73 73 65 73 20 69 6e 74 6f 20 74 68 65  classes into the
4590: 69 72 20 6f 77 6e 20 6d 6f 64 75 6c 65 73 20 66  ir own modules f
45a0: 6f 72 20 72 65 61 64 61 62 69 6c 69 74 79 2e 0a  or readability..
45b0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
45c0: 20 52 65 6e 61 6d 65 64 20 6d 61 6e 79 20 69 6e   Renamed many in
45d0: 74 65 72 6e 61 6c 20 76 61 72 69 61 62 6c 65 73  ternal variables
45e0: 2c 20 72 65 76 69 65 77 65 64 20 61 63 63 65 73  , reviewed acces
45f0: 73 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 6d  s to variables m
4600: 61 72 6b 65 64 20 61 73 20 0a 20 20 20 20 20 20  arked as .      
4610: 69 6e 74 65 72 6e 61 6c 20 61 6e 64 20 61 6c 74  internal and alt
4620: 65 72 65 64 20 74 68 65 69 72 20 70 72 6f 74 65  ered their prote
4630: 63 74 69 6f 6e 20 6c 65 76 65 6c 73 20 61 63 63  ction levels acc
4640: 6f 72 64 69 6e 67 6c 79 2e 0a 20 20 20 20 20 20  ordingly..      
4650: 3c 4c 49 3e 0a 20 20 20 20 20 20 44 75 65 20 74  <LI>.      Due t
4660: 6f 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f  o the presence o
4670: 66 20 74 68 65 20 61 6c 74 65 72 65 64 20 73 71  f the altered sq
4680: 6c 69 74 65 33 20 63 6f 64 65 62 61 73 65 20 61  lite3 codebase a
4690: 6e 64 20 73 6f 20 6d 61 6e 79 20 61 64 64 65 64  nd so many added
46a0: 20 69 6e 74 65 72 6f 70 20 0a 20 20 20 20 20 20   interop .      
46b0: 66 75 6e 63 74 69 6f 6e 73 2c 20 49 20 64 65 63  functions, I dec
46c0: 69 64 65 64 20 74 6f 20 72 65 6e 61 6d 65 20 74  ided to rename t
46d0: 68 65 20 73 71 6c 69 74 65 33 20 43 20 70 72 6f  he sqlite3 C pro
46e0: 6a 65 63 74 20 61 6e 64 20 74 68 65 20 44 4c 4c  ject and the DLL
46f0: 20 74 6f 20 0a 20 20 20 20 20 20 53 51 4c 69 74   to .      SQLit
4700: 65 2e 49 6e 74 65 72 6f 70 2e 44 4c 4c 2e 26 6e  e.Interop.DLL.&n
4710: 62 73 70 3b 20 54 68 69 73 20 69 73 20 74 68 65  bsp; This is the
4720: 20 73 61 6d 65 20 63 6f 72 65 20 73 71 6c 69 74   same core sqlit
4730: 65 33 20 63 6f 64 65 62 61 73 65 20 62 75 74 20  e3 codebase but 
4740: 64 65 73 69 67 6e 65 64 20 0a 20 20 20 20 20 20  designed .      
4750: 73 70 65 63 69 66 69 63 61 6c 6c 79 20 66 6f 72  specifically for
4760: 20 74 68 69 73 20 41 44 4f 2e 4e 45 54 20 70 72   this ADO.NET pr
4770: 6f 76 69 64 65 72 2e 26 6e 62 73 70 3b 20 54 68  ovider.&nbsp; Th
4780: 69 73 20 65 6c 69 6d 69 6e 61 74 65 73 20 61 6e  is eliminates an
4790: 79 20 70 6f 73 73 69 62 69 6c 69 74 79 20 0a 20  y possibility . 
47a0: 20 20 20 20 20 6f 66 20 73 6f 6d 65 6f 6e 65 20       of someone 
47b0: 64 72 6f 70 70 69 6e 67 20 61 6e 6f 74 68 65 72  dropping another
47c0: 20 62 75 69 6c 64 20 6f 66 20 73 71 6c 69 74 65   build of sqlite
47d0: 33 2e 64 6c 6c 20 69 6e 74 6f 20 74 68 65 20 73  3.dll into the s
47e0: 79 73 74 65 6d 20 61 6e 64 20 72 65 6e 64 65 72  ystem and render
47f0: 69 6e 67 20 0a 20 20 20 20 20 20 74 68 65 20 70  ing .      the p
4800: 72 6f 76 69 64 65 72 20 69 6e 6f 70 65 72 61 62  rovider inoperab
4810: 6c 65 2e 26 6e 62 73 70 3b 20 49 6e 20 74 68 65  le.&nbsp; In the
4820: 20 66 75 74 75 72 65 20 69 66 20 74 68 65 20 66   future if the f
4830: 6f 6c 6b 73 20 61 74 20 73 71 6c 69 74 65 2e 6f  olks at sqlite.o
4840: 72 67 20 66 69 6e 61 6c 6c 79 20 0a 20 20 20 20  rg finally .    
4850: 20 20 69 6e 74 72 6f 64 75 63 65 20 61 20 6d 65    introduce a me
4860: 74 68 6f 64 20 6f 66 20 72 65 74 72 69 65 76 69  thod of retrievi
4870: 6e 67 20 63 6f 6c 75 6d 6e 20 75 73 61 67 65 20  ng column usage 
4880: 66 6f 72 20 61 6e 20 61 72 62 69 74 72 61 72 79  for an arbitrary
4890: 20 70 72 65 70 61 72 65 64 20 0a 20 20 20 20 20   prepared .     
48a0: 20 73 74 61 74 65 6d 65 6e 74 2c 20 49 27 6c 6c   statement, I'll
48b0: 20 72 65 74 6f 6f 6c 20 74 68 69 73 20 6c 69 62   retool this lib
48c0: 72 61 72 79 20 74 6f 20 62 65 20 61 20 6c 69 67  rary to be a lig
48d0: 68 74 77 65 69 67 68 74 20 66 75 6e 63 74 69 6f  htweight functio
48e0: 6e 20 63 61 6c 6c 20 77 72 61 70 70 65 72 20 0a  n call wrapper .
48f0: 20 20 20 20 20 20 61 72 6f 75 6e 64 20 74 68 65        around the
4900: 20 63 6f 72 65 20 62 69 6e 61 72 79 20 64 69 73   core binary dis
4910: 74 72 69 62 75 74 69 6f 6e 2e 0a 20 20 20 20 20  tribution..     
4920: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 41 64 64 65   <LI>.      Adde
4930: 64 20 5b 53 75 70 70 72 65 73 73 55 6e 6d 61 6e  d [SuppressUnman
4940: 61 67 65 64 43 6f 64 65 53 65 63 75 72 69 74 79  agedCodeSecurity
4950: 5d 20 61 74 74 72 69 62 75 74 65 20 74 6f 20 74  ] attribute to t
4960: 68 65 20 55 6e 73 61 66 65 4e 61 74 69 76 65 4d  he UnsafeNativeM
4970: 65 74 68 6f 64 73 20 0a 20 20 20 20 20 20 63 6c  ethods .      cl
4980: 61 73 73 20 77 68 69 63 68 20 62 72 69 6e 67 73  ass which brings
4990: 20 56 53 32 30 30 35 20 4e 6f 76 65 6d 62 65 72   VS2005 November
49a0: 20 43 54 50 20 65 78 65 63 75 74 69 6f 6e 20 73   CTP execution s
49b0: 70 65 65 64 73 20 69 6e 6c 69 6e 65 20 77 69 74  peeds inline wit
49c0: 68 20 74 68 65 20 0a 20 20 20 20 20 20 44 65 63  h the .      Dec
49d0: 65 6d 62 65 72 20 43 54 50 2e 0a 20 20 20 20 20  ember CTP..     
49e0: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 41 64   <LI>.        Ad
49f0: 64 65 64 20 61 20 3c 42 3e 62 69 6e 3c 2f 42 3e  ded a <B>bin</B>
4a00: 0a 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79  .      directory
4a10: 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 20   to the project 
4a20: 72 6f 6f 74 20 77 68 65 72 65 20 70 72 65 2d 63  root where pre-c
4a30: 6f 6d 70 69 6c 65 64 20 62 69 6e 61 72 69 65 73  ompiled binaries
4a40: 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e 0a 20   can be found.. 
4a50: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
4a60: 20 20 41 64 64 65 64 20 61 20 3c 42 3e 64 6f 63    Added a <B>doc
4a70: 3c 2f 42 3e 0a 20 20 20 20 20 20 64 69 72 65 63  </B>.      direc
4a80: 74 6f 72 79 20 77 68 65 72 65 20 70 72 65 6c 69  tory where preli
4a90: 6d 69 6e 61 72 79 20 64 6f 63 75 6d 65 6e 74 61  minary documenta
4aa0: 74 69 6f 6e 20 6f 6e 20 74 68 65 20 63 6c 61 73  tion on the clas
4ab0: 73 20 6c 69 62 72 61 72 79 20 63 61 6e 20 62 65  s library can be
4ac0: 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 3c 4c   found..      <L
4ad0: 49 3e 0a 20 20 20 20 20 20 20 20 44 6f 63 75 6d  I>.        Docum
4ae0: 65 6e 74 65 64 20 61 20 6c 6f 74 20 6d 6f 72 65  ented a lot more
4af0: 20 6f 66 20 74 68 65 20 63 6c 61 73 73 65 73 20   of the classes 
4b00: 69 6e 74 65 72 6e 61 6c 6c 79 2e 0a 20 20 20 20  internally..    
4b10: 20 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c    </LI>.    </UL
4b20: 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e  >.    <P><B>1.0.
4b30: 30 34 20 2d 20 46 65 62 20 32 34 2c 20 32 30 30  04 - Feb 24, 200
4b40: 35 3c 2f 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20  5</B>.    </P>. 
4b50: 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c     <UL>.      <L
4b60: 49 3e 0a 20 20 20 20 20 20 52 65 6d 6f 76 65 64  I>.      Removed
4b70: 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 74 65   the SQLiteConte
4b80: 78 74 20 63 6c 61 73 73 20 61 6e 64 20 72 65 76  xt class and rev
4b90: 61 6d 70 65 64 20 74 68 65 20 77 61 79 20 55 73  amped the way Us
4ba0: 65 72 46 75 6e 63 74 69 6f 6e 73 20 77 6f 72 6b  erFunctions work
4bb0: 20 74 6f 20 0a 20 20 20 20 20 20 73 69 6d 70 6c   to .      simpl
4bc0: 69 66 79 20 74 68 65 20 69 6d 6c 65 6d 65 6e 74  ify the imlement
4bd0: 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 4c 49  ation..      <LI
4be0: 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20 61 20  >.      Fixed a 
4bf0: 63 6f 75 6e 74 69 6e 67 20 62 75 67 20 69 6e 20  counting bug in 
4c00: 74 68 65 20 54 65 73 74 43 61 73 65 73 20 63 6c  the TestCases cl
4c10: 61 73 73 2c 20 73 70 65 63 69 66 69 63 61 6c 6c  ass, specificall
4c20: 79 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f  y in the functio
4c30: 6e 20 74 65 73 74 73 20 0a 20 20 20 20 20 20 77  n tests .      w
4c40: 68 65 72 65 20 49 20 77 61 73 6e 27 74 20 72 65  here I wasn't re
4c50: 73 65 74 74 69 6e 67 20 74 68 65 20 63 6f 75 6e  setting the coun
4c60: 74 65 72 20 61 6e 64 20 69 74 20 77 61 73 20 63  ter and it was c
4c70: 6f 6e 73 65 71 75 65 6e 74 6c 79 20 72 65 70 6f  onsequently repo
4c80: 72 74 69 6e 67 20 0a 20 20 20 20 20 20 69 6e 74  rting .      int
4c90: 72 69 6e 73 69 63 20 61 6e 64 20 72 61 77 20 73  rinsic and raw s
4ca0: 65 6c 65 63 74 20 63 61 6c 6c 73 20 61 73 20 62  elect calls as b
4cb0: 65 69 6e 67 20 6d 75 63 68 20 6d 75 63 68 20 66  eing much much f
4cc0: 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 79 20  aster than they 
4cd0: 61 63 74 75 61 6c 6c 79 20 0a 20 20 20 20 20 20  actually .      
4ce0: 77 65 72 65 2e 26 6e 62 73 70 3b 20 54 68 65 20  were.&nbsp; The 
4cf0: 6e 75 6d 62 65 72 73 20 61 72 65 20 6e 6f 77 20  numbers are now 
4d00: 6d 75 63 68 20 63 6c 6f 73 65 72 20 74 6f 20 77  much closer to w
4d10: 68 61 74 20 49 20 65 78 70 65 63 74 65 64 20 66  hat I expected f
4d20: 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 2c 20  or performance, 
4d30: 0a 20 20 20 20 20 20 77 69 74 68 20 2e 4e 45 54  .      with .NET
4d40: 20 75 73 65 72 2d 66 75 6e 63 74 69 6f 6e 73 20   user-functions 
4d50: 73 74 69 6c 6c 20 62 65 69 6e 67 20 74 68 65 20  still being the 
4d60: 73 6c 6f 77 65 73 74 2c 20 62 75 74 20 6f 6e 6c  slowest, but onl
4d70: 79 20 62 79 20 61 20 73 6d 61 6c 6c 20 6d 61 72  y by a small mar
4d80: 67 69 6e 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  gin..      <LI>.
4d90: 20 20 20 20 20 20 53 6d 61 6c 6c 20 70 65 72 66        Small perf
4da0: 6f 72 6d 61 6e 63 65 20 74 77 65 61 6b 73 20 74  ormance tweaks t
4db0: 6f 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64  o SQLiteDataRead
4dc0: 65 72 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  er..      <LI>. 
4dd0: 20 20 20 20 20 41 64 64 65 64 20 50 61 67 65 53       Added PageS
4de0: 69 7a 65 20 74 6f 20 74 68 65 20 53 51 4c 69 74  ize to the SQLit
4df0: 65 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e  eConnectionStrin
4e00: 67 42 75 69 6c 64 65 72 20 61 6e 64 20 73 75 62  gBuilder and sub
4e10: 73 65 71 75 65 6e 74 6c 79 20 74 6f 20 74 68 65  sequently to the
4e20: 20 0a 20 20 20 20 20 20 53 51 4c 69 74 65 43 6f   .      SQLiteCo
4e30: 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 3c  nnection.      <
4e40: 4c 49 3e 0a 20 20 20 20 20 20 20 20 41 64 64 65  LI>.        Adde
4e50: 64 20 61 20 50 52 41 47 4d 41 20 65 6e 63 6f 64  d a PRAGMA encod
4e60: 69 6e 67 3d 58 58 58 20 65 78 65 63 75 74 69 6f  ing=XXX executio
4e70: 6e 20 73 74 61 74 65 6d 65 6e 74 20 74 6f 20 74  n statement to t
4e80: 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  he SQLiteConnect
4e90: 69 6f 6e 20 61 66 74 65 72 20 0a 20 20 20 20 20  ion after .     
4ea0: 20 20 20 6f 70 65 6e 69 6e 67 20 61 20 63 6f 6e     opening a con
4eb0: 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c  nection..      <
4ec0: 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20  /LI>.    </UL>. 
4ed0: 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 33 20     <P><B>1.0.03 
4ee0: 2d 20 46 65 62 20 32 33 2c 20 32 30 30 35 3c 2f  - Feb 23, 2005</
4ef0: 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20  B>.    </P>.    
4f00: 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  <UL>.      <LI>.
4f10: 20 20 20 20 20 20 46 69 78 65 64 20 75 70 20 53        Fixed up S
4f20: 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 42 75 69 6c  QLiteCommandBuil
4f30: 64 65 72 20 74 6f 20 63 6f 72 72 65 63 74 20 69  der to correct i
4f40: 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 65 72  mplementation er
4f50: 72 6f 72 73 2c 20 77 68 69 63 68 20 72 65 73 75  rors, which resu
4f60: 6c 74 65 64 20 0a 20 20 20 20 20 20 69 6e 20 61  lted .      in a
4f70: 6e 20 65 6e 6f 72 6d 6f 75 73 20 70 65 72 66 6f  n enormous perfo
4f80: 72 6d 61 6e 63 65 20 62 6f 6f 73 74 20 69 6e 20  rmance boost in 
4f90: 74 68 65 20 49 6e 73 65 72 74 4d 61 6e 79 20 74  the InsertMany t
4fa0: 65 73 74 2e 26 6e 62 73 70 3b 26 6e 62 73 70 3b  est.&nbsp;&nbsp;
4fb0: 20 31 30 2c 30 30 30 20 72 6f 77 20 0a 20 20 20   10,000 row .   
4fc0: 20 20 20 69 6e 73 65 72 74 20 74 68 61 74 20 65     insert that e
4fd0: 78 65 63 75 74 65 64 20 69 6e 20 31 35 30 30 6d  xecuted in 1500m
4fe0: 73 20 6e 6f 77 20 65 78 65 63 75 74 65 73 20 69  s now executes i
4ff0: 6e 20 35 30 30 6d 73 2e 0a 20 20 20 20 20 20 3c  n 500ms..      <
5000: 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20  LI>.      Fixed 
5010: 73 65 76 65 72 61 6c 20 65 72 72 6f 72 73 20 69  several errors i
5020: 6e 20 74 68 65 20 53 51 4c 69 74 65 33 5f 55 54  n the SQLite3_UT
5030: 46 31 36 20 63 6c 61 73 73 2e 26 6e 62 73 70 3b  F16 class.&nbsp;
5040: 20 54 6f 53 74 72 69 6e 67 28 29 20 77 61 73 20   ToString() was 
5050: 77 6f 72 6b 69 6e 67 20 0a 20 20 20 20 20 20 69  working .      i
5060: 6e 63 6f 72 72 65 63 74 6c 79 20 61 6e 64 20 74  ncorrectly and t
5070: 68 65 20 4f 70 65 6e 28 29 20 6d 65 74 68 6f 64  he Open() method
5080: 20 66 61 69 6c 65 64 20 74 6f 20 72 65 67 69 73   failed to regis
5090: 74 65 72 20 75 73 65 72 20 64 65 66 69 6e 65 64  ter user defined
50a0: 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 0a   functions and .
50b0: 20 20 20 20 20 20 63 6f 6c 6c 61 74 69 6f 6e 73        collations
50c0: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
50d0: 20 20 20 46 69 78 65 64 20 61 20 62 75 67 20 69     Fixed a bug i
50e0: 6e 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 2e  n SQLiteCommand.
50f0: 43 6c 65 61 72 43 6f 6d 6d 61 6e 64 73 28 29 20  ClearCommands() 
5100: 77 68 65 72 65 62 79 20 6f 6e 6c 79 20 74 68 65  whereby only the
5110: 20 66 69 72 73 74 20 73 74 61 74 65 6d 65 6e 74   first statement
5120: 20 0a 20 20 20 20 20 20 77 61 73 20 62 65 69 6e   .      was bein
5130: 67 20 70 72 6f 70 65 72 6c 79 20 63 6c 65 61 6e  g properly clean
5140: 65 64 20 75 70 2e 0a 20 20 20 20 20 20 3c 4c 49  ed up..      <LI
5150: 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20 61 20  >.      Fixed a 
5160: 62 75 67 20 69 6e 20 53 51 4c 69 74 65 44 61 74  bug in SQLiteDat
5170: 61 52 65 61 64 65 72 20 77 68 65 72 65 62 79 20  aReader whereby 
5180: 63 61 6c 6c 69 6e 67 20 4e 65 78 74 52 65 73 75  calling NextResu
5190: 6c 74 28 29 20 77 6f 75 6c 64 20 6e 6f 74 20 70  lt() would not p
51a0: 72 6f 70 65 72 6c 79 20 0a 20 20 20 20 20 20 72  roperly .      r
51b0: 65 73 65 74 20 74 68 65 20 70 72 65 76 69 6f 75  eset the previou
51c0: 73 6c 79 2d 65 78 65 63 75 74 65 64 20 63 6f 6d  sly-executed com
51d0: 6d 61 6e 64 20 69 6e 20 74 68 65 20 73 65 71 75  mand in the sequ
51e0: 65 6e 63 65 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  ence..      <LI>
51f0: 0a 20 20 20 20 20 20 20 20 41 64 64 65 64 20 61  .        Added a
5200: 6e 20 49 6e 73 65 72 74 4d 61 6e 79 57 69 74 68  n InsertManyWith
5210: 49 64 65 6e 74 69 74 79 46 65 74 63 68 20 74 65  IdentityFetch te
5220: 73 74 2c 20 77 68 69 63 68 20 61 70 70 65 6e 64  st, which append
5230: 73 20 61 20 73 65 6c 65 63 74 20 63 6c 61 75 73  s a select claus
5240: 65 20 74 6f 20 0a 20 20 20 20 20 20 20 20 70 6f  e to .        po
5250: 70 75 6c 61 74 65 20 74 68 65 20 49 44 20 6f 66  pulate the ID of
5260: 20 74 68 65 20 6c 61 73 74 20 69 6e 73 65 72 74   the last insert
5270: 65 64 20 72 6f 77 20 69 6e 74 6f 20 74 68 65 20  ed row into the 
5280: 49 6e 73 65 72 74 43 6f 6d 6d 61 6e 64 2c 20 64  InsertCommand, d
5290: 65 6d 6f 6e 73 74 72 61 74 69 6e 67 20 0a 20 20  emonstrating .  
52a0: 20 20 20 20 20 20 41 44 4f 2e 4e 45 54 27 73 20        ADO.NET's 
52b0: 61 62 69 6c 69 74 79 20 74 6f 20 61 75 74 6f 2d  ability to auto-
52c0: 66 65 74 63 68 20 69 64 65 6e 74 69 74 79 20 63  fetch identity c
52d0: 6f 6c 75 6d 6e 73 20 6f 6e 20 69 6e 73 65 72 74  olumns on insert
52e0: 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a 20 20  ..      </LI>.  
52f0: 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e 3c    </UL>.    <P><
5300: 42 3e 31 2e 30 2e 30 32 20 2d 20 46 65 62 20 32  B>1.0.02 - Feb 2
5310: 31 2c 20 32 30 30 35 3c 2f 42 3e 3c 2f 50 3e 0a  1, 2005</B></P>.
5320: 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c      <UL>.      <
5330: 4c 49 3e 0a 20 20 20 20 20 20 54 77 65 61 6b 73  LI>.      Tweaks
5340: 20 74 6f 20 74 68 65 20 78 78 78 5f 69 6e 74 65   to the xxx_inte
5350: 72 6f 70 20 66 75 6e 63 74 69 6f 6e 73 20 74 68  rop functions th
5360: 61 74 20 72 65 74 75 72 6e 20 63 68 61 72 20 2a  at return char *
5370: 27 73 2c 20 73 6f 20 74 68 65 79 20 61 6c 73 6f  's, so they also
5380: 20 72 65 74 75 72 6e 20 0a 20 20 20 20 20 20 74   return .      t
5390: 68 65 20 6c 65 6e 67 74 68 2e 26 6e 62 73 70 3b  he length.&nbsp;
53a0: 20 53 61 76 65 73 20 61 6e 20 69 6e 74 65 72 6f   Saves an intero
53b0: 70 20 63 61 6c 6c 20 74 6f 20 67 65 74 20 74 68  p call to get th
53c0: 65 20 55 54 46 2d 38 20 73 74 72 69 6e 67 20 6c  e UTF-8 string l
53d0: 65 6e 67 74 68 20 64 75 72 69 6e 67 20 0a 20 20  ength during .  
53e0: 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74      conversion t
53f0: 6f 20 61 20 2e 4e 45 54 20 73 74 72 69 6e 67 2e  o a .NET string.
5400: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
5410: 20 20 52 65 77 6f 72 6b 65 64 20 74 68 65 20 77    Reworked the w
5420: 68 6f 6c 65 20 69 6e 74 65 72 6f 70 2e 63 20 74  hole interop.c t
5430: 68 69 6e 67 20 69 6e 74 6f 20 69 6e 74 65 72 6f  hing into intero
5440: 70 2e 68 20 61 6e 64 20 72 65 64 75 63 65 64 20  p.h and reduced 
5450: 74 68 65 20 63 6f 64 65 20 72 65 71 75 69 72 65  the code require
5460: 64 20 0a 20 20 20 20 20 20 74 6f 20 6d 65 72 67  d .      to merg
5470: 65 20 74 68 65 20 6d 61 69 6e 20 73 71 6c 69 74  e the main sqlit
5480: 65 33 20 63 6f 64 65 62 61 73 65 2e 0a 20 20 20  e3 codebase..   
5490: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20     <LI>.        
54a0: 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  Added support fo
54b0: 72 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20 63  r user-defined c
54c0: 6f 6c 6c 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20  ollations..     
54d0: 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e   </LI>.    </UL>
54e0: 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d  .  </body>.</htm
54f0: 6c 3e 0a                                         l>.