Hi,

>> Please allow some time for me to check how they are currently dealt with
>>  in the pgsql extension and to see how they can be implemented in the
>> PDO driver.
> 
> Actually, the PosgreSQL driver for PDO don't report
> notices.. The content of "_pdo_pgsql_notice" is commented !
> 
> Thanks a lot for the time you passed/you'll pass !

Here's a proof of concept patch you can apply to the PHP_5_3 branch:

http://www.beccati.com/misc/php/pdo_pgsql_notices_php5_3.patch

I still need to clean it up a bit and discuss it with the team, but
here's how it currently works:

$db = new PDO(...);
$db->setAttribute(PDO::PGSQL_ATTR_ENABLE_NOTICES, true);

$db->exec($query); // works with $db->query() too
$aNotices = $db->pgsqlGetNotices();

And you will get an array of the notices raised by the last query.

To sum up:
* Notices are disabled by default, minimising the overhead
* Unlike the pgsql extension which returns the most recent one, multiple
notices can be fetched
* A new query will reset the stored notices
* Available on the base class because exec() doesn't return a PDOStatement

Hope this helps


Cheers
-- 
Matteo Beccati

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to