| From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
|---|---|
| To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
| Cc: | Noah Misch <noah(at)leadboat(dot)com>, Marti Raudsepp <marti(at)juffo(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: RFC: Making TRUNCATE more "MVCC-safe" |
| Date: | 2012-03-05 20:53:54 |
| Message-ID: | CA+U5nM+1nZaJZ7x86-woVvtbn2JGqYqGtFC=-fpgtHk3V715iw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Mar 5, 2012 at 8:46 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> In any event, I think a pg_class.relvalidxmin is the right starting point.
>> One might imagine a family of relvalidxmin, convalidxmin, indcheckxmin
>> (already exists), inhvalidxmin, and attvalidxmin. relvalidxmin is like the
>> AccessExclusiveLock of that family; it necessarily blocks everything that
>> might impugn the others. The value in extending this to more catalogs is the
>> ability to narrow the impact of failing the check. A failed indcheckxmin
>> comparison merely excludes plans involving the index. A failed inhvalidxmin
>> check might just skip recursion to the table in question. Those are further
>> refinements, much like using weaker heavyweight lock types.
>
> Yes, good parallel.
Did you guys get my comment about not being able to use an xmin value,
we have to use an xid value and to a an XidInMVCCSnapshot() test? Just
checking whether you agree/disagree.
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Artur Litwinowicz | 2012-03-05 20:59:58 | Re: elegant and effective way for running jobs inside a database |
| Previous Message | Robert Haas | 2012-03-05 20:46:16 | Re: RFC: Making TRUNCATE more "MVCC-safe" |