private Tester(FrameworkConfig config) { this.config = config; s = new LatticeSuggester(config); }
Lattice bestMatch = null; for (Lattice lattice2 : latticeMap.values()) { int q = matchQuality(lattice2, lattice); if (q > bestMatchQuality) { bestMatch = lattice2; : minus(bestMatch.rootNode.paths, lattice.rootNode.paths)) { new Lattice.Builder(space, rootSchema, mutableNode); for (Lattice.Measure measure : bestMatch.defaultMeasures) { builder.addMeasure(measure.copy(mapper(bestMatch, builder))); builder.addMeasure(measure.copy(mapper(lattice, builder)));
final Frame frame = frame(q, r2); if (frame == null) { return ImmutableList.of(); final DerivedColRef derivedColRef = (DerivedColRef) colRef; final String alias = deriveAlias(measure, derivedColRef); return latticeBuilder.expression(derivedColRef.e, alias, derivedColRef.tableAliases()); final Lattice lattice1 = findMatch(lattice0, rootNode); lattices.add(lattice1);
private Frame frame(final Query q, RelNode r) { if (r instanceof Sort) { final Sort sort = (Sort) r; return frame(q, sort.getInput()); } else if (r instanceof Filter) { final Filter filter = (Filter) r; return frame(q, filter.getInput()); } else if (r instanceof Aggregate) { final Aggregate aggregate = (Aggregate) r; final Frame h = frame(q, aggregate.getInput()); if (h == null) { return null; } else if (r instanceof Project) { final Project project = (Project) r; final Frame h = frame(q, project.getInput()); if (h == null) { return null; final Join join = (Join) r; final int leftCount = join.getLeft().getRowType().getFieldCount(); final Frame left = frame(q, join.getLeft()); final Frame right = frame(q, join.getRight()); if (left == null || right == null) { return null;
List<Lattice> addQuery(String q) throws SqlParseException, ValidationException, RelConversionException { final Planner planner = new PlannerImpl(config); final SqlNode node = planner.parse(q); final SqlNode node2 = planner.validate(node); final RelRoot root = planner.rel(node2); return s.addQuery(root.project()); }