Re: Patches for TODO item: Avoid truncating empty OCDR temp tables on COMMIT
От | Tom Lane |
---|---|
Тема | Re: Patches for TODO item: Avoid truncating empty OCDR temp tables on COMMIT |
Дата | |
Msg-id | 13620.1358220825@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Patches for TODO item: Avoid truncating empty OCDR temp tables on COMMIT (Gurjeet Singh <singh.gurjeet@gmail.com>) |
Ответы |
Re: Patches for TODO item: Avoid truncating empty OCDR temp
tables on COMMIT
|
Список | pgsql-hackers |
Gurjeet Singh <singh.gurjeet@gmail.com> writes: > Please find attached two patches, implementing two different approaches to > fix the issue of COMMIT truncating empty TEMP tables that have the ON > COMMIT DELETE ROWS attribute. > v2.patch: This approach introduces a boolean 'rd_rows_inserted' in > RelationData struct, and sets this struct to true for every TEMP table in > which a row is inserted. During commit, we avoid truncating those OCDR temp > tables that haven't been inserted into in this transaction. I think this is unacceptable on its face. It essentially supposes that relcache entries are reliable storage. They are not. There are some places where we rely on relcache entries preserving state information for optimization purposes --- but in this case, discarding a relcache entry would result in visibly incorrect behavior, not just some performance loss. regards, tom lane
В списке pgsql-hackers по дате отправления: