Skip to content

REE type coercion not working correctly #18516

@brancz

Description

@brancz

Describe the bug

I am working with data that is REE encoded, and ran a SQL statement like:

SELECT * WHERE ree_encoded_column_name = 'test'

Which resulted in the following error:

Something went wrong: rpc error: code = Internal desc = Failed to execute stream: type_coercion%0Acaused by%0AError during planning: Cannot infer common argument type for comparison operation RunEndEncoded(Field { name: "run_ends", data_type: Int32, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "values", data_type: Dictionary(UInt32, Utf8), nullable: true, dict_id: 1, dict_is_ordered: false, metadata: {} }) = Utf8

The column is an REE encoded dictionary of strings.

I'm not 100% sure this issue belongs in datafusion or arrow, feel free to let me know if arrow is more appropriate and I can move it.

To Reproduce

Create a table provider that emits records with REE arrays and run a filter on it.

Expected behavior

It filters/coerces as expected.

Additional context

@vegarsti @alamb

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions