1. 12 Jul, 2013 2 commits
  2. 11 Jul, 2013 2 commits
  3. 10 Jul, 2013 2 commits
  4. 09 Jul, 2013 3 commits
  5. 08 Jul, 2013 5 commits
    • Alvaro Herrera's avatar
      Fix mention of htup.h in pageinspect docs · 12fbe2b3
      Alvaro Herrera authored
      It's htup_details.h now.
      
      Jeff Janes
      12fbe2b3
    • Heikki Linnakangas's avatar
      Fix Windows build. · f489470f
      Heikki Linnakangas authored
      Was broken by my xloginsert scaling patch. XLogCtl global variable needs
      to be initialized in each process, as it's not inherited by fork() on
      Windows.
      f489470f
    • Heikki Linnakangas's avatar
      Fix pg_test_fsync, broken by xloginsert scaling patch. · b5ed2199
      Heikki Linnakangas authored
      I didn't realize that ALIGNOF_XLOG_BUFFER was used in pg_test_fsync.
      b5ed2199
    • Heikki Linnakangas's avatar
      Improve scalability of WAL insertions. · 9a20a9b2
      Heikki Linnakangas authored
      This patch replaces WALInsertLock with a number of WAL insertion slots,
      allowing multiple backends to insert WAL records to the WAL buffers
      concurrently. This is particularly useful for parallel loading large amounts
      of data on a system with many CPUs.
      
      This has one user-visible change: switching to a new WAL segment with
      pg_switch_xlog() now fills the remaining unused portion of the segment with
      zeros. This potentially adds some overhead, but it has been a very common
      practice by DBA's to clear the "tail" of the segment with an external
      pg_clearxlogtail utility anyway, to make the WAL files compress better.
      With this patch, it's no longer necessary to do that.
      
      This patch adds a new GUC, xloginsert_slots, to tune the number of WAL
      insertion slots. Performance testing suggests that the default, 8, works
      pretty well for all kinds of worklods, but I left the GUC in place to allow
      others with different hardware to test that easily. We might want to remove
      that before release.
      
      Reviewed by Andres Freund.
      9a20a9b2
    • Tom Lane's avatar
      Fix planning of parameterized appendrel paths with expensive join quals. · 5372275b
      Tom Lane authored
      The code in set_append_rel_pathlist() for building parameterized paths
      for append relations (inheritance and UNION ALL combinations) supposed
      that the cheapest regular path for a child relation would still be cheapest
      when reparameterized.  Which might not be the case, particularly if the
      added join conditions are expensive to compute, as in a recent example from
      Jeff Janes.  Fix it to compare child path costs *after* reparameterizing.
      We can short-circuit that if the cheapest pre-existing path is already
      parameterized correctly, which seems likely to be true often enough to be
      worth checking for.
      
      Back-patch to 9.2 where parameterized paths were introduced.
      5372275b
  6. 07 Jul, 2013 6 commits
  7. 06 Jul, 2013 4 commits
    • Jeff Davis's avatar
      Handle posix_fallocate() errors. · 5b571bb8
      Jeff Davis authored
      On some platforms, posix_fallocate() is available but may still return
      EINVAL if the underlying filesystem does not support it.  So, in case
      of an error, fall through to the alternate implementation that just
      writes zeros.
      
      Per buildfarm failure and analysis by Tom Lane.
      5b571bb8
    • Michael Meskes's avatar
      43c3aab1
    • Tom Lane's avatar
      Rename a function to avoid naming conflict in parallel regression tests. · 0cd78780
      Tom Lane authored
      Commit 31a89185 added some tests in
      plpgsql.sql that used a function rather unthinkingly named "foo()".
      However, rangefuncs.sql has some much older tests that create a function
      of that name, and since these test scripts run in parallel, there is a
      chance of failures if the timing is just right.  Use another name to
      avoid that.  Per buildfarm (failure seen today on "hamerkop", but
      probably it's happened before and not been noticed).
      0cd78780
    • Peter Eisentraut's avatar
      PL/Python: Convert numeric to Decimal · 7919398b
      Peter Eisentraut authored
      The old implementation converted PostgreSQL numeric to Python float,
      which was always considered a shortcoming.  Now numeric is converted to
      the Python Decimal object.  Either the external cdecimal module or the
      standard library decimal module are supported.
      
      From: Szymon Guz <mabewlun@gmail.com>
      From: Ronan Dunklau <rdunklau@gmail.com>
      Reviewed-by: default avatarSteve Singer <steve@ssinger.info>
      7919398b
  8. 05 Jul, 2013 7 commits
  9. 04 Jul, 2013 7 commits
  10. 03 Jul, 2013 2 commits