1. 25 4月, 2008 1 次提交
  2. 24 4月, 2008 5 次提交
  3. 23 4月, 2008 2 次提交
  4. 22 4月, 2008 6 次提交
    • M
    • B
      a256ea50
    • M
      Replace developer FAQ with a reference to the wiki, which is where · fc2117a4
      Magnus Hagander 提交于
      it now lives (per discussion). Leave the other FAQs alone for now.
      fc2117a4
    • T
      Issue explicit error messages for attempts to use "shell" operators in · 1ad76112
      Tom Lane 提交于
      ordinary expressions.  This probably doesn't catch every single case
      where you might get "cache lookup failed for function 0" for use of a
      shell operator, but it will catch most.  Per bug #4120 from Pedro Gimeno.
      
      This patch incidentally folds make_op_expr() into its sole remaining
      caller --- the alternative was to give it yet more arguments, which
      didn't seem an improvement.
      1ad76112
    • T
      Fix convert_IN_to_join to properly handle the case where the subselect's · ff673f55
      Tom Lane 提交于
      output is not of the same type that's needed for the IN comparison (ie,
      where the parser inserted an implicit coercion above the subselect result).
      We should record the coerced expression, not just a raw Var referencing
      the subselect output, as the quantity that needs to be unique-ified if
      we choose to implement the IN as Unique followed by a plain join.
      
      As of 8.3 this error was causing crashes, as seen in bug #4113 from Javier
      Hernandez, because the executor was being told to hash or sort the raw
      subselect output column using operators appropriate to the coerced type.
      
      In prior versions there was no crash because the executor chose the
      hash or sort operators for itself based on the column type it saw.
      However, that's still not really right, because what's unique for one data
      type might not be unique for another.  In corner cases we could get multiple
      outputs of a row that should appear only once, as demonstrated by the
      regression test case included in this commit.
      
      However, this patch doesn't apply cleanly to 8.2 or before, and the code
      involved has shifted enough over time that I'm hesitant to try to back-patch.
      Given the lack of complaints from the field about such corner cases, I think
      the bug may not be important enough to risk breaking other things with a
      back-patch.
      ff673f55
    • M
      Clean up float4byval and float8byval handling by dealing with them completely · a31b03ba
      Magnus Hagander 提交于
      from inside the build script.
      a31b03ba
  5. 21 4月, 2008 7 次提交
  6. 20 4月, 2008 3 次提交
  7. 19 4月, 2008 10 次提交
  8. 18 4月, 2008 6 次提交
    • 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