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

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

commit bda7329ca24092b3beca4677422748c2c8cd67b8
Author: amashenkov <[email protected]>
AuthorDate: Wed Aug 9 11:30:43 2023 +0300

    Fix platforms tests
---
 .../internal/catalog/commands/CatalogUtils.java    |  6 +++---
 .../internal/catalog/CatalogManagerSelfTest.java   |  3 ++-
 .../cpp/tests/odbc-test/meta_queries_test.cpp      |  2 +-
 .../Sql/IgniteDbDataReaderTests.cs                 |  2 +-
 .../dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs     |  2 +-
 .../runner/app/PlatformTestNodeRunner.java         | 22 +++++++++++-----------
 .../ignite/internal/sql/engine/ItMetadataTest.java |  4 ++--
 .../internal/sql/engine/ItSecondaryIndexTest.java  |  4 ++--
 .../schema/testutils/definition/ColumnType.java    |  7 ++++---
 .../sql/engine/type/IgniteTypeFactory.java         |  4 ++--
 10 files changed, 29 insertions(+), 27 deletions(-)

diff --git 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java
 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java
index 0aa811af40..3115c71fa0 100644
--- 
a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java
+++ 
b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java
@@ -125,11 +125,11 @@ public class CatalogUtils {
     public static final int DEFAULT_LENGTH = 1;
 
     /**
-     * Max length is implementation defined.
+     * Max length for VARCHAR and VARBINARY is implementation defined.
      *
      * <p>SQL`16 part 2 section 6.1 syntax rule 15
      */
-    public static final int MAX_LENGTH = Short.MAX_VALUE;
+    public static final int DEFAULT_VARLEN_LENGTH = 0xffff;
 
     private static final Map<ColumnType, Set<ColumnType>> 
ALTER_COLUMN_TYPE_TRANSITIONS = new EnumMap<>(ColumnType.class);
 
@@ -265,7 +265,7 @@ public class CatalogUtils {
             case BITMASK:
             case STRING:
             case BYTE_ARRAY:
-                return Integer.MAX_VALUE;
+                return DEFAULT_VARLEN_LENGTH;
             default:
                 return Math.max(DEFAULT_LENGTH, defaultPrecision(columnType));
         }
diff --git 
a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogManagerSelfTest.java
 
b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogManagerSelfTest.java
index 8228d1dda9..1aea1c3584 100644
--- 
a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogManagerSelfTest.java
+++ 
b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogManagerSelfTest.java
@@ -24,6 +24,7 @@ import static 
org.apache.ignite.internal.catalog.CatalogService.DEFAULT_ZONE_NAM
 import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.DEFAULT_FILTER;
 import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.DEFAULT_PARTITION_COUNT;
 import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.DEFAULT_REPLICA_COUNT;
+import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.DEFAULT_VARLEN_LENGTH;
 import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.INFINITE_TIMER_VALUE;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureExceptionMatcher.willThrow;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureExceptionMatcher.willThrowFast;
@@ -363,7 +364,7 @@ public class CatalogManagerSelfTest extends 
BaseCatalogManagerTest {
         assertEquals(DefaultValue.Type.CONSTANT, column.defaultValue().type());
         assertEquals("Ignite!", ((DefaultValue.ConstantValue) 
column.defaultValue()).value());
 
-        assertEquals(Integer.MAX_VALUE, column.length());
+        assertEquals(DEFAULT_VARLEN_LENGTH, column.length());
         assertEquals(0, column.precision());
         assertEquals(0, column.scale());
     }
diff --git a/modules/platforms/cpp/tests/odbc-test/meta_queries_test.cpp 
b/modules/platforms/cpp/tests/odbc-test/meta_queries_test.cpp
index 6f0ccc480a..44ce7ed9c0 100644
--- a/modules/platforms/cpp/tests/odbc-test/meta_queries_test.cpp
+++ b/modules/platforms/cpp/tests/odbc-test/meta_queries_test.cpp
@@ -257,7 +257,7 @@ public:
         check(m_statement, 5, "CHAR1", SQL_VARCHAR, 3, 0, SQL_NULLABLE);
         check(m_statement, 6, "CHAR2", SQL_VARCHAR, 42, 0, SQL_NULLABLE);
         check(m_statement, 7, "CHAR3", SQL_VARCHAR, 1, 0, SQL_NO_NULLS);
-        check(m_statement, 8, "VCHAR", SQL_VARCHAR, 65536, 0, SQL_NULLABLE);
+        check(m_statement, 8, "VCHAR", SQL_VARCHAR, 65535, 0, SQL_NULLABLE);
     }
 
     void insert_test_string() {
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/IgniteDbDataReaderTests.cs 
b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/IgniteDbDataReaderTests.cs
index 036e93f425..8479df3514 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/IgniteDbDataReaderTests.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/IgniteDbDataReaderTests.cs
@@ -399,7 +399,7 @@ public class IgniteDbDataReaderTests : IgniteTestsBase
         Assert.AreEqual(typeof(string), schema[1].DataType);
         Assert.AreEqual("varchar", schema[1].DataTypeName);
         Assert.IsTrue(schema[1].AllowDBNull);
-        Assert.AreEqual(65536, schema[1].NumericPrecision);
+        Assert.AreEqual(65535, schema[1].NumericPrecision);
         Assert.IsNull(schema[1].NumericScale);
         Assert.IsNotNull((schema[1] as IgniteDbColumn)?.ColumnMetadata);
     }
diff --git a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs 
b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
index a7699e1454..ba53a68ac9 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Tests/Sql/SqlTests.cs
@@ -301,7 +301,7 @@ namespace Apache.Ignite.Tests.Sql
             Assert.IsTrue(columns[0].Nullable);
             Assert.AreEqual(ColumnType.String, columns[0].Type);
             Assert.AreEqual(int.MinValue, columns[0].Scale);
-            Assert.AreEqual(65536, columns[0].Precision);
+            Assert.AreEqual(65535, columns[0].Precision);
 
             Assert.AreEqual("ID", columns[1].Name);
             Assert.AreEqual("ID", columns[1].Origin!.ColumnName);
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 8afecc4ad1..581638865e 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
@@ -46,6 +46,7 @@ import org.apache.ignite.compute.ComputeJob;
 import org.apache.ignite.compute.JobExecutionContext;
 import org.apache.ignite.internal.app.IgniteImpl;
 import org.apache.ignite.internal.binarytuple.BinaryTupleReader;
+import org.apache.ignite.internal.catalog.commands.CatalogUtils;
 import org.apache.ignite.internal.catalog.commands.ColumnParams;
 import org.apache.ignite.internal.catalog.commands.CreateTableParams;
 import org.apache.ignite.internal.catalog.commands.CreateZoneParams;
@@ -61,7 +62,6 @@ import org.apache.ignite.internal.schema.row.Row;
 import 
org.apache.ignite.internal.schema.testutils.SchemaConfigurationConverter;
 import org.apache.ignite.internal.schema.testutils.builder.SchemaBuilders;
 import org.apache.ignite.internal.schema.testutils.definition.ColumnType;
-import 
org.apache.ignite.internal.schema.testutils.definition.ColumnType.TemporalColumnType;
 import org.apache.ignite.internal.schema.testutils.definition.TableDefinition;
 import org.apache.ignite.internal.table.RecordBinaryViewImpl;
 import org.apache.ignite.internal.table.distributed.TableManager;
@@ -296,14 +296,14 @@ public class PlatformTestNodeRunner {
                 .tableName(TABLE_NAME)
                 .columns(List.of(
                         
ColumnParams.builder().name(keyCol).type(org.apache.ignite.sql.ColumnType.INT64).build(),
-                        
ColumnParams.builder().name("VAL").type(org.apache.ignite.sql.ColumnType.STRING).length(0).nullable(true).build()
+                        
ColumnParams.builder().name("VAL").type(org.apache.ignite.sql.ColumnType.STRING).nullable(true).build()
                 ))
                 .primaryKeyColumns(List.of(keyCol))
                 .build();
 
         assertThat(ignite.catalogManager().createTable(createTableParams), 
willBe(nullValue()));
 
-        int maxTimePrecision = TemporalColumnType.MAX_TIME_PRECISION;
+        int maxTimePrecision = CatalogUtils.MAX_TIME_PRECISION;
 
         TableDefinition schTblAll = 
SchemaBuilders.tableBuilder(DEFAULT_SCHEMA_NAME, 
TABLE_NAME_ALL_COLUMNS).columns(
                 SchemaBuilders.column(keyCol, ColumnType.INT64).build(),
@@ -337,7 +337,7 @@ public class PlatformTestNodeRunner {
                 .tableName(TABLE_NAME_ALL_COLUMNS)
                 .columns(List.of(
                         
ColumnParams.builder().name(keyCol).type(org.apache.ignite.sql.ColumnType.INT64).build(),
-                        
ColumnParams.builder().name("STR").type(org.apache.ignite.sql.ColumnType.STRING).length(0).nullable(true).build(),
+                        
ColumnParams.builder().name("STR").type(org.apache.ignite.sql.ColumnType.STRING).nullable(true).build(),
                         
ColumnParams.builder().name("INT8").type(org.apache.ignite.sql.ColumnType.INT8).nullable(true).build(),
                         
ColumnParams.builder().name("INT16").type(org.apache.ignite.sql.ColumnType.INT16).nullable(true).build(),
                         
ColumnParams.builder().name("INT32").type(org.apache.ignite.sql.ColumnType.INT32).nullable(true).build(),
@@ -360,7 +360,7 @@ public class PlatformTestNodeRunner {
                                 .nullable(true).build(),
                         
ColumnParams.builder().name("TIMESTAMP2").type(org.apache.ignite.sql.ColumnType.DATETIME).precision(4)
                                 .nullable(true).build(),
-                        
ColumnParams.builder().name("BLOB").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).length(0).nullable(true)
+                        
ColumnParams.builder().name("BLOB").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).nullable(true)
                                 .build(),
                         
ColumnParams.builder().name("DECIMAL").type(org.apache.ignite.sql.ColumnType.DECIMAL).precision(19).scale(3)
                                 .nullable(true).build()
@@ -402,7 +402,7 @@ public class PlatformTestNodeRunner {
                 .tableName(TABLE_NAME_ALL_COLUMNS_SQL)
                 .columns(List.of(
                         
ColumnParams.builder().name(keyCol).type(org.apache.ignite.sql.ColumnType.INT64).build(),
-                        
ColumnParams.builder().name("STR").type(org.apache.ignite.sql.ColumnType.STRING).length(0).nullable(true).build(),
+                        
ColumnParams.builder().name("STR").type(org.apache.ignite.sql.ColumnType.STRING).nullable(true).build(),
                         
ColumnParams.builder().name("INT8").type(org.apache.ignite.sql.ColumnType.INT8).nullable(true).build(),
                         
ColumnParams.builder().name("INT16").type(org.apache.ignite.sql.ColumnType.INT16).nullable(true).build(),
                         
ColumnParams.builder().name("INT32").type(org.apache.ignite.sql.ColumnType.INT32).nullable(true).build(),
@@ -423,7 +423,7 @@ public class PlatformTestNodeRunner {
                                 
.precision(maxTimePrecision).nullable(true).build(),
                         
ColumnParams.builder().name("TIMESTAMP2").type(org.apache.ignite.sql.ColumnType.TIMESTAMP)
                                 
.precision(maxTimePrecision).nullable(true).build(),
-                        
ColumnParams.builder().name("BLOB").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).length(0).nullable(true)
+                        
ColumnParams.builder().name("BLOB").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).nullable(true)
                                 .build(),
                         
ColumnParams.builder().name("DECIMAL").type(org.apache.ignite.sql.ColumnType.DECIMAL).precision(19).scale(3)
                                 .nullable(true).build()
@@ -501,8 +501,8 @@ public class PlatformTestNodeRunner {
 
         createTwoColumnTable(
                 ignite,
-                
ColumnParams.builder().name("KEY").type(org.apache.ignite.sql.ColumnType.STRING).length(0).build(),
-                
ColumnParams.builder().name("VAL").type(org.apache.ignite.sql.ColumnType.STRING).length(0).nullable(true).build()
+                
ColumnParams.builder().name("KEY").type(org.apache.ignite.sql.ColumnType.STRING).build(),
+                
ColumnParams.builder().name("VAL").type(org.apache.ignite.sql.ColumnType.STRING).nullable(true).build()
         );
 
         createTwoColumnTable(
@@ -538,8 +538,8 @@ public class PlatformTestNodeRunner {
 
         createTwoColumnTable(
                 ignite,
-                
ColumnParams.builder().name("KEY").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).length(0).build(),
-                
ColumnParams.builder().name("VAL").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).length(0).nullable(true)
+                
ColumnParams.builder().name("KEY").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).build(),
+                
ColumnParams.builder().name("VAL").type(org.apache.ignite.sql.ColumnType.BYTE_ARRAY).nullable(true)
                         .build()
         );
 
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 ef6bfcf166..0702740b87 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
@@ -182,13 +182,13 @@ public class ItMetadataTest extends 
ClusterPerClassIntegrationTest {
                         // Character string types
                         new 
MetadataMatcher().name("CHAR_C").type(ColumnType.STRING).precision(1).scale(UNDEFINED_SCALE),
                         new 
MetadataMatcher().name("CHAR_C2").type(ColumnType.STRING).precision(65536).scale(UNDEFINED_SCALE),
-                        new 
MetadataMatcher().name("VARCHAR_C").type(ColumnType.STRING).precision(65536).scale(UNDEFINED_SCALE),
+                        new 
MetadataMatcher().name("VARCHAR_C").type(ColumnType.STRING).precision(65535).scale(UNDEFINED_SCALE),
                         new 
MetadataMatcher().name("VARCHAR_C2").type(ColumnType.STRING).precision(125).scale(UNDEFINED_SCALE),
 
                         // Binary string types
                         new 
MetadataMatcher().name("BINARY_C").type(ColumnType.BYTE_ARRAY).precision(1).scale(UNDEFINED_SCALE),
                         new 
MetadataMatcher().name("BINARY_C2").type(ColumnType.BYTE_ARRAY).precision(65536).scale(UNDEFINED_SCALE),
-                        new 
MetadataMatcher().name("VARBINARY_C").type(ColumnType.BYTE_ARRAY).precision(65536).scale(UNDEFINED_SCALE),
+                        new 
MetadataMatcher().name("VARBINARY_C").type(ColumnType.BYTE_ARRAY).precision(65535).scale(UNDEFINED_SCALE),
                         new 
MetadataMatcher().name("VARBINARY_C2").type(ColumnType.BYTE_ARRAY).precision(125).scale(UNDEFINED_SCALE),
 
                         // Datetime types
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 1a4b241bdc..281f6e977c 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
@@ -812,8 +812,8 @@ public class ItSecondaryIndexTest extends 
ClusterPerClassIntegrationTest {
         assertQuery("SELECT id FROM Birthday WHERE name BETWEEN 'B' AND 'D' 
AND name > ?")
                 .withParams("Bach")
                 .matches(containsIndexScan("PUBLIC", "BIRTHDAY", 
NAME_DATE_IDX))
-                .matches(containsString("searchBounds=[[RangeBounds 
[lowerBound=$GREATEST2(_UTF-8'B':VARCHAR(65536) "
-                        + "CHARACTER SET \"UTF-8\", ?0), 
upperBound=_UTF-8'D':VARCHAR(65536) CHARACTER SET \"UTF-8\""))
+                .matches(containsString("searchBounds=[[RangeBounds 
[lowerBound=$GREATEST2(_UTF-8'B':VARCHAR(65535) "
+                        + "CHARACTER SET \"UTF-8\", ?0), 
upperBound=_UTF-8'D':VARCHAR(65535) CHARACTER SET \"UTF-8\""))
                 .returns(2)
                 .returns(6)
                 .check();
diff --git 
a/modules/schema/src/testFixtures/java/org/apache/ignite/internal/schema/testutils/definition/ColumnType.java
 
b/modules/schema/src/testFixtures/java/org/apache/ignite/internal/schema/testutils/definition/ColumnType.java
index ba31be461e..c1b85a0298 100644
--- 
a/modules/schema/src/testFixtures/java/org/apache/ignite/internal/schema/testutils/definition/ColumnType.java
+++ 
b/modules/schema/src/testFixtures/java/org/apache/ignite/internal/schema/testutils/definition/ColumnType.java
@@ -17,8 +17,9 @@
 
 package org.apache.ignite.internal.schema.testutils.definition;
 
+import static 
org.apache.ignite.internal.catalog.commands.CatalogUtils.DEFAULT_VARLEN_LENGTH;
+
 import java.util.Objects;
-import org.apache.ignite.internal.catalog.commands.CatalogUtils;
 
 /**
  * Predefined column types.
@@ -259,10 +260,10 @@ public class ColumnType {
      */
     public static class VarLenColumnType extends ColumnType {
         /** String varlen type of unlimited length. */
-        private static final VarLenColumnType UNLIMITED_STRING = new 
VarLenColumnType(ColumnTypeSpec.STRING, CatalogUtils.MAX_LENGTH);
+        private static final VarLenColumnType UNLIMITED_STRING = new 
VarLenColumnType(ColumnTypeSpec.STRING, DEFAULT_VARLEN_LENGTH);
 
         /** Blob varlen type of unlimited length. */
-        private static final VarLenColumnType UNLIMITED_BLOB = new 
VarLenColumnType(ColumnTypeSpec.BYTES,  CatalogUtils.MAX_LENGTH);
+        private static final VarLenColumnType UNLIMITED_BLOB = new 
VarLenColumnType(ColumnTypeSpec.BYTES,  DEFAULT_VARLEN_LENGTH);
 
         /** Max length. */
         private final int length;
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java
index 390d9be156..4e399ab247 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/type/IgniteTypeFactory.java
@@ -261,12 +261,12 @@ public class IgniteTypeFactory extends 
JavaTypeFactoryImpl {
             case VARCHAR:
             case CHAR:
                 return relType.getPrecision() == PRECISION_NOT_SPECIFIED
-                        ? NativeTypes.stringOf(CatalogUtils.MAX_LENGTH)
+                        ? 
NativeTypes.stringOf(CatalogUtils.DEFAULT_VARLEN_LENGTH)
                         : NativeTypes.stringOf(relType.getPrecision());
             case BINARY:
             case VARBINARY:
                 return relType.getPrecision() == PRECISION_NOT_SPECIFIED
-                        ? NativeTypes.blobOf(CatalogUtils.MAX_LENGTH)
+                        ? 
NativeTypes.blobOf(CatalogUtils.DEFAULT_VARLEN_LENGTH)
                         : NativeTypes.blobOf(relType.getPrecision());
             case ANY:
                 if (relType instanceof IgniteCustomType) {

Reply via email to