1. 05 Nov, 2008 5 commits
  2. 04 Nov, 2008 12 commits
  3. 03 Nov, 2008 15 commits
  4. 02 Nov, 2008 2 commits
    • Tom Lane's avatar
      Remove the last vestiges of the MAKE_PTR/MAKE_OFFSET mechanism. We haven't · d7112cfa
      Tom Lane authored
      allowed different processes to have different addresses for the shmem segment
      in quite a long time, but there were still a few places left that used the
      old coding convention.  Clean them up to reduce confusion and improve the
      compiler's ability to detect pointer type mismatches.
      
      Kris Jurka
      d7112cfa
    • Tom Lane's avatar
      Remove all uses of the deprecated functions heap_formtuple, heap_modifytuple, · 902d1cb3
      Tom Lane authored
      and heap_deformtuple in favor of the newer functions heap_form_tuple et al
      (which do the same things but use bool control flags instead of arbitrary
      char values).  Eliminate the former duplicate coding of these functions,
      reducing the deprecated functions to mere wrappers around the newer ones.
      We can't get rid of them entirely because add-on modules probably still
      contain many instances of the old coding style.
      
      Kris Jurka
      902d1cb3
  5. 01 Nov, 2008 3 commits
  6. 31 Oct, 2008 3 commits
    • Tom Lane's avatar
      Simplify ExecutorRun's API and save some trivial number of cycles by having · df5a9961
      Tom Lane authored
      it just return void instead of sometimes returning a TupleTableSlot.  SQL
      functions don't need that anymore, and noplace else does either.  Eliminating
      the return value also means one less hassle for the ExecutorRun hook functions
      that will be supported beginning in 8.4.
      df5a9961
    • Heikki Linnakangas's avatar
      Update FSM on WAL replay. This is a bit limited; the FSM is only updated · e9816533
      Heikki Linnakangas authored
      on non-full-page-image WAL records, and quite arbitrarily, only if there's
      less than 20% free space on the page after the insert/update (not on HOT
      updates, though). The 20% cutoff should avoid most of the overhead, when
      replaying a bulk insertion, for example, while ensuring that pages that
      are full are marked as full in the FSM.
      
      This is mostly to avoid the nasty worst case scenario, where you replay
      from a PITR archive, and the FSM information in the base backup is really
      out of date. If there was a lot of pages that the outdated FSM claims to
      have free space, but don't actually have any, the first unlucky inserter
      after the recovery would traverse through all those pages, just to find
      out that they're full. We didn't have this problem with the old FSM
      implementation, because we simply threw the FSM information away on a
      non-clean shutdown.
      e9816533
    • Tom Lane's avatar
      Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETE · 9b46abb7
      Tom Lane authored
      RETURNING clause, not just a SELECT as formerly.
      
      A side effect of this patch is that when a set-returning SQL function is used
      in a FROM clause, performance is improved because the output is collected into
      a tuplestore within the function, rather than using the less efficient
      value-per-call mechanism.
      9b46abb7