Based on [1], please find attached an implementation for listening
for notifications on all channels. The first two chunks lay some
groundwork and do not change the current LISTEN behavior, except
to improve performance of managing large numbers of channels.

v1-0001-Make-simplehash-more-flexible.patch makes working with
char pointer keys possible.

v1-0002-Improve-LISTEN-NOTIFY-UNLISTEN-performance.patch replaces
the current List implementation with a simplehash.h-based table.

v1-0003-WIP-Allow-LISTENing-for-all-channels.patch has the real meat
but needs further work, as the results from pg_listening_channels()
provides no clue that, after 'LISTEN *', the results list exceptions
rather than notifiable channels.


-- Trey


Attachment: v1-0001-Make-simplehash-more-flexible.patch
Description: Binary data

Attachment: v1-0002-Improve-LISTEN-NOTIFY-UNLISTEN-performance.patch
Description: Binary data

Attachment: v1-0003-WIP-Allow-LISTENing-for-all-channels.patch
Description: Binary data

Reply via email to