You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by tl...@apache.org on 2021/04/21 14:30:54 UTC

[ignite] branch sql-calcite updated: IGNITE-14590 Calcite engine. Sort out the types/decimal and types/string directories

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

tledkov pushed a commit to branch sql-calcite
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/sql-calcite by this push:
     new 021452d  IGNITE-14590 Calcite engine. Sort out the types/decimal and types/string directories
021452d is described below

commit 021452dfcff8ea4854884c4178baacde7bb75218
Author: korlov42 <ko...@gridgain.com>
AuthorDate: Wed Apr 21 17:30:31 2021 +0300

    IGNITE-14590 Calcite engine. Sort out the types/decimal and types/string directories
---
 .../query/calcite/externalize/RelJsonReader.java   |  6 ++-
 .../query/calcite/prepare/IgniteSqlValidator.java  |  7 +++
 .../query/calcite/logical/ScriptTestRunner.java    |  7 ++-
 .../query/calcite/logical/SqlScriptRunner.java     |  3 +-
 .../test/sql/types/decimal/cast_from_decimal.test  | 18 -------
 ...decimal.test => cast_from_decimal.test_ignored} |  1 +
 .../test/sql/types/decimal/cast_to_decimal.test    | 60 +++-------------------
 ...o_decimal.test => cast_to_decimal.test_ignored} |  1 +
 .../test/sql/types/decimal/decimal_aggregates.test | 48 ++---------------
 ...egates.test => decimal_aggregates.test_ignored} |  4 ++
 .../test/sql/types/decimal/decimal_arithmetic.test | 41 ++++++---------
 ...hmetic.test => decimal_arithmetic.test_ignored} |  1 +
 .../sql/types/decimal/large_decimal_constants.test | 21 --------
 ...s.test => large_decimal_constants.test_ignored} |  1 +
 ...test_decimal.test => test_decimal.test_ignored} |  2 +
 .../test/sql/types/decimal/test_decimal_ops.test   | 21 ++------
 ...imal_ops.test => test_decimal_ops.test_ignored} |  1 +
 .../test/sql/types/string/test_big_strings.test    |  8 +--
 .../types/string/test_scan_big_varchar.test_slow   | 56 ++++++--------------
 ...low => test_scan_big_varchar.test_slow_ignored} | 33 ++++++------
 ...test_unicode.test => test_unicode.test_ignored} |  1 +
 21 files changed, 96 insertions(+), 245 deletions(-)

diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java
index 3461d89..10aea34f 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/externalize/RelJsonReader.java
@@ -26,6 +26,7 @@ import java.util.Map;
 import java.util.function.Function;
 
 import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.ImmutableList;
 import org.apache.calcite.plan.RelOptCluster;
@@ -57,6 +58,9 @@ public class RelJsonReader {
         new TypeReference<LinkedHashMap<String, Object>>() {};
 
     /** */
+    private final ObjectMapper mapper = new ObjectMapper().enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);
+
+    /** */
     private final RelOptCluster cluster;
 
     /** */
@@ -90,7 +94,7 @@ public class RelJsonReader {
     public RelNode read(String s) {
         try {
             lastRel = null;
-            Map<String, Object> o = new ObjectMapper().readValue(s, TYPE_REF);
+            Map<String, Object> o = mapper.readValue(s, TYPE_REF);
             List<Map<String, Object>> rels = (List)o.get("rels");
             readRels(rels);
             return lastRel;
diff --git a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgniteSqlValidator.java b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgniteSqlValidator.java
index 0eb189d5..ac46fe4 100644
--- a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgniteSqlValidator.java
+++ b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/prepare/IgniteSqlValidator.java
@@ -44,6 +44,7 @@ import org.apache.calcite.sql.SqlUpdate;
 import org.apache.calcite.sql.SqlUtil;
 import org.apache.calcite.sql.dialect.CalciteSqlDialect;
 import org.apache.calcite.sql.parser.SqlParserPos;
+import org.apache.calcite.sql.type.SqlTypeName;
 import org.apache.calcite.sql.validate.SelectScope;
 import org.apache.calcite.sql.validate.SqlValidator;
 import org.apache.calcite.sql.validate.SqlValidatorImpl;
@@ -120,6 +121,12 @@ public class IgniteSqlValidator extends SqlValidatorImpl {
     }
 
     /** {@inheritDoc} */
+    @Override public void validateLiteral(SqlLiteral literal) {
+        if (literal.getTypeName() != SqlTypeName.DECIMAL)
+            super.validateLiteral(literal);
+    }
+
+    /** {@inheritDoc} */
     @Override protected SqlSelect createSourceSelectForUpdate(SqlUpdate call) {
         final SqlNodeList selectList = SqlNodeList.of(
             new SqlIdentifier(QueryUtils.KEY_FIELD_NAME, SqlParserPos.ZERO),
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/ScriptTestRunner.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/ScriptTestRunner.java
index 3cf36da..646ecc1 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/ScriptTestRunner.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/ScriptTestRunner.java
@@ -139,7 +139,12 @@ public class ScriptTestRunner extends Runner {
 
     /** */
     private void runTest(Path test, RunNotifier notifier) {
-        String dirName = test.subpath(scriptsRoot.getNameCount(), test.getNameCount() - 1).toString();
+        String dirName;
+        if (test.getNameCount() - 1 > scriptsRoot.getNameCount())
+            dirName = test.subpath(scriptsRoot.getNameCount(), test.getNameCount() - 1).toString();
+        else
+            dirName = scriptsRoot.subpath(scriptsRoot.getNameCount() - 1, scriptsRoot.getNameCount()).toString();
+
         String fileName = test.getFileName().toString();
 
         if (
diff --git a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/SqlScriptRunner.java b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/SqlScriptRunner.java
index 12515cb..66493d1 100644
--- a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/SqlScriptRunner.java
+++ b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/logical/SqlScriptRunner.java
@@ -315,7 +315,6 @@ public class SqlScriptRunner {
         }
     }
 
-
     /** */
     private class Statement extends Command {
         /** */
@@ -540,7 +539,7 @@ public class SqlScriptRunner {
 
                 if (row.size() != expectedRow.size()) {
                     throw new AssertionError("Invalid columns count at " + posDesc +
-                        ". [expected=" + expectedRes + ", actual=" + res+ ']');
+                        ". [expected=" + expectedRes + ", actual=" + res + ']');
                 }
 
                 for (int j = 0; j < expectedRow.size(); ++j) {
diff --git a/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test b/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test
index 22dc988..fd82ca4 100644
--- a/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test
+++ b/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test
@@ -58,21 +58,3 @@ SELECT 127::DECIMAL(3,0)::BIGINT, -9223372036854775807::DECIMAL(19,0)::BIGINT, -
 
 statement error
 SELECT 14751947891758972421513::DECIMAL(38,0)::BIGINT
-
-# hugeint
-query IIIII
-SELECT 127::DECIMAL(3,0)::HUGEINT, -17014118346046923173168730371588410572::DECIMAL(38,0)::HUGEINT, -7::DECIMAL(9,1)::HUGEINT, 27::DECIMAL(18,1)::HUGEINT, 33::DECIMAL(38,1)::HUGEINT
-----
-127	-17014118346046923173168730371588410572	-7	27	33
-
-# float
-query IIIII
-SELECT 127::DECIMAL(3,0)::FLOAT, -17014118346046923173168730371588410572::DECIMAL(38,0)::FLOAT, -7::DECIMAL(9,1)::FLOAT, 27::DECIMAL(18,1)::FLOAT, 33::DECIMAL(38,1)::FLOAT
-----
-127	-17014118346046923173168730371588410572	-7	27	33
-
-# double
-query IIIII
-SELECT 127::DECIMAL(3,0)::DOUBLE, -17014118346046923173168730371588410572::DECIMAL(38,0)::DOUBLE, -7::DECIMAL(9,1)::DOUBLE, 27::DECIMAL(18,1)::DOUBLE, 33::DECIMAL(38,1)::DOUBLE
-----
-127	-17014118346046923173168730371588410572	-7	27	33
diff --git a/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test b/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test_ignored
similarity index 97%
copy from modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test
copy to modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test_ignored
index 22dc988..9d92c8e 100644
--- a/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test
+++ b/modules/calcite/src/test/sql/types/decimal/cast_from_decimal.test_ignored
@@ -1,6 +1,7 @@
 # name: test/sql/types/decimal/cast_from_decimal.test
 # description: Test casting from decimal to numeric
 # group: [decimal]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14589
 
 statement ok
 PRAGMA enable_verification
diff --git a/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test b/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test
index 5ef5c13..603c182 100644
--- a/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test
+++ b/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test
@@ -130,64 +130,16 @@ SELECT 100::BIGINT::DECIMAL(9,7)
 statement error
 SELECT 100::BIGINT::DECIMAL(38,37)
 
-# hugeint
-query IIII
-SELECT 100::HUGEINT::DECIMAL(18,3), 100::HUGEINT::DECIMAL(3,0), (-100)::HUGEINT::DECIMAL(3,0), 0::HUGEINT::DECIMAL(3,3)
-----
-100	100	-100	0
-
-query IIII
-SELECT 100::HUGEINT::DECIMAL(38,35), 100::HUGEINT::DECIMAL(9,6), 17014118346046923173168730371588410572::HUGEINT::DECIMAL(38,0), (-17014118346046923173168730371588410572)::HUGEINT::DECIMAL(38,0)
-----
-100	100	17014118346046923173168730371588410572	-17014118346046923173168730371588410572
-
-# overflow
-statement error
-SELECT 100::HUGEINT::DECIMAL(3,1)
-
-statement error
-SELECT 10000000::HUGEINT::DECIMAL(3,1)
-
-statement error
-SELECT -10000000::HUGEINT::DECIMAL(3,1)
-
-statement error
-SELECT 1::HUGEINT::DECIMAL(3,3)
-
-statement error
-SELECT 100::HUGEINT::DECIMAL(18,17)
-
-statement error
-SELECT 100::HUGEINT::DECIMAL(9,7)
-
-statement error
-SELECT 100::HUGEINT::DECIMAL(38,37)
-
-statement error
-SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(38,1)
-
-statement error
-SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(37,0)
-
-statement error
-SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(18,0)
-
-statement error
-SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(9,0)
-
-statement error
-SELECT 17014118346046923173168730371588410572::HUGEINT::DECIMAL(4,0)
-
 # float
 query IIII
 SELECT 100::FLOAT::DECIMAL(18,3), 100::FLOAT::DECIMAL(3,0), (-100)::FLOAT::DECIMAL(3,0), 0::FLOAT::DECIMAL(3,3)
 ----
 100	100	-100	0
 
-query RRRR
-SELECT 100::FLOAT::DECIMAL(38,35)::FLOAT, 100::FLOAT::DECIMAL(9,6)::FLOAT, 17014118346046923173168730371588410572::FLOAT::DECIMAL(38,0)::FLOAT, (-17014118346046923173168730371588410572)::FLOAT::DECIMAL(38,0)::FLOAT
+query RR
+SELECT 100::FLOAT::DECIMAL(38,35)::FLOAT, 100::FLOAT::DECIMAL(9,6)::FLOAT
 ----
-100	100	17014118346046923173168730371588410572	-17014118346046923173168730371588410572
+100	100
 
 query I
 SELECT 1.25::FLOAT::DECIMAL(3,2)
@@ -237,10 +189,10 @@ SELECT 100::DOUBLE::DECIMAL(18,3), 100::DOUBLE::DECIMAL(3,0), (-100)::DOUBLE::DE
 ----
 100	100	-100	0
 
-query RRRR
-SELECT 100::DOUBLE::DECIMAL(38,35)::DOUBLE, 100::DOUBLE::DECIMAL(9,6)::DOUBLE, 17014118346046923173168730371588410572::DOUBLE::DECIMAL(38,0)::DOUBLE, (-17014118346046923173168730371588410572)::DOUBLE::DECIMAL(38,0)::DOUBLE
+query RR
+SELECT 100::DOUBLE::DECIMAL(38,35)::DOUBLE, 100::DOUBLE::DECIMAL(9,6)::DOUBLE
 ----
-100	100	17014118346046923173168730371588410572	-17014118346046923173168730371588410572
+100	100
 
 query I
 SELECT 1.25::DOUBLE::DECIMAL(3,2)
diff --git a/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test b/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test_ignored
similarity index 99%
copy from modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test
copy to modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test_ignored
index 5ef5c13..bf822f4 100644
--- a/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test
+++ b/modules/calcite/src/test/sql/types/decimal/cast_to_decimal.test_ignored
@@ -1,6 +1,7 @@
 # name: test/sql/types/decimal/cast_to_decimal.test
 # description: Test casting from numeric to decimal
 # group: [decimal]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14589
 
 statement ok
 PRAGMA enable_verification
diff --git a/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test b/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test
index 0120837..61ee0f9 100644
--- a/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test
+++ b/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test
@@ -5,26 +5,6 @@
 statement ok
 PRAGMA enable_verification
 
-query I
-SELECT typeof(FIRST('0.1'::DECIMAL(4,1)))
-----
-DECIMAL(4,1)
-
-# scalar aggregates
-# first
-query IIIII
-SELECT FIRST(NULL::DECIMAL),
-       FIRST('0.1'::DECIMAL(4,1))::VARCHAR,
-       FIRST('4938245.1'::DECIMAL(9,1))::VARCHAR,
-       FIRST('45672564564938245.1'::DECIMAL(18,1))::VARCHAR,
-       FIRST('4567645908450368043562342564564938245.1'::DECIMAL(38,1))::VARCHAR
-----
-NULL
-0.1
-4938245.1
-45672564564938245.1
-4567645908450368043562342564564938245.1
-
 # min
 query IIIII
 SELECT MIN(NULL::DECIMAL),
@@ -34,7 +14,7 @@ SELECT MIN(NULL::DECIMAL),
        MIN('4567645908450368043562342564564938245.1'::DECIMAL(38,1))::VARCHAR
 ----
 NULL
-0.1
+.1
 4938245.1
 45672564564938245.1
 4567645908450368043562342564564938245.1
@@ -47,7 +27,7 @@ SELECT MAX(NULL::DECIMAL),
        MAX('4567645908450368043562342564564938245.1'::DECIMAL(38,1))::VARCHAR
 ----
 NULL
-0.1
+.1
 4938245.1
 45672564564938245.1
 4567645908450368043562342564564938245.1
@@ -61,30 +41,8 @@ SELECT SUM(NULL::DECIMAL),
        SUM('4567645908450368043562342564564938245.1'::DECIMAL(38,1))::VARCHAR
 ----
 NULL
-0.1
+.1
 4938245.1
 45672564564938245.1
 4567645908450368043562342564564938245.1
 
-# decimal aggregates over a table
-statement ok
-CREATE TABLE decimals AS SELECT i::DECIMAL(4,1) AS d1, (i * i)::DECIMAL(9,1) AS d2, (i * i * i)::DECIMAL(18,1) AS d3, (i * i * i * i)::DECIMAL(38,1) AS d4 FROM range(1000) tbl(i);
-
-query IIII
-SELECT SUM(d1)::VARCHAR, SUM(d2)::VARCHAR, SUM(d3)::VARCHAR, SUM(d4)::VARCHAR FROM decimals;
-----
-499500.0
-332833500.0
-249500250000.0
-199500333333300.0
-
-statement ok
-INSERT INTO decimals VALUES ('0.1', '0.1', '0.1', '0.1'), ('0.2', '0.2', '0.2', '0.2')
-
-query IIII
-SELECT SUM(d1)::VARCHAR, SUM(d2)::VARCHAR, SUM(d3)::VARCHAR, SUM(d4)::VARCHAR FROM decimals;
-----
-499500.3
-332833500.3
-249500250000.3
-199500333333300.3
diff --git a/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test b/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test_ignored
similarity index 90%
copy from modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test
copy to modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test_ignored
index 0120837..6e35e05 100644
--- a/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test
+++ b/modules/calcite/src/test/sql/types/decimal/decimal_aggregates.test_ignored
@@ -1,6 +1,10 @@
 # name: test/sql/types/decimal/decimal_aggregates.test
 # description: Test decimal aggregates
 # group: [decimal]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14589
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14555
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14596
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14597
 
 statement ok
 PRAGMA enable_verification
diff --git a/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test b/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test
index c15f133..cc9947a 100644
--- a/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test
+++ b/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test
@@ -62,44 +62,40 @@ statement error
 SELECT ('0.54321543215432154321543215432154321'::DECIMAL(35,35) + 10000)::VARCHAR
 
 # different types
-query IIIII
+query IIII
 SELECT '0.5'::DECIMAL(1,1) + 1::TINYINT,
        '0.5'::DECIMAL(1,1) + 1::SMALLINT,
        '0.5'::DECIMAL(1,1) + 1::INTEGER,
-       '0.5'::DECIMAL(1,1) + 1::BIGINT,
-       '0.5'::DECIMAL(1,1) + 1::HUGEINT
+       '0.5'::DECIMAL(1,1) + 1::BIGINT
 ----
-1.5	1.5	1.5	1.5	1.5
+1.5	1.5	1.5	1.5
 
 # negative numbers
-query IIIII
+query IIII
 SELECT '0.5'::DECIMAL(1,1) + -1::TINYINT,
        '0.5'::DECIMAL(1,1) + -1::SMALLINT,
        '0.5'::DECIMAL(1,1) + -1::INTEGER,
-       '0.5'::DECIMAL(1,1) + -1::BIGINT,
-       '0.5'::DECIMAL(1,1) + -1::HUGEINT
+       '0.5'::DECIMAL(1,1) + -1::BIGINT
 ----
--0.5	-0.5	-0.5	-0.5	-0.5
+-0.5	-0.5	-0.5	-0.5
 
 # subtract
-query IIIII
+query IIII
 SELECT '0.5'::DECIMAL(1,1) - 1::TINYINT,
        '0.5'::DECIMAL(1,1) - 1::SMALLINT,
        '0.5'::DECIMAL(1,1) - 1::INTEGER,
-       '0.5'::DECIMAL(1,1) - 1::BIGINT,
-       '0.5'::DECIMAL(1,1) - 1::HUGEINT
+       '0.5'::DECIMAL(1,1) - 1::BIGINT
 ----
--0.5	-0.5	-0.5	-0.5	-0.5
+-0.5	-0.5	-0.5	-0.5
 
 # negative numbers
-query IIIII
+query IIII
 SELECT '0.5'::DECIMAL(1,1) - -1::TINYINT,
        '0.5'::DECIMAL(1,1) - -1::SMALLINT,
        '0.5'::DECIMAL(1,1) - -1::INTEGER,
-       '0.5'::DECIMAL(1,1) - -1::BIGINT,
-       '0.5'::DECIMAL(1,1) - -1::HUGEINT
+       '0.5'::DECIMAL(1,1) - -1::BIGINT
 ----
-1.5	1.5	1.5	1.5	1.5
+1.5	1.5	1.5	1.5
 
 # now with a table
 statement ok
@@ -109,7 +105,7 @@ statement ok
 INSERT INTO decimals VALUES ('0.1'), ('0.2');
 
 query II
-SELECT d + '0.1'::DECIMAL, d + 10000 FROM decimals;
+SELECT d + '0.1'::DECIMAL, d + 10000 FROM decimals ORDER BY d;
 ----
 0.2	10000.1
 0.3	10000.2
@@ -121,11 +117,6 @@ SELECT '0.1'::DECIMAL * '10.0'::DECIMAL
 1.0
 
 query I
-SELECT typeof('0.1'::DECIMAL(2,1) * '10.0'::DECIMAL(3,1))
-----
-DECIMAL(5,2)
-
-query I
 SELECT '0.1'::DECIMAL * '0.1'::DECIMAL
 ----
 0.01
@@ -155,18 +146,16 @@ SELECT ('18.25'::DECIMAL(4,2) * '17.25'::DECIMAL(4,2))::VARCHAR
 314.8125
 
 # different types
-query IIIII
+query IIII
 SELECT '0.001'::DECIMAL * 100::TINYINT,
        '0.001'::DECIMAL * 10000::SMALLINT,
        '0.001'::DECIMAL * 1000000::INTEGER,
-       '0.001'::DECIMAL * 100000000::BIGINT,
-       '0.001'::DECIMAL * 10000000000::HUGEINT
+       '0.001'::DECIMAL * 100000000::BIGINT
 ----
 0.100
 10.000
 1000.000
 100000.000
-10000000.000
 
 # multiplication could not be performed exactly: throw error
 statement error
diff --git a/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test b/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test_ignored
similarity index 98%
copy from modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test
copy to modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test_ignored
index c15f133..dd04391 100644
--- a/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test
+++ b/modules/calcite/src/test/sql/types/decimal/decimal_arithmetic.test_ignored
@@ -1,6 +1,7 @@
 # name: test/sql/types/decimal/decimal_arithmetic.test
 # description: Test basic decimals
 # group: [decimal]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14596
 
 statement ok
 PRAGMA enable_verification
diff --git a/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test b/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test
index 6737103..953e64b 100644
--- a/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test
+++ b/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test
@@ -11,16 +11,6 @@ SELECT 42.1, -10239814.1, 1049185157.12345, 102398294123451814.12345, -492384092
 102398294123451814.12345
 -49238409238403918140294812084.12490812490
 
-query IIIII
-SELECT typeof(42.1), typeof(-10239814.1), typeof(1049185157.12345), typeof(102398294123451814.12345), typeof(-49238409238403918140294812084.12490812490)
-----
-DECIMAL(3,1)
-DECIMAL(9,1)
-DECIMAL(15,5)
-DECIMAL(23,5)
-DOUBLE
-
-
 query IIIIII
 SELECT 42., 42e3, 4.23e1, 10e20, .34, - 2.3
 ----
@@ -30,14 +20,3 @@ SELECT 42., 42e3, 4.23e1, 10e20, .34, - 2.3
 1000000000000000000000
 0.34
 -2.3
-
-query IIIIIII
-SELECT typeof(42.), typeof(42e3), typeof(4.23e1), typeof(10e20), typeof(.34), typeof(-2.3), typeof(10e100)
-----
-DECIMAL(2,0)
-DOUBLE
-DOUBLE
-DOUBLE
-DECIMAL(2,2)
-DECIMAL(2,1)
-DOUBLE
diff --git a/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test b/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test_ignored
similarity index 93%
copy from modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test
copy to modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test_ignored
index 6737103..660c493 100644
--- a/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test
+++ b/modules/calcite/src/test/sql/types/decimal/large_decimal_constants.test_ignored
@@ -1,6 +1,7 @@
 # name: test/sql/types/decimal/large_decimal_constants.test
 # description: Test large decimal constants
 # group: [decimal]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14596
 
 query IIIII
 SELECT 42.1, -10239814.1, 1049185157.12345, 102398294123451814.12345, -49238409238403918140294812084.12490812490
diff --git a/modules/calcite/src/test/sql/types/decimal/test_decimal.test b/modules/calcite/src/test/sql/types/decimal/test_decimal.test_ignored
similarity index 95%
rename from modules/calcite/src/test/sql/types/decimal/test_decimal.test
rename to modules/calcite/src/test/sql/types/decimal/test_decimal.test_ignored
index 8ae66c1..aa7dc7c 100644
--- a/modules/calcite/src/test/sql/types/decimal/test_decimal.test
+++ b/modules/calcite/src/test/sql/types/decimal/test_decimal.test_ignored
@@ -1,6 +1,8 @@
 # name: test/sql/types/decimal/test_decimal.test
 # description: Test basic decimals
 # group: [decimal]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14596
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14589
 
 statement ok
 PRAGMA enable_verification
diff --git a/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test b/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test
index 6e551e2..e663a13 100644
--- a/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test
+++ b/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test
@@ -13,7 +13,7 @@ INSERT INTO decimals VALUES ('0.1'), ('0.2');
 
 # basic projection
 query I
-SELECT * FROM decimals
+SELECT * FROM decimals ORDER BY d
 ----
 0.1
 0.2
@@ -33,14 +33,14 @@ SELECT * FROM decimals WHERE d='0.1'::DECIMAL(3,2)
 
 # greater than equals
 query I
-SELECT * FROM decimals WHERE d>='0.1'::DECIMAL(3,2)
+SELECT * FROM decimals WHERE d>='0.1'::DECIMAL(3,2) ORDER BY d
 ----
 0.1
 0.2
 
 # what about if we use different decimal scales?
 query I
-SELECT * FROM decimals WHERE d='0.1'::DECIMAL(9,5)
+SELECT * FROM decimals WHERE d='0.1'::DECIMAL(9,5) ORDER BY d
 ----
 0.1
 
@@ -66,11 +66,6 @@ SELECT * FROM decimals WHERE d > '0.1'::DECIMAL(9,1) ORDER BY 1
 0.2
 0.21
 
-query I
-DELETE FROM decimals WHERE d <> d::DECIMAL(9,1)
-----
-2
-
 #
 # test ABS function
 query III
@@ -165,7 +160,7 @@ SELECT ROUND('-999.9'::DECIMAL(4,1)), ROUND('-99999999.9'::DECIMAL(9,1)), ROUND(
 -1000	-100000000	-100000000000000000	-10000000000000000000000000000000000000
 
 # round with precision
-query IIIIIIIIIIIII
+query IIIIIIIIIIII
 SELECT ROUND('100.3908147521'::DECIMAL(18,10), 0)::VARCHAR,
 	   ROUND('100.3908147521'::DECIMAL(18,10), 1)::VARCHAR,
 	   ROUND('100.3908147521'::DECIMAL(18,10), 2)::VARCHAR,
@@ -177,7 +172,6 @@ SELECT ROUND('100.3908147521'::DECIMAL(18,10), 0)::VARCHAR,
 	   ROUND('100.3908147521'::DECIMAL(18,10), 8)::VARCHAR,
 	   ROUND('100.3908147521'::DECIMAL(18,10), 9)::VARCHAR,
 	   ROUND('100.3908147521'::DECIMAL(18,10), 10)::VARCHAR,
-	   ROUND('100.3908147521'::DECIMAL(18,10), 100000)::VARCHAR,
 	   ROUND(NULL::DECIMAL, 0)
 ----
 100
@@ -191,7 +185,6 @@ SELECT ROUND('100.3908147521'::DECIMAL(18,10), 0)::VARCHAR,
 100.39081475
 100.390814752
 100.3908147521
-100.3908147521
 NULL
 
 # negative precision
@@ -240,12 +233,6 @@ SELECT ROUND('1049578239572094512.32415'::DECIMAL(30,10), 0)::VARCHAR,
 0
 0
 
-# printf
-query I
-SELECT printf('%.2f', '0.12345'::DECIMAL(30,10))
-----
-0.12
-
 # use decimal in subquery
 query I
 SELECT (SELECT '1.0'::DECIMAL(2,1));
diff --git a/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test b/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test_ignored
similarity index 99%
copy from modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test
copy to modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test_ignored
index 6e551e2..fb14e82 100644
--- a/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test
+++ b/modules/calcite/src/test/sql/types/decimal/test_decimal_ops.test_ignored
@@ -1,6 +1,7 @@
 # name: test/sql/types/decimal/test_decimal_ops.test
 # description: Test various operations with decimals
 # group: [decimal]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14589
 
 statement ok
 PRAGMA enable_verification
diff --git a/modules/calcite/src/test/sql/types/string/test_big_strings.test b/modules/calcite/src/test/sql/types/string/test_big_strings.test
index 5037d79..f594079 100644
--- a/modules/calcite/src/test/sql/types/string/test_big_strings.test
+++ b/modules/calcite/src/test/sql/types/string/test_big_strings.test
@@ -11,16 +11,16 @@ INSERT INTO test VALUES ('aaaaaaaaaa')
 
 # sizes: 10, 100, 1000, 10000
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 query I
-SELECT LENGTH(a) FROM test ORDER BY 1
+SELECT CHARACTER_LENGTH(a) FROM test ORDER BY 1
 ----
 10
 100
diff --git a/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow b/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow
index 8048a61..58cef35 100644
--- a/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow
+++ b/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow
@@ -14,24 +14,24 @@ INSERT INTO test VALUES ('aaaaaaaaaa')
 
 # sizes: 10, 100, 1000, 10000
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 # now create a second table, we only insert the big varchar string in there
 statement ok
 CREATE TABLE bigtable (a VARCHAR);
 
 statement ok
-INSERT INTO bigtable SELECT a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO bigtable SELECT a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 # verify that the append worked
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 1	1	10000	10000.000000
 
@@ -42,7 +42,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 2	2	10000	20000.000000
 
@@ -50,7 +50,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 4	4	10000	40000.000000
 
@@ -58,7 +58,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 8	8	10000	80000.000000
 
@@ -66,7 +66,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 16	16	10000	160000.000000
 
@@ -74,7 +74,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 32	32	10000	320000.000000
 
@@ -82,7 +82,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 64	64	10000	640000.000000
 
@@ -90,7 +90,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 128	128	10000	1280000.000000
 
@@ -98,7 +98,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 256	256	10000	2560000.000000
 
@@ -106,7 +106,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 512	512	10000	5120000.000000
 
@@ -114,7 +114,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 1024	1024	10000	10240000.000000
 
@@ -122,31 +122,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 2048	2048	10000	20480000.000000
 
-statement ok
-INSERT INTO bigtable SELECT * FROM bigtable
-
-query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
-----
-4096	4096	10000	40960000.000000
-
-statement ok
-INSERT INTO bigtable SELECT * FROM bigtable
-
-query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
-----
-8192	8192	10000	81920000.000000
-
-statement ok
-INSERT INTO bigtable SELECT * FROM bigtable
-
-query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
-----
-16384	16384	10000	163840000.000000
-
diff --git a/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow b/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow_ignored
similarity index 64%
copy from modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow
copy to modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow_ignored
index 8048a61..9cfeba6 100644
--- a/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow
+++ b/modules/calcite/src/test/sql/types/string/test_scan_big_varchar.test_slow_ignored
@@ -1,6 +1,7 @@
 # name: test/sql/types/string/test_scan_big_varchar.test_slow
 # description: Test scanning many big varchar strings with limited memory
 # group: [string]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14553
 
 statement error
 PRAGMA memory_limit=100000000
@@ -14,24 +15,24 @@ INSERT INTO test VALUES ('aaaaaaaaaa')
 
 # sizes: 10, 100, 1000, 10000
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 statement ok
-INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO test SELECT a||a||a||a||a||a||a||a||a||a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 # now create a second table, we only insert the big varchar string in there
 statement ok
 CREATE TABLE bigtable (a VARCHAR);
 
 statement ok
-INSERT INTO bigtable SELECT a FROM test WHERE LENGTH(a)=(SELECT MAX(LENGTH(a)) FROM test)
+INSERT INTO bigtable SELECT a FROM test WHERE CHARACTER_LENGTH(a)=(SELECT MAX(CHARACTER_LENGTH(a)) FROM test)
 
 # verify that the append worked
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 1	1	10000	10000.000000
 
@@ -42,7 +43,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 2	2	10000	20000.000000
 
@@ -50,7 +51,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 4	4	10000	40000.000000
 
@@ -58,7 +59,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 8	8	10000	80000.000000
 
@@ -66,7 +67,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 16	16	10000	160000.000000
 
@@ -74,7 +75,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 32	32	10000	320000.000000
 
@@ -82,7 +83,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 64	64	10000	640000.000000
 
@@ -90,7 +91,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 128	128	10000	1280000.000000
 
@@ -98,7 +99,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 256	256	10000	2560000.000000
 
@@ -106,7 +107,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 512	512	10000	5120000.000000
 
@@ -114,7 +115,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 1024	1024	10000	10240000.000000
 
@@ -122,7 +123,7 @@ statement ok
 INSERT INTO bigtable SELECT * FROM bigtable
 
 query IIIR
-SELECT COUNT(*), COUNT(a), MAX(LENGTH(a)), SUM(LENGTH(a)) FROM bigtable
+SELECT COUNT(*), COUNT(a), MAX(CHARACTER_LENGTH(a)), SUM(CHARACTER_LENGTH(a)) FROM bigtable
 ----
 2048	2048	10000	20480000.000000
 
diff --git a/modules/calcite/src/test/sql/types/string/test_unicode.test b/modules/calcite/src/test/sql/types/string/test_unicode.test_ignored
similarity index 90%
rename from modules/calcite/src/test/sql/types/string/test_unicode.test
rename to modules/calcite/src/test/sql/types/string/test_unicode.test_ignored
index dd4a349..790b3b5 100644
--- a/modules/calcite/src/test/sql/types/string/test_unicode.test
+++ b/modules/calcite/src/test/sql/types/string/test_unicode.test_ignored
@@ -1,6 +1,7 @@
 # name: test/sql/types/string/test_unicode.test
 # description: Test unicode strings
 # group: [string]
+# Ignore: https://issues.apache.org/jira/browse/IGNITE-14545
 
 # insert unicode strings into the database
 statement ok