committed by
Joe Nelson
parent
b03e3fbec7
commit
2243f4b653
@@ -17,6 +17,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
- #877, Base64 secret read from a file ending with a newline - @eric-brechemier
|
- #877, Base64 secret read from a file ending with a newline - @eric-brechemier
|
||||||
- #896, Boolean env var interpolation in config file - @begriffs
|
- #896, Boolean env var interpolation in config file - @begriffs
|
||||||
- #885, OpenAPI repetition reduced by using more definitions- @ldesgoui
|
- #885, OpenAPI repetition reduced by using more definitions- @ldesgoui
|
||||||
|
- #924, Improve relations initialization time - @9too
|
||||||
|
|
||||||
## [0.4.2.0] - 2017-06-11
|
## [0.4.2.0] - 2017-06-11
|
||||||
|
|
||||||
|
|||||||
@@ -253,7 +253,11 @@ addManyToManyRelations rels = rels ++ addMirrorRelation (mapMaybe link2Relation
|
|||||||
links = join $ map (combinations 2) $ filter (not . null) $ groupWith groupFn $ filter ( (==Child). relType) rels
|
links = join $ map (combinations 2) $ filter (not . null) $ groupWith groupFn $ filter ( (==Child). relType) rels
|
||||||
groupFn :: Relation -> Text
|
groupFn :: Relation -> Text
|
||||||
groupFn Relation{relTable=Table{tableSchema=s, tableName=t}} = s<>"_"<>t
|
groupFn Relation{relTable=Table{tableSchema=s, tableName=t}} = s<>"_"<>t
|
||||||
combinations k ns = filter ((k==).length) (subsequences ns)
|
-- Reference : https://wiki.haskell.org/99_questions/Solutions/26
|
||||||
|
combinations :: Int -> [a] -> [[a]]
|
||||||
|
combinations 0 _ = [ [] ]
|
||||||
|
combinations n xs = [ y:ys | y:xs' <- tails xs
|
||||||
|
, ys <- combinations (n-1) xs']
|
||||||
addMirrorRelation [] = []
|
addMirrorRelation [] = []
|
||||||
addMirrorRelation (rel@(Relation t c ft fc _ lt lc1 lc2):rels') = Relation ft fc t c Many lt lc2 lc1 : rel : addMirrorRelation rels'
|
addMirrorRelation (rel@(Relation t c ft fc _ lt lc1 lc2):rels') = Relation ft fc t c Many lt lc2 lc1 : rel : addMirrorRelation rels'
|
||||||
link2Relation [
|
link2Relation [
|
||||||
|
|||||||
Reference in New Issue
Block a user