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 52bf35300b3 IGNITE-27391 Sql. Some search conditions are no longer 
converted to search bounds after calcite 1.41 (#7312)
52bf35300b3 is described below

commit 52bf35300b3eb66e455020152b0df64b08932e28
Author: Andrew V. Mashenkov <[email protected]>
AuthorDate: Mon Jan 12 14:12:34 2026 +0300

    IGNITE-27391 Sql. Some search conditions are no longer converted to search 
bounds after calcite 1.41 (#7312)
---
 .../sql/engine/planner/IndexSearchBoundsPlannerTest.java | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/IndexSearchBoundsPlannerTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/IndexSearchBoundsPlannerTest.java
index 363eac3d610..06df65c41b6 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/IndexSearchBoundsPlannerTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/planner/IndexSearchBoundsPlannerTest.java
@@ -339,18 +339,10 @@ public class IndexSearchBoundsPlannerTest extends 
AbstractPlannerTest {
         );
 
         // Implicit cast of 2 to VARCHAR.
-        // TODO https://issues.apache.org/jira/browse/IGNITE-27391
-        assertPlan("SELECT * FROM TEST WHERE C1 = 1 AND C2 IN (2::VARCHAR, 
'3')", 
-                List.of(publicSchema), 
nodeOrAnyChild(isInstanceOf(IgniteIndexScan.class)
-                        .and(scan -> {
-                            boolean boundsMatch = 
matchBounds(scan.searchBounds(), exact(1));
-                            String condition = scan.condition() != null ? 
scan.condition().toString() : null;
-                            String expected = 
-                                    "AND(=($t0, 1), OR(=(CAST($t1):VARCHAR 
CHARACTER SET \"UTF-8\", _UTF-8'2'), =($t1, _UTF-8'3')))";
-                            boolean conditionMatch = Objects.equals(condition, 
expected);
-                            return boundsMatch && conditionMatch;
-                        })), List.of(),
-                "LogicalTableScanConverterRule", "UnionConverterRule");
+        assertBounds("SELECT * FROM TEST WHERE C1 = 1 AND C2 IN (2::VARCHAR, 
'3')",
+                exact(1),
+                multi(exact("2"), exact("3"))
+        );
     }
 
     /** Tests bounds with dynamic parameters. */

Reply via email to