Details

    • Sub-task
    • Status: Closed
    • Minor
    • Resolution: Duplicate
    • 10.0.2.0
    • None
    • SQL
    • None
    • generic
    • Low

    Description

      I am separating this part of the bug from DERBY-808. This part of the fix can go into 10.2 release, while I would like to submit the first part of DERBY-808 to both 10.1 and trunk branches.

      Coding error in PredicateList.searchClauseTransitiveClosure. Also note, when the operands are switched, the type of the operation needs to change. For example, <ConstantNode> <LessThan> <ColumnReference> should change to <ColumnReference> <GreaterThan> <Constant>. Current code doesn's seem to do that either.

      if (left instanceof ColumnReference && right instanceof ConstantNode)

      { searchClauses.addElement(predicate); }

      else if (right instanceof ConstantNode && left instanceof ColumnReference)

      { // put the ColumnReference on the left to simplify things bcon.swapOperands(); searchClauses.addElement(predicate); }

      The second part of the check is incorrect. It should instead be like:

      else if (left instanceof ConstantNode && right instanceof ColumnReference)

      and while handling ParameterNodes. Also the swaping logic is not complete.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bandaram Satheesh E. Bandaram
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: