-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Describe the bug
There are two ways to express pattern matching in datafusion Exprs.
Expr::Like(Like)
..As well as
BinaryExpr {
left: ..
op: Operator::Like,
right: ..
}This causes issues such as the simplification in #4646 only affects the BinaryExpr form, not the Expr::Like form
The Expr::Like form is more full featured (can have pattern substitution)
Expected behavior
I would like to have a single way to represent these operators. I believe it should be Expr::Like, Expr::ILike, Expr::NotLike and Expr::NotILike as they have more features.
Thus, I would like to remove Operator::Like, Operator::ILike, Operator::NotLike, and Operator::NotILike and update all tests / code to use Expr::Like
Additional context
Noticed while reviewing #4646 from @crepererum
I am marking this as "good first issue" as it is mostly a software engineering exercise and would be guided by the compiler -- it would be a good exercise to get familiar with DataFusion's codebase