2014-08-03 17:48:18 +04:00
|
|
|
name:
|
2014-10-18 00:03:02 +04:00
|
|
|
hasql
|
2014-08-03 17:48:18 +04:00
|
|
|
version:
|
2014-11-10 13:48:17 +03:00
|
|
|
0.1.4
|
2014-08-03 17:48:18 +04:00
|
|
|
synopsis:
|
2014-10-12 18:00:14 +04:00
|
|
|
A minimalistic general high level API for relational databases
|
2014-08-03 17:48:18 +04:00
|
|
|
description:
|
2014-10-24 01:21:44 +04:00
|
|
|
A robust and concise yet powerful API for communication with arbitrary
|
2014-10-28 15:02:44 +03:00
|
|
|
relational databases.
|
|
|
|
.
|
2014-10-28 15:36:54 +03:00
|
|
|
Features:
|
2014-10-24 01:21:44 +04:00
|
|
|
.
|
|
|
|
* Concise and crisp API. Just a few functions and two monads doing all the
|
|
|
|
boilerplate job for you.
|
|
|
|
.
|
2014-10-28 15:02:44 +03:00
|
|
|
* A powerful transaction abstraction, which provides
|
|
|
|
an automated resolution of conflicts.
|
|
|
|
The API ensures that you're only able to perform a specific
|
|
|
|
set of actions in the transaction context,
|
|
|
|
which allows Hasql to safely resolve conflicting transactions
|
|
|
|
by automatically retrying them.
|
|
|
|
This is much inspired by STM and ST.
|
|
|
|
.
|
|
|
|
* Support for cursors. Allows to fetch virtually limitless result sets in a
|
|
|
|
constant memory using streaming.
|
|
|
|
.
|
|
|
|
* Employment of prepared statements.
|
|
|
|
Every statement you emit gets prepared and cached.
|
|
|
|
This raises the performance of the backend.
|
|
|
|
.
|
2014-10-24 01:21:44 +04:00
|
|
|
* Automated management of resources related to connections, transactions and
|
|
|
|
cursors.
|
|
|
|
.
|
2014-10-27 16:06:57 +03:00
|
|
|
* A built-in connections pool.
|
2014-10-24 01:21:44 +04:00
|
|
|
.
|
|
|
|
* Type-level generation of templates. You just can't write a statement with an
|
|
|
|
incorrect number of placeholders.
|
|
|
|
.
|
|
|
|
* Mapping to any types actually supported by the backend.
|
2014-10-28 15:02:44 +03:00
|
|
|
.
|
2014-10-28 15:36:54 +03:00
|
|
|
Links:
|
2014-10-28 15:02:44 +03:00
|
|
|
.
|
2014-10-28 15:59:14 +03:00
|
|
|
* <http://hackage.haskell.org/package/hasql-0.1.3/src/demo/Main.hs A basic tutorial-demo>.
|
2014-10-28 15:02:44 +03:00
|
|
|
.
|
2014-10-28 15:59:14 +03:00
|
|
|
* <http://hackage.haskell.org/package/hasql-postgres A PostgreSQL backend>.
|
2014-10-28 15:02:44 +03:00
|
|
|
.
|
2014-08-03 17:48:18 +04:00
|
|
|
category:
|
2014-08-03 20:15:33 +04:00
|
|
|
Database
|
2014-08-03 17:48:18 +04:00
|
|
|
homepage:
|
2014-10-18 00:03:02 +04:00
|
|
|
https://github.com/nikita-volkov/hasql
|
2014-08-03 17:48:18 +04:00
|
|
|
bug-reports:
|
2014-10-18 00:03:02 +04:00
|
|
|
https://github.com/nikita-volkov/hasql/issues
|
2014-08-03 17:48:18 +04:00
|
|
|
author:
|
|
|
|
Nikita Volkov <nikita.y.volkov@mail.ru>
|
|
|
|
maintainer:
|
|
|
|
Nikita Volkov <nikita.y.volkov@mail.ru>
|
|
|
|
copyright:
|
|
|
|
(c) 2014, Nikita Volkov
|
|
|
|
license:
|
|
|
|
MIT
|
|
|
|
license-file:
|
|
|
|
LICENSE
|
|
|
|
build-type:
|
|
|
|
Simple
|
|
|
|
cabal-version:
|
|
|
|
>=1.10
|
|
|
|
|
|
|
|
|
|
|
|
source-repository head
|
|
|
|
type:
|
|
|
|
git
|
|
|
|
location:
|
2014-10-18 00:03:02 +04:00
|
|
|
git://github.com/nikita-volkov/hasql.git
|
2014-08-03 17:48:18 +04:00
|
|
|
|
|
|
|
|
|
|
|
library
|
|
|
|
hs-source-dirs:
|
|
|
|
library
|
2014-10-28 15:02:44 +03:00
|
|
|
ghc-options:
|
|
|
|
-funbox-strict-fields
|
|
|
|
default-extensions:
|
|
|
|
Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
|
|
|
|
default-language:
|
|
|
|
Haskell2010
|
2014-08-03 17:48:18 +04:00
|
|
|
other-modules:
|
2014-10-18 00:03:02 +04:00
|
|
|
Hasql.Prelude
|
|
|
|
Hasql.QQ
|
2014-10-23 16:32:31 +04:00
|
|
|
Hasql.QQ.Parser
|
2014-10-18 00:03:02 +04:00
|
|
|
Hasql.RowParser
|
2014-08-03 17:48:18 +04:00
|
|
|
exposed-modules:
|
2014-10-18 00:03:02 +04:00
|
|
|
Hasql
|
2014-08-03 17:48:18 +04:00
|
|
|
build-depends:
|
2014-10-23 00:07:40 +04:00
|
|
|
hasql-backend == 0.1.*,
|
2014-08-04 15:29:41 +04:00
|
|
|
-- template-haskell:
|
2014-08-11 19:10:18 +04:00
|
|
|
template-haskell >= 2.8 && < 2.10,
|
2014-08-04 02:37:01 +04:00
|
|
|
-- parsing:
|
2014-08-11 19:10:18 +04:00
|
|
|
attoparsec == 0.12.*,
|
2014-08-03 17:48:18 +04:00
|
|
|
-- database:
|
|
|
|
ex-pool == 0.2.*,
|
2014-08-04 02:36:41 +04:00
|
|
|
-- data:
|
2014-10-25 16:32:12 +04:00
|
|
|
vector < 0.11,
|
2014-10-12 23:12:35 +04:00
|
|
|
time >= 1.4 && < 1.6,
|
2014-08-04 02:36:41 +04:00
|
|
|
bytestring == 0.10.*,
|
2014-10-13 02:21:27 +04:00
|
|
|
text >= 1.1 && < 1.3,
|
2014-08-05 00:21:32 +04:00
|
|
|
-- control:
|
2014-10-17 21:24:33 +04:00
|
|
|
list-t >= 0.2.4 && < 0.3,
|
2014-08-05 00:21:32 +04:00
|
|
|
monad-control == 0.3.*,
|
|
|
|
transformers-base == 0.4.*,
|
2014-08-03 17:48:18 +04:00
|
|
|
-- errors:
|
|
|
|
loch-th == 0.2.*,
|
|
|
|
placeholders == 0.1.*,
|
|
|
|
-- general:
|
2014-10-23 20:04:11 +04:00
|
|
|
monad-control == 0.3.*,
|
|
|
|
transformers-base == 0.4.*,
|
2014-10-12 23:12:35 +04:00
|
|
|
safe >= 0.3.8 && < 0.4,
|
2014-10-13 02:21:27 +04:00
|
|
|
mmorph == 1.0.*,
|
2014-10-22 18:45:36 +04:00
|
|
|
mtl-prelude == 2.*,
|
2014-10-12 23:12:35 +04:00
|
|
|
base-prelude >= 0.1.3 && < 0.2,
|
|
|
|
base >= 4.5 && < 4.8
|
2014-10-28 15:00:42 +03:00
|
|
|
|
|
|
|
|
|
|
|
-- Well, it's not a benchmark actually,
|
|
|
|
-- but there's no better way to specify an executable,
|
|
|
|
-- which is not intended for distribution, in Cabal.
|
|
|
|
benchmark demo
|
|
|
|
type:
|
|
|
|
exitcode-stdio-1.0
|
|
|
|
hs-source-dirs:
|
|
|
|
demo
|
|
|
|
main-is:
|
|
|
|
Main.hs
|
|
|
|
ghc-options:
|
|
|
|
-O2
|
|
|
|
-threaded
|
|
|
|
"-with-rtsopts=-N"
|
|
|
|
-funbox-strict-fields
|
|
|
|
default-language:
|
|
|
|
Haskell2010
|
|
|
|
build-depends:
|
|
|
|
hasql-postgres == 0.1.*,
|
|
|
|
hasql == 0.1.*,
|
|
|
|
transformers,
|
|
|
|
base >= 4.5 && < 4.8
|
|
|
|
|
|
|
|
|