poseidon-0.1.0.0: Simple extensible library to run SQL file against PostgreSQL database.

Copyright(c) 2019 Florian Grignon
LicenseBSD3
Maintainergrignon.florian@gmail.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Database.Poseidon

Description

This library provide a Simple and Extensible access to PostgreSQL.

Simple: Poseidon runs a SQL query and returns a set of custom datatype. **It is not an ORM.**

Extensible: As a user of the library, you can map your custom PostgreSQL type to your Haskell datatype easily, in a pluggable way (e.g. if you're using postgis, you will be most likely interested by poseidon-postgis, that maps GeoJSON WKT to GeospatialGeometry).

Documentation

class EotDeserialize eot where Source #

Methods

eotDeserialize :: Result -> CInt -> CInt -> IO eot Source #

Instances
EotDeserialize () Source # 
Instance details

Defined in Database.Poseidon

Methods

eotDeserialize :: Result -> CInt -> CInt -> IO () Source #

EotDeserialize Void Source # 
Instance details

Defined in Database.Poseidon

(EotDeserialize this, EotDeserialize next) => EotDeserialize (Either this next) Source # 
Instance details

Defined in Database.Poseidon

Methods

eotDeserialize :: Result -> CInt -> CInt -> IO (Either this next) Source #

(Deserialize x, EotDeserialize xs) => EotDeserialize (x, xs) Source # 
Instance details

Defined in Database.Poseidon

Methods

eotDeserialize :: Result -> CInt -> CInt -> IO (x, xs) Source #

class Deserialize a where Source #

Methods

deserialize :: Result -> CInt -> CInt -> IO a Source #

Instances
Deserialize Bool Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO Bool Source #

Deserialize Double Source # 
Instance details

Defined in Database.Poseidon

Deserialize Float Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO Float Source #

Deserialize Integer Source # 
Instance details

Defined in Database.Poseidon

Deserialize () Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO () Source #

Deserialize ByteString Source # 
Instance details

Defined in Database.Poseidon

Deserialize ByteString Source # 
Instance details

Defined in Database.Poseidon

Deserialize Text Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO Text Source #

Deserialize UTCTime Source # 
Instance details

Defined in Database.Poseidon

Deserialize Value Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO Value Source #

Deserialize UUID Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO UUID Source #

Deserialize [Text] Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO [Text] Source #

Deserialize (Maybe Bool) Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO (Maybe Bool) Source #

Deserialize (Maybe Text) Source # 
Instance details

Defined in Database.Poseidon

Methods

deserialize :: Result -> CInt -> CInt -> IO (Maybe Text) Source #