You can subscribe to this list here.
2010 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(28) |
Jun
(12) |
Jul
(11) |
Aug
(12) |
Sep
(5) |
Oct
(19) |
Nov
(14) |
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(18) |
Feb
(30) |
Mar
(115) |
Apr
(89) |
May
(50) |
Jun
(44) |
Jul
(22) |
Aug
(13) |
Sep
(11) |
Oct
(30) |
Nov
(28) |
Dec
(39) |
2012 |
Jan
(38) |
Feb
(18) |
Mar
(43) |
Apr
(91) |
May
(108) |
Jun
(46) |
Jul
(37) |
Aug
(44) |
Sep
(33) |
Oct
(29) |
Nov
(36) |
Dec
(15) |
2013 |
Jan
(35) |
Feb
(611) |
Mar
(5) |
Apr
(55) |
May
(30) |
Jun
(28) |
Jul
(458) |
Aug
(34) |
Sep
(9) |
Oct
(39) |
Nov
(22) |
Dec
(32) |
2014 |
Jan
(16) |
Feb
(16) |
Mar
(42) |
Apr
(179) |
May
(7) |
Jun
(6) |
Jul
(9) |
Aug
|
Sep
(4) |
Oct
|
Nov
(3) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
|
2
(1) |
3
(3) |
4
(3) |
5
|
6
|
7
|
8
|
9
(1) |
10
(1) |
11
(3) |
12
(4) |
13
|
14
|
15
|
16
(1) |
17
|
18
|
19
(1) |
20
|
21
|
22
|
23
|
24
(7) |
25
(16) |
26
(2) |
27
|
28
|
29
|
30
(4) |
31
(3) |
|
|
|
|
From: Koichi S. <koi...@us...> - 2011-05-30 10:18:54
|
Project "Postgres-XC". The branch, ha_support has been updated via 029f58652a406ed58ee392b317b358dc7841353f (commit) from cdf0a17f512e049be4816f9c6a922188370e8550 (commit) - Log ----------------------------------------------------------------- commit 029f58652a406ed58ee392b317b358dc7841353f Author: Koichi Suzuki <koi...@gm...> Date: Mon May 30 19:18:26 2011 +0900 This commit fixes the problem to connect GTM to GTM-Standby for backup. Former code handled host name in protocol message incorrectly. Fixed the file: modified: register.c diff --git a/src/gtm/recovery/register.c b/src/gtm/recovery/register.c index 1ee30ce..6fa11ff 100644 --- a/src/gtm/recovery/register.c +++ b/src/gtm/recovery/register.c @@ -475,8 +475,10 @@ ProcessPGXCNodeRegister(Port *myport, StringInfo message) ipaddress = remote_host; #else strlen = pq_getmsgint(message, sizeof (GTM_StrLen)); - ipaddress = (char *)pq_getmsgbytes(message, strlen); - + memcpy(remote_host, (char *)pq_getmsgbytes(message, strlen), strlen); + remote_host[strlen] = '\0'; + ipaddress = remote_host; + #endif /* Read Port Number */ ----------------------------------------------------------------------- Summary of changes: src/gtm/recovery/register.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) hooks/post-receive -- Postgres-XC |
From: Koichi S. <koi...@us...> - 2011-05-30 09:12:42
|
Project "Postgres-XC". The branch, ha_support has been updated via cdf0a17f512e049be4816f9c6a922188370e8550 (commit) from 8caece68c1e81739c02390c7ddb1846be81a849c (commit) - Log ----------------------------------------------------------------- commit cdf0a17f512e049be4816f9c6a922188370e8550 Author: Koichi Suzuki <koi...@gm...> Date: Mon May 30 18:12:52 2011 +0900 This is to revert the latest (wrong) commit for gtm standby. Reverted files are: modified: gtm/main/gtm_standby.c modified: gtm/recovery/register.c modified: include/gtm/gtm_c.h diff --git a/src/gtm/main/gtm_standby.c b/src/gtm/main/gtm_standby.c index d710a09..4e9393b 100644 --- a/src/gtm/main/gtm_standby.c +++ b/src/gtm/main/gtm_standby.c @@ -53,7 +53,7 @@ gtm_standby_start_startup() elog(LOG, "Connecting the GTM active on %s:%d...", GTM_ActiveAddress, GTM_ActivePort); sprintf(connect_string, "host=%s port=%d pgxc_node_id=1 remote_type=%d", - GTM_ActiveAddress, GTM_ActivePort, PGXC_NODE_GTM_STANDBY); + GTM_ActiveAddress, GTM_ActivePort, PGXC_NODE_GTM); GTM_ActiveConn = PQconnectGTM(connect_string); if (GTM_ActiveConn == NULL) @@ -298,7 +298,7 @@ gtm_standby_register_self(GTM_PGXCNodeId nodenum, int port, const char *datadir) standbyPortNumber = port; standbyDataDir = (char *)datadir; - rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM_STANDBY, standbyNodeName, standbyPortNumber, + rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM, standbyNodeName, standbyPortNumber, standbyNodeNum, standbyDataDir, NODE_DISCONNECTED); if ( rc<0 ) { @@ -323,14 +323,14 @@ gtm_standby_activate_self() elog(LOG, "Updating the standby-GTM status to \"CONNECTED\"..."); - rc = node_unregister(GTM_ActiveConn, PGXC_NODE_GTM_STANDBY, standbyNodeNum); + rc = node_unregister(GTM_ActiveConn, PGXC_NODE_GTM, standbyNodeNum); if ( rc<0 ) { elog(LOG, "Failed to unregister old standby-GTM status."); return 0; } - rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM_STANDBY, standbyNodeName, standbyPortNumber, + rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM, standbyNodeName, standbyPortNumber, standbyNodeNum, standbyDataDir, NODE_CONNECTED); if ( rc<0 ) { diff --git a/src/gtm/recovery/register.c b/src/gtm/recovery/register.c index 24fb7cf..1ee30ce 100644 --- a/src/gtm/recovery/register.c +++ b/src/gtm/recovery/register.c @@ -497,15 +497,11 @@ ProcessPGXCNodeRegister(Port *myport, StringInfo message) status = pq_getmsgint(message, sizeof (GTM_PGXCNodeStatus)); -#if 1 - elog(LOG, "PGXC_NODE_GTM_STANDBY = %d, Nodetype = %d", PGXC_NODE_GTM_STANDBY, type); -#endif if ( (type!=PGXC_NODE_GTM_PROXY) && (type!=PGXC_NODE_GTM_PROXY_POSTMASTER) && (type!=PGXC_NODE_COORDINATOR) && (type!=PGXC_NODE_DATANODE) && (type!=PGXC_NODE_GTM) && - (type!=PGXC_NODE_GTM_STANDBY) && (type!=PGXC_NODE_DEFAULT) ) ereport(ERROR, (EINVAL, diff --git a/src/include/gtm/gtm_c.h b/src/include/gtm/gtm_c.h index f49c5dd..3d7c179 100644 --- a/src/include/gtm/gtm_c.h +++ b/src/include/gtm/gtm_c.h @@ -54,7 +54,6 @@ typedef enum GTM_PGXCNodeType PGXC_NODE_COORDINATOR, PGXC_NODE_DATANODE, PGXC_NODE_GTM, - PGXC_NODE_GTM_STANDBY, PGXC_NODE_DEFAULT /* In case nothing is associated to connection */ } GTM_PGXCNodeType; ----------------------------------------------------------------------- Summary of changes: src/gtm/main/gtm_standby.c | 8 ++++---- src/gtm/recovery/register.c | 4 ---- src/include/gtm/gtm_c.h | 1 - 3 files changed, 4 insertions(+), 9 deletions(-) hooks/post-receive -- Postgres-XC |
From: Koichi S. <koi...@us...> - 2011-05-30 04:39:16
|
Project "Postgres-XC". The branch, ha_support has been updated via 8caece68c1e81739c02390c7ddb1846be81a849c (commit) from a34aef207659537b5ee51038cfe30fe8d34a4b8a (commit) - Log ----------------------------------------------------------------- commit 8caece68c1e81739c02390c7ddb1846be81a849c Author: Koichi Suzuki <koi...@gm...> Date: Mon May 30 13:26:53 2011 +0900 This commit changes GTM-Standby Registration from PGXC_NODE_GTM to PGXC_NODE_STANDBY. This is needed to add synchronized backup of GTM-Standby. Present code just backs up current GTM status and does not trace further changes. Changed files are: modified: gtm/main/gtm_standby.c modified: gtm/recovery/register.c modified: include/gtm/gtm_c.h Further commit will include the following additions: 1. Initiate GTM-Act to be ready to backup it's further update to GTM-Standby. 2. Instruct all the worker thread and main thread to connect to GTM-Standby and back-up their update to GTM-Standby. Please note that GTM-Standby cannot pull all the updates synchronously. 3. GTM worker thread and main thread back up their update to GTM-Standby. 4. Each response to GTM-clients (GTM-Proxy, in group response, at first), will be given response ID (which may wrap-around. 8bit will be sufficient). 5. When GTM-Proxy reconnect to promoted GTM, it gives the latest and the second latest response ID. Promoted GTM will determine if the last response is valid or not. Details of the above may change according to a practice. diff --git a/src/gtm/main/gtm_standby.c b/src/gtm/main/gtm_standby.c index 4e9393b..d710a09 100644 --- a/src/gtm/main/gtm_standby.c +++ b/src/gtm/main/gtm_standby.c @@ -53,7 +53,7 @@ gtm_standby_start_startup() elog(LOG, "Connecting the GTM active on %s:%d...", GTM_ActiveAddress, GTM_ActivePort); sprintf(connect_string, "host=%s port=%d pgxc_node_id=1 remote_type=%d", - GTM_ActiveAddress, GTM_ActivePort, PGXC_NODE_GTM); + GTM_ActiveAddress, GTM_ActivePort, PGXC_NODE_GTM_STANDBY); GTM_ActiveConn = PQconnectGTM(connect_string); if (GTM_ActiveConn == NULL) @@ -298,7 +298,7 @@ gtm_standby_register_self(GTM_PGXCNodeId nodenum, int port, const char *datadir) standbyPortNumber = port; standbyDataDir = (char *)datadir; - rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM, standbyNodeName, standbyPortNumber, + rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM_STANDBY, standbyNodeName, standbyPortNumber, standbyNodeNum, standbyDataDir, NODE_DISCONNECTED); if ( rc<0 ) { @@ -323,14 +323,14 @@ gtm_standby_activate_self() elog(LOG, "Updating the standby-GTM status to \"CONNECTED\"..."); - rc = node_unregister(GTM_ActiveConn, PGXC_NODE_GTM, standbyNodeNum); + rc = node_unregister(GTM_ActiveConn, PGXC_NODE_GTM_STANDBY, standbyNodeNum); if ( rc<0 ) { elog(LOG, "Failed to unregister old standby-GTM status."); return 0; } - rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM, standbyNodeName, standbyPortNumber, + rc = node_register2(GTM_ActiveConn, PGXC_NODE_GTM_STANDBY, standbyNodeName, standbyPortNumber, standbyNodeNum, standbyDataDir, NODE_CONNECTED); if ( rc<0 ) { diff --git a/src/gtm/recovery/register.c b/src/gtm/recovery/register.c index 1ee30ce..24fb7cf 100644 --- a/src/gtm/recovery/register.c +++ b/src/gtm/recovery/register.c @@ -497,11 +497,15 @@ ProcessPGXCNodeRegister(Port *myport, StringInfo message) status = pq_getmsgint(message, sizeof (GTM_PGXCNodeStatus)); +#if 1 + elog(LOG, "PGXC_NODE_GTM_STANDBY = %d, Nodetype = %d", PGXC_NODE_GTM_STANDBY, type); +#endif if ( (type!=PGXC_NODE_GTM_PROXY) && (type!=PGXC_NODE_GTM_PROXY_POSTMASTER) && (type!=PGXC_NODE_COORDINATOR) && (type!=PGXC_NODE_DATANODE) && (type!=PGXC_NODE_GTM) && + (type!=PGXC_NODE_GTM_STANDBY) && (type!=PGXC_NODE_DEFAULT) ) ereport(ERROR, (EINVAL, diff --git a/src/include/gtm/gtm_c.h b/src/include/gtm/gtm_c.h index 3d7c179..f49c5dd 100644 --- a/src/include/gtm/gtm_c.h +++ b/src/include/gtm/gtm_c.h @@ -54,6 +54,7 @@ typedef enum GTM_PGXCNodeType PGXC_NODE_COORDINATOR, PGXC_NODE_DATANODE, PGXC_NODE_GTM, + PGXC_NODE_GTM_STANDBY, PGXC_NODE_DEFAULT /* In case nothing is associated to connection */ } GTM_PGXCNodeType; ----------------------------------------------------------------------- Summary of changes: src/gtm/main/gtm_standby.c | 8 ++++---- src/gtm/recovery/register.c | 4 ++++ src/include/gtm/gtm_c.h | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) hooks/post-receive -- Postgres-XC |
From: Michael P. <mic...@us...> - 2011-05-30 02:38:48
|
Project "Postgres-XC". The branch, PGXC-TrialMaster has been updated via 2c8118bade2df8636928aac73b73a2fc1e6c25cf (commit) via 49025616ae6204a041412f5fe2204b41a5113fbf (commit) from c07ee5cf650c03a298650ddaf5fa9f0aa9f91876 (commit) - Log ----------------------------------------------------------------- commit 2c8118bade2df8636928aac73b73a2fc1e6c25cf Author: Michael P <mic...@us...> Date: Fri May 27 17:14:24 2011 +0900 Fix for bug 3307846: multiple INSERT with JDBC driver This fixes issues when JDBC was used with multi INSERT such as: INSERT INTO table_name VALUES (1),(2); diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 16998f9..9dc1617 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -667,11 +667,11 @@ pg_analyze_and_rewrite(Node *parsetree, const char *query_string, if (IS_PGXC_COORDINATOR && !IsConnFromCoord()) { ListCell *lc; - + foreach(lc, querytree_list) { Query *query = (Query *) lfirst(lc); - + if (query->sql_statement == NULL) query->sql_statement = pstrdup(query_string); } @@ -1380,7 +1380,9 @@ exec_parse_message(const char *query_string, /* string to execute */ foreach(lc, querytree_list) { Query *query = (Query *) lfirst(lc); - query->sql_statement = pstrdup(query_string); + + if (query->sql_statement == NULL) + query->sql_statement = pstrdup(query_string); } } #endif commit 49025616ae6204a041412f5fe2204b41a5113fbf Author: Michael P <mic...@us...> Date: Thu May 26 15:40:07 2011 +0900 Fix for bug 3299211: JDBC and DML queries Running DML queries through JDBC to an XC instance was crashing the server. Report and patch from sch19831106, with some code refactoring by me. diff --git a/src/backend/commands/prepare.c b/src/backend/commands/prepare.c index a54ac74..662baa7 100644 --- a/src/backend/commands/prepare.c +++ b/src/backend/commands/prepare.c @@ -475,6 +475,10 @@ InitQueryHashTable(void) static int set_remote_stmtname(Plan *plan, const char *stmt_name, int n) { + /* If no plan simply return */ + if (!plan) + return 0; + if (IsA(plan, RemoteQuery)) { DatanodeStatement *entry; diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c index cbe9cc5..d8cd830 100644 --- a/src/backend/utils/cache/plancache.c +++ b/src/backend/utils/cache/plancache.c @@ -676,12 +676,17 @@ ReleaseCachedPlan(CachedPlan *plan, bool useResOwner) if (plan->fully_planned) { ListCell *lc; - /* close any active datanode statements */ + + /* Close any active planned datanode statements */ foreach (lc, plan->stmt_list) { - PlannedStmt *ps = (PlannedStmt *)lfirst(lc); + Node *node = lfirst(lc); - release_datanode_statements(ps->planTree); + if (IsA(node, PlannedStmt)) + { + PlannedStmt *ps = (PlannedStmt *)node; + release_datanode_statements(ps->planTree); + } } } #endif ----------------------------------------------------------------------- Summary of changes: src/backend/commands/prepare.c | 4 ++++ src/backend/tcop/postgres.c | 8 +++++--- src/backend/utils/cache/plancache.c | 11 ++++++++--- 3 files changed, 17 insertions(+), 6 deletions(-) hooks/post-receive -- Postgres-XC |