funcool / funcool/clojure.jdbc

java.time interop

Open
#46 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Clojure
Stars
106
Forks
23
PR merge metrics
No merged PRs in 30d

Description

Would be great to have a file like

```
;; clojure.java-time

(:require
[java-time]
[jdbc.proto :refer [ISQLType ISQLResultSetReadColumn]])

; java.time.LocalDate - java.sql.Date
; java.time.LocalDateTime - java.sql.Timestamp
; java.time.LocalTime - java.sql.Time

(extend-protocol ISQLType
;
java.time.LocalDate
(as-sql-type [this conn]
(java-time/sql-date this))
(set-stmt-parameter! [this conn stmt index]
(.setDate stmt index
(java-time/sql-date this)))

java.time.LocalTime
(as-sql-type [this conn]
(java-time/sql-time this))
(set-stmt-parameter! [this conn stmt index]
(.setTime stmt index
(java-time/sql-time this)))

java.time.LocalDateTime
(as-sql-type [this conn]
(java-time/sql-timestamp this))
(set-stmt-parameter! [this conn stmt index]
(.setTimestamp stmt index
(java-time/sql-timestamp this))))
;
;

(extend-protocol ISQLResultSetReadColumn
;
java.sql.Timestamp
(from-sql-type [this conn metadata index]
(java-time/local-date-time this))
;
java.sql.Date
(from-sql-type [this conn metadata index]
(java-time/local-date this))
;
java.sql.Time
(from-sql-type [this conn metadata index]
(java-time/local-time this)))
;
```
to make `java.time` support easier.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.