public class IdentityProjectRemover extends Object implements Transform
SelectOperator from tree which don't do any
processing except forwarding columns from its parent to its children.
e.g., select * from (select * from src where key = value) t1 join (select * from src where key = value) t2;
Query tree
Without this optimization:
TS -> FIL -> SEL -> RS ->
JOIN -> SEL -> FS
TS -> FIL -> SEL -> RS ->
With this optimization
TS -> FIL -> RS ->
JOIN -> FS
TS -> FIL -> RS ->
Note absence of select operator after filter and after join operator.
Also, see : identity_proj_remove.q| Constructor and Description |
|---|
IdentityProjectRemover() |
public ParseContext transform(ParseContext pctx) throws SemanticException
Transformtransform in interface Transformpctx - input parse contextSemanticExceptionCopyright © 2017 The Apache Software Foundation. All rights reserved.