DBZ-7933 Fix default value TIME precision for micro/nano -seconds
This commit is contained in:
parent
673ed67a6f
commit
212fe3db38
@ -149,7 +149,7 @@ private Map<String, DefaultValueMapper> createDefaultValueMappers() {
|
||||
});
|
||||
result.put("time", (c, v) -> { // Sample value: ('2019-01-01 00:00:00')
|
||||
String rawValue = v.substring(2, v.length() - 2);
|
||||
return JdbcConnection.querySingleValue(connectionProvider.get(), "SELECT PARSE(? AS time)", st -> st.setString(1, rawValue), rs -> rs.getTime(1));
|
||||
return JdbcConnection.querySingleValue(connectionProvider.get(), "SELECT PARSE(? AS time)", st -> st.setString(1, rawValue), rs -> rs.getTimestamp(1));
|
||||
});
|
||||
|
||||
// Character strings
|
||||
|
@ -305,7 +305,7 @@ SchemaNameAdjuster.NO_OP, new CustomConverterRegistry(null), SchemaBuilder.struc
|
||||
tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "datetimeoffset_column", "2019-01-01T00:00:00.1234567+02:00", tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "smalldatetime_column", toMillis(OffsetDateTime.of(2019, 1, 1, 12, 34, 0, 0, databaseZoneOffset)), tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_column", toNanos(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_000_000, databaseZoneOffset)), tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_column", toNanos(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_456_700, databaseZoneOffset)), tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_0_column", (int) toMillis(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 0, databaseZoneOffset)), tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_1_column", (int) toMillis(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 100_000_000, databaseZoneOffset)),
|
||||
tableSchemaBuilder);
|
||||
@ -313,14 +313,13 @@ SchemaNameAdjuster.NO_OP, new CustomConverterRegistry(null), SchemaBuilder.struc
|
||||
tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_3_column", (int) toMillis(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_000_000, databaseZoneOffset)),
|
||||
tableSchemaBuilder);
|
||||
// JDBC connector does not support full precision for type time(n), n = 4, 5, 6, 7
|
||||
assertColumnHasDefaultValue(table, "time_4_column", toMicros(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_000_000, databaseZoneOffset)),
|
||||
assertColumnHasDefaultValue(table, "time_4_column", toMicros(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_400_000, databaseZoneOffset)),
|
||||
tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_5_column", toMicros(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_000_000, databaseZoneOffset)),
|
||||
assertColumnHasDefaultValue(table, "time_5_column", toMicros(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_450_000, databaseZoneOffset)),
|
||||
tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_6_column", toMicros(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_000_000, databaseZoneOffset)),
|
||||
assertColumnHasDefaultValue(table, "time_6_column", toMicros(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_456_000, databaseZoneOffset)),
|
||||
tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "time_7_column", toNanos(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_000_000, databaseZoneOffset)),
|
||||
assertColumnHasDefaultValue(table, "time_7_column", toNanos(OffsetDateTime.of(1970, 1, 1, 12, 34, 56, 123_456_700, databaseZoneOffset)),
|
||||
tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "char_column", "aaa", tableSchemaBuilder);
|
||||
assertColumnHasDefaultValue(table, "varchar_column", "bbb", tableSchemaBuilder);
|
||||
|
Loading…
Reference in New Issue
Block a user