1. 10 Jan, 2000 5 commits
    • Bruce Momjian's avatar
      Fix oid8in and int28in for spaces · 57709359
      Bruce Momjian authored
      57709359
    • Bruce Momjian's avatar
      Move fixes for >8 indexed fields. · a0402817
      Bruce Momjian authored
      a0402817
    • Bruce Momjian's avatar
    • Bruce Momjian's avatar
      Update TODO list. · 8cc9d845
      Bruce Momjian authored
      8cc9d845
    • 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. 09 Jan, 2000 17 commits
  3. 08 Jan, 2000 3 commits
    • Bruce Momjian's avatar
      This patch removes the initialization of ri in loop in · 69d4299e
      Bruce Momjian authored
      quote_postgres(...) in ecpglib.c.
      
      The code in CVS reads:
      
      quote_postgres(char *arg, int lineno)
      {
       char    *res = (char *) ecpg_alloc(2 * strlen(arg) + 3, lineno);
       int   i,
          ri = 0;
      
       if (!res)
        return (res);
      
       res[ri++] = '\'';
       for (i = 0, ri=0; arg[i]; i++, ri++)
       {
        switch (arg[i])
        {
         case '\'':
          res[ri++] = '\'';
          break;
         case '\\':
          res[ri++] = '\\';
          break;
         default:
          ;
        }
      
      The problem here is that ri is reset to 0, thus overwriting the initial
      quote.
      
      Stephen Birch
      69d4299e
    • Tom Lane's avatar
      Modify PageIsEmpty and PageGetMaxOffsetNumber macros to behave sanely · 2515882a
      Tom Lane authored
      if presented an uninitialized (all zeroes) page.  The system no longer
      crashes hard if an all-zeroes page is present in a relation.  There seem
      to be some boundary conditions where a page will be appended to a relation
      and zeroed, but its page header is never initialized; until we can track
      down and fix all of those, robustness seems like a good idea.
      Also, clean up some obsolete and downright wrong comments.
      2515882a
    • Tom Lane's avatar
      Need defense against oversize index entries in btree CREATE INDEX, · b79e75d6
      Tom Lane authored
      as well as when inserting entries into an existing index.
      b79e75d6
  4. 07 Jan, 2000 3 commits
  5. 06 Jan, 2000 6 commits
  6. 05 Jan, 2000 6 commits