Re: Use correct macro for accessing offset numbers.

zengman <zengman@halodbtech.com>

From: zengman <zengman@halodbtech.com>
To: Kirill Reshke <reshkekirill@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-01-12T06:53:24Z
Lists: pgsql-hackers
Hi,

I’ve also seen such cases in the kernel code, and I’m wondering if this should be added to the patch here?
```
postgres@zxm-VMware-Virtual-Platform:~/code/postgres$ git diff
diff --git a/src/backend/utils/adt/lockfuncs.c b/src/backend/utils/adt/lockfuncs.c
index bcbc226125c..9dadd6da672 100644
--- a/src/backend/utils/adt/lockfuncs.c
+++ b/src/backend/utils/adt/lockfuncs.c
@@ -329,7 +329,7 @@ pg_lock_status(PG_FUNCTION_ARGS)
                                values[1] = ObjectIdGetDatum(instance->locktag.locktag_field1);
                                values[8] = ObjectIdGetDatum(instance->locktag.locktag_field2);
                                values[6] = ObjectIdGetDatum(instance->locktag.locktag_field3);
-                               values[9] = Int16GetDatum(instance->locktag.locktag_field4);
+                               values[9] = UInt16GetDatum(instance->locktag.locktag_field4);
                                nulls[2] = true;
                                nulls[3] = true;
                                nulls[4] = true;
@@ -343,7 +343,7 @@ pg_lock_status(PG_FUNCTION_ARGS)
                                values[1] = ObjectIdGetDatum(instance->locktag.locktag_field1);
                                values[7] = ObjectIdGetDatum(instance->locktag.locktag_field2);
                                values[8] = ObjectIdGetDatum(instance->locktag.locktag_field3);
-                               values[9] = Int16GetDatum(instance->locktag.locktag_field4);
+                               values[9] = UInt16GetDatum(instance->locktag.locktag_field4);
                                nulls[2] = true;
                                nulls[3] = true;
                                nulls[4] = true;
```

--
Regards,
Man Zeng
www.openhalo.org

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Adjust some incorrect *GetDatum() macros

  2. Use more consistent *GetDatum() macros for some unsigned numbers