1. 13 Dec, 2008 1 commit
    • Timothy Smith's avatar
      Apply 3 patches from innodb-5.0-ss2637. · a786fa61
      Timothy Smith authored
      This fixes Bug#36149: Read buffer overflow in srv0start.c found during "make
      test"
      
      Per-revision comments:
      
      r2484 | vasil | 2008-05-28 15:32:48 +0300 (Wed, 28 May 2008) | 9 lines
      
      Fix Bug#36149 Read buffer overflow in srv0start.c found during "make test"
      
      Use strncmp(3) instead of memcmp(3) to avoid reading past end of the string
      if it is empty (*str == '\0'). This bug is _not_ a buffer overflow.
      
      Discussed with:	Sunny (via IM)
      
      r2538 | inaam | 2008-07-15 21:24:02 +0300 (Tue, 15 Jul 2008) | 15 lines
      
      Fix of issue# 4
      
      Fixed a timing hole where a thread dropping an index can free the
      in-memory index struct while another thread is still using
      that structure to remove entries from adaptive hash index belonging
      to one of the pages that belongs to the index being dropped.
      
      The fix is to have a reference counter in the index struct and to
      wait for this counter to drop to zero beforing freeing the struct.
      
      Reviewed by: Heikki
      
      
      r2544 | inaam | 2008-07-22 18:58:11 +0300 (Tue, 22 Jul 2008) | 8 lines
      
      Removed UNIV_INLINE qualifier from btr_search_info_get_ref_count().
      Otherwise compilation failed on non-debug builds.
      
      Pointed by: Vasil
      a786fa61
  2. 12 Dec, 2008 1 commit
    • Timothy Smith's avatar
      Apply the rest of innodb-5.0-ss2475. This fixes Bug#36819, "ut_usectime does · c89393bb
      Timothy Smith authored
      not handle errors from gettimeofday".
      
      r2475 | vasil | 2008-05-22 19:35:30 +0300 (Thu, 22 May 2008) | 13 lines
      
      Fix by retrying gettimeofday() several times if it fails in ut_usectime().
      If it fails on all calls then return error to the caller to be handled
      at higher level.
      
      Update the variable innodb_row_lock_time_max in SHOW STATUS output only
      if ut_usectime() was successful.
      c89393bb
  3. 10 Dec, 2008 6 commits
  4. 09 Dec, 2008 11 commits
  5. 08 Dec, 2008 4 commits
  6. 05 Dec, 2008 1 commit
  7. 04 Dec, 2008 2 commits
    • Andrei Elkin's avatar
      Bug #33420 Test 'rpl_packet' fails randomly with changed "Exec_Master_Log_Pos" · 6d717c21
      Andrei Elkin authored
      Bug #41173 rpl_packet fails sporadically on pushbuild: query 'DROP TABLE t1' failed
      
      
      The both issues appeared to be a race between the SQL thread executing CREATE table t1
      and the IO thread that is expected to stop at the consequent big size event.
      The two events need serialization which is implemented.
      The early bug required back-porting a part fixes for bug#38350 exclusively for 5.0 version.
      
      
      
      mysql-test/r/rpl_packet.result:
        results changed due to bug#33420, bug#41173.
      mysql-test/t/rpl_packet.test:
        adding synchronization for sql and io thread (bug#41173 problem).
        simplifying the output to show only a relevant info (5.0 sole problem bug#33420).
      6d717c21
    • Luis Soares's avatar
      BUG#38826 Race in MYSQL_LOG::purge_logs is impossible to debug in production · da1bf248
      Luis Soares authored
      BUG#39325 Server crash inside MYSQL_LOG::purge_first_log halts replicaiton
      
      The patch reverses the order of the purging and updating events for log and relay-log.info/index files respectively.
      This solves the problem of having holes caused by crashes happening between updating info/index files and purging logs.
      
      NOTE: This is a combined patch for BUG#38826 and BUG#39325. This patch is based on bugteam tree and takes into account reviewers suggestions.
      da1bf248
  8. 03 Dec, 2008 3 commits
    • Alexey Kopytov's avatar
      Fix for bug #27483: Casting 'scientific notation type' to 'unsigned · 91f0c94c
      Alexey Kopytov authored
                          bigint' fails on windows.
      
      Visual Studio does not take into account some x86 hardware limitations
      which leads to incorrect results when converting large DOUBLE values
      to BIGINT UNSIGNED ones.
      
      Fixed by adding a workaround for double->ulonglong conversion on
      Windows.
      
      
      include/config-win.h:
        Added double2ulonglong(double) function implementing a workaround for
        broken double->ulonglong conversion on Windows/x86.
      include/my_global.h:
        Define double2ulonglong() as a simple typecast for anything but
        Windows.
      mysql-test/r/type_float.result:
        Added a test case for bug #27483.
      mysql-test/t/type_float.test:
        Added a test case for bug #27483.
      91f0c94c
    • V Narayanan's avatar
      merging with mysql-5.0-bugteam tree. · c75cd3d7
      V Narayanan authored
      c75cd3d7
    • unknown's avatar
      Raise version number after cloning 5.0.74 · 7391280c
      unknown authored
      7391280c
  9. 02 Dec, 2008 1 commit
  10. 01 Dec, 2008 6 commits
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      merged 5.0-main into 5.0-bugteam · c419185f
      Georgi Kodinov authored
      c419185f
    • Georgi Kodinov's avatar
      merged bug 39920 to 5.0-bugteam · 7114fde7
      Georgi Kodinov authored
      7114fde7
    • Georgi Kodinov's avatar
      Bug #39920: MySQL cannot deal with Leap Second expression in string literal. · f56e43ce
      Georgi Kodinov authored
                        
      Updated MySQL time handling code to react correctly on UTC leap second additions.
      MySQL functions that return the OS current time, like e.g. CURDATE(), NOW() etc
      will return :59:59 instead of :59:60 or 59:61.
      As a result the reader will receive :59:59 for 2 or 3 consecutive seconds 
      during the leap second.
      This fix will not affect the values returned by UNIX_TIMESTAMP() for leap seconds.
      But note that when converting the value returned by UNIX_TIMESTAMP() to broken 
      down time the correction of leap seconds will still be applied.
      Note that this fix will make a difference *only* if the OS is specially configured
      to return leap seconds from the OS time calls or when using a MySQL time zone 
      defintion that has leap seconds.
      Even after this change date/time literals (or other broken down time 
      representations) with leap seconds (ending on :59:60 or 59:61) will still be 
      considered illegal and discarded by the server with an error or 
      a warning depending on the sql mode.
      Added a test case to demonstrate the effect of the fix.
      
      mysql-test/r/timezone3.result:
        Bug #39920: test case
      mysql-test/std_data/Moscow_leap:
        Bug #39920: updated the Moscow time zone to Dr. Olson's tzdata 2008i 
        to accomodate for the 2008 leap second
      mysql-test/t/timezone3.test:
        Bug #39920: test case
      sql/tztime.cc:
        Bug #39920: adjust leap seconds (:60 or :61) to :59
      sql/tztime.h:
        Bug #39920: adjust leap seconds (:60 or :61) to :59
      f56e43ce
    • Georgi Kodinov's avatar
      Addendum to bug #37339 : make the test case portable to windows · a1e9b6ba
      Georgi Kodinov authored
      by using and taking out a full path.
      
      mysql-test/r/ctype_filesystem.result:
        Bug #37399: use MYSQL_TEST_DIR rooted test
      mysql-test/t/ctype_filesystem-master.opt:
        Bug #37399: use MYSQL_TEST_DIR rooted test
      mysql-test/t/ctype_filesystem.test:
        Bug #37399: use MYSQL_TEST_DIR rooted test
      a1e9b6ba
    • Gleb Shchepa's avatar
      After-push commit for bug #33461 to make valgrind happy: · 4f75f58b
      Gleb Shchepa authored
      TABLE_LIST doesn't free Strings in its string lists
      (TABLE_LIST::use_index and TABLE_liST::ignore_index), so
      calling c_ptr_safe() on that Strings leads to memleaks.
      OTOH "safe" c_ptr_safe() is not necessary there and we can
      replace it with c_ptr().
      4f75f58b
  11. 28 Nov, 2008 4 commits
    • Matthias Leich's avatar
      Merge of last pushes into GCA tree, no conflicts · 58288b69
      Matthias Leich authored
      Diff to actual 5.0-bugteam is revno: 2725 only
      58288b69
    • Gleb Shchepa's avatar
      Bug #33461: SELECT ... FROM <view> USE INDEX (...) throws · 41ccbefc
      Gleb Shchepa authored
                  an error
      
      Even after the fix for bug 28701 visible behaviors of
      SELECT FROM a view and SELECT FROM a regular table are
      little bit different:
      
      1. "SELECT FROM regular table USE/FORCE/IGNORE(non
         existent index)" fails with a "ERROR 1176 (HY000):
         Key '...' doesn't exist in table '...'"
      
      2. "SELECT FROM view USING/FORCE/IGNORE(any index)" fails
         with a "ERROR 1221 (HY000): Incorrect usage of
         USE/IGNORE INDEX and VIEW".  OTOH "SHOW INDEX FROM
         view" always returns empty result set, so from the point
         of same behaviour view we trying to use/ignore non
         existent index.
      
      To harmonize the behaviour of USE/FORCE/IGNORE(index)
      clauses in SELECT from a view and from a regular table the
      "ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX
      and VIEW" message has been replaced with the "ERROR 1176
      (HY000): Key '...' doesn't exist in table '...'" message
      like for tables and non existent keys.
      
      
      mysql-test/r/view.result:
        Added test case for bug #33461.
        Updated test case for bug 28701.
      mysql-test/t/view.test:
        Added test case for bug #33461.
        Updated test case for bug 28701.
      sql/sql_view.cc:
        Bug #33461: SELECT ... FROM <view> USE INDEX (...) throws
                    an error
        
        To harmonize the behaviour of USE/FORCE/IGNORE(index)
        clauses in SELECT from a view and from a regular table the
        "ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX
        and VIEW" message has been replaced with the "ERROR 1176
        (HY000): Key '...' doesn't exist in table '...'" message
        like for tables and non existent keys.
      41ccbefc
    • Georgi Kodinov's avatar
      merged bug 37339 to 5.0-bugteam · f1a9d567
      Georgi Kodinov authored
      f1a9d567
    • Georgi Kodinov's avatar
      Bug #37339: SHOW VARIABLES not working properly with multi-byte datadir · 8e688a7a
      Georgi Kodinov authored
            
      The SHOW VARIABLES LIKE .../SELECT @@/SELECT ... FROM INFORMATION_SCHEMA.VARIABLES
      were assuming that all the system variables are in system charset (UTF-8).
      However the variables that are settable through command line will have a different
      character set (character_set_filesystem).
      Fixed the server to remember the correct character set of basedir, datadir, tmpdir,
      ssl, plugin_dir, slave_load_tmpdir, innodb variables; init_connect and init_slave 
      variables and use it when processing data.
      
      mysql-test/r/ctype_filesystem.result:
        Bug #37339: test case (should be in utf-8)
      mysql-test/t/ctype_filesystem-master.opt:
        Bug #37339: test case (should be in ISO-8859-1)
      mysql-test/t/ctype_filesystem.test:
        Bug #37339: test case
      sql/mysqld.cc:
        Bug #37339: remember the correct character set for init_slave and init_connect
      sql/set_var.cc:
        Bug #37339: 
          - remember the character set of the relevant variables
          - implement storing and using the correct 
            character set
      sql/set_var.h:
        Bug #37339: implement storing and using the correct 
        character set
      sql/sql_show.cc:
        Bug #37339: implement storing and using the correct 
        character set
      8e688a7a