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 |
v1-0001-Make-simplehash-more-flexible.patch
Description: Binary data
v1-0002-Improve-LISTEN-NOTIFY-UNLISTEN-performance.patch
Description: Binary data
v1-0003-WIP-Allow-LISTENing-for-all-channels.patch
Description: Binary data