return res;
}
+static PgDatabase *find_or_register_database(PgSocket *admin, const char *name)
+{
+ PgDatabase *db = find_database(name);
+ if (db == NULL) {
+ db = register_auto_database(name);
+ if (db != NULL) {
+ slog_info(admin,
+ "registered new auto-database: %s", name);
+ }
+ }
+ return db;
+}
+
/*
* Command: SHOW FDS
*
} else {
PgDatabase *db;
log_info("PAUSE '%s' command issued", arg);
- db = find_database(arg);
- if (db == NULL) {
- db = register_auto_database(arg);
- if (db == NULL) {
- return admin_error(admin, "no such database: %s", arg);
- } else {
- slog_info(admin, "registered new auto-database for PAUSE: %s", arg);
- }
- }
+ db = find_or_register_database(admin, arg);
+ if (db == NULL)
+ return admin_error(admin, "no such database: %s", arg);
if (db == admin->pool->db)
return admin_error(admin, "cannot pause admin db: %s", arg);
db->db_paused = 1;
return admin_error(admin, "a database is required");
log_info("DISABLE '%s' command issued", arg);
- db = find_database(arg);
- if (db == NULL) {
- db = register_auto_database(arg);
- if (db == NULL) {
- return admin_error(admin, "no such database: %s", arg);
- } else {
- slog_info(admin, "registered new auto-database for DISABLE: %s", arg);
- }
- }
+ db = find_or_register_database(admin, arg);
+ if (db == NULL)
+ return admin_error(admin, "no such database: %s", arg);
if (db == admin->pool->db)
return admin_error(admin, "cannot disable admin db: %s", arg);
return admin_error(admin, "a database is required");
log_info("KILL '%s' command issued", arg);
- db = find_database(arg);
- if (db == NULL) {
- db = register_auto_database(arg);
- if (db == NULL) {
- return admin_error(admin, "no such database: %s", arg);
- } else {
- slog_info(admin, "registered new auto-database for KILL: %s", arg);
- }
- }
+ db = find_or_register_database(admin, arg);
+ if (db == NULL)
+ return admin_error(admin, "no such database: %s", arg);
if (db == admin->pool->db)
return admin_error(admin, "cannot kill admin db: %s", arg);