Minor mop-up for List improvements.
authorTom Lane <[email protected]>
Mon, 28 Sep 2020 02:30:44 +0000 (22:30 -0400)
committerTom Lane <[email protected]>
Mon, 28 Sep 2020 02:30:52 +0000 (22:30 -0400)
Fix a few places that were using written-out versions of the
pg_list.h macros that commit cc99baa43 just improved, making them
also use those macros so as to gain whatever performance improvement
is to be had.

Discussion: https://postgr.es/m/CAApHDvpo1zj9KhEpU2cCRZfSM3Q6XGdhzuAS2v79PH7WJBkYVA@mail.gmail.com

src/backend/catalog/objectaddress.c
src/backend/commands/sequence.c
src/backend/nodes/list.c

index 6dfe1be2cc0086330db2cde36522e4b338512182..4815f6ca7e3a639272111c8e271caba00ae111ae 100644 (file)
@@ -1506,7 +1506,7 @@ get_object_address_attribute(ObjectType objtype, List *object,
        ereport(ERROR,
                (errcode(ERRCODE_SYNTAX_ERROR),
                 errmsg("column name must be qualified")));
-   attname = strVal(lfirst(list_tail(object)));
+   attname = strVal(llast(object));
    relname = list_truncate(list_copy(object), list_length(object) - 1);
    /* XXX no missing_ok support here */
    relation = relation_openrv(makeRangeVarFromNameList(relname), lockmode);
index 6aab73bfd447ba1d2f59769624aed9111e1c2b2f..632b34af61005488f58afd0782f7a2027767695a 100644 (file)
@@ -1668,7 +1668,7 @@ process_owned_by(Relation seqrel, List *owned_by, bool for_identity)
 
        /* Separate relname and attr name */
        relname = list_truncate(list_copy(owned_by), nnames - 1);
-       attrname = strVal(lfirst(list_tail(owned_by)));
+       attrname = strVal(llast(owned_by));
 
        /* Open and lock rel to ensure it won't go away meanwhile */
        rel = makeRangeVarFromNameList(relname);
index 80fa8c84e49ae83ca936fdcd1a01fc9188c7d9fa..efa44342c4b8a812fb995a81f9d326335980d731 100644 (file)
@@ -327,7 +327,7 @@ lappend(List *list, void *datum)
    else
        new_tail_cell(list);
 
-   lfirst(list_tail(list)) = datum;
+   llast(list) = datum;
    check_list_invariants(list);
    return list;
 }
@@ -345,7 +345,7 @@ lappend_int(List *list, int datum)
    else
        new_tail_cell(list);
 
-   lfirst_int(list_tail(list)) = datum;
+   llast_int(list) = datum;
    check_list_invariants(list);
    return list;
 }
@@ -363,7 +363,7 @@ lappend_oid(List *list, Oid datum)
    else
        new_tail_cell(list);
 
-   lfirst_oid(list_tail(list)) = datum;
+   llast_oid(list) = datum;
    check_list_invariants(list);
    return list;
 }
@@ -459,7 +459,7 @@ lcons(void *datum, List *list)
    else
        new_head_cell(list);
 
-   lfirst(list_head(list)) = datum;
+   linitial(list) = datum;
    check_list_invariants(list);
    return list;
 }
@@ -477,7 +477,7 @@ lcons_int(int datum, List *list)
    else
        new_head_cell(list);
 
-   lfirst_int(list_head(list)) = datum;
+   linitial_int(list) = datum;
    check_list_invariants(list);
    return list;
 }
@@ -495,7 +495,7 @@ lcons_oid(Oid datum, List *list)
    else
        new_head_cell(list);
 
-   lfirst_oid(list_head(list)) = datum;
+   linitial_oid(list) = datum;
    check_list_invariants(list);
    return list;
 }