Releases: seancorfield/next-jdbc
Releases · seancorfield/next-jdbc
Release 1.0.424
- In Tips & Tricks, noted that MySQL returns
BLOB
columns asbyte[]
instead ofjava.sql.Blob
. - Address #103, #104 by adding a section on timeouts to Tips & Tricks.
- Fix #102 by allowing keywords or strings in
:return-keys
. - Fix #101 by tightening the spec on a JDBC URL to correctly reflect that it must start with
jdbc:
. - Add support for calling
.getLoginTimeout
/.setLoginTimeout
on the reifiedDataSource
returned byget-datasource
when called on a hash map "db-spec" or JDBC URL string. - Documentation improvements based on feedback (mostly from Slack), including a section on database metadata near the end of Getting Started.
Release 1.0.409
Add support for MariaDB (as :dbtype "mariadb"
) via PR #100 (@green-coder).
Release 1.0.405
This release includes no code changes, just documentation updates:
- Improve documentation around
plan
soreduce
etc is more obvious. - Attempt to drive readers to cljdoc.org instead of the GitHub version (which is harder to navigate).
Release 1.0.395
Enhancement:
- Add
read-as-instant
andread-as-local
functions tonext.jdbc.date-time
to extendReadableColumn
so that SQLDATE
andTIMESTAMP
columns can be read as Java Time types.
Documentation:
- Specifically call out PostgreSQL as needing
next.jdbc.date-time
to enable automatic conversion ofjava.util.Date
objects to SQL timestamps for prepared statements (#95). - Split Tips & Tricks into its own page, with a whole new section on using JSON data types with PostgreSQL (#94 -- thank you @vharmain).
Maintenance:
- Bump dependencies to latest.
Release 1.0.384
Bug fixes:
- Fix #88 by using 1-arity
keyword
call when table name unavailable (or:qualifier-fn
returnsnil
or an empty string); also allows:qualifier-fn
function to be called on empty table name (so:qualifier-fn (constantly "qual")
will now work much likeclojure.java.jdbc
's:qualifier "qual"
worked).
Enhancements:
- Improve
Unknown dbtype
exception message (to clarify that:classname
is also missing, #90). - Address #89, #91 by making minor performance tweaks to
next.jdbc.result-set
functions.
Documentation:
Release 1.0.13
Enhancements:
- Adds
next.jdbc.prepare/statement
to createStatement
objects with all the options available toprepare
except:return-keys
. - Adds a way to set arbitrary properties on
Connection
andStatement
/PreparedStatement
objects, post-creation. Note: this usesclojure.java.data
and the Java reflection API under the hood. #82
Documentation:
- Numerous clarifications based on feedback from folks on Slack!
Infrastructure:
- Update
org.clojure/java.data
to 0.1.5 (for property setting).
Release 1.0.12
Bug Fix:
- Fix #80 by avoiding the auto-commit restore after a failed rollback in a failed transaction.
Enhancement:
- Address #81 by splitting the SQL-building functions out of
next.jdbc.sql
intonext.jdbc.sql.builder
.
Documentation:
- Address #78 by documenting the
:connectionInitSql
workaround for HikariCP/PostgreSQL and non-default schemas.
Release 1.0.11
Bug Fix:
- Fix #76 by avoiding conversions on
java.sql.Date
andjava.sql.Timestamp
.
Documentation:
- Fix a few links.
- Fix typos in a few docstrings.
- Formatting tweaks for consistency.
Testing:
- Add testing against Microsoft SQL Server (run tests with environment variables
NEXT_JDBC_TEST_MSSQL=yes
andMSSQL_SA_PASSWORD
set to your local --127.0.0.1:1433
-- SQL Serversa
user password; assumes that it can create and dropfruit
andfruit_time
tables in themodel
database). - Add testing against MySQL (run tests with environment variables
NEXT_JDBC_TEST_MYSQL=yes
andMYSQL_ROOT_PASSWORD
set to your local --127.0.0.1:3306
-- MySQLroot
user password; assumes you have already created an empty database calledclojure_test
). - Bump several JDBC driver versions for up-to-date testing.
Release 1.0.10
Enhancements:
- Fix #75 by adding support for
java.sql.Statement
toplan
,execute!
, andexecute-one!
. - Fix #73 by providing a new, optional namespace
next.jdbc.date-time
that can be required if your database driver needs assistance convertingjava.util.Date
(PostgreSQL!) or the Java Time types to SQLtimestamp
(or SQLdate
/time
). - Address #70 by adding CLOB & BLOB SQL Types to the Tips & Tricks section of Friendly SQL Functions and by adding
next.jdbc.result-set/clob-column-reader
andnext.jdbc.result-set/clob->string
helper to make it easier to deal withCLOB
column data.
Documentation:
- Fix link to All The Options in Migration from
clojure.java.jdbc
. PR #71 (@laurio). - Clarify what
execute!
andexecute-one!
produce when the result set is empty ([]
andnil
respectively, and there are now tests for this). Similarly forfind-by-keys
andget-by-id
. - Add MS SQL Server section to Tips & Tricks to note that returns an empty string for table names by default (so table-qualified column names are not available). Using the
:result-type
(scroll) and:concurrency
options will cause table names to be returned. - Clarify that Friendly SQL Functions are deliberately simple (hint: they will not be enhanced or expanded -- use
plan
,execute!
, andexecute-one!
instead, with a DSL library if you want!). - Improve migration docs: explicitly recommend the use of a datasource for code that needs to work with both
clojure.java.jdbc
andnext.jdbc
; add caveats about column name conflicts (in several places). - Improve
datafy
/nav
documentation around:schema
.
Miscellaneous:
- Address #74 by making several small changes to satisfy Eastwood.
- Update
org.clojure/java.data
to"0.1.4"
(0.1.2 fixes a number of reflection warnings).
Release 1.0.9
Enhancements:
- Add
next.jdbc.optional/as-maps-adapter
to matchnext.jdbc.result-set/as-maps-adapter
(this provides a way to override the default result set reading behavior of using.getObject
when omitting SQLNULL
values from result set maps). - Update the specs for the "db spec" hash map and some functions to reflect the addition of the
:jdbcUrl
option added in 1.0.8. #67
Documentation: