summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge mariadb-10.4.17 into 10.4Marko Mäkelä2020-11-117-39/+165
|\
| * Merge branch '10.3' into 10.4mariadb-10.4.17Sergei Golubchik2020-11-107-18/+146
| |\
| | * MDEV-24117: Memory management problem (in range optimizer)mariadb-10.3.27Sergei Petrunia2020-11-103-3/+3
| | | | | | | | | | | | | | | Adjust the testcase for MariaDB 10.3+ : prevent IN-to-subquery conversion optimization from working.
| | * Merge branch '10.2' into 10.3Sergei Golubchik2020-11-097-16/+144
| | |\
| | | * MDEV-23811: With large number of indexes optimizer chooses an inefficient planmariadb-10.2.36Igor Babaev2020-11-095-4/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 0e19f3e36f7842583feb6bead2c2600cd620bced). 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.
| | | * MDEV-24117: Memory management problem ...: Add a testcaseSergei Petrunia2020-11-093-0/+112
| | | | | | | | | | | | | | | | Add a testcase.
| | | * MDEV-24117: Memory management problem in statistics state for ... INSergei Petrunia2020-11-095-201/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part#1: Revert the patch that caused it: commit 291be494744abe90f4bdf6b5a35c4c26ee8ddda5 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
| | | * Bump the versionOleksandr Byelkin2020-11-051-1/+1
| | | |
| | | * MDEV-19838: followup to make happy following protocol implementations:Oleksandr Byelkin2020-11-052-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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)
| * | | MDEV-24096 InnoDB assertion 'first_free <= srv_page_size - 8'Marko Mäkelä2020-11-091-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-23672 (commit 7eda55619654b76add275695e0a6039e60876e81) 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.
| * | | List of unstable tests for 10.4.16 releasemariadb-10.4.16Elena Stepanova2020-11-021-583/+456
| | | |
| * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2020-10-3163-145/+1135
| |\ \ \
* | | | | bump the VERSIONDaniel Bartholomew2020-11-111-1/+1
| | | | |
* | | | | Update wsrep-libDaniele Sciascia2020-11-113-5/+33
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
* | | | | MDEV-24175 Windows - fix detection of SSDVladislav Vaintroub2020-11-101-99/+143
| | | | |
* | | | | MDEV-19951 followup: Remove unused st_handler_tablename, tablename_compareMarko Mäkelä2020-11-102-24/+1
| | | | |
* | | | | MDEV-24098 (Oracle mode) CREATE USER/ALTER USER PASSWORD EXPIRE/LOCK in ↵Daniel Black2020-11-091-14/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | either order tested with: $ mysql-test/mtr --mem --mysqld=--sql-mode=ORACLE main.lock_user Observed Oracle syntax quoting difference in `SHOW CREATE USER` output only. Omission in syntax noticed by Robert Bindar. Identical to previous patch except in sql_yacc_ora.yy
* | | | | MDEV-24098 CREATE USER/ALTER USER PASSWORD EXPIRE/LOCK in either orderDaniel Black2020-11-043-14/+69
| | | | | | | | | | | | | | | | | | | | Reviewed-by: vicentiu@mariadb.org
* | | | | MDEV-24098: SHOW CREATE USER invalid for both PASSWORD and LOCKEDDaniel Black2020-11-043-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parser of CREATE USER accepts ACCOUNT LOCK before PASSWORD EXPIRE but not the other way around. This just changes the SHOW CREATE USER to output a sql syntax that is valid. Thanks to Robert Bindar for analysis.
* | | | | MDEV-18842: Unfortunate error message when the same column is used for ↵Nayuta Yanagisawa2020-11-043-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | application period start and end An application-time period must be composed of two different columns. We added a check that ensures that the above condition is met.
* | | | | Need more information about mysql-wsrep#198 sporadic test failure.Jan Lindström2020-11-043-1/+10
| | | | |
* | | | | MDEV-24063 Assertion during graceful shutdown with wsrep_on=OFFDaniele Sciascia2020-11-033-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During graceful shutdowns, client connections are closed and eventually and THD::awake() acquires LOCK_thd_data mutex which is required later on in wsrep_thd_is_aborting(). Make sure LOCK_thd_data is acquired, even if global wsrep_on is disabled. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
* | | | | MDEV-21577 MDL BF-BF conflictsjaakola2020-11-038-34/+495
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some DDL statements appear to acquire MDL locks for a table referenced by foreign key constraint from the actual affected table of the DDL statement. OPTIMIZE, REPAIR and ALTER TABLE belong to this class of DDL statements. Earlier MariaDB version did not take this in consideration, and appended only affected table in the certification key list in write set. Because of missing certification information, it could happen that e.g. OPTIMIZE table for FK child table could be allowed to apply in parallel with DML operating on the foreign key parent table, and this could lead to unhandled MDL lock conflicts between two high priority appliers (BF). The fix in this patch, changes the TOI replication for OPTIMIZE, REPAIR and ALTER TABLE statements so that before the execution of respective DDL statement, there is foreign key parent search round. This FK parent search contains following steps: * open and lock the affected table (with permissive shared locks) * iterate over foreign key contstraints and collect and array of Fk parent table names * close all tables open for the THD and release MDL locks * do the actual TOI replication with the affected table and FK parent table names as key values The patch contains also new mtr test for verifying that the above mentioned DDL statements replicate without problems when operating on FK child table. The mtr test scenario #1, which can be used to check if some other DDL (on top of OPTIMIZE, REPAIR and ALTER) could cause similar excessive FK parent table locking. Reviewed-by: Aleksey Midenkov <aleksey.midenkov@mariadb.com> Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
* | | | | bump the VERSIONDaniel Bartholomew2020-11-031-1/+1
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2020-11-0396-826/+3165
|\ \ \ \ \
| * \ \ \ \ Merge 10.2 into 10.3Marko Mäkelä2020-11-021-1/+1
| |\ \ \ \ \
| | * | | | | fixup a593e03d58f922a99ba49de1bec6810fc7e9874f: nullptrMarko Mäkelä2020-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | C++11 is allowed only starting with MariaDB Server 10.4.
| * | | | | | Merge 10.2 into 10.3Marko Mäkelä2020-11-0232-96/+1635
| |\ \ \ \ \ \ | | |/ / / / / | | | | | / / | | |_|_|/ / | |/| | | |
| | * | | | MDEV-22387: Do not violate __attribute__((nonnull))Marko Mäkelä2020-11-0222-47/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows up commit commit 94a520ddbe39ae97de1135d98699cf2674e6b77e and commit 7c5519c12d46ead947d341cbdcbb6fbbe4d4fe1b. After these changes, the default test suites on a cmake -DWITH_UBSAN=ON build no longer fail due to passing null pointers as parameters that are declared to never be null, but plenty of other runtime errors remain.
| | * | | | Merge bb-10.2-release into 10.2Marko Mäkelä2020-11-029-385/+416
| | |\ \ \ \ | | | | |_|/ | | | |/| |
| | | * | | List of unstable tests for 10.2.35 releasemariadb-10.2.35Elena Stepanova2020-10-311-384/+352
| | | | | |
| | * | | | MDEV-23630 fixup: main.mysqldump resultMarko Mäkelä2020-11-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | This was missed in commit d6ea03fa94dc008b30932bf1e8ea40c3346f51c8.
| | * | | | Add dbug_print_sel_arg() debugging help functionSergei Petrunia2020-11-011-0/+107
| | | | | |
| | * | | | MDEV-23630: mysqldump logically dump system table informationDaniel Black2020-11-015-19/+1406
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add --system={all, users, plugins, udfs, servers, stats, timezones} This will dump system information from the server in a logical form like: * CREATE USER * GRANT * SET DEFAULT ROLE * CREATE ROLE * CREATE SERVER * INSTALL PLUGIN * CREATE FUNCTION "stats" is the innodb statistics tables or EITS and these are dumped as INSERT/REPLACE INTO statements without recreating the table. "timezones" is the collection of timezone tables which are important to transfer to generate identical results on restoration. Two other options have an effect on the SQL generated by --system=all. These are mutually exclusive of each other. * --replace * --insert-ignore --replace will include "OR REPLACE" into the logical form like: * CREATE OR REPLACE USER ... * DROP ROLE IF EXISTS (MySQL-8.0+) * CREATE OR REPLACE ROLE ... * UNINSTALL PLUGIN IF EXISTS (10.4+) ... (before INSTALL PLUGIN) * DROP FUNCTION IF EXISTS (MySQL-5.7+) * CREATE OR REPLACE [AGGREGATE] FUNCTION * CREATE OR REPLACE SERVER --insert-ignore uses the construct " IF NOT EXISTS" where supported in the logical syntax. 'CREATE OR REPLACE USER' includes protection against being run as the same user that is importing the mysqldump. Includes experimental support for dumping mysql-5.7/8.0 system tables and exporting logical SQL compatible with MySQL. Updates mysqldump man page, including this information and (removing obsolute bug reference) Reviewed-by: anel@mariadb.org
| | * | | | Fix RPM packaging on cmake 3.18+Sergei Golubchik2020-10-301-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmake has caught up and since version 3.18 it started supporting CPACK_RPM_POST_TRANS_SCRIPT_FILE, something we've supported for two years and cmake 2.8.11. Both implementation add %posttrans tag and rpmbuild gets confused. Disable our implementation for cmake 3.18+
| * | | | | List of unstable tests for 10.3.26 releasemariadb-10.3.26Elena Stepanova2020-11-011-464/+373
| | |_|_|/ | |/| | |
| * | | | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-10-3062-146/+1082
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | MDEV-23991 fixup: Initialize the memoryMarko Mäkelä2020-10-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This regression was introduced in commit afc9d00c66db946c8240fe1fa6b345a3a8b6fec1. This is a partial backport of commit 199863d72b7cccaa4c75641c50c45a83b568ab8c from 10.4.
| | * | | Update Connector/CMarko Mäkelä2020-10-301-0/+0
| | | | |
| | * | | MDEV-24033: SIGSEGV in __memcmp_avx2_movbe from queue_insert | SIGSEGV in ↵Varun Gupta2020-10-306-1/+61
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __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.
| | * | Fix sporadic test failure on galera_parallel_apply_3nodes.Jan Lindström2020-10-302-5/+23
| | | | | | | | | | | | | | | | Test itself is not deterministic.
| | * | MDEV-19838: fix of error messagesOleksandr Byelkin2020-10-291-5/+2
| | | |
| | * | MDEV-19838: followup, fix for PS & embeddedOleksandr Byelkin2020-10-291-1/+2
| | | | | | | | | | | | | | | | Use 9 byte (min length packet)
| | * | Merge branch '10.1' into 10.2Oleksandr Byelkin2020-10-2916-34/+110
| | |\ \
| | | * | MDEV-23702 calculating(auto rounding) issueSergei Golubchik2020-10-2912-24/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 62d73df6b270 but keeps the test.
| | | * | update result files after backportSergei Golubchik2020-10-293-12/+0
| | | | | | | | | | | | | | | | | | | | followup for 3e807d255e0e and eae10a87ff60
| | | * | Move result files at the correct place.Oleksandr Byelkin2020-10-293-0/+0
| | | | |
| | | * | MDEV-24040 - fix appveyor buildVladislav Vaintroub2020-10-281-0/+5
| | | | | | | | | | | | | | | | | | | | Old SDK is missing #define SECURITY_MAX_SID_STRING_CHARACTERS
| | | * | MDEV-24040 Named pipe permission issuebb-10.1-wladVladislav Vaintroub2020-10-271-13/+57
| | | | | | | | | | | | | | | | | | | | | | | | | Tighten access control - deny FILE_CREATE_PIPE_INSTANCE permission to everyone except current user (the one that runs mysqld)
| | * | | remove non-working debug assertSergei Golubchik2020-10-292-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | and restore the test modified in the same commit (the non-replication related deadlock will be reported separately)