-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | MySQL backend for the groundhog library.
--   
--   This package uses mysql-simple and mysql
@package groundhog-mysql
@version 0.8.0.1

module Database.Groundhog.MySQL
withMySQLPool :: (MonadBaseControl IO m, MonadIO m) => ConnectInfo -> Int -> (Pool MySQL -> m a) -> m a
withMySQLConn :: (MonadBaseControl IO m, MonadIO m) => ConnectInfo -> (MySQL -> m a) -> m a
createMySQLPool :: MonadIO m => ConnectInfo -> Int -> m (Pool MySQL)

-- | Runs action within connection. It can handle a simple connection, a
--   pool of them, etc.
runDbConn :: (MonadIO m, MonadBaseControl IO m, ConnectionManager conn, ExtractConnection cm conn) => Action conn a -> cm -> m a
newtype MySQL
MySQL :: Connection -> MySQL
data ConnectInfo :: *
ConnectInfo :: String -> Word16 -> String -> String -> String -> [Option] -> FilePath -> Maybe SSLInfo -> ConnectInfo
[connectHost] :: ConnectInfo -> String
[connectPort] :: ConnectInfo -> Word16
[connectUser] :: ConnectInfo -> String
[connectPassword] :: ConnectInfo -> String
[connectDatabase] :: ConnectInfo -> String
[connectOptions] :: ConnectInfo -> [Option]
[connectPath] :: ConnectInfo -> FilePath
[connectSSL] :: ConnectInfo -> Maybe SSLInfo
data SSLInfo :: *
SSLInfo :: FilePath -> FilePath -> FilePath -> FilePath -> String -> SSLInfo
[sslKey] :: SSLInfo -> FilePath
[sslCert] :: SSLInfo -> FilePath
[sslCA] :: SSLInfo -> FilePath
[sslCAPath] :: SSLInfo -> FilePath

-- | Comma-separated list of cipher names.
[sslCiphers] :: SSLInfo -> String

-- | Default information for setting up a connection.
--   
--   Defaults are as follows:
--   
--   <ul>
--   <li>Server on <tt>localhost</tt></li>
--   <li>User <tt>root</tt></li>
--   <li>No password</li>
--   <li>Database <tt>test</tt></li>
--   <li>Character set <tt>utf8</tt></li>
--   </ul>
--   
--   Use as in the following example:
--   
--   <pre>
--   connect defaultConnectInfo { connectHost = "db.example.com" }
--   </pre>
defaultConnectInfo :: ConnectInfo

-- | Default (empty) information for setting up an SSL connection.
defaultSSLInfo :: SSLInfo
instance Database.MySQL.Simple.Param.Param Database.Groundhog.MySQL.P
instance Database.Groundhog.Core.DbDescriptor Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Generic.Sql.SqlDb Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Generic.Sql.FloatingSqlDb Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Core.PersistBackendConn Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Generic.Migration.SchemaAnalyzer Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Core.Savepoint Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Core.ConnectionManager Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Core.TryConnectionManager Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Core.ExtractConnection Database.Groundhog.MySQL.MySQL Database.Groundhog.MySQL.MySQL
instance Database.Groundhog.Core.ExtractConnection (Data.Pool.Pool Database.Groundhog.MySQL.MySQL) Database.Groundhog.MySQL.MySQL
