Java Examples for java.sql.Types

The following java examples will help you to understand the usage of java.sql.Types. These source code samples are taken from different open source projects.

Example 1
Project: wte4j-master  File: MapperSqlType.java View source code
public static Class<?> map(int jdbcType) {
    switch(jdbcType) {
        case java.sql.Types.BIT:
        case java.sql.Types.BOOLEAN:
            return java.lang.Boolean.class;
        case java.sql.Types.TINYINT:
        case java.sql.Types.SMALLINT:
        case java.sql.Types.INTEGER:
            return java.lang.Integer.class;
        case java.sql.Types.BIGINT:
            return java.lang.Long.class;
        case java.sql.Types.FLOAT:
        case java.sql.Types.DOUBLE:
            return java.lang.Double.class;
        case java.sql.Types.REAL:
            return java.lang.Float.class;
        // according to [1] Table B-1
        case java.sql.Types.NUMERIC:
        case java.sql.Types.DECIMAL:
            return java.math.BigDecimal.class;
        case java.sql.Types.CHAR:
        case java.sql.Types.VARCHAR:
        case java.sql.Types.LONGVARCHAR:
            return java.lang.String.class;
        case java.sql.Types.DATE:
            return java.sql.Date.class;
        case java.sql.Types.TIME:
            return java.sql.Time.class;
        case java.sql.Types.TIMESTAMP:
            return java.sql.Timestamp.class;
        case java.sql.Types.STRUCT:
            return java.sql.Struct.class;
        case java.sql.Types.ARRAY:
            return java.sql.Array.class;
        case java.sql.Types.BLOB:
            return java.sql.Blob.class;
        case java.sql.Types.CLOB:
            return java.sql.Clob.class;
        case java.sql.Types.REF:
            return java.sql.Ref.class;
        case java.sql.Types.DATALINK:
            return java.net.URL.class;
        case java.sql.Types.ROWID:
            return java.sql.RowId.class;
        case java.sql.Types.NULL:
        case java.sql.Types.OTHER:
        case java.sql.Types.JAVA_OBJECT:
        case java.sql.Types.DISTINCT:
        case java.sql.Types.BINARY:
        case java.sql.Types.VARBINARY:
        case java.sql.Types.LONGVARBINARY:
        default:
            throw new WteException("invalid or unmapped SQL type (" + jdbcType + ")");
    }
}
Example 2
Project: sloth-master  File: JavaType.java View source code
public static String getType(ResultSetMetaData rsmd, int i) throws SQLException {
    int count = rsmd.getColumnCount();
    if (i > count)
        return "";
    int columnType = rsmd.getColumnType(i);
    switch(columnType) {
        case java.sql.Types.ARRAY:
            return Array.class.getSimpleName();
        case java.sql.Types.BIGINT:
            return Long.class.getSimpleName();
        case java.sql.Types.BINARY:
            return "byte[]";
        case java.sql.Types.BIT:
            return Boolean.class.getSimpleName();
        case java.sql.Types.BLOB:
            return Blob.class.getName();
        case java.sql.Types.BOOLEAN:
            return Boolean.class.getSimpleName();
        case java.sql.Types.CHAR:
            return String.class.getSimpleName();
        case java.sql.Types.CLOB:
            return Clob.class.getName();
        case java.sql.Types.DATE:
            return java.util.Date.class.getName();
        case java.sql.Types.DECIMAL:
            return BigDecimal.class.getName();
        case java.sql.Types.DISTINCT:
            break;
        case java.sql.Types.DOUBLE:
            return Double.class.getSimpleName();
        case java.sql.Types.FLOAT:
            return Float.class.getSimpleName();
        case java.sql.Types.INTEGER:
            return Integer.class.getSimpleName();
        case java.sql.Types.JAVA_OBJECT:
            return Object.class.getSimpleName();
        case java.sql.Types.LONGVARCHAR:
            return String.class.getSimpleName();
        case java.sql.Types.LONGNVARCHAR:
            return String.class.getSimpleName();
        case java.sql.Types.LONGVARBINARY:
            return "byte[]";
        case java.sql.Types.NCHAR:
            return String.class.getName();
        case java.sql.Types.NCLOB:
            return NClob.class.getName();
        case java.sql.Types.NULL:
            break;
        case java.sql.Types.NUMERIC:
            return BigDecimal.class.getName();
        case java.sql.Types.NVARCHAR:
            return String.class.getSimpleName();
        case java.sql.Types.OTHER:
            return Object.class.getSimpleName();
        case java.sql.Types.REAL:
            return Double.class.getSimpleName();
        case java.sql.Types.REF:
            break;
        case java.sql.Types.ROWID:
            return RowId.class.getName();
        case java.sql.Types.SMALLINT:
            return Short.class.getSimpleName();
        case java.sql.Types.SQLXML:
            return SQLXML.class.getName();
        case java.sql.Types.STRUCT:
            break;
        case java.sql.Types.TIME:
            return Time.class.getName();
        case java.sql.Types.TIMESTAMP:
            return java.util.Date.class.getName();
        case java.sql.Types.TINYINT:
            return Byte.class.getSimpleName();
        case java.sql.Types.VARBINARY:
            return "byte[]";
        case java.sql.Types.VARCHAR:
            return String.class.getSimpleName();
        default:
            break;
    }
    return "";
}
Example 3
Project: MobileSensing-master  File: Database.java View source code
public static void fillLines(List<LineInfo> infos) throws SQLException {
    PreparedStatement ps = conn.prepareStatement("INSERT INTO `lines` VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    for (LineInfo lineInfo : infos) {
        if (lineInfo.getId() != null) {
            ps.setString(1, lineInfo.getId());
        } else {
            ps.setNull(1, java.sql.Types.VARCHAR);
        }
        if (lineInfo.getDate1() != null) {
            java.sql.Date sqldate = new java.sql.Date(lineInfo.getDate1().getTime());
            ps.setDate(2, sqldate);
        } else {
            ps.setNull(2, java.sql.Types.DATE);
        }
        if (lineInfo.getDate2() != null) {
            java.sql.Date sqldate = new java.sql.Date(lineInfo.getDate2().getTime());
            ps.setDate(3, sqldate);
        } else {
            ps.setNull(3, java.sql.Types.DATE);
        }
        if (lineInfo.getLanguage() != null) {
            ps.setString(4, lineInfo.getLanguage().toString());
        } else {
            ps.setNull(4, java.sql.Types.VARCHAR);
        }
        if (lineInfo.getLineName() != null) {
            ps.setString(5, lineInfo.getLineName());
        } else {
            ps.setNull(5, java.sql.Types.VARCHAR);
        }
        if (lineInfo.getTerminal1Name() != null) {
            ps.setString(6, lineInfo.getTerminal1Name());
        } else {
            ps.setNull(6, java.sql.Types.VARCHAR);
        }
        if (lineInfo.getTerminal2Name() != null) {
            ps.setString(7, lineInfo.getTerminal2Name());
        } else {
            ps.setNull(7, java.sql.Types.VARCHAR);
        }
        if (lineInfo.getStopCodeDir1() != null) {
            ps.setInt(8, lineInfo.getStopCodeDir1());
        } else {
            ps.setNull(8, java.sql.Types.INTEGER);
        }
        if (lineInfo.getStopCodeDir2() != null) {
            ps.setInt(9, lineInfo.getStopCodeDir2());
        } else {
            ps.setNull(9, java.sql.Types.INTEGER);
        }
        if (lineInfo.getLineLengthDir1() != null) {
            ps.setInt(10, lineInfo.getLineLengthDir1());
        } else {
            ps.setNull(10, java.sql.Types.INTEGER);
        }
        if (lineInfo.getLineLengthDir2() != null) {
            ps.setInt(11, lineInfo.getLineLengthDir2());
        } else {
            ps.setNull(11, java.sql.Types.INTEGER);
        }
        if (lineInfo.getTransportMean() != null) {
            ps.setInt(12, lineInfo.getTransportMean());
        } else {
            ps.setNull(12, java.sql.Types.INTEGER);
        }
        ps.addBatch();
    }
    ps.executeBatch();
    ps.close();
}
Example 4
Project: stado_study-master  File: ExpressionType.java View source code
// -----------------------------------------------------------------------
/**
     *
     * @return A string which is the String representaion of this particular
     *         expression
     * @throws IllegalArgumentException :
     *             An exception is thrown when the Type is set to a unknown data
     *             type
     */
public String getTypeString() {
    String typeString = "";
    HashMap<String, String> params = new HashMap<String, String>();
    params.put("length", new String(length + ""));
    params.put("scale", new String(scale + ""));
    params.put("precision", new String(precision + ""));
    switch(type) {
        case java.sql.Types.BIT:
            if (length > 1) {
                typeString = TypeConstants.BIT_TEMPLATE;
            } else {
                typeString = "BIT";
            }
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.BINARY:
            if (length > 1) {
                typeString = TypeConstants.BIT_TEMPLATE;
            } else {
                typeString = "BIT";
            }
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.VARBINARY:
            typeString = "VARBIT";
            break;
        case java.sql.Types.CHAR:
            typeString = TypeConstants.CHAR_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.VARCHAR:
            typeString = TypeConstants.VARCHAR_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.SMALLINT:
            typeString = TypeConstants.SMALLINT_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.INTEGER:
            typeString = TypeConstants.INTEGER_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.BIGINT:
            typeString = TypeConstants.BIGINTEGER_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.DECIMAL:
        case java.sql.Types.NUMERIC:
            if (precision == -1) {
                typeString = TypeConstants.NUMERIC_TEMPLATE_WITHOUT_PRECISION;
            } else if (scale == -1) {
                typeString = TypeConstants.NUMERIC_TEMPLATE_WITHOUT_SCALE;
            } else {
                typeString = TypeConstants.NUMERIC_TEMPLATE;
            }
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.REAL:
            typeString = TypeConstants.REAL_TEMPLATE;
            break;
        case java.sql.Types.FLOAT:
            if (length > 0) {
                typeString = TypeConstants.FLOAT_TEMPLATE;
                typeString = ParseCmdLine.substitute(typeString, params);
            } else {
                typeString = TypeConstants.REAL_TEMPLATE;
            }
            break;
        case java.sql.Types.DATE:
            typeString = TypeConstants.DATE_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.TIME:
            typeString = TypeConstants.TIME_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.TIMESTAMP:
            typeString = TypeConstants.TIMESTAMP_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.DOUBLE:
            typeString = TypeConstants.DOUBLE_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.BOOLEAN:
            typeString = TypeConstants.BOOLEAN_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.CLOB:
            typeString = TypeConstants.TEXT_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.BLOB:
            typeString = TypeConstants.BLOB_TEMPLATE;
            typeString = ParseCmdLine.substitute(typeString, params);
            break;
        case java.sql.Types.NULL:
            // for null type we dont return any string
            break;
        case ExpressionType.MACADDR_TYPE:
            typeString = "MACADDR ";
            break;
        case ExpressionType.CIDR_TYPE:
            typeString = "CIDR ";
            break;
        case ExpressionType.INET_TYPE:
            typeString = "INET ";
            break;
        case ExpressionType.GEOMETRY_TYPE:
            typeString = "GEOMETRY ";
            break;
        case ExpressionType.BOX2D_TYPE:
            typeString = "BOX2D ";
            break;
        case ExpressionType.BOX3D_TYPE:
            typeString = "BOX3D ";
            break;
        case ExpressionType.BOX3DEXTENT_TYPE:
            typeString = "BOX3D_EXTENT ";
            break;
        case ExpressionType.REGCLASS_TYPE:
            typeString = "REGCLASS ";
            break;
        case ExpressionType.INTERVAL_TYPE:
            typeString = "INTERVAL ";
            break;
        default:
            throw new XDBServerException(ErrorMessageRepository.INVALID_DATATYPE + "( " + type + " )", 0, ErrorMessageRepository.INVALID_DATATYPE_CODE);
    }
    return typeString;
}
Example 5
Project: schemacrawler-master  File: SchemaCrawlerSqlTypesGenerator.java View source code
public static void main(final String[] args) throws Exception {
    final Properties properties = new Properties();
    final List<Entry<Integer, String>> javaSqlTypes = new ArrayList<Entry<Integer, String>>(getJavaSqlTypes().entrySet());
    for (int i = 0; i < javaSqlTypes.size(); i++) {
        final Entry<Integer, String> javaSqlType = javaSqlTypes.get(i);
        properties.setProperty(javaSqlType.getKey().toString(), javaSqlType.getValue());
    }
    properties.store(new FileWriter(new File(args[0])), String.format("java.sql.Types from JDK %s %s", System.getProperty("java.version"), System.getProperty("java.vendor")));
}
Example 6
Project: FireflowEngine20-master  File: AbstractDBService.java View source code
/**
	 * å¡«å……PreparedStatement
	 * 
	 * @param pstmt
	 * @param parameterElements
	 * @return 返回下次填充的起始�置
	 * @throws SQLException
	 * @throws ServiceInvocationException
	 */
public static int fulfillPreparedStatement(PreparedStatement pstmt, List<Element> parameterElements, int startIndex) throws SQLException, ServiceInvocationException {
    ParameterMetaData parameterMetaData = pstmt.getParameterMetaData();
    int preparedParamCount = parameterMetaData.getParameterCount();
    int paramCount = parameterElements.size();
    int currentParamIndex = 0;
    if (preparedParamCount > 0) {
        for (int i = 0; i < paramCount; i++) {
            currentParamIndex = i + startIndex;
            int type = parameterMetaData.getParameterType(currentParamIndex);
            Element element = parameterElements.get(i);
            String strValue = null;
            NodeList nodeList = element.getChildNodes();
            for (int k = 0; k < nodeList.getLength(); k++) {
                Node node = nodeList.item(k);
                if (node.getNodeType() == Node.TEXT_NODE) {
                    strValue = ((Text) node).getNodeValue();
                }
            }
            switch(type) {
                case java.sql.Types.CHAR:
                case java.sql.Types.VARCHAR:
                case java.sql.Types.LONGVARCHAR:
                    //case java.sql.Types.NCHAR:
                    //case java.sql.Types.NVARCHAR:
                    //case java.sql.Types.LONGNVARCHAR:
                    pstmt.setString(currentParamIndex, strValue);
                    break;
                case java.sql.Types.NUMERIC:
                case java.sql.Types.DECIMAL:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        if (strValue.indexOf(".") == -1) {
                            Long theLong = Long.valueOf(strValue);
                            pstmt.setBigDecimal(currentParamIndex, BigDecimal.valueOf(theLong));
                        } else {
                            Double d = Double.valueOf(strValue);
                            pstmt.setBigDecimal(currentParamIndex, BigDecimal.valueOf(d));
                        }
                    }
                    break;
                case java.sql.Types.BOOLEAN:
                case java.sql.Types.BIT:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        pstmt.setBoolean(currentParamIndex, Boolean.valueOf(strValue));
                    }
                    break;
                case java.sql.Types.TINYINT:
                case java.sql.Types.SMALLINT:
                case java.sql.Types.INTEGER:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        pstmt.setInt(currentParamIndex, Integer.valueOf(strValue));
                    }
                    break;
                case java.sql.Types.BIGINT:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        pstmt.setLong(currentParamIndex, Long.valueOf(strValue));
                    }
                    break;
                case java.sql.Types.REAL:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        pstmt.setFloat(currentParamIndex, Float.valueOf(strValue));
                    }
                    break;
                case java.sql.Types.FLOAT:
                case java.sql.Types.DOUBLE:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        pstmt.setDouble(currentParamIndex, Double.valueOf(strValue));
                    }
                    break;
                case java.sql.Types.BINARY:
                case java.sql.Types.VARBINARY:
                case java.sql.Types.LONGVARBINARY:
                case java.sql.Types.BLOB:
                case java.sql.Types.CLOB:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        byte[] content = null;
                        try {
                            content = Base64.decodeBase64(strValue.getBytes("UTF-8"));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        if (content == null) {
                            pstmt.setNull(currentParamIndex, type);
                        } else {
                            pstmt.setBytes(currentParamIndex, content);
                        }
                    }
                    break;
                case java.sql.Types.DATE:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        java.sql.Date sqlDate = java.sql.Date.valueOf(strValue);
                        pstmt.setDate(currentParamIndex, sqlDate);
                    }
                    break;
                case java.sql.Types.TIME:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        java.sql.Time t = java.sql.Time.valueOf(strValue);
                        pstmt.setTime(currentParamIndex, t);
                    }
                    break;
                case java.sql.Types.TIMESTAMP:
                    if (StringUtils.isEmpty(strValue)) {
                        pstmt.setNull(currentParamIndex, type);
                    } else {
                        String dt = strValue;
                        if (// 如果是“YYYY-MM-DDThh:mm:ss�这�格�,则将T替��空格
                        dt.indexOf("T") >= 0) {
                            dt = dt.replace("T", " ");
                        }
                        java.sql.Timestamp ts = Timestamp.valueOf(dt);
                        pstmt.setTimestamp(currentParamIndex, ts);
                    }
                    break;
            }
        }
    }
    return currentParamIndex + 1;
}
Example 7
Project: tungsten-replicator-master  File: RowsLogEvent.java View source code
protected int extractValue(ColumnSpec spec, ColumnVal value, byte[] row, int rowPos, int type, int meta, TableMapLogEvent map) throws IOException, ReplicatorException {
    int length = 0;
    // Calculate length for MYSQL_TYPE_STRING
    if (type == MysqlBinlog.MYSQL_TYPE_STRING) {
        if (meta >= 256) {
            int byte0 = meta >> 8;
            int byte1 = meta & 0xFF;
            if ((byte0 & 0x30) != 0x30) {
                /* a long CHAR() field: see #37426 */
                length = byte1 | (((byte0 & 0x30) ^ 0x30) << 4);
                type = byte0 | 0x30;
            } else {
                switch(byte0) {
                    case MysqlBinlog.MYSQL_TYPE_SET:
                    case MysqlBinlog.MYSQL_TYPE_ENUM:
                    case MysqlBinlog.MYSQL_TYPE_STRING:
                        type = byte0;
                        length = byte1;
                        break;
                    default:
                        {
                            logger.error("Don't know how to handle column type");
                            return 0;
                        }
                }
            }
        } else {
            length = meta;
        }
    }
    if (logger.isDebugEnabled())
        logger.debug("Handling type " + type + " - meta = " + meta);
    switch(type) {
        case MysqlBinlog.MYSQL_TYPE_LONG:
            {
                int si = (int) LittleEndianConversion.convertSignedNBytesToLong(row, rowPos, 4);
                if (si < MysqlBinlog.INT_MIN || si > MysqlBinlog.INT_MAX) {
                    logger.error("int out of range: " + si + "(range: " + MysqlBinlog.INT_MIN + " - " + MysqlBinlog.INT_MAX + " )");
                }
                value.setValue(new Integer(si));
                if (spec != null) {
                    spec.setType(java.sql.Types.INTEGER);
                    spec.setLength(4);
                }
                return 4;
            }
        case MysqlBinlog.MYSQL_TYPE_TINY:
            {
                short si = BigEndianConversion.convert1ByteToShort(row, rowPos);
                if (si < MysqlBinlog.TINYINT_MIN || si > MysqlBinlog.TINYINT_MAX) {
                    logger.error("tinyint out of range: " + si + "(range: " + MysqlBinlog.TINYINT_MIN + " - " + MysqlBinlog.TINYINT_MAX + " )");
                }
                value.setValue(new Integer(si));
                if (spec != null) {
                    spec.setType(java.sql.Types.INTEGER);
                    spec.setLength(1);
                }
                return 1;
            }
        case MysqlBinlog.MYSQL_TYPE_SHORT:
            {
                short si = (short) LittleEndianConversion.convertSignedNBytesToLong(row, rowPos, 2);
                if (si < MysqlBinlog.SMALLINT_MIN || si > MysqlBinlog.SMALLINT_MAX) {
                    logger.error("smallint out of range: " + si + "(range: " + MysqlBinlog.SMALLINT_MIN + " - " + MysqlBinlog.SMALLINT_MAX + " )");
                }
                value.setValue(new Integer(si));
                if (spec != null) {
                    spec.setType(java.sql.Types.INTEGER);
                    spec.setLength(2);
                }
                return 2;
            }
        case MysqlBinlog.MYSQL_TYPE_INT24:
            {
                int si = (int) LittleEndianConversion.convertSignedNBytesToLong(row, rowPos, 3);
                if (si < MysqlBinlog.MEDIUMINT_MIN || si > MysqlBinlog.MEDIUMINT_MAX) {
                    logger.error("mediumint out of range: " + si + "(range: " + MysqlBinlog.MEDIUMINT_MIN + " - " + MysqlBinlog.MEDIUMINT_MAX + " )");
                }
                value.setValue(new Integer(si));
                if (spec != null) {
                    spec.setType(java.sql.Types.INTEGER);
                    spec.setLength(3);
                }
                return 3;
            }
        case MysqlBinlog.MYSQL_TYPE_LONGLONG:
            {
                long si = LittleEndianConversion.convertSignedNBytesToLong(row, rowPos, 8);
                if (si < 0) {
                    long ui = LittleEndianConversion.convert8BytesToLong(row, rowPos);
                    value.setValue(new Long(ui));
                    if (spec != null) {
                        spec.setType(java.sql.Types.INTEGER);
                        spec.setLength(8);
                    }
                } else {
                    value.setValue(new Long(si));
                    if (spec != null) {
                        spec.setType(java.sql.Types.INTEGER);
                        spec.setLength(8);
                    }
                }
                return 8;
            }
        case MysqlBinlog.MYSQL_TYPE_NEWDECIMAL:
            {
                int precision = meta >> 8;
                int decimals = meta & 0xFF;
                int bin_size = getDecimalBinarySize(precision, decimals);
                byte[] dec = new byte[bin_size];
                for (int i = 0; i < bin_size; i++) dec[i] = row[rowPos + i];
                BigDecimal myDouble = extractDecimal(dec, precision, decimals);
                value.setValue(myDouble);
                if (spec != null)
                    spec.setType(java.sql.Types.DECIMAL);
                return bin_size;
            }
        case MysqlBinlog.MYSQL_TYPE_FLOAT:
            {
                float fl = MysqlBinlog.float4ToFloat(row, rowPos);
                value.setValue(new Float(fl));
                if (spec != null)
                    spec.setType(java.sql.Types.FLOAT);
                return 4;
            }
        case MysqlBinlog.MYSQL_TYPE_DOUBLE:
            {
                double dbl = MysqlBinlog.double8ToDouble(row, rowPos);
                value.setValue(new Double(dbl));
                if (spec != null)
                    spec.setType(java.sql.Types.DOUBLE);
                return 8;
            }
        case MysqlBinlog.MYSQL_TYPE_BIT:
            {
                /* Meta-data: bit_len, bytes_in_rec, 2 bytes */
                int nbits = ((meta >> 8) * 8) + (meta & 0xFF);
                length = (nbits + 7) / 8;
                /*
                 * This code has come from observations of patterns in the MySQL
                 * binlog. It is not directly from reading any public domain
                 * C-source code. The test cases included a variety of bit(x)
                 * columns from 1 bit up to 28 bits. This length appears to be
                 * correctly calculated and the bit values themselves are in a
                 * simple, non byte swapped byte array.
                 */
                int retval = (int) MysqlBinlog.ulNoSwapToInt(row, rowPos, length);
                value.setValue(new Integer(retval));
                if (spec != null)
                    spec.setType(java.sql.Types.BIT);
                return length;
            }
        case MysqlBinlog.MYSQL_TYPE_TIMESTAMP:
            {
                int offset = 0;
                Timestamp ts;
                long i32;
                int nanos = 0;
                if (spec != null)
                    spec.setType(java.sql.Types.TIMESTAMP);
                if (meta > 0) {
                    // MariaDB 10 TIMESTAMP datatype support
                    offset = TIMESTAMP_BYTES_PER_SUB_SECOND_DECIMAL[meta];
                    i32 = BigEndianConversion.convert4BytesToInt(row, rowPos);
                    long microsec = BigEndianConversion.convertNBytesToInt(row, rowPos + 4, offset) * SECOND_TO_MICROSECOND_MULTIPLIER[meta];
                    nanos = 1000 * (int) microsec;
                    if (nanos < 0 || nanos > 999999999) {
                        logger.warn("Extracted a wrong number of nanoseconds : " + nanos + " - in ms, value was " + microsec + "(" + BigEndianConversion.convertNBytesToInt(row, rowPos + 4, offset) + " * " + SECOND_TO_MICROSECOND_MULTIPLIER[meta] + " )" + "- as hexa : " + hexdump(row, rowPos + 4, offset));
                    }
                } else {
                    // MySQL TIMESTAMP standard datatype support
                    i32 = LittleEndianConversion.convertNBytesToLong_2(row, rowPos, 4);
                }
                if (i32 == 0) {
                    value.setValue(Integer.valueOf(0));
                } else {
                    ts = new java.sql.Timestamp(i32 * 1000);
                    ts.setNanos(nanos);
                    value.setValue(ts);
                }
                return 4 + offset;
            }
        case MysqlBinlog.MYSQL_TYPE_TIMESTAMP2:
            {
                // MYSQL 5.6 TIMESTAMP datatype support
                int secPartsLength = 0;
                long i32 = BigEndianConversion.convertNBytesToLong(row, rowPos, 4);
                if (logger.isDebugEnabled()) {
                    logger.debug("Extracting timestamp " + hexdump(row, rowPos, 4));
                    logger.debug("Meta value is " + meta);
                    logger.debug("Value as integer is " + i32);
                }
                if (i32 == 0) {
                    value.setValue(Integer.valueOf(0));
                    secPartsLength = getSecondPartsLength(meta);
                } else {
                    // convert sec based timestamp to millisecond precision
                    Timestamp tsVal = new java.sql.Timestamp(i32 * 1000);
                    if (logger.isDebugEnabled())
                        logger.debug("Setting value to " + tsVal);
                    value.setValue(tsVal);
                    secPartsLength = getSecondPartsLength(meta);
                    rowPos += 4;
                    tsVal.setNanos(extractNanoseconds(row, rowPos, meta, secPartsLength));
                }
                if (spec != null)
                    spec.setType(java.sql.Types.TIMESTAMP);
                return 4 + secPartsLength;
            }
        case MysqlBinlog.MYSQL_TYPE_DATETIME:
            {
                java.sql.Timestamp ts = null;
                int year, month, day, hour, min, sec, nanos = 0;
                long i64 = 0;
                int offset;
                if (meta == 0) {
                    // MYSQL standard DATETIME datatype support
                    offset = 8;
                    i64 = LittleEndianConversion.convert8BytesToLong(row, rowPos);
                    // Let's check for zero date
                    if (i64 == 0) {
                        value.setValue(Integer.valueOf(0));
                        if (spec != null)
                            spec.setType(java.sql.Types.TIMESTAMP);
                        return offset;
                    }
                    // calculate year, month...sec components of timestamp
                    long d = i64 / 1000000;
                    year = (int) (d / 10000);
                    month = (int) (d % 10000) / 100;
                    day = (int) (d % 10000) % 100;
                    long t = i64 % 1000000;
                    hour = (int) (t / 10000);
                    min = (int) (t % 10000) / 100;
                    sec = (int) (t % 10000) % 100;
                    offset = 8;
                } else {
                    // MariaDB 10 DATETIME datatype support
                    offset = DATETIME_BYTES_PER_SUB_SECOND_DECIMAL[meta];
                    if (logger.isDebugEnabled())
                        logger.debug("Handling MariaDB 10 datetime datatype");
                    if (meta < 0) {
                        meta = 0;
                    }
                    i64 = BigEndianConversion.convertNBytesToLong(row, rowPos, DATETIME_BYTES_PER_SUB_SECOND_DECIMAL[meta]) * SECOND_TO_MICROSECOND_MULTIPLIER[meta];
                    // Let's check for zero date
                    if (i64 == 0) {
                        value.setValue(Integer.valueOf(0));
                        if (spec != null)
                            spec.setType(java.sql.Types.TIMESTAMP);
                        return offset;
                    }
                    nanos = (int) (i64 % 1000000L) * 1000;
                    i64 /= 1000000L;
                    sec = (int) (i64 % 60L);
                    i64 /= 60L;
                    min = (int) (i64 % 60L);
                    i64 /= 60L;
                    hour = (int) (i64 % 24L);
                    i64 /= 24L;
                    day = (int) (i64 % 32L);
                    i64 /= 32L;
                    month = (int) (i64 % 13L);
                    i64 /= 13L;
                    year = (int) i64;
                    offset = DATETIME_BYTES_PER_SUB_SECOND_DECIMAL[meta];
                }
                // Force the use of GMT as calendar for DATETIME datatype
                Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
                // Month value is 0-based. e.g., 0 for January.
                cal.set(year, month - 1, day, hour, min, sec);
                ts = new Timestamp(cal.getTimeInMillis());
                ts.setNanos(nanos);
                value.setValue(ts);
                if (spec != null)
                    spec.setType(java.sql.Types.DATE);
                return offset;
            }
        case MysqlBinlog.MYSQL_TYPE_DATETIME2:
            {
                // MYSQL 5.6 DATETIME datatype support
                /**
                 * 1 bit sign (used when on disk)<br>
                 * 17 bits year*13+month (year 0-9999, month 0-12)<br>
                 * 5 bits day (0-31)<br>
                 * 5 bits hour (0-23)<br>
                 * 6 bits minute (0-59)<br>
                 * 6 bits second (0-59)<br>
                 * 24 bits microseconds (0-999999)<br>
                 * Total: 64 bits = 8 bytes SYYYYYYY.YYYYYYYY.YYdddddh
                 * .hhhhmmmm.mmssssss.ffffffff.ffffffff.ffffffff
                 */
                long i64 = BigEndianConversion.convertNBytesToLong(row, rowPos, 5) - 0x8000000000L;
                int secPartsLength = 0;
                // Let's check for zero date
                if (i64 == 0) {
                    value.setValue(Integer.valueOf(0));
                    secPartsLength = getSecondPartsLength(meta);
                    rowPos += 5;
                    if (logger.isDebugEnabled())
                        logger.debug("Got nanos = " + extractNanoseconds(row, rowPos, meta, secPartsLength));
                    if (spec != null)
                        spec.setType(java.sql.Types.TIMESTAMP);
                    return 5 + secPartsLength;
                }
                long currentValue = (i64 >> 22);
                int year = (int) (currentValue / 13);
                int month = (int) (currentValue % 13);
                long previousValue = currentValue;
                currentValue = i64 >> 17;
                int day = (int) (currentValue - (previousValue << 5));
                previousValue = currentValue;
                currentValue = (i64 >> 12);
                int hour = (int) (currentValue - (previousValue << 5));
                previousValue = currentValue;
                currentValue = (i64 >> 6);
                int minute = (int) (currentValue - (previousValue << 6));
                previousValue = currentValue;
                currentValue = i64;
                int seconds = (int) (currentValue - (previousValue << 6));
                if (logger.isDebugEnabled())
                    logger.debug("Time " + hour + ":" + minute + ":" + seconds);
                // construct timestamp from time components
                java.sql.Timestamp ts = null;
                // Calendar cal = Calendar.getInstance();
                // Force the use of GMT as calendar
                Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
                // Month value is 0-based. e.g., 0 for January.
                cal.set(year, month - 1, day, hour, minute, seconds);
                ts = new Timestamp(cal.getTimeInMillis());
                value.setValue(ts);
                if (spec != null)
                    spec.setType(java.sql.Types.DATE);
                secPartsLength = getSecondPartsLength(meta);
                rowPos += 5;
                ts.setNanos(extractNanoseconds(row, rowPos, meta, secPartsLength));
                return 5 + secPartsLength;
            }
        case MysqlBinlog.MYSQL_TYPE_TIME:
            {
                Time time;
                Timestamp tsVal;
                int offset;
                if (meta == 0) {
                    // MYSQL standard TIME datatype support
                    offset = 3;
                    long i32 = LittleEndianConversion.convert3BytesToInt(row, rowPos);
                    time = java.sql.Time.valueOf(i32 / 10000 + ":" + (i32 % 10000) / 100 + ":" + i32 % 100);
                    value.setValue(time);
                } else {
                    // MariaDB 10 TIME datatype support
                    if (meta < 0) {
                        meta = 0;
                        logger.warn("Negative metadata detected");
                    }
                    offset = TIME_BYTES_PER_SUB_SECOND_DECIMAL[meta];
                    long i64 = BigEndianConversion.convertNBytesToLong(row, rowPos, offset) * SECOND_TO_MICROSECOND_MULTIPLIER[meta];
                    i64 -= MAX_TIME;
                    if (logger.isDebugEnabled())
                        logger.debug("Extracted value is " + i64);
                    // Convert microseconds to nanoseconds
                    int nanos = (int) (i64 % 1000000L) * 1000;
                    i64 /= 1000000L;
                    int sec = (int) (i64 % 60L);
                    i64 /= 60L;
                    int min = (int) (i64 % 60L);
                    i64 /= 60L;
                    int hour = (int) (i64 % 24L);
                    time = java.sql.Time.valueOf(hour + ":" + min + ":" + sec);
                    tsVal = new java.sql.Timestamp(time.getTime());
                    tsVal.setNanos(nanos);
                    value.setValue(tsVal);
                }
                if (spec != null)
                    spec.setType(java.sql.Types.TIME);
                return offset;
            }
        case MysqlBinlog.MYSQL_TYPE_TIME2:
            {
                /**
                 * 1 bit sign (Used for sign, when on disk)<br>
                 * 1 bit unused (Reserved for wider hour range, e.g. for
                 * intervals)<br>
                 * 10 bit hour (0-836)<br>
                 * 6 bit minute (0-59)<br>
                 * 6 bit second (0-59)<br>
                 * 24 bits microseconds (0-999999)<br>
                 * Total: 48 bits = 6 bytes
                 * Suhhhhhh.hhhhmmmm.mmssssss.ffffffff.ffffffff.ffffffff
                 */
                if (logger.isDebugEnabled())
                    logger.debug("Extracting TIME2 from position " + rowPos + " : " + hexdump(row, rowPos, 3));
                long i32 = (BigEndianConversion.convert3BytesToInt(row, rowPos) - 0x800000L) & 0xBFFFFFL;
                long currentValue = (i32 >> 12);
                int hours = (int) currentValue;
                long previousValue = currentValue;
                currentValue = i32 >> 6;
                int minutes = (int) (currentValue - (previousValue << 6));
                previousValue = currentValue;
                currentValue = i32;
                int seconds = (int) (currentValue - (previousValue << 6));
                Time time = java.sql.Time.valueOf(hours + ":" + minutes + ":" + seconds);
                Timestamp tsVal = new java.sql.Timestamp(time.getTime());
                value.setValue(tsVal);
                int secPartsLength = getSecondPartsLength(meta);
                rowPos += 3;
                int nanoseconds = extractNanoseconds(row, rowPos, meta, secPartsLength);
                tsVal.setNanos(nanoseconds);
                if (spec != null)
                    spec.setType(java.sql.Types.TIME);
                return 3 + secPartsLength;
            }
        case MysqlBinlog.MYSQL_TYPE_DATE:
            {
                int i32 = 0;
                i32 = LittleEndianConversion.convert3BytesToInt(row, rowPos);
                java.sql.Date date = null;
                // Let's check if the date is 0000-00-00
                if (i32 == 0) {
                    value.setValue(Integer.valueOf(0));
                    if (spec != null)
                        spec.setType(java.sql.Types.DATE);
                    return 3;
                }
                Calendar cal = Calendar.getInstance();
                cal.clear();
                // Month value is 0-based. e.g., 0 for January.
                cal.set(i32 / (16 * 32), (i32 / 32 % 16) - 1, i32 % 32);
                date = new Date(cal.getTimeInMillis());
                value.setValue(date);
                if (spec != null)
                    spec.setType(java.sql.Types.DATE);
                return 3;
            }
        case MysqlBinlog.MYSQL_TYPE_YEAR:
            {
                int i32 = LittleEndianConversion.convert1ByteToInt(row, rowPos);
                // raw value is offset by 1900. e.g. "1" is 1901.
                value.setValue(1900 + i32);
                // (e.g."STRICT_TRANS_TABLES").
                if (spec != null)
                    spec.setType(java.sql.Types.INTEGER);
                return 1;
            }
        case MysqlBinlog.MYSQL_TYPE_ENUM:
            switch(length) {
                case 1:
                    {
                        int i32 = LittleEndianConversion.convert1ByteToInt(row, rowPos);
                        value.setValue(new Integer(i32));
                        if (spec != null)
                            spec.setType(java.sql.Types.OTHER);
                        return 1;
                    }
                case 2:
                    {
                        int i32 = LittleEndianConversion.convert2BytesToInt(row, rowPos);
                        value.setValue(new Integer(i32));
                        if (spec != null)
                            spec.setType(java.sql.Types.INTEGER);
                        return 2;
                    }
                default:
                    return 0;
            }
        case MysqlBinlog.MYSQL_TYPE_SET:
            long val = LittleEndianConversion.convertNBytesToLong_2(row, rowPos, length);
            value.setValue(new Long(val));
            if (spec != null)
                spec.setType(java.sql.Types.INTEGER);
            return length;
        case MysqlBinlog.MYSQL_TYPE_BLOB:
            /*
                 * BLOB or TEXT datatype
                 */
            if (spec != null)
                spec.setType(java.sql.Types.BLOB);
            int blob_size = 0;
            switch(meta) {
                case 1:
                    length = GeneralConversion.unsignedByteToInt(row[rowPos]);
                    blob_size = 1;
                    break;
                case 2:
                    length = LittleEndianConversion.convert2BytesToInt(row, rowPos);
                    blob_size = 2;
                    break;
                case 3:
                    length = LittleEndianConversion.convert3BytesToInt(row, rowPos);
                    blob_size = 3;
                    break;
                case 4:
                    length = (int) LittleEndianConversion.convert4BytesToLong(row, rowPos);
                    blob_size = 4;
                    break;
                default:
                    logger.error("Unknown BLOB packlen= " + length);
                    return 0;
            }
            try {
                SerialBlob blob = DatabaseHelper.getSafeBlob(row, rowPos + blob_size, length);
                value.setValue(blob);
            } catch (SQLException e) {
                throw new MySQLExtractException("Failure while extracting blob", e);
            }
            if (spec != null) {
                spec.setType(java.sql.Types.BLOB);
            }
            return length + blob_size;
        case MysqlBinlog.MYSQL_TYPE_VARCHAR:
        case MysqlBinlog.MYSQL_TYPE_VAR_STRING:
            /*
                 * Except for the data length calculation, MYSQL_TYPE_VARCHAR,
                 * MYSQL_TYPE_VAR_STRING and MYSQL_TYPE_STRING are handled the
                 * same way
                 */
            length = meta;
            if (length < 256) {
                length = LittleEndianConversion.convert1ByteToInt(row, rowPos);
                rowPos++;
                if (useBytesForString)
                    value.setValue(processStringAsBytes(row, rowPos, length));
                else
                    value.setValue(processString(row, rowPos, length));
                length += 1;
            } else {
                length = LittleEndianConversion.convert2BytesToInt(row, rowPos);
                rowPos += 2;
                if (useBytesForString)
                    value.setValue(processStringAsBytes(row, rowPos, length));
                else
                    value.setValue(processString(row, rowPos, length));
                length += 2;
            }
            if (spec != null)
                spec.setType(java.sql.Types.VARCHAR);
            return length;
        case MysqlBinlog.MYSQL_TYPE_STRING:
            if (length < 256) {
                length = LittleEndianConversion.convert1ByteToInt(row, rowPos);
                rowPos++;
                if (useBytesForString)
                    value.setValue(processStringAsBytes(row, rowPos, length));
                else
                    value.setValue(processString(row, rowPos, length));
                length += 1;
            } else {
                length = LittleEndianConversion.convert2BytesToInt(row, rowPos);
                rowPos += 2;
                if (useBytesForString)
                    value.setValue(processStringAsBytes(row, rowPos, length));
                else
                    value.setValue(processString(row, rowPos, length));
                length += 2;
            }
            if (spec != null)
                spec.setType(java.sql.Types.VARCHAR);
            return length;
        default:
            {
                throw new MySQLExtractException("unknown data type " + type);
            }
    }
}
Example 8
Project: ApprovalTests.Java-master  File: DatabaseUtils.java View source code
/**
   * Finds the database type name for a jdbc sql type
   */
public static String findDatabaseName(int i) {
    String name = null;
    switch(i) {
        case java.sql.Types.BIT:
            name = "boolean";
            break;
        case java.sql.Types.CHAR:
            name = "char";
            break;
        case java.sql.Types.DECIMAL:
            name = "decimal";
            break;
        case java.sql.Types.DOUBLE:
            name = "numeric";
            break;
        case java.sql.Types.FLOAT:
            name = "numeric";
            break;
        case java.sql.Types.INTEGER:
            name = "integer";
            break;
        case java.sql.Types.NUMERIC:
            name = "numeric";
            break;
        case java.sql.Types.TIMESTAMP:
            name = "timestamp";
            break;
        case java.sql.Types.VARCHAR:
            name = "varchar";
            break;
        default:
            SimpleLogger.warning("The Type not found(" + i + ")");
            break;
    }
    return name;
}
Example 9
Project: TadpoleForDBTools-master  File: RDBTypeToJavaTypeUtils.java View source code
/**
	 * rdb type to java
	 * 
	 * @param rdbType
	 * @return
	 */
public static Integer getJavaType(String rdbType) {
    //		if(logger.isDebugEnabled()) logger.debug("rdb type is " + rdbType);
    Integer javaType = mapTypes.get(rdbType);
    if (javaType == null) {
        //			logger.info("SQL type to Java type not found is" + rdbType);
        return java.sql.Types.VARCHAR;
    }
    return javaType;
}
Example 10
Project: minos-master  File: RoundNode.java View source code
public void update(DatabaseConnectionKeeper kdb, int flags) throws Exception {
    Preconditions.checkArgument(roundID != -1, "RoundNode.update() : roundID field have incorrect value");
    List<RecordFeld> lst = makeListParam(flags);
    Preconditions.checkNotNull(lst, "RoundNode.update() : makeListParam() return null");
    try {
        kdb.updateRow(names.get("RoundTable"), lst, new RecordFeld(java.sql.Types.INTEGER, names.get("roundID"), roundID));
    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
}
Example 11
Project: java-sproc-wrapper-master  File: StoredProcedureParameter.java View source code
public static StoredProcedureParameter createParameter(final Class<?> clazz, final Type genericType, final Method m, final String typeName, final int sqlType, final int javaPosition, final boolean sensitive) throws InstantiationException, IllegalAccessException {
    // first check if this is a globally mapped class
    ValueTransformer<?, ?> valueTransformerForClass = null;
    ObjectMapper<?> globalObjectMapper = null;
    if (genericType != null) {
        valueTransformerForClass = GlobalValueTransformerLoader.getValueTransformerForClass((Class<?>) genericType);
        globalObjectMapper = GlobalObjectTransformerLoader.getObjectMapperForClass((Class<?>) genericType);
    }
    if (valueTransformerForClass != null) {
        // inject the additional logic to transform types and values
        return new GlobalValueTransformedParameter(valueTransformerForClass, clazz, genericType, m, typeName, sqlType, javaPosition, sensitive, globalObjectMapper);
    } else {
        Integer typeId = sqlType;
        if (typeId == null || typeId == -1) {
            typeId = SQL_MAPPING.get(clazz);
        }
        // explicitly mapping Map to a hstore, since PgTypeHelper does not fall back to it
        if (typeId == null && Map.class.isAssignableFrom(clazz)) {
            return new MapStoredProcedureParameter(clazz, m, typeName, sqlType, javaPosition, sensitive);
        }
        if (typeId == null) {
            typeId = java.sql.Types.OTHER;
        }
        if (typeId == Types.ARRAY) {
            return new ArrayStoredProcedureParameter(clazz, m, typeName, sqlType, javaPosition, sensitive);
        } else if (typeId == Types.OTHER) {
            return new OtherStoredProcedureParameter(clazz, m, typeName, sqlType, javaPosition, sensitive);
        }
        return new StoredProcedureParameter(clazz, m, typeName, sqlType, javaPosition, sensitive);
    }
}
Example 12
Project: xxl-master  File: Types.java View source code
/**
	 * Creates a column metadata describing a column holding objects of the
	 * specified Java type.
	 * 
	 * @param javaType the Java type the column must be able to store.
	 * @return a column metadata describing a column holding objects of the
	 *         specified Java type.
	 */
public static ColumnMetaData getColumnMetaData(int javaType) {
    switch(javaType) {
        case STRING:
        case BIG_DECIMAL:
        case FLOAT:
        case DOUBLE:
        case BYTE_ARRAY:
            throw new IllegalArgumentException("because of different precision/scale handling this method does not provide column metadata for object of type " + getJavaTypeName(javaType) + ". Use Types.getColumnMetaData(int,java.lang.Object) instead.");
        default:
            return getColumnMetaData(javaType, null);
    }
}
Example 13
Project: Ragefist-master  File: ResultSetConverter.java View source code
public static LuaTable convertToLuaTable(ResultSet rs) throws SQLException {
    LuaTable table = LuaTable.tableOf();
    ResultSetMetaData rsmd = rs.getMetaData();
    int row = 1;
    while (rs.next()) {
        int numColumns = rsmd.getColumnCount();
        LuaTable item = LuaTable.tableOf();
        for (int i = 1; i < numColumns + 1; i++) {
            String columnName = rsmd.getColumnName(i);
            if (rsmd.getColumnType(i) == java.sql.Types.ARRAY) {
                Logger.getLogger(ResultSetConverter.class.getName()).log(Level.SEVERE, "Array Type is not supported");
            } else if (rsmd.getColumnType(i) == java.sql.Types.BIGINT) {
                item.set(columnName, LuaValue.valueOf(rs.getInt(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.BOOLEAN) {
                item.set(columnName, LuaValue.valueOf(rs.getBoolean(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.BLOB) {
                Logger.getLogger(ResultSetConverter.class.getName()).log(Level.SEVERE, "Blob Type is not supported");
            } else if (rsmd.getColumnType(i) == java.sql.Types.DOUBLE) {
                item.set(columnName, LuaValue.valueOf(rs.getDouble(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.FLOAT) {
                item.set(columnName, LuaValue.valueOf(rs.getFloat(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.INTEGER) {
                item.set(columnName, LuaValue.valueOf(rs.getInt(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.NVARCHAR) {
                item.set(columnName, LuaValue.valueOf(rs.getNString(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.VARCHAR) {
                item.set(columnName, LuaValue.valueOf(rs.getString(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.TINYINT) {
                item.set(columnName, LuaValue.valueOf(rs.getInt(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.SMALLINT) {
                item.set(columnName, LuaValue.valueOf(rs.getInt(columnName)));
            } else if (rsmd.getColumnType(i) == java.sql.Types.DATE) {
                item.set(columnName, LuaValue.valueOf(rs.getDate(columnName).toString()));
            } else if (rsmd.getColumnType(i) == java.sql.Types.TIMESTAMP) {
                item.set(columnName, LuaValue.valueOf(rs.getTimestamp(columnName).toString()));
            } else {
                Logger.getLogger(ResultSetConverter.class.getName()).log(Level.SEVERE, "Unsupported type");
            }
        }
        table.set(row, item);
    }
    return table;
}
Example 14
Project: vnluser-master  File: DbGenericDao.java View source code
protected JSONArray convertResultSetToJson(ResultSet rs) {
    JSONArray json = new JSONArray();
    try {
        ResultSetMetaData rsmd = rs.getMetaData();
        while (rs.next()) {
            int numColumns = rsmd.getColumnCount();
            JSONObject obj = new JSONObject();
            for (int i = 1; i < numColumns + 1; i++) {
                String column_name = rsmd.getColumnName(i);
                switch(rsmd.getColumnType(i)) {
                    case java.sql.Types.ARRAY:
                        obj.put(column_name, rs.getArray(i));
                        break;
                    case java.sql.Types.BIGINT:
                        obj.put(column_name, rs.getInt(i));
                        break;
                    case java.sql.Types.BOOLEAN:
                        obj.put(column_name, rs.getBoolean(i));
                        break;
                    case java.sql.Types.BLOB:
                        obj.put(column_name, rs.getBlob(i));
                        break;
                    case java.sql.Types.DOUBLE:
                        obj.put(column_name, rs.getDouble(i));
                        break;
                    case java.sql.Types.FLOAT:
                        obj.put(column_name, rs.getFloat(i));
                        break;
                    case java.sql.Types.INTEGER:
                        obj.put(column_name, rs.getInt(i));
                        break;
                    case java.sql.Types.NVARCHAR:
                        obj.put(column_name, rs.getNString(i));
                        break;
                    case java.sql.Types.VARCHAR:
                        obj.put(column_name, rs.getString(i));
                        break;
                    case java.sql.Types.TINYINT:
                        obj.put(column_name, rs.getInt(i));
                        break;
                    case java.sql.Types.SMALLINT:
                        obj.put(column_name, rs.getInt(i));
                        break;
                    case java.sql.Types.DATE:
                        obj.put(column_name, rs.getDate(i));
                        break;
                    case java.sql.Types.TIMESTAMP:
                        obj.put(column_name, rs.getTimestamp(i));
                        break;
                    default:
                        obj.put(column_name, rs.getObject(i));
                        break;
                }
            }
            json.put(obj);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return json;
}
Example 15
Project: damp.ekeko.snippets-master  File: Specification.java View source code
/** Returns DBType where maps specified java type */
public String getType(int type) {
    String typestr = "";
    Map typemap = getTypeMap();
    switch(type) {
        case java.sql.Types.ARRAY:
            typestr = "ARRAY";
            break;
        case java.sql.Types.BIGINT:
            typestr = "BIGINT";
            break;
        case java.sql.Types.BINARY:
            typestr = "BINARY";
            break;
        case java.sql.Types.BIT:
            typestr = "BIT";
            break;
        case java.sql.Types.BLOB:
            typestr = "BLOB";
            break;
        case java.sql.Types.CHAR:
            typestr = "CHAR";
            break;
        case java.sql.Types.CLOB:
            typestr = "CLOB";
            break;
        case java.sql.Types.DATE:
            typestr = "DATE";
            break;
        case java.sql.Types.DECIMAL:
            typestr = "DECIMAL";
            break;
        case java.sql.Types.DISTINCT:
            typestr = "DISTINCT";
            break;
        case java.sql.Types.DOUBLE:
            typestr = "DOUBLE";
            break;
        case java.sql.Types.FLOAT:
            typestr = "FLOAT";
            break;
        case java.sql.Types.INTEGER:
            typestr = "INTEGER";
            break;
        case java.sql.Types.JAVA_OBJECT:
            typestr = "JAVA_OBJECT";
            break;
        case java.sql.Types.LONGVARBINARY:
            typestr = "LONGVARBINARY";
            break;
        case java.sql.Types.LONGVARCHAR:
            typestr = "LONGVARCHAR";
            break;
        case java.sql.Types.NUMERIC:
            typestr = "NUMERIC";
            break;
        case java.sql.Types.REAL:
            typestr = "REAL";
            break;
        case java.sql.Types.REF:
            typestr = "REF";
            break;
        case java.sql.Types.SMALLINT:
            typestr = "SMALLINT";
            break;
        case java.sql.Types.TIME:
            typestr = "TIME";
            break;
        case java.sql.Types.TIMESTAMP:
            typestr = "TIMESTAMP";
            break;
        case java.sql.Types.TINYINT:
            typestr = "TINYINT";
            break;
        case java.sql.Types.VARBINARY:
            typestr = "VARBINARY";
            break;
        case java.sql.Types.VARCHAR:
            typestr = "VARCHAR";
            break;
    }
    return (String) typemap.get("java.sql.Types." + typestr);
}
Example 16
Project: dbvim-master  File: Database.java View source code
/**
	 * Returns operator string
	 * @param field
	 * @return
	 */
protected static String getOperator(DBField field) {
    switch(field.getDBType()) {
        case java.sql.Types.CHAR:
        case java.sql.Types.VARCHAR:
        case java.sql.Types.LONGVARCHAR:
        case java.sql.Types.NCHAR:
        case java.sql.Types.NVARCHAR:
        case java.sql.Types.LONGNVARCHAR:
            return "LIKE";
        case java.sql.Types.TINYINT:
        case java.sql.Types.SMALLINT:
        case java.sql.Types.INTEGER:
        case java.sql.Types.DECIMAL:
        case java.sql.Types.NUMERIC:
        case java.sql.Types.REAL:
        case java.sql.Types.FLOAT:
        case java.sql.Types.DOUBLE:
        case java.sql.Types.BIGINT:
            return "=";
    }
    return "LIKE";
}
Example 17
Project: JFugue-for-Android-master  File: QueryParameter.java View source code
private static int map_type(String typename) {
    if (m_Typetable == null) {
        // Load up the type mapping table.
        m_Typetable = new Hashtable();
        m_Typetable.put("BIGINT", new Integer(java.sql.Types.BIGINT));
        m_Typetable.put("BINARY", new Integer(java.sql.Types.BINARY));
        m_Typetable.put("BIT", new Integer(java.sql.Types.BIT));
        m_Typetable.put("CHAR", new Integer(java.sql.Types.CHAR));
        m_Typetable.put("DATE", new Integer(java.sql.Types.DATE));
        m_Typetable.put("DECIMAL", new Integer(java.sql.Types.DECIMAL));
        m_Typetable.put("DOUBLE", new Integer(java.sql.Types.DOUBLE));
        m_Typetable.put("FLOAT", new Integer(java.sql.Types.FLOAT));
        m_Typetable.put("INTEGER", new Integer(java.sql.Types.INTEGER));
        m_Typetable.put("LONGVARBINARY", new Integer(java.sql.Types.LONGVARBINARY));
        m_Typetable.put("LONGVARCHAR", new Integer(java.sql.Types.LONGVARCHAR));
        m_Typetable.put("NULL", new Integer(java.sql.Types.NULL));
        m_Typetable.put("NUMERIC", new Integer(java.sql.Types.NUMERIC));
        m_Typetable.put("OTHER", new Integer(java.sql.Types.OTHER));
        m_Typetable.put("REAL", new Integer(java.sql.Types.REAL));
        m_Typetable.put("SMALLINT", new Integer(java.sql.Types.SMALLINT));
        m_Typetable.put("TIME", new Integer(java.sql.Types.TIME));
        m_Typetable.put("TIMESTAMP", new Integer(java.sql.Types.TIMESTAMP));
        m_Typetable.put("TINYINT", new Integer(java.sql.Types.TINYINT));
        m_Typetable.put("VARBINARY", new Integer(java.sql.Types.VARBINARY));
        m_Typetable.put("VARCHAR", new Integer(java.sql.Types.VARCHAR));
        // Aliases from Xalan SQL extension.
        m_Typetable.put("STRING", new Integer(java.sql.Types.VARCHAR));
        m_Typetable.put("BIGDECIMAL", new Integer(java.sql.Types.NUMERIC));
        m_Typetable.put("BOOLEAN", new Integer(java.sql.Types.BIT));
        m_Typetable.put("BYTES", new Integer(java.sql.Types.LONGVARBINARY));
        m_Typetable.put("LONG", new Integer(java.sql.Types.BIGINT));
        m_Typetable.put("SHORT", new Integer(java.sql.Types.SMALLINT));
    }
    Integer type = (Integer) m_Typetable.get(typename.toUpperCase());
    int rtype;
    if (type == null)
        rtype = java.sql.Types.OTHER;
    else
        rtype = type.intValue();
    return (rtype);
}
Example 18
Project: atg-dust-11-master  File: DatabaseTypeNameToJDBC.java View source code
// -------------------------------
/**
   * Given a database specific type name, returns the matching
   * <code>java.sql.Types</code> constant. If there is no suitable match this
   * method returns the constant <code>UNKNOWN</code>.
   * 
   * @param pTypeName
   * @return
   */
public int databaseTypeNametoJDBCType(String pTypeName) {
    // Walk the DatabaseTableInfo and do a comparison.
    if (mTableInfo.mVarcharType.equals(pTypeName)) {
        return java.sql.Types.VARCHAR;
    } else if (mTableInfo.mIntType.equals(pTypeName)) {
        // Fix for MS SQLServer
        if ("NUMERIC".equals(pTypeName)) {
            return java.sql.Types.NUMERIC;
        } else {
            return java.sql.Types.INTEGER;
        }
    } else if (mTableInfo.mBinaryType.equals(pTypeName)) {
        return java.sql.Types.BLOB;
    } else if (mTableInfo.mLongVarcharType.equals(pTypeName)) {
        return java.sql.Types.LONGVARCHAR;
    } else if (mTableInfo.mTimestampType.equals(pTypeName)) {
        return java.sql.Types.TIMESTAMP;
    } else if (mTableInfo.mCharType.equals(pTypeName)) {
        return java.sql.Types.CHAR;
    } else if (mTableInfo.mDateType.equals(pTypeName)) {
        return java.sql.Types.DATE;
    } else if (mTableInfo.mDecimalType.equals(pTypeName)) {
        return java.sql.Types.DECIMAL;
    } else
        return UNKNOWN;
}
Example 19
Project: dynunit-master  File: DatabaseTypeNameToJDBC.java View source code
// -------------------------------
/**
     * Given a database specific type name, returns the matching
     * <code>java.sql.Types</code> constant. If there is no suitable match this
     * method returns the constant <code>UNKNOWN</code>.
     *
     * @param pTypeName
     *
     * @return
     */
public int databaseTypeNametoJDBCType(String pTypeName) {
    // Walk the DatabaseTableInfo and do a comparison.
    if (mTableInfo.mVarcharType.equals(pTypeName)) {
        return java.sql.Types.VARCHAR;
    } else if (mTableInfo.mIntType.equals(pTypeName)) {
        // Fix for MS SQLServer
        if ("NUMERIC".equals(pTypeName)) {
            return java.sql.Types.NUMERIC;
        } else {
            return java.sql.Types.INTEGER;
        }
    } else if (mTableInfo.mBinaryType.equals(pTypeName)) {
        return java.sql.Types.BLOB;
    } else if (mTableInfo.mLongVarcharType.equals(pTypeName)) {
        return java.sql.Types.LONGVARCHAR;
    } else if (mTableInfo.mTimestampType.equals(pTypeName)) {
        return java.sql.Types.TIMESTAMP;
    } else if (mTableInfo.mCharType.equals(pTypeName)) {
        return java.sql.Types.CHAR;
    } else if (mTableInfo.mDateType.equals(pTypeName)) {
        return java.sql.Types.DATE;
    } else if (mTableInfo.mDecimalType.equals(pTypeName)) {
        return java.sql.Types.DECIMAL;
    } else {
        return UNKNOWN;
    }
}
Example 20
Project: secureOWS-master  File: SDEAdapter.java View source code
/**
     * Map SQL datatypes to appropriate ArcSDE datataypes.
     * @param sqltype
     * @return sdetype
     */
public static int mapSQL2SDE(int sqltype) {
    switch(sqltype) {
        case java.sql.Types.ARRAY:
            return -1;
        case java.sql.Types.BIGINT:
            return SeColumnDefinition.TYPE_INT64;
        case java.sql.Types.BINARY:
            return SeColumnDefinition.TYPE_STRING;
        case java.sql.Types.BIT:
            return -1;
        case java.sql.Types.BLOB:
            return SeColumnDefinition.TYPE_BLOB;
        case java.sql.Types.BOOLEAN:
            return -1;
        case java.sql.Types.CHAR:
            return SeColumnDefinition.TYPE_STRING;
        case java.sql.Types.CLOB:
            return SeColumnDefinition.TYPE_CLOB;
        case java.sql.Types.DATALINK:
            return -1;
        case java.sql.Types.DATE:
            return SeColumnDefinition.TYPE_DATE;
        case java.sql.Types.DECIMAL:
            return SeColumnDefinition.TYPE_DOUBLE;
        case java.sql.Types.DISTINCT:
            return -1;
        case java.sql.Types.DOUBLE:
            return SeColumnDefinition.TYPE_DOUBLE;
        case java.sql.Types.FLOAT:
            return SeColumnDefinition.TYPE_FLOAT;
        case java.sql.Types.INTEGER:
            return SeColumnDefinition.TYPE_INTEGER;
        case java.sql.Types.JAVA_OBJECT:
            return -1;
        case java.sql.Types.LONGVARBINARY:
            return -1;
        case java.sql.Types.LONGVARCHAR:
            return -1;
        case java.sql.Types.NULL:
            return -1;
        case java.sql.Types.NUMERIC:
            return SeColumnDefinition.TYPE_DOUBLE;
        case java.sql.Types.OTHER:
            return -1;
        case java.sql.Types.REAL:
            return SeColumnDefinition.TYPE_FLOAT;
        case java.sql.Types.REF:
            return -1;
        case java.sql.Types.SMALLINT:
            return SeColumnDefinition.TYPE_INT16;
        case java.sql.Types.STRUCT:
            return SeColumnDefinition.TYPE_SHAPE;
        case java.sql.Types.TIME:
            return SeColumnDefinition.TYPE_DATE;
        case java.sql.Types.TIMESTAMP:
            return SeColumnDefinition.TYPE_DATE;
        case java.sql.Types.TINYINT:
            return SeColumnDefinition.TYPE_INT16;
        case java.sql.Types.VARBINARY:
            return SeColumnDefinition.TYPE_STRING;
        case java.sql.Types.VARCHAR:
            return SeColumnDefinition.TYPE_STRING;
        default:
            return -1;
    }
}
Example 21
Project: flink-master  File: JDBCOutputFormat.java View source code
/**
	 * Adds a record to the prepared statement.
	 * <p>
	 * When this method is called, the output format is guaranteed to be opened.
	 * </p>
	 * 
	 * WARNING: this may fail when no column types specified (because a best effort approach is attempted in order to
	 * insert a null value but it's not guaranteed that the JDBC driver handles PreparedStatement.setObject(pos, null))
	 *
	 * @param row The records to add to the output.
	 * @see PreparedStatement
	 * @throws IOException Thrown, if the records could not be added due to an I/O problem.
	 */
@Override
public void writeRecord(Row row) throws IOException {
    if (typesArray != null && typesArray.length > 0 && typesArray.length != row.getArity()) {
        LOG.warn("Column SQL types array doesn't match arity of passed Row! Check the passed array...");
    }
    try {
        if (typesArray == null) {
            // no types provided
            for (int index = 0; index < row.getArity(); index++) {
                LOG.warn("Unknown column type for column %s. Best effort approach to set its value: %s.", index + 1, row.getField(index));
                upload.setObject(index + 1, row.getField(index));
            }
        } else {
            // types provided
            for (int index = 0; index < row.getArity(); index++) {
                if (row.getField(index) == null) {
                    upload.setNull(index + 1, typesArray[index]);
                } else {
                    // casting values as suggested by http://docs.oracle.com/javase/1.5.0/docs/guide/jdbc/getstart/mapping.html
                    switch(typesArray[index]) {
                        case java.sql.Types.NULL:
                            upload.setNull(index + 1, typesArray[index]);
                            break;
                        case java.sql.Types.BOOLEAN:
                        case java.sql.Types.BIT:
                            upload.setBoolean(index + 1, (boolean) row.getField(index));
                            break;
                        case java.sql.Types.CHAR:
                        case java.sql.Types.NCHAR:
                        case java.sql.Types.VARCHAR:
                        case java.sql.Types.LONGVARCHAR:
                        case java.sql.Types.LONGNVARCHAR:
                            upload.setString(index + 1, (String) row.getField(index));
                            break;
                        case java.sql.Types.TINYINT:
                            upload.setByte(index + 1, (byte) row.getField(index));
                            break;
                        case java.sql.Types.SMALLINT:
                            upload.setShort(index + 1, (short) row.getField(index));
                            break;
                        case java.sql.Types.INTEGER:
                            upload.setInt(index + 1, (int) row.getField(index));
                            break;
                        case java.sql.Types.BIGINT:
                            upload.setLong(index + 1, (long) row.getField(index));
                            break;
                        case java.sql.Types.REAL:
                            upload.setFloat(index + 1, (float) row.getField(index));
                            break;
                        case java.sql.Types.FLOAT:
                        case java.sql.Types.DOUBLE:
                            upload.setDouble(index + 1, (double) row.getField(index));
                            break;
                        case java.sql.Types.DECIMAL:
                        case java.sql.Types.NUMERIC:
                            upload.setBigDecimal(index + 1, (java.math.BigDecimal) row.getField(index));
                            break;
                        case java.sql.Types.DATE:
                            upload.setDate(index + 1, (java.sql.Date) row.getField(index));
                            break;
                        case java.sql.Types.TIME:
                            upload.setTime(index + 1, (java.sql.Time) row.getField(index));
                            break;
                        case java.sql.Types.TIMESTAMP:
                            upload.setTimestamp(index + 1, (java.sql.Timestamp) row.getField(index));
                            break;
                        case java.sql.Types.BINARY:
                        case java.sql.Types.VARBINARY:
                        case java.sql.Types.LONGVARBINARY:
                            upload.setBytes(index + 1, (byte[]) row.getField(index));
                            break;
                        default:
                            upload.setObject(index + 1, row.getField(index));
                            LOG.warn("Unmanaged sql type (%s) for column %s. Best effort approach to set its value: %s.", typesArray[index], index + 1, row.getField(index));
                    }
                }
            }
        }
        upload.addBatch();
        batchCount++;
        if (batchCount >= batchInterval) {
            upload.executeBatch();
            batchCount = 0;
        }
    } catch (SQLExceptionIllegalArgumentException |  e) {
        throw new IllegalArgumentException("writeRecord() failed", e);
    }
}
Example 22
Project: stratosphere-master  File: JDBCInputFormat.java View source code
/**
	 * Enters data value from the current resultSet into a Record.
	 * 
	 * @param pos
	 *        Record position to be set.
	 * @param type
	 *        SQL type of the resultSet value.
	 * @param record
	 *        Target Record.
	 */
private void retrieveTypeAndFillRecord(int pos, int type, Record record) throws SQLException, NotTransformableSQLFieldException {
    switch(type) {
        case java.sql.Types.NULL:
            record.setField(pos, NullValue.getInstance());
            break;
        case java.sql.Types.BOOLEAN:
            record.setField(pos, new BooleanValue(resultSet.getBoolean(pos + 1)));
            break;
        case java.sql.Types.BIT:
            record.setField(pos, new BooleanValue(resultSet.getBoolean(pos + 1)));
            break;
        case java.sql.Types.CHAR:
            record.setField(pos, new StringValue(resultSet.getString(pos + 1)));
            break;
        case java.sql.Types.NCHAR:
            record.setField(pos, new StringValue(resultSet.getString(pos + 1)));
            break;
        case java.sql.Types.VARCHAR:
            record.setField(pos, new StringValue(resultSet.getString(pos + 1)));
            break;
        case java.sql.Types.LONGVARCHAR:
            record.setField(pos, new StringValue(resultSet.getString(pos + 1)));
            break;
        case java.sql.Types.LONGNVARCHAR:
            record.setField(pos, new StringValue(resultSet.getString(pos + 1)));
            break;
        case java.sql.Types.TINYINT:
            record.setField(pos, new ShortValue(resultSet.getShort(pos + 1)));
            break;
        case java.sql.Types.SMALLINT:
            record.setField(pos, new ShortValue(resultSet.getShort(pos + 1)));
            break;
        case java.sql.Types.BIGINT:
            record.setField(pos, new LongValue(resultSet.getLong(pos + 1)));
            break;
        case java.sql.Types.INTEGER:
            record.setField(pos, new IntValue(resultSet.getInt(pos + 1)));
            break;
        case java.sql.Types.FLOAT:
            record.setField(pos, new DoubleValue(resultSet.getDouble(pos + 1)));
            break;
        case java.sql.Types.REAL:
            record.setField(pos, new FloatValue(resultSet.getFloat(pos + 1)));
            break;
        case java.sql.Types.DOUBLE:
            record.setField(pos, new DoubleValue(resultSet.getDouble(pos + 1)));
            break;
        case java.sql.Types.DECIMAL:
            record.setField(pos, new DoubleValue(resultSet.getBigDecimal(pos + 1).doubleValue()));
            break;
        case java.sql.Types.NUMERIC:
            record.setField(pos, new DoubleValue(resultSet.getBigDecimal(pos + 1).doubleValue()));
            break;
        case java.sql.Types.DATE:
            record.setField(pos, new StringValue(resultSet.getDate(pos + 1).toString()));
            break;
        case java.sql.Types.TIME:
            record.setField(pos, new LongValue(resultSet.getTime(pos + 1).getTime()));
            break;
        case java.sql.Types.TIMESTAMP:
            record.setField(pos, new StringValue(resultSet.getTimestamp(pos + 1).toString()));
            break;
        case java.sql.Types.SQLXML:
            record.setField(pos, new StringValue(resultSet.getSQLXML(pos + 1).toString()));
            break;
        default:
            throw new NotTransformableSQLFieldException("Unknown sql-type [" + type + "]on column [" + pos + "]");
    }
}
Example 23
Project: beanfuse-master  File: TypeUtils.java View source code
public static void setValue(PreparedStatement ps, int index, Object value, int sqlType) throws SQLException {
    if (null == value) {
        ps.setNull(index, sqlType);
        return;
    }
    switch(sqlType) {
        case BIGINT:
            ps.setLong(index, (Long) value);
            break;
        case INTEGER:
            ps.setInt(index, (Integer) value);
            break;
        case VARCHAR:
            ps.setString(index, (String) value);
            break;
        case Types.DATE:
            ps.setDate(index, (Date) value);
            break;
        case Types.TIMESTAMP:
            ps.setTimestamp(index, (Timestamp) value);
            break;
        case Types.BOOLEAN:
            ps.setBoolean(index, (Boolean) value);
            break;
        case Types.FLOAT:
        case Types.DECIMAL:
            ps.setBigDecimal(index, (BigDecimal) value);
            break;
        default:
            logger.warn("unsupported type {}", sqlType);
    }
}
Example 24
Project: jnerator-maven-plugins-master  File: TableColInfo.java View source code
public String createJavaTypName() {
    if ((colTyp == java.sql.Types.DATE) || (colTyp == java.sql.Types.TIME) || (colTyp == java.sql.Types.TIMESTAMP)) {
        return "Timestamp";
    }
    if ((colTyp == java.sql.Types.NUMERIC) || (colTyp == java.sql.Types.FLOAT) || (colTyp == java.sql.Types.DECIMAL) || (colTyp == java.sql.Types.REAL)) {
        if (decDigit > 0)
            return "Double";
        else
            return "Integer";
    }
    if ((colTyp == java.sql.Types.CHAR) || (colTyp == java.sql.Types.LONGVARCHAR) || (colTyp == java.sql.Types.VARCHAR) || typName.equalsIgnoreCase("nvarchar"))
        return "String";
    if (colTyp == java.sql.Types.BIT)
        return "Boolean";
    if (colTyp == java.sql.Types.TINYINT)
        return "Byte";
    if (colTyp == java.sql.Types.SMALLINT)
        return "Short";
    if (colTyp == java.sql.Types.INTEGER)
        return "Integer";
    if (colTyp == java.sql.Types.BIGINT)
        return "Long";
    if ((colTyp == java.sql.Types.REAL) || (colTyp == java.sql.Types.FLOAT))
        return "Float";
    if (colTyp == java.sql.Types.DOUBLE)
        return "Double";
    if ((colTyp == java.sql.Types.BINARY) || (colTyp == java.sql.Types.VARBINARY) || (colTyp == java.sql.Types.LONGVARBINARY))
        return "byte[]";
    return typName;
}
Example 25
Project: openjpa-master  File: TestMappingToolTemporal.java View source code
public void testMappingToolTemporal() throws IOException, SQLException {
    ClassMapping mapping = (ClassMapping) ((OpenJPAEntityManagerFactorySPI) OpenJPAPersistence.cast(emf)).getConfiguration().getMetaDataRepositoryInstance().getMetaData("TemporalFieldTypes", getClass().getClassLoader(), true);
    assertEquals(java.sql.Types.TIMESTAMP, mapping.getFieldMapping("dateDefaultField").getValueMapping().getColumns()[0].getType());
    assertEquals(java.sql.Types.DATE, mapping.getFieldMapping("dateDateField").getValueMapping().getColumns()[0].getType());
    assertEquals(java.sql.Types.TIME, mapping.getFieldMapping("dateTimeField").getValueMapping().getColumns()[0].getType());
    assertEquals(java.sql.Types.TIMESTAMP, mapping.getFieldMapping("dateTimestampField").getValueMapping().getColumns()[0].getType());
    assertEquals(java.sql.Types.TIMESTAMP, mapping.getFieldMapping("calendarDefaultField").getValueMapping().getColumns()[0].getType());
    assertEquals(java.sql.Types.DATE, mapping.getFieldMapping("calendarDateField").getValueMapping().getColumns()[0].getType());
    assertEquals(java.sql.Types.TIME, mapping.getFieldMapping("calendarTimeField").getValueMapping().getColumns()[0].getType());
    assertEquals(java.sql.Types.TIMESTAMP, mapping.getFieldMapping("calendarTimestampField").getValueMapping().getColumns()[0].getType());
}
Example 26
Project: Flickr-FTPD-master  File: MysqlDefs.java View source code
/**
     * Maps the given MySQL type to the correct JDBC type.
     */
static int mysqlToJavaType(int mysqlType) {
    int jdbcType;
    switch(mysqlType) {
        case MysqlDefs.FIELD_TYPE_DECIMAL:
            jdbcType = Types.DECIMAL;
            break;
        case MysqlDefs.FIELD_TYPE_TINY:
            jdbcType = Types.TINYINT;
            break;
        case MysqlDefs.FIELD_TYPE_SHORT:
            jdbcType = Types.SMALLINT;
            break;
        case MysqlDefs.FIELD_TYPE_LONG:
            jdbcType = Types.INTEGER;
            break;
        case MysqlDefs.FIELD_TYPE_FLOAT:
            jdbcType = Types.REAL;
            break;
        case MysqlDefs.FIELD_TYPE_DOUBLE:
            jdbcType = Types.DOUBLE;
            break;
        case MysqlDefs.FIELD_TYPE_NULL:
            jdbcType = Types.NULL;
            break;
        case MysqlDefs.FIELD_TYPE_TIMESTAMP:
            jdbcType = Types.TIMESTAMP;
            break;
        case MysqlDefs.FIELD_TYPE_LONGLONG:
            jdbcType = Types.BIGINT;
            break;
        case MysqlDefs.FIELD_TYPE_INT24:
            jdbcType = Types.INTEGER;
            break;
        case MysqlDefs.FIELD_TYPE_DATE:
            jdbcType = Types.DATE;
            break;
        case MysqlDefs.FIELD_TYPE_TIME:
            jdbcType = Types.TIME;
            break;
        case MysqlDefs.FIELD_TYPE_DATETIME:
            jdbcType = Types.TIMESTAMP;
            break;
        case MysqlDefs.FIELD_TYPE_YEAR:
            jdbcType = Types.DATE;
            break;
        case MysqlDefs.FIELD_TYPE_NEWDATE:
            jdbcType = Types.DATE;
            break;
        case MysqlDefs.FIELD_TYPE_ENUM:
            jdbcType = Types.CHAR;
            break;
        case MysqlDefs.FIELD_TYPE_SET:
            jdbcType = Types.CHAR;
            break;
        case MysqlDefs.FIELD_TYPE_TINY_BLOB:
            jdbcType = Types.VARBINARY;
            break;
        case MysqlDefs.FIELD_TYPE_MEDIUM_BLOB:
            jdbcType = Types.LONGVARBINARY;
            break;
        case MysqlDefs.FIELD_TYPE_LONG_BLOB:
            jdbcType = Types.LONGVARBINARY;
            break;
        case MysqlDefs.FIELD_TYPE_BLOB:
            jdbcType = Types.LONGVARBINARY;
            break;
        case MysqlDefs.FIELD_TYPE_VAR_STRING:
            jdbcType = Types.VARCHAR;
            break;
        case MysqlDefs.FIELD_TYPE_STRING:
            jdbcType = Types.CHAR;
            break;
        default:
            jdbcType = Types.VARCHAR;
    }
    return jdbcType;
}
Example 27
Project: OpenADK-java-master  File: SQLField.java View source code
/**
	 *  Render a field value given the java.sql.Types constant passed to the constructor
	 */
public String render(String value) throws QueryFormatterException {
    switch(Type) {
        case java.sql.Types.VARCHAR:
        case java.sql.Types.CHAR:
        case java.sql.Types.LONGVARCHAR:
            return renderString(value);
        case java.sql.Types.DATE:
            return renderDate(value);
        case java.sql.Types.TIME:
            return renderTime(value);
        case java.sql.Types.TIMESTAMP:
            return renderTimeStamp(value);
        default:
            return value;
    }
}
Example 28
Project: jTDS-master  File: SunTest.java View source code
/**
    * Generic Tests for SUN bugs such as
    * <ol>
    * <li>Can't convert VARCHAR to Timestamp
    * <li>Can't convert VARCHAR to Time
    * <li>Can't convert VARCHAR to Date
    * <li>Internal time representation causes equals to fail
    * </ol>
    *
    * @throws Exception
    */
public void testDateTime() throws Exception {
    dropProcedure("CTOT_PROC");
    dropTable("CTOT");
    final String dateStr = "1983-01-31";
    final String timeStr = "12:59:59";
    final String tsStr = "1983-01-31 23:59:59.333";
    Statement stmt = con.createStatement();
    stmt.execute("CREATE TABLE CTOT (tdate DATETIME, ttime DATETIME, tts DATETIME, tnull DATETIME NULL)");
    stmt.execute("CREATE PROC CTOT_PROC @tdate DATETIME OUTPUT, @ttime DATETIME OUTPUT, @tts DATETIME OUTPUT AS " + "BEGIN SELECT @tdate=tdate, @ttime=ttime, @tts=tts FROM CTOT END");
    stmt.close();
    PreparedStatement pstmt = con.prepareStatement("INSERT INTO CTOT (tdate, ttime, tts) VALUES(?,?,?)");
    pstmt.setObject(1, dateStr, java.sql.Types.DATE);
    pstmt.setObject(2, timeStr, java.sql.Types.TIME);
    pstmt.setObject(3, tsStr, java.sql.Types.TIMESTAMP);
    pstmt.execute();
    assertEquals(1, pstmt.getUpdateCount());
    pstmt.close();
    CallableStatement cstmt = con.prepareCall("{call CTOT_PROC(?,?,?)}");
    cstmt.registerOutParameter(1, java.sql.Types.DATE);
    cstmt.registerOutParameter(2, java.sql.Types.TIME);
    cstmt.registerOutParameter(3, java.sql.Types.TIMESTAMP);
    cstmt.execute();
    assertEquals(dateStr, cstmt.getString(1));
    assertEquals(timeStr, cstmt.getString(2));
    assertEquals(java.sql.Time.valueOf(timeStr), cstmt.getTime(2));
    assertEquals(tsStr, cstmt.getString(3));
    cstmt.close();
    stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM CTOT");
    assertTrue(rs.next());
    java.sql.Time retval = rs.getTime(2);
    java.sql.Time tstval = java.sql.Time.valueOf(timeStr);
    assertEquals(tstval, retval);
    stmt.close();
    pstmt = con.prepareStatement("UPDATE CTOT SET tnull = ?");
    pstmt.setTime(1, tstval);
    pstmt.execute();
    assertEquals(1, pstmt.getUpdateCount());
    pstmt.close();
    stmt = con.createStatement();
    rs = stmt.executeQuery("SELECT * FROM CTOT");
    assertTrue(rs.next());
    retval = rs.getTime(4);
    assertEquals(tstval, retval);
    stmt.close();
}
Example 29
Project: junit-benchmarks-master  File: GeneratorUtils.java View source code
/**
     * Format a given SQL value to be placed in JSON script (add quotes as needed). 
     */
static Object formatValue(int sqlColumnType, Object val) {
    switch(sqlColumnType) {
        case java.sql.Types.VARCHAR:
            return "\"" + Escape.jsonEscape(val.toString()) + "\"";
        case java.sql.Types.NUMERIC:
        case java.sql.Types.DOUBLE:
        case java.sql.Types.FLOAT:
        case java.sql.Types.INTEGER:
        case java.sql.Types.SMALLINT:
        case java.sql.Types.TINYINT:
            return val;
    }
    throw new RuntimeException("Unsupported column type: " + sqlColumnType);
}
Example 30
Project: bboss-master  File: Param.java View source code
public static String getParamType(int sqltype, boolean isnull) {
    if (isnull)
        return Param.setNull_int_int;
    switch(sqltype) {
        //    	    static final String SET_AsciiStream_INT_InputStream_INT = "setAsciiStream(int, InputStream, int)";
        case java.sql.Types.BIGINT:
            return SET_BigDecimal_INT_BigDecimal;
        case java.sql.Types.BOOLEAN:
            return setBoolean_int_boolean;
        case java.sql.Types.BIT:
            return setByte_int_byte;
        case java.sql.Types.DATE:
            return setDate_int_sqlDate;
        case java.sql.Types.DOUBLE:
            return setDouble_int_double;
        case java.sql.Types.FLOAT:
            return setFloat_int_float;
        case java.sql.Types.INTEGER:
            return setInt_int_int;
        case java.sql.Types.NUMERIC:
            return setLong_int_long;
        case java.sql.Types.SMALLINT:
            return setShort_int_short;
        case java.sql.Types.VARCHAR:
            return setString_int_String;
        case java.sql.Types.TIME:
            return setTime_int_Time;
        case java.sql.Types.TIMESTAMP:
            return setTimestamp_int_Timestamp;
        default:
            return setObject_int_Object;
    }
}
Example 31
Project: kylo-master  File: JdbcCommon.java View source code
/**
     * Converts the specified SQL result set to a delimited text file written to the specified output stream.
     *
     * @param rs        the SQL result set
     * @param outStream the output stream for the delimited text file
     * @param visitor   records position of the result set
     * @param delimiter the column delimiter for the delimited text file
     * @return the number of rows written
     * @throws SQLException if a SQL error occurs while reading the result set
     * @throws IOException  if an I/O error occurs while writing to the output stream
     */
public static long convertToDelimitedStream(final ResultSet rs, final OutputStream outStream, final RowVisitor visitor, String delimiter) throws SQLException, IOException {
    // avoid overflowing log with redundant messages
    int dateConversionWarning = 0;
    if (rs == null || rs.getMetaData() == null) {
        logger.warn("Received empty resultset or no metadata.");
        return 0;
    }
    OutputStreamWriter writer = new OutputStreamWriter(outStream);
    final ResultSetMetaData meta = rs.getMetaData();
    final DelimiterEscaper escaper = new DelimiterEscaper(delimiter);
    // Write header
    final int nrOfColumns = meta.getColumnCount();
    StringBuffer sb = new StringBuffer();
    for (int i = 1; i <= nrOfColumns; i++) {
        String columnName = meta.getColumnName(i);
        sb.append(escaper.translate(columnName));
        if (i != nrOfColumns) {
            sb.append(delimiter);
        } else {
            sb.append("\n");
        }
    }
    writer.append(sb.toString());
    long nrOfRows = 0;
    while (rs.next()) {
        if (visitor != null) {
            visitor.visitRow(rs);
        }
        sb = new StringBuffer();
        nrOfRows++;
        for (int i = 1; i <= nrOfColumns; i++) {
            String val = null;
            int colType = meta.getColumnType(i);
            if (colType == Types.DATE || colType == Types.TIMESTAMP) {
                Timestamp sqlDate = null;
                try {
                    // Extract timestamp
                    sqlDate = extractSqlDate(rs, i);
                } catch (Exception e) {
                    if (dateConversionWarning++ < 10) {
                        logger.warn("{} is not convertible to timestamp or date", rs.getMetaData().getColumnName(i));
                    }
                }
                if (visitor != null) {
                    visitor.visitColumn(rs.getMetaData().getColumnName(i), colType, sqlDate);
                }
                if (sqlDate != null) {
                    DateTimeFormatter formatter = ISODateTimeFormat.dateTime().withZoneUTC();
                    val = formatter.print(new DateTime(sqlDate.getTime()));
                }
            } else if (colType == Types.TIME) {
                Time time = rs.getTime(i);
                if (visitor != null) {
                    visitor.visitColumn(rs.getMetaData().getColumnName(i), colType, time);
                }
                DateTimeFormatter formatter = ISODateTimeFormat.time().withZoneUTC();
                val = formatter.print(new DateTime(time.getTime()));
            } else {
                val = rs.getString(i);
                if (visitor != null) {
                    visitor.visitColumn(rs.getMetaData().getColumnName(i), colType, val);
                }
            }
            sb.append((val == null ? "" : escaper.translate(val)));
            if (i != nrOfColumns) {
                sb.append(delimiter);
            } else {
                sb.append("\n");
            }
        }
        writer.append(sb.toString());
    }
    writer.flush();
    return nrOfRows;
}
Example 32
Project: scooter-master  File: ColumnInfo.java View source code
/**
     * Checks if a column is of numeric type.
     *
     * <p>
     * The following types from java.sql.Types are treated as numeric type:
     * <ul>
     *   <li>java.sql.Types.BIGINT  -5 </li>
     *   <li>java.sql.Types.BIT     -7 </li>
     *   <li>java.sql.Types.DECIMAL  3 </li>
     *   <li>java.sql.Types.DOUBLE   8 </li>
     *   <li>java.sql.Types.FLOAT    6 </li>
     *   <li>java.sql.Types.INTEGER  4 </li>
     *   <li>java.sql.Types.NUMERIC  2 </li>
     *   <li>java.sql.Types.REAL     7 </li>
     *   <li>java.sql.Types.SMALLINT 5 </li>
     *   <li>java.sql.Types.TINYINT -6 </li>
     * </ul>
     * </p>
     *
     * @param dataType
     * @return true if it is of numeric type
     */
public static boolean isNumeric(int dataType) {
    boolean result = false;
    switch(dataType) {
        case // -5
        Types.BIGINT:
            result = true;
            break;
        case // -7
        Types.BIT:
            result = true;
            break;
        case // 3
        Types.DECIMAL:
            result = true;
            break;
        case // 8
        Types.DOUBLE:
            result = true;
            break;
        case // 6
        Types.FLOAT:
            result = true;
            break;
        case // 4
        Types.INTEGER:
            result = true;
            break;
        case // 2
        Types.NUMERIC:
            result = true;
            break;
        case // 7
        Types.REAL:
            result = true;
            break;
        case // 5
        Types.SMALLINT:
            result = true;
            break;
        case // -6
        Types.TINYINT:
            result = true;
            break;
    }
    return result;
}
Example 33
Project: sslcertx-master  File: MySQLType.java View source code
public static byte toServer(int javaType) {
    switch(javaType) {
        case Types.TINYINT:
            return 1;
        case Types.SMALLINT:
            return 2;
        case Types.INTEGER:
            return 3;
        case Types.FLOAT:
            return 4;
        case Types.DOUBLE:
            return 5;
        case Types.NULL:
            return 6;
        case Types.TIMESTAMP:
            return 7;
        case Types.BIGINT:
            return 8;
        case Types.DATE:
            return 10;
        case Types.TIME:
            return 11;
        case Types.VARCHAR:
            return 15;
        case Types.BIT:
            return 16;
        case Types.BOOLEAN:
            return 16;
        case Types.DECIMAL:
            return (byte) 246;
        case Types.CHAR:
            return (byte) 254;
        default:
            return (byte) 255;
    }
}
Example 34
Project: dbeaver-master  File: JDBCStandardValueHandlerProvider.java View source code
@Override
public DBDValueHandler getValueHandler(DBPDataSource dataSource, DBDPreferences preferences, DBSTypedObject typedObject) {
    int valueType = typedObject.getTypeID();
    //JDBCUtils.resolveDataKind(dataSource, typedObject.getTypeName(), valueType);
    DBPDataKind dataKind = typedObject.getDataKind();
    switch(dataKind) {
        case BOOLEAN:
            return new JDBCBooleanValueHandler();
        case STRING:
            if (valueType == java.sql.Types.LONGVARCHAR || valueType == java.sql.Types.LONGNVARCHAR) {
                // Eval long varchars as LOBs
                return JDBCContentValueHandler.INSTANCE;
            } else {
                return JDBCStringValueHandler.INSTANCE;
            }
        case NUMERIC:
            return new JDBCNumberValueHandler(preferences.getDataFormatterProfile());
        case DATETIME:
            return new JDBCDateTimeValueHandler(preferences.getDataFormatterProfile());
        case BINARY:
        case CONTENT:
            return JDBCContentValueHandler.INSTANCE;
        case ARRAY:
            return JDBCArrayValueHandler.INSTANCE;
        case STRUCT:
            return JDBCStructValueHandler.INSTANCE;
        case REFERENCE:
            return JDBCReferenceValueHandler.INSTANCE;
        case ROWID:
            return JDBCObjectValueHandler.INSTANCE;
        default:
            // Unknown type
            return null;
    }
}
Example 35
Project: dbfound-master  File: ModelTool.java View source code
private static String getDataType(int key) {
    switch(key) {
        case Types.VARCHAR:
            return "varchar";
        case Types.INTEGER:
            return "number";
        case Types.DOUBLE:
            return "number";
        case Types.FLOAT:
            return "number";
        case Types.DECIMAL:
            return "number";
        case Types.NUMERIC:
            return "number";
        case Types.VARBINARY:
            return "number";
        case Types.BIGINT:
            return "number";
        case Types.REAL:
            return "number";
        default:
            return "varchar";
    }
}
Example 36
Project: ebean-master  File: DefaultTypeFactoryTest.java View source code
@Test
public void testCreateBoolean() throws Exception {
    ScalarType<Boolean> stIntBoolean = defaultTypeFactory.createBoolean("0", "1");
    assertEquals(Types.INTEGER, stIntBoolean.getJdbcType());
    stIntBoolean = defaultTypeFactory.createBoolean("1", "2");
    assertEquals(Types.INTEGER, stIntBoolean.getJdbcType());
    ScalarType<Boolean> stStringBoolean = defaultTypeFactory.createBoolean("Y", "N");
    assertEquals(Types.VARCHAR, stStringBoolean.getJdbcType());
}
Example 37
Project: dal-master  File: SQLValidation.java View source code
/**
     * Validate the Non-Query SQL Statement
     *
     * @param dbName      The database name
     * @param sql         SQL Statement
     * @param paramsTypes SQL Types of parameters
     * @param mockedVals  Parameter values
     * @return Validate Result
     */
private static ValidateResult updateValidate(String dbName, String sql, int[] paramsTypes, Object[] mockedVals) {
    ValidateResult status = new ValidateResult(sql);
    Connection connection = null;
    try {
        connection = DataSourceUtil.getConnection(dbName);
        connection.setAutoCommit(false);
        PreparedStatement stat = connection.prepareStatement(SqlBuilder.net2Java(sql));
        if (paramsTypes != null) {
            for (int i = 1; i <= paramsTypes.length; i++) {
                if (paramsTypes[i - 1] == 10001) {
                    stat.setObject(i, mockedVals[i - 1], Types.CHAR);
                } else {
                    stat.setObject(i, mockedVals[i - 1], paramsTypes[i - 1]);
                }
            }
        }
        int rows = stat.executeUpdate();
        status.setAffectRows(rows);
        status.setPassed(true).append("Validate Successfully");
    } catch (Exception e) {
        status.append(e.getMessage());
        log.error("Validate update failed", e);
    } finally {
        ResourceUtils.rollback(connection);
        ResourceUtils.close(connection);
    }
    return status;
}
Example 38
Project: hbnpojogen-master  File: VelocityHelper.java View source code
/**
     * Silly workaround. This will go away one day... (bug is if composite-key id is null)
     *
     * @param property
     * @return An init string
     */
public String getHibernateBugWorkaround(PropertyObj property) {
    String returnValue;
    int fieldtype = property.getFieldObj().getFieldType();
    String fieldColumnType = property.getFieldObj().getFieldColumnType();
    switch(fieldtype) {
        case java.sql.Types.BOOLEAN:
        case java.sql.Types.BIT:
            returnValue = "new Boolean(true)";
            break;
        case java.sql.Types.TINYINT:
            returnValue = "new Byte((byte)0)";
            break;
        case java.sql.Types.SMALLINT:
            returnValue = "0";
            break;
        case java.sql.Types.INTEGER:
            if (property.getFieldObj().isFieldTypeUnsigned()) {
                returnValue = "0L";
            } else {
                returnValue = "0";
            }
            break;
        case java.sql.Types.OTHER:
            if (fieldColumnType.equalsIgnoreCase("UUID")) {
                returnValue = java.util.UUID.randomUUID().toString();
            } else if (fieldColumnType.equalsIgnoreCase("UUID")) {
                returnValue = "new String(\"dummy\");";
            } else {
                returnValue = "new Object();";
            }
            break;
        case java.sql.Types.BIGINT:
            returnValue = "0L";
            break;
        // Removed from the lower group since mediumIn returns a decimal
        case java.sql.Types.DECIMAL:
        case java.sql.Types.DOUBLE:
        case java.sql.Types.FLOAT:
        case java.sql.Types.REAL:
            returnValue = "new Double(0.0)";
            break;
        case java.sql.Types.NUMERIC:
            returnValue = "new Float(0.0)";
            break;
        case java.sql.Types.CHAR:
            if (property.getJavaType().equals("String")) {
                returnValue = "new String(\"hbnBugWorkaround\")";
            } else {
                returnValue = "'A'";
            }
            break;
        case java.sql.Types.VARCHAR:
        case java.sql.Types.LONGVARCHAR:
        case java.sql.Types.NCHAR:
        case java.sql.Types.NVARCHAR:
        case java.sql.Types.LONGNVARCHAR:
            returnValue = "new String(\"hbnBugWorkaround\")";
            break;
        case java.sql.Types.DATE:
        case java.sql.Types.TIME:
        case java.sql.Types.TIMESTAMP:
            returnValue = "new Date()";
            break;
        case java.sql.Types.BINARY:
        case java.sql.Types.VARBINARY:
        case java.sql.Types.LONGVARBINARY:
        case java.sql.Types.ROWID:
        case java.sql.Types.NCLOB:
        case java.sql.Types.SQLXML:
        case java.sql.Types.NULL:
        case java.sql.Types.JAVA_OBJECT:
        case java.sql.Types.DISTINCT:
        case java.sql.Types.STRUCT:
        case java.sql.Types.ARRAY:
        case java.sql.Types.BLOB:
        case java.sql.Types.CLOB:
        case java.sql.Types.REF:
        case java.sql.Types.DATALINK:
            returnValue = "new Object()";
            break;
        default:
            returnValue = "new Object()";
            break;
    }
    return returnValue;
}
Example 39
Project: tesora-dve-pub-master  File: LogicalQuery.java View source code
public static void buildNativeType(ColumnSet cs, String colName, String colAlias, Object in) throws PEException {
    if (in instanceof String) {
        NativeType nt = Singletons.require(DBNative.class).getTypeCatalog().findType(java.sql.Types.VARCHAR, true);
        cs.addColumn(colAlias, 255, nt.getTypeName(), java.sql.Types.VARCHAR);
    } else if (in instanceof BigInteger) {
        NativeType nt = Singletons.require(DBNative.class).getTypeCatalog().findType(java.sql.Types.BIGINT, true);
        cs.addColumn(colAlias, 32, nt.getTypeName(), java.sql.Types.BIGINT);
    } else {
        throw new PEException("Fill me in: type guess for result column type: " + in);
    }
}
Example 40
Project: RedQueryBuilder-master  File: SearchServlet.java View source code
@Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    try {
        String sql = req.getParameter("sql");
        String[] args = req.getParameterValues("arg");
        final int page = Integer.parseInt(req.getParameter("page")) - 1;
        final int rp = Integer.parseInt(req.getParameter("rp"));
        final int r0 = page * rp;
        final int r1 = r0 + rp;
        // TODO 01 read only and really limited
        Class.forName("org.h2.Driver");
        Connection conn = DriverManager.getConnection("jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;ACCESS_MODE_DATA=r", "sa", "");
        PreparedStatement st = conn.prepareStatement(sql);
        if (args != null) {
            for (int i = 0; i < args.length; i++) {
                st.setString(i + 1, args[i]);
            }
        }
        ResultSet rs = st.executeQuery();
        ResultSetMetaData rsmd = rs.getMetaData();
        int numColumns = rsmd.getColumnCount();
        JSONObject root = new JSONObject();
        JSONArray rows = new JSONArray();
        // JSONObject data = new JSONObject();
        // if ("install".equals(type)) {
        // }
        // }
        // if ("meta".equals(type)) {
        // JSONArray metas = new JSONArray();
        // root.put("meta", metas);
        // //root.put("data", data);
        // //{display: 'ISO', name : 'foo', width : 40, sortable : true,
        // align: 'center'}
        // for (int i = 1; i <= numColumns; i++) {
        // JSONObject meta = new JSONObject();
        // metas.put(meta);
        // meta.put("display", rsmd.getColumnLabel(i));
        // meta.put("name", rsmd.getColumnName(i));
        // meta.put("width", 8 * rsmd.getColumnDisplaySize(i));
        // meta.put("sortable", true);
        // meta.put("align", "left");
        // }
        // } else {
        root.put("rows", rows);
        root.put("page", 1);
        // TODO 00 what if arg is null? At the moment blows up
        // TODO 00 number field start with String
        int count = -1;
        while (rs.next()) {
            count++;
            if (count < r0 || count >= r1) {
                continue;
            }
            JSONObject cell = new JSONObject();
            rows.put(cell);
            JSONArray obj = new JSONArray();
            cell.put("cell", obj);
            for (int i = 1; i < numColumns + 1; i++) {
                // TODO 01 nulls!
                switch(rsmd.getColumnType(i)) {
                    case java.sql.Types.BIGINT:
                        obj.put(rs.getInt(i));
                        break;
                    case java.sql.Types.BOOLEAN:
                        obj.put(rs.getBoolean(i));
                        break;
                    case java.sql.Types.DOUBLE:
                        obj.put(rs.getDouble(i));
                        break;
                    case java.sql.Types.FLOAT:
                        obj.put(rs.getFloat(i));
                        break;
                    case java.sql.Types.INTEGER:
                    case java.sql.Types.SMALLINT:
                    case java.sql.Types.TINYINT:
                        obj.put(rs.getInt(i));
                        break;
                    // break;
                    case java.sql.Types.VARCHAR:
                        obj.put(rs.getString(i));
                        break;
                    case java.sql.Types.DATE:
                        obj.put(rs.getDate(i));
                        break;
                    case java.sql.Types.TIMESTAMP:
                        obj.put(rs.getTimestamp(i));
                        break;
                    default:
                        obj.put(rs.getString(i));
                }
            }
        }
        root.put("page", page + 1);
        root.put("total", count + 1);
        res.setContentType("application/json");
        root.write(res.getWriter());
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
}
Example 41
Project: nifi-master  File: TestConvertJSONToSQL.java View source code
@Test
public void testInsert() throws InitializationException, ProcessException, SQLException, IOException {
    final TestRunner runner = TestRunners.newTestRunner(ConvertJSONToSQL.class);
    final File tempDir = folder.getRoot();
    final File dbDir = new File(tempDir, "db");
    final DBCPService service = new MockDBCPService(dbDir.getAbsolutePath());
    runner.addControllerService("dbcp", service);
    runner.enableControllerService(service);
    try (final Connection conn = service.getConnection()) {
        try (final Statement stmt = conn.createStatement()) {
            stmt.executeUpdate(createPersons);
        }
    }
    runner.setProperty(ConvertJSONToSQL.CONNECTION_POOL, "dbcp");
    runner.setProperty(ConvertJSONToSQL.TABLE_NAME, "PERSONS");
    runner.setProperty(ConvertJSONToSQL.STATEMENT_TYPE, "INSERT");
    runner.enqueue(Paths.get("src/test/resources/TestConvertJSONToSQL/person-1.json"));
    runner.run();
    runner.assertTransferCount(ConvertJSONToSQL.REL_ORIGINAL, 1);
    runner.getFlowFilesForRelationship(ConvertJSONToSQL.REL_ORIGINAL).get(0).assertAttributeEquals(FRAGMENT_COUNT.key(), "1");
    runner.assertTransferCount(ConvertJSONToSQL.REL_SQL, 1);
    final MockFlowFile out = runner.getFlowFilesForRelationship(ConvertJSONToSQL.REL_SQL).get(0);
    out.assertAttributeEquals("sql.args.1.type", String.valueOf(java.sql.Types.INTEGER));
    out.assertAttributeEquals("sql.args.1.value", "1");
    out.assertAttributeEquals("sql.args.2.type", String.valueOf(java.sql.Types.VARCHAR));
    out.assertAttributeEquals("sql.args.2.value", "Mark");
    out.assertAttributeEquals("sql.args.3.type", String.valueOf(java.sql.Types.INTEGER));
    out.assertAttributeEquals("sql.args.3.value", "48");
    out.assertContentEquals("INSERT INTO PERSONS (ID, NAME, CODE) VALUES (?, ?, ?)");
}
Example 42
Project: Voovan-master  File: TSQL.java View source code
/**
	 * 根� SQL 类型判断 Result 该使用什么方法�值
	 * @param databaseType 数�库中的数�类型
	 * @return  方法å??
	 */
public static String getDataMethod(int databaseType) {
    switch(databaseType) {
        case java.sql.Types.CHAR:
            return "getString";
        case java.sql.Types.VARCHAR:
            return "getString";
        case java.sql.Types.LONGVARCHAR:
            return "getString";
        case java.sql.Types.NCHAR:
            return "getString";
        case java.sql.Types.LONGNVARCHAR:
            return "getString";
        case java.sql.Types.NUMERIC:
            return "getBigDecimal";
        case java.sql.Types.DECIMAL:
            return "getBigDecimal";
        case java.sql.Types.BIT:
            return "getBoolean";
        case java.sql.Types.BOOLEAN:
            return "getBoolean";
        case java.sql.Types.TINYINT:
            return "getByte";
        case java.sql.Types.SMALLINT:
            return "getShort";
        case java.sql.Types.INTEGER:
            return "getInt";
        case java.sql.Types.BIGINT:
            return "getLong";
        case java.sql.Types.REAL:
            return "getFloat";
        case java.sql.Types.FLOAT:
            return "getFloat";
        case java.sql.Types.DOUBLE:
            return "getDouble";
        case java.sql.Types.BINARY:
            return "getBytes";
        case java.sql.Types.VARBINARY:
            return "getBytes";
        case java.sql.Types.LONGVARBINARY:
            return "getBytes";
        case java.sql.Types.DATE:
            return "getDate";
        case java.sql.Types.TIME:
            return "getTime";
        case java.sql.Types.TIMESTAMP:
            return "getTimestamp";
        case java.sql.Types.CLOB:
            return "getClob";
        case java.sql.Types.BLOB:
            return "getBlob";
        case java.sql.Types.ARRAY:
            return "getArray";
        default:
            return "getString";
    }
}
Example 43
Project: navtableforms-master  File: FormatterFactory.java View source code
public static AbstractFormatterFactory createFormatterFactory(int type) {
    AbstractFormatter displayFormatter = null;
    AbstractFormatter editFormatter = null;
    switch(type) {
        case java.sql.Types.DOUBLE:
            displayFormatter = new DoubleFormatterOnDisplaying();
            editFormatter = new DoubleFormatterOnEditing();
            break;
        case java.sql.Types.INTEGER:
            displayFormatter = new IntegerFormatterOnDisplaying();
            editFormatter = new IntegerFormatterOnEditing();
            break;
        default:
            break;
    }
    if ((editFormatter == null) && (displayFormatter == null)) {
        return null;
    }
    DefaultFormatterFactory formatterFactory = new DefaultFormatterFactory();
    formatterFactory.setDefaultFormatter(displayFormatter);
    formatterFactory.setDisplayFormatter(displayFormatter);
    formatterFactory.setEditFormatter(editFormatter);
    formatterFactory.setNullFormatter(displayFormatter);
    return formatterFactory;
}
Example 44
Project: hipergate-master  File: DespatchAdviceLoader.java View source code
// close
/**
   * Store a single despatch advice line
   * @param oConn Connection
   * @param sWorkArea String
   * @param iFlags int
   * @throws SQLException
   * @throws IllegalArgumentException
   * @throws NullPointerException
   */
public void store(Connection oConn, String sWorkArea, int iFlags) throws SQLException, IllegalArgumentException, NullPointerException {
    Timestamp tsNow = new Timestamp(new Date().getTime());
    // Check whether this is the first line of a new despatch or
    // any next line for the previous despatch by comparing id_ref
    // column value with the one previously processed
    boolean bIsNewDespacth = !sLastDespatchAdviceIdentifier.equals(get("id_ref"));
    if (bIsNewDespacth) {
        sLastDespatchAdviceIdentifier = (String) get("id_ref");
        sLastDespatchAdviceGUID = Gadgets.generateUUID();
        iLastDespatchAdviceNumber = DespatchAdvice.nextVal(new JDCConnection(oConn, null), sWorkArea);
        iLastDespatchLineNumber = 1;
        // Get data for the previous order corresponding to this despatch advice
        ResultSet rOrderData = oLoadOrder.queryResultSet(oConn, "SELECT gu_order,gu_shop,id_legal,id_currency,gu_warehouse,gu_company,gu_contact,nm_client,gu_ship_addr,gu_bill_addr FROM k_orders WHERE gu_workarea='" + sWorkArea + "' AND id_ref='" + sLastDespatchAdviceIdentifier + "'");
        if (rOrderData.next()) {
            sLastOrderGUID = rOrderData.getString(1);
            sLastShopGUID = rOrderData.getString(2);
            sLastLegalId = rOrderData.getString(3);
            sLastCurrency = rOrderData.getString(4);
            sLastWarehouse = rOrderData.getString(5);
            sLastCompany = rOrderData.getString(6);
            sLastContact = rOrderData.getString(7);
            sLastClient = rOrderData.getString(8);
            sLastShipAddr = rOrderData.getString(9);
            sLastBillAddr = rOrderData.getString(10);
            rOrderData.close();
        } else {
            rOrderData.close();
            throw new SQLException("Could not find any previous order corresponding to despatch advice " + sLastDespatchAdviceIdentifier);
        }
        try {
            oInsertDespatch.setString(1, sLastDespatchAdviceGUID);
            oInsertDespatch.setString(2, sWorkArea);
            oInsertDespatch.setInt(3, iLastDespatchAdviceNumber);
            oInsertDespatch.setString(4, sLastShopGUID);
            oInsertDespatch.setString(5, sLastCurrency);
            oInsertDespatch.setShort(6, (short) 1);
            oInsertDespatch.setShort(7, (short) 1);
            oInsertDespatch.setNull(8, java.sql.Types.VARCHAR);
            oInsertDespatch.setString(9, sLastWarehouse);
            oInsertDespatch.setTimestamp(10, tsNow);
            if (null == get("dt_delivered"))
                oInsertDespatch.setNull(11, java.sql.Types.TIMESTAMP);
            else
                oInsertDespatch.setTimestamp(11, new Timestamp(oDateFrmt.parse((String) get("dt_delivered")).getTime()));
            if (null == get("dt_printed"))
                oInsertDespatch.setNull(12, java.sql.Types.TIMESTAMP);
            else
                oInsertDespatch.setTimestamp(12, new Timestamp(oDateFrmt.parse((String) get("dt_printed")).getTime()));
            if (null == get("dt_promised"))
                oInsertDespatch.setNull(13, java.sql.Types.TIMESTAMP);
            else
                oInsertDespatch.setTimestamp(13, new Timestamp(oDateFrmt.parse((String) get("dt_promised")).getTime()));
            if (null == get("dt_payment"))
                oInsertDespatch.setNull(14, java.sql.Types.TIMESTAMP);
            else
                oInsertDespatch.setTimestamp(14, new Timestamp(oDateFrmt.parse((String) get("dt_payment")).getTime()));
            if (null == get("dt_cancel"))
                oInsertDespatch.setNull(15, java.sql.Types.TIMESTAMP);
            else
                oInsertDespatch.setTimestamp(15, new Timestamp(oDateFrmt.parse((String) get("dt_cancel")).getTime()));
            oInsertDespatch.setObject(16, get("de_despatch"), java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(16, get("tx_location"), java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(18, sLastCompany, java.sql.Types.CHAR);
            oInsertDespatch.setObject(19, sLastContact, java.sql.Types.CHAR);
            oInsertDespatch.setObject(20, sLastClient, java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(21, sLastLegalId, java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(22, sLastShipAddr, java.sql.Types.CHAR);
            oInsertDespatch.setObject(23, sLastBillAddr, java.sql.Types.CHAR);
            oInsertDespatch.setObject(24, get("id_ref"), java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(25, get("id_status"), java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(26, get("id_pay_status"), java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(27, get("id_ship_method"), java.sql.Types.VARCHAR);
            oInsertDespatch.setBigDecimal(28, new BigDecimal(0d));
            oInsertDespatch.setBigDecimal(29, new BigDecimal(0d));
            oInsertDespatch.setBigDecimal(30, new BigDecimal(0d));
            oInsertDespatch.setBigDecimal(31, new BigDecimal(0d));
            oInsertDespatch.setBigDecimal(32, new BigDecimal(0d));
            oInsertDespatch.setObject(33, get("tx_ship_notes"), java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(34, get("tx_email_to"), java.sql.Types.VARCHAR);
            oInsertDespatch.setObject(35, get("tx_comments"), java.sql.Types.VARCHAR);
            oInsertDespatch.executeUpdate();
            oInsertRelationWithOrder.setString(1, sLastOrderGUID);
            oInsertRelationWithOrder.setString(1, sLastDespatchAdviceGUID);
            oInsertRelationWithOrder.executeUpdate();
        } catch (ParseException xcpt) {
            throw new IllegalArgumentException("Bad date: " + xcpt.getMessage());
        }
    }
    // fi (bIsNewDespacth)
    // Finished inserting data for new despatch advices,
    // now insert despatch line
    oInsertLine.setString(1, sLastDespatchAdviceGUID);
    oInsertLine.setInt(2, iLastDespatchLineNumber++);
    if (null == get("pr_sale"))
        oInsertLine.setNull(3, java.sql.Types.DECIMAL);
    else
        oInsertLine.setBigDecimal(3, new BigDecimal((String) get("pr_sale")));
    if (null == get("nu_quantity"))
        oInsertLine.setFloat(4, 1f);
    else
        oInsertLine.setFloat(4, Float.parseFloat((String) get("nu_quantity")));
    if (null == get("id_unit"))
        oInsertLine.setString(5, "UNIT");
    else
        oInsertLine.setObject(5, get("id_unit"), java.sql.Types.VARCHAR);
    if (null == get("pr_total"))
        oInsertLine.setNull(6, java.sql.Types.DECIMAL);
    else
        oInsertLine.setBigDecimal(6, new BigDecimal((String) get("pr_total")));
    if (null == get("pct_tax_rate"))
        oInsertLine.setNull(7, java.sql.Types.FLOAT);
    else
        oInsertLine.setFloat(7, Float.parseFloat((String) get("pct_tax_rate")));
    if (null == get("is_tax_included"))
        oInsertLine.setNull(8, java.sql.Types.SMALLINT);
    else
        oInsertLine.setShort(8, Short.parseShort((String) get("is_tax_included")));
    if (null == get("nm_product"))
        oInsertLine.setNull(9, java.sql.Types.VARCHAR);
    else
        oInsertLine.setObject(9, get("nm_product"), java.sql.Types.VARCHAR);
    if (null == get("gu_product")) {
        if (null == get("nm_product")) {
            oInsertLine.setNull(10, java.sql.Types.CHAR);
        } else {
            oFindProductGUID.setObject(1, get("nm_product"), java.sql.Types.VARCHAR);
            ResultSet rFoundProduct = oFindProductGUID.executeQuery();
            if (rFoundProduct.next()) {
                String sNmProduct = rFoundProduct.getString(1);
                rFoundProduct.close();
                oInsertLine.setString(10, sNmProduct);
            } else {
                oInsertLine.setNull(10, java.sql.Types.CHAR);
            }
        }
    } else {
        oInsertLine.setObject(10, get("gu_product"), java.sql.Types.CHAR);
    }
    // fi (gu_product)
    if (null == get("gu_item"))
        oInsertLine.setNull(11, java.sql.Types.CHAR);
    else
        oInsertLine.setObject(11, get("gu_item"), java.sql.Types.CHAR);
    if (null == get("id_status"))
        oInsertLine.setNull(12, java.sql.Types.VARCHAR);
    else
        oInsertLine.setObject(12, get("id_status"), java.sql.Types.VARCHAR);
    if (null == get("tx_promotion"))
        oInsertLine.setNull(13, java.sql.Types.VARCHAR);
    else
        oInsertLine.setObject(13, get("id_status"), java.sql.Types.VARCHAR);
    if (null == get("tx_options"))
        oInsertLine.setNull(14, java.sql.Types.VARCHAR);
    else
        oInsertLine.setObject(14, get("tx_options"), java.sql.Types.VARCHAR);
    oInsertLine.executeUpdate();
}
Example 45
Project: liquibase-master  File: ClobType.java View source code
@Override
public DatabaseDataType toDatabaseDataType(Database database) {
    String originalDefinition = StringUtils.trimToEmpty(getRawDefinition());
    if (database instanceof MSSQLDatabase) {
        if (!LiquibaseConfiguration.getInstance().getProperty(GlobalConfiguration.class, GlobalConfiguration.CONVERT_DATA_TYPES).getValue(Boolean.class) && originalDefinition.toLowerCase().startsWith("text")) {
            DatabaseDataType type = new DatabaseDataType(database.escapeDataTypeName("text"));
            type.addAdditionalInformation(getAdditionalInformation());
            return type;
        }
    }
    if (database instanceof FirebirdDatabase) {
        return new DatabaseDataType("BLOB SUB_TYPE TEXT");
    } else if (database instanceof SybaseASADatabase) {
        return new DatabaseDataType("LONG VARCHAR");
    } else if (database instanceof MSSQLDatabase) {
        if (originalDefinition.equalsIgnoreCase("text") || originalDefinition.equals("[text]") || originalDefinition.matches("(?i)text .+") || originalDefinition.matches("\\[text\\] .+")) {
            DatabaseDataType type = new DatabaseDataType(database.escapeDataTypeName("text"));
            type.addAdditionalInformation(getAdditionalInformation());
            return type;
        }
        if (originalDefinition.toLowerCase().startsWith("ntext") || originalDefinition.toLowerCase().startsWith("[ntext]")) {
            DatabaseDataType type = new DatabaseDataType(database.escapeDataTypeName("ntext"));
            type.addAdditionalInformation(getAdditionalInformation());
            return type;
        }
        if (originalDefinition.equalsIgnoreCase("nclob")) {
            try {
                if (database.getDatabaseMajorVersion() <= 8) {
                    //2000 or earlier
                    DatabaseDataType type = new DatabaseDataType(database.escapeDataTypeName("ntext"));
                    type.addAdditionalInformation(getAdditionalInformation());
                    return type;
                }
            } catch (DatabaseException ignore) {
            }
            return new DatabaseDataType(database.escapeDataTypeName("nvarchar"), "MAX");
        }
        try {
            if (database.getDatabaseMajorVersion() <= 8) {
                //2000 or earlier
                DatabaseDataType type = new DatabaseDataType(database.escapeDataTypeName("text"));
                type.addAdditionalInformation(getAdditionalInformation());
                return type;
            }
        } catch (DatabaseException ignore) {
        }
        return new DatabaseDataType(database.escapeDataTypeName("varchar"), "MAX");
    } else if (database instanceof MySQLDatabase) {
        if (originalDefinition.toLowerCase().startsWith("text")) {
            return new DatabaseDataType("TEXT");
        } else if (originalDefinition.toLowerCase().startsWith("tinytext")) {
            return new DatabaseDataType("TINYTEXT");
        } else if (originalDefinition.toLowerCase().startsWith("mediumtext")) {
            return new DatabaseDataType("MEDIUMTEXT");
        } else if (originalDefinition.toLowerCase().startsWith("nclob")) {
            DatabaseDataType type = new DatabaseDataType("LONGTEXT");
            type.addAdditionalInformation("CHARACTER SET utf8");
            return type;
        } else {
            return new DatabaseDataType("LONGTEXT");
        }
    } else if (database instanceof H2Database || database instanceof HsqlDatabase) {
        if (originalDefinition.toLowerCase().startsWith("longvarchar") || originalDefinition.startsWith("java.sql.Types.LONGVARCHAR")) {
            return new DatabaseDataType("LONGVARCHAR");
        } else {
            return new DatabaseDataType("CLOB");
        }
    } else if (database instanceof PostgresDatabase || database instanceof SQLiteDatabase || database instanceof SybaseDatabase) {
        return new DatabaseDataType("TEXT");
    } else if (database instanceof OracleDatabase) {
        if (originalDefinition.equalsIgnoreCase("nclob")) {
            return new DatabaseDataType("NCLOB");
        }
        return new DatabaseDataType("CLOB");
    } else if (database instanceof InformixDatabase) {
        if (originalDefinition.toLowerCase().startsWith("text")) {
            return new DatabaseDataType("TEXT");
        }
    }
    return super.toDatabaseDataType(database);
}
Example 46
Project: opencit-master  File: UUIDMapper.java View source code
public UUID getUUID(ResultSet rs, StatementContext sc, String fieldName) throws SQLException {
    //        log.debug("driver is {}", sc.getAttribute("driver"));
    // find the column type for the given field name
    ResultSetMetaData meta = rs.getMetaData();
    int index = 0;
    int max = meta.getColumnCount();
    for (int i = 1; i <= max; i++) {
        //            }
        if (fieldName.equalsIgnoreCase(meta.getColumnName(i))) {
            index = i;
        }
    }
    if (index == 0) {
        //            log.error("UUID column {} not found", fieldName);
        throw new SQLException("UUID column not found: " + fieldName);
    }
    // postgresql uuid  (1111)    mysql  BINARY (-2) .   other mysql names for getColumnTypeName:  mysql: BINARY, VARCHAR, BLOB, BIT, INT, DATE
    int type = meta.getColumnType(index);
    if (type == java.sql.Types.BINARY || type == java.sql.Types.VARBINARY) {
        return UUID.valueOf(rs.getBytes(index));
    }
    if (type == java.sql.Types.CHAR || type == java.sql.Types.VARCHAR) {
        return UUID.valueOf(rs.getString(index));
    }
    String typeName = meta.getColumnTypeName(index);
    if ("uuid".equalsIgnoreCase(typeName)) {
        //            return UUID.valueOf(rs.getObject(index, java.util.UUID.class)); // java.lang.AbstractMethodError: org.apache.commons.dbcp.DelegatingResultSet.getObject(ILjava/lang/Class;)Ljava/lang/Object;
        return UUID.valueOf((java.util.UUID) rs.getObject(index));
    }
    log.debug("Found UUID column at index {} but type is not supported", index);
    return null;
}
Example 47
Project: teiid-designer-master  File: TypesMapping.java View source code
/* 
     * Returns true if supplied type can have a length attribute as a part of column
     * definition.
     */
public static boolean supportsLength(int type) {
    return type == Types.BINARY || type == Types.CHAR || type == Types.NCHAR || type == Types.NVARCHAR || type == Types.LONGNVARCHAR || type == Types.DECIMAL || type == Types.DOUBLE || type == Types.FLOAT || type == Types.NUMERIC || type == Types.REAL || type == Types.VARBINARY || type == Types.VARCHAR;
}
Example 48
Project: dbfit-teradata-master  File: SqlServerEnvironment.java View source code
private static int getSqlType(String dataType) {
    // todo:strip everything from first blank
    dataType = normaliseTypeName(dataType);
    if (stringTypes.contains(dataType))
        return java.sql.Types.VARCHAR;
    if (decimalTypes.contains(dataType))
        return java.sql.Types.NUMERIC;
    if (intTypes.contains(dataType))
        return java.sql.Types.INTEGER;
    if (timestampTypes.contains(dataType))
        return java.sql.Types.TIMESTAMP;
    if (dateTypes.contains(dataType))
        return java.sql.Types.DATE;
    if (booleanTypes.contains(dataType))
        return java.sql.Types.BOOLEAN;
    if (floatTypes.contains(dataType))
        return java.sql.Types.FLOAT;
    if (doubleTypes.contains(dataType))
        return java.sql.Types.DOUBLE;
    if (longTypes.contains(dataType))
        return java.sql.Types.BIGINT;
    if (shortTypes.contains(dataType))
        return java.sql.Types.SMALLINT;
    throw new UnsupportedOperationException("Type " + dataType + " is not supported");
}
Example 49
Project: openemm-master  File: ImportUtils.java View source code
public static String dbtype2string(int type) {
    switch(type) {
        case java.sql.Types.BIGINT:
        case java.sql.Types.INTEGER:
        case java.sql.Types.SMALLINT:
            return DataType.INTEGER;
        case java.sql.Types.DECIMAL:
        case java.sql.Types.DOUBLE:
        case java.sql.Types.FLOAT:
        case java.sql.Types.NUMERIC:
        case java.sql.Types.REAL:
            return DataType.DOUBLE;
        case java.sql.Types.CHAR:
            return DataType.CHAR;
        case java.sql.Types.VARCHAR:
        case java.sql.Types.LONGVARCHAR:
        case java.sql.Types.CLOB:
            return DataType.VARCHAR;
        case java.sql.Types.DATE:
        case java.sql.Types.TIMESTAMP:
        case java.sql.Types.TIME:
            return DataType.DATE;
    }
    return "UNKNOWN(" + type + ")";
}
Example 50
Project: RSQLServer-master  File: TdsData.java View source code
/**
     * Read the TDS datastream and populate the ColInfo parameter with
     * data type and related information.
     * <p>The type infomation conforms to one of the following formats:
     * <ol>
     * <li> [int1 type]  - eg SYBINT4.
     * <li> [int1 type] [int1 buffersize]  - eg VARCHAR < 256
     * <li> [int1 type] [int2 buffersize]  - eg VARCHAR > 255.
     * <li> [int1 type] [int4 buffersize] [int1 tabnamelen] [int1*n tabname] - eg text.
     * <li> [int1 type] [int4 buffersize] - eg sql_variant.
     * <li> [int1 type] [int1 buffersize] [int1 precision] [int1 scale] - eg decimal.
     * </ol>
     * For TDS 8 large character types include a 5 byte collation field after the buffer size.
     *
     * @param in The server response stream.
     * @param ci The ColInfo column descriptor object.
     * @return The number of bytes read from the input stream.
     * @throws IOException
     * @throws ProtocolException
     */
static int readType(ResponseStream in, ColInfo ci) throws IOException, ProtocolException {
    int tdsVersion = in.getTdsVersion();
    boolean isTds8 = tdsVersion >= Driver.TDS80;
    boolean isTds7 = tdsVersion >= Driver.TDS70;
    boolean isTds5 = tdsVersion == Driver.TDS50;
    boolean isTds42 = tdsVersion == Driver.TDS42;
    int bytesRead = 1;
    // Get the TDS data type code
    int type = in.read();
    if (types[type] == null || (isTds5 && type == SYBLONGDATA)) {
        // Trap invalid type or 0x24 received from a Sybase server!
        throw new ProtocolException("Invalid TDS data type 0x" + Integer.toHexString(type & 0xFF));
    }
    ci.tdsType = type;
    ci.jdbcType = types[type].jdbcType;
    ci.bufferSize = types[type].size;
    // Now get the buffersize if required
    if (ci.bufferSize == -5) {
        // sql_variant
        // Sybase long binary
        ci.bufferSize = in.readInt();
        bytesRead += 4;
    } else if (ci.bufferSize == -4) {
        // text or image
        ci.bufferSize = in.readInt();
        if (isTds8) {
            bytesRead += getCollation(in, ci);
        }
        int lenName = in.readShort();
        ci.tableName = in.readString(lenName);
        bytesRead += 6 + ((in.getTdsVersion() >= Driver.TDS70) ? lenName * 2 : lenName);
    } else if (ci.bufferSize == -2) {
        // longvarchar longvarbinary
        if (isTds5 && ci.tdsType == XSYBCHAR) {
            ci.bufferSize = in.readInt();
            bytesRead += 4;
        } else {
            ci.bufferSize = in.readShort();
            bytesRead += 2;
        }
        if (isTds8) {
            bytesRead += getCollation(in, ci);
        }
    } else if (ci.bufferSize == -1) {
        // varchar varbinary decimal etc
        bytesRead += 1;
        ci.bufferSize = in.read();
    }
    // Set default displaySize and precision
    ci.displaySize = types[type].displaySize;
    ci.precision = types[type].precision;
    ci.sqlType = types[type].sqlType;
    // Now fine tune sizes for specific types
    switch(type) {
        //
        case SYBDATETIME:
            ci.scale = 3;
            break;
        // Establish actual size of nullable datetime
        case SYBDATETIMN:
            if (ci.bufferSize == 8) {
                ci.displaySize = types[SYBDATETIME].displaySize;
                ci.precision = types[SYBDATETIME].precision;
                ci.scale = 3;
            } else {
                ci.displaySize = types[SYBDATETIME4].displaySize;
                ci.precision = types[SYBDATETIME4].precision;
                ci.sqlType = types[SYBDATETIME4].sqlType;
                ci.scale = 0;
            }
            break;
        // Establish actual size of nullable float
        case SYBFLTN:
            if (ci.bufferSize == 8) {
                ci.displaySize = types[SYBFLT8].displaySize;
                ci.precision = types[SYBFLT8].precision;
            } else {
                ci.displaySize = types[SYBREAL].displaySize;
                ci.precision = types[SYBREAL].precision;
                ci.jdbcType = java.sql.Types.REAL;
                ci.sqlType = types[SYBREAL].sqlType;
            }
            break;
        // Establish actual size of nullable int
        case SYBINTN:
            if (ci.bufferSize == 8) {
                ci.displaySize = types[SYBINT8].displaySize;
                ci.precision = types[SYBINT8].precision;
                ci.jdbcType = java.sql.Types.BIGINT;
                ci.sqlType = types[SYBINT8].sqlType;
            } else if (ci.bufferSize == 4) {
                ci.displaySize = types[SYBINT4].displaySize;
                ci.precision = types[SYBINT4].precision;
            } else if (ci.bufferSize == 2) {
                ci.displaySize = types[SYBINT2].displaySize;
                ci.precision = types[SYBINT2].precision;
                ci.jdbcType = java.sql.Types.SMALLINT;
                ci.sqlType = types[SYBINT2].sqlType;
            } else {
                ci.displaySize = types[SYBINT1].displaySize;
                ci.precision = types[SYBINT1].precision;
                ci.jdbcType = java.sql.Types.TINYINT;
                ci.sqlType = types[SYBINT1].sqlType;
            }
            break;
        // Establish actual size of nullable unsigned int
        case SYBUINTN:
            if (ci.bufferSize == 8) {
                ci.displaySize = types[SYBUINT8].displaySize;
                ci.precision = types[SYBUINT8].precision;
                ci.jdbcType = types[SYBUINT8].jdbcType;
                ci.sqlType = types[SYBUINT8].sqlType;
            } else if (ci.bufferSize == 4) {
                ci.displaySize = types[SYBUINT4].displaySize;
                ci.precision = types[SYBUINT4].precision;
            } else if (ci.bufferSize == 2) {
                ci.displaySize = types[SYBUINT2].displaySize;
                ci.precision = types[SYBUINT2].precision;
                ci.jdbcType = types[SYBUINT2].jdbcType;
                ci.sqlType = types[SYBUINT2].sqlType;
            } else {
                throw new ProtocolException("unsigned int null (size 1) not supported");
            }
            break;
        //
        case SYBMONEY:
        case SYBMONEY4:
            ci.scale = 4;
            break;
        // Establish actual size of nullable money
        case SYBMONEYN:
            if (ci.bufferSize == 8) {
                ci.displaySize = types[SYBMONEY].displaySize;
                ci.precision = types[SYBMONEY].precision;
            } else {
                ci.displaySize = types[SYBMONEY4].displaySize;
                ci.precision = types[SYBMONEY4].precision;
                ci.sqlType = types[SYBMONEY4].sqlType;
            }
            ci.scale = 4;
            break;
        // Read in scale and precision for decimal types
        case SYBDECIMAL:
        case SYBNUMERIC:
            ci.precision = in.read();
            ci.scale = in.read();
            ci.displaySize = ((ci.scale > 0) ? 2 : 1) + ci.precision;
            bytesRead += 2;
            ci.sqlType = types[type].sqlType;
            break;
        // Although a binary type force displaysize to MAXINT
        case SYBIMAGE:
            ci.precision = Integer.MAX_VALUE;
            ci.displaySize = Integer.MAX_VALUE;
            break;
        // Normal binaries have a display size of 2 * precision 0x0A0B etc
        case SYBLONGBINARY:
        case SYBVARBINARY:
        case SYBBINARY:
        case XSYBBINARY:
        case XSYBVARBINARY:
            ci.precision = ci.bufferSize;
            ci.displaySize = ci.precision * 2;
            break;
        // SQL Server unicode text can only display half as many chars
        case SYBNTEXT:
            ci.precision = Integer.MAX_VALUE / 2;
            ci.displaySize = Integer.MAX_VALUE / 2;
            break;
        // ASE 15+ unicode text can only display half as many chars
        case SYBUNITEXT:
            ci.precision = Integer.MAX_VALUE / 2;
            ci.displaySize = Integer.MAX_VALUE / 2;
            break;
        // SQL Server unicode chars can only display half as many chars
        case XSYBNCHAR:
        case XSYBNVARCHAR:
            ci.displaySize = ci.bufferSize / 2;
            ci.precision = ci.displaySize;
            break;
        // Normal characters display size = precision = buffer size.
        case SYBTEXT:
        case SYBCHAR:
        case XSYBCHAR:
        case XSYBVARCHAR:
        case SYBVARCHAR:
        case SYBNVARCHAR:
            ci.precision = ci.bufferSize;
            ci.displaySize = ci.precision;
            break;
    }
    // For numeric types add 'identity' for auto inc data type
    if (ci.isIdentity) {
        ci.sqlType += " identity";
    }
    // Fine tune Sybase or SQL 6.5 data types
    if (isTds42 || isTds5) {
        switch(ci.userType) {
            case UDT_CHAR:
                ci.sqlType = "char";
                ci.displaySize = ci.bufferSize;
                ci.jdbcType = java.sql.Types.CHAR;
                break;
            case UDT_VARCHAR:
                ci.sqlType = "varchar";
                ci.displaySize = ci.bufferSize;
                ci.jdbcType = java.sql.Types.VARCHAR;
                break;
            case UDT_BINARY:
                ci.sqlType = "binary";
                ci.displaySize = ci.bufferSize * 2;
                ci.jdbcType = java.sql.Types.BINARY;
                break;
            case UDT_VARBINARY:
                ci.sqlType = "varbinary";
                ci.displaySize = ci.bufferSize * 2;
                ci.jdbcType = java.sql.Types.VARBINARY;
                break;
            case UDT_SYSNAME:
                ci.sqlType = "sysname";
                ci.displaySize = ci.bufferSize;
                ci.jdbcType = java.sql.Types.VARCHAR;
                break;
            case UDT_TIMESTAMP:
                ci.sqlType = "timestamp";
                ci.displaySize = ci.bufferSize * 2;
                ci.jdbcType = java.sql.Types.VARBINARY;
                break;
        }
    }
    // Fine tune Sybase data types
    if (isTds5) {
        switch(ci.userType) {
            case UDT_NCHAR:
                ci.sqlType = "nchar";
                ci.displaySize = ci.bufferSize;
                ci.jdbcType = java.sql.Types.CHAR;
                break;
            case UDT_NVARCHAR:
                ci.sqlType = "nvarchar";
                ci.displaySize = ci.bufferSize;
                ci.jdbcType = java.sql.Types.VARCHAR;
                break;
            case UDT_UNICHAR:
                ci.sqlType = "unichar";
                ci.displaySize = ci.bufferSize / 2;
                ci.precision = ci.displaySize;
                ci.jdbcType = java.sql.Types.CHAR;
                break;
            case UDT_UNIVARCHAR:
                ci.sqlType = "univarchar";
                ci.displaySize = ci.bufferSize / 2;
                ci.precision = ci.displaySize;
                ci.jdbcType = java.sql.Types.VARCHAR;
                break;
            case UDT_LONGSYSNAME:
                ci.sqlType = "longsysname";
                ci.jdbcType = java.sql.Types.VARCHAR;
                ci.displaySize = ci.bufferSize;
                break;
        }
    }
    // Fine tune SQL Server 7+ datatypes
    if (isTds7) {
        switch(ci.userType) {
            case UDT_TIMESTAMP:
                ci.sqlType = "timestamp";
                ci.jdbcType = java.sql.Types.BINARY;
                break;
            case UDT_NEWSYSNAME:
                ci.sqlType = "sysname";
                ci.jdbcType = java.sql.Types.VARCHAR;
                break;
        }
    }
    return bytesRead;
}
Example 51
Project: mssql-jdbc-master  File: SQLServerPreparedStatement42Helper.java View source code
static final void setObject(SQLServerPreparedStatement ps, int index, Object obj, SQLType jdbcType) throws SQLServerException {
    DriverJDBCVersion.checkSupportsJDBC42();
    if (SQLServerStatement.loggerExternal.isLoggable(java.util.logging.Level.FINER))
        SQLServerStatement.loggerExternal.entering(ps.getClassNameLogging(), "setObject", new Object[] { index, obj, jdbcType });
    // getVendorTypeNumber() returns the same constant integer values as in java.sql.Types
    ps.setObject(index, obj, jdbcType.getVendorTypeNumber().intValue());
    SQLServerStatement.loggerExternal.exiting(ps.getClassNameLogging(), "setObject");
}
Example 52
Project: drill-master  File: Types.java View source code
/***
   * Gets JDBC type code for given SQL data type name.
   */
public static int getJdbcTypeCode(final String sqlTypeName) {
    switch(sqlTypeName) {
        case "ANY":
            return java.sql.Types.OTHER;
        // Drill doesn't support java.sql.Array
        case "ARRAY":
            return java.sql.Types.OTHER;
        case "BIGINT":
            return java.sql.Types.BIGINT;
        case "BINARY VARYING":
            return java.sql.Types.VARBINARY;
        case "BINARY":
            return java.sql.Types.BINARY;
        case "BOOLEAN":
            return java.sql.Types.BOOLEAN;
        case "CHARACTER VARYING":
            return java.sql.Types.VARCHAR;
        case "CHARACTER":
            return java.sql.Types.NCHAR;
        case "DATE":
            return java.sql.Types.DATE;
        case "DECIMAL":
            return java.sql.Types.DECIMAL;
        case "DOUBLE":
            return java.sql.Types.DOUBLE;
        case "FLOAT":
            return java.sql.Types.FLOAT;
        case "INTEGER":
            return java.sql.Types.INTEGER;
        // JDBC (4.1) has nothing for INTERVAL
        case "INTERVAL":
            return java.sql.Types.OTHER;
        case "INTERVAL YEAR TO MONTH":
            return java.sql.Types.OTHER;
        case "INTERVAL DAY TO SECOND":
            return java.sql.Types.OTHER;
        // Drill doesn't support java.sql.Struct
        case "MAP":
            return java.sql.Types.OTHER;
        case "NATIONAL CHARACTER VARYING":
            return java.sql.Types.NVARCHAR;
        case "NATIONAL CHARACTER":
            return java.sql.Types.NCHAR;
        case "NULL":
            return java.sql.Types.NULL;
        case "SMALLINT":
            return java.sql.Types.SMALLINT;
        // fall through
        case "TIME WITH TIME ZONE":
        case "TIME":
            return java.sql.Types.TIME;
        // fall through
        case "TIMESTAMP WITH TIME ZONE":
        case "TIMESTAMP":
            return java.sql.Types.TIMESTAMP;
        case "TINYINT":
            return java.sql.Types.TINYINT;
        case "UNION":
            return java.sql.Types.OTHER;
        case "JAVA_OBJECT":
            return java.sql.Types.JAVA_OBJECT;
        default:
            //   exception intended for that.
            throw new UnsupportedOperationException("Unexpected/unhandled SqlType value " + sqlTypeName);
    }
}
Example 53
Project: cloudgraph-master  File: RDBDataConverter.java View source code
private int convertToSqlType(Property property, Object value) {
    int result;
    if (!property.getType().isDataType())
        throw new IllegalArgumentException("expected data type property, not " + property.toString());
    DataType dataType = DataType.valueOf(property.getType().getName());
    switch(dataType) {
        case String:
        case URI:
        case Month:
        case MonthDay:
        case Day:
        case Time:
        case Year:
        case YearMonth:
        case YearMonthDay:
        case Duration:
        case Strings:
            result = java.sql.Types.VARCHAR;
            break;
        case Date:
            // Plasma SDO allows more precision than just month/day/year
            // in an SDO date datatype, and using java.sql.Date will truncate
            // here so use java.sql.Timestamp.
            result = java.sql.Types.TIMESTAMP;
            break;
        case DateTime:
            result = java.sql.Types.TIMESTAMP;
            // FIXME: so what SDO datatype maps to a SQL timestamp??
            break;
        case Decimal:
            result = java.sql.Types.DECIMAL;
            break;
        case Bytes:
            // FIXME: how do we know whether a Blob here
            result = java.sql.Types.VARBINARY;
            break;
        case Byte:
            result = java.sql.Types.VARBINARY;
            break;
        case Boolean:
            result = java.sql.Types.BOOLEAN;
            break;
        case Character:
            result = java.sql.Types.CHAR;
            break;
        case Double:
            result = java.sql.Types.DOUBLE;
            break;
        case Float:
            result = java.sql.Types.FLOAT;
            break;
        case Int:
            result = java.sql.Types.INTEGER;
            break;
        case Integer:
            result = java.sql.Types.BIGINT;
            break;
        case Long:
            // FIXME: no JDBC long??
            result = java.sql.Types.INTEGER;
            break;
        case Short:
            result = java.sql.Types.SMALLINT;
            break;
        case Object:
        default:
            result = java.sql.Types.VARCHAR;
            break;
    }
    return result;
}
Example 54
Project: hibernate-orm-master  File: JdbcTypeNameMapper.java View source code
private static Map<Integer, String> buildJdbcTypeMap() {
    HashMap<Integer, String> map = new HashMap<Integer, String>();
    Field[] fields = java.sql.Types.class.getFields();
    if (fields == null) {
        throw new HibernateException("Unexpected problem extracting JDBC type mapping codes from java.sql.Types");
    }
    for (Field field : fields) {
        try {
            final int code = field.getInt(null);
            String old = map.put(code, field.getName());
            if (old != null) {
                LOG.JavaSqlTypesMappedSameCodeMultipleTimes(code, old, field.getName());
            }
        } catch (IllegalAccessException e) {
            throw new HibernateException("Unable to access JDBC type mapping [" + field.getName() + "]", e);
        }
    }
    return Collections.unmodifiableMap(map);
}
Example 55
Project: hibernate-semantic-query-master  File: JdbcTypeNameMapper.java View source code
private static Map<Integer, String> buildJdbcTypeMap() {
    HashMap<Integer, String> map = new HashMap<Integer, String>();
    Field[] fields = java.sql.Types.class.getFields();
    if (fields == null) {
        throw new HibernateException("Unexpected problem extracting JDBC type mapping codes from java.sql.Types");
    }
    for (Field field : fields) {
        try {
            final int code = field.getInt(null);
            String old = map.put(code, field.getName());
            if (old != null) {
                LOG.JavaSqlTypesMappedSameCodeMultipleTimes(code, old, field.getName());
            }
        } catch (IllegalAccessException e) {
            throw new HibernateException("Unable to access JDBC type mapping [" + field.getName() + "]", e);
        }
    }
    return Collections.unmodifiableMap(map);
}
Example 56
Project: pgjdbc-master  File: TimeTest.java View source code
/*
   * Tests the time methods in PreparedStatement
   */
@Test
public void testSetTime() throws SQLException {
    PreparedStatement ps = con.prepareStatement(TestUtil.insertSQL("testtime", "?"));
    Statement stmt = con.createStatement();
    ps.setTime(1, makeTime(1, 2, 3));
    assertEquals(1, ps.executeUpdate());
    ps.setTime(1, makeTime(23, 59, 59));
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, Time.valueOf("12:00:00"), java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, Time.valueOf("05:15:21"), java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, Time.valueOf("16:21:51"), java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, Time.valueOf("12:15:12"), java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, "22:12:1", java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, "8:46:44", java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, "5:1:2-03", java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    ps.setObject(1, "23:59:59+11", java.sql.Types.TIME);
    assertEquals(1, ps.executeUpdate());
    // Need to let the test know this one has extra test cases.
    testSetTime = true;
    // Fall through helper
    timeTest();
    testSetTime = false;
    assertEquals(10, stmt.executeUpdate("DELETE FROM testtime"));
    stmt.close();
    ps.close();
}
Example 57
Project: ef-orm-master  File: SqlTimeStringMapping.java View source code
public Object jdbcSet(PreparedStatement st, Object value, int index, DatabaseDialect session) throws SQLException {
    if (value == null) {
        st.setNull(index, java.sql.Types.TIME);
        return value;
    } else {
        try {
            java.sql.Time time = new java.sql.Time(format.get().parse((String) value).getTime());
            st.setTime(index, time);
            return time;
        } catch (ParseException e) {
            throw new PersistenceException((String) value, e);
        }
    }
}
Example 58
Project: mdrill-master  File: Utils.java View source code
/**
	   * Convert hive types to sql types.
	   * @param type
	   * @return Integer java.sql.Types values
	   * @throws SQLException
	   */
public static int hiveTypeToSqlType(String type) throws SQLException {
    if ("string".equalsIgnoreCase(type)) {
        return Types.VARCHAR;
    } else if ("float".equalsIgnoreCase(type)) {
        return Types.FLOAT;
    } else if ("double".equalsIgnoreCase(type)) {
        return Types.DOUBLE;
    } else if ("boolean".equalsIgnoreCase(type)) {
        return Types.BOOLEAN;
    } else if ("tinyint".equalsIgnoreCase(type)) {
        return Types.TINYINT;
    } else if ("smallint".equalsIgnoreCase(type)) {
        return Types.SMALLINT;
    } else if ("int".equalsIgnoreCase(type)) {
        return Types.INTEGER;
    } else if ("bigint".equalsIgnoreCase(type)) {
        return Types.BIGINT;
    } else if (type.startsWith("map<")) {
        return Types.VARCHAR;
    } else if (type.startsWith("array<")) {
        return Types.VARCHAR;
    } else if (type.startsWith("struct<")) {
        return Types.VARCHAR;
    }
    throw new SQLException("Unrecognized column type: " + type);
}
Example 59
Project: cayenne-master  File: DbAttributeValidator.java View source code
void validate(DbAttribute attribute, ValidationResult validationResult) {
    // Must have name
    if (Util.isEmptyString(attribute.getName())) {
        addFailure(validationResult, attribute, "Unnamed DbAttribute");
    } else {
        NameValidationHelper helper = NameValidationHelper.getInstance();
        String invalidChars = helper.invalidCharsInDbPathComponent(attribute.getName());
        if (invalidChars != null) {
            addFailure(validationResult, attribute, "DbAttribute name '%s' contains invalid characters: %s", attribute.getName(), invalidChars);
        }
    }
    // all attributes must have type
    if (attribute.getType() == TypesMapping.NOT_DEFINED) {
        addFailure(validationResult, attribute, "DbAttribute has no type");
    } else // VARCHAR and CHAR attributes must have max length
    if (attribute.getMaxLength() < 0 && (attribute.getType() == java.sql.Types.VARCHAR || attribute.getType() == java.sql.Types.NVARCHAR || attribute.getType() == java.sql.Types.CHAR || attribute.getType() == java.sql.Types.NCHAR)) {
        addFailure(validationResult, attribute, "Character DbAttribute '%s' doesn't have max length", attribute.getName());
    }
}
Example 60
Project: codjo-segmentation-master  File: SpSegTranscodeSleeveCodeTest.java View source code
public void test_sp_SEG_Transcode_Sleeve_Code() throws Exception {
    CallableStatement callableStatement = jdbcFixture.getConnection().prepareCall("{call sp_SEG_Transcode_Sleeve_Code ?, ?)}");
    callableStatement.setString(1, "01-1.2.3");
    callableStatement.registerOutParameter(2, Types.VARCHAR);
    callableStatement.executeUpdate();
    assertEquals("01_1_2_3", callableStatement.getString(2));
}
Example 61
Project: railo-master  File: OtherCast.java View source code
@Override
public Object toCFType(TimeZone tz, int type, ResultSet rst, int columnIndex) throws SQLException {
    if (type != Types.SMALLINT)
        return rst.getObject(columnIndex);
    try {
        return rst.getObject(columnIndex);
    }// workaround for MSSQL Driver, in some situation getObject throws a cast exception using getString avoids this
     catch (SQLException e) {
        try {
            return rst.getString(columnIndex);
        } catch (SQLException e2) {
            throw e;
        }
    }
}
Example 62
Project: spyjar-master  File: SPGen.java View source code
private static synchronized void initTypes() {
    if (types == null) {
        javaTypes = new HashMap<String, String>();
        javaResultTypes = new HashMap<String, String>();
        String jstypes = "java.sql.Types.";
        int jstypeslen = jstypes.length();
        // Map the jdbc types to useful java types
        String typ = "java.sql.Types.BIT";
        javaTypes.put(typ, "Boolean");
        javaResultTypes.put(typ, "boolean");
        typ = "java.sql.Types.DATE";
        javaTypes.put(typ, "Date");
        javaResultTypes.put(typ, "java.sql.Date");
        typ = "java.sql.Types.DOUBLE";
        javaTypes.put(typ, "Double");
        javaResultTypes.put(typ, "double");
        typ = "java.sql.Types.FLOAT";
        javaTypes.put(typ, "Float");
        javaResultTypes.put(typ, "float");
        typ = "java.sql.Types.INTEGER";
        javaTypes.put(typ, "Int");
        javaResultTypes.put(typ, "int");
        typ = "java.sql.Types.BIGINT";
        javaTypes.put(typ, "BigDecimal");
        javaResultTypes.put(typ, "java.math.BigDecimal");
        typ = "java.sql.Types.NUMERIC";
        javaTypes.put(typ, "BigDecimal");
        javaResultTypes.put(typ, "java.math.BigDecimal");
        typ = "java.sql.Types.DECIMAL";
        javaTypes.put(typ, "BigDecimal");
        javaResultTypes.put(typ, "java.math.BigDecimal");
        typ = "java.sql.Types.SMALLINT";
        javaTypes.put(typ, "Int");
        javaResultTypes.put(typ, "int");
        typ = "java.sql.Types.TINYINT";
        javaTypes.put(typ, "Int");
        javaResultTypes.put(typ, "int");
        typ = "java.sql.Types.OTHER";
        javaTypes.put(typ, "Object");
        javaResultTypes.put(typ, "Object");
        typ = "java.sql.Types.VARCHAR";
        javaTypes.put(typ, "String");
        javaResultTypes.put(typ, "String");
        typ = "java.sql.Types.CLOB";
        javaTypes.put(typ, "String");
        javaResultTypes.put(typ, "String");
        typ = "java.sql.Types.TIME";
        javaTypes.put(typ, "Time");
        javaResultTypes.put(typ, "java.sql.Time");
        typ = "java.sql.Types.TIMESTAMP";
        javaTypes.put(typ, "Timestamp");
        javaResultTypes.put(typ, "java.sql.Timestamp");
        // Same as above, without the java.sql. part
        Map<String, String> tmp = new HashMap<String, String>();
        for (Map.Entry<String, String> me : javaTypes.entrySet()) {
            String k = me.getKey();
            if (k.startsWith(jstypes)) {
                tmp.put(k.substring(jstypeslen), me.getValue());
            }
        }
        javaTypes.putAll(tmp);
        tmp.clear();
        for (Map.Entry<String, String> me : javaResultTypes.entrySet()) {
            if (me.getKey().startsWith(jstypes)) {
                tmp.put(me.getKey().substring(jstypeslen), me.getValue());
            }
        }
        javaResultTypes.putAll(tmp);
        Field[] fields = java.sql.Types.class.getDeclaredFields();
        types = new HashSet<String>();
        for (int i = 0; i < fields.length; i++) {
            types.add(fields[i].getName());
        }
    }
}
Example 63
Project: dbfit-master  File: DB2iEnvironment.java View source code
private static int getSqlType(String dataType) {
    dataType = NormaliseTypeName(dataType);
    if (stringTypes.contains(dataType))
        return java.sql.Types.VARCHAR;
    if (decimalTypes.contains(dataType))
        return java.sql.Types.NUMERIC;
    if (intTypes.contains(dataType))
        return java.sql.Types.INTEGER;
    if (floatTypes.contains(dataType))
        return java.sql.Types.FLOAT;
    if (doubleTypes.contains(dataType))
        return java.sql.Types.DOUBLE;
    if (longTypes.contains(dataType))
        return java.sql.Types.BIGINT;
    if (timestampTypes.contains(dataType))
        return java.sql.Types.TIMESTAMP;
    if (dateTypes.contains(dataType))
        return java.sql.Types.DATE;
    throw new UnsupportedOperationException("SQL - Type " + dataType + " is not supported");
}
Example 64
Project: awscwxls-master  File: BaseXls.java View source code
/**
	 * Convert sql to xls data type.
	 *
	 * @param sqlType the sql type
	 * @return the data type
	 */
protected DataType convertSqlToXlsDataType(int sqlType) {
    DataType dataType = DataType.Text;
    switch(sqlType) {
        case java.sql.Types.BIGINT:
        case java.sql.Types.DOUBLE:
        case java.sql.Types.INTEGER:
        case java.sql.Types.NUMERIC:
        case java.sql.Types.REAL:
        case java.sql.Types.SMALLINT:
        case java.sql.Types.TINYINT:
            dataType = DataType.Numeric;
            break;
        case java.sql.Types.DECIMAL:
        case java.sql.Types.FLOAT:
            dataType = DataType.Accounting;
            break;
        case java.sql.Types.CHAR:
        case java.sql.Types.LONGVARCHAR:
        case java.sql.Types.VARCHAR:
            dataType = DataType.Text;
            break;
        case java.sql.Types.DATE:
        case java.sql.Types.TIME:
        case java.sql.Types.TIMESTAMP:
            dataType = DataType.Date;
            break;
    }
    return dataType;
}
Example 65
Project: resin-master  File: GenericMetaData.java View source code
/**
   * Returns the long type.
   */
public String getLongType() {
    if (_longType != null)
        return _longType;
    Connection conn = null;
    try {
        conn = getConnection();
        DatabaseMetaData md = conn.getMetaData();
        ResultSet rs;
        rs = md.getTypeInfo();
        try {
            while (rs.next()) {
                if (rs.getShort("DATA_TYPE") == Types.BIGINT) {
                    _longType = rs.getString("TYPE_NAME");
                    return _longType;
                }
            }
        } finally {
            rs.close();
        }
    } catch (SQLException e) {
        log.log(Level.FINE, e.toString(), e);
    } finally {
        try {
            if (conn != null)
                conn.close();
        } catch (SQLException e) {
        }
    }
    return null;
}
Example 66
Project: orientdb-jdbc-master  File: OrientJdbcResultSetMetaDataTest.java View source code
@Test
public void shouldMapOrientTypesToJavaSQL() throws Exception {
    assertThat(conn.isClosed(), is(false));
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT stringKey, intKey, text, length, date FROM Item");
    rs.next();
    ResultSetMetaData metaData = rs.getMetaData();
    assertThat(metaData.getColumnCount(), equalTo(5));
    assertThat(metaData.getColumnType(2), equalTo(java.sql.Types.INTEGER));
    assertThat(metaData.getColumnType(3), equalTo(java.sql.Types.VARCHAR));
    assertThat(rs.getObject(3) instanceof String, is(true));
    assertThat(metaData.getColumnType(4), equalTo(java.sql.Types.BIGINT));
    assertThat(metaData.getColumnType(5), equalTo(java.sql.Types.TIMESTAMP));
    assertThat(metaData.getColumnClassName(1), equalTo(String.class.getName()));
    assertThat(metaData.getColumnType(1), equalTo(java.sql.Types.VARCHAR));
}
Example 67
Project: addendum-master  File: AlterEntityTest.java View source code
/** Test column type setting. */
//    @Test
public void setColumnType() {
    Patch patch = new Patch(new Schema(), new ArrayList<DatabaseUpdate>());
    patch.schema.aliases.put("a", "a");
    patch.schema.entities.put("a", new Entity("a"));
    AlterEntity alter = new AlterEntity(null, patch.schema.getEntity("a"), patch);
    alter.add("a", String.class).end();
    assertEquals(patch.schema.getEntity("a").getColumn("a").getColumnType(), Types.VARCHAR);
}
Example 68
Project: pentaho-kettle-master  File: AccessOutputMeta.java View source code
public static final RowMetaInterface getLayout(Table table) throws SQLException, KettleStepException {
    RowMetaInterface row = new RowMeta();
    List<Column> columns = table.getColumns();
    for (int i = 0; i < columns.size(); i++) {
        Column column = columns.get(i);
        int valtype = ValueMetaInterface.TYPE_STRING;
        int length = -1;
        int precision = -1;
        int type = column.getType().getSQLType();
        switch(type) {
            case java.sql.Types.CHAR:
            case java.sql.Types.VARCHAR:
            case // Character Large Object
            java.sql.Types.LONGVARCHAR:
                valtype = ValueMetaInterface.TYPE_STRING;
                length = column.getLength();
                break;
            case java.sql.Types.CLOB:
                valtype = ValueMetaInterface.TYPE_STRING;
                length = DatabaseMeta.CLOB_LENGTH;
                break;
            case java.sql.Types.BIGINT:
                valtype = ValueMetaInterface.TYPE_INTEGER;
                // Max 9.223.372.036.854.775.807
                precision = 0;
                length = 15;
                break;
            case java.sql.Types.INTEGER:
                valtype = ValueMetaInterface.TYPE_INTEGER;
                // Max 2.147.483.647
                precision = 0;
                length = 9;
                break;
            case java.sql.Types.SMALLINT:
                valtype = ValueMetaInterface.TYPE_INTEGER;
                // Max 32.767
                precision = 0;
                length = 4;
                break;
            case java.sql.Types.TINYINT:
                valtype = ValueMetaInterface.TYPE_INTEGER;
                // Max 127
                precision = 0;
                length = 2;
                break;
            case java.sql.Types.DECIMAL:
            case java.sql.Types.DOUBLE:
            case java.sql.Types.FLOAT:
            case java.sql.Types.REAL:
            case java.sql.Types.NUMERIC:
                valtype = ValueMetaInterface.TYPE_NUMBER;
                length = column.getLength();
                precision = column.getPrecision();
                if (length >= 126) {
                    length = -1;
                }
                if (precision >= 126) {
                    precision = -1;
                }
                if (type == java.sql.Types.DOUBLE || type == java.sql.Types.FLOAT || type == java.sql.Types.REAL) {
                    if (precision == 0) {
                        // precision is obviously incorrect if the type if Double/Float/Real
                        precision = -1;
                    }
                } else {
                    if (precision == 0 && length < 18 && length > 0) {
                        // Among others Oracle is affected here.
                        valtype = ValueMetaInterface.TYPE_INTEGER;
                    }
                }
                if (length > 18 || precision > 18) {
                    valtype = ValueMetaInterface.TYPE_BIGNUMBER;
                }
                break;
            case java.sql.Types.DATE:
            case java.sql.Types.TIME:
            case java.sql.Types.TIMESTAMP:
                valtype = ValueMetaInterface.TYPE_DATE;
                break;
            case java.sql.Types.BOOLEAN:
            case java.sql.Types.BIT:
                valtype = ValueMetaInterface.TYPE_BOOLEAN;
                break;
            case java.sql.Types.BINARY:
            case java.sql.Types.BLOB:
            case java.sql.Types.VARBINARY:
            case java.sql.Types.LONGVARBINARY:
                valtype = ValueMetaInterface.TYPE_BINARY;
                break;
            default:
                valtype = ValueMetaInterface.TYPE_STRING;
                length = column.getLength();
                break;
        }
        ValueMetaInterface v;
        try {
            v = ValueMetaFactory.createValueMeta(column.getName(), valtype);
        } catch (KettlePluginException e) {
            throw new KettleStepException(e);
        }
        v.setLength(length, precision);
        row.addValueMeta(v);
    }
    return row;
}
Example 69
Project: navtable-master  File: LayerControllerReadTests.java View source code
@Test
public void testReadTextFieldFromShapeFile() throws LoadLayerException, ReadDriverException, DriverLoadException {
    FLyrVect layer = getFLyrVectFromFile();
    IController lc = new LayerController(layer);
    lc.read(0);
    System.out.println("f_text value: " + lc.getValue("f_text"));
    assertEquals(true, lc.getValue("f_text").equals("test"));
    System.out.println("f_text type: " + lc.getType("f_text"));
    assertEquals(true, lc.getType("f_text") == java.sql.Types.VARCHAR);
}
Example 70
Project: codaserver-master  File: MySQLConnection.java View source code
private String getSQLTypeName(int javaSQLTypeID) {
    String retval = "";
    switch(javaSQLTypeID) {
        case java.sql.Types.BIGINT:
        case java.sql.Types.INTEGER:
        case java.sql.Types.SMALLINT:
        case java.sql.Types.TINYINT:
            retval = "BIGINT";
            break;
        case java.sql.Types.DOUBLE:
        case java.sql.Types.FLOAT:
        case java.sql.Types.REAL:
            retval = "FLOAT";
            break;
        case java.sql.Types.DECIMAL:
        case java.sql.Types.NUMERIC:
            retval = "NUMERIC";
            break;
        case java.sql.Types.DATE:
            retval = "DATE";
            break;
        case java.sql.Types.TIME:
            retval = "TIME";
            break;
        case java.sql.Types.TIMESTAMP:
            retval = "DATETIME";
            break;
        case java.sql.Types.BOOLEAN:
        case java.sql.Types.BIT:
            retval = "INTEGER";
            break;
        case java.sql.Types.VARCHAR:
        case java.sql.Types.CHAR:
            retval = "VARCHAR(255) ";
            break;
        case java.sql.Types.LONGVARCHAR:
        case java.sql.Types.CLOB:
            retval = "LONGTEXT ";
            break;
        case java.sql.Types.BINARY:
        case java.sql.Types.VARBINARY:
        case java.sql.Types.LONGVARBINARY:
        case java.sql.Types.BLOB:
            retval = "LONGBLOB";
            break;
        default:
            retval = "VARCHAR(255) ";
            break;
    }
    return retval;
}
Example 71
Project: craken-master  File: SingleColumn.java View source code
public int setMeta(ReadNode node, int index, RowSetMetaData meta, Map<Class, Integer> mapping) throws SQLException {
    meta.setColumnName(index, getLabel());
    meta.setColumnLabel(index, getLabel());
    Object value = getValue(node);
    meta.setColumnType(index, value == null ? Types.OTHER : mapping.get(value.getClass()));
    meta.setColumnTypeName(index, value == null ? "other" : value.getClass().getName());
    return 0;
}
Example 72
Project: jdbi-master  File: Call.java View source code
public Object map(CallableStatement stmt) {
    try {
        if (mapper != null) {
            return mapper.map(position, stmt);
        }
        switch(sqlType) {
            case Types.CLOB:
            case Types.VARCHAR:
            case Types.LONGNVARCHAR:
            case Types.LONGVARCHAR:
            case Types.NCLOB:
            case Types.NVARCHAR:
                return stmt.getString(position);
            case Types.BLOB:
            case Types.VARBINARY:
                return stmt.getBytes(position);
            case Types.SMALLINT:
                return stmt.getShort(position);
            case Types.INTEGER:
                return stmt.getInt(position);
            case Types.BIGINT:
                return stmt.getLong(position);
            case Types.TIMESTAMP:
            case Types.TIME:
                return stmt.getTimestamp(position);
            case Types.DATE:
                return stmt.getDate(position);
            case Types.FLOAT:
                return stmt.getFloat(position);
            case Types.DECIMAL:
            case Types.DOUBLE:
                return stmt.getDouble(position);
            default:
                return stmt.getObject(position);
        }
    } catch (SQLException e) {
        throw new UnableToExecuteStatementException("Could not get OUT parameter from statement", e, getContext());
    }
}
Example 73
Project: jolie-dbus-master  File: DatabaseService.java View source code
private static void setValue(Value fieldValue, ResultSet result, int columnType, int index) throws SQLException {
    switch(columnType) {
        case java.sql.Types.INTEGER:
        case java.sql.Types.SMALLINT:
        case java.sql.Types.TINYINT:
            fieldValue.setValue(result.getInt(index));
            break;
        case java.sql.Types.BIGINT:
            // TODO: to be changed when getting support for Long in Jolie.
            fieldValue.setValue(result.getInt(index));
            break;
        case java.sql.Types.DOUBLE:
            fieldValue.setValue(result.getDouble(index));
            break;
        case java.sql.Types.DECIMAL:
            {
                BigDecimal dec = result.getBigDecimal(index);
                if (dec == null) {
                    fieldValue.setValue(0);
                } else {
                    if (dec.scale() <= 0) {
                        // May lose information.
                        // Pay some attention to this when Long becomes supported by JOLIE.
                        fieldValue.setValue(dec.intValue());
                    } else if (dec.scale() > 0) {
                        fieldValue.setValue(dec.doubleValue());
                    }
                }
            }
            break;
        case java.sql.Types.FLOAT:
            fieldValue.setValue(result.getFloat(index));
            break;
        case java.sql.Types.BLOB:
            //fieldValue.setStrValue( result.getBlob( i ).toString() );
            break;
        case java.sql.Types.CLOB:
            Clob clob = result.getClob(index);
            fieldValue.setValue(clob.getSubString(0L, (int) clob.length()));
            break;
        case java.sql.Types.BINARY:
            ByteArray supportByteArray = new ByteArray(result.getBytes(index));
            fieldValue.setValue(supportByteArray);
            break;
        case java.sql.Types.VARBINARY:
            supportByteArray = new ByteArray(result.getBytes(index));
            fieldValue.setValue(supportByteArray);
            break;
        case java.sql.Types.NVARCHAR:
        case java.sql.Types.NCHAR:
        case java.sql.Types.LONGNVARCHAR:
            String s = result.getNString(index);
            if (s == null) {
                s = "";
            }
            fieldValue.setValue(s);
            break;
        case java.sql.Types.NUMERIC:
            {
                BigDecimal dec = result.getBigDecimal(index);
                if (dec == null) {
                    fieldValue.setValue(0);
                } else {
                    if (dec.scale() <= 0) {
                        // May lose information.
                        // Pay some attention to this when Long becomes supported by JOLIE.
                        fieldValue.setValue(dec.intValue());
                    } else if (dec.scale() > 0) {
                        fieldValue.setValue(dec.doubleValue());
                    }
                }
            }
            break;
        case java.sql.Types.VARCHAR:
        default:
            String str = result.getString(index);
            if (str == null) {
                str = "";
            }
            fieldValue.setValue(str);
            break;
    }
}
Example 74
Project: querydsl-master  File: ColumnMetadataTest.java View source code
@Test
public void fullyConfigured() {
    ColumnMetadata column = ColumnMetadata.named("Person").withSize(10).notNull().ofType(Types.BIGINT);
    assertEquals("Person", column.getName());
    assertTrue(column.hasJdbcType());
    assertEquals(Types.BIGINT, column.getJdbcType());
    assertTrue(column.hasSize());
    assertEquals(10, column.getSize());
    assertFalse(column.isNullable());
}
Example 75
Project: sqlpower-library-master  File: SQLServerTypeConverter.java View source code
/**
	 * Overrides the superclass's convertType method where required by
	 * SqlServer syntax.
	 */
public String convertType(int sqlType, int precision, int scale) {
    switch(sqlType) {
        case Types.SMALLINT:
            return "SMALLINT";
        case Types.INTEGER:
            return "INTEGER";
        case Types.FLOAT:
            return "REAL";
        case Types.DOUBLE:
        case Types.REAL:
            return "DOUBLE";
        case Types.NUMERIC:
            if (precision > 0 && scale > 0) {
                return "NUMERIC(" + precision + "," + scale + ")";
            } else if (precision > 0) {
                return "NUMERIC(" + precision + ")";
            } else {
                return "NUMERIC";
            }
        case Types.TIMESTAMP:
            return "DATETIME";
        default:
            return super.convertType(sqlType, precision, scale);
    }
}
Example 76
Project: test4j-master  File: DbFitDB2Environment.java View source code
private static int getSqlType(String dataType) {
    // todo:strip everything from first blank
    dataType = NormaliseTypeName(dataType);
    if (stringTypes.contains(dataType)) {
        return java.sql.Types.VARCHAR;
    }
    if (decimalTypes.contains(dataType)) {
        return java.sql.Types.NUMERIC;
    }
    if (intTypes.contains(dataType)) {
        return java.sql.Types.INTEGER;
    }
    if (floatTypes.contains(dataType)) {
        return java.sql.Types.FLOAT;
    }
    if (doubleTypes.contains(dataType)) {
        return java.sql.Types.DOUBLE;
    }
    if (longTypes.contains(dataType)) {
        return java.sql.Types.BIGINT;
    }
    if (timestampTypes.contains(dataType)) {
        return java.sql.Types.TIMESTAMP;
    }
    if (dateTypes.contains(dataType)) {
        return java.sql.Types.DATE;
    }
    throw new UnsupportedOperationException("Type " + dataType + " is not supported");
}
Example 77
Project: iris-master  File: TestOracleBuilder.java View source code
/**
     * Test a command with empty lists
     */
@Test
public void testGetCommandEmpty() {
    // Build up an access profile
    RowFilters filters = new RowFilters();
    Set<FieldName> selects = new HashSet<FieldName>();
    AccessProfile accessProfile = new AccessProfile(filters, selects);
    // Build up some column metadata.
    Map<String, Integer> map = new HashMap<String, Integer>();
    map.put("col1", java.sql.Types.VARCHAR);
    ColumnTypesMap columnTypesMap = new ColumnTypesMap(map, "col1");
    // Create the builder
    SqlBuilder builder = null;
    try {
        builder = SqlBuilderFactory.getSqlBuilder(TEST_TABLE_NAME, null, accessProfile, columnTypesMap, null, null, null, null);
    } catch (Exception e) {
        fail();
    }
    // Get the command.
    String actualCommand = builder.getCommand();
    assertEquals("SELECT * FROM \"" + TEST_TABLE_NAME + "\" ORDER BY \"col1\"", actualCommand);
}
Example 78
Project: DSpace-master  File: DSpacePostgreSQL82Dialect.java View source code
/**
     * Override is needed to properly support the CLOB on metadatavalue in Postgres and Oracle.
     *
     * @param sqlCode {@linkplain java.sql.Types JDBC type-code} for the column mapped by this type.
     * @return Descriptor for the SQL/JDBC side of a value mapping.
     */
@Override
public SqlTypeDescriptor getSqlTypeDescriptorOverride(int sqlCode) {
    SqlTypeDescriptor descriptor;
    switch(sqlCode) {
        case Types.CLOB:
            {
                descriptor = LongVarcharTypeDescriptor.INSTANCE;
                break;
            }
        default:
            {
                descriptor = super.getSqlTypeDescriptorOverride(sqlCode);
                break;
            }
    }
    return descriptor;
}
Example 79
Project: enhydrator-master  File: ResultSetToEntries.java View source code
@Override
public Row apply(ResultSet resultSet) {
    Row row = new Row();
    try {
        final ResultSetMetaData metaData = resultSet.getMetaData();
        int columnCount = metaData.getColumnCount();
        int columnIndex = 0;
        for (int i = 1; i <= columnCount; i++) {
            columnIndex++;
            //from java.sql.Types
            int columnType = metaData.getColumnType(i);
            String columnName = metaData.getColumnName(i);
            switch(columnType) {
                case Types.VARCHAR:
                case Types.CHAR:
                    row.addColumn(columnIndex, columnName, resultSet.getString(i));
                    break;
                case Types.INTEGER:
                    row.addColumn(columnIndex, columnName, resultSet.getInt(i));
                    break;
                case Types.DOUBLE:
                    row.addColumn(columnIndex, columnName, resultSet.getDouble(i));
                    break;
                case Types.BOOLEAN:
                    row.addColumn(columnIndex, columnName, resultSet.getBoolean(i));
                    break;
                case Types.FLOAT:
                    row.addColumn(columnIndex, columnName, resultSet.getFloat(i));
                    break;
                default:
                    row.addColumn(columnIndex, columnName, resultSet.getObject(i));
            }
        }
    } catch (SQLException ex) {
        throw new IllegalStateException("Problems accessing ResultSet", ex);
    }
    return row;
}
Example 80
Project: hive_blinkdb-master  File: Utils.java View source code
/**
   * Convert hive types to sql types.
   * @param type
   * @return Integer java.sql.Types values
   * @throws SQLException
   */
public static int hiveTypeToSqlType(String type) throws SQLException {
    if ("string".equalsIgnoreCase(type)) {
        return Types.VARCHAR;
    } else if ("float".equalsIgnoreCase(type)) {
        return Types.FLOAT;
    } else if ("double".equalsIgnoreCase(type)) {
        return Types.DOUBLE;
    } else if ("boolean".equalsIgnoreCase(type)) {
        return Types.BOOLEAN;
    } else if ("tinyint".equalsIgnoreCase(type)) {
        return Types.TINYINT;
    } else if ("smallint".equalsIgnoreCase(type)) {
        return Types.SMALLINT;
    } else if ("int".equalsIgnoreCase(type)) {
        return Types.INTEGER;
    } else if ("bigint".equalsIgnoreCase(type)) {
        return Types.BIGINT;
    } else if (type.startsWith("map<")) {
        return Types.VARCHAR;
    } else if (type.startsWith("array<")) {
        return Types.VARCHAR;
    } else if (type.startsWith("struct<")) {
        return Types.VARCHAR;
    }
    throw new SQLException("Unrecognized column type: " + type);
}
Example 81
Project: Hive_optimization-master  File: Utils.java View source code
/**
   * Convert hive types to sql types.
   * @param type
   * @return Integer java.sql.Types values
   * @throws SQLException
   */
public static int hiveTypeToSqlType(String type) throws SQLException {
    if ("string".equalsIgnoreCase(type)) {
        return Types.VARCHAR;
    } else if ("float".equalsIgnoreCase(type)) {
        return Types.FLOAT;
    } else if ("double".equalsIgnoreCase(type)) {
        return Types.DOUBLE;
    } else if ("boolean".equalsIgnoreCase(type)) {
        return Types.BOOLEAN;
    } else if ("tinyint".equalsIgnoreCase(type)) {
        return Types.TINYINT;
    } else if ("smallint".equalsIgnoreCase(type)) {
        return Types.SMALLINT;
    } else if ("int".equalsIgnoreCase(type)) {
        return Types.INTEGER;
    } else if ("bigint".equalsIgnoreCase(type)) {
        return Types.BIGINT;
    } else if (type.startsWith("map<")) {
        return Types.VARCHAR;
    } else if (type.startsWith("array<")) {
        return Types.VARCHAR;
    } else if (type.startsWith("struct<")) {
        return Types.VARCHAR;
    }
    throw new SQLException("Unrecognized column type: " + type);
}
Example 82
Project: jdbc4sparql-master  File: StringFunctionHandler.java View source code
@Override
public Expr handle(final Function func, final AliasInfo alias) throws SQLException {
    int i = Arrays.asList(StringFunctionHandler.STRING_FUNCTIONS).indexOf(func.getName().toUpperCase());
    if (i == -1) {
        final String s = func.getName().toUpperCase();
        if ("LEN".equals(s)) {
            i = StringFunctionHandler.LENGTH;
        } else if ("UPPER".equals(s)) {
            i = StringFunctionHandler.UCASE;
        } else if ("LOWER".equals(s)) {
            i = StringFunctionHandler.LCASE;
        }
    }
    switch(i) {
        case LENGTH:
            return handleExpr1(E_StrLength.class, func, java.sql.Types.VARCHAR, alias);
        case SUBSTRING:
            return handleSubString(func, alias);
        case UCASE:
            return handleExpr1(E_StrUpperCase.class, func, java.sql.Types.VARCHAR, alias);
        case LCASE:
            return handleExpr1(E_StrLowerCase.class, func, java.sql.Types.VARCHAR, alias);
        case REPLACE:
            return handleReplace(func, alias);
        default:
            return null;
    }
}
Example 83
Project: monitoring-master  File: Types.java View source code
static Map<Integer, String> inverse() {
    Map<Integer, String> map = new HashMap<Integer, String>();
    Field[] fields = java.sql.Types.class.getFields();
    for (Field field : fields) {
        String name = field.getName();
        try {
            Integer value = (Integer) field.get(java.sql.Types.class);
            map.put(value, name);
        } catch (IllegalAccessException ignore) {
        }
    }
    return map;
}
Example 84
Project: open-mika-master  File: TestJdbc20.java View source code
public void test(TestHarness harness) {
    harness.check(Types.JAVA_OBJECT, 2000, "JAVA_OBJECT");
    harness.check(Types.DISTINCT, 2001, "DISTINCT");
    harness.check(Types.STRUCT, 2002, "STRUCT");
    harness.check(Types.ARRAY, 2003, "ARRAY");
    harness.check(Types.BLOB, 2004, "BLOB");
    harness.check(Types.CLOB, 2005, "CLOB");
    harness.check(Types.REF, 2006, "REF");
}
Example 85
Project: pinpoint-master  File: Types.java View source code
static Map<Integer, String> inverse() {
    Map<Integer, String> map = new HashMap<Integer, String>();
    Field[] fields = java.sql.Types.class.getFields();
    for (Field field : fields) {
        String name = field.getName();
        try {
            Integer value = (Integer) field.get(java.sql.Types.class);
            map.put(value, name);
        } catch (IllegalAccessException ignore) {
        }
    }
    return map;
}
Example 86
Project: SitJar-master  File: SQLTypeHelper.java View source code
public static TABLE_ENTRY_TYPE mapSQLType(int sqlType) {
    if (sqlType == Types.INTEGER) {
        return TABLE_ENTRY_TYPE.INT;
    }
    if (sqlType == Types.BIGINT) {
        return TABLE_ENTRY_TYPE.LONG;
    }
    if (sqlType == Types.BOOLEAN || sqlType == Types.BIT) {
        return TABLE_ENTRY_TYPE.BOOLEAN;
    }
    if (sqlType == Types.FLOAT || sqlType == Types.REAL) {
        return TABLE_ENTRY_TYPE.FLOAT;
    }
    if (sqlType == Types.DOUBLE) {
        return TABLE_ENTRY_TYPE.DOUBLE;
    }
    if (sqlType == Types.CHAR || sqlType == Types.VARCHAR || sqlType == Types.LONGVARCHAR) {
        return TABLE_ENTRY_TYPE.STRING;
    }
    if (sqlType == Types.VARBINARY || sqlType == Types.BINARY || sqlType == Types.LONGVARBINARY) {
        return TABLE_ENTRY_TYPE.BYTES;
    }
    if (sqlType == Types.DATE) {
        return TABLE_ENTRY_TYPE.DATE;
    }
    if (sqlType == Types.TIMESTAMP) {
        return TABLE_ENTRY_TYPE.TIMESTAMP;
    }
    throw new RuntimeException("cannot map java.sql.Types: " + sqlType);
}
Example 87
Project: hive-master  File: Var.java View source code
/**
   * Set the new value from the result set
   */
public Var setValue(ResultSet rs, ResultSetMetaData rsm, int idx) throws SQLException {
    int type = rsm.getColumnType(idx);
    if (type == java.sql.Types.CHAR || type == java.sql.Types.VARCHAR) {
        cast(new Var(rs.getString(idx)));
    } else if (type == java.sql.Types.INTEGER || type == java.sql.Types.BIGINT || type == java.sql.Types.SMALLINT || type == java.sql.Types.TINYINT) {
        cast(new Var(new Long(rs.getLong(idx))));
    } else if (type == java.sql.Types.DECIMAL || type == java.sql.Types.NUMERIC) {
        cast(new Var(rs.getBigDecimal(idx)));
    } else if (type == java.sql.Types.FLOAT || type == java.sql.Types.DOUBLE) {
        cast(new Var(new Double(rs.getDouble(idx))));
    }
    return this;
}
Example 88
Project: classlib6-master  File: WebRowSetXmlWriter.java View source code
private void writeValue(int idx, RowSet caller) throws java.io.IOException {
    try {
        int type = caller.getMetaData().getColumnType(idx);
        switch(type) {
            case java.sql.Types.BIT:
            case java.sql.Types.BOOLEAN:
                boolean b = caller.getBoolean(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeBoolean(b);
                break;
            case java.sql.Types.TINYINT:
            case java.sql.Types.SMALLINT:
                short s = caller.getShort(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeShort(s);
                break;
            case java.sql.Types.INTEGER:
                int i = caller.getInt(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeInteger(caller.getInt(idx));
                break;
            case java.sql.Types.BIGINT:
                long l = caller.getLong(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(l);
                break;
            case java.sql.Types.REAL:
            case java.sql.Types.FLOAT:
                float f = caller.getFloat(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeFloat(f);
                break;
            case java.sql.Types.DOUBLE:
                double d = caller.getDouble(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeDouble(d);
                break;
            case java.sql.Types.NUMERIC:
            case java.sql.Types.DECIMAL:
                writeBigDecimal(caller.getBigDecimal(idx));
                break;
            case java.sql.Types.BINARY:
            case java.sql.Types.VARBINARY:
            case java.sql.Types.LONGVARBINARY:
                break;
            case java.sql.Types.DATE:
                java.sql.Date date = caller.getDate(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(date.getTime());
                break;
            case java.sql.Types.TIME:
                java.sql.Time time = caller.getTime(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(time.getTime());
                break;
            case java.sql.Types.TIMESTAMP:
                java.sql.Timestamp ts = caller.getTimestamp(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(ts.getTime());
                break;
            case java.sql.Types.CHAR:
            case java.sql.Types.VARCHAR:
            case java.sql.Types.LONGVARCHAR:
                writeStringData(caller.getString(idx));
                break;
            default:
                System.out.println(resBundle.handleGetObject("wsrxmlwriter.notproper").toString());
        }
    } catch (SQLException ex) {
        throw new java.io.IOException(resBundle.handleGetObject("wrsxmlwriter.failedwrite").toString() + ex.getMessage());
    }
}
Example 89
Project: Cynthia-master  File: TimerAccessSessionMySQL.java View source code
/**
	 * @description:add timer to db
	 * @date:2014-5-6 下�5:57:54
	 * @version:v1.0
	 * @param timer
	 * @return
	 */
public ErrorCode addTimer(Timer timer) {
    Connection conn = null;
    PreparedStatement pstm = null;
    try {
        conn = DbPoolConnection.getInstance().getConnection();
        pstm = conn.prepareStatement("INSERT INTO timer" + " SET id = ?" + ", name = ?" + ", create_user = ?" + ", create_time = ?" + ", action_id = ?" + ", action_param = ?" + ", year = ?" + ", month = ?" + ", week = ?" + ", day = ?" + ", hour = ?" + ", minute = ?" + ", second = ?" + ", filter_id = ?" + ", statisticer_id = ?" + ", is_start = ?" + ", retry_account = ?" + ", retry_delay = ?" + ", is_send_null = ?");
        pstm.setLong(1, Long.parseLong(timer.getId().getValue()));
        pstm.setString(2, timer.getName());
        pstm.setString(3, timer.getCreateUser());
        pstm.setTimestamp(4, timer.getCreateTime());
        pstm.setLong(5, Long.parseLong(timer.getActionId().getValue()));
        if (timer.getActionParam() != null)
            pstm.setString(6, timer.getActionParam());
        else
            pstm.setNull(6, java.sql.Types.NULL);
        if (timer.getYear() != null)
            pstm.setString(7, timer.getYear());
        else
            pstm.setNull(7, java.sql.Types.NULL);
        if (timer.getMonth() != null)
            pstm.setString(8, timer.getMonth());
        else
            pstm.setNull(8, java.sql.Types.NULL);
        if (timer.getWeek() != null)
            pstm.setString(9, timer.getWeek());
        else
            pstm.setNull(9, java.sql.Types.NULL);
        if (timer.getDay() != null)
            pstm.setString(10, timer.getDay());
        else
            pstm.setNull(10, java.sql.Types.NULL);
        if (timer.getHour() != null)
            pstm.setString(11, timer.getHour());
        else
            pstm.setNull(11, java.sql.Types.NULL);
        if (timer.getMinute() != null)
            pstm.setString(12, timer.getMinute());
        else
            pstm.setNull(12, java.sql.Types.NULL);
        if (timer.getSecond() != null)
            pstm.setString(13, timer.getSecond());
        else
            pstm.setNull(13, java.sql.Types.NULL);
        if (timer.getFilterId() != null)
            pstm.setLong(14, Long.parseLong(timer.getFilterId().getValue()));
        else
            pstm.setNull(14, java.sql.Types.NULL);
        if (timer.getStatisticerId() != null)
            pstm.setLong(15, Long.parseLong(timer.getStatisticerId().getValue()));
        else
            pstm.setNull(15, java.sql.Types.NULL);
        pstm.setBoolean(16, timer.isStart());
        pstm.setLong(17, timer.getRetryAccount());
        pstm.setLong(18, timer.getRetryDelay());
        pstm.setBoolean(19, timer.isSendNull());
        if (pstm.executeUpdate() > 0)
            return ErrorCode.success;
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        DbPoolConnection.getInstance().closeAll(pstm, conn);
    }
    return ErrorCode.dbFail;
}
Example 90
Project: ikvm-openjdk-master  File: WebRowSetXmlWriter.java View source code
private void writeValue(int idx, RowSet caller) throws java.io.IOException {
    try {
        int type = caller.getMetaData().getColumnType(idx);
        switch(type) {
            case java.sql.Types.BIT:
            case java.sql.Types.BOOLEAN:
                boolean b = caller.getBoolean(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeBoolean(b);
                break;
            case java.sql.Types.TINYINT:
            case java.sql.Types.SMALLINT:
                short s = caller.getShort(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeShort(s);
                break;
            case java.sql.Types.INTEGER:
                int i = caller.getInt(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeInteger(caller.getInt(idx));
                break;
            case java.sql.Types.BIGINT:
                long l = caller.getLong(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(l);
                break;
            case java.sql.Types.REAL:
            case java.sql.Types.FLOAT:
                float f = caller.getFloat(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeFloat(f);
                break;
            case java.sql.Types.DOUBLE:
                double d = caller.getDouble(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeDouble(d);
                break;
            case java.sql.Types.NUMERIC:
            case java.sql.Types.DECIMAL:
                writeBigDecimal(caller.getBigDecimal(idx));
                break;
            case java.sql.Types.BINARY:
            case java.sql.Types.VARBINARY:
            case java.sql.Types.LONGVARBINARY:
                break;
            case java.sql.Types.DATE:
                java.sql.Date date = caller.getDate(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(date.getTime());
                break;
            case java.sql.Types.TIME:
                java.sql.Time time = caller.getTime(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(time.getTime());
                break;
            case java.sql.Types.TIMESTAMP:
                java.sql.Timestamp ts = caller.getTimestamp(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(ts.getTime());
                break;
            case java.sql.Types.CHAR:
            case java.sql.Types.VARCHAR:
            case java.sql.Types.LONGVARCHAR:
                writeStringData(caller.getString(idx));
                break;
            default:
                System.out.println(resBundle.handleGetObject("wsrxmlwriter.notproper").toString());
        }
    } catch (SQLException ex) {
        throw new java.io.IOException(resBundle.handleGetObject("wrsxmlwriter.failedwrite").toString() + ex.getMessage());
    }
}
Example 91
Project: JBossAS51-master  File: JDBCMappingMetaData.java View source code
/**
    * Gets the JDBC type constant int for the name. The mapping from name to jdbc
    * type is contained in java.sql.Types.
    *
    * @param name the name for the jdbc type
    * @return the int type constant from java.sql.Types
    * @see java.sql.Types
    */
public static int getJdbcTypeFromName(String name) throws DeploymentException {
    if (name == null) {
        throw new DeploymentException("jdbc-type cannot be null");
    }
    try {
        Integer constant = (Integer) Types.class.getField(name).get(null);
        return constant.intValue();
    } catch (Exception e) {
        log.warn("Unrecognized jdbc-type: " + name + ", using Types.OTHER", e);
        return Types.OTHER;
    }
}
Example 92
Project: JBossAS_5_1_EDG-master  File: JDBCMappingMetaData.java View source code
/**
    * Gets the JDBC type constant int for the name. The mapping from name to jdbc
    * type is contained in java.sql.Types.
    *
    * @param name the name for the jdbc type
    * @return the int type constant from java.sql.Types
    * @see java.sql.Types
    */
public static int getJdbcTypeFromName(String name) throws DeploymentException {
    if (name == null) {
        throw new DeploymentException("jdbc-type cannot be null");
    }
    try {
        Integer constant = (Integer) Types.class.getField(name).get(null);
        return constant.intValue();
    } catch (Exception e) {
        log.warn("Unrecognized jdbc-type: " + name + ", using Types.OTHER", e);
        return Types.OTHER;
    }
}
Example 93
Project: jdk7u-jdk-master  File: WebRowSetXmlWriter.java View source code
private void writeValue(int idx, RowSet caller) throws java.io.IOException {
    try {
        int type = caller.getMetaData().getColumnType(idx);
        switch(type) {
            case java.sql.Types.BIT:
            case java.sql.Types.BOOLEAN:
                boolean b = caller.getBoolean(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeBoolean(b);
                break;
            case java.sql.Types.TINYINT:
            case java.sql.Types.SMALLINT:
                short s = caller.getShort(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeShort(s);
                break;
            case java.sql.Types.INTEGER:
                int i = caller.getInt(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeInteger(i);
                break;
            case java.sql.Types.BIGINT:
                long l = caller.getLong(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(l);
                break;
            case java.sql.Types.REAL:
            case java.sql.Types.FLOAT:
                float f = caller.getFloat(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeFloat(f);
                break;
            case java.sql.Types.DOUBLE:
                double d = caller.getDouble(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeDouble(d);
                break;
            case java.sql.Types.NUMERIC:
            case java.sql.Types.DECIMAL:
                writeBigDecimal(caller.getBigDecimal(idx));
                break;
            case java.sql.Types.BINARY:
            case java.sql.Types.VARBINARY:
            case java.sql.Types.LONGVARBINARY:
                break;
            case java.sql.Types.DATE:
                java.sql.Date date = caller.getDate(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(date.getTime());
                break;
            case java.sql.Types.TIME:
                java.sql.Time time = caller.getTime(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(time.getTime());
                break;
            case java.sql.Types.TIMESTAMP:
                java.sql.Timestamp ts = caller.getTimestamp(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(ts.getTime());
                break;
            case java.sql.Types.CHAR:
            case java.sql.Types.VARCHAR:
            case java.sql.Types.LONGVARCHAR:
                writeStringData(caller.getString(idx));
                break;
            default:
                System.out.println(resBundle.handleGetObject("wsrxmlwriter.notproper").toString());
        }
    } catch (SQLException ex) {
        throw new java.io.IOException(resBundle.handleGetObject("wrsxmlwriter.failedwrite").toString() + ex.getMessage());
    }
}
Example 94
Project: ManagedRuntimeInitiative-master  File: WebRowSetXmlWriter.java View source code
private void writeValue(int idx, RowSet caller) throws java.io.IOException {
    try {
        int type = caller.getMetaData().getColumnType(idx);
        switch(type) {
            case java.sql.Types.BIT:
            case java.sql.Types.BOOLEAN:
                boolean b = caller.getBoolean(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeBoolean(b);
                break;
            case java.sql.Types.TINYINT:
            case java.sql.Types.SMALLINT:
                short s = caller.getShort(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeShort(s);
                break;
            case java.sql.Types.INTEGER:
                int i = caller.getInt(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeInteger(caller.getInt(idx));
                break;
            case java.sql.Types.BIGINT:
                long l = caller.getLong(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(l);
                break;
            case java.sql.Types.REAL:
            case java.sql.Types.FLOAT:
                float f = caller.getFloat(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeFloat(f);
                break;
            case java.sql.Types.DOUBLE:
                double d = caller.getDouble(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeDouble(d);
                break;
            case java.sql.Types.NUMERIC:
            case java.sql.Types.DECIMAL:
                writeBigDecimal(caller.getBigDecimal(idx));
                break;
            case java.sql.Types.BINARY:
            case java.sql.Types.VARBINARY:
            case java.sql.Types.LONGVARBINARY:
                break;
            case java.sql.Types.DATE:
                java.sql.Date date = caller.getDate(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(date.getTime());
                break;
            case java.sql.Types.TIME:
                java.sql.Time time = caller.getTime(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(time.getTime());
                break;
            case java.sql.Types.TIMESTAMP:
                java.sql.Timestamp ts = caller.getTimestamp(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(ts.getTime());
                break;
            case java.sql.Types.CHAR:
            case java.sql.Types.VARCHAR:
            case java.sql.Types.LONGVARCHAR:
                writeStringData(caller.getString(idx));
                break;
            default:
                System.out.println(resBundle.handleGetObject("wsrxmlwriter.notproper").toString());
        }
    } catch (SQLException ex) {
        throw new java.io.IOException(resBundle.handleGetObject("wrsxmlwriter.failedwrite").toString() + ex.getMessage());
    }
}
Example 95
Project: migration-tools-master  File: MSSQLServerDialect.java View source code
@Override
protected void initJdbcTypes() {
    super.initJdbcTypes();
    addJdbcTypeAlias(Types.LONGVARBINARY, "IMAGE", BLOB);
    addJdbcTypeAlias(Types.LONGVARCHAR, "TEXT", CLOB);
    addJdbcTypeAlias(Types.LONGNVARCHAR, "XML", CLOB);
    addJdbcTypeAlias(DATETIMEOFFSET_CODE, DATETIMEOFFSET_NAME, TIMESTAMP);
    /**
         * Add the jdbc type alias mapping between 'ntext' and 'clob' with 
         * type code -16
         */
    addJdbcTypeAlias(NTEXT_CODE, NTEXT_NAME, CLOB);
    /**
          * Add the jdbc type alias mapping between MSSQL UNIQUEIDENTIFIER and VARCHAR with 
          * type code as 1
          */
    addJdbcTypeAlias(UNIQUEIDENTIFIER_CODE, UNIQUEIDENTIFIER_NAME, VARCHAR);
}
Example 96
Project: obiba-commons-master  File: VersionTableInstallStep.java View source code
private CreateTableChange doBuildCreateVersionTableChange() {
    CreateTableChange createVersionTable = new CreateTableChange();
    createVersionTable.setTableName(TABLE_NAME);
    createVersionTable.addColumn(createColumn("major", "java.sql.Types.INTEGER", false));
    createVersionTable.addColumn(createColumn("minor", "java.sql.Types.INTEGER", false));
    createVersionTable.addColumn(createColumn("micro", "java.sql.Types.INTEGER", false));
    createVersionTable.addColumn(createColumn("qualifier", "java.sql.Types.VARCHAR(50)", true));
    createVersionTable.addColumn(createColumn("version_string", "java.sql.Types.VARCHAR(50)", false));
    return createVersionTable;
}
Example 97
Project: openjdk-master  File: WebRowSetXmlWriter.java View source code
private void writeValue(int idx, RowSet caller) throws java.io.IOException {
    try {
        int type = caller.getMetaData().getColumnType(idx);
        switch(type) {
            case java.sql.Types.BIT:
            case java.sql.Types.BOOLEAN:
                boolean b = caller.getBoolean(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeBoolean(b);
                break;
            case java.sql.Types.TINYINT:
            case java.sql.Types.SMALLINT:
                short s = caller.getShort(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeShort(s);
                break;
            case java.sql.Types.INTEGER:
                int i = caller.getInt(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeInteger(i);
                break;
            case java.sql.Types.BIGINT:
                long l = caller.getLong(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(l);
                break;
            case java.sql.Types.REAL:
            case java.sql.Types.FLOAT:
                float f = caller.getFloat(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeFloat(f);
                break;
            case java.sql.Types.DOUBLE:
                double d = caller.getDouble(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeDouble(d);
                break;
            case java.sql.Types.NUMERIC:
            case java.sql.Types.DECIMAL:
                writeBigDecimal(caller.getBigDecimal(idx));
                break;
            case java.sql.Types.BINARY:
            case java.sql.Types.VARBINARY:
            case java.sql.Types.LONGVARBINARY:
                break;
            case java.sql.Types.DATE:
                java.sql.Date date = caller.getDate(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(date.getTime());
                break;
            case java.sql.Types.TIME:
                java.sql.Time time = caller.getTime(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(time.getTime());
                break;
            case java.sql.Types.TIMESTAMP:
                java.sql.Timestamp ts = caller.getTimestamp(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(ts.getTime());
                break;
            case java.sql.Types.CHAR:
            case java.sql.Types.VARCHAR:
            case java.sql.Types.LONGVARCHAR:
                writeStringData(caller.getString(idx));
                break;
            default:
                System.out.println(resBundle.handleGetObject("wsrxmlwriter.notproper").toString());
        }
    } catch (SQLException ex) {
        throw new java.io.IOException(resBundle.handleGetObject("wrsxmlwriter.failedwrite").toString() + ex.getMessage());
    }
}
Example 98
Project: openjdk8-jdk-master  File: WebRowSetXmlWriter.java View source code
private void writeValue(int idx, RowSet caller) throws java.io.IOException {
    try {
        int type = caller.getMetaData().getColumnType(idx);
        switch(type) {
            case java.sql.Types.BIT:
            case java.sql.Types.BOOLEAN:
                boolean b = caller.getBoolean(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeBoolean(b);
                break;
            case java.sql.Types.TINYINT:
            case java.sql.Types.SMALLINT:
                short s = caller.getShort(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeShort(s);
                break;
            case java.sql.Types.INTEGER:
                int i = caller.getInt(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeInteger(i);
                break;
            case java.sql.Types.BIGINT:
                long l = caller.getLong(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(l);
                break;
            case java.sql.Types.REAL:
            case java.sql.Types.FLOAT:
                float f = caller.getFloat(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeFloat(f);
                break;
            case java.sql.Types.DOUBLE:
                double d = caller.getDouble(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeDouble(d);
                break;
            case java.sql.Types.NUMERIC:
            case java.sql.Types.DECIMAL:
                writeBigDecimal(caller.getBigDecimal(idx));
                break;
            case java.sql.Types.BINARY:
            case java.sql.Types.VARBINARY:
            case java.sql.Types.LONGVARBINARY:
                break;
            case java.sql.Types.DATE:
                java.sql.Date date = caller.getDate(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(date.getTime());
                break;
            case java.sql.Types.TIME:
                java.sql.Time time = caller.getTime(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(time.getTime());
                break;
            case java.sql.Types.TIMESTAMP:
                java.sql.Timestamp ts = caller.getTimestamp(idx);
                if (caller.wasNull())
                    writeNull();
                else
                    writeLong(ts.getTime());
                break;
            case java.sql.Types.CHAR:
            case java.sql.Types.VARCHAR:
            case java.sql.Types.LONGVARCHAR:
                writeStringData(caller.getString(idx));
                break;
            default:
                System.out.println(resBundle.handleGetObject("wsrxmlwriter.notproper").toString());
        }
    } catch (SQLException ex) {
        throw new java.io.IOException(resBundle.handleGetObject("wrsxmlwriter.failedwrite").toString() + ex.getMessage());
    }
}
Example 99
Project: identityconnectors-master  File: SecuringAttributesOperations.java View source code
/**
     *  // PROCEDURE CREATE_USER_SEC_ATTR
        // Argument Name           Type            In/Out Default?
        // ------------------------------ ----------------------- ------ --------
        P_API_VERSION_NUMBER        NUMBER          IN
        P_INIT_MSG_LIST     VARCHAR2        IN     DEFAULT
        P_SIMULATE          VARCHAR2        IN     DEFAULT
        P_COMMIT            VARCHAR2        IN     DEFAULT
        P_VALIDATION_LEVEL      NUMBER          IN     DEFAULT
        P_RETURN_STATUS     VARCHAR2        OUT
        P_MSG_COUNT         NUMBER          OUT
        P_MSG_DATA          VARCHAR2        OUT
        P_WEB_USER_ID           NUMBER          IN
        P_ATTRIBUTE_CODE        VARCHAR2        IN
        P_ATTRIBUTE_APPL_ID     NUMBER          IN
        P_VARCHAR2_VALUE        VARCHAR2        IN
        P_DATE_VALUE            DATE            IN
        P_NUMBER_VALUE      NUMBER          IN
        P_CREATED_BY            NUMBER          IN
        P_CREATION_DATE     DATE            IN
        P_LAST_UPDATED_BY       NUMBER          IN
        P_LAST_UPDATE_DATE      DATE            IN
        P_LAST_UPDATE_LOGIN     NUMBER          IN
    */
private void addSecuringAttr(String userId, String secAttr) {
    final String method = "addUserSecuringAttrs";
    log.ok(method);
    String attributeName = null;
    String applicationName = null;
    String value = null;
    StringTokenizer tok = new StringTokenizer(secAttr, "||", false);
    if ((tok != null) && (tok.countTokens() == 3)) {
        attributeName = tok.nextToken();
        if (attributeName != null) {
            attributeName = attributeName.trim();
        }
        applicationName = tok.nextToken();
        if (applicationName != null) {
            applicationName = applicationName.trim();
        }
        value = tok.nextToken();
        if (value != null) {
            value = value.trim();
        }
    } else {
        final String msg1 = getCfg().getMessage(MSG_INVALID_SECURING_ATTRIBUTE, secAttr);
        log.error(msg1);
        throw new ConnectorException(msg1);
    }
    int intUserId = new Integer(userId).intValue();
    // SQL query on all users, result
    ResultSet rs = null;
    // statement that generates the query
    PreparedStatement pstmt = null;
    CallableStatement cstmt1 = null;
    try {
        // get attribute_code and attribute_appl_id
        // also need to get type of data value
        String attributeCode = null;
        String strAttrApplId = null;
        String dataType = null;
        String sqlSelect = "select distinct akattr.ATTRIBUTE_APPLICATION_ID," + " akattr.ATTRIBUTE_CODE, akattr.DATA_TYPE FROM FND_APPLICATION_VL fndapplvl," + " AK_ATTRIBUTES_VL akattrvl, AK_ATTRIBUTES akattr WHERE akattrvl.NAME = ?" + " AND fndapplvl.application_name = ? AND akattrvl.attribute_code = akattr.attribute_code " + " AND akattr.ATTRIBUTE_APPLICATION_ID = fndapplvl.application_id";
        pstmt = getConn().prepareStatement(sqlSelect);
        pstmt.setString(1, attributeName);
        pstmt.setString(2, applicationName);
        rs = pstmt.executeQuery();
        if (rs != null) {
            if (rs.next()) {
                strAttrApplId = rs.getString(1);
                attributeCode = rs.getString(2);
                dataType = rs.getString(3);
            }
        // rs closed in finally below
        }
        // pstmt closed in finally below
        final String sqlCall = "{ call " + getCfg().app() + "icx_user_sec_attr_pub.create_user_sec_attr(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }";
        cstmt1 = getConn().prepareCall(sqlCall);
        cstmt1.setInt(1, 1);
        cstmt1.setNull(2, java.sql.Types.VARCHAR);
        cstmt1.setNull(3, java.sql.Types.VARCHAR);
        cstmt1.setNull(4, java.sql.Types.VARCHAR);
        cstmt1.setNull(5, java.sql.Types.NUMERIC);
        // return_status
        cstmt1.registerOutParameter(6, java.sql.Types.VARCHAR);
        //msg_count
        cstmt1.registerOutParameter(7, java.sql.Types.NUMERIC);
        //msg_data
        cstmt1.registerOutParameter(8, java.sql.Types.VARCHAR);
        cstmt1.setInt(9, intUserId);
        cstmt1.setString(10, attributeCode);
        int attrApplId = 0;
        if (strAttrApplId != null) {
            attrApplId = new Integer(strAttrApplId).intValue();
        }
        cstmt1.setInt(11, attrApplId);
        if ("VARCHAR2".equalsIgnoreCase(dataType)) {
            cstmt1.setString(12, value);
        } else {
            cstmt1.setNull(12, Types.VARCHAR);
        }
        if ("DATE".equalsIgnoreCase(dataType)) {
            cstmt1.setTimestamp(13, java.sql.Timestamp.valueOf(value));
        } else {
            cstmt1.setNull(13, java.sql.Types.DATE);
        }
        if ("NUMBER".equalsIgnoreCase(dataType)) {
            if (value != null) {
                int intValue = new Integer(value).intValue();
                cstmt1.setInt(14, intValue);
            }
        } else {
            cstmt1.setNull(14, java.sql.Types.NUMERIC);
        }
        cstmt1.setInt(15, getCfg().getAdminUserId());
        java.sql.Date sqlDate = getCurrentDate();
        cstmt1.setDate(16, sqlDate);
        cstmt1.setInt(17, getCfg().getAdminUserId());
        cstmt1.setDate(18, sqlDate);
        cstmt1.setInt(19, getCfg().getAdminUserId());
        cstmt1.execute();
        // cstmt1 closed in finally below
        log.ok(method + " done");
    } catch (Exception ex) {
        final String msg1 = getCfg().getMessage(MSG_COULD_NOT_EXECUTE, ex.getMessage());
        log.error(ex, msg1);
        SQLUtil.rollbackQuietly(getConn());
        throw new ConnectorException(msg1, ex);
    } finally {
        SQLUtil.closeQuietly(rs);
        rs = null;
        SQLUtil.closeQuietly(pstmt);
        pstmt = null;
        SQLUtil.closeQuietly(cstmt1);
        cstmt1 = null;
    }
}
Example 100
Project: openicf-master  File: SecuringAttributesOperations.java View source code
/**
     * // PROCEDURE CREATE_USER_SEC_ATTR // Argument Name Type In/Out Default?
     * // ------------------------------ ----------------------- ------ --------
     * P_API_VERSION_NUMBER NUMBER IN P_INIT_MSG_LIST VARCHAR2 IN DEFAULT
     * P_SIMULATE VARCHAR2 IN DEFAULT P_COMMIT VARCHAR2 IN DEFAULT
     * P_VALIDATION_LEVEL NUMBER IN DEFAULT P_RETURN_STATUS VARCHAR2 OUT
     * P_MSG_COUNT NUMBER OUT P_MSG_DATA VARCHAR2 OUT P_WEB_USER_ID NUMBER IN
     * P_ATTRIBUTE_CODE VARCHAR2 IN P_ATTRIBUTE_APPL_ID NUMBER IN
     * P_VARCHAR2_VALUE VARCHAR2 IN P_DATE_VALUE DATE IN P_NUMBER_VALUE NUMBER
     * IN P_CREATED_BY NUMBER IN P_CREATION_DATE DATE IN P_LAST_UPDATED_BY
     * NUMBER IN P_LAST_UPDATE_DATE DATE IN P_LAST_UPDATE_LOGIN NUMBER IN
     */
private void addSecuringAttr(String userId, String secAttr) {
    final String method = "addUserSecuringAttrs";
    LOG.ok(method);
    String attributeName = null;
    String applicationName = null;
    String value = null;
    StringTokenizer tok = new StringTokenizer(secAttr, "||", false);
    if ((tok != null) && (tok.countTokens() == 3)) {
        attributeName = tok.nextToken();
        if (attributeName != null) {
            attributeName = attributeName.trim();
        }
        applicationName = tok.nextToken();
        if (applicationName != null) {
            applicationName = applicationName.trim();
        }
        value = tok.nextToken();
        if (value != null) {
            value = value.trim();
        }
    } else {
        final String msg1 = getCfg().getMessage(MSG_INVALID_SECURING_ATTRIBUTE, secAttr);
        LOG.error(msg1);
        throw new ConnectorException(msg1);
    }
    int intUserId = new Integer(userId).intValue();
    // SQL query on all users, result
    ResultSet rs = null;
    // statement that generates the query
    PreparedStatement pstmt = null;
    CallableStatement cstmt1 = null;
    try {
        // get attribute_code and attribute_appl_id
        // also need to get type of data value
        String attributeCode = null;
        String strAttrApplId = null;
        String dataType = null;
        String sqlSelect = "select distinct akattr.ATTRIBUTE_APPLICATION_ID," + " akattr.ATTRIBUTE_CODE, akattr.DATA_TYPE FROM FND_APPLICATION_VL fndapplvl," + " AK_ATTRIBUTES_VL akattrvl, AK_ATTRIBUTES akattr WHERE akattrvl.NAME = ?" + " AND fndapplvl.application_name = ? AND akattrvl.attribute_code = akattr.attribute_code " + " AND akattr.ATTRIBUTE_APPLICATION_ID = fndapplvl.application_id";
        pstmt = getConn().prepareStatement(sqlSelect);
        pstmt.setString(1, attributeName);
        pstmt.setString(2, applicationName);
        rs = pstmt.executeQuery();
        if (rs != null) {
            if (rs.next()) {
                strAttrApplId = rs.getString(1);
                attributeCode = rs.getString(2);
                dataType = rs.getString(3);
            }
        // rs closed in finally below
        }
        // pstmt closed in finally below
        final String sqlCall = "{ call " + getCfg().app() + "icx_user_sec_attr_pub.create_user_sec_attr(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }";
        cstmt1 = getConn().prepareCall(sqlCall);
        cstmt1.setInt(1, 1);
        cstmt1.setNull(2, java.sql.Types.VARCHAR);
        cstmt1.setNull(3, java.sql.Types.VARCHAR);
        cstmt1.setNull(4, java.sql.Types.VARCHAR);
        cstmt1.setNull(5, java.sql.Types.NUMERIC);
        // return_status
        cstmt1.registerOutParameter(6, java.sql.Types.VARCHAR);
        // msg_count
        cstmt1.registerOutParameter(7, java.sql.Types.NUMERIC);
        // msg_data
        cstmt1.registerOutParameter(8, java.sql.Types.VARCHAR);
        cstmt1.setInt(9, intUserId);
        cstmt1.setString(10, attributeCode);
        int attrApplId = 0;
        if (strAttrApplId != null) {
            attrApplId = new Integer(strAttrApplId).intValue();
        }
        cstmt1.setInt(11, attrApplId);
        if ("VARCHAR2".equalsIgnoreCase(dataType)) {
            cstmt1.setString(12, value);
        } else {
            cstmt1.setNull(12, Types.VARCHAR);
        }
        if ("DATE".equalsIgnoreCase(dataType)) {
            cstmt1.setTimestamp(13, java.sql.Timestamp.valueOf(value));
        } else {
            cstmt1.setNull(13, java.sql.Types.DATE);
        }
        if ("NUMBER".equalsIgnoreCase(dataType)) {
            if (value != null) {
                int intValue = new Integer(value).intValue();
                cstmt1.setInt(14, intValue);
            }
        } else {
            cstmt1.setNull(14, java.sql.Types.NUMERIC);
        }
        cstmt1.setInt(15, getCfg().getAdminUserId());
        java.sql.Date sqlDate = getCurrentDate();
        cstmt1.setDate(16, sqlDate);
        cstmt1.setInt(17, getCfg().getAdminUserId());
        cstmt1.setDate(18, sqlDate);
        cstmt1.setInt(19, getCfg().getAdminUserId());
        cstmt1.execute();
        // cstmt1 closed in finally below
        LOG.ok(method + " done");
    } catch (Exception ex) {
        final String msg1 = getCfg().getMessage(MSG_COULD_NOT_EXECUTE, ex.getMessage());
        LOG.error(ex, msg1);
        SQLUtil.rollbackQuietly(getConn());
        throw new ConnectorException(msg1, ex);
    } finally {
        SQLUtil.closeQuietly(rs);
        rs = null;
        SQLUtil.closeQuietly(pstmt);
        pstmt = null;
        SQLUtil.closeQuietly(cstmt1);
        cstmt1 = null;
    }
}
Example 101
Project: agile4techos-master  File: CallableStatementRegressionTest.java View source code
/**
	 * Tests fix for BUG#9319 -- Stored procedures with same name in different
	 * databases confuse the driver when it tries to determine parameter
	 * counts/types.
	 * 
	 * @throws Exception
	 *             if the test fails
	 */
public void testBug9319() throws Exception {
    if (!serverSupportsStoredProcedures()) {
        return;
    }
    // SELECT currently causes the server to
    boolean doASelect = true;
    if (isAdminConnectionConfigured()) {
        Connection db2Connection = null;
        Connection db1Connection = null;
        try {
            db2Connection = getAdminConnection();
            db1Connection = getAdminConnection();
            db2Connection.createStatement().executeUpdate("CREATE DATABASE IF NOT EXISTS db_9319_2");
            db2Connection.setCatalog("db_9319_2");
            db2Connection.createStatement().executeUpdate("DROP PROCEDURE IF EXISTS COMPROVAR_USUARI");
            db2Connection.createStatement().executeUpdate("CREATE PROCEDURE COMPROVAR_USUARI(IN p_CodiUsuari VARCHAR(10)," + "\nIN p_contrasenya VARCHAR(10)," + "\nOUT p_userId INTEGER," + "\nOUT p_userName VARCHAR(30)," + "\nOUT p_administrador VARCHAR(1)," + "\nOUT p_idioma VARCHAR(2))" + "\nBEGIN" + (doASelect ? "\nselect 2;" : "\nSELECT 2 INTO p_administrador;") + "\nEND");
            db1Connection.createStatement().executeUpdate("CREATE DATABASE IF NOT EXISTS db_9319_1");
            db1Connection.setCatalog("db_9319_1");
            db1Connection.createStatement().executeUpdate("DROP PROCEDURE IF EXISTS COMPROVAR_USUARI");
            db1Connection.createStatement().executeUpdate("CREATE PROCEDURE COMPROVAR_USUARI(IN p_CodiUsuari VARCHAR(10)," + "\nIN p_contrasenya VARCHAR(10)," + "\nOUT p_userId INTEGER," + "\nOUT p_userName VARCHAR(30)," + "\nOUT p_administrador VARCHAR(1))" + "\nBEGIN" + (doASelect ? "\nselect 1;" : "\nSELECT 1 INTO p_administrador;") + "\nEND");
            CallableStatement cstmt = db2Connection.prepareCall("{ call COMPROVAR_USUARI(?, ?, ?, ?, ?, ?) }");
            cstmt.setString(1, "abc");
            cstmt.setString(2, "def");
            cstmt.registerOutParameter(3, java.sql.Types.INTEGER);
            cstmt.registerOutParameter(4, java.sql.Types.VARCHAR);
            cstmt.registerOutParameter(5, java.sql.Types.VARCHAR);
            cstmt.registerOutParameter(6, java.sql.Types.VARCHAR);
            cstmt.execute();
            if (doASelect) {
                this.rs = cstmt.getResultSet();
                assertTrue(this.rs.next());
                assertEquals(2, this.rs.getInt(1));
            } else {
                assertEquals(2, cstmt.getInt(5));
            }
            cstmt = db1Connection.prepareCall("{ call COMPROVAR_USUARI(?, ?, ?, ?, ?, ?) }");
            cstmt.setString(1, "abc");
            cstmt.setString(2, "def");
            cstmt.registerOutParameter(3, java.sql.Types.INTEGER);
            cstmt.registerOutParameter(4, java.sql.Types.VARCHAR);
            cstmt.registerOutParameter(5, java.sql.Types.VARCHAR);
            try {
                cstmt.registerOutParameter(6, java.sql.Types.VARCHAR);
                fail("Should've thrown an exception");
            } catch (SQLException sqlEx) {
                assertEquals(SQLError.SQL_STATE_ILLEGAL_ARGUMENT, sqlEx.getSQLState());
            }
            cstmt = db1Connection.prepareCall("{ call COMPROVAR_USUARI(?, ?, ?, ?, ?) }");
            cstmt.setString(1, "abc");
            cstmt.setString(2, "def");
            cstmt.registerOutParameter(3, java.sql.Types.INTEGER);
            cstmt.registerOutParameter(4, java.sql.Types.VARCHAR);
            cstmt.registerOutParameter(5, java.sql.Types.VARCHAR);
            cstmt.execute();
            if (doASelect) {
                this.rs = cstmt.getResultSet();
                assertTrue(this.rs.next());
                assertEquals(1, this.rs.getInt(1));
            } else {
                assertEquals(1, cstmt.getInt(5));
            }
            String quoteChar = db2Connection.getMetaData().getIdentifierQuoteString();
            cstmt = db2Connection.prepareCall("{ call " + quoteChar + db1Connection.getCatalog() + quoteChar + "." + quoteChar + "COMPROVAR_USUARI" + quoteChar + "(?, ?, ?, ?, ?) }");
            cstmt.setString(1, "abc");
            cstmt.setString(2, "def");
            cstmt.registerOutParameter(3, java.sql.Types.INTEGER);
            cstmt.registerOutParameter(4, java.sql.Types.VARCHAR);
            cstmt.registerOutParameter(5, java.sql.Types.VARCHAR);
            cstmt.execute();
            if (doASelect) {
                this.rs = cstmt.getResultSet();
                assertTrue(this.rs.next());
                assertEquals(1, this.rs.getInt(1));
            } else {
                assertEquals(1, cstmt.getInt(5));
            }
        } finally {
            if (db2Connection != null) {
                db2Connection.createStatement().executeUpdate("DROP PROCEDURE IF EXISTS COMPROVAR_USUARI");
                db2Connection.createStatement().executeUpdate("DROP DATABASE IF EXISTS db_9319_2");
            }
            if (db1Connection != null) {
                db1Connection.createStatement().executeUpdate("DROP PROCEDURE IF EXISTS COMPROVAR_USUARI");
                db1Connection.createStatement().executeUpdate("DROP DATABASE IF EXISTS db_9319_1");
            }
        }
    }
}