# R2dbcDatabaseMetadataImpl

class R2dbcDatabaseMetadataImpl(database: String, connection: Connection, vendorDialect: String) : R2dbcLocalMetadataImpl

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

## Constructors

R2dbcDatabaseMetadataImpl
Link copied to clipboard
constructor(database: String, connection: Connection, vendorDialect: String)

## Types

Companion
Link copied to clipboard
object Companion

## Properties

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

supportsLimitWithUpdateOrDelete
Link copied to clipboard
open override val supportsLimitWithUpdateOrDelete: Boolean

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

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.

## Functions

areEquivalentColumnTypes
Link copied to clipboard
fun areEquivalentColumnTypes(columnMetadataSqlType: String, columnMetadataType: Int, columnType: String): Boolean
cleanCache
Link copied to clipboard
open override fun cleanCache()
columns
Link copied to clipboard
open suspend 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 suspend 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 suspend 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 suspend 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 suspend 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.

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

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

getDatabaseDialectName
Link copied to clipboard
open override fun getDatabaseDialectName(): String

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

getDatabaseProductVersion
Link copied to clipboard
open override fun getDatabaseProductVersion(): String

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

getDefaultIsolationLevel
Link copied to clipboard
open override fun getDefaultIsolationLevel(): IsolationLevel

The default transaction isolation level for the database.

getMajorVersion
Link copied to clipboard
open override fun getMajorVersion(): Int

The major version number of the database.

getMinorVersion
Link copied to clipboard
open override fun getMinorVersion(): Int

The minor version number of the database.

getVersion
Link copied to clipboard
open override fun getVersion(): Version

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

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

A list of existing schema names.

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

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

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

tableNames
Link copied to clipboard
open suspend override 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
open suspend override fun tableNamesByCurrentSchema(tableNamesCache: CacheWithSuspendableDefault<String, List<String>>?): SchemaMetadata

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