andrewnester
10 years ago
committed by
Joe Watkins
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
|
|
|
@ -39,6 +39,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) |
|
|
|
|
|
|
|
|
|
|
|
@ -391,7 +391,6 @@ static char *pdo_pgsql_last_insert_id(pdo_dbh_t *dbh, const char *name, size_t * |
|
|
|
(void)PQexec(H->server, "ROLLBACK TO SAVEPOINT _php_lastid_savepoint"); |
|
|
|
} |
|
|
|
pdo_pgsql_error(dbh, status, pdo_pgsql_sqlstate(res)); |
|
|
|
*len = spprintf(&id, 0, ZEND_LONG_FMT, (zend_long) H->pgoid); |
|
|
|
} |
|
|
|
|
|
|
|
if (savepoint) { |
|
|
|
|
|
|
|
@ -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 |