Skip to content

Panic with struct function with arguments intermixed arrays / scalar #9773

@alamb

Description

@alamb

Describe the bug

struct works fine if all arguments are scalars, or all arguments are arrays, but panic's if some arguments are scalars and some are arrays

To Reproduce

❯ create table t(x int) as values (1), (2), (3);
0 rows in set. Query took 0.014 seconds.

❯ select struct(x, 25) from t;
thread 'main' panicked at /Users/andrewlamb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/arrow-array-51.0.0/src/array/struct_array.rs:90:46:
called Result::unwrap() on an Err value: InvalidArgumentError("Incorrect array length for StructArray field "c1", expected 3 got 1")
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace


### Expected behavior

The query should not panic and should return three rows

### Additional context

When reviewing https://github.com/apache/arrow-datafusion/pull/9743 (which is awesome) I wrote up a test case in terms of `struct` and it actually panic'd on me

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions