@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; // The lateral view forward operator has 2 children, a SELECT(*) and // a SELECT(cols) (for the UDTF operator) The child at index 0 is the // SELECT(*) because that's the way that the DAG was constructed. We // only want to get the predicates from the SELECT(*). ExprWalkerInfo childPreds = owi .getPrunedPreds((Operator<? extends OperatorDesc>) nd.getChildren() .get(0)); owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, childPreds); return null; }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; // The lateral view forward operator has 2 children, a SELECT(*) and // a SELECT(cols) (for the UDTF operator) The child at index 0 is the // SELECT(*) because that's the way that the DAG was constructed. We // only want to get the predicates from the SELECT(*). ExprWalkerInfo childPreds = owi .getPrunedPreds((Operator<? extends OperatorDesc>) nd.getChildren() .get(0)); owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, childPreds); return null; }
owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); return hasUnpushedPredicates;
owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); return hasUnpushedPredicates;
if (walkerInfo != null) { walkerInfo.getNonFinalCandidates().clear(); owi.putPrunedPreds(output, walkerInfo);
if (walkerInfo != null) { walkerInfo.getNonFinalCandidates().clear(); owi.putPrunedPreds(output, walkerInfo);
owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); if (HiveConf.getBoolVar(owi.getParseContext().getConf(), HiveConf.ConfVars.HIVEPPDREMOVEDUPLICATEFILTERS)) {
owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); if (HiveConf.getBoolVar(owi.getParseContext().getConf(), HiveConf.ConfVars.HIVEPPDREMOVEDUPLICATEFILTERS)) {
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; ExprWalkerInfo childPreds = owi .getPrunedPreds((Operator<? extends Serializable>) nd.getChildren() .get(0)); owi.putPrunedPreds((Operator<? extends Serializable>) nd, childPreds); return null; }
owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); return hasUnpushedPredicates;
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; // The lateral view forward operator has 2 children, a SELECT(*) and // a SELECT(cols) (for the UDTF operator) The child at index 0 is the // SELECT(*) because that's the way that the DAG was constructed. We // only want to get the predicates from the SELECT(*). ExprWalkerInfo childPreds = owi .getPrunedPreds((Operator<? extends OperatorDesc>) nd.getChildren() .get(0)); owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, childPreds); return null; }
owi.putPrunedPreds((Operator<? extends Serializable>) nd, ewi);
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; Operator<? extends Serializable> op = (Operator<? extends Serializable>) nd; ExprNodeDesc predicate = (((FilterOperator) nd).getConf()).getPredicate(); // get pushdown predicates for this operator's predicate ExprWalkerInfo ewi = ExprWalkerProcFactory.extractPushdownPreds(owi, op, predicate); if (!ewi.isDeterministic()) { /* predicate is not deterministic */ if (op.getChildren() != null && op.getChildren().size() == 1) { createFilter(op, owi .getPrunedPreds((Operator<? extends Serializable>) (op .getChildren().get(0))), owi); } return null; } logExpr(nd, ewi); owi.putPrunedPreds(op, ewi); // merge it with children predicates mergeWithChildrenPred(op, owi, ewi, null, false); return null; } }
if (walkerInfo != null) { walkerInfo.getNonFinalCandidates().clear(); owi.putPrunedPreds(output, walkerInfo);
owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi);