You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by tl...@apache.org on 2022/05/12 07:42:41 UTC
[ignite-3] branch main updated: IGNITE-16738 Add trait definitions to the EMPTY_CONTEXT and to the singleton empty CLUSTER (#805)
This is an automated email from the ASF dual-hosted git repository.
tledkov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new e461879e8 IGNITE-16738 Add trait definitions to the EMPTY_CONTEXT and to the singleton empty CLUSTER (#805)
e461879e8 is described below
commit e461879e8bdc7c72d9a30c0729fc64f07733e341
Author: Taras Ledkov <tl...@gridgain.com>
AuthorDate: Thu May 12 10:42:37 2022 +0300
IGNITE-16738 Add trait definitions to the EMPTY_CONTEXT and to the singleton empty CLUSTER (#805)
---
.../ignite/internal/sql/engine/ItMixedQueriesTest.java | 1 -
.../internal/sql/engine/util/BaseQueryContext.java | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java
index b337ee660..2794cd033 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMixedQueriesTest.java
@@ -158,7 +158,6 @@ public class ItMixedQueriesTest extends AbstractBasicIntegrationTest {
}
@Test
- @Disabled("https://issues.apache.org/jira/browse/IGNITE-16738")
public void testDistinctQueryWithInConditionWithSubquery() {
var rows = sql("SELECT distinct(name) FROM emp1 o WHERE name IN ("
+ " SELECT name"
diff --git a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/BaseQueryContext.java b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/BaseQueryContext.java
index c738d9247..38b408562 100644
--- a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/BaseQueryContext.java
+++ b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/util/BaseQueryContext.java
@@ -31,10 +31,13 @@ import org.apache.calcite.config.CalciteConnectionConfigImpl;
import org.apache.calcite.config.CalciteConnectionProperty;
import org.apache.calcite.jdbc.CalciteSchema;
import org.apache.calcite.plan.Contexts;
+import org.apache.calcite.plan.ConventionTraitDef;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptSchema;
+import org.apache.calcite.plan.RelTraitDef;
import org.apache.calcite.plan.volcano.VolcanoPlanner;
import org.apache.calcite.prepare.CalciteCatalogReader;
+import org.apache.calcite.rel.RelCollationTraitDef;
import org.apache.calcite.rel.RelNode;
import org.apache.calcite.rel.metadata.Metadata;
import org.apache.calcite.rel.metadata.MetadataDef;
@@ -48,6 +51,9 @@ import org.apache.calcite.tools.FrameworkConfig;
import org.apache.calcite.tools.Frameworks;
import org.apache.ignite.internal.sql.engine.QueryCancel;
import org.apache.ignite.internal.sql.engine.metadata.cost.IgniteCostFactory;
+import org.apache.ignite.internal.sql.engine.trait.CorrelationTraitDef;
+import org.apache.ignite.internal.sql.engine.trait.DistributionTraitDef;
+import org.apache.ignite.internal.sql.engine.trait.RewindabilityTraitDef;
import org.apache.ignite.internal.sql.engine.type.IgniteTypeFactory;
import org.apache.ignite.internal.util.ArrayUtils;
import org.apache.ignite.lang.IgniteLogger;
@@ -94,6 +100,11 @@ public final class BaseQueryContext extends AbstractQueryContext {
}
};
+ // Dummy planner must contain all trait definitions to create singleton cluster with all default traits.
+ for (RelTraitDef<?> def : EMPTY_CONTEXT.config().getTraitDefs()) {
+ DUMMY_PLANNER.addRelTraitDef(def);
+ }
+
RelDataTypeSystem typeSys = CALCITE_CONNECTION_CONFIG.typeSystem(RelDataTypeSystem.class, FRAMEWORK_CONFIG.getTypeSystem());
TYPE_FACTORY = new IgniteTypeFactory(typeSys);
@@ -249,6 +260,13 @@ public final class BaseQueryContext extends AbstractQueryContext {
private static final FrameworkConfig EMPTY_CONFIG =
Frameworks.newConfigBuilder(FRAMEWORK_CONFIG)
.defaultSchema(createRootSchema(false))
+ .traitDefs(new RelTraitDef<?>[] {
+ ConventionTraitDef.INSTANCE,
+ RelCollationTraitDef.INSTANCE,
+ DistributionTraitDef.INSTANCE,
+ RewindabilityTraitDef.INSTANCE,
+ CorrelationTraitDef.INSTANCE,
+ })
.build();
private FrameworkConfig frameworkCfg = EMPTY_CONFIG;