128 lines
3.7 KiB
Plaintext
128 lines
3.7 KiB
Plaintext
Parsed test spec with 3 sessions
|
|
|
|
starting permutation: listenc notify1 notify2 notify3 notifyf
|
|
step listenc: LISTEN c1; LISTEN c2;
|
|
step notify1: NOTIFY c1;
|
|
notifier: NOTIFY "c1" with payload "" from notifier
|
|
step notify2: NOTIFY c2, 'payload';
|
|
notifier: NOTIFY "c2" with payload "payload" from notifier
|
|
step notify3: NOTIFY c3, 'payload3';
|
|
step notifyf: SELECT pg_notify('c2', NULL);
|
|
pg_notify
|
|
---------
|
|
|
|
(1 row)
|
|
|
|
notifier: NOTIFY "c2" with payload "" from notifier
|
|
|
|
starting permutation: listenc notifyd1 notifyd2 notifys1
|
|
step listenc: LISTEN c1; LISTEN c2;
|
|
step notifyd1: NOTIFY c2, 'payload'; NOTIFY c1; NOTIFY "c2", 'payload';
|
|
notifier: NOTIFY "c2" with payload "payload" from notifier
|
|
notifier: NOTIFY "c1" with payload "" from notifier
|
|
step notifyd2: NOTIFY c1; NOTIFY c1; NOTIFY c1, 'p1'; NOTIFY c1, 'p2';
|
|
notifier: NOTIFY "c1" with payload "" from notifier
|
|
notifier: NOTIFY "c1" with payload "p1" from notifier
|
|
notifier: NOTIFY "c1" with payload "p2" from notifier
|
|
step notifys1:
|
|
BEGIN;
|
|
NOTIFY c1, 'payload'; NOTIFY "c2", 'payload';
|
|
NOTIFY c1, 'payload'; NOTIFY "c2", 'payload';
|
|
SAVEPOINT s1;
|
|
NOTIFY c1, 'payload'; NOTIFY "c2", 'payload';
|
|
NOTIFY c1, 'payloads'; NOTIFY "c2", 'payloads';
|
|
NOTIFY c1, 'payload'; NOTIFY "c2", 'payload';
|
|
NOTIFY c1, 'payloads'; NOTIFY "c2", 'payloads';
|
|
RELEASE SAVEPOINT s1;
|
|
SAVEPOINT s2;
|
|
NOTIFY c1, 'rpayload'; NOTIFY "c2", 'rpayload';
|
|
NOTIFY c1, 'rpayloads'; NOTIFY "c2", 'rpayloads';
|
|
NOTIFY c1, 'rpayload'; NOTIFY "c2", 'rpayload';
|
|
NOTIFY c1, 'rpayloads'; NOTIFY "c2", 'rpayloads';
|
|
ROLLBACK TO SAVEPOINT s2;
|
|
COMMIT;
|
|
|
|
notifier: NOTIFY "c1" with payload "payload" from notifier
|
|
notifier: NOTIFY "c2" with payload "payload" from notifier
|
|
notifier: NOTIFY "c1" with payload "payloads" from notifier
|
|
notifier: NOTIFY "c2" with payload "payloads" from notifier
|
|
|
|
starting permutation: llisten notify1 notify2 notify3 notifyf lcheck
|
|
step llisten: LISTEN c1; LISTEN c2;
|
|
step notify1: NOTIFY c1;
|
|
step notify2: NOTIFY c2, 'payload';
|
|
step notify3: NOTIFY c3, 'payload3';
|
|
step notifyf: SELECT pg_notify('c2', NULL);
|
|
pg_notify
|
|
---------
|
|
|
|
(1 row)
|
|
|
|
step lcheck: SELECT 1 AS x;
|
|
x
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
listener: NOTIFY "c1" with payload "" from notifier
|
|
listener: NOTIFY "c2" with payload "payload" from notifier
|
|
listener: NOTIFY "c2" with payload "" from notifier
|
|
|
|
starting permutation: listenc llisten notify1 notify2 notify3 notifyf lcheck
|
|
step listenc: LISTEN c1; LISTEN c2;
|
|
step llisten: LISTEN c1; LISTEN c2;
|
|
step notify1: NOTIFY c1;
|
|
notifier: NOTIFY "c1" with payload "" from notifier
|
|
step notify2: NOTIFY c2, 'payload';
|
|
notifier: NOTIFY "c2" with payload "payload" from notifier
|
|
step notify3: NOTIFY c3, 'payload3';
|
|
step notifyf: SELECT pg_notify('c2', NULL);
|
|
pg_notify
|
|
---------
|
|
|
|
(1 row)
|
|
|
|
notifier: NOTIFY "c2" with payload "" from notifier
|
|
step lcheck: SELECT 1 AS x;
|
|
x
|
|
-
|
|
1
|
|
(1 row)
|
|
|
|
listener: NOTIFY "c1" with payload "" from notifier
|
|
listener: NOTIFY "c2" with payload "payload" from notifier
|
|
listener: NOTIFY "c2" with payload "" from notifier
|
|
|
|
starting permutation: l2listen l2begin notify1 lbegins llisten lcommit l2commit l2stop
|
|
step l2listen: LISTEN c1;
|
|
step l2begin: BEGIN;
|
|
step notify1: NOTIFY c1;
|
|
step lbegins: BEGIN ISOLATION LEVEL SERIALIZABLE;
|
|
step llisten: LISTEN c1; LISTEN c2;
|
|
step lcommit: COMMIT;
|
|
step l2commit: COMMIT;
|
|
listener2: NOTIFY "c1" with payload "" from notifier
|
|
step l2stop: UNLISTEN *;
|
|
|
|
starting permutation: llisten lbegin usage bignotify usage
|
|
step llisten: LISTEN c1; LISTEN c2;
|
|
step lbegin: BEGIN;
|
|
step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero;
|
|
nonzero
|
|
-------
|
|
f
|
|
(1 row)
|
|
|
|
step bignotify: SELECT count(pg_notify('c1', s::text)) FROM generate_series(1, 1000) s;
|
|
count
|
|
-----
|
|
1000
|
|
(1 row)
|
|
|
|
step usage: SELECT pg_notification_queue_usage() > 0 AS nonzero;
|
|
nonzero
|
|
-------
|
|
t
|
|
(1 row)
|
|
|