napkin-spec-2.0.0
Safe HaskellNone
LanguageGHC2024

Napkin.Run.Effects.Languages.SqlWrite

Documentation

type family BackendTableMeta bk #

type family BackendViewMeta bk #

data TableWriteStrategy #

Instances

Instances details
FromJSON TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

ToJSON TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Data TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TableWriteStrategy -> c TableWriteStrategy #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TableWriteStrategy #

toConstr :: TableWriteStrategy -> Constr #

dataTypeOf :: TableWriteStrategy -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TableWriteStrategy) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TableWriteStrategy) #

gmapT :: (forall b. Data b => b -> b) -> TableWriteStrategy -> TableWriteStrategy #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TableWriteStrategy -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TableWriteStrategy -> r #

gmapQ :: (forall d. Data d => d -> u) -> TableWriteStrategy -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TableWriteStrategy -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TableWriteStrategy -> m TableWriteStrategy #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TableWriteStrategy -> m TableWriteStrategy #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TableWriteStrategy -> m TableWriteStrategy #

Bounded TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Enum TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Generic TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Associated Types

type Rep TableWriteStrategy 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

type Rep TableWriteStrategy = D1 ('MetaData "TableWriteStrategy" "Napkin.Run.Effects.Languages.SqlWrite" "napkin-spec-2.0.0-K8Z80aIHKAH2qnB4rTEZon" 'False) (C1 ('MetaCons "TableWriteStrategyRecreate" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TableWriteStrategyTruncate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TableWriteStrategyAppend" 'PrefixI 'False) (U1 :: Type -> Type)))
Show TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Eq TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

ToHashComponent (b :: k) TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Interceptors.LogProgram.Types

type Rep TableWriteStrategy # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

type Rep TableWriteStrategy = D1 ('MetaData "TableWriteStrategy" "Napkin.Run.Effects.Languages.SqlWrite" "napkin-spec-2.0.0-K8Z80aIHKAH2qnB4rTEZon" 'False) (C1 ('MetaCons "TableWriteStrategyRecreate" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TableWriteStrategyTruncate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TableWriteStrategyAppend" 'PrefixI 'False) (U1 :: Type -> Type)))

data Cascade #

Constructors

Cascade 
Restrict 

Instances

Instances details
Data Cascade # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Cascade -> c Cascade #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Cascade #

toConstr :: Cascade -> Constr #

dataTypeOf :: Cascade -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Cascade) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Cascade) #

gmapT :: (forall b. Data b => b -> b) -> Cascade -> Cascade #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Cascade -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Cascade -> r #

gmapQ :: (forall d. Data d => d -> u) -> Cascade -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Cascade -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Cascade -> m Cascade #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Cascade -> m Cascade #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Cascade -> m Cascade #

Generic Cascade # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Associated Types

type Rep Cascade 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

type Rep Cascade = D1 ('MetaData "Cascade" "Napkin.Run.Effects.Languages.SqlWrite" "napkin-spec-2.0.0-K8Z80aIHKAH2qnB4rTEZon" 'False) (C1 ('MetaCons "Cascade" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Restrict" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Cascade -> Rep Cascade x #

to :: Rep Cascade x -> Cascade #

Show Cascade # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Eq Cascade # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

(==) :: Cascade -> Cascade -> Bool #

(/=) :: Cascade -> Cascade -> Bool #

ToHashComponent (b :: k) Cascade # 
Instance details

Defined in Napkin.Run.Effects.Interceptors.LogProgram.Types

type Rep Cascade # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

type Rep Cascade = D1 ('MetaData "Cascade" "Napkin.Run.Effects.Languages.SqlWrite" "napkin-spec-2.0.0-K8Z80aIHKAH2qnB4rTEZon" 'False) (C1 ('MetaCons "Cascade" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Restrict" 'PrefixI 'False) (U1 :: Type -> Type))

data MissingBehavior #

Constructors

IgnoreMissing 
FailMissing 

Instances

Instances details
Data MissingBehavior # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MissingBehavior -> c MissingBehavior #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MissingBehavior #

toConstr :: MissingBehavior -> Constr #

dataTypeOf :: MissingBehavior -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MissingBehavior) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MissingBehavior) #

gmapT :: (forall b. Data b => b -> b) -> MissingBehavior -> MissingBehavior #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MissingBehavior -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MissingBehavior -> r #

gmapQ :: (forall d. Data d => d -> u) -> MissingBehavior -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MissingBehavior -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MissingBehavior -> m MissingBehavior #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MissingBehavior -> m MissingBehavior #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MissingBehavior -> m MissingBehavior #

Generic MissingBehavior # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Associated Types

type Rep MissingBehavior 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

type Rep MissingBehavior = D1 ('MetaData "MissingBehavior" "Napkin.Run.Effects.Languages.SqlWrite" "napkin-spec-2.0.0-K8Z80aIHKAH2qnB4rTEZon" 'False) (C1 ('MetaCons "IgnoreMissing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FailMissing" 'PrefixI 'False) (U1 :: Type -> Type))
Show MissingBehavior # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Eq MissingBehavior # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

RenderSql MissingBehavior (b :: k) # 
Instance details

Defined in Napkin.Render.Common

ToHashComponent (b :: k) MissingBehavior # 
Instance details

Defined in Napkin.Run.Effects.Interceptors.LogProgram.Types

type Rep MissingBehavior # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

type Rep MissingBehavior = D1 ('MetaData "MissingBehavior" "Napkin.Run.Effects.Languages.SqlWrite" "napkin-spec-2.0.0-K8Z80aIHKAH2qnB4rTEZon" 'False) (C1 ('MetaCons "IgnoreMissing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FailMissing" 'PrefixI 'False) (U1 :: Type -> Type))

type ColName = Text #

data InsertColumnsList #

Instances

Instances details
Default InsertColumnsList # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Data InsertColumnsList # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InsertColumnsList -> c InsertColumnsList #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InsertColumnsList #

toConstr :: InsertColumnsList -> Constr #

dataTypeOf :: InsertColumnsList -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InsertColumnsList) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InsertColumnsList) #

gmapT :: (forall b. Data b => b -> b) -> InsertColumnsList -> InsertColumnsList #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InsertColumnsList -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InsertColumnsList -> r #

gmapQ :: (forall d. Data d => d -> u) -> InsertColumnsList -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InsertColumnsList -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InsertColumnsList -> m InsertColumnsList #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InsertColumnsList -> m InsertColumnsList #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InsertColumnsList -> m InsertColumnsList #

IsList InsertColumnsList # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Associated Types

type Item InsertColumnsList 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Show InsertColumnsList # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Eq InsertColumnsList # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

type Item InsertColumnsList # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

data SqlWrite b (m :: k) a where #

Constructors

CreateTableAsWithMeta :: forall {k} b (m :: k). BackendTableMeta b -> Ref Table -> Query -> SqlWrite b m () 
CreateViewAsWithMeta :: forall {k} b (m :: k). BackendViewMeta b -> Ref Table -> Query -> SqlWrite b m () 
CreateMaterializedViewAsWithMeta :: forall {k} b (m :: k). BackendMaterializedViewMeta b -> Ref Table -> Query -> SqlWrite b m () 
InsertInto :: forall {k} b (m :: k). Ref Table -> InsertColumnsList -> Query -> SqlWrite b m () 
UpdateTable :: forall {k} b (m :: k). UpdateQuery -> SqlWrite b m () 
RenameTable :: forall {k} b (m :: k). Ref Table -> Ref Table -> SqlWrite b m () 
CopyTable :: forall {k} b (m :: k). Ref Table -> Ref Table -> TableWriteStrategy -> SqlWrite b m () 
DropTable :: forall {k} b (m :: k). Ref Table -> MissingBehavior -> Cascade -> SqlWrite b m () 
DropView :: forall {k} b (m :: k). Ref Table -> MissingBehavior -> Cascade -> SqlWrite b m () 
DropMaterializedView :: forall {k} b (m :: k). Ref Table -> MissingBehavior -> Cascade -> SqlWrite b m () 
DeleteFrom :: forall {k} b (m :: k). Ref Table -> SExp -> SqlWrite b m () 
CreateTable :: forall {k} b (m :: k). BackendTableMeta b -> Ref Table -> CreateTableDDL -> SqlWrite b m () 
DropColumn :: forall {k} b (m :: k). Ref Table -> Text -> SqlWrite b m () 
AddColumn :: forall {k} b (m :: k). Ref Table -> Text -> Type -> SqlWrite b m () 

Instances

Instances details
(Default (BackendTableMeta b), Default (BackendViewMeta b), Eq (BackendMaterializedViewMeta b), Eq (BackendTableMeta b), Eq (BackendViewMeta b), Eq (YamlBackendMaterializedViewMeta b), IsRenderable Query b, IsRenderable SExp b, IsRenderable Statement b, IsRenderable Text b, IsRenderable UpdateQuery b, MaybeDefault (YamlBackendMaterializedViewMeta b), Show (BackendMaterializedViewMeta b), Show (BackendTableMeta b), Show (BackendViewMeta b), ToHashComponent b (BackendMaterializedViewMeta b), ToHashComponent b (BackendTableMeta b), ToHashComponent b (BackendViewMeta b), Typeable (BackendMaterializedViewMeta b), Typeable (BackendTableMeta b), Typeable (BackendViewMeta b)) => ToDumpItem (b :: Type) (SqlWrite b :: (Type -> Type) -> Type -> Type) # 
Instance details

Defined in Napkin.Run.Effects.Interceptors.LogProgram.Types

Methods

toDumpItem :: forall (r :: EffectRow) x. SqlWrite b (Sem r) x -> DumpItem b #

(Show (BackendMaterializedViewMeta bk), Show (BackendTableMeta bk), Show (BackendViewMeta bk)) => GShow (SqlWrite bk a :: Type -> Type) # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

gshowsPrec :: Int -> SqlWrite bk a a0 -> ShowS #

(Show (BackendMaterializedViewMeta bk), Show (BackendTableMeta bk), Show (BackendViewMeta bk)) => Show (SqlWrite bk a b) # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

showsPrec :: Int -> SqlWrite bk a b -> ShowS #

show :: SqlWrite bk a b -> String #

showList :: [SqlWrite bk a b] -> ShowS #

(Eq (BackendMaterializedViewMeta bk), Eq (BackendTableMeta bk), Eq (BackendViewMeta bk)) => Eq (SqlWrite bk a b) # 
Instance details

Defined in Napkin.Run.Effects.Languages.SqlWrite

Methods

(==) :: SqlWrite bk a b -> SqlWrite bk a b -> Bool #

(/=) :: SqlWrite bk a b -> SqlWrite bk a b -> Bool #

createTableAsWithMeta :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => BackendTableMeta b -> Ref Table -> Query -> Sem r () #

createViewAsWithMeta :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => BackendViewMeta b -> Ref Table -> Query -> Sem r () #

insertInto :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> InsertColumnsList -> Query -> Sem r () #

updateTable :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => UpdateQuery -> Sem r () #

renameTable :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Ref Table -> Sem r () #

copyTable :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Ref Table -> TableWriteStrategy -> Sem r () #

dropTable :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> MissingBehavior -> Cascade -> Sem r () #

dropView :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> MissingBehavior -> Cascade -> Sem r () #

dropMaterializedView :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> MissingBehavior -> Cascade -> Sem r () #

deleteFrom :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> SExp -> Sem r () #

createTable :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => BackendTableMeta b -> Ref Table -> CreateTableDDL -> Sem r () #

dropColumn :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Text -> Sem r () #

addColumn :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Text -> Type -> Sem r () #

createTableAs :: forall b (r :: EffectRow). (Default (BackendTableMeta b), Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r) => Ref Table -> Query -> Sem r () #

createTableIfNotExistAs :: forall b (r :: EffectRow). (Default (BackendTableMeta b), Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r) => Ref Table -> Query -> Sem r () #

createViewAs :: forall b (r :: EffectRow). (Default (BackendViewMeta b), Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r) => Ref Table -> Query -> Sem r () #

copyTableToTarget :: forall b (r :: EffectRow). Members '[Reader TargetName, SqlWrite b :: (Type -> Type) -> Type -> Type] r => Ref Table -> TableWriteStrategy -> Sem r () #