Files
impala/testdata/workloads/functional-planner
Marcel Kornacker c8afd16bbb IMPALA-85: planner fails with "Join requires at least one equality predicate between the two tables" when "from" table order does not match "where" join order
This fix contains two parts:
- functionality inside the analyzer to compute a value transfer graph (from equality predicates
between slotrefs) and from that equivalence classes for all slots; this functionality is required for this fix
but will be generally useful when adding propagation of binding predicates in the future
- a "shortest path" implementation inside the planner of a fix for the problem at hand; this leaves a lot to be desired:
* correct handling of assigned predicates: the added test case shows that the planner will try to assign all predicates
  to some node in the tree, even if that predicate is superfluous because it was subsumed by an equality derived from
  equivalence class membership
* complete lack of propagation of binding predicates (e.g., propagate "col1 = 5" to all slotrefs that are in the same
  equivalence class as col1)

This is beyond what can be accomplished for 1.1 and therefore will have to wait for 1.2.
2014-01-08 10:51:51 -08:00
..