[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 メーリングリストの案内