private void checkData() { if (getRootSegment().getChild() != null) { throw new UnsupportedOperationException("Field references must be singular names."); } }
@Override public void serialize(FieldReference value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { jgen.writeString('`' + value.getRootSegment().getNameSegment().getPath() + '`'); } }
private void checkData() { if (getRootSegment().getChild() != null) { throw new UnsupportedOperationException("Field references must be singular names."); } }
@Override public void serialize(FieldReference value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { jgen.writeString('`' + value.getRootSegment().getNameSegment().getPath() + '`'); } }
private boolean isPartitioningColumn(String name) { List<FieldReference> refList = popConfig.getPartitionFunction().getPartitionRefList(); for (FieldReference f : refList) { if (f.getRootSegment().getPath().equals(name)) { return true; } } return false; }
private boolean isClassificationNeeded(final List<NamedExpression> exprs) { boolean needed = false; for (NamedExpression ex : exprs) { if (!(ex.getExpr() instanceof SchemaPath)) { continue; } final NameSegment expr = ((SchemaPath) ex.getExpr()).getRootSegment(); final NameSegment ref = ex.getRef().getRootSegment(); final boolean refHasPrefix = ref.getPath().contains(StarColumnHelper.PREFIX_DELIMITER); final boolean exprContainsStar = expr.getPath().contains(SchemaPath.DYNAMIC_STAR); if (refHasPrefix || exprContainsStar) { needed = true; break; } } return needed; }
public static DrillProjectRel convert(Project project, ConversionContext context) throws InvalidRelException{ RelNode input = context.toRel(project.getInput()); List<RelDataTypeField> fields = Lists.newArrayList(); List<RexNode> exps = Lists.newArrayList(); for(NamedExpression expr : project.getSelections()){ fields.add(new RelDataTypeFieldImpl(expr.getRef().getRootSegment().getPath(), fields.size(), context.getTypeFactory().createSqlType(SqlTypeName.ANY) )); exps.add(context.toRex(expr.getExpr())); } return new DrillProjectRel(context.getCluster(), context.getLogicalTraits(), input, exps, new RelRecordType(fields)); }
private void classifyExpr(final NamedExpression ex, final RecordBatch incoming, final ClassifierResult result) { final NameSegment expr = ((SchemaPath)ex.getExpr()).getRootSegment(); final NameSegment ref = ex.getRef().getRootSegment(); final boolean exprHasPrefix = expr.getPath().contains(StarColumnHelper.PREFIX_DELIMITER); final boolean refHasPrefix = ref.getPath().contains(StarColumnHelper.PREFIX_DELIMITER);
final String outputName = getRef(namedExpression).getRootSegment().getPath(); //moved to before the if addToResultMaps(outputName, result, true); String outputName = getRef(namedExpression).getRootSegment().getPath(); if (result != null && result.outputNames != null && result.outputNames.size() > 0) { boolean isMatched = false;
result.clear(); String outputName = getRef(namedExpression).getRootSegment().getPath(); if (result != null && result.outputNames != null && result.outputNames.size() > 0) { for (int j = 0; j < result.outputNames.size(); j++) {
String refName = fieldReference == null ? "col" : fieldReference.getRootSegment().getPath();
@Override public JVar[] renderStart(ClassGenerator<?> classGenerator, HoldingContainer[] inputVariables, FieldReference fieldReference) { if (!classGenerator.getMappingSet().isHashAggMapping()) { //Declare workspace vars for non-hash-aggregation. JInvocation container = classGenerator.getMappingSet().getOutgoing().invoke("getOutgoingContainer"); complexWriter = classGenerator.declareClassField("complexWriter", classGenerator.getModel()._ref(ComplexWriter.class)); writerIdx = classGenerator.declareClassField("writerIdx", classGenerator.getModel()._ref(int.class)); lastWriterIdx = classGenerator.declareClassField("lastWriterIdx", classGenerator.getModel()._ref(int.class)); //Default name is "col", if not passed in a reference name for the output vector. String refName = fieldReference == null ? "col" : fieldReference.getRootSegment().getPath(); JClass cwClass = classGenerator.getModel().ref(VectorAccessibleComplexWriter.class); classGenerator.getSetupBlock().assign(complexWriter, cwClass.staticInvoke("getWriter").arg(refName).arg(container)); classGenerator.getSetupBlock().assign(writerIdx, JExpr.lit(0)); classGenerator.getSetupBlock().assign(lastWriterIdx, JExpr.lit(-1)); JVar[] workspaceJVars = declareWorkspaceVariables(classGenerator); generateBody(classGenerator, ClassGenerator.BlockType.SETUP, setup(), null, workspaceJVars, true); return workspaceJVars; } else { return super.renderStart(classGenerator, inputVariables, fieldReference); } }