Sam Anklesaria
3641f36326
added tests for math and aggregation functions
2013-07-03 15:46:22 +09:00
Sam Anklesaria
4377f2cffa
fixed a typo
2013-07-02 19:47:18 +09:00
Sam Anklesaria
024537b592
Merge branch 'master' of git://github.com/meteficha/esqueleto
2013-07-02 19:40:28 +09:00
Sam Anklesaria
30c321ee03
common math and aggregation sql functions
2013-07-02 19:39:17 +09:00
Felipe Lessa
66e67e1cff
Final touchs on docs.
2013-07-01 11:06:53 -03:00
Sam Anklesaria
dc5baefd48
No more MPTCs, added documentation
2013-06-30 11:44:24 +09:00
Sam Anklesaria
ee8656adf0
insert select statements
2013-06-22 23:48:08 +09:00
Felipe Lessa
d056545c3e
Bump version to 1.2.2.
2013-05-20 12:35:54 -03:00
Takahiro HIMURA
893f1cd54b
Add HAVING support.
2013-05-19 08:21:52 +09:00
Felipe Lessa
f0ae243f5f
Fix support for "return ()" inside a select.
2013-05-17 14:32:33 -03:00
Felipe Lessa
f6969d5971
Avoid double commas (fixes test suite).
2013-05-17 14:23:07 -03:00
Felipe Lessa
1e633a8dd9
Upgrade to persistent 1.2 and bump version to 1.2.
...
Note that version 1.1 was skipped for the sake of bringing
esqueleto's version to parity with persistent's.
2013-04-29 18:21:44 -03:00
Felipe Lessa
fd75d3014a
Add newline to the end of Sql.hs.
2013-04-09 11:37:54 -03:00
azafeh
d294caa2ac
mais instâncias de tuple
2013-04-08 22:40:20 -03:00
Mitsutoshi Aoe
b6fe3c0bb6
Do not discard vals in count
2013-03-08 10:09:30 +09:00
Mitsutoshi Aoe
0889709403
Add support for COUNT(expr)
2013-03-07 20:04:43 +09:00
Felipe Lessa
51c08ed0e8
Add deleteCount and updateCount ( fixes #10 ).
2013-02-12 13:09:30 -02:00
Felipe Lessa
745c5cd276
Allow complex ORDER BYs by correctly putting parenthesis.
2013-01-27 21:16:07 -02:00
Felipe Lessa
6d8b84c55c
valList [] now works.
2013-01-27 17:28:00 -02:00
Felipe Lessa
aa2c207dd1
Add valkey helper ( fixes #9 ).
2012-12-14 16:45:59 -02:00
Felipe Lessa
9db4408d7c
Use persistent 1.1.
2012-12-14 12:12:05 -02:00
Felipe Lessa
8759774ede
Doc typo.
2012-11-29 13:54:55 -02:00
Felipe Lessa
5514f68994
Support for IN and NOT IN.
2012-11-28 18:23:52 -02:00
Felipe Lessa
4769d30b18
Add support for EXISTS and NOT EXISTS.
2012-11-28 18:23:07 -02:00
Danny B
97400eb9ad
Make queries *without* groupBy work again.
2012-09-24 00:51:22 +11:00
Danny B
cc88aa701e
Minor fixes.
2012-09-24 00:28:35 +11:00
Danny B
8a79bdaad1
Add some tuple magic to groupBy.
...
Now you can say things like:
groupBy (foo ^. FooId, foo ^. FooName, Bar ^. BarName)
instead of:
groupBy $ foo ^. Fooid
groupBy $ foo ^. FooName
groupBy $ Bar ^. BarName
2012-09-23 23:11:24 +11:00
Danny B
3c932f5a79
Add support for GROUP BY.
2012-09-23 06:07:01 +11:00
Felipe Lessa
94b19267ee
New functions limit and offset.
2012-09-09 14:28:28 -03:00
Felipe Lessa
5a0974f4c0
New text-related functions like, (%), concat_ and (++.).
2012-09-09 12:20:15 -03:00
Felipe Lessa
7df5fe0edd
New function unsafeSqlFunction.
2012-09-09 10:44:55 -03:00
Felipe Lessa
6f1cbe36a7
New function unsafeSqlValue.
2012-09-09 10:30:57 -03:00
Felipe Lessa
ef771c6eda
Provide a veryUnsafeCoerceSqlExprValue function that may be useful.
2012-09-09 10:26:56 -03:00
Felipe Lessa
c8a96db9da
Clarify that writing portable SQL is not one of our goals.
2012-09-09 10:22:32 -03:00
Felipe Lessa
65e7e67247
Export binop as unsafeSqlBinOp.
2012-09-09 09:52:23 -03:00
Felipe Lessa
0aa3c23a75
New SqlEntity constraint synonym.
2012-09-09 09:47:38 -03:00
Felipe Lessa
b0329b05dc
Use a bigger default chunk size when constructing the query.
...
The default is 112 bytes, or 56 characters. With this commit we
start using 992 bytes, or 496 characters, which should be enough
to fit most queries without needing reallocations or memory copies.
2012-09-06 14:18:42 -03:00
Felipe Lessa
a5b93ff329
Typo.
2012-09-06 10:58:13 -03:00
Felipe Lessa
e2d73b49d9
Typo.
...
As always, found just after a Hackage release.
2012-09-06 10:54:33 -03:00
Felipe Lessa
326b2d45bf
Silly typo.
2012-09-06 10:43:34 -03:00
Felipe Lessa
da6a669366
Add warning about unsupported JOINs to from's docs.
2012-09-06 10:40:39 -03:00
Felipe Lessa
4822172a42
Haddock fix.
2012-09-06 10:37:20 -03:00
Felipe Lessa
25f632398d
Better top-level docs for internal modules.
2012-09-06 10:35:55 -03:00
Felipe Lessa
1286dc79b8
Better 'select' and 'delete' documentation.
2012-09-06 10:29:37 -03:00
Felipe Lessa
3b995ba46f
Better documentation of Sql's internals.
2012-09-06 10:00:23 -03:00
Felipe Lessa
17a2cb65a9
Haddock fixes.
2012-09-06 09:49:14 -03:00
Felipe Lessa
1cb5c19288
Better 'from' documentation.
2012-09-06 09:46:08 -03:00
Felipe Lessa
271b5410da
Typo.
2012-09-06 01:49:09 -03:00
Felipe Lessa
029aff837c
Typo.
2012-09-06 01:48:25 -03:00
Felipe Lessa
f718be86da
Instead of using rawSql's Single, use a new data type Value.
...
First of all, Value is a nicer name than Single.
However the main reason is to avoid error calls and to get better
feedback about the code from GHC. Because of the GHC bug #6124 ,
we had many calls to 'error' just to avoid spurious warnings. By
using data (instead of newtype) for Value we're able to avoid
them. This commit removes *19* error calls from Sql.hs that GHC
is now able to prove that are unreachable.
2012-09-06 01:40:52 -03:00
Felipe Lessa
cc72ee9811
Misleading fixity declaration.
2012-09-06 01:28:06 -03:00
Felipe Lessa
077458ad56
Typos.
2012-09-06 01:27:34 -03:00
Felipe Lessa
bc21bac9ca
A lot more docs.
2012-09-06 01:06:37 -03:00
Felipe Lessa
df63cd864b
COUNT(*).
2012-09-05 23:18:56 -03:00
Felipe Lessa
0f677e9246
Add UPDATE support.
2012-09-05 23:09:02 -03:00
Felipe Lessa
f5c046775a
Generalize types of numerical operations.
...
Persistent doesn't ask for Num and everything has
worked very well so far. Not having a Num constraint
also allows those operations to work on Maybes.
2012-09-05 22:57:16 -03:00
Felipe Lessa
3e242d7b03
Use the table name as a base for a fresh identifier.
2012-09-05 20:54:38 -03:00
Felipe Lessa
3f2f1fdea7
Avoid a lot of redundant parenthesis.
...
Although this commit should not change the behaviour of any code,
it does make the resulting SQL a lot more pleasant to the eye.
2012-09-05 20:45:35 -03:00
Felipe Lessa
a29183028b
New DELETE support.
2012-09-05 20:34:24 -03:00
Felipe Lessa
b67fcedfeb
Allow queries to return ().
2012-09-05 20:34:03 -03:00
Felipe Lessa
c41a7dd464
Avoid using AS as much as possible.
2012-09-05 20:33:32 -03:00
Felipe Lessa
f84304deb8
Inline getConnection.
2012-09-05 19:19:28 -03:00
Felipe Lessa
dad271a75a
Prettify LANGUAGE pragmas.
2012-09-05 19:16:28 -03:00
Felipe Lessa
9a24c7774c
Allow SELECT DISTINCT queries as well.
2012-09-05 19:14:03 -03:00
Felipe Lessa
0c694e92a5
On collectOnClauses, match from clauses in the correct order.
...
Previously it tried matching on the right branch just after
matching on the current node, which means that on the default
right fixity everything was reversed.
Note: SQLite didn't give any error messages for this bug!
2012-09-05 16:53:55 -03:00
Felipe Lessa
c0f5993be7
Correctly parenthesize and put ON clauses.
2012-09-05 16:47:33 -03:00
Felipe Lessa
8973d650a4
Allow ON clauses on sub-JOINs.
2012-09-05 16:47:15 -03:00
Felipe Lessa
7bb68cc233
Allow any parenthesization of JOINs.
2012-09-05 15:55:59 -03:00
Felipe Lessa
1e19d8625b
Implement JOIN and ON clauses. Also add (?.).
2012-09-05 15:38:14 -03:00
Felipe Lessa
80d60bb9b6
Avoid using capitalized "Esqueleto" when referring to the library.
2012-09-04 18:37:02 -03:00
Felipe Lessa
31b4b0669f
orderBy, asc, desc.
2012-09-04 18:12:40 -03:00
Felipe Lessa
c601613162
isNothing, just, nothing.
2012-09-04 18:12:25 -03:00
Felipe Lessa
df8279b306
Re-export all of GenericSql from Esqueleto.
2012-09-04 01:01:56 -03:00
Felipe Lessa
bb7775b672
Create a separate sqlSelectColCount.
2012-09-04 00:45:16 -03:00
Felipe Lessa
57c3b403d5
Avoid undefined.
2012-09-04 00:29:39 -03:00
Felipe Lessa
dc6bcda8e4
Correctly consume connection resources.
2012-09-04 00:27:47 -03:00
Felipe Lessa
7ebb2d87bf
Throw PersistMarshalError instead of using fail.
2012-09-04 00:27:18 -03:00
Felipe Lessa
fdf9985142
Fix parens (silly bug).
2012-09-03 23:13:51 -03:00
Felipe Lessa
979ea1c6d1
Write FROM on the queries.
2012-09-03 23:13:40 -03:00
Felipe Lessa
670eebbc96
fromSingle is internal.
2012-09-03 23:13:19 -03:00
Felipe Lessa
1230245749
Manually avoid spurious warnings.
...
http://hackage.haskell.org/trac/ghc/ticket/6124
2012-09-03 21:40:28 -03:00
Felipe Lessa
ea4a58a970
Do not export internal functions from Database.Esqueleto.
2012-09-03 21:33:35 -03:00
Felipe Lessa
e1118c7676
Better re-exports (and improved docs).
2012-09-03 18:52:10 -03:00
Felipe Lessa
217b03d22e
Export selectSource.
2012-09-03 18:45:20 -03:00
Felipe Lessa
531ca905fd
Steal code from rawSql and stop using it.
...
Unfortunately we can't use rawSql, since we need explicit control
of the SELECT (i.e. we can't use "??").
2012-09-03 18:43:17 -03:00
Felipe Lessa
2986d0996e
Nicer 'from' interface.
...
Instead of
select $ do
(x,y,z) <- from
where_ (z^.f ==. y^.f)
return (x, y^.f, z)
now you may write
select $
from $ \(x,y,z) -> do
where_ (z^.f ==. y^.f)
return (x, y^.f, z)
Now the only difference in reading order wrt. SQL is the return
on the bottom of the expression. =)
Note that this does not change at all the expressivity of the
language since
oldFrom = from return
2012-09-03 17:03:07 -03:00
Felipe Lessa
5bdac55e90
Remove test code from Esqueleto.hs.
2012-09-03 17:02:49 -03:00
Felipe Lessa
3330e6c4ee
Doc improvements.
2012-09-03 16:39:01 -03:00
Felipe Lessa
dd417a98e2
Some package re-exports from Esqueleto.
2012-09-03 16:26:42 -03:00
Felipe Lessa
b189791dc3
Use fundeps on SqlSelect.
...
This allows GHC to infer the type of from by the return of
select.
2012-09-03 16:26:02 -03:00
Felipe Lessa
33d04d5f27
Implement sub.
2012-09-03 15:57:20 -03:00
Felipe Lessa
fe7a32e7e4
Pass escaping function as argument to ERaw (instead of Connection).
2012-09-03 15:53:38 -03:00
Felipe Lessa
a4bd0268aa
Change ERaw, more dependent on Connection.
2012-09-03 15:51:12 -03:00
Felipe Lessa
aba36832f6
Second prototype, now using finally tagless style.
2012-09-03 15:42:28 -03:00
Felipe Lessa
acc119e61f
Initial skeleton.
2012-09-03 11:38:22 -03:00