On 8/31/21 00:14, Zhihong Yu wrote:
Hi,
For patch 0002,
+ s1 = statext_clauselist_selectivity(root, clauses,
varRelid,
+ jointype,
sjinfo, rel,
+
&estimatedclauses, false);
+
+ estimated = (bms_num_members(estimatedclauses) == 1);
I took a look at clauselist_apply_dependencies() (called by
statext_clauselist_selectivity) where estimatedclauses is modified.
Since the caller would not use the returned Selectivity if number of
elements in estimatedclauses is greater than 1, I wonder
if a parameter can be added to clauselist_apply_dependencies() which
indicates early return if the second element is added to estimatedclauses.
Hmmm, I'm not sure I understand your point. Are you suggesting there's a
bug in not updating the bitmap, or would this be an optimization? Can
you give an example of a query affected by this?
regards
--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company