Re: [PROPOSAL] Shared Ispell dictionaries

From: Arthur Zakirov <a(dot)zakirov(at)postgrespro(dot)ru>
To: Ildus Kurbangaliev <i(dot)kurbangaliev(at)postgrespro(dot)ru>
Cc: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PROPOSAL] Shared Ispell dictionaries
Date: 2018-01-25 16:51:58
Message-ID: 20180125165156.GA21129@zakirov.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


Thank you for your review! Good catches.

On Thu, Jan 25, 2018 at 03:26:46PM +0300, Ildus Kurbangaliev wrote:
> In 0001 there are few lines where is only indentation has changed.


> 0002:
> - TsearchShmemSize - calculating size using hash_estimate_size seems
> redundant since you use DSA hash now.

Fixed. True, there is no need in hash_estimate_size anymore.

> - ts_dict_shmem_release - LWLockAcquire in the beginning makes no
> sense, since dict_table couldn't change anyway.

Fixed. In earlier version tsearch_ctl was used here, but I forgot to remove LWLockAcquire.

> 0003:
> - ts_dict_shmem_location could return IspellDictData, it makes more
> sense.

I assume that ts_dict_shmem_location can be used by various types of dictionaries, not only by Ispell. So void * more suitable here.

> 0006:
> It's very subjective, but I think it would nicer to call option as
> Shared (as property of dictionary) or UseSharedMemory, the boolean
> option called SharedMemory sounds weird.

Agree. In our offline conversation we came to Shareable, that is a dictionary can be shared. It may be more appropriate because setting Shareable=true doesn't guarantee that a dictionary will be allocated in shared memory due to max_shared_dictionaries_size GUC.

Attached new version of the patch.

Arthur Zakirov
Postgres Professional:
Russian Postgres Company

Attachment Content-Type Size
0001-Fix-ispell-memory-handling-v4.patch text/plain 1.2 KB
0002-Retreive-shmem-location-for-ispell-v4.patch text/plain 17.3 KB
0003-Store-ispell-structures-in-shmem-v4.patch text/plain 89.1 KB
0004-Update-tmplinit-arguments-v4.patch text/plain 9.8 KB
0005-pg-ts-shared-dictinaries-view-v4.patch text/plain 9.3 KB
0006-Shared-memory-ispell-option-v4.patch text/plain 8.6 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-01-25 17:02:59 Re: Further cleanup of pg_dump/pg_restore item selection code
Previous Message Tom Lane 2018-01-25 16:29:34 Re: [PATCH][PROPOSAL] Refuse setting toast.* reloptions when TOAST table does not exist