Re: [PATCH] Add tests for Bitmapset
Greg Burd <greg@burd.me>
From: "Greg Burd" <greg@burd.me>
To: "David Rowley" <dgrowleyml@gmail.com>,
"Michael Paquier" <michael@paquier.xyz>
Cc: "Ranier Vilela" <ranier.vf@gmail.com>,
"Daniel Gustafsson" <daniel@yesql.se>,
"PostgreSQL Hackers" <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-19T14:41:23Z
Lists: pgsql-hackers
On Sat, Apr 18, 2026, at 2:06 AM, David Rowley wrote: > 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. Hi David, I took a look at your patch, it seems straight forward and valuable. Thanks for pushing this forward a bit. > 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. I don't recall off hand why I had it coded that way, your changes make sense. > 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. Agreed, good call. > 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. Absolutely, thanks for finding the oversight. > 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. Makes perfect sense. > 5. Couple of minor cosmetics; header order, whilespace. +1 > 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 I think these changes are reasonable and improve the tests. Now I need to review your new bitmapset feature... :) best. -greg > Attachments: > * test_bitmapset_fixes.patch
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