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)