📄 picodatabasemetadata.java
字号:
public boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsDataDefinitionAndDataManipulationTransactions"); int i = getInfoShort(OdbcDef.SQL_TXN_CAPABLE); return (i & 0x2) > 0; } public boolean supportsDataManipulationTransactionsOnly() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsDataManipulationTransactionsOnly"); int i = getInfoShort(OdbcDef.SQL_TXN_CAPABLE); return (i & 0x1) > 0; } public boolean supportsDifferentTableCorrelationNames() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsDifferentTableCorrelationNames"); int i = getInfoShort(OdbcDef.SQL_CORRELATION_NAME); return i == 1; } public boolean supportsExpressionsInOrderBy() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsExpressionsInOrderBy"); return getInfoBooleanString(OdbcDef.SQL_EXPRESSIONS_IN_ORDERBY); } public boolean supportsExtendedSQLGrammar() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsExtendedSQLGrammar"); int i = getInfoShort(OdbcDef.SQL_ODBC_SQL_CONFORMANCE); return i == 2; } public boolean supportsFullOuterJoins() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsFullOuterJoins"); String s = getInfoString(OdbcDef.SQL_OUTER_JOINS); return s.equalsIgnoreCase("F"); } public boolean supportsGroupBy() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsGroupBy"); int i = getInfoShort(OdbcDef.SQL_GROUP_BY); return i != 0; } public boolean supportsGroupByBeyondSelect() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsGroupByBeyondSelect"); int i = getInfoShort(OdbcDef.SQL_GROUP_BY); return i == 2; } public boolean supportsGroupByUnrelated() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsGroupByUnrelated"); int i = getInfoShort(OdbcDef.SQL_GROUP_BY); return i == 3; } public boolean supportsIntegrityEnhancementFacility() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsIntegrityEnhancementFacility"); return getInfoBooleanString(OdbcDef.SQL_ODBC_SQL_OPT_IEF); } public boolean supportsLikeEscapeClause() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsLikeEscapeClause"); return getInfoBooleanString(OdbcDef.SQL_LIKE_ESCAPE_CLAUSE); } public boolean supportsLimitedOuterJoins() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsLimitedOuterJoins"); String s = getInfoString(OdbcDef.SQL_OUTER_JOINS); return s.equalsIgnoreCase("P"); } public boolean supportsMinimumSQLGrammar() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsMinimumSQLGrammar"); int i = getInfoShort(OdbcDef.SQL_ODBC_SQL_CONFORMANCE); return i == 0 || i == 1 || i == 2; } public boolean supportsMixedCaseIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsMixedCaseIdentifiers"); int i = getInfoShort(OdbcDef.SQL_IDENTIFIER_CASE); return i == 4 || i == 1 || i == 2; } public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsMixedCaseQuotedIdentifiers"); int i = getInfoShort(OdbcDef.SQL_QUOTED_IDENTIFIER_CASE); return i == 4 || i == 1 || i == 2; } public boolean supportsMultipleResultSets() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsMultipleResultSets"); return getInfoBooleanString(OdbcDef.SQL_MULT_RESULT_SETS); } public boolean supportsMultipleTransactions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsMultipleTransactions"); return getInfoBooleanString(OdbcDef.SQL_MULTIPLE_ACTIVE_TXN); } public boolean supportsNonNullableColumns() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsNonNullableColumns"); int i = getInfoShort(OdbcDef.SQL_NON_NULLABLE_COLUMNS); return i == 1; } public boolean supportsOpenCursorsAcrossCommit() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsOpenCursorsAcrossCommit"); int i = getInfoShort(OdbcDef.SQL_CURSOR_COMMIT_BEHAVIOR); return i == 2; } public boolean supportsOpenCursorsAcrossRollback() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsOpenCursorsAcrossRollback"); int i = getInfoShort(OdbcDef.SQL_CURSOR_ROLLBACK_BEHAVIOR); return i == 2; } public boolean supportsOpenStatementsAcrossCommit() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsOpenStatementsAcrossCommit"); int i = getInfoShort(OdbcDef.SQL_CURSOR_COMMIT_BEHAVIOR); return i == 2 || i == 1; } public boolean supportsOpenStatementsAcrossRollback() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsOpenStatementsAcrossRollback"); int i = getInfoShort(OdbcDef.SQL_CURSOR_ROLLBACK_BEHAVIOR); return i == 2 || i == 1; } public boolean supportsOrderByUnrelated() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsOrderByUnrelated"); return getInfoBooleanString(OdbcDef.SQL_ORDER_BY_COLUMNS_IN_SELECT); } public boolean supportsOuterJoins() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsOuterJoins"); String s = getInfoString(OdbcDef.SQL_OUTER_JOINS); return s.equalsIgnoreCase("N") ^ true; } public boolean supportsPositionedDelete() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsPositionedDelete"); int i = getInfo(OdbcDef.SQL_POSITIONED_STATEMENTS); return (i & 0x1) > 0; } public boolean supportsPositionedUpdate() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsPositionedUpdate"); int i = getInfo(OdbcDef.SQL_POSITIONED_STATEMENTS); return (i & 0x2) > 0; } public boolean supportsResultSetConcurrency(int i, int j) { throw new UnsupportedOperationException(); } public boolean supportsResultSetType(int i) { throw new UnsupportedOperationException(); } public boolean supportsSchemasInDataManipulation() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSchemasInDataManipulation"); int i = getInfo(OdbcDef.SQL_OWNER_USAGE); return (i & 0x1) > 0; } public boolean supportsSchemasInIndexDefinitions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSchemasInIndexDefintions"); int i = getInfo(OdbcDef.SQL_OWNER_USAGE); return (i & 0x8) > 0; } public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSchemasInPrivilegeDefintions"); int i = getInfo(OdbcDef.SQL_OWNER_USAGE); return (i & 0x10) > 0; } public boolean supportsSchemasInProcedureCalls() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSchemasInProcedureCalls"); int i = getInfo(OdbcDef.SQL_OWNER_USAGE); return (i & 0x2) > 0; } public boolean supportsSchemasInTableDefinitions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSchemasInTableDefinitions"); int i = getInfo(OdbcDef.SQL_OWNER_USAGE); return (i & 0x4) > 0; } public boolean supportsSelectForUpdate() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSelectForUpdate"); int i = getInfo(OdbcDef.SQL_POSITIONED_STATEMENTS); return (i & 0x4) > 0; } public boolean supportsStoredProcedures() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsStoredProcedures"); return getInfoBooleanString(OdbcDef.SQL_PROCEDURES); } public boolean supportsSubqueriesInComparisons() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSubqueriesInComparisions"); int i = getInfo(OdbcDef.SQL_SUBQUERIES); return (i & 0x1) > 0; } public boolean supportsSubqueriesInExists() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSubqueriesInExists"); int i = getInfo(OdbcDef.SQL_SUBQUERIES); return (i & 0x2) > 0; } public boolean supportsSubqueriesInIns() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSubqueriesInIns"); int i = getInfo(OdbcDef.SQL_SUBQUERIES); return (i & 0x4) > 0; } public boolean supportsSubqueriesInQuantifieds() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSubqueriesInQuantifieds"); int i = getInfo(OdbcDef.SQL_SUBQUERIES); return (i & 0x8) > 0; } public boolean supportsTableCorrelationNames() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsTableCorrelationNames"); int i = getInfoShort(OdbcDef.SQL_CORRELATION_NAME); return i == 1 || i == 2; } public boolean supportsTransactionIsolationLevel(int i) throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsTransactionIsolationLevel (" + i + ")"); if(i == 0) return !supportsTransactions(); int j = getInfo((short)72); boolean flag = false; switch(i) { case 1: // '\001' flag = (j & 0x1) > 0; break; case 2: // '\002' flag = (j & 0x2) > 0; break; case 4: // '\004' flag = (j & 0x4) > 0; break; case 8: // '\b' flag = (j & 0x8) > 0; break; } return flag; } public boolean supportsTransactions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsTransactions"); int i = getInfoShort(OdbcDef.SQL_TXN_CAPABLE); return i != 0; } public boolean supportsUnion() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsUnion"); int i = getInfo(OdbcDef.SQL_UNION); return (i & 0x1) > 0; } public boolean supportsUnionAll() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsUnionAll"); int i = getInfo(OdbcDef.SQL_UNION); return (i & 0x2) > 0; } public boolean supportsSavepoints() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsSavepoints"); return false; } public boolean supportsNamedParameters () throws SQLException { return false; } public boolean supportsMultipleOpenResults() throws SQLException { return false; } public boolean supportsGetGeneratedKeys () throws SQLException { return false; } public boolean supportsResultSetHoldability (int holdability) throws SQLException { return false; } public boolean supportsStatementPooling () throws SQLException { return false; } public int getResultSetHoldability() throws SQLException { return ResultSet.HOLD_CURSORS_OVER_COMMIT; } public ResultSet getSuperTypes (String catalog, String schemaPattern, String typeNamePattern) throws SQLException{ throw new UnsupportedOperationException(); } public int getDatabaseMajorVersion() throws SQLException { return 5; } public int getDatabaseMinorVersion() throws SQLException { return 0; } public int getJDBCMajorVersion() throws SQLException { return 1; } public int getJDBCMinorVersion() throws SQLException { return 4; } public int getSQLStateType() throws SQLException { return sqlStateXOpen; } public boolean locatorsUpdateCopy() throws SQLException { return false; } public ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException{ throw new UnsupportedOperationException(); } public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException { throw new UnsupportedOperationException(); } public boolean updatesAreDetected(int i) { throw new UnsupportedOperationException(); } public boolean usesLocalFilePerTable() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.usesLocalFilePerTable"); int i = getInfoShort(OdbcDef.SQL_FILE_USAGE); return i == 1; } public boolean usesLocalFiles() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.usesLocalFiles"); int i = getInfoShort(OdbcDef.SQL_FILE_USAGE); return i == 2; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -