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