public class IdentityProjectRemover extends 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.qConstructor and Description |
---|
IdentityProjectRemover() |
Modifier and Type | Method and Description |
---|---|
ParseContext |
transform(ParseContext pctx)
All transformation steps implement this interface.
|
beginPerfLogging, endPerfLogging, endPerfLogging
public ParseContext transform(ParseContext pctx) throws SemanticException
Transform
transform
in class Transform
pctx
- input parse contextSemanticException
Copyright © 2016 The Apache Software Foundation. All rights reserved.