public MultiSourceSelect( Map<QualifiedName, AnalyzedRelation> sources, List<OutputName> outputNames, QuerySpec querySpec) { assert sources.size() > 1 : "MultiSourceSelect requires at least 2 relations"; this.querySpec = querySpec; this.sources = new LinkedHashMap<>(sources.size()); this.splitter = initSources(sources); assert outputNames.size() == querySpec.outputs().size() : "size of outputNames and outputSymbols must match"; fields = new ArrayList<>(outputNames.size()); for (int i = 0; i < outputNames.size(); i++) { fields.add(new Field(this, outputNames.get(i), querySpec.outputs().get(i).valueType())); } }
public void normalize(EvaluatingNormalizer normalizer) { querySpec.normalize(normalizer); }