- 27 Jul, 2018 1 commit
-
-
Jan Lindström authored
Test case was not written correctly.
-
- 26 Jul, 2018 1 commit
-
-
Oleksandr Byelkin authored
-
- 25 Jul, 2018 3 commits
-
-
Oleksandr Byelkin authored
-
Igor Babaev authored
This patch fixes another problem introduced by the patch for mdev-4817. The latter changed Item_cond::fix_fields() in such a way that it could call the virtual method is_expensive(). With the first its call the method saves the result in Item::is_expensive_cache. For all next calls the method returns the result from this cache. So if the item once was determined as expensive the method always returns true. For subqueries it's not good, because non-optimized subqueries always is considered as expensive. It means that the cache should be invalidated after the call of optimize_constant_subqueries().
-
Jan Lindström authored
In Galera BF (brute force) transactions may not wait for lock requests and normally BF-transaction would select transaction holding conflicting locks as a victim for rollback. However, background statistic calculation transaction is InnoDB internal transaction and it has no thd i.e. it can't be selected as a victim. If background statistics calculation transaction holds conflicting locks to statistics tables it will cause BF lock wait long error message. Correct way to handle background statistics calculation is to acquire thd for transaction but that change is too big for GA-releases and there are other reported problems on background statistics calculation. This fix avoids adding a table to background statistics calculation if
-
- 24 Jul, 2018 3 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
make it not to fail when `show engine innodb status` output contains a double quote
-
Oleksandr "Sanja" Byelkin authored
MDEV-14672 Minor upgrade fails on xenial due to missing unixODBC (case-sensitive)
-
- 23 Jul, 2018 1 commit
-
-
Oleksandr Byelkin authored
-
- 20 Jul, 2018 1 commit
-
-
Oleksandr Byelkin authored
Mysql Bug#56124 bug analog fix using Sys_var_bit.
-
- 19 Jul, 2018 13 commits
-
-
Igor Babaev authored
Due to a legacy bug in the code of make_join_statistics() detecting so-called constant tables could miss some of them in rare queries that used RIGHT JOIN. As a result these queries had execution plans different from the execution plans of the equivalent queries with LEFT JOIN. Besides starting from 10.2 this could trigger an assertion failure.
-
Jan Lindström authored
Restricted output for CREATE USER, GRANT, REVOKE and SET PASSWORD so that it shows only above keywords but not rest of query i.e. not user or password.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Sergei Golubchik authored
MDEV-15551 Server hangs or assertion `strcmp(share->unique_file_name,filename) || share->last_version' fails in test_if_reopen or unexpected ER_LOCK_DEADLOCK only use HA_EXTRA_PREPARE_FOR_DROP when the table is going to be dropped
-
Sergei Golubchik authored
avoid round-robin conversions, if the column is MODIFY-ed, it should always be modified to its final definition, not to some intermediate state. also avoid other unconditional changes, like ALTER TABLE event DROP PRIMARY KEY; ALTER TABLE event ADD PRIMARY KEY(db, name);
-
Sergei Golubchik authored
don't try to set default time zone in --bootstrap, this generally cannot be done, as timezone tables aren't loaded. and bootstrap scripts don't need it anyway.
-
Sergei Golubchik authored
Don't install server files if WITHOUT_SERVER is specified. "Server files" are defined as files going into the MariaDB-Server RPM, that is files in the components Server, ManPagesServer, Server_Scripts, IniFiles, SuportFiles, and Readme.
-
Sergei Golubchik authored
MDEV-11741 handler::ha_reset(): Assertion `bitmap_is_set_all(&table->s->all_set)' failed or server crash in mi_reset or buffer overrun or unexpected ER_CANT_REMOVE_ALL_FIELDS MEMORY table could be renamed into a non-extistent database. rename() is documented to return ENOENT when the source file does not exist OR when the target directory not exist. Nonexistent source .frm file is ok (table can still exist in the engine), nonexistent target directory is not. Make my_rename to use ENOTDIR for the latter case. Make RENAME TABLE issue an appropriate error ("unknown database" instead of "unknown table")
-
Sergei Golubchik authored
remove unnecessary declaration
-
Sergei Petrunia authored
snprintf returns the number of bytes it wrote (or would have written) NOT counting the \0 terminal character. The buffer size it accepts as argument DOES COUNT the \0 character. Pass the right parameter value.
-
Alexander Barkov authored
After the MDEV-13118 fix there's no code in the server that wants caseup/casedn to change the argument in place for simple charsets. Let's remove this logic and always return the result in a new string for all charsets, both simple and complex. 1. Removing the optimization that *some* character sets used in casedn() and caseup(), which allowed (and required) to change the case in-place, overwriting the string passed as the "src" argument. Now all CHARSET_INFO's work in the same way: non of them change the source string in-place, all of them now convert case from the source string to the destination string, leaving the source string untouched. 2. Adding "const" qualifier to the "char *src" parameter to caseup() and casedn(). 3. Removing duplicate implementations in ctype-mb.c. Now both caseup() and casedn() implementations for all CJK character sets use internally the same function my_casefold_mb() (the former my_casefold_mb_varlen()). 4. Removing the "unused" attribute from parameters of some my_case{up|dn}_xxx() implementations, as the affected parameters are now *used* in the code. Previously these parameters were used only in DBUG_ASSERT().
-
Alexander Barkov authored
This problem is similar to MDEV-10306. 1. Fixing Item_str_conv::val_str(String *str) to return the result in "str", and to use tmp_value only as a temporary buffer for args[0]->val_str(). The new code version now guarantees that the result is always returned in "str". The trick with copy_if_not_alloced() is not used any more. 2. The change #1 revealed the same problem in SUBSTRING_INDEX(), so some tests with combinations of UPPER()/LOWER() and SUBSTRING_INDEX() started to fail. Fixing Item_func_substr_index::val_str() the same way, to return the result in "str" and use tmp_value as a temporary buffer for args[0]->val_str().
-
- 18 Jul, 2018 3 commits
-
-
Jan Lindström authored
Used wrong initialization for condition timeout, should have used set_timespec.
-
sachin authored
Problem:- Create/drop index was logged into binlog. Goal:- Operation on temporary table should not be binlog when binlog format is row. Solution:- We should add CF_FORCE_ORIGINAL_BINLOG_FORMAT when there is ddl on temp table. For optimize, analyze, repair we wont change anything ,Then will be logged in binlog , But they also dont throw any error if operation fails Since slave wont be having any temp table , but these operation on tmp table will be processed without breaking replication. For rename we need a different logic MDEV-16728 will solve it.
-
Jan Lindström authored
MDEV-14612 wsrep_sst_mariabackup unnecessarily converts address to host name
-
- 17 Jul, 2018 1 commit
-
-
Oleksandr Byelkin authored
-
- 16 Jul, 2018 4 commits
-
-
Daniel Black authored
Closes #551
-
Jan Lindström authored
MDEV-15442 xtrabackup-v2 SST donor stuck in DONOR/DESYNCED state when…
-
Jan Lindström authored
Do not hold LOCK_thd_data during my_error or WSREP_DEBUG. Similarly, release LOCK_thd_data before close_thread_tables() call.
-
Igor Babaev authored
for the small InnoDB table This bug was introduced by the patch 6c414fcf. The patch has not taken into account that some objects of the Field_* types are created only for TABLE_SHARE and the field 'table' is set to NULL for them. In particular such are objects created to store statistical min/max values for columns.
-
- 15 Jul, 2018 2 commits
-
-
Igor Babaev authored
If the command CREATE OR REPLACE TABLE really replaces a table then it should remove all data on this table from all statistical tables.
-
Igor Babaev authored
for blob column ANALYZE TABLE <table> does not collect statistical data on min/max values for BLOB columns of <table>. However these values can be added into mysql.column_stats manually by executing proper statements. Unfortunately this led to a memory leak because the memory allocated for these values was never freed. This patch provides the server with a function to free memory allocated for min/max statistical values of BLOB types. Temporarily changed the test case until MDEV-16711 is fixed as without this fix the test case for MDEV-16757 did not fail only for 10.0.
-
- 14 Jul, 2018 2 commits
-
-
Igor Babaev authored
If the command CREATE OR REPLACE TABLE really replaces a table then it should remove all data on this table from all statistical tables.
-
Igor Babaev authored
for blob column ANALYZE TABLE <table> does not collect statistical data on min/max values for BLOB columns of <table>. However these values can be added into mysql.column_stats manually by executing proper statements. Unfortunately this led to a memory leak because the memory allocated for these values was never freed. This patch provides the server with a function to free memory allocated for min/max statistical values of BLOB types.
-
- 11 Jul, 2018 2 commits
-
-
Varun Gupta authored
Backport the fix f214d365 to 10.0 Author: Sergei Golubchik <serg@mariadb.org> Date: Tue Apr 17 00:44:34 2018 +0200 ASAN error in is_stat_table() don't memcmp beyond the first argument's end Also: use my_strcasecmp(table_alias_charset), like elsewhere, not memcmp
-
Sergei Petrunia authored
fix_semijoin_strategies_for_picked_join_order() should set join->sjm_lookup_tables to be a bitmap of tables inside SJ-Materialization-Lookup nests.
-
- 10 Jul, 2018 1 commit
-
-
Varun Gupta authored
In this issue we are using derived_with_keys optimization and we are using these keys to do a hash join which is incorrect. We cannot create keys for dervied tables whose keyparts have types are of BLOB or TEXT type. TEXT or BLOB columns can only be indexed over a specified length.
-
- 02 Jul, 2018 2 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
It is not open.
-