napkin-0.5.9
Safe HaskellNone
LanguageHaskell2010

Napkin.Run.Effects.Languages.TableSpec

Synopsis

Documentation

renameReferences :: Member (Reader QueryTransformer) r => (Ref Table -> Ref Table) -> Sem r a -> Sem r a #

Apply given table name renamer to every single reference occurence everywhere.

If you want to target only certain tables, make sure the function you provide here does the filtering internally.

applyTransformer :: Member (Reader QueryTransformer) r => QueryTransformer -> Sem r a -> Sem r a #

Comprehensively apply the given transformer around the given region.

hideDependencies :: forall a r. Member (Reader HiddenDependencies) r => Set (Ref Table) -> Sem r a -> Sem r a #

Add the given dependencies to the hide list around the given region.

Later during interpretation, this will cause the given dependencies to not be considered upstream dependencies within the enclosed region.

hideDependency :: forall a r. Member (Reader HiddenDependencies) r => Ref Table -> Sem r a -> Sem r a #

Add the given dependency to the hide list around the given region.

Later during interpretation, this will cause the given dependency to not be considered upstream dependency within the enclosed region.

addDependencies :: forall a r. Member (Reader ExtraDependencies) r => Set (Ref Table) -> Sem r a -> Sem r a #

Add the given references to list of dependencies for the underlying region.

Later during interpretation, this will cause the given dependencies to be forcefully considered upstream dependencies within the enclosed region even though they were not seen in the parsed SQL.

addDependency :: forall a r. Member (Reader ExtraDependencies) r => Ref Table -> Sem r a -> Sem r a #

Add the given reference to list of dependency for the underlying region.

Later during interpretation, this will cause the given dependency to be forcefully considered upstream dependency within the enclosed region even though they were not seen in the parsed SQL.

overrideTarget :: forall a r. Member (Reader TargetName) r => Ref Table -> Sem r a -> Sem r a #

newtype ExtraDependencies #

Constructors

ExtraDependencies (Set (Ref Table)) 

Instances

Instances details
IsList ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Associated Types

type Item ExtraDependencies #

Eq ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Show ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Semigroup ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Monoid ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Default ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

type Item ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

newtype HiddenDependencies #

Constructors

HiddenDependencies (Set (Ref Table)) 

Instances

Instances details
IsList HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Associated Types

type Item HiddenDependencies #

Eq HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Show HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Semigroup HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Monoid HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Default HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

type Item HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

newtype TargetName #

Constructors

TargetName (Ref Table) 

insertQueryIntoTarget :: forall effs. Members [SqlWrite, Reader TargetName] effs => Query -> Sem effs () #

deleteFromTarget :: forall effs. Members [SqlWrite, Reader TargetName] effs => SExp -> Sem effs () #

newtype Transformed a #

Constructors

Transformed a 

Instances

Instances details
Eq a => Eq (Transformed a) # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Show a => Show (Transformed a) # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec