persistent-mysql-1.3.1: Backend for the persistent library using MySQL database server.

Safe HaskellNone

Database.Persist.MySQL

Description

A MySQL backend for persistent.

Synopsis

Documentation

withMySQLPoolSource

Arguments

:: MonadIO m 
=> ConnectInfo

Connection information.

-> Int

Number of connections to be kept open in the pool.

-> (ConnectionPool -> m a)

Action to be executed that uses the connection pool.

-> m a 

Create a MySQL connection pool and run the given action. The pool is properly released after the action finishes using it. Note that you should not use the given ConnectionPool outside the action since it may be already been released.

withMySQLConnSource

Arguments

:: (MonadBaseControl IO m, MonadIO m) 
=> ConnectInfo

Connection information.

-> (Connection -> m a)

Action to be executed that uses the connection.

-> m a 

Same as withMySQLPool, but instead of opening a pool of connections, only one connection is opened.

createMySQLPoolSource

Arguments

:: MonadIO m 
=> ConnectInfo

Connection information.

-> Int

Number of connections to be kept open in the pool.

-> m ConnectionPool 

Create a MySQL connection pool. Note that it's your responsability to properly close the connection pool when unneeded. Use withMySQLPool for automatic resource control.

data ConnectInfo

Constructors

ConnectInfo 

Fields

connectHost :: String
 
connectPort :: Word16
 
connectUser :: String
 
connectPassword :: String
 
connectDatabase :: String
 
connectOptions :: [Option]
 
connectPath :: FilePath
 
connectSSL :: Maybe SSLInfo
 

Instances

Eq ConnectInfo 
Read ConnectInfo 
Show ConnectInfo 
Typeable ConnectInfo 

data SSLInfo

Constructors

SSLInfo 

Fields

sslKey :: FilePath
 
sslCert :: FilePath
 
sslCA :: FilePath
 
sslCAPath :: FilePath
 
sslCiphers :: String

Comma-separated list of cipher names.

Instances

Eq SSLInfo 
Read SSLInfo 
Show SSLInfo 
Typeable SSLInfo 

defaultConnectInfo :: ConnectInfo

Default information for setting up a connection.

Defaults are as follows:

  • Server on localhost
  • User root
  • No password
  • Database test
  • Character set utf8

Use as in the following example:

 connect defaultConnectInfo { connectHost = "db.example.com" }

defaultSSLInfo :: SSLInfo

Default (empty) information for setting up an SSL connection.

data MySQLConf Source

Information required to connect to a MySQL database using persistent's generic facilities. These values are the same that are given to withMySQLPool.

Constructors

MySQLConf 

Fields

myConnInfo :: ConnectInfo

The connection information.

myPoolSize :: Int

How many connections should be held on the connection pool.