]> granicus.if.org Git - postgresql/commitdiff
more cleanup
authorBruce Momjian <bruce@momjian.us>
Mon, 22 Feb 1999 06:08:48 +0000 (06:08 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 22 Feb 1999 06:08:48 +0000 (06:08 +0000)
src/backend/nodes/list.c
src/backend/optimizer/path/joinrels.c

index 4ac40a1c1da82f8f4209ba53b6dc887cb4ee9c7d..6ab1c1910b766098fa86f23eaf5a1180084d9b7a 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/nodes/list.c,v 1.18 1999/02/22 05:26:18 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/nodes/list.c,v 1.19 1999/02/22 06:08:47 momjian Exp $
  *
  * NOTES
  *       XXX a few of the following functions are duplicated to handle
 #include "utils/elog.h"
 #include "utils/palloc.h"
 
+/*
+ *     makeList
+ *
+ *     Take varargs, terminated by -1, and make a List
+ */
 List *
 makeList(void *elem,...)
 {
@@ -57,6 +62,11 @@ makeList(void *elem,...)
        return retval;
 }
 
+/*
+ *     lcons
+ *
+ *     Add obj to the front of list, or make a new list if 'list' is NIL
+ */
 List *
 lcons(void *obj, List *list)
 {
@@ -67,6 +77,11 @@ lcons(void *obj, List *list)
        return l;
 }
 
+/*
+ *     lconsi
+ *
+ *     Same as lcons, but for integer data
+ */
 List *
 lconsi(int datum, List *list)
 {
@@ -77,18 +92,35 @@ lconsi(int datum, List *list)
        return l;
 }
 
+/*
+ *     lappend
+ *
+ *     Add obj to the end of list, or make a new list if 'list' is NIL
+ *     
+ * MORE EXPENSIVE THAN lcons
+ */
 List *
 lappend(List *list, void *obj)
 {
        return nconc(list, lcons(obj, NIL));
 }
 
+/*
+ *     lappendi
+ *
+ *     Same as lappend, but for integers
+ */
 List *
 lappendi(List *list, int datum)
 {
        return nconc(list, lconsi(datum, NIL));
 }
 
+/*
+ *     nconc
+ *
+ *     Concat l2 on to the end of l1
+ */
 List *
 nconc(List *l1, List *l2)
 {
@@ -131,6 +163,9 @@ nreverse(List *list)
 }
 #endif
 
+/*
+ *     makeInteger
+ */
 Value *
 makeInteger(long i)
 {
@@ -141,6 +176,9 @@ makeInteger(long i)
        return v;
 }
 
+/*
+ *     makeFloat
+ */
 Value *
 makeFloat(double d)
 {
@@ -151,6 +189,9 @@ makeFloat(double d)
        return v;
 }
 
+/*
+ *     makeString
+ */
 Value *
 makeString(char *str)
 {
@@ -161,7 +202,11 @@ makeString(char *str)
        return v;
 }
 
-/* n starts with 0 */
+/*
+ *     nth
+ *
+ *     Get the n'th element of the list.  First element is 0th.
+ */
 void *
 nth(int n, List *l)
 {
@@ -174,6 +219,11 @@ nth(int n, List *l)
        return lfirst(l);
 }
 
+/*
+ *     nthi
+ *
+ *     Same as nthi, but for integers
+ */
 int
 nthi(int n, List *l)
 {
@@ -200,6 +250,11 @@ set_nth(List *l, int n, void *elem)
        return;
 }
 
+/*
+ *     length
+ *
+ *     Get the length of l
+ */
 int
 length(List *l)
 {
@@ -213,6 +268,11 @@ length(List *l)
        return i;
 }
 
+/*
+ *     freeList
+ *
+ *     Free the List nodes of a list
+ */
 void
 freeList(List *list)
 {
@@ -415,6 +475,9 @@ lremove(void *elem, List *list)
        return result;
 }
 
+/*
+ *     LispRemove
+ */
 List *
 LispRemove(void *elem, List *list)
 {
@@ -466,6 +529,11 @@ intLispRemove(int elem, List *list)
 
 #endif
 
+/*
+ *     set_difference
+ *
+ *     Return l1 without the elements in l2.
+ */
 List *
 set_difference(List *l1, List *l2)
 {
@@ -483,6 +551,11 @@ set_difference(List *l1, List *l2)
        return result;
 }
 
+/*
+ *     set_differencei
+ *
+ *     Same as set_difference, but for integers
+ */
 List *
 set_differencei(List *l1, List *l2)
 {
index 208aacb20561b1af617a03af0cfb68cf9dac76ba..a4e08ca649ffe9ea39573ec6bc478acc51201a02 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.31 1999/02/22 05:26:20 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.32 1999/02/22 06:08:48 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -61,7 +61,7 @@ make_rels_by_joins(Query *root, List *old_rels)
                         */
                        joined_rels = make_rels_by_clauseless_joins(old_rel,
                                                                                                                root->base_rel_list);
-                       joined_rels = append(joined_rels,
+                       joined_rels = nconc(joined_rels,
                                                                make_rels_by_clauseless_joins(old_rel,
                                                                                                                           old_rels));
                }
@@ -236,10 +236,10 @@ make_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo)
                joinrel->restrictinfo = joininfo->jinfo_restrictinfo;
 
        joinrel_joininfo_list = new_joininfo_list(
-                                                                               append(outer_rel->joininfo,
-                                                                                          inner_rel->joininfo),
+                                                                               nconc(copyObject(outer_rel->joininfo),
+                                                                                         copyObject(inner_rel->joininfo)),
                                                                                nconc(listCopy(outer_rel->relids),
-                                                                                          listCopy(inner_rel->relids)));
+                                                                                         listCopy(inner_rel->relids)));
 
        joinrel->joininfo = joinrel_joininfo_list;