/** * Simulate execution of the QueryOptimizer rules stack */ private static PlanNode helpExecuteRules(RuleStack rules, PlanNode plan, QueryMetadataInterface metadata, boolean debug) throws QueryPlannerException, QueryMetadataException, TeiidComponentException { CommandContext context = new CommandContext(); while(! rules.isEmpty()) { if(debug) { System.out.println("\n============================================================================"); //$NON-NLS-1$ } OptimizerRule rule = rules.pop(); if(debug) { System.out.println("EXECUTING " + rule); //$NON-NLS-1$ } plan = rule.execute(plan, metadata, FINDER, rules, new AnalysisRecord(false, debug), context); if(debug) { System.out.println("\nAFTER: \n" + plan); //$NON-NLS-1$ } } return plan; }
public PlanNode executeRules(RuleStack rules, PlanNode plan) throws QueryPlannerException, QueryMetadataException, TeiidComponentException { boolean debug = analysisRecord.recordDebug(); while(! rules.isEmpty()) { if(debug) { analysisRecord.println("\n============================================================================"); //$NON-NLS-1$ } OptimizerRule rule = rules.pop(); if(debug) { analysisRecord.println("EXECUTING " + rule); //$NON-NLS-1$ } plan = rule.execute(plan, metadata, capFinder, rules, analysisRecord, context); if(debug) { analysisRecord.println("\nAFTER: \n" + plan.nodeToString(true)); //$NON-NLS-1$ } } return plan; }
public PlanNode executeRules(RuleStack rules, PlanNode plan) throws QueryPlannerException, QueryMetadataException, TeiidComponentException { boolean debug = analysisRecord.recordDebug(); while(! rules.isEmpty()) { if(debug) { analysisRecord.println("\n============================================================================"); //$NON-NLS-1$ } OptimizerRule rule = rules.pop(); if(debug) { analysisRecord.println("EXECUTING " + rule); //$NON-NLS-1$ } plan = rule.execute(plan, metadata, capFinder, rules, analysisRecord, context); if(debug) { analysisRecord.println("\nAFTER: \n" + plan.nodeToString(true)); //$NON-NLS-1$ } } return plan; }
public PlanNode executeRules(RuleStack rules, PlanNode plan) throws QueryPlannerException, QueryMetadataException, TeiidComponentException { boolean debug = analysisRecord.recordDebug(); while(! rules.isEmpty()) { if(debug) { analysisRecord.println("\n============================================================================"); //$NON-NLS-1$ } OptimizerRule rule = rules.pop(); if(debug) { analysisRecord.println("EXECUTING " + rule); //$NON-NLS-1$ } plan = rule.execute(plan, metadata, capFinder, rules, analysisRecord, context); if(debug) { analysisRecord.println("\nAFTER: \n" + plan.nodeToString(true)); //$NON-NLS-1$ } } return plan; }
public void testInitialization() { RuleStack stack = new RuleStack(); assertEquals("Initial stack is not empty", true, stack.isEmpty()); //$NON-NLS-1$ assertEquals("Initial size is not 0", 0, stack.size()); //$NON-NLS-1$ assertNull("Top is not null", stack.pop()); //$NON-NLS-1$ }