Thread: proposal: tsearch dictionary initialization hook
Hello, I propose a new hook type - that helps with controlling a life cycle of some tsearch dictionaries. This hook has minimal impact on performance - it's called once per session for one tsearch configuration. Regards Pavel Stehule
Attachment
Hm, what is aim of this hook? It looks like a wrapper of dictionary init method. > I propose a new hook type - that helps with controlling a life cycle > of some tsearch dictionaries. This hook has minimal impact on > performance - it's called once per session for one tsearch > configuration. -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/
Hello 2010/9/7 Teodor Sigaev <teodor@sigaev.ru>: > Hm, what is aim of this hook? It looks like a wrapper of dictionary init > method. If I use a mmap for shared dictionary, then I have to prealloc and maybe preread dictionary - it can be done in external module. But I have to join preloaded dictionary to requested dictionary. This hook allows this relation - and it's general - I don't need any special support in ispell dictionary. Regards Pavel > >> I propose a new hook type - that helps with controlling a life cycle >> of some tsearch dictionaries. This hook has minimal impact on >> performance - it's called once per session for one tsearch >> configuration. > > -- > Teodor Sigaev E-mail: teodor@sigaev.ru > WWW: http://www.sigaev.ru/ >
On Tue, Sep 7, 2010 at 12:55 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote: > 2010/9/7 Teodor Sigaev <teodor@sigaev.ru>: >> Hm, what is aim of this hook? It looks like a wrapper of dictionary init >> method. > > If I use a mmap for shared dictionary, then I have to prealloc and > maybe preread dictionary - it can be done in external module. But I > have to join preloaded dictionary to requested dictionary. This hook > allows this relation - and it's general - I don't need any special > support in ispell dictionary. Review: 1. Is this really necessary? It seems that you're inserting a hook here when you could just as well change tmplinit to point to whatever function you want to call, which wouldn't require a code change. 2. Our standard criteria for the inclusion of a hook is some sample code that demonstrates how it can be usefully used. I think you need to provide that before we can consider this further. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company
Hello 2010/9/28 Robert Haas <robertmhaas@gmail.com>: > On Tue, Sep 7, 2010 at 12:55 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote: >> 2010/9/7 Teodor Sigaev <teodor@sigaev.ru>: >>> Hm, what is aim of this hook? It looks like a wrapper of dictionary init >>> method. >> >> If I use a mmap for shared dictionary, then I have to prealloc and >> maybe preread dictionary - it can be done in external module. But I >> have to join preloaded dictionary to requested dictionary. This hook >> allows this relation - and it's general - I don't need any special >> support in ispell dictionary. > > Review: > > 1. Is this really necessary? It seems that you're inserting a hook > here when you could just as well change tmplinit to point to whatever > function you want to call, which wouldn't require a code change. The a creating of new hacked template is second option - I didn't find it. It good for hacking and probably I'll use it because I have not a time to work on this problem. On second hand - it is less on more little bit dark hack - you have to modify system tables. Using a hook is more transparent - you can or not just load a module, that uses a hook. > > 2. Our standard criteria for the inclusion of a hook is some sample > code that demonstrates how it can be usefully used. I think you need > to provide that before we can consider this further. > yes - I understand, but I have not time to work on this subject now, so It can be moved to rejected patches queue. Some my ideas depends on proposed (different people) shared memory control, but I don't see any move on this, so there isn't reason why implement a hook or some modules uses this hook now. Regards Pavel Stehule > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise Postgres Company >