summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Bossart <nathan@postgresql.org>2025-10-03 10:14:33 -0500
committerNathan Bossart <nathan@postgresql.org>2025-10-03 10:14:33 -0500
commit74b41f5a77b8586356d02227c92e7e47380ac228 (patch)
tree8a2118b78e1343eebc7ac04b761bcc7001d9985e
parenta69b55cd47274d897f4d92c466bfda461c9acfda (diff)
Make some use of anonymous unions [DSM registry].
Make some use of anonymous unions, which are allowed as of C11, as examples and encouragement for future code, and to test compilers. This commit changes the DSMRegistryEntry struct. Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/aNKsDg0fJwqhZdXX%40nathan
-rw-r--r--src/backend/storage/ipc/dsm_registry.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/backend/storage/ipc/dsm_registry.c b/src/backend/storage/ipc/dsm_registry.c
index 97130925106..a926b9c3f32 100644
--- a/src/backend/storage/ipc/dsm_registry.c
+++ b/src/backend/storage/ipc/dsm_registry.c
@@ -98,7 +98,7 @@ typedef struct DSMRegistryEntry
NamedDSMState dsm;
NamedDSAState dsa;
NamedDSHState dsh;
- } data;
+ };
} DSMRegistryEntry;
static const dshash_parameters dsh_params = {
@@ -212,7 +212,7 @@ GetNamedDSMSegment(const char *name, size_t size,
entry = dshash_find_or_insert(dsm_registry_table, name, found);
if (!(*found))
{
- NamedDSMState *state = &entry->data.dsm;
+ NamedDSMState *state = &entry->dsm;
dsm_segment *seg;
entry->type = DSMR_ENTRY_TYPE_DSM;
@@ -232,12 +232,12 @@ GetNamedDSMSegment(const char *name, size_t size,
else if (entry->type != DSMR_ENTRY_TYPE_DSM)
ereport(ERROR,
(errmsg("requested DSM segment does not match type of existing entry")));
- else if (entry->data.dsm.size != size)
+ else if (entry->dsm.size != size)
ereport(ERROR,
(errmsg("requested DSM segment size does not match size of existing segment")));
else
{
- NamedDSMState *state = &entry->data.dsm;
+ NamedDSMState *state = &entry->dsm;
dsm_segment *seg;
/* If the existing segment is not already attached, attach it now. */
@@ -294,7 +294,7 @@ GetNamedDSA(const char *name, bool *found)
entry = dshash_find_or_insert(dsm_registry_table, name, found);
if (!(*found))
{
- NamedDSAState *state = &entry->data.dsa;
+ NamedDSAState *state = &entry->dsa;
entry->type = DSMR_ENTRY_TYPE_DSA;
@@ -314,7 +314,7 @@ GetNamedDSA(const char *name, bool *found)
(errmsg("requested DSA does not match type of existing entry")));
else
{
- NamedDSAState *state = &entry->data.dsa;
+ NamedDSAState *state = &entry->dsa;
if (dsa_is_attached(state->handle))
ereport(ERROR,
@@ -367,7 +367,7 @@ GetNamedDSHash(const char *name, const dshash_parameters *params, bool *found)
entry = dshash_find_or_insert(dsm_registry_table, name, found);
if (!(*found))
{
- NamedDSHState *dsh_state = &entry->data.dsh;
+ NamedDSHState *dsh_state = &entry->dsh;
dshash_parameters params_copy;
dsa_area *dsa;
@@ -395,7 +395,7 @@ GetNamedDSHash(const char *name, const dshash_parameters *params, bool *found)
(errmsg("requested DSHash does not match type of existing entry")));
else
{
- NamedDSHState *dsh_state = &entry->data.dsh;
+ NamedDSHState *dsh_state = &entry->dsh;
dsa_area *dsa;
/* XXX: Should we verify params matches what table was created with? */
@@ -447,7 +447,7 @@ pg_get_dsm_registry_allocations(PG_FUNCTION_ARGS)
* attaching to them, return NULL for those.
*/
if (entry->type == DSMR_ENTRY_TYPE_DSM)
- vals[2] = Int64GetDatum(entry->data.dsm.size);
+ vals[2] = Int64GetDatum(entry->dsm.size);
else
nulls[2] = true;