Re: Choosing values for multivariate MCV lists - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: Choosing values for multivariate MCV lists
Date
Msg-id 20190623202319.4lcqsi5zc53hktda@development
Whole thread Raw
In response to Re: Choosing values for multivariate MCV lists  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Responses Re: Choosing values for multivariate MCV lists
List pgsql-hackers
On Sun, Jun 23, 2019 at 08:48:26PM +0100, Dean Rasheed wrote:
>On Sat, 22 Jun 2019 at 15:10, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote:
>> One annoying thing I noticed is that the base_frequency tends to end up
>> being 0, most likely due to getting too small. It's a bit strange, though,
>> because with statistic target set to 10k the smallest frequency for a
>> single column is 1/3e6, so for 2 columns it'd be ~1/9e12 (which I think is
>> something the float8 can represent).
>>
>
>Yeah, it should be impossible for the base frequency to underflow to
>0. However, it looks like the problem is with mcv_list_items()'s use
>of %f to convert to text, which is pretty ugly.
>

Yeah, I realized that too, eventually. One way to fix that would be
adding %.15f to the sprintf() call, but that just adds ugliness. It's
probably time to rewrite the function to build the tuple from datums,
instead of relying on BuildTupleFromCStrings.


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services 



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: unlogged sequences
Next
From: Andrew Dunstan
Date:
Subject: Plugging some testing holes