Commit graph

335 commits

Author SHA1 Message Date
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
63a079ca8d Bump readme version (and gen'd code) 2020-09-25 15:31:29 -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