Every query engine has its expression framework to prune files.
The current Predicate in iceberg-rust is very simple, it's not powerful yet.
For example, it does not support Cast Expression and other complex expression.
such as: filter = abs( cast(id2 as int) ) > id2
Though this filter is rarely used, query engine can make its own effort to calculate the domain based on the stats (Such as ConstantFolder framework in databend)
Good point, I believe this could be achieved by allowing injecting metrics evaluator into table scan planning to help pruning more unnecessary data files.
Every query engine has its expression framework to prune files.
The current
Predicate
iniceberg-rust
is very simple, it's not powerful yet.For example, it does not support Cast Expression and other complex expression. such as: filter =
abs( cast(id2 as int) ) > id2
Though this filter is rarely used, query engine can make its own effort to calculate the domain based on the stats (Such as ConstantFolder framework in databend)