On Tue, Feb 2, 2021, at 8:38 AM, japin wrote:
In 0003 patch, function GetPublicationRelationQuals() has been defined, but it
never used. So why should we define it?
Thanks for taking a look again. It is an oversight. It was introduced in an
attempt to refactor ALTER PUBLICATION SET TABLE. In AlterPublicationTables, we
could possibly keep some publication-table mappings that does not change,
however, since commit 3696a600e2, it is required to find the qual for all
inheritors (see GetPublicationRelations). I explain this decision in the
following comment:
/*
* Remove all publication-table mappings. We could possibly
* remove (i) tables that are not found in the new table list and
* (ii) tables that are being re-added with a different qual
* expression. For (ii), simply updating the existing tuple is not
* enough, because of qual expression dependencies.
*/
I will post a new patch set later.