]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
ATExecSetRelOptions: Reduce scope of 'isnull' variable
authorÁlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 13 Mar 2025 17:15:59 +0000 (18:15 +0100)
committerÁlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 13 Mar 2025 17:15:59 +0000 (18:15 +0100)
Author: Nikolay Shaplov <dhyan@nataraj.su>
Reviewed-by: Timur Magomedov <t.magomedov@postgrespro.ru>
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);