You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by td...@apache.org on 2012/10/18 23:04:24 UTC
[3/4] git commit: DRILL-5 - dropped OperatorReference
DRILL-5 - dropped OperatorReference
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/efeec4d7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/efeec4d7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/efeec4d7
Branch: refs/heads/master
Commit: efeec4d7bfecff53239be83d35f62519710f8dc1
Parents: 1d66bc7
Author: tdunning <td...@apache.org>
Authored: Wed Oct 17 16:33:43 2012 -0700
Committer: tdunning <td...@apache.org>
Committed: Wed Oct 17 16:33:43 2012 -0700
----------------------------------------------------------------------
.../org/apache/drill/plan/PhysicalInterpreter.java | 5 +-
.../plan/physical/operators/ArithmeticOp.java | 24 +++++-----
.../apache/drill/plan/physical/operators/Bind.java | 8 ++--
.../drill/plan/physical/operators/ConstantOp.java | 2 +-
.../drill/plan/physical/operators/Filter.java | 10 ++--
.../drill/plan/physical/operators/Operator.java | 4 +-
.../plan/physical/operators/OperatorReference.java | 39 ---------------
.../drill/plan/physical/operators/ScanJson.java | 6 +-
8 files changed, 29 insertions(+), 69 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/PhysicalInterpreter.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/PhysicalInterpreter.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/PhysicalInterpreter.java
index dd25507..3058206 100644
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/PhysicalInterpreter.java
+++ b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/PhysicalInterpreter.java
@@ -24,7 +24,6 @@ import org.apache.drill.plan.ast.Op;
import org.apache.drill.plan.ast.Plan;
import org.apache.drill.plan.physical.operators.DataListener;
import org.apache.drill.plan.physical.operators.Operator;
-import org.apache.drill.plan.physical.operators.OperatorReference;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
@@ -44,7 +43,7 @@ public class PhysicalInterpreter implements DataListener {
private final List<Operator> ops;
public PhysicalInterpreter(Plan prog) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {
- Map<Integer, OperatorReference> bindings = Maps.newHashMap();
+ Map<Integer, Operator> bindings = Maps.newHashMap();
ops = Lists.newArrayList();
for (Op op : prog.getStatements()) {
@@ -58,7 +57,7 @@ public class PhysicalInterpreter implements DataListener {
Collection<Arg> outputs = prog.getOutputs();
for (Arg output : outputs) {
- bindings.get(output.asSymbol().getInt()).getOp().addDataListener(this);
+ bindings.get(output.asSymbol().getInt()).addDataListener(this);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ArithmeticOp.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ArithmeticOp.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ArithmeticOp.java
index b994628..516feff 100644
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ArithmeticOp.java
+++ b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ArithmeticOp.java
@@ -39,11 +39,11 @@ public abstract class ArithmeticOp extends EvalOperator {
public EvalOperator left, right;
- public ArithmeticOp(Op op, Map<Integer, OperatorReference> bindings) {
+ public ArithmeticOp(Op op, Map<Integer, Operator> bindings) {
checkArity(op, 2, 1);
// bind our output
- bindings.put(op.getOutputs().get(0).asSymbol().getInt(), new OperatorReference(this, 0));
+ bindings.put(op.getOutputs().get(0).asSymbol().getInt(), this);
}
@Override
@@ -63,7 +63,7 @@ public abstract class ArithmeticOp extends EvalOperator {
}
@Override
- public void link(Op op, Map<Integer, OperatorReference> bindings) {
+ public void link(Op op, Map<Integer, Operator> bindings) {
checkArity(op, 2, 1);
List<Arg> in = op.getInputs();
@@ -71,11 +71,11 @@ public abstract class ArithmeticOp extends EvalOperator {
right = extractOperand(in.get(1), bindings);
}
- private EvalOperator extractOperand(Arg arg, Map<Integer, ? extends OperatorReference> bindings) {
+ private EvalOperator extractOperand(Arg arg, Map<Integer, Operator> bindings) {
if (arg instanceof Arg.Number) {
return new ConstantOp(((Arg.Number) arg).doubleValue());
} else if (arg instanceof Arg.Symbol) {
- return (EvalOperator) bindings.get(arg.asSymbol().getInt()).getOp();
+ return (EvalOperator) bindings.get(arg.asSymbol().getInt());
} else {
throw new IllegalArgumentException("Wanted constant or reference to another operator");
}
@@ -84,7 +84,7 @@ public abstract class ArithmeticOp extends EvalOperator {
public abstract Object eval(double x, double y);
public static class GT extends ArithmeticOp {
- public GT(Op op, Map<Integer, OperatorReference> bindings) {
+ public GT(Op op, Map<Integer, Operator> bindings) {
super(op, bindings);
}
@@ -95,7 +95,7 @@ public abstract class ArithmeticOp extends EvalOperator {
}
public static class LT extends ArithmeticOp {
- public LT(Op op, Map<Integer, OperatorReference> bindings) {
+ public LT(Op op, Map<Integer, Operator> bindings) {
super(op, bindings);
}
@@ -106,7 +106,7 @@ public abstract class ArithmeticOp extends EvalOperator {
}
public static class EQUALS extends ArithmeticOp {
- public EQUALS(Op op, Map<Integer, OperatorReference> bindings) {
+ public EQUALS(Op op, Map<Integer, Operator> bindings) {
super(op, bindings);
}
@@ -117,7 +117,7 @@ public abstract class ArithmeticOp extends EvalOperator {
}
public static class PLUS extends ArithmeticOp {
- public PLUS(Op op, Map<Integer, OperatorReference> bindings) {
+ public PLUS(Op op, Map<Integer, Operator> bindings) {
super(op, bindings);
}
@@ -129,7 +129,7 @@ public abstract class ArithmeticOp extends EvalOperator {
public static class MINUS extends ArithmeticOp {
- public MINUS(Op op, Map<Integer, OperatorReference> bindings) {
+ public MINUS(Op op, Map<Integer, Operator> bindings) {
super(op, bindings);
}
@@ -141,7 +141,7 @@ public abstract class ArithmeticOp extends EvalOperator {
public static class TIMES extends ArithmeticOp {
- public TIMES(Op op, Map<Integer, OperatorReference> bindings) {
+ public TIMES(Op op, Map<Integer, Operator> bindings) {
super(op, bindings);
}
@@ -153,7 +153,7 @@ public abstract class ArithmeticOp extends EvalOperator {
public static class DIVIDE extends ArithmeticOp {
- public DIVIDE(Op op, Map<Integer, OperatorReference> bindings) {
+ public DIVIDE(Op op, Map<Integer, Operator> bindings) {
super(op, bindings);
}
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Bind.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Bind.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Bind.java
index ca99afc..329272e 100644
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Bind.java
+++ b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Bind.java
@@ -35,17 +35,17 @@ public class Bind extends EvalOperator {
private String name;
- public Bind(Op op, Map<Integer, OperatorReference> bindings) {
+ public Bind(Op op, Map<Integer, Operator> bindings) {
checkArity(op, 2, 1);
List<Arg> out = op.getOutputs();
- bindings.put(out.get(0).asSymbol().getInt(), new OperatorReference(this, 0));
+ bindings.put(out.get(0).asSymbol().getInt(), this);
}
@Override
- public void link(Op op, Map<Integer, OperatorReference> bindings) {
+ public void link(Op op, Map<Integer, Operator> bindings) {
// connect to our inputs
name = op.getInputs().get(0).asString();
- schema = bindings.get(op.getInputs().get(1).asSymbol().getInt()).getOp().getSchema();
+ schema = bindings.get(op.getInputs().get(1).asSymbol().getInt()).getSchema();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ConstantOp.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ConstantOp.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ConstantOp.java
index 60ed918..568ed67 100644
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ConstantOp.java
+++ b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ConstantOp.java
@@ -32,7 +32,7 @@ public class ConstantOp extends EvalOperator {
}
@Override
- public void link(Op op, Map<Integer, OperatorReference> bindings) {
+ public void link(Op op, Map<Integer, Operator> bindings) {
// ignore
}
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Filter.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Filter.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Filter.java
index c677faf..423381b 100644
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Filter.java
+++ b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Filter.java
@@ -36,23 +36,23 @@ public class Filter extends Operator implements DataListener {
private EvalOperator filterExpression = null;
- public Filter(Op op, Map<Integer, OperatorReference> bindings) {
+ public Filter(Op op, Map<Integer, Operator> bindings) {
checkArity(op, 2, 1);
List<Arg> outputs = op.getOutputs();
if (outputs.size() != 1) {
throw new IllegalArgumentException("filter operator should only have one output");
}
- bindings.put(outputs.get(0).asSymbol().getInt(), new OperatorReference(this, 0));
+ bindings.put(outputs.get(0).asSymbol().getInt(), this);
}
@Override
- public void link(Op op, Map<Integer, OperatorReference> bindings) {
+ public void link(Op op, Map<Integer, Operator> bindings) {
List<Arg> inputs = op.getInputs();
if (inputs.size() != 2) {
throw new IllegalArgumentException("filter requires two inputs, a filter-expression and a data source. Got " + inputs.size());
}
- filterExpression = (EvalOperator) bindings.get(inputs.get(0).asSymbol().getInt()).getOp();
- data = bindings.get(inputs.get(1).asSymbol().getInt()).getOp();
+ filterExpression = (EvalOperator) bindings.get(inputs.get(0).asSymbol().getInt());
+ data = bindings.get(inputs.get(1).asSymbol().getInt());
data.addDataListener(this);
}
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Operator.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Operator.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Operator.java
index c537ca1..d34ff9c 100644
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Operator.java
+++ b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/Operator.java
@@ -64,7 +64,7 @@ public abstract class Operator implements Callable<Object> {
operatorMap.put(name, clazz);
}
- public static Operator create(Op op, Map<Integer, OperatorReference> bindings) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
+ public static Operator create(Op op, Map<Integer, Operator> bindings) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
Class<? extends Operator> c = operatorMap.get(op.getOp());
if (c == null) {
throw new IllegalArgumentException(String.format("No such operators as %s", op.getOp()));
@@ -90,7 +90,7 @@ public abstract class Operator implements Callable<Object> {
throw new UnsupportedOperationException("default no can do"); //To change body of created methods use File | Settings | File Templates.
}
- public abstract void link(Op op, Map<Integer, OperatorReference> bindings);
+ public abstract void link(Op op, Map<Integer, Operator> bindings);
public Object call() throws Exception {
// do nothing
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/OperatorReference.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/OperatorReference.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/OperatorReference.java
deleted file mode 100644
index bfb76b7..0000000
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/OperatorReference.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.drill.plan.physical.operators;
-
-/**
- * Record a reference to a particular output of an Operator.
- */
-public class OperatorReference {
- private Operator op;
- private int port;
-
- public OperatorReference(Operator op, int port) {
- this.op = op;
- this.port = port;
- }
-
- public Operator getOp() {
- return op;
- }
-
- public int getPort() {
- return port;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/efeec4d7/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ScanJson.java
----------------------------------------------------------------------
diff --git a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ScanJson.java b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ScanJson.java
index 3c7ebe7..55e4ea0 100644
--- a/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ScanJson.java
+++ b/sandbox/plan-parser/src/main/java/org/apache/drill/plan/physical/operators/ScanJson.java
@@ -46,7 +46,7 @@ public class ScanJson extends Operator {
private InputSupplier<InputStreamReader> input;
- public ScanJson(Op op, Map<Integer, OperatorReference> bindings) {
+ public ScanJson(Op op, Map<Integer, Operator> bindings) {
List<Arg> in = op.getInputs();
if (in.size() != 1) {
throw new IllegalArgumentException("scan-json should have exactly one argument (a file name)");
@@ -57,7 +57,7 @@ public class ScanJson extends Operator {
if (out.size() != 1) {
throw new IllegalArgumentException("scan-json should have exactly one output");
}
- bindings.put(out.get(0).asSymbol().getInt(), new OperatorReference(this, 0));
+ bindings.put(out.get(0).asSymbol().getInt(), this);
}
public ScanJson(InputSupplier<InputStreamReader> input) throws IOException {
@@ -69,7 +69,7 @@ public class ScanJson extends Operator {
}
@Override
- public void link(Op next, Map<Integer, OperatorReference> bindings) {
+ public void link(Op next, Map<Integer, Operator> bindings) {
// nothing to look for
}