ExpressionCountDistributor cntDistributor = new ExpressionCountDistributor(cntExpr); tupleExpr = tupleExpr.accept(cntDistributor); SumDynamicFunctionDesc sumDynFunc = new SumDynamicFunctionDesc(parameter, tupleExpr);
@Override public TupleExpression visitCaseCall(CaseTupleExpression caseExpr) { List<Pair<TupleFilter, TupleExpression>> whenList = Lists .newArrayListWithExpectedSize(caseExpr.getWhenList().size()); for (Pair<TupleFilter, TupleExpression> entry : caseExpr.getWhenList()) { TupleFilter filter = entry.getFirst(); TupleExpression expression = visitIndependent(entry.getSecond()); whenList.add(new Pair<>(filter, expression)); } TupleExpression elseExpr = null; if (caseExpr.getElseExpr() != null) { elseExpr = visitIndependent(caseExpr.getElseExpr()); } if (ifToCnt) { ifToCnt = ExpressionColCollector.collectMeasureColumns(caseExpr).isEmpty(); } return new CaseTupleExpression(whenList, elseExpr); }
public void testDistribute1() { NumberTupleExpression n = new NumberTupleExpression(10); ExpressionCountDistributor cntDistributor = new ExpressionCountDistributor(n); assertTrue(cntDistributor.ifCntSet());
public void testDistribute2() { NumberTupleExpression n = new NumberTupleExpression(10); ExpressionCountDistributor cntDistributor = new ExpressionCountDistributor(n); assertTrue(cntDistributor.ifCntSet());
ExpressionCountDistributor cntDistributor = new ExpressionCountDistributor(cntExpr); tupleExpr = tupleExpr.accept(cntDistributor); SumDynamicFunctionDesc sumDynFunc = new SumDynamicFunctionDesc(parameter, tupleExpr);
@Override public TupleExpression visitCaseCall(CaseTupleExpression caseExpr) { List<Pair<TupleFilter, TupleExpression>> whenList = Lists .newArrayListWithExpectedSize(caseExpr.getWhenList().size()); for (Pair<TupleFilter, TupleExpression> entry : caseExpr.getWhenList()) { TupleFilter filter = entry.getFirst(); TupleExpression expression = visitIndependent(entry.getSecond()); whenList.add(new Pair<>(filter, expression)); } TupleExpression elseExpr = null; if (caseExpr.getElseExpr() != null) { elseExpr = visitIndependent(caseExpr.getElseExpr()); } if (ifToCnt) { ifToCnt = ExpressionColCollector.collectMeasureColumns(caseExpr).isEmpty(); } return new CaseTupleExpression(whenList, elseExpr); }