SDK
Rust
Description
Currently the merge insert conditional predicates in MergeInsertBuilder only accept SQL strings:
https://github.com/lancedb/lancedb/blob/main/rust/lancedb/src/table/merge.rs#L97
https://github.com/lancedb/lancedb/blob/main/rust/lancedb/src/table/merge.rs#L119
These are passed down to lance's WhenMatched::update_if and WhenNotMatchedBySource::delete_if, which parse them into datafusion expressions internally.
It would be useful to add expression-based variants for these predicates, avoiding the SQL string conversion when callers already have a datafusion_expr::Expr.
This depends on lance adding Expr support to its merge insert API first: lance-format/lance#6861
SDK
Rust
Description
Currently the merge insert conditional predicates in
MergeInsertBuilderonly accept SQL strings:https://github.com/lancedb/lancedb/blob/main/rust/lancedb/src/table/merge.rs#L97
https://github.com/lancedb/lancedb/blob/main/rust/lancedb/src/table/merge.rs#L119
These are passed down to lance's
WhenMatched::update_ifandWhenNotMatchedBySource::delete_if, which parse them into datafusion expressions internally.It would be useful to add expression-based variants for these predicates, avoiding the SQL string conversion when callers already have a
datafusion_expr::Expr.This depends on lance adding Expr support to its merge insert API first: lance-format/lance#6861