Maksim Zhuravkov created IGNITE-25657:
-----------------------------------------

             Summary: Sql. Partition pruning does not work correctly for 
TIMESTAMP WITH LOCAL TIME ZONE columns
                 Key: IGNITE-25657
                 URL: https://issues.apache.org/jira/browse/IGNITE-25657
             Project: Ignite
          Issue Type: Bug
          Components: sql ai3
            Reporter: Maksim Zhuravkov




{noformat}
 @Test
    public void partitionPruningTimestampLtz() {
        sql("CREATE TABLE tz (ts TIMESTAMP WITH LOCAL TIME ZONE,  val INT, 
PRIMARY KEY(ts) )");

        Instant now = Instant.now();
        {
            Statement stmt = igniteSql().statementBuilder()
                    .query("INSERT INTO tz VALUES (?, 1)")
                    .timeZoneId(ZoneId.of("Europe/Paris"))
                    .build();

            ResultSet<SqlRow> rs = igniteSql().execute(null, stmt, now);
            rs.close();
        }

        // A KV Get works
        {
            Statement stmt = igniteSql().statementBuilder()
                    .query("SELECT * FROM tz WHERE ts=?")
                    .timeZoneId(ZoneId.of("Europe/Paris"))
                    .build();

            System.err.println(sql("EXPLAIN PLAN FOR " + stmt.query(), now));
            System.err.println();

            ResultSet<SqlRow> rs = igniteSql().execute(null, stmt, now);
            assertTrue(rs.hasNext(), "Kv get fails");
        }

        // But a scan fails
        {
            Statement stmt = igniteSql().statementBuilder()
                    .query("SELECT /*+ 
DISABLE_RULE('TableScanToKeyValueGetRule')*/ * FROM tz WHERE ts=?")
                    .timeZoneId(ZoneId.of("Europe/Paris"))
                    .build();

            System.err.println(sql("EXPLAIN PLAN FOR " + stmt.query(), now));
            System.err.println();

            ResultSet<SqlRow> rs = igniteSql().execute(null, stmt, now);
            assertTrue(rs.hasNext(), "Scan fails"); 
        }
    }
{noformat}

Output:

{noformat}

org.opentest4j.AssertionFailedError: Scan fails ==> 
Expected :true
Actual   :false
{noformat}





--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to