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

amashenkov 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 55be29fd9b IGNITE-17580: Move SchemaBuilder API to test package (#1043)
55be29fd9b is described below

commit 55be29fd9b52e70bfaea6933ed70ffe1726d319a
Author: Andrew V. Mashenkov <amashen...@users.noreply.github.com>
AuthorDate: Wed Aug 31 13:47:24 2022 +0300

    IGNITE-17580: Move SchemaBuilder API to test package (#1043)
---
 .../ignite/schema/definition/TableDefinition.java  |   8 --
 .../schema/modification/AlterColumnBuilder.java    |  77 ---------------
 .../modification/TableModificationBuilder.java     |  83 ----------------
 .../ignite/schema/modification/package-info.java   |  22 -----
 modules/cli/pom.xml                                |   7 ++
 .../org/apache/ignite/cli/IntegrationTestBase.java |   4 +-
 .../apache/ignite/internal/index/IndexManager.java |   2 +-
 modules/runner/pom.xml                             |   7 ++
 .../ignite/internal/ItNoSyncMetadataTest.java      |   2 +-
 .../storage/ItRebalanceDistributedTest.java        |   2 +-
 .../inmemory/ItRaftStorageVolatilityTest.java      |   2 +-
 .../runner/app/AbstractSchemaChangeTest.java       |   2 +-
 .../internal/runner/app/ItDataSchemaSyncTest.java  |   2 +-
 .../runner/app/ItDynamicTableCreationTest.java     |   2 +-
 .../app/ItIgniteInMemoryNodeRestartTest.java       |   2 +-
 .../runner/app/ItIgniteNodeRestartTest.java        |   2 +-
 .../internal/runner/app/ItNoThreadsLeftTest.java   |   2 +-
 .../runner/app/ItSchemaChangeKvViewTest.java       |   2 +-
 .../runner/app/ItSchemaChangeTableViewTest.java    |   2 +-
 .../runner/app/ItTableApiContractTest.java         |   2 +-
 .../internal/runner/app/ItTablesApiTest.java       |   2 +-
 .../runner/app/PlatformTestNodeRunner.java         |   2 +-
 .../app/client/ItAbstractThinClientTest.java       |   2 +-
 .../runner/app/jdbc/ItJdbcMetadataSelfTest.java    |   2 +-
 .../runner/app/jdbc/ItJdbcResultSetSelfTest.java   |   2 +-
 .../sql/engine/AbstractBasicIntegrationTest.java   |   4 +-
 .../internal/sql/engine/ItFunctionsTest.java       |   2 +-
 .../internal/sql/engine/ItIndexSpoolTest.java      |   2 +-
 .../ignite/internal/sql/engine/ItJoinTest.java     |   2 +-
 .../ignite/internal/sql/engine/ItMetadataTest.java |   2 +-
 .../internal/sql/engine/ItMixedQueriesTest.java    |   2 +-
 .../internal/sql/engine/ItOrToUnionRuleTest.java   |   2 +-
 .../sql/engine/ItProjectScanMergeRuleTest.java     |   2 +-
 .../internal/sql/engine/ItSecondaryIndexTest.java  |   2 +-
 .../ignite/internal/sql/engine/ItSetOpTest.java    |   2 +-
 .../internal/sql/engine/ItSortAggregateTest.java   |   2 +-
 .../apache/ignite/internal/schema/SchemaUtils.java |   9 ++
 .../schema/configuration/TableValidatorImpl.java   |   4 +-
 .../schema/definition/SchemaValidationUtils.java   |  77 +++++++++++++++
 .../schema/definition/TableDefinitionImpl.java     |  21 +---
 .../modification/AlterColumnBuilderImpl.java       |  75 ---------------
 .../modification/TableModificationBuilderImpl.java | 106 ---------------------
 .../org/apache/ignite/schema/package-info.java     |  22 -----
 .../internal/schema/SchemaConfigurationTest.java   |  51 +---------
 .../builder/ColumnDefinitionBuilderTest.java       |   4 +-
 .../builder/HashIndexDefinitionBuilderTest.java    |   4 +-
 .../PrimaryKeyDefinitionDefinitionBuilderTest.java |   4 +-
 .../builder/SortedIndexDefinitionBuilderTest.java  |   4 +-
 .../schema/builder/TableDefinitionBuilderTest.java |   4 +-
 .../SchemaConfigurationConverterTest.java          |   8 +-
 .../SchemaDescriptorConverterTest.java             |   6 +-
 .../testutils}/builder/AbstractIndexBuilder.java   |   3 +-
 .../builder/ColumnDefinitionBuilder.java           |   2 +-
 .../builder/ColumnDefinitionBuilderImpl.java       |   5 +-
 .../builder/HashIndexDefinitionBuilder.java        |   2 +-
 .../builder/HashIndexDefinitionBuilderImpl.java    |   5 +-
 .../builder/PrimaryKeyDefinitionBuilder.java       |   2 +-
 .../builder/PrimaryKeyDefinitionBuilderImpl.java   |   6 +-
 .../schema/testutils/builder}/SchemaBuilders.java  |  12 +--
 .../testutils}/builder/SchemaObjectBuilder.java    |   2 +-
 .../builder/SortedIndexDefinitionBuilder.java      |   2 +-
 .../builder/SortedIndexDefinitionBuilderImpl.java  |  16 ++--
 .../testutils}/builder/TableDefinitionBuilder.java |   2 +-
 .../builder/TableDefinitionBuilderImpl.java        |  62 ++----------
 .../sql/engine/exec/ddl/DdlCommandHandler.java     |  49 +++++-----
 .../storage/AbstractMvTableStorageTest.java        |   2 +-
 .../index/AbstractHashIndexStorageTest.java        |   6 +-
 .../index/AbstractSortedIndexStorageTest.java      |  10 +-
 .../table/distributed/TableManagerTest.java        |   2 +-
 69 files changed, 219 insertions(+), 638 deletions(-)

diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/TableDefinition.java
 
b/modules/api/src/main/java/org/apache/ignite/schema/definition/TableDefinition.java
index f82bd45a0c..a9774c7d9e 100644
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/TableDefinition.java
+++ 
b/modules/api/src/main/java/org/apache/ignite/schema/definition/TableDefinition.java
@@ -21,7 +21,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Set;
 import org.apache.ignite.schema.definition.index.IndexDefinition;
-import org.apache.ignite.schema.modification.TableModificationBuilder;
 
 /**
  * Table schema configuration.
@@ -63,11 +62,4 @@ public interface TableDefinition extends SchemaObject {
      * @return Collection of indexes.
      */
     Collection<IndexDefinition> indices();
-
-    /**
-     * Converts table descriptor to table modification builder.
-     *
-     * @return Table modification builder.
-     */
-    TableModificationBuilder toBuilder();
 }
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/modification/AlterColumnBuilder.java
 
b/modules/api/src/main/java/org/apache/ignite/schema/modification/AlterColumnBuilder.java
deleted file mode 100644
index d2dbf8606a..0000000000
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/modification/AlterColumnBuilder.java
+++ /dev/null
@@ -1,77 +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.schema.modification;
-
-import org.apache.ignite.schema.definition.ColumnType;
-
-/**
- * Alter column builder.
- *
- * <p>NOTE: Only safe actions that can be applied automatically on-fly are 
allowed.
- */
-public interface AlterColumnBuilder {
-    /**
-     * Renames a column.
-     *
-     * @param newName New column name.
-     * @return {@code this} for chaining.
-     */
-    AlterColumnBuilder withNewName(String newName);
-
-    /**
-     * Convert column to a new type.
-     *
-     * <p>Note: New type must be compatible with old.
-     *
-     * @param newType New column type.
-     * @return {@code this} for chaining.
-     */
-    AlterColumnBuilder convertTo(ColumnType newType);
-
-    /**
-     * Sets new column default value.
-     *
-     * @param defaultValue Default value.
-     * @return {@code this} for chaining.
-     */
-    AlterColumnBuilder withNewDefault(Object defaultValue);
-
-    /**
-     * Set nullability attribute.
-     *
-     * @return {@code this} for chaining.
-     */
-    AlterColumnBuilder asNullable();
-
-    /**
-     * Mark column as non-nullable.
-     *
-     * <p>Note: Replacement param is mandatory, all previously stored 'nulls' 
will be treated as replacement value on read.
-     *
-     * @param replacement Non-null value, that 'null' will be converted to.
-     * @return {@code this} for chaining.
-     */
-    AlterColumnBuilder asNonNullable(Object replacement);
-
-    /**
-     * Builds alter column descriptor and pass it to parent table modification 
builder.
-     *
-     * @return Parent builder.
-     */
-    TableModificationBuilder done();
-}
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/modification/TableModificationBuilder.java
 
b/modules/api/src/main/java/org/apache/ignite/schema/modification/TableModificationBuilder.java
deleted file mode 100644
index af4508544f..0000000000
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/modification/TableModificationBuilder.java
+++ /dev/null
@@ -1,83 +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.schema.modification;
-
-import org.apache.ignite.schema.definition.ColumnDefinition;
-import org.apache.ignite.schema.definition.index.IndexDefinition;
-
-/**
- * Collect schema modification commands and pass them to manager to create a 
schema upgrade script.
- */
-public interface TableModificationBuilder {
-    /**
-     * Adds new value column.
-     *
-     * @param column Column.
-     * @return {@code this} for chaining.
-     */
-    TableModificationBuilder addColumn(ColumnDefinition column);
-
-    /**
-     * Adds new non-affinity key column.
-     *
-     * @param column Column.
-     * @return {@code this} for chaining.
-     */
-    TableModificationBuilder addKeyColumn(ColumnDefinition column);
-
-    /**
-     * Creates alter column builder..
-     *
-     * @param columnName Column name.
-     * @return Alter column builder.
-     */
-    AlterColumnBuilder alterColumn(String columnName);
-
-    /**
-     * Drops value column.
-     *
-     * <p>Note: Key column drop is not allowed.
-     *
-     * @param columnName Column.
-     * @return {@code this} for chaining.
-     */
-    TableModificationBuilder dropColumn(String columnName);
-
-    /**
-     * Adds new table index.
-     *
-     * @param indexDefinition Table index.
-     * @return {@code this} for chaining.
-     */
-    TableModificationBuilder addIndex(IndexDefinition indexDefinition);
-
-    /**
-     * Drops table index.
-     *
-     * <p>Note: PK can't be dropped.
-     *
-     * @param indexName Index name.
-     * @return {@code this} for chaining.
-     */
-    TableModificationBuilder dropIndex(String indexName);
-
-    /**
-     * Apply changes.
-     */
-    void apply();
-}
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/modification/package-info.java
 
b/modules/api/src/main/java/org/apache/ignite/schema/modification/package-info.java
deleted file mode 100644
index 1b154cad5e..0000000000
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/modification/package-info.java
+++ /dev/null
@@ -1,22 +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.
- */
-
-/**
- * Table schema manipulation API.
- */
-
-package org.apache.ignite.schema.modification;
diff --git a/modules/cli/pom.xml b/modules/cli/pom.xml
index c579e154ec..2c2df5213f 100644
--- a/modules/cli/pom.xml
+++ b/modules/cli/pom.xml
@@ -259,6 +259,13 @@
                     <scope>test</scope>
                     <type>test-jar</type>
                 </dependency>
+
+                <dependency>
+                    <groupId>org.apache.ignite</groupId>
+                    <artifactId>ignite-schema</artifactId>
+                    <type>test-jar</type>
+                    <scope>test</scope>
+                </dependency>
             </dependencies>
         </profile>
     </profiles>
diff --git 
a/modules/cli/src/integrationTest/java/org/apache/ignite/cli/IntegrationTestBase.java
 
b/modules/cli/src/integrationTest/java/org/apache/ignite/cli/IntegrationTestBase.java
index 2c243b0635..894dd9536a 100644
--- 
a/modules/cli/src/integrationTest/java/org/apache/ignite/cli/IntegrationTestBase.java
+++ 
b/modules/cli/src/integrationTest/java/org/apache/ignite/cli/IntegrationTestBase.java
@@ -43,6 +43,8 @@ import org.apache.ignite.internal.app.IgniteImpl;
 import org.apache.ignite.internal.logger.IgniteLogger;
 import org.apache.ignite.internal.logger.Loggers;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.TableDefinitionBuilder;
 import org.apache.ignite.internal.sql.engine.AsyncCursor;
 import org.apache.ignite.internal.sql.engine.AsyncCursor.BatchedResult;
 import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
@@ -50,10 +52,8 @@ import 
org.apache.ignite.internal.testframework.WorkDirectory;
 import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
 import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.lang.IgniteStringFormatter;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
 import org.apache.ignite.table.RecordView;
 import org.apache.ignite.table.Table;
 import org.apache.ignite.table.Tuple;
diff --git 
a/modules/index/src/main/java/org/apache/ignite/internal/index/IndexManager.java
 
b/modules/index/src/main/java/org/apache/ignite/internal/index/IndexManager.java
index 322ca04573..2da927850c 100644
--- 
a/modules/index/src/main/java/org/apache/ignite/internal/index/IndexManager.java
+++ 
b/modules/index/src/main/java/org/apache/ignite/internal/index/IndexManager.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.index;
 
 import static java.util.concurrent.CompletableFuture.failedFuture;
-import static 
org.apache.ignite.internal.schema.definition.TableDefinitionImpl.canonicalName;
+import static org.apache.ignite.internal.schema.SchemaUtils.canonicalName;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/modules/runner/pom.xml b/modules/runner/pom.xml
index ae0605d177..027b962f97 100644
--- a/modules/runner/pom.xml
+++ b/modules/runner/pom.xml
@@ -232,6 +232,13 @@
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-schema</artifactId>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
         <dependency>
             <groupId>com.jayway.jsonpath</groupId>
             <artifactId>json-path-assert</artifactId>
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItNoSyncMetadataTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItNoSyncMetadataTest.java
index 5322a18218..e6b7706ed1 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItNoSyncMetadataTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/ItNoSyncMetadataTest.java
@@ -19,10 +19,10 @@ package org.apache.ignite.internal;
 
 import java.util.stream.Collectors;
 import org.apache.ignite.Ignite;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.sql.engine.AbstractBasicIntegrationTest;
 import org.apache.ignite.internal.testframework.IgniteTestUtils;
 import org.apache.ignite.internal.testframework.WithSystemProperty;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java
index e064f0207a..34e471909d 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItRebalanceDistributedTest.java
@@ -64,6 +64,7 @@ import 
org.apache.ignite.internal.raft.server.impl.JraftServerImpl;
 import org.apache.ignite.internal.raft.storage.impl.LocalLogStorageFactory;
 import org.apache.ignite.internal.schema.SchemaManager;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.storage.DataStorageManager;
 import org.apache.ignite.internal.storage.DataStorageModules;
 import 
org.apache.ignite.internal.storage.pagememory.VolatilePageMemoryDataStorageModule;
@@ -90,7 +91,6 @@ import org.apache.ignite.network.NetworkAddress;
 import org.apache.ignite.network.StaticNodeFinder;
 import org.apache.ignite.raft.client.Peer;
 import org.apache.ignite.raft.jraft.rpc.RpcRequests;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.utils.ClusterServiceTestUtils;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/inmemory/ItRaftStorageVolatilityTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/inmemory/ItRaftStorageVolatilityTest.java
index c5b6231b66..29972015c8 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/inmemory/ItRaftStorageVolatilityTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/inmemory/ItRaftStorageVolatilityTest.java
@@ -39,9 +39,9 @@ import 
org.apache.ignite.configuration.schemas.table.EntryCountBudgetChange;
 import org.apache.ignite.internal.AbstractClusterIntegrationTest;
 import org.apache.ignite.internal.app.IgniteImpl;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import 
org.apache.ignite.internal.storage.pagememory.configuration.schema.VolatilePageMemoryDataStorageChange;
 import org.apache.ignite.internal.table.distributed.TableManager;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.junit.jupiter.api.Test;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
index f306baebf6..89de3cf4c0 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/AbstractSchemaChangeTest.java
@@ -35,12 +35,12 @@ import org.apache.ignite.Ignite;
 import org.apache.ignite.IgnitionManager;
 import org.apache.ignite.configuration.schemas.table.ColumnChange;
 import 
org.apache.ignite.configuration.schemas.table.ConstantValueDefaultChange;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.testframework.WorkDirectory;
 import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
 import org.apache.ignite.internal.util.IgniteObjectName;
 import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.lang.IgniteException;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
index 6036c5409a..8814296f96 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDataSchemaSyncTest.java
@@ -33,13 +33,13 @@ import java.util.concurrent.TimeUnit;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgnitionManager;
 import org.apache.ignite.internal.app.IgniteImpl;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.table.TableImpl;
 import org.apache.ignite.internal.test.WatchListenerInhibitor;
 import org.apache.ignite.internal.testframework.IgniteAbstractTest;
 import org.apache.ignite.internal.testframework.IgniteTestUtils;
 import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
 import org.apache.ignite.internal.util.IgniteUtils;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
index b74735ec5a..9bef423071 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItDynamicTableCreationTest.java
@@ -38,11 +38,11 @@ import org.apache.ignite.IgnitionManager;
 import org.apache.ignite.configuration.schemas.table.ColumnChange;
 import 
org.apache.ignite.configuration.validation.ConfigurationValidationException;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.testframework.WorkDirectory;
 import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
 import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.lang.IgniteException;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.KeyValueView;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java
index 41179fe67b..65238f2736 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteInMemoryNodeRestartTest.java
@@ -36,6 +36,7 @@ import org.apache.ignite.Ignite;
 import org.apache.ignite.IgnitionManager;
 import org.apache.ignite.internal.app.IgniteImpl;
 import org.apache.ignite.internal.raft.Loza;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import 
org.apache.ignite.internal.storage.pagememory.configuration.schema.VolatilePageMemoryDataStorageChange;
 import org.apache.ignite.internal.table.TableImpl;
 import org.apache.ignite.internal.testframework.IgniteAbstractTest;
@@ -46,7 +47,6 @@ import org.apache.ignite.lang.IgniteStringFormatter;
 import org.apache.ignite.network.NetworkAddress;
 import org.apache.ignite.raft.client.Peer;
 import org.apache.ignite.raft.client.service.RaftGroupService;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
index bbfe2ec788..eead7e596d 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
@@ -72,6 +72,7 @@ import 
org.apache.ignite.internal.raft.storage.impl.LocalLogStorageFactory;
 import org.apache.ignite.internal.recovery.ConfigurationCatchUpListener;
 import org.apache.ignite.internal.recovery.RecoveryCompletionFutureFactory;
 import org.apache.ignite.internal.schema.SchemaManager;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.storage.DataStorageManager;
 import org.apache.ignite.internal.storage.DataStorageModule;
 import org.apache.ignite.internal.storage.DataStorageModules;
@@ -96,7 +97,6 @@ import 
org.apache.ignite.network.MessageSerializationRegistryImpl;
 import org.apache.ignite.network.NettyBootstrapFactory;
 import org.apache.ignite.network.scalecube.ScaleCubeClusterServiceFactory;
 import 
org.apache.ignite.raft.jraft.RaftMessagesSerializationRegistryInitializer;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItNoThreadsLeftTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItNoThreadsLeftTest.java
index f8eb931eb3..fc5d08e4b3 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItNoThreadsLeftTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItNoThreadsLeftTest.java
@@ -31,9 +31,9 @@ import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.testframework.IgniteAbstractTest;
 import org.apache.ignite.internal.testframework.IgniteTestUtils;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.table.Table;
 import org.junit.jupiter.api.Test;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeKvViewTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeKvViewTest.java
index 0f892a8012..1e0d9e1458 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeKvViewTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeKvViewTest.java
@@ -26,7 +26,7 @@ import java.util.List;
 import java.util.function.Supplier;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.internal.schema.SchemaMismatchException;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.table.KeyValueView;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeTableViewTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeTableViewTest.java
index d07424d409..b11a176443 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeTableViewTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItSchemaChangeTableViewTest.java
@@ -26,7 +26,7 @@ import java.util.List;
 import java.util.function.Supplier;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.internal.schema.SchemaMismatchException;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.table.RecordView;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTableApiContractTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTableApiContractTest.java
index c2be105b3c..33c389f57f 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTableApiContractTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTableApiContractTest.java
@@ -25,10 +25,10 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import org.apache.ignite.Ignite;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.sql.engine.AbstractBasicIntegrationTest;
 import org.apache.ignite.lang.TableAlreadyExistsException;
 import org.apache.ignite.lang.TableNotFoundException;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.table.Table;
 import org.junit.jupiter.api.AfterEach;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTablesApiTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTablesApiTest.java
index b8ee87b1a6..b1a0c43569 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTablesApiTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItTablesApiTest.java
@@ -41,6 +41,7 @@ import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgnitionManager;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.table.IgniteTablesInternal;
 import org.apache.ignite.internal.table.TableImpl;
 import org.apache.ignite.internal.test.WatchListenerInhibitor;
@@ -51,7 +52,6 @@ import org.apache.ignite.lang.IndexAlreadyExistsException;
 import org.apache.ignite.lang.NodeStoppingException;
 import org.apache.ignite.lang.TableAlreadyExistsException;
 import org.apache.ignite.lang.TableNotFoundException;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.index.IndexDefinition;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java
index 6ad971ef94..404855f3e7 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java
@@ -31,8 +31,8 @@ import org.apache.ignite.compute.ComputeJob;
 import org.apache.ignite.compute.JobExecutionContext;
 import org.apache.ignite.internal.app.IgniteImpl;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.util.IgniteUtils;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItAbstractThinClientTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItAbstractThinClientTest.java
index 2e6d9b6861..d1084d9345 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItAbstractThinClientTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItAbstractThinClientTest.java
@@ -33,12 +33,12 @@ import org.apache.ignite.IgnitionManager;
 import org.apache.ignite.client.IgniteClient;
 import org.apache.ignite.internal.app.IgniteImpl;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.testframework.IgniteAbstractTest;
 import org.apache.ignite.internal.testframework.IgniteTestUtils;
 import org.apache.ignite.internal.testframework.WorkDirectory;
 import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
 import org.apache.ignite.internal.util.IgniteUtils;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.junit.jupiter.api.AfterAll;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcMetadataSelfTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcMetadataSelfTest.java
index dbf94f3c6a..a032f10074 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcMetadataSelfTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcMetadataSelfTest.java
@@ -45,7 +45,7 @@ import java.util.Set;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.internal.client.proto.ProtocolVersion;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcResultSetSelfTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcResultSetSelfTest.java
index cd956683d9..847a0dc984 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcResultSetSelfTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/jdbc/ItJdbcResultSetSelfTest.java
@@ -44,8 +44,8 @@ import java.util.GregorianCalendar;
 import java.util.List;
 import org.apache.ignite.Ignite;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.tostring.S;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/AbstractBasicIntegrationTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/AbstractBasicIntegrationTest.java
index 63657360ba..a5adfbcb62 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/AbstractBasicIntegrationTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/AbstractBasicIntegrationTest.java
@@ -43,6 +43,8 @@ import org.apache.ignite.internal.app.IgniteImpl;
 import org.apache.ignite.internal.logger.IgniteLogger;
 import org.apache.ignite.internal.logger.Loggers;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.TableDefinitionBuilder;
 import org.apache.ignite.internal.sql.engine.property.PropertiesHolder;
 import org.apache.ignite.internal.sql.engine.session.SessionId;
 import org.apache.ignite.internal.sql.engine.util.QueryChecker;
@@ -51,10 +53,8 @@ import 
org.apache.ignite.internal.testframework.WorkDirectory;
 import org.apache.ignite.internal.testframework.WorkDirectoryExtension;
 import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.lang.IgniteStringFormatter;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
 import org.apache.ignite.sql.ColumnMetadata;
 import org.apache.ignite.table.RecordView;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItFunctionsTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItFunctionsTest.java
index 95efbd8c58..0a25ecd65f 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItFunctionsTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItFunctionsTest.java
@@ -30,9 +30,9 @@ import java.time.LocalTime;
 import java.time.temporal.Temporal;
 import org.apache.calcite.sql.validate.SqlValidatorException;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.testframework.IgniteTestUtils;
 import org.apache.ignite.lang.IgniteException;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.RecordView;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java
index 153e6590d7..4918964b4d 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java
@@ -25,7 +25,7 @@ import java.util.List;
 import org.apache.ignite.internal.logger.IgniteLogger;
 import org.apache.ignite.internal.logger.Loggers;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItJoinTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItJoinTest.java
index bd21036cb0..0f72607994 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItJoinTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItJoinTest.java
@@ -19,8 +19,8 @@ package org.apache.ignite.internal.sql.engine;
 
 import java.util.Arrays;
 import java.util.stream.Collectors;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.sql.engine.util.QueryChecker;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.junit.jupiter.api.Assumptions;
 import org.junit.jupiter.api.BeforeAll;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMetadataTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMetadataTest.java
index 1ad9c0e0cc..ea28086aca 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMetadataTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItMetadataTest.java
@@ -24,8 +24,8 @@ import static 
org.apache.ignite.sql.ColumnMetadata.UNDEFINED_SCALE;
 import java.time.Duration;
 import java.time.Period;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.sql.engine.util.MetadataMatcher;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.sql.SqlColumnType;
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 55374be9a7..4f2923f371 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
@@ -26,7 +26,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.Arrays;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItOrToUnionRuleTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItOrToUnionRuleTest.java
index fa55b2264e..18adaffa44 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItOrToUnionRuleTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItOrToUnionRuleTest.java
@@ -24,7 +24,7 @@ import static org.hamcrest.CoreMatchers.not;
 
 import java.util.List;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItProjectScanMergeRuleTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItProjectScanMergeRuleTest.java
index 245e337bc6..1f20c825f6 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItProjectScanMergeRuleTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItProjectScanMergeRuleTest.java
@@ -24,8 +24,8 @@ import static 
org.apache.ignite.internal.sql.engine.util.QueryChecker.containsPr
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.lang.IgniteException;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
index ac3ecd7c7f..033a23bdf3 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSecondaryIndexTest.java
@@ -28,7 +28,7 @@ import static org.hamcrest.Matchers.not;
 
 import java.util.List;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSetOpTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSetOpTest.java
index 04a159b979..3d1dcf1ca7 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSetOpTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSetOpTest.java
@@ -22,7 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import java.util.function.Predicate;
 import java.util.stream.StreamSupport;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.RecordView;
diff --git 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSortAggregateTest.java
 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSortAggregateTest.java
index 0e940191cc..d047780b3d 100644
--- 
a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSortAggregateTest.java
+++ 
b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItSortAggregateTest.java
@@ -20,7 +20,7 @@ package org.apache.ignite.internal.sql.engine;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.RecordView;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaUtils.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaUtils.java
index 05552b00d2..f1d5f7ee13 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaUtils.java
+++ 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/SchemaUtils.java
@@ -143,4 +143,13 @@ public class SchemaUtils {
 
         return true;
     }
+
+    /**
+     * Creates canonical table name.
+     *
+     * @return Table with schema canonical name.
+     */
+    public static String canonicalName(String schema, String name) {
+        return schema + '.' + name;
+    }
 }
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
index 6d4cc9fa6a..a9da01df30 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
+++ 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/configuration/TableValidatorImpl.java
@@ -23,8 +23,8 @@ import 
org.apache.ignite.configuration.schemas.table.TableView;
 import org.apache.ignite.configuration.validation.ValidationContext;
 import org.apache.ignite.configuration.validation.ValidationIssue;
 import org.apache.ignite.configuration.validation.Validator;
+import org.apache.ignite.internal.schema.definition.SchemaValidationUtils;
 import org.apache.ignite.internal.schema.definition.TableDefinitionImpl;
-import 
org.apache.ignite.internal.schema.definition.builder.TableDefinitionBuilderImpl;
 
 /**
  * Table schema configuration validator implementation.
@@ -47,7 +47,7 @@ public class TableValidatorImpl implements 
Validator<TableValidator, NamedListVi
                 assert !tbl.keyColumns().isEmpty();
                 assert !tbl.colocationColumns().isEmpty();
 
-                TableDefinitionBuilderImpl.validateIndices(tbl.indices(), 
tbl.columns(), tbl.colocationColumns());
+                SchemaValidationUtils.validateIndices(tbl.indices(), 
tbl.columns(), tbl.colocationColumns());
             } catch (IllegalArgumentException e) {
                 ctx.addIssue(new ValidationIssue(
                         ctx.currentKey(),
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/SchemaValidationUtils.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/SchemaValidationUtils.java
new file mode 100644
index 0000000000..4dd20017c6
--- /dev/null
+++ 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/SchemaValidationUtils.java
@@ -0,0 +1,77 @@
+/*
+ * 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.schema.definition;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+import org.apache.ignite.schema.definition.ColumnDefinition;
+import org.apache.ignite.schema.definition.index.ColumnarIndexDefinition;
+import org.apache.ignite.schema.definition.index.IndexColumnDefinition;
+import org.apache.ignite.schema.definition.index.IndexDefinition;
+
+/**
+ * Schema validation methods.
+ */
+public class SchemaValidationUtils {
+    /**
+     * Validate primary key.
+     *
+     * @param pkColNames Primary key columns.
+     * @param cols       Table columns.
+     */
+    public static void validatePrimaryKey(Set<String> pkColNames, final 
Map<String, ColumnDefinition> cols) {
+        pkColNames.stream()
+                .filter(pkCol -> cols.get(pkCol).nullable())
+                .findAny()
+                .ifPresent((pkCol) -> {
+                    throw new IllegalStateException("Primary key cannot 
contain nullable column [col=" + pkCol + "].");
+                });
+    }
+
+    /**
+     * Validate indices.
+     *
+     * @param indices Table indices.
+     * @param cols Table columns.
+     * @param colocationColNames Colocation columns names.
+     */
+    public static void validateIndices(
+            Collection<IndexDefinition> indices,
+            Collection<ColumnDefinition> cols,
+            List<String> colocationColNames) {
+        Set<String> colNames = 
cols.stream().map(ColumnDefinition::name).collect(Collectors.toSet());
+
+        for (IndexDefinition idx : indices) {
+            assert idx instanceof ColumnarIndexDefinition : "Only columnar 
indices are supported.";
+            // Note: E.g. functional index is not columnar index as it index 
an expression result only.
+
+            ColumnarIndexDefinition idx0 = (ColumnarIndexDefinition) idx;
+
+            if 
(!idx0.columns().stream().map(IndexColumnDefinition::name).allMatch(colNames::contains))
 {
+                throw new IllegalStateException("Index column must exist in 
the schema.");
+            }
+
+            if (idx0.unique() && 
!(idx0.columns().stream().map(IndexColumnDefinition::name).allMatch(colocationColNames::contains)))
 {
+                throw new IllegalStateException("Unique index must contains 
all colocation columns.");
+            }
+        }
+    }
+}
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/TableDefinitionImpl.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/TableDefinitionImpl.java
index 3e8ac14368..cb88ca7819 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/TableDefinitionImpl.java
+++ 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/TableDefinitionImpl.java
@@ -24,14 +24,12 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import 
org.apache.ignite.internal.schema.modification.TableModificationBuilderImpl;
+import org.apache.ignite.internal.schema.SchemaUtils;
 import org.apache.ignite.internal.tostring.S;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.PrimaryKeyDefinition;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.schema.definition.index.IndexDefinition;
-import org.apache.ignite.schema.modification.TableModificationBuilder;
-import org.jetbrains.annotations.NotNull;
 
 /**
  * Table.
@@ -106,16 +104,7 @@ public class TableDefinitionImpl extends 
AbstractSchemaObject implements TableDe
     /** {@inheritDoc} */
     @Override
     public String canonicalName() {
-        return canonicalName(schemaName, name());
-    }
-
-    /**
-     * Creates canonical table name.
-     *
-     * @return Table with schema canonical name.
-     */
-    public static String canonicalName(@NotNull String schema, @NotNull String 
name) {
-        return schema + '.' + name;
+        return SchemaUtils.canonicalName(schemaName, name());
     }
 
     /** {@inheritDoc} */
@@ -124,12 +113,6 @@ public class TableDefinitionImpl extends 
AbstractSchemaObject implements TableDe
         return Collections.unmodifiableCollection(indices.values());
     }
 
-    /** {@inheritDoc} */
-    @Override
-    public TableModificationBuilder toBuilder() {
-        return new TableModificationBuilderImpl(this);
-    }
-
     /**
      * Check if specified column already exists.
      *
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/modification/AlterColumnBuilderImpl.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/modification/AlterColumnBuilderImpl.java
deleted file mode 100644
index 0b1a12d25d..0000000000
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/modification/AlterColumnBuilderImpl.java
+++ /dev/null
@@ -1,75 +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.schema.modification;
-
-import org.apache.ignite.schema.definition.ColumnType;
-import org.apache.ignite.schema.modification.AlterColumnBuilder;
-import org.apache.ignite.schema.modification.TableModificationBuilder;
-
-/**
- * Alter column builder.
- */
-class AlterColumnBuilderImpl implements AlterColumnBuilder {
-    /** Table modification builder. */
-    private final TableModificationBuilderImpl tableBuilder;
-
-    /**
-     * Constructor.
-     *
-     * @param tableBuilder Table modification builder.
-     */
-    AlterColumnBuilderImpl(TableModificationBuilderImpl tableBuilder) {
-        this.tableBuilder = tableBuilder;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public AlterColumnBuilder withNewName(String newName) {
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public AlterColumnBuilder convertTo(ColumnType newType) {
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public AlterColumnBuilder withNewDefault(Object defaultValue) {
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public AlterColumnBuilder asNullable() {
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public AlterColumnBuilder asNonNullable(Object replacement) {
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public TableModificationBuilder done() {
-        return tableBuilder;
-    }
-}
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/modification/TableModificationBuilderImpl.java
 
b/modules/schema/src/main/java/org/apache/ignite/internal/schema/modification/TableModificationBuilderImpl.java
deleted file mode 100644
index 563399fc02..0000000000
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/modification/TableModificationBuilderImpl.java
+++ /dev/null
@@ -1,106 +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.schema.modification;
-
-import org.apache.ignite.internal.schema.definition.TableDefinitionImpl;
-import org.apache.ignite.schema.definition.ColumnDefinition;
-import org.apache.ignite.schema.definition.PrimaryKeyDefinition;
-import org.apache.ignite.schema.definition.index.IndexDefinition;
-import org.apache.ignite.schema.modification.AlterColumnBuilder;
-import org.apache.ignite.schema.modification.TableModificationBuilder;
-
-/**
- * Table modification builder.
- */
-public class TableModificationBuilderImpl implements TableModificationBuilder {
-    /** Table. */
-    private final TableDefinitionImpl table;
-
-    /**
-     * Constructor.
-     *
-     * @param table Table.
-     */
-    public TableModificationBuilderImpl(TableDefinitionImpl table) {
-        this.table = table;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public TableModificationBuilder addColumn(ColumnDefinition column) {
-        if (table.hasColumn(column.name())) {
-            throw new IllegalArgumentException("Duplicate column: name='" + 
column.name() + '\'');
-        }
-
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public TableModificationBuilder addKeyColumn(ColumnDefinition column) {
-        if (table.hasColumn(column.name())) {
-            throw new IllegalArgumentException("Duplicate column: name=" + 
column.name() + '\'');
-        }
-
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public AlterColumnBuilder alterColumn(String columnName) {
-        return new AlterColumnBuilderImpl(this);
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public TableModificationBuilder dropColumn(String columnName) {
-        if (table.hasKeyColumn(columnName)) {
-            throw new IllegalArgumentException("Can't drop key column: name=" 
+ columnName);
-        }
-
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public TableModificationBuilder addIndex(IndexDefinition indexDefinition) {
-        assert 
!PrimaryKeyDefinition.PRIMARY_KEY_NAME.equals(indexDefinition.name());
-
-        if (table.indices().stream().anyMatch(i -> 
i.name().equals(indexDefinition.name()))) {
-            throw new IllegalArgumentException("Index already exists: name=" + 
indexDefinition.name() + '\'');
-        }
-
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public TableModificationBuilder dropIndex(String indexName) {
-        if (PrimaryKeyDefinition.PRIMARY_KEY_NAME.equals(indexName)) {
-            throw new IllegalArgumentException("Can't drop primary key index: 
name=" + indexName);
-        }
-
-        return this;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void apply() {
-
-    }
-}
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/schema/package-info.java 
b/modules/schema/src/main/java/org/apache/ignite/schema/package-info.java
deleted file mode 100644
index a039260186..0000000000
--- a/modules/schema/src/main/java/org/apache/ignite/schema/package-info.java
+++ /dev/null
@@ -1,22 +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.
- */
-
-/**
- * Contains public schema definition helpers.
- */
-
-package org.apache.ignite.schema;
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/SchemaConfigurationTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/SchemaConfigurationTest.java
index 2337f53ec3..604ca9cf65 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/SchemaConfigurationTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/SchemaConfigurationTest.java
@@ -22,11 +22,10 @@ import static org.hamcrest.Matchers.containsString;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.Map;
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.TableDefinitionBuilder;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.SchemaObject;
-import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -79,52 +78,6 @@ public class SchemaConfigurationTest {
                 .build();
     }
 
-    /**
-     * TestSchemaModification.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
-    @Test
-    public void testSchemaModification() {
-        final TableDefinition table = SchemaBuilders.tableBuilder("PUBLIC", 
"table1")
-                .columns(
-                        // Declaring columns in user order.
-                        SchemaBuilders.column("id", ColumnType.INT64).build(),
-                        SchemaBuilders.column("name", 
ColumnType.string()).build()
-                )
-                .withPrimaryKey("id")
-                .build();
-
-        table.toBuilder()
-                .addColumn(
-                        SchemaBuilders.column("firstName", ColumnType.string())
-                                .build()
-                )
-                .addKeyColumn(
-                        // It looks safe to add non-affinity column to key.
-                        SchemaBuilders.column("subId", ColumnType.string())
-                                .build()
-                )
-
-                .alterColumn("firstName")
-                .withNewName("lastName")
-                .withNewDefault("ivanov")
-                .asNullable()
-                .convertTo(ColumnType.stringOf(100))
-                .done()
-
-                .dropColumn("name") // Key column can't be dropped.
-
-                .addIndex(
-                        SchemaBuilders.sortedIndex("sortedIdx")
-                                .addIndexColumn("subId").done()
-                                .withHints(Map.of("INLINE_SIZE", "73"))
-                                .build()
-                )
-
-                .dropIndex("hash_idx")
-                .apply();
-    }
-
     /**
      * Check invalid colocation columns configuration:
      * - not PK columns;
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/ColumnDefinitionBuilderTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/ColumnDefinitionBuilderTest.java
index 1c76ca7701..70d8587ff9 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/ColumnDefinitionBuilderTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/ColumnDefinitionBuilderTest.java
@@ -21,12 +21,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 
 import java.time.LocalDate;
-import org.apache.ignite.schema.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.ColumnDefinitionBuilder;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import 
org.apache.ignite.schema.definition.DefaultValueDefinition.ConstantValue;
 import 
org.apache.ignite.schema.definition.DefaultValueDefinition.DefaultValueType;
-import org.apache.ignite.schema.definition.builder.ColumnDefinitionBuilder;
 import org.junit.jupiter.api.Test;
 
 /**
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/HashIndexDefinitionBuilderTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/HashIndexDefinitionBuilderTest.java
index af1575ae3b..8983556865 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/HashIndexDefinitionBuilderTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/HashIndexDefinitionBuilderTest.java
@@ -21,8 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.Collections;
-import org.apache.ignite.schema.SchemaBuilders;
-import org.apache.ignite.schema.definition.builder.HashIndexDefinitionBuilder;
+import 
org.apache.ignite.internal.schema.testutils.builder.HashIndexDefinitionBuilder;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.index.HashIndexDefinition;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyDefinitionDefinitionBuilderTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyDefinitionDefinitionBuilderTest.java
index d47eb66d5b..795b45adb2 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyDefinitionDefinitionBuilderTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/PrimaryKeyDefinitionDefinitionBuilderTest.java
@@ -23,9 +23,9 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.List;
-import org.apache.ignite.schema.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.PrimaryKeyDefinitionBuilder;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.schema.definition.PrimaryKeyDefinition;
-import org.apache.ignite.schema.definition.builder.PrimaryKeyDefinitionBuilder;
 import org.junit.jupiter.api.Test;
 
 /**
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/SortedIndexDefinitionBuilderTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/SortedIndexDefinitionBuilderTest.java
index c98059e15d..b07b3c3d86 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/SortedIndexDefinitionBuilderTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/SortedIndexDefinitionBuilderTest.java
@@ -20,8 +20,8 @@ package org.apache.ignite.internal.schema.builder;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 
-import org.apache.ignite.schema.SchemaBuilders;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.SortedIndexDefinitionBuilder;
 import org.apache.ignite.schema.definition.index.SortOrder;
 import org.apache.ignite.schema.definition.index.SortedIndexDefinition;
 import org.junit.jupiter.api.Test;
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/TableDefinitionBuilderTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/TableDefinitionBuilderTest.java
index 2bf212ad12..38fde35dd6 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/TableDefinitionBuilderTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/builder/TableDefinitionBuilderTest.java
@@ -19,10 +19,10 @@ package org.apache.ignite.internal.schema.builder;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.apache.ignite.schema.SchemaBuilders;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.TableDefinitionBuilder;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
 import org.junit.jupiter.api.Test;
 
 /**
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java
index e25e0eb531..8b9e5b919a 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java
@@ -48,16 +48,16 @@ import 
org.apache.ignite.configuration.schemas.table.UnlimitedBudgetConfiguratio
 import org.apache.ignite.internal.configuration.ConfigurationRegistry;
 import 
org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.apache.ignite.internal.schema.definition.ColumnDefinitionImpl;
-import org.apache.ignite.schema.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.HashIndexDefinitionBuilder;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.SortedIndexDefinitionBuilder;
+import 
org.apache.ignite.internal.schema.testutils.builder.TableDefinitionBuilder;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.DefaultValueDefinition;
 import 
org.apache.ignite.schema.definition.DefaultValueDefinition.ConstantValue;
 import org.apache.ignite.schema.definition.DefaultValueDefinition.FunctionCall;
 import org.apache.ignite.schema.definition.DefaultValueGenerators;
 import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.HashIndexDefinitionBuilder;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
 import org.apache.ignite.schema.definition.index.HashIndexDefinition;
 import org.apache.ignite.schema.definition.index.IndexColumnDefinition;
 import org.apache.ignite.schema.definition.index.IndexDefinition;
diff --git 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaDescriptorConverterTest.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaDescriptorConverterTest.java
index e96d1d5eb5..22ada06e48 100644
--- 
a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaDescriptorConverterTest.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaDescriptorConverterTest.java
@@ -34,14 +34,14 @@ import 
org.apache.ignite.internal.schema.DefaultValueProvider.Type;
 import org.apache.ignite.internal.schema.NativeTypeSpec;
 import org.apache.ignite.internal.schema.SchemaDescriptor;
 import org.apache.ignite.internal.schema.definition.ColumnDefinitionImpl;
-import org.apache.ignite.schema.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.ColumnDefinitionBuilder;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.TableDefinitionBuilder;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.DefaultValueDefinition;
 import org.apache.ignite.schema.definition.DefaultValueGenerators;
 import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.ColumnDefinitionBuilder;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.MethodSource;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/AbstractIndexBuilder.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/AbstractIndexBuilder.java
similarity index 94%
rename from 
modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/AbstractIndexBuilder.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/AbstractIndexBuilder.java
index b73390d3be..1bb7a0bd1a 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/AbstractIndexBuilder.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/AbstractIndexBuilder.java
@@ -15,12 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Collections;
 import java.util.Map;
 import org.apache.ignite.internal.util.IgniteObjectName;
-import org.apache.ignite.schema.definition.builder.SchemaObjectBuilder;
 
 /**
  * Index base class.
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/ColumnDefinitionBuilder.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/ColumnDefinitionBuilder.java
similarity index 96%
rename from 
modules/api/src/main/java/org/apache/ignite/schema/definition/builder/ColumnDefinitionBuilder.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/ColumnDefinitionBuilder.java
index 9f06c28479..d07f2b61c3 100644
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/ColumnDefinitionBuilder.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/ColumnDefinitionBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Map;
 import org.apache.ignite.schema.definition.ColumnDefinition;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/ColumnDefinitionBuilderImpl.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/ColumnDefinitionBuilderImpl.java
similarity index 92%
rename from 
modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/ColumnDefinitionBuilderImpl.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/ColumnDefinitionBuilderImpl.java
index f5af66e271..b620eb05c9 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/ColumnDefinitionBuilderImpl.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/ColumnDefinitionBuilderImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Map;
 import org.apache.ignite.internal.schema.definition.ColumnDefinitionImpl;
@@ -23,13 +23,12 @@ import org.apache.ignite.internal.util.IgniteObjectName;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.DefaultValueDefinition;
-import org.apache.ignite.schema.definition.builder.ColumnDefinitionBuilder;
 import org.jetbrains.annotations.Nullable;
 
 /**
  * Column builder.
  */
-public class ColumnDefinitionBuilderImpl implements ColumnDefinitionBuilder {
+class ColumnDefinitionBuilderImpl implements ColumnDefinitionBuilder {
     /** Column name. */
     private final String colName;
 
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/HashIndexDefinitionBuilder.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/HashIndexDefinitionBuilder.java
similarity index 96%
rename from 
modules/api/src/main/java/org/apache/ignite/schema/definition/builder/HashIndexDefinitionBuilder.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/HashIndexDefinitionBuilder.java
index ae84169c51..244d632b4a 100644
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/HashIndexDefinitionBuilder.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/HashIndexDefinitionBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.List;
 import java.util.Map;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/HashIndexDefinitionBuilderImpl.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/HashIndexDefinitionBuilderImpl.java
similarity index 89%
rename from 
modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/HashIndexDefinitionBuilderImpl.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/HashIndexDefinitionBuilderImpl.java
index 13225428c1..aab1a58d9e 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/HashIndexDefinitionBuilderImpl.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/HashIndexDefinitionBuilderImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Arrays;
 import java.util.List;
@@ -23,13 +23,12 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import 
org.apache.ignite.internal.schema.definition.index.HashIndexDefinitionImpl;
 import org.apache.ignite.internal.util.IgniteObjectName;
-import org.apache.ignite.schema.definition.builder.HashIndexDefinitionBuilder;
 import org.apache.ignite.schema.definition.index.HashIndexDefinition;
 
 /**
  * Hash index builder.
  */
-public class HashIndexDefinitionBuilderImpl extends AbstractIndexBuilder 
implements HashIndexDefinitionBuilder {
+class HashIndexDefinitionBuilderImpl extends AbstractIndexBuilder implements 
HashIndexDefinitionBuilder {
     /** Index columns. */
     private List<String> columns;
 
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/PrimaryKeyDefinitionBuilder.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/PrimaryKeyDefinitionBuilder.java
similarity index 97%
rename from 
modules/api/src/main/java/org/apache/ignite/schema/definition/builder/PrimaryKeyDefinitionBuilder.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/PrimaryKeyDefinitionBuilder.java
index ff4ab00613..d7a59ecf2d 100644
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/PrimaryKeyDefinitionBuilder.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/PrimaryKeyDefinitionBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.List;
 import org.apache.ignite.schema.definition.PrimaryKeyDefinition;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/PrimaryKeyDefinitionBuilderImpl.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/PrimaryKeyDefinitionBuilderImpl.java
similarity index 91%
rename from 
modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/PrimaryKeyDefinitionBuilderImpl.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/PrimaryKeyDefinitionBuilderImpl.java
index 760cefe08b..f4e81a8103 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/PrimaryKeyDefinitionBuilderImpl.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/PrimaryKeyDefinitionBuilderImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Arrays;
 import java.util.List;
@@ -27,13 +27,11 @@ import 
org.apache.ignite.internal.tostring.IgniteToStringInclude;
 import org.apache.ignite.internal.util.CollectionUtils;
 import org.apache.ignite.internal.util.IgniteObjectName;
 import org.apache.ignite.schema.definition.PrimaryKeyDefinition;
-import org.apache.ignite.schema.definition.builder.PrimaryKeyDefinitionBuilder;
-import org.apache.ignite.schema.definition.builder.SchemaObjectBuilder;
 
 /**
  * Primary key builder.
  */
-public class PrimaryKeyDefinitionBuilderImpl implements SchemaObjectBuilder, 
PrimaryKeyDefinitionBuilder {
+class PrimaryKeyDefinitionBuilderImpl implements SchemaObjectBuilder, 
PrimaryKeyDefinitionBuilder {
     /** Index columns. */
     @IgniteToStringInclude
     private List<String> columns;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/schema/SchemaBuilders.java 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SchemaBuilders.java
similarity index 76%
rename from 
modules/schema/src/main/java/org/apache/ignite/schema/SchemaBuilders.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SchemaBuilders.java
index 570460e191..01b861d73b 100644
--- a/modules/schema/src/main/java/org/apache/ignite/schema/SchemaBuilders.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SchemaBuilders.java
@@ -15,20 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.schema;
+package org.apache.ignite.internal.schema.testutils.builder;
 
-import 
org.apache.ignite.internal.schema.definition.builder.ColumnDefinitionBuilderImpl;
-import 
org.apache.ignite.internal.schema.definition.builder.HashIndexDefinitionBuilderImpl;
-import 
org.apache.ignite.internal.schema.definition.builder.PrimaryKeyDefinitionBuilderImpl;
-import 
org.apache.ignite.internal.schema.definition.builder.SortedIndexDefinitionBuilderImpl;
-import 
org.apache.ignite.internal.schema.definition.builder.TableDefinitionBuilderImpl;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.ColumnDefinitionBuilder;
-import org.apache.ignite.schema.definition.builder.HashIndexDefinitionBuilder;
-import org.apache.ignite.schema.definition.builder.PrimaryKeyDefinitionBuilder;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
 
 /**
  * Schema builder helper.
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/SchemaObjectBuilder.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SchemaObjectBuilder.java
similarity index 95%
rename from 
modules/api/src/main/java/org/apache/ignite/schema/definition/builder/SchemaObjectBuilder.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SchemaObjectBuilder.java
index cc923b9af7..31e923d641 100644
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/SchemaObjectBuilder.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SchemaObjectBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Map;
 
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/SortedIndexDefinitionBuilder.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SortedIndexDefinitionBuilder.java
similarity index 97%
rename from 
modules/api/src/main/java/org/apache/ignite/schema/definition/builder/SortedIndexDefinitionBuilder.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SortedIndexDefinitionBuilder.java
index ed425a5a1b..655f1851c7 100644
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/SortedIndexDefinitionBuilder.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SortedIndexDefinitionBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Map;
 import org.apache.ignite.schema.definition.index.SortedIndexDefinition;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/SortedIndexDefinitionBuilderImpl.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SortedIndexDefinitionBuilderImpl.java
similarity index 88%
rename from 
modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/SortedIndexDefinitionBuilderImpl.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SortedIndexDefinitionBuilderImpl.java
index 8389e0a43e..cab88ae7db 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/SortedIndexDefinitionBuilderImpl.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/SortedIndexDefinitionBuilderImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -24,7 +24,6 @@ import java.util.stream.Collectors;
 import 
org.apache.ignite.internal.schema.definition.index.SortedIndexColumnDefinitionImpl;
 import 
org.apache.ignite.internal.schema.definition.index.SortedIndexDefinitionImpl;
 import org.apache.ignite.internal.util.IgniteObjectName;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder;
 import org.apache.ignite.schema.definition.index.SortOrder;
 import org.apache.ignite.schema.definition.index.SortedIndexColumnDefinition;
 import org.apache.ignite.schema.definition.index.SortedIndexDefinition;
@@ -32,8 +31,8 @@ import 
org.apache.ignite.schema.definition.index.SortedIndexDefinition;
 /**
  * Sorted index builder.
  */
-public class SortedIndexDefinitionBuilderImpl extends AbstractIndexBuilder 
implements SortedIndexDefinitionBuilder {
-    /** Index columns. */
+class SortedIndexDefinitionBuilderImpl extends AbstractIndexBuilder implements 
SortedIndexDefinitionBuilder {
+    /** Index columns ordered map. */
     protected final Map<String, SortedIndexColumnBuilderImpl> cols = new 
LinkedHashMap<>();
 
     /**
@@ -61,7 +60,6 @@ public class SortedIndexDefinitionBuilderImpl extends 
AbstractIndexBuilder imple
 
     /**
      * Add index column.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
      *
      * @param idxBuilder Index builder.
      */
@@ -83,7 +81,7 @@ public class SortedIndexDefinitionBuilderImpl extends 
AbstractIndexBuilder imple
      * Get index columns.
      */
     public List<SortedIndexColumnDefinition> columns() {
-        return cols.values().stream().map(c -> new 
SortedIndexColumnDefinitionImpl(c.name, c.asc)).collect(Collectors.toList());
+        return cols.values().stream().map(c -> new 
SortedIndexColumnDefinitionImpl(c.name, c.order)).collect(Collectors.toList());
     }
 
     /** {@inheritDoc} */
@@ -105,7 +103,7 @@ public class SortedIndexDefinitionBuilderImpl extends 
AbstractIndexBuilder imple
         protected String name;
 
         /** Index order flag. */
-        protected SortOrder asc = SortOrder.ASC;
+        private SortOrder order = SortOrder.ASC;
 
         /**
          * Constructor.
@@ -119,7 +117,7 @@ public class SortedIndexDefinitionBuilderImpl extends 
AbstractIndexBuilder imple
         /** {@inheritDoc} */
         @Override
         public SortedIndexColumnBuilderImpl desc() {
-            asc = SortOrder.DESC;
+            order = SortOrder.DESC;
 
             return this;
         }
@@ -127,7 +125,7 @@ public class SortedIndexDefinitionBuilderImpl extends 
AbstractIndexBuilder imple
         /** {@inheritDoc} */
         @Override
         public SortedIndexColumnBuilderImpl asc() {
-            asc = SortOrder.ASC;
+            order = SortOrder.ASC;
 
             return this;
         }
diff --git 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/TableDefinitionBuilder.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/TableDefinitionBuilder.java
similarity index 97%
rename from 
modules/api/src/main/java/org/apache/ignite/schema/definition/builder/TableDefinitionBuilder.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/TableDefinitionBuilder.java
index 7d72554e2b..a408cf3973 100644
--- 
a/modules/api/src/main/java/org/apache/ignite/schema/definition/builder/TableDefinitionBuilder.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/TableDefinitionBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.List;
 import java.util.Map;
diff --git 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/TableDefinitionBuilderImpl.java
 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/TableDefinitionBuilderImpl.java
similarity index 62%
rename from 
modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/TableDefinitionBuilderImpl.java
rename to 
modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/TableDefinitionBuilderImpl.java
index 44575c6bfc..8a20dc66cf 100644
--- 
a/modules/schema/src/main/java/org/apache/ignite/internal/schema/definition/builder/TableDefinitionBuilderImpl.java
+++ 
b/modules/schema/src/test/java/org/apache/ignite/internal/schema/testutils/builder/TableDefinitionBuilderImpl.java
@@ -15,32 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.ignite.internal.schema.definition.builder;
+package org.apache.ignite.internal.schema.testutils.builder;
 
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
+import org.apache.ignite.internal.schema.definition.SchemaValidationUtils;
 import org.apache.ignite.internal.schema.definition.TableDefinitionImpl;
 import org.apache.ignite.internal.util.IgniteObjectName;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.PrimaryKeyDefinition;
 import org.apache.ignite.schema.definition.TableDefinition;
-import org.apache.ignite.schema.definition.builder.TableDefinitionBuilder;
-import org.apache.ignite.schema.definition.index.ColumnarIndexDefinition;
-import org.apache.ignite.schema.definition.index.IndexColumnDefinition;
 import org.apache.ignite.schema.definition.index.IndexDefinition;
 
 /**
  * Table builder.
  */
-public class TableDefinitionBuilderImpl implements TableDefinitionBuilder {
+class TableDefinitionBuilderImpl implements TableDefinitionBuilder {
     /** Schema name. */
     private final String schemaName;
 
@@ -60,7 +54,7 @@ public class TableDefinitionBuilderImpl implements 
TableDefinitionBuilder {
      * Constructor.
      *
      * @param schemaName Schema name.
-     * @param tableName  Table name.
+     * @param tableName Table name.
      */
     public TableDefinitionBuilderImpl(String schemaName, String tableName) {
         this.schemaName = IgniteObjectName.parse(schemaName);
@@ -126,8 +120,8 @@ public class TableDefinitionBuilderImpl implements 
TableDefinitionBuilder {
         assert primaryKeyDefinition != null : "Primary key index must be 
configured.";
         assert columns.size() > primaryKeyDefinition.columns().size() : "Key 
or/and value columns must be defined.";
 
-        validatePrimaryKey(primaryKeyDefinition.columns(), columns);
-        validateIndices(indices.values(), columns.values(), 
primaryKeyDefinition.colocationColumns());
+        
SchemaValidationUtils.validatePrimaryKey(primaryKeyDefinition.columns(), 
columns);
+        SchemaValidationUtils.validateIndices(indices.values(), 
columns.values(), primaryKeyDefinition.colocationColumns());
 
         return new TableDefinitionImpl(
                 schemaName,
@@ -137,48 +131,4 @@ public class TableDefinitionBuilderImpl implements 
TableDefinitionBuilder {
                 Collections.unmodifiableMap(indices)
         );
     }
-
-    /**
-     * Validate primary key.
-     *
-     * @param pkColNames Primary key columns.
-     * @param cols       Table columns.
-     */
-    private static void validatePrimaryKey(Set<String> pkColNames, final 
Map<String, ColumnDefinition> cols) {
-        pkColNames.stream()
-                .filter(pkCol -> cols.get(pkCol).nullable())
-                .findAny()
-                .ifPresent((pkCol) -> {
-                    throw new IllegalStateException("Primary key cannot 
contain nullable column [col=" + pkCol + "].");
-                });
-    }
-
-    /**
-     * Validate indices.
-     *
-     * @param indices Table indices.
-     * @param cols Table columns.
-     * @param colocationColNames Colocation columns names.
-     */
-    public static void validateIndices(
-            Collection<IndexDefinition> indices,
-            Collection<ColumnDefinition> cols,
-            List<String> colocationColNames) {
-        Set<String> colNames = 
cols.stream().map(ColumnDefinition::name).collect(Collectors.toSet());
-
-        for (IndexDefinition idx : indices) {
-            assert idx instanceof ColumnarIndexDefinition : "Only columnar 
indices are supported.";
-            // Note: E.g. functional index is not columnar index as it index 
an expression result only.
-
-            ColumnarIndexDefinition idx0 = (ColumnarIndexDefinition) idx;
-
-            if 
(!idx0.columns().stream().map(IndexColumnDefinition::name).allMatch(colNames::contains))
 {
-                throw new IllegalStateException("Index column must exist in 
the schema.");
-            }
-
-            if (idx0.unique() && 
!(idx0.columns().stream().map(IndexColumnDefinition::name).allMatch(colocationColNames::contains)))
 {
-                throw new IllegalStateException("Unique index must contains 
all colocation columns.");
-            }
-        }
-    }
 }
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlCommandHandler.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlCommandHandler.java
index 1f8cbd52bd..6ad4badcfd 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlCommandHandler.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlCommandHandler.java
@@ -36,9 +36,11 @@ import 
org.apache.ignite.configuration.schemas.table.ConstantValueDefaultChange;
 import org.apache.ignite.configuration.schemas.table.FunctionCallDefaultChange;
 import org.apache.ignite.configuration.schemas.table.NullValueDefaultChange;
 import org.apache.ignite.configuration.schemas.table.PrimaryKeyView;
+import org.apache.ignite.configuration.schemas.table.SortedIndexChange;
 import org.apache.ignite.configuration.schemas.table.TableChange;
+import org.apache.ignite.configuration.schemas.table.TableIndexChange;
 import org.apache.ignite.internal.index.IndexManager;
-import org.apache.ignite.internal.schema.definition.TableDefinitionImpl;
+import org.apache.ignite.internal.schema.SchemaUtils;
 import 
org.apache.ignite.internal.sql.engine.prepare.ddl.AbstractTableDdlCommand;
 import org.apache.ignite.internal.sql.engine.prepare.ddl.AlterTableAddCommand;
 import org.apache.ignite.internal.sql.engine.prepare.ddl.AlterTableDropCommand;
@@ -63,9 +65,6 @@ import org.apache.ignite.lang.IgniteInternalCheckedException;
 import org.apache.ignite.lang.IgniteStringFormatter;
 import org.apache.ignite.lang.TableAlreadyExistsException;
 import org.apache.ignite.lang.TableNotFoundException;
-import org.apache.ignite.schema.SchemaBuilders;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder.SortedIndexColumnBuilder;
 
 /** DDL commands handler. */
 public class DdlCommandHandler {
@@ -153,7 +152,7 @@ public class DdlCommandHandler {
             }
         };
 
-        String fullName = TableDefinitionImpl.canonicalName(
+        String fullName = SchemaUtils.canonicalName(
                 IgniteObjectName.quote(cmd.schemaName()),
                 IgniteObjectName.quote(cmd.tableName())
         );
@@ -173,7 +172,7 @@ public class DdlCommandHandler {
 
     /** Handles drop table command. */
     private boolean handleDropTable(DropTableCommand cmd) {
-        String fullName = TableDefinitionImpl.canonicalName(
+        String fullName = SchemaUtils.canonicalName(
                 IgniteObjectName.quote(cmd.schemaName()),
                 IgniteObjectName.quote(cmd.tableName())
         );
@@ -196,7 +195,7 @@ public class DdlCommandHandler {
             return false;
         }
 
-        String fullName = TableDefinitionImpl.canonicalName(
+        String fullName = SchemaUtils.canonicalName(
                 IgniteObjectName.quote(cmd.schemaName()),
                 IgniteObjectName.quote(cmd.tableName())
         );
@@ -218,7 +217,7 @@ public class DdlCommandHandler {
             return false;
         }
 
-        String fullName = TableDefinitionImpl.canonicalName(
+        String fullName = SchemaUtils.canonicalName(
                 IgniteObjectName.quote(cmd.schemaName()),
                 IgniteObjectName.quote(cmd.tableName())
         );
@@ -236,26 +235,17 @@ public class DdlCommandHandler {
 
     /** Handles create index command. */
     private boolean handleCreateIndex(CreateIndexCommand cmd) {
-        // Only sorted idx for now.
-        //TODO: https://issues.apache.org/jira/browse/IGNITE-17563 Pass null 
ordering for columns.
-        SortedIndexDefinitionBuilder idx = 
SchemaBuilders.sortedIndex(cmd.indexName());
-
-        for (Pair<String, Boolean> idxInfo : cmd.columns()) {
-            SortedIndexColumnBuilder idx0 = 
idx.addIndexColumn(idxInfo.getFirst());
-
-            if (idxInfo.getSecond()) {
-                idx0.desc();
-            }
-
-            idx0.done();
-        }
+        Consumer<TableIndexChange> indexChanger = tableIndexChange -> {
+            // Only sorted idx for now.
+            createSortedIndexInternal(cmd, 
tableIndexChange.convert(SortedIndexChange.class));
+        };
 
         return indexManager.createIndex(
                 cmd.schemaName(),
                 cmd.indexName(),
                 cmd.tableName(),
                 !cmd.ifIndexNotExists(),
-                tableIndexChange -> convert(idx.build(), tableIndexChange));
+                indexChanger);
     }
 
     /** Handles drop index command. */
@@ -263,6 +253,21 @@ public class DdlCommandHandler {
         return indexManager.dropIndex(cmd.schemaName(), cmd.indexName(), 
!cmd.ifNotExists());
     }
 
+    /**
+     * Creates sorted index.
+     *
+     * @param cmd Create index command.
+     * @param indexChange Index configuration changer.
+     */
+    private void createSortedIndexInternal(CreateIndexCommand cmd, 
SortedIndexChange indexChange) {
+        indexChange.changeColumns(colsInit -> {
+            for (Pair<String, Boolean> col : cmd.columns()) {
+                //TODO: https://issues.apache.org/jira/browse/IGNITE-17563 
Pass null ordering for columns.
+                colsInit.create(col.getFirst(), colInit -> 
colInit.changeAsc(col.getSecond()));
+            }
+        });
+    }
+
     /**
      * Adds a column according to the column definition.
      *
diff --git 
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractMvTableStorageTest.java
 
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractMvTableStorageTest.java
index 64ac10fbb1..5efaee4e95 100644
--- 
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractMvTableStorageTest.java
+++ 
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/AbstractMvTableStorageTest.java
@@ -40,11 +40,11 @@ import org.apache.ignite.internal.schema.BinaryTupleSchema;
 import org.apache.ignite.internal.schema.BinaryTupleSchema.Element;
 import org.apache.ignite.internal.schema.NativeTypes;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.storage.engine.MvTableStorage;
 import org.apache.ignite.internal.storage.index.HashIndexStorage;
 import org.apache.ignite.internal.storage.index.IndexRowImpl;
 import org.apache.ignite.internal.util.Cursor;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.junit.jupiter.api.AfterEach;
diff --git 
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractHashIndexStorageTest.java
 
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractHashIndexStorageTest.java
index 0e363f0a68..6e33696ee5 100644
--- 
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractHashIndexStorageTest.java
+++ 
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractHashIndexStorageTest.java
@@ -19,9 +19,9 @@ package org.apache.ignite.internal.storage.index;
 
 import static java.util.stream.Collectors.toList;
 import static 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter.convert;
+import static 
org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders.column;
+import static 
org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders.tableBuilder;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
-import static org.apache.ignite.schema.SchemaBuilders.column;
-import static org.apache.ignite.schema.SchemaBuilders.tableBuilder;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.contains;
@@ -33,12 +33,12 @@ import java.util.Collection;
 import java.util.concurrent.CompletableFuture;
 import org.apache.ignite.configuration.schemas.table.TableConfiguration;
 import org.apache.ignite.configuration.schemas.table.TableIndexView;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.storage.MvPartitionStorage;
 import org.apache.ignite.internal.storage.RowId;
 import org.apache.ignite.internal.storage.engine.MvTableStorage;
 import org.apache.ignite.internal.storage.index.impl.BinaryTupleRowSerializer;
 import org.apache.ignite.internal.util.Cursor;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
diff --git 
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractSortedIndexStorageTest.java
 
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractSortedIndexStorageTest.java
index dfd0353e26..3be08e016d 100644
--- 
a/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractSortedIndexStorageTest.java
+++ 
b/modules/storage-api/src/test/java/org/apache/ignite/internal/storage/index/AbstractSortedIndexStorageTest.java
@@ -20,6 +20,8 @@ package org.apache.ignite.internal.storage.index;
 import static java.util.stream.Collectors.toList;
 import static java.util.stream.Collectors.toUnmodifiableList;
 import static 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter.convert;
+import static 
org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders.column;
+import static 
org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders.tableBuilder;
 import static 
org.apache.ignite.internal.storage.index.SortedIndexStorage.BACKWARDS;
 import static 
org.apache.ignite.internal.storage.index.SortedIndexStorage.FORWARD;
 import static 
org.apache.ignite.internal.storage.index.SortedIndexStorage.GREATER;
@@ -29,8 +31,6 @@ import static 
org.apache.ignite.internal.storage.index.SortedIndexStorage.LESS_O
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.randomString;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willBe;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
-import static org.apache.ignite.schema.SchemaBuilders.column;
-import static org.apache.ignite.schema.SchemaBuilders.tableBuilder;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.nullValue;
@@ -65,6 +65,9 @@ import org.apache.ignite.internal.logger.IgniteLogger;
 import org.apache.ignite.internal.logger.Loggers;
 import org.apache.ignite.internal.schema.BinaryTuple;
 import org.apache.ignite.internal.schema.SchemaTestUtils;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
+import 
org.apache.ignite.internal.schema.testutils.builder.SortedIndexDefinitionBuilder;
+import 
org.apache.ignite.internal.schema.testutils.builder.SortedIndexDefinitionBuilder.SortedIndexColumnBuilder;
 import org.apache.ignite.internal.storage.RowId;
 import 
org.apache.ignite.internal.storage.chm.TestConcurrentHashMapStorageEngine;
 import 
org.apache.ignite.internal.storage.chm.schema.TestConcurrentHashMapDataStorageConfigurationSchema;
@@ -73,12 +76,9 @@ import 
org.apache.ignite.internal.storage.index.impl.BinaryTupleRowSerializer;
 import org.apache.ignite.internal.storage.index.impl.TestIndexRow;
 import org.apache.ignite.internal.testframework.VariableSource;
 import org.apache.ignite.internal.util.Cursor;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnDefinition;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder;
-import 
org.apache.ignite.schema.definition.builder.SortedIndexDefinitionBuilder.SortedIndexColumnBuilder;
 import org.apache.ignite.schema.definition.index.ColumnarIndexDefinition;
 import org.apache.ignite.schema.definition.index.SortedIndexDefinition;
 import org.intellij.lang.annotations.MagicConstant;
diff --git 
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
 
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
index 1f111133a8..9e946186fa 100644
--- 
a/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
+++ 
b/modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java
@@ -96,6 +96,7 @@ import org.apache.ignite.internal.schema.SchemaManager;
 import org.apache.ignite.internal.schema.SchemaUtils;
 import 
org.apache.ignite.internal.schema.configuration.SchemaConfigurationConverter;
 import 
org.apache.ignite.internal.schema.marshaller.schema.SchemaSerializerImpl;
+import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.storage.DataStorageManager;
 import org.apache.ignite.internal.storage.DataStorageModules;
 import org.apache.ignite.internal.storage.rocksdb.RocksDbDataStorageModule;
@@ -124,7 +125,6 @@ import org.apache.ignite.raft.jraft.entity.PeerId;
 import org.apache.ignite.raft.jraft.error.RaftError;
 import org.apache.ignite.raft.jraft.rpc.CliRequests;
 import org.apache.ignite.raft.jraft.rpc.impl.RaftGroupServiceImpl;
-import org.apache.ignite.schema.SchemaBuilders;
 import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;

Reply via email to