case Types.BIGINT: return 20;
    public  int getPrecision(int column) throws  SQLException {        int colType = getColumnType(column);        switch (colType){            case Types.DECIMAL:            case Types.NUMERIC: {                ExtendedFieldInfo fieldInfo = getExtFieldInfo(column);                if (fieldInfo == null)                    return estimatePrecision(column);                else                    return fieldInfo.fieldPrecision;            }            case Types.CHAR:            case Types.VARCHAR: {                XSQLVAR var = getXsqlvar(column);                int charset = var.sqlsubtype & 0xFF;                int charSetSize = charset == 127 /* CS_dynamic */ ?                    FBConnectionHelper.getIscEncodingSize(getIscEncoding()) :                    FBConnectionHelper.getCharacterSetSize(charset);                return var.sqllen / charSetSize;            }            case Types.FLOAT:                return 7;            case Types.DOUBLE:                return 15;            case Types.INTEGER:                return 10;            case Types.SMALLINT:                return 5;            case Types.DATE:                return 10;            case Types.TIME:                return 8;            case Types.TIMESTAMP:                return 19;            default:                return 0;            }        }