Adds functions in the Ringo module to get hssqlppp Statements.
This commit is contained in:
parent
85cbd41e84
commit
7cec652d96
@ -13,10 +13,15 @@ module Ringo
|
||||
, factTableDefinitionSQL
|
||||
, dimensionTablePopulationSQL
|
||||
, factTablePopulationSQL
|
||||
, dimensionTableDefinitionStatements
|
||||
, factTableDefinitionStatements
|
||||
, dimensionTablePopulationStatement
|
||||
, factTablePopulationStatements
|
||||
) where
|
||||
|
||||
import Control.Monad.Reader (runReader)
|
||||
import Data.Text (Text)
|
||||
import Database.HsSqlPpp.Syntax ( Statement )
|
||||
|
||||
import Ringo.Types
|
||||
import qualified Ringo.Extractor as E
|
||||
@ -280,6 +285,9 @@ extractDependencies env = flip runReader env . E.extractDependencies
|
||||
dimensionTableDefinitionSQL :: Env -> Table -> [Text]
|
||||
dimensionTableDefinitionSQL env = flip runReader env . G.dimensionTableDefinitionSQL
|
||||
|
||||
dimensionTableDefinitionStatements :: Env -> Table -> [Statement]
|
||||
dimensionTableDefinitionStatements env = flip runReader env . G.dimensionTableDefinitionStatements
|
||||
|
||||
-- |
|
||||
--
|
||||
-- >>> let storySessionFactTable = extractFactTable env sessionFact
|
||||
@ -343,6 +351,9 @@ dimensionTableDefinitionSQL env = flip runReader env . G.dimensionTableDefinitio
|
||||
factTableDefinitionSQL :: Env -> Fact -> Table -> [Text]
|
||||
factTableDefinitionSQL env fact = flip runReader env . G.factTableDefinitionSQL fact
|
||||
|
||||
factTableDefinitionStatements :: Env -> Fact -> Table -> [Statement]
|
||||
factTableDefinitionStatements env fact = flip runReader env . G.factTableDefinitionStatements fact
|
||||
|
||||
-- |
|
||||
--
|
||||
-- >>> let storySessionDimTableNames = map tableName $ extractDimensionTables env sessionFact
|
||||
@ -471,6 +482,10 @@ dimensionTablePopulationSQL :: TablePopulationMode -> Env -> Fact -> TableName -
|
||||
dimensionTablePopulationSQL popMode env fact =
|
||||
flip runReader env . G.dimensionTablePopulationSQL popMode fact
|
||||
|
||||
dimensionTablePopulationStatement :: TablePopulationMode -> Env -> Fact -> TableName -> Statement
|
||||
dimensionTablePopulationStatement popMode env fact =
|
||||
flip runReader env . G.dimensionTablePopulationStatement popMode fact
|
||||
|
||||
-- |
|
||||
--
|
||||
-- >>> let sqls = factTablePopulationSQL FullPopulation env sessionFact
|
||||
@ -618,3 +633,7 @@ dimensionTablePopulationSQL popMode env fact =
|
||||
factTablePopulationSQL :: TablePopulationMode -> Env -> Fact -> [Text]
|
||||
factTablePopulationSQL popMode env =
|
||||
flip runReader env . G.factTablePopulationSQL popMode
|
||||
|
||||
factTablePopulationStatements :: TablePopulationMode -> Env -> Fact -> [Statement]
|
||||
factTablePopulationStatements popMode env =
|
||||
flip runReader env . G.factTablePopulationStatements popMode
|
||||
|
@ -1,8 +1,12 @@
|
||||
module Ringo.Generator
|
||||
( dimensionTableDefinitionSQL
|
||||
, factTableDefinitionSQL
|
||||
, dimensionTableDefinitionStatements
|
||||
, factTableDefinitionStatements
|
||||
, dimensionTablePopulationSQL
|
||||
, dimensionTablePopulationStatement
|
||||
, factTablePopulationSQL
|
||||
, factTablePopulationStatements
|
||||
) where
|
||||
|
||||
import Ringo.Generator.Create
|
||||
|
@ -3,7 +3,11 @@
|
||||
{-# LANGUAGE GADTs #-}
|
||||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
|
||||
module Ringo.Generator.Create (dimensionTableDefinitionSQL, factTableDefinitionSQL) where
|
||||
module Ringo.Generator.Create ( dimensionTableDefinitionSQL
|
||||
, dimensionTableDefinitionStatements
|
||||
, factTableDefinitionSQL
|
||||
, factTableDefinitionStatements
|
||||
) where
|
||||
|
||||
import Prelude.Compat
|
||||
import Control.Monad.Reader (Reader, asks)
|
||||
@ -53,6 +57,10 @@ tableDefinitionSQL table indexFn = do
|
||||
dimensionTableDefinitionSQL :: Table -> Reader Env [Text]
|
||||
dimensionTableDefinitionSQL table = tableDefinitionSQL table dimensionTableIndexStatements
|
||||
|
||||
dimensionTableDefinitionStatements :: Table -> Reader Env [Statement]
|
||||
dimensionTableDefinitionStatements table =
|
||||
(++) <$> tableDefinitionStatements table <*> dimensionTableIndexStatements table
|
||||
|
||||
dimensionTableIndexStatements :: Table -> Reader Env [Statement]
|
||||
dimensionTableIndexStatements Table {..} = do
|
||||
Settings {..} <- asks envSettings
|
||||
@ -66,6 +74,10 @@ dimensionTableIndexStatements Table {..} = do
|
||||
factTableDefinitionSQL :: Fact -> Table -> Reader Env [Text]
|
||||
factTableDefinitionSQL fact table = tableDefinitionSQL table (factTableIndexStatements fact)
|
||||
|
||||
factTableDefinitionStatements :: Fact -> Table -> Reader Env [Statement]
|
||||
factTableDefinitionStatements fact table =
|
||||
(++) <$> tableDefinitionStatements table <*> factTableIndexStatements fact table
|
||||
|
||||
factTableIndexStatements :: Fact -> Table -> Reader Env [Statement]
|
||||
factTableIndexStatements fact table = do
|
||||
allDims <- extractAllDimensionTables fact
|
||||
|
@ -3,7 +3,10 @@
|
||||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
{-# LANGUAGE GADTs #-}
|
||||
|
||||
module Ringo.Generator.Populate.Dimension (dimensionTablePopulationSQL) where
|
||||
module Ringo.Generator.Populate.Dimension
|
||||
( dimensionTablePopulationSQL
|
||||
, dimensionTablePopulationStatement
|
||||
) where
|
||||
|
||||
import Prelude.Compat
|
||||
import Control.Monad.Reader (Reader, asks)
|
||||
|
@ -6,7 +6,10 @@
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
{-# LANGUAGE GADTs #-}
|
||||
|
||||
module Ringo.Generator.Populate.Fact (factTablePopulationSQL) where
|
||||
module Ringo.Generator.Populate.Fact
|
||||
( factTablePopulationSQL
|
||||
, factTablePopulationStatements
|
||||
) where
|
||||
|
||||
import qualified Data.Text as Text
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user