• Tom Lane's avatar
    Arrange for SET LOCAL's effects to persist until the end of the current top · 82a47982
    Tom Lane authored
    transaction, unless rolled back or overridden by a SET clause for the same
    variable attached to a surrounding function call.  Per discussion, these
    seem the best semantics.  Note that this is an INCOMPATIBLE CHANGE: in 8.0
    through 8.2, SET LOCAL's effects disappeared at subtransaction commit
    (leading to behavior that made little sense at the SQL level).
    
    I took advantage of the opportunity to rewrite and simplify the GUC variable
    save/restore logic a little bit.  The old idea of a "tentative" value is gone;
    it was a hangover from before we had a stack.  Also, we no longer need a stack
    entry for every nesting level, but only for those in which a variable's value
    actually changed.
    82a47982
prepare_transaction.sgml 5.35 KB