name:
  postgresql-binary
version:
  0.12.1.1
synopsis:
  Encoders and decoders for the PostgreSQL's binary format
description:
  An API for dealing with PostgreSQL's binary data format.
  .
  It can be used to implement performant bindings to Postgres.
  E.g., <http://hackage.haskell.org/package/hasql "hasql">
  is based on this library.
  .
  It supports all Postgres versions starting from 8.3 
  and is tested against 8.3, 9.3 and 9.5
  with the @integer_datetimes@ setting off and on.
category:
  PostgreSQL, Database, Codecs, Parsing
homepage:
  https://github.com/nikita-volkov/postgresql-binary 
bug-reports:
  https://github.com/nikita-volkov/postgresql-binary/issues 
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
tested-with:
  GHC==7.6.1,
  GHC==7.8.1,
  GHC==7.10.1,
  GHC==8.0.1

source-repository head
  type:
    git
  location:
    git://github.com/nikita-volkov/postgresql-binary.git

library
  hs-source-dirs:
    library
  ghc-options:
    -funbox-strict-fields
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  exposed-modules:
    PostgreSQL.Binary.Decoding
    PostgreSQL.Binary.Encoding
    PostgreSQL.Binary.Data
  other-modules:
    PostgreSQL.Binary.Encoding.Builders
    PostgreSQL.Binary.Prelude
    PostgreSQL.Binary.Integral
    PostgreSQL.Binary.Interval
    PostgreSQL.Binary.Numeric
    PostgreSQL.Binary.Time
    PostgreSQL.Binary.Inet
    PostgreSQL.Binary.BuilderPrim
  build-depends:
    -- parsing:
    binary-parser >= 0.5 && < 0.6,
    -- building:
    bytestring-strict-builder >= 0.4.2 && < 0.5,
    -- data:
    aeson >= 0.9 && < 2,
    uuid == 1.3.*,
    time >= 1.4 && < 2,
    scientific >= 0.2 && < 0.4,
    bytestring >= 0.10.4 && < 0.11,
    text >= 1 && < 2,
    vector >= 0.10 && < 0.13,
    network-ip >= 0.2 && < 1,
    unordered-containers == 0.2.*,
    containers == 0.5.*,
    -- errors:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    transformers >= 0.3 && < 0.6,
    base-prelude >= 0.1.19 && < 2,
    base >= 4.6 && < 5

-- This test-suite must be executed in a single-thread.
test-suite tasty
  type:
    exitcode-stdio-1.0
  hs-source-dirs:
    tasty
  main-is:
    Main.hs
  other-modules:
    Main.TextEncoder 
    Main.DB
    Main.Apx
    Main.IO
    Main.Gens
    Main.PTI
    Main.Properties
    Main.Prelude
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    -- testing:
    postgresql-binary,
    postgresql-libpq == 0.9.*,
    tasty >= 1 && < 2,
    tasty-quickcheck >= 0.9 && < 0.11,
    tasty-hunit >= 0.9 && < 0.11,
    quickcheck-instances >= 0.3.11 && < 0.4,
    QuickCheck >= 2.8.1 && < 3,
    -- data:
    aeson,
    json-ast == 0.3.*,
    conversion == 1.*,
    conversion-bytestring == 1.*,
    conversion-text == 1.*,
    network-ip >= 0.2 && < 1,
    -- debugging:
    loch-th == 0.2.*,
    placeholders == 0.1.*,
    -- general:
    rerebase >= 1.0.2 && < 2

benchmark encoding
  type: 
    exitcode-stdio-1.0
  hs-source-dirs:
    encoding
  main-is:
    Main.hs
  ghc-options:
    -O2
    -threaded
    "-with-rtsopts=-N"
    -funbox-strict-fields
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    postgresql-binary,
    -- benchmarking:
    criterion >= 1.0 && < 1.2,
    -- general:
    rerebase < 2

benchmark decoding
  type: 
    exitcode-stdio-1.0
  hs-source-dirs:
    decoding
  main-is:
    Main.hs
  ghc-options:
    -O2
    -threaded
    "-with-rtsopts=-N"
    -funbox-strict-fields
  default-extensions:
    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
  default-language:
    Haskell2010
  build-depends:
    postgresql-binary,
    -- benchmarking:
    criterion >= 1.0 && < 1.2,
    -- general:
    rerebase < 2