8
像這樣:Clojure/postgresql:如何從Jdbc4Array結果中訪問枚舉值?我在PostgreSQL的枚舉定義
create type color as enum ('yellow', 'purple', 'white', 'black');
,我可以得到的Jdbc4Array像這樣:
(def colors
((first (sql/with-connection db/db
(sql/with-query-results res
["select enum_range(null::color)"]
(doall res)))) :enum_range))
這說明這樣一個對象:
#<Jdbc4Array {yellow,purple,white,black}>
但嘗試平常的事情會引發一個異常:
(.getArray colors) => stream closed
所以我想我需要訪問陣列連接被關閉之前:
(def colors
((sql/with-connection db/db
(sql/with-query-results res
["select enum_range(null::color)"]
(.getArray ((first (doall res)) :enum_range))))))
但在這種情況下,我得到這個異常:
Method org.postgresql.jdbc4.Jdbc4Array.getArrayImpl(long,int,Map)
is not yet implemented.
險惡。我能在這裏做什麼?