|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Defines a source code identifier custom attribute for an assembly
|
|
manifest.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this attribute class using the specified
|
|
source code identifier value.
|
|
|
|
|
|
The source code identifier value to use.
|
|
|
|
|
|
|
|
|
|
Gets the source code identifier value.
|
|
|
|
|
|
|
|
|
|
Defines a source code time-stamp custom attribute for an assembly
|
|
manifest.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this attribute class using the specified
|
|
source code time-stamp value.
|
|
|
|
|
|
The source code time-stamp value to use.
|
|
|
|
|
|
|
|
|
|
Gets the source code time-stamp value.
|
|
|
|
|
|
|
|
|
|
This is the method signature for the SQLite core library logging callback
|
|
function for use with sqlite3_log() and the SQLITE_CONFIG_LOG.
|
|
|
|
WARNING: This delegate is used more-or-less directly by native code, do
|
|
not modify its type signature.
|
|
|
|
|
|
The extra data associated with this message, if any.
|
|
|
|
|
|
The error code associated with this message.
|
|
|
|
|
|
The message string to be logged.
|
|
|
|
|
|
|
|
|
|
This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
|
|
|
|
|
|
|
|
|
|
This field is used to refer to memory allocated for the
|
|
SQLITE_DBCONFIG_MAINDBNAME value used with the native
|
|
"sqlite3_db_config" API. If allocated, the associated
|
|
memeory will be freed when the underlying connection is
|
|
closed.
|
|
|
|
|
|
|
|
|
|
The opaque pointer returned to us by the sqlite provider
|
|
|
|
|
|
|
|
|
|
The user-defined functions registered on this connection
|
|
|
|
|
|
|
|
|
|
This is the name of the native library file that contains the
|
|
"vtshim" extension [wrapper].
|
|
|
|
|
|
|
|
|
|
This is the flag indicate whether the native library file that
|
|
contains the "vtshim" extension must be dynamically loaded by
|
|
this class prior to use.
|
|
|
|
|
|
|
|
|
|
This is the name of the native entry point for the "vtshim"
|
|
extension [wrapper].
|
|
|
|
|
|
|
|
|
|
The modules created using this connection.
|
|
|
|
|
|
|
|
|
|
Constructs the object used to interact with the SQLite core library
|
|
using the UTF-8 text encoding.
|
|
|
|
|
|
The DateTime format to be used when converting string values to a
|
|
DateTime and binding DateTime parameters.
|
|
|
|
|
|
The
|
|
values.
|
|
|
|
|
|
The format string to be used when parsing and formatting DateTime
|
|
values.
|
|
|
|
|
|
The native handle to be associated with the database connection.
|
|
|
|
|
|
The fully qualified file name associated with
|
|
|
|
|
|
Non-zero if the newly created object instance will need to dispose
|
|
of
|
|
|
|
|
|
|
|
|
|
This method attempts to dispose of all the
|
|
object instances currently associated with the native database connection.
|
|
|
|
|
|
|
|
|
|
Returns the number of times the
|
|
called.
|
|
|
|
|
|
|
|
|
|
This method determines whether or not a
|
|
with a return code of
|
|
be thrown after making a call into the SQLite core library.
|
|
|
|
|
|
Non-zero if a
|
|
will only return non-zero if the
|
|
one or more times during a call into the SQLite core library (e.g. when
|
|
the sqlite3_prepare*() or sqlite3_step() APIs are used).
|
|
|
|
|
|
|
|
|
|
Resets the value of the
|
|
|
|
|
|
|
|
|
|
Attempts to interrupt the query currently executing on the associated
|
|
native database connection.
|
|
|
|
|
|
|
|
|
|
This function binds a user-defined function to the connection.
|
|
|
|
|
|
The
|
|
the metadata for the function to be bound.
|
|
|
|
|
|
The
|
|
function to be bound.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
This function binds a user-defined function to the connection.
|
|
|
|
|
|
The
|
|
the metadata for the function to be unbound.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the underlying native connection handle is owned
|
|
by this instance.
|
|
|
|
|
|
|
|
|
|
Returns the logical list of functions associated with this connection.
|
|
|
|
|
|
|
|
|
|
Attempts to free as much heap memory as possible for the database connection.
|
|
|
|
|
|
|
|
|
|
|
|
Attempts to free N bytes of heap memory by deallocating non-essential memory
|
|
allocations held by the database library. Memory used to cache database pages
|
|
to improve performance is an example of non-essential memory. This is a no-op
|
|
returning zero if the SQLite core library was not compiled with the compile-time
|
|
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
|
|
compact the Win32 native heap, if applicable.
|
|
|
|
|
|
The requested number of bytes to free.
|
|
|
|
|
|
Non-zero to attempt a heap reset.
|
|
|
|
|
|
Non-zero to attempt heap compaction.
|
|
|
|
|
|
The number of bytes actually freed. This value may be zero.
|
|
|
|
|
|
This value will be non-zero if the heap reset was successful.
|
|
|
|
|
|
The size of the largest committed free block in the heap, in bytes.
|
|
This value will be zero unless heap compaction is enabled.
|
|
|
|
|
|
A standard SQLite return code (i.e. zero for success and non-zero
|
|
for failure).
|
|
|
|
|
|
|
|
|
|
Shutdown the SQLite engine so that it can be restarted with different
|
|
configuration options. We depend on auto initialization to recover.
|
|
|
|
|
|
|
|
|
|
|
|
Shutdown the SQLite engine so that it can be restarted with different
|
|
configuration options. We depend on auto initialization to recover.
|
|
|
|
|
|
Non-zero to reset the database and temporary directories to their
|
|
default values, which should be null for both. This parameter has no
|
|
effect on non-Windows operating systems.
|
|
|
|
|
|
|
|
|
|
|
|
Determines if the associated native connection handle is open.
|
|
|
|
|
|
Non-zero if the associated native connection handle is open.
|
|
|
|
|
|
|
|
|
|
Returns the fully qualified path and file name for the currently open
|
|
database, if any.
|
|
|
|
|
|
The name of the attached database to query.
|
|
|
|
|
|
The fully qualified path and file name for the currently open database,
|
|
if any.
|
|
|
|
|
|
|
|
|
|
This method attempts to determine if a database connection opened
|
|
with the specified
|
|
allowed into the connection pool.
|
|
|
|
|
|
The
|
|
connection was opened.
|
|
|
|
|
|
Non-zero if the connection should (eventually) be allowed into the
|
|
connection pool; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Has the sqlite3_errstr() core library API been checked for yet?
|
|
If so, is it present?
|
|
|
|
|
|
|
|
|
|
Returns the error message for the specified SQLite return code using
|
|
the sqlite3_errstr() function, falling back to the internal lookup
|
|
table if necessary.
|
|
|
|
WARNING: Do not remove this method, it is used via reflection.
|
|
|
|
The SQLite return code.
|
|
|
|
|
|
|
|
|
|
Has the sqlite3_stmt_readonly() core library API been checked for yet?
|
|
If so, is it present?
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the specified statement is read-only in nature.
|
|
|
|
The statement to check.
|
|
|
|
|
|
|
|
|
|
This field is used to keep track of whether or not the
|
|
"SQLite_ForceLogPrepare" environment variable has been queried. If so,
|
|
it will only be non-zero if the environment variable was present.
|
|
|
|
|
|
|
|
|
|
This field is used to keep track of whether or not the
|
|
"SQLite_ForceLogLifecycle" environment variable has been queried. If
|
|
so, it will only be non-zero if the environment variable was present.
|
|
|
|
|
|
|
|
|
|
Determines if all calls to prepare a SQL query will be logged,
|
|
regardless of the flags for the associated connection.
|
|
|
|
|
|
Non-zero to log all calls to prepare a SQL query.
|
|
|
|
|
|
|
|
|
|
Determines if calls into key members pertaining to the lifecycle of
|
|
connections and their associated classes will be logged, regardless
|
|
of the flags for the associated connection.
|
|
|
|
|
|
Non-zero to log calls into key members pertaining to the lifecycle of
|
|
connections and their associated classes (e.g. LINQ, EF6, etc).
|
|
|
|
|
|
|
|
|
|
Determines the file name of the native library containing the native
|
|
"vtshim" extension -AND- whether it should be dynamically loaded by
|
|
this class.
|
|
|
|
|
|
This output parameter will be set to non-zero if the returned native
|
|
library file name should be dynamically loaded prior to attempting
|
|
the creation of native disposable extension modules.
|
|
|
|
|
|
The file name of the native library containing the native "vtshim"
|
|
extension -OR- null if it cannot be determined.
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to create a disposable
|
|
module containing the implementation of a virtual table.
|
|
|
|
|
|
The module object to be used when creating the native disposable module.
|
|
|
|
|
|
The flags for the associated
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to cleanup the resources
|
|
associated with a module containing the implementation of a virtual table.
|
|
|
|
|
|
The module object previously passed to the
|
|
method.
|
|
|
|
|
|
The flags for the associated
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to declare a virtual table
|
|
in response to a call into the
|
|
or
|
|
|
|
|
|
The virtual table module that is to be responsible for the virtual table
|
|
being declared.
|
|
|
|
|
|
The string containing the SQL statement describing the virtual table to
|
|
be declared.
|
|
|
|
|
|
Upon success, the contents of this parameter are undefined. Upon failure,
|
|
it should contain an appropriate error message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to declare a virtual table
|
|
function in response to a call into the
|
|
or
|
|
|
|
|
|
The virtual table module that is to be responsible for the virtual table
|
|
function being declared.
|
|
|
|
|
|
The number of arguments to the function being declared.
|
|
|
|
|
|
The name of the function being declared.
|
|
|
|
|
|
Upon success, the contents of this parameter are undefined. Upon failure,
|
|
it should contain an appropriate error message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Builds an error message string fragment containing the
|
|
defined values of the
|
|
enumeration.
|
|
|
|
|
|
The built string fragment.
|
|
|
|
|
|
|
|
|
|
Builds an error message string fragment containing the
|
|
defined values of the
|
|
enumeration.
|
|
|
|
|
|
The built string fragment.
|
|
|
|
|
|
|
|
|
|
Builds an error message string fragment containing the
|
|
defined values of the
|
|
enumeration.
|
|
|
|
|
|
The built string fragment.
|
|
|
|
|
|
|
|
|
|
Returns the current and/or highwater values for the specified
|
|
database status parameter.
|
|
|
|
|
|
The database status parameter to query.
|
|
|
|
|
|
Non-zero to reset the highwater value to the current value.
|
|
|
|
|
|
If applicable, receives the current value.
|
|
|
|
|
|
If applicable, receives the highwater value.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Change a limit value for the database.
|
|
|
|
|
|
The database limit to change.
|
|
|
|
|
|
The new value for the specified limit.
|
|
|
|
|
|
The old value for the specified limit -OR- negative one if an error
|
|
occurs.
|
|
|
|
|
|
|
|
|
|
Change a configuration option value for the database.
|
|
|
|
|
|
The database configuration option to change.
|
|
|
|
|
|
The new value for the specified configuration option.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Enables or disables extension loading by SQLite.
|
|
|
|
|
|
True to enable loading of extensions, false to disable.
|
|
|
|
|
|
|
|
|
|
Loads a SQLite extension library from the named file.
|
|
|
|
|
|
The name of the dynamic link library file containing the extension.
|
|
|
|
|
|
The name of the exported function used to initialize the extension.
|
|
If null, the default "sqlite3_extension_init" will be used.
|
|
|
|
|
|
|
|
Enables or disables extended result codes returned by SQLite
|
|
|
|
|
|
Gets the last SQLite error code
|
|
|
|
|
|
Gets the last SQLite extended error code
|
|
|
|
|
|
Add a log message via the SQLite sqlite3_log interface.
|
|
|
|
|
|
Add a log message via the SQLite sqlite3_log interface.
|
|
|
|
|
|
|
|
Allows the setting of a logging callback invoked by SQLite when a
|
|
log event occurs. Only one callback may be set. If NULL is passed,
|
|
the logging callback is unregistered.
|
|
|
|
The callback function to invoke.
|
|
|
|
|
|
|
|
|
|
Appends an error message and an appropriate line-ending to a
|
|
instance. This is useful because the .NET Compact Framework has a slightly different set
|
|
of supported methods for the
|
|
|
|
|
|
The
|
|
|
|
|
|
The message to append. It will be followed by an appropriate line-ending.
|
|
|
|
|
|
|
|
|
|
This method attempts to cause the SQLite native library to invalidate
|
|
its function pointers that refer to this instance. This is necessary
|
|
to prevent calls from native code into delegates that may have been
|
|
garbage collected. Normally, these types of issues can only arise for
|
|
connections that are added to the pool; howver, it is good practice to
|
|
unconditionally invalidate function pointers that may refer to objects
|
|
being disposed.
|
|
|
|
|
|
Non-zero to also invalidate global function pointers (i.e. those that
|
|
are not directly associated with this connection on the native side).
|
|
|
|
|
|
Non-zero if this method is being executed within a context where it can
|
|
throw an exception in the event of failure; otherwise, zero.
|
|
|
|
|
|
Non-zero if this method was successful; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
This method attempts to free the cached database name used with the
|
|
|
|
|
|
|
|
Non-zero if this method is being executed within a context where it can
|
|
throw an exception in the event of failure; otherwise, zero.
|
|
|
|
|
|
Non-zero if this method was successful; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Creates a new SQLite backup object based on the provided destination
|
|
database connection. The source database connection is the one
|
|
associated with this object. The source and destination database
|
|
connections cannot be the same.
|
|
|
|
The destination database connection.
|
|
The destination database name.
|
|
The source database name.
|
|
|
|
|
|
|
|
|
|
Copies up to N pages from the source database to the destination
|
|
database associated with the specified backup object.
|
|
|
|
The backup object to use.
|
|
|
|
The number of pages to copy, negative to copy all remaining pages.
|
|
|
|
|
|
Set to true if the operation needs to be retried due to database
|
|
locking issues; otherwise, set to false.
|
|
|
|
|
|
True if there are more pages to be copied, false otherwise.
|
|
|
|
|
|
|
|
|
|
Returns the number of pages remaining to be copied from the source
|
|
database to the destination database associated with the specified
|
|
backup object.
|
|
|
|
The backup object to check.
|
|
|
|
|
|
|
|
|
|
Returns the total number of pages in the source database associated
|
|
with the specified backup object.
|
|
|
|
The backup object to check.
|
|
|
|
|
|
|
|
|
|
Destroys the backup object, rolling back any backup that may be in
|
|
progess.
|
|
|
|
The backup object to destroy.
|
|
|
|
|
|
|
|
Determines if the SQLite core library has been initialized for the
|
|
current process.
|
|
|
|
|
|
A boolean indicating whether or not the SQLite core library has been
|
|
initialized for the current process.
|
|
|
|
|
|
|
|
|
|
Determines if the SQLite core library has been initialized for the
|
|
current process.
|
|
|
|
|
|
A boolean indicating whether or not the SQLite core library has been
|
|
initialized for the current process.
|
|
|
|
|
|
|
|
|
|
Helper function to retrieve a column of data from an active statement.
|
|
|
|
The statement being step()'d through
|
|
The flags associated with the connection.
|
|
The column index to retrieve
|
|
The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information.
|
|
|
|
|
|
|
|
|
|
Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode)
|
|
|
|
|
|
|
|
|
|
Constructs the object used to interact with the SQLite core library
|
|
using the UTF-8 text encoding.
|
|
|
|
|
|
The DateTime format to be used when converting string values to a
|
|
DateTime and binding DateTime parameters.
|
|
|
|
|
|
The
|
|
values.
|
|
|
|
|
|
The format string to be used when parsing and formatting DateTime
|
|
values.
|
|
|
|
|
|
The native handle to be associated with the database connection.
|
|
|
|
|
|
The fully qualified file name associated with
|
|
|
|
|
|
Non-zero if the newly created object instance will need to dispose
|
|
of
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Represents a single SQL backup in SQLite.
|
|
|
|
|
|
|
|
|
|
The underlying SQLite object this backup is bound to.
|
|
|
|
|
|
|
|
|
|
The actual backup handle.
|
|
|
|
|
|
|
|
|
|
The destination database for the backup.
|
|
|
|
|
|
|
|
|
|
The destination database name for the backup.
|
|
|
|
|
|
|
|
|
|
The source database for the backup.
|
|
|
|
|
|
|
|
|
|
The source database name for the backup.
|
|
|
|
|
|
|
|
|
|
The last result from the StepBackup method of the SQLite3 class.
|
|
This is used to determine if the call to the FinishBackup method of
|
|
the SQLite3 class should throw an exception when it receives a non-Ok
|
|
return code from the core SQLite library.
|
|
|
|
|
|
|
|
|
|
Initializes the backup.
|
|
|
|
The base SQLite object.
|
|
The backup handle.
|
|
The destination database for the backup.
|
|
The destination database name for the backup.
|
|
The source database for the backup.
|
|
The source database name for the backup.
|
|
|
|
|
|
|
|
Disposes and finalizes the backup.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
The error code used for logging exceptions caught in user-provided
|
|
code.
|
|
|
|
|
|
|
|
|
|
Returns a string representing the active version of SQLite
|
|
|
|
|
|
|
|
|
|
Returns an integer representing the active version of SQLite
|
|
|
|
|
|
|
|
|
|
Returns non-zero if this connection to the database is read-only.
|
|
|
|
|
|
|
|
|
|
Returns the rowid of the most recent successful INSERT into the database from this connection.
|
|
|
|
|
|
|
|
|
|
Returns the number of changes the last executing insert/update caused.
|
|
|
|
|
|
|
|
|
|
Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection
|
|
value, it is global to the process.
|
|
|
|
|
|
|
|
|
|
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
|
|
This is not really a per-connection value, it is global to the process.
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the underlying native connection handle is owned by this instance.
|
|
|
|
|
|
|
|
|
|
Returns the logical list of functions associated with this connection.
|
|
|
|
|
|
|
|
|
|
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
|
|
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
|
|
global to the process.
|
|
|
|
Non-zero to enable memory usage tracking, zero otherwise.
|
|
|
|
|
|
|
|
|
|
Attempts to free as much heap memory as possible for the database connection.
|
|
|
|
|
|
|
|
|
|
|
|
Shutdown the SQLite engine so that it can be restarted with different config options.
|
|
We depend on auto initialization to recover.
|
|
|
|
|
|
|
|
|
|
Determines if the associated native connection handle is open.
|
|
|
|
|
|
Non-zero if a database connection is open.
|
|
|
|
|
|
|
|
|
|
Returns the fully qualified path and file name for the currently open
|
|
database, if any.
|
|
|
|
|
|
The name of the attached database to query.
|
|
|
|
|
|
The fully qualified path and file name for the currently open database,
|
|
if any.
|
|
|
|
|
|
|
|
|
|
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.
|
|
The name of the VFS to use -OR- null to use the default VFS.
|
|
The flags associated with the parent connection object
|
|
The open flags to use when creating the connection
|
|
The maximum size of the pool for the given filename
|
|
If true, the connection can be pulled from the connection pool
|
|
|
|
|
|
|
|
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.
|
|
|
|
Non-zero if connection is being disposed, zero otherwise.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Returns the text of the last error issued by SQLite
|
|
|
|
|
|
|
|
|
|
|
|
Returns the text of the last error issued by SQLite -OR- the specified default error text if
|
|
none is available from the SQLite core library.
|
|
|
|
|
|
The error text to return in the event that one is not available from the SQLite core library.
|
|
|
|
|
|
The error text.
|
|
|
|
|
|
|
|
|
|
When pooling is enabled, force this connection to be disposed rather than returned to the pool
|
|
|
|
|
|
|
|
|
|
When pooling is enabled, returns the number of pool entries matching the current file name.
|
|
|
|
|
|
|
|
|
|
|
|
Prepares a SQL statement for execution.
|
|
|
|
The source connection preparing the command. Can be null for any caller except LINQ
|
|
The SQL command text to prepare
|
|
The previous statement in a multi-statement command, or null if no previous statement exists
|
|
The timeout to wait before aborting the prepare
|
|
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.
|
|
|
|
|
|
|
|
|
|
Steps through a prepared statement.
|
|
|
|
The SQLiteStatement to step through
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the specified statement is read-only in nature.
|
|
|
|
The statement to check.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Attempts to interrupt the query currently executing on the associated
|
|
native database connection.
|
|
|
|
|
|
|
|
|
|
This function binds a user-defined function to the connection.
|
|
|
|
|
|
The
|
|
the metadata for the function to be bound.
|
|
|
|
|
|
The
|
|
function to be bound.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
This function unbinds a user-defined function from the connection.
|
|
|
|
|
|
The
|
|
the metadata for the function to be unbound.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to create a disposable
|
|
module containing the implementation of a virtual table.
|
|
|
|
|
|
The module object to be used when creating the native disposable module.
|
|
|
|
|
|
The flags for the associated
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to cleanup the resources
|
|
associated with a module containing the implementation of a virtual table.
|
|
|
|
|
|
The module object previously passed to the
|
|
method.
|
|
|
|
|
|
The flags for the associated
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to declare a virtual table
|
|
in response to a call into the
|
|
or
|
|
|
|
|
|
The virtual table module that is to be responsible for the virtual table
|
|
being declared.
|
|
|
|
|
|
The string containing the SQL statement describing the virtual table to
|
|
be declared.
|
|
|
|
|
|
Upon success, the contents of this parameter are undefined. Upon failure,
|
|
it should contain an appropriate error message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to declare a virtual table
|
|
function in response to a call into the
|
|
or
|
|
|
|
|
|
The virtual table module that is to be responsible for the virtual table
|
|
function being declared.
|
|
|
|
|
|
The number of arguments to the function being declared.
|
|
|
|
|
|
The name of the function being declared.
|
|
|
|
|
|
Upon success, the contents of this parameter are undefined. Upon failure,
|
|
it should contain an appropriate error message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Returns the current and/or highwater values for the specified database status parameter.
|
|
|
|
|
|
The database status parameter to query.
|
|
|
|
|
|
Non-zero to reset the highwater value to the current value.
|
|
|
|
|
|
If applicable, receives the current value.
|
|
|
|
|
|
If applicable, receives the highwater value.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Change a limit value for the database.
|
|
|
|
|
|
The database limit to change.
|
|
|
|
|
|
The new value for the specified limit.
|
|
|
|
|
|
The old value for the specified limit -OR- negative one if an error
|
|
occurs.
|
|
|
|
|
|
|
|
|
|
Change a configuration option value for the database.
|
|
|
|
|
|
The database configuration option to change.
|
|
|
|
|
|
The new value for the specified configuration option.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Enables or disables extension loading by SQLite.
|
|
|
|
|
|
True to enable loading of extensions, false to disable.
|
|
|
|
|
|
|
|
|
|
Loads a SQLite extension library from the named file.
|
|
|
|
|
|
The name of the dynamic link library file containing the extension.
|
|
|
|
|
|
The name of the exported function used to initialize the extension.
|
|
If null, the default "sqlite3_extension_init" will be used.
|
|
|
|
|
|
|
|
|
|
Enables or disables extened result codes returned by SQLite
|
|
|
|
true to enable extended result codes, false to disable.
|
|
|
|
|
|
|
|
|
|
Returns the numeric result code for the most recent failed SQLite API call
|
|
associated with the database connection.
|
|
|
|
|
|
|
|
|
|
|
|
Returns the extended numeric result code for the most recent failed SQLite API call
|
|
associated with the database connection.
|
|
|
|
|
|
|
|
|
|
|
|
Add a log message via the SQLite sqlite3_log interface.
|
|
|
|
Error code to be logged with the message.
|
|
String to be logged. Unlike the SQLite sqlite3_log()
|
|
interface, this should be pre-formatted. Consider using the
|
|
String.Format() function.
|
|
|
|
|
|
|
|
|
|
Checks if the SQLite core library has been initialized in the current process.
|
|
|
|
|
|
Non-zero if the SQLite core library has been initialized in the current process,
|
|
zero otherwise.
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the given database connection is in autocommit mode.
|
|
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
|
|
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
|
|
|
|
|
|
|
|
|
|
Creates a new SQLite backup object based on the provided destination
|
|
database connection. The source database connection is the one
|
|
associated with this object. The source and destination database
|
|
connections cannot be the same.
|
|
|
|
The destination database connection.
|
|
The destination database name.
|
|
The source database name.
|
|
|
|
|
|
|
|
|
|
Copies up to N pages from the source database to the destination
|
|
database associated with the specified backup object.
|
|
|
|
The backup object to use.
|
|
|
|
The number of pages to copy or negative to copy all remaining pages.
|
|
|
|
|
|
Set to true if the operation needs to be retried due to database
|
|
locking issues.
|
|
|
|
|
|
True if there are more pages to be copied, false otherwise.
|
|
|
|
|
|
|
|
|
|
Returns the number of pages remaining to be copied from the source
|
|
database to the destination database associated with the specified
|
|
backup object.
|
|
|
|
The backup object to check.
|
|
|
|
|
|
|
|
|
|
Returns the total number of pages in the source database associated
|
|
with the specified backup object.
|
|
|
|
The backup object to check.
|
|
|
|
|
|
|
|
|
|
Destroys the backup object, rolling back any backup that may be in
|
|
progess.
|
|
|
|
The backup object to destroy.
|
|
|
|
|
|
|
|
Returns the error message for the specified SQLite return code using
|
|
the internal static lookup table.
|
|
|
|
The SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Creates temporary tables on the connection so schema information can be queried.
|
|
|
|
|
|
The connection upon which to build the schema tables.
|
|
|
|
|
|
|
|
|
|
The extra behavioral flags that can be applied to a connection.
|
|
|
|
|
|
|
|
|
|
No extra flags.
|
|
|
|
|
|
|
|
|
|
Enable logging of all SQL statements to be prepared.
|
|
|
|
|
|
|
|
|
|
Enable logging of all bound parameter types and raw values.
|
|
|
|
|
|
|
|
|
|
Enable logging of all bound parameter strongly typed values.
|
|
|
|
|
|
|
|
|
|
Enable logging of all exceptions caught from user-provided
|
|
managed code called from native code via delegates.
|
|
|
|
|
|
|
|
|
|
Enable logging of backup API errors.
|
|
|
|
|
|
|
|
|
|
Skip adding the extension functions provided by the native
|
|
interop assembly.
|
|
|
|
|
|
|
|
|
|
When binding parameter values with the
|
|
type, use the interop method that accepts an
|
|
value.
|
|
|
|
|
|
|
|
|
|
When binding parameter values, always bind them as though they were
|
|
plain text (i.e. no numeric, date/time, or other conversions should
|
|
be attempted).
|
|
|
|
|
|
|
|
|
|
When returning column values, always return them as though they were
|
|
plain text (i.e. no numeric, date/time, or other conversions should
|
|
be attempted).
|
|
|
|
|
|
|
|
|
|
Prevent this
|
|
loading extensions.
|
|
|
|
|
|
|
|
|
|
Prevent this
|
|
creating virtual table modules.
|
|
|
|
|
|
|
|
|
|
Skip binding any functions provided by other managed assemblies when
|
|
opening the connection.
|
|
|
|
|
|
|
|
|
|
Skip setting the logging related properties of the
|
|
|
|
the
|
|
|
|
|
|
|
|
|
|
Enable logging of all virtual table module errors seen by the
|
|
|
|
|
|
|
|
|
|
|
|
Enable logging of certain virtual table module exceptions that cannot
|
|
be easily discovered via other means.
|
|
|
|
|
|
|
|
|
|
Enable tracing of potentially important [non-fatal] error conditions
|
|
that cannot be easily reported through other means.
|
|
|
|
|
|
|
|
|
|
When binding parameter values, always use the invariant culture when
|
|
converting their values from strings.
|
|
|
|
|
|
|
|
|
|
When binding parameter values, always use the invariant culture when
|
|
converting their values to strings.
|
|
|
|
|
|
|
|
|
|
Disable using the connection pool by default. If the "Pooling"
|
|
connection string property is specified, its value will override
|
|
this flag. The precise outcome of combining this flag with the
|
|
|
|
one of the flags will be in effect.
|
|
|
|
|
|
|
|
|
|
Enable using the connection pool by default. If the "Pooling"
|
|
connection string property is specified, its value will override
|
|
this flag. The precise outcome of combining this flag with the
|
|
|
|
one of the flags will be in effect.
|
|
|
|
|
|
|
|
|
|
Enable using per-connection mappings between type names and
|
|
|
|
|
|
|
|
|
|
per-connection mappings, when present, override the corresponding
|
|
global mappings.
|
|
|
|
|
|
|
|
|
|
Disable using global mappings between type names and
|
|
|
|
cases; however, if there are no per-connection type mappings, the
|
|
fallback defaults will be used for both type names and their
|
|
associated
|
|
is not recommended.
|
|
|
|
|
|
|
|
|
|
When the
|
|
should return non-zero if there were ever any rows in the associated
|
|
result sets.
|
|
|
|
|
|
|
|
|
|
Enable "strict" transaction enlistment semantics. Setting this flag
|
|
will cause an exception to be thrown if an attempt is made to enlist
|
|
in a transaction with an unavailable or unsupported isolation level.
|
|
In the future, more extensive checks may be enabled by this flag as
|
|
well.
|
|
|
|
|
|
|
|
|
|
Enable mapping of unsupported transaction isolation levels to the
|
|
closest supported transaction isolation level.
|
|
|
|
|
|
|
|
|
|
When returning column values, attempt to detect the affinity of
|
|
textual values by checking if they fully conform to those of the
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
|
|
When returning column values, attempt to detect the type of
|
|
string values by checking if they fully conform to those of
|
|
the
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
|
|
Skip querying runtime configuration settings for use by the
|
|
|
|
|
|
NOTE: If the
|
|
and/or
|
|
properties are not set explicitly nor set via their connection
|
|
string properties and repeated calls to determine these runtime
|
|
configuration settings are seen to be a problem, this flag
|
|
should be set.
|
|
|
|
|
|
|
|
|
|
When binding parameter values with the
|
|
type, take their
|
|
well as that of the associated
|
|
|
|
|
|
|
|
|
|
If an exception is caught when raising the
|
|
|
|
should be rolled back. If this is not specified, the transaction
|
|
will continue the commit process instead.
|
|
|
|
|
|
|
|
|
|
If an exception is caught when raising the
|
|
|
|
should be denied. If this is not specified, the action will be
|
|
allowed instead.
|
|
|
|
|
|
|
|
|
|
If an exception is caught when raising the
|
|
|
|
should be interrupted. If this is not specified, the operation
|
|
will simply continue.
|
|
|
|
|
|
|
|
|
|
Attempt to unbind all functions provided by other managed assemblies
|
|
when closing the connection.
|
|
|
|
|
|
|
|
|
|
When returning column values as a
|
|
verifying their affinity.
|
|
|
|
|
|
|
|
|
|
Enable using per-connection mappings between type names and
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Enable using per-connection mappings between type names and
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the database type name has not been explicitly set for the
|
|
parameter specified, fallback to using the parameter name.
|
|
|
|
|
|
|
|
|
|
If the database type name has not been explicitly set for the
|
|
parameter specified, fallback to using the database type name
|
|
associated with the
|
|
|
|
|
|
|
|
|
|
When returning column values, skip verifying their affinity.
|
|
|
|
|
|
|
|
|
|
Allow transactions to be nested. The outermost transaction still
|
|
controls whether or not any changes are ultimately committed or
|
|
rolled back. All non-outermost transactions are implemented using
|
|
the SAVEPOINT construct.
|
|
|
|
|
|
|
|
|
|
When binding parameter values, always bind
|
|
values as though they were plain text (i.e. not
|
|
which is the legacy behavior).
|
|
|
|
|
|
|
|
|
|
When returning column values, always return
|
|
values as though they were plain text (i.e. not
|
|
which is the legacy behavior).
|
|
|
|
|
|
|
|
|
|
When binding
|
|
the invariant culture when converting their values to strings.
|
|
|
|
|
|
|
|
|
|
When returning
|
|
the invariant culture when converting their values from strings.
|
|
|
|
|
|
|
|
|
|
EXPERIMENTAL --
|
|
Enable waiting for the enlistment to be reset prior to attempting
|
|
to create a new enlistment. This may be necessary due to the
|
|
semantics used by distributed transactions, which complete
|
|
asynchronously.
|
|
|
|
|
|
|
|
|
|
When returning
|
|
the invariant culture when converting their values from strings.
|
|
|
|
|
|
|
|
|
|
When returning
|
|
the invariant culture when converting their values from strings.
|
|
|
|
|
|
|
|
|
|
EXPERIMENTAL --
|
|
Enable strict conformance to the ADO.NET standard, e.g. use of
|
|
thrown exceptions to indicate common error conditions.
|
|
|
|
|
|
|
|
|
|
EXPERIMENTAL --
|
|
When opening a connection, attempt to hide the password from the
|
|
connection string, etc. Given the memory architecture of the CLR,
|
|
(and P/Invoke) this is not 100% reliable and should not be relied
|
|
upon for security critical uses or applications.
|
|
|
|
|
|
|
|
|
|
When binding parameter values or returning column values, always
|
|
treat them as though they were plain text (i.e. no numeric,
|
|
date/time, or other conversions should be attempted).
|
|
|
|
|
|
|
|
|
|
When binding parameter values, always use the invariant culture when
|
|
converting their values to strings or from strings.
|
|
|
|
|
|
|
|
|
|
When binding parameter values or returning column values, always
|
|
treat them as though they were plain text (i.e. no numeric,
|
|
date/time, or other conversions should be attempted) and always
|
|
use the invariant culture when converting their values to strings.
|
|
|
|
|
|
|
|
|
|
When binding parameter values or returning column values, always
|
|
treat them as though they were plain text (i.e. no numeric,
|
|
date/time, or other conversions should be attempted) and always
|
|
use the invariant culture when converting their values to strings
|
|
or from strings.
|
|
|
|
|
|
|
|
|
|
Enables use of all per-connection value handling callbacks.
|
|
|
|
|
|
|
|
|
|
Enables use of all applicable
|
|
properties as fallbacks for the database type name.
|
|
|
|
|
|
|
|
|
|
Enable all logging.
|
|
|
|
|
|
|
|
|
|
The default logging related flags for new connections.
|
|
|
|
|
|
|
|
|
|
The default extra flags for new connections.
|
|
|
|
|
|
|
|
|
|
The default extra flags for new connections with all logging enabled.
|
|
|
|
|
|
|
|
|
|
These are the supported status parameters for use with the native
|
|
SQLite library.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number of lookaside memory slots
|
|
currently checked out.
|
|
|
|
|
|
|
|
|
|
This parameter returns the approximate number of bytes of
|
|
heap memory used by all pager caches associated with the
|
|
database connection. The highwater mark associated with
|
|
SQLITE_DBSTATUS_CACHE_USED is always 0.
|
|
|
|
|
|
|
|
|
|
This parameter returns the approximate number of bytes of
|
|
heap memory used to store the schema for all databases
|
|
associated with the connection - main, temp, and any ATTACH-ed
|
|
databases. The full amount of memory used by the schemas is
|
|
reported, even if the schema memory is shared with other
|
|
database connections due to shared cache mode being enabled.
|
|
The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED
|
|
is always 0.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number malloc attempts that might
|
|
have been satisfied using lookaside memory but failed due to
|
|
all lookaside memory already being in use. Only the high-water
|
|
value is meaningful; the current value is always zero.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number malloc attempts that were
|
|
satisfied using lookaside memory. Only the high-water value
|
|
is meaningful; the current value is always zero.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number malloc attempts that might
|
|
have been satisfied using lookaside memory but failed due to
|
|
the amount of memory requested being larger than the lookaside
|
|
slot size. Only the high-water value is meaningful; the current
|
|
value is always zero.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number malloc attempts that might
|
|
have been satisfied using lookaside memory but failed due to
|
|
the amount of memory requested being larger than the lookaside
|
|
slot size. Only the high-water value is meaningful; the current
|
|
value is always zero.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number of pager cache hits that
|
|
have occurred. The highwater mark associated with
|
|
SQLITE_DBSTATUS_CACHE_HIT is always 0.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number of pager cache misses that
|
|
have occurred. The highwater mark associated with
|
|
SQLITE_DBSTATUS_CACHE_MISS is always 0.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number of dirty cache entries that
|
|
have been written to disk. Specifically, the number of pages
|
|
written to the wal file in wal mode databases, or the number
|
|
of pages written to the database file in rollback mode
|
|
databases. Any pages written as part of transaction rollback
|
|
or database recovery operations are not included. If an IO or
|
|
other error occurs while writing a page to disk, the effect
|
|
on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is
|
|
undefined. The highwater mark associated with
|
|
SQLITE_DBSTATUS_CACHE_WRITE is always 0.
|
|
|
|
|
|
|
|
|
|
This parameter returns zero for the current value if and only
|
|
if all foreign key constraints (deferred or immediate) have
|
|
been resolved. The highwater mark is always 0.
|
|
|
|
|
|
|
|
|
|
This parameter is similar to DBSTATUS_CACHE_USED, except that
|
|
if a pager cache is shared between two or more connections the
|
|
bytes of heap memory used by that pager cache is divided evenly
|
|
between the attached connections. In other words, if none of
|
|
the pager caches associated with the database connection are
|
|
shared, this request returns the same value as DBSTATUS_CACHE_USED.
|
|
Or, if one or more or the pager caches are shared, the value
|
|
returned by this call will be smaller than that returned by
|
|
DBSTATUS_CACHE_USED. The highwater mark associated with
|
|
SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.
|
|
|
|
|
|
|
|
|
|
This parameter returns the number of dirty cache entries that have
|
|
been written to disk in the middle of a transaction due to the page
|
|
cache overflowing. Transactions are more efficient if they are
|
|
written to disk all at once. When pages spill mid-transaction, that
|
|
introduces additional overhead. This parameter can be used help
|
|
identify inefficiencies that can be resolved by increasing the cache
|
|
size.
|
|
|
|
|
|
|
|
|
|
These are the supported configuration verbs for use with the native
|
|
SQLite library. They are used with the
|
|
|
|
|
|
|
|
|
|
|
|
This value represents an unknown (or invalid) option, do not use it.
|
|
|
|
|
|
|
|
|
|
This option is used to change the name of the "main" database
|
|
schema. The sole argument is a pointer to a constant UTF8 string
|
|
which will become the new schema name in place of "main".
|
|
|
|
|
|
|
|
|
|
This option is used to configure the lookaside memory allocator.
|
|
The value must be an array with three elements. The second element
|
|
must be an
|
|
slot. The third element must be an
|
|
the number of slots. The first element must be an
|
|
that points to a native memory buffer of bytes equal to or greater
|
|
than the product of the second and third element values.
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable the enforcement of
|
|
foreign key constraints.
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable triggers.
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable the two-argument version
|
|
of the fts3_tokenizer() function which is part of the FTS3 full-text
|
|
search engine extension.
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable the loading of extensions.
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable the automatic checkpointing
|
|
when a WAL database is closed.
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable the query planner stability
|
|
guarantee (QPSG).
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable the extra EXPLAIN QUERY PLAN
|
|
output for trigger programs.
|
|
|
|
|
|
|
|
|
|
This option is used as part of the process to reset a database back
|
|
to an empty state. Because resetting a database is destructive and
|
|
irreversible, the process requires the use of this obscure flag and
|
|
multiple steps to help ensure that it does not happen by accident.
|
|
|
|
|
|
|
|
|
|
This option activates or deactivates the "defensive" flag for a
|
|
database connection. When the defensive flag is enabled, language
|
|
features that allow ordinary SQL to deliberately corrupt the database
|
|
file are disabled. The disabled features include but are not limited
|
|
to the following:
|
|
]]>
|
|
]]>
|
|
The PRAGMA writable_schema=ON statement.
|
|
]]>
|
|
]]>
|
|
The PRAGMA journal_mode=OFF statement.
|
|
]]>
|
|
]]>
|
|
Writes to the sqlite_dbpage virtual table.
|
|
]]>
|
|
]]>
|
|
Direct writes to shadow tables.
|
|
]]>
|
|
]]>
|
|
|
|
|
|
|
|
|
|
This option activates or deactivates the "writable_schema" flag.
|
|
|
|
|
|
|
|
|
|
This option activates or deactivates the legacy behavior of the ALTER
|
|
TABLE RENAME command such it behaves as it did prior to version 3.24.0
|
|
(2018-06-04).
|
|
|
|
|
|
|
|
|
|
This option activates or deactivates the legacy double-quoted string
|
|
literal misfeature for DML statement only, that is DELETE, INSERT,
|
|
SELECT, and UPDATE statements.
|
|
|
|
|
|
|
|
|
|
This option activates or deactivates the legacy double-quoted string
|
|
literal misfeature for DDL statements, such as CREATE TABLE and CREATE
|
|
INDEX.
|
|
|
|
|
|
|
|
|
|
This option is used to enable or disable CREATE VIEW.
|
|
|
|
|
|
|
|
|
|
This option activates or deactivates the legacy file format flag.
|
|
|
|
|
|
|
|
|
|
This option tells SQLite to assume that database schemas (i.e. the
|
|
contents of the sqlite_master tables) are untainted by malicious
|
|
content. When the trusted schema option is disabled, SQLite takes
|
|
additional defensive steps to protect the application from harm
|
|
including:
|
|
]]>
|
|
]]>
|
|
Prohibit the use of SQL functions inside triggers, views, CHECK
|
|
constraints, DEFAULT clauses, expression indexes, partial indexes,
|
|
or generated columns unless those functions are tagged with
|
|
SQLITE_INNOCUOUS.
|
|
]]>
|
|
]]>
|
|
Prohibit the use of virtual tables inside of triggers or views
|
|
unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS.
|
|
]]>
|
|
This setting defaults to "on" for legacy compatibility, however
|
|
all applications are advised to turn it off if possible. This
|
|
setting can also be controlled using the PRAGMA trusted_schema
|
|
statement.
|
|
|
|
|
|
|
|
|
|
These constants are used with the sqlite3_trace_v2() API and the
|
|
callbacks registered by it.
|
|
|
|
|
|
|
|
|
|
These constants are used with the sqlite3_limit() API.
|
|
|
|
|
|
|
|
|
|
This value represents an unknown (or invalid) limit, do not use it.
|
|
|
|
|
|
|
|
|
|
The maximum size of any string or BLOB or table row, in bytes.
|
|
|
|
|
|
|
|
|
|
The maximum length of an SQL statement, in bytes.
|
|
|
|
|
|
|
|
|
|
The maximum number of columns in a table definition or in the
|
|
result set of a SELECT or the maximum number of columns in an
|
|
index or in an ORDER BY or GROUP BY clause.
|
|
|
|
|
|
|
|
|
|
The maximum depth of the parse tree on any expression.
|
|
|
|
|
|
|
|
|
|
The maximum number of terms in a compound SELECT statement.
|
|
|
|
|
|
|
|
|
|
The maximum number of instructions in a virtual machine program
|
|
used to implement an SQL statement. If sqlite3_prepare_v2() or
|
|
the equivalent tries to allocate space for more than this many
|
|
opcodes in a single prepared statement, an SQLITE_NOMEM error
|
|
is returned.
|
|
|
|
|
|
|
|
|
|
The maximum number of arguments on a function.
|
|
|
|
|
|
|
|
|
|
The maximum number of attached databases.
|
|
|
|
|
|
|
|
|
|
The maximum length of the pattern argument to the LIKE or GLOB
|
|
operators.
|
|
|
|
|
|
|
|
|
|
The maximum index number of any parameter in an SQL statement.
|
|
|
|
|
|
|
|
|
|
The maximum depth of recursion for triggers.
|
|
|
|
|
|
|
|
|
|
The maximum number of auxiliary worker threads that a single
|
|
prepared statement may start.
|
|
|
|
|
|
|
|
|
|
Represents a single SQL blob in SQLite.
|
|
|
|
|
|
|
|
|
|
The underlying SQLite object this blob is bound to.
|
|
|
|
|
|
|
|
|
|
The actual blob handle.
|
|
|
|
|
|
|
|
|
|
Initializes the blob.
|
|
|
|
The base SQLite object.
|
|
The blob handle.
|
|
|
|
|
|
|
|
Creates a
|
|
for tables that were created WITHOUT ROWID -OR- if the query
|
|
does not include the "rowid" column or one of its aliases -OR-
|
|
if the
|
|
|
|
|
|
|
|
The
|
|
containing the desired blob column.
|
|
|
|
|
|
The index of the blob column.
|
|
|
|
|
|
Non-zero to open the blob object for read-only access.
|
|
|
|
|
|
The newly created
|
|
if an error occurs.
|
|
|
|
|
|
|
|
|
|
Creates a
|
|
for tables that were created WITHOUT ROWID.
|
|
|
|
|
|
The connection to use when opening the blob object.
|
|
|
|
|
|
The name of the database containing the blob object.
|
|
|
|
|
|
The name of the table containing the blob object.
|
|
|
|
|
|
The name of the column containing the blob object.
|
|
|
|
|
|
The integer identifier for the row associated with the desired
|
|
blob object.
|
|
|
|
|
|
Non-zero to open the blob object for read-only access.
|
|
|
|
|
|
The newly created
|
|
if an error occurs.
|
|
|
|
|
|
|
|
|
|
Throws an exception if the blob object does not appear to be open.
|
|
|
|
|
|
|
|
|
|
Throws an exception if an invalid read/write parameter is detected.
|
|
|
|
|
|
When reading, this array will be populated with the bytes read from
|
|
the underlying database blob. When writing, this array contains new
|
|
values for the specified portion of the underlying database blob.
|
|
|
|
|
|
The number of bytes to read or write.
|
|
|
|
|
|
The byte offset, relative to the start of the underlying database
|
|
blob, where the read or write operation will begin.
|
|
|
|
|
|
|
|
|
|
Retargets this object to an underlying database blob for a
|
|
different row; the database, table, and column remain exactly
|
|
the same. If this operation fails for any reason, this blob
|
|
object is automatically disposed.
|
|
|
|
|
|
The integer identifier for the new row.
|
|
|
|
|
|
|
|
|
|
Queries the total number of bytes for the underlying database blob.
|
|
|
|
|
|
The total number of bytes for the underlying database blob.
|
|
|
|
|
|
|
|
|
|
Reads data from the underlying database blob.
|
|
|
|
|
|
This array will be populated with the bytes read from the
|
|
underlying database blob.
|
|
|
|
|
|
The number of bytes to read.
|
|
|
|
|
|
The byte offset, relative to the start of the underlying
|
|
database blob, where the read operation will begin.
|
|
|
|
|
|
|
|
|
|
Writes data into the underlying database blob.
|
|
|
|
|
|
This array contains the new values for the specified portion of
|
|
the underlying database blob.
|
|
|
|
|
|
The number of bytes to write.
|
|
|
|
|
|
The byte offset, relative to the start of the underlying
|
|
database blob, where the write operation will begin.
|
|
|
|
|
|
|
|
|
|
Closes the blob, freeing the associated resources.
|
|
|
|
|
|
|
|
|
|
Disposes and finalizes the blob.
|
|
|
|
|
|
|
|
|
|
The destructor.
|
|
|
|
|
|
|
|
|
|
SQLite implementation of DbCommand.
|
|
|
|
|
|
|
|
|
|
The default connection string to be used when creating a temporary
|
|
connection to execute a command via the static
|
|
|
|
|
|
methods.
|
|
|
|
|
|
|
|
|
|
The command text this command is based on
|
|
|
|
|
|
|
|
|
|
The connection the command is associated with
|
|
|
|
|
|
|
|
|
|
The version of 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
|
|
|
|
|
|
|
|
Disposes of the command and clears all member variables
|
|
|
|
Whether or not the class is being explicitly or implicitly disposed
|
|
|
|
|
|
|
|
This method attempts to query the flags associated with the database
|
|
connection in use. If the database connection is disposed, the default
|
|
flags will be returned.
|
|
|
|
|
|
The command containing the databse connection to query the flags from.
|
|
|
|
|
|
The connection flags value.
|
|
|
|
|
|
|
|
|
|
Clears and destroys all statements currently prepared
|
|
|
|
|
|
|
|
|
|
Builds an array of prepared statements for each complete SQL statement in the command text
|
|
|
|
|
|
|
|
|
|
Not implemented
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Forwards to the local CreateParameter() function
|
|
|
|
|
|
|
|
|
|
|
|
Create a new parameter
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Verifies that all SQL queries associated with the current command text
|
|
can be successfully compiled. A
|
|
raised if any errors occur.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
This method creates a new connection, executes the query using the given
|
|
execution type, closes the connection, and returns the results. If the
|
|
connection string is null, a temporary in-memory database connection will
|
|
be used.
|
|
|
|
|
|
The text of the command to be executed.
|
|
|
|
|
|
The execution type for the command. This is used to determine which method
|
|
of the command object to call, which then determines the type of results
|
|
returned, if any.
|
|
|
|
|
|
The connection string to the database to be opened, used, and closed. If
|
|
this parameter is null, a temporary in-memory databse will be used.
|
|
|
|
|
|
The SQL parameter values to be used when building the command object to be
|
|
executed, if any.
|
|
|
|
|
|
The results of the query -OR- null if no results were produced from the
|
|
given execution type.
|
|
|
|
|
|
|
|
|
|
This method creates a new connection, executes the query using the given
|
|
execution type and command behavior, closes the connection unless a data
|
|
reader is created, and returns the results. If the connection string is
|
|
null, a temporary in-memory database connection will be used.
|
|
|
|
|
|
The text of the command to be executed.
|
|
|
|
|
|
The execution type for the command. This is used to determine which method
|
|
of the command object to call, which then determines the type of results
|
|
returned, if any.
|
|
|
|
|
|
The command behavior flags for the command.
|
|
|
|
|
|
The connection string to the database to be opened, used, and closed. If
|
|
this parameter is null, a temporary in-memory databse will be used.
|
|
|
|
|
|
The SQL parameter values to be used when building the command object to be
|
|
executed, if any.
|
|
|
|
|
|
The results of the query -OR- null if no results were produced from the
|
|
given execution type.
|
|
|
|
|
|
|
|
|
|
This method executes a query using the given execution type and command
|
|
behavior and returns the results.
|
|
|
|
|
|
The text of the command to be executed.
|
|
|
|
|
|
The execution type for the command. This is used to determine which method
|
|
of the command object to call, which then determines the type of results
|
|
returned, if any.
|
|
|
|
|
|
The command behavior flags for the command.
|
|
|
|
|
|
The connection used to create and execute the command.
|
|
|
|
|
|
The SQL parameter values to be used when building the command object to be
|
|
executed, if any.
|
|
|
|
|
|
The results of the query -OR- null if no results were produced from the
|
|
given execution type.
|
|
|
|
|
|
|
|
|
|
Overrides the default behavior to return a SQLiteDataReader specialization class
|
|
|
|
The flags to be associated with the reader.
|
|
|
|
|
|
|
|
|
|
Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class
|
|
|
|
|
|
|
|
|
|
|
|
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 number of rows inserted/updated affected by it.
|
|
|
|
The flags to be associated with the reader.
|
|
|
|
|
|
|
|
|
|
Execute the command and return the first column of the first row of the resultset
|
|
(if present), or null if no resultset was returned.
|
|
|
|
|
|
|
|
|
|
|
|
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 flags to be associated with the reader.
|
|
|
|
|
|
|
|
|
|
This method resets all the prepared statements held by this instance
|
|
back to their initial states, ready to be re-executed.
|
|
|
|
|
|
|
|
|
|
This method resets all the prepared statements held by this instance
|
|
back to their initial states, ready to be re-executed.
|
|
|
|
|
|
Non-zero if the parameter bindings should be cleared as well.
|
|
|
|
|
|
If this is zero, a
|
|
any unsuccessful return codes from the native library; otherwise, a
|
|
|
|
or its state is invalid.
|
|
|
|
|
|
|
|
|
|
Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Clones a command, including all its parameters
|
|
|
|
|
|
|
|
|
|
|
|
SQLite implementation of DbCommandBuilder.
|
|
|
|
|
|
|
|
|
|
Default constructor
|
|
|
|
|
|
|
|
|
|
Initializes the command builder and associates it with the specified data adapter.
|
|
|
|
|
|
|
|
|
|
|
|
Cleans up resources (native and managed) associated with the current instance.
|
|
|
|
|
|
Zero when being disposed via garbage collection; otherwise, non-zero.
|
|
|
|
|
|
|
|
|
|
Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema
|
|
|
|
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
|
|
|
|
|
|
|
|
Returns a valid named parameter
|
|
|
|
The name of the parameter
|
|
|
|
|
|
|
|
|
|
Returns a named parameter for the given ordinal
|
|
|
|
The i of the parameter
|
|
|
|
|
|
|
|
|
|
Returns a placeholder character for the specified parameter i.
|
|
|
|
The index of the parameter to provide a placeholder for
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Gets/sets the DataAdapter for this CommandBuilder
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Places brackets around an identifier
|
|
|
|
The identifier to quote
|
|
|
|
|
|
|
|
|
|
Removes brackets around an identifier
|
|
|
|
The quoted (bracketed) identifier
|
|
|
|
|
|
|
|
|
|
Overridden to hide its property from the designer
|
|
|
|
|
|
|
|
|
|
Override helper, which can help the base command builder choose the right keys for the given query
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This class represents a single value to be returned
|
|
from the
|
|
its
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
associated public field of this class is null upon returning from the
|
|
callback, the null value will only be used if the return type for the
|
|
|
|
If the value to be returned from the
|
|
method is unsuitable (e.g. null with a value type), an exception will
|
|
be thrown.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
indicate an error.
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
|
|
|
|
|
|
|
|
The value to be returned from the
|
|
|
|
|
|
|
|
|
|
|
|
This class represents the parameters that are provided
|
|
to the
|
|
the exception of the column index (provided separately).
|
|
|
|
|
|
|
|
|
|
This class represents the parameters that are provided to
|
|
the
|
|
the exception of the column index (provided separately).
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class to pass into a user-defined
|
|
callback associated with the
|
|
method.
|
|
|
|
|
|
The value that was originally specified for the "readOnly"
|
|
parameter to the
|
|
|
|
|
|
|
|
|
|
The value that was originally specified for the "readOnly"
|
|
parameter to the
|
|
|
|
|
|
|
|
|
|
This class represents the parameters that are provided
|
|
to the
|
|
|
|
the exception of the column index (provided separately).
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class to pass into a user-defined
|
|
callback associated with the
|
|
method.
|
|
|
|
|
|
The value that was originally specified for the "dataOffset"
|
|
parameter to the
|
|
|
|
|
|
|
|
The value that was originally specified for the "buffer"
|
|
parameter to the
|
|
method.
|
|
|
|
|
|
The value that was originally specified for the "bufferOffset"
|
|
parameter to the
|
|
|
|
|
|
|
|
The value that was originally specified for the "length"
|
|
parameter to the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class to pass into a user-defined
|
|
callback associated with the
|
|
method.
|
|
|
|
|
|
The value that was originally specified for the "dataOffset"
|
|
parameter to the
|
|
|
|
|
|
|
|
The value that was originally specified for the "buffer"
|
|
parameter to the
|
|
method.
|
|
|
|
|
|
The value that was originally specified for the "bufferOffset"
|
|
parameter to the
|
|
|
|
|
|
|
|
The value that was originally specified for the "length"
|
|
parameter to the
|
|
|
|
|
|
|
|
|
|
|
|
The value that was originally specified for the "dataOffset"
|
|
parameter to the
|
|
|
|
|
|
|
|
|
|
|
|
The value that was originally specified for the "buffer"
|
|
parameter to the
|
|
method.
|
|
|
|
|
|
|
|
|
|
The value that was originally specified for the "buffer"
|
|
parameter to the
|
|
method.
|
|
|
|
|
|
|
|
|
|
The value that was originally specified for the "bufferOffset"
|
|
parameter to the
|
|
|
|
|
|
|
|
|
|
|
|
The value that was originally specified for the "length"
|
|
parameter to the
|
|
|
|
|
|
|
|
|
|
|
|
This class represents the parameters and return values for the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of this class. Depending on the method
|
|
being called, the
|
|
|
|
|
|
|
|
The name of the
|
|
responsible for invoking this callback.
|
|
|
|
|
|
If the
|
|
|
|
this object will contain the array related parameters for that
|
|
method. If the
|
|
being called, this object will contain the blob related parameters
|
|
for that method.
|
|
|
|
|
|
This may be used by the callback to set the return value for the
|
|
called
|
|
|
|
|
|
|
|
|
|
The name of the
|
|
responsible for invoking this callback.
|
|
|
|
|
|
|
|
|
|
If the
|
|
|
|
this object will contain the array related parameters for that
|
|
method. If the
|
|
being called, this object will contain the blob related parameters
|
|
for that method.
|
|
|
|
|
|
|
|
|
|
This may be used by the callback to set the return value for the
|
|
called
|
|
|
|
|
|
|
|
|
|
This represents a method that will be called in response to a request to
|
|
bind a parameter to a command. If an exception is thrown, it will cause
|
|
the parameter binding operation to fail -AND- it will continue to unwind
|
|
the call stack.
|
|
|
|
|
|
The
|
|
|
|
|
|
The
|
|
|
|
|
|
The flags associated with the
|
|
in use.
|
|
|
|
|
|
The
|
|
|
|
|
|
The database type name associated with this callback.
|
|
|
|
|
|
The ordinal of the parameter being bound to the command.
|
|
|
|
|
|
The data originally used when registering this callback.
|
|
|
|
|
|
Non-zero if the default handling for the parameter binding call should
|
|
be skipped (i.e. the parameter should not be bound at all). Great care
|
|
should be used when setting this to non-zero.
|
|
|
|
|
|
|
|
|
|
This represents a method that will be called in response to a request
|
|
to read a value from a data reader. If an exception is thrown, it will
|
|
cause the data reader operation to fail -AND- it will continue to unwind
|
|
the call stack.
|
|
|
|
|
|
The
|
|
|
|
|
|
The
|
|
|
|
|
|
The flags associated with the
|
|
in use.
|
|
|
|
|
|
The parameter and return type data for the column being read from the
|
|
data reader.
|
|
|
|
|
|
The database type name associated with this callback.
|
|
|
|
|
|
The zero based index of the column being read from the data reader.
|
|
|
|
|
|
The data originally used when registering this callback.
|
|
|
|
|
|
Non-zero if the default handling for the data reader call should be
|
|
skipped. If this is set to non-zero and the necessary return value
|
|
is unavailable or unsuitable, an exception will be thrown.
|
|
|
|
|
|
|
|
|
|
This class represents the custom data type handling callbacks
|
|
for a single type name.
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Provides the underlying storage for the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The custom paramater binding callback. This parameter may be null.
|
|
|
|
|
|
The custom data reader value callback. This parameter may be null.
|
|
|
|
|
|
The extra data to pass into the parameter binding callback. This
|
|
parameter may be null.
|
|
|
|
|
|
The extra data to pass into the data reader value callback. This
|
|
parameter may be null.
|
|
|
|
|
|
|
|
|
|
Creates an instance of the
|
|
|
|
|
|
The custom paramater binding callback. This parameter may be null.
|
|
|
|
|
|
The custom data reader value callback. This parameter may be null.
|
|
|
|
|
|
The extra data to pass into the parameter binding callback. This
|
|
parameter may be null.
|
|
|
|
|
|
The extra data to pass into the data reader value callback. This
|
|
parameter may be null.
|
|
|
|
|
|
|
|
|
|
The database type name that the callbacks contained in this class
|
|
will apply to. This value may not be null.
|
|
|
|
|
|
|
|
|
|
The custom paramater binding callback. This value may be null.
|
|
|
|
|
|
|
|
|
|
The custom data reader value callback. This value may be null.
|
|
|
|
|
|
|
|
|
|
The extra data to pass into the parameter binding callback. This
|
|
value may be null.
|
|
|
|
|
|
|
|
|
|
The extra data to pass into the data reader value callback. This
|
|
value may be null.
|
|
|
|
|
|
|
|
|
|
This class represents the mappings between database type names
|
|
and their associated custom data type handling callbacks.
|
|
|
|
|
|
|
|
|
|
Constructs an (empty) instance of this class.
|
|
|
|
|
|
|
|
|
|
Event data for connection event handlers.
|
|
|
|
|
|
|
|
|
|
The type of event being raised.
|
|
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
The transaction associated with this event, if any.
|
|
|
|
|
|
|
|
|
|
The command associated with this event, if any.
|
|
|
|
|
|
|
|
|
|
The data reader associated with this event, if any.
|
|
|
|
|
|
|
|
|
|
The critical handle associated with this event, if any.
|
|
|
|
|
|
|
|
|
|
Command or message text associated with this event, if any.
|
|
|
|
|
|
|
|
|
|
Extra data associated with this event, if any.
|
|
|
|
|
|
|
|
|
|
Constructs the object.
|
|
|
|
The type of event being raised.
|
|
The base
|
|
with this event, if any.
|
|
The transaction associated with this event, if any.
|
|
The command associated with this event, if any.
|
|
The data reader associated with this event, if any.
|
|
The critical handle associated with this event, if any.
|
|
The command or message text, if any.
|
|
The extra data, if any.
|
|
|
|
|
|
|
|
Raised when an event pertaining to a connection occurs.
|
|
|
|
The connection involved.
|
|
Extra information about the event.
|
|
|
|
|
|
|
|
SQLite implentation of DbConnection.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7).
|
|
Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a
|
|
UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db"
|
|
would become "\\\\Network\Share\test.db").
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading
|
|
"file://" or "file:" prefix will be stripped off and the resulting file name will be used to open
|
|
the database.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If specified, this must be a URI in a format recognized by the SQLite core library (starting with
|
|
SQLite 3.7.7). It will be passed verbatim to the SQLite core library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - The UTF-16 encoding should be used.
|
|
|
|
False - The UTF-8 encoding should be used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the default
|
|
column metadata and the configured type mappings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the default type name to use when one cannot be determined based on the column metadata
|
|
and the configured type mappings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Do not combine the specified (or existing) connection flags with the value of the
|
|
|
|
|
|
False - Combine the specified (or existing) connection flags with the value of the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Do not combine the specified (or existing) connection flags with the value of the
|
|
|
|
|
|
False - Combine the specified (or existing) connection flags with the value of the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The name of the VFS to use when opening the database connection.
|
|
If this is not specified, the default VFS will be used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If non-null, this is the "version" of ZipVFS to use. This requires
|
|
the System.Data.SQLite interop assembly -AND- primary managed assembly
|
|
to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
|
|
property does nothing. The valid values are "v2" and "v3". Using
|
|
anyother value will cause an exception to be thrown. Please see the
|
|
ZipVFS documentation for more information on how to use this parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ticks - Use the value of DateTime.Ticks.
|
|
ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC
|
|
DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
|
|
JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
|
|
UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
|
|
InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
|
|
CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Unspecified - Not specified as either UTC or local time.
|
|
|
|
Utc - The time represented is UTC.
|
|
|
|
Local - The time represented is local time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The exact DateTime format string to use for all formatting and parsing of all DateTime
|
|
values for this connection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Some base data classes in the framework (e.g. those that build SQL queries dynamically)
|
|
assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting
|
|
alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used
|
|
as a placeholder and removed prior to preparing any SQL statements that may contain it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Store GUID columns in binary form
|
|
|
|
False - Store GUID columns as text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the argument N is positive then the suggested cache size is set to N.
|
|
If the argument N is negative, then the number of cache pages is adjusted
|
|
to use approximately abs(N*4096) bytes of memory. Backwards compatibility
|
|
note: The behavior of cache_size with a negative N was different in SQLite
|
|
versions prior to 3.7.10. In version 3.7.9 and earlier, the number of
|
|
pages in the cache was set to the absolute value of N.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Normal - Normal file flushing behavior
|
|
|
|
Full - Full flushing after all writes
|
|
|
|
Off - Underlying OS flushes I/O's
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{password} - Using this parameter requires that the legacy CryptoAPI based
|
|
codec (or the SQLite Encryption Extension) be enabled at compile-time for
|
|
both the native interop assembly and the core managed assemblies; otherwise,
|
|
using this parameter may result in an exception being thrown when attempting
|
|
to open the connection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{hexPassword} - Must contain a sequence of zero or more hexadecimal encoded
|
|
byte values without a leading "0x" prefix. Using this parameter requires
|
|
that the legacy CryptoAPI based codec (or the SQLite Encryption Extension)
|
|
be enabled at compile-time for both the native interop assembly and the
|
|
core managed assemblies; otherwise, using this parameter may result in an
|
|
exception being thrown when attempting to open the connection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y - Automatically enlist in distributed transactions
|
|
|
|
N - No automatic enlistment
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Use connection pooling.
|
|
False - Do not use connection pooling.
|
|
WARNING: When using the default connection pool implementation,
|
|
setting this property to True should be avoided by applications that make
|
|
use of COM (either directly or indirectly) due to possible deadlocks that
|
|
can occur during the finalization of some COM objects.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Don't create the database if it does not exist, throw an error instead
|
|
|
|
False - Automatically create the database if it does not exist
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Use the more compatible legacy 3.x database format
|
|
|
|
False - Use the newer 3.3x database format which compresses numbers more effectively
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EXPERIMENTAL -- The wait timeout to use with
|
|
|
|
waiting for the enlistment to be reset prior to enlisting in a transaction,
|
|
and then only when the appropriate connection flag is set.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Delete - Delete the journal file after a commit.
|
|
|
|
Persist - Zero out and leave the journal file on disk after a
|
|
commit.
|
|
|
|
Off - Disable the rollback journal entirely. This saves disk I/O
|
|
but at the expense of database safety and integrity. If the application
|
|
using SQLite crashes in the middle of a transaction when this journaling
|
|
mode is set, then the database file will very likely go corrupt.
|
|
|
|
Truncate - Truncate the journal file to zero-length instead of
|
|
deleting it.
|
|
|
|
Memory - Store the journal in volatile RAM. This saves disk I/O
|
|
but at the expense of database safety and integrity. If the application
|
|
using SQLite crashes in the middle of a transaction when this journaling
|
|
mode is set, then the database file will very likely go corrupt.
|
|
|
|
Wal - Use a write-ahead log instead of a rollback journal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Open the database for read only access
|
|
|
|
False - Open the database for normal read/write access
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Apply the default connection settings to the opened database.
|
|
False - Skip applying the default connection settings to the opened database.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Attempt to expand the data source file name to a fully qualified path before opening.
|
|
|
|
False - Skip attempting to expand the data source file name to a fully qualified path before opening.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The maximum number of retries when preparing SQL to be executed. This
|
|
normally only applies to preparation errors resulting from the database
|
|
schema being changed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The approximate number of virtual machine instructions between progress
|
|
events. In order for progress events to actually fire, the event handler
|
|
must be added to the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
True - Enable the recursive trigger capability.
|
|
False - Disable the recursive trigger capability.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The "invalid value" for the
|
|
by the
|
|
by this class and the SQLiteConnectionStringBuilder class.
|
|
|
|
|
|
|
|
|
|
The default "stub" (i.e. placeholder) base schema name to use when
|
|
returning column schema information. Used as the initial value of
|
|
the BaseSchemaName property. This should start with "sqlite_*"
|
|
because those names are reserved for use by SQLite (i.e. they cannot
|
|
be confused with the names of user objects).
|
|
|
|
|
|
|
|
|
|
The managed assembly containing this type.
|
|
|
|
|
|
|
|
|
|
Object used to synchronize access to the static instance data
|
|
for this class.
|
|
|
|
|
|
|
|
|
|
Static variable to store the connection event handlers to call.
|
|
|
|
|
|
|
|
|
|
The extra connection flags to be used for all opened connections.
|
|
|
|
|
|
|
|
|
|
The
|
|
had the most recent call to
|
|
|
|
|
|
|
|
|
|
State of the current connection
|
|
|
|
|
|
|
|
|
|
The connection string
|
|
|
|
|
|
|
|
|
|
Nesting level of the transactions open on the connection
|
|
|
|
|
|
|
|
|
|
Transaction counter for the connection. Currently, this is only used
|
|
to build SAVEPOINT names.
|
|
|
|
|
|
|
|
|
|
If this flag is non-zero, the
|
|
no effect; however, the
|
|
behave as normal.
|
|
|
|
|
|
|
|
|
|
If set, then the connection is currently being disposed.
|
|
|
|
|
|
|
|
|
|
The default isolation level for new transactions
|
|
|
|
|
|
|
|
|
|
This object is used with lock statements to synchronize access to the
|
|
|
|
|
|
|
|
|
|
|
|
Whether or not the connection is enlisted in a distrubuted transaction
|
|
|
|
|
|
|
|
|
|
The per-connection mappings between type names and
|
|
values. These mappings override the corresponding global mappings.
|
|
|
|
|
|
|
|
|
|
The per-connection mappings between type names and optional callbacks
|
|
for parameter binding and value reading.
|
|
|
|
|
|
|
|
|
|
The base SQLite object to interop with
|
|
|
|
|
|
|
|
|
|
The database filename minus path and extension
|
|
|
|
|
|
|
|
|
|
The "stub" (i.e. placeholder) base schema name to use when returning
|
|
column schema information.
|
|
|
|
|
|
|
|
|
|
The extra behavioral flags for this connection, if any. See the
|
|
|
|
possible values.
|
|
|
|
|
|
|
|
|
|
The cached values for all settings that have been fetched on behalf
|
|
of this connection. This cache may be cleared by calling the
|
|
|
|
|
|
|
|
|
|
|
|
The default databse type for this connection. This value will only
|
|
be used if the
|
|
flag is set.
|
|
|
|
|
|
|
|
|
|
The default databse type name for this connection. This value will only
|
|
be used if the
|
|
flag is set.
|
|
|
|
|
|
|
|
|
|
The name of the VFS to be used when opening the database connection.
|
|
|
|
|
|
|
|
|
|
Default command timeout
|
|
|
|
|
|
|
|
|
|
The default busy timeout to use with the SQLite core library. This is
|
|
only used when opening a connection.
|
|
|
|
|
|
|
|
|
|
The default wait timeout to use with
|
|
method. This is only used when waiting for the enlistment to be reset
|
|
prior to enlisting in a transaction, and then only when the appropriate
|
|
connection flag is set.
|
|
|
|
|
|
|
|
|
|
The maximum number of retries when preparing SQL to be executed. This
|
|
normally only applies to preparation errors resulting from the database
|
|
schema being changed.
|
|
|
|
|
|
|
|
|
|
The approximate number of virtual machine instructions between progress
|
|
events. In order for progress events to actually fire, the event handler
|
|
must be added to the
|
|
well. This value will only be used when opening the database.
|
|
|
|
|
|
|
|
|
|
Non-zero if the built-in (i.e. framework provided) connection string
|
|
parser should be used when opening the connection.
|
|
|
|
|
|
|
|
|
|
This event is raised whenever the database is opened or closed.
|
|
|
|
|
|
|
|
|
|
Constructs a new SQLiteConnection object
|
|
|
|
|
|
Default constructor
|
|
|
|
|
|
|
|
|
|
Initializes the connection with the specified connection string.
|
|
|
|
The connection string to use.
|
|
|
|
|
|
|
|
Initializes the connection with a pre-existing native connection handle.
|
|
This constructor overload is intended to be used only by the private
|
|
|
|
|
|
|
|
The native connection handle to use.
|
|
|
|
|
|
The file name corresponding to the native connection handle.
|
|
|
|
|
|
Non-zero if this instance owns the native connection handle and
|
|
should dispose of it when it is no longer needed.
|
|
|
|
|
|
|
|
|
|
Initializes the connection with the specified connection string.
|
|
|
|
|
|
The connection string to use.
|
|
|
|
|
|
Non-zero to parse the connection string using the built-in (i.e.
|
|
framework provided) parser when opening the connection.
|
|
|
|
|
|
|
|
|
|
Clones the settings and connection string from an existing connection. If the existing connection is already open, this
|
|
function will open its own connection, enumerate any attached databases of the original connection, and automatically
|
|
attach to them.
|
|
|
|
The connection to copy the settings from.
|
|
|
|
|
|
|
|
Attempts to lookup the native handle associated with the connection. An exception will
|
|
be thrown if this cannot be accomplished.
|
|
|
|
|
|
The connection associated with the desired native handle.
|
|
|
|
|
|
The native handle associated with the connection or
|
|
cannot be determined.
|
|
|
|
|
|
|
|
|
|
Raises the
|
|
|
|
|
|
The connection associated with this event. If this parameter is not
|
|
null and the specified connection cannot raise events, then the
|
|
registered event handlers will not be invoked.
|
|
|
|
|
|
A
|
|
|
|
|
|
|
|
|
|
This event is raised when events related to the lifecycle of a
|
|
SQLiteConnection object occur.
|
|
|
|
|
|
|
|
|
|
This property is used to obtain or set the custom connection pool
|
|
implementation to use, if any. Setting this property to null will
|
|
cause the default connection pool implementation to be used.
|
|
|
|
|
|
|
|
|
|
Creates and returns a new managed database connection handle. This
|
|
method is intended to be used by implementations of the
|
|
|
|
could be used by other classes; however, that usage is not supported.
|
|
|
|
|
|
This must be a native database connection handle returned by the
|
|
SQLite core library and it must remain valid and open during the
|
|
entire duration of the calling method.
|
|
|
|
|
|
The new managed database connection handle or null if it cannot be
|
|
created.
|
|
|
|
|
|
|
|
|
|
Backs up the database, using the specified database connection as the
|
|
destination.
|
|
|
|
The destination database connection.
|
|
The destination database name.
|
|
The source database name.
|
|
|
|
The number of pages to copy at a time -OR- a negative value to copy all
|
|
pages. When a negative value is used, the
|
|
may never be invoked.
|
|
|
|
|
|
The method to invoke between each step of the backup process. This
|
|
parameter may be null (i.e. no callbacks will be performed). If the
|
|
callback returns false -OR- throws an exception, the backup is canceled.
|
|
|
|
|
|
The number of milliseconds to sleep after encountering a locking error
|
|
during the backup process. A value less than zero means that no sleep
|
|
should be performed.
|
|
|
|
|
|
|
|
|
|
Clears the per-connection cached settings.
|
|
|
|
|
|
The total number of per-connection settings cleared.
|
|
|
|
|
|
|
|
|
|
Queries and returns the value of the specified setting, using the
|
|
cached setting names and values for this connection, when available.
|
|
|
|
|
|
The name of the setting.
|
|
|
|
|
|
The value to be returned if the setting has not been set explicitly
|
|
or cannot be determined.
|
|
|
|
|
|
The value of the cached setting is stored here if found; otherwise,
|
|
the value of
|
|
|
|
|
|
Non-zero if the cached setting was found; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Adds or sets the cached setting specified by
|
|
to the value specified by
|
|
|
|
|
|
The name of the cached setting to add or replace.
|
|
|
|
|
|
The new value of the cached setting.
|
|
|
|
|
|
|
|
|
|
Clears the per-connection type mappings.
|
|
|
|
|
|
The total number of per-connection type mappings cleared.
|
|
|
|
|
|
|
|
|
|
Returns the per-connection type mappings.
|
|
|
|
|
|
The per-connection type mappings -OR- null if they are unavailable.
|
|
|
|
|
|
|
|
|
|
Adds a per-connection type mapping, possibly replacing one or more
|
|
that already exist.
|
|
|
|
|
|
The case-insensitive database type name (e.g. "MYDATE"). The value
|
|
of this parameter cannot be null. Using an empty string value (or
|
|
a string value consisting entirely of whitespace) for this parameter
|
|
is not recommended.
|
|
|
|
|
|
The
|
|
specified type name.
|
|
|
|
|
|
Non-zero if this mapping should be considered to be the primary one
|
|
for the specified
|
|
|
|
|
|
A negative value if nothing was done. Zero if no per-connection type
|
|
mappings were replaced (i.e. it was a pure add operation). More than
|
|
zero if some per-connection type mappings were replaced.
|
|
|
|
|
|
|
|
|
|
Clears the per-connection type callbacks.
|
|
|
|
|
|
The total number of per-connection type callbacks cleared.
|
|
|
|
|
|
|
|
|
|
Attempts to get the per-connection type callbacks for the specified
|
|
database type name.
|
|
|
|
|
|
The database type name.
|
|
|
|
|
|
Upon success, this parameter will contain the object holding the
|
|
callbacks for the database type name. Upon failure, this parameter
|
|
will be null.
|
|
|
|
|
|
Non-zero upon success; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Sets, resets, or clears the per-connection type callbacks for the
|
|
specified database type name.
|
|
|
|
|
|
The database type name.
|
|
|
|
|
|
The object holding the callbacks for the database type name. If
|
|
this parameter is null, any callbacks for the database type name
|
|
will be removed if they are present.
|
|
|
|
|
|
Non-zero if callbacks were set or removed; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Attempts to bind the specified
|
|
instance to this connection.
|
|
|
|
|
|
The
|
|
the metadata for the function to be bound.
|
|
|
|
|
|
The
|
|
function to be bound.
|
|
|
|
|
|
|
|
|
|
Attempts to bind the specified
|
|
instance to this connection.
|
|
|
|
|
|
The
|
|
the metadata for the function to be bound.
|
|
|
|
|
|
A
|
|
function to be bound. For scalar functions, this corresponds to the
|
|
|
|
this corresponds to the
|
|
collation functions, this corresponds to the
|
|
|
|
|
|
|
|
A
|
|
function to be bound. For aggregate functions, this corresponds to the
|
|
|
|
is not used and must be null.
|
|
|
|
|
|
|
|
|
|
Attempts to unbind the specified
|
|
instance to this connection.
|
|
|
|
|
|
The
|
|
the metadata for the function to be unbound.
|
|
|
|
|
|
|
|
|
|
|
|
This method unbinds all registered (known) functions -OR- all previously
|
|
bound user-defined functions from this connection.
|
|
|
|
|
|
Non-zero to unbind all registered (known) functions -OR- zero to unbind
|
|
all functions currently bound to the connection.
|
|
|
|
|
|
Non-zero if all the specified user-defined functions were unbound.
|
|
|
|
|
|
|
|
|
|
Parses a connection string into component parts using the custom
|
|
connection string parser. An exception may be thrown if the syntax
|
|
of the connection string is incorrect.
|
|
|
|
|
|
The connection string to parse.
|
|
|
|
|
|
Non-zero to parse the connection string using the algorithm provided
|
|
by the framework itself. This is not applicable when running on the
|
|
.NET Compact Framework.
|
|
|
|
|
|
Non-zero if names are allowed without values.
|
|
|
|
|
|
The list of key/value pairs corresponding to the parameters specified
|
|
within the connection string.
|
|
|
|
|
|
|
|
|
|
Parses a connection string into component parts using the custom
|
|
connection string parser. An exception may be thrown if the syntax
|
|
of the connection string is incorrect.
|
|
|
|
|
|
The connection that will be using the parsed connection string.
|
|
|
|
|
|
The connection string to parse.
|
|
|
|
|
|
Non-zero to parse the connection string using the algorithm provided
|
|
by the framework itself. This is not applicable when running on the
|
|
.NET Compact Framework.
|
|
|
|
|
|
Non-zero if names are allowed without values.
|
|
|
|
|
|
The list of key/value pairs corresponding to the parameters specified
|
|
within the connection string.
|
|
|
|
|
|
|
|
|
|
Disposes and finalizes the connection, if applicable.
|
|
|
|
|
|
|
|
|
|
Cleans up resources (native and managed) associated with the current instance.
|
|
|
|
|
|
Zero when being disposed via garbage collection; otherwise, non-zero.
|
|
|
|
|
|
|
|
|
|
Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection
|
|
will also be opened.
|
|
|
|
|
|
|
|
|
|
|
|
Creates a database file. This just creates a zero-byte file which SQLite
|
|
will turn into a database when the file is opened properly.
|
|
|
|
The file to create
|
|
|
|
|
|
|
|
Raises the state change event when the state of the connection changes
|
|
|
|
The new connection state. If this is different
|
|
from the previous state, the
|
|
raised.
|
|
The event data created for the raised event, if
|
|
it was actually raised.
|
|
|
|
|
|
|
|
Determines and returns the fallback default isolation level when one cannot be
|
|
obtained from an existing connection instance.
|
|
|
|
|
|
The fallback default isolation level for this connection instance -OR-
|
|
|
|
|
|
|
|
|
|
|
|
Determines and returns the default isolation level for this connection instance.
|
|
|
|
|
|
The default isolation level for this connection instance -OR-
|
|
|
|
|
|
|
|
|
|
|
|
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
|
|
|
|
This parameter is ignored.
|
|
When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
|
|
When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer
|
|
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.
|
|
|
|
|
|
|
|
|
|
OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection.
|
|
|
|
When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
|
|
When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer
|
|
environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.
|
|
|
|
|
|
|
|
|
|
Creates a new
|
|
|
|
Supported isolation levels are Serializable, ReadCommitted and Unspecified.
|
|
|
|
Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the
|
|
connection string, Serializable is used.
|
|
Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads
|
|
may begin a transaction. Other threads may read from the database, but not write.
|
|
With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start
|
|
a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
|
|
has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
|
|
|
|
|
|
|
|
|
|
|
|
Creates a new
|
|
active on the connection.
|
|
|
|
|
|
|
|
|
|
|
|
Forwards to the local
|
|
|
|
Supported isolation levels are Unspecified, Serializable, and ReadCommitted
|
|
|
|
|
|
|
|
|
|
This method is not implemented; however, the
|
|
event will still be raised.
|
|
|
|
|
|
|
|
|
|
|
|
When the database connection is closed, all commands linked to this connection are automatically reset.
|
|
|
|
|
|
|
|
|
|
Returns the number of pool entries for the file name associated with this connection.
|
|
|
|
|
|
|
|
|
|
Clears the connection pool associated with the connection. Any other active connections using the same database file
|
|
will be discarded instead of returned to the pool when they are closed.
|
|
|
|
|
|
|
|
|
|
|
|
Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed.
|
|
|
|
|
|
|
|
|
|
The connection string containing the parameters for the connection
|
|
|
|
|
|
For the complete list of supported connection string properties,
|
|
please see
|
|
|
|
|
|
|
|
|
|
Create a new
|
|
|
|
|
|
|
|
|
|
|
|
Forwards to the local
|
|
|
|
|
|
|
|
|
|
|
|
Attempts to create a new
|
|
using this connection and the specified database name.
|
|
|
|
|
|
The name of the database for the newly created session.
|
|
|
|
|
|
The newly created session -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create a new
|
|
using this connection and the specified raw data.
|
|
|
|
|
|
The raw data that contains a change set (or patch set).
|
|
|
|
|
|
The newly created change set -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create a new
|
|
using this connection and the specified raw data.
|
|
|
|
|
|
The raw data that contains a change set (or patch set).
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
The newly created change set -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create a new
|
|
using this connection and the specified stream.
|
|
|
|
|
|
The stream where the raw data that contains a change set (or patch set)
|
|
may be read.
|
|
|
|
|
|
The stream where the raw data that contains a change set (or patch set)
|
|
may be written.
|
|
|
|
|
|
The newly created change set -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create a new
|
|
using this connection and the specified stream.
|
|
|
|
|
|
The stream where the raw data that contains a change set (or patch set)
|
|
may be read.
|
|
|
|
|
|
The stream where the raw data that contains a change set (or patch set)
|
|
may be written.
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
The newly created change set -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create a new
|
|
instance using this connection.
|
|
|
|
|
|
The newly created change group -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Returns the data source file name without extension or path.
|
|
|
|
|
|
|
|
|
|
Returns the fully qualified path and file name for the currently open
|
|
database, if any.
|
|
|
|
|
|
|
|
|
|
Returns the string "main".
|
|
|
|
|
|
|
|
|
|
Determines if the legacy connection string parser should be used.
|
|
|
|
|
|
The connection that will be using the parsed connection string.
|
|
|
|
|
|
Non-zero if the legacy connection string parser should be used.
|
|
|
|
|
|
|
|
|
|
Parses a connection string into component parts using the custom
|
|
connection string parser. An exception may be thrown if the syntax
|
|
of the connection string is incorrect.
|
|
|
|
|
|
The connection string to parse.
|
|
|
|
|
|
Non-zero if names are allowed without values.
|
|
|
|
|
|
The list of key/value pairs corresponding to the parameters specified
|
|
within the connection string.
|
|
|
|
|
|
|
|
|
|
Parses a connection string into component parts using the custom
|
|
connection string parser. An exception may be thrown if the syntax
|
|
of the connection string is incorrect.
|
|
|
|
|
|
The connection that will be using the parsed connection string.
|
|
|
|
|
|
The connection string to parse.
|
|
|
|
|
|
Non-zero if names are allowed without values.
|
|
|
|
|
|
The list of key/value pairs corresponding to the parameters specified
|
|
within the connection string.
|
|
|
|
|
|
|
|
|
|
Parses a connection string using the built-in (i.e. framework provided)
|
|
connection string parser class and returns the key/value pairs. An
|
|
exception may be thrown if the connection string is invalid or cannot be
|
|
parsed. When compiled for the .NET Compact Framework, the custom
|
|
connection string parser is always used instead because the framework
|
|
provided one is unavailable there.
|
|
|
|
|
|
The connection that will be using the parsed connection string.
|
|
|
|
|
|
The connection string to parse.
|
|
|
|
|
|
Non-zero to throw an exception if any connection string values are not of
|
|
the
|
|
the .NET Compact Framework.
|
|
|
|
|
|
|
|
|
|
|
|
Manual distributed transaction enlistment support
|
|
|
|
The distributed transaction to enlist in
|
|
|
|
|
|
|
|
EXPERIMENTAL --
|
|
Waits for the enlistment associated with this connection to be reset.
|
|
This method always throws
|
|
running on the .NET Compact Framework.
|
|
|
|
|
|
The approximate maximum number of milliseconds to wait before timing
|
|
out the wait operation.
|
|
|
|
|
|
The return value to use if the connection has been disposed; if this
|
|
value is null,
|
|
if the connection has been disposed.
|
|
|
|
|
|
Non-zero if the enlistment assciated with this connection was reset;
|
|
otherwise, zero. It should be noted that this method returning a
|
|
non-zero value does not necessarily guarantee that the connection
|
|
can enlist in a new transaction (i.e. due to potentical race with
|
|
other threads); therefore, callers should generally use try/catch
|
|
when calling the
|
|
|
|
|
|
|
|
|
|
Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value
|
|
|
|
The list to look in
|
|
The key to find
|
|
The default value to return if the key is not found
|
|
|
|
|
|
|
|
|
|
Attempts to convert the string value to an enumerated value of the specified type.
|
|
|
|
The enumerated type to convert the string value to.
|
|
The string value to be converted.
|
|
Non-zero to make the conversion case-insensitive.
|
|
|
|
|
|
|
|
|
|
Attempts to convert an input string into a byte value.
|
|
|
|
|
|
The string value to be converted.
|
|
|
|
|
|
The number styles to use for the conversion.
|
|
|
|
|
|
Upon sucess, this will contain the parsed byte value.
|
|
Upon failure, the value of this parameter is undefined.
|
|
|
|
|
|
Non-zero upon success; zero on failure.
|
|
|
|
|
|
|
|
|
|
Change a limit value for the database.
|
|
|
|
|
|
The database limit to change.
|
|
|
|
|
|
The new value for the specified limit.
|
|
|
|
|
|
The old value for the specified limit -OR- negative one if an error
|
|
occurs.
|
|
|
|
|
|
|
|
|
|
Change a configuration option value for the database.
|
|
|
|
|
|
The database configuration option to change.
|
|
|
|
|
|
The new value for the specified configuration option.
|
|
|
|
|
|
|
|
|
|
Enables or disables extension loading.
|
|
|
|
|
|
True to enable loading of extensions, false to disable.
|
|
|
|
|
|
|
|
|
|
Loads a SQLite extension library from the named dynamic link library file.
|
|
|
|
|
|
The name of the dynamic link library file containing the extension.
|
|
|
|
|
|
|
|
|
|
Loads a SQLite extension library from the named dynamic link library file.
|
|
|
|
|
|
The name of the dynamic link library file containing the extension.
|
|
|
|
|
|
The name of the exported function used to initialize the extension.
|
|
If null, the default "sqlite3_extension_init" will be used.
|
|
|
|
|
|
|
|
|
|
Creates a disposable module containing the implementation of a virtual
|
|
table.
|
|
|
|
|
|
The module object to be used when creating the disposable module.
|
|
|
|
|
|
|
|
|
|
Parses a string containing a sequence of zero or more hexadecimal
|
|
encoded byte values and returns the resulting byte array. The
|
|
"0x" prefix is not allowed on the input string.
|
|
|
|
|
|
The input string containing zero or more hexadecimal encoded byte
|
|
values.
|
|
|
|
|
|
A byte array containing the parsed byte values or null if an error
|
|
was encountered.
|
|
|
|
|
|
|
|
|
|
Creates and returns a string containing the hexadecimal encoded byte
|
|
values from the input array.
|
|
|
|
|
|
The input array of bytes.
|
|
|
|
|
|
The resulting string or null upon failure.
|
|
|
|
|
|
|
|
|
|
Parses a string containing a sequence of zero or more hexadecimal
|
|
encoded byte values and returns the resulting byte array. The
|
|
"0x" prefix is not allowed on the input string.
|
|
|
|
|
|
The input string containing zero or more hexadecimal encoded byte
|
|
values.
|
|
|
|
|
|
Upon failure, this will contain an appropriate error message.
|
|
|
|
|
|
A byte array containing the parsed byte values or null if an error
|
|
was encountered.
|
|
|
|
|
|
|
|
|
|
This method figures out what the default connection pool setting should
|
|
be based on the connection flags. When present, the "Pooling" connection
|
|
string property value always overrides the value returned by this method.
|
|
|
|
|
|
Non-zero if the connection pool should be enabled by default; otherwise,
|
|
zero.
|
|
|
|
|
|
|
|
|
|
Determines the transaction isolation level that should be used by
|
|
the caller, primarily based upon the one specified by the caller.
|
|
If mapping of transaction isolation levels is enabled, the returned
|
|
transaction isolation level may be significantly different than the
|
|
originally specified one.
|
|
|
|
|
|
The originally specified transaction isolation level.
|
|
|
|
|
|
The transaction isolation level that should be used.
|
|
|
|
|
|
|
|
|
|
Opens the connection using the parameters found in the
|
|
|
|
|
|
|
|
|
|
Opens the connection using the parameters found in the
|
|
|
|
|
|
|
|
|
|
|
|
Gets/sets the default command timeout for newly-created commands. This is especially useful for
|
|
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
|
|
This can also be set in the ConnectionString with "Default Timeout"
|
|
|
|
|
|
|
|
|
|
Gets/sets the default busy timeout to use with the SQLite core library. This is only used when
|
|
opening a connection.
|
|
|
|
|
|
|
|
|
|
EXPERIMENTAL --
|
|
The wait timeout to use with
|
|
This is only used when waiting for the enlistment to be reset prior to
|
|
enlisting in a transaction, and then only when the appropriate connection
|
|
flag is set.
|
|
|
|
|
|
|
|
|
|
The maximum number of retries when preparing SQL to be executed. This
|
|
normally only applies to preparation errors resulting from the database
|
|
schema being changed.
|
|
|
|
|
|
|
|
|
|
The approximate number of virtual machine instructions between progress
|
|
events. In order for progress events to actually fire, the event handler
|
|
must be added to the
|
|
well. This value will only be used when the underlying native progress
|
|
callback needs to be changed.
|
|
|
|
|
|
|
|
|
|
Non-zero if the built-in (i.e. framework provided) connection string
|
|
parser should be used when opening the connection.
|
|
|
|
|
|
|
|
|
|
Gets/sets the extra behavioral flags for this connection. See the
|
|
|
|
possible values.
|
|
|
|
|
|
|
|
|
|
Gets/sets the default database type for this connection. This value
|
|
will only be used when not null.
|
|
|
|
|
|
|
|
|
|
Gets/sets the default database type name for this connection. This
|
|
value will only be used when not null.
|
|
|
|
|
|
|
|
|
|
Gets/sets the VFS name for this connection. This value will only be
|
|
used when opening the database.
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the underlying native connection handle is
|
|
owned by this instance.
|
|
|
|
|
|
|
|
|
|
Returns the version of the underlying SQLite database engine
|
|
|
|
|
|
|
|
|
|
Returns the rowid of the most recent successful INSERT into the database from this connection.
|
|
|
|
|
|
|
|
|
|
This method causes any pending database operation to abort and return at
|
|
its earliest opportunity. This routine is typically called in response
|
|
to a user action such as pressing "Cancel" or Ctrl-C where the user wants
|
|
a long query operation to halt immediately. It is safe to call this
|
|
routine from any thread. However, it is not safe to call this routine
|
|
with a database connection that is closed or might close before this method
|
|
returns.
|
|
|
|
|
|
|
|
|
|
Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
|
|
this connection.
|
|
|
|
|
|
|
|
|
|
Checks if this connection to the specified database should be considered
|
|
read-only. An exception will be thrown if the database name specified
|
|
via
|
|
|
|
|
|
The name of a database associated with this connection -OR- null for the
|
|
main database.
|
|
|
|
|
|
Non-zero if this connection to the specified database should be considered
|
|
read-only.
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the given database connection is in autocommit mode.
|
|
Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN
|
|
statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.
|
|
|
|
|
|
|
|
|
|
Returns the amount of memory (in bytes) currently in use by the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset.
|
|
|
|
|
|
|
|
|
|
Returns various global memory statistics for the SQLite core library via
|
|
a dictionary of key/value pairs. Currently, only the "MemoryUsed" and
|
|
"MemoryHighwater" keys are returned and they have values that correspond
|
|
to the values that could be obtained via the
|
|
and
|
|
|
|
|
|
This dictionary will be populated with the global memory statistics. It
|
|
will be created if necessary.
|
|
|
|
|
|
|
|
|
|
Attempts to free as much heap memory as possible for this database connection.
|
|
|
|
|
|
|
|
|
|
Attempts to free N bytes of heap memory by deallocating non-essential memory
|
|
allocations held by the database library. Memory used to cache database pages
|
|
to improve performance is an example of non-essential memory. This is a no-op
|
|
returning zero if the SQLite core library was not compiled with the compile-time
|
|
option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or
|
|
compact the Win32 native heap, if applicable.
|
|
|
|
|
|
The requested number of bytes to free.
|
|
|
|
|
|
Non-zero to attempt a heap reset.
|
|
|
|
|
|
Non-zero to attempt heap compaction.
|
|
|
|
|
|
The number of bytes actually freed. This value may be zero.
|
|
|
|
|
|
This value will be non-zero if the heap reset was successful.
|
|
|
|
|
|
The size of the largest committed free block in the heap, in bytes.
|
|
This value will be zero unless heap compaction is enabled.
|
|
|
|
|
|
A standard SQLite return code (i.e. zero for success and non-zero
|
|
for failure).
|
|
|
|
|
|
|
|
|
|
Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled.
|
|
If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is
|
|
global to the process.
|
|
|
|
Non-zero to enable memory usage tracking, zero otherwise.
|
|
|
|
|
|
|
|
|
|
Returns a string containing the define constants (i.e. compile-time
|
|
options) used to compile the core managed assembly, delimited with
|
|
spaces.
|
|
|
|
|
|
|
|
|
|
Returns the version of the underlying SQLite core library.
|
|
|
|
|
|
|
|
|
|
This method returns the string whose value is the same as the
|
|
SQLITE_SOURCE_ID C preprocessor macro used when compiling the
|
|
SQLite core library.
|
|
|
|
|
|
|
|
|
|
Returns a string containing the compile-time options used to
|
|
compile the SQLite core native library, delimited with spaces.
|
|
|
|
|
|
|
|
|
|
This method returns the version of the interop SQLite assembly
|
|
used. If the SQLite interop assembly is not in use or the
|
|
necessary information cannot be obtained for any reason, a null
|
|
value may be returned.
|
|
|
|
|
|
|
|
|
|
This method returns the string whose value contains the unique
|
|
identifier for the source checkout used to build the interop
|
|
assembly. If the SQLite interop assembly is not in use or the
|
|
necessary information cannot be obtained for any reason, a null
|
|
value may be returned.
|
|
|
|
|
|
|
|
|
|
Returns a string containing the compile-time options used to
|
|
compile the SQLite interop assembly, delimited with spaces.
|
|
|
|
|
|
|
|
|
|
This method returns the version of the managed components used
|
|
to interact with the SQLite core library. If the necessary
|
|
information cannot be obtained for any reason, a null value may
|
|
be returned.
|
|
|
|
|
|
|
|
|
|
This method returns the string whose value contains the unique
|
|
identifier for the source checkout used to build the managed
|
|
components currently executing. If the necessary information
|
|
cannot be obtained for any reason, a null value may be returned.
|
|
|
|
|
|
|
|
|
|
Queries and returns the value of the specified setting, using the
|
|
cached setting names and values for the last connection that used
|
|
the
|
|
|
|
|
|
The name of the setting.
|
|
|
|
|
|
The value to be returned if the setting has not been set explicitly
|
|
or cannot be determined.
|
|
|
|
|
|
The value of the cached setting is stored here if found; otherwise,
|
|
the value of
|
|
|
|
|
|
Non-zero if the cached setting was found; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Adds or sets the cached setting specified by
|
|
to the value specified by
|
|
setting names and values for the last connection that used the
|
|
|
|
|
|
|
|
The name of the cached setting to add or replace.
|
|
|
|
|
|
The new value of the cached setting.
|
|
|
|
|
|
|
|
|
|
The default connection flags to be used for all opened connections
|
|
when they are not present in the connection string.
|
|
|
|
|
|
|
|
|
|
The extra connection flags to be used for all opened connections.
|
|
|
|
|
|
|
|
|
|
Returns the state of the connection.
|
|
|
|
|
|
|
|
|
|
Passes a shutdown request to the SQLite core library. Does not throw
|
|
an exception if the shutdown request fails.
|
|
|
|
|
|
A standard SQLite return code (i.e. zero for success and non-zero for
|
|
failure).
|
|
|
|
|
|
|
|
|
|
Passes a shutdown request to the SQLite core library. Throws an
|
|
exception if the shutdown request fails and the no-throw parameter
|
|
is non-zero.
|
|
|
|
|
|
Non-zero to reset the database and temporary directories to their
|
|
default values, which should be null for both.
|
|
|
|
|
|
When non-zero, throw an exception if the shutdown request fails.
|
|
|
|
|
|
|
|
Enables or disables extended result codes returned by SQLite
|
|
|
|
|
|
Enables or disables extended result codes returned by SQLite
|
|
|
|
|
|
Enables or disables extended result codes returned by SQLite
|
|
|
|
|
|
Add a log message via the SQLite sqlite3_log interface.
|
|
|
|
|
|
Add a log message via the SQLite sqlite3_log interface.
|
|
|
|
|
|
|
|
Queries or modifies the number of retries or the retry interval (in milliseconds) for
|
|
certain I/O operations that may fail due to anti-virus software.
|
|
|
|
The number of times to retry the I/O operation. A negative value
|
|
will cause the current count to be queried and replace that negative value.
|
|
The number of milliseconds to wait before retrying the I/O
|
|
operation. This number is multiplied by the number of retry attempts so far to come
|
|
up with the final number of milliseconds to wait. A negative value will cause the
|
|
current interval to be queried and replace that negative value.
|
|
|
|
|
|
|
|
|
|
Sets the chunk size for the primary file associated with this database
|
|
connection.
|
|
|
|
|
|
The new chunk size for the main database, in bytes.
|
|
|
|
|
|
Zero for success, non-zero for error.
|
|
|
|
|
|
|
|
|
|
Removes one set of surrounding single -OR- double quotes from the string
|
|
value and returns the resulting string value. If the string is null, empty,
|
|
or contains quotes that are not balanced, nothing is done and the original
|
|
string value will be returned.
|
|
|
|
The string value to process.
|
|
|
|
The string value, modified to remove one set of surrounding single -OR-
|
|
double quotes, if applicable.
|
|
|
|
|
|
|
|
|
|
Determines the directory to be used when dealing with the "|DataDirectory|"
|
|
macro in a database file name.
|
|
|
|
|
|
The directory to use in place of the "|DataDirectory|" macro -OR- null if it
|
|
cannot be determined.
|
|
|
|
|
|
|
|
|
|
Expand the filename of the data source, resolving the |DataDirectory|
|
|
macro as appropriate.
|
|
|
|
The database filename to expand
|
|
|
|
Non-zero if the returned file name should be converted to a full path
|
|
(except when using the .NET Compact Framework).
|
|
|
|
|
|
|
|
|
|
|
|
The following commands are used to extract schema information out of the database. Valid schema types are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns the MetaDataCollections schema
|
|
|
|
|
|
|
|
|
|
|
|
Returns schema information of the specified collection
|
|
|
|
The schema collection to retrieve
|
|
|
|
|
|
|
|
|
|
Retrieves schema information using the specified constraint(s) for the specified collection
|
|
|
|
The collection to retrieve.
|
|
|
|
The restrictions to impose. Typically, this may include:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Depends on
|
|
When "IndexColumns", it is the index name; otherwise, it is the column name.
|
|
|
|
|
|
|
|
|
|
|
|
Depends on
|
|
When "IndexColumns", it is the column name; otherwise, it is not used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Builds a MetaDataCollections schema datatable
|
|
|
|
|
|
|
|
|
|
|
|
Builds a DataSourceInformation datatable
|
|
|
|
|
|
|
|
|
|
|
|
Build a Columns schema
|
|
|
|
The catalog (attached database) to query, can be null
|
|
The table to retrieve schema information for, can be null
|
|
The column to retrieve schema information for, can be null
|
|
|
|
|
|
|
|
|
|
Returns index information for the given database and catalog
|
|
|
|
The catalog (attached database) to query, can be null
|
|
The name of the index to retrieve information for, can be null
|
|
The table to retrieve index information for, can be null
|
|
|
|
|
|
|
|
|
|
Retrieves table schema information for the database and catalog
|
|
|
|
The catalog (attached database) to retrieve tables on
|
|
The table to retrieve, can be null
|
|
The table type, can be null
|
|
|
|
|
|
|
|
|
|
Retrieves view schema information for the database
|
|
|
|
The catalog (attached database) to retrieve views on
|
|
The view name, can be null
|
|
|
|
|
|
|
|
|
|
Retrieves catalog (attached databases) schema information for the database
|
|
|
|
The catalog to retrieve, can be null
|
|
|
|
|
|
|
|
|
|
Returns the base column information for indexes in a database
|
|
|
|
The catalog to retrieve indexes for (can be null)
|
|
The table to restrict index information by (can be null)
|
|
The index to restrict index information by (can be null)
|
|
The source column to restrict index information by (can be null)
|
|
|
|
|
|
|
|
|
|
Returns detailed column information for a specified view
|
|
|
|
The catalog to retrieve columns for (can be null)
|
|
The view to restrict column information by (can be null)
|
|
The source column to restrict column information by (can be null)
|
|
|
|
|
|
|
|
|
|
Retrieves foreign key information from the specified set of filters
|
|
|
|
An optional catalog to restrict results on
|
|
An optional table to restrict results on
|
|
An optional foreign key name to restrict results on
|
|
|
|
|
|
|
|
|
|
This event is raised periodically during long running queries. Changing
|
|
the value of the
|
|
determine if the operation in progress will continue or be interrupted.
|
|
For the entire duration of the event, the associated connection and
|
|
statement objects must not be modified, either directly or indirectly, by
|
|
the called code.
|
|
|
|
|
|
|
|
|
|
This event is raised whenever SQLite encounters an action covered by the
|
|
authorizer during query preparation. Changing the value of the
|
|
|
|
the specific action will be allowed, ignored, or denied. For the entire
|
|
duration of the event, the associated connection and statement objects
|
|
must not be modified, either directly or indirectly, by the called code.
|
|
|
|
|
|
|
|
|
|
This event is raised whenever SQLite makes an update/delete/insert into the database on
|
|
this connection. It only applies to the given connection.
|
|
|
|
|
|
|
|
|
|
This event is raised whenever SQLite is committing a transaction.
|
|
Return non-zero to trigger a rollback.
|
|
|
|
|
|
|
|
|
|
This event is raised whenever SQLite statement first begins executing on
|
|
this connection. It only applies to the given connection.
|
|
|
|
|
|
|
|
|
|
This event is raised whenever SQLite is rolling back a transaction.
|
|
|
|
|
|
|
|
|
|
Returns the
|
|
|
|
|
|
|
|
|
|
The I/O file cache flushing behavior for the connection
|
|
|
|
|
|
|
|
|
|
Normal file flushing at critical sections of the code
|
|
|
|
|
|
|
|
|
|
Full file flushing after every write operation
|
|
|
|
|
|
|
|
|
|
Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing
|
|
|
|
|
|
|
|
|
|
Raised each time the number of virtual machine instructions is
|
|
approximately equal to the value of the
|
|
|
|
|
|
The connection performing the operation.
|
|
A
|
|
event data.
|
|
|
|
|
|
|
|
Raised when authorization is required to perform an action contained
|
|
within a SQL query.
|
|
|
|
The connection performing the action.
|
|
A
|
|
event data.
|
|
|
|
|
|
|
|
Raised when a transaction is about to be committed. To roll back a transaction, set the
|
|
rollbackTrans boolean value to true.
|
|
|
|
The connection committing the transaction
|
|
Event arguments on the transaction
|
|
|
|
|
|
|
|
Raised when data is inserted, updated and deleted on a given connection
|
|
|
|
The connection committing the transaction
|
|
The event parameters which triggered the event
|
|
|
|
|
|
|
|
Raised when a statement first begins executing on a given connection
|
|
|
|
The connection executing the statement
|
|
Event arguments of the trace
|
|
|
|
|
|
|
|
Raised between each backup step.
|
|
|
|
|
|
The source database connection.
|
|
|
|
|
|
The source database name.
|
|
|
|
|
|
The destination database connection.
|
|
|
|
|
|
The destination database name.
|
|
|
|
|
|
The number of pages copied with each step.
|
|
|
|
|
|
The number of pages remaining to be copied.
|
|
|
|
|
|
The total number of pages in the source database.
|
|
|
|
|
|
Set to true if the operation needs to be retried due to database
|
|
locking issues; otherwise, set to false.
|
|
|
|
|
|
True to continue with the backup process or false to halt the backup
|
|
process, rolling back any changes that have been made so far.
|
|
|
|
|
|
|
|
|
|
The event data associated with progress reporting events.
|
|
|
|
|
|
|
|
|
|
The user-defined native data associated with this event. Currently,
|
|
this will always contain the value of
|
|
|
|
|
|
|
|
|
|
The return code for the current call into the progress callback.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class with default property values.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class with specific property values.
|
|
|
|
|
|
The user-defined native data associated with this event.
|
|
|
|
|
|
The progress return code.
|
|
|
|
|
|
|
|
|
|
The data associated with a call into the authorizer.
|
|
|
|
|
|
|
|
|
|
The user-defined native data associated with this event. Currently,
|
|
this will always contain the value of
|
|
|
|
|
|
|
|
|
|
The action code responsible for the current call into the authorizer.
|
|
|
|
|
|
|
|
|
|
The first string argument for the current call into the authorizer.
|
|
The exact value will vary based on the action code, see the
|
|
|
|
values.
|
|
|
|
|
|
|
|
|
|
The second string argument for the current call into the authorizer.
|
|
The exact value will vary based on the action code, see the
|
|
|
|
values.
|
|
|
|
|
|
|
|
|
|
The database name for the current call into the authorizer, if
|
|
applicable.
|
|
|
|
|
|
|
|
|
|
The name of the inner-most trigger or view that is responsible for
|
|
the access attempt or a null value if this access attempt is directly
|
|
from top-level SQL code.
|
|
|
|
|
|
|
|
|
|
The return code for the current call into the authorizer.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class with default property values.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class with specific property values.
|
|
|
|
|
|
The user-defined native data associated with this event.
|
|
|
|
|
|
The authorizer action code.
|
|
|
|
|
|
The first authorizer argument.
|
|
|
|
|
|
The second authorizer argument.
|
|
|
|
|
|
The database name, if applicable.
|
|
|
|
|
|
The name of the inner-most trigger or view that is responsible for
|
|
the access attempt or a null value if this access attempt is directly
|
|
from top-level SQL code.
|
|
|
|
|
|
The authorizer return code.
|
|
|
|
|
|
|
|
|
|
Whenever an update event is triggered on a connection, this enum will indicate
|
|
exactly what type of operation is being performed.
|
|
|
|
|
|
|
|
|
|
A row is being deleted from the given database and table
|
|
|
|
|
|
|
|
|
|
A row is being inserted into the table.
|
|
|
|
|
|
|
|
|
|
A row is being updated in the table.
|
|
|
|
|
|
|
|
|
|
Passed during an Update callback, these event arguments detail the type of update operation being performed
|
|
on the given connection.
|
|
|
|
|
|
|
|
|
|
The name of the database being updated (usually "main" but can be any attached or temporary database)
|
|
|
|
|
|
|
|
|
|
The name of the table being updated
|
|
|
|
|
|
|
|
|
|
The type of update being performed (insert/update/delete)
|
|
|
|
|
|
|
|
|
|
The RowId affected by this update.
|
|
|
|
|
|
|
|
|
|
Event arguments raised when a transaction is being committed
|
|
|
|
|
|
|
|
|
|
Set to true to abort the transaction and trigger a rollback
|
|
|
|
|
|
|
|
|
|
Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text
|
|
|
|
|
|
|
|
|
|
SQL statement text as the statement first begins executing
|
|
|
|
|
|
|
|
|
|
This interface represents a custom connection pool implementation
|
|
usable by System.Data.SQLite.
|
|
|
|
|
|
|
|
|
|
Counts the number of pool entries matching the specified file name.
|
|
|
|
|
|
The file name to match or null to match all files.
|
|
|
|
|
|
The pool entry counts for each matching file.
|
|
|
|
|
|
The total number of connections successfully opened from any pool.
|
|
|
|
|
|
The total number of connections successfully closed from any pool.
|
|
|
|
|
|
The total number of pool entries for all matching files.
|
|
|
|
|
|
|
|
|
|
Disposes of all pooled connections associated with the specified
|
|
database file name.
|
|
|
|
|
|
The database file name.
|
|
|
|
|
|
|
|
|
|
Disposes of all pooled connections.
|
|
|
|
|
|
|
|
|
|
Adds a connection to the pool of those associated with the
|
|
specified database file name.
|
|
|
|
|
|
The database file name.
|
|
|
|
|
|
The database connection handle.
|
|
|
|
|
|
The connection pool version at the point the database connection
|
|
handle was received from the connection pool. This is also the
|
|
connection pool version that the database connection handle was
|
|
created under.
|
|
|
|
|
|
|
|
|
|
Removes a connection from the pool of those associated with the
|
|
specified database file name with the intent of using it to
|
|
interact with the database.
|
|
|
|
|
|
The database file name.
|
|
|
|
|
|
The new maximum size of the connection pool for the specified
|
|
database file name.
|
|
|
|
|
|
The connection pool version associated with the returned database
|
|
connection handle, if any.
|
|
|
|
|
|
The database connection handle associated with the specified
|
|
database file name or null if it cannot be obtained.
|
|
|
|
|
|
|
|
|
|
This default method implementations in this class should not be used by
|
|
applications that make use of COM (either directly or indirectly) due
|
|
to possible deadlocks that can occur during finalization of some COM
|
|
objects.
|
|
|
|
|
|
|
|
|
|
Keeps track of connections made on a specified file. The PoolVersion
|
|
dictates whether old objects get returned to the pool or discarded
|
|
when no longer in use.
|
|
|
|
|
|
|
|
|
|
The queue of weak references to the actual database connection
|
|
handles.
|
|
|
|
|
|
|
|
|
|
This pool version associated with the database connection
|
|
handles in this pool queue.
|
|
|
|
|
|
|
|
|
|
The maximum size of this pool queue.
|
|
|
|
|
|
|
|
|
|
Constructs a connection pool queue using the specified version
|
|
and maximum size. Normally, all the database connection
|
|
handles in this pool are associated with a single database file
|
|
name.
|
|
|
|
|
|
The initial pool version for this connection pool queue.
|
|
|
|
|
|
The initial maximum size for this connection pool queue.
|
|
|
|
|
|
|
|
|
|
This field is used to synchronize access to the private static data
|
|
in this class.
|
|
|
|
|
|
|
|
|
|
When this field is non-null, it will be used to provide the
|
|
implementation of all the connection pool methods; otherwise,
|
|
the default method implementations will be used.
|
|
|
|
|
|
|
|
|
|
The dictionary of connection pools, based on the normalized file
|
|
name of the SQLite database.
|
|
|
|
|
|
|
|
|
|
The default version number new pools will get.
|
|
|
|
|
|
|
|
|
|
The number of connections successfully opened from any pool.
|
|
This value is incremented by the Remove method.
|
|
|
|
|
|
|
|
|
|
The number of connections successfully closed from any pool.
|
|
This value is incremented by the Add method.
|
|
|
|
|
|
|
|
|
|
Counts the number of pool entries matching the specified file name.
|
|
|
|
|
|
The file name to match or null to match all files.
|
|
|
|
|
|
The pool entry counts for each matching file.
|
|
|
|
|
|
The total number of connections successfully opened from any pool.
|
|
|
|
|
|
The total number of connections successfully closed from any pool.
|
|
|
|
|
|
The total number of pool entries for all matching files.
|
|
|
|
|
|
|
|
|
|
Disposes of all pooled connections associated with the specified
|
|
database file name.
|
|
|
|
|
|
The database file name.
|
|
|
|
|
|
|
|
|
|
Disposes of all pooled connections.
|
|
|
|
|
|
|
|
|
|
Adds a connection to the pool of those associated with the
|
|
specified database file name.
|
|
|
|
|
|
The database file name.
|
|
|
|
|
|
The database connection handle.
|
|
|
|
|
|
The connection pool version at the point the database connection
|
|
handle was received from the connection pool. This is also the
|
|
connection pool version that the database connection handle was
|
|
created under.
|
|
|
|
|
|
|
|
|
|
Removes a connection from the pool of those associated with the
|
|
specified database file name with the intent of using it to
|
|
interact with the database.
|
|
|
|
|
|
The database file name.
|
|
|
|
|
|
The new maximum size of the connection pool for the specified
|
|
database file name.
|
|
|
|
|
|
The connection pool version associated with the returned database
|
|
connection handle, if any.
|
|
|
|
|
|
The database connection handle associated with the specified
|
|
database file name or null if it cannot be obtained.
|
|
|
|
|
|
|
|
|
|
This method is used to obtain a reference to the custom connection
|
|
pool implementation currently in use, if any.
|
|
|
|
|
|
The custom connection pool implementation or null if the default
|
|
connection pool implementation should be used.
|
|
|
|
|
|
|
|
|
|
This method is used to set the reference to the custom connection
|
|
pool implementation to use, if any.
|
|
|
|
|
|
The custom connection pool implementation to use or null if the
|
|
default connection pool implementation should be used.
|
|
|
|
|
|
|
|
|
|
We do not have to thread-lock anything in this function, because it
|
|
is only called by other functions above which already take the lock.
|
|
|
|
|
|
The pool queue to resize.
|
|
|
|
|
|
If a function intends to add to the pool, this is true, which
|
|
forces the resize to take one more than it needs from the pool.
|
|
|
|
|
|
|
|
|
|
SQLite implementation of DbConnectionStringBuilder.
|
|
|
|
|
|
|
|
|
|
Properties of this class
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of the class
|
|
|
|
|
|
Default constructor
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of the class using the specified connection string.
|
|
|
|
The connection string to parse
|
|
|
|
|
|
|
|
Private initializer, which assigns the connection string and resets the builder
|
|
|
|
The connection string to assign
|
|
|
|
|
|
|
|
Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library.
|
|
|
|
|
|
|
|
|
|
Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal".
|
|
|
|
|
|
|
|
|
|
Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding.
|
|
|
|
|
|
|
|
|
|
Gets/Sets whether or not to use connection pooling. The default is "False"
|
|
|
|
|
|
|
|
|
|
Gets/Sets whethor not to store GUID's in binary format. The default is True
|
|
which saves space in the database.
|
|
|
|
|
|
|
|
|
|
Gets/Sets the filename to open on the connection string.
|
|
|
|
|
|
|
|
|
|
An alternate to the data source property
|
|
|
|
|
|
|
|
|
|
An alternate to the data source property that uses the SQLite URI syntax.
|
|
|
|
|
|
|
|
|
|
Gets/sets the default command timeout for newly-created commands. This is especially useful for
|
|
commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
|
|
|
|
|
|
|
|
|
|
Gets/sets the busy timeout to use with the SQLite core library.
|
|
|
|
|
|
|
|
|
|
EXPERIMENTAL --
|
|
The wait timeout to use with
|
|
|
|
This is only used when waiting for the enlistment to be reset
|
|
prior to enlisting in a transaction, and then only when the
|
|
appropriate connection flag is set.
|
|
|
|
|
|
|
|
|
|
Gets/sets the maximum number of retries when preparing SQL to be executed.
|
|
This normally only applies to preparation errors resulting from the database
|
|
schema being changed.
|
|
|
|
|
|
|
|
|
|
Gets/sets the approximate number of virtual machine instructions between
|
|
progress events. In order for progress events to actually fire, the event
|
|
handler must be added to the
|
|
as well.
|
|
|
|
|
|
|
|
|
|
Determines whether or not the connection will automatically participate
|
|
in the current distributed transaction (if one exists)
|
|
|
|
|
|
|
|
|
|
If set to true, will throw an exception if the database specified in the connection
|
|
string does not exist. If false, the database will be created automatically.
|
|
|
|
|
|
|
|
|
|
If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger
|
|
database sizes.
|
|
|
|
|
|
|
|
|
|
When enabled, the database will be opened for read-only access and writing will be disabled.
|
|
|
|
|
|
|
|
|
|
Gets/sets the database encryption password
|
|
|
|
|
|
|
|
|
|
Gets/sets the database encryption hexadecimal password
|
|
|
|
|
|
|
|
|
|
Gets/Sets the page size for the connection.
|
|
|
|
|
|
|
|
|
|
Gets/Sets the maximum number of pages the database may hold
|
|
|
|
|
|
|
|
|
|
Gets/Sets the cache size for the connection.
|
|
|
|
|
|
|
|
|
|
Gets/Sets the DateTime format for the connection.
|
|
|
|
|
|
|
|
|
|
Gets/Sets the DateTime kind for the connection.
|
|
|
|
|
|
|
|
|
|
Gets/sets the DateTime format string used for formatting
|
|
and parsing purposes.
|
|
|
|
|
|
|
|
|
|
Gets/Sets the placeholder base schema name used for
|
|
.NET Framework compatibility purposes.
|
|
|
|
|
|
|
|
|
|
Determines how SQLite handles the transaction journal file.
|
|
|
|
|
|
|
|
|
|
Sets the default isolation level for transactions on the connection.
|
|
|
|
|
|
|
|
|
|
Gets/sets the default database type for the connection.
|
|
|
|
|
|
|
|
|
|
Gets/sets the default type name for the connection.
|
|
|
|
|
|
|
|
|
|
Gets/sets the VFS name for the connection.
|
|
|
|
|
|
|
|
|
|
If enabled, use foreign key constraints
|
|
|
|
|
|
|
|
|
|
Enable or disable the recursive trigger capability.
|
|
|
|
|
|
|
|
|
|
If non-null, this is the version of ZipVFS to use. This requires the
|
|
System.Data.SQLite interop assembly -AND- primary managed assembly to
|
|
be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this
|
|
property does nothing.
|
|
|
|
|
|
|
|
|
|
Gets/Sets the extra behavioral flags.
|
|
|
|
|
|
|
|
|
|
If enabled, apply the default connection settings to opened databases.
|
|
|
|
|
|
|
|
|
|
If enabled, attempt to resolve the provided data source file name to a
|
|
full path before opening.
|
|
|
|
|
|
|
|
|
|
If enabled, skip using the configured default connection flags.
|
|
|
|
|
|
|
|
|
|
If enabled, skip using the configured shared connection flags.
|
|
|
|
|
|
|
|
|
|
Helper function for retrieving values from the connectionstring
|
|
|
|
The keyword to retrieve settings for
|
|
The resulting parameter value
|
|
|
|
|
|
|
|
|
|
Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties()
|
|
|
|
The hashtable to fill with property descriptors
|
|
|
|
|
|
|
|
This base class provides datatype conversion services for the SQLite provider.
|
|
|
|
|
|
|
|
|
|
This character is used to escape other characters, including itself, in
|
|
connection string property names and values.
|
|
|
|
|
|
|
|
|
|
This character can be used to wrap connection string property names and
|
|
values. Normally, it is optional; however, when used, it must be the
|
|
first -AND- last character of that connection string property name -OR-
|
|
value.
|
|
|
|
|
|
|
|
|
|
This character can be used to wrap connection string property names and
|
|
values. Normally, it is optional; however, when used, it must be the
|
|
first -AND- last character of that connection string property name -OR-
|
|
value.
|
|
|
|
|
|
|
|
|
|
The character is used to separate the name and value for a connection
|
|
string property. This character cannot be present in any connection
|
|
string property name. This character can be present in a connection
|
|
string property value; however, this should be avoided unless deemed
|
|
absolutely necessary.
|
|
|
|
|
|
|
|
|
|
This character is used to separate connection string properties. When
|
|
the "No_SQLiteConnectionNewParser" setting is enabled, this character
|
|
may not appear in connection string property names -OR- values.
|
|
|
|
|
|
|
|
|
|
These are the characters that are special to the connection string
|
|
parser.
|
|
|
|
|
|
|
|
|
|
The fallback default database type when one cannot be obtained from an
|
|
existing connection instance.
|
|
|
|
|
|
|
|
|
|
The fallback default database type name when one cannot be obtained from
|
|
an existing connection instance.
|
|
|
|
|
|
|
|
|
|
The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC).
|
|
|
|
|
|
|
|
|
|
The value of the OLE Automation epoch represented as a Julian day. This
|
|
field cannot be removed as the test suite relies upon it.
|
|
|
|
|
|
|
|
|
|
The format string for DateTime values when using the InvariantCulture or CurrentCulture formats.
|
|
|
|
|
|
|
|
|
|
This is the minimum Julian Day value supported by this library
|
|
(148731163200000).
|
|
|
|
|
|
|
|
|
|
This is the maximum Julian Day value supported by this library
|
|
(464269060799000).
|
|
|
|
|
|
|
|
|
|
An array of ISO-8601 DateTime formats that we support parsing.
|
|
|
|
|
|
|
|
|
|
The internal default format for UTC DateTime values when converting
|
|
to a string.
|
|
|
|
|
|
|
|
|
|
The internal default format for local DateTime values when converting
|
|
to a string.
|
|
|
|
|
|
|
|
|
|
An UTF-8 Encoding instance, so we can convert strings to and from UTF-8
|
|
|
|
|
|
|
|
|
|
The default DateTime format for this instance.
|
|
|
|
|
|
|
|
|
|
The default DateTimeKind for this instance.
|
|
|
|
|
|
|
|
|
|
The default DateTime format string for this instance.
|
|
|
|
|
|
|
|
|
|
Initializes the conversion class
|
|
|
|
The default date/time format to use for this instance
|
|
The DateTimeKind to use.
|
|
The DateTime format string to use.
|
|
|
|
|
|
|
|
Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character.
|
|
|
|
The string to convert to UTF-8
|
|
|
|
|
|
|
|
|
|
Convert a DateTime to a UTF-8 encoded, zero-terminated byte array.
|
|
|
|
|
|
This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the
|
|
string result.
|
|
|
|
The DateTime to convert.
|
|
|
|
|
|
|
|
|
|
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
|
|
|
|
The pointer to the memory where the UTF-8 string is encoded
|
|
The number of bytes to decode
|
|
|
|
|
|
|
|
|
|
Converts a UTF-8 encoded IntPtr of the specified length into a .NET string
|
|
|
|
The pointer to the memory where the UTF-8 string is encoded
|
|
The number of bytes to decode
|
|
|
|
|
|
|
|
|
|
Checks if the specified
|
|
supported range for a Julian Day value.
|
|
|
|
|
|
The Julian Day value to check.
|
|
|
|
|
|
Non-zero if the specified Julian Day value is in the supported
|
|
range; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Converts a Julian Day value from a
|
|
|
|
|
|
|
|
The Julian Day
|
|
|
|
|
|
The resulting Julian Day
|
|
|
|
|
|
|
|
|
|
Converts a Julian Day value from an
|
|
|
|
|
|
|
|
The Julian Day
|
|
|
|
|
|
The resulting Julian Day
|
|
|
|
|
|
|
|
|
|
Converts a Julian Day value to a
|
|
This method was translated from the "computeYMD" function in the
|
|
"date.c" file belonging to the SQLite core library.
|
|
|
|
|
|
The Julian Day value to convert.
|
|
|
|
|
|
The
|
|
Julian Day is out of the supported range. If this value is null,
|
|
an exception will be thrown instead.
|
|
|
|
|
|
A
|
|
day values that are closest to the specified Julian Day value.
|
|
|
|
|
|
|
|
|
|
Converts a Julian Day value to a
|
|
This method was translated from the "computeHMS" function in the
|
|
"date.c" file belonging to the SQLite core library.
|
|
|
|
|
|
The Julian Day value to convert.
|
|
|
|
|
|
The
|
|
Julian Day value is out of the supported range. If this value is
|
|
null, an exception will be thrown instead.
|
|
|
|
|
|
A
|
|
second, and millisecond values that are closest to the specified
|
|
Julian Day value.
|
|
|
|
|
|
|
|
|
|
Converts a
|
|
This method was translated from the "computeJD" function in
|
|
the "date.c" file belonging to the SQLite core library.
|
|
Since the range of Julian Day values supported by this method
|
|
includes all possible (valid) values of a
|
|
value, it should be extremely difficult for this method to
|
|
raise an exception or return an undefined result.
|
|
|
|
|
|
The
|
|
will be within the range of
|
|
(00:00:00.0000000, January 1, 0001) to
|
|
|
|
31, 9999).
|
|
|
|
|
|
The nearest Julian Day value corresponding to the specified
|
|
|
|
|
|
|
|
|
|
|
|
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
|
|
and DateTimeFormatString specified for the connection when it was opened.
|
|
|
|
|
|
Acceptable ISO8601 DateTime formats are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the string cannot be matched to one of the above formats -OR-
|
|
the DateTimeFormatString if one was provided, an exception will
|
|
be thrown.
|
|
|
|
The string containing either a long integer number of 100-nanosecond units since
|
|
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
|
|
culture-independent formatted date and time string, a formatted date and time string in the current
|
|
culture, or an ISO8601-format string.
|
|
|
|
|
|
|
|
|
|
Converts a string into a DateTime, using the specified DateTimeFormat,
|
|
DateTimeKind and DateTimeFormatString.
|
|
|
|
|
|
Acceptable ISO8601 DateTime formats are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the string cannot be matched to one of the above formats -OR-
|
|
the DateTimeFormatString if one was provided, an exception will
|
|
be thrown.
|
|
|
|
The string containing either a long integer number of 100-nanosecond units since
|
|
System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a
|
|
culture-independent formatted date and time string, a formatted date and time string in the current
|
|
culture, or an ISO8601-format string.
|
|
The SQLiteDateFormats to use.
|
|
The DateTimeKind to use.
|
|
The DateTime format string to use.
|
|
|
|
|
|
|
|
|
|
Converts a julianday value into a DateTime
|
|
|
|
The value to convert
|
|
|
|
|
|
|
|
|
|
Converts a julianday value into a DateTime
|
|
|
|
The value to convert
|
|
The DateTimeKind to use.
|
|
|
|
|
|
|
|
|
|
Converts the specified number of seconds from the Unix epoch into a
|
|
|
|
|
|
|
|
The number of whole seconds since the Unix epoch.
|
|
|
|
|
|
Either Utc or Local time.
|
|
|
|
|
|
The new
|
|
|
|
|
|
|
|
|
|
Converts the specified number of ticks since the epoch into a
|
|
|
|
|
|
|
|
The number of whole ticks since the epoch.
|
|
|
|
|
|
Either Utc or Local time.
|
|
|
|
|
|
The new
|
|
|
|
|
|
|
|
|
|
Converts a DateTime struct to a JulianDay double
|
|
|
|
The DateTime to convert
|
|
|
|
|
|
|
|
|
|
Converts a DateTime struct to the whole number of seconds since the
|
|
Unix epoch.
|
|
|
|
The DateTime to convert
|
|
|
|
|
|
|
|
|
|
Returns the DateTime format string to use for the specified DateTimeKind.
|
|
If
|
|
|
|
The DateTimeKind to use.
|
|
The DateTime format string to use.
|
|
|
|
The DateTime format string to use for the specified DateTimeKind.
|
|
|
|
|
|
|
|
|
|
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
|
|
and DateTimeFormatString specified for the connection when it was opened.
|
|
|
|
The DateTime value to convert
|
|
|
|
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
|
|
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.
|
|
|
|
|
|
|
|
Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind,
|
|
and DateTimeFormatString specified for the connection when it was opened.
|
|
|
|
The DateTime value to convert
|
|
The SQLiteDateFormats to use.
|
|
The DateTimeKind to use.
|
|
The DateTime format string to use.
|
|
|
|
Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time
|
|
string, a formatted date and time string in the current culture, or an ISO8601-format date/time string.
|
|
|
|
|
|
|
|
Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime.
|
|
|
|
|
|
This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls
|
|
ToDateTime() on the string to return a DateTime.
|
|
|
|
A pointer to the UTF-8 encoded string
|
|
The length in bytes of the string
|
|
|
|
|
|
|
|
|
|
Smart method of splitting a string. Skips quoted elements, removes the quotes.
|
|
|
|
|
|
This split function works somewhat like the String.Split() function in that it breaks apart a string into
|
|
pieces and returns the pieces as an array. The primary differences are:
|
|
|
|
|
|
|
|
|
|
Thus, if splitting the following string looking for a comma:
|
|
One,Two, "Three, Four", Five
|
|
|
|
The resulting array would contain
|
|
[0] One
|
|
[1] Two
|
|
[2] Three, Four
|
|
[3] Five
|
|
|
|
Note that the leading and trailing spaces were removed from each item during the split.
|
|
|
|
Source string to split apart
|
|
Separator character
|
|
|
|
|
|
|
|
|
|
Splits the specified string into multiple strings based on a separator
|
|
and returns the result as an array of strings.
|
|
|
|
|
|
The string to split into pieces based on the separator character. If
|
|
this string is null, null will always be returned. If this string is
|
|
empty, an array of zero strings will always be returned.
|
|
|
|
|
|
The character used to divide the original string into sub-strings.
|
|
This character cannot be a backslash or a double-quote; otherwise, no
|
|
work will be performed and null will be returned.
|
|
|
|
|
|
If this parameter is non-zero, all double-quote characters will be
|
|
retained in the returned list of strings; otherwise, they will be
|
|
dropped.
|
|
|
|
|
|
Upon failure, this parameter will be modified to contain an appropriate
|
|
error message.
|
|
|
|
|
|
The new array of strings or null if the input string is null -OR- the
|
|
separator character is a backslash or a double-quote -OR- the string
|
|
contains an unbalanced backslash or double-quote character.
|
|
|
|
|
|
|
|
|
|
Queries and returns the string representation for an object, using the
|
|
specified (or current) format provider.
|
|
|
|
|
|
The object instance to return the string representation for.
|
|
|
|
|
|
The format provider to use -OR- null if the current format provider for
|
|
the thread should be used instead.
|
|
|
|
|
|
The string representation for the object instance -OR- null if the
|
|
object instance is also null.
|
|
|
|
|
|
|
|
|
|
Attempts to convert an arbitrary object to the Boolean data type.
|
|
Null object values are converted to false. Throws an exception
|
|
upon failure.
|
|
|
|
|
|
The object value to convert.
|
|
|
|
|
|
The format provider to use.
|
|
|
|
|
|
If non-zero, a string value will be converted using the
|
|
|
|
method; otherwise, the
|
|
method will be used.
|
|
|
|
|
|
The converted boolean value.
|
|
|
|
|
|
|
|
|
|
Convert a value to true or false.
|
|
|
|
A string or number representing true or false
|
|
|
|
|
|
|
|
|
|
Converts an integer to a string that can be round-tripped using the
|
|
invariant culture.
|
|
|
|
|
|
The integer value to return the string representation for.
|
|
|
|
|
|
The string representation of the specified integer value, using the
|
|
invariant culture.
|
|
|
|
|
|
|
|
|
|
Attempts to convert a
|
|
|
|
|
|
The
|
|
|
|
|
|
The converted
|
|
|
|
|
|
The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1",
|
|
as well as any prefix of the strings
|
|
and
|
|
case-insensitive manner.
|
|
|
|
|
|
|
|
|
|
Converts a SQLiteType to a .NET Type object
|
|
|
|
The SQLiteType to convert
|
|
|
|
|
|
|
|
|
|
For a given intrinsic type, return a DbType
|
|
|
|
The native type to convert
|
|
|
|
|
|
|
|
|
|
Returns the ColumnSize for the given DbType
|
|
|
|
The DbType to get the size of
|
|
|
|
|
|
|
|
|
|
Determines the default database type name to be used when a
|
|
per-connection value is not available.
|
|
|
|
|
|
The connection context for type mappings, if any.
|
|
|
|
|
|
The default database type name to use.
|
|
|
|
|
|
|
|
|
|
If applicable, issues a trace log message warning about falling back to
|
|
the default database type name.
|
|
|
|
|
|
The database value type.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
The textual name of the database type.
|
|
|
|
|
|
|
|
|
|
If applicable, issues a trace log message warning about falling back to
|
|
the default database value type.
|
|
|
|
|
|
The textual name of the database type.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
The database value type.
|
|
|
|
|
|
|
|
|
|
For a given database value type, return the "closest-match" textual database type name.
|
|
|
|
The connection context for custom type mappings, if any.
|
|
The database value type.
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
Convert a DbType to a Type
|
|
|
|
The DbType to convert from
|
|
|
|
|
|
|
|
|
|
For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types.
|
|
|
|
The type to evaluate
|
|
The flags associated with the connection.
|
|
|
|
|
|
|
|
|
|
Builds and returns a map containing the database column types
|
|
recognized by this provider.
|
|
|
|
|
|
A map containing the database column types recognized by this
|
|
provider.
|
|
|
|
|
|
|
|
|
|
Determines if a database type is considered to be a string.
|
|
|
|
|
|
The database type to check.
|
|
|
|
|
|
Non-zero if the database type is considered to be a string, zero
|
|
otherwise.
|
|
|
|
|
|
|
|
|
|
Determines and returns the runtime configuration setting string that
|
|
should be used in place of the specified object value.
|
|
|
|
|
|
The object value to convert to a string.
|
|
|
|
|
|
Either the string to use in place of the object value -OR- null if it
|
|
cannot be determined.
|
|
|
|
|
|
|
|
|
|
Determines the default
|
|
per-connection value is not available.
|
|
|
|
|
|
The connection context for type mappings, if any.
|
|
|
|
|
|
The default
|
|
|
|
|
|
|
|
|
|
Converts the object value, which is assumed to have originated
|
|
from a
|
|
|
|
|
|
The value to be converted to a string.
|
|
|
|
|
|
A null value will be returned if the original value is null -OR-
|
|
the original value is
|
|
the original value will be converted to a string, using its
|
|
(possibly overridden)
|
|
then returned.
|
|
|
|
|
|
|
|
|
|
Determines if the specified textual value appears to be a
|
|
|
|
|
|
|
|
The textual value to inspect.
|
|
|
|
|
|
Non-zero if the text looks like a
|
|
zero otherwise.
|
|
|
|
|
|
|
|
|
|
Determines if the specified textual value appears to be an
|
|
|
|
|
|
|
|
The textual value to inspect.
|
|
|
|
|
|
Non-zero if the text looks like an
|
|
zero otherwise.
|
|
|
|
|
|
|
|
|
|
Determines if the specified textual value appears to be a
|
|
|
|
|
|
|
|
The textual value to inspect.
|
|
|
|
|
|
Non-zero if the text looks like a
|
|
zero otherwise.
|
|
|
|
|
|
|
|
|
|
Determines if the specified textual value appears to be a
|
|
|
|
|
|
|
|
The
|
|
the chosen
|
|
|
|
|
|
The textual value to inspect.
|
|
|
|
|
|
Non-zero if the text looks like a
|
|
configured format, zero otherwise.
|
|
|
|
|
|
|
|
|
|
For a given textual database type name, return the "closest-match" database type.
|
|
This method is called during query result processing; therefore, its performance
|
|
is critical.
|
|
|
|
The connection context for custom type mappings, if any.
|
|
The textual name of the database type to match.
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
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 by this provider
|
|
|
|
|
|
|
|
|
|
These are the event types associated with the
|
|
|
|
delegate (and its corresponding event) and the
|
|
|
|
|
|
|
|
|
|
|
|
Not used.
|
|
|
|
|
|
|
|
|
|
Not used.
|
|
|
|
|
|
|
|
|
|
The connection is being opened.
|
|
|
|
|
|
|
|
|
|
The connection string has been parsed.
|
|
|
|
|
|
|
|
|
|
The connection was opened.
|
|
|
|
|
|
|
|
|
|
The
|
|
connection.
|
|
|
|
|
|
|
|
|
|
A transaction was created using the connection.
|
|
|
|
|
|
|
|
|
|
The connection was enlisted into a transaction.
|
|
|
|
|
|
|
|
|
|
A command was created using the connection.
|
|
|
|
|
|
|
|
|
|
A data reader was created using the connection.
|
|
|
|
|
|
|
|
|
|
An instance of a
|
|
been created to wrap a native resource.
|
|
|
|
|
|
|
|
|
|
The connection is being closed.
|
|
|
|
|
|
|
|
|
|
The connection was closed.
|
|
|
|
|
|
|
|
|
|
A command is being disposed.
|
|
|
|
|
|
|
|
|
|
A data reader is being disposed.
|
|
|
|
|
|
|
|
|
|
A data reader is being closed.
|
|
|
|
|
|
|
|
|
|
A native resource was opened (i.e. obtained) from the pool.
|
|
|
|
|
|
|
|
|
|
A native resource was closed (i.e. released) to the pool.
|
|
|
|
|
|
|
|
|
|
This implementation of SQLite for ADO.NET can process date/time fields in
|
|
databases in one of six formats.
|
|
|
|
|
|
ISO8601 format is more compatible, readable, fully-processable, but less
|
|
accurate as it does not provide time down to fractions of a second.
|
|
JulianDay is the numeric format the SQLite uses internally and is arguably
|
|
the most compatible with 3rd party tools. It is not readable as text
|
|
without post-processing. Ticks less compatible with 3rd party tools that
|
|
query the database, and renders the DateTime field unreadable as text
|
|
without post-processing. UnixEpoch is more compatible with Unix systems.
|
|
InvariantCulture allows the configured format for the invariant culture
|
|
format to be used and is human readable. CurrentCulture allows the
|
|
configured format for the current culture to be used and is also human
|
|
readable.
|
|
|
|
The preferred order of choosing a DateTime format is JulianDay, ISO8601,
|
|
and then Ticks. Ticks is mainly present for legacy code support.
|
|
|
|
|
|
|
|
|
|
Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ.
|
|
|
|
|
|
|
|
|
|
Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and
|
|
"yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
|
|
|
|
|
|
|
|
|
|
The interval of time in days and fractions of a day since January 1, 4713 BC.
|
|
|
|
|
|
|
|
|
|
The whole number of seconds since the Unix epoch (January 1, 1970).
|
|
|
|
|
|
|
|
|
|
Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
|
|
|
|
|
|
|
|
|
|
Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
|
|
|
|
|
|
|
|
|
|
The default format for this provider.
|
|
|
|
|
|
|
|
|
|
This enum determines how SQLite treats its journal file.
|
|
|
|
|
|
By default SQLite will create and delete the journal file when needed during a transaction.
|
|
However, for some computers running certain filesystem monitoring tools, the rapid
|
|
creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
|
|
|
|
If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
|
|
when starting a transaction. If this is happening, you may want to change the default journal mode to Persist.
|
|
|
|
|
|
|
|
|
|
The default mode, this causes SQLite to use the existing journaling mode for the database.
|
|
|
|
|
|
|
|
|
|
SQLite will create and destroy the journal file as-needed.
|
|
|
|
|
|
|
|
|
|
When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased,
|
|
and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed.
|
|
|
|
|
|
|
|
|
|
This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database
|
|
corruption in this mode!
|
|
|
|
|
|
|
|
|
|
SQLite will truncate the journal file to zero-length instead of deleting it.
|
|
|
|
|
|
|
|
|
|
SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity.
|
|
If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the
|
|
database file will very likely go corrupt.
|
|
|
|
|
|
|
|
|
|
SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent;
|
|
after being set it stays in effect across multiple database connections and after closing and reopening the database. A database
|
|
in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later.
|
|
|
|
|
|
|
|
|
|
Possible values for the "synchronous" database setting. This setting determines
|
|
how often the database engine calls the xSync method of the VFS.
|
|
|
|
|
|
|
|
|
|
Use the default "synchronous" database setting. Currently, this should be
|
|
the same as using the FULL mode.
|
|
|
|
|
|
|
|
|
|
The database engine continues without syncing as soon as it has handed
|
|
data off to the operating system. If the application running SQLite
|
|
crashes, the data will be safe, but the database might become corrupted
|
|
if the operating system crashes or the computer loses power before that
|
|
data has been written to the disk surface.
|
|
|
|
|
|
|
|
|
|
The database engine will still sync at the most critical moments, but
|
|
less often than in FULL mode. There is a very small (though non-zero)
|
|
chance that a power failure at just the wrong time could corrupt the
|
|
database in NORMAL mode.
|
|
|
|
|
|
|
|
|
|
The database engine will use the xSync method of the VFS to ensure that
|
|
all content is safely written to the disk surface prior to continuing.
|
|
This ensures that an operating system crash or power failure will not
|
|
corrupt the database. FULL synchronous is very safe, but it is also
|
|
slower.
|
|
|
|
|
|
|
|
|
|
The requested command execution type. This controls which method of the
|
|
|
|
|
|
|
|
|
|
|
|
Do nothing. No method will be called.
|
|
|
|
|
|
|
|
|
|
The command is not expected to return a result -OR- the result is not
|
|
needed. The
|
|
|
|
will be called.
|
|
|
|
|
|
|
|
|
|
The command is expected to return a scalar result -OR- the result should
|
|
be limited to a scalar result. The
|
|
or
|
|
be called.
|
|
|
|
|
|
|
|
|
|
The command is expected to return
|
|
The
|
|
|
|
be called.
|
|
|
|
|
|
|
|
|
|
Use the default command execution type. Using this value is the same
|
|
as using the
|
|
|
|
|
|
|
|
|
|
The action code responsible for the current call into the authorizer.
|
|
|
|
|
|
|
|
|
|
No action is being performed. This value should not be used from
|
|
external code.
|
|
|
|
|
|
|
|
|
|
No longer used.
|
|
|
|
|
|
|
|
|
|
An index will be created. The action-specific arguments are the
|
|
index name and the table name.
|
|
|
|
|
|
|
|
|
|
|
|
A table will be created. The action-specific arguments are the
|
|
table name and a null value.
|
|
|
|
|
|
|
|
|
|
A temporary index will be created. The action-specific arguments
|
|
are the index name and the table name.
|
|
|
|
|
|
|
|
|
|
A temporary table will be created. The action-specific arguments
|
|
are the table name and a null value.
|
|
|
|
|
|
|
|
|
|
A temporary trigger will be created. The action-specific arguments
|
|
are the trigger name and the table name.
|
|
|
|
|
|
|
|
|
|
A temporary view will be created. The action-specific arguments are
|
|
the view name and a null value.
|
|
|
|
|
|
|
|
|
|
A trigger will be created. The action-specific arguments are the
|
|
trigger name and the table name.
|
|
|
|
|
|
|
|
|
|
A view will be created. The action-specific arguments are the view
|
|
name and a null value.
|
|
|
|
|
|
|
|
|
|
A DELETE statement will be executed. The action-specific arguments
|
|
are the table name and a null value.
|
|
|
|
|
|
|
|
|
|
An index will be dropped. The action-specific arguments are the
|
|
index name and the table name.
|
|
|
|
|
|
|
|
|
|
A table will be dropped. The action-specific arguments are the tables
|
|
name and a null value.
|
|
|
|
|
|
|
|
|
|
A temporary index will be dropped. The action-specific arguments are
|
|
the index name and the table name.
|
|
|
|
|
|
|
|
|
|
A temporary table will be dropped. The action-specific arguments are
|
|
the table name and a null value.
|
|
|
|
|
|
|
|
|
|
A temporary trigger will be dropped. The action-specific arguments
|
|
are the trigger name and the table name.
|
|
|
|
|
|
|
|
|
|
A temporary view will be dropped. The action-specific arguments are
|
|
the view name and a null value.
|
|
|
|
|
|
|
|
|
|
A trigger will be dropped. The action-specific arguments are the
|
|
trigger name and the table name.
|
|
|
|
|
|
|
|
|
|
A view will be dropped. The action-specific arguments are the view
|
|
name and a null value.
|
|
|
|
|
|
|
|
|
|
An INSERT statement will be executed. The action-specific arguments
|
|
are the table name and a null value.
|
|
|
|
|
|
|
|
|
|
A PRAGMA statement will be executed. The action-specific arguments
|
|
are the name of the PRAGMA and the new value or a null value.
|
|
|
|
|
|
|
|
|
|
A table column will be read. The action-specific arguments are the
|
|
table name and the column name.
|
|
|
|
|
|
|
|
|
|
A SELECT statement will be executed. The action-specific arguments
|
|
are both null values.
|
|
|
|
|
|
|
|
|
|
A transaction will be started, committed, or rolled back. The
|
|
action-specific arguments are the name of the operation (BEGIN,
|
|
COMMIT, or ROLLBACK) and a null value.
|
|
|
|
|
|
|
|
|
|
An UPDATE statement will be executed. The action-specific arguments
|
|
are the table name and the column name.
|
|
|
|
|
|
|
|
|
|
A database will be attached to the connection. The action-specific
|
|
arguments are the database file name and a null value.
|
|
|
|
|
|
|
|
|
|
A database will be detached from the connection. The action-specific
|
|
arguments are the database name and a null value.
|
|
|
|
|
|
|
|
|
|
The schema of a table will be altered. The action-specific arguments
|
|
are the database name and the table name.
|
|
|
|
|
|
|
|
|
|
An index will be deleted and then recreated. The action-specific
|
|
arguments are the index name and a null value.
|
|
|
|
|
|
|
|
|
|
A table will be analyzed to gathers statistics about it. The
|
|
action-specific arguments are the table name and a null value.
|
|
|
|
|
|
|
|
|
|
A virtual table will be created. The action-specific arguments are
|
|
the table name and the module name.
|
|
|
|
|
|
|
|
|
|
A virtual table will be dropped. The action-specific arguments are
|
|
the table name and the module name.
|
|
|
|
|
|
|
|
|
|
A SQL function will be called. The action-specific arguments are a
|
|
null value and the function name.
|
|
|
|
|
|
|
|
|
|
A savepoint will be created, released, or rolled back. The
|
|
action-specific arguments are the name of the operation (BEGIN,
|
|
RELEASE, or ROLLBACK) and the savepoint name.
|
|
|
|
|
|
|
|
|
|
A recursive query will be executed. The action-specific arguments
|
|
are two null values.
|
|
|
|
|
|
|
|
|
|
The possible return codes for the progress callback.
|
|
|
|
|
|
|
|
|
|
The operation should continue.
|
|
|
|
|
|
|
|
|
|
The operation should be interrupted.
|
|
|
|
|
|
|
|
|
|
The return code for the current call into the authorizer.
|
|
|
|
|
|
|
|
|
|
The action will be allowed.
|
|
|
|
|
|
|
|
|
|
The overall action will be disallowed and an error message will be
|
|
returned from the query preparation method.
|
|
|
|
|
|
|
|
|
|
The specific action will be disallowed; however, the overall action
|
|
will continue. The exact effects of this return code vary depending
|
|
on the specific action, please refer to the SQLite core library
|
|
documentation for futher details.
|
|
|
|
|
|
|
|
|
|
Class 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
|
|
|
|
|
|
|
|
|
|
Constructs a default instance of this type.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this type with the specified field values.
|
|
|
|
|
|
The type affinity to use for the new instance.
|
|
|
|
|
|
The database type to use for the new instance.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
Non-zero to parse the connection string using the built-in (i.e.
|
|
framework provided) parser when opening the connection.
|
|
|
|
|
|
|
|
|
|
Cleans up resources (native and managed) associated with the current instance.
|
|
|
|
|
|
Zero when being disposed via garbage collection; otherwise, non-zero.
|
|
|
|
|
|
|
|
|
|
Row updating event handler
|
|
|
|
|
|
|
|
|
|
Row updated event handler
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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 implementation of DbDataReader.
|
|
|
|
|
|
|
|
|
|
Underlying command this reader is attached to
|
|
|
|
|
|
|
|
|
|
The flags pertaining to the associated connection (via the command).
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
The number of calls to Step() that have returned true (i.e. the number of rows that
|
|
have been read in the current result set).
|
|
|
|
|
|
|
|
|
|
Maps the field (column) names to their corresponding indexes within the results.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
If set, then raise an exception when the object is accessed after being disposed.
|
|
|
|
|
|
|
|
|
|
An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified
|
|
|
|
|
|
|
|
|
|
Matches the version of the connection.
|
|
|
|
|
|
|
|
|
|
The "stub" (i.e. placeholder) base schema name to use when returning
|
|
column schema information. Matches the base schema name used by the
|
|
associated connection.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Dispose of all resources used by this datareader.
|
|
|
|
|
|
|
|
|
|
|
|
Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified.
|
|
|
|
|
|
|
|
|
|
Throw an error if the datareader is closed
|
|
|
|
|
|
|
|
|
|
Throw an error if a row is not loaded
|
|
|
|
|
|
|
|
|
|
Enumerator support
|
|
|
|
|
|
|
|
|
|
|
|
Not implemented. Returns 0
|
|
|
|
|
|
|
|
|
|
Returns the number of columns in the current resultset
|
|
|
|
|
|
|
|
|
|
Forces the connection flags cached by this data reader to be refreshed
|
|
from the underlying connection.
|
|
|
|
|
|
|
|
|
|
Returns the number of rows seen so far in the current result set.
|
|
|
|
|
|
|
|
|
|
Returns the number of visible fields in the current resultset
|
|
|
|
|
|
|
|
|
|
This method is used to make sure the result set is open and a row is currently available.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Invokes the data reader value callback configured for the database
|
|
type name associated with the specified column. If no data reader
|
|
value callback is available for the database type name, do nothing.
|
|
|
|
|
|
The index of the column being read.
|
|
|
|
|
|
The extra event data to pass into the callback.
|
|
|
|
|
|
Non-zero if the default handling for the data reader call should be
|
|
skipped. If this is set to non-zero and the necessary return value
|
|
is unavailable or unsuitable, an exception will be thrown.
|
|
|
|
|
|
|
|
|
|
Attempts to query the integer identifier for the current row. This
|
|
will not work for tables that were created WITHOUT ROWID -OR- if the
|
|
query does not include the "rowid" column or one of its aliases -OR-
|
|
if the
|
|
|
|
|
|
|
|
The index of the BLOB column.
|
|
|
|
|
|
The integer identifier for the current row -OR- null if it could not
|
|
be determined.
|
|
|
|
|
|
|
|
|
|
Retrieves the column as a
|
|
This will not work for tables that were created WITHOUT ROWID
|
|
-OR- if the query does not include the "rowid" column or one
|
|
of its aliases -OR- if the
|
|
not created with the
|
|
flag.
|
|
|
|
The index of the column.
|
|
|
|
Non-zero to open the blob object for read-only access.
|
|
|
|
|
|
|
|
|
|
|
|
Retrieves the column as a boolean value
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieves the column as a single byte value
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieves a column as an array of bytes (blob)
|
|
|
|
The index of the column.
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Retrieves a column as an array of chars (blob)
|
|
|
|
The index of the column.
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Retrieve the column as a date/time value
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieve the column as a decimal value
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Returns the column as a double
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Determines and returns the
|
|
specified column.
|
|
|
|
|
|
The index of the column.
|
|
|
|
|
|
The
|
|
column, if any.
|
|
|
|
|
|
|
|
|
|
Returns the .NET type of a given column
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Returns a column as a float value
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Returns the column as a Guid
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Returns the column as a short
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieves the column as an int
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieves the column as a long
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieves the name of the column
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Returns the name of the database associated with the specified column.
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Returns the name of the table associated with the specified column.
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Returns the original name of the specified column.
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieves the i of a column, given its name
|
|
|
|
The name of the column to retrieve
|
|
|
|
|
|
|
|
|
|
Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done
|
|
to gather the necessary information so it can be represented in an ADO.NET manner.
|
|
|
|
|
|
|
|
|
|
|
|
Retrieves the column as a string
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Retrieves the column as an object corresponding to the underlying datatype of the column
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Returns a collection containing all the column names and values for the
|
|
current row of data in the current resultset, if any. If there is no
|
|
current row or no current resultset, an exception may be thrown.
|
|
|
|
|
|
The collection containing the column name and value information for the
|
|
current row of data in the current resultset or null if this information
|
|
cannot be obtained.
|
|
|
|
|
|
|
|
|
|
Returns True if the resultset has rows that can be fetched
|
|
|
|
|
|
|
|
|
|
Returns True if the data reader is closed
|
|
|
|
|
|
|
|
|
|
Returns True if the specified column is null
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Moves to the next resultset in multiple row-returning SQL command.
|
|
|
|
|
|
|
|
|
|
|
|
This method attempts to query the database connection associated with
|
|
the data reader in use. If the underlying command or connection is
|
|
unavailable, a null value will be returned.
|
|
|
|
|
|
The connection object -OR- null if it is unavailable.
|
|
|
|
|
|
|
|
|
|
Retrieves the SQLiteType for a given column and row value.
|
|
|
|
|
|
The original SQLiteType structure, based only on the column.
|
|
|
|
|
|
The textual value of the column for a given row.
|
|
|
|
|
|
The SQLiteType structure.
|
|
|
|
|
|
|
|
|
|
Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls.
|
|
|
|
The flags associated with the parent connection object.
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
Reads the next row from the resultset
|
|
|
|
|
|
|
|
|
|
|
|
Returns the number of rows affected by the statement being executed.
|
|
The value returned may not be accurate for DDL statements. Also, it
|
|
will be -1 for any statement that does not modify the database (e.g.
|
|
SELECT). If an otherwise read-only statement modifies the database
|
|
indirectly (e.g. via a virtual table or user-defined function), the
|
|
value returned is undefined.
|
|
|
|
|
|
|
|
|
|
Indexer to retrieve data from a column given its name
|
|
|
|
The name of the column to retrieve data for
|
|
|
|
|
|
|
|
|
|
Indexer to retrieve data from a column given its i
|
|
|
|
The index of the column.
|
|
|
|
|
|
|
|
|
|
SQLite exception class.
|
|
|
|
|
|
|
|
|
|
This value was copied from the "WinError.h" file included with the
|
|
Platform SDK for Windows 10.
|
|
|
|
|
|
|
|
|
|
Private constructor for use with serialization.
|
|
|
|
|
|
Holds the serialized object data about the exception being thrown.
|
|
|
|
|
|
Contains contextual information about the source or destination.
|
|
|
|
|
|
|
|
|
|
Public constructor for generating a SQLite exception given the error
|
|
code and message.
|
|
|
|
|
|
The SQLite return code to report.
|
|
|
|
|
|
Message text to go along with the return code message text.
|
|
|
|
|
|
|
|
|
|
Public constructor that uses the base class constructor for the error
|
|
message.
|
|
|
|
Error message text.
|
|
|
|
|
|
|
|
Public constructor that uses the default base class constructor.
|
|
|
|
|
|
|
|
|
|
Public constructor that uses the base class constructor for the error
|
|
message and inner exception.
|
|
|
|
Error message text.
|
|
The original (inner) exception.
|
|
|
|
|
|
|
|
Adds extra information to the serialized object data specific to this
|
|
class type. This is only used for serialization.
|
|
|
|
|
|
Holds the serialized object data about the exception being thrown.
|
|
|
|
|
|
Contains contextual information about the source or destination.
|
|
|
|
|
|
|
|
|
|
Gets the associated SQLite result code for this exception as a
|
|
|
|
underlying value as the
|
|
|
|
|
|
|
|
|
|
Gets the associated SQLite return code for this exception as an
|
|
|
|
this property overrides the property of the same name within the
|
|
|
|
class. This property returns the same underlying value as the
|
|
|
|
|
|
|
|
|
|
|
|
This method performs extra initialization tasks. It may be called by
|
|
any of the constructors of this class. It must not throw exceptions.
|
|
|
|
|
|
|
|
|
|
Maps a Win32 error code to an HRESULT.
|
|
|
|
|
|
The specified Win32 error code. It must be within the range of zero
|
|
(0) to 0xFFFF (65535).
|
|
|
|
|
|
Non-zero if the HRESULT should indicate success; otherwise, zero.
|
|
|
|
|
|
The integer value of the HRESULT.
|
|
|
|
|
|
|
|
|
|
Attempts to map the specified
|
|
existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The
|
|
mappings may not have perfectly matching semantics; however, they do
|
|
have the benefit of being unique within the context of this exception
|
|
type.
|
|
|
|
|
|
The
|
|
|
|
|
|
The integer HRESULT value -OR- null if there is no known mapping.
|
|
|
|
|
|
|
|
|
|
Returns the error message for the specified SQLite return code.
|
|
|
|
The SQLite return code.
|
|
|
|
|
|
|
|
|
|
Returns the composite error message based on the SQLite return code
|
|
and the optional detailed error message.
|
|
|
|
The SQLite return code.
|
|
Optional detailed error message.
|
|
|
|
|
|
|
|
|
|
SQLite error codes. Actually, this enumeration represents a return code,
|
|
which may also indicate success in one of several ways (e.g. SQLITE_OK,
|
|
SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is
|
|
something of a misnomer.
|
|
|
|
|
|
|
|
|
|
The error code is unknown. This error code
|
|
is only used by the managed wrapper itself.
|
|
|
|
|
|
|
|
|
|
Successful result
|
|
|
|
|
|
|
|
|
|
SQL error or missing database
|
|
|
|
|
|
|
|
|
|
Internal logic error in SQLite
|
|
|
|
|
|
|
|
|
|
Access permission denied
|
|
|
|
|
|
|
|
|
|
Callback routine requested an abort
|
|
|
|
|
|
|
|
|
|
The database file is locked
|
|
|
|
|
|
|
|
|
|
A table in the database is locked
|
|
|
|
|
|
|
|
|
|
A malloc() failed
|
|
|
|
|
|
|
|
|
|
Attempt to write a readonly database
|
|
|
|
|
|
|
|
|
|
Operation terminated by sqlite3_interrupt()
|
|
|
|
|
|
|
|
|
|
Some kind of disk I/O error occurred
|
|
|
|
|
|
|
|
|
|
The database disk image is malformed
|
|
|
|
|
|
|
|
|
|
Unknown opcode in sqlite3_file_control()
|
|
|
|
|
|
|
|
|
|
Insertion failed because database is full
|
|
|
|
|
|
|
|
|
|
Unable to open the database file
|
|
|
|
|
|
|
|
|
|
Database lock protocol error
|
|
|
|
|
|
|
|
|
|
Database is empty
|
|
|
|
|
|
|
|
|
|
The database schema changed
|
|
|
|
|
|
|
|
|
|
String or BLOB exceeds size limit
|
|
|
|
|
|
|
|
|
|
Abort due to constraint violation
|
|
|
|
|
|
|
|
|
|
Data type mismatch
|
|
|
|
|
|
|
|
|
|
Library used incorrectly
|
|
|
|
|
|
|
|
|
|
Uses OS features not supported on host
|
|
|
|
|
|
|
|
|
|
Authorization denied
|
|
|
|
|
|
|
|
|
|
Auxiliary database format error
|
|
|
|
|
|
|
|
|
|
2nd parameter to sqlite3_bind out of range
|
|
|
|
|
|
|
|
|
|
File opened that is not a database file
|
|
|
|
|
|
|
|
|
|
Notifications from sqlite3_log()
|
|
|
|
|
|
|
|
|
|
Warnings from sqlite3_log()
|
|
|
|
|
|
|
|
|
|
sqlite3_step() has another row ready
|
|
|
|
|
|
|
|
|
|
sqlite3_step() has finished executing
|
|
|
|
|
|
|
|
|
|
Used to mask off extended result codes
|
|
|
|
|
|
|
|
|
|
A collation sequence was referenced by a schema and it cannot be
|
|
found.
|
|
|
|
|
|
|
|
|
|
An internal operation failed and it may succeed if retried.
|
|
|
|
|
|
|
|
|
|
The specified snapshot has been overwritten by a checkpoint.
|
|
|
|
|
|
|
|
|
|
A file read operation failed.
|
|
|
|
|
|
|
|
|
|
A file read operation returned less data than requested.
|
|
|
|
|
|
|
|
|
|
A file write operation failed.
|
|
|
|
|
|
|
|
|
|
A file synchronization operation failed.
|
|
|
|
|
|
|
|
|
|
A directory synchronization operation failed.
|
|
|
|
|
|
|
|
|
|
A file truncate operation failed.
|
|
|
|
|
|
|
|
|
|
A file metadata operation failed.
|
|
|
|
|
|
|
|
|
|
A file unlock operation failed.
|
|
|
|
|
|
|
|
|
|
A file lock operation failed.
|
|
|
|
|
|
|
|
|
|
A file delete operation failed.
|
|
|
|
|
|
|
|
|
|
Not currently used.
|
|
|
|
|
|
|
|
|
|
Out-of-memory during a file operation.
|
|
|
|
|
|
|
|
|
|
A file existence/status operation failed.
|
|
|
|
|
|
|
|
|
|
A check for a reserved lock failed.
|
|
|
|
|
|
|
|
|
|
A file lock operation failed.
|
|
|
|
|
|
|
|
|
|
A file close operation failed.
|
|
|
|
|
|
|
|
|
|
A directory close operation failed.
|
|
|
|
|
|
|
|
|
|
A shared memory open operation failed.
|
|
|
|
|
|
|
|
|
|
A shared memory size operation failed.
|
|
|
|
|
|
|
|
|
|
A shared memory lock operation failed.
|
|
|
|
|
|
|
|
|
|
A shared memory map operation failed.
|
|
|
|
|
|
|
|
|
|
A file seek operation failed.
|
|
|
|
|
|
|
|
|
|
A file delete operation failed because it does not exist.
|
|
|
|
|
|
|
|
|
|
A file memory mapping operation failed.
|
|
|
|
|
|
|
|
|
|
The temporary directory path could not be obtained.
|
|
|
|
|
|
|
|
|
|
A path string conversion operation failed.
|
|
|
|
|
|
|
|
|
|
Reserved.
|
|
|
|
|
|
|
|
|
|
An attempt to authenticate failed.
|
|
|
|
|
|
|
|
|
|
An attempt to begin a file system transaction failed.
|
|
|
|
|
|
|
|
|
|
An attempt to commit a file system transaction failed.
|
|
|
|
|
|
|
|
|
|
An attempt to rollback a file system transaction failed.
|
|
|
|
|
|
|
|
|
|
Data read from the file system appears to be incorrect.
|
|
|
|
|
|
|
|
|
|
A database table is locked in shared-cache mode.
|
|
|
|
|
|
|
|
|
|
A virtual table in the database is locked.
|
|
|
|
|
|
|
|
|
|
A database file is locked due to a recovery operation.
|
|
|
|
|
|
|
|
|
|
A database file is locked due to snapshot semantics.
|
|
|
|
|
|
|
|
|
|
An internal timeout was encountered while waiting for a database lock.
|
|
|
|
|
|
|
|
|
|
A database file cannot be opened because no temporary directory is available.
|
|
|
|
|
|
|
|
|
|
A database file cannot be opened because its path represents a directory.
|
|
|
|
|
|
|
|
|
|
A database file cannot be opened because its full path could not be obtained.
|
|
|
|
|
|
|
|
|
|
A database file cannot be opened because a path string conversion operation failed.
|
|
|
|
|
|
|
|
|
|
No longer used.
|
|
|
|
|
|
|
|
|
|
A database file is a symbolic link and cannot be opened.
|
|
|
|
|
|
|
|
|
|
A virtual table is malformed.
|
|
|
|
|
|
|
|
|
|
A required sequence table is missing or corrupt.
|
|
|
|
|
|
|
|
|
|
An index entry that should be present is missing.
|
|
|
|
|
|
|
|
|
|
A database file is read-only due to a recovery operation.
|
|
|
|
|
|
|
|
|
|
A database file is read-only because a lock could not be obtained.
|
|
|
|
|
|
|
|
|
|
A database file is read-only because it needs rollback processing.
|
|
|
|
|
|
|
|
|
|
A database file is read-only because it was moved while open.
|
|
|
|
|
|
|
|
|
|
The shared-memory file is read-only and it should be read-write.
|
|
|
|
|
|
|
|
|
|
Unable to create journal file because the directory is read-only.
|
|
|
|
|
|
|
|
|
|
An operation is being aborted due to rollback processing.
|
|
|
|
|
|
|
|
|
|
A CHECK constraint failed.
|
|
|
|
|
|
|
|
|
|
A commit hook produced a unsuccessful return code.
|
|
|
|
|
|
|
|
|
|
A FOREIGN KEY constraint failed.
|
|
|
|
|
|
|
|
|
|
Not currently used.
|
|
|
|
|
|
|
|
|
|
A NOT NULL constraint failed.
|
|
|
|
|
|
|
|
|
|
A PRIMARY KEY constraint failed.
|
|
|
|
|
|
|
|
|
|
The RAISE function was used by a trigger-program.
|
|
|
|
|
|
|
|
|
|
A UNIQUE constraint failed.
|
|
|
|
|
|
|
|
|
|
Not currently used.
|
|
|
|
|
|
|
|
|
|
A ROWID constraint failed.
|
|
|
|
|
|
|
|
|
|
A database cursor is busy and cannot be moved.
|
|
|
|
|
|
|
|
|
|
Frames were recovered from the WAL log file.
|
|
|
|
|
|
|
|
|
|
Pages were recovered from the journal file.
|
|
|
|
|
|
|
|
|
|
An automatic index was created to process a query.
|
|
|
|
|
|
|
|
|
|
User authentication failed.
|
|
|
|
|
|
|
|
|
|
Success. Prevents the extension from unloading until the process
|
|
terminates.
|
|
|
|
|
|
|
|
|
|
Success. The specified file name refers to a symbolic link.
|
|
|
|
|
|
|
|
|
|
SQLite implementation of
|
|
|
|
|
|
SQLite implementation of
|
|
|
|
|
|
|
|
|
|
Constructs a new instance.
|
|
|
|
|
|
|
|
|
|
Cleans up resources (native and managed) associated with the current instance.
|
|
|
|
|
|
|
|
|
|
Cleans up resources associated with the current instance.
|
|
|
|
|
|
|
|
|
|
This event is raised whenever SQLite raises a logging event.
|
|
Note that this should be set as one of the first things in the
|
|
application. This event is provided for backward compatibility only.
|
|
New code should use the
|
|
|
|
|
|
|
|
|
|
Static instance member which returns an instanced
|
|
|
|
|
|
|
|
|
|
Creates and returns a new
|
|
|
|
|
|
|
|
|
|
|
|
Creates and returns a new
|
|
|
|
|
|
|
|
|
|
|
|
Creates and returns a new
|
|
|
|
|
|
|
|
|
|
|
|
Creates and returns a new
|
|
|
|
|
|
|
|
|
|
|
|
Creates and returns a new
|
|
|
|
|
|
|
|
|
|
|
|
Creates and returns a new
|
|
|
|
|
|
|
|
|
|
|
|
This method is called to perform preliminary static initialization
|
|
necessary for this class.
|
|
|
|
|
|
|
|
|
|
This method is called to perform some of the static initialization
|
|
necessary for this class.
|
|
|
|
|
|
|
|
|
|
Will provide a
|
|
|
|
The class or interface type to query for.
|
|
|
|
|
|
|
|
|
|
This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each
|
|
connection to the database.
|
|
|
|
|
|
Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
|
|
to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database
|
|
calls during processing.
|
|
|
|
It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class
|
|
services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement
|
|
information in member variables of user-defined function classes.
|
|
|
|
For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will
|
|
be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes.
|
|
|
|
|
|
|
|
|
|
The base connection this function is attached to
|
|
|
|
|
|
|
|
|
|
Internal array used to keep track of aggregate function context data
|
|
|
|
|
|
|
|
|
|
The connection flags associated with this object (this should be the
|
|
same value as the flags associated with the parent connection object).
|
|
|
|
|
|
|
|
|
|
Holds a reference to the callback function for user functions
|
|
|
|
|
|
|
|
|
|
Holds a reference to the callbakc function for stepping in an aggregate function
|
|
|
|
|
|
|
|
|
|
Holds a reference to the callback function for finalizing an aggregate function
|
|
|
|
|
|
|
|
|
|
Holds a reference to the callback function for collating sequences
|
|
|
|
|
|
|
|
|
|
Current context of the current callback. Only valid during a callback
|
|
|
|
|
|
|
|
|
|
This static dictionary contains all the registered (known) user-defined
|
|
functions declared using the proper attributes. The contained dictionary
|
|
values are always null and are not currently used.
|
|
|
|
|
|
|
|
|
|
Internal constructor, initializes the function's internal variables.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified data-type
|
|
conversion parameters.
|
|
|
|
|
|
The DateTime format to be used when converting string values to a
|
|
DateTime and binding DateTime parameters.
|
|
|
|
|
|
The
|
|
values.
|
|
|
|
|
|
The format string to be used when parsing and formatting DateTime
|
|
values.
|
|
|
|
|
|
Non-zero to create a UTF-16 data-type conversion context; otherwise,
|
|
a UTF-8 data-type conversion context will be created.
|
|
|
|
|
|
|
|
|
|
Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if
|
|
someone closes the connection while a DataReader is open.
|
|
|
|
|
|
|
|
|
|
Placeholder for a user-defined disposal routine
|
|
|
|
True if the object is being disposed explicitly
|
|
|
|
|
|
|
|
Cleans up resources associated with the current instance.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Scalar functions override this method to do their magic.
|
|
|
|
|
|
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
|
|
to force them into a certain type. Therefore the only types you will ever see as parameters are
|
|
DBNull.Value, Int64, Double, String or byte[] array.
|
|
|
|
The arguments for the command to process
|
|
|
|
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
|
|
just return it!
|
|
|
|
|
|
|
|
Aggregate functions override this method to do their magic.
|
|
|
|
|
|
Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible.
|
|
|
|
The arguments for the command to process
|
|
The 1-based step number. This is incrememted each time the step method is called.
|
|
A placeholder for implementers to store contextual data pertaining to the current context.
|
|
|
|
|
|
|
|
Aggregate functions override this method to finish their aggregate processing.
|
|
|
|
|
|
If you implemented your aggregate function properly,
|
|
you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have
|
|
all the information you need in there to figure out what to return.
|
|
NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will
|
|
be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value
|
|
if that is the case.
|
|
|
|
Your own assigned contextData, provided for you so you can return your final results.
|
|
|
|
you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error,
|
|
just return it!
|
|
|
|
|
|
|
|
|
|
User-defined collating sequences override this method to provide a custom string sorting algorithm.
|
|
|
|
The first string to compare.
|
|
The second strnig to compare.
|
|
|
|
|
|
|
|
|
|
Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to.
|
|
|
|
|
|
Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available
|
|
to force them into a certain type. Therefore the only types you will ever see as parameters are
|
|
DBNull.Value, Int64, Double, String or byte[] array.
|
|
|
|
The number of arguments
|
|
A pointer to the array of arguments
|
|
|
|
|
|
|
|
|
|
Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context.
|
|
|
|
The context the return value applies to
|
|
The parameter to return to SQLite
|
|
|
|
|
|
|
|
Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
|
|
WARNING: Must not throw exceptions.
|
|
|
|
A raw context pointer
|
|
Number of arguments passed in
|
|
A pointer to the array of arguments
|
|
|
|
|
|
|
|
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
|
|
WARNING: Must not throw exceptions.
|
|
|
|
Not used
|
|
Length of the string pv1
|
|
Pointer to the first string to compare
|
|
Length of the string pv2
|
|
Pointer to the second string to compare
|
|
|
|
than the second. Returns 0 if an exception is caught.
|
|
|
|
|
|
|
|
Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
|
|
WARNING: Must not throw exceptions.
|
|
|
|
Not used
|
|
Length of the string pv1
|
|
Pointer to the first string to compare
|
|
Length of the string pv2
|
|
Pointer to the second string to compare
|
|
|
|
than the second. Returns 0 if an exception is caught.
|
|
|
|
|
|
|
|
The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method.
|
|
WARNING: Must not throw exceptions.
|
|
|
|
|
|
This function takes care of doing the lookups and getting the important information put together to call the Step() function.
|
|
That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so
|
|
binary searches can be done to find the data.
|
|
|
|
A raw context pointer
|
|
Number of arguments passed in
|
|
A pointer to the array of arguments
|
|
|
|
|
|
|
|
An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
|
|
WARNING: Must not throw exceptions.
|
|
|
|
A raw context pointer
|
|
|
|
|
|
|
|
Using reflection, enumerate all assemblies in the current appdomain looking for classes that
|
|
have a SQLiteFunctionAttribute attribute, and registering them accordingly.
|
|
|
|
|
|
|
|
|
|
Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work
|
|
properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported.
|
|
|
|
The type of the function to register
|
|
|
|
|
|
|
|
Alternative method of registering a function. This method
|
|
does not require the specified type to be annotated with
|
|
|
|
|
|
|
|
The name of the function to register.
|
|
|
|
|
|
The number of arguments accepted by the function.
|
|
|
|
|
|
The type of SQLite function being resitered (e.g. scalar,
|
|
aggregate, or collating sequence).
|
|
|
|
|
|
The
|
|
This will only be used if the
|
|
and
|
|
|
|
|
|
The
|
|
|
|
|
|
and
|
|
|
|
|
|
The
|
|
|
|
parameter is only necessary for aggregate functions.
|
|
|
|
|
|
|
|
|
|
Replaces a registered function, disposing of the associated (old)
|
|
value if necessary.
|
|
|
|
|
|
The attribute that describes the function to replace.
|
|
|
|
|
|
The new value to use.
|
|
|
|
|
|
Non-zero if an existing registered function was replaced; otherwise,
|
|
zero.
|
|
|
|
|
|
|
|
|
|
Creates a
|
|
|
|
|
|
|
|
The
|
|
the function to create.
|
|
|
|
|
|
The created function -OR- null if the function could not be created.
|
|
|
|
|
|
Non-zero if the function was created; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection.
|
|
It is done this way so that all user-defined functions will access the database using the same encoding scheme
|
|
as the connection (UTF-8 or UTF-16).
|
|
|
|
|
|
The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
|
|
all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks.
|
|
|
|
The base object on which the functions are to bind.
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
Called by the SQLiteBase derived classes, this method unbinds all registered (known)
|
|
functions -OR- all previously bound user-defined functions from a connection.
|
|
|
|
The base object from which the functions are to be unbound.
|
|
The flags associated with the parent connection object.
|
|
|
|
Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions
|
|
currently bound to the connection.
|
|
|
|
|
|
|
|
|
|
|
|
This function binds a user-defined function to a connection.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
The
|
|
the metadata for the function to be bound.
|
|
|
|
|
|
The
|
|
function to be bound.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
This function unbinds a user-defined functions from a connection.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
The
|
|
the metadata for the function to be bound.
|
|
|
|
|
|
The
|
|
function to be bound.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
|
|
This
|
|
|
|
|
|
|
|
This is always the string literal "Invoke".
|
|
|
|
|
|
The arguments for the scalar function.
|
|
|
|
|
|
The result of the scalar function.
|
|
|
|
|
|
|
|
|
|
This
|
|
|
|
|
|
|
|
This is always the string literal "Step".
|
|
|
|
|
|
The arguments for the aggregate function.
|
|
|
|
|
|
The step number (one based). This is incrememted each time the
|
|
|
|
|
|
|
|
A placeholder for implementers to store contextual data pertaining
|
|
to the current context.
|
|
|
|
|
|
|
|
|
|
This
|
|
|
|
|
|
|
|
This is always the string literal "Final".
|
|
|
|
|
|
A placeholder for implementers to store contextual data pertaining
|
|
to the current context.
|
|
|
|
|
|
The result of the aggregate function.
|
|
|
|
|
|
|
|
|
|
This
|
|
|
|
|
|
|
|
This is always the string literal "Compare".
|
|
|
|
|
|
The first string to compare.
|
|
|
|
|
|
The second strnig to compare.
|
|
|
|
|
|
A positive integer if the
|
|
greater than the
|
|
integer if the
|
|
the
|
|
equal.
|
|
|
|
|
|
|
|
|
|
This class implements a SQLite function using a
|
|
All the virtual methods of the
|
|
implemented using calls to the
|
|
|
|
and
|
|
or via the
|
|
The arguments are presented in the same order they appear in
|
|
the associated
|
|
the first argument is the name of the virtual method being implemented.
|
|
|
|
|
|
|
|
|
|
This error message is used by the overridden virtual methods when
|
|
a required
|
|
|
|
set.
|
|
|
|
|
|
|
|
|
|
This error message is used by the overridden
|
|
method when the result does not have a type of
|
|
|
|
|
|
|
|
|
|
Constructs an empty instance of this class.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified
|
|
|
|
implementation.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns the list of arguments for the
|
|
as an
|
|
argument is always the literal string "Invoke".
|
|
|
|
|
|
The original arguments received by the
|
|
|
|
|
|
Non-zero if the returned arguments are going to be used with the
|
|
|
|
|
|
|
|
The arguments to pass to the configured
|
|
|
|
|
|
|
|
|
|
Returns the list of arguments for the
|
|
as an
|
|
argument is always the literal string "Step".
|
|
|
|
|
|
The original arguments received by the
|
|
|
|
|
|
The step number (one based). This is incrememted each time the
|
|
|
|
|
|
|
|
A placeholder for implementers to store contextual data pertaining
|
|
to the current context.
|
|
|
|
|
|
Non-zero if the returned arguments are going to be used with the
|
|
|
|
|
|
|
|
The arguments to pass to the configured
|
|
|
|
|
|
|
|
|
|
Updates the output arguments for the
|
|
using an
|
|
argument is always the literal string "Step". Currently, only the
|
|
|
|
|
|
|
|
The original arguments received by the
|
|
|
|
|
|
A placeholder for implementers to store contextual data pertaining
|
|
to the current context.
|
|
|
|
|
|
Non-zero if the returned arguments are going to be used with the
|
|
|
|
|
|
|
|
The arguments to pass to the configured
|
|
|
|
|
|
|
|
|
|
Returns the list of arguments for the
|
|
as an
|
|
argument is always the literal string "Final".
|
|
|
|
|
|
A placeholder for implementers to store contextual data pertaining
|
|
to the current context.
|
|
|
|
|
|
Non-zero if the returned arguments are going to be used with the
|
|
|
|
|
|
|
|
The arguments to pass to the configured
|
|
|
|
|
|
|
|
|
|
Returns the list of arguments for the
|
|
as an
|
|
argument is always the literal string "Compare".
|
|
|
|
|
|
The first string to compare.
|
|
|
|
|
|
The second strnig to compare.
|
|
|
|
|
|
Non-zero if the returned arguments are going to be used with the
|
|
|
|
|
|
|
|
The arguments to pass to the configured
|
|
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This virtual method is the implementation for scalar functions.
|
|
See the
|
|
details.
|
|
|
|
|
|
The arguments for the scalar function.
|
|
|
|
|
|
The result of the scalar function.
|
|
|
|
|
|
|
|
|
|
This virtual method is part of the implementation for aggregate
|
|
functions. See the
|
|
for more details.
|
|
|
|
|
|
The arguments for the aggregate function.
|
|
|
|
|
|
The step number (one based). This is incrememted each time the
|
|
|
|
|
|
|
|
A placeholder for implementers to store contextual data pertaining
|
|
to the current context.
|
|
|
|
|
|
|
|
|
|
This virtual method is part of the implementation for aggregate
|
|
functions. See the
|
|
for more details.
|
|
|
|
|
|
A placeholder for implementers to store contextual data pertaining
|
|
to the current context.
|
|
|
|
|
|
The result of the aggregate function.
|
|
|
|
|
|
|
|
|
|
This virtual method is part of the implementation for collating
|
|
sequences. See the
|
|
for more details.
|
|
|
|
|
|
The first string to compare.
|
|
|
|
|
|
The second strnig to compare.
|
|
|
|
|
|
A positive integer if the
|
|
greater than the
|
|
integer if the
|
|
the
|
|
equal.
|
|
|
|
|
|
|
|
|
|
Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
|
|
|
|
|
|
User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
|
|
|
|
|
|
|
|
|
|
Obtains the collating sequence in effect for the given function.
|
|
|
|
|
|
|
|
|
|
|
|
Cleans up resources (native and managed) associated with the current instance.
|
|
|
|
|
|
Zero when being disposed via garbage collection; otherwise, non-zero.
|
|
|
|
|
|
|
|
|
|
The type of user-defined function to declare
|
|
|
|
|
|
|
|
|
|
Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc.
|
|
|
|
|
|
|
|
|
|
Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
|
|
Examples include SUM(), COUNT(), AVG(), etc.
|
|
|
|
|
|
|
|
|
|
Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is
|
|
sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting
|
|
in a user-defined manner.
|
|
|
|
|
|
|
|
|
|
An internal callback delegate declaration.
|
|
|
|
Raw native context pointer for the user function.
|
|
Total number of arguments to the user function.
|
|
Raw native pointer to the array of raw native argument pointers.
|
|
|
|
|
|
|
|
An internal final callback delegate declaration.
|
|
|
|
Raw context pointer for the user function
|
|
|
|
|
|
|
|
Internal callback delegate for implementing collating sequences
|
|
|
|
Not used
|
|
Length of the string pv1
|
|
Pointer to the first string to compare
|
|
Length of the string pv2
|
|
Pointer to the second string to compare
|
|
|
|
than the second.
|
|
|
|
|
|
|
|
The type of collating sequence
|
|
|
|
|
|
|
|
|
|
The built-in BINARY collating sequence
|
|
|
|
|
|
|
|
|
|
The built-in NOCASE collating sequence
|
|
|
|
|
|
|
|
|
|
The built-in REVERSE collating sequence
|
|
|
|
|
|
|
|
|
|
A custom user-defined collating sequence
|
|
|
|
|
|
|
|
|
|
The encoding type the collation sequence uses
|
|
|
|
|
|
|
|
|
|
The collation sequence is UTF8
|
|
|
|
|
|
|
|
|
|
The collation sequence is UTF16 little-endian
|
|
|
|
|
|
|
|
|
|
The collation sequence is UTF16 big-endian
|
|
|
|
|
|
|
|
|
|
A struct describing the collating sequence a function is executing in
|
|
|
|
|
|
|
|
|
|
The name of the collating sequence
|
|
|
|
|
|
|
|
|
|
The type of collating sequence
|
|
|
|
|
|
|
|
|
|
The text encoding of the collation sequence
|
|
|
|
|
|
|
|
|
|
Context of the function that requested the collating sequence
|
|
|
|
|
|
|
|
|
|
Calls the base collating sequence to compare two strings
|
|
|
|
The first string to compare
|
|
The second string to compare
|
|
|
|
|
|
|
|
|
|
Calls the base collating sequence to compare two character arrays
|
|
|
|
The first array to compare
|
|
The second array to compare
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class. This sets the initial
|
|
|
|
|
|
|
|
|
|
The name of the function, as seen by the SQLite core library.
|
|
|
|
|
|
The number of arguments that the function will accept.
|
|
|
|
|
|
The type of function being declared. This will either be Scalar,
|
|
Aggregate, or Collation.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
The
|
|
containing the implementation for the associated function. The value of
|
|
this property will not be used if either the
|
|
|
|
|
|
|
|
|
|
|
|
The
|
|
associated function. If this property value is set to non-null, it will
|
|
be used instead of the
|
|
|
|
|
|
|
|
|
|
The
|
|
associated function. If this property value is set to non-null, it will
|
|
be used instead of the
|
|
|
|
|
|
|
|
|
|
This class provides key info for a given SQLite statement.
|
|
|
|
Providing key information for a given statement is non-trivial :(
|
|
|
|
|
|
|
|
|
|
|
|
Used to support CommandBehavior.KeyInfo
|
|
|
|
|
|
|
|
|
|
Used to keep track of the per-table RowId column metadata.
|
|
|
|
|
|
|
|
|
|
A single sub-query for a given table/database.
|
|
|
|
|
|
|
|
|
|
This function does all the nasty work at determining what keys need to be returned for
|
|
a given statement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
How many additional columns of keyinfo we're holding
|
|
|
|
|
|
|
|
|
|
Make sure all the subqueries are open and ready and sync'd with the current rowid
|
|
of the table they're supporting
|
|
|
|
|
|
|
|
|
|
Release any readers on any subqueries
|
|
|
|
|
|
|
|
|
|
Append all the columns we've added to the original query to the schema
|
|
|
|
|
|
|
|
|
|
|
|
Event data for logging event handlers.
|
|
|
|
|
|
|
|
|
|
The error code. The type of this object value should be
|
|
|
|
|
|
|
|
|
|
|
|
SQL statement text as the statement first begins executing
|
|
|
|
|
|
|
|
|
|
Extra data associated with this event, if any.
|
|
|
|
|
|
|
|
|
|
Constructs the object.
|
|
|
|
Should be null.
|
|
|
|
The error code. The type of this object value should be
|
|
|
|
|
|
The error message, if any.
|
|
The extra data, if any.
|
|
|
|
|
|
|
|
Raised when a log event occurs.
|
|
|
|
The current connection
|
|
Event arguments of the trace
|
|
|
|
|
|
|
|
Manages the SQLite custom logging functionality and the associated
|
|
callback for the whole process.
|
|
|
|
|
|
|
|
|
|
Object used to synchronize access to the static instance data
|
|
for this class.
|
|
|
|
|
|
|
|
|
|
Member variable to store the AppDomain.DomainUnload event handler.
|
|
|
|
|
|
|
|
|
|
Member variable to store the application log handler to call.
|
|
|
|
|
|
|
|
|
|
The default log event handler.
|
|
|
|
|
|
|
|
|
|
The log callback passed to native SQLite engine. This must live
|
|
as long as the SQLite library has a pointer to it.
|
|
|
|
|
|
|
|
|
|
The base SQLite object to interop with.
|
|
|
|
|
|
|
|
|
|
The number of times that the
|
|
has been called when the logging subystem was actually eligible
|
|
to be initialized (i.e. without the "No_SQLiteLog" environment
|
|
variable being set).
|
|
|
|
|
|
|
|
|
|
This will be non-zero if an attempt was already made to initialize
|
|
the (managed) logging subsystem.
|
|
|
|
|
|
|
|
|
|
This will be non-zero if logging is currently enabled.
|
|
|
|
|
|
|
|
|
|
Initializes the SQLite logging facilities.
|
|
|
|
|
|
|
|
|
|
Initializes the SQLite logging facilities.
|
|
|
|
|
|
The name of the managed class that called this method. This
|
|
parameter may be null.
|
|
|
|
|
|
|
|
|
|
Handles the AppDomain being unloaded.
|
|
|
|
Should be null.
|
|
The data associated with this event.
|
|
|
|
|
|
|
|
This event is raised whenever SQLite raises a logging event.
|
|
Note that this should be set as one of the first things in the
|
|
application.
|
|
|
|
|
|
|
|
|
|
If this property is true, logging is enabled; otherwise, logging is
|
|
disabled. When logging is disabled, no logging events will fire.
|
|
|
|
|
|
|
|
|
|
Log a message to all the registered log event handlers without going
|
|
through the SQLite library.
|
|
|
|
The message to be logged.
|
|
|
|
|
|
|
|
Log a message to all the registered log event handlers without going
|
|
through the SQLite library.
|
|
|
|
The SQLite error code.
|
|
The message to be logged.
|
|
|
|
|
|
|
|
Log a message to all the registered log event handlers without going
|
|
through the SQLite library.
|
|
|
|
The integer error code.
|
|
The message to be logged.
|
|
|
|
|
|
|
|
Log a message to all the registered log event handlers without going
|
|
through the SQLite library.
|
|
|
|
|
|
The error code. The type of this object value should be
|
|
System.Int32 or SQLiteErrorCode.
|
|
|
|
The message to be logged.
|
|
|
|
|
|
|
|
Creates and initializes the default log event handler.
|
|
|
|
|
|
|
|
|
|
Adds the default log event handler to the list of handlers.
|
|
|
|
|
|
|
|
|
|
Removes the default log event handler from the list of handlers.
|
|
|
|
|
|
|
|
|
|
Internal proxy function that calls any registered application log
|
|
event handlers.
|
|
|
|
WARNING: This method is used more-or-less directly by native code,
|
|
do not modify its type signature.
|
|
|
|
|
|
The extra data associated with this message, if any.
|
|
|
|
|
|
The error code associated with this message.
|
|
|
|
|
|
The message string to be logged.
|
|
|
|
|
|
|
|
|
|
Default logger. Currently, uses the Trace class (i.e. sends events
|
|
to the current trace listeners, if any).
|
|
|
|
Should be null.
|
|
The data associated with this event.
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Returns the triggers on the database
|
|
|
|
|
|
|
|
|
|
SQLite implementation of DbParameter.
|
|
|
|
|
|
|
|
|
|
This value represents an "unknown"
|
|
|
|
|
|
|
|
|
|
The command associated with this parameter.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
The database type name associated with this parameter, if any.
|
|
|
|
|
|
|
|
|
|
Constructor used when creating for use with a specific command.
|
|
|
|
|
|
The command associated with this parameter.
|
|
|
|
|
|
|
|
|
|
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 a named parameter, yet another flavor
|
|
|
|
The name of the parameter
|
|
The data type
|
|
The size of the parameter
|
|
Only input parameters are supported in SQLite
|
|
Ignored
|
|
Ignored
|
|
The source column
|
|
The row version information
|
|
Whether or not this parameter is for comparing NULL's
|
|
The intial 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
|
|
|
|
|
|
|
|
The command associated with this parameter.
|
|
|
|
|
|
|
|
|
|
Whether or not the parameter can contain a null value
|
|
|
|
|
|
|
|
|
|
Returns the datatype of the parameter
|
|
|
|
|
|
|
|
|
|
Supports only input parameters
|
|
|
|
|
|
|
|
|
|
Returns the parameter name
|
|
|
|
|
|
|
|
|
|
Resets the DbType of the parameter so it can be inferred from the value
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
The database type name associated with this parameter, if any.
|
|
|
|
|
|
|
|
|
|
Clones a parameter
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Returns false
|
|
|
|
|
|
|
|
|
|
Returns false
|
|
|
|
|
|
|
|
|
|
Returns false
|
|
|
|
|
|
|
|
|
|
Returns null
|
|
|
|
|
|
|
|
|
|
Retrieves an enumerator for the collection
|
|
|
|
|
|
|
|
|
|
|
|
Adds a parameter to the collection
|
|
|
|
The parameter name
|
|
The data type
|
|
The size of the value
|
|
The source column
|
|
|
|
|
|
|
|
|
|
Adds a parameter to the collection
|
|
|
|
The parameter name
|
|
The data type
|
|
The size of the value
|
|
|
|
|
|
|
|
|
|
Adds a parameter to the collection
|
|
|
|
The parameter name
|
|
The data type
|
|
|
|
|
|
|
|
|
|
Adds a parameter to the collection
|
|
|
|
The parameter to add
|
|
|
|
|
|
|
|
|
|
Adds a parameter to the collection
|
|
|
|
The parameter to add
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
Determines if the parameter exists in the collection
|
|
|
|
The SQLiteParameter to check
|
|
|
|
|
|
|
|
|
|
Not implemented
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns a count of parameters in the collection
|
|
|
|
|
|
|
|
|
|
Overloaded to specialize the return value of the default indexer
|
|
|
|
Name of the parameter to get/set
|
|
|
|
|
|
|
|
|
|
Overloaded to specialize the return value of the default indexer
|
|
|
|
The index of the parameter to get/set
|
|
|
|
|
|
|
|
|
|
Retrieve a parameter by name from the collection
|
|
|
|
The name of the parameter to fetch
|
|
|
|
|
|
|
|
|
|
Retrieves a parameter by its index in the collection
|
|
|
|
The index of the parameter to retrieve
|
|
|
|
|
|
|
|
|
|
Returns the index of a parameter given its name
|
|
|
|
The name of the parameter to find
|
|
|
|
|
|
|
|
|
|
Returns the index of a parameter
|
|
|
|
The parameter to find
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Represents a single SQL statement in SQLite.
|
|
|
|
|
|
|
|
|
|
The underlying SQLite object this statement is bound to
|
|
|
|
|
|
|
|
|
|
The command text of this SQL statement
|
|
|
|
|
|
|
|
|
|
The actual statement pointer
|
|
|
|
|
|
|
|
|
|
An index from which unnamed parameters begin
|
|
|
|
|
|
|
|
|
|
Names of the parameters as SQLite understands them to be
|
|
|
|
|
|
|
|
|
|
Parameters for this statement
|
|
|
|
|
|
|
|
|
|
Command this statement belongs to (if any)
|
|
|
|
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
|
|
|
|
Initializes the statement and attempts to get all information about parameters in the statement
|
|
|
|
The base SQLite object
|
|
The flags associated with the parent connection object
|
|
The statement
|
|
The command text for this statement
|
|
The previous command in a multi-statement command
|
|
|
|
|
|
|
|
Disposes and finalizes the statement
|
|
|
|
|
|
|
|
|
|
If the underlying database connection is open, fetches the number of changed rows
|
|
resulting from the most recent query; otherwise, does nothing.
|
|
|
|
|
|
The number of changes when true is returned.
|
|
Undefined if false is returned.
|
|
|
|
|
|
The read-only flag when true is returned.
|
|
Undefined if false is returned.
|
|
|
|
|
|
|
|
|
|
|
|
Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to
|
|
this statement, and if so, keeps a reference to the parameter so it can be bound later.
|
|
|
|
The parameter name to map
|
|
The parameter to assign it
|
|
|
|
|
|
|
|
Bind all parameters, making sure the caller didn't miss any
|
|
|
|
|
|
|
|
|
|
This method attempts to query the database connection associated with
|
|
the statement in use. If the underlying command or connection is
|
|
unavailable, a null value will be returned.
|
|
|
|
|
|
The connection object -OR- null if it is unavailable.
|
|
|
|
|
|
|
|
|
|
Invokes the parameter binding callback configured for the database
|
|
type name associated with the specified column. If no parameter
|
|
binding callback is available for the database type name, do
|
|
nothing.
|
|
|
|
|
|
The index of the column being read.
|
|
|
|
|
|
The
|
|
command.
|
|
|
|
|
|
Non-zero if the default handling for the parameter binding call
|
|
should be skipped (i.e. the parameter should not be bound at all).
|
|
Great care should be used when setting this to non-zero.
|
|
|
|
|
|
|
|
|
|
Perform the bind operation for an individual parameter
|
|
|
|
The index of the parameter to bind
|
|
The parameter we're binding
|
|
|
|
|
|
|
|
SQLite implementation of DbTransaction that does not support nested transactions.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Disposes the transaction. If it is currently active, any changes are rolled back.
|
|
|
|
|
|
|
|
|
|
Commits the current transaction.
|
|
|
|
|
|
|
|
|
|
Attempts to start a transaction. An exception will be thrown if the transaction cannot
|
|
be started for any reason.
|
|
|
|
TRUE to defer the writelock, or FALSE to lock immediately
|
|
|
|
|
|
|
|
Issue a ROLLBACK command against the database connection,
|
|
optionally re-throwing any caught exception.
|
|
|
|
|
|
Non-zero to re-throw caught exceptions.
|
|
|
|
|
|
|
|
|
|
SQLite implementation of DbTransaction that does support nested transactions.
|
|
|
|
|
|
|
|
|
|
The original transaction level for the associated connection
|
|
when this transaction was created (i.e. begun).
|
|
|
|
|
|
|
|
|
|
The SAVEPOINT name for this transaction, if any. This will
|
|
only be non-null if this transaction is a nested one.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Disposes the transaction. If it is currently active, any changes are rolled back.
|
|
|
|
|
|
|
|
|
|
Commits the current transaction.
|
|
|
|
|
|
|
|
|
|
Attempts to start a transaction. An exception will be thrown if the transaction cannot
|
|
be started for any reason.
|
|
|
|
TRUE to defer the writelock, or FALSE to lock immediately
|
|
|
|
|
|
|
|
Issue a ROLLBACK command against the database connection,
|
|
optionally re-throwing any caught exception.
|
|
|
|
|
|
Non-zero to re-throw caught exceptions.
|
|
|
|
|
|
|
|
|
|
Constructs the name of a new savepoint for this transaction. It
|
|
should only be called from the constructor of this class.
|
|
|
|
|
|
The name of the new savepoint -OR- null if it cannot be constructed.
|
|
|
|
|
|
|
|
|
|
Base class used by to implement DbTransaction for SQLite.
|
|
|
|
|
|
|
|
|
|
The connection to which this transaction is bound.
|
|
|
|
|
|
|
|
|
|
Matches the version of the connection.
|
|
|
|
|
|
|
|
|
|
The isolation level for this transaction.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
Gets the isolation level of the transaction. SQLite only supports Serializable transactions.
|
|
|
|
|
|
|
|
|
|
Disposes the transaction. If it is currently active, any changes are rolled back.
|
|
|
|
|
|
|
|
|
|
Returns the underlying connection to which this transaction applies.
|
|
|
|
|
|
|
|
|
|
Forwards to the local Connection property
|
|
|
|
|
|
|
|
|
|
Rolls back the active transaction.
|
|
|
|
|
|
|
|
|
|
Attempts to start a transaction. An exception will be thrown if the transaction cannot
|
|
be started for any reason.
|
|
|
|
TRUE to defer the writelock, or FALSE to lock immediately
|
|
|
|
|
|
|
|
Issue a ROLLBACK command against the database connection,
|
|
optionally re-throwing any caught exception.
|
|
|
|
|
|
Non-zero to re-throw caught exceptions.
|
|
|
|
|
|
|
|
|
|
Checks the state of this transaction, optionally throwing an exception if a state
|
|
inconsistency is found.
|
|
|
|
|
|
Non-zero to throw an exception if a state inconsistency is found.
|
|
|
|
|
|
Non-zero if this transaction is valid; otherwise, false.
|
|
|
|
|
|
|
|
|
|
This static class provides some methods that are shared between the
|
|
native library pre-loader and other classes.
|
|
|
|
|
|
|
|
|
|
This lock is used to protect the static
|
|
|
|
|
|
|
|
|
|
|
|
This type is only present when running on Mono.
|
|
|
|
|
|
|
|
|
|
This type is only present when running on .NET Core.
|
|
|
|
|
|
|
|
|
|
Keeps track of whether we are running on Mono. Initially null, it is
|
|
set by the
|
|
is returned verbatim by the
|
|
|
|
|
|
|
|
|
|
Keeps track of whether we are running on .NET Core. Initially null,
|
|
it is set by the
|
|
call. Later, it is returned verbatim by the
|
|
|
|
|
|
|
|
|
|
|
|
Keeps track of whether we successfully invoked the
|
|
|
|
the
|
|
|
|
|
|
|
|
|
|
Determines the ID of the current process. Only used for debugging.
|
|
|
|
|
|
The ID of the current process -OR- zero if it cannot be determined.
|
|
|
|
|
|
|
|
|
|
Determines whether or not this assembly is running on Mono.
|
|
|
|
|
|
Non-zero if this assembly is running on Mono.
|
|
|
|
|
|
|
|
|
|
Determines whether or not this assembly is running on .NET Core.
|
|
|
|
|
|
Non-zero if this assembly is running on .NET Core.
|
|
|
|
|
|
|
|
|
|
Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger"
|
|
configuration setting.
|
|
|
|
|
|
|
|
|
|
If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is
|
|
present (e.g. via the environment), give the interactive user an
|
|
opportunity to attach a debugger to the current process; otherwise,
|
|
do nothing.
|
|
|
|
|
|
|
|
|
|
Determines the ID of the current thread. Only used for debugging.
|
|
|
|
|
|
The ID of the current thread -OR- zero if it cannot be determined.
|
|
|
|
|
|
|
|
|
|
Determines if the specified flags are present within the flags
|
|
associated with the parent connection object.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
The flags to check for.
|
|
|
|
|
|
Non-zero if the specified flag or flags were present; otherwise,
|
|
zero.
|
|
|
|
|
|
|
|
|
|
Determines if preparing a query should be logged.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if the query preparation should be logged; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if pre-parameter binding should be logged.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if the pre-parameter binding should be logged; otherwise,
|
|
zero.
|
|
|
|
|
|
|
|
|
|
Determines if parameter binding should be logged.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if the parameter binding should be logged; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if an exception in a native callback should be logged.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if the exception should be logged; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if backup API errors should be logged.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if the backup API error should be logged; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if logging for the
|
|
disabled.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if logging for the
|
|
disabled; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if the
|
|
otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if
|
|
logged.
|
|
|
|
|
|
The flags associated with the parent connection object.
|
|
|
|
|
|
Non-zero if the
|
|
logged; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if the current process is running on one of the Windows
|
|
[sub-]platforms.
|
|
|
|
|
|
Non-zero when running on Windows; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
This is a wrapper around the
|
|
|
|
On Mono, it has to call the method overload without the
|
|
|
|
|
|
|
|
This is used for culture-specific formatting.
|
|
|
|
|
|
The format string.
|
|
|
|
|
|
An array the objects to format.
|
|
|
|
|
|
The resulting string.
|
|
|
|
|
|
|
|
|
|
This static class provides a thin wrapper around the native library
|
|
loading features of the underlying platform.
|
|
|
|
|
|
|
|
|
|
This delegate is used to wrap the concept of loading a native
|
|
library, based on a file name, and returning the loaded module
|
|
handle.
|
|
|
|
|
|
The file name of the native library to load.
|
|
|
|
|
|
The native module handle upon success -OR- IntPtr.Zero on failure.
|
|
|
|
|
|
|
|
|
|
This delegate is used to wrap the concept of querying the machine
|
|
name of the current process.
|
|
|
|
|
|
The machine name for the current process -OR- null on failure.
|
|
|
|
|
|
|
|
|
|
Attempts to load the specified native library file using the Win32
|
|
API.
|
|
|
|
|
|
The file name of the native library to load.
|
|
|
|
|
|
The native module handle upon success -OR- IntPtr.Zero on failure.
|
|
|
|
|
|
|
|
|
|
Attempts to determine the machine name of the current process using
|
|
the Win32 API.
|
|
|
|
|
|
The machine name for the current process -OR- null on failure.
|
|
|
|
|
|
|
|
|
|
Attempts to load the specified native library file using the POSIX
|
|
API.
|
|
|
|
|
|
The file name of the native library to load.
|
|
|
|
|
|
The native module handle upon success -OR- IntPtr.Zero on failure.
|
|
|
|
|
|
|
|
|
|
Attempts to determine the machine name of the current process using
|
|
the POSIX API.
|
|
|
|
|
|
The machine name for the current process -OR- null on failure.
|
|
|
|
|
|
|
|
|
|
Attempts to load the specified native library file.
|
|
|
|
|
|
The file name of the native library to load.
|
|
|
|
|
|
The native module handle upon success -OR- IntPtr.Zero on failure.
|
|
|
|
|
|
|
|
|
|
Attempts to determine the machine name of the current process.
|
|
|
|
|
|
The machine name for the current process -OR- null on failure.
|
|
|
|
|
|
|
|
|
|
This class declares P/Invoke methods to call native POSIX APIs.
|
|
|
|
|
|
|
|
|
|
This structure is used when running on POSIX operating systems
|
|
to store information about the current machine, including the
|
|
human readable name of the operating system as well as that of
|
|
the underlying hardware.
|
|
|
|
|
|
|
|
|
|
This structure is passed directly to the P/Invoke method to
|
|
obtain the information about the current machine, including
|
|
the human readable name of the operating system as well as
|
|
that of the underlying hardware.
|
|
|
|
|
|
|
|
|
|
This is the P/Invoke method that wraps the native Unix uname
|
|
function. See the POSIX documentation for full details on what it
|
|
does.
|
|
|
|
|
|
Structure containing a preallocated byte buffer to fill with the
|
|
requested information.
|
|
|
|
|
|
Zero for success and less than zero upon failure.
|
|
|
|
|
|
|
|
|
|
This is the P/Invoke method that wraps the native Unix dlopen
|
|
function. See the POSIX documentation for full details on what it
|
|
does.
|
|
|
|
|
|
The name of the executable library.
|
|
|
|
|
|
This must be a combination of the individual bit flags RTLD_LAZY,
|
|
RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL.
|
|
|
|
|
|
The native module handle upon success -OR- IntPtr.Zero on failure.
|
|
|
|
|
|
|
|
|
|
This is the P/Invoke method that wraps the native Unix dlclose
|
|
function. See the POSIX documentation for full details on what it
|
|
does.
|
|
|
|
|
|
The handle to the loaded native library.
|
|
|
|
|
|
Zero upon success -OR- non-zero on failure.
|
|
|
|
|
|
|
|
|
|
For use with dlopen(), bind function calls lazily.
|
|
|
|
|
|
|
|
|
|
For use with dlopen(), bind function calls immediately.
|
|
|
|
|
|
|
|
|
|
For use with dlopen(), make symbols globally available.
|
|
|
|
|
|
|
|
|
|
For use with dlopen(), opposite of RTLD_GLOBAL, and the default.
|
|
|
|
|
|
|
|
|
|
For use with dlopen(), the defaults used by this class.
|
|
|
|
|
|
|
|
|
|
These are the characters used to separate the string fields within
|
|
the raw buffer returned by the
|
|
|
|
|
|
|
|
|
|
This method is a wrapper around the
|
|
method that extracts and returns the human readable strings from
|
|
the raw buffer.
|
|
|
|
|
|
This structure, which contains strings, will be filled based on the
|
|
data placed in the raw buffer returned by the
|
|
P/Invoke method.
|
|
|
|
|
|
Non-zero upon success; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
This class declares P/Invoke methods to call native Win32 APIs.
|
|
|
|
|
|
|
|
|
|
This is the P/Invoke method that wraps the native Win32 LoadLibrary
|
|
function. See the MSDN documentation for full details on what it
|
|
does.
|
|
|
|
|
|
The name of the executable library.
|
|
|
|
|
|
The native module handle upon success -OR- IntPtr.Zero on failure.
|
|
|
|
|
|
|
|
|
|
This is the P/Invoke method that wraps the native Win32 GetSystemInfo
|
|
function. See the MSDN documentation for full details on what it
|
|
does.
|
|
|
|
|
|
The system information structure to be filled in by the function.
|
|
|
|
|
|
|
|
|
|
This enumeration contains the possible values for the processor
|
|
architecture field of the system information structure.
|
|
|
|
|
|
|
|
|
|
This structure contains information about the current computer. This
|
|
includes the processor type, page size, memory addresses, etc.
|
|
|
|
|
|
|
|
|
|
This class declares P/Invoke methods to call native SQLite APIs.
|
|
|
|
|
|
|
|
|
|
The file extension used for dynamic link libraries.
|
|
|
|
|
|
|
|
|
|
The file extension used for the XML configuration file.
|
|
|
|
|
|
|
|
|
|
This is the name of the XML configuration file specific to the
|
|
System.Data.SQLite assembly.
|
|
|
|
|
|
|
|
|
|
This is the XML configuratrion file token that will be replaced with
|
|
the qualified path to the directory containing the XML configuration
|
|
file.
|
|
|
|
|
|
|
|
|
|
This is the environment variable token that will be replaced with
|
|
the qualified path to the directory containing this assembly.
|
|
|
|
|
|
|
|
|
|
This is the environment variable token that will be replaced with an
|
|
abbreviation of the target framework attribute value associated with
|
|
this assembly.
|
|
|
|
|
|
|
|
|
|
This lock is used to protect the static _SQLiteNativeModuleFileName,
|
|
_SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields.
|
|
|
|
|
|
|
|
|
|
This dictionary stores the mappings between target framework names
|
|
and their associated (NuGet) abbreviations. These mappings are only
|
|
used by the
|
|
|
|
|
|
|
|
|
|
This dictionary stores the mappings between processor architecture
|
|
names and platform names. These mappings are now used for two
|
|
purposes. First, they are used to determine if the assembly code
|
|
base should be used instead of the location, based upon whether one
|
|
or more of the named sub-directories exist within the assembly code
|
|
base. Second, they are used to assist in loading the appropriate
|
|
SQLite interop assembly into the current process.
|
|
|
|
|
|
|
|
|
|
This is the cached return value from the
|
|
|
|
has never returned a valid value.
|
|
|
|
|
|
|
|
|
|
When this field is non-zero, it indicates the
|
|
|
|
suitable assembly directory. The
|
|
|
|
field and skips calls into the
|
|
method whenever it is non-zero.
|
|
|
|
|
|
|
|
|
|
This is the cached return value from the
|
|
|
|
has never returned a valid value.
|
|
|
|
|
|
|
|
|
|
When this field is non-zero, it indicates the
|
|
|
|
suitable XML configuration file name. The
|
|
|
|
field and skips calls into the
|
|
method whenever it is non-zero.
|
|
|
|
|
|
|
|
|
|
For now, this method simply calls the Initialize method.
|
|
|
|
|
|
|
|
|
|
Attempts to initialize this class by pre-loading the native SQLite
|
|
library for the processor architecture of the current process.
|
|
|
|
|
|
|
|
|
|
Combines two path strings.
|
|
|
|
|
|
The first path -OR- null.
|
|
|
|
|
|
The second path -OR- null.
|
|
|
|
|
|
The combined path string -OR- null if both of the original path
|
|
strings are null.
|
|
|
|
|
|
|
|
|
|
Resets the cached XML configuration file name value, thus forcing the
|
|
next call to
|
|
upon the
|
|
XML configuration file name.
|
|
|
|
|
|
|
|
|
|
Queries and returns the cached XML configuration file name for the
|
|
assembly containing the managed System.Data.SQLite components, if
|
|
available. If the cached XML configuration file name value is not
|
|
available, the
|
|
be used to obtain the XML configuration file name.
|
|
|
|
|
|
The XML configuration file name -OR- null if it cannot be determined
|
|
or does not exist.
|
|
|
|
|
|
|
|
|
|
Queries and returns the XML configuration file name for the assembly
|
|
containing the managed System.Data.SQLite components.
|
|
|
|
|
|
The XML configuration file name -OR- null if it cannot be determined
|
|
or does not exist.
|
|
|
|
|
|
|
|
|
|
If necessary, replaces all supported XML configuration file tokens
|
|
with their associated values.
|
|
|
|
|
|
The name of the XML configuration file being read.
|
|
|
|
|
|
A setting value read from the XML configuration file.
|
|
|
|
|
|
The value of the
|
|
configuration file tokens replaced. No return value is reserved
|
|
to indicate an error. This method cannot fail.
|
|
|
|
|
|
|
|
|
|
Queries and returns the value of the specified setting, using the
|
|
specified XML configuration file.
|
|
|
|
|
|
The name of the XML configuration file to read.
|
|
|
|
|
|
The name of the setting.
|
|
|
|
|
|
The value to be returned if the setting has not been set explicitly
|
|
or cannot be determined.
|
|
|
|
|
|
Non-zero to expand any environment variable references contained in
|
|
the setting value to be returned. This has no effect on the .NET
|
|
Compact Framework.
|
|
|
|
|
|
The value of the setting -OR- the default value specified by
|
|
|
|
cannot be determined.
|
|
|
|
|
|
|
|
|
|
Attempts to determine the target framework attribute value that is
|
|
associated with the specified managed assembly, if applicable.
|
|
|
|
|
|
The managed assembly to read the target framework attribute value
|
|
from.
|
|
|
|
|
|
The value of the target framework attribute value for the specified
|
|
managed assembly -OR- null if it cannot be determined. If this
|
|
assembly was compiled with a version of the .NET Framework prior to
|
|
version 4.0, the value returned MAY reflect that version of the .NET
|
|
Framework instead of the one associated with the specified managed
|
|
assembly.
|
|
|
|
|
|
|
|
|
|
Accepts a long target framework attribute value and makes it into a
|
|
much shorter version, suitable for use with NuGet packages.
|
|
|
|
|
|
The long target framework attribute value to convert.
|
|
|
|
|
|
The short target framework attribute value -OR- null if it cannot
|
|
be determined or converted.
|
|
|
|
|
|
|
|
|
|
If necessary, replaces all supported environment variable tokens
|
|
with their associated values.
|
|
|
|
|
|
A setting value read from an environment variable.
|
|
|
|
|
|
The value of the
|
|
environment variable tokens replaced. No return value is reserved
|
|
to indicate an error. This method cannot fail.
|
|
|
|
|
|
|
|
|
|
Queries and returns the value of the specified setting, using the XML
|
|
configuration file and/or the environment variables for the current
|
|
process and/or the current system, when available.
|
|
|
|
|
|
The name of the setting.
|
|
|
|
|
|
The value to be returned if the setting has not been set explicitly
|
|
or cannot be determined.
|
|
|
|
|
|
The value of the setting -OR- the default value specified by
|
|
|
|
cannot be determined. By default, all references to existing
|
|
environment variables will be expanded to their corresponding values
|
|
within the value to be returned unless either the "No_Expand" or
|
|
"No_Expand_
|
|
anything].
|
|
|
|
|
|
|
|
|
|
Resets the cached assembly directory value, thus forcing the next
|
|
call to
|
|
upon the
|
|
assembly directory.
|
|
|
|
|
|
|
|
|
|
Queries and returns the cached directory for the assembly currently
|
|
being executed, if available. If the cached assembly directory value
|
|
is not available, the
|
|
be used to obtain the assembly directory.
|
|
|
|
|
|
The directory for the assembly currently being executed -OR- null if
|
|
it cannot be determined.
|
|
|
|
|
|
|
|
|
|
Queries and returns the directory for the assembly currently being
|
|
executed.
|
|
|
|
|
|
The directory for the assembly currently being executed -OR- null if
|
|
it cannot be determined.
|
|
|
|
|
|
|
|
|
|
The name of the environment variable containing the processor
|
|
architecture of the current process.
|
|
|
|
|
|
|
|
|
|
The native module file name for the native SQLite library or null.
|
|
|
|
|
|
|
|
|
|
The native module handle for the native SQLite library or the value
|
|
IntPtr.Zero.
|
|
|
|
|
|
|
|
|
|
Determines the base file name (without any directory information)
|
|
for the native SQLite library to be pre-loaded by this class.
|
|
|
|
|
|
The base file name for the native SQLite library to be pre-loaded by
|
|
this class -OR- null if its value cannot be determined.
|
|
|
|
|
|
|
|
|
|
Searches for the native SQLite library in the directory containing
|
|
the assembly currently being executed as well as the base directory
|
|
for the current application domain.
|
|
|
|
|
|
Upon success, this parameter will be modified to refer to the base
|
|
directory containing the native SQLite library.
|
|
|
|
|
|
Upon success, this parameter will be modified to refer to the name
|
|
of the immediate directory (i.e. the offset from the base directory)
|
|
containing the native SQLite library.
|
|
|
|
|
|
Upon success, this parameter will be modified to non-zero only if
|
|
the base directory itself should be allowed for loading the native
|
|
library.
|
|
|
|
|
|
Non-zero (success) if the native SQLite library was found; otherwise,
|
|
zero (failure).
|
|
|
|
|
|
|
|
|
|
Queries and returns the base directory of the current application
|
|
domain.
|
|
|
|
|
|
The base directory for the current application domain -OR- null if it
|
|
cannot be determined.
|
|
|
|
|
|
|
|
|
|
Determines if the dynamic link library file name requires a suffix
|
|
and adds it if necessary.
|
|
|
|
|
|
The original dynamic link library file name to inspect.
|
|
|
|
|
|
The dynamic link library file name, possibly modified to include an
|
|
extension.
|
|
|
|
|
|
|
|
|
|
Queries and returns the processor architecture of the current
|
|
process.
|
|
|
|
|
|
The processor architecture of the current process -OR- null if it
|
|
cannot be determined.
|
|
|
|
|
|
|
|
|
|
Given the processor architecture, returns the name of the platform.
|
|
|
|
|
|
The processor architecture to be translated to a platform name.
|
|
|
|
|
|
The platform name for the specified processor architecture -OR- null
|
|
if it cannot be determined.
|
|
|
|
|
|
|
|
|
|
Attempts to load the native SQLite library based on the specified
|
|
directory and processor architecture.
|
|
|
|
|
|
The base directory to use, null for default (the base directory of
|
|
the current application domain). This directory should contain the
|
|
processor architecture specific sub-directories.
|
|
|
|
|
|
The requested processor architecture, null for default (the
|
|
processor architecture of the current process). This caller should
|
|
almost always specify null for this parameter.
|
|
|
|
|
|
Non-zero indicates that the native SQLite library can be loaded
|
|
from the base directory itself.
|
|
|
|
|
|
The candidate native module file name to load will be stored here,
|
|
if necessary.
|
|
|
|
|
|
The native module handle as returned by LoadLibrary will be stored
|
|
here, if necessary. This value will be IntPtr.Zero if the call to
|
|
LoadLibrary fails.
|
|
|
|
|
|
Non-zero if the native module was loaded successfully; otherwise,
|
|
zero.
|
|
|
|
|
|
|
|
|
|
A strongly-typed resource class, for looking up localized strings, etc.
|
|
|
|
|
|
|
|
|
|
Returns the cached ResourceManager instance used by this class.
|
|
|
|
|
|
|
|
|
|
Overrides the current thread's CurrentUICulture property for all
|
|
resource lookups using this strongly typed resource class.
|
|
|
|
|
|
|
|
|
|
Looks up a localized string similar to <?xml version="1.0" standalone="yes"?>
|
|
<DocumentElement>
|
|
<DataTypes>
|
|
<TypeName>smallint</TypeName>
|
|
<ProviderDbType>10</ProviderDbType>
|
|
<ColumnSize>5</ColumnSize>
|
|
<DataType>System.Int16</DataType>
|
|
<CreateFormat>smallint</CreateFormat>
|
|
<IsAutoIncrementable>false</IsAutoIncrementable>
|
|
<IsCaseSensitive>false</IsCaseSensitive>
|
|
<IsFixedLength>true</IsFixedLength>
|
|
<IsFixedPrecisionScale>true</IsFixedPrecisionScale>
|
|
<IsLong>false</IsLong>
|
|
<IsNullable>true</ [rest of string was truncated]";.
|
|
|
|
|
|
|
|
|
|
Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE.
|
|
|
|
|
|
|
|
|
|
Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?>
|
|
<DocumentElement>
|
|
<MetaDataCollections>
|
|
<CollectionName>MetaDataCollections</CollectionName>
|
|
<NumberOfRestrictions>0</NumberOfRestrictions>
|
|
<NumberOfIdentifierParts>0</NumberOfIdentifierParts>
|
|
</MetaDataCollections>
|
|
<MetaDataCollections>
|
|
<CollectionName>DataSourceInformation</CollectionName>
|
|
<NumberOfRestrictions>0</NumberOfRestrictions>
|
|
<NumberOfIdentifierParts>0</NumberOfIdentifierParts>
|
|
</MetaDataCollections>
|
|
<MetaDataC [rest of string was truncated]";.
|
|
|
|
|
|
|
|
|
|
This interface represents a virtual table implementation written in
|
|
native code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xCreate)(sqlite3 *db, void *pAux,
|
|
int argc, char *const*argv,
|
|
sqlite3_vtab **ppVTab,
|
|
char **pzErr);
|
|
|
|
|
|
The xCreate method is called to create a new instance of a virtual table
|
|
in response to a CREATE VIRTUAL TABLE statement.
|
|
If the xCreate method is the same pointer as the xConnect method, then the
|
|
virtual table is an eponymous virtual table.
|
|
If the xCreate method is omitted (if it is a NULL pointer) then the virtual
|
|
table is an eponymous-only virtual table.
|
|
|
|
|
|
The db parameter is a pointer to the SQLite database connection that
|
|
is executing the CREATE VIRTUAL TABLE statement.
|
|
The pAux argument is the copy of the client data pointer that was the
|
|
fourth argument to the sqlite3_create_module() or
|
|
sqlite3_create_module_v2() call that registered the
|
|
virtual table module.
|
|
The argv parameter is an array of argc pointers to null terminated strings.
|
|
The first string, argv[0], is the name of the module being invoked. The
|
|
module name is the name provided as the second argument to
|
|
sqlite3_create_module() and as the argument to the USING clause of the
|
|
CREATE VIRTUAL TABLE statement that is running.
|
|
The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or
|
|
"temp" for TEMP database, or the name given at the end of the ATTACH
|
|
statement for attached databases. The third element of the array, argv[2],
|
|
is the name of the new virtual table, as specified following the TABLE
|
|
keyword in the CREATE VIRTUAL TABLE statement.
|
|
If present, the fourth and subsequent strings in the argv[] array report
|
|
the arguments to the module name in the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
The job of this method is to construct the new virtual table object
|
|
(an sqlite3_vtab object) and return a pointer to it in *ppVTab.
|
|
|
|
|
|
As part of the task of creating a new sqlite3_vtab structure, this
|
|
method must invoke sqlite3_declare_vtab() to tell the SQLite
|
|
core about the columns and datatypes in the virtual table.
|
|
The sqlite3_declare_vtab() API has the following prototype:
|
|
|
|
|
|
int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
|
|
|
|
|
|
The first argument to sqlite3_declare_vtab() must be the same
|
|
database connection pointer as the first parameter to this method.
|
|
The second argument to sqlite3_declare_vtab() must a zero-terminated
|
|
UTF-8 string that contains a well-formed CREATE TABLE statement that
|
|
defines the columns in the virtual table and their data types.
|
|
The name of the table in this CREATE TABLE statement is ignored,
|
|
as are all constraints. Only the column names and datatypes matter.
|
|
The CREATE TABLE statement string need not to be
|
|
held in persistent memory. The string can be
|
|
deallocated and/or reused as soon as the sqlite3_declare_vtab()
|
|
routine returns.
|
|
|
|
|
|
The xCreate method need not initialize the pModule, nRef, and zErrMsg
|
|
fields of the sqlite3_vtab object. The SQLite core will take care of
|
|
that chore.
|
|
|
|
|
|
The xCreate should return SQLITE_OK if it is successful in
|
|
creating the new virtual table, or SQLITE_ERROR if it is not successful.
|
|
If not successful, the sqlite3_vtab structure must not be allocated.
|
|
An error message may optionally be returned in *pzErr if unsuccessful.
|
|
Space to hold the error message string must be allocated using
|
|
an SQLite memory allocation function like
|
|
sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
|
|
attempt to free the space using sqlite3_free() after the error has
|
|
been reported up to the application.
|
|
|
|
|
|
If the xCreate method is omitted (left as a NULL pointer) then the
|
|
virtual table is an eponymous-only virtual table. New instances of
|
|
the virtual table cannot be created using CREATE VIRTUAL TABLE and the
|
|
virtual table can only be used via its module name.
|
|
Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand
|
|
eponymous-only virtual tables and will segfault if an attempt is made
|
|
to CREATE VIRTUAL TABLE on an eponymous-only virtual table because
|
|
the xCreate method was not checked for null.
|
|
|
|
|
|
If the xCreate method is the exact same pointer as the xConnect method,
|
|
that indicates that the virtual table does not need to initialize backing
|
|
store. Such a virtual table can be used as an eponymous virtual table
|
|
or as a named virtual table using CREATE VIRTUAL TABLE or both.
|
|
|
|
|
|
If a column datatype contains the special keyword "HIDDEN"
|
|
(in any combination of upper and lower case letters) then that keyword
|
|
it is omitted from the column datatype name and the column is marked
|
|
as a hidden column internally.
|
|
A hidden column differs from a normal column in three respects:
|
|
|
|
|
|
]]>
|
|
]]> Hidden columns are not listed in the dataset returned by
|
|
"PRAGMA table_info",
|
|
]]>]]> Hidden columns are not included in the expansion of a "*"
|
|
expression in the result set of a SELECT, and
|
|
]]>]]> Hidden columns are not included in the implicit column-list
|
|
used by an INSERT statement that lacks an explicit column-list.
|
|
]]>]]>
|
|
|
|
|
|
For example, if the following SQL is passed to sqlite3_declare_vtab():
|
|
|
|
|
|
CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
|
|
|
|
|
|
Then the virtual table would be created with two hidden columns,
|
|
and with datatypes of "VARCHAR(12)" and "INTEGER".
|
|
|
|
|
|
An example use of hidden columns can be seen in the FTS3 virtual
|
|
table implementation, where every FTS virtual table
|
|
contains an FTS hidden column that is used to pass information from the
|
|
virtual table into FTS auxiliary functions and to the FTS MATCH operator.
|
|
|
|
|
|
A virtual table that contains hidden columns can be used like
|
|
a table-valued function in the FROM clause of a SELECT statement.
|
|
The arguments to the table-valued function become constraints on
|
|
the HIDDEN columns of the virtual table.
|
|
|
|
|
|
For example, the "generate_series" extension (located in the
|
|
ext/misc/series.c
|
|
file in the source tree)
|
|
implements an eponymous virtual table with the following schema:
|
|
|
|
|
|
CREATE TABLE generate_series(
|
|
value,
|
|
start HIDDEN,
|
|
stop HIDDEN,
|
|
step HIDDEN
|
|
);
|
|
|
|
|
|
The sqlite3_module.xBestIndex method in the implementation of this
|
|
table checks for equality constraints against the HIDDEN columns, and uses
|
|
those as input parameters to determine the range of integer "value" outputs
|
|
to generate. Reasonable defaults are used for any unconstrained columns.
|
|
For example, to list all integers between 5 and 50:
|
|
|
|
|
|
SELECT value FROM generate_series(5,50);
|
|
|
|
|
|
The previous query is equivalent to the following:
|
|
|
|
|
|
SELECT value FROM generate_series WHERE start=5 AND stop=50;
|
|
|
|
|
|
Arguments on the virtual table name are matched to hidden columns
|
|
in order. The number of arguments can be less than the
|
|
number of hidden columns, in which case the latter hidden columns are
|
|
unconstrained. However, an error results if there are more arguments
|
|
than there are hidden columns in the virtual table.
|
|
|
|
|
|
Beginning with SQLite version 3.14.0 (2016-08-08),
|
|
the CREATE TABLE statement that
|
|
is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause.
|
|
This is useful for cases where the virtual table rows
|
|
cannot easily be mapped into unique integers. A CREATE TABLE
|
|
statement that includes WITHOUT ROWID must define one or more columns as
|
|
the PRIMARY KEY. Every column of the PRIMARY KEY must individually be
|
|
NOT NULL and all columns for each row must be collectively unique.
|
|
|
|
|
|
Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID
|
|
virtual table. Enforcement is the responsibility of the underlying
|
|
virtual table implementation. But SQLite does assume that the PRIMARY KEY
|
|
constraint is valid - that the identified columns really are UNIQUE and
|
|
NOT NULL - and it uses that assumption to optimize queries against the
|
|
virtual table.
|
|
|
|
|
|
The rowid column is not accessible on a
|
|
WITHOUT ROWID virtual table (of course).
|
|
|
|
|
|
The xUpdate method was originally designed around having a
|
|
ROWID as a single value. The xUpdate method has been expanded to
|
|
accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the
|
|
PRIMARY KEY must still be only one column. For this reason, SQLite
|
|
will reject any WITHOUT ROWID virtual table that has more than one
|
|
PRIMARY KEY column and a non-NULL xUpdate method.
|
|
|
|
|
|
|
|
The native database connection handle.
|
|
|
|
|
|
The original native pointer value that was provided to the
|
|
sqlite3_create_module(), sqlite3_create_module_v2() or
|
|
sqlite3_create_disposable_module() functions.
|
|
|
|
|
|
The number of arguments from the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
The array of string arguments from the CREATE VIRTUAL TABLE
|
|
statement.
|
|
|
|
|
|
Upon success, this parameter must be modified to point to the newly
|
|
created native sqlite3_vtab derived structure.
|
|
|
|
|
|
Upon failure, this parameter must be modified to point to the error
|
|
message, with the underlying memory having been obtained from the
|
|
sqlite3_malloc() function.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xConnect)(sqlite3*, void *pAux,
|
|
int argc, char *const*argv,
|
|
sqlite3_vtab **ppVTab,
|
|
char **pzErr);
|
|
|
|
|
|
The xConnect method is very similar to xCreate.
|
|
It has the same parameters and constructs a new sqlite3_vtab structure
|
|
just like xCreate.
|
|
And it must also call sqlite3_declare_vtab() like xCreate.
|
|
|
|
|
|
The difference is that xConnect is called to establish a new
|
|
connection to an existing virtual table whereas xCreate is called
|
|
to create a new virtual table from scratch.
|
|
|
|
|
|
The xCreate and xConnect methods are only different when the
|
|
virtual table has some kind of backing store that must be initialized
|
|
the first time the virtual table is created. The xCreate method creates
|
|
and initializes the backing store. The xConnect method just connects
|
|
to an existing backing store. When xCreate and xConnect are the same,
|
|
the table is an eponymous virtual table.
|
|
|
|
|
|
As an example, consider a virtual table implementation that
|
|
provides read-only access to existing comma-separated-value (CSV)
|
|
files on disk. There is no backing store that needs to be created
|
|
or initialized for such a virtual table (since the CSV files already
|
|
exist on disk) so the xCreate and xConnect methods will be identical
|
|
for that module.
|
|
|
|
|
|
Another example is a virtual table that implements a full-text index.
|
|
The xCreate method must create and initialize data structures to hold
|
|
the dictionary and posting lists for that index. The xConnect method,
|
|
on the other hand, only has to locate and use an existing dictionary
|
|
and posting lists that were created by a prior xCreate call.
|
|
|
|
|
|
The xConnect method must return SQLITE_OK if it is successful
|
|
in creating the new virtual table, or SQLITE_ERROR if it is not
|
|
successful. If not successful, the sqlite3_vtab structure must not be
|
|
allocated. An error message may optionally be returned in *pzErr if
|
|
unsuccessful.
|
|
Space to hold the error message string must be allocated using
|
|
an SQLite memory allocation function like
|
|
sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will
|
|
attempt to free the space using sqlite3_free() after the error has
|
|
been reported up to the application.
|
|
|
|
|
|
The xConnect method is required for every virtual table implementation,
|
|
though the xCreate and xConnect pointers of the sqlite3_module object
|
|
may point to the same function if the virtual table does not need to
|
|
initialize backing store.
|
|
|
|
|
|
|
|
The native database connection handle.
|
|
|
|
|
|
The original native pointer value that was provided to the
|
|
sqlite3_create_module(), sqlite3_create_module_v2() or
|
|
sqlite3_create_disposable_module() functions.
|
|
|
|
|
|
The number of arguments from the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
The array of string arguments from the CREATE VIRTUAL TABLE
|
|
statement.
|
|
|
|
|
|
Upon success, this parameter must be modified to point to the newly
|
|
created native sqlite3_vtab derived structure.
|
|
|
|
|
|
Upon failure, this parameter must be modified to point to the error
|
|
message, with the underlying memory having been obtained from the
|
|
sqlite3_malloc() function.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
SQLite uses the xBestIndex method of a virtual table module to determine
|
|
the best way to access the virtual table.
|
|
The xBestIndex method has a prototype like this:
|
|
|
|
|
|
int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
|
|
|
|
|
|
The SQLite core communicates with the xBestIndex method by filling
|
|
in certain fields of the sqlite3_index_info structure and passing a
|
|
pointer to that structure into xBestIndex as the second parameter.
|
|
The xBestIndex method fills out other fields of this structure which
|
|
forms the reply. The sqlite3_index_info structure looks like this:
|
|
|
|
|
|
struct sqlite3_index_info {
|
|
/* Inputs */
|
|
const int nConstraint; /* Number of entries in aConstraint */
|
|
const struct sqlite3_index_constraint {
|
|
int iColumn; /* Column constrained. -1 for ROWID */
|
|
unsigned char op; /* Constraint operator */
|
|
unsigned char usable; /* True if this constraint is usable */
|
|
int iTermOffset; /* Used internally - xBestIndex should ignore */
|
|
} *const aConstraint; /* Table of WHERE clause constraints */
|
|
const int nOrderBy; /* Number of terms in the ORDER BY clause */
|
|
const struct sqlite3_index_orderby {
|
|
int iColumn; /* Column number */
|
|
unsigned char desc; /* True for DESC. False for ASC. */
|
|
} *const aOrderBy; /* The ORDER BY clause */
|
|
/* Outputs */
|
|
struct sqlite3_index_constraint_usage {
|
|
int argvIndex; /* if >0, constraint is part of argv to xFilter */
|
|
unsigned char omit; /* Do not code a test for this constraint */
|
|
} *const aConstraintUsage;
|
|
int idxNum; /* Number used to identify the index */
|
|
char *idxStr; /* String, possibly obtained from sqlite3_malloc */
|
|
int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */
|
|
int orderByConsumed; /* True if output is already ordered */
|
|
double estimatedCost; /* Estimated cost of using this index */
|
|
]]>/* Fields below are only available in SQLite 3.8.2 and later */]]>
|
|
sqlite3_int64 estimatedRows; /* Estimated number of rows returned */
|
|
]]>/* Fields below are only available in SQLite 3.9.0 and later */]]>
|
|
int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */
|
|
]]>/* Fields below are only available in SQLite 3.10.0 and later */]]>
|
|
sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */
|
|
};
|
|
|
|
|
|
Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields.
|
|
These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively.
|
|
Any extension that reads or writes these fields must first check that the
|
|
version of the SQLite library in use is greater than or equal to appropriate
|
|
version - perhaps comparing the value returned from sqlite3_libversion_number()
|
|
against constants 3008002, 3009000, and/or 3010000. The result of attempting
|
|
to access these fields in an sqlite3_index_info structure created by an
|
|
older version of SQLite are undefined.
|
|
|
|
|
|
In addition, there are some defined constants:
|
|
|
|
|
|
#define SQLITE_INDEX_CONSTRAINT_EQ 2
|
|
#define SQLITE_INDEX_CONSTRAINT_GT 4
|
|
#define SQLITE_INDEX_CONSTRAINT_LE 8
|
|
#define SQLITE_INDEX_CONSTRAINT_LT 16
|
|
#define SQLITE_INDEX_CONSTRAINT_GE 32
|
|
#define SQLITE_INDEX_CONSTRAINT_MATCH 64
|
|
#define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */
|
|
#define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */
|
|
#define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */
|
|
|
|
|
|
The SQLite core calls the xBestIndex method when it is compiling a query
|
|
that involves a virtual table. In other words, SQLite calls this method
|
|
when it is running sqlite3_prepare() or the equivalent.
|
|
By calling this method, the
|
|
SQLite core is saying to the virtual table that it needs to access
|
|
some subset of the rows in the virtual table and it wants to know the
|
|
most efficient way to do that access. The xBestIndex method replies
|
|
with information that the SQLite core can then use to conduct an
|
|
efficient search of the virtual table.
|
|
|
|
|
|
While compiling a single SQL query, the SQLite core might call
|
|
xBestIndex multiple times with different settings in sqlite3_index_info.
|
|
The SQLite core will then select the combination that appears to
|
|
give the best performance.
|
|
|
|
|
|
Before calling this method, the SQLite core initializes an instance
|
|
of the sqlite3_index_info structure with information about the
|
|
query that it is currently trying to process. This information
|
|
derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses
|
|
of the query, but also from any ON or USING clauses if the query is a
|
|
join. The information that the SQLite core provides to the xBestIndex
|
|
method is held in the part of the structure that is marked as "Inputs".
|
|
The "Outputs" section is initialized to zero.
|
|
|
|
|
|
The information in the sqlite3_index_info structure is ephemeral
|
|
and may be overwritten or deallocated as soon as the xBestIndex method
|
|
returns. If the xBestIndex method needs to remember any part of the
|
|
sqlite3_index_info structure, it should make a copy. Care must be
|
|
take to store the copy in a place where it will be deallocated, such
|
|
as in the idxStr field with needToFreeIdxStr set to 1.
|
|
|
|
|
|
Note that xBestIndex will always be called before xFilter, since
|
|
the idxNum and idxStr outputs from xBestIndex are required inputs to
|
|
xFilter. However, there is no guarantee that xFilter will be called
|
|
following a successful xBestIndex.
|
|
|
|
|
|
The xBestIndex method is required for every virtual table implementation.
|
|
|
|
|
|
The main thing that the SQLite core is trying to communicate to
|
|
the virtual table is the constraints that are available to limit
|
|
the number of rows that need to be searched. The aConstraint[] array
|
|
contains one entry for each constraint. There will be exactly
|
|
nConstraint entries in that array.
|
|
|
|
|
|
Each constraint will usually correspond to a term in the WHERE clause
|
|
or in a USING or ON clause that is of the form
|
|
|
|
|
|
column OP EXPR
|
|
|
|
|
|
Where "column" is a column in the virtual table, OP is an operator
|
|
like "=" or "<", and EXPR is an arbitrary expression. So, for example,
|
|
if the WHERE clause contained a term like this:
|
|
|
|
|
|
a = 5
|
|
|
|
|
|
Then one of the constraints would be on the "a" column with
|
|
operator "=" and an expression of "5". Constraints need not have a
|
|
literal representation of the WHERE clause. The query optimizer might
|
|
make transformations to the
|
|
WHERE clause in order to extract as many constraints
|
|
as it can. So, for example, if the WHERE clause contained something
|
|
like this:
|
|
|
|
|
|
x BETWEEN 10 AND 100 AND 999>y
|
|
|
|
|
|
The query optimizer might translate this into three separate constraints:
|
|
|
|
|
|
x >= 10
|
|
x <= 100
|
|
y < 999
|
|
|
|
|
|
For each such constraint, the aConstraint[].iColumn field indicates which
|
|
column appears on the left-hand side of the constraint.
|
|
The first column of the virtual table is column 0.
|
|
The rowid of the virtual table is column -1.
|
|
The aConstraint[].op field indicates which operator is used.
|
|
The SQLITE_INDEX_CONSTRAINT_* constants map integer constants
|
|
into operator values.
|
|
Columns occur in the order they were defined by the call to
|
|
sqlite3_declare_vtab() in the xCreate or xConnect method.
|
|
Hidden columns are counted when determining the column index.
|
|
|
|
|
|
If the xFindFunction() method for the virtual table is defined, and
|
|
if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or
|
|
larger, then the constraints might also be of the form:
|
|
|
|
|
|
FUNCTION( column, EXPR)
|
|
|
|
|
|
In this case the aConstraint[].op value is the same as the value
|
|
returned by xFindFunction() for FUNCTION.
|
|
|
|
|
|
The aConstraint[] array contains information about all constraints
|
|
that apply to the virtual table. But some of the constraints might
|
|
not be usable because of the way tables are ordered in a join.
|
|
The xBestIndex method must therefore only consider constraints
|
|
that have an aConstraint[].usable flag which is true.
|
|
|
|
|
|
In addition to WHERE clause constraints, the SQLite core also
|
|
tells the xBestIndex method about the ORDER BY clause.
|
|
(In an aggregate query, the SQLite core might put in GROUP BY clause
|
|
information in place of the ORDER BY clause information, but this fact
|
|
should not make any difference to the xBestIndex method.)
|
|
If all terms of the ORDER BY clause are columns in the virtual table,
|
|
then nOrderBy will be the number of terms in the ORDER BY clause
|
|
and the aOrderBy[] array will identify the column for each term
|
|
in the order by clause and whether or not that column is ASC or DESC.
|
|
|
|
|
|
In SQLite version 3.10.0 (2016-01-06) and later,
|
|
the colUsed field is available
|
|
to indicate which fields of the virtual table are actually used by the
|
|
statement being prepared. If the lowest bit of colUsed is set, that
|
|
means that the first column is used. The second lowest bit corresponds
|
|
to the second column. And so forth. If the most significant bit of
|
|
colUsed is set, that means that one or more columns other than the
|
|
first 63 columns are used. If column usage information is needed by the
|
|
xFilter method, then the required bits must be encoded into either
|
|
the idxNum or idxStr output fields.
|
|
|
|
|
|
Given all of the information above, the job of the xBestIndex
|
|
method it to figure out the best way to search the virtual table.
|
|
|
|
|
|
The xBestIndex method fills the idxNum and idxStr fields with
|
|
information that communicates an indexing strategy to the xFilter
|
|
method. The information in idxNum and idxStr is arbitrary as far
|
|
as the SQLite core is concerned. The SQLite core just copies the
|
|
information through to the xFilter method. Any desired meaning can
|
|
be assigned to idxNum and idxStr as long as xBestIndex and xFilter
|
|
agree on what that meaning is.
|
|
|
|
|
|
The idxStr value may be a string obtained from an SQLite
|
|
memory allocation function such as sqlite3_mprintf().
|
|
If this is the case, then the needToFreeIdxStr flag must be set to
|
|
true so that the SQLite core will know to call sqlite3_free() on
|
|
that string when it has finished with it, and thus avoid a memory leak.
|
|
The idxStr value may also be a static constant string, in which case
|
|
the needToFreeIdxStr boolean should remain false.
|
|
|
|
|
|
If the virtual table will output rows in the order specified by
|
|
the ORDER BY clause, then the orderByConsumed flag may be set to
|
|
true. If the output is not automatically in the correct order
|
|
then orderByConsumed must be left in its default false setting.
|
|
This will indicate to the SQLite core that it will need to do a
|
|
separate sorting pass over the data after it comes out of the virtual table.
|
|
|
|
|
|
The estimatedCost field should be set to the estimated number
|
|
of disk access operations required to execute this query against
|
|
the virtual table. The SQLite core will often call xBestIndex
|
|
multiple times with different constraints, obtain multiple cost
|
|
estimates, then choose the query plan that gives the lowest estimate.
|
|
The SQLite core initializes estimatedCost to a very large value
|
|
prior to invoking xBestIndex, so if xBestIndex determines that the
|
|
current combination of parameters is undesirable, it can leave the
|
|
estimatedCost field unchanged to discourage its use.
|
|
|
|
|
|
If the current version of SQLite is 3.8.2 or greater, the estimatedRows
|
|
field may be set to an estimate of the number of rows returned by the
|
|
proposed query plan. If this value is not explicitly set, the default
|
|
estimate of 25 rows is used.
|
|
|
|
|
|
If the current version of SQLite is 3.9.0 or greater, the idxFlags field
|
|
may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table
|
|
will return only zero or one rows given the input constraints. Additional
|
|
bits of the idxFlags field might be understood in later versions of SQLite.
|
|
|
|
|
|
The aConstraintUsage[] array contains one element for each of
|
|
the nConstraint constraints in the inputs section of the
|
|
sqlite3_index_info structure.
|
|
The aConstraintUsage[] array is used by xBestIndex to tell the
|
|
core how it is using the constraints.
|
|
|
|
|
|
The xBestIndex method may set aConstraintUsage[].argvIndex
|
|
entries to values greater than zero.
|
|
Exactly one entry should be set to 1, another to 2, another to 3,
|
|
and so forth up to as many or as few as the xBestIndex method wants.
|
|
The EXPR of the corresponding constraints will then be passed
|
|
in as the argv[] parameters to xFilter.
|
|
|
|
|
|
For example, if the aConstraint[3].argvIndex is set to 1, then
|
|
when xFilter is called, the argv[0] passed to xFilter will have
|
|
the EXPR value of the aConstraint[3] constraint.
|
|
|
|
|
|
By default, the SQLite core double checks all constraints on
|
|
each row of the virtual table that it receives. If such a check
|
|
is redundant, the xBestFilter method can suppress that double-check by
|
|
setting aConstraintUsage[].omit.
|
|
|
|
|
|
The xBestIndex method should return SQLITE_OK on success. If any
|
|
kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM)
|
|
should be returned instead.
|
|
|
|
|
|
If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an
|
|
error. Rather, SQLITE_CONSTRAINT indicates that the particular combination
|
|
of input parameters specified should not be used in the query plan.
|
|
The SQLITE_CONSTRAINT return is useful for table-valued functions that
|
|
have required parameters. If the aConstraint[].usable field is false
|
|
for one of the required parameter, then the xBestIndex method should
|
|
return SQLITE_CONSTRAINT.
|
|
|
|
|
|
The following example will better illustrate the use of SQLITE_CONSTRAINT
|
|
as a return value from xBestIndex:
|
|
|
|
|
|
SELECT * FROM realtab, tablevaluedfunc(realtab.x);
|
|
|
|
|
|
Assuming that the first hidden column of "tablevaluedfunc" is "param1",
|
|
the query above is semantically equivalent to this:
|
|
|
|
|
|
SELECT * FROM realtab, tablevaluedfunc
|
|
WHERE tablevaluedfunc.param1 = realtab.x;
|
|
|
|
|
|
The query planner must decide between many possible implementations
|
|
of this query, but two plans in particular are of note:
|
|
|
|
]]>
|
|
]]>Scan all
|
|
rows of realtab and for each row, find rows in tablevaluedfunc where
|
|
param1 is equal to realtab.x
|
|
]]>]]>Scan all rows of tablevalued func and for each row find rows
|
|
in realtab where x is equal to tablevaluedfunc.param1.
|
|
]]>]]>
|
|
|
|
The xBestIndex method will be invoked once for each of the potential
|
|
plans above. For plan 1, the aConstraint[].usable flag for for the
|
|
SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because
|
|
the right-hand side value for the "param1 = ?" constraint will be known,
|
|
since it is determined by the outer realtab loop.
|
|
But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false
|
|
because the right-hand side value is determined by an inner loop and is thus
|
|
an unknown quantity. Because param1 is a required input to the table-valued
|
|
functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented
|
|
with plan 2, indicating that a required input is missing. This forces the
|
|
query planner to select plan 1.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The native pointer to the sqlite3_index_info structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xDisconnect)(sqlite3_vtab *pVTab);
|
|
|
|
|
|
This method releases a connection to a virtual table.
|
|
Only the sqlite3_vtab object is destroyed.
|
|
The virtual table is not destroyed and any backing store
|
|
associated with the virtual table persists.
|
|
|
|
This method undoes the work of xConnect.
|
|
|
|
This method is a destructor for a connection to the virtual table.
|
|
Contrast this method with xDestroy. The xDestroy is a destructor
|
|
for the entire virtual table.
|
|
|
|
|
|
The xDisconnect method is required for every virtual table implementation,
|
|
though it is acceptable for the xDisconnect and xDestroy methods to be
|
|
the same function if that makes sense for the particular virtual table.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xDestroy)(sqlite3_vtab *pVTab);
|
|
|
|
|
|
This method releases a connection to a virtual table, just like
|
|
the xDisconnect method, and it also destroys the underlying
|
|
table implementation. This method undoes the work of xCreate.
|
|
|
|
|
|
The xDisconnect method is called whenever a database connection
|
|
that uses a virtual table is closed. The xDestroy method is only
|
|
called when a DROP TABLE statement is executed against the virtual table.
|
|
|
|
|
|
The xDestroy method is required for every virtual table implementation,
|
|
though it is acceptable for the xDisconnect and xDestroy methods to be
|
|
the same function if that makes sense for the particular virtual table.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
|
|
|
|
|
|
The xOpen method creates a new cursor used for accessing (read and/or
|
|
writing) a virtual table. A successful invocation of this method
|
|
will allocate the memory for the sqlite3_vtab_cursor (or a subclass),
|
|
initialize the new object, and make *ppCursor point to the new object.
|
|
The successful call then returns SQLITE_OK.
|
|
|
|
|
|
For every successful call to this method, the SQLite core will
|
|
later invoke the xClose method to destroy
|
|
the allocated cursor.
|
|
|
|
|
|
The xOpen method need not initialize the pVtab field of the
|
|
sqlite3_vtab_cursor structure. The SQLite core will take care
|
|
of that chore automatically.
|
|
|
|
|
|
A virtual table implementation must be able to support an arbitrary
|
|
number of simultaneously open cursors.
|
|
|
|
|
|
When initially opened, the cursor is in an undefined state.
|
|
The SQLite core will invoke the xFilter method
|
|
on the cursor prior to any attempt to position or read from the cursor.
|
|
|
|
|
|
The xOpen method is required for every virtual table implementation.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
Upon success, this parameter must be modified to point to the newly
|
|
created native sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xClose)(sqlite3_vtab_cursor*);
|
|
|
|
|
|
The xClose method closes a cursor previously opened by
|
|
xOpen.
|
|
The SQLite core will always call xClose once for each cursor opened
|
|
using xOpen.
|
|
|
|
|
|
This method must release all resources allocated by the
|
|
corresponding xOpen call. The routine will not be called again even if it
|
|
returns an error. The SQLite core will not use the
|
|
sqlite3_vtab_cursor again after it has been closed.
|
|
|
|
|
|
The xClose method is required for every virtual table implementation.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
|
|
int argc, sqlite3_value **argv);
|
|
|
|
|
|
This method begins a search of a virtual table.
|
|
The first argument is a cursor opened by xOpen.
|
|
The next two arguments define a particular search index previously
|
|
chosen by xBestIndex. The specific meanings of idxNum and idxStr
|
|
are unimportant as long as xFilter and xBestIndex agree on what
|
|
that meaning is.
|
|
|
|
|
|
The xBestIndex function may have requested the values of
|
|
certain expressions using the aConstraintUsage[].argvIndex values
|
|
of the sqlite3_index_info structure.
|
|
Those values are passed to xFilter using the argc and argv parameters.
|
|
|
|
|
|
If the virtual table contains one or more rows that match the
|
|
search criteria, then the cursor must be left point at the first row.
|
|
Subsequent calls to xEof must return false (zero).
|
|
If there are no rows match, then the cursor must be left in a state
|
|
that will cause the xEof to return true (non-zero).
|
|
The SQLite engine will use
|
|
the xColumn and xRowid methods to access that row content.
|
|
The xNext method will be used to advance to the next row.
|
|
|
|
|
|
This method must return SQLITE_OK if successful, or an sqlite
|
|
error code if an error occurs.
|
|
|
|
|
|
The xFilter method is required for every virtual table implementation.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
Number used to help identify the selected index.
|
|
|
|
|
|
The native pointer to the UTF-8 encoded string containing the
|
|
string used to help identify the selected index.
|
|
|
|
|
|
The number of native pointers to sqlite3_value structures specified
|
|
in
|
|
|
|
|
|
An array of native pointers to sqlite3_value structures containing
|
|
filtering criteria for the selected index.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xNext)(sqlite3_vtab_cursor*);
|
|
|
|
|
|
The xNext method advances a virtual table cursor
|
|
to the next row of a result set initiated by xFilter.
|
|
If the cursor is already pointing at the last row when this
|
|
routine is called, then the cursor no longer points to valid
|
|
data and a subsequent call to the xEof method must return true (non-zero).
|
|
If the cursor is successfully advanced to another row of content, then
|
|
subsequent calls to xEof must return false (zero).
|
|
|
|
|
|
This method must return SQLITE_OK if successful, or an sqlite
|
|
error code if an error occurs.
|
|
|
|
|
|
The xNext method is required for every virtual table implementation.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xEof)(sqlite3_vtab_cursor*);
|
|
|
|
|
|
The xEof method must return false (zero) if the specified cursor
|
|
currently points to a valid row of data, or true (non-zero) otherwise.
|
|
This method is called by the SQL engine immediately after each
|
|
xFilter and xNext invocation.
|
|
|
|
|
|
The xEof method is required for every virtual table implementation.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
Non-zero if no more rows are available; zero otherwise.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N);
|
|
|
|
|
|
The SQLite core invokes this method in order to find the value for
|
|
the N-th column of the current row. N is zero-based so the first column
|
|
is numbered 0.
|
|
The xColumn method may return its result back to SQLite using one of the
|
|
following interface:
|
|
|
|
|
|
]]>
|
|
]]> sqlite3_result_blob()
|
|
]]>]]> sqlite3_result_double()
|
|
]]>]]> sqlite3_result_int()
|
|
]]>]]> sqlite3_result_int64()
|
|
]]>]]> sqlite3_result_null()
|
|
]]>]]> sqlite3_result_text()
|
|
]]>]]> sqlite3_result_text16()
|
|
]]>]]> sqlite3_result_text16le()
|
|
]]>]]> sqlite3_result_text16be()
|
|
]]>]]> sqlite3_result_zeroblob()
|
|
]]>]]>
|
|
|
|
|
|
If the xColumn method implementation calls none of the functions above,
|
|
then the value of the column defaults to an SQL NULL.
|
|
|
|
|
|
To raise an error, the xColumn method should use one of the result_text()
|
|
methods to set the error message text, then return an appropriate
|
|
error code. The xColumn method must return SQLITE_OK on success.
|
|
|
|
|
|
The xColumn method is required for every virtual table implementation.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
The native pointer to the sqlite3_context structure to be used
|
|
for returning the specified column value to the SQLite core
|
|
library.
|
|
|
|
|
|
The zero-based index corresponding to the column containing the
|
|
value to be returned.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
|
|
|
|
|
|
A successful invocation of this method will cause *pRowid to be
|
|
filled with the rowid of row that the
|
|
virtual table cursor pCur is currently pointing at.
|
|
This method returns SQLITE_OK on success.
|
|
It returns an appropriate error code on failure.
|
|
|
|
|
|
The xRowid method is required for every virtual table implementation.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the unique
|
|
integer row identifier for the current row for the specified cursor.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xUpdate)(
|
|
sqlite3_vtab *pVTab,
|
|
int argc,
|
|
sqlite3_value **argv,
|
|
sqlite_int64 *pRowid
|
|
);
|
|
|
|
|
|
All changes to a virtual table are made using the xUpdate method.
|
|
This one method can be used to insert, delete, or update.
|
|
|
|
|
|
The argc parameter specifies the number of entries in the argv array.
|
|
The value of argc will be 1 for a pure delete operation or N+2 for an insert
|
|
or replace or update where N is the number of columns in the table.
|
|
In the previous sentence, N includes any hidden columns.
|
|
|
|
|
|
Every argv entry will have a non-NULL value in C but may contain the
|
|
SQL value NULL. In other words, it is always true that
|
|
]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>.
|
|
However, it might be the case that
|
|
]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>.
|
|
|
|
|
|
The argv[0] parameter is the rowid of a row in the virtual table
|
|
to be deleted. If argv[0] is an SQL NULL, then no deletion occurs.
|
|
|
|
|
|
The argv[1] parameter is the rowid of a new row to be inserted
|
|
into the virtual table. If argv[1] is an SQL NULL, then the implementation
|
|
must choose a rowid for the newly inserted row. Subsequent argv[]
|
|
entries contain values of the columns of the virtual table, in the
|
|
order that the columns were declared. The number of columns will
|
|
match the table declaration that the xConnect or xCreate method made
|
|
using the sqlite3_declare_vtab() call. All hidden columns are included.
|
|
|
|
|
|
When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL),
|
|
on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table),
|
|
the implementation must set *pRowid to the rowid of the newly inserted row;
|
|
this will become the value returned by the sqlite3_last_insert_rowid()
|
|
function. Setting this value in all the other cases is a harmless no-op;
|
|
the SQLite engine ignores the *pRowid return value if argc==1 or
|
|
argv[1] is not an SQL NULL.
|
|
|
|
|
|
Each call to xUpdate will fall into one of cases shown below.
|
|
Not that references to ]]>argv[i]]]> mean the SQL value
|
|
held within the argv[i] object, not the argv[i]
|
|
object itself.
|
|
|
|
|
|
]]>
|
|
]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]>
|
|
]]>]]>
|
|
DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted.
|
|
No insert occurs.
|
|
]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]>
|
|
]]>]]>
|
|
INSERT: A new row is inserted with column values taken from
|
|
argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL,
|
|
then a new unique rowid is generated automatically. The argv[1] will be NULL
|
|
for a WITHOUT ROWID virtual table, in which case the implementation should
|
|
take the PRIMARY KEY value from the appropriate column in argv[2] and following.
|
|
]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]>
|
|
]]>]]>
|
|
UPDATE:
|
|
The row with rowid or PRIMARY KEY argv[0] is updated with new values
|
|
in argv[2] and following parameters.
|
|
]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]>
|
|
]]>]]>
|
|
UPDATE with rowid or PRIMARY KEY change:
|
|
The row with rowid or PRIMARY KEY argv[0] is updated with
|
|
the rowid or PRIMARY KEY in argv[1]
|
|
and new values in argv[2] and following parameters. This will occur
|
|
when an SQL statement updates a rowid, as in the statement:
|
|
|
|
UPDATE table SET rowid=rowid+1 WHERE ...;
|
|
|
|
]]>]]>
|
|
|
|
|
|
The xUpdate method must return SQLITE_OK if and only if it is
|
|
successful. If a failure occurs, the xUpdate must return an appropriate
|
|
error code. On a failure, the pVTab->zErrMsg element may optionally
|
|
be replaced with error message text stored in memory allocated from SQLite
|
|
using functions such as sqlite3_mprintf() or sqlite3_malloc().
|
|
|
|
|
|
If the xUpdate method violates some constraint of the virtual table
|
|
(including, but not limited to, attempting to store a value of the wrong
|
|
datatype, attempting to store a value that is too
|
|
large or too small, or attempting to change a read-only value) then the
|
|
xUpdate must fail with an appropriate error code.
|
|
|
|
|
|
If the xUpdate method is performing an UPDATE, then
|
|
sqlite3_value_nochange(X) can be used to discover which columns
|
|
of the virtual table were actually modified by the UPDATE
|
|
statement. The sqlite3_value_nochange(X) interface returns
|
|
true for columns that do not change.
|
|
On every UPDATE, SQLite will first invoke
|
|
xColumn separately for each unchanging column in the table to
|
|
obtain the value for that column. The xColumn method can
|
|
check to see if the column is unchanged at the SQL level
|
|
by invoking sqlite3_vtab_nochange(). If xColumn sees that
|
|
the column is not being modified, it should return without setting
|
|
a result using one of the sqlite3_result_xxxxx()
|
|
interfaces. Only in that case sqlite3_value_nochange() will be
|
|
true within the xUpdate method. If xColumn does
|
|
invoke one or more sqlite3_result_xxxxx()
|
|
interfaces, then SQLite understands that as a change in the value
|
|
of the column and the sqlite3_value_nochange() call for that
|
|
column within xUpdate will return false.
|
|
|
|
|
|
There might be one or more sqlite3_vtab_cursor objects open and in use
|
|
on the virtual table instance and perhaps even on the row of the virtual
|
|
table when the xUpdate method is invoked. The implementation of
|
|
xUpdate must be prepared for attempts to delete or modify rows of the table
|
|
out from other existing cursors. If the virtual table cannot accommodate
|
|
such changes, the xUpdate method must return an error code.
|
|
|
|
|
|
The xUpdate method is optional.
|
|
If the xUpdate pointer in the sqlite3_module for a virtual table
|
|
is a NULL pointer, then the virtual table is read-only.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The number of new or modified column values contained in
|
|
|
|
|
|
|
|
The array of native pointers to sqlite3_value structures containing
|
|
the new or modified column values, if any.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the unique
|
|
integer row identifier for the row that was inserted, if any.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xBegin)(sqlite3_vtab *pVTab);
|
|
|
|
|
|
This method begins a transaction on a virtual table.
|
|
This is method is optional. The xBegin pointer of sqlite3_module
|
|
may be NULL.
|
|
|
|
|
|
This method is always followed by one call to either the
|
|
xCommit or xRollback method. Virtual table transactions do
|
|
not nest, so the xBegin method will not be invoked more than once
|
|
on a single virtual table
|
|
without an intervening call to either xCommit or xRollback.
|
|
Multiple calls to other methods can and likely will occur in between
|
|
the xBegin and the corresponding xCommit or xRollback.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xSync)(sqlite3_vtab *pVTab);
|
|
|
|
|
|
This method signals the start of a two-phase commit on a virtual
|
|
table.
|
|
This is method is optional. The xSync pointer of sqlite3_module
|
|
may be NULL.
|
|
|
|
|
|
This method is only invoked after call to the xBegin method and
|
|
prior to an xCommit or xRollback. In order to implement two-phase
|
|
commit, the xSync method on all virtual tables is invoked prior to
|
|
invoking the xCommit method on any virtual table. If any of the
|
|
xSync methods fail, the entire transaction is rolled back.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xCommit)(sqlite3_vtab *pVTab);
|
|
|
|
|
|
This method causes a virtual table transaction to commit.
|
|
This is method is optional. The xCommit pointer of sqlite3_module
|
|
may be NULL.
|
|
|
|
|
|
A call to this method always follows a prior call to xBegin and
|
|
xSync.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xRollback)(sqlite3_vtab *pVTab);
|
|
|
|
|
|
This method causes a virtual table transaction to rollback.
|
|
This is method is optional. The xRollback pointer of sqlite3_module
|
|
may be NULL.
|
|
|
|
|
|
A call to this method always follows a prior call to xBegin.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xFindFunction)(
|
|
sqlite3_vtab *pVtab,
|
|
int nArg,
|
|
const char *zName,
|
|
void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
|
|
void **ppArg
|
|
);
|
|
|
|
|
|
This method is called during sqlite3_prepare() to give the virtual
|
|
table implementation an opportunity to overload functions.
|
|
This method may be set to NULL in which case no overloading occurs.
|
|
|
|
|
|
When a function uses a column from a virtual table as its first
|
|
argument, this method is called to see if the virtual table would
|
|
like to overload the function. The first three parameters are inputs:
|
|
the virtual table, the number of arguments to the function, and the
|
|
name of the function. If no overloading is desired, this method
|
|
returns 0. To overload the function, this method writes the new
|
|
function implementation into *pxFunc and writes user data into *ppArg
|
|
and returns either 1 or a number between
|
|
SQLITE_INDEX_CONSTRAINT_FUNCTION and 255.
|
|
|
|
|
|
Historically, the return value from xFindFunction() was either zero
|
|
or one. Zero means that the function is not overloaded and one means that
|
|
it is overload. The ability to return values of
|
|
SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in
|
|
version 3.25.0 (2018-09-15). If xFindFunction returns
|
|
SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function
|
|
takes two arguments and the function
|
|
can be used as a boolean in the WHERE clause of a query and that
|
|
the virtual table is able to exploit that function to speed up the query
|
|
result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or
|
|
larger, the value returned becomes the sqlite3_index_info.aConstraint.op
|
|
value for one of the constraints passed into xBestIndex() and the second
|
|
argument becomes the value corresponding to that constraint that is passed
|
|
to xFilter(). This enables the
|
|
xBestIndex()/xFilter implementations to use the function to speed
|
|
its search.
|
|
|
|
|
|
The technique of having xFindFunction() return values of
|
|
SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation
|
|
of the Geopoly module. The xFindFunction() method of that module returns
|
|
SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function
|
|
and it returns
|
|
SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function.
|
|
This permits search optimizations for queries such as:
|
|
|
|
|
|
SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon);
|
|
|
|
|
|
Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse
|
|
the order of their arguments. So "like(A,B)" is equivalent to "B like A".
|
|
For the form "B like A" the B term is considered the first argument
|
|
to the function. But for "like(A,B)" the A term is considered the
|
|
first argument.
|
|
|
|
|
|
The function pointer returned by this routine must be valid for
|
|
the lifetime of the sqlite3_vtab object given in the first parameter.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The number of arguments to the function being sought.
|
|
|
|
|
|
The name of the function being sought.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
delegate responsible for implementing the specified function.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
native user-data pointer associated with
|
|
|
|
|
|
|
|
Non-zero if the specified function was found; zero otherwise.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
|
|
|
|
|
|
This method provides notification that the virtual table implementation
|
|
that the virtual table will be given a new name.
|
|
If this method returns SQLITE_OK then SQLite renames the table.
|
|
If this method returns an error code then the renaming is prevented.
|
|
|
|
|
|
The xRename method is optional. If omitted, then the virtual
|
|
table may not be renamed using the ALTER TABLE RENAME command.
|
|
|
|
|
|
The PRAGMA legacy_alter_table setting is enabled prior to invoking this
|
|
method, and the value for legacy_alter_table is restored after this
|
|
method finishes. This is necessary for the correct operation of virtual
|
|
tables that make use of shadow tables where the shadow tables must be
|
|
renamed to match the new virtual table name. If the legacy_alter_format is
|
|
off, then the xConnect method will be invoked for the virtual table every
|
|
time the xRename method tries to change the name of the shadow table.
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The native pointer to the UTF-8 encoded string containing the new
|
|
name for the virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xSavepoint)(sqlite3_vtab *pVtab, int);
|
|
int (*xRelease)(sqlite3_vtab *pVtab, int);
|
|
int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
|
|
|
|
|
|
These methods provide the virtual table implementation an opportunity to
|
|
implement nested transactions. They are always optional and will only be
|
|
called in SQLite version 3.7.7 (2011-06-23) and later.
|
|
|
|
|
|
When xSavepoint(X,N) is invoked, that is a signal to the virtual table X
|
|
that it should save its current state as savepoint N.
|
|
A subsequent call
|
|
to xRollbackTo(X,R) means that the state of the virtual table should return
|
|
to what it was when xSavepoint(X,R) was last called.
|
|
The call
|
|
to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the
|
|
invalided savepoints will be rolled back or released without first
|
|
being reinitialized by a call to xSavepoint().
|
|
A call to xRelease(X,M) invalidates all savepoints where N>=M.
|
|
|
|
|
|
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever
|
|
be called except in between calls to xBegin() and
|
|
either xCommit() or xRollback().
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
This is an integer identifier under which the the current state of
|
|
the virtual table should be saved.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xSavepoint)(sqlite3_vtab *pVtab, int);
|
|
int (*xRelease)(sqlite3_vtab *pVtab, int);
|
|
int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
|
|
|
|
|
|
These methods provide the virtual table implementation an opportunity to
|
|
implement nested transactions. They are always optional and will only be
|
|
called in SQLite version 3.7.7 (2011-06-23) and later.
|
|
|
|
|
|
When xSavepoint(X,N) is invoked, that is a signal to the virtual table X
|
|
that it should save its current state as savepoint N.
|
|
A subsequent call
|
|
to xRollbackTo(X,R) means that the state of the virtual table should return
|
|
to what it was when xSavepoint(X,R) was last called.
|
|
The call
|
|
to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the
|
|
invalided savepoints will be rolled back or released without first
|
|
being reinitialized by a call to xSavepoint().
|
|
A call to xRelease(X,M) invalidates all savepoints where N>=M.
|
|
|
|
|
|
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever
|
|
be called except in between calls to xBegin() and
|
|
either xCommit() or xRollback().
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
This is an integer used to indicate that any saved states with an
|
|
identifier greater than or equal to this should be deleted by the
|
|
virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
|
|
int (*xSavepoint)(sqlite3_vtab *pVtab, int);
|
|
int (*xRelease)(sqlite3_vtab *pVtab, int);
|
|
int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
|
|
|
|
|
|
These methods provide the virtual table implementation an opportunity to
|
|
implement nested transactions. They are always optional and will only be
|
|
called in SQLite version 3.7.7 (2011-06-23) and later.
|
|
|
|
|
|
When xSavepoint(X,N) is invoked, that is a signal to the virtual table X
|
|
that it should save its current state as savepoint N.
|
|
A subsequent call
|
|
to xRollbackTo(X,R) means that the state of the virtual table should return
|
|
to what it was when xSavepoint(X,R) was last called.
|
|
The call
|
|
to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the
|
|
invalided savepoints will be rolled back or released without first
|
|
being reinitialized by a call to xSavepoint().
|
|
A call to xRelease(X,M) invalidates all savepoints where N>=M.
|
|
|
|
|
|
None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever
|
|
be called except in between calls to xBegin() and
|
|
either xCommit() or xRollback().
|
|
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
This is an integer identifier used to specify a specific saved
|
|
state for the virtual table for it to restore itself back to, which
|
|
should also have the effect of deleting all saved states with an
|
|
integer identifier greater than this one.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This class represents a context from the SQLite core library that can
|
|
be passed to the sqlite3_result_*() and associated functions.
|
|
|
|
|
|
|
|
|
|
The native context handle.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified native
|
|
context handle.
|
|
|
|
|
|
The native context handle to use.
|
|
|
|
|
|
|
|
|
|
Returns the underlying SQLite native handle associated with this
|
|
object instance.
|
|
|
|
|
|
|
|
|
|
Sets the context result to NULL.
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
value.
|
|
|
|
|
|
The
|
|
converted to the UTF-8 encoding prior to being used.
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
value containing an error message.
|
|
|
|
|
|
The
|
|
This value will be converted to the UTF-8 encoding prior to being
|
|
used.
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Sets the context result to contain the error code SQLITE_TOOBIG.
|
|
|
|
|
|
|
|
|
|
Sets the context result to contain the error code SQLITE_NOMEM.
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Sets the context result to a BLOB of zeros of the specified size.
|
|
|
|
|
|
The number of zero bytes to use for the BLOB context result.
|
|
|
|
|
|
|
|
|
|
Sets the context result to the specified
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
This class represents a value from the SQLite core library that can be
|
|
passed to the sqlite3_value_*() and associated functions.
|
|
|
|
|
|
|
|
|
|
The native value handle.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified native
|
|
value handle.
|
|
|
|
|
|
The native value handle to use.
|
|
|
|
|
|
|
|
|
|
Invalidates the native value handle, thereby preventing further
|
|
access to it from this object instance.
|
|
|
|
|
|
|
|
|
|
Converts a native pointer to a native sqlite3_value structure into
|
|
a managed
|
|
|
|
|
|
The native pointer to a native sqlite3_value structure to convert.
|
|
|
|
|
|
The managed
|
|
failure.
|
|
|
|
|
|
|
|
|
|
Converts a logical array of native pointers to native sqlite3_value
|
|
structures into a managed array of
|
|
object instances.
|
|
|
|
|
|
The number of elements in the logical array of native sqlite3_value
|
|
structures.
|
|
|
|
|
|
The native pointer to the logical array of native sqlite3_value
|
|
structures to convert.
|
|
|
|
|
|
The managed array of
|
|
null upon failure.
|
|
|
|
|
|
|
|
|
|
Returns the underlying SQLite native handle associated with this
|
|
object instance.
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the native SQLite value has been successfully
|
|
persisted as a managed value within this object instance (i.e. the
|
|
|
|
|
|
|
|
|
|
|
|
If the managed value for this object instance is available (i.e. it
|
|
has been previously persisted via the
|
|
that value is returned; otherwise, an exception is thrown. The
|
|
returned value may be null.
|
|
|
|
|
|
|
|
|
|
Gets and returns the type affinity associated with this value.
|
|
|
|
|
|
The type affinity associated with this value.
|
|
|
|
|
|
|
|
|
|
Gets and returns the number of bytes associated with this value, if
|
|
it refers to a UTF-8 encoded string.
|
|
|
|
|
|
The number of bytes associated with this value. The returned value
|
|
may be zero.
|
|
|
|
|
|
|
|
|
|
Gets and returns the
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Gets and returns the
|
|
this value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Gets and returns the
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Gets and returns the
|
|
value.
|
|
|
|
|
|
The
|
|
converted from the UTF-8 encoding prior to being returned.
|
|
|
|
|
|
|
|
|
|
Gets and returns the
|
|
value.
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Gets and returns an
|
|
this value.
|
|
|
|
|
|
The
|
|
affinity of the object is unknown or cannot be determined, a null
|
|
value will be returned.
|
|
|
|
|
|
|
|
|
|
Uses the native value handle to obtain and store the managed value
|
|
for this object instance, thus saving it for later use. The type
|
|
of the managed value is determined by the type affinity of the
|
|
native value. If the type affinity is not recognized by this
|
|
method, no work is done and false is returned.
|
|
|
|
|
|
Non-zero if the native value was persisted successfully.
|
|
|
|
|
|
|
|
|
|
These are the allowed values for the operators that are part of a
|
|
constraint term in the WHERE clause of a query that uses a virtual
|
|
table.
|
|
|
|
|
|
|
|
|
|
This value represents the equality operator.
|
|
|
|
|
|
|
|
|
|
This value represents the greater than operator.
|
|
|
|
|
|
|
|
|
|
This value represents the less than or equal to operator.
|
|
|
|
|
|
|
|
|
|
This value represents the less than operator.
|
|
|
|
|
|
|
|
|
|
This value represents the greater than or equal to operator.
|
|
|
|
|
|
|
|
|
|
This value represents the MATCH operator.
|
|
|
|
|
|
|
|
|
|
This value represents the LIKE operator.
|
|
|
|
|
|
|
|
|
|
This value represents the GLOB operator.
|
|
|
|
|
|
|
|
|
|
This value represents the REGEXP operator.
|
|
|
|
|
|
|
|
|
|
This value represents the inequality operator.
|
|
|
|
|
|
|
|
|
|
This value represents the IS NOT operator.
|
|
|
|
|
|
|
|
|
|
This value represents the IS NOT NULL operator.
|
|
|
|
|
|
|
|
|
|
This value represents the IS NULL operator.
|
|
|
|
|
|
|
|
|
|
This value represents the IS operator.
|
|
|
|
|
|
|
|
|
|
These are the allowed values for the index flags from the
|
|
|
|
|
|
|
|
|
|
|
|
No special handling. This is the default.
|
|
|
|
|
|
|
|
|
|
This value indicates that the scan of the index will visit at
|
|
most one row.
|
|
|
|
|
|
|
|
|
|
This class represents the native sqlite3_index_constraint structure
|
|
from the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified native
|
|
sqlite3_index_constraint structure.
|
|
|
|
|
|
The native sqlite3_index_constraint structure to use.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified field
|
|
values.
|
|
|
|
|
|
Column on left-hand side of constraint.
|
|
|
|
|
|
Constraint operator (
|
|
|
|
|
|
True if this constraint is usable.
|
|
|
|
|
|
Used internally -
|
|
should ignore.
|
|
|
|
|
|
|
|
|
|
Column on left-hand side of constraint.
|
|
|
|
|
|
|
|
|
|
Constraint operator (
|
|
|
|
|
|
|
|
|
|
True if this constraint is usable.
|
|
|
|
|
|
|
|
|
|
Used internally -
|
|
should ignore.
|
|
|
|
|
|
|
|
|
|
This class represents the native sqlite3_index_orderby structure from
|
|
the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified native
|
|
sqlite3_index_orderby structure.
|
|
|
|
|
|
The native sqlite3_index_orderby structure to use.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified field
|
|
values.
|
|
|
|
|
|
Column number.
|
|
|
|
|
|
True for DESC. False for ASC.
|
|
|
|
|
|
|
|
|
|
Column number.
|
|
|
|
|
|
|
|
|
|
True for DESC. False for ASC.
|
|
|
|
|
|
|
|
|
|
This class represents the native sqlite3_index_constraint_usage
|
|
structure from the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Constructs a default instance of this class.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified native
|
|
sqlite3_index_constraint_usage structure.
|
|
|
|
|
|
The native sqlite3_index_constraint_usage structure to use.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified field
|
|
values.
|
|
|
|
|
|
If greater than 0, constraint is part of argv to xFilter.
|
|
|
|
|
|
Do not code a test for this constraint.
|
|
|
|
|
|
|
|
|
|
If greater than 0, constraint is part of argv to xFilter.
|
|
|
|
|
|
|
|
|
|
Do not code a test for this constraint.
|
|
|
|
|
|
|
|
|
|
This class represents the various inputs provided by the SQLite core
|
|
library to the
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The number of
|
|
pre-allocate space for.
|
|
|
|
|
|
The number of
|
|
pre-allocate space for.
|
|
|
|
|
|
|
|
|
|
An array of
|
|
each containing information supplied by the SQLite core library.
|
|
|
|
|
|
|
|
|
|
An array of
|
|
each containing information supplied by the SQLite core library.
|
|
|
|
|
|
|
|
|
|
This class represents the various outputs provided to the SQLite core
|
|
library by the
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The number of
|
|
to pre-allocate space for.
|
|
|
|
|
|
|
|
|
|
Determines if the native estimatedRows field can be used, based on
|
|
the available version of the SQLite core library.
|
|
|
|
|
|
Non-zero if the
|
|
by the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Determines if the native flags field can be used, based on the
|
|
available version of the SQLite core library.
|
|
|
|
|
|
Non-zero if the
|
|
the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Determines if the native flags field can be used, based on the
|
|
available version of the SQLite core library.
|
|
|
|
|
|
Non-zero if the
|
|
the SQLite core library.
|
|
|
|
|
|
|
|
|
|
An array of
|
|
instances, each containing information to be supplied to the SQLite
|
|
core library.
|
|
|
|
|
|
|
|
|
|
Number used to help identify the selected index. This value will
|
|
later be provided to the
|
|
method.
|
|
|
|
|
|
|
|
|
|
String used to help identify the selected index. This value will
|
|
later be provided to the
|
|
method.
|
|
|
|
|
|
|
|
|
|
Non-zero if the index string must be freed by the SQLite core
|
|
library.
|
|
|
|
|
|
|
|
|
|
True if output is already ordered.
|
|
|
|
|
|
|
|
|
|
Estimated cost of using this index. Using a null value here
|
|
indicates that a default estimated cost value should be used.
|
|
|
|
|
|
|
|
|
|
Estimated number of rows returned. Using a null value here
|
|
indicates that a default estimated rows value should be used.
|
|
This property has no effect if the SQLite core library is not at
|
|
least version 3.8.2.
|
|
|
|
|
|
|
|
|
|
The flags that should be used with this index. Using a null value
|
|
here indicates that a default flags value should be used. This
|
|
property has no effect if the SQLite core library is not at least
|
|
version 3.9.0.
|
|
|
|
|
|
|
|
|
|
|
|
Indicates which columns of the virtual table may be required by the
|
|
current scan. Virtual table columns are numbered from zero in the
|
|
order in which they appear within the CREATE TABLE statement passed
|
|
to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
|
|
the corresponding bit is set within the bit mask if the column may
|
|
be required by SQLite. If the table has at least 64 columns and
|
|
any column to the right of the first 63 is required, then bit 63 of
|
|
colUsed is also set. In other words, column iCol may be required
|
|
if the expression
|
|
|
|
|
|
(colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol)))
|
|
|
|
|
|
evaluates to non-zero. Using a null value here indicates that a
|
|
default flags value should be used. This property has no effect if
|
|
the SQLite core library is not at least version 3.10.0.
|
|
|
|
|
|
|
|
|
|
|
|
This class represents the various inputs and outputs used with the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The number of
|
|
|
|
pre-allocate space for.
|
|
|
|
|
|
The number of
|
|
pre-allocate space for.
|
|
|
|
|
|
|
|
|
|
Attempts to determine the structure sizes needed to create and
|
|
populate a native
|
|
|
|
structure.
|
|
|
|
|
|
The size of the native
|
|
|
|
structure is stored here.
|
|
|
|
|
|
The size of the native
|
|
|
|
structure is stored here.
|
|
|
|
|
|
The size of the native
|
|
|
|
structure is stored here.
|
|
|
|
|
|
The size of the native
|
|
|
|
structure is stored here.
|
|
|
|
|
|
|
|
|
|
Attempts to allocate and initialize a native
|
|
|
|
structure.
|
|
|
|
|
|
The number of
|
|
pre-allocate space for.
|
|
|
|
|
|
The number of
|
|
pre-allocate space for.
|
|
|
|
|
|
The newly allocated native
|
|
|
|
-OR-
|
|
|
|
|
|
|
|
|
|
Frees all the memory associated with a native
|
|
|
|
structure.
|
|
|
|
|
|
The native pointer to the native sqlite3_index_info structure to
|
|
free.
|
|
|
|
|
|
|
|
|
|
Converts a native pointer to a native sqlite3_index_info structure
|
|
into a new
|
|
|
|
|
|
The native pointer to the native sqlite3_index_info structure to
|
|
convert.
|
|
|
|
|
|
Non-zero to include fields from the outputs portion of the native
|
|
structure; otherwise, the "output" fields will not be read.
|
|
|
|
|
|
Upon success, this parameter will be modified to contain the newly
|
|
created
|
|
|
|
|
|
|
|
|
|
Populates the outputs of a pre-allocated native sqlite3_index_info
|
|
structure using an existing
|
|
instance.
|
|
|
|
|
|
The existing
|
|
the output data to use.
|
|
|
|
|
|
The native pointer to the pre-allocated native sqlite3_index_info
|
|
structure.
|
|
|
|
|
|
Non-zero to include fields from the inputs portion of the native
|
|
structure; otherwise, the "input" fields will not be written.
|
|
|
|
|
|
|
|
|
|
The
|
|
the inputs to the
|
|
method.
|
|
|
|
|
|
|
|
|
|
The
|
|
the outputs from the
|
|
method.
|
|
|
|
|
|
|
|
|
|
This class represents a managed virtual table implementation. It is
|
|
not sealed and should be used as the base class for any user-defined
|
|
virtual table classes implemented in managed code.
|
|
|
|
|
|
|
|
|
|
The index within the array of strings provided to the
|
|
|
|
|
|
name of the module implementing this virtual table.
|
|
|
|
|
|
|
|
|
|
The index within the array of strings provided to the
|
|
|
|
|
|
name of the database containing this virtual table.
|
|
|
|
|
|
|
|
|
|
The index within the array of strings provided to the
|
|
|
|
|
|
name of the virtual table.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The original array of strings provided to the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The original array of strings provided to the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The name of the module implementing this virtual table.
|
|
|
|
|
|
|
|
|
|
The name of the database containing this virtual table.
|
|
|
|
|
|
|
|
|
|
The name of the virtual table.
|
|
|
|
|
|
|
|
|
|
The
|
|
data for the inputs and outputs relating to the most recent index
|
|
selection.
|
|
|
|
|
|
|
|
|
|
This method should normally be used by the
|
|
|
|
perform index selection based on the constraints provided by the
|
|
SQLite core library.
|
|
|
|
|
|
The
|
|
data for the inputs and outputs relating to index selection.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Attempts to record the renaming of the virtual table associated
|
|
with this object instance.
|
|
|
|
|
|
The new name for the virtual table.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Returns the underlying SQLite native handle associated with this
|
|
object instance.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
from the finalizer.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class represents a managed virtual table cursor implementation.
|
|
It is not sealed and should be used as the base class for any
|
|
user-defined virtual table cursor classes implemented in managed code.
|
|
|
|
|
|
|
|
|
|
This value represents an invalid integer row sequence number.
|
|
|
|
|
|
|
|
|
|
The field holds the integer row sequence number for the current row
|
|
pointed to by this cursor object instance.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The
|
|
with this object instance.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
|
|
|
|
The
|
|
with this object instance.
|
|
|
|
|
|
|
|
|
|
Number used to help identify the selected index. This value will
|
|
be set via the
|
|
|
|
|
|
|
|
|
|
String used to help identify the selected index. This value will
|
|
be set via the
|
|
|
|
|
|
|
|
|
|
The values used to filter the rows returned via this cursor object
|
|
instance. This value will be set via the
|
|
method.
|
|
|
|
|
|
|
|
|
|
Attempts to persist the specified
|
|
instances in order to make them available after the
|
|
|
|
|
|
|
|
The array of
|
|
persisted.
|
|
|
|
|
|
The number of
|
|
successfully persisted.
|
|
|
|
|
|
|
|
|
|
This method should normally be used by the
|
|
|
|
perform filtering of the result rows and/or to record the filtering
|
|
criteria provided by the SQLite core library.
|
|
|
|
|
|
Number used to help identify the selected index.
|
|
|
|
|
|
String used to help identify the selected index.
|
|
|
|
|
|
The values corresponding to each column in the selected index.
|
|
|
|
|
|
|
|
|
|
Determines the integer row sequence number for the current row.
|
|
|
|
|
|
The integer row sequence number for the current row -OR- zero if
|
|
it cannot be determined.
|
|
|
|
|
|
|
|
|
|
Adjusts the integer row sequence number so that it refers to the
|
|
next row.
|
|
|
|
|
|
|
|
|
|
Returns the underlying SQLite native handle associated with this
|
|
object instance.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
from the finalizer.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This interface represents a native handle provided by the SQLite core
|
|
library.
|
|
|
|
|
|
|
|
|
|
The native handle value.
|
|
|
|
|
|
|
|
|
|
This interface represents a virtual table implementation written in
|
|
managed code.
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the schema for the virtual table has been
|
|
declared.
|
|
|
|
|
|
|
|
|
|
Returns the name of the module as it was registered with the SQLite
|
|
core library.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
the virtual table.
|
|
|
|
|
|
The native user-data pointer associated with this module, as it was
|
|
provided to the SQLite core library when the native module instance
|
|
was created.
|
|
|
|
|
|
The module name, database name, virtual table name, and all other
|
|
arguments passed to the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
the virtual table.
|
|
|
|
|
|
Upon failure, this parameter must be modified to contain an error
|
|
message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
the virtual table.
|
|
|
|
|
|
The native user-data pointer associated with this module, as it was
|
|
provided to the SQLite core library when the native module instance
|
|
was created.
|
|
|
|
|
|
The module name, database name, virtual table name, and all other
|
|
arguments passed to the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
the virtual table.
|
|
|
|
|
|
Upon failure, this parameter must be modified to contain an error
|
|
message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The
|
|
data for the inputs and outputs relating to index selection.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
with the newly opened virtual table cursor.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
Number used to help identify the selected index.
|
|
|
|
|
|
String used to help identify the selected index.
|
|
|
|
|
|
The values corresponding to each column in the selected index.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
Non-zero if no more rows are available; zero otherwise.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
The
|
|
returning the specified column value to the SQLite core library.
|
|
|
|
|
|
The zero-based index corresponding to the column containing the
|
|
value to be returned.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the unique
|
|
integer row identifier for the current row for the specified cursor.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The array of
|
|
the new or modified column values, if any.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the unique
|
|
integer row identifier for the row that was inserted, if any.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The number of arguments to the function being sought.
|
|
|
|
|
|
The name of the function being sought.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
implementing the specified function.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
native user-data pointer associated with
|
|
|
|
|
|
|
|
Non-zero if the specified function was found; zero otherwise.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The new name for the virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
This is an integer identifier under which the the current state of
|
|
the virtual table should be saved.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
This is an integer used to indicate that any saved states with an
|
|
identifier greater than or equal to this should be deleted by the
|
|
virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
This is an integer identifier used to specify a specific saved
|
|
state for the virtual table for it to restore itself back to, which
|
|
should also have the effect of deleting all saved states with an
|
|
integer identifier greater than this one.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This class contains static methods that are used to allocate,
|
|
manipulate, and free native memory provided by the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Determines if the native sqlite3_msize() API can be used, based on
|
|
the available version of the SQLite core library.
|
|
|
|
|
|
Non-zero if the native sqlite3_msize() API is supported by the
|
|
SQLite core library.
|
|
|
|
|
|
|
|
|
|
Allocates at least the specified number of bytes of native memory
|
|
via the SQLite core library sqlite3_malloc() function and returns
|
|
the resulting native pointer. If the TRACK_MEMORY_BYTES option
|
|
was enabled at compile-time, adjusts the number of bytes currently
|
|
allocated by this class.
|
|
|
|
|
|
The number of bytes to allocate.
|
|
|
|
|
|
The native pointer that points to a block of memory of at least the
|
|
specified size -OR-
|
|
not be allocated.
|
|
|
|
|
|
|
|
|
|
Allocates at least the specified number of bytes of native memory
|
|
via the SQLite core library sqlite3_malloc64() function and returns
|
|
the resulting native pointer. If the TRACK_MEMORY_BYTES option
|
|
was enabled at compile-time, adjusts the number of bytes currently
|
|
allocated by this class.
|
|
|
|
|
|
The number of bytes to allocate.
|
|
|
|
|
|
The native pointer that points to a block of memory of at least the
|
|
specified size -OR-
|
|
not be allocated.
|
|
|
|
|
|
|
|
|
|
Allocates at least the specified number of bytes of native memory
|
|
via the SQLite core library sqlite3_malloc() function and returns
|
|
the resulting native pointer without adjusting the number of
|
|
allocated bytes currently tracked by this class. This is useful
|
|
when dealing with blocks of memory that will be freed directly by
|
|
the SQLite core library.
|
|
|
|
|
|
The number of bytes to allocate.
|
|
|
|
|
|
The native pointer that points to a block of memory of at least the
|
|
specified size -OR-
|
|
not be allocated.
|
|
|
|
|
|
|
|
|
|
Allocates at least the specified number of bytes of native memory
|
|
via the SQLite core library sqlite3_malloc64() function and returns
|
|
the resulting native pointer without adjusting the number of
|
|
allocated bytes currently tracked by this class. This is useful
|
|
when dealing with blocks of memory that will be freed directly by
|
|
the SQLite core library.
|
|
|
|
|
|
The number of bytes to allocate.
|
|
|
|
|
|
The native pointer that points to a block of memory of at least the
|
|
specified size -OR-
|
|
not be allocated.
|
|
|
|
|
|
|
|
|
|
Gets and returns the actual size of the specified memory block
|
|
that was previously obtained from the
|
|
|
|
|
|
SQLite core library.
|
|
|
|
|
|
The native pointer to the memory block previously obtained from
|
|
the
|
|
|
|
|
|
SQLite core library.
|
|
|
|
|
|
The actual size, in bytes, of the memory block specified via the
|
|
native pointer.
|
|
|
|
|
|
|
|
|
|
Gets and returns the actual size of the specified memory block
|
|
that was previously obtained from the
|
|
|
|
|
|
SQLite core library.
|
|
|
|
|
|
The native pointer to the memory block previously obtained from
|
|
the
|
|
|
|
|
|
SQLite core library.
|
|
|
|
|
|
The actual size, in bytes, of the memory block specified via the
|
|
native pointer.
|
|
|
|
|
|
|
|
|
|
Frees a memory block previously obtained from the
|
|
|
|
the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts
|
|
the number of bytes currently allocated by this class.
|
|
|
|
|
|
The native pointer to the memory block previously obtained from the
|
|
|
|
|
|
|
|
|
|
|
|
Frees a memory block previously obtained from the SQLite core
|
|
library without adjusting the number of allocated bytes currently
|
|
tracked by this class. This is useful when dealing with blocks of
|
|
memory that were not allocated using this class.
|
|
|
|
|
|
The native pointer to the memory block previously obtained from the
|
|
SQLite core library.
|
|
|
|
|
|
|
|
|
|
This class contains static methods that are used to deal with native
|
|
UTF-8 string pointers to be used with the SQLite core library.
|
|
|
|
|
|
|
|
|
|
This is the maximum possible length for the native UTF-8 encoded
|
|
strings used with the SQLite core library.
|
|
|
|
|
|
|
|
|
|
This is the
|
|
conversions from/to UTF-8.
|
|
|
|
|
|
|
|
|
|
Converts the specified managed string into the UTF-8 encoding and
|
|
returns the array of bytes containing its representation in that
|
|
encoding.
|
|
|
|
|
|
The managed string to convert.
|
|
|
|
|
|
The array of bytes containing the representation of the managed
|
|
string in the UTF-8 encoding or null upon failure.
|
|
|
|
|
|
|
|
|
|
Converts the specified array of bytes representing a string in the
|
|
UTF-8 encoding and returns a managed string.
|
|
|
|
|
|
The array of bytes to convert.
|
|
|
|
|
|
The managed string or null upon failure.
|
|
|
|
|
|
|
|
|
|
Probes a native pointer to a string in the UTF-8 encoding for its
|
|
terminating NUL character, within the specified length limit.
|
|
|
|
|
|
The native NUL-terminated string pointer.
|
|
|
|
|
|
The maximum length of the native string, in bytes.
|
|
|
|
|
|
The length of the native string, in bytes -OR- zero if the length
|
|
could not be determined.
|
|
|
|
|
|
|
|
|
|
Converts the specified native NUL-terminated UTF-8 string pointer
|
|
into a managed string.
|
|
|
|
|
|
The native NUL-terminated UTF-8 string pointer.
|
|
|
|
|
|
The managed string or null upon failure.
|
|
|
|
|
|
|
|
|
|
Converts the specified native UTF-8 string pointer of the specified
|
|
length into a managed string.
|
|
|
|
|
|
The native UTF-8 string pointer.
|
|
|
|
|
|
The length of the native string, in bytes.
|
|
|
|
|
|
The managed string or null upon failure.
|
|
|
|
|
|
|
|
|
|
Converts the specified managed string into a native NUL-terminated
|
|
UTF-8 string pointer using memory obtained from the SQLite core
|
|
library.
|
|
|
|
|
|
The managed string to convert.
|
|
|
|
|
|
The native NUL-terminated UTF-8 string pointer or
|
|
|
|
|
|
|
|
|
|
|
|
Converts the specified managed string into a native NUL-terminated
|
|
UTF-8 string pointer using memory obtained from the SQLite core
|
|
library.
|
|
|
|
|
|
The managed string to convert.
|
|
|
|
|
|
Non-zero to obtain memory from the SQLite core library without
|
|
adjusting the number of allocated bytes currently being tracked
|
|
by the
|
|
|
|
|
|
The native NUL-terminated UTF-8 string pointer or
|
|
|
|
|
|
|
|
|
|
|
|
Converts the specified managed string into a native NUL-terminated
|
|
UTF-8 string pointer using memory obtained from the SQLite core
|
|
library.
|
|
|
|
|
|
The managed string to convert.
|
|
|
|
|
|
The length of the native string, in bytes.
|
|
|
|
|
|
The native NUL-terminated UTF-8 string pointer or
|
|
|
|
|
|
|
|
|
|
|
|
Converts the specified managed string into a native NUL-terminated
|
|
UTF-8 string pointer using memory obtained from the SQLite core
|
|
library.
|
|
|
|
|
|
The managed string to convert.
|
|
|
|
|
|
Non-zero to obtain memory from the SQLite core library without
|
|
adjusting the number of allocated bytes currently being tracked
|
|
by the
|
|
|
|
|
|
The length of the native string, in bytes.
|
|
|
|
|
|
The native NUL-terminated UTF-8 string pointer or
|
|
|
|
|
|
|
|
|
|
|
|
Converts a logical array of native NUL-terminated UTF-8 string
|
|
pointers into an array of managed strings.
|
|
|
|
|
|
The number of elements in the logical array of native
|
|
NUL-terminated UTF-8 string pointers.
|
|
|
|
|
|
The native pointer to the logical array of native NUL-terminated
|
|
UTF-8 string pointers to convert.
|
|
|
|
|
|
The array of managed strings or null upon failure.
|
|
|
|
|
|
|
|
|
|
Converts an array of managed strings into an array of native
|
|
NUL-terminated UTF-8 string pointers.
|
|
|
|
|
|
The array of managed strings to convert.
|
|
|
|
|
|
Non-zero to obtain memory from the SQLite core library without
|
|
adjusting the number of allocated bytes currently being tracked
|
|
by the
|
|
|
|
|
|
The array of native NUL-terminated UTF-8 string pointers or null
|
|
upon failure.
|
|
|
|
|
|
|
|
|
|
This class contains static methods that are used to deal with native
|
|
pointers to memory blocks that logically contain arrays of bytes to be
|
|
used with the SQLite core library.
|
|
|
|
|
|
|
|
|
|
Converts a native pointer to a logical array of bytes of the
|
|
specified length into a managed byte array.
|
|
|
|
|
|
The native pointer to the logical array of bytes to convert.
|
|
|
|
|
|
The length, in bytes, of the logical array of bytes to convert.
|
|
|
|
|
|
The managed byte array or null upon failure.
|
|
|
|
|
|
|
|
|
|
Converts a managed byte array into a native pointer to a logical
|
|
array of bytes.
|
|
|
|
|
|
The managed byte array to convert.
|
|
|
|
|
|
The native pointer to a logical byte array or null upon failure.
|
|
|
|
|
|
|
|
|
|
Converts a managed byte array into a native pointer to a logical
|
|
array of bytes.
|
|
|
|
|
|
The managed byte array to convert.
|
|
|
|
|
|
The length, in bytes, of the converted logical array of bytes.
|
|
|
|
|
|
The native pointer to a logical byte array or null upon failure.
|
|
|
|
|
|
|
|
|
|
This class contains static methods that are used to perform several
|
|
low-level data marshalling tasks between native and managed code.
|
|
|
|
|
|
|
|
|
|
Returns a new
|
|
specified
|
|
offset.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location that the new
|
|
|
|
|
|
|
|
The new
|
|
|
|
|
|
|
|
|
|
Rounds up an integer size to the next multiple of the alignment.
|
|
|
|
|
|
The size, in bytes, to be rounded up.
|
|
|
|
|
|
The required alignment for the return value.
|
|
|
|
|
|
The size, in bytes, rounded up to the next multiple of the
|
|
alignment. This value may end up being the same as the original
|
|
size.
|
|
|
|
|
|
|
|
|
|
Determines the offset, in bytes, of the next structure member.
|
|
|
|
|
|
The offset, in bytes, of the current structure member.
|
|
|
|
|
|
The size, in bytes, of the current structure member.
|
|
|
|
|
|
The alignment, in bytes, of the next structure member.
|
|
|
|
|
|
The offset, in bytes, of the next structure member.
|
|
|
|
|
|
|
|
|
|
Reads a
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Reads a
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Reads a
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Reads an
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Writes an
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Writes an
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Writes a
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Writes a
|
|
location.
|
|
|
|
|
|
The
|
|
memory location.
|
|
|
|
|
|
The integer offset from the base memory location where the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Generates a hash code value for the object.
|
|
|
|
|
|
The object instance used to calculate the hash code.
|
|
|
|
|
|
Non-zero if different object instances with the same value should
|
|
generate different hash codes, where applicable. This parameter
|
|
has no effect on the .NET Compact Framework.
|
|
|
|
|
|
The hash code value -OR- zero if the object is null.
|
|
|
|
|
|
|
|
|
|
This class represents a managed virtual table module implementation.
|
|
It is not sealed and must be used as the base class for any
|
|
user-defined virtual table module classes implemented in managed code.
|
|
|
|
|
|
|
|
|
|
This class implements the
|
|
interface by forwarding those method calls to the
|
|
|
|
contained
|
|
the
|
|
error.
|
|
|
|
|
|
|
|
|
|
This is the value that is always used for the "logErrors"
|
|
parameter to the various static error handling methods provided
|
|
by the
|
|
|
|
|
|
|
|
|
|
This is the value that is always used for the "logExceptions"
|
|
parameter to the various static error handling methods provided
|
|
by the
|
|
|
|
|
|
|
|
|
|
This is the error message text used when the contained
|
|
|
|
for any reason.
|
|
|
|
|
|
|
|
|
|
The
|
|
an implementation of the
|
|
interface.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The
|
|
an implementation of the
|
|
interface.
|
|
|
|
|
|
|
|
|
|
Sets the table error message to one that indicates the native
|
|
module implementation is not available.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The value of
|
|
|
|
|
|
|
|
|
|
Sets the table error message to one that indicates the native
|
|
module implementation is not available.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived
|
|
structure.
|
|
|
|
|
|
The value of
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
called from the finalizer.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
The default version of the native sqlite3_module structure in use.
|
|
|
|
|
|
|
|
|
|
This field is used to store the native sqlite3_module structure
|
|
associated with this object instance.
|
|
|
|
|
|
|
|
|
|
This field is used to store the destructor delegate to be passed to
|
|
the SQLite core library via the sqlite3_create_disposable_module()
|
|
function.
|
|
|
|
|
|
|
|
|
|
This field is used to store a pointer to the native sqlite3_module
|
|
structure returned by the sqlite3_create_disposable_module
|
|
function.
|
|
|
|
|
|
|
|
|
|
This field is used to store the virtual table instances associated
|
|
with this module. The native pointer to the sqlite3_vtab derived
|
|
structure is used to key into this collection.
|
|
|
|
|
|
|
|
|
|
This field is used to store the virtual table cursor instances
|
|
associated with this module. The native pointer to the
|
|
sqlite3_vtab_cursor derived structure is used to key into this
|
|
collection.
|
|
|
|
|
|
|
|
|
|
This field is used to store the virtual table function instances
|
|
associated with this module. The case-insensitive function name
|
|
and the number of arguments (with -1 meaning "any") are used to
|
|
construct the string that is used to key into this collection.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The name of the module. This parameter cannot be null.
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to create a new
|
|
disposable module containing the implementation of a virtual table.
|
|
|
|
|
|
The native database connection pointer to use.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
This method is called by the SQLite core library when the native
|
|
module associated with this object instance is being destroyed due
|
|
to its parent connection being closed. It may also be called by
|
|
the "vtshim" module if/when the sqlite3_dispose_module() function
|
|
is called.
|
|
|
|
|
|
The native user-data pointer associated with this module, as it was
|
|
provided to the SQLite core library when the native module instance
|
|
was created.
|
|
|
|
|
|
|
|
|
|
Creates and returns the native sqlite_module structure using the
|
|
configured (or default)
|
|
interface implementation.
|
|
|
|
|
|
The native sqlite_module structure using the configured (or
|
|
default)
|
|
implementation.
|
|
|
|
|
|
|
|
|
|
Creates and returns the native sqlite_module structure using the
|
|
specified
|
|
implementation.
|
|
|
|
|
|
The
|
|
use.
|
|
|
|
|
|
The native sqlite_module structure using the specified
|
|
|
|
|
|
|
|
|
|
|
|
Creates a copy of the specified
|
|
|
|
using default implementations for the contained delegates when
|
|
necessary.
|
|
|
|
|
|
The
|
|
instance to copy.
|
|
|
|
|
|
The new
|
|
instance.
|
|
|
|
|
|
|
|
|
|
Calls one of the virtual table initialization methods.
|
|
|
|
|
|
Non-zero to call the
|
|
method; otherwise, the
|
|
method will be called.
|
|
|
|
|
|
The native database connection handle.
|
|
|
|
|
|
The original native pointer value that was provided to the
|
|
sqlite3_create_module(), sqlite3_create_module_v2() or
|
|
sqlite3_create_disposable_module() functions.
|
|
|
|
|
|
The number of arguments from the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
The array of string arguments from the CREATE VIRTUAL TABLE
|
|
statement.
|
|
|
|
|
|
Upon success, this parameter must be modified to point to the newly
|
|
created native sqlite3_vtab derived structure.
|
|
|
|
|
|
Upon failure, this parameter must be modified to point to the error
|
|
message, with the underlying memory having been obtained from the
|
|
sqlite3_malloc() function.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Calls one of the virtual table finalization methods.
|
|
|
|
|
|
Non-zero to call the
|
|
method; otherwise, the
|
|
|
|
called.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Arranges for the specified error message to be placed into the
|
|
zErrMsg field of a sqlite3_vtab derived structure, freeing the
|
|
existing error message, if any.
|
|
|
|
|
|
The
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
Non-zero if this error message should also be logged using the
|
|
|
|
|
|
|
|
Non-zero if caught exceptions should be logged using the
|
|
|
|
|
|
|
|
The error message.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Arranges for the specified error message to be placed into the
|
|
zErrMsg field of a sqlite3_vtab derived structure, freeing the
|
|
existing error message, if any.
|
|
|
|
|
|
The
|
|
|
|
|
|
The
|
|
lookup the native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
Non-zero if this error message should also be logged using the
|
|
|
|
|
|
|
|
Non-zero if caught exceptions should be logged using the
|
|
|
|
|
|
|
|
The error message.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Arranges for the specified error message to be placed into the
|
|
zErrMsg field of a sqlite3_vtab derived structure, freeing the
|
|
existing error message, if any.
|
|
|
|
|
|
The
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure
|
|
used to get the native pointer to the sqlite3_vtab derived
|
|
structure.
|
|
|
|
|
|
Non-zero if this error message should also be logged using the
|
|
|
|
|
|
|
|
Non-zero if caught exceptions should be logged using the
|
|
|
|
|
|
|
|
The error message.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Arranges for the specified error message to be placed into the
|
|
zErrMsg field of a sqlite3_vtab derived structure, freeing the
|
|
existing error message, if any.
|
|
|
|
|
|
The
|
|
|
|
|
|
The
|
|
lookup the native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
Non-zero if this error message should also be logged using the
|
|
|
|
|
|
|
|
Non-zero if caught exceptions should be logged using the
|
|
|
|
|
|
|
|
The error message.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Gets and returns the
|
|
implementation to be used when creating the native sqlite3_module
|
|
structure. Derived classes may override this method to supply an
|
|
alternate implementation for the
|
|
interface.
|
|
|
|
|
|
The
|
|
be used when populating the native sqlite3_module structure. If
|
|
the returned value is null, the private methods provided by the
|
|
|
|
|
|
create the necessary delegates.
|
|
|
|
|
|
|
|
|
|
Creates and returns the
|
|
interface implementation corresponding to the current
|
|
|
|
|
|
|
|
The
|
|
corresponding to the current
|
|
instance.
|
|
|
|
|
|
|
|
|
|
Allocates a native sqlite3_vtab derived structure and returns a
|
|
native pointer to it.
|
|
|
|
|
|
A native pointer to a native sqlite3_vtab derived structure.
|
|
|
|
|
|
|
|
|
|
Zeros out the fields of a native sqlite3_vtab derived structure.
|
|
|
|
|
|
The native pointer to the native sqlite3_vtab derived structure to
|
|
zero.
|
|
|
|
|
|
|
|
|
|
Frees a native sqlite3_vtab structure using the provided native
|
|
pointer to it.
|
|
|
|
|
|
A native pointer to a native sqlite3_vtab derived structure.
|
|
|
|
|
|
|
|
|
|
Allocates a native sqlite3_vtab_cursor derived structure and
|
|
returns a native pointer to it.
|
|
|
|
|
|
A native pointer to a native sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
|
|
|
|
Frees a native sqlite3_vtab_cursor structure using the provided
|
|
native pointer to it.
|
|
|
|
|
|
A native pointer to a native sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
|
|
|
|
Reads and returns the native pointer to the sqlite3_vtab derived
|
|
structure based on the native pointer to the sqlite3_vtab_cursor
|
|
derived structure.
|
|
|
|
|
|
The
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure
|
|
from which to read the native pointer to the sqlite3_vtab derived
|
|
structure.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure -OR-
|
|
|
|
|
|
|
|
|
|
|
|
Reads and returns the native pointer to the sqlite3_vtab derived
|
|
structure based on the native pointer to the sqlite3_vtab_cursor
|
|
derived structure.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure
|
|
from which to read the native pointer to the sqlite3_vtab derived
|
|
structure.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure -OR-
|
|
|
|
|
|
|
|
|
|
|
|
Looks up and returns the
|
|
instance based on the native pointer to the sqlite3_vtab derived
|
|
structure.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The
|
|
the corresponding one cannot be found.
|
|
|
|
|
|
|
|
|
|
Allocates and returns a native pointer to a sqlite3_vtab derived
|
|
structure and creates an association between it and the specified
|
|
|
|
|
|
|
|
The
|
|
when creating the association.
|
|
|
|
|
|
The native pointer to a sqlite3_vtab derived structure or
|
|
|
|
|
|
|
|
|
|
|
|
Looks up and returns the
|
|
object instance based on the native pointer to the
|
|
sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab_cursor derived structure.
|
|
|
|
|
|
The
|
|
if the corresponding one cannot be found.
|
|
|
|
|
|
|
|
|
|
Allocates and returns a native pointer to a sqlite3_vtab_cursor
|
|
derived structure and creates an association between it and the
|
|
specified
|
|
|
|
|
|
The
|
|
used when creating the association.
|
|
|
|
|
|
The native pointer to a sqlite3_vtab_cursor derived structure or
|
|
|
|
|
|
|
|
|
|
|
|
Deterimines the key that should be used to identify and store the
|
|
|
|
(i.e. to be returned via the
|
|
|
|
|
|
|
|
The number of arguments to the virtual table function.
|
|
|
|
|
|
The name of the virtual table function.
|
|
|
|
|
|
The
|
|
this virtual table function.
|
|
|
|
|
|
The string that should be used to identify and store the virtual
|
|
table function instance. This method cannot return null. If null
|
|
is returned from this method, the behavior is undefined.
|
|
|
|
|
|
|
|
|
|
Attempts to declare the schema for the virtual table using the
|
|
specified database connection.
|
|
|
|
|
|
The
|
|
declaring the schema of the virtual table. This parameter may not
|
|
be null.
|
|
|
|
|
|
The string containing the CREATE TABLE statement that completely
|
|
describes the schema for the virtual table. This parameter may not
|
|
be null.
|
|
|
|
|
|
Upon failure, this parameter must be modified to contain an error
|
|
message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Calls the native SQLite core library in order to declare a virtual
|
|
table function in response to a call into the
|
|
|
|
or
|
|
methods.
|
|
|
|
|
|
The
|
|
declaring the schema of the virtual table.
|
|
|
|
|
|
The number of arguments to the function being declared.
|
|
|
|
|
|
The name of the function being declared.
|
|
|
|
|
|
Upon success, the contents of this parameter are undefined. Upon
|
|
failure, it should contain an appropriate error message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Returns or sets a boolean value indicating whether virtual table
|
|
errors should be logged using the
|
|
|
|
|
|
|
|
|
|
Returns or sets a boolean value indicating whether exceptions
|
|
caught in the
|
|
|
|
the
|
|
the
|
|
the
|
|
and the
|
|
|
|
|
|
|
|
|
|
|
|
Arranges for the specified error message to be placed into the
|
|
zErrMsg field of a sqlite3_vtab derived structure, freeing the
|
|
existing error message, if any.
|
|
|
|
|
|
The native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The error message.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Arranges for the specified error message to be placed into the
|
|
zErrMsg field of a sqlite3_vtab derived structure, freeing the
|
|
existing error message, if any.
|
|
|
|
|
|
The
|
|
lookup the native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The error message.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Arranges for the specified error message to be placed into the
|
|
zErrMsg field of a sqlite3_vtab derived structure, freeing the
|
|
existing error message, if any.
|
|
|
|
|
|
The
|
|
lookup the native pointer to the sqlite3_vtab derived structure.
|
|
|
|
|
|
The error message.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Modifies the specified
|
|
to contain the specified estimated cost.
|
|
|
|
|
|
The
|
|
|
|
|
|
The estimated cost value to use. Using a null value means that the
|
|
default value provided by the SQLite core library should be used.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Modifies the specified
|
|
to contain the default estimated cost.
|
|
|
|
|
|
The
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Modifies the specified
|
|
to contain the specified estimated rows.
|
|
|
|
|
|
The
|
|
|
|
|
|
The estimated rows value to use. Using a null value means that the
|
|
default value provided by the SQLite core library should be used.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Modifies the specified
|
|
to contain the default estimated rows.
|
|
|
|
|
|
The
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Modifies the specified
|
|
to contain the specified flags.
|
|
|
|
|
|
The
|
|
|
|
|
|
The index flags value to use. Using a null value means that the
|
|
default value provided by the SQLite core library should be used.
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Modifies the specified
|
|
to contain the default index flags.
|
|
|
|
|
|
The
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
Returns or sets a boolean value indicating whether virtual table
|
|
errors should be logged using the
|
|
|
|
|
|
|
|
|
|
Returns or sets a boolean value indicating whether exceptions
|
|
caught in the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the schema for the virtual table has been
|
|
declared.
|
|
|
|
|
|
|
|
|
|
Returns the name of the module as it was registered with the SQLite
|
|
core library.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
the virtual table.
|
|
|
|
|
|
The native user-data pointer associated with this module, as it was
|
|
provided to the SQLite core library when the native module instance
|
|
was created.
|
|
|
|
|
|
The module name, database name, virtual table name, and all other
|
|
arguments passed to the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
the virtual table.
|
|
|
|
|
|
Upon failure, this parameter must be modified to contain an error
|
|
message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
the virtual table.
|
|
|
|
|
|
The native user-data pointer associated with this module, as it was
|
|
provided to the SQLite core library when the native module instance
|
|
was created.
|
|
|
|
|
|
The module name, database name, virtual table name, and all other
|
|
arguments passed to the CREATE VIRTUAL TABLE statement.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
the virtual table.
|
|
|
|
|
|
Upon failure, this parameter must be modified to contain an error
|
|
message.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The
|
|
data for the inputs and outputs relating to index selection.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
with the newly opened virtual table cursor.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
Number used to help identify the selected index.
|
|
|
|
|
|
String used to help identify the selected index.
|
|
|
|
|
|
The values corresponding to each column in the selected index.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
Non-zero if no more rows are available; zero otherwise.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
The
|
|
returning the specified column value to the SQLite core library.
|
|
|
|
|
|
The zero-based index corresponding to the column containing the
|
|
value to be returned.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the unique
|
|
integer row identifier for the current row for the specified cursor.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The array of
|
|
the new or modified column values, if any.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the unique
|
|
integer row identifier for the row that was inserted, if any.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The number of arguments to the function being sought.
|
|
|
|
|
|
The name of the function being sought.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
|
|
implementing the specified function.
|
|
|
|
|
|
Upon success, this parameter must be modified to contain the
|
|
native user-data pointer associated with
|
|
|
|
|
|
|
|
Non-zero if the specified function was found; zero otherwise.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
The new name for the virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
This is an integer identifier under which the the current state of
|
|
the virtual table should be saved.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
This is an integer used to indicate that any saved states with an
|
|
identifier greater than or equal to this should be deleted by the
|
|
virtual table.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
This method is called in response to the
|
|
|
|
|
|
|
|
The
|
|
with this virtual table.
|
|
|
|
|
|
This is an integer identifier used to specify a specific saved
|
|
state for the virtual table for it to restore itself back to, which
|
|
should also have the effect of deleting all saved states with an
|
|
integer identifier greater than this one.
|
|
|
|
|
|
A standard SQLite return code.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
called from the finalizer.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class contains some virtual methods that may be useful for other
|
|
virtual table classes. It specifically does NOT implement any of the
|
|
|
|
|
|
|
|
|
|
|
|
The CREATE TABLE statement used to declare the schema for the
|
|
virtual table.
|
|
|
|
|
|
|
|
|
|
Non-zero if different object instances with the same value should
|
|
generate different row identifiers, where applicable. This has no
|
|
effect on the .NET Compact Framework.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The name of the module. This parameter cannot be null.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The name of the module. This parameter cannot be null.
|
|
|
|
|
|
Non-zero if different object instances with the same value should
|
|
generate different row identifiers, where applicable. This
|
|
parameter has no effect on the .NET Compact Framework.
|
|
|
|
|
|
|
|
|
|
Determines the SQL statement used to declare the virtual table.
|
|
This method should be overridden in derived classes if they require
|
|
a custom virtual table schema.
|
|
|
|
|
|
The SQL statement used to declare the virtual table -OR- null if it
|
|
cannot be determined.
|
|
|
|
|
|
|
|
|
|
Sets the table error message to one that indicates the virtual
|
|
table cursor is of the wrong type.
|
|
|
|
|
|
The
|
|
|
|
|
|
The
|
|
|
|
|
|
The value of
|
|
|
|
|
|
|
|
|
|
Determines the string to return as the column value for the object
|
|
instance value.
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
The object instance to return a string representation for.
|
|
|
|
|
|
The string representation of the specified object instance or null
|
|
upon failure.
|
|
|
|
|
|
|
|
|
|
Constructs an
|
|
|
|
must contain the row sequence number for the current row and the
|
|
second value must contain the hash code of the key column value
|
|
for the current row.
|
|
|
|
|
|
The integer row sequence number for the current row.
|
|
|
|
|
|
The hash code of the key column value for the current row.
|
|
|
|
|
|
The unique row identifier or zero upon failure.
|
|
|
|
|
|
|
|
|
|
Determines the unique row identifier for the current row.
|
|
|
|
|
|
The
|
|
associated with the previously opened virtual table cursor to be
|
|
used.
|
|
|
|
|
|
The object instance to return a unique row identifier for.
|
|
|
|
|
|
The unique row identifier or zero upon failure.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
being called from the finalizer.
|
|
|
|
|
|
|
|
|
|
This class represents a virtual table cursor to be used with the
|
|
|
|
be used as the base class for any user-defined virtual table cursor
|
|
class that wraps an
|
|
|
|
|
|
|
|
|
|
The
|
|
was created.
|
|
|
|
|
|
|
|
|
|
This value will be non-zero if false has been returned from the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The
|
|
with this object instance.
|
|
|
|
|
|
The
|
|
table cursor.
|
|
|
|
|
|
|
|
|
|
Advances to the next row of the virtual table cursor using the
|
|
|
|
|
|
|
|
|
|
Non-zero if the current row is valid; zero otherwise. If zero is
|
|
returned, no further rows are available.
|
|
|
|
|
|
|
|
|
|
Returns the value for the current row of the virtual table cursor
|
|
using the
|
|
|
|
|
|
|
|
|
|
|
|
Resets the virtual table cursor position, also invalidating the
|
|
current row, using the
|
|
the
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the end of the virtual table cursor has been
|
|
seen (i.e. no more rows are available, including the current one).
|
|
|
|
|
|
|
|
|
|
Returns non-zero if the virtual table cursor is open.
|
|
|
|
|
|
|
|
|
|
Closes the virtual table cursor. This method must not throw any
|
|
exceptions.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
table cursor has been closed.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
being called from the finalizer.
|
|
|
|
|
|
|
|
|
|
This class implements a virtual table module that exposes an
|
|
|
|
table. It is not sealed and may be used as the base class for any
|
|
user-defined virtual table class that wraps an
|
|
|
|
example shows it being used to treat an array of strings as a table
|
|
data source:
|
|
|
|
public static class Sample
|
|
{
|
|
public static void Main()
|
|
{
|
|
using (SQLiteConnection connection = new SQLiteConnection(
|
|
"Data Source=:memory:;"))
|
|
{
|
|
connection.Open();
|
|
|
|
connection.CreateModule(new SQLiteModuleEnumerable(
|
|
"sampleModule", new string[] { "one", "two", "three" }));
|
|
|
|
using (SQLiteCommand command = connection.CreateCommand())
|
|
{
|
|
command.CommandText =
|
|
"CREATE VIRTUAL TABLE t1 USING sampleModule;";
|
|
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
using (SQLiteCommand command = connection.CreateCommand())
|
|
{
|
|
command.CommandText = "SELECT * FROM t1;";
|
|
|
|
using (SQLiteDataReader dataReader = command.ExecuteReader())
|
|
{
|
|
while (dataReader.Read())
|
|
Console.WriteLine(dataReader[0].ToString());
|
|
}
|
|
}
|
|
|
|
connection.Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
The
|
|
for the virtual table.
|
|
|
|
|
|
|
|
|
|
Non-zero if different object instances with the same value should
|
|
generate different row identifiers, where applicable. This has no
|
|
effect on the .NET Compact Framework.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The name of the module. This parameter cannot be null.
|
|
|
|
|
|
The
|
|
table. This parameter cannot be null.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The name of the module. This parameter cannot be null.
|
|
|
|
|
|
The
|
|
table. This parameter cannot be null.
|
|
|
|
|
|
Non-zero if different object instances with the same value should
|
|
generate different row identifiers, where applicable. This
|
|
parameter has no effect on the .NET Compact Framework.
|
|
|
|
|
|
|
|
|
|
Sets the table error message to one that indicates the virtual
|
|
table cursor has no current row.
|
|
|
|
|
|
The
|
|
|
|
|
|
The value of
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
being called from the finalizer.
|
|
|
|
|
|
|
|
|
|
This class represents a virtual table cursor to be used with the
|
|
|
|
be used as the base class for any user-defined virtual table cursor
|
|
class that wraps an
|
|
|
|
|
|
|
|
|
|
The
|
|
cursor was created.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The
|
|
with this object instance.
|
|
|
|
|
|
The
|
|
table cursor.
|
|
|
|
|
|
|
|
|
|
Returns the value for the current row of the virtual table cursor
|
|
using the
|
|
|
|
|
|
|
|
|
|
|
|
Closes the virtual table cursor. This method must not throw any
|
|
exceptions.
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
being called from the finalizer.
|
|
|
|
|
|
|
|
|
|
This class implements a virtual table module that exposes an
|
|
|
|
table. It is not sealed and may be used as the base class for any
|
|
user-defined virtual table class that wraps an
|
|
|
|
|
|
|
|
|
|
|
|
The
|
|
data for the virtual table.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The name of the module. This parameter cannot be null.
|
|
|
|
|
|
The
|
|
table. This parameter cannot be null.
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
being called from the finalizer.
|
|
|
|
|
|
|
|
|
|
This class implements a virtual table module that does nothing by
|
|
providing "empty" implementations for all of the
|
|
|
|
codes returned by these "empty" method implementations may be
|
|
controlled on a per-method basis by using and/or overriding the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This field is used to store the
|
|
values to return, on a per-method basis, for all methods that are
|
|
part of the
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class.
|
|
|
|
|
|
The name of the module. This parameter cannot be null.
|
|
|
|
|
|
|
|
|
|
Determines the default
|
|
returned by methods of the
|
|
interface that lack an overridden implementation in all classes
|
|
derived from the
|
|
|
|
|
|
The
|
|
by all
|
|
a more specific result code has been set for that interface method.
|
|
|
|
|
|
|
|
|
|
Converts a
|
|
return value for use with the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Converts a
|
|
return value for use with the
|
|
|
|
|
|
|
|
The
|
|
|
|
|
|
The
|
|
|
|
|
|
|
|
|
|
Determines the
|
|
returned by the specified
|
|
interface method if it lack an overridden implementation. If no
|
|
specific
|
|
for the specified method, the
|
|
returned by the
|
|
returned instead.
|
|
|
|
|
|
The name of the method. Currently, this method must be part of
|
|
the
|
|
|
|
|
|
The
|
|
by the
|
|
|
|
|
|
|
|
|
|
Sets the
|
|
returned by the specified
|
|
interface method if it lack an overridden implementation.
|
|
|
|
|
|
The name of the method. Currently, this method must be part of
|
|
the
|
|
|
|
|
|
The
|
|
by the
|
|
|
|
|
|
Non-zero upon success.
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
See the
|
|
|
|
|
|
|
|
|
|
Throws an
|
|
instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
Non-zero if this method is being called from the
|
|
|
|
being called from the finalizer.
|
|
|
|
|
|
|
|
|
|
This enumerated type represents a type of conflict seen when apply
|
|
changes from a change set or patch set.
|
|
|
|
|
|
|
|
|
|
This value is seen when processing a DELETE or UPDATE change if a
|
|
row with the required PRIMARY KEY fields is present in the
|
|
database, but one or more other (non primary-key) fields modified
|
|
by the update do not contain the expected "before" values.
|
|
|
|
|
|
|
|
|
|
This value is seen when processing a DELETE or UPDATE change if a
|
|
row with the required PRIMARY KEY fields is not present in the
|
|
database. There is no conflicting row in this case.
|
|
|
|
The results of invoking the
|
|
|
|
method are undefined.
|
|
|
|
|
|
|
|
|
|
This value is seen when processing an INSERT change if the
|
|
operation would result in duplicate primary key values.
|
|
The conflicting row in this case is the database row with the
|
|
matching primary key.
|
|
|
|
|
|
|
|
|
|
If a non-foreign key constraint violation occurs while applying a
|
|
change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict
|
|
callback will see this value.
|
|
|
|
There is no conflicting row in this case. The results of invoking
|
|
the
|
|
method are undefined.
|
|
|
|
|
|
|
|
|
|
If foreign key handling is enabled, and applying a changes leaves
|
|
the database in a state containing foreign key violations, this
|
|
value will be seen exactly once before the changes are committed.
|
|
If the conflict handler
|
|
|
|
including those that caused the foreign key constraint violation,
|
|
are committed. Or, if it returns
|
|
|
|
rolled back.
|
|
|
|
No current or conflicting row information is provided. The only
|
|
method it is possible to call on the supplied
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This enumerated type represents the result of a user-defined conflict
|
|
resolution callback.
|
|
|
|
|
|
|
|
|
|
If a conflict callback returns this value no special action is
|
|
taken. The change that caused the conflict is not applied. The
|
|
application of changes continues with the next change.
|
|
|
|
|
|
|
|
|
|
This value may only be returned from a conflict callback if the
|
|
type of conflict was
|
|
or
|
|
not the case, any changes applied so far are rolled back and the
|
|
call to
|
|
|
|
will raise a
|
|
|
|
|
|
If this value is returned for a
|
|
|
|
conflicting row is either updated or deleted, depending on the type
|
|
of change.
|
|
|
|
If this value is returned for a
|
|
|
|
the conflicting row is removed from the database and a second
|
|
attempt to apply the change is made. If this second attempt fails,
|
|
the original row is restored to the database before continuing.
|
|
|
|
|
|
|
|
|
|
If this value is returned, any changes applied so far are rolled
|
|
back and the call to
|
|
|
|
will raise a
|
|
|
|
|
|
|
|
|
|
|
|
This enumerated type represents possible flags that may be passed
|
|
to the appropriate overloads of various change set creation methods.
|
|
|
|
|
|
|
|
|
|
No special handling.
|
|
|
|
|
|
|
|
|
|
Invert the change set while iterating through it.
|
|
This is equivalent to inverting a change set using
|
|
|
|
applying it. It is an error to specify this flag
|
|
with a patch set.
|
|
|
|
|
|
|
|
|
|
This callback is invoked when a determination must be made about
|
|
whether changes to a specific table should be tracked -OR- applied.
|
|
It will not be called for tables that are already attached to a
|
|
|
|
|
|
|
|
The optional application-defined context data that was originally
|
|
passed to the
|
|
|
|
methods. This value may be null.
|
|
|
|
|
|
The name of the table.
|
|
|
|
|
|
Non-zero if changes to the table should be considered; otherwise,
|
|
zero. Throwing an exception from this callback will result in
|
|
undefined behavior.
|
|
|
|
|
|
|
|
|
|
This callback is invoked when there is a conflict while apply changes
|
|
to a database.
|
|
|
|
|
|
The optional application-defined context data that was originally
|
|
passed to the
|
|
|
|
method. This value may be null.
|
|
|
|
|
|
The type of this conflict.
|
|
|
|
|
|
The
|
|
this conflict. This value may not be null; however, only properties
|
|
that are applicable to the conflict type will be available. Further
|
|
information on this is available within the descriptions of the
|
|
available
|
|
|
|
|
|
A
|
|
action to be taken in order to resolve the conflict. Throwing an
|
|
exception from this callback will result in undefined behavior.
|
|
|
|
|
|
|
|
|
|
This interface contains methods used to manipulate a set of changes for
|
|
a database.
|
|
|
|
|
|
|
|
|
|
This method "inverts" the set of changes within this instance.
|
|
Applying an inverted set of changes to a database reverses the
|
|
effects of applying the uninverted changes. Specifically:
|
|
]]>]]>
|
|
Each DELETE change is changed to an INSERT, and
|
|
]]>]]>
|
|
Each INSERT change is changed to a DELETE, and
|
|
]]>]]>
|
|
For each UPDATE change, the old.* and new.* values are exchanged.
|
|
]]>]]>
|
|
This method does not change the order in which changes appear
|
|
within the set of changes. It merely reverses the sense of each
|
|
individual change.
|
|
|
|
|
|
The new
|
|
the resulting set of changes -OR- null if it is not available.
|
|
|
|
|
|
|
|
|
|
This method combines the specified set of changes with the ones
|
|
contained in this instance.
|
|
|
|
|
|
The changes to be combined with those in this instance.
|
|
|
|
|
|
The new
|
|
the resulting set of changes -OR- null if it is not available.
|
|
|
|
|
|
|
|
|
|
Attempts to apply the set of changes in this instance to the
|
|
associated database.
|
|
|
|
|
|
The
|
|
to handle any conflicting changes that may arise.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
Attempts to apply the set of changes in this instance to the
|
|
associated database.
|
|
|
|
|
|
The
|
|
to handle any conflicting changes that may arise.
|
|
|
|
|
|
The optional
|
|
that can be used to filter the list of tables impacted by the set
|
|
of changes.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
This interface contains methods used to manipulate multiple sets of
|
|
changes for a database.
|
|
|
|
|
|
|
|
|
|
Attempts to add a change set (or patch set) to this change group
|
|
instance. The underlying data must be contained entirely within
|
|
the
|
|
|
|
|
|
The raw byte data for the specified change set (or patch set).
|
|
|
|
|
|
|
|
|
|
Attempts to add a change set (or patch set) to this change group
|
|
instance. The underlying data will be read from the specified
|
|
|
|
|
|
|
|
The
|
|
(or patch set) data to read.
|
|
|
|
|
|
|
|
|
|
Attempts to create and return, via
|
|
combined set of changes represented by this change group instance.
|
|
|
|
|
|
Upon success, this will contain the raw byte data for all the
|
|
changes in this change group instance.
|
|
|
|
|
|
|
|
|
|
Attempts to create and write, via
|
|
combined set of changes represented by this change group instance.
|
|
|
|
|
|
Upon success, the raw byte data for all the changes in this change
|
|
group instance will be written to this
|
|
|
|
|
|
|
|
|
|
This interface contains properties and methods used to fetch metadata
|
|
about one change within a set of changes for a database.
|
|
|
|
|
|
|
|
|
|
The name of the table the change was made to.
|
|
|
|
|
|
|
|
|
|
The number of columns impacted by this change. This value can be
|
|
used to determine the highest valid column index that may be used
|
|
with the
|
|
and
|
|
will be this value minus one.
|
|
|
|
|
|
|
|
|
|
This will contain the value
|
|
|
|
|
|
|
|
the overall type of change this item represents.
|
|
|
|
|
|
|
|
|
|
Non-zero if this change is considered to be indirect (i.e. as
|
|
though they were made via a trigger or foreign key action).
|
|
|
|
|
|
|
|
|
|
This array contains a
|
|
the table associated with this change. The element will be zero
|
|
if the column is not part of the primary key; otherwise, it will
|
|
be non-zero.
|
|
|
|
|
|
|
|
|
|
This method may only be called from within a
|
|
|
|
type is
|
|
returns the total number of known foreign key violations in the
|
|
destination database.
|
|
|
|
|
|
|
|
|
|
Queries and returns the original value of a given column for this
|
|
change. This method may only be called when the
|
|
|
|
|
|
|
|
|
|
|
|
The index for the column. This value must be between zero and one
|
|
less than the total number of columns for this table.
|
|
|
|
|
|
The original value of a given column for this change.
|
|
|
|
|
|
|
|
|
|
Queries and returns the updated value of a given column for this
|
|
change. This method may only be called when the
|
|
|
|
|
|
|
|
|
|
|
|
The index for the column. This value must be between zero and one
|
|
less than the total number of columns for this table.
|
|
|
|
|
|
The updated value of a given column for this change.
|
|
|
|
|
|
|
|
|
|
Queries and returns the conflicting value of a given column for
|
|
this change. This method may only be called from within a
|
|
|
|
type is
|
|
|
|
|
|
|
|
The index for the column. This value must be between zero and one
|
|
less than the total number of columns for this table.
|
|
|
|
|
|
The conflicting value of a given column for this change.
|
|
|
|
|
|
|
|
|
|
This interface contains methods to query and manipulate the state of a
|
|
change tracking session for a database.
|
|
|
|
|
|
|
|
|
|
Determines if this session is currently tracking changes to its
|
|
associated database.
|
|
|
|
|
|
Non-zero if changes to the associated database are being trakced;
|
|
otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Enables tracking of changes to the associated database.
|
|
|
|
|
|
|
|
|
|
Disables tracking of changes to the associated database.
|
|
|
|
|
|
|
|
|
|
Determines if this session is currently set to mark changes as
|
|
indirect (i.e. as though they were made via a trigger or foreign
|
|
key action).
|
|
|
|
|
|
Non-zero if changes to the associated database are being marked as
|
|
indirect; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Sets the indirect flag for this session. Subsequent changes will
|
|
be marked as indirect until this flag is changed again.
|
|
|
|
|
|
|
|
|
|
Clears the indirect flag for this session. Subsequent changes will
|
|
be marked as direct until this flag is changed again.
|
|
|
|
|
|
|
|
|
|
Determines if there are any tracked changes currently within the
|
|
data for this session.
|
|
|
|
|
|
Non-zero if there are no changes within the data for this session;
|
|
otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Upon success, causes changes to the specified table(s) to start
|
|
being tracked. Any tables impacted by calls to this method will
|
|
not cause the
|
|
to be invoked.
|
|
|
|
|
|
The name of the table to be tracked -OR- null to track all
|
|
applicable tables within this database.
|
|
|
|
|
|
|
|
|
|
This method is used to set the table filter for this instance.
|
|
|
|
|
|
The table filter callback -OR- null to clear any existing table
|
|
filter callback.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
Attempts to create and return, via
|
|
combined set of changes represented by this session instance.
|
|
|
|
|
|
Upon success, this will contain the raw byte data for all the
|
|
changes in this session instance.
|
|
|
|
|
|
|
|
|
|
Attempts to create and write, via
|
|
combined set of changes represented by this session instance.
|
|
|
|
|
|
Upon success, the raw byte data for all the changes in this session
|
|
instance will be written to this
|
|
|
|
|
|
|
|
|
|
Attempts to create and return, via
|
|
combined set of changes represented by this session instance as a
|
|
patch set.
|
|
|
|
|
|
Upon success, this will contain the raw byte data for all the
|
|
changes in this session instance.
|
|
|
|
|
|
|
|
|
|
Attempts to create and write, via
|
|
combined set of changes represented by this session instance as a
|
|
patch set.
|
|
|
|
|
|
Upon success, the raw byte data for all the changes in this session
|
|
instance will be written to this
|
|
|
|
|
|
|
|
|
|
This method loads the differences between two tables [with the same
|
|
name, set of columns, and primary key definition] into this session
|
|
instance.
|
|
|
|
|
|
The name of the database containing the table with the original
|
|
data (i.e. it will need updating in order to be identical to the
|
|
one within the database associated with this session instance).
|
|
|
|
|
|
The name of the table.
|
|
|
|
|
|
|
|
|
|
This class contains some static helper methods for use within this
|
|
subsystem.
|
|
|
|
|
|
|
|
|
|
This method checks the byte array specified by the caller to make
|
|
sure it will be usable.
|
|
|
|
|
|
A byte array provided by the caller into one of the public methods
|
|
for the classes that belong to this subsystem. This value cannot
|
|
be null or represent an empty array; otherwise, an appropriate
|
|
exception will be thrown.
|
|
|
|
|
|
|
|
|
|
This class is used to hold the native connection handle associated with
|
|
a
|
|
done with it. This class is for internal use by this subsystem only.
|
|
|
|
|
|
|
|
|
|
The SQL statement used when creating the native statement handle.
|
|
There are no special requirements for this other than counting as
|
|
an "open statement handle".
|
|
|
|
|
|
|
|
|
|
The format of the error message used when reporting, during object
|
|
disposal, that the statement handle is still open (i.e. because
|
|
this situation is considered a fairly serious programming error).
|
|
|
|
|
|
|
|
|
|
The wrapped native connection handle associated with this lock.
|
|
|
|
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
|
|
|
|
The native statement handle for this lock. The garbage collector
|
|
cannot cause this statement to be finalized; therefore, it will
|
|
serve to hold the associated native connection open until it is
|
|
freed manually using the
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of this class using the specified wrapped
|
|
native connection handle and associated flags.
|
|
|
|
|
|
The wrapped native connection handle to be associated with this
|
|
lock.
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
Non-zero if the
|
|
to returning from this constructor.
|
|
|
|
|
|
|
|
|
|
Queries and returns the wrapped native connection handle for this
|
|
instance.
|
|
|
|
|
|
The wrapped native connection handle for this instance -OR- null
|
|
if it is unavailable.
|
|
|
|
|
|
|
|
|
|
Queries and returns the flags associated with the connection for
|
|
this instance.
|
|
|
|
|
|
The
|
|
value reserved to indicate an error.
|
|
|
|
|
|
|
|
|
|
Queries and returns the native connection handle for this instance.
|
|
|
|
|
|
The native connection handle for this instance. If this value is
|
|
unavailable or invalid an exception will be thrown.
|
|
|
|
|
|
|
|
|
|
This method attempts to "lock" the associated native connection
|
|
handle by preparing a SQL statement that will not be finalized
|
|
until the
|
|
cannot be done by the garbage collector). If the statement is
|
|
already prepared, nothing is done. If the statement cannot be
|
|
prepared for any reason, an exception will be thrown.
|
|
|
|
|
|
|
|
|
|
This method attempts to "unlock" the associated native connection
|
|
handle by finalizing the previously prepared statement. If the
|
|
statement is already finalized, nothing is done. If the statement
|
|
cannot be finalized for any reason, an exception will be thrown.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class manages the native change set iterator. It is used as the
|
|
base class for the
|
|
|
|
advance the native iterator handle as well as finalize it.
|
|
|
|
|
|
|
|
|
|
The native change set (a.k.a. iterator) handle.
|
|
|
|
|
|
|
|
|
|
Non-zero if this instance owns the native iterator handle in the
|
|
|
|
finalize the native iterator handle upon being disposed or
|
|
finalized.
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of this class using the specified native
|
|
iterator handle.
|
|
|
|
|
|
The native iterator handle to use.
|
|
|
|
|
|
Non-zero if this instance is to take ownership of the native
|
|
iterator handle specified by
|
|
|
|
|
|
|
|
|
|
Throws an exception if the native iterator handle is invalid.
|
|
|
|
|
|
|
|
|
|
Used to query the native iterator handle. This method is only used
|
|
by the
|
|
|
|
|
|
The native iterator handle -OR-
|
|
is not available.
|
|
|
|
|
|
|
|
|
|
Attempts to advance the native iterator handle to its next item.
|
|
|
|
|
|
Non-zero if the native iterator handle was advanced and contains
|
|
more data; otherwise, zero. If the underlying native API returns
|
|
an unexpected value then an exception will be thrown.
|
|
|
|
|
|
|
|
|
|
Attempts to create an instance of this class that is associated
|
|
with the specified native iterator handle. Ownership of the
|
|
native iterator handle is NOT transferred to the new instance of
|
|
this class.
|
|
|
|
|
|
The native iterator handle to use.
|
|
|
|
|
|
The new instance of this class. No return value is reserved to
|
|
indicate an error; however, if the native iterator handle is not
|
|
valid, any subsequent attempt to make use of it via the returned
|
|
instance of this class may throw exceptions.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class manages the native change set iterator for a set of changes
|
|
contained entirely in memory.
|
|
|
|
|
|
|
|
|
|
The native memory buffer allocated to contain the set of changes
|
|
associated with this instance. This will always be freed when this
|
|
instance is disposed or finalized.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified native
|
|
memory buffer and native iterator handle.
|
|
|
|
|
|
The native memory buffer to use.
|
|
|
|
|
|
The native iterator handle to use.
|
|
|
|
|
|
Non-zero if this instance is to take ownership of the native
|
|
iterator handle specified by
|
|
|
|
|
|
|
|
|
|
Attempts to create an instance of this class using the specified
|
|
raw byte data.
|
|
|
|
|
|
The raw byte data containing the set of changes for this native
|
|
iterator.
|
|
|
|
|
|
The new instance of this class -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create an instance of this class using the specified
|
|
raw byte data.
|
|
|
|
|
|
The raw byte data containing the set of changes for this native
|
|
iterator.
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
The new instance of this class -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This class manages the native change set iterator for a set of changes
|
|
backed by a
|
|
|
|
|
|
|
|
|
|
The
|
|
the underlying
|
|
the set of changes associated with this native change set iterator.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified native
|
|
iterator handle and
|
|
|
|
|
|
The
|
|
|
|
|
|
The native iterator handle to use.
|
|
|
|
|
|
Non-zero if this instance is to take ownership of the native
|
|
iterator handle specified by
|
|
|
|
|
|
|
|
|
|
Attempts to create an instance of this class using the specified
|
|
|
|
|
|
|
|
The
|
|
changes may be read.
|
|
|
|
|
|
The flags associated with the parent connection.
|
|
|
|
|
|
The new instance of this class -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create an instance of this class using the specified
|
|
|
|
|
|
|
|
The
|
|
changes may be read.
|
|
|
|
|
|
The flags associated with the parent connection.
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
The new instance of this class -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This class is used to act as a bridge between a
|
|
instance and the delegates used with the native streaming API.
|
|
|
|
|
|
|
|
|
|
The managed stream instance used to in order to service the native
|
|
delegates for both input and output.
|
|
|
|
|
|
|
|
|
|
The flags associated with the connection.
|
|
|
|
|
|
|
|
|
|
The delegate used to provide input to the native streaming API.
|
|
It will be null -OR- point to the
|
|
|
|
|
|
|
|
|
|
The delegate used to provide output to the native streaming API.
|
|
It will be null -OR- point to the
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of this class using the specified managed
|
|
stream and connection flags.
|
|
|
|
|
|
The managed stream instance to be used in order to service the
|
|
native delegates for both input and output.
|
|
|
|
|
|
The flags associated with the parent connection.
|
|
|
|
|
|
|
|
|
|
Queries and returns the flags associated with the connection for
|
|
this instance.
|
|
|
|
|
|
The
|
|
value reserved to indicate an error.
|
|
|
|
|
|
|
|
|
|
Returns a delegate that wraps the
|
|
creating it first if necessary.
|
|
|
|
|
|
A delegate that refers to the
|
|
|
|
|
|
|
|
|
|
Returns a delegate that wraps the
|
|
creating it first if necessary.
|
|
|
|
|
|
A delegate that refers to the
|
|
|
|
|
|
|
|
|
|
This method attempts to read
|
|
the managed stream, writing them to the
|
|
buffer.
|
|
|
|
|
|
Optional extra context information. Currently, this will always
|
|
have a value of
|
|
|
|
|
|
A preallocated native buffer to receive the requested input bytes.
|
|
It must be at least
|
|
|
|
|
|
Upon entry, the number of bytes to read. Upon exit, the number of
|
|
bytes actually read. This value may be zero upon exit.
|
|
|
|
|
|
The value
|
|
appropriate error code upon failure.
|
|
|
|
|
|
|
|
|
|
This method attempts to write
|
|
the managed stream, reading them from the
|
|
buffer.
|
|
|
|
|
|
Optional extra context information. Currently, this will always
|
|
have a value of
|
|
|
|
|
|
A preallocated native buffer containing the requested output
|
|
bytes. It must be at least
|
|
size.
|
|
|
|
|
|
The number of bytes to write.
|
|
|
|
|
|
The value
|
|
appropriate error code upon failure.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class manages a collection of
|
|
instances. When used, it takes responsibility for creating, returning,
|
|
and disposing of its
|
|
|
|
|
|
|
|
|
|
The managed collection of
|
|
instances, keyed by their associated
|
|
instance.
|
|
|
|
|
|
|
|
|
|
The flags associated with the connection.
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of this class using the specified
|
|
connection flags.
|
|
|
|
|
|
The flags associated with the parent connection.
|
|
|
|
|
|
|
|
|
|
Makes sure the collection of
|
|
is created.
|
|
|
|
|
|
|
|
|
|
Makes sure the collection of
|
|
is disposed.
|
|
|
|
|
|
|
|
|
|
Attempts to return a
|
|
suitable for the specified
|
|
|
|
|
|
The
|
|
value will be returned.
|
|
|
|
|
|
A
|
|
are always freshly created; however, this method is designed to
|
|
return the existing
|
|
associated with the specified stream, should one exist.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class represents a group of change sets (or patch sets).
|
|
|
|
|
|
|
|
|
|
The
|
|
with this change group.
|
|
|
|
|
|
|
|
|
|
The flags associated with the connection.
|
|
|
|
|
|
|
|
|
|
The native handle for this change group. This will be deleted when
|
|
this instance is disposed or finalized.
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of this class using the specified
|
|
connection flags.
|
|
|
|
|
|
The flags associated with the parent connection.
|
|
|
|
|
|
|
|
|
|
Throws an exception if the native change group handle is invalid.
|
|
|
|
|
|
|
|
|
|
Makes sure the native change group handle is valid, creating it if
|
|
necessary.
|
|
|
|
|
|
|
|
|
|
Makes sure the
|
|
is available, creating it if necessary.
|
|
|
|
|
|
|
|
|
|
Attempts to return a
|
|
suitable for the specified
|
|
|
|
|
|
The
|
|
value will be returned.
|
|
|
|
|
|
A
|
|
are always freshly created; however, this method is designed to
|
|
return the existing
|
|
associated with the specified stream, should one exist.
|
|
|
|
|
|
|
|
|
|
Attempts to add a change set (or patch set) to this change group
|
|
instance. The underlying data must be contained entirely within
|
|
the
|
|
|
|
|
|
The raw byte data for the specified change set (or patch set).
|
|
|
|
|
|
|
|
|
|
Attempts to add a change set (or patch set) to this change group
|
|
instance. The underlying data will be read from the specified
|
|
|
|
|
|
|
|
The
|
|
(or patch set) data to read.
|
|
|
|
|
|
|
|
|
|
Attempts to create and return, via
|
|
combined set of changes represented by this change group instance.
|
|
|
|
|
|
Upon success, this will contain the raw byte data for all the
|
|
changes in this change group instance.
|
|
|
|
|
|
|
|
|
|
Attempts to create and write, via
|
|
combined set of changes represented by this change group instance.
|
|
|
|
|
|
Upon success, the raw byte data for all the changes in this change
|
|
group instance will be written to this
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class represents the change tracking session associated with a
|
|
database.
|
|
|
|
|
|
|
|
|
|
The
|
|
with this session.
|
|
|
|
|
|
|
|
|
|
The name of the database (e.g. "main") for this session.
|
|
|
|
|
|
|
|
|
|
The native handle for this session. This will be deleted when
|
|
this instance is disposed or finalized.
|
|
|
|
|
|
|
|
|
|
The delegate used to provide table filtering to the native API.
|
|
It will be null -OR- point to the
|
|
|
|
|
|
|
|
|
|
The managed callback used to filter tables for this session. Set
|
|
via the
|
|
|
|
|
|
|
|
|
|
The optional application-defined context data that was passed to
|
|
the
|
|
|
|
|
|
|
|
|
|
Constructs a new instance of this class using the specified wrapped
|
|
native connection handle and associated flags.
|
|
|
|
|
|
The wrapped native connection handle to be associated with this
|
|
session.
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
The name of the database (e.g. "main") for this session.
|
|
|
|
|
|
|
|
|
|
Throws an exception if the native session handle is invalid.
|
|
|
|
|
|
|
|
|
|
Makes sure the native session handle is valid, creating it if
|
|
necessary.
|
|
|
|
|
|
|
|
|
|
This method sets up the internal table filtering associated state
|
|
of this instance.
|
|
|
|
|
|
The table filter callback -OR- null to clear any existing table
|
|
filter callback.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
The
|
|
delegate -OR- null to clear any existing table filter.
|
|
|
|
|
|
|
|
|
|
Makes sure the
|
|
is available, creating it if necessary.
|
|
|
|
|
|
|
|
|
|
Attempts to return a
|
|
suitable for the specified
|
|
|
|
|
|
The
|
|
value will be returned.
|
|
|
|
|
|
A
|
|
are always freshly created; however, this method is designed to
|
|
return the existing
|
|
associated with the specified stream, should one exist.
|
|
|
|
|
|
|
|
|
|
This method is called when determining if a table needs to be
|
|
included in the tracked changes for the associated database.
|
|
|
|
|
|
Optional extra context information. Currently, this will always
|
|
have a value of
|
|
|
|
|
|
The native pointer to the name of the table.
|
|
|
|
|
|
Non-zero if changes to the specified table should be considered;
|
|
otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Determines if this session is currently tracking changes to its
|
|
associated database.
|
|
|
|
|
|
Non-zero if changes to the associated database are being trakced;
|
|
otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Enables tracking of changes to the associated database.
|
|
|
|
|
|
|
|
|
|
Disables tracking of changes to the associated database.
|
|
|
|
|
|
|
|
|
|
Determines if this session is currently set to mark changes as
|
|
indirect (i.e. as though they were made via a trigger or foreign
|
|
key action).
|
|
|
|
|
|
Non-zero if changes to the associated database are being marked as
|
|
indirect; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Sets the indirect flag for this session. Subsequent changes will
|
|
be marked as indirect until this flag is changed again.
|
|
|
|
|
|
|
|
|
|
Clears the indirect flag for this session. Subsequent changes will
|
|
be marked as direct until this flag is changed again.
|
|
|
|
|
|
|
|
|
|
Determines if there are any tracked changes currently within the
|
|
data for this session.
|
|
|
|
|
|
Non-zero if there are no changes within the data for this session;
|
|
otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Upon success, causes changes to the specified table(s) to start
|
|
being tracked. Any tables impacted by calls to this method will
|
|
not cause the
|
|
to be invoked.
|
|
|
|
|
|
The name of the table to be tracked -OR- null to track all
|
|
applicable tables within this database.
|
|
|
|
|
|
|
|
|
|
This method is used to set the table filter for this instance.
|
|
|
|
|
|
The table filter callback -OR- null to clear any existing table
|
|
filter callback.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
Attempts to create and return, via
|
|
set of changes represented by this session instance.
|
|
|
|
|
|
Upon success, this will contain the raw byte data for all the
|
|
changes in this session instance.
|
|
|
|
|
|
|
|
|
|
Attempts to create and write, via
|
|
set of changes represented by this session instance.
|
|
|
|
|
|
Upon success, the raw byte data for all the changes in this session
|
|
instance will be written to this
|
|
|
|
|
|
|
|
|
|
Attempts to create and return, via
|
|
set of changes represented by this session instance as a patch set.
|
|
|
|
|
|
Upon success, this will contain the raw byte data for all the
|
|
changes in this session instance.
|
|
|
|
|
|
|
|
|
|
Attempts to create and write, via
|
|
set of changes represented by this session instance as a patch set.
|
|
|
|
|
|
Upon success, the raw byte data for all the changes in this session
|
|
instance will be written to this
|
|
|
|
|
|
|
|
|
|
This method loads the differences between two tables [with the same
|
|
name, set of columns, and primary key definition] into this session
|
|
instance.
|
|
|
|
|
|
The name of the database containing the table with the original
|
|
data (i.e. it will need updating in order to be identical to the
|
|
one within the database associated with this session instance).
|
|
|
|
|
|
The name of the table.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This class represents the abstract concept of a set of changes. It
|
|
acts as the base class for the
|
|
and
|
|
the
|
|
the underlying native connection handle open until the instances of
|
|
this class are disposed or finalized. It also provides the ability
|
|
to construct wrapped native delegates of the
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified wrapped
|
|
native connection handle.
|
|
|
|
|
|
The wrapped native connection handle to be associated with this
|
|
change set.
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
|
|
|
|
Creates and returns a concrete implementation of the
|
|
|
|
|
|
|
|
The native iterator handle to use.
|
|
|
|
|
|
An instance of the
|
|
interface, which can be used to fetch metadata associated with
|
|
the current item in this set of changes.
|
|
|
|
|
|
|
|
|
|
Attempts to create a
|
|
|
|
that invokes the specified
|
|
|
|
|
|
|
|
The
|
|
|
|
is called. If this value is null then null is returned.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
The created
|
|
native delegate -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Attempts to create a
|
|
|
|
that invokes the specified
|
|
|
|
|
|
|
|
The
|
|
|
|
is called. If this value is null then null is returned.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
The created
|
|
native delegate -OR- null if it cannot be created.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This class represents a set of changes contained entirely in memory.
|
|
|
|
|
|
|
|
|
|
The raw byte data for this set of changes. Since this data must
|
|
be marshalled to a native memory buffer before being used, there
|
|
must be enough memory available to store at least two times the
|
|
amount of data contained within it.
|
|
|
|
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified raw byte
|
|
data and wrapped native connection handle.
|
|
|
|
|
|
The raw byte data for the specified change set (or patch set).
|
|
|
|
|
|
The wrapped native connection handle to be associated with this
|
|
set of changes.
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified raw byte
|
|
data and wrapped native connection handle.
|
|
|
|
|
|
The raw byte data for the specified change set (or patch set).
|
|
|
|
|
|
The wrapped native connection handle to be associated with this
|
|
set of changes.
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
|
|
|
|
This method "inverts" the set of changes within this instance.
|
|
Applying an inverted set of changes to a database reverses the
|
|
effects of applying the uninverted changes. Specifically:
|
|
]]>]]>
|
|
Each DELETE change is changed to an INSERT, and
|
|
]]>]]>
|
|
Each INSERT change is changed to a DELETE, and
|
|
]]>]]>
|
|
For each UPDATE change, the old.* and new.* values are exchanged.
|
|
]]>]]>
|
|
This method does not change the order in which changes appear
|
|
within the set of changes. It merely reverses the sense of each
|
|
individual change.
|
|
|
|
|
|
The new
|
|
the resulting set of changes.
|
|
|
|
|
|
|
|
|
|
This method combines the specified set of changes with the ones
|
|
contained in this instance.
|
|
|
|
|
|
The changes to be combined with those in this instance.
|
|
|
|
|
|
The new
|
|
the resulting set of changes.
|
|
|
|
|
|
|
|
|
|
Attempts to apply the set of changes in this instance to the
|
|
associated database.
|
|
|
|
|
|
The
|
|
to handle any conflicting changes that may arise.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
Attempts to apply the set of changes in this instance to the
|
|
associated database.
|
|
|
|
|
|
The
|
|
to handle any conflicting changes that may arise.
|
|
|
|
|
|
The optional
|
|
that can be used to filter the list of tables impacted by the set
|
|
of changes.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
Creates an
|
|
items within this set of changes.
|
|
|
|
|
|
The new
|
|
instance.
|
|
|
|
|
|
|
|
|
|
Creates an
|
|
items within this set of changes.
|
|
|
|
|
|
The new
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This class represents a set of changes that are backed by a
|
|
|
|
|
|
|
|
|
|
|
|
The
|
|
the underlying input
|
|
store for the set of changes associated with this instance.
|
|
|
|
|
|
|
|
|
|
The
|
|
the underlying output
|
|
store for the set of changes generated by the
|
|
or
|
|
|
|
|
|
|
|
|
|
The
|
|
the set of changes associated with this instance.
|
|
|
|
|
|
|
|
|
|
The
|
|
the set of changes generated by the
|
|
|
|
|
|
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified streams
|
|
and wrapped native connection handle.
|
|
|
|
|
|
The
|
|
changes may be read.
|
|
|
|
|
|
The
|
|
sets of changes may be written.
|
|
|
|
|
|
The wrapped native connection handle to be associated with this
|
|
set of changes.
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified streams
|
|
and wrapped native connection handle.
|
|
|
|
|
|
The
|
|
changes may be read.
|
|
|
|
|
|
The
|
|
sets of changes may be written.
|
|
|
|
|
|
The wrapped native connection handle to be associated with this
|
|
set of changes.
|
|
|
|
|
|
The flags associated with the connection represented by the
|
|
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
|
|
|
|
Throws an exception if the input stream or its associated stream
|
|
adapter are invalid.
|
|
|
|
|
|
|
|
|
|
Throws an exception if the output stream or its associated stream
|
|
adapter are invalid.
|
|
|
|
|
|
|
|
|
|
This method "inverts" the set of changes within this instance.
|
|
Applying an inverted set of changes to a database reverses the
|
|
effects of applying the uninverted changes. Specifically:
|
|
]]>]]>
|
|
Each DELETE change is changed to an INSERT, and
|
|
]]>]]>
|
|
Each INSERT change is changed to a DELETE, and
|
|
]]>]]>
|
|
For each UPDATE change, the old.* and new.* values are exchanged.
|
|
]]>]]>
|
|
This method does not change the order in which changes appear
|
|
within the set of changes. It merely reverses the sense of each
|
|
individual change.
|
|
|
|
|
|
Since the resulting set of changes is written to the output stream,
|
|
this method always returns null.
|
|
|
|
|
|
|
|
|
|
This method combines the specified set of changes with the ones
|
|
contained in this instance.
|
|
|
|
|
|
The changes to be combined with those in this instance.
|
|
|
|
|
|
Since the resulting set of changes is written to the output stream,
|
|
this method always returns null.
|
|
|
|
|
|
|
|
|
|
Attempts to apply the set of changes in this instance to the
|
|
associated database.
|
|
|
|
|
|
The
|
|
to handle any conflicting changes that may arise.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
Attempts to apply the set of changes in this instance to the
|
|
associated database.
|
|
|
|
|
|
The
|
|
to handle any conflicting changes that may arise.
|
|
|
|
|
|
The optional
|
|
that can be used to filter the list of tables impacted by the set
|
|
of changes.
|
|
|
|
|
|
The optional application-defined context data. This value may be
|
|
null.
|
|
|
|
|
|
|
|
|
|
Creates an
|
|
items within this set of changes.
|
|
|
|
|
|
The new
|
|
instance.
|
|
|
|
|
|
|
|
|
|
Creates an
|
|
items within this set of changes.
|
|
|
|
|
|
The new
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This class represents an
|
|
enumerating over a set of changes. It serves as the base class for the
|
|
|
|
|
|
owns an instance of the
|
|
|
|
|
|
|
|
|
|
This managed change set iterator is managed and owned by this
|
|
class. It will be disposed when this class is disposed.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified managed
|
|
change set iterator.
|
|
|
|
|
|
The managed iterator instance to use.
|
|
|
|
|
|
|
|
|
|
Throws an exception if the managed iterator instance is invalid.
|
|
|
|
|
|
|
|
|
|
Sets the managed iterator instance to a new value.
|
|
|
|
|
|
The new managed iterator instance to use.
|
|
|
|
|
|
|
|
|
|
Disposes of the managed iterator instance and sets its value to
|
|
null.
|
|
|
|
|
|
|
|
|
|
Disposes of the existing managed iterator instance and then sets it
|
|
to a new value.
|
|
|
|
|
|
The new managed iterator instance to use.
|
|
|
|
|
|
|
|
|
|
Returns the current change within the set of changes, represented
|
|
by a
|
|
|
|
|
|
|
|
|
|
Returns the current change within the set of changes, represented
|
|
by a
|
|
|
|
|
|
|
|
|
|
Attempts to advance to the next item in the set of changes.
|
|
|
|
|
|
Non-zero if more items are available; otherwise, zero.
|
|
|
|
|
|
|
|
|
|
Throws
|
|
derived classes are able to support reset functionality.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|
|
This class represents an
|
|
enumerating over a set of changes contained entirely in memory.
|
|
|
|
|
|
|
|
|
|
The raw byte data for this set of changes. Since this data must
|
|
be marshalled to a native memory buffer before being used, there
|
|
must be enough memory available to store at least two times the
|
|
amount of data contained within it.
|
|
|
|
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified raw byte
|
|
data.
|
|
|
|
|
|
The raw byte data containing the set of changes for this
|
|
enumerator.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified raw byte
|
|
data.
|
|
|
|
|
|
The raw byte data containing the set of changes for this
|
|
enumerator.
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
|
|
|
|
Resets the enumerator to its initial position.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This class represents an
|
|
enumerating over a set of changes backed by a
|
|
instance.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified stream.
|
|
|
|
|
|
The
|
|
changes may be read.
|
|
|
|
|
|
The flags associated with the parent connection.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified stream.
|
|
|
|
|
|
The
|
|
changes may be read.
|
|
|
|
|
|
The flags associated with the parent connection.
|
|
|
|
|
|
The flags used to create the change set iterator.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
This interface implements properties and methods used to fetch metadata
|
|
about one change within a set of changes for a database.
|
|
|
|
|
|
|
|
|
|
The
|
|
will NOT be owned by this class and will not be disposed upon this
|
|
class being disposed or finalized.
|
|
|
|
|
|
|
|
|
|
Constructs an instance of this class using the specified iterator
|
|
instance.
|
|
|
|
|
|
The managed iterator instance to use.
|
|
|
|
|
|
|
|
|
|
Throws an exception if the managed iterator instance is invalid.
|
|
|
|
|
|
|
|
|
|
Populates the underlying data for the
|
|
|
|
|
|
API.
|
|
|
|
|
|
|
|
|
|
Populates the underlying data for the
|
|
|
|
native API.
|
|
|
|
|
|
|
|
|
|
Populates the underlying data for the
|
|
|
|
appropriate native API.
|
|
|
|
|
|
|
|
|
|
Backing field for the
|
|
will be null if this field has not yet been populated via the
|
|
underlying native API.
|
|
|
|
|
|
|
|
|
|
The name of the table the change was made to.
|
|
|
|
|
|
|
|
|
|
Backing field for the
|
|
value will be null if this field has not yet been populated via the
|
|
underlying native API.
|
|
|
|
|
|
|
|
|
|
The number of columns impacted by this change. This value can be
|
|
used to determine the highest valid column index that may be used
|
|
with the
|
|
and
|
|
will be this value minus one.
|
|
|
|
|
|
|
|
|
|
Backing field for the
|
|
value will be null if this field has not yet been populated via the
|
|
underlying native API.
|
|
|
|
|
|
|
|
|
|
This will contain the value
|
|
|
|
|
|
|
|
the overall type of change this item represents.
|
|
|
|
|
|
|
|
|
|
Backing field for the
|
|
will be null if this field has not yet been populated via the
|
|
underlying native API.
|
|
|
|
|
|
|
|
|
|
Non-zero if this change is considered to be indirect (i.e. as
|
|
though they were made via a trigger or foreign key action).
|
|
|
|
|
|
|
|
|
|
Backing field for the
|
|
This value will be null if this field has not yet been populated
|
|
via the underlying native API.
|
|
|
|
|
|
|
|
|
|
This array contains a
|
|
the table associated with this change. The element will be zero
|
|
if the column is not part of the primary key; otherwise, it will
|
|
be non-zero.
|
|
|
|
|
|
|
|
|
|
Backing field for the
|
|
property. This value will be null if this field has not yet been
|
|
populated via the underlying native API.
|
|
|
|
|
|
|
|
|
|
This method may only be called from within a
|
|
|
|
type is
|
|
returns the total number of known foreign key violations in the
|
|
destination database.
|
|
|
|
|
|
|
|
|
|
Queries and returns the original value of a given column for this
|
|
change. This method may only be called when the
|
|
|
|
|
|
|
|
|
|
|
|
The index for the column. This value must be between zero and one
|
|
less than the total number of columns for this table.
|
|
|
|
|
|
The original value of a given column for this change.
|
|
|
|
|
|
|
|
|
|
Queries and returns the updated value of a given column for this
|
|
change. This method may only be called when the
|
|
|
|
|
|
|
|
|
|
|
|
The index for the column. This value must be between zero and one
|
|
less than the total number of columns for this table.
|
|
|
|
|
|
The updated value of a given column for this change.
|
|
|
|
|
|
|
|
|
|
Queries and returns the conflicting value of a given column for
|
|
this change. This method may only be called from within a
|
|
|
|
type is
|
|
|
|
|
|
|
|
The index for the column. This value must be between zero and one
|
|
less than the total number of columns for this table.
|
|
|
|
|
|
The conflicting value of a given column for this change.
|
|
|
|
|
|
|
|
|
|
Disposes of this object instance.
|
|
|
|
|
|
|
|
|
|
Non-zero if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Throws an exception if this object instance has been disposed.
|
|
|
|
|
|
|
|
|
|
Disposes or finalizes this object instance.
|
|
|
|
|
|
Non-zero if this object is being disposed; otherwise, this object
|
|
is being finalized.
|
|
|
|
|
|
|
|
|
|
Finalizes this object instance.
|
|
|
|
|
|
|
|
|