summaryrefslogtreecommitdiff
path: root/src/include/nodes/pg_list.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-02-08 20:20:55 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-02-08 20:20:55 +0000
commitc15a4c2aef3ca78a530778b735d43aa04d103ea6 (patch)
tree3106de03d9476a891c6e85cbf5dd477c8661f087 /src/include/nodes/pg_list.h
parent893678eda7de9db57beccfd2755836c1bea39112 (diff)
downloadpostgresql-c15a4c2aef3ca78a530778b735d43aa04d103ea6.tar.gz
Replace planner's representation of relation sets, per pghackers discussion.
Instead of Lists of integers, we now store variable-length bitmap sets. This should be faster as well as less error-prone.
Diffstat (limited to 'src/include/nodes/pg_list.h')
-rw-r--r--src/include/nodes/pg_list.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/include/nodes/pg_list.h b/src/include/nodes/pg_list.h
index d629cd49e6..b32dbf552a 100644
--- a/src/include/nodes/pg_list.h
+++ b/src/include/nodes/pg_list.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_list.h,v 1.33 2003/01/27 20:51:54 tgl Exp $
+ * $Id: pg_list.h,v 1.34 2003/02/08 20:20:55 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -114,7 +114,6 @@ typedef struct List
*/
extern int length(List *list);
extern void *llast(List *list);
-extern int llasti(List *list);
extern List *nconc(List *list1, List *list2);
extern List *lcons(void *datum, List *list);
extern List *lconsi(int datum, List *list);
@@ -136,20 +135,16 @@ extern void *nth(int n, List *l);
extern int nthi(int n, List *l);
extern void set_nth(List *l, int n, void *elem);
-extern List *set_difference(List *list1, List *list2);
-extern List *set_differencei(List *list1, List *list2);
-extern List *set_ptrDifference(List *list1, List *list2);
-extern List *lreverse(List *l);
extern List *set_union(List *list1, List *list2);
extern List *set_unioni(List *list1, List *list2);
extern List *set_ptrUnion(List *list1, List *list2);
+extern List *set_intersect(List *l1, List *l2);
extern List *set_intersecti(List *list1, List *list2);
+extern List *set_difference(List *list1, List *list2);
+extern List *set_differencei(List *list1, List *list2);
+extern List *set_ptrDifference(List *list1, List *list2);
extern bool equali(List *list1, List *list2);
-extern bool sameseti(List *list1, List *list2);
-extern bool overlap_setsi(List *list1, List *list2);
-#define nonoverlap_setsi(list1, list2) (!overlap_setsi(list1, list2))
-extern bool is_subseti(List *list1, List *list2);
extern void freeList(List *list);