Tomas Vondra <tomas.von...@enterprisedb.com> writes: > The whole idea is that instead of bailing out for non-RestrictInfo case, > it calculates the necessary information for the clause from scratch. > This means relids and pseudoconstant flag, which are checked to decide > if the clause is compatible with extended stats.
Right. > But when inspecting how to calculate pseudoconstant, I realized that > maybe that's not really needed. Per distribute_qual_to_rels() we only > set it to 'true' when bms_is_empty(relids), and we already check that > relids is a singleton, so it can't be empty - which means pseudoconstant > can't be true either. Yeah, I would not bother with the pseudoconstant-related tests for a bare clause. Patch looks reasonably sane in a quick once-over otherwise, and the fact that it fixes the presented test case is promising. (If you set enable_indexscan = off, you can verify that the estimate for the number of index entries retrieved is now sane.) I did not look to see if there were any other RestrictInfo dependencies, though. regards, tom lane