Re: [HACKERS] [PATCH] Assert that the correct locks are held when calling PageGetLSN()

2018-01-09 Thread Michael Paquier
On Tue, Jan 09, 2018 at 05:19:00PM -0300, Alvaro Herrera wrote: > Alvaro Herrera wrote: > So ... gistdoinsert can sometimes hold an exclusive lock, so we could do > this instead: > > diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c > index 0e499598a4..2ea19d2683 100644 >

Re: [HACKERS] [PATCH] Assert that the correct locks are held when calling PageGetLSN()

2018-01-09 Thread Alvaro Herrera
Alvaro Herrera wrote: > Pushed 0001. I marked the CF entry as "committed", BTW. I assume you're going to ship an updated version of 0002 to the next commitfest. If you have a new version during this commitfest, feel free to turn this entry back to "needs review". -- Álvaro Herrera

Re: [HACKERS] [PATCH] Assert that the correct locks are held when calling PageGetLSN()

2018-01-09 Thread Alvaro Herrera
Pushed 0001. I confirm the finding that 0002 makes TestForOldSnapshot blow up. I suppose the right fix is to pass the buffer, not just the page, rather than trying to reverse-engineer the buffer from the page. Regarding adding the proposed checks, which I think we should clearly do, my preferred

Re: [HACKERS] [PATCH] Assert that the correct locks are held when calling PageGetLSN()

2018-01-09 Thread Alvaro Herrera
So ... gistdoinsert can sometimes hold an exclusive lock, so we could do this instead: diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c index 0e499598a4..2ea19d2683 100644 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@ -566,7 +566,8 @@ gist