Problem: when using leading like leading(tbl1 tbl2) in "select * from (select tbl1.c1 from t1 as tbl1 join t2 as tbl2) join t3 as tbl2 on tbl2.c3 != 101;", in which tbl2.c3 means t3.c3 but not t2.c3 Causes and solved: when finding columns in condition, leading hint would find tbl2.c3's RelationId, and when we collect RelationId and aliasName we should update it if aliasName is repeat
This commit is contained in:
@ -216,6 +216,10 @@ public class LeadingHint extends Hint {
|
||||
pair.second = relationIdTableNamePair.second;
|
||||
isUpdate = true;
|
||||
}
|
||||
if (pair.second.equals(relationIdTableNamePair.second)) {
|
||||
pair.first = relationIdTableNamePair.first;
|
||||
isUpdate = true;
|
||||
}
|
||||
}
|
||||
if (!isUpdate) {
|
||||
relationIdAndTableName.add(relationIdTableNamePair);
|
||||
|
||||
Reference in New Issue
Block a user