Without this patch concurrent ALTER/DROP SUBSCRIPTION statements for 
the same subscription could result in one of these statements returning the
following error:

ERROR:  XX000: tuple concurrently updated

This patch fixes that by re-fetching the tuple after acquiring the lock on the
subscription. The included isolation test fails most of its permutations
without this patch, with the error shown above.

The loop to re-fetch the tuple is heavily based on the code from dbcommands.c

Attachment: 0001-Fix-errors-when-concurrently-altering-subscriptions.patch
Description: 0001-Fix-errors-when-concurrently-altering-subscriptions.patch

Reply via email to