public RowProjector cloneIfNecessary() { if (!cloneRequired) { return this; } List<ColumnProjector> clonedColProjectors = new ArrayList<ColumnProjector>(columnProjectors.size()); for (int i = 0; i < this.columnProjectors.size(); i++) { ColumnProjector colProjector = columnProjectors.get(i); Expression expression = colProjector.getExpression(); if (expression.isCloneExpression()) { CloneExpressionVisitor visitor = new CloneExpressionVisitor(); Expression clonedExpression = expression.accept(visitor); clonedColProjectors.add(new ExpressionProjector(colProjector.getName(), colProjector.getTableName(), clonedExpression, colProjector.isCaseSensitive())); } else { clonedColProjectors.add(colProjector); } } return new RowProjector(clonedColProjectors, this.estimatedSize, this.isProjectEmptyKeyValue, this.hasUDFs, this.isProjectAll); }
return new RowProjector(projectedColumns, Math.max(estimatedKeySize, estimatedByteSize), isProjectEmptyKeyValue, resolver.hasUDFs(), isWildcard);
context.getAggregationManager().compile(context, GroupBy.EMPTY_GROUP_BY); if (dataPlan.getProjector().projectEveryRow()) { projectorToBe = new RowProjector(projectorToBe,true);
,GroupBy.EMPTY_GROUP_BY); if (queryPlan.getProjector().projectEveryRow()) { aggProjectorToBe = new RowProjector(aggProjectorToBe,true);
scan.addFamily(family); projector = new RowProjector(projector,false);
public RowProjector cloneIfNecessary() { if (!cloneRequired) { return this; } List<ColumnProjector> clonedColProjectors = new ArrayList<ColumnProjector>(columnProjectors.size()); for (int i = 0; i < this.columnProjectors.size(); i++) { ColumnProjector colProjector = columnProjectors.get(i); Expression expression = colProjector.getExpression(); if (expression.getDeterminism() == Determinism.PER_INVOCATION) { CloneNonDeterministicExpressionVisitor visitor = new CloneNonDeterministicExpressionVisitor(); Expression clonedExpression = expression.accept(visitor); clonedColProjectors.add(new ExpressionProjector(colProjector.getName(), colProjector.getTableName(), clonedExpression, colProjector.isCaseSensitive())); } else { clonedColProjectors.add(colProjector); } } return new RowProjector(clonedColProjectors, this.estimatedSize, this.isProjectEmptyKeyValue, this.hasUDFs, this.isProjectAll); }
public RowProjector cloneIfNecessary() { if (!cloneRequired) { return this; } List<ColumnProjector> clonedColProjectors = new ArrayList<ColumnProjector>(columnProjectors.size()); for (int i = 0; i < this.columnProjectors.size(); i++) { ColumnProjector colProjector = columnProjectors.get(i); Expression expression = colProjector.getExpression(); if (expression.getDeterminism() == Determinism.PER_INVOCATION) { CloneNonDeterministicExpressionVisitor visitor = new CloneNonDeterministicExpressionVisitor(); Expression clonedExpression = expression.accept(visitor); clonedColProjectors.add(new ExpressionProjector(colProjector.getName(), colProjector.getTableName(), clonedExpression, colProjector.isCaseSensitive())); } else { clonedColProjectors.add(colProjector); } } return new RowProjector(clonedColProjectors, this.estimatedSize, this.isProjectEmptyKeyValue, this.hasUDFs, this.isProjectAll); }
context.getAggregationManager().compile(context, GroupBy.EMPTY_GROUP_BY); if (dataPlan.getProjector().projectEveryRow()) { projectorToBe = new RowProjector(projectorToBe,true);
return new RowProjector(projectedColumns, Math.max(estimatedKeySize, estimatedByteSize), isProjectEmptyKeyValue, resolver.hasUDFs(), isWildcard);
context.getAggregationManager().compile(context, GroupBy.EMPTY_GROUP_BY); if (dataPlan.getProjector().projectEveryRow()) { projectorToBe = new RowProjector(projectorToBe,true);
return new RowProjector(projectedColumns, Math.max(estimatedKeySize, estimatedByteSize), isProjectEmptyKeyValue, resolver.hasUDFs(), isWildcard);
,GroupBy.EMPTY_GROUP_BY); if (queryPlan.getProjector().projectEveryRow()) { aggProjectorToBe = new RowProjector(aggProjectorToBe,true);
,GroupBy.EMPTY_GROUP_BY); if (queryPlan.getProjector().projectEveryRow()) { aggProjectorToBe = new RowProjector(aggProjectorToBe,true);
scan.addFamily(family); projector = new RowProjector(projector,false);
scan.addFamily(family); projector = new RowProjector(projector,false);