- 04 Mar, 2019 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Only starting with MariaDB 10.3.8 (MDEV-16365), InnoDB can actually handle ALTER IGNORE TABLE correctly when introducing a NOT NULL attribute to a column that contains a NULL value. Between MariaDB Server 10.0 and 10.2, we would incorrectly return an error for ALTER IGNORE TABLE when the column contains a NULL value.
-
Alexander Barkov authored
-
- 01 Mar, 2019 9 commits
-
-
Sergei Golubchik authored
don't do anything special for stored generated columns in MyISAM repair code. add an assert that if there are virtual indexed columns, they _must_ be beyond the file->s->base.reclength boundary
-
Sergei Golubchik authored
-
Sergei Golubchik authored
after mysql_real_data_home was updated in get_options()
-
Sergei Golubchik authored
* fix CRL tests to work * regenerate certificates to be at least 2048 bit (fixes buster and rhel8 in buildbot) * update generate-ssl-cert.sh to generate crl files * make all SSL tests to use certificates generated in generate-ssl-cert.sh, remove unused certificates Backport from 10.4 9c60535f
-
Sergei Golubchik authored
-
Sergei Golubchik authored
when deleting a package, delete up to the next empty line, instead of relying on a package description being of some fixed number of lines long
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
On an error (such as when an index cannot be dropped due to FOREIGN KEY constraints), the field dict_index_t::to_be_dropped was only being cleared in debug builds, even though the field is available and being used also in non-debug builds. This was a regression that was introduced by myself originally in MySQL 5.7.6 and later merged to MariaDB 10.2.2, in https://github.com/mysql/mysql-server/commit/d39898de8e0de21f64ce94cd4ea698675edfb447 An error manifested itself in the MariaDB Server 10.4 non-debug build, involving instant ADD or DROP column. Because an earlier failed ALTER TABLE operation incorrectly left the dict_index_t::to_be_dropped flag set, the column pointers of the index fields would fail to be adjusted for instant ADD or DROP column (MDEV-15562). The instant ADD COLUMN in MariaDB Server 10.3 is unlikely to be affected by a similar scenario, because dict_table_t::instant_add_column() in 10.3 is applying the transformations to all indexes, not skipping to-be-dropped ones.
-
Jan Lindström authored
-
- 28 Feb, 2019 8 commits
-
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
The problem with the InnoDB table attribute encryption_key_id is that it is not being persisted anywhere in InnoDB except if the table attribute encryption is specified and is something else than encryption=default. MDEV-17320 made it a hard error if encryption_key_id is specified to be anything else than 1 in that case. Ideally, we would always persist encryption_key_id in InnoDB. But, then we would have to be prepared for the case that when encryption is being enabled for a table whose encryption_key_id attribute refers to a non-existing key. In MariaDB Server 10.1, our best option remains to not store anything inside InnoDB. But, instead of returning the error that MDEV-17320 introduced, we should merely issue a warning that the specified encryption_key_id is going to be ignored if encryption=default. To improve the situation a little more, we will issue a warning if SET [GLOBAL|SESSION] innodb_default_encryption_key_id is being set to something that does not refer to an available encryption key. Starting with MariaDB Server 10.2, thanks to MDEV-5800, we could open the table definition from InnoDB side when the encryption is being enabled, and actually fix the root cause of what was reported in MDEV-17320.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
1. Always drop merged_for_insert flag on cleanup (there could be errors which prevent TABLE to be assigned) 2. Make more precise cleanup of select parts which was touched
-
Alexander Barkov authored
st_select_lex::handle_derived() and mysql_handle_list_of_derived() had exactly the same implementations. - Adding a new method LEX::handle_list_of_derived() instead - Removing public function mysql_handle_list_of_derived() - Reusing LEX::handle_list_of_derived() in st_select_lex::handle_derived()
-
Jan Lindström authored
Replaced debug to debug_dbug on 10.1 on galera suite. Nothing to do in wsrep and galera_3nodes suites.
-
Jan Lindström authored
-
Jan Lindström authored
This will allow test binlog.binlog_stm_binlog to pass more often. Note that this is not a real fix to that test failure.
-
- 26 Feb, 2019 2 commits
-
-
Alexander Barkov authored
MDEV-17725 Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed in Diagnostics_area::set_ok_status upon ALTER failing due to error from engine
-
Julius Goryavsky authored
If we have a 2+ node cluster which is replicating from an async master and the binlog_format is set to STATEMENT and multi-row inserts are executed on a table with an auto_increment column such that values are automatically generated by MySQL, then the server node generates wrong auto_increment values, which are different from what was generated on the async master. In the title of the MDEV-9519 it was proposed to ban start slave on a Galera if master binlog_format = statement and wsrep_auto_increment_control = 1, but the problem can be solved without such a restriction. The causes and fixes: 1. We need to improve processing of changing the auto-increment values after changing the cluster size. 2. If wsrep auto_increment_control switched on during operation of the node, then we should immediately update the auto_increment_increment and auto_increment_offset global variables, without waiting of the next invocation of the wsrep_view_handler_cb() callback. In the current version these variables retain its initial values if wsrep_auto_increment_control is switched on during operation of the node, which leads to inconsistent results on the different nodes in some scenarios. 3. If wsrep auto_increment_control switched off during operation of the node, then we must return the original values of the auto_increment_increment and auto_increment_offset global variables, as the user has set. To make this possible, we need to add a "shadow copies" of these variables (which stores the latest values set by the user). https://jira.mariadb.org/browse/MDEV-9519
-
- 25 Feb, 2019 1 commit
-
-
Julius Goryavsky authored
If we have a 2+ node cluster which is replicating from an async master and the binlog_format is set to STATEMENT and multi-row inserts are executed on a table with an auto_increment column such that values are automatically generated by MySQL, then the server node generates wrong auto_increment values, which are different from what was generated on the async master. In the title of the MDEV-9519 it was proposed to ban start slave on a Galera if master binlog_format = statement and wsrep_auto_increment_control = 1, but the problem can be solved without such a restriction. The causes and fixes: 1. We need to improve processing of changing the auto-increment values after changing the cluster size. 2. If wsrep auto_increment_control switched on during operation of the node, then we should immediately update the auto_increment_increment and auto_increment_offset global variables, without waiting of the next invocation of the wsrep_view_handler_cb() callback. In the current version these variables retain its initial values if wsrep_auto_increment_control is switched on during operation of the node, which leads to inconsistent results on the different nodes in some scenarios. 3. If wsrep auto_increment_control switched off during operation of the node, then we must return the original values of the auto_increment_increment and auto_increment_offset global variables, as the user has set. To make this possible, we need to add a "shadow copies" of these variables (which stores the latest values set by the user). https://jira.mariadb.org/browse/MDEV-9519
-
- 23 Feb, 2019 4 commits
-
-
Alexander Barkov authored
Backporting MDEV-15597 Add class Load_data_outvar and avoid using Item::STRING_ITEM for Item_user_var_as_out_param detection This is a part of "MDEV-18045 Backporting the MDEV-15497 changes to 10.2 branch"
-
Alexander Barkov authored
This is a part of "MDEV-18045 Backporting the MDEV-15497 changes to 10.2 branch"
-
Alexander Barkov authored
This is a part of "MDEV-18045 Backporting the MDEV-15497 changes to 10.2 branch"
-
Marko Mäkelä authored
-
- 22 Feb, 2019 1 commit
-
-
Marko Mäkelä authored
Since MySQL 5.6.16 (and MariaDB Server 10.0.11), changes of buf_page_t::buf_fix_count are atomic memory operations if PAGE_ATOMIC_REF_COUNT is defined. Since MySQL 5.7 (and MariaDB Server 10.2.2), the field is always updated by atomic memory operations. In a few occurrences, updates of the counter were unnecessarily surrounded by an acquisition and release of the block mutex (buf_block_t::mutex or buf_pool_t::zip_mutex). Remove these unnecessary mutex operations.
-
- 21 Feb, 2019 2 commits
-
-
Eugene Kosov authored
ib_wqueue_is_empty(): protect ib_list_is_empty() call Closes #1202
-
Jan Lindström authored
Since MariaDB 10.1.17 the new default values for wsrep_max_ws_rows and wsrep_max_ws_size were set: wsrep_max_ws_rows Default Value: 0 (>= MariaDB Galera 10.0.27, MariaDB 10.1.17) 131072 (<= MariaDB Galera 10.0.26, MariaDB 10.1.16) wsrep_max_ws_size Default Value: 2147483647 (2GB, >= MariaDB Galera 10.0.27, MariaDB 10.1.17) 1073741824 (1GB, <= MariaDB Galera 10.0.26, MariaDB 10.1.16)
-
- 20 Feb, 2019 5 commits
-
-
Vladislav Vaintroub authored
Use fprintf(stderr) instead of msg() to print the version line
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
This reverts commit 32629670. It was checked in by mistake
-
Vladislav Vaintroub authored
Failed CREATE OR REPLACE for existing user removes that user from acl_users array. Thus dependend structures (roles, check_host) must be rebuilt.
-
-
- 19 Feb, 2019 3 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
but even if this script called as /bin/mysql_install_db it is still standard install and scripts are in /usr/share/ (but not in the /share/) 2. fix of bindir path
-
-