pgsql: compute_bitmap_pages' loop_count parameter should be double not

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: compute_bitmap_pages' loop_count parameter should be double not
Date: 2023-12-18 17:46:28
Message-ID: E1rFHhE-00AnWo-3h@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

compute_bitmap_pages' loop_count parameter should be double not int.

The value was double in the original implementation of this logic.
Commit da08a6598 pulled it out into a subroutine, but carelessly
declared the parameter as int when it should have been double.
On most platforms, the only ill effect would be to clamp the value
to be not more than INT_MAX, which would seldom be exceeded and
probably wouldn't change the estimates too much anyway. Nonetheless,
it's wrong and can cause complaints from ubsan.

While here, improve the comments and parameter names.

This is an ABI change in a globally exposed subroutine, so
back-patching would create some risk of breaking extensions.
The value of the fix doesn't seem high enough to warrant taking
that risk, so fix in HEAD only.

Per report from Alexander Lakhin.

Discussion: https://postgr.es/m/f5e15fe1-202d-1936-f47c-f0c69a936b72@gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/8b965c549dc8753be8a38c4a1b9fabdb535a4338

Modified Files
--------------
src/backend/optimizer/path/costsize.c | 22 +++++++++++++++-------
src/include/optimizer/cost.h | 3 ++-
2 files changed, 17 insertions(+), 8 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2023-12-19 04:38:34 pgsql: pgoutput: Raise an error for missing protocol version parameter.
Previous Message Nathan Bossart 2023-12-18 16:53:49 pgsql: Optimize pg_atomic_exchange_u32 and pg_atomic_exchange_u64.