datafusion-ballista icon indicating copy to clipboard operation
datafusion-ballista copied to clipboard

Example program gives `mismatched types` error on `ParquetReadOptions`

Open benedetto73 opened this issue 8 months ago • 1 comments

Describe the bug Running the example in here with latest ballista package (39.0.0) gives an error about ParquetReadOptions. Apparently there is some crate that brings in from 35.0.0 and that confuses the compiler. Using ballista 35.0.0 works.

Error log excerpt.

error[E0308]: mismatched types
   --> src/main.rs:18:33
    |
18  |         .read_parquet(filename, ParquetReadOptions::default())
    |          ------------           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ParquetReadOptions<'_>`, found a different `ParquetReadOptions<'_>`
    |          |
    |          arguments to this method are incorrect
    |
    = note: `ParquetReadOptions<'_>` and `ParquetReadOptions<'_>` have similar names, but are actually distinct types
note: `ParquetReadOptions<'_>` is defined in crate `datafusion`
   --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/datafusion-39.0.0/src/datasource/file_format/options.rs:185:1
    |
185 | pub struct ParquetReadOptions<'a> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: `ParquetReadOptions<'_>` is defined in crate `datafusion`
   --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/datafusion-35.0.0/src/datasource/file_format/options.rs:183:1
    |
183 | pub struct ParquetReadOptions<'a> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `datafusion` are being used?
note: method defined here
   --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ballista-0.12.0/src/context.rs:233:18
    |
233 |     pub async fn read_parquet<P: DataFilePaths>(
    |                  ^^^^^^^^^^^^

To Reproduce Run the example program from here with this Cargo.toml (or change datafusion to 35.0.0 to see it work)

[dependencies]
ballista = "0.12.0"
datafusion = "39.0.0"
tokio = "1.38.0"

Expected behavior The program compiles and runs without errors and produces the output on this page.

Additional context None.

benedetto73 avatar Jun 17 '24 10:06 benedetto73