dshash: Add sequential scan support.
Andres Freund <andres@anarazel.de>
dshash: Add sequential scan support. Add ability to scan all entries sequentially to dshash. The interface is similar but a bit different both from that of dynahash and simple dshash search functions. The most significant differences is that dshash's interfac always needs a call to dshash_seq_term when scan ends. Another is locking. Dshash holds partition lock when returning an entry, dshash_seq_next() also holds lock when returning an entry but callers shouldn't release it, since the lock is essential to continue a scan. The seqscan interface allows entry deletion while a scan is in progress using dshash_delete_current(). Reviewed-By: Andres Freund <andres@anarazel.de> Author: Kyotaro Horiguchi <horikyoga.ntt@gmail.com>
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/lib/dshash.c | modified | +162 −1 |
| src/include/lib/dshash.h | modified | +23 −0 |
| src/tools/pgindent/typedefs.list | modified | +1 −0 |