public class MariaDbDatabaseMetaData extends Object implements DatabaseMetaData
Modifier and Type | Field and Description |
---|---|
static String |
DRIVER_NAME |
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 and Description |
---|
MariaDbDatabaseMetaData(Connection connection,
UrlParser urlParser)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
allProceduresAreCallable() |
boolean |
allTablesAreSelectable() |
boolean |
autoCommitFailureClosesAllResultSets() |
boolean |
dataDefinitionCausesTransactionCommit() |
boolean |
dataDefinitionIgnoredInTransactions() |
boolean |
deletesAreDetected(int type) |
boolean |
doesMaxRowSizeIncludeBlobs() |
boolean |
generatedKeyAlwaysReturned() |
ResultSet |
getAttributes(String catalog,
String schemaPattern,
String typeNamePattern,
String attributeNamePattern)
Retrieves a description of the given attribute of the given type for a user-defined type (UDT)
that is available in the given schema and catalog.
|
ResultSet |
getBestRowIdentifier(String catalog,
String schema,
String table,
int scope,
boolean nullable)
Retrieves a description of a table's optimal set of columns that uniquely identifies a row.
|
ResultSet |
getCatalogs() |
String |
getCatalogSeparator() |
String |
getCatalogTerm() |
ResultSet |
getClientInfoProperties()
Retrieves a list of the client info properties that the driver supports.
|
ResultSet |
getColumnPrivileges(String catalog,
String schema,
String table,
String columnNamePattern)
Retrieves a description of the access rights for a table's columns.
|
ResultSet |
getColumns(String catalog,
String schemaPattern,
String tableNamePattern,
String columnNamePattern)
Retrieves a description of table columns available in the specified catalog.
|
Connection |
getConnection() |
ResultSet |
getCrossReference(String parentCatalog,
String parentSchema,
String parentTable,
String foreignCatalog,
String foreignSchema,
String foreignTable)
Retrieves a description of the foreign key columns in the given foreign key table that
reference the primary key or the columns representing a unique constraint of the parent table
(could be the same or a different table).
|
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
String |
getDatabaseProductName()
Return Server type.
|
String |
getDatabaseProductVersion() |
int |
getDefaultTransactionIsolation() |
int |
getDriverMajorVersion() |
int |
getDriverMinorVersion() |
String |
getDriverName() |
String |
getDriverVersion() |
ResultSet |
getExportedKeys(String catalog,
String schema,
String table)
Retrieves a description of the foreign key columns that reference the given table's primary key
columns (the foreign keys exported by a table).
|
String |
getExtraNameCharacters() |
ResultSet |
getFunctionColumns(String catalog,
String schemaPattern,
String functionNamePattern,
String columnNamePattern)
Retrieves a description of the given catalog's system or user function parameters and return
type.
|
ResultSet |
getFunctions(String catalog,
String schemaPattern,
String functionNamePattern)
Retrieves a description of the system and user functions available in the given catalog.
|
String |
getIdentifierQuoteString() |
ResultSet |
getImportedKeys(String catalog,
String schema,
String table)
Retrieves a description of the primary key columns that are referenced by the given table's
foreign key columns (the primary keys imported by a table).
|
ResultSet |
getImportedKeysUsingInformationSchema(String catalog,
String table)
GetImportedKeysUsingInformationSchema.
|
ResultSet |
getImportedKeysUsingShowCreateTable(String catalog,
String table)
GetImportedKeysUsingShowCreateTable.
|
ResultSet |
getIndexInfo(String catalog,
String schema,
String table,
boolean unique,
boolean approximate)
Retrieves a description of the given table's indices and statistics.
|
int |
getJDBCMajorVersion() |
int |
getJDBCMinorVersion() |
int |
getMaxBinaryLiteralLength() |
int |
getMaxCatalogNameLength() |
int |
getMaxCharLiteralLength() |
int |
getMaxColumnNameLength() |
int |
getMaxColumnsInGroupBy() |
int |
getMaxColumnsInIndex() |
int |
getMaxColumnsInOrderBy() |
int |
getMaxColumnsInSelect() |
int |
getMaxColumnsInTable() |
int |
getMaxConnections() |
int |
getMaxCursorNameLength() |
int |
getMaxIndexLength() |
long |
getMaxLogicalLobSize() |
int |
getMaxProcedureNameLength() |
int |
getMaxRowSize() |
int |
getMaxSchemaNameLength() |
int |
getMaxStatementLength() |
int |
getMaxStatements() |
int |
getMaxTableNameLength() |
int |
getMaxTablesInSelect() |
int |
getMaxUserNameLength() |
String |
getNumericFunctions()
List of numeric functions.
|
ResultSet |
getPrimaryKeys(String catalog,
String schema,
String table)
Retrieves a description of the given table's primary key columns.
|
ResultSet |
getProcedureColumns(String catalog,
String schemaPattern,
String procedureNamePattern,
String columnNamePattern)
Retrieves a description of the given catalog's stored procedure parameter and result columns.
|
ResultSet |
getProcedures(String catalog,
String schemaPattern,
String procedureNamePattern)
Retrieves a description of the stored procedures available in the given catalog.
|
String |
getProcedureTerm() |
ResultSet |
getPseudoColumns(String catalog,
String schemaPattern,
String tableNamePattern,
String columnNamePattern)
Retrieves a description of the pseudo or hidden columns available in a given table within the
specified catalog and schema.
|
int |
getResultSetHoldability() |
RowIdLifetime |
getRowIdLifetime() |
ResultSet |
getSchemas() |
ResultSet |
getSchemas(String catalog,
String schemaPattern) |
String |
getSchemaTerm() |
String |
getSearchStringEscape() |
String |
getSQLKeywords()
Retrieves a comma-separated list of all of this database's SQL keywords that are NOT also
SQL:2003 keywords.
|
int |
getSQLStateType() |
String |
getStringFunctions()
List of string functions.
|
ResultSet |
getSuperTables(String catalog,
String schemaPattern,
String tableNamePattern)
Retrieves a description of the table hierarchies defined in a particular schema in this
database.
|
ResultSet |
getSuperTypes(String catalog,
String schemaPattern,
String typeNamePattern)
Retrieves a description of the user-defined type (UDT) hierarchies defined in a particular
schema in this database.
|
String |
getSystemFunctions()
List of system functions.
|
ResultSet |
getTablePrivileges(String catalog,
String schemaPattern,
String tableNamePattern)
Retrieves a description of the access rights for each table available in a catalog.
|
ResultSet |
getTables(String catalog,
String schemaPattern,
String tableNamePattern,
String[] types)
Retrieves a description of the tables available in the given catalog.
|
ResultSet |
getTableTypes() |
String |
getTimeDateFunctions()
List of time and date functions.
|
ResultSet |
getTypeInfo()
Retrieves a description of all the data types supported by this database.
|
ResultSet |
getUDTs(String catalog,
String schemaPattern,
String typeNamePattern,
int[] types)
Retrieves a description of the user-defined types (UDTs) defined in a particular schema.
|
String |
getURL() |
String |
getUserName() |
ResultSet |
getVersionColumns(String catalog,
String schema,
String table)
Retrieves a description of a table's columns that are automatically updated when any value in a
row is updated.
|
boolean |
insertsAreDetected(int type) |
boolean |
isCatalogAtStart() |
boolean |
isReadOnly() |
boolean |
isWrapperFor(Class<?> iface) |
boolean |
locatorsUpdateCopy() |
boolean |
nullPlusNonNullIsNull() |
boolean |
nullsAreSortedAtEnd() |
boolean |
nullsAreSortedAtStart() |
boolean |
nullsAreSortedHigh() |
boolean |
nullsAreSortedLow() |
boolean |
othersDeletesAreVisible(int type) |
boolean |
othersInsertsAreVisible(int type) |
boolean |
othersUpdatesAreVisible(int type) |
boolean |
ownDeletesAreVisible(int type) |
boolean |
ownInsertsAreVisible(int type) |
boolean |
ownUpdatesAreVisible(int type) |
boolean |
storesLowerCaseIdentifiers() |
boolean |
storesLowerCaseQuotedIdentifiers() |
boolean |
storesMixedCaseIdentifiers() |
boolean |
storesMixedCaseQuotedIdentifiers() |
boolean |
storesUpperCaseIdentifiers() |
boolean |
storesUpperCaseQuotedIdentifiers() |
boolean |
supportsAlterTableWithAddColumn() |
boolean |
supportsAlterTableWithDropColumn() |
boolean |
supportsANSI92EntryLevelSQL() |
boolean |
supportsANSI92FullSQL() |
boolean |
supportsANSI92IntermediateSQL() |
boolean |
supportsBatchUpdates() |
boolean |
supportsCatalogsInDataManipulation() |
boolean |
supportsCatalogsInIndexDefinitions() |
boolean |
supportsCatalogsInPrivilegeDefinitions() |
boolean |
supportsCatalogsInProcedureCalls() |
boolean |
supportsCatalogsInTableDefinitions() |
boolean |
supportsColumnAliasing() |
boolean |
supportsConvert() |
boolean |
supportsConvert(int fromType,
int toType)
Retrieves whether this database supports the JDBC scalar function CONVERT for conversions
between the JDBC types fromType and toType.
|
boolean |
supportsCoreSQLGrammar() |
boolean |
supportsCorrelatedSubqueries() |
boolean |
supportsDataDefinitionAndDataManipulationTransactions() |
boolean |
supportsDataManipulationTransactionsOnly() |
boolean |
supportsDifferentTableCorrelationNames() |
boolean |
supportsExpressionsInOrderBy() |
boolean |
supportsExtendedSQLGrammar() |
boolean |
supportsFullOuterJoins() |
boolean |
supportsGetGeneratedKeys() |
boolean |
supportsGroupBy() |
boolean |
supportsGroupByBeyondSelect() |
boolean |
supportsGroupByUnrelated() |
boolean |
supportsIntegrityEnhancementFacility() |
boolean |
supportsLikeEscapeClause() |
boolean |
supportsLimitedOuterJoins() |
boolean |
supportsMinimumSQLGrammar() |
boolean |
supportsMixedCaseIdentifiers() |
boolean |
supportsMixedCaseQuotedIdentifiers() |
boolean |
supportsMultipleOpenResults() |
boolean |
supportsMultipleResultSets() |
boolean |
supportsMultipleTransactions() |
boolean |
supportsNamedParameters() |
boolean |
supportsNonNullableColumns() |
boolean |
supportsOpenCursorsAcrossCommit() |
boolean |
supportsOpenCursorsAcrossRollback() |
boolean |
supportsOpenStatementsAcrossCommit() |
boolean |
supportsOpenStatementsAcrossRollback() |
boolean |
supportsOrderByUnrelated() |
boolean |
supportsOuterJoins() |
boolean |
supportsPositionedDelete() |
boolean |
supportsPositionedUpdate() |
boolean |
supportsRefCursors() |
boolean |
supportsResultSetConcurrency(int type,
int concurrency)
Retrieves whether this database supports the given concurrency type in combination with the
given result set type.
|
boolean |
supportsResultSetHoldability(int holdability) |
boolean |
supportsResultSetType(int type)
Retrieves whether this database supports the given result set type.
|
boolean |
supportsSavepoints() |
boolean |
supportsSchemasInDataManipulation() |
boolean |
supportsSchemasInIndexDefinitions() |
boolean |
supportsSchemasInPrivilegeDefinitions() |
boolean |
supportsSchemasInProcedureCalls() |
boolean |
supportsSchemasInTableDefinitions() |
boolean |
supportsSelectForUpdate() |
boolean |
supportsStatementPooling() |
boolean |
supportsStoredFunctionsUsingCallSyntax() |
boolean |
supportsStoredProcedures() |
boolean |
supportsSubqueriesInComparisons() |
boolean |
supportsSubqueriesInExists() |
boolean |
supportsSubqueriesInIns() |
boolean |
supportsSubqueriesInQuantifieds() |
boolean |
supportsTableCorrelationNames() |
boolean |
supportsTransactionIsolationLevel(int level)
Retrieves whether this database supports the given transaction isolation level.
|
boolean |
supportsTransactions()
Retrieves whether this database supports transactions.
|
boolean |
supportsUnion() |
boolean |
supportsUnionAll() |
<T> T |
unwrap(Class<T> iface) |
boolean |
updatesAreDetected(int type) |
boolean |
usesLocalFilePerTable() |
boolean |
usesLocalFiles() |
public static final String DRIVER_NAME
public MariaDbDatabaseMetaData(Connection connection, UrlParser urlParser)
connection
- connectionurlParser
- Url parserpublic ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException
Each primary key column description has the following columns:
=>
primary key table catalog being imported (may be
null
)
=>
primary key table schema being imported (may be
null
)
=>
primary key table name being imported
=>
primary key column name being imported
=>
foreign key table catalog (may be null
)
=>
foreign key table schema (may be null
)
=>
foreign key table name
=>
foreign key column name
=>
sequence number within a foreign key( a value of 1
represents the first column of the foreign key, a value of 2 would represent the second
column within the foreign key).
=>
What happens to a foreign key when the primary key is
updated:
NULL
if its primary key
has been updated
=>
What happens to the foreign key when primary is
deleted.
=>
foreign key name (may be null
)
=>
primary key name (may be null
)
=>
can the evaluation of foreign key constraints be
deferred until commit
getImportedKeys
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; ""
retrieves those without a schema; null
means that the schema name should not
be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databaseResultSet
- each row is a primary key column descriptionSQLException
- if a database access error occursgetExportedKeys(java.lang.String, java.lang.String, java.lang.String)
public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
Each primary key column description has the following columns:
=>
table catalog
=>
table schema (may be null
)
=>
table name
=>
column name
=>
sequence number within primary key( a value of 1
represents the first column of the primary key, a value of 2 would represent the second
column within the primary key).
=>
primary key name
getPrimaryKeys
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; ""
retrieves those without a schema; null
means that the schema name should not
be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databaseResultSet
- each row is a primary key column descriptionSQLException
- if a database access error occurspublic ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
TABLE_TYPE
, TABLE_CAT
, TABLE_SCHEM
and TABLE_NAME
. Each table description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
)
=>
table name
=>
table type. Typical types are "TABLE", "VIEW",
"SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
=>
explanatory comment on the table
=>
the types catalog (may be null
)
=>
the types schema (may be null
)
=>
type name (may be null
)
=>
name of the designated "identifier"
column of a typed table (may be null
)
=>
specifies how values in SELF_REFERENCING_COL_NAME
are created. Values are "SYSTEM", "USER", "DERIVED". (may be null
)
Note: Some databases may not return information for all tables.
getTables
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the
databasetypes
- a list of table types, which must be from the list of table types returned from
getTableTypes()
,to include; null
returns all typesResultSet
- each row is a table descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
Only column descriptions matching the catalog, schema, table and column name criteria are
returned. They are ordered by TABLE_CAT
,TABLE_SCHEM
, TABLE_NAME
, and ORDINAL_POSITION
.
Each column description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
)
=>
table name
=>
column name
=>
SQL type from java.sql.Types
=>
Data source dependent type name, for a UDT the type
name is fully qualified
=>
column size.
=>
the number of fractional digits. Null is returned
for data types where DECIMAL_DIGITS is not applicable.
=>
Radix (typically either 10 or 2)
=>
is NULL allowed.
NULL
values
NULL
values
=>
comment describing column (may be null
)
=>
default value for the column, which should be
interpreted as a string when the value is enclosed in single quotes (may be null
)
=>
unused
=>
unused
=>
for char types the maximum number of bytes in the
column
=>
index of column in table (starting at 1)
=>
ISO rules are used to determine the nullability for
a column.
=>
catalog of table that is the scope of a reference
attribute (null
if DATA_TYPE isn't REF)
=>
schema of table that is the scope of a reference
attribute (null
if the DATA_TYPE isn't REF)
=>
table name that this the scope of a reference
attribute (null
if the DATA_TYPE isn't REF)
=>
source type of a distinct type or user-generated
Ref type, SQL type from java.sql.Types (null
if DATA_TYPE isn't DISTINCT or
user-generated REF)
=>
Indicates whether this column is auto
incremented
=>
Indicates whether this is a generated column
The COLUMN_SIZE column specifies the column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getColumns
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the
databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in
the databaseResultSet
- each row is a column descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException
Each foreign key column description has the following columns:
=>
primary key table catalog (may be null
)
=>
primary key table schema (may be null
)
=>
primary key table name
=>
primary key column name
=>
foreign key table catalog (may be null
)
being exported (may be null
)
=>
foreign key table schema (may be null
) being exported (may be null
)
=>
foreign key table name being exported
=>
foreign key column name being exported
=>
sequence number within foreign key( a value of 1
represents the first column of the foreign key, a value of 2 would represent the second
column within the foreign key).
=>
What happens to foreign key when primary is updated:
NULL
if its primary key
has been updated
=>
What happens to the foreign key when primary is
deleted.
NULL
if its primary key
has been deleted
=>
foreign key name (may be null
)
=>
primary key name (may be null
)
=>
can the evaluation of foreign key constraints be
deferred until commit
getExportedKeys
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in this database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; ""
retrieves those without a schema; null
means that the schema name should not
be used to narrow the searchtable
- a table name; must match the table name as it is stored in this databaseResultSet
object in which each row is a foreign key column descriptionSQLException
- if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String, org.mariadb.jdbc.MariaDbConnection)
public ResultSet getImportedKeysUsingInformationSchema(String catalog, String table) throws SQLException
catalog
- catalogtable
- tableSQLException
- exceptionpublic ResultSet getImportedKeysUsingShowCreateTable(String catalog, String table) throws Exception
catalog
- catalogtable
- tableException
- exceptionpublic ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
Each column description has the following columns:
=>
actual scope of result
=>
column name
=>
SQL data type from java.sql.Types
=>
Data source dependent type name, for a UDT the type
name is fully qualified
=>
precision
=>
not used
=>
scale - Null is returned for data types where
DECIMAL_DIGITS is not applicable.
=>
is this a pseudo column like an Oracle ROWID
The COLUMN_SIZE column represents the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getBestRowIdentifier
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; ""
retrieves those without a schema; null
means that the schema name should not
be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databasescope
- the scope of interest; use same values as SCOPEnullable
- include columns that are nullable.ResultSet
- each row is a column descriptionSQLException
- if a database access error occurspublic boolean generatedKeyAlwaysReturned()
generatedKeyAlwaysReturned
in interface DatabaseMetaData
public ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
Only column descriptions matching the catalog, schema, table and column name criteria are
returned. They are ordered by TABLE_CAT
,TABLE_SCHEM
, TABLE_NAME
and COLUMN_NAME
.
Each column description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
)
=>
table name
=>
column name
=>
SQL type from java.sql.Types
=>
column size.
=>
the number of fractional digits. Null is returned
for data types where DECIMAL_DIGITS is not applicable.
=>
Radix (typically either 10 or 2)
=>
The allowed usage for the column. The value
returned will correspond to the enum name returned by PseudoColumnUsage.name()
=>
comment describing column (may be null
)
=>
for char types the maximum number of bytes in the
column
=>
ISO rules are used to determine the nullability for
a column.
The COLUMN_SIZE column specifies the column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getPseudoColumns
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the
databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in
the databaseResultSet
- each row is a column descriptionSQLException
- if a database access error occursPseudoColumnUsage
public boolean allProceduresAreCallable()
allProceduresAreCallable
in interface DatabaseMetaData
public boolean allTablesAreSelectable()
allTablesAreSelectable
in interface DatabaseMetaData
public String getURL()
getURL
in interface DatabaseMetaData
public String getUserName()
getUserName
in interface DatabaseMetaData
public boolean isReadOnly()
isReadOnly
in interface DatabaseMetaData
public boolean nullsAreSortedHigh()
nullsAreSortedHigh
in interface DatabaseMetaData
public boolean nullsAreSortedLow()
nullsAreSortedLow
in interface DatabaseMetaData
public boolean nullsAreSortedAtStart()
nullsAreSortedAtStart
in interface DatabaseMetaData
public boolean nullsAreSortedAtEnd()
nullsAreSortedAtEnd
in interface DatabaseMetaData
public String getDatabaseProductName() throws SQLException
getDatabaseProductName
in interface DatabaseMetaData
SQLException
- in case of socket error.public String getDatabaseProductVersion()
getDatabaseProductVersion
in interface DatabaseMetaData
public String getDriverName()
getDriverName
in interface DatabaseMetaData
public String getDriverVersion()
getDriverVersion
in interface DatabaseMetaData
public int getDriverMajorVersion()
getDriverMajorVersion
in interface DatabaseMetaData
public int getDriverMinorVersion()
getDriverMinorVersion
in interface DatabaseMetaData
public boolean usesLocalFiles()
usesLocalFiles
in interface DatabaseMetaData
public boolean usesLocalFilePerTable()
usesLocalFilePerTable
in interface DatabaseMetaData
public boolean supportsMixedCaseIdentifiers() throws SQLException
supportsMixedCaseIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesUpperCaseIdentifiers()
storesUpperCaseIdentifiers
in interface DatabaseMetaData
public boolean storesLowerCaseIdentifiers() throws SQLException
storesLowerCaseIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesMixedCaseIdentifiers() throws SQLException
storesMixedCaseIdentifiers
in interface DatabaseMetaData
SQLException
public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException
supportsMixedCaseQuotedIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesUpperCaseQuotedIdentifiers()
storesUpperCaseQuotedIdentifiers
in interface DatabaseMetaData
public boolean storesLowerCaseQuotedIdentifiers() throws SQLException
storesLowerCaseQuotedIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesMixedCaseQuotedIdentifiers() throws SQLException
storesMixedCaseQuotedIdentifiers
in interface DatabaseMetaData
SQLException
public String getIdentifierQuoteString()
getIdentifierQuoteString
in interface DatabaseMetaData
public String getSQLKeywords()
getSQLKeywords
in interface DatabaseMetaData
public String getNumericFunctions()
getNumericFunctions
in interface DatabaseMetaData
public String getStringFunctions()
getStringFunctions
in interface DatabaseMetaData
public String getSystemFunctions()
getSystemFunctions
in interface DatabaseMetaData
public String getTimeDateFunctions()
getTimeDateFunctions
in interface DatabaseMetaData
public String getSearchStringEscape()
getSearchStringEscape
in interface DatabaseMetaData
public String getExtraNameCharacters()
getExtraNameCharacters
in interface DatabaseMetaData
public boolean supportsAlterTableWithAddColumn()
supportsAlterTableWithAddColumn
in interface DatabaseMetaData
public boolean supportsAlterTableWithDropColumn()
supportsAlterTableWithDropColumn
in interface DatabaseMetaData
public boolean supportsColumnAliasing()
supportsColumnAliasing
in interface DatabaseMetaData
public boolean nullPlusNonNullIsNull()
nullPlusNonNullIsNull
in interface DatabaseMetaData
public boolean supportsConvert()
supportsConvert
in interface DatabaseMetaData
public boolean supportsConvert(int fromType, int toType)
supportsConvert
in interface DatabaseMetaData
fromType
- the type to convert from; one of the type codes from the class java.sql.TypestoType
- the type to convert to; one of the type codes from the class java.sql.Typespublic boolean supportsTableCorrelationNames()
supportsTableCorrelationNames
in interface DatabaseMetaData
public boolean supportsDifferentTableCorrelationNames()
supportsDifferentTableCorrelationNames
in interface DatabaseMetaData
public boolean supportsExpressionsInOrderBy()
supportsExpressionsInOrderBy
in interface DatabaseMetaData
public boolean supportsOrderByUnrelated()
supportsOrderByUnrelated
in interface DatabaseMetaData
public boolean supportsGroupBy()
supportsGroupBy
in interface DatabaseMetaData
public boolean supportsGroupByUnrelated()
supportsGroupByUnrelated
in interface DatabaseMetaData
public boolean supportsGroupByBeyondSelect()
supportsGroupByBeyondSelect
in interface DatabaseMetaData
public boolean supportsLikeEscapeClause()
supportsLikeEscapeClause
in interface DatabaseMetaData
public boolean supportsMultipleResultSets()
supportsMultipleResultSets
in interface DatabaseMetaData
public boolean supportsMultipleTransactions()
supportsMultipleTransactions
in interface DatabaseMetaData
public boolean supportsNonNullableColumns()
supportsNonNullableColumns
in interface DatabaseMetaData
public boolean supportsMinimumSQLGrammar()
supportsMinimumSQLGrammar
in interface DatabaseMetaData
public boolean supportsCoreSQLGrammar()
supportsCoreSQLGrammar
in interface DatabaseMetaData
public boolean supportsExtendedSQLGrammar()
supportsExtendedSQLGrammar
in interface DatabaseMetaData
public boolean supportsANSI92EntryLevelSQL()
supportsANSI92EntryLevelSQL
in interface DatabaseMetaData
public boolean supportsANSI92IntermediateSQL()
supportsANSI92IntermediateSQL
in interface DatabaseMetaData
public boolean supportsANSI92FullSQL()
supportsANSI92FullSQL
in interface DatabaseMetaData
public boolean supportsIntegrityEnhancementFacility()
supportsIntegrityEnhancementFacility
in interface DatabaseMetaData
public boolean supportsOuterJoins()
supportsOuterJoins
in interface DatabaseMetaData
public boolean supportsFullOuterJoins()
supportsFullOuterJoins
in interface DatabaseMetaData
public boolean supportsLimitedOuterJoins()
supportsLimitedOuterJoins
in interface DatabaseMetaData
public String getSchemaTerm()
getSchemaTerm
in interface DatabaseMetaData
public String getProcedureTerm()
getProcedureTerm
in interface DatabaseMetaData
public String getCatalogTerm()
getCatalogTerm
in interface DatabaseMetaData
public boolean isCatalogAtStart()
isCatalogAtStart
in interface DatabaseMetaData
public String getCatalogSeparator()
getCatalogSeparator
in interface DatabaseMetaData
public boolean supportsSchemasInDataManipulation()
supportsSchemasInDataManipulation
in interface DatabaseMetaData
public boolean supportsSchemasInProcedureCalls()
supportsSchemasInProcedureCalls
in interface DatabaseMetaData
public boolean supportsSchemasInTableDefinitions()
supportsSchemasInTableDefinitions
in interface DatabaseMetaData
public boolean supportsSchemasInIndexDefinitions()
supportsSchemasInIndexDefinitions
in interface DatabaseMetaData
public boolean supportsSchemasInPrivilegeDefinitions()
supportsSchemasInPrivilegeDefinitions
in interface DatabaseMetaData
public boolean supportsCatalogsInDataManipulation()
supportsCatalogsInDataManipulation
in interface DatabaseMetaData
public boolean supportsCatalogsInProcedureCalls()
supportsCatalogsInProcedureCalls
in interface DatabaseMetaData
public boolean supportsCatalogsInTableDefinitions()
supportsCatalogsInTableDefinitions
in interface DatabaseMetaData
public boolean supportsCatalogsInIndexDefinitions()
supportsCatalogsInIndexDefinitions
in interface DatabaseMetaData
public boolean supportsCatalogsInPrivilegeDefinitions()
supportsCatalogsInPrivilegeDefinitions
in interface DatabaseMetaData
public boolean supportsPositionedDelete()
supportsPositionedDelete
in interface DatabaseMetaData
public boolean supportsPositionedUpdate()
supportsPositionedUpdate
in interface DatabaseMetaData
public boolean supportsSelectForUpdate()
supportsSelectForUpdate
in interface DatabaseMetaData
public boolean supportsStoredProcedures()
supportsStoredProcedures
in interface DatabaseMetaData
public boolean supportsSubqueriesInComparisons()
supportsSubqueriesInComparisons
in interface DatabaseMetaData
public boolean supportsSubqueriesInExists()
supportsSubqueriesInExists
in interface DatabaseMetaData
public boolean supportsSubqueriesInIns()
supportsSubqueriesInIns
in interface DatabaseMetaData
public boolean supportsSubqueriesInQuantifieds()
supportsSubqueriesInQuantifieds
in interface DatabaseMetaData
public boolean supportsCorrelatedSubqueries()
supportsCorrelatedSubqueries
in interface DatabaseMetaData
public boolean supportsUnion()
supportsUnion
in interface DatabaseMetaData
public boolean supportsUnionAll()
supportsUnionAll
in interface DatabaseMetaData
public boolean supportsOpenCursorsAcrossCommit()
supportsOpenCursorsAcrossCommit
in interface DatabaseMetaData
public boolean supportsOpenCursorsAcrossRollback()
supportsOpenCursorsAcrossRollback
in interface DatabaseMetaData
public boolean supportsOpenStatementsAcrossCommit()
supportsOpenStatementsAcrossCommit
in interface DatabaseMetaData
public boolean supportsOpenStatementsAcrossRollback()
supportsOpenStatementsAcrossRollback
in interface DatabaseMetaData
public int getMaxBinaryLiteralLength()
getMaxBinaryLiteralLength
in interface DatabaseMetaData
public int getMaxCharLiteralLength()
getMaxCharLiteralLength
in interface DatabaseMetaData
public int getMaxColumnNameLength()
getMaxColumnNameLength
in interface DatabaseMetaData
public int getMaxColumnsInGroupBy()
getMaxColumnsInGroupBy
in interface DatabaseMetaData
public int getMaxColumnsInIndex()
getMaxColumnsInIndex
in interface DatabaseMetaData
public int getMaxColumnsInOrderBy()
getMaxColumnsInOrderBy
in interface DatabaseMetaData
public int getMaxColumnsInSelect()
getMaxColumnsInSelect
in interface DatabaseMetaData
public int getMaxColumnsInTable()
getMaxColumnsInTable
in interface DatabaseMetaData
public int getMaxConnections()
getMaxConnections
in interface DatabaseMetaData
public int getMaxCursorNameLength()
getMaxCursorNameLength
in interface DatabaseMetaData
public int getMaxIndexLength()
getMaxIndexLength
in interface DatabaseMetaData
public int getMaxSchemaNameLength()
getMaxSchemaNameLength
in interface DatabaseMetaData
public int getMaxProcedureNameLength()
getMaxProcedureNameLength
in interface DatabaseMetaData
public int getMaxCatalogNameLength()
getMaxCatalogNameLength
in interface DatabaseMetaData
public int getMaxRowSize()
getMaxRowSize
in interface DatabaseMetaData
public boolean doesMaxRowSizeIncludeBlobs()
doesMaxRowSizeIncludeBlobs
in interface DatabaseMetaData
public int getMaxStatementLength()
getMaxStatementLength
in interface DatabaseMetaData
public int getMaxStatements()
getMaxStatements
in interface DatabaseMetaData
public int getMaxTableNameLength()
getMaxTableNameLength
in interface DatabaseMetaData
public int getMaxTablesInSelect()
getMaxTablesInSelect
in interface DatabaseMetaData
public int getMaxUserNameLength()
getMaxUserNameLength
in interface DatabaseMetaData
public int getDefaultTransactionIsolation()
getDefaultTransactionIsolation
in interface DatabaseMetaData
public boolean supportsTransactions()
commit
is a noop, and the isolation level is TRANSACTION_NONE
.supportsTransactions
in interface DatabaseMetaData
true
if transactions are supported; false
otherwisepublic boolean supportsTransactionIsolationLevel(int level)
supportsTransactionIsolationLevel
in interface DatabaseMetaData
level
- one of the transaction isolation levels defined in java.sql.Connection
true
if so; false
otherwiseConnection
public boolean supportsDataDefinitionAndDataManipulationTransactions()
supportsDataDefinitionAndDataManipulationTransactions
in interface DatabaseMetaData
public boolean supportsDataManipulationTransactionsOnly()
supportsDataManipulationTransactionsOnly
in interface DatabaseMetaData
public boolean dataDefinitionCausesTransactionCommit()
dataDefinitionCausesTransactionCommit
in interface DatabaseMetaData
public boolean dataDefinitionIgnoredInTransactions()
dataDefinitionIgnoredInTransactions
in interface DatabaseMetaData
public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException
PROCEDURE_CAT
, PROCEDURE_SCHEM
, PROCEDURE_NAME
and
SPECIFIC_ NAME
.
Each procedure description has the the following columns:
=>
procedure catalog (may be null
)
=>
procedure schema (may be null
)
=>
procedure name
=>
explanatory comment on the procedure
=>
kind of procedure:
=>
The name which uniquely identifies this procedure
within its schema.
A user may not have permissions to execute any of the procedures that are returned by
getProcedures
getProcedures
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchprocedureNamePattern
- a procedure name pattern; must match the procedure name as it is
stored in the databaseResultSet
- each row is a procedure descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException
Only descriptions matching the schema, procedure and parameter name criteria are returned. They are ordered by PROCEDURE_CAT, PROCEDURE_SCHEM, PROCEDURE_NAME and SPECIFIC_NAME. Within this, the return value, if any, is first. Next are the parameter descriptions in call order. The column descriptions follow in column number order.
Each row in the ResultSet
is a parameter description or column description with
the following fields:
=>
procedure catalog (may be null
)
=>
procedure schema (may be null
)
=>
procedure name
=>
column/parameter name
=>
kind of column/parameter:
ResultSet
=>
SQL type from java.sql.Types
=>
SQL type name, for a UDT type the type name is fully
qualified
=>
precision
=>
length in bytes of data
=>
scale - null is returned for data types where SCALE is not
applicable.
=>
radix
=>
can it contain NULL.
=>
comment describing parameter/column
=>
default value for the column, which should be
interpreted as a string when the value is enclosed in single quotes (may be null
)
=>
reserved for future use
=>
reserved for future use
=>
the maximum length of binary and character based
columns. For any other datatype the returned value is a NULL
=>
the ordinal position, starting from 1, for the
input and output parameters for a procedure. A value of 0 is returned if this row
describes the procedure's return value. For result set columns, it is the ordinal
position of the column in the result set starting from 1. If there are multiple result
sets, the column ordinal positions are implementation defined.
=>
ISO rules are used to determine the nullability for
a column.
=>
the name which uniquely identifies this procedure
within its schema.
Note: Some databases may not return the column descriptions for a procedure.
The PRECISION column represents the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getProcedureColumns
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchprocedureNamePattern
- a procedure name pattern; must match the procedure name as it is
stored in the databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in
the databaseResultSet
- each row describes a stored procedure parameter or columnSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException
Only descriptions matching the schema, function and parameter name criteria are returned.
They are ordered by FUNCTION_CAT
, FUNCTION_SCHEM
, FUNCTION_NAME
and SPECIFIC_ NAME
. Within this, the return value, if any, is first. Next
are the parameter descriptions in call order. The column descriptions follow in column number
order.
Each row in the ResultSet
is a parameter description, column description or
return type description with the following fields:
=>
function catalog (may be null
)
=>
function schema (may be null
)
=>
function name. This is the name used to invoke the
function
=>
column/parameter name
=>
kind of column/parameter:
ResultSet
=>
SQL type from java.sql.Types
=>
SQL type name, for a UDT type the type name is fully
qualified
=>
precision
=>
length in bytes of data
=>
scale - null is returned for data types where SCALE is not
applicable.
=>
radix
=>
can it contain NULL.
=>
comment describing column/parameter
=>
the maximum length of binary and character based
parameters or columns. For any other datatype the returned value is a NULL
=>
the ordinal position, starting from 1, for the
input and output parameters. A value of 0 is returned if this row describes the
function's return value. For result set columns, it is the ordinal position of the column
in the result set starting from 1.
=>
ISO rules are used to determine the nullability for
a parameter or column.
=>
the name which uniquely identifies this function
within its schema. This is a user specified, or DBMS generated, name that may be
different then the FUNCTION_NAME
for example with overload functions
The PRECISION column represents the specified column size for the given parameter or column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getFunctionColumns
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchfunctionNamePattern
- a procedure name pattern; must match the function name as it is
stored in the databasecolumnNamePattern
- a parameter name pattern; must match the parameter or column name as
it is stored in the databaseResultSet
- each row describes a user function parameter, column or return
typeSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getSchemas() throws SQLException
getSchemas
in interface DatabaseMetaData
SQLException
public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLException
getSchemas
in interface DatabaseMetaData
SQLException
public ResultSet getCatalogs() throws SQLException
getCatalogs
in interface DatabaseMetaData
SQLException
public ResultSet getTableTypes() throws SQLException
getTableTypes
in interface DatabaseMetaData
SQLException
public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException
Only privileges matching the column name criteria are returned. They are ordered by COLUMN_NAME and PRIVILEGE.
Each privilege description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
)
=>
table name
=>
column name
=>
grantor of access (may be null
)
=>
grantee of access
=>
name of access (SELECT, INSERT, UPDATE, REFRENCES,
...)
=>
"YES" if grantee is permitted to grant to others;
"NO" if not; null
if unknown
getColumnPrivileges
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; ""
retrieves those without a schema; null
means that the schema name should not
be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in
the databaseResultSet
- each row is a column privilege descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
Only privileges matching the schema and table name criteria are returned. They are ordered
by TABLE_CAT
, TABLE_SCHEM
, TABLE_NAME
, and
PRIVILEGE
.
Each privilege description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
)
=>
table name
=>
grantor of access (may be null
)
=>
grantee of access
=>
name of access (SELECT, INSERT, UPDATE, REFRENCES,
...)
=>
"YES" if grantee is permitted to grant to others;
"NO" if not; null
if unknown
getTablePrivileges
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the
databaseResultSet
- each row is a table privilege descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getVersionColumns(String catalog, String schema, String table) throws SQLException
Each column description has the following columns:
=>
is not used
=>
column name
=>
SQL data type from java.sql.Types
=>
Data source-dependent type name
=>
precision
=>
length of column value in bytes
=>
scale - Null is returned for data types where
DECIMAL_DIGITS is not applicable.
=>
whether this is pseudo column like an Oracle ROWID
The COLUMN_SIZE column represents the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getVersionColumns
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog;null
means that the catalog name should not
be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; ""
retrieves those without a schema; null
means that the schema name should not
be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databaseResultSet
object in which each row is a column descriptionSQLException
- if a database access error occurspublic ResultSet getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException
Each foreign key column description has the following columns:
=>
parent key table catalog (may be null
)
=>
parent key table schema (may be null
)
=>
parent key table name
=>
parent key column name
=>
foreign key table catalog (may be null
)
being exported (may be null
)
=>
foreign key table schema (may be null
) being exported (may be null
)
=>
foreign key table name being exported
=>
foreign key column name being exported
=>
sequence number within foreign key( a value of 1
represents the first column of the foreign key, a value of 2 would represent the second
column within the foreign key).
=>
What happens to foreign key when parent key is
updated:
NULL
if its parent key has
been updated
=>
What happens to the foreign key when parent key is
deleted.
NULL
if its primary key
has been deleted
=>
foreign key name (may be null
)
=>
parent key name (may be null
)
=>
can the evaluation of foreign key constraints be
deferred until commit
getCrossReference
in interface DatabaseMetaData
parentCatalog
- a catalog name; must match the catalog name as it is stored in the
database; "" retrieves those without a catalog; null
means drop catalog name
from the selection criteriaparentSchema
- a schema name; must match the schema name as it is stored in the database;
"" retrieves those without a schema; null
means drop schema name from the
selection criteriaparentTable
- the name of the table that exports the key; must match the table name as it
is stored in the databaseforeignCatalog
- a catalog name; must match the catalog name as it is stored in the
database; "" retrieves those without a catalog; null
means drop catalog name
from the selection criteriaforeignSchema
- a schema name; must match the schema name as it is stored in the database;
"" retrieves those without a schema; null
means drop schema name from the
selection criteriaforeignTable
- the name of the table that imports the key; must match the table name as it
is stored in the databaseResultSet
- each row is a foreign key column descriptionSQLException
- if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String, org.mariadb.jdbc.MariaDbConnection)
public ResultSet getTypeInfo()
If the database supports SQL distinct types, then getTypeInfo() will return a single row with a TYPE_NAME of DISTINCT and a DATA_TYPE of Types.DISTINCT. If the database supports SQL structured types, then getTypeInfo() will return a single row with a TYPE_NAME of STRUCT and a DATA_TYPE of Types.STRUCT.
If SQL distinct or structured types are supported, then information on the individual types may be obtained from the getUDTs() method.
Each type description has the following columns:
=>
Type name
=>
SQL data type from java.sql.Types
=>
maximum precision
=>
prefix used to quote a literal (may be null
)
=>
suffix used to quote a literal (may be null
)
=>
parameters used in creating the type (may be
null
)
=>
can you use NULL for this type.
=>
is it case sensitive.
=>
can you use "WHERE" based on this type:
=>
is it unsigned.
=>
can it be a money value.
=>
can it be used for an auto-increment value.
=>
localized version of type name (may be
null
)
=>
minimum scale supported
=>
maximum scale supported
=>
unused
=>
unused
=>
usually 2 or 10
The PRECISION column represents the maximum column size that the server supports for the given datatype. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getTypeInfo
in interface DatabaseMetaData
ResultSet
object in which each row is an SQL type descriptionpublic ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
Each index column description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
)
=>
table name
=>
Can index values be non-unique. false when TYPE is
tableIndexStatistic
=>
index catalog (may be null
);
null
when TYPE is tableIndexStatistic
=>
index name; null
when TYPE is
tableIndexStatistic
=>
index type:
=>
column sequence number within index; zero when
TYPE is tableIndexStatistic
=>
column name; null
when TYPE is
tableIndexStatistic
=>
column sort sequence, "A" =>
ascending, "D"
=>
descending, may be null
if sort sequence is not supported;
null
when TYPE is tableIndexStatistic
=>
When TYPE is tableIndexStatistic, then this is the
number of rows in the table; otherwise, it is the number of unique values in the index.
=>
When TYPE is tableIndexStatisic then this is the number of
pages used for the table, otherwise it is the number of pages used for the current index.
=>
Filter condition, if any. (may be null
)
getIndexInfo
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in this database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in this database; ""
retrieves those without a schema; null
means that the schema name should not
be used to narrow the searchtable
- a table name; must match the table name as it is stored in this databaseunique
- when true, return only indices for unique values; when false, return indices
regardless of whether unique or notapproximate
- when true, result is allowed to reflect approximate or out of data values;
when false, results are requested to be accurateResultSet
- each row is an index column descriptionSQLException
- if a database access error occurspublic boolean supportsResultSetType(int type)
supportsResultSetType
in interface DatabaseMetaData
type
- one of the following ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY
ResultSet.TYPE_SCROLL_INSENSITIVE
ResultSet.TYPE_SCROLL_SENSITIVE
public boolean supportsResultSetConcurrency(int type, int concurrency)
supportsResultSetConcurrency
in interface DatabaseMetaData
type
- one of the following ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY
ResultSet.TYPE_SCROLL_INSENSITIVE
ResultSet.TYPE_SCROLL_SENSITIVE
concurrency
- one of the following ResultSet
constants:
ResultSet.CONCUR_READ_ONLY
ResultSet.CONCUR_UPDATABLE
public boolean ownUpdatesAreVisible(int type)
ownUpdatesAreVisible
in interface DatabaseMetaData
public boolean ownDeletesAreVisible(int type)
ownDeletesAreVisible
in interface DatabaseMetaData
public boolean ownInsertsAreVisible(int type)
ownInsertsAreVisible
in interface DatabaseMetaData
public boolean othersUpdatesAreVisible(int type)
othersUpdatesAreVisible
in interface DatabaseMetaData
public boolean othersDeletesAreVisible(int type)
othersDeletesAreVisible
in interface DatabaseMetaData
public boolean othersInsertsAreVisible(int type)
othersInsertsAreVisible
in interface DatabaseMetaData
public boolean updatesAreDetected(int type)
updatesAreDetected
in interface DatabaseMetaData
public boolean deletesAreDetected(int type)
deletesAreDetected
in interface DatabaseMetaData
public boolean insertsAreDetected(int type)
insertsAreDetected
in interface DatabaseMetaData
public boolean supportsBatchUpdates()
supportsBatchUpdates
in interface DatabaseMetaData
public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException
JAVA_OBJECT
, STRUCT
, or
DISTINCT
.
Only types matching the catalog, schema, type name and type criteria are returned. They are
ordered by DATA_TYPE
, TYPE_CAT
, TYPE_SCHEM
and
TYPE_NAME
. The type name parameter may be a fully-qualified name. In this case, the
catalog and schemaPattern parameters are ignored.
Each type description has the following columns:
=>
the type's catalog (may be null
)
=>
type's schema (may be null
)
=>
type name
=>
Java class name
=>
type value defined in java.sql.Types. One of JAVA_OBJECT,
STRUCT, or DISTINCT
=>
explanatory comment on the type
=>
type code of the source type of a DISTINCT type or the
type that implements the user-generated reference type of the SELF_REFERENCING_COLUMN of
a structured type as defined in java.sql.Types (null
if DATA_TYPE is not
DISTINCT or not STRUCT with REFERENCE_GENERATION = USER_DEFINED)
Note: If the driver does not support UDTs, an empty result set is returned.
getUDTs
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema pattern name; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchtypeNamePattern
- a type name pattern; must match the type name as it is stored in the
database; may be a fully qualified nametypes
- a list of user-defined types (JAVA_OBJECT, STRUCT, or DISTINCT) to include;
null
returns all typesResultSet
object in which each row describes a UDTSQLException
- if a database access error occursgetSearchStringEscape()
public Connection getConnection()
getConnection
in interface DatabaseMetaData
public boolean supportsSavepoints()
supportsSavepoints
in interface DatabaseMetaData
public boolean supportsNamedParameters()
supportsNamedParameters
in interface DatabaseMetaData
public boolean supportsMultipleOpenResults()
supportsMultipleOpenResults
in interface DatabaseMetaData
public boolean supportsGetGeneratedKeys()
supportsGetGeneratedKeys
in interface DatabaseMetaData
public ResultSet getSuperTypes(String catalog, String schemaPattern, String typeNamePattern) throws SQLException
ResultSet
object
returned by this method describes the designated UDT and a direct supertype. A row has the
following columns:
=>
the UDT's catalog (may be null
)
=>
UDT's schema (may be null
)
=>
type name of the UDT
=>
the direct super type's catalog (may be null
)
=>
the direct super type's schema (may be
null
)
=>
the direct super type's name
Note: If the driver does not support type hierarchies, an empty result set is returned.
getSuperTypes
in interface DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a catalog; null
means
drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those without a schematypeNamePattern
- a UDT name pattern; may be a fully-qualified nameResultSet
object in which a row gives information about the designated
UDTSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
Only supertable information for tables matching the catalog, schema and table name are returned. The table name parameter may be a fully-qualified name, in which case, the catalog and schemaPattern parameters are ignored. If a table does not have a super table, it is not listed here. Supertables have to be defined in the same catalog and schema as the sub tables. Therefore, the type description does not need to include this information for the supertable.
Each type description has the following columns:
=>
the type's catalog (may be null
)
=>
type's schema (may be null
)
=>
type name
=>
the direct super type's name
Note: If the driver does not support type hierarchies, an empty result set is returned.
getSuperTables
in interface DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a catalog; null
means
drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those without a schematableNamePattern
- a table name pattern; may be a fully-qualified nameResultSet
object in which each row is a type descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException
TYPE_CAT
, TYPE_SCHEM
, TYPE_NAME
and
ORDINAL_POSITION
. This description does not contain inherited attributes. The
ResultSet
object that is returned has the following columns:
=>
type catalog (may be null
)
=>
type schema (may be null
)
=>
type name
=>
attribute name
=>
attribute type SQL type from java.sql.Types
=>
Data source dependent type name. For a UDT, the
type name is fully qualified. For a REF, the type name is fully qualified and represents
the target type of the reference type.
=>
column size. For char or date types this is the maximum
number of characters; for numeric or decimal types this is precision.
=>
the number of fractional digits. Null is returned
for data types where DECIMAL_DIGITS is not applicable.
=>
Radix (typically either 10 or 2)
=>
whether NULL is allowed
=>
comment describing column (may be null
)
=>
default value (may benull
)
=>
unused
=>
unused
=>
for char types the maximum number of bytes in the
column
=>
index of the attribute in the UDT (starting at 1)
=>
ISO rules are used to determine the nullability for
a attribute.
=>
catalog of table that is the scope of a reference
attribute (null
if DATA_TYPE isn't REF)
=>
schema of table that is the scope of a reference
attribute (null
if DATA_TYPE isn't REF)
=>
table name that is the scope of a reference
attribute (null
if the DATA_TYPE isn't REF)
=>
source type of a distinct type or user-generated
Ref type,SQL type from java.sql.Types (null
if DATA_TYPE isn't DISTINCT or
user-generated REF)
getAttributes
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchtypeNamePattern
- a type name pattern; must match the type name as it is stored in the
databaseattributeNamePattern
- an attribute name pattern; must match the attribute name as it is
declared in the databaseResultSet
object in which each row is an attribute descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public boolean supportsResultSetHoldability(int holdability)
supportsResultSetHoldability
in interface DatabaseMetaData
public int getResultSetHoldability()
getResultSetHoldability
in interface DatabaseMetaData
public int getDatabaseMajorVersion()
getDatabaseMajorVersion
in interface DatabaseMetaData
public int getDatabaseMinorVersion()
getDatabaseMinorVersion
in interface DatabaseMetaData
public int getJDBCMajorVersion()
getJDBCMajorVersion
in interface DatabaseMetaData
public int getJDBCMinorVersion()
getJDBCMinorVersion
in interface DatabaseMetaData
public int getSQLStateType()
getSQLStateType
in interface DatabaseMetaData
public boolean locatorsUpdateCopy()
locatorsUpdateCopy
in interface DatabaseMetaData
public boolean supportsStatementPooling()
supportsStatementPooling
in interface DatabaseMetaData
public RowIdLifetime getRowIdLifetime()
getRowIdLifetime
in interface DatabaseMetaData
public boolean supportsStoredFunctionsUsingCallSyntax()
supportsStoredFunctionsUsingCallSyntax
in interface DatabaseMetaData
public boolean autoCommitFailureClosesAllResultSets()
autoCommitFailureClosesAllResultSets
in interface DatabaseMetaData
public ResultSet getClientInfoProperties()
The ResultSet is sorted by the NAME column
getClientInfoProperties
in interface DatabaseMetaData
public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException
FUNCTION_CAT
, FUNCTION_SCHEM
,
FUNCTION_NAME
and SPECIFIC_ NAME
.
Each function description has the the following columns:
=>
function catalog (may be null
)
=>
function schema (may be null
)
=>
function name. This is the name used to invoke the
function
=>
explanatory comment on the function
=>
kind of function:
=>
the name which uniquely identifies this function
within its schema. This is a user specified, or DBMS generated, name that may be
different then the FUNCTION_NAME
for example with overload functions
A user may not have permission to execute any of the functions that are returned by
getFunctions
getFunctions
in interface DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name should not
be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the
database; "" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchfunctionNamePattern
- a function name pattern; must match the function name as it is
stored in the databaseResultSet
- each row is a function descriptionSQLException
- if a database access error occursgetSearchStringEscape()
public boolean isWrapperFor(Class<?> iface)
isWrapperFor
in interface Wrapper
public long getMaxLogicalLobSize()
getMaxLogicalLobSize
in interface DatabaseMetaData
public boolean supportsRefCursors()
supportsRefCursors
in interface DatabaseMetaData
Copyright © 2019 mariadb.org. All rights reserved.