From: Aron Podrigal Date: Thu, 18 Mar 2021 22:13:01 +0000 (-0500) Subject: [mod_pgsql] Use PQcmdTuples() to get number of effected rows to support UPDATE and... X-Git-Tag: v1.10.6^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fddc6adf8d3d1581f041984bd475ff18336a3f4e;p=thirdparty%2Ffreeswitch.git [mod_pgsql] Use PQcmdTuples() to get number of effected rows to support UPDATE and INSERT without RETURNING. --- 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;