📄 embeddatabasemetadata.java
字号:
return false; } /** * Can a catalog name be used in a table definition statement? * * @return true if so * */ public boolean supportsCatalogsInTableDefinitions() { return false; } /** * Can a catalog name be used in an index definition statement? * * @return true if so */ public boolean supportsCatalogsInIndexDefinitions() { return false; } /** * Can a catalog name be used in a privilege definition statement? * * @return true if so */ public boolean supportsCatalogsInPrivilegeDefinitions() { return false; } /** * Is positioned DELETE supported? * * @return true if so */ public boolean supportsPositionedDelete() { return true; } /** * Is positioned UPDATE supported? * * @return true if so */ public boolean supportsPositionedUpdate() { return true; } /** * Is SELECT for UPDATE supported? * * @return true if so */ public boolean supportsSelectForUpdate() { return true; } /** * Are stored procedure calls using the stored procedure escape * syntax supported? * * @return true if so */ public boolean supportsStoredProcedures() { return true; } /** * Are subqueries in comparison expressions supported? * * A JDBC-Compliant driver always returns true. * * @return true if so */ public boolean supportsSubqueriesInComparisons() { return true; } /** * Are subqueries in 'exists' expressions supported? * * A JDBC-Compliant driver always returns true. * * @return true if so */ public boolean supportsSubqueriesInExists() { return true; } /** * Are subqueries in 'in' statements supported? * * A JDBC-Compliant driver always returns true. * * @return true if so */ public boolean supportsSubqueriesInIns() { return true; } /** * Are subqueries in quantified expressions supported? * * A JDBC-Compliant driver always returns true. * * @return true if so */ public boolean supportsSubqueriesInQuantifieds() { return true; } /** * Are correlated subqueries supported? * * A JDBC-Compliant driver always returns true. * * @return true if so */ public boolean supportsCorrelatedSubqueries() { return true; } /** * Is SQL UNION supported? * * @return true if so */ public boolean supportsUnion() { return true; } /** * Is SQL UNION ALL supported? * * @return true if so */ public boolean supportsUnionAll() { return true; } /** * Can cursors remain open across commits? * * @return true if cursors always remain open; false if they might not remain open */ //returns false because Derby does not support cursors that are open across commits for XA transactions. public boolean supportsOpenCursorsAcrossCommit() { return false; } /** * Can cursors remain open across rollbacks? * * @return true if cursors always remain open; false if they might not remain open */ public boolean supportsOpenCursorsAcrossRollback() { return false; } /** * Can statements remain open across commits? * * @return true if statements always remain open; false if they might not remain open */ public boolean supportsOpenStatementsAcrossCommit() { return true; } /** * Can statements remain open across rollbacks? * * @return true if statements always remain open; false if they might not remain open */ public boolean supportsOpenStatementsAcrossRollback() { return false; } //---------------------------------------------------------------------- // The following group of methods exposes various limitations // based on the target database with the current driver. // Unless otherwise specified, a result of zero means there is no // limit, or the limit is not known. /** * How many hex characters can you have in an inline binary literal? * * @return max literal length */ public int getMaxBinaryLiteralLength() { return 0; } /** * What's the max length for a character literal? * * @return max literal length */ public int getMaxCharLiteralLength() { return 0; } /** * What's the limit on column name length? * * @return max literal length */ public int getMaxColumnNameLength() { return Limits.MAX_IDENTIFIER_LENGTH; } /** * What's the maximum number of columns in a "GROUP BY" clause? * * @return max number of columns */ public int getMaxColumnsInGroupBy() { return 0; } /** * What's the maximum number of columns allowed in an index? * * @return max columns */ public int getMaxColumnsInIndex() { return 0; } /** * What's the maximum number of columns in an "ORDER BY" clause? * * @return max columns */ public int getMaxColumnsInOrderBy() { return 0; } /** * What's the maximum number of columns in a "SELECT" list? * * we don't have a limit... * * @return max columns */ public int getMaxColumnsInSelect() { return 0; } /** * What's the maximum number of columns in a table? * * @return max columns */ public int getMaxColumnsInTable() { return 0; } /** * How many active connections can we have at a time to this database? * * @return max connections */ public int getMaxConnections() { return 0; } /** * What's the maximum cursor name length? * * @return max cursor name length in bytes */ public int getMaxCursorNameLength() { return Limits.MAX_IDENTIFIER_LENGTH; } /** * What's the maximum length of an index (in bytes)? * * @return max index length in bytes */ public int getMaxIndexLength() { return 0; } /** * What's the maximum length allowed for a schema name? * * @return max name length in bytes */ public int getMaxSchemaNameLength() { return Limits.MAX_IDENTIFIER_LENGTH; } /** * What's the maximum length of a procedure name? * * @return max name length in bytes */ public int getMaxProcedureNameLength() { return Limits.MAX_IDENTIFIER_LENGTH; } /** * What's the maximum length of a catalog name? * * @return max name length in bytes */ public int getMaxCatalogNameLength() { return 0; } /** * What's the maximum length of a single row? * * @return max row size in bytes */ public int getMaxRowSize() { return 0; } /** * Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY * blobs? * * @return true if so */ public boolean doesMaxRowSizeIncludeBlobs() { return true; } /** * What's the maximum length of a SQL statement? * * @return max length in bytes */ public int getMaxStatementLength() { return 0; } /** * How many active statements can we have open at one time to this * database? * * @return the maximum */ public int getMaxStatements() { return 0; } /** * What's the maximum length of a table name? * * @return max name length in bytes */ public int getMaxTableNameLength() { return Limits.MAX_IDENTIFIER_LENGTH; } /** * What's the maximum number of tables in a SELECT? * * @return the maximum */ public int getMaxTablesInSelect() { return 0; } /** * What's the maximum length of a user name? * * @return max name length in bytes */ public int getMaxUserNameLength() { return Limits.DB2_MAX_USERID_LENGTH; } //---------------------------------------------------------------------- /** * What's the database's default transaction isolation level? The * values are defined in java.sql.Connection. * * @return the default isolation level * @see Connection */ public int getDefaultTransactionIsolation() { return java.sql.Connection.TRANSACTION_READ_COMMITTED; } /** * Are transactions supported? If not, commit is a noop and the * isolation level is TRANSACTION_NONE. * * @return true if transactions are supported */ public boolean supportsTransactions() { return true; } /** * Does the database support the given transaction isolation level? * * DatabaseMetaData.supportsTransactionIsolation() should return false for * isolation levels that are not supported even if a higher level can be * substituted. * * @param level the values are defined in java.sql.Connection * @return true if so * @see Connection */ public boolean supportsTransactionIsolationLevel(int level) { // REMIND: This is hard-coded for the moment because it doesn't nicely // fit within the framework we've set up for the rest of these values. // Part of the reason is that it has a parameter, so it's not just a // simple value look-up. Some ideas for the future on how to make this // not hard-coded: // - code it as a query: "select true from <something> where ? in // (a,b,c)" where a,b,c are the supported isolation levels. The // parameter would be set to "level". This seems awfully awkward. // - somehow what you'd really like is to enable the instructions // file to contain the list, or set, of supported isolation // levels. Something like: // supportsTr...ionLevel=SERIALIZABLE | REPEATABLE_READ | ... // That would take some more code that doesn't seem worthwhile at // the moment for this one case. /* REMIND: this could be moved into a query that is e.g. VALUES ( ? in (8,...) ) so that database could control the list of supported isolations. For now, it's hard coded, and just the one. */ return (level == Connection.TRANSACTION_SERIALIZABLE || level == Connection.TRANSACTION_REPEATABLE_READ || level == Connection.TRANSACTION_READ_COMMITTED || level == Connection.TRANSACTION_READ_UNCOMMITTED); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -