# JdbcDatabaseMetadataImpl

class JdbcDatabaseMetadataImpl(database: String, val metadata: DatabaseMetaData) : JdbcExposedDatabaseMetadata

Class responsible for retrieving and storing information about the JDBC driver and underlying DBMS, using metadata.

## Constructors

JdbcDatabaseMetadataImpl
Link copied to clipboard
constructor(database: String, metadata: DatabaseMetaData)

## Types

Companion
Link copied to clipboard
object Companion

## Properties

database
Link copied to clipboard
val database: String
databaseDialectMode
Link copied to clipboard
open override val databaseDialectMode: String?

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

databaseDialectName
Link copied to clipboard
open override val databaseDialectName: String

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

databaseProductVersion
Link copied to clipboard
open override val databaseProductVersion: String

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

defaultIsolationLevel
Link copied to clipboard
open override val defaultIsolationLevel: Int

The default transaction isolation level for the database.

identifierManager
Link copied to clipboard
open override val identifierManager: IdentifierManagerApi
majorVersion
Link copied to clipboard
open override val majorVersion: Int

The major version number of the database.

metadata
Link copied to clipboard
val metadata: DatabaseMetaData
minorVersion
Link copied to clipboard
open override val minorVersion: Int

The minor version number of the database.

schemaNames
Link copied to clipboard
open override val schemaNames: List<String>

A list of existing schema names.

supportsAlterTableWithAddColumn
Link copied to clipboard
open override val supportsAlterTableWithAddColumn: Boolean

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

supportsAlterTableWithDropColumn
Link copied to clipboard
open override val supportsAlterTableWithDropColumn: Boolean

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

supportsMultipleResultSets
Link copied to clipboard
open override val supportsMultipleResultSets: Boolean

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

supportsSelectForUpdate
Link copied to clipboard
open override val supportsSelectForUpdate: Boolean

Whether the database supports `SELECT FOR UPDATE` statements.

tableNames
Link copied to clipboard
open override 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
open override val url: String

The connection URL for the database.

version
Link copied to clipboard
open override 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
@Synchronized
open override fun cleanCache()
columns
Link copied to clipboard
open override 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
open override 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
open override 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
open override 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
open override 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
open override fun resetCurrentScheme()
sequences
Link copied to clipboard
open override fun sequences(): List<String>

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

supportsLimitWithUpdateOrDelete
Link copied to clipboard
open override fun supportsLimitWithUpdateOrDelete(): Boolean

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

tableConstraints
Link copied to clipboard
@Synchronized
open override 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
open override fun tableNamesByCurrentSchema(tableNamesCache: CacheWithDefault<String, List<String>>?): SchemaMetadata

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