Re: [PATCH] Add tests for Bitmapset
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Greg Burd <greg@burd.me>, Ranier Vilela <ranier.vf@gmail.com>, Daniel Gustafsson <daniel@yesql.se>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-18T09:06:02Z
Lists: pgsql-hackers
Attachments
- test_bitmapset_fixes.patch (application/octet-stream) patch
On Fri, 10 Oct 2025 at 11:30, Michael Paquier <michael@paquier.xyz> wrote: > Thanks for double-checking. Applied after running an indent. I was working on test_bitmapset.c to add some tests for a new bitmapset function. I noticed a few weird things. 1. test_random_operations() is coded to use GetCurrentTimestamp() as a seed when the given seed is <= 0. Of course, it'll be a while before the return value of that wraps beyond 2^63 (292250 years), but I still can't help but think that NULL is a better value to use to have the seed auto-generate. 2. Doing #1 means the function can't be STRICT. I do think it's wrong that the function is marked as strict. That's normally reserved for functions that we needn't call because NULL input(s) yield a NULL output. That's not the case for this function. 3. There's no CHECK_FOR_INTERRUPTS() in test_random_operations(). If someone uses a large num_ops, there's no way to cancel the query. 4. If there happened to be some rare bug in bitmapset.c that test_random_operations() we might struggle to find it again, as we don't report which seed we used in the ERROR message. 5. Couple of minor cosmetics; header order, whilespace. I felt it was worth fixing these now as the function I plan to add there does #1, #2, #3 and #4. If I add the new function for v20, the discrepancy seems questionable. David
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Minor fixes for test_bitmapset.c
- 5142f0093e64 19 (unreleased) landed
-
test_bitmapset: Improve random function
- 9d46b86529e8 19 (unreleased) landed
-
Add mem_exceeded_count column to pg_stat_replication_slots.
- d3b6183dd988 19 (unreleased) landed
-
Tidy-up unneeded NULL parameter checks from SQL function
- a69b55cd4727 19 (unreleased) landed
-
Remove check for NULL in STRICT function
- 381f5cffae00 19 (unreleased) landed
-
Fixes for comments in test_bitmapset
- a1b064e4b226 19 (unreleased) landed
-
Minor fixups of test_bitmapset.c
- 3a6615806859 19 (unreleased) landed
-
test_bitmapset: Simplify code of the module
- 9952f6c05a40 19 (unreleased) landed
-
test_bitmapset: Expand more the test coverage
- 5668fff3c512 19 (unreleased) landed
-
Fix compiler warnings in test_bitmapset
- f83fe65f3fc1 19 (unreleased) landed
-
Add a test module for Bitmapset
- 00c3d87a5cab 19 (unreleased) landed