asterixdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From abdullah alamoudi <bamou...@gmail.com>
Subject Re: Left-Outer-Unnest-Map operator VS Unnest-Map operator
Date Tue, 08 Mar 2016 07:50:28 GMT
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 <wangsaeu@gmail.com> 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.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message