summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavan Deolasee2016-01-22 11:54:27 +0000
committerPavan Deolasee2016-10-18 09:45:56 +0000
commit0cb0344946eb3533fc8eef72f655cc29e4f1ad58 (patch)
tree01af1457d13b80fec992ca10dc265470e8b6c5cb
parent0cefc7def3e59a9124e70e49e27f20c6769e07df (diff)
The XLOG dirs in the pgxc_ctl conf file are optional
-rw-r--r--contrib/pgxc_ctl/config.c11
-rw-r--r--contrib/pgxc_ctl/datanode_cmd.c1
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