Ietor
Skip to content

Releases: seancorfield/honeysql

2.7.1368

23 Jan 19:11
Immutable release. Only release title and notes can be modified.
b8332fc

Choose a tag to compare

  • Address #596 by removing #' Var references from all production code. This meant making a couple of private functions public, but marking them ^:no-doc to indicate they are not part of the public API.
  • Update dev/test deps.

2.7.1364

27 Nov 17:36
ee4ec0d

Choose a tag to compare

  • Address #593 by adding :transform-null-equals option to control whether [:= expr nil] transforms to IS NULL or preserves = NULL. Defaults to true (current behavior) for backward compatibility. When set to false, follows SQL standard semantics. Mirrors PostgreSQL's transform_null_equals configuration option.
  • Fix #590 by allowing simple expressions on the LHS of SET = clauses, such as array element assignment.
  • Update dev/test deps (Clojure 1.12.3, CLI 1.12.3.1577).
  • Add matrix testing against JDK 25; drop JDK 8.

2.7.1350

07 Sep 19:57
cc638bf

Choose a tag to compare

  • Address #589 by adding support for the QUALIFY clause (non-ANSI, but supported by several databases).
  • Note that HoneySQL does not support the double-colon :: syntax for casts: you must use the CAST syntax instead, i.e., [:cast :a :int] to produce CAST(a AS INT) instead of a::INT.
  • Update dev/test deps.

2.7.1340

01 Aug 15:34
7b22f9f

Choose a tag to compare

  • Remove stray tap> call via PR #587 by Julien Vincent.
  • Fix #586 by reusing some of the format-order-by logic in format-create-index to provide column ordering.
  • Fix #585 by checking for the symbol where (as well as the keyword :where).
  • Assume bb for testing/building; add bb.edn; switch GitHub Actions to use bb.

2.7.1325

23 Jul 19:47
99eee8b

Choose a tag to compare

  • Address #582 by adding PostgreSQL => named parameter operator via :=>.
  • Address #579 by adding :call special syntax to force a function call based on an expression.
  • Add support for MySQL USE INDEX on FROM via metadata.
  • Fix #576 by fixing single argument where logic.
  • Update test-doc-blocks (and use Clojure 1.12.1 during test generation).

2.7.1310

17 May 22:14
8711118

Choose a tag to compare

  • Address #575 by adding support for parameters in inline XTQL queries.
  • Address #574 by adding honey.sql/*nest-infix* which can be bound to false to prevent infix operators (such as :and) from nesting their arguments, i.e, wrapping them in ( .. ). If precedence matters in your expressions, this will produce incorrect SQL. It is intended for specific, limited query dialects (such as Google Ads Queries).
  • More performance optimizations via PR #573 @alexander-yakushev.
  • Address #572 by adding [:xtql ...] special syntax for inline XTQL queries (for XTDB).
  • Fix #571 by allowing :order-by to take an empty sequence of columns (and be omitted).
  • Address #440 by supporting multiple tables in :truncate.
  • Support USING HASH as well as USING GIN.
  • Update dev/build deps.

2.7.1295

12 Mar 23:04
7611871

Choose a tag to compare

  • Address #570 by adding :.:. as special syntax for Snowflake's JSON path syntax, and :at as special syntax for general [..] path syntax.
  • Drop support for Clojure 1.9 #561.

2.6.1281

06 Mar 21:02
675c94b

Choose a tag to compare

  • Address #568 by adding honey.sql/semicolon to merge multiple SQL+params vectors into one (with semicolons separating the SQL statements).
  • Address #567 by adding support for ASSERT clause.
  • Address #566 by adding IS [NOT] DISTINCT FROM operators.
  • Add examples of :alias with :group-by (syntax is slightly different to existing examples for :order-by).

2.6.1270

17 Jan 21:24
7e1fe8f

Choose a tag to compare

2.6.1267

17 Jan 00:15
206f980

Choose a tag to compare

  • Support expressions in WITH clauses via PR #563 @krevedkokun.
  • More performance optimizations via PRs #560 and #562 @alexander-yakushev.
  • Fix two broken links to the HoneySQL web app via PR #559 @whatacold.
  • Make SQL Server dialect auto-lift Boolean values to parameters since SQL Server has no TRUE / FALSE literals.
  • Fix bug in DEFAULT values clause (that omitted some values).