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