1. 29 Mar, 2007 3 commits
  2. 28 Mar, 2007 1 commit
    • tsmith@siva.hindu.god's avatar
      Bug #26642: create index corrupts table definition in .frm · ecd22993
      tsmith@siva.hindu.god authored
      Thanks to Martin Friebe for finding and submitting a fix for this bug!
      
      A table with maximum number of key segments and maximum length key name
      would have a corrupted .frm file, due to an incorrect calculation of the
      complete key length.  Now the key length is computed correctly (I hope) :-)
      
      MyISAM would reject a table with the maximum number of keys and the maximum
      number of key segments in all keys.  It would allow one less than this total
      maximum.  Now MyISAM accepts a table defined with the maximum.  (This is a
      very minor issue.)
      ecd22993
  3. 26 Mar, 2007 1 commit
  4. 21 Mar, 2007 1 commit
  5. 20 Mar, 2007 2 commits
  6. 15 Mar, 2007 2 commits
    • dlenev@mockturtle.local's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · e25ea78f
      dlenev@mockturtle.local authored
      into  mockturtle.local:/home/dlenev/src/mysql-4.1-merge
      e25ea78f
    • dlenev@mockturtle.local's avatar
      Fix for bug #25966 "2MB per second endless memory consumption after LOCK · f2cb6641
      dlenev@mockturtle.local authored
      TABLE ... WRITE".
      
      CPU hogging occured when connection which had to wait for table lock was
      serviced by thread which previously serviced connection that was killed
      (note that connections can reuse threads if thread cache is enabled).
      One possible scenario which exposed this problem was when thread which
      provided binlog dump to replication slave was implicitly/automatically
      killed when the same slave reconnected and started pulling data through
      different thread/connection.
      In 5.* versions memory hogging was added to CPU hogging. Moreover in
      those versions the problem also occured when one killed particular query
      in connection (using KILL QUERY) and later this connection had to wait for
      some table lock.
      
      This problem was caused by the fact that thread-specific mysys_var::abort
      variable, which indicates that waiting operations on mysys layer should
      be aborted (this includes waiting for table locks), was set by kill
      operation but was never reset back. So this value was "inherited" by the
      following statements or even other connections (which reused the same
      physical thread). Such discrepancy between this variable and THD::killed
      flag broke logic on SQL-layer and caused CPU and memory hogging.
      
      This patch tries to fix this problem by properly resetting this member.
      
      There is no test-case associated with this patch since it is hard to test
      for memory/CPU hogging conditions in our test-suite.
      f2cb6641
  7. 14 Mar, 2007 5 commits
  8. 13 Mar, 2007 2 commits
    • svoj@mysql.com/april.(none)'s avatar
      BUG#26881 - Large MERGE tables report incorrect specification when no · cb132bea
      svoj@mysql.com/april.(none) authored
                  differences in tables
      Certain merge tables were wrongly reported as having incorrect definition:
      - Some fields that are 1 byte long (e.g. TINYINT, CHAR(1)), might
        be internally casted (in certain cases) to a different type on a
        storage engine layer. (affects 4.1 and up)
      - If tables in a merge (and a MERGE table itself) had short VARCHAR column (less
        than 4 bytes) and at least one (but not all) tables were ALTER'ed (even to an
        identical table: ALTER TABLE xxx ENGINE=yyy), table definitions went ouf of
        sync. (affects 4.1 only)
      
      This is fixed by relaxing a check for underlying conformance and setting
      field type to FIELD_TYPE_STRING in case varchar is shorter than 4
      when a table is created.
      cb132bea
    • svoj@mysql.com/april.(none)'s avatar
      Merge mysql.com:/home/svoj/devel/bk/mysql-4.1 · 576db4f4
      svoj@mysql.com/april.(none) authored
      into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-4.1-engines
      576db4f4
  9. 12 Mar, 2007 4 commits
  10. 10 Mar, 2007 1 commit
  11. 09 Mar, 2007 1 commit
  12. 08 Mar, 2007 5 commits
  13. 07 Mar, 2007 5 commits
  14. 05 Mar, 2007 4 commits
  15. 03 Mar, 2007 1 commit
    • evgen@sunlight.local's avatar
      Bug#25126: Wrongly resolved field leads to a crash. · 629c1231
      evgen@sunlight.local authored
      When the ORDER BY clause gets fixed it's allowed to search in the current
      item_list in order to find aliased fields and expressions. This is ok for a
      SELECT but wrong for an UPDATE statement. If the ORDER BY clause will
      contain a non-existing field which is mentioned in the UPDATE set list
      then the server will crash due to using of non-existing (0x0) field.
      
      When an Item_field is getting fixed it's allowed to search item list for
      aliased expressions and fields only for selects.
      629c1231
  16. 02 Mar, 2007 2 commits