[pgcluster: 337] Re: 1.0.7RC2 でのビューのレプリケートについて

mitani mitani @ sraw.co.jp
2004年 6月 7日 (月) 16:58:27 JST


三谷@広島です.

> 以前にご相談させていただきました、View テーブル内で シー
> ケンスを取得することが1.0.7RC1では問題なくできますが、1.0.7RC2
> ではうまくレプリケートされません。
SELECT文をレプリケーションサーバへの応答対象から無条件で外していました.
1.0.7RC2に以下のパッチをあててみてください.


diff -aruN pgcluster-1.0.7rc2/src/backend/libpq/replicate.c
pgcluster-1.0.7rc2a/src/backend/libpq/replicate.c
--- pgcluster-1.0.7rc2/src/backend/libpq/replicate.c    2004-06-02 18:08:52.0000
00000 +0900
+++ pgcluster-1.0.7rc2a/src/backend/libpq/replicate.c   2004-06-07 14:25:43.0000
00000 +0900
@@ -909,6 +909,8 @@
            return STATUS_ERROR;
        }
        Query_String = NULL;
+       PGR_Need_Notice = true;
+       PGR_Check_Lock.check_lock_conflict = true;
     }
    return status;
 }
diff -aruN pgcluster-1.0.7rc2/src/backend/tcop/postgres.c pgcluster-1.0.7rc2a/sr
c/backend/tcop/postgres.c
--- pgcluster-1.0.7rc2/src/backend/tcop/postgres.c  2004-06-02 17:50:03.00000000
0 +0900
+++ pgcluster-1.0.7rc2a/src/backend/tcop/postgres.c 2004-06-07 14:04:30.00000000
0 +0900
@@ -802,8 +802,17 @@
            }
            else
            {
-               PGR_Need_Notice = false;
-               PGR_Check_Lock.check_lock_conflict = false;
+               if ((PGR_Is_Replicated_Query ) &&
+                   (origCmdType == CMD_SELECT ))
+               {
+                   PGR_Need_Notice = true;
+                   PGR_Check_Lock.check_lock_conflict = true;
+               }
+               else
+               {
+                   PGR_Need_Notice = false;
+                   PGR_Check_Lock.check_lock_conflict = false;
+               }
            }
        }
 #endif /* USE_REPLICATION */
=============================
三谷 篤<mitani @ sraw.co.jp>
=============================





pgcluster メーリングリストの案内