]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6' into PHP-7.0
authorAnatol Belski <ab@php.net>
Sun, 14 Aug 2016 18:04:49 +0000 (20:04 +0200)
committerAnatol Belski <ab@php.net>
Sun, 14 Aug 2016 18:04:49 +0000 (20:04 +0200)
* PHP-5.6:
  Fixed bug #72759 Regression in pgo_pgsql

1  2 
ext/pdo_pgsql/pgsql_driver.c

index df99912e4cef30284e8dffaa7c30320aaf453701,b27753b47f61bafab3d5fc9e0e84d5acd8910eff..5a26b1db04ccc3b372566db48f9f4cdfbb7ad84a
@@@ -378,10 -382,17 +385,17 @@@ static char *pdo_pgsql_last_insert_id(p
                id = estrdup((char *)PQgetvalue(res, 0, 0));
                *len = PQgetlength(res, 0, 0);
        } else {
+               if (savepoint) {
+                       (void)PQexec(H->server, "ROLLBACK TO SAVEPOINT _php_lastid_savepoint");
+               }
                pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res));
 -              *len = spprintf(&id, 0, "%ld", (long) H->pgoid);
 +              *len = spprintf(&id, 0, ZEND_LONG_FMT, (zend_long) H->pgoid);
        }
  
+       if (savepoint) {
+               (void)PQexec(H->server, "RELEASE SAVEPOINT _php_lastid_savepoint");
+       }
        if (res) {
                PQclear(res);
        }