On Tue, Jun 03, 2025 at 10:39:25PM +0300, Florents Tselai wrote:
> Thanks for the detailed review Nathan
Thanks for the updated patch!
+ if (rsinfo == NULL || !IsA(rsinfo, ReturnSetInfo))
+ ereport(ERROR, (errmsg("pg_get_dsm_registry_allocations must be used in a SRF context")));
InitMaterializedSRF() takes care of this for you.
+typedef struct
+{
+ Tuplestorestate *tupstore;
+ TupleDesc tupdesc;
+} DSMRegistrySRFContext;
This appears to be unused.
+#include "fmgr.h"
+#include "funcapi.h"
+#include "miscadmin.h"
+#include "utils/builtins.h"
Do we need fmgr.h and miscadmin.h? Also, please alphabetize these into the
existing list of #includes.
+ values[1] = Int64GetDatum(entry->size);
I think there's a sign mismatch problem here, but it seems implausible in
practice. pg_get_shmem_allocations() does the same thing.
+ <sect1 id="view-pg-dsm-registry-allocations">
+ <title><structname>pg_dsm_registry_allocations</structname></title>
We need to add an entry into the System Views table in the Overview page,
too.
--
nathan