- Fixed imagecolorallocate() and imagecolorallocatelapha() to return FALSE
on error. (Pierre)
- Fixed bug #36185 (str_rot13(NULL) crash). (Pierre)
+- Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of rows
+ affected by the operation). (Ilia)
- Fixed bug #36152 (problems with curl+ssl and pgsql+ssl in same PHP). (Mike)
- Fixed bug #36148 (unpack("H*hex", $data) is adding an extra character to the
end of the string). (Ilia)
{
pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data;
PGresult *res;
+ long ret = 1;
if (!(res = PQexec(H->server, sql))) {
/* fatal error */
pdo_pgsql_error(dbh, PGRES_FATAL_ERROR, NULL);
return -1;
- } else {
- ExecStatusType qs = PQresultStatus(res);
- if (qs != PGRES_COMMAND_OK && qs != PGRES_TUPLES_OK) {
- pdo_pgsql_error(dbh, qs, pdo_pgsql_sqlstate(res));
- PQclear(res);
- return -1;
- }
- H->pgoid = PQoidValue(res);
+ }
+ ExecStatusType qs = PQresultStatus(res);
+ if (qs != PGRES_COMMAND_OK && qs != PGRES_TUPLES_OK) {
+ pdo_pgsql_error(dbh, qs, pdo_pgsql_sqlstate(res));
PQclear(res);
+ return -1;
}
+ H->pgoid = PQoidValue(res);
+#if HAVE_PQCMDTUPLES
+ ret = atol(PQcmdTuples(res));
+#endif
+ PQclear(res);
- return 1;
+ return ret;
}
static int pgsql_handle_quoter(pdo_dbh_t *dbh, const char *unquoted, int unquotedlen, char **quoted, int *quotedlen, enum pdo_param_type paramtype TSRMLS_DC)