Skip to content

Releases: seancorfield/honeysql

2.6.1230

23 Nov 21:33
42d5f4b
Compare
Choose a tag to compare
  • Fix #553 by adding :not-between as special syntax via PR #554 @plooney81
  • Fix #552 by changing the assert-on-load behavior into an explicit test in the test suite.
  • Fix #551 by supporting multiple WINDOW clauses.
  • Fix #549 by using :bb conditionals to support Babashka (and still support Clojure 1.9.0), and add testing against Babashka so it is fully-supported as a target via PR #550 @borkdude
  • Address #532 by adding support for XTDB SQL extensions ERASE, EXCLUDE, OBJECT, RECORD, RECORDS, and RENAME, along with inline hash maps (as records) and :get-in for object navigation, and starting to write tests for XTDB compatibility.

2.6.1203

22 Oct 18:31
b271a89
Compare
Choose a tag to compare
  • Fix #548 which was a regression introduced in #526 (in 2.6.1161).
  • Address #542 by adding support for WITH query tail options for PostgreSQL.
  • Replace all optional argument destructuring with multiple arities to improve performance.

2.6.1196

06 Oct 18:06
ba78dc2
Compare
Choose a tag to compare
  • Address #547 by adding examples of conditional SQL building with the helpers to the README and the honey.sql.helpers ns docstring.
  • Performance optimizations via PRs #545 and #546 @alexander-yakushev.
  • Address #544 by adding support for MySQL's VALUES ROW(..) syntax.
  • Fix #543 by supporting both symbols and keywords in named parameters.
  • Address #541 by specifying the expected result of a formatter function passed to register-clause! and adding the example from the README to Extending HoneySQL.
  • Getting Started updated based on feedback from Los Angeles Clojure meetup walkthrough #539.
  • Fix #538 by removing mod from list of infix operators.
  • Fixed a few symbol/keyword resolution bugs in the formatter. Thanks to @irigarae.
  • Update Clojure version to 1.12.0; update dev/test/ci deps.

2.6.1161

29 Aug 17:44
434d387
Compare
Choose a tag to compare
  • Address #537 by ignoring non-scalar values in metadata, and expanding support to numbers, and checking strings for suspicious characters.
  • Address #536 by noting what will not work with PostgreSQL (but works with other databases).
  • Address #533 by adding honey.sql/*escape-?* which can be bound to false to prevent ? being escaped to ?? when used as an operator or function.
  • Address #526 by using format-var in DDL, instead of format-entity.
  • Update JDK test matrix (adopt -> temurin, 19 -> 21).
  • Update Clojure versions (to 1.11.4 & 1.12.0-rc2).

2.6.1147

13 Jun 06:00
c7e7d47
Compare
Choose a tag to compare
  • Address #531 and #527 by adding tests and more documentation for :composite; fix bug in set-dialect! where clause order is not restored.
  • Address #530 by adding support for :using-gin to :create-index.
  • Address #529 by fixing :join special syntax to support aliases and to handle expressions the same way select / from etc handle them (extra [...] nesting).
  • Add example of mixed DO UPDATE SET with EXCLUDED and regular SQL expressions.
  • Improve exception message when un-lift-ed JSON expressions are used in the DSL.
  • Update Clojure versions (to 1.11.3 and 1.12.0-alpha12); update other dev/test dependencies.

2.6.1126

04 Mar 21:24
0f0d24b
Compare
Choose a tag to compare
  • Address #524 by adding example of {:nest ..} in :union clause reference docs.
  • Address #523 by expanding examples in README Functions to show aliases.
  • Address #522 by supporting metadata on table specifications in :from and :join clauses to provide index hints (SQL Server).
  • Address #521 by adding initial experimental support for an XTDB dialect.
  • Address #520 by expanding how :inline works, to support a sequence of arguments.
  • Fix #518 by moving temporal clause before alias.
  • Address #495 by adding formatv macro (.clj only!) -- and removing the experimental formatf function (added for discussion in 2.4.1045).
  • Implemented CREATE INDEX #348 via PR #517 @dancek.
  • Mention :not-in explicitly in the documentation.
  • Code cleanup per clj-kondo.

2.5.1103

04 Dec 01:25
Compare
Choose a tag to compare
  • Address #515 by:
    • Quoting entities that start with a digit but are otherwise alphanumeric. Note that entities that are all digits (optionally including underscores) will still not be quoted as in previous releases,
    • Adding a new :quoted-always option allows users to specify a regex that matches entities that should always be quoted (stropped) regardless of the value of :quoted (such as reserved words that you have used as column or table names).
  • Address #513 by:
    • Ignoring :file, :line, :column, :end-line, and :end-column metadata keys (previously only :line and :column were ignored),
    • Adding an :ignored-metadata option to allow additional keys to be ignored.

2.5.1091

28 Oct 21:15
Compare
Choose a tag to compare
  • Address #512 by adding support for subqueries in the :array special syntax (for BigQuery and PostgreSQL). This also adds support for metadata on the :select value to produce AS STRUCT or DISTINCT.
  • Address #511 by adding support for BigQuery CREATE OR REPLACE.
  • Address #510 by adding initial support for an NRQL dialect.
  • Fix #509 by checking for ident? before checking keyword/symbol.

2.4.1078

07 Oct 19:25
Compare
Choose a tag to compare
  • Address #507 by clarifying formatting of :cast in Special Syntax.
  • Fix #505 by rewriting the helper merge function to handle both keywords and symbols properly.
  • Address #503 by adding :at-time-zone special syntax.
  • Address #504 for BigQuery support, by adding special syntax for ignore/respect nulls, as well as new :distinct and :expr clauses to allow expressions to be qualified with SQL clauses. The latter will probably be useful for other dialects too.
  • Update tools.build to 0.9.6 (and get rid of template/pom.xml in favor of new :pom-data option to b/write-pom).

2.4.1066

27 Aug 17:19
Compare
Choose a tag to compare
  • Add :select with function call and alias example to README (PR #502 @markbastian).
  • Address #501 by making INSERT INTO (and REPLACE INTO) use the :columns or :values clauses to produce column names (which are then omitted from those other clauses).
  • Address #497 by adding :alias special syntax.
  • Address #496 by adding :overriding-value option to :insert clause.
  • Address #407 by adding support for temporal queries (see FROM in SQL Clause Reference).
  • Address #389 by adding examples of [:only :table] producing ONLY(table).
  • Add :create-or-replace-view to support PostgreSQL's lack of IF NOT EXISTS for CREATE VIEW.
  • Attempt to clarify the formatting behavior of the :values clause when used to produce column names.
  • Update tools.build to 0.9.5 (and remove :java-opts setting from build/run-task)