1. 20 3月, 2008 1 次提交
    • H
      Add the missing cyrillic "Yo" characters ('e' and 'E' with two dots) to the · 59c4fc5a
      Heikki Linnakangas 提交于
      ISO_8859-5 <-> MULE_INTERNAL conversion tables.
      
      This was discovered when trying to convert a string containing those characters
      from ISO_8859-5 to Windows-1251, because we use MULE_INTERNAL/KOI8R as an
      intermediate encoding between those two.
      
      While the missing "Yo" was just an omission in the conversion tables, there are
      a few other characters like the "Numero" sign ("No" as a single character) that
      exists in all the other cyrillic encodings (win1251, ISO_8859-5 and cp866), but
      not in KOI8R. Added comments about that.
      
      Patch by Sergey Burladyan. Back-patch to 7.4.
      59c4fc5a
  2. 19 3月, 2008 3 次提交
  3. 15 3月, 2008 3 次提交
  4. 14 3月, 2008 7 次提交
  5. 13 3月, 2008 2 次提交
    • T
      Fix pg_plan_queries() to restore the previous setting of ActiveSnapshot · 1dd56fda
      Tom Lane 提交于
      (probably NULL) before exiting.  Up to now it's just left the variable as it
      set it, which means that after we're done processing the current client
      message, ActiveSnapshot is probably pointing at garbage (because this function
      is typically run in MessageContext which will get reset).  There doesn't seem
      to have been any code path in which that mattered before 8.3, but now the
      plancache module might try to use the stale value if the next client message
      is a Bind for a prepared statement that is in need of replanning.  Per report
      from Alex Hunsaker.
      1dd56fda
    • T
      Fix LISTEN/NOTIFY race condition reported by Laurent Birtz, by postponing · d2ab94da
      Tom Lane 提交于
      pg_listener modifications commanded by LISTEN and UNLISTEN until the end
      of the current transaction.  This allows us to hold the ExclusiveLock on
      pg_listener until after commit, with no greater risk of deadlock than there
      was before.  Aside from fixing the race condition, this gets rid of a
      truly ugly kludge that was there before, namely having to ignore
      HeapTupleBeingUpdated failures during NOTIFY.  There is a small potential
      incompatibility, which is that if a transaction issues LISTEN or UNLISTEN
      and then looks into pg_listener before committing, it won't see any resulting
      row insertion or deletion, where before it would have.  It seems unlikely
      that anyone would be depending on that, though.
      
      This patch also disallows LISTEN and UNLISTEN inside a prepared transaction.
      That case had some pretty undesirable properties already, such as possibly
      allowing pg_listener entries to be made for PIDs no longer present, so
      disallowing it seems like a better idea than trying to maintain the behavior.
      d2ab94da
  6. 12 3月, 2008 1 次提交
    • B
      Add to documentation: · 32aaf480
      Bruce Momjian 提交于
      +         Setting <varname>statement_timeout</> in
      +         <filename>postgresql.conf</> is not recommended because it
      +         affects all sessions.
      
      Backpatch to 8.3.X.
      32aaf480
  7. 11 3月, 2008 3 次提交
  8. 09 3月, 2008 2 次提交
    • T
      d19d3543
    • T
      Refactor heap_page_prune so that instead of changing item states on-the-fly, · f647ed43
      Tom Lane 提交于
      it accumulates the set of changes to be made and then applies them.  It had
      to accumulate the set of changes anyway to prepare a WAL record for the
      pruning action, so this isn't an enormous change; the only new complexity is
      to not doubly mark tuples that are visited twice in the scan.  The main
      advantage is that we can substantially reduce the scope of the critical
      section in which the changes are applied, thus avoiding PANIC in foreseeable
      cases like running out of memory in inval.c.  A nice secondary advantage is
      that it is now far clearer that WAL replay will actually do the same thing
      that the original pruning did.
      
      This commit doesn't do anything about the open problem that
      CacheInvalidateHeapTuple doesn't have the right semantics for a CTID change
      caused by collapsing out a redirect pointer.  But whatever we do about that,
      it'll be a good idea to not do it inside a critical section.
      f647ed43
  9. 07 3月, 2008 4 次提交
  10. 06 3月, 2008 5 次提交
  11. 05 3月, 2008 2 次提交
  12. 04 3月, 2008 4 次提交
  13. 02 3月, 2008 3 次提交