Re: [HACKERS] Patch: Write Amplification Reduction Method (WARM)
От | Alvaro Herrera |
---|---|
Тема | Re: [HACKERS] Patch: Write Amplification Reduction Method (WARM) |
Дата | |
Msg-id | 20170126032648.i2obutrun6k5bkle@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: [HACKERS] Patch: Write Amplification Reduction Method (WARM) (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Список | pgsql-hackers |
Alvaro Herrera wrote: > I wonder if heap_hot_search_buffer() and heap_hot_search() should return > a tri-valued enum instead of boolean; that idea looks reasonable in > theory but callers have to do more work afterwards, so maybe not. > > I think heap_hot_search() sometimes leaving the buffer pinned is > confusing. Really, the whole idea of having heap_hot_search have a > buffer output argument is an important API change that should be better > thought. Maybe it'd be better to return the buffer pinned always, and > the caller is always in charge of unpinning if not InvalidBuffer. Or > perhaps we need a completely new function, given how different it is to > the original? If you tried to document in the comment above > heap_hot_search how it works, you'd find that it's difficult to > describe, which'd be an indicator that it's not well considered. Even before your patch, heap_hot_search claims to have the same API as heap_hot_search_buffer "except that caller does not provide the buffer." But this is a lie and has been since 9.2 (more precisely, since commit 4da99ea4231e). I think WARM makes things even worse and we should fix that. Not yet sure which direction to fix it ... -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: