1. 12 Nov, 2007 1 commit
    • unknown's avatar
      Bug #31305 myisam tables crash when they are near capacity. · 23efd897
      unknown authored
      When we insert a record into MYISAM table which is almost 'full',
      we first write record data in the free space inside a file, and then
      check if we have enough space after the end of the file.
      So if we don't have the space, table will left corrupted.
      Similar error also happens when we updata MYISAM tables.
      
      Fixed by modifying write_dynamic_record and update_dynamic_record functions
      to check for free space before writing parts of a record
      
      
      BitKeeper/etc/ignore:
        Added libmysql_r/client_settings.h libmysqld/ha_blackhole.cc to the ignore list
      myisam/mi_dynrec.c:
        Bug #31305 myisam tables crash when they are near capacity.
        
        now we check space left in table in write_dynamic_record
        and update_dynamic_record functions.
        If we don't have enough room for the new (updated) record, return with the
        error.
      mysql-test/r/almost_full.result:
        New BitKeeper file ``mysql-test/r/almost_full.result''
      mysql-test/t/almost_full.test:
        New BitKeeper file ``mysql-test/t/almost_full.test''
      23efd897
  2. 23 Oct, 2007 1 commit
  3. 19 Oct, 2007 1 commit
  4. 18 Oct, 2007 2 commits
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · d6c17d01
      unknown authored
      into  sin.intern.azundris.com:/misc/mysql/31588/41-31588
      
      d6c17d01
    • unknown's avatar
      Bug#31588: buffer overrun when setting variables · 52162bd3
      unknown authored
      Buffer used when setting variables was not dimensioned to accomodate
      trailing '\0'. An overflow by one character was therefore possible.
      CS corrects limits to prevent such overflows.
      
      
      mysql-test/r/variables.result:
        Try to overflow buffer used for setting system variables.
        Unpatched server should throw a valgrind warning here.
        Actual value and error message irrelevant, only length counts.
      mysql-test/t/variables.test:
        Try to overflow buffer used for setting system variables.
      sql/set_var.cc:
        Adjust maximum number of characters we can store in 'buff' by one
        as strmake() will write a terminating '\0'.
      52162bd3
  5. 17 Oct, 2007 1 commit
  6. 16 Oct, 2007 1 commit
  7. 11 Oct, 2007 1 commit
    • unknown's avatar
      Fix for bug #31174: "Repair" command on MyISAM crashes with small · 0aba4cc9
      unknown authored
      myisam_sort_buffer_size.
      
      An incorrect length of the sort buffer was used when calculating the
      maximum number of keys. When myisam_sort_buffer_size is small enough,
      this could result in the number of keys < number of
      BUFFPEK structures which in turn led to use of uninitialized BUFFPEKs.
      
      Fixed by correcting the buffer length calculation.
      
      
      myisam/sort.c:
        Use a correct buffer length when calculating the maximum number of keys.
        Assert that for each BUFFPEK structure there is at least one
        corresponding key. Otherwise we would fail earlier and not reach
        merge_buffers().
      mysql-test/r/repair.result:
        Added a test case for bug #31174.
      mysql-test/t/repair.test:
        Added a test case for bug #31174.
      0aba4cc9
  8. 10 Oct, 2007 2 commits
  9. 05 Oct, 2007 3 commits
    • unknown's avatar
      Merge mysql.com:/home/hf/work/30955/my41-30955 · b340abe7
      unknown authored
      into  mysql.com:/home/hf/work/30286/my41-30286
      
      b340abe7
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1-opt · ec48fce4
      unknown authored
      into  mysql.com:/home/hf/work/30286/my41-30286
      
      ec48fce4
    • unknown's avatar
      Bug #30286 spatial index cause corruption and server crash! · ffdd1f61
      unknown authored
      As the result of DOUBLE claculations can be bigger
      than DBL_MAX constant we use in code, we shouldn't use this constatn
      as a biggest possible value.
      Particularly the rtree_pick_key function set 'min_area= DBL_MAX' relying
      that any rtree_area_increase result will be less so we return valid
      key. Though in rtree_area_increase function we calculate the area
      of the rectangle, so the result can be 'inf' if the rectangle is
      huge enough, which is bigger than DBL_MAX.
      
      Code of the rtree_pick_key modified so we always return a valid key.
      
      
      myisam/rt_index.c:
        Bug #30286 spatial index cause corruption and server crash!
        
        always set the best_key with the first key we get, so we always return
        somthing valid.
      myisam/rt_mbr.c:
        Bug #30286 spatial index cause corruption and server crash!
        
        function comment extended
      mysql-test/r/gis-rtree.result:
        Bug #30286 spatial index cause corruption and server crash!
        test result
      mysql-test/t/gis-rtree.test:
        Bug #30286 spatial index cause corruption and server crash!
        test case
      ffdd1f61
  10. 04 Oct, 2007 5 commits
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint · 186c5bee
      unknown authored
      into  sin.intern.azundris.com:/home/tnurnberg/30444/41-30444
      
      186c5bee
    • unknown's avatar
      Backport of the 5.0 patch to 4.1 · ed345e5d
      unknown authored
      Bug#28878: InnoDB tables with UTF8 character set and indexes cause  wrong result for DML
      When making key reference buffers over CHAR fields whitespace (0x20) must be used to fill in the remaining space in the field's buffer. This is what Field_string::store() does. Fixed Field_string::get_key_image() to do the same.
      
      
      mysql-test/r/innodb_mysql.result:
        Bug#28878: test case
      mysql-test/t/innodb_mysql.test:
        Bug#28878: test case
      sql/field.cc:
        Bug#28878: Fill with space instead of binary zeros.
      ed345e5d
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maint · 57229f79
      unknown authored
      into  sin.intern.azundris.com:/home/tnurnberg/30444/41-30444
      
      57229f79
    • unknown's avatar
      Bug #30444: 5.0 mysqldump silently allows wrong backup to be taken against a 4.0 database · 805561e4
      unknown authored
      The combination of --single-transaction and --master-data requires
      START TRANSACTION WITH CONSISTENT SNAPSHOT which is available from
      mysqld 4.1 on. When trying this against an older server, print
      diagnostic, then, if --force is not given, abort.
      
      No test-case given since it would require a mysqld < 4.1.
      
      
      client/mysqldump.c:
        Bug #30444: 5.0 mysqldump silently allows wrong backup to be taken against a 4.0 database
        
        The combination of --single-transaction and --master-data requires
        START TRANSACTION WITH CONSISTENT SNAPSHOT which is available from
        mysqld 4.1 on. When trying this against an older server, print
        diagnostic, then, if --force is not given, abort.
      805561e4
    • unknown's avatar
      Fix for bug #31069: crash in 'sounds like' · b889488a
      unknown authored
      and for bug #31070: crash during conversion of charsets
      
      Problem: passing a 0 byte length string to some my_mb_wc_XXX() 
      functions leads to server crash due to improper argument check.
      
      Fix: properly check arguments passed to my_mb_wc_XXX() functions.
      
      
      mysql-test/include/ctype_common.inc:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - test case.
      mysql-test/r/ctype_big5.result:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - test result.
      mysql-test/r/ctype_euckr.result:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - test result.
      mysql-test/r/ctype_gb2312.result:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - test result.
      mysql-test/r/ctype_gbk.result:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - test result.
      mysql-test/r/ctype_uca.result:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - test result.
      strings/ctype-big5.c:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - check the string length before testing its first byte.
      strings/ctype-cp932.c:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - check the string length before testing its first byte.
      strings/ctype-euc_kr.c:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - check the string length before testing its first byte.
      strings/ctype-gb2312.c:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - check the string length before testing its first byte.
      strings/ctype-sjis.c:
        Fix for bug #31069: crash in 'sounds like'
        and bug #31070: crash during conversion of charsets
          - check the string length before testing its first byte.
      b889488a
  11. 03 Oct, 2007 1 commit
    • unknown's avatar
      Bug #30955 geomfromtext() crasher. · 56c8fc86
      unknown authored
      end-of-line check missed in Gis_read_stream::get_next_word,
      what can lead to crashes (expecially with NULL strings).
      
      End-of-line check added
      
      
      sql/gstream.cc:
        Bug #30955 geomfromtext() crasher
      mysql-test/r/gis.result:
        Bug #30955 geomfromtext() crasher.
        
        test result
      mysql-test/t/gis.test:
        Bug #30955 geomfromtext() crasher.
        
        test case
      56c8fc86
  12. 28 Sep, 2007 1 commit
  13. 14 Sep, 2007 2 commits
  14. 13 Sep, 2007 1 commit
    • unknown's avatar
      BUG#30590 - delete from memory table with composite btree primary key · dfc87e8c
      unknown authored
      DELETE query against memory table with btree index may remove
      not all matching rows. This happens only when DELETE uses
      index read method to find matching rows. E.g. for queries
      like DELETE FROM t1 WHERE a=1.
      
      Fixed by reverting fix for BUG9719 and applying proper solution.
      
      
      heap/hp_delete.c:
        Reverted fix for BUG9719 as it makes queries like
        DELETE FROM t1 WHERE a=1 to remove not all matching
        rows (assuming this is memory table and there is btree
        key over `a`).
        
        This happens because we calculate info->lastkey_len in
        heap_rkey(). When we enter heap_rnext(), info->lastkey_len
        is 0 (set by hp_rb_delete_key()). We need to preserve
        info->lastkey_len in this situation, otherwise
        tree_search_key() will always return smallest value in
        a tree.
      heap/hp_rfirst.c:
        If we're performing index_first on a table that was taken from
        table cache, info->lastkey_len is initialized to previous query.
        Thus we set info->lastkey_len to proper value for subsequent
        heap_rnext() calls.
        This is needed for DELETE queries only, otherwise this variable is
        not used.
        Note that the same workaround may be needed for heap_rlast(), but
        for now heap_rlast() is never used for DELETE queries.
      heap/hp_rnext.c:
        An optimization for DELETE queries that use index_first()/index_next().
        Use faster tree_search_edge() instead of tree_search_key().
      mysql-test/r/heap_btree.result:
        A test case for BUG#30590.
      mysql-test/t/heap_btree.test:
        A test case for BUG#30590.
      dfc87e8c
  15. 10 Sep, 2007 1 commit
  16. 04 Sep, 2007 1 commit
  17. 29 Aug, 2007 5 commits
    • unknown's avatar
      libmysql_r/client_settings.h libmysqld/ha_blackhole.cc · d3708532
      unknown authored
        Deleted BitKeeper soft links not needed
      
      
      BitKeeper/deleted/.del-client_settings.h:
        Delete: libmysql_r/client_settings.h
      BitKeeper/deleted/.del-ha_blackhole.cc:
        Delete: libmysqld/ha_blackhole.cc
      d3708532
    • unknown's avatar
      mysql_config.sh: · 22488e09
      unknown authored
        Flag changed name in icc 10
      
      
      scripts/mysql_config.sh:
        Flag changed name in icc 10
      22488e09
    • unknown's avatar
      Remove any old pidfile before starting mysqld to make sure that · d79cb398
      unknown authored
      'mysqld_wait_started' don't return prematurely because of an old
      pidfile
      
      d79cb398
    • unknown's avatar
      Fix typo: '$$' => '$' · 792c7b90
      unknown authored
      792c7b90
    • unknown's avatar
      Add 'mtr_rmtree' · f60837cb
      unknown authored
      
      mysql-test/lib/mtr_misc.pl:
        Add function 'mtr_rmtree' it will try 'rmtree' and if that fails (most likely
        due to permission problems we will fun File::find to chmod all files and dirs
        to 0777 and then delete.
      mysql-test/mysql-test-run.pl:
        Use 'mtr_rmtree' in favour of 'rmtree'
      f60837cb
  18. 13 Aug, 2007 1 commit
  19. 05 Aug, 2007 1 commit
  20. 04 Aug, 2007 1 commit
  21. 02 Aug, 2007 7 commits