public class PgDatabaseMetaData extends Object implements DatabaseMetaData
Modifier and Type | Field and Description |
---|---|
protected PgConnection |
connection |
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 |
---|---|
boolean |
allProceduresAreCallable() |
boolean |
allTablesAreSelectable() |
boolean |
autoCommitFailureClosesAllResultSets() |
protected 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 String |
escapeQuotes(String s)
Turn the provided value into a valid string literal for direct inclusion into a query.
|
boolean |
generatedKeyAlwaysReturned() |
ResultSet |
getAttributes(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String typeNamePattern,
@Nullable String attributeNamePattern) |
ResultSet |
getBestRowIdentifier(@Nullable String catalog,
@Nullable String schema,
String table,
int scope,
boolean nullable) |
ResultSet |
getCatalogs()
PostgreSQL does not support multiple catalogs from a single connection, so to reduce confusion
we only return the current catalog.
|
String |
getCatalogSeparator() |
String |
getCatalogTerm() |
ResultSet |
getClientInfoProperties() |
ResultSet |
getColumnPrivileges(@Nullable String catalog,
@Nullable String schema,
String table,
@Nullable String columnNamePattern) |
ResultSet |
getColumns(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String tableNamePattern,
@Nullable String columnNamePattern) |
Connection |
getConnection() |
ResultSet |
getCrossReference(@Nullable String primaryCatalog,
@Nullable String primarySchema,
String primaryTable,
@Nullable String foreignCatalog,
@Nullable String foreignSchema,
String foreignTable) |
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
String |
getDatabaseProductName()
Retrieves the name of this database product.
|
String |
getDatabaseProductVersion() |
int |
getDefaultTransactionIsolation() |
int |
getDriverMajorVersion() |
int |
getDriverMinorVersion() |
String |
getDriverName() |
String |
getDriverVersion() |
ResultSet |
getExportedKeys(@Nullable String catalog,
@Nullable String schema,
String table) |
String |
getExtraNameCharacters() |
ResultSet |
getFunctionColumns(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String functionNamePattern,
@Nullable String columnNamePattern) |
ResultSet |
getFunctions(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String functionNamePattern) |
String |
getIdentifierQuoteString()
What is the string used to quote SQL identifiers? This returns a space if identifier quoting
isn't supported.
|
protected ResultSet |
getImportedExportedKeys(@Nullable String primaryCatalog,
@Nullable String primarySchema,
@Nullable String primaryTable,
@Nullable String foreignCatalog,
@Nullable String foreignSchema,
@Nullable String foreignTable) |
ResultSet |
getImportedKeys(@Nullable String catalog,
@Nullable String schema,
String table) |
ResultSet |
getIndexInfo(@Nullable String catalog,
@Nullable String schema,
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() |
String |
getNumericFunctions() |
ResultSet |
getPrimaryKeys(@Nullable String catalog,
@Nullable String schema,
String table) |
protected ResultSet |
getPrimaryUniqueKeys(@Nullable String catalog,
@Nullable String schema,
String table) |
ResultSet |
getProcedureColumns(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String procedureNamePattern,
@Nullable String columnNamePattern) |
ResultSet |
getProcedures(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String procedureNamePattern) |
String |
getProcedureTerm() |
ResultSet |
getPseudoColumns(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String tableNamePattern,
@Nullable String columnNamePattern) |
int |
getResultSetHoldability() |
RowIdLifetime |
getRowIdLifetime() |
ResultSet |
getSchemas() |
ResultSet |
getSchemas(@Nullable String catalog,
@Nullable String schemaPattern) |
String |
getSchemaTerm() |
String |
getSearchStringEscape() |
String |
getSQLKeywords() |
int |
getSQLStateType() |
String |
getStringFunctions() |
ResultSet |
getSuperTables(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String tableNamePattern) |
ResultSet |
getSuperTypes(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String typeNamePattern) |
String |
getSystemFunctions() |
ResultSet |
getTablePrivileges(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String tableNamePattern) |
ResultSet |
getTables(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String tableNamePattern,
String[] types) |
ResultSet |
getTableTypes() |
String |
getTimeDateFunctions() |
ResultSet |
getTypeInfo() |
ResultSet |
getUDTs(@Nullable String catalog,
@Nullable String schemaPattern,
@Nullable String typeNamePattern,
int[] types) |
String |
getURL() |
String |
getUserName() |
ResultSet |
getVersionColumns(@Nullable String catalog,
@Nullable String schema,
String table) |
boolean |
insertsAreDetected(int type) |
boolean |
isCatalogAtStart() |
boolean |
isReadOnly() |
boolean |
isWrapperFor(Class<?> iface) |
boolean |
locatorsUpdateCopy() |
boolean |
nullPlusNonNullIsNull() |
boolean |
nullsAreSortedAtEnd() |
boolean |
nullsAreSortedAtStart() |
boolean |
nullsAreSortedHigh() |
boolean |
nullsAreSortedLow() |
boolean |
othersDeletesAreVisible(int i) |
boolean |
othersInsertsAreVisible(int type) |
boolean |
othersUpdatesAreVisible(int type) |
boolean |
ownDeletesAreVisible(int type) |
boolean |
ownInsertsAreVisible(int type) |
boolean |
ownUpdatesAreVisible(int type) |
Map<String,Map<String,List<String[]>>> |
parseACL(@Nullable String aclArray,
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.
|
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(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.
|
protected final PgConnection connection
public PgDatabaseMetaData(PgConnection conn)
protected int getMaxIndexKeys() throws SQLException
SQLException
protected int getMaxNameLength() throws SQLException
SQLException
public boolean allProceduresAreCallable() throws SQLException
allProceduresAreCallable
in interface DatabaseMetaData
SQLException
public boolean allTablesAreSelectable() throws SQLException
allTablesAreSelectable
in interface DatabaseMetaData
SQLException
public String getURL() throws SQLException
getURL
in interface DatabaseMetaData
SQLException
public String getUserName() throws SQLException
getUserName
in interface DatabaseMetaData
SQLException
public boolean isReadOnly() throws SQLException
isReadOnly
in interface DatabaseMetaData
SQLException
public boolean nullsAreSortedHigh() throws SQLException
nullsAreSortedHigh
in interface DatabaseMetaData
SQLException
public boolean nullsAreSortedLow() throws SQLException
nullsAreSortedLow
in interface DatabaseMetaData
SQLException
public boolean nullsAreSortedAtStart() throws SQLException
nullsAreSortedAtStart
in interface DatabaseMetaData
SQLException
public boolean nullsAreSortedAtEnd() throws SQLException
nullsAreSortedAtEnd
in interface DatabaseMetaData
SQLException
public String getDatabaseProductName() throws SQLException
getDatabaseProductName
in interface DatabaseMetaData
SQLException
public String getDatabaseProductVersion() throws SQLException
getDatabaseProductVersion
in interface DatabaseMetaData
SQLException
public String getDriverName()
getDriverName
in interface DatabaseMetaData
public String getDriverVersion()
getDriverVersion
in interface DatabaseMetaData
public int getDriverMajorVersion()
getDriverMajorVersion
in interface DatabaseMetaData
public int getDriverMinorVersion()
getDriverMinorVersion
in interface DatabaseMetaData
public boolean usesLocalFiles() throws SQLException
usesLocalFiles
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean usesLocalFilePerTable() throws SQLException
usesLocalFilePerTable
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean supportsMixedCaseIdentifiers() throws SQLException
supportsMixedCaseIdentifiers
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean storesUpperCaseIdentifiers() throws SQLException
storesUpperCaseIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesLowerCaseIdentifiers() throws SQLException
storesLowerCaseIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesMixedCaseIdentifiers() throws SQLException
storesMixedCaseIdentifiers
in interface DatabaseMetaData
SQLException
public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException
supportsMixedCaseQuotedIdentifiers
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean storesUpperCaseQuotedIdentifiers() throws SQLException
storesUpperCaseQuotedIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesLowerCaseQuotedIdentifiers() throws SQLException
storesLowerCaseQuotedIdentifiers
in interface DatabaseMetaData
SQLException
public boolean storesMixedCaseQuotedIdentifiers() throws SQLException
storesMixedCaseQuotedIdentifiers
in interface DatabaseMetaData
SQLException
public String getIdentifierQuoteString() throws SQLException
getIdentifierQuoteString
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic String getSQLKeywords() throws SQLException
From PostgreSQL 9.0+ return the keywords from pg_catalog.pg_get_keywords()
getSQLKeywords
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic String getNumericFunctions() throws SQLException
getNumericFunctions
in interface DatabaseMetaData
SQLException
public String getStringFunctions() throws SQLException
getStringFunctions
in interface DatabaseMetaData
SQLException
public String getSystemFunctions() throws SQLException
getSystemFunctions
in interface DatabaseMetaData
SQLException
public String getTimeDateFunctions() throws SQLException
getTimeDateFunctions
in interface DatabaseMetaData
SQLException
public String getSearchStringEscape() throws SQLException
getSearchStringEscape
in interface DatabaseMetaData
SQLException
public String getExtraNameCharacters() throws 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 DatabaseMetaData
SQLException
- if a database access error occurspublic boolean supportsAlterTableWithAddColumn() throws SQLException
supportsAlterTableWithAddColumn
in interface DatabaseMetaData
SQLException
public boolean supportsAlterTableWithDropColumn() throws SQLException
supportsAlterTableWithDropColumn
in interface DatabaseMetaData
SQLException
public boolean supportsColumnAliasing() throws SQLException
supportsColumnAliasing
in interface DatabaseMetaData
SQLException
public boolean nullPlusNonNullIsNull() throws SQLException
nullPlusNonNullIsNull
in interface DatabaseMetaData
SQLException
public boolean supportsConvert() throws SQLException
supportsConvert
in interface DatabaseMetaData
SQLException
public boolean supportsConvert(int fromType, int toType) throws SQLException
supportsConvert
in interface DatabaseMetaData
SQLException
public boolean supportsTableCorrelationNames() throws SQLException
supportsTableCorrelationNames
in interface DatabaseMetaData
SQLException
public boolean supportsDifferentTableCorrelationNames() throws SQLException
supportsDifferentTableCorrelationNames
in interface DatabaseMetaData
SQLException
public boolean supportsExpressionsInOrderBy() throws SQLException
supportsExpressionsInOrderBy
in interface DatabaseMetaData
SQLException
public boolean supportsOrderByUnrelated() throws SQLException
supportsOrderByUnrelated
in interface DatabaseMetaData
SQLException
public boolean supportsGroupBy() throws SQLException
supportsGroupBy
in interface DatabaseMetaData
SQLException
public boolean supportsGroupByUnrelated() throws SQLException
supportsGroupByUnrelated
in interface DatabaseMetaData
SQLException
public boolean supportsGroupByBeyondSelect() throws SQLException
supportsGroupByBeyondSelect
in interface DatabaseMetaData
SQLException
public boolean supportsLikeEscapeClause() throws SQLException
supportsLikeEscapeClause
in interface DatabaseMetaData
SQLException
public boolean supportsMultipleResultSets() throws SQLException
supportsMultipleResultSets
in interface DatabaseMetaData
SQLException
public boolean supportsMultipleTransactions() throws SQLException
supportsMultipleTransactions
in interface DatabaseMetaData
SQLException
public boolean supportsNonNullableColumns() throws SQLException
supportsNonNullableColumns
in interface DatabaseMetaData
SQLException
public boolean supportsMinimumSQLGrammar() throws 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 DatabaseMetaData
SQLException
public boolean supportsCoreSQLGrammar() throws SQLException
supportsCoreSQLGrammar
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean supportsExtendedSQLGrammar() throws SQLException
supportsExtendedSQLGrammar
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean supportsANSI92EntryLevelSQL() throws SQLException
supportsANSI92EntryLevelSQL
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean supportsANSI92IntermediateSQL() throws SQLException
supportsANSI92IntermediateSQL
in interface DatabaseMetaData
SQLException
public boolean supportsANSI92FullSQL() throws SQLException
supportsANSI92FullSQL
in interface DatabaseMetaData
SQLException
public boolean supportsIntegrityEnhancementFacility() throws SQLException
supportsIntegrityEnhancementFacility
in interface DatabaseMetaData
SQLException
public boolean supportsOuterJoins() throws SQLException
supportsOuterJoins
in interface DatabaseMetaData
SQLException
public boolean supportsFullOuterJoins() throws SQLException
supportsFullOuterJoins
in interface DatabaseMetaData
SQLException
public boolean supportsLimitedOuterJoins() throws SQLException
supportsLimitedOuterJoins
in interface DatabaseMetaData
SQLException
public String getSchemaTerm() throws SQLException
PostgreSQL doesn't have schemas, but when it does, we'll use the term "schema".
getSchemaTerm
in interface DatabaseMetaData
"schema"
SQLException
public String getProcedureTerm() throws SQLException
getProcedureTerm
in interface DatabaseMetaData
"function"
SQLException
public String getCatalogTerm() throws SQLException
getCatalogTerm
in interface DatabaseMetaData
"database"
SQLException
public boolean isCatalogAtStart() throws SQLException
isCatalogAtStart
in interface DatabaseMetaData
SQLException
public String getCatalogSeparator() throws SQLException
getCatalogSeparator
in interface DatabaseMetaData
SQLException
public boolean supportsSchemasInDataManipulation() throws SQLException
supportsSchemasInDataManipulation
in interface DatabaseMetaData
SQLException
public boolean supportsSchemasInProcedureCalls() throws SQLException
supportsSchemasInProcedureCalls
in interface DatabaseMetaData
SQLException
public boolean supportsSchemasInTableDefinitions() throws SQLException
supportsSchemasInTableDefinitions
in interface DatabaseMetaData
SQLException
public boolean supportsSchemasInIndexDefinitions() throws SQLException
supportsSchemasInIndexDefinitions
in interface DatabaseMetaData
SQLException
public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException
supportsSchemasInPrivilegeDefinitions
in interface DatabaseMetaData
SQLException
public boolean supportsCatalogsInDataManipulation() throws SQLException
supportsCatalogsInDataManipulation
in interface DatabaseMetaData
SQLException
public boolean supportsCatalogsInProcedureCalls() throws SQLException
supportsCatalogsInProcedureCalls
in interface DatabaseMetaData
SQLException
public boolean supportsCatalogsInTableDefinitions() throws SQLException
supportsCatalogsInTableDefinitions
in interface DatabaseMetaData
SQLException
public boolean supportsCatalogsInIndexDefinitions() throws SQLException
supportsCatalogsInIndexDefinitions
in interface DatabaseMetaData
SQLException
public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException
supportsCatalogsInPrivilegeDefinitions
in interface DatabaseMetaData
SQLException
public boolean supportsPositionedDelete() throws SQLException
supportsPositionedDelete
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic boolean supportsPositionedUpdate() throws SQLException
supportsPositionedUpdate
in interface DatabaseMetaData
SQLException
public boolean supportsSelectForUpdate() throws SQLException
supportsSelectForUpdate
in interface DatabaseMetaData
SQLException
public boolean supportsStoredProcedures() throws SQLException
supportsStoredProcedures
in interface DatabaseMetaData
SQLException
public boolean supportsSubqueriesInComparisons() throws SQLException
supportsSubqueriesInComparisons
in interface DatabaseMetaData
SQLException
public boolean supportsSubqueriesInExists() throws SQLException
supportsSubqueriesInExists
in interface DatabaseMetaData
SQLException
public boolean supportsSubqueriesInIns() throws SQLException
supportsSubqueriesInIns
in interface DatabaseMetaData
SQLException
public boolean supportsSubqueriesInQuantifieds() throws SQLException
supportsSubqueriesInQuantifieds
in interface DatabaseMetaData
SQLException
public boolean supportsCorrelatedSubqueries() throws SQLException
supportsCorrelatedSubqueries
in interface DatabaseMetaData
SQLException
public boolean supportsUnion() throws SQLException
supportsUnion
in interface DatabaseMetaData
SQLException
public boolean supportsUnionAll() throws SQLException
supportsUnionAll
in interface DatabaseMetaData
SQLException
public boolean supportsOpenCursorsAcrossCommit() throws SQLException
supportsOpenCursorsAcrossCommit
in interface DatabaseMetaData
SQLException
public boolean supportsOpenCursorsAcrossRollback() throws SQLException
supportsOpenCursorsAcrossRollback
in interface DatabaseMetaData
SQLException
public boolean supportsOpenStatementsAcrossCommit() throws 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 DatabaseMetaData
SQLException
public boolean supportsOpenStatementsAcrossRollback() throws 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 DatabaseMetaData
SQLException
public int getMaxCharLiteralLength() throws SQLException
getMaxCharLiteralLength
in interface DatabaseMetaData
SQLException
public int getMaxBinaryLiteralLength() throws SQLException
getMaxBinaryLiteralLength
in interface DatabaseMetaData
SQLException
public int getMaxColumnNameLength() throws SQLException
getMaxColumnNameLength
in interface DatabaseMetaData
SQLException
public int getMaxColumnsInGroupBy() throws SQLException
getMaxColumnsInGroupBy
in interface DatabaseMetaData
SQLException
public int getMaxColumnsInIndex() throws SQLException
getMaxColumnsInIndex
in interface DatabaseMetaData
SQLException
public int getMaxColumnsInOrderBy() throws SQLException
getMaxColumnsInOrderBy
in interface DatabaseMetaData
SQLException
public int getMaxColumnsInSelect() throws SQLException
getMaxColumnsInSelect
in interface DatabaseMetaData
SQLException
public int getMaxColumnsInTable() throws 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 DatabaseMetaData
SQLException
- if a database access error occurspublic int getMaxConnections() throws SQLException
getMaxConnections
in interface DatabaseMetaData
SQLException
- if a database access error occurspublic int getMaxCursorNameLength() throws SQLException
getMaxCursorNameLength
in interface DatabaseMetaData
SQLException
public int getMaxIndexLength() throws SQLException
getMaxIndexLength
in interface DatabaseMetaData
SQLException
public int getMaxSchemaNameLength() throws SQLException
getMaxSchemaNameLength
in interface DatabaseMetaData
SQLException
public int getMaxProcedureNameLength() throws SQLException
getMaxProcedureNameLength
in interface DatabaseMetaData
SQLException
public int getMaxCatalogNameLength() throws SQLException
getMaxCatalogNameLength
in interface DatabaseMetaData
SQLException
public int getMaxRowSize() throws SQLException
getMaxRowSize
in interface DatabaseMetaData
SQLException
public boolean doesMaxRowSizeIncludeBlobs() throws SQLException
doesMaxRowSizeIncludeBlobs
in interface DatabaseMetaData
SQLException
public int getMaxStatementLength() throws SQLException
getMaxStatementLength
in interface DatabaseMetaData
SQLException
public int getMaxStatements() throws SQLException
getMaxStatements
in interface DatabaseMetaData
SQLException
public int getMaxTableNameLength() throws SQLException
getMaxTableNameLength
in interface DatabaseMetaData
SQLException
public int getMaxTablesInSelect() throws SQLException
getMaxTablesInSelect
in interface DatabaseMetaData
SQLException
public int getMaxUserNameLength() throws SQLException
getMaxUserNameLength
in interface DatabaseMetaData
SQLException
public int getDefaultTransactionIsolation() throws SQLException
getDefaultTransactionIsolation
in interface DatabaseMetaData
SQLException
public boolean supportsTransactions() throws SQLException
supportsTransactions
in interface DatabaseMetaData
SQLException
public boolean supportsTransactionIsolationLevel(int level) throws 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 DatabaseMetaData
SQLException
public boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException
supportsDataDefinitionAndDataManipulationTransactions
in interface DatabaseMetaData
SQLException
public boolean supportsDataManipulationTransactionsOnly() throws SQLException
supportsDataManipulationTransactionsOnly
in interface DatabaseMetaData
SQLException
public boolean dataDefinitionCausesTransactionCommit() throws 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 DatabaseMetaData
SQLException
- if a database access error occurspublic boolean dataDefinitionIgnoredInTransactions() throws SQLException
dataDefinitionIgnoredInTransactions
in interface DatabaseMetaData
SQLException
protected String escapeQuotes(String s) throws SQLException
s
- input valueSQLException
- if something wrong happenspublic ResultSet getProcedures(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String procedureNamePattern) throws SQLException
getProcedures
in interface DatabaseMetaData
SQLException
public ResultSet getProcedureColumns(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String procedureNamePattern, @Nullable String columnNamePattern) throws SQLException
getProcedureColumns
in interface DatabaseMetaData
SQLException
public ResultSet getTables(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String tableNamePattern, String[] types) throws SQLException
getTables
in interface DatabaseMetaData
SQLException
public ResultSet getSchemas() throws SQLException
getSchemas
in interface DatabaseMetaData
SQLException
public ResultSet getSchemas(@Nullable String catalog, @Nullable String schemaPattern) throws SQLException
getSchemas
in interface DatabaseMetaData
SQLException
public ResultSet getCatalogs() throws SQLException
getCatalogs
in interface DatabaseMetaData
SQLException
public ResultSet getTableTypes() throws SQLException
getTableTypes
in interface DatabaseMetaData
SQLException
public ResultSet getColumns(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String tableNamePattern, @Nullable String columnNamePattern) throws SQLException
getColumns
in interface DatabaseMetaData
SQLException
public ResultSet getColumnPrivileges(@Nullable String catalog, @Nullable String schema, String table, @Nullable String columnNamePattern) throws SQLException
getColumnPrivileges
in interface DatabaseMetaData
SQLException
public ResultSet getTablePrivileges(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String tableNamePattern) throws SQLException
getTablePrivileges
in interface DatabaseMetaData
SQLException
public Map<String,Map<String,List<String[]>>> parseACL(@Nullable String aclArray, String owner)
SELECT -> user1 -> list of [grantor, grantable]
aclArray
- ACL arrayowner
- ownerpublic ResultSet getBestRowIdentifier(@Nullable String catalog, @Nullable String schema, String table, int scope, boolean nullable) throws SQLException
getBestRowIdentifier
in interface DatabaseMetaData
SQLException
public ResultSet getVersionColumns(@Nullable String catalog, @Nullable String schema, String table) throws SQLException
getVersionColumns
in interface DatabaseMetaData
SQLException
public ResultSet getPrimaryKeys(@Nullable String catalog, @Nullable String schema, String table) throws SQLException
getPrimaryKeys
in interface DatabaseMetaData
SQLException
protected ResultSet getPrimaryUniqueKeys(@Nullable String catalog, @Nullable String schema, String table) throws SQLException
SQLException
protected ResultSet getImportedExportedKeys(@Nullable String primaryCatalog, @Nullable String primarySchema, @Nullable String primaryTable, @Nullable String foreignCatalog, @Nullable String foreignSchema, @Nullable String foreignTable) throws 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 tableSQLException
- if something wrong happenspublic ResultSet getImportedKeys(@Nullable String catalog, @Nullable String schema, String table) throws SQLException
getImportedKeys
in interface DatabaseMetaData
SQLException
public ResultSet getExportedKeys(@Nullable String catalog, @Nullable String schema, String table) throws SQLException
getExportedKeys
in interface DatabaseMetaData
SQLException
public ResultSet getCrossReference(@Nullable String primaryCatalog, @Nullable String primarySchema, String primaryTable, @Nullable String foreignCatalog, @Nullable String foreignSchema, String foreignTable) throws SQLException
getCrossReference
in interface DatabaseMetaData
SQLException
public ResultSet getTypeInfo() throws SQLException
getTypeInfo
in interface DatabaseMetaData
SQLException
public ResultSet getIndexInfo(@Nullable String catalog, @Nullable String schema, String tableName, boolean unique, boolean approximate) throws SQLException
getIndexInfo
in interface DatabaseMetaData
SQLException
public boolean supportsResultSetType(int type) throws SQLException
supportsResultSetType
in interface DatabaseMetaData
SQLException
public boolean supportsResultSetConcurrency(int type, int concurrency) throws SQLException
supportsResultSetConcurrency
in interface DatabaseMetaData
SQLException
public boolean ownUpdatesAreVisible(int type) throws SQLException
ownUpdatesAreVisible
in interface DatabaseMetaData
SQLException
public boolean ownDeletesAreVisible(int type) throws SQLException
ownDeletesAreVisible
in interface DatabaseMetaData
SQLException
public boolean ownInsertsAreVisible(int type) throws SQLException
ownInsertsAreVisible
in interface DatabaseMetaData
SQLException
public boolean othersUpdatesAreVisible(int type) throws SQLException
othersUpdatesAreVisible
in interface DatabaseMetaData
SQLException
public boolean othersDeletesAreVisible(int i) throws SQLException
othersDeletesAreVisible
in interface DatabaseMetaData
SQLException
public boolean othersInsertsAreVisible(int type) throws SQLException
othersInsertsAreVisible
in interface DatabaseMetaData
SQLException
public boolean updatesAreDetected(int type) throws SQLException
updatesAreDetected
in interface DatabaseMetaData
SQLException
public boolean deletesAreDetected(int i) throws SQLException
deletesAreDetected
in interface DatabaseMetaData
SQLException
public boolean insertsAreDetected(int type) throws SQLException
insertsAreDetected
in interface DatabaseMetaData
SQLException
public boolean supportsBatchUpdates() throws SQLException
supportsBatchUpdates
in interface DatabaseMetaData
SQLException
public ResultSet getUDTs(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String typeNamePattern, int[] types) throws SQLException
getUDTs
in interface DatabaseMetaData
SQLException
public Connection getConnection() throws SQLException
getConnection
in interface DatabaseMetaData
SQLException
protected Statement createMetaDataStatement() throws SQLException
SQLException
public long getMaxLogicalLobSize() throws SQLException
getMaxLogicalLobSize
in interface DatabaseMetaData
SQLException
public boolean supportsRefCursors() throws SQLException
supportsRefCursors
in interface DatabaseMetaData
SQLException
public RowIdLifetime getRowIdLifetime() throws SQLException
getRowIdLifetime
in interface DatabaseMetaData
SQLException
public boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException
supportsStoredFunctionsUsingCallSyntax
in interface DatabaseMetaData
SQLException
public boolean autoCommitFailureClosesAllResultSets() throws SQLException
autoCommitFailureClosesAllResultSets
in interface DatabaseMetaData
SQLException
public ResultSet getClientInfoProperties() throws SQLException
getClientInfoProperties
in interface DatabaseMetaData
SQLException
public boolean isWrapperFor(Class<?> iface) throws SQLException
isWrapperFor
in interface Wrapper
SQLException
public <T> T unwrap(Class<T> iface) throws SQLException
unwrap
in interface Wrapper
SQLException
public ResultSet getFunctions(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String functionNamePattern) throws SQLException
getFunctions
in interface DatabaseMetaData
SQLException
public ResultSet getFunctionColumns(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String functionNamePattern, @Nullable String columnNamePattern) throws SQLException
getFunctionColumns
in interface DatabaseMetaData
SQLException
public ResultSet getPseudoColumns(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String tableNamePattern, @Nullable String columnNamePattern) throws SQLException
getPseudoColumns
in interface DatabaseMetaData
SQLException
public boolean generatedKeyAlwaysReturned() throws SQLException
generatedKeyAlwaysReturned
in interface DatabaseMetaData
SQLException
public boolean supportsSavepoints() throws SQLException
supportsSavepoints
in interface DatabaseMetaData
SQLException
public boolean supportsNamedParameters() throws SQLException
supportsNamedParameters
in interface DatabaseMetaData
SQLException
public boolean supportsMultipleOpenResults() throws SQLException
supportsMultipleOpenResults
in interface DatabaseMetaData
SQLException
public boolean supportsGetGeneratedKeys() throws SQLException
supportsGetGeneratedKeys
in interface DatabaseMetaData
SQLException
public ResultSet getSuperTypes(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String typeNamePattern) throws SQLException
getSuperTypes
in interface DatabaseMetaData
SQLException
public ResultSet getSuperTables(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String tableNamePattern) throws SQLException
getSuperTables
in interface DatabaseMetaData
SQLException
public ResultSet getAttributes(@Nullable String catalog, @Nullable String schemaPattern, @Nullable String typeNamePattern, @Nullable String attributeNamePattern) throws SQLException
getAttributes
in interface DatabaseMetaData
SQLException
public boolean supportsResultSetHoldability(int holdability) throws SQLException
supportsResultSetHoldability
in interface DatabaseMetaData
SQLException
public int getResultSetHoldability() throws SQLException
getResultSetHoldability
in interface DatabaseMetaData
SQLException
public int getDatabaseMajorVersion() throws SQLException
getDatabaseMajorVersion
in interface DatabaseMetaData
SQLException
public int getDatabaseMinorVersion() throws SQLException
getDatabaseMinorVersion
in interface DatabaseMetaData
SQLException
public int getJDBCMajorVersion()
getJDBCMajorVersion
in interface DatabaseMetaData
public int getJDBCMinorVersion()
getJDBCMinorVersion
in interface DatabaseMetaData
public int getSQLStateType() throws SQLException
getSQLStateType
in interface DatabaseMetaData
SQLException
public boolean locatorsUpdateCopy() throws SQLException
locatorsUpdateCopy
in interface DatabaseMetaData
SQLException
public boolean supportsStatementPooling() throws SQLException
supportsStatementPooling
in interface DatabaseMetaData
SQLException
Copyright © 1997-2020 PostgreSQL Global Development Group. All Rights Reserved.