From d1e027221d0243b7b57eabb0e482923dd7d1c8eb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 16 Feb 2010 22:34:57 +0000 Subject: Replace the pg_listener-based LISTEN/NOTIFY mechanism with an in-memory queue. In addition, add support for a "payload" string to be passed along with each notify event. This implementation should be significantly more efficient than the old one, and is also more compatible with Hot Standby usage. There is not yet any facility for HS slaves to receive notifications generated on the master, although such a thing is possible in future. Joachim Wieland, reviewed by Jeff Davis; also hacked on by me. --- src/test/regress/expected/guc.out | 12 ++++++------ src/test/regress/expected/sanity_check.out | 3 +-- src/test/regress/sql/guc.sql | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) (limited to 'src/test') diff --git a/src/test/regress/expected/guc.out b/src/test/regress/expected/guc.out index 83cacbdd209..59c120c99a3 100644 --- a/src/test/regress/expected/guc.out +++ b/src/test/regress/expected/guc.out @@ -532,9 +532,9 @@ CREATE TEMP TABLE tmp_foo (data text) ON COMMIT DELETE ROWS; CREATE ROLE temp_reset_user; SET SESSION AUTHORIZATION temp_reset_user; -- look changes -SELECT relname FROM pg_listener; - relname ------------ +SELECT pg_listening_channels(); + pg_listening_channels +----------------------- foo_event (1 row) @@ -571,9 +571,9 @@ SELECT current_user = 'temp_reset_user'; -- discard everything DISCARD ALL; -- look again -SELECT relname FROM pg_listener; - relname ---------- +SELECT pg_listening_channels(); + pg_listening_channels +----------------------- (0 rows) SELECT name FROM pg_prepared_statements; diff --git a/src/test/regress/expected/sanity_check.out b/src/test/regress/expected/sanity_check.out index 4dc59d9b5de..1d9e1100448 100644 --- a/src/test/regress/expected/sanity_check.out +++ b/src/test/regress/expected/sanity_check.out @@ -107,7 +107,6 @@ SELECT relname, relhasindex pg_language | t pg_largeobject | t pg_largeobject_metadata | t - pg_listener | f pg_namespace | t pg_opclass | t pg_operator | t @@ -154,7 +153,7 @@ SELECT relname, relhasindex timetz_tbl | f tinterval_tbl | f varchar_tbl | f -(143 rows) +(142 rows) -- -- another sanity check: every system catalog that has OIDs should have diff --git a/src/test/regress/sql/guc.sql b/src/test/regress/sql/guc.sql index a7b795af47d..21ed86f26ba 100644 --- a/src/test/regress/sql/guc.sql +++ b/src/test/regress/sql/guc.sql @@ -165,7 +165,7 @@ CREATE TEMP TABLE tmp_foo (data text) ON COMMIT DELETE ROWS; CREATE ROLE temp_reset_user; SET SESSION AUTHORIZATION temp_reset_user; -- look changes -SELECT relname FROM pg_listener; +SELECT pg_listening_channels(); SELECT name FROM pg_prepared_statements; SELECT name FROM pg_cursors; SHOW vacuum_cost_delay; @@ -174,7 +174,7 @@ SELECT current_user = 'temp_reset_user'; -- discard everything DISCARD ALL; -- look again -SELECT relname FROM pg_listener; +SELECT pg_listening_channels(); SELECT name FROM pg_prepared_statements; SELECT name FROM pg_cursors; SHOW vacuum_cost_delay; -- cgit v1.2.3