Wrap any ParamLiteral expression with this so that we can generate literal initialization code
within the .init()
method of the generated class.
Wrap any ParamLiteral expression with this so that we can generate literal initialization code
within the .init()
method of the generated class.
We try to locate first foldable expression in a query tree such that all its child is foldable
but parent isn't. That way we locate the exact point where an expression is safe to evalute
once instead of evaluating every row.
Expressions like select c from tab where
case col2 when 1 then col3 else 'y' end = 22
like queries doesn't converts literal evaluation into init method.
minimal expression tree that can be evaluated only once and turn into a constant.