There are a number of Remove${Something}ById() functions that are essentially identical in structure and only different in which catalog they are working on. This patch refactors this to be one generic function. The information about which oid column, index, etc. to use was already available in ObjectProperty for most catalogs, in a few cases it was easily added.
Conceivably, this could be taken further by categorizing more special cases as ObjectProperty fields or something like that, but this seemed like a good balance.
+1
nice
Pavel
-- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services