in asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBRowStore.java [274:305]
private Number getNumberFromObjectStore(int columnIndex) {
Object o = objectStore[columnIndex];
if (o != null) {
return (Number) o;
}
Number n;
ADBDatatype valueType = getColumnType(columnIndex);
switch (valueType) {
case TINYINT:
n = getColumnRegisterAsByte(columnIndex, 0);
break;
case SMALLINT:
n = getColumnRegisterAsShort(columnIndex, 0);
break;
case INTEGER:
n = getColumnRegisterAsInt(columnIndex, 0);
break;
case BIGINT:
n = getColumnRegister(columnIndex, 0);
break;
case FLOAT:
n = getColumnRegisterAsFloat(columnIndex, 0);
break;
case DOUBLE:
n = getColumnRegisterAsDouble(columnIndex, 0);
break;
default:
throw new IllegalArgumentException(String.valueOf(valueType));
}
objectStore[columnIndex] = n;
return n;
}