Commit graph

567 commits

Author SHA1 Message Date
Sean Corfield
75830df509 address #504 by adding ignore/respect null support 2023-09-08 21:55:24 -07:00
Sean Corfield
87f3e731b1 docs for #496 2023-08-27 09:53:28 -07:00
Sean Corfield
ad1b0f9880 address #496 by adding :overriding-value option 2023-08-26 16:45:39 -07:00
Sean Corfield
44ffd340f5 fix #501 by making insert/columns/values talk to each other 2023-08-26 16:20:32 -07:00
Sean Corfield
bf1517a60e fix bigquery support for #407 2023-08-26 14:52:20 -07:00
Sean Corfield
1d6ae7b376 fix #407 by adding temporal clause support 2023-08-26 14:39:15 -07:00
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
2f99103ed1 add matching helper 2023-08-23 12:55:21 -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
5164c24342 improve helpers ns docstring 2023-06-24 10:23:07 -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
f14e95ec9d Merge branch 'develop' of github.com:seancorfield/honeysql into develop 2023-05-21 16:07:47 -07:00
Sean Corfield
84a41cba7d Initial ClojureCLR compat changes 2023-05-21 16:05:30 -07:00
Jakub Holý
3d88db6f21
improve on-conflict docstring
It was unclear to me what the "hash map" where-condition meant so I tried to clarify.
2023-05-20 21:53:38 +02: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
Jakub Holý
e6f9ffdc32
pg-ops: add docs 2023-03-01 15:40:38 +01: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
74b05965c1 fix #431 by using if-some instead of if-let 2022-09-20 03:51:19 -07: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
Cora Sutton
79c005b765 Change public-fns-have-clauses assertion to allow custom clauses
Fixes #416
2022-07-28 22:38:01 -05:00
Sean Corfield
91e75a7edf Merge branch 'develop' of github.com:seancorfield/honeysql into develop 2022-05-20 10:46:07 -07:00
Sean Corfield
fb1decbd1e fixes #409 by making the check conditional 2022-05-20 10:46:04 -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
e45ea8586e Add PostgreSQL JSON / regex operators fixes #398 2022-04-23 15:40:47 -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
2e7da61f56 #398 add names for all ops; hash is mnemonic for # 2022-03-26 14:20:58 -07:00
Sean Corfield
ab7c235329 fix #399 by correcting docs and tests 2022-03-26 13:45:43 -07:00
Sean Corfield
17319cdd26 #398 treat -> as variadic 2022-03-26 08:28:24 -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
1d22086fce fix #381 by adding generic helpers; prep for 2.2.861 2022-01-30 22:31:37 -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
e562329669 typo in docstring 2021-12-04 09:39:43 -08:00
Sean Corfield
e0cafbd434 extend lint checks to several column lists 2021-12-03 13:06:34 -08:00
Sean Corfield
dc37852024 fix #372 2021-12-02 15:20:03 -08:00
Sean Corfield
87039e7159 clarify argument lists of helper functions 2021-11-27 15:53:36 -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
52e2a57fca Fix fetch helper 2021-07-17 16:51:34 -07:00
Sean Corfield
7e84b58463 fixes #338 by adding ONLY to :fetch 2021-07-17 13:32:43 -07:00
Sean Corfield
395ba6a5bd Address #334 in part by correcting :arglist 2021-06-21 15:17:04 -07:00
Sean Corfield
b32911d808 Fix bug in unrolling with-columns args 2021-06-21 14:50:55 -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
bece0f1fd1 Fixes #327 by correcting generic-1 helper 2021-06-12 18:57:36 -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
46b3c1773b Fixes #324 by correcting insert-into 2021-05-01 12:56:42 -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