napkin-spec-2.0.0
Safe HaskellNone
LanguageGHC2024

Napkin.Run.Effects.Languages.TableSpec

Synopsis

Documentation

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

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

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

applyTransformer :: forall (r :: EffectRow) a. Member (Reader QueryTransformer) r => QueryTransformerUnit -> Sem r a -> Sem r a #

Comprehensively apply the given transformer around the given region.

hideDependencies :: forall a (r :: EffectRow). 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 :: EffectRow). 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.

hideArtifact :: forall a (r :: EffectRow). Member (Reader HiddenArtifacts) r => Ref Table -> Sem r a -> Sem r a #

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

Later during interpretation, this will cause the given artifact to not be reported to the tablespec within the enclosed region.

addDependencies :: forall (r :: EffectRow). Member (Output ExtraDependencies :: (Type -> Type) -> Type -> Type) r => Set (Ref Table) -> Sem r () #

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 (r :: EffectRow). Member (Output ExtraDependencies :: (Type -> Type) -> Type -> Type) r => Ref Table -> Sem r () #

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 :: EffectRow). Member (Reader TargetName) r => Ref Table -> Sem r a -> Sem r a #

newtype ExtraDependencies #

Constructors

ExtraDependencies (Set (Ref Table)) 

Instances

Instances details
Default ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Monoid ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Semigroup ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

IsList ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Associated Types

type Item ExtraDependencies 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Show ExtraDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Eq 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
Default HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Monoid HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Semigroup HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

IsList HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Associated Types

type Item HiddenDependencies 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Show HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Eq HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

type Item HiddenDependencies # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

newtype HiddenArtifacts #

Constructors

HiddenArtifacts (Set (Ref Table)) 

Instances

Instances details
Default HiddenArtifacts # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Monoid HiddenArtifacts # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Semigroup HiddenArtifacts # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

IsList HiddenArtifacts # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Associated Types

type Item HiddenArtifacts 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Show HiddenArtifacts # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

Eq HiddenArtifacts # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

type Item HiddenArtifacts # 
Instance details

Defined in Napkin.Run.Effects.Languages.TableSpec

newtype TargetName #

Constructors

TargetName (Ref Table) 

newtype MetaArguments #

Constructors

MetaArguments 

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

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

updateTarget :: forall b (effs :: EffectRow). Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, Reader TargetName] effs => (Ref Relation -> U ()) -> Sem effs () #

newtype Transformed a #

Constructors

Transformed a 

Instances

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

Defined in Napkin.Run.Effects.Languages.TableSpec

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

Defined in Napkin.Run.Effects.Languages.TableSpec

memo :: forall a (eff :: EffectRow). (ToJSON a, Member (Output TableMemo :: (Type -> Type) -> Type -> Type) eff) => a -> Sem eff () #