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]
