1. 19 Oct, 2006 2 commits
  2. 17 Oct, 2006 1 commit
  3. 16 Oct, 2006 1 commit
  4. 13 Oct, 2006 2 commits
  5. 11 Oct, 2006 4 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines · 6690036d
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug8283-one
      
      
      include/my_sys.h:
        Auto merged
      6690036d
    • unknown's avatar
      BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and server · a498ce55
      unknown authored
                  hangs on Linux
      
      If REPAIR TABLE ... USE_FRM is issued for table that is located in different
      than default database server crash could happen.
      
      In reopen_name_locked_table take database name from table_list (user specified
      or default database) instead of from thd (default database).
      
      Affects 4.1 only.
      
      
      mysql-test/r/repair.result:
        A test case for BUG#22562.
      mysql-test/t/repair.test:
        A test case for BUG#22562.
      sql/sql_base.cc:
        In reopen_name_locked_table take database name from table_list (user specified
        or default database) instead of from thd (default database).
      a498ce55
    • unknown's avatar
      Bug#12240 - Rows Examined in Slow Log showing incorrect number? · 30a134f4
      unknown authored
      Examined rows are counted for every join part. The per-join-part
      counter was incremented over all iterations. The result variable
      was replaced at the end of every iteration. The final result was
      the number of examined rows by the join part that ended its
      execution as the last one. The numbers of other join parts was
      lost.
      
      Now we reset the per-join-part counter before every iteration and
      add it to the result variable at the end of the iteration. That
      way we get the sum of all iterations of all join parts.
      
      No test case. Testing this needs a look into the slow query log.
      I don't know of a way to do this portably with the test suite.
      
      
      sql/sql_select.cc:
        Bug#12240 - Rows Examined in Slow Log showing incorrect number?
        Fixed reseting and accumulation of examined rows counts.
      30a134f4
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1-rpl · 046419c3
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
      
      046419c3
  6. 10 Oct, 2006 1 commit
  7. 09 Oct, 2006 2 commits
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-4.1-bug8283 · f127cbb6
      unknown authored
      into  chilla.local:/home/mydev/mysql-4.1-bug8283-one
      
      
      myisam/mi_check.c:
        Auto merged
      myisam/mi_packrec.c:
        Auto merged
      myisam/sort.c:
        Auto merged
      mysql-test/r/myisam.result:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Manual merge
      mysql-test/t/myisam.test:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Manual merge
      f127cbb6
    • unknown's avatar
      Bug#8283 - OPTIMIZE TABLE causes data loss · 2aebd679
      unknown 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.
      
      
      include/my_sys.h:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Redesign of io_cache_share.
      include/myisam.h:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Redesign of checksum calculation in mi_check.c.
        'calc_checksum' is now in myisamdef.h:st_mi_sort_param.
      myisam/mi_check.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Implemented a new parallel repair design.
        Using a synchronized shared read/write cache.
        Allowed for thread specific bit_buff, rec_buff, and calc_checksum.
      myisam/mi_open.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added DBUG output.
      myisam/mi_packrec.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Allowed for thread specific bit_buff and rec_buff.
      myisam/myisamdef.h:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Commented on checksum calculation variables.
        Allowed for thread specific bit_buff.
        Added DBUG output for better table crash detection.
      myisam/sort.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added implications of the new parallel repair design.
        Renamed 'info' -> 'sort_param'.
        Added DBUG output.
      mysql-test/r/myisam.result:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added test results.
      mysql-test/t/myisam.test:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Added test cases.
      mysys/mf_iocache.c:
        Bug#8283 - OPTIMIZE TABLE causes data loss
        Redesign of io_cache_share.
        We do now allow a writer to synchronize himself with the
        readers of a shared cache. When all threads join in the lock,
        the writer copies the data from his write buffer to the shared
        read buffer.
      2aebd679
  8. 08 Oct, 2006 1 commit
  9. 06 Oct, 2006 4 commits
  10. 05 Oct, 2006 3 commits
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines · 1e5d2626
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG21381/mysql-4.1-engines
      
      1e5d2626
    • unknown's avatar
      BUG#21381 - Engine not notified about multi-table UPDATE IGNORE · 717624ef
      unknown authored
      Though this is not storage engine specific problem, I was able to
      repeat this problem with BDB and NDB engines only. That was the
      reason to add a test case into ndb_update.test. As a result
      different bad things could happen.
      
      BDB has removed duplicate rows which is not expected.
      NDB returns an error.
      
      For multi table update notify storage engine about UPDATE IGNORE
      as it is done in single table UPDATE.
      
      
      mysql-test/r/ndb_update.result:
        A test case for bug#21381.
      mysql-test/t/ndb_update.test:
        A test case for bug#21381.
      sql/sql_update.cc:
        For multi table update notify storage engine about UPDATE IGNORE
        as it is done in single table UPDATE.
      717624ef
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1 · d2f60884
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/4.1-kt
      
      
      include/m_ctype.h:
        Auto merged
      mysql-test/r/ctype_utf8.result:
        Auto merged
      mysql-test/t/ctype_utf8.test:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/unireg.cc:
        Auto merged
      d2f60884
  11. 03 Oct, 2006 7 commits
  12. 02 Oct, 2006 12 commits