Safe Haskell | None |
---|---|
Language | GHC2024 |
Synopsis
- splitIfUnionBy :: forall b (r :: EffectRow) a. Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, RecreateTable b :: (Type -> Type) -> Type -> Type] r => Int -> Sem r a -> Sem r a
- incrementalInsertByPK :: forall b (r :: EffectRow). Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Time :: (Type -> Type) -> Type -> Type, Reader TargetName, Reader HiddenDependencies, RecreateTable b :: (Type -> Type) -> Type -> Type] r => (Day -> Sem r Query) -> SExp -> Day -> Integer -> BackendTableMeta b -> Sem r ()
- incrementalByTimeRawSql :: forall b (r :: EffectRow). (Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Time :: (Type -> Type) -> Type -> Type, Reader TargetName, Reader HiddenDependencies, Reader HiddenArtifacts, RecreateTable b :: (Type -> Type) -> Type -> Type, SqlParse :: (Type -> Type) -> Type -> Type, SqlRender :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, FatalError :: (Type -> Type) -> Type -> Type, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type, Input MetaArguments :: (Type -> Type) -> Type -> Type, Log :: (Type -> Type) -> Type -> Type] r, Default (BackendTableMeta b)) => FilePath -> SqlTemplateVariables -> SExp -> Day -> Integer -> BackendTableMeta b -> Sem r ()
- incrementalByTimeCreateAction :: forall b (r :: EffectRow). (Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Time :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type, Reader TargetName, Input MetaArguments :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader HiddenArtifacts, RecreateTable b :: (Type -> Type) -> Type -> Type, FatalError :: (Type -> Type) -> Type -> Type, Log :: (Type -> Type) -> Type -> Type] r, Default (BackendTableMeta b)) => (Day -> Sem r Query) -> Day -> (Day -> SExp) -> Integer -> BackendTableMeta b -> Sem r ()
- loadSqlFileWithCutoff :: forall (r :: EffectRow). Members '[SqlParse :: (Type -> Type) -> Type -> Type, SqlRender :: (Type -> Type) -> Type -> Type, FatalError :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, Log :: (Type -> Type) -> Type -> Type] r => FilePath -> SqlTemplateVariables -> Day -> Sem r Query
- copyData :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Ref Table -> Sem r ()
- longToWideAuto :: forall b (r :: EffectRow). Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader TargetName, RecreateTable b :: (Type -> Type) -> Type -> Type] r => Ref Table -> (SExp -> SExp) -> [Alias SExp] -> SExp -> SExp -> (Value -> Ref SExp) -> SpecTarget b -> Sem r ()
- combineTables :: forall b (r :: EffectRow). (Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Reader TargetName, RecreateTable b :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type, Reader QueryTransformer] r, HasBackendSchemaField b) => SpecTarget b -> (Query -> Query) -> [Relation] -> Sem r ()
- external :: forall {k} (b :: k) (r :: EffectRow). Members '[FatalError :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, External :: (Type -> Type) -> Type -> Type, Reader TargetName, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Input MetaArguments :: (Type -> Type) -> Type -> Type] r => Set (Ref Table) -> ExternalCommand -> Sem r ()
- createRawSql :: forall b (r :: EffectRow). Members '[FatalError :: (Type -> Type) -> Type -> Type, Reader TargetName, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader QueryTransformer, RecreateTable b :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, SqlParse :: (Type -> Type) -> Type -> Type, SqlWrite b :: (Type -> Type) -> Type -> Type] r => FilePath -> SqlTemplateVariables -> ExtraDependencies -> HiddenDependencies -> SpecTarget b -> Sem r ()
- createWithQuery :: forall b (r :: EffectRow). Members '[FatalError :: (Type -> Type) -> Type -> Type, Reader TargetName, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader QueryTransformer, RecreateTable b :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, SqlParse :: (Type -> Type) -> Type -> Type, SqlWrite b :: (Type -> Type) -> Type -> Type] r => NonEmpty Query -> SpecTarget b -> ExtraDependencies -> HiddenDependencies -> Sem r ()
- recreateTarget :: forall b (r :: EffectRow). Members '[RecreateTable b :: (Type -> Type) -> Type -> Type, Reader TargetName, SqlWrite b :: (Type -> Type) -> Type -> Type] r => SpecTarget b -> NonEmpty Query -> Sem r ()
- pattern IncrementalReset :: (Eq a, IsString a) => a
Documentation
splitIfUnionBy :: forall b (r :: EffectRow) a. Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, RecreateTable b :: (Type -> Type) -> Type -> Type] r => Int -> Sem r a -> Sem r a #
Intercept CreateTableAs calls and try to split queries into CreateTableAs + multiple InsertIntoQuery when query contains unions
:: forall b (r :: EffectRow). Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Time :: (Type -> Type) -> Type -> Type, Reader TargetName, Reader HiddenDependencies, RecreateTable b :: (Type -> Type) -> Type -> Type] r | |
=> (Day -> Sem r Query) | Query with cutoff |
-> SExp | Primary key column |
-> Day | Starting timestamp value in fresh create |
-> Integer | Num days to look back in each update |
-> BackendTableMeta b | |
-> Sem r () |
:: forall b (r :: EffectRow). (Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Time :: (Type -> Type) -> Type -> Type, Reader TargetName, Reader HiddenDependencies, Reader HiddenArtifacts, RecreateTable b :: (Type -> Type) -> Type -> Type, SqlParse :: (Type -> Type) -> Type -> Type, SqlRender :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, FatalError :: (Type -> Type) -> Type -> Type, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type, Input MetaArguments :: (Type -> Type) -> Type -> Type, Log :: (Type -> Type) -> Type -> Type] r, Default (BackendTableMeta b)) | |
=> FilePath | Local SQL file |
-> SqlTemplateVariables | Any additional variables you want to bind |
-> SExp | Timestamp column in the destination table |
-> Day | Start time when creating table fresh |
-> Integer | N days to go bac |
-> BackendTableMeta b | |
-> Sem r () |
incrementalByTimeCreateAction :: forall b (r :: EffectRow). (Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Time :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type, Reader TargetName, Input MetaArguments :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader HiddenArtifacts, RecreateTable b :: (Type -> Type) -> Type -> Type, FatalError :: (Type -> Type) -> Type -> Type, Log :: (Type -> Type) -> Type -> Type] r, Default (BackendTableMeta b)) => (Day -> Sem r Query) -> Day -> (Day -> SExp) -> Integer -> BackendTableMeta b -> Sem r () #
loadSqlFileWithCutoff :: forall (r :: EffectRow). Members '[SqlParse :: (Type -> Type) -> Type -> Type, SqlRender :: (Type -> Type) -> Type -> Type, FatalError :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, Log :: (Type -> Type) -> Type -> Type] r => FilePath -> SqlTemplateVariables -> Day -> Sem r Query #
copyData :: forall b (r :: EffectRow). Member (SqlWrite b :: (Type -> Type) -> Type -> Type) r => Ref Table -> Ref Table -> Sem r () #
:: forall b (r :: EffectRow). Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader TargetName, RecreateTable b :: (Type -> Type) -> Type -> Type] r | |
=> Ref Table | the long table from which this table will be derived- make sure it is also listed in the dependencies |
-> (SExp -> SExp) | Aggregate function to use |
-> [Alias SExp] | the key columns which will remain in the resultant wide version as-is |
-> SExp | the column name in the long table which will be split into multiple columns in the wide version |
-> SExp | the column in the long table which will be emitted from matching on the new columns |
-> (Value -> Ref SExp) | a function to generate column names from the values found in the database |
-> SpecTarget b | standard table options |
-> Sem r () |
:: forall b (r :: EffectRow). (Members '[SqlWrite b :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Reader TargetName, RecreateTable b :: (Type -> Type) -> Type -> Type, Input TemporaryTableName :: (Type -> Type) -> Type -> Type, Reader QueryTransformer] r, HasBackendSchemaField b) | |
=> SpecTarget b | |
-> (Query -> Query) | Any final optional query modification |
-> [Relation] | List of sources to combine |
-> Sem r () |
external :: forall {k} (b :: k) (r :: EffectRow). Members '[FatalError :: (Type -> Type) -> Type -> Type, SqlRead b :: (Type -> Type) -> Type -> Type, External :: (Type -> Type) -> Type -> Type, Reader TargetName, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Input MetaArguments :: (Type -> Type) -> Type -> Type] r => Set (Ref Table) -> ExternalCommand -> Sem r () #
createRawSql :: forall b (r :: EffectRow). Members '[FatalError :: (Type -> Type) -> Type -> Type, Reader TargetName, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader QueryTransformer, RecreateTable b :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, SqlParse :: (Type -> Type) -> Type -> Type, SqlWrite b :: (Type -> Type) -> Type -> Type] r => FilePath -> SqlTemplateVariables -> ExtraDependencies -> HiddenDependencies -> SpecTarget b -> Sem r () #
createWithQuery :: forall b (r :: EffectRow). Members '[FatalError :: (Type -> Type) -> Type -> Type, Reader TargetName, Output ExtraDependencies :: (Type -> Type) -> Type -> Type, Reader HiddenDependencies, Reader QueryTransformer, RecreateTable b :: (Type -> Type) -> Type -> Type, LoadQuery :: (Type -> Type) -> Type -> Type, SqlParse :: (Type -> Type) -> Type -> Type, SqlWrite b :: (Type -> Type) -> Type -> Type] r => NonEmpty Query -> SpecTarget b -> ExtraDependencies -> HiddenDependencies -> Sem r () #
recreateTarget :: forall b (r :: EffectRow). Members '[RecreateTable b :: (Type -> Type) -> Type -> Type, Reader TargetName, SqlWrite b :: (Type -> Type) -> Type -> Type] r => SpecTarget b -> NonEmpty Query -> Sem r () #
pattern IncrementalReset :: (Eq a, IsString a) => a #