1. 19 Feb, 2008 2 commits
  2. 18 Feb, 2008 4 commits
  3. 17 Feb, 2008 4 commits
    • Michael Meskes's avatar
      - Removed duplicate include of ecpgtype.h which meant I had to adapt all expected results. · a9bc069c
      Michael Meskes authored
      - Changed INFORMIX mode symbol definition yet again because the old way didn't work on NetBSD. Hopefully this one does.
      a9bc069c
    • Peter Eisentraut's avatar
      Upgrade to Autoconf 2.61: · b1203823
      Peter Eisentraut authored
      - Change configure.in to use Autoconf 2.61 and update generated files.
      - Update build system and documentation to support now directory variables
        offered by Autoconf 2.61.
      - Replace usages of PGAC_CHECK_ALIGNOF by AC_CHECK_ALIGNOF, now available
        in Autoconf 2.61.
      - Drop our patched version of AC_C_INLINE, as Autoconf now has the change.
      b1203823
    • Tom Lane's avatar
      8b63aa1f
    • Tom Lane's avatar
      Replace time_t with pg_time_t (same values, but always int64) in on-disk · cd004067
      Tom Lane authored
      data structures and backend internal APIs.  This solves problems we've seen
      recently with inconsistent layout of pg_control between machines that have
      32-bit time_t and those that have already migrated to 64-bit time_t.  Also,
      we can get out from under the problem that Windows' Unix-API emulation is not
      consistent about the width of time_t.
      
      There are a few remaining places where local time_t variables are used to hold
      the current or recent result of time(NULL).  I didn't bother changing these
      since they do not affect any cross-module APIs and surely all platforms will
      have 64-bit time_t before overflow becomes an actual risk.  time_t should
      be avoided for anything visible to extension modules, however.
      cd004067
  4. 16 Feb, 2008 6 commits
  5. 15 Feb, 2008 3 commits
  6. 14 Feb, 2008 4 commits
  7. 13 Feb, 2008 8 commits
  8. 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
  9. 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
  10. 10 Feb, 2008 1 commit
  11. 08 Feb, 2008 2 commits
  12. 07 Feb, 2008 3 commits
    • Tom Lane's avatar
      Avoid misbehavior in foreign key checks when casting to a datatype for which · 9b43c245
      Tom Lane authored
      the parser supplies a default typmod that can result in data loss (ie,
      truncation).  Currently that appears to be only CHARACTER and BIT.
      We can avoid the problem by specifying the type's internal name instead
      of using SQL-spec syntax.  Since the queries generated here are only used
      internally, there's no need to worry about portability.  This problem is
      new in 8.3; before we just let the parser do whatever it wanted to resolve
      the operator, but 8.3 is trying to be sure that the semantics of FK checks
      are consistent.  Per report from Harald Fuchs.
      9b43c245
    • Bruce Momjian's avatar
      d9c7f632
    • Tom Lane's avatar
      Some variants of ALTER OWNER tried to make the "object" field of the · 1ab19a36
      Tom Lane authored
      statement be a list of bare C strings, rather than String nodes, which is
      what they need to be for copyfuncs/equalfuncs to work.  Fortunately these
      node types never go out to disk (if they did, we'd likely have noticed the
      problem sooner), so we can just fix it without creating a need for initdb.
      This bug has been there since 8.0, but 8.3 exposes it in a more common
      code path (Parse messages) than prior releases did.  Per bug #3940 from
      Vladimir Kokovic.
      1ab19a36