You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to run Datafusion-federation: https://github.com/datafusion-contrib/datafusion-federation/blob/main/examples/examples/postgres-partial.rs, which uses ConnectorX to connect to postgres, I have the error of mapping Int8Array to arrow type. I've settuped local docker compose with postgres, where I have a table, which has bigint[] as one of the columns. I've tested another variants - with smallint[], integer[] - all have same error, but for different mapping type Int4Array and Int2Array
So, the issue probably can be resolved by bumping arrow create version, and adding mappings to postgres to proper arrow array types. This also will allow to get rid of arrow2 mapping code across the project.
What are the steps to reproduce the behavior?
Create postgres connection with array types.
Database setup if the error only happens on specific data or data type
Table schema:
create table test(
id bigint PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
arr bigint[]
);
Example query / code
select * from table_name
What is the error?
thread 'tokio-runtime-worker' panicked at examples/examples/postgres-partial.rs:27:293:
called Result::unwrap() on an Err value: External("ConnectorX failed to run query: PostgresArrowTransportError(ConnectorX(NoConversionRule("Int8Array(true)", "connectorx::destinations::arrow::typesystem::ArrowTypeSystem")))")
The text was updated successfully, but these errors were encountered:
MadL1me
changed the title
PostgreSQL: Error while mapping to Arrow types, if table has array types
PostgreSQL: Error while mapping to Arrow types, if table has array columns
Jun 29, 2024
What language are you using?
Rust
What version are you using?
latest
What database are you using?
PostgreSQL
What dataframe are you using?
Arrow (not arrow2)
Can you describe your bug?
When trying to run Datafusion-federation: https://github.com/datafusion-contrib/datafusion-federation/blob/main/examples/examples/postgres-partial.rs, which uses ConnectorX to connect to postgres, I have the error of mapping
Int8Array
to arrow type. I've settuped local docker compose with postgres, where I have a table, which hasbigint[]
as one of the columns. I've tested another variants - withsmallint[]
,integer[]
- all have same error, but for different mapping typeInt4Array
andInt2Array
There is also a thread, about combining arrow2 to arrow-rs (apache/datafusion#1532)
So, the issue probably can be resolved by bumping arrow create version, and adding mappings to postgres to proper arrow array types. This also will allow to get rid of arrow2 mapping code across the project.
What are the steps to reproduce the behavior?
Create postgres connection with array types.
Database setup if the error only happens on specific data or data type
Table schema:
Example query / code
What is the error?
thread 'tokio-runtime-worker' panicked at examples/examples/postgres-partial.rs:27:293:
called
Result::unwrap()
on anErr
value: External("ConnectorX failed to run query: PostgresArrowTransportError(ConnectorX(NoConversionRule("Int8Array(true)", "connectorx::destinations::arrow::typesystem::ArrowTypeSystem")))")The text was updated successfully, but these errors were encountered: