• Tom Lane's avatar
    Make INSERT/UPDATE queries depend on their specific target columns. · c6be1f43
    Tom Lane authored
    We have always created a whole-table dependency for the target relation,
    but that's not really good enough, as it doesn't prevent scenarios such
    as dropping an individual target column or altering its type.  So we
    have to create an individual dependency for each target column, as well.
    
    Per report from Bill MacArthur of a rule containing UPDATE breaking
    after such an alteration.  Note that this patch doesn't try to make
    such cases work, only to ensure that the attempted ALTER TABLE throws
    an error telling you it can't cope with adjusting the rule.
    
    This is a long-standing bug, but given the lack of prior reports
    I'm not going to risk back-patching it.  A back-patch wouldn't do
    anything to fix existing rules' dependency lists, anyway.
    c6be1f43
dependency.c 84.9 KB