# JdbcExposedDatabaseMetadata

abstract class JdbcExposedDatabaseMetadata(database: String) : ExposedDatabaseMetadata

Base class responsible for retrieving and storing information about the JDBC driver and underlying database.

#### Inheritors

JdbcDatabaseMetadataImpl

## Constructors

JdbcExposedDatabaseMetadata
Link copied to clipboard
constructor(database: String)

## Properties

database
Link copied to clipboard
val database: String
databaseDialectMode
Link copied to clipboard
abstract val databaseDialectMode: String?

The name of the mode of the database. This is currently applicable only to H2 databases.

databaseDialectName
Link copied to clipboard
abstract val databaseDialectName: String

The name of the database based on the name of the underlying JDBC driver.

databaseProductVersion
Link copied to clipboard
abstract val databaseProductVersion: String

The version number of the database product as a `String`.

defaultIsolationLevel
Link copied to clipboard
abstract val defaultIsolationLevel: Int

The default transaction isolation level for the database.

identifierManager
Link copied to clipboard
abstract val identifierManager: IdentifierManagerApi
majorVersion
Link copied to clipboard
abstract val majorVersion: Int

The major version number of the database.

minorVersion
Link copied to clipboard
abstract val minorVersion: Int

The minor version number of the database.

schemaNames
Link copied to clipboard
abstract val schemaNames: List<String>

A list of existing schema names.

supportsAlterTableWithAddColumn
Link copied to clipboard
abstract val supportsAlterTableWithAddColumn: Boolean

Whether the database supports `ALTER TABLE` with an add column clause.

supportsAlterTableWithDropColumn
Link copied to clipboard
abstract val supportsAlterTableWithDropColumn: Boolean

Whether the database supports `ALTER TABLE` with a drop column clause.

supportsMultipleResultSets
Link copied to clipboard
abstract val supportsMultipleResultSets: Boolean

Whether the database supports getting multiple result sets from a single execute.

supportsSelectForUpdate
Link copied to clipboard
abstract val supportsSelectForUpdate: Boolean

Whether the database supports `SELECT FOR UPDATE` statements.

tableNames
Link copied to clipboard
abstract val tableNames: CacheWithDefault<String, List<String>>

A mapping of all schema names in the database to a list of all defined table names in each schema.

url
Link copied to clipboard
abstract val url: String

The connection URL for the database.

version
Link copied to clipboard
abstract val version: BigDecimal

The version number of the database as a `BigDecimal`.

## Functions

areEquivalentColumnTypes
Link copied to clipboard
fun areEquivalentColumnTypes(columnMetadataSqlType: String, columnMetadataType: Int, columnType: String): Boolean
cleanCache
Link copied to clipboard
abstract fun cleanCache()
columns
Link copied to clipboard
abstract fun columns(vararg tables: Table): Map<Table, List<ColumnMetadata>>

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

existingCheckConstraints
Link copied to clipboard
abstract fun existingCheckConstraints(vararg tables: Table): Map<Table, List<CheckConstraint>>

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

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

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

existingPrimaryKeys
Link copied to clipboard
abstract fun existingPrimaryKeys(vararg tables: Table): Map<Table, PrimaryKeyMetadata?>

Returns a map with the PrimaryKeyMetadata in each of the specified tables.

existingSequences
Link copied to clipboard
abstract fun existingSequences(vararg tables: Table): Map<Table, List<Sequence>>

Returns a map with all the defined sequences that hold a relation to the specified tables in the database.

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

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

supportsLimitWithUpdateOrDelete
Link copied to clipboard
abstract fun supportsLimitWithUpdateOrDelete(): Boolean

Whether the database supports the `LIMIT` clause with update and delete statements.

tableConstraints
Link copied to clipboard
abstract fun tableConstraints(tables: List<Table>): Map<String, List<ForeignKeyConstraint>>

Returns a map with the ForeignKeyConstraint of all the defined columns in each of the specified tables, with the table name used as the key.

tableNamesByCurrentSchema
Link copied to clipboard
abstract fun tableNamesByCurrentSchema(tableNamesCache: CacheWithDefault<String, List<String>>?): SchemaMetadata

Returns the current schema name and a list of its existing table names, stored as SchemaMetadata.