1. 29 Jul, 2010 5 commits
    • Peter Eisentraut's avatar
      Fix indentation of verbatim block elements · 66424a28
      Peter Eisentraut authored
      Block elements with verbatim formatting (literallayout, programlisting,
      screen, synopsis) should be aligned at column 0 independent of the surrounding
      SGML, because whitespace is significant, and indenting them creates erratic
      whitespace in the output.  The CSS stylesheets already take care of indenting
      the output.
      
      Assorted markup improvements to go along with it.
      66424a28
    • Tom Lane's avatar
      Fix another longstanding problem in copy_relation_data: it was blithely · 984d56b8
      Tom Lane authored
      assuming that a local char[] array would be aligned on at least a word
      boundary.  There are architectures on which that is pretty much guaranteed to
      NOT be the case ... and those arches also don't like non-aligned memory
      accesses, meaning that log_newpage() would crash if it ever got invoked.
      Even on Intel-ish machines there's a potential for a large performance penalty
      from doing I/O to an inadequately aligned buffer.  So palloc it instead.
      
      Backpatch to 8.0 --- 7.4 doesn't have this code.
      984d56b8
    • Tom Lane's avatar
      Work around a documentation toolchain problem by replacing the "AIX-fixlevels" · 5b48e2ec
      Tom Lane authored
      table with a <variablelist> carrying the same information.  Previously the
      9.0 documentation was failing to build as a US-size PDF file.  It's quite
      obscure what the real problem is or why this avoids it, but we need a hack
      now so we can build docs for beta4.
      
      In passing do a bit of editing in the AIX installation docs, in particular
      remove a long-obsolete claim that the regression tests are likely to fail.
      5b48e2ec
    • Robert Haas's avatar
      Fix possible page corruption by ALTER TABLE .. SET TABLESPACE. · 1a078629
      Robert Haas authored
      If a zeroed page is present in the heap, ALTER TABLE .. SET TABLESPACE will
      set the LSN and TLI while copying it, which is wrong, and heap_xlog_newpage()
      will do the same thing during replay, so the corruption propagates to any
      standby.  Note, however, that the bug can't be demonstrated unless archiving
      is enabled, since in that case we skip WAL logging altogether, and the LSN/TLI
      are not set.
      
      Back-patch to 8.0; prior releases do not have tablespaces.
      
      Analysis and patch by Jeff Davis.  Adjustments for back-branches and minor
      wordsmithing by me.
      1a078629
    • Simon Riggs's avatar
      Add explicit regression tests for ALTER TABLE lock levels. · 04e17bae
      Simon Riggs authored
      Use this to catch a couple of lock level assignments that slipped
      through manual testing, per Peter Eisentraut.
      04e17bae
  2. 28 Jul, 2010 5 commits
    • Peter Eisentraut's avatar
    • Tom Lane's avatar
      Fix oversight in new EvalPlanQual logic: the second loop over the ExecRowMark · 77c75076
      Tom Lane authored
      list in ExecLockRows() forgot to allow for the possibility that some of the
      rowmarks are for child tables that aren't relevant to the current row.
      Per report from Kenichiro Tanaka.
      77c75076
    • Simon Riggs's avatar
      Reduce lock levels of CREATE TRIGGER and some ALTER TABLE, CREATE RULE actions. · 2dbbda02
      Simon Riggs authored
      Avoid hard-coding lockmode used for many altering DDL commands, allowing easier
      future changes of lock levels. Implementation of initial analysis on DDL
      sub-commands, so that many lock levels are now at ShareUpdateExclusiveLock or
      ShareRowExclusiveLock, allowing certain DDL not to block reads/writes.
      First of number of planned changes in this area; additional docs required
      when full project complete.
      2dbbda02
    • Tom Lane's avatar
      Fix potential failure when hashing the output of a subplan that produces · 133924e1
      Tom Lane authored
      a pass-by-reference datatype with a nontrivial projection step.
      We were using the same memory context for the projection operation as for
      the temporary context used by the hashtable routines in execGrouping.c.
      However, the hashtable routines feel free to reset their temp context at
      any time, which'd lead to destroying input data that was still needed.
      Report and diagnosis by Tao Ma.
      
      Back-patch to 8.1, where the problem was introduced by the changes that
      allowed us to work with "virtual" tuples instead of materializing intermediate
      tuple values everywhere.  The earlier code looks quite similar, but it doesn't
      suffer the problem because the data gets copied into another context as a
      result of having to materialize ExecProject's output tuple.
      133924e1
    • Peter Eisentraut's avatar
      Show psql timing output even in quiet mode · 4ff9c8dd
      Peter Eisentraut authored
      These two settings ought to be independent of each other.
      4ff9c8dd
  3. 27 Jul, 2010 5 commits
  4. 26 Jul, 2010 3 commits
  5. 25 Jul, 2010 4 commits
  6. 24 Jul, 2010 3 commits
  7. 23 Jul, 2010 3 commits
  8. 22 Jul, 2010 4 commits
    • Robert Haas's avatar
      Add missing function prototype. · bca03b12
      Robert Haas authored
      Fujii Masao
      bca03b12
    • Robert Haas's avatar
    • Robert Haas's avatar
      Add options to force quoting of all identifiers. · ce68df46
      Robert Haas authored
      I've added a quote_all_identifiers GUC which affects the behavior
      of the backend, and a --quote-all-identifiers argument to pg_dump
      and pg_dumpall which sets the GUC and also affects the quoting done
      internally by those applications.
      
      Design by Tom Lane; review by Alex Hunsaker; in response to bug #5488
      filed by Hartmut Goebel.
      ce68df46
    • Robert Haas's avatar
      Centralize DML permissions-checking logic. · b8c6c71d
      Robert Haas authored
      Remove bespoke code in DoCopy and RI_Initial_Check, which now instead
      fabricate call ExecCheckRTPerms with a manufactured RangeTblEntry.
      This is intended to make it feasible for an enhanced security provider
      to actually make use of ExecutorCheckPerms_hook, but also has the
      advantage that RI_Initial_Check can allow use of the fast-path when
      column-level but not table-level permissions are present.
      
      KaiGai Kohei.  Reviewed (in an earlier version) by Stephen Frost, and by me.
      Some further changes to the comments by me.
      b8c6c71d
  9. 20 Jul, 2010 8 commits