Moving snapshot code around

Поиск
Список
Период
Сортировка
Искать
От
Alvaro Herrera
Тема
Moving snapshot code around
Дата
Msg-id
20080318191940.GB27458@alvh.no-ip.org
Список
Дерево обсуждения
Moving snapshot code around Alvaro Herrera <alvherre@commandprompt.com>
Re: Moving snapshot code around Simon Riggs <simon@2ndquadrant.com>
Re: Moving snapshot code around Neil Conway <neilc@samurai.com>
Re: Moving snapshot code around Tom Lane <tgl@sss.pgh.pa.us>
Re: Moving snapshot code around Alvaro Herrera <alvherre@commandprompt.com>
Re: Moving snapshot code around Tom Lane <tgl@sss.pgh.pa.us>
Re: Moving snapshot code around Alvaro Herrera <alvherre@commandprompt.com>
Re: Moving snapshot code around Tom Lane <tgl@sss.pgh.pa.us>
Re: Moving snapshot code around Alvaro Herrera <alvherre@commandprompt.com>
Re: Moving snapshot code around Alvaro Herrera <alvherre@commandprompt.com>
Hi,

I'm playing with the snapshot code to create a new module to stash used
snapshots and refcount them.

It occured to me that a first easy step is to separate the relevant code
from tqual.c into a new file, snapshot.c, and split tqual.h in two
creating snapshot.h.  Basically the internals of snapshots are now in
tqual.c/h, and the external interface is snapshot.c/h.

The nice thing about it is that most users of snapshots only need the
external interface, so most details can remain behind tqual.h which is
now a seldom-included header.  (The bad news is that the widely used
heapam.h still has to include it, because it needs the HTSU_Result
enum, so tqual.h is still indirectly included in a lot of places.
I think I can easily move the enum definition to snapshot.h but it seems
weird.)

So here's a patch to do this.  It just moves code around -- there's no
extra functionality here.

The other approach, of course, is to just keep all the code in tqual.c
and not create a separate module at all.  Opinions?  I prefer to keep
them separate, but I'm not wedded to it if there's any strong reason not
to do it.  Also, the line is currently blurred because some users of
snapshots mess with the internals directly (setting snapshot->curcid),
but we could clean that up and make it so that those become external
interface users too.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
В списке pgsql-patches по дате отправления
От: Bruce Momjian
Дата:
Сообщение: Re: UPDATE using sub selects
От: Tom Lane
Дата:
FAQ