iliaa           Sun Jan 29 17:36:12 2006 UTC

  Modified files:              
    /php-src/ext/pdo_pgsql      pgsql_driver.c 
  Log:
  MFB51: Fixed bug #36176 (PDO_PGSQL - PDO::exec() does not return number of 
  rows affected by the operation).
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/pdo_pgsql/pgsql_driver.c?r1=1.56&r2=1.57&diff_format=u
Index: php-src/ext/pdo_pgsql/pgsql_driver.c
diff -u php-src/ext/pdo_pgsql/pgsql_driver.c:1.56 
php-src/ext/pdo_pgsql/pgsql_driver.c:1.57
--- php-src/ext/pdo_pgsql/pgsql_driver.c:1.56   Sun Jan  1 13:09:53 2006
+++ php-src/ext/pdo_pgsql/pgsql_driver.c        Sun Jan 29 17:36:12 2006
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pgsql_driver.c,v 1.56 2006/01/01 13:09:53 sniper Exp $ */
+/* $Id: pgsql_driver.c,v 1.57 2006/01/29 17:36:12 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -222,23 +222,26 @@
 {
        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)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to