@Override public int compare(Column o1, Column o2) { return o1.getQualifiedName().compareTo(o2.getQualifiedName()); } }
public static String columnsToStr(Collection<Column> columns) { StringBuilder sb = new StringBuilder(); String prefix = ""; for (Column column: columns) { sb.append(prefix).append(column.getQualifiedName()); prefix = ","; } return sb.toString(); }
public String toString() { StringBuilder sb = new StringBuilder(getQualifiedName()); sb.append(" (").append(typeDesc.toString()).append(")"); return sb.toString(); }
private void prepareProjection(Column[] targets) { projectionMap = new int[targets.length]; for (int i = 0; i < targets.length; ++i) { projectionMap[i] = schema.getColumnId(targets[i].getQualifiedName()); } }
private void prepareProjection(Column [] targets) { projectionMap = new int[targets.length]; int tid; for (int i = 0; i < targets.length; i++) { tid = schema.getColumnId(targets[i].getQualifiedName()); projectionMap[i] = tid; } }
private void prepareProjection(Column [] targets) { projectionMap = new int[targets.length]; int tid; for (int i = 0; i < targets.length; i++) { tid = schema.getColumnId(targets[i].getQualifiedName()); projectionMap[i] = tid; } }
public String toString() { StringBuilder sb = new StringBuilder(getQualifiedName()); sb.append(" (").append(type.toString()).append(")"); return sb.toString(); }
private void prepareProjection(Column[] targets) { projectionMap = new int[targets.length]; for (int i = 0; i < targets.length; ++i) { projectionMap[i] = schema.getColumnId(targets[i].getQualifiedName()); } }
private void prepareProjection(Column[] targets) { projectionMap = new int[targets.length]; for (int i = 0; i < targets.length; ++i) { projectionMap[i] = schema.getColumnId(targets[i].getQualifiedName()); } }
public int getIndex(Column column) { if (!contains(column)) { return -1; } if (column.hasQualifier()) { return fieldsByQualifiedName.get(column.getQualifiedName()); } else { return fieldsByName.get(column.getSimpleName()).get(0); } }
public KeyProjector(Schema inSchema, Column[] keyColumns) { keyTuple = new KeyTuple(keyColumns.length); projectIds = new int[keyColumns.length]; for (int i = 0; i < keyColumns.length; i++) { projectIds[i] = inSchema.getColumnId(keyColumns[i].getQualifiedName()); } }
public static void verifyIfColumnCanBeEvaluated(Schema baseSchema, Projectable projectable, Column [] columns) throws TajoException { for (Column c : columns) { if (!baseSchema.contains(c)) { throwCannotEvaluateException(projectable, c.getQualifiedName()); } } }
public static int[] getTargetIds(Schema inSchema, Schema outSchema) { int[] targetIds = new int[outSchema.size()]; int i = 0; for (Column target : outSchema.getRootColumns()) { targetIds[i] = inSchema.getColumnId(target.getQualifiedName()); i++; } return targetIds; }
public static int[] getTargetIds(Schema inSchema, Schema outSchema) { int[] targetIds = new int[outSchema.size()]; int i = 0; for (Column target : outSchema.getColumns()) { targetIds[i] = inSchema.getColumnId(target.getQualifiedName()); i++; } return targetIds; }
@Override public String getCatalogName(int column) throws SQLException { Column c = schema.getColumn(column - 1); if (CatalogUtil.isFQColumnName(c.getQualifiedName())) { return CatalogUtil.splitFQTableName(c.getQualifier())[0]; } return ""; }
public static void verifyIfEvalNodesCanBeEvaluated(Projectable projectable, List<EvalNode> evalNodes) throws TajoException { for (EvalNode e : evalNodes) { Set<Column> columns = EvalTreeUtil.findUniqueColumns(e); for (Column c : columns) { if (!projectable.getInSchema().contains(c)) { throwCannotEvaluateException(projectable, c.getQualifiedName()); } } } }
@Override public Expr visitColumnReference(LogicalPlanner.PlanContext ctx, Stack<Expr> stack, ColumnReferenceExpr expr) throws TajoException { String normalized = NameResolver.resolve(ctx.getPlan(), ctx.getQueryBlock(), expr, NameResolvingMode.RELS_ONLY, true).getQualifiedName(); expr.setName(normalized); return expr; } }
public static void verifyIfTargetsCanBeEvaluated(Schema baseSchema, Projectable projectable) throws TajoException { for (Target target : projectable.getTargets()) { Set<Column> columns = EvalTreeUtil.findUniqueColumns(target.getEvalTree()); for (Column c : columns) { if (!baseSchema.contains(c)) { throwCannotEvaluateException(projectable, c.getQualifiedName()); } } } }
public static TypeDescription convertSchema(Schema schema) { TypeDescription description = TypeDescription.createStruct(); for (Column eachColumn : schema.getRootColumns()) { description.addField(eachColumn.getQualifiedName(), convertTypeInfo(eachColumn.getTypeDesc())); } return description; }
public static Field convert(Column column) { if (column.type.isStruct() && column.getTypeDesc().getNestedSchema() == null) { throw new TajoRuntimeException(new NotImplementedException("record type projection")); } return new Field(toQualifiedIdentifier(column.getQualifiedName()), column.type); }