Skip to content

Commit f6c6796

Browse files
committed
Fix compilation errors in arrow-pg list encoder
- Add ListArray, LargeListArray, and MapArray to conditional imports - Replace datafusion::arrow::array:: prefixes with direct type names - Ensure proper conditional compilation for both arrow and datafusion features - Resolves E0433 compilation errors in CI builds
1 parent 1c798cf commit f6c6796

File tree

1 file changed

+13
-20
lines changed

1 file changed

+13
-20
lines changed

arrow-pg/src/list_encoder.rs

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ use std::{str::FromStr, sync::Arc};
44
use arrow::{
55
array::{
66
timezone::Tz, Array, BinaryArray, BooleanArray, Date32Array, Date64Array, Decimal128Array,
7-
Decimal256Array, DurationMicrosecondArray, LargeBinaryArray, LargeStringArray,
8-
PrimitiveArray, StringArray, Time32MillisecondArray, Time32SecondArray,
9-
Time64MicrosecondArray, Time64NanosecondArray, TimestampMicrosecondArray,
10-
TimestampMillisecondArray, TimestampNanosecondArray, TimestampSecondArray,
7+
Decimal256Array, DurationMicrosecondArray, LargeBinaryArray, LargeListArray,
8+
LargeStringArray, ListArray, MapArray, PrimitiveArray, StringArray, Time32MillisecondArray,
9+
Time32SecondArray, Time64MicrosecondArray, Time64NanosecondArray,
10+
TimestampMicrosecondArray, TimestampMillisecondArray, TimestampNanosecondArray,
11+
TimestampSecondArray,
1112
},
1213
datatypes::{
1314
DataType, Date32Type, Date64Type, Float32Type, Float64Type, Int16Type, Int32Type,
@@ -20,10 +21,11 @@ use arrow::{
2021
use datafusion::arrow::{
2122
array::{
2223
timezone::Tz, Array, BinaryArray, BooleanArray, Date32Array, Date64Array, Decimal128Array,
23-
Decimal256Array, DurationMicrosecondArray, LargeBinaryArray, LargeStringArray,
24-
PrimitiveArray, StringArray, Time32MillisecondArray, Time32SecondArray,
25-
Time64MicrosecondArray, Time64NanosecondArray, TimestampMicrosecondArray,
26-
TimestampMillisecondArray, TimestampNanosecondArray, TimestampSecondArray,
24+
Decimal256Array, DurationMicrosecondArray, LargeBinaryArray, LargeListArray,
25+
LargeStringArray, ListArray, MapArray, PrimitiveArray, StringArray, Time32MillisecondArray,
26+
Time32SecondArray, Time64MicrosecondArray, Time64NanosecondArray,
27+
TimestampMicrosecondArray, TimestampMillisecondArray, TimestampNanosecondArray,
28+
TimestampSecondArray,
2729
},
2830
datatypes::{
2931
DataType, Date32Type, Date64Type, Float32Type, Float64Type, Int16Type, Int32Type,
@@ -469,10 +471,7 @@ pub(crate) fn encode_list(
469471
DataType::List(_) => {
470472
// Support for nested lists (list of lists)
471473
// For now, convert to string representation
472-
let list_array = arr
473-
.as_any()
474-
.downcast_ref::<datafusion::arrow::array::ListArray>()
475-
.unwrap();
474+
let list_array = arr.as_any().downcast_ref::<ListArray>().unwrap();
476475
let value: Vec<Option<String>> = (0..list_array.len())
477476
.map(|i| {
478477
if list_array.is_null(i) {
@@ -487,10 +486,7 @@ pub(crate) fn encode_list(
487486
}
488487
DataType::LargeList(_) => {
489488
// Support for large lists
490-
let list_array = arr
491-
.as_any()
492-
.downcast_ref::<datafusion::arrow::array::LargeListArray>()
493-
.unwrap();
489+
let list_array = arr.as_any().downcast_ref::<LargeListArray>().unwrap();
494490
let value: Vec<Option<String>> = (0..list_array.len())
495491
.map(|i| {
496492
if list_array.is_null(i) {
@@ -504,10 +500,7 @@ pub(crate) fn encode_list(
504500
}
505501
DataType::Map(_, _) => {
506502
// Support for map types
507-
let map_array = arr
508-
.as_any()
509-
.downcast_ref::<datafusion::arrow::array::MapArray>()
510-
.unwrap();
503+
let map_array = arr.as_any().downcast_ref::<MapArray>().unwrap();
511504
let value: Vec<Option<String>> = (0..map_array.len())
512505
.map(|i| {
513506
if map_array.is_null(i) {

0 commit comments

Comments
 (0)