summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.0' into 10.1Sergei Golubchik2016-12-111-0/+3
|\
| * MDEV-11343 LOAD DATA INFILE fails to load data with an escape character ↵Alexander Barkov2016-11-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | followed by a multi-byte character Partially backporting MDEV-9874 from 10.2 to 10.0 READ_INFO::read_field() raised the ER_INVALID_CHARACTER_STRING error when reading an escape character followed by a multi-byte character. Raising wellformedness errors in READ_INFO::read_field() was wrong, because the main goal of READ_INFO::read_field() is to *unescape* the data which was presumably escaped using mysql_real_escape_string(), using the same character set with the one specified in "LOAD DATA INFILE ... CHARACTER SET ..." (or assumed by default). During LOAD DATA, multi-byte characters are not always scanned as a single entity! In case of escaped data, parts of a multi-byte character can be scanned on different loop iterations. So the old code erroneously tested welformedness in the middle of a multi-byte character. Moreover, the data after unescaping can go into a BLOB field, not a text field. Wellformedness tests are meaningless in this case. Ater this patch, wellformedness is only checked later, during Field::store(str,length,cs) time. The loop that scans bytes only makes sure to revert the changes made by mysql_real_escape_string(). Note, in some cases users can supply data which did not really go through mysql_real_escape_string() and was escaped by some other means, or was not escaped at all. The file reported in this MDEV contains the string "\ä", which is an example of such improperly escaped data, as - either there should be two backslashes: "\\ä" - or there should be no backslashes at all: "ä" mysql_real_escape_string() could not generate "\ä".
* | MDEV-10759 Fix Aria to support 2-byte collation IDsMonty2016-12-022-2/+2
| | | | | | | | | | | | | | - Used same fix as for MyISAM: High level collation byte stored in unused bit_end position. - Moved language from header to base_info - Removed unused bit_end part in HA_KEY_SEG
* | Merge branch '10.0-galera' into 10.1Sergei Golubchik2016-11-022-18/+0
|\ \
| * \ Merge tag 'mariadb-10.0.28' into 10.0-galeraNirbhay Choubey2016-10-284-22/+3
| |\ \ | | |/
| | * MDEV-10951 Field_newdate::cmp access violationVladislav Vaintroub2016-10-252-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crash is caused by macro uint3korr() accessing memory (1 byte) past the end of allocated page. The macro is written such it reads 4 bytes instead of 3 and discards the value of the last byte. However, it is not always guaranteed that all uint3korr accesses will be valid (i.e that the caller allocates an extra byte after the value). In particular, the tree in Item_func_group_concat does not account for any extra bytes that it would need for comparison of keys in some cases (Field_newdate::cmp, Field_medium::cmp) The fix change uint3korr so it does not access extra bytes.
| * | Merge branch '10.0' into 10.0-galeraNirbhay Choubey2016-08-243-3/+3
| |\ \
| * \ \ Merge tag 'mariadb-10.0.26' into 10.0-galeraNirbhay Choubey2016-06-243-2/+9
| |\ \ \
| * \ \ \ Merge branch '10.0' into 10.0-galeraNirbhay Choubey2016-04-292-2/+2
| |\ \ \ \
* | \ \ \ \ Merge branch '10.0' into 10.1Sergei Golubchik2016-09-282-4/+3
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | Merge branch '5.5' into 10.0Sergei Golubchik2016-09-272-4/+3
| |\ \ \ \ \ | | |_|_|_|/ | |/| | | |
| | * | | | MDEV-10725 Server 10.1.17 fails to build using clang with c++11Sergei Golubchik2016-09-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my_offsetof() returns a difference of two pointers, it must use the appropriate return type (my_ptrdiff_t, not size_t)
| | * | | | don't use my_copystat in the serverSergei Golubchik2016-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it was supposed to be used in command-line tools only. Different fix for 4e5473862e: Bug#24388746: PRIVILEGE ESCALATION AND RACE CONDITION USING CREATE TABLE
* | | | | | Merge branch '10.0' into 10.1Sergei Golubchik2016-08-252-2/+2
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Fixed "Packets out of order" warning message on stdout in clients,Monty2016-08-212-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compiled for debugging, when the server goes down This happens in the following scenario: - Server gets a shutdown message - Servers sends error ER_CONNECTION_KILLED to the clients connection - The client sends a query to the server, before the server has time to close the connection to the client - Client reads the ER_CONNECTION_KILLED error message In the above case, the packet number for the reply is one less than what the client expected and the client prints "Packets out of order". Fixed the following way: - The client accepts now error packages with a packet number one less than expected. - To ensure that this issue can be detected early in my_real_read(), error messages sent to the client are not compressed, even when compressed protocol is used.
* | | | | | Merge branch '10.0' into 10.1Sergei Golubchik2016-07-131-1/+1
|\ \ \ \ \ \ | |/ / / / /
| * | | | | [MDEV-9127] Crash reporter often fails to show the query that crashedVicențiu Ciorbaru2016-07-121-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addreses are not necessarily between heap_start && heap_end. Malloc calls using mmap can place pointers outside these bounds. In this case, we'll warn the user that the query pointer is potentially invalid. However, we'll attempt to print the data anyway after we're done printing everything else.
* | | | | Merge branch '10.0' into 10.1Sergei Golubchik2016-06-282-2/+3
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '5.5' into bb-10.0Sergei Golubchik2016-06-213-2/+9
| |\ \ \ \ | | |/ / / | | | | / | | |_|/ | |/| |
| | * | Fixed compilation failure using clangVicențiu Ciorbaru2016-06-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both aria and myisam storage engines feature a logic path in thr_find_all_keys that leads to undefined behaviour by bypassing the initialization code of variables after my_thread_init(). By refactoring the nested logic into a separate function, this problem is resolved.
| | * | MDEV-10166 probes_mysql_nodtrace.h is not provided anymore by mariadb-10.0.25Sergei Golubchik2016-06-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backport of commit bba3d42 Author: Sergei Golubchik <serg@mariadb.org> Date: Sat Apr 30 10:27:42 2016 +0200 MDEV-9926 probes_mysql.h includes nonexisting files install private generated files
| | * | Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-06-141-1/+1
| | |\ \
| | | * | BUG#22594514: HANDLE_FATAL_SIGNAL (SIG=11) INNisha Gopalakrishnan2016-03-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UNIQUE::~UNIQUE | SQL/UNIQUES.CC:355 Analysis ======== Enabling the sort_buffer_size with a large value can cause operations utilizing the sort buffer like DELETE as mentioned in the bug report to fail. 5.5 and 5.6 versions reports OOM error while in 5.7+, the server crashes. While initializing the mem_root for the sort buffer tree, the block size for the mem_root is determined from the 'sort_buffer_size' value. This unsigned long value is typecasted to unsigned int, hence it becomes zero. Further block_size computation while initializing the mem_root results in a very large block_size value. Hence while trying to allocate a block during the DELETE operation, an OOM error is reported. In case of 5.7+, the PFS instrumentation for memory allocation, overshoots the unsigned value and allocates a block of just one byte. While trying to free the block of the mem_root, the original block_size is used. This triggers the crash since the server tries to free unallocated memory. Fix: ==== In order to restrict usage of such unreasonable sort_buffer_size, the typecast of block size to 'unsigned int' is removed and hence reports OOM error across all versions for sizes exceeding unsigned int range.
| | | * | WL#9072: Backport WL#8785 to 5.5Ramil Kalimullin2016-02-193-5/+27
| | | | |
| | * | | MDEV-9366 : do_shutdown_server fails to detect server shutdown on Windows.Vladislav Vaintroub2016-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix test whether process is alive in mysqltest. Also fix SHUT_RD definition on Windows to be SD_RECEIVE. SD_BOTH was used instead prior to this patch, and this would occasionally make mysql_shutdown() fail - when the socket for the current connection is not able send the COM_SHUTDOWN response anymore.
* | | | | MDEV-10262 ucs2_thai_520_w2: wrong implicit weights on the secondary levelAlexander Barkov2016-06-211-0/+1
| | | | |
* | | | | Multi-level collation in UCA, Thai sorting with contraction for UTF8.pruet2016-05-261-1/+1
| | | | |
* | | | | Merge branch 'bb-10.1-merge' into 10.1Sergei Golubchik2016-05-051-0/+6
|\ \ \ \ \
| * | | | | MDEV-9926 probes_mysql.h includes nonexisting filesSergei Golubchik2016-05-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | install private generated files
* | | | | | MDEV-9618 solaris sparc build fails on 10.1.Alexey Botchkov2016-05-045-0/+42
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compiler there is strict about the C/C++ call model mixing in function variable assumptions. Fixed by adding some 'extern "C"' and changing '?' operator with 'if'.
* | | | | Fixed wrong counting of global Memory_usedMonty2016-04-286-6/+13
| | | | |
* | | | | Merge branch '10.0' into 10.1Sergei Golubchik2016-03-212-2/+2
|\ \ \ \ \ | |/ / / /
| * | | | Update AskMonty and Atlassian references to MariaDBiangilfillan2016-03-081-1/+1
| | | | |
| * | | | Fix spelling: occurred, execute, which etcOtto Kekäläinen2016-03-041-1/+1
| | | | |
* | | | | Fix to ensure updates in gtid_slave_state table do not get binlogged.Nirbhay Choubey2016-02-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Also, renamed wsrep_skip_append_keys to wsrep_ignore_table. Test case : galera.galera_as_slave_gtid.test
* | | | | Merge branch 'bb-10.1-serg' into 10.1Sergei Golubchik2016-02-245-19/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 10.0 merge 10.0-galera merge connect/10.1 merge
| * \ \ \ \ Merge branch '10.0-galera' into bb-10.1-sergNirbhay Choubey2016-02-241-0/+9
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| | * | | | Merge tag 'mariadb-10.0.24' into 10.0-galeraNirbhay Choubey2016-02-236-21/+14
| | |\ \ \ \ | | | |/ / /
| * | | | | Merge branch '10.0' into 10.1Sergei Golubchik2016-02-234-19/+8
| |\ \ \ \ \ | | | |/ / / | | |/| | |
| | * | | | Merge branch 'bb-10.0-serg' into 10.0mariadb-10.0.24Sergei Golubchik2016-02-173-18/+7
| | |\ \ \ \
| | | * | | | MDEV-9308 Fix build errors with recent gcc (isfinite)Sergei Golubchik2016-02-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "#include <math.h>" has "#define isfinite(X) ..." while "#include <cmath>" does "#undef isfinite" in -std=c++11 mode <cmath> is included, we need a workaround to provide a usable isfinite()
| | | * | | | Merge branch '5.5' into 10.0Sergei Golubchik2016-02-153-18/+4
| | | |\ \ \ \ | | | | | |/ / | | | | |/| |
| | | | * | | dtrace in cmakeSergei Golubchik2016-02-151-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. ignore generated dtrace files 2. don't rewrite probes_mysql_nodtrace.h in-place
| | | | * | | better inline checkSergei Golubchik2016-02-151-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. check that unused inline functions are removed 2. only allow compilation if they are or if the check if overridden 3. with CMAKE_GENERATOR=Makefiles, use all flags when testing (e.g. both CMAKE_C_FLAGS and CMAKE_C_FLAGS_DEBUG if CMAKE_BUILD_TYPE=Debug). This is because - on Solaris with the SunPro compiler, default CMAKE_C_FLAGS_xxx values contain -xO2 (for Release and RelWithDebInfo) and -g (for RelWithDebInfo and Debug) - proper inlining only works at -xO4 without -g - so if CMAKE_C_FLAGS has -xO4, inlining would work in configure.cmake (before this fix) and fail during actual compilation also remove the outdated check for inline from myu_global.h
| | | | * | | Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-02-091-3/+3
| | | | |\ \ \ | | | | | | |/ | | | | | |/| | | | | | | | | | | | | | | reverted about half of commits as either not applicable or outright wrong
| | | | | * | Updated copyright year in user visible textBjorn Munch2016-01-111-2/+2
| | | | | | |
| | | | | * | Bug#21770366 backport bug#21657078 to 5.5 and 5.6Ajo Robert2016-01-071-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem Statement ========= Fix various issues when building MySQL with Visual Studio 2015. Fix: ======= - Visual Studio 2015 adds support for timespec. Add check and related code to use this and only use our replacement if timespec is not defined. - Rename lfind/lsearch to my* to avoid redefinition problems. - Set default value for TMPDIR to "" on Windows as P_tmpdir no longer exists. - using VS definition of snprintf if available - tzname are now renamed to _tzname.
| | | | | * | Bug #21221862 NEWEST RHEL/CENTOS OPENSSL UPDATE BREAKS MYSQL DHE CIPHERSV S Murthy Sidagam2015-06-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: The newest RHEL/CentOS/SL 6.6 openssl package (1.0.1e-30.el6_6.9; published around 6/4/2015) contains a fix for LogJam. RedHat's fix for this was to limit the use of any SSL DH key sizes to a minimum of 768 bits. This breaks any DHE SSL ciphers for MySQL clients as soon as you install the openssl update, since in vio/viosslfactories.c, the default DHPARAM is a 512 bit one. This cannot be changed in configuration/runtime; and needs a recompile. Because of this the client connection with --ssl-cipher=DHE-RSA-AES256-SHA is not able to connect the server. Analysis: Openssl has changed Diffie-Hellman key from the 512 to 1024 due to some reasons(please see the details at http://openssl.org/news/secadv_20150611.txt) Because of this the client with DHE cipher is failing to connect the server. This change took place from the openssl-1.0.1n onwards. Fix: Similar bug fix is already pushed to mysql-5.7 under bug#18367167. Hence we backported the same fix to mysql-5.5 and mysql-5.6.
| | | | | * | Raise version number after cloning 5.5.42Bala2015-01-051-2/+2
| | | | | | |
| | | | * | | MDEV-9024 Build fails with VS2015Sergei Golubchik2016-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cherry-pick f1daf9ce from 10.0 branch ------------------------------------- Fix build failures caused by new C runtime library - isnan, snprintf, struct timespec are now defined, attempt to redefine them leads - P_tmpdir, tzname are no more defined - lfind() and lsearch() in lf_hash.c had to be renamed, declaration conflicts with some C runtime functions with the same name declared in a header included by stdlib.h Also fix couple of annoying warnings : - remove #define NOMINMAX from config.h to avoid "redefined" compiler warnings(NOMINMAX is already in compile flags) - disable incremental linker in Debug as well (feature not used much and compiler crashes often) Also simplify package building with Wix, require Wix 3.9 or later (VS2015 is not compatible with old Wix 3.5/3.6)