1. 22 Feb, 2011 4 commits
    • Bruce Momjian's avatar
    • Tom Lane's avatar
      Remove ExecRemoveJunk(), which is no longer used anywhere. · 2e852e54
      Tom Lane authored
      This was a leftover from the pre-8.1 design of junkfilters.  It doesn't
      seem to have any reason to live, since it's merely a combination of two
      easy function calls, and not a well-designed combination at that (it
      encourages callers to leak the result tuple).
      2e852e54
    • Tom Lane's avatar
      Fix dangling-pointer problem in before-row update trigger processing. · a210be77
      Tom Lane authored
      ExecUpdate checked for whether ExecBRUpdateTriggers had returned a new
      tuple value by seeing if the returned tuple was pointer-equal to the old
      one.  But the "old one" was in estate->es_junkFilter's result slot, which
      would be scribbled on if we had done an EvalPlanQual update in response to
      a concurrent update of the target tuple; therefore we were comparing a
      dangling pointer to a live one.  Given the right set of circumstances we
      could get a false match, resulting in not forcing the tuple to be stored in
      the slot we thought it was stored in.  In the case reported by Maxim Boguk
      in bug #5798, this led to "cannot extract system attribute from virtual
      tuple" failures when trying to do "RETURNING ctid".  I believe there is a
      very-low-probability chance of more serious errors, such as generating
      incorrect index entries based on the original rather than the
      trigger-modified version of the row.
      
      In HEAD, change all of ExecBRInsertTriggers, ExecIRInsertTriggers,
      ExecBRUpdateTriggers, and ExecIRUpdateTriggers so that they continue to
      have similar APIs.  In the back branches I just changed
      ExecBRUpdateTriggers, since there is no bug in the ExecBRInsertTriggers
      case.
      a210be77
    • Bruce Momjian's avatar
      Move information_schema duplicate constraint note to the top of the · fee78027
      Bruce Momjian authored
      information schema documentation because it affects several tables.
      fee78027
  2. 21 Feb, 2011 4 commits
  3. 20 Feb, 2011 5 commits
  4. 19 Feb, 2011 7 commits
  5. 18 Feb, 2011 14 commits
  6. 17 Feb, 2011 6 commits