forcedotcom / phoenix

BSD 3-Clause "New" or "Revised" License
558 stars 227 forks source link

Issue #20 - Hash join implementations #501

Closed maryannxue closed 11 years ago

maryannxue commented 11 years ago

The main impact on interfaces in the current master:

  1. QueryCompiler: the original logic of compile() now goes into compileSingleQuery(), and the call compile() is now used as entry for both single select statements and join statements. Join statement compilation might go through recursive calls of compileSingleQuery() and compileJoinQuery().
  2. ServerCacheClient: the original interface takes a TableRef in the constructor, while the parameter has now been moved to addServerCache(), for the reason that we might want to reuse ServerCacheClient for multiple calls in completing a query, and the parameter "cacheUsingTableRef" could be different among these multiple calls.
jtaylor-sfdc commented 11 years ago

Fantastic job, @maryannxue. Please add javadoc, comments, and respond to the above minor comments on a followup pull request. So excited to have hash joins now! We'll give it some perf testing and let you know what we find out.

maryannxue commented 11 years ago

Will do. Really appreciate these very detailed comments, James!