saffron.sql
Class AddFilterToQueryRule
java.lang.Object
|
+--saffron.opt.Rule
|
+--saffron.sql.AddFilterToQueryRule
- class AddFilterToQueryRule
- extends Rule
AddFilterToQueryRule
grafts a Filter
onto a
JdbcQuery
.
This rule only works if the query's select clause is "*". If you start
with a Filter
on a Project
on a
JavaTableAccess
, this will not be the case. You can
fix it by pushing the filter through the project.
(todo: Implement a rule to do this.)
Method Summary |
void |
onMatch(RuleCall call)
This method is called every time the rule matches. |
AddFilterToQueryRule
AddFilterToQueryRule()
onMatch
public void onMatch(RuleCall call)
- Description copied from class:
Rule
- This method is called every time the rule matches. At the time that this
method is called,
call.rels
holds the set of
relational expressions which match the operands to the rule;
call.rels[0]
is the root expression.
Typically a rule would check that the nodes are valid matches,
creates a new expression, then calls back RuleCall.transformTo(saffron.rel.Rel)
to
register the expression.
- Specified by:
onMatch
in class Rule