summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-27575 SIGSEGV in intern_plugin_lock on SHUTDOWN when setting Spider as ↵bb-10.2-MDEV-27575Nayuta Yanagisawa2022-02-221-1/+1
| | | | | | | | | default tmp SE Setting Spider as the default tmp storage engine results in the server crash at its shutdown. The crash is due to the lack of NULL checking in intern_plugin_lock().
* MDEV-15208: server crashed, when using ORDER BY with window function and UNIONVarun Gupta2022-02-221-0/+8
| | | | | | | (Edits by SergeiP: fix encryption.tempfiles_encrypted, re-word comment) Global ORDER BY clause of a UNION may not refer to 1) aggregate functions or 2) window functions. setup_order() checked for #1 but not for #2.
* MDEV-15208: server crashed, when using ORDER BY with window function and UNIONVarun Gupta2022-02-213-1/+21
| | | | SELECTs inside a UNION can have window function but not the global ORDER BY clause of the UNION.
* MDEV-22377: Subquery in an UPDATE query uses full scan instead of rangeSergei Petrunia2022-02-217-14/+92
| | | | | | | | | | | | | [Patch idea by Igor Babaev] Symptom: for IN (SELECT ...) subqueries using IN-to-EXISTS transformation, the optimizer was unable to make inferences using multiple equalities. The cause is code Item_in_subselect::inject_in_to_exists_cond() which may break invariants that Multiple-Equality code relies on. In particular, it may produce a WHERE condition with an empty Item_cond::m_cond_equal. Fixed this by making Item_cond::m_cond_equal.
* MDEV-27901 Windows : expensive system calls used to calculate file system ↵bb-10.2-wladVladislav Vaintroub2022-02-202-64/+37
| | | | | | | | | block size The result is not used anywhere but in the output of Innodb information schema, but this can take as much as 7%CPU (only) on a benchmark. Fix to move fs blocksize calculate to where it is used.
* MDEV-27877 considerably speed up innodb_force_recovery testVladislav Vaintroub2022-02-172-2/+2
| | | | decrease innodb_lock_wait_timeout for the current session.
* MDEV-27583 InnoDB uses different constants for FK cascade error message in ↵Marko Mäkelä2022-02-173-3/+45
| | | | | | | | | | SQL vs error log convert_error_code_to_mysql(): Use the correct limit FK_MAX_CASCADE_DEL in the error message. The DICT_FK_MAX_RECURSIVE_LOAD applies to the number of foreign key constraints in table definitions, not to the number of rows that are visited while processing a foreign key constraint.
* MDEV-27722 innodb_fts.innodb-fts-ddl fails with a wrong message on FreeBSDMarko Mäkelä2022-02-171-0/+1
| | | | | On FreeBSD, the error message would say "Resource deadlock avoided". Let us simply replace the error message string in the test.
* fix: Fix 'unknown type usermodehelper_t' issue after upgrading to MariaDB ↵Jonathan Sabbe2022-02-171-0/+1
| | | | 10.4.24
* MDEV-27548 session_tracker_last_gtid.test fails with --repeat, added cleanup ↵forkfun2022-02-162-0/+2
| | | | after the test
* MDEV-27634 innodb_zip tests failing on s390xMarko Mäkelä2022-02-1620-652/+383
| | | | | | | | | | | | | Some GNU/Linux distributions ship a zlib that is modified to use the s390x DFLTCC instruction. That modification would essentially redefine compressBound(sourceLen) as (sourceLen * 16 + 2308) / 8 + 6. Let us relax the tests for InnoDB ROW_FORMAT=COMPRESSED to cope with such a weaker compression guarantee. create_table_info_t::row_size_is_acceptable(): Remove a bogus debug-only assertion that would fail to hold for the test innodb_zip.bug36169. The function page_zip_empty_size() may indeed return 0.
* MDEV-16091: Seconds_Behind_Master spikes to millions of secondsBrandon Nesterenko2022-02-152-4/+19
| | | | | | | | | | | | | | | | | | The rpl.rpl_seconds_behind_master_spike test would sometimes timeout or take a very long time to complete. This happened because an MTR DEBUG_SYNC signal would be lost due to a subsequent call to RESET. I.e., the slave SQL thread would be paused due to the WAIT_FOR signal being lost, resulting in either a failed test if the `select master_pos_wait` timeout occurs first, or a very long run-time if the DBUG_SYNC timeout occurs first. The fix ensures that the MTR signal is processed by the slave SQL thread before issuing the call to RESET Reviewed By: ============ Andrei Elkin <andrei.elkin@mariadb.com>
* Fix typo in mysqadmin manpageUstun Ozgur2022-02-151-1/+1
|
* bump the VERSIONDaniel Bartholomew2022-02-121-1/+1
|
* Disable innodb_gis.rtree_compress2Marko Mäkelä2022-02-111-0/+1
|
* MDEV-27746 Wrong comparision of BLOB's empty preffix with non-preffixed BLOB ↵Vlad Lesin2022-02-113-1/+52
| | | | | | | | | | | | | | | | causes rows count mismatch for clustered and secondary indexes during non-locking read row_sel_sec_rec_is_for_clust_rec() treats empty BLOB prefix field in secondary index as a field equal to any external BLOB field in clustered index. Row_sel_get_clust_rec_for_mysql::operator() doesn't zerro out clustered record pointer in row_search_mvcc(), and row_search_mvcc() thinks that delete-marked secondary index record has visible for "CHECK TABLE"'s read view old-versioned clustered index record, and row_scan_index_for_mysql() counts it as a row. The fix is to execute row_sel_sec_rec_is_for_blob() in row_sel_sec_rec_is_for_clust_rec() if clustered field contains BLOB's reference.
* MDEV-25636: Bug report: abortion in sql/sql_parse.cc:6294mariadb-10.2.43bb-10.2-compatibilitySergei Petrunia2022-02-105-2/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The asserion failure was caused by this query select /*id=1*/ from t1 where col= ( select /*id=2*/ from ... where corr_cond1 union select /*id=4*/ from ... where corr_cond2) Here, - select with id=2 was correlated due to corr_cond1. - select with id=4 was initially correlated due to corr_cond2, but then the optimizer optimized away the correlation, making the select with id=4 uncorrelated. However, since select with id=2 remained correlated, the execution had to re-compute the whole UNION. When it tried to execute select with id=4, it hit an assertion (join buffer already free'd). This is because select with id=4 has freed its execution structures after it has been executed once. The select is uncorrelated, so it did not expect it would need to be executed for the second time. Fixed this by adding this logic in st_select_lex::optimize_unflattened_subqueries(): If a member of a UNION is correlated, mark all its members as correlated, so that they are prepared to be executed multiple times.
* MDEV-26351 segfault - (MARIA_HA *) 0x0 in ha_maria::extraSergei Golubchik2022-02-103-5/+5
| | | | don't let Aria create a table that it cannot open
* MDEV-26351 segfault - (MARIA_HA *) 0x0 in ha_maria::extraSergei Golubchik2022-02-103-1/+5272
| | | | | use the correct check. before invoking handler methods we need to know that the table was opened, not only created.
* MDEV-25766 Unused CTE lead to a crash in find_field_in_tables/find_order_in_listOleksandr Byelkin2022-02-103-3/+73
| | | | Do not assume that subquery Item always present.
* MDEV-27789 mysql_upgrade / mariadb-upgrade in 10.6.6 is putting password in ↵Monty2022-02-101-15/+11
| | | | | | | | | | host argument Removed all dependencies of command line arguments based on positions in an array (this kind of code should never have been written). Instead use option names, which are stable. Reviewer: Sergei Golubchik
* Merge branch '10.2' into bb-10.2-releaseOleksandr Byelkin2022-02-0911-9/+110
|\
| * bump the VERSIONDaniel Bartholomew2022-02-081-1/+1
| |
| * MDEV-27738 Windows : mysql-test-run --extern does not workVladislav Vaintroub2022-02-081-1/+1
| | | | | | | | Use portable quoting in mtr_add_arg.
| * MDEV-27737 Wsrep SST scripts not working on FreeBSDbb-10.2-galeraTeemu Ollakka2022-02-083-4/+12
| | | | | | | | | | | | | | | | | | - Changed SST scripts to use /usr/bin/env bash instead of /bin/bash for better portability. - Fixed use of mktemp on non-Linux platforms to produce temporary file instead of directory. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
| * MDEV-17785: Window functions not working in ONLY_FULL_GROUP_BY modeSergei Petrunia2022-02-075-3/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Backport Varun Gupta's patch + edit the commit comment) Name resolution code produced errors for valid queries with window functions (but not for queries which used aggregate functions as window functions). Name resolution code worked incorrectly, because window function objects had is_window_func_sum_expr()=false. This was so, because mark_as_window_func_sum_expr() was only called for aggregate functions used as window functions. The fix is to call it for any window function.
| * MDEV-27721 rpl.rpl_relay_max_extension test is not FreeBSD-compatibleAndrei2022-02-021-0/+2
| | | | | | | | Fixed the test to execute only on linux as it depends on unportable sed.
* | main.events_embedded test failures in buildbotmariadb-10.2.42Sergei Golubchik2022-01-292-3/+2
| | | | | | | | revert 68b3fa8865a
* | ASAN/valgrind errors in connect.misc testSergei Golubchik2022-01-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | accessing freed memory. Before XMLCOL::WriteColumn() Tdbp->Clist gets assigned a nodelist in Clist = RowNode->SelectNodes(g, Colname, Clist); which is RowNode->Doc->Xop->nodesetval. In XMLCOL::WriteColumn() ValNode = ColNode->SelectSingleNode(g, Xname, Vxnp); calls LIBXMLDOC::GetNodeList() again, which frees the previous XPath object Xop and replaces it with a new one. In this case RowNode->Doc == ColNode->Doc, so Clist->Listp points to a freed memory now.
* | MDEV-11241 Certain combining marks cause MariaDB to crash when doing ↵Sergei Golubchik2022-01-283-5/+17
|/ | | | | | Full-Text searches fix it for Aria too
* Fixed result for embedded serverMonty2022-01-289-1292/+626
| | | | | | | | | | | | | | | - Revert wrongly record embedded result files. These were either recorded with normal server (not embedded) or an embedded server with not default compile option. This can be seen that the committed result file had replication variables which should never happen. - Reverted back change of include/is_embedded.inc. One cannot check for $MYSQL_EMBEDDED as this only tells if there exists an embedded server, not if the current server we are testing is the embedded server. This could easily be verified by doing 'mtr sys_vars.sysvars_server_embedded'. This would fail with a wrong result instead of being marked as skipped as --embedded was not used.
* Fixed wrong function call in embedded serverMonty2022-01-281-1/+1
| | | | | | This happens when compiled with HAVE_EMBEDDED_PRIVILEGE_CONTROL. There is a lot of other problems with the above option that should be fixed at some point
* Fixed compilation error if HAVE_CRYPT is not definedMonty2022-01-271-1/+2
|
* Silence the file-key-management plugin during mysql_install_dbMonty2022-01-271-1/+1
| | | | | | This avoids printing the error "mysqld: file-key-management-filename is not set" which can happen if the file-key-management pluging is statically compiled
* Remove --upgrade-info option from mysql_upgradeMonty2022-01-273-22/+1
| | | | | | Removed the option as it safe to always create the file when we have created the MariaDB data directories. This fixes this issue not only for debian but for all MariaDB users.
* MDEV-27477 Remaining SUSE patches for 10.2+Monty2022-01-274-4/+30
| | | | | | | | | | | This patch let's you specify not only user to use but also group that MariaDB should use. Original patch: https://github.com/openSUSE/mysql-packaging/blob/master/patches/mysql-patches/mariadb-10.2.3-group.patch Author: Kristyna Streitova Reviewer: monty@mariadb.org
* MDEV-27536 incremental commit to correct regression test.Andrei2022-01-272-8/+8
|
* MDEV-27536 invalid BINLOG_BASE64_EVENT and assertion Diagnostics_area:: ↵Andrei2022-01-273-1/+41
| | | | | | | | | | | | | | | !is_set() The assert was caused by an error of XA transaction that had BINLOG 'base64_string' statement. The statement failed because of lack of checking whether the encoded replication event was handled by the slave applier thread. If it's not the slave applier no error should be generated, but it was in this case, see a test added. Fixed along with the idea borrowed the upstream to introduce a check of which applier executes the replication event and do not report any error if the applier is a regular server client.
* MDEV-27635: selinux: allow read of /proc/sys/kernel/core_patternDaniel Black2022-01-271-0/+1
| | | | | | | | | | | | | Prevent the error: setroubleshoot[23678]: SELinux is preventing /usr/libexec/mysqld from read access on the file core_pattern. Reading of the core pattern occurs on crash as added in MDEV-15051 RHEL-7.7 $ ls -laZ /proc/sys/kernel/core_pattern -rw-r--r--. root root system_u:object_r:usermodehelper_t:s0 /proc/sys/kernel/core_pattern
* MDEV-27289: mtr test for WITH_SERVER_EMBEDDED=ON reenableDaniel Black2022-01-278-616/+1288
| | | | | | | | | | mtr is checking the wrong path for the embedded executable on out of tree builds. The is_embedded.inc tests are also checking the version rather than the MTR MYSQL_EMBEDDED environment variable. As a result, a few tests are out of date in the result recordings.
* MDEV-27607: mysql_install_db to install mysql_upgrade_infoDaniel Black2022-01-273-1/+23
| | | | | | | For compatibility this is under an extra option --upgrade-info The goal here is to install a data directory with the required info to let mysql_upgrade know that an upgrade isn't required.
* Cleanup: Remove an unused parameter of fts_add_doc_by_id()Marko Mäkelä2022-01-261-8/+4
|
* new CCOleksandr Byelkin2022-01-261-0/+0
|
* MDEV-27612 Connect : check buffer sizes, fix string format errorsVladislav Vaintroub2022-01-2613-17/+280
|
* MDEV-8652: Partitioned table creation problem when creating from procedure ↵Lena Startseva2022-01-262-0/+57
| | | | | | context twice in same session The problem was solved in in MDEV-7990, this commit contains only test
* MDEV-16091: Seconds_Behind_Master spikes to millions of secondsBrandon Nesterenko2022-01-252-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses two problems with rpl.rpl_seconds_behind_master_spike First, --sync_slave_with_master / select master_pos_wait seems to have a bug where it will hang after all master events have been executed. This patch removes the sync_slave_with_master command from the test, where it not required anyway as it is used to declare explicit cleanup Second, the test uses timestamps to ensure that the Seconds_Behind_Master value does not point to a time too far in the past. The checks of these timestamps were too strict, because they could be slightly inconsistent with the master and the SBM would be counted as invalid when it was actually correct. To fix this, a slight buffer was added to the check to ensure the value is valid but still does not point too far in the past Reviewed By: =========== Andrei Elkin <andrei.elkin@mariadb.com>
* MDEV-25917 create table like fails if source table is partitioned and engine ↵Alexey Botchkov2022-01-256-9/+170
| | | | | | | is myisam or aria with data directory. Create table like removes data_file_path/index_file_path from the thd->work_partition_info.
* Merge remote-tracking branch 'connect/10.2' into 10.2Oleksandr Byelkin2022-01-242-12/+20
|\
| * Fix incompatibility SRCDEF && MEMORY=2 for ODBC JDBC tablesOlivier Bertrand2022-01-061-5/+7
| |
| * Fix MDEV-27055 (regression of MDEV-24493)Olivier Bertrand2021-11-261-7/+13
| |