okumin commented on code in PR #5337:
URL: https://github.com/apache/hive/pull/5337#discussion_r1691299674


##########
ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java:
##########
@@ -557,14 +557,17 @@ private long evaluateInExpr(Statistics stats, 
ExprNodeDesc pred, long currNumRow
       }
       for (int i = 0; i < columnStats.size(); i++) {
         long dvs = columnStats.get(i) == null ? 0 : 
columnStats.get(i).getCountDistint();
-        long intersectionSize = estimateIntersectionSize(aspCtx.getConf(), 
columnStats.get(i), values.get(i));
+        if (dvs == 0) {
+          factor *= 0.5;

Review Comment:
   @kgyrtkirk Can I keep the current revision? The parameter is multiplied at 
the end of the overall calculation. I guess it is more desirable than 
multiplying the arbitrary parameter in this loop. If we use 0.1 in this loop, 
and if the size of `columnStats` is 3, the final factor will be 0.1 * 0.1 * 
0.1. Maybe, it is overkilling



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to