@@ -7,21 +7,22 @@ mutable struct JoinNode <: TabularNode
77 left:: Bool
88 right:: Bool
99 optional:: Bool
10+ swap:: Bool
1011
11- JoinNode (; over = nothing , joinee, on, left = false , right = false , optional = false ) =
12- new (over, joinee, on, left, right, optional)
12+ JoinNode (; over = nothing , joinee, on, left = false , right = false , optional = false , swap = false ) =
13+ new (over, joinee, on, left, right, optional, swap )
1314end
1415
15- JoinNode (joinee; over = nothing , on, left = false , right = false , optional = false ) =
16- JoinNode (over = over, joinee = joinee, on = on, left = left, right = right, optional = optional)
16+ JoinNode (joinee; over = nothing , on, left = false , right = false , optional = false , swap = false ) =
17+ JoinNode (over = over, joinee = joinee, on = on, left = left, right = right, optional = optional, swap = swap )
1718
18- JoinNode (joinee, on; over = nothing , left = false , right = false , optional = false ) =
19- JoinNode (over = over, joinee = joinee, on = on, left = left, right = right, optional = optional)
19+ JoinNode (joinee, on; over = nothing , left = false , right = false , optional = false , swap = false ) =
20+ JoinNode (over = over, joinee = joinee, on = on, left = left, right = right, optional = optional, swap = swap )
2021
2122"""
22- Join(; over = nothing, joinee, on, left = false, right = false, optional = false)
23- Join(joinee; over = nothing, on, left = false, right = false, optional = false)
24- Join(joinee, on; over = nothing, left = false, right = false, optional = false)
23+ Join(; over = nothing, joinee, on, left = false, right = false, optional = false, swap = false )
24+ Join(joinee; over = nothing, on, left = false, right = false, optional = false, swap = false )
25+ Join(joinee, on; over = nothing, left = false, right = false, optional = false, swap = false )
2526
2627`Join` correlates two input datasets.
2728
@@ -107,6 +108,9 @@ function PrettyPrinting.quoteof(n::JoinNode, ctx::QuoteContext)
107108 if n. optional
108109 push! (ex. args, Expr (:kw , :optional , n. optional))
109110 end
111+ if n. swap
112+ push! (ex. args, Expr (:kw , :swap , n. swap))
113+ end
110114 else
111115 push! (ex. args, :… )
112116 end
@@ -115,3 +119,6 @@ function PrettyPrinting.quoteof(n::JoinNode, ctx::QuoteContext)
115119 end
116120 ex
117121end
122+
123+ label (n:: JoinNode ) =
124+ n. swap ? label (n. joinee) : label (n. over)
0 commit comments