Skip to content

AccumulatorArgs.schema is empty when passing in scalar input #16997

@kylebarron

Description

@kylebarron

Describe the bug

I'm looking for a way to pass down the input field into my UDAF, as I need the field metadata to access the Arrow extension metadata. It looks like AccumulatorArgs.schema is the intended way to do this, but this is empty for scalar input.

To Reproduce

git clone https://github.com/geoarrow/geoarrow-rs
cd geoarrow-rs
git checkout 3e45aa368715ccff7ba0a6f76abd11539ba548b3
cargo test -p geodatafusion udf::native::bounding_box::extent::test::test -- --nocapture

This tests the following SQL:

select ST_Extent(ST_GeomFromText('POLYGON((743238 2967416,743238 2967450,
				 743265 2967450,743265.625 2967416,743238 2967416))'));

You can see

[rust/geodatafusion/src/udf/native/bounding_box/extent.rs:63:9] &acc_args.schema = Schema {
    fields: [],
    metadata: {},
}

where the Schema passed in to the accumulator is empty.

I figure that here the Schema is supposed to be non-empty with the correct input field types.

Expected behavior

Schema should include the input fields from the scalar input.

Additional context

cc @timsaucer as you asked to let you know if I hit any other bugs with extension types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions