- 10 Nov, 2020 2 commits
-
-
Sergei Golubchik authored
-
Sergei Petrunia authored
Adjust the testcase for MariaDB 10.3+ : prevent IN-to-subquery conversion optimization from working.
-
- 09 Nov, 2020 5 commits
-
-
Marko Mäkelä authored
MDEV-23672 (commit 7eda5561) introduced a regression that can corrupt not only undo log pages, but anything that resides in the InnoDB buffer pool. trx_undo_left(): Add debug assertions for the assumptions. If the pointer is out of bounds, we will return a positive number, not a negative one. Thus, once a page overflow occurs, further overflow to adjacent pages will be allowed. This allows us to remove some more relaxed debug assertions from some callers. trx_undo_log_v_idx(): Correctly calculate the size limit.
-
Sergei Golubchik authored
-
Igor Babaev authored
This bug could manifest itself for a query with WHERE condition containing top level OR formula such that each conjunct contained a single-range condition supported by the same index. One of these range conditions must be fully covered by another range condition that is used later in the OR formula. Additionally at least one of these condition should be ANDed with a sargable range condition supported by a different index. There were several attempts to fix related problems for OR conditions after the backport of range optimizer code from MySQL (commit 0e19f3e3). Unfortunately the first of these fixes contained typo remained unnoticed until recently. This typo bug led to rejection of valid range accesses. This patch fixed this typo bug. The fix revealed another two bugs: one in a constructor for SEL_ARG, the other in the function tree_or(). Both are fixed in this patch.
-
Sergei Petrunia authored
Add a testcase.
-
Sergei Petrunia authored
Part#1: Revert the patch that caused it: commit 291be494 Author: Igor Babaev <igor@askmonty.org> Date: Thu Sep 24 22:02:00 2020 -0700 MDEV-23811: With large number of indexes optimizer chooses an inefficient plan
-
- 05 Nov, 2020 2 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
- mysqlnd from PHP < 7.3 - mysql-connector-python any version - mysql-connector-java any version Relaxed check about garbage at the end of the packet in case of no parameters. Added check for array binding. Fixed test according to the new paradigm (allow junk at the end of the packet)
-
- 01 Nov, 2020 2 commits
-
-
Elena Stepanova authored
-
Elena Stepanova authored
-
- 31 Oct, 2020 2 commits
-
-
Oleksandr Byelkin authored
-
Elena Stepanova authored
-
- 30 Oct, 2020 11 commits
-
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Thanks to Varun Gupta for suggesting this. This seems to make main.innodb_ext_key,off more stable.
-
Marko Mäkelä authored
Invoking memcpy() on a NULL pointer is undefined behaviour (even if the length is 0) and gives the compiler permission to assume that the pointer is nonnull. Recent versions of GCC (starting with version 8) are more aggressively optimizing away checks for NULL pointers. This undefined behaviour would cause a SIGSEGV in the test main.func_encrypt on an optimized debug build on GCC 10.2.0.
-
Marko Mäkelä authored
This regression was introduced in commit afc9d00c. This is a partial backport of commit 199863d7 from 10.4.
-
Marko Mäkelä authored
-
Varun Gupta authored
MDEV-24033: SIGSEGV in __memcmp_avx2_movbe from queue_insert | SIGSEGV in __memcmp_avx2_movbe from native_compare The issue here was the system variable max_sort_length was being applied to decimals and it was truncating the value for decimals to the number of bytes set by max_sort_length. This was leading to a buffer overflow as the values were written to the buffer without truncation and then we moved the offset to the number of bytes(set by max_sort_length), that are needed for comparison. The fix is to not apply max_sort_length for fixed size types like INT, DECIMALS and only apply max_sort_length for CHAR, VARCHARS, TEXT and BLOBS.
-
Marko Mäkelä authored
Also, revert the work-around for the test that was attempted in commit 85613a32. This issue was caught by MemorySanitizer as well as on the Microsoft Windows debug builds, thanks to /MD being used starting with 10.4. The code fix will also be applied to 10.2 because the regression was introduced in commit afc9d00c.
-
Jan Lindström authored
Test itself is not deterministic.
-
Jan Lindström authored
Disable galera_var_replicate_myisam until fixed on 10.4
-
Jan Lindström authored
-
- 29 Oct, 2020 16 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
Use 9 byte (min length packet)
-
Monty authored
This bug was already fixed in a previous commit. Added test case from the MDEV to prove it's fixed.
-
Monty authored
The crash happens because a double free in the case CREATE TABLE fails because there is a conflicting tables on disk. Fixed by ensuring that the double free can't happen.
-
Monty authored
On my system, OpenSuse, I got a compilation error that some arguments to getgrouplist() where not initialized
-
Marko Mäkelä authored
For some reason, in the test main,innodb_ext_key,off we frequently get unexpected EXPLAIN output, in particular on Microsoft Windows debug builders. Let us comment out that EXPLAIN statement for now.
-
Monty authored
The problem was that opt_sum_query() was, as part of MIN/MAX optimization, doing read operations on constant tables that where already closed Fixed by ensuring we don't try to read from tables that are closed.
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
-
Aleksey Midenkov authored
Additional case for PS protocol: UPDATE is converted to multi-update in mysql_multi_update_prepare().
-
Sergei Golubchik authored
and restore the test modified in the same commit (the non-replication related deadlock will be reported separately)
-
Sergei Golubchik authored
Implement a different fix for "MDEV-19232: Floating point precision / value comparison problem" Instead of truncating decimal values after every division, truncate them for comparison purposes. This reverts commit 62d73df6 but keeps the test.
-
Sergei Golubchik authored
followup for 3e807d25 and eae10a87
-
Oleksandr Byelkin authored
-
Lawrin Novitsky authored
In case of direct execution(stmtid=-1, mariadb_stmt_execute_direct in C API) application is in control of how many parameters client sends to the server. In case this number is not equal to actual query parameters number, the server may start to interprete packet data incorrectly, e.g. starting from the size of null bitmap. And that could cause it to crash at some point. The commit introduces some additional COM_STMT_EXECUTE packet sanity checks: - checking that "types sent" byte is set, and the value is equal to 1. if it's not direct execution, then that value is 0 or 1. - checking that parameter type value is a valid type, and parameter flags value is 0 or only "unsigned" bit is set - added more checks that read does not go beyond the end of the packet
-
Vlad Lesin authored
mariabackup deallocated uninitialized write_filt_ctxt.u.wf_incremental_ctxt in xtrabackup_copy_datafile() when some table should be skipped due to parsed DDL redo log record.
-