Skip to content

eq operator doesn't work on binary data #3117

Description

@ozgrakkurt

Hello,

I am trying to use datafusion to query multiple parquet files.

Comparing a binary column with binary literal using eq operator doesn't work.

I expect this to just work since eq works on strings.

I have this code:

let address = prefix_hex::decode::<Vec<u8>>(&self.address).map_err(Error::InvalidHexInAddress)?;
let mut expr = col("log.address").eq(lit(address));

and I get this error:

failed to execute query:\nArrow error: External error: Arrow error: External error: Execution error: Arrow error: External error: Arrow error: External error: Execution error: Arrow error: External error:
Internal error: Data type Binary(\"161,250,161,19,203,229,52,54,223,40,255,10,238,84,39,92,19,180,9,117\") not supported for scalar operation 'eq' on dyn array.
This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker

I tracked the error message to here

Shouldn't there be a match arm for Binary data?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions