Edit report at http://bugs.php.net/bug.php?id=53818&edit=1

 ID:                 53818
 Updated by:         il...@php.net
 Reported by:        r dot i dot k at free dot fr
 Summary:            Missing info in pg_get_notify function
-Status:             Open
+Status:             Closed
 Type:               Bug
 Package:            PostgreSQL related
 Operating System:   Linux
 PHP Version:        5.2.17
-Assigned To:        
+Assigned To:        iliaa
 Block user comment: N
 Private report:     N

 New Comment:

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.




Previous Comments:
------------------------------------------------------------------------
[2011-01-22 19:32:25] r dot i dot k at free dot fr

Description:
------------
Since Postgresql 9.0, event notifications fired by the NOTIFY sql
command includes a payload (a 8000 bytes max piece of text).



As of now, the PHP function pg_get_notify only retrieve the "channel"
(name of the notification) and the backend pid.



The attached patch improves this situation by adding the payload to the
returned array of the pg_get_notify function, when the connected PG
backend version is at least 9.0.



Hope it helps...

Test script:
---------------
$dbconn = pg_connect(...) ; // To be completed



pg_query($dbconn, "LISTEN toto");

pg_query($dbconn, "NOTIFY toto, 'Hello world !'");



$notify = pg_get_notify($dbconn, PGSQL_ASSOC) ;



print_r($notify) ;



Expected result:
----------------
// Array("message" => "toto", "pid" => 12345, "payload" => "Hello world
!")

Actual result:
--------------
// Array("message" => "toto", "pid" => 12345)


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=53818&edit=1

Reply via email to