- 24 Jan, 2019 2 commits
-
-
Sergei Golubchik authored
pcre needs symbols from pcreposix (but this is only an issue when linking with system static libraries)
-
Thirunarayanan Balathandayuthapani authored
Problem: ======== Server fails to notify the engine by not setting the ADD_PK_INDEX and DROP_PK_INDEX When there is a i) Change in candidate for primary key. ii) New candidate for primary key. Fix: ==== Server sets the ADD_PK_INDEX and DROP_PK_INDEX while doing alter for the above problematic case.
-
- 23 Jan, 2019 3 commits
-
-
Andrei Elkin authored
32 bit int Row-based slave applier could not parse correctly the table id when the value exceeded the max of 32 bit unsigned int. The reason turns out in that the being parsed value placeholder was sized as 4 bytes. The type is fixed to ulonglong. Additionally the patch works around Rows_log_event::m_table_id 4 bytes size on 32 bits platforms. In case of last_table_id value overflows the 4 byte max, there won't be the zero value for m_table_id generated and the first wrapped-around value is one, this is thanks to excluding UINT_MAX32 + 1 from TABLE_SHARE::table_map_id.
-
Sergei Golubchik authored
on startup innodb is checking whether files "ib_logfileN" (for N from 1 to 100) exist, and whether they're readable. A non-existent file aborted the scan. A directory instead of a file made InnoDB to fail. Now it treats "directory exists" as "file doesn't exist".
-
Marko Mäkelä authored
When InnoDB is invoking posix_fallocate() to extend data files, it was missing a call to fsync() to update the file system metadata. If file system recovery is needed, the file size could be incorrect. When the setting innodb_flush_method=O_DIRECT_NO_FSYNC that was introduced in MariaDB 10.0.11 (and MySQL 5.6) is enabled, InnoDB would wrongly skip fsync() after extending files. Furthermore, the merge commit d8b45b0c inadvertently removed XtraDB error checking for posix_fallocate() which this fix is restoring. fil_flush(): Add the parameter bool metadata=false to request that fil_buffering_disabled() be ignored. fil_extend_space_to_desired_size(): Invoke fil_flush() with the extra parameter. After successful posix_fallocate(), invoke os_file_flush(). Note: The bookkeeping for fil_flush() would not be updated the posix_fallocate() code path, so the "redundant" fil_flush() should be a no-op.
-
- 21 Jan, 2019 1 commit
-
-
Sergei Golubchik authored
increase to 1M
-
- 18 Jan, 2019 1 commit
-
-
Varun Gupta authored
In the function QUICK_RANGE_SELECT::init_ror_merged_scan we create a seperate handler if the handler in head->file cannot be reused. The flag free_file tells us if we have a seperate handler or not. There are cases where you might create a handler and then there might be a failure(running ALTER) and then we have to revert the handler back to the original one. The code does that but it does not reset the flag 'free_file' in this case. Also backported f2c41807.
-
- 16 Jan, 2019 2 commits
-
-
Daniel Black authored
Corrects 94d722b6
-
Oleksandr Byelkin authored
Allow table definition cache be bigger than open table cache (due to problem with VIEWs and prepared statements).
-
- 15 Jan, 2019 3 commits
-
-
Marko Mäkelä authored
-
Eugene Kosov authored
Poisoning memory after munmap() and friends is totally incorrect as this memory could be anything. os_mem_free_large(): remove memory poisoning
-
Marko Mäkelä authored
The merge commit d833bb65 did not correctly merge the commit 03eb1593. Closes #948
-
- 14 Jan, 2019 2 commits
-
-
Eugene Kosov authored
When performing a hash search via HASH_SEARCH we first look at a key of a node and then at its pointer to the next node in chain. If we have those in one cache line instead of a two we reduce memory reads. I found dict_table_t, fil_space_t and buf_page_t suitable for such improvement.
-
Marko Mäkelä authored
MDEV-16499 ER_NO_SUCH_TABLE_IN_ENGINE followed by "Please drop the table and recreate" upon adding FULLTEXT key to table with virtual column
-
- 06 Jan, 2019 1 commit
-
-
Varun Gupta authored
When we have a nested subquery then a subquery that was a dependent subquery may change to an independent one when we optimizer the inner subqueries. This is handled st_select_lex::optimize_unflattened_subqueries. Currently a subquery that was changed to independent from dependent after optimization phase incorrectly shows dependent in the output of Explain, this happens because we don't update used_tables for the WHERE clause, ON clause, etc after the optimization phase.
-
- 02 Jan, 2019 4 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 29 Dec, 2018 1 commit
-
-
Eugene Kosov authored
This is a regression after MDEV-13671. The bug is related to key part prefix lengths wich are stored in SYS_FIELDS. Storage format is not obvious and was handled incorrectly which led to data dictionary corruption. SYS_FIELDS.POS actually contains prefix length too in case if any key part has prefix length. innobase_rename_column_try(): fixed prefixes handling Tests for prefixed indexes added too. Closes #1063
-
- 28 Dec, 2018 1 commit
-
-
Marko Mäkelä authored
This fixes a regression that was introduced in MySQL 5.6.6 in an error handling code path, in the following change: commit 024f363d6b5f09b20d1bba411af55be95c7398d3 Author: kevin.lewis@oracle.com <> Date: Fri Jun 15 09:01:42 2012 -0500 Bug #14169459 INNODB; DROP TABLE DOES NOT DELETE THE IBD FILE FOR A TEMPORARY TABLE.
-
- 20 Dec, 2018 1 commit
-
-
Sergei Golubchik authored
-
- 19 Dec, 2018 3 commits
-
-
Sachin authored
Relevant if exists flag are added for create database and drop database.
-
Varun Gupta authored
Create a new constant MAX_DATA_LENGTH_FOR_KEY. Replace the value of MAX_KEY_LENGTH to also include the LENGTH and NULL BYTES of a field.
-
Varun Gupta authored
-
- 18 Dec, 2018 1 commit
-
-
Sergey Vojtovich authored
Workaround glibc bug: https://sourceware.org/bugzilla/show_bug.cgi?id=20116 by making unittest threads joinable. It makes code better anyway.
-
- 17 Dec, 2018 1 commit
-
-
Sergei Golubchik authored
This reverts part of c5427172
-
- 16 Dec, 2018 1 commit
-
-
Varun Gupta authored
with InnoDB, joins, AND/OR conditions The inited parameter handler is not initialised when we do a quick_select after a table scan.
-
- 13 Dec, 2018 6 commits
-
-
Sergei Golubchik authored
-
Sergey Vojtovich authored
Forbid ALTER DATABASE under read_only.
-
Marko Mäkelä authored
This is a backport of a part of commit 18455ec3 from 10.1.
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
Problem: Innodb_checksum_algorithm checks for all checksum algorithm to validate the page checksum even though the algorithm is specified as strict_crc32, strict_innodb, strict_none. Fix: Remove the checks for all checksum algorithm to validate the page checksum if the algo is specified as strict_* values.
-
Varun Gupta authored
-
- 12 Dec, 2018 2 commits
-
-
Sergei Golubchik authored
-
Jiaye Wu authored
Current implementation is conflicting. If UNICODE is defined, FormatMessage() will be FormatMessageW(), and variable win_errormsg with type char can not be passed to it, which should be changed to TCHAR instead. Since we don't use UNICODE here, we can use FormatMessageA() directly to avoid conversion error. ``` my_global.h(1092): error C2664: 'DWORD FormatMessageW(D WORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list *)' : cannot convert argument 5 from 'char [2048]' to 'LPWSTR' ```
-
- 11 Dec, 2018 1 commit
-
-
Eugene Kosov authored
ha_innobase::prepare_inplace_alter_table(): check max column length for every index in a table, not just added in this particular ALTER TABLE with ADD INDEX ones.
-
- 07 Dec, 2018 2 commits
-
-
Varun Gupta authored
The problem here is EITS statistics does not calculate statistics for the partitions of the table. So a temporary solution would be to not read EITS statistics for partitioned tables. Also disabling reading of EITS for columns that participate in the partition list of a table.
-
Marko Mäkelä authored
create_table_def(), ha_innobase::create(): Defer fts_optimize_add_table() until after the table has been successfully created.
-
- 06 Dec, 2018 1 commit
-
-
Sergei Golubchik authored
merge_role_db_privileges() was remembering pointers into Dynamic_array acl_dbs, and later was using them, while pushing more elements into the array. But pushing can cause realloc, and it can invalidate all pointers. Fix: remember and use indexes of elements, not pointers.
-