You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ko...@apache.org on 2021/11/15 18:33:18 UTC
[ignite-3] branch main updated: IGNITE-15846 Provide Interface for external table (#443)
This is an automated email from the ASF dual-hosted git repository.
korlov 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 ff077ba IGNITE-15846 Provide Interface for external table (#443)
ff077ba is described below
commit ff077ba37e97d70caebe8a1dd0309d08feab3bdd
Author: Vladimir Ermakov <85...@users.noreply.github.com>
AuthorDate: Tue Nov 16 00:01:03 2021 +0530
IGNITE-15846 Provide Interface for external table (#443)
---
.../query/calcite/exec/PlannerHelper.java | 7 +-
.../calcite/metadata/IgniteMdFragmentMapping.java | 6 +-
.../query/calcite/prepare/PlannerHelper.java | 7 +-
.../rel/logical/IgniteLogicalIndexScan.java | 4 +-
.../calcite/rule/logical/ExposeIndexRule.java | 6 +-
.../query/calcite/schema/IgniteIndex.java | 6 +-
.../query/calcite/schema/IgniteSchema.java | 4 +-
.../query/calcite/schema/IgniteTable.java | 117 ++++++++++-----------
.../query/calcite/schema/IgniteTableImpl.java | 2 +-
.../{IgniteTable.java => InternalIgniteTable.java} | 52 +--------
.../query/calcite/planner/AbstractPlannerTest.java | 4 +-
11 files changed, 82 insertions(+), 133 deletions(-)
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java
index 1fbde54..5db6c2c 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/PlannerHelper.java
@@ -43,7 +43,7 @@ import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableModify
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableScan;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableSpool;
import org.apache.ignite.internal.processors.query.calcite.schema.ColumnDescriptor;
-import org.apache.ignite.internal.processors.query.calcite.schema.IgniteTable;
+import org.apache.ignite.internal.processors.query.calcite.schema.InternalIgniteTable;
import org.apache.ignite.internal.processors.query.calcite.trait.IgniteDistributions;
import org.apache.ignite.internal.processors.query.calcite.util.Commons;
import org.apache.ignite.internal.processors.query.calcite.util.HintUtils;
@@ -201,9 +201,10 @@ public class PlannerHelper {
* @return The input rel.
*/
private IgniteRel processScan(TableScan scan) {
- IgniteTable tbl = modifyNode != null ? modifyNode.getTable().unwrap(IgniteTable.class) : null;
+ InternalIgniteTable tbl = modifyNode != null ? modifyNode.getTable().unwrap(
+ InternalIgniteTable.class) : null;
- if (tbl == null || scan.getTable().unwrap(IgniteTable.class) != tbl) {
+ if (tbl == null || scan.getTable().unwrap(InternalIgniteTable.class) != tbl) {
return (IgniteRel) scan;
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java
index dc7e383..a9ccf8d 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/metadata/IgniteMdFragmentMapping.java
@@ -38,7 +38,7 @@ import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableFuncti
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableScan;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTrimExchange;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteValues;
-import org.apache.ignite.internal.processors.query.calcite.schema.IgniteTable;
+import org.apache.ignite.internal.processors.query.calcite.schema.InternalIgniteTable;
import org.apache.ignite.internal.processors.query.calcite.trait.IgniteDistributions;
import org.apache.ignite.internal.processors.query.calcite.trait.TraitUtils;
import org.apache.ignite.internal.processors.query.calcite.util.Commons;
@@ -186,7 +186,7 @@ public class IgniteMdFragmentMapping implements MetadataHandler<FragmentMappingM
*/
public FragmentMapping fragmentMapping(IgniteIndexScan rel, RelMetadataQuery mq) {
return FragmentMapping.create(rel.sourceId(),
- rel.getTable().unwrap(IgniteTable.class).colocationGroup(Commons.context(rel)));
+ rel.getTable().unwrap(InternalIgniteTable.class).colocationGroup(Commons.context(rel)));
}
/**
@@ -194,7 +194,7 @@ public class IgniteMdFragmentMapping implements MetadataHandler<FragmentMappingM
*/
public FragmentMapping fragmentMapping(IgniteTableScan rel, RelMetadataQuery mq) {
return FragmentMapping.create(rel.sourceId(),
- rel.getTable().unwrap(IgniteTable.class).colocationGroup(Commons.context(rel)));
+ rel.getTable().unwrap(InternalIgniteTable.class).colocationGroup(Commons.context(rel)));
}
/**
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java
index fb52adf..1629597 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/PlannerHelper.java
@@ -40,7 +40,7 @@ import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableModify
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableScan;
import org.apache.ignite.internal.processors.query.calcite.rel.IgniteTableSpool;
import org.apache.ignite.internal.processors.query.calcite.schema.ColumnDescriptor;
-import org.apache.ignite.internal.processors.query.calcite.schema.IgniteTable;
+import org.apache.ignite.internal.processors.query.calcite.schema.InternalIgniteTable;
import org.apache.ignite.internal.processors.query.calcite.trait.IgniteDistributions;
import org.apache.ignite.internal.processors.query.calcite.util.Commons;
import org.apache.ignite.internal.processors.query.calcite.util.HintUtils;
@@ -202,9 +202,10 @@ public class PlannerHelper {
* @return The input rel.
*/
private IgniteRel processScan(TableScan scan) {
- IgniteTable tbl = modifyNode != null ? modifyNode.getTable().unwrap(IgniteTable.class) : null;
+ InternalIgniteTable tbl = modifyNode != null ? modifyNode.getTable().unwrap(
+ InternalIgniteTable.class) : null;
- if (tbl == null || scan.getTable().unwrap(IgniteTable.class) != tbl) {
+ if (tbl == null || scan.getTable().unwrap(InternalIgniteTable.class) != tbl) {
return (IgniteRel) scan;
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java
index 189f309..d2981ff 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rel/logical/IgniteLogicalIndexScan.java
@@ -27,7 +27,7 @@ import org.apache.calcite.rex.RexNode;
import org.apache.calcite.util.ImmutableBitSet;
import org.apache.calcite.util.mapping.Mappings;
import org.apache.ignite.internal.processors.query.calcite.rel.AbstractIndexScan;
-import org.apache.ignite.internal.processors.query.calcite.schema.IgniteTable;
+import org.apache.ignite.internal.processors.query.calcite.schema.InternalIgniteTable;
import org.apache.ignite.internal.processors.query.calcite.trait.TraitUtils;
import org.apache.ignite.internal.processors.query.calcite.type.IgniteTypeFactory;
import org.apache.ignite.internal.processors.query.calcite.util.Commons;
@@ -50,7 +50,7 @@ public class IgniteLogicalIndexScan extends AbstractIndexScan {
@Nullable RexNode cond,
@Nullable ImmutableBitSet requiredColumns
) {
- IgniteTable tbl = table.unwrap(IgniteTable.class);
+ InternalIgniteTable tbl = table.unwrap(InternalIgniteTable.class);
IgniteTypeFactory typeFactory = Commons.typeFactory(cluster);
RelDataType rowType = tbl.getRowType(typeFactory, requiredColumns);
RelCollation collation = tbl.getIndex(idxName).collation();
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/ExposeIndexRule.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/ExposeIndexRule.java
index bc29a1e..b7a534c 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/ExposeIndexRule.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/rule/logical/ExposeIndexRule.java
@@ -28,7 +28,7 @@ import org.apache.calcite.plan.RelOptTable;
import org.apache.calcite.rel.RelNode;
import org.apache.ignite.internal.processors.query.calcite.rel.logical.IgniteLogicalIndexScan;
import org.apache.ignite.internal.processors.query.calcite.rel.logical.IgniteLogicalTableScan;
-import org.apache.ignite.internal.processors.query.calcite.schema.IgniteTable;
+import org.apache.ignite.internal.processors.query.calcite.schema.InternalIgniteTable;
/**
* ExposeIndexRule.
@@ -43,7 +43,7 @@ public class ExposeIndexRule extends RelOptRule {
private static boolean preMatch(IgniteLogicalTableScan scan) {
return scan.simple() // was not modified by ProjectScanMergeRule or FilterScanMergeRule
- && !scan.getTable().unwrap(IgniteTable.class).indexes().isEmpty(); // has indexes to expose
+ && !scan.getTable().unwrap(InternalIgniteTable.class).indexes().isEmpty(); // has indexes to expose
}
/** {@inheritDoc} */
@@ -53,7 +53,7 @@ public class ExposeIndexRule extends RelOptRule {
RelOptCluster cluster = scan.getCluster();
RelOptTable optTable = scan.getTable();
- IgniteTable igniteTable = optTable.unwrap(IgniteTable.class);
+ InternalIgniteTable igniteTable = optTable.unwrap(InternalIgniteTable.class);
List<IgniteLogicalIndexScan> indexes = igniteTable.indexes().keySet().stream()
.map(idxName -> igniteTable.toRel(cluster, optTable, idxName))
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteIndex.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteIndex.java
index 46edba9..805ad62 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteIndex.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteIndex.java
@@ -28,13 +28,13 @@ public class IgniteIndex {
private final String idxName;
// private final GridIndex<H2Row> idx;
- private final IgniteTable tbl;
+ private final InternalIgniteTable tbl;
/**
* Constructor.
* TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
*/
- public IgniteIndex(RelCollation collation, String name, IgniteTable tbl) {
+ public IgniteIndex(RelCollation collation, String name, InternalIgniteTable tbl) {
this.collation = collation;
idxName = name;
this.tbl = tbl;
@@ -48,7 +48,7 @@ public class IgniteIndex {
return idxName;
}
- public IgniteTable table() {
+ public InternalIgniteTable table() {
return tbl;
}
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteSchema.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteSchema.java
index af3e9b0..68dbc80 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteSchema.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteSchema.java
@@ -29,7 +29,7 @@ import org.apache.calcite.schema.impl.AbstractSchema;
public class IgniteSchema extends AbstractSchema {
private final String schemaName;
- private final Map<String, IgniteTable> tblMap = new ConcurrentHashMap<>();
+ private final Map<String, InternalIgniteTable> tblMap = new ConcurrentHashMap<>();
/**
* Creates a Schema.
@@ -61,7 +61,7 @@ public class IgniteSchema extends AbstractSchema {
* @param tblName Table name.
* @param tbl Table.
*/
- public void addTable(String tblName, IgniteTable tbl) {
+ public void addTable(String tblName, InternalIgniteTable tbl) {
tblMap.put(tblName, tbl);
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTable.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTable.java
index f2958b5..f5daf02 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTable.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTable.java
@@ -17,49 +17,55 @@
package org.apache.ignite.internal.processors.query.calcite.schema;
-import java.util.Map;
+import java.util.List;
+import org.apache.calcite.config.CalciteConnectionConfig;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptTable;
+import org.apache.calcite.rel.RelCollation;
import org.apache.calcite.rel.core.TableScan;
import org.apache.calcite.rel.type.RelDataType;
import org.apache.calcite.rel.type.RelDataTypeFactory;
+import org.apache.calcite.schema.Schema;
+import org.apache.calcite.schema.Statistic;
import org.apache.calcite.schema.TranslatableTable;
+import org.apache.calcite.schema.Wrapper;
+import org.apache.calcite.sql.SqlCall;
+import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.util.ImmutableBitSet;
-import org.apache.ignite.internal.processors.query.calcite.metadata.ColocationGroup;
-import org.apache.ignite.internal.processors.query.calcite.prepare.PlanningContext;
-import org.apache.ignite.internal.processors.query.calcite.rel.logical.IgniteLogicalIndexScan;
-import org.apache.ignite.internal.processors.query.calcite.rel.logical.IgniteLogicalTableScan;
import org.apache.ignite.internal.processors.query.calcite.trait.IgniteDistribution;
+import org.checkerframework.checker.nullness.qual.Nullable;
/**
* Ignite table.
*/
-public interface IgniteTable extends TranslatableTable {
+public interface IgniteTable extends TranslatableTable, Wrapper {
/**
- * Get table description.
+ * Get table descriptor.
+ *
+ * @return Table descriptor.
*/
TableDescriptor descriptor();
-
+
/** {@inheritDoc} */
@Override
default RelDataType getRowType(RelDataTypeFactory typeFactory) {
return getRowType(typeFactory, null);
}
-
+
/**
- * Returns new type according {@code usedClumns} param.
+ * Returns new type according {@code requiredColumns} param.
*
* @param typeFactory Factory.
* @param requiredColumns Used columns enumeration.
*/
RelDataType getRowType(RelDataTypeFactory typeFactory, ImmutableBitSet requiredColumns);
-
+
/** {@inheritDoc} */
@Override
default TableScan toRel(RelOptTable.ToRelContext context, RelOptTable relOptTable) {
return toRel(context.getCluster(), relOptTable);
}
-
+
/**
* Converts table into relational expression.
*
@@ -67,59 +73,48 @@ public interface IgniteTable extends TranslatableTable {
* @param relOptTbl Table.
* @return Table relational expression.
*/
- IgniteLogicalTableScan toRel(RelOptCluster cluster, RelOptTable relOptTbl);
-
- /**
- * Converts table into relational expression.
- *
- * @param cluster Custer.
- * @param relOptTbl Table.
- * @param idxName Index name.
- * @return Table relational expression.
- */
- IgniteLogicalIndexScan toRel(RelOptCluster cluster, RelOptTable relOptTbl, String idxName);
-
- /**
- * Returns nodes mapping.
- *
- * @param ctx Planning context.
- * @return Nodes mapping.
- */
- ColocationGroup colocationGroup(PlanningContext ctx);
-
+ TableScan toRel(RelOptCluster cluster, RelOptTable relOptTbl);
+
/**
* Returns table distribution.
*
* @return Table distribution.
*/
IgniteDistribution distribution();
-
- /**
- * Returns all table indexes.
- *
- * @return Indexes for the current table.
- */
- Map<String, IgniteIndex> indexes();
-
- /**
- * Adds index to table.
- *
- * @param idxTbl Index table.
- */
- void addIndex(IgniteIndex idxTbl);
-
- /**
- * Returns index by its name.
- *
- * @param idxName Index name.
- * @return Index.
- */
- IgniteIndex getIndex(String idxName);
-
- /**
- * Returns index name.
- *
- * @param idxName Index name.
- */
- void removeIndex(String idxName);
+
+ /** {@inheritDoc} */
+ default Schema.TableType getJdbcTableType() {
+ return Schema.TableType.TABLE;
+ }
+
+ /** {@inheritDoc} */
+ default boolean isRolledUp(String column) {
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ default boolean rolledUpColumnValidInsideAgg(String column, SqlCall call,
+ @Nullable SqlNode parent,
+ @Nullable CalciteConnectionConfig config) {
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ default Statistic getStatistic() {
+ return new Statistic() {
+ @Override
+ public List<RelCollation> getCollations() {
+ return List.of();
+ }
+ };
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ default <C> @Nullable C unwrap(Class<C> cls) {
+ if (cls.isInstance(this)) {
+ return cls.cast(this);
+ }
+ return null;
+ }
}
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java
index 2198bc9..be66f59 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTableImpl.java
@@ -43,7 +43,7 @@ import org.apache.ignite.internal.processors.query.calcite.type.IgniteTypeFactor
/**
* Ignite table implementation.
*/
-public class IgniteTableImpl extends AbstractTable implements IgniteTable {
+public class IgniteTableImpl extends AbstractTable implements InternalIgniteTable {
private final TableDescriptor desc;
private final Statistic statistic;
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTable.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/InternalIgniteTable.java
similarity index 58%
copy from modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTable.java
copy to modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/InternalIgniteTable.java
index f2958b5..3145285 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/IgniteTable.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/schema/InternalIgniteTable.java
@@ -20,55 +20,14 @@ package org.apache.ignite.internal.processors.query.calcite.schema;
import java.util.Map;
import org.apache.calcite.plan.RelOptCluster;
import org.apache.calcite.plan.RelOptTable;
-import org.apache.calcite.rel.core.TableScan;
-import org.apache.calcite.rel.type.RelDataType;
-import org.apache.calcite.rel.type.RelDataTypeFactory;
-import org.apache.calcite.schema.TranslatableTable;
-import org.apache.calcite.util.ImmutableBitSet;
import org.apache.ignite.internal.processors.query.calcite.metadata.ColocationGroup;
import org.apache.ignite.internal.processors.query.calcite.prepare.PlanningContext;
import org.apache.ignite.internal.processors.query.calcite.rel.logical.IgniteLogicalIndexScan;
-import org.apache.ignite.internal.processors.query.calcite.rel.logical.IgniteLogicalTableScan;
-import org.apache.ignite.internal.processors.query.calcite.trait.IgniteDistribution;
/**
- * Ignite table.
+ * Ignite internal table.
*/
-public interface IgniteTable extends TranslatableTable {
- /**
- * Get table description.
- */
- TableDescriptor descriptor();
-
- /** {@inheritDoc} */
- @Override
- default RelDataType getRowType(RelDataTypeFactory typeFactory) {
- return getRowType(typeFactory, null);
- }
-
- /**
- * Returns new type according {@code usedClumns} param.
- *
- * @param typeFactory Factory.
- * @param requiredColumns Used columns enumeration.
- */
- RelDataType getRowType(RelDataTypeFactory typeFactory, ImmutableBitSet requiredColumns);
-
- /** {@inheritDoc} */
- @Override
- default TableScan toRel(RelOptTable.ToRelContext context, RelOptTable relOptTable) {
- return toRel(context.getCluster(), relOptTable);
- }
-
- /**
- * Converts table into relational expression.
- *
- * @param cluster Custer.
- * @param relOptTbl Table.
- * @return Table relational expression.
- */
- IgniteLogicalTableScan toRel(RelOptCluster cluster, RelOptTable relOptTbl);
-
+public interface InternalIgniteTable extends IgniteTable {
/**
* Converts table into relational expression.
*
@@ -88,13 +47,6 @@ public interface IgniteTable extends TranslatableTable {
ColocationGroup colocationGroup(PlanningContext ctx);
/**
- * Returns table distribution.
- *
- * @return Table distribution.
- */
- IgniteDistribution distribution();
-
- /**
* Returns all table indexes.
*
* @return Indexes for the current table.
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java
index 3a9b268..e49b61c 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/planner/AbstractPlannerTest.java
@@ -90,7 +90,7 @@ import org.apache.ignite.internal.processors.query.calcite.rel.logical.IgniteLog
import org.apache.ignite.internal.processors.query.calcite.schema.ColumnDescriptor;
import org.apache.ignite.internal.processors.query.calcite.schema.IgniteIndex;
import org.apache.ignite.internal.processors.query.calcite.schema.IgniteSchema;
-import org.apache.ignite.internal.processors.query.calcite.schema.IgniteTable;
+import org.apache.ignite.internal.processors.query.calcite.schema.InternalIgniteTable;
import org.apache.ignite.internal.processors.query.calcite.schema.TableDescriptor;
import org.apache.ignite.internal.processors.query.calcite.trait.CorrelationTraitDef;
import org.apache.ignite.internal.processors.query.calcite.trait.DistributionTraitDef;
@@ -531,7 +531,7 @@ public abstract class AbstractPlannerTest extends IgniteAbstractTest {
rel.getInputs().forEach(this::clearTraits);
}
- abstract static class TestTable implements IgniteTable {
+ abstract static class TestTable implements InternalIgniteTable {
private final String name;
private final RelProtoDataType protoType;