Hello Anon. E. Moose #1000171, Jenkins, I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/1076 to look at the new patch set (#99). Change subject: [NO ISSUE][COMP][RT] Enable multiway similarity joins ...................................................................... [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 --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/compiler/provider/DefaultRuleSetFactory.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/FuzzyUtils.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/FuzzyJoinRule.java A asterixdb/asterix-app/data/dblp-small/csx-small-multi-id.txt A asterixdb/asterix-app/data/dblp-small/dblp-small-multi-id.txt A asterixdb/asterix-app/data/pub-small/csx-small-multi-id.txt A asterixdb/asterix-app/data/pub-small/csxauthors.adm A asterixdb/asterix-app/data/pub-small/dblp-small-multi-id.txt A asterixdb/asterix-app/data/pub-small/dblpauthors.adm M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt A asterixdb/asterix-app/src/test/resources/optimizerts/queries/fj-dblp-csx-hybrid.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/fj-dblp-csx-selflink.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/fj-dblp-csx-simple.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/fj-dblp-csx-star.aql M asterixdb/asterix-app/src/test/resources/optimizerts/queries/fj-dblp-csx.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/similarity/jaccard-similarity-join-dual-order.aql A asterixdb/asterix-app/src/test/resources/optimizerts/queries/similarity/jaccard-similarity-join-right-ahead.aql M asterixdb/asterix-app/src/test/resources/optimizerts/results/ASTERIXDB-2402.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-dblp-csx-hybrid.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-dblp-csx-selflink.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-dblp-csx-simple.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-dblp-csx-star.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/fj-dblp-csx.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/ngram-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join-noeqjoin/word-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/issue741.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-fuzzyeq-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard-check_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard-check_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard-check_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/ngram-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-fuzzyeq-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-fuzzyeq-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check-after-btree-access.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard-check_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/inverted-index-join/word-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-complex/ngram-jaccard-check-multi-let.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-complex/word-jaccard-check-multi-let.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/leftouterjoin-probe-pidx-with-join-jaccard-check-idx_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ngram-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/olist-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/ulist-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check-after-btree-access.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-index/inverted-index-join/word-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-complex/ngram-jaccard-check-multi-let.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-complex/word-jaccard-check-multi-let.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-fuzzyeq-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard-check_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard-check_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard-check_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/ngram-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-fuzzyeq-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-fuzzyeq-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-fuzzyeq-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check-after-btree-access.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-check_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard-inline.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/nested-open-index/inverted-index-join/word-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-fuzzyeq-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard-check_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard-check_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard-check_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard-check_inline_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/ngram-jaccard_inline_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-fuzzyeq-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-fuzzyeq-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-fuzzyeq-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-fuzzyeq-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check-after-btree-access.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard-check_inline_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard_01.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard_02.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard_03.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard_04.plan M asterixdb/asterix-app/src/test/resources/optimizerts/results/open-index-enforced/inverted-index-join/word-jaccard_inline_03.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/similarity/jaccard-similarity-join-dual-order.plan A asterixdb/asterix-app/src/test/resources/optimizerts/results/similarity/jaccard-similarity-join-right-ahead.plan A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1/basic-1_1.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1/basic-1_1.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1/basic-1_1.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_1/basic-1_1_1.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_1/basic-1_1_1.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_1/basic-1_1_1.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.10.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.5.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.6.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.7.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.8.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_2/basic-1_1_2.9.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_3/basic-1_1_3.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_3/basic-1_1_3.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_3/basic-1_1_3.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_1_3/basic-1_1_3.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_1/basic-1_2_1.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_1/basic-1_2_1.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_1/basic-1_2_1.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_1/basic-1_2_1.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_1/basic-1_2_1.5.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_1/basic-1_2_1.6.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_1/basic-1_2_1.7.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_2/basic-1_2_2.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_2/basic-1_2_2.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_2/basic-1_2_2.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_2/basic-1_2_2.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_2/basic-1_2_2.5.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_2/basic-1_2_2.6.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_3/basic-1_2_3.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_3/basic-1_2_3.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_3/basic-1_2_3.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_4/basic-1_2_4.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_4/basic-1_2_4.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_4/basic-1_2_4.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_5/basic-1_2_5.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_5/basic-1_2_5.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_5/basic-1_2_5.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_6/basic-1_2_6.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_6/basic-1_2_6.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_6/basic-1_2_6.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_7/basic-1_2_7.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_7/basic-1_2_7.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_2_7/basic-1_2_7.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_3_1/basic-1_3_1.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_3_1/basic-1_3_1.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_3_1/basic-1_3_1.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_3_1/basic-1_3_1.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_3_1/basic-1_3_1.5.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/basic-1_3_1/basic-1_3_1.6.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-2_5.2/dblp-csx-2_5.2.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.1/word-jaccard.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.1/word-jaccard.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.1/word-jaccard.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.1/word-jaccard.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.2/ngram-jaccard-inline.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.2/ngram-jaccard-inline.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.2/ngram-jaccard-inline.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.1.2/ngram-jaccard-inline.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.1/word-jaccard.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.1/word-jaccard.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.1/word-jaccard.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.1/word-jaccard.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.2/ngram-jaccard-inline.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.2/ngram-jaccard-inline.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.2/ngram-jaccard-inline.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.2.2/ngram-jaccard-inline.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.1/word-jaccard.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.1/word-jaccard.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.1/word-jaccard.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.1/word-jaccard.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.2/ngram-jaccard-inline.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.2/ngram-jaccard-inline.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.2/ngram-jaccard-inline.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.3.2/ngram-jaccard-inline.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.1/word-jaccard.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.1/word-jaccard.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.1/word-jaccard.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.1/word-jaccard.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.2/word-jaccard.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.2/word-jaccard.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.2/word-jaccard.3.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-4.4.2/word-jaccard.4.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_6/dblp-csx-aqlplus_6.1.ddl.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_6/dblp-csx-aqlplus_6.2.update.aql A asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-aqlplus_6/dblp-csx-aqlplus_6.3.query.aql M asterixdb/asterix-app/src/test/resources/runtimets/queries/fuzzyjoin/dblp-csx-dblp-aqlplus_1/dblp-csx-dblp-aqlplus_1.3.query.aql A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1/basic-1_1.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_1/basic-1_1_1.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.10.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.7.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.8.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_2/basic-1_1_2.9.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_3/basic-1_1_2.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_1_3/basic-1_1_2.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_1/basic-1_2_1.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_1/basic-1_2_1.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_1/basic-1_2_1.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_1/basic-1_2_1.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_1/basic-1_2_1.7.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_2/basic-1_2_2.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_2/basic-1_2_2.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_2/basic-1_2_2.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_2/basic-1_2_2.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_3/basic-1_2_3.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_4/basic-1_2_4.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_5/basic-1_2_5.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_6/basic-1_2_6.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_2_7/basic-1_2_7.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_3_1/basic-1_3_1.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_3_1/basic-1_3_1.4.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_3_1/basic-1_3_1.5.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/basic-1_3_1/basic-1_3_1.6.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.1.1/dblp-csx-4.1.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.1.2/dblp-csx-4.1.2.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.2.1/dblp-csx-4.2.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.2.2/dblp-csx-4.2.2.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.3.1/dblp-csx-4.3.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.3.2/dblp-csx-4.3.2.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.4.1/dblp-csx-4.4.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-4.4.2/dblp-csx-4.4.2.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/fuzzyjoin/dblp-csx-aqlplus_6/dblp-csx-aqlplus_6.1.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties M asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/similarity/SimilarityFilters.java M asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/fuzzyjoin/similarity/SimilarityFiltersJaccard.java M asterixdb/asterix-fuzzyjoin/src/main/java/org/apache/asterix/runtime/evaluators/common/SimilarityJaccardPrefixEvaluator.java M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismUtilities.java 262 files changed, 26,865 insertions(+), 2,402 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/76/1076/99 -- To view, visit https://asterix-gerrit.ics.uci.edu/1076 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8736f104905eeda763d39709e002c2b9629278cc Gerrit-PatchSet: 99 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Wenhai Li <lwhay...@gmail.com> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Chen Li <che...@gmail.com> Gerrit-Reviewer: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Luo Chen <cl...@uci.edu> Gerrit-Reviewer: Taewoo Kim <wangs...@gmail.com> Gerrit-Reviewer: Wenhai Li <lwhay...@gmail.com>