don't match on clauses with cross joins
This commit is contained in:
parent
2f70220d55
commit
603023a579
@ -550,6 +550,7 @@ data JoinKind =
|
|||||||
| LeftOuterJoinKind -- ^ @LEFT OUTER JOIN@
|
| LeftOuterJoinKind -- ^ @LEFT OUTER JOIN@
|
||||||
| RightOuterJoinKind -- ^ @RIGHT OUTER JOIN@
|
| RightOuterJoinKind -- ^ @RIGHT OUTER JOIN@
|
||||||
| FullOuterJoinKind -- ^ @FULL OUTER JOIN@
|
| FullOuterJoinKind -- ^ @FULL OUTER JOIN@
|
||||||
|
deriving Eq
|
||||||
|
|
||||||
|
|
||||||
-- | (Internal) Functions that operate on types (that should be)
|
-- | (Internal) Functions that operate on types (that should be)
|
||||||
|
|||||||
@ -152,7 +152,9 @@ collectOnClauses = go []
|
|||||||
matchR = (\r' -> FromJoin l k r' onClause) <$> tryMatch expr r
|
matchR = (\r' -> FromJoin l k r' onClause) <$> tryMatch expr r
|
||||||
matchL = (\l' -> FromJoin l' k r onClause) <$> tryMatch expr l
|
matchL = (\l' -> FromJoin l' k r onClause) <$> tryMatch expr l
|
||||||
matchC = case onClause of
|
matchC = case onClause of
|
||||||
Nothing -> return (FromJoin l k r (Just expr))
|
Nothing | k /= CrossJoinKind
|
||||||
|
-> return (FromJoin l k r (Just expr))
|
||||||
|
| otherwise -> mzero
|
||||||
Just _ -> mzero
|
Just _ -> mzero
|
||||||
tryMatch _ _ = mzero
|
tryMatch _ _ = mzero
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user