📄 picodatabasemetadata.java
字号:
} catch(SQLException sqlexception) { hstmt.drop(); throw sqlexception; } rs = new PicoResultSet(odbcApi, hstmt, con); rs.setWarning(sqlwarning); return rs; } public int getMaxBinaryLiteralLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxBinaryLiteralLength"); return getInfo(OdbcDef.SQL_MAX_BINARY_LITERAL_LEN); } public int getMaxCatalogNameLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxCatalogNameLength"); return getInfoShort(OdbcDef.SQL_MAX_QUALIFIER_NAME_LEN); } public int getMaxCharLiteralLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxCharLiteralLength"); return getInfo(OdbcDef.SQL_MAX_CHAR_LITERAL_LEN); } public int getMaxColumnNameLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxColumnNameLength"); return getInfoShort(OdbcDef.SQL_MAX_COLUMN_NAME_LEN); } public int getMaxColumnsInGroupBy() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxColumnsInGroupBy"); return getInfoShort(OdbcDef.SQL_MAX_COLUMNS_IN_GROUP_BY); } public int getMaxColumnsInIndex() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxColumnsInIndex"); return getInfoShort(OdbcDef.SQL_MAX_COLUMNS_IN_INDEX); } public int getMaxColumnsInOrderBy() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxColumnsInOrderBy"); return getInfoShort(OdbcDef.SQL_MAX_COLUMNS_IN_ORDER_BY); } public int getMaxColumnsInSelect() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxColumnsInSeleted"); return getInfoShort(OdbcDef.SQL_MAX_COLUMNS_IN_SELECT); } public int getMaxColumnsInTable() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxColumnsInTable"); return getInfoShort(OdbcDef.SQL_MAX_COLUMNS_IN_TABLE); } public int getMaxConnections() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxConnections"); return getInfoShort(OdbcDef.SQL_ACTIVE_CONNECTIONS); } public int getMaxCursorNameLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxCursorNameLength"); return getInfo(OdbcDef.SQL_MAX_CURSOR_NAME_LEN); } public int getMaxIndexLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxIndexLength"); return getInfo(OdbcDef.SQL_MAX_INDEX_SIZE); } public int getMaxProcedureNameLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxProcedureNameLength"); return getInfoShort(OdbcDef.SQL_MAX_PROCEDURE_NAME_LEN); } public int getMaxRowSize() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxRowSize"); return getInfo(OdbcDef.SQL_MAX_ROW_SIZE); } public int getMaxSchemaNameLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxSchemaNameLength"); return getInfoShort(OdbcDef.SQL_MAX_OWNER_NAME_LEN); } public int getMaxStatementLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxStatementLength"); return getInfo(OdbcDef.SQL_MAX_STATEMENT_LEN); } public int getMaxStatements() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxStatements"); return getInfoShort(OdbcDef.SQL_ACTIVE_STATEMENTS); } public int getMaxTableNameLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxTableNameLength"); return getInfoShort(OdbcDef.SQL_MAX_TABLE_NAME_LEN); } public int getMaxTablesInSelect() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxTablesInSelect"); return getInfoShort(OdbcDef.SQL_MAX_TABLES_IN_SELECT); } public int getMaxUserNameLength() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getMaxUserNameLength"); return getInfoShort(OdbcDef.SQL_MAX_USER_NAME_LEN); } public String getNumericFunctions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getNumericFunctions"); String s = ""; int i = getInfo(OdbcDef.SQL_NUMERIC_FUNCTIONS); if((i & 0x1) != 0) s = s + "ABS,"; if((i & 0x2) != 0) s = s + "ACOS,"; if((i & 0x4) != 0) s = s + "ASIN,"; if((i & 0x8) != 0) s = s + "ATAN,"; if((i & 0x10) != 0) s = s + "ATAN2,"; if((i & 0x20) != 0) s = s + "CEILING,"; if((i & 0x40) != 0) s = s + "COS,"; if((i & 0x80) != 0) s = s + "COT,"; if((i & 0x40000) != 0) s = s + "DEGREES,"; if((i & 0x100) != 0) s = s + "EXP,"; if((i & 0x200) != 0) s = s + "FLOOR,"; if((i & 0x400) != 0) s = s + "LOG,"; if((i & 0x80000) != 0) s = s + "LOG10,"; if((i & 0x800) != 0) s = s + "MOD,"; if((i & 0x10000) != 0) s = s + "PI,"; if((i & 0x100000) != 0) s = s + "POWER,"; if((i & 0x200000) != 0) s = s + "RADIANS,"; if((i & 0x20000) != 0) s = s + "RAND,"; if((i & 0x400000) != 0) s = s + "ROUND,"; if((i & 0x1000) != 0) s = s + "SIGN,"; if((i & 0x2000) != 0) s = s + "SIN,"; if((i & 0x4000) != 0) s = s + "SQRT,"; if((i & 0x8000) != 0) s = s + "TAN,"; if((i & 0x800000) != 0) s = s + "TRUNCATE,"; if(s.length() > 0) s = s.substring(0, s.length() - 1); return s; } public ResultSet getPrimaryKeys(String s, String s1, String s2) throws SQLException { throw new UnsupportedOperationException(); } public ResultSet getProcedureColumns(String s, String s1, String s2, String s3) throws SQLException { throw new UnsupportedOperationException(); } public String getProcedureTerm() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getProcedureTerm"); return getInfoString(OdbcDef.SQL_PROCEDURE_TERM); } public ResultSet getProcedures(String s, String s1, String s2) throws SQLException { throw new UnsupportedOperationException(); } public String getSQLKeywords() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getSQLKeywords"); return getInfoString(OdbcDef.SQL_KEYWORDS); } public String getSchemaTerm() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getSchemaTerm"); return getInfoString(OdbcDef.SQL_OWNER_TERM); } public ResultSet getSchemas() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getSchemas"); PicoResultSet rs = (PicoResultSet)getTables("", "%", "", null); int ai[] = new int[1]; ai[0] = 2; rs.setColumnMappings(ai); return rs; } public String getSearchStringEscape() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getSearchStringEscape"); return getInfoString(OdbcDef.SQL_SEARCH_PATTERN_ESCAPE); } public String getStringFunctions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getStringFunctions"); String s = ""; int i = getInfo(OdbcDef.SQL_STRING_FUNCTIONS); if((i & 0x2000) != 0) s = s + "ASCII,"; if((i & 0x4000) != 0) s = s + "CHAR,"; if((i & 0x1) != 0) s = s + "CONCAT,"; if((i & 0x8000) != 0) s = s + "DIFFERENCE,"; if((i & 0x2) != 0) s = s + "INSERT,"; if((i & 0x40) != 0) s = s + "LCASE,"; if((i & 0x4) != 0) s = s + "LEFT,"; if((i & 0x10) != 0) s = s + "LENGTH,"; if((i & 0x20) != 0) s = s + "LOCATE,"; if((i & 0x10000) != 0) s = s + "LOCATE_2,"; if((i & 0x8) != 0) s = s + "LTRIM,"; if((i & 0x80) != 0) s = s + "REPEAT,"; if((i & 0x100) != 0) s = s + "REPLACE,"; if((i & 0x200) != 0) s = s + "RIGHT,"; if((i & 0x400) != 0) s = s + "RTRIM,"; if((i & 0x20000) != 0) s = s + "SOUNDEX,"; if((i & 0x40000) != 0) s = s + "SPACE,"; if((i & 0x800) != 0) s = s + "SUBSTRING,"; if((i & 0x1000) != 0) s = s + "UCASE,"; if(s.length() > 0) s = s.substring(0, s.length() - 1); return s; } public String getSystemFunctions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getSystemFunctions"); String s = ""; int i = getInfo(OdbcDef.SQL_SYSTEM_FUNCTIONS); if((i & 0x2) != 0) s = s + "DBNAME,"; if((i & 0x4) != 0) s = s + "IFNULL,"; if((i & 0x1) != 0) s = s + "USERNAME,"; if(s.length() > 0) s = s.substring(0, s.length() - 1); return s; } public ResultSet getTablePrivileges(String s, String s1, String s2) throws SQLException { throw new UnsupportedOperationException(); } public ResultSet getTableTypes() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getTableTypes"); String as[] = new String[1]; as[0] = "%"; PicoResultSet rs = (PicoResultSet)getTables("", "", "", as); int ai[] = new int[1]; ai[0] = 4; rs.setColumnMappings(ai); return rs; } public ResultSet getTables(String s, String s1, String s2, String as[]) throws SQLException { PicoResultSet rs = null; String s3 = null; SQLWarning sqlwarning = null; if(as != null) { s3 = ""; boolean flag = false; for(short word0 = 0; word0 < as.length; word0++) { String s4 = as[word0]; if(word0 > 0) s3 = s3 + ","; s3 = s3 + s4; } } if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getTables (" + s + "," + s1 + "," + s2 + "," + s3 + ")"); OdbcStatement hstmt = new OdbcStatement (odbcApi, con.getHDBC()); try { odbcApi.SQLTables(hstmt, s, s1, s2, s3); } catch(SQLWarning sqlwarning1) { sqlwarning = sqlwarning1; } catch(SQLException sqlexception) { hstmt.drop(); throw sqlexception; } rs = new PicoResultSet(odbcApi, hstmt, con); rs.setWarning(sqlwarning); return rs; } public String getTimeDateFunctions() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getTimeDateFunctions"); String s = ""; int i = getInfo(OdbcDef.SQL_TIMEDATE_FUNCTIONS); if((i & 0x2) != 0) s = s + "CURDATE,"; if((i & 0x200) != 0) s = s + "CURTIME,"; if((i & 0x8000) != 0) s = s + "DAYNAME,"; if((i & 0x4) != 0) s = s + "DAYOFMONTH,"; if((i & 0x8) != 0) s = s + "DAYOFWEEK,"; if((i & 0x10) != 0) s = s + "DAYOFYEAR,"; if((i & 0x400) != 0) s = s + "HOUR,"; if((i & 0x800) != 0) s = s + "MINUTE,"; if((i & 0x20) != 0) s = s + "MONTH,"; if((i & 0x10000) != 0) s = s + "MONTHNAME,"; if((i & 0x1) != 0) s = s + "NOW,"; if((i & 0x40) != 0) s = s + "QUARTER,"; if((i & 0x1000) != 0) s = s + "SECOND,"; if((i & 0x2000) != 0) s = s + "TIMESTAMPADD,"; if((i & 0x4000) != 0) s = s + "TIMESTAMPDIFF,"; if((i & 0x80) != 0) s = s + "WEEK,"; if((i & 0x100) != 0) s = s + "YEAR,"; if(s.length() > 0) s = s.substring(0, s.length() - 1); return s; } public ResultSet getTypeInfo() throws SQLException { if(DriverManager.getLogWriter() != null) DriverManager.println("*DatabaseMetaData.getTypeInfo"); PicoResultSet rs = null; SQLWarning sqlwarning = null; OdbcStatement hstmt = new OdbcStatement (odbcApi, con.getHDBC()); try { odbcApi.SQLGetTypeInfo(hstmt, (short)0); } catch(SQLWarning sqlwarning1) { sqlwarning = sqlwarning1; } catch(SQLException sqlexception) { hstmt.drop(); throw sqlexception; } rs = new PicoResultSet(odbcApi, hstmt, con); rs.setWarning(sqlwarning); PicoPseudoCol pcol[] = new PicoPseudoCol[5]; pcol[0] = new PicoPseudoCol("OdbcDef.SQL_DATA_TYPE", 5, 0); pcol[1] = new PicoPseudoCol("OdbcDef.SQL_DATETIME_SUB", 5, 0); pcol[2] = new PicoPseudoCol("NUM_PREC_RADIX", 5, 0); rs.setPseudoCols(16, 18, pcol); rs.setSQLTypeColumn(2); if(DriverManager.getLogWriter() != null) DriverManager.println("getTypeInfo rs=" + rs);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -