diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-02-08 20:20:55 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-02-08 20:20:55 +0000 |
| commit | c15a4c2aef3ca78a530778b735d43aa04d103ea6 (patch) | |
| tree | 3106de03d9476a891c6e85cbf5dd477c8661f087 /src/include/nodes/pg_list.h | |
| parent | 893678eda7de9db57beccfd2755836c1bea39112 (diff) | |
| download | postgresql-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.h | 15 |
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); |
