1. 16 Nov, 2010 5 commits
  2. 15 Nov, 2010 6 commits
    • Mattias Jonsson's avatar
      merge · 5bbe83f6
      Mattias Jonsson authored
      5bbe83f6
    • Mattias Jonsson's avatar
      merge · 61f14ae0
      Mattias Jonsson authored
      61f14ae0
    • Mattias Jonsson's avatar
      merge · 6b1a7db9
      Mattias Jonsson authored
      6b1a7db9
    • Mattias Jonsson's avatar
      merge · 71bf3d57
      Mattias Jonsson authored
      71bf3d57
    • Jorgen Loland's avatar
      Bug#54812: assert in Diagnostics_area::set_ok_status · 4bfd2121
      Jorgen Loland authored
                 during EXPLAIN
      
      Before the patch, send_eof() of some subclasses of 
      select_result (e.g., select_send::send_eof()) could 
      handle being called after an error had occured while others 
      could not. The methods that were not well-behaved would trigger
      an ASSERT on debug builds. Release builds were not affected.
      
      Consider the following query as an example for how the ASSERT
      could be triggered:
      
      A user without execute privilege on f() does
         SELECT MAX(key1) INTO @dummy FROM t1 WHERE f() < 1;
      resulting in "ERROR 42000: execute command denied to user..." 
      
      The server would end the query by calling send_eof(). The 
      fact that the error had occured would make the ASSERT trigger. 
      
      select_dumpvar::send_eof() was the offending method in the
      bug report, but the problem also applied to other 
      subclasses of select_result. This patch uniforms send_eof() 
      of all subclasses of select_result to handle being called 
      after an error has occured. 
      4bfd2121
    • Mattias Jonsson's avatar
      Bug#58197: main.variables-big fails on windows · 413dd7d2
      Mattias Jonsson authored
      The test result differs on windows, since
      it writes out 'localhost:<port>' instead of
      only 'localhost', since it uses tcp/ip instead
      of unix sockets on windows.
      
      Fixed by replacing that column.
      
      Also requires --big-test from some long running tests
      and added a weekly run of all test requiring --big-test.
      413dd7d2
  3. 13 Nov, 2010 4 commits
    • Vladislav Vaintroub's avatar
      merge · 616f90b3
      Vladislav Vaintroub authored
      616f90b3
    • Vladislav Vaintroub's avatar
    • Vladislav Vaintroub's avatar
      Bug#58178: "make package" is broken with cmake 2.8.3 · 8a954943
      Vladislav Vaintroub authored
      Problem:  with "make package" , many small packages are 
      generated, one per CMake COMPONENT, instead of expected single
      package. This is due to the new (in cmake 2.8.3) component-based 
      install for archive( e.g ZIP,TGZ ) CPack generators.
      
      See http://public.kitware.com/Bug/view.php?id=11452 for discussion.
      
      Fix: use CPACK_MONOLITHIC_INSTALL=1 to enforce single package.
      Reset this variable temporarily to 0 for  MSI creation  (MSI needs 
      COMPONENTs)
      8a954943
    • Alexander Nozdrin's avatar
      Fix for Bug#56934 (mysql_stmt_fetch() incorrectly fills MYSQL_TIME · 5af51e4a
      Alexander Nozdrin authored
      structure buffer).
      
      This is a follow-up for WL#4435. The bug actually existed not only
      MYSQL_TYPE_DATETIME type. The problem was that Item_param::set_value()
      was written in an assumption that it's working with expressions, i.e.
      with basic data types.
      
      There are two different quick fixes here:
        a) Change Item_param::make_field() -- remove setting of
           Send_field::length, Send_field::charsetnr, Send_field::flags and
           Send_field::type.
      
           That would lead to marshalling all data using basic types to the client
           (MYSQL_TYPE_LONGLONG, MYSQL_TYPE_DOUBLE, MYSQL_TYPE_STRING and
           MYSQL_TYPE_NEWDECIMAL). In particular, that means, DATETIME would be
           sent as MYSQL_TYPE_STRING, TINYINT -- as MYSQL_TYPE_LONGLONG, etc.
      
           That could be Ok for the client, because the client library does
           reverse conversion automatically (the client program would see DATETIME
           as MYSQL_TIME object). However, there is a problem with metadata --
           the metadata would be wrong (misleading): it would say that DATETIME is
           marshaled as MYSQL_TYPE_DATETIME, not as MYSQL_TYPE_STRING.
      
        b) Set Item_param::param_type properly to actual underlying field type.
           That would lead to double conversion inside the server: for example,
           MYSQL_TIME-object would be converted into STRING-object
           (in Item_param::set_value()), and then converted back to MYSQL_TIME-object
           (in Item_param::send()).
      
           The data however would be marshalled more properly, and also metadata would
           be correct.
      
      This patch implements b).
      
      There is also a possibility to avoid double conversion either by clonning
      the data field, or by storing a reference to it and using it on Item::send()
      time. That requires more work and might be done later.
      5af51e4a
  4. 12 Nov, 2010 5 commits
    • Joerg Bruehe's avatar
      Patch for bug#57596 · 6c6ad182
      Joerg Bruehe authored
            MySQL-shared RPM no longer provides mysql-shared
      
      The spec file is changed to explicitly "provide" "mysql-shared"
      by the "shared" sub-RPM.
      6c6ad182
    • Vladislav Vaintroub's avatar
      Bug#58074: ADD_VERSION_INFO cmake/mysql_version.cmake fails if LINK_FLAGS are modified · 9c70014e
      Vladislav Vaintroub authored
      Backport version info handling  (Windows-specific) from next-mr. 
      Instead of adding ".res" object as linker flag, add  resource file (.rc) file to the source list.
      This is more obvious and less error prone method.
      9c70014e
    • Marc Alff's avatar
      Bug#58052 Binary log IO not being accounted for properly · 80589ada
      Marc Alff authored
      Before this fix, file io for the binary log file was not accounted properly,
      and showed no io at all.
      
      This bug was due to the following issues:
      
      1) file io for the binlog was instrumented:
      - sometime as "wait/io/file/sql/binlog"
      - sometime as "wait/io/file/sql/MYSQL_LOG"
      leading to inconsistent event_names.
      
      2) the binlog file itself was using an IO_CACHE,
      but the IO_CACHE implementation in mysys/mf_iocache.c was
      not instrumented to make performance schema calls to record file io.
      
      3) The "wait/io/file/sql/MYSQL_LOG" instrumentation was used
      for several log files, such as:
      - the binary log
      - the slow log
      - the query log
      which caused file io in these different log files to be accounted
      against the same instrument.
      The instrumentation needs to have a finer grain and report io
      in different event_names, because each file really serves a different purpose.
      
      With this fix:
      - the IO_CACHE implementation is now instrumented
      - the "wait/io/file/sql/MYSQL_LOG" instrument has been removed
      - binlog io is now always instrumented with "wait/io/file/sql/binlog"
      - the slow log is instrumented with a new name, "wait/io/file/sql/slow_log"
      - the query log is instrumented with a new name, "wait/io/file/sql/query_log"
      80589ada
    • Vladislav Vaintroub's avatar
      merge · 601f4f72
      Vladislav Vaintroub authored
      601f4f72
    • Vladislav Vaintroub's avatar
      Bug #52275 CMake configure wrapper does not handle · 07e713ff
      Vladislav Vaintroub authored
      --with-comment correctly
            
      Properly convert --with-comment
      do not uppercase it, quote as it might contain spaces.
      07e713ff
  5. 11 Nov, 2010 8 commits
  6. 10 Nov, 2010 8 commits
  7. 09 Nov, 2010 4 commits
    • Davi Arnaut's avatar
      Bug#58080: Crash on failure to create a thread to handle a user connection · 5d7d1a42
      Davi Arnaut authored
      The problem was that the scheduler function used to handle a
      new user connection could use the ER() macro without having a
      THD object bound to the current thread. The crash would happen
      whenever the function failed to create a new thread to handle a
      user connection. Thread creation can fail due to lack or limit
      of available resources.
      
      The solution is to simply use the ER_THD() macro instead and pass
      to it the THD object which would be bound to the connection.
      
      Fix was tested manually. In a test case, it is too cumbersome to
      inject a error in this context.
      5d7d1a42
    • Davi Arnaut's avatar
      3acd23c0
    • Davi Arnaut's avatar
      Bug#57210: remove pstack · b963c7b1
      Davi Arnaut authored
      Quoting from the bug report:
      
      The pstack library has been included in MySQL since version
      4.0.0. It's useless and should be removed.
      
      Details: According to its own documentation, pstack only works
      on Linux on x86 in 32 bit mode and requires LinuxThreads and a
      statically linked binary. It doesn't really support any Linux
      from 2003 or later and doesn't work on any other OS.
      
      The --enable-pstack option is thus deprecated and has no effect.
      b963c7b1
    • Bjorn Munch's avatar
      null upmerge · 9ba9ea42
      Bjorn Munch authored
      9ba9ea42