• Tom Lane's avatar
    Rewrite DROP's dependency traversal algorithm into an honest two-pass · 281a724d
    Tom Lane authored
    algorithm, replacing the original intention of a one-pass search, which
    had been hacked up over time to be partially two-pass in hopes of handling
    various corner cases better.  It still wasn't quite there, especially as
    regards emitting unwanted NOTICE messages.  More importantly, this approach
    lets us fix a number of open bugs concerning concurrent DROP scenarios,
    because we can take locks during the first pass and avoid traversing to
    dependent objects that were just deleted by someone else.
    
    There is more that can be done here, but I'll go ahead and commit the
    base patch before working on the options.
    281a724d
namespace.out 1.26 KB