summaryrefslogtreecommitdiff
path: root/libmysql
Commit message (Collapse)AuthorAgeFilesLines
* Bug #13708485: malformed resultset packet crashes clientGeorgi Kodinov2012-06-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Several fixes : * sql-common/client.c Added a validity check of the fields metadata packet sent by the server. Now libmysql will check if the length of the data sent by the server matches what's expected by the protocol before using the data. * client/mysqltest.cc Fixed the error handling code in mysqltest to avoid sending new commands when the reading the result set failed (and there are unread data in the pipe). * sql_common.h + libmysql/libmysql.c + sql-common/client.c unpack_fields() now generates a proper error when it fails. Added a new argument to this function to support the error generation. * sql/protocol.cc Added a debug trigger to cause the server to send a NULL insted of the packet expected by the client for testing purposes.
* Updated/added copyright headersKent Boortz2011-07-032-4/+4
|\
| * Bug#11900714 REMOVE LGPL LICENSED FILES IN MYSQL 5.1Magne Mahre2011-03-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The LGPL license is used in some legacy code, and to adhere to current licensing polity, we remove those files that are no longer used, and reorganize the remaining LGPL code so it will be GPL licensed from now on. Note: This patch only removed LGPL licensed files in MySQL 5.1, and is the second of a set of patches to remove LGPL from all trees. (See Bug# 11840513 for details)
* | Updated/added copyright headersKent Boortz2011-06-304-10/+12
|\ \ | |/ |/|
| * Updated/added copyright headersKent Boortz2011-06-303-7/+10
| |
* | Merge from mysql-5.0-bugteam.Alexander Nozdrin2010-11-248-16/+8
|\ \ | |/
| * A follow-up for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file) -- ↵Alexander Nozdrin2010-11-248-16/+8
| | | | | | | | | | remove all EXCEPTIONS-CLIENT from all the places.
* | Bug#58057: 5.1 libmysql/libmysql.c unused variable/compile failureDavi Arnaut2010-11-101-2/+2
| | | | | | | | | | | | | | | | | | | | 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.
* | Fixed bug #47485 - mysql_store_result returns a not NULL result setDmitry Shulga2010-09-071-2/+4
| | | | | | for a prepared statement.
* | Fix what is probably the result of a bad merge. No functional change.Davi Arnaut2010-07-061-0/+1
| |
* | Bug#53445: Build with -Wall and fix warnings that it generatesDavi Arnaut2010-07-022-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Automerge.Alexey Kopytov2010-07-011-1/+1
|\ \
| * | Bug#54667: Unnecessary signal handler redefinitionAlexey Kopytov2010-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Bug #53899 Wrong mysql_stmt_errno() after connection loss withStaale Smedseng2010-06-301-4/+24
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Bug #45058 init_available_charsets uses double checked lockingStaale Smedseng2010-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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().
* | Manual merge.Davi Arnaut2009-12-181-2/+5
|\ \ | |/
| * Bug#48983: Bad strmake calls (length one too long)Davi Arnaut2009-12-171-2/+5
| | | | | | | | | | | | | | | | 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/.
* | Merge approved bug fixJim Winstead2009-12-161-2/+2
|\ \
| * | Fix C99 aliasing violation due to mismatched types that were papered overJim Winstead2009-11-231-2/+2
| | | | | | | | | | | | with a cast. (Bug #48284)
* | | Bug #45058 init_available_charsets uses double checked lockingStaale Smedseng2009-12-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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().
* | | Post-merge fix for bug 41728: revert fix that was pushed in mistake to 5.1 ↵Davi Arnaut2009-11-242-15/+0
|/ / | | | | | | and up.
* | Automerge.Davi Arnaut2009-11-031-6/+8
|\ \ | |/
| * Fix compiler warnings -- tag unused parameters.Davi Arnaut2009-11-031-6/+8
| |
* | Automerge.Davi Arnaut2009-11-022-0/+13
|\ \ | |/
| * Bug#41728: Dropped symbol but no soname changeDavi Arnaut2009-09-292-0/+13
| | | | | | | | | | | | | | | | | | | | 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.
* | Merge from 5.0 for 43414Staale Smedseng2009-08-281-2/+1
|\ \ | |/
| * Bug #43414 Parenthesis (and other) warnings compiling MySQLStaale Smedseng2009-08-281-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Auto-mergeIgnacio Galarza2009-07-311-1/+1
|\ \ | |/
| * Bug#17270 - mysql client tool could not find ../share/charsets folder and fails.Ignacio Galarza2009-07-311-1/+1
| | | | | | | | | | | | | | | | - Define and pass compile time path variables as pre-processor definitions to mimic the makefile build. - Set new CMake version and policy requirements explicitly. - Changed DATADIR to MYSQL_DATADIR to avoid conflicting definition in Platform SDK header ObjIdl.h which also defines DATADIR.
| * auto-mergeIgnacio Galarza2009-03-191-2/+2
| |\
* | | Bug #43397 mysql headers redefine pthread_mutex_initStaale Smedseng2009-07-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unnecessarily The problem is that libmysqlclient.so is built with THREAD undefined, while a client compiling against the same header files will see THREAD as defined and definitions in my_pthread.h will be included, possibly resulting in undefined symbols that cannot be resolved with libmysqlclient.so. The suggested solution is to require that clients wanting to link with libmysqlclient.so should be built with MYSQL_CLIENT_NO_THREADS defined. This requires a documentation change, and more details for this will be supplied if this patch is approved. The MYSQL_CLIENT_NO_THREADS define was renamed from UNDEF_THREADS_HACK, to get a more suitable (less suspicious) name for the define. (The UNDEF_THREADS_HACK is retained for backwards compatibility, though.) This patch is also in anticipation of WL#4958, which will remove this problem altogether by dropping the building of libmysqlclient.
* | | auto-mergeIgnacio Galarza2009-03-171-2/+2
|\ \ \
| * \ \ Merge into dev tree.Alexey Kopytov2009-02-101-2/+2
| |\ \ \ | | | |/ | | |/|
| | * | Fix for bug #21205: Different number of digits for float/double/real in ↵Alexey Kopytov2009-01-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --ps-protocol 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).
* | | | Bug#29125 Windows Server X64: so many compiler warningsIgnacio Galarza2009-02-131-3/+3
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | - Remove bothersome warning messages. This change focuses on the warnings that are covered by the ignore file: support-files/compiler_warnings.supp. - Strings are guaranteed to be max uint in length
| * | Bug#29125 Windows Server X64: so many compiler warningsIgnacio Galarza2009-02-102-5/+5
| |/ | | | | | | | | - Remove bothersome warning messages. This change focuses on the warnings that are covered by the ignore file: support-files/compiler_warnings.supp. - Strings are guaranteed to be max uint in length
| * Bug#37226 Explicit call of my_thread_init() on Windows for every new thread.Vladislav Vaintroub2008-09-011-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#33031 app linked to libmysql.lib crash if run as service in vista under localsystem There are some problems using DllMain hook functions on Windows that automatically do global and per-thread initialization for libmysqld.dll 1)per-thread initialization(DLL_THREAD_ATTACH) MySQL internally counts number of active threads that and causes a delay in in my_end() if not all threads are exited. But,there are threads that can be started either by Windows internally (often in TCP/IP scenarios) or by user himself - those threads are not necessarily using libmysql.dll functionality, but nonetheless the contribute to the count of open threads. 2)process-initialization (DLL_PROCESS_ATTACH) my_init() calls WSAStartup that itself loads DLLs and can lead to a deadlock in Windows loader. Fix is to remove dll initialization code from libmysql.dll in general case. I still leave an environment variable LIBMYSQL_DLLINIT, which if set to any value will cause the old behavior (DLL init hooks will be called). This env.variable exists only to prevent breakage of existing Windows-only applications that don't do mysql_thread_init() and work ok today. Use of LIBMYSQL_DLLINIT is discouraged and it will be removed in 6.0
| * fixed warnings and compile errors from the fix for bug 26243gkodinov/kgeorge@macbook.gmz2008-03-291-1/+1
| |
| * Merge amd64.(none):/src/mysql-5.0-bugteamiggy@amd64.(none)2008-03-281-4/+0
| |\ | | | | | | | | | into amd64.(none):/src/bug26243/my50-bug26243
| | * Bug#26243 mysql command line crash after control-ciggy@amd64.(none)2008-03-281-4/+0
| | | | | | | | | | | | | | | - Backported the 5.1 DBUG to 5.0. - Avoid memory cleanup race on Windows client for CTRL-C
| * | Merge quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0anozdrin/alik@quad.opbmk2008-03-181-5/+12
| |\ \ | | |/ | |/| | | | into quad.opbmk:/mnt/raid/alik/MySQL/devel/5.0-rt-merged
* | | Bug#38522: 5 seconds delay when closing application using embedded serverVladislav Vaintroub2008-12-041-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Bug#37226 Explicit call of my_thread_init() on Windows for every new thread.Vladislav Vaintroub2008-09-011-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#33031 app linked to libmysql.lib crash if run as service in vista under localsystem There are some problems using DllMain hook functions on Windows that automatically do global and per-thread initialization for libmysqld.dll 1)per-thread initialization(DLL_THREAD_ATTACH) MySQL internally counts number of active threads that and causes a delay in in my_end() if not all threads are exited. But,there are threads that can be started either by Windows internally (often in TCP/IP scenarios) or by user himself - those threads are not necessarily using libmysql.dll functionality, but nonetheless the contribute to the count of open threads. 2)process-initialization (DLL_PROCESS_ATTACH) my_init() calls WSAStartup that itself loads DLLs and can lead to a deadlock in Windows loader. Fix is to remove dll initialization code from libmysql.dll in general case. I still leave an environment variable LIBMYSQL_DLLINIT, which if set to any value will cause the old behavior (DLL init hooks will be called). This env.variable exists only to prevent breakage of existing Windows-only applications that don't do mysql_thread_init() and work ok today. Use of LIBMYSQL_DLLINIT is discouraged and it will be removed in 6.0
* | | Bug#27430 "Crash in subquery code when in PS and table DDL changed afterkostja@bodhi.(none)2008-05-202-43/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-mainjani@a88-113-38-195.elisa-laajakaista.fi2008-03-282-2/+2
|\ \ \ | | | | | | | | | | | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
| * \ \ Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-mainjani@a88-113-38-195.elisa-laajakaista.fi2008-03-131-1/+1
| |\ \ \ | | | | | | | | | | | | | | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
| * \ \ \ Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-mainjani@a88-113-38-195.elisa-laajakaista.fi2008-03-072-2/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
| | * \ \ \ Merge hynda.mysql.fi:/home/my/mysql-5.1-mainjani@hynda.mysql.fi2008-02-272-2/+2
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | into hynda.mysql.fi:/home/my/mysql-5.1-marvel
| | | * \ \ \ Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-mainjani@a88-113-38-195.elisa-laajakaista.fi2008-02-082-2/+2
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
| | | | * \ \ \ Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-mainjani@a88-113-38-195.elisa-laajakaista.fi2007-12-072-2/+2
| | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel