On 2016/04/21 11:19, David G. Johnston wrote: > On Wednesday, April 20, 2016, Amit Langote wrote: >> On 2016/04/21 6:51, David G. Johnston wrote: >>> http://www.postgresql.org/docs/devel/static/bloom.html >>> >>> F.4.3 Examples >>> >>> Claims that the signature length is 80 bits - shouldn't it be 8? >> >> In F.4.1. Introduction: >> >> ... The user can specify signature length (in uint16, default is 5) >> >> So, it seems right to me. >> > Great. Maybe you can consider re-wording it so others can understand. I > have no clue how 80bits is determined. The phase you quote is obtuse to > the casual user as well. If that means 16x5=80 irrespective of columns it > is not clear.
I agree it's unclear. Does the following make it any better (updated patch attached):
- The user can specify signature length (in uint16, default is 5) and the - number of bits, which can be set per attribute (1 < colN < 2048). + The user can specify signature length in units of 16 bits (default is 5) + and the number of bits per indexed attribute.
Better. The "and" is confusing. Is the signature length the sum of 16x5 + (bits per indexed attribute)?
By the way, now I am slightly confused as well about per-column bits assignment thing:
In F.4.1. Introduction:
... and the number of bits, which can be set per attribute (1 < colN < 2048).
And then in F.4.2. Parameters:
bloom indexes accept the following parameters in the WITH clause.
length Length of signature in uint16 type values
How about: "Number of 16bit units to use for the signature"
col1 — col16 Number of bits for corresponding column
Which is it: col1 - col2048 or col1 - col16? Or are they different things altogether?