Re: PDO PgSQL: _pdo_pgsql_notice

From: Date: Tue, 06 Oct 2009 22:31:28 +0000
Subject: Re: PDO PgSQL: _pdo_pgsql_notice
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-45674@lists.php.net to get a copy of this message
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

« previous php.internals (#45674) next »