Package org.apache.flink.table.jdbc
Class FlinkDatabaseMetaData
- java.lang.Object
-
- org.apache.flink.table.jdbc.BaseDatabaseMetaData
-
- org.apache.flink.table.jdbc.FlinkDatabaseMetaData
-
- All Implemented Interfaces:
DatabaseMetaData
,Wrapper
public class FlinkDatabaseMetaData extends BaseDatabaseMetaData
Implementation ofDatabaseMetaData
for flink jdbc driver.
-
-
Field Summary
-
Fields inherited from interface java.sql.DatabaseMetaData
attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, functionColumnIn, functionColumnInOut, functionColumnOut, functionColumnResult, functionColumnUnknown, functionNoNulls, functionNoTable, functionNullable, functionNullableUnknown, functionResultUnknown, functionReturn, functionReturnsTable, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FlinkDatabaseMetaData(String url, FlinkConnection connection, Statement statement)
-
Method Summary
-
Methods inherited from class org.apache.flink.table.jdbc.BaseDatabaseMetaData
getAttributes, getBestRowIdentifier, getCatalogSeparator, getClientInfoProperties, getColumnPrivileges, getCrossReference, getDefaultTransactionIsolation, getExportedKeys, getFunctionColumns, getFunctions, getImportedKeys, getIndexInfo, getMaxBinaryLiteralLength, getMaxCatalogNameLength, getMaxCharLiteralLength, getMaxColumnNameLength, getMaxColumnsInGroupBy, getMaxColumnsInIndex, getMaxColumnsInOrderBy, getMaxColumnsInSelect, getMaxColumnsInTable, getMaxConnections, getMaxCursorNameLength, getMaxIndexLength, getMaxProcedureNameLength, getMaxRowSize, getMaxSchemaNameLength, getMaxStatementLength, getMaxStatements, getMaxTableNameLength, getMaxTablesInSelect, getMaxUserNameLength, getNumericFunctions, getProcedureColumns, getProcedures, getProcedureTerm, getPseudoColumns, getResultSetHoldability, getRowIdLifetime, getSearchStringEscape, getSQLKeywords, getSQLStateType, getStringFunctions, getSuperTables, getSuperTypes, getSystemFunctions, getTablePrivileges, getTimeDateFunctions, getTypeInfo, getUDTs, getUserName, getVersionColumns, unwrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.DatabaseMetaData
getMaxLogicalLobSize, supportsRefCursors, supportsSharding
-
-
-
-
Constructor Detail
-
FlinkDatabaseMetaData
@VisibleForTesting protected FlinkDatabaseMetaData(String url, FlinkConnection connection, Statement statement)
-
-
Method Detail
-
getCatalogs
public ResultSet getCatalogs() throws SQLException
- Throws:
SQLException
-
getSchemas
public ResultSet getSchemas() throws SQLException
- Throws:
SQLException
-
getSchemas
public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLException
- Throws:
SQLException
-
supportsStoredFunctionsUsingCallSyntax
public boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException
- Throws:
SQLException
-
autoCommitFailureClosesAllResultSets
public boolean autoCommitFailureClosesAllResultSets() throws SQLException
- Throws:
SQLException
-
generatedKeyAlwaysReturned
public boolean generatedKeyAlwaysReturned() throws SQLException
- Throws:
SQLException
-
getTables
public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
- Throws:
SQLException
-
getColumns
public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
- Throws:
SQLException
-
getPrimaryKeys
public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
- Throws:
SQLException
-
getTableTypes
public ResultSet getTableTypes() throws SQLException
- Throws:
SQLException
-
getConnection
public Connection getConnection() throws SQLException
- Throws:
SQLException
-
supportsSavepoints
public boolean supportsSavepoints() throws SQLException
- Throws:
SQLException
-
supportsNamedParameters
public boolean supportsNamedParameters() throws SQLException
- Throws:
SQLException
-
supportsMultipleOpenResults
public boolean supportsMultipleOpenResults() throws SQLException
- Throws:
SQLException
-
supportsGetGeneratedKeys
public boolean supportsGetGeneratedKeys() throws SQLException
- Throws:
SQLException
-
supportsResultSetHoldability
public boolean supportsResultSetHoldability(int holdability) throws SQLException
- Throws:
SQLException
-
allProceduresAreCallable
public boolean allProceduresAreCallable() throws SQLException
- Throws:
SQLException
-
allTablesAreSelectable
public boolean allTablesAreSelectable() throws SQLException
- Throws:
SQLException
-
getURL
public String getURL() throws SQLException
- Throws:
SQLException
-
isReadOnly
public boolean isReadOnly() throws SQLException
- Throws:
SQLException
-
nullsAreSortedHigh
public boolean nullsAreSortedHigh() throws SQLException
- Throws:
SQLException
-
nullsAreSortedLow
public boolean nullsAreSortedLow() throws SQLException
In flink null value will be used as low value for sort.- Throws:
SQLException
-
nullsAreSortedAtStart
public boolean nullsAreSortedAtStart() throws SQLException
- Throws:
SQLException
-
nullsAreSortedAtEnd
public boolean nullsAreSortedAtEnd() throws SQLException
- Throws:
SQLException
-
getDatabaseProductName
public String getDatabaseProductName() throws SQLException
- Throws:
SQLException
-
getDatabaseProductVersion
public String getDatabaseProductVersion() throws SQLException
- Throws:
SQLException
-
getDriverName
public String getDriverName() throws SQLException
- Throws:
SQLException
-
getDriverVersion
public String getDriverVersion() throws SQLException
- Throws:
SQLException
-
getDriverMajorVersion
public int getDriverMajorVersion()
-
getDriverMinorVersion
public int getDriverMinorVersion()
-
supportsResultSetType
public boolean supportsResultSetType(int type) throws SQLException
- Throws:
SQLException
-
supportsResultSetConcurrency
public boolean supportsResultSetConcurrency(int type, int concurrency) throws SQLException
- Throws:
SQLException
-
ownUpdatesAreVisible
public boolean ownUpdatesAreVisible(int type) throws SQLException
- Throws:
SQLException
-
ownDeletesAreVisible
public boolean ownDeletesAreVisible(int type) throws SQLException
- Throws:
SQLException
-
ownInsertsAreVisible
public boolean ownInsertsAreVisible(int type) throws SQLException
- Throws:
SQLException
-
othersUpdatesAreVisible
public boolean othersUpdatesAreVisible(int type) throws SQLException
- Throws:
SQLException
-
othersDeletesAreVisible
public boolean othersDeletesAreVisible(int type) throws SQLException
- Throws:
SQLException
-
othersInsertsAreVisible
public boolean othersInsertsAreVisible(int type) throws SQLException
- Throws:
SQLException
-
updatesAreDetected
public boolean updatesAreDetected(int type) throws SQLException
- Throws:
SQLException
-
deletesAreDetected
public boolean deletesAreDetected(int type) throws SQLException
- Throws:
SQLException
-
insertsAreDetected
public boolean insertsAreDetected(int type) throws SQLException
- Throws:
SQLException
-
supportsBatchUpdates
public boolean supportsBatchUpdates() throws SQLException
- Throws:
SQLException
-
getDatabaseMajorVersion
public int getDatabaseMajorVersion() throws SQLException
- Throws:
SQLException
-
getDatabaseMinorVersion
public int getDatabaseMinorVersion() throws SQLException
- Throws:
SQLException
-
getJDBCMajorVersion
public int getJDBCMajorVersion() throws SQLException
- Throws:
SQLException
-
getJDBCMinorVersion
public int getJDBCMinorVersion() throws SQLException
- Throws:
SQLException
-
locatorsUpdateCopy
public boolean locatorsUpdateCopy() throws SQLException
- Throws:
SQLException
-
supportsStatementPooling
public boolean supportsStatementPooling() throws SQLException
- Throws:
SQLException
-
usesLocalFiles
public boolean usesLocalFiles() throws SQLException
- Throws:
SQLException
-
usesLocalFilePerTable
public boolean usesLocalFilePerTable() throws SQLException
- Throws:
SQLException
-
supportsMixedCaseIdentifiers
public boolean supportsMixedCaseIdentifiers() throws SQLException
Flink sql is mixed case as sensitive.- Throws:
SQLException
-
storesUpperCaseIdentifiers
public boolean storesUpperCaseIdentifiers() throws SQLException
- Throws:
SQLException
-
storesLowerCaseIdentifiers
public boolean storesLowerCaseIdentifiers() throws SQLException
- Throws:
SQLException
-
storesMixedCaseIdentifiers
public boolean storesMixedCaseIdentifiers() throws SQLException
Flink sql is mixed case as sensitive.- Throws:
SQLException
-
supportsMixedCaseQuotedIdentifiers
public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException
Flink sql is mixed case as sensitive.- Throws:
SQLException
-
storesUpperCaseQuotedIdentifiers
public boolean storesUpperCaseQuotedIdentifiers() throws SQLException
- Throws:
SQLException
-
storesLowerCaseQuotedIdentifiers
public boolean storesLowerCaseQuotedIdentifiers() throws SQLException
- Throws:
SQLException
-
storesMixedCaseQuotedIdentifiers
public boolean storesMixedCaseQuotedIdentifiers() throws SQLException
Flink sql is mixed case as sensitive.- Throws:
SQLException
-
getIdentifierQuoteString
public String getIdentifierQuoteString() throws SQLException
- Throws:
SQLException
-
getExtraNameCharacters
public String getExtraNameCharacters() throws SQLException
- Throws:
SQLException
-
supportsAlterTableWithAddColumn
public boolean supportsAlterTableWithAddColumn() throws SQLException
- Throws:
SQLException
-
supportsAlterTableWithDropColumn
public boolean supportsAlterTableWithDropColumn() throws SQLException
- Throws:
SQLException
-
supportsColumnAliasing
public boolean supportsColumnAliasing() throws SQLException
- Throws:
SQLException
-
nullPlusNonNullIsNull
public boolean nullPlusNonNullIsNull() throws SQLException
Null value plus non-null in flink will be null result.- Throws:
SQLException
-
supportsConvert
public boolean supportsConvert() throws SQLException
- Throws:
SQLException
-
supportsConvert
public boolean supportsConvert(int fromType, int toType) throws SQLException
- Throws:
SQLException
-
supportsTableCorrelationNames
public boolean supportsTableCorrelationNames() throws SQLException
- Throws:
SQLException
-
supportsDifferentTableCorrelationNames
public boolean supportsDifferentTableCorrelationNames() throws SQLException
- Throws:
SQLException
-
supportsExpressionsInOrderBy
public boolean supportsExpressionsInOrderBy() throws SQLException
- Throws:
SQLException
-
supportsOrderByUnrelated
public boolean supportsOrderByUnrelated() throws SQLException
- Throws:
SQLException
-
supportsGroupBy
public boolean supportsGroupBy() throws SQLException
- Throws:
SQLException
-
supportsGroupByUnrelated
public boolean supportsGroupByUnrelated() throws SQLException
- Throws:
SQLException
-
supportsGroupByBeyondSelect
public boolean supportsGroupByBeyondSelect() throws SQLException
- Throws:
SQLException
-
supportsLikeEscapeClause
public boolean supportsLikeEscapeClause() throws SQLException
- Throws:
SQLException
-
supportsMultipleResultSets
public boolean supportsMultipleResultSets() throws SQLException
- Throws:
SQLException
-
supportsMultipleTransactions
public boolean supportsMultipleTransactions() throws SQLException
- Throws:
SQLException
-
supportsNonNullableColumns
public boolean supportsNonNullableColumns() throws SQLException
- Throws:
SQLException
-
supportsMinimumSQLGrammar
public boolean supportsMinimumSQLGrammar() throws SQLException
- Throws:
SQLException
-
supportsCoreSQLGrammar
public boolean supportsCoreSQLGrammar() throws SQLException
- Throws:
SQLException
-
supportsExtendedSQLGrammar
public boolean supportsExtendedSQLGrammar() throws SQLException
- Throws:
SQLException
-
supportsANSI92EntryLevelSQL
public boolean supportsANSI92EntryLevelSQL() throws SQLException
- Throws:
SQLException
-
supportsANSI92IntermediateSQL
public boolean supportsANSI92IntermediateSQL() throws SQLException
- Throws:
SQLException
-
supportsANSI92FullSQL
public boolean supportsANSI92FullSQL() throws SQLException
- Throws:
SQLException
-
supportsIntegrityEnhancementFacility
public boolean supportsIntegrityEnhancementFacility() throws SQLException
- Throws:
SQLException
-
supportsOuterJoins
public boolean supportsOuterJoins() throws SQLException
- Throws:
SQLException
-
supportsFullOuterJoins
public boolean supportsFullOuterJoins() throws SQLException
- Throws:
SQLException
-
supportsLimitedOuterJoins
public boolean supportsLimitedOuterJoins() throws SQLException
- Throws:
SQLException
-
getSchemaTerm
public String getSchemaTerm() throws SQLException
- Throws:
SQLException
-
getCatalogTerm
public String getCatalogTerm() throws SQLException
- Throws:
SQLException
-
isCatalogAtStart
public boolean isCatalogAtStart() throws SQLException
Catalog name appears at the start of full name.- Throws:
SQLException
-
supportsSchemasInDataManipulation
public boolean supportsSchemasInDataManipulation() throws SQLException
- Throws:
SQLException
-
supportsSchemasInProcedureCalls
public boolean supportsSchemasInProcedureCalls() throws SQLException
- Throws:
SQLException
-
supportsSchemasInTableDefinitions
public boolean supportsSchemasInTableDefinitions() throws SQLException
- Throws:
SQLException
-
supportsSchemasInIndexDefinitions
public boolean supportsSchemasInIndexDefinitions() throws SQLException
- Throws:
SQLException
-
supportsSchemasInPrivilegeDefinitions
public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException
- Throws:
SQLException
-
supportsCatalogsInDataManipulation
public boolean supportsCatalogsInDataManipulation() throws SQLException
- Throws:
SQLException
-
supportsCatalogsInProcedureCalls
public boolean supportsCatalogsInProcedureCalls() throws SQLException
- Throws:
SQLException
-
supportsCatalogsInTableDefinitions
public boolean supportsCatalogsInTableDefinitions() throws SQLException
- Throws:
SQLException
-
supportsCatalogsInIndexDefinitions
public boolean supportsCatalogsInIndexDefinitions() throws SQLException
- Throws:
SQLException
-
supportsCatalogsInPrivilegeDefinitions
public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException
- Throws:
SQLException
-
supportsPositionedDelete
public boolean supportsPositionedDelete() throws SQLException
- Throws:
SQLException
-
supportsPositionedUpdate
public boolean supportsPositionedUpdate() throws SQLException
- Throws:
SQLException
-
supportsSelectForUpdate
public boolean supportsSelectForUpdate() throws SQLException
- Throws:
SQLException
-
supportsStoredProcedures
public boolean supportsStoredProcedures() throws SQLException
- Throws:
SQLException
-
supportsSubqueriesInComparisons
public boolean supportsSubqueriesInComparisons() throws SQLException
- Throws:
SQLException
-
supportsSubqueriesInExists
public boolean supportsSubqueriesInExists() throws SQLException
- Throws:
SQLException
-
supportsSubqueriesInIns
public boolean supportsSubqueriesInIns() throws SQLException
- Throws:
SQLException
-
supportsSubqueriesInQuantifieds
public boolean supportsSubqueriesInQuantifieds() throws SQLException
- Throws:
SQLException
-
supportsCorrelatedSubqueries
public boolean supportsCorrelatedSubqueries() throws SQLException
- Throws:
SQLException
-
supportsUnion
public boolean supportsUnion() throws SQLException
- Throws:
SQLException
-
supportsUnionAll
public boolean supportsUnionAll() throws SQLException
- Throws:
SQLException
-
supportsOpenCursorsAcrossCommit
public boolean supportsOpenCursorsAcrossCommit() throws SQLException
- Throws:
SQLException
-
supportsOpenCursorsAcrossRollback
public boolean supportsOpenCursorsAcrossRollback() throws SQLException
- Throws:
SQLException
-
supportsOpenStatementsAcrossCommit
public boolean supportsOpenStatementsAcrossCommit() throws SQLException
- Throws:
SQLException
-
supportsOpenStatementsAcrossRollback
public boolean supportsOpenStatementsAcrossRollback() throws SQLException
- Throws:
SQLException
-
doesMaxRowSizeIncludeBlobs
public boolean doesMaxRowSizeIncludeBlobs() throws SQLException
- Throws:
SQLException
-
supportsTransactions
public boolean supportsTransactions() throws SQLException
- Throws:
SQLException
-
supportsTransactionIsolationLevel
public boolean supportsTransactionIsolationLevel(int level) throws SQLException
- Throws:
SQLException
-
supportsDataDefinitionAndDataManipulationTransactions
public boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException
- Throws:
SQLException
-
supportsDataManipulationTransactionsOnly
public boolean supportsDataManipulationTransactionsOnly() throws SQLException
- Throws:
SQLException
-
dataDefinitionCausesTransactionCommit
public boolean dataDefinitionCausesTransactionCommit() throws SQLException
- Throws:
SQLException
-
dataDefinitionIgnoredInTransactions
public boolean dataDefinitionIgnoredInTransactions() throws SQLException
- Throws:
SQLException
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Throws:
SQLException
-
-