/** * Takes care of tracing and listener notification when a rule's * transformation is applied. * * @param ruleCall description of rule call * @param newRel result of transformation * @param before true before registration of new rel; false after */ protected void notifyTransformation( RelOptRuleCall ruleCall, RelNode newRel, boolean before) { if (before && LOGGER.isDebugEnabled()) { LOGGER.debug("call#{}: Rule {} arguments {} produced {}", ruleCall.id, ruleCall.getRule(), Arrays.toString(ruleCall.rels), newRel); } if (listener != null) { RelOptListener.RuleProductionEvent event = new RelOptListener.RuleProductionEvent( this, newRel, ruleCall, before); listener.ruleProductionSucceeded(event); } }
/** * Takes care of tracing and listener notification when a rule's * transformation is applied. * * @param ruleCall description of rule call * @param newRel result of transformation * @param before true before registration of new rel; false after */ protected void notifyTransformation( RelOptRuleCall ruleCall, RelNode newRel, boolean before) { if (before && LOGGER.isDebugEnabled()) { LOGGER.debug("call#{}: Rule {} arguments {} produced {}", ruleCall.id, ruleCall.getRule(), Arrays.toString(ruleCall.rels), newRel); } if (listener != null) { RelOptListener.RuleProductionEvent event = new RelOptListener.RuleProductionEvent( this, newRel, ruleCall, before); listener.ruleProductionSucceeded(event); } }
checkCancel(); assert ruleCall.getRule().matches(ruleCall); if (isRuleExcluded(ruleCall.getRule())) { LOGGER.debug("call#{}: Rule [{}] not fired due to exclusion filter", ruleCall.id, ruleCall.getRule()); return; ruleCall.id, ruleCall.getRule(), Arrays.toString(ruleCall.rels)); ruleCall.getRule().onMatch(ruleCall);
checkCancel(); assert ruleCall.getRule().matches(ruleCall); if (isRuleExcluded(ruleCall.getRule())) { LOGGER.debug("call#{}: Rule [{}] not fired due to exclusion filter", ruleCall.id, ruleCall.getRule()); return; ruleCall.id, ruleCall.getRule(), Arrays.toString(ruleCall.rels)); ruleCall.getRule().onMatch(ruleCall);
private void checkEvent( List<RelOptListener.RelEvent> eventList, int iEvent, Class expectedEventClass, RelNode expectedRel, Class<? extends RelOptRule> expectedRuleClass) { assertTrue(iEvent < eventList.size()); RelOptListener.RelEvent event = eventList.get(iEvent); assertSame( expectedEventClass, event.getClass()); if (expectedRel != null) { assertSame( expectedRel, event.getRel()); } if (expectedRuleClass != null) { RelOptListener.RuleEvent ruleEvent = (RelOptListener.RuleEvent) event; assertSame( expectedRuleClass, ruleEvent.getRuleCall().getRule().getClass()); } }
private void checkEvent( List<RelOptListener.RelEvent> eventList, int iEvent, Class expectedEventClass, RelNode expectedRel, Class<? extends RelOptRule> expectedRuleClass) { assertTrue(iEvent < eventList.size()); RelOptListener.RelEvent event = eventList.get(iEvent); assertSame( expectedEventClass, event.getClass()); if (expectedRel != null) { assertSame( expectedRel, event.getRel()); } if (expectedRuleClass != null) { RelOptListener.RuleEvent ruleEvent = (RelOptListener.RuleEvent) event; assertSame( expectedRuleClass, ruleEvent.getRuleCall().getRule().getClass()); } }