Skip to content

Commit

Permalink
Merge pull request #16 from swisscom-bigdata/fix/null_date_time
Browse files Browse the repository at this point in the history
Fix/null date time
  • Loading branch information
rawyler authored Apr 28, 2022
2 parents 2aa2c19 + 42650b9 commit 0b89d95
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions src/metabase/driver/teradata.clj
Original file line number Diff line number Diff line change
Expand Up @@ -235,27 +235,32 @@
(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIMESTAMP]
[_ rs _ i]
(fn []
(.toLocalDateTime (.getTimestamp rs i))))

(when-let [value (.getTimestamp rs i)]
(.toLocalDateTime value))))

(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIMESTAMP_WITH_TIMEZONE]
[_ rs _ i]
(fn []
(OffsetDateTime/parse (.getString rs i))))
(when-let [value (.getString rs i)]
(OffsetDateTime/parse value))))

(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/DATE]
[_ rs _ i]
(fn []
(.toLocalDate (.getDate rs i))))
(when-let [value (.getDate rs i)]
(.toLocalDate value))))

(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIME]
[_ rs _ i]
(fn []
(.toLocalTime (.getTime rs i))))

(when-let [value (.getTime rs i)]
(.toLocalTime value))))

(defmethod sql-jdbc.execute/read-column-thunk [:teradata Types/TIME_WITH_TIMEZONE]
[_ rs _ i]
(fn []
(OffsetTime/parse (.getTime rs i))))
(when-let [value (.getTime rs i)]
(OffsetTime/parse value))))

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

0 comments on commit 0b89d95

Please sign in to comment.