1. 24 1月, 2004 3 次提交
    • D
      Translation updates · cb3dc829
      Dennis Bjorklund 提交于
      cb3dc829
    • T
      Repair planner failure for cases involving Cartesian products inside · 5d665836
      Tom Lane 提交于
      IN (sub-SELECT) constructs.  We must force a clauseless join of the
      sub-select member relations, but it wasn't happening because the code
      thought it would be able to use the join clause arising from the IN.
      5d665836
    • T
      Revise GEQO planner to make use of some heuristic knowledge about SQL, namely · 3969f292
      Tom Lane 提交于
      that it's good to join where there are join clauses rather than where there
      are not.  Also enable it to generate bushy plans at need, so that it doesn't
      fail in the presence of multiple IN clauses containing sub-joins.  These
      changes appear to improve the behavior enough that we can substantially reduce
      the default pool size and generations count, thereby decreasing the runtime,
      and yet get as good or better plans as we were getting in 7.4.  Consequently,
      adjust the default GEQO parameters.  I also modified the way geqo_effort is
      used so that it affects both population size and number of generations;
      it's now useful as a single control to adjust the GEQO runtime-vs-plan-quality
      tradeoff.  Bump geqo_threshold to 12, since even with these changes GEQO
      seems to be slower than the regular planner at 11 relations.
      3969f292
  2. 23 1月, 2004 8 次提交
  3. 22 1月, 2004 7 次提交
  4. 21 1月, 2004 5 次提交
  5. 20 1月, 2004 6 次提交
  6. 19 1月, 2004 4 次提交
  7. 18 1月, 2004 4 次提交
    • P
      Translation update · 90d14654
      Peter Eisentraut 提交于
      90d14654
    • T
      Don't use %s-with-precision format spec to truncate data being displayed · be4b8a86
      Tom Lane 提交于
      in a COPY error message.  It seems that glibc gets indigestion if it is
      asked to truncate strings that contain invalid UTF-8 encoding sequences.
      vsnprintf will return -1 in such cases, leading to looping and eventual
      memory overflow in elog.c.  Instead use our own, more robust pg_mbcliplen
      routine.  I believe this problem accounts for several recent reports of
      unexpected 'out of memory' errors during COPY IN.
      be4b8a86
    • T
      When testing whether a sub-plan can do projection, use a general-purpose · 6bdfde9a
      Tom Lane 提交于
      check instead of hardwiring assumptions that only certain plan node types
      can appear at the places where we are testing.  This was always a pretty
      fragile assumption, and it turns out to be broken in 7.4 for certain cases
      involving IN-subselect tests that need type coercion.
      Also, modify code that builds finished Plan tree so that node types that
      don't do projection always copy their input node's targetlist, rather than
      having the tlist passed in from the caller.  The old method makes it too
      easy to write broken code that thinks it can modify the tlist when it
      cannot.
      6bdfde9a
    • T
      Repair misestimation of indexscan CPU costs. When an indexqual contains · de816a03
      Tom Lane 提交于
      a run-time key (that is, a nonconstant expression compared to the index
      variable), the key is evaluated just once per scan, but we were charging
      costs as though it were evaluated once per visited index entry.
      de816a03
  8. 17 1月, 2004 1 次提交
  9. 16 1月, 2004 2 次提交