Martín Marqués <martin@2ndquadrant.com> writes:
> On HEAD I actually see that we *are* setting dump_contains as well:
> if (fout->remoteVersion < 90600)
> dobj->dump = DUMP_COMPONENT_NONE;
> else
> dobj->dump = ext->dobj.dump_contains & (DUMP_COMPONENT_ACL |
> DUMP_COMPONENT_SECLABEL | DUMP_COMPONENT_POLICY);
Uh, what?
(BTW, Stephen, what's the point of the version check here? The 'else'
code seems like it would work just fine in all branches.)
>> So maybe just moving the checkExtensionMembership call to after the other
>> stuff would be enough in HEAD?
> Looking into older versions as well I can't see how placing
> checkExtensionMembership at the end of selectDumpableNamespace would
> help. (like-wise for other selectDumpable's)
The fix in HEAD will necessarily look quite a bit different from
the back branches, I fear. But the idea I had in mind there was that
we'd calculate a namespace's dump and dump_contains flags as if it
were not an extension member, and then allow checkExtensionMembership
to overwrite the dump flags if it is a member. Since
checkExtensionMembership doesn't touch the dump_contains flags, that
would leave all the flags in the desired state.
regards, tom lane