Commit graph

567 commits

Author SHA1 Message Date
Oleksandr Yakushev
ac136dab08 Pass strings to strop
Converting Character->String involves additional allocations. Passing literal
strings avoids that.
2024-09-27 12:59:10 +03:00
Oleksandr Yakushev
846123c57a Introduce more efficient implementations of str and join 2024-09-26 23:15:15 +03:00
Sean Corfield
230cc467a1
fixes #538
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-09-22 17:15:47 -07:00
Sean Corfield
084c1ec5e5
fixes #543
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-09-22 17:11:01 -07:00
Sean Corfield
150fcda6d3
a simplification to prepare for #542
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-09-21 18:33:43 -07:00
Sean Corfield
4efa9a38ef
address #539 by improving getting started
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-09-21 18:12:10 -07:00
Sean Corfield
bf34a23e68
fixes #537 by sanitizing metadata while expanding support to numbers
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-08-28 18:50:25 -07:00
Ben Lieberman
b531747918
Update pg_ops.cljc
Add docstring info to @@ operator pertaining to its text search usage
2024-07-14 09:43:28 -06:00
Jakub Holý
e7ef940e24
Update pg-ops/- docstring wrt array input
The `-` operator also works for arrays:

```sql
select '{"a":1,"b":2,"c":3}' - array['a','b'];
-- => {c:3}
select '["a","b","c"]'::jsonb - array['a','b']
-- => ["c"]
```
2024-07-04 17:13:24 +02:00
Sean Corfield
a3ef215485
fixes #526 by using format-var in ddl destructuring instead of format-entity
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-06-24 20:30:15 -07:00
Sean Corfield
b07ac78d68
fixes #533 by adding mostly undocumented *escape-?* dynvar
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-06-13 09:28:06 -07:00
Sean Corfield
2c6bf85f7f
fixes #530 by supporting :using-gin in :create-index
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-06-12 22:53:40 -07:00
Sean Corfield
bab4ce4bd5
fix set-dialect! and update from values docs
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-06-09 11:44:21 -07:00
Sean Corfield
747383c847
fix #529 by changing how table name/expression is formatted in special join syntax
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-05-13 15:26:00 -07:00
Sean Corfield
5b04aa28c5
improve message for unlifted JSON usage
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-04-20 10:14:40 -07:00
Sean Corfield
d1e9617eae Revert "fix #528 by not ?-escaping operators"
This reverts commit eb680a204e.
2024-04-04 09:43:59 -07:00
Sean Corfield
eb680a204e
fix #528 by not ?-escaping operators
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-04-03 16:56:13 -07:00
Sean Corfield
f69ee7e8de
fix #527 by adding tests for composite and documenting its use in more detail
both from clause and composite special syntax have examples now

Signed-off-by: Sean Corfield <sean@corfield.org>
2024-03-29 15:15:12 -07:00
Sean Corfield
225c0db092
fix #495 by documenting formatv and adding tests
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-03-04 12:38:03 -08:00
Sean Corfield
51e64e1891
minor cleanup
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-03-03 21:56:16 -08:00
Sean Corfield
2f159ac912
reorder dialects
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-02-26 22:08:10 -08:00
Sean Corfield
2149a80852
fix #523
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-02-03 12:37:43 -08:00
Sean Corfield
52ed86284a
linting
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-01-14 17:09:46 -08:00
Sean Corfield
d64177bde5
fix MS SQL table hints in FROM clause (e.g. NOLOCK) #522
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-01-14 14:48:39 -08:00
Sean Corfield
35f4c674e9
omit for .cljs
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-01-06 22:39:25 -08:00
Sean Corfield
1291b328d0
two more possible solutions to #495
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-01-06 22:35:02 -08:00
Sean Corfield
9b9ec47bcf
fix #520
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-01-06 12:38:11 -08:00
Sean Corfield
2e34a9f4ea
fix #518
Signed-off-by: Sean Corfield <sean@corfield.org>
2024-01-06 11:38:45 -08:00
Hannu Hartikainen
e70e3713fc Implement CREATE INDEX
Fixes #348.
2023-12-08 13:09:39 +02:00
Sean Corfield
1e44f82eb5 fix #515 by adding :quoted-always option 2023-12-03 16:50:16 -08:00
Sean Corfield
9da2ccc812 fix #513 with :ignored-metadata option 2023-12-02 11:47:43 -08:00
Sean Corfield
f46dbc5ca7 #515: exclude some entities from smart quoting
this is a partial solution, intended to catch (and quote) things like
`0abc` while not changing the behavior for `80` or `2023_11_20`
2023-11-20 11:43:33 -08:00
Sean Corfield
002285a5af revert quoting changes 2023-11-16 22:36:21 -08:00
Sean Corfield
bcbaae5ef5 #514 relax rules again 2023-11-16 22:32:40 -08:00
Sean Corfield
4a7d46dd1f partial #514 solution
improve default quoting strategy (all numeric with _ is OK, leading
alpha with optional alphanumeric/_ is OK, entity with leading digit then
alphanumeric needs quoting).

plus *always-quote* dynamic var that can be bound to regex.
2023-11-16 22:30:35 -08:00
Sean Corfield
7d05220cfa partial #513 by dissoc'ing common metadata 2023-11-16 22:13:42 -08:00
Sean Corfield
1fe526a734 prep for 2.5.1090 2023-10-28 14:04:35 -07:00
Sean Corfield
737baa9d0e fix #512 by supporting array subquery
also adds metadata support for select to produce as struct (or distinct)
2023-10-28 13:39:26 -07:00
Sean Corfield
e36ad64aa6 #510 document nrql dialect 2023-10-21 16:17:28 -07:00
Sean Corfield
d45e1dff0f #510 improve nrql helper docstrings 2023-10-21 15:47:33 -07:00
Sean Corfield
10b2a17718 #510 support :timeseries :auto 2023-10-21 15:42:11 -07:00
Sean Corfield
7d56daacca initial BigQuery :create-table-as :or-replace 2023-10-20 10:50:09 -07:00
Sean Corfield
440b86633a #510 make facet multi-arg 2023-10-17 11:59:25 -07:00
Sean Corfield
5e9bdba777 #510 basic facet support 2023-10-16 21:23:07 -07:00
Sean Corfield
2c6b89751d start work on nrql dialect #510 2023-10-16 16:35:37 -07:00
Sean Corfield
872cb1d006 fix #509 by checking for ident? first 2023-10-16 11:32:45 -07:00
Sean Corfield
a9d33a8873 minor code dedupe 2023-09-27 23:25:31 -07:00
Sean Corfield
11e1a93c59 fix #505 by rewriting helper-merge 2023-09-27 23:13:16 -07:00
Sean Corfield
756ed95b43 fix #503 by adding at time zone special syntax 2023-09-16 11:34:05 -07:00
Sean Corfield
ac09fc1abd add distinct/expr clauses 2023-09-08 22:28:25 -07:00
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