Skip to content

Releases: seancorfield/next-jdbc

Release 1.0.7

09 Sep 23:40
Compare
Choose a tag to compare

Documentation:

  • Adds a Tips & Tricks section to Friendly SQL Functions with database-specific suggestions, that starts with using ANY(?) and arrays in PostgreSQL for IN (?,,,?) style queries (for which there's a new test as well!).
  • Clarifies that JDBC URL strings should start with jdbc: (and note that clojure.java.jdbc allowed this to be omitted).
  • Clarifies use of :username with HikariCP.
  • Fixes numerous typos and formatting glitches.

Simplification:

  • Fixes #60 by supporting simpler :schema entry formats: :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.

Release 1.0.6

24 Aug 19:07
Compare
Choose a tag to compare

Bug Fixes:

  • Fix #52 by using a US-locale function in the "lower" result set builders to avoid unexpected character changes in column names in locales such as Turkish. If you want the locale-sensitive behavior, pass clojure.string/lower-case into one of the "modified" result set builders. This mirrors recent changes in honeysql and clojure.java.jdbc.

Enhancements:

  • Add 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.

Documentation:

  • Fix #54 by improving documentation around data type conversions (and the ReadableColumn and SettableParameter protocols).
  • Improved documentation around insert-multi! and execute-batch!.

Housekeeping:

  • Update org.clojure/test.check to "0.10.0".

Release 1.0.5

06 Aug 01:34
Compare
Choose a tag to compare

The "mapified" result set used by plan now implements IPersistentMap fully. This fixes #51 by adding support for dissoc (as well as cons, count, empty, etc).

The documentation around connection pooling has also been improved, based on feedback from users.

Release 1.0.4

25 Jul 05:54
Compare
Choose a tag to compare

Documentation improvements. Increased test coverage (embedded PostgreSQL). Repackage the JAR to satisfy cljdoc.org.

Release 1.0.3

24 Jul 02:06
Compare
Choose a tag to compare

Adds next.jdbc.connection/->pool to make it easier to set up connection pooling with HikariCP and c3p0. The Getting Started documentation shows how to use both libraries.

Documentation improvements continue, including examples of extending ReadableColumn and SettableParameter.

Release 1.0.2

15 Jul 20:58
Compare
Choose a tag to compare

Overview:

  • Adds support for batched execution of prepared statements: next.jdbc.prepare/execute-batch!.
  • Improves support for using unknown databases, especially local databases.
  • Improves error reporting in next.jdbc.sql.
  • Lots of documentation and docstring improvements!

Enhancements:

  • Fix #47 by exposing next.jdbc.connect/dbtypes as a table of known database types and aliases, along with their class name(s), port, and other non-default JDBC string components. JDBC URL assembly is now controlled entirely based on this single hash map.
  • Fix #46 by allowing :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.
  • Fix #45 by adding TimesTen driver support.
  • Fix #44 so that insert-multi! with an empty rows vector returns [].
  • Fix #40 by adding next.jdbc.prepare/execute-batch!.
  • Added asserts in next.jdbc.sql as more informative errors for cases that would generate SQL exceptions (from malformed SQL).

Changes to the (optional) specs:

  • Fix #43 by adjusting the spec for insert-multi! to "require less" of the cols and rows arguments.
  • Fix #42 by adding specs for execute-batch! and set-parameters in next.jdbc.prepare.
  • Added spec for :order-by to reflect what is actually permitted.

Documentation improvements:

  • Fix #41 by improving docstrings and documentation, especially around database types and also around prepared statement handling.

Release 1.0.1

04 Jul 03:40
Compare
Choose a tag to compare

Bug fix:

  • Fix #36 by adding a type hint for the Connection argument in the with-transaction macro.

Changes to the (optional) specs:

  • Fix #37 by adjusting the spec for with-transaction to "require less" of the :binding vector so the spec matches the function, allowing the options map to be omitted.
  • Fix #33 by updating the spec for the example 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).

Documentation improvements:

  • Fix #35 by explaining the database-specific options needed to ensure insert-multi! performs a single, batched operation.
  • Fix #34 by explaining save points (in the Transactions documentation, and adding tests using save points).

Release 1.0.0 "gold"

13 Jun 05:07
Compare
Choose a tag to compare

Two small usability additions over the Release Candidate:

  • Address #31 by making 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).
  • Fix #26 by exposing 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. See Processing Database Metadata in the migration guide for an example.

Release 1.0.0 Release Candidate 1

05 Jun 01:09
Compare
Choose a tag to compare

Fix reflection warnings; add more flexibility to result set builders.

  • Fix #24 by adding return type hints to next.jdbc functions.
  • Fix #22 by adding next.jdbc.optional with six map builders that omit NULL columns from the row hash maps.
  • Documentation improvements (#27, #28, and #29), including changing "connectable" to "transactable" for the transact function and the with-transaction macro (for consistency with the name of the underlying protocol).
  • Fix #30 by adding 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.

Release 1.0.0 Beta 1

25 May 21:50
Compare
Choose a tag to compare

The first Beta release -- only accretive/fixative changes from now on.

  • Set up CircleCI testing (just local DBs for now).
  • Address #21 by adding next.jdbc.specs and documenting basic usage.
  • Fix #19 by caching loaded database driver classes.
  • Address #16 by renaming reducible! to plan (BREAKING CHANGE!).
  • Address #3 by deciding to maintain this library outside Clojure Contrib.