> 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





Reply via email to