You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2022/06/29 14:51:51 UTC

[ignite-3] branch ignite-17203 created (now 40b098d34)

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

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


      at 40b098d34 wip.

This branch includes the following new commits:

     new 40b098d34 wip.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[ignite-3] 01/01: wip.

Posted by am...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 40b098d34bdbfa1c68330e730c0a826014690d44
Author: Andrew V. Mashenkov <an...@gmail.com>
AuthorDate: Wed Jun 29 17:51:36 2022 +0300

    wip.
---
 .../main/java/org/apache/ignite/sql/ColumnMetadata.java |  6 ++++++
 .../internal/runner/app/client/ItThinClientSqlTest.java |  5 ++---
 .../internal/sql/api/ItSqlAsynchronousApiTest.java      | 17 +++++++++++++++--
 .../sql/engine/AbstractBasicIntegrationTest.java        |  2 ++
 4 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/modules/api/src/main/java/org/apache/ignite/sql/ColumnMetadata.java b/modules/api/src/main/java/org/apache/ignite/sql/ColumnMetadata.java
index 544bb8c48..06af35241 100644
--- a/modules/api/src/main/java/org/apache/ignite/sql/ColumnMetadata.java
+++ b/modules/api/src/main/java/org/apache/ignite/sql/ColumnMetadata.java
@@ -23,6 +23,12 @@ import org.jetbrains.annotations.Nullable;
  * Interface that provides methods for accessing column metadata.
  */
 public interface ColumnMetadata {
+    /** Undefined precision value. */
+    int UNDEFINED_PRECISION = -1;
+
+    /** Undefined scale value. */
+    int UNDEFINED_SCALE = Integer.MIN_VALUE;
+
     /**
      * Return column name in the result set.
      *
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
index 6a4092291..739b7f08d 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientSqlTest.java
@@ -208,9 +208,8 @@ public class ItThinClientSqlTest extends ItAbstractThinClientTest {
         assertEquals(String.class, columns.get(0).valueClass());
         assertEquals(SqlColumnType.STRING, columns.get(0).type());
 
-        // TODO IGNITE-17203
-        // assertEquals(-1, columns.get(0).scale());
-        // assertEquals(-1, columns.get(0).precision());
+        assertEquals(ColumnMetadata.UNDEFINED_SCALE, columns.get(0).scale());
+        assertEquals(2 << 15, columns.get(0).precision());
 
         assertEquals("ID", columns.get(1).name());
         assertEquals("ID", columns.get(1).origin().columnName());
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlAsynchronousApiTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlAsynchronousApiTest.java
index 2f45a0a77..d0ed2179c 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlAsynchronousApiTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlAsynchronousApiTest.java
@@ -53,6 +53,7 @@ import org.apache.ignite.lang.IndexAlreadyExistsException;
 import org.apache.ignite.lang.TableAlreadyExistsException;
 import org.apache.ignite.lang.TableNotFoundException;
 import org.apache.ignite.sql.BatchedArguments;
+import org.apache.ignite.sql.ColumnMetadata;
 import org.apache.ignite.sql.IgniteSql;
 import org.apache.ignite.sql.ResultSetMetadata;
 import org.apache.ignite.sql.Session;
@@ -224,9 +225,21 @@ public class ItSqlAsynchronousApiTest extends AbstractBasicIntegrationTest {
         assertEquals(0, meta.indexOf("COL1"));
         assertEquals(1, meta.indexOf("COL0"));
 
-        checkMetadata(new ColumnMetadataImpl("COL1", SqlColumnType.STRING, 0, 0, false, new ColumnOriginImpl("PUBLIC", "TEST", "COL1")),
+        checkMetadata(new ColumnMetadataImpl(
+                        "COL1",
+                        SqlColumnType.STRING,
+                        2 << 15,
+                        ColumnMetadata.UNDEFINED_SCALE,
+                        false,
+                        new ColumnOriginImpl("PUBLIC", "TEST", "COL1")),
                 meta.columns().get(0));
-        checkMetadata(new ColumnMetadataImpl("COL0", SqlColumnType.INT64, 0, 0, false, new ColumnOriginImpl("PUBLIC", "TEST", "COL0")),
+        checkMetadata(new ColumnMetadataImpl(
+                        "COL0",
+                        SqlColumnType.INT64,
+                        19,
+                        0,
+                        false,
+                        new ColumnOriginImpl("PUBLIC", "TEST", "COL0")),
                 meta.columns().get(1));
 
         // Validate result columns types.
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 df158e35f..4e62dbfd3 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
@@ -296,6 +296,8 @@ public class AbstractBasicIntegrationTest extends BaseIgniteAbstractTest {
                 () -> assertEquals(expectedMeta.name(), actualMeta.name(), "name"),
                 () -> assertEquals(expectedMeta.nullable(), actualMeta.nullable(), "nullable"),
                 () -> assertSame(expectedMeta.type(), actualMeta.type(), "type"),
+                () -> assertEquals(expectedMeta.precision(), actualMeta.precision(), "precision"),
+                () -> assertEquals(expectedMeta.scale(), actualMeta.scale(), "scale"),
                 () -> assertSame(expectedMeta.valueClass(), actualMeta.valueClass(), "value class"),
                 () -> {
                     if (expectedMeta.origin() == null) {