[pgsql-jp: 34645] LIKEで前方一致検索をした際にエラーになる現象

waya wayama @ isop.ne.jp
2005年 1月 14日 (金) 17:54:50 JST


はじめまして、和山と申します。
いつもこのMLにお世話になっております。
今回始めて投稿したしたのは、どうもバグのような動作を
発見したのでご報告させていただきます。

【環境】
OS:WindowsXP SP2
Version:PostgreSQL 8.0.0rc4
DB言語:EUC-JP
対象テーブル:
    名称:t_all_search
    件数:130万件
    OID:OIDカラムなし
    index:分かち書きした日本語がはいったカラム(value_str)
            index文は以下のとおり
CREATE INDEX t_all_search_value_str_index 
ON t_all_search USING btree (value_str varchar_pattern_ops)
【現象】
SELECTでvalue_strカラムからlikeで前方一致検索をすると、
検索語句によってはエラーになります。
例:
SELECT * FROM t_all_search WHERE value_str LIKE 'レコード%';
エラー内容:
ERROR:  invalid memory alloc request size 2147483648

再現性は確実にあり、
VACUUM ANALYZE
した場合も
ERROR:  invalid memory alloc request size 1677721596
となります。
おそらく、コスト計算時の問題だと思うのですが、
たとえば
SELECT * FROM t_all_search WHERE value_str LIKE 'ラグビー%';
とした場合は普通に帰ってきます。

どうも関連性がわからず、はたはた困ってしまいました。
このような現象はバグなのでしょうか?




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