aboutsummaryrefslogtreecommitdiffstats
path: root/res/res_config_pgsql.c
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-19 18:01:00 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-19 18:01:00 +0000
commit4723d35127a1da861d28ce2ae2ee0e8bbd7c3e7b (patch)
treef7b900279b3959d2cc8feddc22a7d8643eb60f95 /res/res_config_pgsql.c
parent4c11437602461608f71405d14e49493187123ed9 (diff)
More changes to NEW_CLI.
Also fixes a few cli messages and some minor formatting. (closes issue #11001) Reported by: seanbright Patches: newcli.1.patch uploaded by seanbright (license 71) newcli.2.patch uploaded by seanbright (license 71) newcli.4.patch uploaded by seanbright (license 71) newcli.5.patch uploaded by seanbright (license 71) newcli.6.patch uploaded by seanbright (license 71) newcli.7.patch uploaded by seanbright (license 71) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86534 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_config_pgsql.c')
-rw-r--r--res/res_config_pgsql.c235
1 files changed, 120 insertions, 115 deletions
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c
index ce1174a54..2148f741c 100644
--- a/res/res_config_pgsql.c
+++ b/res/res_config_pgsql.c
@@ -3,21 +3,21 @@
*
* Copyright (C) 1999-2005, Digium, Inc.
*
- * Manuel Guesdon <mguesdon@oxymium.net> - Postgresql RealTime Driver Author/Adaptor
+ * Manuel Guesdon <mguesdon@oxymium.net> - PostgreSQL RealTime Driver Author/Adaptor
* Mark Spencer <markster@digium.com> - Asterisk Author
* Matthew Boehm <mboehm@cytelcom.com> - MySQL RealTime Driver Author
*
- * res_config_pgsql.c <Postgresql plugin for RealTime configuration engine>
+ * res_config_pgsql.c <PostgreSQL plugin for RealTime configuration engine>
*
* v1.0 - (07-11-05) - Initial version based on res_config_mysql v2.0
*/
/*! \file
*
- * \brief Postgresql plugin for Asterisk RealTime Architecture
+ * \brief PostgreSQL plugin for Asterisk RealTime Architecture
*
* \author Mark Spencer <markster@digium.com>
- * \author Manuel Guesdon <mguesdon@oxymium.net> - Postgresql RealTime Driver Author/Adaptor
+ * \author Manuel Guesdon <mguesdon@oxymium.net> - PostgreSQL RealTime Driver Author/Adaptor
*
* \arg http://www.postgresql.org
*/
@@ -64,16 +64,10 @@ static time_t connect_time = 0;
static int parse_config(int reload);
static int pgsql_reconnect(const char *database);
-static int realtime_pgsql_status(int fd, int argc, char **argv);
-
-static const char cli_realtime_pgsql_status_usage[] =
- "Usage: realtime pgsql status\n"
- " Shows connection information for the Postgresql RealTime driver\n";
+static char *handle_cli_realtime_pgsql_status(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
static struct ast_cli_entry cli_realtime[] = {
- { { "realtime", "pgsql", "status", NULL },
- realtime_pgsql_status, "Shows connection information for the Postgresql RealTime driver",
- cli_realtime_pgsql_status_usage },
+ NEW_CLI(handle_cli_realtime_pgsql_status, "Shows connection information for the PostgreSQL RealTime driver"),
};
static struct ast_variable *realtime_pgsql(const char *database, const char *table, va_list ap)
@@ -88,7 +82,7 @@ static struct ast_variable *realtime_pgsql(const char *database, const char *tab
struct ast_variable *var = NULL, *prev = NULL;
if (!table) {
- ast_log(LOG_WARNING, "Postgresql RealTime: No table specified.\n");
+ ast_log(LOG_WARNING, "PostgreSQL RealTime: No table specified.\n");
return NULL;
}
@@ -97,7 +91,7 @@ static struct ast_variable *realtime_pgsql(const char *database, const char *tab
newval = va_arg(ap, const char *);
if (!newparam || !newval) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
+ "PostgreSQL RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
if (pgsqlConn) {
PQfinish(pgsqlConn);
pgsqlConn = NULL;
@@ -131,9 +125,9 @@ static struct ast_variable *realtime_pgsql(const char *database, const char *tab
if (!(result = PQexec(pgsqlConn, sql))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
ast_mutex_unlock(&pgsql_lock);
return NULL;
} else {
@@ -142,16 +136,16 @@ static struct ast_variable *realtime_pgsql(const char *database, const char *tab
&& result_status != PGRES_TUPLES_OK
&& result_status != PGRES_NONFATAL_ERROR) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s (%s)\n",
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s (%s)\n",
PQresultErrorMessage(result), PQresStatus(result_status));
ast_mutex_unlock(&pgsql_lock);
return NULL;
}
}
- ast_debug(1, "1Postgresql RealTime: Result=%p Query: %s\n", result, sql);
+ ast_debug(1, "PostgreSQL RealTime: Result=%p Query: %s\n", result, sql);
if ((num_rows = PQntuples(result)) > 0) {
int i = 0;
@@ -159,7 +153,7 @@ static struct ast_variable *realtime_pgsql(const char *database, const char *tab
int numFields = PQnfields(result);
char **fieldnames = NULL;
- ast_debug(1, "Postgresql RealTime: Found %d rows.\n", num_rows);
+ ast_debug(1, "PostgreSQL RealTime: Found %d rows.\n", num_rows);
if (!(fieldnames = ast_calloc(1, numFields * sizeof(char *)))) {
ast_mutex_unlock(&pgsql_lock);
@@ -189,7 +183,7 @@ static struct ast_variable *realtime_pgsql(const char *database, const char *tab
ast_free(fieldnames);
} else {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Could not find any rows in table %s.\n", table);
+ "PostgreSQL RealTime: Could not find any rows in table %s.\n", table);
}
ast_mutex_unlock(&pgsql_lock);
@@ -213,7 +207,7 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
struct ast_category *cat = NULL;
if (!table) {
- ast_log(LOG_WARNING, "Postgresql RealTime: No table specified.\n");
+ ast_log(LOG_WARNING, "PostgreSQL RealTime: No table specified.\n");
return NULL;
}
@@ -225,7 +219,7 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
newval = va_arg(ap, const char *);
if (!newparam || !newval) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
+ "PostgreSQL RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
if (pgsqlConn) {
PQfinish(pgsqlConn);
pgsqlConn = NULL;
@@ -273,9 +267,9 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
if (!(result = PQexec(pgsqlConn, sql))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
ast_mutex_unlock(&pgsql_lock);
return NULL;
} else {
@@ -284,16 +278,16 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
&& result_status != PGRES_TUPLES_OK
&& result_status != PGRES_NONFATAL_ERROR) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s (%s)\n",
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s (%s)\n",
PQresultErrorMessage(result), PQresStatus(result_status));
ast_mutex_unlock(&pgsql_lock);
return NULL;
}
}
- ast_debug(1, "2Postgresql RealTime: Result=%p Query: %s\n", result, sql);
+ ast_debug(1, "PostgreSQL RealTime: Result=%p Query: %s\n", result, sql);
if ((num_rows = PQntuples(result)) > 0) {
int numFields = PQnfields(result);
@@ -301,7 +295,7 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
int rowIndex = 0;
char **fieldnames = NULL;
- ast_debug(1, "Postgresql RealTime: Found %d rows.\n", num_rows);
+ ast_debug(1, "PostgreSQL RealTime: Found %d rows.\n", num_rows);
if (!(fieldnames = ast_calloc(1, numFields * sizeof(char *)))) {
ast_mutex_unlock(&pgsql_lock);
@@ -333,7 +327,7 @@ static struct ast_config *realtime_multi_pgsql(const char *database, const char
ast_free(fieldnames);
} else {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Could not find any rows in table %s.\n", table);
+ "PostgreSQL RealTime: Could not find any rows in table %s.\n", table);
}
ast_mutex_unlock(&pgsql_lock);
@@ -351,7 +345,7 @@ static int update_pgsql(const char *database, const char *table, const char *key
const char *newparam, *newval;
if (!table) {
- ast_log(LOG_WARNING, "Postgresql RealTime: No table specified.\n");
+ ast_log(LOG_WARNING, "PostgreSQL RealTime: No table specified.\n");
return -1;
}
@@ -360,7 +354,7 @@ static int update_pgsql(const char *database, const char *table, const char *key
newval = va_arg(ap, const char *);
if (!newparam || !newval) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
+ "PostgreSQL RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
if (pgsqlConn) {
PQfinish(pgsqlConn);
pgsqlConn = NULL;
@@ -381,7 +375,7 @@ static int update_pgsql(const char *database, const char *table, const char *key
snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), " WHERE %s = '%s'", keyfield,
lookup);
- ast_debug(1, "Postgresql RealTime: Update SQL: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Update SQL: %s\n", sql);
/* We now have our complete statement; Lets connect to the server and execute it. */
ast_mutex_lock(&pgsql_lock);
@@ -392,9 +386,9 @@ static int update_pgsql(const char *database, const char *table, const char *key
if (!(result = PQexec(pgsqlConn, sql))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
ast_mutex_unlock(&pgsql_lock);
return -1;
} else {
@@ -403,9 +397,9 @@ static int update_pgsql(const char *database, const char *table, const char *key
&& result_status != PGRES_TUPLES_OK
&& result_status != PGRES_NONFATAL_ERROR) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s (%s)\n",
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s (%s)\n",
PQresultErrorMessage(result), PQresStatus(result_status));
ast_mutex_unlock(&pgsql_lock);
return -1;
@@ -415,7 +409,7 @@ static int update_pgsql(const char *database, const char *table, const char *key
numrows = atoi(PQcmdTuples(result));
ast_mutex_unlock(&pgsql_lock);
- ast_debug(1, "Postgresql RealTime: Updated %d rows on table: %s\n", numrows, table);
+ ast_debug(1, "PostgreSQL RealTime: Updated %d rows on table: %s\n", numrows, table);
/* From http://dev.pgsql.com/doc/pgsql/en/pgsql-affected-rows.html
* An integer greater than zero indicates the number of rows affected
@@ -441,7 +435,7 @@ static int store_pgsql(const char *database, const char *table, va_list ap)
const char *newparam, *newval;
if (!table) {
- ast_log(LOG_WARNING, "Postgresql RealTime: No table specified.\n");
+ ast_log(LOG_WARNING, "PostgreSQL RealTime: No table specified.\n");
return -1;
}
@@ -450,7 +444,7 @@ static int store_pgsql(const char *database, const char *table, va_list ap)
newval = va_arg(ap, const char *);
if (!newparam || !newval) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Realtime storage requires at least 1 parameter and 1 value to store.\n");
+ "PostgreSQL RealTime: Realtime storage requires at least 1 parameter and 1 value to store.\n");
if (pgsqlConn) {
PQfinish(pgsqlConn);
pgsqlConn = NULL;
@@ -481,13 +475,13 @@ static int store_pgsql(const char *database, const char *table, va_list ap)
va_end(ap);
snprintf(sql, sizeof(sql), "INSERT INTO (%s) VALUES (%s)", params, vals);
- ast_debug(1, "Postgresql RealTime: Insert SQL: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Insert SQL: %s\n", sql);
if (!(result = PQexec(pgsqlConn, sql))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
ast_mutex_unlock(&pgsql_lock);
return -1;
} else {
@@ -496,9 +490,9 @@ static int store_pgsql(const char *database, const char *table, va_list ap)
&& result_status != PGRES_TUPLES_OK
&& result_status != PGRES_NONFATAL_ERROR) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s (%s)\n",
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s (%s)\n",
PQresultErrorMessage(result), PQresStatus(result_status));
ast_mutex_unlock(&pgsql_lock);
return -1;
@@ -508,7 +502,7 @@ static int store_pgsql(const char *database, const char *table, va_list ap)
insertid = PQoidValue(result);
ast_mutex_unlock(&pgsql_lock);
- ast_debug(1, "Postgresql RealTime: row inserted on table: %s, id: %u\n", table, insertid);
+ ast_debug(1, "PostgreSQL RealTime: row inserted on table: %s, id: %u\n", table, insertid);
/* From http://dev.pgsql.com/doc/pgsql/en/pgsql-affected-rows.html
* An integer greater than zero indicates the number of rows affected
@@ -532,7 +526,7 @@ static int destroy_pgsql(const char *database, const char *table, const char *ke
const char *newparam, *newval;
if (!table) {
- ast_log(LOG_WARNING, "Postgresql RealTime: No table specified.\n");
+ ast_log(LOG_WARNING, "PostgreSQL RealTime: No table specified.\n");
return -1;
}
@@ -542,7 +536,7 @@ static int destroy_pgsql(const char *database, const char *table, const char *ke
if (!newparam || !newval) {*/
if (ast_strlen_zero(keyfield) || ast_strlen_zero(lookup)) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Realtime destroy requires at least 1 parameter and 1 value to search on.\n");
+ "PostgreSQL RealTime: Realtime destroy requires at least 1 parameter and 1 value to search on.\n");
if (pgsqlConn) {
PQfinish(pgsqlConn);
pgsqlConn = NULL;
@@ -572,13 +566,13 @@ static int destroy_pgsql(const char *database, const char *table, const char *ke
}
va_end(ap);
- ast_debug(1, "Postgresql RealTime: Delete SQL: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Delete SQL: %s\n", sql);
if (!(result = PQexec(pgsqlConn, sql))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
ast_mutex_unlock(&pgsql_lock);
return -1;
} else {
@@ -587,9 +581,9 @@ static int destroy_pgsql(const char *database, const char *table, const char *ke
&& result_status != PGRES_TUPLES_OK
&& result_status != PGRES_NONFATAL_ERROR) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s (%s)\n",
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s (%s)\n",
PQresultErrorMessage(result), PQresStatus(result_status));
ast_mutex_unlock(&pgsql_lock);
return -1;
@@ -599,7 +593,7 @@ static int destroy_pgsql(const char *database, const char *table, const char *ke
numrows = atoi(PQcmdTuples(result));
ast_mutex_unlock(&pgsql_lock);
- ast_debug(1, "Postgresql RealTime: Deleted %d rows on table: %s\n", numrows, table);
+ ast_debug(1, "PostgreSQL RealTime: Deleted %d rows on table: %s\n", numrows, table);
/* From http://dev.pgsql.com/doc/pgsql/en/pgsql-affected-rows.html
* An integer greater than zero indicates the number of rows affected
@@ -631,7 +625,7 @@ static struct ast_config *config_pgsql(const char *database, const char *table,
last[0] = '\0';
if (!file || !strcmp(file, RES_CONFIG_PGSQL_CONF)) {
- ast_log(LOG_WARNING, "Postgresql RealTime: Cannot configure myself.\n");
+ ast_log(LOG_WARNING, "PostgreSQL RealTime: Cannot configure myself.\n");
return NULL;
}
@@ -639,7 +633,7 @@ static struct ast_config *config_pgsql(const char *database, const char *table,
ast_build_string(&sql, &sqlleft, "WHERE filename='%s' and commented=0", file);
ast_build_string(&sql, &sqlleft, "ORDER BY cat_metric DESC, var_metric ASC, category, var_name ");
- ast_debug(1, "Postgresql RealTime: Static SQL: %s\n", sqlbuf);
+ ast_debug(1, "PostgreSQL RealTime: Static SQL: %s\n", sqlbuf);
/* We now have our complete statement; Lets connect to the server and execute it. */
ast_mutex_lock(&pgsql_lock);
@@ -650,9 +644,9 @@ static struct ast_config *config_pgsql(const char *database, const char *table,
if (!(result = PQexec(pgsqlConn, sqlbuf))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
ast_mutex_unlock(&pgsql_lock);
return NULL;
} else {
@@ -661,9 +655,9 @@ static struct ast_config *config_pgsql(const char *database, const char *table,
&& result_status != PGRES_TUPLES_OK
&& result_status != PGRES_NONFATAL_ERROR) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Failed to query database. Check debug for more info.\n");
- ast_debug(1, "Postgresql RealTime: Query: %s\n", sql);
- ast_debug(1, "Postgresql RealTime: Query Failed because: %s (%s)\n",
+ "PostgreSQL RealTime: Failed to query database. Check debug for more info.\n");
+ ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql);
+ ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s (%s)\n",
PQresultErrorMessage(result), PQresStatus(result_status));
ast_mutex_unlock(&pgsql_lock);
return NULL;
@@ -673,7 +667,7 @@ static struct ast_config *config_pgsql(const char *database, const char *table,
if ((num_rows = PQntuples(result)) > 0) {
int rowIndex = 0;
- ast_debug(1, "Postgresql RealTime: Found %ld rows.\n", num_rows);
+ ast_debug(1, "PostgreSQL RealTime: Found %ld rows.\n", num_rows);
for (rowIndex = 0; rowIndex < num_rows; rowIndex++) {
char *field_category = PQgetvalue(result, rowIndex, 0);
@@ -702,7 +696,7 @@ static struct ast_config *config_pgsql(const char *database, const char *table,
}
} else {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Could not find config '%s' in database.\n", file);
+ "PostgreSQL RealTime: Could not find config '%s' in database.\n", file);
}
PQclear(result);
@@ -727,7 +721,7 @@ static int load_module(void)
return AST_MODULE_LOAD_DECLINE;
ast_config_engine_register(&pgsql_engine);
- ast_verb(1, "Postgresql RealTime driver loaded.\n");
+ ast_verb(1, "PostgreSQL RealTime driver loaded.\n");
ast_cli_register_multiple(cli_realtime, sizeof(cli_realtime) / sizeof(struct ast_cli_entry));
return 0;
@@ -744,7 +738,7 @@ static int unload_module(void)
}
ast_cli_unregister_multiple(cli_realtime, sizeof(cli_realtime) / sizeof(struct ast_cli_entry));
ast_config_engine_deregister(&pgsql_engine);
- ast_verb(1, "Postgresql RealTime unloaded.\n");
+ ast_verb(1, "PostgreSQL RealTime unloaded.\n");
/* Unlock so something else can destroy the lock. */
ast_mutex_unlock(&pgsql_lock);
@@ -782,7 +776,7 @@ static int parse_config(int reload)
if (!(s = ast_variable_retrieve(config, "general", "dbuser"))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: No database user found, using 'asterisk' as default.\n");
+ "PostgreSQL RealTime: No database user found, using 'asterisk' as default.\n");
strcpy(dbuser, "asterisk");
} else {
ast_copy_string(dbuser, s, sizeof(dbuser));
@@ -790,7 +784,7 @@ static int parse_config(int reload)
if (!(s = ast_variable_retrieve(config, "general", "dbpass"))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: No database password found, using 'asterisk' as default.\n");
+ "PostgreSQL RealTime: No database password found, using 'asterisk' as default.\n");
strcpy(dbpass, "asterisk");
} else {
ast_copy_string(dbpass, s, sizeof(dbpass));
@@ -798,7 +792,7 @@ static int parse_config(int reload)
if (!(s = ast_variable_retrieve(config, "general", "dbhost"))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: No database host found, using localhost via socket.\n");
+ "PostgreSQL RealTime: No database host found, using localhost via socket.\n");
dbhost[0] = '\0';
} else {
ast_copy_string(dbhost, s, sizeof(dbhost));
@@ -806,7 +800,7 @@ static int parse_config(int reload)
if (!(s = ast_variable_retrieve(config, "general", "dbname"))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: No database name found, using 'asterisk' as default.\n");
+ "PostgreSQL RealTime: No database name found, using 'asterisk' as default.\n");
strcpy(dbname, "asterisk");
} else {
ast_copy_string(dbname, s, sizeof(dbname));
@@ -814,7 +808,7 @@ static int parse_config(int reload)
if (!(s = ast_variable_retrieve(config, "general", "dbport"))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: No database port found, using 5432 as default.\n");
+ "PostgreSQL RealTime: No database port found, using 5432 as default.\n");
dbport = 5432;
} else {
dbport = atoi(s);
@@ -822,7 +816,7 @@ static int parse_config(int reload)
if (!ast_strlen_zero(dbhost) && !(s = ast_variable_retrieve(config, "general", "dbsock"))) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: No database socket found, using '/tmp/pgsql.sock' as default.\n");
+ "PostgreSQL RealTime: No database socket found, using '/tmp/pgsql.sock' as default.\n");
strcpy(dbsock, "/tmp/pgsql.sock");
} else {
ast_copy_string(dbsock, s, sizeof(dbsock));
@@ -831,23 +825,23 @@ static int parse_config(int reload)
if (option_debug) {
if (!ast_strlen_zero(dbhost)) {
- ast_debug(1, "Postgresql RealTime Host: %s\n", dbhost);
- ast_debug(1, "Postgresql RealTime Port: %i\n", dbport);
+ ast_debug(1, "PostgreSQL RealTime Host: %s\n", dbhost);
+ ast_debug(1, "PostgreSQL RealTime Port: %i\n", dbport);
} else {
- ast_debug(1, "Postgresql RealTime Socket: %s\n", dbsock);
+ ast_debug(1, "PostgreSQL RealTime Socket: %s\n", dbsock);
}
- ast_debug(1, "Postgresql RealTime User: %s\n", dbuser);
- ast_debug(1, "Postgresql RealTime Password: %s\n", dbpass);
- ast_debug(1, "Postgresql RealTime DBName: %s\n", dbname);
+ ast_debug(1, "PostgreSQL RealTime User: %s\n", dbuser);
+ ast_debug(1, "PostgreSQL RealTime Password: %s\n", dbpass);
+ ast_debug(1, "PostgreSQL RealTime DBName: %s\n", dbname);
}
if (!pgsql_reconnect(NULL)) {
ast_log(LOG_WARNING,
- "Postgresql RealTime: Couldn't establish connection. Check debug.\n");
- ast_debug(1, "Postgresql RealTime: Cannot Connect: %s\n", PQerrorMessage(pgsqlConn));
+ "PostgreSQL RealTime: Couldn't establish connection. Check debug.\n");
+ ast_debug(1, "PostgreSQL RealTime: Cannot Connect: %s\n", PQerrorMessage(pgsqlConn));
}
- ast_verb(2, "Postgresql RealTime reloaded.\n");
+ ast_verb(2, "PostgreSQL RealTime reloaded.\n");
/* Done reloading. Release lock so others can now use driver. */
ast_mutex_unlock(&pgsql_lock);
@@ -887,61 +881,72 @@ static int pgsql_reconnect(const char *database)
connInfo = NULL;
ast_debug(1, "pgsqlConn=%p\n", pgsqlConn);
if (pgsqlConn && PQstatus(pgsqlConn) == CONNECTION_OK) {
- ast_debug(1, "Postgresql RealTime: Successfully connected to database.\n");
+ ast_debug(1, "PostgreSQL RealTime: Successfully connected to database.\n");
connect_time = time(NULL);
return 1;
} else {
ast_log(LOG_ERROR,
- "Postgresql RealTime: Failed to connect database server %s on %s. Check debug for more info.\n",
+ "PostgreSQL RealTime: Failed to connect database server %s on %s. Check debug for more info.\n",
dbname, dbhost);
- ast_debug(1, "Postgresql RealTime: Cannot Connect: %s\n", PQresultErrorMessage(NULL));
+ ast_debug(1, "PostgreSQL RealTime: Cannot Connect: %s\n", PQresultErrorMessage(NULL));
return 0;
}
} else {
- ast_debug(1, "Postgresql RealTime: Everything is fine.\n");
+ ast_debug(1, "PostgreSQL RealTime: Everything is fine.\n");
return 1;
}
}
-static int realtime_pgsql_status(int fd, int argc, char **argv)
+static char *handle_cli_realtime_pgsql_status(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
char status[256], status2[100] = "";
int ctime = time(NULL) - connect_time;
+ switch (cmd) {
+ case CLI_INIT:
+ e->command = "realtime pgsql status";
+ e->usage =
+ "Usage: realtime pgsql status\n"
+ " Shows connection information for the PostgreSQL RealTime driver\n";
+ return NULL;
+ case CLI_GENERATE:
+ return NULL;
+ }
+
+ if (a->argc != 3)
+ return CLI_SHOWUSAGE;
+
if (pgsqlConn && PQstatus(pgsqlConn) == CONNECTION_OK) {
- if (!ast_strlen_zero(dbhost)) {
+ if (!ast_strlen_zero(dbhost))
snprintf(status, 255, "Connected to %s@%s, port %d", dbname, dbhost, dbport);
- } else if (!ast_strlen_zero(dbsock)) {
+ else if (!ast_strlen_zero(dbsock))
snprintf(status, 255, "Connected to %s on socket file %s", dbname, dbsock);
- } else {
+ else
snprintf(status, 255, "Connected to %s@%s", dbname, dbhost);
- }
- if (!ast_strlen_zero(dbuser)) {
+ if (!ast_strlen_zero(dbuser))
snprintf(status2, 99, " with username %s", dbuser);
- }
- if (ctime > 31536000) {
- ast_cli(fd, "%s%s for %d years, %d days, %d hours, %d minutes, %d seconds.\n",
+ if (ctime > 31536000)
+ ast_cli(a->fd, "%s%s for %d years, %d days, %d hours, %d minutes, %d seconds.\n",
status, status2, ctime / 31536000, (ctime % 31536000) / 86400,
(ctime % 86400) / 3600, (ctime % 3600) / 60, ctime % 60);
- } else if (ctime > 86400) {
- ast_cli(fd, "%s%s for %d days, %d hours, %d minutes, %d seconds.\n", status,
+ else if (ctime > 86400)
+ ast_cli(a->fd, "%s%s for %d days, %d hours, %d minutes, %d seconds.\n", status,
status2, ctime / 86400, (ctime % 86400) / 3600, (ctime % 3600) / 60,
ctime % 60);
- } else if (ctime > 3600) {
- ast_cli(fd, "%s%s for %d hours, %d minutes, %d seconds.\n", status, status2,
+ else if (ctime > 3600)
+ ast_cli(a->fd, "%s%s for %d hours, %d minutes, %d seconds.\n", status, status2,
ctime / 3600, (ctime % 3600) / 60, ctime % 60);
- } else if (ctime > 60) {
- ast_cli(fd, "%s%s for %d minutes, %d seconds.\n", status, status2, ctime / 60,
+ else if (ctime > 60)
+ ast_cli(a->fd, "%s%s for %d minutes, %d seconds.\n", status, status2, ctime / 60,
ctime % 60);
- } else {
- ast_cli(fd, "%s%s for %d seconds.\n", status, status2, ctime);
- }
+ else
+ ast_cli(a->fd, "%s%s for %d seconds.\n", status, status2, ctime);
- return RESULT_SUCCESS;
+ return CLI_SUCCESS;
} else {
- return RESULT_FAILURE;
+ return CLI_FAILURE;
}
}