Skip to content

Commit 492b850

Browse files
anarazelpull[bot]
authored andcommitted
Add static assertion ensuring sizeof(ExprEvalStep) <= 64 bytes
This was previously only documented in a comment. Given the size of the struct, it's not hard to miss that comment. As evidenced by the commits leading up to fe3caa1, 67b2670. It's possible, but not likely, that we might have to weaken these assertions on a less commonly used architecture. Author: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/295606.1677101684@sss.pgh.pa.us
1 parent 3305389 commit 492b850

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/include/executor/execExpr.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -669,6 +669,10 @@ typedef struct ExprEvalStep
669669
} d;
670670
} ExprEvalStep;
671671

672+
/* Enforce the size rule given in the comment above */
673+
StaticAssertDecl(sizeof(ExprEvalStep) <= 64,
674+
"size of ExprEvalStep exceeds 64 bytes");
675+
672676

673677
/* Non-inline data for container operations */
674678
typedef struct SubscriptingRefState

0 commit comments

Comments
 (0)