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)