Renames functions to expand abbreviations.

master
Abhinav Sarkar 2016-07-05 23:09:42 +05:30
parent 76e415b658
commit 85cbd41e84
No known key found for this signature in database
GPG Key ID: 7C9166A6F5465AD5
6 changed files with 72 additions and 72 deletions

View File

@ -58,29 +58,29 @@ writeFiles outputDir env = do
dimTables = [ (fact, extractDimensionTables env fact) | fact <- facts ]
factTables = [ (fact, extractFactTable env fact) | fact <- facts, factTablePersistent fact ]
dimTableDefnSQLs = [ (Create, tableName table, unlines . map sqlStr $ dimensionTableDefnSQL env table)
| (_, tabs) <- dimTables
, table <- tabs
, table `notElem` tables ]
dimTableDefinitionSQLs = [ (Create, tableName table, unlines . map sqlStr $ dimensionTableDefinitionSQL env table)
| (_, tabs) <- dimTables
, table <- tabs
, table `notElem` tables ]
factTableDefnSQLs = [ (Create , tableName table, unlines . map sqlStr $ factTableDefnSQL env fact table)
| (fact, table) <- factTables ]
factTableDefinitionSQLs = [ (Create , tableName table, unlines . map sqlStr $ factTableDefinitionSQL env fact table)
| (fact, table) <- factTables ]
dimTablePopulateSQLs typ gen =
dimTablePopulationSQLs typ gen =
[ (typ , tableName table, sqlStr $ gen env fact (tableName table))
| (fact, tabs) <- dimTables
, table <- tabs
, table `notElem` tables ]
factTablePopulateSQLs typ gen = [ (typ, tableName table, unlines . map sqlStr $ gen env fact)
| (fact, table) <- factTables ]
factTablePopulationSQLs typ gen = [ (typ, tableName table, unlines . map sqlStr $ gen env fact)
| (fact, table) <- factTables ]
sqls = concat [ dimTableDefnSQLs
, factTableDefnSQLs
, dimTablePopulateSQLs FullRefresh $ dimensionTablePopulateSQL FullPopulation
, dimTablePopulateSQLs IncRefresh $ dimensionTablePopulateSQL IncrementalPopulation
, factTablePopulateSQLs FullRefresh $ factTablePopulateSQL FullPopulation
, factTablePopulateSQLs IncRefresh $ factTablePopulateSQL IncrementalPopulation
sqls = concat [ dimTableDefinitionSQLs
, factTableDefinitionSQLs
, dimTablePopulationSQLs FullRefresh $ dimensionTablePopulationSQL FullPopulation
, dimTablePopulationSQLs IncRefresh $ dimensionTablePopulationSQL IncrementalPopulation
, factTablePopulationSQLs FullRefresh $ factTablePopulationSQL FullPopulation
, factTablePopulationSQLs IncRefresh $ factTablePopulationSQL IncrementalPopulation
]
sqlStr = Text.unpack

View File

@ -9,10 +9,10 @@ module Ringo
, extractFactTable
, extractDimensionTables
, extractDependencies
, dimensionTableDefnSQL
, factTableDefnSQL
, dimensionTablePopulateSQL
, factTablePopulateSQL
, dimensionTableDefinitionSQL
, factTableDefinitionSQL
, dimensionTablePopulationSQL
, factTablePopulationSQL
) where
import Control.Monad.Reader (runReader)
@ -224,7 +224,7 @@ extractDependencies env = flip runReader env . E.extractDependencies
-- |
--
-- >>> let dimTables = filter (`notElem` tables) . nub . concatMap (extractDimensionTables env) $ facts
-- >>> let sqls = map (dimensionTableDefnSQL env) dimTables
-- >>> let sqls = map (dimensionTableDefinitionSQL env) dimTables
-- >>> mapM_ (\sqls -> mapM_ (putStr . Text.unpack) sqls >> putStrLn "--------" ) sqls
-- create table dim_geo (
-- id serial not null,
@ -277,13 +277,13 @@ extractDependencies env = flip runReader env . E.extractDependencies
-- alter table dim_page_type add unique (page_type);
-- <BLANKLINE>
-- --------
dimensionTableDefnSQL :: Env -> Table -> [Text]
dimensionTableDefnSQL env = flip runReader env . G.dimensionTableDefnSQL
dimensionTableDefinitionSQL :: Env -> Table -> [Text]
dimensionTableDefinitionSQL env = flip runReader env . G.dimensionTableDefinitionSQL
-- |
--
-- >>> let storySessionFactTable = extractFactTable env sessionFact
-- >>> let sqls = factTableDefnSQL env sessionFact storySessionFactTable
-- >>> let sqls = factTableDefinitionSQL env sessionFact storySessionFactTable
-- >>> mapM_ (putStr . Text.unpack) sqls
-- create table fact_session_by_minute (
-- created_at_minute_id bigint not null,
@ -308,7 +308,7 @@ dimensionTableDefnSQL env = flip runReader env . G.dimensionTableDefnSQL
-- create index on fact_session_by_minute (user_agent_id)
-- ;
-- >>> let pageViewFactTable = extractFactTable env pageViewFact
-- >>> let sqls = factTableDefnSQL env pageViewFact pageViewFactTable
-- >>> let sqls = factTableDefinitionSQL env pageViewFact pageViewFactTable
-- >>> mapM_ (putStr . Text.unpack) sqls
-- create table fact_page_view_by_minute (
-- created_at_minute_id bigint not null,
@ -340,13 +340,13 @@ dimensionTableDefnSQL env = flip runReader env . G.dimensionTableDefnSQL
-- ;
-- create index on fact_page_view_by_minute (user_agent_id)
-- ;
factTableDefnSQL :: Env -> Fact -> Table -> [Text]
factTableDefnSQL env fact = flip runReader env . G.factTableDefnSQL fact
factTableDefinitionSQL :: Env -> Fact -> Table -> [Text]
factTableDefinitionSQL env fact = flip runReader env . G.factTableDefinitionSQL fact
-- |
--
-- >>> let storySessionDimTableNames = map tableName $ extractDimensionTables env sessionFact
-- >>> let sqls = map (dimensionTablePopulateSQL FullPopulation env sessionFact) storySessionDimTableNames
-- >>> let sqls = map (dimensionTablePopulationSQL FullPopulation env sessionFact) storySessionDimTableNames
-- >>> mapM_ (putStr . Text.unpack) sqls
-- insert into dim_geo (country_name, city_name, continent_name)
-- select distinct
@ -374,7 +374,7 @@ factTableDefnSQL env fact = flip runReader env . G.factTableDefnSQL fact
-- created_at < ?
-- ;
-- <BLANKLINE>
-- >>> let sqls = map (dimensionTablePopulateSQL IncrementalPopulation env sessionFact) storySessionDimTableNames
-- >>> let sqls = map (dimensionTablePopulationSQL IncrementalPopulation env sessionFact) storySessionDimTableNames
-- >>> mapM_ (putStr . Text.unpack) sqls
-- insert into dim_geo (country_name, city_name, continent_name)
-- select
@ -435,7 +435,7 @@ factTableDefnSQL env fact = flip runReader env . G.factTableDefnSQL fact
-- ;
-- <BLANKLINE>
-- >>> let pageViewDimTableNames = map tableName . filter (`notElem` tables) $ extractDimensionTables env pageViewFact
-- >>> let sqls = map (dimensionTablePopulateSQL FullPopulation env pageViewFact) pageViewDimTableNames
-- >>> let sqls = map (dimensionTablePopulationSQL FullPopulation env pageViewFact) pageViewDimTableNames
-- >>> mapM_ (putStr . Text.unpack) sqls
-- insert into dim_page_type (page_type)
-- select distinct
@ -446,7 +446,7 @@ factTableDefnSQL env fact = flip runReader env . G.factTableDefnSQL fact
-- (page_type is not null) and created_at < ?
-- ;
-- <BLANKLINE>
-- >>> let sqls = map (dimensionTablePopulateSQL IncrementalPopulation env pageViewFact) pageViewDimTableNames
-- >>> let sqls = map (dimensionTablePopulationSQL IncrementalPopulation env pageViewFact) pageViewDimTableNames
-- >>> mapM_ (putStr . Text.unpack) sqls
-- insert into dim_page_type (page_type)
-- select
@ -467,13 +467,13 @@ factTableDefnSQL env fact = flip runReader env . G.factTableDefnSQL fact
-- dim_page_type.page_type is null
-- ;
-- <BLANKLINE>
dimensionTablePopulateSQL :: TablePopulationMode -> Env -> Fact -> TableName -> Text
dimensionTablePopulateSQL popMode env fact =
flip runReader env . G.dimensionTablePopulateSQL popMode fact
dimensionTablePopulationSQL :: TablePopulationMode -> Env -> Fact -> TableName -> Text
dimensionTablePopulationSQL popMode env fact =
flip runReader env . G.dimensionTablePopulationSQL popMode fact
-- |
--
-- >>> let sqls = factTablePopulateSQL FullPopulation env sessionFact
-- >>> let sqls = factTablePopulationSQL FullPopulation env sessionFact
-- >>> mapM_ (putStr . Text.unpack) sqls
-- insert into fact_session_by_minute (created_at_minute_id,
-- publisher_id,
@ -515,7 +515,7 @@ dimensionTablePopulateSQL popMode env fact =
-- xxff_user_agent_id
-- ;
-- <BLANKLINE>
-- >>> let sqls = factTablePopulateSQL IncrementalPopulation env sessionFact
-- >>> let sqls = factTablePopulationSQL IncrementalPopulation env sessionFact
-- >>> mapM_ (putStr . Text.unpack) sqls
-- insert into fact_session_by_minute (created_at_minute_id,
-- publisher_id,
@ -557,7 +557,7 @@ dimensionTablePopulateSQL popMode env fact =
-- xxff_user_agent_id
-- ;
-- <BLANKLINE>
-- >>> let sqls = factTablePopulateSQL FullPopulation env pageViewFact
-- >>> let sqls = factTablePopulationSQL FullPopulation env pageViewFact
-- >>> mapM_ (putStr . Text.unpack) sqls
-- insert into fact_page_view_by_minute (created_at_minute_id,
-- publisher_id,
@ -615,6 +615,6 @@ dimensionTablePopulateSQL popMode env fact =
-- xxff_user_agent_id
-- ;
-- <BLANKLINE>
factTablePopulateSQL :: TablePopulationMode -> Env -> Fact -> [Text]
factTablePopulateSQL popMode env =
flip runReader env . G.factTablePopulateSQL popMode
factTablePopulationSQL :: TablePopulationMode -> Env -> Fact -> [Text]
factTablePopulationSQL popMode env =
flip runReader env . G.factTablePopulationSQL popMode

View File

@ -1,8 +1,8 @@
module Ringo.Generator
( dimensionTableDefnSQL
, factTableDefnSQL
, dimensionTablePopulateSQL
, factTablePopulateSQL
( dimensionTableDefinitionSQL
, factTableDefinitionSQL
, dimensionTablePopulationSQL
, factTablePopulationSQL
) where
import Ringo.Generator.Create

View File

@ -3,7 +3,7 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE NoImplicitPrelude #-}
module Ringo.Generator.Create (dimensionTableDefnSQL, factTableDefnSQL) where
module Ringo.Generator.Create (dimensionTableDefinitionSQL, factTableDefinitionSQL) where
import Prelude.Compat
import Control.Monad.Reader (Reader, asks)
@ -19,8 +19,8 @@ import Ringo.Generator.Sql
import Ringo.Types.Internal
import Ringo.Utils
tableDefnStmts :: Table -> Reader Env [Statement]
tableDefnStmts Table {..} = do
tableDefinitionStatements :: Table -> Reader Env [Statement]
tableDefinitionStatements Table {..} = do
Settings {..} <- asks envSettings
let tabName = tableName <> settingTableNameSuffixTemplate
@ -44,17 +44,17 @@ tableDefnStmts Table {..} = do
return $ tableSQL : map constraintDefnSQL tableConstraints
tableDefnSQL :: Table -> (Table -> Reader Env [Statement]) -> Reader Env [Text]
tableDefnSQL table indexFn = do
ds <- map ppStatement <$> tableDefnStmts table
tableDefinitionSQL :: Table -> (Table -> Reader Env [Statement]) -> Reader Env [Text]
tableDefinitionSQL table indexFn = do
ds <- map ppStatement <$> tableDefinitionStatements table
is <- map (\st -> ppStatement st <> ";\n") <$> indexFn table
return $ ds ++ is
dimensionTableDefnSQL :: Table -> Reader Env [Text]
dimensionTableDefnSQL table = tableDefnSQL table dimensionTableIndexStmts
dimensionTableDefinitionSQL :: Table -> Reader Env [Text]
dimensionTableDefinitionSQL table = tableDefinitionSQL table dimensionTableIndexStatements
dimensionTableIndexStmts :: Table -> Reader Env [Statement]
dimensionTableIndexStmts Table {..} = do
dimensionTableIndexStatements :: Table -> Reader Env [Statement]
dimensionTableIndexStatements Table {..} = do
Settings {..} <- asks envSettings
let tabName = tableName <> settingTableNameSuffixTemplate
tablePKColName = head [ cName | PrimaryKey cName <- tableConstraints ]
@ -63,11 +63,11 @@ dimensionTableIndexStmts Table {..} = do
return [ CreateIndexTSQL ea (nmc "") (name tabName) [nmc cName]
| cName <- nonPKColNames, length nonPKColNames > 1 ]
factTableDefnSQL :: Fact -> Table -> Reader Env [Text]
factTableDefnSQL fact table = tableDefnSQL table (factTableIndexStmts fact)
factTableDefinitionSQL :: Fact -> Table -> Reader Env [Text]
factTableDefinitionSQL fact table = tableDefinitionSQL table (factTableIndexStatements fact)
factTableIndexStmts :: Fact -> Table -> Reader Env [Statement]
factTableIndexStmts fact table = do
factTableIndexStatements :: Fact -> Table -> Reader Env [Statement]
factTableIndexStatements fact table = do
allDims <- extractAllDimensionTables fact
Settings {..} <- asks envSettings
tables <- asks envTables

View File

@ -3,7 +3,7 @@
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE GADTs #-}
module Ringo.Generator.Populate.Dimension (dimensionTablePopulateSQL) where
module Ringo.Generator.Populate.Dimension (dimensionTablePopulationSQL) where
import Prelude.Compat
import Control.Monad.Reader (Reader, asks)
@ -16,12 +16,12 @@ import Ringo.Generator.Internal
import Ringo.Generator.Sql
import Ringo.Types.Internal
dimensionTablePopulateSQL :: TablePopulationMode -> Fact -> TableName -> Reader Env Text
dimensionTablePopulateSQL popMode fact dimTableName =
ppStatement <$> dimensionTablePopulateStmt popMode fact dimTableName
dimensionTablePopulationSQL :: TablePopulationMode -> Fact -> TableName -> Reader Env Text
dimensionTablePopulationSQL popMode fact dimTableName =
ppStatement <$> dimensionTablePopulationStatement popMode fact dimTableName
dimensionTablePopulateStmt :: TablePopulationMode -> Fact -> TableName -> Reader Env Statement
dimensionTablePopulateStmt popMode fact dimTableName = do
dimensionTablePopulationStatement :: TablePopulationMode -> Fact -> TableName -> Reader Env Statement
dimensionTablePopulationStatement popMode fact dimTableName = do
Settings {..} <- asks envSettings
tables <- asks envTables
defaults <- asks envTypeDefaults

View File

@ -6,7 +6,7 @@
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE GADTs #-}
module Ringo.Generator.Populate.Fact (factTablePopulateSQL) where
module Ringo.Generator.Populate.Fact (factTablePopulationSQL) where
import qualified Data.Text as Text
@ -52,8 +52,8 @@ $$
LANGUAGE 'plpgsql' IMMUTABLE;
|]
factCountDistinctUpdateStmts :: TablePopulationMode -> Fact -> Text -> QueryExpr -> Reader Env [Statement]
factCountDistinctUpdateStmts popMode fact groupByColPrefix expr = case expr of
factCountDistinctUpdateStatements :: TablePopulationMode -> Fact -> Text -> QueryExpr -> Reader Env [Statement]
factCountDistinctUpdateStatements popMode fact groupByColPrefix expr = case expr of
Select {selSelectList = SelectList _ origSelectItems, ..} -> do
Settings {..} <- asks envSettings
tables <- asks envTables
@ -119,8 +119,8 @@ factCountDistinctUpdateStmts popMode fact groupByColPrefix expr = case expr of
let power :: Double = fromIntegral (ceiling . logBase 2 $ (1.04 / errorRate) ** 2 :: Integer)
in ceiling $ 2 ** power
factTablePopulateStmts :: TablePopulationMode -> Fact -> Reader Env [Statement]
factTablePopulateStmts popMode fact = do
factTablePopulationStatements :: TablePopulationMode -> Fact -> Reader Env [Statement]
factTablePopulationStatements popMode fact = do
allDims <- extractAllDimensionTables fact
Settings {..} <- asks envSettings
tables <- asks envTables
@ -212,7 +212,7 @@ factTablePopulateStmts popMode fact = do
insertIntoStmt = insert extFactTableName (map fst3 colMap) populateSelectExpr
updateStmts <- factCountDistinctUpdateStmts popMode fact groupByColPrefix populateSelectExpr
updateStmts <- factCountDistinctUpdateStatements popMode fact groupByColPrefix populateSelectExpr
return $ insertIntoStmt : updateStmts
where
groupByColPrefix = "xxff_"
@ -223,9 +223,9 @@ factTablePopulateStmts popMode fact = do
<$> listToMaybe [ colPairs | ForeignKey tName colPairs <- tableConstraints table
, tName == oTableName ]
factTablePopulateSQL :: TablePopulationMode -> Fact -> Reader Env [Text]
factTablePopulateSQL popMode fact = do
stmts <- factTablePopulateStmts popMode fact
factTablePopulationSQL :: TablePopulationMode -> Fact -> Reader Env [Text]
factTablePopulationSQL popMode fact = do
stmts <- factTablePopulationStatements popMode fact
return $ case stmts of
[] -> []
[i] -> [ ppStatement i ]