- 09 Mar, 2020 4 commits
-
-
Monty authored
-
Monty authored
The default keyread_time() was optimized for blocks and not suitable for HEAP. The effect was the HEAP prefered table scans over ranges for btree indexes. Fixed also get_sweep_read_cost() for HEAP tables.
-
Monty authored
- Move testing of my_writer to inline functions to avoid calls - Made more functions inline. Especially thd->thread_started() is now very optimized! - Moved Opt_trace_stmt classe to opt_trace_context.h to get critical functions inline
-
Monty authored
- Added unlikely() to optimize for not having optimizer trace enabled - Made THD::trace_started() inline - Added 'if (trace_enabled())' around some potentially expensive code (not many found) - Added ASSERT's to ensure we don't call expensive optimizer trace calls if optimizer trace is not enabled - Added length to Json_writer functions to speed up buffer writes when optimizer trace is enabled. - Changed LEX_CSTRING argument handling to not send full struct to writer function on_add_str() functions now trusts length arguments
-
- 29 Feb, 2020 1 commit
-
-
Roman Nozdrin authored
-
- 28 Feb, 2020 2 commits
-
-
Marko Mäkelä authored
ha_partition: Remove redundant 'virtual' keywords and add missing 'override'. FIXME: handler::table_type() is not declared virtual, yet ha_partition and ha_sequence are seemingly trying to override it.
-
Thirunarayanan Balathandayuthapani authored
- Flag ALTER_STORED_COLUMN_TYPE set while doing varchar extension for partition table. Basically all partition supports can_be_converted_by_engine() then it should be set to ALTER_COLUMN_TYPE_CHANGE_BY_ENGINE.
-
- 26 Feb, 2020 1 commit
-
-
Oleksandr Byelkin authored
Main select should be pushed first in case of SET STATEMENT.
-
- 20 Feb, 2020 1 commit
-
-
Sergei Petrunia authored
Part#2: cleanup: In the part 1 of the fix, DS-MRR implementation would peek into the JOIN_TAB to get the rowid filter from table->reginfo.join_tab->rowid_filter This doesn't look good from code isolation standpoint (why should a storage engine assume it is used through a JOIN_TAB?). Fixed this by storing the 'un-pushed' rowid_filter in the DsMrr_impl structure. The filter survives across multi_range_read_init() calls. It is discarded when somebody calls index_end() or rnd_end() and cleans up the DsMrr_impl.
-
- 19 Feb, 2020 2 commits
-
-
Sergei Petrunia authored
The two functions have different signature. Use "using ..." to prevent shadowing
-
Igor Babaev authored
This patch fixes the following defects/bugs. 1. If BKA[H] algorithm was used to join a table for which the optimizer had decided to employ a rowid filter the filter actually was not built. 2. The patch for the bug MDEV-21356 that added the code canceling pushing rowid filter into an engine for the table joined with employment of BKA[H] and MRR was not quite correct for Innodb engine because this cancellation was done after InnoDB code had already bound the the pushed filter to internal InnoDB structures.
-
- 18 Feb, 2020 2 commits
-
-
Eugene Kosov authored
Do not rebuild index when it's key part converted from utf8mb3 to utf8mb4 but key part stays the same. dict_index_add_to_cache(): assert that prefix_len is divided by mbmaxlen ha_innobase::compare_key_parts(): compare key part lenght in symbols instead of bytes.
-
Eugene Kosov authored
Engine specific code moved to engine.
-
- 17 Feb, 2020 1 commit
-
-
Jan Lindström authored
-
- 16 Feb, 2020 9 commits
-
-
Jan Lindström authored
* Remove those tests that will not be supported on that release. * Make sure that correct tests are disabled and have MDEVs * Sort test names This should not be merged upwards.
-
Jan Lindström authored
-
Jan Lindström authored
Add more tests and move SST restore to correct place.
-
Jan Lindström authored
Remove sleeps and unnecessary waits.
-
Alexander E. Patrakov authored
The log file is opened as root since commit bb7a70c9, so there is no need to chown it.
-
Jan Lindström authored
Test changes only.
-
Jan Lindström authored
Add wait conditions.
-
Jan Lindström authored
MDEV-21421 : Galera test sporadic failure on galera.galera_as_slave_gtid_myisam: Result length mismatch In Galera 4 nodes 1 and 2 are galera nodes and node_3 should be non galera.
-
Jan Lindström authored
* Remove those tests that will not be supported on that release. * Make sure that correct tests are disabled and have MDEVs * Sort test names This should not be merged upwards.
-
- 14 Feb, 2020 2 commits
-
-
Sergei Petrunia authored
Partitioning storage now supports MRR but doesn't support Index Condition Pushdown (aka ICP). This causes counter-intuitive query plans for queries that use BKA and conditions that depend on index fields: - If the condition refers to other tables, BKA's variant of ICP is used to handle it. - If the condition depends on this table only, the optimizer will try to use regular ICP for it, which will fail because the storage engine doesn't support ICP. Make the optimizer be smarter in the second case: if we were not able to use regular ICP, use BKA's variant of ICP..
-
Daniel Black authored
No longer used.
-
- 13 Feb, 2020 2 commits
-
-
Eugene Kosov authored
-
Eugene Kosov authored
MDEV-21669 InnoDB: Table ... contains <n> indexes inside InnoDB, which is different from the number of indexes <n> defined in the MariaDB compare_keys_but_name(): do not use KEY_PART_INFO::field for Field::is_equal(). Following the logic of that code we need to compare fields of a table. But KEY_PART_INFO::field sometimes (when key part is shorter than table field) is a different field. In that case Field::is_equal() returns incorrect result and problems occur. KEY_PART_INFO::field may become some strange field in open_frm_error open_table_from_share(). I think this is an incorrect logic, some tecnhical debt. I'm not fixing it right now, because I don't have time. But I'm making Field::field_length a const class member. Then, the only fishy code which changed that field requires now a const_cast<>. I'm bringing attention to that code with it. This change should not affect logic of the program in any way.
-
- 12 Feb, 2020 1 commit
-
-
Sergey Vojtovich authored
MDEV-20867 - Perform careful review of "Server crashes with BACKUP STAGE and FLUSH TABLE table_name" Reverted original patch (c2e0a0b1). For consistency with "LOCK TABLE <table_name> READ" and "FLUSH TABLES WITH READ LOCK", which are forbidden under "BACKUP STAGE", forbid "FLUSH TABLE <table_name> FOR EXPORT" and "FLUSH TABLE <table_name> WITH READ LOCK" as well. It'd allow consistent fixes for problems like MDEV-18643.
-
- 11 Feb, 2020 1 commit
-
-
Oleksandr Byelkin authored
-
- 10 Feb, 2020 5 commits
-
-
Oleksandr Byelkin authored
-
Anel Husakovic authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Vladislav Vaintroub authored
Context involves semicolon batching, and the error starts 10.2 No reproducible examples were made yet, but TCP trace suggests multiple packets that are "squeezed" together (e.g overlong OK packet that has a trailer which is belongs to another packet) Remove thd->get_stmt_da()->set_skip_flush() when processing a batch. skip_flush stems from the COM_MULTI code, which was checked in during 10.2 (and is never used) The fix is confirmed to work, when evaluated by bug reporter (one of them) We never reproduced it locally, with multiple tries thus the root cause analysis is still missing.
-
- 09 Feb, 2020 4 commits
-
-
Jan Lindström authored
Problem seems to be the fact that we did not enforce correct applier thread numbers after every command that effects them. Test changes only.
-
Jan Lindström authored
* Remove those tests that will not be supported on that release. * Make sure that correct tests are disabled and have MDEVs * Sort test names This should not be merged upwards.
-
Jan Lindström authored
Problem seems to be the fact that we did not enforce correct applier thread numbers after every command that effects them. Test changes only.
-
Jan Lindström authored
* Remove those tests that will not be supported on that release. * Make sure that correct tests are disabled and have MDEVs * Sort test names This should not be merged upwards.
-
- 08 Feb, 2020 2 commits
-
-
Marko Mäkelä authored
The symbol SRV_MASTER_PURGE_INTERVAL became unused in mysql/mysql-server@42f36919584e82c621dbec1e69fd05ab023c54c6 when separate purge threads were introduced in MySQL 5.6.5.
-
Igor Babaev authored
Do not materialize a semi-join nest if it contains a materialized derived table /view that potentially can be subject to the split optimization. Splitting of materialization of such nest would help, but currently there is no code to support this technique.
-