bin/Devolutions.Ahtola.Data.Sqlite.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Devolutions.Ahtola.Data.Sqlite</name>
    </assembly>
    <members>
        <member name="P:Ahtola.Data.Sqlite.SqliteConnection.Handle">
            <summary>
                Raw SQLitePCL <c>sqlite3*</c> interop is not supported by the Ahtola-backed provider.
            </summary>
        </member>
        <member name="P:Ahtola.Data.Sqlite.SqliteConnection.PageCodec">
            <summary>
            Optional external page codec for managed local databases. Set before
            <see cref="M:Ahtola.Data.Sqlite.SqliteConnection.Open"/>; cannot be combined with built-in encryption options.
            The codec is not owned by the connection.
            </summary>
        </member>
        <member name="P:Ahtola.Data.Sqlite.SqliteConnection.ServerVersion">
            <summary>
            The SQLite version this engine is wire- and SQL-compatible with. Mirrors what
            <c>sqlite_version()</c> returns, so callers that feature-gate on the server
            version (e.g. EFCore) see the real compatibility level rather than a stub.
            </summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.ChangePassword(System.String)">
            <summary>
            Rewrites the open managed database under a new passphrase (or plaintext when
            <paramref name="newPassword"/> is null/empty). Exclusive access required.
            </summary>
            <remarks>
            Ahtola AES-256-GCM only (via <see cref="T:Ahtola.Core.Storage.AhtolaPasswordEncryption"/>). Not SEE/SQLCipher.
            </remarks>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.ClearPassword">
            <summary>Clears file encryption by rewriting the managed database as plaintext.</summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SetPassword(System.String)">
            <summary>
            Encrypts an open plaintext managed database with <paramref name="password"/>.
            Empty/null is a no-op (SDS CreateFile + SetPassword("") compatibility).
            </summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.MapManagedEncryptionOpenFailure(System.Exception,System.Boolean)">
            <summary>
            Maps managed encryption/open authentication failures to include the SDS-shaped
            phrase RDM uses for password-protected file detection.
            </summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SetUpdateHook(System.Action{Ahtola.Core.SqliteRowChange})">
            <summary>
            Registers a callback invoked once per changed row, mirroring <c>sqlite3_update_hook</c>.
            Pass <c>null</c> to remove the hook.
            </summary>
            <remarks>
            The callback runs after the row has been written but before the change is committed, and
            it must not use this connection: reentrant use throws. Matching SQLite, no notification is
            raised for WITHOUT ROWID tables, for internal <c>sqlite_*</c> tables such as
            <c>sqlite_sequence</c>, or for the implicit delete performed by REPLACE conflict
            resolution. Unlike SQLite, an unfiltered <c>DELETE FROM t</c> notifies once per row because
            the managed engine has no truncate optimization to suppress.
            </remarks>
            <param name="handler">The callback, or <c>null</c> to clear the hook.</param>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SetCommitHook(System.Func{System.Boolean})">
            <summary>
            Registers a callback invoked immediately before a transaction commits, mirroring
            <c>sqlite3_commit_hook</c>. Returning <c>false</c> vetoes the commit, which is then turned
            into a rollback and reported as <c>SQLITE_CONSTRAINT</c> (19). Pass <c>null</c> to remove
            the hook.
            </summary>
            <remarks>
            The hook is only consulted when the transaction actually changed something, and it runs
            after every update-hook notification for that transaction. It is not consulted for changes
            that bypass the statement commit path: <c>VACUUM</c>, <c>ATTACH</c>/<c>DETACH</c>,
            <c>CREATE TABLE ... AS SELECT</c>, header pragma writes such as
            <c>PRAGMA user_version = n</c>, and incremental blob writes.
            </remarks>
            <param name="handler">The callback, or <c>null</c> to clear the hook.</param>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SetRollbackHook(System.Action)">
            <summary>
            Registers a callback invoked when a transaction rolls back, mirroring
            <c>sqlite3_rollback_hook</c>. Pass <c>null</c> to remove the hook.
            </summary>
            <remarks>
            Matching SQLite, the hook fires for an explicit <c>ROLLBACK</c> even when nothing changed,
            for a rollback caused by a vetoing commit hook, for <c>ON CONFLICT ROLLBACK</c>, and for the
            implicit rollback of a failed autocommit mutation. It does not fire when a statement inside
            an explicit transaction fails without aborting the transaction, nor for
            <c>ROLLBACK TO SAVEPOINT</c>.
            </remarks>
            <param name="handler">The callback, or <c>null</c> to clear the hook.</param>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SetAuthorizer(System.Func{Ahtola.Core.SqliteAuthorizerContext,Ahtola.Core.SqliteAuthorizerResult})">
            <summary>
            Registers an authorizer consulted while a statement is prepared, mirroring
            <c>sqlite3_set_authorizer</c>. Pass <c>null</c> to remove it.
            </summary>
            <remarks>
            <see cref="F:Ahtola.Core.SqliteAuthorizerResult.Deny"/> fails preparation with <c>SQLITE_AUTH</c> (23).
            <see cref="F:Ahtola.Core.SqliteAuthorizerResult.Ignore"/> neutralizes the action instead of failing: a
            column read yields NULL wherever it appears, an INSERT becomes a no-op, an UPDATE column
            assignment is skipped, a SELECT returns no rows, and -- matching SQLite -- a DELETE still
            proceeds. Views and trigger bodies are walked so a policy cannot be bypassed by reading a
            base table through a view or writing to it from a trigger.
            </remarks>
            <param name="handler">The authorizer, or <c>null</c> to clear it.</param>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SetTraceHandler(System.Action{System.String})">
            <summary>
            Registers a callback invoked once per statement execution with the statement's SQL text,
            mirroring <c>sqlite3_trace_v2</c>'s <c>SQLITE_TRACE_STMT</c>. Pass <c>null</c> to remove it.
            </summary>
            <remarks>
            The reported text is the prepared SQL as written. Parameters are not expanded, so this
            matches <c>sqlite3_trace_v2</c> rather than the legacy <c>sqlite3_trace</c>.
            </remarks>
            <param name="handler">The callback, or <c>null</c> to clear it.</param>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SetProgressHandler(System.Int32,System.Func{System.Boolean})">
            <summary>
            Registers a callback invoked periodically while a statement runs, mirroring
            <c>sqlite3_progress_handler</c>. Returning <c>true</c> interrupts the statement, which then
            fails with <c>SQLITE_INTERRUPT</c> (9). Pass <c>null</c> to remove it.
            </summary>
            <remarks>
            <paramref name="stepInterval"/> counts managed row-execution steps rather than SQLite VDBE
            opcodes, because the managed engine has no opcode counter. The cadence is therefore not
            comparable to SQLite's, but the interrupt semantics are.
            </remarks>
            <param name="stepInterval">The number of managed row steps between invocations.</param>
            <param name="handler">The callback, or <c>null</c> to clear it.</param>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.SuspendHooks">
            <summary>
            Suspends every registered hook for the lifetime of the returned scope.
            </summary>
            <remarks>
            Used by the provider's own metadata probes. Native SQLite answers questions such as
            "what is the declared type of this column" through <c>sqlite3_column_decltype</c> without
            preparing a statement, so surfacing the managed engine's equivalent <c>PRAGMA</c> queries
            to a trace handler or an authorizer would report work the application never asked for --
            and a deny-by-default authorizer would break ordinary reads.
            </remarks>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteConnection.ApplyHooks">
            <summary>
            Pushes the cached registrations onto the live managed connection. Registrations survive
            <see cref="M:Ahtola.Data.Sqlite.SqliteConnection.Close"/>/<see cref="M:Ahtola.Data.Sqlite.SqliteConnection.Open"/> the same way scalar functions and collations do.
            </summary>
        </member>
        <member name="P:Ahtola.Data.Sqlite.SqliteConnectionStringBuilder.PasswordScheme">
            <summary>
            Passphrase key-derivation scheme id (for example <c>Ahtola.Password.v1</c>).
            Empty selects the catalog default. See <see cref="T:Ahtola.Core.Storage.AhtolaPassphraseSchemes"/>.
            </summary>
        </member>
        <member name="P:Ahtola.Data.Sqlite.SqliteConnectionStringBuilder.ForeignReadOnly">
            <summary>
            Opens a database file owned by another engine without claiming ownership
            locks or requiring the shared-memory file. Requires <see cref="P:Ahtola.Data.Sqlite.SqliteConnectionStringBuilder.Mode"/>
            <see cref="F:Ahtola.Data.Sqlite.SqliteOpenMode.ReadOnly"/>, the managed local provider, and
            <see cref="P:Ahtola.Data.Sqlite.SqliteConnectionStringBuilder.Pooling"/> disabled.
            </summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteDataReader.CurrentValueKind(System.Int32)">
            <summary>
            Returns the value kind of the current row, or <see cref="F:Ahtola.Data.Sqlite.SqliteDataReader.ReaderValueKind.Empty"/> when the
            reader is not positioned on a row. Type metadata has to stay readable before the first
            <c>Read</c> because <see cref="T:System.Data.Common.DbDataAdapter"/> maps the result schema
            before it fetches any rows.
            </summary>
        </member>
        <member name="T:Ahtola.Data.Sqlite.SqliteNativeProvider">
            <summary>
            Registers native-only SQLite facade operations supplied by the optional native companion package.
            </summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProvider.Register(Ahtola.Data.Sqlite.SqliteNativeProviderFactory)">
            <summary>
            Registers native SQLite facade operations.
            </summary>
        </member>
        <member name="T:Ahtola.Data.Sqlite.SqliteNativeProviderFactory">
            <summary>
            Contract implemented by the optional native SQLite facade companion assembly.
            </summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProviderFactory.RegisterScalarFunction(Ahtola.AhtolaNativeDatabase,System.String,System.Int32,System.Boolean,System.Func{System.Object[],System.Object})">
            <summary>Registers a scalar function.</summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProviderFactory.RegisterAggregateFunction(Ahtola.AhtolaNativeDatabase,System.String,System.Int32,System.Boolean,System.Object,System.Func{System.Object,System.Object[],System.Object},System.Func{System.Object,System.Object})">
            <summary>Registers an aggregate function.</summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProviderFactory.UnregisterFunctions(Ahtola.AhtolaNativeDatabase,System.String)">
            <summary>Unregisters scalar and aggregate functions with a name.</summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProviderFactory.RegisterCollation(Ahtola.AhtolaNativeDatabase,System.String,System.Func{System.String,System.String,System.Int32})">
            <summary>Registers a collation.</summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProviderFactory.UnregisterCollation(Ahtola.AhtolaNativeDatabase,System.String)">
            <summary>Unregisters a collation.</summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProviderFactory.EnableExtensions(Ahtola.AhtolaNativeDatabase,System.Boolean)">
            <summary>Enables or disables extension loading.</summary>
        </member>
        <member name="M:Ahtola.Data.Sqlite.SqliteNativeProviderFactory.LoadExtension(Ahtola.AhtolaNativeDatabase,System.String)">
            <summary>Loads a SQLite extension.</summary>
        </member>
        <member name="P:Ahtola.Data.Sqlite.SqliteParameter.SourceVersion">
            <summary>
            Gets or sets the <see cref="T:System.Data.DataRowVersion"/> read when the parameter is filled from
            a <see cref="T:System.Data.DataRow"/>. The base implementation discards the value, which would make
            <see cref="T:Ahtola.AhtolaCommandBuilder"/>'s optimistic-concurrency predicates compare
            current instead of original values.
            </summary>
        </member>
    </members>
</doc>