1. 31 May, 2007 5 commits
  2. 30 May, 2007 14 commits
  3. 29 May, 2007 3 commits
  4. 28 May, 2007 4 commits
  5. 27 May, 2007 7 commits
  6. 26 May, 2007 1 commit
    • Tom Lane's avatar
      Repair two constraint-exclusion corner cases triggered by proving that an · cadb7833
      Tom Lane authored
      inheritance child of an UPDATE/DELETE target relation can be excluded by
      constraints.  I had rearranged some code in set_append_rel_pathlist() to
      avoid "useless" work when a child is excluded, but overdid it and left
      the child with no cheapest_path entry, causing possible failure later
      if the appendrel was involved in a join.  Also, it seems that the dummy
      plan generated by inheritance_planner() when all branches are excluded
      has to be a bit less dummy now than was required in 8.2.
      Per report from Jan Wieck.  Add his test case to the regression tests.
      cadb7833
  7. 25 May, 2007 1 commit
    • Tom Lane's avatar
      Create hooks to let a loadable plugin monitor (or even replace) the planner · 604ffd28
      Tom Lane authored
      and/or create plans for hypothetical situations; in particular, investigate
      plans that would be generated using hypothetical indexes.  This is a
      heavily-rewritten version of the hooks proposed by Gurjeet Singh for his
      Index Advisor project.  In this formulation, the index advisor can be
      entirely a loadable module instead of requiring a significant part to be
      in the core backend, and plans can be generated for hypothetical indexes
      without requiring the creation and rolling-back of system catalog entries.
      
      The index advisor patch as-submitted is not compatible with these hooks,
      but it needs significant work anyway due to other 8.2-to-8.3 planner
      changes.  With these hooks in the core backend, development of the advisor
      can proceed as a pgfoundry project.
      604ffd28
  8. 24 May, 2007 3 commits
  9. 22 May, 2007 2 commits
    • Tom Lane's avatar
      Repair planner bug introduced in 8.2 by ability to rearrange outer joins: · 11086f2f
      Tom Lane authored
      in cases where a sub-SELECT inserts a WHERE clause between two outer joins,
      that clause may prevent us from re-ordering the two outer joins.  The code
      was considering only the joins' own ON-conditions in determining reordering
      safety, which is not good enough.  Add a "delay_upper_joins" flag to
      OuterJoinInfo to flag that we have detected such a clause and higher-level
      outer joins shouldn't be permitted to commute with this one.  (This might
      seem overly coarse, but given the current rules for OJ reordering, it's
      sufficient AFAICT.)
      
      The failure case is actually pretty narrow: it needs a WHERE clause within
      the RHS of a left join that checks the RHS of a lower left join, but is not
      strict for that RHS (else we'd have simplified the lower join to a plain
      join).  Even then no failure will be manifest unless the planner chooses to
      rearrange the join order.
      
      Per bug report from Adam Terrey.
      11086f2f
    • Alvaro Herrera's avatar
      Remove unsupported -u option from pg_standby example usage. · 0f6e2d08
      Alvaro Herrera authored
      From Pavel Stehule.
      0f6e2d08