Re: BRIN indexes - TRAP: BadArgument

Поиск
Список
Период
Сортировка
От David Rowley
Тема Re: BRIN indexes - TRAP: BadArgument
Дата
Msg-id CAApHDvqnWasC_+Y_Gswvdd8=kQVTajS45C=M9aZmBhqi9ULXoQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BRIN indexes - TRAP: BadArgument  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Ответы Re: BRIN indexes - TRAP: BadArgument  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Sat, Nov 8, 2014 at 8:56 AM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:

I just pushed this, after some more minor tweaks.  Thanks, and please do
continue testing!


I'm having problems getting this to compile on MSVC. Attached is a patch which fixes the problem.

There also seems to be a bit of a problem with:

brin.c(250): warning C4700: uninitialized local variable 'newsz' used

/*
* Before releasing the lock, check if we can attempt a same-page
* update.  Another process could insert a tuple concurrently in
* the same page though, so downstream we must be prepared to cope
* if this turns out to not be possible after all.
*/
samepage = brin_can_do_samepage_update(buf, origsz, newsz);

LockBuffer(buf, BUFFER_LOCK_UNLOCK);

newtup = brin_form_tuple(bdesc, heapBlk, dtup, &newsz);

Here newsz is passed to brin_can_do_samepage_update before being initialised. I'm not quite sure of the solution here as I've not spent much time looking at it, but perhaps brin_form_tuple needs to happen before brin_can_do_samepage_update, then the lock should be released? I didn't change this in the patch as I'm not sure if that's the proper fix or not.

The attached should fix the build problem that anole is having: http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=anole&dt=2014-11-07%2022%3A04%3A03

Regards

David Rowley

 
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: [v9.5] Custom Plan API
Следующее
От: Kouhei Kaigai
Дата:
Сообщение: Re: [v9.5] Custom Plan API