@Override public Void visitDelegateOperator(DelegateOperator op, Void arg) throws AlgebricksException { op.getDelegate().getProducedVariables(producedVariables); return null; }
@Override public Void visitDelegateOperator(DelegateOperator op, Void arg) throws AlgebricksException { op.getDelegate().getUsedVariables(usedVariables); return null; }
private boolean checkIfRuleIsApplicable(AbstractLogicalOperator op) { if (op.getOperatorTag() != LogicalOperatorTag.DELEGATE_OPERATOR) { return false; } DelegateOperator extensionOp = (DelegateOperator) op; if (!(extensionOp.getDelegate() instanceof CommitOperator)) { return false; } for (int i = 0; i < op.getInputs().size(); ++i) { AbstractLogicalOperator descendantOp = (AbstractLogicalOperator) op.getInputs().get(i).getValue(); if (descendantOp.getOperatorTag() == LogicalOperatorTag.PROJECT || descendantOp.getOperatorTag() == LogicalOperatorTag.ASSIGN) { if (descendantOp.getPhysicalOperator() == null) { return false; } } checkIfRuleIsApplicable(descendantOp); } return true; }
|| op.getOperatorTag() == LogicalOperatorTag.SINK || (op.getOperatorTag() == LogicalOperatorTag.DELEGATE_OPERATOR && ((DelegateOperator) op).getDelegate() instanceof CommitOperator)) { for (Map.Entry<AbstractReplicateOperator, MutableInt> entry : replicateOperators.entrySet()) { if (entry.getKey().getOutputs().size() != entry.getValue().getValue()) {
if (!(eOp.getDelegate() instanceof CommitOperator)) { return false;
&& !(((DelegateOperator) op).getDelegate() instanceof CommitOperator)) { return false;
if (!(eOp.getDelegate() instanceof CommitOperator)) { return false; boolean isSink = ((CommitOperator) eOp.getDelegate()).isSink();
if (!(eOp.getDelegate() instanceof CommitOperator)) { return false;
if (currentOp.getOperatorTag() == LogicalOperatorTag.DELEGATE_OPERATOR) { DelegateOperator dOp = (DelegateOperator) currentOp; if (!(dOp.getDelegate() instanceof CommitOperator)) { return false; } else if (!((CommitOperator) dOp.getDelegate()).isSink()) { return false;
if (!(eOp.getDelegate() instanceof CommitOperator)) { return false;