📄 readme.htm
字号:
</P>
<DIV>
<UL>
<LI>
Full support for the Compact Framework. Each build (Debug/Release) now
has a platform, either Win32 or Compact Framework. The correct
projects are built accordingly. See the <A href="#redist">Distributing
SQLite</A>
section for information on what files need to be distributed for each
platform.
<LI>
Modified SQLite3.Reset() and Step() functions to transparently handle timeouts
while waiting on the database to become available (typically when a writer is
waiting on a reader to finish, or a reader is waiting on a writer to finish).
<LI>
Lots of code cleanup as suggested by the Code Analyzer (FxCop).
<LI>
Lots of updates to the helpfile (as you can see).
<LI>
Statements were already prepared lazily in a SQLiteCommand, but now
its even more lazy. Statements are now only prepared if the statements
haven't been previously prepared and a Prepare() function is called (and the
command is associated with a connection) or just prior to the command being
executed. </LI></UL>
</DIV>
<P><B>1.0.11 - August 1, 2005</B><BR>
</P>
<UL>
<LI>
<STRONG>For everything except the Compact Framework, System.Data.SQLite.DLL is
now the <EM>only</EM> DLL required to use this provider!</STRONG> The
assembly is now a multi-module assembly, containing both the native SQLite3
codebase and the C# classes built on top of it. The Compact Framework
version (when completed) will not be able to support this feature, so backwards
compatibility with the Compact Framework has been preserved for the future.
<LI>
Fixed a bug in SQLiteCommand.ExecuteScalar() that caused it to stop executing
commands once it obtained the first column of the first row-returning
resultset. Any remaining statements after the row-returning statement was
ignored.
</LI>
</UL>
<P><B>1.0.10 - June 10, 2005</B><BR>
</P>
<UL>
<LI>
Fixed a bug in the SQLite3.cs Prepare() function that created a statement even
when the SQLite engine returned a NULL pointer. Typically this occurs when
multiple statements are processed and there are trailing comments at the end of
the statement.
<LI>
Fixed a bug in SQLiteStatement.cs that retrieved parameter names for a
parameterized query. SQLite's parameters are 1-based, and the function
was starting at 0. This was fine when all parameters were unnamed, but
for named parameters it caused the parameters to be out of whack.
</LI>
</UL>
<P><B>1.0.09a - May 25, 2005</B><BR>
</P>
<UL>
<LI>
Fixed a broken helpfile and corrected some obsolete help remarks in
SQLiteFunction.cs
<LI>
Added a version resource to the SQLite.Interop.DLL. </LI></UL>
<P><B>1.0.09 - May 24, 2005</B><BR>
</P>
<UL>
<LI>
Code merge with the latest 3.21 version of SQLite.
<LI>
Removed obsolete methods and properties for Whidbey Beta 2</LI></UL>
<P><B>1.0.08 Refresh - Mar 24, 2005<BR>
</B>
</P>
<UL>
<LI>
Code merge with the latest 3.20 version of SQLite.
<LI>
Recompiled the help file to fix a build error in it.
</LI>
</UL>
<P><B>1.0.08 - Mar 11, 2005<BR>
</B>
</P>
<UL>
<LI>
Added additional #if statements to support the old beta 1 edition of VS2005.
<LI>
Code merged the SQLite 3.14 source.
</LI>
</UL>
<P><B>1.0.07 - Mar 5, 2005</B><BR>
</P>
<UL>
<LI>
Made more optimizations to frequently-called functions, resulting in
significant performance gains in all tests.
<LI>
Recompiled the binaries using the latest VS2005 February CTP, resulting in yet
more significant speed gains. The 100k insert test used to take 3.5
seconds and the insertwithidentity took almost 8 seconds. With the above
two changes, those tests are now executing in 1.9 and 4.9 seconds respectively.</LI></UL>
<P><B>1.0.06 - Mar 1, 2005<BR>
</B>
</P>
<UL>
<LI>
Speed-ups to SQLiteDataReader. It was interop'ing unnecessarily every
time it tried to fetch a field due to a logic error.
<LI>
Changed/Added some code to SQLiteConvert's internal DbType, Type and
TypeAffinity functions.
<LI>
Fixed the SQLiteDataReader to obey the flags set in the optional
CommandBehavior flag from SQLiteCommand.ExecuteReader().
<LI>
Changed the default page size to 1024 to reflect the defaults of SQLite.
Ignores the "Page Size" connection string option for memory databases, as tests
revealed that changing it resulted in memory corruption errors.
<LI>
Performance enhancements to the SQLiteCommand and SQLiteStatement classes which
reduced the 100,000 row insert execution time as well as the various Function
execution times significantly.
</LI>
</UL>
<P><B>1.0.05 - Feb 25, 2005</B>
</P>
<UL>
<LI>
Fixed the SQLite3 C# class step/reset functions to accomodate schema changes
that invalidate a prepared statement. Statements are recompiled
transparently.
<LI>
Moved all native DLL declarations to an UnsafeNativeMethods class.
<LI>
Split several classes into their own modules for readability.
<LI>
Renamed many internal variables, reviewed access to variables marked as
internal and altered their protection levels accordingly.
<LI>
Due to the presence of the altered sqlite3 codebase and so many added interop
functions, I decided to rename the sqlite3 C project and the DLL to
SQLite.Interop.DLL. This is the same core sqlite3 codebase but designed
specifically for this ADO.NET provider. This eliminates any possibility
of someone dropping another build of sqlite3.dll into the system and rendering
the provider inoperable. In the future if the folks at sqlite.org finally
introduce a method of retrieving column usage for an arbitrary prepared
statement, I'll retool this library to be a lightweight function call wrapper
around the core binary distribution.
<LI>
Added [SuppressUnmanagedCodeSecurity] attribute to the UnsafeNativeMethods
class which brings VS2005 November CTP execution speeds inline with the
December CTP.
<LI>
Added a <B>bin</B>
directory to the project root where pre-compiled binaries can be found.
<LI>
Added a <B>doc</B>
directory where preliminary documentation on the class library can be found.
<LI>
Documented a lot more of the classes internally.
</LI>
</UL>
<P><B>1.0.04 - Feb 24, 2005</B>
</P>
<UL>
<LI>
Removed the SQLiteContext class and revamped the way UserFunctions work to
simplify the imlementation.
<LI>
Fixed a counting bug in the TestCases class, specifically in the function tests
where I wasn't resetting the counter and it was consequently reporting
intrinsic and raw select calls as being much much faster than they actually
were. The numbers are now much closer to what I expected for performance,
with .NET user-functions still being the slowest, but only by a small margin.
<LI>
Small performance tweaks to SQLiteDataReader.
<LI>
Added PageSize to the SQLiteConnectionStringBuilder and subsequently to the
SQLiteConnection
<LI>
Added a PRAGMA encoding=XXX execution statement to the SQLiteConnection after
opening a connection.
</LI>
</UL>
<P><B>1.0.03 - Feb 23, 2005</B>
</P>
<UL>
<LI>
Fixed up SQLiteCommandBuilder to correct implementation errors, which resulted
in an enormous performance boost in the InsertMany test. 10,000 row
insert that executed in 1500ms now executes in 500ms.
<LI>
Fixed several errors in the SQLite3_UTF16 class. ToString() was working
incorrectly and the Open() method failed to register user defined functions and
collations.
<LI>
Fixed a bug in SQLiteCommand.ClearCommands() whereby only the first statement
was being properly cleaned up.
<LI>
Fixed a bug in SQLiteDataReader whereby calling NextResult() would not properly
reset the previously-executed command in the sequence.
<LI>
Added an InsertManyWithIdentityFetch test, which appends a select clause to
populate the ID of the last inserted row into the InsertCommand, demonstrating
ADO.NET's ability to auto-fetch identity columns on insert.
</LI>
</UL>
<P><B>1.0.02 - Feb 21, 2005</B></P>
<UL>
<LI>
Tweaks to the xxx_interop functions that return char *'s, so they also return
the length. Saves an interop call to get the UTF-8 string length during
conversion to a .NET string.
<LI>
Reworked the whole interop.c thing into interop.h and reduced the code required
to merge the main sqlite3 codebase.
<LI>
Added support for user-defined collations.
</LI>
</UL>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -