1. 21 4月, 2008 6 次提交
  2. 20 4月, 2008 3 次提交
  3. 19 4月, 2008 10 次提交
  4. 18 4月, 2008 7 次提交
    • H
      Fix two race conditions between the pending unlink mechanism that was put in · 9cb91f90
      Heikki Linnakangas 提交于
      place to prevent reusing relation OIDs before next checkpoint, and DROP
      DATABASE. First, if a database was dropped, bgwriter would still try to unlink
      the files that the rmtree() call by the DROP DATABASE command has already
      deleted, or is just about to delete. Second, if a database is dropped, and
      another database is created with the same OID, bgwriter would in the worst
      case delete a relation in the new database that happened to get the same OID
      as a dropped relation in the old database.
      
      To fix these race conditions:
      - make rmtree() ignore ENOENT errors. This fixes the 1st race condition.
      - make ForgetDatabaseFsyncRequests forget unlink requests as well.
      - force checkpoint on in dropdb on all platforms
      
      Since ForgetDatabaseFsyncRequests() is asynchronous, the 2nd change isn't
      enough on its own to fix the problem of dropping and creating a database with
      same OID, but forcing a checkpoint on DROP DATABASE makes it sufficient.
      
      Per Tom Lane's bug report and proposal. Backpatch to 8.3.
      9cb91f90
    • T
      Cause EXPLAIN's VERBOSE option to print the target list (output column list) · 87a2f050
      Tom Lane 提交于
      of each plan node, instead of its former behavior of dumping the internal
      representation of the plan tree.  The latter display is still available for
      those who really want it (see debug_print_plan), but uses for it are certainly
      few and and far between.  Per discussion.
      
      This patch also removes the explain_pretty_print GUC, which is obsoleted
      by the change.
      87a2f050
    • A
      Clean up a few places where Datums were being treated as pointers (and vice · 2f0f7b4b
      Alvaro Herrera 提交于
      versa) without going through DatumGetPointer.
      
      Gavin Sherry, with Feng Tian.
      2f0f7b4b
    • T
      Fix a couple of oversights associated with the "physical tlist" optimization: · 25e46a50
      Tom Lane 提交于
      we had several code paths where a physical tlist could be used for the input
      to a Sort node, which is a dumb idea because any unneeded table columns will
      increase the volume of data the sort has to push around.
      
      (Unfortunately the easy-looking fix of calling disuse_physical_tlist during
      make_sort_xxx doesn't work because in most cases we're already committed to
      the current input tlist --- it's been marked with sort column numbers, or
      we've built grouping column numbers using it, etc.  The tlist has to be
      selected properly at the calling level before we start constructing sort-col
      information.  This is easy enough to do, we were just failing to take the
      point into consideration.)
      
      Back-patch to 8.3.  I believe the problem probably exists clear back to 7.4
      when the physical tlist optimization was added, but I'm afraid to back-patch
      further than 8.3 without a great deal more study than I want to put into it.
      The code in this area has drifted a lot over time.  The real-world importance
      of these code paths is uncertain anyway --- I think in many cases we'd
      probably prefer hash-based methods.
      25e46a50
    • B
      TODO Done: · c5c7ba1b
      Bruce Momjian 提交于
      > * -Allow administrators to safely terminate individual sessions
      c5c7ba1b
    • B
      c4fd93b3
    • T
      Add some code to EXPLAIN to show the targetlist (ie, output columns) · c5e4e91a
      Tom Lane 提交于
      of each plan node.  For the moment this is debug support only and is
      not enabled unless EXPLAIN_PRINT_TLISTS is defined at build time.
      Later I'll see about the idea of letting EXPLAIN VERBOSE do it.
      c5e4e91a
  5. 17 4月, 2008 8 次提交
  6. 16 4月, 2008 4 次提交
  7. 15 4月, 2008 2 次提交