diff --git a/src/mod/databases/mod_pgsql/mod_pgsql.c b/src/mod/databases/mod_pgsql/mod_pgsql.c index f7c2983f91..8c24cf9fce 100644 --- a/src/mod/databases/mod_pgsql/mod_pgsql.c +++ b/src/mod/databases/mod_pgsql/mod_pgsql.c @@ -633,6 +633,7 @@ error: switch_status_t pgsql_next_result_timed(switch_pgsql_handle_t *handle, switch_pgsql_result_t **result_out, int msec) { + char *affected_rows = NULL; switch_pgsql_result_t *res; switch_time_t start; switch_time_t ctime; @@ -747,6 +748,11 @@ switch_status_t pgsql_next_result_timed(switch_pgsql_handle_t *handle, switch_pg res->result = PQgetResult(handle->con); if (res->result) { + affected_rows = PQcmdTuples(res->result); + if (!zstr(affected_rows)) { + handle->affected_rows = atoi(affected_rows); + } + *result_out = res; res->status = PQresultStatus(res->result); switch (res->status) { @@ -757,7 +763,6 @@ switch_status_t pgsql_next_result_timed(switch_pgsql_handle_t *handle, switch_pg case PGRES_TUPLES_OK: { res->rows = PQntuples(res->result); - handle->affected_rows = res->rows; res->cols = PQnfields(res->result); } break;