Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-2604

When simplifying an expression, say whether an UNKNOWN value will be interpreted as is, or as TRUE or FALSE

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.18.0
    • Component/s: None
    • Labels:
      None

      Description

      When simplifying an expression, say whether an UNKNOWN value will be interpreted as is, or as true or false. Concretely, this means adding an enum RexUnknownAs with values TRUE, FALSE, UNKNOWN, and adding it as an argument to RexSimplify.simplify and similar methods.

      Currently RexSimplify has a constant field boolean unknownAs but this is a mistake: the handling of unknown must change as you recurse into the tree. For example, if an UNKNOWN result of NOT x is interpreted as FALSE, then an UNKNOWN result of x must be interpreted as TRUE.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                julianhyde Julian Hyde
                Reporter:
                julianhyde Julian Hyde
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: