in asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBRowStore.java [876:913]
Object getObject(int columnIndex) throws SQLException {
ADBDatatype valueType = getColumnType(columnIndex);
switch (valueType) {
case MISSING:
case NULL:
return null;
case BOOLEAN:
return getColumnRegisterAsBoolean(columnIndex, 0);
case TINYINT:
case SMALLINT:
case INTEGER:
case BIGINT:
case FLOAT:
case DOUBLE:
return getNumberFromObjectStore(columnIndex);
case DATE:
return toDateFromDateChronon(getColumnRegister(columnIndex, 0), tzSystem);
case TIME:
return toTimeFromTimeChronon(getColumnRegister(columnIndex, 0), tzSystem);
case DATETIME:
return toTimestampFromDatetimeChronon(getColumnRegister(columnIndex, 0), tzSystem);
case YEARMONTHDURATION:
return getPeriodFromObjectStore(columnIndex);
case DAYTIMEDURATION:
return getDurationFromObjectStore(columnIndex);
case DURATION:
return getISODurationStringFromObjectStore(columnIndex);
case STRING:
return getStringFromObjectStore(columnIndex);
case UUID:
return getUUIDFromObjectStore(columnIndex);
case OBJECT:
case ARRAY:
return objectStore[columnIndex]; // TODO:how to make immutable?
default:
throw getErrorReporter().errorUnexpectedType(valueType);
}
}