This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-19497
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 82b1252d3de270a5f10989b598127e1aa753042f
Author: amashenkov <[email protected]>
AuthorDate: Tue Aug 1 21:21:29 2023 +0300

    Replace IgniteTableImpl with IgniteCatalogImpl.
---
 .../engine/rule/logical/LogicalOrToUnionRule.java  |   7 +-
 .../sql/engine/schema/IgniteSchemaTable.java       |  15 +-
 .../internal/sql/engine/schema/IgniteTable.java    |   2 +-
 .../sql/engine/schema/IgniteTableImpl.java         | 276 ---------------------
 .../sql/engine/exec/ExecutionServiceImplTest.java  |   4 +-
 .../engine/framework/PredefinedSchemaManager.java  |   7 +-
 .../sql/engine/framework/TestBuilders.java         |  10 +-
 .../internal/sql/engine/framework/TestTable.java   |   5 +-
 .../sql/engine/planner/AbstractPlannerTest.java    |   5 +-
 .../engine/schema/CatalogSqlSchemaManagerTest.java |   4 +-
 10 files changed, 26 insertions(+), 309 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/logical/LogicalOrToUnionRule.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/logical/LogicalOrToUnionRule.java
index 2c58e626fc..e7f1463ffe 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/logical/LogicalOrToUnionRule.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/rule/logical/LogicalOrToUnionRule.java
@@ -26,6 +26,7 @@ import org.apache.calcite.plan.RelOptRuleCall;
 import org.apache.calcite.plan.RelOptUtil;
 import org.apache.calcite.plan.RelRule;
 import org.apache.calcite.plan.RelTraitSet;
+import org.apache.calcite.rel.RelCollation;
 import org.apache.calcite.rel.RelFieldCollation;
 import org.apache.calcite.rel.RelNode;
 import org.apache.calcite.rex.RexBuilder;
@@ -38,6 +39,7 @@ import org.apache.calcite.tools.RelBuilder;
 import org.apache.calcite.util.mapping.Mappings;
 import 
org.apache.ignite.internal.sql.engine.rel.logical.IgniteLogicalTableScan;
 import org.apache.ignite.internal.sql.engine.schema.IgniteIndex;
+import org.apache.ignite.internal.sql.engine.schema.IgniteSchemaIndex;
 import org.apache.ignite.internal.sql.engine.schema.IgniteTable;
 import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
 import org.apache.ignite.internal.sql.engine.type.IgniteTypeFactory;
@@ -138,9 +140,8 @@ public class LogicalOrToUnionRule extends 
RelRule<LogicalOrToUnionRule.Config> {
 
         BitSet idxsFirstFields = new BitSet(fieldCnt);
 
-        for (IgniteIndex idx : tbl.indexes().values()) {
-            List<RelFieldCollation> fieldCollations = 
TraitUtils.createCollation(idx.columns(), idx.collations(), tbl.descriptor())
-                    .getFieldCollations();
+        for (IgniteSchemaIndex idx : tbl.indexes().values()) {
+            List<RelFieldCollation> fieldCollations = 
idx.collation().getFieldCollations();
 
             if (!CollectionUtils.nullOrEmpty(fieldCollations)) {
                 idxsFirstFields.set(fieldCollations.get(0).getFieldIndex());
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchemaTable.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchemaTable.java
index 74cee2f891..9ef7ac6a9a 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchemaTable.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteSchemaTable.java
@@ -58,7 +58,7 @@ public final class IgniteSchemaTable extends AbstractTable 
implements IgniteTabl
     private final Map<String, IgniteSchemaIndex> indexMap;
 
     /** Constructor. */
-    public IgniteSchemaTable(String name, int tableId,  int version, 
TableDescriptor desc,
+    public IgniteSchemaTable(String name, int tableId, int version, 
TableDescriptor desc,
             IgniteStatistic statistic, Map<String, IgniteSchemaIndex> 
indexMap) {
 
         this.id = tableId;
@@ -186,7 +186,7 @@ public final class IgniteSchemaTable extends AbstractTable 
implements IgniteTabl
 
     /** {@inheritDoc} */
     @Override
-    public  <C> @Nullable C unwrap(Class<C> cls) {
+    public <C> @Nullable C unwrap(Class<C> cls) {
         if (cls.isInstance(desc)) {
             return cls.cast(desc);
         }
@@ -196,8 +196,8 @@ public final class IgniteSchemaTable extends AbstractTable 
implements IgniteTabl
 
     /** {@inheritDoc} */
     @Override
-    public Map<String, IgniteIndex> indexes() {
-        throw new UnsupportedOperationException("getIndexes() should be used 
instead");
+    public Map<String, IgniteSchemaIndex> indexes() {
+        return indexMap;
     }
 
     /** {@inheritDoc} */
@@ -217,9 +217,4 @@ public final class IgniteSchemaTable extends AbstractTable 
implements IgniteTabl
     public void removeIndex(String idxName) {
         throw new UnsupportedOperationException("IndexMap is not modifiable");
     }
-
-    /** Returns a map of indexes defined for this table. */
-    public Map<String, IgniteSchemaIndex> getIndexes() {
-        return indexMap;
-    }
-}
+}
\ No newline at end of file
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTable.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTable.java
index 1faaed98af..166490ba8b 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTable.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTable.java
@@ -192,7 +192,7 @@ public interface IgniteTable extends TranslatableTable, 
Wrapper {
      *
      * @return Indexes for the current table.
      */
-    Map<String, IgniteIndex> indexes();
+    Map<String, IgniteSchemaIndex> indexes();
 
     /**
      * Adds index to table.
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTableImpl.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTableImpl.java
deleted file mode 100644
index 3b4003d442..0000000000
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTableImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * 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.sql.engine.schema;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.function.DoubleSupplier;
-import org.apache.calcite.plan.Convention;
-import org.apache.calcite.plan.RelOptCluster;
-import org.apache.calcite.plan.RelOptTable;
-import org.apache.calcite.plan.RelTraitSet;
-import org.apache.calcite.rel.RelCollation;
-import org.apache.calcite.rel.RelCollations;
-import org.apache.calcite.rel.hint.RelHint;
-import org.apache.calcite.rel.type.RelDataType;
-import org.apache.calcite.rel.type.RelDataTypeFactory;
-import org.apache.calcite.rex.RexNode;
-import org.apache.calcite.schema.Statistic;
-import org.apache.calcite.schema.impl.AbstractTable;
-import org.apache.calcite.util.ImmutableBitSet;
-import org.apache.ignite.internal.distributionzones.DistributionZoneManager;
-import 
org.apache.ignite.internal.sql.engine.rel.logical.IgniteLogicalIndexScan;
-import 
org.apache.ignite.internal.sql.engine.rel.logical.IgniteLogicalTableScan;
-import org.apache.ignite.internal.sql.engine.schema.IgniteIndex.Type;
-import org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
-import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
-import org.apache.ignite.internal.sql.engine.type.IgniteTypeFactory;
-import org.apache.ignite.internal.storage.MvPartitionStorage;
-import org.apache.ignite.internal.storage.StorageRebalanceException;
-import org.apache.ignite.internal.table.InternalTable;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Ignite table implementation.
- */
-public class IgniteTableImpl extends AbstractTable implements IgniteTable {
-
-    private final TableDescriptor desc;
-
-    private final int ver;
-
-    private final int id;
-
-    private final String name;
-
-    private final Statistic statistic;
-
-    private final Map<String, IgniteIndex> indexes = new HashMap<>();
-
-    /**
-     * Constructor.
-     *
-     * @param desc Table descriptor.
-     * @param tableId Table id.
-     * @param name Table name.
-     */
-    IgniteTableImpl(TableDescriptor desc, int tableId, String name, int 
version,
-            DoubleSupplier rowCount) {
-        this.ver = version;
-        this.desc = desc;
-        this.id = tableId;
-        this.name = name;
-        this.statistic = new IgniteStatistic(rowCount, desc.distribution());
-    }
-
-    private IgniteTableImpl(IgniteTableImpl t) {
-        this.desc = t.desc;
-        this.ver = t.ver;
-        this.id = t.id;
-        this.name = t.name;
-        this.statistic = t.statistic;
-        this.indexes.putAll(t.indexes);
-    }
-
-    public static IgniteTableImpl copyOf(IgniteTableImpl v) {
-        return new IgniteTableImpl(v);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public int id() {
-        return id;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public int version() {
-        return ver;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public String name() {
-        return name;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public RelDataType getRowType(RelDataTypeFactory typeFactory, 
ImmutableBitSet requiredColumns) {
-        return desc.rowType((IgniteTypeFactory) typeFactory, requiredColumns);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public Statistic getStatistic() {
-        return statistic;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public TableDescriptor descriptor() {
-        return desc;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public IgniteLogicalTableScan toRel(
-            RelOptCluster cluster,
-            RelOptTable relOptTbl,
-            List<RelHint> hints,
-            @Nullable List<RexNode> proj,
-            @Nullable RexNode cond,
-            @Nullable ImmutableBitSet requiredColumns
-    ) {
-        RelTraitSet traitSet = cluster.traitSetOf(distribution());
-
-        return IgniteLogicalTableScan.create(cluster, traitSet, hints, 
relOptTbl, proj, cond, requiredColumns);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public IgniteLogicalIndexScan toRel(
-            RelOptCluster cluster,
-            RelOptTable relOptTable,
-            String idxName,
-            List<RexNode> proj,
-            RexNode condition,
-            ImmutableBitSet requiredCols
-    ) {
-        IgniteIndex index = getIndex(idxName);
-
-        RelCollation collation = TraitUtils.createCollation(index.columns(), 
index.collations(), descriptor());
-
-        RelTraitSet traitSet = cluster.traitSetOf(Convention.Impl.NONE)
-                .replace(distribution())
-                .replace(index.type() == Type.HASH ? RelCollations.EMPTY : 
collation);
-
-        return IgniteLogicalIndexScan.create(cluster, traitSet, relOptTable, 
idxName, proj, condition, requiredCols);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public IgniteDistribution distribution() {
-        return desc.distribution();
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public Map<String, IgniteIndex> indexes() {
-        return Collections.unmodifiableMap(indexes);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void addIndex(IgniteIndex idxTbl) {
-        indexes.put(idxTbl.name(), idxTbl);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public IgniteIndex getIndex(String idxName) {
-        return indexes.get(idxName);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void removeIndex(String idxName) {
-        indexes.remove(idxName);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public <C> C unwrap(Class<C> cls) {
-        if (cls.isInstance(desc)) {
-            return cls.cast(desc);
-        }
-
-        return super.unwrap(cls);
-    }
-
-    static DoubleSupplier rowCountStatistic(InternalTable table) {
-        return new RowCountStatistic(table);
-    }
-
-    private static final class RowCountStatistic implements DoubleSupplier {
-        private static final int UPDATE_THRESHOLD = 
DistributionZoneManager.DEFAULT_PARTITION_COUNT;
-
-        private final AtomicLong lastUpd = new AtomicLong();
-
-        private volatile long localRowCnt = 0L;
-
-        private final InternalTable table;
-
-        private RowCountStatistic(InternalTable table) {
-            this.table = table;
-        }
-
-        /** {@inheritDoc} */
-        @Override
-        // TODO: need to be refactored 
https://issues.apache.org/jira/browse/IGNITE-19558
-        public double getAsDouble() {
-            int parts = table.storage().getTableDescriptor().getPartitions();
-
-            long partitionsRevisionCounter = 0L;
-
-            for (int p = 0; p < parts; ++p) {
-                @Nullable MvPartitionStorage part = 
table.storage().getMvPartition(p);
-
-                if (part == null) {
-                    continue;
-                }
-
-                long upd = part.lastAppliedIndex();
-
-                partitionsRevisionCounter += upd;
-            }
-
-            long prev = lastUpd.get();
-
-            if (partitionsRevisionCounter - prev > UPDATE_THRESHOLD) {
-                synchronized (this) {
-                    if (lastUpd.compareAndSet(prev, 
partitionsRevisionCounter)) {
-                        long size = 0L;
-
-                        for (int p = 0; p < parts; ++p) {
-                            @Nullable MvPartitionStorage part = 
table.storage().getMvPartition(p);
-
-                            if (part == null) {
-                                continue;
-                            }
-
-                            try {
-                                size += part.rowsCount();
-                            } catch (StorageRebalanceException ignore) {
-                                // No-op.
-                            }
-                        }
-
-                        localRowCnt = size;
-                    }
-                }
-            }
-
-            // Forbid zero result, to prevent zero cost for table and index 
scans.
-            return Math.max(10_000.0, (double) localRowCnt);
-        }
-    }
-}
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
index 627c2e81a3..319f27736f 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
@@ -141,7 +141,7 @@ public class ExecutionServiceImplTest {
     private final TestTable table = createTable("TEST_TBL", 1_000_000, 
IgniteDistributions.random(),
             "ID", NativeTypes.INT32, "VAL", NativeTypes.INT32);
 
-    private final IgniteSchema schema = new IgniteSchema("PUBLIC", 
Map.of(table.name(), table), null, SCHEMA_VERSION);
+    private final IgniteCatalogSchema schema = new 
IgniteCatalogSchema("PUBLIC", SCHEMA_VERSION, Map.of(table.name(), table));
 
     private final List<CapturingMailboxRegistry> mailboxes = new ArrayList<>();
 
@@ -640,7 +640,7 @@ public class ExecutionServiceImplTest {
                 .build();
     }
 
-    private SchemaPlus wrap(IgniteSchema schema) {
+    private SchemaPlus wrap(IgniteCatalogSchema schema) {
         var schemaPlus = Frameworks.createRootSchema(false);
 
         schemaPlus.add(schema.getName(), schema);
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/PredefinedSchemaManager.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/PredefinedSchemaManager.java
index 582087733d..637e77058e 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/PredefinedSchemaManager.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/PredefinedSchemaManager.java
@@ -28,6 +28,7 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import org.apache.calcite.schema.SchemaPlus;
 import org.apache.calcite.tools.Frameworks;
+import org.apache.ignite.internal.sql.engine.schema.IgniteCatalogSchema;
 import org.apache.ignite.internal.sql.engine.schema.IgniteSchema;
 import org.apache.ignite.internal.sql.engine.schema.IgniteTable;
 import org.apache.ignite.internal.sql.engine.schema.SqlSchemaManager;
@@ -47,16 +48,16 @@ public class PredefinedSchemaManager implements 
SqlSchemaManager {
     private final Map<Integer, IgniteTable> tableById;
 
     /** Constructs schema manager from a single schema. */
-    PredefinedSchemaManager(IgniteSchema schema) {
+    PredefinedSchemaManager(IgniteCatalogSchema schema) {
         this(List.of(schema));
     }
 
     /** Constructs schema manager from a collection of schemas. */
-    PredefinedSchemaManager(Collection<IgniteSchema> schemas) {
+    PredefinedSchemaManager(Collection<IgniteCatalogSchema> schemas) {
         this.root = Frameworks.createRootSchema(false);
         this.tableById = new HashMap<>();
 
-        for (IgniteSchema schema : schemas) {
+        for (IgniteCatalogSchema schema : schemas) {
             root.add(schema.getName(), schema);
 
             tableById.putAll(
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestBuilders.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestBuilders.java
index db75948eac..270da0b545 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestBuilders.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestBuilders.java
@@ -45,10 +45,9 @@ import 
org.apache.ignite.internal.sql.engine.metadata.FragmentDescription;
 import org.apache.ignite.internal.sql.engine.schema.ColumnDescriptor;
 import org.apache.ignite.internal.sql.engine.schema.ColumnDescriptorImpl;
 import org.apache.ignite.internal.sql.engine.schema.DefaultValueStrategy;
-import org.apache.ignite.internal.sql.engine.schema.IgniteIndex;
+import org.apache.ignite.internal.sql.engine.schema.IgniteCatalogSchema;
 import org.apache.ignite.internal.sql.engine.schema.IgniteIndex.Collation;
 import org.apache.ignite.internal.sql.engine.schema.IgniteIndex.Type;
-import org.apache.ignite.internal.sql.engine.schema.IgniteSchema;
 import org.apache.ignite.internal.sql.engine.schema.IgniteTable;
 import org.apache.ignite.internal.sql.engine.schema.TableDescriptorImpl;
 import org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
@@ -355,12 +354,7 @@ public class TestBuilders {
                     .map(ClusterTableBuilderImpl::build)
                     .collect(Collectors.toMap(TestTable::name, 
Function.identity()));
 
-            Map<Integer, IgniteIndex> indexMap = tableMap.values().stream()
-                    .map(TestTable.class::cast)
-                    .flatMap(t -> 
t.indexes().values().stream().map(TestIndex.class::cast))
-                    .collect(Collectors.toMap(TestIndex::id, 
Function.identity()));
-
-            var schemaManager = new PredefinedSchemaManager(new 
IgniteSchema("PUBLIC", tableMap, indexMap, SCHEMA_VERSION));
+            var schemaManager = new PredefinedSchemaManager(new 
IgniteCatalogSchema("PUBLIC", SCHEMA_VERSION, tableMap));
             var colocationGroupProvider = new 
TestColocationGroupProvider(tableBuilders, tableMap, nodeNames);
 
             Map<String, TestNode> nodes = nodeNames.stream()
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestTable.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestTable.java
index ec46c53ae6..4e860d7745 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestTable.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestTable.java
@@ -43,6 +43,7 @@ import 
org.apache.ignite.internal.sql.engine.metadata.ColocationGroup;
 import 
org.apache.ignite.internal.sql.engine.rel.logical.IgniteLogicalIndexScan;
 import 
org.apache.ignite.internal.sql.engine.rel.logical.IgniteLogicalTableScan;
 import org.apache.ignite.internal.sql.engine.schema.IgniteIndex;
+import org.apache.ignite.internal.sql.engine.schema.IgniteSchemaIndex;
 import org.apache.ignite.internal.sql.engine.schema.IgniteTable;
 import org.apache.ignite.internal.sql.engine.schema.TableDescriptor;
 import org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
@@ -239,8 +240,8 @@ public class TestTable implements IgniteTable {
 
     /** {@inheritDoc} */
     @Override
-    public Map<String, IgniteIndex> indexes() {
-        return Collections.unmodifiableMap(indexes);
+    public Map<String, IgniteSchemaIndex> indexes() {
+        throw new UnsupportedOperationException("Not implemented yet");
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/AbstractPlannerTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/AbstractPlannerTest.java
index c8da086c5f..712ec8e466 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/AbstractPlannerTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/AbstractPlannerTest.java
@@ -113,6 +113,7 @@ import 
org.apache.ignite.internal.sql.engine.schema.ColumnDescriptor;
 import org.apache.ignite.internal.sql.engine.schema.DefaultValueStrategy;
 import org.apache.ignite.internal.sql.engine.schema.IgniteIndex;
 import org.apache.ignite.internal.sql.engine.schema.IgniteSchema;
+import org.apache.ignite.internal.sql.engine.schema.IgniteSchemaIndex;
 import org.apache.ignite.internal.sql.engine.schema.IgniteTable;
 import org.apache.ignite.internal.sql.engine.schema.TableDescriptor;
 import org.apache.ignite.internal.sql.engine.trait.IgniteDistribution;
@@ -979,8 +980,8 @@ public abstract class AbstractPlannerTest extends 
IgniteAbstractTest {
 
         /** {@inheritDoc} */
         @Override
-        public Map<String, IgniteIndex> indexes() {
-            return Collections.unmodifiableMap(indexes);
+        public Map<String, IgniteSchemaIndex> indexes() {
+            throw new UnsupportedOperationException("Not implemented yet");
         }
 
         /** {@inheritDoc} */
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/schema/CatalogSqlSchemaManagerTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/schema/CatalogSqlSchemaManagerTest.java
index 0fa0228799..5dd2b561db 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/schema/CatalogSqlSchemaManagerTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/schema/CatalogSqlSchemaManagerTest.java
@@ -375,7 +375,7 @@ public class CatalogSqlSchemaManagerTest {
         IgniteSchemaTable table = (IgniteSchemaTable) 
schema.getTable(testTable.name);
         assertNotNull(table);
 
-        IgniteSchemaIndex testIdx = table.getIndexes().get(testIndex.name);
+        IgniteSchemaIndex testIdx = table.indexes().get(testIndex.name);
 
         assertEquals(testIndex.name, testIdx.name());
         assertEquals(Type.HASH, testIdx.type());
@@ -419,7 +419,7 @@ public class CatalogSqlSchemaManagerTest {
         IgniteSchemaTable table = (IgniteSchemaTable) 
schema.getTable(testTable.name);
         assertNotNull(table);
 
-        IgniteSchemaIndex testIdx = table.getIndexes().get(testIndex.name);
+        IgniteSchemaIndex testIdx = table.indexes().get(testIndex.name);
 
         assertEquals(testIndex.name, testIdx.name());
         assertEquals(Type.SORTED, testIdx.type());

Reply via email to