Releases: seancorfield/next-jdbc
Releases · seancorfield/next-jdbc
1.2.731
1.2.724
1.2.709
1.2.689
Primarily a documentation update release!
Enhancements:
- Address #173 by extending
DatafiableRow
toResultSet
so there's a public method to call on (rows of) a JDBC result set directly.
Documentation:
- Address #171 by clarifying that you cannot use
clojure.java.jdbc
functions insidenext.jdbc/with-transaction
and discuss how to migrate transaction-based code in the Migration guide. - Address #169 by expanding the description of
with-transaction
in Getting Started. - Cross-link to HoneySQL documentation for JSON/JSONB manipulation.
- Remove superfluous prev/next links in docs (cljdoc does this automatically now).
Maintenance:
- Update
depstar
,test-runner
, and CI versions. Add examplebuild.clj
to run tests in a subprocess (purely educational).
1.2.674
- Fix #167 by adding
:property-separator
tonext.jdbc.connection/dbtypes
and using it injdbc-url
. - Address #166 by adding
next.jdbc/with-logging
to create a wrapped connectable that will invoke logging functions with the SQL/parameters and optionally the result or exception for each operation. - Fix
:unit_count
references in Getting Started (were:unit_cost
). - Update
test-runner
.
Release 1.2.659
- Address #164 by making
clj-commons/camel-snake-kebab
an unconditional dependency. [Being a conditional dependency that could be brought in at runtime caused problems with GraalVM-based native compilation as well as with multi-project monorepos] - Add Tips & Tricks section about working with PostgreSQL "interval" types (via PR #163 from @snorremd).
- Address #162 by adding GraalVM to the test matrix (thank you @DeLaGuardo).
- Update several dependency versions.
Release 1.1.646
Adds a new arity to execute-batch!
to accept a connectable (datasource or connection) and a SQL string, so that the work of creating the PreparedStatement
is handled automatically (and the connection is created/closed automatically if needed). Fixes #161.
Release 1.1.643
- Change coordinates to
com.github.seancorfield/next.jdbc
(although new versions will continue to be deployed toseancorfield/next.jdbc
for a while -- see the Clojars Verified Group Names policy). - Documented
next.jdbc.transaction/*nested-tx*
more thoroughly since that difference fromclojure.java.jdbc
has come up in conversation a few times recently. - Fix #158 by documenting (and testing)
:allowMultiQueries true
as an option for MySQL/MariaDB to allow multiple statements to be executed and multiple result sets to be returned. - Fix #157 by copying
next.jdbc.prepare/execute-batch!
tonext.jdbc/execute-batch!
(to avoid a circular dependency that previously relied on requiringnext.jdbc.result-set
at runtime -- which was problematic for GraalVM-based native compilation);next.jdbc.prepare/execute-batch!
is deprecated: it will continue to exist and work, but is no longer documented. In addition,next.jdbc.prepare/execute-batch!
now relies on a privatevolatile!
in order to referencenext.jdbc.result-set/datafiable-result-set
so that it is GraalVM-friendly. Note: code that requiresnext.jdbc.prepare
and usesexecute-batch!
without also requiring something that causesnext.jdbc.result-set
to be loaded will no longer return generated keys fromexecute-batch!
but that's an almost impossible path since nearly all code that usesexecute-batch!
will have callednext.jdbc/prepare
to get thePreparedStatement
in the first place.
Release 1.1.613
Fixes a bug with how camel-snake-kebab
is automatically made available, as part of an uberjar.
Release 1.1.610
Enhancements:
- Adds
next.jdbc.result-set/reducible-result-set
andnext.jdbc.result-set/foldable-result-set
for users who want more control over processing result sets obtained from database metadata. datafiable-result-set
can now be called without theconnectable
and/oropts
arguments: anil
connectable now disables foreign key navigation in datafied results (rather than throwing an obscure exception).- Support
"duckdb"
innext.jdbc.connection/dbtypes
#140 - Use thunks instead of vectors for
next.jdbc.types/as-*
functions, so that wrapped values do not get unpacked by HoneySQL.