[
https://issues.apache.org/jira/browse/CALCITE-2314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16488907#comment-16488907
]
Zoltan Haindrich commented on CALCITE-2314:
-------------------------------------------
[~julianhyde] I've fixed the remaining tests, and opened a PR for your dev
branch https://github.com/julianhyde/calcite/pull/12
> Verify RexNode transformations by evaluating before and after expressions
> against sample values
> -----------------------------------------------------------------------------------------------
>
> Key: CALCITE-2314
> URL: https://issues.apache.org/jira/browse/CALCITE-2314
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Julian Hyde
> Priority: Major
>
> Verify transformations of {{RexNode}} expressions (such as simplification,
> see {{class RexSimplify}}) by evaluating before and after expressions against
> sample values.
> Given an expression, say {{($0 < $1) IS NOT NULL}} we can bind $0 and $1 to
> values (0, 1, null) and evaluate the 9 combinations. We can also evaluate the
> simplified expression {{$0 IS NOT NULL AND $1 IS NOT NULL}} and see whether
> it gives the same value for each of the combinations.
> We can add this checking to existing tests with little effort. It will
> improve confidence that we handle 3-valued logic correctly.
> As part of this task, we will create an interpreter {{class RexInterpreter}}
> that evaluates RexNode expressions for common operators without generating
> code. It is not very efficient and does not cover very many types, functions
> and operators, but should be easy for people to extend to add a few more.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)