summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.5 into 10.6bb-10.6-MDEV-31254Marko Mäkelä2023-05-123-8/+11
|\
| * MDEV-31254 InnoDB: Trying to read doublewrite buffer pagebb-10.5-MDEV-31254Marko Mäkelä2023-05-121-3/+1
| | | | | | | | | | | | | | | | buf_read_page_low(): Remove an error message and a debug assertion that can be triggered when using innodb_page_size=4k and innodb_file_per_table=0. In that case, buf_read_ahead_linear() may be invoked on page 255, which is one less than the first page of the doublewrite buffer (256).
| * MDEV-31253 Freed data pages are not always being scrubbedMarko Mäkelä2023-05-123-39/+54
| | | | | | | | | | | | | | | | | | fil_space_t::flush_freed(): Renamed from buf_flush_freed_pages(); this is a backport of aa45850687409ba857eb3a0eb19e7ccc28dc02f7 from 10.6. Invoke log_write_up_to() on last_freed_lsn, instead of avoiding the operation when the log has not yet been written. A more costly alternative would be that log_checkpoint() would invoke this function on every affected tablespace.
* | Merge 10.5 into 10.6Marko Mäkelä2023-05-111-8/+17
|\ \ | |/
| * MDEV-29967 innodb_read_ahead_threshold (linear read-ahead) does not workMarko Mäkelä2023-05-111-8/+17
| | | | | | | | | | | | | | | | | | buf_read_ahead_linear(): Correct some calculations that were broken in commit b1ab211dee599eabd9a5b886fafa3adea29ae041 (MDEV-15053). Thanks to Daniel Black for providing a test case and initial debugging. Tested by: Matthias Leich
| * Merge mariadb-10.5.20 into 10.5Marko Mäkelä2023-05-1199-533/+2693
| |\
| * | bump the VERSIONbb-10.5-bumpversionDaniel Bartholomew2023-05-101-1/+1
| | |
* | | MDEV-31158: Potential hang with ROW_FORMAT=COMPRESSED tablesMarko Mäkelä2023-05-113-9/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | MDEV-30812 fixup: GCC 12.2.0 -Wmaybe-uninitializedMarko Mäkelä2023-05-111-17/+18
| | | | | | | | | | | | | | | best_access_path(): Simplify the logic for computing fanout. This fixes up commit 4329ec5d3b109cb0bcbee151b5800dc7b19d1945
* | | Merge mariadb-10.6.13 into 10.6Marko Mäkelä2023-05-11374-886/+3076
|\ \ \
| * | | MDEV-31199: Assertion `field->table->stats_is_read' fails with ↵mariadb-10.6.13bb-10.6-releaseSergei Petrunia2023-05-053-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hash_join_cardinality=on 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.
| * | | Merge branch '10.5' into 10.6Oleksandr Byelkin2023-05-053-1/+40
| |\ \ \ | | | |/ | | |/|
| | * | Merge branch '10.4' into 10.5mariadb-10.5.20bb-10.5-releaseOleksandr Byelkin2023-05-053-1/+40
| | |\ \
| | | * | MDEV-31194: Server crash or assertion failure with join_cache_level=4mariadb-10.4.29Sergei Petrunia2023-05-053-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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().
| * | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2023-05-047-4/+118
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.4' into 10.5Oleksandr Byelkin2023-05-047-4/+118
| | |\ \ \ | | | |/ /
| | | * | MDEV-31189 Server crash or assertion failure in upon 2nd execution of PS ↵Oleksandr Byelkin2023-05-043-4/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with views and HAVING Do not try to decide merge/materialize for derived if it was already decided (even if it is a view).
| | | * | MDEV-31057 rocksdb does not compile with gcc-13Sergei Golubchik2023-05-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * | MDEV-31164 default current_timestamp() not working when used INSERT ON ↵Sergei Golubchik2023-05-043-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DUPLICATE KEY in some cases 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
| * | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2023-05-0410-217/+382
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.4' into 10.5Oleksandr Byelkin2023-05-0410-217/+382
| | |\ \ \ | | | |/ /
| | | * | MDEV-31181 Server crash in subselect_uniquesubquery_engine::print upon ↵Oleksandr Byelkin2023-05-043-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EXPLAIN EXTENDED DELETE Temporary fix to avoid the server crash.
| | | * | Fix of selectivity test to behave correctly with embedded and view protocols.Oleksandr Byelkin2023-05-047-217/+335
| | | | |
| * | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2023-05-049-128/+1230
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.4' into 10.5Oleksandr Byelkin2023-05-037-45/+1161
| | |\ \ \ | | | |/ /
| | | * | MDEV-26301: Split optimization refills: Optimizer Trace coverageSergei Petrunia2023-05-034-13/+245
| | | | | | | | | | | | | | | | | | | | Add Optimizer Trace printouts.
| | | * | MDEV-26301 Split optimization refills temporary table too many timesIgor Babaev2023-05-035-32/+910
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2023-05-03355-757/+1483
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.4' into 10.5Oleksandr Byelkin2023-05-031-2/+6
| | |\ \ \ | | | |/ /
| | | * | MDEV-29621 part 2 of post-merge fixes in galeraAndrei2023-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | (part 1 is in the previous commit) to [ pass ] galera.MDEV-18832, galera.MDEV-27862
| | | * | Protect a new condition (by Andrei)Oleksandr Byelkin2023-05-031-1/+5
| | | | |
| | * | | Fix test after merge (by Thiru)Oleksandr Byelkin2023-05-032-2/+2
| | | | |
| | * | | Merge branch '10.4' into 10.5Oleksandr Byelkin2023-05-021-0/+0
| | |\ \ \ | | | |/ /
| | | * | Merge branch '10.3' into 10.4Oleksandr Byelkin2023-05-021-0/+0
| | | |\ \
| | | | * | New CC 3.1mariadb-10.3.39bb-10.3-release10.3Oleksandr Byelkin2023-05-021-0/+0
| | | | | |
| | * | | | Merge branch 'bb-10.4-release' into bb-10.5-releaseOleksandr Byelkin2023-05-027-6/+72
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge branch '10.4' into bb-10.4-releaseOleksandr Byelkin2023-05-027-6/+72
| | | |\ \ \
| | | | * | | wsrep-lib external submodule updatebb-10.4-MDEV-30838-v2-galeraJulius Goryavsky2023-05-021-0/+0
| | | | | | |
| | | | * | | MDEV-30838 Assertion `m_thd == _current_thd()'Daniele Sciascia2023-05-024-4/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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>
| | | | * | | MDEV-30414 sporadic failures with galera var retry autocommitsara2023-05-022-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changed tast case 2 to be deterministic Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
| | * | | | | MDEV-29621 manual merge from 10.4 -> 10.5Andrei2023-05-023-5/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | | Merge branch 'bb-10.4-release' into bb-10.5-releaseOleksandr Byelkin2023-05-0272-473/+1108
| | |\ \ \ \ \ | | | |/ / / / | | | | | | / | | | |_|_|/ | | |/| | |
| | | * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2023-05-0238-268/+624
| | | |\ \ \ | | | | |/ / | | | |/| / | | | | |/
| | | | * MDEV-29621: Replica stopped by locks on sequenceAndrei2023-04-278-13/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using binlog_row_image=FULL with sequence table inserts, a replica can deadlock because it treats full inserts in a sequence as DDL statements by getting an exclusive lock on the sequence table. It has been observed that with parallel replication, this exclusive lock on the sequence table can lead to a deadlock where one transaction has the exclusive lock and is waiting on a prior transaction to commit, whereas this prior transaction is waiting on the MDL lock. This fix for this is on the master side, to raise FL_DDL flag on the GTID of a full binlog_row_image write of a sequence table. This forces the slave to execute the statement serially so a deadlock cannot happen. A test verifies the deadlock also to prove it happen on the OLD (pre-fixes) slave. OLD (buggy master) -replication-> NEW (fixed slave) is provided. As the pre-fixes master's full row-image may represent both SELECT NEXT VALUE and INSERT, the parallel slave pessimistically waits for the prior transaction to have committed before to take on the critical part of the second (like INSERT in the test) event execution. The waiting exploits a parallel slave's retry mechanism which is controlled by `@@global.slave_transaction_retries`. Note that in order to avoid any persistent 'Deadlock found' 2013 error in OLD -> NEW, `slave_transaction_retries` may need to be set to a higher than the default value. START-SLAVE is an effective work-around if this still happens.
| | | | * New CCOleksandr Byelkin2023-04-261-0/+0
| | | | |
| | | | * Merge branch 'merge-zlib' into 10.3bb-10.3-sergSergei Golubchik2023-04-2028-252/+333
| | | | |\
| | | | | * 1.2.13Sergei Golubchik2023-04-2092-968/+674
| | | | | |
| | | * | | MDEV-31153 New methods Schema::make_item_func_* for REPLACE, SUBSTRING, TRIMAlexander Barkov2023-04-297-74/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding virtual methods to class Schema: make_item_func_replace() make_item_func_substr() make_item_func_trim() This is a non-functional preparatory change for MDEV-27744.
| | | * | | Adding "const" qualifiers to a few trivial Lex_input_string methodsAlexander Barkov2023-04-292-23/+23
| | | | | |
| | | * | | MDEV-30221: Move environmental macros to before master-slavebb-10.4-MDEV-30221Angelique2023-04-289-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | The fix was introduced, along with re-ordering to do other macros that check test environment capabilities before master/slave is set up.