1. 22 9月, 2009 4 次提交
  2. 20 9月, 2009 4 次提交
  3. 19 9月, 2009 4 次提交
  4. 18 9月, 2009 8 次提交
  5. 16 9月, 2009 2 次提交
    • P
      errcontext support in PL/Perl · e3f02711
      Peter Eisentraut 提交于
      Author: Alexey Klyukin <alexk@commandprompt.com>
      e3f02711
    • T
      Fix two distinct errors in creation of GIN_INSERT_LISTPAGE xlog records. · 384cad5c
      Tom Lane 提交于
      In practice these mistakes were always masked when full_page_writes was on,
      because XLogInsert would always choose to log the full page, and then
      ginRedoInsertListPage wouldn't try to do anything.  But with full_page_writes
      off a WAL replay failure was certain.
      
      The GIN_INSERT_LISTPAGE record type could probably be eliminated entirely
      in favor of using XLOG_HEAP_NEWPAGE, but I refrained from doing that now
      since it would have required a significantly more invasive patch.
      
      In passing do a little bit of code cleanup, including making the accounting
      for free space on GIN list pages more precise.  (This wasn't a bug as the
      errors were always in the conservative direction.)
      
      Per report from Simon.  Back-patch to 8.4 which contains the identical code.
      384cad5c
  6. 15 9月, 2009 2 次提交
  7. 14 9月, 2009 5 次提交
    • P
      c82fdb69
    • T
      Write psql's ~/.psql_history file using history_truncate_file() and · e97281c4
      Tom Lane 提交于
      append_history(), if libreadline is new enough to have those functions
      (they seem to be present at least since 4.2; but libedit may not have them).
      This gives significantly saner behavior when two or more sessions overlap in
      their use of the history file; although having two sessions exit at just the
      same time is still perilous to your history.  The behavior of \s remains
      unchanged, ie, overwrite whatever was there.
      Per bug #5052 from Marek Wójtowicz.
      e97281c4
    • P
      Fix Unicode support in PL/Python · eb62398f
      Peter Eisentraut 提交于
      Check calls of PyUnicode_AsEncodedString() for NULL return, probably
      because the encoding name is not known.  Add special treatment for
      SQL_ASCII, which Python definitely does not know.
      
      Since using SQL_ASCII produces errors in the regression tests when
      non-ASCII characters are involved, we have to put back various regression
      test result variants.
      eb62398f
    • P
      Document that autovacuum_max_workers can only be set at server start · 6689ce3e
      Peter Eisentraut 提交于
      per Joshua Tolley
      6689ce3e
    • H
      Don't error out if recycling or removing an old WAL segment fails at the end · 7f2a10fe
      Heikki Linnakangas 提交于
      of checkpoint. Although the checkpoint has been written to WAL at that point
      already, so that all data is safe, and we'll retry removing the WAL segment at
      the next checkpoint, if such a failure persists we won't be able to remove any
      other old WAL segments either and will eventually run out of disk space. It's
      better to treat the failure as non-fatal, and move on to clean any other WAL
      segment and continue with any other end-of-checkpoint cleanup.
      
      We don't normally expect any such failures, but on Windows it can happen with
      some anti-virus or backup software that lock files without FILE_SHARE_DELETE
      flag.
      
      Also, the loop in pgrename() to retry when the file is locked was broken. If a
      file is locked on Windows, you get ERROR_SHARE_VIOLATION, not
      ERROR_ACCESS_DENIED, at least on modern versions. Fix that, although I left
      the check for ERROR_ACCESS_DENIED in there as well (presumably it was correct
      in some environment), and added ERROR_LOCK_VIOLATION to be consistent with
      similar checks in pgwin32_open(). Reduce the timeout on the loop from 30s to
      10s, on the grounds that since it's been broken, we've effectively had a
      timeout of 0s and no-one has complained, so a smaller timeout is actually
      closer to the old behavior. A longer timeout would mean that if recycling a
      WAL file fails because it's locked for some reason, InstallXLogFileSegment()
      will hold ControlFileLock for longer, potentially blocking other backends, so
      a long timeout isn't totally harmless.
      
      While we're at it, set errno correctly in pgrename().
      
      Backpatch to 8.2, which is the oldest version supported on Windows. The xlog.c
      changes would make sense on other platforms and thus on older versions as
      well, but since there's no such locking issues on other platforms, it's not
      worth it.
      7f2a10fe
  8. 13 9月, 2009 4 次提交
    • J
      plug dblink resource leak · d6119d80
      Joe Conway 提交于
      dblink generates orphaned connections when called with a connection string,
      fail_on_error = true, and an ERROR occurs. Discovery and patch by
      Tatsuhito Kasahara. Introduced in 8.4.
      d6119d80
    • P
      Add Unicode support in PL/Python · 4ab6ebf3
      Peter Eisentraut 提交于
      PL/Python now accepts Unicode objects where it previously only accepted string
      objects (for example, as return value).  Unicode objects are converted to the
      PostgreSQL server encoding as necessary.
      
      This change is also necessary for future Python 3 support, which treats all
      strings as Unicode objects.
      
      Since this removes the error conditions that the plpython_unicode test file
      tested for, the alternative result files are no longer necessary.
      4ab6ebf3
    • T
      Rewrite the planner's handling of materialized plan types so that there is · 9bb34281
      Tom Lane 提交于
      an explicit model of rescan costs being different from first-time costs.
      The costing of Material nodes in particular now has some visible relationship
      to the actual runtime behavior, where before it was essentially fantasy.
      This also fixes up a couple of places where different materialized plan types
      were treated differently for no very good reason (probably just oversights).
      
      A couple of the regression tests are affected, because the planner now chooses
      to put the other relation on the inside of a nestloop-with-materialize.
      So far as I can see both changes are sane, and the planner is now more
      consistently following the expectation that it should prefer to materialize
      the smaller of two relations.
      
      Per a recent discussion with Robert Haas.
      9bb34281
    • T
      Improve GRANT reference page's description of object ownership · 5f1b32dd
      Tom Lane 提交于
      privileges by mentioning the possibility of granting membership in
      the owning role.
      5f1b32dd
  9. 12 9月, 2009 4 次提交
  10. 11 9月, 2009 1 次提交
  11. 10 9月, 2009 2 次提交