in kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/column/InventoryColumnValueReaderEngine.java [61:129]
private Object readStandardValue(final ResultSet resultSet, final ResultSetMetaData metaData, final int columnIndex) throws SQLException {
int columnType = metaData.getColumnType(columnIndex);
switch (columnType) {
case Types.BOOLEAN:
return resultSet.getBoolean(columnIndex);
case Types.TINYINT:
if (isSigned(metaData, columnIndex)) {
return resultSet.getByte(columnIndex);
} else {
return resultSet.getShort(columnIndex);
}
case Types.SMALLINT:
if (isSigned(metaData, columnIndex)) {
return resultSet.getShort(columnIndex);
} else {
return resultSet.getInt(columnIndex);
}
case Types.INTEGER:
if (isSigned(metaData, columnIndex)) {
return resultSet.getInt(columnIndex);
} else {
return resultSet.getLong(columnIndex);
}
case Types.BIGINT:
if (isSigned(metaData, columnIndex)) {
return resultSet.getLong(columnIndex);
} else {
return resultSet.getBigDecimal(columnIndex);
}
case Types.NUMERIC:
case Types.DECIMAL:
return resultSet.getBigDecimal(columnIndex);
case Types.REAL:
case Types.FLOAT:
return resultSet.getFloat(columnIndex);
case Types.DOUBLE:
return resultSet.getDouble(columnIndex);
case Types.TIME:
return resultSet.getTime(columnIndex);
case Types.DATE:
return resultSet.getDate(columnIndex);
case Types.TIMESTAMP:
return resultSet.getTimestamp(columnIndex);
case Types.CHAR:
case Types.VARCHAR:
case Types.LONGVARCHAR:
case Types.NCHAR:
case Types.NVARCHAR:
case Types.LONGNVARCHAR:
return resultSet.getString(columnIndex);
case Types.BINARY:
case Types.VARBINARY:
case Types.LONGVARBINARY:
return resultSet.getBytes(columnIndex);
case Types.BLOB:
Blob blob = resultSet.getBlob(columnIndex);
return null == blob ? null : blob.getBytes(1L, (int) blob.length());
case Types.CLOB:
Clob clob = resultSet.getClob(columnIndex);
return null == clob ? null : clob.getSubString(1L, (int) clob.length());
case Types.NCLOB:
NClob nClob = resultSet.getNClob(columnIndex);
return null == nClob ? null : nClob.getSubString(1L, (int) nClob.length());
case Types.ARRAY:
return resultSet.getArray(columnIndex);
default:
return resultSet.getObject(columnIndex);
}
}