- 26 Aug, 2022 1 commit
-
-
tmokmss authored
MDEV-18873 Server crashes in Compare_identifiers::operator or in my_strcasecmp_utf8 upon ADD PERIOD IF NOT EXISTS with empty name empty identifier specified as `` ends up with a NULL LEX_CSTRING::str in lexer. This is not considered correct in upper layers, for example in Compare_identifiers::operator(). Empty column name is usually avoided by a check_column_name() call while parsing, and period name matches the column name completely. Hence, this fix uses the mentioned call for verification, too.
-
- 25 Aug, 2022 3 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
buf_defer_drop_ahi(): Remove. Ever since commit c7f8cfc9 (MDEV-27700) it is safe to invoke btr_search_drop_page_hash_index(block, true) to remove an orphan adaptive hash index. Any attempt to upgrade page latches is prone to deadlocks. Recently, we observed a few hangs that involved nothing more than a small table consisting of one clustered index page, one secondary index page and some undo pages.
-
Sergei Golubchik authored
followup for "remove invalid options from warning messages"
-
- 24 Aug, 2022 4 commits
-
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
MDEV-29319 Assertion failure size_in_header >= space.free_limit in fsp_get_available_space_in_free_extents() - Don't remove the constant parameter in fsp_get_available_space_in_free_extents()
-
Thirunarayanan Balathandayuthapani authored
- InnoDB fts table initially added to LRU table cache while creating the table. Later, table was marked as non-evicted when we add the table to fts optimizer list. Before marking the table as non-evicted, master thread can try to evict the fts table.
-
Thirunarayanan Balathandayuthapani authored
MDEV-29319 Assertion failure size_in_header >= space.free_limit in fsp_get_available_space_in_free_extents() - Race condition between fsp_get_available_space_in_free_extents() and fsp_try_extend_data_file() while accessing space.free_limit. Before calling fsp_get_available_space_in_free_extents(), take shared lock on space->latch.
-
- 23 Aug, 2022 1 commit
-
-
Nayuta Yanagisawa authored
Many Spider tests were broken by the merge commit, 36d173e5.
-
- 22 Aug, 2022 7 commits
-
-
Brandon Nesterenko authored
Problem: ======== When replicating SET DEFAULT ROLE, the pre-update check (i.e. that in set_var_default_role::check()) tries to validate the existence of the given rules/user even when the targeted tables are ignored. When previously issued CREATE USER/ROLE commands are ignored by the replica because of the replication filtering rules, this results in an error because the targeted data does not exist. Solution: ======== Before checking that the given roles/user exist of a SET DEFAULT ROLE command, first ensure that the mysql.user and mysql.roles_mapping tables are not excluded by replication filters. Reviewed By: ============ Andrei Elkin <andrei.elkin@mariadb.com> Sergei Golubchik <serg@mariadb.com>
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
Reason: ======= Race condition between btr_search_drop_hash_index() and btr_search_lazy_free(). One thread does resizing of buffer pool and clears the ahi on all pages in the buffer pool, frees the index and table while removing the last reference. At the same time, other thread access index->heap in btr_search_drop_hash_index(). Solution: ========= Acquire the respective ahi latch before checking index->freed() btr_search_drop_page_hash_index(): Added new parameter to indicate that drop ahi entries only if the index is marked as freed btr_search_check_marked_free_index(): Acquire all ahi latches and return true if the index was freed
-
Alexander Barkov authored
TIMESTAMP columns were compared as strings in ALL/ANY comparison, which did not work well near DST time change. Changing ALL/ANY comparison to use "Native" representation to compare TIMESTAMP columns, like simple comparison does.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Ever since commit 09177ead the test innodb.row_format_redundant cannot work when the data file was created with innodb_checksum_algorithm=full_crc32. Backport of 10.5 commit a9d0bb12
-
Marko Mäkelä authored
-
- 19 Aug, 2022 1 commit
-
-
Marko Mäkelä authored
Even though commit b817afaa passed the test mariabackup.compress_qpress, that test turned out to be too small to reveal one more problem that had previously been prevented by the existence of ctrl_mutex. I did not realize that there can be multiple concurrent callers to compress_write(). One of them is the log copying thread; further callers are data file copying threads (default: --parallel=1). By default, there is only one compression worker thread (--compress-threads=1). compress_write(): Fix a race condition between threads that would use the same worker thread object. Make thd->data_avail contain the thread identifier of the submitter, and add thd->avail_cond to notify other compress_write() threads that are waiting for a slot.
-
- 17 Aug, 2022 1 commit
-
-
Thirunarayanan Balathandayuthapani authored
- While creating a new InnoDB segment, allocates the extent before allocating the inode or page allocation even though the pages are present in fragment segment. This patch does reserve the extent when InnoDB ran out of fragment pages in the tablespace.
-
- 16 Aug, 2022 1 commit
-
-
Nayuta Yanagisawa authored
ha_spider::field_exchange() returns NULL and that results in a crash or a assertion failure in spider_db_open_item_ident(). In the first place, there seems to be no need to call field_exchange() for printing an identity (column name with alias). Thus, we simply remove the call.
-
- 15 Aug, 2022 4 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Daniel Bartholomew authored
-
Daniel Bartholomew authored
-
- 11 Aug, 2022 1 commit
-
-
Rucha Deodhar authored
Analysis: JSON_VALUE() returns "null" string instead of NULL pointer. Fix: When the type is JSON_VALUE_NULL (which is also a scalar) set null_value to true and return 0 instead of returning string.
-
- 10 Aug, 2022 8 commits
-
-
Oleksandr Byelkin authored
-
Brad Smith authored
The file is now empty and thus serves no purpose.
-
Nayuta Yanagisawa authored
-
Sergei Golubchik authored
first SIGTERM and if the process didn't die in 10 seconds, SIGKILL it. This allows various tools like `rr`, `gcov`, `gprof`, etc to flush their data to disk properly
-
Sergei Golubchik authored
-
Sergei Golubchik authored
MDEV-23149 Server crashes in my_convert / ErrConvString::ptr / Item_char_typecast::check_truncation_with_warn
-
Sergei Golubchik authored
-
Sergei Golubchik authored
--log-slow-queries was removed in 10.0. Now opt_slow_logname can be set either with --slow-query-log-file or with --log-basename --log was removed in 10.0. Now opt_logname can be set either with --general-log-file or with --log-basename
-
- 09 Aug, 2022 3 commits
- 08 Aug, 2022 3 commits
-
-
Oleksandr Byelkin authored
-
Monty authored
-
Monty authored
When creating a recursive CTE, the column types are taken from the non recursive part of the CTE (this is according to the SQL standard). This patch adds code to abort the CTE if the calculated values in the recursive part does not fit in the fields in the created temporary table. The new code only affects recursive CTE, so it should not cause any notable problems for old applications. Other things: - Fixed that we get correct row numbers for warnings generated with WITH RECURSIVE Reviewer: Alexander Barkov <bar@mariadb.com>
-
- 04 Aug, 2022 2 commits
-
-
Oleksandr Byelkin authored
-
Daniel Black authored
Disable for embedded as mysqldump cannot connect to embedded server.
-