This is an automated email from the ASF dual-hosted git repository.

leborchuk pushed a commit to branch REL_2_STABLE
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit dfe7a95525c204b86102c8531af48a7bc348a9a7
Author: Michael Paquier <[email protected]>
AuthorDate: Wed Nov 8 14:06:42 2023 +0900

    Enlarge assertion in bloom_init() for false_positive_rate
    
    false_positive_rate is a parameter that can be set with the bloom
    opclass in BRIN, and setting it to a value of exactly 0.25 would trigger
    an assertion in the first INSERT done on the index with value set.
    
    The assertion changed here relied on BLOOM_{MIN|MAX}_FALSE_POSITIVE_RATE
    that are somewhat arbitrary values, and specifying an out-of-range value
    would also trigger a failure when defining such an index.  So, as-is,
    the assertion was just doubling on the min-max check of the reloption.
    This is now enlarged to check that it is a correct percentage value,
    instead, based on a suggestion by Tom Lane.
    
    Author: Alexander Lakhin
    Reviewed-by: Tom Lane, Shihao Zhong
    Discussion: https://postgr.es/m/[email protected]
    Backpatch-through: 14
    (cherry picked from commit 59fc39c0d5d9237b4912b40fd781f605df1fb4b0)
---
 src/backend/access/brin/brin_bloom.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/backend/access/brin/brin_bloom.c 
b/src/backend/access/brin/brin_bloom.c
index 2c8a20aaca6..72aabbcf50d 100644
--- a/src/backend/access/brin/brin_bloom.c
+++ b/src/backend/access/brin/brin_bloom.c
@@ -280,8 +280,7 @@ bloom_init(int ndistinct, double false_positive_rate)
        double          k;                              /* number of hash 
functions */
 
        Assert(ndistinct > 0);
-       Assert((false_positive_rate >= BLOOM_MIN_FALSE_POSITIVE_RATE) &&
-                  (false_positive_rate < BLOOM_MAX_FALSE_POSITIVE_RATE));
+       Assert(false_positive_rate > 0 && false_positive_rate < 1);
 
        /* sizing bloom filter: -(n * ln(p)) / (ln(2))^2 */
        nbits = ceil(-(ndistinct * log(false_positive_rate)) / pow(log(2.0), 
2));


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to