| From: | Jeff Davis <pgsql(at)j-davis(dot)com> | 
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Removing PD_ALL_VISIBLE | 
| Date: | 2012-11-22 02:24:57 | 
| Message-ID: | 1353551097.11440.128.camel@sussancws0025 | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Follow up to discussion:
http://archives.postgresql.org/pgsql-hackers/2012-11/msg00817.php
I worked out a patch that replaces PD_ALL_VISIBLE with calls to
visibilitymap_test. It rips out a lot of complexity, with a net drop of
about 300 lines (not a lot, but some of that code is pretty complex).
The patch is quite rough, and I haven't yet added the code to keep the
VM buffer pins around longer, but I still don't see any major problems.
I'm fairly certain that scans will not be adversely affected, and I
think that inserts/updates/deletes should be fine as well.
The main worry I have with inserts/updates/deletes is that there will be
less spatial locality for allocating new buffers or for modifying
existing buffers. So keeping a pinned VM buffer might not help as much,
because it might need to pin a different one, anyway.
Adding to January commitfest, as it's past 11/15.
Regards,
	Jeff Davis
| Attachment | Content-Type | Size | 
|---|---|---|
| rm-pd-all-visible-20121121.patch.gz | application/x-gzip | 9.5 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Abhijit Menon-Sen | 2012-11-22 02:39:51 | Re: [PATCH] binary heap implementation | 
| Previous Message | Andres Freund | 2012-11-22 00:48:51 | Re: logical changeset generation v3 |