[BugFix](csv_reader) csv_reader support datev2/datetimev2 (#17031)

This commit is contained in:
Tiewei Fang
2023-02-24 11:13:48 +08:00
committed by GitHub
parent c3538ca804
commit be047f11aa

View File

@ -149,7 +149,18 @@ inline bool TextConverter::write_vec_column(const SlotDescriptor* slot_desc,
reinterpret_cast<char*>(&ts_slot), 0);
break;
}
case TYPE_DATEV2: {
vectorized::VecDateTimeValue ts_slot;
if (!ts_slot.from_date_str(data, len)) {
parse_result = StringParser::PARSE_FAILURE;
insert_after_parse_failure = false;
break;
}
ts_slot.cast_to_date();
uint32_t num = ts_slot.to_date_v2();
reinterpret_cast<vectorized::ColumnVector<vectorized::UInt32>*>(col_ptr)->insert_value(num);
break;
}
case TYPE_DATETIME: {
vectorized::VecDateTimeValue ts_slot;
if (!ts_slot.from_date_str(data, len)) {
@ -162,6 +173,18 @@ inline bool TextConverter::write_vec_column(const SlotDescriptor* slot_desc,
reinterpret_cast<char*>(&ts_slot), 0);
break;
}
case TYPE_DATETIMEV2: {
vectorized::VecDateTimeValue ts_slot;
if (!ts_slot.from_date_str(data, len)) {
parse_result = StringParser::PARSE_FAILURE;
insert_after_parse_failure = false;
break;
}
ts_slot.to_datetime();
uint64_t num = ts_slot.to_datetime_v2();
reinterpret_cast<vectorized::ColumnVector<vectorized::UInt64>*>(col_ptr)->insert_value(num);
break;
}
case TYPE_DECIMALV2: {
DecimalV2Value decimal_slot;