示例#1
0
 @Override
 public Expr copy(final QueryContext qc, final VarScope scp, final IntObjMap<Var> vs) {
   final Var v = scp.addCopy(var, qc);
   vs.put(var.id, v);
   final Spec spec = new Spec(info, v, expr.copy(qc, scp, vs), coll);
   spec.occluded = occluded;
   return spec;
 }
示例#2
0
 @Override
 public void plan(final FElem plan) {
   final FElem e = planElem();
   for (final Spec spec : specs) spec.plan(e);
   plan.add(e);
 }
示例#3
0
 @Override
 public GroupBy compile(final QueryContext qc, final VarScope sc) throws QueryException {
   for (final Expr e : preExpr) e.compile(qc, sc);
   for (final Spec b : specs) b.compile(qc, sc);
   return optimize(qc, sc);
 }
示例#4
0
 @Override
 public boolean removable(final Var var) {
   for (final Spec b : specs) if (!b.removable(var)) return false;
   return true;
 }
示例#5
0
 @Override
 public boolean has(final Flag flag) {
   for (final Spec sp : specs) if (sp.has(flag)) return true;
   return false;
 }