Skip to content

Commit 0b89d95

Browse files
authored
Merge pull request #16 from swisscom-bigdata/fix/null_date_time
Fix/null date time
2 parents 2aa2c19 + 42650b9 commit 0b89d95

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/metabase/driver/teradata.clj

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -235,27 +235,32 @@
235235
(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIMESTAMP]
236236
[_ rs _ i]
237237
(fn []
238-
(.toLocalDateTime (.getTimestamp rs i))))
239-
238+
(when-let [value (.getTimestamp rs i)]
239+
(.toLocalDateTime value))))
240+
240241
(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIMESTAMP_WITH_TIMEZONE]
241242
[_ rs _ i]
242243
(fn []
243-
(OffsetDateTime/parse (.getString rs i))))
244+
(when-let [value (.getString rs i)]
245+
(OffsetDateTime/parse value))))
244246

245247
(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/DATE]
246248
[_ rs _ i]
247249
(fn []
248-
(.toLocalDate (.getDate rs i))))
250+
(when-let [value (.getDate rs i)]
251+
(.toLocalDate value))))
249252

250253
(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIME]
251254
[_ rs _ i]
252255
(fn []
253-
(.toLocalTime (.getTime rs i))))
254-
256+
(when-let [value (.getTime rs i)]
257+
(.toLocalTime value))))
258+
255259
(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIME_WITH_TIMEZONE]
256260
[_ rs _ i]
257261
(fn []
258-
(OffsetTime/parse (.getTime rs i))))
262+
(when-let [value (.getTime rs i)]
263+
(OffsetTime/parse value))))
259264

260265
;; TODO: use metabase.driver.sql-jdbc.execute.legacy-impl instead of re-implementing everything here
261266
(defmethod sql-jdbc.execute/set-parameter [:teradata OffsetDateTime]

0 commit comments

Comments
 (0)