diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-01-10 21:08:36 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-01-10 21:08:36 +0000 |
commit | 43a57cf3657faba593ba72c3d67f3397ae84c60d (patch) | |
tree | e50237232552428843286cc0e39d85e560629f98 /src/include/nodes/tidbitmap.h | |
parent | 3b34e98242446bcc2827f081e72342cc7af57574 (diff) | |
download | postgresql-43a57cf3657faba593ba72c3d67f3397ae84c60d.tar.gz postgresql-43a57cf3657faba593ba72c3d67f3397ae84c60d.zip |
Revise the TIDBitmap API to support multiple concurrent iterations over a
bitmap. This is extracted from Greg Stark's posix_fadvise patch; it seems
worth committing separately, since it's potentially useful independently of
posix_fadvise.
Diffstat (limited to 'src/include/nodes/tidbitmap.h')
-rw-r--r-- | src/include/nodes/tidbitmap.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/include/nodes/tidbitmap.h b/src/include/nodes/tidbitmap.h index e6ce0db892d..93658543e42 100644 --- a/src/include/nodes/tidbitmap.h +++ b/src/include/nodes/tidbitmap.h @@ -15,7 +15,7 @@ * * Copyright (c) 2003-2009, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/include/nodes/tidbitmap.h,v 1.8 2009/01/01 17:24:00 momjian Exp $ + * $PostgreSQL: pgsql/src/include/nodes/tidbitmap.h,v 1.9 2009/01/10 21:08:36 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -31,6 +31,9 @@ */ typedef struct TIDBitmap TIDBitmap; +/* Likewise, TBMIterator is private */ +typedef struct TBMIterator TBMIterator; + /* Result structure for tbm_iterate */ typedef struct { @@ -55,7 +58,8 @@ extern void tbm_intersect(TIDBitmap *a, const TIDBitmap *b); extern bool tbm_is_empty(const TIDBitmap *tbm); -extern void tbm_begin_iterate(TIDBitmap *tbm); -extern TBMIterateResult *tbm_iterate(TIDBitmap *tbm); +extern TBMIterator *tbm_begin_iterate(TIDBitmap *tbm); +extern TBMIterateResult *tbm_iterate(TBMIterator *iterator); +extern void tbm_end_iterate(TBMIterator *iterator); #endif /* TIDBITMAP_H */ |