cleaner diff
This commit is contained in:
parent
f84945fb04
commit
ae3b96e0f6
@ -1626,7 +1626,7 @@ collectOnClauses sqlBackend = go Set.empty []
|
|||||||
tryMatch idents expr fromClause =
|
tryMatch idents expr fromClause =
|
||||||
case fromClause of
|
case fromClause of
|
||||||
FromJoin l k r onClause ->
|
FromJoin l k r onClause ->
|
||||||
matchR <|> matchTable <|> matchL <|> matchPartial <|> matchC -- right to left
|
matchTable <|> matchR <|> matchC <|> matchL <|> matchPartial -- right to left
|
||||||
where
|
where
|
||||||
matchR = fmap (\r' -> FromJoin l k r' onClause)
|
matchR = fmap (\r' -> FromJoin l k r' onClause)
|
||||||
<$> tryMatch idents expr r
|
<$> tryMatch idents expr r
|
||||||
@ -1634,15 +1634,15 @@ collectOnClauses sqlBackend = go Set.empty []
|
|||||||
<$> tryMatch idents expr l
|
<$> tryMatch idents expr l
|
||||||
|
|
||||||
matchPartial = do
|
matchPartial = do
|
||||||
ll <- findLeftmostIdent l
|
i1 <- findLeftmostIdent l
|
||||||
rr <- findLeftmostIdent r
|
i2 <- findLeftmostIdent r
|
||||||
guard $
|
guard $
|
||||||
Set.isSubsetOf
|
Set.isSubsetOf
|
||||||
identsInOnClause
|
identsInOnClause
|
||||||
(Set.fromList [ll, rr])
|
(Set.fromList [i1, i2])
|
||||||
guard $ k /= CrossJoinKind
|
guard $ k /= CrossJoinKind
|
||||||
guard $ Maybe.isNothing onClause
|
guard $ Maybe.isNothing onClause
|
||||||
pure (Set.fromList [] <> idents, FromJoin l k r (Just expr))
|
pure (idents, FromJoin l k r (Just expr))
|
||||||
|
|
||||||
matchC =
|
matchC =
|
||||||
case onClause of
|
case onClause of
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user