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