[
https://issues.jboss.org/browse/TEIID-2363?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-2363:
---------------------------------------
I need to refine my earlier comments on this. The situation that should be automatically
handled is a non-dependent MERGE JOIN (SORT/SORT) - since both sides will require
buffering and may proceed independently. In this case, with the inner side being
ALREADY_SORTED - the logic regardless will prefer to stream those values in rather than
buffering them (which is the caveat I'm mentioning above). The approach there may be
to do proactive fetching/buffering proportional to the amount of times the left side is
blocking, but then process the buffer down while performing the join.
proactive buffering not occurring for the inner side of an outer join
on "MERGE JOIN (SORT/ALREADY_SORTED)"
-----------------------------------------------------------------------------------------------------------
Key: TEIID-2363
URL:
https://issues.jboss.org/browse/TEIID-2363
Project: Teiid
Issue Type: Feature Request
Components: Query Engine
Affects Versions: 7.7.2
Reporter: Johnathon Lee
Assignee: Steven Hawkins
The issue here is this is an outer join and the inner side (the already sorted side) will
be buffered regardless. Current logic does not catch blocked exceptions from one side and
pro-actively buffer the other - rather we are serially performing the sort and then
continue with the loading of the inner side
For inner joins there is a clear trade-off between execution speed and buffering so this
behavior may have to be hint or config driven for non-dependent non-outer joins.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira