⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 types.java

📁 hsql是很有名的嵌入式数据库
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        switch (type) {            case Types.DECIMAL :            case Types.NUMERIC :                return true;            default :                return false;        }    }    public static boolean isNumberType(int type) {        switch (type) {            case BIGINT :            case DECIMAL :            case DOUBLE :            case FLOAT :            case INTEGER :            case NUMERIC :            case REAL :            case SMALLINT :            case TINYINT :                return true;            default :                return false;        }    }    public static boolean isCharacterType(int type) {        switch (type) {            case CHAR :            case CLOB :            case LONGVARCHAR :            case VARCHAR :            case VARCHAR_IGNORECASE :                return true;            default :                return false;        }    }    public static String getTypeName(int type) {        switch (type) {            case Types.ARRAY :                return "ARRAY";            case Types.BIGINT :                return "BIGINT";            case Types.BINARY :                return "BINARY";            case Types.BLOB :                return "BLOB";            case Types.BOOLEAN :                return "BOOLEAN";            case Types.CHAR :                return "CHAR";            case Types.CLOB :                return "CLOB";            case Types.DATALINK :                return "DATALINK";            case Types.DATE :                return "DATE";            case Types.DECIMAL :                return "DECIMAL";            case Types.DISTINCT :                return "DISTINCT";            case Types.DOUBLE :                return "DOUBLE";            case Types.FLOAT :                return "FLOAT";            case Types.INTEGER :                return "INTEGER";            case Types.JAVA_OBJECT :                return "JAVA_OBJECT";            case Types.LONGVARBINARY :                return "LONGVARBINARY";            case Types.LONGVARCHAR :                return "LONGVARCHAR";            case Types.NULL :                return "NULL";            case Types.NUMERIC :                return "NUMERIC";            case Types.OTHER :                return "OTHER";            case Types.REAL :                return "REAL";            case Types.REF :                return "REF";            case Types.SMALLINT :                return "SMALLINT";            case Types.STRUCT :                return "STUCT";            case Types.TIME :                return "TIME";            case Types.TIMESTAMP :                return "TIMESTAMP";            case Types.TINYINT :                return "TINYINT";            case Types.VARBINARY :                return "VARBINARY";            case Types.VARCHAR :                return "VARCHAR";            case Types.VARCHAR_IGNORECASE :                return "VARCHAR_IGNORECASE";            case Types.XML :                return "XML";            default :                return null;        }    }    /**     * A reasonable/customizable number to avoid the shortcomings/defects     * associated with doing a dynamic scan of results to determine     * the value.  In practice, it turns out that single query yielding     * widely varying values for display size of CHAR and VARCHAR columns     * on repeated execution results in patently poor usability, as some fairly     * high-profile, otherwise "enterprise-quality" RAD tools depend on     * on the first value returned to lay out forms and limit the size of     * single line edit controls, set corresponding local datastore storage     * sizes, etc. In practice, It also turns out that many tools (due to     * the original lack of PreparedStatement.getMetaData() in JDK 1.1) emulate     * a SQL_DESCRIBE by executing a query hopefully guaranteed to return no     * or very few rows for example: select ... from ... where 1=0.     * Using the dynamic scan of 1.7.2 RC5 and previous, therefore, the     * minimum display size value (1) was often being generated during     * a tool's describe phase.  Upon subsequent "real" retrievals, some     * tools complain that CHAR and VARCHAR result values exceeded the     * originally reported display size and refused to fetch further values.     */    public static final int MAX_CHAR_OR_VARCHAR_DISPLAY_SIZE =        MAX_CHAR_OR_VARCHAR_DISPLAY_SIZE();    // So that the variable can be both public static final and    // customizable through system properties if required.    //    // 32766 (0x7ffe) seems to be a magic number over which several    // rather high-profile RAD tools start to have problems    // regarding layout and allocation stress.  It is gently    // recommended that LONGVARCHAR be used for larger values in RAD    // tool layout & presentation use cases until such time as we provide    // true BLOB support (at which point, LONGVARCHAR will most likely become    // an alias for CLOB).    //    // Most GUI tools seem to handle LONGVARCHAR gracefully by:    //    // 1.) refusing to directly display such columns in graphical query results    // 2.) providing other means to retrieve and display such values    private static int MAX_CHAR_OR_VARCHAR_DISPLAY_SIZE() {        try {            return Integer.getInteger(                "hsqldb.max_char_or_varchar_display_size", 32766).intValue();        } catch (SecurityException e) {            return 32766;        }    }    public static int getMaxDisplaySize(int type) {        switch (type) {            case Types.BINARY :            case Types.LONGVARBINARY :            case Types.LONGVARCHAR :            case Types.OTHER :            case Types.VARBINARY :            case Types.XML :                return Integer.MAX_VALUE;    // max string length            case Types.CHAR :            case Types.VARCHAR :                return MAX_CHAR_OR_VARCHAR_DISPLAY_SIZE;            case Types.BIGINT :              // PowerBuilder barfs, wants 19                // ...not our problem, tho,                // according to JDBC                return 20;                   // precision + "-".length();            case Types.BOOLEAN :                return 5;                    // Math.max("true".length(),"false".length);            case Types.DATALINK :                return 20004;                // same as precision            case Types.DECIMAL :            case Types.NUMERIC :                return 646456995;            // precision + "-.".length()            case Types.DATE :                return 10;                   // same as precision            case Types.INTEGER :                return 11;                   // precision + "-".length();            case Types.FLOAT :            case Types.REAL :            case Types.DOUBLE :                return 23;                   // String.valueOf(-Double.MAX_VALUE).length();            case Types.TIME :                return 8;                    // same as precision            case Types.SMALLINT :                return 6;                    // precision + "-".length();            case Types.TIMESTAMP :                return 29;                   // same as precision            case Types.TINYINT :                return 4;                    // precision + "-".length();            default :                return 0;                    // unknown        }    }    public static boolean isSearchable(int type) {        switch (type) {            case Types.ARRAY :            case Types.BLOB :            case Types.CLOB :            case Types.JAVA_OBJECT :            case Types.STRUCT :            case Types.OTHER :                return false;            default :                return true;        }    }    public static Boolean isCaseSensitive(int type) {        switch (type) {            case Types.ARRAY :            case Types.BLOB :            case Types.CLOB :            case Types.DISTINCT :            case Types.JAVA_OBJECT :            case Types.NULL :            case Types.REF :            case Types.STRUCT :                return null;            case Types.CHAR :            case Types.DATALINK :            case Types.LONGVARCHAR :            case Types.OTHER :            case Types.XML :                return Boolean.TRUE;            case Types.VARCHAR_IGNORECASE :            default :                return Boolean.FALSE;        }    }    public static Boolean isUnsignedAttribute(int type) {        switch (type) {            case Types.BIGINT :            case Types.DECIMAL :            case Types.DOUBLE :            case Types.FLOAT :            case Types.INTEGER :            case Types.NUMERIC :            case Types.REAL :            case Types.SMALLINT :            case Types.TINYINT :                return Boolean.FALSE;            default :                return null;        }    }    public static int getPrecision(int type) {        switch (type) {            case Types.BINARY :            case Types.CHAR :            case Types.LONGVARBINARY :            case Types.LONGVARCHAR :            case Types.OTHER :            case Types.VARBINARY :            case Types.VARCHAR :            case Types.XML :                return Integer.MAX_VALUE;            case Types.BIGINT :                return 19;            case Types.BOOLEAN :                return 1;            case Types.DATALINK :                // from SQL CLI spec.  TODO:  Interpretation?                return 20004;            case Types.DECIMAL :            case Types.NUMERIC :// Integer.MAX_VALUE bit 2's complement number:// (Integer.MAX_VALUE-1) / ((ln(10)/ln(2)) bits per decimal digit)// See:  java.math.BigInteger// - the other alternative is that we could report the numprecradix as 2 and// report Integer.MAX_VALUE here                return 646456993;            case Types.DATE :            case Types.INTEGER :                return 10;            case Types.FLOAT :            case Types.REAL :            case Types.DOUBLE :                return 17;            case Types.TIME :                return 8;            case Types.SMALLINT :                return 5;            case Types.TIMESTAMP :                return 29;            case Types.TINYINT :                return 3;            default :                return 0;        }    }    public static String getColStClsName(int type) {        switch (type) {            case Types.BIGINT :                return "java.lang.Long";            case Types.BINARY :            case Types.LONGVARBINARY :            case Types.VARBINARY :                // but wrapped by org.hsqldb.Binary                return "[B";            case Types.OTHER :                // but wrapped by org.hsqldb.JavaObject                return "java.lang.Object";            case Types.BOOLEAN :                return "java.lang.Boolean";            case Types.CHAR :            case Types.LONGVARCHAR :            case Types.VARCHAR :            case Types.XML :    //?                return "java.lang.String";            case Types.DATALINK :                return "java.net.URL";            case Types.DATE :                return DateClassName;            case Types.DECIMAL :            case Types.NUMERIC :                return DecimalClassName;            case Types.DOUBLE :            case Types.FLOAT :            case Types.REAL :                return "java.lang.Double";            case Types.INTEGER :            case Types.SMALLINT :            case Types.TINYINT :                return "java.lang.Integer";            case Types.TIME :                return TimeClassName;            case Types.TIMESTAMP :                return TimestampClassName;            default :                return null;        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -