[pgpool-general-jp: 750] Re: pgpool-II 2.3.2 parallel_mode - current_timestamp の insert
Toshihiro Kitagawa
kitagawa @ sraoss.co.jp
2010年 3月 17日 (水) 19:49:05 JST
sho さん
北川です。
> パラレルモードで、current_timestamp を使用して insert したところ、
> 次のエラーが出ました。
>
> ERROR: pgpool2 sql restriction
> DETAIL: cannot get node_id from system db
おっしゃるとおり getInsertRule に問題がありました。
原因は、getInsertRule 関数内の分散キーの値を検索する処理にて、
"A::B::C" のようなキャストが想定されていないためでした。
pgpool-II 2.3 系は current_timestamp を、自動的に
"'now'::text::timestamptz(0)" と書き換えますので、分散キーの値
よりも前に current_timestamp があると、そこでエラーが発生して
いました。
よりよいと思われるパッチを添付しましたので、お試し頂ければ幸いです。
On Wed, 10 Feb 2010 15:35:34 +0900
sho <sho @ big.or.jp> wrote:
> こんにちは、sho と申します。
>
> pool_rewrite_query.c の getInsertRule の判定の問題のように
> 見受けられたので、return 文2つをキャンセルするパッチをあてて
> みました。
> パッチを添付します。
>
> 以上、よろしくお願いします。
>
> -- sho
--
SRA OSS, Inc. 日本支社
北川 俊広 <kitagawa @ sraoss.co.jp>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: pool_rewrite_query.patch
型: application/octet-stream
サイズ: 1159 バイト
説明: 無し
URL: http://www.sraoss.jp/pipermail/pgpool-general-jp/attachments/20100317/423fcadd/attachment.obj
pgpool-general-jp メーリングリストの案内