1. 12 Feb, 2008 1 commit
    • Tom Lane's avatar
      Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before · 745e6eda
      Tom Lane authored
      doing anything interesting, such as calling RevalidateCachedPlan().  The
      necessity of this is demonstrated by an example from Willem Buitendyk:
      during a replan, the planner might try to evaluate SPI-using functions,
      and so we'd better be in a clean SPI context.
      
      A small downside of this fix is that these two functions will now fail
      outright if called when not inside a SPI-using procedure (ie, a
      SPI_connect/SPI_finish pair).  The documentation never promised or suggested
      that that would work, though; and they are normally used in concert with
      other functions, mainly SPI_prepare, that always have failed in such a case.
      So the odds of breaking something seem pretty low.
      
      In passing, make SPI_is_cursor_plan's error handling convention clearer,
      and fix documentation's erroneous claim that SPI_cursor_open would
      return NULL on error.
      
      Before 8.3 these functions could not invoke replanning, so there is probably
      no need for back-patching.
      745e6eda
  2. 11 Feb, 2008 2 commits
    • Magnus Hagander's avatar
      Update timezone mapping for Windows with new timezones added · 953c2c9b
      Magnus Hagander authored
      in windows servicepacks.
      Fix timezone mapping for "Mexico 2"
      953c2c9b
    • Tom Lane's avatar
      Repair VACUUM FULL bug introduced by HOT patch: the original way of · c931c071
      Tom Lane authored
      calculating a page's initial free space was fine, and should not have been
      "improved" by letting PageGetHeapFreeSpace do it.  VACUUM FULL is going to
      reclaim LP_DEAD line pointers later, so there is no need for a guard
      against the page being too full of line pointers, and having one risks
      rejecting pages that are perfectly good move destinations.
      
      This also exposed a second bug, which is that the empty_end_pages logic
      assumed that any page with no live tuples would get entered into the
      fraged_pages list automatically (by virtue of having more free space than
      the threshold in the do_frag calculation).  This assumption certainly
      seems risky when a low fillfactor has been chosen, and even without
      tunable fillfactor I think it could conceivably fail on a page with many
      unused line pointers.  So fix the code to force do_frag true when notup
      is true, and patch this part of the fix all the way back.
      
      Per report from Tomas Szepe.
      c931c071
  3. 10 Feb, 2008 1 commit
  4. 08 Feb, 2008 2 commits
  5. 07 Feb, 2008 9 commits
  6. 06 Feb, 2008 1 commit
    • Magnus Hagander's avatar
      Fix very broken clean.bat for msvc install. The way we used subroutines · 8d363727
      Magnus Hagander authored
      in .bat simply did not work, and it called them in the wrong order,
      some several times, and some not at all. So this unrolls all subroutine
      calls.
      
      This should fix the issues with clean deleting the wrong files reported
      by Dave Page.
      
      While at it, add the "clean dist" option to act like "make distclean",
      and no longer remove the flex/bison output files by default. This shuold
      fix the problem reported by Pavel Golub in bug #3909.
      8d363727
  7. 05 Feb, 2008 1 commit
  8. 03 Feb, 2008 1 commit
  9. 02 Feb, 2008 3 commits
  10. 01 Feb, 2008 4 commits
  11. 31 Jan, 2008 13 commits
  12. 30 Jan, 2008 2 commits
    • Tom Lane's avatar
      Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent performing these · 0688d840
      Tom Lane authored
      operations when the current transaction has any open references to the
      target relation or index (implying it has an active query using the relation).
      The need for this was previously recognized in connection with ALTER TABLE,
      but anything that summarily eliminates tuples or moves them around would
      confuse an active scan.
      
      While this patch does not in itself fix bug #3883 (the deadlock would happen
      before the new check fires), it will discourage people from attempting the
      sequence of operations that creates a deadlock risk, so it's at least a
      partial response to that problem.
      
      In passing, add a previously-missing check to REINDEX to prevent trying to
      reindex another backend's temp table.  This isn't a security problem since
      only a superuser would get past the schema permission checks, but if we are
      testing for this in other utility commands then surely REINDEX should too.
      0688d840
    • Tom Lane's avatar
      Add a GUC variable "synchronize_seqscans" to allow clients to disable the new · 47df4f66
      Tom Lane authored
      synchronized-scanning behavior, and make pg_dump disable sync scans so that
      it will reliably preserve row ordering.  Per recent discussions.
      47df4f66