Index: Doc/Extra/dbfactorysupport.html
==================================================================
--- Doc/Extra/dbfactorysupport.html
+++ Doc/Extra/dbfactorysupport.html
@@ -63,11 +63,11 @@
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite"
description=".Net Framework Data Provider for SQLite"
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite,
- Version=1.0.25.0, Culture=neutral,
+ Version=1.0.26.0, Culture=neutral,
PublicKeyToken=db937bc2d44ff139"/>
</DbProviderFactories>
</system.data>
</configuration>
Index: Doc/Extra/version.html
==================================================================
--- Doc/Extra/version.html
+++ Doc/Extra/version.html
@@ -21,11 +21,11 @@
Version History
-
1.0.26.0 - February 10, 2006
+
1.0.26.0 - February 11, 2006
- Code merge with SQLite 3.3.4
- Fixed an encryption bug when changing the password of databases over 1gb in
size.
- Fixed various designer issues related to construction of named parameters.
- Retooled the GetSchema() method of SQLiteDataReader to use the new 3.3.4 API functions,
and made several enhancements and fixes to schemas.
- Implemented the SourceColumnNullMapping property of SQLiteParameter to fix
Index: SQLite.Designer/AssemblyInfo.cs
==================================================================
--- SQLite.Designer/AssemblyInfo.cs
+++ SQLite.Designer/AssemblyInfo.cs
@@ -8,11 +8,11 @@
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SQLite.Designer")]
[assembly: AssemblyDescription("ADO.NET 2.0 Data Designer for SQLite")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Black Castle Software, LLC")]
+[assembly: AssemblyCompany("http://sqlite.phxsoftware.com")]
[assembly: AssemblyProduct("SQLite Designer")]
[assembly: AssemblyCopyright("Public Domain")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -30,10 +30,10 @@
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.25.0")]
-[assembly: AssemblyFileVersion("1.0.25.0")]
+[assembly: AssemblyVersion("1.0.26.0")]
+[assembly: AssemblyFileVersion("1.0.26.0")]
[assembly: AssemblyDelaySignAttribute(false)]
[assembly: AssemblyKeyFileAttribute("..\\System.Data.SQLite\\System.Data.SQLite.snk")]
[assembly: AssemblyKeyNameAttribute("")]
Index: SQLite.Designer/SQLite.Designer.csproj
==================================================================
--- SQLite.Designer/SQLite.Designer.csproj
+++ SQLite.Designer/SQLite.Designer.csproj
@@ -57,10 +57,14 @@
False
+
+ False
+ ..\bin\System.Data.SQLite.DLL
+
Index: SQLite.Designer/SQLite.Designer.sln
==================================================================
--- SQLite.Designer/SQLite.Designer.sln
+++ SQLite.Designer/SQLite.Designer.sln
@@ -2,10 +2,13 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer", "SQLite.Designer.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "install", "..\tools\install\install.csproj", "{71EED886-B5BF-488E-A4AA-1403E393D224}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198} = {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Index: SQLite.Designer/SQLitePackage.cs
==================================================================
--- SQLite.Designer/SQLitePackage.cs
+++ SQLite.Designer/SQLitePackage.cs
@@ -12,22 +12,21 @@
using System.Runtime.InteropServices;
using System.ComponentModel.Design;
using Microsoft.Win32;
using Microsoft.VisualStudio.Shell.Interop;
-
-// [ProvideLoadKey("Standard", "1.0", "SQLite Designer", "Black Castle Software, LLC", 1)]
[Guid("DCBE6C8D-0E57-4099-A183-98FF74C64D9C")]
internal sealed class SQLitePackage : Package
{
public SQLitePackage()
{
}
protected override void Initialize()
{
- ((IServiceContainer)this).AddService(typeof(SQLiteProviderObjectFactory), new ServiceCreatorCallback(CreateService), true);
+ IServiceContainer sc = (IServiceContainer)this;
+ sc.AddService(typeof(SQLiteProviderObjectFactory), new ServiceCreatorCallback(CreateService), true);
base.Initialize();
}
private object CreateService(IServiceContainer container, Type serviceType)
{
Index: SQLite.Interop/SQLite.Interop.rc
==================================================================
--- SQLite.Interop/SQLite.Interop.rc
+++ SQLite.Interop/SQLite.Interop.rc
@@ -51,11 +51,11 @@
//
// Version
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,25,0
+ FILEVERSION 1,0,26,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
@@ -67,16 +67,16 @@
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "Comments", "http://sourceforge.net/projects/sqlite-dotnet2"
+ VALUE "Comments", "http://sqlite.phxsoftware.com"
VALUE "FileDescription", "SQLite.NET Interop Library"
- VALUE "FileVersion", "1.0.25.0"
+ VALUE "FileVersion", "1.0.26.0"
VALUE "InternalName", "SQLite.Interop.DLL"
VALUE "LegalCopyright", "Released to the public domain"
- VALUE "OriginalFilename", "SQLite3.DLL 3.3.3"
+ VALUE "OriginalFilename", "SQLite3.DLL 3.3.4"
VALUE "ProductName", "SQLite.NET"
VALUE "ProductVersion", "1.0"
END
END
BLOCK "VarFileInfo"
Index: SQLite.Interop/SQLite.Interop.vcproj
==================================================================
--- SQLite.Interop/SQLite.Interop.vcproj
+++ SQLite.Interop/SQLite.Interop.vcproj
@@ -888,72 +888,10 @@
>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Index: SQLite.Interop/fixsource.vbs
==================================================================
--- SQLite.Interop/fixsource.vbs
+++ SQLite.Interop/fixsource.vbs
@@ -10,39 +10,10 @@
Dim srcFile
Dim srcFileContents
dim newFileContents
- ' Changes the name of the function so we can get first crack at it in interop.h to provide GetSchemaTable() support
- '
- ' Set srcFile = fso.OpenTextFile("src\select.c", 1)
- ' srcFileContents = srcFile.ReadAll()
- ' srcFile.Close()
- ' newFileContents = Replace(srcFileContents, "static void generateColumnNames(", "static void _generateColumnNames(")
- ' If (newFileContents <> srcFileContents) Then
- ' WScript.StdOut.WriteLine "Updating select.c"
- ' Set srcFile = fso.CreateTextFile("src\select.c", true)
- ' srcFile.Write(newFileContents)
- ' srcFile.Close()
- ' End If
-
- ' SQLite supports : and $ for named parameters, but we add support for @ as well here
- '
- ' Set srcFile = fso.OpenTextFile("src\tokenize.c", 1)
- ' srcFileContents = srcFile.ReadAll()
- ' srcFile.Close()
- ' If InStr(1, srcFileContents, " case '@':", 1) = 0 Then
- ' newFileContents = Replace(srcFileContents, " case ':': {", " case '@':" & Chr(10) & " case ':': {")
- ' If (newFileContents <> srcFileContents) Then
- ' WScript.StdOut.WriteLine "Updating tokenize.c"
- ' Set srcFile = fso.CreateTextFile("src\tokenize.c", true)
- ' srcFile.Write(newFileContents)
- ' srcFile.Close()
- ' End If
- ' End If
- '
-
' In order to support encryption, we need to know when the pager is being destroyed so we can destroy our encryption
' objects. This modification adds code to support that.
'
Set srcFile = fso.OpenTextFile("src\pager.c", 1)
srcFileContents = srcFile.ReadAll()
Index: SQLite.Interop/merge.h
==================================================================
--- SQLite.Interop/merge.h
+++ SQLite.Interop/merge.h
@@ -1,13 +1,13 @@
// This code was automatically generated from assembly
-// C:\src\SQLite.NET\System.Data.SQLite\bin\CompactFramework\System.Data.SQLite.dll
+// D:\src\SQLite.NET\System.Data.SQLite\bin\CompactFramework\System.Data.SQLite.dll
#include
#pragma data_seg(".clr")
#pragma comment(linker, "/SECTION:.clr,ER")
- char __ph[86336] = {0}; // The number of bytes to reserve
+ char __ph[89124] = {0}; // The number of bytes to reserve
#pragma data_seg()
typedef BOOL (WINAPI *DLLMAIN)(HANDLE, DWORD, LPVOID);
typedef struct EXTRA_STUFF
{
Index: SQLite.Interop/merge_full.h
==================================================================
--- SQLite.Interop/merge_full.h
+++ SQLite.Interop/merge_full.h
@@ -1,13 +1,13 @@
// This code was automatically generated from assembly
-// C:\src\SQLite.NET\System.Data.SQLite\bin\System.Data.SQLite.dll
+// D:\src\SQLite.NET\System.Data.SQLite\bin\System.Data.SQLite.dll
#include
#pragma data_seg(".clr")
#pragma comment(linker, "/SECTION:.clr,ER")
- char __ph[99032] = {0}; // The number of bytes to reserve
+ char __ph[101996] = {0}; // The number of bytes to reserve
#pragma data_seg()
typedef BOOL (WINAPI *DLLMAIN)(HANDLE, DWORD, LPVOID);
typedef struct EXTRA_STUFF
{
Index: SQLite.NET.suo
==================================================================
--- SQLite.NET.suo
+++ SQLite.NET.suo
cannot compute difference between binary files
Index: System.Data.SQLite/AssemblyInfo.cs
==================================================================
--- System.Data.SQLite/AssemblyInfo.cs
+++ System.Data.SQLite/AssemblyInfo.cs
@@ -11,11 +11,11 @@
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("System.Data.SQLite")]
[assembly: AssemblyDescription("ADO.NET 2.0 Data Provider for SQLite")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("http://sourceforge.net/projects/sqlite-dotnet2")]
+[assembly: AssemblyCompany("http://sqlite.phxsoftware.com")]
[assembly: AssemblyProduct("System.Data.SQLite")]
[assembly: AssemblyCopyright("Public Domain")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -37,9 +37,9 @@
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.25.0")]
+[assembly: AssemblyVersion("1.0.26.0")]
#if !PLATFORM_COMPACTFRAMEWORK
-[assembly: AssemblyFileVersion("1.0.25.0")]
+[assembly: AssemblyFileVersion("1.0.26.0")]
#endif
Index: System.Data.SQLite/SQLiteBase.cs
==================================================================
--- System.Data.SQLite/SQLiteBase.cs
+++ System.Data.SQLite/SQLiteBase.cs
@@ -92,21 +92,10 @@
/// Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock
internal abstract int Reset(SQLiteStatement stmt);
internal abstract void Cancel();
- ///
- /// An interop-specific function, this call sets an internal flag in the sqlite.interop.dll which causes all column names
- /// of subsequently-prepared statements to return in Database.Table.Column format, ignoring all aliases that may have been applied
- /// to tables or columns in a resultset.
- ///
- ///
- /// All statements prepared on this connection after this flag is changed are affected. Existing statements are not.
- ///
- /// Set to True to enable real column names, false to disable them.
- //internal abstract void SetRealColNames(bool bOn);
-
internal abstract void Bind_Double(SQLiteStatement stmt, int index, double value);
internal abstract void Bind_Int32(SQLiteStatement stmt, int index, Int32 value);
internal abstract void Bind_Int64(SQLiteStatement stmt, int index, Int64 value);
internal abstract void Bind_Text(SQLiteStatement stmt, int index, string value);
internal abstract void Bind_Blob(SQLiteStatement stmt, int index, byte[] blobData);
Index: bin/System.Data.SQLite.XML
==================================================================
--- bin/System.Data.SQLite.XML
+++ bin/System.Data.SQLite.XML
@@ -2,163 +2,847 @@
System.Data.SQLite
-
+
- SQLite implementation of DbDataAdapter.
+ SQLite implementation of DbCommandBuilder.
-
+
+
+ Default constructor
+
+
+
+
+ Initializes the command builder and associates it with the specified data adapter.
+
+
+
+
+
+ Not implemented, this function does nothing.
+
+ The parameter to use in applying custom behaviors to a row
+ The row to apply the parameter to
+ The type of statement
+ Whether the application of the parameter is part of a WHERE clause
+
+
- This class is just a shell around the DbDataAdapter. Nothing from DbDataAdapter is overridden here, just a few constructors are defined.
+ Not implemented. Throws a NotImplementedException() if called.
- Default constructor.
-
-
-
-
- Constructs a data adapter using the specified select command.
-
- The select command to associate with the adapter.
-
-
-
- Constructs a data adapter with the supplied select command text and associated with the specified connection.
-
- The select command text to associate with the data adapter.
- The connection to associate with the select command.
-
-
-
- Constructs a data adapter with the specified select command text, and using the specified database connection string.
-
- The select command text to use to construct a select command.
- A connection string suitable for passing to a new SQLiteConnection, which is associated with the select command.
-
-
-
- Raised by the underlying DbDataAdapter when a row is being updated
-
- The event's specifics
-
-
-
- Raised by DbDataAdapter after a row is updated
-
- The event's specifics
-
-
-
- Row updating event handler
-
-
-
-
- Row updated event handler
-
-
-
-
- Gets/sets the select command for this DataAdapter
-
-
-
-
- Gets/sets the insert command for this DataAdapter
-
-
-
-
- Gets/sets the update command for this DataAdapter
-
-
-
-
- Gets/sets the delete command for this DataAdapter
-
-
-
-
- SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite
- understands. The DateTime extension to the spec is for internal use only.
-
-
-
-
- Not used
-
-
-
-
- All integers in SQLite default to Int64
-
-
-
-
- All floating point numbers in SQLite default to double
-
-
-
-
- The default data type of SQLite is text
-
-
-
-
- Typically blob types are only seen when returned from a function
-
-
-
-
- Null types can be returned from functions
-
-
-
-
- Used internally by this provider
-
-
-
-
- Used internally
-
-
-
-
- This implementation of SQLite for ADO.NET can process date/time fields in databases in only one of two formats. Ticks and ISO8601.
- Ticks is inherently more accurate, but less compatible with 3rd party tools that query the database, and renders the DateTime field
- unreadable without post-processing.
- ISO8601 is more compatible, readable, fully-processable, but less accurate as it doesn't provide time down to fractions of a second.
-
-
-
-
- Using ticks is more accurate but less compatible with other viewers and utilities that access your database.
-
-
-
-
- The default format for this provider. More compatible with SQLite's intended usage of datetimes, but overall less accurate than Ticks as it doesn't
- natively support times down to fractions of a second.
-
-
-
-
- Struct used internally to determine the datatype of a column in a resultset
-
-
-
-
- The DbType of the column, or DbType.Object if it cannot be determined
-
-
-
-
- The affinity of a column, used for expressions or when Type is DbType.Object
+ Not implemented.
+
+ The name of the parameter
+ Error
+
+
+
+ Not implemented.
+
+ The i of the parameter
+ Error
+
+
+
+ Returns a placeholder character for the specified parameter i.
+
+ The index of the parameter to provide a placeholder for
+ Returns a "?" character, used for all placeholders.
+
+
+
+ Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL
+ statements that may not have previously been generated.
+
+ A data adapter to receive events on.
+
+
+
+ Returns the automatically-generated SQLite command to delete rows from the database
+
+
+
+
+
+ Returns the automatically-generated SQLite command to delete rows from the database
+
+
+
+
+
+
+ Returns the automatically-generated SQLite command to update rows in the database
+
+
+
+
+
+ Returns the automatically-generated SQLite command to update rows in the database
+
+
+
+
+
+
+ Returns the automatically-generated SQLite command to insert rows into the database
+
+
+
+
+
+ Returns the automatically-generated SQLite command to insert rows into the database
+
+
+
+
+
+
+ Gets/sets the DataAdapter for this CommandBuilder
+
+
+
+
+ Overridden to hide its property from the designer
+
+
+
+
+ Overridden to hide its property from the designer
+
+
+
+
+ Overridden to hide its property from the designer
+
+
+
+
+ Overridden to hide its property from the designer
+
+
+
+
+ Overridden to hide its property from the designer
+
+
+
+
+ SQLite implementation of DbCommand.
+
+
+
+
+ The command text this command is based on
+
+
+
+
+ The connection the command is associated with
+
+
+
+
+ Indicates whether or not a DataReader is active on the command.
+
+
+
+
+ The timeout for the command, kludged because SQLite doesn't support per-command timeout values
+
+
+
+
+ Designer support
+
+
+
+
+ Used by DbDataAdapter to determine updating behavior
+
+
+
+
+ The collection of parameters for the command
+
+
+
+
+ The SQL command text, broken into individual SQL statements as they are executed
+
+
+
+
+ Unprocessed SQL text that has not been executed
+
+
+
+
+ Transaction associated with this command
+
+
+
+
+ Constructs a new SQLiteCommand
+
+
+ Default constructor
+
+
+
+
+ Initializes the command with the given command text
+
+ The SQL command text
+
+
+
+ Initializes the command with the given SQL command text and attach the command to the specified
+ connection.
+
+ The SQL command text
+ The connection to associate with the command
+
+
+
+ Initializes the command and associates it with the specified connection.
+
+ The connection to associate with the command
+
+
+
+ Initializes a command with the given SQL, connection and transaction
+
+ The SQL command text
+ The connection to associate with the command
+ The transaction the command should be associated with
+
+
+
+ Initializes the command class
+
+ The SQL command text
+ A connection to associate with the command
+
+
+
+ Disposes of the command and clears all member variables
+
+ Whether or not the class is being explicitly or implicitly disposed
+
+
+
+ Clears and destroys all statements currently prepared
+
+
+
+
+ Builds an array of prepared statements for each complete SQL statement in the command text
+
+
+
+
+ Not implemented
+
+
+
+
+ Forwards to the local CreateParameter() function
+
+
+
+
+
+ Create a new parameter
+
+
+
+
+
+ This function ensures there are no active readers, that we have a valid connection,
+ that the connection is open, that all statements are prepared and all parameters are assigned
+ in preparation for allocating a data reader.
+
+
+
+
+ Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
+
+ The behavior the data reader should adopt
+ Returns a SQLiteDataReader object
+
+
+
+ Overrides the default behavior to return a SQLiteDataReader specialization class
+
+ The flags to be associated with the reader
+ A SQLiteDataReader
+
+
+
+ Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
+
+ A SQLiteDataReader
+
+
+
+ Called by the SQLiteDataReader when the data reader is closed.
+
+
+
+
+ Execute the command and return the number of rows inserted/updated affected by it.
+
+
+
+
+
+ Execute the command and return the first column of the first row of the resultset
+ (if present), or null if no resultset was returned.
+
+ The first column of the first row of the first resultset from the query
+
+
+
+ Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
+
+
+
+
+ Clones a command, including all its parameters
+
+ A new SQLiteCommand with the same commandtext, connection and parameters
+
+
+
+ The SQL command text associated with the command
+
+
+
+
+ The amount of time to wait for the connection to become available before erroring out
+
+
+
+
+ The type of the command. SQLite only supports CommandType.Text
+
+
+
+
+ The connection associated with this command
+
+
+
+
+ Forwards to the local Connection property
+
+
+
+
+ Returns the SQLiteParameterCollection for the given command
+
+
+
+
+ Forwards to the local Parameters property
+
+
+
+
+ The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the
+ command's underlying connection.
+
+
+
+
+ Forwards to the local Transaction property
+
+
+
+
+ Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
+
+
+
+
+ Determines if the command is visible at design time. Defaults to True.
+
+
+
+
+ SQLite implementation of DbParameterCollection.
+
+
+
+
+ The underlying command to which this collection belongs
+
+
+
+
+ The internal array of parameters in this collection
+
+
+
+
+ Determines whether or not all parameters have been bound to their statement(s)
+
+
+
+
+ Initializes the collection
+
+ The command to which the collection belongs
+
+
+
+ Retrieves an enumerator for the collection
+
+ An enumerator for the underlying array
+
+
+
+ Adds a parameter to the collection
+
+ The parameter name
+ The data type
+ The size of the value
+ The source column
+ A SQLiteParameter object
+
+
+
+ Adds a parameter to the collection
+
+ The parameter name
+ The data type
+ The size of the value
+ A SQLiteParameter object
+
+
+
+ Adds a parameter to the collection
+
+ The parameter name
+ The data type
+ A SQLiteParameter object
+
+
+
+ Adds a parameter to the collection
+
+ The parameter to add
+ A zero-based index of where the parameter is located in the array
+
+
+
+ Adds a parameter to the collection
+
+ The parameter to add
+ A zero-based index of where the parameter is located in the array
+
+
+
+ Adds a named/unnamed parameter and its value to the parameter collection.
+
+ Name of the parameter, or null to indicate an unnamed parameter
+ The initial value of the parameter
+ Returns the SQLiteParameter object created during the call.
+
+
+
+ Adds an array of parameters to the collection
+
+ The array of parameters to add
+
+
+
+ Adds an array of parameters to the collection
+
+ The array of parameters to add
+
+
+
+ Clears the array and resets the collection
+
+
+
+
+ Determines if the named parameter exists in the collection
+
+ The name of the parameter to check
+ True if the parameter is in the collection
+
+
+
+ Determines if the parameter exists in the collection
+
+ The SQLiteParameter to check
+ True if the parameter is in the collection
+
+
+
+ Not implemented
+
+
+
+
+
+
+ Retrieve a parameter by name from the collection
+
+ The name of the parameter to fetch
+ A DbParameter object
+
+
+
+ Retrieves a parameter by its index in the collection
+
+ The index of the parameter to retrieve
+ A DbParameter object
+
+
+
+ Returns the index of a parameter given its name
+
+ The name of the parameter to find
+ -1 if not found, otherwise a zero-based index of the parameter
+
+
+
+ Returns the index of a parameter
+
+ The parameter to find
+ -1 if not found, otherwise a zero-based index of the parameter
+
+
+
+ Inserts a parameter into the array at the specified location
+
+ The zero-based index to insert the parameter at
+ The parameter to insert
+
+
+
+ Removes a parameter from the collection
+
+ The parameter to remove
+
+
+
+ Removes a parameter from the collection given its name
+
+ The name of the parameter to remove
+
+
+
+ Removes a parameter from the collection given its index
+
+ The zero-based parameter index to remove
+
+
+
+ Re-assign the named parameter to a new parameter object
+
+ The name of the parameter to replace
+ The new parameter
+
+
+
+ Re-assign a parameter at the specified index
+
+ The zero-based index of the parameter to replace
+ The new parameter
+
+
+
+ Un-binds all parameters from their statements
+
+
+
+
+ This function attempts to map all parameters in the collection to all statements in a Command.
+ Since named parameters may span multiple statements, this function makes sure all statements are bound
+ to the same named parameter. Unnamed parameters are bound in sequence.
+
+
+
+
+ Returns true
+
+
+
+
+ Returns false
+
+
+
+
+ Returns false
+
+
+
+
+ Returns null
+
+
+
+
+ Returns a count of parameters in the collection
+
+
+
+
+ SQLite implementation of DbParameter.
+
+
+
+
+ The data type of the parameter
+
+
+
+
+ The version information for mapping the parameter
+
+
+
+
+ The value of the data in the parameter
+
+
+
+
+ The source column for the parameter
+
+
+
+
+ The column name
+
+
+
+
+ The data size, unused by SQLite
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructs a named parameter given the specified parameter name
+
+ The parameter name
+
+
+
+ Constructs a named parameter given the specified parameter name and initial value
+
+ The parameter name
+ The initial value of the parameter
+
+
+
+ Constructs a named parameter of the specified type
+
+ The parameter name
+ The datatype of the parameter
+
+
+
+ Constructs a named parameter of the specified type and source column reference
+
+ The parameter name
+ The data type
+ The source column
+
+
+
+ Constructs a named parameter of the specified type, source column and row version
+
+ The parameter name
+ The data type
+ The source column
+ The row version information
+
+
+
+ Constructs an unnamed parameter of the specified data type
+
+ The datatype of the parameter
+
+
+
+ Constructs an unnamed parameter of the specified data type and sets the initial value
+
+ The datatype of the parameter
+ The initial value of the parameter
+
+
+
+ Constructs an unnamed parameter of the specified data type and source column
+
+ The datatype of the parameter
+ The source column
+
+
+
+ Constructs an unnamed parameter of the specified data type, source column and row version
+
+ The data type
+ The source column
+ The row version information
+
+
+
+ Constructs a named parameter of the specified type and size
+
+ The parameter name
+ The data type
+ The size of the parameter
+
+
+
+ Constructs a named parameter of the specified type, size and source column
+
+ The name of the parameter
+ The data type
+ The size of the parameter
+ The source column
+
+
+
+ Constructs a named parameter of the specified type, size, source column and row version
+
+ The name of the parameter
+ The data type
+ The size of the parameter
+ The source column
+ The row version information
+
+
+
+ Constructs a named parameter of the specified type, size, source column and row version
+
+ The name of the parameter
+ The data type
+ The size of the parameter
+ Only input parameters are supported in SQLite
+ Ignored
+ Ignored
+ Ignored
+ The source column
+ The row version information
+ The initial value to assign the parameter
+
+
+
+ Constructs an unnamed parameter of the specified type and size
+
+ The data type
+ The size of the parameter
+
+
+
+ Constructs an unnamed parameter of the specified type, size, and source column
+
+ The data type
+ The size of the parameter
+ The source column
+
+
+
+ Constructs an unnamed parameter of the specified type, size, source column and row version
+
+ The data type
+ The size of the parameter
+ The source column
+ The row version information
+
+
+
+ Initializes the parameter member variables
+
+ The parameter name
+ The data type
+ The size
+ The source column
+ The row version
+
+
+
+ Not implemented
+
+
+
+
+ Clones a parameter
+
+ A new, unassociated SQLiteParameter
+
+
+
+ Returns True.
+
+
+
+
+ Returns the datatype of the parameter
+
+
+
+
+ Supports only input parameters
+
+
+
+
+ Returns the parameter name
+
+
+
+
+ Returns the size of the parameter
+
+
+
+
+ Gets/sets the source column
+
+
+
+
+ Used by DbCommandBuilder to determine the mapping for nullable fields
+
+
+
+
+ Gets and sets the row version
+
+
+
+
+ Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
+
+
+
+
+ This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
+
+
+
+
+ This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement
+ a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
This base class provides datatype conversion services for the SQLite provider.
@@ -315,56 +999,166 @@
For a given type name, return a closest-match .NET type
The name of the type to match
The .NET DBType the text evaluates to.
-
-
- SQLite implementation of DbTransaction.
-
-
-
-
- The connection to which this transaction is bound
-
-
-
-
- Constructs the transaction object, binding it to the supplied connection
-
- The connection to open a transaction on
- TRUE to defer the writelock, or FALSE to lock immediately
-
-
-
- Commits the current transaction.
-
-
-
-
- Disposes the transaction. If it is currently active, any changes are rolled back.
-
-
-
-
- Rolls back the active transaction.
-
-
-
-
- Returns the underlying connection to which this transaction applies.
-
-
-
-
- Forwards to the local Connection property
-
-
-
-
- Gets the isolation level of the transaction. SQLite does not support isolation levels, so this always returns Unspecified.
-
+
+
+ Opens a database.
+
+
+ Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
+ to bind all attributed user-defined functions and collating sequences to the new connection.
+
+ The filename of the database to open. SQLite automatically creates it if it doesn't exist.
+
+
+
+ Closes the currently-open database.
+
+
+ After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
+ memory associated with the user-defined functions and collating sequences tied to the closed connection.
+
+
+
+
+ Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command.
+
+ The number of milliseconds to wait before returning SQLITE_BUSY
+
+
+
+ Quick execute of a SQL command. This is only executed internally, usually by SQLiteConnection when the connection
+ is first opened to set the necessary startup pragmas.
+
+ The SQL command text to execute
+
+
+
+ Returns the text of the last error issued by SQLite
+
+
+
+
+
+ Prepares a SQL statement for execution.
+
+ The SQL command text to prepare
+ The previous statement in a multi-statement command, or null if no previous statement exists
+ The remainder of the statement that was not processed. Each call to prepare parses the
+ SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned
+ here for a subsequent call to Prepare() until all the text has been processed.
+ Returns an initialized SQLiteStatement.
+
+
+
+ Steps through a prepared statement.
+
+ The SQLiteStatement to step through
+ True if a row was returned, False if not.
+
+
+
+ Finalizes a prepared statement.
+
+ The statement to finalize
+
+
+
+ Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA,
+ transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
+
+ The statement to reset
+ Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock
+
+
+
+ Helper function to retrieve a column of data from an active statement.
+
+ The statement being step()'d through
+ The column index to retrieve
+ The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.
+ Returns the data in the column
+
+
+
+ Returns a string representing the active version of SQLite
+
+
+
+
+ Returns the number of changes the last executing insert/update caused.
+
+
+
+
+ The opaque pointer returned to us by the sqlite provider
+
+
+
+
+ The user-defined functions registered on this connection
+
+
+
+
+ MetaDataCollections specific to SQLite
+
+
+
+
+ Returns a list of databases attached to the connection
+
+
+
+
+ Returns column information for the specified table
+
+
+
+
+ Returns index information for the optionally-specified table
+
+
+
+
+ Returns base columns for the given index
+
+
+
+
+ Returns the tables in the given catalog
+
+
+
+
+ Returns user-defined views in the given catalog
+
+
+
+
+ Returns underlying column information on the given view
+
+
+
+
+ Returns foreign key information for the given catalog
+
+
+
+
+ Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
+
+
+
+
+ Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
+
+ A pointer to a UTF-16 string
+ The length (IN BYTES) of the string
+ A .NET string
The type of user-defined function to declare
@@ -627,976 +1421,10 @@
Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
strings and DateTime's into the current connection's encoding schema.
-
-
- SQLite implementation of DbDataReader.
-
-
-
-
- Underlying command this reader is attached to
-
-
-
-
- Index of the current statement in the command being processed
-
-
-
-
- Current statement being Read()
-
-
-
-
- State of the current statement being processed.
- -1 = First Step() executed, so the first Read() will be ignored
- 0 = Actively reading
- 1 = Finished reading
- 2 = Non-row-returning statement, no records
-
-
-
-
- Number of records affected by the insert/update statements executed on the command
-
-
-
-
- Count of fields (columns) in the row-returning statement currently being processed
-
-
-
-
- Datatypes of active fields (columns) in the current statement, used for type-restricting data
-
-
-
-
- The behavior of the datareader
-
-
-
-
- Internal constructor, initializes the datareader and sets up to begin executing statements
-
- The SQLiteCommand this data reader is for
- The expected behavior of the data reader
-
-
-
- Initializes and resets the datareader's member variables
-
-
-
-
- Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
-
-
-
-
- Disposes the datareader. Calls Close() to ensure everything is cleaned up.
-
-
-
-
- Throw an error if the datareader is closed
-
-
-
-
- Throw an error if a row is not loaded
-
-
-
-
- Enumerator support
-
- Returns a DbEnumerator object.
-
-
-
- SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table
- and the affinity of returned types are all we have to go on to type-restrict data in the reader.
-
- This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In
- the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
- to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do.
-
-
- This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
-
- The index of the column to type-check
- The type we want to get out of the column
-
-
-
- Retrieves the column as a boolean value
-
- The index of the column to retrieve
- bool
-
-
-
- Retrieves the column as a single byte value
-
- The index of the column to retrieve
- byte
-
-
-
- Retrieves a column as an array of bytes (blob)
-
- The index of the column to retrieve
- The zero-based index of where to begin reading the data
- The buffer to write the bytes into
- The zero-based index of where to begin writing into the array
- The number of bytes to retrieve
- The actual number of bytes written into the array
-
- To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned.
-
-
-
-
- Returns the column as a single character
-
- The index of the column to retrieve
- char
-
-
-
- Retrieves a column as an array of chars (blob)
-
- The index of the column to retrieve
- The zero-based index of where to begin reading the data
- The buffer to write the characters into
- The zero-based index of where to begin writing into the array
- The number of bytes to retrieve
- The actual number of characters written into the array
-
- To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned.
-
-
-
-
- Retrieves the name of the back-end datatype of the column
-
- The index of the column to retrieve
- string
-
-
-
- Retrieve the column as a date/time value
-
- The index of the column to retrieve
- DateTime
-
-
-
- Retrieve the column as a decimal value
-
- The index of the column to retrieve
- decimal
-
-
-
- Returns the column as a double
-
- The index of the column to retrieve
- double
-
-
-
- Returns the .NET type of a given column
-
- The index of the column to retrieve
- Type
-
-
-
- Returns a column as a float value
-
- The index of the column to retrieve
- float
-
-
-
- Returns the column as a Guid
-
- The index of the column to retrieve
- Guid
-
-
-
- Returns the column as a short
-
- The index of the column to retrieve
- Int16
-
-
-
- Retrieves the column as an int
-
- The index of the column to retrieve
- Int32
-
-
-
- Retrieves the column as a long
-
- The index of the column to retrieve
- Int64
-
-
-
- Retrieves the name of the column
-
- The index of the column to retrieve
- string
-
-
-
- Retrieves the i of a column, given its name
-
- The name of the column to retrieve
- The int i of the column
-
-
-
- Schema information in SQLite is an iffy-business. We've extended the native SQLite3.DLL to include a special pragma called
- PRAGMA real_column_names
- When enabled, the pragma causes all column aliases to be ignored, and the full Database.Table.ColumnName to be returned for
- each column of a SELECT statement. Using this information it is then possible to query each database and table for the
- matching column, and associate it with the active statement.
-
-
- The current connection is cloned for the sake of executing this statement, so as to avoid any possibility of corrupting the
- original connection's existing statements or state. Any attached databases are re-attached to the new connection.
-
- Returns a DataTable containing the schema information for the active SELECT statement being processed.
-
-
-
- Retrieves the column as a string
-
- The index of the column to retrieve
- string
-
-
-
- Retrieves the column as an object corresponding to the underlying datatype of the column
-
- The index of the column to retrieve
- object
-
-
-
- Retreives the values of multiple columns, up to the size of the supplied array
-
- The array to fill with values from the columns in the current resultset
- The number of columns retrieved
-
-
-
- Returns True if the specified column is null
-
- The index of the column to retrieve
- True or False
-
-
-
- Moves to the next resultset in multiple row-returning SQL command.
-
- True if the command was successful and a new resultset is available, False otherwise.
-
-
-
- Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
-
- The index of the column to retrieve
- A SQLiteType structure
-
-
-
- Reads the next row from the resultset
-
- True if a new row was successfully loaded and is ready for processing
-
-
-
- Not implemented. Returns 0
-
-
-
-
- Returns the number of columns in the current resultset
-
-
-
-
- Returns True if the resultset has rows that can be fetched
-
-
-
-
- Returns True if the data reader is closed
-
-
-
-
- Retrieve the count of records affected by an update/insert command. Only valid once the data reader is closed!
-
-
-
-
- Indexer to retrieve data from a column given its name
-
- The name of the column to retrieve data for
- The value contained in the column
-
-
-
- Indexer to retrieve data from a column given its i
-
- The index of the column to retrieve
- The value contained in the column
-
-
-
- SQLite implementation of DbParameter.
-
-
-
-
- The data type of the parameter
-
-
-
-
- The version information for mapping the parameter
-
-
-
-
- The value of the data in the parameter
-
-
-
-
- The source column for the parameter
-
-
-
-
- The column name
-
-
-
-
- The data size, unused by SQLite
-
-
-
-
- Default constructor
-
-
-
-
- Constructs a named parameter given the specified parameter name
-
- The parameter name
-
-
-
- Constructs a named parameter given the specified parameter name and initial value
-
- The parameter name
- The initial value of the parameter
-
-
-
- Constructs a named parameter of the specified type
-
- The parameter name
- The datatype of the parameter
-
-
-
- Constructs a named parameter of the specified type and source column reference
-
- The parameter name
- The data type
- The source column
-
-
-
- Constructs a named parameter of the specified type, source column and row version
-
- The parameter name
- The data type
- The source column
- The row version information
-
-
-
- Constructs an unnamed parameter of the specified data type
-
- The datatype of the parameter
-
-
-
- Constructs an unnamed parameter of the specified data type and sets the initial value
-
- The datatype of the parameter
- The initial value of the parameter
-
-
-
- Constructs an unnamed parameter of the specified data type and source column
-
- The datatype of the parameter
- The source column
-
-
-
- Constructs an unnamed parameter of the specified data type, source column and row version
-
- The data type
- The source column
- The row version information
-
-
-
- Constructs a named parameter of the specified type and size
-
- The parameter name
- The data type
- The size of the parameter
-
-
-
- Constructs a named parameter of the specified type, size and source column
-
- The name of the parameter
- The data type
- The size of the parameter
- The source column
-
-
-
- Constructs a named parameter of the specified type, size, source column and row version
-
- The name of the parameter
- The data type
- The size of the parameter
- The source column
- The row version information
-
-
-
- Constructs a named parameter of the specified type, size, source column and row version
-
- The name of the parameter
- The data type
- The size of the parameter
- Only input parameters are supported in SQLite
- Ignored
- Ignored
- Ignored
- The source column
- The row version information
- The initial value to assign the parameter
-
-
-
- Constructs an unnamed parameter of the specified type and size
-
- The data type
- The size of the parameter
-
-
-
- Constructs an unnamed parameter of the specified type, size, and source column
-
- The data type
- The size of the parameter
- The source column
-
-
-
- Constructs an unnamed parameter of the specified type, size, source column and row version
-
- The data type
- The size of the parameter
- The source column
- The row version information
-
-
-
- Initializes the parameter member variables
-
- The parameter name
- The data type
- The size
- The source column
- The row version
-
-
-
- Not implemented
-
-
-
-
- Clones a parameter
-
- A new, unassociated SQLiteParameter
-
-
-
- Returns True.
-
-
-
-
- Returns the datatype of the parameter
-
-
-
-
- Supports only input parameters
-
-
-
-
- Returns the parameter name
-
-
-
-
- Returns the size of the parameter
-
-
-
-
- Gets/sets the source column
-
-
-
-
- Returns false, ignores any set value
-
-
-
-
- Gets and sets the row version
-
-
-
-
- Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given.
-
-
-
-
- MetaDataCollections specific to SQLite
-
-
-
-
- Returns a list of databases attached to the connection
-
-
-
-
- Returns column information for the specified table
-
-
-
-
- Returns index information for the optionally-specified table
-
-
-
-
- Returns base columns for the given index
-
-
-
-
- Returns the tables in the given catalog
-
-
-
-
- Returns user-defined views in the given catalog
-
-
-
-
- Returns underlying column information on the given view
-
-
-
-
- Returns foreign key information for the given catalog
-
-
-
-
- SQLite implementation of DbCommand.
-
-
-
-
- The command text this command is based on
-
-
-
-
- The connection the command is associated with
-
-
-
-
- Indicates whether or not a DataReader is active on the command.
-
-
-
-
- The timeout for the command, kludged because SQLite doesn't support per-command timeout values
-
-
-
-
- Designer support
-
-
-
-
- Used by DbDataAdapter to determine updating behavior
-
-
-
-
- The collection of parameters for the command
-
-
-
-
- The SQL command text, broken into individual SQL statements as they are executed
-
-
-
-
- Unprocessed SQL text that has not been executed
-
-
-
-
- Transaction associated with this command
-
-
-
-
- Constructs a new SQLiteCommand
-
-
- Default constructor
-
-
-
-
- Initializes the command with the given command text
-
- The SQL command text
-
-
-
- Initializes the command with the given SQL command text and attach the command to the specified
- connection.
-
- The SQL command text
- The connection to associate with the command
-
-
-
- Initializes the command and associates it with the specified connection.
-
- The connection to associate with the command
-
-
-
- Initializes a command with the given SQL, connection and transaction
-
- The SQL command text
- The connection to associate with the command
- The transaction the command should be associated with
-
-
-
- Initializes the command class
-
- The SQL command text
- A connection to associate with the command
-
-
-
- Disposes of the command and clears all member variables
-
- Whether or not the class is being explicitly or implicitly disposed
-
-
-
- Clears and destroys all statements currently prepared
-
-
-
-
- Builds an array of prepared statements for each complete SQL statement in the command text
-
-
-
-
- Not implemented
-
-
-
-
- Forwards to the local CreateParameter() function
-
-
-
-
-
- Create a new parameter
-
-
-
-
-
- This function ensures there are no active readers, that we have a valid connection,
- that the connection is open, that all statements are prepared and all parameters are assigned
- in preparation for allocating a data reader.
-
-
-
-
- Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements
-
- The behavior the data reader should adopt
- Returns a SQLiteDataReader object
-
-
-
- Overrides the default behavior to return a SQLiteDataReader specialization class
-
- The flags to be associated with the reader
- A SQLiteDataReader
-
-
-
- Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
-
- A SQLiteDataReader
-
-
-
- Called by the SQLiteDataReader when the data reader is closed.
-
-
-
-
- Execute the command and return the number of rows inserted/updated affected by it.
-
-
-
-
-
- Execute the command and return the first column of the first row of the resultset
- (if present), or null if no resultset was returned.
-
- The first column of the first row of the first resultset from the query
-
-
-
- Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
-
-
-
-
- Clones a command, including all its parameters
-
- A new SQLiteCommand with the same commandtext, connection and parameters
-
-
-
- The SQL command text associated with the command
-
-
-
-
- The amount of time to wait for the connection to become available before erroring out
-
-
-
-
- The type of the command. SQLite only supports CommandType.Text
-
-
-
-
- The connection associated with this command
-
-
-
-
- Forwards to the local Connection property
-
-
-
-
- Returns the SQLiteParameterCollection for the given command
-
-
-
-
- Forwards to the local Parameters property
-
-
-
-
- The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the
- command's underlying connection.
-
-
-
-
- Forwards to the local Transaction property
-
-
-
-
- Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable.
-
-
-
-
- Determines if the command is visible at design time. Defaults to True.
-
-
-
-
- This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement
- a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
-
-
-
-
- Opens a database.
-
-
- Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
- to bind all attributed user-defined functions and collating sequences to the new connection.
-
- The filename of the database to open. SQLite automatically creates it if it doesn't exist.
-
-
-
- Closes the currently-open database.
-
-
- After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
- memory associated with the user-defined functions and collating sequences tied to the closed connection.
-
-
-
-
- Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command.
-
- The number of milliseconds to wait before returning SQLITE_BUSY
-
-
-
- Quick execute of a SQL command. This is only executed internally, usually by SQLiteConnection when the connection
- is first opened to set the necessary startup pragmas.
-
- The SQL command text to execute
-
-
-
- Returns the text of the last error issued by SQLite
-
-
-
-
-
- Prepares a SQL statement for execution.
-
- The SQL command text to prepare
- The previous statement in a multi-statement command, or null if no previous statement exists
- The remainder of the statement that was not processed. Each call to prepare parses the
- SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned
- here for a subsequent call to Prepare() until all the text has been processed.
- Returns an initialized SQLiteStatement.
-
-
-
- Steps through a prepared statement.
-
- The SQLiteStatement to step through
- True if a row was returned, False if not.
-
-
-
- Finalizes a prepared statement.
-
- The statement to finalize
-
-
-
- Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA,
- transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
-
- The statement to reset
- Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock
-
-
-
- An interop-specific function, this call sets an internal flag in the sqlite.interop.dll which causes all column names
- of subsequently-prepared statements to return in Database.Table.Column format, ignoring all aliases that may have been applied
- to tables or columns in a resultset.
-
-
- All statements prepared on this connection after this flag is changed are affected. Existing statements are not.
-
- Set to True to enable real column names, false to disable them.
-
-
-
- Helper function to retrieve a column of data from an active statement.
-
- The statement being step()'d through
- The column index to retrieve
- The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.
- Returns the data in the column
-
-
-
- Returns a string representing the active version of SQLite
-
-
-
-
- Returns the number of changes the last executing insert/update caused.
-
-
SQLite implementation of DbConnectionStringBuilder.
@@ -1677,260 +1505,110 @@
Gets/Sets the datetime format for the connection.
-
-
- This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
-
-
-
-
- The opaque pointer returned to us by the sqlite provider
-
-
-
-
- The user-defined functions registered on this connection
-
-
-
-
- SQLite implementation of DbParameterCollection.
-
-
-
-
- The underlying command to which this collection belongs
-
-
-
-
- The internal array of parameters in this collection
-
-
-
-
- Determines whether or not all parameters have been bound to their statement(s)
-
-
-
-
- Initializes the collection
-
- The command to which the collection belongs
-
-
-
- Retrieves an enumerator for the collection
-
- An enumerator for the underlying array
-
-
-
- Adds a parameter to the collection
-
- The parameter name
- The data type
- The size of the value
- The source column
- A SQLiteParameter object
-
-
-
- Adds a parameter to the collection
-
- The parameter name
- The data type
- The size of the value
- A SQLiteParameter object
-
-
-
- Adds a parameter to the collection
-
- The parameter name
- The data type
- A SQLiteParameter object
-
-
-
- Adds a parameter to the collection
-
- The parameter to add
- A zero-based index of where the parameter is located in the array
-
-
-
- Adds a parameter to the collection
-
- The parameter to add
- A zero-based index of where the parameter is located in the array
-
-
-
- Adds a named/unnamed parameter and its value to the parameter collection.
-
- Name of the parameter, or null to indicate an unnamed parameter
- The initial value of the parameter
- Returns the SQLiteParameter object created during the call.
-
-
-
- Adds an array of parameters to the collection
-
- The array of parameters to add
-
-
-
- Adds an array of parameters to the collection
-
- The array of parameters to add
-
-
-
- Clears the array and resets the collection
-
-
-
-
- Determines if the named parameter exists in the collection
-
- The name of the parameter to check
- True if the parameter is in the collection
-
-
-
- Determines if the parameter exists in the collection
-
- The SQLiteParameter to check
- True if the parameter is in the collection
-
-
-
- Not implemented
-
-
-
-
-
-
- Retrieve a parameter by name from the collection
-
- The name of the parameter to fetch
- A DbParameter object
-
-
-
- Retrieves a parameter by its index in the collection
-
- The index of the parameter to retrieve
- A DbParameter object
-
-
-
- Returns the index of a parameter given its name
-
- The name of the parameter to find
- -1 if not found, otherwise a zero-based index of the parameter
-
-
-
- Returns the index of a parameter
-
- The parameter to find
- -1 if not found, otherwise a zero-based index of the parameter
-
-
-
- Inserts a parameter into the array at the specified location
-
- The zero-based index to insert the parameter at
- The parameter to insert
-
-
-
- Removes a parameter from the collection
-
- The parameter to remove
-
-
-
- Removes a parameter from the collection given its name
-
- The name of the parameter to remove
-
-
-
- Removes a parameter from the collection given its index
-
- The zero-based parameter index to remove
-
-
-
- Re-assign the named parameter to a new parameter object
-
- The name of the parameter to replace
- The new parameter
-
-
-
- Re-assign a parameter at the specified index
-
- The zero-based index of the parameter to replace
- The new parameter
-
-
-
- Un-binds all parameters from their statements
-
-
-
-
- This function attempts to map all parameters in the collection to all statements in a Command.
- Since named parameters may span multiple statements, this function makes sure all statements are bound
- to the same named parameter. Unnamed parameters are bound in sequence.
-
-
-
-
- Returns true
-
-
-
-
- Returns false
-
-
-
-
- Returns false
-
-
-
-
- Returns null
-
-
-
-
- Returns a count of parameters in the collection
-
-
-
-
- Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
-
-
-
-
- Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8
-
- A pointer to a UTF-16 string
- The length (IN BYTES) of the string
- A .NET string
+
+
+ A simple custom attribute to enable us to easily find user-defined functions in
+ the loaded assemblies and initialize them in SQLite as connections are made.
+
+
+
+
+ Default constructor, initializes the internal variables for the function.
+
+
+
+
+ The function's name as it will be used in SQLite command text.
+
+
+
+
+ The number of arguments this function expects. -1 if the number of arguments is variable.
+
+
+
+
+ The type of function this implementation will be.
+
+
+
+
+ SQLite implementation of DbDataAdapter.
+
+
+
+
+ This class is just a shell around the DbDataAdapter. Nothing from DbDataAdapter is overridden here, just a few constructors are defined.
+
+
+ Default constructor.
+
+
+
+
+ Constructs a data adapter using the specified select command.
+
+ The select command to associate with the adapter.
+
+
+
+ Constructs a data adapter with the supplied select command text and associated with the specified connection.
+
+ The select command text to associate with the data adapter.
+ The connection to associate with the select command.
+
+
+
+ Constructs a data adapter with the specified select command text, and using the specified database connection string.
+
+ The select command text to use to construct a select command.
+ A connection string suitable for passing to a new SQLiteConnection, which is associated with the select command.
+
+
+
+ Raised by the underlying DbDataAdapter when a row is being updated
+
+ The event's specifics
+
+
+
+ Raised by DbDataAdapter after a row is updated
+
+ The event's specifics
+
+
+
+ Row updating event handler
+
+
+
+
+ Row updated event handler
+
+
+
+
+ Gets/sets the select command for this DataAdapter
+
+
+
+
+ Gets/sets the insert command for this DataAdapter
+
+
+
+
+ Gets/sets the update command for this DataAdapter
+
+
+
+
+ Gets/sets the delete command for this DataAdapter
+
A strongly-typed resource class, for looking up localized strings, etc.
@@ -1978,10 +1656,57 @@
<NumberOfRestrictions>0</NumberOfRestrictions>
<NumberOfIdentifierParts>0</NumberOfIdentifierParts>
</MetaDataCollections>
<MetaDataC [rest of string was truncated]";.
+
+
+
+ SQLite implementation of DbTransaction.
+
+
+
+
+ The connection to which this transaction is bound
+
+
+
+
+ Constructs the transaction object, binding it to the supplied connection
+
+ The connection to open a transaction on
+ TRUE to defer the writelock, or FALSE to lock immediately
+
+
+
+ Commits the current transaction.
+
+
+
+
+ Disposes the transaction. If it is currently active, any changes are rolled back.
+
+
+
+
+ Rolls back the active transaction.
+
+
+
+
+ Returns the underlying connection to which this transaction applies.
+
+
+
+
+ Forwards to the local Connection property
+
+
+
+
+ Gets the isolation level of the transaction. SQLite does not support isolation levels, so this always returns Unspecified.
+
SQLite error codes
@@ -2753,10 +2478,56 @@
Returns the state of the connection.
+
+
+
+ SQLite implementation of DbProviderFactory.
+
+
+
+
+ Static instance member which returns an instanced SQLiteFactory class.
+
+
+
+
+ Returns a new SQLiteCommand object.
+
+ A SQLiteCommand object.
+
+
+
+ Returns a new SQLiteCommandBuilder object.
+
+ A SQLiteCommandBuilder object.
+
+
+
+ Creates a new SQLiteConnection.
+
+ A SQLiteConnection object.
+
+
+
+ Creates a new SQLiteConnectionStringBuilder.
+
+ A SQLiteConnectionStringBuilder object.
+
+
+
+ Creates a new SQLiteDataAdapter.
+
+ A SQLiteDataAdapter object.
+
+
+
+ Creates a new SQLiteParameter.
+
+ A SQLiteParameter object.
Represents a single SQL statement in SQLite.
@@ -2828,204 +2599,426 @@
Perform the bind operation for an individual parameter
The index of the parameter to bind
The parameter we're binding
-
-
- A simple custom attribute to enable us to easily find user-defined functions in
- the loaded assemblies and initialize them in SQLite as connections are made.
-
-
-
-
- Default constructor, initializes the internal variables for the function.
-
-
-
-
- The function's name as it will be used in SQLite command text.
-
-
-
-
- The number of arguments this function expects. -1 if the number of arguments is variable.
-
-
-
-
- The type of function this implementation will be.
-
-
-
-
- SQLite implementation of DbProviderFactory.
-
-
-
-
- Static instance member which returns an instanced SQLiteFactory class.
-
-
-
-
- Returns a new SQLiteCommand object.
-
- A SQLiteCommand object.
-
-
-
- Returns a new SQLiteCommandBuilder object.
-
- A SQLiteCommandBuilder object.
-
-
-
- Creates a new SQLiteConnection.
-
- A SQLiteConnection object.
-
-
-
- Creates a new SQLiteConnectionStringBuilder.
-
- A SQLiteConnectionStringBuilder object.
-
-
-
- Creates a new SQLiteDataAdapter.
-
- A SQLiteDataAdapter object.
-
-
-
- Creates a new SQLiteParameter.
-
- A SQLiteParameter object.
-
-
-
- SQLite implementation of DbCommandBuilder.
-
-
-
-
- Default constructor
-
-
-
-
- Initializes the command builder and associates it with the specified data adapter.
-
-
-
-
-
- Not implemented, this function does nothing.
-
- The parameter to use in applying custom behaviors to a row
- The row to apply the parameter to
- The type of statement
- Whether the application of the parameter is part of a WHERE clause
-
-
-
- Not implemented. Throws a NotImplementedException() if called.
-
-
- Not implemented.
-
- The name of the parameter
- Error
-
-
-
- Not implemented.
-
- The i of the parameter
- Error
-
-
-
- Returns a placeholder character for the specified parameter i.
-
- The index of the parameter to provide a placeholder for
- Returns a "?" character, used for all placeholders.
-
-
-
- Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL
- statements that may not have previously been generated.
-
- A data adapter to receive events on.
-
-
-
- Returns the automatically-generated SQLite command to delete rows from the database
-
-
-
-
-
- Returns the automatically-generated SQLite command to delete rows from the database
-
-
-
-
-
-
- Returns the automatically-generated SQLite command to update rows in the database
-
-
-
-
-
- Returns the automatically-generated SQLite command to update rows in the database
-
-
-
-
-
-
- Returns the automatically-generated SQLite command to insert rows into the database
-
-
-
-
-
- Returns the automatically-generated SQLite command to insert rows into the database
-
-
-
-
-
-
- Gets/sets the DataAdapter for this CommandBuilder
-
-
-
-
- Overridden to hide its property from the designer
-
-
-
-
- Overridden to hide its property from the designer
-
-
-
-
- Overridden to hide its property from the designer
-
-
-
-
- Overridden to hide its property from the designer
-
-
-
-
- Overridden to hide its property from the designer
-
+
+
+ SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite
+ understands. The DateTime extension to the spec is for internal use only.
+
+
+
+
+ Not used
+
+
+
+
+ All integers in SQLite default to Int64
+
+
+
+
+ All floating point numbers in SQLite default to double
+
+
+
+
+ The default data type of SQLite is text
+
+
+
+
+ Typically blob types are only seen when returned from a function
+
+
+
+
+ Null types can be returned from functions
+
+
+
+
+ Used internally by this provider
+
+
+
+
+ Used internally
+
+
+
+
+ This implementation of SQLite for ADO.NET can process date/time fields in databases in only one of two formats. Ticks and ISO8601.
+ Ticks is inherently more accurate, but less compatible with 3rd party tools that query the database, and renders the DateTime field
+ unreadable without post-processing.
+ ISO8601 is more compatible, readable, fully-processable, but less accurate as it doesn't provide time down to fractions of a second.
+
+
+
+
+ Using ticks is more accurate but less compatible with other viewers and utilities that access your database.
+
+
+
+
+ The default format for this provider.
+
+
+
+
+ Struct used internally to determine the datatype of a column in a resultset
+
+
+
+
+ The DbType of the column, or DbType.Object if it cannot be determined
+
+
+
+
+ The affinity of a column, used for expressions or when Type is DbType.Object
+
+
+
+
+ SQLite implementation of DbDataReader.
+
+
+
+
+ Underlying command this reader is attached to
+
+
+
+
+ Index of the current statement in the command being processed
+
+
+
+
+ Current statement being Read()
+
+
+
+
+ State of the current statement being processed.
+ -1 = First Step() executed, so the first Read() will be ignored
+ 0 = Actively reading
+ 1 = Finished reading
+ 2 = Non-row-returning statement, no records
+
+
+
+
+ Number of records affected by the insert/update statements executed on the command
+
+
+
+
+ Count of fields (columns) in the row-returning statement currently being processed
+
+
+
+
+ Datatypes of active fields (columns) in the current statement, used for type-restricting data
+
+
+
+
+ The behavior of the datareader
+
+
+
+
+ If set, then dispose of the command object when the reader is finished
+
+
+
+
+ Internal constructor, initializes the datareader and sets up to begin executing statements
+
+ The SQLiteCommand this data reader is for
+ The expected behavior of the data reader
+
+
+
+ Initializes and resets the datareader's member variables
+
+
+
+
+ Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
+
+
+
+
+ Disposes the datareader. Calls Close() to ensure everything is cleaned up.
+
+
+
+
+ Throw an error if the datareader is closed
+
+
+
+
+ Throw an error if a row is not loaded
+
+
+
+
+ Enumerator support
+
+ Returns a DbEnumerator object.
+
+
+
+ SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table
+ and the affinity of returned types are all we have to go on to type-restrict data in the reader.
+
+ This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In
+ the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob)
+ to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do.
+
+
+ This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity.
+
+ The index of the column to type-check
+ The type we want to get out of the column
+
+
+
+ Retrieves the column as a boolean value
+
+ The index of the column to retrieve
+ bool
+
+
+
+ Retrieves the column as a single byte value
+
+ The index of the column to retrieve
+ byte
+
+
+
+ Retrieves a column as an array of bytes (blob)
+
+ The index of the column to retrieve
+ The zero-based index of where to begin reading the data
+ The buffer to write the bytes into
+ The zero-based index of where to begin writing into the array
+ The number of bytes to retrieve
+ The actual number of bytes written into the array
+
+ To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned.
+
+
+
+
+ Returns the column as a single character
+
+ The index of the column to retrieve
+ char
+
+
+
+ Retrieves a column as an array of chars (blob)
+
+ The index of the column to retrieve
+ The zero-based index of where to begin reading the data
+ The buffer to write the characters into
+ The zero-based index of where to begin writing into the array
+ The number of bytes to retrieve
+ The actual number of characters written into the array
+
+ To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned.
+
+
+
+
+ Retrieves the name of the back-end datatype of the column
+
+ The index of the column to retrieve
+ string
+
+
+
+ Retrieve the column as a date/time value
+
+ The index of the column to retrieve
+ DateTime
+
+
+
+ Retrieve the column as a decimal value
+
+ The index of the column to retrieve
+ decimal
+
+
+
+ Returns the column as a double
+
+ The index of the column to retrieve
+ double
+
+
+
+ Returns the .NET type of a given column
+
+ The index of the column to retrieve
+ Type
+
+
+
+ Returns a column as a float value
+
+ The index of the column to retrieve
+ float
+
+
+
+ Returns the column as a Guid
+
+ The index of the column to retrieve
+ Guid
+
+
+
+ Returns the column as a short
+
+ The index of the column to retrieve
+ Int16
+
+
+
+ Retrieves the column as an int
+
+ The index of the column to retrieve
+ Int32
+
+
+
+ Retrieves the column as a long
+
+ The index of the column to retrieve
+ Int64
+
+
+
+ Retrieves the name of the column
+
+ The index of the column to retrieve
+ string
+
+
+
+ Retrieves the i of a column, given its name
+
+ The name of the column to retrieve
+ The int i of the column
+
+
+
+ Schema information in SQLite is an iffy-business. We've extended the native SQLite3.DLL to include a special pragma called
+ PRAGMA real_column_names
+ When enabled, the pragma causes all column aliases to be ignored, and the full Database.Table.ColumnName to be returned for
+ each column of a SELECT statement. Using this information it is then possible to query each database and table for the
+ matching column, and associate it with the active statement.
+
+
+ The current connection is cloned for the sake of executing this statement, so as to avoid any possibility of corrupting the
+ original connection's existing statements or state. Any attached databases are re-attached to the new connection.
+
+ Returns a DataTable containing the schema information for the active SELECT statement being processed.
+
+
+
+ Retrieves the column as a string
+
+ The index of the column to retrieve
+ string
+
+
+
+ Retrieves the column as an object corresponding to the underlying datatype of the column
+
+ The index of the column to retrieve
+ object
+
+
+
+ Retreives the values of multiple columns, up to the size of the supplied array
+
+ The array to fill with values from the columns in the current resultset
+ The number of columns retrieved
+
+
+
+ Returns True if the specified column is null
+
+ The index of the column to retrieve
+ True or False
+
+
+
+ Moves to the next resultset in multiple row-returning SQL command.
+
+ True if the command was successful and a new resultset is available, False otherwise.
+
+
+
+ Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
+
+ The index of the column to retrieve
+ A SQLiteType structure
+
+
+
+ Reads the next row from the resultset
+
+ True if a new row was successfully loaded and is ready for processing
+
+
+
+ Not implemented. Returns 0
+
+
+
+
+ Returns the number of columns in the current resultset
+
+
+
+
+ Returns True if the resultset has rows that can be fetched
+
+
+
+
+ Returns True if the data reader is closed
+
+
+
+
+ Retrieve the count of records affected by an update/insert command. Only valid once the data reader is closed!
+
+
+
+
+ Indexer to retrieve data from a column given its name
+
+ The name of the column to retrieve data for
+ The value contained in the column
+
+
+
+ Indexer to retrieve data from a column given its i
+
+ The index of the column to retrieve
+ The value contained in the column
Index: bin/System.Data.SQLite.dll
==================================================================
--- bin/System.Data.SQLite.dll
+++ bin/System.Data.SQLite.dll
cannot compute difference between binary files
Index: bin/test.exe
==================================================================
--- bin/test.exe
+++ bin/test.exe
cannot compute difference between binary files
Index: readme.htm
==================================================================
--- readme.htm
+++ readme.htm
@@ -3,11 +3,11 @@
ADO.NET 2.0 SQLite Data Provider
- Version 1.0.26.0 Feb 10, 2006
+ Version 1.0.26.0 Feb 11, 2006
Using SQLite 3.3.4
Written by Robert Simpson (robert@blackcastlesoft.com)
Released to the public domain, use at your own risk!
The latest version can be downloaded
@@ -115,20 +115,19 @@
just one minor modification is made to pager.c, that modification is made automatically by the fixsource.vbs file
when the VS2005 solution is compiled.
Version History
- 1.0.26.0 - February 10, 2006
+ 1.0.26.0 - February 11, 2006
- Code merge with SQLite 3.3.4
- Fixed an encryption bug when changing the password of databases over 1gb in
size.
- Fixed various designer issues related to construction of named parameters.
- Retooled the GetSchema() method of SQLiteDataReader to use the new 3.3.4 API functions,
and made several enhancements and fixes to schemas.
- Implemented the SourceColumnNullMapping property of SQLiteParameter to fix
a DbCommandBuilder code generation bug.
- Removed the runtime dependency on MSVCR80.DLL. File size is somewhat
- larger for the varying desktop versions, but the Compact Framework version remains
- the same.
- Created an install program to manage installation and uninstallation of the
+ larger for the varying desktop versions.
- Created an install program to manage installation and uninstallation of the
SQLite design-time support.
- Designer support now works for all Visual Studio editions, including all Express
Editions.
- Design-time installer will now remove (if present) the machine.config SQLite entries
in favor of installing the xml code into the devenv.exe.config file (or any of the
Index: tools/install/InstallDesigner.cs
==================================================================
--- tools/install/InstallDesigner.cs
+++ tools/install/InstallDesigner.cs
@@ -1,18 +1,25 @@
-using System;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using Microsoft.Win32;
-using System.IO;
-using System.GACManagedAccess;
-using System.Xml;
+/********************************************************
+ * ADO.NET 2.0 Data Provider for SQLite Version 3.X
+ * Written by Robert Simpson (robert@blackcastlesoft.com)
+ *
+ * Released to the public domain, use at your own risk!
+ ********************************************************/
namespace install
{
+ using System;
+ using System.ComponentModel;
+ using System.Data;
+ using System.Drawing;
+ using System.Text;
+ using System.Windows.Forms;
+ using Microsoft.Win32;
+ using System.IO;
+ using System.GACManagedAccess;
+ using System.Xml;
+
public partial class InstallDesigner : Form
{
private static Guid standardDataProviderGuid = new Guid("{0EBAAB6E-CA80-4b4a-8DDF-CBE6BF058C70}");
private static Guid standardDataSourcesGuid = new Guid("{0EBAAB6E-CA80-4b4a-8DDF-CBE6BF058C71}");
private static Guid standardCFDataSourcesGuid = new Guid("{0EBAAB6E-CA80-4b4a-8DDF-CBE6BF058C72}");
@@ -247,11 +254,10 @@
subsubkey.CreateSubKey("DataConnectionProperties").Close();
subsubkey.CreateSubKey("DataObjectSupport").Close();
subsubkey.CreateSubKey("DataViewSupport").Close();
using (RegistryKey subsubsubkey = subsubkey.CreateSubKey("DataConnectionSupport", RegistryKeyPermissionCheck.ReadWriteSubTree))
{
- // Comment out this line when using the VSPackage
#if !USEPACKAGE
subsubsubkey.SetValue(null, "SQLite.Designer.SQLiteDataConnectionSupport");
#endif
}
}
Index: tools/install/install.csproj
==================================================================
--- tools/install/install.csproj
+++ tools/install/install.csproj
@@ -13,19 +13,19 @@
true
full
false
..\..\bin\designer\
- DEBUG;TRACE
+ TRACE;DEBUG;NUSEPACKAGE
prompt
4
none
true
..\..\bin\designer\
- TRACE
+ TRACE;NUSEPACKAGE
prompt
4
512