Hello,
pg_dumpall.c has a function dumpRoleMembership() which dumps all
membership roles. This function includes a piece of code which checks
if the membership tree has an open end which can't be resolved.
However that code is never used.
The variable prev_remaining is initially set to 0, and then never changed.
Which in turn never executes this code:
if (remaining == prev_remaining)
because the loop is only entered while "remaining > 0".
The attached patch fixes this problem, and updates prev_remaining inside
the loop.
Co-Author: Artur Zakirov <zaartur@gmail.com>
who reviewed the patch.
Regards
--
Andreas 'ads' Scherbaum
German PostgreSQL User Group
European PostgreSQL User Group - Board of Directors
Volunteer Regional Contact, Germany - PostgreSQL Project