You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by tl...@apache.org on 2021/10/20 13:45:57 UTC
[ignite-3] branch main updated: IGNITE-15599 Get rid Guava in
Calcite module (#398)
This is an automated email from the ASF dual-hosted git repository.
tledkov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 03e9467 IGNITE-15599 Get rid Guava in Calcite module (#398)
03e9467 is described below
commit 03e9467f40d5ce1749614daae2d204eefb52912b
Author: Taras Ledkov <tl...@gridgain.com>
AuthorDate: Wed Oct 20 16:45:47 2021 +0300
IGNITE-15599 Get rid Guava in Calcite module (#398)
---
.../query/calcite/exec/ExchangeServiceImpl.java | 4 +-
.../query/calcite/exec/ExecutionServiceImpl.java | 3 +-
.../query/calcite/exec/PlannerHelper.java | 6 +-
.../query/calcite/exec/exp/ExpressionFactory.java | 3 +-
.../calcite/exec/exp/ExpressionFactoryImpl.java | 11 +-
.../query/calcite/exec/exp/RexImpTable.java | 7 +-
.../query/calcite/exec/exp/RexToLixTranslator.java | 3 +-
.../calcite/exec/exp/agg/AccumulatorsFactory.java | 24 ++---
.../query/calcite/externalize/RelJson.java | 24 ++---
.../query/calcite/externalize/RelJsonReader.java | 17 ++-
.../query/calcite/metadata/IgniteMdCollation.java | 115 ++++++++++++++-------
.../calcite/metadata/IgniteMdFragmentMapping.java | 7 +-
.../query/calcite/metadata/IgniteMetadata.java | 5 +-
.../processors/query/calcite/prepare/Cloner.java | 11 +-
.../query/calcite/prepare/ExecutionPlan.java | 6 +-
.../processors/query/calcite/prepare/Fragment.java | 5 +-
.../query/calcite/prepare/FragmentSplitter.java | 5 +-
.../query/calcite/prepare/IgnitePlanner.java | 9 +-
.../query/calcite/prepare/PlannerHelper.java | 6 +-
.../query/calcite/prepare/QueryTemplate.java | 16 +--
.../processors/query/calcite/prepare/Splitter.java | 5 +-
.../query/calcite/rel/AbstractIgniteJoin.java | 31 +++---
.../query/calcite/rel/IgniteAggregate.java | 3 +-
.../rel/IgniteCorrelatedNestedLoopJoin.java | 24 ++---
.../processors/query/calcite/rel/IgniteFilter.java | 13 ++-
.../query/calcite/rel/IgniteIndexScan.java | 3 +-
.../processors/query/calcite/rel/IgniteLimit.java | 5 +-
.../query/calcite/rel/IgniteMergeJoin.java | 10 +-
.../query/calcite/rel/IgniteNestedLoopJoin.java | 3 +-
.../query/calcite/rel/IgniteProject.java | 23 ++---
.../processors/query/calcite/rel/IgniteSort.java | 5 +-
.../query/calcite/rel/IgniteTableFunctionScan.java | 3 +-
.../query/calcite/rel/IgniteTableScan.java | 4 +-
.../query/calcite/rel/IgniteUnionAll.java | 16 +--
.../calcite/rel/agg/IgniteHashAggregateBase.java | 7 +-
.../calcite/rel/agg/IgniteMapAggregateBase.java | 10 +-
.../calcite/rel/agg/IgniteReduceAggregateBase.java | 14 +--
.../calcite/rel/agg/IgniteReduceHashAggregate.java | 5 +-
.../calcite/rel/agg/IgniteSingleAggregateBase.java | 10 +-
.../calcite/rel/agg/IgniteSortAggregateBase.java | 7 +-
.../rel/logical/IgniteLogicalIndexScan.java | 3 +-
.../rel/logical/IgniteLogicalTableScan.java | 3 +-
.../query/calcite/rel/set/IgniteMapSetOp.java | 13 ++-
.../query/calcite/rel/set/IgniteMinusBase.java | 4 +-
.../calcite/rel/set/IgniteReduceIntersect.java | 3 +-
.../query/calcite/rel/set/IgniteReduceMinus.java | 3 +-
.../query/calcite/rel/set/IgniteReduceSetOp.java | 11 +-
.../query/calcite/rel/set/IgniteSetOp.java | 3 +-
.../query/calcite/rel/set/IgniteSingleSetOp.java | 11 +-
.../FilterSpoolMergeToSortedIndexSpoolRule.java | 5 +-
.../calcite/rule/logical/LogicalOrToUnionRule.java | 5 +-
.../query/calcite/schema/IgniteTableImpl.java | 5 +-
.../calcite/sql/IgniteSqlCreateTableOption.java | 3 +-
.../query/calcite/trait/CorrelationTrait.java | 5 +-
.../query/calcite/trait/DistributionTrait.java | 27 ++++-
.../processors/query/calcite/trait/TraitUtils.java | 26 +++--
.../processors/query/calcite/util/Commons.java | 16 +++
.../processors/query/calcite/util/HintUtils.java | 6 +-
.../ExecutionPlan.java => util/LocalCache.java} | 42 +++++---
.../processors/query/calcite/util/Primitives.java | 105 +++++++++++++++++++
.../processors/query/calcite/util/TypeUtils.java | 3 +-
.../calcite/exec/rel/AbstractExecutionTest.java | 4 +-
.../query/calcite/exec/rel/BaseAggregateTest.java | 21 ++--
.../query/calcite/exec/rel/ExecutionTest.java | 4 +-
.../exec/rel/HashAggregateExecutionTest.java | 6 +-
.../rel/HashAggregateSingleGroupExecutionTest.java | 21 ++--
.../exec/rel/SortAggregateExecutionTest.java | 6 +-
.../query/calcite/planner/AbstractPlannerTest.java | 5 +-
.../query/calcite/planner/PlannerTest.java | 4 +-
.../query/calcite/sql/SqlDdlParserTest.java | 15 ++-
.../{calcite/util/Commons.java => ITUtils.java} | 27 +++--
.../calcite/AbstractBasicIntegrationTest.java | 5 +-
.../ignite/internal/calcite/ITDataTypesTest.java | 8 +-
.../ignite/internal/calcite/ITSetOpTest.java | 4 +-
.../ignite/internal/calcite/util/Commons.java | 4 +-
.../runner/app/AbstractSchemaChangeTest.java | 5 +-
.../internal/runner/app/ITBaselineChangesTest.java | 5 +-
.../runner/app/ITDynamicTableCreationTest.java | 5 +-
.../ignite/internal/runner/app/ITIgnitionTest.java | 5 +-
.../internal/runner/app/ITTablesApiTest.java | 5 +-
.../runner/app/ITThinClientConnectionTest.java | 5 +-
81 files changed, 563 insertions(+), 391 deletions(-)
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExchangeServiceImpl.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExchangeServiceImpl.java
index bed5e6b..15cf232 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExchangeServiceImpl.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExchangeServiceImpl.java
@@ -19,9 +19,9 @@ package org.apache.ignite.internal.processors.query.calcite.exec;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
-import com.google.common.collect.ImmutableMap;
import org.apache.ignite.internal.processors.query.calcite.exec.rel.Inbox;
import org.apache.ignite.internal.processors.query.calcite.exec.rel.Outbox;
import org.apache.ignite.internal.processors.query.calcite.message.InboxCloseMessage;
@@ -257,7 +257,7 @@ public class ExchangeServiceImpl implements ExchangeService {
null,
null),
null,
- ImmutableMap.of());
+ Map.of());
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java
index f2f2f6d..7e0ed83 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java
@@ -28,7 +28,6 @@ import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.Contexts;
import org.apache.calcite.plan.ConventionTraitDef;
import org.apache.calcite.plan.RelOptUtil;
@@ -307,7 +306,7 @@ public class ExecutionServiceImpl<Row> implements ExecutionService {
/** */
private List<QueryPlan> prepareFragment(PlanningContext ctx) {
- return ImmutableList.of(new FragmentPlan(fromJson(ctx, ctx.query())));
+ return List.of(new FragmentPlan(fromJson(ctx, ctx.query())));
}
/** */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java
index 4d53326..01a57d8 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java
@@ -19,8 +19,8 @@ package org.apache.ignite.internal.processors.query.calcite.exec;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelCollations;
import org.apache.calcite.rel.RelNode;
@@ -95,7 +95,7 @@ public class PlannerHelper {
igniteRel = new IgniteProject(igniteRel.getCluster(), desired, igniteRel, projects, root.validatedRowType);
}
- if (sqlNode.isA(ImmutableSet.of(SqlKind.INSERT, SqlKind.UPDATE, SqlKind.MERGE)))
+ if (sqlNode.isA(Set.of(SqlKind.INSERT, SqlKind.UPDATE, SqlKind.MERGE)))
igniteRel = new FixDependentModifyNodeShuttle().visit(igniteRel);
return igniteRel;
@@ -207,7 +207,7 @@ public class PlannerHelper {
if (scan instanceof IgniteTableScan)
return (IgniteRel)scan;
- ImmutableSet<Integer> indexedCols = ImmutableSet.copyOf(
+ Set<Integer> indexedCols = Set.copyOf(
tbl.getIndex(((AbstractIndexScan)scan).indexName()).collation().getKeys());
spoolNeeded = modifyNode.getUpdateColumnList().stream()
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactory.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactory.java
index 7255955..d48027d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactory.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactory.java
@@ -23,7 +23,6 @@ import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelFieldCollation;
import org.apache.calcite.rel.core.AggregateCall;
@@ -111,7 +110,7 @@ public interface ExpressionFactory<Row> {
* @return Scalar.
*/
default Scalar scalar(RexNode node, RelDataType type) {
- return scalar(ImmutableList.of(node), type);
+ return scalar(List.of(node), type);
}
/**
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactoryImpl.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactoryImpl.java
index eb8260d..adbffaf 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactoryImpl.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/ExpressionFactoryImpl.java
@@ -29,9 +29,6 @@ import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Ordering;
-import com.google.common.primitives.Primitives;
import org.apache.calcite.DataContext;
import org.apache.calcite.adapter.enumerable.EnumUtils;
import org.apache.calcite.linq4j.function.Function1;
@@ -65,6 +62,7 @@ import org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.Aggregat
import org.apache.ignite.internal.processors.query.calcite.type.IgniteTypeFactory;
import org.apache.ignite.internal.processors.query.calcite.util.Commons;
import org.apache.ignite.internal.processors.query.calcite.util.IgniteMethod;
+import org.apache.ignite.internal.processors.query.calcite.util.Primitives;
import static org.apache.ignite.internal.util.CollectionUtils.nullOrEmpty;
@@ -119,7 +117,8 @@ public class ExpressionFactoryImpl<Row> implements ExpressionFactory<Row> {
return null;
else if (collation.getFieldCollations().size() == 1)
return comparator(collation.getFieldCollations().get(0));
- return Ordering.compound(collation.getFieldCollations()
+
+ return Commons.compoundComparator(collation.getFieldCollations()
.stream()
.map(this::comparator)
.collect(Collectors.toList()));
@@ -136,7 +135,7 @@ public class ExpressionFactoryImpl<Row> implements ExpressionFactory<Row> {
for (int i = 0; i < left.size(); i++)
comparators.add(comparator(left.get(i), right.get(i)));
- return Ordering.compound(comparators);
+ return Commons.compoundComparator(comparators);
}
/** */
@@ -291,7 +290,7 @@ public class ExpressionFactoryImpl<Row> implements ExpressionFactory<Row> {
MethodDeclaration decl = Expressions.methodDecl(
Modifier.PUBLIC, void.class, IgniteMethod.SCALAR_EXECUTE.method().getName(),
- ImmutableList.of(ctx_, in_, out_), builder.toBlock());
+ List.of(ctx_, in_, out_), builder.toBlock());
return Commons.compile(Scalar.class, Expressions.toString(List.of(decl), "\n", false));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexImpTable.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexImpTable.java
index 93dff87..330141d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexImpTable.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexImpTable.java
@@ -31,7 +31,6 @@ import java.util.Map;
import java.util.function.Supplier;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.adapter.enumerable.EnumUtils;
import org.apache.calcite.adapter.enumerable.NullPolicy;
import org.apache.calcite.adapter.java.JavaTypeFactory;
@@ -1107,7 +1106,7 @@ public class RexImpTable {
* Types that can be arguments to comparison operators such as {@code <}.
*/
private static final List<Primitive> COMP_OP_TYPES =
- ImmutableList.of(
+ List.of(
Primitive.BYTE,
Primitive.CHAR,
Primitive.SHORT,
@@ -1118,7 +1117,7 @@ public class RexImpTable {
/** */
private static final List<SqlBinaryOperator> COMPARISON_OPERATORS =
- ImmutableList.of(
+ List.of(
SqlStdOperatorTable.LESS_THAN,
SqlStdOperatorTable.LESS_THAN_OR_EQUAL,
SqlStdOperatorTable.GREATER_THAN,
@@ -1126,7 +1125,7 @@ public class RexImpTable {
/** */
private static final List<SqlBinaryOperator> EQUALS_OPERATORS =
- ImmutableList.of(
+ List.of(
SqlStdOperatorTable.EQUALS,
SqlStdOperatorTable.NOT_EQUALS);
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexToLixTranslator.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexToLixTranslator.java
index b980735..2342908 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexToLixTranslator.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/RexToLixTranslator.java
@@ -25,7 +25,6 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.adapter.enumerable.PhysType;
import org.apache.calcite.adapter.java.JavaTypeFactory;
import org.apache.calcite.avatica.util.ByteString;
@@ -1181,7 +1180,7 @@ public class RexToLixTranslator implements RexVisitor<RexToLixTranslator.Result>
builder.makeLiteral(fieldName, typeFactory.createType(String.class), true);
RexCall accessCall = (RexCall)builder.makeCall(
fieldAccess.getType(), SqlStdOperatorTable.STRUCT_ACCESS,
- ImmutableList.of(target, rxIndex, rxName));
+ List.of(target, rxIndex, rxName));
final Result result2 = accessCall.accept(this);
rexWithStorageTypeResultMap.put(key, result2);
return result2;
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/agg/AccumulatorsFactory.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/agg/AccumulatorsFactory.java
index 4626623..f39b07d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/agg/AccumulatorsFactory.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/exp/agg/AccumulatorsFactory.java
@@ -19,15 +19,9 @@ package org.apache.ignite.internal.processors.query.calcite.exec.exp.agg;
import java.lang.reflect.Modifier;
import java.util.List;
-import java.util.concurrent.ExecutionException;
import java.util.function.Function;
import java.util.function.Supplier;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.ImmutableList;
-import com.google.common.primitives.Primitives;
import org.apache.calcite.DataContext;
import org.apache.calcite.adapter.enumerable.EnumUtils;
import org.apache.calcite.adapter.enumerable.JavaRowFormat;
@@ -52,7 +46,8 @@ import org.apache.ignite.internal.processors.query.calcite.exec.RowHandler;
import org.apache.ignite.internal.processors.query.calcite.prepare.PlanningContext;
import org.apache.ignite.internal.processors.query.calcite.type.IgniteTypeFactory;
import org.apache.ignite.internal.processors.query.calcite.util.Commons;
-import org.apache.ignite.lang.IgniteInternalException;
+import org.apache.ignite.internal.processors.query.calcite.util.LocalCache;
+import org.apache.ignite.internal.processors.query.calcite.util.Primitives;
import org.jetbrains.annotations.NotNull;
import static org.apache.ignite.internal.processors.query.calcite.util.TypeUtils.createRowType;
@@ -61,8 +56,8 @@ import static org.apache.ignite.internal.util.CollectionUtils.nullOrEmpty;
/** */
public class AccumulatorsFactory<Row> implements Supplier<List<AccumulatorWrapper<Row>>> {
/** */
- private static final LoadingCache<Pair<RelDataType, RelDataType>, Function<Object, Object>> CACHE =
- CacheBuilder.newBuilder().build(CacheLoader.from(AccumulatorsFactory::cast0));
+ private static final LocalCache<Pair<RelDataType, RelDataType>, Function<Object, Object>> CACHE =
+ new LocalCache<>(AccumulatorsFactory::cast0);
/** */
public static interface CastFunction extends Function<Object, Object> {
@@ -79,12 +74,7 @@ public class AccumulatorsFactory<Row> implements Supplier<List<AccumulatorWrappe
/** */
private static Function<Object, Object> cast(Pair<RelDataType, RelDataType> types) {
- try {
- return CACHE.get(types);
- }
- catch (ExecutionException e) {
- throw new IgniteInternalException(e);
- }
+ return CACHE.get(types);
}
/** */
@@ -114,7 +104,7 @@ public class AccumulatorsFactory<Row> implements Supplier<List<AccumulatorWrappe
RexToLixTranslator.InputGetter getter =
new RexToLixTranslator.InputGetterImpl(
- ImmutableList.of(
+ List.of(
Pair.of(EnumUtils.convert(in_, Object.class, typeFactory.getJavaClass(from)),
PhysTypeImpl.of(typeFactory, rowType,
JavaRowFormat.SCALAR, false))));
@@ -130,7 +120,7 @@ public class AccumulatorsFactory<Row> implements Supplier<List<AccumulatorWrappe
list.add(projects.get(0));
MethodDeclaration decl = Expressions.methodDecl(
- Modifier.PUBLIC, Object.class, "apply", ImmutableList.of(in_), list.toBlock());
+ Modifier.PUBLIC, Object.class, "apply", List.of(in_), list.toBlock());
return Commons.compile(CastFunction.class, Expressions.toString(List.of(decl), "\n", false));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJson.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJson.java
index 17ce506..b099a30 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJson.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJson.java
@@ -20,6 +20,7 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
@@ -29,11 +30,7 @@ import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
import org.apache.calcite.avatica.AvaticaUtils;
import org.apache.calcite.avatica.util.TimeUnit;
import org.apache.calcite.avatica.util.TimeUnitRange;
@@ -103,6 +100,7 @@ import org.apache.ignite.internal.processors.query.calcite.trait.IgniteDistribut
import org.apache.ignite.internal.processors.query.calcite.trait.IgniteDistributions;
import org.apache.ignite.internal.processors.query.calcite.type.IgniteTypeFactory;
import org.apache.ignite.internal.processors.query.calcite.util.Commons;
+import org.apache.ignite.internal.processors.query.calcite.util.LocalCache;
import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.lang.IgniteException;
@@ -126,8 +124,7 @@ class RelJson {
}
/** */
- private static final LoadingCache<String, RelFactory> FACTORIES_CACHE = CacheBuilder.newBuilder()
- .build(CacheLoader.from(RelJson::relFactory));
+ private static final LocalCache<String, RelFactory> FACTORIES_CACHE = new LocalCache<>(RelJson::relFactory);
/** */
private static RelFactory relFactory(String typeName) {
@@ -164,15 +161,14 @@ class RelJson {
}
/** */
- private static final ImmutableMap<String, Enum<?>> ENUM_BY_NAME;
+ private static final Map<String, Enum<?>> ENUM_BY_NAME;
/** */
static {
// Build a mapping from enum constants (e.g. LEADING) to the enum
// that contains them (e.g. SqlTrimFunction.Flag). If there two
// enum constants have the same name, the builder will throw.
- final ImmutableMap.Builder<String, Enum<?>> enumByName =
- ImmutableMap.builder();
+ final Map<String, Enum<?>> enumByName = new HashMap<>();
register(enumByName, JoinConditionType.class);
register(enumByName, JoinType.class);
@@ -193,14 +189,14 @@ class RelJson {
register(enumByName, SqlTrimFunction.Flag.class);
register(enumByName, TimeUnitRange.class);
- ENUM_BY_NAME = enumByName.build();
+ ENUM_BY_NAME = Map.copyOf(enumByName);
}
/** */
- private static void register(ImmutableMap.Builder<String, Enum<?>> builder, Class<? extends Enum> aClass) {
+ private static void register(Map<String, Enum<?>> map, Class<? extends Enum> aClass) {
String preffix = aClass.getSimpleName() + "#";
for (Enum enumConstant : aClass.getEnumConstants())
- builder.put(preffix + enumConstant.name(), enumConstant);
+ map.put(preffix + enumConstant.name(), enumConstant);
}
/** */
@@ -218,7 +214,7 @@ class RelJson {
/** */
private static final List<String> PACKAGES =
- ImmutableList.of(
+ List.of(
"org.apache.ignite.internal.processors.query.calcite.rel.",
"org.apache.ignite.internal.processors.query.calcite.rel.agg.",
"org.apache.ignite.internal.processors.query.calcite.rel.set.",
@@ -235,7 +231,7 @@ class RelJson {
/** */
Function<RelInput, RelNode> factory(String type) {
- return FACTORIES_CACHE.getUnchecked(type);
+ return FACTORIES_CACHE.get(type);
}
/** */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java
index 0d0a9a3..e2d8407 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java
@@ -156,7 +156,7 @@ public class RelJsonReader {
@Override public List<RelNode> getInputs() {
List<String> jsonInputs = getStringList("inputs");
if (jsonInputs == null)
- return ImmutableList.of(lastRel);
+ return List.of(lastRel);
List<RelNode> inputs = new ArrayList<>();
for (String jsonInput : jsonInputs)
inputs.add(lookupInput(jsonInput));
@@ -176,13 +176,16 @@ public class RelJsonReader {
/** {@inheritDoc} */
@Override public List<ImmutableBitSet> getBitSetList(String tag) {
List<List<Integer>> list = getIntegerListList(tag);
+
if (list == null)
return null;
- ImmutableList.Builder<ImmutableBitSet> builder =
- ImmutableList.builder();
+
+ List<ImmutableBitSet> bitSets = new ArrayList<>();
+
for (List<Integer> integers : list)
- builder.add(ImmutableBitSet.of(integers));
- return builder.build();
+ bitSets.add(ImmutableBitSet.of(integers));
+
+ return List.copyOf(bitSets);
}
/** {@inheritDoc} */
@@ -289,8 +292,10 @@ public class RelJsonReader {
List<List> jsonTuples = (List)get(tag);
ImmutableList.Builder<ImmutableList<RexLiteral>> builder =
ImmutableList.builder();
+
for (List jsonTuple : jsonTuples)
builder.add(getTuple(jsonTuple));
+
return builder.build();
}
@@ -307,8 +312,10 @@ public class RelJsonReader {
private ImmutableList<RexLiteral> getTuple(List jsonTuple) {
ImmutableList.Builder<RexLiteral> builder =
ImmutableList.builder();
+
for (Object jsonValue : jsonTuple)
builder.add((RexLiteral)relJson.toRex(this, jsonValue));
+
return builder.build();
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdCollation.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdCollation.java
index d8a2974..fda198a 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdCollation.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdCollation.java
@@ -18,8 +18,12 @@
package org.apache.ignite.internal.processors.query.calcite.metadata;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -28,9 +32,6 @@ import java.util.TreeSet;
import java.util.stream.Collectors;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.LinkedListMultimap;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Ordering;
import org.apache.calcite.adapter.enumerable.EnumerableCorrelate;
import org.apache.calcite.adapter.enumerable.EnumerableHashJoin;
import org.apache.calcite.adapter.enumerable.EnumerableMergeJoin;
@@ -294,14 +295,24 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
final SortedSet<RelCollation> collations = new TreeSet<>();
final List<RelCollation> inputCollations = mq.collations(input);
if (inputCollations == null || inputCollations.isEmpty()) {
- return ImmutableList.of();
+ return List.of();
}
- final Multimap<Integer, Integer> targets = LinkedListMultimap.create();
+ final Map<Integer, List<Integer>> targets = new HashMap<>();
final Map<Integer, SqlMonotonicity> targetsWithMonotonicity =
new HashMap<>();
for (Ord<RexNode> project : Ord.<RexNode>zip(projects)) {
- if (project.e instanceof RexInputRef)
- targets.put(((RexSlot) project.e).getIndex(), project.i);
+ if (project.e instanceof RexInputRef) {
+ targets.compute(((RexSlot)project.e).getIndex(), (k, v) -> {
+ if (v == null)
+ return new ArrayList<>(Collections.singleton(project.i));
+ else {
+ v.add(project.i);
+
+ return v;
+ }
+ }
+ );
+ }
else if (project.e instanceof RexCall) {
final RexCall call = (RexCall) project.e;
final RexCallBinding binding =
@@ -355,7 +366,7 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
collations.add(RelCollations.of(fieldCollationsForRexCalls));
}
- return ImmutableList.copyOf(collations);
+ return List.copyOf(collations);
}
/** Helper method to determine a
@@ -366,7 +377,7 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
* implementation does not re-order its input rows, then any collations of its
* input are preserved. */
public static List<RelCollation> window(RelMetadataQuery mq, RelNode input,
- ImmutableList<Window.Group> groups) {
+ List<Window.Group> groups) {
return mq.collations(input);
}
@@ -405,22 +416,26 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
Util.discard(mq); // for future use
final List<RelCollation> list = new ArrayList<>();
final int n = rowType.getFieldCount();
- final List<Pair<RelFieldCollation, Ordering<List<RexLiteral>>>> pairs =
+ final List<Pair<RelFieldCollation, Comparator<List<RexLiteral>>>> pairs =
new ArrayList<>();
boolean skip = false;
+
for (int i = 0; i < n; i++) {
pairs.clear();
for (int j = i; j < n; j++) {
final RelFieldCollation fieldCollation = new RelFieldCollation(j);
- Ordering<List<RexLiteral>> comparator = comparator(fieldCollation);
- Ordering<List<RexLiteral>> ordering;
+
+ Comparator<List<RexLiteral>> comparator = comparator(fieldCollation);
+ Comparator<List<RexLiteral>> ordering;
+
if (pairs.isEmpty())
ordering = comparator;
else
- ordering = Util.last(pairs).right.compound(comparator);
+ ordering = Commons.compoundComparator(Arrays.asList(Util.last(pairs).right, comparator));
pairs.add(Pair.of(fieldCollation, ordering));
- if (!ordering.isOrdered(tuples)) {
+
+ if (!isOrdered(tuples, ordering)) {
if (j == i) {
skip = true;
@@ -435,33 +450,57 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
if (!pairs.isEmpty())
list.add(RelCollations.of(Pair.left(pairs)));
}
+
return list;
}
- private static Ordering<List<RexLiteral>> comparator(
+ /** */
+ private static Comparator<List<RexLiteral>> comparator(
RelFieldCollation fieldCollation) {
final int nullComparison = fieldCollation.nullDirection.nullComparison;
final int x = fieldCollation.getFieldIndex();
+
switch (fieldCollation.direction) {
- case ASCENDING:
- return new Ordering<List<RexLiteral>>() {
- @Override public int compare(List<RexLiteral> o1, List<RexLiteral> o2) {
- final Comparable c1 = o1.get(x).getValueAs(Comparable.class);
- final Comparable c2 = o2.get(x).getValueAs(Comparable.class);
- return RelFieldCollation.compare(c1, c2, nullComparison);
- }
+ case ASCENDING: {
+ return (o1, o2) -> {
+ final Comparable c1 = o1.get(x).getValueAs(Comparable.class);
+ final Comparable c2 = o2.get(x).getValueAs(Comparable.class);
+
+ return RelFieldCollation.compare(c1, c2, nullComparison);
};
- default:
- return new Ordering<List<RexLiteral>>() {
- @Override public int compare(List<RexLiteral> o1, List<RexLiteral> o2) {
- final Comparable c1 = o1.get(x).getValueAs(Comparable.class);
- final Comparable c2 = o2.get(x).getValueAs(Comparable.class);
- return RelFieldCollation.compare(c2, c1, -nullComparison);
- }
+ }
+ default: {
+ return (o1, o2) -> {
+ final Comparable c1 = o1.get(x).getValueAs(Comparable.class);
+ final Comparable c2 = o2.get(x).getValueAs(Comparable.class);
+
+ return RelFieldCollation.compare(c2, c1, nullComparison);
};
+ }
}
}
+ /** */
+ public static <T> boolean isOrdered(Iterable<? extends T> iterable, Comparator<T> cmp) {
+ Iterator<? extends T> it = iterable.iterator();
+
+ if (it.hasNext()) {
+ T prev = it.next();
+
+ while (it.hasNext()) {
+ T next = it.next();
+
+ if (cmp.compare(prev, next) > 0) {
+ return false;
+ }
+
+ prev = next;
+ }
+ }
+
+ return true;
+ }
+
/** Helper method to determine a {@link Join}'s collation assuming that it
* uses a merge-join algorithm.
*
@@ -486,24 +525,24 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
assert EnumerableMergeJoin.isMergeJoinSupported(joinType)
: "EnumerableMergeJoin unsupported for join type " + joinType;
- final ImmutableList<RelCollation> leftCollations = mq.collations(left);
+ final List<RelCollation> leftCollations = mq.collations(left);
assert RelCollations.contains(leftCollations, leftKeys)
: "cannot merge join: left input is not sorted on left keys";
if (!joinType.projectsRight()) {
return leftCollations;
}
- final ImmutableList.Builder<RelCollation> builder = ImmutableList.builder();
- builder.addAll(leftCollations);
+ final List<RelCollation> collations = new ArrayList<>();
+ collations.addAll(leftCollations);
- final ImmutableList<RelCollation> rightCollations = mq.collations(right);
+ final List<RelCollation> rightCollations = mq.collations(right);
assert RelCollations.contains(rightCollations, rightKeys)
: "cannot merge join: right input is not sorted on right keys";
final int leftFieldCount = left.getRowType().getFieldCount();
for (RelCollation collation : rightCollations) {
- builder.add(RelCollations.shift(collation, leftFieldCount));
+ collations.add(RelCollations.shift(collation, leftFieldCount));
}
- return builder.build();
+ return List.copyOf(collations);
}
/**
@@ -551,7 +590,7 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
// following conditions hold:
// (i) join type is INNER or LEFT;
// (ii) RelCollation always orders nulls last.
- final ImmutableList<RelCollation> leftCollations = mq.collations(left);
+ final List<RelCollation> leftCollations = mq.collations(left);
switch (joinType) {
case SEMI:
case ANTI:
@@ -563,12 +602,12 @@ public class IgniteMdCollation implements MetadataHandler<BuiltInMetadata.Collat
for (RelCollation collation : leftCollations) {
for (RelFieldCollation field : collation.getFieldCollations()) {
if (!(RelFieldCollation.NullDirection.LAST == field.nullDirection)) {
- return ImmutableList.of();
+ return List.of();
}
}
}
return leftCollations;
}
- return ImmutableList.of();
+ return List.of();
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java
index e16ce58..82c8c75 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java
@@ -17,7 +17,8 @@
package org.apache.ignite.internal.processors.query.calcite.metadata;
-import com.google.common.collect.ImmutableList;
+import java.util.List;
+
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.volcano.RelSubset;
import org.apache.calcite.rel.BiRel;
@@ -108,8 +109,8 @@ public class IgniteMdFragmentMapping implements MetadataHandler<FragmentMappingM
IgniteExchange lExch = new IgniteExchange(rel.getCluster(), left.getTraitSet(), left, TraitUtils.distribution(left));
IgniteExchange rExch = new IgniteExchange(rel.getCluster(), right.getTraitSet(), right, TraitUtils.distribution(right));
- RelNode lVar = rel.copy(rel.getTraitSet(), ImmutableList.of(lExch, right));
- RelNode rVar = rel.copy(rel.getTraitSet(), ImmutableList.of(left, rExch));
+ RelNode lVar = rel.copy(rel.getTraitSet(), List.of(lExch, right));
+ RelNode rVar = rel.copy(rel.getTraitSet(), List.of(left, rExch));
RelOptCost lVarCost = mq.getCumulativeCost(lVar);
RelOptCost rVarCost = mq.getCumulativeCost(rVar);
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMetadata.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMetadata.java
index 1b71fc1..3e1a010 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMetadata.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMetadata.java
@@ -17,7 +17,8 @@
package org.apache.ignite.internal.processors.query.calcite.metadata;
-import com.google.common.collect.ImmutableList;
+import java.util.List;
+
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.metadata.ChainedRelMetadataProvider;
import org.apache.calcite.rel.metadata.DefaultRelMetadataProvider;
@@ -35,7 +36,7 @@ public class IgniteMetadata {
/** */
public static final RelMetadataProvider METADATA_PROVIDER =
ChainedRelMetadataProvider.of(
- ImmutableList.of(
+ List.of(
// Ignite specific providers
IgniteMdFragmentMapping.SOURCE,
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Cloner.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Cloner.java
index af89e28..297f514 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Cloner.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Cloner.java
@@ -17,7 +17,9 @@
package org.apache.ignite.internal.processors.query.calcite.prepare;
-import com.google.common.collect.ImmutableList;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.calcite.plan.RelOptCluster;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteCorrelatedNestedLoopJoin;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteExchange;
@@ -58,7 +60,7 @@ public class Cloner implements IgniteRelVisitor<IgniteRel> {
private final RelOptCluster cluster;
/** */
- private ImmutableList.Builder<IgniteReceiver> remotes;
+ private List<IgniteReceiver> remotes;
/** */
Cloner(RelOptCluster cluster) {
@@ -73,12 +75,11 @@ public class Cloner implements IgniteRelVisitor<IgniteRel> {
*/
public Fragment go(Fragment src) {
try {
- remotes = ImmutableList.builder();
+ remotes = new ArrayList<>();
IgniteRel newRoot = visit(src.root());
- ImmutableList<IgniteReceiver> remotes = this.remotes.build();
- return new Fragment(src.fragmentId(), newRoot, remotes, src.serialized(), src.mapping());
+ return new Fragment(src.fragmentId(), newRoot, List.copyOf(remotes), src.serialized(), src.mapping());
}
finally {
remotes = null;
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/ExecutionPlan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/ExecutionPlan.java
index 53dc4fa..6676d2f 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/ExecutionPlan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/ExecutionPlan.java
@@ -19,8 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.prepare;
import java.util.List;
-import com.google.common.collect.ImmutableList;
-
/**
*
*/
@@ -29,12 +27,12 @@ class ExecutionPlan {
private final long ver;
/** */
- private final ImmutableList<Fragment> fragments;
+ private final List<Fragment> fragments;
/** */
ExecutionPlan(long ver, List<Fragment> fragments) {
this.ver = ver;
- this.fragments = ImmutableList.copyOf(fragments);
+ this.fragments = List.copyOf(fragments);
}
/** */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Fragment.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Fragment.java
index 9f85b0e..a5f92b7 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Fragment.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Fragment.java
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.concurrent.ThreadLocalRandom;
import java.util.function.Supplier;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptUtil;
import org.apache.calcite.rel.metadata.RelMetadataQuery;
@@ -60,7 +59,7 @@ public class Fragment {
private final FragmentMapping mapping;
/** */
- private final ImmutableList<IgniteReceiver> remotes;
+ private final List<IgniteReceiver> remotes;
/**
* @param id Fragment id.
@@ -75,7 +74,7 @@ public class Fragment {
Fragment(long id, IgniteRel root, List<IgniteReceiver> remotes, @Nullable String rootSer, @Nullable FragmentMapping mapping) {
this.id = id;
this.root = root;
- this.remotes = ImmutableList.copyOf(remotes);
+ this.remotes = List.copyOf(remotes);
this.rootSer = rootSer != null ? rootSer : toJson(root);
this.mapping = mapping;
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/FragmentSplitter.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/FragmentSplitter.java
index a9d31ca..09dacc0 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/FragmentSplitter.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/FragmentSplitter.java
@@ -22,7 +22,6 @@ import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelNode;
@@ -128,7 +127,7 @@ public class FragmentSplitter extends IgniteRelShuttle {
private IgniteRel root;
/** */
- private final ImmutableList.Builder<IgniteReceiver> remotes = ImmutableList.builder();
+ private final List<IgniteReceiver> remotes = new ArrayList<>();
/** */
private FragmentProto(long id, IgniteRel root) {
@@ -138,7 +137,7 @@ public class FragmentSplitter extends IgniteRelShuttle {
/** */
Fragment build() {
- return new Fragment(id, root, remotes.build());
+ return new Fragment(id, root, List.copyOf(remotes));
}
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgnitePlanner.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgnitePlanner.java
index 5a2ba88..146795f 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgnitePlanner.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgnitePlanner.java
@@ -24,7 +24,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.Context;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
@@ -75,7 +74,7 @@ public class IgnitePlanner implements Planner, RelOptTable.ViewExpander {
private final SqlOperatorTable operatorTbl;
/** */
- private final ImmutableList<Program> programs;
+ private final List<Program> programs;
/** */
private final FrameworkConfig frameworkCfg;
@@ -85,7 +84,7 @@ public class IgnitePlanner implements Planner, RelOptTable.ViewExpander {
/** */
@SuppressWarnings("rawtypes")
- private final ImmutableList<RelTraitDef> traitDefs;
+ private final List<RelTraitDef> traitDefs;
/** */
private final SqlParser.Config parserCfg;
@@ -314,7 +313,7 @@ public class IgnitePlanner implements Planner, RelOptTable.ViewExpander {
/** */
private List<RelOptLattice> latices() {
- return ImmutableList.of(); // TODO
+ return List.of(); // TODO
}
/**
@@ -322,7 +321,7 @@ public class IgnitePlanner implements Planner, RelOptTable.ViewExpander {
* @return Materializations.
*/
private List<RelOptMaterialization> materializations() {
- return ImmutableList.of(); // TODO
+ return List.of(); // TODO
}
/**
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java
index ef57eda..8118f7f 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java
@@ -19,8 +19,8 @@ package org.apache.ignite.internal.processors.query.calcite.prepare;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelCollations;
import org.apache.calcite.rel.RelNode;
@@ -94,7 +94,7 @@ public class PlannerHelper {
igniteRel = new IgniteProject(igniteRel.getCluster(), desired, igniteRel, projects, root.validatedRowType);
}
- if (sqlNode.isA(ImmutableSet.of(SqlKind.INSERT, SqlKind.UPDATE, SqlKind.MERGE)))
+ if (sqlNode.isA(Set.of(SqlKind.INSERT, SqlKind.UPDATE, SqlKind.MERGE)))
igniteRel = new FixDependentModifyNodeShuttle().visit(igniteRel);
return igniteRel;
@@ -208,7 +208,7 @@ public class PlannerHelper {
if (scan instanceof IgniteTableScan)
return (IgniteRel)scan;
- ImmutableSet<Integer> indexedCols = ImmutableSet.copyOf(
+ Set<Integer> indexedCols = Set.copyOf(
tbl.getIndex(((AbstractIndexScan)scan).indexName()).collation().getKeys());
spoolNeeded = modifyNode.getUpdateColumnList().stream()
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/QueryTemplate.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/QueryTemplate.java
index 5e2a7c2..2075062 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/QueryTemplate.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/QueryTemplate.java
@@ -24,7 +24,6 @@ import java.util.Map;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.metadata.RelMetadataQuery;
import org.apache.ignite.internal.processors.query.calcite.metadata.FragmentMappingException;
import org.apache.ignite.internal.processors.query.calcite.metadata.MappingService;
@@ -43,7 +42,7 @@ public class QueryTemplate {
private final MappingService mappingService;
/** */
- private final ImmutableList<Fragment> fragments;
+ private final List<Fragment> fragments;
/** */
private final AtomicReference<ExecutionPlan> executionPlan = new AtomicReference<>();
@@ -52,11 +51,11 @@ public class QueryTemplate {
public QueryTemplate(MappingService mappingService, List<Fragment> fragments) {
this.mappingService = mappingService;
- ImmutableList.Builder<Fragment> b = ImmutableList.builder();
+ List<Fragment> frgs = new ArrayList<>(fragments.size());
for (Fragment fragment : fragments)
- b.add(fragment.detach());
+ frgs.add(fragment.detach());
- this.fragments = b.build();
+ this.fragments = List.copyOf(frgs);
}
/** */
@@ -93,11 +92,12 @@ public class QueryTemplate {
/** */
@NotNull private List<Fragment> map(List<Fragment> fragments, PlanningContext ctx, RelMetadataQuery mq) {
- ImmutableList.Builder<Fragment> b = ImmutableList.builder();
+ List<Fragment> frgs = new ArrayList<>();
+
for (Fragment fragment : fragments)
- b.add(fragment.map(mappingService, ctx, mq).detach());
+ frgs.add(fragment.map(mappingService, ctx, mq).detach());
- return b.build();
+ return List.copyOf(frgs);
}
/** */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Splitter.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Splitter.java
index ec0dd76..b623c3f 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Splitter.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/Splitter.java
@@ -22,7 +22,6 @@ import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteExchange;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteIndexScan;
@@ -109,7 +108,7 @@ public class Splitter extends IgniteRelShuttle {
private IgniteRel root;
/** */
- private final ImmutableList.Builder<IgniteReceiver> remotes = ImmutableList.builder();
+ private final List<IgniteReceiver> remotes = new ArrayList<>();
/** */
private FragmentProto(long id, IgniteRel root) {
@@ -119,7 +118,7 @@ public class Splitter extends IgniteRelShuttle {
/** */
Fragment build() {
- return new Fragment(id, root, remotes.build());
+ return new Fragment(id, root, List.copyOf(remotes));
}
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/AbstractIgniteJoin.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/AbstractIgniteJoin.java
index 59d2ad6..c7fb0ec 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/AbstractIgniteJoin.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/AbstractIgniteJoin.java
@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelCollation;
@@ -99,7 +98,7 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
RelTraitSet leftTraits = left.replace(collation);
RelTraitSet rightTraits = right.replace(RelCollations.EMPTY);
- return ImmutableList.of(Pair.of(outTraits, ImmutableList.of(leftTraits, rightTraits)));
+ return List.of(Pair.of(outTraits, List.of(leftTraits, rightTraits)));
}
/** {@inheritDoc} */
@@ -114,13 +113,13 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
List<Pair<RelTraitSet, List<RelTraitSet>>> pairs = new ArrayList<>();
pairs.add(Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY),
- ImmutableList.of(left.replace(RewindabilityTrait.ONE_WAY), right.replace(RewindabilityTrait.ONE_WAY))));
+ List.of(left.replace(RewindabilityTrait.ONE_WAY), right.replace(RewindabilityTrait.ONE_WAY))));
if (leftRewindability.rewindable() && rightRewindability.rewindable())
pairs.add(Pair.of(nodeTraits.replace(RewindabilityTrait.REWINDABLE),
- ImmutableList.of(left.replace(RewindabilityTrait.REWINDABLE), right.replace(RewindabilityTrait.REWINDABLE))));
+ List.of(left.replace(RewindabilityTrait.REWINDABLE), right.replace(RewindabilityTrait.REWINDABLE))));
- return ImmutableList.copyOf(pairs);
+ return List.copyOf(pairs);
}
/** {@inheritDoc} */
@@ -159,17 +158,17 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
rightTraits = right.replace(single());
}
- res.add(Pair.of(outTraits, ImmutableList.of(leftTraits, rightTraits)));
+ res.add(Pair.of(outTraits, List.of(leftTraits, rightTraits)));
if (nullOrEmpty(joinInfo.pairs()))
- return ImmutableList.copyOf(res);
+ return List.copyOf(res);
if (leftDistr.getType() == HASH_DISTRIBUTED && left2rightProjectedDistr != random()) {
outTraits = nodeTraits.replace(leftDistr);
leftTraits = left.replace(leftDistr);
rightTraits = right.replace(left2rightProjectedDistr);
- res.add(Pair.of(outTraits, ImmutableList.of(leftTraits, rightTraits)));
+ res.add(Pair.of(outTraits, List.of(leftTraits, rightTraits)));
}
if (rightDistr.getType() == HASH_DISTRIBUTED && right2leftProjectedDistr != random()) {
@@ -177,19 +176,19 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
leftTraits = left.replace(right2leftProjectedDistr);
rightTraits = right.replace(rightDistr);
- res.add(Pair.of(outTraits, ImmutableList.of(leftTraits, rightTraits)));
+ res.add(Pair.of(outTraits, List.of(leftTraits, rightTraits)));
}
leftTraits = left.replace(hash(joinInfo.leftKeys, DistributionFunction.hash()));
rightTraits = right.replace(hash(joinInfo.rightKeys, DistributionFunction.hash()));
outTraits = nodeTraits.replace(hash(joinInfo.leftKeys, DistributionFunction.hash()));
- res.add(Pair.of(outTraits, ImmutableList.of(leftTraits, rightTraits)));
+ res.add(Pair.of(outTraits, List.of(leftTraits, rightTraits)));
outTraits = nodeTraits.replace(hash(joinInfo.rightKeys, DistributionFunction.hash()));
- res.add(Pair.of(outTraits, ImmutableList.of(leftTraits, rightTraits)));
+ res.add(Pair.of(outTraits, List.of(leftTraits, rightTraits)));
- return ImmutableList.copyOf(res);
+ return List.copyOf(res);
}
/** {@inheritDoc} */
@@ -200,7 +199,7 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
// right correlations
corrIds.addAll(TraitUtils.correlation(inTraits.get(1)).correlationIds());
- return ImmutableList.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
+ return List.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
}
/** {@inheritDoc} */
@@ -215,7 +214,7 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
if (collation.equals(RelCollations.EMPTY))
return Pair.of(nodeTraits,
- ImmutableList.of(left.replace(RelCollations.EMPTY), right.replace(RelCollations.EMPTY)));
+ List.of(left.replace(RelCollations.EMPTY), right.replace(RelCollations.EMPTY)));
if (!projectsLeft(collation))
collation = RelCollations.EMPTY;
@@ -229,7 +228,7 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
}
return Pair.of(nodeTraits.replace(collation),
- ImmutableList.of(left.replace(collation), right.replace(RelCollations.EMPTY)));
+ List.of(left.replace(collation), right.replace(RelCollations.EMPTY)));
}
/** {@inheritDoc} */
@@ -273,7 +272,7 @@ public abstract class AbstractIgniteJoin extends Join implements TraitsAwareIgni
if (distrType != HASH_DISTRIBUTED || outDistr.satisfies(distribution)) {
return Pair.of(nodeTraits.replace(outDistr),
- ImmutableList.of(left.replace(outDistr), right.replace(hash(joinInfo.rightKeys, function))));
+ List.of(left.replace(outDistr), right.replace(hash(joinInfo.rightKeys, function))));
}
break;
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteAggregate.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteAggregate.java
index 3b85c31..d090286 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteAggregate.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteAggregate.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -48,7 +47,7 @@ public abstract class IgniteAggregate extends Aggregate implements IgniteRel {
List<ImmutableBitSet> groupSets,
List<AggregateCall> aggCalls
) {
- super(cluster, traitSet, ImmutableList.of(), input, groupSet, groupSets, aggCalls);
+ super(cluster, traitSet, List.of(), input, groupSet, groupSets, aggCalls);
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteCorrelatedNestedLoopJoin.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteCorrelatedNestedLoopJoin.java
index 76c576c..abcf3d5 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteCorrelatedNestedLoopJoin.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteCorrelatedNestedLoopJoin.java
@@ -21,8 +21,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -81,7 +79,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
input.getInputs().get(0),
input.getInputs().get(1),
input.getExpression("condition"),
- ImmutableSet.copyOf(Commons.transform(input.getIntegerList("variablesSet"), CorrelationId::new)),
+ Set.copyOf(Commons.transform(input.getIntegerList("variablesSet"), CorrelationId::new)),
input.getEnum("joinType", JoinRelType.class));
}
@@ -107,7 +105,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
List<Integer> newRightCollationFields = maxPrefix(rightCollation.getKeys(), joinInfo.leftKeys);
if (nullOrEmpty(newRightCollationFields))
- return ImmutableList.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY), inputTraits));
+ return List.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY), inputTraits));
// We preserve left edge collation only if batch size == 1
if (variablesSet.size() == 1)
@@ -115,7 +113,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
else
nodeTraits = nodeTraits.replace(RelCollations.EMPTY);
- return ImmutableList.of(Pair.of(nodeTraits, inputTraits));
+ return List.of(Pair.of(nodeTraits, inputTraits));
}
/** {@inheritDoc} */
@@ -128,8 +126,8 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
RewindabilityTrait rewindability = TraitUtils.rewindability(left);
- return ImmutableList.of(Pair.of(nodeTraits.replace(rewindability),
- ImmutableList.of(left, right.replace(RewindabilityTrait.REWINDABLE))));
+ return List.of(Pair.of(nodeTraits.replace(rewindability),
+ List.of(left, right.replace(RewindabilityTrait.REWINDABLE))));
}
/** {@inheritDoc} */
@@ -145,7 +143,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
return Pair.of(
baseTraits.getKey(),
- ImmutableList.of(
+ List.of(
baseTraits.getValue().get(0),
baseTraits.getValue().get(1)
)
@@ -153,7 +151,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
}
return Pair.of(nodeTraits.replace(RelCollations.EMPTY),
- ImmutableList.of(left.replace(RelCollations.EMPTY), right));
+ List.of(left.replace(RelCollations.EMPTY), right));
}
/** {@inheritDoc} */
@@ -164,7 +162,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
RewindabilityTrait rewindability = TraitUtils.rewindability(nodeTraits);
return Pair.of(nodeTraits.replace(rewindability),
- ImmutableList.of(left.replace(rewindability), right.replace(RewindabilityTrait.REWINDABLE)));
+ List.of(left.replace(rewindability), right.replace(RewindabilityTrait.REWINDABLE)));
}
/** {@inheritDoc} */
@@ -196,7 +194,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
selfCorrIds.addAll(nodeCorr.correlationIds());
return Pair.of(nodeTraits,
- ImmutableList.of(
+ List.of(
inTraits.get(0).replace(nodeCorr),
inTraits.get(1).replace(CorrelationTrait.correlations(selfCorrIds))
)
@@ -209,7 +207,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
Set<CorrelationId> rightCorrIds = TraitUtils.correlation(inTraits.get(1)).correlationIds();
if (!rightCorrIds.containsAll(variablesSet))
- return ImmutableList.of();
+ return List.of();
Set<CorrelationId> corrIds = new HashSet<>(rightCorrIds);
@@ -218,7 +216,7 @@ public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
corrIds.removeAll(variablesSet);
- return ImmutableList.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
+ return List.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteFilter.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteFilter.java
index d848f9c..1800ef5 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteFilter.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteFilter.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -80,23 +79,23 @@ public class IgniteFilter extends Filter implements TraitsAwareIgniteRel {
@Override public List<Pair<RelTraitSet, List<RelTraitSet>>> deriveRewindability(RelTraitSet nodeTraits,
List<RelTraitSet> inTraits) {
if (!TraitUtils.rewindability(inTraits.get(0)).rewindable() && RexUtils.hasCorrelation(getCondition()))
- return ImmutableList.of();
+ return List.of();
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.rewindability(inTraits.get(0))),
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.rewindability(inTraits.get(0))),
inTraits));
}
/** {@inheritDoc} */
@Override public List<Pair<RelTraitSet, List<RelTraitSet>>> deriveDistribution(RelTraitSet nodeTraits,
List<RelTraitSet> inTraits) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.distribution(inTraits.get(0))),
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.distribution(inTraits.get(0))),
inTraits));
}
/** {@inheritDoc} */
@Override public List<Pair<RelTraitSet, List<RelTraitSet>>> deriveCollation(RelTraitSet nodeTraits,
List<RelTraitSet> inTraits) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.collation(inTraits.get(0))),
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.collation(inTraits.get(0))),
inTraits));
}
@@ -108,7 +107,7 @@ public class IgniteFilter extends Filter implements TraitsAwareIgniteRel {
CorrelationTrait correlation = TraitUtils.correlation(nodeTraits);
if (corrSet.isEmpty() || correlation.correlationIds().containsAll(corrSet))
- return Pair.of(nodeTraits, ImmutableList.of(inTraits.get(0).replace(correlation)));
+ return Pair.of(nodeTraits, List.of(inTraits.get(0).replace(correlation)));
return null;
}
@@ -120,7 +119,7 @@ public class IgniteFilter extends Filter implements TraitsAwareIgniteRel {
corrIds.addAll(TraitUtils.correlation(inTraits.get(0)).correlationIds());
- return ImmutableList.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
+ return List.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteIndexScan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteIndexScan.java
index d2dbe0c..484c2ef 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteIndexScan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteIndexScan.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptTable;
import org.apache.calcite.plan.RelTraitSet;
@@ -113,7 +112,7 @@ public class IgniteIndexScan extends AbstractIndexScan implements SourceAwareIgn
@Nullable IndexConditions idxCond,
@Nullable ImmutableBitSet requiredCols
) {
- super(cluster, traits, ImmutableList.of(), tbl, idxName, proj, cond, idxCond, requiredCols);
+ super(cluster, traits, List.of(), tbl, idxName, proj, cond, idxCond, requiredCols);
this.sourceId = sourceId;
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteLimit.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteLimit.java
index bef81a9..cb9e095 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteLimit.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteLimit.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -105,7 +104,7 @@ public class IgniteLimit extends SingleRel implements IgniteRel {
if (required.getConvention() != IgniteConvention.INSTANCE)
return null;
- return Pair.of(required, ImmutableList.of(required));
+ return Pair.of(required, List.of(required));
}
/** {@inheritDoc} */
@@ -115,7 +114,7 @@ public class IgniteLimit extends SingleRel implements IgniteRel {
if (childTraits.getConvention() != IgniteConvention.INSTANCE)
return null;
- return Pair.of(childTraits, ImmutableList.of(childTraits));
+ return Pair.of(childTraits, List.of(childTraits));
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteMergeJoin.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteMergeJoin.java
index c5432b6..fbcde09 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteMergeJoin.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteMergeJoin.java
@@ -24,8 +24,6 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -85,7 +83,7 @@ public class IgniteMergeJoin extends AbstractIgniteJoin {
input.getInputs().get(0),
input.getInputs().get(1),
input.getExpression("condition"),
- ImmutableSet.copyOf(Commons.transform(input.getIntegerList("variablesSet"), CorrelationId::new)),
+ Set.copyOf(Commons.transform(input.getIntegerList("variablesSet"), CorrelationId::new)),
input.getEnum("joinType", JoinRelType.class),
((RelInputEx)input).getCollation("leftCollation"),
((RelInputEx)input).getCollation("rightCollation")
@@ -147,10 +145,10 @@ public class IgniteMergeJoin extends AbstractIgniteJoin {
rightCollation = RelCollations.of(joinInfo.rightKeys);
}
- return ImmutableList.of(
+ return List.of(
Pair.of(
nodeTraits.replace(leftCollation),
- ImmutableList.of(
+ List.of(
left.replace(leftCollation),
right.replace(rightCollation)
)
@@ -228,7 +226,7 @@ public class IgniteMergeJoin extends AbstractIgniteJoin {
return Pair.of(
nodeTraits.replace(preserveNodeCollation ? collation : leftCollation),
- ImmutableList.of(
+ List.of(
left.replace(leftCollation),
right.replace(rightCollation)
)
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteNestedLoopJoin.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteNestedLoopJoin.java
index 17c3024..8c53506 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteNestedLoopJoin.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteNestedLoopJoin.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -69,7 +68,7 @@ public class IgniteNestedLoopJoin extends AbstractIgniteJoin {
input.getInputs().get(0),
input.getInputs().get(1),
input.getExpression("condition"),
- ImmutableSet.copyOf(Commons.transform(input.getIntegerList("variablesSet"), CorrelationId::new)),
+ Set.copyOf(Commons.transform(input.getIntegerList("variablesSet"), CorrelationId::new)),
input.getEnum("joinType", JoinRelType.class));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteProject.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteProject.java
index 0bc33bc..a7f54de 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteProject.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteProject.java
@@ -23,7 +23,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.linq4j.Ord;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
@@ -101,7 +100,7 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
IgniteDistribution distribution = TraitUtils.distribution(nodeTraits);
if (distribution.getType() != HASH_DISTRIBUTED)
- return Pair.of(nodeTraits, ImmutableList.of(in.replace(distribution)));
+ return Pair.of(nodeTraits, List.of(in.replace(distribution)));
Mappings.TargetMapping mapping = getPartialMapping(
input.getRowType().getFieldCount(), getProjects());
@@ -119,9 +118,9 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
}
if (srcKeys.size() == keys.size())
- return Pair.of(nodeTraits, ImmutableList.of(in.replace(hash(srcKeys, distribution.function()))));
+ return Pair.of(nodeTraits, List.of(in.replace(hash(srcKeys, distribution.function()))));
- return Pair.of(nodeTraits.replace(single()), ImmutableList.of(in.replace(single())));
+ return Pair.of(nodeTraits.replace(single()), List.of(in.replace(single())));
}
/** {@inheritDoc} */
@@ -134,7 +133,7 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
List<RelFieldCollation> fieldCollations = TraitUtils.collation(nodeTraits).getFieldCollations();
if (fieldCollations.isEmpty())
- return Pair.of(nodeTraits, ImmutableList.of(in.replace(RelCollations.EMPTY)));
+ return Pair.of(nodeTraits, List.of(in.replace(RelCollations.EMPTY)));
Map<Integer, Integer> targets = new HashMap<>();
for (Ord<RexNode> project : Ord.zip(getProjects())) {
@@ -152,9 +151,9 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
}
if (inFieldCollations.size() == fieldCollations.size())
- return Pair.of(nodeTraits, ImmutableList.of(in.replace(RelCollations.of(inFieldCollations))));
+ return Pair.of(nodeTraits, List.of(in.replace(RelCollations.of(inFieldCollations))));
- return Pair.of(nodeTraits.replace(RelCollations.EMPTY), ImmutableList.of(in.replace(RelCollations.EMPTY)));
+ return Pair.of(nodeTraits.replace(RelCollations.EMPTY), List.of(in.replace(RelCollations.EMPTY)));
}
/** {@inheritDoc} */
@@ -164,7 +163,7 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
RelTraitSet in = inputTraits.get(0);
RewindabilityTrait rewindability = TraitUtils.rewindability(in);
- return ImmutableList.of(Pair.of(nodeTraits.replace(rewindability), ImmutableList.of(in)));
+ return List.of(Pair.of(nodeTraits.replace(rewindability), List.of(in)));
}
/** {@inheritDoc} */
@@ -174,7 +173,7 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
IgniteDistribution distribution = TraitUtils.projectDistribution(
TraitUtils.distribution(in), getProjects(), getInput().getRowType());
- return ImmutableList.of(Pair.of(nodeTraits.replace(distribution), ImmutableList.of(in)));
+ return List.of(Pair.of(nodeTraits.replace(distribution), List.of(in)));
}
/** {@inheritDoc} */
@@ -184,7 +183,7 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
RelCollation collation = TraitUtils.projectCollation(
TraitUtils.collation(in), getProjects(), getInput().getRowType());
- return ImmutableList.of(Pair.of(nodeTraits.replace(collation), ImmutableList.of(in)));
+ return List.of(Pair.of(nodeTraits.replace(collation), List.of(in)));
}
/** */
@@ -196,7 +195,7 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
if (!traitCorrIds.containsAll(corrIds))
return null;
- return Pair.of(nodeTraits, ImmutableList.of(inTraits.get(0).replace(TraitUtils.correlation(nodeTraits))));
+ return Pair.of(nodeTraits, List.of(inTraits.get(0).replace(TraitUtils.correlation(nodeTraits))));
}
/** */
@@ -206,7 +205,7 @@ public class IgniteProject extends Project implements TraitsAwareIgniteRel {
corrIds.addAll(TraitUtils.correlation(inTraits.get(0)).correlationIds());
- return ImmutableList.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
+ return List.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(corrIds)), inTraits));
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteSort.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteSort.java
index b0cf10e..e79f2f5 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteSort.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteSort.java
@@ -18,7 +18,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -93,7 +92,7 @@ public class IgniteSort extends Sort implements IgniteRel {
RelCollation collation = TraitUtils.collation(required);
- return Pair.of(required.replace(collation), ImmutableList.of(required.replace(RelCollations.EMPTY)));
+ return Pair.of(required.replace(collation), List.of(required.replace(RelCollations.EMPTY)));
}
/** {@inheritDoc} */
@@ -103,7 +102,7 @@ public class IgniteSort extends Sort implements IgniteRel {
if (isEnforcer() || childTraits.getConvention() != IgniteConvention.INSTANCE)
return null;
- return Pair.of(childTraits.replace(collation()), ImmutableList.of(childTraits));
+ return Pair.of(childTraits.replace(collation()), List.of(childTraits));
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableFunctionScan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableFunctionScan.java
index 031fdeb..f6cf444 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableFunctionScan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableFunctionScan.java
@@ -21,7 +21,6 @@ import java.lang.reflect.Type;
import java.util.List;
import java.util.Set;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelInput;
@@ -51,7 +50,7 @@ public class IgniteTableFunctionScan extends TableFunctionScan implements Ignite
RexNode call,
RelDataType rowType
) {
- super(cluster, traits, ImmutableList.of(), call, null, rowType, null);
+ super(cluster, traits, List.of(), call, null, rowType, null);
}
/**
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableScan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableScan.java
index 0668173..0a1cca4 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableScan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteTableScan.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.processors.query.calcite.rel;
import java.util.List;
-import com.google.common.collect.ImmutableList;
+
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptTable;
import org.apache.calcite.plan.RelTraitSet;
@@ -104,7 +104,7 @@ public class IgniteTableScan extends ProjectableFilterableTableScan implements S
@Nullable RexNode cond,
@Nullable ImmutableBitSet requiredColunms
) {
- super(cluster, traits, ImmutableList.of(), tbl, proj, cond, requiredColunms);
+ super(cluster, traits, List.of(), tbl, proj, cond, requiredColunms);
this.sourceId = sourceId;
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteUnionAll.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteUnionAll.java
index 36e5b2d..d5b5446 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteUnionAll.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/IgniteUnionAll.java
@@ -17,11 +17,11 @@
package org.apache.ignite.internal.processors.query.calcite.rel;
+import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -88,9 +88,9 @@ public class IgniteUnionAll extends Union implements TraitsAwareIgniteRel {
.allMatch(RewindabilityTrait::rewindable);
if (rewindable)
- return ImmutableList.of(Pair.of(nodeTraits.replace(RewindabilityTrait.REWINDABLE), inputTraits));
+ return List.of(Pair.of(nodeTraits.replace(RewindabilityTrait.REWINDABLE), inputTraits));
- return ImmutableList.of(Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY),
+ return List.of(Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY),
Commons.transform(inputTraits, t -> t.replace(RewindabilityTrait.ONE_WAY))));
}
@@ -102,20 +102,20 @@ public class IgniteUnionAll extends Union implements TraitsAwareIgniteRel {
.map(TraitUtils::distribution)
.collect(Collectors.toSet());
- ImmutableList.Builder<Pair<RelTraitSet, List<RelTraitSet>>> b = ImmutableList.builder();
+ List<Pair<RelTraitSet, List<RelTraitSet>>> deriveTraits = new ArrayList<>();
for (IgniteDistribution distribution : distributions)
- b.add(Pair.of(nodeTraits.replace(distribution),
+ deriveTraits.add(Pair.of(nodeTraits.replace(distribution),
Commons.transform(inputTraits, t -> t.replace(distribution))));
- return b.build();
+ return List.copyOf(deriveTraits);
}
/** {@inheritDoc} */
@Override public List<Pair<RelTraitSet, List<RelTraitSet>>> deriveCollation(RelTraitSet nodeTraits, List<RelTraitSet> inputTraits) {
// Union node erases collation. TODO union all using merge sort algorythm
- return ImmutableList.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
+ return List.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
Commons.transform(inputTraits, t -> t.replace(RelCollations.EMPTY))));
}
@@ -128,7 +128,7 @@ public class IgniteUnionAll extends Union implements TraitsAwareIgniteRel {
.flatMap(corrTr -> corrTr.correlationIds().stream())
.collect(Collectors.toSet());
- return ImmutableList.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(correlationIds)),
+ return List.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(correlationIds)),
inTraits));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteHashAggregateBase.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteHashAggregateBase.java
index d4b1f44..a827141 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteHashAggregateBase.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteHashAggregateBase.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.agg;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelCollations;
import org.apache.calcite.util.Pair;
@@ -33,14 +32,14 @@ interface IgniteHashAggregateBase extends TraitsAwareIgniteRel {
@Override default Pair<RelTraitSet, List<RelTraitSet>> passThroughCollation(RelTraitSet nodeTraits, List<RelTraitSet> inputTraits) {
// Since it's a hash aggregate it erases collation.
return Pair.of(nodeTraits.replace(RelCollations.EMPTY),
- ImmutableList.of(inputTraits.get(0).replace(RelCollations.EMPTY)));
+ List.of(inputTraits.get(0).replace(RelCollations.EMPTY)));
}
/** {@inheritDoc} */
@Override default List<Pair<RelTraitSet, List<RelTraitSet>>> deriveCollation(RelTraitSet nodeTraits, List<RelTraitSet> inputTraits) {
// Since it's a hash aggregate it erases collation.
- return ImmutableList.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
- ImmutableList.of(inputTraits.get(0).replace(RelCollations.EMPTY))));
+ return List.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
+ List.of(inputTraits.get(0).replace(RelCollations.EMPTY))));
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteMapAggregateBase.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteMapAggregateBase.java
index fdc0971..cfc227d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteMapAggregateBase.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteMapAggregateBase.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.processors.query.calcite.rel.agg;
import java.util.List;
-import com.google.common.collect.ImmutableList;
+
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelInput;
@@ -67,7 +67,7 @@ public abstract class IgniteMapAggregateBase extends IgniteAggregate implements
RelTraitSet nodeTraits,
List<RelTraitSet> inputTraits
) {
- return ImmutableList.of(Pair.of(nodeTraits, ImmutableList.of(inputTraits.get(0))));
+ return List.of(Pair.of(nodeTraits, List.of(inputTraits.get(0))));
}
/** {@inheritDoc} */
@@ -78,9 +78,9 @@ public abstract class IgniteMapAggregateBase extends IgniteAggregate implements
RelTraitSet in = inputTraits.get(0);
if (TraitUtils.distribution(in).satisfies(IgniteDistributions.single()))
- return ImmutableList.of();
+ return List.of();
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.distribution(in)), ImmutableList.of(in)));
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.distribution(in)), List.of(in)));
}
/** {@inheritDoc} */
@@ -88,7 +88,7 @@ public abstract class IgniteMapAggregateBase extends IgniteAggregate implements
RelTraitSet nodeTraits,
List<RelTraitSet> inTraits
) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
inTraits));
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceAggregateBase.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceAggregateBase.java
index 17310cc..9bf927e 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceAggregateBase.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceAggregateBase.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.processors.query.calcite.rel.agg;
import java.util.List;
-import com.google.common.collect.ImmutableList;
+
import org.apache.calcite.linq4j.Ord;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
@@ -69,7 +69,7 @@ public abstract class IgniteReduceAggregateBase extends SingleRel implements Tra
assert rowType != null;
this.groupSet = groupSet;
if (groupSets == null)
- groupSets = ImmutableList.of(groupSet);
+ groupSets = List.of(groupSet);
this.groupSets = groupSets;
this.aggCalls = aggCalls;
this.rowType = rowType;
@@ -137,8 +137,8 @@ public abstract class IgniteReduceAggregateBase extends SingleRel implements Tra
RelTraitSet nodeTraits,
List<RelTraitSet> inputTraits
) {
- return ImmutableList.of(
- Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY), ImmutableList.of(inputTraits.get(0))));
+ return List.of(
+ Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY), List.of(inputTraits.get(0))));
}
/** {@inheritDoc} */
@@ -148,10 +148,10 @@ public abstract class IgniteReduceAggregateBase extends SingleRel implements Tra
) {
RelTraitSet in = inputTraits.get(0);
- return ImmutableList.of(
+ return List.of(
Pair.of(
nodeTraits.replace(IgniteDistributions.single()),
- ImmutableList.of(in.replace(IgniteDistributions.single()))
+ List.of(in.replace(IgniteDistributions.single()))
)
);
}
@@ -161,7 +161,7 @@ public abstract class IgniteReduceAggregateBase extends SingleRel implements Tra
RelTraitSet nodeTraits,
List<RelTraitSet> inTraits
) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
inTraits));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceHashAggregate.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceHashAggregate.java
index 39623cf..479c02c 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceHashAggregate.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteReduceHashAggregate.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.agg;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -110,7 +109,7 @@ public class IgniteReduceHashAggregate extends IgniteReduceAggregateBase impleme
/** {@inheritDoc} */
@Override public List<Pair<RelTraitSet, List<RelTraitSet>>> deriveCollation(RelTraitSet nodeTraits,
List<RelTraitSet> inTraits) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
- ImmutableList.of(inTraits.get(0).replace(RelCollations.EMPTY))));
+ return List.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
+ List.of(inTraits.get(0).replace(RelCollations.EMPTY))));
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSingleAggregateBase.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSingleAggregateBase.java
index aa2cb95..372a9e0 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSingleAggregateBase.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSingleAggregateBase.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.processors.query.calcite.rel.agg;
import java.util.List;
-import com.google.common.collect.ImmutableList;
+
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelInput;
@@ -68,7 +68,7 @@ public abstract class IgniteSingleAggregateBase extends IgniteAggregate implemen
RelTraitSet nodeTraits,
List<RelTraitSet> inputTraits
) {
- return ImmutableList.of(Pair.of(nodeTraits, ImmutableList.of(inputTraits.get(0))));
+ return List.of(Pair.of(nodeTraits, List.of(inputTraits.get(0))));
}
/** {@inheritDoc} */
@@ -79,9 +79,9 @@ public abstract class IgniteSingleAggregateBase extends IgniteAggregate implemen
RelTraitSet in = inputTraits.get(0);
if (!TraitUtils.distribution(in).satisfies(IgniteDistributions.single()))
- return ImmutableList.of();
+ return List.of();
- return ImmutableList.of(Pair.of(nodeTraits.replace(IgniteDistributions.single()), ImmutableList.of(in)));
+ return List.of(Pair.of(nodeTraits.replace(IgniteDistributions.single()), List.of(in)));
}
/** {@inheritDoc} */
@@ -89,7 +89,7 @@ public abstract class IgniteSingleAggregateBase extends IgniteAggregate implemen
RelTraitSet nodeTraits,
List<RelTraitSet> inTraits
) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
inTraits));
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSortAggregateBase.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSortAggregateBase.java
index 8f50c4d..16c3c86 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSortAggregateBase.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/agg/IgniteSortAggregateBase.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.agg;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelCollations;
@@ -49,7 +48,7 @@ interface IgniteSortAggregateBase extends TraitsAwareIgniteRel {
RelCollation collation = RelCollations.of(ImmutableIntList.copyOf(getGroupSet().asList()));
return Pair.of(nodeTraits.replace(collation),
- ImmutableList.of(inputTraits.get(0).replace(collation)));
+ List.of(inputTraits.get(0).replace(collation)));
}
/** {@inheritDoc} */
@@ -61,9 +60,9 @@ interface IgniteSortAggregateBase extends TraitsAwareIgniteRel {
List<Integer> newCollation = maxPrefix(inputCollation.getKeys(), getGroupSet().asSet());
if (newCollation.size() < getGroupSet().cardinality())
- return ImmutableList.of();
+ return List.of();
- return ImmutableList.of(Pair.of(
+ return List.of(Pair.of(
nodeTraits.replace(RelCollations.of(ImmutableIntList.copyOf(newCollation))),
inputTraits
));
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java
index a28c59b..99804f1 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.logical;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptTable;
import org.apache.calcite.plan.RelTraitSet;
@@ -105,6 +104,6 @@ public class IgniteLogicalIndexScan extends AbstractIndexScan {
@Nullable IndexConditions idxCond,
@Nullable ImmutableBitSet requiredCols
) {
- super(cluster, traits, ImmutableList.of(), tbl, idxName, proj, cond, idxCond, requiredCols);
+ super(cluster, traits, List.of(), tbl, idxName, proj, cond, idxCond, requiredCols);
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalTableScan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalTableScan.java
index 3414a8c..adb0c4a 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalTableScan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalTableScan.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.logical;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptTable;
import org.apache.calcite.plan.RelTraitSet;
@@ -59,6 +58,6 @@ public class IgniteLogicalTableScan extends ProjectableFilterableTableScan {
@Nullable RexNode cond,
@Nullable ImmutableBitSet requiredColunms
) {
- super(cluster, traits, ImmutableList.of(), tbl, proj, cond, requiredColunms);
+ super(cluster, traits, List.of(), tbl, proj, cond, requiredColunms);
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMapSetOp.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMapSetOp.java
index 22502ad..0e1769c 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMapSetOp.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMapSetOp.java
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.core.CorrelationId;
import org.apache.calcite.rel.type.RelDataType;
@@ -50,9 +49,9 @@ public interface IgniteMapSetOp extends IgniteSetOp {
.allMatch(RewindabilityTrait::rewindable);
if (rewindable)
- return ImmutableList.of(Pair.of(nodeTraits.replace(RewindabilityTrait.REWINDABLE), inputTraits));
+ return List.of(Pair.of(nodeTraits.replace(RewindabilityTrait.REWINDABLE), inputTraits));
- return ImmutableList.of(Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY),
+ return List.of(Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY),
Commons.transform(inputTraits, t -> t.replace(RewindabilityTrait.ONE_WAY))));
}
@@ -62,13 +61,13 @@ public interface IgniteMapSetOp extends IgniteSetOp {
List<RelTraitSet> inputTraits
) {
if (inputTraits.stream().allMatch(t -> TraitUtils.distribution(t).satisfies(IgniteDistributions.single())))
- return ImmutableList.of(); // If all distributions are single or broadcast IgniteSingleMinus should be used.
+ return List.of(); // If all distributions are single or broadcast IgniteSingleMinus should be used.
- return ImmutableList.of(
+ return List.of(
Pair.of(nodeTraits.replace(IgniteDistributions.random()), Commons.transform(inputTraits,
t -> TraitUtils.distribution(t) == IgniteDistributions.broadcast() ?
// Allow broadcast with trim-exchange to be used in map-reduce set-op.
- t.replace(IgniteDistributions.hash(ImmutableList.of(0))) :
+ t.replace(IgniteDistributions.hash(List.of(0))) :
t.replace(IgniteDistributions.random())))
);
}
@@ -83,7 +82,7 @@ public interface IgniteMapSetOp extends IgniteSetOp {
.flatMap(corrTr -> corrTr.correlationIds().stream())
.collect(Collectors.toSet());
- return ImmutableList.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(correlationIds)),
+ return List.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(correlationIds)),
inTraits));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMinusBase.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMinusBase.java
index b2cf77b..29df78f 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMinusBase.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteMinusBase.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.processors.query.calcite.rel.set;
import java.util.List;
-import com.google.common.collect.ImmutableList;
+
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
@@ -63,7 +63,7 @@ public abstract class IgniteMinusBase extends Minus implements TraitsAwareIgnite
/** {@inheritDoc} */
@Override public List<Pair<RelTraitSet, List<RelTraitSet>>> deriveCollation(RelTraitSet nodeTraits, List<RelTraitSet> inputTraits) {
// Operation erases collation.
- return ImmutableList.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
+ return List.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
Commons.transform(inputTraits, t -> t.replace(RelCollations.EMPTY))));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceIntersect.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceIntersect.java
index 18c4e49..6c55c5d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceIntersect.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceIntersect.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.set;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelInput;
@@ -44,7 +43,7 @@ public class IgniteReduceIntersect extends IgniteIntersect implements IgniteRedu
boolean all,
RelDataType rowType
) {
- super(cluster, traitSet, ImmutableList.of(input), all);
+ super(cluster, traitSet, List.of(input), all);
this.rowType = rowType;
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceMinus.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceMinus.java
index f86646f..d2c6bc3 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceMinus.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceMinus.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.set;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.RelInput;
@@ -44,7 +43,7 @@ public class IgniteReduceMinus extends IgniteMinus implements IgniteReduceSetOp
boolean all,
RelDataType rowType
) {
- super(cluster, traitSet, ImmutableList.of(input), all);
+ super(cluster, traitSet, List.of(input), all);
this.rowType = rowType;
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceSetOp.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceSetOp.java
index 06669c2..4dfcb9f 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceSetOp.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteReduceSetOp.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.set;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.util.Pair;
import org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AggregateType;
@@ -37,8 +36,8 @@ public interface IgniteReduceSetOp extends IgniteSetOp {
RelTraitSet nodeTraits,
List<RelTraitSet> inputTraits
) {
- return ImmutableList.of(
- Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY), ImmutableList.of(inputTraits.get(0))));
+ return List.of(
+ Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY), List.of(inputTraits.get(0))));
}
/** {@inheritDoc} */
@@ -55,8 +54,8 @@ public interface IgniteReduceSetOp extends IgniteSetOp {
RelTraitSet nodeTraits,
List<RelTraitSet> inputTraits
) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(IgniteDistributions.single()),
- ImmutableList.of(inputTraits.get(0).replace(IgniteDistributions.single()))));
+ return List.of(Pair.of(nodeTraits.replace(IgniteDistributions.single()),
+ List.of(inputTraits.get(0).replace(IgniteDistributions.single()))));
}
/** {@inheritDoc} */
@@ -64,7 +63,7 @@ public interface IgniteReduceSetOp extends IgniteSetOp {
RelTraitSet nodeTraits,
List<RelTraitSet> inTraits
) {
- return ImmutableList.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
+ return List.of(Pair.of(nodeTraits.replace(TraitUtils.correlation(inTraits.get(0))),
inTraits));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSetOp.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSetOp.java
index 127aa09..0ec78c5 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSetOp.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSetOp.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.query.calcite.rel.set;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelOptCost;
import org.apache.calcite.plan.RelOptPlanner;
import org.apache.calcite.plan.RelTraitSet;
@@ -52,7 +51,7 @@ public interface IgniteSetOp extends TraitsAwareIgniteRel {
@Override public default List<Pair<RelTraitSet, List<RelTraitSet>>> deriveCollation(RelTraitSet nodeTraits,
List<RelTraitSet> inputTraits) {
// Operation erases collation.
- return ImmutableList.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
+ return List.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
Commons.transform(inputTraits, t -> t.replace(RelCollations.EMPTY))));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSingleSetOp.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSingleSetOp.java
index 3dd5249..ed3021d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSingleSetOp.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/set/IgniteSingleSetOp.java
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.RelTraitSet;
import org.apache.calcite.rel.core.CorrelationId;
import org.apache.calcite.util.Pair;
@@ -46,9 +45,9 @@ public interface IgniteSingleSetOp extends IgniteSetOp {
.allMatch(RewindabilityTrait::rewindable);
if (rewindable)
- return ImmutableList.of(Pair.of(nodeTraits.replace(RewindabilityTrait.REWINDABLE), inputTraits));
+ return List.of(Pair.of(nodeTraits.replace(RewindabilityTrait.REWINDABLE), inputTraits));
- return ImmutableList.of(Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY),
+ return List.of(Pair.of(nodeTraits.replace(RewindabilityTrait.ONE_WAY),
Commons.transform(inputTraits, t -> t.replace(RewindabilityTrait.ONE_WAY))));
}
@@ -71,9 +70,9 @@ public interface IgniteSingleSetOp extends IgniteSetOp {
.allMatch(d -> d.satisfies(IgniteDistributions.single()));
if (!single)
- return ImmutableList.of();
+ return List.of();
- return ImmutableList.of(Pair.of(nodeTraits.replace(IgniteDistributions.single()), inputTraits));
+ return List.of(Pair.of(nodeTraits.replace(IgniteDistributions.single()), inputTraits));
}
/** {@inheritDoc} */
@@ -86,7 +85,7 @@ public interface IgniteSingleSetOp extends IgniteSetOp {
.flatMap(corrTr -> corrTr.correlationIds().stream())
.collect(Collectors.toSet());
- return ImmutableList.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(correlationIds)),
+ return List.of(Pair.of(nodeTraits.replace(CorrelationTrait.correlations(correlationIds)),
inTraits));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/FilterSpoolMergeToSortedIndexSpoolRule.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/FilterSpoolMergeToSortedIndexSpoolRule.java
index 5b34ca8..8b29da8 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/FilterSpoolMergeToSortedIndexSpoolRule.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/FilterSpoolMergeToSortedIndexSpoolRule.java
@@ -16,7 +16,8 @@
*/
package org.apache.ignite.internal.processors.query.calcite.rule;
-import com.google.common.collect.ImmutableList;
+import java.util.List;
+
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptRule;
import org.apache.calcite.plan.RelOptRuleCall;
@@ -75,7 +76,7 @@ public class FilterSpoolMergeToSortedIndexSpoolRule extends RelRule<FilterSpoolM
if (nullOrEmpty(idxCond.lowerCondition()) && nullOrEmpty(idxCond.upperCondition()))
return;
- RelCollation collation = TraitUtils.createCollation(ImmutableList.copyOf(idxCond.keys()));
+ RelCollation collation = TraitUtils.createCollation(List.copyOf(idxCond.keys()));
RelNode res = new IgniteSortedIndexSpool(
cluster,
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/LogicalOrToUnionRule.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/LogicalOrToUnionRule.java
index e91d148..df4a90d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/LogicalOrToUnionRule.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/LogicalOrToUnionRule.java
@@ -18,7 +18,8 @@
package org.apache.ignite.internal.processors.query.calcite.rule.logical;
import java.util.List;
-import com.google.common.collect.ImmutableMap;
+import java.util.Map;
+
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptRule;
import org.apache.calcite.plan.RelOptRuleCall;
@@ -68,7 +69,7 @@ public class LogicalOrToUnionRule extends RelRule<LogicalOrToUnionRule.Config> {
RelNode rel0 = createUnionAll(cluster, input, operands.get(0), operands.get(1));
- call.transformTo(rel0, ImmutableMap.of(
+ call.transformTo(rel0, Map.of(
createUnionAll(cluster, input, operands.get(1), operands.get(0)), rel0
));
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java
index 93e2582..04edd7e 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java
@@ -22,7 +22,6 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.plan.Convention;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptTable;
@@ -154,12 +153,12 @@ public class IgniteTableImpl extends AbstractTable implements IgniteTable {
/** {@inheritDoc} */
@Override public List<RelReferentialConstraint> getReferentialConstraints() {
- return ImmutableList.of();
+ return List.of();
}
/** {@inheritDoc} */
@Override public List<RelCollation> getCollations() {
- return ImmutableList.of(); // The method isn't used
+ return List.of(); // The method isn't used
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/sql/IgniteSqlCreateTableOption.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/sql/IgniteSqlCreateTableOption.java
index f4015ec..d260d94 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/sql/IgniteSqlCreateTableOption.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/sql/IgniteSqlCreateTableOption.java
@@ -18,7 +18,6 @@ package org.apache.ignite.internal.processors.query.calcite.sql;
import java.util.List;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.sql.SqlCall;
import org.apache.calcite.sql.SqlKind;
import org.apache.calcite.sql.SqlLiteral;
@@ -60,7 +59,7 @@ public class IgniteSqlCreateTableOption extends SqlCall {
/** {@inheritDoc} */
@NotNull @Override public List<SqlNode> getOperandList() {
- return ImmutableList.of(key, value);
+ return List.of(key, value);
}
/** {@inheritDoc} */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/CorrelationTrait.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/CorrelationTrait.java
index d93b833..b14bae5 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/CorrelationTrait.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/CorrelationTrait.java
@@ -21,7 +21,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Set;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.plan.RelOptPlanner;
import org.apache.calcite.plan.RelTrait;
import org.apache.calcite.plan.RelTraitDef;
@@ -49,11 +48,11 @@ public class CorrelationTrait implements RelTrait {
public static final CorrelationTrait UNCORRELATED = canonize(new CorrelationTrait(Collections.emptyList()));
/** */
- private final ImmutableSet<CorrelationId> correlations;
+ private final Set<CorrelationId> correlations;
/** */
public CorrelationTrait(Collection<CorrelationId> correlationIds) {
- correlations = ImmutableSet.copyOf(correlationIds);
+ correlations = Set.copyOf(correlationIds);
}
/** */
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/DistributionTrait.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/DistributionTrait.java
index 6ef5cbf..7b314b3 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/DistributionTrait.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/DistributionTrait.java
@@ -17,10 +17,11 @@
package org.apache.ignite.internal.processors.query.calcite.trait;
+import java.util.Comparator;
+import java.util.Iterator;
import java.util.List;
import java.util.Objects;
-import com.google.common.collect.Ordering;
import org.apache.calcite.plan.RelMultipleTrait;
import org.apache.calcite.plan.RelOptPlanner;
import org.apache.calcite.plan.RelTrait;
@@ -42,8 +43,28 @@ import static org.apache.calcite.rel.RelDistribution.Type.SINGLETON;
*/
public final class DistributionTrait implements IgniteDistribution {
/** */
- private static final Ordering<Iterable<Integer>> ORDERING =
- Ordering.<Integer>natural().lexicographical();
+ private static final Comparator<Iterable<Integer>> ORDERING = (iterable0, iterable1) -> {
+ Iterator<Integer> it0 = iterable0.iterator();
+ Iterator<Integer> it1 = iterable1.iterator();
+
+ while (it0.hasNext()) {
+ if (!it1.hasNext()) {
+ return 1;
+ }
+
+ int result = Integer.compare(it0.next(), it1.next());
+
+ if (result != 0) {
+ return result;
+ }
+ }
+
+ if (it1.hasNext()) {
+ return -1;
+ }
+
+ return 0;
+ };
/** */
private final DistributionFunction function;
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/TraitUtils.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/TraitUtils.java
index 667d3a9..f1158c5 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/TraitUtils.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/trait/TraitUtils.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.query.calcite.trait;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -26,7 +27,6 @@ import java.util.Set;
import java.util.stream.Collectors;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.linq4j.Ord;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptPlanner;
@@ -387,7 +387,7 @@ public class TraitUtils {
List<RelTraitSet> inTraits = Collections.nCopies(rel.getInputs().size(),
rel.getCluster().traitSetOf(IgniteConvention.INSTANCE));
- List<Pair<RelTraitSet, List<RelTraitSet>>> traits = new PropagationContext(ImmutableSet.of(Pair.of(requiredTraits, inTraits)))
+ List<Pair<RelTraitSet, List<RelTraitSet>>> traits = new PropagationContext(Set.of(Pair.of(requiredTraits, inTraits)))
.propagate((in, outs) -> singletonListFromNullable(rel.passThroughCollation(in, outs)))
.propagate((in, outs) -> singletonListFromNullable(rel.passThroughDistribution(in, outs)))
.propagate((in, outs) -> singletonListFromNullable(rel.passThroughRewindability(in, outs)))
@@ -407,7 +407,7 @@ public class TraitUtils {
Set<Pair<RelTraitSet, List<RelTraitSet>>> combinations = combinations(outTraits, inTraits);
if (combinations.isEmpty())
- return ImmutableList.of();
+ return List.of();
return new PropagationContext(combinations)
.propagate(rel::deriveCollation)
@@ -443,7 +443,7 @@ public class TraitUtils {
combination[idx] = t;
if (last)
- result.add(Pair.of(outTraits, ImmutableList.copyOf(combination)));
+ result.add(Pair.of(outTraits, List.of(combination)));
else if (!fillRecursive(outTraits, inTraits, result, combination, idx + 1))
return false;
}
@@ -497,10 +497,12 @@ public class TraitUtils {
if (combinations.isEmpty())
return this;
- ImmutableSet.Builder<Pair<RelTraitSet, List<RelTraitSet>>> b = ImmutableSet.builder();
+ Set<Pair<RelTraitSet, List<RelTraitSet>>> b = new HashSet<>();
+
for (Pair<RelTraitSet, List<RelTraitSet>> variant : combinations)
b.addAll(processor.propagate(variant.left, variant.right));
- return new PropagationContext(b.build());
+
+ return new PropagationContext(Set.copyOf(b));
}
/**
@@ -508,17 +510,19 @@ public class TraitUtils {
*/
public List<RelNode> nodes(RelFactory nodesCreator) {
if (combinations.isEmpty())
- return ImmutableList.of();
+ return List.of();
+
+ List<RelNode> nodes = new ArrayList<>();
- ImmutableList.Builder<RelNode> b = ImmutableList.builder();
for (Pair<RelTraitSet, List<RelTraitSet>> variant : combinations)
- b.add(nodesCreator.create(variant.left, variant.right));
- return b.build();
+ nodes.add(nodesCreator.create(variant.left, variant.right));
+
+ return List.copyOf(nodes);
}
/** */
public List<Pair<RelTraitSet, List<RelTraitSet>>> combinations() {
- return ImmutableList.copyOf(combinations);
+ return List.copyOf(combinations);
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java
index d27319f..559c505 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Commons.java
@@ -24,6 +24,7 @@ import java.util.Arrays;
import java.util.BitSet;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -548,4 +549,19 @@ public final class Commons {
throw new IllegalArgumentException("Unsupported type " + type.spec());
}
}
+
+ /** */
+ public static <T> Comparator<T> compoundComparator(Iterable<Comparator<T>> cmps) {
+ return (r1, r2) -> {
+ for (Comparator<T> cmp : cmps) {
+ int result = cmp.compare(r1, r2);
+
+ if (result != 0) {
+ return result;
+ }
+ }
+
+ return 0;
+ };
+ }
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/HintUtils.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/HintUtils.java
index 7947760..e718c23 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/HintUtils.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/HintUtils.java
@@ -18,10 +18,10 @@
package org.apache.ignite.internal.processors.query.calcite.util;
import java.util.Collections;
+import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.core.AggregateCall;
import org.apache.calcite.rel.hint.RelHint;
import org.apache.calcite.rel.logical.LogicalAggregate;
@@ -36,13 +36,13 @@ public class HintUtils {
}
/** */
- public static boolean containsDisabledRules(ImmutableList<RelHint> hints) {
+ public static boolean containsDisabledRules(List<RelHint> hints) {
return hints.stream()
.anyMatch(h -> "DISABLE_RULE".equals(h.hintName) && !h.listOptions.isEmpty());
}
/** */
- public static Set<String> disabledRules(ImmutableList<RelHint> hints) {
+ public static Set<String> disabledRules(List<RelHint> hints) {
if (nullOrEmpty(hints))
return Collections.emptySet();
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/ExecutionPlan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/LocalCache.java
similarity index 53%
copy from modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/ExecutionPlan.java
copy to modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/LocalCache.java
index 53dc4fa..5071ad7 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/ExecutionPlan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/LocalCache.java
@@ -15,35 +15,45 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.processors.query.calcite.prepare;
+package org.apache.ignite.internal.processors.query.calcite.util;
-import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.function.Function;
-import com.google.common.collect.ImmutableList;
+/** */
+public class LocalCache<K, V> {
+ /** */
+ private final ConcurrentMap<K, V> map = new ConcurrentHashMap<>();
-/**
- *
- */
-class ExecutionPlan {
/** */
- private final long ver;
+ private final Function<K, V> builder;
/** */
- private final ImmutableList<Fragment> fragments;
+ public LocalCache() {
+ this(null);
+ }
+
+ /** */
+ public LocalCache(Function<K, V> builder) {
+ this.builder = builder;
+ }
/** */
- ExecutionPlan(long ver, List<Fragment> fragments) {
- this.ver = ver;
- this.fragments = ImmutableList.copyOf(fragments);
+ public V get(K key) {
+ if (builder != null)
+ return map.computeIfAbsent(key, builder);
+ else
+ return map.get(key);
}
/** */
- public long topologyVersion() {
- return ver;
+ public void put(K key, V val) {
+ map.put(key, val);
}
/** */
- public List<Fragment> fragments() {
- return fragments;
+ public void clear() {
+ map.clear();
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Primitives.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Primitives.java
new file mode 100644
index 0000000..afa1f8d
--- /dev/null
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/Primitives.java
@@ -0,0 +1,105 @@
+/*
+ * 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.ignite.internal.processors.query.calcite.util;
+
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Objects;
+
+public final class Primitives {
+ private Primitives() {}
+
+ /** A map from primitive types to their corresponding wrapper types. */
+ private static final Map<Class<?>, Class<?>> PRIMITIVE_TO_WRAPPER_TYPE;
+
+ /** A map from wrapper types to their corresponding primitive types. */
+ private static final Map<Class<?>, Class<?>> WRAPPER_TO_PRIMITIVE_TYPE;
+
+ static {
+ Map<Class<?>, Class<?>> primToWrap = new LinkedHashMap<>(16);
+ Map<Class<?>, Class<?>> wrapToPrim = new LinkedHashMap<>(16);
+
+ add(primToWrap, wrapToPrim, boolean.class, Boolean.class);
+ add(primToWrap, wrapToPrim, byte.class, Byte.class);
+ add(primToWrap, wrapToPrim, char.class, Character.class);
+ add(primToWrap, wrapToPrim, double.class, Double.class);
+ add(primToWrap, wrapToPrim, float.class, Float.class);
+ add(primToWrap, wrapToPrim, int.class, Integer.class);
+ add(primToWrap, wrapToPrim, long.class, Long.class);
+ add(primToWrap, wrapToPrim, short.class, Short.class);
+ add(primToWrap, wrapToPrim, void.class, Void.class);
+
+ PRIMITIVE_TO_WRAPPER_TYPE = Collections.unmodifiableMap(primToWrap);
+ WRAPPER_TO_PRIMITIVE_TYPE = Collections.unmodifiableMap(wrapToPrim);
+ }
+
+ private static void add(
+ Map<Class<?>, Class<?>> forward,
+ Map<Class<?>, Class<?>> backward,
+ Class<?> key,
+ Class<?> value) {
+ forward.put(key, value);
+ backward.put(value, key);
+ }
+
+ /**
+ * Returns {@code true} if {@code type} is one of the nine primitive-wrapper types,
+ * such as {@link Integer}.
+ *
+ * @see Class#isPrimitive
+ */
+ public static boolean isWrapperType(Class<?> type) {
+ return WRAPPER_TO_PRIMITIVE_TYPE.containsKey(Objects.requireNonNull(type));
+ }
+
+ /**
+ * Returns the corresponding wrapper type of {@code type} if it is a primitive type;
+ * otherwise returns {@code type} itself.
+ *
+ * <pre>
+ * wrap(int.class) == Integer.class
+ * wrap(Integer.class) == Integer.class
+ * wrap(String.class) == String.class
+ * </pre>
+ */
+ public static <T> Class<T> wrap(Class<T> type) {
+ Objects.requireNonNull(type);
+
+ Class<T> wrapped = (Class<T>) PRIMITIVE_TO_WRAPPER_TYPE.get(type);
+ return (wrapped == null) ? type : wrapped;
+ }
+
+ /**
+ * Returns the corresponding primitive type of {@code type} if it is a wrapper type;
+ * otherwise returns {@code type} itself.
+ *
+ * <pre>
+ * unwrap(Integer.class) == int.class
+ * unwrap(int.class) == int.class
+ * unwrap(String.class) == String.class
+ * </pre>
+ */
+ public static <T> Class<T> unwrap(Class<T> type) {
+ Objects.requireNonNull(type);
+
+ Class<T> unwrapped = (Class<T>) WRAPPER_TO_PRIMITIVE_TYPE.get(type);
+
+ return (unwrapped == null) ? type : unwrapped;
+ }
+}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/TypeUtils.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/TypeUtils.java
index a997605..8d693d9 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/TypeUtils.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/util/TypeUtils.java
@@ -29,7 +29,6 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.DataContext;
import org.apache.calcite.avatica.util.DateTimeUtils;
import org.apache.calcite.plan.RelOptSchema;
@@ -65,7 +64,7 @@ public class TypeUtils {
);
/** */
- private static final Set<Type> CONVERTABLE_TYPES = ImmutableSet.of(
+ private static final Set<Type> CONVERTABLE_TYPES = Set.of(
java.util.Date.class,
java.sql.Date.class,
java.sql.Time.class,
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/AbstractExecutionTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/AbstractExecutionTest.java
index 986e944..54b431a 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/AbstractExecutionTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/AbstractExecutionTest.java
@@ -18,11 +18,11 @@
package org.apache.ignite.internal.processors.query.calcite.exec.rel;
import java.util.Iterator;
+import java.util.Map;
import java.util.UUID;
import java.util.function.Function;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableMap;
import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rel.type.RelDataTypeField;
import org.apache.ignite.internal.processors.query.calcite.exec.ArrayRowHandler;
@@ -74,7 +74,7 @@ public class AbstractExecutionTest extends IgniteAbstractTest {
UUID.randomUUID(),
fragmentDesc,
ArrayRowHandler.INSTANCE,
- ImmutableMap.of()
+ Map.of()
);
}
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/BaseAggregateTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/BaseAggregateTest.java
index 59fef55..cc53e83 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/BaseAggregateTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/BaseAggregateTest.java
@@ -24,7 +24,6 @@ import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.RelCollations;
import org.apache.calcite.rel.core.AggregateCall;
import org.apache.calcite.rel.type.RelDataType;
@@ -78,7 +77,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of(0));
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of(0));
RelDataType aggRowType = TypeUtils.createRowType(tf, int.class);
@@ -129,7 +128,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of(0));
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of(0));
RelDataType aggRowType = TypeUtils.createRowType(tf, int.class);
@@ -180,7 +179,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of(0));
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of(0));
RelDataType aggRowType = TypeUtils.createRowType(tf, int.class);
@@ -231,7 +230,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of(0));
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of(0));
RelDataType aggRowType = TypeUtils.createRowType(tf, int.class);
@@ -323,7 +322,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
tf.createJavaType(Integer.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of(0));
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of(0));
RelDataType aggRowType = TypeUtils.createRowType(tf, int.class);
@@ -386,7 +385,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of(0));
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of(0));
RelDataType aggRowType = TypeUtils.createRowType(tf, int.class);
@@ -451,7 +450,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of(0));
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of(0));
RelDataType aggRowType = TypeUtils.createRowType(tf, int.class);
@@ -488,7 +487,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
private SingleNode<Object[]> createAggregateNodesChain(
TestAggregateType testAgg,
ExecutionContext<Object[]> ctx,
- ImmutableList<ImmutableBitSet> grpSets,
+ List<ImmutableBitSet> grpSets,
AggregateCall aggCall,
RelDataType inRowType,
RelDataType aggRowType,
@@ -512,7 +511,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
/** */
protected abstract SingleNode<Object[]> createSingleAggregateNodesChain(
ExecutionContext<Object[]> ctx,
- ImmutableList<ImmutableBitSet> grpSets,
+ List<ImmutableBitSet> grpSets,
AggregateCall aggCall,
RelDataType inRowType,
RelDataType aggRowType,
@@ -523,7 +522,7 @@ public abstract class BaseAggregateTest extends AbstractExecutionTest {
/** */
protected abstract SingleNode<Object[]> createMapReduceAggregateNodesChain(
ExecutionContext<Object[]> ctx,
- ImmutableList<ImmutableBitSet> grpSets,
+ List<ImmutableBitSet> grpSets,
AggregateCall call,
RelDataType inRowType,
RelDataType aggRowType,
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/ExecutionTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/ExecutionTest.java
index 2f6cbe5..c3f5fd3 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/ExecutionTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/ExecutionTest.java
@@ -20,9 +20,9 @@ package org.apache.ignite.internal.processors.query.calcite.exec.rel;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Set;
import java.util.stream.Stream;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.rel.core.CorrelationId;
import org.apache.calcite.rel.core.JoinRelType;
import org.apache.calcite.rel.type.RelDataType;
@@ -462,7 +462,7 @@ public class ExecutionTest extends AbstractExecutionTest {
ctx,
joinRowType,
r -> r[0].equals(r[3]),
- ImmutableSet.of(new CorrelationId(0)),
+ Set.of(new CorrelationId(0)),
joinType
);
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateExecutionTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateExecutionTest.java
index fb169d7..4504583 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateExecutionTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateExecutionTest.java
@@ -18,10 +18,10 @@
package org.apache.ignite.internal.processors.query.calcite.exec.rel;
import java.util.Comparator;
+import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelCollations;
import org.apache.calcite.rel.core.AggregateCall;
@@ -43,7 +43,7 @@ public class HashAggregateExecutionTest extends BaseAggregateTest {
/** {@inheritDoc} */
@Override protected SingleNode<Object[]> createSingleAggregateNodesChain(
ExecutionContext<Object[]> ctx,
- ImmutableList<ImmutableBitSet> grpSets,
+ List<ImmutableBitSet> grpSets,
AggregateCall call,
RelDataType inRowType,
RelDataType aggRowType,
@@ -84,7 +84,7 @@ public class HashAggregateExecutionTest extends BaseAggregateTest {
/** {@inheritDoc} */
@Override protected SingleNode<Object[]> createMapReduceAggregateNodesChain(
ExecutionContext<Object[]> ctx,
- ImmutableList<ImmutableBitSet> grpSets,
+ List<ImmutableBitSet> grpSets,
AggregateCall call,
RelDataType inRowType,
RelDataType aggRowType,
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateSingleGroupExecutionTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateSingleGroupExecutionTest.java
index edb2c1f..4a3b2ba 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateSingleGroupExecutionTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/HashAggregateSingleGroupExecutionTest.java
@@ -21,7 +21,6 @@ import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.RelCollations;
import org.apache.calcite.rel.core.AggregateCall;
import org.apache.calcite.rel.type.RelDataType;
@@ -72,7 +71,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(double.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType mapType = IgniteMapHashAggregate.rowType(tf, true);
HashAggregateNode<Object[]> map = new HashAggregateNode<>(
@@ -130,7 +129,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType mapType = IgniteMapHashAggregate.rowType(tf, true);
HashAggregateNode<Object[]> map = new HashAggregateNode<>(ctx, mapType, MAP, grpSets,
@@ -174,7 +173,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType mapType = IgniteMapHashAggregate.rowType(tf, true);
HashAggregateNode<Object[]> map = new HashAggregateNode<>(ctx, mapType, MAP, grpSets,
@@ -218,7 +217,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType mapType = IgniteMapHashAggregate.rowType(tf, true);
HashAggregateNode<Object[]> map = new HashAggregateNode<>(ctx, mapType, MAP, grpSets,
@@ -262,7 +261,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType mapType = IgniteMapHashAggregate.rowType(tf, true);
HashAggregateNode<Object[]> map = new HashAggregateNode<>(ctx, mapType, MAP, grpSets,
@@ -306,7 +305,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(double.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType aggType = TypeUtils.createRowType(tf, int.class);
HashAggregateNode<Object[]> agg = new HashAggregateNode<>(ctx, aggType, SINGLE, grpSets,
@@ -345,7 +344,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType aggType = TypeUtils.createRowType(tf, int.class);
HashAggregateNode<Object[]> agg = new HashAggregateNode<>(ctx, aggType, SINGLE, grpSets,
@@ -384,7 +383,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType aggType = TypeUtils.createRowType(tf, int.class);
HashAggregateNode<Object[]> agg = new HashAggregateNode<>(ctx, aggType, SINGLE, grpSets,
@@ -423,7 +422,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType aggType = TypeUtils.createRowType(tf, int.class);
HashAggregateNode<Object[]> agg = new HashAggregateNode<>(ctx, aggType, SINGLE, grpSets,
@@ -463,7 +462,7 @@ public class HashAggregateSingleGroupExecutionTest extends AbstractExecutionTest
tf.createJavaType(int.class),
null);
- ImmutableList<ImmutableBitSet> grpSets = ImmutableList.of(ImmutableBitSet.of());
+ List<ImmutableBitSet> grpSets = List.of(ImmutableBitSet.of());
RelDataType aggType = TypeUtils.createRowType(tf, int.class);
HashAggregateNode<Object[]> agg = new HashAggregateNode<>(
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/SortAggregateExecutionTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/SortAggregateExecutionTest.java
index 92c19e3..6593224 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/SortAggregateExecutionTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/exec/rel/SortAggregateExecutionTest.java
@@ -18,10 +18,10 @@
package org.apache.ignite.internal.processors.query.calcite.exec.rel;
import java.util.Comparator;
+import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.RelCollations;
import org.apache.calcite.rel.core.AggregateCall;
@@ -41,7 +41,7 @@ public class SortAggregateExecutionTest extends BaseAggregateTest {
/** {@inheritDoc} */
@Override protected SingleNode<Object[]> createSingleAggregateNodesChain(
ExecutionContext<Object[]> ctx,
- ImmutableList<ImmutableBitSet> grpSets,
+ List<ImmutableBitSet> grpSets,
AggregateCall call,
RelDataType inRowType,
RelDataType aggRowType,
@@ -80,7 +80,7 @@ public class SortAggregateExecutionTest extends BaseAggregateTest {
/** {@inheritDoc} */
@Override protected SingleNode<Object[]> createMapReduceAggregateNodesChain(
ExecutionContext<Object[]> ctx,
- ImmutableList<ImmutableBitSet> grpSets,
+ List<ImmutableBitSet> grpSets,
AggregateCall call,
RelDataType inRowType,
RelDataType aggRowType,
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java
index 4bb1716..009bc2a 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java
@@ -18,8 +18,10 @@
package org.apache.ignite.internal.processors.query.calcite.planner;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -28,7 +30,6 @@ import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.config.CalciteConnectionConfig;
import org.apache.calcite.plan.Contexts;
import org.apache.calcite.plan.Convention;
@@ -210,7 +211,7 @@ public abstract class AbstractPlannerTest extends IgniteAbstractTest {
try (IgnitePlanner planner = ctx.planner()) {
assertNotNull(planner);
- planner.setDisabledRules(ImmutableSet.copyOf(disabledRules));
+ planner.setDisabledRules(new HashSet<>(Arrays.asList(disabledRules)));
String qry = ctx.query();
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/PlannerTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/PlannerTest.java
index 1001446..12c984e 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/PlannerTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/PlannerTest.java
@@ -20,12 +20,12 @@ package org.apache.ignite.internal.processors.query.calcite.planner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Set;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Predicate;
-import com.google.common.collect.ImmutableSet;
import org.apache.calcite.plan.Contexts;
import org.apache.calcite.plan.ConventionTraitDef;
import org.apache.calcite.plan.RelOptUtil;
@@ -1230,7 +1230,7 @@ public class PlannerTest extends AbstractPlannerTest {
RelRoot relRoot;
try (IgnitePlanner planner = ctx.planner()) {
- planner.setDisabledRules(ImmutableSet.of("CorrelatedNestedLoopJoin"));
+ planner.setDisabledRules(Set.of("CorrelatedNestedLoopJoin"));
assertNotNull(planner);
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/sql/SqlDdlParserTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/sql/SqlDdlParserTest.java
index 32d1f8d..ae1b9fb 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/sql/SqlDdlParserTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/sql/SqlDdlParserTest.java
@@ -20,7 +20,6 @@ import java.util.List;
import java.util.Objects;
import java.util.function.Predicate;
-import com.google.common.collect.ImmutableList;
import org.apache.calcite.sql.SqlIdentifier;
import org.apache.calcite.sql.SqlKind;
import org.apache.calcite.sql.SqlLiteral;
@@ -58,7 +57,7 @@ public class SqlDdlParserTest {
IgniteSqlCreateTable createTable = (IgniteSqlCreateTable)node;
- assertThat(createTable.name().names, is(ImmutableList.of("MY_TABLE")));
+ assertThat(createTable.name().names, is(List.of("MY_TABLE")));
assertThat(createTable.ifNotExists, is(false));
assertThat(createTable.columnList(), hasItem(columnWithName("ID")));
assertThat(createTable.columnList(), hasItem(columnWithName("VAL")));
@@ -77,7 +76,7 @@ public class SqlDdlParserTest {
IgniteSqlCreateTable createTable = (IgniteSqlCreateTable)node;
- assertThat(createTable.name().names, is(ImmutableList.of("My_Table")));
+ assertThat(createTable.name().names, is(List.of("My_Table")));
assertThat(createTable.ifNotExists, is(false));
assertThat(createTable.columnList(), hasItem(columnWithName("Id")));
assertThat(createTable.columnList(), hasItem(columnWithName("Val")));
@@ -96,7 +95,7 @@ public class SqlDdlParserTest {
IgniteSqlCreateTable createTable = (IgniteSqlCreateTable)node;
- assertThat(createTable.name().names, is(ImmutableList.of("MY_TABLE")));
+ assertThat(createTable.name().names, is(List.of("MY_TABLE")));
assertThat(createTable.ifNotExists, is(true));
assertThat(createTable.columnList(), hasItem(columnWithName("ID")));
assertThat(createTable.columnList(), hasItem(columnWithName("VAL")));
@@ -116,7 +115,7 @@ public class SqlDdlParserTest {
IgniteSqlCreateTable createTable = (IgniteSqlCreateTable)node;
- assertThat(createTable.name().names, is(ImmutableList.of("MY_TABLE")));
+ assertThat(createTable.name().names, is(List.of("MY_TABLE")));
assertThat(createTable.ifNotExists, is(false));
assertThat(createTable.columnList(), hasItem(ofTypeMatching(
"PK constraint with name \"ID\"", SqlKeyConstraint.class,
@@ -140,7 +139,7 @@ public class SqlDdlParserTest {
IgniteSqlCreateTable createTable = (IgniteSqlCreateTable)node;
- assertThat(createTable.name().names, is(ImmutableList.of("MY_TABLE")));
+ assertThat(createTable.name().names, is(List.of("MY_TABLE")));
assertThat(createTable.ifNotExists, is(false));
assertThat(createTable.columnList(), hasItem(ofTypeMatching(
"PK constraint without name containing column \"ID\"", SqlKeyConstraint.class,
@@ -164,7 +163,7 @@ public class SqlDdlParserTest {
IgniteSqlCreateTable createTable = (IgniteSqlCreateTable)node;
- assertThat(createTable.name().names, is(ImmutableList.of("MY_TABLE")));
+ assertThat(createTable.name().names, is(List.of("MY_TABLE")));
assertThat(createTable.ifNotExists, is(false));
assertThat(createTable.columnList(), hasItem(ofTypeMatching(
"PK constraint with name \"PK_KEY\" containing column \"ID\"", SqlKeyConstraint.class,
@@ -188,7 +187,7 @@ public class SqlDdlParserTest {
IgniteSqlCreateTable createTable = (IgniteSqlCreateTable)node;
- assertThat(createTable.name().names, is(ImmutableList.of("MY_TABLE")));
+ assertThat(createTable.name().names, is(List.of("MY_TABLE")));
assertThat(createTable.ifNotExists, is(false));
assertThat(createTable.columnList(), hasItem(ofTypeMatching(
"PK constraint with two columns", SqlKeyConstraint.class,
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/util/Commons.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ITUtils.java
similarity index 65%
copy from modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/util/Commons.java
copy to modules/runner/src/integrationTest/java/org/apache/ignite/internal/ITUtils.java
index 3ecbc8c..98b057c 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/util/Commons.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ITUtils.java
@@ -14,16 +14,29 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.ignite.internal.calcite.util;
+package org.apache.ignite.internal;
+
+import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
-import java.util.stream.Collectors;
-import com.google.common.collect.Streams;
-import org.apache.ignite.internal.util.Cursor;
+/**
+ * Utilities methods for integration tests.
+ */
+public class ITUtils {
+ private ITUtils() {
+ // No-op;
+ }
+
+ /**
+ * Returns a reversed list of the specified list.
+ */
+ public static <T> List<T> reverse(List<T> lst) {
+ List<T> res = new ArrayList<>(lst);
+
+ Collections.reverse(res);
-public class Commons {
- public static List<List<?>> getAllFromCursor(Cursor<List<?>> cur) {
- return Streams.stream((Iterable<List<?>>)cur).collect(Collectors.toList());
+ return res;
}
}
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/AbstractBasicIntegrationTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/AbstractBasicIntegrationTest.java
index 4f188fb..d8957d3 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/AbstractBasicIntegrationTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/AbstractBasicIntegrationTest.java
@@ -23,9 +23,10 @@ import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import com.google.common.collect.Lists;
+
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.ITUtils;
import org.apache.ignite.internal.app.IgniteImpl;
import org.apache.ignite.internal.calcite.util.QueryChecker;
import org.apache.ignite.internal.processors.query.calcite.QueryProcessor;
@@ -123,7 +124,7 @@ public class AbstractBasicIntegrationTest {
if (LOG.isInfoEnabled())
LOG.info("Start tearDown()");
- IgniteUtils.closeAll(Lists.reverse(CLUSTER_NODES));
+ IgniteUtils.closeAll(ITUtils.reverse(CLUSTER_NODES));
CLUSTER_NODES.clear();
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITDataTypesTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITDataTypesTest.java
index f4ed660..f4181b1 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITDataTypesTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITDataTypesTest.java
@@ -18,9 +18,9 @@
package org.apache.ignite.internal.calcite;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableSet;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@@ -47,7 +47,7 @@ public class ITDataTypesTest extends AbstractBasicIntegrationTest {
List<List<?>> rows = sql("SELECT val FROM string_table");
- assertEquals(ImmutableSet.copyOf(values), rows.stream().map(r -> r.get(0)).collect(Collectors.toSet()));
+ assertEquals(Set.of(values), rows.stream().map(r -> r.get(0)).collect(Collectors.toSet()));
sql("DELETE FROM string_table");
@@ -57,11 +57,11 @@ public class ITDataTypesTest extends AbstractBasicIntegrationTest {
rows = sql("SELECT val FROM string_table");
- assertEquals(ImmutableSet.copyOf(values), rows.stream().map(r -> r.get(0)).collect(Collectors.toSet()));
+ assertEquals(Set.of(values), rows.stream().map(r -> r.get(0)).collect(Collectors.toSet()));
rows = sql("SELECT substring(val, 1, 2) FROM string_table");
- assertEquals(ImmutableSet.of("Ки", "Mü", "我是", "AS"),
+ assertEquals(Set.of("Ки", "Mü", "我是", "AS"),
rows.stream().map(r -> r.get(0)).collect(Collectors.toSet()));
for (String val : values) {
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITSetOpTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITSetOpTest.java
index 69f2d85..45d27f0 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITSetOpTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/ITSetOpTest.java
@@ -19,8 +19,8 @@ package org.apache.ignite.internal.calcite;
import java.util.List;
import java.util.function.Predicate;
+import java.util.stream.StreamSupport;
-import com.google.common.collect.Streams;
import org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
import org.apache.ignite.schema.SchemaBuilders;
import org.apache.ignite.schema.definition.ColumnType;
@@ -277,6 +277,6 @@ public class ITSetOpTest extends AbstractBasicIntegrationTest {
}
private <T> long countIf(Iterable<T> it, Predicate<T> pred) {
- return Streams.stream(it).filter(pred).count();
+ return StreamSupport.stream(it.spliterator(), false).filter(pred).count();
}
}
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/util/Commons.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/util/Commons.java
index 3ecbc8c..9f256d2 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/util/Commons.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/calcite/util/Commons.java
@@ -18,12 +18,12 @@ package org.apache.ignite.internal.calcite.util;
import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.StreamSupport;
-import com.google.common.collect.Streams;
import org.apache.ignite.internal.util.Cursor;
public class Commons {
public static List<List<?>> getAllFromCursor(Cursor<List<?>> cur) {
- return Streams.stream((Iterable<List<?>>)cur).collect(Collectors.toList());
+ return StreamSupport.stream(cur.spliterator(), false).collect(Collectors.toList());
}
}
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
index e7ad7b9..f719aeb 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
@@ -23,9 +23,10 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
-import com.google.common.collect.Lists;
+
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.ITUtils;
import org.apache.ignite.internal.schema.InvalidTypeException;
import org.apache.ignite.internal.testframework.WorkDirectory;
import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
@@ -117,7 +118,7 @@ abstract class AbstractSchemaChangeTest {
/** */
@AfterEach
void afterEach() throws Exception {
- IgniteUtils.closeAll(Lists.reverse(clusterNodes));
+ IgniteUtils.closeAll(ITUtils.reverse(clusterNodes));
}
/**
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITBaselineChangesTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITBaselineChangesTest.java
index 444aee5..8724150 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITBaselineChangesTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITBaselineChangesTest.java
@@ -23,9 +23,10 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import com.google.common.collect.Lists;
+
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.ITUtils;
import org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
import org.apache.ignite.internal.testframework.WorkDirectory;
import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
@@ -89,7 +90,7 @@ public class ITBaselineChangesTest {
/** */
@AfterEach
void tearDown() throws Exception {
- IgniteUtils.closeAll(Lists.reverse(clusterNodes));
+ IgniteUtils.closeAll(ITUtils.reverse(clusterNodes));
}
/**
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITDynamicTableCreationTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITDynamicTableCreationTest.java
index 9b92c18..d4f3d1b 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITDynamicTableCreationTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITDynamicTableCreationTest.java
@@ -23,9 +23,10 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
-import com.google.common.collect.Lists;
+
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.ITUtils;
import org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
import org.apache.ignite.internal.testframework.WorkDirectory;
import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
@@ -116,7 +117,7 @@ class ITDynamicTableCreationTest {
/** */
@AfterEach
void tearDown() throws Exception {
- IgniteUtils.closeAll(Lists.reverse(clusterNodes));
+ IgniteUtils.closeAll(ITUtils.reverse(clusterNodes));
}
/**
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITIgnitionTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITIgnitionTest.java
index 3d9f3ef..0ad156f 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITIgnitionTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITIgnitionTest.java
@@ -22,9 +22,10 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import com.google.common.collect.Lists;
+
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.ITUtils;
import org.apache.ignite.internal.testframework.IgniteTestUtils;
import org.apache.ignite.internal.testframework.WorkDirectory;
import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
@@ -109,7 +110,7 @@ class ITIgnitionTest {
/** */
@AfterEach
void tearDown() throws Exception {
- IgniteUtils.closeAll(Lists.reverse(startedNodes));
+ IgniteUtils.closeAll(ITUtils.reverse(startedNodes));
}
/**
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITTablesApiTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITTablesApiTest.java
index dde1546..928d50b 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITTablesApiTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITTablesApiTest.java
@@ -25,9 +25,10 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import com.google.common.collect.Lists;
+
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.ITUtils;
import org.apache.ignite.internal.app.IgniteImpl;
import org.apache.ignite.internal.metastorage.MetaStorageManager;
import org.apache.ignite.internal.metastorage.client.WatchEvent;
@@ -137,7 +138,7 @@ public class ITTablesApiTest extends IgniteAbstractTest {
*/
@AfterEach
void afterEach() throws Exception {
- IgniteUtils.closeAll(Lists.reverse(clusterNodes));
+ IgniteUtils.closeAll(ITUtils.reverse(clusterNodes));
}
/**
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITThinClientConnectionTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITThinClientConnectionTest.java
index 40aa5b4..d1778eb 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITThinClientConnectionTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ITThinClientConnectionTest.java
@@ -22,10 +22,11 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import com.google.common.collect.Lists;
+
import org.apache.ignite.Ignite;
import org.apache.ignite.IgnitionManager;
import org.apache.ignite.client.IgniteClient;
+import org.apache.ignite.internal.ITUtils;
import org.apache.ignite.internal.app.IgniteImpl;
import org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
import org.apache.ignite.internal.testframework.IgniteAbstractTest;
@@ -100,7 +101,7 @@ public class ITThinClientConnectionTest extends IgniteAbstractTest {
/** */
@AfterEach
void tearDown() throws Exception {
- IgniteUtils.closeAll(Lists.reverse(startedNodes));
+ IgniteUtils.closeAll(ITUtils.reverse(startedNodes));
}
/**