Skip to content

Releases: seancorfield/next-jdbc

Release 1.1.588

09 Sep 20:16
Compare
Choose a tag to compare

Enhancements:

  • Adds next.jdbc.plan/select-one! and next.jdbc.plan/select! to make certain common uses of next.jdbc/plan easier. #139

Bug Fixes:

  • For badly-behaved JDBC drivers that do not correctly implement empty result sets, treat ResultSet.getMetaData() returning null as if the column count is zero, instead of throwing an NPE. [I'm looking at you, Snowflake!]

Release 1.1.582

06 Aug 01:20
Compare
Choose a tag to compare

Adds next.jdbc.connection/jdbc-url to turn a "db spec" into a JDBC URL, for use with ->pool and component.

Release 1.1.581

04 Aug 01:19
Compare
Choose a tag to compare

Enhancements:

  • Added support for specifying username and password per-connection (if your datasource supports this). #137.
  • Added :return-generated-keys option to execute-batch! so you can get back (all) the generated keys instead of update counts. #133

Documentation:

  • Document SQLite handling of bool and bit columns in a new Tips & Tricks section, inspired by #134.

Release 1.1.569

11 Jul 06:03
Compare
Choose a tag to compare

Bug Fixes:

  • Fix Spec for next.jdbc.connection/component (PR #131 from @Briaoeuidhtns) and next.jdbc.prepare/statement (#132); add Spec for next.jdbc/with-options.
  • Fix support for :cols / :rsmeta on builder adapters by implementing clojure.lang.ILookup (#130).

Enhancements:

  • Add with-column-value to RowBuilder and a more generic builder-adapter to provide more control over column reading (#129).
  • Conditionally add next.jdbc/snake-kebab-opts, next.jdbc/unqualified-snake-kebab-opts, next.jdbc.result-set/as-kebab-maps, and next.jdbc.result-set/as-unqualified-kebab-maps if camel-snake-kebab is on your classpath (#121).

Documentation:

  • Correct MySQL batch statement rewrite tip: it's :rewriteBatchedStatements true (plural). Also surface the batch statement tips in the Tips & Tricks page.
  • Clarify how combining is interleaving with reducing in Reducing and Folding with plan.
  • Use "JDBC URL" consistently everywhere (instead of "JDBC URI" in several places).

Testing:

  • Add a test for the "not found" arity of lookup on mapified result sets (#128).

Release 1.1.547

29 Jun 21:15
Compare
Choose a tag to compare

Significant Enhancement:

  • Multiple result sets can now be returned from execute! by specifying the :multi-rs true option. This is useful when calling stored procedures and, for SQL Server, when working with T-SQL scripts. #116

Additional Enhancements:

  • The result of plan is foldable, in the clojure.core.reducers sense, and will use fork/join to support folding large result sets (while still supporting streaming of result sets). #125
  • find-by-keys now supports column selection (via the :columns option), all row fetching (via :all in place of the where clause/example hash map), and pagination (via :top -- SQL Server, :limit / :offset -- MySQL/PostgreSQL, and :offset / :fetch -- SQL Standard -- via the underlying SQL builder for-query). #124
  • The behavior of attempts to create nested transactions can now be controlled via next.jdbc.transaction/*nested-tx*: :allow -- default, existing behavior, :ignore -- more compatible with clojure.java.jdbc, or :prohibit -- to ensure you don't accidentally try to create a nest transaction (on a given thread). #117

Release 1.0.478

24 Jun 18:27
Compare
Choose a tag to compare

Add next.jdbc.types with as-xxx wrapper functions corresponding to java.sql.Types/XXX values.

Release 1.0.476

23 Jun 06:17
Compare
Choose a tag to compare

Extends default options behavior -- next.jdbc/with-options -- to the friendly SQL functions in next.jdbc.sql.

Release 1.0.475

22 Jun 23:48
Compare
Choose a tag to compare

Officially Supported:

  • The jTDS driver (against Microsoft SQL Server).
  • PostgreSQL 12.2.0 (previously only 10.11 was officially supported).

Bug Fixes:

  • Fix potential reflection warnings caused by next.jdbc.prepare/statement being incorrectly type-hinted.

Enhancements:

  • Address #122 by adding next.jdbc.with-options that lets you wrap up a connectable along with default options that should be applied to all operations on that connectable.

Documentation:

  • Address #119 by clarifying realization actions in the docstrings for row-number, column-names, and metadata.
  • Address #115 by adding equivalent of db-do-commands in the clojure.java.jdbc migration guide.

Release 1.0.462

01 Jun 04:45
Compare
Choose a tag to compare

A new, optional, namespace next.jdbc.datafy has been added to expand dataification (and navigation) to several JDBC object types.

Inside the reducing function over the result of plan, you can now call next.jdbc.result-set/metadata to get at a datafication of the ResultSetMetaData object from the underlying ResultSet object.

Release 1.0.445

23 May 16:45
Compare
Choose a tag to compare

Enhancements:

  • Enhanced support in plan for "metadata" access: row-number and column-names can be called on the abstract row (even after calling datafiable-row). In addition, Associative access via numeric "keys" will read columns by index, and row abstractions now support Indexed access via nth (which will also read columns by index). Fixes #110.
  • Support for Stuart Sierra's Component library, via next.jdbc.connection/component. See updated Getting Started guide for usage.
  • Investigate possible solutions for #106 (mutable transaction thread safety) -- experimental locking on Connection object.

Documentation:

  • Add example of getting generated keys from execute-batch!.
  • Add MySQL-specific result set streaming tip.
  • Add array handling example to PostgreSQL Tips & Tricks. PR #108 from @maxp.