Document nilenso catch up to 0.4.112
This commit is contained in:
parent
50fd829752
commit
bb9d196e3e
4 changed files with 19 additions and 8 deletions
|
|
@ -1,8 +1,9 @@
|
||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
* 2.0.next in progress
|
* 2.0.next in progress
|
||||||
* The documentation continues to be expanded and clarified in respond to feedback!
|
* The documentation continues to be expanded and clarified in response to feedback!
|
||||||
* Tentative fix for #315 by expanding `:in` handling to deal with `nil` values.
|
* Tentative fix for #315 by expanding `:in` handling to deal with `nil` values.
|
||||||
|
* Fix #310 by adding support for `FILTER`, `WITHIN GROUP`, and `ORDER BY` (as an expression), from [nilenso/honeysql-postgres](https://github.com/nilenso/honeysql-postgres) 0.4.112. These are [Special Syntax](doc/special-syntax.md) and there are also helpers for `filter` and `within-group` -- so **be careful about referring in all of `honey.sql.helpers`** since it will now shadow `clojure.core/filter` (it already shadows `for`, `group-by`, `into`, `partition-by`, `set`, and `update`).
|
||||||
|
|
||||||
* 2.0.0-beta1 (for testing; 2021-04-09)
|
* 2.0.0-beta1 (for testing; 2021-04-09)
|
||||||
* Since Alpha 3, more documentation has been written and existing documentation clarified (addressing #300, #309, #313, #314).
|
* Since Alpha 3, more documentation has been written and existing documentation clarified (addressing #300, #309, #313, #314).
|
||||||
|
|
@ -21,7 +22,7 @@
|
||||||
* Add tests to confirm #299 does not affect 2.x.
|
* Add tests to confirm #299 does not affect 2.x.
|
||||||
* Fix #297 by adding both `SELECT .. INTO ..` and `SELECT .. BULK COLLECT INTO ..`.
|
* Fix #297 by adding both `SELECT .. INTO ..` and `SELECT .. BULK COLLECT INTO ..`.
|
||||||
* Fix #295 by adding docstrings to all helper functions (and adding an assert to ensure it stays that way as more are added in future).
|
* Fix #295 by adding docstrings to all helper functions (and adding an assert to ensure it stays that way as more are added in future).
|
||||||
* Confirm the whole of the [nilenso/honeysql-postgres](https://github.com/nilenso/honeysql-postgres) is implemented out-of-the-box (#293, but see #310 for recent additions not yet incorporated).
|
* Confirm the whole of the [nilenso/honeysql-postgres](https://github.com/nilenso/honeysql-postgres) is implemented out-of-the-box (#293, up to 0.3.104 -- see also #310 which brought parity up to 0.4.112).
|
||||||
* Fix #292 by adding support for `SELECT TOP` and `OFFSET`/`FETCH`.
|
* Fix #292 by adding support for `SELECT TOP` and `OFFSET`/`FETCH`.
|
||||||
* Fix #284 by adding support for `LATERAL` (as special syntax, with a helper).
|
* Fix #284 by adding support for `LATERAL` (as special syntax, with a helper).
|
||||||
* Reconcile `where` behavior with recent 1.x changes (porting #283 to 2.x).
|
* Reconcile `where` behavior with recent 1.x changes (porting #283 to 2.x).
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@ On a related note, `sql/call` has been removed because it should never be needed
|
||||||
### select modifiers
|
### select modifiers
|
||||||
|
|
||||||
HoneySQL 1.x provided a `:modifiers` clause (and a `modifiers`) helper as a way to "modify"
|
HoneySQL 1.x provided a `:modifiers` clause (and a `modifiers`) helper as a way to "modify"
|
||||||
a `SELECT` to be `DISTINCT`. nilenso/honeysql-helpers extended that to support `:distinct-on`
|
a `SELECT` to be `DISTINCT`. The [nilenso/honeysql-helpers](https://github.com/nilenso/honeysql-postgres) library extended that to support `:distinct-on`
|
||||||
a group of columns. In HoneySQL 2.x, you use `:select-distinct` and `:select-distinct-on`
|
a group of columns. In HoneySQL 2.x, you use `:select-distinct` and `:select-distinct-on`
|
||||||
(and their associated helpers) for that instead. MS SQL Server's `TOP` modifier is also
|
(and their associated helpers) for that instead. MS SQL Server's `TOP` modifier is also
|
||||||
supported via `:select-top` and `:select-distinct-top`.
|
supported via `:select-top` and `:select-distinct-top`.
|
||||||
|
|
@ -173,7 +173,7 @@ You can also register new "functions" that can implement special syntax (such as
|
||||||
|
|
||||||
And, finally, you can register new operators that will be recognized in expressions via `honey.sql/register-op!`. This accepts an operator name as a keyword and optional named parameters to indicate whether the operator is `:variadic` (the default is strictly binary) and whether it should ignore operands that evaluate to `nil` (via `:ignore-nil`). The latter can make it easier to construct complex expressions programmatically without having to worry about conditionally removing "optional" (`nil`) values.
|
And, finally, you can register new operators that will be recognized in expressions via `honey.sql/register-op!`. This accepts an operator name as a keyword and optional named parameters to indicate whether the operator is `:variadic` (the default is strictly binary) and whether it should ignore operands that evaluate to `nil` (via `:ignore-nil`). The latter can make it easier to construct complex expressions programmatically without having to worry about conditionally removing "optional" (`nil`) values.
|
||||||
|
|
||||||
> Note: because of the changes in the extension machinery between 1.x and 2.x, it is not possible to use the https://github.com/nilenso/honeysql-postgres library with HoneySQL 2.x but the goal is to incorporate all of the syntax from that library into the core of HoneySQL.
|
> Note: because of the changes in the extension machinery between 1.x and 2.x, it is not possible to use the [nilenso/honeysql-postgress](https://github.com/nilenso/honeysql-postgres) library with HoneySQL 2.x but the goal is to incorporate all of the syntax from that library into the core of HoneySQL.
|
||||||
|
|
||||||
## Helpers
|
## Helpers
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -235,7 +235,7 @@ common for people to use the
|
||||||
[nilenso/honeysql-postgres library](https://github.com/nilenso/honeysql-postgres)
|
[nilenso/honeysql-postgres library](https://github.com/nilenso/honeysql-postgres)
|
||||||
to get DDL support, even if they didn't need the PostgreSQL-specific
|
to get DDL support, even if they didn't need the PostgreSQL-specific
|
||||||
extensions. That library does not work with HoneySQL 2.x but all
|
extensions. That library does not work with HoneySQL 2.x but all
|
||||||
of the functionality from it (up to 0.3.104) has been incorporated
|
of the functionality from it (up to 0.4.112) has been incorporated
|
||||||
into HoneySQL now and is described in the [PostgreSQL](postgresql.md)
|
into HoneySQL now and is described in the [PostgreSQL](postgresql.md)
|
||||||
section (because that covers all of the things that the nilenso
|
section (because that covers all of the things that the nilenso
|
||||||
library supported and much of it was PostgreSQL-specific!).
|
library supported and much of it was PostgreSQL-specific!).
|
||||||
|
|
@ -292,7 +292,7 @@ specify a dialect in the `format` call, you can specify
|
||||||
Out of the box, as part of the extended ANSI SQL support,
|
Out of the box, as part of the extended ANSI SQL support,
|
||||||
HoneySQL supports quite a few [PostgreSQL extensions](postgresql.md).
|
HoneySQL supports quite a few [PostgreSQL extensions](postgresql.md).
|
||||||
|
|
||||||
> Note: the [nilenso/honeysql-postgres library](https://github.com/nilenso/honeysql-postgres) which provided PostgreSQL support for HoneySQL 1.x does not work with HoneySQL 2.x. However, HoneySQL 2.x includes all of the functionality from that library (up to 0.3.104) out of the box!
|
> Note: the [nilenso/honeysql-postgres](https://github.com/nilenso/honeysql-postgres) library which provided PostgreSQL support for HoneySQL 1.x does not work with HoneySQL 2.x. However, HoneySQL 2.x includes all of the functionality from that library (up to 0.4.112) out of the box!
|
||||||
|
|
||||||
## Format Options
|
## Format Options
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,10 @@
|
||||||
This section covers the PostgreSQL-specific
|
This section covers the PostgreSQL-specific
|
||||||
features that HoneySQL supports out of the box
|
features that HoneySQL supports out of the box
|
||||||
for which you previously needed the
|
for which you previously needed the
|
||||||
[nilenso/honeysql-postgres library](https://github.com/nilenso/honeysql-postgres).
|
[nilenso/honeysql-postgres](https://github.com/nilenso/honeysql-postgres)
|
||||||
|
library.
|
||||||
|
|
||||||
Everything that the nilenso library provided (in 0.3.104) is implemented
|
Everything that the nilenso library provided (in 0.4.112) is implemented
|
||||||
directly in HoneySQL 2.x although a few things have a
|
directly in HoneySQL 2.x although a few things have a
|
||||||
slightly different syntax.
|
slightly different syntax.
|
||||||
|
|
||||||
|
|
@ -336,6 +337,15 @@ user=> (sql/format (alter-table :fruit
|
||||||
ADD UNIQUE fruit_name(name)"]
|
ADD UNIQUE fruit_name(name)"]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Filter / Within Group
|
||||||
|
|
||||||
|
`honeysql-postgres` added support for `FILTER` and `WITHIN GROUP`
|
||||||
|
in its 0.4.112 release. Those features have been integrated into
|
||||||
|
HoneySQL 2.x (as of 2.0.next), along with support for `ORDER BY`
|
||||||
|
in expressions. `:filter`, `:within-group`, and `:order-by` are
|
||||||
|
all available as "functions" in [Special Syntax](special-syntax.md),
|
||||||
|
and there are helpers for `filter` and `within-group`.
|
||||||
|
|
||||||
## Window / Partition Support
|
## Window / Partition Support
|
||||||
|
|
||||||
HoneySQL supports `:window`, `:partition-by`, and `:over`
|
HoneySQL supports `:window`, `:partition-by`, and `:over`
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue