Commit Graph

319 Commits

Author SHA1 Message Date
Esteban Ibarra
5d8f5b53e6 Add between (#127)
* Update between so it works with SQL values

* Add support for composite keys in between clause

* Remove unused values from ERaw in construct

* Update unsafeSqlBinOp to handle composite keys and between to use >=., <=. and &&.

* Support composite keys in unsafeSqlBinOp correctly

* Updated changelog

* Update version number of between to 3.1.0
2019-08-08 11:23:10 -06:00
Felix Paulusma
a452946f58 PostgreSQL JSON Operators (#128)
* added PostgreSQL.JSON module

* finished adding all JSON operators

* cleanup

* half way through writing tests

* final tweaks to comments

* finished with JSON tests

* upped persistent dependency to 2.10.0 because of PersistArray data constructor addition needed for JSON operators

* noticed the minus operator with text[] as right operand was only added in PSQL v10, added function and adjusted types/tests

* adjusted yaml configs for updated dependencies and PSQL v10 in Travis

* try to get PostgreSQL 10 running

* use @since notation

* removed postgresql from 'services' field

* and one more time, with FEELING! (and postgresql-10)

* foo

* PSQL 10 runs on 5433, it seems? reverting .travis.yml changes and setting test conn to port 5433

* of course I forget to add the PORT env > .<

* doop-dee-doo

* herp-a-derp

* last commit (hopefully)

* also have more recent dependencies in the 'compiler should error' tests

* why does it feel like this'll go on for a while still?

* copied some extra-deps from the persistent ymls

* aaaaand we're done... right?

* added persistent-postgresql to the dependencies and used its instances for Aeson.Value

* small comment fix

* moved the instances to their own module, this way they're optional to use if you don't use persistent-postgresql

* use port 5432, like a normal PostgreSQL!

* added JSONB newtype with instances, instead of orphaning Aeson.Value

* reworked everything to use the JSONB newtype. And adjusted most comments to reflect the change

* fixed all the tests (just making it compile again)

* that's right, Travis' PSQL v10 NEEEEDS it to be port 5433... for some reason

* update on the haddockumentation

* added JSONAccessor data type for easier usage of certain operators

* Also add to changelog.md

* JSONExpr -> JSONBExpr

* this damn PGPORT is really irritating
2019-08-04 22:10:31 -06:00
Matt Parsons
7b7717b05a
persistent-2.10 support (#122)
* persistent-2.10 support

* ignore cabal file

* 3.0.0

* update changelog [ci skip]
2019-04-22 21:24:40 -07:00
Matt Parsons
bfb602dcb7
Merge branch 'master' into matt/remove-class 2019-04-19 17:59:17 -06:00
parsonsmatt
094ae18cae Remove QQ re-exports 2019-03-05 12:53:04 -07:00
Chris Coffey
91c9cf439e Add comment explaining the export lits 2019-02-18 13:31:30 -07:00
Chris Coffey
6ef22d1ff7 Export Persistent.Sql module explicitly 2019-02-18 13:31:30 -07:00
parsonsmatt
7e96bb54a7 Remove from public interface 2019-02-01 16:47:19 -07:00
parsonsmatt
f749beafe6 Remove type class from core modules 2019-02-01 16:44:16 -07:00
parsonsmatt
01604be570 Add more tests 2018-12-19 09:50:10 -07:00
Thiago Rodrigues de Paula
f7dc7cef13 Add ForUpdateSkipLocked to locks 2018-10-29 23:02:01 +01:00
ncaq
4b2670bf43 added: instance Monad to Value
I see #94.
I think to can easy create monad instance.
2018-07-31 17:28:48 +09:00
Harpo Reder
2e16c72154 add SqlCast composite key error 2018-07-15 06:08:23 +00:00
Harpo Reder
c9ff21d30a cherrypick unsafeSqlCastAs 2018-07-15 05:47:50 +00:00
Dan Brooks
457d6caccd Define applicative instance for Value 2018-06-22 19:54:18 +01:00
Kostiantyn Rybnikov
963fa52837 Fix build under GHC 8.4 2018-04-02 15:40:08 +03:00
Philipp Balzarek
b2c01b1286 Fix Postgres aggregate function types (#68)
Aggregate functions like array_agg and string_agg will return NULL instead of
empty arrays and empty strings resp. when run on zero rows. This change reflects
that in the haskell types. It also adds a "maybeArray" function that
coalesces NULL into an empty array, because currently there is no way to write
an empty array literal (`val []` does not work)
2018-03-08 15:23:41 +01:00
Philipp Balzarek
381e50494a Generalize postgresql aggregate functions 2018-03-08 14:08:43 +01:00
Philipp Balzarek
b9d02ff8be Add arrayRemoveNull function (Postgresql) 2018-03-07 15:39:25 +01:00
Chris Allen
632f4408df Deprecate rand, EOrderRandom 2018-02-27 18:32:10 -06:00
Chris Allen
391aa86464 Changelog, bifurcating random_ 2018-02-27 18:19:46 -06:00
Chris Allen
afdc7f792b Merge branch 'master' of github.com:bitemyapp/esqueleto 2018-02-27 17:45:26 -06:00
Chris Allen
0acb568445 Updating for UnliftIO, Conduit 1.3, Persistent 2.8 2018-02-27 17:45:25 -06:00
Chris Allen
68f327376b
Merge pull request #60 from mheinzel/master
Fix SQL syntax in join example
2018-02-27 17:41:25 -06:00
Chris Allen
52d546f60b Matt's SQL compatible changes 2018-02-27 16:47:32 -06:00
Chris Allen
ecace06c37
Merge pull request #62 from bigs/add-nullable-helpers
Add withNonNull helper to project nullable values
2018-02-02 11:43:41 -06:00
Matt Parsons
e53f087d21 ah, yes, that is hardcoded 2018-01-19 11:23:45 -07:00
Matt Parsons
592a017e6c don't use aliases 2018-01-17 13:08:20 -07:00
Sebastián Estrella
b0abe50812 Add arrayRemove wrapper for PostgreSQL function 2018-01-10 13:34:25 -05:00
Sebastián Estrella
ea6f1807a4 Add arrayAggDistinct wrapper for PostgreSQL function 2018-01-10 10:02:44 -05:00
Matt Parsons
23ac8da92b Remove SqlReadT 2017-10-23 17:28:47 -06:00
Matt Parsons
07167f6474 use upstream persistent 2017-10-23 11:16:59 -06:00
Cole Brown
501cf6b266 Add withNonNull helper to project nullable values
Guards against null values with a where_ call.
2017-10-17 13:25:56 -04:00
Matthias Heinzel
1ca1c3c185 Fix SQL syntax in join example 2017-10-13 22:09:28 +02:00
Matt Parsons
397ece45e2 relax selectSource 2017-09-13 17:30:28 -06:00
Matt Parsons
1a945d27c8 no basebackend pls 2017-09-13 17:23:46 -06:00
Matt Parsons
d621f382bf abstract 2017-09-13 17:14:14 -06:00
Matt Parsons
a01f9c8563 Add projection function 2017-09-13 17:00:31 -06:00
Matt Parsons
5cd4b03ec9 export 2017-09-13 16:31:23 -06:00
Matt Parsons
dbf53c31fb use a compatibility class 2017-09-13 16:27:18 -06:00
Chris Allen
352fca204c Merge pull request #46 from FintanH/now
Now
2017-08-04 09:50:48 -05:00
Fintan Halpenny
8eab68a8d3 Removed now from typeclass and moved it to PostgreSQL. Testing for DB clock against machine clock 2017-08-03 20:48:42 +01:00
Lana Black
a22737bad6 Replace data with newtype in Value and ValueList. 2017-08-03 00:22:41 +00:00
Fintan Halpenny
a4ebae2345 Use type constraint to constrain a to UTCTime 2017-08-02 16:34:46 +01:00
Fintan Halpenny
161914ddbc Added now_ function. Works in the tests (NOTE: It doesn not work in SQLite). Need to see if there is an answer for constraining the in to only know about time 2017-08-02 13:48:21 +01:00
Chris Allen
bf66a49beb Spurious ruler 2017-07-31 10:48:03 -05:00
Chris Allen
36acb1e1c2 Move Exception closer to EsqueletoError 2017-07-31 10:36:19 -05:00
Chris Allen
b7df667d3e Fix spurious Exception instances 2017-07-31 10:36:10 -05:00
Fintan Halpenny
431080611d Broke out the error types into three seperate sum types with one sum type enumerating them
Identified and rewrote all error sections
2017-07-31 10:35:55 -05:00
Fintan Halpenny
b77a0c3e71 Missed some error calls in:
*) unsafeSqlBinOpComposite
*) sqlSelectProcessRow in the instance of SqlSelect (SqlExpr InsertFinal) InsertFinal
2017-07-31 10:35:42 -05:00
Fintan Halpenny
0beec06559 Added EsqueletoProblem for throwing internal esqueleto problems.
Replaced all "error" calls to use throw instead.
2017-07-31 10:34:55 -05:00
Chris Allen
ff87a31951 Export From 2017-07-25 13:48:19 -05:00
Chris Allen
e173a19f13 Revert "unsafeSqlOrderBy"
Fixing EOrderRandom is the proper way to do this.
2017-07-13 18:20:32 -05:00
Chris Allen
b7bbe98c11 unsafeSqlOrderBy 2017-07-13 18:09:05 -05:00
Matt Parsons
6a435f53b4 redundant import 2017-06-21 11:46:38 -06:00
Matt Parsons
28ceb892eb remove comment 2017-06-21 11:28:46 -06:00
Matt Parsons
338f5a3c47 fixes the test failure 2017-06-21 11:26:47 -06:00
Matt Parsons
e330f3326f comment out '
solution', add repro to test suite
2017-06-21 11:25:56 -06:00
Matt Parsons
2fa9760d51 release key 2017-06-21 11:09:37 -06:00
Chris Allen
43813cdfe2 Test suite still broken 2017-04-28 00:08:05 -05:00
Chris Allen
5a78c156c2 Fixing composite key support for group by 2017-04-27 22:49:48 -05:00
Chris Coffey
9604b25833 Fix postgres tests 2017-02-04 13:02:09 -05:00
mrkkrp
eaa7c1057f Allow ‘persistent-2.6’ and ‘base-4.9’ 2017-01-11 03:08:10 +03:00
Chris Allen
15fc5ca918 Merge pull request #9 from qrilka/patch-1
Use correct `in_` quoting in haddock code block
2017-01-07 13:46:42 -06:00
Kirill Zaborsky
99da7c333d Correct persistent module name for example imports
Follow-up to https://github.com/prowdsponsor/esqueleto/pull/152
2017-01-07 16:04:25 +03:00
Kirill Zaborsky
39c0fdd02e Use correct in_ quoting in haddock code block
Follow-up on https://github.com/prowdsponsor/esqueleto/pull/154
2017-01-07 16:02:00 +03:00
Eric Easley
a2d504ae7b Use IsSqlBackend synonym 2016-04-04 11:17:47 -07:00
Eric Easley
5d56abd698 Adjust for upcoming split db changes 2016-04-01 18:13:52 -07:00
Chris Allen
a9bc846f02 fix update docs to have a slash 2016-03-09 13:50:44 -06:00
Nickolay Kolev
fc366c5279 Fix typo in haddock for in_ 2016-02-17 11:02:17 +01:00
Felipe Lessa
3c7c311995 Revert "Fix pedantic errors"
This reverts commit a104b30da2.
2016-02-12 18:45:45 -02:00
Eric Easley
dc72d1bcd8 Export ToBaseId 2016-02-09 12:04:01 -08:00
Eric Easley
a104b30da2 Fix pedantic errors 2016-02-08 10:54:29 -08:00
Eric Easley
970deabfc2 Add ToBaseId 2016-02-06 16:47:26 -08:00
Felipe Lessa
17b9c3be9a Bump version to 2.4.2. 2016-01-14 18:22:43 -02:00
Chris Allen
f7bdd78d2e tests pass for insertSelectCount and I only raged at haskell-mode a teensy bit 2016-01-14 13:42:35 -06:00
Richard Zetterberg
a8dd97354e Adds example usage of 'in_' operator 2015-12-31 19:16:02 +01:00
Jack Bowman
6e01b0f7f3 documentation: add missing word in (%)'s docs 2015-12-30 22:25:34 -05:00
Levi Notik
a727e0e9e1 fix some grammar in comments 2015-12-02 13:12:03 -05:00
Felipe Lessa
d350b4d2c7 countDistinct, countDistinctRows. 2015-08-11 12:05:24 -03:00
Felipe Lessa
555faaeaac castString, SqlString for Maybe. 2015-08-05 16:15:11 -03:00
Felipe Lessa
1cfe1b11df Add PersistField constraint to SqlString. 2015-08-05 16:13:46 -03:00
Felipe Lessa
78a7fcdaeb New SqlString class, ditch IsString. 2015-08-05 15:54:16 -03:00
Felipe Lessa
871708987d New justList function. 2015-08-05 15:41:10 -03:00
Kris Jenkins
fa1d1c8887 Adding chr to the list of Postgresql functions. 2015-08-02 22:13:29 +01:00
Felipe Lessa
f32c98c412 New functions castNum and castNumM. 2015-07-15 14:20:13 -03:00
Felipe Lessa
39bc711563 Move lower_ around. 2015-07-15 14:19:46 -03:00
Felipe Lessa
3bfa1a9a43 Add stringAgg to PostgreSQL module (fixes #98). 2015-07-15 12:34:47 -03:00
Felipe Lessa
6c63f2c5ac Add array_agg function, new PostgreSQL module. 2015-07-15 12:28:26 -03:00
Felipe Lessa
9552180629 Add support to simple locking clauses. 2015-06-27 12:32:49 -03:00
Felipe Lessa
29eb0d8be3 Explicitly state multiple 'orderBy's work (closes #103). 2015-06-20 23:50:47 -03:00
Felipe Lessa
80beea1e67 New convenience function distinctOnOrderBy. 2015-06-19 23:47:16 -03:00
Felipe Lessa
b8814fb09a Make distinctOn work like orderBy via 'don'. 2015-06-19 22:47:41 -03:00
Felipe Lessa
a1a09e736f New distinct, distinctOn. Deprecate old specializations. 2015-06-19 15:45:15 -03:00
Felipe Lessa
0e734e79e0 Bump version to 2.2.3. 2015-05-20 13:48:04 -03:00
Felipe Lessa
43de402a54 Merge pull request #99 from zyla/ilike
Add ILIKE operator
2015-05-20 13:46:17 -03:00
Maciej Bielecki
2397ddf12b Add ILIKE operator 2015-05-20 06:10:28 +02:00
Felipe Lessa
d4d876ca50 Ditch ERawList, new ECompositeKey (#100). 2015-05-18 17:18:14 -03:00
Felipe Lessa
9436fe9649 Use new repo address everywhere. 2015-05-12 13:20:34 -03:00
Felipe Lessa
07bd23f810 Add links to most identifiers on esqueleto docs. 2015-05-12 12:56:44 -03:00