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!.asserts 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 ResultSets 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 builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |