Skip to content

Instantly share code, notes, and snippets.

@cwyckoff
Created June 14, 2016 20:20
Show Gist options
  • Save cwyckoff/faa1cad80b64b726a4900f6fd30c841d to your computer and use it in GitHub Desktop.
Save cwyckoff/faa1cad80b64b726a4900f6fd30c841d to your computer and use it in GitHub Desktop.
(ns repro-mpg-bug.core
(:require [clojure.java.jdbc :as jdbc]
[mpg.core :as mpg])
(:import [java.sql PreparedStatement ParameterMetaData]))
(mpg/patch)
(def db-conn (jdbc/get-connection "postgres://<pg-user>:@localhost:5432/repro_bug"))
(def stmt "INSERT INTO foo (bar) VALUES (?) ")
(def prepared-statement (.prepareStatement db-conn stmt))
(def stmt-conn (.getConnection prepared-statement))
(def meta (.getParameterMetaData prepared-statement))
(.getParameterTypeName meta 1) ;; => "_varchar"
(.setObject prepared-statement 1 (.createArrayOf db-conn "VARCHAR" (to-array "boo")))
(.getParameterTypeName meta 1) ;; => "varchar[]"
(def prepared-statement2 (.prepareStatement db-conn stmt))
(def stmt-conn2 (.getConnection prepared-statement2))
(def meta2 (.getParameterMetaData prepared-statement2))
(.getParameterTypeName meta2 1) ;; => "varchar[]"
(.setObject prepared-statement2 1 (.createArrayOf db-conn "VARCHAR" (to-array "boo")))
(.getParameterTypeName meta2 1) ;; => "varchar[]"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment