Commit Graph

244 Commits

Author SHA1 Message Date
Nikita Volkov
db4261ddb5 Rename unit to noResult 2019-05-21 13:25:22 +03:00
Nikita Volkov
8f78014876 Correct the docs 2019-05-21 13:22:07 +03:00
Nikita Volkov
5b258ae53a Ditch Primitive from encoders
That's for consistency with decoders, and decoders can't have this separation without introducing too much complexity. That's so because of there existing a support for composite types, which may consist of arrays and arrays may consist of composites.
2019-05-21 12:59:50 +03:00
Nikita Volkov
590be494bc Redesign decoders 2019-05-21 01:20:57 +03:00
Nikita Volkov
68339eeabe Ditch the coersion of encoders 2019-05-20 19:27:17 +03:00
Nikita Volkov
19345cf624 Redesign the encoders 2019-05-20 19:24:27 +03:00
Nikita Volkov
9eee8c990b Ditch the integration with "default" 2019-05-20 15:02:17 +03:00
Nikita Volkov
b3eba13de9
Merge pull request #110 from rl-king/update-encoders-example
Update Encoders introduction example
2019-04-23 11:48:16 +03:00
rl-king
c86d7a3b58 Update Encoders introduction example 2019-04-23 07:28:32 +02:00
rl-king
ad42b4e42a Rename value -> param 2019-04-14 16:50:22 +02:00
Ian Duncan
a5f75a788a Add convenience function for refining domain types 2019-01-17 10:57:54 +09:00
Nikita Volkov
f1d2015395 Fix the docs 2018-07-23 17:55:23 +03:00
Nikita Volkov
35c845eb32 Add explicit Semigroup 2018-06-06 17:23:18 +08:00
Nikita Volkov
9218bb5394 Reimplement Semigroup thru derivation 2018-06-05 16:19:50 +08:00
Nikita Volkov
e50dd830d5 Restore the correct docs 2018-05-25 19:36:02 +08:00
Nikita Volkov
509dafdfbf Rename Query to Statement 2018-05-23 18:33:34 +08:00
Nikita Volkov
1516b51593 Fix a typo in the docs 2018-05-23 18:33:01 +08:00
Nikita Volkov
726097efd5 Rename some result decoders 2018-05-23 18:11:16 +08:00
Nikita Volkov
8eb3830a7f Make the codec names more consistent 2018-05-23 18:09:16 +08:00
Nikita Volkov
ea4874ca7e Reimplement to add support for query param printing in failed queries 2018-05-23 17:58:24 +08:00
Nikita Volkov
b806c6ef1c Migrate from EitherT to ExceptT 2017-11-26 11:24:40 +03:00
Nikita Volkov
9ba0612f68 Extend the docs 2017-11-01 20:47:05 +03:00
steve-chavez
04cefc7b47 Update unknown decoder doc 2017-10-28 18:46:52 -05:00
steve-chavez
26fc28d922 Fix #80, better behavior for unknown encoder 2017-10-28 18:11:47 -05:00
AndrewRademacher
2f15f06f08 Reversed evaulation order when executing dropRemaining. 2017-09-22 16:04:15 -05:00
Nikita Volkov
a3c4521de7 Hide fromLeft and fromRight from "base-prelude" 2017-07-31 09:22:21 +03:00
Michael Karg
7a1156ac15 discard CPP and hide fromLeft/fromRight altogether 2017-07-30 22:49:21 +02:00
Michael Karg
f0a8b16f48 fixes nikita-volkov/hasql#76 2017-07-26 16:00:36 +02:00
Alex Mason
c819d6b5f3 Add documentation on how to perform an insert or multiple values. 2017-04-24 19:21:15 +10:00
Nikita Volkov
1a2e7ee3ec Update a builder dep 2017-03-21 00:29:27 +03:00
Nikita Volkov
7cba5bd1f0 Migrate to "postgresql-binary-0.12.1" 2017-03-21 00:27:52 +03:00
Nikita Volkov
2801829ff7 Fix the compatibility with the newer "base-prelude" 2017-03-16 15:16:41 +03:00
Rik van der Kleij
85e4c7a686 Support for inet data type. 2017-03-14 16:11:42 +01:00
Alexander Thiemann
47cbfe2731 Comment about "IN" queries.
As discussed in #61
2016-11-24 13:12:39 +01:00
Nikita Volkov
a802f907a4 Fix the docs 2016-09-20 06:08:50 +03:00
Nikita Volkov
af4583f403 Move all the private modules into the according namespace 2016-08-06 12:22:23 +03:00
Nikita Volkov
fe23060c75 Style corrections 2016-07-23 15:44:55 +03:00
Moritz Kiefer
5fb07162a8 Expose access to raw libpq connection
Needed for #43.
2016-07-23 12:20:50 +02:00
Nikita Volkov
00231954df Provide an instance of Decidable to the Params encoder 2016-04-25 17:26:25 +03:00
Nikita Volkov
b03ab41a77 Update PreparedStatementRegistry and fix the bug 2016-02-26 15:28:08 +03:00
Nikita Volkov
7954c8d734 Semigroup 2016-02-23 09:43:07 +03:00
Nikita Volkov
ff3dd818df Raw JSON support 2016-02-09 13:15:35 +03:00
Nikita Volkov
6135f5f980 JSONB 2016-01-29 11:46:18 +03:00
Nikita Volkov
85275809b9 "custom" decoder 2016-01-28 14:13:09 +03:00
Nikita Volkov
9f8fc65ff2 Fix some potential bugs 2016-01-24 19:52:53 +03:00
Nikita Volkov
24e31161c7 Fix the bug 2016-01-24 19:52:33 +03:00
Nikita Volkov
67576ac343 Fix the bug 2016-01-22 18:50:13 +03:00
Nikita Volkov
25a66b2443 A hotfix of the inverted integer-datetimes detection bug in encoders 2016-01-12 17:25:01 +03:00
Nikita Volkov
1871bde72d Add the "unknown" encoder 2016-01-12 10:55:36 +03:00
Nikita Volkov
90b7868678 Merge origin/master 2016-01-06 09:40:32 +03:00
Nikita Volkov
013506a690 Minor corrections 2015-12-28 12:14:42 +05:00
Leon P Smith
eeff72e2f6 Add rudimentary tracking of explicit disconnects
No guarantee that using a connection after it has been closed will
result in a sensible operation,  but at least it won't result in
a use-after-free memory fault now.

Also, this should make this interface relatively safe to use concurrently.
2015-12-26 01:32:03 -05:00
Nikita Volkov
d4757f3bbc MonadIO for Session 2015-12-23 20:35:21 +05:00
Nikita Volkov
15be208dd5 Move Settings to Connection 2015-12-23 17:07:14 +05:00
Nikita Volkov
032f3be9f5 Return ConnectionError 2015-12-23 16:23:39 +05:00
Nikita Volkov
b777ae2e40 Revision 2015-12-21 18:51:42 +05:00
Nikita Volkov
838bc8cb8e Session and Query Arrow 2015-12-21 18:11:14 +05:00
Nikita Volkov
11ea136193 Drop the unsafe freeing of result 2015-12-06 08:12:23 +03:00
Nikita Volkov
12494a3a87 Docs 2015-12-05 10:47:57 +03:00
Nikita Volkov
ef1b6ff8b3 Encoding/Decoding -> Encoders/Decoders 2015-12-05 09:09:31 +03:00
Nikita Volkov
7ec4644a95 Docs correction 2015-11-22 10:57:08 +03:00
Nikita Volkov
8f95a93c77 Acquire/release 2015-11-22 10:49:54 +03:00
Nikita Volkov
6fafd9c407 Correct docs 2015-11-22 10:46:24 +03:00
Nikita Volkov
0edd4d108b typo 2015-11-22 10:42:18 +03:00
Nikita Volkov
93805d4a73 Deep isolation 2015-11-22 10:10:21 +03:00
Nikita Volkov
c5aad7355e Params unit 2015-11-22 09:08:06 +03:00
Nikita Volkov
bd9174af91 Tuple instances 2015-11-22 09:07:58 +03:00
Nikita Volkov
66eee199cb "noResult" -> "unit" 2015-11-22 08:34:27 +03:00
Nikita Volkov
108a7dc6d1 Docs 2015-11-21 18:07:49 +03:00
Nikita Volkov
d1425a7ccb Docs 2015-11-21 18:03:29 +03:00
Nikita Volkov
ed23377f2e Simplify Settings 2015-11-21 17:46:36 +03:00
Nikita Volkov
8dde5b3864 Make Settings strict to conform with the rest of the API 2015-11-21 17:36:37 +03:00
Nikita Volkov
5a2987f2fd Docs 2015-11-21 16:46:16 +03:00
Nikita Volkov
7bade85359 Map the "char" encoder to the "text" OID 2015-11-21 16:46:10 +03:00
Nikita Volkov
521a8c0e4b Docs 2015-11-21 16:42:12 +03:00
Nikita Volkov
0e98ce77ad Docs 2015-11-21 16:41:13 +03:00
Nikita Volkov
53baaa77d8 Docs 2015-11-21 16:22:38 +03:00
Nikita Volkov
5935393c8a Update "contravariant-extras" 2015-11-21 15:30:14 +03:00
Nikita Volkov
31e4c3283f Update "contravariant-extras" 2015-11-21 15:13:55 +03:00
Nikita Volkov
7dc7b790cc Switch to the Encoding/Decoding idioms 2015-11-21 13:44:18 +03:00
Nikita Volkov
9d5687e4de Docs 2015-11-21 13:20:44 +03:00
Nikita Volkov
6fe2069c5b Docs 2015-11-21 13:18:55 +03:00
Nikita Volkov
36eedbee7a Optimize Vector 2015-11-21 13:10:29 +03:00
Nikita Volkov
89470ff672 Optimize "foldl" 2015-11-21 12:01:32 +03:00
Nikita Volkov
23c3946bac The "getvalue'" optimization! 2015-11-21 11:44:57 +03:00
Nikita Volkov
f0b6708542 Clean up 2015-11-21 09:59:51 +03:00
Nikita Volkov
c1ee2801ce Inlining 2015-11-21 09:59:47 +03:00
Nikita Volkov
8a6a265a72 SCC 2015-11-21 09:59:14 +03:00
Nikita Volkov
d8b7bc8326 "strictCons" 2015-11-21 09:57:44 +03:00
Nikita Volkov
d46f657dd9 Revert a useless optimization 2015-11-20 10:01:28 +03:00
Nikita Volkov
56980658de Attempt to optimize Result 2015-11-20 09:29:46 +03:00
Nikita Volkov
c6cb62de9e SCC 2015-11-20 09:29:22 +03:00
Nikita Volkov
f1e5ac78c4 unsafeFreeResult 2015-11-20 09:29:10 +03:00
Nikita Volkov
36c18a2fd6 SCC 2015-11-20 09:28:26 +03:00
Nikita Volkov
5c094a9aed Another attempt to optimize Row 2015-11-20 09:27:44 +03:00
Nikita Volkov
a3b34e6b0e Attempt to optimize Row 2015-11-20 08:18:28 +03:00
Nikita Volkov
3dd489bc5f Pragmas 2015-11-20 07:59:49 +03:00
Nikita Volkov
de69caa6bc Refactoring 2015-11-18 22:46:26 +03:00
Nikita Volkov
7694de6814 Remove the "Results" layer from the public deserialization API 2015-11-16 20:13:15 +03:00
Nikita Volkov
3438be4777 Unit Default Params 2015-11-15 14:45:56 +03:00
Nikita Volkov
1f34c3f4f3 Non-parametric query execution and refactorings 2015-11-15 10:29:53 +03:00
Nikita Volkov
663cc1a12e Unite Query and Connection into Hasql 2015-11-14 13:58:30 +03:00
Nikita Volkov
9e684170a1 Enum 2015-11-10 17:53:14 +03:00
Nikita Volkov
535b910fea Docs 2015-11-09 07:48:58 +03:00
Nikita Volkov
5c9cc57ab2 Consistent styling 2015-11-08 21:20:07 +03:00
Nikita Volkov
c9ef7eda7d Complete reimplementation 2015-11-08 21:09:42 +03:00
Nikita Volkov
7482cf2c55 GHC 7.10 support 2015-03-30 10:24:27 +03:00
Nikita Volkov
52cd7db40d Support for free variables by the quasi-quoter 2015-01-12 04:52:30 +03:00
Nikita Volkov
284b5b74e0 RowParser -> CxRow 2014-12-29 11:58:53 +03:00
Nikita Volkov
84d11c5606 TxError -> SessionError 2014-12-28 02:32:44 +03:00
Nikita Volkov
c02ba95858 Export MaybeT in Prelude 2014-12-27 20:38:23 +03:00
Nikita Volkov
9572af05ad Clean up whitespace during the quasi-quote parsing 2014-12-27 07:18:04 +03:00
Nikita Volkov
ab44c1bb20 A shortcut for empty vectors generation 2014-12-27 06:33:47 +03:00
Nikita Volkov
aabe5507ab Reintroduce Session and fix Demo 2014-12-27 05:31:47 +03:00
Nikita Volkov
39970138fa A complete overhaul 2014-12-27 03:43:49 +03:00
Nikita Volkov
caaa53569d Update the deps on "list-t" and "monad-control" 2014-12-15 13:29:45 +03:00
Nikita Volkov
c4f064ddb0 Avoid "mtl-prelude" and update the "transformers" bounds 2014-11-30 02:40:09 +03:00
Nikita Volkov
e13d21aa38 Detect the semicolons with the quasi-quoter 2014-11-30 00:43:06 +03:00
Nikita Volkov
f3c907382a Remove Bug from the Unit instance of RowParser 2014-11-29 20:22:17 +03:00
Nikita Volkov
68b25b5ed1 Fix issue #10 2014-11-23 19:54:11 +03:00
Nikita Volkov
8409c3ae75 Refactoring 2014-11-11 00:06:36 +03:00
Nikita Volkov
5da25e2887 Polishing 2014-10-28 20:22:05 +04:00
Nikita Volkov
45becba225 Accomodate to the RC5 backend API 2014-10-25 22:25:46 +04:00
Nikita Volkov
47d86b91f2 Optimize the row parser a bit 2014-10-25 19:39:23 +04:00
Nikita Volkov
aed09f367d Accomodate the backend API RC4 2014-10-25 16:32:25 +04:00
Nikita Volkov
f72d626e6f Remove the dependency on "hashable" 2014-10-24 00:36:30 +04:00
Nikita Volkov
4bcf7d4c5c Simplify the QQ parser 2014-10-24 00:07:15 +04:00
Nikita Volkov
81c9d9996c Make the API Session-centric 2014-10-23 20:14:57 +04:00
Nikita Volkov
a47ac65a12 Correct the docs on "q" 2014-10-23 20:05:51 +04:00
Nikita Volkov
f43aaffee9 Cleanup 2014-10-23 16:34:04 +04:00
Nikita Volkov
d47e98e9a3 parse -> parseRow 2014-10-23 16:33:33 +04:00
Nikita Volkov
e787181618 Unify the API in a single file 2014-10-23 16:32:31 +04:00
Nikita Volkov
499b0bba60 Docs 2014-10-23 16:16:35 +04:00
Nikita Volkov
829caa6c50 Get rid of the Integer mapping dependency 2014-10-23 15:23:32 +04:00
Nikita Volkov
5969dc4376 Extract backend to external library 2014-10-23 00:07:40 +04:00
Nikita Volkov
3bc2383847 Simplify as hell 2014-10-22 23:58:54 +04:00
Nikita Volkov
2c6dfcbe5c Rename alias 2014-10-22 19:06:38 +04:00
Nikita Volkov
3a3faef1f9 Comments 2014-10-22 19:05:34 +04:00
Nikita Volkov
59c4ec134d Rename stuff a bit 2014-10-22 18:22:02 +04:00
Nikita Volkov
2668da3559 Clean up 2014-10-22 18:21:51 +04:00
Nikita Volkov
8722e0ea31 Function aliases 2014-10-21 15:15:35 +04:00
Nikita Volkov
ba9bbe3b89 Update API 2014-10-20 03:03:41 +04:00
Nikita Volkov
06e5973195 Update transaction conflicts handling 2014-10-19 23:35:26 +04:00
Nikita Volkov
d16efd9896 Rename to "hasql" 2014-10-18 00:03:02 +04:00