Hi, Ian. ReduceExpressionsRule is always used to do constant folding.
Best, Chunwei On Tue, Oct 26, 2021 at 4:34 AM Ian Bertolacci <ian.bertola...@workday.com.invalid> wrote: > Howdy, > Does Calcite have any mechanism for applying constant folding to RexNodes > in a query? > > We’ve been wondering why expressions like `1 + 2` don’t get folded into > the constant `3`. > We’re aware of RexSimplify, but it only does constant folding for Boolean > expressions (i.e. logical and (some) comparison operations) > And even with RexSimplify, we find that it still does not perform some > (what we would consider trivial) optimizations on SEARCH expressions. > For example `SEARCH(123:BIGINT, Sarg[123L:BIGINT]:BIGINT)` should get > folded into `true`, but isn’t. > (But that’s a separate conversation). > > So: is constant folding on all expressions something that already exists > in Calcite? > If so, what should we be looking at to configure Calcite to apply constant > folding? > > Thanks! > -Ian J. Bertolacci >