pgpool2.git / summary / log / commit / refs
commit ebbeaa903a2ef073936e16f312db45bb513ee6ae
Author: Toshihiro Kitagawa <kitagawa at sraoss.co.jp>
Date: Wed Aug 04 07:27:44 2010 +0000
Add backend_data_directory checking in pgpool.conf.
Now recovery_1st_stage_command and recovery_2nd_stage_command requires
backend_data_directory to be set.
pool_config.c | 14 ++++++++++++++
pool_config.l | 14 ++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/pool_config.c b/pool_config.c
index c625a25d7..3f1e2938c 100644
--- a/pool_config.c
+++ b/pool_config.c
@@ -3350,6 +3350,20 @@ int pool_get_config(char *confpath, POOL_CONFIG_CONTEXT context)
#endif
}
+ if (strcmp(pool_config->recovery_1st_stage_command, "") ||
+ strcmp(pool_config->recovery_2nd_stage_command, ""))
+ {
+ for (i=0;i<MAX_CONNECTION_SLOTS;i++)
+ {
+ if (pool_config->backend_desc->backend_info[i].backend_port != 0 &&
+ !strcmp(pool_config->backend_desc->backend_info[i].backend_data_directory, ""))
+ {
+ pool_error("pool_config: recovery_1st_stage_command and recovery_2nd_stage_command requires backend_data_directory to be set");
+ return -1;
+ }
+ }
+ }
+
return 0;
}
diff --git a/pool_config.l b/pool_config.l
index 4a420ccd0..537abb253 100644
--- a/pool_config.l
+++ b/pool_config.l
@@ -1625,6 +1625,20 @@ int pool_get_config(char *confpath, POOL_CONFIG_CONTEXT context)
#endif
}
+ if (strcmp(pool_config->recovery_1st_stage_command, "") ||
+ strcmp(pool_config->recovery_2nd_stage_command, ""))
+ {
+ for (i=0;i<MAX_CONNECTION_SLOTS;i++)
+ {
+ if (pool_config->backend_desc->backend_info[i].backend_port != 0 &&
+ !strcmp(pool_config->backend_desc->backend_info[i].backend_data_directory, ""))
+ {
+ pool_error("pool_config: recovery_1st_stage_command and recovery_2nd_stage_command requires backend_data_directory to be set");
+ return -1;
+ }
+ }
+ }
+
return 0;
}
[parent: 3743744e2995]