System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 7ab1acbe413f5a4776da2e457f87c2b438d1b6fb:


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: 32 37 2e 30 20 46 65 62 20 32 36 2c 20 32 30 30  27.0 Feb 26, 200
00c0: 36 3c 62 72 3e 0a 20 20 20 20 55 73 69 6e 67 20  6<br>.    Using 
00d0: 53 51 4c 69 74 65 20 33 2e 33 2e 34 3c 62 72 3e  SQLite 3.3.4<br>
00e0: 0a 20 20 20 20 57 72 69 74 74 65 6e 20 62 79 20  .    Written by 
00f0: 52 6f 62 65 72 74 20 53 69 6d 70 73 6f 6e 20 28  Robert Simpson (
0100: 3c 61 20 68 72 65 66 3d 22 6d 61 69 6c 74 6f 3a  <a href="mailto:
0110: 72 6f 62 65 72 74 40 62 6c 61 63 6b 63 61 73 74  robert@blackcast
0120: 6c 65 73 6f 66 74 2e 63 6f 6d 22 3e 72 6f 62 65  lesoft.com">robe
0130: 72 74 40 62 6c 61 63 6b 63 61 73 74 6c 65 73 6f  rt@blackcastleso
0140: 66 74 2e 63 6f 6d 3c 2f 61 3e 29 3c 62 72 3e 0a  ft.com</a>)<br>.
0150: 20 20 20 20 52 65 6c 65 61 73 65 64 20 74 6f 20      Released to 
0160: 74 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69  the public domai
0170: 6e 2c 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f  n, use at your o
0180: 77 6e 20 72 69 73 6b 21 3c 62 72 3e 0a 20 20 20  wn risk!<br>.   
0190: 20 3c 62 72 3e 0a 20 20 20 20 54 68 65 20 6c 61   <br>.    The la
01a0: 74 65 73 74 20 76 65 72 73 69 6f 6e 20 63 61 6e  test version can
01b0: 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 3c   be downloaded <
01c0: 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 73  a href="http://s
01d0: 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 2f 70  ourceforge.net/p
01e0: 72 6f 6a 65 63 74 73 2f 73 71 6c 69 74 65 2d 64  rojects/sqlite-d
01f0: 6f 74 6e 65 74 32 22 3e 0a 20 20 20 20 20 20 68  otnet2">.      h
0200: 65 72 65 3c 2f 61 3e 0a 20 20 20 20 3c 62 72 3e  ere</a>.    <br>
0210: 0a 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 3c 62  .    <br>.    <b
0220: 3e 3c 2f 62 3e 0a 20 20 20 20 3c 68 32 3e 0a 20  ></b>.    <h2>. 
0230: 20 20 20 20 20 3c 62 3e 46 65 61 74 75 72 65 73       <b>Features
0240: 3a 3c 2f 62 3e 3c 62 72 3e 0a 20 20 20 20 3c 2f  :</b><br>.    </
0250: 68 32 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20  h2>.    <UL>.   
0260: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 57 72     <LI>.      Wr
0270: 69 74 74 65 6e 20 66 72 6f 6d 20 73 63 72 61 74  itten from scrat
0280: 63 68 20 6f 6e 20 56 53 32 30 30 35 20 73 70 65  ch on VS2005 spe
0290: 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 41 44  cifically for AD
02a0: 4f 2e 4e 45 54 20 32 2e 30 2c 20 69 6d 70 6c 65  O.NET 2.0, imple
02b0: 6e 74 69 6e 67 20 61 6c 6c 20 74 68 65 0a 20 20  nting all the.  
02c0: 20 20 20 20 62 61 73 65 20 63 6c 61 73 73 65 73      base classes
02d0: 20 61 6e 64 20 66 65 61 74 75 72 65 73 20 72 65   and features re
02e0: 63 65 6e 74 6c 79 20 69 6e 74 72 6f 64 75 63 65  cently introduce
02f0: 64 20 69 6e 20 74 68 65 20 66 72 61 6d 65 77 6f  d in the framewo
0300: 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 61 75  rk, including au
0310: 74 6f 6d 61 74 69 63 0a 20 20 20 20 20 20 74 72  tomatic.      tr
0320: 61 6e 73 61 63 74 69 6f 6e 20 65 6e 6c 69 73 74  ansaction enlist
0330: 6d 65 6e 74 2e 3c 6c 69 3e 53 75 70 70 6f 72 74  ment.<li>Support
0340: 73 20 74 68 65 20 46 75 6c 6c 0a 20 20 20 20 20  s the Full.     
0350: 20 20 20 61 6e 64 20 43 6f 6d 70 61 63 74 20 2e     and Compact .
0360: 4e 45 54 20 46 72 61 6d 65 77 6f 72 6b 2c 20 61  NET Framework, a
0370: 73 20 77 65 6c 6c 20 61 73 20 6e 61 74 69 76 65  s well as native
0380: 20 43 2f 43 2b 2b 20 64 65 76 65 6c 6f 70 6d 65   C/C++ developme
0390: 6e 74 2e 26 6e 62 73 70 3b 20 31 30 30 25 20 62  nt.&nbsp; 100% b
03a0: 69 6e 61 72 79 0a 20 20 20 20 20 20 20 20 63 6f  inary.        co
03b0: 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68  mpatible with th
03c0: 65 20 6f 72 69 67 69 6e 61 6c 20 73 71 6c 69 74  e original sqlit
03d0: 65 33 2e 64 6c 6c 2e 3c 2f 6c 69 3e 0a 20 20 20  e3.dll.</li>.   
03e0: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 4f 6e     <LI>.      On
03f0: 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61   the Compact Fra
0400: 6d 65 77 6f 72 6b 2c 20 69 74 20 69 73 20 66 61  mework, it is fa
0410: 73 74 65 72 20 74 68 61 6e 20 74 68 65 20 6e 65  ster than the ne
0420: 77 6c 79 2d 69 6e 74 72 6f 64 75 63 65 64 20 53  wly-introduced S
0430: 71 6c 20 53 65 72 76 65 72 20 0a 20 20 20 20 20  ql Server .     
0440: 20 4d 6f 62 69 6c 65 2e 20 20 53 51 4c 69 74 65   Mobile.  SQLite
0450: 27 73 20 69 6e 73 74 61 6c 6c 65 64 20 73 69 7a  's installed siz
0460: 65 20 69 73 20 61 20 66 72 61 63 74 69 6f 6e 20  e is a fraction 
0470: 6f 66 20 53 71 6c 20 4d 6f 62 69 6c 65 27 73 2e  of Sql Mobile's.
0480: 20 49 74 20 75 73 65 73 20 6c 65 73 73 20 6d 65   It uses less me
0490: 6d 6f 72 79 20 61 74 20 72 75 6e 74 69 6d 65 2c  mory at runtime,
04a0: 20 72 75 6e 73 20 71 75 65 72 69 65 73 20 66 61   runs queries fa
04b0: 73 74 65 72 2c 20 61 6e 64 20 68 61 73 20 61 20  ster, and has a 
04c0: 73 6d 61 6c 6c 65 72 20 64 61 74 61 62 61 73 65  smaller database
04d0: 20 66 69 6c 65 20 73 69 7a 65 20 61 73 20 77 65   file size as we
04e0: 6c 6c 2e 0a 20 20 20 20 20 20 3c 6c 69 3e 45 6e  ll..      <li>En
04f0: 63 72 79 70 74 65 64 20 64 61 74 61 62 61 73 65  crypted database
0500: 20 73 75 70 70 6f 72 74 2e 26 6e 62 73 70 3b 20   support.&nbsp; 
0510: 45 6e 63 72 79 70 74 65 64 20 64 61 74 61 62 61  Encrypted databa
0520: 73 65 73 20 61 72 65 20 66 75 6c 6c 79 20 65 6e  ses are fully en
0530: 63 72 79 70 74 65 64 20 61 6e 64 0a 20 20 20 20  crypted and.    
0540: 20 20 20 20 73 75 70 70 6f 72 74 20 62 6f 74 68      support both
0550: 20 62 69 6e 61 72 79 20 61 6e 64 20 63 6c 65 61   binary and clea
0560: 72 74 65 78 74 20 70 61 73 73 77 6f 72 64 20 74  rtext password t
0570: 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  ypes.</li>.     
0580: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 56 69 73 75   <LI>.      Visu
0590: 61 6c 20 53 74 75 64 69 6f 20 32 30 30 35 20 44  al Studio 2005 D
05a0: 65 73 69 67 6e 2d 54 69 6d 65 20 53 75 70 70 6f  esign-Time Suppo
05b0: 72 74 2c 20 77 6f 72 6b 73 20 77 69 74 68 20 61  rt, works with a
05c0: 6c 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 56  ll versions of V
05d0: 53 32 30 30 35 2c 20 69 6e 63 6c 75 64 69 6e 67  S2005, including
05e0: 0a 20 20 20 20 20 20 61 6c 6c 20 45 78 70 72 65  .      all Expre
05f0: 73 73 20 45 64 69 74 69 6f 6e 73 2e 26 6e 62 73  ss Editions.&nbs
0600: 70 3b 20 59 6f 75 20 63 61 6e 20 61 64 64 20 61  p; You can add a
0610: 20 53 51 4c 69 74 65 20 0a 20 20 20 20 20 20 64   SQLite .      d
0620: 61 74 61 62 61 73 65 20 74 6f 20 74 68 65 20 53  atabase to the S
0630: 65 72 76 65 72 73 20 6c 69 73 74 2c 20 64 65 73  ervers list, des
0640: 69 67 6e 20 71 75 65 72 69 65 73 20 77 69 74 68  ign queries with
0650: 20 74 68 65 20 51 75 65 72 79 20 44 65 73 69 67   the Query Desig
0660: 6e 65 72 2c 20 0a 20 20 20 20 20 20 64 72 61 67  ner, .      drag
0670: 2d 61 6e 64 2d 64 72 6f 70 20 74 61 62 6c 65 73  -and-drop tables
0680: 20 6f 6e 74 6f 20 61 20 54 79 70 65 64 20 44 61   onto a Typed Da
0690: 74 61 53 65 74 2c 20 65 74 63 2e 0a 20 20 20 20  taSet, etc..    
06a0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53 69 6e    <LI>.      Sin
06b0: 67 6c 65 20 66 69 6c 65 20 72 65 64 69 73 74 72  gle file redistr
06c0: 69 62 75 74 61 62 6c 65 2e 26 6e 62 73 70 3b 20  ibutable.&nbsp; 
06d0: 54 68 65 20 63 6f 72 65 20 73 71 6c 69 74 65 33  The core sqlite3
06e0: 20 63 6f 64 65 62 61 73 65 20 61 6e 64 20 74 68   codebase and th
06f0: 65 20 41 44 4f 2e 4e 45 54 20 77 72 61 70 70 65  e ADO.NET wrappe
0700: 72 20 0a 20 20 20 20 20 20 61 72 65 20 63 6f 6d  r .      are com
0710: 62 69 6e 65 64 20 69 6e 74 6f 20 6f 6e 65 20 6d  bined into one m
0720: 75 6c 74 69 2d 6d 6f 64 75 6c 65 20 61 73 73 65  ulti-module asse
0730: 6d 62 6c 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  mbly..      <LI>
0740: 0a 20 20 20 20 20 20 42 69 6e 61 72 69 65 73 20  .      Binaries 
0750: 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 49 74 61  included for Ita
0760: 6e 69 75 6d 2c 20 78 36 34 2c 20 78 38 36 20 61  nium, x64, x86 a
0770: 6e 64 20 41 52 4d 20 70 72 6f 63 65 73 73 6f 72  nd ARM processor
0780: 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  s..      <LI>.  
0790: 20 20 20 20 44 62 50 72 6f 76 69 64 65 72 46 61      DbProviderFa
07a0: 63 74 6f 72 79 20 73 75 70 70 6f 72 74 2e 0a 20  ctory support.. 
07b0: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
07c0: 20 20 46 75 6c 6c 20 73 75 70 70 6f 72 74 20 66    Full support f
07d0: 6f 72 20 41 54 54 41 43 48 27 65 64 20 64 61 74  or ATTACH'ed dat
07e0: 61 62 61 73 65 73 2e 26 6e 62 73 70 3b 20 45 78  abases.&nbsp; Ex
07f0: 70 6f 73 65 64 20 61 73 20 3c 49 3e 43 61 74 61  posed as <I>Cata
0800: 6c 6f 67 73 3c 2f 49 3e 0a 20 20 20 20 20 20 69  logs</I>.      i
0810: 6e 20 74 68 65 20 73 63 68 65 6d 61 2e 26 6e 62  n the schema.&nb
0820: 73 70 3b 20 57 68 65 6e 20 63 6c 6f 6e 69 6e 67  sp; When cloning
0830: 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 61   a connection, a
0840: 6c 6c 20 61 74 74 61 63 68 65 64 20 64 61 74 61  ll attached data
0850: 62 61 73 65 73 20 61 72 65 20 0a 20 20 20 20 20  bases are .     
0860: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72   automatically r
0870: 65 2d 61 74 74 61 63 68 65 64 20 74 6f 20 74 68  e-attached to th
0880: 65 20 6e 65 77 20 63 6f 6e 6e 65 63 74 69 6f 6e  e new connection
0890: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
08a0: 20 20 20 20 20 44 62 43 6f 6e 6e 65 63 74 69 6f       DbConnectio
08b0: 6e 2e 47 65 74 53 63 68 65 6d 61 28 2e 2e 2e 29  n.GetSchema(...)
08c0: 20 73 75 70 70 6f 72 74 20 69 6e 63 6c 75 64 65   support include
08d0: 73 20 74 68 65 20 3c 49 3e 4d 65 74 61 44 61 74  s the <I>MetaDat
08e0: 61 43 6f 6c 6c 65 63 74 69 6f 6e 73 3c 2f 49 3e  aCollections</I>
08f0: 2c 20 3c 49 3e 44 61 74 61 53 6f 75 72 63 65 49  , <I>DataSourceI
0900: 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 49 3e 2c 0a  nformation</I>,.
0910: 20 20 20 20 20 20 20 20 3c 49 3e 43 6f 6c 75 6d          <I>Colum
0920: 6e 73 3c 2f 49 3e 2c 20 3c 49 3e 54 61 62 6c 65  ns</I>, <I>Table
0930: 73 3c 2f 49 3e 2c 20 3c 49 3e 56 69 65 77 73 2c  s</I>, <I>Views,
0940: 20 56 69 65 77 43 6f 6c 75 6d 6e 73 2c 20 3c 2f   ViewColumns, </
0950: 49 3e 3c 49 3e 43 61 74 61 6c 6f 67 73 2c 20 3c  I><I>Catalogs, <
0960: 2f 49 3e 3c 49 3e 49 6e 64 65 78 65 73 2c 20 0a  /I><I>Indexes, .
0970: 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 43            IndexC
0980: 6f 6c 75 6d 6e 73 20 3c 2f 49 3e 61 6e 64 20 3c  olumns </I>and <
0990: 45 4d 3e 46 6f 72 65 69 67 6e 4b 65 79 73 3c 2f  EM>ForeignKeys</
09a0: 45 4d 3e 0a 20 20 20 20 20 20 6b 65 79 77 6f 72  EM>.      keywor
09b0: 64 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  ds..      <LI>. 
09c0: 20 20 20 20 20 45 6e 68 61 6e 63 65 64 20 44 62       Enhanced Db
09d0: 44 61 74 61 52 65 61 64 65 72 2e 47 65 74 53 63  DataReader.GetSc
09e0: 68 65 6d 61 54 61 62 6c 65 28 29 20 66 75 6e 63  hemaTable() func
09f0: 74 69 6f 6e 61 6c 69 74 79 20 72 65 74 75 72 6e  tionality return
0a00: 73 20 63 61 74 61 6c 6f 67 2c 20 6e 61 6d 65 73  s catalog, names
0a10: 70 61 63 65 20 0a 20 20 20 20 20 20 61 6e 64 20  pace .      and 
0a20: 64 65 74 61 69 6c 65 64 20 73 63 68 65 6d 61 20  detailed schema 
0a30: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 65 76 65 6e  information even
0a40: 20 66 6f 72 20 63 6f 6d 70 6c 65 78 20 71 75 65   for complex que
0a50: 72 69 65 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  ries..      <LI>
0a60: 0a 20 20 20 20 20 20 4e 61 6d 65 64 20 61 6e 64  .      Named and
0a70: 20 75 6e 6e 61 6d 65 64 20 70 61 72 61 6d 65 74   unnamed paramet
0a80: 65 72 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  ers..      <LI>.
0a90: 20 20 20 20 20 20 46 75 6c 6c 20 55 54 46 2d 38        Full UTF-8
0aa0: 20 61 6e 64 20 55 54 46 2d 31 36 20 73 75 70 70   and UTF-16 supp
0ab0: 6f 72 74 2c 20 65 61 63 68 20 77 69 74 68 20 6f  ort, each with o
0ac0: 70 74 69 6d 69 7a 65 64 20 70 69 70 65 6c 69 6e  ptimized pipelin
0ad0: 65 73 20 69 6e 74 6f 20 74 68 65 20 6e 61 74 69  es into the nati
0ae0: 76 65 20 0a 20 20 20 20 20 20 64 61 74 61 62 61  ve .      databa
0af0: 73 65 20 63 6f 72 65 2e 0a 20 20 20 20 20 20 3c  se core..      <
0b00: 4c 49 3e 0a 20 20 20 20 20 20 4d 75 6c 74 69 70  LI>.      Multip
0b10: 6c 65 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 20  le simultaneous 
0b20: 44 61 74 61 52 65 61 64 65 72 73 20 28 6f 6e 65  DataReaders (one
0b30: 20 44 61 74 61 52 65 61 64 65 72 20 70 65 72 20   DataReader per 
0b40: 43 6f 6d 6d 61 6e 64 20 68 6f 77 65 76 65 72 29  Command however)
0b50: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
0b60: 20 20 20 46 75 6c 6c 20 73 75 70 70 6f 72 74 20     Full support 
0b70: 66 6f 72 20 75 73 65 72 2d 64 65 66 69 6e 65 64  for user-defined
0b80: 20 73 63 61 6c 61 72 20 61 6e 64 20 61 67 67 72   scalar and aggr
0b90: 65 67 61 74 65 20 66 75 6e 63 74 69 6f 6e 73 2c  egate functions,
0ba0: 20 65 6e 63 61 70 73 75 6c 61 74 65 64 20 69 6e   encapsulated in
0bb0: 74 6f 20 0a 20 20 20 20 20 20 61 6e 20 65 61 73  to .      an eas
0bc0: 79 2d 74 6f 2d 75 73 65 20 62 61 73 65 20 63 6c  y-to-use base cl
0bd0: 61 73 73 20 69 6e 20 77 68 69 63 68 20 6f 6e 6c  ass in which onl
0be0: 79 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 6f 76  y a couple of ov
0bf0: 65 72 72 69 64 65 73 20 61 72 65 20 6e 65 63 65  errides are nece
0c00: 73 73 61 72 79 20 74 6f 20 0a 20 20 20 20 20 20  ssary to .      
0c10: 69 6d 70 6c 65 6d 65 6e 74 20 6e 65 77 20 53 51  implement new SQ
0c20: 4c 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20  L functions..   
0c30: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 75     <LI>.      Fu
0c40: 6c 6c 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75  ll support for u
0c50: 73 65 72 2d 64 65 66 69 6e 65 64 20 63 6f 6c 6c  ser-defined coll
0c60: 61 74 69 6e 67 20 73 65 71 75 65 6e 63 65 73 2c  ating sequences,
0c70: 20 65 76 65 72 79 20 62 69 74 20 61 73 20 73 69   every bit as si
0c80: 6d 70 6c 65 20 74 6f 20 0a 20 20 20 20 20 20 69  mple to .      i
0c90: 6d 70 6c 65 6d 65 6e 74 20 61 73 20 75 73 65 72  mplement as user
0ca0: 2d 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f  -defined functio
0cb0: 6e 73 20 61 6e 64 20 75 73 65 73 20 74 68 65 20  ns and uses the 
0cc0: 73 61 6d 65 20 62 61 73 65 20 63 6c 61 73 73 2e  same base class.
0cd0: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
0ce0: 20 20 20 20 46 75 6c 6c 20 73 6f 75 72 63 65 20      Full source 
0cf0: 66 6f 72 20 74 68 65 20 65 6e 74 69 72 65 20 65  for the entire e
0d00: 6e 67 69 6e 65 20 61 6e 64 20 77 72 61 70 70 65  ngine and wrappe
0d10: 72 2e 26 6e 62 73 70 3b 20 4e 6f 20 63 6f 70 79  r.&nbsp; No copy
0d20: 72 69 67 68 74 73 2e 26 6e 62 73 70 3b 20 0a 20  rights.&nbsp; . 
0d30: 20 20 20 20 20 20 20 50 75 62 6c 69 63 20 44 6f         Public Do
0d40: 6d 61 69 6e 2e 26 6e 62 73 70 3b 20 31 30 30 25  main.&nbsp; 100%
0d50: 20 66 72 65 65 20 66 6f 72 20 63 6f 6d 6d 65 72   free for commer
0d60: 63 69 61 6c 20 61 6e 64 20 6e 6f 6e 2d 63 6f 6d  cial and non-com
0d70: 6d 65 72 63 69 61 6c 20 75 73 65 2e 26 6e 62 73  mercial use.&nbs
0d80: 70 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20  p;</LI></UL>.   
0d90: 20 3c 73 74 72 6f 6e 67 3e 3c 2f 73 74 72 6f 6e   <strong></stron
0da0: 67 3e 0a 20 20 20 20 3c 68 32 3e 0a 20 20 20 20  g>.    <h2>.    
0db0: 20 20 3c 73 74 72 6f 6e 67 3e 44 65 73 69 67 6e    <strong>Design
0dc0: 2d 54 69 6d 65 20 53 75 70 70 6f 72 74 20 28 6e  -Time Support (n
0dd0: 65 77 20 61 73 20 6f 66 20 31 2e 30 2e 31 34 29  ew as of 1.0.14)
0de0: 3c 2f 73 74 72 6f 6e 67 3e 3c 2f 68 32 3e 0a 20  </strong></h2>. 
0df0: 20 20 20 3c 50 3e 0a 20 20 20 20 20 20 49 6e 20     <P>.      In 
0e00: 57 69 6e 64 6f 77 73 20 45 78 70 6c 6f 72 65 72  Windows Explorer
0e10: 2c 20 6e 61 76 69 67 61 74 65 20 74 6f 20 74 68  , navigate to th
0e20: 65 20 3c 53 54 52 4f 4e 47 3e 53 51 4c 69 74 65  e <STRONG>SQLite
0e30: 2e 4e 45 54 5c 62 69 6e 5c 44 65 73 69 67 6e 65  .NET\bin\Designe
0e40: 72 3c 2f 53 54 52 4f 4e 47 3e 0a 20 20 20 20 20  r</STRONG>.     
0e50: 20 20 20 66 6f 6c 64 65 72 20 61 6e 64 20 65 78     folder and ex
0e60: 65 63 75 74 65 20 74 68 65 20 3c 53 54 52 4f 4e  ecute the <STRON
0e70: 47 3e 49 4e 53 54 41 4c 4c 2e 45 58 45 3c 2f 53  G>INSTALL.EXE</S
0e80: 54 52 4f 4e 47 3e 0a 20 20 20 20 20 20 66 69 6c  TRONG>.      fil
0e90: 65 2e 26 6e 62 73 70 3b 20 54 68 65 20 70 72 6f  e.&nbsp; The pro
0ea0: 67 72 61 6d 20 77 69 6c 6c 0a 20 20 20 20 20 20  gram will.      
0eb0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 64 65  automatically de
0ec0: 74 65 63 74 20 77 68 61 74 20 76 65 72 73 69 6f  tect what versio
0ed0: 6e 28 73 29 20 6f 66 20 56 69 73 75 61 6c 20 53  n(s) of Visual S
0ee0: 74 75 64 69 6f 20 32 30 30 35 20 61 72 65 20 69  tudio 2005 are i
0ef0: 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 61 6c 6c  nstalled and all
0f00: 6f 77 0a 20 20 20 20 20 20 79 6f 75 20 74 6f 20  ow.      you to 
0f10: 73 65 6c 65 63 74 69 76 65 6c 79 20 69 6e 73 74  selectively inst
0f20: 61 6c 6c 20 61 6e 64 20 75 6e 69 6e 73 74 61 6c  all and uninstal
0f30: 6c 20 74 68 65 20 64 65 73 69 67 6e 65 72 20 66  l the designer f
0f40: 6f 72 20 65 61 63 68 20 65 64 69 74 69 6f 6e 2e  or each edition.
0f50: 3c 2f 50 3e 0a 20 20 20 20 3c 48 32 3e 3c 53 54  </P>.    <H2><ST
0f60: 52 4f 4e 47 3e 44 62 46 61 63 74 6f 72 79 20 53  RONG>DbFactory S
0f70: 75 70 70 6f 72 74 20 28 4e 6f 6e 2d 43 6f 6d 70  upport (Non-Comp
0f80: 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 29 3c 2f  act Framework)</
0f90: 53 54 52 4f 4e 47 3e 3c 2f 48 32 3e 0a 20 20 20  STRONG></H2>.   
0fa0: 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65   In order to use
0fb0: 20 74 68 65 20 53 51 4c 69 74 65 46 61 63 74 6f   the SQLiteFacto
0fc0: 72 79 20 61 6e 64 20 68 61 76 65 20 74 68 65 20  ry and have the 
0fd0: 53 51 4c 69 74 65 20 64 61 74 61 20 70 72 6f 76  SQLite data prov
0fe0: 69 64 65 72 20 65 6e 75 6d 65 72 61 74 65 64 20  ider enumerated 
0ff0: 0a 20 20 20 20 69 6e 20 74 68 65 20 44 62 50 72  .    in the DbPr
1000: 6f 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 20  oviderFactories 
1010: 6d 65 74 68 6f 64 73 2c 20 79 6f 75 20 6d 75 73  methods, you mus
1020: 74 20 61 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77  t add the follow
1030: 69 6e 67 20 73 65 67 6d 65 6e 74 20 69 6e 74 6f  ing segment into
1040: 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f   your applicatio
1050: 6e 27 73 20 61 70 70 2e 63 6f 6e 66 69 67 20 66  n's app.config f
1060: 69 6c 65 3a 3c 62 72 3e 0a 20 20 20 20 3c 62 72  ile:<br>.    <br
1070: 3e 0a 20 20 20 20 3c 70 72 65 3e 26 6c 74 3b 63  >.    <pre>&lt;c
1080: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 26 67 74 3b  onfiguration&gt;
1090: 0a 20 20 26 6c 74 3b 73 79 73 74 65 6d 2e 64 61  .  &lt;system.da
10a0: 74 61 26 67 74 3b 0a 20 20 20 20 26 6c 74 3b 44  ta&gt;.    &lt;D
10b0: 62 50 72 6f 76 69 64 65 72 46 61 63 74 6f 72 69  bProviderFactori
10c0: 65 73 26 67 74 3b 0a 20 20 20 20 20 20 26 6c 74  es&gt;.      &lt
10d0: 3b 72 65 6d 6f 76 65 20 69 6e 76 61 72 69 61 6e  ;remove invarian
10e0: 74 3d 22 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  t="System.Data.S
10f0: 51 4c 69 74 65 22 2f 26 67 74 3b 0a 20 20 20 20  QLite"/&gt;.    
1100: 20 20 26 6c 74 3b 61 64 64 20 6e 61 6d 65 3d 22    &lt;add name="
1110: 53 51 4c 69 74 65 20 44 61 74 61 20 50 72 6f 76  SQLite Data Prov
1120: 69 64 65 72 22 20 69 6e 76 61 72 69 61 6e 74 3d  ider" invariant=
1130: 22 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  "System.Data.SQL
1140: 69 74 65 22 20 64 65 73 63 72 69 70 74 69 6f 6e  ite" description
1150: 3d 22 2e 4e 65 74 20 46 72 61 6d 65 77 6f 72 6b  =".Net Framework
1160: 20 44 61 74 61 20 50 72 6f 76 69 64 65 72 20 66   Data Provider f
1170: 6f 72 20 53 51 4c 69 74 65 22 3c 42 52 20 3e 20  or SQLite"<BR > 
1180: 74 79 70 65 3d 22 53 79 73 74 65 6d 2e 44 61 74  type="System.Dat
1190: 61 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74 65 46  a.SQLite.SQLiteF
11a0: 61 63 74 6f 72 79 2c 20 53 79 73 74 65 6d 2e 44  actory, System.D
11b0: 61 74 61 2e 53 51 4c 69 74 65 22 20 2f 26 67 74  ata.SQLite" /&gt
11c0: 3b 0a 20 20 20 20 26 6c 74 3b 2f 44 62 50 72 6f  ;.    &lt;/DbPro
11d0: 76 69 64 65 72 46 61 63 74 6f 72 69 65 73 26 67  viderFactories&g
11e0: 74 3b 0a 20 20 26 6c 74 3b 2f 73 79 73 74 65 6d  t;.  &lt;/system
11f0: 2e 64 61 74 61 26 67 74 3b 0a 26 6c 74 3b 2f 63  .data&gt;.&lt;/c
1200: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 26 67 74 3b  onfiguration&gt;
1210: 0a 3c 2f 70 72 65 3e 0a 20 20 20 20 3c 70 3e 53  .</pre>.    <p>S
1220: 65 65 20 74 68 65 20 68 65 6c 70 20 64 6f 63 75  ee the help docu
1230: 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 66 75  mentation for fu
1240: 72 74 68 65 72 20 64 65 74 61 69 6c 73 20 6f 6e  rther details on
1250: 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 62 6f   implementing bo
1260: 74 68 20 76 65 72 73 69 6f 6e 2d 73 70 65 63 69  th version-speci
1270: 66 69 63 20 28 47 41 43 20 65 6e 61 62 6c 65 64  fic (GAC enabled
1280: 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 69 6e  ) and version in
1290: 64 65 70 65 6e 64 65 6e 74 20 44 42 50 72 6f 76  dependent DBProv
12a0: 69 64 65 72 46 61 63 74 6f 72 69 65 73 20 73 75  iderFactories su
12b0: 70 70 6f 72 74 2e 0a 20 20 20 20 20 20 3c 2f 70  pport..      </p
12c0: 3e 0a 20 20 20 20 3c 68 33 3e 0a 20 20 20 20 20  >.    <h3>.     
12d0: 20 43 6f 6d 70 69 6c 69 6e 67 20 66 6f 72 20 74   Compiling for t
12e0: 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61 6d 65  he Compact Frame
12f0: 77 6f 72 6b 3c 2f 68 33 3e 0a 20 20 20 20 3c 70  work</h3>.    <p
1300: 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 63 68 61  >.      Just cha
1310: 6e 67 65 20 74 68 65 20 74 61 72 67 65 74 20 70  nge the target p
1320: 6c 61 74 66 6f 72 6d 20 66 72 6f 6d 20 57 69 6e  latform from Win
1330: 33 32 20 74 6f 20 43 6f 6d 70 61 63 74 20 46 72  32 to Compact Fr
1340: 61 6d 65 77 6f 72 6b 20 61 6e 64 20 0a 20 20 20  amework and .   
1350: 20 20 20 72 65 63 6f 6d 70 69 6c 65 2e 26 6e 62     recompile.&nb
1360: 73 70 3b 20 3c 53 54 52 4f 4e 47 3e 54 68 65 20  sp; <STRONG>The 
1370: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
1380: 6b 20 68 61 73 20 6e 6f 20 73 75 70 70 6f 72 74  k has no support
1390: 20 66 6f 72 20 65 6e 75 6d 65 72 61 74 69 6e 67   for enumerating
13a0: 20 0a 20 20 20 20 20 20 20 20 61 74 74 72 69 62   .        attrib
13b0: 75 74 65 73 20 69 6e 20 61 6e 20 61 73 73 65 6d  utes in an assem
13c0: 62 6c 79 2c 20 74 68 65 72 65 66 6f 72 65 20 61  bly, therefore a
13d0: 6c 6c 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20  ll user-defined 
13e0: 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71 75 65 6e  collating sequen
13f0: 63 65 73 20 61 6e 64 20 0a 20 20 20 20 20 20 20  ces and .       
1400: 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75 73 74 20   functions must 
1410: 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 72 65  be explicitly re
1420: 67 69 73 74 65 72 65 64 2e 3c 2f 53 54 52 4f 4e  gistered.</STRON
1430: 47 3e 26 6e 62 73 70 3b 20 53 65 65 20 74 68 65  G>&nbsp; See the
1440: 20 3c 53 54 52 4f 4e 47 3e 74 65 73 74 63 65 3c   <STRONG>testce<
1450: 2f 53 54 52 4f 4e 47 3e 0a 20 20 20 20 20 20 73  /STRONG>.      s
1460: 61 6d 70 6c 65 20 61 70 70 6c 69 63 61 74 69 6f  ample applicatio
1470: 6e 20 66 6f 72 20 61 6e 20 65 78 61 6d 70 6c 65  n for an example
1480: 20 6f 66 20 68 6f 77 20 74 6f 20 65 78 70 6c 69   of how to expli
1490: 63 69 74 6c 79 20 72 65 67 69 73 74 65 72 20 75  citly register u
14a0: 73 65 72 2d 64 65 66 69 6e 65 64 20 0a 20 20 20  ser-defined .   
14b0: 20 20 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71     collating seq
14c0: 75 65 6e 63 65 73 20 61 6e 64 20 66 75 6e 63 74  uences and funct
14d0: 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 3c 68  ions.</p>.    <h
14e0: 32 3e 0a 20 20 20 20 20 20 3c 62 3e 3c 41 20 6e  2>.      <b><A n
14f0: 61 6d 65 3d 22 72 65 64 69 73 74 22 3e 3c 2f 41  ame="redist"></A
1500: 3e 44 69 73 74 72 69 62 75 74 69 6e 67 20 54 68  >Distributing Th
1510: 65 20 53 51 4c 69 74 65 20 45 6e 67 69 6e 65 20  e SQLite Engine 
1520: 61 6e 64 20 41 44 4f 2e 4e 45 54 20 41 73 73 65  and ADO.NET Asse
1530: 6d 62 6c 79 3c 2f 62 3e 3c 2f 68 32 3e 0a 20 20  mbly</b></h2>.  
1540: 20 20 3c 50 3e 0a 20 20 20 20 20 20 4f 6e 6c 79    <P>.      Only
1550: 20 74 68 65 20 3c 53 54 52 4f 4e 47 3e 53 79 73   the <STRONG>Sys
1560: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
1570: 44 4c 4c 3c 2f 53 54 52 4f 4e 47 3e 20 66 69 6c  DLL</STRONG> fil
1580: 65 20 6e 65 65 64 73 20 74 6f 20 62 65 20 64 69  e needs to be di
1590: 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 79  stributed with y
15a0: 6f 75 72 20 0a 20 20 20 20 20 20 61 70 70 6c 69  our .      appli
15b0: 63 61 74 69 6f 6e 28 73 29 2e 26 6e 62 73 70 3b  cation(s).&nbsp;
15c0: 20 54 68 69 73 20 44 4c 4c 20 63 6f 6e 74 61 69   This DLL contai
15d0: 6e 73 20 62 6f 74 68 20 74 68 65 20 6d 61 6e 61  ns both the mana
15e0: 67 65 64 20 77 72 61 70 70 65 72 20 61 6e 64 20  ged wrapper and 
15f0: 74 68 65 20 6e 61 74 69 76 65 20 0a 20 20 20 20  the native .    
1600: 20 20 53 51 4c 69 74 65 33 20 63 6f 64 65 62 61    SQLite3 codeba
1610: 73 65 2e 3c 2f 50 3e 0a 20 20 20 20 3c 48 32 3e  se.</P>.    <H2>
1620: 3c 42 3e 44 65 76 65 6c 6f 70 6d 65 6e 74 20 4e  <B>Development N
1630: 6f 74 65 73 20 52 65 67 61 72 64 69 6e 67 20 74  otes Regarding t
1640: 68 65 20 53 51 4c 69 74 65 20 33 20 53 6f 75 72  he SQLite 3 Sour
1650: 63 65 20 43 6f 64 65 3c 2f 42 3e 3c 2f 48 32 3e  ce Code</B></H2>
1660: 0a 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54  .    <p>.      T
1670: 68 65 20 53 51 4c 69 74 65 33 20 73 6f 75 72 63  he SQLite3 sourc
1680: 65 20 63 6f 64 65 20 69 73 20 63 6f 6d 70 69 6c  e code is compil
1690: 65 64 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d  ed directly from
16a0: 20 74 68 65 20 53 51 4c 69 74 65 2e 6f 72 67 20   the SQLite.org 
16b0: 72 65 6c 65 61 73 65 0a 20 20 20 20 20 20 73 6f  release.      so
16c0: 75 72 63 65 73 2e 26 6e 62 73 70 3b 20 41 6c 6c  urces.&nbsp; All
16d0: 20 62 75 69 6c 64 73 20 6f 66 20 73 71 6c 69 74   builds of sqlit
16e0: 65 20 61 66 74 65 72 20 33 2e 32 2e 38 20 68 61  e after 3.2.8 ha
16f0: 76 65 20 69 6e 63 6c 75 64 65 64 20 73 75 70 70  ve included supp
1700: 6f 72 74 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ort for Windows 
1710: 43 45 2e 26 6e 62 73 70 3b 20 41 64 64 69 74 69  CE.&nbsp; Additi
1720: 6f 6e 61 6c 6c 79 2c 0a 20 20 20 20 20 20 6a 75  onally,.      ju
1730: 73 74 20 6f 6e 65 20 6d 69 6e 6f 72 20 6d 6f 64  st one minor mod
1740: 69 66 69 63 61 74 69 6f 6e 20 69 73 20 6d 61 64  ification is mad
1750: 65 20 74 6f 20 70 61 67 65 72 2e 63 2c 20 74 68  e to pager.c, th
1760: 61 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20  at modification 
1770: 69 73 20 6d 61 64 65 20 61 75 74 6f 6d 61 74 69  is made automati
1780: 63 61 6c 6c 79 20 62 79 20 74 68 65 20 66 69 78  cally by the fix
1790: 73 6f 75 72 63 65 2e 76 62 73 20 66 69 6c 65 0a  source.vbs file.
17a0: 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 56        when the V
17b0: 53 32 30 30 35 20 73 6f 6c 75 74 69 6f 6e 20 69  S2005 solution i
17c0: 73 20 63 6f 6d 70 69 6c 65 64 2e 3c 2f 70 3e 0a  s compiled.</p>.
17d0: 20 20 20 20 3c 70 3e 3c 2f 70 3e 0a 20 20 20 20      <p></p>.    
17e0: 3c 70 3e 0a 20 20 20 20 20 20 3c 62 3e 56 65 72  <p>.      <b>Ver
17f0: 73 69 6f 6e 20 48 69 73 74 6f 72 79 3c 2f 62 3e  sion History</b>
1800: 3c 2f 70 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31  </p>.    <p><b>1
1810: 2e 30 2e 32 37 2e 30 20 2d 20 46 65 62 72 75 61  .0.27.0 - Februa
1820: 72 79 20 32 37 2c 20 32 30 30 36 3c 2f 62 3e 3c  ry 27, 2006</b><
1830: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
1840: 20 3c 6c 69 3e 4d 61 6e 79 20 6f 70 74 69 6d 69   <li>Many optimi
1850: 7a 61 74 69 6f 6e 73 20 61 6e 64 20 61 20 66 65  zations and a fe
1860: 77 20 6d 6f 72 65 20 6d 69 6e 6f 72 20 61 64 6a  w more minor adj
1870: 75 73 74 6d 65 6e 74 73 20 74 6f 20 73 63 68 65  ustments to sche
1880: 6d 61 73 20 61 6e 64 20 73 63 68 65 6d 61 20 72  mas and schema r
1890: 65 74 72 69 65 76 61 6c 0a 20 20 20 20 20 20 70  etrieval.      p
18a0: 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 6c 69 3e  erformance.</li>
18b0: 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74 73 20  .      <li>Lots 
18c0: 6f 66 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 61  of design-time a
18d0: 74 74 72 69 62 75 74 65 73 20 61 64 64 65 64 20  ttributes added 
18e0: 74 6f 20 74 68 65 20 63 6f 64 65 2e 26 6e 62 73  to the code.&nbs
18f0: 70 3b 20 54 68 65 20 44 62 44 61 74 61 41 64 61  p; The DbDataAda
1900: 70 74 65 72 2c 20 44 62 43 6f 6d 6d 61 6e 64 2c  pter, DbCommand,
1910: 0a 20 20 20 20 20 20 20 20 61 6e 64 20 44 62 43  .        and DbC
1920: 6f 6e 6e 65 63 74 69 6f 6e 20 6f 62 6a 65 63 74  onnection object
1930: 73 20 6e 6f 77 20 68 61 76 65 20 67 72 65 61 74  s now have great
1940: 6c 79 20 65 6e 68 61 6e 63 65 64 20 64 65 73 69  ly enhanced desi
1950: 67 6e 2d 74 69 6d 65 20 63 61 70 61 62 69 6c 69  gn-time capabili
1960: 74 69 65 73 20 77 68 65 6e 0a 20 20 20 20 20 20  ties when.      
1970: 20 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 74    added to the t
1980: 6f 6f 6c 62 6f 78 20 61 6e 64 20 64 72 6f 70 70  oolbox and dropp
1990: 65 64 20 6f 6e 20 61 20 66 6f 72 6d 2e 3c 2f 6c  ed on a form.</l
19a0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 6f 74  i>.      <li>Lot
19b0: 73 20 6f 66 20 53 65 72 76 65 72 20 45 78 70 6c  s of Server Expl
19c0: 6f 72 65 72 20 65 6e 68 61 6e 63 65 6d 65 6e 74  orer enhancement
19d0: 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  s.</li>.      <l
19e0: 69 3e 42 69 6e 61 72 69 65 73 20 61 72 65 20 6e  i>Binaries are n
19f0: 6f 77 20 64 69 73 74 72 69 62 75 74 65 64 20 69  ow distributed i
1a00: 6e 20 61 20 73 65 74 75 70 20 70 72 6f 67 72 61  n a setup progra
1a10: 6d 20 66 6f 72 20 65 61 73 69 65 72 20 61 64 6d  m for easier adm
1a20: 69 6e 69 73 74 72 61 74 69 6f 6e 20 61 6e 64 0a  inistration and.
1a30: 20 20 20 20 20 20 20 20 63 6f 6e 66 69 67 75 72          configur
1a40: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 70 72 6f  ation of the pro
1a50: 76 69 64 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20  vider.</li>.    
1a60: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
1a70: 31 2e 30 2e 32 36 2e 32 20 2d 20 46 65 62 72 75  1.0.26.2 - Febru
1a80: 61 72 79 20 31 35 2c 20 32 30 30 36 3c 2f 62 3e  ary 15, 2006</b>
1a90: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
1aa0: 20 20 3c 6c 69 3e 59 65 74 20 61 6e 6f 74 68 65    <li>Yet anothe
1ab0: 72 20 62 75 67 66 69 78 20 74 6f 20 69 6e 64 65  r bugfix to inde
1ac0: 78 20 73 63 68 65 6d 61 73 2c 20 77 68 69 63 68  x schemas, which
1ad0: 20 77 61 73 20 69 6e 63 6f 72 72 65 63 74 6c 79   was incorrectly
1ae0: 20 6d 61 72 6b 69 6e 67 20 6d 6f 73 74 20 69 6e   marking most in
1af0: 64 65 78 65 73 0a 20 20 20 20 20 20 61 73 20 70  dexes.      as p
1b00: 72 69 6d 61 72 79 20 6b 65 79 20 69 6e 64 65 78  rimary key index
1b10: 65 73 2e 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78 65  es.</li><li>Fixe
1b20: 64 20 47 65 74 53 63 68 65 6d 61 28 29 20 74 6f  d GetSchema() to
1b30: 20 61 63 63 65 70 74 20 61 20 6e 75 6c 6c 20 73   accept a null s
1b40: 74 72 69 6e 67 20 61 72 72 61 79 2e 3c 2f 6c 69  tring array.</li
1b50: 3e 3c 6c 69 3e 46 69 78 65 64 20 61 20 6d 69 73  ><li>Fixed a mis
1b60: 73 70 65 6c 6c 65 64 20 65 78 70 6f 72 74 20 69  spelled export i
1b70: 6e 20 74 68 65 20 63 6f 72 65 20 43 20 6c 69 62  n the core C lib
1b80: 72 61 72 79 20 74 68 61 74 20 70 72 65 76 65 6e  rary that preven
1b90: 74 65 64 20 64 61 74 61 62 61 73 65 73 20 6f 70  ted databases op
1ba0: 65 6e 65 64 0a 20 20 20 20 77 69 74 68 20 55 54  ened.    with UT
1bb0: 46 31 36 45 6e 63 6f 64 69 6e 67 20 66 72 6f 6d  F16Encoding from
1bc0: 20 67 65 74 74 69 6e 67 20 73 63 68 65 6d 61 20   getting schema 
1bd0: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20  information and 
1be0: 77 6f 75 6c 64 20 6c 69 6b 65 6c 79 20 63 61 75  would likely cau
1bf0: 73 65 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20  se an error.    
1c00: 69 66 20 61 74 74 65 6d 70 74 65 64 2e 3c 2f 6c  if attempted.</l
1c10: 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c  i></ul>.    <p><
1c20: 62 3e 31 2e 30 2e 32 36 2e 31 20 2d 20 46 65 62  b>1.0.26.1 - Feb
1c30: 72 75 61 72 79 20 31 34 2c 20 32 30 30 36 3c 2f  ruary 14, 2006</
1c40: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
1c50: 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 65 76      <li>Fixed ev
1c60: 65 6e 20 6d 6f 72 65 20 6d 69 6e 6f 72 20 73 63  en more minor sc
1c70: 68 65 6d 61 20 62 75 67 73 20 68 61 76 69 6e 67  hema bugs having
1c80: 20 74 6f 20 64 6f 20 77 69 74 68 20 69 6e 64 65   to do with inde
1c90: 78 65 73 2e 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64  xes.</li><li>Add
1ca0: 65 64 20 74 77 6f 20 6d 69 73 73 69 6e 67 20 70  ed two missing p
1cb0: 69 65 63 65 73 20 69 6e 20 74 68 65 20 53 51 4c  ieces in the SQL
1cc0: 69 74 65 20 64 65 73 69 67 6e 65 72 20 77 68 69  ite designer whi
1cd0: 63 68 20 77 65 72 65 20 70 72 65 76 65 6e 74 69  ch were preventi
1ce0: 6e 67 20 69 74 20 66 72 6f 6d 0a 20 20 20 20 62  ng it from.    b
1cf0: 65 69 6e 67 20 75 73 65 64 20 66 72 6f 6d 20 77  eing used from w
1d00: 69 74 68 69 6e 20 56 53 20 45 78 70 72 65 73 73  ithin VS Express
1d10: 20 65 64 69 74 69 6f 6e 73 2e 26 6e 62 73 70 3b   editions.&nbsp;
1d20: 3c 2f 6c 69 3e 3c 6c 69 3e 53 65 76 65 72 61 6c  </li><li>Several
1d30: 20 62 75 67 66 69 78 65 73 20 74 6f 20 74 68 65   bugfixes to the
1d40: 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 69 6e 73   design-time ins
1d50: 74 61 6c 6c 65 72 20 70 72 6f 67 72 61 6d 2c 20  taller program, 
1d60: 69 6e 63 6c 75 64 69 6e 67 20 73 75 70 70 6f 72  including suppor
1d70: 74 69 6e 67 0a 20 20 20 20 36 34 2d 62 69 74 20  ting.    64-bit 
1d80: 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 6c  environments.</l
1d90: 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c  i></ul>.    <p><
1da0: 62 3e 31 2e 30 2e 32 36 2e 30 20 2d 20 46 65 62  b>1.0.26.0 - Feb
1db0: 72 75 61 72 79 20 31 31 2c 20 32 30 30 36 3c 2f  ruary 11, 2006</
1dc0: 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a  b></p>.    <ul>.
1dd0: 20 20 20 20 3c 6c 69 3e 43 6f 64 65 20 6d 65 72      <li>Code mer
1de0: 67 65 20 77 69 74 68 20 53 51 4c 69 74 65 20 33  ge with SQLite 3
1df0: 2e 33 2e 34 3c 2f 6c 69 3e 3c 6c 69 3e 46 69 78  .3.4</li><li>Fix
1e00: 65 64 20 61 6e 20 65 6e 63 72 79 70 74 69 6f 6e  ed an encryption
1e10: 20 62 75 67 20 77 68 65 6e 20 63 68 61 6e 67 69   bug when changi
1e20: 6e 67 20 74 68 65 20 70 61 73 73 77 6f 72 64 20  ng the password 
1e30: 6f 66 20 64 61 74 61 62 61 73 65 73 20 6f 76 65  of databases ove
1e40: 72 20 31 67 62 20 69 6e 0a 20 20 20 20 20 20 73  r 1gb in.      s
1e50: 69 7a 65 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 3c  ize.&nbsp;</li><
1e60: 6c 69 3e 46 69 78 65 64 20 76 61 72 69 6f 75 73  li>Fixed various
1e70: 20 64 65 73 69 67 6e 65 72 20 69 73 73 75 65 73   designer issues
1e80: 20 72 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 73   related to cons
1e90: 74 72 75 63 74 69 6f 6e 20 6f 66 20 6e 61 6d 65  truction of name
1ea0: 64 20 70 61 72 61 6d 65 74 65 72 73 2e 3c 2f 6c  d parameters.</l
1eb0: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65 74  i>.      <li>Ret
1ec0: 6f 6f 6c 65 64 20 74 68 65 20 47 65 74 53 63 68  ooled the GetSch
1ed0: 65 6d 61 28 29 20 6d 65 74 68 6f 64 20 6f 66 20  ema() method of 
1ee0: 53 51 4c 69 74 65 44 61 74 61 52 65 61 64 65 72  SQLiteDataReader
1ef0: 20 74 6f 20 75 73 65 20 74 68 65 20 6e 65 77 20   to use the new 
1f00: 33 2e 33 2e 34 20 41 50 49 20 66 75 6e 63 74 69  3.3.4 API functi
1f10: 6f 6e 73 2c 0a 20 20 20 20 20 20 20 20 61 6e 64  ons,.        and
1f20: 20 6d 61 64 65 20 73 65 76 65 72 61 6c 20 65 6e   made several en
1f30: 68 61 6e 63 65 6d 65 6e 74 73 20 61 6e 64 20 66  hancements and f
1f40: 69 78 65 73 20 74 6f 20 73 63 68 65 6d 61 73 2e  ixes to schemas.
1f50: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20  &nbsp;</li>.    
1f60: 20 20 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e 74 65    <li>Implemente
1f70: 64 20 74 68 65 20 53 6f 75 72 63 65 43 6f 6c 75  d the SourceColu
1f80: 6d 6e 4e 75 6c 6c 4d 61 70 70 69 6e 67 20 70 72  mnNullMapping pr
1f90: 6f 70 65 72 74 79 20 6f 66 20 53 51 4c 69 74 65  operty of SQLite
1fa0: 50 61 72 61 6d 65 74 65 72 20 74 6f 20 66 69 78  Parameter to fix
1fb0: 0a 20 20 20 20 61 20 44 62 43 6f 6d 6d 61 6e 64  .    a DbCommand
1fc0: 42 75 69 6c 64 65 72 20 63 6f 64 65 20 67 65 6e  Builder code gen
1fd0: 65 72 61 74 69 6f 6e 20 62 75 67 2e 26 6e 62 73  eration bug.&nbs
1fe0: 70 3b 3c 2f 6c 69 3e 3c 6c 69 3e 52 65 6d 6f 76  p;</li><li>Remov
1ff0: 65 64 20 74 68 65 20 72 75 6e 74 69 6d 65 20 64  ed the runtime d
2000: 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 4d 53 56  ependency on MSV
2010: 43 52 38 30 2e 44 4c 4c 2e 26 6e 62 73 70 3b 20  CR80.DLL.&nbsp; 
2020: 46 69 6c 65 20 73 69 7a 65 20 69 73 20 73 6f 6d  File size is som
2030: 65 77 68 61 74 0a 20 20 20 20 6c 61 72 67 65 72  ewhat.    larger
2040: 20 66 6f 72 20 74 68 65 20 76 61 72 79 69 6e 67   for the varying
2050: 20 64 65 73 6b 74 6f 70 20 76 65 72 73 69 6f 6e   desktop version
2060: 73 2e 3c 2f 6c 69 3e 3c 6c 69 3e 43 72 65 61 74  s.</li><li>Creat
2070: 65 64 20 61 6e 20 69 6e 73 74 61 6c 6c 20 70 72  ed an install pr
2080: 6f 67 72 61 6d 20 74 6f 20 6d 61 6e 61 67 65 20  ogram to manage 
2090: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 61 6e 64  installation and
20a0: 20 75 6e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20   uninstallation 
20b0: 6f 66 20 74 68 65 0a 20 20 20 20 53 51 4c 69 74  of the.    SQLit
20c0: 65 20 64 65 73 69 67 6e 2d 74 69 6d 65 20 73 75  e design-time su
20d0: 70 70 6f 72 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20  pport.</li>.    
20e0: 20 20 3c 6c 69 3e 44 65 73 69 67 6e 65 72 20 73    <li>Designer s
20f0: 75 70 70 6f 72 74 20 6e 6f 77 20 77 6f 72 6b 73  upport now works
2100: 20 66 6f 72 20 61 6c 6c 20 56 69 73 75 61 6c 20   for all Visual 
2110: 53 74 75 64 69 6f 20 65 64 69 74 69 6f 6e 73 2c  Studio editions,
2120: 20 69 6e 63 6c 75 64 69 6e 67 20 61 6c 6c 20 45   including all E
2130: 78 70 72 65 73 73 0a 20 20 20 20 20 20 20 20 45  xpress.        E
2140: 64 69 74 69 6f 6e 73 2e 3c 2f 6c 69 3e 0a 20 20  ditions.</li>.  
2150: 20 20 20 20 3c 6c 69 3e 44 65 73 69 67 6e 2d 74      <li>Design-t
2160: 69 6d 65 20 69 6e 73 74 61 6c 6c 65 72 20 77 69  ime installer wi
2170: 6c 6c 20 6e 6f 77 20 72 65 6d 6f 76 65 20 28 69  ll now remove (i
2180: 66 20 70 72 65 73 65 6e 74 29 20 74 68 65 20 6d  f present) the m
2190: 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67 20 53 51  achine.config SQ
21a0: 4c 69 74 65 20 65 6e 74 72 69 65 73 0a 20 20 20  Lite entries.   
21b0: 20 20 20 20 20 69 6e 20 66 61 76 6f 72 20 6f 66       in favor of
21c0: 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20   installing the 
21d0: 78 6d 6c 20 63 6f 64 65 20 69 6e 74 6f 20 74 68  xml code into th
21e0: 65 20 64 65 76 65 6e 76 2e 65 78 65 2e 63 6f 6e  e devenv.exe.con
21f0: 66 69 67 20 66 69 6c 65 20 28 6f 72 20 61 6e 79  fig file (or any
2200: 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20   of the.        
2210: 76 61 72 69 61 74 69 6f 6e 73 20 66 6f 72 20 65  variations for e
2220: 78 70 72 65 73 73 20 65 64 69 74 69 6f 6e 73 29  xpress editions)
2230: 2e 26 6e 62 73 70 3b 20 54 68 65 20 6f 66 66 69  .&nbsp; The offi
2240: 63 69 61 6c 6c 79 2d 61 63 63 65 70 74 65 64 20  cially-accepted 
2250: 62 65 68 61 76 69 6f 72 20 6f 66 20 75 73 69 6e  behavior of usin
2260: 67 0a 20 20 20 20 20 20 20 20 44 62 50 72 6f 76  g.        DbProv
2270: 69 64 65 72 46 61 63 74 6f 72 69 65 73 20 69 73  iderFactories is
2280: 20 74 6f 20 61 64 64 20 74 68 65 20 63 6f 64 65   to add the code
2290: 20 74 6f 20 79 6f 75 72 20 61 70 70 2e 63 6f 6e   to your app.con
22a0: 66 69 67 20 66 69 6c 65 2c 20 61 6e 64 20 74 68  fig file, and th
22b0: 65 20 6d 61 63 68 69 6e 65 2e 63 6f 6e 66 69 67  e machine.config
22c0: 0a 20 20 20 20 20 20 20 20 66 69 6c 65 20 73 68  .        file sh
22d0: 6f 75 6c 64 20 6e 6f 74 20 62 65 20 74 6f 75 63  ould not be touc
22e0: 68 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f  hed.</li>.    </
22f0: 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  ul>.    <p><b>1.
2300: 30 2e 32 35 2e 30 20 2d 20 4a 61 6e 75 61 72 79  0.25.0 - January
2310: 20 33 31 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70   31, 2006</b></p
2320: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c  >.    <ul>.    <
2330: 6c 69 3e 43 6f 64 65 20 6d 65 72 67 65 20 77 69  li>Code merge wi
2340: 74 68 20 53 51 4c 69 74 65 20 33 2e 33 2e 33 3c  th SQLite 3.3.3<
2350: 2f 6c 69 3e 3c 6c 69 3e 41 64 64 65 64 20 61 75  /li><li>Added au
2360: 74 6f 6d 61 74 69 63 20 64 69 73 74 72 69 62 75  tomatic distribu
2370: 74 65 64 20 74 72 61 6e 73 61 63 74 69 6f 6e 20  ted transaction 
2380: 65 6e 6c 69 73 74 6d 65 6e 74 20 61 6e 64 20 69  enlistment and i
2390: 6d 70 6c 65 6d 65 6e 74 65 64 20 74 68 65 20 44  mplemented the D
23a0: 62 43 6f 6e 6e 65 63 74 69 6f 6e 2e 45 6e 6c 69  bConnection.Enli
23b0: 73 74 54 72 61 6e 73 61 63 74 69 6f 6e 0a 20 20  stTransaction.  
23c0: 20 20 6d 65 74 68 6f 64 20 66 6f 72 20 6d 61 6e    method for man
23d0: 75 61 6c 20 65 6e 6c 69 73 74 6d 65 6e 74 2e 3c  ual enlistment.<
23e0: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4e  /li>.      <li>N
23f0: 65 73 74 65 64 20 74 72 61 6e 73 61 63 74 69 6f  ested transactio
2400: 6e 73 20 61 72 65 20 6e 6f 77 20 73 75 70 70 6f  ns are now suppo
2410: 72 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  rted.</li>.     
2420: 20 3c 6c 69 3e 52 65 61 72 72 61 6e 67 65 64 20   <li>Rearranged 
2430: 74 68 65 20 74 69 6d 69 6e 67 20 6f 66 20 53 65  the timing of Se
2440: 74 50 61 73 73 77 6f 72 64 28 29 2c 20 77 68 69  tPassword(), whi
2450: 63 68 20 6e 6f 77 20 6d 75 73 74 20 62 65 20 63  ch now must be c
2460: 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 74 68 65  alled before the
2470: 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20   database.      
2480: 20 20 69 73 20 6f 70 65 6e 65 64 20 69 6e 73 74    is opened inst
2490: 65 61 64 20 6f 66 20 61 66 74 65 72 77 61 72 64  ead of afterward
24a0: 73 2e 26 6e 62 73 70 3b 20 4f 70 74 69 6f 6e 61  s.&nbsp; Optiona
24b0: 6c 6c 79 2c 20 74 68 65 20 70 61 73 73 77 6f 72  lly, the passwor
24c0: 64 20 63 61 6e 20 62 65 20 73 75 70 70 6c 69 65  d can be supplie
24d0: 64 0a 20 20 20 20 20 20 20 20 69 6e 20 74 68 65  d.        in the
24e0: 20 43 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e   ConnectionStrin
24f0: 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  g.</li>.      <l
2500: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e  i>Fixed a bug in
2510: 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f 6e 20   SQLiteFunction 
2520: 74 68 61 74 20 63 61 75 73 65 64 20 61 20 66 61  that caused a fa
2530: 69 6c 75 72 65 20 77 68 65 6e 20 61 6e 20 65 6d  ilure when an em
2540: 70 74 79 20 72 65 73 75 6c 74 73 65 74 20 77 61  pty resultset wa
2550: 73 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  s.        return
2560: 65 64 20 61 6e 64 20 61 20 63 75 73 74 6f 6d 20  ed and a custom 
2570: 75 73 65 72 20 61 67 67 72 65 67 61 74 65 20 66  user aggregate f
2580: 75 6e 63 74 69 6f 6e 20 77 61 73 20 75 73 65 64  unction was used
2590: 20 69 6e 20 74 68 65 20 71 75 65 72 79 2e 3c 2f   in the query.</
25a0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68  li>.      <li>Th
25b0: 65 20 64 65 73 69 67 6e 65 72 20 68 61 73 20 68  e designer has h
25c0: 61 64 20 61 6e 6f 74 68 65 72 20 72 6f 75 6e 64  ad another round
25d0: 20 6f 66 20 63 6c 65 61 6e 75 70 20 61 70 70 6c   of cleanup appl
25e0: 69 65 64 2c 20 69 6e 20 70 72 65 70 61 72 61 74  ied, in preparat
25f0: 69 6f 6e 20 66 6f 72 20 6d 6f 76 69 6e 67 0a 20  ion for moving. 
2600: 20 20 20 20 20 20 20 74 6f 20 61 20 56 53 20 70         to a VS p
2610: 61 63 6b 61 67 65 2e 3c 2f 6c 69 3e 0a 20 20 20  ackage.</li>.   
2620: 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 53 51 4c     <li>Added SQL
2630: 69 74 65 4d 65 74 61 44 61 74 61 43 6f 6c 6c 65  iteMetaDataColle
2640: 63 74 69 6f 6e 4e 61 6d 65 73 20 63 6c 61 73 73  ctionNames class
2650: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e  .</li>.    </ul>
2660: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32  .    <p><b>1.0.2
2670: 34 2e 36 20 62 65 74 61 20 2d 20 4a 61 6e 75 61  4.6 beta - Janua
2680: 72 79 20 32 33 2c 20 32 30 30 36 3c 2f 62 3e 3c  ry 23, 2006</b><
2690: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
26a0: 20 3c 6c 69 3e 54 68 69 73 20 62 65 74 61 20 69   <li>This beta i
26b0: 73 20 62 75 69 6c 74 20 66 72 6f 6d 20 73 71 6c  s built from sql
26c0: 69 74 65 2e 6f 72 67 27 73 20 33 2e 33 2e 32 20  ite.org's 3.3.2 
26d0: 62 65 74 61 2e 3c 2f 6c 69 3e 3c 6c 69 3e 45 6c  beta.</li><li>El
26e0: 69 6d 69 6e 61 74 65 64 20 74 68 65 20 73 74 61  iminated the sta
26f0: 74 69 63 20 6c 69 6e 6b 69 6e 67 20 6f 66 20 6d  tic linking of m
2700: 73 63 6f 72 65 65 20 66 72 6f 6d 20 61 6c 6c 20  scoree from all 
2710: 62 69 6e 61 72 69 65 73 2e 26 6e 62 73 70 3b 20  binaries.&nbsp; 
2720: 4e 61 74 69 76 65 20 70 72 6f 6a 65 63 74 73 0a  Native projects.
2730: 20 20 20 20 20 20 63 61 6e 20 6e 6f 77 20 75 73        can now us
2740: 65 20 74 68 65 20 6c 69 62 72 61 72 79 20 77 69  e the library wi
2750: 74 68 6f 75 74 20 61 6e 79 20 64 65 70 65 6e 64  thout any depend
2760: 65 6e 63 69 65 73 20 6f 6e 20 74 68 65 20 2e 4e  encies on the .N
2770: 45 54 20 66 72 61 6d 65 77 6f 72 6b 2c 20 77 68  ET framework, wh
2780: 69 6c 65 20 6d 61 6e 61 67 65 64 0a 20 20 20 20  ile managed.    
2790: 20 20 70 72 6f 6a 65 63 74 73 20 63 6f 6e 74 69    projects conti
27a0: 6e 75 65 20 74 6f 20 62 65 20 61 62 6c 65 20 74  nue to be able t
27b0: 6f 20 75 73 65 20 74 68 65 20 6c 69 62 72 61 72  o use the librar
27c0: 79 20 6e 6f 72 6d 61 6c 6c 79 2e 3c 2f 6c 69 3e  y normally.</li>
27d0: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
27e0: 31 2e 30 2e 32 34 2e 35 20 62 65 74 61 20 2d 20  1.0.24.5 beta - 
27f0: 4a 61 6e 75 61 72 79 20 32 30 2c 20 32 30 30 36  January 20, 2006
2800: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
2810: 3e 0a 20 20 20 20 3c 6c 69 3e 54 68 69 73 20 62  >.    <li>This b
2820: 65 74 61 20 69 73 20 62 75 69 6c 74 20 66 72 6f  eta is built fro
2830: 6d 20 73 71 6c 69 74 65 2e 6f 72 67 27 73 20 33  m sqlite.org's 3
2840: 2e 33 2e 31 20 61 6c 70 68 61 20 61 6e 64 20 63  .3.1 alpha and c
2850: 6f 6e 74 61 69 6e 73 20 64 65 76 65 6c 6f 70 6d  ontains developm
2860: 65 6e 74 2d 69 6e 2d 70 72 6f 67 72 65 73 73 20  ent-in-progress 
2870: 63 6f 64 65 2e 26 6e 62 73 70 3b 20 54 68 65 72  code.&nbsp; Ther
2880: 65 66 6f 72 65 20 6e 6f 20 67 75 61 72 61 6e 74  efore no guarant
2890: 65 65 73 0a 20 20 20 20 20 20 63 61 6e 20 62 65  ees.      can be
28a0: 20 6d 61 64 65 20 72 65 67 61 72 64 69 6e 67 20   made regarding 
28b0: 69 74 73 20 73 75 69 74 61 62 69 6c 69 74 79 20  its suitability 
28c0: 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20 75  for production u
28d0: 73 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 6c 69  se.</li>.    <li
28e0: 3e 3c 73 74 72 6f 6e 67 3e 59 6f 75 20 6e 6f 20  ><strong>You no 
28f0: 6c 6f 6e 67 65 72 20 6e 65 65 64 20 74 6f 20 64  longer need to d
2900: 69 73 74 72 69 62 75 74 65 20 32 20 66 69 6c 65  istribute 2 file
2910: 73 20 6f 6e 20 74 68 65 20 43 6f 6d 70 61 63 74  s on the Compact
2920: 46 72 61 6d 65 77 6f 72 6b 2e 26 6e 62 73 70 3b  Framework.&nbsp;
2930: 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 64  .      You can d
2940: 65 6c 65 74 65 20 53 51 4c 69 74 65 2e 49 6e 74  elete SQLite.Int
2950: 65 72 6f 70 2e 44 4c 4c 20 65 6e 74 69 72 65 6c  erop.DLL entirel
2960: 79 2e 26 6e 62 73 70 3b 20 3c 2f 73 74 72 6f 6e  y.&nbsp; </stron
2970: 67 3e 49 20 77 72 6f 74 65 20 61 20 63 75 73 74  g>I wrote a cust
2980: 6f 6d 20 74 6f 6f 6c 0a 20 20 20 20 20 20 63 61  om tool.      ca
2990: 6c 6c 65 64 20 22 6d 65 72 67 65 62 69 6e 22 20  lled "mergebin" 
29a0: 28 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68  (available in th
29b0: 65 20 73 6f 75 72 63 65 20 7a 69 70 20 66 69 6c  e source zip fil
29c0: 65 29 20 77 68 69 63 68 20 63 6f 6d 62 69 6e 65  e) which combine
29d0: 73 20 74 68 65 20 74 77 6f 20 6c 69 62 72 61 72  s the two librar
29e0: 69 65 73 0a 20 20 20 20 20 20 61 6e 64 20 67 65  ies.      and ge
29f0: 74 73 20 61 72 6f 75 6e 64 20 61 20 67 6c 61 72  ts around a glar
2a00: 69 6e 67 20 64 65 66 65 63 74 20 69 6e 20 74 68  ing defect in th
2a10: 65 20 56 53 32 30 30 35 20 6c 69 6e 6b 65 72 20  e VS2005 linker 
2a20: 66 6f 72 20 41 52 4d 20 70 72 6f 63 65 73 73 6f  for ARM processo
2a30: 72 73 20 77 68 69 63 68 20 64 6f 65 73 6e 27 74  rs which doesn't
2a40: 0a 20 20 20 20 20 20 61 6c 6c 6f 77 20 79 6f 75  .      allow you
2a50: 20 74 6f 20 6c 69 6e 6b 20 6e 65 74 6d 6f 64 75   to link netmodu
2a60: 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20  les.</li>.      
2a70: 3c 6c 69 3e 3c 73 74 72 6f 6e 67 3e 78 36 34 20  <li><strong>x64 
2a80: 61 6e 64 20 69 61 36 34 20 62 75 69 6c 64 73 20  and ia64 builds 
2a90: 6e 6f 77 20 75 73 65 20 74 68 65 20 73 61 6d 65  now use the same
2aa0: 20 73 74 72 6f 6e 67 20 6e 61 6d 65 20 61 73 20   strong name as 
2ab0: 74 68 65 20 78 38 36 20 62 75 69 6c 64 2e 3c 2f  the x86 build.</
2ac0: 73 74 72 6f 6e 67 3e 26 6e 62 73 70 3b 0a 20 20  strong>&nbsp;.  
2ad0: 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73        This means
2ae0: 20 62 72 65 61 6b 69 6e 67 20 62 61 63 6b 77 61   breaking backwa
2af0: 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79  rd compatibility
2b00: 2c 20 62 75 74 20 69 74 20 77 61 73 20 6e 65 63  , but it was nec
2b10: 65 73 73 61 72 79 20 69 6e 20 6f 72 64 65 72 20  essary in order 
2b20: 74 6f 20 61 6c 6c 6f 77 0a 20 20 20 20 20 20 20  to allow.       
2b30: 20 79 6f 75 20 74 6f 20 64 72 6f 70 20 61 6e 79   you to drop any
2b40: 20 6f 66 20 74 68 6f 73 65 20 33 20 62 75 69 6c   of those 3 buil
2b50: 64 73 20 6f 6e 74 6f 20 61 20 50 43 20 61 6e 64  ds onto a PC and
2b60: 20 68 61 76 65 20 79 6f 75 72 20 2e 4e 45 54 20   have your .NET 
2b70: 70 72 6f 67 72 61 6d 20 72 75 6e 20 70 72 6f 70  program run prop
2b80: 65 72 6c 79 2e 26 6e 62 73 70 3b 0a 20 20 20 20  erly.&nbsp;.    
2b90: 20 20 20 20 50 72 69 6f 72 20 74 6f 20 74 68 69      Prior to thi
2ba0: 73 2c 20 79 6f 75 27 64 20 67 65 74 20 61 6e 20  s, you'd get an 
2bb0: 65 72 72 6f 72 20 69 66 20 79 6f 75 20 62 75 69  error if you bui
2bc0: 6c 74 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20  lt your program 
2bd0: 75 73 69 6e 67 20 74 68 65 20 78 38 36 20 62 75  using the x86 bu
2be0: 69 6c 64 2c 0a 20 20 20 20 20 20 20 20 61 6e 64  ild,.        and
2bf0: 20 74 68 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20   then installed 
2c00: 74 68 65 20 78 36 34 20 76 65 72 73 69 6f 6e 20  the x64 version 
2c10: 6f 6e 20 61 20 74 61 72 67 65 74 20 6d 61 63 68  on a target mach
2c20: 69 6e 65 20 61 6e 64 20 74 72 69 65 64 20 74 6f  ine and tried to
2c30: 20 72 75 6e 20 79 6f 75 72 20 70 72 6f 67 72 61   run your progra
2c40: 6d 0a 20 20 20 20 20 20 20 20 61 67 61 69 6e 73  m.        agains
2c50: 74 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  t it.</li>.     
2c60: 20 3c 6c 69 3e 54 68 65 20 65 6e 74 69 72 65 20   <li>The entire 
2c70: 73 6f 75 72 63 65 20 70 72 6f 6a 65 63 74 20 68  source project h
2c80: 61 73 20 62 65 65 6e 20 67 6f 6e 65 20 6f 76 65  as been gone ove
2c90: 72 20 74 6f 70 20 74 6f 20 62 6f 74 74 6f 6d 2e  r top to bottom.
2ca0: 26 6e 62 73 70 3b 20 41 20 64 65 62 75 67 20 62  &nbsp; A debug b
2cb0: 75 69 6c 64 0a 20 20 20 20 20 20 20 20 6e 6f 20  uild.        no 
2cc0: 6c 6f 6e 67 65 72 20 63 6f 6d 62 69 6e 65 73 20  longer combines 
2cd0: 74 68 65 20 62 69 6e 61 72 69 65 73 20 69 6e 74  the binaries int
2ce0: 6f 20 61 20 73 69 6e 67 6c 65 20 6d 6f 64 75 6c  o a single modul
2cf0: 65 2c 20 77 68 69 63 68 20 77 61 73 20 70 72 65  e, which was pre
2d00: 76 65 6e 74 69 6e 67 20 70 72 6f 70 65 72 0a 20  venting proper. 
2d10: 20 20 20 20 20 20 20 64 65 62 75 67 67 69 6e 67         debugging
2d20: 2e 3c 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20  .</li></ul>.    
2d30: 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34 2e 34 20 62  <p><b>1.0.24.4 b
2d40: 65 74 61 20 2d 20 4a 61 6e 75 61 72 79 20 31 36  eta - January 16
2d50: 2c 20 32 30 30 36 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2006</b></p>. 
2d60: 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e     <ul>.    <li>
2d70: 54 68 69 73 20 62 65 74 61 20 69 73 20 62 75 69  This beta is bui
2d80: 6c 74 20 66 72 6f 6d 20 73 71 6c 69 74 65 2e 6f  lt from sqlite.o
2d90: 72 67 27 73 20 33 2e 33 2e 31 20 61 6c 70 68 61  rg's 3.3.1 alpha
2da0: 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 64 65   and contains de
2db0: 76 65 6c 6f 70 6d 65 6e 74 2d 69 6e 2d 70 72 6f  velopment-in-pro
2dc0: 67 72 65 73 73 20 63 6f 64 65 2e 26 6e 62 73 70  gress code.&nbsp
2dd0: 3b 20 54 68 65 72 65 66 6f 72 65 20 6e 6f 20 67  ; Therefore no g
2de0: 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 20  uarantees.      
2df0: 63 61 6e 20 62 65 20 6d 61 64 65 20 72 65 67 61  can be made rega
2e00: 72 64 69 6e 67 20 69 74 73 20 73 75 69 74 61 62  rding its suitab
2e10: 69 6c 69 74 79 20 66 6f 72 20 70 72 6f 64 75 63  ility for produc
2e20: 74 69 6f 6e 20 75 73 65 2e 3c 2f 6c 69 3e 0a 20  tion use.</li>. 
2e30: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 61 20 62     <li>Fixed a b
2e40: 75 67 20 69 6e 20 74 68 65 20 55 54 46 2d 31 36  ug in the UTF-16
2e50: 20 68 61 6e 64 6c 69 6e 67 20 63 6f 64 65 20 66   handling code f
2e60: 6f 72 20 70 72 65 70 61 72 69 6e 67 20 73 74 61  or preparing sta
2e70: 74 65 6d 65 6e 74 73 20 64 75 65 20 74 6f 20 61  tements due to a
2e80: 20 62 65 68 61 76 69 6f 72 61 6c 0a 20 20 20 20   behavioral.    
2e90: 20 20 63 68 61 6e 67 65 20 69 6e 20 53 51 4c 69    change in SQLi
2ea0: 74 65 20 33 2e 33 2e 30 2e 3c 2f 6c 69 3e 0a 20  te 3.3.0.</li>. 
2eb0: 20 20 20 20 20 3c 6c 69 3e 41 64 64 65 64 20 70       <li>Added p
2ec0: 61 67 65 72 2e 63 20 63 6f 64 65 20 6e 65 63 65  ager.c code nece
2ed0: 73 73 61 72 79 20 74 6f 20 63 6c 65 61 6e 75 70  ssary to cleanup
2ee0: 20 61 66 74 65 72 20 61 6e 20 65 6e 63 72 79 70   after an encryp
2ef0: 74 65 64 20 66 69 6c 65 20 69 73 20 63 6c 6f 73  ted file is clos
2f00: 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ed.</li>.      <
2f10: 6c 69 3e 46 69 78 65 64 20 61 6e 20 65 6e 63 72  li>Fixed an encr
2f20: 79 70 74 69 6f 6e 20 62 75 67 20 74 68 61 74 20  yption bug that 
2f30: 63 61 75 73 65 64 20 61 20 66 61 75 6c 74 20 77  caused a fault w
2f40: 68 65 6e 20 61 6e 20 65 6e 63 72 79 70 74 65 64  hen an encrypted
2f50: 20 66 69 6c 65 20 77 61 73 20 72 6f 6c 6c 65 64   file was rolled
2f60: 0a 20 20 20 20 20 20 20 20 62 61 63 6b 2e 3c 2f  .        back.</
2f70: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4d 6f  li>.      <li>Mo
2f80: 64 69 66 69 65 64 20 74 68 65 20 74 65 73 74 63  dified the testc
2f90: 61 73 65 20 63 6f 64 65 20 74 6f 20 74 61 6b 65  ase code to take
2fa0: 20 61 64 76 61 6e 74 61 67 65 20 6f 66 20 6f 70   advantage of op
2fb0: 74 69 6d 69 7a 61 74 69 6f 6e 73 20 72 65 67 61  timizations rega
2fc0: 72 64 69 6e 67 20 74 68 65 20 75 73 65 0a 20 20  rding the use.  
2fd0: 20 20 20 20 20 20 6f 66 20 61 20 44 62 43 6f 6d        of a DbCom
2fe0: 6d 61 6e 64 42 75 69 6c 64 65 72 2e 26 6e 62 73  mandBuilder.&nbs
2ff0: 70 3b 20 44 61 74 61 41 64 61 70 74 65 72 20 69  p; DataAdapter i
3000: 6e 73 65 72 74 20 73 70 65 65 64 20 69 6e 63 72  nsert speed incr
3010: 65 61 73 65 64 20 64 72 61 6d 61 74 69 63 61 6c  eased dramatical
3020: 6c 79 20 61 73 0a 20 20 20 20 20 20 20 20 61 20  ly as.        a 
3030: 72 65 73 75 6c 74 2e 3c 2f 6c 69 3e 0a 20 20 20  result.</li>.   
3040: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
3050: 3e 31 2e 30 2e 32 34 2e 33 20 62 65 74 61 20 2d  >1.0.24.3 beta -
3060: 20 4a 61 6e 75 61 72 79 20 31 30 2c 20 32 30 30   January 10, 200
3070: 36 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75  6</b></p>.    <u
3080: 6c 3e 0a 20 20 20 20 3c 6c 69 3e 54 68 69 73 20  l>.    <li>This 
3090: 62 65 74 61 20 69 73 20 62 75 69 6c 74 20 66 72  beta is built fr
30a0: 6f 6d 20 73 71 6c 69 74 65 2e 6f 72 67 27 73 20  om sqlite.org's 
30b0: 33 2e 33 2e 30 20 61 6c 70 68 61 20 61 6e 64 20  3.3.0 alpha and 
30c0: 63 6f 6e 74 61 69 6e 73 20 64 65 76 65 6c 6f 70  contains develop
30d0: 6d 65 6e 74 2d 69 6e 2d 70 72 6f 67 72 65 73 73  ment-in-progress
30e0: 20 63 6f 64 65 2e 26 6e 62 73 70 3b 20 54 68 65   code.&nbsp; The
30f0: 72 65 66 6f 72 65 20 6e 6f 20 67 75 61 72 61 6e  refore no guaran
3100: 74 65 65 73 0a 20 20 20 20 20 20 63 61 6e 20 62  tees.      can b
3110: 65 20 6d 61 64 65 20 72 65 67 61 72 64 69 6e 67  e made regarding
3120: 20 69 74 73 20 73 75 69 74 61 62 69 6c 69 74 79   its suitability
3130: 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 20   for production 
3140: 75 73 65 2e 3c 2f 6c 69 3e 3c 6c 69 3e 41 64 64  use.</li><li>Add
3150: 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 64  ed support for d
3160: 61 74 61 62 61 73 65 20 65 6e 63 72 79 70 74 69  atabase encrypti
3170: 6f 6e 20 61 74 20 74 68 65 20 70 61 67 65 72 20  on at the pager 
3180: 6c 65 76 65 6c 2e 26 6e 62 73 70 3b 20 44 61 74  level.&nbsp; Dat
3190: 61 62 61 73 65 73 0a 20 20 20 20 61 72 65 20 65  abases.    are e
31a0: 6e 63 72 79 70 74 65 64 20 75 73 69 6e 67 20 61  ncrypted using a
31b0: 20 31 32 38 2d 62 69 74 20 52 43 34 20 73 74 72   128-bit RC4 str
31c0: 65 61 6d 20 61 6c 67 6f 72 69 74 68 6d 2e 26 6e  eam algorithm.&n
31d0: 62 73 70 3b 20 54 6f 20 6f 70 65 6e 20 61 6e 20  bsp; To open an 
31e0: 65 78 69 73 74 69 6e 67 20 65 6e 63 72 79 70 74  existing encrypt
31f0: 65 64 0a 20 20 20 20 64 61 74 61 62 61 73 65 2c  ed.    database,
3200: 20 79 6f 75 20 6d 61 79 20 6e 6f 77 20 73 70 65   you may now spe
3210: 63 69 66 79 20 61 20 22 50 61 73 73 77 6f 72 64  cify a "Password
3220: 3d 7b 70 61 73 73 77 6f 72 64 7d 22 20 74 65 78  ={password}" tex
3230: 74 20 69 6e 20 74 68 65 20 43 6f 6e 6e 65 63 74  t in the Connect
3240: 69 6f 6e 53 74 72 69 6e 67 2c 0a 20 20 20 20 6f  ionString,.    o
3250: 72 20 79 6f 75 20 6d 61 79 20 63 61 6c 6c 20 74  r you may call t
3260: 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  he SQLiteConnect
3270: 69 6f 6e 2e 53 65 74 50 61 73 73 77 6f 72 64 28  ion.SetPassword(
3280: 29 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 73 65  ) function to se
3290: 74 20 74 68 65 20 70 61 73 73 77 6f 72 64 0a 20  t the password. 
32a0: 20 20 20 6f 6e 20 61 6e 20 6f 70 65 6e 20 63 6f     on an open co
32b0: 6e 6e 65 63 74 69 6f 6e 2e 20 26 6e 62 73 70 3b  nnection. &nbsp;
32c0: 54 6f 20 65 6e 63 72 79 70 74 20 65 78 69 73 74  To encrypt exist
32d0: 69 6e 67 20 6e 6f 6e 2d 65 6e 63 72 79 70 74 65  ing non-encrypte
32e0: 64 20 64 61 74 61 62 61 73 65 73 20 6f 72 20 74  d databases or t
32f0: 6f 20 63 68 61 6e 67 65 0a 20 20 20 20 74 68 65  o change.    the
3300: 20 70 61 73 73 77 6f 72 64 20 6f 6e 20 61 6e 20   password on an 
3310: 65 6e 63 72 79 70 74 65 64 20 64 61 74 61 62 61  encrypted databa
3320: 73 65 2c 20 79 6f 75 20 6d 75 73 74 20 75 73 65  se, you must use
3330: 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e 65   the SQLiteConne
3340: 63 74 69 6f 6e 2e 43 68 61 6e 67 65 50 61 73 73  ction.ChangePass
3350: 77 6f 72 64 28 29 0a 20 20 20 20 66 75 6e 63 74  word().    funct
3360: 69 6f 6e 2e 26 6e 62 73 70 3b 20 49 66 20 79 6f  ion.&nbsp; If yo
3370: 75 20 75 73 65 20 53 65 74 50 61 73 73 77 6f 72  u use SetPasswor
3380: 64 28 29 20 69 6e 73 74 65 61 64 20 6f 66 20 73  d() instead of s
3390: 70 65 63 69 66 79 69 6e 67 20 61 20 70 61 73 73  pecifying a pass
33a0: 77 6f 72 64 20 69 6e 20 74 68 65 0a 20 20 20 20  word in the.    
33b0: 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 74 72 69 6e  connection strin
33c0: 67 2c 20 6f 72 20 63 61 6c 6c 20 43 68 61 6e 67  g, or call Chang
33d0: 65 50 61 73 73 77 6f 72 64 28 29 20 79 6f 75 20  ePassword() you 
33e0: 6d 61 79 20 75 73 65 20 61 20 62 69 6e 61 72 79  may use a binary
33f0: 20 62 79 74 65 20 61 72 72 61 79 20 6f 72 20 61   byte array or a
3400: 0a 20 20 20 20 74 65 78 74 20 73 74 72 69 6e 67  .    text string
3410: 20 61 73 20 74 68 65 20 70 61 73 73 77 6f 72 64   as the password
3420: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
3430: 3e 52 65 77 72 6f 74 65 20 74 68 65 20 6c 6f 63  >Rewrote the loc
3440: 6b 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74  king implementat
3450: 69 6f 6e 20 66 6f 72 20 74 68 65 20 43 6f 6d 70  ion for the Comp
3460: 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 2e 26 6e  act Framework.&n
3470: 62 73 70 3b 20 49 74 20 69 73 20 6e 6f 77 0a 20  bsp; It is now. 
3480: 20 20 20 20 20 20 20 6d 6f 72 65 20 72 6f 62 75         more robu
3490: 73 74 20 61 6e 64 20 69 6e 63 6f 72 70 6f 72 61  st and incorpora
34a0: 74 65 73 20 69 6e 74 6f 20 74 68 65 20 53 51 4c  tes into the SQL
34b0: 69 74 65 20 63 6f 64 65 62 61 73 65 20 6d 6f 72  ite codebase mor
34c0: 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 74 68  e efficiently th
34d0: 61 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 70  an the.        p
34e0: 72 65 76 69 6f 75 73 20 43 45 20 61 64 61 70 74  revious CE adapt
34f0: 61 74 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20  ation.</li>.    
3500: 20 20 3c 6c 69 3e 4d 6f 76 65 64 20 73 6f 6d 65    <li>Moved some
3510: 20 6f 66 20 74 68 65 20 65 6d 62 65 64 64 65 64   of the embedded
3520: 20 73 63 68 65 6d 61 20 58 4d 4c 20 64 61 74 61   schema XML data
3530: 20 69 6e 74 6f 20 61 20 72 65 73 6f 75 72 63 65   into a resource
3540: 20 66 69 6c 65 20 74 6f 20 65 61 73 65 20 63 6f   file to ease co
3550: 64 65 20 72 65 61 64 61 62 69 6c 69 74 79 2e 3c  de readability.<
3560: 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41  /li>.      <li>A
3570: 75 74 6f 6d 61 74 65 64 20 74 68 65 20 66 69 78  utomated the fix
3580: 75 70 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e  up of the origin
3590: 61 6c 20 73 71 6c 69 74 65 20 63 6f 64 65 62 61  al sqlite codeba
35a0: 73 65 27 73 20 73 6f 75 72 63 65 20 70 72 69 6f  se's source prio
35b0: 72 20 74 6f 20 63 6f 6d 70 69 6c 69 6e 67 2c 0a  r to compiling,.
35c0: 20 20 20 20 20 20 20 20 74 6f 20 65 61 73 65 20          to ease 
35d0: 6d 65 72 67 69 6e 67 20 77 69 74 68 20 73 71 6c  merging with sql
35e0: 69 74 65 2e 6f 72 67 27 73 20 73 6f 75 72 63 65  ite.org's source
35f0: 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69  .</li>.      <li
3600: 3e 46 69 78 65 64 20 61 20 6d 65 6d 6f 72 79 20  >Fixed a memory 
3610: 6c 65 61 6b 20 69 6e 20 53 51 4c 69 74 65 43 6f  leak in SQLiteCo
3620: 6d 6d 61 6e 64 20 64 75 65 20 74 6f 20 69 74 20  mmand due to it 
3630: 6e 6f 74 20 72 65 6d 6f 76 69 6e 67 20 61 6e 20  not removing an 
3640: 69 6e 74 65 72 6e 61 6c 20 72 65 66 65 72 65 6e  internal referen
3650: 63 65 0a 20 20 20 20 20 20 20 20 74 6f 20 69 74  ce.        to it
3660: 73 65 6c 66 20 69 6e 20 53 51 4c 69 74 65 43 6f  self in SQLiteCo
3670: 6e 6e 65 63 74 69 6f 6e 2e 26 6e 62 73 70 3b 20  nnection.&nbsp; 
3680: 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a  </li>.    </ul>.
3690: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 34      <p><b>1.0.24
36a0: 2e 32 20 2d 20 44 65 63 65 6d 62 65 72 20 33 30  .2 - December 30
36b0: 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20  , 2005</b></p>. 
36c0: 20 20 20 3c 75 6c 3e 0a 20 20 20 20 3c 6c 69 3e     <ul>.    <li>
36d0: 46 69 78 65 64 20 74 68 65 20 53 51 4c 69 74 65  Fixed the SQLite
36e0: 44 61 74 61 52 65 61 64 65 72 2e 48 61 73 52 6f  DataReader.HasRo
36f0: 77 73 20 70 72 6f 70 65 72 74 79 20 74 6f 20 72  ws property to r
3700: 65 74 75 72 6e 20 74 68 65 20 70 72 6f 70 65 72  eturn the proper
3710: 20 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a 20 20 20   value.</li>.   
3720: 20 20 20 3c 6c 69 3e 49 6d 70 6c 65 6d 65 6e 74     <li>Implement
3730: 65 64 20 74 68 65 20 69 6e 61 64 76 65 72 74 65  ed the inadverte
3740: 6e 74 6c 79 20 6e 65 67 6c 65 63 74 65 64 20 52  ntly neglected R
3750: 65 63 6f 72 64 73 41 66 66 65 63 74 65 64 20 70  ecordsAffected p
3760: 72 6f 70 65 72 74 79 20 6f 6e 20 53 51 4c 69 74  roperty on SQLit
3770: 65 44 61 74 61 52 65 61 64 65 72 2e 0a 20 20 20  eDataReader..   
3780: 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c     </li>.      <
3790: 6c 69 3e 53 51 4c 69 74 65 46 75 6e 63 74 69 6f  li>SQLiteFunctio
37a0: 6e 20 73 74 61 74 69 63 20 63 6f 6e 73 74 72 75  n static constru
37b0: 63 74 6f 72 20 77 61 73 20 63 68 61 6e 67 65 64  ctor was changed
37c0: 20 74 6f 20 70 72 65 2d 66 69 6c 74 65 72 20 63   to pre-filter c
37d0: 6c 61 73 73 65 73 20 77 69 74 68 20 6f 6e 6c 79  lasses with only
37e0: 20 74 68 65 0a 20 20 20 20 20 20 20 20 53 51 4c   the.        SQL
37f0: 69 74 65 46 75 6e 63 74 69 6f 6e 41 74 74 72 69  iteFunctionAttri
3800: 62 75 74 65 2e 26 6e 62 73 70 3b 20 54 68 65 20  bute.&nbsp; The 
3810: 63 6f 64 65 20 77 61 73 20 74 68 72 6f 77 69 6e  code was throwin
3820: 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77  g an exception w
3830: 68 65 6e 20 63 65 72 74 61 69 6e 0a 20 20 20 20  hen certain.    
3840: 20 20 20 20 61 73 73 65 6d 62 6c 69 65 73 20 77      assemblies w
3850: 65 72 65 20 72 65 66 65 72 65 6e 63 65 64 20 69  ere referenced i
3860: 6e 20 61 20 70 72 6f 6a 65 63 74 2e 20 3c 2f 6c  n a project. </l
3870: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46 69 78  i>.      <li>Fix
3880: 65 64 20 74 68 65 20 53 51 4c 69 74 65 44 61 74  ed the SQLiteDat
3890: 61 41 64 61 70 74 65 72 20 4f 6e 52 6f 77 55 70  aAdapter OnRowUp
38a0: 64 61 74 65 64 20 65 76 65 6e 74 2c 20 77 68 69  dated event, whi
38b0: 63 68 20 77 61 73 20 75 73 69 6e 67 20 74 68 65  ch was using the
38c0: 20 77 72 6f 6e 67 20 76 61 72 69 61 62 6c 65 0a   wrong variable.
38d0: 20 20 20 20 20 20 20 20 74 6f 20 66 69 6e 64 20          to find 
38e0: 74 68 65 20 61 74 74 61 63 68 65 64 20 65 76 65  the attached eve
38f0: 6e 74 20 68 61 6e 64 6c 65 72 20 61 6e 64 20 73  nt handler and s
3900: 75 62 73 65 71 75 65 6e 74 6c 79 20 6e 6f 74 20  ubsequently not 
3910: 72 61 69 73 69 6e 67 20 74 68 65 20 65 76 65 6e  raising the even
3920: 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  t.</li>.      <l
3930: 69 3e 53 6d 61 6c 6c 20 6f 70 74 69 6d 69 7a 61  i>Small optimiza
3940: 74 69 6f 6e 73 20 61 6e 64 20 66 69 78 65 73 20  tions and fixes 
3950: 74 6f 20 53 51 4c 69 74 65 44 61 74 61 52 65 61  to SQLiteDataRea
3960: 64 65 72 2e 4e 65 78 74 52 65 73 75 6c 74 28 29  der.NextResult()
3970: 2e 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20  .&nbsp;</li>.   
3980: 20 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62   </ul>.    <p><b
3990: 3e 31 2e 30 2e 32 34 2e 31 20 2d 20 44 65 63 65  >1.0.24.1 - Dece
39a0: 6d 62 65 72 20 31 39 2c 20 32 30 30 35 3c 2f 62  mber 19, 2005</b
39b0: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20  ></p>.    <ul>. 
39c0: 20 20 20 3c 6c 69 3e 55 70 64 61 74 65 20 63 6f     <li>Update co
39d0: 72 65 20 53 51 4c 69 74 65 20 65 6e 67 69 6e 65  re SQLite engine
39e0: 20 74 6f 20 33 2e 32 2e 38 26 6e 62 73 70 3b 3c   to 3.2.8&nbsp;<
39f0: 2f 6c 69 3e 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70  /li></ul>.    <p
3a00: 3e 3c 62 3e 31 2e 30 2e 32 34 20 2d 20 44 65 63  ><b>1.0.24 - Dec
3a10: 65 6d 62 65 72 20 39 2c 20 32 30 30 35 3c 2f 62  ember 9, 2005</b
3a20: 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20  ></p>.    <ul>. 
3a30: 20 20 20 3c 6c 69 3e 46 69 78 65 64 20 74 68 65     <li>Fixed the
3a40: 3c 65 6d 3e 20 43 61 74 61 6c 6f 67 73 3c 2f 65  <em> Catalogs</e
3a50: 6d 3e 20 73 63 68 65 6d 61 20 62 75 67 20 74 68  m> schema bug th
3a60: 61 74 20 63 61 75 73 65 64 20 61 74 74 61 63 68  at caused attach
3a70: 65 64 20 64 61 74 61 62 61 73 65 73 20 6e 6f 74  ed databases not
3a80: 20 74 6f 20 62 65 20 72 65 2d 61 74 74 61 63 68   to be re-attach
3a90: 65 64 20 74 6f 20 61 20 63 6c 6f 6e 65 64 20 63  ed to a cloned c
3aa0: 6f 6e 6e 65 63 74 69 6f 6e 0a 20 20 20 20 3c 2f  onnection.    </
3ab0: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 45 6e  li>.      <li>En
3ac0: 68 61 6e 63 65 64 20 74 72 61 6e 73 61 63 74 69  hanced transacti
3ad0: 6f 6e 73 20 74 6f 20 61 6c 6c 6f 77 20 66 6f 72  ons to allow for
3ae0: 20 61 20 64 65 66 65 72 72 65 64 20 6f 72 20 69   a deferred or i
3af0: 6d 6d 65 64 69 61 74 65 20 77 72 69 74 65 6c 6f  mmediate writelo
3b00: 63 6b 2e 20 26 6e 62 73 70 3b 53 51 4c 69 74 65  ck. &nbsp;SQLite
3b10: 43 6f 6e 6e 65 63 74 69 6f 6e 2e 42 65 67 69 6e  Connection.Begin
3b20: 54 72 61 6e 73 61 63 74 69 6f 6e 28 29 0a 20 20  Transaction().  
3b30: 20 20 20 20 20 20 6e 6f 77 20 68 61 73 20 61 6e        now has an
3b40: 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 76 65 72   additional over
3b50: 6c 6f 61 64 20 74 6f 20 73 75 70 70 6f 72 74 20  load to support 
3b60: 69 74 26 6e 62 73 70 3b 3c 2f 6c 69 3e 3c 6c 69  it&nbsp;</li><li
3b70: 3e 43 6f 6d 6d 61 6e 64 73 20 61 72 65 20 6e 6f  >Commands are no
3b80: 77 20 70 72 65 70 61 72 65 64 20 61 73 20 74 68  w prepared as th
3b90: 65 79 20 61 72 65 20 65 78 65 63 75 74 65 64 20  ey are executed 
3ba0: 69 6e 73 74 65 61 64 20 6f 66 20 62 65 66 6f 72  instead of befor
3bb0: 65 68 61 6e 64 2e 26 6e 62 73 70 3b 20 54 68 69  ehand.&nbsp; Thi
3bc0: 73 0a 20 20 20 20 20 20 66 69 78 65 73 20 61 20  s.      fixes a 
3bd0: 62 75 67 20 77 68 65 72 65 62 79 20 61 20 6d 75  bug whereby a mu
3be0: 6c 74 69 2d 73 74 61 74 65 6d 65 6e 74 20 63 6f  lti-statement co
3bf0: 6d 6d 61 6e 64 20 74 68 61 74 20 61 6c 74 65 72  mmand that alter
3c00: 73 20 74 68 65 20 64 61 74 61 62 61 73 65 20 61  s the database a
3c10: 6e 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 0a  nd subsequently.
3c20: 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 73        references
3c30: 20 74 68 65 20 61 6c 74 65 72 65 64 20 64 61 74   the altered dat
3c40: 61 20 77 6f 75 6c 64 20 66 61 69 6c 20 64 75 72  a would fail dur
3c50: 69 6e 67 20 50 72 65 70 61 72 65 28 29 2e 3c 2f  ing Prepare().</
3c60: 6c 69 3e 3c 6c 69 3e 54 69 67 68 74 65 6e 65 64  li><li>Tightened
3c70: 20 75 70 20 74 68 65 20 53 51 4c 69 74 65 44 61   up the SQLiteDa
3c80: 74 61 52 65 61 64 65 72 20 74 6f 20 70 72 65 76  taReader to prev
3c90: 65 6e 74 20 72 65 61 64 69 6e 67 20 63 6f 6c 75  ent reading colu
3ca0: 6d 6e 73 20 62 65 66 6f 72 65 20 63 61 6c 6c 69  mns before calli
3cb0: 6e 67 0a 20 20 20 20 74 68 65 20 66 69 72 73 74  ng.    the first
3cc0: 20 52 65 61 64 28 29 20 61 6e 64 20 74 6f 20 70   Read() and to p
3cd0: 72 65 76 65 6e 74 20 72 65 61 64 69 6e 67 20 63  revent reading c
3ce0: 6f 6c 75 6d 6e 73 20 61 66 74 65 72 20 74 68 65  olumns after the
3cf0: 20 6c 61 73 74 20 52 65 61 64 28 29 2e 3c 2f 6c   last Read().</l
3d00: 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 41 20 6d  i>.      <li>A m
3d10: 6f 72 65 20 64 65 73 63 72 69 70 74 69 76 65 20  ore descriptive 
3d20: 65 72 72 6f 72 20 69 73 20 74 68 72 6f 77 6e 20  error is thrown 
3d30: 69 66 20 74 68 65 72 65 20 61 72 65 6e 27 74 20  if there aren't 
3d40: 65 6e 6f 75 67 68 20 70 61 72 61 6d 65 74 65 72  enough parameter
3d50: 73 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64  s in the command
3d60: 0a 20 20 20 20 20 20 20 20 74 6f 20 73 61 74 69  .        to sati
3d70: 73 66 79 20 74 68 65 20 70 61 72 61 6d 65 74 65  sfy the paramete
3d80: 72 73 20 72 65 71 75 69 72 65 64 20 62 79 20 74  rs required by t
3d90: 68 65 20 73 74 61 74 65 6d 65 6e 74 28 73 29 2e  he statement(s).
3da0: 26 6e 62 73 70 3b 3c 2f 6c 69 3e 0a 20 20 20 20  &nbsp;</li>.    
3db0: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </ul>.    <p><b>
3dc0: 31 2e 30 2e 32 33 20 2d 20 4e 6f 76 65 6d 62 65  1.0.23 - Novembe
3dd0: 72 20 32 31 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f  r 21, 2005</b></
3de0: 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20  p>.    <ul>.    
3df0: 3c 6c 69 3e 4e 61 6d 65 64 20 70 61 72 61 6d 65  <li>Named parame
3e00: 74 65 72 73 20 6d 61 79 20 6e 6f 77 20 62 65 67  ters may now beg
3e10: 69 6e 20 77 69 74 68 20 3c 73 74 72 6f 6e 67 3e  in with <strong>
3e20: 40 3c 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 65 61  @</strong> to ea
3e30: 73 65 20 70 6f 72 74 61 62 69 6c 69 74 79 20 6f  se portability o
3e40: 66 0a 20 20 20 20 20 20 74 68 65 20 70 72 6f 76  f.      the prov
3e50: 69 64 65 72 2e 20 53 51 4c 69 74 65 27 73 20 6e  ider. SQLite's n
3e60: 61 6d 65 64 20 70 61 72 61 6d 65 74 65 72 73 20  amed parameters 
3e70: 61 72 65 20 6f 72 64 69 6e 61 72 69 6c 79 20 70  are ordinarily p
3e80: 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 3c  refixed with a <
3e90: 73 74 72 6f 6e 67 3e 3a 20 3c 2f 73 74 72 6f 6e  strong>: </stron
3ea0: 67 3e 0a 20 20 20 20 20 20 6f 72 3c 73 74 72 6f  g>.      or<stro
3eb0: 6e 67 3e 20 24 3c 2f 73 74 72 6f 6e 67 3e 2e 26  ng> $</strong>.&
3ec0: 6e 62 73 70 3b 20 54 68 65 20 64 65 73 69 67 6e  nbsp; The design
3ed0: 65 72 20 77 69 6c 6c 20 73 74 69 6c 6c 20 75 73  er will still us
3ee0: 65 20 74 68 65 20 3c 73 74 72 6f 6e 67 3e 24 3c  e the <strong>$<
3ef0: 2f 73 74 72 6f 6e 67 3e 0a 20 20 20 20 20 20 70  /strong>.      p
3f00: 72 65 66 69 78 20 68 6f 77 65 76 65 72 2c 20 73  refix however, s
3f10: 69 6e 63 65 20 69 74 73 20 6d 6f 72 65 20 63 6f  ince its more co
3f20: 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68  mpatible with th
3f30: 65 20 64 65 66 61 75 6c 74 20 53 51 4c 69 74 65  e default SQLite
3f40: 20 65 6e 67 69 6e 65 2e 3c 2f 6c 69 3e 3c 6c 69   engine.</li><li
3f50: 3e 41 64 64 65 64 20 73 65 76 65 72 61 6c 20 61  >Added several a
3f60: 6c 74 65 72 6e 61 74 65 20 49 53 4f 38 36 30 31  lternate ISO8601
3f70: 20 64 61 74 65 2f 74 69 6d 65 20 66 6f 72 6d 61   date/time forma
3f80: 74 73 20 74 6f 20 53 51 4c 69 74 65 43 6f 6e 76  ts to SQLiteConv
3f90: 65 72 74 2e 63 73 20 74 6f 20 69 6e 63 72 65 61  ert.cs to increa
3fa0: 73 65 0a 20 20 20 20 63 6f 6d 70 61 74 69 62 69  se.    compatibi
3fb0: 6c 69 74 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20  lity.</li>.     
3fc0: 20 3c 6c 69 3e 52 65 6c 61 78 65 64 20 63 6f 65   <li>Relaxed coe
3fd0: 72 73 69 6f 6e 20 72 65 73 74 72 69 63 74 69 6f  rsion restrictio
3fe0: 6e 73 20 74 6f 20 77 6f 72 6b 20 62 65 74 74 65  ns to work bette
3ff0: 72 20 77 69 74 68 20 53 51 4c 69 74 65 27 73 20  r with SQLite's 
4000: 69 6e 68 65 72 65 6e 74 20 74 79 70 65 6c 65 73  inherent typeles
4010: 73 6e 65 73 73 2e 26 6e 62 73 70 3b 3c 2f 6c 69  sness.&nbsp;</li
4020: 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20  >.    </ul>.    
4030: 3c 70 3e 3c 62 3e 31 2e 30 2e 32 32 20 2d 20 4e  <p><b>1.0.22 - N
4040: 6f 76 65 6d 62 65 72 20 31 31 2c 20 32 30 30 35  ovember 11, 2005
4050: 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c  </b></p>.    <ul
4060: 3e 0a 20 20 20 20 3c 6c 69 3e 46 69 78 65 64 20  >.    <li>Fixed 
4070: 73 6f 6d 65 20 67 6c 6f 62 61 6c 69 7a 61 74 69  some globalizati
4080: 6f 6e 20 69 73 73 75 65 73 20 77 68 69 63 68 20  on issues which 
4090: 72 65 73 75 6c 74 65 64 20 69 6e 20 69 6e 63 6f  resulted in inco
40a0: 72 72 65 63 74 20 63 61 73 65 2d 69 6e 73 65 6e  rrect case-insen
40b0: 73 69 74 69 76 65 20 63 6f 6d 70 61 72 69 73 6f  sitive compariso
40c0: 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c  ns</li>.      <l
40d0: 69 3e 46 69 78 65 64 20 61 20 62 75 67 20 69 6e  i>Fixed a bug in
40e0: 20 74 68 65 20 72 6f 75 74 69 6e 65 20 74 68 61   the routine tha
40f0: 74 20 66 69 6e 64 73 20 61 6c 6c 20 75 73 65 72  t finds all user
4100: 2d 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f  -defined functio
4110: 6e 73 20 69 6e 20 61 20 6c 6f 61 64 65 64 20 61  ns in a loaded a
4120: 73 73 65 6d 62 6c 79 2e 26 6e 62 73 70 3b 0a 20  ssembly.&nbsp;. 
4130: 20 20 20 20 20 20 20 49 74 20 77 6f 75 6c 64 20         It would 
4140: 74 68 72 6f 77 20 61 6e 20 65 78 63 65 70 74 69  throw an excepti
4150: 6f 6e 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65  on if any of the
4160: 20 74 79 70 65 73 20 69 6e 20 74 68 65 20 61 73   types in the as
4170: 73 65 6d 62 6c 79 20 63 6f 75 6c 64 20 6e 6f 74  sembly could not
4180: 20 62 65 20 6c 6f 61 64 65 64 2e 26 6e 62 73 70   be loaded.&nbsp
4190: 3b 0a 20 20 20 20 20 20 20 20 54 68 65 20 65 78  ;.        The ex
41a0: 63 65 70 74 69 6f 6e 20 69 73 20 6e 6f 77 20 63  ception is now c
41b0: 61 75 67 68 74 20 61 6e 64 20 68 61 6e 64 6c 65  aught and handle
41c0: 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e  d appropriately.
41d0: 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a  </li>.    </ul>.
41e0: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32 31      <p><b>1.0.21
41f0: 20 2d 20 4e 6f 76 65 6d 62 65 72 20 34 2c 20 32   - November 4, 2
4200: 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20  005</b></p>.    
4210: 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 46  <UL>.      <li>F
4220: 69 78 65 64 20 61 20 64 65 73 69 67 6e 65 72 20  ixed a designer 
4230: 62 75 67 20 77 68 65 6e 20 63 72 65 61 74 69 6e  bug when creatin
4240: 67 20 74 79 70 65 64 20 64 61 74 61 73 65 74 73  g typed datasets
4250: 20 77 69 74 68 20 70 61 72 61 6d 65 74 65 72 69   with parameteri
4260: 7a 65 64 20 71 75 65 72 69 65 73 2e 3c 2f 6c 69  zed queries.</li
4270: 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20  >.      <li>The 
4280: 61 62 6f 76 65 20 66 69 78 20 74 68 65 6e 20 65  above fix then e
4290: 78 70 6f 73 65 64 20 61 6e 6f 74 68 65 72 20 62  xposed another b
42a0: 75 67 20 69 6e 20 74 68 65 20 64 61 74 61 72 65  ug in the datare
42b0: 61 64 65 72 27 73 20 61 62 69 6c 69 74 79 20 74  ader's ability t
42c0: 6f 20 71 75 65 72 79 20 73 63 68 65 6d 61 0a 20  o query schema. 
42d0: 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69         informati
42e0: 6f 6e 20 6f 6e 20 70 61 72 61 6d 65 74 65 72 69  on on parameteri
42f0: 7a 65 64 20 63 6f 6d 6d 61 6e 64 73 2c 20 77 68  zed commands, wh
4300: 69 63 68 20 77 61 73 20 61 6c 73 6f 20 66 69 78  ich was also fix
4310: 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c  ed.</li>.      <
4320: 6c 69 3e 43 6f 6d 70 69 6c 65 64 20 61 67 61 69  li>Compiled agai
4330: 6e 73 74 20 74 68 65 20 52 54 4d 20 76 65 72 73  nst the RTM vers
4340: 69 6f 6e 20 6f 66 20 56 53 32 30 30 35 2e 3c 2f  ion of VS2005.</
4350: 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 52 65  li>.      <li>Re
4360: 77 72 6f 74 65 20 74 68 65 20 64 65 73 69 67 6e  wrote the design
4370: 2d 74 69 6d 65 20 69 6e 73 74 61 6c 6c 20 73 63  -time install sc
4380: 72 69 70 74 20 74 6f 20 75 73 65 20 74 68 65 20  ript to use the 
4390: 58 4d 4c 20 44 4f 4d 20 6f 62 6a 65 63 74 73 20  XML DOM objects 
43a0: 77 68 65 6e 20 77 72 69 74 69 6e 67 0a 20 20 20  when writing.   
43b0: 20 20 20 20 20 74 6f 20 74 68 65 20 6d 61 63 68       to the mach
43c0: 69 6e 65 2e 63 6f 6e 66 69 67 20 61 6e 64 20 74  ine.config and t
43d0: 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  o automatically 
43e0: 72 65 67 69 73 74 65 72 20 74 68 65 20 44 4c 4c  register the DLL
43f0: 20 69 6e 20 74 68 65 20 47 41 43 2e 3c 2f 6c 69   in the GAC.</li
4400: 3e 3c 6c 69 3e 4d 61 64 65 20 63 68 61 6e 67 65  ><li>Made change
4410: 73 20 74 6f 20 74 68 65 20 61 70 70 2e 63 6f 6e  s to the app.con
4420: 66 69 67 20 64 65 73 63 72 69 70 74 69 6f 6e 73  fig descriptions
4430: 20 61 6e 64 20 68 65 6c 70 20 66 69 6c 65 20 74   and help file t
4440: 6f 20 69 6d 70 72 6f 76 65 20 76 65 72 73 69 6f  o improve versio
4450: 6e 2d 69 6e 64 65 70 65 6e 64 65 6e 74 0a 20 20  n-independent.  
4460: 20 20 20 20 20 20 66 61 63 74 6f 72 79 20 73 75        factory su
4470: 70 70 6f 72 74 2e 3c 2f 6c 69 3e 3c 2f 55 4c 3e  pport.</li></UL>
4480: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 32  .    <p><b>1.0.2
4490: 30 20 2d 20 4f 63 74 6f 62 65 72 20 31 39 2c 20  0 - October 19, 
44a0: 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20  2005</b></p>.   
44b0: 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e   <UL>.      <li>
44c0: 0a 20 20 20 20 20 20 20 20 46 69 78 65 64 20 61  .        Fixed a
44d0: 20 73 68 6f 72 74 63 75 74 20 69 6e 20 53 51 4c   shortcut in SQL
44e0: 69 74 65 42 61 73 65 2e 47 65 74 56 61 6c 75 65  iteBase.GetValue
44f0: 20 77 68 69 63 68 20 77 61 73 20 69 6e 73 75 66   which was insuf
4500: 66 69 63 69 65 6e 74 20 66 6f 72 20 0a 20 20 20  ficient for .   
4510: 20 20 20 20 20 69 6e 74 65 72 6e 61 74 69 6f 6e       internation
4520: 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e  al environments.
4530: 26 6e 62 73 70 3b 20 54 68 65 20 73 68 6f 72 74  &nbsp; The short
4540: 63 75 74 20 77 61 73 20 72 65 6d 6f 76 65 64 20  cut was removed 
4550: 61 6e 64 20 74 68 65 20 22 70 72 6f 70 65 72 22  and the "proper"
4560: 20 0a 20 20 20 20 20 20 20 20 70 72 6f 63 65 64   .        proced
4570: 75 72 65 20 70 75 74 20 69 6e 2e 3c 2f 6c 69 3e  ure put in.</li>
4580: 3c 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e  </UL>.    <p><b>
4590: 31 2e 30 2e 31 39 20 2d 20 4f 63 74 6f 62 65 72  1.0.19 - October
45a0: 20 35 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70 3e   5, 2005</b></p>
45b0: 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20  .    <UL>.      
45c0: 3c 6c 69 3e 0a 20 20 20 20 20 20 43 6f 64 65 20  <li>.      Code 
45d0: 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69 74  merge with SQLit
45e0: 65 20 33 2e 32 2e 37 0a 20 20 20 20 20 20 3c 4c  e 3.2.7.      <L
45f0: 49 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20 62  I>.      Fixed b
4600: 75 67 73 20 69 6e 20 74 68 65 20 43 45 20 70 6f  ugs in the CE po
4610: 72 74 20 63 6f 64 65 20 28 6f 73 5f 77 69 6e 63  rt code (os_winc
4620: 65 2e 63 29 26 6e 62 73 70 3b 77 68 69 63 68 20  e.c)&nbsp;which 
4630: 77 65 72 65 20 62 72 6f 75 67 68 74 20 74 6f 20  were brought to 
4640: 0a 20 20 20 20 20 20 6c 69 67 68 74 26 6e 62 73  .      light&nbs
4650: 70 3b 62 79 26 6e 62 73 70 3b 72 65 63 65 6e 74  p;by&nbsp;recent
4660: 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20   changes in the 
4670: 53 51 4c 69 74 65 20 65 6e 67 69 6e 65 2e 0a 20  SQLite engine.. 
4680: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
4690: 20 20 52 65 63 6f 6d 70 69 6c 65 64 20 61 6e 64    Recompiled and
46a0: 20 6d 6f 64 69 66 69 65 64 20 74 6f 20 62 65 20   modified to be 
46b0: 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20  compatible with 
46c0: 74 68 65 20 53 65 70 74 65 6d 62 65 72 20 56 53  the September VS
46d0: 32 30 30 35 20 52 65 6c 65 61 73 65 20 0a 20 20  2005 Release .  
46e0: 20 20 20 20 20 20 43 61 6e 64 69 64 61 74 65 2e        Candidate.
46f0: 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 42 65 74  <br>.        Bet
4700: 61 20 32 20 75 73 65 72 73 20 73 68 6f 75 6c 64  a 2 users should
4710: 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 75 73 65   continue to use
4720: 20 31 2e 30 2e 31 38 2e 31 3c 2f 4c 49 3e 3c 2f   1.0.18.1</LI></
4730: 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e  UL>.    <p><b>1.
4740: 30 2e 31 38 2e 31 20 2d 20 53 65 70 74 65 6d 62  0.18.1 - Septemb
4750: 65 72 20 31 39 2c 20 32 30 30 35 3c 2f 62 3e 3c  er 19, 2005</b><
4760: 2f 70 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20  /p>.    <UL>.   
4770: 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20     <li>.        
4780: 43 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20  Code merge with 
4790: 53 51 4c 69 74 65 20 33 2e 32 2e 36 3c 2f 6c 69  SQLite 3.2.6</li
47a0: 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62  ></UL>.    <p><b
47b0: 3e 31 2e 30 2e 31 38 20 2d 20 53 65 70 74 65 6d  >1.0.18 - Septem
47c0: 62 65 72 20 31 2c 20 32 30 30 35 3c 2f 62 3e 3c  ber 1, 2005</b><
47d0: 2f 70 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20  /p>.    <UL>.   
47e0: 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20     <li>.        
47f0: 41 64 64 65 64 20 74 79 70 65 2d 73 70 65 63 69  Added type-speci
4800: 66 69 63 20 6d 65 74 68 6f 64 20 63 61 6c 6c 73  fic method calls
4810: 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20   when using the 
4820: 76 61 72 69 6f 75 73 20 53 51 4c 69 74 65 20 63  various SQLite c
4830: 6c 61 73 73 65 73 20 74 68 61 74 20 0a 20 20 20  lasses that .   
4840: 20 20 20 20 20 77 6f 75 6c 64 27 76 65 20 6e 6f       would've no
4850: 72 6d 61 6c 6c 79 20 72 65 74 75 72 6e 65 64 20  rmally returned 
4860: 61 20 61 20 67 65 6e 65 72 69 63 20 44 62 20 62  a a generic Db b
4870: 61 73 65 20 63 6c 61 73 73 2c 20 77 68 69 63 68  ase class, which
4880: 20 61 6c 69 67 6e 73 20 74 68 65 20 63 6f 64 65   aligns the code
4890: 20 0a 20 20 20 20 20 20 20 20 62 65 74 74 65 72   .        better
48a0: 20 77 69 74 68 20 74 68 65 20 4d 69 63 72 6f 73   with the Micros
48b0: 6f 66 74 2d 73 75 70 70 6c 69 65 64 20 64 61 74  oft-supplied dat
48c0: 61 20 70 72 6f 76 69 64 65 72 73 2e 3c 2f 6c 69  a providers.</li
48d0: 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 70 3e 3c 62  ></UL>.    <p><b
48e0: 3e 31 2e 30 2e 31 37 20 2d 20 41 75 67 75 73 74  >1.0.17 - August
48f0: 20 32 36 2c 20 32 30 30 35 3c 2f 62 3e 3c 2f 70   26, 2005</b></p
4900: 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20  >.    <ul>.     
4910: 20 3c 6c 69 3e 0a 20 20 20 20 20 20 43 6f 64 65   <li>.      Code
4920: 20 6d 65 72 67 65 20 77 69 74 68 20 53 51 4c 69   merge with SQLi
4930: 74 65 20 33 2e 32 2e 35 0a 20 20 20 20 20 20 3c  te 3.2.5.      <
4940: 6c 69 3e 0a 20 20 20 20 20 20 41 64 64 65 64 20  li>.      Added 
4950: 49 74 61 6e 69 75 6d 20 61 6e 64 20 78 36 34 20  Itanium and x64 
4960: 62 75 69 6c 64 20 73 65 74 74 69 6e 67 73 20 74  build settings t
4970: 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 20 28 6e  o the project (n
4980: 65 65 64 73 20 74 65 73 74 69 6e 67 29 0a 20 20  eeds testing).  
4990: 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 42      <li>.      B
49a0: 75 67 66 69 78 65 73 20 61 6e 64 20 65 6e 68 61  ugfixes and enha
49b0: 6e 63 65 6d 65 6e 74 73 20 74 6f 20 73 65 76 65  ncements to seve
49c0: 72 61 6c 20 73 63 68 65 6d 61 20 74 79 70 65 73  ral schema types
49d0: 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20  .      <li>.    
49e0: 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 64 65 73    Additional des
49f0: 69 67 6e 2d 74 69 6d 65 20 73 75 70 70 6f 72 74  ign-time support
4a00: 20 74 6f 20 69 6e 63 6c 75 64 65 20 69 6e 64 65   to include inde
4a10: 78 20 61 6e 64 20 66 6f 72 65 69 67 6e 20 6b 65  x and foreign ke
4a20: 79 20 0a 20 20 20 20 20 20 65 6e 75 6d 65 72 61  y .      enumera
4a30: 74 69 6f 6e 73 2e 26 6e 62 73 70 3b 20 52 65 71  tions.&nbsp; Req
4a40: 75 69 72 65 73 20 72 65 2d 72 65 67 69 73 74 65  uires re-registe
4a50: 72 69 6e 67 20 74 68 65 20 64 65 73 69 67 6e 65  ring the designe
4a60: 72 20 75 73 69 6e 67 20 0a 20 20 20 20 20 20 49  r using .      I
4a70: 4e 53 54 41 4c 4c 2e 43 4d 44 2e 26 6e 62 73 70  NSTALL.CMD.&nbsp
4a80: 3b 20 54 68 65 20 6e 65 77 20 64 65 73 69 67 6e  ; The new design
4a90: 65 72 20 63 6f 64 65 20 6e 6f 77 20 61 6c 6c 6f  er code now allo
4aa0: 77 73 20 74 68 65 20 56 53 20 71 75 65 72 79 20  ws the VS query 
4ab0: 64 65 73 69 67 6e 65 72 20 61 6e 64 20 0a 20 20  designer and .  
4ac0: 20 20 20 20 74 79 70 65 64 20 64 61 74 61 73 65      typed datase
4ad0: 74 73 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61  ts to automatica
4ae0: 6c 6c 79 20 6c 69 6e 6b 20 75 70 20 66 6f 72 65  lly link up fore
4af0: 69 67 6e 20 6b 65 79 73 2c 20 75 73 65 20 69 6e  ign keys, use in
4b00: 64 65 78 65 73 2c 20 61 6e 64 20 0a 20 20 20 20  dexes, and .    
4b10: 20 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20    automatically 
4b20: 67 65 6e 65 72 61 74 65 20 72 65 6c 61 74 69 6f  generate relatio
4b30: 6e 73 68 69 70 73 20 66 72 6f 6d 20 74 68 65 20  nships from the 
4b40: 73 63 68 65 6d 61 2e 3c 6c 69 3e 0a 20 20 20 20  schema.<li>.    
4b50: 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 73      Additional s
4b60: 74 61 74 69 63 20 6d 65 74 68 6f 64 73 20 6f 6e  tatic methods on
4b70: 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f   SQLiteConnectio
4b80: 6e 20 74 6f 20 63 72 65 61 74 65 20 61 20 64 61  n to create a da
4b90: 74 61 62 61 73 65 20 66 69 6c 65 2c 20 0a 20 20  tabase file, .  
4ba0: 20 20 20 20 20 20 65 6e 63 72 79 70 74 20 61 20        encrypt a 
4bb0: 66 69 6c 65 20 75 73 69 6e 67 20 74 68 65 20 45  file using the E
4bc0: 6e 63 72 79 70 74 65 64 20 46 69 6c 65 20 53 79  ncrypted File Sy
4bd0: 73 74 65 6d 20 28 45 46 53 29 20 6f 6e 20 4e 54  stem (EFS) on NT
4be0: 46 53 20 28 72 65 71 75 69 72 65 73 20 4e 54 20  FS (requires NT 
4bf0: 32 4b 20 6f 72 20 0a 20 20 20 20 20 20 20 20 61  2K or .        a
4c00: 62 6f 76 65 29 20 61 6e 64 20 4e 54 46 53 20 66  bove) and NTFS f
4c10: 69 6c 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 3c  ile compression<
4c20: 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 20  /li>.    </ul>. 
4c30: 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31 36 20     <p><b>1.0.16 
4c40: 2d 20 41 75 67 75 73 74 20 32 34 2c 20 32 30 30  - August 24, 200
4c50: 35 3c 2f 62 3e 3c 2f 70 3e 0a 20 20 20 20 3c 75  5</b></p>.    <u
4c60: 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20  l>.      <li>.  
4c70: 20 20 20 20 43 6f 64 65 20 6d 65 72 67 65 20 77      Code merge w
4c80: 69 74 68 20 53 51 4c 69 74 65 20 33 2e 32 2e 34  ith SQLite 3.2.4
4c90: 20 77 69 74 68 20 74 68 65 20 6c 61 72 67 65 20   with the large 
4ca0: 64 65 6c 65 74 65 20 62 75 67 66 69 78 20 69 6e  delete bugfix in
4cb0: 20 43 56 53 20 28 77 68 69 63 68 20 77 69 6c 6c   CVS (which will
4cc0: 20 0a 20 20 20 20 20 20 62 65 63 6f 6d 65 20 33   .      become 3
4cd0: 2e 32 2e 35 20 73 6f 6f 6e 29 0a 20 20 20 20 20  .2.5 soon).     
4ce0: 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 41 64   <li>.        Ad
4cf0: 64 65 64 20 6e 65 77 20 47 65 74 53 63 68 65 6d  ded new GetSchem
4d00: 61 28 29 20 74 79 70 65 73 3a 20 49 6e 64 65 78  a() types: Index
4d10: 43 6f 6c 75 6d 6e 73 2c 20 56 69 65 77 43 6f 6c  Columns, ViewCol
4d20: 75 6d 6e 73 2c 20 46 6f 72 65 69 67 6e 4b 65 79  umns, ForeignKey
4d30: 73 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e  s</li>.    </ul>
4d40: 0a 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31  .    <p><b>1.0.1
4d50: 35 20 2d 20 41 75 67 75 73 74 20 32 32 2c 20 32  5 - August 22, 2
4d60: 30 30 35 3c 2f 62 3e 3c 62 72 3e 0a 20 20 20 20  005</b><br>.    
4d70: 3c 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20  </p>.    <ul>.  
4d80: 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 43      <li>.      C
4d90: 6f 64 65 20 6d 65 72 67 65 20 77 69 74 68 20 53  ode merge with S
4da0: 51 4c 69 74 65 20 33 2e 32 2e 33 0a 20 20 20 20  QLite 3.2.3.    
4db0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 4d    <LI>.        M
4dc0: 69 6e 6f 72 20 75 70 64 61 74 65 73 20 66 6f 72  inor updates for
4dd0: 20 62 65 74 74 65 72 20 64 65 73 69 67 6e 2d 74   better design-t
4de0: 69 6d 65 20 65 78 70 65 72 69 65 6e 63 65 2e 20  ime experience. 
4df0: 4d 6f 72 65 20 64 65 73 69 67 6e 2d 74 69 6d 65  More design-time
4e00: 20 63 6f 64 65 20 74 6f 20 0a 20 20 20 20 20 20   code to .      
4e10: 20 20 66 6f 6c 6c 6f 77 20 69 6e 20 73 75 62 73    follow in subs
4e20: 65 71 75 65 6e 74 20 72 65 6c 65 61 73 65 73 2e  equent releases.
4e30: 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a  </LI>.    </ul>.
4e40: 20 20 20 20 3c 70 3e 3c 62 3e 31 2e 30 2e 31 34      <p><b>1.0.14
4e50: 20 2d 20 41 75 67 75 73 74 20 31 36 2c 20 32 30   - August 16, 20
4e60: 30 35 3c 2f 62 3e 3c 62 72 3e 0a 20 20 20 20 3c  05</b><br>.    <
4e70: 2f 70 3e 0a 20 20 20 20 3c 75 6c 3e 0a 20 20 20  /p>.    <ul>.   
4e80: 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 46 69     <li>.      Fi
4e90: 78 65 64 20 61 20 62 75 67 20 69 6e 20 74 68 65  xed a bug in the
4ea0: 20 53 51 4c 69 74 65 44 61 74 61 41 64 61 70 74   SQLiteDataAdapt
4eb0: 65 72 20 64 75 65 20 74 6f 20 69 6e 73 75 66 66  er due to insuff
4ec0: 69 63 69 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74  icient implement
4ed0: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 0a 20 20  ation of the .  
4ee0: 20 20 20 20 63 6c 61 73 73 2e 26 6e 62 73 70 3b      class.&nbsp;
4ef0: 20 54 68 65 20 52 6f 77 55 70 64 61 74 69 6e 67   The RowUpdating
4f00: 20 61 6e 64 20 52 6f 77 55 70 64 61 74 65 64 20   and RowUpdated 
4f10: 65 76 65 6e 74 73 20 61 72 65 20 6e 6f 77 20 70  events are now p
4f20: 72 6f 70 65 72 6c 79 20 0a 20 20 20 20 20 20 69  roperly .      i
4f30: 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 62 75 74 20  mplemented, but 
4f40: 75 6e 66 6f 72 74 75 6e 61 74 65 6c 79 20 69 6e  unfortunately in
4f50: 73 65 72 74 69 6e 67 20 61 6e 64 20 75 70 64 61  serting and upda
4f60: 74 69 6e 67 20 64 61 74 61 20 69 6e 20 61 20 44  ting data in a D
4f70: 61 74 61 54 61 62 6c 65 20 6f 72 20 0a 20 20 20  ataTable or .   
4f80: 20 20 20 44 61 74 61 53 65 74 20 69 73 20 6e 6f     DataSet is no
4f90: 77 20 6d 75 63 68 20 73 6c 6f 77 65 72 2e 26 6e  w much slower.&n
4fa0: 62 73 70 3b 20 54 68 69 73 20 69 73 20 74 68 65  bsp; This is the
4fb0: 20 70 72 6f 70 65 72 20 64 65 73 69 67 6e 20 68   proper design h
4fc0: 6f 77 65 76 65 72 2c 20 73 6f 20 74 68 65 20 0a  owever, so the .
4fd0: 20 20 20 20 20 20 63 68 61 6e 67 65 73 20 61 72        changes ar
4fe0: 65 20 68 65 72 65 20 74 6f 20 73 74 61 79 2e 0a  e here to stay..
4ff0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
5000: 20 4c 6f 74 73 20 6f 66 20 73 63 68 65 6d 61 20   Lots of schema 
5010: 63 68 61 6e 67 65 73 20 74 6f 20 73 75 70 70 6f  changes to suppo
5020: 72 74 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f  rt Visual Studio
5030: 27 73 20 44 61 74 61 20 44 65 73 69 67 6e 65 72  's Data Designer
5040: 20 61 72 63 68 69 74 65 63 74 75 72 65 2e 3c 6c   architecture.<l
5050: 69 3e 41 64 64 65 64 20 0a 20 20 20 20 20 20 20  i>Added .       
5060: 20 44 65 73 69 67 6e 65 72 20 73 75 70 70 6f 72   Designer suppor
5070: 74 20 66 6f 72 20 74 68 65 20 70 72 6f 76 69 64  t for the provid
5080: 65 72 2e 26 6e 62 73 70 3b 20 49 74 27 73 20 6e  er.&nbsp; It's n
5090: 6f 74 20 31 30 30 25 2c 20 62 75 74 20 79 6f 75  ot 100%, but you
50a0: 20 63 61 6e 20 64 65 73 69 67 6e 20 0a 20 20 20   can design .   
50b0: 20 20 20 20 20 71 75 65 72 69 65 73 2c 20 61 64       queries, ad
50c0: 64 20 74 79 70 65 64 20 64 61 74 61 73 65 74 73  d typed datasets
50d0: 20 61 6e 64 20 70 65 72 66 6f 72 6d 20 71 75 69   and perform qui
50e0: 74 65 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 74  te a number of t
50f0: 61 73 6b 73 20 61 6c 6c 20 77 69 74 68 69 6e 20  asks all within 
5100: 0a 20 20 20 20 20 20 20 20 56 69 73 75 61 6c 20  .        Visual 
5110: 53 74 75 64 69 6f 20 6e 6f 77 2e 3c 2f 6c 69 3e  Studio now.</li>
5120: 3c 2f 75 6c 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e  </ul>.    <P><B>
5130: 31 2e 30 2e 31 33 20 2d 20 41 75 67 75 73 74 20  1.0.13 - August 
5140: 38 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a  8, 2005</B><BR>.
5150: 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 44 49      </P>.    <DI
5160: 56 3e 0a 20 20 20 20 20 20 3c 55 4c 3e 0a 20 20  V>.      <UL>.  
5170: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
5180: 20 20 20 46 69 78 65 64 20 61 20 6e 61 6d 65 64     Fixed a named
5190: 20 70 61 72 61 6d 65 74 65 72 20 62 75 67 20 69   parameter bug i
51a0: 6e 20 74 68 65 20 62 61 73 65 20 53 51 4c 69 74  n the base SQLit
51b0: 65 5f 55 54 46 31 36 20 63 6c 61 73 73 2c 20 77  e_UTF16 class, w
51c0: 68 69 63 68 20 6f 66 20 63 6f 75 72 73 65 20 0a  hich of course .
51d0: 20 20 20 20 20 20 20 20 6f 6e 6c 79 20 73 68 6f          only sho
51e0: 77 65 64 20 75 70 20 77 68 65 6e 20 61 20 64 61  wed up when a da
51f0: 74 61 62 61 73 65 20 63 6f 6e 6e 65 63 74 69 6f  tabase connectio
5200: 6e 20 77 61 73 20 6f 70 65 6e 65 64 20 75 73 69  n was opened usi
5210: 6e 67 20 74 68 65 20 0a 20 20 20 20 20 20 20 20  ng the .        
5220: 55 73 65 55 54 46 31 36 45 6e 63 6f 64 69 6e 67  UseUTF16Encoding
5230: 3d 54 72 75 65 20 70 61 72 61 6d 65 74 65 72 2e  =True parameter.
5240: 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  .        <LI>.  
5250: 20 20 20 20 20 20 20 20 46 69 78 65 64 20 61 20          Fixed a 
5260: 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 73 73 75  performance issu
5270: 65 20 69 6e 20 53 51 4c 69 74 65 5f 55 54 46 31  e in SQLite_UTF1
5280: 36 20 69 6e 76 6f 6c 76 69 6e 67 20 73 74 72 69  6 involving stri
5290: 6e 67 20 6d 61 72 73 68 61 6c 69 6e 67 2e 3c 2f  ng marshaling.</
52a0: 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 2f 44  LI></UL>.    </D
52b0: 49 56 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e  IV>.    <P><B>1.
52c0: 30 2e 31 32 20 2d 20 41 75 67 75 73 74 20 35 2c  0.12 - August 5,
52d0: 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a 20 20   2005</B><BR>.  
52e0: 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 44 49 56 3e    </P>.    <DIV>
52f0: 0a 20 20 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20  .      <UL>.    
5300: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20      <LI>.       
5310: 20 20 20 46 75 6c 6c 20 73 75 70 70 6f 72 74 20     Full support 
5320: 66 6f 72 20 74 68 65 20 43 6f 6d 70 61 63 74 20  for the Compact 
5330: 46 72 61 6d 65 77 6f 72 6b 2e 26 6e 62 73 70 3b  Framework.&nbsp;
5340: 20 45 61 63 68 20 62 75 69 6c 64 20 28 44 65 62   Each build (Deb
5350: 75 67 2f 52 65 6c 65 61 73 65 29 20 6e 6f 77 20  ug/Release) now 
5360: 0a 20 20 20 20 20 20 20 20 20 20 68 61 73 20 61  .          has a
5370: 26 6e 62 73 70 3b 70 6c 61 74 66 6f 72 6d 2c 20  &nbsp;platform, 
5380: 65 69 74 68 65 72 20 57 69 6e 33 32 20 6f 72 20  either Win32 or 
5390: 43 6f 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72  Compact Framewor
53a0: 6b 2e 26 6e 62 73 70 3b 20 54 68 65 20 63 6f 72  k.&nbsp; The cor
53b0: 72 65 63 74 20 0a 20 20 20 20 20 20 20 20 20 20  rect .          
53c0: 70 72 6f 6a 65 63 74 73 20 61 72 65 20 62 75 69  projects are bui
53d0: 6c 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 26  lt accordingly.&
53e0: 6e 62 73 70 3b 20 53 65 65 20 74 68 65 26 6e 62  nbsp; See the&nb
53f0: 73 70 3b 3c 41 20 68 72 65 66 3d 22 23 72 65 64  sp;<A href="#red
5400: 69 73 74 22 3e 44 69 73 74 72 69 62 75 74 69 6e  ist">Distributin
5410: 67 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 53  g .            S
5420: 51 4c 69 74 65 3c 2f 41 3e 0a 20 20 20 20 20 20  QLite</A>.      
5430: 20 20 73 65 63 74 69 6f 6e 20 66 6f 72 20 69 6e    section for in
5440: 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 77 68 61  formation on wha
5450: 74 20 66 69 6c 65 73 20 6e 65 65 64 20 74 6f 20  t files need to 
5460: 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 66  be distributed f
5470: 6f 72 20 65 61 63 68 20 0a 20 20 20 20 20 20 20  or each .       
5480: 20 70 6c 61 74 66 6f 72 6d 2e 26 6e 62 73 70 3b   platform.&nbsp;
5490: 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  .        <LI>.  
54a0: 20 20 20 20 20 20 4d 6f 64 69 66 69 65 64 20 53        Modified S
54b0: 51 4c 69 74 65 33 2e 52 65 73 65 74 28 29 20 61  QLite3.Reset() a
54c0: 6e 64 20 53 74 65 70 28 29 20 66 75 6e 63 74 69  nd Step() functi
54d0: 6f 6e 73 20 74 6f 20 74 72 61 6e 73 70 61 72 65  ons to transpare
54e0: 6e 74 6c 79 20 68 61 6e 64 6c 65 20 74 69 6d 65  ntly handle time
54f0: 6f 75 74 73 20 0a 20 20 20 20 20 20 20 20 77 68  outs .        wh
5500: 69 6c 65 20 77 61 69 74 69 6e 67 20 6f 6e 20 74  ile waiting on t
5510: 68 65 20 64 61 74 61 62 61 73 65 20 74 6f 20 62  he database to b
5520: 65 63 6f 6d 65 20 61 76 61 69 6c 61 62 6c 65 20  ecome available 
5530: 28 74 79 70 69 63 61 6c 6c 79 20 77 68 65 6e 20  (typically when 
5540: 61 20 77 72 69 74 65 72 20 69 73 20 0a 20 20 20  a writer is .   
5550: 20 20 20 20 20 77 61 69 74 69 6e 67 20 6f 6e 20       waiting on 
5560: 61 20 72 65 61 64 65 72 20 74 6f 20 66 69 6e 69  a reader to fini
5570: 73 68 2c 20 6f 72 20 61 20 72 65 61 64 65 72 20  sh, or a reader 
5580: 69 73 20 77 61 69 74 69 6e 67 20 6f 6e 20 61 20  is waiting on a 
5590: 77 72 69 74 65 72 20 74 6f 20 66 69 6e 69 73 68  writer to finish
55a0: 29 2e 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a  )..        <LI>.
55b0: 20 20 20 20 20 20 20 20 4c 6f 74 73 20 6f 66 20          Lots of 
55c0: 63 6f 64 65 20 63 6c 65 61 6e 75 70 26 6e 62 73  code cleanup&nbs
55d0: 70 3b 61 73 20 73 75 67 67 65 73 74 65 64 26 6e  p;as suggested&n
55e0: 62 73 70 3b 62 79 20 74 68 65 20 43 6f 64 65 20  bsp;by the Code 
55f0: 41 6e 61 6c 79 7a 65 72 20 28 46 78 43 6f 70 29  Analyzer (FxCop)
5600: 2e 0a 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20  ..        <LI>. 
5610: 20 20 20 20 20 20 20 4c 6f 74 73 20 6f 66 20 75         Lots of u
5620: 70 64 61 74 65 73 20 74 6f 20 74 68 65 20 68 65  pdates to the he
5630: 6c 70 66 69 6c 65 20 28 61 73 20 79 6f 75 20 63  lpfile (as you c
5640: 61 6e 20 73 65 65 29 2e 0a 20 20 20 20 20 20 20  an see)..       
5650: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 20   <LI>.          
5660: 53 74 61 74 65 6d 65 6e 74 73 26 6e 62 73 70 3b  Statements&nbsp;
5670: 77 65 72 65 20 61 6c 72 65 61 64 79 20 70 72 65  were already pre
5680: 70 61 72 65 64 20 6c 61 7a 69 6c 79 26 6e 62 73  pared lazily&nbs
5690: 70 3b 69 6e 20 61 20 53 51 4c 69 74 65 43 6f 6d  p;in a SQLiteCom
56a0: 6d 61 6e 64 2c 20 62 75 74 20 6e 6f 77 20 0a 20  mand, but now . 
56b0: 20 20 20 20 20 20 20 20 20 69 74 73 20 65 76 65           its eve
56c0: 6e 20 6d 6f 72 65 20 6c 61 7a 79 2e 26 6e 62 73  n more lazy.&nbs
56d0: 70 3b 20 53 74 61 74 65 6d 65 6e 74 73 20 61 72  p; Statements ar
56e0: 65 20 6e 6f 77 20 6f 6e 6c 79 20 70 72 65 70 61  e now only prepa
56f0: 72 65 64 20 69 66 20 74 68 65 20 73 74 61 74 65  red if the state
5700: 6d 65 6e 74 73 20 0a 20 20 20 20 20 20 20 20 20  ments .         
5710: 20 68 61 76 65 6e 27 74 20 62 65 65 6e 20 70 72   haven't been pr
5720: 65 76 69 6f 75 73 6c 79 20 70 72 65 70 61 72 65  eviously prepare
5730: 64 20 61 6e 64 20 61 20 50 72 65 70 61 72 65 28  d and a Prepare(
5740: 29 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61  ) function is ca
5750: 6c 6c 65 64 20 28 61 6e 64 20 74 68 65 20 0a 20  lled (and the . 
5760: 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64           command
5770: 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 20 77   is associated w
5780: 69 74 68 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e  ith a connection
5790: 29 20 6f 72 20 6a 75 73 74 20 70 72 69 6f 72 20  ) or just prior 
57a0: 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 62  to the command b
57b0: 65 69 6e 67 20 0a 20 20 20 20 20 20 20 20 20 20  eing .          
57c0: 65 78 65 63 75 74 65 64 2e 26 6e 62 73 70 3b 3c  executed.&nbsp;<
57d0: 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c 2f  /LI></UL>.    </
57e0: 44 49 56 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31  DIV>.    <P><B>1
57f0: 2e 30 2e 31 31 20 2d 20 41 75 67 75 73 74 20 31  .0.11 - August 1
5800: 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a 20  , 2005</B><BR>. 
5810: 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e     </P>.    <UL>
5820: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
5830: 20 20 20 20 3c 53 54 52 4f 4e 47 3e 46 6f 72 20      <STRONG>For 
5840: 65 76 65 72 79 74 68 69 6e 67 20 65 78 63 65 70  everything excep
5850: 74 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72  t the Compact Fr
5860: 61 6d 65 77 6f 72 6b 2c 20 53 79 73 74 65 6d 2e  amework, System.
5870: 44 61 74 61 2e 53 51 4c 69 74 65 2e 44 4c 4c 20  Data.SQLite.DLL 
5880: 69 73 20 0a 20 20 20 20 20 20 20 20 20 20 6e 6f  is .          no
5890: 77 20 74 68 65 20 3c 45 4d 3e 6f 6e 6c 79 3c 2f  w the <EM>only</
58a0: 45 4d 3e 20 44 4c 4c 20 72 65 71 75 69 72 65 64  EM> DLL required
58b0: 20 74 6f 20 75 73 65 20 74 68 69 73 20 70 72 6f   to use this pro
58c0: 76 69 64 65 72 21 3c 2f 53 54 52 4f 4e 47 3e 26  vider!</STRONG>&
58d0: 6e 62 73 70 3b 20 54 68 65 20 0a 20 20 20 20 20  nbsp; The .     
58e0: 20 61 73 73 65 6d 62 6c 79 20 69 73 20 6e 6f 77   assembly is now
58f0: 20 61 20 6d 75 6c 74 69 2d 6d 6f 64 75 6c 65 20   a multi-module 
5900: 61 73 73 65 6d 62 6c 79 2c 20 63 6f 6e 74 61 69  assembly, contai
5910: 6e 69 6e 67 20 62 6f 74 68 20 74 68 65 20 6e 61  ning both the na
5920: 74 69 76 65 20 53 51 4c 69 74 65 33 20 0a 20 20  tive SQLite3 .  
5930: 20 20 20 20 63 6f 64 65 62 61 73 65 20 61 6e 64      codebase and
5940: 20 74 68 65 20 43 23 20 63 6c 61 73 73 65 73 20   the C# classes 
5950: 62 75 69 6c 74 20 6f 6e 20 74 6f 70 20 6f 66 20  built on top of 
5960: 69 74 2e 26 6e 62 73 70 3b 20 54 68 65 20 43 6f  it.&nbsp; The Co
5970: 6d 70 61 63 74 20 46 72 61 6d 65 77 6f 72 6b 20  mpact Framework 
5980: 0a 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 28  .      version (
5990: 77 68 65 6e 20 63 6f 6d 70 6c 65 74 65 64 29 20  when completed) 
59a0: 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 62 6c 65  will not be able
59b0: 20 74 6f 20 73 75 70 70 6f 72 74 20 74 68 69 73   to support this
59c0: 20 66 65 61 74 75 72 65 2c 20 73 6f 20 62 61 63   feature, so bac
59d0: 6b 77 61 72 64 73 20 0a 20 20 20 20 20 20 63 6f  kwards .      co
59e0: 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68  mpatibility with
59f0: 20 74 68 65 20 43 6f 6d 70 61 63 74 20 46 72 61   the Compact Fra
5a00: 6d 65 77 6f 72 6b 20 68 61 73 20 62 65 65 6e 20  mework has been 
5a10: 70 72 65 73 65 72 76 65 64 20 66 6f 72 20 74 68  preserved for th
5a20: 65 20 66 75 74 75 72 65 2e 0a 20 20 20 20 20 20  e future..      
5a30: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 46 69 78  <LI>.        Fix
5a40: 65 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c 69  ed a bug in SQLi
5a50: 74 65 43 6f 6d 6d 61 6e 64 2e 45 78 65 63 75 74  teCommand.Execut
5a60: 65 53 63 61 6c 61 72 28 29 20 74 68 61 74 20 63  eScalar() that c
5a70: 61 75 73 65 64 20 69 74 20 74 6f 20 73 74 6f 70  aused it to stop
5a80: 20 65 78 65 63 75 74 69 6e 67 20 0a 20 20 20 20   executing .    
5a90: 20 20 20 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 63      commands onc
5aa0: 65 20 69 74 20 6f 62 74 61 69 6e 65 64 20 74 68  e it obtained th
5ab0: 65 20 66 69 72 73 74 20 63 6f 6c 75 6d 6e 20 6f  e first column o
5ac0: 66 20 74 68 65 20 66 69 72 73 74 20 72 6f 77 2d  f the first row-
5ad0: 72 65 74 75 72 6e 69 6e 67 20 0a 20 20 20 20 20  returning .     
5ae0: 20 20 20 72 65 73 75 6c 74 73 65 74 2e 26 6e 62     resultset.&nb
5af0: 73 70 3b 20 41 6e 79 20 72 65 6d 61 69 6e 69 6e  sp; Any remainin
5b00: 67 20 73 74 61 74 65 6d 65 6e 74 73 20 61 66 74  g statements aft
5b10: 65 72 20 74 68 65 20 72 6f 77 2d 72 65 74 75 72  er the row-retur
5b20: 6e 69 6e 67 20 73 74 61 74 65 6d 65 6e 74 20 77  ning statement w
5b30: 61 73 20 0a 20 20 20 20 20 20 20 20 69 67 6e 6f  as .        igno
5b40: 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e  red..      </LI>
5b50: 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c  .    </UL>.    <
5b60: 50 3e 3c 42 3e 31 2e 30 2e 31 30 20 2d 20 4a 75  P><B>1.0.10 - Ju
5b70: 6e 65 20 31 30 2c 20 32 30 30 35 3c 2f 42 3e 3c  ne 10, 2005</B><
5b80: 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20  BR>.    </P>.   
5b90: 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e   <UL>.      <LI>
5ba0: 0a 20 20 20 20 20 20 46 69 78 65 64 20 61 20 62  .      Fixed a b
5bb0: 75 67 20 69 6e 20 74 68 65 20 53 51 4c 69 74 65  ug in the SQLite
5bc0: 33 2e 63 73 20 50 72 65 70 61 72 65 28 29 20 66  3.cs Prepare() f
5bd0: 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 72 65  unction that cre
5be0: 61 74 65 64 20 61 20 73 74 61 74 65 6d 65 6e 74  ated a statement
5bf0: 20 65 76 65 6e 20 0a 20 20 20 20 20 20 77 68 65   even .      whe
5c00: 6e 20 74 68 65 20 53 51 4c 69 74 65 20 65 6e 67  n the SQLite eng
5c10: 69 6e 65 20 72 65 74 75 72 6e 65 64 20 61 20 4e  ine returned a N
5c20: 55 4c 4c 20 70 6f 69 6e 74 65 72 2e 20 54 79 70  ULL pointer. Typ
5c30: 69 63 61 6c 6c 79 20 74 68 69 73 20 6f 63 63 75  ically this occu
5c40: 72 73 20 77 68 65 6e 20 0a 20 20 20 20 20 20 6d  rs when .      m
5c50: 75 6c 74 69 70 6c 65 20 73 74 61 74 65 6d 65 6e  ultiple statemen
5c60: 74 73 20 61 72 65 20 70 72 6f 63 65 73 73 65 64  ts are processed
5c70: 20 61 6e 64 20 74 68 65 72 65 20 61 72 65 20 74   and there are t
5c80: 72 61 69 6c 69 6e 67 20 63 6f 6d 6d 65 6e 74 73  railing comments
5c90: 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 0a   at the end of .
5ca0: 20 20 20 20 20 20 74 68 65 20 73 74 61 74 65 6d        the statem
5cb0: 65 6e 74 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  ent..      <LI>.
5cc0: 20 20 20 20 20 20 20 20 46 69 78 65 64 20 61 20          Fixed a 
5cd0: 62 75 67 20 69 6e 20 53 51 4c 69 74 65 53 74 61  bug in SQLiteSta
5ce0: 74 65 6d 65 6e 74 2e 63 73 20 74 68 61 74 20 72  tement.cs that r
5cf0: 65 74 72 69 65 76 65 64 20 70 61 72 61 6d 65 74  etrieved paramet
5d00: 65 72 20 6e 61 6d 65 73 20 66 6f 72 20 61 20 0a  er names for a .
5d10: 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65          paramete
5d20: 72 69 7a 65 64 20 71 75 65 72 79 2e 26 6e 62 73  rized query.&nbs
5d30: 70 3b 20 53 51 4c 69 74 65 27 73 20 70 61 72 61  p; SQLite's para
5d40: 6d 65 74 65 72 73 20 61 72 65 20 31 2d 62 61 73  meters are 1-bas
5d50: 65 64 2c 20 61 6e 64 20 74 68 65 20 66 75 6e 63  ed, and the func
5d60: 74 69 6f 6e 20 0a 20 20 20 20 20 20 20 20 77 61  tion .        wa
5d70: 73 20 73 74 61 72 74 69 6e 67 20 61 74 20 30 2e  s starting at 0.
5d80: 26 6e 62 73 70 3b 20 54 68 69 73 20 77 61 73 20  &nbsp; This was 
5d90: 66 69 6e 65 20 77 68 65 6e 20 61 6c 6c 20 70 61  fine when all pa
5da0: 72 61 6d 65 74 65 72 73 20 77 65 72 65 20 75 6e  rameters were un
5db0: 6e 61 6d 65 64 2c 20 62 75 74 20 0a 20 20 20 20  named, but .    
5dc0: 20 20 20 20 66 6f 72 20 6e 61 6d 65 64 20 70 61      for named pa
5dd0: 72 61 6d 65 74 65 72 73 20 69 74 20 63 61 75 73  rameters it caus
5de0: 65 64 20 74 68 65 20 70 61 72 61 6d 65 74 65 72  ed the parameter
5df0: 73 20 74 6f 20 62 65 20 6f 75 74 20 6f 66 20 77  s to be out of w
5e00: 68 61 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 4c 49  hack..      </LI
5e10: 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20  >.    </UL>.    
5e20: 3c 50 3e 3c 42 3e 31 2e 30 2e 30 39 61 20 2d 20  <P><B>1.0.09a - 
5e30: 4d 61 79 20 32 35 2c 20 32 30 30 35 3c 2f 42 3e  May 25, 2005</B>
5e40: 3c 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20  <BR>.    </P>.  
5e50: 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49    <UL>.      <LI
5e60: 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20 61 20  >.      Fixed a 
5e70: 62 72 6f 6b 65 6e 20 68 65 6c 70 66 69 6c 65 20  broken helpfile 
5e80: 61 6e 64 20 63 6f 72 72 65 63 74 65 64 20 73 6f  and corrected so
5e90: 6d 65 20 6f 62 73 6f 6c 65 74 65 20 68 65 6c 70  me obsolete help
5ea0: 20 72 65 6d 61 72 6b 73 20 69 6e 20 0a 20 20 20   remarks in .   
5eb0: 20 20 20 53 51 4c 69 74 65 46 75 6e 63 74 69 6f     SQLiteFunctio
5ec0: 6e 2e 63 73 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  n.cs.      <LI>.
5ed0: 20 20 20 20 20 20 20 20 41 64 64 65 64 20 61 20          Added a 
5ee0: 76 65 72 73 69 6f 6e 20 72 65 73 6f 75 72 63 65  version resource
5ef0: 20 74 6f 20 74 68 65 20 53 51 4c 69 74 65 2e 49   to the SQLite.I
5f00: 6e 74 65 72 6f 70 2e 44 4c 4c 2e 26 6e 62 73 70  nterop.DLL.&nbsp
5f10: 3b 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20  ;</LI></UL>.    
5f20: 3c 50 3e 3c 42 3e 31 2e 30 2e 30 39 20 2d 20 4d  <P><B>1.0.09 - M
5f30: 61 79 20 32 34 2c 20 32 30 30 35 3c 2f 42 3e 3c  ay 24, 2005</B><
5f40: 42 52 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20  BR>.    </P>.   
5f50: 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e   <UL>.      <LI>
5f60: 0a 20 20 20 20 20 20 43 6f 64 65 20 6d 65 72 67  .      Code merg
5f70: 65 20 77 69 74 68 20 74 68 65 20 6c 61 74 65 73  e with the lates
5f80: 74 20 33 2e 32 31 20 76 65 72 73 69 6f 6e 20 6f  t 3.21 version o
5f90: 66 20 53 51 4c 69 74 65 2e 0a 20 20 20 20 20 20  f SQLite..      
5fa0: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 52 65 6d  <LI>.        Rem
5fb0: 6f 76 65 64 20 6f 62 73 6f 6c 65 74 65 20 6d 65  oved obsolete me
5fc0: 74 68 6f 64 73 20 61 6e 64 20 70 72 6f 70 65 72  thods and proper
5fd0: 74 69 65 73 20 66 6f 72 20 57 68 69 64 62 65 79  ties for Whidbey
5fe0: 20 42 65 74 61 20 32 3c 2f 4c 49 3e 3c 2f 55 4c   Beta 2</LI></UL
5ff0: 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e  >.    <P><B>1.0.
6000: 30 38 20 52 65 66 72 65 73 68 20 2d 20 4d 61 72  08 Refresh - Mar
6010: 20 32 34 2c 20 32 30 30 35 3c 42 52 3e 0a 20 20   24, 2005<BR>.  
6020: 20 20 20 20 3c 2f 42 3e 0a 20 20 20 20 3c 2f 50      </B>.    </P
6030: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
6040: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 43 6f 64 65   <LI>.      Code
6050: 20 6d 65 72 67 65 20 77 69 74 68 20 74 68 65 20   merge with the 
6060: 6c 61 74 65 73 74 20 33 2e 32 30 20 76 65 72 73  latest 3.20 vers
6070: 69 6f 6e 20 6f 66 20 53 51 4c 69 74 65 2e 0a 20  ion of SQLite.. 
6080: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
6090: 20 20 52 65 63 6f 6d 70 69 6c 65 64 20 74 68 65    Recompiled the
60a0: 20 68 65 6c 70 20 66 69 6c 65 20 74 6f 20 66 69   help file to fi
60b0: 78 20 61 20 62 75 69 6c 64 20 65 72 72 6f 72 20  x a build error 
60c0: 69 6e 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 4c  in it..      </L
60d0: 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20  I>.    </UL>.   
60e0: 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 38 20 2d 20   <P><B>1.0.08 - 
60f0: 4d 61 72 20 31 31 2c 20 32 30 30 35 3c 42 52 3e  Mar 11, 2005<BR>
6100: 0a 20 20 20 20 20 20 3c 2f 42 3e 0a 20 20 20 20  .      </B>.    
6110: 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20  </P>.    <UL>.  
6120: 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 41      <LI>.      A
6130: 64 64 65 64 20 61 64 64 69 74 69 6f 6e 61 6c 20  dded additional 
6140: 23 69 66 20 73 74 61 74 65 6d 65 6e 74 73 20 74  #if statements t
6150: 6f 20 73 75 70 70 6f 72 74 20 74 68 65 20 6f 6c  o support the ol
6160: 64 20 62 65 74 61 20 31 20 65 64 69 74 69 6f 6e  d beta 1 edition
6170: 20 6f 66 20 56 53 32 30 30 35 2e 0a 20 20 20 20   of VS2005..    
6180: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 43    <LI>.        C
6190: 6f 64 65 20 6d 65 72 67 65 64 20 74 68 65 20 53  ode merged the S
61a0: 51 4c 69 74 65 20 33 2e 31 34 20 73 6f 75 72 63  QLite 3.14 sourc
61b0: 65 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a 20  e..      </LI>. 
61c0: 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50 3e     </UL>.    <P>
61d0: 3c 42 3e 31 2e 30 2e 30 37 20 2d 20 4d 61 72 20  <B>1.0.07 - Mar 
61e0: 35 2c 20 32 30 30 35 3c 2f 42 3e 3c 42 52 3e 0a  5, 2005</B><BR>.
61f0: 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c      </P>.    <UL
6200: 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  >.      <LI>.   
6210: 20 20 20 4d 61 64 65 20 6d 6f 72 65 20 6f 70 74     Made more opt
6220: 69 6d 69 7a 61 74 69 6f 6e 73 20 74 6f 20 66 72  imizations to fr
6230: 65 71 75 65 6e 74 6c 79 2d 63 61 6c 6c 65 64 20  equently-called 
6240: 66 75 6e 63 74 69 6f 6e 73 2c 20 72 65 73 75 6c  functions, resul
6250: 74 69 6e 67 20 69 6e 20 0a 20 20 20 20 20 20 73  ting in .      s
6260: 69 67 6e 69 66 69 63 61 6e 74 20 70 65 72 66 6f  ignificant perfo
6270: 72 6d 61 6e 63 65 20 67 61 69 6e 73 20 69 6e 20  rmance gains in 
6280: 61 6c 6c 20 74 65 73 74 73 2e 0a 20 20 20 20 20  all tests..     
6290: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 52 65   <LI>.        Re
62a0: 63 6f 6d 70 69 6c 65 64 20 74 68 65 20 62 69 6e  compiled the bin
62b0: 61 72 69 65 73 20 75 73 69 6e 67 20 74 68 65 20  aries using the 
62c0: 6c 61 74 65 73 74 20 56 53 32 30 30 35 20 46 65  latest VS2005 Fe
62d0: 62 72 75 61 72 79 20 43 54 50 2c 20 72 65 73 75  bruary CTP, resu
62e0: 6c 74 69 6e 67 20 69 6e 20 79 65 74 20 0a 20 20  lting in yet .  
62f0: 20 20 20 20 20 20 6d 6f 72 65 20 73 69 67 6e 69        more signi
6300: 66 69 63 61 6e 74 20 73 70 65 65 64 20 67 61 69  ficant speed gai
6310: 6e 73 2e 26 6e 62 73 70 3b 20 54 68 65 20 31 30  ns.&nbsp; The 10
6320: 30 6b 20 69 6e 73 65 72 74 20 74 65 73 74 20 75  0k insert test u
6330: 73 65 64 20 74 6f 20 74 61 6b 65 20 33 2e 35 20  sed to take 3.5 
6340: 0a 20 20 20 20 20 20 20 20 73 65 63 6f 6e 64 73  .        seconds
6350: 20 61 6e 64 20 74 68 65 20 69 6e 73 65 72 74 77   and the insertw
6360: 69 74 68 69 64 65 6e 74 69 74 79 20 74 6f 6f 6b  ithidentity took
6370: 20 61 6c 6d 6f 73 74 20 38 20 73 65 63 6f 6e 64   almost 8 second
6380: 73 2e 26 6e 62 73 70 3b 20 57 69 74 68 20 74 68  s.&nbsp; With th
6390: 65 20 61 62 6f 76 65 20 0a 20 20 20 20 20 20 20  e above .       
63a0: 20 74 77 6f 20 63 68 61 6e 67 65 73 2c 20 74 68   two changes, th
63b0: 6f 73 65 20 74 65 73 74 73 20 61 72 65 20 6e 6f  ose tests are no
63c0: 77 20 65 78 65 63 75 74 69 6e 67 20 69 6e 20 31  w executing in 1
63d0: 2e 39 20 61 6e 64 20 34 2e 39 20 73 65 63 6f 6e  .9 and 4.9 secon
63e0: 64 73 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e  ds respectively.
63f0: 3c 2f 4c 49 3e 3c 2f 55 4c 3e 0a 20 20 20 20 3c  </LI></UL>.    <
6400: 50 3e 3c 42 3e 31 2e 30 2e 30 36 20 2d 20 4d 61  P><B>1.0.06 - Ma
6410: 72 20 31 2c 20 32 30 30 35 3c 42 52 3e 0a 20 20  r 1, 2005<BR>.  
6420: 20 20 20 20 3c 2f 42 3e 0a 20 20 20 20 3c 2f 50      </B>.    </P
6430: 3e 0a 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20  >.    <UL>.     
6440: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53 70 65 65   <LI>.      Spee
6450: 64 2d 75 70 73 20 74 6f 20 53 51 4c 69 74 65 44  d-ups to SQLiteD
6460: 61 74 61 52 65 61 64 65 72 2e 26 6e 62 73 70 3b  ataReader.&nbsp;
6470: 20 49 74 20 77 61 73 20 69 6e 74 65 72 6f 70 27   It was interop'
6480: 69 6e 67 20 75 6e 6e 65 63 65 73 73 61 72 69 6c  ing unnecessaril
6490: 79 20 65 76 65 72 79 20 0a 20 20 20 20 20 20 74  y every .      t
64a0: 69 6d 65 20 69 74 20 74 72 69 65 64 20 74 6f 20  ime it tried to 
64b0: 66 65 74 63 68 20 61 20 66 69 65 6c 64 20 64 75  fetch a field du
64c0: 65 20 74 6f 20 61 20 6c 6f 67 69 63 20 65 72 72  e to a logic err
64d0: 6f 72 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  or..      <LI>. 
64e0: 20 20 20 20 20 43 68 61 6e 67 65 64 2f 41 64 64       Changed/Add
64f0: 65 64 20 73 6f 6d 65 20 63 6f 64 65 20 74 6f 20  ed some code to 
6500: 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 27 73 20  SQLiteConvert's 
6510: 69 6e 74 65 72 6e 61 6c 20 44 62 54 79 70 65 2c  internal DbType,
6520: 20 54 79 70 65 20 61 6e 64 20 0a 20 20 20 20 20   Type and .     
6530: 20 54 79 70 65 41 66 66 69 6e 69 74 79 20 66 75   TypeAffinity fu
6540: 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c  nctions..      <
6550: 4c 49 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20  LI>.      Fixed 
6560: 74 68 65 20 53 51 4c 69 74 65 44 61 74 61 52 65  the SQLiteDataRe
6570: 61 64 65 72 20 74 6f 20 6f 62 65 79 20 74 68 65  ader to obey the
6580: 20 66 6c 61 67 73 20 73 65 74 20 69 6e 20 74 68   flags set in th
6590: 65 20 6f 70 74 69 6f 6e 61 6c 20 0a 20 20 20 20  e optional .    
65a0: 20 20 43 6f 6d 6d 61 6e 64 42 65 68 61 76 69 6f    CommandBehavio
65b0: 72 20 66 6c 61 67 20 66 72 6f 6d 20 53 51 4c 69  r flag from SQLi
65c0: 74 65 43 6f 6d 6d 61 6e 64 2e 45 78 65 63 75 74  teCommand.Execut
65d0: 65 52 65 61 64 65 72 28 29 2e 0a 20 20 20 20 20  eReader()..     
65e0: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 43 68 61 6e   <LI>.      Chan
65f0: 67 65 64 20 74 68 65 20 64 65 66 61 75 6c 74 20  ged the default 
6600: 70 61 67 65 20 73 69 7a 65 20 74 6f 20 31 30 32  page size to 102
6610: 34 20 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65  4 to reflect the
6620: 20 64 65 66 61 75 6c 74 73 20 6f 66 20 53 51 4c   defaults of SQL
6630: 69 74 65 2e 26 6e 62 73 70 3b 20 0a 20 20 20 20  ite.&nbsp; .    
6640: 20 20 49 67 6e 6f 72 65 73 20 74 68 65 20 22 50    Ignores the "P
6650: 61 67 65 20 53 69 7a 65 22 20 63 6f 6e 6e 65 63  age Size" connec
6660: 74 69 6f 6e 20 73 74 72 69 6e 67 20 6f 70 74 69  tion string opti
6670: 6f 6e 20 66 6f 72 20 6d 65 6d 6f 72 79 20 64 61  on for memory da
6680: 74 61 62 61 73 65 73 2c 20 61 73 20 74 65 73 74  tabases, as test
6690: 73 20 0a 20 20 20 20 20 20 72 65 76 65 61 6c 65  s .      reveale
66a0: 64 20 74 68 61 74 20 63 68 61 6e 67 69 6e 67 20  d that changing 
66b0: 69 74 20 72 65 73 75 6c 74 65 64 20 69 6e 20 6d  it resulted in m
66c0: 65 6d 6f 72 79 20 63 6f 72 72 75 70 74 69 6f 6e  emory corruption
66d0: 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 3c   errors..      <
66e0: 4c 49 3e 0a 20 20 20 20 20 20 20 20 50 65 72 66  LI>.        Perf
66f0: 6f 72 6d 61 6e 63 65 20 65 6e 68 61 6e 63 65 6d  ormance enhancem
6700: 65 6e 74 73 20 74 6f 20 74 68 65 20 53 51 4c 69  ents to the SQLi
6710: 74 65 43 6f 6d 6d 61 6e 64 20 61 6e 64 20 53 51  teCommand and SQ
6720: 4c 69 74 65 53 74 61 74 65 6d 65 6e 74 20 63 6c  LiteStatement cl
6730: 61 73 73 65 73 20 77 68 69 63 68 20 0a 20 20 20  asses which .   
6740: 20 20 20 20 20 72 65 64 75 63 65 64 20 74 68 65       reduced the
6750: 20 31 30 30 2c 30 30 30 20 72 6f 77 20 69 6e 73   100,000 row ins
6760: 65 72 74 20 65 78 65 63 75 74 69 6f 6e 20 74 69  ert execution ti
6770: 6d 65 20 61 73 20 77 65 6c 6c 20 61 73 20 74 68  me as well as th
6780: 65 20 76 61 72 69 6f 75 73 20 46 75 6e 63 74 69  e various Functi
6790: 6f 6e 20 0a 20 20 20 20 20 20 20 20 65 78 65 63  on .        exec
67a0: 75 74 69 6f 6e 20 74 69 6d 65 73 20 73 69 67 6e  ution times sign
67b0: 69 66 69 63 61 6e 74 6c 79 2e 0a 20 20 20 20 20  ificantly..     
67c0: 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e   </LI>.    </UL>
67d0: 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30  .    <P><B>1.0.0
67e0: 35 20 2d 20 46 65 62 20 32 35 2c 20 32 30 30 35  5 - Feb 25, 2005
67f0: 3c 2f 42 3e 0a 20 20 20 20 3c 2f 50 3e 0a 20 20  </B>.    </P>.  
6800: 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49    <UL>.      <LI
6810: 3e 0a 20 20 20 20 20 20 46 69 78 65 64 20 74 68  >.      Fixed th
6820: 65 20 53 51 4c 69 74 65 33 20 43 23 20 63 6c 61  e SQLite3 C# cla
6830: 73 73 20 73 74 65 70 2f 72 65 73 65 74 20 66 75  ss step/reset fu
6840: 6e 63 74 69 6f 6e 73 20 74 6f 20 61 63 63 6f 6d  nctions to accom
6850: 6f 64 61 74 65 20 73 63 68 65 6d 61 20 63 68 61  odate schema cha
6860: 6e 67 65 73 20 0a 20 20 20 20 20 20 74 68 61 74  nges .      that
6870: 20 69 6e 76 61 6c 69 64 61 74 65 20 61 20 70 72   invalidate a pr
6880: 65 70 61 72 65 64 20 73 74 61 74 65 6d 65 6e 74  epared statement
6890: 2e 26 6e 62 73 70 3b 20 53 74 61 74 65 6d 65 6e  .&nbsp; Statemen
68a0: 74 73 20 61 72 65 20 72 65 63 6f 6d 70 69 6c 65  ts are recompile
68b0: 64 20 0a 20 20 20 20 20 20 74 72 61 6e 73 70 61  d .      transpa
68c0: 72 65 6e 74 6c 79 2e 0a 20 20 20 20 20 20 3c 4c  rently..      <L
68d0: 49 3e 0a 20 20 20 20 20 20 4d 6f 76 65 64 20 61  I>.      Moved a
68e0: 6c 6c 20 6e 61 74 69 76 65 20 44 4c 4c 20 64 65  ll native DLL de
68f0: 63 6c 61 72 61 74 69 6f 6e 73 20 74 6f 20 61 6e  clarations to an
6900: 20 55 6e 73 61 66 65 4e 61 74 69 76 65 4d 65 74   UnsafeNativeMet
6910: 68 6f 64 73 20 63 6c 61 73 73 2e 0a 20 20 20 20  hods class..    
6920: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 53 70 6c    <LI>.      Spl
6930: 69 74 20 73 65 76 65 72 61 6c 20 63 6c 61 73 73  it several class
6940: 65 73 20 69 6e 74 6f 20 74 68 65 69 72 20 6f 77  es into their ow
6950: 6e 20 6d 6f 64 75 6c 65 73 20 66 6f 72 20 72 65  n modules for re
6960: 61 64 61 62 69 6c 69 74 79 2e 0a 20 20 20 20 20  adability..     
6970: 20 3c 4c 49 3e 0a 20 20 20 20 20 20 52 65 6e 61   <LI>.      Rena
6980: 6d 65 64 20 6d 61 6e 79 20 69 6e 74 65 72 6e 61  med many interna
6990: 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 72 65 76  l variables, rev
69a0: 69 65 77 65 64 20 61 63 63 65 73 73 20 74 6f 20  iewed access to 
69b0: 76 61 72 69 61 62 6c 65 73 20 6d 61 72 6b 65 64  variables marked
69c0: 20 61 73 20 0a 20 20 20 20 20 20 69 6e 74 65 72   as .      inter
69d0: 6e 61 6c 20 61 6e 64 20 61 6c 74 65 72 65 64 20  nal and altered 
69e0: 74 68 65 69 72 20 70 72 6f 74 65 63 74 69 6f 6e  their protection
69f0: 20 6c 65 76 65 6c 73 20 61 63 63 6f 72 64 69 6e   levels accordin
6a00: 67 6c 79 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a  gly..      <LI>.
6a10: 20 20 20 20 20 20 44 75 65 20 74 6f 20 74 68 65        Due to the
6a20: 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 68 65   presence of the
6a30: 20 61 6c 74 65 72 65 64 20 73 71 6c 69 74 65 33   altered sqlite3
6a40: 20 63 6f 64 65 62 61 73 65 20 61 6e 64 20 73 6f   codebase and so
6a50: 20 6d 61 6e 79 20 61 64 64 65 64 20 69 6e 74 65   many added inte
6a60: 72 6f 70 20 0a 20 20 20 20 20 20 66 75 6e 63 74  rop .      funct
6a70: 69 6f 6e 73 2c 20 49 20 64 65 63 69 64 65 64 20  ions, I decided 
6a80: 74 6f 20 72 65 6e 61 6d 65 20 74 68 65 20 73 71  to rename the sq
6a90: 6c 69 74 65 33 20 43 20 70 72 6f 6a 65 63 74 20  lite3 C project 
6aa0: 61 6e 64 20 74 68 65 20 44 4c 4c 20 74 6f 20 0a  and the DLL to .
6ab0: 20 20 20 20 20 20 53 51 4c 69 74 65 2e 49 6e 74        SQLite.Int
6ac0: 65 72 6f 70 2e 44 4c 4c 2e 26 6e 62 73 70 3b 20  erop.DLL.&nbsp; 
6ad0: 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65  This is the same
6ae0: 20 63 6f 72 65 20 73 71 6c 69 74 65 33 20 63 6f   core sqlite3 co
6af0: 64 65 62 61 73 65 20 62 75 74 20 64 65 73 69 67  debase but desig
6b00: 6e 65 64 20 0a 20 20 20 20 20 20 73 70 65 63 69  ned .      speci
6b10: 66 69 63 61 6c 6c 79 20 66 6f 72 20 74 68 69 73  fically for this
6b20: 20 41 44 4f 2e 4e 45 54 20 70 72 6f 76 69 64 65   ADO.NET provide
6b30: 72 2e 26 6e 62 73 70 3b 20 54 68 69 73 20 65 6c  r.&nbsp; This el
6b40: 69 6d 69 6e 61 74 65 73 20 61 6e 79 20 70 6f 73  iminates any pos
6b50: 73 69 62 69 6c 69 74 79 20 0a 20 20 20 20 20 20  sibility .      
6b60: 6f 66 20 73 6f 6d 65 6f 6e 65 20 64 72 6f 70 70  of someone dropp
6b70: 69 6e 67 20 61 6e 6f 74 68 65 72 20 62 75 69 6c  ing another buil
6b80: 64 20 6f 66 20 73 71 6c 69 74 65 33 2e 64 6c 6c  d of sqlite3.dll
6b90: 20 69 6e 74 6f 20 74 68 65 20 73 79 73 74 65 6d   into the system
6ba0: 20 61 6e 64 20 72 65 6e 64 65 72 69 6e 67 20 0a   and rendering .
6bb0: 20 20 20 20 20 20 74 68 65 20 70 72 6f 76 69 64        the provid
6bc0: 65 72 20 69 6e 6f 70 65 72 61 62 6c 65 2e 26 6e  er inoperable.&n
6bd0: 62 73 70 3b 20 49 6e 20 74 68 65 20 66 75 74 75  bsp; In the futu
6be0: 72 65 20 69 66 20 74 68 65 20 66 6f 6c 6b 73 20  re if the folks 
6bf0: 61 74 20 73 71 6c 69 74 65 2e 6f 72 67 20 66 69  at sqlite.org fi
6c00: 6e 61 6c 6c 79 20 0a 20 20 20 20 20 20 69 6e 74  nally .      int
6c10: 72 6f 64 75 63 65 20 61 20 6d 65 74 68 6f 64 20  roduce a method 
6c20: 6f 66 20 72 65 74 72 69 65 76 69 6e 67 20 63 6f  of retrieving co
6c30: 6c 75 6d 6e 20 75 73 61 67 65 20 66 6f 72 20 61  lumn usage for a
6c40: 6e 20 61 72 62 69 74 72 61 72 79 20 70 72 65 70  n arbitrary prep
6c50: 61 72 65 64 20 0a 20 20 20 20 20 20 73 74 61 74  ared .      stat
6c60: 65 6d 65 6e 74 2c 20 49 27 6c 6c 20 72 65 74 6f  ement, I'll reto
6c70: 6f 6c 20 74 68 69 73 20 6c 69 62 72 61 72 79 20  ol this library 
6c80: 74 6f 20 62 65 20 61 20 6c 69 67 68 74 77 65 69  to be a lightwei
6c90: 67 68 74 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c  ght function cal
6ca0: 6c 20 77 72 61 70 70 65 72 20 0a 20 20 20 20 20  l wrapper .     
6cb0: 20 61 72 6f 75 6e 64 20 74 68 65 20 63 6f 72 65   around the core
6cc0: 20 62 69 6e 61 72 79 20 64 69 73 74 72 69 62 75   binary distribu
6cd0: 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 4c 49 3e  tion..      <LI>
6ce0: 0a 20 20 20 20 20 20 41 64 64 65 64 20 5b 53 75  .      Added [Su
6cf0: 70 70 72 65 73 73 55 6e 6d 61 6e 61 67 65 64 43  ppressUnmanagedC
6d00: 6f 64 65 53 65 63 75 72 69 74 79 5d 20 61 74 74  odeSecurity] att
6d10: 72 69 62 75 74 65 20 74 6f 20 74 68 65 20 55 6e  ribute to the Un
6d20: 73 61 66 65 4e 61 74 69 76 65 4d 65 74 68 6f 64  safeNativeMethod
6d30: 73 20 0a 20 20 20 20 20 20 63 6c 61 73 73 20 77  s .      class w
6d40: 68 69 63 68 20 62 72 69 6e 67 73 20 56 53 32 30  hich brings VS20
6d50: 30 35 20 4e 6f 76 65 6d 62 65 72 20 43 54 50 20  05 November CTP 
6d60: 65 78 65 63 75 74 69 6f 6e 20 73 70 65 65 64 73  execution speeds
6d70: 20 69 6e 6c 69 6e 65 20 77 69 74 68 20 74 68 65   inline with the
6d80: 20 0a 20 20 20 20 20 20 44 65 63 65 6d 62 65 72   .      December
6d90: 20 43 54 50 2e 0a 20 20 20 20 20 20 3c 4c 49 3e   CTP..      <LI>
6da0: 0a 20 20 20 20 20 20 20 20 41 64 64 65 64 20 61  .        Added a
6db0: 20 3c 42 3e 62 69 6e 3c 2f 42 3e 0a 20 20 20 20   <B>bin</B>.    
6dc0: 20 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74    directory to t
6dd0: 68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20  he project root 
6de0: 77 68 65 72 65 20 70 72 65 2d 63 6f 6d 70 69 6c  where pre-compil
6df0: 65 64 20 62 69 6e 61 72 69 65 73 20 63 61 6e 20  ed binaries can 
6e00: 62 65 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20  be found..      
6e10: 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 41 64 64  <LI>.        Add
6e20: 65 64 20 61 20 3c 42 3e 64 6f 63 3c 2f 42 3e 0a  ed a <B>doc</B>.
6e30: 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20        directory 
6e40: 77 68 65 72 65 20 70 72 65 6c 69 6d 69 6e 61 72  where preliminar
6e50: 79 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20  y documentation 
6e60: 6f 6e 20 74 68 65 20 63 6c 61 73 73 20 6c 69 62  on the class lib
6e70: 72 61 72 79 20 63 61 6e 20 62 65 20 66 6f 75 6e  rary can be foun
6e80: 64 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  d..      <LI>.  
6e90: 20 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 65 64        Documented
6ea0: 20 61 20 6c 6f 74 20 6d 6f 72 65 20 6f 66 20 74   a lot more of t
6eb0: 68 65 20 63 6c 61 73 73 65 73 20 69 6e 74 65 72  he classes inter
6ec0: 6e 61 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 4c  nally..      </L
6ed0: 49 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20  I>.    </UL>.   
6ee0: 20 3c 50 3e 3c 42 3e 31 2e 30 2e 30 34 20 2d 20   <P><B>1.0.04 - 
6ef0: 46 65 62 20 32 34 2c 20 32 30 30 35 3c 2f 42 3e  Feb 24, 2005</B>
6f00: 0a 20 20 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55  .    </P>.    <U
6f10: 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20  L>.      <LI>.  
6f20: 20 20 20 20 52 65 6d 6f 76 65 64 20 74 68 65 20      Removed the 
6f30: 53 51 4c 69 74 65 43 6f 6e 74 65 78 74 20 63 6c  SQLiteContext cl
6f40: 61 73 73 20 61 6e 64 20 72 65 76 61 6d 70 65 64  ass and revamped
6f50: 20 74 68 65 20 77 61 79 20 55 73 65 72 46 75 6e   the way UserFun
6f60: 63 74 69 6f 6e 73 20 77 6f 72 6b 20 74 6f 20 0a  ctions work to .
6f70: 20 20 20 20 20 20 73 69 6d 70 6c 69 66 79 20 74        simplify t
6f80: 68 65 20 69 6d 6c 65 6d 65 6e 74 61 74 69 6f 6e  he imlementation
6f90: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
6fa0: 20 20 20 46 69 78 65 64 20 61 20 63 6f 75 6e 74     Fixed a count
6fb0: 69 6e 67 20 62 75 67 20 69 6e 20 74 68 65 20 54  ing bug in the T
6fc0: 65 73 74 43 61 73 65 73 20 63 6c 61 73 73 2c 20  estCases class, 
6fd0: 73 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 20  specifically in 
6fe0: 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 65 73  the function tes
6ff0: 74 73 20 0a 20 20 20 20 20 20 77 68 65 72 65 20  ts .      where 
7000: 49 20 77 61 73 6e 27 74 20 72 65 73 65 74 74 69  I wasn't resetti
7010: 6e 67 20 74 68 65 20 63 6f 75 6e 74 65 72 20 61  ng the counter a
7020: 6e 64 20 69 74 20 77 61 73 20 63 6f 6e 73 65 71  nd it was conseq
7030: 75 65 6e 74 6c 79 20 72 65 70 6f 72 74 69 6e 67  uently reporting
7040: 20 0a 20 20 20 20 20 20 69 6e 74 72 69 6e 73 69   .      intrinsi
7050: 63 20 61 6e 64 20 72 61 77 20 73 65 6c 65 63 74  c and raw select
7060: 20 63 61 6c 6c 73 20 61 73 20 62 65 69 6e 67 20   calls as being 
7070: 6d 75 63 68 20 6d 75 63 68 20 66 61 73 74 65 72  much much faster
7080: 20 74 68 61 6e 20 74 68 65 79 20 61 63 74 75 61   than they actua
7090: 6c 6c 79 20 0a 20 20 20 20 20 20 77 65 72 65 2e  lly .      were.
70a0: 26 6e 62 73 70 3b 20 54 68 65 20 6e 75 6d 62 65  &nbsp; The numbe
70b0: 72 73 20 61 72 65 20 6e 6f 77 20 6d 75 63 68 20  rs are now much 
70c0: 63 6c 6f 73 65 72 20 74 6f 20 77 68 61 74 20 49  closer to what I
70d0: 20 65 78 70 65 63 74 65 64 20 66 6f 72 20 70 65   expected for pe
70e0: 72 66 6f 72 6d 61 6e 63 65 2c 20 0a 20 20 20 20  rformance, .    
70f0: 20 20 77 69 74 68 20 2e 4e 45 54 20 75 73 65 72    with .NET user
7100: 2d 66 75 6e 63 74 69 6f 6e 73 20 73 74 69 6c 6c  -functions still
7110: 20 62 65 69 6e 67 20 74 68 65 20 73 6c 6f 77 65   being the slowe
7120: 73 74 2c 20 62 75 74 20 6f 6e 6c 79 20 62 79 20  st, but only by 
7130: 61 20 73 6d 61 6c 6c 20 6d 61 72 67 69 6e 2e 0a  a small margin..
7140: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
7150: 20 53 6d 61 6c 6c 20 70 65 72 66 6f 72 6d 61 6e   Small performan
7160: 63 65 20 74 77 65 61 6b 73 20 74 6f 20 53 51 4c  ce tweaks to SQL
7170: 69 74 65 44 61 74 61 52 65 61 64 65 72 2e 0a 20  iteDataReader.. 
7180: 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20       <LI>.      
7190: 41 64 64 65 64 20 50 61 67 65 53 69 7a 65 20 74  Added PageSize t
71a0: 6f 20 74 68 65 20 53 51 4c 69 74 65 43 6f 6e 6e  o the SQLiteConn
71b0: 65 63 74 69 6f 6e 53 74 72 69 6e 67 42 75 69 6c  ectionStringBuil
71c0: 64 65 72 20 61 6e 64 20 73 75 62 73 65 71 75 65  der and subseque
71d0: 6e 74 6c 79 20 74 6f 20 74 68 65 20 0a 20 20 20  ntly to the .   
71e0: 20 20 20 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74     SQLiteConnect
71f0: 69 6f 6e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  ion.      <LI>. 
7200: 20 20 20 20 20 20 20 41 64 64 65 64 20 61 20 50         Added a P
7210: 52 41 47 4d 41 20 65 6e 63 6f 64 69 6e 67 3d 58  RAGMA encoding=X
7220: 58 58 20 65 78 65 63 75 74 69 6f 6e 20 73 74 61  XX execution sta
7230: 74 65 6d 65 6e 74 20 74 6f 20 74 68 65 20 53 51  tement to the SQ
7240: 4c 69 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 20 61  LiteConnection a
7250: 66 74 65 72 20 0a 20 20 20 20 20 20 20 20 6f 70  fter .        op
7260: 65 6e 69 6e 67 20 61 20 63 6f 6e 6e 65 63 74 69  ening a connecti
7270: 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 4c 49 3e 0a  on..      </LI>.
7280: 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 20 20 3c 50      </UL>.    <P
7290: 3e 3c 42 3e 31 2e 30 2e 30 33 20 2d 20 46 65 62  ><B>1.0.03 - Feb
72a0: 20 32 33 2c 20 32 30 30 35 3c 2f 42 3e 0a 20 20   23, 2005</B>.  
72b0: 20 20 3c 2f 50 3e 0a 20 20 20 20 3c 55 4c 3e 0a    </P>.    <UL>.
72c0: 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20        <LI>.     
72d0: 20 46 69 78 65 64 20 75 70 20 53 51 4c 69 74 65   Fixed up SQLite
72e0: 43 6f 6d 6d 61 6e 64 42 75 69 6c 64 65 72 20 74  CommandBuilder t
72f0: 6f 20 63 6f 72 72 65 63 74 20 69 6d 70 6c 65 6d  o correct implem
7300: 65 6e 74 61 74 69 6f 6e 20 65 72 72 6f 72 73 2c  entation errors,
7310: 20 77 68 69 63 68 20 72 65 73 75 6c 74 65 64 20   which resulted 
7320: 0a 20 20 20 20 20 20 69 6e 20 61 6e 20 65 6e 6f  .      in an eno
7330: 72 6d 6f 75 73 20 70 65 72 66 6f 72 6d 61 6e 63  rmous performanc
7340: 65 20 62 6f 6f 73 74 20 69 6e 20 74 68 65 20 49  e boost in the I
7350: 6e 73 65 72 74 4d 61 6e 79 20 74 65 73 74 2e 26  nsertMany test.&
7360: 6e 62 73 70 3b 26 6e 62 73 70 3b 20 31 30 2c 30  nbsp;&nbsp; 10,0
7370: 30 30 20 72 6f 77 20 0a 20 20 20 20 20 20 69 6e  00 row .      in
7380: 73 65 72 74 20 74 68 61 74 20 65 78 65 63 75 74  sert that execut
7390: 65 64 20 69 6e 20 31 35 30 30 6d 73 20 6e 6f 77  ed in 1500ms now
73a0: 20 65 78 65 63 75 74 65 73 20 69 6e 20 35 30 30   executes in 500
73b0: 6d 73 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  ms..      <LI>. 
73c0: 20 20 20 20 20 46 69 78 65 64 20 73 65 76 65 72       Fixed sever
73d0: 61 6c 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65  al errors in the
73e0: 20 53 51 4c 69 74 65 33 5f 55 54 46 31 36 20 63   SQLite3_UTF16 c
73f0: 6c 61 73 73 2e 26 6e 62 73 70 3b 20 54 6f 53 74  lass.&nbsp; ToSt
7400: 72 69 6e 67 28 29 20 77 61 73 20 77 6f 72 6b 69  ring() was worki
7410: 6e 67 20 0a 20 20 20 20 20 20 69 6e 63 6f 72 72  ng .      incorr
7420: 65 63 74 6c 79 20 61 6e 64 20 74 68 65 20 4f 70  ectly and the Op
7430: 65 6e 28 29 20 6d 65 74 68 6f 64 20 66 61 69 6c  en() method fail
7440: 65 64 20 74 6f 20 72 65 67 69 73 74 65 72 20 75  ed to register u
7450: 73 65 72 20 64 65 66 69 6e 65 64 20 66 75 6e 63  ser defined func
7460: 74 69 6f 6e 73 20 61 6e 64 20 0a 20 20 20 20 20  tions and .     
7470: 20 63 6f 6c 6c 61 74 69 6f 6e 73 2e 0a 20 20 20   collations..   
7480: 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 46 69     <LI>.      Fi
7490: 78 65 64 20 61 20 62 75 67 20 69 6e 20 53 51 4c  xed a bug in SQL
74a0: 69 74 65 43 6f 6d 6d 61 6e 64 2e 43 6c 65 61 72  iteCommand.Clear
74b0: 43 6f 6d 6d 61 6e 64 73 28 29 20 77 68 65 72 65  Commands() where
74c0: 62 79 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 73  by only the firs
74d0: 74 20 73 74 61 74 65 6d 65 6e 74 20 0a 20 20 20  t statement .   
74e0: 20 20 20 77 61 73 20 62 65 69 6e 67 20 70 72 6f     was being pro
74f0: 70 65 72 6c 79 20 63 6c 65 61 6e 65 64 20 75 70  perly cleaned up
7500: 2e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20  ..      <LI>.   
7510: 20 20 20 46 69 78 65 64 20 61 20 62 75 67 20 69     Fixed a bug i
7520: 6e 20 53 51 4c 69 74 65 44 61 74 61 52 65 61 64  n SQLiteDataRead
7530: 65 72 20 77 68 65 72 65 62 79 20 63 61 6c 6c 69  er whereby calli
7540: 6e 67 20 4e 65 78 74 52 65 73 75 6c 74 28 29 20  ng NextResult() 
7550: 77 6f 75 6c 64 20 6e 6f 74 20 70 72 6f 70 65 72  would not proper
7560: 6c 79 20 0a 20 20 20 20 20 20 72 65 73 65 74 20  ly .      reset 
7570: 74 68 65 20 70 72 65 76 69 6f 75 73 6c 79 2d 65  the previously-e
7580: 78 65 63 75 74 65 64 20 63 6f 6d 6d 61 6e 64 20  xecuted command 
7590: 69 6e 20 74 68 65 20 73 65 71 75 65 6e 63 65 2e  in the sequence.
75a0: 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20  .      <LI>.    
75b0: 20 20 20 20 41 64 64 65 64 20 61 6e 20 49 6e 73      Added an Ins
75c0: 65 72 74 4d 61 6e 79 57 69 74 68 49 64 65 6e 74  ertManyWithIdent
75d0: 69 74 79 46 65 74 63 68 20 74 65 73 74 2c 20 77  ityFetch test, w
75e0: 68 69 63 68 20 61 70 70 65 6e 64 73 20 61 20 73  hich appends a s
75f0: 65 6c 65 63 74 20 63 6c 61 75 73 65 20 74 6f 20  elect clause to 
7600: 0a 20 20 20 20 20 20 20 20 70 6f 70 75 6c 61 74  .        populat
7610: 65 20 74 68 65 20 49 44 20 6f 66 20 74 68 65 20  e the ID of the 
7620: 6c 61 73 74 20 69 6e 73 65 72 74 65 64 20 72 6f  last inserted ro
7630: 77 20 69 6e 74 6f 20 74 68 65 20 49 6e 73 65 72  w into the Inser
7640: 74 43 6f 6d 6d 61 6e 64 2c 20 64 65 6d 6f 6e 73  tCommand, demons
7650: 74 72 61 74 69 6e 67 20 0a 20 20 20 20 20 20 20  trating .       
7660: 20 41 44 4f 2e 4e 45 54 27 73 20 61 62 69 6c 69   ADO.NET's abili
7670: 74 79 20 74 6f 20 61 75 74 6f 2d 66 65 74 63 68  ty to auto-fetch
7680: 20 69 64 65 6e 74 69 74 79 20 63 6f 6c 75 6d 6e   identity column
7690: 73 20 6f 6e 20 69 6e 73 65 72 74 2e 0a 20 20 20  s on insert..   
76a0: 20 20 20 3c 2f 4c 49 3e 0a 20 20 20 20 3c 2f 55     </LI>.    </U
76b0: 4c 3e 0a 20 20 20 20 3c 50 3e 3c 42 3e 31 2e 30  L>.    <P><B>1.0
76c0: 2e 30 32 20 2d 20 46 65 62 20 32 31 2c 20 32 30  .02 - Feb 21, 20
76d0: 30 35 3c 2f 42 3e 3c 2f 50 3e 0a 20 20 20 20 3c  05</B></P>.    <
76e0: 55 4c 3e 0a 20 20 20 20 20 20 3c 4c 49 3e 0a 20  UL>.      <LI>. 
76f0: 20 20 20 20 20 54 77 65 61 6b 73 20 74 6f 20 74       Tweaks to t
7700: 68 65 20 78 78 78 5f 69 6e 74 65 72 6f 70 20 66  he xxx_interop f
7710: 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 72 65  unctions that re
7720: 74 75 72 6e 20 63 68 61 72 20 2a 27 73 2c 20 73  turn char *'s, s
7730: 6f 20 74 68 65 79 20 61 6c 73 6f 20 72 65 74 75  o they also retu
7740: 72 6e 20 0a 20 20 20 20 20 20 74 68 65 20 6c 65  rn .      the le
7750: 6e 67 74 68 2e 26 6e 62 73 70 3b 20 53 61 76 65  ngth.&nbsp; Save
7760: 73 20 61 6e 20 69 6e 74 65 72 6f 70 20 63 61 6c  s an interop cal
7770: 6c 20 74 6f 20 67 65 74 20 74 68 65 20 55 54 46  l to get the UTF
7780: 2d 38 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68  -8 string length
7790: 20 64 75 72 69 6e 67 20 0a 20 20 20 20 20 20 63   during .      c
77a0: 6f 6e 76 65 72 73 69 6f 6e 20 74 6f 20 61 20 2e  onversion to a .
77b0: 4e 45 54 20 73 74 72 69 6e 67 2e 0a 20 20 20 20  NET string..    
77c0: 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 52 65 77    <LI>.      Rew
77d0: 6f 72 6b 65 64 20 74 68 65 20 77 68 6f 6c 65 20  orked the whole 
77e0: 69 6e 74 65 72 6f 70 2e 63 20 74 68 69 6e 67 20  interop.c thing 
77f0: 69 6e 74 6f 20 69 6e 74 65 72 6f 70 2e 68 20 61  into interop.h a
7800: 6e 64 20 72 65 64 75 63 65 64 20 74 68 65 20 63  nd reduced the c
7810: 6f 64 65 20 72 65 71 75 69 72 65 64 20 0a 20 20  ode required .  
7820: 20 20 20 20 74 6f 20 6d 65 72 67 65 20 74 68 65      to merge the
7830: 20 6d 61 69 6e 20 73 71 6c 69 74 65 33 20 63 6f   main sqlite3 co
7840: 64 65 62 61 73 65 2e 0a 20 20 20 20 20 20 3c 4c  debase..      <L
7850: 49 3e 0a 20 20 20 20 20 20 20 20 41 64 64 65 64  I>.        Added
7860: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75 73 65   support for use
7870: 72 2d 64 65 66 69 6e 65 64 20 63 6f 6c 6c 61 74  r-defined collat
7880: 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 4c 49  ions..      </LI
7890: 3e 0a 20 20 20 20 3c 2f 55 4c 3e 0a 20 20 3c 2f  >.    </UL>.  </
78a0: 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a        body>.</html>.