1. 28 6月, 2011 3 次提交
    • S
      Reduce impact of btree page reuse on Hot Standby by fixing off-by-1 error. · e1cd66f7
      Simon Riggs 提交于
      WAL records of type XLOG_BTREE_REUSE_PAGE were generated using a
      latestRemovedXid one higher than actually needed because xid used was
      page opaque->btpo.xact rather than an actually removed xid.
      Noticed on an otherwise quiet system by Noah Misch.
      
      Noah Misch and Simon Riggs
      e1cd66f7
    • R
      Allow callers to pass a missing_ok flag when opening a relation. · 9abbed06
      Robert Haas 提交于
      Since the names try_relation_openrv() and try_heap_openrv() don't seem
      quite appropriate, rename the functions to relation_openrv_extended()
      and heap_openrv_extended().  This is also more general, if we have a
      future need for additional parameters that are of interest to only a
      few callers.
      
      This is infrastructure for a forthcoming patch to allow
      get_object_address() to take a missing_ok argument as well.
      
      Patch by me, review by Noah Misch.
      9abbed06
    • R
      Try again to make the visibility map crash safe. · e16954f3
      Robert Haas 提交于
      My previous attempt was quite a bit less than half-baked with respect to
      heap_update().
      e16954f3
  2. 27 6月, 2011 10 次提交
  3. 26 6月, 2011 2 次提交
  4. 25 6月, 2011 1 次提交
  5. 24 6月, 2011 2 次提交
  6. 23 6月, 2011 11 次提交
  7. 22 6月, 2011 11 次提交
    • R
      Don't select log_cnt in sequence regression tests. · addf11f9
      Robert Haas 提交于
      It's not entirely stable.
      
      Per suggestion from Josh Kupershmidt.
      addf11f9
    • H
      Remove pointless const qualifiers from function arguments in the SSI code. · 5da417f7
      Heikki Linnakangas 提交于
      As Tom Lane pointed out, "const Relation foo" doesn't guarantee that you
      can't modify the data the "foo" pointer points to. It just means that you
      can't change the pointer to point to something else within the function,
      which is not very useful.
      5da417f7
    • R
      Make the visibility map crash-safe. · 503c7305
      Robert Haas 提交于
      This involves two main changes from the previous behavior.  First,
      when we set a bit in the visibility map, emit a new WAL record of type
      XLOG_HEAP2_VISIBLE.  Replay sets the page-level PD_ALL_VISIBLE bit and
      the visibility map bit.  Second, when inserting, updating, or deleting
      a tuple, we can no longer get away with clearing the visibility map
      bit after releasing the lock on the corresponding heap page, because
      an intervening crash might leave the visibility map bit set and the
      page-level bit clear.  Making this work requires a bit of interface
      refactoring.
      
      In passing, a few minor but related cleanups: change the test in
      visibilitymap_set and visibilitymap_clear to throw an error if the
      wrong page (or no page) is pinned, rather than silently doing nothing;
      this case should never occur.  Also, remove duplicate definitions of
      InvalidXLogRecPtr.
      
      Patch by me, review by Noah Misch.
      503c7305
    • R
      Add some regression tests for serial pseudotypes. · 431ab0e8
      Robert Haas 提交于
      Josh Kupershmidt
      431ab0e8
    • R
      Add smallserial pseudotype. · 61307dcc
      Robert Haas 提交于
      This is just like serial and bigserial, except it generates an int2
      column rather than int4 or int8.
      
      Mike Pultz, reviewed by Brar Piening and Josh Kupershmidt
      61307dcc
    • R
      Make deadlock_timeout PGC_SUSET rather than PGC_SIGHUP. · 7095003c
      Robert Haas 提交于
      This allows deadlock_timeout to be reduced for transactions that are
      particularly likely to be involved in a deadlock, thus detecting it
      more quickly.  It is also potentially useful as a poor-man's deadlock
      priority mechanism: a transaction with a high deadlock_timeout is less
      likely to be chosen as the victim than one with a low
      deadlock_timeout.  Since that could be used to game the system, we
      make this PGC_SUSET rather than PGC_USERSET.
      
      At some point, it might be worth thinking about a more explicit
      priority mechanism, since using this is far from fool-proof.  But
      let's see whether there's enough use case to justify the additional
      work before we go down that route.
      
      Noah Misch, reviewed by Shigeru Hanada
      7095003c
    • R
      Add notion of a "transform function" that can simplify function calls. · 8f9fe6ed
      Robert Haas 提交于
      Initially, we use this only to eliminate calls to the varchar()
      function in cases where the length is not being reduced and, therefore,
      the function call is equivalent to a RelabelType operation.  The most
      significant effect of this is that we can avoid a table rewrite when
      changing a varchar(X) column to a varchar(Y) column, where Y > X.
      
      Noah Misch, reviewed by me and Alexey Klyukin
      8f9fe6ed
    • R
      Performance tuning advice for SSI. · 771a9f69
      Robert Haas 提交于
      Kevin Grittner, with additional wordsmithing by me.
      771a9f69
    • T
      Minor editing for README-SSI. · a3290f65
      Tom Lane 提交于
      Fix some grammatical issues, try to clarify a couple of proofs, make the
      terminology more consistent.
      a3290f65
    • P
      Message style and spelling improvements · e2a0cb1a
      Peter Eisentraut 提交于
      e2a0cb1a
    • T
      Apply upstream fix for blowfish signed-character bug (CVE-2011-2483). · ca59dfa6
      Tom Lane 提交于
      A password containing a character with the high bit set was misprocessed
      on machines where char is signed (which is most).  This could cause the
      preceding one to three characters to fail to affect the hashed result,
      thus weakening the password.  The result was also unportable, and failed
      to match some other blowfish implementations such as OpenBSD's.
      
      Since the fix changes the output for such passwords, upstream chose
      to provide a compatibility hack: password salts beginning with $2x$
      (instead of the usual $2a$ for blowfish) are intentionally processed
      "wrong" to give the same hash as before.  Stored password hashes can
      thus be modified if necessary to still match, though it'd be better
      to change any affected passwords.
      
      In passing, sync a couple other upstream changes that marginally improve
      performance and/or tighten error checking.
      
      Back-patch to all supported branches.  Since this issue is already
      public, no reason not to commit the fix ASAP.
      ca59dfa6