aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/path/pathkeys.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-07-28 22:27:02 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-07-28 22:27:02 +0000
commit5d27bf20b482ca7d1bd206da49bd6495d783bc71 (patch)
treec2c18f7f6569033a0ca48ac9f8596602e66b1e03 /src/backend/optimizer/path/pathkeys.c
parentef85f5fabc0626228f7f75cbc6d3a93626691ea4 (diff)
downloadpostgresql-5d27bf20b482ca7d1bd206da49bd6495d783bc71.tar.gz
postgresql-5d27bf20b482ca7d1bd206da49bd6495d783bc71.zip
Make use of new list primitives list_append_unique and list_concat_unique
where applicable.
Diffstat (limited to 'src/backend/optimizer/path/pathkeys.c')
-rw-r--r--src/backend/optimizer/path/pathkeys.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/backend/optimizer/path/pathkeys.c b/src/backend/optimizer/path/pathkeys.c
index 26ccfd9297e..3e4bcffe2e8 100644
--- a/src/backend/optimizer/path/pathkeys.c
+++ b/src/backend/optimizer/path/pathkeys.c
@@ -11,7 +11,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.70 2005/07/03 18:26:32 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/optimizer/path/pathkeys.c,v 1.71 2005/07/28 22:27:00 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -163,7 +163,7 @@ add_equijoined_keys(PlannerInfo *root, RestrictInfo *restrictinfo)
newset = list_make2(item1, item2);
/* Found a set to merge into our new set */
- newset = list_union(newset, curset);
+ newset = list_concat_unique(newset, curset);
/*
* Remove old set from equi_key_list.
@@ -714,8 +714,7 @@ canonicalize_pathkeys(PlannerInfo *root, List *pathkeys)
* canonicalized the keys, so that equivalent-key knowledge is
* used when deciding if an item is redundant.
*/
- if (!list_member_ptr(new_pathkeys, cpathkey))
- new_pathkeys = lappend(new_pathkeys, cpathkey);
+ new_pathkeys = list_append_unique_ptr(new_pathkeys, cpathkey);
}
return new_pathkeys;
}
@@ -1024,8 +1023,7 @@ build_index_pathkeys(PlannerInfo *root,
* Eliminate redundant ordering info; could happen if query is
* such that index keys are equijoined...
*/
- if (!list_member_ptr(retval, cpathkey))
- retval = lappend(retval, cpathkey);
+ retval = list_append_unique_ptr(retval, cpathkey);
indexkeys++;
ordering++;
@@ -1467,8 +1465,7 @@ make_pathkeys_for_mergeclauses(PlannerInfo *root,
* pathkey, a simple ptrMember test is sufficient to detect
* redundant keys.
*/
- if (!list_member_ptr(pathkeys, pathkey))
- pathkeys = lappend(pathkeys, pathkey);
+ pathkeys = list_append_unique_ptr(pathkeys, pathkey);
}
return pathkeys;