2015-12-16 02:05:36 +05:30
|
|
|
module Ringo
|
|
|
|
( module Ringo.Types
|
2015-12-17 20:02:13 +05:30
|
|
|
, extractFactTable
|
|
|
|
, extractDimensionTables
|
|
|
|
, G.tableDefnSQL
|
2015-12-17 23:40:56 +05:30
|
|
|
, factTableDefnSQL
|
2015-12-19 11:55:08 +05:30
|
|
|
, dimensionTablePopulateSQL
|
2015-12-17 20:02:13 +05:30
|
|
|
, factTableInsertSQL
|
|
|
|
, validateTable
|
|
|
|
, validateFact
|
2015-12-16 02:05:36 +05:30
|
|
|
) where
|
2015-12-10 13:58:14 +05:30
|
|
|
|
2015-12-17 20:02:13 +05:30
|
|
|
import Control.Monad.Reader (runReader)
|
|
|
|
import Data.Text (Text)
|
|
|
|
|
2015-12-10 13:58:14 +05:30
|
|
|
import Ringo.Types
|
2015-12-17 20:02:13 +05:30
|
|
|
import qualified Ringo.Extractor as E
|
|
|
|
import qualified Ringo.Generator as G
|
|
|
|
import qualified Ringo.Validator as V
|
|
|
|
|
|
|
|
extractFactTable :: Env -> Fact -> Table
|
|
|
|
extractFactTable env = flip runReader env . E.extractFactTable
|
|
|
|
|
|
|
|
extractDimensionTables :: Env -> Fact -> [Table]
|
|
|
|
extractDimensionTables env = flip runReader env . E.extractDimensionTables
|
|
|
|
|
2015-12-17 23:40:56 +05:30
|
|
|
factTableDefnSQL :: Env -> Fact -> Table -> [Text]
|
|
|
|
factTableDefnSQL env fact = flip runReader env . G.factTableDefnSQL fact
|
|
|
|
|
2015-12-19 11:55:08 +05:30
|
|
|
dimensionTablePopulateSQL :: TablePopulationMode -> Env -> Fact -> TableName -> Text
|
|
|
|
dimensionTablePopulateSQL popMode env fact =
|
|
|
|
flip runReader env . G.dimensionTablePopulateSQL popMode fact
|
2015-12-17 20:02:13 +05:30
|
|
|
|
|
|
|
factTableInsertSQL :: Env -> Fact -> Text
|
|
|
|
factTableInsertSQL env = flip runReader env . G.factTableInsertSQL
|
|
|
|
|
|
|
|
validateTable :: Env -> Table -> [ValidationError]
|
|
|
|
validateTable env = flip runReader env . V.validateTable
|
2015-12-10 20:30:55 +05:30
|
|
|
|
2015-12-17 20:02:13 +05:30
|
|
|
validateFact :: Env -> Fact -> [ValidationError]
|
|
|
|
validateFact env = flip runReader env . V.validateFact
|