Sean Corfield
810e95fe11
fix #389 by showing ONLY(table) examples
2023-08-26 12:48:35 -07:00
Sean Corfield
aa5d8e094a
remove stray debug println
2023-08-26 12:32:49 -07:00
Sean Corfield
686cbf7272
fix #497 by adding tests and documenting :alias
2023-08-26 12:31:38 -07:00
Sean Corfield
17dbbce0d2
remove lsp-provided "help"; update default clause order
2023-08-23 12:52:07 -07:00
Sean Corfield
664e5e2644
add create or replace view for postgresql
2023-08-23 12:45:19 -07:00
Sean Corfield
d187c66987
add :alias special syntax #497
2023-08-11 19:06:30 -07:00
Sean Corfield
ba336f2884
clarify :values clause behavior with columns
...
also add more examples to the RCF at the bottom of honey.sql.
2023-08-10 19:31:17 -07:00
Sean Corfield
e679e93362
add formatf experiment #495
2023-06-23 16:05:41 -07:00
Sean Corfield
e7972ac1b4
on-conflict needs ( ) around exprs
2023-06-20 13:03:19 -07:00
Sean Corfield
290537c581
fix #494 by supporting expressions in on conflict
2023-06-20 12:11:00 -07:00
Dangercoder
93c8ad75a6
Added honey.sql/upper-case for clojure-clr
2023-06-02 20:24:52 +02:00
Sean Corfield
84a41cba7d
Initial ClojureCLR compat changes
2023-05-21 16:05:30 -07:00
Sean Corfield
bc66ec5aee
fix #485 by adding :with-ordinality operator
2023-04-15 11:37:20 -07:00
Sean Corfield
1710e07231
fix #486 by support ansi/postgresl interval
2023-04-13 22:46:37 -07:00
Sean Corfield
2efe05def2
fix #484 by adding TABLE to TRUNCAT
2023-04-10 14:09:28 -07:00
Sean Corfield
858d157863
address #483 (still needs tests and docs)
2023-04-06 22:49:13 -07:00
Sean Corfield
e8753efa3e
fix #478 by removing duplication in one branch
2023-03-13 14:24:11 -07:00
Sean Corfield
3f31e5a61f
fix #478
2023-03-12 17:40:53 -07:00
Sean Corfield
f7cf5718cc
fix #476 by restoring multi-argument :raw
2023-03-04 14:21:40 -08:00
Sean Corfield
3c65999ef1
fix #474 by documenting dot-selection
...
and adding support for two levels of field/column selection
2023-03-03 15:26:22 -08:00
Sean Corfield
c905853366
address #471 by switching prefix to :!
2023-03-02 09:56:30 -08:00
Sean Corfield
da150f03e3
address #474
2023-03-01 16:55:54 -08:00
Sean Corfield
0936095040
address #471
2023-02-28 17:38:13 -08:00
Sean Corfield
a610f256dd
address #466 by collapsing 0-arity :and/:or
2023-02-27 20:07:24 -08:00
Sean Corfield
44b6de4139
Merge pull request #469 from p-himik/464-typed-arrays
...
Add optional type argument to the :array special
2023-02-27 16:14:54 -08:00
Eugene Pakhomov
0c7642a357
Add optional type argument to the :array special
2023-02-28 02:04:05 +02:00
Sean Corfield
fc3397650e
Merge pull request #470 from p-himik/467-allow-scalar-order-by-et-al
...
Allow single kw in :order-by and other clauses
2023-02-27 14:00:44 -08:00
Eugene Pakhomov
3fba12fbcc
Allow single kw in :order-by and other clauses
2023-02-26 14:20:09 +02:00
Eugene Pakhomov
dae73c6195
Allow multiple expressions in special :order-by
2023-02-26 12:22:12 +02:00
Sean Corfield
de0adf56ef
fixes #461 ; prep for 2.4.980
2023-02-15 22:10:45 -08:00
Sean Corfield
762252b660
fixes #459 by making all operators variadic
...
except for := and the various :<> variants
some operators only make sense in binary usage and will produce invalid
SQL if used in a non-binary manner
2023-02-11 13:35:55 -08:00
Sean Corfield
f8532dfd33
fixes #458 by adding four registered-*? predicates
2023-02-11 12:54:43 -08:00
Sean Corfield
213c152fdb
fixes #456
2023-02-01 22:20:14 -08:00
Sean Corfield
4a7c3631a6
fix #454 by allowing - to be variadic
2023-01-14 15:35:03 -08:00
Sean Corfield
6bdc262e7c
close #452 - support :replace-into in all dialects
2023-01-14 15:27:42 -08:00
Sean Corfield
bf96f034c3
update docs; fix set-options!
2022-12-17 16:02:02 -08:00
Sean Corfield
c62f5da3f8
make numbered params work with 'in'
2022-12-16 23:56:53 -08:00
Sean Corfield
4ea630ed90
basic testing for numbered params
2022-12-16 23:20:17 -08:00
Sean Corfield
359d9de668
basic numbered parameter support
2022-12-16 23:11:45 -08:00
Youngil Choi
a87fa0c9ab
Improve type formatting logic in :cast function
2022-11-20 06:51:43 +09:00
Sean Corfield
562b20634a
fix #434 by special-casing array
2022-11-17 22:39:48 -08:00
Sean Corfield
15cf3ae588
improve :values error message
2022-11-17 08:31:27 -08:00
Sean Corfield
db1b37eaa3
fix #441
2022-11-07 09:18:36 -08:00
Sean Corfield
95e50a930e
fixes #386 #437 #439
2022-11-05 17:15:32 -07:00
Sean Corfield
e8ea9283cc
fix Support full TRUNCATE syntax (cascade, identity) #438
2022-11-04 23:40:30 -07:00
Ike Mawira
73d36ab2b5
Update docs and tests for WITH clause
2022-09-23 16:54:30 +03:00
Ike Mawira
30e554f31c
Allow with expr AS ident syntax in WITH clause
2022-09-22 19:40:15 +03:00
Sean Corfield
061288f1c0
address #415 by supporting multi-column add/alter/modify
2022-09-12 18:17:26 -07:00
Sean Corfield
5d7a3faea5
address #415 by supporting multiple drop columns
2022-09-12 13:51:54 -07:00
Sean Corfield
02d20bd78c
address #430 by expanding escape hatch from #352
2022-09-11 20:52:53 -07:00
Sean Corfield
723b134e90
fix set-dialect! reset and document it
2022-09-11 15:09:12 -07:00
Sean Corfield
63df2f3dc9
address #427 by adding set-options!
2022-09-11 14:21:39 -07:00
Sean Corfield
2f1d3ae870
fixes #421 replace into
2022-09-03 21:34:09 -07:00
Sean Corfield
9569b19a34
address #425 for map inserts
2022-09-02 22:35:17 -07:00
Sean Corfield
3073d28525
address #423 by adding support for default
...
needs documentation
2022-09-01 22:54:00 -07:00
Sean Corfield
a879a2d8a1
auto-quote unusual entities by default
2022-08-23 15:41:38 -07:00
Rob Hanlon
204f6fa72a
Support materialization control in WITH
...
Adds an optional third value to `with` vectors, which can be the
following:
* `:materialized` -> SQL is `WITH cte AS MATERIALIZED (...)`
* `:not-materialized` -> SQL is `WITH cte AS NOT MATERIALIZED (...)`
* omitted or anything else -> SQL is `WITH cte AS (...)`
Note that materialization control is not available on WITH RECURSIVE
CTEs, so `format-with` was modified to take a third argument that
returns the `AS ...` separator, which is constantly `"AS"` for WITH
RECURSIVE, and obeys the aforementioned rules for non-recursive CTEs.
Resolves #392 .
2022-08-16 16:01:52 -07:00
Sean Corfield
d31600d2c0
fix string for cljs too
2022-08-06 22:29:17 -07:00
Sean Corfield
c10a97e1ec
use default instead of js/Object
...
This shuts the cljs compiler up
2022-08-06 22:20:29 -07:00
Sean Corfield
2cba8bc3d7
fix cljs for #419
2022-08-06 22:02:21 -07:00
Sean Corfield
99e955f420
fix #419 by adding InlineValue protocol
2022-08-06 21:49:49 -07:00
Sean Corfield
e6654f7a22
check for empty where clauses fix #413
2022-08-06 21:11:08 -07:00
Sean Corfield
f0ada59fff
fix #406
2022-07-29 15:41:04 -07:00
Sean Corfield
91e75a7edf
Merge branch 'develop' of github.com:seancorfield/honeysql into develop
2022-05-20 10:46:07 -07:00
Sean Corfield
d065a04e18
placeholder (should :array unwrap params?)
2022-05-20 10:34:10 -07:00
Sean Corfield
2e9b395b31
remove old calva workaround
2022-05-19 20:29:32 -07:00
Sean Corfield
5fe73c75bc
Support custom dialects fixes #401 (add docs/tests)
2022-05-01 17:34:31 -07:00
Sean Corfield
8c8b05e67f
Support custom dialects: addresses #401
...
Still needs tests and documentation.
2022-04-30 22:03:36 -07:00
Sean Corfield
5e847cde0e
only throw for named param #396
2022-04-23 16:03:21 -07:00
Sean Corfield
270b9439c8
attempting to cache SQL that contains IN () will throw fixes #396
2022-04-23 15:54:24 -07:00
Sean Corfield
124fac6f28
:insert-into should support abitrary functions for table fixes #402
2022-04-23 15:12:55 -07:00
Sean Corfield
7f8b7a79b1
addresses #403 : improve error message; improve docs
2022-04-23 13:40:34 -07:00
Sean Corfield
a2e02c8a03
fix #394 by escaping quote chars
...
This matches the HoneySQL 1.x behavior now.
2022-03-31 17:34:51 -07:00
Sean Corfield
314f497417
fix #400 by adding :table clause
2022-03-26 16:58:28 -07:00
Sean Corfield
af69f12630
address #398 (needs docs)
2022-03-25 21:48:00 -07:00
Fredrik Vaeng Røtnes
ca0feb57e5
Fix docstring of add-clause-before
...
The result of adding a clause to a list in which the it already appears, is not to remove it from the list, but to move it to the end.
2022-03-19 22:16:20 +00:00
Sean Corfield
f711b934fa
fix #387 properly
2022-02-22 21:27:10 -08:00
Sean Corfield
803ff41dc0
Dehyphen improvements fixes #387
2022-02-21 19:09:49 -08:00
Sean Corfield
4bf76920ef
fix #385 by quoting inlined uuids
2022-02-09 10:20:36 -08:00
Sean Corfield
c7c634d694
change :' to use format-entity #352
2022-02-02 23:51:01 -08:00
Sean Corfield
1f2773bd16
address #352 by treating :'foo literally
2022-02-02 22:04:44 -08:00
Sean Corfield
8a2f447676
Fix #382 by adding :case-expr syntax
2022-01-29 17:19:17 -08:00
Sean Corfield
139de6f56c
fix #380 by accounting for vars
2022-01-21 13:05:15 -08:00
Sean Corfield
e3de2a621d
document :cache option
...
Also try to clear up confusion about function syntax while I'm adding
examples!
2022-01-20 13:02:17 -08:00
Sean Corfield
18adeb1048
rename to satisfy Eastwood
2022-01-10 11:12:47 -08:00
Michiel Borkent
e331ba0a0e
Improve performance and GraalVM image size
2022-01-10 13:58:25 +01:00
Sean Corfield
826407e9db
first pass of caching formatter
...
needs more documentation.
Initial results suggest a speedup for simple queries of 2-3x.
Complex queries can see up to 20x speedup.
2022-01-08 00:41:21 -08:00
Sean Corfield
2670abc75f
fix #377 by adopting @corasaurus-hex function as map=
2022-01-07 23:16:56 -08:00
Sean Corfield
99ce051a9d
add array/struct support
2022-01-07 12:53:30 -08:00
Sean Corfield
e8e6c7f932
address #281 - support select foo.* except
2022-01-07 11:35:08 -08:00
Sean Corfield
a653f9b157
address #281 add select * except / replace for BigQuery
2022-01-06 23:02:20 -08:00
Sean Corfield
8979e938f3
fixes #374
2021-12-23 13:32:47 -08:00
Sean Corfield
b30aa0f3f9
fix #375
2021-12-21 22:54:02 -08:00
Sean Corfield
e0cafbd434
extend lint checks to several column lists
2021-12-03 13:06:34 -08:00
Sean Corfield
66fc3a68ee
fix #354
2021-11-27 15:27:12 -08:00
Sean Corfield
d660c059d4
fix #370
2021-11-26 22:40:51 -08:00
Sean Corfield
be1df97b2b
fix #371
2021-11-26 22:30:36 -08:00
Sean Corfield
3cacec9c32
addresses #366 -- needs documentation!
2021-10-03 22:32:05 -07:00
Sean Corfield
6aee04e25c
fixes #365
2021-10-03 22:18:12 -07:00
Sean Corfield
3d0a9ba79c
fixes #367
2021-10-03 21:59:11 -07:00
Sean Corfield
92e0a04a84
fixes #353 fixes #349
2021-09-25 17:27:04 -07:00
Sean Corfield
dae09ff601
fixes #363 by improving inlining capability
2021-09-25 17:06:48 -07:00
Sean Corfield
c7c6102661
address #353 for create table/string entity
2021-09-09 10:41:37 -07:00
Sean Corfield
ec758dd818
support AS in DELETE FROM alias
2021-09-01 10:20:19 -07:00
Sean Corfield
9ece8972b5
fixes #344 by special-casing MySQL SET
2021-08-12 18:26:39 -07:00
Sean Corfield
10e6e755e9
fixes #340
2021-07-22 19:49:25 -07:00
Sean Corfield
50bbfef07f
Fixes #338 properly by making offset/fetch smarter
2021-07-17 17:57:17 -07:00
Sean Corfield
7e84b58463
fixes #338 by adding ONLY to :fetch
2021-07-17 13:32:43 -07:00
Sean Corfield
cf136c2fdc
cljs/1.9 compatibility
2021-06-17 13:05:49 -07:00
Sean Corfield
00b20f6bbf
Address #330 by improving exception
2021-06-17 12:54:15 -07:00
Sean Corfield
228eb9fb67
Fix #327 by improving error message
2021-06-12 18:47:10 -07:00
Sean Corfield
a51cfe5a2e
Fixes #328 by adding :distinct special syntax
2021-06-12 18:15:59 -07:00
Sean Corfield
f508196ba3
Address #329
2021-06-12 18:15:41 -07:00
Sean Corfield
52308d484f
Support PostgreSQL && array operator
2021-05-17 10:40:19 -07:00
Sean Corfield
819c6e7c19
Additional work on #325 ; update CHANGELOG
2021-05-10 12:37:07 -07:00
Sean Corfield
e38bb73295
Merge pull request #325 from zugnush/quoting_fix
...
quoting for :%fun.col(s) syntax to match with [[:fun :col]]
2021-05-10 12:24:06 -07:00
Sean Corfield
572984a45d
Addresses #326 by allowing ON/USING to be optional
2021-05-10 12:05:07 -07:00
Sean Corfield
12bfa32962
Addresses #326 by no longer dropping parameters
2021-05-10 11:55:28 -07:00
Neil McCalum
9c38554154
format with opts, hyphen to under in function names, improve and relocate tests
2021-05-11 01:07:34 +12:00
Neil McCalum
6ebc017969
quoting for :%fun.col(s) syntax to match with [[:fun :col]]
2021-05-09 17:18:39 +12:00
Sean Corfield
d73560b7e3
Add :quoted-snake option
2021-05-08 21:01:28 -07:00
Sean Corfield
20cba15da2
Fixes #321 by adding :checking option
...
Initial linting is only for IN () and IN (NULL)
2021-04-22 22:13:32 -07:00
Sean Corfield
f606dc6044
Fixes #323 by allowing multiple column names
2021-04-22 19:16:30 -07:00
Sean Corfield
272b088918
Revert "Addresses #315 by expanding IN to handle nil"
...
This reverts commit 8a1e2cca71 .
2021-04-12 15:04:17 -07:00
Sean Corfield
e6a5bdb001
Fixes #308 by adding support for clauses
...
This also corrects the docstring for the join-by helper.
2021-04-11 04:18:14 -07:00
Sean Corfield
50fd829752
Addresses #310 by adding filter, order-by, within-group syntax
2021-04-11 14:32:48 -07:00
Sean Corfield
bbc0ac8500
Documentation updates
2021-04-11 11:39:06 -07:00
Sean Corfield
8a1e2cca71
Addresses #315 by expanding IN to handle nil
2021-04-10 10:57:13 -07:00
Sean Corfield
7a83bc13fe
Tweak docstring
2021-04-10 00:13:04 -07:00
Sean Corfield
88282ee258
Fixes #316 by adding check on entity characters
...
Also record that documentation addresses #300 , #309 , #313 , and #314 .
2021-04-09 23:41:59 -07:00
Sean Corfield
2fe083f8e6
Support named arguments in format again
...
With the advent of Clojure 1.11 and the ability to call functions that
accept named arguments using a hash map, I have restored the named
argument version of `format` (in addition to the hash map version),
and if you are using Clojure 1.11 you can mix'n'match styles.
2021-04-09 17:04:48 -07:00
Sean Corfield
106b19bcf6
Add clause-order to see current clause order
...
This should help when folks are figuing out `register-clause!` calls.
2021-04-09 16:31:16 -07:00
Sean Corfield
af382708e5
Fixes #319 by making register-clause! idempotent
...
Technically, it removes any instance of the clause from the ordering
before it attempts to add it back in, allowing you to correct the
order if you got it wrong.
2021-04-09 15:58:56 -07:00
Sean Corfield
06f25ed2e3
Fixes #317 by dropping qualifier in :set clause
2021-04-01 12:50:09 -07:00
Sean Corfield
13d62b4ac1
Also show quoting/not-quoting and table.col forms
2021-03-15 16:54:13 -07:00
Sean Corfield
73c2062d6e
Investigation of string-as-entity behavior
...
This is something that should be updated in the docs.
2021-03-15 16:45:26 -07:00
Sean Corfield
9672ed3704
Fixes #312 (properly this time)
2021-03-15 15:26:22 -07:00
Sean Corfield
fd84864279
Fixes #161 by adding :raw clause support
2021-03-15 14:48:28 -07:00
Sean Corfield
16d04a1dfd
Fixes #297 by adding into/bulk-collect-into
2021-03-13 13:42:08 -08:00
Sean Corfield
cff1e5b43c
Fixes #284 by adding lateral expression syntax
2021-03-13 13:13:35 -08:00
Sean Corfield
82ee465820
Fixes #292 by supporting offset/fetch
2021-03-13 12:36:25 -08:00
Sean Corfield
6b070df52c
Finish off TOP implementation #292
2021-03-13 12:10:42 -08:00
Sean Corfield
479008c294
Address #292 by starting to support SELECT TOP
2021-03-12 18:54:19 -08:00
Sean Corfield
dc6a3662f0
Fixes #303 by adding ON DUPLICATE KEY UPDATE
2021-03-12 16:13:52 -08:00
Sean Corfield
d35d9141bc
Fixes #280 by adding [:escape pattern chars]
2021-03-12 15:39:54 -08:00
Sean Corfield
ddebda9481
Fixes #301 Fixes #306 by expanding drop/create syntax
2021-03-12 11:43:21 -08:00
Sean Corfield
445fb08e2f
Initial work to support #301
2021-03-11 20:07:59 -08:00
Sean Corfield
efcee05e0a
Beginnings of generic create #301 #306
2021-03-07 22:13:25 -08:00
Sean Corfield
e70985e93b
Fixes #277 by adding join-by
2021-03-07 19:21:13 -08:00
Sean Corfield
41522c89a1
Clarify 1.9+ Clojure support
2021-03-07 09:43:03 -08:00