📄 picodatabasemetadata.java
字号:
return rs; } public ResultSet getUDTs(String s, String s1, String s2, int ai[]) { throw new UnsupportedOperationException(); } public String getURL() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getURL"); return con.getURL(); } public String getUserName() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getUserName"); return getInfoString(OdbcDef.SQL_USER_NAME); } public ResultSet getVersionColumns(String s, String s1, String s2) throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getVersionColumns (" + s + "," + s1 + "," + s2 + ")"); PicoResultSet rs = null; SQLWarning sqlwarning = null; OdbcStatement hstmt = new OdbcStatement (odbcApi, con.getHDBC()); try { odbcApi.SQLSpecialColumns(hstmt, (short)2, s, s1, s2, 0, false); } catch(SQLWarning sqlwarning1) { sqlwarning = sqlwarning1; } catch(SQLException sqlexception) { hstmt.drop(); throw sqlexception; } rs = new PicoResultSet(odbcApi, hstmt, con); rs.setWarning(sqlwarning); rs.setSQLTypeColumn(3); return rs; } public boolean insertsAreDetected(int i) { throw new UnsupportedOperationException(); } public boolean isCatalogAtStart() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.isCatalogAtStart"); int i = getInfoShort(OdbcDef.SQL_QUALIFIER_LOCATION); return i == 1; } public boolean isReadOnly() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.isReadOnly"); return getInfoBooleanString(OdbcDef.SQL_DATA_SOURCE_READ_ONLY); } public boolean nullPlusNonNullIsNull() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.nullPlusNullIsNull"); int i = getInfoShort(OdbcDef.SQL_CONCAT_NULL_BEHAVIOR); return i == 0; } public boolean nullsAreSortedAtEnd() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.nullsAreSortedAtEnd"); int i = getInfo(OdbcDef.SQL_NULL_COLLATION); return i == 4; } public boolean nullsAreSortedAtStart() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.nullsAreSortedAtStart"); int i = getInfo(OdbcDef.SQL_NULL_COLLATION); return i == 2; } public boolean nullsAreSortedHigh() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.nullsAreSortedHigh"); int i = getInfoShort(OdbcDef.SQL_NULL_COLLATION); return i == 0; } public boolean nullsAreSortedLow() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.nullsAreSortedLow"); int i = getInfo(OdbcDef.SQL_NULL_COLLATION); return i == 1; } public boolean othersDeletesAreVisible(int i) { throw new UnsupportedOperationException(); } public boolean othersInsertsAreVisible(int i) { throw new UnsupportedOperationException(); } public boolean othersUpdatesAreVisible(int i) { throw new UnsupportedOperationException(); } public boolean ownDeletesAreVisible(int i) { throw new UnsupportedOperationException(); } public boolean ownInsertsAreVisible(int i) { throw new UnsupportedOperationException(); } public boolean ownUpdatesAreVisible(int i) { throw new UnsupportedOperationException(); } public boolean storesLowerCaseIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.storesLowerCaseIdentifiers"); int i = getInfoShort(OdbcDef.SQL_IDENTIFIER_CASE); return i == 2; } public boolean storesLowerCaseQuotedIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.storesLowerCaseQuotedIdentifiers"); int i = getInfoShort(OdbcDef.SQL_QUOTED_IDENTIFIER_CASE); return i == 2; } public boolean storesMixedCaseIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.storesMixedCaseIdentifiers"); int i = getInfoShort(OdbcDef.SQL_IDENTIFIER_CASE); return i == 4; } public boolean storesMixedCaseQuotedIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.storesMixedCaseQuotedIdentifiers"); int i = getInfoShort(OdbcDef.SQL_QUOTED_IDENTIFIER_CASE); return i == 4; } public boolean storesUpperCaseIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.storesUpperCaseIdentifiers"); int i = getInfoShort(OdbcDef.SQL_IDENTIFIER_CASE); return i == 1; } public boolean storesUpperCaseQuotedIdentifiers() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.storesUpperCaseQuotedIdentifiers"); int i = getInfoShort(OdbcDef.SQL_QUOTED_IDENTIFIER_CASE); return i == 1; } public boolean supportsANSI92EntryLevelSQL() throws SQLException { return true; } public boolean supportsANSI92FullSQL() throws SQLException { return false; } public boolean supportsANSI92IntermediateSQL() throws SQLException { return false; } public boolean supportsAlterTableWithAddColumn() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsAlterTableWithAddColumn"); int i = getInfo(OdbcDef.SQL_ALTER_TABLE); return (i & 0x1) > 0; } public boolean supportsAlterTableWithDropColumn() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsAlterTableWithDropColumn"); int i = getInfo(OdbcDef.SQL_ALTER_TABLE); return (i & 0x2) > 0; } public boolean supportsBatchUpdates() { throw new UnsupportedOperationException(); } public boolean supportsCatalogsInDataManipulation() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsCatalogsInDataManipulation"); int i = getInfo(OdbcDef.SQL_QUALIFIER_USAGE); return (i & 0x1) > 0; } public boolean supportsCatalogsInIndexDefinitions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsCatalogsInIndexDefinitions"); int i = getInfo(OdbcDef.SQL_QUALIFIER_USAGE); return (i & 0x8) > 0; } public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsCatalogsInPrivilegeDefintions"); int i = getInfo(OdbcDef.SQL_QUALIFIER_USAGE); return (i & 0x10) > 0; } public boolean supportsCatalogsInProcedureCalls() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsCatalogsInProcedureCalls"); int i = getInfo(OdbcDef.SQL_QUALIFIER_USAGE); return (i & 0x2) > 0; } public boolean supportsCatalogsInTableDefinitions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsCatalogsInTableDefinitions"); int i = getInfo(OdbcDef.SQL_QUALIFIER_USAGE); return (i & 0x4) > 0; } public boolean supportsColumnAliasing() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsColumnAliasing"); return getInfoBooleanString(OdbcDef.SQL_COLUMN_ALIAS); } public boolean supportsConvert() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsConvert"); int i = getInfo(OdbcDef.SQL_CONVERT_FUNCTIONS); return i == 1; } public boolean supportsConvert(int i, int j) throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsConvert (" + i + "," + j + ")"); short word0 = 0; boolean flag = false; int k = 0; switch(i) { case -7: word0 = 55; break; case -6: word0 = 68; break; case 5: // '\005' word0 = 65; break; case 4: // '\004' word0 = 61; break; case -5: word0 = 53; break; case 6: // '\006' word0 = 60; break; case 7: // '\007' word0 = 64; break; case 8: // '\b' word0 = 59; break; case 2: // '\002' word0 = 63; break; case 3: // '\003' word0 = 58; break; case 1: // '\001' word0 = 56; break; case 12: // '\f' word0 = 70; break; case -1: word0 = 62; break; case 91: // '[' word0 = 57; break; case 92: // '\\' word0 = 66; break; case 93: // ']' word0 = 67; break; case -2: word0 = 54; break; case -3: word0 = 69; break; case -4: word0 = 71; break; } int l = getInfo(word0); switch(j) { case -7: k = 4096; break; case -6: k = 8192; break; case 5: // '\005' k = 16; break; case 4: // '\004' k = 8; break; case -5: k = 16384; break; case 6: // '\006' k = 32; break; case 7: // '\007' k = 64; break; case 8: // '\b' k = 128; break; case 2: // '\002' k = 2; break; case 3: // '\003' k = 4; break; case 1: // '\001' k = 1; break; case 12: // '\f' k = 256; break; case -1: k = 512; break; case 91: // '[' k = 32768; break; case 92: // '\\' k = 0x10000; break; case 93: // ']' k = 0x20000; break; case -2: k = 1024; break; case -3: k = 2048; break; case -4: k = 0x40000; break; } return (l & k) > 0; } public boolean supportsCoreSQLGrammar() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsCoreSQLGrammar"); int i = getInfoShort(OdbcDef.SQL_ODBC_SQL_CONFORMANCE); return i == 1 || i == 2; } public boolean supportsCorrelatedSubqueries() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.supportsCorrelatedSubqueries"); int i = getInfo(OdbcDef.SQL_SUBQUERIES); return (i & 0x10) > 0; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -