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());
