Re: PushActiveSnapshot(GetTransactionSnapshot())

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: PushActiveSnapshot(GetTransactionSnapshot())
Дата
Msg-id CA+U5nMKtnyxh5f_zkxtMiFQKKYFpuE+RWypse8--LBdq4DjBbA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PushActiveSnapshot(GetTransactionSnapshot())  (Alvaro Herrera <alvherre@commandprompt.com>)
Ответы Re: PushActiveSnapshot(GetTransactionSnapshot())  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-hackers
On Mon, Aug 22, 2011 at 7:07 PM, Alvaro Herrera
<alvherre@commandprompt.com> wrote:
> Excerpts from Simon Riggs's message of dom ago 21 16:23:39 -0300 2011:
>> In common cases of snapshot use we run GetSnapshotData() into a
>> statically allocated snapshot, then immediately copy the static struct
>> into a dynamically allocated copy.
>>
>> The static allocation was designed to remove the overhead of dynamic
>> allocation, but then we do it anyway.
>>
>> The snapmgr code does this explicitly, but the reason isn't
>> documented, it just says we must do this.
>
> IIRC the active snapshot is scribbled onto by some operations, which is
> why the copy is mandatory.  Maybe there's some way to optimize things so
> that the copy is done only when necessary.  IIRC the copying of the
> ActiveSnapshot was only introduced because some subtle bugs were
> detected in the code without copy.  When I introduced the mandatory
> copy, I don't remember thinking about the statically allocated struct.

"Some operations", "subtle bugs".

Do you have any further information on those?

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: VIP: plpgsql - early embedded sql plan preparation
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: PushActiveSnapshot(GetTransactionSnapshot())