@Override protected void addBatchRow(List<?> row) { if (this.getOutputElements().isEmpty()) { //a dummy column was added to the query, just remove it now row = Collections.emptyList(); } super.addBatchRow(row); }
@Override public void addChild(RelationalNode child) { super.addChild(child); init(); }
@Override public void closeDirect() { super.closeDirect(); reset(); }
protected Evaluator getEvaluator(Map elementMap) { if (this.evaluator == null) { this.evaluator = new SubqueryAwareEvaluator(elementMap, getDataManager(), getContext(), getBufferManager()); } else { this.evaluator.initialize(getContext(), getDataManager()); } return this.evaluator; }
public PlanNode getDescriptionProperties() { PlanNode props = super.getDescriptionProperties(); AnalysisRecord.addLanaguageObjects(props, PROP_SELECT_COLS, this.selectSymbols); return props; }
protected void copyTo(SelectNode target){ super.copyTo(target); target.criteria = criteria; target.elementMap = elementMap; target.projectionIndexes = projectionIndexes; target.projectedExpressions = projectedExpressions; }
protected void setReferenceValues(TableFunctionReference ref) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { if (ref.getCorrelatedReferences() == null) { return; } for (Map.Entry<ElementSymbol, Expression> entry : ref.getCorrelatedReferences().asMap().entrySet()) { getContext().getVariableContext().setValue(entry.getKey(), getEvaluator(Collections.emptyMap()).evaluate(entry.getValue(), null)); } }
@Override public PlanNode getDescriptionProperties() { PlanNode node = super.getDescriptionProperties(); AnalysisRecord.addLanaguageObjects(node, AnalysisRecord.PROP_SQL, this.updateCommands); return node; }
protected Evaluator getEvaluator(Map elementMap) { if (this.evaluator == null) { this.evaluator = new SubqueryAwareEvaluator(elementMap, getDataManager(), getContext(), getBufferManager()); } else { this.evaluator.initialize(getContext(), getDataManager()); } return this.evaluator; }
protected void copyTo(ProjectNode target){ super.copyTo(target); target.selectSymbols = this.selectSymbols; target.needsProject = needsProject; target.elementMap = elementMap; target.expressions = expressions; target.projectionIndexes = projectionIndexes; }
protected void setReferenceValues(TableFunctionReference ref) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { if (ref.getCorrelatedReferences() == null) { return; } for (Map.Entry<ElementSymbol, Expression> entry : ref.getCorrelatedReferences().asMap().entrySet()) { getContext().getVariableContext().setValue(entry.getKey(), getEvaluator(Collections.emptyMap()).evaluate(entry.getValue(), null)); } }
@Override public PlanNode getDescriptionProperties() { PlanNode props = super.getDescriptionProperties(); AnalysisRecord.addLanaguageObjects(props, AnalysisRecord.PROP_TABLE_FUNCTION, Arrays.asList(this.table)); return props; }
protected Evaluator getEvaluator(Map elementMap) { if (this.evaluator == null) { this.evaluator = new SubqueryAwareEvaluator(elementMap, getDataManager(), getContext(), getBufferManager()); } else { this.evaluator.initialize(getContext(), getDataManager()); } return this.evaluator; }
@Override public void closeDirect() { super.closeDirect(); reset(); }
protected void copyTo(ProjectNode target){ super.copyTo(target); target.selectSymbols = this.selectSymbols; target.needsProject = needsProject; target.elementMap = elementMap; target.expressions = expressions; target.projectionIndexes = projectionIndexes; }
protected void setReferenceValues(TableFunctionReference ref) throws ExpressionEvaluationException, BlockedException, TeiidComponentException { if (ref.getCorrelatedReferences() == null) { return; } for (Map.Entry<ElementSymbol, Expression> entry : ref.getCorrelatedReferences().asMap().entrySet()) { getContext().getVariableContext().setValue(entry.getKey(), getEvaluator(Collections.emptyMap()).evaluate(entry.getValue(), null)); } }
@Override protected void addBatchRow(List<?> row) { if (this.getOutputElements().isEmpty()) { //a dummy column was added to the query, just remove it now row = Collections.emptyList(); } super.addBatchRow(row); }