Top Description Inners Fields Constructors Methods
org.hibernate.engine.jdbc.env.internal

public Class ExtractedDatabaseMetaDataImpl

extends Object
implements ExtractedDatabaseMetaData
Class Inheritance
All Implemented Interfaces
org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData
Imports
java.sql.Connection, .DatabaseMetaData, .ResultSet, .SQLException, java.util.Collections, .List, .Set, java.util.stream.Collectors, .StreamSupport, org.hibernate.HibernateException, org.hibernate.boot.model.source.internal.hbm.CommaSeparatedStringHelper, org.hibernate.dialect.Dialect, org.hibernate.engine.jdbc.connections.spi.JdbcConnectionAccess, org.hibernate.engine.jdbc.cursor.internal.StandardRefCursorSupport, org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData, .JdbcEnvironment, .SQLStateType, org.hibernate.tool.schema.extract.spi.ExtractionContext, .SequenceInformation

Standard implementation of ExtractedDatabaseMetaData
Author
Steve Ebersole

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
private final JdbcConnectionAccess
private final String
private final String
private final boolean
private final JdbcEnvironment
private final boolean
private List<SequenceInformation>
private final SQLStateType
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean
private final boolean

Constructor Summary

AccessConstructor and Description
private
ExtractedDatabaseMetaDataImpl(JdbcEnvironment jdbcEnvironment, JdbcConnectionAccess connectionAccess, String connectionCatalogName, String connectionSchemaName, boolean supportsRefCursors, boolean supportsNamedParameters, boolean supportsScrollableResults, boolean supportsGetGeneratedKeys, boolean supportsBatchUpdates, boolean supportsDataDefinitionInTransaction, boolean doesDataDefinitionCauseTransactionCommit, SQLStateType sqlStateType, boolean jdbcMetadataIsAccessible)

Method Summary

Modifier and TypeMethod and Description
public boolean
doesDataDefinitionCauseTransactionCommit()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.doesDataDefinitionCauseTransactionCommit.

Did the driver report to DDL statements performed within a transaction performing an implicit commit of the transaction.
public String
getConnectionCatalogName()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getConnectionCatalogName.

Retrieve the name of the catalog in effect when we connected to the database.
public String
getConnectionSchemaName()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getConnectionSchemaName.

Retrieve the name of the schema in effect when we connected to the database.
public JdbcEnvironment
getJdbcEnvironment()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getJdbcEnvironment.

Obtain the JDBC Environment from which this metadata came.
public synchronized List<SequenceInformation>
getSequenceInformationList()

Overrides default org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getSequenceInformationList.

Retrieve the list of SequenceInformation objects which describe the underlying database sequences.
public SQLStateType
getSqlStateType()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getSqlStateType.

Retrieve the type of codes the driver says it uses for SQLState.
private List<SequenceInformation>

Returns:

sequence information List
sequenceInformationList
()

Get the sequence information List from the database.

public boolean
supportsBatchUpdates()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsBatchUpdates.

Did the driver report to supporting batched updates?
public boolean
public boolean
supportsGetGeneratedKeys()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsGetGeneratedKeys.

Did the driver report to supporting retrieval of generated keys?
public boolean
public boolean
public boolean
supportsScrollableResults()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsScrollableResults.

Did the driver report to supporting scrollable result sets?
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

connectionAccessback to summary
private final JdbcConnectionAccess connectionAccess
connectionCatalogNameback to summary
private final String connectionCatalogName
connectionSchemaNameback to summary
private final String connectionSchemaName
doesDataDefinitionCauseTransactionCommitback to summary
private final boolean doesDataDefinitionCauseTransactionCommit
jdbcEnvironmentback to summary
private final JdbcEnvironment jdbcEnvironment
jdbcMetadataAccessibleback to summary
private final boolean jdbcMetadataAccessible
sequenceInformationListback to summary
private List<SequenceInformation> sequenceInformationList
sqlStateTypeback to summary
private final SQLStateType sqlStateType
supportsBatchUpdatesback to summary
private final boolean supportsBatchUpdates
supportsDataDefinitionInTransactionback to summary
private final boolean supportsDataDefinitionInTransaction
supportsGetGeneratedKeysback to summary
private final boolean supportsGetGeneratedKeys
supportsNamedParametersback to summary
private final boolean supportsNamedParameters
supportsRefCursorsback to summary
private final boolean supportsRefCursors
supportsScrollableResultsback to summary
private final boolean supportsScrollableResults

Constructor Detail

ExtractedDatabaseMetaDataImplback to summary
private ExtractedDatabaseMetaDataImpl(JdbcEnvironment jdbcEnvironment, JdbcConnectionAccess connectionAccess, String connectionCatalogName, String connectionSchemaName, boolean supportsRefCursors, boolean supportsNamedParameters, boolean supportsScrollableResults, boolean supportsGetGeneratedKeys, boolean supportsBatchUpdates, boolean supportsDataDefinitionInTransaction, boolean doesDataDefinitionCauseTransactionCommit, SQLStateType sqlStateType, boolean jdbcMetadataIsAccessible)

Method Detail

doesDataDefinitionCauseTransactionCommitback to summary
public boolean doesDataDefinitionCauseTransactionCommit()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.doesDataDefinitionCauseTransactionCommit.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.doesDataDefinitionCauseTransactionCommit.

Did the driver report to DDL statements performed within a transaction performing an implicit commit of the transaction.

Returns:boolean

True if the driver/database performs an implicit commit of transaction when DDL statement is performed

Annotations
@Override
getConnectionCatalogNameback to summary
public String getConnectionCatalogName()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getConnectionCatalogName.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getConnectionCatalogName.

Retrieve the name of the catalog in effect when we connected to the database.

Returns:String

The catalog name

Annotations
@Override
getConnectionSchemaNameback to summary
public String getConnectionSchemaName()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getConnectionSchemaName.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getConnectionSchemaName.

Retrieve the name of the schema in effect when we connected to the database.

Returns:String

The schema name

Annotations
@Override
getJdbcEnvironmentback to summary
public JdbcEnvironment getJdbcEnvironment()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getJdbcEnvironment.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getJdbcEnvironment.

Obtain the JDBC Environment from which this metadata came.

Returns:JdbcEnvironment

The JDBC environment

Annotations
@Override
getSequenceInformationListback to summary
public synchronized List<SequenceInformation> getSequenceInformationList()

Overrides default org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getSequenceInformationList.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getSequenceInformationList.

Retrieve the list of SequenceInformation objects which describe the underlying database sequences.

Returns:List<SequenceInformation>

SequenceInformation objects.

Annotations
@Override
getSqlStateTypeback to summary
public SQLStateType getSqlStateType()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getSqlStateType.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.getSqlStateType.

Retrieve the type of codes the driver says it uses for SQLState. They might follow either the X/Open standard or the SQL92 standard.

Returns:SQLStateType

The SQLState strategy reportedly used by this driver/database.

Annotations
@Override
sequenceInformationListback to summary
private List<SequenceInformation> sequenceInformationList()

Get the sequence information List from the database.

Returns:List<SequenceInformation>

sequence information List

supportsBatchUpdatesback to summary
public boolean supportsBatchUpdates()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsBatchUpdates.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsBatchUpdates.

Did the driver report to supporting batched updates?

Returns:boolean

True if the driver supports batched updates

Annotations
@Override
supportsDataDefinitionInTransactionback to summary
public boolean supportsDataDefinitionInTransaction()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsDataDefinitionInTransaction.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsDataDefinitionInTransaction.

Did the driver report to support performing DDL within transactions?

Returns:boolean

True if the drivers supports DDL statements within transactions.

Annotations
@Override
supportsGetGeneratedKeysback to summary
public boolean supportsGetGeneratedKeys()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsGetGeneratedKeys.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsGetGeneratedKeys.

Did the driver report to supporting retrieval of generated keys?

Returns:boolean

True if the if the driver reported to support calls to java.sql.Statement#getGeneratedKeys

Annotations
@Override
supportsNamedParametersback to summary
public boolean supportsNamedParameters()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsNamedParameters.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsNamedParameters.

Does the driver report supporting named parameters?

Returns:boolean

true indicates the driver reported true; false indicates the driver reported false or that the driver could not be asked.

Annotations
@Override
supportsRefCursorsback to summary
public boolean supportsRefCursors()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsRefCursors.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsRefCursors.

Does the driver report supporting REF_CURSORs?

Returns:boolean

true indicates the driver reported true; false indicates the driver reported false or that the driver could not be asked.

Annotations
@Override
supportsScrollableResultsback to summary
public boolean supportsScrollableResults()

Implements org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsScrollableResults.

Doc from org.hibernate.engine.jdbc.env.spi.ExtractedDatabaseMetaData.supportsScrollableResults.

Did the driver report to supporting scrollable result sets?

Returns:boolean

True if the driver reported to support java.sql.ResultSet#TYPE_SCROLL_INSENSITIVE.

Annotations
@Override
org.hibernate.engine.jdbc.env.internal back to summary

public Class ExtractedDatabaseMetaDataImpl.Builder

extends Object
Class Inheritance
  • java.lang.Object
  • org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.Builder

Field Summary

Modifier and TypeField and Description
private final JdbcConnectionAccess
private String
private String
private boolean
private final JdbcEnvironment
private final boolean
private SQLStateType
private boolean
private boolean
private boolean
private boolean
private boolean
private boolean

Constructor Summary

AccessConstructor and Description
public
Builder(JdbcEnvironment jdbcEnvironment, boolean jdbcMetadataIsAccessible, JdbcConnectionAccess connectionAccess)

Method Summary

Modifier and TypeMethod and Description
public ExtractedDatabaseMetaDataImpl.Builder
apply(DatabaseMetaData databaseMetaData)

public ExtractedDatabaseMetaDataImpl
private Set<String>
parseKeywords(String extraKeywordsString)

public ExtractedDatabaseMetaDataImpl.Builder
setConnectionCatalogName(String connectionCatalogName)

public ExtractedDatabaseMetaDataImpl.Builder
setConnectionSchemaName(String connectionSchemaName)

public ExtractedDatabaseMetaDataImpl.Builder
setDoesDataDefinitionCauseTransactionCommit(boolean doesDataDefinitionCauseTransactionCommit)

public ExtractedDatabaseMetaDataImpl.Builder
public ExtractedDatabaseMetaDataImpl.Builder
setSupportsBatchUpdates(boolean supportsBatchUpdates)

public ExtractedDatabaseMetaDataImpl.Builder
setSupportsDataDefinitionInTransaction(boolean supportsDataDefinitionInTransaction)

public ExtractedDatabaseMetaDataImpl.Builder
setSupportsGetGeneratedKeys(boolean supportsGetGeneratedKeys)

public ExtractedDatabaseMetaDataImpl.Builder
setSupportsNamedParameters(boolean supportsNamedParameters)

public ExtractedDatabaseMetaDataImpl.Builder
setSupportsRefCursors(boolean supportsRefCursors)

public ExtractedDatabaseMetaDataImpl.Builder
setSupportsScrollableResults(boolean supportsScrollableResults)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

connectionAccessback to summary
private final JdbcConnectionAccess connectionAccess
connectionCatalogNameback to summary
private String connectionCatalogName
connectionSchemaNameback to summary
private String connectionSchemaName
doesDataDefinitionCauseTransactionCommitback to summary
private boolean doesDataDefinitionCauseTransactionCommit
jdbcEnvironmentback to summary
private final JdbcEnvironment jdbcEnvironment
jdbcMetadataIsAccessibleback to summary
private final boolean jdbcMetadataIsAccessible
sqlStateTypeback to summary
private SQLStateType sqlStateType
supportsBatchUpdatesback to summary
private boolean supportsBatchUpdates
supportsDataDefinitionInTransactionback to summary
private boolean supportsDataDefinitionInTransaction
supportsGetGeneratedKeysback to summary
private boolean supportsGetGeneratedKeys
supportsNamedParametersback to summary
private boolean supportsNamedParameters
supportsRefCursorsback to summary
private boolean supportsRefCursors
supportsScrollableResultsback to summary
private boolean supportsScrollableResults

Constructor Detail

Builderback to summary
public Builder(JdbcEnvironment jdbcEnvironment, boolean jdbcMetadataIsAccessible, JdbcConnectionAccess connectionAccess)

Method Detail

applyback to summary
public ExtractedDatabaseMetaDataImpl.Builder apply(DatabaseMetaData databaseMetaData) throws SQLException
buildback to summary
public ExtractedDatabaseMetaDataImpl build()
parseKeywordsback to summary
private Set<String> parseKeywords(String extraKeywordsString)
setConnectionCatalogNameback to summary
public ExtractedDatabaseMetaDataImpl.Builder setConnectionCatalogName(String connectionCatalogName)
setConnectionSchemaNameback to summary
public ExtractedDatabaseMetaDataImpl.Builder setConnectionSchemaName(String connectionSchemaName)
setDoesDataDefinitionCauseTransactionCommitback to summary
public ExtractedDatabaseMetaDataImpl.Builder setDoesDataDefinitionCauseTransactionCommit(boolean doesDataDefinitionCauseTransactionCommit)
setSqlStateTypeback to summary
public ExtractedDatabaseMetaDataImpl.Builder setSqlStateType(SQLStateType sqlStateType)
setSupportsBatchUpdatesback to summary
public ExtractedDatabaseMetaDataImpl.Builder setSupportsBatchUpdates(boolean supportsBatchUpdates)
setSupportsDataDefinitionInTransactionback to summary
public ExtractedDatabaseMetaDataImpl.Builder setSupportsDataDefinitionInTransaction(boolean supportsDataDefinitionInTransaction)
setSupportsGetGeneratedKeysback to summary
public ExtractedDatabaseMetaDataImpl.Builder setSupportsGetGeneratedKeys(boolean supportsGetGeneratedKeys)
setSupportsNamedParametersback to summary
public ExtractedDatabaseMetaDataImpl.Builder setSupportsNamedParameters(boolean supportsNamedParameters)
setSupportsRefCursorsback to summary
public ExtractedDatabaseMetaDataImpl.Builder setSupportsRefCursors(boolean supportsRefCursors)
setSupportsScrollableResultsback to summary
public ExtractedDatabaseMetaDataImpl.Builder setSupportsScrollableResults(boolean supportsScrollableResults)