[
https://issues.apache.org/jira/browse/DERBY-813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen closed DERBY-813.
------------------------------------
Resolution: Duplicate
Since the parent issue is closed, and this issue is also tracked in a top-level
issue (DERBY-2282), I'm closing it as a duplicate.
> Clean up coding error in searchClauseTransitiveClosure method in
> PredicateList.java
> -----------------------------------------------------------------------------------
>
> Key: DERBY-813
> URL: https://issues.apache.org/jira/browse/DERBY-813
> Project: Derby
> Issue Type: Sub-task
> Components: SQL
> Affects Versions: 10.0.2.0
> Environment: generic
> Reporter: Satheesh Bandaram
> Priority: Minor
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.