git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0baf82f)
Minor mop-up for List improvements.
2020年9月28日 02:30:44 +0000 (22:30 -0400)
2020年9月28日 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


diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index 6dfe1be2cc0086330db2cde36522e4b338512182..4815f6ca7e3a639272111c8e271caba00ae111ae 100644 (file)
--- a/src/backend/catalog/objectaddress.c
+++ b/src/backend/catalog/objectaddress.c
@@ -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);
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index 6aab73bfd447ba1d2f59769624aed9111e1c2b2f..632b34af61005488f58afd0782f7a2027767695a 100644 (file)
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -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);
diff --git a/src/backend/nodes/list.c b/src/backend/nodes/list.c
index 80fa8c84e49ae83ca936fdcd1a01fc9188c7d9fa..efa44342c4b8a812fb995a81f9d326335980d731 100644 (file)
--- a/src/backend/nodes/list.c
+++ b/src/backend/nodes/list.c
@@ -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;
}
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /