protected EvalNode visitRowConstant(Context context, RowConstantEval row, Stack<EvalNode> stack) { StringBuilder sb = new StringBuilder("("); sb.append(StringUtils.join(row.getValues(), ",", new Function<Datum, String>() { @Override public String apply(Datum v) { return convertDatumToSQLLiteral(v); } })); sb.append(")"); context.append(sb.toString()); return row; }
protected EvalNode visitRowConstant(Context context, RowConstantEval row, Stack<EvalNode> stack) { StringBuilder sb = new StringBuilder("("); sb.append(StringUtils.join(row.getValues(), ",", new Function<Datum, String>() { @Override public String apply(Datum v) { return convertDatumToSQLLiteral(v); } })); sb.append(")"); context.append(sb.toString()); return row; }
@Override protected EvalNode visitRowConstant(Object o, RowConstantEval evalNode, Stack<EvalNode> stack) { Expr[] values = new Expr[evalNode.getValues().length]; for (int i = 0; i < evalNode.getValues().length; i++) { Datum datum = evalNode.getValues()[i]; values[i] = convertDatumToExpr(datum.kind(), datum); } ValueListExpr expr = new ValueListExpr(values); exprs.push(expr); return super.visitRowConstant(o, evalNode, stack); }
@Override public EvalNode visitRowConstant(EvalTreeProtoBuilderContext context, RowConstantEval rowConst, Stack<EvalNode> stack) { PlanProto.RowConstEval.Builder rowConstBuilder = PlanProto.RowConstEval.newBuilder(); for (Datum d : rowConst.getValues()) { rowConstBuilder.addValues(serialize(d)); } PlanProto.EvalNode.Builder builder = createEvalBuilder(context, rowConst); builder.setRowConst(rowConstBuilder); context.treeBuilder.addNodes(builder); return rowConst; }
@Override public EvalNode visitRowConstant(EvalTreeProtoBuilderContext context, RowConstantEval rowConst, Stack<EvalNode> stack) { PlanProto.RowConstEval.Builder rowConstBuilder = PlanProto.RowConstEval.newBuilder(); for (Datum d : rowConst.getValues()) { rowConstBuilder.addValues(serialize(d)); } PlanProto.EvalNode.Builder builder = createEvalBuilder(context, rowConst); builder.setRowConst(rowConstBuilder); context.treeBuilder.addNodes(builder); return rowConst; }
RowConstantEval original = (RowConstantEval) evalNode; Datum[] datums = original.getValues(); Datum[] convertedDatum = new Datum[datums.length];
RowConstantEval original = (RowConstantEval) evalNode; Datum[] datums = original.getValues(); Datum[] convertedDatum = new Datum[datums.length];