1. 06 7月, 2011 9 次提交
  2. 05 7月, 2011 7 次提交
  3. 04 7月, 2011 9 次提交
    • P
      9f084527
    • T
      Remove missed reference to SilentMode. · e54ae784
      Tom Lane 提交于
      e54ae784
    • H
      Remove silent_mode. You get the same functionality with "pg_ctl -l · f7ea6bea
      Heikki Linnakangas 提交于
      postmaster.log", or nohup.
      
      There was a small issue with LINUX_OOM_ADJ and silent_mode, namely that with
      silent_mode the postmaster process incorrectly used the OOM settings meant
      for backend processes. We certainly could've fixed that directly, but since
      silent_mode was redundant anyway, we might as well just remove it.
      f7ea6bea
    • S
      f563afd4
    • S
      Reset ALTER TABLE lock levels to AccessExclusiveLock in all cases. · 2c3d9db5
      Simon Riggs 提交于
      Locks on inheritance parent remain at lower level, as they were before.
      Remove entry from 9.1 release notes.
      2c3d9db5
    • T
      Fix omissions in documentation of the pg_roles view. · 4fa046a3
      Tom Lane 提交于
      Somehow, column rolconfig got removed from the documentation of the
      pg_roles view in the 9.0 cycle, although the column is actually still
      there.  In 9.1, we'd also forgotten to document the rolreplication column.
      Spotted by Sakamoto Masahiko.
      4fa046a3
    • T
      Put comments on the installable procedural languages. · 99e47ed0
      Tom Lane 提交于
      Per suggestion from Josh Kupershmidt.
      99e47ed0
    • R
      Fix bugs in relpersistence handling during table creation. · 5da79169
      Robert Haas 提交于
      Unlike the relistemp field which it replaced, relpersistence must be
      set correctly quite early during the table creation process, as we
      rely on it quite early on for a number of purposes, including security
      checks.  Normally, this is set based on whether the user enters CREATE
      TABLE, CREATE UNLOGGED TABLE, or CREATE TEMPORARY TABLE, but a
      relation may also be made implicitly temporary by creating it in
      pg_temp.  This patch fixes the handling of that case, and also
      disables creation of unlogged tables in temporary tablespace (such
      table indeed skip WAL-logging, but we reject an explicit
      specification) and creation of relations in the temporary schemas of
      other sessions (which is not very sensible, and didn't work right
      anyway).
      
      Report by Amit Khandekar.
      5da79169
    • T
      Make distprep and *clean build targets recurse into all subdirectories. · acb9198b
      Tom Lane 提交于
      Certain subdirectories do not get built if corresponding options are not
      selected at configure time.  However, "make distprep" should visit such
      directories anyway, so that constructing derived files to be included in
      the tarball happens without requiring all configure options to be given
      in the tarball build script.  Likewise, it's better if cleanup actions
      unconditionally visit all directories (for example, this ensures proper
      cleanup if someone has done a manual make in such a subdirectory).
      
      To handle this, set up a convention that subdirectories that are
      conditionally included in SUBDIRS should be added to ALWAYS_SUBDIRS
      instead when they are excluded.
      
      Back-patch to 9.1, so that plpython's spiexceptions.h will get provided
      in 9.1 tarballs.  There don't appear to be any instances where distprep
      actions got missed in previous releases, and anyway this fix requires
      gmake 3.80 so we don't want to apply it before 9.1.
      acb9198b
  4. 03 7月, 2011 2 次提交
  5. 02 7月, 2011 3 次提交
  6. 30 6月, 2011 6 次提交
    • A
      Enable CHECK constraints to be declared NOT VALID · 89779524
      Alvaro Herrera 提交于
      This means that they can initially be added to a large existing table
      without checking its initial contents, but new tuples must comply to
      them; a separate pass invoked by ALTER TABLE / VALIDATE can verify
      existing data and ensure it complies with the constraint, at which point
      it is marked validated and becomes a normal part of the table ecosystem.
      
      An non-validated CHECK constraint is ignored in the planner for
      constraint_exclusion purposes; when validated, cached plans are
      recomputed so that partitioning starts working right away.
      
      This patch also enables domains to have unvalidated CHECK constraints
      attached to them as well by way of ALTER DOMAIN / ADD CONSTRAINT / NOT
      VALID, which can later be validated with ALTER DOMAIN / VALIDATE
      CONSTRAINT.
      
      Thanks to Thom Brown, Dean Rasheed and Jaime Casanova for the various
      reviews, and Robert Hass for documentation wording improvement
      suggestions.
      
      This patch was sponsored by Enova Financial.
      89779524
    • A
      Fix outdated comment · b36927fb
      Alvaro Herrera 提交于
      Extracted from a patch by Bernd Helmle
      b36927fb
    • T
      Restore correct btree preprocessing of "indexedcol IS NULL" conditions. · a5652d3e
      Tom Lane 提交于
      Such a condition is unsatisfiable in combination with any other type of
      btree-indexable condition (since we assume btree operators are always
      strict).  8.3 and 8.4 had an explicit test for this, which I removed in
      commit 29c4ad98, mistakenly thinking that
      the case would be subsumed by the more general handling of IS (NOT) NULL
      added in that patch.  Put it back, and improve the comments about it, and
      add a regression test case.
      
      Per bug #6079 from Renat Nasyrov, and analysis by Dean Rasheed.
      a5652d3e
    • H
      Move the PredicateLockRelation() call from nodeSeqscan.c to heapam.c. It's · cd70dd6b
      Heikki Linnakangas 提交于
      more consistent that way, since all the other PredicateLock* calls are
      made in various heapam.c and index AM functions. The call in nodeSeqscan.c
      was unnecessarily aggressive anyway, there's no need to try to lock the
      relation every time a tuple is fetched, it's enough to do it once.
      
      This has the user-visible effect that if a seq scan is initialized in the
      executor, but never executed, we now acquire the predicate lock on the heap
      relation anyway. We could avoid that by taking the lock on the first
      heap_getnext() call instead, but it doesn't seem worth the trouble given
      that it feels more natural to do it in heap_beginscan().
      
      Also, remove the retail PredicateLockTuple() calls from heap_getnext(). In
      a seqscan, started with heap_begin(), we're holding a whole-relation
      predicate lock on the heap so there's no need to lock the tuples
      individually.
      
      Kevin Grittner and me
      cd70dd6b
    • H
      Grab predicate locks on matching tuples in a lossy bitmap heap scan. · d9fe63ac
      Heikki Linnakangas 提交于
      Non-lossy case was already handled correctly.
      
      Kevin Grittner
      d9fe63ac
    • M
      Protect pg_stat_reset_shared() against NULL input · 79aa4453
      Magnus Hagander 提交于
      Per bug #6082, reported by Steve Haslam
      79aa4453
  7. 29 6月, 2011 4 次提交
    • P
      Unify spelling of "canceled", "canceling", "cancellation" · 21f1e15a
      Peter Eisentraut 提交于
      We had previously (af26857a)
      established the U.S. spellings as standard.
      21f1e15a
    • S
      Introduce compact WAL record for the common case of commit (non-DDL). · 465883b0
      Simon Riggs 提交于
      XLOG_XACT_COMMIT_COMPACT leaves out invalidation messages and relfilenodes,
      saving considerable space for the vast majority of transaction commits.
      XLOG_XACT_COMMIT keeps same definition as XLOG_PAGE_MAGIC 0xD067 and earlier.
      
      Leonardo Francalanci and Simon Riggs
      465883b0
    • A
      Remove rel.h from objectaddress.h; only relcache.h is necessary. · 6f3efa76
      Alvaro Herrera 提交于
      Add rel.h to some files that now need it.
      6f3efa76
    • A
      Modernise pg_hba.conf token processing · e5e2fc84
      Alvaro Herrera 提交于
      The previous coding was ugly, as it marked special tokens as such in the
      wrong stage, relying on workarounds to figure out if they had been
      quoted in the original or not.  This made it impossible to have specific
      keywords be recognized as such only in certain positions in HBA lines,
      for example.  Fix by restructuring the parser code so that it remembers
      whether tokens were quoted or not.  This eliminates widespread knowledge
      of possible known keywords for all fields.
      
      Also improve memory management in this area, to use memory contexts that
      are reset as a whole instead of using retail pfrees; this removes a
      whole lotta crufty (and probably slow) code.
      
      Instead of calling strlen() three times in next_field_expand on the
      returned token to find out whether there was a comma (and strip it),
      pass back the info directly from the callee, which is simpler.
      
      In passing, update historical artifacts in hba.c API.
      
      Authors: Brendan Jurd, Alvaro Herrera
      Reviewed by Pavel Stehule
      e5e2fc84