diff options
author | Pavan Deolasee | 2016-01-22 11:54:27 +0000 |
---|---|---|
committer | Pavan Deolasee | 2016-10-18 09:45:56 +0000 |
commit | 0cb0344946eb3533fc8eef72f655cc29e4f1ad58 (patch) | |
tree | 01af1457d13b80fec992ca10dc265470e8b6c5cb | |
parent | 0cefc7def3e59a9124e70e49e27f20c6769e07df (diff) |
The XLOG dirs in the pgxc_ctl conf file are optional
-rw-r--r-- | contrib/pgxc_ctl/config.c | 11 | ||||
-rw-r--r-- | contrib/pgxc_ctl/datanode_cmd.c | 1 |
2 files changed, 9 insertions, 3 deletions
diff --git a/contrib/pgxc_ctl/config.c b/contrib/pgxc_ctl/config.c index 0355971c3a..7b8cc28989 100644 --- a/contrib/pgxc_ctl/config.c +++ b/contrib/pgxc_ctl/config.c @@ -273,6 +273,8 @@ int is_none(char *s) return TRUE; if (strcmp(s, "none") == 0) return TRUE; + if (strcmp(s, "") == 0) + return TRUE; if (strcmp(s, "N/A") == 0) return TRUE; return FALSE; @@ -795,7 +797,12 @@ static void checkResourceConflict(char *srcNames, char *srcServers, char *srcPor elog(ERROR, "ERROR: Conflict in port/pooler in %s and %s variable.\n", srcNames, destNames); } /* Dir Names */ - if (srcDirs && destDirs && !is_none(aval(srcDirs)[ii]) && (strcmp(aval(srcDirs)[ii], aval(destDirs)[jj]) == 0)) + if (srcDirs && destDirs && + doesExist(srcDirs, ii) && + !is_none(aval(srcDirs)[ii]) && + doesExist(destDirs, jj) && + !is_none(aval(destDirs)[jj]) && + (strcmp(aval(srcDirs)[ii], aval(destDirs)[jj]) == 0)) { anyConfigErrors = TRUE; elog(ERROR, "ERROR: Conflict in directory names in %s and %s variable.\n", srcNames, destNames); @@ -856,7 +863,6 @@ static void verifyResource(void) VAR_datanodePoolerPorts, VAR_datanodeMasterServers, VAR_datanodeMasterDirs, - VAR_datanodeMasterWALDirs, VAR_datanodeMaxWALSenders, NULL}; char *datanodeSlaveVars[] = {VAR_datanodeNames, @@ -864,7 +870,6 @@ static void verifyResource(void) VAR_datanodeSlavePorts, VAR_datanodeSlavePoolerPorts, VAR_datanodeSlaveDirs, - VAR_datanodeSlaveWALDirs, VAR_datanodeArchLogDirs, NULL}; #if 0 diff --git a/contrib/pgxc_ctl/datanode_cmd.c b/contrib/pgxc_ctl/datanode_cmd.c index e681cec289..a70506037d 100644 --- a/contrib/pgxc_ctl/datanode_cmd.c +++ b/contrib/pgxc_ctl/datanode_cmd.c @@ -71,6 +71,7 @@ cmd_t *prepare_initDatanodeMaster(char *nodeName) return(NULL); if (doesExist(VAR_datanodeMasterWALDirs, idx) && + aval(VAR_datanodeMasterWALDirs)[idx] && !is_none(aval(VAR_datanodeMasterWALDirs)[idx])) wal = true; else |