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"); } } } }