DatabaseDialect

interface DatabaseDialect

Common interface for all database dialects.

Inheritors

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Data type provider of this dialect.

Link copied to clipboard

Returns the default reference option for the dialect.

Link copied to clipboard

Function provider of this dialect.

Link copied to clipboard

The current H2 database compatibility mode or null if the current database is not H2.

Link copied to clipboard

Returns a mapping of dialect-specific characters to be escaped when used alongside the LIKE operator.

Link copied to clipboard
abstract val name: String

Name of this dialect.

Link copied to clipboard

Returns true if the dialect requires the use of quotes when using symbols in object names, false otherwise.

Link copied to clipboard

Returns true if the dialect requires the use of a sequence to create an auto-increment column, false otherwise.

Link copied to clipboard

Returns true if autoCommit should be enabled to create/drop a database.

Link copied to clipboard

Returnstrue if the dialect supports schema creation.

Link copied to clipboard

Returns true if the dialect supports the creation of sequences, false otherwise.

Link copied to clipboard

Returns true if the dialect provides a special dummy DUAL table, accessible by all users.

Link copied to clipboard

Returns true if the dialect supports the IF EXISTS/IF NOT EXISTS option when creating, altering or dropping objects, false otherwise.

Link copied to clipboard

Returns true if the dialect supports returning multiple generated keys as a result of an insert operation, false otherwise.

Link copied to clipboard

Returns true if the dialect supports only returning generated keys that are identity columns.

Link copied to clipboard

Returns true if the dialect supports using the ON UPDATE clause with a foreign key constraint.

Link copied to clipboard

Returns true if the dialect provides options to configure how nulls are sorted compared to non-null values.

Link copied to clipboard

Returns true if the dialect supports the RESTRICT action as part of a foreign key constraint clause.

Link copied to clipboard

Returns true if the dialect supports returning generated keys obtained from a sequence.

Link copied to clipboard

Returns true if the dialect supports the SET DEFAULT action as part of a foreign key constraint clause.

Link copied to clipboard

Returns true if the dialect supports subqueries within a UNION/EXCEPT/INTERSECT statement.

Link copied to clipboard

Returns true if the dialect supports an upsert operation returning an affected-row value of 0, 1, or 2.

Link copied to clipboard

Returns true if the dialect supports window function definitions with GROUPS mode in frame clause

Functions

Link copied to clipboard
abstract fun addPrimaryKey(table: Table, pkName: String?, vararg pkColumns: Column<*>): String

Returns the SQL statement that adds a primary key specified pkName to an existing table.

Link copied to clipboard
abstract fun allTablesNames(): List<String>

Returns a list with the names of all the defined tables.

Link copied to clipboard
open fun catalog(transaction: Transaction): String

Returns the catalog name of the connection of the specified transaction.

Link copied to clipboard
open fun checkTableMapping(table: Table): Boolean
Link copied to clipboard

Returns a map with the foreign key constraints of all the defined columns sets in each of the specified tables.

Link copied to clipboard
open fun createDatabase(name: String): String

Returns the SQL statement that creates a database with the specified name.

Link copied to clipboard
abstract fun createIndex(index: Index): String

Returns the SQL statement that creates the specified index.

Link copied to clipboard
open fun createSchema(schema: Schema): String

Returns the SQL statement that creates the specified schema.

Link copied to clipboard
open fun dropDatabase(name: String): String

Returns the SQL statement that drops the database with the specified name.

Link copied to clipboard
abstract fun dropIndex(tableName: String, indexName: String, isUnique: Boolean, isPartialOrFunctional: Boolean): String

Returns the SQL statement that drops the specified indexName from the specified tableName.

Link copied to clipboard
open fun dropSchema(schema: Schema, cascade: Boolean): String

Returns the SQL statement that drops the specified schema, as well as all its objects if cascade is true.

Link copied to clipboard
open fun existingIndices(vararg tables: Table): Map<Table, List<Index>>

Returns a map with all the defined indices in each of the specified tables.

Link copied to clipboard

Returns a map with the primary key metadata in each of the specified tables.

Link copied to clipboard
abstract fun getDatabase(): String

Returns the name of the current database.

Link copied to clipboard

Returns true if the specified e is allowed as a default column value in the dialect, false otherwise.

Link copied to clipboard
open fun listDatabases(): String

Returns the SQL query that retrieves a set of existing databases.

Link copied to clipboard
abstract fun modifyColumn(column: Column<*>, columnDiff: ColumnDiff): List<String>

Returns the SQL statement that modifies the specified column.

Link copied to clipboard
abstract fun resetCaches()

Clears any cached values.

Link copied to clipboard
abstract fun resetSchemaCaches()

Clears any cached values including schema names.

Link copied to clipboard

Returns the corresponding ReferenceOption for the specified refOption from JDBC.

Link copied to clipboard
abstract fun schemaExists(schema: Schema): Boolean

Checks if the specified schema exists.

Link copied to clipboard
abstract fun sequenceExists(sequence: Sequence): Boolean

Returns whether the specified sequence exists.

Link copied to clipboard
abstract fun sequences(): List<String>

Returns a list of the names of all sequences in the database.

Link copied to clipboard
open fun setSchema(schema: Schema): String

Returns the SQL statement that sets the current schema to the specified schema.

Link copied to clipboard

Returns true if the dialect supports SELECT FOR UPDATE statements, false otherwise.

Link copied to clipboard
open fun tableColumns(vararg tables: Table): Map<Table, List<ColumnMetadata>>

Returns a map with the column metadata of all the defined columns in each of the specified tables.

Link copied to clipboard
abstract fun tableExists(table: Table): Boolean

Checks if the specified table exists in the database.