ATExecSetRelOptions: Reduce scope of 'isnull' variable
authorÁlvaro Herrera <[email protected]>
Thu, 13 Mar 2025 17:15:59 +0000 (18:15 +0100)
committerÁlvaro Herrera <[email protected]>
Thu, 13 Mar 2025 17:15:59 +0000 (18:15 +0100)
Author: Nikolay Shaplov <[email protected]>
Reviewed-by: Timur Magomedov <[email protected]>
Discussion: https://postgr.es/m/1913854.tdWV9SEqCh@thinkpad-pgpro

src/backend/commands/tablecmds.c

index 18ff89565775656e0f1a6edf5deedd432be5b313..d3edd879654e3cb1b8d6632c9036677b2286c79c 100644 (file)
@@ -15919,7 +15919,6 @@ ATExecSetRelOptions(Relation rel, List *defList, AlterTableType operation,
    HeapTuple   tuple;
    HeapTuple   newtuple;
    Datum       datum;
-   bool        isnull;
    Datum       newOptions;
    Datum       repl_val[Natts_pg_class];
    bool        repl_null[Natts_pg_class];
@@ -15944,18 +15943,20 @@ ATExecSetRelOptions(Relation rel, List *defList, AlterTableType operation,
         * there were none before.
         */
        datum = (Datum) 0;
-       isnull = true;
    }
    else
    {
+       bool        isnull;
+
        /* Get the old reloptions */
        datum = SysCacheGetAttr(RELOID, tuple, Anum_pg_class_reloptions,
                                &isnull);
+       if (isnull)
+           datum = (Datum) 0;
    }
 
    /* Generate new proposed reloptions (text array) */
-   newOptions = transformRelOptions(isnull ? (Datum) 0 : datum,
-                                    defList, NULL, validnsps, false,
+   newOptions = transformRelOptions(datum, defList, NULL, validnsps, false,
                                     operation == AT_ResetRelOptions);
 
    /* Validate */
@@ -16065,18 +16066,20 @@ ATExecSetRelOptions(Relation rel, List *defList, AlterTableType operation,
             * pretend there were none before.
             */
            datum = (Datum) 0;
-           isnull = true;
        }
        else
        {
+           bool        isnull;
+
            /* Get the old reloptions */
            datum = SysCacheGetAttr(RELOID, tuple, Anum_pg_class_reloptions,
                                    &isnull);
+           if (isnull)
+               datum = (Datum) 0;
        }
 
-       newOptions = transformRelOptions(isnull ? (Datum) 0 : datum,
-                                        defList, "toast", validnsps, false,
-                                        operation == AT_ResetRelOptions);
+       newOptions = transformRelOptions(datum, defList, "toast", validnsps,
+                                        false, operation == AT_ResetRelOptions);
 
        (void) heap_reloptions(RELKIND_TOASTVALUE, newOptions, true);