Skip to content

Commit 5ddae0d

Browse files
authored
Merge pull request #1 from mshauneu/qp_datafusion_43
Add Utf8View support
2 parents 4e8e8b0 + bd88083 commit 5ddae0d

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

convergence-arrow/src/table.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use convergence::protocol::{DataTypeOid, ErrorResponse, FieldDescription, SqlSta
44
use convergence::protocol_ext::DataRowBatch;
55
use datafusion::arrow::array::{
66
BooleanArray, Date32Array, Date64Array, Float16Array, Float32Array, Float64Array, Int16Array, Int32Array,
7-
Int64Array, Int8Array, StringArray, TimestampMicrosecondArray, TimestampMillisecondArray, TimestampNanosecondArray,
7+
Int64Array, Int8Array, StringArray, StringViewArray, TimestampMicrosecondArray, TimestampMillisecondArray, TimestampNanosecondArray,
88
TimestampSecondArray, UInt16Array, UInt32Array, UInt64Array, UInt8Array,
99
};
1010
use datafusion::arrow::datatypes::{DataType, Schema, TimeUnit};
@@ -48,6 +48,7 @@ pub fn record_batch_to_rows(arrow_batch: &RecordBatch, pg_batch: &mut DataRowBat
4848
DataType::Float32 => row.write_float4(array_val!(Float32Array, col, row_idx)),
4949
DataType::Float64 => row.write_float8(array_val!(Float64Array, col, row_idx)),
5050
DataType::Utf8 => row.write_string(array_val!(StringArray, col, row_idx)),
51+
DataType::Utf8View => row.write_string(array_val!(StringViewArray, col, row_idx)),
5152
DataType::Date32 => {
5253
row.write_date(array_val!(Date32Array, col, row_idx, value_as_date).ok_or_else(|| {
5354
ErrorResponse::error(SqlState::InvalidDatetimeFormat, "unsupported date type")
@@ -103,6 +104,7 @@ pub fn data_type_to_oid(ty: &DataType) -> Result<DataTypeOid, ErrorResponse> {
103104
DataType::Float16 | DataType::Float32 => DataTypeOid::Float4,
104105
DataType::Float64 => DataTypeOid::Float8,
105106
DataType::Utf8 => DataTypeOid::Text,
107+
DataType::Utf8View => DataTypeOid::Text,
106108
DataType::Date32 | DataType::Date64 => DataTypeOid::Date,
107109
DataType::Timestamp(_, None) => DataTypeOid::Timestamp,
108110
other => {

0 commit comments

Comments
 (0)