Alexander Behm created IMPALA-5977:
--------------------------------------

             Summary: Only compute value transfers for materialized slots
                 Key: IMPALA-5977
                 URL: https://issues.apache.org/jira/browse/IMPALA-5977
             Project: IMPALA
          Issue Type: Sub-task
          Components: Frontend
    Affects Versions: Impala 2.9.0, Impala 2.8.0, Impala 2.7.0, Impala 2.6.0, 
Impala 2.5.0, Impala 2.10.0
            Reporter: Alexander Behm


Today, we include all slots when computing the transitive closure of the value 
transfer graph, but we should really exclude non-materialized slots to speed up 
the computation.

To fix this issue we need to do at least these things:
* Mark slots as materialized before computing the value transfer graph (today 
these phases are in reverse order)
* When marking slots as materialized, include all slots that are relevant to 
the value-transfer computation including the virtual sots of inline views 
(today slot materialization only marks base table slots). This means reworking 
the existing QueryStmt.materializeRequiredSlots() to not use the baseTblSmap_ 
and instead rely on the SlotDescriptor.sourceExprs_ to track all source slots 
that contribute to the result of an expr.

To get started look at these functions and where they are called:
* QueryStmt.materializeRequiredSlots()
* Analyzer.computeEquivClasses()
* SingleNodePlanner.createSingleNodePlan()




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to