Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5I5o-0036CA-0U for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Mar 2026 06:51:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w5I5m-00COAD-1t for pgsql-hackers@arkaria.postgresql.org; Wed, 25 Mar 2026 06:51:51 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w5I5m-00COA4-0Y for pgsql-hackers@lists.postgresql.org; Wed, 25 Mar 2026 06:51:50 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w5I5j-000000011JE-3om1 for pgsql-hackers@lists.postgresql.org; Wed, 25 Mar 2026 06:51:50 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-b8f9568e074so373893666b.0 for ; Tue, 24 Mar 2026 23:51:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774421507; cv=none; d=google.com; s=arc-20240605; b=F5cD9XA/HbCCPrfuDJHgZwl/3R1cdQIXwk2SOR0CwDQ8peNYbV9S+F9eER3xGuHMVV iYtMmRNii8oHRy1JiJpoyeQ40hhq2z3dskscHNXSUDW/2NMDCi4EFCbjoQcZrxpyFHDA EEy9Fnc+oCsNkzHc1Y23PGXTsqCfNUGY5tLOlekjXdygDsAprhG35EWYoCYhDwgJFWSh F6I/UlJMBb9Kd2pmmyQIc87XXQdZYUl/NvqV+iZuIViKECnr4wCTGjtDkUEt0hwTeaiK 34gHTej6WyhA6ZVZTxLCErFaglgujrJAPzPuCwajBJ436klPMZHJpI+YW7zKk5LCog91 cNLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=cd7fIJ6ERJdKjj2+Tw8LAnjDH0fdRuky4vSQfMD8aag=; fh=nwNxTtLLPTU0ewfLM7SSbrjMajMl+wwnFkCY/fi90vE=; b=dOjTzTUQQZbThooJm3ezPbsoEmOaPpsWIDJ7iqxIAXftUtZbxP8Z03CRtFNdV5p83X z0OlukyX+tdN46wllmbMx6UFJWhqXHzCu7Uc5hUXYtoP6oqXC1cN3T5YngcYG4uI1sml 8yzB8RFt4DTxlgHtskedAj/GpHNfzeIOi9qS1sS3Nm1S11b21WL0HFyVwX20Z+f/4rK5 t8e94tQ/uogXq+skVbM8P2Q09kmo3tjBrAZdKo/CQubPmN8ZtHoULTX65k/jTr+mqtAr 6kjt6xXE9wqyno2b4GJ6Azi0btw7FXyCQyowRaTB3uWzTT/BTCK/s5eTbTc2xyYDcit5 YGcg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybrosys-com.20230601.gappssmtp.com; s=20230601; t=1774421507; x=1775026307; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=cd7fIJ6ERJdKjj2+Tw8LAnjDH0fdRuky4vSQfMD8aag=; b=1KsfN8XaQzXEiXj241ZLG+5wJB8A+KoY2PIIlIty7ID5wcZVOa6XPojCDb0DuxfZyT KME3ecGrO4m4mmhmV4Eb6+VnHBhJZmEcFCjv0hIfhiOFyAzjU1lXofDkqXo086mIW6DB Xk1z5KEehFZHV+mqQzvB38DzmsGTM8zj7eQjZ8871niJCVACfrQ9h6zDcpfgnpVQwhtu c7n9Jh+6fc9Urf+ieGmT3faKCf6DKcco7qPBu2iUzfJXPuAl98VWHb7cNQgXyizEuSgT Tp513x/NN5znnqy2s439lHnEGGfXj9PMaSIAp4wt43dqgrjlQKaIRkOoK3XDJ/WKLX5r wsxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774421507; x=1775026307; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cd7fIJ6ERJdKjj2+Tw8LAnjDH0fdRuky4vSQfMD8aag=; b=Afat33wQIG6XVe269hollAeKFWj9/CakSFX+bM+Ls15SD3Z4mRisUTb+g+yhaAVJUW FbjkOe0z32h1dYpXJ3TDV//9rUAK3HEQOMnbtKtGpPP0YkE0s/0WEXKf9U7jDlApyxt/ H7RwmOMBxKGQpCvQNedD2vQiB41B2CBeSPjxkIsb9ShqCNPlIzLQ5tgMw2Jy2zwHZalv a0LKPiunL/K0Is0JfrPHmOUJJddX/wtUrheqXCqwJrdU3wb1Kfkl0Pnlq7Czj+iGz9z0 BygWDmWacJAwIQ3wzNlXJtk1mSxOenOahz04CodfASE8J2HFSJTg7iZQjplF/lx2CgmP aTJQ== X-Gm-Message-State: AOJu0YzZxNkWwE6SFV1z8eMmOBxby9MO1RInAyJBsD+imTDmAMkEeobp RhOH/Yphm/NA+H+dwyB57Fbrl4kuAG0BXMVgDB3vv7RtWDwj21hiQUoWQa3fGfAX4jkx4ENqEP5 zUy72r31tInKNnbMmR6DiaUpBv8Ei+MQSe26wZq+0A3dCQxejxjURxV1cgA== X-Gm-Gg: ATEYQzwX6R2OMTt3UPKatGm3WgCMSkTplo2vA35XHwMSJoyEbBQoTFxBSZTkPzHqsXd mGLT19rzaEIMSULG3WaUTA0URAhSJWHeOtf7b+Jbn3rdfO1b4mY0nLp1VyG2CaqLNPbLC0NbI86 p6u2WqNgZkEpmo55qM4FTrGhu+NCWl/xOMd0UAvevGTpzKL18H5cJS1gELbvvFpy6fV6RBV8s6e obdRts21Iw9ka/1iBXxE2B0O5OUcdcb8Or8GRRSA7ZLMqumNAWfyRl7TEujZKzX+ui6X6lbKrCI 8rTkqpCqzQ== X-Received: by 2002:a17:906:9f8c:b0:b98:549d:8376 with SMTP id a640c23a62f3a-b9a3f17661bmr150997466b.17.1774421506945; Tue, 24 Mar 2026 23:51:46 -0700 (PDT) MIME-Version: 1.0 From: Postgress Cybrosys Date: Wed, 25 Mar 2026 12:21:35 +0530 X-Gm-Features: AQROBzCrjQYUNCO9Ful6ybI7tVWCwLad_sPknFPsmZZ_d5F8mb4P4WNIwpDhPe4 Message-ID: Subject: Fix incorrect false positive rate formatting in create_and_test_bloom() To: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000009abef0064dd3b3e6" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000009abef0064dd3b3e6 Content-Type: multipart/alternative; boundary="0000000000009abeef064dd3b3e4" --0000000000009abeef064dd3b3e4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, I noticed a bug in src/test/modules/test_bloomfilter/test_bloomfilter.c where the false positive rate is displayed incorrectly in create_and_test_bloom(). The issue is in the ereport() call: errmsg_internal("seed: " UINT64_FORMAT " false positives: " INT64_FORMAT " (%.6f%%) bitset %.2f%% set", seed, nfalsepos, (double) nfalsepos / nelements, 100.0 * bloom_prop_bits_set(filter)) The format specifier %.6f%% expects a value already scaled to a percentage, but (double) nfalsepos / nelements produces a raw fraction. This means a true false positive rate of 0.5% is displayed as 0.005000% =E2=80=94 100x s= maller than the actual value. This is inconsistent with the very next argument, bloom_prop_bits_set(), which is correctly multiplied by 100.0 before being passed to its %.2f%% format specifier. The fix is straightforward =E2=80=94 multiply the ratio by 100.0: - seed, nfalsepos, (double) nfalsepos / nelements, + seed, nfalsepos, 100.0 * (double) nfalsepos / nelements, Patch is attached. Thanks & Regards, *Jhon k* Postgres Specialist Project & IT Department Cybrosys Technologies Mail Mobile WhatsApp postgress@cybrosys.com +91 8606827707 +91 8606827707 --0000000000009abeef064dd3b3e4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I noticed a bug in src/test/modules/test_b= loomfilter/test_bloomfilter.c where the false positive rate is displayed in= correctly in create_and_test_bloom().

The issue is in the ereport() = call:

=C2=A0 =C2=A0 errmsg_internal("seed: " UINT64_FORMAT= " false positives: " INT64_FORMAT " (%.6f%%) bitset %.2f%% = set",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0seed, nfalsepos, (double) nfalsepos / nelements,
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0100.0= * bloom_prop_bits_set(filter))

The format specifier %.6f%% expects = a value already scaled to a percentage, but (double) nfalsepos / nelements = produces a raw fraction. This means a true false positive rate of 0.5% is d= isplayed as 0.005000% =E2=80=94 100x smaller than the actual value.

= This is inconsistent with the very next argument, bloom_prop_bits_set(), wh= ich is correctly multiplied by 100.0 before being passed to its %.2f%% form= at specifier.

The fix is straightforward =E2=80=94 multiply the rati= o by 100.0:

=C2=A0 =C2=A0 - seed, nfalsepos, (double) nfalsepos / ne= lements,
=C2=A0 =C2=A0 + seed, nfalsepos, 100.0 * (double) nfalsepos / n= elements,

Patch is attached.

Thanks & R= egards,

Jhon k

Postgres Special= ist

Project & IT Department

Cybrosys Technologies

=

Mail

Mobile

WhatsApp


postgress@cybrosys.com

+91 8606827707

+91 8606827707


--0000000000009abeef064dd3b3e4-- --0000000000009abef0064dd3b3e6 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-incorrect-false-positive-rate-formatting-in-crea.patch" Content-Disposition: attachment; filename="0001-Fix-incorrect-false-positive-rate-formatting-in-crea.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn5oqk8i0 RnJvbSBmNGNhNjAyZTdjOTAyZWMzNDAyOGQwYTNhN2ZkZWQzOWE5ZDg2NjllIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBwb3N0Z3Jlc3MgY3licm9zeXMgPHBvc3RncmVzc0BjeWJyb3N5 cy5jb20+CkRhdGU6IFdlZCwgMjUgTWFyIDIwMjYgMTI6MTc6MTYgKzA1MzAKU3ViamVjdDogW1BB VENIXSBGaXggaW5jb3JyZWN0IGZhbHNlIHBvc2l0aXZlIHJhdGUgZm9ybWF0dGluZyBpbgogY3Jl YXRlX2FuZF90ZXN0X2Jsb29tKCkKClRoZSBmYWxzZSBwb3NpdGl2ZSByYXRlIHdhcyByZXBvcnRl ZCBhcyBhIHJhdyBmcmFjdGlvbiAoZS5nLiwgMC4wMDUwMDAlKSBpbnN0ZWFkIG9mIGEgcGVyY2Vu dGFnZSAoMC41MDAwMDAlKS4gVGhlICIlLjZmJSUiIGZvcm1hdCBzcGVjaWZpZXIgZXhwZWN0cyBh IHZhbHVlIGFscmVhZHkgc2NhbGVkIHRvIHBlcmNlbnRhZ2UsIGJ1dCB0aGUgY29tcHV0ZWQgcmF0 aW8gd2FzIG5vdCBtdWx0aXBsaWVkIGJ5IDEwMC4wLgoKVGhpcyBpcyBpbmNvbnNpc3RlbnQgd2l0 aCBibG9vbV9wcm9wX2JpdHNfc2V0KCksIHdoaWNoIGNvcnJlY3RseSBzY2FsZXMgaXRzIHZhbHVl IGJ5IDEwMC4wIGJlZm9yZSBwYXNzaW5nIGl0IHRvIGEgIiUuMmYlJSIgZm9ybWF0IHNwZWNpZmll ci4KCkZpeCBieSBtdWx0aXBseWluZyAobmZhbHNlcG9zIC8gbmVsZW1lbnRzKSBieSAxMDAuMCB0 byBlbnN1cmUgY29ycmVjdCBwZXJjZW50YWdlIG91dHB1dC4KLS0tCiBzcmMvdGVzdC9tb2R1bGVz L3Rlc3RfYmxvb21maWx0ZXIvdGVzdF9ibG9vbWZpbHRlci5jIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv bW9kdWxlcy90ZXN0X2Jsb29tZmlsdGVyL3Rlc3RfYmxvb21maWx0ZXIuYyBiL3NyYy90ZXN0L21v ZHVsZXMvdGVzdF9ibG9vbWZpbHRlci90ZXN0X2Jsb29tZmlsdGVyLmMKaW5kZXggZGY0MTA2NjEz OGMuLjI2OGUxOTM4Y2FkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21m aWx0ZXIvdGVzdF9ibG9vbWZpbHRlci5jCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9v bWZpbHRlci90ZXN0X2Jsb29tZmlsdGVyLmMKQEAgLTk0LDcgKzk0LDcgQEAgY3JlYXRlX2FuZF90 ZXN0X2Jsb29tKGludCBwb3dlciwgaW50NjQgbmVsZW1lbnRzLCBpbnQgY2FsbGVyc2VlZCkKIAog CWVyZXBvcnQoKG5mYWxzZXBvcyA+IG5lbGVtZW50cyAqIEZQT1NJVElWRV9USFJFU0hPTEQpID8g V0FSTklORyA6IERFQlVHMSwKIAkJCShlcnJtc2dfaW50ZXJuYWwoInNlZWQ6ICIgVUlOVDY0X0ZP Uk1BVCAiIGZhbHNlIHBvc2l0aXZlczogIiBJTlQ2NF9GT1JNQVQgIiAoJS42ZiUlKSBiaXRzZXQg JS4yZiUlIHNldCIsCi0JCQkJCQkJIHNlZWQsIG5mYWxzZXBvcywgKGRvdWJsZSkgbmZhbHNlcG9z IC8gbmVsZW1lbnRzLAorCQkJCQkJCSBzZWVkLCBuZmFsc2Vwb3MsIDEwMC4wICogKGRvdWJsZSkg bmZhbHNlcG9zIC8gbmVsZW1lbnRzLAogCQkJCQkJCSAxMDAuMCAqIGJsb29tX3Byb3BfYml0c19z ZXQoZmlsdGVyKSkpKTsKIAogCWJsb29tX2ZyZWUoZmlsdGVyKTsKLS0gCjIuMzQuMQoK --0000000000009abef0064dd3b3e6--