• Tom Lane's avatar
    Make ANALYZE compute basic statistics even for types with no "=" operator. · 82e1ba7f
    Tom Lane authored
    Previously, ANALYZE simply ignored columns of datatypes that have neither
    a btree nor hash opclass (which means they have no recognized equality
    operator).  Without a notion of equality, we can't identify most-common
    values nor estimate the number of distinct values.  But we can still
    count nulls and compute the average physical column width, and those
    stats might be of value.  Moreover there are some tools out there that
    don't work so well if rows are missing from pg_statistic.  So let's
    add suitable logic for this case.
    
    While this is arguably a bug fix, it also has the potential to change
    query plans, and the gain seems not worth taking a risk of that in
    stable branches.  So back-patch into 9.5 but not further.
    
    Oleksandr Shulgin, rewritten a bit by me.
    82e1ba7f
analyze.c 80.3 KB