blob: 784de2e99f9033f75dfb67c69345c6436932f8dd [file] [log] [blame]
--
-- ASYNC
--
--Should work. Send a valid message via a valid channel name
SELECT pg_notify('notify_async1','sample message1');
pg_notify
-----------
(1 row)
SELECT pg_notify('notify_async1','');
pg_notify
-----------
(1 row)
SELECT pg_notify('notify_async1',NULL);
pg_notify
-----------
(1 row)
-- Should fail. Send a valid message via an invalid channel name
SELECT pg_notify('','sample message1');
ERROR: channel name cannot be empty
SELECT pg_notify(NULL,'sample message1');
ERROR: channel name cannot be empty
SELECT pg_notify('notify_async_channel_name_too_long______________________________','sample_message1');
ERROR: channel name too long
--Should work. Valid NOTIFY/LISTEN/UNLISTEN commands
NOTIFY notify_async2;
LISTEN notify_async2;
UNLISTEN notify_async2;
UNLISTEN *;
-- Should return zero while there are no pending notifications.
-- src/test/isolation/specs/async-notify.spec tests for actual usage.
SELECT pg_notification_queue_usage();
pg_notification_queue_usage
-----------------------------
0
(1 row)
-- start_matchsubs
-- m/Asynchronous notification "notify_async3" received from server process with PID.*/
-- s/Asynchronous notification "notify_async3" received from server process with PID.*/Asynchronous notification "notify_async3" received/
-- end_matchsubs
\c postgres
LISTEN notify_async3;
\! psql postgres -Xc "notify notify_async3;"
NOTIFY
SELECT;
--
(1 row)
Asynchronous notification "notify_async3" received
\c -