summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/pgsql/php_pgsql.h10
-rw-r--r--ext/pgsql/tests/notice.inc6
2 files changed, 13 insertions, 3 deletions
diff --git a/ext/pgsql/php_pgsql.h b/ext/pgsql/php_pgsql.h
index 85573d8ad8..42313390ca 100644
--- a/ext/pgsql/php_pgsql.h
+++ b/ext/pgsql/php_pgsql.h
@@ -141,6 +141,11 @@ typedef struct _php_pgsql_result_handle {
int row;
} pgsql_result_handle;
+typedef struct _php_pgsql_notice {
+ char *message;
+ size_t len;
+} php_pgsql_notice;
+
typedef struct {
long default_link;
long num_links,num_persistent;
@@ -148,9 +153,8 @@ typedef struct {
long allow_persistent;
long auto_reset_persistent;
int le_lofp,le_string;
- int ignore_notices;
- char *last_notice;
- uint last_notice_len;
+ int ignore_notices,log_notices;
+ HashTable notices;
} php_pgsql_globals;
diff --git a/ext/pgsql/tests/notice.inc b/ext/pgsql/tests/notice.inc
index 7764d458ea..4c2b1de49e 100644
--- a/ext/pgsql/tests/notice.inc
+++ b/ext/pgsql/tests/notice.inc
@@ -1,11 +1,17 @@
<?php
include 'config.inc';
+ini_set('pgsql.log_notice',1);
+
$db = pg_connect($conn_str);
pg_query($db, "BEGIN;");
pg_query($db, "BEGIN;");
$msg = pg_last_notice($db);
+if ($msg === FALSE) {
+ echo "Cannot find notice message in hash\n";
+ var_dump($msg);
+}
echo $msg;
echo "pg_last_notice() is Ok\n";