public class MariaDbDatabaseMetaData
extends java.lang.Object
implements java.sql.DatabaseMetaData
| Modifier and Type | Field and Description |
|---|---|
private MariaDbConnection |
connection |
private boolean |
datePrecisionColumnExist |
static java.lang.String |
DRIVER_NAME |
private UrlParser |
urlParser |
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(java.sql.Connection connection,
UrlParser urlParser)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
allProceduresAreCallable() |
boolean |
allTablesAreSelectable() |
boolean |
autoCommitFailureClosesAllResultSets() |
private java.lang.String |
catalogCond(java.lang.String columnName,
java.lang.String catalog)
Generate part of the information schema query that restricts catalog names In the driver,
catalogs is the equivalent to MariaDB schemas.
|
private static java.lang.String |
columnTypeClause(Options options) |
boolean |
dataDefinitionCausesTransactionCommit() |
boolean |
dataDefinitionIgnoredInTransactions() |
private java.lang.String |
dataTypeClause(java.lang.String fullTypeColumnName) |
boolean |
deletesAreDetected(int type) |
boolean |
doesMaxRowSizeIncludeBlobs() |
private java.lang.String |
escapeQuote(java.lang.String value) |
private java.sql.ResultSet |
executeQuery(java.lang.String sql) |
boolean |
generatedKeyAlwaysReturned() |
java.sql.ResultSet |
getAttributes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.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.
|
java.sql.ResultSet |
getBestRowIdentifier(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
int scope,
boolean nullable)
Retrieves a description of a table's optimal set of columns that uniquely identifies a row.
|
java.sql.ResultSet |
getCatalogs() |
java.lang.String |
getCatalogSeparator() |
java.lang.String |
getCatalogTerm() |
java.sql.ResultSet |
getClientInfoProperties()
Retrieves a list of the client info properties that the driver supports.
|
java.sql.ResultSet |
getColumnPrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String columnNamePattern)
Retrieves a description of the access rights for a table's columns.
|
java.sql.ResultSet |
getColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of table columns available in the specified catalog.
|
java.sql.Connection |
getConnection() |
java.sql.ResultSet |
getCrossReference(java.lang.String parentCatalog,
java.lang.String parentSchema,
java.lang.String parentTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.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() |
java.lang.String |
getDatabaseProductName()
Return Server type.
|
java.lang.String |
getDatabaseProductVersion() |
int |
getDefaultTransactionIsolation() |
int |
getDriverMajorVersion() |
int |
getDriverMinorVersion() |
java.lang.String |
getDriverName() |
java.lang.String |
getDriverVersion() |
java.sql.ResultSet |
getExportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.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).
|
java.lang.String |
getExtraNameCharacters() |
java.sql.ResultSet |
getFunctionColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the given catalog's system or user function parameters and return
type.
|
java.sql.ResultSet |
getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern)
Retrieves a description of the system and user functions available in the given catalog.
|
java.lang.String |
getIdentifierQuoteString() |
private static int |
getImportedKeyAction(java.lang.String actionKey) |
java.sql.ResultSet |
getImportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.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).
|
private static java.sql.ResultSet |
getImportedKeys(java.lang.String tableDef,
java.lang.String tableName,
java.lang.String catalog,
MariaDbConnection connection)
Get imported keys.
|
java.sql.ResultSet |
getImportedKeysUsingInformationSchema(java.lang.String catalog,
java.lang.String table)
GetImportedKeysUsingInformationSchema.
|
java.sql.ResultSet |
getImportedKeysUsingShowCreateTable(java.lang.String catalog,
java.lang.String table)
GetImportedKeysUsingShowCreateTable.
|
java.sql.ResultSet |
getIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.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() |
java.lang.String |
getNumericFunctions()
List of numeric functions.
|
java.sql.ResultSet |
getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Retrieves a description of the given table's primary key columns.
|
java.sql.ResultSet |
getProcedureColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the given catalog's stored procedure parameter and result columns.
|
java.sql.ResultSet |
getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
Retrieves a description of the stored procedures available in the given catalog.
|
java.lang.String |
getProcedureTerm() |
java.sql.ResultSet |
getPseudoColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the pseudo or hidden columns available in a given table within the
specified catalog and schema.
|
int |
getResultSetHoldability() |
java.sql.RowIdLifetime |
getRowIdLifetime() |
java.sql.ResultSet |
getSchemas() |
java.sql.ResultSet |
getSchemas(java.lang.String catalog,
java.lang.String schemaPattern) |
java.lang.String |
getSchemaTerm() |
java.lang.String |
getSearchStringEscape() |
java.lang.String |
getSQLKeywords()
Retrieves a comma-separated list of all of this database's SQL keywords that are NOT also
SQL:2003 keywords.
|
int |
getSQLStateType() |
java.lang.String |
getStringFunctions()
List of string functions.
|
java.sql.ResultSet |
getSuperTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Retrieves a description of the table hierarchies defined in a particular schema in this
database.
|
java.sql.ResultSet |
getSuperTypes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern)
Retrieves a description of the user-defined type (UDT) hierarchies defined in a particular
schema in this database.
|
java.lang.String |
getSystemFunctions()
List of system functions.
|
java.sql.ResultSet |
getTablePrivileges(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Retrieves a description of the access rights for each table available in a catalog.
|
java.sql.ResultSet |
getTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types)
Retrieves a description of the tables available in the given catalog.
|
java.sql.ResultSet |
getTableTypes() |
java.lang.String |
getTimeDateFunctions()
List of time and date functions.
|
java.sql.ResultSet |
getTypeInfo()
Retrieves a description of all the data types supported by this database.
|
java.sql.ResultSet |
getUDTs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
int[] types)
Retrieves a description of the user-defined types (UDTs) defined in a particular schema.
|
java.lang.String |
getURL() |
java.lang.String |
getUserName() |
java.sql.ResultSet |
getVersionColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Retrieves a description of a table's columns that are automatically updated when any value in a
row is updated.
|
private boolean |
haveInformationSchemaParameters() |
boolean |
insertsAreDetected(int type) |
boolean |
isCatalogAtStart() |
boolean |
isReadOnly() |
boolean |
isWrapperFor(java.lang.Class<?> iface) |
boolean |
locatorsUpdateCopy() |
private java.lang.String |
mapTableTypes(java.lang.String tableType)
Maps standard table types to MariaDB ones - helper since table type is never "table" in MariaDB, it
is "base table".
|
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) |
private static int |
parseIdentifier(char[] part,
int startPos,
Identifier identifier) |
private static int |
parseIdentifierList(char[] part,
int startPos,
java.util.List<Identifier> list) |
private java.lang.String |
patternCond(java.lang.String columnName,
java.lang.String tableName) |
private static int |
skipKeyword(char[] part,
int startPos,
java.lang.String keyword) |
private static int |
skipWhite(char[] part,
int startPos) |
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) |
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(java.lang.Class<T> iface) |
boolean |
updatesAreDetected(int type) |
boolean |
usesLocalFilePerTable() |
boolean |
usesLocalFiles() |
public static final java.lang.String DRIVER_NAME
private final MariaDbConnection connection
private final UrlParser urlParser
private boolean datePrecisionColumnExist
public MariaDbDatabaseMetaData(java.sql.Connection connection,
UrlParser urlParser)
connection - connectionurlParser - Url parserprivate static java.lang.String columnTypeClause(Options options)
private static int skipWhite(char[] part,
int startPos)
private static int parseIdentifier(char[] part,
int startPos,
Identifier identifier)
throws java.text.ParseException
java.text.ParseExceptionprivate static int parseIdentifierList(char[] part,
int startPos,
java.util.List<Identifier> list)
throws java.text.ParseException
java.text.ParseExceptionprivate static int skipKeyword(char[] part,
int startPos,
java.lang.String keyword)
throws java.text.ParseException
java.text.ParseExceptionprivate static int getImportedKeyAction(java.lang.String actionKey)
private static java.sql.ResultSet getImportedKeys(java.lang.String tableDef,
java.lang.String tableName,
java.lang.String catalog,
MariaDbConnection connection)
throws java.text.ParseException
tableDef - table definitiontableName - table namecatalog - catalogconnection - connectionjava.text.ParseException - exceptionpublic java.sql.ResultSet getImportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetExportedKeys(java.lang.String, java.lang.String, java.lang.String)private java.lang.String dataTypeClause(java.lang.String fullTypeColumnName)
private java.sql.ResultSet executeQuery(java.lang.String sql)
throws java.sql.SQLException
java.sql.SQLExceptionprivate java.lang.String escapeQuote(java.lang.String value)
private java.lang.String catalogCond(java.lang.String columnName,
java.lang.String catalog)
columnName - - column name in the information schema tablecatalog - - catalog name. This driver does not (always) follow JDBC standard for
following special values, due to ConnectorJ compatibility 1. empty string
("") - matches current catalog (i.e database). JDBC standard says only tables
without catalog should be returned - such tables do not exist in MariaDB. If
there is no current catalog, then empty string matches any catalog. 2. null -
if nullCatalogMeansCurrent=true (which is the default), then the handling is
the same as for "" . i.e return current catalog.JDBC-conforming way would be
to match any catalog with null parameter. This can be switched with
nullCatalogMeansCurrent=false in the connection URL.private java.lang.String patternCond(java.lang.String columnName,
java.lang.String tableName)
public java.sql.ResultSet getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursprivate java.lang.String mapTableTypes(java.lang.String tableType)
tableType - the table type defined by userpublic java.sql.ResultSet getTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getExportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String, org.mariadb.jdbc.MariaDbConnection)public java.sql.ResultSet getImportedKeysUsingInformationSchema(java.lang.String catalog,
java.lang.String table)
throws java.sql.SQLException
catalog - catalogtable - tablejava.sql.SQLException - exceptionpublic java.sql.ResultSet getImportedKeysUsingShowCreateTable(java.lang.String catalog,
java.lang.String table)
throws java.lang.Exception
catalog - catalogtable - tablejava.lang.Exception - exceptionpublic java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
int scope,
boolean nullable)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occurspublic boolean generatedKeyAlwaysReturned()
generatedKeyAlwaysReturned in interface java.sql.DatabaseMetaDatapublic java.sql.ResultSet getPseudoColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursPseudoColumnUsagepublic boolean allProceduresAreCallable()
allProceduresAreCallable in interface java.sql.DatabaseMetaDatapublic boolean allTablesAreSelectable()
allTablesAreSelectable in interface java.sql.DatabaseMetaDatapublic java.lang.String getURL()
getURL in interface java.sql.DatabaseMetaDatapublic java.lang.String getUserName()
getUserName in interface java.sql.DatabaseMetaDatapublic boolean isReadOnly()
isReadOnly in interface java.sql.DatabaseMetaDatapublic boolean nullsAreSortedHigh()
nullsAreSortedHigh in interface java.sql.DatabaseMetaDatapublic boolean nullsAreSortedLow()
nullsAreSortedLow in interface java.sql.DatabaseMetaDatapublic boolean nullsAreSortedAtStart()
nullsAreSortedAtStart in interface java.sql.DatabaseMetaDatapublic boolean nullsAreSortedAtEnd()
nullsAreSortedAtEnd in interface java.sql.DatabaseMetaDatapublic java.lang.String getDatabaseProductName()
throws java.sql.SQLException
getDatabaseProductName in interface java.sql.DatabaseMetaDatajava.sql.SQLException - in case of socket error.public java.lang.String getDatabaseProductVersion()
getDatabaseProductVersion in interface java.sql.DatabaseMetaDatapublic java.lang.String getDriverName()
getDriverName in interface java.sql.DatabaseMetaDatapublic java.lang.String getDriverVersion()
getDriverVersion in interface java.sql.DatabaseMetaDatapublic int getDriverMajorVersion()
getDriverMajorVersion in interface java.sql.DatabaseMetaDatapublic int getDriverMinorVersion()
getDriverMinorVersion in interface java.sql.DatabaseMetaDatapublic boolean usesLocalFiles()
usesLocalFiles in interface java.sql.DatabaseMetaDatapublic boolean usesLocalFilePerTable()
usesLocalFilePerTable in interface java.sql.DatabaseMetaDatapublic boolean supportsMixedCaseIdentifiers()
throws java.sql.SQLException
supportsMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesUpperCaseIdentifiers()
storesUpperCaseIdentifiers in interface java.sql.DatabaseMetaDatapublic boolean storesLowerCaseIdentifiers()
throws java.sql.SQLException
storesLowerCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesMixedCaseIdentifiers()
throws java.sql.SQLException
storesMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
supportsMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesUpperCaseQuotedIdentifiers()
storesUpperCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatapublic boolean storesLowerCaseQuotedIdentifiers()
throws java.sql.SQLException
storesLowerCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
storesMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getIdentifierQuoteString()
getIdentifierQuoteString in interface java.sql.DatabaseMetaDatapublic java.lang.String getSQLKeywords()
getSQLKeywords in interface java.sql.DatabaseMetaDatapublic java.lang.String getNumericFunctions()
getNumericFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getStringFunctions()
getStringFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getSystemFunctions()
getSystemFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getTimeDateFunctions()
getTimeDateFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getSearchStringEscape()
getSearchStringEscape in interface java.sql.DatabaseMetaDatapublic java.lang.String getExtraNameCharacters()
getExtraNameCharacters in interface java.sql.DatabaseMetaDatapublic boolean supportsAlterTableWithAddColumn()
supportsAlterTableWithAddColumn in interface java.sql.DatabaseMetaDatapublic boolean supportsAlterTableWithDropColumn()
supportsAlterTableWithDropColumn in interface java.sql.DatabaseMetaDatapublic boolean supportsColumnAliasing()
supportsColumnAliasing in interface java.sql.DatabaseMetaDatapublic boolean nullPlusNonNullIsNull()
nullPlusNonNullIsNull in interface java.sql.DatabaseMetaDatapublic boolean supportsConvert()
supportsConvert in interface java.sql.DatabaseMetaDatapublic boolean supportsConvert(int fromType,
int toType)
supportsConvert in interface java.sql.DatabaseMetaDatapublic boolean supportsTableCorrelationNames()
supportsTableCorrelationNames in interface java.sql.DatabaseMetaDatapublic boolean supportsDifferentTableCorrelationNames()
supportsDifferentTableCorrelationNames in interface java.sql.DatabaseMetaDatapublic boolean supportsExpressionsInOrderBy()
supportsExpressionsInOrderBy in interface java.sql.DatabaseMetaDatapublic boolean supportsOrderByUnrelated()
supportsOrderByUnrelated in interface java.sql.DatabaseMetaDatapublic boolean supportsGroupBy()
supportsGroupBy in interface java.sql.DatabaseMetaDatapublic boolean supportsGroupByUnrelated()
supportsGroupByUnrelated in interface java.sql.DatabaseMetaDatapublic boolean supportsGroupByBeyondSelect()
supportsGroupByBeyondSelect in interface java.sql.DatabaseMetaDatapublic boolean supportsLikeEscapeClause()
supportsLikeEscapeClause in interface java.sql.DatabaseMetaDatapublic boolean supportsMultipleResultSets()
supportsMultipleResultSets in interface java.sql.DatabaseMetaDatapublic boolean supportsMultipleTransactions()
supportsMultipleTransactions in interface java.sql.DatabaseMetaDatapublic boolean supportsNonNullableColumns()
supportsNonNullableColumns in interface java.sql.DatabaseMetaDatapublic boolean supportsMinimumSQLGrammar()
supportsMinimumSQLGrammar in interface java.sql.DatabaseMetaDatapublic boolean supportsCoreSQLGrammar()
supportsCoreSQLGrammar in interface java.sql.DatabaseMetaDatapublic boolean supportsExtendedSQLGrammar()
supportsExtendedSQLGrammar in interface java.sql.DatabaseMetaDatapublic boolean supportsANSI92EntryLevelSQL()
supportsANSI92EntryLevelSQL in interface java.sql.DatabaseMetaDatapublic boolean supportsANSI92IntermediateSQL()
supportsANSI92IntermediateSQL in interface java.sql.DatabaseMetaDatapublic boolean supportsANSI92FullSQL()
supportsANSI92FullSQL in interface java.sql.DatabaseMetaDatapublic boolean supportsIntegrityEnhancementFacility()
supportsIntegrityEnhancementFacility in interface java.sql.DatabaseMetaDatapublic boolean supportsOuterJoins()
supportsOuterJoins in interface java.sql.DatabaseMetaDatapublic boolean supportsFullOuterJoins()
supportsFullOuterJoins in interface java.sql.DatabaseMetaDatapublic boolean supportsLimitedOuterJoins()
supportsLimitedOuterJoins in interface java.sql.DatabaseMetaDatapublic java.lang.String getSchemaTerm()
getSchemaTerm in interface java.sql.DatabaseMetaDatapublic java.lang.String getProcedureTerm()
getProcedureTerm in interface java.sql.DatabaseMetaDatapublic java.lang.String getCatalogTerm()
getCatalogTerm in interface java.sql.DatabaseMetaDatapublic boolean isCatalogAtStart()
isCatalogAtStart in interface java.sql.DatabaseMetaDatapublic java.lang.String getCatalogSeparator()
getCatalogSeparator in interface java.sql.DatabaseMetaDatapublic boolean supportsSchemasInDataManipulation()
supportsSchemasInDataManipulation in interface java.sql.DatabaseMetaDatapublic boolean supportsSchemasInProcedureCalls()
supportsSchemasInProcedureCalls in interface java.sql.DatabaseMetaDatapublic boolean supportsSchemasInTableDefinitions()
supportsSchemasInTableDefinitions in interface java.sql.DatabaseMetaDatapublic boolean supportsSchemasInIndexDefinitions()
supportsSchemasInIndexDefinitions in interface java.sql.DatabaseMetaDatapublic boolean supportsSchemasInPrivilegeDefinitions()
supportsSchemasInPrivilegeDefinitions in interface java.sql.DatabaseMetaDatapublic boolean supportsCatalogsInDataManipulation()
supportsCatalogsInDataManipulation in interface java.sql.DatabaseMetaDatapublic boolean supportsCatalogsInProcedureCalls()
supportsCatalogsInProcedureCalls in interface java.sql.DatabaseMetaDatapublic boolean supportsCatalogsInTableDefinitions()
supportsCatalogsInTableDefinitions in interface java.sql.DatabaseMetaDatapublic boolean supportsCatalogsInIndexDefinitions()
supportsCatalogsInIndexDefinitions in interface java.sql.DatabaseMetaDatapublic boolean supportsCatalogsInPrivilegeDefinitions()
supportsCatalogsInPrivilegeDefinitions in interface java.sql.DatabaseMetaDatapublic boolean supportsPositionedDelete()
supportsPositionedDelete in interface java.sql.DatabaseMetaDatapublic boolean supportsPositionedUpdate()
supportsPositionedUpdate in interface java.sql.DatabaseMetaDatapublic boolean supportsSelectForUpdate()
supportsSelectForUpdate in interface java.sql.DatabaseMetaDatapublic boolean supportsStoredProcedures()
supportsStoredProcedures in interface java.sql.DatabaseMetaDatapublic boolean supportsSubqueriesInComparisons()
supportsSubqueriesInComparisons in interface java.sql.DatabaseMetaDatapublic boolean supportsSubqueriesInExists()
supportsSubqueriesInExists in interface java.sql.DatabaseMetaDatapublic boolean supportsSubqueriesInIns()
supportsSubqueriesInIns in interface java.sql.DatabaseMetaDatapublic boolean supportsSubqueriesInQuantifieds()
supportsSubqueriesInQuantifieds in interface java.sql.DatabaseMetaDatapublic boolean supportsCorrelatedSubqueries()
supportsCorrelatedSubqueries in interface java.sql.DatabaseMetaDatapublic boolean supportsUnion()
supportsUnion in interface java.sql.DatabaseMetaDatapublic boolean supportsUnionAll()
supportsUnionAll in interface java.sql.DatabaseMetaDatapublic boolean supportsOpenCursorsAcrossCommit()
supportsOpenCursorsAcrossCommit in interface java.sql.DatabaseMetaDatapublic boolean supportsOpenCursorsAcrossRollback()
supportsOpenCursorsAcrossRollback in interface java.sql.DatabaseMetaDatapublic boolean supportsOpenStatementsAcrossCommit()
supportsOpenStatementsAcrossCommit in interface java.sql.DatabaseMetaDatapublic boolean supportsOpenStatementsAcrossRollback()
supportsOpenStatementsAcrossRollback in interface java.sql.DatabaseMetaDatapublic int getMaxBinaryLiteralLength()
getMaxBinaryLiteralLength in interface java.sql.DatabaseMetaDatapublic int getMaxCharLiteralLength()
getMaxCharLiteralLength in interface java.sql.DatabaseMetaDatapublic int getMaxColumnNameLength()
getMaxColumnNameLength in interface java.sql.DatabaseMetaDatapublic int getMaxColumnsInGroupBy()
getMaxColumnsInGroupBy in interface java.sql.DatabaseMetaDatapublic int getMaxColumnsInIndex()
getMaxColumnsInIndex in interface java.sql.DatabaseMetaDatapublic int getMaxColumnsInOrderBy()
getMaxColumnsInOrderBy in interface java.sql.DatabaseMetaDatapublic int getMaxColumnsInSelect()
getMaxColumnsInSelect in interface java.sql.DatabaseMetaDatapublic int getMaxColumnsInTable()
getMaxColumnsInTable in interface java.sql.DatabaseMetaDatapublic int getMaxConnections()
getMaxConnections in interface java.sql.DatabaseMetaDatapublic int getMaxCursorNameLength()
getMaxCursorNameLength in interface java.sql.DatabaseMetaDatapublic int getMaxIndexLength()
getMaxIndexLength in interface java.sql.DatabaseMetaDatapublic int getMaxSchemaNameLength()
getMaxSchemaNameLength in interface java.sql.DatabaseMetaDatapublic int getMaxProcedureNameLength()
getMaxProcedureNameLength in interface java.sql.DatabaseMetaDatapublic int getMaxCatalogNameLength()
getMaxCatalogNameLength in interface java.sql.DatabaseMetaDatapublic int getMaxRowSize()
getMaxRowSize in interface java.sql.DatabaseMetaDatapublic boolean doesMaxRowSizeIncludeBlobs()
doesMaxRowSizeIncludeBlobs in interface java.sql.DatabaseMetaDatapublic int getMaxStatementLength()
getMaxStatementLength in interface java.sql.DatabaseMetaDatapublic int getMaxStatements()
getMaxStatements in interface java.sql.DatabaseMetaDatapublic int getMaxTableNameLength()
getMaxTableNameLength in interface java.sql.DatabaseMetaDatapublic int getMaxTablesInSelect()
getMaxTablesInSelect in interface java.sql.DatabaseMetaDatapublic int getMaxUserNameLength()
getMaxUserNameLength in interface java.sql.DatabaseMetaDatapublic int getDefaultTransactionIsolation()
getDefaultTransactionIsolation in interface java.sql.DatabaseMetaDatapublic boolean supportsTransactions()
commit is a noop, and the isolation level is
TRANSACTION_NONE.supportsTransactions in interface java.sql.DatabaseMetaDatatrue if transactions are supported; false otherwisepublic boolean supportsTransactionIsolationLevel(int level)
supportsTransactionIsolationLevel in interface java.sql.DatabaseMetaDatalevel - one of the transaction isolation levels defined in java.sql.Connectiontrue if so; false otherwiseConnectionpublic boolean supportsDataDefinitionAndDataManipulationTransactions()
supportsDataDefinitionAndDataManipulationTransactions in interface java.sql.DatabaseMetaDatapublic boolean supportsDataManipulationTransactionsOnly()
supportsDataManipulationTransactionsOnly in interface java.sql.DatabaseMetaDatapublic boolean dataDefinitionCausesTransactionCommit()
dataDefinitionCausesTransactionCommit in interface java.sql.DatabaseMetaDatapublic boolean dataDefinitionIgnoredInTransactions()
dataDefinitionIgnoredInTransactions in interface java.sql.DatabaseMetaDatapublic java.sql.ResultSet getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
throws java.sql.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.
getProceduresgetProcedures in interface java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()private boolean haveInformationSchemaParameters()
public java.sql.ResultSet getProcedureColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String columnNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 columnjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getFunctionColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern,
java.lang.String columnNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 typejava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getSchemas()
throws java.sql.SQLException
getSchemas in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getSchemas(java.lang.String catalog,
java.lang.String schemaPattern)
throws java.sql.SQLException
getSchemas in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getCatalogs()
throws java.sql.SQLException
getCatalogs in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getTableTypes()
throws java.sql.SQLException
getTableTypes in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getColumnPrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String columnNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getTablePrivileges(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getVersionColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getCrossReference(java.lang.String parentCatalog,
java.lang.String parentSchema,
java.lang.String parentTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.String foreignTable)
throws java.sql.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 java.sql.DatabaseMetaDataparentCatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String, org.mariadb.jdbc.MariaDbConnection)public java.sql.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 java.sql.DatabaseMetaDataResultSet object in which each row is an SQL type descriptionpublic java.sql.ResultSet getIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occurspublic boolean supportsResultSetType(int type)
supportsResultSetType in interface java.sql.DatabaseMetaDatatype - one of the following ResultSet constants:
ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVEpublic boolean supportsResultSetConcurrency(int type,
int concurrency)
supportsResultSetConcurrency in interface java.sql.DatabaseMetaDatatype - one of the following ResultSet constants:
ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVEconcurrency - one of the following ResultSet constants:
ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLEpublic boolean ownUpdatesAreVisible(int type)
ownUpdatesAreVisible in interface java.sql.DatabaseMetaDatapublic boolean ownDeletesAreVisible(int type)
ownDeletesAreVisible in interface java.sql.DatabaseMetaDatapublic boolean ownInsertsAreVisible(int type)
ownInsertsAreVisible in interface java.sql.DatabaseMetaDatapublic boolean othersUpdatesAreVisible(int type)
othersUpdatesAreVisible in interface java.sql.DatabaseMetaDatapublic boolean othersDeletesAreVisible(int type)
othersDeletesAreVisible in interface java.sql.DatabaseMetaDatapublic boolean othersInsertsAreVisible(int type)
othersInsertsAreVisible in interface java.sql.DatabaseMetaDatapublic boolean updatesAreDetected(int type)
updatesAreDetected in interface java.sql.DatabaseMetaDatapublic boolean deletesAreDetected(int type)
deletesAreDetected in interface java.sql.DatabaseMetaDatapublic boolean insertsAreDetected(int type)
insertsAreDetected in interface java.sql.DatabaseMetaDatapublic boolean supportsBatchUpdates()
supportsBatchUpdates in interface java.sql.DatabaseMetaDatapublic java.sql.ResultSet getUDTs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
int[] types)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 UDTjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.Connection getConnection()
getConnection in interface java.sql.DatabaseMetaDatapublic boolean supportsSavepoints()
supportsSavepoints in interface java.sql.DatabaseMetaDatapublic boolean supportsNamedParameters()
supportsNamedParameters in interface java.sql.DatabaseMetaDatapublic boolean supportsMultipleOpenResults()
supportsMultipleOpenResults in interface java.sql.DatabaseMetaDatapublic boolean supportsGetGeneratedKeys()
supportsGetGeneratedKeys in interface java.sql.DatabaseMetaDatapublic java.sql.ResultSet getSuperTypes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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
UDTjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getSuperTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getAttributes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.String attributeNamePattern)
throws java.sql.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 java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public boolean supportsResultSetHoldability(int holdability)
supportsResultSetHoldability in interface java.sql.DatabaseMetaDatapublic int getResultSetHoldability()
getResultSetHoldability in interface java.sql.DatabaseMetaDatapublic int getDatabaseMajorVersion()
getDatabaseMajorVersion in interface java.sql.DatabaseMetaDatapublic int getDatabaseMinorVersion()
getDatabaseMinorVersion in interface java.sql.DatabaseMetaDatapublic int getJDBCMajorVersion()
getJDBCMajorVersion in interface java.sql.DatabaseMetaDatapublic int getJDBCMinorVersion()
getJDBCMinorVersion in interface java.sql.DatabaseMetaDatapublic int getSQLStateType()
getSQLStateType in interface java.sql.DatabaseMetaDatapublic boolean locatorsUpdateCopy()
locatorsUpdateCopy in interface java.sql.DatabaseMetaDatapublic boolean supportsStatementPooling()
supportsStatementPooling in interface java.sql.DatabaseMetaDatapublic java.sql.RowIdLifetime getRowIdLifetime()
getRowIdLifetime in interface java.sql.DatabaseMetaDatapublic boolean supportsStoredFunctionsUsingCallSyntax()
supportsStoredFunctionsUsingCallSyntax in interface java.sql.DatabaseMetaDatapublic boolean autoCommitFailureClosesAllResultSets()
autoCommitFailureClosesAllResultSets in interface java.sql.DatabaseMetaDatapublic java.sql.ResultSet getClientInfoProperties()
getClientInfoProperties in interface java.sql.DatabaseMetaDatapublic java.sql.ResultSet getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern)
throws java.sql.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 functionsA user may not have
permission to execute any of the functions that are returned by getFunctions
getFunctions in interface java.sql.DatabaseMetaDatacatalog - 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 descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public <T> T unwrap(java.lang.Class<T> iface)
unwrap in interface java.sql.Wrapperpublic boolean isWrapperFor(java.lang.Class<?> iface)
isWrapperFor in interface java.sql.Wrapperpublic long getMaxLogicalLobSize()
getMaxLogicalLobSize in interface java.sql.DatabaseMetaDatapublic boolean supportsRefCursors()
supportsRefCursors in interface java.sql.DatabaseMetaData