Commit graph

299 commits

Author SHA1 Message Date
Stuart Hinson
80e9d2ec44 allow joins without a pred 2016-03-01 09:39:21 -05:00
Curtis Summers
47cefd0371 escape quote characters in quoted identifiers 2016-02-24 06:45:49 -06:00
Michael Blume
06c97376ef prevent records from being treated as maps
Thanks to @djwhitt and @blinsay for reporting and for providing
test cases.

Fixes #106
2016-02-09 14:09:22 -08:00
Michael Blume
f8a2eedf45 demonstrate incorrect raw/call behavior 2016-02-09 14:07:51 -08:00
Jake McCrary
8fa44d22b3 add INTERSECT support 2015-11-29 17:49:45 -06:00
Michael Blume
607ee17cca Merge pull request #95 from emidln/emidln/with_column_names
Support column names in :with clauses
2015-10-18 11:07:03 -07:00
Brandon Adams
10a1565467 Support column names in :with clauses
This binds `honeysql.format/*subquery?*` to `false` which turns
on processing of a cte-name like `[:foo {:columns [:a :b :c]}]`
resulting in a string like `WITH foo (a, b, c)`.
2015-10-12 15:13:16 -05:00
Jon Doane
f38668edc6 Added one more assertion to test dashed names that are split by periods. 2015-10-11 11:38:50 -04:00
Jon Doane
7e78b10ae4 Added simple test to check for preserved dashes when the var is bound to true. 2015-10-11 11:29:55 -04:00
Dave Della Costa
2123c01fb5 adds tests for :union and :union-all 2015-08-26 00:11:29 +09:00
loganlinn
b51611d4d6 Add fn-handler for CASE statement 2015-08-06 11:29:54 -07:00
Donald Ball
713f72cfb6 Fix the parameterizable protocol to include nil
I forgot that Object doesn't include nil on protocols.

I added test coverage demonstrating the regression, only to note that
parameterized and literal queries produce different sql for the nil
case. I believe only the former is actually valid ANSI SQL, though mysql
at least does not care.
2015-05-20 11:23:36 -04:00
Mike Blume
115ac81fee Merge pull request #74 2015-05-08 16:41:11 -07:00
Andy Chambers
203296149f Add support for exists 2015-04-24 08:08:13 -07:00
Donald Ball
4bdaae39af Convert seq param values to literal sql param lists
This allows seqs to be used as param values, e.g. for IN clauses. It
also converts sets to seqs for the same purpose.

It does not expand the parameter name when this occurs, which will lead
to a mismatch between the *param-names* and *params* collections. It is
not clear how *param-names* are intended to be used, so I have no better
fix to suggest other than repeating a seq's param name the corresponding
number of times into that collection.
2015-04-21 14:28:28 -04:00
Donald Ball
2820662f59 Apply seq to sets when converting to sql
This allows them to be used as values, e.g. for in clauses, as
demonstrated in the test.
2015-04-20 23:40:59 -04:00
Mike Blume
72784452b9 Merge remote-tracking branch 'dball/support-locking-selects' into HEAD 2015-04-17 14:25:23 -07:00
Michael Blume
198115fb84 Merge pull request #69 from mishok13/nulls-first-last-in-order-by
NULL order specification support
2015-04-17 14:20:23 -07:00
Donald Ball
bc0b7e904f Support locking selects
This will need documentation before being merged.
2015-04-17 15:15:23 -04:00
Andrii V. Mishkovskyi
7160b4b1ad Adding tests for expected behavior 2015-04-17 12:29:20 +02:00
Logan Buckley
84387afaa5 Add SqlArray type and reader literal support. 2015-04-15 10:29:34 -05:00
Mike Blume
0c89c0362e add value test 2015-03-31 10:32:48 -07:00
Mike Blume
42c29506a0 Merge remote-tracking branch 'icambron/parameter-fns' into HEAD 2015-03-09 23:31:17 -07:00
Mike Blume
34f84e41b4 Merge remote-tracking branch 'dave/master' into HEAD 2015-03-09 09:56:11 -07:00
Dave Della Costa
6d0ff344b9 Adds basic tests for PR #34, common table expressions 2015-03-09 13:21:41 +09:00
Dave Della Costa
0f24df5ee0 supports extended INSERT INTO...SELECT syntax allowing specifying columns to insert into explicitly 2015-03-05 00:20:42 +09:00
Mike Blume
17145ea549 Merge remote-tracking branch 'justindell/master' into HEAD 2015-03-03 20:34:16 -08:00
Michael Blume
8e7615ee4d Merge pull request #47 from MichaelBlume/testing
Testing
2015-03-03 20:23:47 -08:00
Michael Blume
b621273fd2 Merge pull request #49 from MichaelBlume/expected-first
in unit test, put expected value first
2015-03-03 20:23:31 -08:00
Michael Blume
12f73bfa5a Merge pull request #40 from senior/add-cast-support
Added support for casts of the form CAST(foo AS type)
2015-03-03 20:18:21 -08:00
Mike Blume
a931e375f7 in unit test, put expected value first
is assumes that the first argument to = is a fixture, and the second is
the result of a computation, when it prints Expected: and Actual:
2015-03-03 19:55:08 -08:00
Mike Blume
c8f647ea26 simple format tests 2015-03-03 16:16:41 -08:00
Mike Blume
cbb71c3db9 test apply too 2015-03-03 16:16:41 -08:00
Mike Blume
2cafa5940e avoid collision with update in tests as well 2015-03-02 15:08:16 -08:00
Ryan Senior
dd9647ee3e Added support for casts of the form CAST(foo AS type) 2015-02-20 10:05:09 -06:00
Isaac Cambron
25ba952a3e support postgres-native parameters 2015-01-06 19:58:56 -05:00
Justin Dell
f8a5886124 Add full join 2014-11-05 15:04:21 -06:00
Chris Perkins
a4e9f0ff46 Oracle support.
Omit AS in JOIN, FROM, etc. because Oracle does not support it.
2013-09-06 16:29:41 -06:00
Justin Kramer
74669d62b5 quote aliases better 2013-08-06 15:23:37 -04:00
Justin Kramer
4590b93df5 keyword syntax for bindable param 2013-08-06 14:27:56 -04:00
Justin Kramer
e768e3c1d1 fix test 2013-08-06 14:14:40 -04:00
Justin Kramer
96ddbc18f4 keyword syntax for sql calls 2013-08-06 14:06:00 -04:00
Justin Kramer
76d6ccbcdb :left-join & :right-join clauses; simplifies :join syntax 2012-10-19 12:41:26 -04:00
Justin Kramer
e0c190b50e data reader & test for param 2012-08-24 22:47:54 -04:00
Justin Kramer
2a37063995 fix test 2012-08-24 18:20:45 -04:00
Justin Kramer
cfadae53d1 always pipe base map through build, to ensure consistency 2012-08-24 17:08:22 -04:00
Justin Kramer
18d5fa19e8 make clause-building extensible, move helper fns to honeysql.helpers 2012-08-24 16:50:56 -04:00
Justin Kramer
cef05d4ef5 fix params 2012-07-13 17:20:48 -04:00
Justin Kramer
ed0edfe13f add test 2012-07-13 14:32:43 -04:00