mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-10 11:58:08 +00:00
res_config_pgsql: Fix ast_update2_realtime calls.
Fix so multiple updates from a single call works (add missing ','). Remove bogus ast_free's that weren't supposed to be there. Moved a few spaces for readability. Review: https://reviewboard.asterisk.org/r/3194/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@407873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -773,8 +773,8 @@ static int update2_pgsql(const char *database, const char *tablename, va_list ap
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ast_str_set(&sql, 0, "UPDATE %s SET ", tablename);
|
ast_str_set(&sql, 0, "UPDATE %s SET", tablename);
|
||||||
ast_str_set(&where, 0, "WHERE");
|
ast_str_set(&where, 0, " WHERE");
|
||||||
|
|
||||||
while ((newparam = va_arg(ap, const char *))) {
|
while ((newparam = va_arg(ap, const char *))) {
|
||||||
if (!find_column(table, newparam)) {
|
if (!find_column(table, newparam)) {
|
||||||
@@ -788,7 +788,6 @@ static int update2_pgsql(const char *database, const char *tablename, va_list ap
|
|||||||
if (pgresult) {
|
if (pgresult) {
|
||||||
ast_log(LOG_ERROR, "Postgres detected invalid input: '%s'\n", newval);
|
ast_log(LOG_ERROR, "Postgres detected invalid input: '%s'\n", newval);
|
||||||
release_table(table);
|
release_table(table);
|
||||||
ast_free(sql);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ast_str_append(&where, 0, "%s %s='%s'", first ? "" : " AND", newparam, ast_str_buffer(escapebuf));
|
ast_str_append(&where, 0, "%s %s='%s'", first ? "" : " AND", newparam, ast_str_buffer(escapebuf));
|
||||||
@@ -821,15 +820,15 @@ static int update2_pgsql(const char *database, const char *tablename, va_list ap
|
|||||||
if (pgresult) {
|
if (pgresult) {
|
||||||
ast_log(LOG_ERROR, "Postgres detected invalid input: '%s'\n", newval);
|
ast_log(LOG_ERROR, "Postgres detected invalid input: '%s'\n", newval);
|
||||||
release_table(table);
|
release_table(table);
|
||||||
ast_free(sql);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ast_str_append(&sql, 0, "%s %s='%s'", first ? "" : ",", newparam, ast_str_buffer(escapebuf));
|
ast_str_append(&sql, 0, "%s %s='%s'", first ? "" : ",", newparam, ast_str_buffer(escapebuf));
|
||||||
|
first = 0;
|
||||||
}
|
}
|
||||||
release_table(table);
|
release_table(table);
|
||||||
|
|
||||||
ast_str_append(&sql, 0, " %s", ast_str_buffer(where));
|
ast_str_append(&sql, 0, "%s", ast_str_buffer(where));
|
||||||
|
|
||||||
ast_debug(1, "PostgreSQL RealTime: Update SQL: %s\n", ast_str_buffer(sql));
|
ast_debug(1, "PostgreSQL RealTime: Update SQL: %s\n", ast_str_buffer(sql));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user