1. 31 Aug, 2006 1 commit
  2. 30 Aug, 2006 1 commit
    • cmiller@zippy.cornsilk.net's avatar
      Bug#4053: too many of "error 1236: 'binlog truncated in the middle of \ · 2c356ec7
      cmiller@zippy.cornsilk.net authored
      	event' from master"
      
      Since there is no repeatable test case, and this is obviously wrong, this is
      the most conservative change that might possibly work.  
      
      The syscall  read()  wasn't checked for a negative return value for an
      interrupted read.  The kernel  sys_read()  returns -EINTR, and the "library" 
      layer maps that to return value of -1 and sets  errno  to EINTR.  It's 
      impossible (on Linux) for  read()  to set errno EINTR without the return 
      value being -1 .
      
      So, if we're checking for EINTR behavior, we should not require that the
      return value be zero.
      2c356ec7
  3. 26 Jul, 2006 1 commit
  4. 08 Jul, 2006 1 commit
  5. 07 Jul, 2006 2 commits
  6. 05 Jul, 2006 1 commit
  7. 01 Jul, 2006 1 commit
    • cmiller@zippy.(none)'s avatar
      Bug#19006: 4.0 valgrind problems (in test func_str) · 5039184e
      cmiller@zippy.(none) authored
      On exactly-sized Strings, the String::c_ptr() function peeked beyond the
      end of the buffer, possibly into unititialized space to see whether the 
      buffer was NUL-terminated.
      
      In a place that did peek improperly, we now use a c_ptr_safe() function, 
      which doesn't peek where it shouldn't.
      5039184e
  8. 28 Jun, 2006 1 commit
    • ingo@mysql.com's avatar
      Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert" · 99ad23ec
      ingo@mysql.com authored
      It was possible that fetching a record by an exact key value 
      (including the record pointer) could return a record with a 
      different key value. This happened only if a concurrent insert 
      added a record with the searched key value after the fetching 
      statement locked the table for read.
      
      The search succeded on the key value, but the record was
      rejected as it was past the file length that was remembered
      at start of the fetching statement. With other words it was 
      rejected as being a concurrently inserted record.
      
      The action to recover from this problem was to fetch the 
      record that is pointed at by the next key of the index. 
      This was repeated until a record below the file length was 
      found.
      
      I do now avoid this loop if an exact match was searched. 
      If this match is beyond the file length, it is now treated 
      as "key not found". There cannot be another key with the 
      same record pointer.
      99ad23ec
  9. 27 Jun, 2006 1 commit
  10. 26 Jun, 2006 1 commit
    • kent@mysql.com's avatar
      make_sharedlib_distribution.sh: · c36dd286
      kent@mysql.com authored
        For compatibility, don't use {..,..} in pattern matching
      make_binary_distribution.sh:
        Added .dylib and .sl as shared library extensions
      c36dd286
  11. 13 Jun, 2006 1 commit
  12. 20 May, 2006 1 commit
  13. 12 May, 2006 1 commit
    • kent@mysql.com's avatar
      Many files: · 9e77c3a0
      kent@mysql.com authored
        Change mode to -rw-rw-r--
      dbug_add_tags.pl:
        Change mode to -rwxrwxr--
      9e77c3a0
  14. 11 May, 2006 1 commit
  15. 06 May, 2006 1 commit
  16. 04 May, 2006 1 commit
  17. 25 Apr, 2006 2 commits
  18. 11 Apr, 2006 3 commits
  19. 10 Apr, 2006 3 commits
  20. 08 Apr, 2006 1 commit
  21. 07 Apr, 2006 1 commit
  22. 06 Apr, 2006 1 commit
  23. 03 Apr, 2006 1 commit
  24. 01 Apr, 2006 1 commit
  25. 02 Mar, 2006 2 commits
  26. 01 Mar, 2006 4 commits
  27. 20 Feb, 2006 1 commit
  28. 12 Feb, 2006 1 commit
  29. 28 Jan, 2006 1 commit
  30. 23 Jan, 2006 1 commit
    • evgen@moonbone.local's avatar
      Fixed bug #16510: Updating field named like '*name' caused server crash. · b1967ad7
      evgen@moonbone.local authored
      When setup_fields() function finds field named '*' it expands it to the list
      of all table fields. It does so by checking that the first char of
      field_name is '*', but it doesn't checks that the '* is the only char.
      Due to this, when updating table with a field named like '*name', such field
      is wrongly treated as '*' and expanded. This leads to making list of fields
      to update being longer than list of the new values. Later, the fill_record() 
      function crashes by dereferencing null when there is left fields to update,
      but no more values.
      
      Added check in the setup_fields() function which ensures that the field
      expanding will be done only when '*' is the only char in the field name.
      b1967ad7