1. 15 6月, 2006 1 次提交
    • T
      Clean up psql's control-C handling to avoid longjmp'ing out of random · f3164c02
      Tom Lane 提交于
      places --- that risks corrupting data structures, losing sync with the
      backend, etc.  We now longjmp only from calls to readline, fgets, and
      fread, which we assume are coded to protect themselves against interrupts
      at undesirable times.  This requires adding explicit tests for
      cancel_pressed in long-running loops, but on the whole it's far cleaner.
      Martijn van Oosterhout and Tom Lane.
      f3164c02
  2. 14 6月, 2006 2 次提交
  3. 13 6月, 2006 4 次提交
  4. 12 6月, 2006 2 次提交
  5. 11 6月, 2006 1 次提交
    • T
      Fix Assert failure when a fastpath function call is attempted inside an · bf64a379
      Tom Lane 提交于
      already-aborted transaction block.  GetSnapshotData throws an Assert if
      not in a valid transaction; hence we mustn't attempt to set a snapshot
      for the function until after checking for aborted transaction.  This is
      harmless AFAICT if Asserts aren't enabled (GetSnapshotData will compute
      a bogus snapshot, but it doesn't matter since HandleFunctionRequest will
      throw an error shortly anywy).  Hence, not a major bug.
      
      Along the way, add some ability to log fastpath calls when statement
      logging is turned on.  This could probably stand to be improved further,
      but not logging anything is clearly undesirable.
      
      Backpatched as far as 8.0; bug doesn't exist before that.
      bf64a379
  6. 10 6月, 2006 2 次提交
  7. 09 6月, 2006 1 次提交
    • T
      Fix bootstrap.c so that database startup process and bgwriter properly release · 1358466a
      Tom Lane 提交于
      LWLocks during a panic exit.  This avoids the possible self-deadlock pointed
      out by Qingqing Zhou.  Also, I noted that an error during LoadFreeSpaceMap()
      or BuildFlatFiles() would result in exit(0) which would leave the postmaster
      thinking all is well.  Added a critical section to ensure such errors don't
      allow startup to proceed.
      
      Backpatched to 8.1.  The 8.0 code is a bit different and I'm not sure if the
      problem exists there; given we've not seen this reported from the field, I'm
      going to be conservative about backpatching any further.
      1358466a
  8. 08 6月, 2006 7 次提交
  9. 07 6月, 2006 7 次提交
  10. 06 6月, 2006 3 次提交
    • M
      Fixed two more memory leaks in ecpglib. · 0251602f
      Michael Meskes 提交于
      Synced parser.
      0251602f
    • T
      Remove extremely old, incomplete, broken example code. · ff0ac57d
      Tom Lane 提交于
      Per my proposal a few days ago.
      ff0ac57d
    • T
      While making the seq_page_cost changes, I was struck by the fact that · 7868590c
      Tom Lane 提交于
      cost_nonsequential_access() is really totally inappropriate for its only
      remaining use, namely estimating I/O costs in cost_sort().  The routine
      was designed on the assumption that disk caching might eliminate the need
      for some re-reads on a random basis, but there's nothing very random in
      that sense about sort's access pattern --- it'll always be picking up the
      oldest outputs.  If we had a good fix on the effective cache size we
      might consider charging zero for I/O unless the sort temp file size
      exceeds it, but that's probably putting much too much faith in the
      parameter.  Instead just drop the logic in favor of a fixed compromise
      between seq_page_cost and random_page_cost per page of sort I/O.
      7868590c
  11. 05 6月, 2006 4 次提交
  12. 04 6月, 2006 3 次提交
  13. 03 6月, 2006 1 次提交
  14. 01 6月, 2006 2 次提交