summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.4 into 10.5Marko Mäkelä2022-10-1246-353/+2925
|\
| * MDEV-26597 post-fix: cannot add new error messages in 10.4Sergei Golubchik2022-10-117-31/+15
| | | | | | | | followup for e8acec897417
| * MDEV-20760 fixup: clang -Winconsistent-missing-overrideMarko Mäkelä2022-10-111-226/+242
| |
| * MDEV-29613 fixup: clang -Wunused-but-set-variableMarko Mäkelä2022-10-111-1/+5
| |
| * Merge 10.3 into 10.4Marko Mäkelä2022-10-1111-19/+38
| |\
| | * MDEV-19455/MDEV-29342 fixup: Avoid DEBUG_DBUG=-d,...Marko Mäkelä2022-10-114-8/+8
| | |
| | * MDEV-29183: Clarify mysqlbinlog command description (#2245)Zhibo Zhang2022-10-111-1/+1
| | | | | | | | | The statement 'Verify checksum binlog events.' is confusing. Fix word order to make it clear.
| | * MDEV-21905: Galera test galera_var_notify_cmd causes hangJulius Goryavsky2022-10-113-21/+24
| | | | | | | | | | | | | | | The problem is related to performing operations without switching wsrep off, this commit fixes this and allows disabled tests.
| | * Silence clang 13 -Wunused-but-set-variable for BisonMarko Mäkelä2022-10-102-2/+14
| | |
| | * MDEV-29742 heap number overflowMarko Mäkelä2022-10-103-3/+13
| | | | | | | | | | | | | | | | | | | | | A previous fix in commit efd8af535a4fa4aa3dd89a325340b6eb648e1bc8 failed to cover ALTER TABLE. PageBulk::isSpaceAvailable(): Check for record heap number overflow.
| | * Remove redudant defines USE_MB and USE_MB_IDENTAnel Husakovic2022-10-091-5/+2
| | | | | | | | | | | | Reviewer: <wlad@mariadb.com>
| | * Test results updated.Jan Lindström2022-10-064-8/+8
| | |
| | * MDEV-29706 : SIGSEGV in wsrep_TOI_begin on non-Galera buildsJan Lindström2022-10-064-45/+20
| | | | | | | | | | | | Do not allow setting wsrep_on=ON if no provider is set.
| * | MDEV-21905: Galera test galera_var_notify_cmd causes hangJulius Goryavsky2022-10-115-36/+46
| | | | | | | | | | | | | | | The problem is related to performing operations without switching wsrep off, this commit fixes this and allows disabled tests.
| * | A followup for MDEV-29672 Add MTR tests covering key and key segment flags ↵Alexander Barkov2022-10-104-18/+2301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and types Adding debug output for key and keyseg flags at ha_myisam::open() time. So now there are three points of debug output: 1. In the very end of mysql_prepare_create_table() 2. In ha_myisam::create(), after the table2myisam() call 3. In ha_myisan::open(), after the mi_open() call mi_create(), which is is called between 2 and 3, modifies flags for some data types, so the output in 2 and 3 is different.
| * | MDEV-29707 : Incorrect/bad errno on enabling wsrep_on after setting dummy ↵Jan Lindström2022-10-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | wsrep_provider on non-Galera build Fix error message to contain correct errno. This commit was tested interactively because mtr will notice if you provide wrong wsrep_provider in config and you may not change wsrep_provider dynamically.
| * | MDEV-25389 : Assertion `!is_thread_specific || (mysqld_server_initialized && ↵Jan Lindström2022-10-096-6/+56
| | | | | | | | | | | | | | | | | | | | | thd)' failed in void my_malloc_size_cb_func(long long int, my_bool) If wsrep slave thread creation fails for some reason we need to handle this error correctly and set actual running slave threads accordingly.
| * | MDEV-26597 : Assertion `!wsrep_has_changes(thd) || (thd->lex->sql_command == ↵Jan Lindström2022-10-0910-16/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row())' failed. If repl.max_ws_size is set too low following CREATE TABLE could fail during commit. In this case wsrep_commit_empty should allow rolling it back if provider state is s_aborted. Furhermore, original ER_ERROR_DURING_COMMIT does not really tell anything clear for user. Therefore, this commit adds a new error ER_TOO_BIG_WRITESET. This will change some test cases output.
| * | MDEV-27123 : auto_increment_increment and auto_increment_offset reset to 1 ↵Jan Lindström2022-10-094-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | in current session after alter table on auto-increment column Problem was that in ALTER TABLE execution variables were set to 1 even when wsrep_auto_increment_control is OFF. We should set them only when wsrep_auto_increment_control is ON.
| * | MDEV-29142 : Assertion `!_current_thd()' failed in void ↵Jan Lindström2022-10-093-6/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | destroy_background_thd(THD*) In test user has set WSREP_ON=OFF this causes streaming replication recovery to fail and this caused call to unireg_abort(). However, this call is not necessary and we can let transaction to fail. Naturally, if real user does this he needs to bootstrap his cluster.
| * | typo fixed, followup for 3fe55fa8be9Sergei Golubchik2022-10-073-1/+19
| | |
| * | CREATE ... VALUES ... didn't require INSERT privilegeSergei Golubchik2022-10-073-5/+42
| | |
| * | Mroonga: GCC 12.2.0 -Og -Wmaybe-uninitializedMarko Mäkelä2022-10-072-49/+47
| | |
| * | Groonga: GCC 12.2.0 -Og -Wuse-after-freeMarko Mäkelä2022-10-071-2/+2
| | | | | | | | | | | | This message would always have been invoked on ptr=NULL.
| * | MDEV-29613 fixup: Mroonga -Wunused-functionMarko Mäkelä2022-10-071-1/+1
| | |
* | | MDEV-28576 RENAME COLUMN with NOCOPY algorithm leads to corrupt partitioned ↵Aleksey Midenkov2022-10-076-1/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | table 10.5 part: test cases and comments. The code is in the merge commit 74fe1c44aa1 When f.ex. table is partitioned by HASH(a) and we rename column `a' to `b' partitioning filter stays unchanged: HASH(a). That's the wrong behavior. The patch updates partitioning filter in accordance to the new columns names. That includes partition/subpartition expression and partition/subpartition field list.
* | | Merge 10.4 into 10.5Aleksey Midenkov2022-10-076-6/+92
|\ \ \ | |/ /
| * | Merge 10.3 into 10.4Aleksey Midenkov2022-10-066-6/+97
| |\ \ | | |/
| | * MDEV-29697 Assertion failure in Diagnostics_area::set_ok_statusAleksey Midenkov2022-10-053-0/+22
| | | | | | | | | | | | | | | | | | upon CREATE OR REPLACE causing ER_UPDATE_TABLE_USED Missed set return status to 1.
| | * MDEV-28576 RENAME COLUMN with NOCOPY algorithm leads to corrupt partitioned ↵Aleksey Midenkov2022-10-053-0/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | table When f.ex. table is partitioned by HASH(a) and we rename column `a' to `b' partitioning filter stays unchanged: HASH(a). That's the wrong behavior. The patch updates partitioning filter in accordance to the new columns names. That includes partition/subpartition expression and partition/subpartition field list.
| | * MDEV-28576 Ability to manipulate List<const char *>Aleksey Midenkov2022-10-051-6/+6
| | | | | | | | | | | | | | | | | | | | | For "const char *" replace() and after() accepted const as "T *" and passed forward "void *". This cannot be cast implicitly, so we better use "const void *" instead of "void *" in the input interface. This way we avoid problems with using List for any const type.
* | | MDEV-29710: Disable a timing-sensitive test on ValgrindMarko Mäkelä2022-10-061-0/+1
| | |
* | | MDEV-29508 work-around: Disable hanging test on ValgrindMarko Mäkelä2022-10-061-0/+3
| | |
* | | MemorySanitizer: Disable tests that time outMarko Mäkelä2022-10-062-0/+4
| | |
* | | MDEV-29710: Disable some slow tests on ValgrindMarko Mäkelä2022-10-063-0/+3
| | |
* | | Merge 10.4 into 10.5Marko Mäkelä2022-10-06108-551/+923
|\ \ \ | |/ /
| * | MDEV-27682: Temporarily disable a failing testMarko Mäkelä2022-10-061-0/+1
| | |
| * | MDEV-29710: Skip main.update_use_source on ValgrindMarko Mäkelä2022-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | This test is not slow, but it reliably produces an EXPLAIN difference (number of rows) on the Valgrind builder. A possible explanation could be that the purge threads are not being scheduled. Valgrind runs all threads in a single thread.
| * | MDEV-29710: Skip some more tests on ValgrindMarko Mäkelä2022-10-0517-0/+18
| | |
| * | Merge 10.3 into 10.4Marko Mäkelä2022-10-0546-511/+838
| |\ \ | | |/
| | * MDEV-27927 row_sel_try_search_shortcut_for_mysql() does not latch a page, ↵Vlad Lesin2022-10-0516-267/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | violating read view isolation btr_search_guess_on_hash() would only acquire an index page latch if it is invoked with ahi_latch=NULL. If it's invoked from row_sel_try_search_shortcut_for_mysql() with ahi_latch!=NULL, a page will not be latched, and row_search_mvcc() will get a pointer to the record, which can be changed by some other transaction before the record was stored in result buffer with row_sel_store_mysql_rec() call. ahi_latch argument of btr_cur_search_to_nth_level_func() and btr_pcur_open_with_no_init_func() is used only for row_sel_try_search_shortcut_for_mysql(). btr_cur_search_to_nth_level_func(..., ahi_latch !=0, ...) is invoked only from btr_pcur_open_with_no_init_func(..., ahi_latch !=0, ...), which, in turns, is invoked only from row_sel_try_search_shortcut_for_mysql(). I suppose that separate case with ahi_latch!=0 was intentionally implemented to protect row_sel_store_mysql_rec() call in row_search_mvcc() just after row_sel_try_search_shortcut_for_mysql() call. After the ahi_latch was moved from row_seach_mvcc() to row_sel_try_search_shortcut_for_mysql(), there is no need in it at all if btr_search_guess_on_hash() latches a page unconditionally. And if btr_search_guess_on_hash() latched the page, any access to the record in row_sel_try_search_shortcut_for_mysql() after btr_pcur_open_with_no_init() call will be protected with the page latch. The fix is to remove ahi_latch argument from btr_pcur_open_with_no_init_func(), btr_cur_search_to_nth_level_func() and btr_search_guess_on_hash(). There will not be test, as to test it we need to freeze some SELECT execution in the point between row_sel_try_search_shortcut_for_mysql() and row_sel_store_mysql_rec() calls in row_search_mvcc(), and to change the record in some other transaction to let row_sel_store_mysql_rec() to store changed record in result buffer. Buf we can't do this with the fix, as the page will be latched in btr_search_guess_on_hash() call.
| | * MDEV-29710: Valgrind tests massively fail due to silently killing server on ↵Marko Mäkelä2022-10-0512-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | shutdown timeout Let us disable Valgrind on tests that would fail because a server shutdown or a STOP SLAVE command would take longer, causing the test harness to forcibly and silently kill the server due to an exceeded timeout.
| | * MDEV-29710: Disable main.log_slow under ValgrindMarko Mäkelä2022-10-051-0/+2
| | | | | | | | | | | | | | | Under Valgrind, this test may occasionally fail because the sleep-based timeouts of less than 1 second could be exceeded.
| | * MDEV-29710: Disable sys_vars.innodb_flush_method_func under ValgrindMarko Mäkelä2022-10-051-0/+2
| | | | | | | | | | | | The test could emit some I/O error when run under Valgrind.
| | * MDEV-29710: Disable innodb.table_flags under ValgrindMarko Mäkelä2022-10-051-0/+6
| | |
| | * MDEV-29666 InnoDB fails to purge secondary index records when indexed ↵Marko Mäkelä2022-10-057-212/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | virtual columns exist row_purge_get_partial(): Replaces trx_undo_rec_get_partial_row(). Also copy the purge_node_t::ref to the purge_node_t::row. In this way, the clustered index key fields will always be available, even if thanks to commit d384ead0f024995787b1f29bc672c33b0d3d40a8 (MDEV-14799) they would no longer be repeated in the remaining part of the undo log record.
| | * MDEV-27682: bundled wsrep_notify.sh causes mariadbd to freeze during startJulius Goryavsky2022-10-048-30/+465
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds automation that will reduce the possibility of user errors when customizing wsrep_notify.sh (in particular caused by user-specified parameters). Now all leading and trailing spaces are removed from the user-specified parameters and automatic port and host address substitution has been added to scripts, as well as automatic password substitution to the client command line, only if it is specified in the wsrep_notify.sh and not as empty strings. Also added support for automatic substitution of the all SSL-related parameters and improved parsing for ipv6 addresses (to allow "[...]" notation for ipv6 addresses). Also added a test to check if the wsrep notify script will works with SSL.
| | * MDEV-29575 Access to innodb_trx, innodb_locks and innodb_lock_waits along ↵Vlad Lesin2022-10-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with detached XA's can cause SIGSEGV trx->mysql_thd can be zeroed-out between thd_get_thread_id() and thd_query_safe() calls in fill_trx_row(). trx_disconnect_prepared() zeroes out trx->mysql_thd. And this can cause null pointer dereferencing in fill_trx_row(). fill_trx_row() is invoked from fetch_data_into_cache() under trx_sys.mutex. Bug fix is in reseting trx_t::mysql_thd in trx_disconnect_prepared() under trx_sys.mutex lock too. MTR test case can't be created for the fix, as we need to wait for trx_t::mysql_thd reseting in fill_trx_row() after trx_t::mysql_thd was checked for null while trx_sys.mutex is held. But trx_t::mysql_thd must be reset in trx_disconnect_prepared() under trx_sys.mutex. There will be deadlock.
| * | Remove HAVE_SNPRINTFMarko Mäkelä2022-10-056-19/+1
| | | | | | | | | | | | | | | | | | This fixes up commit 77c184df7c056da7364e606ac977cc2d3cd826ad which explicitly specifies that we use ISO/IEC 9899:1999 (C99), which includes the snprintf() function.
| * | Disable valgrind for test in main that takes > 200 secondsMonty2022-10-0440-6/+51
| | | | | | | | | | | | One can run these with --valgrind --big