On Thu, Jan 4, 2018 at 8:03 AM, Haribabu Kommi <kommi.harib...@gmail.com>
wrote:

> On Thu, Jan 4, 2018 at 10:00 AM, Alexander Korotkov <
> a.korot...@postgrespro.ru> wrote:
>
>> On Wed, Jan 3, 2018 at 10:08 AM, Haribabu Kommi <kommi.harib...@gmail.com
>> > wrote:
>>
>>> Apart from rebase, Added storage shared memory API, currently this API
>>> is used
>>>
>> only by the syncscan. And also all the exposed functions of syncscan
>>> usage is
>>> removed outside the heap.
>>>
>>
>> This makes me uneasy.  You introduce two new hooks for size estimation
>> and initialization
>> of shared memory needed by storage am's.  But if storage am is
>> implemented in shared library,
>> then this shared library can use our generic method for allocation of
>> shared memory
>> (including memory needed by storage am).  If storage am is builtin, then
>> hooks are also not
>> needed, because we know all our builtin storage am's in advance.  For me,
>> it would be
>> nice to encapsulate heap am requirements in shared memory into functions
>> like
>> HeapAmShmemSize() and HeapAmShmemInit(), and don't explicitly show
>> outside that
>> this memory is needed for synchronized scan.  But separate hooks don't
>> look justified for me.
>>
>
> Yes, I agree that for the builtin storage's there is no need of hooks. But
> in future,
> if we want to support multiple storage's in an instance, we may need hooks
> for shared memory
> registration. I am fine to change it.
>

Yes, but we already have hooks for shared memory registration in shared
modules.  I don't see the point for another hooks for the same purpose.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Reply via email to