[pgsql-jp: 38202] Re: ロケールCでインストールしないとLIKEで invalid memory alloc request

Tatsuo Ishii ishii @ sraoss.co.jp
2007年 3月 22日 (木) 10:28:32 JST


石井です.

> 板垣です。
> 
> Tatsuo Ishii <ishii @ sraoss.co.jp> wrote:
> 
> > 私はどうしてもOSのロケールデータが信頼できないので,Cロケールを使うこ
> > とにしています.腐ったロケールデータを使うとインデックスも腐ってしまう
> > ので,検索洩れやら何やら起こってしまう可能性があり,かなり致命的な結果
> > になってしまいます.
> 
> 検索漏れに関しては、ロケールの有効/無効それぞれで、
> うまく働かないケースはありえます。
> 例えば、「が」と「か゛」(か+濁点)は、
> ロケール=Japanese では同一視されますが、C ではされません。
> これを「検索漏れ」と見なすかどうかは、使う人次第でしょう。

あの,言いたかったのは,そういう高級:-)なことではないのですが.

壊れたロケールを使うと「単純な文字単位の比較」で一致しているものすら検
索から抜け落ちることがあるのです.これはロケールの有効/無効に関わらず
許されることではないと思います.

「が」と「か゛」を同一視するかどうかなどは,わたしはアプリケーションド
メインごとに要求が違うと思っているので,アプリケーションで対応するのが
よいと思います.
# たとえば,「サーバ」と「サーバー」などの表記の揺れを許容するかどうか
# とか

COLLATIONをユーザ定義できるようになれば便利にはなると思います.
--
Tatsuo Ishii
SRA OSS, Inc. Japan



pgsql-jp メーリングリストの案内