Alvaro Herrera <alvherre@commandprompt.com> writes:
> Tom Lane wrote:
>> ... I wonder if it would
>> be worth refactoring the code so that a multiple-object DROP is
>> implemented via performMultipleDeletions(). This would have more
>> than just cosmetic advantages: it would no longer matter what
>> order you listed the tables in. But the refactoring required looks
>> bigger and more tedious than I want to tackle right now.
> Hmm, this is a bit ugly. I'd vote for doing the refactoring. However,
> I'd say you should commit the patch you currently have and let one of
> the younger hackers fix that problem -- it looks like an good beginner
> project.
Agreed --- I committed what I had, anyone want to volunteer for
refactoring the execution of DropStmt?
After looking again, I think that this is not technically very
difficult, but coming up with something that looks tasteful to everyone
might be tricky. In particular I didn't see a nice way to do it without
using struct ObjectAddress in a bunch of header files that don't
currently include dependency.h. A possible response to that is to move
ObjectAddress into postgres.h, but that seems a bit ugly too.
regards, tom lane