Only accretive/fixative changes will be made from now on.
2020-04-10 -- 1.0.424
BLOB
columns as byte[]
instead of java.sql.Blob
.:return-keys
.jdbc:
..getLoginTimeout
/.setLoginTimeout
on the reified DataSource
returned by get-datasource
when called on a hash map "db-spec" or JDBC URL string.2020-03-16 -- 1.0.409
NEXT_JDBC_TEST_MARIADB=true
as well as NEXT_JDBC_TEST_MYSQL=true
in order to run tests against MariaDB.2020-03-14 -- 1.0.405 (no code changes -- just documentation)
plan
so reduce
etc is more obvious.2020-03-02 -- 1.0.395
read-as-instant
and read-as-local
functions to next.jdbc.date-time
to extend ReadableColumn
so that SQL DATE
and TIMESTAMP
columns can be read as Java Time types.next.jdbc.date-time
to enable automatic conversion of java.util.Date
objects to SQL timestamps for prepared statements (#95).2020-02-28 -- 1.0.384
Unknown dbtype
exception message (to clarify that :classname
is also missing, #90).keyword
call when table name unavailable (or :qualifier-fn
returns nil
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 like clojure.java.jdbc
's :qualifier "qual"
worked).next.jdbc.result-set
functions.2019-12-20 -- 1.0.13
clojure.java.data
-based support for setting arbitrary properties on Connection
and PreparedStatement
objects, post-creation. Note: this uses the Java reflection API under the hood.next.jdbc.prepare/statement
to create Statement
objects with all the options available to prepare
except :return-keys
.org.clojure/java.data
to 0.1.5 (for property setting).2019-12-11 -- 1.0.12
next.jdbc.sql
into next.jdbc.sql.builder
.:connectionInitSql
workaround for HikariCP/PostgreSQL and non-default schemas.2019-12-07 -- 1.0.11
java.sql.Date
and java.sql.Timestamp
.NEXT_JDBC_TEST_MSSQL=yes
and MSSQL_SA_PASSWORD
set to your local -- 127.0.0.1:1433
-- SQL Server sa
user password; assumes that it can create and drop fruit
and fruit_time
tables in the model
database).NEXT_JDBC_TEST_MYSQL=yes
and MYSQL_ROOT_PASSWORD
set to your local -- 127.0.0.1:3306
-- MySQL root
user password; assumes you have already created an empty database called clojure_test
).2019-11-14 -- 1.0.10
java.sql.Statement
to plan
, execute!
, and execute-one!
.next.jdbc.date-time
that can be required if your database driver needs assistance converting java.util.Date
(PostgreSQL!) or the Java Time types to SQL timestamp
(or SQL date
/time
).clojure.java.jdbc
. PR #71 (@laurio).next.jdbc.result-set/clob-column-reader
and next.jdbc.result-set/clob->string
helper to make it easier to deal with CLOB
column data.execute!
and execute-one!
produce when the result set is empty ([]
and nil
respectively, and there are now tests for this). Similarly for find-by-keys
and get-by-id
.:result-type
(scroll) and :concurrency
options will cause table names to be returned.plan
, execute!
, and execute-one!
instead, with a DSL library if you want!).clojure.java.jdbc
and next.jdbc
; add caveats about column name conflicts (in several places).datafy
/nav
documentation around :schema
.org.clojure/java.data
to "0.1.4"
(0.1.2 fixes a number of reflection warnings).2019-10-11 -- 1.0.9
execute-one!
vs execute!
vs plan
.:next.jdbc/update-count
.:jdbcUrl
version spec.next.jdbc.optional/as-maps-adapter
to provide a way to override the default result set reading behavior of using .getObject
when omitting SQL NULL
values from result set maps.2019-09-27 -- 1.0.8
:jdbcUrl
key (consistent with ->pool
) so that you can create a datasource from a JDBC URL string and additional options.next.jdbc.specs/unstrument
. PR #64 (@gerred).:qualifier
(clojure.java.jdbc
) migration, with a specific caveat about Oracle not fully supporting .getTableName()
.2019-09-09 -- 1.0.7
:table/column
is equivalent to the old [:table :column :one]
and [:table/column]
is equivalent to the old [:table :column :many]
. The older formats will continue to be supported but should be considered deprecated. PR #62 (@seancorfield).ANY(?)
and arrays in PostgreSQL for IN (?,,,?)
style queries. Added a Tips & Tricks section to Friendly SQL Functions with database-specific suggestions, that starts with this one.2019-08-24 -- 1.0.6
insert-multi!
and execute-batch!
(addresses #57).ReadableColumn
and SettableParameter
protocols).clojure.string/lower-case
into one of the "modified" result set builders.next.jdbc.result-set/as-maps-adapter
and next.jdbc.result-set/as-arrays-adapter
to provide a way to override the default result set reading behavior of using .getObject
.org.clojure/test.check
to "0.10.0"
.2019-08-05 -- 1.0.5
IPersistentMap
fully for the "mapified" result set inside plan
. This adds support for dissoc
and cons
(which will both realize a row), count
(which returns the column count but does not realize a row), empty
(returns an empty hash map without realizing a row), etc.2019-07-24 -- 1.0.4
2019-07-23 -- 1.0.3
next.jdbc.connection/->pool
and documenting how to use HikariCP and c3p0 in the Getting Started docs (as well as adding tests for both libraries).ReadableColumn
and SettableParameter
.2019-07-15 -- 1.0.2
:host
to be :none
which tells next.jdbc
to omit the host/port section of the JDBC URL, so that local databases can be used with :dbtype
/:classname
for database types that next.jdbc
does not know. Also added :dbname-separator
and :host-prefix
to the "db-spec" to allow fine-grained control over how the JDBC URL is assembled.insert-multi!
with an empty rows
vector returns []
.insert-multi!
to "require less" of the cols
and rows
arguments.execute-batch!
and set-parameters
in next.jdbc.prepare
.next.jdbc.prepare/execute-batch!
.assert
s in next.jdbc.sql
as more informative errors for cases that would generate SQL exceptions (from malformed SQL).:order-by
to reflect what is actually permitted.next.jdbc.connect/dbtypes
as a table of known database types and aliases, along with their class name(s), port, and other JDBC string components.2019-07-03 -- 1.0.1
with-transaction
to "require less" of the :binding
vector.with-transaction
macro.insert-multi!
performs a single, batched operation.key-map
in find-by-keys
, update!
, and delete!
to reflect that you cannot pass an empty map to these functions (and added tests to ensure the calls fail with spec errors).2019-06-12 -- 1.0.0 "gold"
reify
'd objects produce a more informative string representation if they are printed (e.g., misusing plan
by not reducing it or not mapping an operation over the rows).next.jdbc.result-set/datafiable-result-set
so that various java.sql.DatabaseMetaData
methods that return result metadata information in ResultSet
s can be easily turned into a fully realized result set.2019-06-04 -- 1.0.0-rc1:
next.jdbc
functions.next.jdbc.optional
with six map builders that omit NULL
columns from the row hash maps.transact
function and the with-transaction
macro (for consistency with the name of the underlying protocol).modified
variants of column name functions and builders. The lower
variants have been rewritten in terms of these new modified
variants. This adds :label-fn
and :qualifier-fn
options that mirror :column-fn
and :table-fn
for row builders.2019-05-24 -- 1.0.0-beta1:
next.jdbc.specs
and documenting basic usage.reducible!
to plan
(BREAKING CHANGE!).:next.jdbc/sql-string
to :next.jdbc/sql-params
(BREAKING CHANGE!) and pass whole vector.:gen-fn
to :builder-fn
(BREAKING CHANGE!); Fix #13 by adding documentation for datafy
/nav
/:schema
; Fix #15 by automatically adding :next.jdbc/sql-string
(as of 1.0.0-alpha12: :next.jdbc/sql-params
) into the options hash map, so custom builders can depend on the SQL string.:gen-fn
(as of 1.0.0-alpha11: :builder-fn
) in execute-one
for PreparedStatement
.Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close