Browse Source
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
Fixed #73959 - lastInsertId fails to throw an exception in pdsql
pull/2357/head
Joe Watkins
10 years ago
No known key found for this signature in database
GPG Key ID: F9BA0ADA31CBD89E
3 changed files with
31 additions and
1 deletions
-
NEWS
-
ext/pdo_pgsql/pgsql_driver.c
-
ext/pdo_pgsql/tests/bug73959.phpt
|
|
|
@ -43,6 +43,10 @@ PHP NEWS |
|
|
|
- PDO_Firebird: |
|
|
|
. Implemented FR #72583 (All data are fetched as strings). (Dorin Marcoci) |
|
|
|
|
|
|
|
- PDO_PgSQL: |
|
|
|
. Fixed bug #73959 (lastInsertId fails to throw an exception for wrong |
|
|
|
sequence name). (andrewnester) |
|
|
|
|
|
|
|
- Phar: |
|
|
|
. Fixed bug #70417 (PharData::compress() doesn't close temp file). (cmb) |
|
|
|
|
|
|
|
|
|
|
|
@ -379,7 +379,6 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, size_t * |
|
|
|
*len = PQgetlength(res, 0, 0); |
|
|
|
} else { |
|
|
|
pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res)); |
|
|
|
*len = spprintf(&id, 0, ZEND_LONG_FMT, (zend_long) H->pgoid); |
|
|
|
} |
|
|
|
|
|
|
|
if (res) { |
|
|
|
|
|
|
|
@ -0,0 +1,27 @@ |
|
|
|
--TEST-- |
|
|
|
Bug #73959 (lastInsertId fails to throw an exception) |
|
|
|
--SKIPIF-- |
|
|
|
<?php |
|
|
|
if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded'); |
|
|
|
require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; |
|
|
|
require dirname(__FILE__) . '/config.inc'; |
|
|
|
PDOTest::skip(); |
|
|
|
?> |
|
|
|
--FILE-- |
|
|
|
<?php |
|
|
|
require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; |
|
|
|
require dirname(__FILE__) . '/config.inc'; |
|
|
|
$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); |
|
|
|
$db->setAttribute(PDO::ATTR_PERSISTENT, false); |
|
|
|
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
|
|
|
$db->setAttribute(PDO::PGSQL_ATTR_DISABLE_PREPARES, true); |
|
|
|
|
|
|
|
try { |
|
|
|
$db->lastInsertId('nonexistent_seq'); |
|
|
|
echo "Error: No exception thrown"; |
|
|
|
} catch (PDOException $e) { |
|
|
|
echo "Success: Exception thrown"; |
|
|
|
} |
|
|
|
?> |
|
|
|
--EXPECT-- |
|
|
|
Success: Exception thrown |