Re: Serializable Snapshot Isolation
От | Heikki Linnakangas |
---|---|
Тема | Re: Serializable Snapshot Isolation |
Дата | |
Msg-id | 4C930697.9090004@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Serializable Snapshot Isolation ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>) |
Список | pgsql-hackers |
On 17/09/10 01:35, Kevin Grittner wrote: > Heikki Linnakangas<heikki.linnakangas@enterprisedb.com> wrote: > >> The functions are well commented, but an overview at the top of >> the file of all the hash tables and other data structures would be >> nice. What is stored in each, when are they updated, etc. > > I moved all the structures from predicate.h and predicate.c to a new > predicate_internal.h file and added comments. You can view its > current contents here: > > http://git.postgresql.org/gitweb?p=users/kgrittn/postgres.git;a=blob;f=src/include/storage/predicate_internal.h;h=7cdb5af6eebdc148dd5ed5030847ca50d7df4fe8;hb=7f05b21bc4d846ad22ae8c160b1bf8888495e254 > > Does this work for you? Yes, thank you, that helps a lot. So, the purpose of SerializableXidHash is to provide quick access to the SERIALIZABLEXACT struct of a top-level transaction, when you know its transaction id or any of its subtransaction ids. To implement the "or any of its subtransaction ids" part, you need to have a SERIALIZABLEXID struct for each subtransaction in shared memory. That sounds like it can eat through your shared memory very quickly if you have a lot of subtransactions. Why not use SubTransGetTopmostTransaction() ? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: