Skip to content
Snippets Groups Projects
  1. Jan 10, 2000
    • Bruce Momjian's avatar
    • Tom Lane's avatar
      Repair subtle VACUUM bug that led to 'HEAP_MOVED_IN was not expected' · fcb7c14d
      Tom Lane authored
      errors.  VACUUM normally compacts the table back-to-front, and stops
      as soon as it gets to a page that it has moved some tuples onto.
      (This logic doesn't make for a complete packing of the table, but it
      should be pretty close.)  But the way it was checking whether it had
      got to a page with some moved-in tuples was to look at whether the
      current page was the same as the last page of the list of pages that
      have enough free space to be move-in targets.  And there was other
      code that would remove pages from that list once they got full.
      There was a kluge that prevented the last list entry from being
      removed, but it didn't get the job done.  Fixed by keeping a separate
      variable that contains the largest block number into which a tuple
      has been moved.  There's no longer any need to protect the last element
      of the fraged_pages list.
      Also, fix NOTICE messages to describe elapsed user/system CPU time
      correctly.
      fcb7c14d
  2. Jan 09, 2000
  3. Jan 08, 2000
  4. Jan 07, 2000
  5. Jan 06, 2000
  6. Jan 05, 2000
  7. Jan 04, 2000
    • Thomas G. Lockhart's avatar
      Repair two recently reported problems: · 3ec826f9
      Thomas G. Lockhart authored
      1) datetime_pl_span() added the seconds field before adding the months
       field.  This lead to erroneous results for e.g.
         select datetime '1999-11-30' + timespan '1 mon - 1 sec';
       Reverse the order of operations to add months first.
      2) tm2timespan() did all intermediate math as integer, converting to double
       at the very end. This resulted in hidden overflows when given very large
       integer days, hours, etc. For example,
         select '74565 days'::timespan;
       produced the wrong result. Change code to ensure that doubles are used
       for intermediate calculations.
      Thanks to Olivier PRENANT <ohp@pyrenet.fr> and
       Tulassay Zsolt <zsolt@tek.bke.hu> for problem reports and to Tom Lane for
       accurate analyses.
      3ec826f9
  8. Jan 02, 2000
  9. Dec 31, 1999
  10. Dec 30, 1999
  11. Dec 29, 1999
  12. Dec 28, 1999
  13. Dec 26, 1999
  14. Dec 24, 1999
    • Tom Lane's avatar
      Clean up handling of explicit NULL constants. Cases like · 350cb386
      Tom Lane authored
      	SELECT null::text;
      	SELECT int4fac(null);
      work as expected now.  In some cases a NULL must be surrounded by
      parentheses:
      	SELECT 2 + null;                 fails
      	SELECT 2 + (null);               OK
      This is a grammatical ambiguity that seems difficult to avoid.  Other
      than that, NULLs seem to behave about like you'd expect.  The internal
      implementation is that NULL constants are typed as UNKNOWN (like
      untyped string constants) until the parser can deduce the right type.
      350cb386
  15. Dec 22, 1999
    • Hiroshi Inoue's avatar
      · a3e2bc73
      Hiroshi Inoue authored
      to live in a transaction before access to db
      during backend startup.
      a3e2bc73
  16. Dec 21, 1999
  17. Dec 20, 1999
  18. Dec 17, 1999
  19. Dec 16, 1999
Loading