Table of Contents

Interface ISqlDialect

Namespace
Fdyay.IdentityServer.Dapper.Sql
Assembly
Fdyay.IdentityServer.Dapper.dll

Abstracts the SQL differences between supported database providers.

public interface ISqlDialect

Properties

Name

The provider name (e.g. Sqlite, SqlServer).

string Name { get; }

Property Value

string

PagingClause

Takes one page of an ordered result, using @skip and @take.

string PagingClause { get; }

Property Value

string

Remarks

The one place the two dialects disagree on more than punctuation: SQLite spells this LIMIT/OFFSET and has no FETCH, SQL Server spells it OFFSET/FETCH and has no LIMIT. Both require the ORDER BY that precedes it, which is the property paging depends on anyway — an unstable order repeats a row on page two and drops another, and only the repeat shows.

UpsertBackChannelAuthenticationRequest

Inserts or replaces a pending backchannel authentication request.

string UpsertBackChannelAuthenticationRequest { get; }

Property Value

string

UpsertDeviceFlowCode

Upsert statement for a device authorization, keyed on DeviceCode.

string UpsertDeviceFlowCode { get; }

Property Value

string

UpsertPersistedGrant

Upsert statement for a persisted grant, keyed on GrantKey.

string UpsertPersistedGrant { get; }

Property Value

string

UpsertPushedAuthorizationRequest

Upsert statement for a pushed authorization request, keyed on ReferenceValueHash.

string UpsertPushedAuthorizationRequest { get; }

Property Value

string

UpsertServerSideSession

Upsert statement for a server-side session, keyed on SessionKey.

string UpsertServerSideSession { get; }

Property Value

string

UpsertSigningKey

Upsert statement for a signing key, keyed on Id.

string UpsertSigningKey { get; }

Property Value

string

Methods

CreateSchemaScript(DapperStores)

An idempotent script creating the tables for stores, and nothing else.

string CreateSchemaScript(DapperStores stores)

Parameters

stores DapperStores

Returns

string