public class PgDatabaseMetaData
extends java.lang.Object
implements java.sql.DatabaseMetaData
Modifier and Type | Field and Description |
---|---|
protected PgConnection |
connection |
private int |
indexMaxKeys |
private java.lang.String |
keywords |
private int |
nameDataLength |
private static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
tableTypeClauses |
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 |
---|
PgDatabaseMetaData(PgConnection conn) |
Modifier and Type | Method and Description |
---|---|
private static void |
addACLPrivileges(java.lang.String acl,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<java.lang.String[]>>> privileges)
Add the user described by the given acl to the Lists of users with the privileges described by
the acl.
|
boolean |
allProceduresAreCallable() |
boolean |
allTablesAreSelectable() |
boolean |
autoCommitFailureClosesAllResultSets() |
protected java.sql.Statement |
createMetaDataStatement() |
boolean |
dataDefinitionCausesTransactionCommit()
Does a data definition statement within a transaction force the transaction to commit? It seems
to mean something like:
|
boolean |
dataDefinitionIgnoredInTransactions() |
boolean |
deletesAreDetected(int i) |
boolean |
doesMaxRowSizeIncludeBlobs() |
protected java.lang.String |
escapeQuotes(java.lang.String s)
Turn the provided value into a valid string literal for direct inclusion into a query.
|
boolean |
generatedKeyAlwaysReturned() |
java.sql.ResultSet |
getAttributes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.String attributeNamePattern) |
java.sql.ResultSet |
getBestRowIdentifier(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
int scope,
boolean nullable) |
java.sql.ResultSet |
getCatalogs()
PostgreSQL does not support multiple catalogs from a single connection, so to reduce confusion
we only return the current catalog.
|
java.lang.String |
getCatalogSeparator() |
java.lang.String |
getCatalogTerm() |
java.sql.ResultSet |
getClientInfoProperties() |
java.sql.ResultSet |
getColumnPrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String columnNamePattern) |
java.sql.ResultSet |
getColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern) |
java.sql.Connection |
getConnection() |
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) |
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
java.lang.String |
getDatabaseProductName()
Retrieves the name of this database product.
|
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) |
java.lang.String |
getExtraNameCharacters() |
java.sql.ResultSet |
getFunctionColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern,
java.lang.String columnNamePattern) |
java.sql.ResultSet |
getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern) |
java.lang.String |
getIdentifierQuoteString()
What is the string used to quote SQL identifiers? This returns a space if identifier quoting
isn't supported.
|
protected java.sql.ResultSet |
getImportedExportedKeys(java.lang.String primaryCatalog,
java.lang.String primarySchema,
java.lang.String primaryTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.String foreignTable) |
java.sql.ResultSet |
getImportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table) |
java.sql.ResultSet |
getIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.String tableName,
boolean unique,
boolean approximate) |
int |
getJDBCMajorVersion() |
int |
getJDBCMinorVersion() |
int |
getMaxBinaryLiteralLength() |
int |
getMaxCatalogNameLength() |
int |
getMaxCharLiteralLength() |
int |
getMaxColumnNameLength() |
int |
getMaxColumnsInGroupBy() |
int |
getMaxColumnsInIndex() |
int |
getMaxColumnsInOrderBy() |
int |
getMaxColumnsInSelect() |
int |
getMaxColumnsInTable()
What is the maximum number of columns in a table? From the CREATE TABLE reference
page...
|
int |
getMaxConnections()
How many active connection can we have at a time to this database? Well, since it
depends on postmaster, which just does a listen() followed by an accept() and fork(), its
basically very high.
|
int |
getMaxCursorNameLength() |
protected int |
getMaxIndexKeys() |
int |
getMaxIndexLength() |
long |
getMaxLogicalLobSize() |
protected int |
getMaxNameLength() |
int |
getMaxProcedureNameLength() |
int |
getMaxRowSize() |
int |
getMaxSchemaNameLength() |
int |
getMaxStatementLength() |
int |
getMaxStatements() |
int |
getMaxTableNameLength() |
int |
getMaxTablesInSelect() |
int |
getMaxUserNameLength() |
java.lang.String |
getNumericFunctions() |
java.sql.ResultSet |
getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table) |
java.sql.ResultSet |
getProcedureColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String columnNamePattern) |
java.sql.ResultSet |
getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern) |
java.lang.String |
getProcedureTerm() |
java.sql.ResultSet |
getPseudoColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern) |
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() |
int |
getSQLStateType() |
java.lang.String |
getStringFunctions() |
java.sql.ResultSet |
getSuperTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern) |
java.sql.ResultSet |
getSuperTypes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern) |
java.lang.String |
getSystemFunctions() |
java.sql.ResultSet |
getTablePrivileges(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern) |
java.sql.ResultSet |
getTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types) |
java.sql.ResultSet |
getTableTypes() |
java.lang.String |
getTimeDateFunctions() |
java.sql.ResultSet |
getTypeInfo() |
java.sql.ResultSet |
getUDTs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
int[] types) |
java.lang.String |
getURL() |
java.lang.String |
getUserName() |
java.sql.ResultSet |
getVersionColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table) |
boolean |
insertsAreDetected(int type) |
boolean |
isCatalogAtStart() |
boolean |
isReadOnly() |
boolean |
isWrapperFor(java.lang.Class<?> iface) |
boolean |
locatorsUpdateCopy() |
boolean |
nullPlusNonNullIsNull() |
boolean |
nullsAreSortedAtEnd() |
boolean |
nullsAreSortedAtStart() |
boolean |
nullsAreSortedHigh() |
boolean |
nullsAreSortedLow() |
boolean |
othersDeletesAreVisible(int i) |
boolean |
othersInsertsAreVisible(int type) |
boolean |
othersUpdatesAreVisible(int type) |
boolean |
ownDeletesAreVisible(int type) |
boolean |
ownInsertsAreVisible(int type) |
boolean |
ownUpdatesAreVisible(int type) |
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<java.lang.String[]>>> |
parseACL(java.lang.String aclArray,
java.lang.String owner)
Take the a String representing an array of ACLs and return a Map mapping the SQL permission
name to a List of usernames who have that permission.
|
private static java.util.List<java.lang.String> |
parseACLArray(java.lang.String aclString)
Parse an String of ACLs into a List of ACLs.
|
boolean |
storesLowerCaseIdentifiers() |
boolean |
storesLowerCaseQuotedIdentifiers() |
boolean |
storesMixedCaseIdentifiers() |
boolean |
storesMixedCaseQuotedIdentifiers() |
boolean |
storesUpperCaseIdentifiers() |
boolean |
storesUpperCaseQuotedIdentifiers() |
boolean |
supportsAlterTableWithAddColumn() |
boolean |
supportsAlterTableWithDropColumn() |
boolean |
supportsANSI92EntryLevelSQL()
Does this driver support the ANSI-92 entry level SQL grammar? All JDBC Compliant drivers must
return true.
|
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()
Does this driver support the Core ODBC SQL grammar.
|
boolean |
supportsCorrelatedSubqueries() |
boolean |
supportsDataDefinitionAndDataManipulationTransactions() |
boolean |
supportsDataManipulationTransactionsOnly() |
boolean |
supportsDifferentTableCorrelationNames() |
boolean |
supportsExpressionsInOrderBy() |
boolean |
supportsExtendedSQLGrammar()
Does this driver support the Extended (Level 2) ODBC SQL grammar.
|
boolean |
supportsFullOuterJoins() |
boolean |
supportsGetGeneratedKeys() |
boolean |
supportsGroupBy() |
boolean |
supportsGroupByBeyondSelect() |
boolean |
supportsGroupByUnrelated() |
boolean |
supportsIntegrityEnhancementFacility() |
boolean |
supportsLikeEscapeClause() |
boolean |
supportsLimitedOuterJoins() |
boolean |
supportsMinimumSQLGrammar() |
boolean |
supportsMixedCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as case sensitive and as a result
store them in mixed case? A JDBC-Compliant driver will always return false.
|
boolean |
supportsMixedCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as case sensitive and as a result
store them in mixed case? A JDBC compliant driver will always return true.
|
boolean |
supportsMultipleOpenResults() |
boolean |
supportsMultipleResultSets() |
boolean |
supportsMultipleTransactions() |
boolean |
supportsNamedParameters() |
boolean |
supportsNonNullableColumns() |
boolean |
supportsOpenCursorsAcrossCommit()
In PostgreSQL, Cursors are only open within transactions.
|
boolean |
supportsOpenCursorsAcrossRollback() |
boolean |
supportsOpenStatementsAcrossCommit() |
boolean |
supportsOpenStatementsAcrossRollback() |
boolean |
supportsOrderByUnrelated() |
boolean |
supportsOuterJoins() |
boolean |
supportsPositionedDelete()
We support cursors for gets only it seems.
|
boolean |
supportsPositionedUpdate() |
boolean |
supportsRefCursors() |
boolean |
supportsResultSetConcurrency(int type,
int concurrency) |
boolean |
supportsResultSetHoldability(int holdability) |
boolean |
supportsResultSetType(int 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) |
boolean |
supportsTransactions() |
boolean |
supportsUnion() |
boolean |
supportsUnionAll() |
<T> T |
unwrap(java.lang.Class<T> iface) |
boolean |
updatesAreDetected(int type) |
boolean |
usesLocalFilePerTable()
Does the database use a file for each table? Well, not really, since it doesn't use local files.
|
boolean |
usesLocalFiles()
Does the database store tables in a local file? No - it stores them in a file on the server.
|
private java.lang.String keywords
protected final PgConnection connection
private int nameDataLength
private int indexMaxKeys
private static final java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> tableTypeClauses
public PgDatabaseMetaData(PgConnection conn)
protected int getMaxIndexKeys() throws java.sql.SQLException
java.sql.SQLException
protected int getMaxNameLength() throws java.sql.SQLException
java.sql.SQLException
public boolean allProceduresAreCallable() throws java.sql.SQLException
allProceduresAreCallable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean allTablesAreSelectable() throws java.sql.SQLException
allTablesAreSelectable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getURL() throws java.sql.SQLException
getURL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getUserName() throws java.sql.SQLException
getUserName
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean isReadOnly() throws java.sql.SQLException
isReadOnly
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedHigh() throws java.sql.SQLException
nullsAreSortedHigh
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedLow() throws java.sql.SQLException
nullsAreSortedLow
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedAtStart() throws java.sql.SQLException
nullsAreSortedAtStart
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedAtEnd() throws java.sql.SQLException
nullsAreSortedAtEnd
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getDatabaseProductName() throws java.sql.SQLException
getDatabaseProductName
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getDatabaseProductVersion() throws java.sql.SQLException
getDatabaseProductVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getDriverName()
getDriverName
in interface java.sql.DatabaseMetaData
public java.lang.String getDriverVersion()
getDriverVersion
in interface java.sql.DatabaseMetaData
public int getDriverMajorVersion()
getDriverMajorVersion
in interface java.sql.DatabaseMetaData
public int getDriverMinorVersion()
getDriverMinorVersion
in interface java.sql.DatabaseMetaData
public boolean usesLocalFiles() throws java.sql.SQLException
usesLocalFiles
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean usesLocalFilePerTable() throws java.sql.SQLException
usesLocalFilePerTable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException
supportsMixedCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean storesUpperCaseIdentifiers() throws java.sql.SQLException
storesUpperCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesLowerCaseIdentifiers() throws java.sql.SQLException
storesLowerCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesMixedCaseIdentifiers() throws java.sql.SQLException
storesMixedCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException
supportsMixedCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException
storesUpperCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException
storesLowerCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException
storesMixedCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getIdentifierQuoteString() throws java.sql.SQLException
getIdentifierQuoteString
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic java.lang.String getSQLKeywords() throws java.sql.SQLException
From PostgreSQL 9.0+ return the keywords from pg_catalog.pg_get_keywords()
getSQLKeywords
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic java.lang.String getNumericFunctions() throws java.sql.SQLException
getNumericFunctions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getStringFunctions() throws java.sql.SQLException
getStringFunctions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getSystemFunctions() throws java.sql.SQLException
getSystemFunctions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getTimeDateFunctions() throws java.sql.SQLException
getTimeDateFunctions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getSearchStringEscape() throws java.sql.SQLException
getSearchStringEscape
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getExtraNameCharacters() throws java.sql.SQLException
Postgresql allows any high-bit character to be used in an unquoted identifier, so we can't possibly list them all.
From the file src/backend/parser/scan.l, an identifier is ident_start [A-Za-z\200-\377_] ident_cont [A-Za-z\200-\377_0-9\$] identifier {ident_start}{ident_cont}*
getExtraNameCharacters
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean supportsAlterTableWithAddColumn() throws java.sql.SQLException
supportsAlterTableWithAddColumn
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsAlterTableWithDropColumn() throws java.sql.SQLException
supportsAlterTableWithDropColumn
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsColumnAliasing() throws java.sql.SQLException
supportsColumnAliasing
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullPlusNonNullIsNull() throws java.sql.SQLException
nullPlusNonNullIsNull
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsConvert() throws java.sql.SQLException
supportsConvert
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsConvert(int fromType, int toType) throws java.sql.SQLException
supportsConvert
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsTableCorrelationNames() throws java.sql.SQLException
supportsTableCorrelationNames
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsDifferentTableCorrelationNames() throws java.sql.SQLException
supportsDifferentTableCorrelationNames
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsExpressionsInOrderBy() throws java.sql.SQLException
supportsExpressionsInOrderBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOrderByUnrelated() throws java.sql.SQLException
supportsOrderByUnrelated
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGroupBy() throws java.sql.SQLException
supportsGroupBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGroupByUnrelated() throws java.sql.SQLException
supportsGroupByUnrelated
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGroupByBeyondSelect() throws java.sql.SQLException
supportsGroupByBeyondSelect
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsLikeEscapeClause() throws java.sql.SQLException
supportsLikeEscapeClause
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMultipleResultSets() throws java.sql.SQLException
supportsMultipleResultSets
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMultipleTransactions() throws java.sql.SQLException
supportsMultipleTransactions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsNonNullableColumns() throws java.sql.SQLException
supportsNonNullableColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMinimumSQLGrammar() throws java.sql.SQLException
This grammar is defined at: http://www.microsoft.com/msdn/sdk/platforms/doc/odbc/src/intropr.htm
In Appendix C. From this description, we seem to support the ODBC minimal (Level 0) grammar.
supportsMinimumSQLGrammar
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCoreSQLGrammar() throws java.sql.SQLException
supportsCoreSQLGrammar
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean supportsExtendedSQLGrammar() throws java.sql.SQLException
supportsExtendedSQLGrammar
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean supportsANSI92EntryLevelSQL() throws java.sql.SQLException
supportsANSI92EntryLevelSQL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean supportsANSI92IntermediateSQL() throws java.sql.SQLException
supportsANSI92IntermediateSQL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsANSI92FullSQL() throws java.sql.SQLException
supportsANSI92FullSQL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsIntegrityEnhancementFacility() throws java.sql.SQLException
supportsIntegrityEnhancementFacility
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOuterJoins() throws java.sql.SQLException
supportsOuterJoins
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsFullOuterJoins() throws java.sql.SQLException
supportsFullOuterJoins
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsLimitedOuterJoins() throws java.sql.SQLException
supportsLimitedOuterJoins
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getSchemaTerm() throws java.sql.SQLException
PostgreSQL doesn't have schemas, but when it does, we'll use the term "schema".
getSchemaTerm
in interface java.sql.DatabaseMetaData
"schema"
java.sql.SQLException
public java.lang.String getProcedureTerm() throws java.sql.SQLException
getProcedureTerm
in interface java.sql.DatabaseMetaData
"function"
java.sql.SQLException
public java.lang.String getCatalogTerm() throws java.sql.SQLException
getCatalogTerm
in interface java.sql.DatabaseMetaData
"database"
java.sql.SQLException
public boolean isCatalogAtStart() throws java.sql.SQLException
isCatalogAtStart
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getCatalogSeparator() throws java.sql.SQLException
getCatalogSeparator
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInDataManipulation() throws java.sql.SQLException
supportsSchemasInDataManipulation
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInProcedureCalls() throws java.sql.SQLException
supportsSchemasInProcedureCalls
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInTableDefinitions() throws java.sql.SQLException
supportsSchemasInTableDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInIndexDefinitions() throws java.sql.SQLException
supportsSchemasInIndexDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInPrivilegeDefinitions() throws java.sql.SQLException
supportsSchemasInPrivilegeDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInDataManipulation() throws java.sql.SQLException
supportsCatalogsInDataManipulation
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInProcedureCalls() throws java.sql.SQLException
supportsCatalogsInProcedureCalls
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInTableDefinitions() throws java.sql.SQLException
supportsCatalogsInTableDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInIndexDefinitions() throws java.sql.SQLException
supportsCatalogsInIndexDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInPrivilegeDefinitions() throws java.sql.SQLException
supportsCatalogsInPrivilegeDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsPositionedDelete() throws java.sql.SQLException
supportsPositionedDelete
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean supportsPositionedUpdate() throws java.sql.SQLException
supportsPositionedUpdate
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSelectForUpdate() throws java.sql.SQLException
supportsSelectForUpdate
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsStoredProcedures() throws java.sql.SQLException
supportsStoredProcedures
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInComparisons() throws java.sql.SQLException
supportsSubqueriesInComparisons
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInExists() throws java.sql.SQLException
supportsSubqueriesInExists
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInIns() throws java.sql.SQLException
supportsSubqueriesInIns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInQuantifieds() throws java.sql.SQLException
supportsSubqueriesInQuantifieds
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCorrelatedSubqueries() throws java.sql.SQLException
supportsCorrelatedSubqueries
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsUnion() throws java.sql.SQLException
supportsUnion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsUnionAll() throws java.sql.SQLException
supportsUnionAll
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenCursorsAcrossCommit() throws java.sql.SQLException
supportsOpenCursorsAcrossCommit
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenCursorsAcrossRollback() throws java.sql.SQLException
supportsOpenCursorsAcrossRollback
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenStatementsAcrossCommit() throws java.sql.SQLException
Can statements remain open across commits? They may, but this driver cannot guarantee that. In further reflection. we are talking a Statement object here, so the answer is yes, since the Statement is only a vehicle to ExecSQL()
supportsOpenStatementsAcrossCommit
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenStatementsAcrossRollback() throws java.sql.SQLException
Can statements remain open across rollbacks? They may, but this driver cannot guarantee that. In further contemplation, we are talking a Statement object here, so the answer is yes, since the Statement is only a vehicle to ExecSQL() in Connection
supportsOpenStatementsAcrossRollback
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxCharLiteralLength() throws java.sql.SQLException
getMaxCharLiteralLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxBinaryLiteralLength() throws java.sql.SQLException
getMaxBinaryLiteralLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnNameLength() throws java.sql.SQLException
getMaxColumnNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInGroupBy() throws java.sql.SQLException
getMaxColumnsInGroupBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInIndex() throws java.sql.SQLException
getMaxColumnsInIndex
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInOrderBy() throws java.sql.SQLException
getMaxColumnsInOrderBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInSelect() throws java.sql.SQLException
getMaxColumnsInSelect
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInTable() throws java.sql.SQLException
"The new class is created as a heap with no initial data. A class can have no more than 1600 attributes (realistically, this is limited by the fact that tuple sizes must be less than 8192 bytes)..."
getMaxColumnsInTable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic int getMaxConnections() throws java.sql.SQLException
getMaxConnections
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic int getMaxCursorNameLength() throws java.sql.SQLException
getMaxCursorNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxIndexLength() throws java.sql.SQLException
getMaxIndexLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxSchemaNameLength() throws java.sql.SQLException
getMaxSchemaNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxProcedureNameLength() throws java.sql.SQLException
getMaxProcedureNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxCatalogNameLength() throws java.sql.SQLException
getMaxCatalogNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxRowSize() throws java.sql.SQLException
getMaxRowSize
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean doesMaxRowSizeIncludeBlobs() throws java.sql.SQLException
doesMaxRowSizeIncludeBlobs
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxStatementLength() throws java.sql.SQLException
getMaxStatementLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxStatements() throws java.sql.SQLException
getMaxStatements
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxTableNameLength() throws java.sql.SQLException
getMaxTableNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxTablesInSelect() throws java.sql.SQLException
getMaxTablesInSelect
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxUserNameLength() throws java.sql.SQLException
getMaxUserNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getDefaultTransactionIsolation() throws java.sql.SQLException
getDefaultTransactionIsolation
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsTransactions() throws java.sql.SQLException
supportsTransactions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsTransactionIsolationLevel(int level) throws java.sql.SQLException
We only support TRANSACTION_SERIALIZABLE and TRANSACTION_READ_COMMITTED before 8.0; from 8.0 READ_UNCOMMITTED and REPEATABLE_READ are accepted aliases for READ_COMMITTED.
supportsTransactionIsolationLevel
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsDataDefinitionAndDataManipulationTransactions() throws java.sql.SQLException
supportsDataDefinitionAndDataManipulationTransactions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsDataManipulationTransactionsOnly() throws java.sql.SQLException
supportsDataManipulationTransactionsOnly
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean dataDefinitionCausesTransactionCommit() throws java.sql.SQLException
Does a data definition statement within a transaction force the transaction to commit? It seems to mean something like:
CREATE TABLE T (A INT); INSERT INTO T (A) VALUES (2); BEGIN; UPDATE T SET A = A + 1; CREATE TABLE X (A INT); SELECT A FROM T INTO X; COMMIT;
Does the CREATE TABLE call cause a commit? The answer is no.
dataDefinitionCausesTransactionCommit
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic boolean dataDefinitionIgnoredInTransactions() throws java.sql.SQLException
dataDefinitionIgnoredInTransactions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
protected java.lang.String escapeQuotes(java.lang.String s) throws java.sql.SQLException
s
- input valuejava.sql.SQLException
- if something wrong happenspublic java.sql.ResultSet getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern) throws java.sql.SQLException
getProcedures
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getProcedureColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getTables
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getSchemas() throws java.sql.SQLException
getSchemas
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getSchemas(java.lang.String catalog, java.lang.String schemaPattern) throws java.sql.SQLException
getSchemas
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getCatalogs() throws java.sql.SQLException
getCatalogs
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getTableTypes() throws java.sql.SQLException
getTableTypes
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getColumnPrivileges
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLException
getTablePrivileges
in interface java.sql.DatabaseMetaData
java.sql.SQLException
private static java.util.List<java.lang.String> parseACLArray(java.lang.String aclString)
private static void addACLPrivileges(java.lang.String acl, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<java.lang.String[]>>> privileges)
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.List<java.lang.String[]>>> parseACL(java.lang.String aclArray, java.lang.String owner)
SELECT -> user1 -> list of [grantor, grantable]
aclArray
- ACL arrayowner
- ownerpublic java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable) throws java.sql.SQLException
getBestRowIdentifier
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
getVersionColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
getPrimaryKeys
in interface java.sql.DatabaseMetaData
java.sql.SQLException
protected java.sql.ResultSet getImportedExportedKeys(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
primaryCatalog
- primary catalogprimarySchema
- primary schemaprimaryTable
- if provided will get the keys exported by this tableforeignCatalog
- foreign catalogforeignSchema
- foreign schemaforeignTable
- if provided will get the keys imported by this tablejava.sql.SQLException
- if something wrong happenspublic java.sql.ResultSet getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
getImportedKeys
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
getExportedKeys
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getCrossReference
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException
getTypeInfo
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String tableName, boolean unique, boolean approximate) throws java.sql.SQLException
getIndexInfo
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsResultSetType(int type) throws java.sql.SQLException
supportsResultSetType
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsResultSetConcurrency(int type, int concurrency) throws java.sql.SQLException
supportsResultSetConcurrency
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean ownUpdatesAreVisible(int type) throws java.sql.SQLException
ownUpdatesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean ownDeletesAreVisible(int type) throws java.sql.SQLException
ownDeletesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean ownInsertsAreVisible(int type) throws java.sql.SQLException
ownInsertsAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean othersUpdatesAreVisible(int type) throws java.sql.SQLException
othersUpdatesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean othersDeletesAreVisible(int i) throws java.sql.SQLException
othersDeletesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean othersInsertsAreVisible(int type) throws java.sql.SQLException
othersInsertsAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean updatesAreDetected(int type) throws java.sql.SQLException
updatesAreDetected
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean deletesAreDetected(int i) throws java.sql.SQLException
deletesAreDetected
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean insertsAreDetected(int type) throws java.sql.SQLException
insertsAreDetected
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsBatchUpdates() throws java.sql.SQLException
supportsBatchUpdates
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types) throws java.sql.SQLException
getUDTs
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.Connection getConnection() throws java.sql.SQLException
getConnection
in interface java.sql.DatabaseMetaData
java.sql.SQLException
protected java.sql.Statement createMetaDataStatement() throws java.sql.SQLException
java.sql.SQLException
public long getMaxLogicalLobSize() throws java.sql.SQLException
getMaxLogicalLobSize
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsRefCursors() throws java.sql.SQLException
supportsRefCursors
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException
getRowIdLifetime
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException
supportsStoredFunctionsUsingCallSyntax
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException
autoCommitFailureClosesAllResultSets
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException
getClientInfoProperties
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
isWrapperFor
in interface java.sql.Wrapper
java.sql.SQLException
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
unwrap
in interface java.sql.Wrapper
java.sql.SQLException
public java.sql.ResultSet getFunctions(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern) throws java.sql.SQLException
getFunctions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getFunctionColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getPseudoColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean generatedKeyAlwaysReturned() throws java.sql.SQLException
generatedKeyAlwaysReturned
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSavepoints() throws java.sql.SQLException
supportsSavepoints
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsNamedParameters() throws java.sql.SQLException
supportsNamedParameters
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMultipleOpenResults() throws java.sql.SQLException
supportsMultipleOpenResults
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGetGeneratedKeys() throws java.sql.SQLException
supportsGetGeneratedKeys
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern) throws java.sql.SQLException
getSuperTypes
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLException
getSuperTables
in interface java.sql.DatabaseMetaData
java.sql.SQLException
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
getAttributes
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsResultSetHoldability(int holdability) throws java.sql.SQLException
supportsResultSetHoldability
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getResultSetHoldability() throws java.sql.SQLException
getResultSetHoldability
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getDatabaseMajorVersion() throws java.sql.SQLException
getDatabaseMajorVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getDatabaseMinorVersion() throws java.sql.SQLException
getDatabaseMinorVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getJDBCMajorVersion()
getJDBCMajorVersion
in interface java.sql.DatabaseMetaData
public int getJDBCMinorVersion()
getJDBCMinorVersion
in interface java.sql.DatabaseMetaData
public int getSQLStateType() throws java.sql.SQLException
getSQLStateType
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean locatorsUpdateCopy() throws java.sql.SQLException
locatorsUpdateCopy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsStatementPooling() throws java.sql.SQLException
supportsStatementPooling
in interface java.sql.DatabaseMetaData
java.sql.SQLException