Re: [PATCH] Add tests for Bitmapset

Ranier Vilela <ranier.vf@gmail.com>

From: Ranier Vilela <ranier.vf@gmail.com>
To: Greg Burd <greg@burd.me>
Cc: Daniel Gustafsson <daniel@yesql.se>, David Rowley <dgrowleyml@gmail.com>, Michael Paquier <michael@paquier.xyz>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-10-08T12:10:16Z
Lists: pgsql-hackers

Attachments

Hi.

Em sex., 3 de out. de 2025 às 09:13, Greg Burd <greg@burd.me> escreveu:

>
> On Oct 3 2025, at 4:25 am, Daniel Gustafsson <daniel@yesql.se> wrote:
>
> >> On 3 Oct 2025, at 01:36, David Rowley <dgrowleyml@gmail.com> wrote:
> >>
> >> On Fri, 3 Oct 2025 at 01:33, Daniel Gustafsson <daniel@yesql.se> wrote:
> >>> Another nitpick would be to remove the test for NULL in
> test_bms_make_singleton
> >>> since that is a STRICT function, making the test for NULL
> >>> superfluous code:
> >>
> >> I see test_random_operations() is also strict. Is it worth getting rid
> >> of the SQL NULL checks on the inputs there too? Aka, the attached.
> >
> > Indeed, but reading the code I wonder if STRICT was a mistake and the
> intention
> > was to allow NULL input?
>
> Yes, it was an oversight after I re-worked the random function.
>
> > That being said, the function is never called with
> > NULL so that's mostly academic thinking.  +1 for removing the NULL
> > checks and simplifying the code.
>
> I agree, and thank you both for the attention to detail and interest in
> this test suite.
>
With the patch attached, there are regression.
Is it intentional not to check the return of the function bms_is_member?

diff --strip-trailing-cr -U3
C:/dll/postgres_dev/postgres_commit/src/test/modules/test_bitmapset/expected/test_bitmapset.out
C:/dll/postgres_dev/postgres_commit/build/testrun/test_bitmapset/regress/results/test_bitmapset.out
---
C:/dll/postgres_dev/postgres_commit/src/test/modules/test_bitmapset/expected/test_bitmapset.out
2025-10-02 21:17:53.169515700 -0300
+++
C:/dll/postgres_dev/postgres_commit/build/testrun/test_bitmapset/regress/results/test_bitmapset.out
2025-10-07 21:24:00.534142300 -0300
@@ -1570,9 +1570,5 @@

 -- random operations
 SELECT test_random_operations(-1, 10000, 81920, 0) > 0 AS result;
- result
---------
- t
-(1 row)
-
+ERROR:  union missing member 63904
 DROP EXTENSION test_bitmapset;

best regards,
Ranier Vilela

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Minor fixes for test_bitmapset.c

  2. test_bitmapset: Improve random function

  3. Add mem_exceeded_count column to pg_stat_replication_slots.

  4. Tidy-up unneeded NULL parameter checks from SQL function

  5. Remove check for NULL in STRICT function

  6. Fixes for comments in test_bitmapset

  7. Minor fixups of test_bitmapset.c

  8. test_bitmapset: Simplify code of the module

  9. test_bitmapset: Expand more the test coverage

  10. Fix compiler warnings in test_bitmapset

  11. Add a test module for Bitmapset