v3-0004-Pack-TupleHashEntryData-and-AggStatePerGroupData.patch
text/x-patch
Filename: v3-0004-Pack-TupleHashEntryData-and-AggStatePerGroupData.patch
Type: text/x-patch
Part: 3
Patch
Format: format-patch
Series: patch v3-0004
Subject: Pack TupleHashEntryData and AggStatePerGroupData.
| File | + | − |
|---|---|---|
| src/backend/executor/execGrouping.c | 5 | 1 |
| src/include/executor/nodeAgg.h | 5 | 1 |
From 160b8bee7c56305fc881dbe8187c13eebce7bf92 Mon Sep 17 00:00:00 2001
From: Jeff Davis <jeff@j-davis.com>
Date: Fri, 15 Nov 2024 18:52:06 -0800
Subject: [PATCH v3 4/4] Pack TupleHashEntryData and AggStatePerGroupData.
---
src/backend/executor/execGrouping.c | 6 +++++-
src/include/executor/nodeAgg.h | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/backend/executor/execGrouping.c b/src/backend/executor/execGrouping.c
index 43165375946..70f79abe86b 100644
--- a/src/backend/executor/execGrouping.c
+++ b/src/backend/executor/execGrouping.c
@@ -24,7 +24,11 @@ typedef struct TupleHashEntryData
{
MinimalTuple firstTuple; /* copy of first tuple in this group */
uint32 hash; /* hash value (cached) */
-} TupleHashEntryData;
+}
+#ifdef pg_attribute_packed
+ pg_attribute_packed()
+#endif
+TupleHashEntryData;
static int TupleHashTableMatch(struct tuplehash_hash *tb, const MinimalTuple tuple1, const MinimalTuple tuple2);
static inline uint32 TupleHashTableHash_internal(struct tuplehash_hash *tb,
diff --git a/src/include/executor/nodeAgg.h b/src/include/executor/nodeAgg.h
index 34b82d0f5d1..d519b2a57a4 100644
--- a/src/include/executor/nodeAgg.h
+++ b/src/include/executor/nodeAgg.h
@@ -264,7 +264,11 @@ typedef struct AggStatePerGroupData
* NULL and not auto-replace it with a later input value. Only the first
* non-NULL input will be auto-substituted.
*/
-} AggStatePerGroupData;
+}
+#ifdef pg_attribute_packed
+ pg_attribute_packed()
+#endif
+AggStatePerGroupData;
/*
* AggStatePerPhaseData - per-grouping-set-phase state
--
2.34.1