Change comments of removing useless joins.
Started by ywgritabout 2 years ago1 messages
After reading the logic of removing useless join, I think the comment of
this might need to be changed: "Currently, join_is_removable only succeeds
if sjinfo's right hand is a single baserel. " could be changed to
"Currently, join_is_removable only succeeds if sjinfo's min_righthand is a
single baserel. ". Because the useless join in the query "select t1.* from
t1 left join (t2 left join t3 on t3.a=t2.b) on t2.a=t1.a;" would also be
eliminated. That is, the query will be converted to "select t1.* from t1;"
Attachments:
0001-Change-remove-useless-join-comments.patchtext/x-patch; charset=US-ASCII; name=0001-Change-remove-useless-join-comments.patchDownload
diff --git a/src/backend/optimizer/plan/analyzejoins.c b/src/backend/optimizer/plan/analyzejoins.c
index 6c02fe8908..70e0ae372f 100644
--- a/src/backend/optimizer/plan/analyzejoins.c
+++ b/src/backend/optimizer/plan/analyzejoins.c
@@ -112,7 +112,7 @@ restart:
/*
* Currently, join_is_removable can only succeed when the sjinfo's
- * righthand is a single baserel. Remove that rel from the query and
+ * min_righthand is a single baserel. Remove that rel from the query and
* joinlist.
*/
innerrelid = bms_singleton_member(sjinfo->min_righthand);