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
f393a61010
Remove honey.specs (for now) #146
2021-04-10 03:58:29 -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
7c21a403c2
Fixes #295 by documenting all helpers
2021-03-13 15:35:47 -08: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
Sean Corfield
b600348808
Addresses #283 on the v1 branch
2021-03-06 22:10:43 -08:00
Sean Corfield
06d90c174e
Rework and-merge WIP (tests fail)
2021-03-06 18:40:23 -08:00
Sean Corfield
78ca2a0530
Fixes #305 by supporting more complex JOIN source
2021-02-27 09:33:20 -08:00
Sean Corfield
28a4074e12
Add flexibility for on conflict / on constraint
2021-02-15 20:43:53 -08:00
Sean Corfield
331597b22b
Improve on conflict on constraint syntax
2021-02-15 17:56:47 -08:00
Sean Corfield
0bb7740f69
Docstrings
2021-02-14 20:45:14 -08:00
Sean Corfield
f4137d3fc1
Enhance insert-into; document more helpers
2021-02-14 20:39:32 -08:00
Sean Corfield
05360d10d6
More helper docstrings
2021-02-14 18:28:35 -08:00
Sean Corfield
d5ab2a8d8c
More helper docstrings
2021-02-14 17:54:13 -08:00
Sean Corfield
f6a38e4024
More helper docstrings
2021-02-14 17:20:24 -08:00
Sean Corfield
ea4e120252
Add docstrings for DDL helpers
2021-02-14 16:52:35 -08:00
Sean Corfield
f84726a48b
Reformatting to prepare for docstring addition
2021-02-14 11:37:27 -08:00
Sean Corfield
e23502eba8
Add create/drop extension #293
2021-02-13 22:06:43 -08:00
Sean Corfield
38da6f567b
Fixes #294 by applying inline everywhere
2021-02-13 21:29:22 -08:00
Sean Corfield
e585ded37e
Restore upsert helper for #293
2021-02-13 19:08:40 -08:00
Sean Corfield
6355452102
Update docs for the PG extension stuff
2021-02-13 16:17:30 -08:00
Sean Corfield
f6975ef6bd
Fix select as, select distinct on
2021-02-13 15:58:56 -08:00
Sean Corfield
4ce56997c9
Fix rename table
2021-02-13 12:24:21 -08:00
Sean Corfield
4b7ded4009
WIP nilenso test (fails)
2021-02-13 10:50:36 -08:00
Sean Corfield
41ed38ea38
Finish and document DDL
2021-02-12 21:50:22 -08:00
Sean Corfield
167d7cee0c
Addresses #293 by adding alter table stuff
...
And documenting more of the DDL.
2021-02-12 17:08:37 -08:00
Sean Corfield
49d8365bfb
Addresses #293 partial with-columns implementation
2021-02-10 22:32:29 -08:00
Sean Corfield
83d4ccba38
Addresses #293 start work on DDL support
2021-02-10 20:07:05 -08:00
Sean Corfield
e157aec976
Addresses #293 by adding over, partition-by, and window
2021-02-10 16:25:31 -08:00
Sean Corfield
5318c184e6
Addresses #293 by expanding insert-into behavior
...
This adds alias support into `:insert-into`.
It also adds some tests for the PostgreSQL-specific
stuff currently in nilenso's library.
2021-02-10 15:07:16 -08:00
Sean Corfield
0a83601c3c
Fixes #298 by restoring multi-CTE capability
...
Reverts code changes that stripped the sequence support.
Updates the docs to clarify how sequence support works.
2021-02-10 12:04:53 -08:00
Sean Corfield
e02b5b5c82
Revert "Document with / CTE"
...
This reverts commit c00fbffe30 .
2021-02-10 11:50:00 -08:00
Sean Corfield
9f579f492a
Allow symbols in for/lock clauses
2021-02-08 12:48:33 -08:00
Sean Corfield
88ec86fd18
Allow direction to default with expression
2021-02-07 04:47:08 -08:00
Sean Corfield
bb16567d50
Document more clauses
2021-02-07 03:40:29 -08:00
Sean Corfield
c00fbffe30
Document with / CTE
...
Change the implementation to support just a pair instead of the legacy,
weird sequence of one pair.
2021-02-06 09:00:46 -08:00
Sean Corfield
1d2b8e8203
Document special syntax
2021-02-02 16:43:09 -08:00
Sean Corfield
ea0bfbabc1
Outline of docs for clauses, operators, and special syntax
2021-02-02 14:50:12 -08:00
Sean Corfield
80c137949e
Initial Getting Started/Extending HoneySQL docs
2021-02-02 12:25:26 -08:00
Sean Corfield
4cbeb170dd
Ensure no dependence on vector (vs sequence)
2021-02-01 16:45:35 -08:00
Sean Corfield
d7c7f15a6b
Final de-?-ing keyword arguments/options
2021-02-01 16:24:00 -08:00
Sean Corfield
53bcfd8bea
Move toward 2.0.0 Alpha 1
2021-02-01 14:49:17 -08:00
Sean Corfield
379d3d05c4
Drop ? from all keyword options
2021-02-01 13:10:57 -08:00
Sean Corfield
2ef9d4dad2
Docstring overhaul
2021-02-01 12:00:42 -08:00
Sean Corfield
7aab640e30
Fixes #291 by ensuring consistent values
...
For uneven vectors of values, pad with NULLs.
For uneven maps of values, use full set of keys across all of them.
2021-02-01 10:44:07 -08:00
Sean Corfield
0e2aae4a00
Fix :lift and test to use wrapper
2021-01-31 05:31:10 -08:00
Sean Corfield
c92656389b
Make params dynamic/implement in/not-in
2021-01-31 05:08:21 -08:00
Sean Corfield
429761f106
Fixes #261 by re-implementing :raw
2021-01-30 12:35:51 -08:00
Sean Corfield
67c6c3a2cf
Fixes #275 by dropping 1.7 & 1.8
2021-01-30 11:50:14 -08:00
Sean Corfield
8373c72f45
Fixes #286 by supporting WAIT, SKIP LOCKED
...
NOWAIT was already supported.
2021-01-30 11:43:48 -08:00
Sean Corfield
d2968bbfcc
Fixes #289 by implementing USING
2021-01-30 11:19:12 -08:00
Sean Corfield
d5b11e2da6
Implement JOIN USING
2021-01-30 11:00:34 -08:00
Sean Corfield
07eb66759a
Restore cljs compatibility
2021-01-30 17:27:00 -08:00
Sean Corfield
87eec786e1
It's 2021
2021-01-29 16:11:52 -08:00
Sean Corfield
273732089b
Improve :inline/:raw
...
Note: these are still in flux!
2020-10-14 11:50:32 -07:00
Sean Corfield
b762a514b6
Addresses #280 by adding similar to / not similar to
2020-10-14 11:00:39 -07:00
Sean Corfield
4dcc44d878
Fix - as operator
...
Not a great workaround. May rethink depending on what other operators
get added containing `-`.
2020-10-14 11:00:20 -07:00
Sean Corfield
8025d3520d
Bug fixes for JOINs
2020-10-12 22:54:59 -07:00
Sean Corfield
b547a94003
Restore - -> _ translation from 1.0
2020-10-12 22:54:46 -07:00
Sean Corfield
f14b73e592
Start merging old core tests (for helpers)
2020-10-12 18:50:07 -07:00
Sean Corfield
0206eabc1e
Empty SQL vector support
...
Drop clauses that generate no SQL
2020-10-12 18:38:35 -07:00
Sean Corfield
eff3b03a81
Support case/when/then/else
2020-10-12 18:38:05 -07:00
Sean Corfield
d1e4e196d0
Support empty conditions
...
Which remove the clause
2020-10-12 18:37:48 -07:00
Sean Corfield
febcf385ee
Yet another where helper fix
...
Support nil conditions
2020-10-12 18:37:28 -07:00
Sean Corfield
96260901c2
All v1 core clauses are implemented now!
2020-10-12 14:53:52 -07:00
Sean Corfield
796f11c3f4
Fix composite by turning it into special syntax
2020-10-12 11:42:47 -07:00
Sean Corfield
ccd5447a09
Format sequential values as full SQL expressions
2020-10-12 11:33:18 -07:00
Sean Corfield
2decf35072
Fix most of the README formatting
2020-10-09 23:59:43 -07:00
Sean Corfield
9da83b5e1b
Fix where merging; fix single-arg helpers
2020-10-09 23:59:30 -07:00
Sean Corfield
d04d9f600a
Fix VALUES with multiple hash maps
2020-10-09 23:58:55 -07:00
Sean Corfield
15ace00e49
Fix string alias (should quote)
2020-10-09 23:58:38 -07:00
Sean Corfield
98b18bbb6e
Fix where/having helpers; add select-distinct
2020-10-09 23:05:05 -07:00
Sean Corfield
a83998d354
Documented extension mechanism; updated README
...
Helpers are the next big piece of work.
2020-10-09 22:31:55 -07:00
Sean Corfield
97a3782112
Support :inline option
...
This is similar to `:parameterizer :none` (but better).
2020-10-09 21:52:18 -07:00
Sean Corfield
0c7ce43381
Address #279 by treating UNION expressions as nested
2020-10-09 21:30:45 -07:00
Sean Corfield
04724df814
Implement :lift special syntax
2020-10-02 13:43:44 -07:00
Sean Corfield
6632335384
Add nesting support in expressions and the DSL
2020-10-02 13:24:44 -07:00
Sean Corfield
9f8d1a8564
Implement :?foo [:param :foo] and primitive [:raw "sql"]
2020-10-01 23:30:18 -07:00
Sean Corfield
ddef4068ba
Ensure DSL elements can be symbols (as well as keywords)
2020-09-30 13:00:09 -07:00
Sean Corfield
a789d4a4ff
Support registration of new infix operators and new function/syntax
2020-09-29 14:40:03 -07:00
Sean Corfield
b94f169af3
Normalize symbol/keyword logic
...
We will allow symbols anywhere that we previously allowed keywords.
2020-09-29 14:20:34 -07:00
Sean Corfield
8b2f0ef292
Add locking select support via for/lock
2020-09-28 20:45:43 -07:00
Sean Corfield
867d5d3482
Implement composite; clean up readme
2020-09-28 19:24:17 -07:00
Sean Corfield
6d31c4839d
Add first pass of helpers
2020-09-28 13:47:55 -07:00
Sean Corfield
a7590e9216
Enhance special syntax
...
Pass op in as first argument so we can write more generic functions.
2020-09-28 13:18:21 -07:00
Sean Corfield
0706d0b7ba
Improve insert into support
2020-09-28 12:12:40 -07:00
Sean Corfield
534401e5d6
Add ILIKE/NOT-ILIKE
2020-09-28 12:12:25 -07:00
Sean Corfield
ad49c4e386
Add NOT operator, improve NULL support
2020-09-28 12:12:10 -07:00
Sean Corfield
804305d3c5
Add EXCEPT ALL
2020-09-28 11:52:32 -07:00
Sean Corfield
6db2426046
Fix do update set; add on conflict tests
2020-09-28 11:49:29 -07:00
Sean Corfield
61cf6eda5a
Add variadic string concatenation ||
2020-09-28 11:49:13 -07:00
Sean Corfield
25097af134
First cut of on conflict support
2020-09-26 15:16:12 -07:00
Sean Corfield
9154d73678
Implement returning (postgres)
2020-09-26 00:39:54 -07:00
Sean Corfield
002523bb8c
Generate AS for select/from; except for Oracle
2020-09-26 00:17:31 -07:00
Sean Corfield
6aced04179
Address #266 by adding :pretty? true option
...
Adds newline before, after, and between each SQL clause.
2020-09-25 23:58:51 -07:00
Sean Corfield
4d3b317520
Add meta unwrap for more feature support
2020-09-25 17:10:25 -07:00
Sean Corfield
0052aade7c
Implement variadic and/or/+/*
2020-09-25 16:40:15 -07:00
Sean Corfield
a6c1f98b71
Fix CTE syntax
...
Should always be wrapped in parens
2020-09-25 16:38:38 -07:00
Sean Corfield
1ebbbc1772
Fix inline string behavior
2020-09-25 16:38:11 -07:00
Sean Corfield
9f20ade0fe
Fix is/not null generation
2020-09-25 15:31:11 -07:00
Sean Corfield
11ef895c4a
Clean up dialect support; start docs
...
Also move old namespaces to test-only tree for reference while I
continue developing V2.
2020-09-24 19:07:32 -07:00
Sean Corfield
6cf8fa9e45
Implement base clause order for more predictable dialect selection
2020-09-24 11:13:08 -07:00
Sean Corfield
ba701b60cd
Continue to support Clojure 1.7 for now
2020-09-24 11:04:18 -07:00
Sean Corfield
3ce47b92f2
Implement :inline syntax; allow select call without alias
2020-09-23 22:52:57 -07:00
Sean Corfield
97531fa4cf
Implement array as SQL syntax instead of special HoneySQL syntax
2020-09-23 22:25:13 -07:00
Sean Corfield
f7d5e3a4cf
Down to just 8 failures now!
...
Mising: array, inline, parameterizer.
2020-09-23 18:15:20 -07:00
Sean Corfield
1a699f18ab
Support more clauses; flesh out dialect and clause ordering
2020-09-23 12:55:02 -07:00
Sean Corfield
a1d90a6382
Work toward more 1.x compatibility
...
Temporarily disable `AS` in alias while testing compatibility; only
quoted by default if `:dialect` specified (may revisit this).
2020-09-23 00:14:25 -07:00
Sean Corfield
834ac3a096
Rename sql-format back to format now Chlorine is updated!
2020-09-21 10:56:05 -07:00
Sean Corfield
1dc0447244
Convert more RCFs to tests
2020-09-20 22:25:28 -07:00
Sean Corfield
b6d6d2c4f4
Refactor to sql-format for now
2020-09-20 21:33:04 -07:00
Sean Corfield
2c98d35f63
Start some tests; implement more clauses
2020-09-20 19:17:37 -07:00
Sean Corfield
29b6e47a8e
Experimental WIP
2020-09-20 18:48:07 -07:00