asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Taewoo Kim (Code Review)" <>
Subject Change in asterixdb[master]: Applied the multiway fuzzyjoin based on the prefix-based joi...
Date Sat, 22 Oct 2016 19:58:12 GMT
Taewoo Kim has posted comments on this change.

Change subject: Applied the multiway fuzzyjoin based on the prefix-based join and the selectFuzzyJoin

Patch Set 21:


More questions on the fuzzyJoinRule itself
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/

Line 197:         // To handle multiple fuzzyjoin conditions on the same table pair, this
rule differentiate the PKs
What do we mean by [the same table pair] here?

Also, can you explain this part - "this rule differentiate the PKs bottom up"?

Line 207:         Set<LogicalVariable> currentPK = new HashSet<>();
I'm confused about currentPK and previousPK concept. Can you explain more?

Line 210:         // If PKs derived from the both branches are SAME as a previous fuzzyjoin,
we treat this ~= as a select.
Here, "previous fuzzy join" means? Can you present an example?

Line 251:         ConstantExpression constExpr = (ConstantExpression) inputExp2;
The reason of this change - not using FuzzyUtils.getSimThreshold()?

Line 268:                 break;
Have we fixed the bug that mentioned in the previous TODO? Can we explain more?

Line 317:         translator.addVariableToMetaScope(new VarIdentifier("$$LEFT_0"), leftInputVar);
What's the difference between # and $$? I think I saw this in the Vernica's thesis. But, can't
find now.

Line 329:         // Step3.3. the suffix 0-3 is used for identifying the different level of
variable references.
Can you present an example? different levels?

Line 356:         counter.set(counter.get() + incrementedCounter);
How is this counter used?

Line 407:     // of expRef, we need to add the full condition expRef\getItemExprRef into the
top-level operator of the plan.
Can you present an example here?

Line 426:         topJoin.getCondition().setValue(andFunc);
Why is this required for left-outer-join?

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: I8736f104905eeda763d39709e002c2b9629278cc
Gerrit-PatchSet: 21
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <>
Gerrit-Reviewer: Chen Li <>
Gerrit-Reviewer: Jenkins <>
Gerrit-Reviewer: Taewoo Kim <>
Gerrit-Reviewer: Wenhai Li <>
Gerrit-HasComments: Yes

View raw message