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:52 UTC
[ignite-3] 01/01: wip.
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) {