(def connection-params {...})
(def default-options {...})
(def ds (connection/->pool ComboPooledDataSource connection-params))
(jdbc/with-transaction [tx ds]
(let [wrapped-ds (jdbc/with-options tx default-opts)]
(jdbc/execute-batch! wrapped-ds "INSERT INTO TEST_TAB (id) VALUES (?)" (->> (range 10) (map [#(assoc](#hashtag) {} :id %))) {})))
Results in error when execute-batch! is called:
No implementation of method: :get-datasource of protocol: [next.jdbc.protocols/Sourceable] found for class: com.mchange.v2.c3p0.impl.NewProxyConnection
Is this expected and is there a workaround?
Not expected. I think I know what is causing it, but if that’s the case I would have expected this to fail with a plain connection as well [Update: I was wrong!
]
I have created issue #181 on github.com to track this (I figured out the bug and have a solution in testing).
OK, this is fixed and you can either try it out via a git dep or as 1.2.999-SNAPSHOT (every push to the repo pushes a new snapshot to Clojars).
Hi Sean, thank you for the quick response.
This seems to work for the transaction case for us but seems to have broken the plain connection:
actual: java.lang.IllegalArgumentException: No implementation of method: :prepare of protocol: #'next.jdbc.protocols/Preparable found for class: com.mchange.v2.c3p0.ComboPooledDataSource
Could you please take a look at this also? Thanks!
Dang, sorry. OK, updated SNAPSHOT available to test.
Great - thank you, testing and working now
Do you have a date for the next release in which this will be included, at all?
I can probably cut a release today. I’ll try to remember this afternoon.
That would be great - thank you so much for the prompt response and solution
1.2.731 is available on Clojars.