Simplify EXPLAIN code for Memoize
authorDavid Rowley <drowley@postgresql.org>
Fri, 21 Mar 2025 00:40:05 +0000 (13:40 +1300)
committerDavid Rowley <drowley@postgresql.org>
Fri, 21 Mar 2025 00:40:05 +0000 (13:40 +1300)
This removes a needless special case for Memoize's FORMAT TEXT EXPLAIN
output.

ExplainPropertyText() outputs the same thing in text mode as the
special-case code was doing, so removing the special-case code results in
the same EXPLAIN output, just with less code.

It seems like a good idea to fix this to help prevent future changes in
this area from copying the same pattern.

Author: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
Reported-by: David Rowley <dgrowleyml@gmail.com>
Discussion: https://postgr.es/m/88a71bcd-0b5c-4d0b-8107-757e96f402d5@tantorlabs.com

src/backend/commands/explain.c

index 33a16d2d8e2d7cd8e1dd4450b793eecc9c21aba5..391b34a2af217ed35328ece6c44bfe4b2b85cd25 100644 (file)
@@ -3625,18 +3625,8 @@ show_memoize_info(MemoizeState *mstate, List *ancestors, ExplainState *es)
        separator = ", ";
    }
 
-   if (es->format != EXPLAIN_FORMAT_TEXT)
-   {
-       ExplainPropertyText("Cache Key", keystr.data, es);
-       ExplainPropertyText("Cache Mode", mstate->binary_mode ? "binary" : "logical", es);
-   }
-   else
-   {
-       ExplainIndentText(es);
-       appendStringInfo(es->str, "Cache Key: %s\n", keystr.data);
-       ExplainIndentText(es);
-       appendStringInfo(es->str, "Cache Mode: %s\n", mstate->binary_mode ? "binary" : "logical");
-   }
+   ExplainPropertyText("Cache Key", keystr.data, es);
+   ExplainPropertyText("Cache Mode", mstate->binary_mode ? "binary" : "logical", es);
 
    pfree(keystr.data);