|
11 | 11 | * See the License for the specific language governing permissions and
|
12 | 12 | * limitations under the License.
|
13 | 13 | */
|
14 |
| -package com.facebook.presto.sql.planner.plan; |
| 14 | +package com.facebook.presto.spi.plan; |
15 | 15 |
|
16 | 16 | import com.facebook.presto.common.predicate.TupleDomain;
|
17 |
| -import com.facebook.presto.metadata.IndexHandle; |
18 | 17 | import com.facebook.presto.spi.ColumnHandle;
|
| 18 | +import com.facebook.presto.spi.IndexHandle; |
19 | 19 | import com.facebook.presto.spi.SourceLocation;
|
20 | 20 | import com.facebook.presto.spi.TableHandle;
|
21 |
| -import com.facebook.presto.spi.plan.PlanNode; |
22 |
| -import com.facebook.presto.spi.plan.PlanNodeId; |
23 | 21 | import com.facebook.presto.spi.relation.VariableReferenceExpression;
|
24 | 22 | import com.fasterxml.jackson.annotation.JsonCreator;
|
25 | 23 | import com.fasterxml.jackson.annotation.JsonProperty;
|
26 |
| -import com.google.common.collect.ImmutableList; |
27 |
| -import com.google.common.collect.ImmutableMap; |
28 |
| -import com.google.common.collect.ImmutableSet; |
29 | 24 |
|
| 25 | +import java.util.ArrayList; |
| 26 | +import java.util.LinkedHashMap; |
| 27 | +import java.util.LinkedHashSet; |
30 | 28 | import java.util.List;
|
31 | 29 | import java.util.Map;
|
32 | 30 | import java.util.Optional;
|
33 | 31 | import java.util.Set;
|
34 | 32 |
|
35 |
| -import static com.google.common.base.Preconditions.checkArgument; |
| 33 | +import static com.facebook.presto.common.Utils.checkArgument; |
| 34 | +import static java.util.Collections.emptyList; |
| 35 | +import static java.util.Collections.unmodifiableList; |
| 36 | +import static java.util.Collections.unmodifiableMap; |
| 37 | +import static java.util.Collections.unmodifiableSet; |
36 | 38 | import static java.util.Objects.requireNonNull;
|
37 | 39 |
|
38 | 40 | public class IndexSourceNode
|
39 |
| - extends InternalPlanNode |
| 41 | + extends PlanNode |
40 | 42 | {
|
41 | 43 | private final IndexHandle indexHandle;
|
42 | 44 | private final TableHandle tableHandle;
|
@@ -73,9 +75,9 @@ public IndexSourceNode(
|
73 | 75 | super(sourceLocation, id, statsEquivalentPlanNode);
|
74 | 76 | this.indexHandle = requireNonNull(indexHandle, "indexHandle is null");
|
75 | 77 | this.tableHandle = requireNonNull(tableHandle, "tableHandle is null");
|
76 |
| - this.lookupVariables = ImmutableSet.copyOf(requireNonNull(lookupVariables, "lookupVariables is null")); |
77 |
| - this.outputVariables = ImmutableList.copyOf(requireNonNull(outputVariables, "outputVariables is null")); |
78 |
| - this.assignments = ImmutableMap.copyOf(requireNonNull(assignments, "assignments is null")); |
| 78 | + this.lookupVariables = unmodifiableSet(new LinkedHashSet<>(requireNonNull(lookupVariables, "lookupVariables is null"))); |
| 79 | + this.outputVariables = unmodifiableList(new ArrayList<>(requireNonNull(outputVariables, "outputVariables is null"))); |
| 80 | + this.assignments = unmodifiableMap(new LinkedHashMap<>(requireNonNull(assignments, "assignments is null"))); |
79 | 81 | this.currentConstraint = requireNonNull(currentConstraint, "effectiveTupleDomain is null");
|
80 | 82 | checkArgument(!lookupVariables.isEmpty(), "lookupVariables is empty");
|
81 | 83 | checkArgument(!outputVariables.isEmpty(), "outputVariables is empty");
|
@@ -123,11 +125,11 @@ public TupleDomain<ColumnHandle> getCurrentConstraint()
|
123 | 125 | @Override
|
124 | 126 | public List<PlanNode> getSources()
|
125 | 127 | {
|
126 |
| - return ImmutableList.of(); |
| 128 | + return emptyList(); |
127 | 129 | }
|
128 | 130 |
|
129 | 131 | @Override
|
130 |
| - public <R, C> R accept(InternalPlanVisitor<R, C> visitor, C context) |
| 132 | + public <R, C> R accept(PlanVisitor<R, C> visitor, C context) |
131 | 133 | {
|
132 | 134 | return visitor.visitIndexSource(this, context);
|
133 | 135 | }
|
|
0 commit comments