- 03 Jun, 2023 4 commits
-
-
Marko Mäkelä authored
innodb_counter_info[]: Revert a change that was accidentally made in commit 204e7225
-
Marko Mäkelä authored
btr_cur_need_opposite_intention(): Check also page_zip_available() so that we will escalate to exclusive index latch when a non-leaf page may have to be split further due to ROW_FORMAT=COMPRESSED page overflow. Tested by: Matthias Leich
-
Marko Mäkelä authored
trx_purge_truncate_rseg_history(): Avoid a leak similar to the one that was fixed in MDEV-31324, in case a supposedly cached undo log page is not found in the rseg.undo_cached list.
-
Marko Mäkelä authored
trx_purge_truncate_history(): While waiting for a write-fixed block to become available, simply wait for an exclusive latch on it. Also, simplify the iteration: first check for oldest_modification>2 (to ignore clean pages or pages belonging to the temporary tablespace) and then compare the tablespace identifier. Before releasing buf_pool.flush_list_mutex we will buffer-fix the block of interest. In that way, buf_page_t::can_relocate() will not hold on the block and it must remain in the buffer pool until we have acquired an exclusive latch on it. If the block is still dirty, we will register it with the tablespace truncation mini-transaction; else, we will simply release the latch and buffer-fix and move to the next block. This also reverts commit c4d79399 because that fix should no longer be necessary; the wait for an exclusive block latch should allow buf_pool_t::release_freed_page() on the same block to proceed. Tested by: Axel Schwenke, Matthias Leich
-
- 05 May, 2023 4 commits
-
-
Sergei Petrunia authored
Derived table creation code would call Field::make_new_field() which would memcpy the Field object from the source table, including Field::read_stats. But the temp. table as a whole had table->stats_is_read=false. Which was correct but not consistent with Field::read_stats and caused an assertion. Fixed by making sure that Field::read_stats=NULL for fields in the new temporary (i.e. work) tables.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Sergei Petrunia authored
The problem, introduced in patch for MDEV-26301: When check_join_cache_usage() decides not to use join buffer, it must adjust the access method accordingly. For BNL-H joins this means switching from pseudo-"ref access"(with index=MAX_KEY) to some other access method. Failing to do this will cause assertions down the line when code that is not aware of BNL-H will try to initialize index use for ref access with index=MAX_KEY. The fix is to follow the regular code path to disable the join buffer for the join_tab ("goto no_join_cache") instead of just returning from check_join_cache_usage().
-
- 04 May, 2023 10 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
Do not try to decide merge/materialize for derived if it was already decided (even if it is a view).
-
Sergei Golubchik authored
RocksDB (in a submodule) has to include <cstdint> to use uint64_t but it doesn't. Until the submodule is upgraded, let's replace problematic types with something that's available
-
Sergei Golubchik authored
select_insert::store_values() must reset has_value_set bitmap before every row, just like mysql_insert() does. because ON DUPLICATE KEY UPDATE and triggers modify it
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
Temporary fix to avoid the server crash.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 03 May, 2023 8 commits
-
-
Oleksandr Byelkin authored
-
Sergei Petrunia authored
Add Optimizer Trace printouts.
-
Igor Babaev authored
This patch optimizes the number of refills for the lateral derived table to which a materialized derived table subject to split optimization is is converted. This optimized number of refills is now considered as the expected number of refills of the materialized derived table when searching for the best possible splitting of the table.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Andrei authored
(part 1 is in the previous commit) to [ pass ] galera.MDEV-18832, galera.MDEV-27862
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 02 May, 2023 13 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Andrei authored
1. log_event.cc stuff should go into log_event_server.cc 2. the test's wait condition is textually different in 10.5, fixed. 3. pre-exec 'optimistic' global var value is correct for 10.5 indeed.
-
Oleksandr Byelkin authored
-
Julius Goryavsky authored
-
Oleksandr Byelkin authored
-
Igor Babaev authored
This bug could cause a crash of the server when processing a query with ROWNUM() if it used in its FROM list a reference to a mergeable view defined as SELECT over more than one table that contained ORDER BY clause. When a mergeable view with ORDER BY clause and without LIMIT clause is used in the FROM list of a query that does not have ORDER BY clause the ORDER BY clause of the view is moved to the query. The code that performed this transformation forgot to delete the moved ORDER BY list from the view. If a query contains ROWNUM() and uses a mergeable multi-table view with ORDER BY then according to the current code of TABLE_LIST::init_derived() the view has to be forcibly materialized. As the query and the view shared the same items in its ORDER BY lists they could not be properly resolved either in the query or in the view. This led to a crash of the server. This patch has returned back the original signature of LEX::can_not_use_merged() to comply with 10.4 code of the condition that checks whether a megeable view has to be forcibly materialized. Approved by Oleksandr Byelkin <sanja@mariadb.com>
-
Tuukka Pasanen authored
To make sure that PMEM problem does not happen again sync 10.9 and up debian/rules to make sure that they are not making anymore problems with autobake-debs.sh
-
Daniele Sciascia authored
- Update wsrep-lib which contains fix for the assertion - Fix error handling for appending fragment to streaming log, make sure tables are closed after rollback. Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
-
sara authored
changed tast case 2 to be deterministic Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
-
- 30 Apr, 2023 1 commit
-
-
Igor Babaev authored
When processing a query over a mergeable view at some conditions checked at prepare stage it may be decided to materialize the view rather than to merge it. Before this patch in such case the field 'derived' of the TABLE_LIST structure created for the view remained set to 0. As a result the guard condition preventing range analysis for materialized views did not work properly. This led to a call of some handler method for the temporary table created to contain the view's records that was supposed to be used only for opened tables. However temporary tables created for materialization of derived tables or views are not opened yet when range analysis is performed. Approved by Oleksandr Byelkin <sanja@mariadb.com>
-