Thanks Taewoo for sharing this. It would be nice if everyone who introduces something new, let others know about it.
Regards, Abdullah. On Tue, Mar 8, 2016 at 9:42 AM, Taewoo Kim <[email protected]> wrote: > Hello All, > > I just want to share one information. We now have Left-Outer-Unnest-Map > (LOUM) operator. The difference between LOUM and Unnest-Map (UM) operator > is that LOUM is used to represent left-outer semantics of the > left-outer-join. That is, LOUM basically propagates all input variables > (from the outer branch). It also generates null values for non-match tuples > in the inner branch. Unlike this, UM does not propagate input variables by > default. > > So, when a left-outer-join is transformed as an index-nested-loop-join, > LOUM operator will be placed in the inner branch by > IntroduceJoinAccessMethodRule and propagates all input variables from the > outer branch. For each tuples from the outer branch, it conducts > index-search and generates null values if there is no result from that > index-search. > > So, during a logical plan optimization, if you see the LOUM operator, that > means that left outer join is transformed into an index-nested-loop join. >
