diff --git a/ringo/src/Ringo/Generator/Create.hs b/ringo/src/Ringo/Generator/Create.hs index 799f542..50ba9b2 100644 --- a/ringo/src/Ringo/Generator/Create.hs +++ b/ringo/src/Ringo/Generator/Create.hs @@ -89,14 +89,14 @@ factTableIndexStatements fact table = do tabName = tableName table <> settingTableNameSuffixTemplate dimTimeColName cName = timeUnitColumnName settingDimTableIdColumnName cName settingTimeUnit - factCols = forMaybe (factColumns fact) $ \FactColumn {factColTargetColumn = cName, ..} -> + factCols = forMaybe (factColumns fact) $ \FactColumn {factColTargetColumn = cName, ..} -> case factColType of DimTime -> Just [dimTimeColName cName] NoDimId -> Just [cName] TenantId -> Just [cName] _ -> Nothing - dimCols = [ [ factDimFKIdColumnName settingDimPrefix settingDimTableIdColumnName dimFact dimTable tables ] + dimCols = [ [ factDimFKIdColumnName settingDimPrefix settingDimTableIdColumnName dimFact dimTable tables ] | (dimFact, dimTable) <- allDims ] tenantCols = [ [cName, dimTimeColName dimTimeCol] | cName <- maybeToList tenantIdCol ] diff --git a/ringo/src/Ringo/Validator.hs b/ringo/src/Ringo/Validator.hs index 64121ac..645a24d 100644 --- a/ringo/src/Ringo/Validator.hs +++ b/ringo/src/Ringo/Validator.hs @@ -91,11 +91,11 @@ validateEnv tables facts settings@Settings {..} typeDefaults = let tableVs <- concat <$> mapM validateTable tables factVs <- concat <$> mapM validateFact facts let dupTableVs = [ DuplicateTable table | table <- findDups . map tableName $ tables ] - let dupFactVs = [ DuplicateFact fact | fact <- findDups . map factName $ facts ] - let dupColVs = [ DuplicateColumn tableName col + dupFactVs = [ DuplicateFact fact | fact <- findDups . map factName $ facts ] + dupColVs = [ DuplicateColumn tableName col | Table{..} <- tables , col <- findDups . map columnName $ tableColumns ] - let dupDimVs = facts + dupDimVs = facts >>- concatMap (dimColumnMappings settingDimPrefix) >>> sort >>> groupBy ((==) `on` fst)