Skip to content
Snippets Groups Projects
  1. Jul 10, 2013
  2. Jul 09, 2013
  3. Jul 08, 2013
    • 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
  4. Jul 07, 2013
  5. Jul 06, 2013
    • 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
    • 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
  6. Jul 05, 2013
  7. Jul 04, 2013
  8. Jul 03, 2013
    • Fujii Masao's avatar
      Get rid of pg_class.reltoastidxid. · 2ef085d0
      Fujii Masao authored
      Treat TOAST index just the same as normal one and get the OID
      of TOAST index from pg_index but not pg_class.reltoastidxid.
      This change allows us to handle multiple TOAST indexes, and
      which is required infrastructure for upcoming
      REINDEX CONCURRENTLY feature.
      
      Patch by Michael Paquier, reviewed by Andres Freund and me.
      2ef085d0
    • Bruce Momjian's avatar
      pg_buffercache: document column meanings · f71939cd
      Bruce Momjian authored
      Improve documentation for usagecount and relforknumber.
      Backpatch to 9.3.
      Suggestion from Satoshi Nagayasu
      f71939cd
    • Robert Haas's avatar
      Revert "Hopefully-portable regression tests for CREATE/ALTER/DROP COLLATION." · f33c53ec
      Robert Haas authored
      This reverts commit 26364530.
      
      The buildfarm is sad.
      f33c53ec
    • Robert Haas's avatar
      Hopefully-portable regression tests for CREATE/ALTER/DROP COLLATION. · 26364530
      Robert Haas authored
      The collate.linux.utf8 test covers some of the same territory, but
      isn't portable and so probably does not get run often, or on
      non-Linux platforms.  If this approach turns out to be sufficiently
      portable, we may want to look at trimming the redundant tests out
      of that file to avoid duplication.
      
      Robins Tharakan, reviewed by Michael Paquier and Fabien Coelho,
      with further changes and cleanup by me.
      26364530
    • Tom Lane's avatar
      Fix handling of auto-updatable views on inherited tables. · 5530a826
      Tom Lane authored
      An INSERT into such a view should work just like an INSERT into its base
      table, ie the insertion should go directly into that table ... not be
      duplicated into each child table, as was happening before, per bug #8275
      from Rushabh Lathia.  On the other hand, the current behavior for
      UPDATE/DELETE seems reasonable: the update/delete traverses the child
      tables, or not, depending on whether the view specifies ONLY or not.
      Add some regression tests covering this area.
      
      Dean Rasheed
      5530a826
Loading