1. 12 Dec, 2008 2 commits
  2. 11 Dec, 2008 4 commits
  3. 10 Dec, 2008 2 commits
  4. 09 Dec, 2008 3 commits
  5. 08 Dec, 2008 4 commits
  6. 07 Dec, 2008 2 commits
  7. 06 Dec, 2008 3 commits
  8. 05 Dec, 2008 1 commit
  9. 04 Dec, 2008 7 commits
  10. 03 Dec, 2008 6 commits
  11. 02 Dec, 2008 4 commits
  12. 01 Dec, 2008 2 commits
    • Tom Lane's avatar
      Fix an oversight in the code that makes transitive-equality deductions from · a1feb90e
      Tom Lane authored
      outer join clauses.  Given, say,
      	... from a left join b on a.a1 = b.b1 where a.a1 = 42;
      we'll deduce a clause b.b1 = 42 and then mark the original join clause
      redundant (we can't remove it completely for reasons I don't feel like
      squeezing into this log entry).  However the original implementation of
      that wasn't bulletproof, because clause_selectivity() wouldn't honor
      this_selec if given nonzero varRelid --- which in practice meant that
      it worked as desired *except* when considering index scan quals.  Which
      resulted in bogus underestimation of the size of the indexscan result for
      an inner indexscan in an outer join, and consequently a possibly bad
      choice of indexscan vs. bitmap scan.  Fix by introducing an explicit test
      into clause_selectivity().  Also, to make sure we don't trigger that test
      in corner cases, change the convention to be that this_selec > 1, not
      this_selec = 1, means it's been marked redundant.  Per trouble report from
      Scara Maccai.
      
      Back-patch to 8.2, where the problem was introduced.
      a1feb90e
    • Heikki Linnakangas's avatar
      Modify the new to_timestamp implementation so that end-of-format-string · 7fb27531
      Heikki Linnakangas authored
      is treated like a non-digit separator. This fixes the inconsistency in
      examples like:
      
      to_timestamp('2008-01-2', 'YYYY-MM-DD') -- didn't work
      
      and
      
      to_timestamp('2008-1-02', 'YYYY-MM-DD') -- did work
      7fb27531