An error occurred fetching the project authors.
  1. 16 Mar, 2007 1 commit
    • istruewing@chilla.local's avatar
      Bug#26231 - select count(*) on myisam table returns wrong value · c33486ff
      istruewing@chilla.local authored
                  when index is used
      
      When the table contained TEXT columns with empty contents
      ('', zero length, but not NULL) _and_ strings starting with
      control characters like tabulator or newline, the empty values
      were not found in a "records in range" estimate. Hence count(*)
      missed these records.
      
      The reason was a different set of search flags used for key
      insert and key range estimation.
      
      I decided to fix the set of flags used in range estimation.
      Otherwise millions of databases around the world would require
      a repair after an upgrade.
      
      The consequence is that the manual must be fixed, which claims
      that TEXT columns are compared with "end space padding". This
      is true for CHAR/VARCHAR but wrong for TEXT. See also bug 21335.
      c33486ff
  2. 24 Jan, 2007 2 commits
  3. 22 Jan, 2007 1 commit
  4. 17 Jan, 2007 3 commits
  5. 05 Jan, 2007 1 commit
  6. 20 Dec, 2006 1 commit
  7. 19 Dec, 2006 1 commit
  8. 14 Dec, 2006 3 commits
  9. 25 Oct, 2006 1 commit
  10. 09 Oct, 2006 1 commit
    • istruewing@chilla.local's avatar
      Bug#8283 - OPTIMIZE TABLE causes data loss · 5f08a831
      istruewing@chilla.local authored
      OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
      parallel repair. This means that it does not only rebuild all 
      indexes, but also the data file.
      
      Non-quick parallel repair works so that there is one thread per 
      index. The first of the threads rebuilds also the new data file.
      
      The problem was that all threads shared the read io cache on the
      old data file. If there were holes (deleted records) in the table,
      the first thread skipped them, writing only contiguous, non-deleted
      records to the new data file. Then it built the new index so that
      its entries pointed to the correct record positions. But the other
      threads didn't know the new record positions, but put the positions
      from the old data file into the index.
      
      The new design is so that there is a shared io cache which is filled
      by the first thread (the data file writer) with the new contiguous
      records and read by the other threads. Now they know the new record
      positions.
      
      Another problem was that for the parallel repair of compressed
      tables a common bit_buff and rec_buff was used. I changed it so
      that thread specific buffers are used for parallel repair.
      
      A similar problem existed for checksum calculation. I made this
      multi-thread safe too.
      5f08a831
  11. 07 Sep, 2006 1 commit
  12. 29 Aug, 2006 1 commit
  13. 25 Aug, 2006 1 commit
  14. 10 Aug, 2006 1 commit
  15. 10 Jul, 2006 2 commits
  16. 06 Jul, 2006 1 commit
    • acurtis@xiphis.org's avatar
      Bug#8706 · 86132d5d
      acurtis@xiphis.org authored
        "temporary table with data directory option fails"
        myisam should not use user-specified table name when creating
        temporary tables and use generated connection specific real name.
        Test included.
      86132d5d
  17. 21 Jun, 2006 1 commit
    • svoj@may.pils.ru's avatar
      BUG#20357 - Got error 124 from storage engine using MIN and MAX · 8b98be28
      svoj@may.pils.ru authored
                  functions in queries
      
      Using MAX()/MIN() on table with disabled indexes (by ALTER TABLE)
      results in error 124 (wrong index) from storage engine.
      
      The problem was that optimizer use disabled index to optimize
      MAX()/MIN(). Normally it must skip disabled index and perform
      table scan.
      
      This patch skips disabled indexes for min/max optimization.
      8b98be28
  18. 19 Jun, 2006 1 commit
    • svoj@may.pils.ru's avatar
      BUG#18036 - update of table joined to self reports table as crashed · 37cdb0fb
      svoj@may.pils.ru authored
      Certain updates of table joined to self results in unexpected
      behavior.
      
      The problem was that record cache was mistakenly enabled for
      self-joined table updates. Normally record cache must be disabled
      for such updates.
      
      Fixed wrong condition in code that determines whether to use
      record cache for self-joined table updates.
      
      Only MyISAM tables were affected.
      37cdb0fb
  19. 08 May, 2006 1 commit
  20. 03 May, 2006 1 commit
    • monty@mysql.com's avatar
      Added support for key_block_size for key and table level (WL#602) · 343644dd
      monty@mysql.com authored
      Added support for key_block_size to MyISAM.
      Simplify interface to 'new Key' to make it easier to add new key options.
      mysqld option --new is used to define where key options are printed.
      (In 5.3 we should move all key options to after key part definition to avoid problem with reserved names)
      Fixed some compiler warnings and a memory leak in ssl
      343644dd
  21. 10 Mar, 2006 1 commit
    • ingo@mysql.com's avatar
      Bug#14980 - COUNT(*) incorrect on MyISAM table with certain INDEX · d0c6eb88
      ingo@mysql.com authored
      For "count(*) while index_column = value" an index read
      is done. It consists of an index scan and retrieval of
      each key.
      
      For efficiency reasons the index scan stores the key in
      the special buffer 'lastkey2' once only. At the first 
      iteration it notes this fact with the flag 
      HA_STATE_RNEXT_SAME in 'info->update'.
      
      For efficiency reasons, the key retrieval for blobs
      does not allocate a new buffer, but uses 'lastkey2'...
      
      Now I clear the HA_STATE_RNEXT_SAME flag whenever the 
      buffer has been polluted. In this case, the index scan
      copies the key value again (and sets the flag again).
      d0c6eb88
  22. 24 Jan, 2006 1 commit
  23. 07 Nov, 2005 1 commit
  24. 28 Oct, 2005 1 commit
  25. 21 Oct, 2005 1 commit
  26. 12 Oct, 2005 1 commit
  27. 20 Sep, 2005 1 commit
  28. 29 Aug, 2005 2 commits
  29. 28 Jul, 2005 1 commit
  30. 27 Jul, 2005 1 commit
  31. 13 May, 2005 2 commits
  32. 08 Apr, 2005 1 commit