From 224e639cdd918acf5b175c86850dc190d98f4379 Mon Sep 17 00:00:00 2001 From: Ashhar Hasan Date: Tue, 19 Apr 2022 22:37:53 +0530 Subject: [PATCH] Update PostgreSQL JDBC driver This allows using the standard LocalDate mapping for DATE columns instead of parsing the string using a DateTimeFormatter. --- .../java/io/trino/plugin/postgresql/PostgreSqlClient.java | 8 ++------ pom.xml | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java b/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java index 7b453af36c2c..04d998bb78e0 100644 --- a/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java +++ b/plugin/trino-postgresql/src/main/java/io/trino/plugin/postgresql/PostgreSqlClient.java @@ -117,7 +117,6 @@ import java.sql.Timestamp; import java.sql.Types; import java.time.Instant; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.OffsetDateTime; @@ -155,6 +154,7 @@ import static io.trino.plugin.jdbc.StandardColumnMappings.booleanWriteFunction; import static io.trino.plugin.jdbc.StandardColumnMappings.charReadFunction; import static io.trino.plugin.jdbc.StandardColumnMappings.charWriteFunction; +import static io.trino.plugin.jdbc.StandardColumnMappings.dateColumnMappingUsingLocalDate; import static io.trino.plugin.jdbc.StandardColumnMappings.dateWriteFunctionUsingLocalDate; import static io.trino.plugin.jdbc.StandardColumnMappings.decimalColumnMapping; import static io.trino.plugin.jdbc.StandardColumnMappings.doubleColumnMapping; @@ -244,7 +244,6 @@ public class PostgreSqlClient private static final int POSTGRESQL_MAX_SUPPORTED_TIMESTAMP_PRECISION = 6; private static final int PRECISION_OF_UNSPECIFIED_DECIMAL = 0; - private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("y-MM-dd[ G]"); private static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss.SSSSSS"); private static final PredicatePushdownController POSTGRESQL_STRING_COLLATION_AWARE_PUSHDOWN = (session, domain) -> { @@ -561,10 +560,7 @@ public Optional toColumnMapping(ConnectorSession session, Connect return Optional.of(varbinaryColumnMapping()); case Types.DATE: - return Optional.of(ColumnMapping.longMapping( - DATE, - (resultSet, index) -> LocalDate.parse(resultSet.getString(index), DATE_FORMATTER).toEpochDay(), - dateWriteFunctionUsingLocalDate())); + return Optional.of(dateColumnMappingUsingLocalDate()); case Types.TIME: return Optional.of(timeColumnMapping(typeHandle.getRequiredDecimalDigits())); diff --git a/pom.xml b/pom.xml index c1393069ba9d..e48f74ab1c30 100644 --- a/pom.xml +++ b/pom.xml @@ -1621,7 +1621,7 @@ org.postgresql postgresql - 42.3.3 + 42.3.4