El 22/06/16 a las 12:12, Tom Lane escribió:
>
> Ah. So maybe we just need to rearrange selectDumpableNamespace.
> Offhand, it seems like we want checkExtensionMembership to adjust the
> namespace's dump bits, but not its dump_contained bits (which indeed it
> already doesn't, which until just now I would have said is an oversight).
On HEAD I actually see that we *are* setting dump_contains as well:
if (fout->remoteVersion < 90600)dobj->dump = DUMP_COMPONENT_NONE;
elsedobj->dump = ext->dobj.dump_contains & (DUMP_COMPONENT_ACL | DUMP_COMPONENT_SECLABEL | DUMP_COMPONENT_POLICY);
> 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)
If a non extension table belongs to a schema created by an extension,
the schema will have nsinfo->dobj.dump = false, so when we check if the
non extension table is dumpable we end up with this (unless there's -t
or -T which is not interesting for this patch):
tbinfo->dobj.dump = tbinfo->dobj.namespace->dobj.dump;
On HEAD (where I started looking at this bug) the situation is similar.
It might just be that I'm missing something here.
Regards,
--
Martín Marqués http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services