• Tom Lane's avatar
    Change ON UPDATE SET NULL/SET DEFAULT referential actions to meet SQL spec. · c75be2ad
    Tom Lane authored
    Previously, when executing an ON UPDATE SET NULL or SET DEFAULT action for
    a multicolumn MATCH SIMPLE foreign key constraint, we would set only those
    referencing columns corresponding to referenced columns that were changed.
    This is what the SQL92 standard said to do --- but more recent versions
    of the standard say that all referencing columns should be set to null or
    their default values, no matter exactly which referenced columns changed.
    At least for SET DEFAULT, that is clearly saner behavior.  It's somewhat
    debatable whether it's an improvement for SET NULL, but it appears that
    other RDBMS systems read the spec this way.  So let's do it like that.
    
    This is a release-notable behavioral change, although considering that
    our documentation already implied it was done this way, the lack of
    complaints suggests few people use such cases.
    c75be2ad
create_table.sgml 55.8 KB