groundhog-mysql-0.8: MySQL backend for the groundhog library.

Safe HaskellNone
LanguageHaskell98

Database.Groundhog.MySQL

Synopsis

Documentation

withMySQLPool Source #

Arguments

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

number of connections to open

-> (Pool MySQL -> m a) 
-> m a 

createMySQLPool Source #

Arguments

:: MonadIO m 
=> ConnectInfo 
-> Int

number of connections to open

-> m (Pool MySQL) 

runDbConn :: (MonadIO m, MonadBaseControl IO m, ConnectionManager conn, ExtractConnection cm conn) => Action conn a -> cm -> m a #

Runs action within connection. It can handle a simple connection, a pool of them, etc.

newtype MySQL Source #

Constructors

MySQL Connection 

Instances

SchemaAnalyzer MySQL Source # 
SqlDb MySQL Source # 
FloatingSqlDb MySQL Source # 

Methods

log' :: (ExpressionOf MySQL r x a, Floating a) => x -> Expr MySQL r a #

logBase' :: (ExpressionOf MySQL r b a, ExpressionOf MySQL r x a, Floating a) => b -> x -> Expr MySQL r a #

DbDescriptor MySQL Source # 

Associated Types

type AutoKeyType MySQL :: * #

type QueryRaw MySQL :: * -> * #

Methods

backendName :: proxy MySQL -> String #

PersistBackendConn MySQL Source # 

Methods

insert :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => v -> m (AutoKey v) #

insert_ :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => v -> m () #

insertBy :: (PersistEntity v, IsUniqueKey (Key v (Unique u)), PersistBackend m, (* ~ Conn m) MySQL) => u (UniqueMarker v) -> v -> m (Either (AutoKey v) (AutoKey v)) #

insertByAll :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => v -> m (Either (AutoKey v) (AutoKey v)) #

replace :: (PersistEntity v, PrimitivePersistField (Key v BackendSpecific), PersistBackend m, (* ~ Conn m) MySQL) => Key v BackendSpecific -> v -> m () #

replaceBy :: (PersistEntity v, IsUniqueKey (Key v (Unique u)), PersistBackend m, (* ~ Conn m) MySQL) => u (UniqueMarker v) -> v -> m () #

select :: (PersistEntity v, EntityConstr v c, HasSelectOptions opts MySQL (RestrictionHolder v c), PersistBackend m, (* ~ Conn m) MySQL) => opts -> m [v] #

selectStream :: (PersistEntity v, EntityConstr v c, HasSelectOptions opts MySQL (RestrictionHolder v c), PersistBackend m, (* ~ Conn m) MySQL) => opts -> m (RowStream v) #

selectAll :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => m [(AutoKey v, v)] #

selectAllStream :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => m (RowStream (AutoKey v, v)) #

get :: (PersistEntity v, PrimitivePersistField (Key v BackendSpecific), PersistBackend m, (* ~ Conn m) MySQL) => Key v BackendSpecific -> m (Maybe v) #

getBy :: (PersistEntity v, IsUniqueKey (Key v (Unique u)), PersistBackend m, (* ~ Conn m) MySQL) => Key v (Unique u) -> m (Maybe v) #

update :: (PersistEntity v, EntityConstr v c, PersistBackend m, (* ~ Conn m) MySQL) => [Update MySQL (RestrictionHolder v c)] -> Cond MySQL (RestrictionHolder v c) -> m () #

delete :: (PersistEntity v, EntityConstr v c, PersistBackend m, (* ~ Conn m) MySQL) => Cond MySQL (RestrictionHolder v c) -> m () #

deleteBy :: (PersistEntity v, PrimitivePersistField (Key v BackendSpecific), PersistBackend m, (* ~ Conn m) MySQL) => Key v BackendSpecific -> m () #

deleteAll :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => v -> m () #

count :: (PersistEntity v, EntityConstr v c, PersistBackend m, (* ~ Conn m) MySQL) => Cond MySQL (RestrictionHolder v c) -> m Int #

countAll :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => v -> m Int #

project :: (PersistEntity v, EntityConstr v c, Projection' p MySQL (RestrictionHolder v c) a, HasSelectOptions opts MySQL (RestrictionHolder v c), PersistBackend m, (* ~ Conn m) MySQL) => p -> opts -> m [a] #

projectStream :: (PersistEntity v, EntityConstr v c, Projection' p MySQL (RestrictionHolder v c) a, HasSelectOptions opts MySQL (RestrictionHolder v c), PersistBackend m, (* ~ Conn m) MySQL) => p -> opts -> m (RowStream a) #

migrate :: (PersistEntity v, PersistBackend m, (* ~ Conn m) MySQL) => v -> Migration m #

executeRaw :: (PersistBackend m, (* ~ Conn m) MySQL) => Bool -> String -> [PersistValue] -> m () #

queryRaw :: (PersistBackend m, (* ~ Conn m) MySQL) => Bool -> String -> [PersistValue] -> m (RowStream [PersistValue]) #

insertList :: (PersistField a, PersistBackend m, (* ~ Conn m) MySQL) => [a] -> m Int64 #

getList :: (PersistField a, PersistBackend m, (* ~ Conn m) MySQL) => Int64 -> m [a] #

ConnectionManager MySQL Source # 

Methods

withConn :: (MonadBaseControl IO m, MonadIO m) => (MySQL -> m a) -> MySQL -> m a #

Savepoint MySQL Source # 

Methods

withConnSavepoint :: (MonadBaseControl IO m, MonadIO m) => String -> m a -> MySQL -> m a #

ExtractConnection MySQL MySQL Source # 

Methods

extractConn :: (MonadBaseControl IO m, MonadIO m) => (MySQL -> m a) -> MySQL -> m a #

ExtractConnection (Pool MySQL) MySQL Source # 

Methods

extractConn :: (MonadBaseControl IO m, MonadIO m) => (MySQL -> m a) -> Pool MySQL -> m a #

type QueryRaw MySQL Source # 
type AutoKeyType MySQL Source # 

data SSLInfo :: * #

Constructors

SSLInfo 

Fields

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.