[pgsql-jp: 38970] Re: pgpool-II 2.0.1 リリース
Tatsuo Ishii
ishii @ sraoss.co.jp
2007年 11月 22日 (木) 21:23:32 JST
石井です.
> 早速の対応ありがとうございました。2.0.1 をDLさせて頂きまして、update については
> 正常動作を確認いたしました。しかし、replicate_select を true にしても、1.0.2の
> ような挙動とならず悩んでおります。具体的には
>
> begin;
> select 関数(update や insert を行います)
> commit;
>
> とした際、片方のDBにしか select 文が送られず、DBの内容が違ってしまいます。
申し訳ありません.バグです.以下のパッチを試して頂けますか?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
---------------------------------------------------------------------
Index: pool_config.c
===================================================================
RCS file: /cvsroot/pgpool/pgpool-II/pool_config.c,v
retrieving revision 1.18
diff -c -r1.18 pool_config.c
*** pool_config.c 1 Nov 2007 01:45:22 -0000 1.18
--- pool_config.c 22 Nov 2007 12:20:34 -0000
***************
*** 1,7 ****
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
! * $Header: /cvsroot/pgpool/pgpool-II/pool_config.c,v 1.18 2007/11/01 01:45:22 t-ishii Exp $
*/
#define FLEX_SCANNER
--- 1,7 ----
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
! * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
*/
#define FLEX_SCANNER
***************
*** 399,405 ****
/* -*-pgsql-c-*- */
/*
*
! * $Header: /cvsroot/pgpool/pgpool-II/pool_config.c,v 1.18 2007/11/01 01:45:22 t-ishii Exp $
*
* pgpool: a language independent connection pool server for PostgreSQL
* written by Tatsuo Ishii
--- 399,405 ----
/* -*-pgsql-c-*- */
/*
*
! * $Header: /cvsroot/pgpool/pgpool-II/pool_config.l,v 1.16 2007/10/31 10:45:52 y-asaba Exp $
*
* pgpool: a language independent connection pool server for PostgreSQL
* written by Tatsuo Ishii
***************
*** 2107,2112 ****
--- 2107,2126 ----
pool_debug("replication_stop_on_mismatch: %d", v);
pool_config->replication_stop_on_mismatch = v;
}
+ else if (!strcmp(key, "replicate_select") &&
+ CHECK_CONTEXT(INIT_CONFIG|RELOAD_CONFIG, context))
+ {
+ int v = eval_logical(yytext);
+
+ if (v < 0)
+ {
+ pool_error("pool_config: invalid value %s for %s", yytext, key);
+ fclose(fd);
+ return(-1);
+ }
+ pool_debug("replicate_select: %d", v);
+ pool_config->replicate_select = v;
+ }
else if (!strcmp(key, "reset_query_list") &&
CHECK_CONTEXT(INIT_CONFIG|RELOAD_CONFIG, context))
{
pgsql-jp メーリングリストの案内