1. 09 Jul, 2008 1 commit
  2. 08 Jul, 2008 4 commits
  3. 07 Jul, 2008 3 commits
    • Tom Lane's avatar
      Fix estimate_num_groups() to assume that GROUP BY expressions yielding boolean · 170063cd
      Tom Lane authored
      results always contribute two groups, regardless of the expression contents.
      This is very substantially more accurate than the regular heuristic for
      certain boolean tests like "col IS NULL".  Per gripe from Sam Mason.
      
      Back-patch to all supported releases, since the behavior of
      estimate_num_groups() hasn't changed all that much since 7.4.
      170063cd
    • Tom Lane's avatar
      Fix AT TIME ZONE (in all three variants) so that we first try to interpret · c5083853
      Tom Lane authored
      the timezone argument as a timezone abbreviation, and only try it as a full
      timezone name if that fails.  The zic database has four zones (CET, EET, MET,
      WET) that are full daylight-savings zones and yet have names that are the
      same as their abbreviations for standard time, resulting in ambiguity.
      In the timestamp input functions we resolve the ambiguity by preferring the
      abbreviation, and AT TIME ZONE should work the same way.  (No functionality
      is lost because the zic database also has other names for these zones, eg
      Europe/Zurich.)  Per gripe from Jaromir Talir.
      
      Backpatch to 8.1.  Older releases did not have the issue because AT TIME ZONE
      only accepted abbreviations not zone names.  (Thus, this patch also arguably
      fixes a compatibility botch introduced at 8.1: in ambiguous cases we now
      behave the same as 8.0 did.)
      c5083853
    • Peter Eisentraut's avatar
      76c3c59b
  4. 06 Jul, 2008 1 commit
    • Tom Lane's avatar
      Prevent integer overflows during units conversion when displaying a GUC · fbcc69c1
      Tom Lane authored
      variable that has units.  Per report from Stefan Kaltenbrunner.
      
      Backport to 8.2.  I also backported my patch of 2007-06-21 that prevented
      comparable overflows on the input side, since that now seems to have enough
      field track record to be back-patched safely.  That patch included addition
      of hints listing the available unit names, which I did not bother to strip
      out of it --- this will make a little more work for the translators, but
      they can copy the translation from 8.3, and anyway an untranslated hint
      is better than no hint.
      fbcc69c1
  5. 04 Jul, 2008 2 commits
  6. 03 Jul, 2008 8 commits
  7. 01 Jul, 2008 11 commits
  8. 30 Jun, 2008 5 commits
  9. 29 Jun, 2008 1 commit
  10. 28 Jun, 2008 1 commit
  11. 27 Jun, 2008 3 commits
    • Tom Lane's avatar
      Consider a clause to be outerjoin_delayed if it references the nullable side · dcc23347
      Tom Lane authored
      of any lower outer join, even if it also references the non-nullable side and
      so could not get pushed below the outer join anyway.  We need this in case
      the clause is an OR clause: if it doesn't get marked outerjoin_delayed,
      create_or_index_quals() could pull an indexable restriction for the nullable
      side out of it, leading to wrong results as demonstrated by today's bug
      report from toruvinn.  (See added regression test case for an example.)
      
      In principle this has been wrong for quite a while.  In practice I don't
      think any branch before 8.3 can really show the failure, because
      create_or_index_quals() will only pull out indexable conditions, and before
      8.3 those were always strict.  So though we might have improperly generated
      null-extended rows in the outer join, they'd get discarded from the result
      anyway.  The gating factor that makes the failure visible is that 8.3
      considers "col IS NULL" to be indexable.  Hence I'm not going to risk
      back-patching further than 8.3.
      dcc23347
    • Magnus Hagander's avatar
      Fix standalone libpq build on win32. · f6c1dece
      Magnus Hagander authored
      Hiroshi Saito
      f6c1dece
    • Tom Lane's avatar
      Improve planner's estimation of the size of an append relation: rather than · 2c2161a4
      Tom Lane authored
      taking the maximum of any child rel's width, we should weight the widths
      proportionally to the number of rows expected from each child.  In hindsight
      this is obviously correct because row width is really a proxy for the total
      physical size of the relation.  Per discussion with Scott Carey (bug #4264).
      2c2161a4