logExpr(nd, ewi); owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); if (HiveConf.getBoolVar(owi.getParseContext().getConf(), boolean hasUnpushedPredicates = mergeWithChildrenPred(nd, owi, ewi, null); if (HiveConf.getBoolVar(owi.getParseContext().getConf(), HiveConf.ConfVars.HIVEPPDREMOVEDUPLICATEFILTERS)) { if (hasUnpushedPredicates) { ExprWalkerInfo unpushedPreds = mergeChildrenPred(nd, owi, null, false); return createFilter((Operator)nd, unpushedPreds, owi);
logExpr(nd, ewi); owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); boolean hasUnpushedPredicates = mergeWithChildrenPred(nd, owi, ewi, null); if (HiveConf.getBoolVar(owi.getParseContext().getConf(), HiveConf.ConfVars.HIVEPPDREMOVEDUPLICATEFILTERS)) { if (hasUnpushedPredicates) { ExprWalkerInfo unpushedPreds = mergeChildrenPred(nd, owi, null, false); return createFilter((Operator)nd, unpushedPreds, owi);
@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; } }
public static NodeProcessor getFilterProc() { return new FilterPPD(); }
public static NodeProcessor getFilterProc() { return new FilterPPD(); }
logExpr(nd, ewi); owi.putPrunedPreds((Operator<? extends OperatorDesc>) nd, ewi); if (HiveConf.getBoolVar(owi.getParseContext().getConf(), boolean hasUnpushedPredicates = mergeWithChildrenPred(nd, owi, ewi, null); if (HiveConf.getBoolVar(owi.getParseContext().getConf(), HiveConf.ConfVars.HIVEPPDREMOVEDUPLICATEFILTERS)) { if (hasUnpushedPredicates) { ExprWalkerInfo unpushedPreds = mergeChildrenPred(nd, owi, null, false); return createFilter((Operator)nd, unpushedPreds, owi);
public static NodeProcessor getFilterProc() { return new FilterPPD(); }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { return process(nd, stack, procCtx, false, nodeOutputs); }
public static NodeProcessor getFilterProc() { return new FilterPPD(); }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { return process(nd, stack, procCtx, false, nodeOutputs); }