Module

Database.Postgres

Package
purescript-node-postgres
Repository
epost/purescript-node-postgres

#Query Source

newtype Query a

Constructors

#Client Source

data Client :: Type

#DB Source

data DB :: Effect

#ConnectionString Source

#ConnectionInfo Source

type ConnectionInfo = { db :: String, host :: String, password :: String, port :: Int, user :: String }

#connect Source

connect :: forall eff. ConnectionInfo -> Aff (db :: DB | eff) Client

Makes a connection to the database.

#execute Source

execute :: forall a eff. Query a -> Array SqlValue -> Client -> Aff (db :: DB | eff) Unit

Runs a query and returns nothing.

#execute_ Source

execute_ :: forall a eff. Query a -> Client -> Aff (db :: DB | eff) Unit

Runs a query and returns nothing

#query Source

query :: forall a eff. Decode a => Query a -> Array SqlValue -> Client -> Aff (db :: DB | eff) (Array a)

Runs a query and returns all results.

#query_ Source

query_ :: forall a eff. Decode a => Query a -> Client -> Aff (db :: DB | eff) (Array a)

Just like query but does not make any param replacement

#queryOne Source

queryOne :: forall a eff. Decode a => Query a -> Array SqlValue -> Client -> Aff (db :: DB | eff) (Maybe a)

Runs a query and returns the first row, if any

#queryOne_ Source

queryOne_ :: forall a eff. Decode a => Query a -> Client -> Aff (db :: DB | eff) (Maybe a)

Just like queryOne but does not make any param replacement

#queryValue Source

queryValue :: forall a eff. Decode a => Query a -> Array SqlValue -> Client -> Aff (db :: DB | eff) (Maybe a)

Runs a query and returns a single value, if any.

#queryValue_ Source

queryValue_ :: forall a eff. Decode a => Query a -> Client -> Aff (db :: DB | eff) (Maybe a)

Just like queryValue but does not make any param replacement

#withConnection Source

withConnection :: forall a eff. ConnectionInfo -> (Client -> Aff (db :: DB | eff) a) -> Aff (db :: DB | eff) a

Connects to the database, calls the provided function with the client and returns the results.

#withClient Source

withClient :: forall a eff. ConnectionInfo -> (Client -> Aff (db :: DB | eff) a) -> Aff (db :: DB | eff) a

Takes a Client from the connection pool, runs the given function with the client and returns the results.

#end Source

end :: forall eff. Client -> Eff (db :: DB | eff) Unit

#disconnect Source

disconnect :: forall eff. Eff (db :: DB | eff) Unit