Package org.h2.jdbc
Class JdbcDatabaseMetaData
- java.lang.Object
-
- org.h2.message.TraceObject
-
- org.h2.jdbc.JdbcDatabaseMetaData
-
- All Implemented Interfaces:
java.sql.DatabaseMetaData
,java.sql.Wrapper
,JdbcDatabaseMetaDataBackwardsCompat
public final class JdbcDatabaseMetaData extends TraceObject implements java.sql.DatabaseMetaData, JdbcDatabaseMetaDataBackwardsCompat
Represents the meta data for a database.
-
-
Field Summary
Fields Modifier and Type Field Description private JdbcConnection
conn
private DatabaseMeta
meta
-
Fields inherited from class org.h2.message.TraceObject
ARRAY, BLOB, CALLABLE_STATEMENT, CLOB, CONNECTION, DATA_SOURCE, DATABASE_META_DATA, PARAMETER_META_DATA, PREPARED_STATEMENT, RESULT_SET, RESULT_SET_META_DATA, SAVEPOINT, SQLXML, STATEMENT, trace, XA_DATA_SOURCE, XID
-
Fields inherited from interface java.sql.DatabaseMetaData
attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, functionColumnIn, functionColumnInOut, functionColumnOut, functionColumnResult, functionColumnUnknown, functionNoNulls, functionNoTable, functionNullable, functionNullableUnknown, functionResultUnknown, functionReturn, functionReturnsTable, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown
-
-
Constructor Summary
Constructors Constructor Description JdbcDatabaseMetaData(JdbcConnection conn, Trace trace, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allProceduresAreCallable()
Checks if all procedures callable.boolean
allTablesAreSelectable()
Checks if it possible to query all tables returned by getTables.boolean
autoCommitFailureClosesAllResultSets()
Returns whether an exception while auto commit is on closes all result sets.private void
checkClosed()
boolean
dataDefinitionCausesTransactionCommit()
Returns whether CREATE/DROP commit an open transaction.boolean
dataDefinitionIgnoredInTransactions()
Returns whether CREATE/DROP do not affect transactions.boolean
deletesAreDetected(int type)
Returns whether deletes are detected.boolean
doesMaxRowSizeIncludeBlobs()
Returns whether the maximum row size includes blobs.boolean
generatedKeyAlwaysReturned()
Returns whether database always returns generated keys if valid names or indexes of columns were specified and command was completed successfully.java.sql.ResultSet
getAttributes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String attributeNamePattern)
[Not supported]java.sql.ResultSet
getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable)
Gets the list of columns that best identifier a row in a table.java.sql.ResultSet
getCatalogs()
Gets the list of catalogs.java.lang.String
getCatalogSeparator()
Returns the catalog separator.java.lang.String
getCatalogTerm()
Returns the term for "catalog".java.sql.ResultSet
getClientInfoProperties()
java.sql.ResultSet
getColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern)
Gets the list of column privileges.java.sql.ResultSet
getColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)
Gets the list of columns.java.sql.Connection
getConnection()
Returns the connection that created this object.java.sql.ResultSet
getCrossReference(java.lang.String primaryCatalog, java.lang.String primarySchema, java.lang.String primaryTable, java.lang.String foreignCatalog, java.lang.String foreignSchema, java.lang.String foreignTable)
Gets the list of foreign key columns that references a table, as well as the list of primary key columns that are references by a table.int
getDatabaseMajorVersion()
Gets the major version of the database.int
getDatabaseMinorVersion()
Gets the minor version of the database.java.lang.String
getDatabaseProductName()
Gets the database product name.java.lang.String
getDatabaseProductVersion()
Gets the product version of the database.int
getDefaultTransactionIsolation()
Returns the default transaction isolation level.int
getDriverMajorVersion()
Returns the major version of this driver.int
getDriverMinorVersion()
Returns the minor version of this driver.java.lang.String
getDriverName()
Gets the name of the JDBC driver.java.lang.String
getDriverVersion()
Gets the version number of the driver.java.sql.ResultSet
getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
Gets the list of foreign key columns that reference a table.java.lang.String
getExtraNameCharacters()
Returns the characters that are allowed for identifiers in addiction to A-Z, a-z, 0-9 and '_'.java.sql.ResultSet
getFunctionColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern, java.lang.String columnNamePattern)
[Not supported] Gets the list of function columns.java.sql.ResultSet
getFunctions(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern)
[Not supported] Gets the list of functions.java.lang.String
getIdentifierQuoteString()
Returns the string used to quote identifiers.java.sql.ResultSet
getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
Gets the list of primary key columns that are referenced by a table.java.sql.ResultSet
getIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate)
Gets the list of indexes for this database.int
getJDBCMajorVersion()
Gets the major version of the supported JDBC API.int
getJDBCMinorVersion()
Gets the minor version of the supported JDBC API.int
getMaxBinaryLiteralLength()
Returns the maximum length for hex values (characters).int
getMaxCatalogNameLength()
Returns the maximum length for a catalog name.int
getMaxCharLiteralLength()
Returns the maximum length for literals.int
getMaxColumnNameLength()
Returns the maximum length for column names.int
getMaxColumnsInGroupBy()
Returns the maximum number of columns in GROUP BY.int
getMaxColumnsInIndex()
Returns the maximum number of columns in CREATE INDEX.int
getMaxColumnsInOrderBy()
Returns the maximum number of columns in ORDER BY.int
getMaxColumnsInSelect()
Returns the maximum number of columns in SELECT.int
getMaxColumnsInTable()
Returns the maximum number of columns in CREATE TABLE.int
getMaxConnections()
Returns the maximum number of open connection.int
getMaxCursorNameLength()
Returns the maximum length for a cursor name.int
getMaxIndexLength()
Returns the maximum length for an index (in bytes).int
getMaxProcedureNameLength()
Returns the maximum length for a procedure name.int
getMaxRowSize()
Returns the maximum size of a row (in bytes).int
getMaxSchemaNameLength()
Returns the maximum length for a schema name.int
getMaxStatementLength()
Returns the maximum length of a statement.int
getMaxStatements()
Returns the maximum number of open statements.int
getMaxTableNameLength()
Returns the maximum length for a table name.int
getMaxTablesInSelect()
Returns the maximum number of tables in a SELECT.int
getMaxUserNameLength()
Returns the maximum length for a user name.java.lang.String
getNumericFunctions()
Returns the list of numeric functions supported by this database.java.sql.ResultSet
getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
Gets the primary key columns for a table.java.sql.ResultSet
getProcedureColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern)
Gets the list of procedure columns.java.sql.ResultSet
getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern)
Gets the list of procedures.java.lang.String
getProcedureTerm()
Returns the term for "procedure".java.sql.ResultSet
getPseudoColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)
Gets the list of pseudo and invisible columns.private JdbcResultSet
getResultSet(ResultInterface result)
int
getResultSetHoldability()
Gets the result set holdability.java.sql.RowIdLifetime
getRowIdLifetime()
Get the lifetime of a rowid.java.sql.ResultSet
getSchemas()
Gets the list of schemas.java.sql.ResultSet
getSchemas(java.lang.String catalogPattern, java.lang.String schemaPattern)
Gets the list of schemas in the database.java.lang.String
getSchemaTerm()
Returns the term for "schema".java.lang.String
getSearchStringEscape()
Returns the default escape character for DatabaseMetaData search patterns.java.lang.String
getSQLKeywords()
Gets the comma-separated list of all SQL keywords that are not supported as unquoted identifiers, in addition to the SQL:2003 reserved words.int
getSQLStateType()
Gets the SQL State type.java.lang.String
getStringFunctions()
Returns the list of string functions supported by this database.java.sql.ResultSet
getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
Get the list of super tables of a table.java.sql.ResultSet
getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern)
[Not supported]java.lang.String
getSystemFunctions()
Returns the list of system functions supported by this database.java.sql.ResultSet
getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
Gets the list of table privileges.java.sql.ResultSet
getTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types)
Gets the list of tables in the database.java.sql.ResultSet
getTableTypes()
Gets the list of table types.java.lang.String
getTimeDateFunctions()
Returns the list of date and time functions supported by this database.java.sql.ResultSet
getTypeInfo()
Gets the list of data types.java.sql.ResultSet
getUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types)
Gets the list of user-defined data types.java.lang.String
getURL()
Returns the database URL for this connection.java.lang.String
getUserName()
Returns the user name as passed to DriverManager.getConnection(url, user, password).java.sql.ResultSet
getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table)
Get the list of columns that are update when any value is updated.boolean
insertsAreDetected(int type)
Returns whether inserts are detected.boolean
isCatalogAtStart()
Returns whether the catalog is at the beginning.boolean
isReadOnly()
Returns the same as Connection.isReadOnly().boolean
isWrapperFor(java.lang.Class<?> iface)
Checks if unwrap can return an object of this class.boolean
locatorsUpdateCopy()
Does the database make a copy before updating.boolean
nullPlusNonNullIsNull()
Returns whether NULL+1 is NULL or not.boolean
nullsAreSortedAtEnd()
Checks if NULL values are sorted at the end (no matter if ASC or DESC is used).boolean
nullsAreSortedAtStart()
Checks if NULL values are sorted at the beginning (no matter if ASC or DESC is used).boolean
nullsAreSortedHigh()
Checks if NULL values are sorted high (bigger than anything that is not null).boolean
nullsAreSortedLow()
Checks if NULL values are sorted low (smaller than anything that is not null).boolean
othersDeletesAreVisible(int type)
Returns whether other deletes are visible.boolean
othersInsertsAreVisible(int type)
Returns whether other inserts are visible.boolean
othersUpdatesAreVisible(int type)
Returns whether other updates are visible.boolean
ownDeletesAreVisible(int type)
Returns whether own deletes are visible.boolean
ownInsertsAreVisible(int type)
Returns whether own inserts are visible.boolean
ownUpdatesAreVisible(int type)
Returns whether own updates are visible.boolean
storesLowerCaseIdentifiers()
Checks if for CREATE TABLE Test(ID INT), getTables returns test as the table name.boolean
storesLowerCaseQuotedIdentifiers()
Checks if for CREATE TABLE "Test"(ID INT), getTables returns test as the table name.boolean
storesMixedCaseIdentifiers()
Checks if for CREATE TABLE Test(ID INT), getTables returns Test as the table name and identifiers are not case sensitive.boolean
storesMixedCaseQuotedIdentifiers()
Checks if for CREATE TABLE "Test"(ID INT), getTables returns Test as the table name and identifiers are case insensitive.boolean
storesUpperCaseIdentifiers()
Checks if for CREATE TABLE Test(ID INT), getTables returns TEST as the table name.boolean
storesUpperCaseQuotedIdentifiers()
Checks if for CREATE TABLE "Test"(ID INT), getTables returns TEST as the table name.boolean
supportsAlterTableWithAddColumn()
Returns whether alter table with add column is supported.boolean
supportsAlterTableWithDropColumn()
Returns whether alter table with drop column is supported.boolean
supportsANSI92EntryLevelSQL()
Returns whether SQL-92 entry level grammar is supported.boolean
supportsANSI92FullSQL()
Returns whether SQL-92 full level grammar is supported.boolean
supportsANSI92IntermediateSQL()
Returns whether SQL-92 intermediate level grammar is supported.boolean
supportsBatchUpdates()
Returns whether batch updates are supported.boolean
supportsCatalogsInDataManipulation()
Returns whether the catalog name in INSERT, UPDATE, DELETE is supported.boolean
supportsCatalogsInIndexDefinitions()
Returns whether the catalog name in CREATE INDEX is supported.boolean
supportsCatalogsInPrivilegeDefinitions()
Returns whether the catalog name in GRANT is supported.boolean
supportsCatalogsInProcedureCalls()
Returns whether the catalog name in procedure calls is supported.boolean
supportsCatalogsInTableDefinitions()
Returns whether the catalog name in CREATE TABLE is supported.boolean
supportsColumnAliasing()
Returns whether column aliasing is supported.boolean
supportsConvert()
Returns whether CONVERT is supported.boolean
supportsConvert(int fromType, int toType)
Returns whether CONVERT is supported for one datatype to another.boolean
supportsCoreSQLGrammar()
Returns whether ODBC Core SQL grammar is supported.boolean
supportsCorrelatedSubqueries()
Returns whether correlated subqueries are supported.boolean
supportsDataDefinitionAndDataManipulationTransactions()
Returns whether data manipulation and CREATE/DROP is supported in transactions.boolean
supportsDataManipulationTransactionsOnly()
Returns whether only data manipulations are supported in transactions.boolean
supportsDifferentTableCorrelationNames()
Returns whether table correlation names (table alias) are restricted to be different than table names.boolean
supportsExpressionsInOrderBy()
Returns whether expression in ORDER BY are supported.boolean
supportsExtendedSQLGrammar()
Returns whether ODBC Extended SQL grammar is supported.boolean
supportsFullOuterJoins()
Returns whether full outer joins are supported.boolean
supportsGetGeneratedKeys()
Does the database support getGeneratedKeys.boolean
supportsGroupBy()
Returns whether GROUP BY is supported.boolean
supportsGroupByBeyondSelect()
Checks whether a GROUP BY clause can use columns that are not in the SELECT clause, provided that it specifies all the columns in the SELECT clause.boolean
supportsGroupByUnrelated()
Returns whether GROUP BY is supported if the column is not in the SELECT list.boolean
supportsIntegrityEnhancementFacility()
Returns whether referential integrity is supported.boolean
supportsLikeEscapeClause()
Returns whether LIKE...boolean
supportsLimitedOuterJoins()
Returns whether limited outer joins are supported.boolean
supportsMinimumSQLGrammar()
Returns whether ODBC Minimum SQL grammar is supported.boolean
supportsMixedCaseIdentifiers()
Checks if for CREATE TABLE Test(ID INT), getTables returns Test as the table name and identifiers are case sensitive.boolean
supportsMixedCaseQuotedIdentifiers()
Checks if a table created with CREATE TABLE "Test"(ID INT) is a different table than a table created with CREATE TABLE "TEST"(ID INT).boolean
supportsMultipleOpenResults()
Does the database support multiple open result sets returned from aCallableStatement
.boolean
supportsMultipleResultSets()
Returns whether multiple result sets are supported.boolean
supportsMultipleTransactions()
Returns whether multiple transactions (on different connections) are supported.boolean
supportsNamedParameters()
Does the database support named parameters.boolean
supportsNonNullableColumns()
Returns whether columns with NOT NULL are supported.boolean
supportsOpenCursorsAcrossCommit()
Returns whether open result sets across commits are supported.boolean
supportsOpenCursorsAcrossRollback()
Returns whether open result sets across rollback are supported.boolean
supportsOpenStatementsAcrossCommit()
Returns whether open statements across commit are supported.boolean
supportsOpenStatementsAcrossRollback()
Returns whether open statements across rollback are supported.boolean
supportsOrderByUnrelated()
Returns whether ORDER BY is supported if the column is not in the SELECT list.boolean
supportsOuterJoins()
Returns whether outer joins are supported.boolean
supportsPositionedDelete()
Returns whether positioned deletes are supported.boolean
supportsPositionedUpdate()
Returns whether positioned updates are supported.boolean
supportsResultSetConcurrency(int type, int concurrency)
Returns whether a specific result set concurrency is supported.boolean
supportsResultSetHoldability(int holdability)
Does this database supports a result set holdability.boolean
supportsResultSetType(int type)
Returns whether a specific result set type is supported.boolean
supportsSavepoints()
Does the database support savepoints.boolean
supportsSchemasInDataManipulation()
Returns whether the schema name in INSERT, UPDATE, DELETE is supported.boolean
supportsSchemasInIndexDefinitions()
Returns whether the schema name in CREATE INDEX is supported.boolean
supportsSchemasInPrivilegeDefinitions()
Returns whether the schema name in GRANT is supported.boolean
supportsSchemasInProcedureCalls()
Returns whether the schema name in procedure calls is supported.boolean
supportsSchemasInTableDefinitions()
Returns whether the schema name in CREATE TABLE is supported.boolean
supportsSelectForUpdate()
Returns whether SELECT ...boolean
supportsStatementPooling()
Does the database support statement pooling.boolean
supportsStoredFunctionsUsingCallSyntax()
Returns whether the database supports calling functions using the call syntax.boolean
supportsStoredProcedures()
Returns whether stored procedures are supported.boolean
supportsSubqueriesInComparisons()
Returns whether subqueries (SELECT) in comparisons are supported.boolean
supportsSubqueriesInExists()
Returns whether SELECT in EXISTS is supported.boolean
supportsSubqueriesInIns()
Returns whether IN(SELECT...) is supported.boolean
supportsSubqueriesInQuantifieds()
Returns whether subqueries in quantified expression are supported.boolean
supportsTableCorrelationNames()
Returns whether table correlation names (table alias) are supported.boolean
supportsTransactionIsolationLevel(int level)
Returns whether a specific transaction isolation level is supported.boolean
supportsTransactions()
Returns whether transactions are supported.boolean
supportsUnion()
Returns whether UNION SELECT is supported.boolean
supportsUnionAll()
Returns whether UNION ALL SELECT is supported.java.lang.String
toString()
INTERNAL<T> T
unwrap(java.lang.Class<T> iface)
Return an object of this class if possible.boolean
updatesAreDetected(int type)
Returns whether updates are detected.boolean
usesLocalFilePerTable()
Checks if this database use one file per table.boolean
usesLocalFiles()
Checks if this database store data in local files.-
Methods inherited from class org.h2.message.TraceObject
debugCode, debugCodeAssign, debugCodeCall, debugCodeCall, debugCodeCall, getNextId, getTraceId, getTraceObjectName, isDebugEnabled, isInfoEnabled, logAndConvert, quote, quoteArray, quoteBigDecimal, quoteBytes, quoteDate, quoteIntArray, quoteMap, quoteTime, quoteTimestamp, setTrace, unsupported
-
-
-
-
Field Detail
-
conn
private final JdbcConnection conn
-
meta
private final DatabaseMeta meta
-
-
Constructor Detail
-
JdbcDatabaseMetaData
JdbcDatabaseMetaData(JdbcConnection conn, Trace trace, int id)
-
-
Method Detail
-
getDriverMajorVersion
public int getDriverMajorVersion()
Returns the major version of this driver.- Specified by:
getDriverMajorVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the major version number
-
getDriverMinorVersion
public int getDriverMinorVersion()
Returns the minor version of this driver.- Specified by:
getDriverMinorVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the minor version number
-
getDatabaseProductName
public java.lang.String getDatabaseProductName()
Gets the database product name.- Specified by:
getDatabaseProductName
in interfacejava.sql.DatabaseMetaData
- Returns:
- the product name ("H2")
-
getDatabaseProductVersion
public java.lang.String getDatabaseProductVersion() throws java.sql.SQLException
Gets the product version of the database.- Specified by:
getDatabaseProductVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the product version
- Throws:
java.sql.SQLException
-
getDriverName
public java.lang.String getDriverName()
Gets the name of the JDBC driver.- Specified by:
getDriverName
in interfacejava.sql.DatabaseMetaData
- Returns:
- the driver name ("H2 JDBC Driver")
-
getDriverVersion
public java.lang.String getDriverVersion()
Gets the version number of the driver. The format is [MajorVersion].[MinorVersion].- Specified by:
getDriverVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the version number
-
getTables
public java.sql.ResultSet getTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types) throws java.sql.SQLException
Gets the list of tables in the database. The result set is sorted by TABLE_TYPE, TABLE_SCHEM, and TABLE_NAME.- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- TABLE_TYPE (String) table type
- REMARKS (String) comment
- TYPE_CAT (String) always null
- TYPE_SCHEM (String) always null
- TYPE_NAME (String) always null
- SELF_REFERENCING_COL_NAME (String) always null
- REF_GENERATION (String) always null
- SQL (String) the create table statement or NULL for systems tables.
- Specified by:
getTables
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)tableNamePattern
- null (to get all objects) or a table name (uppercase for unquoted names)types
- null or a list of table types- Returns:
- the list of columns
- Throws:
java.sql.SQLException
- if the connection is closed
-
getColumns
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
Gets the list of columns. The result set is sorted by TABLE_SCHEM, TABLE_NAME, and ORDINAL_POSITION.- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- COLUMN_NAME (String) column name
- DATA_TYPE (int) data type (see java.sql.Types)
- TYPE_NAME (String) data type name ("INTEGER", "VARCHAR",...)
- COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
- BUFFER_LENGTH (int) unused
- DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR)
- NUM_PREC_RADIX (int) radix
- NULLABLE (int) columnNoNulls or columnNullable
- REMARKS (String) comment
- COLUMN_DEF (String) default value
- SQL_DATA_TYPE (int) unused
- SQL_DATETIME_SUB (int) unused
- CHAR_OCTET_LENGTH (int) unused
- ORDINAL_POSITION (int) the column index (1,2,...)
- IS_NULLABLE (String) "NO" or "YES"
- SCOPE_CATALOG (String) always null
- SCOPE_SCHEMA (String) always null
- SCOPE_TABLE (String) always null
- SOURCE_DATA_TYPE (short) null
- IS_AUTOINCREMENT (String) "NO" or "YES"
- IS_GENERATEDCOLUMN (String) "NO" or "YES"
- Specified by:
getColumns
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)tableNamePattern
- null (to get all objects) or a table name (uppercase for unquoted names)columnNamePattern
- null (to get all objects) or a column name (uppercase for unquoted names)- Returns:
- the list of columns
- Throws:
java.sql.SQLException
- if the connection is closed
-
getIndexInfo
public java.sql.ResultSet getIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate) throws java.sql.SQLException
Gets the list of indexes for this database. The primary key index (if there is one) is also listed, with the name PRIMARY_KEY. The result set is sorted by NON_UNIQUE ('false' first), TYPE, TABLE_SCHEM, INDEX_NAME, and ORDINAL_POSITION.- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- NON_UNIQUE (boolean) 'true' if non-unique
- INDEX_QUALIFIER (String) index catalog
- INDEX_NAME (String) index name
- TYPE (short) the index type (tableIndexOther or tableIndexHash for unique indexes on non-nullable columns, tableIndexStatistics for other indexes)
- ORDINAL_POSITION (short) column index (1, 2, ...)
- COLUMN_NAME (String) column name
- ASC_OR_DESC (String) ascending or descending (always 'A')
- CARDINALITY (long) number of rows or numbers of unique values for unique indexes on non-nullable columns
- PAGES (long) number of pages use
- FILTER_CONDITION (String) filter condition (always empty)
- Specified by:
getIndexInfo
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null or the catalog nameschema
- null (to get all objects) or a schema name (uppercase for unquoted names)table
- table name (must be specified)unique
- only unique indexesapproximate
- if true, return fast, but approximate CARDINALITY- Returns:
- the list of indexes and columns
- Throws:
java.sql.SQLException
- if the connection is closed
-
getPrimaryKeys
public java.sql.ResultSet getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Gets the primary key columns for a table. The result set is sorted by TABLE_SCHEM, and COLUMN_NAME (and not by KEY_SEQ).- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- COLUMN_NAME (String) column name
- KEY_SEQ (short) the column index of this column (1,2,...)
- PK_NAME (String) the name of the primary key index
- Specified by:
getPrimaryKeys
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null or the catalog nameschema
- null (to get all objects) or a schema name (uppercase for unquoted names)table
- table name (must be specified)- Returns:
- the list of primary key columns
- Throws:
java.sql.SQLException
- if the connection is closed
-
allProceduresAreCallable
public boolean allProceduresAreCallable()
Checks if all procedures callable.- Specified by:
allProceduresAreCallable
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
allTablesAreSelectable
public boolean allTablesAreSelectable()
Checks if it possible to query all tables returned by getTables.- Specified by:
allTablesAreSelectable
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
getURL
public java.lang.String getURL() throws java.sql.SQLException
Returns the database URL for this connection.- Specified by:
getURL
in interfacejava.sql.DatabaseMetaData
- Returns:
- the url
- Throws:
java.sql.SQLException
-
getUserName
public java.lang.String getUserName() throws java.sql.SQLException
Returns the user name as passed to DriverManager.getConnection(url, user, password).- Specified by:
getUserName
in interfacejava.sql.DatabaseMetaData
- Returns:
- the user name
- Throws:
java.sql.SQLException
-
isReadOnly
public boolean isReadOnly() throws java.sql.SQLException
Returns the same as Connection.isReadOnly().- Specified by:
isReadOnly
in interfacejava.sql.DatabaseMetaData
- Returns:
- if read only optimization is switched on
- Throws:
java.sql.SQLException
-
nullsAreSortedHigh
public boolean nullsAreSortedHigh() throws java.sql.SQLException
Checks if NULL values are sorted high (bigger than anything that is not null).- Specified by:
nullsAreSortedHigh
in interfacejava.sql.DatabaseMetaData
- Returns:
- if NULL values are sorted high
- Throws:
java.sql.SQLException
-
nullsAreSortedLow
public boolean nullsAreSortedLow() throws java.sql.SQLException
Checks if NULL values are sorted low (smaller than anything that is not null).- Specified by:
nullsAreSortedLow
in interfacejava.sql.DatabaseMetaData
- Returns:
- if NULL values are sorted low
- Throws:
java.sql.SQLException
-
nullsAreSortedAtStart
public boolean nullsAreSortedAtStart() throws java.sql.SQLException
Checks if NULL values are sorted at the beginning (no matter if ASC or DESC is used).- Specified by:
nullsAreSortedAtStart
in interfacejava.sql.DatabaseMetaData
- Returns:
- if NULL values are sorted at the beginning
- Throws:
java.sql.SQLException
-
nullsAreSortedAtEnd
public boolean nullsAreSortedAtEnd() throws java.sql.SQLException
Checks if NULL values are sorted at the end (no matter if ASC or DESC is used).- Specified by:
nullsAreSortedAtEnd
in interfacejava.sql.DatabaseMetaData
- Returns:
- if NULL values are sorted at the end
- Throws:
java.sql.SQLException
-
getConnection
public java.sql.Connection getConnection()
Returns the connection that created this object.- Specified by:
getConnection
in interfacejava.sql.DatabaseMetaData
- Returns:
- the connection
-
getProcedures
public java.sql.ResultSet getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern) throws java.sql.SQLException
Gets the list of procedures. The result set is sorted by PROCEDURE_SCHEM, PROCEDURE_NAME, and NUM_INPUT_PARAMS. There are potentially multiple procedures with the same name, each with a different number of input parameters.- PROCEDURE_CAT (String) catalog
- PROCEDURE_SCHEM (String) schema
- PROCEDURE_NAME (String) name
- reserved
- reserved
- reserved
- REMARKS (String) description
- PROCEDURE_TYPE (short) if this procedure returns a result (procedureNoResult or procedureReturnsResult)
- SPECIFIC_NAME (String) non-ambiguous name to distinguish overloads
- Specified by:
getProcedures
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)procedureNamePattern
- the procedure name pattern- Returns:
- the procedures
- Throws:
java.sql.SQLException
- if the connection is closed
-
getProcedureColumns
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
Gets the list of procedure columns. The result set is sorted by PROCEDURE_SCHEM, PROCEDURE_NAME, NUM_INPUT_PARAMS, and POS. There are potentially multiple procedures with the same name, each with a different number of input parameters.- PROCEDURE_CAT (String) catalog
- PROCEDURE_SCHEM (String) schema
- PROCEDURE_NAME (String) name
- COLUMN_NAME (String) column name
- COLUMN_TYPE (short) column type (always DatabaseMetaData.procedureColumnIn)
- DATA_TYPE (short) sql type
- TYPE_NAME (String) type name
- PRECISION (int) precision
- LENGTH (int) length
- SCALE (short) scale
- RADIX (int)
- NULLABLE (short) nullable (DatabaseMetaData.columnNoNulls for primitive data types, DatabaseMetaData.columnNullable otherwise)
- REMARKS (String) description
- COLUMN_DEF (String) always null
- SQL_DATA_TYPE (int) for future use
- SQL_DATETIME_SUB (int) for future use
- CHAR_OCTET_LENGTH (int)
- ORDINAL_POSITION (int) the parameter index starting from 1 (0 is the return value)
- IS_NULLABLE (String) always "YES"
- SPECIFIC_NAME (String) non-ambiguous procedure name to distinguish overloads
- Specified by:
getProcedureColumns
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)procedureNamePattern
- the procedure name patterncolumnNamePattern
- the procedure name pattern- Returns:
- the procedure columns
- Throws:
java.sql.SQLException
- if the connection is closed
-
getSchemas
public java.sql.ResultSet getSchemas() throws java.sql.SQLException
Gets the list of schemas. The result set is sorted by TABLE_SCHEM.- TABLE_SCHEM (String) schema name
- TABLE_CATALOG (String) catalog name
- Specified by:
getSchemas
in interfacejava.sql.DatabaseMetaData
- Returns:
- the schema list
- Throws:
java.sql.SQLException
- if the connection is closed
-
getCatalogs
public java.sql.ResultSet getCatalogs() throws java.sql.SQLException
Gets the list of catalogs. The result set is sorted by TABLE_CAT.- TABLE_CAT (String) catalog name
- Specified by:
getCatalogs
in interfacejava.sql.DatabaseMetaData
- Returns:
- the catalog list
- Throws:
java.sql.SQLException
- if the connection is closed
-
getTableTypes
public java.sql.ResultSet getTableTypes() throws java.sql.SQLException
Gets the list of table types. This call returns a result set with five records: "SYSTEM TABLE", "TABLE", "VIEW", "TABLE LINK" and "EXTERNAL".- TABLE_TYPE (String) table type
- Specified by:
getTableTypes
in interfacejava.sql.DatabaseMetaData
- Returns:
- the table types
- Throws:
java.sql.SQLException
- if the connection is closed
-
getColumnPrivileges
public java.sql.ResultSet getColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern) throws java.sql.SQLException
Gets the list of column privileges. The result set is sorted by COLUMN_NAME and PRIVILEGE- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- COLUMN_NAME (String) column name
- GRANTOR (String) grantor of access
- GRANTEE (String) grantee of access
- PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
- IS_GRANTABLE (String) YES means the grantee can grant access to others
- Specified by:
getColumnPrivileges
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschema
- null (to get all objects) or a schema name (uppercase for unquoted names)table
- a table name (uppercase for unquoted names)columnNamePattern
- null (to get all objects) or a column name (uppercase for unquoted names)- Returns:
- the list of privileges
- Throws:
java.sql.SQLException
- if the connection is closed
-
getTablePrivileges
public java.sql.ResultSet getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLException
Gets the list of table privileges. The result set is sorted by TABLE_SCHEM, TABLE_NAME, and PRIVILEGE.- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- GRANTOR (String) grantor of access
- GRANTEE (String) grantee of access
- PRIVILEGE (String) SELECT, INSERT, UPDATE, DELETE or REFERENCES (only one per row)
- IS_GRANTABLE (String) YES means the grantee can grant access to others
- Specified by:
getTablePrivileges
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)tableNamePattern
- null (to get all objects) or a table name (uppercase for unquoted names)- Returns:
- the list of privileges
- Throws:
java.sql.SQLException
- if the connection is closed
-
getBestRowIdentifier
public java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable) throws java.sql.SQLException
Gets the list of columns that best identifier a row in a table. The list is ordered by SCOPE.- SCOPE (short) scope of result (always bestRowSession)
- COLUMN_NAME (String) column name
- DATA_TYPE (short) SQL data type, see also java.sql.Types
- TYPE_NAME (String) type name
- COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
- BUFFER_LENGTH (int) unused
- DECIMAL_DIGITS (short) scale
- PSEUDO_COLUMN (short) (always bestRowNotPseudo)
- Specified by:
getBestRowIdentifier
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschema
- null (to get all objects) or a schema name (uppercase for unquoted names)table
- table name (must be specified)scope
- ignorednullable
- ignored- Returns:
- the primary key index
- Throws:
java.sql.SQLException
- if the connection is closed
-
getVersionColumns
public java.sql.ResultSet getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Get the list of columns that are update when any value is updated. The result set is always empty.- 1 SCOPE (int) not used
- 2 COLUMN_NAME (String) column name
- 3 DATA_TYPE (int) SQL data type - see also java.sql.Types
- 4 TYPE_NAME (String) data type name
- 5 COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
- 6 BUFFER_LENGTH (int) length (bytes)
- 7 DECIMAL_DIGITS (int) scale
- 8 PSEUDO_COLUMN (int) is this column a pseudo column
- Specified by:
getVersionColumns
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschema
- null (to get all objects) or a schema nametable
- table name (must be specified)- Returns:
- an empty result set
- Throws:
java.sql.SQLException
- if the connection is closed
-
getImportedKeys
public java.sql.ResultSet getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Gets the list of primary key columns that are referenced by a table. The result set is sorted by PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, FK_NAME, KEY_SEQ.- PKTABLE_CAT (String) primary catalog
- PKTABLE_SCHEM (String) primary schema
- PKTABLE_NAME (String) primary table
- PKCOLUMN_NAME (String) primary column
- FKTABLE_CAT (String) foreign catalog
- FKTABLE_SCHEM (String) foreign schema
- FKTABLE_NAME (String) foreign table
- FKCOLUMN_NAME (String) foreign column
- KEY_SEQ (short) sequence number (1, 2, ...)
- UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
- DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
- FK_NAME (String) foreign key name
- PK_NAME (String) primary key name
- DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
- Specified by:
getImportedKeys
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschema
- the schema name of the foreign tabletable
- the name of the foreign table- Returns:
- the result set
- Throws:
java.sql.SQLException
- if the connection is closed
-
getExportedKeys
public java.sql.ResultSet getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Gets the list of foreign key columns that reference a table. The result set is sorted by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, FK_NAME, KEY_SEQ.- PKTABLE_CAT (String) primary catalog
- PKTABLE_SCHEM (String) primary schema
- PKTABLE_NAME (String) primary table
- PKCOLUMN_NAME (String) primary column
- FKTABLE_CAT (String) foreign catalog
- FKTABLE_SCHEM (String) foreign schema
- FKTABLE_NAME (String) foreign table
- FKCOLUMN_NAME (String) foreign column
- KEY_SEQ (short) sequence number (1,2,...)
- UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
- DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
- FK_NAME (String) foreign key name
- PK_NAME (String) primary key name
- DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
- Specified by:
getExportedKeys
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null or the catalog nameschema
- the schema name of the primary tabletable
- the name of the primary table- Returns:
- the result set
- Throws:
java.sql.SQLException
- if the connection is closed
-
getCrossReference
public java.sql.ResultSet getCrossReference(java.lang.String primaryCatalog, java.lang.String primarySchema, java.lang.String primaryTable, java.lang.String foreignCatalog, java.lang.String foreignSchema, java.lang.String foreignTable) throws java.sql.SQLException
Gets the list of foreign key columns that references a table, as well as the list of primary key columns that are references by a table. The result set is sorted by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, FK_NAME, KEY_SEQ.- PKTABLE_CAT (String) primary catalog
- PKTABLE_SCHEM (String) primary schema
- PKTABLE_NAME (String) primary table
- PKCOLUMN_NAME (String) primary column
- FKTABLE_CAT (String) foreign catalog
- FKTABLE_SCHEM (String) foreign schema
- FKTABLE_NAME (String) foreign table
- FKCOLUMN_NAME (String) foreign column
- KEY_SEQ (short) sequence number (1,2,...)
- UPDATE_RULE (short) action on update (see DatabaseMetaData.importedKey...)
- DELETE_RULE (short) action on delete (see DatabaseMetaData.importedKey...)
- FK_NAME (String) foreign key name
- PK_NAME (String) primary key name
- DEFERRABILITY (short) deferrable or not (always importedKeyNotDeferrable)
- Specified by:
getCrossReference
in interfacejava.sql.DatabaseMetaData
- Parameters:
primaryCatalog
- null or the catalog nameprimarySchema
- the schema name of the primary table (optional)primaryTable
- the name of the primary table (must be specified)foreignCatalog
- null or the catalog nameforeignSchema
- the schema name of the foreign table (optional)foreignTable
- the name of the foreign table (must be specified)- Returns:
- the result set
- Throws:
java.sql.SQLException
- if the connection is closed
-
getUDTs
public java.sql.ResultSet getUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types) throws java.sql.SQLException
Gets the list of user-defined data types. This call returns an empty result set.- TYPE_CAT (String) catalog
- TYPE_SCHEM (String) schema
- TYPE_NAME (String) type name
- CLASS_NAME (String) Java class
- DATA_TYPE (short) SQL Type - see also java.sql.Types
- REMARKS (String) description
- BASE_TYPE (short) base type - see also java.sql.Types
- Specified by:
getUDTs
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- ignoredschemaPattern
- ignoredtypeNamePattern
- ignoredtypes
- ignored- Returns:
- an empty result set
- Throws:
java.sql.SQLException
- if the connection is closed
-
getTypeInfo
public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException
Gets the list of data types. The result set is sorted by DATA_TYPE and afterwards by how closely the data type maps to the corresponding JDBC SQL type (best match first).- TYPE_NAME (String) type name
- DATA_TYPE (short) SQL data type - see also java.sql.Types
- PRECISION (int) maximum precision
- LITERAL_PREFIX (String) prefix used to quote a literal
- LITERAL_SUFFIX (String) suffix used to quote a literal
- CREATE_PARAMS (String) parameters used (may be null)
- NULLABLE (short) typeNoNulls (NULL not allowed) or typeNullable
- CASE_SENSITIVE (boolean) case sensitive
- SEARCHABLE (short) typeSearchable
- UNSIGNED_ATTRIBUTE (boolean) unsigned
- FIXED_PREC_SCALE (boolean) fixed precision
- AUTO_INCREMENT (boolean) auto increment
- LOCAL_TYPE_NAME (String) localized version of the data type
- MINIMUM_SCALE (short) minimum scale
- MAXIMUM_SCALE (short) maximum scale
- SQL_DATA_TYPE (int) unused
- SQL_DATETIME_SUB (int) unused
- NUM_PREC_RADIX (int) 2 for binary, 10 for decimal
- Specified by:
getTypeInfo
in interfacejava.sql.DatabaseMetaData
- Returns:
- the list of data types
- Throws:
java.sql.SQLException
- if the connection is closed
-
usesLocalFiles
public boolean usesLocalFiles()
Checks if this database store data in local files.- Specified by:
usesLocalFiles
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
usesLocalFilePerTable
public boolean usesLocalFilePerTable()
Checks if this database use one file per table.- Specified by:
usesLocalFilePerTable
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
getIdentifierQuoteString
public java.lang.String getIdentifierQuoteString()
Returns the string used to quote identifiers.- Specified by:
getIdentifierQuoteString
in interfacejava.sql.DatabaseMetaData
- Returns:
- a double quote
-
getSQLKeywords
public java.lang.String getSQLKeywords() throws java.sql.SQLException
Gets the comma-separated list of all SQL keywords that are not supported as unquoted identifiers, in addition to the SQL:2003 reserved words.List of keywords in H2 may depend on compatibility mode and other settings.
- Specified by:
getSQLKeywords
in interfacejava.sql.DatabaseMetaData
- Returns:
- a list of additional keywords
- Throws:
java.sql.SQLException
-
getNumericFunctions
public java.lang.String getNumericFunctions() throws java.sql.SQLException
Returns the list of numeric functions supported by this database.- Specified by:
getNumericFunctions
in interfacejava.sql.DatabaseMetaData
- Returns:
- the list
- Throws:
java.sql.SQLException
-
getStringFunctions
public java.lang.String getStringFunctions() throws java.sql.SQLException
Returns the list of string functions supported by this database.- Specified by:
getStringFunctions
in interfacejava.sql.DatabaseMetaData
- Returns:
- the list
- Throws:
java.sql.SQLException
-
getSystemFunctions
public java.lang.String getSystemFunctions() throws java.sql.SQLException
Returns the list of system functions supported by this database.- Specified by:
getSystemFunctions
in interfacejava.sql.DatabaseMetaData
- Returns:
- the list
- Throws:
java.sql.SQLException
-
getTimeDateFunctions
public java.lang.String getTimeDateFunctions() throws java.sql.SQLException
Returns the list of date and time functions supported by this database.- Specified by:
getTimeDateFunctions
in interfacejava.sql.DatabaseMetaData
- Returns:
- the list
- Throws:
java.sql.SQLException
-
getSearchStringEscape
public java.lang.String getSearchStringEscape() throws java.sql.SQLException
Returns the default escape character for DatabaseMetaData search patterns.- Specified by:
getSearchStringEscape
in interfacejava.sql.DatabaseMetaData
- Returns:
- the default escape character (always '\', independent on the mode)
- Throws:
java.sql.SQLException
-
getExtraNameCharacters
public java.lang.String getExtraNameCharacters()
Returns the characters that are allowed for identifiers in addiction to A-Z, a-z, 0-9 and '_'.- Specified by:
getExtraNameCharacters
in interfacejava.sql.DatabaseMetaData
- Returns:
- an empty String ("")
-
supportsAlterTableWithAddColumn
public boolean supportsAlterTableWithAddColumn()
Returns whether alter table with add column is supported.- Specified by:
supportsAlterTableWithAddColumn
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsAlterTableWithDropColumn
public boolean supportsAlterTableWithDropColumn()
Returns whether alter table with drop column is supported.- Specified by:
supportsAlterTableWithDropColumn
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsColumnAliasing
public boolean supportsColumnAliasing()
Returns whether column aliasing is supported.- Specified by:
supportsColumnAliasing
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
nullPlusNonNullIsNull
public boolean nullPlusNonNullIsNull()
Returns whether NULL+1 is NULL or not.- Specified by:
nullPlusNonNullIsNull
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsConvert
public boolean supportsConvert()
Returns whether CONVERT is supported.- Specified by:
supportsConvert
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsConvert
public boolean supportsConvert(int fromType, int toType)
Returns whether CONVERT is supported for one datatype to another.- Specified by:
supportsConvert
in interfacejava.sql.DatabaseMetaData
- Parameters:
fromType
- the source SQL typetoType
- the target SQL type- Returns:
- true
-
supportsTableCorrelationNames
public boolean supportsTableCorrelationNames()
Returns whether table correlation names (table alias) are supported.- Specified by:
supportsTableCorrelationNames
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsDifferentTableCorrelationNames
public boolean supportsDifferentTableCorrelationNames()
Returns whether table correlation names (table alias) are restricted to be different than table names.- Specified by:
supportsDifferentTableCorrelationNames
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsExpressionsInOrderBy
public boolean supportsExpressionsInOrderBy()
Returns whether expression in ORDER BY are supported.- Specified by:
supportsExpressionsInOrderBy
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsOrderByUnrelated
public boolean supportsOrderByUnrelated()
Returns whether ORDER BY is supported if the column is not in the SELECT list.- Specified by:
supportsOrderByUnrelated
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsGroupBy
public boolean supportsGroupBy()
Returns whether GROUP BY is supported.- Specified by:
supportsGroupBy
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsGroupByUnrelated
public boolean supportsGroupByUnrelated()
Returns whether GROUP BY is supported if the column is not in the SELECT list.- Specified by:
supportsGroupByUnrelated
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsGroupByBeyondSelect
public boolean supportsGroupByBeyondSelect()
Checks whether a GROUP BY clause can use columns that are not in the SELECT clause, provided that it specifies all the columns in the SELECT clause.- Specified by:
supportsGroupByBeyondSelect
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsLikeEscapeClause
public boolean supportsLikeEscapeClause()
Returns whether LIKE... ESCAPE is supported.- Specified by:
supportsLikeEscapeClause
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsMultipleResultSets
public boolean supportsMultipleResultSets()
Returns whether multiple result sets are supported.- Specified by:
supportsMultipleResultSets
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsMultipleTransactions
public boolean supportsMultipleTransactions()
Returns whether multiple transactions (on different connections) are supported.- Specified by:
supportsMultipleTransactions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsNonNullableColumns
public boolean supportsNonNullableColumns()
Returns whether columns with NOT NULL are supported.- Specified by:
supportsNonNullableColumns
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsMinimumSQLGrammar
public boolean supportsMinimumSQLGrammar()
Returns whether ODBC Minimum SQL grammar is supported.- Specified by:
supportsMinimumSQLGrammar
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsCoreSQLGrammar
public boolean supportsCoreSQLGrammar()
Returns whether ODBC Core SQL grammar is supported.- Specified by:
supportsCoreSQLGrammar
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsExtendedSQLGrammar
public boolean supportsExtendedSQLGrammar()
Returns whether ODBC Extended SQL grammar is supported.- Specified by:
supportsExtendedSQLGrammar
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsANSI92EntryLevelSQL
public boolean supportsANSI92EntryLevelSQL()
Returns whether SQL-92 entry level grammar is supported.- Specified by:
supportsANSI92EntryLevelSQL
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsANSI92IntermediateSQL
public boolean supportsANSI92IntermediateSQL()
Returns whether SQL-92 intermediate level grammar is supported.- Specified by:
supportsANSI92IntermediateSQL
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsANSI92FullSQL
public boolean supportsANSI92FullSQL()
Returns whether SQL-92 full level grammar is supported.- Specified by:
supportsANSI92FullSQL
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsIntegrityEnhancementFacility
public boolean supportsIntegrityEnhancementFacility()
Returns whether referential integrity is supported.- Specified by:
supportsIntegrityEnhancementFacility
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsOuterJoins
public boolean supportsOuterJoins()
Returns whether outer joins are supported.- Specified by:
supportsOuterJoins
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsFullOuterJoins
public boolean supportsFullOuterJoins()
Returns whether full outer joins are supported.- Specified by:
supportsFullOuterJoins
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsLimitedOuterJoins
public boolean supportsLimitedOuterJoins()
Returns whether limited outer joins are supported.- Specified by:
supportsLimitedOuterJoins
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
getSchemaTerm
public java.lang.String getSchemaTerm()
Returns the term for "schema".- Specified by:
getSchemaTerm
in interfacejava.sql.DatabaseMetaData
- Returns:
- "schema"
-
getProcedureTerm
public java.lang.String getProcedureTerm()
Returns the term for "procedure".- Specified by:
getProcedureTerm
in interfacejava.sql.DatabaseMetaData
- Returns:
- "procedure"
-
getCatalogTerm
public java.lang.String getCatalogTerm()
Returns the term for "catalog".- Specified by:
getCatalogTerm
in interfacejava.sql.DatabaseMetaData
- Returns:
- "catalog"
-
isCatalogAtStart
public boolean isCatalogAtStart()
Returns whether the catalog is at the beginning.- Specified by:
isCatalogAtStart
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
getCatalogSeparator
public java.lang.String getCatalogSeparator()
Returns the catalog separator.- Specified by:
getCatalogSeparator
in interfacejava.sql.DatabaseMetaData
- Returns:
- "."
-
supportsSchemasInDataManipulation
public boolean supportsSchemasInDataManipulation()
Returns whether the schema name in INSERT, UPDATE, DELETE is supported.- Specified by:
supportsSchemasInDataManipulation
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsSchemasInProcedureCalls
public boolean supportsSchemasInProcedureCalls()
Returns whether the schema name in procedure calls is supported.- Specified by:
supportsSchemasInProcedureCalls
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsSchemasInTableDefinitions
public boolean supportsSchemasInTableDefinitions()
Returns whether the schema name in CREATE TABLE is supported.- Specified by:
supportsSchemasInTableDefinitions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsSchemasInIndexDefinitions
public boolean supportsSchemasInIndexDefinitions()
Returns whether the schema name in CREATE INDEX is supported.- Specified by:
supportsSchemasInIndexDefinitions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsSchemasInPrivilegeDefinitions
public boolean supportsSchemasInPrivilegeDefinitions()
Returns whether the schema name in GRANT is supported.- Specified by:
supportsSchemasInPrivilegeDefinitions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsCatalogsInDataManipulation
public boolean supportsCatalogsInDataManipulation()
Returns whether the catalog name in INSERT, UPDATE, DELETE is supported.- Specified by:
supportsCatalogsInDataManipulation
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsCatalogsInProcedureCalls
public boolean supportsCatalogsInProcedureCalls()
Returns whether the catalog name in procedure calls is supported.- Specified by:
supportsCatalogsInProcedureCalls
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsCatalogsInTableDefinitions
public boolean supportsCatalogsInTableDefinitions()
Returns whether the catalog name in CREATE TABLE is supported.- Specified by:
supportsCatalogsInTableDefinitions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsCatalogsInIndexDefinitions
public boolean supportsCatalogsInIndexDefinitions()
Returns whether the catalog name in CREATE INDEX is supported.- Specified by:
supportsCatalogsInIndexDefinitions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsCatalogsInPrivilegeDefinitions
public boolean supportsCatalogsInPrivilegeDefinitions()
Returns whether the catalog name in GRANT is supported.- Specified by:
supportsCatalogsInPrivilegeDefinitions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsPositionedDelete
public boolean supportsPositionedDelete()
Returns whether positioned deletes are supported.- Specified by:
supportsPositionedDelete
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsPositionedUpdate
public boolean supportsPositionedUpdate()
Returns whether positioned updates are supported.- Specified by:
supportsPositionedUpdate
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsSelectForUpdate
public boolean supportsSelectForUpdate()
Returns whether SELECT ... FOR UPDATE is supported.- Specified by:
supportsSelectForUpdate
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsStoredProcedures
public boolean supportsStoredProcedures()
Returns whether stored procedures are supported.- Specified by:
supportsStoredProcedures
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsSubqueriesInComparisons
public boolean supportsSubqueriesInComparisons()
Returns whether subqueries (SELECT) in comparisons are supported.- Specified by:
supportsSubqueriesInComparisons
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsSubqueriesInExists
public boolean supportsSubqueriesInExists()
Returns whether SELECT in EXISTS is supported.- Specified by:
supportsSubqueriesInExists
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsSubqueriesInIns
public boolean supportsSubqueriesInIns()
Returns whether IN(SELECT...) is supported.- Specified by:
supportsSubqueriesInIns
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsSubqueriesInQuantifieds
public boolean supportsSubqueriesInQuantifieds()
Returns whether subqueries in quantified expression are supported.- Specified by:
supportsSubqueriesInQuantifieds
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsCorrelatedSubqueries
public boolean supportsCorrelatedSubqueries()
Returns whether correlated subqueries are supported.- Specified by:
supportsCorrelatedSubqueries
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsUnion
public boolean supportsUnion()
Returns whether UNION SELECT is supported.- Specified by:
supportsUnion
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsUnionAll
public boolean supportsUnionAll()
Returns whether UNION ALL SELECT is supported.- Specified by:
supportsUnionAll
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsOpenCursorsAcrossCommit
public boolean supportsOpenCursorsAcrossCommit()
Returns whether open result sets across commits are supported.- Specified by:
supportsOpenCursorsAcrossCommit
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsOpenCursorsAcrossRollback
public boolean supportsOpenCursorsAcrossRollback()
Returns whether open result sets across rollback are supported.- Specified by:
supportsOpenCursorsAcrossRollback
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsOpenStatementsAcrossCommit
public boolean supportsOpenStatementsAcrossCommit()
Returns whether open statements across commit are supported.- Specified by:
supportsOpenStatementsAcrossCommit
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsOpenStatementsAcrossRollback
public boolean supportsOpenStatementsAcrossRollback()
Returns whether open statements across rollback are supported.- Specified by:
supportsOpenStatementsAcrossRollback
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsTransactions
public boolean supportsTransactions()
Returns whether transactions are supported.- Specified by:
supportsTransactions
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsTransactionIsolationLevel
public boolean supportsTransactionIsolationLevel(int level) throws java.sql.SQLException
Returns whether a specific transaction isolation level is supported.- Specified by:
supportsTransactionIsolationLevel
in interfacejava.sql.DatabaseMetaData
- Parameters:
level
- the transaction isolation level (Connection.TRANSACTION_*)- Returns:
- true
- Throws:
java.sql.SQLException
-
supportsDataDefinitionAndDataManipulationTransactions
public boolean supportsDataDefinitionAndDataManipulationTransactions()
Returns whether data manipulation and CREATE/DROP is supported in transactions.- Specified by:
supportsDataDefinitionAndDataManipulationTransactions
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsDataManipulationTransactionsOnly
public boolean supportsDataManipulationTransactionsOnly()
Returns whether only data manipulations are supported in transactions.- Specified by:
supportsDataManipulationTransactionsOnly
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
dataDefinitionCausesTransactionCommit
public boolean dataDefinitionCausesTransactionCommit()
Returns whether CREATE/DROP commit an open transaction.- Specified by:
dataDefinitionCausesTransactionCommit
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
dataDefinitionIgnoredInTransactions
public boolean dataDefinitionIgnoredInTransactions()
Returns whether CREATE/DROP do not affect transactions.- Specified by:
dataDefinitionIgnoredInTransactions
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsResultSetType
public boolean supportsResultSetType(int type)
Returns whether a specific result set type is supported. ResultSet.TYPE_SCROLL_SENSITIVE is not supported.- Specified by:
supportsResultSetType
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- true for all types except ResultSet.TYPE_SCROLL_SENSITIVE
-
supportsResultSetConcurrency
public boolean supportsResultSetConcurrency(int type, int concurrency)
Returns whether a specific result set concurrency is supported. ResultSet.TYPE_SCROLL_SENSITIVE is not supported.- Specified by:
supportsResultSetConcurrency
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set typeconcurrency
- the result set concurrency- Returns:
- true if the type is not ResultSet.TYPE_SCROLL_SENSITIVE
-
ownUpdatesAreVisible
public boolean ownUpdatesAreVisible(int type)
Returns whether own updates are visible.- Specified by:
ownUpdatesAreVisible
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- true
-
ownDeletesAreVisible
public boolean ownDeletesAreVisible(int type)
Returns whether own deletes are visible.- Specified by:
ownDeletesAreVisible
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
ownInsertsAreVisible
public boolean ownInsertsAreVisible(int type)
Returns whether own inserts are visible.- Specified by:
ownInsertsAreVisible
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
othersUpdatesAreVisible
public boolean othersUpdatesAreVisible(int type)
Returns whether other updates are visible.- Specified by:
othersUpdatesAreVisible
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
othersDeletesAreVisible
public boolean othersDeletesAreVisible(int type)
Returns whether other deletes are visible.- Specified by:
othersDeletesAreVisible
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
othersInsertsAreVisible
public boolean othersInsertsAreVisible(int type)
Returns whether other inserts are visible.- Specified by:
othersInsertsAreVisible
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
updatesAreDetected
public boolean updatesAreDetected(int type)
Returns whether updates are detected.- Specified by:
updatesAreDetected
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
deletesAreDetected
public boolean deletesAreDetected(int type)
Returns whether deletes are detected.- Specified by:
deletesAreDetected
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
insertsAreDetected
public boolean insertsAreDetected(int type)
Returns whether inserts are detected.- Specified by:
insertsAreDetected
in interfacejava.sql.DatabaseMetaData
- Parameters:
type
- the result set type- Returns:
- false
-
supportsBatchUpdates
public boolean supportsBatchUpdates()
Returns whether batch updates are supported.- Specified by:
supportsBatchUpdates
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
doesMaxRowSizeIncludeBlobs
public boolean doesMaxRowSizeIncludeBlobs()
Returns whether the maximum row size includes blobs.- Specified by:
doesMaxRowSizeIncludeBlobs
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
getDefaultTransactionIsolation
public int getDefaultTransactionIsolation()
Returns the default transaction isolation level.- Specified by:
getDefaultTransactionIsolation
in interfacejava.sql.DatabaseMetaData
- Returns:
- Connection.TRANSACTION_READ_COMMITTED
-
supportsMixedCaseIdentifiers
public boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException
Checks if for CREATE TABLE Test(ID INT), getTables returns Test as the table name and identifiers are case sensitive.- Specified by:
supportsMixedCaseIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- true is so, false otherwise
- Throws:
java.sql.SQLException
-
storesUpperCaseIdentifiers
public boolean storesUpperCaseIdentifiers() throws java.sql.SQLException
Checks if for CREATE TABLE Test(ID INT), getTables returns TEST as the table name.- Specified by:
storesUpperCaseIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- true is so, false otherwise
- Throws:
java.sql.SQLException
-
storesLowerCaseIdentifiers
public boolean storesLowerCaseIdentifiers() throws java.sql.SQLException
Checks if for CREATE TABLE Test(ID INT), getTables returns test as the table name.- Specified by:
storesLowerCaseIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- true is so, false otherwise
- Throws:
java.sql.SQLException
-
storesMixedCaseIdentifiers
public boolean storesMixedCaseIdentifiers() throws java.sql.SQLException
Checks if for CREATE TABLE Test(ID INT), getTables returns Test as the table name and identifiers are not case sensitive.- Specified by:
storesMixedCaseIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- true is so, false otherwise
- Throws:
java.sql.SQLException
-
supportsMixedCaseQuotedIdentifiers
public boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException
Checks if a table created with CREATE TABLE "Test"(ID INT) is a different table than a table created with CREATE TABLE "TEST"(ID INT).- Specified by:
supportsMixedCaseQuotedIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- true is so, false otherwise
- Throws:
java.sql.SQLException
-
storesUpperCaseQuotedIdentifiers
public boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException
Checks if for CREATE TABLE "Test"(ID INT), getTables returns TEST as the table name.- Specified by:
storesUpperCaseQuotedIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
- Throws:
java.sql.SQLException
-
storesLowerCaseQuotedIdentifiers
public boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException
Checks if for CREATE TABLE "Test"(ID INT), getTables returns test as the table name.- Specified by:
storesLowerCaseQuotedIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
- Throws:
java.sql.SQLException
-
storesMixedCaseQuotedIdentifiers
public boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException
Checks if for CREATE TABLE "Test"(ID INT), getTables returns Test as the table name and identifiers are case insensitive.- Specified by:
storesMixedCaseQuotedIdentifiers
in interfacejava.sql.DatabaseMetaData
- Returns:
- true is so, false otherwise
- Throws:
java.sql.SQLException
-
getMaxBinaryLiteralLength
public int getMaxBinaryLiteralLength()
Returns the maximum length for hex values (characters).- Specified by:
getMaxBinaryLiteralLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxCharLiteralLength
public int getMaxCharLiteralLength()
Returns the maximum length for literals.- Specified by:
getMaxCharLiteralLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxColumnNameLength
public int getMaxColumnNameLength()
Returns the maximum length for column names.- Specified by:
getMaxColumnNameLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxColumnsInGroupBy
public int getMaxColumnsInGroupBy()
Returns the maximum number of columns in GROUP BY.- Specified by:
getMaxColumnsInGroupBy
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxColumnsInIndex
public int getMaxColumnsInIndex()
Returns the maximum number of columns in CREATE INDEX.- Specified by:
getMaxColumnsInIndex
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxColumnsInOrderBy
public int getMaxColumnsInOrderBy()
Returns the maximum number of columns in ORDER BY.- Specified by:
getMaxColumnsInOrderBy
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxColumnsInSelect
public int getMaxColumnsInSelect()
Returns the maximum number of columns in SELECT.- Specified by:
getMaxColumnsInSelect
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxColumnsInTable
public int getMaxColumnsInTable()
Returns the maximum number of columns in CREATE TABLE.- Specified by:
getMaxColumnsInTable
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxConnections
public int getMaxConnections()
Returns the maximum number of open connection.- Specified by:
getMaxConnections
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxCursorNameLength
public int getMaxCursorNameLength()
Returns the maximum length for a cursor name.- Specified by:
getMaxCursorNameLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxIndexLength
public int getMaxIndexLength()
Returns the maximum length for an index (in bytes).- Specified by:
getMaxIndexLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxSchemaNameLength
public int getMaxSchemaNameLength()
Returns the maximum length for a schema name.- Specified by:
getMaxSchemaNameLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxProcedureNameLength
public int getMaxProcedureNameLength()
Returns the maximum length for a procedure name.- Specified by:
getMaxProcedureNameLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxCatalogNameLength
public int getMaxCatalogNameLength()
Returns the maximum length for a catalog name.- Specified by:
getMaxCatalogNameLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxRowSize
public int getMaxRowSize()
Returns the maximum size of a row (in bytes).- Specified by:
getMaxRowSize
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxStatementLength
public int getMaxStatementLength()
Returns the maximum length of a statement.- Specified by:
getMaxStatementLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxStatements
public int getMaxStatements()
Returns the maximum number of open statements.- Specified by:
getMaxStatements
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxTableNameLength
public int getMaxTableNameLength()
Returns the maximum length for a table name.- Specified by:
getMaxTableNameLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxTablesInSelect
public int getMaxTablesInSelect()
Returns the maximum number of tables in a SELECT.- Specified by:
getMaxTablesInSelect
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
getMaxUserNameLength
public int getMaxUserNameLength()
Returns the maximum length for a user name.- Specified by:
getMaxUserNameLength
in interfacejava.sql.DatabaseMetaData
- Returns:
- 0 for limit is unknown
-
supportsSavepoints
public boolean supportsSavepoints()
Does the database support savepoints.- Specified by:
supportsSavepoints
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
supportsNamedParameters
public boolean supportsNamedParameters()
Does the database support named parameters.- Specified by:
supportsNamedParameters
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsMultipleOpenResults
public boolean supportsMultipleOpenResults()
Does the database support multiple open result sets returned from aCallableStatement
.- Specified by:
supportsMultipleOpenResults
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsGetGeneratedKeys
public boolean supportsGetGeneratedKeys()
Does the database support getGeneratedKeys.- Specified by:
supportsGetGeneratedKeys
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
getSuperTypes
public java.sql.ResultSet getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern) throws java.sql.SQLException
[Not supported]- Specified by:
getSuperTypes
in interfacejava.sql.DatabaseMetaData
- Throws:
java.sql.SQLException
-
getSuperTables
public java.sql.ResultSet getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLException
Get the list of super tables of a table. This method currently returns an empty result set.- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- SUPERTABLE_NAME (String) the name of the super table
- Specified by:
getSuperTables
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)tableNamePattern
- null (to get all objects) or a table name pattern (uppercase for unquoted names)- Returns:
- an empty result set
- Throws:
java.sql.SQLException
-
getAttributes
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
[Not supported]- Specified by:
getAttributes
in interfacejava.sql.DatabaseMetaData
- Throws:
java.sql.SQLException
-
supportsResultSetHoldability
public boolean supportsResultSetHoldability(int holdability)
Does this database supports a result set holdability.- Specified by:
supportsResultSetHoldability
in interfacejava.sql.DatabaseMetaData
- Parameters:
holdability
- ResultSet.HOLD_CURSORS_OVER_COMMIT or CLOSE_CURSORS_AT_COMMIT- Returns:
- true if the holdability is ResultSet.CLOSE_CURSORS_AT_COMMIT
-
getResultSetHoldability
public int getResultSetHoldability()
Gets the result set holdability.- Specified by:
getResultSetHoldability
in interfacejava.sql.DatabaseMetaData
- Returns:
- ResultSet.CLOSE_CURSORS_AT_COMMIT
-
getDatabaseMajorVersion
public int getDatabaseMajorVersion() throws java.sql.SQLException
Gets the major version of the database.- Specified by:
getDatabaseMajorVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the major version
- Throws:
java.sql.SQLException
-
getDatabaseMinorVersion
public int getDatabaseMinorVersion() throws java.sql.SQLException
Gets the minor version of the database.- Specified by:
getDatabaseMinorVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the minor version
- Throws:
java.sql.SQLException
-
getJDBCMajorVersion
public int getJDBCMajorVersion()
Gets the major version of the supported JDBC API.- Specified by:
getJDBCMajorVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the major version (4)
-
getJDBCMinorVersion
public int getJDBCMinorVersion()
Gets the minor version of the supported JDBC API.- Specified by:
getJDBCMinorVersion
in interfacejava.sql.DatabaseMetaData
- Returns:
- the minor version (2)
-
getSQLStateType
public int getSQLStateType()
Gets the SQL State type.- Specified by:
getSQLStateType
in interfacejava.sql.DatabaseMetaData
- Returns:
DatabaseMetaData.sqlStateSQL
-
locatorsUpdateCopy
public boolean locatorsUpdateCopy()
Does the database make a copy before updating.- Specified by:
locatorsUpdateCopy
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
supportsStatementPooling
public boolean supportsStatementPooling()
Does the database support statement pooling.- Specified by:
supportsStatementPooling
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
checkClosed
private void checkClosed()
-
getRowIdLifetime
public java.sql.RowIdLifetime getRowIdLifetime()
Get the lifetime of a rowid.- Specified by:
getRowIdLifetime
in interfacejava.sql.DatabaseMetaData
- Returns:
- ROWID_UNSUPPORTED
-
getSchemas
public java.sql.ResultSet getSchemas(java.lang.String catalogPattern, java.lang.String schemaPattern) throws java.sql.SQLException
Gets the list of schemas in the database. The result set is sorted by TABLE_SCHEM.- TABLE_SCHEM (String) schema name
- TABLE_CATALOG (String) catalog name
- Specified by:
getSchemas
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalogPattern
- null (to get all objects) or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)- Returns:
- the schema list
- Throws:
java.sql.SQLException
- if the connection is closed
-
supportsStoredFunctionsUsingCallSyntax
public boolean supportsStoredFunctionsUsingCallSyntax()
Returns whether the database supports calling functions using the call syntax.- Specified by:
supportsStoredFunctionsUsingCallSyntax
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
autoCommitFailureClosesAllResultSets
public boolean autoCommitFailureClosesAllResultSets()
Returns whether an exception while auto commit is on closes all result sets.- Specified by:
autoCommitFailureClosesAllResultSets
in interfacejava.sql.DatabaseMetaData
- Returns:
- false
-
getClientInfoProperties
public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException
- Specified by:
getClientInfoProperties
in interfacejava.sql.DatabaseMetaData
- Throws:
java.sql.SQLException
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
Return an object of this class if possible.- Specified by:
unwrap
in interfacejava.sql.Wrapper
- Parameters:
iface
- the class- Returns:
- this
- Throws:
java.sql.SQLException
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
Checks if unwrap can return an object of this class.- Specified by:
isWrapperFor
in interfacejava.sql.Wrapper
- Parameters:
iface
- the class- Returns:
- whether or not the interface is assignable from this class
- Throws:
java.sql.SQLException
-
getFunctionColumns
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
[Not supported] Gets the list of function columns.- Specified by:
getFunctionColumns
in interfacejava.sql.DatabaseMetaData
- Throws:
java.sql.SQLException
-
getFunctions
public java.sql.ResultSet getFunctions(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern) throws java.sql.SQLException
[Not supported] Gets the list of functions.- Specified by:
getFunctions
in interfacejava.sql.DatabaseMetaData
- Throws:
java.sql.SQLException
-
generatedKeyAlwaysReturned
public boolean generatedKeyAlwaysReturned()
Returns whether database always returns generated keys if valid names or indexes of columns were specified and command was completed successfully.- Specified by:
generatedKeyAlwaysReturned
in interfacejava.sql.DatabaseMetaData
- Returns:
- true
-
getPseudoColumns
public java.sql.ResultSet getPseudoColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
Gets the list of pseudo and invisible columns. The result set is sorted by TABLE_SCHEM, TABLE_NAME, and COLUMN_NAME.- TABLE_CAT (String) table catalog
- TABLE_SCHEM (String) table schema
- TABLE_NAME (String) table name
- COLUMN_NAME (String) column name
- DATA_TYPE (int) data type (see java.sql.Types)
- COLUMN_SIZE (int) precision (values larger than 2 GB are returned as 2 GB)
- DECIMAL_DIGITS (int) scale (0 for INTEGER and VARCHAR)
- NUM_PREC_RADIX (int) radix
- COLUMN_USAGE (String) he allowed usage for the column,
see
PseudoColumnUsage
- REMARKS (String) comment
- CHAR_OCTET_LENGTH (int) for char types the maximum number of bytes in the column
- IS_NULLABLE (String) "NO" or "YES"
- Specified by:
getPseudoColumns
in interfacejava.sql.DatabaseMetaData
- Parameters:
catalog
- null (to get all objects) or the catalog nameschemaPattern
- null (to get all objects) or a schema name (uppercase for unquoted names)tableNamePattern
- null (to get all objects) or a table name (uppercase for unquoted names)columnNamePattern
- null (to get all objects) or a column name (uppercase for unquoted names)- Returns:
- the list of pseudo and invisible columns
- Throws:
java.sql.SQLException
-
toString
public java.lang.String toString()
INTERNAL- Overrides:
toString
in classjava.lang.Object
-
getResultSet
private JdbcResultSet getResultSet(ResultInterface result)
-
-