- 04 Jun, 2018 2 commits
-
-
Sergei Golubchik authored
-
Alexander Barkov authored
-
- 03 Jun, 2018 2 commits
-
-
Sergei Golubchik authored
-
Igor Babaev authored
-
- 01 Jun, 2018 1 commit
-
-
Yuqi authored
Make mariadb crc32 lib platform independent It looks strange that someone can make use of 2 crc libraries (Power64 or AArch64) at the same time. The patch sets macros 'CRC32_LIBRARY' to make platform independence as an optional crc32 library. Change-Id: I68bbf73cafb6a12f7fb105ad57d117b114a8c4af Signed-off-by: Yuqi Gu <yuqi.gu@arm.com>
-
- 31 May, 2018 2 commits
-
-
Marko Mäkelä authored
INNOBASE_DEFAULTS: Replace ALTER_ADD_COLUMN with the more appropriate ALTER_ADD_STORED_BASE_COLUMN. This clean-up causes no change of behaviour, because ALGORITHM=INPLACE would be refused for ALTER_ADD_STORED_GENERATED_COLUMN, and default values are not computed nor substituted for ALTER_ADD_VIRTUAL_COLUMN.
-
Alexander Barkov authored
Now the boolean data type is preserved in hybrid functions and MIN/MAX, so COALESCE(bool_expr,bool_expr) and MAX(bool_expr) are correctly detected by JSON_OBJECT() as being boolean rather than numeric expressions.
-
- 30 May, 2018 4 commits
-
-
Vladislav Vaintroub authored
Disable /permissive- flag, so MFC is found, and upgrade_wizard is built. MFC code is not standard C++, so it doesn not play well with /permissive-
-
Marko Mäkelä authored
commit 2dbeebdb accidentally changed ALTER_COLUMN_OPTION and ALTER_COLUMN_STORAGE_TYPE to be separate flags. InnoDB and Mroonga are only checking for the latter; the example storage engine is checking for the former only. The impact of this bug should be incorrect operation of Mroonga when the column options GROONGA_TYPE, FLAGS are changed. InnoDB does not define any column options, only table options, so the flag ALTER_COLUMN_OPTION should never have been set. Also, remove the unused flag ALTER_DROP_HISTORICAL.
-
Alexander Barkov authored
- Adding Type_handler::traditional_merge_field_type() - Removing real_type_to_type(), field_merge_type() - Making Type_handler_var_string to merge as VARCHAR - Additionally, fixing Field_string::print() to add the "/*old*/" comment into the data type for the old VARCHAR. This is similar to what MDEV-8267 earlier did for old DECIMAL. - Adding tests
-
Marko Mäkelä authored
Fix type mismatches in the unit test mdev10259(). btr_search_info_get_ref_count(): Do not return early if !table->space. We can simply access table->space_id even after the tablespace has been discarded. btr_get_search_latch(): Relax a debug assertion to allow !index->table->space.
-
- 29 May, 2018 13 commits
-
-
Otto Kekäläinen authored
Include all the Makefiles that define variables that can be useful within debian/rules. This includes buildflags.mk as well. Use the standard variable names and don't define our own.
-
James Clarke authored
For details see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852728
-
Adrian Bunk authored
For details see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865737
-
Otto Kekäläinen authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
- Removing tests of item->type() against INT_ITEM and replacing them to calls of new method item->is_bool_literal(). - Changing constant conditions to use Item_bool() instead of Item_int().
-
Marko Mäkelä authored
Also fixes MDEV-14727, MDEV-14491 InnoDB: Error: Waited for 5 secs for hash index ref_count (1) to drop to 0 by replacing the flawed wait logic in dict_index_remove_from_cache_low(). On DISCARD TABLESPACE, there is no need to drop the adaptive hash index. We must drop it on IMPORT TABLESPACE, and eventually on DROP TABLE or DROP INDEX. As long as the dict_index_t object remains in the cache and the table remains inaccessible, the adaptive hash index entries to orphaned pages would not do any harm. They would be dropped when buffer pool pages are reused for something else. btr_search_drop_page_hash_when_freed(), buf_LRU_drop_page_hash_batch(): Remove the parameter zip_size, and pass 0 to buf_page_get_gen(). buf_page_get_gen(): Ignore zip_size if mode==BUF_PEEK_IF_IN_POOL. buf_LRU_drop_page_hash_for_tablespace(): Drop the adaptive hash index even if the tablespace is inaccessible. buf_LRU_drop_page_hash_for_tablespace(): New global function, to drop the adaptive hash index. buf_LRU_flush_or_remove_pages(), fil_delete_tablespace(): Remove the parameter drop_ahi. dict_index_remove_from_cache_low(): Actively drop the adaptive hash index if entries exist. This should prevent InnoDB hangs on DROP TABLE or DROP INDEX. row_import_for_mysql(): Drop any adaptive hash index entries for the table. row_drop_table_for_mysql(): Drop any adaptive hash index for the table, except if the table resides in the system tablespace. (DISCARD TABLESPACE does not apply to the system tablespace, and we do no want to drop the adaptive hash index for other tables than the one that is being dropped.) row_truncate_table_for_mysql(): Drop any adaptive hash index entries for the table, except if the table resides in the system tablespace.
-
Alexander Barkov authored
1. Adding new methods: - Item::is_order_clause_position() - Item_splocal::is_valid_limit_clause_variable_with_error() - Type_handler::is_order_clause_position_type() - is_limit_clause_valid_type() and changing all tests related to the ORDER and LIMIT clauses like "item->type()==INT_ITEM" to these new methods. 2. Adding a helper function prepare_param() in sql_analyse.cc and replacing three pieces of duplicate code to prepare_param() calls. Replacing the test "item->type()!=Item::INT_ITEM" to an equivalent condition using item->basic_const_item() and type_handler()->result_type().
-
Marko Mäkelä authored
-
Marko Mäkelä authored
When the transaction isolation level is SERIALIZABLE, or when a locking read is performed in the REPEATABLE READ isolation level, InnoDB must lock delete-marked records in order to prevent another transaction from inserting something. However, at READ UNCOMMITTED or READ COMMITTED isolation level or when the parameter innodb_locks_unsafe_for_binlog is set, the repeatability of the reads does not matter, and there is no need to lock any records. row_search_for_mysql(): Skip locks on delete-marked committed records upfront, instead of invoking row_unlock_for_mysql() afterwards. The unlocking never worked for secondary index records.
-
- 28 May, 2018 11 commits
-
-
Alexander Barkov authored
Detailed: changes: 1. Moving Field specific code into new methods on Field: - Field *Field::create_tmp_field(...) - virtual void init_for_tmp_table(...) 2. Removing virtual Item::create_tmp_field(). Adding instead a new virtual method Item::create_tmp_field_ex(). Note, a virtual create_tmp_field() still exists, but only for Item_sum. This resembles 10.0 code structure. Perhaps create_tmp_field() should be removed from Item_sum and Item_sum descendants should override create_tmp_field_ex() directly. This can be done in a separate commit. 3. Adding helper classes Tmp_field_src and Tmp_field_param, to make the API for Item::create_tmp_field_ex() smaller and easier to extend in the future. 4. Decomposing the public function create_tmp_field() into virtual implementations for Item and a number of its descendants: - Item_basic_value - Item_sp_variable - Item_name_const - Item_result_field - Item_field - Item_ref - Item_type_holder - Item_row - Item_func_sp - Item_func_user_var - Item_sum - Item_sum_field - Item_proc 5. Adding DBUG_ASSERT-only virtual implementations for Item types that should not appear in create_tmp_table_ex(), for easier debugging: - Item_nodeset_func - Item_nodeset_to_const_comparator - Item_null_result - Item_copy - Item_ident_for_show - Item_user_var_as_out_param 6. Moving public function create_tmp_field_from_field() as a method to Item_field. 7. Removing Item::set_result_field(). It's not needed any more. 8. Cleanup: Removing the enum value "EXPR_CACHE_ITEM", as it's not used for a very long time.
-
Marko Mäkelä authored
MDEV-13834 10.2 wrongly recognizes 10.1.10 innodb_encrypt_log=ON data as after-crash and refuses to start infos[]: Allocate enough entries to accommodate all keys from both checkpoint pages. infos_used: The size of infos[]. get_crypt_info(): Merge to the only caller, log_crypt_101_read_block(). log_crypt_101_read_block(): Do not validate the log block checksum, because it will not be valid when upgrading from MariaDB 10.1.10. Instead, check that the encryption key exists. log_crypt_101_read_checkpoint(): Append to infos[] instead of overwriting.
-
Sergei Petrunia authored
Use a compatible xargs command-line arguments.
-
Otto Kekäläinen authored
All packages in group 'essential' are by default installed on all Debian and Ubuntu systems, and there is no need to mark them as dependencies for any binary.
-
Otto Kekäläinen authored
-
Otto Kekäläinen authored
(This change matches how debian/control is in downstream Debian.org)
-
Otto Kekäläinen authored
(This change matches how debian/rules is in downstream Debian.org)
-
Otto Kekäläinen authored
-
Kristien Nielsen authored
We have carried along this patch as a patch inside our sources since 2012 (commit cfd4fcb0). The validity of this has thus been vetted in production for years and the review done now did not find otherwise. A race in dash causes mysqld_safe to occasionally loop infinitely. Fix by using bash instead. https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.0/+bug/675185 As this is the last patch, we can also clean away usage of dpatch.
-
Christian Hammers authored
We have carried along this patch as a patch inside our sources since 2012 (commit cfd4fcb0). This same patch has been used also in MySQL packaging at Oracle and in downstream Debian.org packages for both MySQL and MariaDB. The validity of this has thus been vetted in production for years and the review done now did not find otherwise. Code contributed to Oracle with http://forge.mysql.com/wiki/Sun_Contributor_Agreement Reported as http://bugs.mysql.com/bug.php?id=31361
-
Marko Mäkelä authored
MDEV-9931 introduced a counter for keeping track of reads of the first page of InnoDB data files, because the original implementation of data-at-rest-encryption for InnoDB introduced new code paths for reading the pages. Ultimately, the extra reads of the first page were removed, and the encryption subsystem will be initialized whenever we first read the first page of each data file, in fil_node_open_file(). It should not be that interesting to observe how many times an InnoDB data file was opened for the first time.
-
- 27 May, 2018 4 commits
-
-
Monty authored
Fixed by deleting the sequence if we where not able to initialize it I also noticed that we didn't always set the error message when check_killed(), which could lead to aborted queries without error beeing properly set. Fixed by default setting error message if check_error() noticed that killed had been called. This allowed me to remove a lot of calls to thd->send_kill_message().
-
Monty authored
-
Monty authored
-
Monty authored
This only affected printing of errors
-
- 26 May, 2018 1 commit
-
-
Monty authored
Problem was that max_row_lengt() used different bitmap than pack_row()
-