asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Taewoo Kim (Code Review)" <do-not-re...@asterixdb.incubator.apache.org>
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
testCases.
......................................................................


Patch Set 21:

(10 comments)

More questions on the fuzzyJoinRule itself

https://asterix-gerrit.ics.uci.edu/#/c/1076/21/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/FuzzyJoinRule.java
File asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/FuzzyJoinRule.java:

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 https://asterix-gerrit.ics.uci.edu/1076
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8736f104905eeda763d39709e002c2b9629278cc
Gerrit-PatchSet: 21
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lwhaymail@yahoo.com>
Gerrit-Reviewer: Chen Li <chenli@gmail.com>
Gerrit-Reviewer: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Taewoo Kim <wangsaeu@yahoo.com>
Gerrit-Reviewer: Wenhai Li <lwhaymail@yahoo.com>
Gerrit-HasComments: Yes

Mime
View raw message