1. 04 12月, 2012 7 次提交
  2. 03 12月, 2012 11 次提交
    • A
      Attempt to unbreak MSVC builds broken by f21bb9cf. · d5652e50
      Andrew Dunstan 提交于
      We can't use type uint, so use uint32.
      d5652e50
    • S
      Refactor inCommit flag into generic delayChkpt flag. · f21bb9cf
      Simon Riggs 提交于
      Rename PGXACT->inCommit flag into delayChkpt flag,
      and generalise comments to allow use in other situations,
      such as the forthcoming potential use in checksum patch.
      Replace wait loop to look for VXIDs with delayChkpt set.
      No user visible changes, not behaviour changes at present.
      
      Simon Riggs, reviewed and rebased by Jeff Davis
      f21bb9cf
    • S
      Clarify locking for PageGetLSN() in XLogCheckBuffer() · 7a764990
      Simon Riggs 提交于
      7a764990
    • S
      Clarify when to use PageSetLSN/PageGetLSN(). · 1c563a2a
      Simon Riggs 提交于
      Update README to explain prerequisites for
      correct access to LSN fields of a page.
      Independent chunk removed from checksums
      patch to reduce size of patch.
      1c563a2a
    • H
      Refactor the code implementing standby-mode logic. · a068c391
      Heikki Linnakangas 提交于
      It is now easier to see that it's a state machine, making the code easier
      to understand overall.
      a068c391
    • A
      Add mode where contrib installcheck runs each module in a separately named database. · e2b3c21b
      Andrew Dunstan 提交于
      Normally each module is tested in aq database named contrib_regression,
      which is dropped and recreated at the beginhning of each pg_regress run.
      This mode, enabled by adding USE_MODULE_DB=1 to the make command line,
      runs most modules in a database with the module name embedded in it.
      
      This will make testing pg_upgrade on clusters with the contrib modules
      a lot easier.
      
      Still to be done: adapt to the MSVC build system.
      
      Backpatch to 9.0, which is the earliest version it is reasonably possible
      to test upgrading from.
      e2b3c21b
    • T
      Update time zone data files to tzdata release 2012j. · fc75d4f8
      Tom Lane 提交于
      DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western Samoa,
      and portions of Brazil.
      fc75d4f8
    • T
      Recommend triggers, not rules, in the CREATE VIEW reference page. · d8262b6c
      Tom Lane 提交于
      We've generally recommended use of INSTEAD triggers over rules since that
      feature was added; but this old text in the CREATE VIEW reference page
      didn't get the memo.  Noted by Thomas Kellerer.
      d8262b6c
    • S
      Reduce scope of changes for COPY FREEZE. · 5457a130
      Simon Riggs 提交于
      Allow support only for freezing tuples by explicit
      command. Previous coding mistakenly extended
      slightly beyond what was agreed as correct on -hackers.
      So essentially a partial revoke of earlier work,
      leaving just the COPY FREEZE command.
      5457a130
    • T
      Don't advance checkPoint.nextXid near the end of a checkpoint sequence. · 3114cb60
      Tom Lane 提交于
      This reverts commit c1113069 in favor of
      actually fixing the problem: namely, that we should never have been
      modifying the checkpoint record's nextXid at this point to begin with.
      The nextXid should match the state as of the checkpoint's logical WAL
      position (ie the redo point), not the state as of its physical position.
      It's especially bogus to advance it in some wal_levels and not others.
      In any case there is no need for the checkpoint record to carry the
      same nextXid shown in the XLOG_RUNNING_XACTS record just emitted by
      LogStandbySnapshot, as any replay operation will already have adopted
      that value as current.
      
      This fixes bug #7710 from Tarvi Pillessaar, and probably also explains bug
      #6291 from Daniel Farina, in that if a checkpoint were in progress at the
      instant of XID wraparound, the epoch bump would be lost as reported.
      (And, of course, these days there's at least a 50-50 chance of a checkpoint
      being in progress at any given instant.)
      
      Diagnosed by me and independently by Andres Freund.  Back-patch to all
      branches supporting hot standby.
      3114cb60
    • S
      Rearrange storage of data in xl_running_xacts. · 5c117258
      Simon Riggs 提交于
      Previously we stored all xids mixed together.
      Now we store top-level xids first, followed
      by all subxids. Also skip logging any subxids
      if the snapshot is suboverflowed, since there
      are potentially large numbers of them and they
      are not useful in that case anyway. Has value
      in the envisaged design for decoding of WAL.
      No planned effect on Hot Standby.
      
      Andres Freund, reviewed by me
      5c117258
  3. 02 12月, 2012 7 次提交
    • S
      XidEpoch++ if wraparound during checkpoint. · c1113069
      Simon Riggs 提交于
      If wal_level = hot_standby we update the checkpoint nextxid,
      though in the case where a wraparound occurred half-way through
      a checkpoint we would neglect updating the epoch also. Updating
      the nextxid is arguably the wrong thing to do, but changing that
      may introduce subtle bugs into hot standby startup, while updating
      the value doesn't cause any known bugs yet. Minimal fix now to
      HEAD and backbranches, wider fix later in HEAD.
      
      Bug reported in #6291 by Daniel Farina and slightly differently in
      
      Cause analysis and recommended fixes from Tom Lane and Andres Freund.
      
      Applied patch is minimal version of Andres Freund's work.
      c1113069
    • S
      Clarify operation of online checkpoints. · 9f98704b
      Simon Riggs 提交于
      Previous comments left, but were too obscure
      for such an important aspect of the system.
      9f98704b
    • T
      Fix psql crash while parsing SQL file whose encoding is different from · 53edb8dc
      Tatsuo Ishii 提交于
      client encoding and the client encoding is not *safe* one. Such an
      example is, file encoding is UTF-8 and client encoding SJIS. Patch
      contributed by Jiang Guiqing.
      53edb8dc
    • T
      Prevent passing gmake's environment variables down through pg_regress. · c35fea10
      Tom Lane 提交于
      When we do "make install" to create a temp installation, we don't want
      that instance of make to try to communicate with any instance of make
      that might be calling us.  This is known to cause problems if the
      upper make has a -jN flag, and in principle could cause problems even
      without that.  Unset the relevant environment variables to prevent such
      issues.
      
      Andres Freund
      c35fea10
    • T
      Make sure sharedir/extension/ directory is created when needed. · b1346822
      Tom Lane 提交于
      The previous coding worked as long as MODULEDIR wasn't set explicitly,
      because we create sharedir/$(datamoduledir) and the default value of
      that is "extension".  But if some other value is specified for MODULEDIR
      then the installation directory needed for the control file wasn't made.
      
      Cédric Villemain
      b1346822
    • T
      Allow adding values to an enum type created in the current transaction. · 7b90469b
      Tom Lane 提交于
      Normally it is unsafe to allow ALTER TYPE ADD VALUE in a transaction block,
      because instances of the value could be added to indexes later in the same
      transaction, and then they would still be accessible even if the
      transaction rolls back.  However, we can allow this if the enum type itself
      was created in the current transaction, because then any such indexes would
      have to go away entirely on rollback.
      
      The reason for allowing this is to support pg_upgrade's new usage of
      pg_restore --single-transaction: in --binary-upgrade mode, pg_dump emits
      enum types as a succession of ALTER TYPE ADD VALUE commands so that it can
      preserve the values' OIDs.  The support is a bit limited, so we'll leave
      it undocumented.
      
      Andres Freund
      7b90469b
    • B
      In pg_upgrade, remove 'set -x' from test script. · 452739df
      Bruce Momjian 提交于
      452739df
  4. 01 12月, 2012 13 次提交
  5. 30 11月, 2012 2 次提交
    • A
      Clean environment for pg_upgrade test. · abece8af
      Andrew Dunstan 提交于
      This removes exisiting PG settings from the environment for
      pg_upgrade tests, just like pg_regress does.
      abece8af
    • M
      Add libpq function PQconninfo() · 65c3bf19
      Magnus Hagander 提交于
      This allows a caller to get back the exact conninfo array that was
      used to create a connection, including parameters read from the
      environment.
      
      In doing this, restructure how options are copied from the conninfo
      to the actual connection.
      
      Zoltan Boszormenyi and Magnus Hagander
      65c3bf19