mensam-0
Safe HaskellSafe-Inferred
LanguageGHC2021

Mensam.Server.Database.Extra

Synopsis

Documentation

queryUnique :: (MonadSelda m, MonadThrow m, Result a) => Query (Backend m) a -> m (Maybe (Res a)) Source #

Run query, but throw an error when there are multiple results.

data SqlErrorMensamNotUniqueQuery Source #

Expected unique result, but the query returned multiple results.

Instances

Instances details
Exception SqlErrorMensamNotUniqueQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Generic SqlErrorMensamNotUniqueQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Associated Types

type Rep SqlErrorMensamNotUniqueQuery :: Type -> Type #

Read SqlErrorMensamNotUniqueQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Show SqlErrorMensamNotUniqueQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Eq SqlErrorMensamNotUniqueQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Ord SqlErrorMensamNotUniqueQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotUniqueQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotUniqueQuery = D1 ('MetaData "SqlErrorMensamNotUniqueQuery" "Mensam.Server.Database.Extra" "mensam-0-1nI1njg5LseIhGpsugoJ63" 'False) (C1 ('MetaCons "MkSqlErrorMensamNotUniqueQuery" 'PrefixI 'False) (U1 :: Type -> Type))

queryOne :: (MonadSelda m, MonadCatch m, Result a) => Query (Backend m) a -> m (Res a) Source #

Run query, but throw an error unless there is exactly one result.

newtype SqlErrorMensamNotOneQuery Source #

Expected exactly one result, but the query didn't return a lone result.

Instances

Instances details
Exception SqlErrorMensamNotOneQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Generic SqlErrorMensamNotOneQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Associated Types

type Rep SqlErrorMensamNotOneQuery :: Type -> Type #

Read SqlErrorMensamNotOneQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Show SqlErrorMensamNotOneQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Eq SqlErrorMensamNotOneQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Ord SqlErrorMensamNotOneQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotOneQuery Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotOneQuery = D1 ('MetaData "SqlErrorMensamNotOneQuery" "Mensam.Server.Database.Extra" "mensam-0-1nI1njg5LseIhGpsugoJ63" 'True) (C1 ('MetaCons "MkSqlErrorMensamNotOneQuery" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SqlErrorMensamNotUniqueQuery))))

insertOne :: (MonadSelda m, MonadThrow m, Relational a) => Table a -> a -> m () Source #

Run insert, but throw an error unless exactly one row is being inserted.

deleteUniqueFrom :: (MonadSelda m, MonadThrow m, Relational a) => Table a -> (Row (Backend m) a -> Col (Backend m) Bool) -> m Bool Source #

Run deleteFrom, but throw an error when multiple rows have been deleted.

deleteOneFrom :: (MonadSelda m, MonadThrow m, Relational a) => Table a -> (Row (Backend m) a -> Col (Backend m) Bool) -> m () Source #

Run deleteFrom, but throw an error unless exactly one row has been deleted.

updateUnique :: (MonadSelda m, MonadThrow m, Relational a) => Table a -> (Row (Backend m) a -> Col (Backend m) Bool) -> (Row (Backend m) a -> Row (Backend m) a) -> m () Source #

Run update, but throw an error when multiple rows are affected.

data SqlErrorMensamNotUniqueUpdate Source #

Expected to update a single row, but the update matched multiple rows.

Instances

Instances details
Exception SqlErrorMensamNotUniqueUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Generic SqlErrorMensamNotUniqueUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Associated Types

type Rep SqlErrorMensamNotUniqueUpdate :: Type -> Type #

Read SqlErrorMensamNotUniqueUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Show SqlErrorMensamNotUniqueUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Eq SqlErrorMensamNotUniqueUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Ord SqlErrorMensamNotUniqueUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotUniqueUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotUniqueUpdate = D1 ('MetaData "SqlErrorMensamNotUniqueUpdate" "Mensam.Server.Database.Extra" "mensam-0-1nI1njg5LseIhGpsugoJ63" 'False) (C1 ('MetaCons "MkSqlErrorMensamNotUniqueUpdate" 'PrefixI 'False) (U1 :: Type -> Type))

updateOne :: (MonadSelda m, MonadThrow m, Relational a) => Table a -> (Row (Backend m) a -> Col (Backend m) Bool) -> (Row (Backend m) a -> Row (Backend m) a) -> m () Source #

Run update, but throw an error unless exactly one row is affected.

newtype SqlErrorMensamNotOneUpdate Source #

Expected to update exactly one row, but the update did not match exactly one row.

Instances

Instances details
Exception SqlErrorMensamNotOneUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Generic SqlErrorMensamNotOneUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Associated Types

type Rep SqlErrorMensamNotOneUpdate :: Type -> Type #

Read SqlErrorMensamNotOneUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Show SqlErrorMensamNotOneUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Eq SqlErrorMensamNotOneUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Ord SqlErrorMensamNotOneUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotOneUpdate Source # 
Instance details

Defined in Mensam.Server.Database.Extra

type Rep SqlErrorMensamNotOneUpdate = D1 ('MetaData "SqlErrorMensamNotOneUpdate" "Mensam.Server.Database.Extra" "mensam-0-1nI1njg5LseIhGpsugoJ63" 'True) (C1 ('MetaCons "MkSqlErrorMensamNotOneUpdate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SqlErrorMensamNotUniqueUpdate))))

data SomeCol t Source #

Constructors

forall a.SqlType a => MkSomeCol (Col t a) 

orderFlexible :: Same s t => (c -> SomeCol s) -> OrderByCategories c -> Query t () Source #

newtype SqlEnumStripPrefix prefix a Source #

Constructors

MkSqlEnumStripPrefix 

Instances

Instances details
Bounded a => Bounded (SqlEnumStripPrefix prefix a) Source # 
Instance details

Defined in Mensam.Server.Database.Extra

Enum a => Enum (SqlEnumStripPrefix prefix a) Source # 
Instance details

Defined in Mensam.Server.Database.Extra

(Typeable a, Bounded a, Enum a, Show a, Read a, KnownSymbol prefix) => SqlEnum (SqlEnumStripPrefix prefix a) Source # 
Instance details

Defined in Mensam.Server.Database.Extra