Clone
Taewoo Kim <wangsaeu@yahoo.com>
committed
on 09 Oct 18
[NO ISSUE][COMP][RT] Enable multiway similarity joins
- Enable the FuzzyJoinRule that transforms
a nested-loop-similarity-join plan to a t… Show more
[NO ISSUE][COMP][RT] Enable multiway similarity joins

- Enable the FuzzyJoinRule that transforms

 a nested-loop-similarity-join plan to a three-stage-similarity join.

- Modify FuzzyJoinRuleCollections.

 - Add the ExtractCommonExpressionRule to extract common expressions

   in the star-like multiple similarity join substitutions.

 - Add the InlineSubplanInputForNestedTupleSourceRule to translate

   the generated subplan from the similarity function-derived

   substitution into join in case of nested schemas.

 - Use similarity-jaccard-prefix to enable the pp+ join strategy.

 - Use the right side to build the heavy hash join on

   the prefix tokens from both sides.

 - Add RemoveAssign/Variables/AggRules to iteratively remove unused

   assign/vars once FuzzyJoinRule is applied in each round.

- Add three new optimization cases for multiway similarity joins.

 - link-like multiway similarity joins

 - star-like multiway similarity joins

 - hybrid multiway similarity joins with the both styles of similarity joins.

- Add a check whether a similarity function is on

 a select over an existing similarity join.

- Change the inverted-index-based similarity join to the three-stage-similarity join

 due to efficiency considerations.

Change-Id: I8736f104905eeda763d39709e002c2b9629278cc

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1076

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Reviewed-by: Taewoo Kim <wangsaeu@gmail.com>

Show less