RE: [HACKERS] couldn't rollback cache ?
От | Hiroshi Inoue |
---|---|
Тема | RE: [HACKERS] couldn't rollback cache ? |
Дата | |
Msg-id | 000f01bf0671$8ece0240$2801007e@cadzone.tpf.co.jp обсуждение исходный текст |
Список | pgsql-hackers |
> -----Original Message----- > From: Hiroshi Inoue [mailto:Inoue@tpf.co.jp] > Sent: Wednesday, September 22, 1999 7:12 PM > To: Tom Lane > Cc: pgsql-hackers > Subject: RE: [HACKERS] couldn't rollback cache ? > I thought about the way which neither calls HeapTupleSatis- fies() in SearchSysCache() nor invalidates syscache entry by OID. In this case,we would need the information as follows. 1. To_be_rollbacked info for the backend A list of being inserted system tuples. This list is held till end of transaction. In case of commit,this list is ignored and discarded. In case of rollback,tuples inserted after the specified savepoint are rollbacked and discarded. Syscache and relcache entries for the backend which correspond tothe tuples are invalidated. 2, To_be_invalidated info for the backend A list of being deleted system tuples. This list is discarded at every command. In case of rollback this list is ignored. Otherwise,syscache and relcache entries for the backend which correspondto the tuples in this list are invalidated before execution of each command. 3. To_be_invalidated info for other backends A list of being deleted system tuples. This list is held till end of transaction. In case of commit,this list is sent to other backends and discarded. In case of rollback,tuples deletedafter the specified savepoint are discarded. 4. Immediate registrarion of to_be_invalidated relcache for all backends Currently SI messages aren't sent in case of elog(ERROR/FATAL). Seems the following commands have to register relcache invali- dation for all backends just when wecall smgrunlink()/smgrtruncate(). DROP TABLE/INDEX TRUNCATE TABLE(implemented by Mike Mascari) VACUUM Comments ? Hiroshi Inoue Inoue@tpf.co.jp
В списке pgsql-hackers по дате отправления: