# R2dbcExposedDatabaseMetadata

abstract class R2dbcExposedDatabaseMetadata(database: String) : ExposedDatabaseMetadata

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

#### Inheritors

R2dbcLocalMetadataImpl

## Constructors

R2dbcExposedDatabaseMetadata
Link copied to clipboard
constructor(database: String)

## Properties

database
Link copied to clipboard
val database: String
identifierManager
Link copied to clipboard
abstract val identifierManager: IdentifierManagerApi
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.

supportsLimitWithUpdateOrDelete
Link copied to clipboard
abstract val supportsLimitWithUpdateOrDelete: Boolean

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

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.

## 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 suspend 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 suspend 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 suspend 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 suspend 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 suspend 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.

getDatabaseDialectMode
Link copied to clipboard
abstract suspend fun getDatabaseDialectMode(): String?

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

getDatabaseDialectName
Link copied to clipboard
abstract fun getDatabaseDialectName(): String

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

getDatabaseProductVersion
Link copied to clipboard
abstract fun getDatabaseProductVersion(): String

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

getDefaultIsolationLevel
Link copied to clipboard
abstract fun getDefaultIsolationLevel(): IsolationLevel

The default transaction isolation level for the database.

getMajorVersion
Link copied to clipboard
abstract fun getMajorVersion(): Int

The major version number of the database.

getMinorVersion
Link copied to clipboard
abstract fun getMinorVersion(): Int

The minor version number of the database.

getVersion
Link copied to clipboard
abstract fun getVersion(): Version

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

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

A list of existing schema names.

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

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

tableConstraints
Link copied to clipboard
abstract suspend 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.

tableNames
Link copied to clipboard
abstract suspend fun tableNames(): CacheWithSuspendableDefault<String, List<String>>

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

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

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