An error occurred fetching the project authors.
  1. 10 Nov, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#58057: 5.1 libmysql/libmysql.c unused variable/compile failure · 80246ac8
      Davi Arnaut authored
      Bug#57995: Compiler flag change build error on OSX 10.4: my_getncpus.c
      Bug#57996: Compiler flag change build error on OSX 10.5 : bind.c
      Bug#57994: Compiler flag change build error : my_redel.c
      Bug#57993: Compiler flag change build error on FreeBsd 7.0 : regexec.c
      Bug#57992: Compiler flag change build error on FreeBsd : mf_keycache.c
      Bug#57997: Compiler flag change build error on OSX 10.6: debug_sync.cc
      
      Fix assorted compiler generated warnings.
      80246ac8
  2. 07 Sep, 2010 1 commit
  3. 06 Jul, 2010 1 commit
  4. 01 Jul, 2010 1 commit
    • Alexey Kopytov's avatar
      Bug#54667: Unnecessary signal handler redefinition · ac89d926
      Alexey Kopytov authored
      POSIX requires that a signal handler defined with sigaction()
      is not reset on delivering a signal unless SA_NODEFER or
      SA_RESETHAND is set. It is therefore unnecessary to redefine
      the handler on signal delivery on platforms where sigaction()
      is used without those flags.
      ac89d926
  5. 30 Jun, 2010 1 commit
    • Staale Smedseng's avatar
      Bug #53899 Wrong mysql_stmt_errno() after connection loss with · 3b3983a4
      Staale Smedseng authored
      automatic reconnect
      
      A client with automatic reconnect enabled will see the error
      message "Lost connection to MySQL server during query" if the
      connection is lost between mysql_stmt_prepare() and
      mysql_stmt_execute(). The mysql_stmt_errno() number, however,
      is 0 -- not the corresponding value 2013.
      
      This patch checks for the case where the prepared statement
      has been pruned due to a connection loss (i.e., stmt->mysql
      has been set to NULL) during a call to cli_advanced_command(),
      and avoids changing the last_errno to the result of the last
      reconnect attempt.
      3b3983a4
  6. 02 Jul, 2010 1 commit
    • Davi Arnaut's avatar
      Bug#53445: Build with -Wall and fix warnings that it generates · 93fb8bb2
      Davi Arnaut authored
      Apart strict-aliasing warnings, fix the remaining warnings
      generated by GCC 4.4.4 -Wall and -Wextra flags.
      
      One major source of warnings was the in-house function my_bcmp
      which (unconventionally) took pointers to unsigned characters
      as the byte sequences to be compared. Since my_bcmp and bcmp
      are deprecated functions whose only difference with memcmp is
      the return value, every use of the function is replaced with
      memcmp as the special return value wasn't actually being used
      by any caller.
      
      There were also various other warnings, mostly due to type
      mismatches, missing return values, missing prototypes, dead
      code (unreachable) and ignored return values.
      93fb8bb2
  7. 26 Feb, 2010 1 commit
    • Staale Smedseng's avatar
      Bug #45058 init_available_charsets uses double checked locking · 04f14347
      Staale Smedseng authored
      A client doing multiple mysql_library_init() and
      mysql_library_end() calls over the lifetime of the process may
      experience lost character set data, potentially even a
      SIGSEGV.
      
      This patch reinstates the reloading of character set data when
      a mysql_library_init() is done after a mysql_library_end().
      04f14347
  8. 17 Dec, 2009 1 commit
    • Davi Arnaut's avatar
      Bug#48983: Bad strmake calls (length one too long) · b9380f0e
      Davi Arnaut authored
      The problem is a somewhat common misusage of the strmake function.
      The strmake(dst, src, len) function writes at most /len/ bytes to
      the string pointed to by src, not including the trailing null byte.
      Hence, if /len/ is the exact length of the destination buffer, a
      one byte buffer overflow can occur if the length of the source
      string is equal to or greater than /len/.
      b9380f0e
  9. 12 Dec, 2009 1 commit
    • Staale Smedseng's avatar
      Bug #45058 init_available_charsets uses double checked locking · 983770aa
      Staale Smedseng authored
            
      As documented in the bug report, the double checked locking
      pattern has inherent issues, and cannot guarantee correct
      initialization.
      
      This patch replaces the logic in init_available_charsets()
      with the use of pthread_once(3). A wrapper function,
      my_pthread_once(), is introduced and is used in lieu of direct
      calls to init_available_charsets(). Related defines
      MY_PTHREAD_ONCE_* are also introduced.
      
      For the Windows platform, the implementation in lp:sysbench is
      ported. For single-thread use, a simple define calls the
      function and sets the pthread_once control variable.
      
      Charset initialization is modified to use my_pthread_once().
      983770aa
  10. 24 Nov, 2009 1 commit
  11. 23 Nov, 2009 1 commit
  12. 03 Nov, 2009 1 commit
  13. 29 Sep, 2009 1 commit
    • Davi Arnaut's avatar
      Bug#41728: Dropped symbol but no soname change · 344cd04b
      Davi Arnaut authored
      Restore a stub of the removed mysql_odbc_escape_string function
      to fix a ABI breakage. The function was intended to be private
      and used only by Connector/ODBC, but, unfortunately, it was exported
      as part of the ABI. Nonetheless, only a stub is restored as the
      original function is inherently broken and shouldn't be used.
      
      This restoration only applies to MySQL 5.0. This will be addressed
      differently in later versions -- reworked library versioning.
      344cd04b
  14. 28 Aug, 2009 1 commit
    • Staale Smedseng's avatar
      Bug #43414 Parenthesis (and other) warnings compiling MySQL · 2217de25
      Staale Smedseng authored
      with gcc 4.3.2
            
      This patch fixes a number of GCC warnings about variables used
      before initialized. A new macro UNINIT_VAR() is introduced for
      use in the variable declaration, and LINT_INIT() usage will be
      gradually deprecated. (A workaround is used for g++, pending a
      patch for a g++ bug.)
            
      GCC warnings for unused results (attribute warn_unused_result)
      for a number of system calls (present at least in later
      Ubuntus, where the usual void cast trick doesn't work) are
      also fixed.
      2217de25
  15. 10 Feb, 2009 1 commit
  16. 28 Jan, 2009 1 commit
    • Alexey Kopytov's avatar
      Fix for bug #21205: Different number of digits for float/double/real in --ps-protocol · 30ac4901
      Alexey Kopytov authored
      Various parts of code used different 'precision' arguments for sprintf("%g") when converting
      floating point numbers to a string. This led to differences in results in some cases 
      depending on whether the text-based or prepared statements protocol is used for a query.
      
      Fixed by changing arguments to sprintf("%g") to always be 15 (DBL_DIG) so that results are
      consistent regardless of the protocol.
      
      This patch will be null-merged to 6.0 as the problem does not exists there (fixed by the
      patch for WL#2934).
      30ac4901
  17. 04 Dec, 2008 1 commit
    • Vladislav Vaintroub's avatar
      Bug#38522: 5 seconds delay when closing application using embedded server · 4dfbf2ec
      Vladislav Vaintroub authored
                        
      The problem here is that embedded server starts handle_thread manager 
      thread  on mysql_library_init() does not stop it on mysql_library_end().
      At shutdown, my_thread_global_end() waits for thread count to become 0,
      but since we did not stop the thread it will give up after 5 seconds.
                   
      Solution is to move shutdown for handle_manager thread from kill_server()
      (mysqld specific) to clean_up() that is used by both embedded and mysqld.
                  
      This patch also contains some refactorings - to avoid duplicate code,
      start_handle_manager() and stop_handle_manager() functions are introduced.
      Unused variables are eliminated. handle_manager does not rely on global
      variable abort_loop anymore to stop (abort_loop is not set for embedded).
                  
      Note: Specifically on Windows and when using DBUG version of libmysqld, 
      the complete solution requires removing obsolete code my_thread_init() 
      from my_thread_var(). This has a side effect that a DBUG statement 
      after my_thread_end() can cause thread counter to be incremented, and 
      embedded will hang for some seconds. Or worse, my_thread_init() will 
      crash if critical sections have been deleted by the global cleanup 
      routine that runs in a different thread. 
      
      This patch also fixes and revert prior changes for Bug#38293 
      "Libmysqld crash in mysql_library_init if language file missing".
      
      Root cause of the crash observed in Bug#38293  was bug in my_thread_init() 
      described above
      
      4dfbf2ec
  18. 20 May, 2008 1 commit
    • kostja@bodhi.(none)'s avatar
      Bug#27430 "Crash in subquery code when in PS and table DDL changed after · 6ae3bca9
      kostja@bodhi.(none) authored
       PREPARE", review fixes:
      - make the patch follow the specification of WL#4166 and remove  
      the new error that was originally introduced.
      Now the client never gets an error from reprepare, unless it failed.
      I.e. even if the statement at hand returns a completely different
      result set, this is not considered a server error.
      The C API library, that can not handle this situation, was modified to
      return a client error.
      Added additional test coverage.
      6ae3bca9
  19. 29 Mar, 2008 1 commit
  20. 28 Mar, 2008 1 commit
  21. 17 Mar, 2008 1 commit
  22. 14 Mar, 2008 1 commit
    • davi@mysql.com/endora.local's avatar
      Bug#35103 mysql_client_test::test_bug29948 causes sporadic failures · f23e3fd0
      davi@mysql.com/endora.local authored
      The problem was that the COM_STMT_SEND_LONG_DATA was sending a response
      packet if the prepared statement wasn't found in the server (due to
      reconnection). The commands COM_STMT_SEND_LONG_DATA and COM_STMT_CLOSE
      should not send any packets, even error packets should not be sent since
      they are not expected by the client API.
      
      The solution is to clear generated during the execution of the aforementioned
      commands and to skip resend of prepared statement commands. Another fix is
      that if the connection breaks during the send of prepared statement command,
      the command is not sent again since the prepared statement is no longer in the
      server.
      f23e3fd0
  23. 28 Feb, 2008 1 commit
    • davi@mysql.com/endora.local's avatar
      Bug#34655 Compile error · 41545137
      davi@mysql.com/endora.local authored
      Rename client_last_error to last_error and client_last_errno to last_errno
      to not break connectors which use the internal net structure for error handling.
      41545137
  24. 27 Feb, 2008 1 commit
  25. 18 Feb, 2008 1 commit
    • guilhem@gbichot4.local's avatar
      Fix for server bug experienced in Maria (wrong "Truncated incorrect <var_name> · 9e2b31b0
      guilhem@gbichot4.local authored
      value" error even though the value was correct): a C function in my_getopt.c
      was taking bool* in parameter and was called from C++ sql_plugin.cc,
      but on some Mac OS X sizeof(bool) is 1 in C and 4 in C++, giving funny
      mismatches. Fixed, all other occurences of bool in C are removed, future
      ones are blocked by a "C-bool-catcher" in my_global.h (use my_bool).
      9e2b31b0
  26. 10 Feb, 2008 1 commit
  27. 12 Dec, 2007 1 commit
    • kostja@bodhi.(none)'s avatar
      Bug#12713 "Error in a stored function called from a SELECT doesn't · ebb9c5d9
      kostja@bodhi.(none) authored
      cause ROLLBACK of statement", part 1. Review fixes.
      
      Do not send OK/EOF packets to the client until we reached the end of 
      the current statement.
      This is a consolidation, to keep the functionality that is shared by all 
      SQL statements in one place in the server.
      Currently this functionality includes:
      - close_thread_tables()
      - log_slow_statement().
      
      After this patch and the subsequent patch for Bug#12713, it shall also include:
      - ha_autocommit_or_rollback()
      - net_end_statement()
      - query_cache_end_of_result().
      
      In future it may also include:
      - mysql_reset_thd_for_next_command().
      ebb9c5d9
  28. 26 Nov, 2007 1 commit
    • davi@mysql.com/endora.local's avatar
      Bug#29592 SQL Injection issue · cdad8669
      davi@mysql.com/endora.local authored
      Remove the mysql_odbc_escape_string() function. The function
      has multi-byte character escaping issues, doesn't honor the
      NO_BACKSLASH_ESCAPES mode and is not used anymore by the
      Connector/ODBC as of 3.51.17.
      cdad8669
  29. 31 Oct, 2007 1 commit
  30. 23 Oct, 2007 1 commit
    • davi@moksha.local/moksha.com.br's avatar
      Bug#31669 Buffer overflow in mysql_change_user() · dac55f09
      davi@moksha.local/moksha.com.br authored
      The problem is that when copying the supplied username and
      database, no bounds checking is performed on the fixed-length
      buffer. A sufficiently large (> 512) user string can easily
      cause stack corruption. Since this API can be used from PHP
      and other programs, this is a serious problem.
      
      The solution is to increase the buffer size to the accepted
      size in similar functions and perform bounds checking when
      copying the username and database.
      dac55f09
  31. 17 Oct, 2007 1 commit
  32. 01 Oct, 2007 1 commit
  33. 29 Sep, 2007 1 commit
  34. 28 Sep, 2007 1 commit
    • anozdrin/alik@station.'s avatar
      Patch for BUG#30472: libmysql doesn't reset charset, · 8051b756
      anozdrin/alik@station. authored
      insert_id after succ. mysql_change_user() call.
      
      See also WL 4066.
        
      This bug reveals two problems:
        - the problem on the client side which was described originally;
        - the problem in protocol / the server side: connection context
          on client and server should be like after mysql_real_connect()
          and be consistent. The server however just resets character
          set variables to the global defaults.
      
      The fix seems to be as follows:
        - extend the protocol so that the client be able to send
          character set information in COM_CHANGE_USER command;
        - change the server so that it understands client character set
          in the command;
        - change the client:
          - reset character set to the default value (which has been
            read from the configuration);
          - send character set in COM_CHANGE_USER command.
      8051b756
  35. 27 Sep, 2007 1 commit
  36. 22 Sep, 2007 1 commit
    • evgen@sunlight.local's avatar
      Bug#27216: functions with parameters of different date types may return wrong · 36bf417b
      evgen@sunlight.local authored
      type of the result.
      
      There are several functions that accept parameters of different types.
      The result field type of such functions was determined based on
      the aggregated result type of its arguments. As the DATE and the DATETIME
      types are represented by the STRING type, the result field type
      of the affected functions was always STRING for DATE/DATETIME arguments.
      The affected functions are COALESCE, IF, IFNULL, CASE, LEAST/GREATEST, CASE.
      
      Now the affected functions aggregate the field types of their arguments rather
      than their result types and return the result of aggregation as their result
      field type.
      The cached_field_type member variable is added to the number of classes to
      hold the aggregated result field type.
      The str_to_date() function's result field type now defaults to the
      MYSQL_TYPE_DATETIME.
      The agg_field_type() function is added. It aggregates field types with help
      of the Field::field_type_merge() function.
      The create_table_from_items() function now uses the 
      item->tmp_table_field_from_field_type() function to get the proper field
      when the item is a function with a STRING result type.
      36bf417b
  37. 13 Sep, 2007 1 commit
    • tnurnberg@mysql.com/sin.intern.azundris.com's avatar
      Bug #15327: configure: --with-tcp-port option being partially ignored · 3c6ca8d6
      make sure that if builder configured with a non-standard (!= 3306)
      default TCP port that value actually gets used throughout. if they
      didn't configure a value, assume "use a sensible default", which
      will be read from /etc/services or, failing that, from the factory
      default. That makes the order of preference
      - command-line option
      - my.cnf, where applicable
      - $MYSQL_TCP_PORT environment variable
      - /etc/services (unless configured --with-tcp-port)
      - default port (--with-tcp-port=... or factory default)
      3c6ca8d6
  38. 05 Sep, 2007 2 commits
  39. 29 Aug, 2007 1 commit