in asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBRowStore.java [457:485]
long getLong(int columnIndex) throws SQLException {
ADBDatatype valueType = getColumnType(columnIndex);
switch (valueType) {
case MISSING:
case NULL:
return 0;
case BOOLEAN:
return getColumnRegisterAsBoolean(columnIndex, 0) ? 1 : 0;
case TINYINT:
case SMALLINT:
case INTEGER:
case BIGINT:
case DATE:
case TIME:
case DATETIME:
case YEARMONTHDURATION:
case DAYTIMEDURATION:
return getColumnRegister(columnIndex, 0);
case FLOAT:
return (long) getColumnRegisterAsFloat(columnIndex, 0);
case DOUBLE:
return (long) getColumnRegisterAsDouble(columnIndex, 0);
case STRING:
return parseInt64(getStringFromObjectStore(columnIndex));
default:
// TODO:support temporal types?
throw getErrorReporter().errorUnexpectedType(valueType);
}
}