From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Andres Freund <andres(at)2ndquadrant(dot)com>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Simon Riggs <simon(at)2ndquadrant(dot)com> |
Subject: | Re: Support for REINDEX CONCURRENTLY |
Date: | 2013-10-02 04:16:06 |
Message-ID: | CAB7nPqTGox_5Njv9h8mLKXLeTOvtcsQvpK=PaPOQv3a1R0KnSg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Oct 2, 2013 at 6:06 AM, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
> I have pushed the first half of the first patch for now, revising it
> somewhat: I renamed the functions and put them in lmgr.c instead of
> procarray.c.
Great thanks.
> I think the second half of that first patch (WaitForOldSnapshots) should
> be in index.c, not procarray.c either. I didn't look at the actual code
> in there.
That's indexcmds.c in this case, not index.c.
> I already shipped Michael fixed versions of the remaining patches
> adjusting them to the changed API. I expect him to post them here.
And here they are attached, with the following changes:
- in 0002, WaitForOldSnapshots is renamed to WaitForOlderSnapshots.
This sounds better...
- in 0003, it looks that there was an error for the obtention of the
parent table Oid when calling index_concurrent_heap. I believe that
the lock that needs to be taken for RangeVarGetRelid is not NoLock but
ShareUpdateExclusiveLock. So changed it this way. I also added some
more comments at the top of each function for clarity.
- in 0004, patch is updated to reflect the API changes done in 0002 and 0003.
Each patch applied with its parents compiles, has no warnings AFAIK
and passes regression/isolation tests. Working on 0004 by the end of
the CF seems out of the way IMO, so I'd suggest focusing on 0002 and
0003 now, and I can put some time to finalize them for this CF. I
think that we should perhaps split 0003 into 2 pieces, with one patch
for the introduction of index_concurrent_build, and another for
index_concurrent_set_dead. Comments are welcome about that though, and
if people agree on that I'll do it once 0002 is finalized.
Regards,
--
Michael
Attachment | Content-Type | Size |
---|---|---|
20131002_0002_WaitForOlderSnapshots.patch | application/octet-stream | 6.6 KB |
20131002_0003_reindex_refactoring.patch | application/octet-stream | 7.8 KB |
20131002_0004_reindex_conc_core.patch | application/octet-stream | 64.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2013-10-02 08:03:14 | Re: Documentation for SET var_name FROM CURRENT |
Previous Message | Peter Eisentraut | 2013-10-02 02:29:07 | Re: [PATCH] Add use of asprintf() |