Skip to content

Regression with coalesce expr_fn function: can't take multiple arguments #10320

@alamb

Description

@alamb

Describe the bug

Previously it could be called with multiple expressions like coalsce(vec![e1, e2]) however now it seems to require a single expressions

To Reproduce

Try to run coalsce(vec![e1, e2])

  --> iox_query_influxql/src/plan/planner_rewrite_expression.rs:327:58
    |
327 |                         Operator::Divide => yes(coalesce(vec![expr, lit(0_f64)])),
    |                                                 -------- ^^^^^^^^^^^^^^^^^^^^^^ expected `Expr`, found `Vec<Expr>`
    |                                                 |
    |                                                 arguments to this function are incorrect
    |
    = note: expected enum `datafusion::prelude::Expr`
             found struct `std::vec::Vec<datafusion::prelude::Expr>`

Expected behavior

We should be able to call it with multiple arguments

Additional context

@appletreeisyellow found this while updating InfluxDB IOx to the latest DataFusion version and identified the upstream PR #10201 / fe268bc brought in a regression.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingregressionSomething that used to work no longer does

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