On Tue, Sep 23, 2025 at 01:43:47AM -0400, Tom Lane wrote:
> Michael Paquier <mich...@paquier.xyz> writes:
>> The result I had was good enough, so applied.  The CI was OK, the
>> buildfarm may have a different opinion.
> 
> This patch seems to be rather full of arbitrary casts to or
> from Datum, which is no longer okay.  You need to be using
> the appropriate conversion macros, such as PointerGetDatum.
> 
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=mamba&dt=2025-09-23%2002%3A12%3A36

Right, this can ve reproduced with a -m32 added to gcc.

I don't see a need for a Datum manipulation in these conversion
macros, as we already allocate the results to and from "text"
before/after using the GETARG or RETURN macros.  Using directly
text_to_cstring() and cstring_to_text() takes care of the warnings, as
well.
--
Michael
diff --git a/src/test/modules/test_bitmapset/test_bitmapset.c b/src/test/modules/test_bitmapset/test_bitmapset.c
index 61f256f65a44..f5473e58ce8e 100644
--- a/src/test/modules/test_bitmapset/test_bitmapset.c
+++ b/src/test/modules/test_bitmapset/test_bitmapset.c
@@ -84,8 +84,8 @@ PG_FUNCTION_INFO_V1(test_random_operations);
 	} while (0)
 
 /* Encode/Decode to/from TEXT and Bitmapset */
-#define BITMAPSET_TO_TEXT(bms) (text *) CStringGetTextDatum(nodeToString((bms)))
-#define TEXT_TO_BITMAPSET(str) (Bitmapset *) stringToNode(TextDatumGetCString((Datum) (str)))
+#define BITMAPSET_TO_TEXT(bms) cstring_to_text(nodeToString((bms)))
+#define TEXT_TO_BITMAPSET(str) (Bitmapset *) stringToNode(text_to_cstring(str))
 
 /*
  * Individual test functions for each bitmapset API function

Attachment: signature.asc
Description: PGP signature

Reply via email to