This is an automated email from the ASF dual-hosted git repository.
ppa 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 2b85cdb332 IGNITE-21373 Sql. Get rid of the Ignite prefix in SQL
operators (#3336)
2b85cdb332 is described below
commit 2b85cdb3329dda1cca9683c60a346e80bd7e4d73
Author: Pavel Pereslegin <[email protected]>
AuthorDate: Wed Mar 6 16:14:57 2024 +0300
IGNITE-21373 Sql. Get rid of the Ignite prefix in SQL operators (#3336)
---
.../ignite/internal/SqlEngineModuleArchTest.java | 62 +++++++++++
.../internal/sql/engine/ItCorrelatesTest.java | 2 +-
.../ignite/internal/sql/engine/ItDmlTest.java | 10 +-
.../internal/sql/engine/ItKeyValueGetTest.java | 14 +--
.../internal/sql/engine/ItKeyValuePutTest.java | 8 +-
.../internal/sql/engine/ItMixedQueriesTest.java | 12 +--
.../internal/sql/engine/ItSecondaryIndexTest.java | 16 +--
.../engine/rel/IgniteCorrelatedNestedLoopJoin.java | 8 ++
.../internal/sql/engine/rel/IgniteExchange.java | 8 ++
.../internal/sql/engine/rel/IgniteFilter.java | 7 ++
.../sql/engine/rel/IgniteHashIndexSpool.java | 8 ++
.../internal/sql/engine/rel/IgniteIndexScan.java | 8 ++
.../internal/sql/engine/rel/IgniteKeyValueGet.java | 8 ++
.../sql/engine/rel/IgniteKeyValueModify.java | 8 ++
.../internal/sql/engine/rel/IgniteLimit.java | 8 ++
.../internal/sql/engine/rel/IgniteMergeJoin.java | 8 ++
.../sql/engine/rel/IgniteNestedLoopJoin.java | 8 ++
.../internal/sql/engine/rel/IgniteProject.java | 8 ++
.../internal/sql/engine/rel/IgniteReceiver.java | 8 ++
.../internal/sql/engine/rel/IgniteSender.java | 8 ++
.../ignite/internal/sql/engine/rel/IgniteSort.java | 8 ++
.../sql/engine/rel/IgniteSortedIndexSpool.java | 8 ++
.../sql/engine/rel/IgniteSystemViewScan.java | 7 ++
.../sql/engine/rel/IgniteTableFunctionScan.java | 8 ++
.../internal/sql/engine/rel/IgniteTableModify.java | 7 ++
.../internal/sql/engine/rel/IgniteTableScan.java | 7 ++
.../internal/sql/engine/rel/IgniteTableSpool.java | 8 ++
.../sql/engine/rel/IgniteTrimExchange.java | 8 ++
.../internal/sql/engine/rel/IgniteUnionAll.java | 8 ++
.../internal/sql/engine/rel/IgniteValues.java | 8 ++
.../rel/agg/IgniteColocatedHashAggregate.java | 7 ++
.../rel/agg/IgniteColocatedSortAggregate.java | 7 ++
.../sql/engine/rel/agg/IgniteMapHashAggregate.java | 7 ++
.../sql/engine/rel/agg/IgniteMapSortAggregate.java | 7 ++
.../engine/rel/agg/IgniteReduceHashAggregate.java | 8 ++
.../engine/rel/agg/IgniteReduceSortAggregate.java | 8 ++
.../engine/rel/logical/IgniteLogicalIndexScan.java | 8 ++
.../rel/logical/IgniteLogicalSystemViewScan.java | 7 ++
.../engine/rel/logical/IgniteLogicalTableScan.java | 8 ++
.../engine/rel/set/IgniteColocatedIntersect.java | 7 ++
.../sql/engine/rel/set/IgniteColocatedMinus.java | 7 ++
.../sql/engine/rel/set/IgniteMapIntersect.java | 8 ++
.../sql/engine/rel/set/IgniteMapMinus.java | 8 ++
.../sql/engine/rel/set/IgniteReduceIntersect.java | 7 ++
.../sql/engine/rel/set/IgniteReduceMinus.java | 8 ++
.../sql/engine/exec/mapping/FragmentPrinter.java | 2 +-
.../internal/sql/engine/planner/PlannerTest.java | 10 +-
.../src/test/resources/mapping/correlated.test | 118 ++++++++++-----------
.../sql-engine/src/test/resources/mapping/dml.test | 52 ++++-----
.../src/test/resources/mapping/merge_join.test | 52 ++++-----
.../src/test/resources/mapping/set_ops.test | 26 ++---
.../src/test/resources/mapping/table_affinity.test | 24 ++---
.../test/resources/mapping/table_functions.test | 2 +-
.../src/test/resources/mapping/table_identity.test | 56 +++++-----
.../resources/mapping/table_identity_single.test | 48 ++++-----
.../src/test/resources/mapping/table_single.test | 44 ++++----
.../resources/mapping/test_partition_pruning.test | 56 +++++-----
.../src/test/resources/mapping/union.test | 60 +++++------
.../src/test/resources/mapping/values.test | 4 +-
.../internal/sql/engine/util/QueryChecker.java | 18 ++--
60 files changed, 671 insertions(+), 317 deletions(-)
diff --git
a/modules/arch-test/src/test/java/org/apache/ignite/internal/SqlEngineModuleArchTest.java
b/modules/arch-test/src/test/java/org/apache/ignite/internal/SqlEngineModuleArchTest.java
new file mode 100644
index 0000000000..00ff60f4e5
--- /dev/null
+++
b/modules/arch-test/src/test/java/org/apache/ignite/internal/SqlEngineModuleArchTest.java
@@ -0,0 +1,62 @@
+/*
+ * 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;
+
+import com.tngtech.archunit.core.domain.JavaClass;
+import com.tngtech.archunit.core.domain.JavaModifier;
+import com.tngtech.archunit.core.importer.ImportOption;
+import com.tngtech.archunit.junit.AnalyzeClasses;
+import com.tngtech.archunit.junit.ArchTest;
+import com.tngtech.archunit.lang.ArchCondition;
+import com.tngtech.archunit.lang.ArchRule;
+import com.tngtech.archunit.lang.ConditionEvents;
+import com.tngtech.archunit.lang.SimpleConditionEvent;
+import com.tngtech.archunit.lang.syntax.ArchRuleDefinition;
+import org.apache.calcite.rel.RelNode;
+import org.apache.ignite.internal.sql.engine.rel.IgniteRel;
+import org.apache.ignite.lang.LocationProvider.RootLocationProvider;
+
+/**
+ * Checks that all non-abstract descendants of {@link IgniteRel} override
{@link RelNode#getRelTypeName()}.
+ */
+@AnalyzeClasses(
+ packages = "org.apache.ignite.internal.sql.engine.rel",
+ importOptions = ImportOption.DoNotIncludeTests.class,
+ locations = RootLocationProvider.class)
+public class SqlEngineModuleArchTest {
+ @ArchTest
+ public static final ArchRule ALL_REL_NODES_DEFINE_REL_TYPE_NAME =
ArchRuleDefinition.classes()
+ .that()
+ .implement(IgniteRel.class)
+ .and()
+ .doNotHaveModifier(JavaModifier.ABSTRACT)
+ .should(new ArchCondition<>("override
org.apache.calcite.rel.RelNode.getRelTypeName") {
+ @Override
+ public void check(JavaClass javaClass, ConditionEvents
conditionEvents) {
+ boolean overrided = javaClass.getMethods().stream()
+ .anyMatch(it ->
"getRelTypeName".equals(it.getName()));
+
+ if (!overrided) {
+ conditionEvents.add(SimpleConditionEvent.violated(
+ javaClass,
+ javaClass.getName() + " must override method
'getRelTypeName()'"
+ ));
+ }
+ }
+ });
+}
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItCorrelatesTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItCorrelatesTest.java
index 602a5c3398..bfb84bc68b 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItCorrelatesTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItCorrelatesTest.java
@@ -43,7 +43,7 @@ public class ItCorrelatesTest extends BaseSqlIntegrationTest {
sql("INSERT INTO test_tbl VALUES (1, 1)");
assertQuery("SELECT " + DISABLED_JOIN_RULES + " t0.v, (SELECT t0.v +
t1.v FROM test_tbl t1) AS j FROM test_tbl t0")
- .matches(containsSubPlan("IgniteCorrelatedNestedLoopJoin"))
+ .matches(containsSubPlan("CorrelatedNestedLoopJoin"))
.returns(1, 2)
.check();
}
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java
index 46b903863e..c7f82938cb 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItDmlTest.java
@@ -738,14 +738,14 @@ public class ItDmlTest extends BaseSqlIntegrationTest {
for (int i = 0; i < tableSize; i++) {
assertQuery("INSERT INTO test1 VALUES (?, ?, ?)")
.withParams(i, i, i)
- .matches(containsSubPlan("IgniteKeyValueModify"))
+ .matches(containsSubPlan("KeyValueModify"))
.returns(1L)
.check();
}
// multistep insert
assertQuery("INSERT INTO test2 SELECT * FROM test1")
- .matches(containsSubPlan("IgniteTableModify"))
+ .matches(containsSubPlan("TableModify"))
.returns((long) tableSize)
.check();
@@ -760,7 +760,7 @@ public class ItDmlTest extends BaseSqlIntegrationTest {
// multistep delete
assertQuery("DELETE FROM test2")
- .matches(containsSubPlan("IgniteTableModify"))
+ .matches(containsSubPlan("TableModify"))
.returns((long) tableSize)
.check();
@@ -768,7 +768,7 @@ public class ItDmlTest extends BaseSqlIntegrationTest {
for (int i = 0; i < tableSize; i++) {
assertQuery("SELECT * FROM test1 WHERE id1=? AND id2=?")
.withParams(i, i)
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.returns(i, i, i)
.check();
}
@@ -778,7 +778,7 @@ public class ItDmlTest extends BaseSqlIntegrationTest {
for (int i = 0; i < tableSize; i++) {
assertQuery("DELETE FROM test1 WHERE id1=? AND id2=?")
.withParams(i, i)
- .matches(containsSubPlan("IgniteTableModify"))
+ .matches(containsSubPlan("TableModify"))
.returns(1L)
.check();
}
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValueGetTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValueGetTest.java
index e4718caccc..4dace7a946 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValueGetTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValueGetTest.java
@@ -54,7 +54,7 @@ public class ItKeyValueGetTest extends BaseSqlIntegrationTest
{
int key = randomKey();
assertQuery("SELECT * FROM simple_key WHERE id = ?")
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.withParams(key)
.returns(key, key)
.check();
@@ -65,7 +65,7 @@ public class ItKeyValueGetTest extends BaseSqlIntegrationTest
{
int key = randomKey();
assertQuery("SELECT * FROM complex_key_normal_order WHERE id1 = ? AND
id2 = ?")
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.withParams(key, 2 * key)
.returns(key, 2 * key, key)
.check();
@@ -76,7 +76,7 @@ public class ItKeyValueGetTest extends BaseSqlIntegrationTest
{
int key = randomKey();
assertQuery("SELECT * FROM complex_key_revers_order WHERE id1 = ? AND
id2 = ?")
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.withParams(key, 2 * key)
.returns(key, 2 * key, key)
.check();
@@ -85,13 +85,13 @@ public class ItKeyValueGetTest extends
BaseSqlIntegrationTest {
@Test
void lookupBySimpleKeyWithPostFiltration() {
assertQuery("SELECT * FROM simple_key WHERE id = ? AND val > 5")
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.withParams(1)
.returnNothing()
.check();
assertQuery("SELECT * FROM simple_key WHERE id = ? AND val > 5")
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.withParams(6)
.returns(6, 6)
.check();
@@ -102,13 +102,13 @@ public class ItKeyValueGetTest extends
BaseSqlIntegrationTest {
int key = randomKey();
assertQuery("SELECT val FROM simple_key WHERE id = ?")
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.withParams(key)
.returns(key)
.check();
assertQuery("SELECT id, val * 10 FROM simple_key WHERE id = ?")
- .matches(containsSubPlan("IgniteKeyValueGet"))
+ .matches(containsSubPlan("KeyValueGet"))
.withParams(key)
.returns(key, key * 10)
.check();
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValuePutTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValuePutTest.java
index c10bcf1a7b..21b003d0b4 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValuePutTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItKeyValuePutTest.java
@@ -55,7 +55,7 @@ public class ItKeyValuePutTest extends BaseSqlIntegrationTest
{
void insertConstantSimpleKey() {
for (int i = 0; i < TABLE_SIZE; i++) {
assertQuery(format("INSERT INTO simple_key VALUES ({}, {})", i, i))
- .matches(containsSubPlan("IgniteKeyValueModify"))
+ .matches(containsSubPlan("KeyValueModify"))
.returns(1L)
.check();
}
@@ -72,7 +72,7 @@ public class ItKeyValuePutTest extends BaseSqlIntegrationTest
{
void insertDynamicParamsSimpleKey() {
for (int i = 0; i < TABLE_SIZE; i++) {
assertQuery("INSERT INTO simple_key VALUES (?, ?)")
- .matches(containsSubPlan("IgniteKeyValueModify"))
+ .matches(containsSubPlan("KeyValueModify"))
.withParams(i, i)
.returns(1L)
.check();
@@ -90,7 +90,7 @@ public class ItKeyValuePutTest extends BaseSqlIntegrationTest
{
void insertSimpleKeyWithCast() {
for (int i = 0; i < TABLE_SIZE; i++) {
assertQuery("INSERT INTO simple_key VALUES (?, ?)")
- .matches(containsSubPlan("IgniteKeyValueModify"))
+ .matches(containsSubPlan("KeyValueModify"))
.withParams((byte) i, (byte) i)
.returns(1L)
.check();
@@ -108,7 +108,7 @@ public class ItKeyValuePutTest extends
BaseSqlIntegrationTest {
void insertComplexKey() {
for (int i = 0; i < TABLE_SIZE; i++) {
assertQuery("INSERT INTO complex_key VALUES (?, ?, ?)")
- .matches(containsSubPlan("IgniteKeyValueModify"))
+ .matches(containsSubPlan("KeyValueModify"))
.withParams(i, 2 * i, i)
.returns(1L)
.check();
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java
index 9d391f7800..05830a7a7a 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java
@@ -298,7 +298,7 @@ public class ItMixedQueriesTest extends
BaseSqlIntegrationTest {
assertQuery("select c1 from test_tbl ORDER BY c1")
.matches(containsIndexScan("PUBLIC", "TEST_TBL", "IDX_ASC"))
- .matches(not(containsSubPlan("IgniteSort")))
+ .matches(not(containsSubPlan("Sort")))
.ordered()
.returns(1)
.returns(2)
@@ -307,7 +307,7 @@ public class ItMixedQueriesTest extends
BaseSqlIntegrationTest {
.check();
assertQuery("select c1 from test_tbl ORDER BY c1 asc nulls first")
- .matches(containsSubPlan("IgniteSort"))
+ .matches(containsSubPlan("Sort"))
.ordered()
.returns(null)
.returns(1)
@@ -317,7 +317,7 @@ public class ItMixedQueriesTest extends
BaseSqlIntegrationTest {
assertQuery("select c1 from test_tbl ORDER BY c1 asc nulls last")
.matches(containsIndexScan("PUBLIC", "TEST_TBL", "IDX_ASC"))
- .matches(not(containsSubPlan("IgniteSort")))
+ .matches(not(containsSubPlan("Sort")))
.ordered()
.returns(1)
.returns(2)
@@ -327,7 +327,7 @@ public class ItMixedQueriesTest extends
BaseSqlIntegrationTest {
assertQuery("select c1 from test_tbl ORDER BY c1 desc")
.matches(containsIndexScan("PUBLIC", "TEST_TBL", "IDX_DESC"))
- .matches(not(containsSubPlan("IgniteSort")))
+ .matches(not(containsSubPlan("Sort")))
.ordered()
.returns(null)
.returns(3)
@@ -337,7 +337,7 @@ public class ItMixedQueriesTest extends
BaseSqlIntegrationTest {
assertQuery("select c1 from test_tbl ORDER BY c1 desc nulls first")
.matches(containsIndexScan("PUBLIC", "TEST_TBL", "IDX_DESC"))
- .matches(not(containsSubPlan("IgniteSort")))
+ .matches(not(containsSubPlan("Sort")))
.ordered()
.returns(null)
.returns(3)
@@ -346,7 +346,7 @@ public class ItMixedQueriesTest extends
BaseSqlIntegrationTest {
.check();
assertQuery("select c1 from test_tbl ORDER BY c1 desc nulls last")
- .matches(containsSubPlan("IgniteSort"))
+ .matches(containsSubPlan("Sort"))
.ordered()
.returns(3)
.returns(2)
diff --git
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
index 64c428e1a4..1e40ffc988 100644
---
a/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
+++
b/modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
@@ -122,7 +122,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
public void testIndexLoopJoin() {
assertQuery("SELECT /*+ DISABLE_RULE('MergeJoinConverter',
'NestedLoopJoinConverter') */ d1.name, d2.name "
+ "FROM Developer d1, Developer d2 WHERE d1.id = d2.id")
- .matches(containsSubPlan("IgniteCorrelatedNestedLoopJoin"))
+ .matches(containsSubPlan("CorrelatedNestedLoopJoin"))
.returns("Bach", "Bach")
.returns("Beethoven", "Beethoven")
.returns("Mozart", "Mozart")
@@ -186,7 +186,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
@Test
public void testKeyEqualsFilter() {
assertQuery("SELECT * FROM Developer WHERE id=2")
- .matches(containsSubPlan("IgniteKeyValueGet(table=[[PUBLIC,
DEVELOPER]]"))
+ .matches(containsSubPlan("KeyValueGet(table=[[PUBLIC,
DEVELOPER]]"))
.returns(2, "Beethoven", 2, "Vienna", 44)
.check();
}
@@ -581,7 +581,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
public void testOrderByKey() {
assertQuery("SELECT * FROM Developer WHERE id<=4 ORDER BY id")
.matches(containsTableScan("PUBLIC", "DEVELOPER"))
- .matches(containsSubPlan("IgniteSort"))
+ .matches(containsSubPlan("Sort"))
.returns(1, "Mozart", 3, "Vienna", 33)
.returns(2, "Beethoven", 2, "Vienna", 44)
.returns(3, "Bach", 1, "Leipzig", 55)
@@ -594,7 +594,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
public void testOrderByDepId() {
assertQuery("SELECT depid FROM Developer ORDER BY depId")
.matches(containsIndexScan("PUBLIC", "DEVELOPER", DEPID_IDX))
- .matches(not(containsSubPlan("IgniteSort")))
+ .matches(not(containsSubPlan("Sort")))
.returns(1) // Bach
.returns(2) // Beethoven or Strauss
.returns(2) // Strauss or Beethoven
@@ -629,7 +629,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
assertQuery("SELECT * FROM Developer ORDER BY name, city")
.matches(containsAnyScan("PUBLIC", "DEVELOPER"))
.matches(containsAnyScan("PUBLIC", "DEVELOPER"))
- .matches(containsSubPlan("IgniteSort"))
+ .matches(containsSubPlan("Sort"))
.returns(18, "Arnalds", 17, "", -1)
.returns(3, "Bach", 1, "Leipzig", 55)
.returns(2, "Beethoven", 2, "Vienna", 44)
@@ -661,7 +661,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
public void testOrderByNameCityDesc() {
assertQuery("SELECT ID, NAME, DEPID, CITY, AGE FROM Developer ORDER BY
name DESC, city DESC")
.matches(containsIndexScan("PUBLIC", "DEVELOPER",
NAME_CITY_IDX))
- .matches(not(containsSubPlan("IgniteSort")))
+ .matches(not(containsSubPlan("Sort")))
.returns(16, "Zimmer", 15, "", -1)
.returns(19, "Yiruma", 18, "", -1)
.returns(7, "Verdy", 6, "Rankola", 88)
@@ -693,7 +693,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
public void testOrderByNoIndexedColumn() {
assertQuery("SELECT * FROM Developer ORDER BY age DESC, depid ASC")
.matches(containsAnyProject("PUBLIC", "DEVELOPER"))
- .matches(containsSubPlan("IgniteSort"))
+ .matches(containsSubPlan("Sort"))
.returns(8, "Stravinsky", 7, "Spt", 89)
.returns(7, "Verdy", 6, "Rankola", 88)
.returns(5, "Vagner", 4, "Leipzig", 70)
@@ -912,7 +912,7 @@ public class ItSecondaryIndexTest extends
BaseSqlIntegrationTest {
assertQuery(sql)
.disableRules("NestedLoopJoinConverter",
"MergeJoinConverter")
- .matches(containsSubPlan("IgniteCorrelatedNestedLoopJoin"))
+ .matches(containsSubPlan("CorrelatedNestedLoopJoin"))
.matches(containsIndexScan("PUBLIC", "T", "T_IDX"))
.returns(0, null)
.returns(1, null)
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteCorrelatedNestedLoopJoin.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteCorrelatedNestedLoopJoin.java
index 82d3c7bcfa..58aa8ea7b8 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteCorrelatedNestedLoopJoin.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteCorrelatedNestedLoopJoin.java
@@ -48,6 +48,8 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* The set of output rows is a subset of the cartesian product of the two
inputs; precisely which subset depends on the join condition.
*/
public class IgniteCorrelatedNestedLoopJoin extends AbstractIgniteJoin {
+ private static final String REL_TYPE_NAME = "CorrelatedNestedLoopJoin";
+
/**
* Creates a Join.
*
@@ -181,4 +183,10 @@ public class IgniteCorrelatedNestedLoopJoin extends
AbstractIgniteJoin {
// condition selectivity already counted within the external filter
return super.estimateRowCount(mq) / mq.getSelectivity(this,
getCondition());
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteExchange.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteExchange.java
index 2aa97576d2..a9797bf6bd 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteExchange.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteExchange.java
@@ -38,6 +38,8 @@ import
org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
* Relational expression that imposes a particular distribution on its input
without otherwise changing its content.
*/
public class IgniteExchange extends Exchange implements IgniteRel {
+ private static final String REL_TYPE_NAME = "Exchange";
+
/**
* Creates an Exchange.
*
@@ -103,4 +105,10 @@ public class IgniteExchange extends Exchange implements
IgniteRel {
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteExchange(cluster, getTraitSet(), sole(inputs),
distribution);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteFilter.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteFilter.java
index 361cf3c613..93fa7c34b3 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteFilter.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteFilter.java
@@ -42,6 +42,8 @@ import
org.apache.ignite.internal.sql.engine.trait.TraitsAwareIgniteRel;
* false.</p>
*/
public class IgniteFilter extends Filter implements TraitsAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "Filter";
+
/**
* Creates a filter.
*
@@ -105,4 +107,9 @@ public class IgniteFilter extends Filter implements
TraitsAwareIgniteRel {
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteFilter(cluster, getTraitSet(), sole(inputs),
getCondition());
}
+
+ /** {@inheritDoc} */
+ @Override public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteHashIndexSpool.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteHashIndexSpool.java
index c57343203b..5f91c8edf7 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteHashIndexSpool.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteHashIndexSpool.java
@@ -40,6 +40,8 @@ import org.apache.ignite.internal.sql.engine.util.RexUtils;
* Relational operator that returns the hashed contents of a table and allow
to lookup rows by specified keys.
*/
public class IgniteHashIndexSpool extends AbstractIgniteSpool {
+ private static final String REL_TYPE_NAME = "HashIndexSpool";
+
/** Search row. */
private final List<RexNode> searchRow;
@@ -178,4 +180,10 @@ public class IgniteHashIndexSpool extends
AbstractIgniteSpool {
public boolean allowNulls() {
return allowNulls;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteIndexScan.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteIndexScan.java
index 52d2ff9d3a..38a86b63b0 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteIndexScan.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteIndexScan.java
@@ -36,6 +36,8 @@ import org.jetbrains.annotations.Nullable;
* Relational operator that returns the contents of a table using an index.
*/
public class IgniteIndexScan extends AbstractIndexScan implements
SourceAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "IndexScan";
+
private final long sourceId;
/** Index collation. Required for proper expanding search bounds and
creating index row converter. */
@@ -161,4 +163,10 @@ public class IgniteIndexScan extends AbstractIndexScan
implements SourceAwareIgn
return new IgniteIndexScan(sourceId, cluster, getTraitSet(),
getTable(),
idxName, type, collation, projects, condition, searchBounds,
requiredColumns);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueGet.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueGet.java
index 0f300fcd8a..13057efc64 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueGet.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueGet.java
@@ -46,6 +46,8 @@ import org.jetbrains.annotations.Nullable;
* </ul>
*/
public class IgniteKeyValueGet extends ProjectableFilterableTableScan
implements IgniteRel {
+ private static final String REL_TYPE_NAME = "KeyValueGet";
+
private final List<RexNode> keyExpressions;
/**
@@ -101,6 +103,12 @@ public class IgniteKeyValueGet extends
ProjectableFilterableTableScan implements
.item("key", keyExpressions);
}
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
+
/**
* Returns a list of expressions in the order of a primary key columns of
related table
* to use as lookup key.
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueModify.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueModify.java
index 57d991e15a..8bb7a25138 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueModify.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteKeyValueModify.java
@@ -48,6 +48,8 @@ import org.apache.ignite.internal.tx.InternalTransaction;
* </ul>
*/
public class IgniteKeyValueModify extends AbstractRelNode implements IgniteRel
{
+ private static final String REL_TYPE_NAME = "KeyValueModify";
+
/** Enumeration of supported modification operations. */
public enum Operation {
PUT
@@ -113,6 +115,12 @@ public class IgniteKeyValueModify extends AbstractRelNode
implements IgniteRel {
.item("expressions", expressions);
}
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
+
/**
* Returns a list of expressions representing either full row or only a key
* depending on particular operation.
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteLimit.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteLimit.java
index f6b4d4af5b..50c777a997 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteLimit.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteLimit.java
@@ -41,6 +41,8 @@ import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
/** Relational expression that applies a limit and/or offset to its input. */
public class IgniteLimit extends SingleRel implements IgniteRel {
+ private static final String REL_TYPE_NAME = "Limit";
+
/** Offset. */
private final RexNode offset;
@@ -195,4 +197,10 @@ public class IgniteLimit extends SingleRel implements
IgniteRel {
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteLimit(cluster, getTraitSet(), sole(inputs), offset,
fetch);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteMergeJoin.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteMergeJoin.java
index 7112ea67a9..17e9e4d253 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteMergeJoin.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteMergeJoin.java
@@ -54,6 +54,8 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteMergeJoin extends AbstractIgniteJoin {
+ private static final String REL_TYPE_NAME = "MergeJoin";
+
/**
* Collation of a left child. Keep it here to restore after
deserialization.
*/
@@ -298,6 +300,12 @@ public class IgniteMergeJoin extends AbstractIgniteJoin {
.item("rightCollation", rightCollation);
}
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
+
/**
* Get collation of a left child.
*/
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteNestedLoopJoin.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteNestedLoopJoin.java
index 445a1b9e88..c11309e034 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteNestedLoopJoin.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteNestedLoopJoin.java
@@ -42,6 +42,8 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* join condition.
*/
public class IgniteNestedLoopJoin extends AbstractIgniteJoin {
+ private static final String REL_TYPE_NAME = "NestedLoopJoin";
+
/**
* Creates a Join.
*
@@ -117,4 +119,10 @@ public class IgniteNestedLoopJoin extends
AbstractIgniteJoin {
return new IgniteNestedLoopJoin(cluster, getTraitSet(), inputs.get(0),
inputs.get(1), getCondition(),
getVariablesSet(), getJoinType());
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteProject.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteProject.java
index a074969c38..298f45b708 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteProject.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteProject.java
@@ -54,6 +54,8 @@ import
org.apache.ignite.internal.sql.engine.trait.TraitsAwareIgniteRel;
* Relational expression that computes a set of 'select expressions' from its
input relational expression.
*/
public class IgniteProject extends Project implements TraitsAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "Project";
+
/**
* Creates a Project.
*
@@ -200,4 +202,10 @@ public class IgniteProject extends Project implements
TraitsAwareIgniteRel {
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteProject(cluster, getTraitSet(), sole(inputs),
getProjects(), getRowType());
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteReceiver.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteReceiver.java
index 41a2a54563..4ea7c14969 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteReceiver.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteReceiver.java
@@ -34,6 +34,8 @@ import org.apache.calcite.util.Pair;
* Relational expression that receives elements from remote {@link
IgniteSender}.
*/
public class IgniteReceiver extends AbstractRelNode implements IgniteRel {
+ private static final String REL_TYPE_NAME = "Receiver";
+
private final long exchangeId;
private final long sourceFragmentId;
@@ -147,4 +149,10 @@ public class IgniteReceiver extends AbstractRelNode
implements IgniteRel {
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteReceiver(cluster, getTraitSet(), rowType, exchangeId,
sourceFragmentId, collation);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSender.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSender.java
index 7d62cbf73c..5dd8b74ed1 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSender.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSender.java
@@ -34,6 +34,8 @@ import
org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
* Relational expression that iterates over its input and sends elements to
remote {@link IgniteReceiver}.
*/
public class IgniteSender extends SingleRel implements IgniteRel {
+ private static final String REL_TYPE_NAME = "Sender";
+
private final long exchangeId;
private final long targetFragmentId;
@@ -155,4 +157,10 @@ public class IgniteSender extends SingleRel implements
IgniteRel {
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteSender(cluster, getTraitSet(), sole(inputs),
exchangeId(), targetFragmentId(), distribution());
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSort.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSort.java
index 6664df0709..36777dfaff 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSort.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSort.java
@@ -45,6 +45,8 @@ import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
* Ignite sort operator.
*/
public class IgniteSort extends Sort implements IgniteRel {
+ private static final String REL_TYPE_NAME = "Sort";
+
/**
* Constructor.
*
@@ -187,4 +189,10 @@ public class IgniteSort extends Sort implements IgniteRel {
return Math.min(inputRows, fetch + offset);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSortedIndexSpool.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSortedIndexSpool.java
index 9065f13619..2707bff81a 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSortedIndexSpool.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSortedIndexSpool.java
@@ -40,6 +40,8 @@ import
org.apache.ignite.internal.sql.engine.prepare.bounds.SearchBounds;
* Relational operator that returns the sorted contents of a table and allow
to lookup rows by specified bounds.
*/
public class IgniteSortedIndexSpool extends AbstractIgniteSpool implements
IgniteRel {
+ private static final String REL_TYPE_NAME = "SortedIndexSpool";
+
private final RelCollation collation;
/** Index search conditions. */
@@ -181,4 +183,10 @@ public class IgniteSortedIndexSpool extends
AbstractIgniteSpool implements Ignit
return costFactory.makeCost(rowCnt, cpuCost, 0, totalBytes, 0);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSystemViewScan.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSystemViewScan.java
index 47b3e60073..25140718eb 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSystemViewScan.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteSystemViewScan.java
@@ -34,6 +34,7 @@ import org.jetbrains.annotations.Nullable;
* Relational operator that returns the contents of a system view.
*/
public class IgniteSystemViewScan extends ProjectableFilterableTableScan
implements SourceAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "SystemViewScan";
private final long sourceId;
@@ -127,4 +128,10 @@ public class IgniteSystemViewScan extends
ProjectableFilterableTableScan impleme
return super.explainTerms0(pw)
.itemIf("sourceId", sourceId, sourceId != -1);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableFunctionScan.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableFunctionScan.java
index bf586f40b8..e6a9a84167 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableFunctionScan.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableFunctionScan.java
@@ -39,6 +39,8 @@ import
org.apache.ignite.internal.sql.engine.exec.mapping.QuerySplitter;
* Relational operator for table function scan.
*/
public class IgniteTableFunctionScan extends TableFunctionScan implements
SourceAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "TableFunctionScan";
+
/** Default estimate row count. */
private static final int ESTIMATE_ROW_COUNT = 100;
@@ -140,4 +142,10 @@ public class IgniteTableFunctionScan extends
TableFunctionScan implements Source
public double estimateRowCount(RelMetadataQuery mq) {
return ESTIMATE_ROW_COUNT;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableModify.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableModify.java
index ce1bed4795..53d02b7417 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableModify.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableModify.java
@@ -35,6 +35,7 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* Relational operator that represents DML operation (such as INSERT, UPDATE,
DELETE, etc.)
*/
public class IgniteTableModify extends TableModify implements
SourceAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "TableModify";
private final long sourceId;
@@ -182,4 +183,10 @@ public class IgniteTableModify extends TableModify
implements SourceAwareIgniteR
public long sourceId() {
return sourceId;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableScan.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableScan.java
index 4b76f009d5..dd893cf20c 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableScan.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableScan.java
@@ -34,6 +34,8 @@ import org.jetbrains.annotations.Nullable;
* Relational operator that returns the contents of a table.
*/
public class IgniteTableScan extends ProjectableFilterableTableScan implements
SourceAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "TableScan";
+
private final long sourceId;
/**
@@ -152,4 +154,9 @@ public class IgniteTableScan extends
ProjectableFilterableTableScan implements S
public IgniteTableScan withHints(List<RelHint> hintList) {
return new IgniteTableScan(sourceId, getCluster(), getTraitSet(),
hintList, getTable(), projects, condition, requiredColumns);
}
+
+ /** {@inheritDoc} */
+ @Override public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableSpool.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableSpool.java
index 1875ed37d9..b95ae669bf 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableSpool.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTableSpool.java
@@ -33,6 +33,8 @@ import
org.apache.ignite.internal.sql.engine.metadata.cost.IgniteCostFactory;
* Relational operator that returns the contents of a table.
*/
public class IgniteTableSpool extends AbstractIgniteSpool {
+ private static final String REL_TYPE_NAME = "TableSpool";
+
/**
* Constructor.
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
@@ -95,4 +97,10 @@ public class IgniteTableSpool extends AbstractIgniteSpool {
return costFactory.makeCost(rowCnt, cpuCost, 0, totalBytes, 0);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTrimExchange.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTrimExchange.java
index 9b2ae3d919..2eabf8735a 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTrimExchange.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteTrimExchange.java
@@ -39,6 +39,8 @@ import
org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteTrimExchange extends Exchange implements
SourceAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "TrimExchange";
+
private final long sourceId;
/**
@@ -135,4 +137,10 @@ public class IgniteTrimExchange extends Exchange
implements SourceAwareIgniteRel
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteTrimExchange(sourceId, cluster, getTraitSet(),
sole(inputs), getDistribution());
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteUnionAll.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteUnionAll.java
index 71f38e10a5..7b69a6d28d 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteUnionAll.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteUnionAll.java
@@ -43,6 +43,8 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteUnionAll extends Union implements TraitsAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "UnionAll";
+
/**
* Constructor.
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
@@ -127,4 +129,10 @@ public class IgniteUnionAll extends Union implements
TraitsAwareIgniteRel {
public IgniteRel clone(RelOptCluster cluster, List<IgniteRel> inputs) {
return new IgniteUnionAll(cluster, getTraitSet(),
Commons.cast(inputs));
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteValues.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteValues.java
index 745986280a..d3a7ee5661 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteValues.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/IgniteValues.java
@@ -36,6 +36,8 @@ import
org.apache.ignite.internal.sql.engine.exec.mapping.QuerySplitter;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteValues extends Values implements SourceAwareIgniteRel {
+ private static final String REL_TYPE_NAME = "Values";
+
private final long sourceId;
/**
@@ -130,4 +132,10 @@ public class IgniteValues extends Values implements
SourceAwareIgniteRel {
public long sourceId() {
return sourceId;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedHashAggregate.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedHashAggregate.java
index 6ac3795c90..d4828234e1 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedHashAggregate.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedHashAggregate.java
@@ -36,6 +36,8 @@ import
org.apache.ignite.internal.sql.engine.rel.IgniteRelVisitor;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteColocatedHashAggregate extends IgniteColocatedAggregateBase
implements IgniteHashAggregateBase {
+ private static final String REL_TYPE_NAME = "ColocatedHashAggregate";
+
public IgniteColocatedHashAggregate(RelOptCluster cluster, RelTraitSet
traitSet, RelNode input, ImmutableBitSet groupSet,
List<ImmutableBitSet> groupSets, List<AggregateCall> aggCalls) {
super(cluster, traitSet, input, groupSet, groupSets, aggCalls);
@@ -75,4 +77,9 @@ public class IgniteColocatedHashAggregate extends
IgniteColocatedAggregateBase i
public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery
mq) {
return computeSelfCostHash(planner, mq);
}
+
+ /** {@inheritDoc} */
+ @Override public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedSortAggregate.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedSortAggregate.java
index b99549b43e..e4b5434091 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedSortAggregate.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteColocatedSortAggregate.java
@@ -40,6 +40,8 @@ import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteColocatedSortAggregate extends IgniteColocatedAggregateBase
implements IgniteSortAggregateBase {
+ private static final String REL_TYPE_NAME = "ColocatedSortAggregate";
+
/** Collation. */
private final RelCollation collation;
@@ -110,4 +112,9 @@ public class IgniteColocatedSortAggregate extends
IgniteColocatedAggregateBase i
public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery
mq) {
return computeSelfCostSort(planner, mq);
}
+
+ /** {@inheritDoc} */
+ @Override public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapHashAggregate.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapHashAggregate.java
index fa6432adff..b0f836388c 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapHashAggregate.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapHashAggregate.java
@@ -39,6 +39,8 @@ import org.apache.ignite.internal.sql.engine.util.PlanUtils;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteMapHashAggregate extends IgniteMapAggregateBase implements
IgniteHashAggregateBase {
+ private static final String REL_TYPE_NAME = "MapHashAggregate";
+
/**
* Constructor.
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
@@ -96,4 +98,9 @@ public class IgniteMapHashAggregate extends
IgniteMapAggregateBase implements Ig
public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery
mq) {
return computeSelfCostHash(planner, mq);
}
+
+ /** {@inheritDoc} */
+ @Override public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapSortAggregate.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapSortAggregate.java
index 0e7ef67d2e..5d45677312 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapSortAggregate.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteMapSortAggregate.java
@@ -45,6 +45,8 @@ import org.apache.ignite.internal.sql.engine.util.PlanUtils;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteMapSortAggregate extends IgniteMapAggregateBase implements
IgniteSortAggregateBase {
+ private static final String REL_TYPE_NAME = "MapSortAggregate";
+
/** Collation. */
private final RelCollation collation;
@@ -138,4 +140,9 @@ public class IgniteMapSortAggregate extends
IgniteMapAggregateBase implements Ig
public RelCollation collation() {
return collation;
}
+
+ /** {@inheritDoc} */
+ @Override public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceHashAggregate.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceHashAggregate.java
index 8f95c07e4e..7ecc96f52a 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceHashAggregate.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceHashAggregate.java
@@ -40,6 +40,8 @@ import
org.apache.ignite.internal.sql.engine.rel.IgniteRelVisitor;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteReduceHashAggregate extends IgniteReduceAggregateBase
implements IgniteHashAggregateBase {
+ private static final String REL_TYPE_NAME = "ReduceHashAggregate";
+
/**
* Constructor.
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
@@ -120,4 +122,10 @@ public class IgniteReduceHashAggregate extends
IgniteReduceAggregateBase impleme
return List.of(Pair.of(nodeTraits.replace(RelCollations.EMPTY),
List.of(inTraits.get(0).replace(RelCollations.EMPTY))));
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceSortAggregate.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceSortAggregate.java
index 357ba1c42d..094eec595f 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceSortAggregate.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/agg/IgniteReduceSortAggregate.java
@@ -42,6 +42,8 @@ import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
public class IgniteReduceSortAggregate extends IgniteReduceAggregateBase
implements IgniteSortAggregateBase {
+ private static final String REL_TYPE_NAME = "ReduceSortAggregate";
+
/** Collation. */
private final RelCollation collation;
@@ -139,4 +141,10 @@ public class IgniteReduceSortAggregate extends
IgniteReduceAggregateBase impleme
public RelCollation collation() {
return collation;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalIndexScan.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalIndexScan.java
index ca2b741e3f..61f71d055d 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalIndexScan.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalIndexScan.java
@@ -39,6 +39,8 @@ import org.jetbrains.annotations.Nullable;
* Logical relational expression for reading data from an index.
*/
public class IgniteLogicalIndexScan extends AbstractIndexScan {
+ private static final String REL_TYPE_NAME = "LogicalIndexScan";
+
/** Creates a IgniteLogicalIndexScan. */
public static IgniteLogicalIndexScan create(
RelOptCluster cluster,
@@ -153,4 +155,10 @@ public class IgniteLogicalIndexScan extends
AbstractIndexScan {
requiredColumns
);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalSystemViewScan.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalSystemViewScan.java
index 52f633a1cc..1420a5990d 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalSystemViewScan.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalSystemViewScan.java
@@ -32,6 +32,7 @@ import org.jetbrains.annotations.Nullable;
* Logical relational expression for reading data from a system view.
*/
public class IgniteLogicalSystemViewScan extends
ProjectableFilterableTableScan {
+ private static final String REL_TYPE_NAME = "LogicalSystemViewScan";
/**
* Creates asSystem view scan.
@@ -68,4 +69,10 @@ public class IgniteLogicalSystemViewScan extends
ProjectableFilterableTableScan
return new IgniteLogicalSystemViewScan(getCluster(), getTraitSet(),
hintList, getTable(),
projects, condition, requiredColumns);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalTableScan.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalTableScan.java
index 6a77fd6481..6cda4b633f 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalTableScan.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/logical/IgniteLogicalTableScan.java
@@ -31,6 +31,8 @@ import org.jetbrains.annotations.Nullable;
* Logical relational expression for reading data from a table.
*/
public class IgniteLogicalTableScan extends ProjectableFilterableTableScan {
+ private static final String REL_TYPE_NAME = "LogicalTableScan";
+
/** Creates a IgniteTableScan. */
public static IgniteLogicalTableScan create(
RelOptCluster cluster,
@@ -72,4 +74,10 @@ public class IgniteLogicalTableScan extends
ProjectableFilterableTableScan {
public IgniteLogicalTableScan withHints(List<RelHint> hintList) {
return new IgniteLogicalTableScan(getCluster(), getTraitSet(),
hintList, getTable(), projects, condition, requiredColumns);
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedIntersect.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedIntersect.java
index 5e80e3a31b..d115948769 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedIntersect.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedIntersect.java
@@ -30,6 +30,8 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* Physical node for INTERSECT operator which inputs are colocated.
*/
public class IgniteColocatedIntersect extends IgniteIntersect implements
IgniteColocatedSetOp {
+ private static final String REL_TYPE_NAME = "ColocatedIntersect";
+
/**
* Constructor.
*
@@ -80,4 +82,9 @@ public class IgniteColocatedIntersect extends IgniteIntersect
implements IgniteC
return getInput(0).getRowType().getFieldCount() + getInputs().size();
}
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedMinus.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedMinus.java
index 509f053309..1d4c4e2c7a 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedMinus.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteColocatedMinus.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* Physical node for MINUS (EXCEPT) operator which inputs are colocated.
*/
public class IgniteColocatedMinus extends IgniteMinus implements
IgniteColocatedSetOp {
+ private static final String REL_TYPE_NAME = "ColocatedMinus";
/**
* Constructor.
@@ -80,4 +81,10 @@ public class IgniteColocatedMinus extends IgniteMinus
implements IgniteColocated
public int aggregateFieldsCount() {
return getInput(0).getRowType().getFieldCount() + COUNTER_FIELDS_CNT;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapIntersect.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapIntersect.java
index 4fc137b698..606bc868d8 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapIntersect.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapIntersect.java
@@ -32,6 +32,8 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* Physical node for MAP phase of INTERSECT operator.
*/
public class IgniteMapIntersect extends IgniteIntersect implements
IgniteMapSetOp {
+ private static final String REL_TYPE_NAME = "MapIntersect";
+
/**
* Constructor.
*
@@ -90,4 +92,10 @@ public class IgniteMapIntersect extends IgniteIntersect
implements IgniteMapSetO
public int aggregateFieldsCount() {
return getInput(0).getRowType().getFieldCount() + getInputs().size();
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapMinus.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapMinus.java
index b0d7362bb4..dde8cc217e 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapMinus.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteMapMinus.java
@@ -32,6 +32,8 @@ import org.apache.ignite.internal.sql.engine.util.Commons;
* Physical node for MAP phase of MINUS (EXCEPT) operator.
*/
public class IgniteMapMinus extends IgniteMinus implements IgniteMapSetOp {
+ private static final String REL_TYPE_NAME = "MapMinus";
+
/**
* Constructor.
*
@@ -89,4 +91,10 @@ public class IgniteMapMinus extends IgniteMinus implements
IgniteMapSetOp {
public int aggregateFieldsCount() {
return getInput(0).getRowType().getFieldCount() + COUNTER_FIELDS_CNT;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceIntersect.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceIntersect.java
index 8012580849..17e8c89fa2 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceIntersect.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceIntersect.java
@@ -34,6 +34,7 @@ import
org.apache.ignite.internal.sql.engine.rel.IgniteRelVisitor;
* Physical node for REDUCE phase of INTERSECT operator.
*/
public class IgniteReduceIntersect extends IgniteIntersect implements
IgniteReduceSetOp {
+ private static final String REL_TYPE_NAME = "ReduceIntersect";
/**
* Constructor.
@@ -106,4 +107,10 @@ public class IgniteReduceIntersect extends IgniteIntersect
implements IgniteRedu
public int aggregateFieldsCount() {
return getInput(0).getRowType().getFieldCount();
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceMinus.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceMinus.java
index d8b7adad67..97a63fafee 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceMinus.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rel/set/IgniteReduceMinus.java
@@ -34,6 +34,8 @@ import
org.apache.ignite.internal.sql.engine.rel.IgniteRelVisitor;
* Physical node for REDUCE phase of MINUS (EXCEPT) operator.
*/
public class IgniteReduceMinus extends IgniteMinus implements
IgniteReduceSetOp {
+ private static final String REL_TYPE_NAME = "ReduceMinus";
+
/**
* Constructor.
*
@@ -102,4 +104,10 @@ public class IgniteReduceMinus extends IgniteMinus
implements IgniteReduceSetOp
public int aggregateFieldsCount() {
return rowType.getFieldCount() + COUNTER_FIELDS_CNT;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public String getRelTypeName() {
+ return REL_TYPE_NAME;
+ }
}
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentPrinter.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentPrinter.java
index 5ca6a0f4e8..25116f531c 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentPrinter.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/mapping/FragmentPrinter.java
@@ -234,7 +234,7 @@ final class FragmentPrinter extends IgniteRelShuttle {
@Override
public IgniteRel visit(IgniteRel rel) {
output.appendPadding();
- output.writeString(rel.getClass().getSimpleName());
+ output.writeString(rel.getRelTypeName());
return super.visit(rel);
}
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/PlannerTest.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/PlannerTest.java
index 45754bb944..a8a5004ce2 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/PlannerTest.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/PlannerTest.java
@@ -199,11 +199,11 @@ public class PlannerTest extends AbstractPlannerTest {
RelNode phys = physicalPlan(sql, publicSchema,
"CorrelatedNestedLoopJoin");
assertNotNull(phys);
- assertEquals("IgniteSort(sort0=[$3], sort1=[$0], dir0=[ASC],
dir1=[ASC])" + System.lineSeparator()
- + " IgniteProject(DEPTNO=[$3], NAME=[$4], ID=[$0],
NAME0=[$1])" + System.lineSeparator()
- + " IgniteNestedLoopJoin(condition=[AND(=($3, $2),
>=($1, $4))], joinType=[inner])" + System.lineSeparator()
- + " IgniteTableScan(table=[[PUBLIC, EMP]])" +
System.lineSeparator()
- + " IgniteTableScan(table=[[PUBLIC, DEPT]])" +
System.lineSeparator(),
+ assertEquals("Sort(sort0=[$3], sort1=[$0], dir0=[ASC], dir1=[ASC])" +
System.lineSeparator()
+ + " Project(DEPTNO=[$3], NAME=[$4], ID=[$0],
NAME0=[$1])" + System.lineSeparator()
+ + " NestedLoopJoin(condition=[AND(=($3, $2), >=($1,
$4))], joinType=[inner])" + System.lineSeparator()
+ + " TableScan(table=[[PUBLIC, EMP]])" +
System.lineSeparator()
+ + " TableScan(table=[[PUBLIC, DEPT]])" +
System.lineSeparator(),
RelOptUtil.toString(phys));
}
diff --git a/modules/sql-engine/src/test/resources/mapping/correlated.test
b/modules/sql-engine/src/test/resources/mapping/correlated.test
index af808bfdec..584c9f903b 100644
--- a/modules/sql-engine/src/test/resources/mapping/correlated.test
+++ b/modules/sql-engine/src/test/resources/mapping/correlated.test
@@ -6,7 +6,7 @@ Fragment#4 root
remoteFragments: [5]
exchangeSourceNodes: {5=[N1]}
tree:
- IgniteReceiver(sourceFragment=5, exchange=5, distribution=single)
+ Receiver(sourceFragment=5, exchange=5, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -14,8 +14,8 @@ Fragment#1
tables: [T_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=5, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T_N1, source=3, partitions=1,
distribution=random)
+ Sender(targetFragment=5, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T_N1, source=3, partitions=1, distribution=random)
Fragment#5
targetNodes: [N0]
@@ -25,12 +25,12 @@ Fragment#5
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=4, exchange=5, distribution=single)
- IgniteProject
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteColocatedHashAggregate
- IgniteTableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
+ Sender(targetFragment=4, exchange=5, distribution=single)
+ Project
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ ColocatedHashAggregate
+ TableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
---
N1
@@ -43,11 +43,11 @@ Fragment#0 root
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteProject
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteColocatedHashAggregate
- IgniteTableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
+ Project
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ ColocatedHashAggregate
+ TableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
Fragment#1
targetNodes: [N1]
@@ -55,8 +55,8 @@ Fragment#1
tables: [T_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T_N1, source=3, partitions=1,
distribution=random)
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T_N1, source=3, partitions=1, distribution=random)
---
N0
@@ -67,7 +67,7 @@ Fragment#4 root
remoteFragments: [5]
exchangeSourceNodes: {5=[N1]}
tree:
- IgniteReceiver(sourceFragment=5, exchange=5, distribution=single)
+ Receiver(sourceFragment=5, exchange=5, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -75,8 +75,8 @@ Fragment#1
tables: [T_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=5, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T_N2, source=3, partitions=1,
distribution=random)
+ Sender(targetFragment=5, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T_N2, source=3, partitions=1, distribution=random)
Fragment#5
targetNodes: [N0]
@@ -86,12 +86,12 @@ Fragment#5
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=4, exchange=5, distribution=single)
- IgniteProject
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteColocatedHashAggregate
- IgniteTableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
+ Sender(targetFragment=4, exchange=5, distribution=single)
+ Project
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ ColocatedHashAggregate
+ TableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
---
N1
@@ -104,11 +104,11 @@ Fragment#0 root
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteProject
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteColocatedHashAggregate
- IgniteTableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
+ Project
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ ColocatedHashAggregate
+ TableScan(name=PUBLIC.CT_N1, source=2, partitions=1,
distribution=single)
Fragment#1
targetNodes: [N1]
@@ -116,8 +116,8 @@ Fragment#1
tables: [T_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T_N2, source=3, partitions=1,
distribution=random)
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T_N2, source=3, partitions=1, distribution=random)
---
N0
@@ -128,12 +128,12 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteProject
- IgniteMergeJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteSort
- IgniteFilter
- IgniteTableFunctionScan(source=2, distribution=single)
+ Project
+ MergeJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Sort
+ Filter
+ TableFunctionScan(source=2, distribution=single)
Fragment#1
targetNodes: [N0]
@@ -141,9 +141,9 @@ Fragment#1
tables: [T_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteSort
- IgniteTableScan(name=PUBLIC.T_N1, source=3, partitions=1,
distribution=random)
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ Sort
+ TableScan(name=PUBLIC.T_N1, source=3, partitions=1,
distribution=random)
---
N0
@@ -155,7 +155,7 @@ Fragment#3 root
remoteFragments: [4]
exchangeSourceNodes: {4=[N1]}
tree:
- IgniteReceiver(sourceFragment=4, exchange=4, distribution=single)
+ Receiver(sourceFragment=4, exchange=4, distribution=single)
Fragment#4
targetNodes: [N0]
@@ -163,14 +163,14 @@ Fragment#4
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=3, exchange=4, distribution=single)
- IgniteProject
- IgniteCorrelatedNestedLoopJoin
- IgniteTableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
- IgniteColocatedHashAggregate
- IgniteProject
- IgniteFilter
- IgniteTableFunctionScan(source=2, distribution=single)
+ Sender(targetFragment=3, exchange=4, distribution=single)
+ Project
+ CorrelatedNestedLoopJoin
+ TableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
+ ColocatedHashAggregate
+ Project
+ Filter
+ TableFunctionScan(source=2, distribution=single)
---
N0
@@ -182,13 +182,13 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteProject
- IgniteCorrelatedNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteColocatedHashAggregate
- IgniteProject
- IgniteFilter
- IgniteTableFunctionScan(source=2, distribution=single)
+ Project
+ CorrelatedNestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ ColocatedHashAggregate
+ Project
+ Filter
+ TableFunctionScan(source=2, distribution=single)
Fragment#1
targetNodes: [N0]
@@ -196,6 +196,6 @@ Fragment#1
tables: [T_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T_N1, source=3, partitions=1,
distribution=affinity[table: T_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T_N1, source=3, partitions=1,
distribution=affinity[table: T_N1, columns: [ID]])
---
diff --git a/modules/sql-engine/src/test/resources/mapping/dml.test
b/modules/sql-engine/src/test/resources/mapping/dml.test
index 9122dd3680..c1716a9297 100644
--- a/modules/sql-engine/src/test/resources/mapping/dml.test
+++ b/modules/sql-engine/src/test/resources/mapping/dml.test
@@ -6,9 +6,9 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteProject
- IgniteColocatedHashAggregate
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Project
+ ColocatedHashAggregate
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N0]
@@ -18,16 +18,16 @@ Fragment#1
tables: [T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableModify(name=PUBLIC.T1_N1, source=2,
distribution=affinity[table: T1_N1, columns: [ID]])
- IgniteReceiver(sourceFragment=3, exchange=3,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableModify(name=PUBLIC.T1_N1, source=2, distribution=affinity[table:
T1_N1, columns: [ID]])
+ Receiver(sourceFragment=3, exchange=3, distribution=affinity[table:
T1_N1, columns: [ID]])
Fragment#3
targetNodes: [N1]
executionNodes: [N0]
tree:
- IgniteSender(targetFragment=1, exchange=3, distribution=affinity[table:
T1_N1, columns: [ID]])
- IgniteValues
+ Sender(targetFragment=1, exchange=3, distribution=affinity[table: T1_N1,
columns: [ID]])
+ Values
---
N1
@@ -38,9 +38,9 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteProject
- IgniteColocatedHashAggregate
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Project
+ ColocatedHashAggregate
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -48,9 +48,9 @@ Fragment#1
tables: [T1_N1, T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableModify(name=PUBLIC.T1_N1, source=2,
distribution=affinity[table: T1_N1, columns: [ID]])
- IgniteTableScan(name=PUBLIC.T1_N1, source=3, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableModify(name=PUBLIC.T1_N1, source=2, distribution=affinity[table:
T1_N1, columns: [ID]])
+ TableScan(name=PUBLIC.T1_N1, source=3, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
---
N2
@@ -61,9 +61,9 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteProject
- IgniteColocatedHashAggregate
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Project
+ ColocatedHashAggregate
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N2]
@@ -71,9 +71,9 @@ Fragment#1
tables: [T1_N1, T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableModify(name=PUBLIC.T1_N1, source=2,
distribution=affinity[table: T1_N1, columns: [ID]])
- IgniteTableScan(name=PUBLIC.T1_N1, source=3, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableModify(name=PUBLIC.T1_N1, source=2, distribution=affinity[table:
T1_N1, columns: [ID]])
+ TableScan(name=PUBLIC.T1_N1, source=3, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
---
N1
@@ -84,9 +84,9 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N2, N3]}
tree:
- IgniteProject
- IgniteColocatedHashAggregate
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Project
+ ColocatedHashAggregate
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -94,7 +94,7 @@ Fragment#1
tables: [T2_N2N3, T2_N2N3]
partitions: {N2=[0:2], N3=[1:2]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableModify(name=PUBLIC.T2_N2N3, source=2,
distribution=affinity[table: T2_N2N3, columns: [ID]])
- IgniteTableScan(name=PUBLIC.T2_N2N3, source=3, partitions=2,
distribution=affinity[table: T2_N2N3, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableModify(name=PUBLIC.T2_N2N3, source=2, distribution=affinity[table:
T2_N2N3, columns: [ID]])
+ TableScan(name=PUBLIC.T2_N2N3, source=3, partitions=2,
distribution=affinity[table: T2_N2N3, columns: [ID]])
---
diff --git a/modules/sql-engine/src/test/resources/mapping/merge_join.test
b/modules/sql-engine/src/test/resources/mapping/merge_join.test
index 76fab743ac..5df9ab5737 100644
--- a/modules/sql-engine/src/test/resources/mapping/merge_join.test
+++ b/modules/sql-engine/src/test/resources/mapping/merge_join.test
@@ -6,7 +6,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N0]
@@ -14,13 +14,13 @@ Fragment#1
tables: [T1_N1, T2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteProject
- IgniteMergeJoin
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
- IgniteSort
- IgniteTableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ Project
+ MergeJoin
+ Sort
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sort
+ TableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
---
N1
@@ -31,7 +31,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -39,13 +39,13 @@ Fragment#1
tables: [T1_N1, T2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteProject
- IgniteMergeJoin
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
- IgniteSort
- IgniteTableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ Project
+ MergeJoin
+ Sort
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sort
+ TableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
---
N0
@@ -56,7 +56,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#4
targetNodes: [N0]
@@ -66,12 +66,12 @@ Fragment#4
tables: [T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteProject
- IgniteMergeJoin
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
- IgniteReceiver(sourceFragment=5, exchange=5,
distribution=affinity[table: T2_N2, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ Project
+ MergeJoin
+ Sort
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Receiver(sourceFragment=5, exchange=5, distribution=affinity[table:
T2_N2, columns: [ID]])
Fragment#5
targetNodes: [N1]
@@ -79,7 +79,7 @@ Fragment#5
tables: [T2_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=4, exchange=5, distribution=affinity[table:
T2_N2, columns: [ID]])
- IgniteSort
- IgniteTableScan(name=PUBLIC.T2_N2, source=3, partitions=1,
distribution=affinity[table: T2_N2, columns: [ID]])
+ Sender(targetFragment=4, exchange=5, distribution=affinity[table: T2_N2,
columns: [ID]])
+ Sort
+ TableScan(name=PUBLIC.T2_N2, source=3, partitions=1,
distribution=affinity[table: T2_N2, columns: [ID]])
---
diff --git a/modules/sql-engine/src/test/resources/mapping/set_ops.test
b/modules/sql-engine/src/test/resources/mapping/set_ops.test
index a118f5e0af..377a4d2bbd 100644
--- a/modules/sql-engine/src/test/resources/mapping/set_ops.test
+++ b/modules/sql-engine/src/test/resources/mapping/set_ops.test
@@ -6,9 +6,9 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N1], 2=[N2]}
tree:
- IgniteColocatedMinus
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ ColocatedMinus
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -16,8 +16,8 @@ Fragment#2
tables: [T2_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.T2_N2, source=3, partitions=1,
distribution=random)
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.T2_N2, source=3, partitions=1, distribution=random)
Fragment#1
targetNodes: [N1]
@@ -25,8 +25,8 @@ Fragment#1
tables: [T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T1_N1, source=4, partitions=1,
distribution=random)
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T1_N1, source=4, partitions=1, distribution=random)
---
N1
@@ -37,8 +37,8 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1, N2]}
tree:
- IgniteReduceMinus
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ ReduceMinus
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -46,8 +46,8 @@ Fragment#1
tables: [T1_N1, T2_N2]
partitions: {N1=[0:1], N2=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteMapMinus
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=random)
- IgniteTableScan(name=PUBLIC.T2_N2, source=3, partitions=1,
distribution=random)
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ MapMinus
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=random)
+ TableScan(name=PUBLIC.T2_N2, source=3, partitions=1,
distribution=random)
---
diff --git a/modules/sql-engine/src/test/resources/mapping/table_affinity.test
b/modules/sql-engine/src/test/resources/mapping/table_affinity.test
index a8fe590a7e..b0f993c11d 100644
--- a/modules/sql-engine/src/test/resources/mapping/table_affinity.test
+++ b/modules/sql-engine/src/test/resources/mapping/table_affinity.test
@@ -6,7 +6,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -14,8 +14,8 @@ Fragment#1
tables: [T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
---
N2
@@ -26,7 +26,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N2]
@@ -34,8 +34,8 @@ Fragment#1
tables: [T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
---
N1
@@ -46,7 +46,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -54,8 +54,8 @@ Fragment#1
tables: [T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
---
N1
@@ -66,7 +66,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1, N2]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -74,6 +74,6 @@ Fragment#1
tables: [T2_N1N2]
partitions: {N1=[0:2], N2=[1:2]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T2_N1N2, source=2, partitions=2,
distribution=affinity[table: T2_N1N2, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T2_N1N2, source=2, partitions=2,
distribution=affinity[table: T2_N1N2, columns: [ID]])
---
diff --git a/modules/sql-engine/src/test/resources/mapping/table_functions.test
b/modules/sql-engine/src/test/resources/mapping/table_functions.test
index 39d7198600..40da6c46d4 100644
--- a/modules/sql-engine/src/test/resources/mapping/table_functions.test
+++ b/modules/sql-engine/src/test/resources/mapping/table_functions.test
@@ -4,5 +4,5 @@ SELECT * FROM TABLE(system_range(1, 5))
Fragment#0 root
executionNodes: [N0]
tree:
- IgniteTableFunctionScan(source=1, distribution=single)
+ TableFunctionScan(source=1, distribution=single)
---
diff --git a/modules/sql-engine/src/test/resources/mapping/table_identity.test
b/modules/sql-engine/src/test/resources/mapping/table_identity.test
index 136fd8cb0a..d7f03a6109 100644
--- a/modules/sql-engine/src/test/resources/mapping/table_identity.test
+++ b/modules/sql-engine/src/test/resources/mapping/table_identity.test
@@ -6,9 +6,9 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N1], 2=[N2]}
tree:
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N0]
@@ -16,8 +16,8 @@ Fragment#2
tables: [NT2_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT2_N2, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT2_N2, source=3, partitions=1,
distribution=identity[0])
Fragment#1
targetNodes: [N0]
@@ -25,8 +25,8 @@ Fragment#1
tables: [NT1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
---
N1
@@ -37,9 +37,9 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N1], 2=[N2]}
tree:
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -47,8 +47,8 @@ Fragment#2
tables: [NT2_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT2_N2, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT2_N2, source=3, partitions=1,
distribution=identity[0])
Fragment#1
targetNodes: [N1]
@@ -56,8 +56,8 @@ Fragment#1
tables: [NT1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
---
N0
@@ -68,9 +68,9 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N1], 2=[N1]}
tree:
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N0]
@@ -78,8 +78,8 @@ Fragment#2
tables: [NT2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT2_N1, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT2_N1, source=3, partitions=1,
distribution=identity[0])
Fragment#1
targetNodes: [N0]
@@ -87,8 +87,8 @@ Fragment#1
tables: [NT1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
---
N1
@@ -99,9 +99,9 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N1], 2=[N1]}
tree:
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ NestedLoopJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -109,8 +109,8 @@ Fragment#2
tables: [NT2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT2_N1, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT2_N1, source=3, partitions=1,
distribution=identity[0])
Fragment#1
targetNodes: [N1]
@@ -118,6 +118,6 @@ Fragment#1
tables: [NT1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.NT1_N1, source=4, partitions=1,
distribution=identity[0])
---
diff --git
a/modules/sql-engine/src/test/resources/mapping/table_identity_single.test
b/modules/sql-engine/src/test/resources/mapping/table_identity_single.test
index 7aba29f324..006200b299 100644
--- a/modules/sql-engine/src/test/resources/mapping/table_identity_single.test
+++ b/modules/sql-engine/src/test/resources/mapping/table_identity_single.test
@@ -6,7 +6,7 @@ Fragment#4 root
remoteFragments: [5]
exchangeSourceNodes: {5=[N1]}
tree:
- IgniteReceiver(sourceFragment=5, exchange=5, distribution=single)
+ Receiver(sourceFragment=5, exchange=5, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -14,8 +14,8 @@ Fragment#2
tables: [NT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=5, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT_N1, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=5, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT_N1, source=3, partitions=1,
distribution=identity[0])
Fragment#5
targetNodes: [N0]
@@ -25,10 +25,10 @@ Fragment#5
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=4, exchange=5, distribution=single)
- IgniteNestedLoopJoin
- IgniteTableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ Sender(targetFragment=4, exchange=5, distribution=single)
+ NestedLoopJoin
+ TableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
---
N1
@@ -41,9 +41,9 @@ Fragment#0 root
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteNestedLoopJoin
- IgniteTableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ NestedLoopJoin
+ TableScan(name=PUBLIC.CT_N1, source=1, partitions=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -51,8 +51,8 @@ Fragment#2
tables: [NT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT_N1, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT_N1, source=3, partitions=1,
distribution=identity[0])
---
N0
@@ -63,7 +63,7 @@ Fragment#4 root
remoteFragments: [5]
exchangeSourceNodes: {5=[N1]}
tree:
- IgniteReceiver(sourceFragment=5, exchange=5, distribution=single)
+ Receiver(sourceFragment=5, exchange=5, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -71,8 +71,8 @@ Fragment#2
tables: [NT_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=5, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT_N2, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=5, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT_N2, source=3, partitions=1,
distribution=identity[0])
Fragment#5
targetNodes: [N0]
@@ -82,10 +82,10 @@ Fragment#5
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=4, exchange=5, distribution=single)
- IgniteNestedLoopJoin
- IgniteTableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ Sender(targetFragment=4, exchange=5, distribution=single)
+ NestedLoopJoin
+ TableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
---
N1
@@ -98,9 +98,9 @@ Fragment#0 root
tables: [CT_N1]
partitions: {N1=[0:1]}
tree:
- IgniteNestedLoopJoin
- IgniteTableScan(name=PUBLIC.CT_N1, source=1, partitions=1,
distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ NestedLoopJoin
+ TableScan(name=PUBLIC.CT_N1, source=1, partitions=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -108,6 +108,6 @@ Fragment#2
tables: [NT_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.NT_N2, source=3, partitions=1,
distribution=identity[0])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.NT_N2, source=3, partitions=1,
distribution=identity[0])
---
diff --git a/modules/sql-engine/src/test/resources/mapping/table_single.test
b/modules/sql-engine/src/test/resources/mapping/table_single.test
index e6a16a29d5..12d7342b82 100644
--- a/modules/sql-engine/src/test/resources/mapping/table_single.test
+++ b/modules/sql-engine/src/test/resources/mapping/table_single.test
@@ -6,7 +6,7 @@ Fragment#3 root
remoteFragments: [4]
exchangeSourceNodes: {4=[N1]}
tree:
- IgniteReceiver(sourceFragment=4, exchange=4, distribution=single)
+ Receiver(sourceFragment=4, exchange=4, distribution=single)
Fragment#4
targetNodes: [N0]
@@ -14,10 +14,10 @@ Fragment#4
tables: [CT1_N1, CT2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=3, exchange=4, distribution=single)
- IgniteNestedLoopJoin
- IgniteTableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
- IgniteTableScan(name=PUBLIC.CT2_N1, source=2, partitions=1,
distribution=single)
+ Sender(targetFragment=3, exchange=4, distribution=single)
+ NestedLoopJoin
+ TableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
+ TableScan(name=PUBLIC.CT2_N1, source=2, partitions=1,
distribution=single)
---
N1
@@ -28,9 +28,9 @@ Fragment#0 root
tables: [CT1_N1, CT2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteNestedLoopJoin
- IgniteTableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
- IgniteTableScan(name=PUBLIC.CT2_N1, source=2, partitions=1,
distribution=single)
+ NestedLoopJoin
+ TableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
+ TableScan(name=PUBLIC.CT2_N1, source=2, partitions=1,
distribution=single)
---
N0
@@ -41,7 +41,7 @@ Fragment#5 root
remoteFragments: [6]
exchangeSourceNodes: {6=[N2]}
tree:
- IgniteReceiver(sourceFragment=6, exchange=6, distribution=single)
+ Receiver(sourceFragment=6, exchange=6, distribution=single)
Fragment#4
targetNodes: [N2]
@@ -49,8 +49,8 @@ Fragment#4
tables: [CT1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=6, exchange=4, distribution=single)
- IgniteTableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
+ Sender(targetFragment=6, exchange=4, distribution=single)
+ TableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
Fragment#6
targetNodes: [N0]
@@ -60,10 +60,10 @@ Fragment#6
tables: [CT2_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=5, exchange=6, distribution=single)
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=4, exchange=4, distribution=single)
- IgniteTableScan(name=PUBLIC.CT2_N2, source=2, partitions=1,
distribution=single)
+ Sender(targetFragment=5, exchange=6, distribution=single)
+ NestedLoopJoin
+ Receiver(sourceFragment=4, exchange=4, distribution=single)
+ TableScan(name=PUBLIC.CT2_N2, source=2, partitions=1,
distribution=single)
---
N1
@@ -74,7 +74,7 @@ Fragment#5 root
remoteFragments: [6]
exchangeSourceNodes: {6=[N2]}
tree:
- IgniteReceiver(sourceFragment=6, exchange=6, distribution=single)
+ Receiver(sourceFragment=6, exchange=6, distribution=single)
Fragment#4
targetNodes: [N2]
@@ -82,8 +82,8 @@ Fragment#4
tables: [CT1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=6, exchange=4, distribution=single)
- IgniteTableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
+ Sender(targetFragment=6, exchange=4, distribution=single)
+ TableScan(name=PUBLIC.CT1_N1, source=1, partitions=1,
distribution=single)
Fragment#6
targetNodes: [N1]
@@ -93,8 +93,8 @@ Fragment#6
tables: [CT2_N2]
partitions: {N2=[0:1]}
tree:
- IgniteSender(targetFragment=5, exchange=6, distribution=single)
- IgniteNestedLoopJoin
- IgniteReceiver(sourceFragment=4, exchange=4, distribution=single)
- IgniteTableScan(name=PUBLIC.CT2_N2, source=2, partitions=1,
distribution=single)
+ Sender(targetFragment=5, exchange=6, distribution=single)
+ NestedLoopJoin
+ Receiver(sourceFragment=4, exchange=4, distribution=single)
+ TableScan(name=PUBLIC.CT2_N2, source=2, partitions=1,
distribution=single)
---
diff --git
a/modules/sql-engine/src/test/resources/mapping/test_partition_pruning.test
b/modules/sql-engine/src/test/resources/mapping/test_partition_pruning.test
index fb13e9b698..9b8ce7d85f 100644
--- a/modules/sql-engine/src/test/resources/mapping/test_partition_pruning.test
+++ b/modules/sql-engine/src/test/resources/mapping/test_partition_pruning.test
@@ -7,7 +7,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N2]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -15,8 +15,8 @@ Fragment#1
tables: [T1_N1N2N3]
partitions: {N2=[1:3]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T1_N1N2N3, source=2, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T1_N1N2N3, source=2, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
---
# Partition pruning of joined tables (relies on predicate push down)
N1
@@ -27,9 +27,9 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N2], 2=[N4]}
tree:
- IgniteMergeJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ MergeJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -37,9 +37,9 @@ Fragment#2
tables: [T2_N4N5]
partitions: {N4=[0:2]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteSort
- IgniteTableScan(name=PUBLIC.T2_N4N5, source=3, partitions=2,
distribution=affinity[table: T2_N4N5, columns: [ID]])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ Sort
+ TableScan(name=PUBLIC.T2_N4N5, source=3, partitions=2,
distribution=affinity[table: T2_N4N5, columns: [ID]])
Fragment#1
targetNodes: [N1]
@@ -47,9 +47,9 @@ Fragment#1
tables: [T1_N1N2N3]
partitions: {N2=[1:3]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1N2N3, source=4, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ Sort
+ TableScan(name=PUBLIC.T1_N1N2N3, source=4, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
---
# Self join, different predicates that produce same set of partitions
N1
@@ -60,9 +60,9 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N2], 2=[N2]}
tree:
- IgniteMergeJoin
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ MergeJoin
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -70,9 +70,9 @@ Fragment#2
tables: [T1_N1N2N3]
partitions: {N2=[1:3]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1N2N3, source=3, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ Sort
+ TableScan(name=PUBLIC.T1_N1N2N3, source=3, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
Fragment#1
targetNodes: [N1]
@@ -80,9 +80,9 @@ Fragment#1
tables: [T1_N1N2N3]
partitions: {N2=[1:3]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1N2N3, source=4, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ Sort
+ TableScan(name=PUBLIC.T1_N1N2N3, source=4, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
---
# Self join, different predicates that produce disjoint set of partitions
N1
@@ -93,7 +93,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N2, N3]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -101,10 +101,10 @@ Fragment#1
tables: [T1_N1N2N3, T1_N1N2N3]
partitions: {N2=[1:3], N3=[2:3]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteMergeJoin
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1N2N3, source=2, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
- IgniteSort
- IgniteTableScan(name=PUBLIC.T1_N1N2N3, source=3, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ MergeJoin
+ Sort
+ TableScan(name=PUBLIC.T1_N1N2N3, source=2, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
+ Sort
+ TableScan(name=PUBLIC.T1_N1N2N3, source=3, partitions=3,
distribution=affinity[table: T1_N1N2N3, columns: [ID]])
---
diff --git a/modules/sql-engine/src/test/resources/mapping/union.test
b/modules/sql-engine/src/test/resources/mapping/union.test
index dd045d4f7a..9b58561ed5 100644
--- a/modules/sql-engine/src/test/resources/mapping/union.test
+++ b/modules/sql-engine/src/test/resources/mapping/union.test
@@ -7,11 +7,11 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N1], 2=[N1]}
tree:
- IgniteReduceHashAggregate
- IgniteMapHashAggregate
- IgniteUnionAll
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ ReduceHashAggregate
+ MapHashAggregate
+ UnionAll
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -19,8 +19,8 @@ Fragment#2
tables: [T2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
Fragment#1
targetNodes: [N1]
@@ -28,8 +28,8 @@ Fragment#1
tables: [T1_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T1_N1, source=4, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T1_N1, source=4, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
---
N1
@@ -41,7 +41,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -49,11 +49,11 @@ Fragment#1
tables: [T1_N1, T2_N1]
partitions: {N1=[0:1]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteColocatedHashAggregate
- IgniteUnionAll
- IgniteTableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
- IgniteTableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ ColocatedHashAggregate
+ UnionAll
+ TableScan(name=PUBLIC.T1_N1, source=2, partitions=1,
distribution=affinity[table: T1_N1, columns: [ID]])
+ TableScan(name=PUBLIC.T2_N1, source=3, partitions=1,
distribution=affinity[table: T2_N1, columns: [ID]])
---
N1
@@ -65,11 +65,11 @@ Fragment#0 root
remoteFragments: [1, 2]
exchangeSourceNodes: {1=[N1, N2], 2=[N1, N2]}
tree:
- IgniteReduceHashAggregate
- IgniteMapHashAggregate
- IgniteUnionAll
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
- IgniteReceiver(sourceFragment=2, exchange=2, distribution=single)
+ ReduceHashAggregate
+ MapHashAggregate
+ UnionAll
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=2, exchange=2, distribution=single)
Fragment#2
targetNodes: [N1]
@@ -77,8 +77,8 @@ Fragment#2
tables: [T2_N1N2]
partitions: {N1=[0:2], N2=[1:2]}
tree:
- IgniteSender(targetFragment=0, exchange=2, distribution=single)
- IgniteTableScan(name=PUBLIC.T2_N1N2, source=3, partitions=2,
distribution=affinity[table: T2_N1N2, columns: [ID]])
+ Sender(targetFragment=0, exchange=2, distribution=single)
+ TableScan(name=PUBLIC.T2_N1N2, source=3, partitions=2,
distribution=affinity[table: T2_N1N2, columns: [ID]])
Fragment#1
targetNodes: [N1]
@@ -86,8 +86,8 @@ Fragment#1
tables: [T1_N1N2]
partitions: {N1=[0:2], N2=[1:2]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteTableScan(name=PUBLIC.T1_N1N2, source=4, partitions=2,
distribution=affinity[table: T1_N1N2, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ TableScan(name=PUBLIC.T1_N1N2, source=4, partitions=2,
distribution=affinity[table: T1_N1N2, columns: [ID]])
---
N1
@@ -99,7 +99,7 @@ Fragment#0 root
remoteFragments: [1]
exchangeSourceNodes: {1=[N1, N2]}
tree:
- IgniteReceiver(sourceFragment=1, exchange=1, distribution=single)
+ Receiver(sourceFragment=1, exchange=1, distribution=single)
Fragment#1
targetNodes: [N1]
@@ -107,9 +107,9 @@ Fragment#1
tables: [T1_N1N2, T2_N1N2]
partitions: {N1=[0:2], N2=[1:2]}
tree:
- IgniteSender(targetFragment=0, exchange=1, distribution=single)
- IgniteColocatedHashAggregate
- IgniteUnionAll
- IgniteTableScan(name=PUBLIC.T1_N1N2, source=2, partitions=2,
distribution=affinity[table: T1_N1N2, columns: [ID]])
- IgniteTableScan(name=PUBLIC.T2_N1N2, source=3, partitions=2,
distribution=affinity[table: T2_N1N2, columns: [ID]])
+ Sender(targetFragment=0, exchange=1, distribution=single)
+ ColocatedHashAggregate
+ UnionAll
+ TableScan(name=PUBLIC.T1_N1N2, source=2, partitions=2,
distribution=affinity[table: T1_N1N2, columns: [ID]])
+ TableScan(name=PUBLIC.T2_N1N2, source=3, partitions=2,
distribution=affinity[table: T2_N1N2, columns: [ID]])
---
diff --git a/modules/sql-engine/src/test/resources/mapping/values.test
b/modules/sql-engine/src/test/resources/mapping/values.test
index fe3cb632b5..7a9f440c04 100644
--- a/modules/sql-engine/src/test/resources/mapping/values.test
+++ b/modules/sql-engine/src/test/resources/mapping/values.test
@@ -4,7 +4,7 @@ SELECT 1
Fragment#0 root
executionNodes: [N1]
tree:
- IgniteValues
+ Values
---
N2
@@ -13,5 +13,5 @@ SELECT 1
Fragment#0 root
executionNodes: [N2]
tree:
- IgniteValues
+ Values
---
diff --git
a/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/engine/util/QueryChecker.java
b/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/engine/util/QueryChecker.java
index 195710df0e..36a46d2009 100644
---
a/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/engine/util/QueryChecker.java
+++
b/modules/sql-engine/src/testFixtures/java/org/apache/ignite/internal/sql/engine/util/QueryChecker.java
@@ -40,12 +40,12 @@ public interface QueryChecker {
/** Creates a matcher that matches if the examined string contains the
specified string anywhere. */
static Matcher<String> containsUnion(boolean all) {
- return CoreMatchers.containsString("IgniteUnionAll(all=[" + all +
"])");
+ return CoreMatchers.containsString("UnionAll(all=[" + all + "])");
}
/** Creates a matcher that matches if the examined string contains the
specified string anywhere. */
static Matcher<String> containsUnion() {
- return CoreMatchers.containsString("IgniteUnionAll(all=");
+ return CoreMatchers.containsString("UnionAll(all=");
}
/**
@@ -56,7 +56,7 @@ public interface QueryChecker {
* @return Matcher.
*/
static Matcher<String> containsTableScan(String schema, String tblName) {
- return containsSubPlan("IgniteTableScan(table=[[" + schema + ", " +
tblName + "]]");
+ return containsSubPlan("TableScan(table=[[" + schema + ", " + tblName
+ "]]");
}
/**
@@ -67,7 +67,7 @@ public interface QueryChecker {
* @return Matcher.
*/
static Matcher<String> containsIndexScan(String schema, String tblName) {
- return matchesOnce(".*IgniteIndexScan\\(table=\\[\\[" + schema + ", "
+ tblName + "\\]\\],"
+ return matchesOnce(".*IndexScan\\(table=\\[\\[" + schema + ", " +
tblName + "\\]\\],"
+ " tableId=\\[.*\\].*\\)");
}
@@ -80,7 +80,7 @@ public interface QueryChecker {
* @return Matcher.
*/
static Matcher<String> containsIndexScan(String schema, String tblName,
String idxName) {
- return matchesOnce(".*IgniteIndexScan\\(table=\\[\\[" + schema + ", "
+ tblName + "\\]\\],"
+ return matchesOnce(".*IndexScan\\(table=\\[\\[" + schema + ", " +
tblName + "\\]\\],"
+ " tableId=\\[.*\\], index=\\[" + idxName + "\\].*\\)");
}
@@ -112,7 +112,7 @@ public interface QueryChecker {
* @return Matcher.
*/
static Matcher<String> containsProject(String schema, String tblName,
int... requiredColumns) {
- return matches(".*Ignite(Table|Index)Scan\\(table=\\[\\[" + schema +
", "
+ return matches(".*(Table|Index)Scan\\(table=\\[\\[" + schema + ", "
+ tblName + "\\]\\], " + ".*requiredColumns=\\[\\{"
+ Arrays.toString(requiredColumns)
.replaceAll("\\[", "")
@@ -128,7 +128,7 @@ public interface QueryChecker {
* @return Matcher.
*/
static Matcher<String> containsOneProject(String schema, String tblName,
int... requiredColumns) {
- return matchesOnce(".*Ignite(Table|Index)Scan\\(table=\\[\\[" + schema
+ ", "
+ return matchesOnce(".*(Table|Index)Scan\\(table=\\[\\[" + schema + ", "
+ tblName + "\\]\\], " + ".*requiredColumns=\\[\\{"
+ Arrays.toString(requiredColumns)
.replaceAll("\\[", "")
@@ -143,7 +143,7 @@ public interface QueryChecker {
* @return Matcher.
*/
static Matcher<String> containsAnyProject(String schema, String tblName) {
- return matchesOnce(".*Ignite(Table|Index)Scan\\(table=\\[\\[" + schema
+ ", "
+ return matchesOnce(".*(Table|Index)Scan\\(table=\\[\\[" + schema + ", "
+ tblName +
"\\]\\],.*requiredColumns=\\[\\{(\\d|\\W|,)+\\}\\].*");
}
@@ -284,7 +284,7 @@ public interface QueryChecker {
*/
static Matcher<String> containsAnyScan(String schema, String tblName,
String... idxNames) {
if (nullOrEmpty(idxNames)) {
- return matchesOnce(".*Ignite(Table|Index)Scan\\(table=\\[\\[" +
schema + ", " + tblName + "\\]\\].*");
+ return matchesOnce(".*(Table|Index)Scan\\(table=\\[\\[" + schema +
", " + tblName + "\\]\\].*");
}
return CoreMatchers.anyOf(