[ https://issues.apache.org/jira/browse/IGNITE-25045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maksim Zhuravkov updated IGNITE-25045: -------------------------------------- Description: Insert with CAST to timestamp with local time zone ignores target type precision: {code:java} @Test public void test() { igniteSql().execute(null, "CREATE TABLE ts (id INT PRIMARY KEY, ts_ltz TIMESTAMP(1) WITH LOCAL TIME ZONE)"); List<String> ops = List.of( "TIMESTAMP WITH LOCAL TIME ZONE '2001-01-01 18:00:00.333'", "'2001-01-01 18:00:00.333'::TIMESTAMP WITH LOCAL TIME ZONE" ); for (int i = 0; i < ops.size(); i ++) { String op = ops.get(i); assertQuery("INSERT INTO ts VALUES(" + i + ", " + op + " )") .withTimeZoneId(ZoneId.of("Europe/Paris")) .returnSomething() .check(); } Statement stmt = igniteSql().statementBuilder() .query("SELECT id, ts_ltz, ts_ltz::VARCHAR FROM ts ORDER BY id") .timeZoneId(ZoneId.of("Europe/Paris")) .build(); try (ResultSet<SqlRow> rs = igniteSql().execute(null, stmt)) { while (rs.hasNext()) { var row = rs.next(); System.err.println(row); } } } {code} Output: {noformat} SqlRowImpl [ID=0, TS_LTZ=2001-01-01T17:00:00.300Z, TS_LTZ :: VARCHAR=2001-01-01 18:00:00.3 Europe/Paris] SqlRowImpl [ID=1, TS_LTZ=2001-01-01T17:00:00.333Z, TS_LTZ :: VARCHAR=2001-01-01 18:00:00.333 Europe/Paris] {noformat} P.S. There is no such issue with TIMESTAMP type. was: Insert with CAST to timestamp with local time zone ignores target type precision: {code:java} @Test public void test() { igniteSql().execute(null, "CREATE TABLE ts (id INT PRIMARY KEY, ts_ltz TIMESTAMP(1) WITH LOCAL TIME ZONE)"); List<String> ops = List.of( "TIMESTAMP WITH LOCAL TIME ZONE '2001-01-01 18:00:00.333'", "'2001-01-01 18:00:00.333'::TIMESTAMP WITH LOCAL TIME ZONE" ); for (int i = 0; i < ops.size(); i ++) { String op = ops.get(i); assertQuery("INSERT INTO ts VALUES(" + i + ", " + op + " )") .withTimeZoneId(ZoneId.of("Europe/Paris")) .returnSomething() .check(); } Statement stmt = igniteSql().statementBuilder() .query("SELECT id, ts_ltz, ts_ltz::VARCHAR FROM ts ORDER BY id") .timeZoneId(ZoneId.of("Europe/Paris")) .build(); try (ResultSet<SqlRow> rs = igniteSql().execute(null, stmt)) { while (rs.hasNext()) { var row = rs.next(); System.err.println(row); } } } {code} Output: {noformat} SqlRowImpl [ID=0, TS_LTZ=2001-01-01T17:00:00.300Z, TS_LTZ :: VARCHAR=2001-01-01 18:00:00.3 Europe/Paris] SqlRowImpl [ID=1, TS_LTZ=2001-01-01T17:00:00.333Z, TS_LTZ :: VARCHAR=2001-01-01 18:00:00.333 Europe/Paris] {noformat} > Sql. Timestamp with local time zone. Insert with cast operation ignores > target precision > ---------------------------------------------------------------------------------------- > > Key: IGNITE-25045 > URL: https://issues.apache.org/jira/browse/IGNITE-25045 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Maksim Zhuravkov > Priority: Major > Labels: ignite-3 > > Insert with CAST to timestamp with local time zone ignores target type > precision: > {code:java} > @Test > public void test() { > igniteSql().execute(null, "CREATE TABLE ts (id INT PRIMARY KEY, > ts_ltz TIMESTAMP(1) WITH LOCAL TIME ZONE)"); > List<String> ops = List.of( > "TIMESTAMP WITH LOCAL TIME ZONE '2001-01-01 18:00:00.333'", > "'2001-01-01 18:00:00.333'::TIMESTAMP WITH LOCAL TIME ZONE" > ); > for (int i = 0; i < ops.size(); i ++) { > String op = ops.get(i); > assertQuery("INSERT INTO ts VALUES(" + i + ", " + op + " )") > .withTimeZoneId(ZoneId.of("Europe/Paris")) > .returnSomething() > .check(); > } > Statement stmt = igniteSql().statementBuilder() > .query("SELECT id, ts_ltz, ts_ltz::VARCHAR FROM ts ORDER BY > id") > .timeZoneId(ZoneId.of("Europe/Paris")) > .build(); > try (ResultSet<SqlRow> rs = igniteSql().execute(null, stmt)) { > while (rs.hasNext()) { > var row = rs.next(); > System.err.println(row); > } > } > } > {code} > Output: > {noformat} > SqlRowImpl [ID=0, TS_LTZ=2001-01-01T17:00:00.300Z, TS_LTZ :: > VARCHAR=2001-01-01 18:00:00.3 Europe/Paris] > SqlRowImpl [ID=1, TS_LTZ=2001-01-01T17:00:00.333Z, TS_LTZ :: > VARCHAR=2001-01-01 18:00:00.333 Europe/Paris] > {noformat} > P.S. There is no such issue with TIMESTAMP type. -- This message was sent by Atlassian Jira (v8.20.10#820010)