> On Oct 20, 2021, at 11:42 AM, Greg Stark <st...@mit.edu> wrote:
>
>
>
> On Wed., Oct. 20, 2021, 12:41 Mark Dilger, <mark.dil...@enterprisedb.com>
> wrote:
>
> I used a switch statement to trigger a compiler warning in such an event.
>
> Catching better compiler diagnostics is an excellent reason to choose this
> structure. I guess all I could ask is that the comment saying no default
> branch say this is the motivation.
Ok. How about:
diff --git a/contrib/amcheck/verify_heapam.c b/contrib/amcheck/verify_heapam.c
index 774a70f63d..9500f43bc9 100644
--- a/contrib/amcheck/verify_heapam.c
+++ b/contrib/amcheck/verify_heapam.c
@@ -30,7 +30,11 @@ PG_FUNCTION_INFO_V1(verify_heapam);
/* The number of columns in tuples returned by verify_heapam */
#define HEAPCHECK_RELATION_COLS 4
-/* The largest valid toast va_rawsize */
+/*
+ * The largest valid toast va_rawsize. This is the same as the MaxAllocSize
+ * constant from memutils.h, and is the largest size that can fit in a varlena
+ * va_header's 30-bit size field.
+ */
#define VARLENA_SIZE_LIMIT 0x3FFFFFFF
/*
@@ -1452,7 +1456,11 @@ check_tuple_attribute(HeapCheckContext *ctx)
case TOAST_INVALID_COMPRESSION_ID:
break;
- /* Intentionally no default here */
+ /*
+ * Intentionally no default here. We want the compiler
to warn if
+ * new compression methods are added to the
ToastCompressionId enum
+ * but not handled in our switch.
+ */
}
if (!valid)
report_corruption(ctx,
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company