1. 28 Mar, 2007 4 commits
  2. 26 Mar, 2007 1 commit
    • gkodinov/kgeorge@magare.gmz[kgeorge]'s avatar
      Bug #27164: not reseting the data pointer · e6d81ad3
      gkodinov/kgeorge@magare.gmz[kgeorge] authored
       to 0 causes wrong (large) length to be read
       from the row in _mi_calc_blob_length() when 
       storing NULL values in (e.g) POINT columns.
       This large length is then used to allocate
       a block of memory that (on some OSes) causes
       trouble.
       Fixed by calling the base class's 
       Field_blob::reset() from Field_geom::reset()
       that is called when storing a NULL value into
       the column.
      e6d81ad3
  3. 22 Mar, 2007 3 commits
  4. 20 Mar, 2007 1 commit
  5. 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
  6. 14 Mar, 2007 5 commits
  7. 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
  8. 12 Mar, 2007 4 commits
  9. 10 Mar, 2007 1 commit
  10. 09 Mar, 2007 1 commit
  11. 08 Mar, 2007 5 commits
  12. 07 Mar, 2007 5 commits
  13. 05 Mar, 2007 5 commits
  14. 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